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,34 @@
|
|
|
1
|
+
/** The mail server (v87), and where Inbox triggers read it (v89: its IMAP address; same sign-in). */
|
|
2
|
+
export type EmailSettings = {
|
|
3
|
+
host: string;
|
|
4
|
+
port: number;
|
|
5
|
+
secure: boolean;
|
|
6
|
+
user: string;
|
|
7
|
+
from: string;
|
|
8
|
+
imap: {
|
|
9
|
+
host: string;
|
|
10
|
+
port: number;
|
|
11
|
+
secure: boolean;
|
|
12
|
+
} | null;
|
|
13
|
+
};
|
|
14
|
+
export declare const ADDRESS: RegExp;
|
|
15
|
+
export declare function readEmailSettings(dir: string | null): (EmailSettings & {
|
|
16
|
+
password: string;
|
|
17
|
+
}) | null;
|
|
18
|
+
/** Save the mail server from Settings; an empty password keeps the saved one. An IMAP address lets Inbox triggers read it. */
|
|
19
|
+
export declare function saveEmailSettings(dir: string, input: {
|
|
20
|
+
host: unknown;
|
|
21
|
+
port: unknown;
|
|
22
|
+
secure: unknown;
|
|
23
|
+
user: unknown;
|
|
24
|
+
from: unknown;
|
|
25
|
+
password: unknown;
|
|
26
|
+
imapHost?: unknown;
|
|
27
|
+
imapPort?: unknown;
|
|
28
|
+
}): {
|
|
29
|
+
ok: true;
|
|
30
|
+
said: string;
|
|
31
|
+
} | {
|
|
32
|
+
ok: false;
|
|
33
|
+
message: string;
|
|
34
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The mail server (v87) and where Inbox triggers read it (v89), saved from
|
|
3
|
+
* Settings → Email in a 0600 file beside the database. Its own module, with
|
|
4
|
+
* nothing but the file system, so the mailbox and triggers can read it
|
|
5
|
+
* without pulling in the step runners.
|
|
6
|
+
*/
|
|
7
|
+
import { chmodSync, existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
8
|
+
import { join } from "node:path";
|
|
9
|
+
const EMAIL_FILE = "email.json";
|
|
10
|
+
export const ADDRESS = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+(?:\.[A-Za-z0-9-]+)*\.[A-Za-z]{2,}$/;
|
|
11
|
+
export function readEmailSettings(dir) {
|
|
12
|
+
if (dir === null || !existsSync(join(dir, EMAIL_FILE)))
|
|
13
|
+
return null;
|
|
14
|
+
try {
|
|
15
|
+
const raw = JSON.parse(readFileSync(join(dir, EMAIL_FILE), "utf8"));
|
|
16
|
+
if (typeof raw["host"] !== "string" || typeof raw["from"] !== "string")
|
|
17
|
+
return null;
|
|
18
|
+
const imap = raw["imap"] !== null && typeof raw["imap"] === "object" ? raw["imap"] : null;
|
|
19
|
+
return { host: raw["host"], port: Number(raw["port"]) || 587, secure: raw["secure"] === true, user: typeof raw["user"] === "string" ? raw["user"] : "", from: raw["from"], password: typeof raw["password"] === "string" ? raw["password"] : "",
|
|
20
|
+
imap: imap !== null && typeof imap["host"] === "string" ? { host: imap["host"], port: Number(imap["port"]) || 993, secure: imap["secure"] !== false } : null };
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** Save the mail server from Settings; an empty password keeps the saved one. An IMAP address lets Inbox triggers read it. */
|
|
27
|
+
export function saveEmailSettings(dir, input) {
|
|
28
|
+
const host = typeof input.host === "string" ? input.host.trim() : "";
|
|
29
|
+
if (!/^[A-Za-z0-9.-]{1,253}$/.test(host))
|
|
30
|
+
return { ok: false, message: "Give the mail server's name, like smtp.gmail.com." };
|
|
31
|
+
const port = Number(input.port);
|
|
32
|
+
if (!Number.isInteger(port) || port < 1 || port > 65535)
|
|
33
|
+
return { ok: false, message: "The port is a number, usually 587 or 465." };
|
|
34
|
+
const from = typeof input.from === "string" ? input.from.trim() : "";
|
|
35
|
+
if (!ADDRESS.test(from))
|
|
36
|
+
return { ok: false, message: "Give the address emails come from." };
|
|
37
|
+
const user = typeof input.user === "string" ? input.user.trim().slice(0, 254) : "";
|
|
38
|
+
const imapHost = typeof input.imapHost === "string" ? input.imapHost.trim() : "";
|
|
39
|
+
if (imapHost !== "" && !/^[A-Za-z0-9.-]{1,253}$/.test(imapHost))
|
|
40
|
+
return { ok: false, message: "Give the server Inbox triggers read from, like imap.gmail.com, or leave it empty." };
|
|
41
|
+
const imapPort = input.imapPort === undefined || input.imapPort === "" || input.imapPort === null ? 993 : Number(input.imapPort);
|
|
42
|
+
if (!Number.isInteger(imapPort) || imapPort < 1 || imapPort > 65535)
|
|
43
|
+
return { ok: false, message: "The reading port is a number, usually 993." };
|
|
44
|
+
const password = typeof input.password === "string" && input.password !== "" ? input.password : readEmailSettings(dir)?.password ?? "";
|
|
45
|
+
writeFileSync(join(dir, EMAIL_FILE), JSON.stringify({ host, port, secure: input.secure === true || input.secure === "on" || input.secure === "true" || port === 465, user, from, password,
|
|
46
|
+
// 993 is TLS from the start; any other port must upgrade with STARTTLS before the password is sent.
|
|
47
|
+
imap: imapHost === "" ? null : { host: imapHost, port: imapPort, secure: imapPort === 993 } }), { mode: 0o600 });
|
|
48
|
+
chmodSync(join(dir, EMAIL_FILE), 0o600);
|
|
49
|
+
return { ok: true, said: imapHost === "" ? `Email is set up: it comes from ${from}.` : `Email is set up: it comes from ${from}, and Inbox triggers read ${imapHost}.` };
|
|
50
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The machine envelope — the one shape every `--json` answer takes.
|
|
3
|
+
*
|
|
4
|
+
* Agents branch on this output ten thousand times a night, so the contract
|
|
5
|
+
* is versioned and deliberately dull: `envelopeVersion` first, then `ok`,
|
|
6
|
+
* then `command`, then whatever the command has to say. Failures add a
|
|
7
|
+
* stable `reason` token and a human `message`. Nothing else about the
|
|
8
|
+
* shape is promised, and consumers are told to ignore keys they do not
|
|
9
|
+
* recognize — that is what lets the envelope grow without breaking anyone.
|
|
10
|
+
*
|
|
11
|
+
* Every emission in the CLI routes through `envelopeJson` (a source-level
|
|
12
|
+
* test enforces it), which is also what makes `-o <file>` possible: the
|
|
13
|
+
* entry point asks this module for the last envelope written and copies it
|
|
14
|
+
* to the file, so an agent never has to scrape a terminal.
|
|
15
|
+
*/
|
|
16
|
+
export declare const ENVELOPE_VERSION = 1;
|
|
17
|
+
/**
|
|
18
|
+
* Feature detection for agent consumers, Claude-`system/init` style:
|
|
19
|
+
* a bounded list of protocol behaviors this build honors. Consumers must
|
|
20
|
+
* ignore values they do not recognize. Behaviors, not versions — an agent
|
|
21
|
+
* should ask "can I rely on stable reasons", never "is this 0.1.2".
|
|
22
|
+
*/
|
|
23
|
+
export declare const CAPABILITIES: readonly string[];
|
|
24
|
+
/**
|
|
25
|
+
* DOCUMENTED reasons — the curated vocabulary the command guide's
|
|
26
|
+
* `notableReasons` may cite. Deliberately named for what it is: a list of
|
|
27
|
+
* tokens that are DOCUMENTED, not a proof of runtime exhaustiveness (the
|
|
28
|
+
* runtime `reason` field remains the truth; consumers branch on tokens
|
|
29
|
+
* and ignore ones they do not recognize). A test ties every entry to a
|
|
30
|
+
* literal in the source so a typo cannot ship.
|
|
31
|
+
*/
|
|
32
|
+
export declare const DOCUMENTED_REASONS: readonly string[];
|
|
33
|
+
export type EnvelopePayload = {
|
|
34
|
+
ok: boolean;
|
|
35
|
+
command: string;
|
|
36
|
+
[key: string]: unknown;
|
|
37
|
+
};
|
|
38
|
+
/** The entry point's early-flush hook (arc 2): for long-running commands,
|
|
39
|
+
* `-o` lands the startup envelope the moment it exists. The hook must not
|
|
40
|
+
* throw — the entry point's own hook catches internally. */
|
|
41
|
+
export declare function onEnvelopeCaptured(hook: ((body: string) => void) | null): void;
|
|
42
|
+
/** Serialize one envelope, remembering it for `-o` teeing at the entry point. */
|
|
43
|
+
export declare function envelopeJson(payload: EnvelopePayload): string;
|
|
44
|
+
/** The last envelope this process serialized, or null if none has been. */
|
|
45
|
+
export declare function capturedEnvelope(): string | null;
|
|
46
|
+
/** Forget the captured envelope — the entry point calls this before dispatch. */
|
|
47
|
+
export declare function resetCapturedEnvelope(): void;
|
package/dist/envelope.js
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The machine envelope — the one shape every `--json` answer takes.
|
|
3
|
+
*
|
|
4
|
+
* Agents branch on this output ten thousand times a night, so the contract
|
|
5
|
+
* is versioned and deliberately dull: `envelopeVersion` first, then `ok`,
|
|
6
|
+
* then `command`, then whatever the command has to say. Failures add a
|
|
7
|
+
* stable `reason` token and a human `message`. Nothing else about the
|
|
8
|
+
* shape is promised, and consumers are told to ignore keys they do not
|
|
9
|
+
* recognize — that is what lets the envelope grow without breaking anyone.
|
|
10
|
+
*
|
|
11
|
+
* Every emission in the CLI routes through `envelopeJson` (a source-level
|
|
12
|
+
* test enforces it), which is also what makes `-o <file>` possible: the
|
|
13
|
+
* entry point asks this module for the last envelope written and copies it
|
|
14
|
+
* to the file, so an agent never has to scrape a terminal.
|
|
15
|
+
*/
|
|
16
|
+
export const ENVELOPE_VERSION = 1;
|
|
17
|
+
/**
|
|
18
|
+
* Feature detection for agent consumers, Claude-`system/init` style:
|
|
19
|
+
* a bounded list of protocol behaviors this build honors. Consumers must
|
|
20
|
+
* ignore values they do not recognize. Behaviors, not versions — an agent
|
|
21
|
+
* should ask "can I rely on stable reasons", never "is this 0.1.2".
|
|
22
|
+
*/
|
|
23
|
+
export const CAPABILITIES = [
|
|
24
|
+
"envelope/1", // every --json answer is one versioned envelope on stdout
|
|
25
|
+
"stable-reasons", // failure `reason` is a token that survives rewording
|
|
26
|
+
"idempotency-keys", // every mutation takes --key; retries return the first answer
|
|
27
|
+
"exit-codes/0-1-2-3", // 0 ok · 1 broke · 2 usage · 3 ran fine, answer is no
|
|
28
|
+
"output-file", // -o <file> writes the same envelope to a file
|
|
29
|
+
"command-schema/1", // contract --commands dumps the declared command guide
|
|
30
|
+
"skill-guides/1", // skills list / skills get serve version-matched guides
|
|
31
|
+
"session-client/1", // typed operator transport; query the service for actual availability
|
|
32
|
+
];
|
|
33
|
+
/**
|
|
34
|
+
* DOCUMENTED reasons — the curated vocabulary the command guide's
|
|
35
|
+
* `notableReasons` may cite. Deliberately named for what it is: a list of
|
|
36
|
+
* tokens that are DOCUMENTED, not a proof of runtime exhaustiveness (the
|
|
37
|
+
* runtime `reason` field remains the truth; consumers branch on tokens
|
|
38
|
+
* and ignore ones they do not recognize). A test ties every entry to a
|
|
39
|
+
* literal in the source so a typo cannot ship.
|
|
40
|
+
*/
|
|
41
|
+
export const DOCUMENTED_REASONS = [
|
|
42
|
+
"usage", // the invocation itself was malformed
|
|
43
|
+
"database-busy", // another writer held the selected database for the full wait
|
|
44
|
+
"unknown-task", // the named task does not exist
|
|
45
|
+
"timeout", // task wait reached its caller-supplied deadline
|
|
46
|
+
"failed", // the watched attempt or task failed
|
|
47
|
+
"needs-person", // the task reached a decision or approval only a person can provide
|
|
48
|
+
"unknown-skill", // the named guide does not exist (skills get)
|
|
49
|
+
"unconfirmed", // a preview answered; add --yes to apply
|
|
50
|
+
"foreign-file", // an installer target exists but is not managed by it
|
|
51
|
+
"not-an-approver", // the credential offered does not authenticate
|
|
52
|
+
"held", // somebody else holds it
|
|
53
|
+
"fenced", // a newer lease superseded yours — stop
|
|
54
|
+
"claimed", // already being worked
|
|
55
|
+
"unapproved", // no person has agreed to the scope yet
|
|
56
|
+
"reserved", // the task belongs to another worker's queue
|
|
57
|
+
"external", // a tracker mirror is not dispatchable (see detail)
|
|
58
|
+
"contest-open", // a tournament is running; a person picks
|
|
59
|
+
"all-lanes-raceable", // every compared agent could hold a real budget — race them instead
|
|
60
|
+
"provider-unattested", // the provider binary is outside its attested range
|
|
61
|
+
"daily-runs", // the active mode's daily run cap is spent
|
|
62
|
+
"daily-dollars", // the active mode's daily measured-spend rail is reached
|
|
63
|
+
"steering-pending", // a steering note is waiting; contests refuse
|
|
64
|
+
"not-ready", // blocked, held, or otherwise not dispatchable
|
|
65
|
+
"not-leased", // the lease does not exist or already ended
|
|
66
|
+
"not-yours", // held or reserved by someone else
|
|
67
|
+
"no-op", // nothing to do — an answer, not an error
|
|
68
|
+
"duplicate", // the identity already exists
|
|
69
|
+
"empty", // nothing matched
|
|
70
|
+
"quota", // a budget or cap refused the act
|
|
71
|
+
"not-a-repo", // the path has no .git
|
|
72
|
+
"stale-approval", // what would run no longer matches what was approved
|
|
73
|
+
"profile-unresolved", // the scope cannot say exactly what would run — restate it
|
|
74
|
+
"repair-attempts-spent", // the chain's signed attempt cap is spent
|
|
75
|
+
"repair-no-progress", // two consecutive repair attempts failed to shrink the unresolved set
|
|
76
|
+
"repair-refused-integrity", // a refutation named an altered term, not a gap — no automatic repair
|
|
77
|
+
];
|
|
78
|
+
let captured = null;
|
|
79
|
+
let captureHook = null;
|
|
80
|
+
/** The entry point's early-flush hook (arc 2): for long-running commands,
|
|
81
|
+
* `-o` lands the startup envelope the moment it exists. The hook must not
|
|
82
|
+
* throw — the entry point's own hook catches internally. */
|
|
83
|
+
export function onEnvelopeCaptured(hook) {
|
|
84
|
+
captureHook = hook;
|
|
85
|
+
}
|
|
86
|
+
/** Serialize one envelope, remembering it for `-o` teeing at the entry point. */
|
|
87
|
+
export function envelopeJson(payload) {
|
|
88
|
+
const body = JSON.stringify({ envelopeVersion: ENVELOPE_VERSION, ...payload }, null, 2);
|
|
89
|
+
captured = body;
|
|
90
|
+
try {
|
|
91
|
+
captureHook?.(body);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// A hook that throws must never reach the command's envelope path.
|
|
95
|
+
}
|
|
96
|
+
return body;
|
|
97
|
+
}
|
|
98
|
+
/** The last envelope this process serialized, or null if none has been. */
|
|
99
|
+
export function capturedEnvelope() {
|
|
100
|
+
return captured;
|
|
101
|
+
}
|
|
102
|
+
/** Forget the captured envelope — the entry point calls this before dispatch. */
|
|
103
|
+
export function resetCapturedEnvelope() {
|
|
104
|
+
captured = null;
|
|
105
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { type Filer } from "./approval-policy.js";
|
|
2
|
+
import { type AssignmentAccess, type AssignmentSnapshot } from "./assignment.js";
|
|
3
|
+
import type { SealedLedgerEntry, Store } from "./store.js";
|
|
4
|
+
import type { LedgerChainReport } from "./ledger-chain.js";
|
|
5
|
+
export declare const EVIDENCE_PACK_FORMAT = "standing-orders/evidence-pack/v1";
|
|
6
|
+
/** How to recheck one entry's seal, for whoever reads the JSON. */
|
|
7
|
+
export declare const SEAL_RECIPE = "hash = sha256(prev + \"\\n\" + JSON.stringify([id, at, actor, repo, taskId, runId, action, outcome, source, detail]))";
|
|
8
|
+
type SealedEntry = SealedLedgerEntry;
|
|
9
|
+
export type EvidencePack = {
|
|
10
|
+
format: typeof EVIDENCE_PACK_FORMAT;
|
|
11
|
+
generatedAt: string;
|
|
12
|
+
generatedBy: string;
|
|
13
|
+
task: {
|
|
14
|
+
id: string;
|
|
15
|
+
title: string;
|
|
16
|
+
state: string;
|
|
17
|
+
repo: string | null;
|
|
18
|
+
project: string | null;
|
|
19
|
+
filedAt: string;
|
|
20
|
+
};
|
|
21
|
+
rules: {
|
|
22
|
+
now: string;
|
|
23
|
+
changes: {
|
|
24
|
+
id: number;
|
|
25
|
+
at: string;
|
|
26
|
+
by: string;
|
|
27
|
+
change: string | null;
|
|
28
|
+
}[];
|
|
29
|
+
} | null;
|
|
30
|
+
/** The task and each revision of it, oldest first. */
|
|
31
|
+
versions: {
|
|
32
|
+
id: string;
|
|
33
|
+
title: string;
|
|
34
|
+
state: string;
|
|
35
|
+
filedAt: string;
|
|
36
|
+
filedBy: Filer | null;
|
|
37
|
+
scope: {
|
|
38
|
+
goal: string;
|
|
39
|
+
outOfScope: string | null;
|
|
40
|
+
touches: string[];
|
|
41
|
+
acceptance: {
|
|
42
|
+
id: string;
|
|
43
|
+
statement: string;
|
|
44
|
+
}[];
|
|
45
|
+
budgetUsd: number | null;
|
|
46
|
+
digest: string;
|
|
47
|
+
approved: {
|
|
48
|
+
by: string;
|
|
49
|
+
at: string;
|
|
50
|
+
digest: string;
|
|
51
|
+
basis: "person" | "mode";
|
|
52
|
+
current: boolean;
|
|
53
|
+
} | null;
|
|
54
|
+
writtenBy: {
|
|
55
|
+
digest: string;
|
|
56
|
+
author: string;
|
|
57
|
+
at: string;
|
|
58
|
+
}[];
|
|
59
|
+
approvals: {
|
|
60
|
+
digest: string;
|
|
61
|
+
approver: string;
|
|
62
|
+
at: string;
|
|
63
|
+
}[];
|
|
64
|
+
} | null;
|
|
65
|
+
runs: {
|
|
66
|
+
id: number;
|
|
67
|
+
role: string;
|
|
68
|
+
agent: string;
|
|
69
|
+
model: string | null;
|
|
70
|
+
outcome: string | null;
|
|
71
|
+
reason: string | null;
|
|
72
|
+
base: string | null;
|
|
73
|
+
head: string | null;
|
|
74
|
+
startedAt: string;
|
|
75
|
+
finishedAt: string | null;
|
|
76
|
+
tokensIn: number | null;
|
|
77
|
+
tokensOut: number | null;
|
|
78
|
+
costUsd: number | null;
|
|
79
|
+
/** The files a build changed (renames on both sides); null when its record can't be read whole. */
|
|
80
|
+
changedFiles: string[] | null;
|
|
81
|
+
diff: {
|
|
82
|
+
sha256: string;
|
|
83
|
+
bytes: number;
|
|
84
|
+
complete: boolean;
|
|
85
|
+
} | null;
|
|
86
|
+
proof: {
|
|
87
|
+
verdict: string;
|
|
88
|
+
decidedAt: string;
|
|
89
|
+
reasons: string[];
|
|
90
|
+
} | null;
|
|
91
|
+
publication: {
|
|
92
|
+
repo: string;
|
|
93
|
+
branch: string;
|
|
94
|
+
commit: string;
|
|
95
|
+
state: string;
|
|
96
|
+
pr: number | null;
|
|
97
|
+
url: string | null;
|
|
98
|
+
remoteState: string | null;
|
|
99
|
+
checks: string | null;
|
|
100
|
+
} | null;
|
|
101
|
+
}[];
|
|
102
|
+
}[];
|
|
103
|
+
result: {
|
|
104
|
+
runId: number;
|
|
105
|
+
base: string | null;
|
|
106
|
+
head: string | null;
|
|
107
|
+
kind: string | null;
|
|
108
|
+
checks: {
|
|
109
|
+
status: string;
|
|
110
|
+
command: string | null;
|
|
111
|
+
exitCode: number | null;
|
|
112
|
+
detail: string;
|
|
113
|
+
};
|
|
114
|
+
completedBy: string | null;
|
|
115
|
+
completedAt: string | null;
|
|
116
|
+
caveats: string[];
|
|
117
|
+
publication: AssignmentSnapshot["publication"];
|
|
118
|
+
} | null;
|
|
119
|
+
totals: {
|
|
120
|
+
runs: number;
|
|
121
|
+
costUsd: number;
|
|
122
|
+
tokensIn: number;
|
|
123
|
+
tokensOut: number;
|
|
124
|
+
};
|
|
125
|
+
ledger: {
|
|
126
|
+
entries: SealedEntry[];
|
|
127
|
+
/** More entries (or requests) exist than a pack carries; the ledger export has them all. */
|
|
128
|
+
truncated: boolean;
|
|
129
|
+
/** `checkedAt`: when the whole chain was last walked (entries since were checked as they came). */
|
|
130
|
+
chain: {
|
|
131
|
+
ok: boolean;
|
|
132
|
+
entries: number;
|
|
133
|
+
through: number | null;
|
|
134
|
+
head: string;
|
|
135
|
+
problem: string | null;
|
|
136
|
+
checkedAt: string | null;
|
|
137
|
+
};
|
|
138
|
+
checkpoint: {
|
|
139
|
+
through: number;
|
|
140
|
+
hash: string;
|
|
141
|
+
at: string;
|
|
142
|
+
} | null;
|
|
143
|
+
recipe: string;
|
|
144
|
+
};
|
|
145
|
+
/** sha256 of this pack's JSON without this field. */
|
|
146
|
+
digest: string;
|
|
147
|
+
};
|
|
148
|
+
/** The pack for one task (the whole family: the task and every revision), as `who` may see it. null when they can't. */
|
|
149
|
+
export declare function evidencePack(store: Store, taskId: string, access: AssignmentAccess, who: string, now: Date, evidenceRoot: string, checked?: LedgerChainReport): EvidencePack | null;
|
|
150
|
+
export declare function packDigest(body: Omit<EvidencePack, "digest">): string;
|
|
151
|
+
/** A day as the export takes it (YYYY-MM-DD, UTC), or null. */
|
|
152
|
+
export declare function exportDay(value: string | null): string | null;
|
|
153
|
+
export type LedgerExport = {
|
|
154
|
+
format: "standing-orders/ledger-export/v1";
|
|
155
|
+
generatedAt: string;
|
|
156
|
+
generatedBy: string;
|
|
157
|
+
from: string;
|
|
158
|
+
to: string;
|
|
159
|
+
chain: EvidencePack["ledger"]["chain"];
|
|
160
|
+
checkpoint: EvidencePack["ledger"]["checkpoint"];
|
|
161
|
+
recipe: string;
|
|
162
|
+
entries: SealedEntry[];
|
|
163
|
+
/** An evidence pack for every task the range's entries name. */
|
|
164
|
+
packs: EvidencePack[];
|
|
165
|
+
truncated: {
|
|
166
|
+
entries: boolean;
|
|
167
|
+
packs: boolean;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
/** Every ledger entry in [from, to) that `who` may read, sealed, with a pack for each task they name: one JSON
|
|
171
|
+
* document (a `LedgerExport`), a piece at a time (a page of entries, or one pack), so an export never holds
|
|
172
|
+
* the whole range at once. */
|
|
173
|
+
export declare function ledgerExportChunks(store: Store, range: {
|
|
174
|
+
from: string;
|
|
175
|
+
to: string;
|
|
176
|
+
}, scope: {
|
|
177
|
+
repos: readonly string[] | null;
|
|
178
|
+
instance: boolean;
|
|
179
|
+
}, access: AssignmentAccess, who: string, now: Date, evidenceRoot: string): Generator<string, void, undefined>;
|
|
180
|
+
export declare const EVIDENCE_PACK_CSS: string;
|
|
181
|
+
/** The pack as a page: the same facts, in the order an auditor reads them. No script. */
|
|
182
|
+
export declare function evidencePackHtml(pack: EvidencePack): string;
|
|
183
|
+
/** The page as a file on its own (the CLI's --html): the same facts with just enough style to print. */
|
|
184
|
+
export declare function standaloneEvidenceHtml(pack: EvidencePack): string;
|
|
185
|
+
export {};
|