toolroll 0.9.103 → 0.9.105
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/CHANGELOG.md +65 -0
- package/README.md +27 -27
- package/dist/accent-colors.js +0 -29
- package/dist/acp-agents.js +0 -3
- package/dist/acp-attest.js +0 -30
- package/dist/acp-check.js +3 -70
- package/dist/acp-client.js +3 -94
- package/dist/acp-inspect.js +1 -20
- package/dist/action-ledger.js +0 -8
- package/dist/activity-line.js +0 -14
- package/dist/actor.js +0 -15
- package/dist/advanced-schema.js +12 -0
- package/dist/advanced-view.js +26 -0
- package/dist/advanced.js +61 -0
- package/dist/agent-board.js +0 -117
- package/dist/agent-fence.js +11 -367
- package/dist/agent-onboard.js +12 -50
- package/dist/agent-pulse.js +5 -38
- package/dist/agent-state-words.js +0 -8
- package/dist/agent-state.js +1 -45
- package/dist/agent-turns.js +3 -17
- package/dist/agentconfig.js +1 -99
- package/dist/agents-board.js +0 -60
- package/dist/agents-live.js +1 -8
- package/dist/api-tokens.js +0 -27
- package/dist/approval-authority.js +0 -59
- package/dist/approval-password.js +0 -10
- package/dist/approval-policy.js +0 -29
- package/dist/approval-rules-ui.js +0 -9
- package/dist/assignment-adapters.js +0 -14
- package/dist/assignment-brief.js +1 -17
- package/dist/assignment-delivery.js +0 -22
- package/dist/assignment-presentation.js +0 -14
- package/dist/assignment-status.js +1 -30
- package/dist/assignment-ui.js +0 -12
- package/dist/assignment.js +117 -103
- package/dist/attest.js +0 -38
- package/dist/audit-cli.js +0 -9
- package/dist/backend.js +0 -59
- package/dist/backup-ui.js +0 -12
- package/dist/backup.js +8 -61
- package/dist/batch-checks.js +0 -20
- package/dist/batch-policy.js +0 -4
- package/dist/beads.js +0 -48
- package/dist/bin.js +0 -8
- package/dist/board.js +1 -36
- package/dist/boot-identity.js +0 -42
- package/dist/bounded-spawn.js +4 -28
- package/dist/brand-mark.js +0 -21
- package/dist/brief-fence.js +0 -16
- package/dist/browser/terminal.css +1 -1
- package/dist/browser/terminal.js +16 -16
- package/dist/browser/workspace.css +2 -2
- package/dist/browser/workspace.js +26 -26
- package/dist/browser-crew.js +0 -8
- package/dist/browser-shell.js +2 -15
- package/dist/browser-workspace.js +6 -30
- package/dist/budget-alerts.js +1 -4
- package/dist/build-review.js +2 -50
- package/dist/builder-restart.js +0 -13
- package/dist/builder.js +21 -1035
- package/dist/canonical-json.js +0 -12
- package/dist/capscan.js +1 -32
- package/dist/card-catalog.js +0 -12
- package/dist/card-cli.js +0 -1
- package/dist/card-render.js +0 -25
- package/dist/card-sources.js +0 -10
- package/dist/chat-acceptance.js +0 -7
- package/dist/chat-actions.js +5 -190
- package/dist/chat-admission.js +0 -7
- package/dist/chat-approval.js +0 -25
- package/dist/chat-ask.js +0 -17
- package/dist/chat-card-part.js +0 -3
- package/dist/chat-card.js +0 -6
- package/dist/chat-channel.js +2 -83
- package/dist/chat-continuity.js +0 -31
- package/dist/chat-controls.js +0 -7
- package/dist/chat-core.js +0 -55
- package/dist/chat-decide.js +2 -153
- package/dist/chat-delivery-state.js +0 -49
- package/dist/chat-delivery.js +2 -143
- package/dist/chat-display.js +0 -2
- package/dist/chat-evidence.js +0 -65
- package/dist/chat-flow.js +0 -72
- package/dist/chat-follow.js +0 -13
- package/dist/chat-inbox.js +0 -34
- package/dist/chat-live-schema.js +0 -14
- package/dist/chat-live.js +2 -87
- package/dist/chat-message-states.js +13 -40
- package/dist/chat-messages.js +0 -153
- package/dist/chat-migration.js +0 -57
- package/dist/chat-polish.js +0 -7
- package/dist/chat-quiet.js +0 -37
- package/dist/chat-review.js +0 -4
- package/dist/chat-rooms.js +0 -22
- package/dist/chat-settings-page.js +0 -4
- package/dist/chat-task-actions.js +0 -7
- package/dist/chat-terms.js +0 -21
- package/dist/chat-voice.js +0 -38
- package/dist/chat-warmth.js +1 -3
- package/dist/check-access.js +0 -30
- package/dist/check-facts.js +2 -62
- package/dist/check-failure.js +0 -98
- package/dist/check-levels-ui.js +4 -10
- package/dist/check-levels.js +3 -35
- package/dist/check-load.js +1 -49
- package/dist/check-only-standing.js +0 -6
- package/dist/check-only.js +0 -22
- package/dist/check-progress.js +0 -32
- package/dist/check-repair.js +2 -35
- package/dist/check-report.js +1 -108
- package/dist/check-stamp.js +0 -20
- package/dist/checkout-cleanup.js +0 -84
- package/dist/checkout-proof.js +1 -13
- package/dist/child-database.js +0 -3
- package/dist/claim.js +4 -508
- package/dist/claude-print.js +0 -10
- package/dist/cli-fast.js +0 -8
- package/dist/cli-help.js +90 -78
- package/dist/cli-http.js +0 -10
- package/dist/cli.js +26 -241
- package/dist/code-extract.js +0 -6
- package/dist/code-map-acts.js +0 -7
- package/dist/code-map-admission.js +2 -26
- package/dist/code-map-build.js +3 -24
- package/dist/code-map-cli.js +0 -4
- package/dist/code-map-main.js +0 -6
- package/dist/code-map-read.js +0 -12
- package/dist/code-map-report.js +0 -9
- package/dist/code-map-shape.js +0 -19
- package/dist/code-map-store.js +0 -26
- package/dist/codex-limits.js +1 -17
- package/dist/coding-context.js +0 -10
- package/dist/coding-handoff.js +0 -14
- package/dist/coding-provider.js +0 -39
- package/dist/coding-shipping-ui.js +0 -1
- package/dist/coding-ui.js +0 -1
- package/dist/coding-update.js +1 -18
- package/dist/coding-workspace.js +0 -27
- package/dist/commit-extract.js +0 -83
- package/dist/connect-cli.js +0 -19
- package/dist/console-chrome.js +1 -34
- package/dist/console-instance.js +2 -91
- package/dist/container-state.js +0 -4
- package/dist/containment.js +2 -105
- package/dist/contract-changes.js +0 -6
- package/dist/contracts/acceptance-terms.js +0 -7
- package/dist/contracts/chat-actions.js +0 -46
- package/dist/contracts/chat-callback-rows.js +0 -8
- package/dist/contracts/chat-card.js +0 -14
- package/dist/contracts/chat-content.js +0 -55
- package/dist/contracts/chat-tables.js +0 -7
- package/dist/contracts/cli.js +0 -59
- package/dist/contracts/coding-activity.js +0 -15
- package/dist/contracts/coding-context.js +0 -15
- package/dist/contracts/coding-handoff.js +0 -11
- package/dist/contracts/coding-workspace.js +0 -14
- package/dist/contracts/console-api.js +3 -54
- package/dist/contracts/contract-test.js +0 -14
- package/dist/contracts/contract.js +0 -48
- package/dist/contracts/decision.js +0 -20
- package/dist/contracts/diff-stat.js +0 -16
- package/dist/contracts/discord-callback.js +0 -9
- package/dist/contracts/flow-card.js +0 -18
- package/dist/contracts/flow-propose.js +0 -8
- package/dist/contracts/flow-send.js +0 -31
- package/dist/contracts/flow.js +0 -112
- package/dist/contracts/gateway-tools.js +0 -22
- package/dist/contracts/handoff.js +0 -22
- package/dist/contracts/integration-metadata.js +0 -39
- package/dist/contracts/lead-context.js +0 -14
- package/dist/contracts/lead-tools.js +0 -49
- package/dist/contracts/mcp-oauth.js +0 -12
- package/dist/contracts/memory-pass.js +0 -21
- package/dist/contracts/model-catalog.js +0 -9
- package/dist/contracts/observation-request.js +0 -11
- package/dist/contracts/plan.js +0 -16
- package/dist/contracts/project-knowledge.js +0 -26
- package/dist/contracts/project-memory.js +0 -16
- package/dist/contracts/project-skills.js +0 -31
- package/dist/contracts/proof.js +0 -23
- package/dist/contracts/provider.js +0 -9
- package/dist/contracts/recipes.js +0 -16
- package/dist/contracts/release-check.js +0 -61
- package/dist/contracts/release-terms.js +0 -27
- package/dist/contracts/retention.js +0 -12
- package/dist/contracts/review-findings.js +0 -13
- package/dist/contracts/route-results.js +0 -15
- package/dist/contracts/route.js +0 -33
- package/dist/contracts/scope.js +0 -29
- package/dist/contracts/scout-report.js +0 -34
- package/dist/contracts/slack-callback.js +0 -11
- package/dist/contracts/sort-answer.js +0 -24
- package/dist/contracts/stage-output.js +0 -46
- package/dist/contracts/storage.js +0 -8
- package/dist/contracts/store-json.js +0 -41
- package/dist/contracts/subagent-turn.js +0 -23
- package/dist/contracts/task-sizing.js +0 -10
- package/dist/contracts/teams-callback.js +0 -7
- package/dist/contracts/telegram-callback.js +0 -27
- package/dist/contracts/trigger-payloads.js +0 -41
- package/dist/contracts/update-journal.js +0 -47
- package/dist/contracts/verification-receipt.js +0 -36
- package/dist/contracts/verification-view.js +0 -15
- package/dist/contracts/youiyoux-request.js +0 -26
- package/dist/control-setup.js +0 -7
- package/dist/control-ui.js +0 -3
- package/dist/controller-service.js +0 -4
- package/dist/controller-supervisor.js +0 -15
- package/dist/converse.js +3 -129
- package/dist/coordinator-proposals.js +1 -6
- package/dist/coordinator.js +0 -65
- package/dist/credentials-ui.js +0 -6
- package/dist/daemon.js +0 -137
- package/dist/database-reclaim.js +0 -3
- package/dist/decision.js +0 -78
- package/dist/demo-chat.js +4 -15
- package/dist/demo-sign-in.js +77 -0
- package/dist/demo.js +5 -194
- package/dist/deploy-gate.js +0 -20
- package/dist/deploy-lock.js +0 -4
- package/dist/deploy-phase.js +0 -22
- package/dist/deploy-rescue.js +0 -21
- package/dist/deprecations.js +0 -12
- package/dist/design/kit.css +9 -6
- package/dist/design/kit.js +2 -33
- package/dist/desktop-access.js +0 -9
- package/dist/desktop-bundle.js +1 -3
- package/dist/desktop-host.js +0 -34
- package/dist/desktop-update-gate.js +0 -8
- package/dist/desktop-update-recovery.js +1 -18
- package/dist/desktop-update.js +2 -48
- package/dist/digest-times.js +0 -2
- package/dist/disclosure.js +0 -5
- package/dist/discord-api.js +0 -6
- package/dist/discord-chat.js +0 -31
- package/dist/discord.js +0 -7
- package/dist/discover.js +0 -50
- package/dist/dispatch.js +61 -60
- package/dist/dispose.js +0 -208
- package/dist/doctor.js +0 -48
- package/dist/easy-start-args.js +7 -7
- package/dist/easy-start.js +32 -45
- package/dist/egress.js +1 -63
- package/dist/email-settings.js +0 -8
- package/dist/envelope.js +50 -86
- package/dist/eval-gate.js +1 -37
- package/dist/eval-hooks.js +0 -120
- package/dist/eval-oracle-main.js +0 -7
- package/dist/eval-oracle.js +3 -42
- package/dist/eval-world.js +1 -23
- package/dist/evals.js +6 -134
- package/dist/evidence-pack.js +0 -29
- package/dist/evidence-pair.js +0 -17
- package/dist/evidence.js +4 -280
- package/dist/exec.js +19 -404
- package/dist/exhaustion.js +0 -30
- package/dist/export-ui.js +0 -7
- package/dist/export.js +1 -38
- package/dist/failing-first.js +0 -6
- package/dist/fallback-schema.js +0 -5
- package/dist/fallback.js +0 -81
- package/dist/fast-start.js +0 -97
- package/dist/fast-terms.js +0 -3
- package/dist/fenced-check-coverage.js +0 -11
- package/dist/findings.js +1 -63
- package/dist/first-run.js +4 -57
- package/dist/first-tasks-child.js +0 -5
- package/dist/flaky-ci.js +1 -24
- package/dist/flaky-cli.js +0 -4
- package/dist/flaky.js +0 -43
- package/dist/fleet-schema.js +0 -11
- package/dist/flow-actions.js +0 -31
- package/dist/flow-browser.js +0 -42
- package/dist/flow-cadence.js +1 -24
- package/dist/flow-card-task.js +0 -11
- package/dist/flow-changed.js +0 -16
- package/dist/flow-code.js +1 -45
- package/dist/flow-draft.js +0 -17
- package/dist/flow-engine.js +2 -76
- package/dist/flow-gallery-ui.js +0 -28
- package/dist/flow-gallery.js +0 -54
- package/dist/flow-insights.js +0 -12
- package/dist/flow-items.js +0 -27
- package/dist/flow-live.js +0 -31
- package/dist/flow-people.js +0 -14
- package/dist/flow-pull-request.js +0 -32
- package/dist/flow-replies.js +0 -9
- package/dist/flow-result-card.js +0 -8
- package/dist/flow-schedule.js +0 -74
- package/dist/flow-scripts.js +0 -13
- package/dist/flow-secrets.js +0 -10
- package/dist/flow-send.js +0 -45
- package/dist/flow-share.js +0 -60
- package/dist/flow-sort.js +1 -24
- package/dist/flow-starters-ui.js +0 -2
- package/dist/flow-starters.js +0 -13
- package/dist/flow-steps.js +0 -80
- package/dist/flow-triggers.js +2 -256
- package/dist/flow-unattended-words.js +0 -13
- package/dist/flow-unattended.js +2 -115
- package/dist/flows-cli.js +2 -36
- package/dist/flows-ui.js +0 -51
- package/dist/flows.js +0 -158
- package/dist/folder-gate.js +0 -21
- package/dist/folder-look.js +0 -42
- package/dist/follow-through-brief.js +0 -6
- package/dist/follow-through-cli.js +0 -5
- package/dist/fonts.js +0 -13
- package/dist/gaps.js +0 -20
- package/dist/gate-failure.js +0 -7
- package/dist/git-floor.js +0 -12
- package/dist/git-incident.js +2 -38
- package/dist/git-views.js +0 -24
- package/dist/git.js +0 -31
- package/dist/github-import.js +0 -22
- package/dist/github-jobs.js +0 -12
- package/dist/google-mail.js +2 -27
- package/dist/grant.js +0 -110
- package/dist/graph.js +0 -108
- package/dist/guides.js +4 -15
- package/dist/handover-note.js +0 -12
- package/dist/health-cli.js +0 -2
- package/dist/home-groups.js +0 -15
- package/dist/html.js +0 -54
- package/dist/install-method.js +0 -12
- package/dist/integrations-ui.js +0 -15
- package/dist/integrations.js +7 -50
- package/dist/invoke.js +1 -381
- package/dist/is-record.js +0 -1
- package/dist/issues.js +0 -48
- package/dist/jsonl-discriminants.js +0 -6
- package/dist/keymap.js +2 -16
- package/dist/keys.js +0 -56
- package/dist/kits-ui.js +0 -3
- package/dist/kits.js +1 -24
- package/dist/knowledge-cli.js +0 -4
- package/dist/knowledge-ui.js +0 -8
- package/dist/landed-cleanup.js +0 -119
- package/dist/laptop-background.js +0 -85
- package/dist/laptop-service.js +0 -67
- package/dist/latency-timeline.js +2 -23
- package/dist/lead-about.js +0 -7
- package/dist/lead-answer-eval.js +0 -39
- package/dist/lead-capabilities.js +0 -19
- package/dist/lead-cli-live.js +0 -22
- package/dist/lead-cli.js +0 -27
- package/dist/lead-commitments.js +1 -27
- package/dist/lead-context.js +2 -42
- package/dist/lead-contract.js +0 -8
- package/dist/lead-doors.js +0 -105
- package/dist/lead-follow.js +0 -41
- package/dist/lead-identity.js +1 -4
- package/dist/lead-latency-schema.js +0 -13
- package/dist/lead-people.js +3 -18
- package/dist/lead-progress.js +0 -12
- package/dist/lead-queue-runtime.js +0 -26
- package/dist/lead-queue.js +0 -35
- package/dist/lead-route.js +0 -33
- package/dist/lead-status.js +0 -37
- package/dist/lead-sweep.js +0 -18
- package/dist/lead-tools.js +0 -160
- package/dist/lead-voice.js +0 -54
- package/dist/lead.js +2 -105
- package/dist/learning-child.js +0 -6
- package/dist/learning-look.js +0 -14
- package/dist/ledger-chain.js +0 -34
- package/dist/ledger-csv.js +0 -2
- package/dist/ledger-view.js +0 -3
- package/dist/lesson-notes.js +0 -56
- package/dist/limits-ui.js +0 -14
- package/dist/link.js +0 -79
- package/dist/live-backup.js +3 -33
- package/dist/live-bus.js +7 -81
- package/dist/live-children-read.js +4 -47
- package/dist/live-children.js +4 -44
- package/dist/live-detail.js +0 -17
- package/dist/live-input.js +5 -68
- package/dist/live-main-read.js +1 -14
- package/dist/live-notes.js +0 -12
- package/dist/live-open.js +1 -23
- package/dist/live-records.js +4 -151
- package/dist/live-reply.js +1 -51
- package/dist/live-terminal.js +12 -111
- package/dist/live.js +4 -130
- package/dist/local-owner-acts.js +168 -0
- package/dist/local-owner.js +15 -80
- package/dist/log.js +0 -8
- package/dist/login-secrets.js +2 -38
- package/dist/machine-check.js +0 -2
- package/dist/machine-identity.js +1 -46
- package/dist/mailbox.js +0 -30
- package/dist/maintenance.js +1 -3
- package/dist/mcp-connect.js +0 -88
- package/dist/mcp-core.js +0 -45
- package/dist/mcp-http.js +0 -13
- package/dist/mcp-oauth.js +0 -37
- package/dist/mcp-person.js +0 -11
- package/dist/mcp.js +3 -73
- package/dist/memory-cli.js +0 -3
- package/dist/memory-pass.js +0 -53
- package/dist/memory-tidy.js +0 -55
- package/dist/memory-use.js +2 -24
- package/dist/merge-checklist.js +21 -29
- package/dist/metrics.js +0 -10
- package/dist/mobile-viewport.js +0 -6
- package/dist/model-catalog.js +1 -33
- package/dist/model-choices.js +9 -84
- package/dist/model-names.js +0 -9
- package/dist/models-cli.js +0 -13
- package/dist/models-ui.js +0 -17
- package/dist/modes.js +0 -35
- package/dist/monitoring-settings.js +2 -27
- package/dist/monitoring-ui.js +2 -14
- package/dist/monitoring.js +2 -38
- package/dist/names.js +0 -39
- package/dist/needs-you.js +7 -70
- package/dist/never-index.js +0 -9
- package/dist/nightly-check.js +0 -74
- package/dist/nightly-github.js +0 -168
- package/dist/notification-delivery.js +0 -3
- package/dist/notification-rows.js +0 -17
- package/dist/oauth-run-token.js +1 -37
- package/dist/observations.js +0 -16
- package/dist/oidc.js +1 -20
- package/dist/onboard.js +4 -57
- package/dist/one-step-chat-schema.js +0 -15
- package/dist/openrouter-models.js +0 -6
- package/dist/operate-remote-arguments.js +2 -17
- package/dist/operate-remote.js +0 -33
- package/dist/operate.js +280 -2304
- package/dist/orphan-sweep.js +3 -37
- package/dist/page-work-contract.js +0 -3
- package/dist/password-bearer.js +1 -11
- package/dist/passwordless.js +0 -3
- package/dist/peek-cli.js +0 -46
- package/dist/peek.js +2 -61
- package/dist/people-audit-ui.js +0 -6
- package/dist/person-proof.js +0 -6
- package/dist/phase-routing.js +8 -183
- package/dist/plain-schema.js +0 -14
- package/dist/plain-words.js +18 -12
- package/dist/plan-auto.js +3 -18
- package/dist/plan-login.js +0 -16
- package/dist/plan.js +0 -68
- package/dist/plane-review.js +0 -56
- package/dist/planner-source.js +0 -96
- package/dist/planner.js +0 -117
- package/dist/policy-ui.js +0 -8
- package/dist/policy.js +0 -47
- package/dist/prepared-evidence.js +0 -5
- package/dist/principal.js +0 -29
- package/dist/probe.js +0 -30
- package/dist/process-custody.js +0 -15
- package/dist/process-liveness.js +0 -32
- package/dist/process-tree.js +3 -29
- package/dist/project-access.js +0 -10
- package/dist/project-admission.js +1 -41
- package/dist/project-cli.js +0 -6
- package/dist/project-concurrency.js +0 -35
- package/dist/project-delete-ui.js +4 -29
- package/dist/project-delete.js +1 -73
- package/dist/project-demo.js +0 -13
- package/dist/project-file.js +0 -2
- package/dist/project-identity.js +0 -41
- package/dist/project-knowledge.js +0 -39
- package/dist/project-learning.js +3 -55
- package/dist/project-memory.js +2 -45
- package/dist/project-outcomes.js +0 -6
- package/dist/project-sandbox.js +0 -23
- package/dist/project-skills.js +0 -12
- package/dist/project-tools.js +6 -184
- package/dist/project.js +0 -48
- package/dist/prompt.js +0 -31
- package/dist/proof.js +0 -220
- package/dist/proposal.js +0 -50
- package/dist/protected-storage-look.js +0 -6
- package/dist/protected-storage.js +1 -84
- package/dist/provider-auth.js +3 -69
- package/dist/provider-capture.js +1 -15
- package/dist/provider-connection.js +0 -8
- package/dist/provider-home.js +0 -25
- package/dist/provider-limits.js +0 -14
- package/dist/provider.js +0 -324
- package/dist/public-access.js +11 -30
- package/dist/public-check.js +0 -16
- package/dist/publish.js +1 -150
- package/dist/pull-request-flow.js +6 -74
- package/dist/pull-request-schema.js +0 -4
- package/dist/pull-request-ui.js +0 -5
- package/dist/pulls.js +0 -80
- package/dist/push.js +5 -89
- package/dist/quick-start.js +1 -23
- package/dist/read-executor-worker.js +0 -1
- package/dist/read-executor.js +0 -10
- package/dist/read-only-request.js +0 -7
- package/dist/recipe-ui.js +0 -6
- package/dist/recipes.js +0 -13
- package/dist/release-adapters.js +6 -214
- package/dist/release-approval.js +0 -74
- package/dist/release-authority.js +0 -42
- package/dist/release-auto.js +0 -142
- package/dist/release-card.js +26 -103
- package/dist/release-carry.js +0 -132
- package/dist/release-ci-hold.js +0 -20
- package/dist/release-cli.js +0 -46
- package/dist/release-coverage.js +0 -16
- package/dist/release-gate.js +0 -30
- package/dist/release-git.js +0 -24
- package/dist/release-links.js +0 -17
- package/dist/release-net.js +0 -42
- package/dist/release-next.js +0 -25
- package/dist/release-recheck.js +0 -89
- package/dist/release-refusal.js +0 -18
- package/dist/release-view.js +0 -5
- package/dist/release.js +7 -341
- package/dist/releases.js +0 -49
- package/dist/remote-audit.js +0 -25
- package/dist/remote-command.js +0 -16
- package/dist/remote-destination.js +5 -26
- package/dist/remote-exec.js +1 -27
- package/dist/remote-main.js +1 -53
- package/dist/remote-run.js +0 -5
- package/dist/remote.js +0 -49
- package/dist/render.js +0 -133
- package/dist/reply-shape.js +0 -85
- package/dist/reply-voice.js +0 -7
- package/dist/report-summary.js +0 -5
- package/dist/reported-usage.js +0 -30
- package/dist/repos.js +9 -62
- package/dist/repository-context.js +1 -24
- package/dist/request-budget-ui.js +0 -4
- package/dist/request-budget.js +0 -23
- package/dist/restart-certification.js +0 -37
- package/dist/result-actions.js +0 -62
- package/dist/result-acts.js +0 -34
- package/dist/result-completion.js +9 -28
- package/dist/result-evidence-readers.js +0 -3
- package/dist/result-follow-ups.js +1 -39
- package/dist/result-review.js +0 -86
- package/dist/result-shots.js +0 -39
- package/dist/retention-ui.js +0 -7
- package/dist/retention.js +2 -46
- package/dist/review-context.js +0 -129
- package/dist/review-evidence.js +0 -4
- package/dist/review-switch.js +1 -7
- package/dist/reviewer.js +0 -35
- package/dist/route-change-check.js +0 -2
- package/dist/route-change.js +0 -16
- package/dist/route-hooks.js +0 -27
- package/dist/route-results.js +2 -58
- package/dist/route-rules.js +1 -106
- package/dist/route-savings.js +0 -36
- package/dist/route-store.js +1 -133
- package/dist/run-closeout.js +2 -50
- package/dist/run-efficiency.js +2 -44
- package/dist/run-ending.js +0 -13
- package/dist/runner-process.js +0 -33
- package/dist/runner.js +17 -189
- package/dist/sample-project.js +2 -27
- package/dist/sandbox-launch.js +4 -25
- package/dist/sandbox-runtime.js +1 -88
- package/dist/scan.js +0 -27
- package/dist/scope.js +88 -566
- package/dist/scout-browser-lock.js +0 -6
- package/dist/scout-browser.js +2 -68
- package/dist/scout-net.js +1 -32
- package/dist/scout-report.js +0 -22
- package/dist/scout.js +1 -116
- package/dist/secret-mint.js +0 -6
- package/dist/serve.js +29 -564
- package/dist/server/agents-computers.js +0 -10
- package/dist/server/agents-live-filed.js +0 -13
- package/dist/server/agents-live-lead.js +0 -19
- package/dist/server/agents-live-room.js +0 -19
- package/dist/server/chat.js +2 -194
- package/dist/server/chrome.js +17 -263
- package/dist/server/console.css +4 -4
- package/dist/server/edge-refusal.js +0 -3
- package/dist/server/flows.js +5 -74
- package/dist/server/guards.js +9 -86
- package/dist/server/handler-registry.js +0 -2
- package/dist/server/home-asks.js +1 -22
- package/dist/server/home.js +1 -30
- package/dist/server/http.js +0 -82
- package/dist/server/in-place.js +0 -15
- package/dist/server/kit-standalone.js +0 -20
- package/dist/server/kit.js +2 -114
- package/dist/server/last-checks.js +0 -2
- package/dist/server/live.js +1 -36
- package/dist/server/merge-ready-view.js +0 -6
- package/dist/server/mutation-key.js +3 -40
- package/dist/server/pages-assets.js +0 -16
- package/dist/server/pages.js +7 -195
- package/dist/server/people-tokens.js +3 -101
- package/dist/server/remote-hooks.js +0 -13
- package/dist/server/remote.js +0 -28
- package/dist/server/render-chat.js +8 -144
- package/dist/server/render-code-map.js +0 -5
- package/dist/server/render-flaky.js +0 -8
- package/dist/server/render-follow-through.js +2 -5
- package/dist/server/render-history.js +2 -34
- package/dist/server/render-new-task.js +2 -29
- package/dist/server/render-pages.js +1 -111
- package/dist/server/render-people.js +2 -46
- package/dist/server/render-projects.js +15 -32
- package/dist/server/render-release.js +1 -14
- package/dist/server/render-results.js +4 -355
- package/dist/server/render-settings.js +0 -15
- package/dist/server/render-tasks.js +17 -497
- package/dist/server/request-context.js +2 -9
- package/dist/server/retired-routes.js +0 -11
- package/dist/server/route-policy.js +0 -3
- package/dist/server/route-table.js +8 -133
- package/dist/server/runtime.js +0 -1
- package/dist/server/session.js +0 -28
- package/dist/server/settings.js +40 -246
- package/dist/server/signup-gate.js +0 -11
- package/dist/server/sweeps.js +0 -6
- package/dist/server/task-views.js +12 -227
- package/dist/server/tasks.js +37 -531
- package/dist/server/terminals.js +2 -46
- package/dist/server/welcome.js +2 -22
- package/dist/server-telemetry.js +0 -9
- package/dist/settings-groups-ui.js +50 -63
- package/dist/settings-kit-script.js +0 -19
- package/dist/settings-kit.js +0 -63
- package/dist/settings-proofs.js +0 -23
- package/dist/setup-guide.js +1 -9
- package/dist/shared-deps.js +9 -84
- package/dist/sign-in-guard.js +0 -27
- package/dist/skills-ui.js +0 -2
- package/dist/skills.js +2 -54
- package/dist/slack-api.js +0 -3
- package/dist/slack-chat.js +0 -25
- package/dist/slack-settings.js +0 -1
- package/dist/slack-socket.js +0 -5
- package/dist/slack.js +0 -4
- package/dist/sleep.js +0 -1
- package/dist/source-key.js +0 -10
- package/dist/spend-report.js +0 -29
- package/dist/spend-ui.js +0 -26
- package/dist/spend.js +0 -40
- package/dist/sqlite-runtime.js +0 -2
- package/dist/sqlite-telemetry.js +0 -9
- package/dist/sso-settings.js +0 -13
- package/dist/sso-ui.js +0 -2
- package/dist/staged-runtimes.js +5 -39
- package/dist/steer-capabilities.js +1 -7
- package/dist/steer-controls.js +0 -10
- package/dist/steer-live.js +0 -31
- package/dist/steer-mailbox.js +4 -65
- package/dist/steer-status.js +0 -7
- package/dist/stop-proof.js +5 -62
- package/dist/storage-sweep-child.js +1 -5
- package/dist/storage-sweep-process.js +2 -20
- package/dist/storage-sweep-schedule.js +0 -32
- package/dist/storage-sweep.js +2 -51
- package/dist/storage-ui.js +0 -18
- package/dist/storage.js +0 -31
- package/dist/store-baseline.js +0 -14
- package/dist/store.js +109 -4763
- package/dist/stream-scope.js +0 -16
- package/dist/structured-output.js +0 -39
- package/dist/style-asset.js +0 -2
- package/dist/subagent-admin.js +0 -9
- package/dist/subagent-desk.js +0 -29
- package/dist/subagent-memory.js +0 -38
- package/dist/subagent-question.js +0 -29
- package/dist/subagent-tools.js +1 -60
- package/dist/subagent-week.js +0 -28
- package/dist/subagent-work.js +1 -39
- package/dist/subagents-ui.js +1 -13
- package/dist/subagents.js +0 -40
- package/dist/subscription-chat.js +1 -42
- package/dist/summary.js +0 -19
- package/dist/surface.js +8 -73
- package/dist/sweep-gate.js +0 -2
- package/dist/sweep-quarantine.js +2 -13
- package/dist/sync.js +0 -47
- package/dist/tailnet.js +0 -9
- package/dist/tamper-scan.js +0 -15
- package/dist/task-activity.js +1 -16
- package/dist/task-aliases.js +0 -3
- package/dist/task-archive.js +0 -7
- package/dist/task-base.js +0 -18
- package/dist/task-composer.js +0 -2
- package/dist/task-control.js +0 -74
- package/dist/task-live.js +0 -23
- package/dist/task-moves.js +0 -28
- package/dist/task-outcome-cli.js +66 -19
- package/dist/task-review-brief.js +0 -7
- package/dist/task-sizing.js +0 -47
- package/dist/task-source.js +0 -23
- package/dist/task-status.js +0 -106
- package/dist/task-text.js +0 -12
- package/dist/team-chat-authorization.js +0 -3
- package/dist/team-contract.js +0 -2
- package/dist/team-http.js +0 -4
- package/dist/team-leads.js +1 -16
- package/dist/team-runtime.js +0 -13
- package/dist/team-ui.js +0 -1
- package/dist/team-updates.js +0 -4
- package/dist/teams-api.js +0 -12
- package/dist/teams-chat.js +0 -28
- package/dist/teams.js +0 -12
- package/dist/teardown-git.js +6 -294
- package/dist/telegram-flow.js +0 -51
- package/dist/telegram-lead.js +2 -203
- package/dist/telegram-live.js +1 -42
- package/dist/telegram-progress.js +0 -18
- package/dist/telegram-settings.js +0 -7
- package/dist/telegram-status.js +0 -46
- package/dist/telegram-team.js +1 -33
- package/dist/telegram.js +6 -454
- package/dist/templates.js +0 -24
- package/dist/terminal-catalog.js +2 -20
- package/dist/terminal-text.js +0 -12
- package/dist/test-infra.js +0 -50
- package/dist/test-temp.js +3 -26
- package/dist/text-limits.js +0 -92
- package/dist/tidy.js +0 -76
- package/dist/tier-report.js +0 -2
- package/dist/token-notices.js +1 -9
- package/dist/tokens-cli.js +0 -13
- package/dist/tool-broker.js +2 -53
- package/dist/tool-launcher.js +0 -14
- package/dist/tool-secret-store.js +3 -125
- package/dist/toolroll-update-cli.js +0 -9
- package/dist/toolroll-update-ui.js +0 -14
- package/dist/toolroll-update.js +13 -252
- package/dist/tools-ui.js +0 -17
- package/dist/transitions-recipes.js +0 -2
- package/dist/tree-proof.js +0 -23
- package/dist/tui-contract.js +0 -8
- package/dist/tui-source.js +91 -40
- package/dist/tui.js +54 -54
- package/dist/typed-start.js +0 -27
- package/dist/unfenced-test-support.js +0 -5
- package/dist/up-processes.js +1 -40
- package/dist/up-role-child.js +1 -13
- package/dist/update-notice.js +0 -1
- package/dist/vanished-retry.js +0 -40
- package/dist/verification-evidence.js +0 -39
- package/dist/version.js +0 -1
- package/dist/wake-hub.js +0 -28
- package/dist/webhook-limits.js +0 -7
- package/dist/webhook-readers.js +0 -30
- package/dist/webhook-signing.js +0 -14
- package/dist/webhooks.js +0 -54
- package/dist/welcome-facts.js +2 -14
- package/dist/when-html.js +0 -27
- package/dist/work-index.js +26 -98
- package/dist/work-summary.js +2 -17
- package/dist/workspace-motion.js +0 -2
- package/dist/workspace-revision.js +1 -21
- package/dist/workspace-ui.js +15 -135
- package/dist/worktree-notices.js +0 -3
- package/dist/worktree.js +0 -308
- package/dist/writes-mode.js +0 -1
- package/dist/youiyoux-intake.js +4 -159
- package/package.json +5 -4
- package/dist/accent-colors.d.ts +0 -51
- package/dist/acp-agents.d.ts +0 -43
- package/dist/acp-attest.d.ts +0 -44
- package/dist/acp-check.d.ts +0 -37
- package/dist/acp-client.d.ts +0 -163
- package/dist/acp-inspect.d.ts +0 -23
- package/dist/action-ledger.d.ts +0 -27
- package/dist/activity-line.d.ts +0 -29
- package/dist/actor.d.ts +0 -11
- package/dist/agent-board.d.ts +0 -229
- package/dist/agent-fence.d.ts +0 -479
- package/dist/agent-onboard.d.ts +0 -158
- package/dist/agent-pulse.d.ts +0 -43
- package/dist/agent-state-words.d.ts +0 -19
- package/dist/agent-state.d.ts +0 -65
- package/dist/agent-turns.d.ts +0 -52
- package/dist/agentconfig.d.ts +0 -191
- package/dist/agents-board.d.ts +0 -145
- package/dist/agents-live.d.ts +0 -31
- package/dist/api-tokens.d.ts +0 -80
- package/dist/approval-authority.d.ts +0 -51
- package/dist/approval-password.d.ts +0 -31
- package/dist/approval-policy.d.ts +0 -69
- package/dist/approval-rules-ui.d.ts +0 -40
- package/dist/assignment-adapters.d.ts +0 -152
- package/dist/assignment-brief.d.ts +0 -83
- package/dist/assignment-delivery.d.ts +0 -86
- package/dist/assignment-presentation.d.ts +0 -37
- package/dist/assignment-status.d.ts +0 -71
- package/dist/assignment-ui.d.ts +0 -68
- package/dist/assignment.d.ts +0 -318
- package/dist/attest.d.ts +0 -59
- package/dist/audit-cli.d.ts +0 -17
- package/dist/backend.d.ts +0 -97
- package/dist/backup-ui.d.ts +0 -32
- package/dist/backup.d.ts +0 -92
- package/dist/batch-checks.d.ts +0 -15
- package/dist/batch-policy.d.ts +0 -23
- package/dist/beads.d.ts +0 -34
- package/dist/bin.d.ts +0 -2
- package/dist/board.d.ts +0 -134
- package/dist/boot-identity.d.ts +0 -64
- package/dist/bounded-spawn.d.ts +0 -57
- package/dist/brand-icons.d.ts +0 -168
- package/dist/brand-mark.d.ts +0 -28
- package/dist/brief-fence.d.ts +0 -9
- package/dist/browser-crew.d.ts +0 -12
- package/dist/browser-shell.d.ts +0 -9
- package/dist/browser-workspace.d.ts +0 -1972
- package/dist/budget-alerts.d.ts +0 -19
- package/dist/build-review.d.ts +0 -38
- package/dist/builder-restart.d.ts +0 -21
- package/dist/builder.d.ts +0 -409
- package/dist/canonical-json.d.ts +0 -14
- package/dist/capscan.d.ts +0 -35
- package/dist/card-catalog.d.ts +0 -209
- package/dist/card-cli.d.ts +0 -43
- package/dist/card-render.d.ts +0 -43
- package/dist/card-sources.d.ts +0 -68
- package/dist/chat-acceptance.d.ts +0 -74
- package/dist/chat-actions.d.ts +0 -460
- package/dist/chat-admission.d.ts +0 -19
- package/dist/chat-approval.d.ts +0 -58
- package/dist/chat-ask.d.ts +0 -32
- package/dist/chat-card-part.d.ts +0 -11
- package/dist/chat-card.d.ts +0 -46
- package/dist/chat-channel.d.ts +0 -126
- package/dist/chat-continuity.d.ts +0 -32
- package/dist/chat-controls.d.ts +0 -117
- package/dist/chat-core.d.ts +0 -177
- package/dist/chat-decide.d.ts +0 -269
- package/dist/chat-delivery-state.d.ts +0 -132
- package/dist/chat-delivery.d.ts +0 -71
- package/dist/chat-display.d.ts +0 -1
- package/dist/chat-evidence.d.ts +0 -123
- package/dist/chat-flow.d.ts +0 -70
- package/dist/chat-follow.d.ts +0 -20
- package/dist/chat-inbox.d.ts +0 -57
- package/dist/chat-live-schema.d.ts +0 -17
- package/dist/chat-live.d.ts +0 -161
- package/dist/chat-message-states.d.ts +0 -75
- package/dist/chat-messages.d.ts +0 -338
- package/dist/chat-migration.d.ts +0 -30
- package/dist/chat-polish.d.ts +0 -17
- package/dist/chat-quiet.d.ts +0 -40
- package/dist/chat-review.d.ts +0 -51
- package/dist/chat-rooms.d.ts +0 -123
- package/dist/chat-settings-page.d.ts +0 -43
- package/dist/chat-task-actions.d.ts +0 -59
- package/dist/chat-terms.d.ts +0 -29
- package/dist/chat-voice.d.ts +0 -69
- package/dist/chat-warmth.d.ts +0 -21
- package/dist/check-access.d.ts +0 -54
- package/dist/check-facts.d.ts +0 -126
- package/dist/check-failure.d.ts +0 -113
- package/dist/check-levels-ui.d.ts +0 -36
- package/dist/check-levels.d.ts +0 -70
- package/dist/check-load.d.ts +0 -85
- package/dist/check-only-standing.d.ts +0 -36
- package/dist/check-only.d.ts +0 -15
- package/dist/check-progress.d.ts +0 -78
- package/dist/check-repair.d.ts +0 -47
- package/dist/check-report.d.ts +0 -177
- package/dist/check-stamp.d.ts +0 -46
- package/dist/checkout-cleanup.d.ts +0 -157
- package/dist/checkout-proof.d.ts +0 -28
- package/dist/child-database.d.ts +0 -12
- package/dist/claim.d.ts +0 -627
- package/dist/claude-print.d.ts +0 -12
- package/dist/cli-fast.d.ts +0 -8
- package/dist/cli-help.d.ts +0 -8
- package/dist/cli-http.d.ts +0 -58
- package/dist/cli.d.ts +0 -149
- package/dist/code-extract.d.ts +0 -44
- package/dist/code-map-acts.d.ts +0 -24
- package/dist/code-map-admission.d.ts +0 -52
- package/dist/code-map-build.d.ts +0 -63
- package/dist/code-map-cli.d.ts +0 -153
- package/dist/code-map-main.d.ts +0 -1
- package/dist/code-map-read.d.ts +0 -106
- package/dist/code-map-report.d.ts +0 -37
- package/dist/code-map-shape.d.ts +0 -172
- package/dist/code-map-store.d.ts +0 -136
- package/dist/codex-limits.d.ts +0 -15
- package/dist/coding-context.d.ts +0 -18
- package/dist/coding-handoff.d.ts +0 -39
- package/dist/coding-provider.d.ts +0 -88
- package/dist/coding-shipping-ui.d.ts +0 -5
- package/dist/coding-types.d.ts +0 -16
- package/dist/coding-ui.d.ts +0 -19
- package/dist/coding-update.d.ts +0 -28
- package/dist/coding-workspace.d.ts +0 -141
- package/dist/commit-extract.d.ts +0 -135
- package/dist/connect-cli.d.ts +0 -34
- package/dist/console-chrome.d.ts +0 -41
- package/dist/console-instance.d.ts +0 -157
- package/dist/container-state.d.ts +0 -5
- package/dist/containment.d.ts +0 -205
- package/dist/contract-changes.d.ts +0 -52
- package/dist/contracts/acceptance-terms.d.ts +0 -14
- package/dist/contracts/chat-actions.d.ts +0 -465
- package/dist/contracts/chat-callback-rows.d.ts +0 -59
- package/dist/contracts/chat-card.d.ts +0 -91
- package/dist/contracts/chat-content.d.ts +0 -551
- package/dist/contracts/chat-tables.d.ts +0 -12
- package/dist/contracts/cli.d.ts +0 -987
- package/dist/contracts/coding-activity.d.ts +0 -64
- package/dist/contracts/coding-context.d.ts +0 -97
- package/dist/contracts/coding-handoff.d.ts +0 -44
- package/dist/contracts/coding-workspace.d.ts +0 -165
- package/dist/contracts/console-api.d.ts +0 -539
- package/dist/contracts/contract-test.d.ts +0 -45
- package/dist/contracts/contract.d.ts +0 -92
- package/dist/contracts/decision.d.ts +0 -45
- package/dist/contracts/diff-stat.d.ts +0 -58
- package/dist/contracts/discord-callback.d.ts +0 -45
- package/dist/contracts/flow-card.d.ts +0 -53
- package/dist/contracts/flow-propose.d.ts +0 -334
- package/dist/contracts/flow-send.d.ts +0 -245
- package/dist/contracts/flow.d.ts +0 -19565
- package/dist/contracts/gateway-tools.d.ts +0 -472
- package/dist/contracts/handoff.d.ts +0 -91
- package/dist/contracts/health.d.ts +0 -82
- package/dist/contracts/integration-metadata.d.ts +0 -100
- package/dist/contracts/lead-context.d.ts +0 -165
- package/dist/contracts/lead-tools.d.ts +0 -2312
- package/dist/contracts/mcp-oauth.d.ts +0 -53
- package/dist/contracts/memory-pass.d.ts +0 -157
- package/dist/contracts/model-catalog.d.ts +0 -21
- package/dist/contracts/observation-request.d.ts +0 -37
- package/dist/contracts/plan.d.ts +0 -58
- package/dist/contracts/project-knowledge.d.ts +0 -159
- package/dist/contracts/project-memory.d.ts +0 -119
- package/dist/contracts/project-skills.d.ts +0 -120
- package/dist/contracts/proof.d.ts +0 -136
- package/dist/contracts/provider.d.ts +0 -40
- package/dist/contracts/recipes.d.ts +0 -166
- package/dist/contracts/release-check.d.ts +0 -371
- package/dist/contracts/release-terms.d.ts +0 -107
- package/dist/contracts/retention.d.ts +0 -42
- package/dist/contracts/review-findings.d.ts +0 -46
- package/dist/contracts/route-results.d.ts +0 -121
- package/dist/contracts/route.d.ts +0 -897
- package/dist/contracts/scope.d.ts +0 -105
- package/dist/contracts/scout-report.d.ts +0 -234
- package/dist/contracts/slack-callback.d.ts +0 -43
- package/dist/contracts/sort-answer.d.ts +0 -83
- package/dist/contracts/stage-output.d.ts +0 -127
- package/dist/contracts/storage.d.ts +0 -37
- package/dist/contracts/store-json.d.ts +0 -313
- package/dist/contracts/subagent-turn.d.ts +0 -43
- package/dist/contracts/task-sizing.d.ts +0 -24
- package/dist/contracts/teams-callback.d.ts +0 -13
- package/dist/contracts/telegram-callback.d.ts +0 -120
- package/dist/contracts/trigger-payloads.d.ts +0 -389
- package/dist/contracts/update-journal.d.ts +0 -254
- package/dist/contracts/verification-receipt.d.ts +0 -200
- package/dist/contracts/verification-view.d.ts +0 -102
- package/dist/contracts/youiyoux-request.d.ts +0 -248
- package/dist/control-setup.d.ts +0 -44
- package/dist/control-ui.d.ts +0 -37
- package/dist/controller-service.d.ts +0 -1
- package/dist/controller-supervisor.d.ts +0 -38
- package/dist/converse.d.ts +0 -316
- package/dist/coordinator-proposals.d.ts +0 -29
- package/dist/coordinator.d.ts +0 -186
- package/dist/credentials-ui.d.ts +0 -33
- package/dist/daemon.d.ts +0 -226
- package/dist/database-reclaim.d.ts +0 -4
- package/dist/decision.d.ts +0 -119
- package/dist/demo-chat.d.ts +0 -32
- package/dist/demo.d.ts +0 -153
- package/dist/deploy-gate.d.ts +0 -20
- package/dist/deploy-lock.d.ts +0 -8
- package/dist/deploy-phase.d.ts +0 -37
- package/dist/deploy-rescue.d.ts +0 -42
- package/dist/deprecations.d.ts +0 -20
- package/dist/design/kit.d.ts +0 -216
- package/dist/desktop-access.d.ts +0 -28
- package/dist/desktop-bundle.d.ts +0 -16
- package/dist/desktop-host.d.ts +0 -54
- package/dist/desktop-update-gate.d.ts +0 -12
- package/dist/desktop-update-recovery.d.ts +0 -14
- package/dist/desktop-update.d.ts +0 -147
- package/dist/digest-times.d.ts +0 -3
- package/dist/disclosure.d.ts +0 -6
- package/dist/discord-api.d.ts +0 -24
- package/dist/discord-chat.d.ts +0 -27
- package/dist/discord-settings.d.ts +0 -4
- package/dist/discord.d.ts +0 -10
- package/dist/discover.d.ts +0 -75
- package/dist/dispatch.d.ts +0 -123
- package/dist/dispose.d.ts +0 -194
- package/dist/doctor.d.ts +0 -67
- package/dist/easy-start-args.d.ts +0 -13
- package/dist/easy-start.d.ts +0 -77
- package/dist/egress.d.ts +0 -121
- package/dist/email-settings.d.ts +0 -34
- package/dist/envelope.d.ts +0 -47
- package/dist/eval-gate.d.ts +0 -51
- package/dist/eval-hooks.d.ts +0 -94
- package/dist/eval-oracle-main.d.ts +0 -1
- package/dist/eval-oracle.d.ts +0 -60
- package/dist/eval-world.d.ts +0 -17
- package/dist/evals.d.ts +0 -299
- package/dist/evidence-pack.d.ts +0 -186
- package/dist/evidence-pair.d.ts +0 -53
- package/dist/evidence.d.ts +0 -371
- package/dist/exec.d.ts +0 -355
- package/dist/exhaustion.d.ts +0 -58
- package/dist/export-ui.d.ts +0 -11
- package/dist/export.d.ts +0 -48
- package/dist/failing-first.d.ts +0 -31
- package/dist/fallback-schema.d.ts +0 -8
- package/dist/fallback.d.ts +0 -138
- package/dist/fast-start.d.ts +0 -213
- package/dist/fast-terms.d.ts +0 -9
- package/dist/fenced-check-coverage.d.ts +0 -62
- package/dist/findings.d.ts +0 -224
- package/dist/first-run.d.ts +0 -197
- package/dist/first-tasks-child.d.ts +0 -1
- package/dist/flaky-ci.d.ts +0 -31
- package/dist/flaky-cli.d.ts +0 -60
- package/dist/flaky.d.ts +0 -83
- package/dist/fleet-schema.d.ts +0 -17
- package/dist/flow-actions.d.ts +0 -79
- package/dist/flow-browser.d.ts +0 -103
- package/dist/flow-cadence.d.ts +0 -48
- package/dist/flow-card-task.d.ts +0 -11
- package/dist/flow-changed.d.ts +0 -14
- package/dist/flow-code.d.ts +0 -84
- package/dist/flow-draft.d.ts +0 -42
- package/dist/flow-engine.d.ts +0 -82
- package/dist/flow-gallery-ui.d.ts +0 -73
- package/dist/flow-gallery.d.ts +0 -147
- package/dist/flow-insights.d.ts +0 -104
- package/dist/flow-items.d.ts +0 -37
- package/dist/flow-live.d.ts +0 -16
- package/dist/flow-people.d.ts +0 -23
- package/dist/flow-pull-request.d.ts +0 -14
- package/dist/flow-replies.d.ts +0 -48
- package/dist/flow-result-card.d.ts +0 -22
- package/dist/flow-schedule.d.ts +0 -154
- package/dist/flow-scripts.d.ts +0 -31
- package/dist/flow-secrets.d.ts +0 -13
- package/dist/flow-send.d.ts +0 -54
- package/dist/flow-share.d.ts +0 -78
- package/dist/flow-sort.d.ts +0 -63
- package/dist/flow-starters-ui.d.ts +0 -15
- package/dist/flow-starters.d.ts +0 -63
- package/dist/flow-steps.d.ts +0 -52
- package/dist/flow-triggers.d.ts +0 -303
- package/dist/flow-unattended-words.d.ts +0 -48
- package/dist/flow-unattended.d.ts +0 -259
- package/dist/flows-cli.d.ts +0 -358
- package/dist/flows-ui.d.ts +0 -70
- package/dist/flows.d.ts +0 -136
- package/dist/folder-gate.d.ts +0 -32
- package/dist/folder-look.d.ts +0 -110
- package/dist/follow-through-brief.d.ts +0 -12
- package/dist/follow-through-cli.d.ts +0 -23
- package/dist/fonts.d.ts +0 -19
- package/dist/gaps.d.ts +0 -35
- package/dist/gate-failure.d.ts +0 -40
- package/dist/git-floor.d.ts +0 -16
- package/dist/git-incident.d.ts +0 -65
- package/dist/git-views.d.ts +0 -20
- package/dist/git.d.ts +0 -54
- package/dist/github-import.d.ts +0 -62
- package/dist/github-jobs.d.ts +0 -25
- package/dist/google-mail.d.ts +0 -59
- package/dist/grant.d.ts +0 -136
- package/dist/graph.d.ts +0 -164
- package/dist/guides.d.ts +0 -22
- package/dist/handover-note.d.ts +0 -33
- package/dist/health-cli.d.ts +0 -3
- package/dist/home-groups.d.ts +0 -39
- package/dist/html.d.ts +0 -85
- package/dist/install-method.d.ts +0 -17
- package/dist/integrations-ui.d.ts +0 -17
- package/dist/integrations.d.ts +0 -138
- package/dist/invoke.d.ts +0 -228
- package/dist/is-record.d.ts +0 -2
- package/dist/issues.d.ts +0 -41
- package/dist/jsonl-discriminants.d.ts +0 -11
- package/dist/keymap.d.ts +0 -41
- package/dist/keys.d.ts +0 -108
- package/dist/kits-ui.d.ts +0 -16
- package/dist/kits.d.ts +0 -88
- package/dist/knowledge-cli.d.ts +0 -132
- package/dist/knowledge-ui.d.ts +0 -45
- package/dist/landed-cleanup.d.ts +0 -175
- package/dist/laptop-background.d.ts +0 -187
- package/dist/laptop-service.d.ts +0 -111
- package/dist/latency-timeline.d.ts +0 -46
- package/dist/lead-about.d.ts +0 -35
- package/dist/lead-answer-eval.d.ts +0 -93
- package/dist/lead-capabilities.d.ts +0 -57
- package/dist/lead-cli-live.d.ts +0 -56
- package/dist/lead-cli.d.ts +0 -58
- package/dist/lead-commitments.d.ts +0 -84
- package/dist/lead-context.d.ts +0 -45
- package/dist/lead-contract.d.ts +0 -10
- package/dist/lead-doors.d.ts +0 -122
- package/dist/lead-follow.d.ts +0 -26
- package/dist/lead-identity.d.ts +0 -23
- package/dist/lead-latency-schema.d.ts +0 -24
- package/dist/lead-people.d.ts +0 -55
- package/dist/lead-progress.d.ts +0 -67
- package/dist/lead-queue-runtime.d.ts +0 -46
- package/dist/lead-queue.d.ts +0 -104
- package/dist/lead-route.d.ts +0 -56
- package/dist/lead-status.d.ts +0 -116
- package/dist/lead-sweep.d.ts +0 -67
- package/dist/lead-tools.d.ts +0 -167
- package/dist/lead-voice.d.ts +0 -85
- package/dist/lead.d.ts +0 -142
- package/dist/learning-child.d.ts +0 -1
- package/dist/learning-look.d.ts +0 -25
- package/dist/ledger-chain.d.ts +0 -46
- package/dist/ledger-csv.d.ts +0 -4
- package/dist/ledger-view.d.ts +0 -27
- package/dist/lesson-notes.d.ts +0 -81
- package/dist/limits-ui.d.ts +0 -34
- package/dist/link.d.ts +0 -72
- package/dist/live-backup.d.ts +0 -39
- package/dist/live-bus.d.ts +0 -141
- package/dist/live-children-read.d.ts +0 -52
- package/dist/live-children.d.ts +0 -73
- package/dist/live-detail.d.ts +0 -27
- package/dist/live-input.d.ts +0 -68
- package/dist/live-main-read.d.ts +0 -19
- package/dist/live-notes.d.ts +0 -20
- package/dist/live-open.d.ts +0 -28
- package/dist/live-records.d.ts +0 -149
- package/dist/live-reply.d.ts +0 -83
- package/dist/live-terminal.d.ts +0 -273
- package/dist/live.d.ts +0 -152
- package/dist/local-owner.d.ts +0 -124
- package/dist/log.d.ts +0 -7
- package/dist/login-secrets.d.ts +0 -60
- package/dist/machine-check.d.ts +0 -16
- package/dist/machine-identity.d.ts +0 -75
- package/dist/mailbox.d.ts +0 -57
- package/dist/maintenance.d.ts +0 -13
- package/dist/mcp-connect.d.ts +0 -181
- package/dist/mcp-core.d.ts +0 -110
- package/dist/mcp-http.d.ts +0 -32
- package/dist/mcp-oauth.d.ts +0 -92
- package/dist/mcp-person.d.ts +0 -22
- package/dist/mcp.d.ts +0 -20
- package/dist/memory-cli.d.ts +0 -768
- package/dist/memory-pass.d.ts +0 -151
- package/dist/memory-tidy.d.ts +0 -181
- package/dist/memory-use.d.ts +0 -35
- package/dist/merge-checklist.d.ts +0 -55
- package/dist/metrics.d.ts +0 -6
- package/dist/mobile-viewport.d.ts +0 -7
- package/dist/model-catalog.d.ts +0 -123
- package/dist/model-choices.d.ts +0 -235
- package/dist/model-names.d.ts +0 -6
- package/dist/models-cli.d.ts +0 -307
- package/dist/models-ui.d.ts +0 -161
- package/dist/modes.d.ts +0 -99
- package/dist/monitoring-settings.d.ts +0 -44
- package/dist/monitoring-ui.d.ts +0 -23
- package/dist/monitoring.d.ts +0 -34
- package/dist/names.d.ts +0 -67
- package/dist/needs-you.d.ts +0 -164
- package/dist/never-index.d.ts +0 -3
- package/dist/nightly-check.d.ts +0 -107
- package/dist/nightly-github.d.ts +0 -318
- package/dist/notification-delivery.d.ts +0 -19
- package/dist/notification-rows.d.ts +0 -30
- package/dist/oauth-run-token.d.ts +0 -51
- package/dist/observations.d.ts +0 -36
- package/dist/oidc.d.ts +0 -71
- package/dist/onboard.d.ts +0 -108
- package/dist/one-step-chat-schema.d.ts +0 -22
- package/dist/openrouter-models.d.ts +0 -34
- package/dist/operate-remote-arguments.d.ts +0 -36
- package/dist/operate-remote.d.ts +0 -98
- package/dist/operate.d.ts +0 -401
- package/dist/orphan-sweep.d.ts +0 -65
- package/dist/page-work-contract.d.ts +0 -21
- package/dist/password-bearer.d.ts +0 -25
- package/dist/passwordless.d.ts +0 -23
- package/dist/peek-cli.d.ts +0 -112
- package/dist/peek.d.ts +0 -110
- package/dist/people-audit-ui.d.ts +0 -16
- package/dist/person-proof.d.ts +0 -2
- package/dist/phase-routing.d.ts +0 -401
- package/dist/plain-schema.d.ts +0 -23
- package/dist/plain-words.d.ts +0 -20
- package/dist/plan-auto.d.ts +0 -25
- package/dist/plan-login.d.ts +0 -14
- package/dist/plan.d.ts +0 -188
- package/dist/plane-review.d.ts +0 -54
- package/dist/planner-source.d.ts +0 -225
- package/dist/planner.d.ts +0 -76
- package/dist/policy-ui.d.ts +0 -22
- package/dist/policy.d.ts +0 -92
- package/dist/prepared-evidence.d.ts +0 -17
- package/dist/principal.d.ts +0 -42
- package/dist/probe.d.ts +0 -46
- package/dist/process-custody.d.ts +0 -17
- package/dist/process-liveness.d.ts +0 -13
- package/dist/process-tree.d.ts +0 -39
- package/dist/project-access.d.ts +0 -17
- package/dist/project-activity.d.ts +0 -20
- package/dist/project-admission.d.ts +0 -105
- package/dist/project-cli.d.ts +0 -19
- package/dist/project-concurrency.d.ts +0 -62
- package/dist/project-delete-ui.d.ts +0 -96
- package/dist/project-delete.d.ts +0 -59
- package/dist/project-demo.d.ts +0 -12
- package/dist/project-file.d.ts +0 -3
- package/dist/project-identity.d.ts +0 -52
- package/dist/project-knowledge.d.ts +0 -124
- package/dist/project-learning.d.ts +0 -120
- package/dist/project-memory.d.ts +0 -70
- package/dist/project-outcomes.d.ts +0 -119
- package/dist/project-sandbox.d.ts +0 -59
- package/dist/project-skills.d.ts +0 -139
- package/dist/project-tools.d.ts +0 -318
- package/dist/project.d.ts +0 -65
- package/dist/prompt.d.ts +0 -33
- package/dist/proof.d.ts +0 -457
- package/dist/proposal.d.ts +0 -70
- package/dist/protected-storage-look.d.ts +0 -1
- package/dist/protected-storage.d.ts +0 -98
- package/dist/provider-auth.d.ts +0 -143
- package/dist/provider-capture.d.ts +0 -34
- package/dist/provider-connection.d.ts +0 -23
- package/dist/provider-home.d.ts +0 -22
- package/dist/provider-limits.d.ts +0 -37
- package/dist/provider.d.ts +0 -369
- package/dist/public-access.d.ts +0 -52
- package/dist/public-check.d.ts +0 -37
- package/dist/publish.d.ts +0 -146
- package/dist/pull-request-flow.d.ts +0 -189
- package/dist/pull-request-schema.d.ts +0 -5
- package/dist/pull-request-ui.d.ts +0 -25
- package/dist/pulls.d.ts +0 -121
- package/dist/push.d.ts +0 -120
- package/dist/quality.d.ts +0 -8
- package/dist/quick-start.d.ts +0 -26
- package/dist/read-executor-worker.d.ts +0 -1
- package/dist/read-executor.d.ts +0 -66
- package/dist/read-only-request.d.ts +0 -4
- package/dist/recipe-ui.d.ts +0 -21
- package/dist/recipes.d.ts +0 -56
- package/dist/release-adapters.d.ts +0 -205
- package/dist/release-approval.d.ts +0 -180
- package/dist/release-authority.d.ts +0 -173
- package/dist/release-auto.d.ts +0 -184
- package/dist/release-card.d.ts +0 -156
- package/dist/release-carry.d.ts +0 -261
- package/dist/release-ci-hold.d.ts +0 -41
- package/dist/release-cli.d.ts +0 -34
- package/dist/release-coverage.d.ts +0 -16
- package/dist/release-gate.d.ts +0 -84
- package/dist/release-git.d.ts +0 -43
- package/dist/release-links.d.ts +0 -29
- package/dist/release-net.d.ts +0 -90
- package/dist/release-next.d.ts +0 -48
- package/dist/release-recheck.d.ts +0 -146
- package/dist/release-refusal.d.ts +0 -32
- package/dist/release-view.d.ts +0 -37
- package/dist/release.d.ts +0 -806
- package/dist/releases.d.ts +0 -94
- package/dist/remote-audit.d.ts +0 -79
- package/dist/remote-command.d.ts +0 -45
- package/dist/remote-destination.d.ts +0 -36
- package/dist/remote-exec.d.ts +0 -38
- package/dist/remote-main.d.ts +0 -111
- package/dist/remote-run.d.ts +0 -20
- package/dist/remote.d.ts +0 -67
- package/dist/render.d.ts +0 -64
- package/dist/reply-shape.d.ts +0 -106
- package/dist/reply-voice.d.ts +0 -23
- package/dist/report-summary.d.ts +0 -22
- package/dist/reported-usage.d.ts +0 -69
- package/dist/repos.d.ts +0 -67
- package/dist/repository-context-ui.d.ts +0 -3
- package/dist/repository-context.d.ts +0 -66
- package/dist/request-budget-ui.d.ts +0 -14
- package/dist/request-budget.d.ts +0 -127
- package/dist/restart-certification.d.ts +0 -133
- package/dist/result-actions.d.ts +0 -36
- package/dist/result-acts.d.ts +0 -112
- package/dist/result-completion.d.ts +0 -35
- package/dist/result-evidence-readers.d.ts +0 -42
- package/dist/result-follow-ups.d.ts +0 -118
- package/dist/result-review.d.ts +0 -220
- package/dist/result-shots.d.ts +0 -59
- package/dist/retention-ui.d.ts +0 -21
- package/dist/retention.d.ts +0 -77
- package/dist/review-context.d.ts +0 -245
- package/dist/review-evidence.d.ts +0 -33
- package/dist/review-switch.d.ts +0 -36
- package/dist/reviewer.d.ts +0 -99
- package/dist/route-change-check.d.ts +0 -4
- package/dist/route-change.d.ts +0 -22
- package/dist/route-hooks.d.ts +0 -54
- package/dist/route-results.d.ts +0 -75
- package/dist/route-rules.d.ts +0 -324
- package/dist/route-savings.d.ts +0 -136
- package/dist/route-store.d.ts +0 -300
- package/dist/run-closeout.d.ts +0 -89
- package/dist/run-efficiency.d.ts +0 -74
- package/dist/run-ending.d.ts +0 -21
- package/dist/runner-process.d.ts +0 -76
- package/dist/runner.d.ts +0 -324
- package/dist/sample-project.d.ts +0 -31
- package/dist/sandbox-launch.d.ts +0 -1
- package/dist/sandbox-runtime.d.ts +0 -128
- package/dist/scan.d.ts +0 -32
- package/dist/scope.d.ts +0 -1067
- package/dist/scout-browser-lock.d.ts +0 -69
- package/dist/scout-browser.d.ts +0 -107
- package/dist/scout-net.d.ts +0 -25
- package/dist/scout-report.d.ts +0 -23
- package/dist/scout.d.ts +0 -142
- package/dist/secret-mint.d.ts +0 -1
- package/dist/serve.d.ts +0 -11
- package/dist/server/agents-computers.d.ts +0 -9
- package/dist/server/agents-live-filed.d.ts +0 -17
- package/dist/server/agents-live-lead.d.ts +0 -47
- package/dist/server/agents-live-room.d.ts +0 -23
- package/dist/server/chat.d.ts +0 -39
- package/dist/server/chrome.d.ts +0 -328
- package/dist/server/edge-refusal.d.ts +0 -7
- package/dist/server/flows.d.ts +0 -8
- package/dist/server/guards.d.ts +0 -80
- package/dist/server/handler-context.d.ts +0 -22
- package/dist/server/handler-registry.d.ts +0 -23
- package/dist/server/home-asks.d.ts +0 -45
- package/dist/server/home.d.ts +0 -65
- package/dist/server/http.d.ts +0 -337
- package/dist/server/in-place.d.ts +0 -15
- package/dist/server/kit-standalone.d.ts +0 -22
- package/dist/server/kit.d.ts +0 -452
- package/dist/server/last-checks.d.ts +0 -17
- package/dist/server/live.d.ts +0 -74
- package/dist/server/merge-ready-view.d.ts +0 -10
- package/dist/server/mutation-key.d.ts +0 -70
- package/dist/server/pages-assets.d.ts +0 -11
- package/dist/server/pages.d.ts +0 -8
- package/dist/server/people-tokens.d.ts +0 -18
- package/dist/server/remote-hooks.d.ts +0 -29
- package/dist/server/remote.d.ts +0 -59
- package/dist/server/render-chat.d.ts +0 -439
- package/dist/server/render-code-map.d.ts +0 -30
- package/dist/server/render-flaky.d.ts +0 -20
- package/dist/server/render-follow-through.d.ts +0 -11
- package/dist/server/render-history.d.ts +0 -51
- package/dist/server/render-new-task.d.ts +0 -54
- package/dist/server/render-pages.d.ts +0 -236
- package/dist/server/render-people.d.ts +0 -102
- package/dist/server/render-projects.d.ts +0 -104
- package/dist/server/render-release.d.ts +0 -19
- package/dist/server/render-results.d.ts +0 -754
- package/dist/server/render-settings.d.ts +0 -93
- package/dist/server/render-tasks.d.ts +0 -774
- package/dist/server/request-context.d.ts +0 -78
- package/dist/server/retired-routes.d.ts +0 -17
- package/dist/server/route-policy.d.ts +0 -18
- package/dist/server/route-table.d.ts +0 -114
- package/dist/server/runtime.d.ts +0 -342
- package/dist/server/session.d.ts +0 -192
- package/dist/server/settings.d.ts +0 -76
- package/dist/server/signup-gate.d.ts +0 -9
- package/dist/server/sweeps.d.ts +0 -4
- package/dist/server/task-views.d.ts +0 -98
- package/dist/server/tasks.d.ts +0 -83
- package/dist/server/terminals.d.ts +0 -31
- package/dist/server/welcome.d.ts +0 -28
- package/dist/server-telemetry.d.ts +0 -87
- package/dist/settings-groups-ui.d.ts +0 -286
- package/dist/settings-kit-script.d.ts +0 -21
- package/dist/settings-kit.d.ts +0 -173
- package/dist/settings-proofs.d.ts +0 -64
- package/dist/setup-guide.d.ts +0 -39
- package/dist/shared-deps.d.ts +0 -115
- package/dist/sign-in-guard.d.ts +0 -70
- package/dist/skills-ui.d.ts +0 -12
- package/dist/skills.d.ts +0 -99
- package/dist/slack-api.d.ts +0 -59
- package/dist/slack-chat.d.ts +0 -37
- package/dist/slack-settings.d.ts +0 -4
- package/dist/slack-socket.d.ts +0 -12
- package/dist/slack.d.ts +0 -6
- package/dist/sleep.d.ts +0 -2
- package/dist/source-key.d.ts +0 -2
- package/dist/spend-report.d.ts +0 -87
- package/dist/spend-ui.d.ts +0 -80
- package/dist/spend.d.ts +0 -142
- package/dist/sqlite-runtime.d.ts +0 -3
- package/dist/sqlite-telemetry.d.ts +0 -9
- package/dist/sso-settings.d.ts +0 -33
- package/dist/sso-ui.d.ts +0 -26
- package/dist/staged-runtimes.d.ts +0 -54
- package/dist/steer-capabilities.d.ts +0 -32
- package/dist/steer-controls.d.ts +0 -14
- package/dist/steer-live.d.ts +0 -19
- package/dist/steer-mailbox.d.ts +0 -46
- package/dist/steer-status.d.ts +0 -25
- package/dist/stop-proof.d.ts +0 -67
- package/dist/storage-sweep-child.d.ts +0 -1
- package/dist/storage-sweep-process.d.ts +0 -55
- package/dist/storage-sweep-schedule.d.ts +0 -30
- package/dist/storage-sweep.d.ts +0 -77
- package/dist/storage-ui.d.ts +0 -23
- package/dist/storage.d.ts +0 -68
- package/dist/store-baseline.d.ts +0 -19
- package/dist/store.d.ts +0 -8613
- package/dist/stream-scope.d.ts +0 -18
- package/dist/structured-output.d.ts +0 -57
- package/dist/style-asset.d.ts +0 -7
- package/dist/subagent-admin.d.ts +0 -53
- package/dist/subagent-desk.d.ts +0 -59
- package/dist/subagent-memory.d.ts +0 -65
- package/dist/subagent-question.d.ts +0 -59
- package/dist/subagent-tools.d.ts +0 -125
- package/dist/subagent-week.d.ts +0 -68
- package/dist/subagent-work.d.ts +0 -76
- package/dist/subagents-ui.d.ts +0 -22
- package/dist/subagents.d.ts +0 -146
- package/dist/subscription-chat.d.ts +0 -54
- package/dist/summary.d.ts +0 -33
- package/dist/surface.d.ts +0 -49
- package/dist/sweep-gate.d.ts +0 -10
- package/dist/sweep-quarantine.d.ts +0 -29
- package/dist/sync.d.ts +0 -94
- package/dist/tailnet.d.ts +0 -11
- package/dist/tamper-scan.d.ts +0 -4
- package/dist/task-activity.d.ts +0 -27
- package/dist/task-aliases.d.ts +0 -5
- package/dist/task-archive.d.ts +0 -13
- package/dist/task-base.d.ts +0 -39
- package/dist/task-composer.d.ts +0 -14
- package/dist/task-control.d.ts +0 -159
- package/dist/task-live.d.ts +0 -8
- package/dist/task-moves.d.ts +0 -90
- package/dist/task-outcome-cli.d.ts +0 -30
- package/dist/task-review-brief.d.ts +0 -69
- package/dist/task-sizing.d.ts +0 -58
- package/dist/task-source.d.ts +0 -77
- package/dist/task-status.d.ts +0 -324
- package/dist/task-text.d.ts +0 -31
- package/dist/team-chat-authorization.d.ts +0 -11
- package/dist/team-contract.d.ts +0 -103
- package/dist/team-http.d.ts +0 -25
- package/dist/team-leads.d.ts +0 -85
- package/dist/team-runtime.d.ts +0 -25
- package/dist/team-ui.d.ts +0 -4
- package/dist/team-updates.d.ts +0 -8
- package/dist/teams-api.d.ts +0 -33
- package/dist/teams-chat.d.ts +0 -36
- package/dist/teams-settings.d.ts +0 -14
- package/dist/teams.d.ts +0 -24
- package/dist/teardown-git.d.ts +0 -164
- package/dist/telegram-flow.d.ts +0 -112
- package/dist/telegram-lead.d.ts +0 -151
- package/dist/telegram-live.d.ts +0 -116
- package/dist/telegram-progress.d.ts +0 -20
- package/dist/telegram-settings.d.ts +0 -9
- package/dist/telegram-status.d.ts +0 -83
- package/dist/telegram-team.d.ts +0 -68
- package/dist/telegram.d.ts +0 -271
- package/dist/templates.d.ts +0 -69
- package/dist/terminal-catalog.d.ts +0 -11
- package/dist/terminal-text.d.ts +0 -11
- package/dist/test-infra.d.ts +0 -34
- package/dist/test-temp.d.ts +0 -40
- package/dist/text-limits.d.ts +0 -297
- package/dist/tidy.d.ts +0 -130
- package/dist/tier-report.d.ts +0 -44
- package/dist/token-notices.d.ts +0 -11
- package/dist/tokens-cli.d.ts +0 -21
- package/dist/tool-broker.d.ts +0 -52
- package/dist/tool-launcher.d.ts +0 -1
- package/dist/tool-secret-store.d.ts +0 -167
- package/dist/toolroll-update-cli.d.ts +0 -15
- package/dist/toolroll-update-ui.d.ts +0 -47
- package/dist/toolroll-update.d.ts +0 -265
- package/dist/tools-ui.d.ts +0 -51
- package/dist/transitions-recipes.d.ts +0 -1
- package/dist/tree-proof.d.ts +0 -34
- package/dist/tui-contract.d.ts +0 -144
- package/dist/tui-source.d.ts +0 -14
- package/dist/typed-start.d.ts +0 -51
- package/dist/unfenced-test-support.d.ts +0 -2
- package/dist/up-processes.d.ts +0 -162
- package/dist/up-role-child.d.ts +0 -1
- package/dist/update-notice.d.ts +0 -5
- package/dist/vanished-retry.d.ts +0 -30
- package/dist/verification-evidence.d.ts +0 -68
- package/dist/version.d.ts +0 -2
- package/dist/wake-hub.d.ts +0 -72
- package/dist/webhook-limits.d.ts +0 -23
- package/dist/webhook-readers.d.ts +0 -56
- package/dist/webhook-signing.d.ts +0 -27
- package/dist/webhooks.d.ts +0 -84
- package/dist/welcome-facts.d.ts +0 -18
- package/dist/when-html.d.ts +0 -40
- package/dist/work-index.d.ts +0 -175
- package/dist/work-summary.d.ts +0 -61
- package/dist/workspace-motion.d.ts +0 -4
- package/dist/workspace-revision.d.ts +0 -48
- package/dist/workspace-ui.d.ts +0 -385
- package/dist/worktree-notices.d.ts +0 -13
- package/dist/worktree.d.ts +0 -365
- package/dist/writes-mode.d.ts +0 -9
- package/dist/youiyoux-intake.d.ts +0 -234
package/dist/writes-mode.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export const WRITES_DEFAULT = "workspace";
|
|
2
2
|
export const isWritesMode = (value) => value === "workspace" || value === "anywhere";
|
|
3
|
-
/** What an approval card and the CLI say of where a build may write (absent: sealed before write allowlists). */
|
|
4
3
|
export function writesWords(writes) {
|
|
5
4
|
return writes === "workspace" ? "only its checkout, its caches and its temp folder"
|
|
6
5
|
: writes === "anywhere" ? "anywhere outside Toolroll's fenced folders (an approver's choice)"
|
package/dist/youiyoux-intake.js
CHANGED
|
@@ -1,64 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* youiyoux change and options requests become tasks (docs/guide/getting-started.md, "Change requests from youiyoux").
|
|
3
|
-
*
|
|
4
|
-
* youiyoux is a design-system tool: in its hub a person points at a component on a screenshot of their app and asks
|
|
5
|
-
* for a change, and it saves the request as `<project>/.youi/requests/<id>.json` (`youi.request/v1`). A project that
|
|
6
|
-
* uses youiyoux (a `youi.project.json` at its root, or a `.youi/requests` folder) has this intake on with no step of
|
|
7
|
-
* its own, unless a person turned it off in Settings → Integrations.
|
|
8
|
-
*
|
|
9
|
-
* On the worker's flow pass this reads the project's main checkout — the path from Toolroll's own records, resolved
|
|
10
|
-
* with realpath — and files each open change request with a task exactly once, keyed by the project and the request
|
|
11
|
-
* id in `youiyoux_request`: never again, whatever the file says later. Everything in the folder is outside text,
|
|
12
|
-
* written by whoever can write the project's folder:
|
|
13
|
-
*
|
|
14
|
-
* - the folders and files must be real (never a link), a file a single link to itself, at most 64 KB, read without
|
|
15
|
-
* following a link or waiting on a pipe, and at most 200 are read in one pass;
|
|
16
|
-
* - a file whose name, schema or id is wrong is counted (the integration says so) and never filed;
|
|
17
|
-
* - text that looks like a key or password is left out (recorded once, never filed), as flow triggers do;
|
|
18
|
-
* - a path the task may touch is kept only when youiyoux knew them all and every one is a plain relative path;
|
|
19
|
-
* - the task is filed through the one filing door (proposal.ts) by the "youiyoux" automation, unplanned, and waits
|
|
20
|
-
* for a person: its provenance (`filed_via = 'youiyoux'`) keeps every seal no person looked at off it (store.ts,
|
|
21
|
-
* the outside-request quarantine), so no operating mode, grant, schedule or automatic seal approves it. A person
|
|
22
|
-
* approves it in Toolroll, or with their own two taps in their paired chat where they turned approving from chat
|
|
23
|
-
* on (chat-decide.ts), bound to the exact scope the card showed.
|
|
24
|
-
*
|
|
25
|
-
* Beside each request it writes `<id>.task.json` (`youi.request-task/v1`): the task and its status, and, when the
|
|
26
|
-
* console has an address (the one the installation names, else this machine's own console where `up` serves it, on
|
|
27
|
-
* loopback), the task's link and `home`, where a person approves all waiting work. It is written when filed, whenever
|
|
28
|
-
* the status changes, and once more when that address changes. Beside an options request's options file (below), it is
|
|
29
|
-
* the only file it writes in the checkout: written whole (a temporary file in the same folder, then renamed over),
|
|
30
|
-
* refused when the folder or the target is a link, never the request itself. The status is also kept in the store;
|
|
31
|
-
* nothing Toolroll decides reads the file back.
|
|
32
|
-
*
|
|
33
|
-
* Status words (task-status.ts headline → youiyoux): Queued → queued; Planning, Building and Waiting (work going on
|
|
34
|
-
* by itself) → building; Needs you → needs-you; Ready for review → ready; Complete → done; Failed → failed;
|
|
35
|
-
* Stopped → stopped.
|
|
36
|
-
*
|
|
37
|
-
* An options request (`kind: "options"`) asks an agent for two to four options for one component, which youiyoux shows
|
|
38
|
-
* on its Screens canvas. It is filed the same way, once, waiting for a person, and only as youiyoux's contract has it:
|
|
39
|
-
* its offer names `p-<its own hex>`, that proposal's file `.youi/proposals/p-<hex>.json`, and the task may touch that
|
|
40
|
-
* one file (anything else is counted as a file that couldn't be read, and never filed). The proposal it names is kept
|
|
41
|
-
* when filed; the request is never read for it again. Then (runYouiyoux, the worker's pass):
|
|
42
|
-
*
|
|
43
|
-
* - When the task is Ready for review (or Complete), its result is read: the file at the result's commit, the commit
|
|
44
|
-
* Toolroll recorded for the build (never the checkout the agent had, which it controls and the pool hands on), read
|
|
45
|
-
* with the hardened git (teardown-git.ts). It must be a plain file in that commit (never a link), at most 64 KB, a
|
|
46
|
-
* `youi.proposal/v1` file whose id is the proposal, which answers this request, still open (an agent proposes; only a
|
|
47
|
-
* person decides), by an agent, with no key-like text. Then it is copied, byte for byte, into the project's main
|
|
48
|
-
* checkout as `.youi/proposals/<id>.json` the way the status file is written (folders real, never through a link;
|
|
49
|
-
* a temporary file, then linked into place, which never replaces a file already there: a person may have decided on
|
|
50
|
-
* it). A file missing from the result, or one that isn't safe, is said in the status file and never copied; a newer
|
|
51
|
-
* result is read again.
|
|
52
|
-
* - Only a file Toolroll copied is read for a decision: one already at that name is left as it was (a person may
|
|
53
|
-
* have decided on it) and never read for one, unless it is byte for byte the result's (an earlier pass's copy).
|
|
54
|
-
* - When that copy says a person chose an option or dismissed them all (youiyoux's hub writes that), and it is still
|
|
55
|
-
* the proposal copied (only its status, choice, decidedBy, decidedAt, request and updatedAt may differ), decided by
|
|
56
|
-
* a person, at a time, the task is marked complete by Toolroll, as landed work is (result-completion.ts LANDED_ACTOR), without
|
|
57
|
-
* merging or publishing its branch: its deliverable was the options, and youiyoux has used them. Only the exact
|
|
58
|
-
* result whose file was copied, and only through every guard a person's completion passes (landed-cleanup.ts
|
|
59
|
-
* completionProblem): otherwise it stays Ready for review and the ledger says why. The ledger keeps who decided
|
|
60
|
-
* what, as youiyoux wrote it (outside text, cleaned). A decision never approves, publishes or merges anything.
|
|
61
|
-
*/
|
|
62
1
|
import { createHash, randomBytes } from "node:crypto";
|
|
63
2
|
import { closeSync, constants, fstatSync, fsyncSync, linkSync, lstatSync, mkdirSync, openSync, readdirSync, readSync, realpathSync, renameSync, unlinkSync, writeSync } from "node:fs";
|
|
64
3
|
import { join } from "node:path";
|
|
@@ -76,18 +15,14 @@ import { COMPLETION_ACTION, LANDED_ACTOR } from "./result-completion.js";
|
|
|
76
15
|
import { optionsProblem, PROPOSAL_ID, proposalFileOf, proposalIdOf, readYouiyouxProposal, readYouiyouxRequest, readYouiyouxRequestTask, YOUIYOUX_CARD_KIND, YOUIYOUX_FILED_VIA, YOUIYOUX_HOME_PATH } from "./contracts/youiyoux-request.js";
|
|
77
16
|
import { FolderUnavailable } from "./folder-gate.js";
|
|
78
17
|
export { YOUIYOUX_FILED_VIA };
|
|
79
|
-
/** Who files the tasks: an automation, like a flow trigger. */
|
|
80
18
|
export const YOUIYOUX_ACTOR = "youiyoux";
|
|
81
19
|
export const REQUEST_BYTES = 64 * 1024;
|
|
82
20
|
export const REQUESTS_PER_PASS = 200;
|
|
83
21
|
export const FILED_PER_PASS = 10;
|
|
84
22
|
const STATUS_PER_PASS = 50;
|
|
85
|
-
/** Options requests whose result is read, or whose copy in the hub is read for a decision, in one pass (each). */
|
|
86
23
|
const OPTIONS_PER_PASS = 20;
|
|
87
|
-
/** The ledger's word for a decision youiyoux's hub made on a task's options. */
|
|
88
24
|
export const OPTIONS_DECIDED_ACTION = "youiyoux options decided";
|
|
89
25
|
export const OPTIONS_COPIED_ACTION = "youiyoux options copied";
|
|
90
|
-
/** The flow pass runs every 15 seconds; the folder is read at most this often. */
|
|
91
26
|
export const INTAKE_EVERY_MS = 30_000;
|
|
92
27
|
const REQUEST_FILE = /^(r-[0-9a-f]{10})\.json$/;
|
|
93
28
|
export const STATUS_OF_HEADLINE = {
|
|
@@ -96,9 +31,6 @@ export const STATUS_OF_HEADLINE = {
|
|
|
96
31
|
};
|
|
97
32
|
const plural = (count, one) => `${count} ${one}${count === 1 ? "" : "s"}`;
|
|
98
33
|
const isMissing = (error) => error?.code === "ENOENT";
|
|
99
|
-
// ------------------------------------------------------------ the project
|
|
100
|
-
/** Whether a project uses youiyoux: a `youi.project.json` at its root, or a `.youi` folder. Only their presence is
|
|
101
|
-
* read here (a link counts, so the integration can say it is Broken); requestsFolder decides what may be read. */
|
|
102
34
|
export function usesYouiyoux(repo) {
|
|
103
35
|
const there = (path) => { try {
|
|
104
36
|
lstatSync(path);
|
|
@@ -109,8 +41,6 @@ export function usesYouiyoux(repo) {
|
|
|
109
41
|
} };
|
|
110
42
|
return there(join(repo, "youi.project.json")) || there(join(repo, ".youi"));
|
|
111
43
|
}
|
|
112
|
-
/** `.youi/<part>` of a recorded project, checked now: null when there is none. Links are refused, never followed.
|
|
113
|
-
* `create`: a missing `<part>` (never `.youi` itself) is made, as a real folder, and checked again. */
|
|
114
44
|
function youiFolder(repo, part, create = false) {
|
|
115
45
|
const what = part === "requests" ? "its requests aren't read" : "nothing is written in it";
|
|
116
46
|
let root;
|
|
@@ -159,7 +89,6 @@ function youiFolder(repo, part, create = false) {
|
|
|
159
89
|
const requestsFolder = (repo) => youiFolder(repo, "requests");
|
|
160
90
|
const NOFOLLOW = constants.O_NOFOLLOW ?? 0;
|
|
161
91
|
const NONBLOCK = constants.O_NONBLOCK ?? 0;
|
|
162
|
-
/** One request file's text: a real file with one link, at most REQUEST_BYTES, read without following a link. */
|
|
163
92
|
function readRequestFile(dir, name) {
|
|
164
93
|
const path = join(dir, name);
|
|
165
94
|
let stats;
|
|
@@ -201,8 +130,6 @@ function readRequestFile(dir, name) {
|
|
|
201
130
|
closeSync(fd);
|
|
202
131
|
}
|
|
203
132
|
}
|
|
204
|
-
/** The open change and options requests in the folder not yet taken, and the files that couldn't be read as requests
|
|
205
|
-
* (an options request that doesn't hold to youiyoux's contract among them). */
|
|
206
133
|
function readRequests(dir, taken) {
|
|
207
134
|
const names = readdirSync(dir).filter(name => REQUEST_FILE.test(name) && !taken.has(name.slice(0, 12))).sort();
|
|
208
135
|
const out = { requests: [], invalid: [], more: names.length > REQUESTS_PER_PASS };
|
|
@@ -230,7 +157,6 @@ function readRequests(dir, taken) {
|
|
|
230
157
|
out.invalid.push(`${name}: its id is ${parsed.value.id}`);
|
|
231
158
|
continue;
|
|
232
159
|
}
|
|
233
|
-
// Comments, requests already addressed or closed, and changes with no task are someone else's to act on.
|
|
234
160
|
if (parsed.value.kind === "comment" || parsed.value.status !== "open")
|
|
235
161
|
continue;
|
|
236
162
|
const options = optionsProblem(parsed.value);
|
|
@@ -244,28 +170,22 @@ function readRequests(dir, taken) {
|
|
|
244
170
|
}
|
|
245
171
|
return out;
|
|
246
172
|
}
|
|
247
|
-
// ------------------------------------------------------------ the task
|
|
248
|
-
/** One line of outside text: control and hidden characters out, runs of space as one, at most `max` characters. */
|
|
249
173
|
function line(text, max) {
|
|
250
174
|
const clean = text.replace(/[\p{Cc}\p{Cf}\u2028\u2029]+/gu, " ").replace(/\s+/g, " ").trim();
|
|
251
175
|
return clean.length > max ? `${clean.slice(0, max - 1).trimEnd()}…` : clean;
|
|
252
176
|
}
|
|
253
|
-
/** Outside paragraphs: control characters out (newlines and tabs kept), hidden characters out. */
|
|
254
177
|
function paragraphs(text) {
|
|
255
178
|
return text.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f\p{Cf}\u2028\u2029]/gu, "").trim();
|
|
256
179
|
}
|
|
257
|
-
/** The paths a request may touch: every one a plain relative path inside the project, or none at all. */
|
|
258
180
|
export function safeTouches(touches) {
|
|
259
181
|
const ok = (path) => path !== "" && path.length <= 200 && !path.includes("\u0000") && !/[\p{Cc}\p{Cf}]/u.test(path)
|
|
260
182
|
&& !path.startsWith("/") && !path.startsWith("\\") && !/^[A-Za-z]:/.test(path) && !path.startsWith("~")
|
|
261
183
|
&& !path.split(/[\\/]/).some(part => part === ".." || part === "") && path.trim() === path;
|
|
262
184
|
return touches.every(ok) ? [...new Set(touches)] : null;
|
|
263
185
|
}
|
|
264
|
-
/** A criterion statement in a rubric's own terms: one line, and no `|` (the rubric's field separator). */
|
|
265
186
|
function statement(text) {
|
|
266
187
|
return line(text.replace(/\|/g, "/"), 300);
|
|
267
188
|
}
|
|
268
|
-
/** The task a request asks for, in Toolroll's terms. Text is cleaned here; whether it may be filed is decided by the caller. */
|
|
269
189
|
export function requestTask(request) {
|
|
270
190
|
const task = request.task;
|
|
271
191
|
const touches = task.touchesKnown ? safeTouches(task.touches) ?? [] : [];
|
|
@@ -280,15 +200,12 @@ export function requestTask(request) {
|
|
|
280
200
|
pointed: { route: line(request.target.route, 300), component: line(request.target.name, 200), at: pointedAt(request.target) },
|
|
281
201
|
};
|
|
282
202
|
}
|
|
283
|
-
/** `file:line` (or the file alone) where youiyoux knew a plain relative path; null otherwise. */
|
|
284
203
|
function pointedAt(target) {
|
|
285
204
|
const file = target.file === undefined ? null : safeTouches([target.file])?.[0] ?? null;
|
|
286
205
|
return file === null ? null : target.line === undefined ? file : `${file}:${target.line}`;
|
|
287
206
|
}
|
|
288
|
-
/** Why a request's task can't be filed as it stands, or null. */
|
|
289
207
|
function refusalOf(request, task) {
|
|
290
208
|
const given = request.task;
|
|
291
|
-
// Read as written and as cleaned: cleaning must never be what lets a key through.
|
|
292
209
|
const raw = [given.title, given.goal, request.target.route, request.target.name, request.target.file ?? "", ...given.not, ...given.touches, ...given.acceptance.map(one => one.statement)];
|
|
293
210
|
const all = [task.title, task.goal, task.outOfScope ?? "", ...task.touches, ...task.acceptance.map(one => one.statement), task.pointed.route, task.pointed.component, task.pointed.at ?? ""];
|
|
294
211
|
if ([...raw, ...all].some(one => scanForSecrets(one).length > 0))
|
|
@@ -310,7 +227,6 @@ function recordPass(store, repo, now, uses, invalid, problem) {
|
|
|
310
227
|
store.handle.prepare(`INSERT INTO youiyoux_intake (repo, uses, checked_at, invalid, problem) VALUES (?, ?, ?, ?, ?)
|
|
311
228
|
ON CONFLICT (repo) DO UPDATE SET uses = excluded.uses, checked_at = excluded.checked_at, invalid = excluded.invalid, problem = excluded.problem`).run(repo, uses ? 1 : 0, now.toISOString(), invalid, problem);
|
|
312
229
|
}
|
|
313
|
-
/** A person turns the intake off or back on for a project; the ledger keeps who. */
|
|
314
230
|
export function setYouiyouxIntake(store, repo, on, by, now) {
|
|
315
231
|
store.transact(() => {
|
|
316
232
|
store.handle.prepare(`INSERT INTO youiyoux_intake (repo, enabled, changed_by, changed_at) VALUES (?, ?, ?, ?)
|
|
@@ -318,8 +234,6 @@ export function setYouiyouxIntake(store, repo, on, by, now) {
|
|
|
318
234
|
store.recordAction({ at: now.toISOString(), actor: by, repo, taskId: null, runId: null, action: on ? "youiyoux requests on" : "youiyoux requests off", outcome: "changed", source: "access" });
|
|
319
235
|
});
|
|
320
236
|
}
|
|
321
|
-
/** How the intake stands for one project, from the store alone: a page reads it on every render, so it never reads the
|
|
322
|
-
* project's folder (one that doesn't answer must not hold the console). Whether it uses youiyoux is the last pass's. */
|
|
323
237
|
export function youiyouxState(store, repo) {
|
|
324
238
|
const row = intakeRow(store, repo);
|
|
325
239
|
const uses = row.uses;
|
|
@@ -328,16 +242,11 @@ export function youiyouxState(store, repo) {
|
|
|
328
242
|
return { uses, on: uses && row.enabled !== false, off: row.enabled === false, queued: Number(counts?.["queued"] ?? 0), filed: Number(counts?.["filed"] ?? 0),
|
|
329
243
|
invalid: row.invalid, problem: row.problem, checkedAt: row.checkedAt };
|
|
330
244
|
}
|
|
331
|
-
/** The one line `toolroll onboard` says for a project that uses youiyoux; null when it doesn't. */
|
|
332
245
|
export function youiyouxOnboardLine(store, repo) {
|
|
333
246
|
if (!usesYouiyoux(repo))
|
|
334
247
|
return null;
|
|
335
248
|
return intakeRow(store, repo).enabled === false ? "change requests: off (turn on in Settings → Integrations)" : "change requests become tasks that wait for your approval";
|
|
336
249
|
}
|
|
337
|
-
// ------------------------------------------------------------ the status file
|
|
338
|
-
/** The console the links name: the address the installation names (CONSOLE_URL or the console-url file), else, with
|
|
339
|
-
* none named, this machine's own console where `up` serves it (loopback http only, never a guessed host); null without
|
|
340
|
-
* either. Either way http(s) with no credentials, query or fragment. */
|
|
341
250
|
export function consoleBase(env, dir) {
|
|
342
251
|
if (dir === null)
|
|
343
252
|
return null;
|
|
@@ -355,16 +264,10 @@ export function consoleBase(env, dir) {
|
|
|
355
264
|
return null;
|
|
356
265
|
return `${url.origin}${url.pathname.replace(/\/+$/, "")}`;
|
|
357
266
|
}
|
|
358
|
-
/** The task's page in that console; null without one. */
|
|
359
267
|
export function taskLink(env, dir, taskId) {
|
|
360
268
|
const base = consoleBase(env, dir);
|
|
361
269
|
return base === null ? null : `${base}/t/${encodeURIComponent(taskId)}`;
|
|
362
270
|
}
|
|
363
|
-
/**
|
|
364
|
-
* Write `<id>.task.json` beside its request, whole. The folders are checked again now (a link is refused), the request
|
|
365
|
-
* must still be a plain file, the target must be a plain file or absent, and the content goes to a fresh temporary file
|
|
366
|
-
* in the same folder (created exclusively, never through a link) that is then renamed over the target.
|
|
367
|
-
*/
|
|
368
271
|
export function writeStatusFile(repo, body) {
|
|
369
272
|
const folder = requestsFolder(repo);
|
|
370
273
|
if (folder === null)
|
|
@@ -393,7 +296,6 @@ export function writeStatusFile(repo, body) {
|
|
|
393
296
|
fsyncSync(fd);
|
|
394
297
|
closeSync(fd);
|
|
395
298
|
fd = null;
|
|
396
|
-
// At the moment of use: the folder and the target are still what was checked.
|
|
397
299
|
const again = requestsFolder(repo);
|
|
398
300
|
if (again === null || !again.ok || again.dir !== folder.dir || plain(target) === false)
|
|
399
301
|
throw new Error("The requests folder changed while the status was written.");
|
|
@@ -405,22 +307,14 @@ export function writeStatusFile(repo, body) {
|
|
|
405
307
|
try {
|
|
406
308
|
closeSync(fd);
|
|
407
309
|
}
|
|
408
|
-
catch {
|
|
310
|
+
catch { }
|
|
409
311
|
try {
|
|
410
312
|
unlinkSync(temporary);
|
|
411
313
|
}
|
|
412
|
-
catch {
|
|
314
|
+
catch { }
|
|
413
315
|
return { ok: false, problem: error instanceof Error && error.message.startsWith("The requests folder") ? error.message : "The status couldn't be written beside the request." };
|
|
414
316
|
}
|
|
415
317
|
}
|
|
416
|
-
/**
|
|
417
|
-
* Put an options file into the project's main checkout as `.youi/proposals/<id>.json`, whole, and never over a file
|
|
418
|
-
* already there (a person may have decided on it). The folders are checked as the status file's are (`.youi/proposals`
|
|
419
|
-
* is made, as a real folder, when missing), the content goes to a fresh temporary file in the same folder (created
|
|
420
|
-
* exclusively, never through a link), the folders are checked again, and the temporary file is linked into place, which
|
|
421
|
-
* fails rather than replace anything at that name, a link included. `same`: that exact content was already there;
|
|
422
|
-
* `taken`: something else was, and is left as it was.
|
|
423
|
-
*/
|
|
424
318
|
export function writeProposalFile(repo, id, text) {
|
|
425
319
|
if (!PROPOSAL_ID.test(id))
|
|
426
320
|
return { ok: false, problem: "The options file's name isn't youiyoux's." };
|
|
@@ -453,7 +347,6 @@ export function writeProposalFile(repo, id, text) {
|
|
|
453
347
|
fsyncSync(fd);
|
|
454
348
|
closeSync(fd);
|
|
455
349
|
fd = null;
|
|
456
|
-
// At the moment of use: the folder is still what was checked.
|
|
457
350
|
const again = youiFolder(repo, "proposals");
|
|
458
351
|
if (again === null || !again.ok || again.dir !== folder.dir)
|
|
459
352
|
throw new Error("The proposals folder changed while the options were written.");
|
|
@@ -475,21 +368,18 @@ export function writeProposalFile(repo, id, text) {
|
|
|
475
368
|
try {
|
|
476
369
|
closeSync(fd);
|
|
477
370
|
}
|
|
478
|
-
catch {
|
|
371
|
+
catch { }
|
|
479
372
|
try {
|
|
480
373
|
unlinkSync(temporary);
|
|
481
374
|
}
|
|
482
|
-
catch {
|
|
375
|
+
catch { }
|
|
483
376
|
}
|
|
484
377
|
}
|
|
485
378
|
function statusOf(store, taskId, repo, now, root) {
|
|
486
|
-
// With the saved evidence, so a completed task reads Complete (its completion is bound to the receipt read with it).
|
|
487
379
|
const read = storedTaskStatus(store, taskId, repo, now, root ?? undefined);
|
|
488
380
|
return read === null ? null : { status: STATUS_OF_HEADLINE[read.status.headline], detail: read.status.headline };
|
|
489
381
|
}
|
|
490
382
|
const clip = (text) => text.length > 200 ? `${text.slice(0, 199).trimEnd()}…` : text;
|
|
491
|
-
/** The status file's words for an options request, where its options stand (else the headline): what a person decided
|
|
492
|
-
* in the hub, and while the result is Ready (or Complete), whether its options went to the hub, and why not. */
|
|
493
383
|
function optionsDetail(row, status, headline) {
|
|
494
384
|
if (row?.["kind"] !== "options")
|
|
495
385
|
return headline;
|
|
@@ -507,8 +397,6 @@ function optionsDetail(row, status, headline) {
|
|
|
507
397
|
default: return headline;
|
|
508
398
|
}
|
|
509
399
|
}
|
|
510
|
-
/** Write a filed task's status where it changed, where its last write failed, or where the console its links name
|
|
511
|
-
* changed since (`written_base`: '' for none), so a file written before a console address existed gets its links. */
|
|
512
400
|
function writeStatus(store, repo, request, taskId, now, io, force) {
|
|
513
401
|
const known = store.handle.prepare(`SELECT status, detail, written_at, written_base, kind, proposal_state, proposal_note, decided, decided_note
|
|
514
402
|
FROM youiyoux_request WHERE repo = ? AND request = ?`).get(repo, request);
|
|
@@ -529,8 +417,6 @@ function writeStatus(store, repo, request, taskId, now, io, force) {
|
|
|
529
417
|
}
|
|
530
418
|
export const NO_YOUIYOUX_PASS = Object.freeze({ filed: 0, skipped: 0, invalid: 0, updated: 0, copied: 0, decided: 0, problems: [] });
|
|
531
419
|
const NOTHING = () => ({ ...NO_YOUIYOUX_PASS, problems: [] });
|
|
532
|
-
/** File one request's task, exactly once: the claim and the filing are one transaction (two passes, in two processes
|
|
533
|
-
* or one, make one task). */
|
|
534
420
|
export function fileYouiyouxRequest(store, repo, request, now) {
|
|
535
421
|
const task = requestTask(request);
|
|
536
422
|
return store.transact(() => {
|
|
@@ -558,12 +444,6 @@ export function fileYouiyouxRequest(store, repo, request, now) {
|
|
|
558
444
|
return { made: "filed", taskId: filed.id };
|
|
559
445
|
});
|
|
560
446
|
}
|
|
561
|
-
/**
|
|
562
|
-
* One message for what a pass filed, however many: the person's paired chats draw it as one card (chat-decide.ts) that
|
|
563
|
-
* lists each new task, with Approve all and each one's own Approve and Open, and a phone push links to what needs
|
|
564
|
-
* them. Keyed by the pass's first task, so a pass says it once; the tasks are the ones filed with it (one project, one
|
|
565
|
-
* moment: requestPassOf). Titles are cleaned outside text, as filed.
|
|
566
|
-
*/
|
|
567
447
|
export function noteYouiyouxFiled(store, taskIds, now) {
|
|
568
448
|
const first = store.lookupRef(taskIds[0]);
|
|
569
449
|
if (first === null)
|
|
@@ -576,38 +456,27 @@ export function noteYouiyouxFiled(store, taskIds, now) {
|
|
|
576
456
|
body: titles.map(title => `• ${title}`).join("\n"),
|
|
577
457
|
}, now);
|
|
578
458
|
}
|
|
579
|
-
/** What a pass's tasks were asked for, in a word: "change request", "options request", or "request" for both. */
|
|
580
459
|
export function requestKindWord(store, taskIds) {
|
|
581
460
|
const kinds = new Set(taskIds.map(id => store.youiyouxOriginOf(id)?.kind ?? "change"));
|
|
582
461
|
return kinds.size > 1 ? "request" : kinds.has("options") ? "options request" : "change request";
|
|
583
462
|
}
|
|
584
|
-
/** The tasks one pass filed beside this one (one project, one moment), in request order; empty for any other task. */
|
|
585
463
|
export function requestPassOf(store, taskId) {
|
|
586
464
|
return store.handle.prepare(`SELECT r.task_id FROM youiyoux_request me JOIN youiyoux_request r ON r.repo = me.repo AND r.filed_at = me.filed_at
|
|
587
465
|
WHERE me.task_id = ? AND r.task_id IS NOT NULL ORDER BY r.request LIMIT ?`).all(taskId, FILED_PER_PASS).map(row => String(row["task_id"]));
|
|
588
466
|
}
|
|
589
|
-
/**
|
|
590
|
-
* One project's pass: read new requests and file them, then write each filed task's status where it changed (no
|
|
591
|
-
* options moved: runYouiyoux does that too). The folder read is the project in Toolroll's records that `given`
|
|
592
|
-
* resolves to; anything else is left alone.
|
|
593
|
-
*/
|
|
594
467
|
export function runYouiyouxIntake(store, given, now, io, options = {}) {
|
|
595
468
|
return intake(store, given, now, io, options).pass;
|
|
596
469
|
}
|
|
597
|
-
/** The worker's pass for one project (flow-cadence.ts): the intake, then each options request's options, both ways. */
|
|
598
470
|
export async function runYouiyoux(store, given, now, io, options = {}) {
|
|
599
471
|
const { pass, repo } = intake(store, given, now, io, options);
|
|
600
472
|
if (repo !== null)
|
|
601
473
|
await optionsPass(store, repo, now, io, pass);
|
|
602
474
|
return pass;
|
|
603
475
|
}
|
|
604
|
-
/** The intake's pass; `repo` is the project when its requests folder was read whole (and options may move). */
|
|
605
476
|
function intake(store, given, now, io, options) {
|
|
606
477
|
const pass = NOTHING();
|
|
607
478
|
const none = { pass, repo: null };
|
|
608
|
-
// The project as Toolroll recorded it, resolved: a folder that isn't one of its projects is never read.
|
|
609
479
|
let repo;
|
|
610
|
-
// A folder the console's gate holds back (folder-gate.ts) isn't read this pass.
|
|
611
480
|
try {
|
|
612
481
|
repo = canonicalProject(given);
|
|
613
482
|
}
|
|
@@ -663,7 +532,6 @@ function intake(store, given, now, io, options) {
|
|
|
663
532
|
}
|
|
664
533
|
if (filedNow.length > 0)
|
|
665
534
|
noteYouiyouxFiled(store, filedNow, now);
|
|
666
|
-
// Each filed task's status, where it changed, its last write failed, or the console its links name changed.
|
|
667
535
|
const filed = store.handle.prepare(`SELECT request, task_id FROM youiyoux_request WHERE repo = ? AND task_id IS NOT NULL
|
|
668
536
|
AND (status IS NULL OR status <> 'done' OR written_at IS NULL OR written_base IS NOT ?) ORDER BY status_at LIMIT ?`).all(repo, consoleBase(io.env, io.dir) ?? "", STATUS_PER_PASS);
|
|
669
537
|
for (const one of filed) {
|
|
@@ -683,10 +551,7 @@ function intake(store, given, now, io, options) {
|
|
|
683
551
|
const optionsRow = (row) => ({ request: String(row["request"]), taskId: String(row["task_id"]), proposal: String(row["proposal"]),
|
|
684
552
|
state: row["proposal_state"] == null ? null : String(row["proposal_state"]), run: row["proposal_run"] == null ? null : Number(row["proposal_run"]),
|
|
685
553
|
digest: row["proposal_digest"] == null ? null : String(row["proposal_digest"]) });
|
|
686
|
-
/** What a person's decision in the hub may change in an options file (youiyoux seals it, with a key only the person
|
|
687
|
-
* holds: `seal`); everything else must stay as Toolroll copied it. */
|
|
688
554
|
const DECISION_FIELDS = new Set(["status", "choice", "decidedBy", "decidedAt", "request", "seal", "updatedAt"]);
|
|
689
|
-
/** The digest of an options file apart from what a decision changes: the proposal itself, every other key included. */
|
|
690
555
|
export function proposalIdentity(raw) {
|
|
691
556
|
if (raw === null || typeof raw !== "object" || Array.isArray(raw))
|
|
692
557
|
return null;
|
|
@@ -694,8 +559,6 @@ export function proposalIdentity(raw) {
|
|
|
694
559
|
return createHash("sha256").update(canonicalJson(kept)).digest("hex");
|
|
695
560
|
}
|
|
696
561
|
const SHA = /^[0-9a-f]{40}$/;
|
|
697
|
-
/** The task's current result, as its assignment reads it (with the saved evidence where the worker has it): the run and
|
|
698
|
-
* the commit Toolroll recorded for it. Null without a finished result. */
|
|
699
562
|
function resultOf(store, taskId, repo, now, root) {
|
|
700
563
|
const assignment = assignmentOf(store, taskId, now, { principal: "operator", repos: [repo] }, root ?? undefined);
|
|
701
564
|
const receipt = assignment?.receipt ?? null;
|
|
@@ -703,8 +566,6 @@ function resultOf(store, taskId, repo, now, root) {
|
|
|
703
566
|
return null;
|
|
704
567
|
return { assignment, receipt, head: receipt.head };
|
|
705
568
|
}
|
|
706
|
-
/** Why an agent's options file can't go to the hub as it stands, or null. Toolroll checks what makes it safe to copy
|
|
707
|
-
* and this request's; youiyoux checks each option against the component's contract when it reads it. */
|
|
708
569
|
export function proposalProblem(text, proposal, request) {
|
|
709
570
|
let raw;
|
|
710
571
|
try {
|
|
@@ -723,7 +584,6 @@ export function proposalProblem(text, proposal, request) {
|
|
|
723
584
|
return `its id isn't ${proposal}`;
|
|
724
585
|
if (doc.for !== request)
|
|
725
586
|
return `it doesn't answer ${request}`;
|
|
726
|
-
// An agent proposes; only a person decides, in the hub. A file that arrives decided would decide for them.
|
|
727
587
|
if (doc.status !== "open" || doc.choice !== undefined || doc.decidedBy !== undefined || doc.decidedAt !== undefined || doc.request !== undefined || Object.hasOwn(raw, "seal"))
|
|
728
588
|
return "it arrived already decided, and only a person decides";
|
|
729
589
|
if (doc.author.kind !== "agent")
|
|
@@ -732,7 +592,6 @@ export function proposalProblem(text, proposal, request) {
|
|
|
732
592
|
return "it looked like it held a key or password";
|
|
733
593
|
return null;
|
|
734
594
|
}
|
|
735
|
-
/** Read the options file from the result's commit (never the agent's checkout) and copy it to the hub. */
|
|
736
595
|
async function bringProposal(git, repo, request, proposal, head) {
|
|
737
596
|
const file = proposalFileOf(proposal);
|
|
738
597
|
const listed = await git(repo, ["ls-tree", "-z", "--full-tree", head, "--", file]);
|
|
@@ -765,14 +624,10 @@ async function bringProposal(git, repo, request, proposal, head) {
|
|
|
765
624
|
const wrote = writeProposalFile(repo, proposal, blob.stdout);
|
|
766
625
|
if (!wrote.ok)
|
|
767
626
|
return { state: "retry", note: wrote.problem.replace(/\.$/, "") };
|
|
768
|
-
// Only Toolroll's own copy (written now, or byte for byte an earlier pass's) is ever read for a decision.
|
|
769
627
|
if (wrote.made === "taken")
|
|
770
628
|
return { state: "taken", note: "a file was already there; the task waits for its review" };
|
|
771
629
|
return { state: "copied", note: null, digest: proposalIdentity(JSON.parse(blob.stdout)) };
|
|
772
630
|
}
|
|
773
|
-
/** What a person decided on the options in the hub, read from the copy in the main checkout; null while they are open or
|
|
774
|
-
* the file can't be read as this request's. Who and the option's label are youiyoux's words: cleaned, and left out
|
|
775
|
-
* when they look like a key. */
|
|
776
631
|
function decisionOf(repo, proposal, request, copied) {
|
|
777
632
|
const folder = youiFolder(repo, "proposals");
|
|
778
633
|
if (folder === null || !folder.ok)
|
|
@@ -790,13 +645,11 @@ function decisionOf(repo, proposal, request, copied) {
|
|
|
790
645
|
const parsed = readYouiyouxProposal(raw);
|
|
791
646
|
if (!parsed.ok || parsed.value.id !== proposal || parsed.value.for !== request)
|
|
792
647
|
return null;
|
|
793
|
-
// Still the proposal Toolroll copied: its options, ask, target and every other key, apart from what deciding changes.
|
|
794
648
|
if (proposalIdentity(raw) !== copied)
|
|
795
649
|
return null;
|
|
796
650
|
const doc = parsed.value;
|
|
797
651
|
if (doc.status === "open" || (doc.status === "chosen" && doc.choice === undefined))
|
|
798
652
|
return null;
|
|
799
|
-
// A person's decision, at a time: an agent proposes, and never decides.
|
|
800
653
|
if (doc.decidedBy?.kind !== "person" || doc.decidedAt === undefined)
|
|
801
654
|
return null;
|
|
802
655
|
const said = (text, max) => {
|
|
@@ -808,11 +661,6 @@ function decisionOf(repo, proposal, request, copied) {
|
|
|
808
661
|
return { status: doc.status, choice: doc.choice ?? null, label: said(doc.options.find(one => one.id === doc.choice)?.label, 60),
|
|
809
662
|
by: said(doc.decidedBy?.name, 100), at: doc.decidedAt ?? null };
|
|
810
663
|
}
|
|
811
|
-
/**
|
|
812
|
-
* A person decided in the hub: mark the task complete as landed work is, bound to the exact result whose options were
|
|
813
|
-
* copied, through every guard a person's completion passes, or leave it Ready for review and say why. Once per request,
|
|
814
|
-
* in one transaction with the read. Waits (false) while the task isn't Ready, Complete or cancelled.
|
|
815
|
-
*/
|
|
816
664
|
export function actOnDecision(store, repo, row, decision, now, root) {
|
|
817
665
|
return store.transact(() => {
|
|
818
666
|
const current = store.handle.prepare("SELECT decided, proposal_run FROM youiyoux_request WHERE repo = ? AND request = ?").get(repo, row.request);
|
|
@@ -863,7 +711,6 @@ export function actOnDecision(store, repo, row, decision, now, root) {
|
|
|
863
711
|
return true;
|
|
864
712
|
});
|
|
865
713
|
}
|
|
866
|
-
/** Each options request's options, both ways: a Ready result's file to the hub, and a decision in the hub back. */
|
|
867
714
|
async function optionsPass(store, repo, now, io, pass) {
|
|
868
715
|
const root = io.evidenceRoot ?? null;
|
|
869
716
|
if (io.git === undefined || root === null)
|
|
@@ -875,7 +722,6 @@ async function optionsPass(store, repo, now, io, pass) {
|
|
|
875
722
|
const result = resultOf(store, row.taskId, repo, now, root);
|
|
876
723
|
if (result === null)
|
|
877
724
|
continue;
|
|
878
|
-
// Said once for each result: a newer one (a revision, a build again) is read again.
|
|
879
725
|
if ((row.state === "missing" || row.state === "unsafe") && row.run === result.receipt.runId)
|
|
880
726
|
continue;
|
|
881
727
|
const brought = await bringProposal(io.git, repo, row.request, row.proposal, result.head);
|
|
@@ -899,7 +745,6 @@ async function optionsPass(store, repo, now, io, pass) {
|
|
|
899
745
|
pass.problems.push(`youiyoux ${row.request}: ${error instanceof Error ? error.message : "options unreadable"}`);
|
|
900
746
|
}
|
|
901
747
|
}
|
|
902
|
-
// Only Toolroll's own copies: a file that was already there (`taken`) is never read for a decision.
|
|
903
748
|
const watch = store.handle.prepare(`SELECT request, task_id, proposal, proposal_state, proposal_run, proposal_digest FROM youiyoux_request WHERE repo = ? AND kind = 'options' AND task_id IS NOT NULL
|
|
904
749
|
AND proposal_state = 'copied' AND proposal_digest IS NOT NULL AND decided IS NULL ORDER BY proposal_at LIMIT ?`).all(repo, OPTIONS_PER_PASS).map(optionsRow);
|
|
905
750
|
for (const row of watch) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "toolroll",
|
|
3
|
-
"version": "0.9.
|
|
4
|
-
"description": "A control plane for
|
|
3
|
+
"version": "0.9.105",
|
|
4
|
+
"description": "Your agents build. You decide. A control plane for coding agents — Claude Code, Codex, Gemini: approve the exact scope once, get results back Ready with the diff, the passing check and screenshots. Runs on your machine.",
|
|
5
5
|
"directories": {
|
|
6
6
|
"doc": "docs"
|
|
7
7
|
},
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"bugs": {
|
|
59
59
|
"url": "https://github.com/ap9000/toolroll/issues"
|
|
60
60
|
},
|
|
61
|
-
"homepage": "https://
|
|
61
|
+
"homepage": "https://toolroll.dev",
|
|
62
62
|
"bin": {
|
|
63
63
|
"toolroll": "dist/bin.js",
|
|
64
64
|
"standing-orders": "dist/bin.js"
|
|
@@ -137,11 +137,12 @@
|
|
|
137
137
|
"@slack/socket-mode": "3.1.1",
|
|
138
138
|
"@xterm/addon-serialize": "0.14.0",
|
|
139
139
|
"@xterm/headless": "6.0.0",
|
|
140
|
-
"discord.js": "14.28.
|
|
140
|
+
"discord.js": "14.28.1",
|
|
141
141
|
"imapflow": "2.10.0",
|
|
142
142
|
"mailparser": "3.14.1",
|
|
143
143
|
"nodemailer": "10.3.1",
|
|
144
144
|
"typescript-parser": "npm:typescript@6.0.3",
|
|
145
|
+
"undici": "7.30.1",
|
|
145
146
|
"ws": "8.22.1",
|
|
146
147
|
"yaml": "2.9.1",
|
|
147
148
|
"zod": "^4.6.7"
|
package/dist/accent-colors.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The accent a person can choose (Settings → Appearance): the signal colour
|
|
3
|
-
* that marks what waits on a person. Any colour from the picker, with
|
|
4
|
-
* Pantone's Colours of the Year as presets. The default is ink — no hue, like Vercel, Linear and GitHub:
|
|
5
|
-
* the page is black, white and grey, and colour is left to status (building, complete, warning, danger).
|
|
6
|
-
* Chart magenta (the default until 2026-09-30) and violet stay presets. The default's tokens are set by
|
|
7
|
-
* hand in serve.ts (ink and near-white), not derived: derivation would stop at a mid grey in dark.
|
|
8
|
-
* A per-browser preference, like the theme: it lives in the person's
|
|
9
|
-
* `so-accent` cookie (six hex digits) and never in the database.
|
|
10
|
-
*
|
|
11
|
-
* Pure and shared: the server derives the tokens it prints for the cookie's
|
|
12
|
-
* colour, and the picker derives the same tokens to preview a colour live.
|
|
13
|
-
*
|
|
14
|
-
* Each colour keeps its hue and gives up only lightness (and, when needed,
|
|
15
|
-
* chroma to stay in sRGB) until it reads: in light, its text passes 4.5:1 on
|
|
16
|
-
* its own soft wash; in dark, 6:1 on the dark paper. The swatch is the chosen
|
|
17
|
-
* colour; the page uses the readable one.
|
|
18
|
-
*
|
|
19
|
-
* Preset names are Pantone LLC's; the hex values are the published screen
|
|
20
|
-
* approximations. Pantone is not affiliated with Toolroll.
|
|
21
|
-
*/
|
|
22
|
-
export type AccentTokens = {
|
|
23
|
-
signal: string;
|
|
24
|
-
hover: string;
|
|
25
|
-
on: string;
|
|
26
|
-
soft: string;
|
|
27
|
-
selection: string;
|
|
28
|
-
};
|
|
29
|
-
export type AccentPreset = {
|
|
30
|
-
id: string;
|
|
31
|
-
name: string;
|
|
32
|
-
year: number | null;
|
|
33
|
-
hex: string;
|
|
34
|
-
};
|
|
35
|
-
export declare const DEFAULT_ACCENT = "#171717";
|
|
36
|
-
/** Ink (the default), violet, chart magenta, then Pantone's colours of the year, newest first. The greys and whites (Sand Dollar 2006,
|
|
37
|
-
* Ultimate Gray 2021, Cloud Dancer 2026) are left out: a grey can't mark what needs a person here. */
|
|
38
|
-
export declare const ACCENT_PRESETS: AccentPreset[];
|
|
39
|
-
export declare function contrast(a: string, b: string): number;
|
|
40
|
-
/** "#rrggbb" from "#rgb", "rgb", "#rrggbb" or "rrggbb" (any case); null otherwise. */
|
|
41
|
-
export declare function normalHex(raw: string): string | null;
|
|
42
|
-
/** The readable tokens a colour resolves to, light and dark. */
|
|
43
|
-
export declare function accentTokens(hex: string): {
|
|
44
|
-
light: AccentTokens;
|
|
45
|
-
dark: AccentTokens;
|
|
46
|
-
};
|
|
47
|
-
export declare function accentNote(hex: string): string | null;
|
|
48
|
-
/** The person's chosen colour from their own cookie ("#rrggbb"); null is chart magenta. */
|
|
49
|
-
export declare function pinnedAccent(cookieHeader: string | undefined): string | null;
|
|
50
|
-
/** The token overrides for a chosen colour, light and dark, for the page head. */
|
|
51
|
-
export declare function accentStyle(hex: string): string;
|
package/dist/acp-agents.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The coding agents Toolroll runs over the Agent Client Protocol
|
|
3
|
-
* (docs/plans/acp-adapter.md). Each is its own provider id — readiness,
|
|
4
|
-
* sign-in pauses, routing and spend stay per agent — but they share one
|
|
5
|
-
* transport (acp-client.ts), and a row here is the only place an agent is
|
|
6
|
-
* described.
|
|
7
|
-
*
|
|
8
|
-
* Nothing in a row is trusted to be true of the binary on this machine: an
|
|
9
|
-
* agent runs only after its conformance check passed against that exact
|
|
10
|
-
* binary (attestation), and the check is what proves the argv, the name it
|
|
11
|
-
* gives in `initialize`, and the models it offers. Until then it is listed
|
|
12
|
-
* and refused.
|
|
13
|
-
*/
|
|
14
|
-
import type { ProviderId } from "./contracts/provider.js";
|
|
15
|
-
export declare const ACP_PROVIDER_IDS: readonly ["opencode", "cursor", "cline", "qwen", "goose"];
|
|
16
|
-
export type AcpProviderId = (typeof ACP_PROVIDER_IDS)[number];
|
|
17
|
-
/** The providers with their own adapter and key: everything that is not an ACP agent. */
|
|
18
|
-
export type KeyedProviderId = Exclude<ProviderId, AcpProviderId>;
|
|
19
|
-
export type AcpAgent = {
|
|
20
|
-
/** How people know it. */
|
|
21
|
-
name: string;
|
|
22
|
-
/** The command looked up on PATH. */
|
|
23
|
-
binary: string;
|
|
24
|
-
/** What starts its ACP server on stdio. */
|
|
25
|
-
argv: readonly string[];
|
|
26
|
-
/** What the operator runs to sign in. */
|
|
27
|
-
signIn: string;
|
|
28
|
-
/** Folders under the home directory that hold its own configuration and sign-in (fenced like other agents' homes). */
|
|
29
|
-
home: readonly string[];
|
|
30
|
-
/** What still reaches a run beside the brief: its own configuration surfaces, in words. */
|
|
31
|
-
configSurface: readonly string[];
|
|
32
|
-
};
|
|
33
|
-
export declare const ACP_AGENTS: Readonly<Record<AcpProviderId, AcpAgent>>;
|
|
34
|
-
export declare function isAcpProvider(provider: string): provider is AcpProviderId;
|
|
35
|
-
/** Whether a profile (or anything carrying a provider) is an ACP agent's: narrows the union. */
|
|
36
|
-
export declare function isAcpProfile<P extends {
|
|
37
|
-
provider: string;
|
|
38
|
-
}>(profile: P): profile is Extract<P, {
|
|
39
|
-
provider: AcpProviderId;
|
|
40
|
-
}>;
|
|
41
|
-
export declare function isKeyedProvider(provider: ProviderId): provider is KeyedProviderId;
|
|
42
|
-
/** Build a per-provider record whose ACP entries all come from one function of the agent's row. */
|
|
43
|
-
export declare function withAcp<K extends KeyedProviderId, V>(keyed: Record<K, V>, acp: (agent: AcpAgent, provider: AcpProviderId) => V): Record<K | AcpProviderId, V>;
|
package/dist/acp-attest.d.ts
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/** What makes an interpreter load code beside the script it was given: never passed to an ACP launch. */
|
|
2
|
-
export declare const INTERPRETER_INJECTION_ENV: readonly string[];
|
|
3
|
-
/** Bumped whenever the conformance probe changes what it proves: every attestation made under another version is void. */
|
|
4
|
-
export declare const ACP_CONFORMANCE_VERSION = 2;
|
|
5
|
-
export type FileBinding = {
|
|
6
|
-
role: "launcher" | "interpreter" | "package" | "entry";
|
|
7
|
-
path: string;
|
|
8
|
-
sha256: string;
|
|
9
|
-
dev: number;
|
|
10
|
-
ino: number;
|
|
11
|
-
ctimeMs: number;
|
|
12
|
-
size: number;
|
|
13
|
-
};
|
|
14
|
-
/** How the attested binary is started, and every file that start depends on. */
|
|
15
|
-
export type AcpLaunch = {
|
|
16
|
-
/** What is executed: the launcher itself, or the pinned interpreter. */
|
|
17
|
-
file: string;
|
|
18
|
-
/** Arguments before the agent's own ACP argv: a script's shebang arguments and the script itself. */
|
|
19
|
-
prefix: string[];
|
|
20
|
-
bindings: FileBinding[];
|
|
21
|
-
};
|
|
22
|
-
/** sha256 of a regular file, read without following a final symlink. */
|
|
23
|
-
export declare function hashFile(path: string): string | null;
|
|
24
|
-
/** The interpreter and its arguments a shebang line names — `#!/abs/interp [arg]` or `#!/usr/bin/env [-S] name [args]` — or null. */
|
|
25
|
-
export declare function parseShebang(line: string, path: string): {
|
|
26
|
-
interpreter: string;
|
|
27
|
-
args: string[];
|
|
28
|
-
} | null;
|
|
29
|
-
/**
|
|
30
|
-
* How to launch a binary found at `launcher` (a realpath), with every file bound — or why it can't be. `path` is the
|
|
31
|
-
* PATH a `#!/usr/bin/env name` shebang is resolved on, once, here.
|
|
32
|
-
*/
|
|
33
|
-
export declare function launchOf(launcher: string, path: string): AcpLaunch | {
|
|
34
|
-
problem: string;
|
|
35
|
-
};
|
|
36
|
-
/** Whether every bound file is still the one that passed: same stat, or on any change the same sha256. */
|
|
37
|
-
export declare function verifyLaunch(launch: AcpLaunch): {
|
|
38
|
-
ok: true;
|
|
39
|
-
} | {
|
|
40
|
-
ok: false;
|
|
41
|
-
problem: string;
|
|
42
|
-
};
|
|
43
|
-
/** A stored launch, read strictly: anything this code never writes reads as null. */
|
|
44
|
-
export declare function launchFromJson(json: string): AcpLaunch | null;
|