toolroll 0.9.104 → 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 +62 -5
- package/README.md +18 -20
- 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 +17 -139
- 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 +1 -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 +0 -17
- 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 +0 -53
- package/dist/local-owner.js +2 -93
- 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 +0 -17
- package/dist/operate-remote.js +0 -33
- package/dist/operate.js +227 -2326
- 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 +0 -20
- 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 +0 -34
- package/dist/public-check.js +0 -16
- package/dist/publish.js +1 -150
- package/dist/pull-request-flow.js +0 -77
- 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 +0 -100
- 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 +0 -25
- 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 +4 -567
- 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 +21 -555
- 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 +1 -88
- 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 +13 -493
- 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 +6 -135
- 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 +9 -227
- package/dist/server/tasks.js +5 -539
- 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 +0 -75
- 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 +17 -28
- 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 +16 -36
- package/dist/tui.js +1 -1
- 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 +4 -3
- 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 -350
- 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 -1985
- 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 -540
- 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 -43
- 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-acts.d.ts +0 -83
- package/dist/local-owner.d.ts +0 -135
- 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 -61
- 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 -170
- 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 -39
- 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 -1098
- 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 -81
- 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 -60
- 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 -758
- package/dist/server/render-settings.d.ts +0 -93
- package/dist/server/render-tasks.d.ts +0 -783
- 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 -343
- 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 -108
- 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 -48
- 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 -202
- package/dist/tui-source.d.ts +0 -14
- package/dist/typed-start.d.ts +0 -51
- package/dist/unfenced-test-support.d.ts +0 -2
- package/dist/up-processes.d.ts +0 -162
- package/dist/up-role-child.d.ts +0 -1
- package/dist/update-notice.d.ts +0 -5
- package/dist/vanished-retry.d.ts +0 -30
- package/dist/verification-evidence.d.ts +0 -68
- package/dist/version.d.ts +0 -2
- package/dist/wake-hub.d.ts +0 -72
- package/dist/webhook-limits.d.ts +0 -23
- package/dist/webhook-readers.d.ts +0 -56
- package/dist/webhook-signing.d.ts +0 -27
- package/dist/webhooks.d.ts +0 -84
- package/dist/welcome-facts.d.ts +0 -18
- package/dist/when-html.d.ts +0 -40
- package/dist/work-index.d.ts +0 -175
- package/dist/work-summary.d.ts +0 -61
- package/dist/workspace-motion.d.ts +0 -4
- package/dist/workspace-revision.d.ts +0 -48
- package/dist/workspace-ui.d.ts +0 -385
- package/dist/worktree-notices.d.ts +0 -13
- package/dist/worktree.d.ts +0 -365
- package/dist/writes-mode.d.ts +0 -9
- package/dist/youiyoux-intake.d.ts +0 -234
package/dist/live-records.js
CHANGED
|
@@ -1,24 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The live conversation's records (docs/plans/live-conversation.md): what a
|
|
3
|
-
* running agent said and did, one JSON object per line of `live/<run>.jsonl`.
|
|
4
|
-
*
|
|
5
|
-
* The recorder turns provider stream events into records. It names a step's
|
|
6
|
-
* target only from a closed list of argument fields, keeps a command's text
|
|
7
|
-
* and output only when the project turned "Show commands in the live view"
|
|
8
|
-
* on (the `commands` tier), and never writes a tool's own name — only our
|
|
9
|
-
* fixed kind. Every string is redacted, then cleaned of controls, then cut.
|
|
10
|
-
* The redaction is best effort; the opt-in is the real control.
|
|
11
|
-
*
|
|
12
|
-
* Readers trust nothing they read back: `parseLiveRecord` re-checks shape,
|
|
13
|
-
* caps and redaction, since the machine running the agent could alter the
|
|
14
|
-
* file. Display state, never evidence.
|
|
15
|
-
*/
|
|
16
1
|
import { isAbsolute, relative, resolve, sep } from "node:path";
|
|
17
2
|
import { scanForSecrets } from "./evidence.js";
|
|
18
3
|
import { topLevelEvent } from "./stream-scope.js";
|
|
19
4
|
import { cleanTerminalLine } from "./terminal-text.js";
|
|
20
5
|
export const LIVE_ACTIVITY_KINDS = ["session", "message", "edit", "command", "read", "search", "lookup", "plan", "delegate", "tool"];
|
|
21
|
-
/** A record's serialized size limit: a longer one is replaced by `cut`. */
|
|
22
6
|
export const LIVE_RECORD_CAP = 8 * 1024;
|
|
23
7
|
const LINE_CAP = 2 * 1024;
|
|
24
8
|
const COMMAND_CAP = 300;
|
|
@@ -26,7 +10,6 @@ const SHORT_CAP = 120;
|
|
|
26
10
|
const OUT_LINES = 20;
|
|
27
11
|
const OUT_BYTES = 4 * 1024;
|
|
28
12
|
const OPEN_STEPS_CAP = 64;
|
|
29
|
-
/** A `say` record is split before it grows past this many bytes or lines (the reader's own limits). */
|
|
30
13
|
const SAY_CHUNK = 6 * 1024;
|
|
31
14
|
const SAY_LINES = 400;
|
|
32
15
|
export const HIDDEN_TARGET = "[hidden]";
|
|
@@ -34,12 +17,6 @@ export const HIDDEN_LINE = "[a line was hidden]";
|
|
|
34
17
|
export const HIDDEN_KEY_BLOCK = "[a key block was hidden]";
|
|
35
18
|
export const OUTSIDE_PROJECT = "a file outside the project";
|
|
36
19
|
export const SOME_FILE = "a file";
|
|
37
|
-
/* ---------- redaction and cleaning ---------- */
|
|
38
|
-
/**
|
|
39
|
-
* The live view's own shapes, beside the evidence scanner's high-confidence
|
|
40
|
-
* ones: generic `key = value` credentials, auth headers, and URLs carrying
|
|
41
|
-
* credentials. Over-hiding is the accepted cost here — this is a display.
|
|
42
|
-
*/
|
|
43
20
|
const LIVE_SECRET_SHAPES = [
|
|
44
21
|
/(?:^|[^A-Za-z0-9])[A-Za-z0-9_.-]*?(?:pass(?:word|wd)?|secret|token|api[_-]?key|authorization|auth|bearer|credentials?|private[_-]?key|session(?:[_-]?(?:id|key|token))?|cookie)["']?\s*[:=]\s*\S/i,
|
|
45
22
|
/\bauthorization\s*:/i,
|
|
@@ -47,25 +24,20 @@ const LIVE_SECRET_SHAPES = [
|
|
|
47
24
|
/\b[a-z][a-z0-9+.-]*:\/\/[^\s/@]+@/i,
|
|
48
25
|
/[?&](?:access_token|token|key|api_key|apikey|secret|sig|signature|password|pwd|auth|code)=[^&\s]+/i,
|
|
49
26
|
];
|
|
50
|
-
/** A line that is only a long run of mixed-case base64 — a key body whose BEGIN line was elsewhere (a hash is not). */
|
|
51
27
|
function keyBodyShaped(line) {
|
|
52
28
|
const bare = line.trim();
|
|
53
29
|
return bare.length >= 24 && /^[A-Za-z0-9+/]+={0,2}$/.test(bare) && /[A-Z]/.test(bare) && /[a-z]/.test(bare) && /[0-9]/.test(bare);
|
|
54
30
|
}
|
|
55
|
-
/** Whether a line looks like it carries a credential (best effort). */
|
|
56
31
|
export function liveSecretHit(line) {
|
|
57
32
|
if (scanForSecrets(line).length > 0)
|
|
58
33
|
return true;
|
|
59
34
|
return keyBodyShaped(line) || LIVE_SECRET_SHAPES.some(shape => shape.test(line));
|
|
60
35
|
}
|
|
61
|
-
/** Controls, ANSI escapes and bidi overrides out; tabs to spaces (terminal-text.ts, the one sanitizer). */
|
|
62
36
|
export function cleanLiveText(text) {
|
|
63
37
|
return cleanTerminalLine(text);
|
|
64
38
|
}
|
|
65
|
-
/** Letters, digits and dashes only, after folding look-alike letters and dashes. */
|
|
66
39
|
const reduceForm = (text) => text.normalize("NFKC").replace(/[\u2010-\u2015\u2212\u2E3A\u2E3B\uFE58\uFE63\uFF0D]/g, "-").toUpperCase().replace(/[^A-Z0-9-]/g, "");
|
|
67
40
|
const CSI_ANY = /(?:\x1b\[|\u009b)[0-?]*[ -/]*[@-~]/g;
|
|
68
|
-
/** The part of a line that only finishes the escape the previous line began: never shown, never text. */
|
|
69
41
|
function finishEscape(line, carry) {
|
|
70
42
|
if (carry === "C") {
|
|
71
43
|
const done = /^[0-?]*[ -/]*[@-~]/.exec(line);
|
|
@@ -79,7 +51,6 @@ function finishEscape(line, carry) {
|
|
|
79
51
|
return { rest: line.slice(1), carry: "" };
|
|
80
52
|
return { rest: line, carry: "" };
|
|
81
53
|
}
|
|
82
|
-
/** Whether a line ends inside an escape the next line must finish. */
|
|
83
54
|
function escapeLeftOpen(line) {
|
|
84
55
|
if (/(?:\x1b\[|\u009b)[0-?]*[ -/]*$/.test(line))
|
|
85
56
|
return "C";
|
|
@@ -87,11 +58,6 @@ function escapeLeftOpen(line) {
|
|
|
87
58
|
return "O";
|
|
88
59
|
return /\x1b$/.test(line) ? "E" : "";
|
|
89
60
|
}
|
|
90
|
-
/**
|
|
91
|
-
* Where, in `text`, the escape `carry` left open at the end of what came before is over — read exactly as
|
|
92
|
-
* cleanLiveText reads escapes — or null while it is still open. Words written after it are words; words written
|
|
93
|
-
* inside it are cleaned away with it.
|
|
94
|
-
*/
|
|
95
61
|
function escapeEnd(text, carry) {
|
|
96
62
|
if (carry === "C") {
|
|
97
63
|
const done = /^[0-?]*[ -/]*[@-~]/.exec(text);
|
|
@@ -110,7 +76,6 @@ function escapeEnd(text, carry) {
|
|
|
110
76
|
return text[stop + 1] === "\\" ? stop + 2 : stop;
|
|
111
77
|
}
|
|
112
78
|
if (carry === "I") {
|
|
113
|
-
// ESC and intermediate bytes so far: the rest is more of them, then one final byte.
|
|
114
79
|
const done = /^[ -/]*[0-~]/.exec(text);
|
|
115
80
|
if (done !== null)
|
|
116
81
|
return done[0].length;
|
|
@@ -130,23 +95,12 @@ function escapeEnd(text, carry) {
|
|
|
130
95
|
}
|
|
131
96
|
return 0;
|
|
132
97
|
}
|
|
133
|
-
/** The escape `text` ends inside, read as cleanLiveText reads escapes: escapeLeftOpen's, or ESC with intermediate
|
|
134
|
-
* bytes ("I") that a final byte still has to finish. */
|
|
135
98
|
function heldEscape(text) {
|
|
136
99
|
const open = escapeLeftOpen(text);
|
|
137
100
|
if (open !== "")
|
|
138
101
|
return open;
|
|
139
102
|
return /\x1b[ -/]+$/.test(text) ? "I" : "";
|
|
140
103
|
}
|
|
141
|
-
/**
|
|
142
|
-
* The ways one line can be read when judging where a key block begins or
|
|
143
|
-
* ends: exactly as it will be shown (cleaned, with the escape the previous
|
|
144
|
-
* line left open finished first), with only colour sequences removed, and
|
|
145
|
-
* raw with every escape's payload kept. A block opens if ANY reading shows a
|
|
146
|
-
* BEGIN, and closes only if EVERY reading agrees it has ended — so a marker
|
|
147
|
-
* hidden in, split by, or faked inside an escape never lets a key body
|
|
148
|
-
* through. Over-hiding is the accepted cost.
|
|
149
|
-
*/
|
|
150
104
|
const boundaryForms = (line, carry) => {
|
|
151
105
|
const finished = finishEscape(line, carry).rest;
|
|
152
106
|
return [
|
|
@@ -155,12 +109,7 @@ const boundaryForms = (line, carry) => {
|
|
|
155
109
|
reduceForm(line),
|
|
156
110
|
];
|
|
157
111
|
};
|
|
158
|
-
/**
|
|
159
|
-
* Every BEGIN and END marker in a line, in order. BEGIN counts with any label (or none); END only as a whole END line
|
|
160
|
-
* — its label and closing dashes — so a header's own trailing dashes never read as one.
|
|
161
|
-
*/
|
|
162
112
|
const KEY_MARKERS = /-{5}(BEGIN|END[A-Z0-9-]*?-{5})/g;
|
|
163
|
-
/** Cut to at most `cap` UTF-8 bytes on a character boundary, "…" when cut. */
|
|
164
113
|
export function capLive(text, cap) {
|
|
165
114
|
if (Buffer.byteLength(text, "utf8") <= cap)
|
|
166
115
|
return text;
|
|
@@ -175,14 +124,12 @@ export function capLive(text, cap) {
|
|
|
175
124
|
}
|
|
176
125
|
return `${out}…`;
|
|
177
126
|
}
|
|
178
|
-
/** One line for the view: redacted whole when it hits, then cleaned and cut. */
|
|
179
127
|
export function liveLine(raw, cap = LINE_CAP) {
|
|
180
128
|
const clean = cleanLiveText(raw);
|
|
181
129
|
if (liveSecretHit(raw) || liveSecretHit(clean))
|
|
182
130
|
return HIDDEN_LINE;
|
|
183
131
|
return capLive(clean, cap);
|
|
184
132
|
}
|
|
185
|
-
/** A target: `[hidden]` when it hits, else cleaned and cut. Empty → null. */
|
|
186
133
|
function liveTarget(raw, cap) {
|
|
187
134
|
const clean = cleanLiveText(raw).trim();
|
|
188
135
|
if (clean === "")
|
|
@@ -192,7 +139,6 @@ function liveTarget(raw, cap) {
|
|
|
192
139
|
return capLive(clean, cap);
|
|
193
140
|
}
|
|
194
141
|
const BEGIN_WORD = "-----BEGIN";
|
|
195
|
-
/** The longest end of `text` that starts "-----BEGIN" without completing it — all a split opener needs carried. */
|
|
196
142
|
function beginPrefix(text) {
|
|
197
143
|
for (let size = Math.min(text.length, BEGIN_WORD.length - 1); size > 0; size -= 1) {
|
|
198
144
|
const end = text.slice(-size);
|
|
@@ -201,7 +147,6 @@ function beginPrefix(text) {
|
|
|
201
147
|
}
|
|
202
148
|
return "";
|
|
203
149
|
}
|
|
204
|
-
/** Whether a carried tail is one this code could have produced: three BEGIN prefixes and an escape flag, or nothing. */
|
|
205
150
|
export function validKeyTail(tail) {
|
|
206
151
|
if (tail === "")
|
|
207
152
|
return true;
|
|
@@ -213,9 +158,6 @@ export function validKeyTail(tail) {
|
|
|
213
158
|
export function redactLiveLines(lines, state = { inKey: false }) {
|
|
214
159
|
const out = [];
|
|
215
160
|
for (const line of lines) {
|
|
216
|
-
// Each reading is one stream across line breaks (and reads): markers are found in order wherever they are split,
|
|
217
|
-
// an END then a BEGIN on one line opens a block again, a block opens if ANY reading opens it and closes only if
|
|
218
|
-
// EVERY reading closes it.
|
|
219
161
|
const startedInKey = state.inKey;
|
|
220
162
|
const carried = validKeyTail(state.tail ?? "") && (state.tail ?? "") !== "" ? state.tail.split("|") : ["", "", "", ""];
|
|
221
163
|
const escape = carried[3];
|
|
@@ -229,7 +171,6 @@ export function redactLiveLines(lines, state = { inKey: false }) {
|
|
|
229
171
|
const end = marker.index + marker[0].length;
|
|
230
172
|
if (end <= prefix.length)
|
|
231
173
|
continue;
|
|
232
|
-
// A BEGIN may be split across lines; an END counts only within this line.
|
|
233
174
|
if (marker[1] === "BEGIN") {
|
|
234
175
|
inKey = true;
|
|
235
176
|
opened = true;
|
|
@@ -245,7 +186,7 @@ export function redactLiveLines(lines, state = { inKey: false }) {
|
|
|
245
186
|
state.tail = nextTails.join("|");
|
|
246
187
|
state.inKey = stillIn;
|
|
247
188
|
if (startedInKey)
|
|
248
|
-
continue;
|
|
189
|
+
continue;
|
|
249
190
|
if (line === HIDDEN_KEY_BLOCK || line === HIDDEN_LINE) {
|
|
250
191
|
out.push(line);
|
|
251
192
|
continue;
|
|
@@ -258,11 +199,6 @@ export function redactLiveLines(lines, state = { inKey: false }) {
|
|
|
258
199
|
}
|
|
259
200
|
return out;
|
|
260
201
|
}
|
|
261
|
-
/**
|
|
262
|
-
* Output for a command step: every line redacted first (a key block hidden
|
|
263
|
-
* from its BEGIN line to its END, or to the end), then the last 20 lines
|
|
264
|
-
* within 4 KiB — truncation never comes before redaction.
|
|
265
|
-
*/
|
|
266
202
|
export function liveOutput(raw, keys = { inKey: false }) {
|
|
267
203
|
const redacted = redactLiveLines(raw.split(/\r?\n/), keys);
|
|
268
204
|
while (redacted.length > 0 && redacted[redacted.length - 1].trim() === "")
|
|
@@ -279,11 +215,6 @@ export function liveOutput(raw, keys = { inKey: false }) {
|
|
|
279
215
|
}
|
|
280
216
|
return kept;
|
|
281
217
|
}
|
|
282
|
-
/**
|
|
283
|
-
* A target under the key-block rule: hidden while a block is open. A target is one argument (a search pattern, a
|
|
284
|
-
* path), never part of the conversation's text, so it neither opens nor closes a block — searching for "-----BEGIN"
|
|
285
|
-
* is a search, not a key — and a target that itself looks like a marker or a secret is hidden.
|
|
286
|
-
*/
|
|
287
218
|
function keyedTarget(target, keys) {
|
|
288
219
|
if (target === null || target === HIDDEN_TARGET)
|
|
289
220
|
return target;
|
|
@@ -292,11 +223,6 @@ function keyedTarget(target, keys) {
|
|
|
292
223
|
const [shown] = redactLiveLines([target], { ...keys });
|
|
293
224
|
return shown === HIDDEN_KEY_BLOCK || shown === HIDDEN_LINE ? HIDDEN_TARGET : target;
|
|
294
225
|
}
|
|
295
|
-
/* ---------- targets ---------- */
|
|
296
|
-
/**
|
|
297
|
-
* A path as the view shows it: relative to the run's own checkout when it
|
|
298
|
-
* lies inside it, judged lexically — nothing is opened or resolved on disk.
|
|
299
|
-
*/
|
|
300
226
|
export function livePath(base, given) {
|
|
301
227
|
if (typeof given !== "string" || given.trim() === "")
|
|
302
228
|
return null;
|
|
@@ -308,12 +234,10 @@ export function livePath(base, given) {
|
|
|
308
234
|
return OUTSIDE_PROJECT;
|
|
309
235
|
return liveTarget(shown.split(sep).join("/"), LINE_CAP);
|
|
310
236
|
}
|
|
311
|
-
/** `bash -lc '…'` and friends, unwrapped for display only. */
|
|
312
237
|
function unwrapShell(command) {
|
|
313
238
|
const wrapped = /^(?:\/(?:usr\/)?bin\/)?(?:ba|z)?sh\s+-l?c\s+(['"])([\s\S]*)\1\s*$/.exec(command.trim());
|
|
314
239
|
return wrapped === null ? command : wrapped[2];
|
|
315
240
|
}
|
|
316
|
-
/** A command's first line, "…" when more followed or it was cut. */
|
|
317
241
|
export function liveCommand(given) {
|
|
318
242
|
const text = Array.isArray(given) ? given.filter(one => typeof one === "string").join(" ") : given;
|
|
319
243
|
if (typeof text !== "string")
|
|
@@ -328,7 +252,6 @@ export function liveCommand(given) {
|
|
|
328
252
|
return first;
|
|
329
253
|
return lines.length > 1 && !first.endsWith("…") ? `${first} …` : first;
|
|
330
254
|
}
|
|
331
|
-
/** A URL's host only: no scheme, userinfo, port, path or query. */
|
|
332
255
|
function liveHost(given) {
|
|
333
256
|
if (typeof given !== "string")
|
|
334
257
|
return null;
|
|
@@ -341,9 +264,7 @@ function liveHost(given) {
|
|
|
341
264
|
}
|
|
342
265
|
}
|
|
343
266
|
const short = (given) => (typeof given === "string" ? liveTarget(given.split(/\r?\n/)[0] ?? "", SHORT_CAP) : null);
|
|
344
|
-
/** A short display form of one field: its first line, cleaned, redacted and cut (a delegated task's description). */
|
|
345
267
|
export const liveShort = short;
|
|
346
|
-
/** Claude tools: our kind, and whether it is a command. */
|
|
347
268
|
const CLAUDE_KINDS = new Map([
|
|
348
269
|
["Edit", "edit"], ["Write", "edit"], ["MultiEdit", "edit"], ["NotebookEdit", "edit"],
|
|
349
270
|
["Bash", "command"], ["Read", "read"], ["LS", "read"], ["Glob", "search"], ["Grep", "search"],
|
|
@@ -375,7 +296,6 @@ function claudeTarget(name, input, base, commands) {
|
|
|
375
296
|
}
|
|
376
297
|
const object = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
|
|
377
298
|
const providerId = (value) => (typeof value === "string" && value !== "" && value.length <= 200 ? value : null);
|
|
378
|
-
/** A Claude tool_result's text, whatever its shape. */
|
|
379
299
|
function resultText(content) {
|
|
380
300
|
if (typeof content === "string")
|
|
381
301
|
return content;
|
|
@@ -388,14 +308,11 @@ function resultText(content) {
|
|
|
388
308
|
.join("\n");
|
|
389
309
|
}
|
|
390
310
|
export function createLiveRecorder(given) {
|
|
391
|
-
// The settings are read once, here: nothing the caller (or a callback) changes later reaches the recording.
|
|
392
311
|
const options = Object.freeze({ base: given.base, commands: given.commands === true });
|
|
393
312
|
const notifyStep = given.onStep;
|
|
394
313
|
const clock = given.clock ?? (() => new Date());
|
|
395
314
|
let sequence = 0;
|
|
396
|
-
/** A key block the agent began in one message stays hidden through the next, until it ends or a new session starts. */
|
|
397
315
|
const keyState = given.keyState ?? { inKey: false };
|
|
398
|
-
/** Provider call id → our step, while it is open. */
|
|
399
316
|
const open = new Map();
|
|
400
317
|
const stamp = () => clock().toISOString();
|
|
401
318
|
const closeAll = (at) => {
|
|
@@ -405,16 +322,15 @@ export function createLiveRecorder(given) {
|
|
|
405
322
|
};
|
|
406
323
|
const openStep = (at, call, kind, target) => {
|
|
407
324
|
if (call !== null && open.has(call))
|
|
408
|
-
return [];
|
|
325
|
+
return [];
|
|
409
326
|
const id = `s${++sequence}`;
|
|
410
327
|
const keyed = keyedTarget(target, keyState);
|
|
411
328
|
const step = { k: "step", at, id, kind, ...(keyed === null ? {} : { target: keyed }) };
|
|
412
|
-
// Detached: called with no receiver, so it never sees (or changes) the settings above.
|
|
413
329
|
try {
|
|
414
330
|
if (notifyStep !== undefined)
|
|
415
331
|
notifyStep(call, id, keyed);
|
|
416
332
|
}
|
|
417
|
-
catch {
|
|
333
|
+
catch { }
|
|
418
334
|
if (call === null)
|
|
419
335
|
return [{ ...step, once: true }];
|
|
420
336
|
if (open.size >= OPEN_STEPS_CAP)
|
|
@@ -442,7 +358,6 @@ export function createLiveRecorder(given) {
|
|
|
442
358
|
};
|
|
443
359
|
const claude = (event, at) => {
|
|
444
360
|
const type = event["type"];
|
|
445
|
-
// A subagent's words, tools, turns and sessions are not this run's conversation — and never close its steps.
|
|
446
361
|
if (!topLevelEvent(event))
|
|
447
362
|
return [];
|
|
448
363
|
if (type === "system")
|
|
@@ -469,7 +384,7 @@ export function createLiveRecorder(given) {
|
|
|
469
384
|
const call = providerId(block["tool_use_id"]);
|
|
470
385
|
const step = call === null ? undefined : open.get(call);
|
|
471
386
|
if (step === undefined)
|
|
472
|
-
continue;
|
|
387
|
+
continue;
|
|
473
388
|
open.delete(call);
|
|
474
389
|
const out = options.commands && step.kind === "command" ? liveOutput(resultText(block["content"]), keyState) : [];
|
|
475
390
|
records.push({ k: "done", at, id: step.id, ok: block["is_error"] !== true, ...(out.length > 0 ? { out } : {}) });
|
|
@@ -524,7 +439,6 @@ export function createLiveRecorder(given) {
|
|
|
524
439
|
return [];
|
|
525
440
|
const records = [];
|
|
526
441
|
let step = call === null ? undefined : open.get(call);
|
|
527
|
-
// An item that completes without having started (a file change) opens and closes at once.
|
|
528
442
|
if (step === undefined) {
|
|
529
443
|
if (call === null || open.size >= OPEN_STEPS_CAP)
|
|
530
444
|
return openStep(at, null, kind, codexTarget(item));
|
|
@@ -538,7 +452,6 @@ export function createLiveRecorder(given) {
|
|
|
538
452
|
records.push({ k: "done", at, id: step.id, ok: codexOk(item), ...(out.length > 0 ? { out } : {}) });
|
|
539
453
|
return records;
|
|
540
454
|
};
|
|
541
|
-
/** Gemini: whole messages and tool headlines, no targets, nothing to pair. */
|
|
542
455
|
const gemini = (event, at) => {
|
|
543
456
|
const type = event["type"];
|
|
544
457
|
if (type === "init")
|
|
@@ -552,39 +465,18 @@ export function createLiveRecorder(given) {
|
|
|
552
465
|
}
|
|
553
466
|
return null;
|
|
554
467
|
};
|
|
555
|
-
/**
|
|
556
|
-
* ACP (acp-client.ts; the runner hands each session update over as `{acp: update}`). The record format is the one
|
|
557
|
-
* every dialect writes: a tool call is held — bounded — until it has a target, starts running or ends, and is then
|
|
558
|
-
* shown once (OpenCode names its command only in a later update); the words of a message, which arrive in chunks,
|
|
559
|
-
* are shown when the message ends (a tool call, or the end of the run).
|
|
560
|
-
*/
|
|
561
468
|
const ACP_KINDS = { read: "read", edit: "edit", delete: "edit", move: "edit", search: "search", execute: "command", fetch: "lookup", think: "plan" };
|
|
562
469
|
const ACP_HELD_CAP = 64;
|
|
563
|
-
/** A message's words are shown in one piece when it ends — or, past this many characters, in pieces as they come:
|
|
564
|
-
* every word passes the shared redaction in the order the agent wrote it, none is dropped unseen. */
|
|
565
470
|
const ACP_WORDS_CAP = 16 * 1024;
|
|
566
|
-
/** A line with no end in sight is flushed whole past this (it is cut to a line's length on the way out anyway). */
|
|
567
471
|
const ACP_LINE_HARD_CAP = 256 * 1024;
|
|
568
472
|
const held = new Map();
|
|
569
|
-
/** The latest output an open command showed, already redacted when it arrived (a later update may carry none). */
|
|
570
473
|
const outputs = new Map();
|
|
571
474
|
let acpWords = "";
|
|
572
|
-
/** A step came between the held unfinished line and the words after it: they are joined with one space, so a token
|
|
573
|
-
* keeps the word boundary a scanner needs ("credentials ghp_…") and `key= value` still reads as one. */
|
|
574
475
|
let acpSeparated = false;
|
|
575
|
-
/** The message the held words belong to, when the agent names it: a new id is a new message, and a word break. */
|
|
576
476
|
let acpMessageId = null;
|
|
577
|
-
/** A new message began (its id changed) and its break isn't written yet: owed until it is, whatever chunks come. */
|
|
578
477
|
let acpNewMessage = false;
|
|
579
|
-
/** Past the hard cap, the rest of that one line is not shown; each piece is still read for the key-block state, in
|
|
580
|
-
* order — the state itself carries a split BEGIN across pieces, and an END split across two simply keeps the block
|
|
581
|
-
* hidden (never the other way). Nothing is read twice. */
|
|
582
478
|
let acpSkipping = false;
|
|
583
479
|
const skipRead = (text) => { redactLiveLines([text], keyState); };
|
|
584
|
-
/** Before anything else is written, the message's complete lines are; a partial last line waits for its own end (a
|
|
585
|
-
* `key=` and its value are never split by an update arriving between them), or for the end of the run. */
|
|
586
|
-
/** A message's complete lines, said in order; its unfinished last line waits for its own end (or the run's): a line
|
|
587
|
-
* is only ever judged — for secrets, for key blocks — whole, as the agent wrote it. */
|
|
588
480
|
const flushLines = (at) => {
|
|
589
481
|
const cut = acpWords.lastIndexOf("\n");
|
|
590
482
|
if (cut < 0)
|
|
@@ -593,19 +485,14 @@ export function createLiveRecorder(given) {
|
|
|
593
485
|
acpWords = acpWords.slice(cut + 1);
|
|
594
486
|
return whole.trim() === "" ? [] : say(at, whole);
|
|
595
487
|
};
|
|
596
|
-
/** Everything left, at the end of the run. */
|
|
597
488
|
const flushWords = (at) => {
|
|
598
489
|
const words = acpWords;
|
|
599
490
|
acpWords = "";
|
|
600
491
|
return words.trim() === "" ? [] : say(at, words);
|
|
601
492
|
};
|
|
602
|
-
/** Whether the message's unfinished line opens a key block it hasn't finished saying: until that line is judged,
|
|
603
|
-
* what comes between (a step's target) is hidden — never shown on the strength of a state not yet read. */
|
|
604
493
|
const heldKeyOpen = () => {
|
|
605
494
|
if (/BEGIN/i.test(cleanLiveText(acpWords).replace(/[^A-Za-z]/g, "")))
|
|
606
495
|
return true;
|
|
607
|
-
// Read as redaction will read it — every reading, from the state carried so far — on a copy of that state: a block
|
|
608
|
-
// it would open, or an opener it has begun and not finished, hides the target.
|
|
609
496
|
const probe = { inKey: keyState.inKey, ...(keyState.tail === undefined ? {} : { tail: keyState.tail }) };
|
|
610
497
|
redactLiveLines(acpWords === "" ? [] : acpWords.split(/\r?\n/), probe);
|
|
611
498
|
return probe.inKey || (probe.tail ?? "").split("|").slice(0, 3).some(prefix => prefix !== "");
|
|
@@ -618,15 +505,12 @@ export function createLiveRecorder(given) {
|
|
|
618
505
|
const first = Array.isArray(update["locations"]) ? object(update["locations"][0]) : null;
|
|
619
506
|
return first !== null && typeof first["path"] === "string" ? livePath(options.base, first["path"]) : before;
|
|
620
507
|
};
|
|
621
|
-
/** An update's command output, redacted now — in stream order, through the shared key state — or null when it has none. */
|
|
622
508
|
const acpOutput = (update) => {
|
|
623
509
|
if (!options.commands || !Array.isArray(update["content"]))
|
|
624
510
|
return null;
|
|
625
511
|
const text = update["content"].map(object).filter(one => one !== null && one["type"] === "content")
|
|
626
512
|
.map(one => object(one["content"])).filter(block => block !== null && block["type"] === "text" && typeof block["text"] === "string")
|
|
627
513
|
.map(block => block["text"]).join("\n");
|
|
628
|
-
// ACP sends a call's whole output again with each update — a snapshot, not a stream: each is judged on its own,
|
|
629
|
-
// from a fresh key state, and never moves the message's (key bodies are hidden by their shape either way).
|
|
630
514
|
return text === "" ? null : liveOutput(text, { inKey: false });
|
|
631
515
|
};
|
|
632
516
|
const acp = (update, at) => {
|
|
@@ -637,7 +521,6 @@ export function createLiveRecorder(given) {
|
|
|
637
521
|
return [];
|
|
638
522
|
let text = content["text"];
|
|
639
523
|
if (acpSkipping) {
|
|
640
|
-
// The rest of a line too long to show: read for the key state, never written, until it ends.
|
|
641
524
|
const end = text.indexOf("\n");
|
|
642
525
|
skipRead(end < 0 ? text : text.slice(0, end));
|
|
643
526
|
if (end < 0)
|
|
@@ -645,12 +528,7 @@ export function createLiveRecorder(given) {
|
|
|
645
528
|
acpSkipping = false;
|
|
646
529
|
text = text.slice(end + 1);
|
|
647
530
|
}
|
|
648
|
-
// A step between two messages is a word break, always written: whatever the next chunk starts with (a CR, a BOM,
|
|
649
|
-
// an escape) may be cleaned away, and the break with it.
|
|
650
531
|
const messageId = typeof update["messageId"] === "string" ? update["messageId"] : null;
|
|
651
|
-
// The agent's own word on what is one message wins: a new id is a break, owed until written; the same id
|
|
652
|
-
// cancels only the break a step implied (a tool's update arriving mid-sentence doesn't split `api_` from `key=`).
|
|
653
|
-
// With no id, a step is a break.
|
|
654
532
|
if (messageId !== null && acpMessageId !== null) {
|
|
655
533
|
if (messageId !== acpMessageId)
|
|
656
534
|
acpNewMessage = true;
|
|
@@ -663,8 +541,6 @@ export function createLiveRecorder(given) {
|
|
|
663
541
|
if (acpWords === "" || acpWords.endsWith("\n"))
|
|
664
542
|
acpSeparated = acpNewMessage = false;
|
|
665
543
|
else {
|
|
666
|
-
// The break goes where cleaning can't take it: after any escape the held words left open, once it is over
|
|
667
|
-
// (written inside it, it would be cleaned away with it). Still open, the break waits for the next chunk.
|
|
668
544
|
const at = escapeEnd(text, heldEscape(acpWords));
|
|
669
545
|
if (at !== null) {
|
|
670
546
|
text = `${text.slice(0, at)} ${text.slice(at)}`;
|
|
@@ -675,8 +551,6 @@ export function createLiveRecorder(given) {
|
|
|
675
551
|
acpWords += text;
|
|
676
552
|
if (acpWords.length <= ACP_WORDS_CAP)
|
|
677
553
|
return [];
|
|
678
|
-
// Flushed only at a line's end, so nothing the redaction reads (a key block's BEGIN, a `key=` and its value) is
|
|
679
|
-
// ever split across two pieces; the partial last line waits for the rest of itself.
|
|
680
554
|
const cut = acpWords.lastIndexOf("\n");
|
|
681
555
|
if (cut >= 0) {
|
|
682
556
|
const whole = acpWords.slice(0, cut + 1);
|
|
@@ -685,21 +559,15 @@ export function createLiveRecorder(given) {
|
|
|
685
559
|
}
|
|
686
560
|
if (acpWords.length <= ACP_LINE_HARD_CAP)
|
|
687
561
|
return [];
|
|
688
|
-
// One line with no end in sight: it is not shown — said once — and its rest is only read.
|
|
689
562
|
acpSkipping = true;
|
|
690
563
|
skipRead(acpWords);
|
|
691
564
|
acpWords = "";
|
|
692
565
|
return [{ k: "cut", at }];
|
|
693
566
|
}
|
|
694
|
-
// A tool call or a permission answer is where the agent's message ends: its words go first, whole. Any other
|
|
695
|
-
// update (usage, a plan, a mode) is not: only the message's complete lines go before it, so a line in progress —
|
|
696
|
-
// a `key=` and the value still to come — is never split by one.
|
|
697
|
-
// Anything else comes after the message's complete lines; an unfinished line waits for its end, whatever arrives.
|
|
698
567
|
const records = flushLines(at);
|
|
699
568
|
if (kind === "tool_call" || kind === "tool_call_update" || kind === "permission")
|
|
700
569
|
acpSeparated = true;
|
|
701
570
|
if (kind === "permission") {
|
|
702
|
-
// A request's title is free text (a command, a path anywhere): only the answer is shown.
|
|
703
571
|
return [...records, ...openStep(at, null, "tool", update["granted"] === true ? "allowed once" : "refused")];
|
|
704
572
|
}
|
|
705
573
|
if (kind !== "tool_call" && kind !== "tool_call_update")
|
|
@@ -712,8 +580,6 @@ export function createLiveRecorder(given) {
|
|
|
712
580
|
const shown = open.get(call);
|
|
713
581
|
const before = held.get(call);
|
|
714
582
|
const stepKind = typeof update["kind"] === "string" ? ACP_KINDS[update["kind"]] ?? "tool" : shown?.kind ?? before?.kind ?? "tool";
|
|
715
|
-
// Output is read (and so redacted, in order) whatever the call, but kept only for a call shown or held — bounded
|
|
716
|
-
// by them — so an untracked or overflowing call leaves nothing behind.
|
|
717
583
|
const output = stepKind === "command" ? acpOutput(update) : null;
|
|
718
584
|
if (output !== null && (shown !== undefined || before !== undefined || kind === "tool_call"))
|
|
719
585
|
outputs.set(call, output);
|
|
@@ -745,12 +611,10 @@ export function createLiveRecorder(given) {
|
|
|
745
611
|
}
|
|
746
612
|
held.delete(call);
|
|
747
613
|
const opened = openStep(at, call, stepKind, target);
|
|
748
|
-
// A step shown "once" (past the open-step cap) is never closed by id: nothing of it is kept.
|
|
749
614
|
if (!open.has(call))
|
|
750
615
|
outputs.delete(call);
|
|
751
616
|
if (!ended)
|
|
752
617
|
return [...records, ...opened];
|
|
753
|
-
// Shown and ended at once: a step and its result.
|
|
754
618
|
const step = open.get(call);
|
|
755
619
|
if (step === undefined) {
|
|
756
620
|
outputs.delete(call);
|
|
@@ -797,20 +661,13 @@ export function createLiveRecorder(given) {
|
|
|
797
661
|
},
|
|
798
662
|
};
|
|
799
663
|
}
|
|
800
|
-
/** One record as its file line; an oversized one becomes `cut`. */
|
|
801
664
|
export function serializeLiveRecord(record) {
|
|
802
665
|
const line = JSON.stringify(record);
|
|
803
666
|
return Buffer.byteLength(line, "utf8") <= LIVE_RECORD_CAP ? line : JSON.stringify({ k: "cut", at: record.at });
|
|
804
667
|
}
|
|
805
|
-
/* ---------- reading back ---------- */
|
|
806
668
|
const KINDS = new Set(LIVE_ACTIVITY_KINDS);
|
|
807
669
|
const STEP_ID = /^s[1-9][0-9]{0,8}$/;
|
|
808
670
|
const strings = (value, max) => Array.isArray(value) && value.length <= max && value.every(one => typeof one === "string") ? value : null;
|
|
809
|
-
/**
|
|
810
|
-
* One file line back into a record, strictly: a known shape within its caps,
|
|
811
|
-
* every string redacted and cleaned again. Anything else is null — skipped,
|
|
812
|
-
* never shown raw.
|
|
813
|
-
*/
|
|
814
671
|
export function parseLiveRecord(line, keys = { inKey: false }) {
|
|
815
672
|
if (line === "" || Buffer.byteLength(line, "utf8") > LIVE_RECORD_CAP)
|
|
816
673
|
return null;
|
|
@@ -863,7 +720,6 @@ export function parseLiveRecord(line, keys = { inKey: false }) {
|
|
|
863
720
|
return null;
|
|
864
721
|
}
|
|
865
722
|
}
|
|
866
|
-
/** Complete file lines (a window's text) into records; bad lines are skipped. */
|
|
867
723
|
export function parseLiveRecords(text, keys = { inKey: false }) {
|
|
868
724
|
const records = [];
|
|
869
725
|
for (const line of text.split("\n")) {
|
|
@@ -873,7 +729,6 @@ export function parseLiveRecords(text, keys = { inKey: false }) {
|
|
|
873
729
|
}
|
|
874
730
|
return records;
|
|
875
731
|
}
|
|
876
|
-
/* ---------- the text projection ---------- */
|
|
877
732
|
export const LIVE_CAP_WORDS = "[the live view stopped at its size cap — the run record continues]";
|
|
878
733
|
export const LIVE_CUT_WORDS = "[a line was too long to show]";
|
|
879
734
|
const TARGET_WORDS = {
|
|
@@ -900,13 +755,11 @@ export const LIVE_KIND_HEADLINES = {
|
|
|
900
755
|
delegate: "→ delegating to a helper",
|
|
901
756
|
tool: "→ using a tool",
|
|
902
757
|
};
|
|
903
|
-
/** A step's one line of words, with its target when it has one. */
|
|
904
758
|
export function stepWords(step) {
|
|
905
759
|
if (step.target === undefined || step.kind === "plan" || step.kind === "tool")
|
|
906
760
|
return LIVE_KIND_HEADLINES[step.kind];
|
|
907
761
|
return `${TARGET_WORDS[step.kind]} ${step.kind === "delegate" ? step.target : `\`${step.target}\``}`;
|
|
908
762
|
}
|
|
909
|
-
/** Records as the plain lines the run page and `toolroll peek` show. */
|
|
910
763
|
export function projectLiveText(records) {
|
|
911
764
|
const lines = [];
|
|
912
765
|
for (const record of records) {
|
package/dist/live-reply.js
CHANGED
|
@@ -1,33 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The shared live-reply core (docs/plans/responsive-chat.md §2): one lead turn's `LeadProgress` turned into text-only
|
|
3
|
-
* views that every surface renders. Surfaces never read `LeadProgress` themselves.
|
|
4
|
-
*
|
|
5
|
-
* queued → working (one status line) → writing (status + display-safe partial text) → closed (answered | failed | blocked)
|
|
6
|
-
*
|
|
7
|
-
* Nothing here is durable or authoritative: the saved thread message and its cards remain the record, and no view ever
|
|
8
|
-
* carries a card, a button, an ask or an approval. A partial is the reply as written so far, cut back to what is
|
|
9
|
-
* settled (never an unfinished word, code span, link or bold run), withheld while its tail could be the start of a
|
|
10
|
-
* password or key, and shaped with the final reply's own presentation policy (presentation, not redaction).
|
|
11
|
-
*
|
|
12
|
-
* `createLiveSender` is the one sender per live surface message (§2.4): at most one request in flight, one pending
|
|
13
|
-
* slot holding only the newest view, a generation that only grows, and `close()` — after which nothing more is sent,
|
|
14
|
-
* and which resolves only once the request in flight has settled, so durable delivery can start strictly after it.
|
|
15
|
-
*/
|
|
16
1
|
import { scanForSecrets } from "./evidence.js";
|
|
17
2
|
import { shapeReply, shapeReplyPrefix } from "./reply-shape.js";
|
|
18
|
-
/** The status line's fixed words (§2.3). A running tool reads as its own label plus "…". */
|
|
19
3
|
export const LIVE_STATUS = {
|
|
20
4
|
queued: "Waiting for your earlier messages…",
|
|
21
5
|
thinking: "Thinking…",
|
|
22
6
|
writing: "Writing…",
|
|
23
7
|
repair: "Fixing the reply…",
|
|
24
8
|
shorten: "Shortening the reply…",
|
|
25
|
-
/** A preview closed because text looked like a password or key; the turn itself may still answer. */
|
|
26
9
|
held: "Working on it…",
|
|
27
10
|
};
|
|
28
|
-
/** One token that could still grow into a match of a secret family: a non-empty prefix of one of its openings, or the
|
|
29
|
-
* whole opening followed by its body characters. Preceded by a non-word character or the start, as the detectors'
|
|
30
|
-
* own word boundaries are. */
|
|
31
11
|
function opening(leads, body) {
|
|
32
12
|
const escape = (text) => text.replace(/[.*+?^${}()|[\]\\/-]/g, "\\$&");
|
|
33
13
|
const alternatives = new Set();
|
|
@@ -38,17 +18,9 @@ function opening(leads, body) {
|
|
|
38
18
|
}
|
|
39
19
|
return `(?:${[...alternatives].join("|")})`;
|
|
40
20
|
}
|
|
41
|
-
/**
|
|
42
|
-
* The start of every `SECRET_PATTERNS` family (evidence.ts), checked against the end of the text written so far:
|
|
43
|
-
* while any matches, the partial is withheld. Single-token families look at the unfinished last token; the families
|
|
44
|
-
* whose match spans spaces (a private-key header, an npm `_authToken = value`) look at the whole last line.
|
|
45
|
-
*/
|
|
46
21
|
const SECRET_STARTS = [
|
|
47
|
-
// private-key: "-----BEGIN RSA PRIVATE KEY-----", partway. No start boundary: the complete detector has none either.
|
|
48
22
|
/-{1,5}(?:B(?:E(?:G(?:I(?:N(?:[ \t][A-Z \t]*-{0,5})?)?)?)?)?)?$/,
|
|
49
|
-
// npm-auth-token: "_authToken = value", partway.
|
|
50
23
|
new RegExp(String.raw `(?:^|[^A-Za-z0-9])${opening(["_authToken"], String.raw `[\s=]`)}\S*$`),
|
|
51
|
-
// aws-access-key, github-token, slack-token, openai-key, stripe-key, google-api-key, gitlab-token.
|
|
52
24
|
new RegExp(String.raw `(?:^|[^A-Za-z0-9_])${opening(["AKIA", "ASIA"], "[0-9A-Z]")}$`),
|
|
53
25
|
new RegExp(String.raw `(?:^|[^A-Za-z0-9_])${opening(["ghp_", "gho_", "ghu_", "ghs_", "ghr_", "github_pat_"], "[A-Za-z0-9_]")}$`),
|
|
54
26
|
new RegExp(String.raw `(?:^|[^A-Za-z0-9_])${opening(["xoxb-", "xoxa-", "xoxp-", "xoxr-", "xoxs-"], "[A-Za-z0-9-]")}$`),
|
|
@@ -56,23 +28,14 @@ const SECRET_STARTS = [
|
|
|
56
28
|
new RegExp(String.raw `(?:^|[^A-Za-z0-9_])${opening(["sk_live_", "sk_test_", "rk_live_", "rk_test_", "whsec_"], "[A-Za-z0-9]")}$`),
|
|
57
29
|
new RegExp(String.raw `(?:^|[^A-Za-z0-9_])${opening(["AIza"], "[0-9A-Za-z_-]")}$`),
|
|
58
30
|
new RegExp(String.raw `(?:^|[^A-Za-z0-9_])${opening(["glpat-"], "[A-Za-z0-9_-]")}$`),
|
|
59
|
-
// telegram-bot-token: "123456789:AA…".
|
|
60
31
|
/(?:^|[^A-Za-z0-9_])\d+(?::(?:A(?:A[A-Za-z0-9_-]*)?)?)?$/,
|
|
61
|
-
// discord-bot-token: "M…24.…6.…27".
|
|
62
32
|
/(?:^|[^A-Za-z0-9_])[MN][A-Za-z\d]*(?:\.[\w-]*(?:\.[\w-]*)?)?$/,
|
|
63
|
-
// password-in-url: "scheme://user:password@host", partway (a scheme and its colon are enough to wait).
|
|
64
33
|
/(?:^|[^A-Za-z0-9+.-])[a-z][a-z0-9+.-]*:\S*$/i,
|
|
65
34
|
];
|
|
66
|
-
/** Could the end of this text be the start of a password or key? Then nothing of it shows yet. */
|
|
67
35
|
export function secretMayStart(text) {
|
|
68
36
|
const lastLine = text.replace(/\r\n?/g, "\n").split("\n").at(-1) ?? "";
|
|
69
37
|
return SECRET_STARTS.some(pattern => pattern.test(lastLine));
|
|
70
38
|
}
|
|
71
|
-
/**
|
|
72
|
-
* What of a reply still being written is settled: everything before its last whitespace (the unfinished last word
|
|
73
|
-
* stays out), then cut back before any code fence, code span, bold run or link that hasn't closed yet. Trailing
|
|
74
|
-
* whitespace is trimmed.
|
|
75
|
-
*/
|
|
76
39
|
export function settledText(raw) {
|
|
77
40
|
const text = raw.replace(/\r\n?/g, "\n");
|
|
78
41
|
let end = text.length;
|
|
@@ -132,23 +95,16 @@ export function settledText(raw) {
|
|
|
132
95
|
const cut = Math.min(...[fence, code, bold, link].filter(at => at !== -1), shown.length);
|
|
133
96
|
return shown.slice(0, cut).trimEnd();
|
|
134
97
|
}
|
|
135
|
-
/**
|
|
136
|
-
* A partial as it may be shown: `blocked` when it holds a password or key (the preview closes), `withheld` while its
|
|
137
|
-
* tail could still become one (show nothing new), else the settled text shaped for display. A step's finished text
|
|
138
|
-
* (`final`, secret-checked whole by the engine) shows whole.
|
|
139
|
-
*/
|
|
140
98
|
export function partialDisplay(raw, final, shape = {}) {
|
|
141
99
|
if (scanForSecrets(raw).length > 0)
|
|
142
100
|
return { kind: "blocked" };
|
|
143
101
|
if (!final && secretMayStart(raw))
|
|
144
102
|
return { kind: "withheld" };
|
|
145
103
|
const text = final ? shapeReply(raw, shape) : shapeReplyPrefix(settledText(raw), shape);
|
|
146
|
-
// Shaping only relabels and removes; a secret in what it returns would mean it came from somewhere else. Never shown.
|
|
147
104
|
if (scanForSecrets(text).length > 0)
|
|
148
105
|
return { kind: "blocked" };
|
|
149
106
|
return { kind: "shown", text };
|
|
150
107
|
}
|
|
151
|
-
/** One turn's live reply. `shape`: the owner's message (`asked`) and this app's origins, as the final reply is shaped. */
|
|
152
108
|
export function createLiveReply(shape = {}, options = {}) {
|
|
153
109
|
const steps = [];
|
|
154
110
|
let queued = options.queued === true;
|
|
@@ -242,12 +198,6 @@ export function createLiveReply(shape = {}, options = {}) {
|
|
|
242
198
|
tools: () => steps.map(step => step.calls.map(call => ({ ...call }))),
|
|
243
199
|
};
|
|
244
200
|
}
|
|
245
|
-
/**
|
|
246
|
-
* The serialized sender for one live surface message (§2.4). `standing` re-proves the viewer's right to see this turn
|
|
247
|
-
* before every send (it may await; the close is re-checked after it). `spacingMs` is the least time between two sends,
|
|
248
|
-
* read before each one (a surface widens it after the platform asks for a pause). A failed send drops that view:
|
|
249
|
-
* previews are best effort.
|
|
250
|
-
*/
|
|
251
201
|
export function createLiveSender(options) {
|
|
252
202
|
const spacing = () => typeof options.spacingMs === "function" ? options.spacingMs() : options.spacingMs ?? 0;
|
|
253
203
|
const now = options.now ?? Date.now;
|
|
@@ -277,7 +227,7 @@ export function createLiveSender(options) {
|
|
|
277
227
|
lastSent = now();
|
|
278
228
|
await options.send(next.view, next.generation);
|
|
279
229
|
}
|
|
280
|
-
catch {
|
|
230
|
+
catch { }
|
|
281
231
|
})().finally(() => { inflight = null; pump(); });
|
|
282
232
|
};
|
|
283
233
|
return {
|