@intentic/sandbox-contract 1.247.0 → 1.249.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 +18 -15
- package/dist/chores/chores.d.ts.map +1 -1
- package/dist/chores/chores.js.map +1 -1
- package/dist/chores/digest.d.ts.map +1 -1
- package/dist/chores/digest.js.map +1 -1
- package/dist/chores/extension-update.d.ts.map +1 -1
- package/dist/chores/extension-update.js.map +1 -1
- package/dist/chores/fix-deps.d.ts.map +1 -1
- package/dist/chores/fix-deps.js.map +1 -1
- package/dist/chores/index.d.ts +2 -2
- package/dist/chores/index.d.ts.map +1 -1
- package/dist/chores/index.js +1 -1
- package/dist/chores/index.js.map +1 -1
- package/dist/chores/probes.d.ts.map +1 -1
- package/dist/chores/probes.js.map +1 -1
- package/dist/chores/prompt.d.ts.map +1 -1
- package/dist/chores/prompt.js.map +1 -1
- package/dist/chores/stack.d.ts.map +1 -1
- package/dist/chores/stack.js.map +1 -1
- package/dist/chores/verdict.d.ts +7 -1
- package/dist/chores/verdict.d.ts.map +1 -1
- package/dist/chores/verdict.js +8 -0
- package/dist/chores/verdict.js.map +1 -1
- package/dist/contracts/accounts.contract.d.ts.map +1 -1
- package/dist/contracts/accounts.contract.js.map +1 -1
- package/dist/contracts/activity.contract.d.ts +1 -0
- package/dist/contracts/activity.contract.d.ts.map +1 -1
- package/dist/contracts/agent.contract.d.ts +13 -205
- package/dist/contracts/agent.contract.d.ts.map +1 -1
- package/dist/contracts/agent.contract.js +2 -1
- package/dist/contracts/agent.contract.js.map +1 -1
- package/dist/contracts/agents.contract.d.ts +228 -54
- package/dist/contracts/agents.contract.d.ts.map +1 -1
- package/dist/contracts/agents.contract.js +11 -2
- package/dist/contracts/agents.contract.js.map +1 -1
- package/dist/contracts/automations.contract.d.ts +35 -17
- package/dist/contracts/automations.contract.d.ts.map +1 -1
- package/dist/contracts/automations.contract.js +10 -1
- package/dist/contracts/automations.contract.js.map +1 -1
- package/dist/contracts/capabilities.contract.d.ts +0 -12
- package/dist/contracts/capabilities.contract.d.ts.map +1 -1
- package/dist/contracts/capabilities.contract.js +1 -1
- package/dist/contracts/capabilities.contract.js.map +1 -1
- package/dist/contracts/chores.contract.d.ts.map +1 -1
- package/dist/contracts/chores.contract.js.map +1 -1
- package/dist/contracts/ci.contract.d.ts +9 -0
- package/dist/contracts/ci.contract.d.ts.map +1 -1
- package/dist/contracts/endpoints.contract.d.ts.map +1 -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 +1 -1
- package/dist/contracts/exit.contract.js.map +1 -1
- package/dist/contracts/extensions.contract.d.ts.map +1 -1
- package/dist/contracts/extensions.contract.js.map +1 -1
- package/dist/contracts/git.contract.d.ts +45 -6
- package/dist/contracts/git.contract.d.ts.map +1 -1
- package/dist/contracts/git.contract.js +9 -9
- package/dist/contracts/git.contract.js.map +1 -1
- package/dist/contracts/host.contract.d.ts +2 -0
- package/dist/contracts/host.contract.d.ts.map +1 -1
- package/dist/contracts/host.contract.js.map +1 -1
- package/dist/contracts/intentic.contract.js +1 -1
- package/dist/contracts/intentic.contract.js.map +1 -1
- package/dist/contracts/logs.contract.d.ts.map +1 -1
- package/dist/contracts/logs.contract.js.map +1 -1
- package/dist/contracts/loops.contract.d.ts.map +1 -1
- package/dist/contracts/loops.contract.js.map +1 -1
- package/dist/contracts/personas.contract.d.ts +39 -4
- package/dist/contracts/personas.contract.d.ts.map +1 -1
- package/dist/contracts/personas.contract.js +10 -1
- package/dist/contracts/personas.contract.js.map +1 -1
- package/dist/contracts/providers.contract.d.ts.map +1 -1
- package/dist/contracts/providers.contract.js.map +1 -1
- package/dist/contracts/runner.contract.d.ts +6 -80
- package/dist/contracts/runner.contract.d.ts.map +1 -1
- package/dist/contracts/runner.contract.js +2 -2
- package/dist/contracts/runner.contract.js.map +1 -1
- package/dist/contracts/safety.contract.d.ts.map +1 -1
- package/dist/contracts/safety.contract.js +1 -1
- package/dist/contracts/safety.contract.js.map +1 -1
- package/dist/contracts/secrets.contract.d.ts.map +1 -1
- package/dist/contracts/secrets.contract.js.map +1 -1
- package/dist/contracts/sessions.contract.d.ts +2 -41
- package/dist/contracts/sessions.contract.d.ts.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 +10 -10
- package/dist/contracts/settings.contract.d.ts.map +1 -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.map +1 -1
- package/dist/contracts/skills.contract.d.ts.map +1 -1
- package/dist/contracts/skills.contract.js.map +1 -1
- package/dist/contracts/system.contract.d.ts +49 -73
- package/dist/contracts/system.contract.d.ts.map +1 -1
- package/dist/contracts/system.contract.js +12 -2
- package/dist/contracts/system.contract.js.map +1 -1
- package/dist/contracts/usage.contract.d.ts.map +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 +1 -1
- package/dist/contracts/vpn.contract.js.map +1 -1
- package/dist/contracts/webext.contract.d.ts.map +1 -1
- package/dist/contracts/webext.contract.js.map +1 -1
- package/dist/contracts/workflows.contract.d.ts +7 -6
- package/dist/contracts/workflows.contract.d.ts.map +1 -1
- package/dist/contracts/workflows.contract.js +12 -3
- package/dist/contracts/workflows.contract.js.map +1 -1
- package/dist/contracts/workspace.contract.d.ts.map +1 -1
- package/dist/contracts/workspace.contract.js.map +1 -1
- package/dist/events/agent-events.d.ts +1237 -0
- package/dist/events/agent-events.d.ts.map +1 -0
- package/dist/events/agent-events.js +226 -0
- package/dist/events/agent-events.js.map +1 -0
- package/dist/events/cards.d.ts +404 -0
- package/dist/events/cards.d.ts.map +1 -0
- package/dist/events/cards.js +179 -0
- package/dist/events/cards.js.map +1 -0
- package/dist/events/resume.d.ts +23 -0
- package/dist/events/resume.d.ts.map +1 -0
- package/dist/events/resume.js +31 -0
- package/dist/events/resume.js.map +1 -0
- package/dist/events/system-events.d.ts +615 -0
- package/dist/events/system-events.d.ts.map +1 -0
- package/dist/events/system-events.js +64 -0
- package/dist/events/system-events.js.map +1 -0
- package/dist/events/transcript.d.ts +1755 -0
- package/dist/events/transcript.d.ts.map +1 -0
- package/dist/events/transcript.js +205 -0
- package/dist/events/transcript.js.map +1 -0
- package/dist/ids/conversation-ids.d.ts +8 -0
- package/dist/ids/conversation-ids.d.ts.map +1 -0
- package/dist/{conversation-ids.js → ids/conversation-ids.js} +13 -0
- package/dist/ids/conversation-ids.js.map +1 -0
- package/dist/ids/hostnames.d.ts.map +1 -0
- package/dist/ids/hostnames.js.map +1 -0
- package/dist/ids/session-names.d.ts.map +1 -0
- package/dist/ids/session-names.js.map +1 -0
- package/dist/ids/share-paths.d.ts.map +1 -0
- package/dist/ids/share-paths.js.map +1 -0
- package/dist/{tunnel-ids.d.ts → ids/tunnel-ids.d.ts} +1 -0
- package/dist/ids/tunnel-ids.d.ts.map +1 -0
- package/dist/{tunnel-ids.js → ids/tunnel-ids.js} +1 -0
- package/dist/ids/tunnel-ids.js.map +1 -0
- package/dist/index.d.ts +464 -447
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -47
- package/dist/index.js.map +1 -1
- package/dist/{agent-catalog.d.ts → models/agent-catalog.d.ts} +2 -2
- package/dist/models/agent-catalog.d.ts.map +1 -0
- package/dist/models/agent-catalog.js.map +1 -0
- package/dist/models/agent-runtimes.d.ts.map +1 -0
- package/dist/models/agent-runtimes.js.map +1 -0
- package/dist/{fast-tier.d.ts → models/fast-tier.d.ts} +1 -1
- package/dist/models/fast-tier.d.ts.map +1 -0
- package/dist/models/fast-tier.js.map +1 -0
- package/dist/models/model-order.d.ts.map +1 -0
- package/dist/models/model-order.js.map +1 -0
- package/dist/{model-pins.d.ts → models/model-pins.d.ts} +2 -4
- package/dist/models/model-pins.d.ts.map +1 -0
- package/dist/models/model-pins.js +22 -0
- package/dist/models/model-pins.js.map +1 -0
- package/dist/{model-roles.d.ts → models/model-roles.d.ts} +25 -30
- package/dist/models/model-roles.d.ts.map +1 -0
- package/dist/{model-roles.js → models/model-roles.js} +30 -27
- package/dist/models/model-roles.js.map +1 -0
- package/dist/{plan-pools.d.ts → models/plan-pools.d.ts} +1 -1
- package/dist/models/plan-pools.d.ts.map +1 -0
- package/dist/models/plan-pools.js.map +1 -0
- package/dist/models/prompt-complexity.d.ts.map +1 -0
- package/dist/models/prompt-complexity.js.map +1 -0
- package/dist/models/provider-specs.d.ts.map +1 -0
- package/dist/models/provider-specs.js.map +1 -0
- package/dist/policy/approvals-execution.d.ts.map +1 -0
- package/dist/policy/approvals-execution.js.map +1 -0
- package/dist/{batch-runs.d.ts → policy/batch-runs.d.ts} +5 -1
- package/dist/policy/batch-runs.d.ts.map +1 -0
- package/dist/{batch-runs.js → policy/batch-runs.js} +10 -7
- package/dist/policy/batch-runs.js.map +1 -0
- package/dist/policy/capability-env.d.ts.map +1 -0
- package/dist/policy/capability-env.js.map +1 -0
- package/dist/policy/capability-secrets.d.ts.map +1 -0
- package/dist/policy/capability-secrets.js.map +1 -0
- package/dist/{card-status.d.ts → policy/card-status.d.ts} +2 -2
- package/dist/policy/card-status.d.ts.map +1 -0
- package/dist/{card-status.js → policy/card-status.js} +1 -5
- package/dist/policy/card-status.js.map +1 -0
- package/dist/{command-classes.d.ts → policy/command-classes.d.ts} +6 -2
- package/dist/policy/command-classes.d.ts.map +1 -0
- package/dist/{command-classes.js → policy/command-classes.js} +48 -11
- package/dist/policy/command-classes.js.map +1 -0
- package/dist/{command-run.d.ts → policy/command-run.d.ts} +1 -1
- package/dist/policy/command-run.d.ts.map +1 -0
- package/dist/policy/command-run.js.map +1 -0
- package/dist/policy/control-scopes.d.ts +16 -0
- package/dist/policy/control-scopes.d.ts.map +1 -0
- package/dist/policy/control-scopes.js +26 -0
- package/dist/policy/control-scopes.js.map +1 -0
- package/dist/policy/credential-material.d.ts.map +1 -0
- package/dist/policy/credential-material.js.map +1 -0
- package/dist/policy/needs-action.d.ts.map +1 -0
- package/dist/policy/needs-action.js.map +1 -0
- package/dist/policy/output-fields.d.ts.map +1 -0
- package/dist/policy/output-fields.js.map +1 -0
- package/dist/policy/overlay-lint.d.ts.map +1 -0
- package/dist/policy/overlay-lint.js.map +1 -0
- package/dist/policy/owner-ticket.d.ts.map +1 -0
- package/dist/{owner-ticket.js → policy/owner-ticket.js} +1 -1
- package/dist/policy/owner-ticket.js.map +1 -0
- package/dist/{safety-policy.d.ts → policy/safety-policy.d.ts} +6 -5
- package/dist/policy/safety-policy.d.ts.map +1 -0
- package/dist/{safety-policy.js → policy/safety-policy.js} +12 -12
- package/dist/policy/safety-policy.js.map +1 -0
- package/dist/policy/search-globs.d.ts.map +1 -0
- package/dist/policy/search-globs.js.map +1 -0
- package/dist/protocol/container-requirements.d.ts +20 -0
- package/dist/protocol/container-requirements.d.ts.map +1 -0
- package/dist/protocol/container-requirements.js +23 -0
- package/dist/protocol/container-requirements.js.map +1 -0
- package/dist/{host-protocol.d.ts → protocol/host-protocol.d.ts} +1 -0
- package/dist/protocol/host-protocol.d.ts.map +1 -0
- package/dist/{host-protocol.js → protocol/host-protocol.js} +1 -0
- package/dist/protocol/host-protocol.js.map +1 -0
- package/dist/protocol/ingress-contract.d.ts.map +1 -0
- package/dist/{ingress-contract.js → protocol/ingress-contract.js} +1 -1
- package/dist/protocol/ingress-contract.js.map +1 -0
- package/dist/protocol/ingress-protocol.d.ts.map +1 -0
- package/dist/protocol/ingress-protocol.js.map +1 -0
- package/dist/protocol/listener-protocol.d.ts.map +1 -0
- package/dist/{listener-protocol.js → protocol/listener-protocol.js} +1 -1
- package/dist/protocol/listener-protocol.js.map +1 -0
- package/dist/{peer-dial.d.ts → protocol/peer-dial.d.ts} +4 -1
- package/dist/protocol/peer-dial.d.ts.map +1 -0
- package/dist/{peer-dial.js → protocol/peer-dial.js} +51 -10
- package/dist/protocol/peer-dial.js.map +1 -0
- package/dist/protocol/peer-mcp-server.d.ts.map +1 -0
- package/dist/protocol/peer-mcp-server.js.map +1 -0
- package/dist/protocol/request-id.d.ts.map +1 -0
- package/dist/protocol/request-id.js.map +1 -0
- package/dist/protocol/routes.d.ts.map +1 -0
- package/dist/protocol/routes.js.map +1 -0
- package/dist/{runner-protocol.d.ts → protocol/runner-protocol.d.ts} +1 -0
- package/dist/protocol/runner-protocol.d.ts.map +1 -0
- package/dist/{runner-protocol.js → protocol/runner-protocol.js} +2 -1
- package/dist/protocol/runner-protocol.js.map +1 -0
- package/dist/protocol/sse.d.ts.map +1 -0
- package/dist/protocol/sse.js.map +1 -0
- package/dist/{terminal-protocol.d.ts → protocol/terminal-protocol.d.ts} +1 -3
- package/dist/protocol/terminal-protocol.d.ts.map +1 -0
- package/dist/protocol/terminal-protocol.js.map +1 -0
- package/dist/protocol/webext-links.d.ts.map +1 -0
- package/dist/protocol/webext-links.js.map +1 -0
- package/dist/{webext-protocol.d.ts → protocol/webext-protocol.d.ts} +1 -0
- package/dist/protocol/webext-protocol.d.ts.map +1 -0
- package/dist/{webext-protocol.js → protocol/webext-protocol.js} +1 -0
- package/dist/protocol/webext-protocol.js.map +1 -0
- package/dist/schemas/activity.d.ts +2 -0
- package/dist/schemas/activity.d.ts.map +1 -1
- package/dist/schemas/activity.js +4 -0
- package/dist/schemas/activity.js.map +1 -1
- package/dist/schemas/agent.d.ts +17 -4
- package/dist/schemas/agent.d.ts.map +1 -1
- package/dist/schemas/agent.js +21 -4
- package/dist/schemas/agent.js.map +1 -1
- package/dist/schemas/agents.d.ts +17 -4
- package/dist/schemas/agents.d.ts.map +1 -1
- package/dist/schemas/agents.js +15 -4
- package/dist/schemas/agents.js.map +1 -1
- package/dist/schemas/approvals.d.ts.map +1 -1
- package/dist/schemas/approvals.js.map +1 -1
- package/dist/schemas/automations.d.ts +54 -28
- package/dist/schemas/automations.d.ts.map +1 -1
- package/dist/schemas/automations.js +26 -8
- package/dist/schemas/automations.js.map +1 -1
- package/dist/schemas/capabilities.d.ts +0 -8
- package/dist/schemas/capabilities.d.ts.map +1 -1
- package/dist/schemas/capabilities.js +0 -4
- package/dist/schemas/capabilities.js.map +1 -1
- package/dist/schemas/ci.d.ts +10 -0
- package/dist/schemas/ci.d.ts.map +1 -1
- package/dist/schemas/ci.js +9 -1
- package/dist/schemas/ci.js.map +1 -1
- package/dist/schemas/codebase-health.d.ts.map +1 -1
- package/dist/schemas/codebase-health.js.map +1 -1
- package/dist/schemas/devices.d.ts +90 -0
- package/dist/schemas/devices.d.ts.map +1 -1
- package/dist/schemas/devices.js +10 -1
- package/dist/schemas/devices.js.map +1 -1
- package/dist/schemas/engines.d.ts.map +1 -1
- package/dist/schemas/engines.js.map +1 -1
- package/dist/schemas/environment.d.ts.map +1 -1
- package/dist/schemas/environment.js.map +1 -1
- package/dist/schemas/exit.d.ts.map +1 -1
- package/dist/schemas/exit.js.map +1 -1
- package/dist/schemas/extension-updates.d.ts.map +1 -1
- package/dist/schemas/extension-updates.js.map +1 -1
- package/dist/schemas/git-history.d.ts.map +1 -1
- package/dist/schemas/git-history.js.map +1 -1
- package/dist/schemas/git.d.ts +80 -16
- package/dist/schemas/git.d.ts.map +1 -1
- package/dist/schemas/git.js +37 -25
- package/dist/schemas/git.js.map +1 -1
- package/dist/schemas/history.d.ts.map +1 -1
- package/dist/schemas/history.js.map +1 -1
- package/dist/schemas/hosts.d.ts.map +1 -1
- package/dist/schemas/hosts.js.map +1 -1
- package/dist/schemas/inventory.d.ts.map +1 -1
- package/dist/schemas/inventory.js.map +1 -1
- package/dist/schemas/issues.d.ts +0 -1
- package/dist/schemas/issues.d.ts.map +1 -1
- package/dist/schemas/issues.js +0 -1
- package/dist/schemas/issues.js.map +1 -1
- package/dist/schemas/logs.d.ts.map +1 -1
- package/dist/schemas/logs.js.map +1 -1
- package/dist/schemas/loops.d.ts.map +1 -1
- package/dist/schemas/loops.js +1 -1
- package/dist/schemas/loops.js.map +1 -1
- package/dist/schemas/maintenance.d.ts.map +1 -1
- package/dist/schemas/maintenance.js.map +1 -1
- package/dist/schemas/marketplace.d.ts +0 -4
- package/dist/schemas/marketplace.d.ts.map +1 -1
- package/dist/schemas/panels.d.ts.map +1 -1
- package/dist/schemas/panels.js.map +1 -1
- package/dist/schemas/personas.d.ts +49 -4
- package/dist/schemas/personas.d.ts.map +1 -1
- package/dist/schemas/personas.js +32 -5
- package/dist/schemas/personas.js.map +1 -1
- package/dist/schemas/plan-limits.d.ts +2 -4
- package/dist/schemas/plan-limits.d.ts.map +1 -1
- package/dist/schemas/plan-limits.js +5 -8
- package/dist/schemas/plan-limits.js.map +1 -1
- package/dist/schemas/ports.d.ts.map +1 -1
- package/dist/schemas/ports.js.map +1 -1
- package/dist/schemas/provider-oauth.d.ts.map +1 -1
- package/dist/schemas/provider-oauth.js.map +1 -1
- package/dist/schemas/provider-subscriptions.d.ts +1 -1
- package/dist/schemas/provider-subscriptions.d.ts.map +1 -1
- package/dist/schemas/provider-subscriptions.js +1 -1
- package/dist/schemas/provider-subscriptions.js.map +1 -1
- package/dist/schemas/public.d.ts.map +1 -1
- package/dist/schemas/public.js.map +1 -1
- package/dist/schemas/push.d.ts.map +1 -1
- package/dist/schemas/push.js.map +1 -1
- package/dist/schemas/secrets.d.ts.map +1 -1
- package/dist/schemas/secrets.js.map +1 -1
- package/dist/schemas/settings.d.ts +7 -5
- package/dist/schemas/settings.d.ts.map +1 -1
- package/dist/schemas/settings.js +18 -8
- package/dist/schemas/settings.js.map +1 -1
- package/dist/schemas/share.d.ts.map +1 -1
- package/dist/schemas/share.js.map +1 -1
- package/dist/schemas/shared.d.ts +4 -0
- package/dist/schemas/shared.d.ts.map +1 -1
- package/dist/schemas/shared.js +3 -0
- package/dist/schemas/shared.js.map +1 -1
- package/dist/schemas/system.d.ts +6 -0
- package/dist/schemas/system.d.ts.map +1 -1
- package/dist/schemas/system.js +10 -0
- package/dist/schemas/system.js.map +1 -1
- package/dist/schemas/terminal.d.ts.map +1 -1
- package/dist/schemas/terminal.js.map +1 -1
- package/dist/schemas/usage.d.ts.map +1 -1
- package/dist/schemas/usage.js.map +1 -1
- package/dist/schemas/vpn.d.ts.map +1 -1
- package/dist/schemas/vpn.js.map +1 -1
- package/dist/schemas/webext.d.ts.map +1 -1
- package/dist/schemas/webext.js.map +1 -1
- package/dist/schemas/workflows.d.ts +66 -9
- package/dist/schemas/workflows.d.ts.map +1 -1
- package/dist/schemas/workflows.js +6 -5
- package/dist/schemas/workflows.js.map +1 -1
- package/dist/schemas/workspace-repos.d.ts.map +1 -1
- package/dist/schemas/workspace-repos.js.map +1 -1
- package/dist/schemas/workspace-search.d.ts.map +1 -1
- package/dist/schemas/workspace-search.js.map +1 -1
- package/dist/schemas/workspace-setup.d.ts.map +1 -1
- package/dist/schemas/workspace-setup.js.map +1 -1
- package/dist/schemas/workspace-tree.d.ts.map +1 -1
- package/dist/schemas/workspace-tree.js.map +1 -1
- package/dist/state/arrival.d.ts.map +1 -0
- package/dist/{arrival.js → state/arrival.js} +1 -1
- package/dist/state/arrival.js.map +1 -0
- package/dist/state/contract-lock.d.ts.map +1 -0
- package/dist/{contract-lock.js → state/contract-lock.js} +1 -1
- package/dist/state/contract-lock.js.map +1 -0
- package/dist/{definition.d.ts → state/definition.d.ts} +21 -17
- package/dist/state/definition.d.ts.map +1 -0
- package/dist/{definition.js → state/definition.js} +4 -4
- package/dist/state/definition.js.map +1 -0
- package/dist/state/history-state.d.ts.map +1 -0
- package/dist/{history-state.js → state/history-state.js} +1 -0
- package/dist/state/history-state.js.map +1 -0
- package/dist/state/runtime-state.d.ts.map +1 -0
- package/dist/state/runtime-state.js.map +1 -0
- package/dist/state/starter.d.ts.map +1 -0
- package/dist/state/starter.js.map +1 -0
- package/dist/state/state-portability.d.ts.map +1 -0
- package/dist/state/state-portability.js.map +1 -0
- package/dist/state/versions.d.ts.map +1 -0
- package/dist/state/versions.js.map +1 -0
- package/dist/{workspace-state.d.ts → state/workspace-state.d.ts} +8 -5
- package/dist/state/workspace-state.d.ts.map +1 -0
- package/dist/{workspace-state.js → state/workspace-state.js} +25 -1
- package/dist/state/workspace-state.js.map +1 -0
- package/dist/{documents.d.ts → text/documents.d.ts} +1 -1
- package/dist/text/documents.d.ts.map +1 -0
- package/dist/{documents.js → text/documents.js} +1 -1
- package/dist/text/documents.js.map +1 -0
- package/dist/text/embed.d.ts.map +1 -0
- package/dist/text/embed.js.map +1 -0
- package/dist/text/mentions.d.ts.map +1 -0
- package/dist/text/mentions.js.map +1 -0
- package/dist/text/model-answer.d.ts +3 -0
- package/dist/text/model-answer.d.ts.map +1 -0
- package/dist/text/model-answer.js +3 -0
- package/dist/text/model-answer.js.map +1 -0
- package/dist/text/path-refs.d.ts.map +1 -0
- package/dist/text/path-refs.js.map +1 -0
- package/dist/{shell-regions.d.ts → text/shell-regions.d.ts} +1 -1
- package/dist/text/shell-regions.d.ts.map +1 -0
- package/dist/text/shell-regions.js.map +1 -0
- package/dist/text/title.d.ts.map +1 -0
- package/dist/text/title.js.map +1 -0
- package/dist/{transcript-fold.d.ts → text/transcript-fold.d.ts} +2 -1
- package/dist/text/transcript-fold.d.ts.map +1 -0
- package/dist/{transcript-fold.js → text/transcript-fold.js} +2 -16
- package/dist/text/transcript-fold.js.map +1 -0
- package/dist/text/whisper.d.ts +3 -0
- package/dist/text/whisper.d.ts.map +1 -0
- package/dist/text/whisper.js +11 -0
- package/dist/text/whisper.js.map +1 -0
- package/dist/{workflow-faults.d.ts → text/workflow-faults.d.ts} +1 -1
- package/dist/text/workflow-faults.d.ts.map +1 -0
- package/dist/{workflow-faults.js → text/workflow-faults.js} +1 -1
- package/dist/text/workflow-faults.js.map +1 -0
- package/package.json +70 -70
- package/src/chores/chores.test.ts +4 -10
- package/src/chores/chores.ts +148 -392
- package/src/chores/digest.ts +8 -28
- package/src/chores/extension-update.ts +3 -8
- package/src/chores/fix-deps.ts +4 -18
- package/src/chores/index.ts +2 -2
- package/src/chores/probes.test.ts +7 -43
- package/src/chores/probes.ts +62 -167
- package/src/chores/prompt.ts +10 -34
- package/src/chores/stack.test.ts +6 -45
- package/src/chores/stack.ts +27 -118
- package/src/chores/verdict.test.ts +101 -80
- package/src/chores/verdict.ts +54 -99
- package/src/contracts/accounts.contract.ts +4 -19
- package/src/contracts/agent.contract.ts +7 -22
- package/src/contracts/agents.contract.ts +25 -71
- package/src/contracts/automations.contract.ts +14 -30
- package/src/contracts/capabilities.contract.ts +8 -35
- package/src/contracts/chores.contract.ts +4 -15
- package/src/contracts/endpoints.contract.ts +5 -22
- package/src/contracts/exit.contract.ts +7 -30
- package/src/contracts/extensions.contract.ts +8 -30
- package/src/contracts/git.contract.ts +25 -49
- package/src/contracts/host.contract.ts +9 -44
- package/src/contracts/intentic.contract.ts +1 -1
- package/src/contracts/logs.contract.ts +3 -13
- package/src/contracts/loops.contract.ts +9 -40
- package/src/contracts/personas.contract.ts +22 -30
- package/src/contracts/providers.contract.ts +4 -17
- package/src/contracts/runner.contract.ts +12 -39
- package/src/contracts/safety.contract.ts +5 -14
- package/src/contracts/secrets.contract.ts +4 -22
- package/src/contracts/sessions.contract.ts +1 -1
- package/src/contracts/settings.contract.ts +4 -10
- package/src/contracts/share.contract.ts +3 -9
- package/src/contracts/skills.contract.ts +4 -15
- package/src/contracts/system.contract.ts +26 -52
- package/src/contracts/usage.contract.ts +7 -21
- package/src/contracts/vpn.contract.ts +9 -16
- package/src/contracts/webext.contract.ts +9 -25
- package/src/contracts/workflows.contract.ts +34 -58
- package/src/contracts/workspace.contract.ts +19 -50
- package/src/events/agent-events.ts +345 -0
- package/src/events/cards.ts +286 -0
- package/src/{events.test.ts → events/resume.test.ts} +4 -19
- package/src/events/resume.ts +60 -0
- package/src/events/system-events.ts +139 -0
- package/src/events/transcript.ts +320 -0
- package/src/{conversation-ids.test.ts → ids/conversation-ids.test.ts} +25 -13
- package/src/ids/conversation-ids.ts +178 -0
- package/src/ids/hostnames.ts +129 -0
- package/src/ids/session-names.ts +29 -0
- package/src/ids/share-paths.ts +43 -0
- package/src/{tunnel-ids.test.ts → ids/tunnel-ids.test.ts} +1 -14
- package/src/ids/tunnel-ids.ts +29 -0
- package/src/index.ts +71 -88
- package/src/{agent-catalog.test.ts → models/agent-catalog.test.ts} +19 -93
- package/src/models/agent-catalog.ts +174 -0
- package/src/models/agent-runtimes.ts +201 -0
- package/src/models/capability-ledger.test.ts +84 -0
- package/src/{fast-tier.test.ts → models/fast-tier.test.ts} +7 -18
- package/src/models/fast-tier.ts +36 -0
- package/src/{model-order.test.ts → models/model-order.test.ts} +19 -40
- package/src/models/model-order.ts +163 -0
- package/src/models/model-pins.test.ts +87 -0
- package/src/models/model-pins.ts +57 -0
- package/src/models/model-roles.test.ts +38 -0
- package/src/models/model-roles.ts +180 -0
- package/src/{plan-pools.test.ts → models/plan-pools.test.ts} +6 -11
- package/src/models/plan-pools.ts +65 -0
- package/src/{prompt-complexity.test.ts → models/prompt-complexity.test.ts} +8 -60
- package/src/models/prompt-complexity.ts +215 -0
- package/src/{provider-specs.test.ts → models/provider-specs.test.ts} +18 -47
- package/src/models/provider-specs.ts +272 -0
- package/src/policy/approvals-execution.ts +58 -0
- package/src/{batch-runs.test.ts → policy/batch-runs.test.ts} +4 -20
- package/src/policy/batch-runs.ts +137 -0
- package/src/policy/capability-secrets.ts +5 -0
- package/src/{card-status.ts → policy/card-status.ts} +11 -26
- package/src/{command-classes.test.ts → policy/command-classes.test.ts} +11 -118
- package/src/policy/command-classes.ts +395 -0
- package/src/policy/command-run.ts +65 -0
- package/src/policy/control-scopes.ts +38 -0
- package/src/{credential-material.test.ts → policy/credential-material.test.ts} +4 -26
- package/src/policy/credential-material.ts +91 -0
- package/src/policy/needs-action.ts +5 -0
- package/src/policy/output-fields.ts +86 -0
- package/src/policy/overlay-lint.ts +100 -0
- package/src/{owner-ticket.test.ts → policy/owner-ticket.test.ts} +1 -1
- package/src/{owner-ticket.ts → policy/owner-ticket.ts} +9 -31
- package/src/policy/safety-policy.test.ts +84 -0
- package/src/policy/safety-policy.ts +142 -0
- package/src/policy/search-globs.ts +60 -0
- package/src/protocol/container-requirements.test.ts +72 -0
- package/src/protocol/container-requirements.ts +58 -0
- package/src/protocol/host-protocol.ts +29 -0
- package/src/protocol/ingress-contract.ts +103 -0
- package/src/{ingress-protocol.test.ts → protocol/ingress-protocol.test.ts} +25 -90
- package/src/protocol/ingress-protocol.ts +441 -0
- package/src/protocol/listener-protocol.ts +75 -0
- package/src/{peer-dial.test.ts → protocol/peer-dial.test.ts} +52 -1
- package/src/protocol/peer-dial.ts +207 -0
- package/src/{peer-mcp-server.ts → protocol/peer-mcp-server.ts} +16 -41
- package/src/protocol/request-id.ts +5 -0
- package/src/{routes.test.ts → protocol/routes.test.ts} +14 -22
- package/src/protocol/routes.ts +159 -0
- package/src/protocol/runner-protocol.ts +197 -0
- package/src/protocol/terminal-protocol.ts +13 -0
- package/src/protocol/webext-links.ts +50 -0
- package/src/protocol/webext-protocol.ts +24 -0
- package/src/schemas/activity.ts +22 -30
- package/src/schemas/agent.ts +130 -238
- package/src/schemas/agents.ts +165 -483
- package/src/schemas/approvals.ts +23 -71
- package/src/schemas/automations.ts +145 -249
- package/src/schemas/capabilities.ts +127 -414
- package/src/schemas/ci.ts +56 -108
- package/src/schemas/codebase-health.ts +7 -11
- package/src/schemas/devices.ts +98 -321
- package/src/schemas/engines.ts +16 -44
- package/src/schemas/environment.ts +41 -91
- package/src/schemas/exit.ts +24 -81
- package/src/schemas/extension-updates.ts +42 -87
- package/src/schemas/git-history.ts +30 -84
- package/src/schemas/git.ts +141 -256
- package/src/schemas/history.ts +14 -40
- package/src/schemas/hosts.ts +9 -15
- package/src/schemas/inventory.ts +8 -10
- package/src/schemas/issues.ts +66 -134
- package/src/schemas/logs.ts +15 -34
- package/src/schemas/loops.ts +46 -163
- package/src/schemas/maintenance.ts +47 -172
- package/src/schemas/panels.ts +20 -45
- package/src/schemas/personas.ts +85 -168
- package/src/schemas/plan-limits.ts +58 -197
- package/src/schemas/ports.ts +14 -32
- package/src/schemas/provider-oauth.ts +23 -76
- package/src/schemas/provider-subscriptions.ts +4 -13
- package/src/schemas/public.ts +4 -15
- package/src/schemas/push.ts +8 -36
- package/src/schemas/secrets.ts +20 -64
- package/src/schemas/settings.ts +177 -597
- package/src/schemas/share.ts +14 -32
- package/src/schemas/shared.ts +14 -13
- package/src/schemas/system.ts +46 -78
- package/src/schemas/terminal.ts +41 -120
- package/src/schemas/usage.ts +44 -233
- package/src/schemas/version-seam.test.ts +9 -26
- package/src/schemas/vpn.ts +27 -64
- package/src/schemas/webext.ts +22 -53
- package/src/schemas/workflows.ts +57 -183
- package/src/schemas/workspace-repos.ts +12 -24
- package/src/schemas/workspace-search.ts +17 -35
- package/src/schemas/workspace-setup.ts +4 -11
- package/src/schemas/workspace-tree.ts +32 -91
- package/src/state/arrival.ts +109 -0
- package/src/state/contract-lock.test.ts +17 -0
- package/src/state/contract-lock.ts +49 -0
- package/src/state/definition.ts +143 -0
- package/src/state/history-state.ts +103 -0
- package/src/{runtime-state.test.ts → state/runtime-state.test.ts} +3 -10
- package/src/state/runtime-state.ts +62 -0
- package/src/state/starter.ts +5 -0
- package/src/state/state-portability.ts +27 -0
- package/src/state/versions.ts +26 -0
- package/src/{workspace-state.test.ts → state/workspace-state.test.ts} +65 -173
- package/src/state/workspace-state.ts +669 -0
- package/src/{documents.test.ts → text/documents.test.ts} +1 -1
- package/src/text/documents.ts +42 -0
- package/src/text/embed.ts +132 -0
- package/src/text/mentions.ts +21 -0
- package/src/text/model-answer.ts +9 -0
- package/src/text/path-refs.ts +39 -0
- package/src/text/shell-regions.ts +224 -0
- package/src/{title.test.ts → text/title.test.ts} +13 -32
- package/src/text/title.ts +202 -0
- package/src/{transcript-fold.test.ts → text/transcript-fold.test.ts} +5 -83
- package/src/{transcript-fold.ts → text/transcript-fold.ts} +65 -170
- package/src/text/whisper.test.ts +19 -0
- package/src/text/whisper.ts +17 -0
- package/src/{workflow-faults.test.ts → text/workflow-faults.test.ts} +6 -24
- package/src/{workflow-faults.ts → text/workflow-faults.ts} +20 -60
- package/dist/agent-catalog.d.ts.map +0 -1
- package/dist/agent-catalog.js.map +0 -1
- package/dist/agent-runtimes.d.ts.map +0 -1
- package/dist/agent-runtimes.js.map +0 -1
- package/dist/approvals-execution.d.ts.map +0 -1
- package/dist/approvals-execution.js.map +0 -1
- package/dist/arrival.d.ts.map +0 -1
- package/dist/arrival.js.map +0 -1
- package/dist/batch-runs.d.ts.map +0 -1
- package/dist/batch-runs.js.map +0 -1
- package/dist/capability-env.d.ts.map +0 -1
- package/dist/capability-env.js.map +0 -1
- package/dist/capability-secrets.d.ts.map +0 -1
- package/dist/capability-secrets.js.map +0 -1
- package/dist/card-status.d.ts.map +0 -1
- package/dist/card-status.js.map +0 -1
- package/dist/command-classes.d.ts.map +0 -1
- package/dist/command-classes.js.map +0 -1
- package/dist/command-run.d.ts.map +0 -1
- package/dist/command-run.js.map +0 -1
- package/dist/contract-lock.d.ts.map +0 -1
- package/dist/contract-lock.js.map +0 -1
- package/dist/conversation-ids.d.ts +0 -4
- package/dist/conversation-ids.d.ts.map +0 -1
- package/dist/conversation-ids.js.map +0 -1
- package/dist/credential-material.d.ts.map +0 -1
- package/dist/credential-material.js.map +0 -1
- package/dist/definition.d.ts.map +0 -1
- package/dist/definition.js.map +0 -1
- package/dist/documents.d.ts.map +0 -1
- package/dist/documents.js.map +0 -1
- package/dist/embed.d.ts.map +0 -1
- package/dist/embed.js.map +0 -1
- package/dist/events.d.ts +0 -4336
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js +0 -725
- package/dist/events.js.map +0 -1
- package/dist/fast-tier.d.ts.map +0 -1
- package/dist/fast-tier.js.map +0 -1
- package/dist/history-state.d.ts.map +0 -1
- package/dist/history-state.js.map +0 -1
- package/dist/host-protocol.d.ts.map +0 -1
- package/dist/host-protocol.js.map +0 -1
- package/dist/hostnames.d.ts.map +0 -1
- package/dist/hostnames.js.map +0 -1
- package/dist/ingress-contract.d.ts.map +0 -1
- package/dist/ingress-contract.js.map +0 -1
- package/dist/ingress-protocol.d.ts.map +0 -1
- package/dist/ingress-protocol.js.map +0 -1
- package/dist/listener-protocol.d.ts.map +0 -1
- package/dist/listener-protocol.js.map +0 -1
- package/dist/mentions.d.ts.map +0 -1
- package/dist/mentions.js.map +0 -1
- package/dist/model-order.d.ts.map +0 -1
- package/dist/model-order.js.map +0 -1
- package/dist/model-pins.d.ts.map +0 -1
- package/dist/model-pins.js +0 -45
- package/dist/model-pins.js.map +0 -1
- package/dist/model-roles.d.ts.map +0 -1
- package/dist/model-roles.js.map +0 -1
- package/dist/needs-action.d.ts.map +0 -1
- package/dist/needs-action.js.map +0 -1
- package/dist/output-fields.d.ts.map +0 -1
- package/dist/output-fields.js.map +0 -1
- package/dist/overlay-lint.d.ts.map +0 -1
- package/dist/overlay-lint.js.map +0 -1
- package/dist/owner-ticket.d.ts.map +0 -1
- package/dist/owner-ticket.js.map +0 -1
- package/dist/path-refs.d.ts.map +0 -1
- package/dist/path-refs.js.map +0 -1
- package/dist/peer-dial.d.ts.map +0 -1
- package/dist/peer-dial.js.map +0 -1
- package/dist/peer-mcp-server.d.ts.map +0 -1
- package/dist/peer-mcp-server.js.map +0 -1
- package/dist/plan-pools.d.ts.map +0 -1
- package/dist/plan-pools.js.map +0 -1
- package/dist/prompt-complexity.d.ts.map +0 -1
- package/dist/prompt-complexity.js.map +0 -1
- package/dist/provider-specs.d.ts.map +0 -1
- package/dist/provider-specs.js.map +0 -1
- package/dist/request-id.d.ts.map +0 -1
- package/dist/request-id.js.map +0 -1
- package/dist/routes.d.ts.map +0 -1
- package/dist/routes.js.map +0 -1
- package/dist/runner-protocol.d.ts.map +0 -1
- package/dist/runner-protocol.js.map +0 -1
- package/dist/runtime-state.d.ts.map +0 -1
- package/dist/runtime-state.js.map +0 -1
- package/dist/safety-policy.d.ts.map +0 -1
- package/dist/safety-policy.js.map +0 -1
- package/dist/schemas/context.d.ts +0 -30
- package/dist/schemas/context.d.ts.map +0 -1
- package/dist/schemas/context.js +0 -34
- package/dist/schemas/context.js.map +0 -1
- package/dist/search-globs.d.ts.map +0 -1
- package/dist/search-globs.js.map +0 -1
- package/dist/session-names.d.ts.map +0 -1
- package/dist/session-names.js.map +0 -1
- package/dist/share-paths.d.ts.map +0 -1
- package/dist/share-paths.js.map +0 -1
- package/dist/shell-regions.d.ts.map +0 -1
- package/dist/shell-regions.js.map +0 -1
- package/dist/sse.d.ts.map +0 -1
- package/dist/sse.js.map +0 -1
- package/dist/starter.d.ts.map +0 -1
- package/dist/starter.js.map +0 -1
- package/dist/state-portability.d.ts.map +0 -1
- package/dist/state-portability.js.map +0 -1
- package/dist/terminal-protocol.d.ts.map +0 -1
- package/dist/terminal-protocol.js.map +0 -1
- package/dist/title.d.ts.map +0 -1
- package/dist/title.js.map +0 -1
- package/dist/transcript-fold.d.ts.map +0 -1
- package/dist/transcript-fold.js.map +0 -1
- package/dist/tunnel-ids.d.ts.map +0 -1
- package/dist/tunnel-ids.js.map +0 -1
- package/dist/versions.d.ts.map +0 -1
- package/dist/versions.js.map +0 -1
- package/dist/webext-links.d.ts.map +0 -1
- package/dist/webext-links.js.map +0 -1
- package/dist/webext-protocol.d.ts.map +0 -1
- package/dist/webext-protocol.js.map +0 -1
- package/dist/workflow-faults.d.ts.map +0 -1
- package/dist/workflow-faults.js.map +0 -1
- package/dist/workspace-state.d.ts.map +0 -1
- package/dist/workspace-state.js.map +0 -1
- package/src/agent-catalog.ts +0 -316
- package/src/agent-runtimes.ts +0 -419
- package/src/approvals-execution.ts +0 -96
- package/src/arrival.ts +0 -160
- package/src/batch-runs.ts +0 -188
- package/src/capability-ledger.test.ts +0 -140
- package/src/capability-secrets.ts +0 -20
- package/src/command-classes.ts +0 -617
- package/src/command-run.ts +0 -78
- package/src/contract-lock.test.ts +0 -23
- package/src/contract-lock.ts +0 -66
- package/src/conversation-ids.ts +0 -207
- package/src/credential-material.ts +0 -181
- package/src/definition.ts +0 -207
- package/src/documents.ts +0 -67
- package/src/embed.ts +0 -164
- package/src/events.ts +0 -1870
- package/src/fast-tier.ts +0 -72
- package/src/history-state.ts +0 -174
- package/src/host-protocol.ts +0 -36
- package/src/hostnames.ts +0 -180
- package/src/ingress-contract.ts +0 -157
- package/src/ingress-protocol.ts +0 -625
- package/src/listener-protocol.ts +0 -96
- package/src/mentions.ts +0 -25
- package/src/model-order.ts +0 -262
- package/src/model-pins.test.ts +0 -202
- package/src/model-pins.ts +0 -183
- package/src/model-roles.ts +0 -224
- package/src/needs-action.ts +0 -14
- package/src/output-fields.ts +0 -111
- package/src/overlay-lint.ts +0 -116
- package/src/path-refs.ts +0 -59
- package/src/peer-dial.ts +0 -163
- package/src/plan-pools.ts +0 -92
- package/src/prompt-complexity.ts +0 -334
- package/src/provider-specs.ts +0 -432
- package/src/request-id.ts +0 -41
- package/src/routes.ts +0 -219
- package/src/runner-protocol.ts +0 -239
- package/src/runtime-state.ts +0 -140
- package/src/safety-policy.test.ts +0 -88
- package/src/safety-policy.ts +0 -258
- package/src/schemas/context.ts +0 -87
- package/src/search-globs.ts +0 -76
- package/src/session-names.ts +0 -44
- package/src/share-paths.ts +0 -68
- package/src/shell-regions.ts +0 -289
- package/src/starter.ts +0 -13
- package/src/state-portability.ts +0 -56
- package/src/terminal-protocol.ts +0 -16
- package/src/title.ts +0 -267
- package/src/tunnel-ids.ts +0 -57
- package/src/versions.ts +0 -48
- package/src/webext-links.ts +0 -90
- package/src/webext-protocol.ts +0 -27
- package/src/workspace-state.ts +0 -1096
- /package/dist/{hostnames.d.ts → ids/hostnames.d.ts} +0 -0
- /package/dist/{hostnames.js → ids/hostnames.js} +0 -0
- /package/dist/{session-names.d.ts → ids/session-names.d.ts} +0 -0
- /package/dist/{session-names.js → ids/session-names.js} +0 -0
- /package/dist/{share-paths.d.ts → ids/share-paths.d.ts} +0 -0
- /package/dist/{share-paths.js → ids/share-paths.js} +0 -0
- /package/dist/{agent-catalog.js → models/agent-catalog.js} +0 -0
- /package/dist/{agent-runtimes.d.ts → models/agent-runtimes.d.ts} +0 -0
- /package/dist/{agent-runtimes.js → models/agent-runtimes.js} +0 -0
- /package/dist/{fast-tier.js → models/fast-tier.js} +0 -0
- /package/dist/{model-order.d.ts → models/model-order.d.ts} +0 -0
- /package/dist/{model-order.js → models/model-order.js} +0 -0
- /package/dist/{plan-pools.js → models/plan-pools.js} +0 -0
- /package/dist/{prompt-complexity.d.ts → models/prompt-complexity.d.ts} +0 -0
- /package/dist/{prompt-complexity.js → models/prompt-complexity.js} +0 -0
- /package/dist/{provider-specs.d.ts → models/provider-specs.d.ts} +0 -0
- /package/dist/{provider-specs.js → models/provider-specs.js} +0 -0
- /package/dist/{approvals-execution.d.ts → policy/approvals-execution.d.ts} +0 -0
- /package/dist/{approvals-execution.js → policy/approvals-execution.js} +0 -0
- /package/dist/{capability-env.d.ts → policy/capability-env.d.ts} +0 -0
- /package/dist/{capability-env.js → policy/capability-env.js} +0 -0
- /package/dist/{capability-secrets.d.ts → policy/capability-secrets.d.ts} +0 -0
- /package/dist/{capability-secrets.js → policy/capability-secrets.js} +0 -0
- /package/dist/{command-run.js → policy/command-run.js} +0 -0
- /package/dist/{credential-material.d.ts → policy/credential-material.d.ts} +0 -0
- /package/dist/{credential-material.js → policy/credential-material.js} +0 -0
- /package/dist/{needs-action.d.ts → policy/needs-action.d.ts} +0 -0
- /package/dist/{needs-action.js → policy/needs-action.js} +0 -0
- /package/dist/{output-fields.d.ts → policy/output-fields.d.ts} +0 -0
- /package/dist/{output-fields.js → policy/output-fields.js} +0 -0
- /package/dist/{overlay-lint.d.ts → policy/overlay-lint.d.ts} +0 -0
- /package/dist/{overlay-lint.js → policy/overlay-lint.js} +0 -0
- /package/dist/{owner-ticket.d.ts → policy/owner-ticket.d.ts} +0 -0
- /package/dist/{search-globs.d.ts → policy/search-globs.d.ts} +0 -0
- /package/dist/{search-globs.js → policy/search-globs.js} +0 -0
- /package/dist/{ingress-contract.d.ts → protocol/ingress-contract.d.ts} +0 -0
- /package/dist/{ingress-protocol.d.ts → protocol/ingress-protocol.d.ts} +0 -0
- /package/dist/{ingress-protocol.js → protocol/ingress-protocol.js} +0 -0
- /package/dist/{listener-protocol.d.ts → protocol/listener-protocol.d.ts} +0 -0
- /package/dist/{peer-mcp-server.d.ts → protocol/peer-mcp-server.d.ts} +0 -0
- /package/dist/{peer-mcp-server.js → protocol/peer-mcp-server.js} +0 -0
- /package/dist/{request-id.d.ts → protocol/request-id.d.ts} +0 -0
- /package/dist/{request-id.js → protocol/request-id.js} +0 -0
- /package/dist/{routes.d.ts → protocol/routes.d.ts} +0 -0
- /package/dist/{routes.js → protocol/routes.js} +0 -0
- /package/dist/{sse.d.ts → protocol/sse.d.ts} +0 -0
- /package/dist/{sse.js → protocol/sse.js} +0 -0
- /package/dist/{terminal-protocol.js → protocol/terminal-protocol.js} +0 -0
- /package/dist/{webext-links.d.ts → protocol/webext-links.d.ts} +0 -0
- /package/dist/{webext-links.js → protocol/webext-links.js} +0 -0
- /package/dist/{arrival.d.ts → state/arrival.d.ts} +0 -0
- /package/dist/{contract-lock.d.ts → state/contract-lock.d.ts} +0 -0
- /package/dist/{history-state.d.ts → state/history-state.d.ts} +0 -0
- /package/dist/{runtime-state.d.ts → state/runtime-state.d.ts} +0 -0
- /package/dist/{runtime-state.js → state/runtime-state.js} +0 -0
- /package/dist/{starter.d.ts → state/starter.d.ts} +0 -0
- /package/dist/{starter.js → state/starter.js} +0 -0
- /package/dist/{state-portability.d.ts → state/state-portability.d.ts} +0 -0
- /package/dist/{state-portability.js → state/state-portability.js} +0 -0
- /package/dist/{versions.d.ts → state/versions.d.ts} +0 -0
- /package/dist/{versions.js → state/versions.js} +0 -0
- /package/dist/{embed.d.ts → text/embed.d.ts} +0 -0
- /package/dist/{embed.js → text/embed.js} +0 -0
- /package/dist/{mentions.d.ts → text/mentions.d.ts} +0 -0
- /package/dist/{mentions.js → text/mentions.js} +0 -0
- /package/dist/{path-refs.d.ts → text/path-refs.d.ts} +0 -0
- /package/dist/{path-refs.js → text/path-refs.js} +0 -0
- /package/dist/{shell-regions.js → text/shell-regions.js} +0 -0
- /package/dist/{title.d.ts → text/title.d.ts} +0 -0
- /package/dist/{title.js → text/title.js} +0 -0
- /package/src/{hostnames.test.ts → ids/hostnames.test.ts} +0 -0
- /package/src/{share-paths.test.ts → ids/share-paths.test.ts} +0 -0
- /package/src/{capability-env.ts → policy/capability-env.ts} +0 -0
- /package/src/{overlay-lint.test.ts → policy/overlay-lint.test.ts} +0 -0
- /package/src/{search-globs.test.ts → policy/search-globs.test.ts} +0 -0
- /package/src/{ingress-contract.test.ts → protocol/ingress-contract.test.ts} +0 -0
- /package/src/{peer-mcp-server.test.ts → protocol/peer-mcp-server.test.ts} +0 -0
- /package/src/{sse.ts → protocol/sse.ts} +0 -0
- /package/src/{versions.test.ts → state/versions.test.ts} +0 -0
- /package/src/{embed.test.ts → text/embed.test.ts} +0 -0
- /package/src/{mentions.test.ts → text/mentions.test.ts} +0 -0
- /package/src/{path-refs.test.ts → text/path-refs.test.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { eventIterator, oc } from "@orpc/contract";
|
|
2
|
-
import { IntenticLineSchema } from "../events.js";
|
|
2
|
+
import { IntenticLineSchema } from "../events/system-events.js";
|
|
3
3
|
import {
|
|
4
4
|
CapabilitiesListSchema,
|
|
5
5
|
CapabilityCardParamSchema,
|
|
@@ -16,18 +16,8 @@ import {
|
|
|
16
16
|
import { MarketplaceRequestSchema, MarketplaceSchema } from "../schemas/marketplace.js";
|
|
17
17
|
import { OkSchema } from "../schemas/shared.js";
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
* STREAMS its apply (devops scaffolding / service provisioning emit ndjson progress; mcp/integration emit a
|
|
22
|
-
* terminal frame), mirroring the /intentic runner. `remove` tears it down (devops refuses, deleting the repos
|
|
23
|
-
* is data loss). `status` re-probes a single capability for a lazy UI refresh. `marketplace` resolves a Claude
|
|
24
|
-
* Code plugin marketplace repo into installable plugin-capability configs.
|
|
25
|
-
*
|
|
26
|
-
* `add` IS ALSO THE EDIT, because the write is an upsert: the same id with a changed config changes that
|
|
27
|
-
* connection. A caller editing one has never been shown its credentials, so it sends VAULTED
|
|
28
|
-
* (capability-secrets.ts) for each it is leaving alone and the daemon resolves those from what is stored before
|
|
29
|
-
* anything runs, the only way to change one setting on a tunnel without re-typing its key. A marker with
|
|
30
|
-
* nothing behind it is refused rather than written. */
|
|
19
|
+
// The sandbox's unified capability manifest, spanning `list`/`add`/`remove`/`status`/`marketplace`. A VAULTED marker
|
|
20
|
+
// with nothing stored behind it is refused rather than silently written.
|
|
31
21
|
export const capabilitiesContract = {
|
|
32
22
|
list: oc
|
|
33
23
|
.route({
|
|
@@ -48,11 +38,7 @@ export const capabilitiesContract = {
|
|
|
48
38
|
})
|
|
49
39
|
.input(CapabilitySchema)
|
|
50
40
|
.output(eventIterator(IntenticLineSchema)),
|
|
51
|
-
|
|
52
|
-
* service the way the connection would and hands back what it said. It exists because the alternative is
|
|
53
|
-
* the form's only feedback being the card afterwards reading "not connected", which names none of the six
|
|
54
|
-
* answers that could have been wrong. A credential the caller is keeping arrives as VAULTED here too, so
|
|
55
|
-
* an edit can be tested without re-typing a key. */
|
|
41
|
+
// A credential the caller is keeping arrives as VAULTED here too, so an edit can be tested without retyping a key.
|
|
56
42
|
probe: oc
|
|
57
43
|
.route({
|
|
58
44
|
method: "POST",
|
|
@@ -73,10 +59,6 @@ export const capabilitiesContract = {
|
|
|
73
59
|
})
|
|
74
60
|
.input(CapabilityIdParamSchema)
|
|
75
61
|
.output(OkSchema),
|
|
76
|
-
/* Give a connection a different name, carrying what the old one keyed: a browser profile with its logins,
|
|
77
|
-
* a connected machine's enrollment, an extension's checkout. The name is the agent's handle for the thing,
|
|
78
|
-
* so this is a migration, add + remove would lose exactly the state that makes the connection worth
|
|
79
|
-
* keeping. A kind whose name is part of what it IS (the scaffolders, the one-per-sandbox cards) refuses. */
|
|
80
62
|
rename: oc
|
|
81
63
|
.route({
|
|
82
64
|
method: "POST",
|
|
@@ -87,7 +69,7 @@ export const capabilitiesContract = {
|
|
|
87
69
|
})
|
|
88
70
|
.input(CapabilityRenameSchema)
|
|
89
71
|
.output(OkSchema),
|
|
90
|
-
//
|
|
72
|
+
// Called by the /secrets page's edit action.
|
|
91
73
|
setSecret: oc
|
|
92
74
|
.route({
|
|
93
75
|
method: "POST",
|
|
@@ -106,11 +88,7 @@ export const capabilitiesContract = {
|
|
|
106
88
|
})
|
|
107
89
|
.input(CapabilityIdParamSchema)
|
|
108
90
|
.output(CapabilityStatusSchema),
|
|
109
|
-
|
|
110
|
-
* connected capability (ext-deployments reads its Komodo's key pair through this). Never a browser's: the
|
|
111
|
-
* handler refuses any caller with a member identity, so only the daemon's header grants reach it, and an
|
|
112
|
-
* extension's grant reaches it only when its manifest declares the route in `permissions.daemon`, which
|
|
113
|
-
* is the install dialog saying, in one line, "this extension can read connected credentials". */
|
|
91
|
+
// Gated by `permissions.daemon` in the manifest (ext-deployments reads its Komodo key pair this way).
|
|
114
92
|
connection: oc
|
|
115
93
|
.route({
|
|
116
94
|
method: "GET",
|
|
@@ -130,8 +108,6 @@ export const capabilitiesContract = {
|
|
|
130
108
|
})
|
|
131
109
|
.input(MarketplaceRequestSchema)
|
|
132
110
|
.output(MarketplaceSchema),
|
|
133
|
-
// "Not needed": stop offering this card until the workspace evidence behind it changes. Nothing is torn
|
|
134
|
-
// down and nothing is remembered about the card itself, only the evidence it was declined against.
|
|
135
111
|
dismiss: oc
|
|
136
112
|
.route({
|
|
137
113
|
method: "DELETE",
|
|
@@ -142,8 +118,7 @@ export const capabilitiesContract = {
|
|
|
142
118
|
})
|
|
143
119
|
.input(CapabilityCardParamSchema)
|
|
144
120
|
.output(OkSchema),
|
|
145
|
-
//
|
|
146
|
-
// session the user types into, device-code sign-in flows. Returns the session the panel attaches to.
|
|
121
|
+
// Runs the capability's declared `loginCommand` in the terminal session the panel attaches to.
|
|
147
122
|
login: oc
|
|
148
123
|
.route({
|
|
149
124
|
method: "POST",
|
|
@@ -154,9 +129,7 @@ export const capabilitiesContract = {
|
|
|
154
129
|
})
|
|
155
130
|
.input(CapabilityIdParamSchema)
|
|
156
131
|
.output(CapabilityLoginSchema),
|
|
157
|
-
//
|
|
158
|
-
// read the agent token is admitted to (see auth/grants): a code expires within its period and never reveals
|
|
159
|
-
// the seed, so the in-sandbox `otp` command can answer a 2FA prompt without the agent holding the factor.
|
|
132
|
+
// The seed comes from the config field the card marks `totp`.
|
|
160
133
|
otp: oc
|
|
161
134
|
.route({
|
|
162
135
|
method: "GET",
|
|
@@ -2,18 +2,10 @@ import { oc } from "@orpc/contract";
|
|
|
2
2
|
import { ChoreLedgerWriteSchema, ChoreProbeRequestSchema, ChoresReportSchema } from "../schemas/maintenance.js";
|
|
3
3
|
import { OkSchema } from "../schemas/shared.js";
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* measurement to be retaken, and record what a turn concluded.
|
|
8
|
-
*
|
|
9
|
-
* There is no `GET /chores/{id}` and no "run this chore" route on purpose. A chore RUN is an ordinary isolated
|
|
10
|
-
* fleet agent (`POST /agent` with a derived conversation id), the same as an acceptance run or a documentation
|
|
11
|
-
* generation, so the worktree, the live status, the cost, the transcript and the /agents/<id> page already
|
|
12
|
-
* exist, and adding a bespoke launcher here would be a second way to start a turn that has to be kept in step
|
|
13
|
-
* with the first. */
|
|
5
|
+
// Maintenance evidence across `list`/`probe`/`record`. No route runs a chore: a chore run is an ordinary isolated fleet
|
|
6
|
+
// agent (`POST /agent`), reusing its worktree, status, cost and transcript rather than duplicating a launcher here.
|
|
14
7
|
export const choresContract = {
|
|
15
|
-
//
|
|
16
|
-
// resident signals, the ledger, and the daemon's node version. The rail badge polls this; so does the panel.
|
|
8
|
+
// Polled by both the rail badge and the panel.
|
|
17
9
|
list: oc
|
|
18
10
|
.route({
|
|
19
11
|
method: "GET",
|
|
@@ -23,8 +15,6 @@ export const choresContract = {
|
|
|
23
15
|
"Every repo's standing evidence in one read: what the last measurement found and how old it is, the cheap signals that are always current, and what has already been decided about each.",
|
|
24
16
|
})
|
|
25
17
|
.output(ChoresReportSchema),
|
|
26
|
-
// Re-run one repo's probe now, ignoring its TTL, the panel's per-probe refresh. An ack: the runner works in
|
|
27
|
-
// the background and the result arrives on the next `list`, because a jscpd sweep outlives any sane request.
|
|
28
18
|
probe: oc
|
|
29
19
|
.route({
|
|
30
20
|
method: "POST",
|
|
@@ -35,8 +25,7 @@ export const choresContract = {
|
|
|
35
25
|
})
|
|
36
26
|
.input(ChoreProbeRequestSchema)
|
|
37
27
|
.output(OkSchema),
|
|
38
|
-
//
|
|
39
|
-
// and a growing history of "we looked at this and it was fine" is not something any reader wants paged.
|
|
28
|
+
// Also how a snooze is recorded, upserted the same way as a verdict.
|
|
40
29
|
record: oc
|
|
41
30
|
.route({
|
|
42
31
|
method: "POST",
|
|
@@ -3,19 +3,11 @@ import { z } from "zod";
|
|
|
3
3
|
import { CapabilityIdParamSchema } from "../schemas/capabilities.js";
|
|
4
4
|
import { ModelsSchema } from "../schemas/provider-oauth.js";
|
|
5
5
|
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
// user-created and unbounded, so the id rides in the path. There is no seed floor and no static list: what a
|
|
9
|
-
// model API serves is knowable only by asking it, and an empty answer is the honest report that we could not.
|
|
6
|
+
// Endpoints are user-created and unbounded (unlike every other provider, which has one fixed catalog route), so the id
|
|
7
|
+
// rides in the path.
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* the catalog above because it answers a different question and changes on a different clock: the model list is
|
|
14
|
-
* a property of the upstream, while this is a property of the ACCOUNT and moves with every message sent.
|
|
15
|
-
*
|
|
16
|
-
* `available` false is the ordinary answer, not an error: most sandboxes run against a platform that serves no
|
|
17
|
-
* trial, and the picker simply has no trial row to badge.
|
|
18
|
-
*/
|
|
9
|
+
// The trial is an endpoint the daemon provisions rather than the user (TRIAL_ENDPOINT_ID); a separate read since
|
|
10
|
+
// this is a property of the account, moving with every message, not of the upstream model list.
|
|
19
11
|
const TrialHealthSchema = z.enum(["unknown", "healthy", "degraded", "unavailable"]);
|
|
20
12
|
export type TrialHealth = z.infer<typeof TrialHealthSchema>;
|
|
21
13
|
|
|
@@ -30,16 +22,7 @@ export const TrialStatusSchema = z.object({
|
|
|
30
22
|
resetsAt: z.string().optional(),
|
|
31
23
|
// Earliest known time a quarantined upstream key can be tried again.
|
|
32
24
|
retryAt: z.string().optional(),
|
|
33
|
-
|
|
34
|
-
*
|
|
35
|
-
* The trial routes per message across a ladder of models (the platform's trial-ladder.ts), so the id the
|
|
36
|
-
* user selected names the trial rather than what answered them. Telling them which model ran is what keeps
|
|
37
|
-
* that from being a black box: an answer that reads as weak has a visible cause, and a bug report can name
|
|
38
|
-
* the model instead of guessing at one.
|
|
39
|
-
*
|
|
40
|
-
* It arrives on the STATUS poll rather than in the turn's own stream because the translator sits between the
|
|
41
|
-
* platform and this daemon and does not forward response headers. The client refreshes this when a trial
|
|
42
|
-
* turn ends, so in practice it is the model that served the turn just finished. Absent until one has been. */
|
|
25
|
+
// The real model that served the last trial message; the published id only names the trial ladder.
|
|
43
26
|
servedModel: z.string().optional(),
|
|
44
27
|
});
|
|
45
28
|
export type TrialStatusResponse = z.infer<typeof TrialStatusSchema>;
|
|
@@ -1,24 +1,13 @@
|
|
|
1
1
|
import { eventIterator, oc } from "@orpc/contract";
|
|
2
|
-
import { IntenticLineSchema } from "../events.js";
|
|
2
|
+
import { IntenticLineSchema } from "../events/system-events.js";
|
|
3
3
|
import { ExitCountriesSchema, ExitIdParamSchema, ExitListSchema, ExitObservationSchema, ExitUseInputSchema } from "../schemas/exit.js";
|
|
4
4
|
import { OkSchema } from "../schemas/shared.js";
|
|
5
5
|
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
// operator from the capability card and by the agent through `exit` on its PATH, which calls these very routes.
|
|
10
|
-
//
|
|
11
|
-
// The difference from vpn is what "success" means. A dial succeeds when the tunnel is up; a country switch
|
|
12
|
-
// succeeds only when the egress ADDRESS has moved, which is why `use` and `rotate` end by fetching an
|
|
13
|
-
// ExitObservation through the exit's own proxy and fail when it does not agree with what was asked for.
|
|
14
|
-
//
|
|
15
|
-
// Nothing here changes the sandbox's default route, ever. Each exit publishes a SOCKS proxy and callers opt
|
|
16
|
-
// in; the daemon's own traffic, the model endpoint and the tunnel that makes this sandbox reachable stay on
|
|
17
|
-
// the plain uplink no matter what is up.
|
|
6
|
+
// An exit is added as an `exit` capability; started, moved and rotated here, since switching country is a
|
|
7
|
+
// runtime operation done both by the operator and by the agent's `exit` command on PATH. Each exit publishes an opt-in
|
|
8
|
+
// SOCKS proxy; the sandbox's default route, model endpoint and reachability tunnel never move.
|
|
18
9
|
export const exitContract = {
|
|
19
|
-
//
|
|
20
|
-
// Drives the capability card, the browser account picker and `geo list` (the CLI is `geo`: `exit` is a shell
|
|
21
|
-
// builtin, so a binary of that name is unreachable from a command line).
|
|
10
|
+
// Drives the capability card, the account picker and `geo list` (the CLI is `geo`; `exit` is a shell builtin).
|
|
22
11
|
list: oc
|
|
23
12
|
.route({
|
|
24
13
|
method: "GET",
|
|
@@ -28,9 +17,7 @@ export const exitContract = {
|
|
|
28
17
|
"Every configured exit with its live state, the country it was asked to appear in, and the country it actually appears in. Those last two disagreeing is the whole reason this reports both.",
|
|
29
18
|
})
|
|
30
19
|
.output(ExitListSchema),
|
|
31
|
-
//
|
|
32
|
-
// answers (Tor's directory, VPN Gate's CSV, the pasted confs), from the baked fallback when it does not,
|
|
33
|
-
// and `live` says which. This is what auto-fills the country picker instead of a user hunting hostnames.
|
|
20
|
+
// "Provider" is Tor's directory, VPN Gate's CSV, or pasted confs; this is what auto-fills the country picker.
|
|
34
21
|
countries: oc
|
|
35
22
|
.route({
|
|
36
23
|
method: "GET",
|
|
@@ -41,9 +28,6 @@ export const exitContract = {
|
|
|
41
28
|
})
|
|
42
29
|
.input(ExitIdParamSchema)
|
|
43
30
|
.output(ExitCountriesSchema),
|
|
44
|
-
// Bring the exit up at its stored country. Streams, because a first start pulls a catalog, brings up a
|
|
45
|
-
// tunnel and then verifies the address, which is tens of seconds on the free providers and can fail at
|
|
46
|
-
// each step with something the user has to read. Idempotent: starting an up exit reports it and stops.
|
|
47
31
|
start: oc
|
|
48
32
|
.route({
|
|
49
33
|
method: "POST",
|
|
@@ -54,9 +38,6 @@ export const exitContract = {
|
|
|
54
38
|
})
|
|
55
39
|
.input(ExitIdParamSchema)
|
|
56
40
|
.output(eventIterator(IntenticLineSchema)),
|
|
57
|
-
// Move to another country, starting the exit first if it was down. Streams for the same reason as start,
|
|
58
|
-
// and THROWS when the observed country does not end up matching: a switch that silently left traffic where
|
|
59
|
-
// it was is the one failure mode this whole feature exists to make impossible.
|
|
60
41
|
use: oc
|
|
61
42
|
.route({
|
|
62
43
|
method: "POST",
|
|
@@ -67,8 +48,7 @@ export const exitContract = {
|
|
|
67
48
|
})
|
|
68
49
|
.input(ExitUseInputSchema)
|
|
69
50
|
.output(eventIterator(IntenticLineSchema)),
|
|
70
|
-
//
|
|
71
|
-
// server on the rest. Fails when the address does not actually change, which on a small pool it can't.
|
|
51
|
+
// Cheap on tor (a control-port signal); a re-dial to another server for everything else.
|
|
72
52
|
rotate: oc
|
|
73
53
|
.route({
|
|
74
54
|
method: "POST",
|
|
@@ -79,8 +59,6 @@ export const exitContract = {
|
|
|
79
59
|
})
|
|
80
60
|
.input(ExitIdParamSchema)
|
|
81
61
|
.output(eventIterator(IntenticLineSchema)),
|
|
82
|
-
// What the world sees through this exit right now. Cheap, unstreamed, and the honest answer to "am I
|
|
83
|
-
// actually in Germany", which is the question every other route here is judged against.
|
|
84
62
|
check: oc
|
|
85
63
|
.route({
|
|
86
64
|
method: "POST",
|
|
@@ -91,7 +69,6 @@ export const exitContract = {
|
|
|
91
69
|
})
|
|
92
70
|
.input(ExitIdParamSchema)
|
|
93
71
|
.output(ExitObservationSchema),
|
|
94
|
-
// Take it down. Tolerates an already-down exit: "make it not be up" is the contract, not "it was up".
|
|
95
72
|
stop: oc
|
|
96
73
|
.route({
|
|
97
74
|
method: "POST",
|
|
@@ -19,10 +19,8 @@ import {
|
|
|
19
19
|
import { ExtensionReadinessSchema } from "../schemas/maintenance.js";
|
|
20
20
|
import { OkSchema } from "../schemas/shared.js";
|
|
21
21
|
|
|
22
|
-
// Installed extensions resolved to their approved manifests
|
|
23
|
-
//
|
|
24
|
-
// `settings`/`setSettings` carry the extension's own contributes.settings values; keys the manifest never
|
|
25
|
-
// declared are refused, the same honesty rule the host applies to runtime view/command registrations.
|
|
22
|
+
// Installed extensions resolved to their approved manifests. The bundle itself is a plain Hono route, `GET
|
|
23
|
+
// /extensions/{id}/bundle`, not part of this oRPC contract: raw ESM bytes aren't a JSON payload.
|
|
26
24
|
export const extensionsContract = {
|
|
27
25
|
list: oc
|
|
28
26
|
.route({
|
|
@@ -33,9 +31,7 @@ export const extensionsContract = {
|
|
|
33
31
|
"Every extension installed here, resolved to the manifest the owner approved, which is what the app boots its extension host from. The code itself is served separately, because raw script bytes are not a JSON answer.",
|
|
34
32
|
})
|
|
35
33
|
.output(ExtensionsListSchema),
|
|
36
|
-
//
|
|
37
|
-
// creating route here, and it exists because that directory is otherwise reachable exclusively through an
|
|
38
|
-
// agent's file tools, which is a fine way to CHANGE an extension and a poor way to meet the idea of one.
|
|
34
|
+
// Writes into `.intentic/config/workspace-extensions/<name>/`.
|
|
39
35
|
create: oc
|
|
40
36
|
.route({
|
|
41
37
|
method: "POST",
|
|
@@ -65,9 +61,7 @@ export const extensionsContract = {
|
|
|
65
61
|
})
|
|
66
62
|
.input(ExtensionSettingsInputSchema)
|
|
67
63
|
.output(OkSchema),
|
|
68
|
-
// The
|
|
69
|
-
// plugin dir and PATH entry are rebuilt per turn, and an `environment` fragment only at the next image
|
|
70
|
-
// rebuild, the Extensions tab states which of those an extension actually has.
|
|
64
|
+
// The Extensions tab states which of these apply to a given extension.
|
|
71
65
|
setEnabled: oc
|
|
72
66
|
.route({
|
|
73
67
|
method: "POST",
|
|
@@ -78,10 +72,7 @@ export const extensionsContract = {
|
|
|
78
72
|
})
|
|
79
73
|
.input(ExtensionEnabledInputSchema)
|
|
80
74
|
.output(OkSchema),
|
|
81
|
-
// The
|
|
82
|
-
// the permission gate runs (apiImpl.ts), the daemon sees an extension's traffic as ordinary authenticated
|
|
83
|
-
// requests and cannot tell which extension, or which declared entry, any of it belongs to. Every extension's
|
|
84
|
-
// accumulated counts ride together so the bookkeeping is one request rather than a burst of them.
|
|
75
|
+
// The permission gate that produces these counts runs in the browser (apiImpl.ts).
|
|
85
76
|
recordUsage: oc
|
|
86
77
|
.route({
|
|
87
78
|
method: "POST",
|
|
@@ -92,9 +83,6 @@ export const extensionsContract = {
|
|
|
92
83
|
})
|
|
93
84
|
.input(ExtensionUsageBatchSchema)
|
|
94
85
|
.output(OkSchema),
|
|
95
|
-
/* Whether this extension is fit for somebody else to run, the checks answerable from its files alone. Read
|
|
96
|
-
* on demand rather than carried on the list: it reads the bundle off disk per extension, and it is looked at
|
|
97
|
-
* when an author is about to publish, not every time the tab renders. */
|
|
98
86
|
readiness: oc
|
|
99
87
|
.route({
|
|
100
88
|
method: "GET",
|
|
@@ -105,14 +93,8 @@ export const extensionsContract = {
|
|
|
105
93
|
})
|
|
106
94
|
.input(CapabilityIdParamSchema)
|
|
107
95
|
.output(ExtensionReadinessSchema),
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
* now (the tab's "check now"). `updatePreview` stages the offered sha and answers with the version story +
|
|
111
|
-
* the mechanical powers diff, the read BEFORE the click, costing one throwaway clone like a registry
|
|
112
|
-
* browse. `applyUpdate` is the transaction: re-clone, validate, quiesce, swap (keeping the outgoing
|
|
113
|
-
* checkout one back), restart, health-watch, on the EXISTING capability config, so a private-source token
|
|
114
|
-
* survives what a bare re-add would lose. `revert` swaps the kept-previous checkout back. Update and revert
|
|
115
|
-
* change the code that runs, so like install they are owner-only. */
|
|
96
|
+
// The extensions list itself carries what the periodic registry check found (update/advisory/health per row); these
|
|
97
|
+
// routes are the verbs around it.
|
|
116
98
|
checkUpdates: oc
|
|
117
99
|
.route({
|
|
118
100
|
method: "POST",
|
|
@@ -151,8 +133,6 @@ export const extensionsContract = {
|
|
|
151
133
|
})
|
|
152
134
|
.input(CapabilityIdParamSchema)
|
|
153
135
|
.output(ExtensionUpdateAppliedSchema),
|
|
154
|
-
// The owner's standing answer per extension (notify / agent / auto, and the advisory opt-out), see
|
|
155
|
-
// ExtensionUpdatePolicySchema for what each rung means.
|
|
156
136
|
setUpdatePolicy: oc
|
|
157
137
|
.route({
|
|
158
138
|
method: "POST",
|
|
@@ -163,9 +143,7 @@ export const extensionsContract = {
|
|
|
163
143
|
})
|
|
164
144
|
.input(ExtensionUpdatePolicyInputSchema)
|
|
165
145
|
.output(OkSchema),
|
|
166
|
-
// Declared
|
|
167
|
-
// with backoff, PORT-assigned, one log file each — the terminals list carries their `svc-ext-<id>-<name>`
|
|
168
|
-
// log-view rows), with an optional tunneled preview route.
|
|
146
|
+
// Declared via `contributes.processes`; the terminals list shows each one's log as `svc-ext-<id>-<name>`.
|
|
169
147
|
processStatus: oc
|
|
170
148
|
.route({
|
|
171
149
|
method: "GET",
|
|
@@ -12,9 +12,9 @@ import {
|
|
|
12
12
|
GitFileSchema,
|
|
13
13
|
GitFilesSchema,
|
|
14
14
|
GitFileWriteSchema,
|
|
15
|
+
GitIndexMoveSchema,
|
|
15
16
|
GitOperationStateSchema,
|
|
16
17
|
GitRemoteStateSchema,
|
|
17
|
-
GitStageSchema,
|
|
18
18
|
GitStatusSchema,
|
|
19
19
|
PushRunSchema,
|
|
20
20
|
PushSchema,
|
|
@@ -48,10 +48,9 @@ import {
|
|
|
48
48
|
import { FileDiffSchema } from "../schemas/history.js";
|
|
49
49
|
import { OkSchema, RepoParamSchema } from "../schemas/shared.js";
|
|
50
50
|
|
|
51
|
-
// Per-repo git ops over the workspace repos
|
|
52
|
-
//
|
|
53
|
-
//
|
|
54
|
-
// Changes panel renders; commit/discard take optional `paths` for per-file actions.
|
|
51
|
+
// Per-repo git ops over the workspace repos; `root` is /work, others are discovered under it, and {repo} is the
|
|
52
|
+
// root-relative dir, URL-encoded. Unknown {repo} throws NOT_FOUND, an escaping path throws BAD_REQUEST. `changes` is
|
|
53
|
+
// the workspace-wide review set; commit/discard take optional `paths`.
|
|
55
54
|
export const gitContract = {
|
|
56
55
|
changes: oc
|
|
57
56
|
.route({
|
|
@@ -62,9 +61,7 @@ export const gitContract = {
|
|
|
62
61
|
"The workspace's whole review set in one answer: every repo that has something uncommitted, and within it every changed file with its status and line counts. This is what the Changes panel draws, and it is the call to make when you want to know whether a workspace is clean without walking the repos yourself.",
|
|
63
62
|
})
|
|
64
63
|
.output(GitChangesSchema),
|
|
65
|
-
//
|
|
66
|
-
// one repo's commit log, and lazy per-commit detail (changed files, then a file's before/after AT the
|
|
67
|
-
// commit). Read-only, commit/discard on the working tree stay the write path (above).
|
|
64
|
+
// Read-only: repo list, commit log, lazy per-commit diff; commit/discard on the tree are a separate write path.
|
|
68
65
|
repos: oc
|
|
69
66
|
.route({
|
|
70
67
|
method: "GET",
|
|
@@ -74,8 +71,7 @@ export const gitContract = {
|
|
|
74
71
|
"The repos the daemon found under the workspace root, each with the id every other call in this group expects as its `{repo}` segment. The workspace root itself is always present as `root`.",
|
|
75
72
|
})
|
|
76
73
|
.output(GitReposSchema),
|
|
77
|
-
//
|
|
78
|
-
// list of `owner/name` strings that came from somewhere else. Kept off `repos` (a `git remote -v` per repo).
|
|
74
|
+
// Same repos with the remote's host and `owner/name`; kept off `repos` since it costs a lookup per repo.
|
|
79
75
|
remoteRepos: oc
|
|
80
76
|
.route({
|
|
81
77
|
method: "GET",
|
|
@@ -115,13 +111,8 @@ export const gitContract = {
|
|
|
115
111
|
})
|
|
116
112
|
.input(GitCommitFileDiffQuerySchema)
|
|
117
113
|
.output(FileDiffSchema),
|
|
118
|
-
//
|
|
119
|
-
//
|
|
120
|
-
// GitActionResult so a conflict/clean-apply failure is a value, not a 500. Read routes above.
|
|
121
|
-
/* The halted-operation pair. `operation` is a READ every git surface can use to explain a worktree it cannot
|
|
122
|
-
* otherwise act on; `abort` is the single way out, and it is git's own `--abort` rather than anything
|
|
123
|
-
* clever. Neither is reachable from the daemon's own verbs, those abort themselves, so this exists purely
|
|
124
|
-
* for what a terminal left behind. */
|
|
114
|
+
// Non-destructive writes return Ok; HEAD-moving ops return a GitActionResult, a conflict is a value not 500.
|
|
115
|
+
// `abort` is git's own `--abort`, the only way out of what `operation` reports; daemon verbs self-abort.
|
|
125
116
|
operation: oc
|
|
126
117
|
.route({
|
|
127
118
|
method: "GET",
|
|
@@ -142,10 +133,7 @@ export const gitContract = {
|
|
|
142
133
|
})
|
|
143
134
|
.input(RepoParamSchema)
|
|
144
135
|
.output(GitActionResultSchema),
|
|
145
|
-
|
|
146
|
-
* complement to the Checkpoints timeline, not a duplicate of it: a checkpoint restores the working tree,
|
|
147
|
-
* this moves the ref. The read carries `previousSha`, which the write sends back as a concurrency token,
|
|
148
|
-
* an undo prepared against a stale view is refused rather than landing somewhere unlooked-at. */
|
|
136
|
+
// Moves the branch ref via reflog; requires `previousSha` from the matching read as a concurrency token.
|
|
149
137
|
undoable: oc
|
|
150
138
|
.route({
|
|
151
139
|
method: "GET",
|
|
@@ -166,9 +154,7 @@ export const gitContract = {
|
|
|
166
154
|
})
|
|
167
155
|
.input(GitUndoSchema)
|
|
168
156
|
.output(GitActionResultSchema),
|
|
169
|
-
|
|
170
|
-
* because a stash entry is a commit and the graph renders it as one. The writes are git's own four verbs;
|
|
171
|
-
* only `drop` is unrecoverable, and the route checkpoints before it. */
|
|
157
|
+
// A stash entry is a commit, read like the log/diff pair; only `drop` is unrecoverable and checkpoints first.
|
|
172
158
|
stashes: oc
|
|
173
159
|
.route({
|
|
174
160
|
method: "GET",
|
|
@@ -237,7 +223,6 @@ export const gitContract = {
|
|
|
237
223
|
})
|
|
238
224
|
.input(GitTagCreateSchema)
|
|
239
225
|
.output(OkSchema),
|
|
240
|
-
// The other two things one does with a tag, so the graph's tag pills are not a create-only affordance.
|
|
241
226
|
deleteTag: oc
|
|
242
227
|
.route({
|
|
243
228
|
method: "POST",
|
|
@@ -353,7 +338,7 @@ export const gitContract = {
|
|
|
353
338
|
path: "/git/{repo}/commit",
|
|
354
339
|
summary: "Commit the pending changes",
|
|
355
340
|
description:
|
|
356
|
-
"Records a commit with your message.
|
|
341
|
+
"Records a commit with your message. It commits whatever is staged; add `stage` to stage something first — an empty object for everything pending, or a scope such as one side or one conversation's landed files. The answer carries the commit it created.",
|
|
357
342
|
})
|
|
358
343
|
.input(CommitSchema)
|
|
359
344
|
.output(CommitResultSchema),
|
|
@@ -363,33 +348,32 @@ export const gitContract = {
|
|
|
363
348
|
path: "/git/{repo}/discard",
|
|
364
349
|
summary: "Throw away pending changes",
|
|
365
350
|
description:
|
|
366
|
-
"Restores files to their committed state and deletes untracked ones.
|
|
351
|
+
"Restores files to their committed state and deletes untracked ones. Name paths or a scope to narrow it; with neither it throws away every uncommitted change in the repository. The daemon checkpoints the workspace first, so this is recoverable from the timeline.",
|
|
367
352
|
})
|
|
368
353
|
.input(DiscardSchema)
|
|
369
354
|
.output(OkSchema),
|
|
370
|
-
//
|
|
371
|
-
// git's own error (an unmatched pathspec) propagates.
|
|
355
|
+
// Take a scope, not a path list, so it covers files the caller never enumerated; the worktree is untouched.
|
|
372
356
|
stage: oc
|
|
373
357
|
.route({
|
|
374
358
|
method: "POST",
|
|
375
359
|
path: "/git/{repo}/stage",
|
|
376
|
-
summary: "Mark
|
|
377
|
-
description:
|
|
360
|
+
summary: "Mark changes for the next commit",
|
|
361
|
+
description:
|
|
362
|
+
"Adds changes to the index: exactly the paths you name, everything a scope describes, or the whole repository when you name neither. Nothing on disk changes, so this is always safe and always reversible with the unstage call.",
|
|
378
363
|
})
|
|
379
|
-
.input(
|
|
364
|
+
.input(GitIndexMoveSchema)
|
|
380
365
|
.output(OkSchema),
|
|
381
366
|
unstage: oc
|
|
382
367
|
.route({
|
|
383
368
|
method: "POST",
|
|
384
369
|
path: "/git/{repo}/unstage",
|
|
385
|
-
summary: "Take
|
|
386
|
-
description:
|
|
370
|
+
summary: "Take changes back out of the next commit",
|
|
371
|
+
description:
|
|
372
|
+
"Removes changes from the index and leaves the files themselves untouched, on the same terms as staging. The exact reverse of it.",
|
|
387
373
|
})
|
|
388
|
-
.input(
|
|
374
|
+
.input(GitIndexMoveSchema)
|
|
389
375
|
.output(OkSchema),
|
|
390
|
-
//
|
|
391
|
-
// is enough to render sync state without a call per branch. Checkout is above (it moves HEAD, so it is
|
|
392
|
-
// checkpointed with the other HEAD-movers).
|
|
376
|
+
// `branches` includes per-branch ahead/behind, so the switcher renders sync state without a call per branch.
|
|
393
377
|
branches: oc
|
|
394
378
|
.route({
|
|
395
379
|
method: "GET",
|
|
@@ -420,9 +404,7 @@ export const gitContract = {
|
|
|
420
404
|
})
|
|
421
405
|
.input(GitBranchDeleteSchema)
|
|
422
406
|
.output(OkSchema),
|
|
423
|
-
//
|
|
424
|
-
// non-fast-forwardable pull are ORDINARY outcomes the panel renders, not 500s. `remote` is the read
|
|
425
|
-
// (ahead/behind as of the last fetch, hence the Fetch button) the sync bar polls.
|
|
407
|
+
// Reflects the last fetch, not a live check; writes below report a GitActionResult, not a throw, on failure.
|
|
426
408
|
remote: oc
|
|
427
409
|
.route({
|
|
428
410
|
method: "GET",
|
|
@@ -453,11 +435,7 @@ export const gitContract = {
|
|
|
453
435
|
})
|
|
454
436
|
.input(RepoParamSchema)
|
|
455
437
|
.output(GitActionResultSchema),
|
|
456
|
-
|
|
457
|
-
* a push runs the repository's own pre-push hook, which for a workspace with a real gate is the whole suite,
|
|
458
|
-
* and a request held open for minutes dies at the first proxy and at the browser's own header deadline. So
|
|
459
|
-
* `push` starts it and answers at once, `pushState` is polled for the verdict, and the output is a terminal
|
|
460
|
-
* the owner can watch. Addressed by repo, unlike the check: there is one working tree but many remotes. */
|
|
438
|
+
// Starts the push and returns at once; poll `pushState` for the verdict, since it runs the pre-push hook.
|
|
461
439
|
push: oc
|
|
462
440
|
.route({
|
|
463
441
|
method: "POST",
|
|
@@ -516,9 +494,7 @@ export const gitContract = {
|
|
|
516
494
|
})
|
|
517
495
|
.input(GitFileWriteSchema)
|
|
518
496
|
.output(OkSchema),
|
|
519
|
-
//
|
|
520
|
-
// same reason the remote trio above does: no remote, no credentials and "you are on a side branch" are
|
|
521
|
-
// ordinary outcomes a screen renders, not 500s.
|
|
497
|
+
// Writes, commits only this path, and pushes in one call; no remote, no credentials, wrong branch are reported.
|
|
522
498
|
publishFile: oc
|
|
523
499
|
.route({
|
|
524
500
|
method: "POST",
|
|
@@ -5,55 +5,20 @@ import { HostScopesSchema } from "../schemas/capabilities.js";
|
|
|
5
5
|
import { HostFactsSchema } from "../schemas/hosts.js";
|
|
6
6
|
import { OkSchema } from "../schemas/shared.js";
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* the machine is the side that dialled. A personal device sits behind NAT with a closing lid, so it can only
|
|
12
|
-
* ever be the one that connects, but everything is asked OF it. oRPC's websocket adapter takes any socket-like
|
|
13
|
-
* object on either side, so the roles are free to be the opposite of who placed the call.
|
|
14
|
-
*
|
|
15
|
-
* No `.route()` on these: HTTP method and path are for the daemon's own REST surface, and this contract never
|
|
16
|
-
* touches HTTP. The procedure path IS the address.
|
|
17
|
-
*
|
|
18
|
-
* `mcp` IS THE DELIBERATE HOLE in the typing, and it is worth understanding before someone "fixes" it. The agent
|
|
19
|
-
* talks to a machine in MCP, over the daemon's loopback bridge; if this contract described each tool, then the
|
|
20
|
-
* daemon would have to know every tool's schema and translate, and a machine could no longer learn a tool
|
|
21
|
-
* without a matching daemon release. Keeping one opaque procedure is what buys the machine an independent
|
|
22
|
-
* release cycle. The payload is still validated where it is understood: on the machine, against the tool's own
|
|
23
|
-
* schema, and by the agent's MCP client on the way back. */
|
|
8
|
+
// What a connected device can be asked, over the socket it opened; the machine is the oRPC server, the daemon the
|
|
9
|
+
// client. No `.route()`: the procedure path is the address, not HTTP. `mcp` stays opaque (`z.unknown()`) so a machine
|
|
10
|
+
// can add tools without a daemon release; validated on the machine and by the agent's MCP client.
|
|
24
11
|
export const hostContract = {
|
|
25
|
-
//
|
|
26
|
-
// it fresh. The card shows it, and the agent's skill pack is written against it.
|
|
12
|
+
// Device facts, refreshed on connect and on demand; the agent's skill pack is written against this shape.
|
|
27
13
|
describe: oc.output(HostFactsSchema),
|
|
28
|
-
//
|
|
29
|
-
// it; nothing on the sandbox side checks a scope, so this call is the only thing that moves the boundary.
|
|
14
|
+
// Pushed on connect and on edit; the machine enforces the grant, nothing on the sandbox side checks a scope.
|
|
30
15
|
setScopes: oc.input(HostScopesSchema).output(OkSchema),
|
|
31
|
-
//
|
|
32
|
-
// connection, and as the probe whose failure means the machine is gone rather than quiet.
|
|
16
|
+
// Daemon-driven liveness; doubles as keepalive against an idle tunnel and the gone-vs-quiet probe.
|
|
33
17
|
ping: oc.output(OkSchema),
|
|
34
|
-
// One MCP JSON-RPC message
|
|
18
|
+
// One MCP JSON-RPC message forwarded verbatim in both directions, unmodified.
|
|
35
19
|
mcp: oc.input(z.unknown()).output(z.unknown()),
|
|
36
|
-
|
|
37
|
-
*
|
|
38
|
-
* TYPED, unlike `mcp`, and the difference is who is on the other end. `mcp`'s reader is a model, which has
|
|
39
|
-
* nothing to do with a line as it arrives and everything to gain from the machine learning tools without a
|
|
40
|
-
* daemon release. This reader is a PERSON watching a progress log: an update pulls an image and recreates a
|
|
41
|
-
* container, which is minutes of silence unless the lines travel while they are produced. A stream is what
|
|
42
|
-
* the browser needs, and a stream is the one thing an MCP tool result cannot be.
|
|
43
|
-
*
|
|
44
|
-
* The scope is still checked here, on the machine, by the same functions the MCP tools call, this adds a
|
|
45
|
-
* way of WATCHING an operation, never a way of skipping the switch that permits it. */
|
|
20
|
+
// Streamed for a person watching progress; the scope is checked on the machine, this only adds visibility.
|
|
46
21
|
runSandboxFlow: oc.input(DeviceSandboxFlowSchema).output(eventIterator(DeviceFlowLineSchema)),
|
|
47
|
-
|
|
48
|
-
* cut off, because the work it starts stops the process serving it (see DeviceAgentFlowSchema).
|
|
49
|
-
*
|
|
50
|
-
* A TYPED PROCEDURE rather than another `run_command` line, and the reason is the failure mode rather than
|
|
51
|
-
* the typing: run through `run_command` this is a child of a process about to be SIGTERMed, and a swap
|
|
52
|
-
* interrupted between its two renames leaves the device with no agent binary at all. Here the agent spawns
|
|
53
|
-
* the work detached from the socket first, so nothing the daemon does to this stream can brick it.
|
|
54
|
-
*
|
|
55
|
-
* It takes "Run commands" — the same grant `run_command` takes, since this is literally a command its owner
|
|
56
|
-
* could type — rather than the sandbox switches, which are about containers. An agent too old to serve this
|
|
57
|
-
* procedure is a real answer too: the view falls back to naming the command, as it did before. */
|
|
22
|
+
// Spawns the work detached from the socket, so restarting the agent process cannot brick a swap in progress.
|
|
58
23
|
runAgentFlow: oc.input(DeviceAgentFlowSchema).output(eventIterator(DeviceFlowLineSchema)),
|
|
59
24
|
};
|