@intentic/sandbox-contract 1.232.0 → 1.234.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -5
- package/dist/agent-catalog.d.ts +4 -2
- package/dist/agent-catalog.d.ts.map +1 -1
- package/dist/agent-catalog.js +20 -14
- package/dist/agent-catalog.js.map +1 -1
- package/dist/chores/chores.d.ts +1 -1
- package/dist/chores/chores.d.ts.map +1 -1
- package/dist/chores/chores.js +36 -1
- package/dist/chores/chores.js.map +1 -1
- package/dist/chores/probes.d.ts +1 -1
- package/dist/chores/probes.d.ts.map +1 -1
- package/dist/chores/probes.js +70 -0
- package/dist/chores/probes.js.map +1 -1
- package/dist/chores/stack.d.ts.map +1 -1
- package/dist/chores/stack.js +2 -1
- package/dist/chores/stack.js.map +1 -1
- package/dist/chores/verdict.d.ts +1 -1
- package/dist/chores/verdict.d.ts.map +1 -1
- package/dist/command-classes.d.ts +17 -0
- package/dist/command-classes.d.ts.map +1 -0
- package/dist/command-classes.js +189 -0
- package/dist/command-classes.js.map +1 -0
- package/dist/contracts/activity.contract.js +1 -1
- package/dist/contracts/activity.contract.js.map +1 -1
- package/dist/contracts/agent.contract.d.ts +40 -2
- package/dist/contracts/agent.contract.d.ts.map +1 -1
- package/dist/contracts/agent.contract.js +4 -1
- package/dist/contracts/agent.contract.js.map +1 -1
- package/dist/contracts/agents.contract.d.ts +24 -0
- package/dist/contracts/agents.contract.d.ts.map +1 -1
- package/dist/contracts/agents.contract.js +5 -1
- package/dist/contracts/agents.contract.js.map +1 -1
- package/dist/contracts/automations.contract.d.ts +30 -0
- package/dist/contracts/automations.contract.d.ts.map +1 -1
- package/dist/contracts/automations.contract.js +2 -1
- package/dist/contracts/automations.contract.js.map +1 -1
- package/dist/contracts/capabilities.contract.d.ts +63 -0
- package/dist/contracts/capabilities.contract.d.ts.map +1 -1
- package/dist/contracts/capabilities.contract.js +3 -1
- package/dist/contracts/capabilities.contract.js.map +1 -1
- package/dist/contracts/chores.contract.d.ts +17 -0
- package/dist/contracts/chores.contract.d.ts.map +1 -1
- package/dist/contracts/chores.contract.js +2 -1
- package/dist/contracts/chores.contract.js.map +1 -1
- package/dist/contracts/ci.contract.js +2 -1
- package/dist/contracts/ci.contract.js.map +1 -1
- package/dist/contracts/claude.contract.js +2 -1
- package/dist/contracts/claude.contract.js.map +1 -1
- package/dist/contracts/cursor.contract.js +2 -1
- package/dist/contracts/cursor.contract.js.map +1 -1
- package/dist/contracts/drafts.contract.d.ts.map +1 -1
- package/dist/contracts/drafts.contract.js +2 -1
- package/dist/contracts/drafts.contract.js.map +1 -1
- package/dist/contracts/endpoints.contract.d.ts.map +1 -1
- package/dist/contracts/endpoints.contract.js +2 -1
- package/dist/contracts/endpoints.contract.js.map +1 -1
- package/dist/contracts/exit.contract.d.ts.map +1 -1
- package/dist/contracts/exit.contract.js +2 -1
- package/dist/contracts/exit.contract.js.map +1 -1
- package/dist/contracts/extensions.contract.d.ts +44 -0
- package/dist/contracts/extensions.contract.d.ts.map +1 -1
- package/dist/contracts/extensions.contract.js +4 -1
- package/dist/contracts/extensions.contract.js.map +1 -1
- package/dist/contracts/git.contract.d.ts.map +1 -1
- package/dist/contracts/git.contract.js +4 -1
- package/dist/contracts/git.contract.js.map +1 -1
- package/dist/contracts/grok.contract.d.ts.map +1 -1
- package/dist/contracts/grok.contract.js +2 -1
- package/dist/contracts/grok.contract.js.map +1 -1
- package/dist/contracts/history.contract.d.ts.map +1 -1
- package/dist/contracts/history.contract.js +2 -1
- package/dist/contracts/history.contract.js.map +1 -1
- package/dist/contracts/host.contract.d.ts +7 -0
- package/dist/contracts/host.contract.d.ts.map +1 -1
- package/dist/contracts/host.contract.js +4 -1
- package/dist/contracts/host.contract.js.map +1 -1
- package/dist/contracts/intentic.contract.d.ts.map +1 -1
- package/dist/contracts/intentic.contract.js +2 -1
- package/dist/contracts/intentic.contract.js.map +1 -1
- package/dist/contracts/inventory.contract.js +1 -1
- package/dist/contracts/inventory.contract.js.map +1 -1
- package/dist/contracts/issues.contract.d.ts +89 -0
- package/dist/contracts/issues.contract.d.ts.map +1 -0
- package/dist/contracts/issues.contract.js +50 -0
- package/dist/contracts/issues.contract.js.map +1 -0
- package/dist/contracts/logs.contract.d.ts.map +1 -1
- package/dist/contracts/logs.contract.js +1 -1
- package/dist/contracts/logs.contract.js.map +1 -1
- package/dist/contracts/loops.contract.js +2 -1
- package/dist/contracts/loops.contract.js.map +1 -1
- package/dist/contracts/panels.contract.d.ts.map +1 -1
- package/dist/contracts/panels.contract.js +2 -1
- package/dist/contracts/panels.contract.js.map +1 -1
- package/dist/contracts/personas.contract.js +2 -1
- package/dist/contracts/personas.contract.js.map +1 -1
- package/dist/contracts/ports.contract.d.ts.map +1 -1
- package/dist/contracts/ports.contract.js +2 -1
- package/dist/contracts/ports.contract.js.map +1 -1
- package/dist/contracts/prepush.contract.d.ts.map +1 -1
- package/dist/contracts/prepush.contract.js +2 -1
- package/dist/contracts/prepush.contract.js.map +1 -1
- package/dist/contracts/providers.contract.d.ts.map +1 -1
- package/dist/contracts/providers.contract.js +2 -1
- package/dist/contracts/providers.contract.js.map +1 -1
- package/dist/contracts/public.contract.d.ts.map +1 -1
- package/dist/contracts/public.contract.js +2 -1
- package/dist/contracts/public.contract.js.map +1 -1
- package/dist/contracts/push.contract.d.ts.map +1 -1
- package/dist/contracts/push.contract.js +2 -1
- package/dist/contracts/push.contract.js.map +1 -1
- package/dist/contracts/runner.contract.d.ts +127 -84
- package/dist/contracts/runner.contract.d.ts.map +1 -1
- package/dist/contracts/runner.contract.js +10 -2
- package/dist/contracts/runner.contract.js.map +1 -1
- package/dist/contracts/secrets.contract.d.ts.map +1 -1
- package/dist/contracts/secrets.contract.js +2 -1
- package/dist/contracts/secrets.contract.js.map +1 -1
- package/dist/contracts/sessions.contract.js +1 -1
- package/dist/contracts/sessions.contract.js.map +1 -1
- package/dist/contracts/settings.contract.d.ts +32 -0
- package/dist/contracts/settings.contract.d.ts.map +1 -1
- package/dist/contracts/settings.contract.js +3 -1
- package/dist/contracts/settings.contract.js.map +1 -1
- package/dist/contracts/share.contract.d.ts.map +1 -1
- package/dist/contracts/share.contract.js +2 -1
- package/dist/contracts/share.contract.js.map +1 -1
- package/dist/contracts/skills.contract.d.ts.map +1 -1
- package/dist/contracts/skills.contract.js +2 -1
- package/dist/contracts/skills.contract.js.map +1 -1
- package/dist/contracts/system.contract.d.ts +31 -16
- package/dist/contracts/system.contract.d.ts.map +1 -1
- package/dist/contracts/system.contract.js +6 -1
- package/dist/contracts/system.contract.js.map +1 -1
- package/dist/contracts/translator.contract.d.ts.map +1 -1
- package/dist/contracts/translator.contract.js +4 -1
- package/dist/contracts/translator.contract.js.map +1 -1
- package/dist/contracts/usage.contract.js +1 -1
- package/dist/contracts/usage.contract.js.map +1 -1
- package/dist/contracts/vpn.contract.d.ts.map +1 -1
- package/dist/contracts/vpn.contract.js +2 -1
- package/dist/contracts/vpn.contract.js.map +1 -1
- package/dist/contracts/webext.contract.d.ts +45 -0
- package/dist/contracts/webext.contract.d.ts.map +1 -0
- package/dist/contracts/webext.contract.js +12 -0
- package/dist/contracts/webext.contract.js.map +1 -0
- package/dist/contracts/workflows.contract.js +2 -1
- package/dist/contracts/workflows.contract.js.map +1 -1
- package/dist/contracts/workspace.contract.d.ts +2 -2
- package/dist/contracts/workspace.contract.d.ts.map +1 -1
- package/dist/contracts/workspace.contract.js +7 -1
- package/dist/contracts/workspace.contract.js.map +1 -1
- package/dist/credential-material.d.ts +2 -0
- package/dist/credential-material.d.ts.map +1 -0
- package/dist/credential-material.js +36 -0
- package/dist/credential-material.js.map +1 -0
- package/dist/definition-action.d.ts +7 -0
- package/dist/definition-action.d.ts.map +1 -0
- package/dist/definition-action.js +3 -0
- package/dist/definition-action.js.map +1 -0
- package/dist/definition.d.ts +132 -21
- package/dist/definition.d.ts.map +1 -1
- package/dist/definition.js +29 -7
- package/dist/definition.js.map +1 -1
- package/dist/events.d.ts +101 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +25 -1
- package/dist/events.js.map +1 -1
- package/dist/fast-tier.d.ts +1 -1
- package/dist/fast-tier.d.ts.map +1 -1
- package/dist/history-state.d.ts.map +1 -1
- package/dist/history-state.js +2 -0
- package/dist/history-state.js.map +1 -1
- package/dist/hostnames.d.ts +2 -0
- package/dist/hostnames.d.ts.map +1 -1
- package/dist/hostnames.js +3 -1
- package/dist/hostnames.js.map +1 -1
- package/dist/index.d.ts +411 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -1
- package/dist/index.js.map +1 -1
- package/dist/listener-protocol.js +1 -1
- package/dist/listener-protocol.js.map +1 -1
- package/dist/quick-model.d.ts +1 -1
- package/dist/quick-model.d.ts.map +1 -1
- package/dist/runner-protocol.d.ts +18 -0
- package/dist/runner-protocol.d.ts.map +1 -1
- package/dist/runner-protocol.js +8 -4
- package/dist/runner-protocol.js.map +1 -1
- package/dist/runtime-state.d.ts +9 -0
- package/dist/runtime-state.d.ts.map +1 -1
- package/dist/runtime-state.js +3 -0
- package/dist/runtime-state.js.map +1 -1
- package/dist/schemas/activity.d.ts +112 -0
- package/dist/schemas/activity.d.ts.map +1 -0
- package/dist/schemas/activity.js +70 -0
- package/dist/schemas/activity.js.map +1 -0
- package/dist/schemas/agent.d.ts +195 -0
- package/dist/schemas/agent.d.ts.map +1 -0
- package/dist/schemas/agent.js +171 -0
- package/dist/schemas/agent.js.map +1 -0
- package/dist/schemas/agents.d.ts +690 -0
- package/dist/schemas/agents.d.ts.map +1 -0
- package/dist/schemas/agents.js +314 -0
- package/dist/schemas/agents.js.map +1 -0
- package/dist/schemas/automations.d.ts +781 -0
- package/dist/schemas/automations.d.ts.map +1 -0
- package/dist/schemas/automations.js +223 -0
- package/dist/schemas/automations.js.map +1 -0
- package/dist/schemas/capabilities.d.ts +753 -0
- package/dist/schemas/capabilities.d.ts.map +1 -0
- package/dist/schemas/capabilities.js +269 -0
- package/dist/schemas/capabilities.js.map +1 -0
- package/dist/schemas/ci.d.ts +179 -0
- package/dist/schemas/ci.d.ts.map +1 -0
- package/dist/schemas/ci.js +99 -0
- package/dist/schemas/ci.js.map +1 -0
- package/dist/schemas/claude-gate.d.ts +13 -0
- package/dist/schemas/claude-gate.d.ts.map +1 -0
- package/dist/schemas/claude-gate.js +8 -0
- package/dist/schemas/claude-gate.js.map +1 -0
- package/dist/schemas/codebase-health.d.ts +56 -0
- package/dist/schemas/codebase-health.d.ts.map +1 -0
- package/dist/schemas/codebase-health.js +43 -0
- package/dist/schemas/codebase-health.js.map +1 -0
- package/dist/schemas/computers.d.ts +386 -0
- package/dist/schemas/computers.d.ts.map +1 -0
- package/dist/schemas/computers.js +107 -0
- package/dist/schemas/computers.js.map +1 -0
- package/dist/schemas/drafts.d.ts +84 -0
- package/dist/schemas/drafts.d.ts.map +1 -0
- package/dist/schemas/drafts.js +44 -0
- package/dist/schemas/drafts.js.map +1 -0
- package/dist/schemas/environment.d.ts +349 -0
- package/dist/schemas/environment.d.ts.map +1 -0
- package/dist/schemas/environment.js +111 -0
- package/dist/schemas/environment.js.map +1 -0
- package/dist/schemas/exit.d.ts +151 -0
- package/dist/schemas/exit.d.ts.map +1 -0
- package/dist/schemas/exit.js +115 -0
- package/dist/schemas/exit.js.map +1 -0
- package/dist/schemas/extension-updates.d.ts +1016 -0
- package/dist/schemas/extension-updates.d.ts.map +1 -0
- package/dist/schemas/extension-updates.js +199 -0
- package/dist/schemas/extension-updates.js.map +1 -0
- package/dist/schemas/fast-mode.d.ts +8 -0
- package/dist/schemas/fast-mode.d.ts.map +1 -0
- package/dist/schemas/fast-mode.js +3 -0
- package/dist/schemas/fast-mode.js.map +1 -0
- package/dist/schemas/git-history.d.ts +238 -0
- package/dist/schemas/git-history.d.ts.map +1 -0
- package/dist/schemas/git-history.js +152 -0
- package/dist/schemas/git-history.js.map +1 -0
- package/dist/schemas/git.d.ts +471 -0
- package/dist/schemas/git.d.ts.map +1 -0
- package/dist/schemas/git.js +204 -0
- package/dist/schemas/git.js.map +1 -0
- package/dist/schemas/history.d.ts +100 -0
- package/dist/schemas/history.d.ts.map +1 -0
- package/dist/schemas/history.js +54 -0
- package/dist/schemas/history.js.map +1 -0
- package/dist/schemas/hosts.d.ts +41 -0
- package/dist/schemas/hosts.d.ts.map +1 -0
- package/dist/schemas/hosts.js +18 -0
- package/dist/schemas/hosts.js.map +1 -0
- package/dist/schemas/intentic.d.ts +5 -0
- package/dist/schemas/intentic.d.ts.map +1 -0
- package/dist/schemas/intentic.js +3 -0
- package/dist/schemas/intentic.js.map +1 -0
- package/dist/schemas/internal.d.ts +8 -0
- package/dist/schemas/internal.d.ts.map +1 -0
- package/dist/schemas/internal.js +12 -0
- package/dist/schemas/internal.js.map +1 -0
- package/dist/schemas/inventory.d.ts +171 -0
- package/dist/schemas/inventory.d.ts.map +1 -0
- package/dist/schemas/inventory.js +51 -0
- package/dist/schemas/inventory.js.map +1 -0
- package/dist/schemas/issues.d.ts +324 -0
- package/dist/schemas/issues.d.ts.map +1 -0
- package/dist/schemas/issues.js +107 -0
- package/dist/schemas/issues.js.map +1 -0
- package/dist/schemas/logs.d.ts +67 -0
- package/dist/schemas/logs.d.ts.map +1 -0
- package/dist/schemas/logs.js +54 -0
- package/dist/schemas/logs.js.map +1 -0
- package/dist/schemas/loops.d.ts +415 -0
- package/dist/schemas/loops.d.ts.map +1 -0
- package/dist/schemas/loops.js +188 -0
- package/dist/schemas/loops.js.map +1 -0
- package/dist/schemas/maintenance.d.ts +618 -0
- package/dist/schemas/maintenance.d.ts.map +1 -0
- package/dist/schemas/maintenance.js +222 -0
- package/dist/schemas/maintenance.js.map +1 -0
- package/dist/schemas/marketplace.d.ts +64 -0
- package/dist/schemas/marketplace.d.ts.map +1 -0
- package/dist/schemas/marketplace.js +17 -0
- package/dist/schemas/marketplace.js.map +1 -0
- package/dist/schemas/panels.d.ts +61 -0
- package/dist/schemas/panels.d.ts.map +1 -0
- package/dist/schemas/panels.js +51 -0
- package/dist/schemas/panels.js.map +1 -0
- package/dist/schemas/personas.d.ts +122 -0
- package/dist/schemas/personas.d.ts.map +1 -0
- package/dist/schemas/personas.js +102 -0
- package/dist/schemas/personas.js.map +1 -0
- package/dist/schemas/plan-limits.d.ts +172 -0
- package/dist/schemas/plan-limits.d.ts.map +1 -0
- package/dist/schemas/plan-limits.js +126 -0
- package/dist/schemas/plan-limits.js.map +1 -0
- package/dist/schemas/ports.d.ts +71 -0
- package/dist/schemas/ports.d.ts.map +1 -0
- package/dist/schemas/ports.js +42 -0
- package/dist/schemas/ports.js.map +1 -0
- package/dist/schemas/provider-oauth.d.ts +128 -0
- package/dist/schemas/provider-oauth.d.ts.map +1 -0
- package/dist/schemas/provider-oauth.js +91 -0
- package/dist/schemas/provider-oauth.js.map +1 -0
- package/dist/schemas/provider-subscriptions.d.ts +9 -0
- package/dist/schemas/provider-subscriptions.d.ts.map +1 -0
- package/dist/schemas/provider-subscriptions.js +3 -0
- package/dist/schemas/provider-subscriptions.js.map +1 -0
- package/dist/schemas/public.d.ts +32 -0
- package/dist/schemas/public.d.ts.map +1 -0
- package/dist/schemas/public.js +29 -0
- package/dist/schemas/public.js.map +1 -0
- package/dist/schemas/push.d.ts +55 -0
- package/dist/schemas/push.d.ts.map +1 -0
- package/dist/schemas/push.js +60 -0
- package/dist/schemas/push.js.map +1 -0
- package/dist/schemas/secrets.d.ts +86 -0
- package/dist/schemas/secrets.d.ts.map +1 -0
- package/dist/schemas/secrets.js +51 -0
- package/dist/schemas/secrets.js.map +1 -0
- package/dist/schemas/sessions.d.ts +32 -0
- package/dist/schemas/sessions.d.ts.map +1 -0
- package/dist/schemas/sessions.js +11 -0
- package/dist/schemas/sessions.js.map +1 -0
- package/dist/schemas/settings.d.ts +554 -0
- package/dist/schemas/settings.d.ts.map +1 -0
- package/dist/schemas/settings.js +263 -0
- package/dist/schemas/settings.js.map +1 -0
- package/dist/schemas/share.d.ts +49 -0
- package/dist/schemas/share.d.ts.map +1 -0
- package/dist/schemas/share.js +26 -0
- package/dist/schemas/share.js.map +1 -0
- package/dist/schemas/shared.d.ts +22 -0
- package/dist/schemas/shared.d.ts.map +1 -0
- package/dist/schemas/shared.js +16 -0
- package/dist/schemas/shared.js.map +1 -0
- package/dist/schemas/system.d.ts +86 -0
- package/dist/schemas/system.d.ts.map +1 -0
- package/dist/schemas/system.js +64 -0
- package/dist/schemas/system.js.map +1 -0
- package/dist/schemas/terminal.d.ts +230 -0
- package/dist/schemas/terminal.d.ts.map +1 -0
- package/dist/schemas/terminal.js +133 -0
- package/dist/schemas/terminal.js.map +1 -0
- package/dist/schemas/usage.d.ts +113 -0
- package/dist/schemas/usage.d.ts.map +1 -0
- package/dist/schemas/usage.js +91 -0
- package/dist/schemas/usage.js.map +1 -0
- package/dist/schemas/vpn.d.ts +229 -0
- package/dist/schemas/vpn.d.ts.map +1 -0
- package/dist/schemas/vpn.js +115 -0
- package/dist/schemas/vpn.js.map +1 -0
- package/dist/schemas/webext.d.ts +122 -0
- package/dist/schemas/webext.d.ts.map +1 -0
- package/dist/schemas/webext.js +45 -0
- package/dist/schemas/webext.js.map +1 -0
- package/dist/schemas/workflows.d.ts +881 -0
- package/dist/schemas/workflows.d.ts.map +1 -0
- package/dist/schemas/workflows.js +164 -0
- package/dist/schemas/workflows.js.map +1 -0
- package/dist/schemas/workspace-repos.d.ts +143 -0
- package/dist/schemas/workspace-repos.d.ts.map +1 -0
- package/dist/schemas/workspace-repos.js +87 -0
- package/dist/schemas/workspace-repos.js.map +1 -0
- package/dist/schemas/workspace-search.d.ts +170 -0
- package/dist/schemas/workspace-search.d.ts.map +1 -0
- package/dist/schemas/workspace-search.js +85 -0
- package/dist/schemas/workspace-search.js.map +1 -0
- package/dist/schemas/workspace-setup.d.ts +48 -0
- package/dist/schemas/workspace-setup.d.ts.map +1 -0
- package/dist/schemas/workspace-setup.js +26 -0
- package/dist/schemas/workspace-setup.js.map +1 -0
- package/dist/schemas/workspace-tree.d.ts +120 -0
- package/dist/schemas/workspace-tree.d.ts.map +1 -0
- package/dist/schemas/workspace-tree.js +111 -0
- package/dist/schemas/workspace-tree.js.map +1 -0
- package/dist/webext-links.d.ts +14 -0
- package/dist/webext-links.d.ts.map +1 -0
- package/dist/webext-links.js +25 -0
- package/dist/webext-links.js.map +1 -0
- package/dist/webext-protocol.d.ts +8 -0
- package/dist/webext-protocol.d.ts.map +1 -0
- package/dist/webext-protocol.js +7 -0
- package/dist/webext-protocol.js.map +1 -0
- package/dist/workflow-faults.d.ts +1 -1
- package/dist/workflow-faults.d.ts.map +1 -1
- package/dist/workspace-state.d.ts +12 -8
- package/dist/workspace-state.d.ts.map +1 -1
- package/dist/workspace-state.js +15 -10
- package/dist/workspace-state.js.map +1 -1
- package/package.json +19 -8
- package/src/agent-catalog.test.ts +56 -55
- package/src/agent-catalog.ts +33 -33
- package/src/capability-ledger.test.ts +11 -2
- package/src/chores/chores.test.ts +1 -1
- package/src/chores/chores.ts +67 -2
- package/src/chores/probes.test.ts +65 -0
- package/src/chores/probes.ts +133 -1
- package/src/chores/stack.test.ts +19 -0
- package/src/chores/stack.ts +19 -3
- package/src/chores/verdict.test.ts +40 -20
- package/src/chores/verdict.ts +1 -1
- package/src/command-classes.test.ts +445 -0
- package/src/command-classes.ts +468 -0
- package/src/contracts/activity.contract.ts +1 -1
- package/src/contracts/agent.contract.ts +4 -13
- package/src/contracts/agents.contract.ts +6 -6
- package/src/contracts/automations.contract.ts +2 -2
- package/src/contracts/capabilities.contract.ts +3 -4
- package/src/contracts/chores.contract.ts +2 -1
- package/src/contracts/ci.contract.ts +2 -2
- package/src/contracts/claude.contract.ts +2 -2
- package/src/contracts/cursor.contract.ts +2 -2
- package/src/contracts/drafts.contract.ts +2 -1
- package/src/contracts/endpoints.contract.ts +2 -1
- package/src/contracts/exit.contract.ts +2 -1
- package/src/contracts/extensions.contract.ts +8 -7
- package/src/contracts/git.contract.ts +19 -18
- package/src/contracts/grok.contract.ts +2 -1
- package/src/contracts/history.contract.ts +2 -1
- package/src/contracts/host.contract.ts +4 -1
- package/src/contracts/intentic.contract.ts +2 -1
- package/src/contracts/inventory.contract.ts +1 -1
- package/src/contracts/issues.contract.ts +60 -0
- package/src/contracts/logs.contract.ts +7 -1
- package/src/contracts/loops.contract.ts +2 -2
- package/src/contracts/panels.contract.ts +2 -1
- package/src/contracts/personas.contract.ts +3 -3
- package/src/contracts/ports.contract.ts +3 -2
- package/src/contracts/prepush.contract.ts +2 -1
- package/src/contracts/providers.contract.ts +2 -1
- package/src/contracts/public.contract.ts +3 -2
- package/src/contracts/push.contract.ts +2 -1
- package/src/contracts/runner.contract.ts +18 -2
- package/src/contracts/secrets.contract.ts +2 -1
- package/src/contracts/sessions.contract.ts +1 -1
- package/src/contracts/settings.contract.ts +3 -9
- package/src/contracts/share.contract.ts +3 -2
- package/src/contracts/skills.contract.ts +2 -1
- package/src/contracts/system.contract.ts +6 -9
- package/src/contracts/translator.contract.ts +4 -1
- package/src/contracts/usage.contract.ts +1 -1
- package/src/contracts/vpn.contract.ts +2 -8
- package/src/contracts/webext.contract.ts +37 -0
- package/src/contracts/workflows.contract.ts +2 -2
- package/src/contracts/workspace.contract.ts +10 -12
- package/src/conversation-ids.test.ts +1 -1
- package/src/credential-material.test.ts +120 -0
- package/src/credential-material.ts +100 -0
- package/src/definition-action.ts +8 -0
- package/src/definition.ts +74 -10
- package/src/events.ts +84 -22
- package/src/fast-tier.ts +1 -1
- package/src/history-state.ts +17 -0
- package/src/host-protocol.ts +1 -1
- package/src/hostnames.test.ts +2 -2
- package/src/hostnames.ts +18 -2
- package/src/index.ts +65 -1
- package/src/listener-protocol.ts +1 -1
- package/src/quick-model.ts +1 -1
- package/src/routes.test.ts +4 -2
- package/src/runner-protocol.ts +35 -5
- package/src/runtime-state.ts +16 -0
- package/src/schemas/activity.ts +123 -0
- package/src/schemas/agent.ts +422 -0
- package/src/schemas/agents.ts +802 -0
- package/src/schemas/automations.ts +522 -0
- package/src/schemas/capabilities.ts +729 -0
- package/src/schemas/ci.ts +235 -0
- package/src/schemas/claude-gate.ts +13 -0
- package/src/schemas/codebase-health.ts +64 -0
- package/src/schemas/computers.ts +287 -0
- package/src/schemas/drafts.ts +108 -0
- package/src/schemas/environment.ts +276 -0
- package/src/schemas/exit.ts +222 -0
- package/src/schemas/extension-updates.ts +324 -0
- package/src/schemas/fast-mode.ts +8 -0
- package/src/schemas/git-history.ts +265 -0
- package/src/schemas/git.ts +430 -0
- package/src/schemas/history.ts +112 -0
- package/src/schemas/hosts.ts +37 -0
- package/src/schemas/intentic.ts +2 -0
- package/src/schemas/internal.ts +17 -0
- package/src/schemas/inventory.ts +68 -0
- package/src/schemas/issues.ts +279 -0
- package/src/schemas/logs.ts +96 -0
- package/src/schemas/loops.ts +401 -0
- package/src/schemas/maintenance.ts +471 -0
- package/src/schemas/marketplace.ts +23 -0
- package/src/schemas/panels.ts +99 -0
- package/src/schemas/personas.ts +281 -0
- package/src/schemas/plan-limits.ts +255 -0
- package/src/schemas/ports.ts +84 -0
- package/src/schemas/provider-oauth.ts +191 -0
- package/src/schemas/provider-subscriptions.ts +11 -0
- package/src/schemas/public.ts +52 -0
- package/src/schemas/push.ts +112 -0
- package/src/schemas/secrets.ts +68 -0
- package/src/schemas/sessions.ts +16 -0
- package/src/schemas/settings.ts +964 -0
- package/src/schemas/share.ts +71 -0
- package/src/schemas/shared.ts +32 -0
- package/src/schemas/system.ts +156 -0
- package/src/schemas/terminal.ts +288 -0
- package/src/schemas/usage.ts +303 -0
- package/src/{schemas.test.ts → schemas/version-seam.test.ts} +4 -2
- package/src/schemas/vpn.ts +215 -0
- package/src/schemas/webext.ts +108 -0
- package/src/schemas/workflows.ts +413 -0
- package/src/schemas/workspace-repos.ts +123 -0
- package/src/schemas/workspace-search.ts +141 -0
- package/src/schemas/workspace-setup.ts +43 -0
- package/src/schemas/workspace-tree.ts +234 -0
- package/src/title.test.ts +1 -1
- package/src/tunnel-ids.test.ts +3 -1
- package/src/webext-links.ts +90 -0
- package/src/webext-protocol.ts +27 -0
- package/src/workflow-faults.test.ts +1 -1
- package/src/workflow-faults.ts +1 -1
- package/src/workspace-state.test.ts +6 -4
- package/src/workspace-state.ts +35 -50
- package/dist/schemas.d.ts +0 -9909
- package/dist/schemas.d.ts.map +0 -1
- package/dist/schemas.js +0 -4288
- package/dist/schemas.js.map +0 -1
- package/src/schemas.ts +0 -10090
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
+
import { CapabilityIdParamSchema } from "../schemas/capabilities.js";
|
|
2
3
|
import {
|
|
3
|
-
CapabilityIdParamSchema,
|
|
4
4
|
ExtensionEnabledInputSchema,
|
|
5
5
|
ExtensionProcessParamSchema,
|
|
6
6
|
ExtensionProcessStatusSchema,
|
|
7
7
|
ExtensionSettingsInputSchema,
|
|
8
8
|
ExtensionSettingsSchema,
|
|
9
|
-
|
|
9
|
+
ExtensionsListSchema,
|
|
10
10
|
ExtensionUpdateActionSchema,
|
|
11
11
|
ExtensionUpdateAppliedSchema,
|
|
12
12
|
ExtensionUpdatePolicyInputSchema,
|
|
13
13
|
ExtensionUpdatePreviewSchema,
|
|
14
14
|
ExtensionUpdatesCheckedSchema,
|
|
15
15
|
ExtensionUsageInputSchema,
|
|
16
|
-
ExtensionsListSchema,
|
|
17
|
-
OkSchema,
|
|
18
16
|
WorkspaceExtensionCreatedSchema,
|
|
19
17
|
WorkspaceExtensionCreateSchema,
|
|
20
|
-
} from "../schemas.js";
|
|
18
|
+
} from "../schemas/extension-updates.js";
|
|
19
|
+
import { ExtensionReadinessSchema } from "../schemas/maintenance.js";
|
|
20
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
21
21
|
|
|
22
22
|
// Installed extensions resolved to their approved manifests, what the web extension host boots from. The
|
|
23
23
|
// bundle itself is a plain Hono route (GET /extensions/{id}/bundle): raw ESM bytes are not an oRPC payload.
|
|
@@ -162,8 +162,9 @@ export const extensionsContract = {
|
|
|
162
162
|
})
|
|
163
163
|
.input(ExtensionUpdatePolicyInputSchema)
|
|
164
164
|
.output(OkSchema),
|
|
165
|
-
// Declared background processes (contributes.processes):
|
|
166
|
-
//
|
|
165
|
+
// Declared background processes (contributes.processes): supervised children of the daemon (respawned
|
|
166
|
+
// with backoff, PORT-assigned, one log file each — the terminals list carries their `svc-ext-<id>-<name>`
|
|
167
|
+
// log-view rows), with an optional tunneled preview route.
|
|
167
168
|
processStatus: oc
|
|
168
169
|
.route({
|
|
169
170
|
method: "GET",
|
|
@@ -3,48 +3,49 @@ import {
|
|
|
3
3
|
CommitResultSchema,
|
|
4
4
|
CommitSchema,
|
|
5
5
|
DiscardSchema,
|
|
6
|
-
FileDiffSchema,
|
|
7
|
-
GitActionResultSchema,
|
|
8
6
|
GitBranchCreateAtSchema,
|
|
9
|
-
GitBranchCreateSchema,
|
|
10
7
|
GitBranchDeleteSchema,
|
|
11
8
|
GitBranchesSchema,
|
|
12
9
|
GitChangesSchema,
|
|
13
|
-
GitCheckoutSchema,
|
|
14
|
-
GitCommitActionSchema,
|
|
15
|
-
GitCommitDiffQuerySchema,
|
|
16
|
-
GitCommitDiffSchema,
|
|
17
|
-
GitCommitFileDiffQuerySchema,
|
|
18
10
|
GitFileDiffQuerySchema,
|
|
19
11
|
GitFileQuerySchema,
|
|
20
12
|
GitFileSchema,
|
|
21
13
|
GitFilesSchema,
|
|
22
14
|
GitFileWriteSchema,
|
|
15
|
+
GitOperationStateSchema,
|
|
16
|
+
GitRemoteStateSchema,
|
|
17
|
+
GitStageSchema,
|
|
18
|
+
GitStatusSchema,
|
|
19
|
+
PushSchema,
|
|
20
|
+
} from "../schemas/git.js";
|
|
21
|
+
import {
|
|
22
|
+
GitActionResultSchema,
|
|
23
|
+
GitBranchCreateSchema,
|
|
24
|
+
GitCheckoutSchema,
|
|
25
|
+
GitCommitActionSchema,
|
|
26
|
+
GitCommitDiffQuerySchema,
|
|
27
|
+
GitCommitDiffSchema,
|
|
28
|
+
GitCommitFileDiffQuerySchema,
|
|
23
29
|
GitLogQuerySchema,
|
|
24
30
|
GitLogSchema,
|
|
25
|
-
GitOperationStateSchema,
|
|
26
31
|
GitPublishFileResultSchema,
|
|
27
32
|
GitPublishFileSchema,
|
|
28
|
-
GitUndoSchema,
|
|
29
|
-
GitUndoStateSchema,
|
|
30
33
|
GitRemoteReposSchema,
|
|
31
|
-
GitRemoteStateSchema,
|
|
32
34
|
GitReposSchema,
|
|
33
35
|
GitResetSchema,
|
|
34
|
-
GitStageSchema,
|
|
35
|
-
GitStatusSchema,
|
|
36
36
|
GitTagCreateSchema,
|
|
37
37
|
GitTagDeleteSchema,
|
|
38
38
|
GitTagPushSchema,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
RepoParamSchema,
|
|
39
|
+
GitUndoSchema,
|
|
40
|
+
GitUndoStateSchema,
|
|
42
41
|
StashApplySchema,
|
|
43
42
|
StashDiffQuerySchema,
|
|
44
43
|
StashListSchema,
|
|
45
44
|
StashPushSchema,
|
|
46
45
|
StashRefParamSchema,
|
|
47
|
-
} from "../schemas.js";
|
|
46
|
+
} from "../schemas/git-history.js";
|
|
47
|
+
import { FileDiffSchema } from "../schemas/history.js";
|
|
48
|
+
import { OkSchema, RepoParamSchema } from "../schemas/shared.js";
|
|
48
49
|
|
|
49
50
|
// Per-repo git ops over the workspace repos: "root" (the /work repo) plus every discovered repo under /work
|
|
50
51
|
// ({repo} is the repo's root-relative dir, URL-encoded). An unknown {repo} is a handler-thrown
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import { AccountIdSchema, DeviceStartSchema, OauthAccountListSchema
|
|
2
|
+
import { AccountIdSchema, DeviceStartSchema, OauthAccountListSchema } from "../schemas/provider-oauth.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
3
4
|
|
|
4
5
|
// xAI Grok (via OpenCode) uses subscription OAuth, the sandbox owns the credential (OpenCode persists the
|
|
5
6
|
// tokens and refreshes them). `start` authorizes xAI's headless device-code method and returns the verification
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import { FileDiffSchema,
|
|
2
|
+
import { FileDiffSchema, SnapshotDiffSchema, SnapshotFileDiffQuerySchema, SnapshotIdSchema, SnapshotsListSchema } from "../schemas/history.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
3
4
|
|
|
4
5
|
// Workspace history: daemon-owned snapshots of /work with diff + restore. `diff` compares a checkpoint against
|
|
5
6
|
// the previous visible checkpoint (everything that happened since it, hidden interval captures included); an
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { eventIterator, oc } from "@orpc/contract";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import {
|
|
3
|
+
import { MachineFlowLineSchema, MachineSandboxFlowSchema } from "../schemas/computers.js";
|
|
4
|
+
import { HostScopesSchema } from "../schemas/capabilities.js";
|
|
5
|
+
import { HostFactsSchema } from "../schemas/hosts.js";
|
|
6
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
4
7
|
|
|
5
8
|
/* What a connected computer can be ASKED, over the socket it opened to this sandbox.
|
|
6
9
|
*
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { eventIterator, oc } from "@orpc/contract";
|
|
2
2
|
import { IntenticLineSchema } from "../events.js";
|
|
3
|
-
import { IntenticRunSchema
|
|
3
|
+
import { IntenticRunSchema } from "../schemas/intentic.js";
|
|
4
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
4
5
|
|
|
5
6
|
// Run the in-sandbox intentic CLI (resolve/plan/apply/deployments/…) and stream its ndjson lines as they
|
|
6
7
|
// arrive, so the UI sees live progress. A non-zero exit surfaces as a thrown error once the stream ends.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import { AddInventoryInputSchema, InventoryListSchema, InventoryNameParamSchema } from "../schemas.js";
|
|
2
|
+
import { AddInventoryInputSchema, InventoryListSchema, InventoryNameParamSchema } from "../schemas/inventory.js";
|
|
3
3
|
|
|
4
4
|
// The i.have.* / i.want.service entries in deploy.config.ts's managed region. add/remove rewrite the region and
|
|
5
5
|
// commit it (mirroring an agent edit) and return the full updated list so the UI re-renders from one response.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { oc } from "@orpc/contract";
|
|
2
|
+
import { IssueIdParamSchema, IssueInstallsSchema, IssueIntakeIdParamSchema, IssuesListSchema, IssueStatusInputSchema } from "../schemas/issues.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
4
|
+
|
|
5
|
+
/* The issues inbox: bug reports that arrived from the owner's own sites and apps, grouped by fingerprint.
|
|
6
|
+
*
|
|
7
|
+
* THE OWNER'S SIDE ONLY. Reports come in through the public `/intake/…` routes, which are deliberately a
|
|
8
|
+
* different prefix rather than a verb on this one: those are reachable by any browser on the internet, these
|
|
9
|
+
* are not, and two id spaces (an automation's public id out there, an issue's fingerprint in here) sharing one
|
|
10
|
+
* path prefix is how a widened rule stops being visible.
|
|
11
|
+
*
|
|
12
|
+
* Nothing here creates an issue. The daemon writes them; this is triage. */
|
|
13
|
+
export const issuesContract = {
|
|
14
|
+
list: oc
|
|
15
|
+
.route({
|
|
16
|
+
method: "GET",
|
|
17
|
+
path: "/issues",
|
|
18
|
+
summary: "Bugs your users have reported",
|
|
19
|
+
description: "Everything that has crashed or been written in, grouped so a crash that hit a thousand people is one row with a count.",
|
|
20
|
+
})
|
|
21
|
+
.output(IssuesListSchema),
|
|
22
|
+
status: oc
|
|
23
|
+
.route({
|
|
24
|
+
method: "POST",
|
|
25
|
+
path: "/issues/{id}/status",
|
|
26
|
+
summary: "File one away, or reopen it",
|
|
27
|
+
description: "Moves one issue between open, resolved and ignored. Resolving does not close anything upstream: it is your own inbox.",
|
|
28
|
+
})
|
|
29
|
+
.input(IssueStatusInputSchema)
|
|
30
|
+
.output(OkSchema),
|
|
31
|
+
investigate: oc
|
|
32
|
+
.route({
|
|
33
|
+
method: "POST",
|
|
34
|
+
path: "/issues/{id}/investigate",
|
|
35
|
+
summary: "Put an agent on it now",
|
|
36
|
+
description:
|
|
37
|
+
"Starts a turn on this issue with the crash, its stack and what led up to it as the brief. Answers straight away and runs detached; the issue goes to 'being looked at'.",
|
|
38
|
+
})
|
|
39
|
+
.input(IssueIdParamSchema)
|
|
40
|
+
.output(OkSchema),
|
|
41
|
+
remove: oc
|
|
42
|
+
.route({
|
|
43
|
+
method: "DELETE",
|
|
44
|
+
path: "/issues/{id}",
|
|
45
|
+
summary: "Throw one away",
|
|
46
|
+
description: "Forgets an issue entirely. It will come back as new if it happens again, which is usually what you want.",
|
|
47
|
+
})
|
|
48
|
+
.input(IssueIdParamSchema)
|
|
49
|
+
.output(OkSchema),
|
|
50
|
+
installs: oc
|
|
51
|
+
.route({
|
|
52
|
+
method: "GET",
|
|
53
|
+
path: "/issues/installs/{automationId}",
|
|
54
|
+
summary: "Which sites have loaded the reporter",
|
|
55
|
+
description:
|
|
56
|
+
"The sites whose pages actually loaded this intake's script, and the ones that were turned away. The answer to 'did the snippet land?', which an empty inbox cannot give you.",
|
|
57
|
+
})
|
|
58
|
+
.input(IssueIntakeIdParamSchema)
|
|
59
|
+
.output(IssueInstallsSchema),
|
|
60
|
+
};
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
ClientDiagnosticsAcceptedSchema,
|
|
4
|
+
ClientDiagnosticsReportSchema,
|
|
5
|
+
LogReadQuerySchema,
|
|
6
|
+
LogReadSchema,
|
|
7
|
+
LogsListSchema,
|
|
8
|
+
} from "../schemas/logs.js";
|
|
3
9
|
|
|
4
10
|
// Daemon-owned debug logs (historyRoot/logs): terminal pipe-pane captures, intentic CLI run logs, daemon.log.
|
|
5
11
|
// Reads are read-only by design, the files are written by the daemon/tmux only, so the record stays
|
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
LoopRecordSchema,
|
|
9
9
|
LoopSchema,
|
|
10
10
|
LoopsListSchema,
|
|
11
|
-
|
|
12
|
-
} from "../schemas.js";
|
|
11
|
+
} from "../schemas/loops.js";
|
|
12
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
13
13
|
|
|
14
14
|
/* The loop routes, "run this conversation again until the goal is met".
|
|
15
15
|
*
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import {
|
|
2
|
+
import { PanelRepoParamSchema, PanelsListSchema } from "../schemas/panels.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
3
4
|
|
|
4
5
|
// Per-repository dev servers + the content facts the web app's extensions detect on. `list` enumerates every
|
|
5
6
|
// repo with its runtime status + facts; `start`/`stop` drive the repo's dev server. Their tmux sessions list
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
2
|
import {
|
|
3
|
-
OkSchema,
|
|
4
3
|
PersonaIdParamSchema,
|
|
5
4
|
PersonaKitSchema,
|
|
6
5
|
PersonaPromptSchema,
|
|
7
6
|
PersonaSchema,
|
|
8
|
-
PersonasListSchema,
|
|
9
7
|
PersonaSkillBodySchema,
|
|
10
8
|
PersonaSkillNameSchema,
|
|
11
9
|
PersonaSkillSchema,
|
|
12
|
-
|
|
10
|
+
PersonasListSchema,
|
|
11
|
+
} from "../schemas/personas.js";
|
|
12
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
13
13
|
|
|
14
14
|
/* The sandbox's named personas (PersonaSchema): which connected accounts each one speaks for, what a session
|
|
15
15
|
* wearing it may do, where it works, and what it is told. The card half is a plain three-verb CRUD with no apply
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import {
|
|
2
|
+
import { PortForwardResultSchema, PortParamSchema, PortsListSchema } from "../schemas/ports.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
3
4
|
|
|
4
5
|
// Listening TCP ports in the sandbox + explicit forwarding through the preview proxy (see the ports section in
|
|
5
|
-
// schemas.ts). `forward` is idempotent, re-forwarding a port returns its existing slot's URL; `unforward`
|
|
6
|
+
// schemas/ports.ts). `forward` is idempotent, re-forwarding a port returns its existing slot's URL; `unforward`
|
|
6
7
|
// frees the slot immediately (the hostname keeps resolving, the proxy just stops mapping it).
|
|
7
8
|
export const portsContract = {
|
|
8
9
|
list: oc
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import {
|
|
2
|
+
import { PrepushRunSchema } from "../schemas/ci.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
3
4
|
|
|
4
5
|
// The pre-push check, the command the workspace runs when the user pushes, before anything leaves the machine
|
|
5
6
|
// (see PrepushRunSchema for where this sits and why). Three verbs about ONE run: the check answers about the
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import {
|
|
2
|
+
import { NativeProviderParamSchema } from "../schemas/agent.js";
|
|
3
|
+
import { ModelsSchema } from "../schemas/provider-oauth.js";
|
|
3
4
|
|
|
4
5
|
// EVERY NATIVE PROVIDER'S PICKER CATALOG, ON ONE ROUTE.
|
|
5
6
|
//
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import {
|
|
2
|
+
import { PublicListSchema, PublishResultSchema, PublishSchema, UnpublishSchema } from "../schemas/public.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
3
4
|
|
|
4
|
-
// The workspace outbox, what `public/` currently holds and its address (see
|
|
5
|
+
// The workspace outbox, what `public/` currently holds and its address (see schemas/public.ts).
|
|
5
6
|
// `publish` copies a workspace file or directory in, creating the outbox if this is the first one; `unpublish`
|
|
6
7
|
// withdraws one and removes the outbox behind the last, so the directory's presence always means exactly "there
|
|
7
8
|
// is something published". There is no route to READ a published file: that is the whole point of the
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import {
|
|
2
|
+
import { PushChannelIdSchema, PushChannelSchema, PushConfigQuerySchema, PushConfigSchema, PushTestSchema } from "../schemas/push.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
3
4
|
|
|
4
5
|
// Push notifications for this sandbox. The daemon owns the VAPID keypair and the channel list (see
|
|
5
6
|
// push/push-store.ts for why the key lives on the history volume), and sends on the three moments where the
|
|
@@ -2,7 +2,9 @@ import { eventIterator, oc } from "@orpc/contract";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { AgentEventSchema } from "../events.js";
|
|
4
4
|
import { RunnerFactsSchema, RunnerSyncLineSchema, RunnerSyncSchema, RunnerTurnSchema } from "../runner-protocol.js";
|
|
5
|
-
import {
|
|
5
|
+
import { EditorContextSchema } from "../schemas/agent.js";
|
|
6
|
+
import { AgentReplySchema } from "../schemas/plan-limits.js";
|
|
7
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
6
8
|
|
|
7
9
|
/* What a RUNNER can be asked, over the socket it opened to its parent sandbox. Phase-1 skeleton: the shape is
|
|
8
10
|
* decided (docs/remote-runners-plan.md §5, workspace root), the implementations land with runner mode.
|
|
@@ -40,8 +42,22 @@ export const runnerContract = {
|
|
|
40
42
|
* editor context UNCOMPOSED: the note over those paths has to be built against the runner's own
|
|
41
43
|
* workspace root, since that is the machine whose files the agent will open. */
|
|
42
44
|
steer: oc
|
|
43
|
-
.input(
|
|
45
|
+
.input(
|
|
46
|
+
z.object({
|
|
47
|
+
conversationId: z.string().min(1),
|
|
48
|
+
text: z.string(),
|
|
49
|
+
attachments: z.array(z.string()).optional(),
|
|
50
|
+
editorContext: EditorContextSchema.optional(),
|
|
51
|
+
}),
|
|
52
|
+
)
|
|
44
53
|
.output(z.object({ applied: z.boolean(), invalid: z.string().optional() })),
|
|
54
|
+
/* The parent pushing its declared shape onto this runner: a settings-only definition (sandbox.toml text,
|
|
55
|
+
* runner-protocol.ts's hello says why settings are all a runner declares). REPLACE semantics, not the
|
|
56
|
+
* owner-facing apply's merge-beside: a key the definition omits returns to its default, because the parent
|
|
57
|
+
* is a runner's whole authority and "make this runner match" must also unset what the parent unset. The
|
|
58
|
+
* answer names the keys now holding non-default values, which is what the parent adopts as the runner's
|
|
59
|
+
* new declared shape without waiting for a reconnect. */
|
|
60
|
+
applyDefinition: oc.input(z.object({ toml: z.string() })).output(z.object({ settings: z.array(z.string()) })),
|
|
45
61
|
// Stop the running turn; the parent's stop button reaching through.
|
|
46
62
|
interrupt: oc.input(RunnerTurnSchema.pick({ conversationId: true })).output(OkSchema),
|
|
47
63
|
// Liveness, driven by the parent: keepalive and gone-detection in one, the host hub's heartbeat verbatim.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import {
|
|
2
|
+
import { SecretInventorySchema, SecretKeyParamSchema, SecretKeysSchema, SecretRevealSchema, SecretSetSchema } from "../schemas/secrets.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
3
4
|
|
|
4
5
|
// User-supplied env-var secrets, written to the sandbox's gitignored desired-state/.env (which
|
|
5
6
|
// `apply` reloads each run, no restart). `set` upserts one KEY=value, `remove` deletes it; `list` returns the
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { SessionTranscriptSchema } from "../events.js";
|
|
4
|
-
import { SessionIdParamSchema, SessionsListSchema } from "../schemas.js";
|
|
4
|
+
import { SessionIdParamSchema, SessionsListSchema } from "../schemas/sessions.js";
|
|
5
5
|
|
|
6
6
|
// Past conversations in this workspace (the SDK-native session store, keyed on the working dir, which for a
|
|
7
7
|
// repo covers its linked worktrees too, so an isolated conversation's transcript is reachable from the
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
DayWindowQuerySchema,
|
|
6
|
-
OkSchema,
|
|
7
|
-
RuleFiringsSchema,
|
|
8
|
-
SandboxSettingsSchema,
|
|
9
|
-
SavingsReportSchema,
|
|
10
|
-
} from "../schemas.js";
|
|
2
|
+
import { BuiltinPromptSchema, BuiltinPromptTextSchema, RuleFiringsSchema, SandboxSettingsSchema, SavingsReportSchema } from "../schemas/settings.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
4
|
+
import { DayWindowQuerySchema } from "../schemas/usage.js";
|
|
11
5
|
|
|
12
6
|
// Per-sandbox agent settings (.intentic/config/settings.json). `get` returns the current flags with defaults applied
|
|
13
7
|
// when the file is absent; `set` overwrites them. `savings` reports what each token-reduction mechanism was
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import {
|
|
2
|
+
import { ShareCreateSchema, SharedConversationSchema, ShareListSchema, ShareRemoveSchema, ShareUpdateSchema } from "../schemas/share.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
3
4
|
|
|
4
|
-
/* Conversations published as read-only pages (see
|
|
5
|
+
/* Conversations published as read-only pages (see schemas/share.ts).
|
|
5
6
|
*
|
|
6
7
|
* Its own group rather than two more routes on `public`, because the two speak different path spaces and mean
|
|
7
8
|
* different things by "publish". The outbox's routes take a path in the workspace and copy the bytes at it; a
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import {
|
|
2
|
+
import { SkillBodySchema, SkillDraftSchema, SkillIdSchema, SkillRemoveSchema, SkillsListSchema } from "../schemas/settings.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
3
4
|
|
|
4
5
|
/* WHAT THE AGENT KNOWS RIGHT NOW, and which half of it the owner controls.
|
|
5
6
|
*
|
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
import { eventIterator, oc } from "@orpc/contract";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { SessionTranscriptSchema, SystemEventSchema } from "../events.js";
|
|
4
|
+
import { MachineFlowLineSchema, MachineSandboxFlowInputSchema } from "../schemas/computers.js";
|
|
5
|
+
import { PresenceReportSchema } from "../schemas/logs.js";
|
|
6
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
7
|
+
import { DaemonSessionSchema, InfoSchema, ManifestProblemsSchema } from "../schemas/system.js";
|
|
4
8
|
import {
|
|
5
9
|
BrowserNameParamSchema,
|
|
6
10
|
BrowsersListSchema,
|
|
7
|
-
DaemonSessionSchema,
|
|
8
|
-
InfoSchema,
|
|
9
|
-
ManifestProblemsSchema,
|
|
10
|
-
MachineFlowLineSchema,
|
|
11
|
-
MachineSandboxFlowInputSchema,
|
|
12
|
-
OkSchema,
|
|
13
|
-
PresenceReportSchema,
|
|
14
11
|
SubagentIdParamSchema,
|
|
15
12
|
SubagentsListSchema,
|
|
16
13
|
TerminalNameParamSchema,
|
|
17
14
|
TerminalScrollbackQuerySchema,
|
|
18
15
|
TerminalScrollbackSchema,
|
|
19
16
|
TerminalsListSchema,
|
|
20
|
-
|
|
21
|
-
} from "../schemas.js";
|
|
17
|
+
} from "../schemas/terminal.js";
|
|
18
|
+
import { UsageSummarySchema } from "../schemas/usage.js";
|
|
22
19
|
|
|
23
20
|
// Sandbox status + identity, the long-lived liveness stream, and the connect-token-relayed host tunnel.
|
|
24
21
|
// `events` interleaves heartbeat frames (browser holds it open to detect the sandbox dying instantly) with
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import {
|
|
3
|
+
import { TranslatorAccountsSchema } from "../schemas/plan-limits.js";
|
|
4
|
+
import { TranslatorCompleteSchema, TranslatorStartSchema } from "../schemas/provider-oauth.js";
|
|
5
|
+
import { KeyedProviderSchema } from "../schemas/provider-subscriptions.js";
|
|
6
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
4
7
|
|
|
5
8
|
// Routed-provider subscriptions (Sandbox ▸ Agent). The bundled translator (CLIProxyAPI) runs a non-Claude model
|
|
6
9
|
// UNDER the Claude Code harness on the user's SUBSCRIPTION, so each provider connects via an OAuth login rather
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
-
import { DayWindowQuerySchema, UsageRollupSchema } from "../schemas.js";
|
|
2
|
+
import { DayWindowQuerySchema, UsageRollupSchema } from "../schemas/usage.js";
|
|
3
3
|
|
|
4
4
|
// The durable spend ledger (see UsageTurnSchema). Read-only over the wire, rows are appended daemon-side at
|
|
5
5
|
// turn end, so the ledger stays a trustworthy record of what was actually spent, the same principle as the
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { eventIterator, oc } from "@orpc/contract";
|
|
2
2
|
import { IntenticLineSchema } from "../events.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
ForticlientImportSchema,
|
|
6
|
-
OkSchema,
|
|
7
|
-
VpnConnectInputSchema,
|
|
8
|
-
VpnIdParamSchema,
|
|
9
|
-
VpnListSchema,
|
|
10
|
-
} from "../schemas.js";
|
|
3
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
4
|
+
import { ForticlientImportInputSchema, ForticlientImportSchema, VpnConnectInputSchema, VpnIdParamSchema, VpnListSchema } from "../schemas/vpn.js";
|
|
11
5
|
|
|
12
6
|
// The live VPN surface. A VPN is ADDED as a `vpn` capability (credentials, autoConnect, capabilities.contract);
|
|
13
7
|
// it is DIALLED here. The split is deliberate: connecting is a runtime operation that both the operator (the
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { oc } from "@orpc/contract";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { WebExtScopesSchema } from "../schemas/capabilities.js";
|
|
4
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
5
|
+
import { WebExtFactsSchema } from "../schemas/webext.js";
|
|
6
|
+
|
|
7
|
+
/* What a connected BROWSER can be asked, over the socket its extension opened to this sandbox.
|
|
8
|
+
*
|
|
9
|
+
* The inversion is the host contract's (contracts/host.contract.ts): the extension dialled out, and the
|
|
10
|
+
* extension is the oRPC SERVER. A browser cannot be dialled — it is behind the same NAT as the laptop it runs
|
|
11
|
+
* on, and it is not even a process that is always there — so it can only be the side that connects, while
|
|
12
|
+
* everything is asked OF it.
|
|
13
|
+
*
|
|
14
|
+
* `mcp` IS THE SAME DELIBERATE HOLE IN THE TYPING, for the same reason: if this contract described each tool,
|
|
15
|
+
* a browser could not learn one without a matching daemon release, and the daemon would have to hold every
|
|
16
|
+
* tool's schema to translate. Keeping one opaque procedure buys the extension the Chrome Web Store's release
|
|
17
|
+
* cycle, which is measured in review days and is not this daemon's to wait on. The payload is still validated
|
|
18
|
+
* where it is understood: in the extension, against the tool's own schema.
|
|
19
|
+
*
|
|
20
|
+
* There is no `runSandboxFlow` twin here. A browser runs nothing that takes minutes and narrates itself; every
|
|
21
|
+
* one of its operations is a click or a read that either happened or did not. */
|
|
22
|
+
export const webextContract = {
|
|
23
|
+
// What this browser is, and what it is currently allowed to touch: pulled right after the socket
|
|
24
|
+
// authenticates and again whenever the card is read, because the grant list changes IN THE BROWSER (the
|
|
25
|
+
// person clicks Allow on a site) rather than here, so a cached copy would be a card that lies.
|
|
26
|
+
describe: oc.output(WebExtFactsSchema),
|
|
27
|
+
/* The switches the owner ticked on the capability card. The extension ENFORCES them; nothing on this side
|
|
28
|
+
* checks one. Note what is NOT in here: which sites the agent may touch. Those are Chrome's own optional
|
|
29
|
+
* host permissions, granted by the person in the browser and revocable there, so the strongest boundary in
|
|
30
|
+
* this feature is one the sandbox cannot even describe, let alone widen. */
|
|
31
|
+
setScopes: oc.input(WebExtScopesSchema).output(OkSchema),
|
|
32
|
+
// Liveness, driven by the daemon: doubles as the keepalive for the tunnel and as the probe whose failure
|
|
33
|
+
// means the browser is closed rather than quiet.
|
|
34
|
+
ping: oc.output(OkSchema),
|
|
35
|
+
// One MCP JSON-RPC message in, its answer out, forwarded verbatim in both directions. See above.
|
|
36
|
+
mcp: oc.input(z.unknown()).output(z.unknown()),
|
|
37
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
2
3
|
import {
|
|
3
|
-
OkSchema,
|
|
4
4
|
WorkflowIdParamSchema,
|
|
5
5
|
WorkflowRunIdParamSchema,
|
|
6
6
|
WorkflowRunSchema,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
WorkflowSaveSchema,
|
|
10
10
|
WorkflowSchema,
|
|
11
11
|
WorkflowsListSchema,
|
|
12
|
-
} from "../schemas.js";
|
|
12
|
+
} from "../schemas/workflows.js";
|
|
13
13
|
|
|
14
14
|
/* The workflow routes, "run these sessions, in this order, each handing its result to the next".
|
|
15
15
|
*
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import { oc } from "@orpc/contract";
|
|
2
|
+
import { WorkspaceHealthQuerySchema, WorkspaceHealthSchema } from "../schemas/codebase-health.js";
|
|
3
|
+
import { WorkspaceModulesSchema } from "../schemas/git.js";
|
|
4
|
+
import { OkSchema } from "../schemas/shared.js";
|
|
2
5
|
import {
|
|
3
6
|
AddAppsSchema,
|
|
4
7
|
AppParamSchema,
|
|
5
8
|
AppsListSchema,
|
|
6
9
|
CloneRepoSchema,
|
|
7
10
|
CloneResultSchema,
|
|
8
|
-
WorkspaceSearchResultSchema,
|
|
9
|
-
WorkspaceSearchQuerySchema,
|
|
10
|
-
OkSchema,
|
|
11
11
|
RepoAppsParamSchema,
|
|
12
12
|
ReposListSchema,
|
|
13
13
|
RunTestsSchema,
|
|
14
14
|
TemplatesListSchema,
|
|
15
|
+
WorkspaceGraphSchema,
|
|
16
|
+
WorkspaceSyncSchema,
|
|
17
|
+
} from "../schemas/workspace-repos.js";
|
|
18
|
+
import { WorkspaceSearchQuerySchema, WorkspaceSearchResultSchema } from "../schemas/workspace-search.js";
|
|
19
|
+
import { WorkspaceInstallResultSchema, WorkspaceInstallSchema, WorkspaceSetupSchema } from "../schemas/workspace-setup.js";
|
|
20
|
+
import {
|
|
15
21
|
WorkspaceChildrenQuerySchema,
|
|
16
22
|
WorkspaceChildrenSchema,
|
|
17
23
|
WorkspaceClassificationSchema,
|
|
@@ -19,22 +25,14 @@ import {
|
|
|
19
25
|
WorkspaceFileQuerySchema,
|
|
20
26
|
WorkspaceFileReadQuerySchema,
|
|
21
27
|
WorkspaceFileSchema,
|
|
22
|
-
WorkspaceGraphSchema,
|
|
23
|
-
WorkspaceHealthQuerySchema,
|
|
24
|
-
WorkspaceHealthSchema,
|
|
25
|
-
WorkspaceInstallResultSchema,
|
|
26
|
-
WorkspaceInstallSchema,
|
|
27
28
|
WorkspaceMediaTicketQuerySchema,
|
|
28
29
|
WorkspaceMediaTicketSchema,
|
|
29
|
-
WorkspaceModulesSchema,
|
|
30
30
|
WorkspaceMoveSchema,
|
|
31
31
|
WorkspaceResolveQuerySchema,
|
|
32
32
|
WorkspaceResolveSchema,
|
|
33
33
|
WorkspaceScopeSchema,
|
|
34
|
-
WorkspaceSetupSchema,
|
|
35
|
-
WorkspaceSyncSchema,
|
|
36
34
|
WorkspaceTreeSchema,
|
|
37
|
-
} from "../schemas.js";
|
|
35
|
+
} from "../schemas/workspace-tree.js";
|
|
38
36
|
|
|
39
37
|
// The full /work view + extra-repo cloning. The binary preview (/workspace/raw) is intentionally NOT here, it
|
|
40
38
|
// stays a plain Hono route serving raw bytes with a Content-Type header (oRPC's request/response shape doesn't
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { afterEach, expect, test, vi } from "vitest";
|
|
2
2
|
import { newConversationId } from "./conversation-ids.js";
|
|
3
|
-
import { ConversationIdSchema } from "./schemas.js";
|
|
3
|
+
import { ConversationIdSchema } from "./schemas/agent.js";
|
|
4
4
|
|
|
5
5
|
const mockRandomValues = (values: readonly number[]) => {
|
|
6
6
|
const remaining = [...values];
|