toolroll 0.5.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/LICENSE +21 -0
- package/README.md +1113 -0
- package/THIRD_PARTY_NOTICES.md +449 -0
- package/dist/accent-colors.d.ts +48 -0
- package/dist/accent-colors.js +122 -0
- package/dist/action-ledger.d.ts +26 -0
- package/dist/action-ledger.js +75 -0
- package/dist/agent-fence.d.ts +42 -0
- package/dist/agent-fence.js +183 -0
- package/dist/agentconfig.d.ts +216 -0
- package/dist/agentconfig.js +454 -0
- package/dist/api-tokens.d.ts +16 -0
- package/dist/api-tokens.js +27 -0
- package/dist/approval-policy.d.ts +69 -0
- package/dist/approval-policy.js +137 -0
- package/dist/approval-rules-ui.d.ts +25 -0
- package/dist/approval-rules-ui.js +39 -0
- package/dist/assignment-adapters.d.ts +180 -0
- package/dist/assignment-adapters.js +239 -0
- package/dist/assignment-brief.d.ts +71 -0
- package/dist/assignment-brief.js +129 -0
- package/dist/assignment-delivery.d.ts +56 -0
- package/dist/assignment-delivery.js +160 -0
- package/dist/assignment-presentation.d.ts +26 -0
- package/dist/assignment-presentation.js +80 -0
- package/dist/assignment-status.d.ts +62 -0
- package/dist/assignment-status.js +152 -0
- package/dist/assignment-ui.d.ts +71 -0
- package/dist/assignment-ui.js +103 -0
- package/dist/assignment.d.ts +222 -0
- package/dist/assignment.js +399 -0
- package/dist/attest.d.ts +56 -0
- package/dist/attest.js +153 -0
- package/dist/backend.d.ts +97 -0
- package/dist/backend.js +166 -0
- package/dist/backup-ui.d.ts +22 -0
- package/dist/backup-ui.js +59 -0
- package/dist/backup.d.ts +84 -0
- package/dist/backup.js +421 -0
- package/dist/beads.d.ts +34 -0
- package/dist/beads.js +135 -0
- package/dist/bin.d.ts +2 -0
- package/dist/bin.js +22 -0
- package/dist/board.d.ts +150 -0
- package/dist/board.js +210 -0
- package/dist/boot-identity.d.ts +63 -0
- package/dist/boot-identity.js +99 -0
- package/dist/browser/THIRD_PARTY_NOTICES.txt +2295 -0
- package/dist/browser/workspace.css +4 -0
- package/dist/browser/workspace.js +225 -0
- package/dist/browser-crew.d.ts +11 -0
- package/dist/browser-crew.js +50 -0
- package/dist/browser-shell.d.ts +8 -0
- package/dist/browser-shell.js +60 -0
- package/dist/browser-workspace.d.ts +780 -0
- package/dist/browser-workspace.js +47 -0
- package/dist/budget-alerts.d.ts +19 -0
- package/dist/budget-alerts.js +46 -0
- package/dist/builder.d.ts +370 -0
- package/dist/builder.js +3262 -0
- package/dist/capscan.d.ts +35 -0
- package/dist/capscan.js +113 -0
- package/dist/chat-acceptance.d.ts +71 -0
- package/dist/chat-acceptance.js +120 -0
- package/dist/chat-actions.d.ts +265 -0
- package/dist/chat-actions.js +1273 -0
- package/dist/chat-channel.d.ts +109 -0
- package/dist/chat-channel.js +652 -0
- package/dist/chat-continuity.d.ts +32 -0
- package/dist/chat-continuity.js +317 -0
- package/dist/chat-controls.d.ts +113 -0
- package/dist/chat-controls.js +53 -0
- package/dist/chat-delivery-state.d.ts +159 -0
- package/dist/chat-delivery-state.js +309 -0
- package/dist/chat-delivery.d.ts +38 -0
- package/dist/chat-delivery.js +693 -0
- package/dist/chat-display.d.ts +1 -0
- package/dist/chat-display.js +18 -0
- package/dist/chat-evidence.d.ts +123 -0
- package/dist/chat-evidence.js +207 -0
- package/dist/chat-flow.d.ts +44 -0
- package/dist/chat-flow.js +215 -0
- package/dist/chat-inbox.d.ts +57 -0
- package/dist/chat-inbox.js +123 -0
- package/dist/chat-polish.d.ts +16 -0
- package/dist/chat-polish.js +135 -0
- package/dist/chat-review.d.ts +46 -0
- package/dist/chat-review.js +98 -0
- package/dist/chat-rooms.d.ts +123 -0
- package/dist/chat-rooms.js +216 -0
- package/dist/chat-task-actions.d.ts +44 -0
- package/dist/chat-task-actions.js +79 -0
- package/dist/check-progress.d.ts +51 -0
- package/dist/check-progress.js +290 -0
- package/dist/child-database.d.ts +12 -0
- package/dist/child-database.js +30 -0
- package/dist/claim.d.ts +688 -0
- package/dist/claim.js +1740 -0
- package/dist/cli.d.ts +137 -0
- package/dist/cli.js +1461 -0
- package/dist/codex-limits.d.ts +15 -0
- package/dist/codex-limits.js +145 -0
- package/dist/coding-context.d.ts +55 -0
- package/dist/coding-context.js +92 -0
- package/dist/coding-handoff.d.ts +57 -0
- package/dist/coding-handoff.js +277 -0
- package/dist/coding-provider.d.ts +72 -0
- package/dist/coding-provider.js +424 -0
- package/dist/coding-shipping-ui.d.ts +4 -0
- package/dist/coding-shipping-ui.js +12 -0
- package/dist/coding-types.d.ts +62 -0
- package/dist/coding-types.js +1 -0
- package/dist/coding-ui.d.ts +17 -0
- package/dist/coding-ui.js +364 -0
- package/dist/coding-update.d.ts +15 -0
- package/dist/coding-update.js +149 -0
- package/dist/coding-workspace.d.ts +124 -0
- package/dist/coding-workspace.js +768 -0
- package/dist/container-state.d.ts +5 -0
- package/dist/container-state.js +62 -0
- package/dist/containment.d.ts +197 -0
- package/dist/containment.js +559 -0
- package/dist/contest.d.ts +318 -0
- package/dist/contest.js +753 -0
- package/dist/control-setup.d.ts +35 -0
- package/dist/control-setup.js +40 -0
- package/dist/control-ui.d.ts +29 -0
- package/dist/control-ui.js +53 -0
- package/dist/controller-service.d.ts +1 -0
- package/dist/controller-service.js +19 -0
- package/dist/controller-supervisor.d.ts +30 -0
- package/dist/controller-supervisor.js +104 -0
- package/dist/converse.d.ts +304 -0
- package/dist/converse.js +849 -0
- package/dist/coordinator-proposals.d.ts +29 -0
- package/dist/coordinator-proposals.js +137 -0
- package/dist/coordinator.d.ts +186 -0
- package/dist/coordinator.js +447 -0
- package/dist/credentials-ui.d.ts +25 -0
- package/dist/credentials-ui.js +48 -0
- package/dist/daemon.d.ts +209 -0
- package/dist/daemon.js +604 -0
- package/dist/decision.d.ts +120 -0
- package/dist/decision.js +388 -0
- package/dist/demo.d.ts +55 -0
- package/dist/demo.js +992 -0
- package/dist/desktop-access.d.ts +28 -0
- package/dist/desktop-access.js +88 -0
- package/dist/desktop-bundle.d.ts +16 -0
- package/dist/desktop-bundle.js +74 -0
- package/dist/desktop-host.d.ts +54 -0
- package/dist/desktop-host.js +508 -0
- package/dist/desktop-update-gate.d.ts +12 -0
- package/dist/desktop-update-gate.js +91 -0
- package/dist/desktop-update-recovery.d.ts +14 -0
- package/dist/desktop-update-recovery.js +243 -0
- package/dist/desktop-update.d.ts +110 -0
- package/dist/desktop-update.js +740 -0
- package/dist/discord-api.d.ts +20 -0
- package/dist/discord-api.js +138 -0
- package/dist/discord-chat.d.ts +16 -0
- package/dist/discord-chat.js +381 -0
- package/dist/discord-settings.d.ts +7 -0
- package/dist/discord-settings.js +75 -0
- package/dist/discord.d.ts +10 -0
- package/dist/discord.js +169 -0
- package/dist/discover.d.ts +75 -0
- package/dist/discover.js +150 -0
- package/dist/dispatch.d.ts +100 -0
- package/dist/dispatch.js +311 -0
- package/dist/dispose.d.ts +161 -0
- package/dist/dispose.js +803 -0
- package/dist/email-settings.d.ts +34 -0
- package/dist/email-settings.js +50 -0
- package/dist/envelope.d.ts +47 -0
- package/dist/envelope.js +105 -0
- package/dist/evidence-pack.d.ts +185 -0
- package/dist/evidence-pack.js +258 -0
- package/dist/evidence.d.ts +345 -0
- package/dist/evidence.js +782 -0
- package/dist/exec.d.ts +285 -0
- package/dist/exec.js +1841 -0
- package/dist/exhaustion.d.ts +85 -0
- package/dist/exhaustion.js +141 -0
- package/dist/export-ui.d.ts +4 -0
- package/dist/export-ui.js +17 -0
- package/dist/export.d.ts +48 -0
- package/dist/export.js +305 -0
- package/dist/flow-actions.d.ts +77 -0
- package/dist/flow-actions.js +203 -0
- package/dist/flow-code.d.ts +50 -0
- package/dist/flow-code.js +159 -0
- package/dist/flow-draft.d.ts +38 -0
- package/dist/flow-draft.js +80 -0
- package/dist/flow-engine.d.ts +66 -0
- package/dist/flow-engine.js +416 -0
- package/dist/flow-insights.d.ts +95 -0
- package/dist/flow-insights.js +149 -0
- package/dist/flow-live.d.ts +24 -0
- package/dist/flow-live.js +150 -0
- package/dist/flow-people.d.ts +24 -0
- package/dist/flow-people.js +91 -0
- package/dist/flow-replies.d.ts +48 -0
- package/dist/flow-replies.js +113 -0
- package/dist/flow-scripts.d.ts +38 -0
- package/dist/flow-scripts.js +73 -0
- package/dist/flow-secrets.d.ts +13 -0
- package/dist/flow-secrets.js +45 -0
- package/dist/flow-sort.d.ts +82 -0
- package/dist/flow-sort.js +153 -0
- package/dist/flow-steps.d.ts +40 -0
- package/dist/flow-steps.js +408 -0
- package/dist/flow-triggers.d.ts +244 -0
- package/dist/flow-triggers.js +959 -0
- package/dist/flows-ui.d.ts +20 -0
- package/dist/flows-ui.js +175 -0
- package/dist/flows.d.ts +229 -0
- package/dist/flows.js +968 -0
- package/dist/fonts.d.ts +19 -0
- package/dist/fonts.js +19 -0
- package/dist/gaps.d.ts +35 -0
- package/dist/gaps.js +101 -0
- package/dist/gate-failure.d.ts +40 -0
- package/dist/gate-failure.js +66 -0
- package/dist/git.d.ts +54 -0
- package/dist/git.js +94 -0
- package/dist/google-mail.d.ts +58 -0
- package/dist/google-mail.js +151 -0
- package/dist/grant.d.ts +136 -0
- package/dist/grant.js +238 -0
- package/dist/graph.d.ts +164 -0
- package/dist/graph.js +383 -0
- package/dist/guides.d.ts +22 -0
- package/dist/guides.js +363 -0
- package/dist/held.d.ts +150 -0
- package/dist/held.js +799 -0
- package/dist/invoke.d.ts +112 -0
- package/dist/invoke.js +780 -0
- package/dist/issues.d.ts +41 -0
- package/dist/issues.js +131 -0
- package/dist/job-object-helper.ps1 +252 -0
- package/dist/jsonl-discriminants.d.ts +11 -0
- package/dist/jsonl-discriminants.js +93 -0
- package/dist/keys.d.ts +104 -0
- package/dist/keys.js +229 -0
- package/dist/kits-ui.d.ts +17 -0
- package/dist/kits-ui.js +46 -0
- package/dist/kits.d.ts +86 -0
- package/dist/kits.js +215 -0
- package/dist/knowledge-cli.d.ts +101 -0
- package/dist/knowledge-cli.js +92 -0
- package/dist/knowledge-ui.d.ts +24 -0
- package/dist/knowledge-ui.js +40 -0
- package/dist/lead-context.d.ts +8 -0
- package/dist/lead-context.js +56 -0
- package/dist/lead-follow.d.ts +22 -0
- package/dist/lead-follow.js +167 -0
- package/dist/lead-status.d.ts +75 -0
- package/dist/lead-status.js +285 -0
- package/dist/ledger-chain.d.ts +46 -0
- package/dist/ledger-chain.js +187 -0
- package/dist/ledger-csv.d.ts +4 -0
- package/dist/ledger-csv.js +11 -0
- package/dist/ledger-view.d.ts +24 -0
- package/dist/ledger-view.js +58 -0
- package/dist/limits-ui.d.ts +26 -0
- package/dist/limits-ui.js +67 -0
- package/dist/link.d.ts +72 -0
- package/dist/link.js +217 -0
- package/dist/live.d.ts +96 -0
- package/dist/live.js +366 -0
- package/dist/liveness.d.ts +30 -0
- package/dist/liveness.js +42 -0
- package/dist/log.d.ts +7 -0
- package/dist/log.js +25 -0
- package/dist/mailbox.d.ts +57 -0
- package/dist/mailbox.js +150 -0
- package/dist/maintenance.d.ts +11 -0
- package/dist/maintenance.js +35 -0
- package/dist/mate-cli.d.ts +52 -0
- package/dist/mate-cli.js +345 -0
- package/dist/mate-contract.d.ts +10 -0
- package/dist/mate-contract.js +30 -0
- package/dist/mate-doors.d.ts +69 -0
- package/dist/mate-doors.js +548 -0
- package/dist/mate-progress.d.ts +29 -0
- package/dist/mate-progress.js +121 -0
- package/dist/mate-tools.d.ts +94 -0
- package/dist/mate-tools.js +1878 -0
- package/dist/mate.d.ts +92 -0
- package/dist/mate.js +435 -0
- package/dist/mcp-connect.d.ts +103 -0
- package/dist/mcp-connect.js +252 -0
- package/dist/mcp.d.ts +27 -0
- package/dist/mcp.js +651 -0
- package/dist/memory-cli.d.ts +466 -0
- package/dist/memory-cli.js +111 -0
- package/dist/memory-pass.d.ts +160 -0
- package/dist/memory-pass.js +409 -0
- package/dist/metrics.d.ts +3 -0
- package/dist/metrics.js +56 -0
- package/dist/mobile-viewport.d.ts +3 -0
- package/dist/mobile-viewport.js +37 -0
- package/dist/model-catalog.d.ts +118 -0
- package/dist/model-catalog.js +376 -0
- package/dist/models-cli.d.ts +102 -0
- package/dist/models-cli.js +66 -0
- package/dist/models-ui.d.ts +34 -0
- package/dist/models-ui.js +68 -0
- package/dist/modes.d.ts +80 -0
- package/dist/modes.js +182 -0
- package/dist/monitoring-settings.d.ts +44 -0
- package/dist/monitoring-settings.js +173 -0
- package/dist/monitoring-ui.d.ts +20 -0
- package/dist/monitoring-ui.js +51 -0
- package/dist/monitoring.d.ts +34 -0
- package/dist/monitoring.js +221 -0
- package/dist/names.d.ts +67 -0
- package/dist/names.js +102 -0
- package/dist/observations.d.ts +40 -0
- package/dist/observations.js +211 -0
- package/dist/oidc.d.ts +71 -0
- package/dist/oidc.js +182 -0
- package/dist/onboard.d.ts +108 -0
- package/dist/onboard.js +325 -0
- package/dist/openrouter-models.d.ts +30 -0
- package/dist/openrouter-models.js +120 -0
- package/dist/operate.d.ts +118 -0
- package/dist/operate.js +11321 -0
- package/dist/peek-cli.d.ts +97 -0
- package/dist/peek-cli.js +215 -0
- package/dist/peek.d.ts +134 -0
- package/dist/peek.js +578 -0
- package/dist/phase-routing.d.ts +307 -0
- package/dist/phase-routing.js +658 -0
- package/dist/plan-auto.d.ts +14 -0
- package/dist/plan-auto.js +92 -0
- package/dist/plan.d.ts +186 -0
- package/dist/plan.js +401 -0
- package/dist/planner-source.d.ts +251 -0
- package/dist/planner-source.js +460 -0
- package/dist/planner.d.ts +75 -0
- package/dist/planner.js +992 -0
- package/dist/policy-ui.d.ts +20 -0
- package/dist/policy-ui.js +41 -0
- package/dist/policy.d.ts +111 -0
- package/dist/policy.js +231 -0
- package/dist/prepared-evidence.d.ts +16 -0
- package/dist/prepared-evidence.js +96 -0
- package/dist/pricing.d.ts +45 -0
- package/dist/pricing.js +77 -0
- package/dist/principal.d.ts +42 -0
- package/dist/principal.js +82 -0
- package/dist/probe.d.ts +46 -0
- package/dist/probe.js +79 -0
- package/dist/process-custody.d.ts +17 -0
- package/dist/process-custody.js +91 -0
- package/dist/process-liveness.d.ts +10 -0
- package/dist/process-liveness.js +81 -0
- package/dist/process-recovery-anchor.d.ts +75 -0
- package/dist/process-recovery-anchor.js +188 -0
- package/dist/process-recovery-coalition.d.ts +25 -0
- package/dist/process-recovery-coalition.js +105 -0
- package/dist/process-recovery-eligibility.d.ts +178 -0
- package/dist/process-recovery-eligibility.js +170 -0
- package/dist/process-recovery-native.d.ts +172 -0
- package/dist/process-recovery-native.js +592 -0
- package/dist/process-recovery-provenance.d.ts +163 -0
- package/dist/process-recovery-provenance.js +292 -0
- package/dist/process-recovery-services.d.ts +56 -0
- package/dist/process-recovery-services.js +191 -0
- package/dist/process-recovery-settlement.d.ts +32 -0
- package/dist/process-recovery-settlement.js +132 -0
- package/dist/process-recovery.d.ts +41 -0
- package/dist/process-recovery.js +91 -0
- package/dist/process-tree.d.ts +41 -0
- package/dist/process-tree.js +264 -0
- package/dist/project-access.d.ts +14 -0
- package/dist/project-access.js +34 -0
- package/dist/project-cli.d.ts +18 -0
- package/dist/project-cli.js +104 -0
- package/dist/project-delete-ui.d.ts +22 -0
- package/dist/project-delete-ui.js +48 -0
- package/dist/project-delete.d.ts +55 -0
- package/dist/project-delete.js +413 -0
- package/dist/project-knowledge.d.ts +111 -0
- package/dist/project-knowledge.js +241 -0
- package/dist/project-learning.d.ts +100 -0
- package/dist/project-learning.js +438 -0
- package/dist/project-memory.d.ts +81 -0
- package/dist/project-memory.js +264 -0
- package/dist/project-skills.d.ts +152 -0
- package/dist/project-skills.js +660 -0
- package/dist/project-tools.d.ts +219 -0
- package/dist/project-tools.js +796 -0
- package/dist/project.d.ts +61 -0
- package/dist/project.js +125 -0
- package/dist/prompt.d.ts +22 -0
- package/dist/prompt.js +72 -0
- package/dist/proof.d.ts +513 -0
- package/dist/proof.js +1140 -0
- package/dist/proposal.d.ts +82 -0
- package/dist/proposal.js +210 -0
- package/dist/provider-connection.d.ts +22 -0
- package/dist/provider-connection.js +98 -0
- package/dist/provider-limits.d.ts +35 -0
- package/dist/provider-limits.js +95 -0
- package/dist/provider.d.ts +279 -0
- package/dist/provider.js +935 -0
- package/dist/publish.d.ts +107 -0
- package/dist/publish.js +650 -0
- package/dist/pulls.d.ts +118 -0
- package/dist/pulls.js +240 -0
- package/dist/push.d.ts +95 -0
- package/dist/push.js +353 -0
- package/dist/quality.d.ts +8 -0
- package/dist/quality.js +6 -0
- package/dist/recipe-ui.d.ts +18 -0
- package/dist/recipe-ui.js +152 -0
- package/dist/recipes.d.ts +81 -0
- package/dist/recipes.js +332 -0
- package/dist/remote.d.ts +67 -0
- package/dist/remote.js +122 -0
- package/dist/render.d.ts +64 -0
- package/dist/render.js +587 -0
- package/dist/report-summary.d.ts +13 -0
- package/dist/report-summary.js +15 -0
- package/dist/repos.d.ts +65 -0
- package/dist/repos.js +277 -0
- package/dist/repository-context-ui.d.ts +2 -0
- package/dist/repository-context-ui.js +10 -0
- package/dist/repository-context.d.ts +67 -0
- package/dist/repository-context.js +376 -0
- package/dist/restart-certification.d.ts +134 -0
- package/dist/restart-certification.js +226 -0
- package/dist/result-actions.d.ts +28 -0
- package/dist/result-actions.js +270 -0
- package/dist/result-completion.d.ts +18 -0
- package/dist/result-completion.js +66 -0
- package/dist/result-review.d.ts +213 -0
- package/dist/result-review.js +430 -0
- package/dist/retention-ui.d.ts +12 -0
- package/dist/retention-ui.js +39 -0
- package/dist/retention.d.ts +72 -0
- package/dist/retention.js +288 -0
- package/dist/review-context.d.ts +243 -0
- package/dist/review-context.js +1043 -0
- package/dist/review-evidence.d.ts +33 -0
- package/dist/review-evidence.js +56 -0
- package/dist/reviewer.d.ts +97 -0
- package/dist/reviewer.js +202 -0
- package/dist/routine.d.ts +228 -0
- package/dist/routine.js +764 -0
- package/dist/runner.d.ts +266 -0
- package/dist/runner.js +399 -0
- package/dist/scan.d.ts +32 -0
- package/dist/scan.js +92 -0
- package/dist/scope.d.ts +695 -0
- package/dist/scope.js +1176 -0
- package/dist/scout-report.d.ts +42 -0
- package/dist/scout-report.js +108 -0
- package/dist/scout.d.ts +69 -0
- package/dist/scout.js +351 -0
- package/dist/serve.d.ts +313 -0
- package/dist/serve.js +21776 -0
- package/dist/session-brief.d.ts +8 -0
- package/dist/session-brief.js +24 -0
- package/dist/session-cli.d.ts +13 -0
- package/dist/session-cli.js +284 -0
- package/dist/session-contract.d.ts +183 -0
- package/dist/session-contract.js +122 -0
- package/dist/session-http.d.ts +19 -0
- package/dist/session-http.js +154 -0
- package/dist/session-server.d.ts +12 -0
- package/dist/session-server.js +37 -0
- package/dist/session-service.d.ts +22 -0
- package/dist/session-service.js +157 -0
- package/dist/setup-guide.d.ts +39 -0
- package/dist/setup-guide.js +93 -0
- package/dist/sign-in-guard.d.ts +45 -0
- package/dist/sign-in-guard.js +74 -0
- package/dist/skills-ui.d.ts +11 -0
- package/dist/skills-ui.js +58 -0
- package/dist/skills.d.ts +97 -0
- package/dist/skills.js +276 -0
- package/dist/slack-api.d.ts +55 -0
- package/dist/slack-api.js +229 -0
- package/dist/slack-chat.d.ts +28 -0
- package/dist/slack-chat.js +413 -0
- package/dist/slack-settings.d.ts +7 -0
- package/dist/slack-settings.js +75 -0
- package/dist/slack-state.d.ts +13 -0
- package/dist/slack-state.js +9 -0
- package/dist/slack.d.ts +13 -0
- package/dist/slack.js +167 -0
- package/dist/spend-ui.d.ts +28 -0
- package/dist/spend-ui.js +95 -0
- package/dist/spend.d.ts +142 -0
- package/dist/spend.js +313 -0
- package/dist/sqlite-runtime.d.ts +3 -0
- package/dist/sqlite-runtime.js +6 -0
- package/dist/sso-settings.d.ts +33 -0
- package/dist/sso-settings.js +103 -0
- package/dist/sso-ui.d.ts +22 -0
- package/dist/sso-ui.js +39 -0
- package/dist/storage.d.ts +15 -0
- package/dist/storage.js +84 -0
- package/dist/store.d.ts +7754 -0
- package/dist/store.js +23279 -0
- package/dist/structured-output.d.ts +58 -0
- package/dist/structured-output.js +103 -0
- package/dist/style-asset.d.ts +7 -0
- package/dist/style-asset.js +41 -0
- package/dist/subscription-chat.d.ts +46 -0
- package/dist/subscription-chat.js +275 -0
- package/dist/summary.d.ts +33 -0
- package/dist/summary.js +71 -0
- package/dist/supervisor.mjs +297 -0
- package/dist/surface.d.ts +63 -0
- package/dist/surface.js +352 -0
- package/dist/sync.d.ts +94 -0
- package/dist/sync.js +279 -0
- package/dist/task-composer.d.ts +13 -0
- package/dist/task-composer.js +52 -0
- package/dist/task-control.d.ts +165 -0
- package/dist/task-control.js +214 -0
- package/dist/task-outcome-cli.d.ts +10 -0
- package/dist/task-outcome-cli.js +92 -0
- package/dist/task-text.d.ts +30 -0
- package/dist/task-text.js +41 -0
- package/dist/team-cli.d.ts +15 -0
- package/dist/team-cli.js +618 -0
- package/dist/team-contract.d.ts +92 -0
- package/dist/team-contract.js +1 -0
- package/dist/team-http.d.ts +17 -0
- package/dist/team-http.js +144 -0
- package/dist/team-leads.d.ts +81 -0
- package/dist/team-leads.js +565 -0
- package/dist/team-runtime.d.ts +27 -0
- package/dist/team-runtime.js +264 -0
- package/dist/team-ui.d.ts +3 -0
- package/dist/team-ui.js +9 -0
- package/dist/team-updates.d.ts +8 -0
- package/dist/team-updates.js +57 -0
- package/dist/teammate-admin.d.ts +53 -0
- package/dist/teammate-admin.js +111 -0
- package/dist/teammate-desk.d.ts +60 -0
- package/dist/teammate-desk.js +154 -0
- package/dist/teammate-memory.d.ts +64 -0
- package/dist/teammate-memory.js +196 -0
- package/dist/teammate-question.d.ts +59 -0
- package/dist/teammate-question.js +175 -0
- package/dist/teammate-tools.d.ts +108 -0
- package/dist/teammate-tools.js +271 -0
- package/dist/teammate-week.d.ts +68 -0
- package/dist/teammate-week.js +132 -0
- package/dist/teammate-work.d.ts +76 -0
- package/dist/teammate-work.js +280 -0
- package/dist/teammates-ui.d.ts +20 -0
- package/dist/teammates-ui.js +166 -0
- package/dist/teammates.d.ts +180 -0
- package/dist/teammates.js +253 -0
- package/dist/teams-api.d.ts +33 -0
- package/dist/teams-api.js +204 -0
- package/dist/teams-chat.d.ts +26 -0
- package/dist/teams-chat.js +215 -0
- package/dist/teams-settings.d.ts +12 -0
- package/dist/teams-settings.js +57 -0
- package/dist/teams.d.ts +21 -0
- package/dist/teams.js +124 -0
- package/dist/telegram-flow.d.ts +49 -0
- package/dist/telegram-flow.js +110 -0
- package/dist/telegram-mate.d.ts +137 -0
- package/dist/telegram-mate.js +707 -0
- package/dist/telegram-progress.d.ts +14 -0
- package/dist/telegram-progress.js +129 -0
- package/dist/telegram-settings.d.ts +9 -0
- package/dist/telegram-settings.js +36 -0
- package/dist/telegram-status.d.ts +75 -0
- package/dist/telegram-status.js +265 -0
- package/dist/telegram-team.d.ts +85 -0
- package/dist/telegram-team.js +359 -0
- package/dist/telegram.d.ts +230 -0
- package/dist/telegram.js +1931 -0
- package/dist/templates.d.ts +65 -0
- package/dist/templates.js +118 -0
- package/dist/tool-launcher.d.ts +1 -0
- package/dist/tool-launcher.js +101 -0
- package/dist/tools-ui.d.ts +30 -0
- package/dist/tools-ui.js +40 -0
- package/dist/transitions-recipes.d.ts +1 -0
- package/dist/transitions-recipes.js +203 -0
- package/dist/tree-proof.d.ts +34 -0
- package/dist/tree-proof.js +58 -0
- package/dist/verification-evidence.d.ts +44 -0
- package/dist/verification-evidence.js +238 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +10 -0
- package/dist/webhooks.d.ts +91 -0
- package/dist/webhooks.js +283 -0
- package/dist/work-index.d.ts +68 -0
- package/dist/work-index.js +384 -0
- package/dist/work-summary.d.ts +57 -0
- package/dist/work-summary.js +116 -0
- package/dist/workspace-motion.d.ts +4 -0
- package/dist/workspace-motion.js +133 -0
- package/dist/workspace-revision.d.ts +19 -0
- package/dist/workspace-revision.js +92 -0
- package/dist/workspace-ui.d.ts +204 -0
- package/dist/workspace-ui.js +411 -0
- package/dist/worktree-notices.d.ts +13 -0
- package/dist/worktree-notices.js +17 -0
- package/dist/worktree.d.ts +249 -0
- package/dist/worktree.js +720 -0
- package/package.json +122 -0
- package/scripts/canary-assertions.mjs +42 -0
- package/scripts/crash-canary.mjs +253 -0
- package/scripts/fixtures/crash-process.mjs +74 -0
- package/scripts/fixtures/pilot-scenarios.mjs +85 -0
- package/scripts/fixtures/restart-service.mjs +27 -0
- package/scripts/launchd-certification.mjs +143 -0
- package/scripts/pilot.mjs +121 -0
- package/scripts/proof-preflight.mjs +140 -0
- package/scripts/provider-canary.mjs +379 -0
- package/scripts/recovery-canary.mjs +135 -0
- package/scripts/restart-certification.mjs +98 -0
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* The held-session supervisor (Parity II Phase 2, spec v5 P4 / v6 W7+W9).
|
|
4
|
+
*
|
|
5
|
+
* A minimal, zero-dependency parent for one held agent process. Its whole
|
|
6
|
+
* value is PARENTHOOD: while this process lives and has not reaped its
|
|
7
|
+
* child, POSIX guarantees the child's PID cannot be reused — so a kill
|
|
8
|
+
* ordered through this process can never hit an innocent stranger, which
|
|
9
|
+
* no PID-plus-timestamp guess can promise. Everything else here is a dumb
|
|
10
|
+
* byte pump.
|
|
11
|
+
*
|
|
12
|
+
* Invocation (by exec.ts only):
|
|
13
|
+
* node supervisor.mjs <agent-binary> <agent-args...>
|
|
14
|
+
* env: SO_HELD_SOCKET — unix socket path for the control channel
|
|
15
|
+
* SO_HELD_COOKIE — 128-bit hex cookie; every socket verb must carry it
|
|
16
|
+
* SO_HELD_GRACE_MS — EOF→SIGKILL grace (default 10s)
|
|
17
|
+
* SO_HELD_DIAGNOSTIC_FD — private observer diagnostic pipe (optional)
|
|
18
|
+
*
|
|
19
|
+
* Protocol, in order:
|
|
20
|
+
* 1. The control socket is created FIRST (mode 0600), so a fencer can
|
|
21
|
+
* always reach a supervisor that got as far as spawning.
|
|
22
|
+
* 2. The agent spawns DETACHED into its own fresh process group.
|
|
23
|
+
* 3. stdout emits exactly ONE control frame before any relayed agent
|
|
24
|
+
* byte: {"so_supervisor":"ready","agentPgid":N,"supervisorPid":N}
|
|
25
|
+
* or {"so_supervisor":"spawn-failed","message":...}. Everything after
|
|
26
|
+
* the ready frame is the agent's stream, byte for byte.
|
|
27
|
+
* 4. stdin bytes relay to the agent verbatim. stdin EOF (the owner ended
|
|
28
|
+
* the hold, or died — the pipe broke) starts the AUTONOMOUS FENCE:
|
|
29
|
+
* EOF to the agent, grace, then SIGKILL of its whole group. SIGTERM
|
|
30
|
+
* and SIGHUP take the same road (the hard-stop sweep's contract).
|
|
31
|
+
* 5. Socket verbs, one JSON line per connection, cookie-checked:
|
|
32
|
+
* {"cookie":..,"verb":"status"} → {"ok":true,"alive":bool,...}
|
|
33
|
+
* {"cookie":..,"verb":"kill"} → group SIGKILL via the held handle,
|
|
34
|
+
* answered only after the group is PROVEN gone (ESRCH poll, 5s bound).
|
|
35
|
+
* 6. The supervisor exits when the agent has exited and the relay has
|
|
36
|
+
* flushed; the socket file is unlinked on the way out.
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
// The source supervisor is also exercised directly by the TypeScript test
|
|
40
|
+
// runner; its shared helper comes from the normal production build there.
|
|
41
|
+
const { stopProcessTree, observeProcessTree, sampleProcessTree } = await import(new URL("./process-tree.js", import.meta.url).href).catch(error => {
|
|
42
|
+
if (error.code !== "ERR_MODULE_NOT_FOUND") throw error;
|
|
43
|
+
return import(new URL("../dist/process-tree.js", import.meta.url).href);
|
|
44
|
+
});
|
|
45
|
+
import { spawn } from "node:child_process";
|
|
46
|
+
import { createServer } from "node:net";
|
|
47
|
+
import { chmodSync, unlinkSync, writeSync } from "node:fs";
|
|
48
|
+
|
|
49
|
+
const socketPath = process.env["SO_HELD_SOCKET"] ?? "";
|
|
50
|
+
const cookie = process.env["SO_HELD_COOKIE"] ?? "";
|
|
51
|
+
const graceMs = Math.max(1000, Number(process.env["SO_HELD_GRACE_MS"] ?? 10_000) || 10_000);
|
|
52
|
+
const [agentFile, ...agentArgs] = process.argv.slice(2);
|
|
53
|
+
|
|
54
|
+
const frame = payload => {
|
|
55
|
+
process.stdout.write(`${JSON.stringify(payload)}\n`);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
if (socketPath === "" || cookie === "" || agentFile === undefined) {
|
|
59
|
+
frame({ so_supervisor: "spawn-failed", message: "missing SO_HELD_SOCKET, SO_HELD_COOKIE, or agent argv" });
|
|
60
|
+
process.exit(2);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
let exited = false;
|
|
64
|
+
let exitCode = null;
|
|
65
|
+
let fencing = false;
|
|
66
|
+
let server = null;
|
|
67
|
+
let killsInFlight = 0;
|
|
68
|
+
const descendantPids = new Set();
|
|
69
|
+
let treeUnknown = false;
|
|
70
|
+
let exitWanted = false;
|
|
71
|
+
let drain = null;
|
|
72
|
+
let relayClosed = false;
|
|
73
|
+
let relayDeadline = null;
|
|
74
|
+
|
|
75
|
+
/** The exit road, deferred while a kill verb's reply is still owed: the
|
|
76
|
+
* fencer must HEAR that the group is proven gone before the process that
|
|
77
|
+
* proved it disappears. */
|
|
78
|
+
const maybeExit = () => {
|
|
79
|
+
if (!exitWanted || killsInFlight > 0) return;
|
|
80
|
+
cleanup();
|
|
81
|
+
for (const connection of pending) connection.destroy();
|
|
82
|
+
process.exit(exitCode ?? 1);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
const cleanup = () => {
|
|
86
|
+
try {
|
|
87
|
+
server?.close();
|
|
88
|
+
} catch {
|
|
89
|
+
// Already closed.
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
unlinkSync(socketPath);
|
|
93
|
+
} catch {
|
|
94
|
+
// Never existed, or already gone.
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
/** True while ANY member of the agent's group survives. */
|
|
99
|
+
const groupAlive = pgid => {
|
|
100
|
+
try {
|
|
101
|
+
process.kill(-pgid, 0);
|
|
102
|
+
return true;
|
|
103
|
+
} catch (error) {
|
|
104
|
+
return error.code !== "ESRCH";
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
const descendantsAlive = () => treeUnknown || [...descendantPids].some(pid => {
|
|
108
|
+
try { process.kill(pid, 0); return true; } catch (error) { return error.code !== "ESRCH"; }
|
|
109
|
+
});
|
|
110
|
+
const holdGone = pgid => relayClosed && !groupAlive(pgid) && !descendantsAlive();
|
|
111
|
+
|
|
112
|
+
/** All exit roads share one drain. In particular, child.close must not
|
|
113
|
+
* outrun an EOF fence that is still waiting for a detached tool to die. */
|
|
114
|
+
const killGroupSettled = pgid => drain ??= Promise.resolve().then(async () => {
|
|
115
|
+
if (child !== undefined && !exited) stopProcessTree(child);
|
|
116
|
+
try {
|
|
117
|
+
process.kill(-pgid, "SIGKILL");
|
|
118
|
+
} catch {
|
|
119
|
+
// Group already gone — proving below still runs.
|
|
120
|
+
}
|
|
121
|
+
const deadline = Date.now() + 5_000;
|
|
122
|
+
while (Date.now() < deadline) {
|
|
123
|
+
if (holdGone(pgid)) return true;
|
|
124
|
+
await new Promise(pass => setTimeout(pass, 50));
|
|
125
|
+
}
|
|
126
|
+
return holdGone(pgid);
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
// The control socket comes up BEFORE the agent spawns.
|
|
130
|
+
const pending = new Set();
|
|
131
|
+
server = createServer(connection => {
|
|
132
|
+
pending.add(connection);
|
|
133
|
+
connection.on("close", () => pending.delete(connection));
|
|
134
|
+
let buffered = "";
|
|
135
|
+
connection.on("data", chunk => {
|
|
136
|
+
buffered += String(chunk);
|
|
137
|
+
const cut = buffered.indexOf("\n");
|
|
138
|
+
if (cut === -1) {
|
|
139
|
+
if (buffered.length > 4096) connection.destroy();
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const line = buffered.slice(0, cut);
|
|
143
|
+
buffered = "";
|
|
144
|
+
let order = null;
|
|
145
|
+
try {
|
|
146
|
+
order = JSON.parse(line);
|
|
147
|
+
} catch {
|
|
148
|
+
connection.destroy();
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (order === null || typeof order !== "object" || order.cookie !== cookie) {
|
|
152
|
+
// Wrong cookie: one refusal, no detail, connection over.
|
|
153
|
+
connection.end(`${JSON.stringify({ ok: false })}\n`);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
if (order.verb === "status") {
|
|
157
|
+
const pgid = child?.pid;
|
|
158
|
+
const group = pgid !== undefined && groupAlive(pgid);
|
|
159
|
+
connection.end(
|
|
160
|
+
`${JSON.stringify({ ok: true, alive: !exited || !relayClosed || group || descendantsAlive(), groupAlive: group, agentPgid: pgid ?? null, exitCode })}\n`,
|
|
161
|
+
);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (order.verb === "kill") {
|
|
165
|
+
const pgid = child?.pid;
|
|
166
|
+
if (pgid === undefined) {
|
|
167
|
+
connection.end(`${JSON.stringify({ ok: true, killed: false, settled: false, exitCode })}\n`);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const killed = !exited;
|
|
171
|
+
killsInFlight += 1;
|
|
172
|
+
killGroupSettled(pgid).then(settled => {
|
|
173
|
+
// The reply counts as owed until the write side has FLUSHED —
|
|
174
|
+
// exiting on the mere call would let process death eat the FIN.
|
|
175
|
+
let settledReply = false;
|
|
176
|
+
const done = () => {
|
|
177
|
+
if (settledReply) return;
|
|
178
|
+
settledReply = true;
|
|
179
|
+
killsInFlight -= 1;
|
|
180
|
+
maybeExit();
|
|
181
|
+
};
|
|
182
|
+
try {
|
|
183
|
+
connection.on("finish", done);
|
|
184
|
+
connection.on("close", done);
|
|
185
|
+
connection.end(`${JSON.stringify({ ok: true, killed, settled, exitCode })}\n`);
|
|
186
|
+
setTimeout(done, 2_000).unref();
|
|
187
|
+
} catch {
|
|
188
|
+
done();
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
connection.end(`${JSON.stringify({ ok: false })}\n`);
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
let child;
|
|
198
|
+
server.on("error", error => {
|
|
199
|
+
frame({ so_supervisor: "spawn-failed", message: `control socket: ${String(error)}` });
|
|
200
|
+
process.exit(1);
|
|
201
|
+
});
|
|
202
|
+
server.listen(socketPath, () => {
|
|
203
|
+
try {
|
|
204
|
+
chmodSync(socketPath, 0o600);
|
|
205
|
+
} catch {
|
|
206
|
+
// Best effort; the parent directory is already private.
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
child = spawn(agentFile, agentArgs, {
|
|
210
|
+
detached: true,
|
|
211
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
child.on("error", error => {
|
|
215
|
+
frame({ so_supervisor: "spawn-failed", message: String(error) });
|
|
216
|
+
cleanup();
|
|
217
|
+
process.exit(1);
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
observeProcessTree(child, {
|
|
221
|
+
onDescendant: pid => descendantPids.add(pid),
|
|
222
|
+
onObservationFailure: failure => {
|
|
223
|
+
// A dedicated pipe, never the untrusted agent's stdout/stderr. The
|
|
224
|
+
// agent gets exactly three stdio descriptors and cannot inherit it.
|
|
225
|
+
if (process.env["SO_HELD_DIAGNOSTIC_FD"] === "3") writeSync(3, `${JSON.stringify(failure)}\n`);
|
|
226
|
+
},
|
|
227
|
+
onUnknown: () => { treeUnknown = true; },
|
|
228
|
+
});
|
|
229
|
+
child.on("spawn", () => {
|
|
230
|
+
frame({ so_supervisor: "ready", agentPgid: child.pid, supervisorPid: process.pid });
|
|
231
|
+
// Relay AFTER the frame: agent bytes buffered meanwhile flow next.
|
|
232
|
+
child.stdout.pipe(process.stdout, { end: false });
|
|
233
|
+
child.stderr.pipe(process.stderr, { end: false });
|
|
234
|
+
process.stdin.pipe(child.stdin, { end: false });
|
|
235
|
+
process.stdin.on("end", () => fence());
|
|
236
|
+
process.stdin.on("error", () => fence());
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
child.on("exit", (code, signal) => {
|
|
240
|
+
exited = true;
|
|
241
|
+
exitCode = code ?? (signal === null ? 1 : 143);
|
|
242
|
+
// A tool may inherit stdout/stderr and keep `close` from ever firing.
|
|
243
|
+
// Start cleanup at root exit, while retaining the relay until flushed.
|
|
244
|
+
if (child.pid !== undefined) void killGroupSettled(child.pid);
|
|
245
|
+
relayDeadline = setTimeout(() => {
|
|
246
|
+
if (relayClosed) return;
|
|
247
|
+
// Open pipes after the drain bound may belong to an unobserved,
|
|
248
|
+
// detached writer. Do not call the hold successfully completed.
|
|
249
|
+
treeUnknown = true;
|
|
250
|
+
exitCode = 126;
|
|
251
|
+
child.stdout.destroy();
|
|
252
|
+
child.stderr.destroy();
|
|
253
|
+
}, 5_000);
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
child.on("close", code => {
|
|
257
|
+
relayClosed = true;
|
|
258
|
+
clearTimeout(relayDeadline);
|
|
259
|
+
// stdio flushed and the process reaped. The GROUP may still have
|
|
260
|
+
// members — a tool the agent launched can outlive its leader (round-6
|
|
261
|
+
// finding 4) — so the whole group is drained and PROVEN gone before
|
|
262
|
+
// custody releases; the whole-tree invariant is the group, never the
|
|
263
|
+
// one pid.
|
|
264
|
+
exitCode = exitCode ?? code ?? 1;
|
|
265
|
+
const pgid = child.pid;
|
|
266
|
+
const drained = pgid !== undefined ? killGroupSettled(pgid) : Promise.resolve(false);
|
|
267
|
+
drained.then(settled => {
|
|
268
|
+
// Match exec.ts's containment refusal. A clean root exit is not a
|
|
269
|
+
// clean hold when descendants remain or observation failed.
|
|
270
|
+
if (!settled || treeUnknown) exitCode = 126;
|
|
271
|
+
exitWanted = true;
|
|
272
|
+
maybeExit();
|
|
273
|
+
});
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
/** EOF → grace → group SIGKILL. Idempotent; every exit road converges here. */
|
|
278
|
+
const fence = () => {
|
|
279
|
+
if (fencing || exited || child === undefined) return;
|
|
280
|
+
fencing = true;
|
|
281
|
+
// Preserve witnesses before a cooperative root can exit and orphan its
|
|
282
|
+
// tools between the observer's periodic snapshots.
|
|
283
|
+
sampleProcessTree(child);
|
|
284
|
+
try {
|
|
285
|
+
child.stdin.end();
|
|
286
|
+
} catch {
|
|
287
|
+
// Already closed.
|
|
288
|
+
}
|
|
289
|
+
const timer = setTimeout(() => {
|
|
290
|
+
if (!exited && child.pid !== undefined) void killGroupSettled(child.pid);
|
|
291
|
+
}, graceMs);
|
|
292
|
+
timer.unref();
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
process.on("SIGTERM", () => fence());
|
|
296
|
+
process.on("SIGHUP", () => fence());
|
|
297
|
+
process.on("SIGINT", () => fence());
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The declared command guide (arc 5): the agent-facing surface as data,
|
|
3
|
+
* dumped by `contract --commands`. This is DOCUMENTATION with a stable
|
|
4
|
+
* shape, not authority — legacy verbs do not execute from it,
|
|
5
|
+
* and the runtime envelope remains the truth. Its honest limits ride the
|
|
6
|
+
* envelope itself as SURFACE_NOTES, because a source comment is invisible
|
|
7
|
+
* to consumers (arc-5 review, finding 1).
|
|
8
|
+
*
|
|
9
|
+
* What the tests DO hold to the code: every root here is a routed verb
|
|
10
|
+
* and every routed verb appears here; every declared flag lives in the
|
|
11
|
+
* parser's global vocabulary with the declared arity; the subcommand
|
|
12
|
+
* inventories for task/publish/config/approver/routine/contest match the
|
|
13
|
+
* exported action lists their dispatchers consult; keyed mutations
|
|
14
|
+
* declare --key; notableReasons come from DOCUMENTED_REASONS. What they
|
|
15
|
+
* CANNOT prove — that a given flag is read by a given handler — is why
|
|
16
|
+
* SURFACE_NOTES.flags says "intended".
|
|
17
|
+
*/
|
|
18
|
+
import { type SessionDescriptor } from './session-contract.js';
|
|
19
|
+
export type CommandFlag = {
|
|
20
|
+
readonly name: string;
|
|
21
|
+
readonly takesValue: boolean;
|
|
22
|
+
readonly meaning: string;
|
|
23
|
+
};
|
|
24
|
+
export type CommandRow = {
|
|
25
|
+
/** What you type after `toolroll` (subcommands included). */
|
|
26
|
+
readonly invocation: string;
|
|
27
|
+
/** The `command` field the envelope answers with, where it differs
|
|
28
|
+
* from the invocation (the no-verb report answers as "scan"). */
|
|
29
|
+
readonly envelopeCommand?: string;
|
|
30
|
+
readonly synopsis: string;
|
|
31
|
+
/** Who this act belongs to. "operator" rows are ceremonies or
|
|
32
|
+
* infrastructure: an agent must not invoke them even when credentials
|
|
33
|
+
* are within reach — the credential IS the person. The operator() helper
|
|
34
|
+
* omits flag detail on purpose; an explicit row may document flags when
|
|
35
|
+
* its command contract requires them. A schema is never permission. */
|
|
36
|
+
readonly audience: "agent" | "operator";
|
|
37
|
+
readonly agentMayInvoke: boolean;
|
|
38
|
+
/** Truthful retry semantics, not a boolean:
|
|
39
|
+
* keyed — takes --key; same key returns the first answer.
|
|
40
|
+
* identity-idempotent — repeating it converges (same lease, same
|
|
41
|
+
* path, same managed file); no key needed.
|
|
42
|
+
* unkeyed — a mutation without replay protection: do not blind-retry.
|
|
43
|
+
* none — a read. */
|
|
44
|
+
readonly mutation: "keyed" | "identity-idempotent" | "unkeyed" | "none";
|
|
45
|
+
readonly positionals?: readonly {
|
|
46
|
+
name: string;
|
|
47
|
+
required: boolean;
|
|
48
|
+
meaning: string;
|
|
49
|
+
}[];
|
|
50
|
+
readonly flags?: readonly CommandFlag[];
|
|
51
|
+
readonly notableReasons?: readonly string[];
|
|
52
|
+
/** Session schemas are executable input contracts, not a grant of authority. */
|
|
53
|
+
readonly inputSchema?: SessionDescriptor['inputSchema'];
|
|
54
|
+
};
|
|
55
|
+
/** The guide's limits, stated machine-readably in every dump. */
|
|
56
|
+
export declare const SURFACE_NOTES: {
|
|
57
|
+
readonly authority: "documentation is not permission; session descriptors also drive parser and request validation; legacy entries remain advisory";
|
|
58
|
+
readonly flags: "session flags are exact per operation; legacy flags are intended per command and may use a global parser vocabulary";
|
|
59
|
+
readonly reasons: "curated, not exhaustive — the runtime `reason` field is the truth; ignore tokens you do not recognize";
|
|
60
|
+
readonly database: "local database commands wait up to 15 seconds for another writer; an exhausted wait returns database-busy and names the selected file";
|
|
61
|
+
};
|
|
62
|
+
export declare const SURFACE_SCHEMA_VERSION = 1;
|
|
63
|
+
export declare const COMMAND_GUIDE: readonly CommandRow[];
|