@indigoai-us/hq-cli 5.313.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 -4300
- 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 -357
- package/dist/commands/company-transfer.d.ts +28 -4
- package/dist/commands/company-transfer.js +49 -5
- package/dist/commands/company.js +3 -68
- 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 -277
- 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 -87
- 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 -20
- 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 +7 -26
- 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 -53
- package/dist/lib/mesh/live/daemon/doctor.js +6 -190
- 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 -13
- package/dist/lib/work-context/contract.schema.json +1 -3
- 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 +5 -27
- package/dist/lib/work-context/outbox.js +6 -135
- package/dist/lib/work-context/reconcile.d.ts +0 -15
- package/dist/lib/work-context/reconcile.js +29 -405
- 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 -32
- package/dist/main.js +73 -273
- 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 +14 -2
- package/dist/utils/pack-contributions.js +44 -7
- 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.d.ts +2 -0
- package/dist/utils/redact-error-text.js +2 -3
- package/dist/utils/run-bundled-script.d.ts +0 -6
- package/dist/utils/run-bundled-script.js +4 -117
- package/dist/utils/sandbox-runner-client.d.ts +1 -2
- 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/lib/work-mesh-live-hook.sh +0 -378
- package/assets/scaffold/core/scripts/lib/work-mesh-live-rebind.sh +0 -141
- package/assets/scaffold/core/scripts/migrate-policy-triggers.sh +0 -373
- 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/register-project.sh +0 -262
- 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/work-mesh-live-rebind.sh +0 -59
- 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 -10735
- package/dist/command-catalog.generated.js +0 -13836
- 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/company-rename-flag.d.ts +0 -4
- package/dist/commands/company-rename-flag.js +0 -7
- package/dist/commands/company-rename.d.ts +0 -4
- package/dist/commands/company-rename.js +0 -90
- 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-eval-trigger-native.d.ts +0 -4
- package/dist/commands/core-eval-trigger-native.js +0 -12
- 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 -11
- package/dist/commands/core-knowledge-prefs.js +0 -137
- package/dist/commands/core-migrate-policy-triggers-native.d.ts +0 -21
- package/dist/commands/core-migrate-policy-triggers-native.js +0 -378
- 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-hook-helper-commands.d.ts +0 -4
- package/dist/commands/core-native-hook-helper-commands.js +0 -56
- package/dist/commands/core-native-hook-helpers-flag.d.ts +0 -4
- package/dist/commands/core-native-hook-helpers-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-register-project-native.d.ts +0 -30
- package/dist/commands/core-register-project-native.js +0 -347
- 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-work-mesh-live-rebind-native.d.ts +0 -18
- package/dist/commands/core-work-mesh-live-rebind-native.js +0 -262
- 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 -4
- 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 -937
- 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 -1005
- 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 -564
- 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 -8973
- 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 -86
- package/dist/fast-scaffold.js +0 -364
- 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 -94
- package/dist/lib/lanes/config.js +0 -606
- 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/disk-guard.d.ts +0 -66
- package/dist/lib/lanes/disk-guard.js +0 -172
- 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 -15
- package/dist/lib/lanes/flag-keys.js +0 -15
- package/dist/lib/lanes/grants.d.ts +0 -30
- package/dist/lib/lanes/grants.js +0 -171
- package/dist/lib/lanes/hire-grant-dispatch.d.ts +0 -29
- package/dist/lib/lanes/hire-grant-dispatch.js +0 -315
- 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 -161
- package/dist/lib/lanes/reconcile.js +0 -3324
- package/dist/lib/lanes/registry-flag.d.ts +0 -35
- package/dist/lib/lanes/registry-flag.js +0 -164
- 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 -355
- package/dist/lib/lanes/spawn.js +0 -2668
- 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 -1822
- 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 -1030
- package/dist/lib/lanes/types.js +0 -418
- 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/denial-codes.d.ts +0 -5
- package/dist/lib/mesh/denial-codes.js +0 -14
- 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 -34
- package/dist/lib/search-index/embed-lock.js +0 -295
- 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/core-eval-trigger.d.ts +0 -4
- package/dist/utils/core-eval-trigger.js +0 -88
- 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
|
@@ -3,7 +3,6 @@ import * as fs from 'node:fs';
|
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
import * as yaml from 'js-yaml';
|
|
5
5
|
import { contributionLinks } from '../../utils/pack-contributions.js';
|
|
6
|
-
import { CONTRIBUTION_TABLE } from '../../utils/contribution-table.js';
|
|
7
6
|
function isDirectory(target) { try {
|
|
8
7
|
return fs.statSync(target).isDirectory();
|
|
9
8
|
}
|
|
@@ -18,7 +17,7 @@ catch {
|
|
|
18
17
|
return false;
|
|
19
18
|
} }
|
|
20
19
|
function normalized(relative) { return relative.replaceAll(path.sep, '/'); }
|
|
21
|
-
|
|
20
|
+
function readContributes(manifest) {
|
|
22
21
|
// This deliberately mirrors the staging script's shallow awk grammar rather
|
|
23
22
|
// than accepting YAML forms the legacy ABI never recognized (notably a
|
|
24
23
|
// non-empty inline list). Mapping remains single-sourced in
|
|
@@ -141,61 +140,19 @@ function workerIdClashes(hqRoot, source) {
|
|
|
141
140
|
}
|
|
142
141
|
return undefined;
|
|
143
142
|
}
|
|
144
|
-
/**
|
|
145
|
-
* What a symlink's target resolves to: `present`, `absent`, or the errno of a
|
|
146
|
-
* lookup that answered neither. Only ENOENT (nothing there) and ENOTDIR (a
|
|
147
|
-
* path component is not a directory, so the target cannot exist) mean absent.
|
|
148
|
-
* EACCES, ELOOP and friends mean the question went unanswered, which is not a
|
|
149
|
-
* licence to destroy what the link points at.
|
|
150
|
-
*/
|
|
151
|
-
function targetLookup(target) {
|
|
152
|
-
try {
|
|
153
|
-
fs.statSync(target);
|
|
154
|
-
return 'present';
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
const code = error.code;
|
|
158
|
-
return code === 'ENOENT' || code === 'ENOTDIR' ? 'absent' : code ?? 'unknown error';
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
143
|
function ensureSymlink(link, info, warn) {
|
|
162
144
|
if (!existsOrSymlink(link.src)) {
|
|
163
145
|
warn(`payload missing: ${link.src} (declared but not shipped)`);
|
|
164
146
|
return;
|
|
165
147
|
}
|
|
166
|
-
const relativeSrc = path.relative(path.dirname(link.dst), link.src);
|
|
167
148
|
fs.mkdirSync(path.dirname(link.dst), { recursive: true });
|
|
168
149
|
try {
|
|
169
150
|
const stat = fs.lstatSync(link.dst);
|
|
170
151
|
if (stat.isSymbolicLink()) {
|
|
171
152
|
const existing = fs.readlinkSync(link.dst);
|
|
172
|
-
|
|
173
|
-
// between machines. An absolute match (this host, pre-relative installer)
|
|
174
|
-
// is ours and converges. A dangling leftover from another HQ root is
|
|
175
|
-
// not host content and is rewritten the same way.
|
|
176
|
-
if (existing === relativeSrc)
|
|
177
|
-
return;
|
|
178
|
-
if (existing === link.src) {
|
|
179
|
-
fs.rmSync(link.dst, { force: true });
|
|
180
|
-
fs.symlinkSync(relativeSrc, link.dst);
|
|
181
|
-
info(`relinked ${link.dst} -> ${relativeSrc} (was ${existing})`);
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
// Only a lookup that specifically says "not there" earns a relink.
|
|
185
|
-
// fs.existsSync also answers false for EACCES, which would read content
|
|
186
|
-
// this user merely cannot traverse as absent and delete the link to it.
|
|
187
|
-
const lookup = targetLookup(link.dst);
|
|
188
|
-
if (lookup === 'absent') {
|
|
189
|
-
fs.rmSync(link.dst, { force: true });
|
|
190
|
-
fs.symlinkSync(relativeSrc, link.dst);
|
|
191
|
-
info(`relinked ${link.dst} -> ${relativeSrc} (was ${existing}, which does not exist here)`);
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
if (lookup !== 'present') {
|
|
195
|
-
warn(`collision: ${link.dst} points at ${existing}, which could not be checked (${lookup}) — leaving it alone`);
|
|
153
|
+
if (existing === link.src)
|
|
196
154
|
return;
|
|
197
|
-
}
|
|
198
|
-
warn(`collision: ${link.dst} already points at ${existing} (wanted ${relativeSrc}) — skipping`);
|
|
155
|
+
warn(`collision: ${link.dst} already points at ${existing} (wanted ${link.src}) — skipping`);
|
|
199
156
|
return;
|
|
200
157
|
}
|
|
201
158
|
warn(`collision: ${link.dst} exists as regular file/dir — host content wins, skipping`);
|
|
@@ -205,104 +162,8 @@ function ensureSymlink(link, info, warn) {
|
|
|
205
162
|
if (error.code !== 'ENOENT')
|
|
206
163
|
throw error;
|
|
207
164
|
}
|
|
208
|
-
fs.symlinkSync(
|
|
209
|
-
info(`linked ${link.dst} -> ${
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* The link text, when `entry` is a symlink whose target is definitively not
|
|
213
|
-
* there; `undefined` for anything else — a real file or directory, a link that
|
|
214
|
-
* resolves, or a lookup that failed for a reason other than absence.
|
|
215
|
-
*/
|
|
216
|
-
function danglingLinkTarget(entry) {
|
|
217
|
-
let link;
|
|
218
|
-
try {
|
|
219
|
-
if (!fs.lstatSync(entry).isSymbolicLink())
|
|
220
|
-
return undefined;
|
|
221
|
-
link = fs.readlinkSync(entry);
|
|
222
|
-
}
|
|
223
|
-
catch {
|
|
224
|
-
return undefined;
|
|
225
|
-
}
|
|
226
|
-
return targetLookup(entry) === 'absent' ? link : undefined;
|
|
227
|
-
}
|
|
228
|
-
/** Host directories the table routes symlinks into, HQ-root relative. */
|
|
229
|
-
function symlinkHostRoots() {
|
|
230
|
-
const roots = new Set();
|
|
231
|
-
for (const row of Object.values(CONTRIBUTION_TABLE)) {
|
|
232
|
-
if (row.wire === 'symlink')
|
|
233
|
-
roots.add(row.host);
|
|
234
|
-
}
|
|
235
|
-
return [...roots].sort();
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Remove host symlinks that point into `core/packages/` at a payload that is
|
|
239
|
-
* no longer there.
|
|
240
|
-
*
|
|
241
|
-
* Wiring only ever adds. A contribution a pack stops shipping, or a pack whose
|
|
242
|
-
* directory is itself a link into a deleted worktree, leaves its host links
|
|
243
|
-
* pointing at nothing, and nothing removed them — so they accumulated and
|
|
244
|
-
* warned on every run forever.
|
|
245
|
-
*
|
|
246
|
-
* Scoped three ways so this only reaps what the pack system wired:
|
|
247
|
-
* - only inside the host roots the contribution table declares,
|
|
248
|
-
* - only symlinks whose target resolves inside `core/packages/`,
|
|
249
|
-
* - only when the lookup specifically says the target is absent. EACCES and
|
|
250
|
-
* friends mean the question went unanswered, which is not a licence to
|
|
251
|
-
* delete (same discipline as the relink path).
|
|
252
|
-
*
|
|
253
|
-
* A symlinked directory is classified, never descended into: a Dirent reports
|
|
254
|
-
* it as a symlink rather than a directory, so the walk cannot wander out of
|
|
255
|
-
* the host roots through one.
|
|
256
|
-
*/
|
|
257
|
-
function reapOrphanedLinks(hqRoot, info, warn) {
|
|
258
|
-
const packagesRoot = path.join(hqRoot, 'core/packages') + path.sep;
|
|
259
|
-
for (const hostRelative of symlinkHostRoots()) {
|
|
260
|
-
const stack = [path.join(hqRoot, hostRelative)];
|
|
261
|
-
while (stack.length > 0) {
|
|
262
|
-
const current = stack.pop();
|
|
263
|
-
let entries;
|
|
264
|
-
try {
|
|
265
|
-
entries = fs.readdirSync(current, { withFileTypes: true });
|
|
266
|
-
}
|
|
267
|
-
catch {
|
|
268
|
-
continue;
|
|
269
|
-
}
|
|
270
|
-
entries.sort((left, right) => (left.name < right.name ? -1 : left.name > right.name ? 1 : 0));
|
|
271
|
-
for (const entry of entries) {
|
|
272
|
-
const absolute = path.join(current, entry.name);
|
|
273
|
-
if (entry.isDirectory()) {
|
|
274
|
-
stack.push(absolute);
|
|
275
|
-
continue;
|
|
276
|
-
}
|
|
277
|
-
if (!entry.isSymbolicLink())
|
|
278
|
-
continue;
|
|
279
|
-
let target;
|
|
280
|
-
try {
|
|
281
|
-
target = fs.readlinkSync(absolute);
|
|
282
|
-
}
|
|
283
|
-
catch {
|
|
284
|
-
continue;
|
|
285
|
-
}
|
|
286
|
-
const resolved = path.resolve(path.dirname(absolute), target);
|
|
287
|
-
if (!resolved.startsWith(packagesRoot))
|
|
288
|
-
continue;
|
|
289
|
-
const lookup = targetLookup(absolute);
|
|
290
|
-
if (lookup === 'present')
|
|
291
|
-
continue;
|
|
292
|
-
if (lookup !== 'absent') {
|
|
293
|
-
warn(`${absolute} points into core/packages at ${resolved}, which could not be checked (${lookup}) — leaving it alone`);
|
|
294
|
-
continue;
|
|
295
|
-
}
|
|
296
|
-
try {
|
|
297
|
-
fs.rmSync(absolute, { force: true });
|
|
298
|
-
info(`unwired ${absolute} (its pack payload ${resolved} is gone)`);
|
|
299
|
-
}
|
|
300
|
-
catch (error) {
|
|
301
|
-
warn(`could not unwire ${absolute} (${error.message})`);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
}
|
|
165
|
+
fs.symlinkSync(link.src, link.dst);
|
|
166
|
+
info(`linked ${link.dst} -> ${link.src}`);
|
|
306
167
|
}
|
|
307
168
|
/** Wire installed pack contributions into their table-declared host locations. */
|
|
308
169
|
export function scanPackages(hqRoot, options = {}) {
|
|
@@ -313,9 +174,6 @@ export function scanPackages(hqRoot, options = {}) {
|
|
|
313
174
|
const warn = (message) => warnSink(` [warn] ${message}`);
|
|
314
175
|
const packages = path.join(hqRoot, 'core/packages');
|
|
315
176
|
if (!isDirectory(packages)) {
|
|
316
|
-
// Still sweep: a packages directory that is gone entirely is exactly when
|
|
317
|
-
// every link into it is an orphan.
|
|
318
|
-
reapOrphanedLinks(hqRoot, info, warn);
|
|
319
177
|
info('[scan-packages] no core/packages/ dir; nothing to wire');
|
|
320
178
|
return { status: 0 };
|
|
321
179
|
}
|
|
@@ -332,24 +190,7 @@ export function scanPackages(hqRoot, options = {}) {
|
|
|
332
190
|
for (const name of packageNames) {
|
|
333
191
|
const packDir = path.join(packages, name);
|
|
334
192
|
const manifest = path.join(packDir, 'package.yaml');
|
|
335
|
-
if (!isDirectory(packDir))
|
|
336
|
-
// A dangling entry in core/packages/ is not a pack and cannot become
|
|
337
|
-
// one — typically an install from a worktree that was later removed.
|
|
338
|
-
// Only a symlink to nothing qualifies: a real directory holds real
|
|
339
|
-
// files whatever its manifest situation, and is left alone.
|
|
340
|
-
const danglingTarget = danglingLinkTarget(packDir);
|
|
341
|
-
if (danglingTarget !== undefined) {
|
|
342
|
-
try {
|
|
343
|
-
fs.rmSync(packDir, { force: true });
|
|
344
|
-
info(`[scan-packages] removed ${name}: its payload is gone (was a link to ${danglingTarget})`);
|
|
345
|
-
}
|
|
346
|
-
catch (error) {
|
|
347
|
-
warn(`could not remove the dangling pack entry ${packDir} (${error.message})`);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
continue;
|
|
351
|
-
}
|
|
352
|
-
if (!fs.existsSync(manifest))
|
|
193
|
+
if (!isDirectory(packDir) || !fs.existsSync(manifest))
|
|
353
194
|
continue;
|
|
354
195
|
any = true;
|
|
355
196
|
info(`[scan-packages] wiring ${name}`);
|
|
@@ -370,9 +211,6 @@ export function scanPackages(hqRoot, options = {}) {
|
|
|
370
211
|
warnSink(`[scan-packages] error: ${error.message}`);
|
|
371
212
|
return { status: 1 };
|
|
372
213
|
}
|
|
373
|
-
// After wiring, so anything just created or repointed is present and only
|
|
374
|
-
// genuine orphans are left to reap.
|
|
375
|
-
reapOrphanedLinks(hqRoot, info, warn);
|
|
376
214
|
if (!any)
|
|
377
215
|
info('[scan-packages] no hq-pack manifests found in core/packages');
|
|
378
216
|
return { status: 0 };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type StdioOptions } from 'node:child_process';
|
|
2
2
|
import { type QmdProcessResult, type RunQmdOptions } from './index.js';
|
|
3
|
-
import { type LoadGateDependencies } from './load-gate.js';
|
|
4
3
|
export type BackgroundResult = {
|
|
5
|
-
state: 'skipped-agent' | 'skipped' | 'quiet' | 'busy' | '
|
|
4
|
+
state: 'skipped-agent' | 'skipped' | 'quiet' | 'busy' | 'completed' | 'update-failed' | 'terminated';
|
|
6
5
|
} | {
|
|
7
6
|
state: 'launched';
|
|
8
7
|
pid: number;
|
|
@@ -16,8 +15,6 @@ export type BackgroundDependencies = {
|
|
|
16
15
|
isProcessAlive: (pid: number) => boolean;
|
|
17
16
|
resolveQmdBin: () => string;
|
|
18
17
|
reconcileCollections: (hqRoot: string) => unknown;
|
|
19
|
-
/** Apply the per-document size cap to qmd's config before the update reads anything. */
|
|
20
|
-
applyIndexSizeLimit: (hqRoot: string) => unknown;
|
|
21
18
|
runQmd: (args: string[], options?: RunQmdOptions) => QmdProcessResult;
|
|
22
19
|
spawnWorker: (options: {
|
|
23
20
|
logPath: string;
|
|
@@ -28,9 +25,6 @@ export type BackgroundDependencies = {
|
|
|
28
25
|
/** Test seams for signal delivery; production uses the real process. */
|
|
29
26
|
processEvents?: Pick<NodeJS.Process, 'once'>;
|
|
30
27
|
exit?: (code: number) => void;
|
|
31
|
-
/** Test seams for the host load gate consulted immediately before qmd embed. */
|
|
32
|
-
loadGateDependencies?: LoadGateDependencies;
|
|
33
|
-
writeStderr?: (text: string) => void;
|
|
34
28
|
};
|
|
35
29
|
export type BackgroundStatus = {
|
|
36
30
|
lock: 'held' | 'stale' | 'free';
|
|
@@ -47,7 +41,6 @@ export type SpawnWorkerIo = {
|
|
|
47
41
|
closeSync: (fd: number) => void;
|
|
48
42
|
spawn: (command: string, args: string[], options: {
|
|
49
43
|
detached: boolean;
|
|
50
|
-
windowsHide: boolean;
|
|
51
44
|
stdio: StdioOptions;
|
|
52
45
|
}) => {
|
|
53
46
|
pid?: number;
|
|
@@ -3,9 +3,7 @@ import * as fs from 'node:fs';
|
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
import { Sentry } from '../../sentry.js';
|
|
5
5
|
import { reconcileCollections as defaultReconcileCollections, resolveQmdBin as defaultResolveQmdBin, runQmd as defaultRunQmd, } from './index.js';
|
|
6
|
-
|
|
7
|
-
import { acquireEmbedLock as acquireLock, installEmbedLockCleanup, lockPath, lockRoot, lockState, releaseEmbedLock as releaseLock, } from './embed-lock.js';
|
|
8
|
-
import { LoadGateConfigurationError, checkEmbedLoad, defaultLoadGateDependencies, recordSuccessfulEmbed, } from './load-gate.js';
|
|
6
|
+
const LOCK_NAME = 'qmd-reindex-bg.lock';
|
|
9
7
|
const COMPLETE_NAME = 'qmd-reindex-bg.completed';
|
|
10
8
|
function errnoInfo(error) {
|
|
11
9
|
const e = error;
|
|
@@ -92,7 +90,6 @@ export function defaultSpawnWorker({ logPath, fallbackLogPath }, io = defaultSpa
|
|
|
92
90
|
: ['ignore', opened.fd, opened.fd];
|
|
93
91
|
const child = io.spawn(process.execPath, [entry, 'index', 'background', '--worker', ...logArgs], {
|
|
94
92
|
detached: true,
|
|
95
|
-
windowsHide: true,
|
|
96
93
|
stdio,
|
|
97
94
|
});
|
|
98
95
|
if (opened.fd !== null)
|
|
@@ -122,10 +119,8 @@ export function defaultBackgroundDependencies(hqRoot) {
|
|
|
122
119
|
isProcessAlive: alive,
|
|
123
120
|
resolveQmdBin: defaultResolveQmdBin,
|
|
124
121
|
reconcileCollections: defaultReconcileCollections,
|
|
125
|
-
applyIndexSizeLimit: defaultApplyIndexSizeLimit,
|
|
126
122
|
runQmd: defaultRunQmd,
|
|
127
123
|
spawnWorker: defaultSpawnWorker,
|
|
128
|
-
writeStderr: (text) => process.stderr.write(text),
|
|
129
124
|
};
|
|
130
125
|
}
|
|
131
126
|
/** Match the shell forwarder's hosted-agent markers before looking up qmd. */
|
|
@@ -148,6 +143,12 @@ export function isHostedAgent(env = process.env) {
|
|
|
148
143
|
|| fs.existsSync('/etc/systemd/system/hq-agent-qmd-index.service')
|
|
149
144
|
|| fs.existsSync('/var/lib/hq-agent');
|
|
150
145
|
}
|
|
146
|
+
function lockRoot(home) {
|
|
147
|
+
return path.join(home, '.hq', 'locks');
|
|
148
|
+
}
|
|
149
|
+
function lockPath(home) {
|
|
150
|
+
return path.join(lockRoot(home), LOCK_NAME);
|
|
151
|
+
}
|
|
151
152
|
function completionPath(home) {
|
|
152
153
|
return path.join(lockRoot(home), COMPLETE_NAME);
|
|
153
154
|
}
|
|
@@ -162,6 +163,16 @@ function parseFields(file) {
|
|
|
162
163
|
return undefined;
|
|
163
164
|
}
|
|
164
165
|
}
|
|
166
|
+
function readOwner(directory) {
|
|
167
|
+
const fields = parseFields(path.join(directory, 'owner'));
|
|
168
|
+
if (!fields || !/^\d+$/.test(fields.pid ?? '') || !/^\d+$/.test(fields.ts ?? '') || !/^[A-Za-z0-9._-]+$/.test(fields.nonce ?? ''))
|
|
169
|
+
return undefined;
|
|
170
|
+
return { pid: Number(fields.pid), ts: Number(fields.ts), nonce: fields.nonce };
|
|
171
|
+
}
|
|
172
|
+
function graceSeconds(dependencies) {
|
|
173
|
+
const value = dependencies.env.QMD_HANDOFF_LOCK_GRACE_SEC;
|
|
174
|
+
return value && /^\d+$/.test(value) ? Number(value) : 5;
|
|
175
|
+
}
|
|
165
176
|
function dedupeSeconds(dependencies) {
|
|
166
177
|
const value = dependencies.env.QMD_HANDOFF_DEDUPE_SEC;
|
|
167
178
|
return value && /^\d+$/.test(value) ? Number(value) : 90;
|
|
@@ -184,7 +195,187 @@ function writeCompletion(home, dependencies) {
|
|
|
184
195
|
// Completion is a best-effort dedupe hint, never a worker failure.
|
|
185
196
|
}
|
|
186
197
|
}
|
|
198
|
+
function isOwnerlessLockWithinGrace(directory, dependencies) {
|
|
199
|
+
try {
|
|
200
|
+
const age = Math.max(0, dependencies.now() - Math.floor(fs.statSync(directory).mtimeMs / 1_000));
|
|
201
|
+
return age < graceSeconds(dependencies);
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
function lockState(directory, dependencies) {
|
|
208
|
+
if (!fs.existsSync(directory))
|
|
209
|
+
return 'free';
|
|
210
|
+
const owner = readOwner(directory);
|
|
211
|
+
if (owner)
|
|
212
|
+
return dependencies.isProcessAlive(owner.pid) ? 'held' : 'stale';
|
|
213
|
+
return isOwnerlessLockWithinGrace(directory, dependencies) ? 'held' : 'stale';
|
|
214
|
+
}
|
|
215
|
+
function generation(directory) {
|
|
216
|
+
const owner = readOwner(directory);
|
|
217
|
+
if (owner)
|
|
218
|
+
return owner.nonce;
|
|
219
|
+
if (!fs.existsSync(directory))
|
|
220
|
+
return undefined;
|
|
221
|
+
return 'empty';
|
|
222
|
+
}
|
|
223
|
+
function removeDirectoryIfEmpty(directory) {
|
|
224
|
+
try {
|
|
225
|
+
fs.rmdirSync(directory);
|
|
226
|
+
}
|
|
227
|
+
catch { /* another claimant owns it, or it is already gone */ }
|
|
228
|
+
}
|
|
229
|
+
function claimWithinGrace(directory, dependencies) {
|
|
230
|
+
try {
|
|
231
|
+
const age = Math.max(0, dependencies.now() - Math.floor(fs.statSync(directory).mtimeMs / 1_000));
|
|
232
|
+
return age < Math.max(5, graceSeconds(dependencies));
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
return true;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function acquireClaim(home, observedGeneration, dependencies) {
|
|
239
|
+
const claim = path.join(lockRoot(home), `qmd-reindex-bg.claim.${observedGeneration}`);
|
|
240
|
+
for (let attempt = 0; attempt < 2; attempt += 1) {
|
|
241
|
+
try {
|
|
242
|
+
fs.mkdirSync(claim);
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
if (attempt === 1 || !recoverAbandonedClaim(claim, dependencies))
|
|
246
|
+
return undefined;
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
const claimant = path.join(claim, `c.${dependencies.pid}.${dependencies.random()}`);
|
|
250
|
+
try {
|
|
251
|
+
fs.mkdirSync(claimant);
|
|
252
|
+
// Test-only deterministic failure inject (unset in production) — shell
|
|
253
|
+
// parity with the script's claimant write_owner_record injection.
|
|
254
|
+
if (dependencies.env.QMD_FORCE_CLAIMANT_WRITE_FAIL)
|
|
255
|
+
throw new Error('forced claimant write failure');
|
|
256
|
+
fs.writeFileSync(path.join(claimant, 'owner'), `pid=${dependencies.pid}\nts=${dependencies.now()}\n`);
|
|
257
|
+
return { claim, claimant };
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
fs.rmSync(claimant, { recursive: true, force: true });
|
|
261
|
+
removeDirectoryIfEmpty(claim);
|
|
262
|
+
return undefined;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return undefined;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Reclaim only exact dead claimant names, then remove the claim directory if
|
|
269
|
+
* empty. This mirrors the shell's no-fixed-path-reclaim rule: a peer that has
|
|
270
|
+
* recreated claim.G with a new marker makes rmdir fail and wins the race.
|
|
271
|
+
*/
|
|
272
|
+
function recoverAbandonedClaim(claim, dependencies) {
|
|
273
|
+
let entries;
|
|
274
|
+
try {
|
|
275
|
+
entries = fs.readdirSync(claim, { withFileTypes: true });
|
|
276
|
+
}
|
|
277
|
+
catch {
|
|
278
|
+
return true;
|
|
279
|
+
}
|
|
280
|
+
for (const entry of entries.filter((entry) => entry.name.startsWith('c.'))) {
|
|
281
|
+
const marker = path.join(claim, entry.name);
|
|
282
|
+
const fields = parseFields(path.join(marker, 'owner'));
|
|
283
|
+
const pid = fields && /^\d+$/.test(fields.pid ?? '') ? Number(fields.pid) : undefined;
|
|
284
|
+
if (pid !== undefined && dependencies.isProcessAlive(pid))
|
|
285
|
+
return false;
|
|
286
|
+
if (pid === undefined && claimWithinGrace(claim, dependencies))
|
|
287
|
+
return false;
|
|
288
|
+
const abandoned = `${claim}.stale-claim.${dependencies.pid}.${dependencies.random()}`;
|
|
289
|
+
try {
|
|
290
|
+
fs.renameSync(marker, abandoned);
|
|
291
|
+
fs.rmSync(abandoned, { recursive: true, force: true });
|
|
292
|
+
}
|
|
293
|
+
catch {
|
|
294
|
+
return false;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
if (entries.length === 0 && claimWithinGrace(claim, dependencies))
|
|
298
|
+
return false;
|
|
299
|
+
removeDirectoryIfEmpty(claim);
|
|
300
|
+
return !fs.existsSync(claim);
|
|
301
|
+
}
|
|
302
|
+
function createAndPublishLock(home, dependencies) {
|
|
303
|
+
const directory = lockPath(home);
|
|
304
|
+
try {
|
|
305
|
+
fs.mkdirSync(directory);
|
|
306
|
+
}
|
|
307
|
+
catch {
|
|
308
|
+
return false;
|
|
309
|
+
}
|
|
310
|
+
const marker = path.join(directory, `acq.${dependencies.pid}.${dependencies.random()}`);
|
|
311
|
+
try {
|
|
312
|
+
fs.mkdirSync(marker);
|
|
313
|
+
}
|
|
314
|
+
catch {
|
|
315
|
+
removeDirectoryIfEmpty(directory);
|
|
316
|
+
return false;
|
|
317
|
+
}
|
|
318
|
+
const nonce = `${dependencies.pid}.${dependencies.random()}`;
|
|
319
|
+
const ownerFile = path.join(directory, 'owner');
|
|
320
|
+
const temporary = path.join(directory, `.owner.tmp.${dependencies.pid}.${dependencies.random()}`);
|
|
321
|
+
try {
|
|
322
|
+
// Test-only deterministic failure inject (unset in production) — shell
|
|
323
|
+
// parity: the script's write_owner_record honored the same variable.
|
|
324
|
+
if (dependencies.env.QMD_FORCE_OWNER_WRITE_FAIL)
|
|
325
|
+
throw new Error('forced owner write failure');
|
|
326
|
+
fs.writeFileSync(temporary, `pid=${dependencies.pid}\nts=${dependencies.now()}\nnonce=${nonce}\n`);
|
|
327
|
+
fs.renameSync(temporary, ownerFile);
|
|
328
|
+
dependencies.afterOwnerPublish?.(ownerFile);
|
|
329
|
+
const verified = readOwner(directory);
|
|
330
|
+
if (!verified || verified.pid !== dependencies.pid || verified.nonce !== nonce)
|
|
331
|
+
throw new Error('owner publish verification failed');
|
|
332
|
+
fs.rmSync(marker, { recursive: true, force: true });
|
|
333
|
+
return true;
|
|
334
|
+
}
|
|
335
|
+
catch {
|
|
336
|
+
// The marker identifies only the directory this process created. Do not
|
|
337
|
+
// recursively remove the fixed lock path after a failed publication.
|
|
338
|
+
fs.rmSync(marker, { recursive: true, force: true });
|
|
339
|
+
removeDirectoryIfEmpty(directory);
|
|
340
|
+
return false;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
function claimAndReclaim(home, dependencies) {
|
|
344
|
+
const directory = lockPath(home);
|
|
345
|
+
const observedGeneration = generation(directory);
|
|
346
|
+
if (!observedGeneration || lockState(directory, dependencies) !== 'stale')
|
|
347
|
+
return false;
|
|
348
|
+
const acquired = acquireClaim(home, observedGeneration, dependencies);
|
|
349
|
+
if (!acquired)
|
|
350
|
+
return false;
|
|
351
|
+
try {
|
|
352
|
+
// Generation fencing: only move exactly the stale generation we observed.
|
|
353
|
+
if (generation(directory) !== observedGeneration || lockState(directory, dependencies) !== 'stale')
|
|
354
|
+
return false;
|
|
355
|
+
const abandoned = `${directory}.stale.${dependencies.pid}.${dependencies.random()}`;
|
|
356
|
+
fs.renameSync(directory, abandoned);
|
|
357
|
+
fs.rmSync(abandoned, { recursive: true, force: true });
|
|
358
|
+
return createAndPublishLock(home, dependencies);
|
|
359
|
+
}
|
|
360
|
+
catch {
|
|
361
|
+
return false;
|
|
362
|
+
}
|
|
363
|
+
finally {
|
|
364
|
+
fs.rmSync(acquired.claimant, { recursive: true, force: true });
|
|
365
|
+
removeDirectoryIfEmpty(acquired.claim);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
function acquireLock(home, dependencies) {
|
|
369
|
+
fs.mkdirSync(lockRoot(home), { recursive: true });
|
|
370
|
+
return createAndPublishLock(home, dependencies) || claimAndReclaim(home, dependencies);
|
|
371
|
+
}
|
|
372
|
+
function releaseLock(home, dependencies) {
|
|
373
|
+
const directory = lockPath(home);
|
|
374
|
+
if (readOwner(directory)?.pid === dependencies.pid)
|
|
375
|
+
fs.rmSync(directory, { recursive: true, force: true });
|
|
376
|
+
}
|
|
187
377
|
export function installWorkerCleanup(cleanup, processEvents = process, exit = () => undefined) {
|
|
378
|
+
processEvents.once('exit', cleanup);
|
|
188
379
|
// Unlike Bash, Node cannot turn a SIGKILL or an already-defaulted signal into
|
|
189
380
|
// catchable cleanup. SIGINT/SIGTERM/SIGHUP are registered here (the shell
|
|
190
381
|
// worker trapped `INT TERM HUP`; a detached worker's controlling terminal
|
|
@@ -192,7 +383,9 @@ export function installWorkerCleanup(cleanup, processEvents = process, exit = ()
|
|
|
192
383
|
// process without releasing the lock) and the CLI's normal process exit then
|
|
193
384
|
// runs the same idempotent owner release. Exiting prevents a synchronous
|
|
194
385
|
// pipeline from continuing after it has released ownership.
|
|
195
|
-
|
|
386
|
+
processEvents.once('SIGINT', () => { cleanup(); exit(0); });
|
|
387
|
+
processEvents.once('SIGTERM', () => { cleanup(); exit(0); });
|
|
388
|
+
processEvents.once('SIGHUP', () => { cleanup(); exit(0); });
|
|
196
389
|
}
|
|
197
390
|
function workerLogPath(env) {
|
|
198
391
|
return env.QMD_REINDEX_LOG
|
|
@@ -227,21 +420,6 @@ function capWorkerLog(logPath, env) {
|
|
|
227
420
|
function stepOutput(result) {
|
|
228
421
|
return `${result.stdout ?? ''}${result.stderr ?? ''}`;
|
|
229
422
|
}
|
|
230
|
-
/**
|
|
231
|
-
* One worker-log line summarising the size cap, so an operator reading the log
|
|
232
|
-
* can see WHY a file stopped being indexed. Shaped defensively because the
|
|
233
|
-
* dependency is typed `unknown` at the seam.
|
|
234
|
-
*/
|
|
235
|
-
function sizeLimitOutput(result) {
|
|
236
|
-
const r = result;
|
|
237
|
-
if (typeof r?.maxBytes !== 'number')
|
|
238
|
-
return '';
|
|
239
|
-
if (r.maxBytes === 0)
|
|
240
|
-
return '[qmd-reindex-bg] size cap disabled\n';
|
|
241
|
-
const collections = r.collections ?? [];
|
|
242
|
-
const files = collections.reduce((total, collection) => total + collection.ignored.length, 0);
|
|
243
|
-
return `[qmd-reindex-bg] size cap ${r.maxBytes}B — ${files} file(s) skipped across ${collections.length} collection(s)\n`;
|
|
244
|
-
}
|
|
245
423
|
function errorOutput(error) {
|
|
246
424
|
const e = error;
|
|
247
425
|
return `${e.stdout ?? ''}${e.stderr ?? ''}` || (e.message ?? '');
|
|
@@ -322,17 +500,6 @@ export async function runBackgroundWorker(dependencies) {
|
|
|
322
500
|
// The shell worker has no collection-registration step. Keep this #306
|
|
323
501
|
// integration best-effort so it cannot suppress a later index update.
|
|
324
502
|
}
|
|
325
|
-
// The size cap rewrites qmd's ignore lists, so it MUST land before the
|
|
326
|
-
// update below — an oversized file is skipped at glob time or not at all.
|
|
327
|
-
// Best-effort for the same reason as reconciliation: a capping failure must
|
|
328
|
-
// not suppress an otherwise healthy index update.
|
|
329
|
-
try {
|
|
330
|
-
const capped = dependencies.applyIndexSizeLimit(dependencies.hqRoot);
|
|
331
|
-
appendWorkerLog(logPath, sizeLimitOutput(capped));
|
|
332
|
-
}
|
|
333
|
-
catch (error) {
|
|
334
|
-
appendWorkerLog(logPath, errorOutput(error));
|
|
335
|
-
}
|
|
336
503
|
if (await signalWindow())
|
|
337
504
|
return { state: 'terminated' };
|
|
338
505
|
try {
|
|
@@ -353,30 +520,8 @@ export async function runBackgroundWorker(dependencies) {
|
|
|
353
520
|
}
|
|
354
521
|
if (await signalWindow())
|
|
355
522
|
return { state: 'terminated' };
|
|
356
|
-
const loadGateDependencies = dependencies.loadGateDependencies ?? defaultLoadGateDependencies(dependencies.env);
|
|
357
|
-
let loadDecision;
|
|
358
|
-
try {
|
|
359
|
-
loadDecision = checkEmbedLoad(home, loadGateDependencies);
|
|
360
|
-
}
|
|
361
|
-
catch (error) {
|
|
362
|
-
if (error instanceof LoadGateConfigurationError) {
|
|
363
|
-
(dependencies.writeStderr ?? ((text) => process.stderr.write(text)))(`hq: ${error.message}\n`);
|
|
364
|
-
cleanup();
|
|
365
|
-
return { state: 'deferred' };
|
|
366
|
-
}
|
|
367
|
-
throw error;
|
|
368
|
-
}
|
|
369
|
-
if (loadDecision.action === 'skip') {
|
|
370
|
-
(dependencies.writeStderr ?? ((text) => process.stderr.write(text)))(loadDecision.notice);
|
|
371
|
-
writeCompletion(home, dependencies);
|
|
372
|
-
cleanup();
|
|
373
|
-
return { state: 'deferred' };
|
|
374
|
-
}
|
|
375
|
-
if (loadDecision.forced)
|
|
376
|
-
(dependencies.writeStderr ?? ((text) => process.stderr.write(text)))(loadDecision.notice);
|
|
377
523
|
try {
|
|
378
524
|
appendWorkerLog(logPath, stepOutput(dependencies.runQmd(['embed'], { cwd: dependencies.hqRoot })));
|
|
379
|
-
recordSuccessfulEmbed(home, loadGateDependencies);
|
|
380
525
|
}
|
|
381
526
|
catch (error) {
|
|
382
527
|
appendWorkerLog(logPath, errorOutput(error)); // a completed embed attempt still permits the stamp
|
|
@@ -11,7 +11,6 @@ export type QmdProcessResult = {
|
|
|
11
11
|
*/
|
|
12
12
|
signal?: NodeJS.Signals | string | null;
|
|
13
13
|
};
|
|
14
|
-
export type QmdUpdateEntryPath = 'index-sync';
|
|
15
14
|
export type QmdProcessRunner = (bin: string, args: string[], options: {
|
|
16
15
|
cwd?: string;
|
|
17
16
|
env?: NodeJS.ProcessEnv;
|
|
@@ -114,10 +113,6 @@ export declare class QmdExitError extends Error {
|
|
|
114
113
|
readonly stdout: string;
|
|
115
114
|
readonly stderr: string;
|
|
116
115
|
name: string;
|
|
117
|
-
/** Safe route labels for telemetry; raw qmd streams remain local to the error. */
|
|
118
|
-
entryPath?: QmdUpdateEntryPath;
|
|
119
|
-
/** Present only when the invoked executable is the bundled qmd. */
|
|
120
|
-
qmdVersion?: string;
|
|
121
116
|
constructor(message: string, args: string[], status: number | null, stdout: string, stderr: string);
|
|
122
117
|
}
|
|
123
118
|
export declare class QmdCollectionMissingError extends QmdExitError {
|
|
@@ -380,7 +375,6 @@ export declare function lastQmdStoreEnsureOutcome(): QmdStoreEnsureOutcome | und
|
|
|
380
375
|
* An upstream-contract test pins this rule to the INSTALLED qmd so a bump that
|
|
381
376
|
* changes it turns CI red instead of silently restoring the noise.
|
|
382
377
|
*/
|
|
383
|
-
export declare function resolveQmdHome(env?: NodeJS.ProcessEnv): string;
|
|
384
378
|
export declare function resolveQmdStoreDir(env?: NodeJS.ProcessEnv, cwd?: string): string;
|
|
385
379
|
export type EnsureQmdStoreDirOptions = {
|
|
386
380
|
/**
|
|
@@ -512,8 +506,6 @@ export type ResolveQmdInvocationOptions = {
|
|
|
512
506
|
export declare function resolveQmdInvocation(options?: ResolveQmdInvocationOptions): QmdInvocation;
|
|
513
507
|
export type RunQmdOptions = {
|
|
514
508
|
bin?: string;
|
|
515
|
-
/** Source of an update failure, used only for bounded Sentry tags. */
|
|
516
|
-
entryPath?: QmdUpdateEntryPath;
|
|
517
509
|
cwd?: string;
|
|
518
510
|
env?: NodeJS.ProcessEnv;
|
|
519
511
|
runner?: QmdProcessRunner;
|
|
@@ -544,14 +536,10 @@ export declare function deriveCollections(hqRoot: string): SearchCollection[];
|
|
|
544
536
|
export type ReconcileCollectionsOptions = {
|
|
545
537
|
bin?: string;
|
|
546
538
|
runner?: QmdProcessRunner;
|
|
547
|
-
/** Test seam for the default-off collection-path repair rollout. */
|
|
548
|
-
repairPathDrift?: boolean;
|
|
549
539
|
};
|
|
550
540
|
/**
|
|
551
541
|
* Register expected collections that qmd does not yet know about, returning the
|
|
552
542
|
* collections this call actually created (a `collection add` that exited 0).
|
|
553
|
-
* When the default-off hq-flags rollout is enabled, it also replaces a registered
|
|
554
|
-
* collection whose path matches a known prior HQ-managed layout.
|
|
555
543
|
*
|
|
556
544
|
* A same-name idempotent duplicate — qmd already owns the exact requested name
|
|
557
545
|
* in its YAML config (`Collection '<name>' already exists.`), while the
|