diff options
| author | theprimeagain <the.primeagen@gmail.com> | 2026-02-15 16:00:54 -0700 |
|---|---|---|
| committer | theprimeagain <the.primeagen@gmail.com> | 2026-02-15 16:00:54 -0700 |
| commit | a5130c1ec63c4b6bbceedbc61906cd9803bfabf8 (patch) | |
| tree | a5602ee1d407e40e5af0b486f1f79c04070138d5 /lua/99/request/init.lua | |
| parent | 3ade8bbbbcc4fe80a09f22eb59ce8539e4fe2987 (diff) | |
| download | a4-a5130c1ec63c4b6bbceedbc61906cd9803bfabf8.tar.xz a4-a5130c1ec63c4b6bbceedbc61906cd9803bfabf8.zip | |
better entry point. success still needs work
Diffstat (limited to 'lua/99/request/init.lua')
| -rw-r--r-- | lua/99/request/init.lua | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lua/99/request/init.lua b/lua/99/request/init.lua index 3cff512..d057879 100644 --- a/lua/99/request/init.lua +++ b/lua/99/request/init.lua @@ -47,7 +47,7 @@ function Request:_set_process(proc) end function Request:cancel() - if self.state == "success" then + if self.state == "success" or self.state == "failed" then return end @@ -80,11 +80,19 @@ end --- @param r _99.Request --- @param obs _99.Providers.Observer | nil local function observer_from_request(r, obs) + + local context = r.context return { - on_start = obs and obs.on_start or function() end, + on_start = function() + r.state = "requesting" + context._99:track_request(context) + if obs then + obs.on_start() + end + end, on_complete = function(status, res) r.state = status - r.context._99:finish_request(r.context, status) + context._99:finish_request(context, status) if obs then obs.on_complete(status, res) end @@ -108,8 +116,6 @@ function Request:start(observer) self.state == "ready", "request is not in state ready when attempting to start a request" ) - self.state = "requesting" - self.context:finalize() for _, content in ipairs(self.context.ai_context) do self:add_prompt_content(content) |
