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,780 @@
|
|
|
1
|
+
/** The browser consumes this contract with a type-only import. All HTML is
|
|
2
|
+
* produced by the existing trusted server renderers, never by a model-supplied
|
|
3
|
+
* fragment. These projections do not authenticate, mutate or grant authority. */
|
|
4
|
+
import type { TeamSnapshot } from './team-contract.js';
|
|
5
|
+
import type { AssignmentSnapshot } from './assignment.js';
|
|
6
|
+
export { browserCrewFromIndex, browserWorkActionHref } from './browser-crew.js';
|
|
7
|
+
import type { Store } from './store.js';
|
|
8
|
+
import type { WorkSummaryAccess } from './work-summary.js';
|
|
9
|
+
import type { StatusTone } from './workspace-ui.js';
|
|
10
|
+
import type { AssignmentCard } from './assignment-ui.js';
|
|
11
|
+
export type BrowserProject = {
|
|
12
|
+
name: string;
|
|
13
|
+
path: string;
|
|
14
|
+
href: string;
|
|
15
|
+
knowledgeHref: string;
|
|
16
|
+
};
|
|
17
|
+
/** count: tasks waiting on a person, shown beside Tasks when above zero. */
|
|
18
|
+
export type BrowserNavigationItem = {
|
|
19
|
+
label: string;
|
|
20
|
+
href: string;
|
|
21
|
+
active: boolean;
|
|
22
|
+
count?: number;
|
|
23
|
+
};
|
|
24
|
+
export type BrowserChatLink = {
|
|
25
|
+
kind: 'project' | 'task';
|
|
26
|
+
title: string;
|
|
27
|
+
href: string;
|
|
28
|
+
at: string | null;
|
|
29
|
+
active: boolean;
|
|
30
|
+
};
|
|
31
|
+
export type BrowserCrewItem = {
|
|
32
|
+
id: string;
|
|
33
|
+
title: string;
|
|
34
|
+
project: string | null;
|
|
35
|
+
state: AssignmentSnapshot['state'];
|
|
36
|
+
label: string;
|
|
37
|
+
tone: StatusTone;
|
|
38
|
+
href: string;
|
|
39
|
+
resultHref: string | null;
|
|
40
|
+
action: {
|
|
41
|
+
label: string;
|
|
42
|
+
href: string;
|
|
43
|
+
} | null;
|
|
44
|
+
};
|
|
45
|
+
export type BrowserMessage = {
|
|
46
|
+
id: number;
|
|
47
|
+
role: 'operator' | 'assistant';
|
|
48
|
+
text: string;
|
|
49
|
+
html: string;
|
|
50
|
+
activity: string | null;
|
|
51
|
+
createdAt: string;
|
|
52
|
+
cardsHtml: string;
|
|
53
|
+
/** The same cards as data, confirmed in place (chat cards). */
|
|
54
|
+
cards?: BrowserActionCard[];
|
|
55
|
+
};
|
|
56
|
+
/** A card the lead proposed: what it would do (the server's own body) and
|
|
57
|
+
* the one act it offers. Confirming posts to the card's own door. */
|
|
58
|
+
export type BrowserActionCard = {
|
|
59
|
+
id: number;
|
|
60
|
+
kind: string;
|
|
61
|
+
label: string;
|
|
62
|
+
state: 'drafting' | 'pending' | 'confirming' | 'confirmed' | 'refused' | 'dismissed' | 'expired';
|
|
63
|
+
body: string;
|
|
64
|
+
said: string | null;
|
|
65
|
+
links: BrowserLink[];
|
|
66
|
+
primary: {
|
|
67
|
+
kind: 'confirm';
|
|
68
|
+
label: string;
|
|
69
|
+
irreversible: boolean;
|
|
70
|
+
native: boolean;
|
|
71
|
+
} | {
|
|
72
|
+
kind: 'link';
|
|
73
|
+
label: string;
|
|
74
|
+
href: string;
|
|
75
|
+
} | null;
|
|
76
|
+
dismissable: boolean;
|
|
77
|
+
note: string | null;
|
|
78
|
+
};
|
|
79
|
+
export type BrowserConversation = {
|
|
80
|
+
sessionId: number;
|
|
81
|
+
user: string;
|
|
82
|
+
version: string;
|
|
83
|
+
messages: BrowserMessage[];
|
|
84
|
+
pendingTurnId: number | null;
|
|
85
|
+
requestId: string;
|
|
86
|
+
maxChars: number;
|
|
87
|
+
taskId: string | null;
|
|
88
|
+
resultRunId: number | null;
|
|
89
|
+
/** A project's own thread (v77); absent or null for the lead conversation or a task. */
|
|
90
|
+
project?: string | null;
|
|
91
|
+
};
|
|
92
|
+
/** A page rebuilt as React components (shadcn/ui). The server still renders
|
|
93
|
+
* its HTML as the no-JavaScript fallback; forms post to the same routes. */
|
|
94
|
+
export type BrowserLink = {
|
|
95
|
+
label: string;
|
|
96
|
+
href: string;
|
|
97
|
+
};
|
|
98
|
+
export type BrowserTasksView = {
|
|
99
|
+
kind: 'tasks';
|
|
100
|
+
tabs: (BrowserLink & {
|
|
101
|
+
count: number;
|
|
102
|
+
active: boolean;
|
|
103
|
+
})[];
|
|
104
|
+
rows: {
|
|
105
|
+
id: string;
|
|
106
|
+
title: string;
|
|
107
|
+
href: string;
|
|
108
|
+
project: string | null;
|
|
109
|
+
age: string;
|
|
110
|
+
status: {
|
|
111
|
+
label: string;
|
|
112
|
+
tone: StatusTone;
|
|
113
|
+
token: string;
|
|
114
|
+
};
|
|
115
|
+
action: BrowserLink | null;
|
|
116
|
+
detail: string | null;
|
|
117
|
+
problem: string | null;
|
|
118
|
+
notes: string[];
|
|
119
|
+
}[];
|
|
120
|
+
empty: {
|
|
121
|
+
text: string;
|
|
122
|
+
action: BrowserLink | null;
|
|
123
|
+
} | null;
|
|
124
|
+
pages: {
|
|
125
|
+
first: string | null;
|
|
126
|
+
next: string | null;
|
|
127
|
+
};
|
|
128
|
+
tools: BrowserLink[];
|
|
129
|
+
newTask: BrowserLink;
|
|
130
|
+
/** v105: subscription windows and monthly budgets, one tile each (an instance operator's; null when there are none). */
|
|
131
|
+
limits: BrowserLimits | null;
|
|
132
|
+
};
|
|
133
|
+
/** One limit: a plan's usage window ("Claude · 5-hour, 48%") or a monthly budget ("shop · Budget, $4.20 of $10"). */
|
|
134
|
+
export type BrowserLimitTile = {
|
|
135
|
+
key: string;
|
|
136
|
+
name: string;
|
|
137
|
+
window: string;
|
|
138
|
+
value: string;
|
|
139
|
+
unit: string;
|
|
140
|
+
percent: number;
|
|
141
|
+
detail: string;
|
|
142
|
+
tone: 'neutral' | 'warning' | 'danger';
|
|
143
|
+
marks: number[];
|
|
144
|
+
title: string | null;
|
|
145
|
+
href: string | null;
|
|
146
|
+
};
|
|
147
|
+
export type BrowserLimits = {
|
|
148
|
+
tiles: BrowserLimitTile[];
|
|
149
|
+
};
|
|
150
|
+
export type BrowserSettingsView = {
|
|
151
|
+
kind: 'settings';
|
|
152
|
+
said: string | null;
|
|
153
|
+
tiles: BrowserLink[];
|
|
154
|
+
theme: 'system' | 'light' | 'dark';
|
|
155
|
+
/** The signal colour chosen for this browser (Settings → Appearance), "#rrggbb"; chart magenta by default. */
|
|
156
|
+
accent: string;
|
|
157
|
+
accentPresets: {
|
|
158
|
+
id: string;
|
|
159
|
+
name: string;
|
|
160
|
+
year: number | null;
|
|
161
|
+
hex: string;
|
|
162
|
+
}[];
|
|
163
|
+
permission: {
|
|
164
|
+
mode: string;
|
|
165
|
+
canManage: boolean;
|
|
166
|
+
changed: string | null;
|
|
167
|
+
} | null;
|
|
168
|
+
quality: {
|
|
169
|
+
mode: string;
|
|
170
|
+
canManage: boolean;
|
|
171
|
+
changed: string | null;
|
|
172
|
+
} | null;
|
|
173
|
+
providers: {
|
|
174
|
+
provider: string;
|
|
175
|
+
name: string;
|
|
176
|
+
tone: 'ok' | 'warn' | 'off' | 'neutral';
|
|
177
|
+
words: string;
|
|
178
|
+
connection: {
|
|
179
|
+
words: string;
|
|
180
|
+
facts: string;
|
|
181
|
+
checkHref: string;
|
|
182
|
+
} | null;
|
|
183
|
+
usage: string;
|
|
184
|
+
envName: string;
|
|
185
|
+
subscriptionCapable: boolean;
|
|
186
|
+
mode: 'subscription' | 'api-key';
|
|
187
|
+
set: boolean;
|
|
188
|
+
}[] | null;
|
|
189
|
+
services: {
|
|
190
|
+
configured: string[];
|
|
191
|
+
channel: string | null;
|
|
192
|
+
implicit: boolean;
|
|
193
|
+
} | null;
|
|
194
|
+
push: {
|
|
195
|
+
available: boolean;
|
|
196
|
+
devices: {
|
|
197
|
+
id: number;
|
|
198
|
+
words: string;
|
|
199
|
+
state: string;
|
|
200
|
+
removable: boolean;
|
|
201
|
+
}[];
|
|
202
|
+
} | null;
|
|
203
|
+
digest: {
|
|
204
|
+
every: string;
|
|
205
|
+
held: string | null;
|
|
206
|
+
} | null;
|
|
207
|
+
telegram: {
|
|
208
|
+
state: string;
|
|
209
|
+
current: string;
|
|
210
|
+
/** v98: how the bot's messages reach Toolroll (pushed, or asked for), in words. */
|
|
211
|
+
delivery?: string | null;
|
|
212
|
+
};
|
|
213
|
+
/** Each worker: how many tasks it runs at once, and what it is running now. */
|
|
214
|
+
workers?: {
|
|
215
|
+
name: string;
|
|
216
|
+
tone: 'ok' | 'warn' | 'off';
|
|
217
|
+
state: string;
|
|
218
|
+
capacity: number;
|
|
219
|
+
busy: number;
|
|
220
|
+
running: {
|
|
221
|
+
taskId: string;
|
|
222
|
+
title: string;
|
|
223
|
+
href: string;
|
|
224
|
+
project: string | null;
|
|
225
|
+
}[];
|
|
226
|
+
}[] | null;
|
|
227
|
+
/** v87: the mail server Send email steps use (approvers only); the password is never shown back. */
|
|
228
|
+
email?: {
|
|
229
|
+
set: boolean;
|
|
230
|
+
host: string;
|
|
231
|
+
port: number;
|
|
232
|
+
secure: boolean;
|
|
233
|
+
user: string;
|
|
234
|
+
from: string;
|
|
235
|
+
/** v89: where Email inbox triggers read (IMAP), and a Google account connected instead of a mail server (`redirect`: the address to register with Google, when this page's address can take one). */
|
|
236
|
+
imapHost: string;
|
|
237
|
+
imapPort: number;
|
|
238
|
+
google: {
|
|
239
|
+
connected: string | null;
|
|
240
|
+
clientId: string;
|
|
241
|
+
redirect: string | null;
|
|
242
|
+
};
|
|
243
|
+
} | null;
|
|
244
|
+
};
|
|
245
|
+
/** A fold on the task page. Its HTML is the server's own section body, so
|
|
246
|
+
* forms, ids and page scripts are unchanged. */
|
|
247
|
+
export type BrowserTaskSection = {
|
|
248
|
+
id: string;
|
|
249
|
+
title: string;
|
|
250
|
+
html: string;
|
|
251
|
+
open: boolean;
|
|
252
|
+
count: number | null;
|
|
253
|
+
};
|
|
254
|
+
export type BrowserTaskFact = {
|
|
255
|
+
label: string;
|
|
256
|
+
parts: (string | BrowserLink | {
|
|
257
|
+
seal: string;
|
|
258
|
+
})[];
|
|
259
|
+
};
|
|
260
|
+
export type BrowserTaskView = {
|
|
261
|
+
kind: 'task';
|
|
262
|
+
id: string;
|
|
263
|
+
title: string;
|
|
264
|
+
project: string | null;
|
|
265
|
+
scout: boolean;
|
|
266
|
+
tabs: (BrowserLink & {
|
|
267
|
+
active: boolean;
|
|
268
|
+
})[];
|
|
269
|
+
version: {
|
|
270
|
+
label: string;
|
|
271
|
+
current: BrowserLink;
|
|
272
|
+
} | null;
|
|
273
|
+
/** The status card; `statusHtml` stands in when no assignment projection exists. */
|
|
274
|
+
status: AssignmentCard | null;
|
|
275
|
+
statusHtml: string;
|
|
276
|
+
/** The approval ceremony or its updated terms, exactly as signed. */
|
|
277
|
+
approval: string;
|
|
278
|
+
/** Server cards that may need a person now (stop/resume, scope prompt, plan, live attempt). */
|
|
279
|
+
lead: {
|
|
280
|
+
key: string;
|
|
281
|
+
html: string;
|
|
282
|
+
}[];
|
|
283
|
+
questions: string;
|
|
284
|
+
facts: BrowserTaskFact[];
|
|
285
|
+
sections: BrowserTaskSection[];
|
|
286
|
+
manage: BrowserTaskSection[];
|
|
287
|
+
/** The armed cancel form; null once the task cannot be cancelled. */
|
|
288
|
+
cancel: {
|
|
289
|
+
html: string;
|
|
290
|
+
open: boolean;
|
|
291
|
+
} | null;
|
|
292
|
+
};
|
|
293
|
+
/** One project on the Projects page; opening it is a POST to /projects/open. */
|
|
294
|
+
export type BrowserProjectRow = {
|
|
295
|
+
name: string;
|
|
296
|
+
path: string;
|
|
297
|
+
shortPath: string;
|
|
298
|
+
open: boolean;
|
|
299
|
+
/** When it was last opened here; null for a project only seen in the queue. */
|
|
300
|
+
openedAt: string | null;
|
|
301
|
+
knowledgeHref: string;
|
|
302
|
+
/** What waits, runs, queues or finished today; null when not scanned. */
|
|
303
|
+
peek: {
|
|
304
|
+
label: string;
|
|
305
|
+
href: string;
|
|
306
|
+
tone: 'attention' | 'info' | 'neutral' | 'success';
|
|
307
|
+
}[] | null;
|
|
308
|
+
};
|
|
309
|
+
export type BrowserProjectsView = {
|
|
310
|
+
kind: 'projects';
|
|
311
|
+
/** Arrived from New task: choosing where the task belongs. */
|
|
312
|
+
choosing: boolean;
|
|
313
|
+
problem: string | null;
|
|
314
|
+
returnTo: string;
|
|
315
|
+
recent: BrowserProjectRow[];
|
|
316
|
+
available: BrowserProjectRow[];
|
|
317
|
+
/** The add roads; `html` carries the server's GitHub-link and exact-path forms. */
|
|
318
|
+
add: {
|
|
319
|
+
browse: string | null;
|
|
320
|
+
github: string | null;
|
|
321
|
+
html: string;
|
|
322
|
+
};
|
|
323
|
+
};
|
|
324
|
+
export type BrowserResultTab = 'summary' | 'changes' | 'checks';
|
|
325
|
+
export type BrowserResultChip = {
|
|
326
|
+
tone: 'success' | 'danger' | 'warning' | 'info' | 'neutral';
|
|
327
|
+
label: string;
|
|
328
|
+
icon: 'check' | 'x' | null;
|
|
329
|
+
title: string | null;
|
|
330
|
+
};
|
|
331
|
+
/** The shared result panel in parts. Each tab's content, the feedback
|
|
332
|
+
* section and the learning card are the server's own HTML; the page script
|
|
333
|
+
* binds to the same data attributes and ids (tabs, drafts, line notes). */
|
|
334
|
+
export type BrowserResultPanel = {
|
|
335
|
+
attributes: Record<string, string>;
|
|
336
|
+
heading: string;
|
|
337
|
+
outcome: string;
|
|
338
|
+
verdict: {
|
|
339
|
+
chips: BrowserResultChip[];
|
|
340
|
+
by: string | null;
|
|
341
|
+
} | null;
|
|
342
|
+
reviewHistory: string | null;
|
|
343
|
+
attention: string[];
|
|
344
|
+
/** Storage limits on saved output (shortened logs or diffs): shown on request. */
|
|
345
|
+
limits: string[];
|
|
346
|
+
tabs: {
|
|
347
|
+
key: BrowserResultTab;
|
|
348
|
+
label: string;
|
|
349
|
+
count: string;
|
|
350
|
+
href: string;
|
|
351
|
+
active: boolean;
|
|
352
|
+
}[];
|
|
353
|
+
views: {
|
|
354
|
+
key: BrowserResultTab;
|
|
355
|
+
html: string;
|
|
356
|
+
}[];
|
|
357
|
+
history: string;
|
|
358
|
+
learning: string;
|
|
359
|
+
request: string | null;
|
|
360
|
+
/** A browser session may attach feedback to this result's sealed diff. */
|
|
361
|
+
canRequest: boolean;
|
|
362
|
+
/** The feedback section holds only the closed form (no notes, revisions or history). */
|
|
363
|
+
requestQuiet: boolean;
|
|
364
|
+
};
|
|
365
|
+
export type BrowserResultView = {
|
|
366
|
+
kind: 'result';
|
|
367
|
+
results: {
|
|
368
|
+
title: string;
|
|
369
|
+
href: string;
|
|
370
|
+
at: string;
|
|
371
|
+
status: {
|
|
372
|
+
label: string;
|
|
373
|
+
tone: StatusTone;
|
|
374
|
+
} | null;
|
|
375
|
+
notes: string[];
|
|
376
|
+
current: boolean;
|
|
377
|
+
needsYou: boolean;
|
|
378
|
+
}[];
|
|
379
|
+
/** How many results need a person; the list's cap when it is full. */
|
|
380
|
+
attention: number;
|
|
381
|
+
capped: number | null;
|
|
382
|
+
missing: string | null;
|
|
383
|
+
beyond: boolean;
|
|
384
|
+
selected: {
|
|
385
|
+
taskId: string;
|
|
386
|
+
title: string;
|
|
387
|
+
project: string | null;
|
|
388
|
+
build: number | null;
|
|
389
|
+
taskHref: string;
|
|
390
|
+
chatHref: string;
|
|
391
|
+
status: {
|
|
392
|
+
label: string;
|
|
393
|
+
tone: StatusTone;
|
|
394
|
+
token: string;
|
|
395
|
+
};
|
|
396
|
+
problem: string | null;
|
|
397
|
+
next: {
|
|
398
|
+
kind: string;
|
|
399
|
+
title: string;
|
|
400
|
+
detail: string;
|
|
401
|
+
control: string;
|
|
402
|
+
} | null;
|
|
403
|
+
complete: {
|
|
404
|
+
action: string;
|
|
405
|
+
receipt: string;
|
|
406
|
+
run: number;
|
|
407
|
+
} | null;
|
|
408
|
+
checks: {
|
|
409
|
+
detail: string;
|
|
410
|
+
problem: boolean;
|
|
411
|
+
logHref: string | null;
|
|
412
|
+
} | null;
|
|
413
|
+
/** The signed scope; null when none was filed. */
|
|
414
|
+
intent: {
|
|
415
|
+
approval: string;
|
|
416
|
+
html: string;
|
|
417
|
+
} | null;
|
|
418
|
+
noRun: string | null;
|
|
419
|
+
panel: BrowserResultPanel | null;
|
|
420
|
+
contest: string;
|
|
421
|
+
notes: {
|
|
422
|
+
author: string;
|
|
423
|
+
at: string;
|
|
424
|
+
note: string;
|
|
425
|
+
}[];
|
|
426
|
+
} | null;
|
|
427
|
+
};
|
|
428
|
+
/** One zone on a flow's canvas: its step, where it leads, and where it sits. */
|
|
429
|
+
export type BrowserFlowStage = {
|
|
430
|
+
id: string;
|
|
431
|
+
title: string;
|
|
432
|
+
kind: "inbox" | "task" | "report" | "approval" | "check" | "update" | "notify" | "sort" | "draft" | "request" | "email" | "tool" | "wait" | "teammate" | "done";
|
|
433
|
+
zone: {
|
|
434
|
+
x: number;
|
|
435
|
+
y: number;
|
|
436
|
+
w: number;
|
|
437
|
+
h: number;
|
|
438
|
+
color: string;
|
|
439
|
+
};
|
|
440
|
+
instructions: string | null;
|
|
441
|
+
planning: "auto" | "required" | "skip" | null;
|
|
442
|
+
approver: string | null;
|
|
443
|
+
message: string | null;
|
|
444
|
+
/** An approval zone the flow's owner decides. */
|
|
445
|
+
toOwner?: boolean;
|
|
446
|
+
/** v87: a web request, an email, a project tool call. */
|
|
447
|
+
request?: {
|
|
448
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
449
|
+
url: string;
|
|
450
|
+
headers: Record<string, string>;
|
|
451
|
+
body: string | null;
|
|
452
|
+
};
|
|
453
|
+
email?: {
|
|
454
|
+
to: string;
|
|
455
|
+
subject: string;
|
|
456
|
+
body: string;
|
|
457
|
+
};
|
|
458
|
+
tool?: {
|
|
459
|
+
server: string;
|
|
460
|
+
name: string;
|
|
461
|
+
args: string;
|
|
462
|
+
};
|
|
463
|
+
close: boolean | null;
|
|
464
|
+
script: string | null;
|
|
465
|
+
/** v90: a script zone runs in an empty folder or a copy of the card's work; the answers its "goto:" line picks; the saved secrets it gets. */
|
|
466
|
+
runIn?: "folder" | "copy";
|
|
467
|
+
routes?: {
|
|
468
|
+
answer: string;
|
|
469
|
+
to: string;
|
|
470
|
+
}[];
|
|
471
|
+
secrets?: string[];
|
|
472
|
+
/** A sort zone: Jev's question, its answers and where each goes, how sure it must be to act alone, and what else it notes. */
|
|
473
|
+
sort: {
|
|
474
|
+
question: string;
|
|
475
|
+
answers: {
|
|
476
|
+
answer: string;
|
|
477
|
+
means: string;
|
|
478
|
+
to: string;
|
|
479
|
+
}[];
|
|
480
|
+
sureAt: number;
|
|
481
|
+
notes: {
|
|
482
|
+
id: string;
|
|
483
|
+
kind: "score" | "yes-no";
|
|
484
|
+
question: string;
|
|
485
|
+
levels: string[] | null;
|
|
486
|
+
}[];
|
|
487
|
+
} | null;
|
|
488
|
+
/** v91: a Wait zone waits for a reply to the card's email (onFail: no reply in time) or a set time; any other zone may have a time limit. */
|
|
489
|
+
wait?: {
|
|
490
|
+
for: "reply" | "time";
|
|
491
|
+
minutes: number;
|
|
492
|
+
};
|
|
493
|
+
limit?: {
|
|
494
|
+
minutes: number;
|
|
495
|
+
to: string | null;
|
|
496
|
+
} | undefined;
|
|
497
|
+
/** v92: the AI teammate who decides (an approval zone) or handles (a teammate zone) it. */
|
|
498
|
+
teammate?: string | undefined;
|
|
499
|
+
/** v96: a teammate zone sends what the teammate writes back to whoever asked. */
|
|
500
|
+
reply?: boolean | undefined;
|
|
501
|
+
next: string | null;
|
|
502
|
+
onFail: string | null;
|
|
503
|
+
};
|
|
504
|
+
/** One card: a piece of work, where it is, what it waits on, what zones said. */
|
|
505
|
+
export type BrowserFlowCard = {
|
|
506
|
+
id: number;
|
|
507
|
+
title: string;
|
|
508
|
+
description: string | null;
|
|
509
|
+
stage: string;
|
|
510
|
+
state: "active" | "done" | "cancelled";
|
|
511
|
+
waiting: string | null;
|
|
512
|
+
task: {
|
|
513
|
+
id: string;
|
|
514
|
+
href: string;
|
|
515
|
+
} | null;
|
|
516
|
+
createdBy: string;
|
|
517
|
+
updatedAt: string;
|
|
518
|
+
canDecide: boolean;
|
|
519
|
+
outputs: {
|
|
520
|
+
stage: string;
|
|
521
|
+
title: string;
|
|
522
|
+
text: string;
|
|
523
|
+
}[];
|
|
524
|
+
history: {
|
|
525
|
+
text: string;
|
|
526
|
+
at: string;
|
|
527
|
+
}[];
|
|
528
|
+
/** Where a trigger found it: a GitHub or Linear issue, another flow's card, a button, a schedule. */
|
|
529
|
+
source: {
|
|
530
|
+
kind: string;
|
|
531
|
+
label: string;
|
|
532
|
+
url: string | null;
|
|
533
|
+
} | null;
|
|
534
|
+
/** Who is responsible for it, who follows it, and whether the viewer does. */
|
|
535
|
+
owner: string | null;
|
|
536
|
+
watchers: string[];
|
|
537
|
+
watching: boolean;
|
|
538
|
+
/** Owned by the viewer, followed by them, or waiting on their decision. */
|
|
539
|
+
mine: boolean;
|
|
540
|
+
/** What people said on it, oldest first; ownership changes read as history instead. */
|
|
541
|
+
comments: {
|
|
542
|
+
id: number;
|
|
543
|
+
author: string;
|
|
544
|
+
body: string;
|
|
545
|
+
mentions: string[];
|
|
546
|
+
at: string;
|
|
547
|
+
}[];
|
|
548
|
+
/** The latest sort: its short chip ("Bug · 94% · Now") and whether Jev was sure enough to act alone. */
|
|
549
|
+
sorted: {
|
|
550
|
+
chip: string;
|
|
551
|
+
confident: boolean;
|
|
552
|
+
} | null;
|
|
553
|
+
/** Waiting at a decision after a draft: the draft, which the person can edit before approving. */
|
|
554
|
+
draft: {
|
|
555
|
+
zone: string;
|
|
556
|
+
title: string;
|
|
557
|
+
text: string;
|
|
558
|
+
} | null;
|
|
559
|
+
/** v91: when its Wait zone gives up or moves on, or its zone's time limit comes (shown in the viewer's own time). */
|
|
560
|
+
deadline?: {
|
|
561
|
+
at: string;
|
|
562
|
+
label: string;
|
|
563
|
+
} | null;
|
|
564
|
+
/** v92: a teammate's open question about this visit, and whether the viewer is the one asked. */
|
|
565
|
+
question?: {
|
|
566
|
+
id: number;
|
|
567
|
+
from: string;
|
|
568
|
+
question: string;
|
|
569
|
+
options: {
|
|
570
|
+
id: string;
|
|
571
|
+
label: string;
|
|
572
|
+
}[];
|
|
573
|
+
askedOf: string;
|
|
574
|
+
mine: boolean;
|
|
575
|
+
/** v94: a tool call waiting for approval — why the teammate wants it, and why it needs approval. */
|
|
576
|
+
call?: {
|
|
577
|
+
why: string;
|
|
578
|
+
rule: string;
|
|
579
|
+
} | null;
|
|
580
|
+
} | null;
|
|
581
|
+
/** v92: what the teammate said when it handed this decision to a person. */
|
|
582
|
+
handoff?: {
|
|
583
|
+
from: string;
|
|
584
|
+
note: string;
|
|
585
|
+
} | null;
|
|
586
|
+
/** v94: every tool call teammates made or asked to make on this card, oldest first: the receipts. */
|
|
587
|
+
calls?: {
|
|
588
|
+
id: number;
|
|
589
|
+
who: string;
|
|
590
|
+
words: string;
|
|
591
|
+
state: string;
|
|
592
|
+
outcome: string;
|
|
593
|
+
why: string;
|
|
594
|
+
result: string | null;
|
|
595
|
+
at: string;
|
|
596
|
+
/** v97: the teammate's id and the action that undoes this call, when a person can press Undo. */
|
|
597
|
+
teammate?: number;
|
|
598
|
+
undo?: string | null;
|
|
599
|
+
}[];
|
|
600
|
+
};
|
|
601
|
+
/** What starts cards in a flow on its own. */
|
|
602
|
+
export type BrowserFlowTrigger = {
|
|
603
|
+
id: number;
|
|
604
|
+
kind: string;
|
|
605
|
+
words: string;
|
|
606
|
+
name: string;
|
|
607
|
+
detail: string;
|
|
608
|
+
zone: string;
|
|
609
|
+
zoneId: string;
|
|
610
|
+
state: "active" | "paused" | "removed";
|
|
611
|
+
status: string | null;
|
|
612
|
+
statusAt: string | null;
|
|
613
|
+
failing: boolean;
|
|
614
|
+
button: {
|
|
615
|
+
label: string;
|
|
616
|
+
questions: string[];
|
|
617
|
+
} | null;
|
|
618
|
+
/** A webhook trigger: whether it can prove deliveries yet (Linear needs its signing secret pasted). */
|
|
619
|
+
hook: {
|
|
620
|
+
ready: boolean;
|
|
621
|
+
needsSecret: boolean;
|
|
622
|
+
} | null;
|
|
623
|
+
checkable: boolean;
|
|
624
|
+
/** A button shared as a public form (its link works). */
|
|
625
|
+
shared: boolean;
|
|
626
|
+
};
|
|
627
|
+
/** A flow's canvas: zones, cards, and what this person may change. */
|
|
628
|
+
export type BrowserFlowView = {
|
|
629
|
+
kind: "flow";
|
|
630
|
+
/** v100: signed in with the identity provider, a step-up is that sign-in (confirmed, or a link to confirm), not a password. */
|
|
631
|
+
stepUp?: {
|
|
632
|
+
label: string;
|
|
633
|
+
fresh: boolean;
|
|
634
|
+
confirmHref: string;
|
|
635
|
+
};
|
|
636
|
+
flow: {
|
|
637
|
+
id: number;
|
|
638
|
+
name: string;
|
|
639
|
+
project: string;
|
|
640
|
+
revision: number;
|
|
641
|
+
href: string;
|
|
642
|
+
owner: string;
|
|
643
|
+
};
|
|
644
|
+
/** Opens the lead's chat with a message about this flow started for the person to finish. */
|
|
645
|
+
chatHref: string;
|
|
646
|
+
triggers: BrowserFlowTrigger[];
|
|
647
|
+
/** What adding a trigger needs to know: this project's GitHub repository, whether a Linear key is saved, the public webhook address, other flows to follow. */
|
|
648
|
+
triggerSetup: {
|
|
649
|
+
kinds: {
|
|
650
|
+
kind: string;
|
|
651
|
+
label: string;
|
|
652
|
+
}[];
|
|
653
|
+
githubRepo: string | null;
|
|
654
|
+
linearKey: boolean;
|
|
655
|
+
hooksBase: string | null;
|
|
656
|
+
hooksPath: string;
|
|
657
|
+
/** v89: whether Email inbox triggers can read mail (Settings → Email), and whose mailbox it is. */
|
|
658
|
+
mailbox: string | null;
|
|
659
|
+
otherFlows: {
|
|
660
|
+
id: number;
|
|
661
|
+
name: string;
|
|
662
|
+
zones: {
|
|
663
|
+
id: string;
|
|
664
|
+
title: string;
|
|
665
|
+
}[];
|
|
666
|
+
}[];
|
|
667
|
+
};
|
|
668
|
+
/** A button trigger to open straight away (?start=). */
|
|
669
|
+
startTrigger: number | null;
|
|
670
|
+
/** Who is looking: their name, for "mine", owning and @mentions. */
|
|
671
|
+
me: string;
|
|
672
|
+
/** Whether sort zones can run: an OpenRouter key is saved in Settings → AI providers. */
|
|
673
|
+
sortReady: boolean;
|
|
674
|
+
/** v92: the project's AI teammates, to staff zones with. */
|
|
675
|
+
teammates?: {
|
|
676
|
+
handle: string;
|
|
677
|
+
label: string;
|
|
678
|
+
name: string;
|
|
679
|
+
working: boolean;
|
|
680
|
+
href: string;
|
|
681
|
+
}[];
|
|
682
|
+
/** v87: whether email is set up (Settings → Email), the names of this project's request secrets, and its tools with what each can do. */
|
|
683
|
+
emailReady: boolean;
|
|
684
|
+
requestSecrets: string[];
|
|
685
|
+
tools: {
|
|
686
|
+
name: string;
|
|
687
|
+
about: string;
|
|
688
|
+
functions: string[];
|
|
689
|
+
ready: boolean;
|
|
690
|
+
}[];
|
|
691
|
+
/** The project's scripts: reusable steps a "Run a script" zone runs with no AI. */
|
|
692
|
+
/** v90: each script's language, and the project file it runs instead of a body. */
|
|
693
|
+
scripts: {
|
|
694
|
+
name: string;
|
|
695
|
+
about: string;
|
|
696
|
+
body: string;
|
|
697
|
+
timeoutMinutes: number;
|
|
698
|
+
version: number;
|
|
699
|
+
savedBy: string;
|
|
700
|
+
savedAt: string;
|
|
701
|
+
usedHere: string[];
|
|
702
|
+
language: "shell" | "python" | "node";
|
|
703
|
+
file: string | null;
|
|
704
|
+
}[];
|
|
705
|
+
start: string;
|
|
706
|
+
stages: BrowserFlowStage[];
|
|
707
|
+
cards: BrowserFlowCard[];
|
|
708
|
+
selectedCard: number | null;
|
|
709
|
+
/** Where the flow stands (v88): the live stream's nudge names it, and a page that already shows it doesn't read again. */
|
|
710
|
+
live: string | null;
|
|
711
|
+
canEdit: boolean;
|
|
712
|
+
approvers: string[];
|
|
713
|
+
kinds: {
|
|
714
|
+
kind: BrowserFlowStage["kind"];
|
|
715
|
+
label: string;
|
|
716
|
+
about: string;
|
|
717
|
+
}[];
|
|
718
|
+
colors: string[];
|
|
719
|
+
};
|
|
720
|
+
export type BrowserView = BrowserTasksView | BrowserSettingsView | BrowserTaskView | BrowserProjectsView | BrowserResultView | BrowserFlowView;
|
|
721
|
+
export type BrowserWorkspace = {
|
|
722
|
+
version: 1;
|
|
723
|
+
path: string;
|
|
724
|
+
title: string;
|
|
725
|
+
user: string;
|
|
726
|
+
csrf: string;
|
|
727
|
+
sensitive: boolean;
|
|
728
|
+
refreshUrl: string;
|
|
729
|
+
receipt: {
|
|
730
|
+
request: string;
|
|
731
|
+
received: boolean;
|
|
732
|
+
} | null;
|
|
733
|
+
projects: BrowserProject[];
|
|
734
|
+
crew: BrowserCrewItem[];
|
|
735
|
+
crewTruncated: boolean;
|
|
736
|
+
conversation: BrowserConversation | null;
|
|
737
|
+
team?: TeamSnapshot;
|
|
738
|
+
focus: {
|
|
739
|
+
id: string;
|
|
740
|
+
title: string;
|
|
741
|
+
html: string;
|
|
742
|
+
} | null;
|
|
743
|
+
result: {
|
|
744
|
+
runId: number;
|
|
745
|
+
html: string;
|
|
746
|
+
} | null;
|
|
747
|
+
catchUpHtml: string;
|
|
748
|
+
controlsHtml: string;
|
|
749
|
+
notices: string[];
|
|
750
|
+
pageHtml: string | null;
|
|
751
|
+
navigation: BrowserNavigationItem[];
|
|
752
|
+
/** This person's recent project and task conversations (v77), newest first. */
|
|
753
|
+
chats?: BrowserChatLink[];
|
|
754
|
+
view?: BrowserView | null;
|
|
755
|
+
/** A live page (Inbox, System…) reads itself again this often; forms being edited are kept. */
|
|
756
|
+
refreshSeconds?: number;
|
|
757
|
+
};
|
|
758
|
+
/** Safe inside a script[type=application/json] element. JSON escaping alone
|
|
759
|
+
* does not stop the HTML parser from closing that element at </script>. */
|
|
760
|
+
export declare function serializeBrowserWorkspace(workspace: BrowserWorkspace): string;
|
|
761
|
+
export declare const BROWSER_CREW_LIMIT = 40;
|
|
762
|
+
export type BrowserCrewOptions = {
|
|
763
|
+
evidenceRoot?: string;
|
|
764
|
+
limit?: number;
|
|
765
|
+
project?: string | null;
|
|
766
|
+
};
|
|
767
|
+
/** A bounded recent family list. The caller supplies its already admitted
|
|
768
|
+
* access; an optional project can only narrow it. Admission and family grouping
|
|
769
|
+
* happen before the SQL limit and before reading questions or saved evidence. */
|
|
770
|
+
export declare function browserCrewOf(store: Store, now: Date, access: WorkSummaryAccess, options?: BrowserCrewOptions): {
|
|
771
|
+
crew: BrowserCrewItem[];
|
|
772
|
+
crewTruncated: boolean;
|
|
773
|
+
};
|
|
774
|
+
/** Navigation input must already be admitted by the caller. No extra project
|
|
775
|
+
* discovery belongs in a browser projection. Keep exact paths in every link. */
|
|
776
|
+
export declare function browserProjectsOf(projects: readonly {
|
|
777
|
+
name: string;
|
|
778
|
+
path: string;
|
|
779
|
+
}[]): BrowserProject[];
|
|
780
|
+
export declare function browserNavigationOf(path: string, project?: string | null, needsYou?: number): BrowserNavigationItem[];
|