Uh oh!
There was an error while loading. Please reload this page.
feat: add /btw background session command - #17194
Conversation
processor.ts already has a branded ProviderID from Provider.Model, and fromError's ctx.providerID is already typed as ProviderID — no need to double-wrap with .make().
Use typed local variable instead of inline cast for Provider.sort.
…after model.json is read with ProviderID/ModelID in the generic, removing the need for .make() when returning the result.
…) calls Parse external SDK data through branded Zod schemas (Session.Info, MessageV2.Info, MessageV2.Part) at the import boundary. This replaces manual SessionID.make/MessageID.make/PartID.make wrapping with a single .parse() call per entity, which both validates and brands in one step.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
The following comment was made by an LLM, it may be inaccurate: The search found one potentially related PR:
This PR appears related as it also addresses background session/subagent functionality, which may overlap with the However, since PR #13261 appears to be closed/merged and focuses on "background subagents" specifically, while PR #17194 introduces a new |
Thanks for updating your PR! It now meets our contributing guidelines. 👍 |
Issue for this PR
Closes#16992
Type of change
What does this PR do?
Adds a
/btwslash command that lets users fire off lightweight background questions or append todos without interrupting the active session.Key changes:
/btw ask <question>— spawns a background session that inherits parent context, runs the question, and reports the result back as a system message (without polluting provider message history)/btw todo <item>— appends a todo to the current session's todo list/btw status— shows status of background sessions/btwbehavior and synthetic assistant message serializationHow did you verify your code works?
bun test test/session/btw.test.ts test/session/message-v2.test.tsbun typecheckbun test(full suite)Screenshots / recordings
N/A — backend/CLI command, no UI changes.
Checklist