@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
|
@@ -13,213 +13,23 @@
|
|
|
13
13
|
* company (via the identity-file default resolver shipped in 5.108.22). The
|
|
14
14
|
* daemon's next held retry then re-attributes and posts those events naturally.
|
|
15
15
|
*
|
|
16
|
-
* Constraints:
|
|
17
|
-
* -
|
|
18
|
-
* available for an explicit full/manual recovery.
|
|
16
|
+
* Constraints (owner directive):
|
|
17
|
+
* - Explicit, opt-in only. Never automatic; never wired into a hook or daemon.
|
|
19
18
|
* - Idempotent: sessions that already carry a companyUid are skipped.
|
|
20
19
|
* - Never deletes held events; the daemon posts them on the next retry.
|
|
21
20
|
* - Purely local to the box it runs on; no fleet fan-out.
|
|
22
21
|
*/
|
|
23
22
|
import * as fs from "node:fs";
|
|
24
|
-
import * as path from "node:path";
|
|
25
23
|
import { readSessionState } from "../../work-context/state.js";
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import { deriveRemoteOwnerSlug, } from "../../work-context/repo-remote.js";
|
|
31
|
-
import { workMeshHeldBackfillCursorPath, workMeshHeldPath } from "./paths.js";
|
|
32
|
-
function readBackfillCursor(workMeshRoot) {
|
|
33
|
-
try {
|
|
34
|
-
const parsed = JSON.parse(fs.readFileSync(workMeshHeldBackfillCursorPath(workMeshRoot), "utf8"));
|
|
35
|
-
const sessionId = typeof parsed.sessionId === "string" && parsed.sessionId.trim()
|
|
36
|
-
? parsed.sessionId.trim()
|
|
37
|
-
: undefined;
|
|
38
|
-
const ordinal = typeof parsed.ordinal === "number" &&
|
|
39
|
-
Number.isInteger(parsed.ordinal) && parsed.ordinal >= 0
|
|
40
|
-
? parsed.ordinal
|
|
41
|
-
: undefined;
|
|
42
|
-
return sessionId || ordinal !== undefined ? { sessionId, ordinal } : null;
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
function writeBackfillCursor(workMeshRoot, cursor) {
|
|
49
|
-
try {
|
|
50
|
-
fs.writeFileSync(workMeshHeldBackfillCursorPath(workMeshRoot), `${JSON.stringify(cursor)}\n`, { mode: 0o600 });
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
// A missing cursor only repeats a bounded batch; it must never stop flush.
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
function rotateSessions(sessions, limit, cursor) {
|
|
57
|
-
if (!limit || limit >= sessions.length)
|
|
58
|
-
return sessions;
|
|
59
|
-
const previous = cursor?.sessionId
|
|
60
|
-
? sessions.findIndex((ref) => ref.sessionId === cursor.sessionId)
|
|
61
|
-
: -1;
|
|
62
|
-
const start = previous >= 0
|
|
63
|
-
? (previous + 1) % sessions.length
|
|
64
|
-
: cursor?.ordinal !== undefined
|
|
65
|
-
? cursor.ordinal % sessions.length
|
|
66
|
-
: 0;
|
|
67
|
-
const rotated = [...sessions.slice(start), ...sessions.slice(0, start)];
|
|
68
|
-
return rotated.slice(0, limit);
|
|
69
|
-
}
|
|
70
|
-
function verifiedHqRoot(hqRoot) {
|
|
71
|
-
try {
|
|
72
|
-
const root = fs.realpathSync(hqRoot);
|
|
73
|
-
const manifest = path.join(root, "companies", "manifest.yaml");
|
|
74
|
-
return fs.statSync(manifest).isFile() ? root : null;
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
function verifiedMetaCompanySlug(sessionId, hqRoot) {
|
|
81
|
-
try {
|
|
82
|
-
const root = verifiedHqRoot(hqRoot);
|
|
83
|
-
if (!root)
|
|
84
|
-
return undefined;
|
|
85
|
-
const meta = path.join(root, "workspace", "sessions", sessionId, "meta.yaml");
|
|
86
|
-
if (!fs.statSync(meta).isFile())
|
|
87
|
-
return undefined;
|
|
88
|
-
// Do not follow a meta symlink outside the claimed HQ root.
|
|
89
|
-
const realMeta = fs.realpathSync(meta);
|
|
90
|
-
if (path.relative(root, realMeta).startsWith(".."))
|
|
91
|
-
return undefined;
|
|
92
|
-
return readMetaCompanySlug(sessionId, root);
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
return undefined;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
function candidatesAgree(a, b) {
|
|
99
|
-
return sameCompany(a, b) ||
|
|
100
|
-
(!a.uid && !b.uid && Boolean(a.slug && b.slug) &&
|
|
101
|
-
a.slug.toLowerCase() === b.slug.toLowerCase());
|
|
102
|
-
}
|
|
103
|
-
function consistentCandidate(candidates) {
|
|
104
|
-
let chosen = null;
|
|
105
|
-
for (const candidate of candidates) {
|
|
106
|
-
if (!candidate.slug && !candidate.uid)
|
|
107
|
-
continue;
|
|
108
|
-
if (!chosen) {
|
|
109
|
-
chosen = { ...candidate };
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
if (!candidatesAgree(chosen, candidate))
|
|
113
|
-
return { candidate: null, conflict: true };
|
|
114
|
-
chosen = {
|
|
115
|
-
slug: chosen.slug ?? candidate.slug,
|
|
116
|
-
uid: chosen.uid ?? candidate.uid,
|
|
117
|
-
hqRoot: chosen.hqRoot ?? candidate.hqRoot,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
return { candidate: chosen, conflict: false };
|
|
121
|
-
}
|
|
122
|
-
function localCompanyCandidates(ref, state, canonicalHqRoot, canonicalHqRoots = []) {
|
|
123
|
-
const candidates = [];
|
|
124
|
-
// A slug without a UID can be the failed/stale projection this repair is
|
|
125
|
-
// investigating. Only a persisted UID is a durable registration signal.
|
|
126
|
-
if (state?.companyUid) {
|
|
127
|
-
candidates.push({ slug: state.companySlug, uid: state.companyUid });
|
|
128
|
-
}
|
|
129
|
-
const roots = [...new Set([canonicalHqRoot, ...canonicalHqRoots]
|
|
130
|
-
.filter((candidate) => Boolean(candidate)))]
|
|
131
|
-
.map(verifiedHqRoot).filter((root) => Boolean(root));
|
|
132
|
-
const eventEvidence = currentInstanceEventEvidence(ref, state);
|
|
133
|
-
const eventRoots = eventEvidence.map((evidence) => evidence.hqRoot).filter((candidate) => Boolean(candidate));
|
|
134
|
-
for (const root of roots)
|
|
135
|
-
if (eventRoots.some((candidate) => {
|
|
136
|
-
try {
|
|
137
|
-
return fs.realpathSync(candidate) === root;
|
|
138
|
-
}
|
|
139
|
-
catch {
|
|
140
|
-
return false;
|
|
141
|
-
}
|
|
142
|
-
})) {
|
|
143
|
-
const slug = verifiedMetaCompanySlug(ref.sessionId, root);
|
|
144
|
-
if (slug)
|
|
145
|
-
candidates.push({ slug, hqRoot: root });
|
|
146
|
-
// The event cwd itself is not company evidence. The repository's origin is,
|
|
147
|
-
// but only when it is mapped by this verified HQ root's manifest.
|
|
148
|
-
for (const evidence of eventEvidence) {
|
|
149
|
-
if (!evidence.cwd || !evidence.hqRoot)
|
|
150
|
-
continue;
|
|
151
|
-
try {
|
|
152
|
-
if (fs.realpathSync(evidence.hqRoot) !== root)
|
|
153
|
-
continue;
|
|
154
|
-
}
|
|
155
|
-
catch {
|
|
156
|
-
continue;
|
|
157
|
-
}
|
|
158
|
-
const remoteSlug = deriveRemoteOwnerSlug({ cwd: evidence.cwd, hqRoot: root });
|
|
159
|
-
if (remoteSlug)
|
|
160
|
-
candidates.push({ slug: remoteSlug, hqRoot: root });
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
return candidates;
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Keep only event evidence for the current session instance. When the state
|
|
167
|
-
* file has a binding episode, that id is the instance. A timestamp, including
|
|
168
|
-
* one later than startedAt, does not make another episode current.
|
|
169
|
-
* Sessions that predate episodes still use startedAt so an older event is
|
|
170
|
-
* not treated as this instance.
|
|
171
|
-
*/
|
|
172
|
-
function currentInstanceEventEvidence(ref, state) {
|
|
173
|
-
const evidence = ref.eventEvidence ?? [
|
|
174
|
-
{
|
|
175
|
-
hqRoot: ref.hqRoot,
|
|
176
|
-
cwd: ref.cwd,
|
|
177
|
-
harness: ref.harness,
|
|
178
|
-
},
|
|
179
|
-
...(ref.hqRoots ?? []).filter((hqRoot) => hqRoot !== ref.hqRoot).map((hqRoot) => ({ hqRoot })),
|
|
180
|
-
];
|
|
181
|
-
if (state?.bindingEpisodeId) {
|
|
182
|
-
return evidence.filter((entry) => Boolean(entry.hqRoot) && entry.bindingEpisodeId === state.bindingEpisodeId);
|
|
183
|
-
}
|
|
184
|
-
if (!state?.startedAt)
|
|
185
|
-
return evidence;
|
|
186
|
-
const startedAt = Date.parse(state.startedAt);
|
|
187
|
-
if (!Number.isFinite(startedAt))
|
|
188
|
-
return [];
|
|
189
|
-
return evidence.filter((entry) => {
|
|
190
|
-
if (!entry.hqRoot)
|
|
191
|
-
return false;
|
|
192
|
-
const eventAt = entry.at ? Date.parse(entry.at) : Number.NaN;
|
|
193
|
-
return Number.isFinite(eventAt) && eventAt >= startedAt;
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
/** Plain reason when every rooted held event belongs to another episode. */
|
|
197
|
-
function episodeMismatchReason(ref, state) {
|
|
198
|
-
if (!state?.bindingEpisodeId)
|
|
199
|
-
return null;
|
|
200
|
-
const rooted = (ref.eventEvidence ?? []).filter((entry) => entry.hqRoot);
|
|
201
|
-
if (rooted.length === 0)
|
|
202
|
-
return null;
|
|
203
|
-
if (rooted.some((entry) => entry.bindingEpisodeId === state.bindingEpisodeId))
|
|
204
|
-
return null;
|
|
205
|
-
return "episode does not match the current instance";
|
|
206
|
-
}
|
|
207
|
-
function hasOnlyStaleEventEvidence(ref, state) {
|
|
208
|
-
return Boolean((state?.bindingEpisodeId || state?.startedAt) &&
|
|
209
|
-
ref.eventEvidence?.some((entry) => entry.hqRoot) &&
|
|
210
|
-
!currentInstanceEventEvidence(ref, state).some((entry) => entry.hqRoot));
|
|
211
|
-
}
|
|
212
|
-
/** Read-only doctor helper: report only independently verified held evidence. */
|
|
213
|
-
export function refWithLocalCompanyEvidence(ref, canonicalHqRoot, canonicalHqRoots = [], state = null) {
|
|
214
|
-
const evidence = consistentCandidate(localCompanyCandidates(ref, state, canonicalHqRoot, canonicalHqRoots));
|
|
215
|
-
return !evidence.conflict && evidence.candidate?.slug
|
|
216
|
-
? { ...ref, companySlug: evidence.candidate.slug }
|
|
217
|
-
: null;
|
|
218
|
-
}
|
|
24
|
+
import { WORK_CONTEXT_CONTRACT_VERSION } from "../../work-context/contract.js";
|
|
25
|
+
import { resolveCompany } from "../../work-context/company.js";
|
|
26
|
+
import { deriveRemoteOwnerSlug, deriveRepoIdentityKey, } from "../../work-context/repo-remote.js";
|
|
27
|
+
import { workMeshHeldPath } from "./paths.js";
|
|
219
28
|
/**
|
|
220
|
-
* Build the reconcile observation for
|
|
221
|
-
*
|
|
222
|
-
*
|
|
29
|
+
* Build the reconcile observation for one held session, forwarding the company
|
|
30
|
+
* evidence its events recorded (cwd / hqRoot / bound companySlug / project /
|
|
31
|
+
* task). The event's own companySlug is trusted explicit — it is the company
|
|
32
|
+
* the session was bound to when the events were emitted on this box.
|
|
223
33
|
*/
|
|
224
34
|
export function observationFromHeldRef(ref, contractVersion, clientOperationId) {
|
|
225
35
|
const obs = {
|
|
@@ -229,8 +39,12 @@ export function observationFromHeldRef(ref, contractVersion, clientOperationId)
|
|
|
229
39
|
: { sessionId: ref.sessionId },
|
|
230
40
|
clientOperationId,
|
|
231
41
|
};
|
|
42
|
+
if (ref.cwd)
|
|
43
|
+
obs.cwd = ref.cwd;
|
|
44
|
+
if (ref.hqRoot)
|
|
45
|
+
obs.hqRoot = ref.hqRoot;
|
|
232
46
|
if (ref.companySlug || ref.project || ref.task) {
|
|
233
|
-
obs.
|
|
47
|
+
obs.explicit = {
|
|
234
48
|
...(ref.companySlug ? { companySlug: ref.companySlug } : {}),
|
|
235
49
|
...(ref.project ? { projectId: ref.project } : {}),
|
|
236
50
|
...(ref.task ? { taskId: ref.task } : {}),
|
|
@@ -238,129 +52,38 @@ export function observationFromHeldRef(ref, contractVersion, clientOperationId)
|
|
|
238
52
|
}
|
|
239
53
|
return obs;
|
|
240
54
|
}
|
|
241
|
-
/**
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Default dry-run predictor: run the shared `resolveCompany` over the same
|
|
57
|
+
* evidence the write path forwards. Returns true when a company WOULD resolve
|
|
58
|
+
* (so dry-run's `reconciled` count matches the write run's). Purely local:
|
|
59
|
+
* reads config / meta / git-remote, never the network. A slug-only resolution
|
|
60
|
+
* that later fails online membership validation is the one narrow case where
|
|
61
|
+
* the write run can still under-count; the gross all-or-nothing mismatch is
|
|
62
|
+
* gone because both paths key off this same resolver + evidence.
|
|
63
|
+
*/
|
|
64
|
+
function defaultPredictCompany(ref, workContextRoot, remoteOwnerHint, env) {
|
|
65
|
+
const remoteOwnerSlug = remoteOwnerHint?.trim() ||
|
|
66
|
+
(ref.cwd
|
|
67
|
+
? deriveRemoteOwnerSlug({ cwd: ref.cwd, hqRoot: ref.hqRoot }) ?? undefined
|
|
68
|
+
: undefined);
|
|
69
|
+
const repoIdentityKey = ref.cwd
|
|
70
|
+
? deriveRepoIdentityKey({ cwd: ref.cwd })
|
|
71
|
+
: null;
|
|
249
72
|
const resolution = resolveCompany({
|
|
250
73
|
root: workContextRoot,
|
|
251
74
|
sessionId: ref.sessionId,
|
|
252
75
|
env,
|
|
253
76
|
trusted: ref.companySlug ? { companySlug: ref.companySlug } : undefined,
|
|
77
|
+
cwd: ref.cwd,
|
|
78
|
+
hqRoot: ref.hqRoot,
|
|
254
79
|
remoteOwnerSlug,
|
|
255
|
-
|
|
80
|
+
repoIdentityKey,
|
|
256
81
|
});
|
|
257
|
-
|
|
258
|
-
return { kind: resolution.status, reason: resolution.status };
|
|
259
|
-
}
|
|
260
|
-
const resolved = resolution.company;
|
|
261
|
-
if (!resolved.slug)
|
|
262
|
-
return { kind: "queued" };
|
|
263
|
-
if (!validateMembership) {
|
|
264
|
-
// Device defaults are weak, cached evidence. Reconcile refuses to use one
|
|
265
|
-
// for tenant I/O until membership has been revalidated, so the dry-run
|
|
266
|
-
// preview must fail closed in precisely the same way.
|
|
267
|
-
if (resolved.source === "device_default") {
|
|
268
|
-
return {
|
|
269
|
-
kind: "needs_company",
|
|
270
|
-
reason: "needs_company: device-default membership validator unavailable",
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
return { kind: "queued" };
|
|
274
|
-
}
|
|
275
|
-
try {
|
|
276
|
-
const membership = await validateMembership(resolved.slug);
|
|
277
|
-
if (membership === false) {
|
|
278
|
-
return {
|
|
279
|
-
kind: "needs_company",
|
|
280
|
-
reason: `membership denied for slug=${resolved.slug}`,
|
|
281
|
-
};
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
catch (err) {
|
|
285
|
-
// reconcile continues on a failed refresh for durable local evidence, but
|
|
286
|
-
// must stop a device-default recovery because that evidence is weak.
|
|
287
|
-
if (resolved.source === "device_default") {
|
|
288
|
-
return {
|
|
289
|
-
kind: "needs_company",
|
|
290
|
-
reason: `device-default membership refresh unavailable: ${err instanceof Error ? err.message : String(err)}`,
|
|
291
|
-
};
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
return { kind: "queued" };
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* A backfill is only useful when the daemon can observe a durable company
|
|
298
|
-
* binding on its next held retry. Do not use the reconcile result alone here:
|
|
299
|
-
* a completed reconcile may legitimately return needs_company after a failed
|
|
300
|
-
* membership lookup, and that leaves the held events exactly where they were.
|
|
301
|
-
*
|
|
302
|
-
* A persisted companySlug without a companyUid is still a durable binding:
|
|
303
|
-
* the daemon resolves the uid via membership validation on its next held retry.
|
|
304
|
-
* Requiring companyUid causes dry-run and live counts to diverge when offline
|
|
305
|
-
* reconcile writes only a slug (resolveCompany returns trusted_explicit with
|
|
306
|
-
* no uid when no manifest lookup occurs), making live report reconciled=0 for
|
|
307
|
-
* sessions the dry-run correctly predicted as recoverable.
|
|
308
|
-
*/
|
|
309
|
-
function hasDurableCompanyRecovery(sessionId, workContextRoot, readState) {
|
|
310
|
-
const state = readState(sessionId, workContextRoot);
|
|
311
|
-
return Boolean(state?.companyUid || state?.companySlug);
|
|
312
|
-
}
|
|
313
|
-
function latestAcknowledgedRegistration(sessionId, operations) {
|
|
314
|
-
for (let index = operations.length - 1; index >= 0; index -= 1) {
|
|
315
|
-
const operation = operations[index];
|
|
316
|
-
if (operation.kind === "register" &&
|
|
317
|
-
operation.delivery === "acked" &&
|
|
318
|
-
operation.sessionId === sessionId &&
|
|
319
|
-
operation.companyUid &&
|
|
320
|
-
operation.receiptId) {
|
|
321
|
-
return operation;
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
return null;
|
|
325
|
-
}
|
|
326
|
-
function acknowledgedRegistrationMatches(operation, ref, evidence, state) {
|
|
327
|
-
if (!operation.companyUid || !operation.receiptId)
|
|
328
|
-
return false;
|
|
329
|
-
if (state?.bindingEpisodeId) {
|
|
330
|
-
if (state.bindingEpisodeId !== operation.receiptId)
|
|
331
|
-
return false;
|
|
332
|
-
}
|
|
333
|
-
else {
|
|
334
|
-
if (!state?.startedAt)
|
|
335
|
-
return false;
|
|
336
|
-
const startedAt = Date.parse(state.startedAt);
|
|
337
|
-
const registeredAt = Date.parse(operation.createdAt);
|
|
338
|
-
if (!Number.isFinite(startedAt) || !Number.isFinite(registeredAt) || registeredAt < startedAt) {
|
|
339
|
-
return false;
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
if (evidence &&
|
|
343
|
-
!candidatesAgree(evidence, {
|
|
344
|
-
slug: operation.companySlug,
|
|
345
|
-
uid: operation.companyUid,
|
|
346
|
-
}))
|
|
347
|
-
return false;
|
|
348
|
-
if (ref.harness && operation.harness && ref.harness !== operation.harness)
|
|
349
|
-
return false;
|
|
350
|
-
return true;
|
|
351
|
-
}
|
|
352
|
-
/** Shared doctor/backfill gate for a receipt that is safe to treat as current evidence. */
|
|
353
|
-
export function hasCurrentAcknowledgedRegistration(ref, state, operations, hqRoot, hqRoots = []) {
|
|
354
|
-
const evidence = consistentCandidate(localCompanyCandidates(ref, state, hqRoot, hqRoots));
|
|
355
|
-
if (evidence.conflict)
|
|
356
|
-
return false;
|
|
357
|
-
const operation = latestAcknowledgedRegistration(ref.sessionId, operations);
|
|
358
|
-
return Boolean(operation && acknowledgedRegistrationMatches(operation, ref, evidence.candidate, state));
|
|
82
|
+
return resolution.status === "resolved";
|
|
359
83
|
}
|
|
360
84
|
/**
|
|
361
|
-
* Read held.jsonl and return distinct sessions
|
|
362
|
-
*
|
|
363
|
-
* implementation missed exactly that shape after a session became bound).
|
|
85
|
+
* Read held.jsonl and return distinct sessions (first occurrence wins),
|
|
86
|
+
* carrying the harness from whichever held event we saw first for that session.
|
|
364
87
|
* Lines that fail to parse or carry no sessionId are ignored (the daemon owns
|
|
365
88
|
* their disposition; this backfill never mutates or deletes held lines).
|
|
366
89
|
*/
|
|
@@ -389,48 +112,37 @@ export function readHeldSessions(workMeshRoot) {
|
|
|
389
112
|
continue;
|
|
390
113
|
const obj = parsed;
|
|
391
114
|
// Peel the held envelope { event, heldReason, heldAt } if present.
|
|
392
|
-
const
|
|
115
|
+
const event = obj.event &&
|
|
393
116
|
typeof obj.event === "object" &&
|
|
394
117
|
!Array.isArray(obj.event) &&
|
|
395
118
|
typeof obj.heldReason === "string"
|
|
396
|
-
? obj
|
|
397
|
-
:
|
|
398
|
-
const event = envelope ? envelope.event : obj;
|
|
119
|
+
? obj.event
|
|
120
|
+
: obj;
|
|
399
121
|
const sessionId = typeof event.sessionId === "string" && event.sessionId.trim()
|
|
400
122
|
? event.sessionId.trim()
|
|
401
123
|
: null;
|
|
402
|
-
if (!sessionId)
|
|
124
|
+
if (!sessionId || seen.has(sessionId))
|
|
403
125
|
continue;
|
|
404
126
|
const str = (v) => typeof v === "string" && v.trim() ? v.trim() : undefined;
|
|
405
|
-
const ref =
|
|
127
|
+
const ref = { sessionId };
|
|
406
128
|
const harness = str(event.harness);
|
|
407
|
-
if (harness
|
|
129
|
+
if (harness)
|
|
408
130
|
ref.harness = harness;
|
|
409
131
|
const cwd = str(event.cwd);
|
|
410
|
-
if (cwd
|
|
132
|
+
if (cwd)
|
|
411
133
|
ref.cwd = cwd;
|
|
412
134
|
const hqRoot = str(event.hqRoot);
|
|
413
|
-
if (hqRoot)
|
|
414
|
-
|
|
415
|
-
ref.hqRoot = hqRoot;
|
|
416
|
-
if (!ref.hqRoots?.includes(hqRoot)) {
|
|
417
|
-
ref.hqRoots = [...(ref.hqRoots ?? []), hqRoot];
|
|
418
|
-
}
|
|
419
|
-
}
|
|
135
|
+
if (hqRoot)
|
|
136
|
+
ref.hqRoot = hqRoot;
|
|
420
137
|
const companySlug = str(event.companySlug);
|
|
421
|
-
if (companySlug
|
|
138
|
+
if (companySlug)
|
|
422
139
|
ref.companySlug = companySlug;
|
|
423
140
|
const project = str(event.project);
|
|
424
|
-
if (project
|
|
141
|
+
if (project)
|
|
425
142
|
ref.project = project;
|
|
426
143
|
const task = str(event.task);
|
|
427
|
-
if (task
|
|
144
|
+
if (task)
|
|
428
145
|
ref.task = task;
|
|
429
|
-
const at = str(event.at) ?? (envelope ? str(envelope.heldAt) : undefined);
|
|
430
|
-
const bindingEpisodeId = str(event.bindingEpisodeId);
|
|
431
|
-
if (hqRoot || cwd) {
|
|
432
|
-
ref.eventEvidence = [...(ref.eventEvidence ?? []), { hqRoot, cwd, harness, at, bindingEpisodeId }];
|
|
433
|
-
}
|
|
434
146
|
seen.set(sessionId, ref);
|
|
435
147
|
}
|
|
436
148
|
return [...seen.values()];
|
|
@@ -446,22 +158,17 @@ export async function backfillHeldSessions(deps) {
|
|
|
446
158
|
const readState = deps.readState ?? readSessionState;
|
|
447
159
|
const env = deps.env ?? process.env;
|
|
448
160
|
const newOperationId = deps.newOperationId ?? (() => globalThis.crypto.randomUUID());
|
|
161
|
+
const predictCompany = deps.predictCompany ??
|
|
162
|
+
((ref) => defaultPredictCompany(ref, deps.workContextRoot, deps.remoteOwnerHint, env));
|
|
449
163
|
const sessions = readHeldSessions(deps.workMeshRoot);
|
|
450
|
-
|
|
451
|
-
// lose its state projection on a later hook write; recover that projection
|
|
452
|
-
// directly instead of re-registering the same session.
|
|
453
|
-
const outboxOperations = listOutboxOperations(deps.workContextRoot);
|
|
454
|
-
const considered = rotateSessions(sessions, limit, (deps.readCursor ?? (() => readBackfillCursor(deps.workMeshRoot)))());
|
|
164
|
+
const considered = limit > 0 ? sessions.slice(0, limit) : sessions;
|
|
455
165
|
const result = {
|
|
456
166
|
scanned: sessions.length,
|
|
457
167
|
considered: considered.length,
|
|
458
168
|
alreadyAttributed: 0,
|
|
459
169
|
reconciled: 0,
|
|
460
170
|
unresolved: 0,
|
|
461
|
-
conflictingEvidence: 0,
|
|
462
|
-
noEvidence: 0,
|
|
463
171
|
errors: 0,
|
|
464
|
-
unresolvedReasons: [],
|
|
465
172
|
dryRun,
|
|
466
173
|
};
|
|
467
174
|
for (const ref of considered) {
|
|
@@ -471,82 +178,29 @@ export async function backfillHeldSessions(deps) {
|
|
|
471
178
|
result.alreadyAttributed += 1;
|
|
472
179
|
continue;
|
|
473
180
|
}
|
|
474
|
-
const evidence = consistentCandidate(localCompanyCandidates(ref, state, deps.hqRoot, deps.hqRoots));
|
|
475
|
-
if (evidence.conflict) {
|
|
476
|
-
result.unresolved += 1;
|
|
477
|
-
result.conflictingEvidence += 1;
|
|
478
|
-
deps.log?.(`unresolved ${sessionId} (CONFLICTING_EVIDENCE)`);
|
|
479
|
-
continue;
|
|
480
|
-
}
|
|
481
|
-
const acknowledged = latestAcknowledgedRegistration(sessionId, outboxOperations);
|
|
482
|
-
const acknowledgedMatches = acknowledged && acknowledgedRegistrationMatches(acknowledged, ref, evidence.candidate, state);
|
|
483
|
-
if (acknowledged && !acknowledgedMatches) {
|
|
484
|
-
deps.log?.(`ignored stale acknowledged register for ${sessionId}`);
|
|
485
|
-
}
|
|
486
|
-
if (acknowledgedMatches && dryRun) {
|
|
487
|
-
result.reconciled += 1;
|
|
488
|
-
deps.log?.(`would reconcile ${sessionId} from acknowledged register`);
|
|
489
|
-
continue;
|
|
490
|
-
}
|
|
491
|
-
if (acknowledgedMatches) {
|
|
492
|
-
writeAckedRegisterState(acknowledged, deps.workContextRoot, acknowledged.receiptId);
|
|
493
|
-
if (readState(sessionId, deps.workContextRoot)?.companyUid) {
|
|
494
|
-
result.reconciled += 1;
|
|
495
|
-
deps.log?.(`reconciled ${sessionId} from acknowledged register`);
|
|
496
|
-
continue;
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
// Historical repair may use the explicitly opted-in device default only
|
|
500
|
-
// when there is no durable local company evidence. Never manufacture a
|
|
501
|
-
// slug from the held event itself.
|
|
502
|
-
if (!evidence.candidate?.slug && deps.useDeviceDefault !== true) {
|
|
503
|
-
result.unresolved += 1;
|
|
504
|
-
result.noEvidence += 1;
|
|
505
|
-
const staleReason = episodeMismatchReason(ref, state)
|
|
506
|
-
?? (hasOnlyStaleEventEvidence(ref, state) ? "STALE_EVIDENCE" : "no local company evidence");
|
|
507
|
-
deps.log?.(`would stay unresolved ${sessionId} (${staleReason})`);
|
|
508
|
-
continue;
|
|
509
|
-
}
|
|
510
|
-
const evidenceRef = {
|
|
511
|
-
sessionId,
|
|
512
|
-
harness,
|
|
513
|
-
companySlug: evidence.candidate?.slug,
|
|
514
|
-
// Held-event fields are transport input, not trusted context. Preserve
|
|
515
|
-
// project/task only when the durable session state already owns them.
|
|
516
|
-
project: state?.projectId,
|
|
517
|
-
task: state?.taskId,
|
|
518
|
-
};
|
|
519
181
|
if (dryRun) {
|
|
520
|
-
|
|
521
|
-
|
|
182
|
+
// Predict with the SAME evidence + resolver the write path uses, so the
|
|
183
|
+
// dry-run counts match a real run (no blanket would-reconcile).
|
|
184
|
+
if (predictCompany(ref)) {
|
|
522
185
|
result.reconciled += 1;
|
|
523
186
|
deps.log?.(`would reconcile ${sessionId}${harness ? ` (${harness})` : ""}`);
|
|
524
187
|
}
|
|
525
188
|
else {
|
|
526
189
|
result.unresolved += 1;
|
|
527
|
-
|
|
528
|
-
result.unresolvedReasons.push({ sessionId, reason });
|
|
529
|
-
deps.log?.(`would stay unresolved ${sessionId} (${reason})`);
|
|
190
|
+
deps.log?.(`would stay unresolved ${sessionId} (no company evidence)`);
|
|
530
191
|
}
|
|
531
192
|
continue;
|
|
532
193
|
}
|
|
533
|
-
const obs = observationFromHeldRef(
|
|
194
|
+
const obs = observationFromHeldRef(ref, contractVersion, newOperationId());
|
|
534
195
|
try {
|
|
535
196
|
const outcome = await deps.reconcile(obs);
|
|
536
|
-
if (
|
|
537
|
-
hasDurableCompanyRecovery(sessionId, deps.workContextRoot, readState)) {
|
|
197
|
+
if (outcome.result.companyUid) {
|
|
538
198
|
result.reconciled += 1;
|
|
539
|
-
deps.log?.(`reconciled ${sessionId} →
|
|
540
|
-
}
|
|
541
|
-
else if (outcome.result.errorCode === "NOT_TRACKING") {
|
|
542
|
-
result.errors += 1;
|
|
543
|
-
deps.log?.(`error ${sessionId}: NOT_TRACKING (state was not durable)`);
|
|
199
|
+
deps.log?.(`reconciled ${sessionId} → ${outcome.result.companyUid}`);
|
|
544
200
|
}
|
|
545
201
|
else {
|
|
546
202
|
result.unresolved += 1;
|
|
547
|
-
|
|
548
|
-
result.unresolvedReasons.push({ sessionId, reason });
|
|
549
|
-
deps.log?.(`unresolved ${sessionId} (${reason})`);
|
|
203
|
+
deps.log?.(`unresolved ${sessionId} (no company)`);
|
|
550
204
|
}
|
|
551
205
|
}
|
|
552
206
|
catch (err) {
|
|
@@ -554,14 +208,6 @@ export async function backfillHeldSessions(deps) {
|
|
|
554
208
|
deps.log?.(`error ${sessionId}: ${err instanceof Error ? err.message : String(err)}`);
|
|
555
209
|
}
|
|
556
210
|
}
|
|
557
|
-
if (!dryRun && limit > 0 && considered.length > 0) {
|
|
558
|
-
const last = considered[considered.length - 1];
|
|
559
|
-
const ordinal = sessions.findIndex((ref) => ref.sessionId === last.sessionId);
|
|
560
|
-
(deps.writeCursor ?? ((cursor) => writeBackfillCursor(deps.workMeshRoot, cursor)))({
|
|
561
|
-
sessionId: last.sessionId,
|
|
562
|
-
...(ordinal >= 0 ? { ordinal } : {}),
|
|
563
|
-
});
|
|
564
|
-
}
|
|
565
211
|
return result;
|
|
566
212
|
}
|
|
567
213
|
//# sourceMappingURL=backfill-held.js.map
|
|
@@ -6,11 +6,11 @@ export declare const BACKOFF_BASE_MS = 1000;
|
|
|
6
6
|
export declare const BACKOFF_CAP_MS = 60000;
|
|
7
7
|
export declare const FLUSH_MAX_ATTEMPTS = 5;
|
|
8
8
|
export type RandomFn = () => number;
|
|
9
|
-
export type SleepFn = (ms: number
|
|
9
|
+
export type SleepFn = (ms: number) => Promise<void>;
|
|
10
10
|
export declare function fullJitterDelayMs(attempt: number, opts?: {
|
|
11
11
|
baseMs?: number;
|
|
12
12
|
capMs?: number;
|
|
13
13
|
random?: RandomFn;
|
|
14
14
|
}): number;
|
|
15
|
-
export declare function defaultSleep(ms: number
|
|
15
|
+
export declare function defaultSleep(ms: number): Promise<void>;
|
|
16
16
|
//# sourceMappingURL=backoff.d.ts.map
|
|
@@ -12,22 +12,9 @@ export function fullJitterDelayMs(attempt, opts = {}) {
|
|
|
12
12
|
const exp = Math.min(cap, base * 2 ** attempt);
|
|
13
13
|
return Math.floor(random() * exp);
|
|
14
14
|
}
|
|
15
|
-
export async function defaultSleep(ms
|
|
16
|
-
if (ms <= 0
|
|
15
|
+
export async function defaultSleep(ms) {
|
|
16
|
+
if (ms <= 0)
|
|
17
17
|
return;
|
|
18
|
-
await new Promise((resolve) =>
|
|
19
|
-
const onAbort = () => {
|
|
20
|
-
clearTimeout(timer);
|
|
21
|
-
finish();
|
|
22
|
-
};
|
|
23
|
-
const finish = () => {
|
|
24
|
-
signal?.removeEventListener("abort", onAbort);
|
|
25
|
-
resolve();
|
|
26
|
-
};
|
|
27
|
-
const timer = setTimeout(finish, ms);
|
|
28
|
-
signal?.addEventListener("abort", onAbort, { once: true });
|
|
29
|
-
if (signal?.aborted)
|
|
30
|
-
onAbort();
|
|
31
|
-
});
|
|
18
|
+
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
32
19
|
}
|
|
33
20
|
//# sourceMappingURL=backoff.js.map
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Refresh ~/.hq/work-context/sessions/<sid>/board.md for bound sessions
|
|
3
|
-
* from
|
|
4
|
-
*
|
|
5
|
-
* Board JSON remains the fallback for older projects, but story status is
|
|
6
|
-
* authoritative in ProjectView because `hq mesh story` writes there.
|
|
3
|
+
* from GET /companies/{companyUid}/board at most every 60s.
|
|
7
4
|
* Metadata-only snapshot — never prompts or tokens.
|
|
8
5
|
*/
|
|
9
|
-
import type { SessionStateFile } from "../../../work-context/state.js";
|
|
10
6
|
export declare const BOARD_REFRESH_INTERVAL_MS = 60000;
|
|
11
7
|
export interface BoardStorySnapshot {
|
|
12
8
|
id: string;
|
|
@@ -27,8 +23,6 @@ export interface BoardRefreshDeps {
|
|
|
27
23
|
/** Per-session last refresh timestamps (ms). */
|
|
28
24
|
lastRefresh?: Map<string, number>;
|
|
29
25
|
intervalMs?: number;
|
|
30
|
-
/** Authorizes a device-default-derived session before its tenant read. */
|
|
31
|
-
authorizeDeviceDefaultTenant?: (sessionId: string, state: SessionStateFile) => Promise<boolean>;
|
|
32
26
|
}
|
|
33
27
|
export declare function formatBoardMarkdown(input: {
|
|
34
28
|
sessionId: string;
|