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
|
@@ -37,9 +37,7 @@ import { chatResultHref, projectChatHref, taskChatHref, taskHref } from "./http.
|
|
|
37
37
|
import {} from "./render-pages.js";
|
|
38
38
|
import { completionReceiptCard } from "./render-results.js";
|
|
39
39
|
import { routeEvidenceHtml, agentsAvailabilityHtml, agentsBadgesHtml, agentsStripHtml, agentsSummaryWords, agentsWhyHtml, approvalSheetHtml, checkProgressHtml, consentClosedHtml, consentDoorOf, decisionAnswerCard, dispatchHeadline, milestoneProgressHtml, planRevisionLedgerHtml, profileWords, sizeConsequence, taskControlDetailsHtml, taskStatusCard, taskViewSwitch } from "./render-tasks.js";
|
|
40
|
-
/** The installation fact that the lead was turned on by default, once (its value: the provider). */
|
|
41
40
|
export const LEAD_BY_DEFAULT_FACT = "lead-on-by-default";
|
|
42
|
-
/** The installation fact that the phone card was put away. */
|
|
43
41
|
export const PHONE_CARD_FACT = "phone-card-dismissed";
|
|
44
42
|
export const TASK_COMPOSER_MODES = {
|
|
45
43
|
build: "The operator chose Build: if they ask for a change to the result, read it with get_result and propose a revision of this task with propose_review (operation revise) for them to confirm. Nothing builds until they confirm the card.",
|
|
@@ -47,18 +45,13 @@ export const TASK_COMPOSER_MODES = {
|
|
|
47
45
|
answer: "The operator chose Just answer: answer from what you can read. Do not propose any action this turn.",
|
|
48
46
|
};
|
|
49
47
|
export function taskChatContext(focus) {
|
|
50
|
-
return html `<aside class="task-chat-context" aria-label="current task"><div class="task-chat-context-head"><span class="eyebrow">current task</span></div><h2>${focus.title}</h2><p class="meta mono">${focus.id}${focus.project === null ? "" : html ` · ${focus.project}`}</p>${
|
|
51
|
-
// The agents in chat (v47): the same summary the task page and CLI
|
|
52
|
-
// print — who does what — with the reasons one tap away, so a
|
|
53
|
-
// conversation never hides which agent runs.
|
|
54
|
-
focus.route === null
|
|
48
|
+
return html `<aside class="task-chat-context" aria-label="current task"><div class="task-chat-context-head"><span class="eyebrow">current task</span></div><h2>${focus.title}</h2><p class="meta mono">${focus.id}${focus.project === null ? "" : html ` · ${focus.project}`}</p>${focus.route === null
|
|
55
49
|
? ""
|
|
56
50
|
: html `<div class="task-chat-agents-aside"><span class="eyebrow">agents</span><p class="agents-summary">${agentsSummaryWords(focus.route)}</p>${routeEvidenceHtml(focus.route)}<div class="agents-badges">${agentsBadgesHtml(focus.route)}</div>${focus.route.projection === null ? "" : html `${agentsAvailabilityHtml(focus.route.projection)}${agentsWhyHtml(focus.route.projection)}`}<p class="meta"><a href="${taskHref(focus.id)}#agents">Change agents on the task →</a></p></div>`}<div class="task-chat-overview-actions"><a class="task-chat-overview-link" href="${taskHref(focus.id)}">Open full overview →</a></div></aside>`;
|
|
57
51
|
}
|
|
58
52
|
export function taskChatApproval(focus, csrf) {
|
|
59
53
|
const approval = focus.approval;
|
|
60
54
|
if (focus.plan === "requested") {
|
|
61
|
-
// The task status already names planning. No second status card.
|
|
62
55
|
return html ``;
|
|
63
56
|
}
|
|
64
57
|
if (approval === null)
|
|
@@ -74,8 +67,6 @@ export function taskChatApproval(focus, csrf) {
|
|
|
74
67
|
if (approval.nonce === "") {
|
|
75
68
|
return html `<section class="card chat-action-card" id="task-chat-action"><span class="eyebrow">approval needs attention</span><h2>The agent setup isn’t ready yet</h2>${profileWords(scope)}<a class="button-link" href="${taskHref(focus.id)}#scope">Fix the agent setup →</a></section>`;
|
|
76
69
|
}
|
|
77
|
-
// The same sheet as the task page (approval critique, Oct 2): the plan
|
|
78
|
-
// open in plain rows, one Approve & start, the rest in Details.
|
|
79
70
|
return html `<section class="card chat-action-card chat-plan" id="task-chat-action" data-approval="${approval.digest}">${approvalSheetHtml({
|
|
80
71
|
surface: "chat",
|
|
81
72
|
action: `${taskHref(focus.executionId)}/approve`,
|
|
@@ -95,7 +86,6 @@ export function taskChatApproval(focus, csrf) {
|
|
|
95
86
|
deliverable: approval.deliverable,
|
|
96
87
|
releaseCiRunning: approval.releaseCiRunning === true,
|
|
97
88
|
rebuild: focus.assignment?.need != null && "key" in focus.assignment.need && focus.assignment.need.key === "replan" ? focus.assignment.need.build : null,
|
|
98
|
-
// Edit plan opens the task page's sheet with its fields open for editing.
|
|
99
89
|
editHref: `${taskHref(focus.id)}?edit=plan#plan-editor`,
|
|
100
90
|
notNowHref: "/chat",
|
|
101
91
|
sticky: false,
|
|
@@ -103,16 +93,12 @@ export function taskChatApproval(focus, csrf) {
|
|
|
103
93
|
edit: null,
|
|
104
94
|
})}</section>`;
|
|
105
95
|
}
|
|
106
|
-
/** The chat's status sentence, worded as the task page words it: what a failed attempt missed, or which step a live
|
|
107
|
-
* build is on (and the step it is stuck on). Undefined keeps the shared status sentence. */
|
|
108
96
|
export function chatStatusSentence(focus) {
|
|
109
97
|
if (focus.state === "failed" && focus.failure != null)
|
|
110
98
|
return [focus.failure.line, focus.failure.evidence].filter(Boolean).join(" ");
|
|
111
99
|
const steps = focus.liveRun === null ? null : buildProgressOf(focus.milestoneProgress);
|
|
112
100
|
return steps === null ? undefined : steps.line;
|
|
113
101
|
}
|
|
114
|
-
/** One live, server-derived journey from request to proof. The fragment is
|
|
115
|
-
* safe to refresh independently, so an in-progress message is never lost. */
|
|
116
102
|
export function taskChatLiveRegion(focus, csrf, fragment = false, inert = false, approvalHref = taskChatHref(focus.id) + "#task-chat-action") {
|
|
117
103
|
const receiptLeads = focus.state === "done" && focus.result !== null;
|
|
118
104
|
const approvalContent = (inert && focus.approval !== null && focus.plan !== "requested"
|
|
@@ -120,7 +106,6 @@ export function taskChatLiveRegion(focus, csrf, fragment = false, inert = false,
|
|
|
120
106
|
: fragment && focus.approval !== null && focus.plan !== "requested"
|
|
121
107
|
? html `<section class="card chat-action-card chat-refresh-action"><a class="button-link" href="${approvalHref}" data-primary-action>Approve plan</a></section>`
|
|
122
108
|
: taskChatApproval(focus, csrf));
|
|
123
|
-
// The approval leads when dispatch waits on it or the plan was rewritten after a build (the assignment's one action).
|
|
124
109
|
const approvalLeads = focus.dispatch?.action === "approve-scope" ||
|
|
125
110
|
(focus.assignment?.primaryAction?.code === "approve-scope" && focus.assignment.primaryAction.target.taskId === focus.executionId);
|
|
126
111
|
const approvalCard = focus.approval !== null && !approvalLeads
|
|
@@ -131,20 +116,12 @@ export function taskChatLiveRegion(focus, csrf, fragment = false, inert = false,
|
|
|
131
116
|
: receiptLeads ? completionReceiptCard(focus.result, focus.id, "chat", focus.status) : taskStatusCard(focus.status, focus.id, focus.dispatch, focus.liveRun?.id ?? null, focus.approval !== null && approvalLeads);
|
|
132
117
|
const publication = focus.publication;
|
|
133
118
|
const prUrl = publication === null ? null : safePrUrl(publication.prUrl);
|
|
134
|
-
return html `<section id="task-chat-live" aria-live="polite" data-task="${focus.id}" data-execution="${focus.executionId}" data-source="/chat/task-status?task=${encodeURIComponent(focus.id)}" data-poll="${polling ? "1" : "0"}" data-approval="${focus.approval?.digest ?? ""}" data-plan="${focus.plan ?? ""}">${focus.guide === true && focus.state !== "cancelled" ? firstTaskJourneyHtml(focus) : ""}<div class="task-live-summary">${status}${checkProgressHtml(focus.checkProgress)}${
|
|
135
|
-
// The exact-run control (v52): the SAME component the task page
|
|
136
|
-
// renders, refreshed with the live region — typed input in the
|
|
137
|
-
// composer is untouched because only this region is replaced.
|
|
138
|
-
taskControlDetailsHtml(focus.control, focus.executionId, csrf, "chat", inert)}${
|
|
139
|
-
// The compact agents strip (v47): always visible, phones included,
|
|
140
|
-
// where the desktop context panel is hidden.
|
|
141
|
-
agentsStripHtml(focus.route, focus.executionId)}</div>${milestoneProgressHtml(focus.milestoneProgress)}${planRevisionLedgerHtml(focus.planRevisions, focus.executionId, csrf)}${approvalCard}${focus.history}${focus.decisions.length === 0
|
|
119
|
+
return html `<section id="task-chat-live" aria-live="polite" data-task="${focus.id}" data-execution="${focus.executionId}" data-source="/chat/task-status?task=${encodeURIComponent(focus.id)}" data-poll="${polling ? "1" : "0"}" data-approval="${focus.approval?.digest ?? ""}" data-plan="${focus.plan ?? ""}">${focus.guide === true && focus.state !== "cancelled" ? firstTaskJourneyHtml(focus) : ""}<div class="task-live-summary">${status}${checkProgressHtml(focus.checkProgress)}${taskControlDetailsHtml(focus.control, focus.executionId, csrf, "chat", inert)}${agentsStripHtml(focus.route, focus.executionId)}</div>${milestoneProgressHtml(focus.milestoneProgress)}${planRevisionLedgerHtml(focus.planRevisions, focus.executionId, csrf)}${approvalCard}${focus.history}${focus.decisions.length === 0
|
|
142
120
|
? ""
|
|
143
121
|
: html `<section class="chat-decisions"><div class="chat-section-head"><h2>Needs your answer</h2></div>${focus.decisions.map(one => focus.approval !== null || inert
|
|
144
122
|
? html `<div class="decide-card"><p class="q">${one.question}</p><p class="meta">${oneLineOf(one.recap, 160)}</p><a href="/d/${one.id}?return=${encodeURIComponent(taskChatHref(focus.id))}">Review and answer →</a></div>`
|
|
145
123
|
: decisionAnswerCard(one, csrf, focus.now, false, taskChatHref(focus.id)))}</section>`}${focus.result === null || receiptLeads ? "" : html `<details class="task-previous-result"><summary>Previous result</summary>${completionReceiptCard(focus.result, focus.id, "chat")}</details>`}${publication === null ? "" : html `<p class="chat-publication meta">Published as ${prUrl === null ? html `<span class="mono">PR #${publication.prNumber ?? "?"}</span>` : html `<a href="${prUrl}">PR #${publication.prNumber ?? "?"}</a>`} · ${publication.state}${publication.lastCheckState === null ? "" : html ` · CI ${publication.lastCheckState}`}</p>`}</section>`;
|
|
146
124
|
}
|
|
147
|
-
/** The first task's way to Ready, filled in as it moves (onboarding): the same stage every surface reads. */
|
|
148
125
|
export function firstTaskJourneyHtml(focus) {
|
|
149
126
|
const planning = focus.plan === "requested" && focus.approval === null;
|
|
150
127
|
const read = focus.assignment !== null ? assignmentStageOf(focus.assignment, { token: focus.status.token }, planning) : stageOfCode(focus.status.token, { planning });
|
|
@@ -158,17 +135,11 @@ export function taskChatHeading(focus) {
|
|
|
158
135
|
export function chatWorkspace(content, projects, inert, focus, resultPanel = null) {
|
|
159
136
|
if (focus === null)
|
|
160
137
|
return html `<div class="chat-workspace">${chatProjectRail(projects, inert)}<section class="chat-main">${content}</section></div>`;
|
|
161
|
-
// The result detail (package 3) is the ONE auxiliary panel when open:
|
|
162
|
-
// it takes the context panel's place beside the conversation on a wide
|
|
163
|
-
// screen and becomes the dedicated view, with Back to chat, when the
|
|
164
|
-
// screen has no room for both (CSS decides; the markup is the same).
|
|
165
138
|
if (resultPanel !== null) {
|
|
166
139
|
return html `<div class="chat-workspace task-chat-workspace result-open" data-chat-result-open><section class="chat-main">${content}</section><aside class="chat-result t-panel-slide" data-open="true" aria-label="result">${resultPanel}</aside></div>`;
|
|
167
140
|
}
|
|
168
141
|
return html `<div class="chat-workspace task-chat-workspace">${taskChatContext(focus)}<section class="chat-main">${content}</section></div>`;
|
|
169
142
|
}
|
|
170
|
-
/** The folded overview's one-line summary (UI polish 2026-09-13): the
|
|
171
|
-
* two counts a phone reader scans before deciding to open it. */
|
|
172
143
|
export function chatOverviewSummaryHtml(projects, attention) {
|
|
173
144
|
const total = (key) => projects.reduce((sum, one) => sum + (one.peek?.[key] ?? 0), 0);
|
|
174
145
|
const needsYou = attention?.count ?? total("waiting");
|
|
@@ -198,8 +169,6 @@ export function chatFleetOverview(snapshot, projects, interactive) {
|
|
|
198
169
|
for (const task of snapshot.tasks.filter(one => one.state === "failed").slice(0, Math.max(0, 3 - rows.length))) {
|
|
199
170
|
rows.push(html `<a class="chat-overview-item failed" href="${taskHref(task.rootId ?? task.id)}"><span class="chat-overview-icon">${strokeIcon(html `<path d="M12 9v4"/><path d="M12 17h.01"/><path d="m10.3 2.9-8.6 15A2 2 0 0 0 3.4 21h17.2a2 2 0 0 0 1.7-3.1l-8.6-15a2 2 0 0 0-3.4 0z"/>`)}</span><span class="chat-overview-copy"><strong>${task.title}</strong><span>${projectOf(task.repoIndex)} · ${task.id} · failed</span></span><span class="chat-overview-arrow" aria-hidden="true">→</span></a>`);
|
|
200
171
|
}
|
|
201
|
-
// Current assignments own attention. The saved assessment is history,
|
|
202
|
-
// never a second queue after the lead marked the result complete.
|
|
203
172
|
for (const task of snapshot.tasks
|
|
204
173
|
.filter(one => one.state === "done" && ["ready-to-check", "needs-decision"].includes(snapshot.assignmentStates?.[one.id]?.state ?? ""))
|
|
205
174
|
.slice(0, Math.max(0, 3 - rows.length))) {
|
|
@@ -214,12 +183,6 @@ export function chatFleetOverview(snapshot, projects, interactive) {
|
|
|
214
183
|
? postForm("/chat", html `<button type="submit" name="message" value="${briefing}" class="quiet">Brief me</button>`, { attrs: { class: "inline" } })
|
|
215
184
|
: html `<a href="/tasks?view=board&scope=all" class="chat-overview-link">open board</a>`}</div><div class="chat-overview-stats"><a href="/tasks?view=needs-you" class="chat-overview-stat attention"><b>${needsYou}${snapshot.attentionCount?.saturated ? "+" : ""}</b><span>need you</span></a><a href="/board?scope=all" class="chat-overview-stat live"><b>${running}</b><span>building</span></a><a href="/board?scope=all&view=order" class="chat-overview-stat"><b>${queued}</b><span>queued</span></a><a href="/tasks" class="chat-overview-stat"><b>${done}</b><span>finished today</span></a></div>${rows.length === 0 ? html `<p class="chat-overview-clear">${needsYou === 0 && running === 0 ? html `<span class="dot dot-ok"></span>No tasks are waiting and no builds are running.` : html `<a href="/tasks">Open Tasks to inspect current work.</a>`}</p>` : html `<div class="chat-overview-items">${rows}</div>`}${completedWorkHtml(snapshot, projects.map(project => project.label), snapshot.assignmentStates)}${saturated ? html `<p class="meta chat-overview-note">Some items aren’t shown. Open Work to see more.</p>` : ""}</section>`;
|
|
216
185
|
}
|
|
217
|
-
/**
|
|
218
|
-
* The lead's project rail: one bounded pulse per admitted project, plus
|
|
219
|
-
* two roads that preserve the plane's contracts. "ask" sends the stable
|
|
220
|
-
* rN alias the model already sees; "board" uses the existing POST switch
|
|
221
|
-
* instead of smuggling a project change through a GET parameter.
|
|
222
|
-
*/
|
|
223
186
|
export function chatProjectRail(projects, inert) {
|
|
224
187
|
const statusOf = (peek) => peek === null
|
|
225
188
|
? "unavailable"
|
|
@@ -241,7 +204,6 @@ export function chatProjectRail(projects, inert) {
|
|
|
241
204
|
});
|
|
242
205
|
return html `<aside class="chat-projects" id="chat-project-panel" aria-label="projects in this conversation"><div class="chat-projects-head"><h2>Projects</h2><span class="badge">${projects.length}</span><button type="button" class="chat-project-close quiet" aria-label="close projects">×</button></div><div class="chat-project-list">${rows}</div></aside>`;
|
|
243
206
|
}
|
|
244
|
-
/** Spend-authorized one-click questions: ordinary /chat posts, not a new door. */
|
|
245
207
|
export function leadPromptStarters(focus = null) {
|
|
246
208
|
const prompts = focus === null
|
|
247
209
|
? [
|
|
@@ -261,10 +223,6 @@ export function chatHeading(copy, projectCount, showProjectToggle = true) {
|
|
|
261
223
|
? html `<button type="button" class="chat-project-toggle quiet" aria-controls="chat-project-panel" aria-expanded="false" title="show or hide projects">${strokeIcon(html `<path d="M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"/>`)}<span>projects</span><span class="badge">${projectCount}</span></button>`
|
|
262
224
|
: ""}</div></div>`;
|
|
263
225
|
}
|
|
264
|
-
/** A deliberately small rich-text grammar for model copy. The reply is shaped first (the lead's voice, enforced:
|
|
265
|
-
* no headers, at most three bold anchors, labelled links, no internal ids unless `asked` wanted them); input is
|
|
266
|
-
* escaped before tags are introduced: bullets, numbered steps, bold, inline code, fenced code blocks and labelled
|
|
267
|
-
* http(s) links are presentation only—never executable HTML. */
|
|
268
226
|
export function renderChatText(raw, asked) {
|
|
269
227
|
const inline = replyHtmlInline;
|
|
270
228
|
const text = shapeReply(raw, { appOrigin: requestContext.getStore()?.appOrigins ?? null, ...(asked === undefined ? {} : { asked }) });
|
|
@@ -284,7 +242,6 @@ export function renderChatText(raw, asked) {
|
|
|
284
242
|
out.push(list.tag === "ul" ? html `<ul>${list.items}</ul>` : html `<ol>${list.items}</ol>`);
|
|
285
243
|
list = null;
|
|
286
244
|
};
|
|
287
|
-
// A fenced block (shaping leaves it exactly as written) is shown as written: escaped, never parsed.
|
|
288
245
|
let fence = null;
|
|
289
246
|
const closeFence = () => {
|
|
290
247
|
const open = fence;
|
|
@@ -318,8 +275,6 @@ export function renderChatText(raw, asked) {
|
|
|
318
275
|
closeList();
|
|
319
276
|
list = { tag: wanted, items: [] };
|
|
320
277
|
}
|
|
321
|
-
// Model replies often separate steps with blank lines. Each remains
|
|
322
|
-
// its stated number even when that blank line starts another <ol>.
|
|
323
278
|
list.items.push(html `<li${numbered === null ? "" : html ` value="${Number(numbered[1])}"`}>${inline(bullet?.[1] ?? numbered?.[2] ?? "")}</li>`);
|
|
324
279
|
}
|
|
325
280
|
else if (line.trim() === "") {
|
|
@@ -331,23 +286,15 @@ export function renderChatText(raw, asked) {
|
|
|
331
286
|
paragraph.push(line);
|
|
332
287
|
}
|
|
333
288
|
}
|
|
334
|
-
// An unclosed fence still shows its lines as code: the reply may have been cut.
|
|
335
289
|
flushParagraph();
|
|
336
290
|
closeList();
|
|
337
291
|
closeFence();
|
|
338
292
|
return html `<div class="chat-copy">${out}</div>`;
|
|
339
293
|
}
|
|
340
|
-
/** A line comment from the chat Workbench (src/browser/line-steer.tsx steerMessage): On "<file, as a JSON string>":<line>
|
|
341
|
-
* [ (removed line)] (run #<n>): <comment>, then a blank line and "> <the line>" (just ">" for a blank line, once the
|
|
342
|
-
* chat POST has trimmed the message), always last.
|
|
343
|
-
* The words the lead reads stay exactly as sent; the thread shows them in three parts: a small reference line, the quoted
|
|
344
|
-
* code as written, and the comment. Null for any other message, which keeps its own plain rendering. Everything is
|
|
345
|
-
* escaped by the html template. */
|
|
346
294
|
export function steerCommentHtml(text) {
|
|
347
295
|
const steer = /^On ("(?:[^"\\\n]|\\.){1,1200}"):(\d{1,9})( \(removed line\))? \(run #(\d{1,12})\): ([\s\S]+)\n\n>(?: ([^\n]*))?$/.exec(text);
|
|
348
296
|
if (steer === null)
|
|
349
297
|
return null;
|
|
350
|
-
// A blank line's quote ("> ") reaches the store as ">": the chat POST trims the message (src/server/chat.ts).
|
|
351
298
|
const [, quoted, line, removed, run, comment, code = ""] = steer;
|
|
352
299
|
let path;
|
|
353
300
|
try {
|
|
@@ -388,9 +335,6 @@ export const CHAT_UI_SCRIPT = `(function(){var workspace=document.querySelector(
|
|
|
388
335
|
`var box=document.querySelector(".composer textarea");if(box){` +
|
|
389
336
|
`function size(){box.style.height="auto";box.style.height=Math.min(box.scrollHeight,208)+"px";}size();box.addEventListener("input",size);` +
|
|
390
337
|
`box.addEventListener("keydown",function(ev){if(ev.isComposing||ev.key!=="Enter"||ev.shiftKey||!window.matchMedia("(min-width: 761px)").matches)return;ev.preventDefault();if(box.value.trim()!=="")box.form.requestSubmit();});}})();`;
|
|
391
|
-
/** Provider, model, and limits under ONE disclosure (UI polish
|
|
392
|
-
* 2026-09-13): the facts stay one tap away on every chat surface, and a
|
|
393
|
-
* membership never shows a dollar figure as if it were a charge. */
|
|
394
338
|
export function chatLimitsHtml(facts) {
|
|
395
339
|
const rows = [
|
|
396
340
|
html `<span class="mono">${facts.provider} · ${facts.model}</span>`,
|
|
@@ -413,10 +357,6 @@ export function chatPage(chrome, data) {
|
|
|
413
357
|
parts.push(html `<div class="problem">${data.problem}</div>`);
|
|
414
358
|
if (!data.enabled.ok) {
|
|
415
359
|
const code = data.enabled.code;
|
|
416
|
-
// The sandbox shows no conversation at all: chat evidence is a real
|
|
417
|
-
// subscription-backed plane, never a seeded transcript (v48 authority repair).
|
|
418
|
-
// With no lead yet, the first run says what happens next (it turns on with the signed-in agent, or shows the one
|
|
419
|
-
// command to run); otherwise one line, and its settings live in Settings → Lead (onboarding).
|
|
420
360
|
const settingsLink = data.canManage ? html ` <a href="/settings/lead">Settings → Lead</a>` : "";
|
|
421
361
|
if (!(code === "unconfigured" && data.firstRunShown === true))
|
|
422
362
|
parts.push(code === "demo"
|
|
@@ -430,8 +370,6 @@ export function chatPage(chrome, data) {
|
|
|
430
370
|
}
|
|
431
371
|
const config = data.enabled.config;
|
|
432
372
|
const subscription = isSubscriptionChatProvider(config.provider);
|
|
433
|
-
// The saved catch-up owns orientation. Keep the older overview only as
|
|
434
|
-
// a fallback; provider and spend terms remain available before consent.
|
|
435
373
|
if (!data.canManage) {
|
|
436
374
|
parts.push(html `<div class="card chat-readonly"><strong>Read-only view</strong><p class="meta">An approver can start the unified conversation and confirm its proposed actions. You can still open every live card and project board here.</p></div>`);
|
|
437
375
|
}
|
|
@@ -470,7 +408,7 @@ export function chatPage(chrome, data) {
|
|
|
470
408
|
], "\n"), { attrs: { class: "card" } }));
|
|
471
409
|
}
|
|
472
410
|
if (data.canManage) {
|
|
473
|
-
parts.push(html `<p class="meta" id="chat-settings"><a href="/settings/lead">
|
|
411
|
+
parts.push(html `<p class="meta" id="chat-settings"><a href="/settings/lead">Chat settings</a> · provider, model and limits</p>`);
|
|
474
412
|
}
|
|
475
413
|
if (data.recent.length > 0) {
|
|
476
414
|
parts.push(html `<details class="chat-turn-history"><summary>Conversation activity <span class="meta">${data.recent.length} recent turns</span></summary>\n${joinHtml(data.recent.map(turn => html `<p class="row"><span class="mono">#${turn.id}</span> ${turn.state}${turn.failureReason === null ? "" : html ` · ${turn.failureReason}`} <span class="right meta">${turn.tokensIn ?? "–"} in / ${turn.tokensOut ?? "–"} out · ${subscription ? "membership" : `${chatMoney(turn.settledMicrousd ?? turn.reservedMicrousd)}${turn.settledMicrousd === null ? " reserved" : ""}`}</span></p>`), "\n")}\n</details>`);
|
|
@@ -478,8 +416,6 @@ export function chatPage(chrome, data) {
|
|
|
478
416
|
return screen("chat", chatWorkspace(joinHtml(parts, "\n"), data.projects, true, data.focusTask, data.resultPanel ?? null), { chrome, functional: { script: CHAT_UI_SCRIPT + (data.focusTask === null ? "" : RESULT_REVIEW_SCRIPT), fetches: data.focusTask !== null } });
|
|
479
417
|
}
|
|
480
418
|
export function chatAckPage(chrome, turn, nonce, reply = null) {
|
|
481
|
-
// A lead reply's step reserves nothing itself: the reply set the money aside, and a reply whose cost is unknown has
|
|
482
|
-
// already counted that whole amount against its conversation. Say that amount, never the step's zero.
|
|
483
419
|
const replyCharge = reply === null ? null : reply.settledMicrousd ?? reply.reservedMicrousd;
|
|
484
420
|
return screen("chat", joinHtml([
|
|
485
421
|
html `<h1>Unknown spend</h1>`,
|
|
@@ -496,7 +432,6 @@ export function chatAckPage(chrome, turn, nonce, reply = null) {
|
|
|
496
432
|
html `</div>`,
|
|
497
433
|
], "\n"), { chrome });
|
|
498
434
|
}
|
|
499
|
-
/** The card that starts a conversation: the one password ceremony (mate arc §1). */
|
|
500
435
|
export function leadMintCard(enabled, returnTo = "/chat") {
|
|
501
436
|
const subscription = enabled.billing === "subscription";
|
|
502
437
|
return html `<div class="card mate-mint" id="latest">\n<p><strong>Start a conversation</strong></p>\n${postForm("/chat/mate/mint", joinHtml([
|
|
@@ -509,7 +444,6 @@ export function leadMintCard(enabled, returnTo = "/chat") {
|
|
|
509
444
|
html `<button type="submit">Start chat</button>`,
|
|
510
445
|
], "\n"), { returnTo })}\n</div>`;
|
|
511
446
|
}
|
|
512
|
-
/** The decisions the cards on a page name, for the answer card's consequences and the builder's recommendation. */
|
|
513
447
|
export function decisionsFor(store, proposals) {
|
|
514
448
|
const out = new Map();
|
|
515
449
|
for (const one of proposals) {
|
|
@@ -521,33 +455,21 @@ export function decisionsFor(store, proposals) {
|
|
|
521
455
|
}
|
|
522
456
|
return out;
|
|
523
457
|
}
|
|
524
|
-
/**
|
|
525
|
-
* A proposal card: what, then confirm/dismiss, or the door's answer. An
|
|
526
|
-
* `answer` card shows the question, every option WITH its consequence,
|
|
527
|
-
* the builder's recommendation beside the proposer's pick, and — for an
|
|
528
|
-
* irreversible option — the explicit confirmation field the decision
|
|
529
|
-
* page itself uses (ruling 12).
|
|
530
|
-
*/
|
|
531
458
|
export function proposalCard(view, inert, decision, returnTo = null) {
|
|
532
459
|
return proposalCardParts(view, inert, decision, returnTo).html;
|
|
533
460
|
}
|
|
534
|
-
/** The card's HTML and, for the chat's confirm-in-place cards, the same
|
|
535
|
-
* card as data: the body is the HTML's own, the act is the same door. */
|
|
536
461
|
export function proposalCardParts(view, inert, decision, returnTo = null) {
|
|
537
462
|
const payload = view.payload;
|
|
538
463
|
const text = (key) => (typeof payload[key] === "string" ? payload[key] : "");
|
|
539
464
|
const task = text("task");
|
|
540
465
|
const repoId = text("repoId");
|
|
541
466
|
if (view.kind === "answer" && decision?.supersededReason != null) {
|
|
542
|
-
// The proposal remains in history, but its question no longer needs an answer.
|
|
543
|
-
// Both the server page and browser card use the same closed view, without stale consent controls.
|
|
544
467
|
const body = html `<p><a href="/d/${decision.id}">${decision.question}</a></p><p class="meta">${closedQuestionReason(decision.supersededReason)}</p>`;
|
|
545
468
|
return {
|
|
546
469
|
html: html `<article class="card proposal proposal-answer" data-card-kind="answer"><header class="proposal-head"><strong>Question closed</strong></header><div class="proposal-body">${body}</div></article>`,
|
|
547
470
|
card: { id: view.id, kind: view.kind, label: "Question closed", state: view.state, body: htmlString(body), said: null, links: [], primary: null, dismissable: false, note: null },
|
|
548
471
|
};
|
|
549
472
|
}
|
|
550
|
-
// A Toolroll card: data to read, with its fixed links. It confirms nothing, so it waits on nobody.
|
|
551
473
|
if (isCardProposal(view)) {
|
|
552
474
|
const shown = cardOfProposal(view);
|
|
553
475
|
const body = shown === null ? html `<p>${cardPlainOf(view)}</p>` : webCardHtml(shown);
|
|
@@ -600,7 +522,6 @@ export function proposalCardParts(view, inert, decision, returnTo = null) {
|
|
|
600
522
|
}
|
|
601
523
|
else if (view.kind === "action") {
|
|
602
524
|
const action = sharedActionPayload(payload);
|
|
603
|
-
// A Start card (one-step-chat.md C2) names what starts and where; its whole terms and the confirm are on the review page.
|
|
604
525
|
what = action === null ? html `<p>This action is unavailable.</p>` : action.operation === "task_start" ? html `<h3>${action.title}</h3>${facts(["project", mono(action.repo.split(/[\\/]/).filter(Boolean).at(-1) ?? action.repo)])}` : (sharedActionNeedsReview(action) ? html `` : html `${action.terms.map(term => html `<p style="white-space:pre-wrap;overflow-wrap:anywhere">${term}</p>`)}`);
|
|
605
526
|
}
|
|
606
527
|
else if (view.kind === "task_action") {
|
|
@@ -610,8 +531,6 @@ export function proposalCardParts(view, inert, decision, returnTo = null) {
|
|
|
610
531
|
else if (view.kind === "control") {
|
|
611
532
|
const control = payload["control"];
|
|
612
533
|
const label = isChatControl(control) ? CHAT_CONTROLS[control].label : "Control unavailable";
|
|
613
|
-
// Navigation does not wait for approval. Give it a destination and one
|
|
614
|
-
// link, not a proposal header that falsely reads as unfinished work.
|
|
615
534
|
if (isChatControl(control) && view.state === "pending" && !inert) {
|
|
616
535
|
const title = text("taskTitle");
|
|
617
536
|
const href = chatControlHref(control, task, payload["run"], payload["project"]);
|
|
@@ -658,9 +577,6 @@ export function proposalCardParts(view, inert, decision, returnTo = null) {
|
|
|
658
577
|
what = html `<h3>Guidance for <a href="${taskHref(task)}">${taskTitle}</a></h3><p class="proposal-summary">${text("note")}</p>${facts(["project", mono(repoId)])}<p class="meta proposal-disclosure">A running agent reads it when it next checks for notes; otherwise the next attempt does. The task’s scope doesn’t change.</p>`;
|
|
659
578
|
}
|
|
660
579
|
else if (view.kind === "agents") {
|
|
661
|
-
// The agents card (v48): exactly what changes, in the same words the
|
|
662
|
-
// task page uses — the role, the exact agent, the size — and the
|
|
663
|
-
// consequence for the standing approval.
|
|
664
580
|
const taskTitle = text("taskTitle") || task;
|
|
665
581
|
const role = text("role");
|
|
666
582
|
const clear = payload["clear"] === true;
|
|
@@ -678,9 +594,7 @@ export function proposalCardParts(view, inert, decision, returnTo = null) {
|
|
|
678
594
|
what = html `<h3>${heading}</h3>${text("why") === "" ? "" : html `<p class="proposal-summary">${text("why")}</p>`}${facts(["agents now", text("before")], ["size", size === "" ? "" : sizeConsequence(size, payload["risky"] === true)], ["role", role === "" ? "" : html `${role} → ${clear ? "the recommendation" : mono(agentWords)}`], ["project", mono(repoId)])}<p class="meta proposal-disclosure">Recorded under your name when you confirm. ${text("approval") === "approved" ? "The current approval no longer covers the task afterwards — approve it again on the task." : "The next approval seals these agents."}</p>`;
|
|
679
595
|
}
|
|
680
596
|
else if (view.kind === "scope") {
|
|
681
|
-
what = html `<h3>Rewrite <a href="${taskHref(task)}">${task}</a></h3><p class="proposal-summary">${text("goal")}</p>${
|
|
682
|
-
// One path per line (UI polish 2026-09-13): a comma run broke mid-token on a phone.
|
|
683
|
-
facts(["out of scope", text("not")], ["may touch", monoLines(payload["touches"])], ["project", mono(repoId)])}`;
|
|
597
|
+
what = html `<h3>Rewrite <a href="${taskHref(task)}">${task}</a></h3><p class="proposal-summary">${text("goal")}</p>${facts(["out of scope", text("not")], ["may touch", monoLines(payload["touches"])], ["project", mono(repoId)])}`;
|
|
684
598
|
}
|
|
685
599
|
else if (view.kind === "repair") {
|
|
686
600
|
const blocker = text("blocker");
|
|
@@ -739,10 +653,7 @@ export function proposalCardParts(view, inert, decision, returnTo = null) {
|
|
|
739
653
|
const filed = outcome !== null && typeof outcome.taskId === "string" ? outcome.taskId : null;
|
|
740
654
|
acts = html `<p class="done">${said ?? "confirmed"}${(view.kind === "scope" || view.kind === "agents" || (view.kind === "review" && text("operation") === "revise")) && filed !== null
|
|
741
655
|
? html ` — <a href="${taskChatHref(filed)}#task-chat-action">review & start in chat</a>`
|
|
742
|
-
: ""}${flowHref === null ? "" : html ` — <a href="${flowHref}">open the flow</a>`}</p>${
|
|
743
|
-
// The created task, by its recorded id (package 2): one clear road
|
|
744
|
-
// into its lens — the same conversation, focused — and the overview.
|
|
745
|
-
filed !== null && view.kind === "task"
|
|
656
|
+
: ""}${flowHref === null ? "" : html ` — <a href="${flowHref}">open the flow</a>`}</p>${filed !== null && view.kind === "task"
|
|
746
657
|
? html `<p class="proposal-filed"><a class="button-link" href="${taskChatHref(filed)}" data-filed-task="${filed}">Open task <span class="mono">${filed}</span> →</a> <a href="${taskHref(filed)}">overview</a></p>`
|
|
747
658
|
: ""}`;
|
|
748
659
|
}
|
|
@@ -754,7 +665,6 @@ export function proposalCardParts(view, inert, decision, returnTo = null) {
|
|
|
754
665
|
}
|
|
755
666
|
const stateClass = view.state === "confirmed" ? "badge-done" : view.state === "refused" ? "badge-failed" : "";
|
|
756
667
|
const cardHtml = html `<article class="card proposal proposal-${view.kind} ${view.state}" data-card-kind="${view.kind}"><header class="proposal-head"><span class="proposal-icon">${strokeIcon(presentation.icon)}</span><span><strong>${presentation.label}</strong><small>proposed by ${provenance}</small></span><span class="badge ${stateClass}">${sentenceCase(view.state)}</span></header><div class="proposal-body">${what}</div><footer class="proposal-actions">${acts}</footer></article>`;
|
|
757
|
-
// The same card as data (chat cards): one act, in the door's own words.
|
|
758
668
|
const filedTask = outcome !== null && typeof outcome.taskId === "string" ? outcome.taskId : null;
|
|
759
669
|
const reviewAction = view.kind === "action" ? sharedActionPayload(payload) : null;
|
|
760
670
|
const sentence = (words) => words.charAt(0).toUpperCase() + words.slice(1);
|
|
@@ -779,7 +689,6 @@ export function proposalCardParts(view, inert, decision, returnTo = null) {
|
|
|
779
689
|
};
|
|
780
690
|
return { html: cardHtml, card };
|
|
781
691
|
}
|
|
782
|
-
/** The review link's words: a Start card's is "Review and start". */
|
|
783
692
|
function reviewWords(action) {
|
|
784
693
|
return action?.operation === "task_start" ? "Review and start" : "Review action";
|
|
785
694
|
}
|
|
@@ -789,8 +698,6 @@ export function leadProposalCard(proposal, inert, decision, returnTo = null) {
|
|
|
789
698
|
export function leadProposalCardParts(proposal, inert, decision, returnTo = null) {
|
|
790
699
|
return proposalCardParts({ id: proposal.id, kind: proposal.kind, payload: proposal.payload, state: proposal.state, outcome: proposal.outcome, by: { mate: true }, actionBase: "/chat/proposal" }, inert, decision, returnTo);
|
|
791
700
|
}
|
|
792
|
-
/** Review and inline team cards share the same server-decided controls and reasons. The team API renders these
|
|
793
|
-
* outside a console request, so the session's own `csrf` is given to the forms here. */
|
|
794
701
|
export function teamProposalCardParts(store, actor, proposal, snapshot, csrf, decision, now, provider) {
|
|
795
702
|
const gate = proposalActGate(store, actor, proposal.thread, now, provider);
|
|
796
703
|
const reason = !gate.ok ? gate.said : null;
|
|
@@ -805,21 +712,18 @@ export function teamProposalCardParts(store, actor, proposal, snapshot, csrf, de
|
|
|
805
712
|
export function coordinatorProposalCard(proposal, now, decision, returnTo = null) {
|
|
806
713
|
return proposalCard({ id: proposal.id, kind: proposal.kind, payload: proposal.payload, state: proposal.state, outcome: proposal.outcome, by: { mate: false, name: proposal.name, ago: relativeAge(proposal.createdAt, now) }, actionBase: "/proposals" }, false, decision, returnTo);
|
|
807
714
|
}
|
|
808
|
-
/** The section shared by /chat (both modes) and the task page: pending coordinator proposals as cards. */
|
|
809
715
|
export function coordinatorProposalsSection(proposals, decisions, now, heading = true, returnTo = null) {
|
|
810
716
|
if (proposals.length === 0)
|
|
811
717
|
return html ``;
|
|
812
718
|
return html `${heading ? html `<h2>Proposed by coordinators <span class="meta">${proposals.length}</span></h2>` : ""}<div class="coordinator-proposals">${proposals.map(one => coordinatorProposalCard(one, now, decisions.get(typeof one.payload["decision"] === "number" ? one.payload["decision"] : -1) ?? null, returnTo))}</div>`;
|
|
813
719
|
}
|
|
814
720
|
export const REPLACED_THREAD_DIVIDER = "New conversation — the projects I can reach changed";
|
|
815
|
-
/** The replaced thread as the React conversation renders it: words and card outcomes, no buttons. */
|
|
816
721
|
export function replacedBrowserMessages(previous) {
|
|
817
722
|
return leadBrowserMessages({ ...previous, pending: null, ask: null, asks: new Map() }, null).map(message => ({
|
|
818
723
|
...message, cardsHtml: "",
|
|
819
724
|
cards: (message.cards ?? []).map(card => ({ ...card, primary: null, dismissable: false })),
|
|
820
725
|
}));
|
|
821
726
|
}
|
|
822
|
-
/** The replaced thread for the server-rendered page: read only, then the divider. */
|
|
823
727
|
export function replacedThreadHtml(previous) {
|
|
824
728
|
if (previous == null)
|
|
825
729
|
return html ``;
|
|
@@ -827,8 +731,6 @@ export function replacedThreadHtml(previous) {
|
|
|
827
731
|
? html `<div class="msg op" data-previous-message="${one.id}"><p style="white-space:pre-wrap">${one.text}</p></div>`
|
|
828
732
|
: html `<div class="msg mate" data-previous-message="${one.id}">${renderChatText(one.text)}</div>`)}<p class="chat-previous-divider" role="separator" data-thread-divider>${REPLACED_THREAD_DIVIDER}</p></section>`;
|
|
829
733
|
}
|
|
830
|
-
/** A queued message's state under its words: waiting (with Remove), or why it was not sent. Nothing for one that ran.
|
|
831
|
-
* A div, not a p: the Remove form can't sit inside a paragraph (the parser would close it first). */
|
|
832
734
|
function queuedStateHtml(row, back) {
|
|
833
735
|
if (row.status === "queued") {
|
|
834
736
|
const waiting = row.error?.startsWith("Waiting: ") === true ? row.error.slice("Waiting: ".length) : "Waiting for your earlier messages…";
|
|
@@ -842,8 +744,6 @@ function queuedStateHtml(row, back) {
|
|
|
842
744
|
return html `<div class="so-queued" data-queued="${row.message}" data-queue-state="uncertain"><span class="so-queued-state">Not confirmed</span> · ${row.error ?? "Delivery could not be confirmed. Nothing was sent again."}</div>`;
|
|
843
745
|
return html ``;
|
|
844
746
|
}
|
|
845
|
-
/** The lead's question as buttons: each option sends itself as the next message (the same POST as a typed one);
|
|
846
|
-
* "Something else" moves to the composer. Nothing shows while a reply is running. */
|
|
847
747
|
export function leadAskHtml(ask, target, composer, open = true, stale = false) {
|
|
848
748
|
if (stale)
|
|
849
749
|
return html `<div class="so-owner-ask" data-ask="${ask.turn}" data-ask-stale><p class="so-owner-ask-question"><strong>${ask.question}</strong></p><p class="so-owner-ask-stale">Out of date: the task changed after this was asked. Its status above says what it needs now.</p></div>`;
|
|
@@ -852,16 +752,12 @@ export function leadAskHtml(ask, target, composer, open = true, stale = false) {
|
|
|
852
752
|
const hidden = target.task !== null ? { task: target.task } : target.project !== null ? { project: target.project } : {};
|
|
853
753
|
return html `<div class="so-owner-ask" data-ask="${ask.turn}"><p class="so-owner-ask-question"><strong>${ask.question}</strong></p><div class="so-owner-ask-options" role="group" aria-label="Answer options">${ask.options.map(option => postForm("/chat", html `<button type="submit" name="message" value="${option}" class="so-suggestion quiet">${option}</button>`, { attrs: { class: "inline" }, hidden }))}<label for="${composer}" class="so-suggestion so-owner-ask-other">${LEAD_ASK_OTHER}</label></div></div>`;
|
|
854
754
|
}
|
|
855
|
-
/** The thread's messages as the React conversation renders them, each
|
|
856
|
-
* with the proposal cards its turn produced; `back` is where a card's
|
|
857
|
-
* confirm or dismiss returns. */
|
|
858
755
|
export function leadBrowserMessages(rows, back, target = { task: null, project: null }) {
|
|
859
756
|
const open = rows.pending === null ? rows.ask?.turn ?? null : null;
|
|
860
757
|
const asked = (turn) => {
|
|
861
758
|
const ask = turn === null ? undefined : rows.asks?.get(turn);
|
|
862
759
|
return ask === undefined ? "" : leadAskHtml(ask, target, target.task === null ? "lead-message" : "task-message", ask.turn === open, ask.turn === rows.staleAsk);
|
|
863
760
|
};
|
|
864
|
-
// The owner's message each reply answers: when it asked for ids, the reply keeps them.
|
|
865
761
|
const askedBy = new Map();
|
|
866
762
|
rows.messages.reduce((last, message) => { if (message.role === 'operator')
|
|
867
763
|
return message.text; if (last !== undefined)
|
|
@@ -873,19 +769,12 @@ export function leadBrowserMessages(rows, back, target = { task: null, project:
|
|
|
873
769
|
: html `${renderChatText(message.text, askedBy.get(message.id))}${asked(message.turn)}`),
|
|
874
770
|
activity: message.activity, createdAt: message.createdAt,
|
|
875
771
|
...(() => {
|
|
876
|
-
// Under the lead's message only, as the server-rendered thread does: the person's message shares the turn.
|
|
877
772
|
const parts = message.turn === null || message.role === 'operator' ? [] : cardsFirst(rows.proposals.filter(one => one.turn === message.turn))
|
|
878
773
|
.map(one => leadProposalCardParts(one, rows.pending !== null, rows.decisions.get(typeof one.payload['decision'] === 'number' ? one.payload['decision'] : -1) ?? null, back));
|
|
879
774
|
return { cardsHtml: htmlString(joinHtml(parts.map(one => one.html))), cards: parts.map(one => one.card) };
|
|
880
775
|
})(),
|
|
881
776
|
}));
|
|
882
777
|
}
|
|
883
|
-
/** The version of the DISPLAYED conversation (package 2): every fact a
|
|
884
|
-
* thread or task fragment renders — message identities, card states and
|
|
885
|
-
* outcomes, the live turn and its step count, the last turn's state, the
|
|
886
|
-
* decisions the cards name, and the task lens's own facts — and nothing
|
|
887
|
-
* that merely ticks: no relative age, no freshly minted nonce, no csrf.
|
|
888
|
-
* Equal versions mean equal fragments; the poll fetches nothing else. */
|
|
889
778
|
export function leadChatVersion(rows) {
|
|
890
779
|
const focus = rows.focusTask;
|
|
891
780
|
const facts = [
|
|
@@ -916,12 +805,6 @@ export function leadChatVersion(rows) {
|
|
|
916
805
|
];
|
|
917
806
|
return createHash("sha256").update(JSON.stringify(facts)).digest("hex").slice(0, 16);
|
|
918
807
|
}
|
|
919
|
-
/** The thread region — the one safe region the live refresh reconciles
|
|
920
|
-
* (package 2): coordinator cards, the operator/assistant messages with
|
|
921
|
-
* their cards, the reply-in-progress card, and the starters that follow a
|
|
922
|
-
* populated thread. Every child carries a stable `data-key` so the page
|
|
923
|
-
* keeps an unchanged node (its open disclosures, its focus) and replaces
|
|
924
|
-
* only what the server rendered differently. The composer is never here. */
|
|
925
808
|
export function leadThreadHtml(data) {
|
|
926
809
|
const returnTo = data.focusTask === null ? "/chat" : taskChatHref(data.focusTask.id);
|
|
927
810
|
const parts = [];
|
|
@@ -946,7 +829,6 @@ export function leadThreadHtml(data) {
|
|
|
946
829
|
for (const message of data.messages) {
|
|
947
830
|
if (message.role === "operator") {
|
|
948
831
|
asked = message.text;
|
|
949
|
-
// A message that waits its turn (the lead queue) says so, with Remove while it still waits — as in the React thread.
|
|
950
832
|
const queued = data.queue?.get(message.id);
|
|
951
833
|
thread.push(html `<div class="msg op" data-message-role="operator" data-key="m${message.id}">${message.text === "" ? "" : steerCommentHtml(message.text) ?? html `<p style="white-space:pre-wrap">${message.text}</p>`}${queued === undefined ? "" : queuedStateHtml(queued, returnTo)}</div>`);
|
|
952
834
|
continue;
|
|
@@ -965,17 +847,11 @@ export function leadThreadHtml(data) {
|
|
|
965
847
|
stopForm: postForm("/chat/mate/stop", html `<button type="submit" class="quiet" aria-label="Stop chat response">Stop</button>`, { attrs: { class: "inline" }, returnTo, hidden: { turn: data.pending.id } }),
|
|
966
848
|
}));
|
|
967
849
|
}
|
|
968
|
-
// Suggestions help start a conversation; repeating them after every
|
|
969
|
-
// response competes with the actual result and its available actions.
|
|
970
850
|
return html `<div id="chat-thread" data-chat-region="thread">${joinHtml(parts, "\n")}</div>`;
|
|
971
851
|
}
|
|
972
|
-
/** What follows the composer (package 2): the starters of an EMPTY thread
|
|
973
|
-
* sit under the box; once the first message lands they move above it. */
|
|
974
852
|
export function leadAfterComposerHtml(data) {
|
|
975
853
|
return html `<div id="chat-after-composer" data-chat-region="after">${data.messages.length === 0 && data.pending === null ? leadPromptStarters(data.focusTask) : ""}</div>`;
|
|
976
854
|
}
|
|
977
|
-
/** A conversation shown before it exists (quiet page visits): its page binds sends to this session id, and the first
|
|
978
|
-
* send starts the conversation (chatSend). A visit never starts one. */
|
|
979
855
|
export const NOT_STARTED_SESSION = 0;
|
|
980
856
|
export function leadPage(chrome, data) {
|
|
981
857
|
const subscription = isSubscriptionChatProvider(data.config.provider);
|
|
@@ -997,7 +873,7 @@ export function leadPage(chrome, data) {
|
|
|
997
873
|
? ""
|
|
998
874
|
: html `<p class="meta">Recent turns: ${joinHtml(data.recent
|
|
999
875
|
.map(turn => html `<span class="mono">#${turn.id}</span> ${turn.state}${turn.failureReason === null ? "" : html ` · ${turn.failureReason}`} · ${subscription ? "membership" : chatMoney(turn.settledMicrousd ?? turn.reservedMicrousd)}`), " · ")}</p>`,
|
|
1000
|
-
html `<p class="meta"><a href="/settings/lead">
|
|
876
|
+
html `<p class="meta"><a href="/settings/lead">Chat settings</a> · provider, model and limits</p>`,
|
|
1001
877
|
], "\n")}\n</details>`,
|
|
1002
878
|
], "\n");
|
|
1003
879
|
const conversation = [
|
|
@@ -1005,7 +881,6 @@ export function leadPage(chrome, data) {
|
|
|
1005
881
|
? chatHeading("", data.projects.length)
|
|
1006
882
|
: taskChatHeading(data.focusTask),
|
|
1007
883
|
data.focusTask === null ? (data.catchUp ?? "") : taskChatLiveRegion(data.focusTask, data.csrf, false, data.pending !== null),
|
|
1008
|
-
// The DB catch-up replaces the older, duplicate portfolio summary.
|
|
1009
884
|
data.focusTask === null && !data.catchUp ? html `<details class="chat-fleet-context">${chatOverviewSummaryHtml(data.projects, data.fleetSnapshot?.attentionCount)}${chatFleetOverview(data.fleetSnapshot, data.projects, data.pending === null)}</details>` : "",
|
|
1010
885
|
];
|
|
1011
886
|
if (data.problem !== null)
|
|
@@ -1017,24 +892,13 @@ export function leadPage(chrome, data) {
|
|
|
1017
892
|
const latestReply = data.pending === null && lastMessage?.role === "assistant" ? lastMessage.id : null;
|
|
1018
893
|
conversation.push(replacedThreadHtml(data.previous));
|
|
1019
894
|
conversation.push(leadThreadHtml({ ...data, problem: null, chatProject }));
|
|
1020
|
-
conversation.push(
|
|
1021
|
-
// The New update action (package 2): hidden until a live update lands
|
|
1022
|
-
// while the reader is above the latest message; a real button, so the
|
|
1023
|
-
// keyboard reaches it. Only this act moves the reader.
|
|
1024
|
-
html `<div class="chat-new-update-holder"><button type="button" class="chat-new-update" id="chat-new-update" hidden>New update ↓</button></div>`, postForm("/chat", joinHtml([
|
|
895
|
+
conversation.push(html `<div class="chat-new-update-holder"><button type="button" class="chat-new-update" id="chat-new-update" hidden>New update ↓</button></div>`, postForm("/chat", joinHtml([
|
|
1025
896
|
html `<label>Message<textarea id="chat-message" name="message" rows="1" maxlength="${LEAD_MESSAGE_MAX_CHARS}" placeholder="${data.focusTask !== null ? "Ask about this task…" : chatProject !== null ? `Ask about ${projectName(chatProject)}…` : "Describe what you want done…"}"></textarea></label>`,
|
|
1026
897
|
html `<button type="submit" aria-label="${data.pending === null ? "send message" : "send message — it waits for the current reply"}">Send</button>`,
|
|
1027
898
|
], "\n"), {
|
|
1028
899
|
attrs: { class: "card composer", id: latestReply === null && data.pending === null ? "latest" : "chat-composer", "aria-label": "message the lead", "data-chat-session": sessionId, "data-chat-task": data.focusTask?.id ?? "", "data-chat-user": approver, "data-chat-busy": data.pending === null ? "0" : "1", "data-chat-version": leadChatVersion(data), "data-chat-approval": data.focusTask?.approval?.digest ?? "" },
|
|
1029
900
|
hidden: { request: randomBytes(16).toString("hex"), "request-session": sessionId, task: data.focusTask?.id, project: chatProject, result: data.resultRunId },
|
|
1030
|
-
}),
|
|
1031
|
-
// Concise pass (2026-09-13): the status line speaks only when there is
|
|
1032
|
-
// a state to report — a reply in progress here, the connection from
|
|
1033
|
-
// the continuity script — and the composer carries no second intro.
|
|
1034
|
-
html `<p class="meta composer-hint" id="chat-connection" role="status" aria-live="polite">${data.pending === null ? "" : "Reply in progress. A message you send now waits its turn."}</p>`,
|
|
1035
|
-
// The explicit reconnection (package 2): shown only once the session
|
|
1036
|
-
// or sign-in changed under this page; it reloads on the reader's act.
|
|
1037
|
-
html `<p class="meta composer-hint" id="chat-reconnect" hidden><button type="button" class="quiet">Reconnect</button></p>`, leadAfterComposerHtml(data), controlsHtml);
|
|
901
|
+
}), html `<p class="meta composer-hint" id="chat-connection" role="status" aria-live="polite">${data.pending === null ? "" : "Reply in progress. A message you send now waits its turn."}</p>`, html `<p class="meta composer-hint" id="chat-reconnect" hidden><button type="button" class="quiet">Reconnect</button></p>`, leadAfterComposerHtml(data), controlsHtml);
|
|
1038
902
|
return screen("chat", chatWorkspace(joinHtml(conversation, "\n"), data.projects, false, data.focusTask, data.resultPanel ?? null), { chrome, functional: { script: CHAT_CONTINUITY_SCRIPT + CHAT_UI_SCRIPT + (data.focusTask === null ? "" : RESULT_REVIEW_SCRIPT), fetches: true },
|
|
1039
903
|
workspace: {
|
|
1040
904
|
conversation: {
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Code map page (docs/plans/code-map.md §6): read-only, from the shared reader. Every name on it came from the
|
|
3
|
-
* repository: `html` escapes it, links carry it through encodeURIComponent, and the handler looks it up exactly.
|
|
4
|
-
*/
|
|
5
1
|
import { githubRepoOf } from "../pull-request-flow.js";
|
|
6
2
|
import { areaRows, areaView, fileView, searchMap } from "../code-map-read.js";
|
|
7
3
|
import { NOT_ENOUGH, reportRows } from "../code-map-report.js";
|
|
@@ -96,7 +92,6 @@ function provenance(data, map) {
|
|
|
96
92
|
...(report.enforced === undefined ? [] : [note(LIMITS_WORDS[report.enforced])]),
|
|
97
93
|
]));
|
|
98
94
|
}
|
|
99
|
-
/** "Builds with and without the map": read by people; nothing switches on it. */
|
|
100
95
|
export function codeMapReportBlock(report) {
|
|
101
96
|
if (report.arms.map.families + report.arms.holdout.families === 0)
|
|
102
97
|
return null;
|
|
@@ -1,21 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The flaky tests list (docs/plans/learning-loops.md, "The list"): a project's tests with mixed outcomes under recorded
|
|
3
|
-
* conditions, on the kit. Reads only; the one action is "Make a task to fix it", the ordinary /tasks/add form, and a
|
|
4
|
-
* person approves that task as usual. Test names are candidate-written text, escaped at the sink like everything else.
|
|
5
|
-
*/
|
|
6
1
|
import { flakyCoverageWords, flakyStatusWords } from "../flaky-cli.js";
|
|
7
2
|
import { fixTaskOf } from "../flaky.js";
|
|
8
3
|
import { html, joinHtml, postForm } from "../html.js";
|
|
9
4
|
import { relativeAge, screen } from "./chrome.js";
|
|
10
5
|
import { btn, chip, disclose, doc, docHeader, empty, facts, note, phoneHeader, row } from "./kit.js";
|
|
11
6
|
const KIND_WORDS = { regate: "Checks run again on the same commit", "same-tree": "Two checks of the same code", "in-check-retry": "Passed on a retry inside one check", github: "GitHub re-run" };
|
|
12
|
-
/** "Make a task to fix it": the ordinary task form, filled in. */
|
|
13
7
|
function fixForm(repo, data, returnTo) {
|
|
14
8
|
const task = fixTaskOf(data);
|
|
15
9
|
return postForm("/tasks/add", btn("Make a task to fix it", { sm: true, type: "submit" }), { returnTo, hidden: { title: task.title, goal: task.goal, repo } });
|
|
16
10
|
}
|
|
17
11
|
const statusChip = (data) => chip(flakyStatusWords(data), "", { dot: false });
|
|
18
|
-
/** The list. */
|
|
19
12
|
export function flakyPage(chrome, data) {
|
|
20
13
|
const { list } = data;
|
|
21
14
|
const rowHref = (key) => `${data.selfHref}${data.selfHref.includes("?") ? "&" : "?"}row=${encodeURIComponent(key)}`;
|
|
@@ -38,7 +31,6 @@ export function flakyPage(chrome, data) {
|
|
|
38
31
|
]))),
|
|
39
32
|
], "\n"), { chrome });
|
|
40
33
|
}
|
|
41
|
-
/** One row's history. */
|
|
42
34
|
export function flakyRowPage(chrome, data) {
|
|
43
35
|
const one = data.row;
|
|
44
36
|
const history = data.history.length === 0 ? note("No history recorded.") : joinHtml(data.history.map(entry => row({
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
/** The task page's follow-through sections (docs/plans/fleet-follow-through.md): findings, failed checks, before and after,
|
|
2
|
-
* and the handover note. All of a finding's text is model output or repository text: it renders as text, in `html`'s
|
|
3
|
-
* escaping, and no action here is reachable from it. Every form posts to the one action in tasks.ts. */
|
|
4
1
|
import { checkRepairsOfTask, checkRepairWords } from "../check-repair.js";
|
|
5
2
|
import { evidencePairsOf, evidenceWords, failingFirstOf, failingFirstWords } from "../evidence-pair.js";
|
|
6
3
|
import { findingLine, findingFromWords, findingsOfTask, findingStandingWords } from "../findings.js";
|
|
7
|
-
import { handoverLines, handoverNoteOf } from "../handover-note.js";
|
|
4
|
+
import { handoverHasContent, handoverLines, handoverNoteOf } from "../handover-note.js";
|
|
8
5
|
import { html, joinHtml, postForm } from "../html.js";
|
|
9
6
|
import { providerCaptures } from "../provider-capture.js";
|
|
10
7
|
import { btn, disclose, field, input, note, textarea } from "./kit.js";
|
|
@@ -63,6 +60,6 @@ export function followThroughView(store, root, taskId, taskHref, canAct, now) {
|
|
|
63
60
|
canAct ? act(taskHref, step === null ? "failing-first-on" : "failing-first-off", step === null ? "Ask for a failing test first" : "Turn off failing test first") : "",
|
|
64
61
|
captures.length === 0 ? "" : disclose("What the provider said", html `<ul class="result-changes">${captures.map(one => captureRow(one, taskHref, canAct))}</ul>`),
|
|
65
62
|
]),
|
|
66
|
-
handover: note1 === null ? "" : html `<pre class="mono handover-note">${handoverLines(note1).join("\n")}</pre
|
|
63
|
+
handover: note1 === null || !handoverHasContent(note1) ? "" : disclose("Show the note", html `<pre class="mono handover-note">${handoverLines(note1).join("\n")}</pre>`),
|
|
67
64
|
};
|
|
68
65
|
}
|