@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
|
@@ -18,19 +18,15 @@
|
|
|
18
18
|
* HQ_COGNITO_CALLBACK_PORT — Loopback OAuth callback port
|
|
19
19
|
* HQ_VAULT_API_URL — vault-service API Gateway URL
|
|
20
20
|
*/
|
|
21
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
22
|
-
import { randomBytes } from "node:crypto";
|
|
23
21
|
import * as fs from "fs";
|
|
24
22
|
import * as os from "os";
|
|
25
23
|
import * as path from "path";
|
|
26
24
|
import * as yaml from "js-yaml";
|
|
27
25
|
import chalk from "chalk";
|
|
28
|
-
import { loadCachedTokens, isExpiring, refreshTokens,
|
|
26
|
+
import { loadCachedTokens, isExpiring, refreshTokens, browserLogin, detectHqCoreVersion, isMachineIdentity, getValidMachineTokens, CognitoRefreshError, accessTokenFingerprint, invalidateCachedTokensByFingerprint, } from "@indigoai-us/hq-cloud";
|
|
29
27
|
import { CLI_NAME, CLI_VERSION } from "../cli-version.js";
|
|
30
28
|
import { daemonDir } from "../lib/mesh/live/daemon/paths.js";
|
|
31
29
|
import { workMeshRoot } from "../lib/mesh/live/paths.js";
|
|
32
|
-
import { acquireLockFileExclusively } from "./exclusive-lock.js";
|
|
33
|
-
import { reportNoninteractivePersonRefreshRejection } from "./cognito-refresh-sentry.js";
|
|
34
30
|
// Re-export the cached-session primitives for callers that must deliberately
|
|
35
31
|
// avoid the refresh/login behavior in the higher-level helpers below.
|
|
36
32
|
export { isExpiring, isMachineIdentity, loadCachedTokens };
|
|
@@ -105,24 +101,22 @@ export const DEFAULT_VAULT_API_URL = process.env.HQ_VAULT_API_URL ?? "https://hq
|
|
|
105
101
|
* Re-importable as a function for command-time resolution and tests.
|
|
106
102
|
*/
|
|
107
103
|
export function resolveDefaultHqRoot(opts = {}) {
|
|
108
|
-
const env = opts.env ?? process.env;
|
|
109
|
-
const home = opts.home ?? os.homedir();
|
|
110
104
|
// Tier 1: explicit override.
|
|
111
|
-
if (env.HQ_ROOT)
|
|
112
|
-
return path.resolve(env.HQ_ROOT);
|
|
105
|
+
if (process.env.HQ_ROOT)
|
|
106
|
+
return path.resolve(process.env.HQ_ROOT);
|
|
113
107
|
// Tier 2: working-tree walk-up — operate on the HQ tree you're inside.
|
|
114
|
-
let cur = path.resolve(
|
|
108
|
+
let cur = path.resolve(process.cwd());
|
|
115
109
|
while (cur !== path.dirname(cur)) {
|
|
116
110
|
if (isHqRoot(cur))
|
|
117
111
|
return cur;
|
|
118
112
|
cur = path.dirname(cur);
|
|
119
113
|
}
|
|
120
114
|
// Tiers 3–4: the installer/menubar's canonical "where is HQ" records.
|
|
121
|
-
const fromConfig = readHqRootFromHqConfig(path.join(
|
|
115
|
+
const fromConfig = readHqRootFromHqConfig(path.join(os.homedir(), ".hq"));
|
|
122
116
|
if (fromConfig)
|
|
123
117
|
return path.resolve(fromConfig);
|
|
124
118
|
// Tier 5: discover a valid HQ root in the well-known locations.
|
|
125
|
-
const discovered = discoverHqRootViaCoreYaml(
|
|
119
|
+
const discovered = discoverHqRootViaCoreYaml();
|
|
126
120
|
if (discovered)
|
|
127
121
|
return discovered;
|
|
128
122
|
// Tier 6: nothing resolved.
|
|
@@ -132,7 +126,7 @@ export function resolveDefaultHqRoot(opts = {}) {
|
|
|
132
126
|
"or install HQ via the installer/menubar so ~/.hq/menubar.json records " +
|
|
133
127
|
"its location.");
|
|
134
128
|
}
|
|
135
|
-
return path.join(
|
|
129
|
+
return path.join(os.homedir(), "hq");
|
|
136
130
|
}
|
|
137
131
|
/**
|
|
138
132
|
* Read the configured HQ root from the installer/menubar records under
|
|
@@ -161,7 +155,8 @@ function readJsonStringField(file, field) {
|
|
|
161
155
|
}
|
|
162
156
|
}
|
|
163
157
|
/** Well-known parent locations an HQ tree commonly lives in (mirrors hq-sync). */
|
|
164
|
-
function hqDiscoveryCandidates(
|
|
158
|
+
function hqDiscoveryCandidates() {
|
|
159
|
+
const home = os.homedir();
|
|
165
160
|
return [
|
|
166
161
|
path.join(home, "HQ"),
|
|
167
162
|
path.join(home, "hq"),
|
|
@@ -176,8 +171,8 @@ function hqDiscoveryCandidates(home = os.homedir()) {
|
|
|
176
171
|
* signature. First match wins; returns undefined if none qualify. Cheap — a
|
|
177
172
|
* few stats plus one small YAML parse on a hit.
|
|
178
173
|
*/
|
|
179
|
-
function discoverHqRootViaCoreYaml(
|
|
180
|
-
return hqDiscoveryCandidates(
|
|
174
|
+
function discoverHqRootViaCoreYaml() {
|
|
175
|
+
return hqDiscoveryCandidates().find(isValidHqRootSignature);
|
|
181
176
|
}
|
|
182
177
|
/**
|
|
183
178
|
* True iff `dir` carries a valid hq-core `core.yaml` — canonical
|
|
@@ -413,308 +408,6 @@ function decodeJwtPayload(token) {
|
|
|
413
408
|
return null;
|
|
414
409
|
}
|
|
415
410
|
}
|
|
416
|
-
/**
|
|
417
|
-
* Refresh wrote a different Cognito subject than the active cache.
|
|
418
|
-
* Callers must not fall through to browser login or machine mint — that
|
|
419
|
-
* would replace the operator session the refusal is protecting.
|
|
420
|
-
*/
|
|
421
|
-
export class IdentitySwapRefusal extends Error {
|
|
422
|
-
constructor(message) {
|
|
423
|
-
super(message);
|
|
424
|
-
this.name = "IdentitySwapRefusal";
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
export function isIdentitySwapRefusal(err) {
|
|
428
|
-
return err instanceof IdentitySwapRefusal;
|
|
429
|
-
}
|
|
430
|
-
/** `sub` plus `custom:entityUid` from an unverified JWT. Either may be absent. */
|
|
431
|
-
export function cognitoSubjectFromToken(token) {
|
|
432
|
-
const claims = decodeJwtPayload(token);
|
|
433
|
-
const sub = typeof claims?.sub === "string" && claims.sub.length > 0 ? claims.sub : null;
|
|
434
|
-
const entity = claims?.["custom:entityUid"];
|
|
435
|
-
const entityUid = typeof entity === "string" && entity.length > 0 ? entity : null;
|
|
436
|
-
return { sub, entityUid };
|
|
437
|
-
}
|
|
438
|
-
/** Stable local cache identity for a Cognito person or agent principal. */
|
|
439
|
-
export function cognitoCachePrincipalUid(token) {
|
|
440
|
-
const claims = cognitoSubjectFromToken(token);
|
|
441
|
-
return claims.entityUid ?? claims.sub;
|
|
442
|
-
}
|
|
443
|
-
/** Stable subject key. Null when neither sub nor entity uid is present. */
|
|
444
|
-
export function cognitoSubjectKey(tokens) {
|
|
445
|
-
if (!tokens)
|
|
446
|
-
return null;
|
|
447
|
-
const fromId = cognitoSubjectFromToken(tokens.idToken);
|
|
448
|
-
const fromAccess = cognitoSubjectFromToken(tokens.accessToken);
|
|
449
|
-
const sub = fromId.sub ?? fromAccess.sub;
|
|
450
|
-
const entityUid = fromId.entityUid ?? fromAccess.entityUid;
|
|
451
|
-
if (!sub && !entityUid)
|
|
452
|
-
return null;
|
|
453
|
-
return `${sub ?? ""}|${entityUid ?? ""}`;
|
|
454
|
-
}
|
|
455
|
-
/** Doctor/status line. Claims only — never token material. */
|
|
456
|
-
export function formatCognitoSubject(tokens) {
|
|
457
|
-
if (!tokens)
|
|
458
|
-
return "sub=- entityUid=-";
|
|
459
|
-
const fromId = cognitoSubjectFromToken(tokens.idToken);
|
|
460
|
-
const fromAccess = cognitoSubjectFromToken(tokens.accessToken);
|
|
461
|
-
return `sub=${fromId.sub ?? fromAccess.sub ?? "-"} entityUid=${fromId.entityUid ?? fromAccess.entityUid ?? "-"}`;
|
|
462
|
-
}
|
|
463
|
-
function readTokenFile(file) {
|
|
464
|
-
try {
|
|
465
|
-
if (!fs.existsSync(file))
|
|
466
|
-
return null;
|
|
467
|
-
const raw = JSON.parse(fs.readFileSync(file, "utf8"));
|
|
468
|
-
if (typeof raw.accessToken !== "string" || typeof raw.idToken !== "string")
|
|
469
|
-
return null;
|
|
470
|
-
return raw;
|
|
471
|
-
}
|
|
472
|
-
catch {
|
|
473
|
-
return null;
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
/**
|
|
477
|
-
* Person cache as stored on disk for `env`. Does not consult hq-cloud's
|
|
478
|
-
* in-memory fallback, which can surface a different session when the file
|
|
479
|
-
* is missing or unreadable.
|
|
480
|
-
*/
|
|
481
|
-
export function readPersonTokenFile(home = os.homedir(), env = process.env) {
|
|
482
|
-
return readTokenFile(personTokenCacheFile(home, env));
|
|
483
|
-
}
|
|
484
|
-
function restoreTokenFile(file, before) {
|
|
485
|
-
if (before) {
|
|
486
|
-
const dir = path.dirname(file);
|
|
487
|
-
if (!fs.existsSync(dir))
|
|
488
|
-
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
489
|
-
const tmp = path.join(dir, `.cognito-tokens.json.restore.${process.pid}`);
|
|
490
|
-
fs.writeFileSync(tmp, before, { mode: 0o600 });
|
|
491
|
-
fs.renameSync(tmp, file);
|
|
492
|
-
return;
|
|
493
|
-
}
|
|
494
|
-
if (fs.existsSync(file))
|
|
495
|
-
fs.unlinkSync(file);
|
|
496
|
-
}
|
|
497
|
-
/**
|
|
498
|
-
* Refresh the active person session and refuse a subject change.
|
|
499
|
-
*
|
|
500
|
-
* hq-cloud's `refreshTokens` saves as soon as Cognito responds, and on a
|
|
501
|
-
* cache miss or unreadable file it can refresh an in-memory session for a
|
|
502
|
-
* different subject (same app client). Snapshot the active file first; if
|
|
503
|
-
* the response subject differs, put the bytes back and leave them there.
|
|
504
|
-
*/
|
|
505
|
-
export async function refreshActivePersonTokens(cached, env = process.env) {
|
|
506
|
-
const file = personTokenCacheFile(os.homedir(), env);
|
|
507
|
-
const onDisk = readTokenFile(file);
|
|
508
|
-
const diskKey = cognitoSubjectKey(onDisk);
|
|
509
|
-
const cachedKey = cognitoSubjectKey(cached);
|
|
510
|
-
if (diskKey && cachedKey && diskKey !== cachedKey) {
|
|
511
|
-
const message = `refusing token refresh: cached subject ${formatCognitoSubject(cached)} ` +
|
|
512
|
-
`does not match active subject ${formatCognitoSubject(onDisk)}; token file left unchanged`;
|
|
513
|
-
console.error(message);
|
|
514
|
-
throw new IdentitySwapRefusal(message);
|
|
515
|
-
}
|
|
516
|
-
const activeTokens = diskKey && cachedKey && diskKey === cachedKey ? onDisk : cached;
|
|
517
|
-
const activeKey = cognitoSubjectKey(activeTokens);
|
|
518
|
-
const before = fs.existsSync(file) ? fs.readFileSync(file) : null;
|
|
519
|
-
const refreshed = await refreshTokens(DEFAULT_COGNITO, activeTokens.refreshToken, activeTokens.accessToken);
|
|
520
|
-
const nextKey = cognitoSubjectKey(refreshed);
|
|
521
|
-
if (activeKey && nextKey && nextKey !== activeKey) {
|
|
522
|
-
restoreTokenFile(file, before);
|
|
523
|
-
const message = `refusing token refresh: refreshed subject ${formatCognitoSubject(refreshed)} ` +
|
|
524
|
-
`does not match active subject ${formatCognitoSubject(activeTokens)}; token file left unchanged`;
|
|
525
|
-
console.error(message);
|
|
526
|
-
throw new IdentitySwapRefusal(message);
|
|
527
|
-
}
|
|
528
|
-
return refreshed;
|
|
529
|
-
}
|
|
530
|
-
function throwIfAborted(signal) {
|
|
531
|
-
if (signal.aborted)
|
|
532
|
-
throw signal.reason ?? new Error("Token acquisition was aborted");
|
|
533
|
-
}
|
|
534
|
-
function waitForRefreshLock(signal, delayMs) {
|
|
535
|
-
return new Promise((resolve, reject) => {
|
|
536
|
-
const finish = (error) => {
|
|
537
|
-
clearTimeout(timer);
|
|
538
|
-
signal.removeEventListener("abort", onAbort);
|
|
539
|
-
if (error)
|
|
540
|
-
reject(error);
|
|
541
|
-
else
|
|
542
|
-
resolve();
|
|
543
|
-
};
|
|
544
|
-
const timer = setTimeout(() => finish(), delayMs);
|
|
545
|
-
const onAbort = () => finish(signal.reason ?? new Error("Token acquisition was aborted"));
|
|
546
|
-
if (signal.aborted)
|
|
547
|
-
onAbort();
|
|
548
|
-
else
|
|
549
|
-
signal.addEventListener("abort", onAbort, { once: true });
|
|
550
|
-
});
|
|
551
|
-
}
|
|
552
|
-
/**
|
|
553
|
-
* Refresh-lock protocol shared with hq-cloud, with caller cancellation while
|
|
554
|
-
* waiting. The flag lookup is best-effort, so it never refreshes unlocked.
|
|
555
|
-
*/
|
|
556
|
-
async function withAbortablePersonRefreshLock(signal, fn) {
|
|
557
|
-
const lockFile = `${personTokenCacheFile()}.lock`;
|
|
558
|
-
const stateDir = path.dirname(lockFile);
|
|
559
|
-
fs.mkdirSync(stateDir, { recursive: true, mode: 0o700 });
|
|
560
|
-
const candidate = `${lockFile}.candidate.${process.pid}.${randomBytes(8).toString("hex")}`;
|
|
561
|
-
fs.writeFileSync(candidate, String(process.pid), { flag: "wx", mode: 0o600 });
|
|
562
|
-
let held = false;
|
|
563
|
-
try {
|
|
564
|
-
for (;;) {
|
|
565
|
-
throwIfAborted(signal);
|
|
566
|
-
try {
|
|
567
|
-
acquireLockFileExclusively(candidate, lockFile, stateDir);
|
|
568
|
-
held = true;
|
|
569
|
-
break;
|
|
570
|
-
}
|
|
571
|
-
catch (error) {
|
|
572
|
-
if (error.code !== "EEXIST")
|
|
573
|
-
throw error;
|
|
574
|
-
let ownerPid = null;
|
|
575
|
-
try {
|
|
576
|
-
const parsed = Number.parseInt(fs.readFileSync(lockFile, "utf8").trim(), 10);
|
|
577
|
-
if (Number.isInteger(parsed) && parsed > 0)
|
|
578
|
-
ownerPid = parsed;
|
|
579
|
-
}
|
|
580
|
-
catch {
|
|
581
|
-
// An absent or malformed lock may be reclaimed below.
|
|
582
|
-
}
|
|
583
|
-
let ownerAlive = false;
|
|
584
|
-
if (ownerPid !== null) {
|
|
585
|
-
try {
|
|
586
|
-
process.kill(ownerPid, 0);
|
|
587
|
-
ownerAlive = true;
|
|
588
|
-
}
|
|
589
|
-
catch (probeError) {
|
|
590
|
-
ownerAlive = probeError.code === "EPERM";
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
|
-
if (!ownerAlive) {
|
|
594
|
-
try {
|
|
595
|
-
fs.unlinkSync(lockFile);
|
|
596
|
-
}
|
|
597
|
-
catch {
|
|
598
|
-
// Another contender may have reclaimed it first.
|
|
599
|
-
}
|
|
600
|
-
continue;
|
|
601
|
-
}
|
|
602
|
-
await waitForRefreshLock(signal, 50);
|
|
603
|
-
}
|
|
604
|
-
}
|
|
605
|
-
throwIfAborted(signal);
|
|
606
|
-
return await fn();
|
|
607
|
-
}
|
|
608
|
-
finally {
|
|
609
|
-
if (held) {
|
|
610
|
-
try {
|
|
611
|
-
const owner = Number.parseInt(fs.readFileSync(lockFile, "utf8").trim(), 10);
|
|
612
|
-
if (owner === process.pid)
|
|
613
|
-
fs.unlinkSync(lockFile);
|
|
614
|
-
}
|
|
615
|
-
catch {
|
|
616
|
-
// A failed request must not mask its original error.
|
|
617
|
-
}
|
|
618
|
-
}
|
|
619
|
-
try {
|
|
620
|
-
fs.unlinkSync(candidate);
|
|
621
|
-
}
|
|
622
|
-
catch {
|
|
623
|
-
// The candidate may already have been removed.
|
|
624
|
-
}
|
|
625
|
-
}
|
|
626
|
-
}
|
|
627
|
-
/**
|
|
628
|
-
* Client-health's short-lived flag read cannot use hq-cloud's unbounded refresh
|
|
629
|
-
* helper. Reuse its lockfile protocol, attach the caller signal to the refresh
|
|
630
|
-
* request, and persist only after the request has completed before the deadline.
|
|
631
|
-
*/
|
|
632
|
-
export async function refreshActivePersonTokensForClientHealth(cached, signal) {
|
|
633
|
-
// Cognito refresh rotation is off for this client (#2603; ALLOW_REFRESH_TOKEN_AUTH stays), so aborting loses no rotated token; keep this lock protocol identical to hq-cloud withRefreshLock.
|
|
634
|
-
return withAbortablePersonRefreshLock(signal, async () => {
|
|
635
|
-
throwIfAborted(signal);
|
|
636
|
-
const onDisk = readPersonTokenFile();
|
|
637
|
-
const diskKey = cognitoSubjectKey(onDisk);
|
|
638
|
-
const cachedKey = cognitoSubjectKey(cached);
|
|
639
|
-
if (diskKey && cachedKey && diskKey !== cachedKey) {
|
|
640
|
-
throw new IdentitySwapRefusal(`refusing token refresh: cached subject ${formatCognitoSubject(cached)} ` +
|
|
641
|
-
`does not match active subject ${formatCognitoSubject(onDisk)}`);
|
|
642
|
-
}
|
|
643
|
-
const activeTokens = onDisk ?? cached;
|
|
644
|
-
if (!isExpiring(activeTokens, 120))
|
|
645
|
-
return activeTokens;
|
|
646
|
-
if (!activeTokens.refreshToken) {
|
|
647
|
-
throw new CognitoRefreshError("No refresh token is available for the cached HQ session", true);
|
|
648
|
-
}
|
|
649
|
-
const body = new URLSearchParams({
|
|
650
|
-
grant_type: "refresh_token",
|
|
651
|
-
client_id: DEFAULT_COGNITO.clientId,
|
|
652
|
-
refresh_token: activeTokens.refreshToken,
|
|
653
|
-
});
|
|
654
|
-
const endpoint = `https://${DEFAULT_COGNITO.userPoolDomain}.auth.${DEFAULT_COGNITO.region}.amazoncognito.com/oauth2/token`;
|
|
655
|
-
const fingerprint = accessTokenFingerprint(activeTokens.accessToken);
|
|
656
|
-
let response;
|
|
657
|
-
for (let attempt = 0; attempt < 2; attempt++) {
|
|
658
|
-
throwIfAborted(signal);
|
|
659
|
-
try {
|
|
660
|
-
response = await fetch(endpoint, {
|
|
661
|
-
method: "POST",
|
|
662
|
-
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
663
|
-
body: body.toString(),
|
|
664
|
-
signal,
|
|
665
|
-
});
|
|
666
|
-
}
|
|
667
|
-
catch (err) {
|
|
668
|
-
throwIfAborted(signal);
|
|
669
|
-
if (attempt === 0)
|
|
670
|
-
continue;
|
|
671
|
-
throw new CognitoRefreshError(`Cognito refresh request failed: ${err instanceof Error ? err.message : String(err)}`, false, undefined, fingerprint);
|
|
672
|
-
}
|
|
673
|
-
throwIfAborted(signal);
|
|
674
|
-
if (response.ok)
|
|
675
|
-
break;
|
|
676
|
-
const retryable = response.status === 401 ||
|
|
677
|
-
response.status === 408 ||
|
|
678
|
-
response.status === 429 ||
|
|
679
|
-
response.status >= 500;
|
|
680
|
-
if (retryable && attempt === 0)
|
|
681
|
-
continue;
|
|
682
|
-
const reauth = response.status === 401 ||
|
|
683
|
-
(response.status >= 400 && response.status < 500 && ![408, 429].includes(response.status));
|
|
684
|
-
throw new CognitoRefreshError(`Cognito refresh failed (${response.status})`, reauth, response.status, fingerprint);
|
|
685
|
-
}
|
|
686
|
-
if (!response?.ok) {
|
|
687
|
-
throw new CognitoRefreshError("Cognito refresh failed after retry", false, undefined, fingerprint);
|
|
688
|
-
}
|
|
689
|
-
const data = (await response.json());
|
|
690
|
-
throwIfAborted(signal);
|
|
691
|
-
if (typeof data.access_token !== "string" ||
|
|
692
|
-
typeof data.id_token !== "string" ||
|
|
693
|
-
typeof data.expires_in !== "number" ||
|
|
694
|
-
!Number.isFinite(data.expires_in) ||
|
|
695
|
-
data.expires_in <= 0) {
|
|
696
|
-
throw new CognitoRefreshError("Cognito refresh returned an invalid token response", false);
|
|
697
|
-
}
|
|
698
|
-
const refreshed = {
|
|
699
|
-
accessToken: data.access_token,
|
|
700
|
-
idToken: data.id_token,
|
|
701
|
-
refreshToken: typeof data.refresh_token === "string" && data.refresh_token.length > 0
|
|
702
|
-
? data.refresh_token
|
|
703
|
-
: activeTokens.refreshToken,
|
|
704
|
-
expiresAt: Date.now() + data.expires_in * 1_000,
|
|
705
|
-
tokenType: "Bearer",
|
|
706
|
-
};
|
|
707
|
-
const activeKey = cognitoSubjectKey(activeTokens);
|
|
708
|
-
const nextKey = cognitoSubjectKey(refreshed);
|
|
709
|
-
if (activeKey && nextKey && nextKey !== activeKey) {
|
|
710
|
-
throw new IdentitySwapRefusal(`refusing token refresh: refreshed subject ${formatCognitoSubject(refreshed)} ` +
|
|
711
|
-
`does not match active subject ${formatCognitoSubject(activeTokens)}`);
|
|
712
|
-
}
|
|
713
|
-
throwIfAborted(signal);
|
|
714
|
-
saveCachedTokens(refreshed);
|
|
715
|
-
return refreshed;
|
|
716
|
-
});
|
|
717
|
-
}
|
|
718
411
|
/** Derive actor kind from an ID token's custom:entity* claims (no verify). */
|
|
719
412
|
export function actorKindFromIdToken(idToken) {
|
|
720
413
|
const claims = decodeJwtPayload(idToken);
|
|
@@ -803,52 +496,23 @@ export function describeCognitoTokenSource(opts = {}) {
|
|
|
803
496
|
* `HQ_MACHINE_TOKEN_STATE_DIR` instead. Restores the prior env afterwards.
|
|
804
497
|
*/
|
|
805
498
|
export async function withMachineTokenStateDir(fn, opts = {}) {
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
}
|
|
820
|
-
});
|
|
821
|
-
}
|
|
822
|
-
/**
|
|
823
|
-
* The token cache location (`HQ_STATE_DIR`) is process-wide, and a machine mint
|
|
824
|
-
* points it at the machine cache across an await. A person-session read in the
|
|
825
|
-
* same process while that mint is in flight would load the MACHINE tokens: a
|
|
826
|
-
* local bot's resident (machine identity for its own calls) checking its
|
|
827
|
-
* owner's sign-in at startup got the bot's token and "No person entity found".
|
|
828
|
-
* Every section that swaps or reads the cache location runs one at a time;
|
|
829
|
-
* nested sections (a person read falling back to a machine mint) run inline.
|
|
830
|
-
*/
|
|
831
|
-
const tokenStateDirSection = new AsyncLocalStorage();
|
|
832
|
-
let tokenStateDirTail = Promise.resolve();
|
|
833
|
-
function withTokenStateDirSection(fn) {
|
|
834
|
-
if (tokenStateDirSection.getStore())
|
|
835
|
-
return fn();
|
|
836
|
-
const run = tokenStateDirTail.then(() => tokenStateDirSection.run(true, fn));
|
|
837
|
-
tokenStateDirTail = run.catch(() => undefined);
|
|
838
|
-
return run;
|
|
499
|
+
const home = opts.home ?? os.homedir();
|
|
500
|
+
const env = opts.env ?? process.env;
|
|
501
|
+
const prev = process.env.HQ_STATE_DIR;
|
|
502
|
+
process.env.HQ_STATE_DIR = machineTokenStateDir(home, env);
|
|
503
|
+
try {
|
|
504
|
+
return await fn();
|
|
505
|
+
}
|
|
506
|
+
finally {
|
|
507
|
+
if (prev === undefined)
|
|
508
|
+
delete process.env.HQ_STATE_DIR;
|
|
509
|
+
else
|
|
510
|
+
process.env.HQ_STATE_DIR = prev;
|
|
511
|
+
}
|
|
839
512
|
}
|
|
840
513
|
async function ensureMachineTokens() {
|
|
841
514
|
return withMachineTokenStateDir(() => getValidMachineTokens(DEFAULT_COGNITO));
|
|
842
515
|
}
|
|
843
|
-
/**
|
|
844
|
-
* Ensure the current machine identity has a valid session and return only the
|
|
845
|
-
* access/ID token pair needed by supported machine-session handoff scripts.
|
|
846
|
-
* The machine state directory is isolated from the person's session cache.
|
|
847
|
-
*/
|
|
848
|
-
export async function ensureMachineSessionTokens() {
|
|
849
|
-
const tokens = await ensureMachineTokensMaybeFallback({ tokenSource: "machine" });
|
|
850
|
-
return { accessToken: tokens.accessToken, idToken: tokens.idToken, expiresAt: tokens.expiresAt };
|
|
851
|
-
}
|
|
852
516
|
/**
|
|
853
517
|
* Mint machine tokens (daemon state dir cache). Logs once when the fresh-box
|
|
854
518
|
* default-creds fallback is what selected the machine path.
|
|
@@ -889,37 +553,6 @@ export function isDefinitivePersonAuthRejection(err) {
|
|
|
889
553
|
function markPersonSessionRejected(accessToken) {
|
|
890
554
|
invalidateCachedTokensByFingerprint(accessTokenFingerprint(accessToken));
|
|
891
555
|
}
|
|
892
|
-
async function reportPersonRefreshRejectionBestEffort(error) {
|
|
893
|
-
try {
|
|
894
|
-
await reportNoninteractivePersonRefreshRejection(error);
|
|
895
|
-
}
|
|
896
|
-
catch {
|
|
897
|
-
// Reporting is deliberately non-blocking for auth recovery and invalidation.
|
|
898
|
-
}
|
|
899
|
-
}
|
|
900
|
-
/**
|
|
901
|
-
* A refresh rejection applies to the snapshot sent to Cognito. Reread the
|
|
902
|
-
* shared person cache before rejecting the session because another process
|
|
903
|
-
* may have atomically installed a fresh generation while the request ran.
|
|
904
|
-
*/
|
|
905
|
-
function resolvePersonSessionAfterRefreshRejection(cached) {
|
|
906
|
-
const current = readPersonTokenFile();
|
|
907
|
-
const cachedKey = cognitoSubjectKey(cached);
|
|
908
|
-
const currentKey = cognitoSubjectKey(current);
|
|
909
|
-
if (!current || current.accessToken === cached.accessToken)
|
|
910
|
-
return { kind: "none" };
|
|
911
|
-
if (cachedKey && currentKey && cachedKey !== currentKey) {
|
|
912
|
-
return {
|
|
913
|
-
kind: "identity-swap",
|
|
914
|
-
error: new IdentitySwapRefusal("refusing rejected refresh for " + formatCognitoSubject(cached) +
|
|
915
|
-
": the active token file now belongs to " + formatCognitoSubject(current)),
|
|
916
|
-
};
|
|
917
|
-
}
|
|
918
|
-
if (cachedKey && currentKey === cachedKey && !isExpiring(current, 120)) {
|
|
919
|
-
return { kind: "fresh", tokens: current };
|
|
920
|
-
}
|
|
921
|
-
return { kind: "none" };
|
|
922
|
-
}
|
|
923
556
|
/**
|
|
924
557
|
* Return a non-expired Cognito access token, refreshing or browser-logging-in
|
|
925
558
|
* as needed. Person cache lives at ~/.hq/cognito-tokens.json. Machine minting
|
|
@@ -934,11 +567,6 @@ function resolvePersonSessionAfterRefreshRejection(cached) {
|
|
|
934
567
|
* a browser.
|
|
935
568
|
*/
|
|
936
569
|
export async function ensureCognitoToken(options = {}) {
|
|
937
|
-
if (wantsMachineCognitoTokens(options))
|
|
938
|
-
return ensureCognitoTokenUnserialized(options);
|
|
939
|
-
return withTokenStateDirSection(() => ensureCognitoTokenUnserialized(options));
|
|
940
|
-
}
|
|
941
|
-
async function ensureCognitoTokenUnserialized(options) {
|
|
942
570
|
const interactive = options.interactive ?? true;
|
|
943
571
|
// Machine identities (company agents) mint sessions on demand via
|
|
944
572
|
// USER_PASSWORD_AUTH — no refresh-token dance, no browser. The vault API's
|
|
@@ -962,25 +590,14 @@ async function ensureCognitoTokenUnserialized(options) {
|
|
|
962
590
|
if (interactive) {
|
|
963
591
|
console.error(chalk.dim(" Refreshing expiring HQ session..."));
|
|
964
592
|
}
|
|
965
|
-
const refreshed = await
|
|
593
|
+
const refreshed = await refreshTokens(DEFAULT_COGNITO, cached.refreshToken);
|
|
966
594
|
return refreshed.accessToken;
|
|
967
595
|
}
|
|
968
596
|
catch (err) {
|
|
969
|
-
if (isIdentitySwapRefusal(err))
|
|
970
|
-
throw err;
|
|
971
597
|
// Transient/network/server errors stay person errors — never mint machine.
|
|
972
598
|
if (!isDefinitivePersonAuthRejection(err)) {
|
|
973
599
|
throw err;
|
|
974
600
|
}
|
|
975
|
-
const resolution = resolvePersonSessionAfterRefreshRejection(cached);
|
|
976
|
-
if (resolution.kind === "identity-swap")
|
|
977
|
-
throw resolution.error;
|
|
978
|
-
if (resolution.kind === "fresh") {
|
|
979
|
-
return resolution.tokens.accessToken;
|
|
980
|
-
}
|
|
981
|
-
if (!interactive) {
|
|
982
|
-
await reportPersonRefreshRejectionBestEffort(err);
|
|
983
|
-
}
|
|
984
601
|
markPersonSessionRejected(cached.accessToken);
|
|
985
602
|
const fallback = await tryDefaultMachineCredsFallback(options);
|
|
986
603
|
if (fallback)
|
|
@@ -998,15 +615,6 @@ async function ensureCognitoTokenUnserialized(options) {
|
|
|
998
615
|
if (!interactive) {
|
|
999
616
|
throw new Error("No valid HQ session and interactive login is disabled. Run `hq login` first.");
|
|
1000
617
|
}
|
|
1001
|
-
if (isHeadlessHost() && hostRunsAnAgent()) {
|
|
1002
|
-
// An agent host with no display has no one to complete a browser sign-in,
|
|
1003
|
-
// which then blocks until something kills the process. Fail with the fix
|
|
1004
|
-
// instead. Scoped to agent hosts so an ordinary headless run keeps the
|
|
1005
|
-
// existing sign-in and its remedies.
|
|
1006
|
-
throw new Error("No valid HQ session, and this host has no display for a browser sign-in. " +
|
|
1007
|
-
"If this is an enrolled agent, set HQ_AGENT_DIR to its agent directory " +
|
|
1008
|
-
"(or HQ_MACHINE_CREDS_FILE to its machine-creds.json). Otherwise run `hq login` on a computer with a browser.");
|
|
1009
|
-
}
|
|
1010
618
|
console.error(chalk.cyan(" No cached HQ session — launching browser sign-in..."));
|
|
1011
619
|
const tokens = await browserLogin(DEFAULT_COGNITO);
|
|
1012
620
|
return tokens.accessToken;
|
|
@@ -1023,16 +631,7 @@ async function ensureCognitoTokenUnserialized(options) {
|
|
|
1023
631
|
* identical to `ensureCognitoToken` there.
|
|
1024
632
|
*/
|
|
1025
633
|
export async function ensureCognitoIdToken(options = {}) {
|
|
1026
|
-
if (options.signal?.aborted)
|
|
1027
|
-
throw options.signal.reason ?? new Error("Token acquisition was aborted");
|
|
1028
|
-
if (wantsMachineCognitoTokens(options))
|
|
1029
|
-
return ensureCognitoIdTokenUnserialized(options);
|
|
1030
|
-
return withTokenStateDirSection(() => ensureCognitoIdTokenUnserialized(options));
|
|
1031
|
-
}
|
|
1032
|
-
async function ensureCognitoIdTokenUnserialized(options) {
|
|
1033
634
|
const interactive = options.interactive ?? true;
|
|
1034
|
-
if (options.signal?.aborted)
|
|
1035
|
-
throw options.signal.reason ?? new Error("Token acquisition was aborted");
|
|
1036
635
|
if (wantsMachineCognitoTokens(options)) {
|
|
1037
636
|
const machine = await ensureMachineTokensMaybeFallback(options);
|
|
1038
637
|
return machine.idToken;
|
|
@@ -1046,24 +645,13 @@ async function ensureCognitoIdTokenUnserialized(options) {
|
|
|
1046
645
|
if (interactive) {
|
|
1047
646
|
console.error(chalk.dim(" Refreshing expiring HQ session..."));
|
|
1048
647
|
}
|
|
1049
|
-
const refreshed =
|
|
1050
|
-
? await refreshActivePersonTokensForClientHealth(cached, options.signal)
|
|
1051
|
-
: await refreshActivePersonTokens(cached);
|
|
648
|
+
const refreshed = await refreshTokens(DEFAULT_COGNITO, cached.refreshToken);
|
|
1052
649
|
return refreshed.idToken;
|
|
1053
650
|
}
|
|
1054
651
|
catch (err) {
|
|
1055
|
-
if (options.signal?.aborted || isIdentitySwapRefusal(err))
|
|
1056
|
-
throw err;
|
|
1057
652
|
if (!isDefinitivePersonAuthRejection(err)) {
|
|
1058
653
|
throw err;
|
|
1059
654
|
}
|
|
1060
|
-
const resolution = resolvePersonSessionAfterRefreshRejection(cached);
|
|
1061
|
-
if (resolution.kind === "identity-swap")
|
|
1062
|
-
throw resolution.error;
|
|
1063
|
-
if (resolution.kind === "fresh")
|
|
1064
|
-
return resolution.tokens.idToken;
|
|
1065
|
-
if (!interactive)
|
|
1066
|
-
await reportPersonRefreshRejectionBestEffort(err);
|
|
1067
655
|
markPersonSessionRejected(cached.accessToken);
|
|
1068
656
|
const fallback = await tryDefaultMachineCredsFallback(options);
|
|
1069
657
|
if (fallback)
|
|
@@ -1081,13 +669,6 @@ async function ensureCognitoIdTokenUnserialized(options) {
|
|
|
1081
669
|
if (!interactive) {
|
|
1082
670
|
throw new Error("No valid HQ session and interactive login is disabled. Run `hq login` first.");
|
|
1083
671
|
}
|
|
1084
|
-
if (isHeadlessHost() && hostRunsAnAgent()) {
|
|
1085
|
-
// A browser sign-in on a server has no one to complete it and blocks
|
|
1086
|
-
// until something kills the process. Fail with the fix instead.
|
|
1087
|
-
throw new Error("No valid HQ session, and this host has no display for a browser sign-in. " +
|
|
1088
|
-
"If this is an enrolled agent, set HQ_AGENT_DIR to its agent directory " +
|
|
1089
|
-
"(or HQ_MACHINE_CREDS_FILE to its machine-creds.json). Otherwise run `hq login` on a computer with a browser.");
|
|
1090
|
-
}
|
|
1091
672
|
console.error(chalk.cyan(" No cached HQ session — launching browser sign-in..."));
|
|
1092
673
|
const tokens = await browserLogin(DEFAULT_COGNITO);
|
|
1093
674
|
return tokens.idToken;
|
|
@@ -1123,11 +704,6 @@ export function buildVaultConfig(authToken) {
|
|
|
1123
704
|
* reason string and can decide what to do next. Never opens a browser.
|
|
1124
705
|
*/
|
|
1125
706
|
export async function refreshCachedSession(options = {}) {
|
|
1126
|
-
if (wantsMachineCognitoTokens(options))
|
|
1127
|
-
return refreshCachedSessionUnserialized(options);
|
|
1128
|
-
return withTokenStateDirSection(() => refreshCachedSessionUnserialized(options));
|
|
1129
|
-
}
|
|
1130
|
-
async function refreshCachedSessionUnserialized(options) {
|
|
1131
707
|
// Machine identities have no refresh token; ensure a valid cached machine
|
|
1132
708
|
// session without forcing a re-mint when the cache is already healthy.
|
|
1133
709
|
// Tokens land under the dedicated machine/daemon state dir.
|
|
@@ -1166,13 +742,10 @@ async function refreshCachedSessionUnserialized(options) {
|
|
|
1166
742
|
return { refreshed: true };
|
|
1167
743
|
}
|
|
1168
744
|
try {
|
|
1169
|
-
await
|
|
745
|
+
await refreshTokens(DEFAULT_COGNITO, cached.refreshToken);
|
|
1170
746
|
return { refreshed: true };
|
|
1171
747
|
}
|
|
1172
748
|
catch (err) {
|
|
1173
|
-
if (isIdentitySwapRefusal(err)) {
|
|
1174
|
-
return { refreshed: false, reason: err.message };
|
|
1175
|
-
}
|
|
1176
749
|
// Transient/network/server refresh errors stay person failures.
|
|
1177
750
|
if (!isDefinitivePersonAuthRejection(err)) {
|
|
1178
751
|
return {
|
|
@@ -1180,13 +753,6 @@ async function refreshCachedSessionUnserialized(options) {
|
|
|
1180
753
|
reason: err instanceof Error ? err.message : String(err),
|
|
1181
754
|
};
|
|
1182
755
|
}
|
|
1183
|
-
const resolution = resolvePersonSessionAfterRefreshRejection(cached);
|
|
1184
|
-
if (resolution.kind === "identity-swap") {
|
|
1185
|
-
return { refreshed: false, reason: resolution.error.message };
|
|
1186
|
-
}
|
|
1187
|
-
if (resolution.kind === "fresh")
|
|
1188
|
-
return { refreshed: true };
|
|
1189
|
-
await reportPersonRefreshRejectionBestEffort(err);
|
|
1190
756
|
// Definitive rejection — person session is dead; mark it and fall back.
|
|
1191
757
|
markPersonSessionRejected(cached.accessToken);
|
|
1192
758
|
try {
|
|
@@ -1206,24 +772,4 @@ async function refreshCachedSessionUnserialized(options) {
|
|
|
1206
772
|
};
|
|
1207
773
|
}
|
|
1208
774
|
}
|
|
1209
|
-
/**
|
|
1210
|
-
* True on a Linux host with no terminal and no display — a container or
|
|
1211
|
-
* server, where a browser sign-in can never be completed. macOS and Windows
|
|
1212
|
-
* always have a way to open a browser, and a terminal means a person is there.
|
|
1213
|
-
*/
|
|
1214
|
-
export function isHeadlessHost(env = process.env, platform = process.platform, tty = Boolean(process.stdin.isTTY || process.stdout.isTTY || process.stderr.isTTY)) {
|
|
1215
|
-
if (platform !== "linux")
|
|
1216
|
-
return false;
|
|
1217
|
-
if (tty)
|
|
1218
|
-
return false;
|
|
1219
|
-
return !env.DISPLAY?.trim() && !env.WAYLAND_DISPLAY?.trim();
|
|
1220
|
-
}
|
|
1221
|
-
/**
|
|
1222
|
-
* True when the environment explicitly names an HQ agent identity. Only the
|
|
1223
|
-
* explicit variables count: guessing from the filesystem is unreliable, and a
|
|
1224
|
-
* wrong guess would take an ordinary headless run off its sign-in path.
|
|
1225
|
-
*/
|
|
1226
|
-
export function hostRunsAnAgent(env = process.env) {
|
|
1227
|
-
return Boolean(env.HQ_AGENT_DIR?.trim() || env.HQ_MACHINE_CREDS_FILE?.trim());
|
|
1228
|
-
}
|
|
1229
775
|
//# sourceMappingURL=cognito-session.js.map
|
|
@@ -99,5 +99,5 @@ export declare const CONTRIBUTION_KEYS: ContributionKey[];
|
|
|
99
99
|
*/
|
|
100
100
|
export declare function payloadFor(key: ContributionKey, item: string): string;
|
|
101
101
|
/** Keys whose contributions are wired by a host symlink (skip `merge` rows). */
|
|
102
|
-
export declare const SYMLINK_KEYS: ("workers" | "
|
|
102
|
+
export declare const SYMLINK_KEYS: ("workers" | "knowledge" | "skills" | "commands" | "hooks" | "policies" | "scripts" | "mcp")[];
|
|
103
103
|
//# sourceMappingURL=contribution-table.d.ts.map
|