@indigoai-us/hq-cli 5.312.2-beta.0 → 5.314.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -4293
- package/assets/scaffold/core/scripts/checkpoint-stop-gate.sh +43 -281
- package/assets/scaffold/core/scripts/hook-lib.sh +50 -345
- package/assets/scaffold/core/scripts/hq-session.sh +23 -184
- package/assets/scaffold/core/scripts/lib/session-id.sh +2 -3
- package/assets/scaffold/core/scripts/lib/session-scope-capability.sh +1 -1
- package/assets/scaffold/core/scripts/lib/work-mesh-enqueue.sh +1 -2
- package/assets/scaffold/core/scripts/qmd-reindex-after-sync.sh +87 -10
- package/assets/scaffold/core/scripts/rebuild-company-knowledge-index.sh +3 -36
- package/assets/scaffold/core/scripts/rebuild-projects-index.sh +12 -99
- package/assets/scaffold/core/scripts/token-usage-report.sh +20 -81
- package/dist/bin/hq-auth-refresh.d.ts +0 -2
- package/dist/bin/hq-auth-refresh.js +6 -12
- package/dist/commands/__fixtures__/access-vault.d.ts +0 -2
- package/dist/commands/__fixtures__/access-vault.js +1 -1
- package/dist/commands/_patterns.d.ts +0 -16
- package/dist/commands/_patterns.js +3 -20
- package/dist/commands/access.d.ts +1 -2
- package/dist/commands/access.js +49 -58
- package/dist/commands/agents.d.ts +4 -106
- package/dist/commands/agents.js +45 -924
- package/dist/commands/auth.d.ts +0 -1
- package/dist/commands/auth.js +19 -189
- package/dist/commands/billing.d.ts +0 -3
- package/dist/commands/billing.js +1 -6
- package/dist/commands/channels.js +1 -56
- package/dist/commands/cloud-demote.js +2 -3
- package/dist/commands/cloud-provision.d.ts +0 -14
- package/dist/commands/cloud-provision.js +58 -232
- package/dist/commands/cloud.d.ts +15 -49
- package/dist/commands/cloud.js +122 -358
- package/dist/commands/company-transfer.d.ts +28 -4
- package/dist/commands/company-transfer.js +49 -5
- package/dist/commands/company.js +3 -66
- package/dist/commands/core-checkpoint.d.ts +9 -19
- package/dist/commands/core-checkpoint.js +37 -301
- package/dist/commands/core.d.ts +0 -4
- package/dist/commands/core.js +80 -270
- package/dist/commands/crm.js +3 -52
- package/dist/commands/db-provision.js +4 -4
- package/dist/commands/db-sql.js +21 -7
- package/dist/commands/dm.d.ts +12 -119
- package/dist/commands/dm.js +38 -388
- package/dist/commands/doctor.d.ts +0 -12
- package/dist/commands/doctor.js +12 -158
- package/dist/commands/feedback.d.ts +0 -6
- package/dist/commands/feedback.js +37 -86
- package/dist/commands/files-browse.d.ts +12 -32
- package/dist/commands/files-browse.js +60 -176
- package/dist/commands/files.d.ts +0 -17
- package/dist/commands/files.js +47 -300
- package/dist/commands/group-grants.js +2 -3
- package/dist/commands/groups.js +5 -6
- package/dist/commands/index-cmd.d.ts +1 -19
- package/dist/commands/index-cmd.js +7 -74
- package/dist/commands/integrations-api.d.ts +10 -15
- package/dist/commands/integrations-api.js +22 -27
- package/dist/commands/integrations-connect.d.ts +13 -51
- package/dist/commands/integrations-connect.js +71 -86
- package/dist/commands/integrations-core.d.ts +6 -6
- package/dist/commands/integrations-core.js +11 -25
- package/dist/commands/integrations-import.d.ts +1 -1
- package/dist/commands/integrations-import.js +24 -43
- package/dist/commands/integrations-manage.js +13 -20
- package/dist/commands/integrations.d.ts +0 -8
- package/dist/commands/integrations.js +7 -94
- package/dist/commands/login.js +6 -49
- package/dist/commands/mcp-registration.d.ts +25 -32
- package/dist/commands/mcp-registration.js +23 -256
- package/dist/commands/mcp-status.js +0 -1
- package/dist/commands/meetings.js +34 -55
- package/dist/commands/members.js +1 -5
- package/dist/commands/mesh.d.ts +0 -11
- package/dist/commands/mesh.js +76 -1086
- package/dist/commands/onboard-identity-guard.d.ts +1 -1
- package/dist/commands/onboard.js +5 -24
- package/dist/commands/pack-install.js +1 -3
- package/dist/commands/packs.js +1 -11
- package/dist/commands/people.d.ts +0 -4
- package/dist/commands/people.js +3 -37
- package/dist/commands/publish.d.ts +1 -8
- package/dist/commands/publish.js +4 -17
- package/dist/commands/reindex.js +6 -56
- package/dist/commands/rescue.d.ts +0 -4
- package/dist/commands/rescue.js +17 -27
- package/dist/commands/run.js +4 -18
- package/dist/commands/safe-extract.d.ts +2 -11
- package/dist/commands/safe-extract.js +8 -36
- package/dist/commands/scaffold-fast.d.ts +41 -0
- package/dist/commands/scaffold-fast.js +57 -0
- package/dist/commands/secrets.d.ts +2 -20
- package/dist/commands/secrets.js +71 -175
- package/dist/commands/skill.d.ts +4 -35
- package/dist/commands/skill.js +18 -357
- package/dist/commands/sync-mode.d.ts +0 -11
- package/dist/commands/sync-mode.js +0 -30
- package/dist/commands/sync-narrow.js +5 -36
- package/dist/commands/team-sync.js +10 -71
- package/dist/commands/update.js +0 -6
- package/dist/commands/whoami.d.ts +0 -22
- package/dist/commands/whoami.js +4 -137
- package/dist/commands/workers.d.ts +14 -2
- package/dist/commands/workers.js +10 -7
- package/dist/fast-core.d.ts +7 -6
- package/dist/fast-core.js +24 -80
- package/dist/index.d.ts +4 -3
- package/dist/index.js +9 -59
- package/dist/lazy-commands.d.ts +44 -20
- package/dist/lazy-commands.js +58 -60
- package/dist/lib/company-skill-wrapper.d.ts +0 -1
- package/dist/lib/company-skill-wrapper.js +29 -121
- package/dist/lib/core-utils/codex-skill-bridge.d.ts +1 -2
- package/dist/lib/core-utils/qmd-reindex-after-sync.d.ts +1 -14
- package/dist/lib/core-utils/qmd-reindex-after-sync.js +17 -101
- package/dist/lib/core-utils/soft-timeout.js +1 -1
- package/dist/lib/core-utils/timeout-guard.d.ts +3 -3
- package/dist/lib/core-utils/timeout-guard.js +13 -28
- package/dist/lib/core-utils/token-usage-report.js +3 -17
- package/dist/lib/db/control-plane.js +0 -6
- package/dist/lib/db/local.d.ts +5 -0
- package/dist/lib/db/local.js +1 -1
- package/dist/lib/db/migrate.d.ts +12 -0
- package/dist/lib/db/migrate.js +5 -5
- package/dist/lib/db/remote-sql.d.ts +2 -2
- package/dist/lib/db/remote-sql.js +3 -3
- package/dist/lib/db/sql.d.ts +10 -0
- package/dist/lib/db/sql.js +8 -4
- package/dist/lib/doctor/__testing__/fake-hq-tree.d.ts +1 -1
- package/dist/lib/doctor/__testing__/fake-hq-tree.js +1 -1
- package/dist/lib/doctor/checks/claude-wiring.js +1 -70
- package/dist/lib/doctor/checks/codex-wiring.d.ts +4 -0
- package/dist/lib/doctor/checks/codex-wiring.js +35 -3
- package/dist/lib/doctor/checks/grok-wiring.js +34 -1
- package/dist/lib/doctor/checks/integrations.js +0 -11
- package/dist/lib/doctor/checks/runtime-health.d.ts +17 -4
- package/dist/lib/doctor/checks/runtime-health.js +7 -20
- package/dist/lib/doctor/checks/sync-health.d.ts +0 -21
- package/dist/lib/doctor/checks/sync-health.js +2 -72
- package/dist/lib/doctor/checks/work-context.js +6 -12
- package/dist/lib/doctor/compat.d.ts +16 -0
- package/dist/lib/doctor/compat.js +3 -4
- package/dist/lib/doctor/deep/effects.js +3 -1
- package/dist/lib/doctor/deep/executor.d.ts +10 -4
- package/dist/lib/doctor/deep/executor.js +1 -1
- package/dist/lib/doctor/deep/parity.d.ts +29 -2
- package/dist/lib/doctor/deep/parity.js +7 -7
- package/dist/lib/doctor/deep/sandbox.d.ts +25 -7
- package/dist/lib/doctor/deep/sandbox.js +7 -5
- package/dist/lib/doctor/fix/apply.d.ts +8 -79
- package/dist/lib/doctor/fix/apply.js +80 -292
- package/dist/lib/doctor/fix/remediation.d.ts +6 -14
- package/dist/lib/doctor/fix/remediation.js +9 -49
- package/dist/lib/doctor/fixtures/schema.js +3 -1
- package/dist/lib/doctor/json-output.d.ts +1 -17
- package/dist/lib/doctor/json-output.js +2 -7
- package/dist/lib/doctor/platform.d.ts +26 -0
- package/dist/lib/doctor/platform.js +5 -5
- package/dist/lib/doctor/registry.d.ts +0 -14
- package/dist/lib/doctor/registry.js +0 -71
- package/dist/lib/doctor/report.js +1 -1
- package/dist/lib/doctor/types.d.ts +0 -5
- package/dist/lib/doctor/types.js +0 -20
- package/dist/lib/flag-registry-worker.js +1 -12
- package/dist/lib/flag-registry.d.ts +6 -26
- package/dist/lib/flag-registry.js +16 -133
- package/dist/lib/index-render/companies.d.ts +1 -4
- package/dist/lib/index-render/companies.js +3 -66
- package/dist/lib/index-render/company-knowledge.js +17 -80
- package/dist/lib/index-render/index.d.ts +0 -1
- package/dist/lib/index-render/index.js +1 -2
- package/dist/lib/index-render/projects.js +5 -82
- package/dist/lib/index-render/shared.d.ts +1 -13
- package/dist/lib/index-render/shared.js +2 -41
- package/dist/lib/mesh/api.d.ts +10 -103
- package/dist/lib/mesh/api.js +64 -334
- package/dist/lib/mesh/client.d.ts +2 -3
- package/dist/lib/mesh/client.js +2 -3
- package/dist/lib/mesh/live/backfill-held.d.ts +16 -67
- package/dist/lib/mesh/live/backfill-held.js +61 -415
- package/dist/lib/mesh/live/backoff.d.ts +2 -2
- package/dist/lib/mesh/live/backoff.js +3 -16
- package/dist/lib/mesh/live/daemon/board-refresh.d.ts +1 -7
- package/dist/lib/mesh/live/daemon/board-refresh.js +30 -78
- package/dist/lib/mesh/live/daemon/credentials.d.ts +10 -64
- package/dist/lib/mesh/live/daemon/credentials.js +20 -270
- package/dist/lib/mesh/live/daemon/doctor.d.ts +0 -51
- package/dist/lib/mesh/live/daemon/doctor.js +6 -180
- package/dist/lib/mesh/live/daemon/index.d.ts +10 -13
- package/dist/lib/mesh/live/daemon/index.js +6 -7
- package/dist/lib/mesh/live/daemon/install.d.ts +1 -255
- package/dist/lib/mesh/live/daemon/install.js +13 -811
- package/dist/lib/mesh/live/daemon/paths.d.ts +0 -2
- package/dist/lib/mesh/live/daemon/paths.js +0 -2
- package/dist/lib/mesh/live/daemon/presence.d.ts +5 -24
- package/dist/lib/mesh/live/daemon/presence.js +10 -79
- package/dist/lib/mesh/live/daemon/run.d.ts +2 -48
- package/dist/lib/mesh/live/daemon/run.js +33 -485
- package/dist/lib/mesh/live/daemon/state.d.ts +2 -19
- package/dist/lib/mesh/live/daemon/state.js +2 -34
- package/dist/lib/mesh/live/daemon/transcript-watch.d.ts +9 -45
- package/dist/lib/mesh/live/daemon/transcript-watch.js +31 -227
- package/dist/lib/mesh/live/emit-client.d.ts +0 -8
- package/dist/lib/mesh/live/emit-client.js +8 -23
- package/dist/lib/mesh/live/emit-evidence.d.ts +0 -19
- package/dist/lib/mesh/live/emit-evidence.js +2 -20
- package/dist/lib/mesh/live/emit.d.ts +0 -9
- package/dist/lib/mesh/live/emit.js +2 -28
- package/dist/lib/mesh/live/enqueue.d.ts +0 -5
- package/dist/lib/mesh/live/enqueue.js +0 -19
- package/dist/lib/mesh/live/flush.d.ts +5 -17
- package/dist/lib/mesh/live/flush.js +38 -391
- package/dist/lib/mesh/live/format-spool-line.d.ts +2 -5
- package/dist/lib/mesh/live/format-spool-line.js +0 -10
- package/dist/lib/mesh/live/paths.d.ts +0 -2
- package/dist/lib/mesh/live/paths.js +0 -4
- package/dist/lib/mesh/live/session-event.schema.json +1 -24
- package/dist/lib/mesh/live/session-events-client.d.ts +0 -2
- package/dist/lib/mesh/live/session-events-client.js +0 -26
- package/dist/lib/mesh/live/spool.d.ts +0 -19
- package/dist/lib/mesh/live/spool.js +3 -269
- package/dist/lib/mesh/live/validate-session-event.d.ts +1 -1
- package/dist/lib/mesh/live/validate-session-event.js +1 -1
- package/dist/lib/plan-limit-nag.d.ts +6 -102
- package/dist/lib/plan-limit-nag.js +43 -348
- package/dist/lib/scan-packages/index.d.ts +0 -2
- package/dist/lib/scan-packages/index.js +6 -168
- package/dist/lib/search-index/background.d.ts +1 -8
- package/dist/lib/search-index/background.js +200 -55
- package/dist/lib/search-index/index.d.ts +0 -12
- package/dist/lib/search-index/index.js +7 -153
- package/dist/lib/work-context/company.d.ts +20 -22
- package/dist/lib/work-context/company.js +40 -124
- package/dist/lib/work-context/config.d.ts +11 -58
- package/dist/lib/work-context/config.js +83 -334
- package/dist/lib/work-context/contract.d.ts +0 -10
- package/dist/lib/work-context/index.d.ts +25 -0
- package/dist/lib/work-context/index.js +21 -0
- package/dist/lib/work-context/outbox.d.ts +1 -14
- package/dist/lib/work-context/outbox.js +1 -87
- package/dist/lib/work-context/reconcile.d.ts +0 -15
- package/dist/lib/work-context/reconcile.js +25 -380
- package/dist/lib/work-context/state.d.ts +10 -93
- package/dist/lib/work-context/state.js +29 -342
- package/dist/lib/workers-registry/index.js +8 -62
- package/dist/main.d.ts +0 -12
- package/dist/main.js +73 -266
- package/dist/node-network-compat.d.ts +30 -2
- package/dist/node-network-compat.js +51 -4
- package/dist/node-preflight.d.ts +1 -7
- package/dist/node-preflight.js +5 -5
- package/dist/register-all.d.ts +29 -4
- package/dist/register-all.js +233 -4
- package/dist/run/discover-schemas.d.ts +1 -2
- package/dist/run/env-graph-guard.d.ts +2 -2
- package/dist/run/env-graph-guard.js +2 -5
- package/dist/run/hq-plugin.d.ts +0 -4
- package/dist/run/hq-plugin.js +8 -36
- package/dist/sentry-before-send.js +0 -80
- package/dist/sentry.d.ts +2 -8
- package/dist/sentry.js +13 -117
- package/dist/startup-registration.d.ts +2 -26
- package/dist/startup-registration.js +15 -116
- package/dist/utils/cli-telemetry.d.ts +1 -74
- package/dist/utils/cli-telemetry.js +7 -434
- package/dist/utils/client-health.d.ts +4 -0
- package/dist/utils/client-health.js +2 -2
- package/dist/utils/cognito-session.d.ts +0 -71
- package/dist/utils/cognito-session.js +27 -481
- package/dist/utils/contribution-table.d.ts +1 -1
- package/dist/utils/environmental-error.d.ts +0 -18
- package/dist/utils/environmental-error.js +7 -240
- package/dist/utils/expected-cli-error.d.ts +0 -2
- package/dist/utils/expected-cli-error.js +0 -4
- package/dist/utils/feedback-diagnostics.d.ts +1 -2
- package/dist/utils/feedback-log-bundle.d.ts +26 -51
- package/dist/utils/feedback-log-bundle.js +31 -211
- package/dist/utils/feedback-logs.d.ts +47 -18
- package/dist/utils/feedback-logs.js +21 -50
- package/dist/utils/feedback-screenshots.d.ts +1 -0
- package/dist/utils/feedback-screenshots.js +1 -1
- package/dist/utils/hq-roots.d.ts +2 -25
- package/dist/utils/hq-roots.js +7 -67
- package/dist/utils/incomplete-install-error.d.ts +19 -87
- package/dist/utils/incomplete-install-error.js +68 -319
- package/dist/utils/install-tree-torn.d.ts +24 -260
- package/dist/utils/install-tree-torn.js +51 -998
- package/dist/utils/large-file-guard.d.ts +10 -0
- package/dist/utils/large-file-guard.js +1 -1
- package/dist/utils/local-files-overview.d.ts +8 -4
- package/dist/utils/local-files-overview.js +7 -48
- package/dist/utils/login-provider.d.ts +0 -7
- package/dist/utils/login-provider.js +0 -34
- package/dist/utils/pack-contributions.d.ts +9 -2
- package/dist/utils/pack-contributions.js +43 -6
- package/dist/utils/package-root-diagnostics.d.ts +1 -1
- package/dist/utils/people.d.ts +11 -7
- package/dist/utils/people.js +20 -5
- package/dist/utils/plan-gate-error.d.ts +10 -52
- package/dist/utils/plan-gate-error.js +41 -364
- package/dist/utils/qmd-model-download-error.d.ts +8 -0
- package/dist/utils/qmd-model-download-error.js +1 -1
- package/dist/utils/qmd-query-document-error.d.ts +6 -0
- package/dist/utils/qmd-query-document-error.js +1 -1
- package/dist/utils/redact-error-text.js +1 -2
- package/dist/utils/run-bundled-script.d.ts +0 -6
- package/dist/utils/run-bundled-script.js +4 -117
- package/dist/utils/secrets-cache.d.ts +3 -7
- package/dist/utils/secrets-cache.js +14 -162
- package/dist/utils/self-update.d.ts +1 -34
- package/dist/utils/self-update.js +42 -660
- package/dist/utils/sentry-fingerprint.d.ts +1 -23
- package/dist/utils/sentry-fingerprint.js +31 -223
- package/dist/utils/team-upgrade.d.ts +1 -1
- package/dist/utils/team-upgrade.js +3 -4
- package/dist/utils/vault-api.d.ts +1 -21
- package/dist/utils/vault-api.js +84 -251
- package/dist/utils/version-check.d.ts +1 -11
- package/dist/utils/version-check.js +3 -32
- package/dist/utils/version-gate.d.ts +17 -101
- package/dist/utils/version-gate.js +70 -645
- package/dist/utils/windows-spawn.d.ts +0 -6
- package/dist/utils/windows-spawn.js +0 -37
- package/package.json +8 -20
- package/README.md +0 -113
- package/assets/bot-workers/setup/context/USER-GUIDE.md +0 -404
- package/assets/bot-workers/setup/context/quick-reference.md +0 -199
- package/assets/bot-workers/setup/skills/agents-and-team.md +0 -167
- package/assets/bot-workers/setup/skills/explain-hq.md +0 -35
- package/assets/bot-workers/setup/skills/first-company.md +0 -74
- package/assets/bot-workers/setup/skills/joining-a-team.md +0 -125
- package/assets/bot-workers/setup/skills/pricing.md +0 -92
- package/assets/bot-workers/setup/skills/standing-help.md +0 -81
- package/assets/bot-workers/setup/skills/your-business.md +0 -281
- package/assets/bot-workers/setup/worker.yaml +0 -791
- package/assets/lanes-hooks/hq-lanes-drain.json +0 -15
- package/assets/lanes-hooks/hq-lanes-drain.mjs +0 -275
- package/assets/lanes-hooks/hq-lanes-drain.sh +0 -21
- package/assets/lanes-reconcile/hq-lanes-reconcile.service +0 -11
- package/assets/lanes-reconcile/hq-lanes-reconcile.timer +0 -12
- package/assets/scaffold/.claude/hooks/validate-policy-frontmatter.sh +0 -485
- package/assets/scaffold/core/scripts/audit-log.sh +0 -384
- package/assets/scaffold/core/scripts/clean-worktree-reconcile-handoff.sh +0 -171
- package/assets/scaffold/core/scripts/eval-trigger.sh +0 -193
- package/assets/scaffold/core/scripts/git-pack-extension-check.sh +0 -164
- package/assets/scaffold/core/scripts/handoff-finalize.sh +0 -688
- package/assets/scaffold/core/scripts/handoff-open-steps.sh +0 -81
- package/assets/scaffold/core/scripts/handoff-post.sh +0 -252
- package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +0 -307
- package/assets/scaffold/core/scripts/hq-delegate-grant.sh +0 -252
- package/assets/scaffold/core/scripts/hq-delegate-pickup.sh +0 -99
- package/assets/scaffold/core/scripts/hq-delegate-publish.sh +0 -91
- package/assets/scaffold/core/scripts/hq-delegate-repo.sh +0 -158
- package/assets/scaffold/core/scripts/hq-delegate-resolve.sh +0 -145
- package/assets/scaffold/core/scripts/hq-delegate-secrets.sh +0 -129
- package/assets/scaffold/core/scripts/hq-delegate-send.sh +0 -259
- package/assets/scaffold/core/scripts/hq-delegate-transfer.sh +0 -175
- package/assets/scaffold/core/scripts/hq-delegate-verify.sh +0 -238
- package/assets/scaffold/core/scripts/hq-dm-bind.sh +0 -585
- package/assets/scaffold/core/scripts/hq-job-notify.sh +0 -389
- package/assets/scaffold/core/scripts/hq-job-probe.sh +0 -835
- package/assets/scaffold/core/scripts/hq-job-remediate.sh +0 -359
- package/assets/scaffold/core/scripts/hq-job-run.sh +0 -1025
- package/assets/scaffold/core/scripts/hq-pin.sh +0 -118
- package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +0 -310
- package/assets/scaffold/core/scripts/jobs-validate.sh +0 -451
- package/assets/scaffold/core/scripts/knowledge-prefs.sh +0 -55
- package/assets/scaffold/core/scripts/lib/portable.sh +0 -211
- package/assets/scaffold/core/scripts/lib/secret-patterns.sh +0 -58
- package/assets/scaffold/core/scripts/ontology-audience-grant.sh +0 -81
- package/assets/scaffold/core/scripts/ontology-brief.mjs +0 -93
- package/assets/scaffold/core/scripts/ontology-candidate.sh +0 -100
- package/assets/scaffold/core/scripts/ontology-garden.mjs +0 -238
- package/assets/scaffold/core/scripts/ontology-source-worklist.sh +0 -79
- package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +0 -834
- package/assets/scaffold/core/scripts/policy-age-report.sh +0 -156
- package/assets/scaffold/core/scripts/policy-retire.sh +0 -199
- package/assets/scaffold/core/scripts/qmd-reindex-bg.sh +0 -40
- package/assets/scaffold/core/scripts/read-policy-frontmatter.sh +0 -32
- package/assets/scaffold/core/scripts/refresh-vault-access.sh +0 -188
- package/assets/scaffold/core/scripts/resolve-company.sh +0 -199
- package/assets/scaffold/core/scripts/resume-thread-lock.sh +0 -285
- package/assets/scaffold/core/scripts/source-yaml-validate.sh +0 -36
- package/assets/scaffold/core/scripts/verify-story-deliverables.sh +0 -148
- package/assets/scaffold/core/scripts/work-mesh-live-bind-trusted.sh +0 -152
- package/assets/scaffold/core/scripts/worktree-gc.sh +0 -362
- package/contracts/preflight/v1/fixtures.json +0 -87
- package/contracts/preflight/v1/schema.json +0 -58
- package/dist/command-catalog.generated.d.ts +0 -10655
- package/dist/command-catalog.generated.js +0 -13737
- package/dist/command-registration-plan.d.ts +0 -474
- package/dist/command-registration-plan.js +0 -136
- package/dist/commands/agent-enroll.d.ts +0 -146
- package/dist/commands/agent-enroll.js +0 -401
- package/dist/commands/agent-inbox.d.ts +0 -9
- package/dist/commands/agent-inbox.js +0 -102
- package/dist/commands/agent-kit.d.ts +0 -87
- package/dist/commands/agent-kit.js +0 -480
- package/dist/commands/agent-mcp.d.ts +0 -24
- package/dist/commands/agent-mcp.js +0 -127
- package/dist/commands/agent-probe.d.ts +0 -77
- package/dist/commands/agent-probe.js +0 -335
- package/dist/commands/agent.d.ts +0 -13
- package/dist/commands/agent.js +0 -40
- package/dist/commands/billing-sponsor.d.ts +0 -83
- package/dist/commands/billing-sponsor.js +0 -344
- package/dist/commands/bot-companies.d.ts +0 -40
- package/dist/commands/bot-companies.js +0 -64
- package/dist/commands/bot-continuity.d.ts +0 -28
- package/dist/commands/bot-continuity.js +0 -68
- package/dist/commands/bot-jobs.d.ts +0 -127
- package/dist/commands/bot-jobs.js +0 -454
- package/dist/commands/bot.d.ts +0 -278
- package/dist/commands/bot.js +0 -1982
- package/dist/commands/cloud-retire.d.ts +0 -51
- package/dist/commands/cloud-retire.js +0 -154
- package/dist/commands/core-audit-log-native.d.ts +0 -9
- package/dist/commands/core-audit-log-native.js +0 -257
- package/dist/commands/core-checkpoint-gate-setting.d.ts +0 -59
- package/dist/commands/core-checkpoint-gate-setting.js +0 -163
- package/dist/commands/core-checkpoint-stop-gate-native.d.ts +0 -34
- package/dist/commands/core-checkpoint-stop-gate-native.js +0 -725
- package/dist/commands/core-command-catalog.d.ts +0 -34
- package/dist/commands/core-command-catalog.js +0 -62
- package/dist/commands/core-company-index-scope-flag.d.ts +0 -3
- package/dist/commands/core-company-index-scope-flag.js +0 -6
- package/dist/commands/core-delegate-w1b.d.ts +0 -10
- package/dist/commands/core-delegate-w1b.js +0 -1219
- package/dist/commands/core-delegate.d.ts +0 -46
- package/dist/commands/core-delegate.js +0 -1040
- package/dist/commands/core-dm-bind-native.d.ts +0 -32
- package/dist/commands/core-dm-bind-native.js +0 -668
- package/dist/commands/core-git-pack-extension-check-native.d.ts +0 -22
- package/dist/commands/core-git-pack-extension-check-native.js +0 -190
- package/dist/commands/core-handoff-fast.d.ts +0 -18
- package/dist/commands/core-handoff-fast.js +0 -104
- package/dist/commands/core-handoff-open-steps.d.ts +0 -21
- package/dist/commands/core-handoff-open-steps.js +0 -264
- package/dist/commands/core-handoff.d.ts +0 -24
- package/dist/commands/core-handoff.js +0 -1144
- package/dist/commands/core-hq-session-native.d.ts +0 -39
- package/dist/commands/core-hq-session-native.js +0 -579
- package/dist/commands/core-job-native-utils.d.ts +0 -6
- package/dist/commands/core-job-native-utils.js +0 -80
- package/dist/commands/core-job-native.d.ts +0 -5
- package/dist/commands/core-job-native.js +0 -16
- package/dist/commands/core-job-notify-native.d.ts +0 -36
- package/dist/commands/core-job-notify-native.js +0 -359
- package/dist/commands/core-job-probe-native.d.ts +0 -45
- package/dist/commands/core-job-probe-native.js +0 -564
- package/dist/commands/core-job-remediate-native.d.ts +0 -26
- package/dist/commands/core-job-remediate-native.js +0 -374
- package/dist/commands/core-job-remote-launcher.d.ts +0 -7
- package/dist/commands/core-job-remote-launcher.js +0 -51
- package/dist/commands/core-job-run-native.d.ts +0 -47
- package/dist/commands/core-job-run-native.js +0 -1215
- package/dist/commands/core-jobs-native.d.ts +0 -25
- package/dist/commands/core-jobs-native.js +0 -1339
- package/dist/commands/core-knowledge-prefs.d.ts +0 -12
- package/dist/commands/core-knowledge-prefs.js +0 -137
- package/dist/commands/core-native-handoff-flag.d.ts +0 -4
- package/dist/commands/core-native-handoff-flag.js +0 -7
- package/dist/commands/core-native-jobs-flag.d.ts +0 -4
- package/dist/commands/core-native-jobs-flag.js +0 -7
- package/dist/commands/core-native-policy-flag.d.ts +0 -9
- package/dist/commands/core-native-policy-flag.js +0 -12
- package/dist/commands/core-native-session-flag.d.ts +0 -4
- package/dist/commands/core-native-session-flag.js +0 -7
- package/dist/commands/core-native-utilities-flag.d.ts +0 -4
- package/dist/commands/core-native-utilities-flag.js +0 -7
- package/dist/commands/core-native-utilities.d.ts +0 -29
- package/dist/commands/core-native-utilities.js +0 -54
- package/dist/commands/core-native-worker-skills-flag.d.ts +0 -4
- package/dist/commands/core-native-worker-skills-flag.js +0 -7
- package/dist/commands/core-ontology-native.d.ts +0 -17
- package/dist/commands/core-ontology-native.js +0 -916
- package/dist/commands/core-ontology.d.ts +0 -66
- package/dist/commands/core-ontology.js +0 -430
- package/dist/commands/core-pin-native.d.ts +0 -14
- package/dist/commands/core-pin-native.js +0 -236
- package/dist/commands/core-policy-frontmatter.d.ts +0 -8
- package/dist/commands/core-policy-frontmatter.js +0 -52
- package/dist/commands/core-policy.d.ts +0 -14
- package/dist/commands/core-policy.js +0 -1018
- package/dist/commands/core-refresh-vault-access-native.d.ts +0 -20
- package/dist/commands/core-refresh-vault-access-native.js +0 -229
- package/dist/commands/core-resolve-company-command.d.ts +0 -4
- package/dist/commands/core-resolve-company-command.js +0 -42
- package/dist/commands/core-resolve-company-native.d.ts +0 -28
- package/dist/commands/core-resolve-company-native.js +0 -408
- package/dist/commands/core-work-mesh-bind-trusted-native.d.ts +0 -32
- package/dist/commands/core-work-mesh-bind-trusted-native.js +0 -190
- package/dist/commands/core-worker-lint-native.d.ts +0 -4
- package/dist/commands/core-worker-lint-native.js +0 -160
- package/dist/commands/core-worker-share-native.d.ts +0 -5
- package/dist/commands/core-worker-share-native.js +0 -260
- package/dist/commands/core-worker-skills-command.d.ts +0 -8
- package/dist/commands/core-worker-skills-command.js +0 -33
- package/dist/commands/core-worker-skills-runtime.d.ts +0 -33
- package/dist/commands/core-worker-skills-runtime.js +0 -86
- package/dist/commands/daemon.d.ts +0 -63
- package/dist/commands/daemon.js +0 -877
- package/dist/commands/deploy-comments.d.ts +0 -3
- package/dist/commands/deploy-comments.js +0 -162
- package/dist/commands/lanes-accounts.d.ts +0 -28
- package/dist/commands/lanes-accounts.js +0 -595
- package/dist/commands/lanes-autopilot.d.ts +0 -11
- package/dist/commands/lanes-autopilot.js +0 -336
- package/dist/commands/lanes-checks.d.ts +0 -51
- package/dist/commands/lanes-checks.js +0 -941
- package/dist/commands/lanes-hold.d.ts +0 -43
- package/dist/commands/lanes-hold.js +0 -655
- package/dist/commands/lanes-kpis.d.ts +0 -11
- package/dist/commands/lanes-kpis.js +0 -34
- package/dist/commands/lanes-message.d.ts +0 -9
- package/dist/commands/lanes-message.js +0 -934
- package/dist/commands/lanes-move.d.ts +0 -12
- package/dist/commands/lanes-move.js +0 -397
- package/dist/commands/lanes-questions.d.ts +0 -36
- package/dist/commands/lanes-questions.js +0 -1004
- package/dist/commands/lanes-report.d.ts +0 -11
- package/dist/commands/lanes-report.js +0 -333
- package/dist/commands/lanes-resume.d.ts +0 -6
- package/dist/commands/lanes-resume.js +0 -561
- package/dist/commands/lanes-review.d.ts +0 -10
- package/dist/commands/lanes-review.js +0 -56
- package/dist/commands/lanes-shared.d.ts +0 -448
- package/dist/commands/lanes-shared.js +0 -170
- package/dist/commands/lanes-stories.d.ts +0 -15
- package/dist/commands/lanes-stories.js +0 -347
- package/dist/commands/lanes-watch.d.ts +0 -7
- package/dist/commands/lanes-watch.js +0 -216
- package/dist/commands/lanes.d.ts +0 -149
- package/dist/commands/lanes.js +0 -8843
- package/dist/commands/monitor.d.ts +0 -58
- package/dist/commands/monitor.js +0 -980
- package/dist/commands/onboard-bot-membership.d.ts +0 -32
- package/dist/commands/onboard-bot-membership.js +0 -40
- package/dist/commands/onboard-create-identity.d.ts +0 -26
- package/dist/commands/onboard-create-identity.js +0 -23
- package/dist/commands/outpost-pruner.d.ts +0 -3
- package/dist/commands/outpost-pruner.js +0 -125
- package/dist/commands/personal-connector-settings-flag.d.ts +0 -4
- package/dist/commands/personal-connector-settings-flag.js +0 -7
- package/dist/commands/personal-targeted-push-flag.d.ts +0 -4
- package/dist/commands/personal-targeted-push-flag.js +0 -7
- package/dist/commands/personal-targeted-push-paths.d.ts +0 -3
- package/dist/commands/personal-targeted-push-paths.js +0 -67
- package/dist/commands/report.d.ts +0 -19
- package/dist/commands/report.js +0 -537
- package/dist/commands/run-feature-telemetry.d.ts +0 -3
- package/dist/commands/run-feature-telemetry.js +0 -6
- package/dist/commands/staff/reset-test-account.d.ts +0 -110
- package/dist/commands/staff/reset-test-account.js +0 -268
- package/dist/commands/staff/test-account.d.ts +0 -51
- package/dist/commands/staff/test-account.js +0 -196
- package/dist/commands/vault-retention-flag.d.ts +0 -3
- package/dist/commands/vault-retention-flag.js +0 -9
- package/dist/commands/vault-retention.d.ts +0 -11
- package/dist/commands/vault-retention.js +0 -69
- package/dist/commands/version.d.ts +0 -10
- package/dist/commands/version.js +0 -11
- package/dist/fast-scaffold.d.ts +0 -84
- package/dist/fast-scaffold.js +0 -353
- package/dist/lanes-drain-hook.d.ts +0 -14
- package/dist/lanes-drain-hook.js +0 -203
- package/dist/lib/agent-kit/adopt-identity.d.ts +0 -27
- package/dist/lib/agent-kit/adopt-identity.js +0 -60
- package/dist/lib/agent-kit/attachment-download.d.ts +0 -24
- package/dist/lib/agent-kit/attachment-download.js +0 -47
- package/dist/lib/agent-kit/creds.d.ts +0 -106
- package/dist/lib/agent-kit/creds.js +0 -163
- package/dist/lib/agent-kit/fallback.d.ts +0 -78
- package/dist/lib/agent-kit/fallback.js +0 -210
- package/dist/lib/agent-kit/inbox-state.d.ts +0 -83
- package/dist/lib/agent-kit/inbox-state.js +0 -159
- package/dist/lib/agent-kit/kit-config.d.ts +0 -56
- package/dist/lib/agent-kit/kit-config.js +0 -65
- package/dist/lib/agent-kit/log.d.ts +0 -16
- package/dist/lib/agent-kit/log.js +0 -46
- package/dist/lib/agent-kit/mcp/attachments.d.ts +0 -126
- package/dist/lib/agent-kit/mcp/attachments.js +0 -222
- package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +0 -75
- package/dist/lib/agent-kit/mcp/jsonrpc.js +0 -164
- package/dist/lib/agent-kit/mcp/tools.d.ts +0 -64
- package/dist/lib/agent-kit/mcp/tools.js +0 -397
- package/dist/lib/agent-kit/paths.d.ts +0 -65
- package/dist/lib/agent-kit/paths.js +0 -118
- package/dist/lib/agent-kit/private-file.d.ts +0 -29
- package/dist/lib/agent-kit/private-file.js +0 -91
- package/dist/lib/agent-kit/run/heartbeat.d.ts +0 -72
- package/dist/lib/agent-kit/run/heartbeat.js +0 -128
- package/dist/lib/agent-kit/run/inbox.d.ts +0 -76
- package/dist/lib/agent-kit/run/inbox.js +0 -205
- package/dist/lib/agent-kit/run/supervisor.d.ts +0 -35
- package/dist/lib/agent-kit/run/supervisor.js +0 -85
- package/dist/lib/agent-kit/run/sync.d.ts +0 -33
- package/dist/lib/agent-kit/run/sync.js +0 -58
- package/dist/lib/agent-kit/services.d.ts +0 -31
- package/dist/lib/agent-kit/services.js +0 -55
- package/dist/lib/agent-kit/skills.d.ts +0 -18
- package/dist/lib/agent-kit/skills.js +0 -151
- package/dist/lib/agent-kit/wake.d.ts +0 -83
- package/dist/lib/agent-kit/wake.js +0 -243
- package/dist/lib/agents/model-catalog.d.ts +0 -62
- package/dist/lib/agents/model-catalog.js +0 -275
- package/dist/lib/auth-login-provider-state.d.ts +0 -8
- package/dist/lib/auth-login-provider-state.js +0 -63
- package/dist/lib/aws-sdk-node-warning-output.d.ts +0 -12
- package/dist/lib/aws-sdk-node-warning-output.js +0 -22
- package/dist/lib/billing/free-month.d.ts +0 -18
- package/dist/lib/billing/free-month.js +0 -31
- package/dist/lib/billing/plan-limit-refusals.d.ts +0 -69
- package/dist/lib/billing/plan-limit-refusals.js +0 -187
- package/dist/lib/billing/plan-limit-upgrade-url.d.ts +0 -11
- package/dist/lib/billing/plan-limit-upgrade-url.js +0 -66
- package/dist/lib/billing/plan-lock.d.ts +0 -143
- package/dist/lib/billing/plan-lock.js +0 -439
- package/dist/lib/bot/api.d.ts +0 -349
- package/dist/lib/bot/api.js +0 -316
- package/dist/lib/bot/attachments.d.ts +0 -45
- package/dist/lib/bot/attachments.js +0 -89
- package/dist/lib/bot/cli-update.d.ts +0 -138
- package/dist/lib/bot/cli-update.js +0 -278
- package/dist/lib/bot/company-bind.d.ts +0 -27
- package/dist/lib/bot/company-bind.js +0 -62
- package/dist/lib/bot/config.d.ts +0 -153
- package/dist/lib/bot/config.js +0 -233
- package/dist/lib/bot/continuity-download.d.ts +0 -28
- package/dist/lib/bot/continuity-download.js +0 -75
- package/dist/lib/bot/continuity-install.d.ts +0 -14
- package/dist/lib/bot/continuity-install.js +0 -101
- package/dist/lib/bot/continuity.d.ts +0 -67
- package/dist/lib/bot/continuity.js +0 -301
- package/dist/lib/bot/creds.d.ts +0 -24
- package/dist/lib/bot/creds.js +0 -51
- package/dist/lib/bot/daemon.d.ts +0 -173
- package/dist/lib/bot/daemon.js +0 -552
- package/dist/lib/bot/inbox-poll-backoff-flag.d.ts +0 -24
- package/dist/lib/bot/inbox-poll-backoff-flag.js +0 -135
- package/dist/lib/bot/inbox-state.d.ts +0 -18
- package/dist/lib/bot/inbox-state.js +0 -51
- package/dist/lib/bot/index.d.ts +0 -23
- package/dist/lib/bot/index.js +0 -23
- package/dist/lib/bot/inflight.d.ts +0 -119
- package/dist/lib/bot/inflight.js +0 -83
- package/dist/lib/bot/job-completions.d.ts +0 -89
- package/dist/lib/bot/job-completions.js +0 -132
- package/dist/lib/bot/job-run.d.ts +0 -109
- package/dist/lib/bot/job-run.js +0 -246
- package/dist/lib/bot/local-config.d.ts +0 -61
- package/dist/lib/bot/local-config.js +0 -145
- package/dist/lib/bot/local-jobs.d.ts +0 -89
- package/dist/lib/bot/local-jobs.js +0 -459
- package/dist/lib/bot/local-name.d.ts +0 -54
- package/dist/lib/bot/local-name.js +0 -114
- package/dist/lib/bot/log.d.ts +0 -13
- package/dist/lib/bot/log.js +0 -59
- package/dist/lib/bot/owner-context.d.ts +0 -79
- package/dist/lib/bot/owner-context.js +0 -175
- package/dist/lib/bot/paths.d.ts +0 -76
- package/dist/lib/bot/paths.js +0 -131
- package/dist/lib/bot/progress.d.ts +0 -132
- package/dist/lib/bot/progress.js +0 -289
- package/dist/lib/bot/promote.d.ts +0 -16
- package/dist/lib/bot/promote.js +0 -106
- package/dist/lib/bot/promotion-hold.d.ts +0 -24
- package/dist/lib/bot/promotion-hold.js +0 -103
- package/dist/lib/bot/promotion-receipt.d.ts +0 -9
- package/dist/lib/bot/promotion-receipt.js +0 -56
- package/dist/lib/bot/promotion-upload.d.ts +0 -16
- package/dist/lib/bot/promotion-upload.js +0 -80
- package/dist/lib/bot/prompt.d.ts +0 -136
- package/dist/lib/bot/prompt.js +0 -433
- package/dist/lib/bot/room-policy.d.ts +0 -63
- package/dist/lib/bot/room-policy.js +0 -91
- package/dist/lib/bot/run.d.ts +0 -217
- package/dist/lib/bot/run.js +0 -1869
- package/dist/lib/bot/runnable.d.ts +0 -51
- package/dist/lib/bot/runnable.js +0 -65
- package/dist/lib/bot/runtime/claude.d.ts +0 -50
- package/dist/lib/bot/runtime/claude.js +0 -170
- package/dist/lib/bot/runtime/codex.d.ts +0 -28
- package/dist/lib/bot/runtime/codex.js +0 -153
- package/dist/lib/bot/runtime/grok-acp.d.ts +0 -40
- package/dist/lib/bot/runtime/grok-acp.js +0 -265
- package/dist/lib/bot/runtime/grok.d.ts +0 -41
- package/dist/lib/bot/runtime/grok.js +0 -169
- package/dist/lib/bot/runtime/index.d.ts +0 -36
- package/dist/lib/bot/runtime/index.js +0 -417
- package/dist/lib/bot/runtime/messages-stream.d.ts +0 -56
- package/dist/lib/bot/runtime/messages-stream.js +0 -194
- package/dist/lib/bot/runtime/sanitize.d.ts +0 -18
- package/dist/lib/bot/runtime/sanitize.js +0 -28
- package/dist/lib/bot/runtime/types.d.ts +0 -159
- package/dist/lib/bot/runtime/types.js +0 -51
- package/dist/lib/bot/runtime/windows.d.ts +0 -10
- package/dist/lib/bot/runtime/windows.js +0 -53
- package/dist/lib/bot/runtime-sign-in.d.ts +0 -24
- package/dist/lib/bot/runtime-sign-in.js +0 -31
- package/dist/lib/bot/scaffold.d.ts +0 -38
- package/dist/lib/bot/scaffold.js +0 -94
- package/dist/lib/bot/self-heal.d.ts +0 -52
- package/dist/lib/bot/self-heal.js +0 -79
- package/dist/lib/bot/self-process.d.ts +0 -19
- package/dist/lib/bot/self-process.js +0 -35
- package/dist/lib/bot/session.d.ts +0 -19
- package/dist/lib/bot/session.js +0 -39
- package/dist/lib/bot/setup-explain.d.ts +0 -64
- package/dist/lib/bot/setup-explain.js +0 -141
- package/dist/lib/bot/split.d.ts +0 -32
- package/dist/lib/bot/split.js +0 -241
- package/dist/lib/bot/status.d.ts +0 -57
- package/dist/lib/bot/status.js +0 -66
- package/dist/lib/bot/worker-source.d.ts +0 -66
- package/dist/lib/bot/worker-source.js +0 -283
- package/dist/lib/checkpoint-ontology/aliases.d.ts +0 -17
- package/dist/lib/checkpoint-ontology/aliases.js +0 -44
- package/dist/lib/checkpoint-ontology/apply.d.ts +0 -110
- package/dist/lib/checkpoint-ontology/apply.js +0 -777
- package/dist/lib/checkpoint-ontology/company-brief.d.ts +0 -18
- package/dist/lib/checkpoint-ontology/company-brief.js +0 -337
- package/dist/lib/checkpoint-ontology/company.d.ts +0 -44
- package/dist/lib/checkpoint-ontology/company.js +0 -118
- package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +0 -41
- package/dist/lib/checkpoint-ontology/drop-aliases.js +0 -76
- package/dist/lib/checkpoint-ontology/entity-file.d.ts +0 -109
- package/dist/lib/checkpoint-ontology/entity-file.js +0 -371
- package/dist/lib/checkpoint-ontology/identity.d.ts +0 -38
- package/dist/lib/checkpoint-ontology/identity.js +0 -95
- package/dist/lib/checkpoint-ontology/merge-copies.d.ts +0 -199
- package/dist/lib/checkpoint-ontology/merge-copies.js +0 -1086
- package/dist/lib/checkpoint-ontology/multi-writer.d.ts +0 -101
- package/dist/lib/checkpoint-ontology/multi-writer.js +0 -394
- package/dist/lib/checkpoint-ontology/plan.d.ts +0 -193
- package/dist/lib/checkpoint-ontology/plan.js +0 -504
- package/dist/lib/checkpoint-ontology/queued-touches.d.ts +0 -29
- package/dist/lib/checkpoint-ontology/queued-touches.js +0 -193
- package/dist/lib/checkpoint-ontology/sync-client.d.ts +0 -38
- package/dist/lib/checkpoint-ontology/sync-client.js +0 -84
- package/dist/lib/checkpoint-ontology/tree.d.ts +0 -55
- package/dist/lib/checkpoint-ontology/tree.js +0 -198
- package/dist/lib/company-errors-sdk-warning-flag.d.ts +0 -5
- package/dist/lib/company-errors-sdk-warning-flag.js +0 -8
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.d.ts +0 -20
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.js +0 -81
- package/dist/lib/core-utils/jq-json-serializer.d.ts +0 -5
- package/dist/lib/core-utils/jq-json-serializer.js +0 -10
- package/dist/lib/core-utils/secret-patterns.d.ts +0 -43
- package/dist/lib/core-utils/secret-patterns.js +0 -34
- package/dist/lib/core-utils/sentry-report.d.ts +0 -114
- package/dist/lib/core-utils/sentry-report.js +0 -1034
- package/dist/lib/core-utils/timeout-guard-native.d.ts +0 -7
- package/dist/lib/core-utils/timeout-guard-native.js +0 -40
- package/dist/lib/core-utils/worktree-resume.d.ts +0 -20
- package/dist/lib/core-utils/worktree-resume.js +0 -1198
- package/dist/lib/daemon/catalog.d.ts +0 -134
- package/dist/lib/daemon/catalog.js +0 -358
- package/dist/lib/daemon/config.d.ts +0 -35
- package/dist/lib/daemon/config.js +0 -108
- package/dist/lib/daemon/flag.d.ts +0 -25
- package/dist/lib/daemon/flag.js +0 -59
- package/dist/lib/daemon/handoff.d.ts +0 -56
- package/dist/lib/daemon/handoff.js +0 -161
- package/dist/lib/daemon/hq-cloud.d.ts +0 -79
- package/dist/lib/daemon/hq-cloud.js +0 -183
- package/dist/lib/daemon/install.d.ts +0 -85
- package/dist/lib/daemon/install.js +0 -320
- package/dist/lib/daemon/legacy-sync-env.d.ts +0 -10
- package/dist/lib/daemon/legacy-sync-env.js +0 -58
- package/dist/lib/daemon/legacy.d.ts +0 -45
- package/dist/lib/daemon/legacy.js +0 -133
- package/dist/lib/daemon/lock.d.ts +0 -47
- package/dist/lib/daemon/lock.js +0 -138
- package/dist/lib/daemon/machine-type.d.ts +0 -50
- package/dist/lib/daemon/machine-type.js +0 -159
- package/dist/lib/daemon/migrate.d.ts +0 -77
- package/dist/lib/daemon/migrate.js +0 -265
- package/dist/lib/daemon/paths.d.ts +0 -24
- package/dist/lib/daemon/paths.js +0 -43
- package/dist/lib/daemon/protocol-tail.d.ts +0 -33
- package/dist/lib/daemon/protocol-tail.js +0 -131
- package/dist/lib/daemon/remote-control.d.ts +0 -74
- package/dist/lib/daemon/remote-control.js +0 -153
- package/dist/lib/daemon/requests.d.ts +0 -28
- package/dist/lib/daemon/requests.js +0 -65
- package/dist/lib/daemon/run.d.ts +0 -79
- package/dist/lib/daemon/run.js +0 -755
- package/dist/lib/daemon/succession.d.ts +0 -118
- package/dist/lib/daemon/succession.js +0 -263
- package/dist/lib/daemon/supervisor.d.ts +0 -132
- package/dist/lib/daemon/supervisor.js +0 -836
- package/dist/lib/daemon/sync-runner.d.ts +0 -58
- package/dist/lib/daemon/sync-runner.js +0 -277
- package/dist/lib/daemon/tools.d.ts +0 -52
- package/dist/lib/daemon/tools.js +0 -95
- package/dist/lib/daemon/updater.d.ts +0 -57
- package/dist/lib/daemon/updater.js +0 -163
- package/dist/lib/deploy-api.d.ts +0 -5
- package/dist/lib/deploy-api.js +0 -21
- package/dist/lib/deploy-apps.d.ts +0 -13
- package/dist/lib/deploy-apps.js +0 -29
- package/dist/lib/doctor/__testing__/run-doctor.d.ts +0 -8
- package/dist/lib/doctor/__testing__/run-doctor.js +0 -52
- package/dist/lib/doctor/checks/bots.d.ts +0 -13
- package/dist/lib/doctor/checks/bots.js +0 -189
- package/dist/lib/doctor/checks/scaffold-cli-floor.d.ts +0 -6
- package/dist/lib/doctor/checks/scaffold-cli-floor.js +0 -73
- package/dist/lib/doctor/checks/sync-runtime.d.ts +0 -11
- package/dist/lib/doctor/checks/sync-runtime.js +0 -216
- package/dist/lib/doctor/client-health-flag-token.d.ts +0 -15
- package/dist/lib/doctor/client-health-flag-token.js +0 -66
- package/dist/lib/doctor/client-health-reason-codes-flag.d.ts +0 -27
- package/dist/lib/doctor/client-health-reason-codes-flag.js +0 -106
- package/dist/lib/doctor/fix/json-output.d.ts +0 -28
- package/dist/lib/doctor/fix/json-output.js +0 -33
- package/dist/lib/doctor/fix/refresh-sync-outcome.d.ts +0 -12
- package/dist/lib/doctor/fix/refresh-sync-outcome.js +0 -25
- package/dist/lib/doctor/shared.d.ts +0 -8
- package/dist/lib/doctor/shared.js +0 -38
- package/dist/lib/doctor/stray-gate-entries.d.ts +0 -35
- package/dist/lib/doctor/stray-gate-entries.js +0 -83
- package/dist/lib/first-sync-next-step.d.ts +0 -37
- package/dist/lib/first-sync-next-step.js +0 -189
- package/dist/lib/flag-registry-endpoint.d.ts +0 -5
- package/dist/lib/flag-registry-endpoint.js +0 -9
- package/dist/lib/flag-registry-worker-source.generated.d.ts +0 -2
- package/dist/lib/flag-registry-worker-source.generated.js +0 -3
- package/dist/lib/flag-snapshot-file.d.ts +0 -20
- package/dist/lib/flag-snapshot-file.js +0 -91
- package/dist/lib/heartbeat-identity.d.ts +0 -30
- package/dist/lib/heartbeat-identity.js +0 -76
- package/dist/lib/lanes/account-home.d.ts +0 -8
- package/dist/lib/lanes/account-home.js +0 -10
- package/dist/lib/lanes/accounts.d.ts +0 -117
- package/dist/lib/lanes/accounts.js +0 -366
- package/dist/lib/lanes/admission-host.d.ts +0 -22
- package/dist/lib/lanes/admission-host.js +0 -37
- package/dist/lib/lanes/admission.d.ts +0 -26
- package/dist/lib/lanes/admission.js +0 -210
- package/dist/lib/lanes/approval-gate.d.ts +0 -8
- package/dist/lib/lanes/approval-gate.js +0 -90
- package/dist/lib/lanes/autopilot-metrics.d.ts +0 -99
- package/dist/lib/lanes/autopilot-metrics.js +0 -301
- package/dist/lib/lanes/autopilot-registry.d.ts +0 -62
- package/dist/lib/lanes/autopilot-registry.js +0 -192
- package/dist/lib/lanes/autopilot.d.ts +0 -120
- package/dist/lib/lanes/autopilot.js +0 -1061
- package/dist/lib/lanes/blocker-freshness.d.ts +0 -31
- package/dist/lib/lanes/blocker-freshness.js +0 -168
- package/dist/lib/lanes/checked-company-path.d.ts +0 -3
- package/dist/lib/lanes/checked-company-path.js +0 -39
- package/dist/lib/lanes/claude-balance.d.ts +0 -97
- package/dist/lib/lanes/claude-balance.js +0 -319
- package/dist/lib/lanes/compaction.d.ts +0 -110
- package/dist/lib/lanes/compaction.js +0 -293
- package/dist/lib/lanes/config.d.ts +0 -91
- package/dist/lib/lanes/config.js +0 -592
- package/dist/lib/lanes/constants.d.ts +0 -3
- package/dist/lib/lanes/constants.js +0 -3
- package/dist/lib/lanes/delivery-core.d.ts +0 -15
- package/dist/lib/lanes/delivery-core.js +0 -21
- package/dist/lib/lanes/delivery.d.ts +0 -180
- package/dist/lib/lanes/delivery.js +0 -443
- package/dist/lib/lanes/dropbox.d.ts +0 -129
- package/dist/lib/lanes/dropbox.js +0 -601
- package/dist/lib/lanes/effort.d.ts +0 -51
- package/dist/lib/lanes/effort.js +0 -113
- package/dist/lib/lanes/envelope-repair-dispatch.d.ts +0 -26
- package/dist/lib/lanes/envelope-repair-dispatch.js +0 -74
- package/dist/lib/lanes/errors.d.ts +0 -39
- package/dist/lib/lanes/errors.js +0 -72
- package/dist/lib/lanes/flag-keys.d.ts +0 -13
- package/dist/lib/lanes/flag-keys.js +0 -13
- package/dist/lib/lanes/grants.d.ts +0 -29
- package/dist/lib/lanes/grants.js +0 -166
- package/dist/lib/lanes/hire-grant-dispatch.d.ts +0 -29
- package/dist/lib/lanes/hire-grant-dispatch.js +0 -316
- package/dist/lib/lanes/hooks-install.d.ts +0 -82
- package/dist/lib/lanes/hooks-install.js +0 -479
- package/dist/lib/lanes/host-capacity.d.ts +0 -69
- package/dist/lib/lanes/host-capacity.js +0 -254
- package/dist/lib/lanes/hq-root.d.ts +0 -19
- package/dist/lib/lanes/hq-root.js +0 -28
- package/dist/lib/lanes/index.d.ts +0 -76
- package/dist/lib/lanes/index.js +0 -42
- package/dist/lib/lanes/keep-alive.d.ts +0 -68
- package/dist/lib/lanes/keep-alive.js +0 -343
- package/dist/lib/lanes/kr-freshness.d.ts +0 -76
- package/dist/lib/lanes/kr-freshness.js +0 -413
- package/dist/lib/lanes/lane-company.d.ts +0 -10
- package/dist/lib/lanes/lane-company.js +0 -41
- package/dist/lib/lanes/liveness.d.ts +0 -108
- package/dist/lib/lanes/liveness.js +0 -396
- package/dist/lib/lanes/machine-identity.d.ts +0 -34
- package/dist/lib/lanes/machine-identity.js +0 -92
- package/dist/lib/lanes/manager-status-gate.d.ts +0 -17
- package/dist/lib/lanes/manager-status-gate.js +0 -133
- package/dist/lib/lanes/merge-command.d.ts +0 -15
- package/dist/lib/lanes/merge-command.js +0 -629
- package/dist/lib/lanes/mesh-events.d.ts +0 -127
- package/dist/lib/lanes/mesh-events.js +0 -564
- package/dist/lib/lanes/message-replay.d.ts +0 -21
- package/dist/lib/lanes/message-replay.js +0 -122
- package/dist/lib/lanes/models.d.ts +0 -86
- package/dist/lib/lanes/models.js +0 -234
- package/dist/lib/lanes/monitor.d.ts +0 -48
- package/dist/lib/lanes/monitor.js +0 -428
- package/dist/lib/lanes/move-account.d.ts +0 -56
- package/dist/lib/lanes/move-account.js +0 -193
- package/dist/lib/lanes/orphans.d.ts +0 -25
- package/dist/lib/lanes/orphans.js +0 -102
- package/dist/lib/lanes/outpost-dispatch.d.ts +0 -147
- package/dist/lib/lanes/outpost-dispatch.js +0 -271
- package/dist/lib/lanes/outpost-hire-cache.d.ts +0 -22
- package/dist/lib/lanes/outpost-hire-cache.js +0 -153
- package/dist/lib/lanes/outpost-identity.d.ts +0 -33
- package/dist/lib/lanes/outpost-identity.js +0 -59
- package/dist/lib/lanes/outpost-profile-repin.d.ts +0 -17
- package/dist/lib/lanes/outpost-profile-repin.js +0 -84
- package/dist/lib/lanes/outpost-pruner-install.d.ts +0 -37
- package/dist/lib/lanes/outpost-pruner-install.js +0 -238
- package/dist/lib/lanes/outpost-registry-worker-approval.d.ts +0 -18
- package/dist/lib/lanes/outpost-registry-worker-approval.js +0 -109
- package/dist/lib/lanes/outpost-snapshot-memo.d.ts +0 -6
- package/dist/lib/lanes/outpost-snapshot-memo.js +0 -14
- package/dist/lib/lanes/outpost-worktree-pruner-flag.d.ts +0 -19
- package/dist/lib/lanes/outpost-worktree-pruner-flag.js +0 -86
- package/dist/lib/lanes/outpost-worktree-pruner.d.ts +0 -62
- package/dist/lib/lanes/outpost-worktree-pruner.js +0 -1201
- package/dist/lib/lanes/profile.d.ts +0 -69
- package/dist/lib/lanes/profile.js +0 -552
- package/dist/lib/lanes/provider-rejection.d.ts +0 -86
- package/dist/lib/lanes/provider-rejection.js +0 -286
- package/dist/lib/lanes/questions.d.ts +0 -90
- package/dist/lib/lanes/questions.js +0 -384
- package/dist/lib/lanes/quota.d.ts +0 -134
- package/dist/lib/lanes/quota.js +0 -471
- package/dist/lib/lanes/reconcile-install.d.ts +0 -90
- package/dist/lib/lanes/reconcile-install.js +0 -257
- package/dist/lib/lanes/reconcile.d.ts +0 -155
- package/dist/lib/lanes/reconcile.js +0 -3193
- package/dist/lib/lanes/registry-flag.d.ts +0 -29
- package/dist/lib/lanes/registry-flag.js +0 -139
- package/dist/lib/lanes/registry-persona.d.ts +0 -20
- package/dist/lib/lanes/registry-persona.js +0 -329
- package/dist/lib/lanes/registry.d.ts +0 -122
- package/dist/lib/lanes/registry.js +0 -570
- package/dist/lib/lanes/reviews.d.ts +0 -38
- package/dist/lib/lanes/reviews.js +0 -395
- package/dist/lib/lanes/runaway-tool-guard.d.ts +0 -38
- package/dist/lib/lanes/runaway-tool-guard.js +0 -284
- package/dist/lib/lanes/session-relink.d.ts +0 -25
- package/dist/lib/lanes/session-relink.js +0 -216
- package/dist/lib/lanes/spawn.d.ts +0 -350
- package/dist/lib/lanes/spawn.js +0 -2643
- package/dist/lib/lanes/ssm-command-context.d.ts +0 -12
- package/dist/lib/lanes/ssm-command-context.js +0 -52
- package/dist/lib/lanes/store.d.ts +0 -91
- package/dist/lib/lanes/store.js +0 -1811
- package/dist/lib/lanes/stories.d.ts +0 -23
- package/dist/lib/lanes/stories.js +0 -92
- package/dist/lib/lanes/story-ledger.d.ts +0 -80
- package/dist/lib/lanes/story-ledger.js +0 -815
- package/dist/lib/lanes/story-switch.d.ts +0 -21
- package/dist/lib/lanes/story-switch.js +0 -75
- package/dist/lib/lanes/text-scan.d.ts +0 -11
- package/dist/lib/lanes/text-scan.js +0 -103
- package/dist/lib/lanes/throttle.d.ts +0 -116
- package/dist/lib/lanes/throttle.js +0 -437
- package/dist/lib/lanes/timestamp.d.ts +0 -3
- package/dist/lib/lanes/timestamp.js +0 -26
- package/dist/lib/lanes/tracker-checks.d.ts +0 -77
- package/dist/lib/lanes/tracker-checks.js +0 -134
- package/dist/lib/lanes/tracker-report-state.d.ts +0 -10
- package/dist/lib/lanes/tracker-report-state.js +0 -124
- package/dist/lib/lanes/tracker-report.d.ts +0 -203
- package/dist/lib/lanes/tracker-report.js +0 -522
- package/dist/lib/lanes/tracker-store.d.ts +0 -18
- package/dist/lib/lanes/tracker-store.js +0 -106
- package/dist/lib/lanes/types.d.ts +0 -1020
- package/dist/lib/lanes/types.js +0 -417
- package/dist/lib/lanes/wait.d.ts +0 -39
- package/dist/lib/lanes/wait.js +0 -159
- package/dist/lib/lanes/watch.d.ts +0 -39
- package/dist/lib/lanes/watch.js +0 -249
- package/dist/lib/lanes/watcher-main.d.ts +0 -11
- package/dist/lib/lanes/watcher-main.js +0 -108
- package/dist/lib/lanes/watcher.d.ts +0 -287
- package/dist/lib/lanes/watcher.js +0 -1972
- package/dist/lib/mesh/live/daemon/config.d.ts +0 -36
- package/dist/lib/mesh/live/daemon/config.js +0 -120
- package/dist/lib/mesh/live/daemon/legacy-listen.d.ts +0 -43
- package/dist/lib/mesh/live/daemon/legacy-listen.js +0 -89
- package/dist/lib/mesh/live/daemon/live-cache.d.ts +0 -26
- package/dist/lib/mesh/live/daemon/live-cache.js +0 -116
- package/dist/lib/mesh/live/daemon/mqtt-events.d.ts +0 -7
- package/dist/lib/mesh/live/daemon/mqtt-events.js +0 -2
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.d.ts +0 -2
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.js +0 -10
- package/dist/lib/mesh/live/daemon/version-drift.d.ts +0 -5
- package/dist/lib/mesh/live/daemon/version-drift.js +0 -47
- package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +0 -32
- package/dist/lib/mesh/live/daemon/work-subscribe.js +0 -262
- package/dist/lib/mesh/live/report-summary.d.ts +0 -45
- package/dist/lib/mesh/live/report-summary.js +0 -234
- package/dist/lib/mesh/live/session-seq.d.ts +0 -4
- package/dist/lib/mesh/live/session-seq.js +0 -33
- package/dist/lib/mesh/project-board.d.ts +0 -65
- package/dist/lib/mesh/project-board.js +0 -181
- package/dist/lib/mesh/story-status.d.ts +0 -22
- package/dist/lib/mesh/story-status.js +0 -49
- package/dist/lib/monitor.d.ts +0 -149
- package/dist/lib/monitor.js +0 -519
- package/dist/lib/node-binary.d.ts +0 -50
- package/dist/lib/node-binary.js +0 -133
- package/dist/lib/notify-recipient.d.ts +0 -7
- package/dist/lib/notify-recipient.js +0 -11
- package/dist/lib/onboarding/checkpoint.d.ts +0 -13
- package/dist/lib/onboarding/checkpoint.js +0 -44
- package/dist/lib/onboarding/cli/onboard.d.ts +0 -53
- package/dist/lib/onboarding/cli/onboard.js +0 -135
- package/dist/lib/onboarding/cli/prompts.d.ts +0 -28
- package/dist/lib/onboarding/cli/prompts.js +0 -83
- package/dist/lib/onboarding/errors.d.ts +0 -34
- package/dist/lib/onboarding/errors.js +0 -59
- package/dist/lib/onboarding/index.d.ts +0 -13
- package/dist/lib/onboarding/index.js +0 -13
- package/dist/lib/onboarding/orchestrator.d.ts +0 -47
- package/dist/lib/onboarding/orchestrator.js +0 -569
- package/dist/lib/onboarding/types.d.ts +0 -79
- package/dist/lib/onboarding/types.js +0 -8
- package/dist/lib/policy-validator.d.ts +0 -7
- package/dist/lib/policy-validator.js +0 -187
- package/dist/lib/process-flag-company-context.d.ts +0 -8
- package/dist/lib/process-flag-company-context.js +0 -67
- package/dist/lib/report-publish.d.ts +0 -175
- package/dist/lib/report-publish.js +0 -421
- package/dist/lib/report-run.d.ts +0 -62
- package/dist/lib/report-run.js +0 -123
- package/dist/lib/report-snapshot.d.ts +0 -12
- package/dist/lib/report-snapshot.js +0 -135
- package/dist/lib/report-templates.d.ts +0 -9
- package/dist/lib/report-templates.js +0 -21
- package/dist/lib/scaffold-cli-floor.d.ts +0 -8
- package/dist/lib/scaffold-cli-floor.js +0 -50
- package/dist/lib/search-index/collection-path-repair-flag.d.ts +0 -4
- package/dist/lib/search-index/collection-path-repair-flag.js +0 -7
- package/dist/lib/search-index/embed-lock.d.ts +0 -32
- package/dist/lib/search-index/embed-lock.js +0 -286
- package/dist/lib/search-index/load-gate.d.ts +0 -57
- package/dist/lib/search-index/load-gate.js +0 -270
- package/dist/lib/search-index/max-doc-bytes.d.ts +0 -219
- package/dist/lib/search-index/max-doc-bytes.js +0 -463
- package/dist/lib/search-index/qmd-exit-diagnostics.d.ts +0 -5
- package/dist/lib/search-index/qmd-exit-diagnostics.js +0 -40
- package/dist/lib/search-index/reindex-single-flight-flag.d.ts +0 -5
- package/dist/lib/search-index/reindex-single-flight-flag.js +0 -8
- package/dist/lib/service-manager/index.d.ts +0 -42
- package/dist/lib/service-manager/index.js +0 -105
- package/dist/lib/service-manager/launchd.d.ts +0 -81
- package/dist/lib/service-manager/launchd.js +0 -212
- package/dist/lib/service-manager/systemd.d.ts +0 -19
- package/dist/lib/service-manager/systemd.js +0 -72
- package/dist/lib/service-manager/types.d.ts +0 -34
- package/dist/lib/service-manager/types.js +0 -26
- package/dist/lib/test-utils/isolated-flag-company-context.d.ts +0 -3
- package/dist/lib/test-utils/isolated-flag-company-context.js +0 -18
- package/dist/lib/work-context/bind-best.d.ts +0 -66
- package/dist/lib/work-context/bind-best.js +0 -344
- package/dist/lib/work-context/bind-calling-session.d.ts +0 -26
- package/dist/lib/work-context/bind-calling-session.js +0 -63
- package/dist/lib/work-context/company-rebind.d.ts +0 -23
- package/dist/lib/work-context/company-rebind.js +0 -59
- package/dist/lib/work-context/default-company.d.ts +0 -43
- package/dist/lib/work-context/default-company.js +0 -83
- package/dist/lib/work-context/outbox-quarantine-status-flag.d.ts +0 -4
- package/dist/lib/work-context/outbox-quarantine-status-flag.js +0 -7
- package/dist/lib/work-context/prd-sync.d.ts +0 -56
- package/dist/lib/work-context/prd-sync.js +0 -197
- package/dist/lib/work-context/preflight-contract.d.ts +0 -28
- package/dist/lib/work-context/preflight-contract.js +0 -85
- package/dist/lib/work-context/prompt-rebind.d.ts +0 -25
- package/dist/lib/work-context/prompt-rebind.js +0 -85
- package/dist/lib/work-context/windows-acl.d.ts +0 -123
- package/dist/lib/work-context/windows-acl.js +0 -425
- package/dist/lib/workers-registry/read.d.ts +0 -15
- package/dist/lib/workers-registry/read.js +0 -17
- package/dist/native-fast-route.d.ts +0 -7
- package/dist/native-fast-route.js +0 -45
- package/dist/node-network-compat-core.d.ts +0 -12
- package/dist/node-network-compat-core.js +0 -41
- package/dist/node-network-compat-fast.d.ts +0 -7
- package/dist/node-network-compat-fast.js +0 -23
- package/dist/secrets-env-fast-path.d.ts +0 -5
- package/dist/secrets-env-fast-path.js +0 -16
- package/dist/secrets-env-fast-route.d.ts +0 -18
- package/dist/secrets-env-fast-route.js +0 -54
- package/dist/utils/checkpoint-stamp-write-error.d.ts +0 -28
- package/dist/utils/checkpoint-stamp-write-error.js +0 -99
- package/dist/utils/cli-network-lifecycle.d.ts +0 -4
- package/dist/utils/cli-network-lifecycle.js +0 -11
- package/dist/utils/cognito-refresh-sentry.d.ts +0 -3
- package/dist/utils/cognito-refresh-sentry.js +0 -49
- package/dist/utils/console-origin.d.ts +0 -9
- package/dist/utils/console-origin.js +0 -28
- package/dist/utils/exclusive-lock.d.ts +0 -32
- package/dist/utils/exclusive-lock.js +0 -75
- package/dist/utils/fast-stream-errors.d.ts +0 -12
- package/dist/utils/fast-stream-errors.js +0 -18
- package/dist/utils/files-browse-acl.d.ts +0 -5
- package/dist/utils/files-browse-acl.js +0 -11
- package/dist/utils/hq-core-yaml.d.ts +0 -10
- package/dist/utils/hq-core-yaml.js +0 -40
- package/dist/utils/hq-root-resolver.d.ts +0 -13
- package/dist/utils/hq-root-resolver.js +0 -103
- package/dist/utils/redact-url.d.ts +0 -14
- package/dist/utils/redact-url.js +0 -218
- package/dist/utils/scaffold-fast-import-guard.d.ts +0 -2
- package/dist/utils/scaffold-fast-import-guard.js +0 -40
- package/dist/utils/scaffold-packlist-guard.d.ts +0 -7
- package/dist/utils/scaffold-packlist-guard.js +0 -23
- package/dist/utils/scaffold-sibling-references.d.ts +0 -22
- package/dist/utils/scaffold-sibling-references.js +0 -156
- package/dist/utils/secret-load-availability.d.ts +0 -8
- package/dist/utils/secret-load-availability.js +0 -54
- package/dist/utils/staged-install.d.ts +0 -34
- package/dist/utils/staged-install.js +0 -346
- package/dist/utils/staged-npm-install.d.ts +0 -16
- package/dist/utils/staged-npm-install.js +0 -264
- package/dist/utils/sync-log-sources.d.ts +0 -15
- package/dist/utils/sync-log-sources.js +0 -36
- package/dist/utils/table-width.d.ts +0 -7
- package/dist/utils/table-width.js +0 -15
- package/dist/utils/update-command-supervisor.cjs +0 -247
- package/dist/utils/upload-author.d.ts +0 -15
- package/dist/utils/upload-author.js +0 -39
- package/dist/utils/version-report.d.ts +0 -27
- package/dist/utils/version-report.js +0 -105
- package/dist/version-request.d.ts +0 -14
- package/dist/version-request.js +0 -36
- package/scripts/mesh-daemon-if-stale.mjs +0 -20
- package/templates/reports/blank.md +0 -3
- package/templates/reports/daily-digest.md +0 -11
- package/templates/runbooks/update-report.md +0 -21
package/dist/lib/lanes/watch.js
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
import { listQuestionIds, readLane, readQuestion, } from "./store.js";
|
|
2
|
-
import { LaneNotFoundError, LanesError } from "./errors.js";
|
|
3
|
-
import { providerSupportsSessionResume } from "./delivery.js";
|
|
4
|
-
import { canResumeDoneKeepAliveLane, hasPendingKeepAliveWork, keepAliveNextCheckAtMs, LEAD_LANE_KEEP_ALIVE_MAX_RESUMES, } from "./keep-alive.js";
|
|
5
|
-
import { isTerminalLaneState, } from "./types.js";
|
|
6
|
-
export const DEFAULT_LANE_WATCH_INTERVAL_MS = 5_000;
|
|
7
|
-
export const MAX_LANE_WATCH_INTERVAL_MS = 30_000;
|
|
8
|
-
export const MAX_WATCHED_LANES = 64;
|
|
9
|
-
export const MAX_WATCH_OUTPUT_LINES = 512;
|
|
10
|
-
function defaultSleep(ms) {
|
|
11
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
12
|
-
}
|
|
13
|
-
function readableError(err) {
|
|
14
|
-
return err instanceof Error ? err.message : String(err);
|
|
15
|
-
}
|
|
16
|
-
function boundedInterval(intervalMs) {
|
|
17
|
-
const value = intervalMs ?? DEFAULT_LANE_WATCH_INTERVAL_MS;
|
|
18
|
-
if (!Number.isFinite(value))
|
|
19
|
-
return DEFAULT_LANE_WATCH_INTERVAL_MS;
|
|
20
|
-
return Math.min(MAX_LANE_WATCH_INTERVAL_MS, Math.max(100, Math.floor(value)));
|
|
21
|
-
}
|
|
22
|
-
function validateLaneIds(laneIds) {
|
|
23
|
-
const unique = [...new Set(laneIds.map((laneId) => laneId.trim()))];
|
|
24
|
-
if (unique.some((laneId) => laneId.length === 0)) {
|
|
25
|
-
throw new LanesError("watch_invalid_lane_id", "Lane ids must not be empty");
|
|
26
|
-
}
|
|
27
|
-
if (unique.length === 0) {
|
|
28
|
-
throw new LanesError("watch_no_lanes", "hq lanes watch requires at least one lane id");
|
|
29
|
-
}
|
|
30
|
-
if (unique.length > MAX_WATCHED_LANES) {
|
|
31
|
-
throw new LanesError("watch_too_many_lanes", `hq lanes watch accepts at most ${MAX_WATCHED_LANES} lane ids`, { max: MAX_WATCHED_LANES });
|
|
32
|
-
}
|
|
33
|
-
return unique;
|
|
34
|
-
}
|
|
35
|
-
function canResumeKeepAliveLane(hqRoot, lane, nowMs = Date.now()) {
|
|
36
|
-
if (lane.keep_alive !== true ||
|
|
37
|
-
lane.keep_alive_opted_in_at === undefined ||
|
|
38
|
-
!Number.isFinite(Date.parse(lane.keep_alive_opted_in_at)) ||
|
|
39
|
-
lane.keep_alive_exhausted_at !== undefined ||
|
|
40
|
-
(lane.keep_alive_resume_count ?? 0) >= LEAD_LANE_KEEP_ALIVE_MAX_RESUMES ||
|
|
41
|
-
lane.keep_alive_blocked_reason === "retired" ||
|
|
42
|
-
lane.keep_alive_blocked_reason === "superseded" ||
|
|
43
|
-
lane.keep_alive_blocked_reason === "retired_list_invalid" ||
|
|
44
|
-
lane.keep_alive_blocked_reason === "terminal_state" ||
|
|
45
|
-
!providerSupportsSessionResume(lane.provider) ||
|
|
46
|
-
!(lane.provider_session_id ?? lane.last_resume?.session_id))
|
|
47
|
-
return false;
|
|
48
|
-
if (lane.state === "interrupted") {
|
|
49
|
-
return lane.terminal_reason === "exited_with_partial_output";
|
|
50
|
-
}
|
|
51
|
-
if (lane.state === "done") {
|
|
52
|
-
const hasPendingWork = hasPendingKeepAliveWork(hqRoot, lane);
|
|
53
|
-
const nextCheckAtMs = !hasPendingWork
|
|
54
|
-
? keepAliveNextCheckAtMs(lane.last_envelope?.next_check_at, nowMs, Date.parse(lane.last_envelope?.at ?? lane.updated_at))
|
|
55
|
-
: undefined;
|
|
56
|
-
if (nextCheckAtMs !== undefined && nowMs < nextCheckAtMs)
|
|
57
|
-
return false;
|
|
58
|
-
return canResumeDoneKeepAliveLane(lane, { decision: lane.last_envelope?.decision, story_complete: lane.story_complete, next_check_at: lane.last_envelope?.next_check_at }, lane.keep_alive_standing === true && hasPendingWork) &&
|
|
59
|
-
lane.terminal_reason !== "provider_rejected" &&
|
|
60
|
-
lane.terminal_reason !== "account_not_logged_in";
|
|
61
|
-
}
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
export async function runLaneWatch(hqRoot, laneIds, deps = {}) {
|
|
65
|
-
const watchedIds = validateLaneIds(laneIds);
|
|
66
|
-
const readLaneRecord = deps.readLane ?? readLane;
|
|
67
|
-
const listQuestions = deps.listQuestionIds ?? listQuestionIds;
|
|
68
|
-
const readQuestionRecord = deps.readQuestion ?? readQuestion;
|
|
69
|
-
const sleep = deps.sleep ?? defaultSleep;
|
|
70
|
-
const writeLine = deps.writeLine ?? ((line) => console.log(line));
|
|
71
|
-
const writeAccountEvent = deps.writeAccountEvent ?? ((event) => {
|
|
72
|
-
writeLine(`account_logged_out provider=${event.provider} account=${event.account} host=${event.host.kind}:${event.host.id} lane_ids=${event.lane_ids.join(",")}`);
|
|
73
|
-
});
|
|
74
|
-
const writeError = deps.writeError ?? ((line) => process.stderr.write(`${line}\n`));
|
|
75
|
-
const maxOutputLines = Math.max(1, Math.floor(deps.maxOutputLines ?? MAX_WATCH_OUTPUT_LINES));
|
|
76
|
-
const intervalMs = boundedInterval(deps.intervalMs);
|
|
77
|
-
const previousStates = new Map();
|
|
78
|
-
const previousQuestionStatuses = new Map();
|
|
79
|
-
const previousAccountLogin = new Map();
|
|
80
|
-
let polls = 0;
|
|
81
|
-
let lines = 0;
|
|
82
|
-
let suppressed = false;
|
|
83
|
-
const emit = (line) => {
|
|
84
|
-
if (lines < maxOutputLines - 1) {
|
|
85
|
-
writeLine(line);
|
|
86
|
-
lines += 1;
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
if (!suppressed) {
|
|
90
|
-
writeLine("lane watch: output limit reached; further events suppressed");
|
|
91
|
-
lines = maxOutputLines;
|
|
92
|
-
suppressed = true;
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
const emitAccountEvent = (event) => {
|
|
96
|
-
if (lines < maxOutputLines - 1) {
|
|
97
|
-
writeAccountEvent(event);
|
|
98
|
-
lines += 1;
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
if (!suppressed) {
|
|
102
|
-
writeLine("lane watch: output limit reached; further events suppressed");
|
|
103
|
-
lines = maxOutputLines;
|
|
104
|
-
suppressed = true;
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
const unreadable = (kind, id, err) => {
|
|
108
|
-
const message = `${kind} ${id}: unreadable record (${readableError(err)})`;
|
|
109
|
-
writeError(`lane watch: ${message}`);
|
|
110
|
-
throw new LanesError("watch_record_unreadable", message, {
|
|
111
|
-
kind,
|
|
112
|
-
id,
|
|
113
|
-
cause: readableError(err),
|
|
114
|
-
});
|
|
115
|
-
};
|
|
116
|
-
while (true) {
|
|
117
|
-
polls += 1;
|
|
118
|
-
const records = [];
|
|
119
|
-
for (const laneId of watchedIds) {
|
|
120
|
-
let record = null;
|
|
121
|
-
try {
|
|
122
|
-
record = readLaneRecord(hqRoot, laneId);
|
|
123
|
-
}
|
|
124
|
-
catch (err) {
|
|
125
|
-
unreadable("lane", laneId, err);
|
|
126
|
-
}
|
|
127
|
-
if (!record) {
|
|
128
|
-
unreadable("lane", laneId, new LaneNotFoundError("lane", laneId));
|
|
129
|
-
continue;
|
|
130
|
-
}
|
|
131
|
-
records.push(record);
|
|
132
|
-
if (previousStates.get(laneId) !== record.state) {
|
|
133
|
-
emit(`lane ${laneId}: state=${record.state}${isTerminalLaneState(record.state) ? " (terminal)" : ""}`);
|
|
134
|
-
previousStates.set(laneId, record.state);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
const keepAliveWaiting = new Set();
|
|
138
|
-
if (deps.keepAliveEnabled !== undefined) {
|
|
139
|
-
for (const record of records) {
|
|
140
|
-
if (!isTerminalLaneState(record.state) || !canResumeKeepAliveLane(hqRoot, record))
|
|
141
|
-
continue;
|
|
142
|
-
if (!await deps.keepAliveEnabled(record))
|
|
143
|
-
continue;
|
|
144
|
-
if (canResumeKeepAliveLane(hqRoot, record))
|
|
145
|
-
keepAliveWaiting.add(record.lane_id);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
let questionIds = [];
|
|
149
|
-
try {
|
|
150
|
-
questionIds = listQuestions(hqRoot);
|
|
151
|
-
}
|
|
152
|
-
catch (err) {
|
|
153
|
-
unreadable("question", "<index>", err);
|
|
154
|
-
}
|
|
155
|
-
const watchedSet = new Set(watchedIds);
|
|
156
|
-
for (const questionId of questionIds) {
|
|
157
|
-
let record = null;
|
|
158
|
-
try {
|
|
159
|
-
record = readQuestionRecord(hqRoot, questionId);
|
|
160
|
-
}
|
|
161
|
-
catch (err) {
|
|
162
|
-
unreadable("question", questionId, err);
|
|
163
|
-
}
|
|
164
|
-
if (!record) {
|
|
165
|
-
unreadable("question", questionId, new LaneNotFoundError("question", questionId));
|
|
166
|
-
continue;
|
|
167
|
-
}
|
|
168
|
-
if (watchedSet.has(record.lane_id) &&
|
|
169
|
-
previousQuestionStatuses.get(questionId) !== record.status) {
|
|
170
|
-
emit(`lane ${record.lane_id}: question=${record.question_id} status=${record.status}`);
|
|
171
|
-
}
|
|
172
|
-
previousQuestionStatuses.set(questionId, record.status);
|
|
173
|
-
}
|
|
174
|
-
if (deps.readAccountStatuses !== undefined) {
|
|
175
|
-
const accountLanes = records.filter((record) => record.account !== undefined &&
|
|
176
|
-
(!isTerminalLaneState(record.state) || keepAliveWaiting.has(record.lane_id)));
|
|
177
|
-
let statuses;
|
|
178
|
-
try {
|
|
179
|
-
statuses = await deps.readAccountStatuses(accountLanes);
|
|
180
|
-
}
|
|
181
|
-
catch (err) {
|
|
182
|
-
const message = `account login status: ${readableError(err)}`;
|
|
183
|
-
writeError(`lane watch: ${message}`);
|
|
184
|
-
throw new LanesError("watch_account_status_unavailable", message, {
|
|
185
|
-
cause: readableError(err),
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
const statusLanes = new Map(accountLanes.map((record) => [record.lane_id, record]));
|
|
189
|
-
const grouped = new Map();
|
|
190
|
-
const seenLaneIds = new Set();
|
|
191
|
-
for (const status of statuses) {
|
|
192
|
-
const lane = statusLanes.get(status.lane_id);
|
|
193
|
-
if (!lane || lane.provider !== status.provider || lane.account !== status.account ||
|
|
194
|
-
lane.host.kind !== status.host.kind || lane.host.id !== status.host.id ||
|
|
195
|
-
(status.logged_in !== true && status.logged_in !== false && status.logged_in !== null) ||
|
|
196
|
-
seenLaneIds.has(status.lane_id)) {
|
|
197
|
-
const message = `malformed account login status for lane ${JSON.stringify(status.lane_id)}`;
|
|
198
|
-
writeError(`lane watch: ${message}`);
|
|
199
|
-
throw new LanesError("watch_account_status_invalid", message, {
|
|
200
|
-
lane_id: status.lane_id,
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
seenLaneIds.add(status.lane_id);
|
|
204
|
-
const key = JSON.stringify([status.provider, status.account, status.host.kind, status.host.id]);
|
|
205
|
-
const existing = grouped.get(key);
|
|
206
|
-
if (existing && existing.status.logged_in !== status.logged_in) {
|
|
207
|
-
const message = `conflicting account login statuses for ${status.provider} account ${status.account} on ${status.host.kind}:${status.host.id}`;
|
|
208
|
-
writeError(`lane watch: ${message}`);
|
|
209
|
-
throw new LanesError("watch_account_status_invalid", message, {
|
|
210
|
-
provider: status.provider,
|
|
211
|
-
account: status.account,
|
|
212
|
-
host: status.host,
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
const group = existing ?? { status, laneIds: new Set() };
|
|
216
|
-
group.laneIds.add(status.lane_id);
|
|
217
|
-
grouped.set(key, group);
|
|
218
|
-
}
|
|
219
|
-
const missingLane = accountLanes.find((lane) => !seenLaneIds.has(lane.lane_id));
|
|
220
|
-
if (missingLane) {
|
|
221
|
-
const message = `account login status is missing for lane ${missingLane.lane_id}`;
|
|
222
|
-
writeError(`lane watch: ${message}`);
|
|
223
|
-
throw new LanesError("watch_account_status_invalid", message, {
|
|
224
|
-
lane_id: missingLane.lane_id,
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
for (const [key, group] of grouped) {
|
|
228
|
-
const { status } = group;
|
|
229
|
-
const prior = previousAccountLogin.get(key);
|
|
230
|
-
if (prior === true && status.logged_in === false) {
|
|
231
|
-
emitAccountEvent({
|
|
232
|
-
event: "account_logged_out",
|
|
233
|
-
provider: status.provider,
|
|
234
|
-
account: status.account,
|
|
235
|
-
host: status.host,
|
|
236
|
-
lane_ids: [...group.laneIds].sort(),
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
if (status.logged_in !== null)
|
|
240
|
-
previousAccountLogin.set(key, status.logged_in);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
if (records.every((record) => isTerminalLaneState(record.state) && !keepAliveWaiting.has(record.lane_id))) {
|
|
244
|
-
return { polls, lines, suppressed };
|
|
245
|
-
}
|
|
246
|
-
await sleep(intervalMs);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
//# sourceMappingURL=watch.js.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Detached entry for the per-lane watcher. Spawned with
|
|
3
|
-
* `detached: true` from `spawnLaneWorker`; not a session job.
|
|
4
|
-
*
|
|
5
|
-
* Usage: node watcher-main.js <lane-id>
|
|
6
|
-
* Requires HQ_ROOT in the environment.
|
|
7
|
-
*/
|
|
8
|
-
import { type EnvelopeRepairDispatchDeps } from "./envelope-repair-dispatch.js";
|
|
9
|
-
import type { WatcherLoopDeps } from "./watcher.js";
|
|
10
|
-
export declare function watcherMainDeps(hqRoot: string, laneId: string, env?: NodeJS.ProcessEnv, repairDispatchDeps?: Pick<EnvelopeRepairDispatchDeps, "spawnSync">): WatcherLoopDeps;
|
|
11
|
-
//# sourceMappingURL=watcher-main.d.ts.map
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Detached entry for the per-lane watcher. Spawned with
|
|
3
|
-
* `detached: true` from `spawnLaneWorker`; not a session job.
|
|
4
|
-
*
|
|
5
|
-
* Usage: node watcher-main.js <lane-id>
|
|
6
|
-
* Requires HQ_ROOT in the environment.
|
|
7
|
-
*/
|
|
8
|
-
import { spawn, spawnSync } from "node:child_process";
|
|
9
|
-
import { existsSync, realpathSync } from "node:fs";
|
|
10
|
-
import * as path from "node:path";
|
|
11
|
-
import { fileURLToPath } from "node:url";
|
|
12
|
-
import { runWatcherLoop } from "./watcher.js";
|
|
13
|
-
import { spawnEnvelopeRepairViaCurrentCli, } from "./envelope-repair-dispatch.js";
|
|
14
|
-
import { LanesError } from "./errors.js";
|
|
15
|
-
import { openMeshTransport } from "../mesh/client.js";
|
|
16
|
-
import { CompanySelectionError } from "../../utils/company-selection-error.js";
|
|
17
|
-
export function watcherMainDeps(hqRoot, laneId, env = process.env, repairDispatchDeps = {}) {
|
|
18
|
-
const cliEntry = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../index.js");
|
|
19
|
-
return {
|
|
20
|
-
resolveQuestionActiveCompany,
|
|
21
|
-
spawnRepair: (root, lane, input) => spawnEnvelopeRepairViaCurrentCli(root, lane, input, { ...repairDispatchDeps, env }),
|
|
22
|
-
deliverLaneSeniorMessage: async (seniorLaneId, text) => deliverLaneSeniorMessage(cliEntry, seniorLaneId, text),
|
|
23
|
-
recoverQueuedMessages: async () => {
|
|
24
|
-
const result = spawnSync(process.execPath, [cliEntry, "lanes", "_recover-queued-messages", laneId], {
|
|
25
|
-
env,
|
|
26
|
-
encoding: "utf8",
|
|
27
|
-
timeout: 120_000,
|
|
28
|
-
});
|
|
29
|
-
if (result.error)
|
|
30
|
-
throw result.error;
|
|
31
|
-
if (result.status !== 0) {
|
|
32
|
-
throw new Error(`recovery command exited ${result.status ?? result.signal ?? "without status"}: ${(result.stderr ?? "").trim()}`);
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
scheduleTerminalKeepAlive: async ({ laneId: scheduledLaneId, version, dueAt }) => {
|
|
36
|
-
await new Promise((resolve, reject) => {
|
|
37
|
-
const child = spawn(process.execPath, [
|
|
38
|
-
cliEntry,
|
|
39
|
-
"lanes",
|
|
40
|
-
"_keep-alive-terminal-trigger",
|
|
41
|
-
scheduledLaneId,
|
|
42
|
-
String(version),
|
|
43
|
-
dueAt,
|
|
44
|
-
], {
|
|
45
|
-
env,
|
|
46
|
-
detached: true,
|
|
47
|
-
stdio: "ignore",
|
|
48
|
-
});
|
|
49
|
-
child.once("error", reject);
|
|
50
|
-
child.once("spawn", resolve);
|
|
51
|
-
child.unref();
|
|
52
|
-
});
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
function deliverLaneSeniorMessage(cliEntry, laneId, text) {
|
|
57
|
-
const result = spawnSync(process.execPath, [cliEntry, "lanes", "message", laneId, "--text", text], {
|
|
58
|
-
env: process.env,
|
|
59
|
-
encoding: "utf8",
|
|
60
|
-
timeout: 120_000,
|
|
61
|
-
});
|
|
62
|
-
if (result.error)
|
|
63
|
-
throw result.error;
|
|
64
|
-
if (result.status !== 0) {
|
|
65
|
-
throw new Error(`senior lane message command exited ${result.status ?? result.signal ?? "without status"}`);
|
|
66
|
-
}
|
|
67
|
-
let response;
|
|
68
|
-
try {
|
|
69
|
-
response = JSON.parse((result.stdout ?? "").trim());
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
throw new Error("senior lane message command returned invalid JSON");
|
|
73
|
-
}
|
|
74
|
-
if (response === null || typeof response !== "object" || Array.isArray(response) ||
|
|
75
|
-
response.accepted !== true ||
|
|
76
|
-
response.lane_id !== laneId) {
|
|
77
|
-
throw new Error("senior lane message command did not confirm acceptance");
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
async function resolveQuestionActiveCompany() {
|
|
81
|
-
try {
|
|
82
|
-
const { company } = await openMeshTransport({});
|
|
83
|
-
return { slug: company.companySlug, uid: company.companyUid };
|
|
84
|
-
}
|
|
85
|
-
catch (err) {
|
|
86
|
-
if (!(err instanceof CompanySelectionError))
|
|
87
|
-
throw err;
|
|
88
|
-
throw new LanesError("question_company_unavailable", "Cannot raise a lane question because the active HQ company could not be resolved", {});
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
function main() {
|
|
92
|
-
const laneId = process.argv[2]?.trim();
|
|
93
|
-
const hqRoot = process.env.HQ_ROOT?.trim();
|
|
94
|
-
if (!laneId || !hqRoot) {
|
|
95
|
-
process.stderr.write("hq lanes watcher: requires lane id argv and HQ_ROOT in the environment\n");
|
|
96
|
-
process.exit(1);
|
|
97
|
-
}
|
|
98
|
-
void runWatcherLoop(hqRoot, laneId, watcherMainDeps(hqRoot, laneId, process.env)).catch((err) => {
|
|
99
|
-
process.stderr.write(`hq lanes watcher: ${err instanceof Error ? err.message : String(err)}${err instanceof Error && err.stack ? `\n${err.stack}` : ""}\n`);
|
|
100
|
-
process.exit(1);
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
const invokedEntryPath = process.argv[1] ? path.resolve(process.argv[1]) : undefined;
|
|
104
|
-
const currentModule = realpathSync(fileURLToPath(import.meta.url));
|
|
105
|
-
if (invokedEntryPath && existsSync(invokedEntryPath) && realpathSync(invokedEntryPath) === currentModule) {
|
|
106
|
-
main();
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=watcher-main.js.map
|
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-lane watcher (spec §5.7).
|
|
3
|
-
*
|
|
4
|
-
* Armed at spawn, detached from the caller. Emits on progress, terminal, and
|
|
5
|
-
* silence (20 minutes with the process still alive). Terminal classification
|
|
6
|
-
* follows spec §5: an envelope decides done/ask/blocked; a process that exits
|
|
7
|
-
* with partial output and no envelope is `interrupted`; silence is never
|
|
8
|
-
* success.
|
|
9
|
-
*
|
|
10
|
-
* Progress has two sources. Output files (worker.out, worker.err,
|
|
11
|
-
* last-message.txt) cover codex and grok, which stream as they work. They do
|
|
12
|
-
* not cover Claude: `claude -p --output-format json` writes nothing until it
|
|
13
|
-
* exits, so a healthy Claude lane used to hit the silence deadline at exactly
|
|
14
|
-
* 20 minutes every time, and a hung one looked identical. The second source
|
|
15
|
-
* is logs/tool-activity.json, which the drain hook rewrites on every
|
|
16
|
-
* PreToolUse call (dropbox.ts). A worker that is working calls tools; a
|
|
17
|
-
* worker that has not called a tool or written output for the whole window
|
|
18
|
-
* is `stalled`, and the watcher says so on the lane record.
|
|
19
|
-
*
|
|
20
|
-
* What this cannot tell apart: a worker hung inside one tool call from a
|
|
21
|
-
* worker running one legitimately long tool call (a 25-minute build); a
|
|
22
|
-
* worker looping on tool calls without making progress from a working one;
|
|
23
|
-
* a model stuck mid-generation with no tool call from one that is writing a
|
|
24
|
-
* long answer. It also depends on the drain hook being registered in the
|
|
25
|
-
* provider home (hooks-install.ts): with no hook there is no touch, and the
|
|
26
|
-
* lane reads as stalled every window, which is the pre-existing behaviour.
|
|
27
|
-
* Distinguishing a hung tool from a slow one needs the provider to report
|
|
28
|
-
* per-call state, which none of the three CLIs expose today. `stalled` is
|
|
29
|
-
* therefore a flag for the senior to look at, never a kill.
|
|
30
|
-
*
|
|
31
|
-
* Queue admission of the next lane when a slot frees is owned by the
|
|
32
|
-
* periodic reconcile pass and is out of scope here.
|
|
33
|
-
*/
|
|
34
|
-
import { ENVELOPE_INVALID_REASON, type LaneEnvelope, type LaneCompanyRef, type LaneRecord, type LaneState } from "./types.js";
|
|
35
|
-
import { type QuotaSignal } from "./quota.js";
|
|
36
|
-
import { type ProviderRejection } from "./provider-rejection.js";
|
|
37
|
-
import type { AdmissionHost } from "./admission.js";
|
|
38
|
-
import { type LaneMesh } from "./mesh-events.js";
|
|
39
|
-
import { readLanesRegistryFlag } from "./registry-flag.js";
|
|
40
|
-
import { type EnvelopeRepairSpawnInput, type SpawnLaneDeps } from "./spawn.js";
|
|
41
|
-
/** Spec §5.7: no signal for 20 minutes while the process is still alive. */
|
|
42
|
-
export declare const SILENCE_MS: number;
|
|
43
|
-
export declare const WATCHER_POLL_MS = 5000;
|
|
44
|
-
export declare const ENVELOPE_REPAIR_CONTINUE_TEXT = "continue the task; the previous turn ended without an envelope.";
|
|
45
|
-
/** Synced last_host_report_at cadence. Reconcile dead-host TTL is 20 minutes. */
|
|
46
|
-
export declare const WATCHER_HEARTBEAT_MS: number;
|
|
47
|
-
/**
|
|
48
|
-
* Cap on logs/watcher.out. A decision line is typically under 300 bytes, so
|
|
49
|
-
* 256 KiB holds hundreds of transitions. A stuck lane cannot fill the disk:
|
|
50
|
-
* once the file would exceed this, the oldest complete lines are dropped.
|
|
51
|
-
*/
|
|
52
|
-
export declare const WATCHER_OUT_MAX_BYTES: number;
|
|
53
|
-
export declare const WATCHER_DECISION_EVENTS: readonly ["liveness_transition", "silence_deadline", "envelope_observed", "envelope_invalid", "envelope_repair", "envelope_repair_continue", "classification", "terminal_write", "message_recovery", "message_recovery_failed", "message_undeliverable", "mesh_event", "mesh_event_failed"];
|
|
54
|
-
/** Terminal reason when the envelope failed to parse after the repair turn (spec §4). */
|
|
55
|
-
export { ENVELOPE_INVALID_REASON };
|
|
56
|
-
export type WatcherDecisionEvent = (typeof WATCHER_DECISION_EVENTS)[number];
|
|
57
|
-
export declare const WATCHER_SIGNAL_KINDS: readonly ["progress", "terminal", "silence"];
|
|
58
|
-
export type WatcherSignalKind = (typeof WATCHER_SIGNAL_KINDS)[number];
|
|
59
|
-
export interface TerminalClassification {
|
|
60
|
-
state: Extract<LaneState, "done" | "awaiting_input" | "blocked" | "interrupted" | "failed">;
|
|
61
|
-
reason?: string;
|
|
62
|
-
}
|
|
63
|
-
export interface WatcherSignal {
|
|
64
|
-
kind: WatcherSignalKind;
|
|
65
|
-
at: string;
|
|
66
|
-
classification?: TerminalClassification;
|
|
67
|
-
}
|
|
68
|
-
export interface WatcherTickInput {
|
|
69
|
-
nowMs: number;
|
|
70
|
-
processAlive: boolean;
|
|
71
|
-
progressed: boolean;
|
|
72
|
-
lastSignalMs: number;
|
|
73
|
-
envelope: LaneEnvelope | null;
|
|
74
|
-
hasPartialOutput: boolean;
|
|
75
|
-
silenceMs?: number;
|
|
76
|
-
quota?: QuotaSignal | null;
|
|
77
|
-
invalidEnvelope?: {
|
|
78
|
-
errors: string[];
|
|
79
|
-
} | null;
|
|
80
|
-
providerRejection?: ProviderRejection | null;
|
|
81
|
-
}
|
|
82
|
-
export interface WatcherTickResult {
|
|
83
|
-
emit?: WatcherSignal;
|
|
84
|
-
nextLastSignalMs: number;
|
|
85
|
-
done: boolean;
|
|
86
|
-
}
|
|
87
|
-
export declare function parseWatcherSignalKind(value: unknown): WatcherSignalKind;
|
|
88
|
-
export declare function classifyLaneExit(input: {
|
|
89
|
-
envelope: LaneEnvelope | null;
|
|
90
|
-
hasPartialOutput: boolean;
|
|
91
|
-
/**
|
|
92
|
-
* Set when the worker's own result is a 429 or a usage-limit error.
|
|
93
|
-
* Distinct from a crash: the reason is account_quota_exhausted or
|
|
94
|
-
* account_model_unavailable, not exited_with_partial_output.
|
|
95
|
-
*/
|
|
96
|
-
quota?: QuotaSignal | null;
|
|
97
|
-
/**
|
|
98
|
-
* Set when the run's envelope file exists but does not parse and no
|
|
99
|
-
* repair turn remains. Failed, regardless of partial output: the worker
|
|
100
|
-
* did finish, it just did not honour the contract.
|
|
101
|
-
*/
|
|
102
|
-
invalidEnvelope?: {
|
|
103
|
-
errors: string[];
|
|
104
|
-
} | null;
|
|
105
|
-
/**
|
|
106
|
-
* Set when the worker's output stream carries a provider-level turn
|
|
107
|
-
* failure (codex `turn.failed`, a Claude error result with an HTTP status,
|
|
108
|
-
* a grok error object). Failed, never interrupted: the provider refused
|
|
109
|
-
* the turn, so there is nothing to resume and no envelope to repair.
|
|
110
|
-
*/
|
|
111
|
-
providerRejection?: ProviderRejection | null;
|
|
112
|
-
}): TerminalClassification;
|
|
113
|
-
/**
|
|
114
|
-
* One decision for an exited worker's output. An explicit provider status
|
|
115
|
-
* wins over the quota text heuristics: a 429 from any provider (including
|
|
116
|
-
* codex `turn.failed` and grok error objects, which the claude-shaped quota
|
|
117
|
-
* reader never sees) becomes a quota signal; any other explicit status is a
|
|
118
|
-
* rejection even when its text sounds like a quota message (a 402 "requires
|
|
119
|
-
* usage credits" is a rejection, not a hold). A failure with no status at
|
|
120
|
-
* all is matched against the quota text heuristics first: a status-less
|
|
121
|
-
* "usage limit" / "rate limit" turn.failed still creates the account hold;
|
|
122
|
-
* any other status-less message is a rejection. Only when the stream
|
|
123
|
-
* carries no failure object does the quota reader's own read apply.
|
|
124
|
-
*/
|
|
125
|
-
export declare function routeProviderFailure(failure: ProviderRejection | null, readQuota: () => QuotaSignal | null, model: string | undefined, now: Date): {
|
|
126
|
-
quota: QuotaSignal | null;
|
|
127
|
-
rejection: ProviderRejection | null;
|
|
128
|
-
};
|
|
129
|
-
export declare function tickWatcher(input: WatcherTickInput): WatcherTickResult;
|
|
130
|
-
export declare function watcherEventsPath(hqRoot: string, laneId: string): string;
|
|
131
|
-
export declare function watcherOutLogPath(hqRoot: string, laneId: string): string;
|
|
132
|
-
export declare function appendCappedLog(filePath: string, line: string, maxBytes?: number): void;
|
|
133
|
-
export declare function writeWatcherDecision(filePath: string, record: Record<string, unknown>, maxBytes?: number): void;
|
|
134
|
-
/** Append a decision to the shared event stream without a read-modify-write. */
|
|
135
|
-
export declare function appendWatcherEvent(filePath: string, record: Record<string, unknown>, appendLine?: (target: string, line: string) => void): void;
|
|
136
|
-
export declare function watcherLastSignalPath(hqRoot: string, laneId: string): string;
|
|
137
|
-
export declare function appendWatcherSignal(hqRoot: string, laneId: string, signal: WatcherSignal): void;
|
|
138
|
-
/**
|
|
139
|
-
* Slot-free notification. The periodic reconcile pass admits the next queued
|
|
140
|
-
* lane; this watcher must not do it. Intentionally empty.
|
|
141
|
-
*/
|
|
142
|
-
export declare function notifySlotFreed(_input: {
|
|
143
|
-
hqRoot: string;
|
|
144
|
-
provider: LaneRecord["provider"];
|
|
145
|
-
account?: string;
|
|
146
|
-
}): void;
|
|
147
|
-
export interface ApplyTerminalOpts {
|
|
148
|
-
envelope?: LaneEnvelope | null;
|
|
149
|
-
envelopeRef?: string;
|
|
150
|
-
envelopeValidationErrors?: string[];
|
|
151
|
-
questionIndexes?: readonly number[];
|
|
152
|
-
activeCompany?: LaneCompanyRef | null;
|
|
153
|
-
at?: string;
|
|
154
|
-
quota?: QuotaSignal | null;
|
|
155
|
-
/** Written to `terminal_details` with the model and account the run used. */
|
|
156
|
-
providerRejection?: ProviderRejection | null;
|
|
157
|
-
}
|
|
158
|
-
export declare function stalledReason(silenceMs: number): string;
|
|
159
|
-
/**
|
|
160
|
-
* The consumer of the silence signal. A silence emit on a running lane sets
|
|
161
|
-
* `stalled` on the record so `hq lanes list` and `show` surface it; the next
|
|
162
|
-
* progress emit clears it. Nothing here changes `state`.
|
|
163
|
-
*/
|
|
164
|
-
export declare function markLaneStalled(hqRoot: string, laneId: string, at: string, reason: string): LaneRecord;
|
|
165
|
-
export declare function clearLaneStalled(hqRoot: string, laneId: string): LaneRecord;
|
|
166
|
-
export declare function applyTerminalToLane(hqRoot: string, laneId: string, classification: TerminalClassification, opts?: ApplyTerminalOpts): LaneRecord;
|
|
167
|
-
/** Terminal write outcome for emitters: only the CAS winner may publish mesh effects. */
|
|
168
|
-
export declare function applyTerminalToLaneWithResult(hqRoot: string, laneId: string, classification: TerminalClassification, opts?: ApplyTerminalOpts): {
|
|
169
|
-
record: LaneRecord;
|
|
170
|
-
changed: boolean;
|
|
171
|
-
envelope?: LaneEnvelope;
|
|
172
|
-
classification: TerminalClassification;
|
|
173
|
-
};
|
|
174
|
-
export declare function isPidAlive(pid: number): boolean;
|
|
175
|
-
export interface LatestEnvelope {
|
|
176
|
-
envelope: LaneEnvelope;
|
|
177
|
-
ref: string;
|
|
178
|
-
}
|
|
179
|
-
/** The newest envelope file of this run, parsed or not. */
|
|
180
|
-
export interface LatestEnvelopeFile {
|
|
181
|
-
ref: string;
|
|
182
|
-
/** Absolute path of the file. */
|
|
183
|
-
path: string;
|
|
184
|
-
text: string;
|
|
185
|
-
envelope: LaneEnvelope | null;
|
|
186
|
-
/** Parser message, or the missing-slot reason, when `envelope` is null. */
|
|
187
|
-
error: string | null;
|
|
188
|
-
/** True when the manifest's expected envelope slot was never created. */
|
|
189
|
-
missing?: boolean;
|
|
190
|
-
}
|
|
191
|
-
export declare function readLatestEnvelope(hqRoot: string, laneId: string, minName?: string): LaneEnvelope | null;
|
|
192
|
-
/** Valid-only view over `readLatestEnvelopeFile`; an unparseable file reads as absent. */
|
|
193
|
-
export declare function readLatestEnvelopeRecord(hqRoot: string, laneId: string, minName?: string): LatestEnvelope | null;
|
|
194
|
-
/**
|
|
195
|
-
* `minName` is this run's envelope slot (basename from spawn.json). Envelopes
|
|
196
|
-
* that sort before it belong to an earlier run of the same lane and must not
|
|
197
|
-
* classify this exit: a resumed run that dies before writing its own envelope
|
|
198
|
-
* would otherwise be marked done again from the previous one.
|
|
199
|
-
*/
|
|
200
|
-
export declare function readLatestEnvelopeFile(hqRoot: string, laneId: string, minName?: string): LatestEnvelopeFile | null;
|
|
201
|
-
/** A descriptor for this run's manifest slot when no envelope file was written. */
|
|
202
|
-
export declare function missingExpectedEnvelopeFile(hqRoot: string, laneId: string, envelopePath: string | undefined): LatestEnvelopeFile | null;
|
|
203
|
-
export interface WatcherLoopDeps {
|
|
204
|
-
sleep?: (ms: number) => Promise<void>;
|
|
205
|
-
now?: () => number;
|
|
206
|
-
isAlive?: (pid: number) => boolean;
|
|
207
|
-
readStarttime?: (pid: number) => number | null;
|
|
208
|
-
pollMs?: number;
|
|
209
|
-
silenceMs?: number;
|
|
210
|
-
watcherOutPath?: string;
|
|
211
|
-
watcherOutMaxBytes?: number;
|
|
212
|
-
/**
|
|
213
|
-
* Mesh seam (spec §8). Default: `createLaneMesh({ interactive: false })`.
|
|
214
|
-
* `null` disables emission entirely (tests that are not about mesh).
|
|
215
|
-
*/
|
|
216
|
-
mesh?: LaneMesh | null;
|
|
217
|
-
/** Override for `providers.<provider>.progress_event_min_interval_ms`. */
|
|
218
|
-
progressEventMinIntervalMs?: number;
|
|
219
|
-
/** Bound a hung mesh request so watcher liveness polling continues. */
|
|
220
|
-
meshRequestTimeoutMs?: number;
|
|
221
|
-
/** Spec §4 repair spawn. Default: `spawnEnvelopeRepair`. */
|
|
222
|
-
spawnRepair?: (hqRoot: string, lane: LaneRecord, input: EnvelopeRepairSpawnInput) => number;
|
|
223
|
-
/** Rebind and respawn after a provider quota or authentication refusal. */
|
|
224
|
-
retryAccount?: (hqRoot: string, lane: LaneRecord, reason: "usage_limit" | "account_unavailable") => LaneRecord | Promise<LaneRecord>;
|
|
225
|
-
/** Shared process/Outpost identity used by command admission and watcher retries. */
|
|
226
|
-
resolveAdmissionHost?: () => AdmissionHost;
|
|
227
|
-
/** Spawn seams for account retry; host scope is supplied by the resolver above. */
|
|
228
|
-
retrySpawnDeps?: Omit<SpawnLaneDeps, "admissionHost">;
|
|
229
|
-
/** Active-company fallback when an unscoped lane asks from its envelope. */
|
|
230
|
-
resolveQuestionActiveCompany?: () => Promise<LaneCompanyRef>;
|
|
231
|
-
/** Resume an atomically queued inbox after this watcher wins terminal CAS. */
|
|
232
|
-
recoverQueuedMessages?: (lane: LaneRecord) => Promise<void>;
|
|
233
|
-
/** Deliver a lane-senior escalation through the normal lane-message router. */
|
|
234
|
-
deliverLaneSeniorMessage?: (seniorLaneId: string, text: string) => Promise<void>;
|
|
235
|
-
/** Test seam; production reads the company-scoped hq-flags row. */
|
|
236
|
-
readBlockerFreshnessFlag?: typeof readLanesRegistryFlag;
|
|
237
|
-
/** Test seam; production reads the company-scoped hq-flags row. */
|
|
238
|
-
readKrFreshnessFlag?: typeof readLanesRegistryFlag;
|
|
239
|
-
/** Test seam; production reads the company-scoped hq-flags row. */
|
|
240
|
-
readEnvelopeRepairContinueFlag?: typeof readLanesRegistryFlag;
|
|
241
|
-
/** Test seam; production reads the company-scoped hq-flags row. */
|
|
242
|
-
readTerminalKeepAliveFlag?: typeof readLanesRegistryFlag;
|
|
243
|
-
/** Schedule an immediate reconcile check for the terminal lane version. */
|
|
244
|
-
scheduleTerminalKeepAlive?: (input: {
|
|
245
|
-
laneId: string;
|
|
246
|
-
version: number;
|
|
247
|
-
terminalAt: string;
|
|
248
|
-
dueAt: string;
|
|
249
|
-
}) => Promise<void>;
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Wrap one mesh call. A failed emit is logged as `mesh_event_failed` with
|
|
253
|
-
* the event name and the error message, and never propagates: the lane's
|
|
254
|
-
* state is decided by the envelope and the process, not by the network.
|
|
255
|
-
*/
|
|
256
|
-
export declare function emitMeshSoft(event: string, logDecision: (record: Record<string, unknown>) => void, at: string, fn: (signal: AbortSignal) => Promise<void>, timeoutMs?: number): Promise<boolean>;
|
|
257
|
-
/** Question ids an ask envelope raised, as `raiseEnvelopeQuestions` mints them. */
|
|
258
|
-
export declare function envelopeQuestionIds(laneId: string, envelopeRef: string, envelope: LaneEnvelope, questionIndexes?: readonly number[]): string[];
|
|
259
|
-
/** Detached and synchronous classifiers share one process-identity claim. */
|
|
260
|
-
export declare function runWatcherLoop(hqRoot: string, laneId: string, deps?: WatcherLoopDeps): Promise<void>;
|
|
261
|
-
export type EnvelopeRepairDecision = {
|
|
262
|
-
action: "spawned";
|
|
263
|
-
} | {
|
|
264
|
-
action: "give_up";
|
|
265
|
-
errors: string[];
|
|
266
|
-
};
|
|
267
|
-
/**
|
|
268
|
-
* Spec §4 repair decision for an exited worker whose expected envelope is
|
|
269
|
-
* invalid or missing. First failure on a resumable provider with a recorded
|
|
270
|
-
* session id: record `envelope_repair` on the lane and spawn the repair turn.
|
|
271
|
-
* A provider with no session resume gets the same single attempt as a fresh
|
|
272
|
-
* turn for invalid files. Anything else (already attempted, no session id on a
|
|
273
|
-
* resumable provider, non-running lane, spawn failure): give up with every
|
|
274
|
-
* error collected. The caller preserves the normal interrupted classification
|
|
275
|
-
* for a missing file and uses `envelope_invalid` only for an existing invalid
|
|
276
|
-
* file.
|
|
277
|
-
*/
|
|
278
|
-
export declare function decideEnvelopeRepair(hqRoot: string, laneId: string, latest: LatestEnvelopeFile, nowMs: number, spawnRepair: NonNullable<WatcherLoopDeps["spawnRepair"]>, logDecision: (record: Record<string, unknown>) => void): EnvelopeRepairDecision;
|
|
279
|
-
/** Exported so tests can prove the watcher reads the live record, not spawn env. */
|
|
280
|
-
export declare function laneIdentityFromRecord(hqRoot: string, laneId: string): {
|
|
281
|
-
lane_id: string;
|
|
282
|
-
company: LaneRecord["company"];
|
|
283
|
-
project_id: string;
|
|
284
|
-
story_id: string;
|
|
285
|
-
senior: LaneRecord["senior"];
|
|
286
|
-
};
|
|
287
|
-
//# sourceMappingURL=watcher.d.ts.map
|