ownership.yaml already declares nodeagent.agent-run / nodeagent.policy-context as canonical-unpackaged with NodeVideo, NodeSlide, NodeRoom, NodeVoice as consumers — but no consumer actually imports them yet, and the session-BYOK pattern is now duplicated in three repos:
- NodeSlide:
src/lib/sessionByok.ts (origin of the pattern)
- NodeVideo:
apps/edit/src/byok.ts (added in NodeVideo#26, in-browser BYOK agent)
- NodeRoom: model-routed agent config
Scope for @nodeagent/runtime (or a small @nodeagent/byok first):
- sessionStorage BYOK read/write/clear + maskKey, provider-keyed
- AgentRunResult / run-event shapes (reasoning | tool | text | proposal | error | done) — NodeVideo's edit agent and NodeSlide's AgentThread already converge on this
- policy context types
Definition of done: package published (or workspace-linked), at least two consumers import it, ownership.yaml status flips canonical-unpackaged → canonical.
🤖 Generated with Claude Code
ownership.yaml already declares
nodeagent.agent-run/nodeagent.policy-contextas canonical-unpackaged with NodeVideo, NodeSlide, NodeRoom, NodeVoice as consumers — but no consumer actually imports them yet, and the session-BYOK pattern is now duplicated in three repos:src/lib/sessionByok.ts(origin of the pattern)apps/edit/src/byok.ts(added in NodeVideo#26, in-browser BYOK agent)Scope for
@nodeagent/runtime(or a small@nodeagent/byokfirst):Definition of done: package published (or workspace-linked), at least two consumers import it, ownership.yaml status flips canonical-unpackaged → canonical.
🤖 Generated with Claude Code