@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
|
@@ -11,42 +11,26 @@
|
|
|
11
11
|
import * as fs from "node:fs";
|
|
12
12
|
import * as os from "node:os";
|
|
13
13
|
import * as path from "node:path";
|
|
14
|
-
import { CLI_VERSION } from "../../../../cli-version.js";
|
|
15
14
|
import { createWorkSessionDeliverer } from "../../client.js";
|
|
16
|
-
import {
|
|
17
|
-
import { ensureCognitoToken
|
|
15
|
+
import { meshJson, resolveActiveMembershipCompany } from "../../api.js";
|
|
16
|
+
import { ensureCognitoToken } from "../../../../utils/cognito-session.js";
|
|
18
17
|
import { replayOutbox } from "../../../work-context/outbox.js";
|
|
19
18
|
import { workContextRoot } from "../../../work-context/paths.js";
|
|
20
|
-
import { ensureDefaultCompany } from "../../../work-context/default-company.js";
|
|
21
|
-
import { invalidateDefaultCompanyMemberships, readDeviceConfig, } from "../../../work-context/config.js";
|
|
22
|
-
import { readSessionState, mergeLocalSessionFields, updateSessionState, } from "../../../work-context/state.js";
|
|
23
19
|
import { createSessionEventsPoster, resolveVaultApiBase, } from "../session-events-client.js";
|
|
24
20
|
import { flushSessionEvents, HELD_RETRY_INTERVAL_MS, } from "../flush.js";
|
|
25
|
-
import { backfillHeldSessions, } from "../backfill-held.js";
|
|
26
|
-
import { reconcileObservation } from "../../../work-context/reconcile.js";
|
|
27
21
|
import { workMeshRoot, workMeshSpoolPath } from "../paths.js";
|
|
28
22
|
import { createVaultBoardReader, refreshBoundSessionBoards, BOARD_REFRESH_INTERVAL_MS, } from "./board-refresh.js";
|
|
29
|
-
import { createContract3Fetcher,
|
|
23
|
+
import { createContract3Fetcher, realTimerHost, } from "./credentials.js";
|
|
30
24
|
import { appendDaemonLog, daemonLogLine, ensureDaemonLog } from "./log.js";
|
|
31
25
|
import { acquirePidLock, defaultPidLockDeps, releasePidLock, } from "./pid-lock.js";
|
|
32
26
|
import { daemonDir } from "./paths.js";
|
|
33
|
-
import { PresenceClient,
|
|
34
|
-
import { defaultDaemonState, patchDaemonState,
|
|
27
|
+
import { PresenceClient, } from "./presence.js";
|
|
28
|
+
import { defaultDaemonState, patchDaemonState, writeDaemonState, } from "./state.js";
|
|
35
29
|
import { workMeshHeldPath } from "../paths.js";
|
|
36
|
-
import {
|
|
30
|
+
import { noteHookSessionsFromSpoolFile, TRANSCRIPT_WATCH_INTERVAL_MS, TranscriptWatcher, } from "./transcript-watch.js";
|
|
37
31
|
import { resolveMeshEmitMode, runsEmitPath, } from "./mode.js";
|
|
38
|
-
import { hasCliVersionDrift, readInstalledCliVersion } from "./version-drift.js";
|
|
39
|
-
import { resolveRunningCliEntry } from "./install.js";
|
|
40
|
-
import { readDaemonConfig } from "./config.js";
|
|
41
|
-
import { retireLegacyListen } from "./legacy-listen.js";
|
|
42
|
-
import { startWorkCacheSubscriber } from "./work-subscribe.js";
|
|
43
32
|
export const SPOOL_DEBOUNCE_MS = 2_000;
|
|
44
33
|
export const FLUSH_INTERVAL_MS = 10_000;
|
|
45
|
-
/** Keep startup recovery bounded: the next daemon start continues the backlog. */
|
|
46
|
-
export const HELD_BACKFILL_STARTUP_BATCH_SIZE = 100;
|
|
47
|
-
export const DEVICE_DEFAULT_MEMBERSHIP_TIMEOUT_MS = 2_000;
|
|
48
|
-
/** Non-zero exit reserved for CLI version drift so legacy Restart=on-failure units restart. */
|
|
49
|
-
export const DAEMON_VERSION_DRIFT_EXIT_CODE = 75;
|
|
50
34
|
/**
|
|
51
35
|
* Only producer appends to spool.jsonl should wake the watcher. Every other
|
|
52
36
|
* file in the work-mesh root (held.jsonl, spool.<ts>.claimed, held.<ts>.claimed,
|
|
@@ -61,30 +45,6 @@ export function shouldFlushOnSpoolDirEvent(filename) {
|
|
|
61
45
|
return true;
|
|
62
46
|
return String(filename) === "spool.jsonl";
|
|
63
47
|
}
|
|
64
|
-
function sameCompanyValue(a, b) {
|
|
65
|
-
return Boolean(a && b && a.toLowerCase() === b.toLowerCase());
|
|
66
|
-
}
|
|
67
|
-
function stillMatchesDeniedCompany(current, input, slug) {
|
|
68
|
-
const deniedUid = input.companyUid ?? input.state?.companyUid;
|
|
69
|
-
const deniedSlug = input.companySlug ?? input.state?.companySlug ?? slug;
|
|
70
|
-
if (deniedUid && current.companyUid && deniedUid !== current.companyUid)
|
|
71
|
-
return false;
|
|
72
|
-
if (deniedSlug && current.companySlug && !sameCompanyValue(deniedSlug, current.companySlug))
|
|
73
|
-
return false;
|
|
74
|
-
return Boolean(current.companyUid || current.companySlug);
|
|
75
|
-
}
|
|
76
|
-
function stillMatchesDeniedDeviceDefaultBinding(current, original, input, slug) {
|
|
77
|
-
return stillMatchesDeniedCompany(current, input, slug) &&
|
|
78
|
-
current.companyUid === original.companyUid &&
|
|
79
|
-
current.companySlug === original.companySlug &&
|
|
80
|
-
current.contextStatus === original.contextStatus &&
|
|
81
|
-
current.projectId === original.projectId &&
|
|
82
|
-
current.taskId === original.taskId &&
|
|
83
|
-
current.bindingEpisodeId === original.bindingEpisodeId &&
|
|
84
|
-
current.source === original.source &&
|
|
85
|
-
current.version === original.version &&
|
|
86
|
-
current.updatedAt === original.updatedAt;
|
|
87
|
-
}
|
|
88
48
|
function alive(pid) {
|
|
89
49
|
try {
|
|
90
50
|
process.kill(pid, 0);
|
|
@@ -112,28 +72,8 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
112
72
|
((d, line) => appendDaemonLog(d, daemonLogLine("info", line, now)));
|
|
113
73
|
const processEvents = deps.processEvents ?? process;
|
|
114
74
|
const exit = deps.exit ?? ((code) => process.exit(code));
|
|
115
|
-
const daemonVersion = deps.daemonVersion ?? CLI_VERSION;
|
|
116
|
-
const installedCliVersion = deps.readInstalledCliVersion ?? readInstalledCliVersion;
|
|
117
75
|
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
118
|
-
const hostPlatform = process.platform === "darwin" || process.platform === "linux" || process.platform === "win32"
|
|
119
|
-
? process.platform
|
|
120
|
-
: "other";
|
|
121
|
-
const retiredListen = retireLegacyListen({
|
|
122
|
-
home,
|
|
123
|
-
platform: deps.legacyListenPlatform ?? hostPlatform,
|
|
124
|
-
run: deps.legacyListenRun,
|
|
125
|
-
windowsTaskPresent: deps.windowsLegacyTaskPresent,
|
|
126
|
-
});
|
|
127
|
-
const configuredRoots = readDaemonConfig(dir).trustedHqRoots;
|
|
128
|
-
const trustedRoots = [...new Set([
|
|
129
|
-
...(deps.hqRoot ? [deps.hqRoot] : []),
|
|
130
|
-
...(env.HQ_ROOT?.trim() ? [env.HQ_ROOT.trim()] : []),
|
|
131
|
-
...configuredRoots,
|
|
132
|
-
])];
|
|
133
76
|
ensureDaemonLog(dir);
|
|
134
|
-
if (retiredListen.removed) {
|
|
135
|
-
log(dir, "retired legacy listener ai.getindigo.hq-work-mesh-listen");
|
|
136
|
-
}
|
|
137
77
|
const lockDeps = deps.pidLock ?? defaultPidLockDeps({ isProcessAlive: alive });
|
|
138
78
|
const lock = acquirePidLock(dir, lockDeps);
|
|
139
79
|
if (!lock.ok) {
|
|
@@ -141,17 +81,7 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
141
81
|
}
|
|
142
82
|
writeDaemonState(dir, defaultDaemonState(lockDeps.pid, now));
|
|
143
83
|
log(dir, `daemon started pid=${lockDeps.pid} mode=${mode}`);
|
|
144
|
-
|
|
145
|
-
if (!cliEntry) {
|
|
146
|
-
try {
|
|
147
|
-
cliEntry = resolveRunningCliEntry();
|
|
148
|
-
}
|
|
149
|
-
catch {
|
|
150
|
-
cliEntry = process.argv[1] ?? "";
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
log(dir, `daemon version=${daemonVersion} entry=${cliEntry}`);
|
|
154
|
-
patchDaemonState(dir, { emitMode: mode, cliVersion: daemonVersion, cliEntry }, now);
|
|
84
|
+
patchDaemonState(dir, { emitMode: mode }, now);
|
|
155
85
|
// Opt into machine-credential minting when the box has creds (systemd exports
|
|
156
86
|
// HQ_MACHINE_CREDS_FILE). On a person laptop with no machine creds this falls
|
|
157
87
|
// through to the person login cache inside ensureCognitoToken.
|
|
@@ -162,179 +92,14 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
162
92
|
// expires after ~1h to every vend/flush forever, so the second credential
|
|
163
93
|
// renewal (~96 min in) and everything after it failed with HTTP 401 and the
|
|
164
94
|
// daemon went dark once its IoT credentials expired.
|
|
165
|
-
// ensureCognitoToken refuses a refresh whose subject differs from the
|
|
166
|
-
// active person cache and restores the file. The daemon must not replace
|
|
167
|
-
// the operator login with another cached session.
|
|
168
95
|
const defaultGetToken = async () => ensureCognitoToken({ interactive: false, tokenSource: "machine" });
|
|
169
96
|
const getToken = deps.getToken ?? defaultGetToken;
|
|
170
|
-
const resolveMembership = deps.resolveMembership ?? resolveActiveMembershipCompany;
|
|
171
|
-
const machineIdentity = deps.machineIdentity ?? isMachineIdentity();
|
|
172
|
-
/** The sole authorization seam for daemon tenant I/O derived from a device default. */
|
|
173
|
-
const tenantGate = {
|
|
174
|
-
authorize: async (input) => {
|
|
175
|
-
const state = input.state ?? (input.sessionId
|
|
176
|
-
? readSessionState(input.sessionId, ctxRoot)
|
|
177
|
-
: null);
|
|
178
|
-
const slug = input.companySlug ?? state?.companySlug;
|
|
179
|
-
// A uid alone is enough to ask /membership/me. Missing slug is not a
|
|
180
|
-
// denial. A device-default session whose company was cleared can be
|
|
181
|
-
// checked against the configured default; that is the same company the
|
|
182
|
-
// daemon assigned before the false denial.
|
|
183
|
-
const configuredDefault = input.deviceDefault
|
|
184
|
-
? readDeviceConfig({ root: ctxRoot }).defaultCompany
|
|
185
|
-
: undefined;
|
|
186
|
-
const defaultCompany = configuredDefault?.enabled ? configuredDefault : undefined;
|
|
187
|
-
const usingDefaultFallback = !slug && !state?.companyUid && Boolean(defaultCompany?.slug || defaultCompany?.uid);
|
|
188
|
-
const lookupKey = slug || state?.companyUid || (usingDefaultFallback
|
|
189
|
-
? (defaultCompany?.slug || defaultCompany?.uid)
|
|
190
|
-
: undefined);
|
|
191
|
-
let authorization;
|
|
192
|
-
if (!lookupKey) {
|
|
193
|
-
authorization = { status: "denied" };
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
const controller = new AbortController();
|
|
197
|
-
const timeout = setTimeout(() => controller.abort(), DEVICE_DEFAULT_MEMBERSHIP_TIMEOUT_MS);
|
|
198
|
-
try {
|
|
199
|
-
authorization = await Promise.race([
|
|
200
|
-
(async () => {
|
|
201
|
-
const membership = await resolveMembership(await getToken(), lookupKey, controller.signal);
|
|
202
|
-
// Timeout wins even if the probe then returns null.
|
|
203
|
-
if (controller.signal.aborted) {
|
|
204
|
-
return {
|
|
205
|
-
status: "unavailable",
|
|
206
|
-
error: `membership lookup timed out after ${DEVICE_DEFAULT_MEMBERSHIP_TIMEOUT_MS}ms`,
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
if (membership)
|
|
210
|
-
return { status: "authorized", uid: membership.companyUid };
|
|
211
|
-
// A machine token often cannot read /membership/me (401/403, or an
|
|
212
|
-
// empty person-membership list). That is "cannot tell", not "not
|
|
213
|
-
// a member". Leave the company in place and retry.
|
|
214
|
-
if (machineIdentity) {
|
|
215
|
-
return {
|
|
216
|
-
status: "unavailable",
|
|
217
|
-
error: "membership probe on a machine token did not confirm a company; company left unchanged",
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
return { status: "denied" };
|
|
221
|
-
})(),
|
|
222
|
-
new Promise((resolve) => {
|
|
223
|
-
controller.signal.addEventListener("abort", () => resolve({
|
|
224
|
-
status: "unavailable",
|
|
225
|
-
error: `membership lookup timed out after ${DEVICE_DEFAULT_MEMBERSHIP_TIMEOUT_MS}ms`,
|
|
226
|
-
}), { once: true });
|
|
227
|
-
}),
|
|
228
|
-
]);
|
|
229
|
-
}
|
|
230
|
-
catch (err) {
|
|
231
|
-
authorization = {
|
|
232
|
-
status: "unavailable",
|
|
233
|
-
error: err instanceof Error ? err.message : String(err),
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
finally {
|
|
237
|
-
clearTimeout(timeout);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
if (authorization.status === "unavailable") {
|
|
241
|
-
const prior = readDaemonState(dir)?.deviceDefaultMembershipLookupFailures ?? 0;
|
|
242
|
-
patchDaemonState(dir, {
|
|
243
|
-
lastErrorCode: "DEVICE_DEFAULT_MEMBERSHIP_LOOKUP_FAILED",
|
|
244
|
-
deviceDefaultMembershipLookupFailures: prior + 1,
|
|
245
|
-
}, now);
|
|
246
|
-
log(dir, `device-default membership lookup unavailable${slug ? ` company=${slug}` : ""}: ${authorization.error.slice(0, 160)}`);
|
|
247
|
-
return authorization;
|
|
248
|
-
}
|
|
249
|
-
if (!input.deviceDefault)
|
|
250
|
-
return authorization;
|
|
251
|
-
if (authorization.status === "authorized" &&
|
|
252
|
-
(!input.companyUid || input.companyUid === authorization.uid) &&
|
|
253
|
-
(!state?.companyUid || state.companyUid === authorization.uid)) {
|
|
254
|
-
// A prior false denial cleared the company and left needs_company.
|
|
255
|
-
// Membership just confirmed the company, so put it back and let flush post.
|
|
256
|
-
if (state &&
|
|
257
|
-
state.companyConfidence === "device_default" &&
|
|
258
|
-
state.contextStatus === "needs_company") {
|
|
259
|
-
const restoredSlug = state.companySlug || slug || defaultCompany?.slug;
|
|
260
|
-
const restoredUid = authorization.uid;
|
|
261
|
-
updateSessionState(state.sessionId, ctxRoot, (current) => {
|
|
262
|
-
if (!current || current.contextStatus !== "needs_company")
|
|
263
|
-
return null;
|
|
264
|
-
if (current.companyUid && current.companyUid !== restoredUid)
|
|
265
|
-
return null;
|
|
266
|
-
if (current.companySlug &&
|
|
267
|
-
restoredSlug &&
|
|
268
|
-
!sameCompanyValue(current.companySlug, restoredSlug)) {
|
|
269
|
-
return null;
|
|
270
|
-
}
|
|
271
|
-
return mergeLocalSessionFields({
|
|
272
|
-
...current,
|
|
273
|
-
companyUid: restoredUid,
|
|
274
|
-
...(restoredSlug ? { companySlug: restoredSlug } : {}),
|
|
275
|
-
contextStatus: current.projectId
|
|
276
|
-
? (current.taskId ? "bound" : "needs_task")
|
|
277
|
-
: "needs_project",
|
|
278
|
-
updatedAt: now().toISOString(),
|
|
279
|
-
}, current, { preserveCompanyBinding: false });
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
return authorization;
|
|
283
|
-
}
|
|
284
|
-
// Already stripped. Do not revoke, count, or log this again on every flush.
|
|
285
|
-
if (state &&
|
|
286
|
-
state.contextStatus === "needs_company" &&
|
|
287
|
-
!state.companyUid &&
|
|
288
|
-
!state.companySlug) {
|
|
289
|
-
return { status: "denied" };
|
|
290
|
-
}
|
|
291
|
-
try {
|
|
292
|
-
invalidateDefaultCompanyMemberships({ root: ctxRoot, now });
|
|
293
|
-
}
|
|
294
|
-
catch (err) {
|
|
295
|
-
log(dir, `default membership cache invalidation failed: ${String(err).slice(0, 160)}`);
|
|
296
|
-
}
|
|
297
|
-
if (state) {
|
|
298
|
-
// Commit only if the device-default binding that started this lookup is
|
|
299
|
-
// still current. The shared session-state lock also makes a hook writer
|
|
300
|
-
// that arrives at this boundary commit after us rather than get lost.
|
|
301
|
-
deps.beforeDeviceDefaultRevocationCommit?.();
|
|
302
|
-
const revoked = updateSessionState(state.sessionId, ctxRoot, (current) => {
|
|
303
|
-
if (!current || !stillMatchesDeniedDeviceDefaultBinding(current, state, input, slug)) {
|
|
304
|
-
return null;
|
|
305
|
-
}
|
|
306
|
-
return mergeLocalSessionFields({
|
|
307
|
-
...current,
|
|
308
|
-
companyUid: undefined,
|
|
309
|
-
companySlug: undefined,
|
|
310
|
-
contextStatus: "needs_company",
|
|
311
|
-
updatedAt: now().toISOString(),
|
|
312
|
-
}, current, { preserveCompanyBinding: false });
|
|
313
|
-
});
|
|
314
|
-
if (!revoked) {
|
|
315
|
-
log(dir, `device-default membership denial left newer session binding intact session=${state.sessionId}`);
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
const prior = readDaemonState(dir)?.deviceDefaultAuthorizationDenials ?? 0;
|
|
319
|
-
patchDaemonState(dir, { deviceDefaultAuthorizationDenials: prior + 1 }, now);
|
|
320
|
-
log(dir, `device-default membership denied${slug ? ` company=${slug}` : ""}; work held`);
|
|
321
|
-
return { status: "denied" };
|
|
322
|
-
},
|
|
323
|
-
};
|
|
324
|
-
const validateDaemonMembership = async (slug, deviceDefault) => {
|
|
325
|
-
const authorization = await tenantGate.authorize({ companySlug: slug, deviceDefault });
|
|
326
|
-
if (authorization.status === "unavailable") {
|
|
327
|
-
throw new Error(`device-default membership lookup unavailable: ${authorization.error}`);
|
|
328
|
-
}
|
|
329
|
-
return authorization.status === "authorized" ? { uid: authorization.uid } : false;
|
|
330
|
-
};
|
|
331
97
|
/** In-memory held re-attempt throttle (survives watch-triggered flushes). */
|
|
332
98
|
let lastHeldRetryAtMs = 0;
|
|
333
|
-
const shutdownController = new AbortController();
|
|
334
99
|
const flushFn = deps.flush ??
|
|
335
|
-
(async (
|
|
100
|
+
(async () => {
|
|
336
101
|
const t = await getToken();
|
|
337
|
-
const poster =
|
|
102
|
+
const poster = createSessionEventsPoster({
|
|
338
103
|
token: t,
|
|
339
104
|
baseUrl: resolveVaultApiBase(env),
|
|
340
105
|
});
|
|
@@ -342,97 +107,25 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
342
107
|
workMeshRoot: meshRoot,
|
|
343
108
|
workContextRoot: ctxRoot,
|
|
344
109
|
poster,
|
|
345
|
-
signal,
|
|
346
110
|
heldRetryIntervalMs: HELD_RETRY_INTERVAL_MS,
|
|
347
111
|
lastHeldRetryAtMs,
|
|
348
112
|
onHeldClaimed: (atMs) => {
|
|
349
113
|
lastHeldRetryAtMs = atMs;
|
|
350
114
|
},
|
|
351
115
|
log: (message) => log(dir, message),
|
|
352
|
-
authorizeDeviceDefaultTenant: async (state) => (await tenantGate.authorize({
|
|
353
|
-
state,
|
|
354
|
-
companySlug: state.companySlug,
|
|
355
|
-
companyUid: state.companyUid,
|
|
356
|
-
deviceDefault: true,
|
|
357
|
-
})).status === "authorized",
|
|
358
116
|
});
|
|
359
117
|
});
|
|
360
118
|
const replayFn = deps.replayOutbox ??
|
|
361
119
|
(async () => {
|
|
362
120
|
const t = await getToken();
|
|
363
|
-
const deliver =
|
|
364
|
-
return replayOutbox(ctxRoot,
|
|
365
|
-
const state = readSessionState(op.sessionId, ctxRoot);
|
|
366
|
-
// Provenance must survive session-state loss. For pre-upgrade outbox
|
|
367
|
-
// entries without provenance, absent state is unknown and therefore
|
|
368
|
-
// requires the same membership check before delivery.
|
|
369
|
-
const requiresMembershipCheck = op.companyConfidence === "device_default" ||
|
|
370
|
-
state?.companyConfidence === "device_default" ||
|
|
371
|
-
// Pre-provenance entries are untrusted even if an equally legacy
|
|
372
|
-
// session state happens to exist. A current membership read is the
|
|
373
|
-
// only authority that may release them.
|
|
374
|
-
!op.companyConfidence;
|
|
375
|
-
if (requiresMembershipCheck) {
|
|
376
|
-
const authorization = await tenantGate.authorize({
|
|
377
|
-
state: state ?? undefined,
|
|
378
|
-
companySlug: op.companySlug ?? state?.companySlug,
|
|
379
|
-
companyUid: op.companyUid ?? state?.companyUid,
|
|
380
|
-
deviceDefault: true,
|
|
381
|
-
});
|
|
382
|
-
if (authorization.status === "unavailable") {
|
|
383
|
-
return { ok: false, retryable: true, code: "DEVICE_DEFAULT_MEMBERSHIP_LOOKUP_FAILED" };
|
|
384
|
-
}
|
|
385
|
-
if (authorization.status !== "authorized") {
|
|
386
|
-
return { ok: false, retryable: false, code: "DEVICE_DEFAULT_MEMBERSHIP_DENIED" };
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
return deliver(op);
|
|
390
|
-
});
|
|
391
|
-
});
|
|
392
|
-
const activateDefaultCompany = async () => {
|
|
393
|
-
try {
|
|
394
|
-
const token = await getToken();
|
|
395
|
-
await ensureDefaultCompany({
|
|
396
|
-
root: ctxRoot,
|
|
397
|
-
env,
|
|
398
|
-
listMemberships: () => listActiveMembershipCompanies(token),
|
|
399
|
-
log: (message) => log(dir, message),
|
|
400
|
-
});
|
|
401
|
-
}
|
|
402
|
-
catch (err) {
|
|
403
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
404
|
-
log(dir, `default company activation skipped: ${message.slice(0, 160)}`);
|
|
405
|
-
}
|
|
406
|
-
};
|
|
407
|
-
const backfillFn = deps.backfillHeld ??
|
|
408
|
-
(async () => {
|
|
409
|
-
await activateDefaultCompany();
|
|
410
|
-
const token = await getToken();
|
|
411
|
-
const deliver = createWorkSessionDeliverer({ token });
|
|
412
|
-
const useDeviceDefault = readDeviceConfig({ root: ctxRoot }).repairHeldWithDefault === true;
|
|
413
|
-
return backfillHeldSessions({
|
|
414
|
-
workMeshRoot: meshRoot,
|
|
415
|
-
workContextRoot: ctxRoot,
|
|
416
|
-
hqRoots: trustedRoots,
|
|
417
|
-
limit: deps.heldBackfillBatchSize ?? HELD_BACKFILL_STARTUP_BATCH_SIZE,
|
|
418
|
-
env,
|
|
419
|
-
useDeviceDefault,
|
|
420
|
-
reconcile: (observation) => reconcileObservation(observation, {
|
|
421
|
-
root: ctxRoot,
|
|
422
|
-
env,
|
|
423
|
-
deliver,
|
|
424
|
-
validateMembership: (slug) => validateDaemonMembership(slug, useDeviceDefault),
|
|
425
|
-
allowDeviceDefault: useDeviceDefault,
|
|
426
|
-
deviceDefaultConfidence: useDeviceDefault,
|
|
427
|
-
}),
|
|
428
|
-
validateMembership: (slug) => validateDaemonMembership(slug, useDeviceDefault),
|
|
429
|
-
});
|
|
121
|
+
const deliver = createWorkSessionDeliverer({ token: t });
|
|
122
|
+
return replayOutbox(ctxRoot, deliver);
|
|
430
123
|
});
|
|
431
124
|
const boardLast = new Map();
|
|
432
125
|
const refreshFn = deps.refreshBoards ??
|
|
433
126
|
(async () => {
|
|
434
127
|
const t = await getToken();
|
|
435
|
-
const reader =
|
|
128
|
+
const reader = createVaultBoardReader({
|
|
436
129
|
getJson: (p) => meshJson(t, p),
|
|
437
130
|
});
|
|
438
131
|
return refreshBoundSessionBoards({
|
|
@@ -441,66 +134,19 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
441
134
|
lastRefresh: boardLast,
|
|
442
135
|
intervalMs: BOARD_REFRESH_INTERVAL_MS,
|
|
443
136
|
now: () => timers.now(),
|
|
444
|
-
authorizeDeviceDefaultTenant: async (_sessionId, state) => (await tenantGate.authorize({
|
|
445
|
-
state,
|
|
446
|
-
companySlug: state.companySlug,
|
|
447
|
-
companyUid: state.companyUid,
|
|
448
|
-
deviceDefault: true,
|
|
449
|
-
})).status === "authorized",
|
|
450
137
|
});
|
|
451
138
|
});
|
|
452
|
-
let boardRefreshFailureActive = false;
|
|
453
|
-
const refreshBoardsWithDiagnostics = async () => {
|
|
454
|
-
try {
|
|
455
|
-
const result = await refreshFn();
|
|
456
|
-
if (boardRefreshFailureActive) {
|
|
457
|
-
log(dir, "mesh-board-refresh.recovered");
|
|
458
|
-
boardRefreshFailureActive = false;
|
|
459
|
-
}
|
|
460
|
-
return result;
|
|
461
|
-
}
|
|
462
|
-
catch (error) {
|
|
463
|
-
if (!boardRefreshFailureActive) {
|
|
464
|
-
const rawName = error instanceof Error ? error.name : typeof error;
|
|
465
|
-
const errorName = rawName.replace(/[^A-Za-z0-9_.-]/g, "").slice(0, 80) || "Error";
|
|
466
|
-
const rawMessage = error instanceof Error
|
|
467
|
-
? error.message
|
|
468
|
-
: typeof error === "string"
|
|
469
|
-
? error
|
|
470
|
-
: "non-Error rejection";
|
|
471
|
-
const message = rawMessage
|
|
472
|
-
.replace(/[\r\n\t]+/g, " ")
|
|
473
|
-
.replace(/Bearer\s+\S+/gi, "Bearer [REDACTED]")
|
|
474
|
-
.replace(/op:\/\/[^\s"]+/gi, "op://[REDACTED]")
|
|
475
|
-
.replace(/https?:\/\/[^\s"<>]+/gi, "[URL]")
|
|
476
|
-
.replace(/\b(?:gh[pousr]_[A-Za-z0-9_]{20,}|github_pat_[A-Za-z0-9_]+|AKIA[0-9A-Z]{16}|eyJ[A-Za-z0-9_.-]{10,})\b/gi, "[REDACTED]")
|
|
477
|
-
.replace(/\b(?:access[_-]?token|refresh[_-]?token|id[_-]?token|token|cookie|authorization)\b\s*[:=]\s*[^\s,;&]+/gi, "credential=[REDACTED]")
|
|
478
|
-
.replace(/\b(?:cmp|prs|prj|sess?)_[A-Za-z0-9_-]+\b/gi, "[ID]")
|
|
479
|
-
.slice(0, 160);
|
|
480
|
-
log(dir, `mesh-board-refresh.failed errorName=${errorName} message=${message || "[empty]"}`);
|
|
481
|
-
}
|
|
482
|
-
boardRefreshFailureActive = true;
|
|
483
|
-
throw error;
|
|
484
|
-
}
|
|
485
|
-
};
|
|
486
139
|
let presence = null;
|
|
487
|
-
let workCache = null;
|
|
488
140
|
if (deps.enablePresence !== false) {
|
|
489
|
-
const
|
|
141
|
+
const fetchCredentials = deps.fetchCredentials ??
|
|
490
142
|
(async () => {
|
|
491
143
|
const t = await getToken();
|
|
492
144
|
return createContract3Fetcher({
|
|
493
145
|
token: t,
|
|
494
146
|
baseUrl: resolveVaultApiBase(env),
|
|
495
147
|
env,
|
|
496
|
-
readPreferredCompanyUids: () => readPreferredCompanyUids({ workContextRoot: ctxRoot }),
|
|
497
148
|
})();
|
|
498
149
|
});
|
|
499
|
-
const fetchCredentials = async () => {
|
|
500
|
-
const bundle = await fetchCredentialsRaw();
|
|
501
|
-
patchDaemonState(dir, { presenceDroppedCompanies: bundle.droppedCompanies }, now);
|
|
502
|
-
return bundle;
|
|
503
|
-
};
|
|
504
150
|
const presenceOpts = {
|
|
505
151
|
fetchCredentials,
|
|
506
152
|
mqttConnect: deps.mqttConnect,
|
|
@@ -520,7 +166,6 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
520
166
|
}, now);
|
|
521
167
|
log(dir, `presence online companies=${companies.length}`);
|
|
522
168
|
},
|
|
523
|
-
readPreferredCompanyUids: () => readPreferredCompanyUids({ workContextRoot: ctxRoot }),
|
|
524
169
|
onRefusal: (refusal) => {
|
|
525
170
|
patchDaemonState(dir, {
|
|
526
171
|
presenceRefusal: refusal,
|
|
@@ -548,55 +193,16 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
548
193
|
// Continue draining spool even if MQTT is down.
|
|
549
194
|
}
|
|
550
195
|
}
|
|
551
|
-
if (deps.enableWorkCache) {
|
|
552
|
-
try {
|
|
553
|
-
workCache = await startWorkCacheSubscriber({
|
|
554
|
-
meshRoot,
|
|
555
|
-
fetchCredentials: deps.fetchPersonalCredentials ?? (async () => {
|
|
556
|
-
const t = await getToken();
|
|
557
|
-
return createPersonalRealtimeFetcher({
|
|
558
|
-
token: t,
|
|
559
|
-
baseUrl: resolveVaultApiBase(env),
|
|
560
|
-
})();
|
|
561
|
-
}),
|
|
562
|
-
mqttConnect: (url, options) => {
|
|
563
|
-
const connect = deps.mqttConnect ?? defaultMqttConnect;
|
|
564
|
-
return connect(url, options);
|
|
565
|
-
},
|
|
566
|
-
now,
|
|
567
|
-
onInfo: (message) => log(dir, message.slice(0, 200)),
|
|
568
|
-
random: deps.random,
|
|
569
|
-
});
|
|
570
|
-
}
|
|
571
|
-
catch (err) {
|
|
572
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
573
|
-
log(dir, `work cache subscribe failed: ${msg.slice(0, 200)}`);
|
|
574
|
-
}
|
|
575
|
-
}
|
|
576
196
|
let stopped = false;
|
|
577
|
-
let restartRequested = false;
|
|
578
197
|
let flushInFlight = null;
|
|
579
198
|
let debounceHandle = null;
|
|
580
199
|
let flushIntervalHandle = null;
|
|
581
|
-
let versionIntervalHandle = null;
|
|
582
200
|
let boardIntervalHandle = null;
|
|
583
201
|
let transcriptIntervalHandle = null;
|
|
584
202
|
let watcher = null;
|
|
585
203
|
/** Shared with transcript watcher: sessionIds seen on the hook/spool path. */
|
|
586
204
|
const lastHookEventAt = new Map();
|
|
587
|
-
const lastHookTurnEndAt = new Map();
|
|
588
205
|
let transcriptWatcher = null;
|
|
589
|
-
const requestRestartForVersionDrift = () => {
|
|
590
|
-
if (stopped || restartRequested)
|
|
591
|
-
return restartRequested;
|
|
592
|
-
const installedVersion = installedCliVersion();
|
|
593
|
-
if (!hasCliVersionDrift(daemonVersion, installedVersion))
|
|
594
|
-
return false;
|
|
595
|
-
restartRequested = true;
|
|
596
|
-
log(dir, `cli upgraded ${daemonVersion} -> ${installedVersion}, restarting`);
|
|
597
|
-
exit(DAEMON_VERSION_DRIFT_EXIT_CODE);
|
|
598
|
-
return true;
|
|
599
|
-
};
|
|
600
206
|
if (emitPath && deps.enableTranscriptWatch !== false) {
|
|
601
207
|
const hqRoot = deps.hqRoot ?? env.HQ_ROOT?.trim() ?? undefined;
|
|
602
208
|
const getToken = deps.getToken ?? defaultGetToken;
|
|
@@ -609,11 +215,18 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
609
215
|
fs: deps.transcriptFs,
|
|
610
216
|
now: () => now().getTime(),
|
|
611
217
|
lastHookEventAt,
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
218
|
+
validateMembership: async (slug) => {
|
|
219
|
+
try {
|
|
220
|
+
const token = await getToken();
|
|
221
|
+
const membership = await resolveActiveMembershipCompany(token, slug);
|
|
222
|
+
if (!membership)
|
|
223
|
+
return false;
|
|
224
|
+
return { uid: membership.companyUid };
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
},
|
|
617
230
|
deliver: async (op) => {
|
|
618
231
|
try {
|
|
619
232
|
const token = await getToken();
|
|
@@ -631,12 +244,7 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
631
244
|
}
|
|
632
245
|
const doFlushCycle = async (reason, opts = {}) => {
|
|
633
246
|
// Refuse new cycles after stop, except the forced shutdown flush.
|
|
634
|
-
if (
|
|
635
|
-
return;
|
|
636
|
-
// A long-lived daemon retains its loaded JS after a global CLI upgrade.
|
|
637
|
-
// The service unit resolves the binary again on restart, so exiting lets
|
|
638
|
-
// launchd/systemd bring up the upgraded implementation.
|
|
639
|
-
if (!opts.force && requestRestartForVersionDrift())
|
|
247
|
+
if (stopped && !opts.force)
|
|
640
248
|
return;
|
|
641
249
|
if (flushInFlight) {
|
|
642
250
|
await flushInFlight;
|
|
@@ -645,28 +253,11 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
645
253
|
}
|
|
646
254
|
flushInFlight = (async () => {
|
|
647
255
|
try {
|
|
648
|
-
// A held session has already ended, so no later hook will naturally
|
|
649
|
-
// revisit its context. Repair a bounded batch before the first flush;
|
|
650
|
-
// recovered state is then retried immediately in this same cycle.
|
|
651
|
-
if (reason === "start") {
|
|
652
|
-
try {
|
|
653
|
-
const recovered = await backfillFn();
|
|
654
|
-
if (recovered.reconciled > 0 ||
|
|
655
|
-
recovered.unresolved > 0 ||
|
|
656
|
-
recovered.errors > 0) {
|
|
657
|
-
log(dir, `held backfill: considered=${recovered.considered} reconciled=${recovered.reconciled} unresolved=${recovered.unresolved} errors=${recovered.errors}`);
|
|
658
|
-
}
|
|
659
|
-
}
|
|
660
|
-
catch (err) {
|
|
661
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
662
|
-
log(dir, `held backfill error: ${msg.slice(0, 200)}`);
|
|
663
|
-
}
|
|
664
|
-
}
|
|
665
256
|
// Record hook-emitted session ids from spool/held before claim/rename.
|
|
666
257
|
const at = now().getTime();
|
|
667
|
-
noteHookSessionsFromSpoolFile(workMeshSpoolPath(meshRoot), lastHookEventAt, at
|
|
668
|
-
noteHookSessionsFromSpoolFile(workMeshHeldPath(meshRoot), lastHookEventAt, at
|
|
669
|
-
const summary = await flushFn(
|
|
258
|
+
noteHookSessionsFromSpoolFile(workMeshSpoolPath(meshRoot), lastHookEventAt, at);
|
|
259
|
+
noteHookSessionsFromSpoolFile(workMeshHeldPath(meshRoot), lastHookEventAt, at);
|
|
260
|
+
const summary = await flushFn();
|
|
670
261
|
try {
|
|
671
262
|
const replay = await replayFn();
|
|
672
263
|
const delivered = replay.delivered ?? 0;
|
|
@@ -735,30 +326,13 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
735
326
|
if (!fs.existsSync(spoolPath)) {
|
|
736
327
|
fs.writeFileSync(spoolPath, "", { mode: 0o600 });
|
|
737
328
|
}
|
|
738
|
-
|
|
329
|
+
watcher = fs.watch(path.dirname(spoolPath), { persistent: true }, (_event, filename) => {
|
|
739
330
|
if (stopped)
|
|
740
331
|
return;
|
|
741
332
|
if (shouldFlushOnSpoolDirEvent(filename)) {
|
|
742
333
|
scheduleDebouncedFlush();
|
|
743
334
|
}
|
|
744
335
|
});
|
|
745
|
-
watcher = spoolWatcher;
|
|
746
|
-
spoolWatcher.on("error", (err) => {
|
|
747
|
-
// fs.watch can fail asynchronously after returning a watcher. Without
|
|
748
|
-
// an error listener Node treats EMFILE as an uncaught exception; the
|
|
749
|
-
// periodic flush below already provides a polling fallback.
|
|
750
|
-
if (watcher === spoolWatcher)
|
|
751
|
-
watcher = null;
|
|
752
|
-
try {
|
|
753
|
-
spoolWatcher.close();
|
|
754
|
-
}
|
|
755
|
-
catch (closeError) {
|
|
756
|
-
const closeMessage = closeError instanceof Error ? closeError.message : String(closeError);
|
|
757
|
-
log(dir, `fs.watch close failed after watcher error: ${closeMessage.slice(0, 120)}`);
|
|
758
|
-
}
|
|
759
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
760
|
-
log(dir, `fs.watch error; continuing interval flush: ${msg.slice(0, 120)}`);
|
|
761
|
-
});
|
|
762
336
|
}
|
|
763
337
|
catch (err) {
|
|
764
338
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -777,7 +351,7 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
777
351
|
boardIntervalHandle = timers.setTimeout(function boardTick() {
|
|
778
352
|
if (stopped)
|
|
779
353
|
return;
|
|
780
|
-
void
|
|
354
|
+
void refreshFn()
|
|
781
355
|
.catch(() => undefined)
|
|
782
356
|
.finally(() => {
|
|
783
357
|
if (stopped)
|
|
@@ -785,14 +359,6 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
785
359
|
boardIntervalHandle = timers.setTimeout(boardTick, BOARD_REFRESH_INTERVAL_MS);
|
|
786
360
|
});
|
|
787
361
|
}, BOARD_REFRESH_INTERVAL_MS);
|
|
788
|
-
// Version drift is independent of the legacy spool flush. Direct-mode
|
|
789
|
-
// daemons have no flush cycle, so they still need the same periodic restart
|
|
790
|
-
// check after an in-place CLI upgrade.
|
|
791
|
-
versionIntervalHandle = timers.setTimeout(function versionTick() {
|
|
792
|
-
if (stopped || requestRestartForVersionDrift())
|
|
793
|
-
return;
|
|
794
|
-
versionIntervalHandle = timers.setTimeout(versionTick, FLUSH_INTERVAL_MS);
|
|
795
|
-
}, FLUSH_INTERVAL_MS);
|
|
796
362
|
const runTranscriptTick = async () => {
|
|
797
363
|
if (!transcriptWatcher || stopped)
|
|
798
364
|
return;
|
|
@@ -813,9 +379,6 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
813
379
|
summary.turns > 0 ||
|
|
814
380
|
summary.ended > 0) {
|
|
815
381
|
log(dir, `transcript-watch: started=${summary.started} turns=${summary.turns} ended=${summary.ended} skippedHook=${summary.skippedHookCovered}`);
|
|
816
|
-
for (const sessionId of summary.endedSessionIds) {
|
|
817
|
-
log(dir, `transcript-watch quiet session_end sessionId=${sessionId}`);
|
|
818
|
-
}
|
|
819
382
|
scheduleDebouncedFlush();
|
|
820
383
|
}
|
|
821
384
|
}
|
|
@@ -838,13 +401,10 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
838
401
|
}
|
|
839
402
|
// Initial pass. Board refresh runs in both modes; the flush + transcript
|
|
840
403
|
// scan are legacy emit-path only.
|
|
841
|
-
if (
|
|
404
|
+
if (emitPath) {
|
|
842
405
|
void doFlushCycle("start");
|
|
843
406
|
}
|
|
844
|
-
|
|
845
|
-
void activateDefaultCompany();
|
|
846
|
-
}
|
|
847
|
-
void refreshBoardsWithDiagnostics().catch(() => undefined);
|
|
407
|
+
void refreshFn().catch(() => undefined);
|
|
848
408
|
if (emitPath) {
|
|
849
409
|
void runTranscriptTick();
|
|
850
410
|
}
|
|
@@ -852,14 +412,11 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
852
412
|
if (stopped)
|
|
853
413
|
return;
|
|
854
414
|
stopped = true;
|
|
855
|
-
shutdownController.abort();
|
|
856
415
|
log(dir, "daemon stopping");
|
|
857
416
|
if (debounceHandle !== null)
|
|
858
417
|
timers.clearTimeout(debounceHandle);
|
|
859
418
|
if (flushIntervalHandle !== null)
|
|
860
419
|
timers.clearTimeout(flushIntervalHandle);
|
|
861
|
-
if (versionIntervalHandle !== null)
|
|
862
|
-
timers.clearTimeout(versionIntervalHandle);
|
|
863
420
|
if (boardIntervalHandle !== null)
|
|
864
421
|
timers.clearTimeout(boardIntervalHandle);
|
|
865
422
|
if (transcriptIntervalHandle !== null) {
|
|
@@ -874,15 +431,6 @@ export async function runMeshDaemon(deps = {}) {
|
|
|
874
431
|
// Final flush, then clean MQTT DISCONNECT so the broker emits the
|
|
875
432
|
// lifecycle event; offline is published server-side only.
|
|
876
433
|
await doFlushCycle("shutdown", { force: true });
|
|
877
|
-
if (workCache) {
|
|
878
|
-
try {
|
|
879
|
-
await workCache.stop();
|
|
880
|
-
}
|
|
881
|
-
catch (err) {
|
|
882
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
883
|
-
log(dir, `work cache stop error: ${msg.slice(0, 120)}`);
|
|
884
|
-
}
|
|
885
|
-
}
|
|
886
434
|
if (presence) {
|
|
887
435
|
try {
|
|
888
436
|
await presence.stop();
|