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,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proposals over the MCP gateway (mate arc v3, §9). A coordinator may
|
|
3
|
+
* propose what the mate may propose — next, reserve, hold, unhold, scope,
|
|
4
|
+
* cancel, answer — and a row is all it writes: any approver whose ceiling
|
|
5
|
+
* admits the repo confirms it through `confirmCoordinatorProposal`. The
|
|
6
|
+
* token re-authenticates INSIDE the transaction (the session's `who` is a
|
|
7
|
+
* courtesy, exactly as for filing); the proposal counts against the
|
|
8
|
+
* credential's hourly filing rate and a per-credential pending cap; the
|
|
9
|
+
* payload carries the same CAS material the mate's does, so a stale row
|
|
10
|
+
* refuses at the door in the same words.
|
|
11
|
+
*/
|
|
12
|
+
import type { CoordinatorProposalKind, Store } from "./store.js";
|
|
13
|
+
export declare const PER_CID_PENDING_PROPOSALS = 20;
|
|
14
|
+
export type ProposeOutcome = {
|
|
15
|
+
ok: true;
|
|
16
|
+
id: number;
|
|
17
|
+
kind: CoordinatorProposalKind;
|
|
18
|
+
awaiting: string;
|
|
19
|
+
} | {
|
|
20
|
+
ok: false;
|
|
21
|
+
reason: "unauthenticated" | "revoked" | "rate-limited" | "pending-cap" | "not-found" | "bad-args" | "not-proposable";
|
|
22
|
+
message: string;
|
|
23
|
+
};
|
|
24
|
+
/** The coordinator's proposal as a row; the shape of `args` is the MCP tool's. */
|
|
25
|
+
export declare function proposeAsCoordinator(store: Store, token: string, kind: CoordinatorProposalKind, args: Record<string, unknown>, now: Date,
|
|
26
|
+
/** The decisions this connection has read with get_decision — an answer needs one (v3 review, finding 6). */
|
|
27
|
+
seen?: {
|
|
28
|
+
readDecisions: ReadonlySet<number>;
|
|
29
|
+
}): ProposeOutcome;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { validateScopeText } from "./task-text.js";
|
|
2
|
+
import { authenticateCoordinator } from "./coordinator.js";
|
|
3
|
+
import { decisionOver, honestText, readTouches, readAcceptanceArg } from "./mate-tools.js";
|
|
4
|
+
export const PER_CID_PENDING_PROPOSALS = 20;
|
|
5
|
+
const TASK_ID = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;
|
|
6
|
+
/** The coordinator's proposal as a row; the shape of `args` is the MCP tool's. */
|
|
7
|
+
export function proposeAsCoordinator(store, token, kind, args, now,
|
|
8
|
+
/** The decisions this connection has read with get_decision — an answer needs one (v3 review, finding 6). */
|
|
9
|
+
seen = { readDecisions: new Set() }) {
|
|
10
|
+
return store.transact(() => {
|
|
11
|
+
store.sweepCoordinatorProposals(now);
|
|
12
|
+
const auth = authenticateCoordinator(store, token);
|
|
13
|
+
if (!auth.ok) {
|
|
14
|
+
return auth.reason === "revoked" || auth.reason === "expired"
|
|
15
|
+
? { ok: false, reason: "revoked", message: auth.reason === "expired" ? "this credential expired — ask the operator for a new one" : "this credential was revoked — ask the operator for a new one" }
|
|
16
|
+
: { ok: false, reason: "unauthenticated", message: "no live coordinator credential matches this token" };
|
|
17
|
+
}
|
|
18
|
+
const { who } = auth;
|
|
19
|
+
// Filings and proposals share the hourly window: both are asks of the
|
|
20
|
+
// operator's attention.
|
|
21
|
+
const windowStart = new Date(now.getTime() - 3_600_000);
|
|
22
|
+
const filed = Number(store.handle.prepare("SELECT COUNT(*) AS n FROM coordinator_event WHERE cid = ? AND kind = 'filed' AND created_at > ?").get(who.cid, windowStart.toISOString())?.["n"] ?? 0);
|
|
23
|
+
const proposed = store.coordinatorProposalsSince(who.cid, windowStart);
|
|
24
|
+
if (filed + proposed >= who.perHour) {
|
|
25
|
+
return { ok: false, reason: "rate-limited", message: `rate-limited: ${filed + proposed} filed or proposed in the last hour — try later` };
|
|
26
|
+
}
|
|
27
|
+
const pending = store.listCoordinatorProposals({ repos: null, cid: who.cid, states: ["pending"], limit: PER_CID_PENDING_PROPOSALS + 1 }).length;
|
|
28
|
+
if (pending >= PER_CID_PENDING_PROPOSALS) {
|
|
29
|
+
return { ok: false, reason: "pending-cap", message: `${pending} of your proposals are still waiting on the operator — they resolve before more file` };
|
|
30
|
+
}
|
|
31
|
+
const built = buildPayload(store, who, kind, args, now, seen);
|
|
32
|
+
if (!built.ok)
|
|
33
|
+
return built;
|
|
34
|
+
const id = store.fileCoordinatorProposalRow({ cid: who.cid, name: who.name, repo: built.repo, kind, payload: built.payload }, now);
|
|
35
|
+
return { ok: true, id, kind, awaiting: built.awaiting };
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function admittedTask(store, who, args) {
|
|
39
|
+
const raw = args["ref"];
|
|
40
|
+
if (typeof raw !== "string" || !TASK_ID.test(raw))
|
|
41
|
+
return null;
|
|
42
|
+
const ref = store.lookupRef(raw);
|
|
43
|
+
if (ref === null || ref.repo === null || !who.repos.includes(ref.repo))
|
|
44
|
+
return null;
|
|
45
|
+
return { taskId: raw, refId: ref.id, repo: ref.repo };
|
|
46
|
+
}
|
|
47
|
+
function buildPayload(store, who, kind, args, now, seen) {
|
|
48
|
+
const notFound = () => ({ ok: false, reason: "not-found", message: "not-found: no such task in your repositories" });
|
|
49
|
+
const bad = (message) => ({ ok: false, reason: "bad-args", message });
|
|
50
|
+
const confirmation = "the operator's confirmation";
|
|
51
|
+
if (kind === "answer") {
|
|
52
|
+
const decisionId = args["decision"];
|
|
53
|
+
if (typeof decisionId !== "number" || !Number.isInteger(decisionId) || decisionId < 1)
|
|
54
|
+
return bad("decision is its id");
|
|
55
|
+
const found = decisionOver(store, who.repos, decisionId, now);
|
|
56
|
+
if (found === null)
|
|
57
|
+
return { ok: false, reason: "not-found", message: "not-found: no such decision in your repositories" };
|
|
58
|
+
if (found["state"] !== "open")
|
|
59
|
+
return { ok: false, reason: "not-proposable", message: "that decision is no longer open" };
|
|
60
|
+
if (!seen.readDecisions.has(decisionId))
|
|
61
|
+
return { ok: false, reason: "not-proposable", message: "read the decision first with get_decision — an answer chosen without its consequences is a guess" };
|
|
62
|
+
const options = found["options"];
|
|
63
|
+
const chosen = options.find(one => one.id === args["option"]);
|
|
64
|
+
if (chosen === undefined)
|
|
65
|
+
return bad(`option must be one of ${options.map(one => one.id).join(", ")}`);
|
|
66
|
+
if (!honestText(args["rationale"], 400))
|
|
67
|
+
return bad("rationale is plain text ≤400");
|
|
68
|
+
const repo = who.repos[found["repoIndex"]];
|
|
69
|
+
return {
|
|
70
|
+
ok: true,
|
|
71
|
+
repo,
|
|
72
|
+
payload: { decision: decisionId, task: found["task"], option: chosen.id, optionLabel: chosen.label, reversible: chosen.reversible, rationale: args["rationale"], readConsequences: true },
|
|
73
|
+
awaiting: chosen.reversible ? confirmation : "the operator's explicit confirmation — this option is irreversible",
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
const task = admittedTask(store, who, args);
|
|
77
|
+
if (task === null)
|
|
78
|
+
return notFound();
|
|
79
|
+
if (kind === "next") {
|
|
80
|
+
const position = store.queuePosition(task.taskId);
|
|
81
|
+
if (position === null)
|
|
82
|
+
return { ok: false, reason: "not-proposable", message: "that task is not queued" };
|
|
83
|
+
if (position.position === 1)
|
|
84
|
+
return { ok: false, reason: "not-proposable", message: "that task is already at the front of its column" };
|
|
85
|
+
return { ok: true, repo: task.repo, payload: { task: task.taskId, queueRevision: store.queueRevision(), position: position.position, of: position.total, column: position.column }, awaiting: confirmation };
|
|
86
|
+
}
|
|
87
|
+
if (kind === "reserve") {
|
|
88
|
+
const worker = args["worker"];
|
|
89
|
+
if (worker !== null && (typeof worker !== "string" || !store.listRunners().some(one => one.name === worker && one.retiredAt === null))) {
|
|
90
|
+
return bad("worker must be a registered, active worker name, or null for the shared queue");
|
|
91
|
+
}
|
|
92
|
+
const position = store.queuePosition(task.taskId);
|
|
93
|
+
if (position === null)
|
|
94
|
+
return { ok: false, reason: "not-proposable", message: "that task is not queued" };
|
|
95
|
+
if ((position.column ?? null) === worker)
|
|
96
|
+
return { ok: false, reason: "not-proposable", message: "that task is already in that column" };
|
|
97
|
+
return { ok: true, repo: task.repo, payload: { task: task.taskId, worker, queueRevision: store.queueRevision(), position: position.position, column: position.column }, awaiting: confirmation };
|
|
98
|
+
}
|
|
99
|
+
if (kind === "hold") {
|
|
100
|
+
if (!honestText(args["reason"], 200))
|
|
101
|
+
return bad("reason is plain text ≤200");
|
|
102
|
+
const existing = store.activeHolds(task.refId, now).find(one => one.ownerKind === "operator");
|
|
103
|
+
return { ok: true, repo: task.repo, payload: { task: task.taskId, reason: args["reason"], sawHold: existing?.id ?? null }, awaiting: confirmation };
|
|
104
|
+
}
|
|
105
|
+
if (kind === "unhold") {
|
|
106
|
+
const hold = store.activeHolds(task.refId, now).find(one => one.ownerKind === "operator");
|
|
107
|
+
if (hold === undefined)
|
|
108
|
+
return { ok: false, reason: "not-proposable", message: "the operator holds no hold on that task" };
|
|
109
|
+
return { ok: true, repo: task.repo, payload: { task: task.taskId, holdId: hold.id }, awaiting: confirmation };
|
|
110
|
+
}
|
|
111
|
+
if (kind === "scope") {
|
|
112
|
+
if (typeof args["goal"] !== "string" || (args["not"] != null && typeof args["not"] !== "string"))
|
|
113
|
+
return bad("Goal and exclusions must be text.");
|
|
114
|
+
const badText = validateScopeText({ goal: args["goal"], outOfScope: args["not"] ?? null });
|
|
115
|
+
if (badText !== null)
|
|
116
|
+
return bad(badText.message);
|
|
117
|
+
const not = args["not"] ?? null;
|
|
118
|
+
if (!honestText(args["goal"], 2_000) || (not !== null && not.trim() !== "" && !honestText(not, 2_000)))
|
|
119
|
+
return bad("Task text cannot contain credentials.");
|
|
120
|
+
const touches = readTouches(args["touches"]);
|
|
121
|
+
if (touches === null)
|
|
122
|
+
return bad("touches is up to 50 plain paths");
|
|
123
|
+
const acceptance = readAcceptanceArg(args["acceptance"]);
|
|
124
|
+
if (acceptance === null)
|
|
125
|
+
return bad("acceptance is required: at least one criterion with an id, statement, and evidence kinds");
|
|
126
|
+
if (store.hasLiveClaim(task.refId, now))
|
|
127
|
+
return { ok: false, reason: "not-proposable", message: "a worker is building that task right now — its scope cannot change under it" };
|
|
128
|
+
const scope = store.getScope(task.taskId);
|
|
129
|
+
return { ok: true, repo: task.repo, payload: { task: task.taskId, goal: args["goal"], not, touches, acceptance, sawDigest: scope?.digest ?? null }, awaiting: "the operator's confirmation, then a password to approve" };
|
|
130
|
+
}
|
|
131
|
+
if (kind === "cancel") {
|
|
132
|
+
if (!honestText(args["reason"], 200))
|
|
133
|
+
return bad("reason is plain text ≤200");
|
|
134
|
+
return { ok: true, repo: task.repo, payload: { task: task.taskId, reason: args["reason"] }, awaiting: "the operator arming the cancel on the task" };
|
|
135
|
+
}
|
|
136
|
+
return bad("unknown proposal kind");
|
|
137
|
+
}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The coordinator principal (MCP gateway spec v6; DESIGN.md §9b).
|
|
3
|
+
*
|
|
4
|
+
* A coordinator is the ONE credential the MCP surface accepts: minted by
|
|
5
|
+
* an operator password ceremony, hashed at rest, repo-scoped at the mint,
|
|
6
|
+
* rate-limited, revocable — and able to do exactly one thing: file a
|
|
7
|
+
* proposal through the canonical door. What it files is an ordinary
|
|
8
|
+
* UNAPPROVED task; admission is the operator's existing scope ceremony,
|
|
9
|
+
* and the quarantine (sealScopeApproval's mode-kind refusal + the claim
|
|
10
|
+
* primitive's exclusion) keeps every pre-seal road shut.
|
|
11
|
+
*
|
|
12
|
+
* The brand: `VerifiedCoordinator` is disjoint from the operator's
|
|
13
|
+
* `VerifiedAuthor` by construction, and its maker is module-private —
|
|
14
|
+
* the exported-cast mistake is named in the spec and not repeated here.
|
|
15
|
+
* Steering and every operator-speech surface cannot accept this type.
|
|
16
|
+
*/
|
|
17
|
+
import type { Store } from "./store.js";
|
|
18
|
+
import { type WorkSummary } from "./work-summary.js";
|
|
19
|
+
import { assignmentBrief } from "./assignment.js";
|
|
20
|
+
declare const verifiedCoordinatorBrand: unique symbol;
|
|
21
|
+
export type VerifiedCoordinator = {
|
|
22
|
+
readonly [verifiedCoordinatorBrand]: true;
|
|
23
|
+
readonly cid: string;
|
|
24
|
+
readonly name: string;
|
|
25
|
+
readonly repos: readonly string[];
|
|
26
|
+
readonly perHour: number;
|
|
27
|
+
};
|
|
28
|
+
export type MintResult = {
|
|
29
|
+
ok: true;
|
|
30
|
+
cid: string;
|
|
31
|
+
token: string;
|
|
32
|
+
repos: string[];
|
|
33
|
+
} | {
|
|
34
|
+
ok: false;
|
|
35
|
+
reason: "bad-name" | "name-taken" | "bad-rate" | "no-repos";
|
|
36
|
+
};
|
|
37
|
+
export declare function mintCoordinator(store: Store, input: {
|
|
38
|
+
name: string;
|
|
39
|
+
repos: readonly string[];
|
|
40
|
+
perHour?: number;
|
|
41
|
+
by: string;
|
|
42
|
+
now: Date;
|
|
43
|
+
/** v101: how long it lives (90 days unless said; at most a year). */
|
|
44
|
+
days?: number;
|
|
45
|
+
/** Injected in tests. */
|
|
46
|
+
newToken?: () => string;
|
|
47
|
+
newCid?: () => string;
|
|
48
|
+
}): MintResult;
|
|
49
|
+
export type CoordinatorAuth = {
|
|
50
|
+
ok: true;
|
|
51
|
+
who: VerifiedCoordinator;
|
|
52
|
+
} | {
|
|
53
|
+
ok: false;
|
|
54
|
+
reason: "unknown" | "revoked" | "expired";
|
|
55
|
+
};
|
|
56
|
+
/** The token IS the identity — no name travels with it. Verified against
|
|
57
|
+
* the stored hash; the caller re-runs this INSIDE any mutating
|
|
58
|
+
* transaction (the startup check is a courtesy; the txn check is law). */
|
|
59
|
+
export declare function authenticateCoordinator(store: Store, token: string): CoordinatorAuth;
|
|
60
|
+
export declare function revokeCoordinator(store: Store, cid: string, by: string, now: Date): {
|
|
61
|
+
ok: true;
|
|
62
|
+
} | {
|
|
63
|
+
ok: false;
|
|
64
|
+
reason: "unknown" | "already-revoked";
|
|
65
|
+
};
|
|
66
|
+
export type CoordinatorRow = {
|
|
67
|
+
cid: string;
|
|
68
|
+
name: string;
|
|
69
|
+
repos: string[];
|
|
70
|
+
perHour: number;
|
|
71
|
+
createdBy: string;
|
|
72
|
+
createdAt: string;
|
|
73
|
+
revokedAt: string | null;
|
|
74
|
+
lastFiledAt: string | null;
|
|
75
|
+
/** v101: when it stops (null: made before expiry existed, until renewed). */
|
|
76
|
+
expiresAt: string | null;
|
|
77
|
+
};
|
|
78
|
+
export declare function listCoordinators(store: Store): CoordinatorRow[];
|
|
79
|
+
export declare const PER_CID_OUTSTANDING = 10;
|
|
80
|
+
export declare const GLOBAL_OUTSTANDING = 50;
|
|
81
|
+
export type FileOutcome = {
|
|
82
|
+
ok: true;
|
|
83
|
+
id: string;
|
|
84
|
+
replayed: boolean;
|
|
85
|
+
} | {
|
|
86
|
+
ok: false;
|
|
87
|
+
reason: "unauthenticated" | "revoked" | "bad-key" | "idempotency-conflict" | "rate-limited" | "outstanding-cap" | "global-cap" | string;
|
|
88
|
+
message: string;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* The one write the MCP surface owns, as ONE transaction: authenticate →
|
|
92
|
+
* revocation re-check → replay lookup → rate window → caps → the
|
|
93
|
+
* canonical door → the cid stamp → idempotency + event rows. The rate
|
|
94
|
+
* window reads the event ledger (filings are events, so the window and
|
|
95
|
+
* the audit cannot disagree), and a replay charges no slot.
|
|
96
|
+
*/
|
|
97
|
+
export declare function fileCoordinatorProposal(store: Store, token: string, input: {
|
|
98
|
+
repo: string;
|
|
99
|
+
title: string;
|
|
100
|
+
intent?: string;
|
|
101
|
+
idempotencyKey: string;
|
|
102
|
+
deliverable?: "branch" | "report";
|
|
103
|
+
}, now: Date): FileOutcome;
|
|
104
|
+
export declare function statusFor(store: Store, who: VerifiedCoordinator, now: Date): {
|
|
105
|
+
waitsOnYou: number;
|
|
106
|
+
waits: {
|
|
107
|
+
approvals: number;
|
|
108
|
+
questions: number;
|
|
109
|
+
incidents: number;
|
|
110
|
+
picks: number;
|
|
111
|
+
};
|
|
112
|
+
running: number;
|
|
113
|
+
builtToday: number;
|
|
114
|
+
failedToday: number;
|
|
115
|
+
repos: {
|
|
116
|
+
repo: string;
|
|
117
|
+
queued: number;
|
|
118
|
+
running: number;
|
|
119
|
+
}[];
|
|
120
|
+
};
|
|
121
|
+
export declare function listTasksFor(store: Store, who: VerifiedCoordinator, filter: {
|
|
122
|
+
state?: string;
|
|
123
|
+
repo?: string;
|
|
124
|
+
cursor?: number;
|
|
125
|
+
limit?: number;
|
|
126
|
+
}, now: Date): {
|
|
127
|
+
tasks: {
|
|
128
|
+
ref: string;
|
|
129
|
+
title: string;
|
|
130
|
+
state: string;
|
|
131
|
+
chip: string;
|
|
132
|
+
repo: string;
|
|
133
|
+
filedVia: string | null;
|
|
134
|
+
}[];
|
|
135
|
+
nextCursor: number | null;
|
|
136
|
+
};
|
|
137
|
+
export declare function taskDetailFor(store: Store, who: VerifiedCoordinator, taskId: string, evidenceRoot?: string, now?: Date): {
|
|
138
|
+
ref: string;
|
|
139
|
+
title: string;
|
|
140
|
+
state: string;
|
|
141
|
+
repo: string;
|
|
142
|
+
work: WorkSummary | null;
|
|
143
|
+
assignment: ReturnType<typeof assignmentBrief>;
|
|
144
|
+
deliverable: "branch" | "report";
|
|
145
|
+
/** A finished scout's report (mate arc §10); null when there is none. */
|
|
146
|
+
report: {
|
|
147
|
+
title: string;
|
|
148
|
+
summary: string;
|
|
149
|
+
followUps: {
|
|
150
|
+
title: string;
|
|
151
|
+
goal: string;
|
|
152
|
+
}[];
|
|
153
|
+
} | {
|
|
154
|
+
problem: string;
|
|
155
|
+
} | null;
|
|
156
|
+
filedBy: string | null;
|
|
157
|
+
scope: {
|
|
158
|
+
sealed: boolean;
|
|
159
|
+
goal: string | null;
|
|
160
|
+
words: string[];
|
|
161
|
+
};
|
|
162
|
+
waits: string[];
|
|
163
|
+
attempts: {
|
|
164
|
+
outcome: string | null;
|
|
165
|
+
provider: string;
|
|
166
|
+
model: string | null;
|
|
167
|
+
startedAt: string;
|
|
168
|
+
finishedAt: string | null;
|
|
169
|
+
durationMs: number | null;
|
|
170
|
+
costMicrousd: number | null;
|
|
171
|
+
}[];
|
|
172
|
+
cost: {
|
|
173
|
+
totalMicrousd: number;
|
|
174
|
+
measuredRuns: number;
|
|
175
|
+
totalRuns: number;
|
|
176
|
+
};
|
|
177
|
+
evidence: {
|
|
178
|
+
id: number;
|
|
179
|
+
kind: string;
|
|
180
|
+
bytes: number;
|
|
181
|
+
sha256: string;
|
|
182
|
+
captureStatus: string | null;
|
|
183
|
+
mediaType: string;
|
|
184
|
+
}[];
|
|
185
|
+
} | null;
|
|
186
|
+
export {};
|