@indigoai-us/hq-cli 5.312.2-beta.0 → 5.314.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -4293
- package/assets/scaffold/core/scripts/checkpoint-stop-gate.sh +43 -281
- package/assets/scaffold/core/scripts/hook-lib.sh +50 -345
- package/assets/scaffold/core/scripts/hq-session.sh +23 -184
- package/assets/scaffold/core/scripts/lib/session-id.sh +2 -3
- package/assets/scaffold/core/scripts/lib/session-scope-capability.sh +1 -1
- package/assets/scaffold/core/scripts/lib/work-mesh-enqueue.sh +1 -2
- package/assets/scaffold/core/scripts/qmd-reindex-after-sync.sh +87 -10
- package/assets/scaffold/core/scripts/rebuild-company-knowledge-index.sh +3 -36
- package/assets/scaffold/core/scripts/rebuild-projects-index.sh +12 -99
- package/assets/scaffold/core/scripts/token-usage-report.sh +20 -81
- package/dist/bin/hq-auth-refresh.d.ts +0 -2
- package/dist/bin/hq-auth-refresh.js +6 -12
- package/dist/commands/__fixtures__/access-vault.d.ts +0 -2
- package/dist/commands/__fixtures__/access-vault.js +1 -1
- package/dist/commands/_patterns.d.ts +0 -16
- package/dist/commands/_patterns.js +3 -20
- package/dist/commands/access.d.ts +1 -2
- package/dist/commands/access.js +49 -58
- package/dist/commands/agents.d.ts +4 -106
- package/dist/commands/agents.js +45 -924
- package/dist/commands/auth.d.ts +0 -1
- package/dist/commands/auth.js +19 -189
- package/dist/commands/billing.d.ts +0 -3
- package/dist/commands/billing.js +1 -6
- package/dist/commands/channels.js +1 -56
- package/dist/commands/cloud-demote.js +2 -3
- package/dist/commands/cloud-provision.d.ts +0 -14
- package/dist/commands/cloud-provision.js +58 -232
- package/dist/commands/cloud.d.ts +15 -49
- package/dist/commands/cloud.js +122 -358
- package/dist/commands/company-transfer.d.ts +28 -4
- package/dist/commands/company-transfer.js +49 -5
- package/dist/commands/company.js +3 -66
- package/dist/commands/core-checkpoint.d.ts +9 -19
- package/dist/commands/core-checkpoint.js +37 -301
- package/dist/commands/core.d.ts +0 -4
- package/dist/commands/core.js +80 -270
- package/dist/commands/crm.js +3 -52
- package/dist/commands/db-provision.js +4 -4
- package/dist/commands/db-sql.js +21 -7
- package/dist/commands/dm.d.ts +12 -119
- package/dist/commands/dm.js +38 -388
- package/dist/commands/doctor.d.ts +0 -12
- package/dist/commands/doctor.js +12 -158
- package/dist/commands/feedback.d.ts +0 -6
- package/dist/commands/feedback.js +37 -86
- package/dist/commands/files-browse.d.ts +12 -32
- package/dist/commands/files-browse.js +60 -176
- package/dist/commands/files.d.ts +0 -17
- package/dist/commands/files.js +47 -300
- package/dist/commands/group-grants.js +2 -3
- package/dist/commands/groups.js +5 -6
- package/dist/commands/index-cmd.d.ts +1 -19
- package/dist/commands/index-cmd.js +7 -74
- package/dist/commands/integrations-api.d.ts +10 -15
- package/dist/commands/integrations-api.js +22 -27
- package/dist/commands/integrations-connect.d.ts +13 -51
- package/dist/commands/integrations-connect.js +71 -86
- package/dist/commands/integrations-core.d.ts +6 -6
- package/dist/commands/integrations-core.js +11 -25
- package/dist/commands/integrations-import.d.ts +1 -1
- package/dist/commands/integrations-import.js +24 -43
- package/dist/commands/integrations-manage.js +13 -20
- package/dist/commands/integrations.d.ts +0 -8
- package/dist/commands/integrations.js +7 -94
- package/dist/commands/login.js +6 -49
- package/dist/commands/mcp-registration.d.ts +25 -32
- package/dist/commands/mcp-registration.js +23 -256
- package/dist/commands/mcp-status.js +0 -1
- package/dist/commands/meetings.js +34 -55
- package/dist/commands/members.js +1 -5
- package/dist/commands/mesh.d.ts +0 -11
- package/dist/commands/mesh.js +76 -1086
- package/dist/commands/onboard-identity-guard.d.ts +1 -1
- package/dist/commands/onboard.js +5 -24
- package/dist/commands/pack-install.js +1 -3
- package/dist/commands/packs.js +1 -11
- package/dist/commands/people.d.ts +0 -4
- package/dist/commands/people.js +3 -37
- package/dist/commands/publish.d.ts +1 -8
- package/dist/commands/publish.js +4 -17
- package/dist/commands/reindex.js +6 -56
- package/dist/commands/rescue.d.ts +0 -4
- package/dist/commands/rescue.js +17 -27
- package/dist/commands/run.js +4 -18
- package/dist/commands/safe-extract.d.ts +2 -11
- package/dist/commands/safe-extract.js +8 -36
- package/dist/commands/scaffold-fast.d.ts +41 -0
- package/dist/commands/scaffold-fast.js +57 -0
- package/dist/commands/secrets.d.ts +2 -20
- package/dist/commands/secrets.js +71 -175
- package/dist/commands/skill.d.ts +4 -35
- package/dist/commands/skill.js +18 -357
- package/dist/commands/sync-mode.d.ts +0 -11
- package/dist/commands/sync-mode.js +0 -30
- package/dist/commands/sync-narrow.js +5 -36
- package/dist/commands/team-sync.js +10 -71
- package/dist/commands/update.js +0 -6
- package/dist/commands/whoami.d.ts +0 -22
- package/dist/commands/whoami.js +4 -137
- package/dist/commands/workers.d.ts +14 -2
- package/dist/commands/workers.js +10 -7
- package/dist/fast-core.d.ts +7 -6
- package/dist/fast-core.js +24 -80
- package/dist/index.d.ts +4 -3
- package/dist/index.js +9 -59
- package/dist/lazy-commands.d.ts +44 -20
- package/dist/lazy-commands.js +58 -60
- package/dist/lib/company-skill-wrapper.d.ts +0 -1
- package/dist/lib/company-skill-wrapper.js +29 -121
- package/dist/lib/core-utils/codex-skill-bridge.d.ts +1 -2
- package/dist/lib/core-utils/qmd-reindex-after-sync.d.ts +1 -14
- package/dist/lib/core-utils/qmd-reindex-after-sync.js +17 -101
- package/dist/lib/core-utils/soft-timeout.js +1 -1
- package/dist/lib/core-utils/timeout-guard.d.ts +3 -3
- package/dist/lib/core-utils/timeout-guard.js +13 -28
- package/dist/lib/core-utils/token-usage-report.js +3 -17
- package/dist/lib/db/control-plane.js +0 -6
- package/dist/lib/db/local.d.ts +5 -0
- package/dist/lib/db/local.js +1 -1
- package/dist/lib/db/migrate.d.ts +12 -0
- package/dist/lib/db/migrate.js +5 -5
- package/dist/lib/db/remote-sql.d.ts +2 -2
- package/dist/lib/db/remote-sql.js +3 -3
- package/dist/lib/db/sql.d.ts +10 -0
- package/dist/lib/db/sql.js +8 -4
- package/dist/lib/doctor/__testing__/fake-hq-tree.d.ts +1 -1
- package/dist/lib/doctor/__testing__/fake-hq-tree.js +1 -1
- package/dist/lib/doctor/checks/claude-wiring.js +1 -70
- package/dist/lib/doctor/checks/codex-wiring.d.ts +4 -0
- package/dist/lib/doctor/checks/codex-wiring.js +35 -3
- package/dist/lib/doctor/checks/grok-wiring.js +34 -1
- package/dist/lib/doctor/checks/integrations.js +0 -11
- package/dist/lib/doctor/checks/runtime-health.d.ts +17 -4
- package/dist/lib/doctor/checks/runtime-health.js +7 -20
- package/dist/lib/doctor/checks/sync-health.d.ts +0 -21
- package/dist/lib/doctor/checks/sync-health.js +2 -72
- package/dist/lib/doctor/checks/work-context.js +6 -12
- package/dist/lib/doctor/compat.d.ts +16 -0
- package/dist/lib/doctor/compat.js +3 -4
- package/dist/lib/doctor/deep/effects.js +3 -1
- package/dist/lib/doctor/deep/executor.d.ts +10 -4
- package/dist/lib/doctor/deep/executor.js +1 -1
- package/dist/lib/doctor/deep/parity.d.ts +29 -2
- package/dist/lib/doctor/deep/parity.js +7 -7
- package/dist/lib/doctor/deep/sandbox.d.ts +25 -7
- package/dist/lib/doctor/deep/sandbox.js +7 -5
- package/dist/lib/doctor/fix/apply.d.ts +8 -79
- package/dist/lib/doctor/fix/apply.js +80 -292
- package/dist/lib/doctor/fix/remediation.d.ts +6 -14
- package/dist/lib/doctor/fix/remediation.js +9 -49
- package/dist/lib/doctor/fixtures/schema.js +3 -1
- package/dist/lib/doctor/json-output.d.ts +1 -17
- package/dist/lib/doctor/json-output.js +2 -7
- package/dist/lib/doctor/platform.d.ts +26 -0
- package/dist/lib/doctor/platform.js +5 -5
- package/dist/lib/doctor/registry.d.ts +0 -14
- package/dist/lib/doctor/registry.js +0 -71
- package/dist/lib/doctor/report.js +1 -1
- package/dist/lib/doctor/types.d.ts +0 -5
- package/dist/lib/doctor/types.js +0 -20
- package/dist/lib/flag-registry-worker.js +1 -12
- package/dist/lib/flag-registry.d.ts +6 -26
- package/dist/lib/flag-registry.js +16 -133
- package/dist/lib/index-render/companies.d.ts +1 -4
- package/dist/lib/index-render/companies.js +3 -66
- package/dist/lib/index-render/company-knowledge.js +17 -80
- package/dist/lib/index-render/index.d.ts +0 -1
- package/dist/lib/index-render/index.js +1 -2
- package/dist/lib/index-render/projects.js +5 -82
- package/dist/lib/index-render/shared.d.ts +1 -13
- package/dist/lib/index-render/shared.js +2 -41
- package/dist/lib/mesh/api.d.ts +10 -103
- package/dist/lib/mesh/api.js +64 -334
- package/dist/lib/mesh/client.d.ts +2 -3
- package/dist/lib/mesh/client.js +2 -3
- package/dist/lib/mesh/live/backfill-held.d.ts +16 -67
- package/dist/lib/mesh/live/backfill-held.js +61 -415
- package/dist/lib/mesh/live/backoff.d.ts +2 -2
- package/dist/lib/mesh/live/backoff.js +3 -16
- package/dist/lib/mesh/live/daemon/board-refresh.d.ts +1 -7
- package/dist/lib/mesh/live/daemon/board-refresh.js +30 -78
- package/dist/lib/mesh/live/daemon/credentials.d.ts +10 -64
- package/dist/lib/mesh/live/daemon/credentials.js +20 -270
- package/dist/lib/mesh/live/daemon/doctor.d.ts +0 -51
- package/dist/lib/mesh/live/daemon/doctor.js +6 -180
- package/dist/lib/mesh/live/daemon/index.d.ts +10 -13
- package/dist/lib/mesh/live/daemon/index.js +6 -7
- package/dist/lib/mesh/live/daemon/install.d.ts +1 -255
- package/dist/lib/mesh/live/daemon/install.js +13 -811
- package/dist/lib/mesh/live/daemon/paths.d.ts +0 -2
- package/dist/lib/mesh/live/daemon/paths.js +0 -2
- package/dist/lib/mesh/live/daemon/presence.d.ts +5 -24
- package/dist/lib/mesh/live/daemon/presence.js +10 -79
- package/dist/lib/mesh/live/daemon/run.d.ts +2 -48
- package/dist/lib/mesh/live/daemon/run.js +33 -485
- package/dist/lib/mesh/live/daemon/state.d.ts +2 -19
- package/dist/lib/mesh/live/daemon/state.js +2 -34
- package/dist/lib/mesh/live/daemon/transcript-watch.d.ts +9 -45
- package/dist/lib/mesh/live/daemon/transcript-watch.js +31 -227
- package/dist/lib/mesh/live/emit-client.d.ts +0 -8
- package/dist/lib/mesh/live/emit-client.js +8 -23
- package/dist/lib/mesh/live/emit-evidence.d.ts +0 -19
- package/dist/lib/mesh/live/emit-evidence.js +2 -20
- package/dist/lib/mesh/live/emit.d.ts +0 -9
- package/dist/lib/mesh/live/emit.js +2 -28
- package/dist/lib/mesh/live/enqueue.d.ts +0 -5
- package/dist/lib/mesh/live/enqueue.js +0 -19
- package/dist/lib/mesh/live/flush.d.ts +5 -17
- package/dist/lib/mesh/live/flush.js +38 -391
- package/dist/lib/mesh/live/format-spool-line.d.ts +2 -5
- package/dist/lib/mesh/live/format-spool-line.js +0 -10
- package/dist/lib/mesh/live/paths.d.ts +0 -2
- package/dist/lib/mesh/live/paths.js +0 -4
- package/dist/lib/mesh/live/session-event.schema.json +1 -24
- package/dist/lib/mesh/live/session-events-client.d.ts +0 -2
- package/dist/lib/mesh/live/session-events-client.js +0 -26
- package/dist/lib/mesh/live/spool.d.ts +0 -19
- package/dist/lib/mesh/live/spool.js +3 -269
- package/dist/lib/mesh/live/validate-session-event.d.ts +1 -1
- package/dist/lib/mesh/live/validate-session-event.js +1 -1
- package/dist/lib/plan-limit-nag.d.ts +6 -102
- package/dist/lib/plan-limit-nag.js +43 -348
- package/dist/lib/scan-packages/index.d.ts +0 -2
- package/dist/lib/scan-packages/index.js +6 -168
- package/dist/lib/search-index/background.d.ts +1 -8
- package/dist/lib/search-index/background.js +200 -55
- package/dist/lib/search-index/index.d.ts +0 -12
- package/dist/lib/search-index/index.js +7 -153
- package/dist/lib/work-context/company.d.ts +20 -22
- package/dist/lib/work-context/company.js +40 -124
- package/dist/lib/work-context/config.d.ts +11 -58
- package/dist/lib/work-context/config.js +83 -334
- package/dist/lib/work-context/contract.d.ts +0 -10
- package/dist/lib/work-context/index.d.ts +25 -0
- package/dist/lib/work-context/index.js +21 -0
- package/dist/lib/work-context/outbox.d.ts +1 -14
- package/dist/lib/work-context/outbox.js +1 -87
- package/dist/lib/work-context/reconcile.d.ts +0 -15
- package/dist/lib/work-context/reconcile.js +25 -380
- package/dist/lib/work-context/state.d.ts +10 -93
- package/dist/lib/work-context/state.js +29 -342
- package/dist/lib/workers-registry/index.js +8 -62
- package/dist/main.d.ts +0 -12
- package/dist/main.js +73 -266
- package/dist/node-network-compat.d.ts +30 -2
- package/dist/node-network-compat.js +51 -4
- package/dist/node-preflight.d.ts +1 -7
- package/dist/node-preflight.js +5 -5
- package/dist/register-all.d.ts +29 -4
- package/dist/register-all.js +233 -4
- package/dist/run/discover-schemas.d.ts +1 -2
- package/dist/run/env-graph-guard.d.ts +2 -2
- package/dist/run/env-graph-guard.js +2 -5
- package/dist/run/hq-plugin.d.ts +0 -4
- package/dist/run/hq-plugin.js +8 -36
- package/dist/sentry-before-send.js +0 -80
- package/dist/sentry.d.ts +2 -8
- package/dist/sentry.js +13 -117
- package/dist/startup-registration.d.ts +2 -26
- package/dist/startup-registration.js +15 -116
- package/dist/utils/cli-telemetry.d.ts +1 -74
- package/dist/utils/cli-telemetry.js +7 -434
- package/dist/utils/client-health.d.ts +4 -0
- package/dist/utils/client-health.js +2 -2
- package/dist/utils/cognito-session.d.ts +0 -71
- package/dist/utils/cognito-session.js +27 -481
- package/dist/utils/contribution-table.d.ts +1 -1
- package/dist/utils/environmental-error.d.ts +0 -18
- package/dist/utils/environmental-error.js +7 -240
- package/dist/utils/expected-cli-error.d.ts +0 -2
- package/dist/utils/expected-cli-error.js +0 -4
- package/dist/utils/feedback-diagnostics.d.ts +1 -2
- package/dist/utils/feedback-log-bundle.d.ts +26 -51
- package/dist/utils/feedback-log-bundle.js +31 -211
- package/dist/utils/feedback-logs.d.ts +47 -18
- package/dist/utils/feedback-logs.js +21 -50
- package/dist/utils/feedback-screenshots.d.ts +1 -0
- package/dist/utils/feedback-screenshots.js +1 -1
- package/dist/utils/hq-roots.d.ts +2 -25
- package/dist/utils/hq-roots.js +7 -67
- package/dist/utils/incomplete-install-error.d.ts +19 -87
- package/dist/utils/incomplete-install-error.js +68 -319
- package/dist/utils/install-tree-torn.d.ts +24 -260
- package/dist/utils/install-tree-torn.js +51 -998
- package/dist/utils/large-file-guard.d.ts +10 -0
- package/dist/utils/large-file-guard.js +1 -1
- package/dist/utils/local-files-overview.d.ts +8 -4
- package/dist/utils/local-files-overview.js +7 -48
- package/dist/utils/login-provider.d.ts +0 -7
- package/dist/utils/login-provider.js +0 -34
- package/dist/utils/pack-contributions.d.ts +9 -2
- package/dist/utils/pack-contributions.js +43 -6
- package/dist/utils/package-root-diagnostics.d.ts +1 -1
- package/dist/utils/people.d.ts +11 -7
- package/dist/utils/people.js +20 -5
- package/dist/utils/plan-gate-error.d.ts +10 -52
- package/dist/utils/plan-gate-error.js +41 -364
- package/dist/utils/qmd-model-download-error.d.ts +8 -0
- package/dist/utils/qmd-model-download-error.js +1 -1
- package/dist/utils/qmd-query-document-error.d.ts +6 -0
- package/dist/utils/qmd-query-document-error.js +1 -1
- package/dist/utils/redact-error-text.js +1 -2
- package/dist/utils/run-bundled-script.d.ts +0 -6
- package/dist/utils/run-bundled-script.js +4 -117
- package/dist/utils/secrets-cache.d.ts +3 -7
- package/dist/utils/secrets-cache.js +14 -162
- package/dist/utils/self-update.d.ts +1 -34
- package/dist/utils/self-update.js +42 -660
- package/dist/utils/sentry-fingerprint.d.ts +1 -23
- package/dist/utils/sentry-fingerprint.js +31 -223
- package/dist/utils/team-upgrade.d.ts +1 -1
- package/dist/utils/team-upgrade.js +3 -4
- package/dist/utils/vault-api.d.ts +1 -21
- package/dist/utils/vault-api.js +84 -251
- package/dist/utils/version-check.d.ts +1 -11
- package/dist/utils/version-check.js +3 -32
- package/dist/utils/version-gate.d.ts +17 -101
- package/dist/utils/version-gate.js +70 -645
- package/dist/utils/windows-spawn.d.ts +0 -6
- package/dist/utils/windows-spawn.js +0 -37
- package/package.json +8 -20
- package/README.md +0 -113
- package/assets/bot-workers/setup/context/USER-GUIDE.md +0 -404
- package/assets/bot-workers/setup/context/quick-reference.md +0 -199
- package/assets/bot-workers/setup/skills/agents-and-team.md +0 -167
- package/assets/bot-workers/setup/skills/explain-hq.md +0 -35
- package/assets/bot-workers/setup/skills/first-company.md +0 -74
- package/assets/bot-workers/setup/skills/joining-a-team.md +0 -125
- package/assets/bot-workers/setup/skills/pricing.md +0 -92
- package/assets/bot-workers/setup/skills/standing-help.md +0 -81
- package/assets/bot-workers/setup/skills/your-business.md +0 -281
- package/assets/bot-workers/setup/worker.yaml +0 -791
- package/assets/lanes-hooks/hq-lanes-drain.json +0 -15
- package/assets/lanes-hooks/hq-lanes-drain.mjs +0 -275
- package/assets/lanes-hooks/hq-lanes-drain.sh +0 -21
- package/assets/lanes-reconcile/hq-lanes-reconcile.service +0 -11
- package/assets/lanes-reconcile/hq-lanes-reconcile.timer +0 -12
- package/assets/scaffold/.claude/hooks/validate-policy-frontmatter.sh +0 -485
- package/assets/scaffold/core/scripts/audit-log.sh +0 -384
- package/assets/scaffold/core/scripts/clean-worktree-reconcile-handoff.sh +0 -171
- package/assets/scaffold/core/scripts/eval-trigger.sh +0 -193
- package/assets/scaffold/core/scripts/git-pack-extension-check.sh +0 -164
- package/assets/scaffold/core/scripts/handoff-finalize.sh +0 -688
- package/assets/scaffold/core/scripts/handoff-open-steps.sh +0 -81
- package/assets/scaffold/core/scripts/handoff-post.sh +0 -252
- package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +0 -307
- package/assets/scaffold/core/scripts/hq-delegate-grant.sh +0 -252
- package/assets/scaffold/core/scripts/hq-delegate-pickup.sh +0 -99
- package/assets/scaffold/core/scripts/hq-delegate-publish.sh +0 -91
- package/assets/scaffold/core/scripts/hq-delegate-repo.sh +0 -158
- package/assets/scaffold/core/scripts/hq-delegate-resolve.sh +0 -145
- package/assets/scaffold/core/scripts/hq-delegate-secrets.sh +0 -129
- package/assets/scaffold/core/scripts/hq-delegate-send.sh +0 -259
- package/assets/scaffold/core/scripts/hq-delegate-transfer.sh +0 -175
- package/assets/scaffold/core/scripts/hq-delegate-verify.sh +0 -238
- package/assets/scaffold/core/scripts/hq-dm-bind.sh +0 -585
- package/assets/scaffold/core/scripts/hq-job-notify.sh +0 -389
- package/assets/scaffold/core/scripts/hq-job-probe.sh +0 -835
- package/assets/scaffold/core/scripts/hq-job-remediate.sh +0 -359
- package/assets/scaffold/core/scripts/hq-job-run.sh +0 -1025
- package/assets/scaffold/core/scripts/hq-pin.sh +0 -118
- package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +0 -310
- package/assets/scaffold/core/scripts/jobs-validate.sh +0 -451
- package/assets/scaffold/core/scripts/knowledge-prefs.sh +0 -55
- package/assets/scaffold/core/scripts/lib/portable.sh +0 -211
- package/assets/scaffold/core/scripts/lib/secret-patterns.sh +0 -58
- package/assets/scaffold/core/scripts/ontology-audience-grant.sh +0 -81
- package/assets/scaffold/core/scripts/ontology-brief.mjs +0 -93
- package/assets/scaffold/core/scripts/ontology-candidate.sh +0 -100
- package/assets/scaffold/core/scripts/ontology-garden.mjs +0 -238
- package/assets/scaffold/core/scripts/ontology-source-worklist.sh +0 -79
- package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +0 -834
- package/assets/scaffold/core/scripts/policy-age-report.sh +0 -156
- package/assets/scaffold/core/scripts/policy-retire.sh +0 -199
- package/assets/scaffold/core/scripts/qmd-reindex-bg.sh +0 -40
- package/assets/scaffold/core/scripts/read-policy-frontmatter.sh +0 -32
- package/assets/scaffold/core/scripts/refresh-vault-access.sh +0 -188
- package/assets/scaffold/core/scripts/resolve-company.sh +0 -199
- package/assets/scaffold/core/scripts/resume-thread-lock.sh +0 -285
- package/assets/scaffold/core/scripts/source-yaml-validate.sh +0 -36
- package/assets/scaffold/core/scripts/verify-story-deliverables.sh +0 -148
- package/assets/scaffold/core/scripts/work-mesh-live-bind-trusted.sh +0 -152
- package/assets/scaffold/core/scripts/worktree-gc.sh +0 -362
- package/contracts/preflight/v1/fixtures.json +0 -87
- package/contracts/preflight/v1/schema.json +0 -58
- package/dist/command-catalog.generated.d.ts +0 -10655
- package/dist/command-catalog.generated.js +0 -13737
- package/dist/command-registration-plan.d.ts +0 -474
- package/dist/command-registration-plan.js +0 -136
- package/dist/commands/agent-enroll.d.ts +0 -146
- package/dist/commands/agent-enroll.js +0 -401
- package/dist/commands/agent-inbox.d.ts +0 -9
- package/dist/commands/agent-inbox.js +0 -102
- package/dist/commands/agent-kit.d.ts +0 -87
- package/dist/commands/agent-kit.js +0 -480
- package/dist/commands/agent-mcp.d.ts +0 -24
- package/dist/commands/agent-mcp.js +0 -127
- package/dist/commands/agent-probe.d.ts +0 -77
- package/dist/commands/agent-probe.js +0 -335
- package/dist/commands/agent.d.ts +0 -13
- package/dist/commands/agent.js +0 -40
- package/dist/commands/billing-sponsor.d.ts +0 -83
- package/dist/commands/billing-sponsor.js +0 -344
- package/dist/commands/bot-companies.d.ts +0 -40
- package/dist/commands/bot-companies.js +0 -64
- package/dist/commands/bot-continuity.d.ts +0 -28
- package/dist/commands/bot-continuity.js +0 -68
- package/dist/commands/bot-jobs.d.ts +0 -127
- package/dist/commands/bot-jobs.js +0 -454
- package/dist/commands/bot.d.ts +0 -278
- package/dist/commands/bot.js +0 -1982
- package/dist/commands/cloud-retire.d.ts +0 -51
- package/dist/commands/cloud-retire.js +0 -154
- package/dist/commands/core-audit-log-native.d.ts +0 -9
- package/dist/commands/core-audit-log-native.js +0 -257
- package/dist/commands/core-checkpoint-gate-setting.d.ts +0 -59
- package/dist/commands/core-checkpoint-gate-setting.js +0 -163
- package/dist/commands/core-checkpoint-stop-gate-native.d.ts +0 -34
- package/dist/commands/core-checkpoint-stop-gate-native.js +0 -725
- package/dist/commands/core-command-catalog.d.ts +0 -34
- package/dist/commands/core-command-catalog.js +0 -62
- package/dist/commands/core-company-index-scope-flag.d.ts +0 -3
- package/dist/commands/core-company-index-scope-flag.js +0 -6
- package/dist/commands/core-delegate-w1b.d.ts +0 -10
- package/dist/commands/core-delegate-w1b.js +0 -1219
- package/dist/commands/core-delegate.d.ts +0 -46
- package/dist/commands/core-delegate.js +0 -1040
- package/dist/commands/core-dm-bind-native.d.ts +0 -32
- package/dist/commands/core-dm-bind-native.js +0 -668
- package/dist/commands/core-git-pack-extension-check-native.d.ts +0 -22
- package/dist/commands/core-git-pack-extension-check-native.js +0 -190
- package/dist/commands/core-handoff-fast.d.ts +0 -18
- package/dist/commands/core-handoff-fast.js +0 -104
- package/dist/commands/core-handoff-open-steps.d.ts +0 -21
- package/dist/commands/core-handoff-open-steps.js +0 -264
- package/dist/commands/core-handoff.d.ts +0 -24
- package/dist/commands/core-handoff.js +0 -1144
- package/dist/commands/core-hq-session-native.d.ts +0 -39
- package/dist/commands/core-hq-session-native.js +0 -579
- package/dist/commands/core-job-native-utils.d.ts +0 -6
- package/dist/commands/core-job-native-utils.js +0 -80
- package/dist/commands/core-job-native.d.ts +0 -5
- package/dist/commands/core-job-native.js +0 -16
- package/dist/commands/core-job-notify-native.d.ts +0 -36
- package/dist/commands/core-job-notify-native.js +0 -359
- package/dist/commands/core-job-probe-native.d.ts +0 -45
- package/dist/commands/core-job-probe-native.js +0 -564
- package/dist/commands/core-job-remediate-native.d.ts +0 -26
- package/dist/commands/core-job-remediate-native.js +0 -374
- package/dist/commands/core-job-remote-launcher.d.ts +0 -7
- package/dist/commands/core-job-remote-launcher.js +0 -51
- package/dist/commands/core-job-run-native.d.ts +0 -47
- package/dist/commands/core-job-run-native.js +0 -1215
- package/dist/commands/core-jobs-native.d.ts +0 -25
- package/dist/commands/core-jobs-native.js +0 -1339
- package/dist/commands/core-knowledge-prefs.d.ts +0 -12
- package/dist/commands/core-knowledge-prefs.js +0 -137
- package/dist/commands/core-native-handoff-flag.d.ts +0 -4
- package/dist/commands/core-native-handoff-flag.js +0 -7
- package/dist/commands/core-native-jobs-flag.d.ts +0 -4
- package/dist/commands/core-native-jobs-flag.js +0 -7
- package/dist/commands/core-native-policy-flag.d.ts +0 -9
- package/dist/commands/core-native-policy-flag.js +0 -12
- package/dist/commands/core-native-session-flag.d.ts +0 -4
- package/dist/commands/core-native-session-flag.js +0 -7
- package/dist/commands/core-native-utilities-flag.d.ts +0 -4
- package/dist/commands/core-native-utilities-flag.js +0 -7
- package/dist/commands/core-native-utilities.d.ts +0 -29
- package/dist/commands/core-native-utilities.js +0 -54
- package/dist/commands/core-native-worker-skills-flag.d.ts +0 -4
- package/dist/commands/core-native-worker-skills-flag.js +0 -7
- package/dist/commands/core-ontology-native.d.ts +0 -17
- package/dist/commands/core-ontology-native.js +0 -916
- package/dist/commands/core-ontology.d.ts +0 -66
- package/dist/commands/core-ontology.js +0 -430
- package/dist/commands/core-pin-native.d.ts +0 -14
- package/dist/commands/core-pin-native.js +0 -236
- package/dist/commands/core-policy-frontmatter.d.ts +0 -8
- package/dist/commands/core-policy-frontmatter.js +0 -52
- package/dist/commands/core-policy.d.ts +0 -14
- package/dist/commands/core-policy.js +0 -1018
- package/dist/commands/core-refresh-vault-access-native.d.ts +0 -20
- package/dist/commands/core-refresh-vault-access-native.js +0 -229
- package/dist/commands/core-resolve-company-command.d.ts +0 -4
- package/dist/commands/core-resolve-company-command.js +0 -42
- package/dist/commands/core-resolve-company-native.d.ts +0 -28
- package/dist/commands/core-resolve-company-native.js +0 -408
- package/dist/commands/core-work-mesh-bind-trusted-native.d.ts +0 -32
- package/dist/commands/core-work-mesh-bind-trusted-native.js +0 -190
- package/dist/commands/core-worker-lint-native.d.ts +0 -4
- package/dist/commands/core-worker-lint-native.js +0 -160
- package/dist/commands/core-worker-share-native.d.ts +0 -5
- package/dist/commands/core-worker-share-native.js +0 -260
- package/dist/commands/core-worker-skills-command.d.ts +0 -8
- package/dist/commands/core-worker-skills-command.js +0 -33
- package/dist/commands/core-worker-skills-runtime.d.ts +0 -33
- package/dist/commands/core-worker-skills-runtime.js +0 -86
- package/dist/commands/daemon.d.ts +0 -63
- package/dist/commands/daemon.js +0 -877
- package/dist/commands/deploy-comments.d.ts +0 -3
- package/dist/commands/deploy-comments.js +0 -162
- package/dist/commands/lanes-accounts.d.ts +0 -28
- package/dist/commands/lanes-accounts.js +0 -595
- package/dist/commands/lanes-autopilot.d.ts +0 -11
- package/dist/commands/lanes-autopilot.js +0 -336
- package/dist/commands/lanes-checks.d.ts +0 -51
- package/dist/commands/lanes-checks.js +0 -941
- package/dist/commands/lanes-hold.d.ts +0 -43
- package/dist/commands/lanes-hold.js +0 -655
- package/dist/commands/lanes-kpis.d.ts +0 -11
- package/dist/commands/lanes-kpis.js +0 -34
- package/dist/commands/lanes-message.d.ts +0 -9
- package/dist/commands/lanes-message.js +0 -934
- package/dist/commands/lanes-move.d.ts +0 -12
- package/dist/commands/lanes-move.js +0 -397
- package/dist/commands/lanes-questions.d.ts +0 -36
- package/dist/commands/lanes-questions.js +0 -1004
- package/dist/commands/lanes-report.d.ts +0 -11
- package/dist/commands/lanes-report.js +0 -333
- package/dist/commands/lanes-resume.d.ts +0 -6
- package/dist/commands/lanes-resume.js +0 -561
- package/dist/commands/lanes-review.d.ts +0 -10
- package/dist/commands/lanes-review.js +0 -56
- package/dist/commands/lanes-shared.d.ts +0 -448
- package/dist/commands/lanes-shared.js +0 -170
- package/dist/commands/lanes-stories.d.ts +0 -15
- package/dist/commands/lanes-stories.js +0 -347
- package/dist/commands/lanes-watch.d.ts +0 -7
- package/dist/commands/lanes-watch.js +0 -216
- package/dist/commands/lanes.d.ts +0 -149
- package/dist/commands/lanes.js +0 -8843
- package/dist/commands/monitor.d.ts +0 -58
- package/dist/commands/monitor.js +0 -980
- package/dist/commands/onboard-bot-membership.d.ts +0 -32
- package/dist/commands/onboard-bot-membership.js +0 -40
- package/dist/commands/onboard-create-identity.d.ts +0 -26
- package/dist/commands/onboard-create-identity.js +0 -23
- package/dist/commands/outpost-pruner.d.ts +0 -3
- package/dist/commands/outpost-pruner.js +0 -125
- package/dist/commands/personal-connector-settings-flag.d.ts +0 -4
- package/dist/commands/personal-connector-settings-flag.js +0 -7
- package/dist/commands/personal-targeted-push-flag.d.ts +0 -4
- package/dist/commands/personal-targeted-push-flag.js +0 -7
- package/dist/commands/personal-targeted-push-paths.d.ts +0 -3
- package/dist/commands/personal-targeted-push-paths.js +0 -67
- package/dist/commands/report.d.ts +0 -19
- package/dist/commands/report.js +0 -537
- package/dist/commands/run-feature-telemetry.d.ts +0 -3
- package/dist/commands/run-feature-telemetry.js +0 -6
- package/dist/commands/staff/reset-test-account.d.ts +0 -110
- package/dist/commands/staff/reset-test-account.js +0 -268
- package/dist/commands/staff/test-account.d.ts +0 -51
- package/dist/commands/staff/test-account.js +0 -196
- package/dist/commands/vault-retention-flag.d.ts +0 -3
- package/dist/commands/vault-retention-flag.js +0 -9
- package/dist/commands/vault-retention.d.ts +0 -11
- package/dist/commands/vault-retention.js +0 -69
- package/dist/commands/version.d.ts +0 -10
- package/dist/commands/version.js +0 -11
- package/dist/fast-scaffold.d.ts +0 -84
- package/dist/fast-scaffold.js +0 -353
- package/dist/lanes-drain-hook.d.ts +0 -14
- package/dist/lanes-drain-hook.js +0 -203
- package/dist/lib/agent-kit/adopt-identity.d.ts +0 -27
- package/dist/lib/agent-kit/adopt-identity.js +0 -60
- package/dist/lib/agent-kit/attachment-download.d.ts +0 -24
- package/dist/lib/agent-kit/attachment-download.js +0 -47
- package/dist/lib/agent-kit/creds.d.ts +0 -106
- package/dist/lib/agent-kit/creds.js +0 -163
- package/dist/lib/agent-kit/fallback.d.ts +0 -78
- package/dist/lib/agent-kit/fallback.js +0 -210
- package/dist/lib/agent-kit/inbox-state.d.ts +0 -83
- package/dist/lib/agent-kit/inbox-state.js +0 -159
- package/dist/lib/agent-kit/kit-config.d.ts +0 -56
- package/dist/lib/agent-kit/kit-config.js +0 -65
- package/dist/lib/agent-kit/log.d.ts +0 -16
- package/dist/lib/agent-kit/log.js +0 -46
- package/dist/lib/agent-kit/mcp/attachments.d.ts +0 -126
- package/dist/lib/agent-kit/mcp/attachments.js +0 -222
- package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +0 -75
- package/dist/lib/agent-kit/mcp/jsonrpc.js +0 -164
- package/dist/lib/agent-kit/mcp/tools.d.ts +0 -64
- package/dist/lib/agent-kit/mcp/tools.js +0 -397
- package/dist/lib/agent-kit/paths.d.ts +0 -65
- package/dist/lib/agent-kit/paths.js +0 -118
- package/dist/lib/agent-kit/private-file.d.ts +0 -29
- package/dist/lib/agent-kit/private-file.js +0 -91
- package/dist/lib/agent-kit/run/heartbeat.d.ts +0 -72
- package/dist/lib/agent-kit/run/heartbeat.js +0 -128
- package/dist/lib/agent-kit/run/inbox.d.ts +0 -76
- package/dist/lib/agent-kit/run/inbox.js +0 -205
- package/dist/lib/agent-kit/run/supervisor.d.ts +0 -35
- package/dist/lib/agent-kit/run/supervisor.js +0 -85
- package/dist/lib/agent-kit/run/sync.d.ts +0 -33
- package/dist/lib/agent-kit/run/sync.js +0 -58
- package/dist/lib/agent-kit/services.d.ts +0 -31
- package/dist/lib/agent-kit/services.js +0 -55
- package/dist/lib/agent-kit/skills.d.ts +0 -18
- package/dist/lib/agent-kit/skills.js +0 -151
- package/dist/lib/agent-kit/wake.d.ts +0 -83
- package/dist/lib/agent-kit/wake.js +0 -243
- package/dist/lib/agents/model-catalog.d.ts +0 -62
- package/dist/lib/agents/model-catalog.js +0 -275
- package/dist/lib/auth-login-provider-state.d.ts +0 -8
- package/dist/lib/auth-login-provider-state.js +0 -63
- package/dist/lib/aws-sdk-node-warning-output.d.ts +0 -12
- package/dist/lib/aws-sdk-node-warning-output.js +0 -22
- package/dist/lib/billing/free-month.d.ts +0 -18
- package/dist/lib/billing/free-month.js +0 -31
- package/dist/lib/billing/plan-limit-refusals.d.ts +0 -69
- package/dist/lib/billing/plan-limit-refusals.js +0 -187
- package/dist/lib/billing/plan-limit-upgrade-url.d.ts +0 -11
- package/dist/lib/billing/plan-limit-upgrade-url.js +0 -66
- package/dist/lib/billing/plan-lock.d.ts +0 -143
- package/dist/lib/billing/plan-lock.js +0 -439
- package/dist/lib/bot/api.d.ts +0 -349
- package/dist/lib/bot/api.js +0 -316
- package/dist/lib/bot/attachments.d.ts +0 -45
- package/dist/lib/bot/attachments.js +0 -89
- package/dist/lib/bot/cli-update.d.ts +0 -138
- package/dist/lib/bot/cli-update.js +0 -278
- package/dist/lib/bot/company-bind.d.ts +0 -27
- package/dist/lib/bot/company-bind.js +0 -62
- package/dist/lib/bot/config.d.ts +0 -153
- package/dist/lib/bot/config.js +0 -233
- package/dist/lib/bot/continuity-download.d.ts +0 -28
- package/dist/lib/bot/continuity-download.js +0 -75
- package/dist/lib/bot/continuity-install.d.ts +0 -14
- package/dist/lib/bot/continuity-install.js +0 -101
- package/dist/lib/bot/continuity.d.ts +0 -67
- package/dist/lib/bot/continuity.js +0 -301
- package/dist/lib/bot/creds.d.ts +0 -24
- package/dist/lib/bot/creds.js +0 -51
- package/dist/lib/bot/daemon.d.ts +0 -173
- package/dist/lib/bot/daemon.js +0 -552
- package/dist/lib/bot/inbox-poll-backoff-flag.d.ts +0 -24
- package/dist/lib/bot/inbox-poll-backoff-flag.js +0 -135
- package/dist/lib/bot/inbox-state.d.ts +0 -18
- package/dist/lib/bot/inbox-state.js +0 -51
- package/dist/lib/bot/index.d.ts +0 -23
- package/dist/lib/bot/index.js +0 -23
- package/dist/lib/bot/inflight.d.ts +0 -119
- package/dist/lib/bot/inflight.js +0 -83
- package/dist/lib/bot/job-completions.d.ts +0 -89
- package/dist/lib/bot/job-completions.js +0 -132
- package/dist/lib/bot/job-run.d.ts +0 -109
- package/dist/lib/bot/job-run.js +0 -246
- package/dist/lib/bot/local-config.d.ts +0 -61
- package/dist/lib/bot/local-config.js +0 -145
- package/dist/lib/bot/local-jobs.d.ts +0 -89
- package/dist/lib/bot/local-jobs.js +0 -459
- package/dist/lib/bot/local-name.d.ts +0 -54
- package/dist/lib/bot/local-name.js +0 -114
- package/dist/lib/bot/log.d.ts +0 -13
- package/dist/lib/bot/log.js +0 -59
- package/dist/lib/bot/owner-context.d.ts +0 -79
- package/dist/lib/bot/owner-context.js +0 -175
- package/dist/lib/bot/paths.d.ts +0 -76
- package/dist/lib/bot/paths.js +0 -131
- package/dist/lib/bot/progress.d.ts +0 -132
- package/dist/lib/bot/progress.js +0 -289
- package/dist/lib/bot/promote.d.ts +0 -16
- package/dist/lib/bot/promote.js +0 -106
- package/dist/lib/bot/promotion-hold.d.ts +0 -24
- package/dist/lib/bot/promotion-hold.js +0 -103
- package/dist/lib/bot/promotion-receipt.d.ts +0 -9
- package/dist/lib/bot/promotion-receipt.js +0 -56
- package/dist/lib/bot/promotion-upload.d.ts +0 -16
- package/dist/lib/bot/promotion-upload.js +0 -80
- package/dist/lib/bot/prompt.d.ts +0 -136
- package/dist/lib/bot/prompt.js +0 -433
- package/dist/lib/bot/room-policy.d.ts +0 -63
- package/dist/lib/bot/room-policy.js +0 -91
- package/dist/lib/bot/run.d.ts +0 -217
- package/dist/lib/bot/run.js +0 -1869
- package/dist/lib/bot/runnable.d.ts +0 -51
- package/dist/lib/bot/runnable.js +0 -65
- package/dist/lib/bot/runtime/claude.d.ts +0 -50
- package/dist/lib/bot/runtime/claude.js +0 -170
- package/dist/lib/bot/runtime/codex.d.ts +0 -28
- package/dist/lib/bot/runtime/codex.js +0 -153
- package/dist/lib/bot/runtime/grok-acp.d.ts +0 -40
- package/dist/lib/bot/runtime/grok-acp.js +0 -265
- package/dist/lib/bot/runtime/grok.d.ts +0 -41
- package/dist/lib/bot/runtime/grok.js +0 -169
- package/dist/lib/bot/runtime/index.d.ts +0 -36
- package/dist/lib/bot/runtime/index.js +0 -417
- package/dist/lib/bot/runtime/messages-stream.d.ts +0 -56
- package/dist/lib/bot/runtime/messages-stream.js +0 -194
- package/dist/lib/bot/runtime/sanitize.d.ts +0 -18
- package/dist/lib/bot/runtime/sanitize.js +0 -28
- package/dist/lib/bot/runtime/types.d.ts +0 -159
- package/dist/lib/bot/runtime/types.js +0 -51
- package/dist/lib/bot/runtime/windows.d.ts +0 -10
- package/dist/lib/bot/runtime/windows.js +0 -53
- package/dist/lib/bot/runtime-sign-in.d.ts +0 -24
- package/dist/lib/bot/runtime-sign-in.js +0 -31
- package/dist/lib/bot/scaffold.d.ts +0 -38
- package/dist/lib/bot/scaffold.js +0 -94
- package/dist/lib/bot/self-heal.d.ts +0 -52
- package/dist/lib/bot/self-heal.js +0 -79
- package/dist/lib/bot/self-process.d.ts +0 -19
- package/dist/lib/bot/self-process.js +0 -35
- package/dist/lib/bot/session.d.ts +0 -19
- package/dist/lib/bot/session.js +0 -39
- package/dist/lib/bot/setup-explain.d.ts +0 -64
- package/dist/lib/bot/setup-explain.js +0 -141
- package/dist/lib/bot/split.d.ts +0 -32
- package/dist/lib/bot/split.js +0 -241
- package/dist/lib/bot/status.d.ts +0 -57
- package/dist/lib/bot/status.js +0 -66
- package/dist/lib/bot/worker-source.d.ts +0 -66
- package/dist/lib/bot/worker-source.js +0 -283
- package/dist/lib/checkpoint-ontology/aliases.d.ts +0 -17
- package/dist/lib/checkpoint-ontology/aliases.js +0 -44
- package/dist/lib/checkpoint-ontology/apply.d.ts +0 -110
- package/dist/lib/checkpoint-ontology/apply.js +0 -777
- package/dist/lib/checkpoint-ontology/company-brief.d.ts +0 -18
- package/dist/lib/checkpoint-ontology/company-brief.js +0 -337
- package/dist/lib/checkpoint-ontology/company.d.ts +0 -44
- package/dist/lib/checkpoint-ontology/company.js +0 -118
- package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +0 -41
- package/dist/lib/checkpoint-ontology/drop-aliases.js +0 -76
- package/dist/lib/checkpoint-ontology/entity-file.d.ts +0 -109
- package/dist/lib/checkpoint-ontology/entity-file.js +0 -371
- package/dist/lib/checkpoint-ontology/identity.d.ts +0 -38
- package/dist/lib/checkpoint-ontology/identity.js +0 -95
- package/dist/lib/checkpoint-ontology/merge-copies.d.ts +0 -199
- package/dist/lib/checkpoint-ontology/merge-copies.js +0 -1086
- package/dist/lib/checkpoint-ontology/multi-writer.d.ts +0 -101
- package/dist/lib/checkpoint-ontology/multi-writer.js +0 -394
- package/dist/lib/checkpoint-ontology/plan.d.ts +0 -193
- package/dist/lib/checkpoint-ontology/plan.js +0 -504
- package/dist/lib/checkpoint-ontology/queued-touches.d.ts +0 -29
- package/dist/lib/checkpoint-ontology/queued-touches.js +0 -193
- package/dist/lib/checkpoint-ontology/sync-client.d.ts +0 -38
- package/dist/lib/checkpoint-ontology/sync-client.js +0 -84
- package/dist/lib/checkpoint-ontology/tree.d.ts +0 -55
- package/dist/lib/checkpoint-ontology/tree.js +0 -198
- package/dist/lib/company-errors-sdk-warning-flag.d.ts +0 -5
- package/dist/lib/company-errors-sdk-warning-flag.js +0 -8
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.d.ts +0 -20
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.js +0 -81
- package/dist/lib/core-utils/jq-json-serializer.d.ts +0 -5
- package/dist/lib/core-utils/jq-json-serializer.js +0 -10
- package/dist/lib/core-utils/secret-patterns.d.ts +0 -43
- package/dist/lib/core-utils/secret-patterns.js +0 -34
- package/dist/lib/core-utils/sentry-report.d.ts +0 -114
- package/dist/lib/core-utils/sentry-report.js +0 -1034
- package/dist/lib/core-utils/timeout-guard-native.d.ts +0 -7
- package/dist/lib/core-utils/timeout-guard-native.js +0 -40
- package/dist/lib/core-utils/worktree-resume.d.ts +0 -20
- package/dist/lib/core-utils/worktree-resume.js +0 -1198
- package/dist/lib/daemon/catalog.d.ts +0 -134
- package/dist/lib/daemon/catalog.js +0 -358
- package/dist/lib/daemon/config.d.ts +0 -35
- package/dist/lib/daemon/config.js +0 -108
- package/dist/lib/daemon/flag.d.ts +0 -25
- package/dist/lib/daemon/flag.js +0 -59
- package/dist/lib/daemon/handoff.d.ts +0 -56
- package/dist/lib/daemon/handoff.js +0 -161
- package/dist/lib/daemon/hq-cloud.d.ts +0 -79
- package/dist/lib/daemon/hq-cloud.js +0 -183
- package/dist/lib/daemon/install.d.ts +0 -85
- package/dist/lib/daemon/install.js +0 -320
- package/dist/lib/daemon/legacy-sync-env.d.ts +0 -10
- package/dist/lib/daemon/legacy-sync-env.js +0 -58
- package/dist/lib/daemon/legacy.d.ts +0 -45
- package/dist/lib/daemon/legacy.js +0 -133
- package/dist/lib/daemon/lock.d.ts +0 -47
- package/dist/lib/daemon/lock.js +0 -138
- package/dist/lib/daemon/machine-type.d.ts +0 -50
- package/dist/lib/daemon/machine-type.js +0 -159
- package/dist/lib/daemon/migrate.d.ts +0 -77
- package/dist/lib/daemon/migrate.js +0 -265
- package/dist/lib/daemon/paths.d.ts +0 -24
- package/dist/lib/daemon/paths.js +0 -43
- package/dist/lib/daemon/protocol-tail.d.ts +0 -33
- package/dist/lib/daemon/protocol-tail.js +0 -131
- package/dist/lib/daemon/remote-control.d.ts +0 -74
- package/dist/lib/daemon/remote-control.js +0 -153
- package/dist/lib/daemon/requests.d.ts +0 -28
- package/dist/lib/daemon/requests.js +0 -65
- package/dist/lib/daemon/run.d.ts +0 -79
- package/dist/lib/daemon/run.js +0 -755
- package/dist/lib/daemon/succession.d.ts +0 -118
- package/dist/lib/daemon/succession.js +0 -263
- package/dist/lib/daemon/supervisor.d.ts +0 -132
- package/dist/lib/daemon/supervisor.js +0 -836
- package/dist/lib/daemon/sync-runner.d.ts +0 -58
- package/dist/lib/daemon/sync-runner.js +0 -277
- package/dist/lib/daemon/tools.d.ts +0 -52
- package/dist/lib/daemon/tools.js +0 -95
- package/dist/lib/daemon/updater.d.ts +0 -57
- package/dist/lib/daemon/updater.js +0 -163
- package/dist/lib/deploy-api.d.ts +0 -5
- package/dist/lib/deploy-api.js +0 -21
- package/dist/lib/deploy-apps.d.ts +0 -13
- package/dist/lib/deploy-apps.js +0 -29
- package/dist/lib/doctor/__testing__/run-doctor.d.ts +0 -8
- package/dist/lib/doctor/__testing__/run-doctor.js +0 -52
- package/dist/lib/doctor/checks/bots.d.ts +0 -13
- package/dist/lib/doctor/checks/bots.js +0 -189
- package/dist/lib/doctor/checks/scaffold-cli-floor.d.ts +0 -6
- package/dist/lib/doctor/checks/scaffold-cli-floor.js +0 -73
- package/dist/lib/doctor/checks/sync-runtime.d.ts +0 -11
- package/dist/lib/doctor/checks/sync-runtime.js +0 -216
- package/dist/lib/doctor/client-health-flag-token.d.ts +0 -15
- package/dist/lib/doctor/client-health-flag-token.js +0 -66
- package/dist/lib/doctor/client-health-reason-codes-flag.d.ts +0 -27
- package/dist/lib/doctor/client-health-reason-codes-flag.js +0 -106
- package/dist/lib/doctor/fix/json-output.d.ts +0 -28
- package/dist/lib/doctor/fix/json-output.js +0 -33
- package/dist/lib/doctor/fix/refresh-sync-outcome.d.ts +0 -12
- package/dist/lib/doctor/fix/refresh-sync-outcome.js +0 -25
- package/dist/lib/doctor/shared.d.ts +0 -8
- package/dist/lib/doctor/shared.js +0 -38
- package/dist/lib/doctor/stray-gate-entries.d.ts +0 -35
- package/dist/lib/doctor/stray-gate-entries.js +0 -83
- package/dist/lib/first-sync-next-step.d.ts +0 -37
- package/dist/lib/first-sync-next-step.js +0 -189
- package/dist/lib/flag-registry-endpoint.d.ts +0 -5
- package/dist/lib/flag-registry-endpoint.js +0 -9
- package/dist/lib/flag-registry-worker-source.generated.d.ts +0 -2
- package/dist/lib/flag-registry-worker-source.generated.js +0 -3
- package/dist/lib/flag-snapshot-file.d.ts +0 -20
- package/dist/lib/flag-snapshot-file.js +0 -91
- package/dist/lib/heartbeat-identity.d.ts +0 -30
- package/dist/lib/heartbeat-identity.js +0 -76
- package/dist/lib/lanes/account-home.d.ts +0 -8
- package/dist/lib/lanes/account-home.js +0 -10
- package/dist/lib/lanes/accounts.d.ts +0 -117
- package/dist/lib/lanes/accounts.js +0 -366
- package/dist/lib/lanes/admission-host.d.ts +0 -22
- package/dist/lib/lanes/admission-host.js +0 -37
- package/dist/lib/lanes/admission.d.ts +0 -26
- package/dist/lib/lanes/admission.js +0 -210
- package/dist/lib/lanes/approval-gate.d.ts +0 -8
- package/dist/lib/lanes/approval-gate.js +0 -90
- package/dist/lib/lanes/autopilot-metrics.d.ts +0 -99
- package/dist/lib/lanes/autopilot-metrics.js +0 -301
- package/dist/lib/lanes/autopilot-registry.d.ts +0 -62
- package/dist/lib/lanes/autopilot-registry.js +0 -192
- package/dist/lib/lanes/autopilot.d.ts +0 -120
- package/dist/lib/lanes/autopilot.js +0 -1061
- package/dist/lib/lanes/blocker-freshness.d.ts +0 -31
- package/dist/lib/lanes/blocker-freshness.js +0 -168
- package/dist/lib/lanes/checked-company-path.d.ts +0 -3
- package/dist/lib/lanes/checked-company-path.js +0 -39
- package/dist/lib/lanes/claude-balance.d.ts +0 -97
- package/dist/lib/lanes/claude-balance.js +0 -319
- package/dist/lib/lanes/compaction.d.ts +0 -110
- package/dist/lib/lanes/compaction.js +0 -293
- package/dist/lib/lanes/config.d.ts +0 -91
- package/dist/lib/lanes/config.js +0 -592
- package/dist/lib/lanes/constants.d.ts +0 -3
- package/dist/lib/lanes/constants.js +0 -3
- package/dist/lib/lanes/delivery-core.d.ts +0 -15
- package/dist/lib/lanes/delivery-core.js +0 -21
- package/dist/lib/lanes/delivery.d.ts +0 -180
- package/dist/lib/lanes/delivery.js +0 -443
- package/dist/lib/lanes/dropbox.d.ts +0 -129
- package/dist/lib/lanes/dropbox.js +0 -601
- package/dist/lib/lanes/effort.d.ts +0 -51
- package/dist/lib/lanes/effort.js +0 -113
- package/dist/lib/lanes/envelope-repair-dispatch.d.ts +0 -26
- package/dist/lib/lanes/envelope-repair-dispatch.js +0 -74
- package/dist/lib/lanes/errors.d.ts +0 -39
- package/dist/lib/lanes/errors.js +0 -72
- package/dist/lib/lanes/flag-keys.d.ts +0 -13
- package/dist/lib/lanes/flag-keys.js +0 -13
- package/dist/lib/lanes/grants.d.ts +0 -29
- package/dist/lib/lanes/grants.js +0 -166
- package/dist/lib/lanes/hire-grant-dispatch.d.ts +0 -29
- package/dist/lib/lanes/hire-grant-dispatch.js +0 -316
- package/dist/lib/lanes/hooks-install.d.ts +0 -82
- package/dist/lib/lanes/hooks-install.js +0 -479
- package/dist/lib/lanes/host-capacity.d.ts +0 -69
- package/dist/lib/lanes/host-capacity.js +0 -254
- package/dist/lib/lanes/hq-root.d.ts +0 -19
- package/dist/lib/lanes/hq-root.js +0 -28
- package/dist/lib/lanes/index.d.ts +0 -76
- package/dist/lib/lanes/index.js +0 -42
- package/dist/lib/lanes/keep-alive.d.ts +0 -68
- package/dist/lib/lanes/keep-alive.js +0 -343
- package/dist/lib/lanes/kr-freshness.d.ts +0 -76
- package/dist/lib/lanes/kr-freshness.js +0 -413
- package/dist/lib/lanes/lane-company.d.ts +0 -10
- package/dist/lib/lanes/lane-company.js +0 -41
- package/dist/lib/lanes/liveness.d.ts +0 -108
- package/dist/lib/lanes/liveness.js +0 -396
- package/dist/lib/lanes/machine-identity.d.ts +0 -34
- package/dist/lib/lanes/machine-identity.js +0 -92
- package/dist/lib/lanes/manager-status-gate.d.ts +0 -17
- package/dist/lib/lanes/manager-status-gate.js +0 -133
- package/dist/lib/lanes/merge-command.d.ts +0 -15
- package/dist/lib/lanes/merge-command.js +0 -629
- package/dist/lib/lanes/mesh-events.d.ts +0 -127
- package/dist/lib/lanes/mesh-events.js +0 -564
- package/dist/lib/lanes/message-replay.d.ts +0 -21
- package/dist/lib/lanes/message-replay.js +0 -122
- package/dist/lib/lanes/models.d.ts +0 -86
- package/dist/lib/lanes/models.js +0 -234
- package/dist/lib/lanes/monitor.d.ts +0 -48
- package/dist/lib/lanes/monitor.js +0 -428
- package/dist/lib/lanes/move-account.d.ts +0 -56
- package/dist/lib/lanes/move-account.js +0 -193
- package/dist/lib/lanes/orphans.d.ts +0 -25
- package/dist/lib/lanes/orphans.js +0 -102
- package/dist/lib/lanes/outpost-dispatch.d.ts +0 -147
- package/dist/lib/lanes/outpost-dispatch.js +0 -271
- package/dist/lib/lanes/outpost-hire-cache.d.ts +0 -22
- package/dist/lib/lanes/outpost-hire-cache.js +0 -153
- package/dist/lib/lanes/outpost-identity.d.ts +0 -33
- package/dist/lib/lanes/outpost-identity.js +0 -59
- package/dist/lib/lanes/outpost-profile-repin.d.ts +0 -17
- package/dist/lib/lanes/outpost-profile-repin.js +0 -84
- package/dist/lib/lanes/outpost-pruner-install.d.ts +0 -37
- package/dist/lib/lanes/outpost-pruner-install.js +0 -238
- package/dist/lib/lanes/outpost-registry-worker-approval.d.ts +0 -18
- package/dist/lib/lanes/outpost-registry-worker-approval.js +0 -109
- package/dist/lib/lanes/outpost-snapshot-memo.d.ts +0 -6
- package/dist/lib/lanes/outpost-snapshot-memo.js +0 -14
- package/dist/lib/lanes/outpost-worktree-pruner-flag.d.ts +0 -19
- package/dist/lib/lanes/outpost-worktree-pruner-flag.js +0 -86
- package/dist/lib/lanes/outpost-worktree-pruner.d.ts +0 -62
- package/dist/lib/lanes/outpost-worktree-pruner.js +0 -1201
- package/dist/lib/lanes/profile.d.ts +0 -69
- package/dist/lib/lanes/profile.js +0 -552
- package/dist/lib/lanes/provider-rejection.d.ts +0 -86
- package/dist/lib/lanes/provider-rejection.js +0 -286
- package/dist/lib/lanes/questions.d.ts +0 -90
- package/dist/lib/lanes/questions.js +0 -384
- package/dist/lib/lanes/quota.d.ts +0 -134
- package/dist/lib/lanes/quota.js +0 -471
- package/dist/lib/lanes/reconcile-install.d.ts +0 -90
- package/dist/lib/lanes/reconcile-install.js +0 -257
- package/dist/lib/lanes/reconcile.d.ts +0 -155
- package/dist/lib/lanes/reconcile.js +0 -3193
- package/dist/lib/lanes/registry-flag.d.ts +0 -29
- package/dist/lib/lanes/registry-flag.js +0 -139
- package/dist/lib/lanes/registry-persona.d.ts +0 -20
- package/dist/lib/lanes/registry-persona.js +0 -329
- package/dist/lib/lanes/registry.d.ts +0 -122
- package/dist/lib/lanes/registry.js +0 -570
- package/dist/lib/lanes/reviews.d.ts +0 -38
- package/dist/lib/lanes/reviews.js +0 -395
- package/dist/lib/lanes/runaway-tool-guard.d.ts +0 -38
- package/dist/lib/lanes/runaway-tool-guard.js +0 -284
- package/dist/lib/lanes/session-relink.d.ts +0 -25
- package/dist/lib/lanes/session-relink.js +0 -216
- package/dist/lib/lanes/spawn.d.ts +0 -350
- package/dist/lib/lanes/spawn.js +0 -2643
- package/dist/lib/lanes/ssm-command-context.d.ts +0 -12
- package/dist/lib/lanes/ssm-command-context.js +0 -52
- package/dist/lib/lanes/store.d.ts +0 -91
- package/dist/lib/lanes/store.js +0 -1811
- package/dist/lib/lanes/stories.d.ts +0 -23
- package/dist/lib/lanes/stories.js +0 -92
- package/dist/lib/lanes/story-ledger.d.ts +0 -80
- package/dist/lib/lanes/story-ledger.js +0 -815
- package/dist/lib/lanes/story-switch.d.ts +0 -21
- package/dist/lib/lanes/story-switch.js +0 -75
- package/dist/lib/lanes/text-scan.d.ts +0 -11
- package/dist/lib/lanes/text-scan.js +0 -103
- package/dist/lib/lanes/throttle.d.ts +0 -116
- package/dist/lib/lanes/throttle.js +0 -437
- package/dist/lib/lanes/timestamp.d.ts +0 -3
- package/dist/lib/lanes/timestamp.js +0 -26
- package/dist/lib/lanes/tracker-checks.d.ts +0 -77
- package/dist/lib/lanes/tracker-checks.js +0 -134
- package/dist/lib/lanes/tracker-report-state.d.ts +0 -10
- package/dist/lib/lanes/tracker-report-state.js +0 -124
- package/dist/lib/lanes/tracker-report.d.ts +0 -203
- package/dist/lib/lanes/tracker-report.js +0 -522
- package/dist/lib/lanes/tracker-store.d.ts +0 -18
- package/dist/lib/lanes/tracker-store.js +0 -106
- package/dist/lib/lanes/types.d.ts +0 -1020
- package/dist/lib/lanes/types.js +0 -417
- package/dist/lib/lanes/wait.d.ts +0 -39
- package/dist/lib/lanes/wait.js +0 -159
- package/dist/lib/lanes/watch.d.ts +0 -39
- package/dist/lib/lanes/watch.js +0 -249
- package/dist/lib/lanes/watcher-main.d.ts +0 -11
- package/dist/lib/lanes/watcher-main.js +0 -108
- package/dist/lib/lanes/watcher.d.ts +0 -287
- package/dist/lib/lanes/watcher.js +0 -1972
- package/dist/lib/mesh/live/daemon/config.d.ts +0 -36
- package/dist/lib/mesh/live/daemon/config.js +0 -120
- package/dist/lib/mesh/live/daemon/legacy-listen.d.ts +0 -43
- package/dist/lib/mesh/live/daemon/legacy-listen.js +0 -89
- package/dist/lib/mesh/live/daemon/live-cache.d.ts +0 -26
- package/dist/lib/mesh/live/daemon/live-cache.js +0 -116
- package/dist/lib/mesh/live/daemon/mqtt-events.d.ts +0 -7
- package/dist/lib/mesh/live/daemon/mqtt-events.js +0 -2
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.d.ts +0 -2
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.js +0 -10
- package/dist/lib/mesh/live/daemon/version-drift.d.ts +0 -5
- package/dist/lib/mesh/live/daemon/version-drift.js +0 -47
- package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +0 -32
- package/dist/lib/mesh/live/daemon/work-subscribe.js +0 -262
- package/dist/lib/mesh/live/report-summary.d.ts +0 -45
- package/dist/lib/mesh/live/report-summary.js +0 -234
- package/dist/lib/mesh/live/session-seq.d.ts +0 -4
- package/dist/lib/mesh/live/session-seq.js +0 -33
- package/dist/lib/mesh/project-board.d.ts +0 -65
- package/dist/lib/mesh/project-board.js +0 -181
- package/dist/lib/mesh/story-status.d.ts +0 -22
- package/dist/lib/mesh/story-status.js +0 -49
- package/dist/lib/monitor.d.ts +0 -149
- package/dist/lib/monitor.js +0 -519
- package/dist/lib/node-binary.d.ts +0 -50
- package/dist/lib/node-binary.js +0 -133
- package/dist/lib/notify-recipient.d.ts +0 -7
- package/dist/lib/notify-recipient.js +0 -11
- package/dist/lib/onboarding/checkpoint.d.ts +0 -13
- package/dist/lib/onboarding/checkpoint.js +0 -44
- package/dist/lib/onboarding/cli/onboard.d.ts +0 -53
- package/dist/lib/onboarding/cli/onboard.js +0 -135
- package/dist/lib/onboarding/cli/prompts.d.ts +0 -28
- package/dist/lib/onboarding/cli/prompts.js +0 -83
- package/dist/lib/onboarding/errors.d.ts +0 -34
- package/dist/lib/onboarding/errors.js +0 -59
- package/dist/lib/onboarding/index.d.ts +0 -13
- package/dist/lib/onboarding/index.js +0 -13
- package/dist/lib/onboarding/orchestrator.d.ts +0 -47
- package/dist/lib/onboarding/orchestrator.js +0 -569
- package/dist/lib/onboarding/types.d.ts +0 -79
- package/dist/lib/onboarding/types.js +0 -8
- package/dist/lib/policy-validator.d.ts +0 -7
- package/dist/lib/policy-validator.js +0 -187
- package/dist/lib/process-flag-company-context.d.ts +0 -8
- package/dist/lib/process-flag-company-context.js +0 -67
- package/dist/lib/report-publish.d.ts +0 -175
- package/dist/lib/report-publish.js +0 -421
- package/dist/lib/report-run.d.ts +0 -62
- package/dist/lib/report-run.js +0 -123
- package/dist/lib/report-snapshot.d.ts +0 -12
- package/dist/lib/report-snapshot.js +0 -135
- package/dist/lib/report-templates.d.ts +0 -9
- package/dist/lib/report-templates.js +0 -21
- package/dist/lib/scaffold-cli-floor.d.ts +0 -8
- package/dist/lib/scaffold-cli-floor.js +0 -50
- package/dist/lib/search-index/collection-path-repair-flag.d.ts +0 -4
- package/dist/lib/search-index/collection-path-repair-flag.js +0 -7
- package/dist/lib/search-index/embed-lock.d.ts +0 -32
- package/dist/lib/search-index/embed-lock.js +0 -286
- package/dist/lib/search-index/load-gate.d.ts +0 -57
- package/dist/lib/search-index/load-gate.js +0 -270
- package/dist/lib/search-index/max-doc-bytes.d.ts +0 -219
- package/dist/lib/search-index/max-doc-bytes.js +0 -463
- package/dist/lib/search-index/qmd-exit-diagnostics.d.ts +0 -5
- package/dist/lib/search-index/qmd-exit-diagnostics.js +0 -40
- package/dist/lib/search-index/reindex-single-flight-flag.d.ts +0 -5
- package/dist/lib/search-index/reindex-single-flight-flag.js +0 -8
- package/dist/lib/service-manager/index.d.ts +0 -42
- package/dist/lib/service-manager/index.js +0 -105
- package/dist/lib/service-manager/launchd.d.ts +0 -81
- package/dist/lib/service-manager/launchd.js +0 -212
- package/dist/lib/service-manager/systemd.d.ts +0 -19
- package/dist/lib/service-manager/systemd.js +0 -72
- package/dist/lib/service-manager/types.d.ts +0 -34
- package/dist/lib/service-manager/types.js +0 -26
- package/dist/lib/test-utils/isolated-flag-company-context.d.ts +0 -3
- package/dist/lib/test-utils/isolated-flag-company-context.js +0 -18
- package/dist/lib/work-context/bind-best.d.ts +0 -66
- package/dist/lib/work-context/bind-best.js +0 -344
- package/dist/lib/work-context/bind-calling-session.d.ts +0 -26
- package/dist/lib/work-context/bind-calling-session.js +0 -63
- package/dist/lib/work-context/company-rebind.d.ts +0 -23
- package/dist/lib/work-context/company-rebind.js +0 -59
- package/dist/lib/work-context/default-company.d.ts +0 -43
- package/dist/lib/work-context/default-company.js +0 -83
- package/dist/lib/work-context/outbox-quarantine-status-flag.d.ts +0 -4
- package/dist/lib/work-context/outbox-quarantine-status-flag.js +0 -7
- package/dist/lib/work-context/prd-sync.d.ts +0 -56
- package/dist/lib/work-context/prd-sync.js +0 -197
- package/dist/lib/work-context/preflight-contract.d.ts +0 -28
- package/dist/lib/work-context/preflight-contract.js +0 -85
- package/dist/lib/work-context/prompt-rebind.d.ts +0 -25
- package/dist/lib/work-context/prompt-rebind.js +0 -85
- package/dist/lib/work-context/windows-acl.d.ts +0 -123
- package/dist/lib/work-context/windows-acl.js +0 -425
- package/dist/lib/workers-registry/read.d.ts +0 -15
- package/dist/lib/workers-registry/read.js +0 -17
- package/dist/native-fast-route.d.ts +0 -7
- package/dist/native-fast-route.js +0 -45
- package/dist/node-network-compat-core.d.ts +0 -12
- package/dist/node-network-compat-core.js +0 -41
- package/dist/node-network-compat-fast.d.ts +0 -7
- package/dist/node-network-compat-fast.js +0 -23
- package/dist/secrets-env-fast-path.d.ts +0 -5
- package/dist/secrets-env-fast-path.js +0 -16
- package/dist/secrets-env-fast-route.d.ts +0 -18
- package/dist/secrets-env-fast-route.js +0 -54
- package/dist/utils/checkpoint-stamp-write-error.d.ts +0 -28
- package/dist/utils/checkpoint-stamp-write-error.js +0 -99
- package/dist/utils/cli-network-lifecycle.d.ts +0 -4
- package/dist/utils/cli-network-lifecycle.js +0 -11
- package/dist/utils/cognito-refresh-sentry.d.ts +0 -3
- package/dist/utils/cognito-refresh-sentry.js +0 -49
- package/dist/utils/console-origin.d.ts +0 -9
- package/dist/utils/console-origin.js +0 -28
- package/dist/utils/exclusive-lock.d.ts +0 -32
- package/dist/utils/exclusive-lock.js +0 -75
- package/dist/utils/fast-stream-errors.d.ts +0 -12
- package/dist/utils/fast-stream-errors.js +0 -18
- package/dist/utils/files-browse-acl.d.ts +0 -5
- package/dist/utils/files-browse-acl.js +0 -11
- package/dist/utils/hq-core-yaml.d.ts +0 -10
- package/dist/utils/hq-core-yaml.js +0 -40
- package/dist/utils/hq-root-resolver.d.ts +0 -13
- package/dist/utils/hq-root-resolver.js +0 -103
- package/dist/utils/redact-url.d.ts +0 -14
- package/dist/utils/redact-url.js +0 -218
- package/dist/utils/scaffold-fast-import-guard.d.ts +0 -2
- package/dist/utils/scaffold-fast-import-guard.js +0 -40
- package/dist/utils/scaffold-packlist-guard.d.ts +0 -7
- package/dist/utils/scaffold-packlist-guard.js +0 -23
- package/dist/utils/scaffold-sibling-references.d.ts +0 -22
- package/dist/utils/scaffold-sibling-references.js +0 -156
- package/dist/utils/secret-load-availability.d.ts +0 -8
- package/dist/utils/secret-load-availability.js +0 -54
- package/dist/utils/staged-install.d.ts +0 -34
- package/dist/utils/staged-install.js +0 -346
- package/dist/utils/staged-npm-install.d.ts +0 -16
- package/dist/utils/staged-npm-install.js +0 -264
- package/dist/utils/sync-log-sources.d.ts +0 -15
- package/dist/utils/sync-log-sources.js +0 -36
- package/dist/utils/table-width.d.ts +0 -7
- package/dist/utils/table-width.js +0 -15
- package/dist/utils/update-command-supervisor.cjs +0 -247
- package/dist/utils/upload-author.d.ts +0 -15
- package/dist/utils/upload-author.js +0 -39
- package/dist/utils/version-report.d.ts +0 -27
- package/dist/utils/version-report.js +0 -105
- package/dist/version-request.d.ts +0 -14
- package/dist/version-request.js +0 -36
- package/scripts/mesh-daemon-if-stale.mjs +0 -20
- package/templates/reports/blank.md +0 -3
- package/templates/reports/daily-digest.md +0 -11
- package/templates/runbooks/update-report.md +0 -21
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Refresh ~/.hq/work-context/sessions/<sid>/board.md for bound sessions
|
|
3
|
-
* from
|
|
4
|
-
*
|
|
5
|
-
* Board JSON remains the fallback for older projects, but story status is
|
|
6
|
-
* authoritative in ProjectView because `hq mesh story` writes there.
|
|
3
|
+
* from GET /companies/{companyUid}/board at most every 60s.
|
|
7
4
|
* Metadata-only snapshot — never prompts or tokens.
|
|
8
5
|
*/
|
|
9
6
|
import * as fs from "node:fs";
|
|
10
7
|
import * as path from "node:path";
|
|
11
8
|
import { workContextSessionsDir } from "../../../work-context/paths.js";
|
|
12
9
|
import { readSessionState } from "../../../work-context/state.js";
|
|
13
|
-
import { mapReaderStoryStatus } from "../../story-status.js";
|
|
14
10
|
import { sessionBoardPath } from "./paths.js";
|
|
15
11
|
export const BOARD_REFRESH_INTERVAL_MS = 60_000;
|
|
16
12
|
function listBoundSessionIds(workContextRoot) {
|
|
@@ -93,12 +89,6 @@ export async function refreshBoundSessionBoards(deps) {
|
|
|
93
89
|
skipped += 1;
|
|
94
90
|
continue;
|
|
95
91
|
}
|
|
96
|
-
if (state.companyConfidence === "device_default" &&
|
|
97
|
-
deps.authorizeDeviceDefaultTenant &&
|
|
98
|
-
!(await deps.authorizeDeviceDefaultTenant(sessionId, state))) {
|
|
99
|
-
skipped += 1;
|
|
100
|
-
continue;
|
|
101
|
-
}
|
|
102
92
|
try {
|
|
103
93
|
const board = await deps.readBoard(state.companyUid, state.projectId);
|
|
104
94
|
if (!board) {
|
|
@@ -125,72 +115,9 @@ export async function refreshBoundSessionBoards(deps) {
|
|
|
125
115
|
}
|
|
126
116
|
return { refreshed, skipped, errors };
|
|
127
117
|
}
|
|
128
|
-
function storiesFromProject(project) {
|
|
129
|
-
const storiesRaw = Array.isArray(project.stories) ? project.stories : [];
|
|
130
|
-
const stories = [];
|
|
131
|
-
for (const s of storiesRaw) {
|
|
132
|
-
if (!s || typeof s !== "object" || Array.isArray(s))
|
|
133
|
-
continue;
|
|
134
|
-
const row = s;
|
|
135
|
-
const id = typeof row.id === "string"
|
|
136
|
-
? row.id
|
|
137
|
-
: typeof row.storyId === "string"
|
|
138
|
-
? row.storyId
|
|
139
|
-
: typeof row.taskId === "string"
|
|
140
|
-
? row.taskId
|
|
141
|
-
: "";
|
|
142
|
-
if (!id)
|
|
143
|
-
continue;
|
|
144
|
-
stories.push({
|
|
145
|
-
id,
|
|
146
|
-
title: typeof row.title === "string"
|
|
147
|
-
? row.title.slice(0, 120)
|
|
148
|
-
: typeof row.name === "string"
|
|
149
|
-
? row.name.slice(0, 120)
|
|
150
|
-
: undefined,
|
|
151
|
-
status: mapReaderStoryStatus(row),
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
return stories;
|
|
155
|
-
}
|
|
156
|
-
function projectViewSnapshot(raw, companyUid, projectId) {
|
|
157
|
-
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
158
|
-
return null;
|
|
159
|
-
const project = raw;
|
|
160
|
-
if (project.companyUid !== companyUid || project.projectId !== projectId)
|
|
161
|
-
return null;
|
|
162
|
-
return {
|
|
163
|
-
projectId,
|
|
164
|
-
projectName: typeof project.name === "string"
|
|
165
|
-
? project.name
|
|
166
|
-
: typeof project.title === "string"
|
|
167
|
-
? project.title
|
|
168
|
-
: undefined,
|
|
169
|
-
stories: storiesFromProject(project),
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
function isMissingProject(error) {
|
|
173
|
-
// hq-pro's GET ProjectView handler emits PROJECT_VIEW_NOT_FOUND; retain the
|
|
174
|
-
// legacy PROJECT_NOT_FOUND code for compatibility with older producers.
|
|
175
|
-
return (error instanceof Error &&
|
|
176
|
-
/^404\s+(?:PROJECT_VIEW_NOT_FOUND|PROJECT_NOT_FOUND)\b/.test(error.message));
|
|
177
|
-
}
|
|
178
118
|
/** Build a BoardReader from meshJson-compatible fetch. */
|
|
179
119
|
export function createVaultBoardReader(opts) {
|
|
180
120
|
return async (companyUid, projectId) => {
|
|
181
|
-
// ProjectView is the live story-status source. Only use board.json when
|
|
182
|
-
// this project has not been migrated into ProjectView yet.
|
|
183
|
-
try {
|
|
184
|
-
const view = await opts.getJson(`/v1/work-mesh/projects/${encodeURIComponent(projectId)}?companyUid=${encodeURIComponent(companyUid)}`);
|
|
185
|
-
const snapshot = projectViewSnapshot(view, companyUid, projectId);
|
|
186
|
-
if (snapshot)
|
|
187
|
-
return snapshot;
|
|
188
|
-
throw new Error("ProjectView response did not match the requested company and project");
|
|
189
|
-
}
|
|
190
|
-
catch (error) {
|
|
191
|
-
if (!isMissingProject(error))
|
|
192
|
-
throw error;
|
|
193
|
-
}
|
|
194
121
|
const raw = await opts.getJson(`/companies/${encodeURIComponent(companyUid)}/board`);
|
|
195
122
|
if (!raw || typeof raw !== "object")
|
|
196
123
|
return null;
|
|
@@ -213,10 +140,35 @@ export function createVaultBoardReader(opts) {
|
|
|
213
140
|
const id = typeof p.id === "string" ? p.id : typeof p.projectId === "string" ? p.projectId : "";
|
|
214
141
|
if (id !== projectId)
|
|
215
142
|
continue;
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
143
|
+
const storiesRaw = Array.isArray(p.stories)
|
|
144
|
+
? p.stories
|
|
145
|
+
: Array.isArray(p.tasks)
|
|
146
|
+
? p.tasks
|
|
147
|
+
: [];
|
|
148
|
+
const stories = [];
|
|
149
|
+
for (const s of storiesRaw) {
|
|
150
|
+
if (!s || typeof s !== "object" || Array.isArray(s))
|
|
151
|
+
continue;
|
|
152
|
+
const row = s;
|
|
153
|
+
const sid = typeof row.id === "string"
|
|
154
|
+
? row.id
|
|
155
|
+
: typeof row.storyId === "string"
|
|
156
|
+
? row.storyId
|
|
157
|
+
: typeof row.taskId === "string"
|
|
158
|
+
? row.taskId
|
|
159
|
+
: "";
|
|
160
|
+
if (!sid)
|
|
161
|
+
continue;
|
|
162
|
+
stories.push({
|
|
163
|
+
id: sid,
|
|
164
|
+
title: typeof row.title === "string"
|
|
165
|
+
? row.title.slice(0, 120)
|
|
166
|
+
: typeof row.name === "string"
|
|
167
|
+
? row.name.slice(0, 120)
|
|
168
|
+
: undefined,
|
|
169
|
+
status: typeof row.status === "string" ? row.status : undefined,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
220
172
|
return {
|
|
221
173
|
projectId,
|
|
222
174
|
projectName: typeof p.name === "string"
|
|
@@ -3,7 +3,14 @@
|
|
|
3
3
|
* Never logs or persists credential material.
|
|
4
4
|
*/
|
|
5
5
|
import type { IotCredentials } from "./presign.js";
|
|
6
|
+
export declare const REALTIME_CREDENTIALS_PATH = "/v1/realtime/credentials";
|
|
6
7
|
export declare const MQTT_KEEPALIVE_SECONDS = 15;
|
|
8
|
+
/** Renew at 80% of credential lifetime. */
|
|
9
|
+
export declare const CREDENTIAL_RENEWAL_FRACTION = 0.8;
|
|
10
|
+
export declare const MIN_RENEWAL_DELAY_MS = 5000;
|
|
11
|
+
/** Long retry when the server refuses credentials (disabled / unsupported). */
|
|
12
|
+
export declare const DEFAULT_REFUSED_RETRY_MS: number;
|
|
13
|
+
export declare const REFUSED_RETRY_ENV = "HQ_MESH_DAEMON_REFUSED_RETRY_MS";
|
|
7
14
|
/**
|
|
8
15
|
* Node's setTimeout treats delays above this as ~1ms (signed 32-bit overflow).
|
|
9
16
|
* Always schedule long waits via {@link scheduleBoundedTimeout}.
|
|
@@ -11,8 +18,6 @@ export declare const MQTT_KEEPALIVE_SECONDS = 15;
|
|
|
11
18
|
export declare const MAX_TIMER_DELAY_MS = 2147483647;
|
|
12
19
|
/** Cap any single retry so a bogus Retry-After cannot park the daemon. */
|
|
13
20
|
export declare const MAX_RETRY_DELAY_MS: number;
|
|
14
|
-
/** Preferred-set changes re-vend at most this often. */
|
|
15
|
-
export declare const PREFERRED_REVEND_MIN_MS = 60000;
|
|
16
21
|
export type CredentialVendFailureKind = "refused" | "transient";
|
|
17
22
|
/**
|
|
18
23
|
* Typed vend failure. `refused` = server will not vend right now
|
|
@@ -33,23 +38,17 @@ export declare class CredentialVendError extends Error {
|
|
|
33
38
|
});
|
|
34
39
|
}
|
|
35
40
|
export declare function parseRetryAfterMs(value: string | null | undefined, nowMs?: number): number | undefined;
|
|
41
|
+
export declare function extractVendErrorCode(body: unknown): string | undefined;
|
|
36
42
|
/** True for server "not now" responses that should use the long retry. */
|
|
37
43
|
export declare function isCredentialVendRefused(status: number, code: string | undefined): boolean;
|
|
38
44
|
export declare function classifyCredentialVendFailure(status: number, body: unknown, retryAfterHeader?: string | null, nowMs?: number): CredentialVendError;
|
|
39
45
|
export declare function defaultRefusedRetryMs(env?: NodeJS.ProcessEnv): number;
|
|
40
46
|
/** ±20% jitter around the refused-retry base interval. */
|
|
41
47
|
export declare function refusedRetryDelayMs(baseMs: number, random: () => number): number;
|
|
42
|
-
interface PresenceCompany {
|
|
48
|
+
export interface PresenceCompany {
|
|
43
49
|
companyUid: string;
|
|
44
50
|
presenceTopic: string;
|
|
45
51
|
}
|
|
46
|
-
export interface DroppedPresenceCompany {
|
|
47
|
-
companyUid: string;
|
|
48
|
-
/** Short name for doctor text when the server sent one. */
|
|
49
|
-
label?: string;
|
|
50
|
-
/** Server-supplied cause when available; otherwise a deliberately neutral label. */
|
|
51
|
-
reason: string;
|
|
52
|
-
}
|
|
53
52
|
export interface Contract3Bundle {
|
|
54
53
|
contractVersion: 3;
|
|
55
54
|
credentials: IotCredentials;
|
|
@@ -59,7 +58,7 @@ export interface Contract3Bundle {
|
|
|
59
58
|
actorUid: string;
|
|
60
59
|
actorType: "human" | "agent";
|
|
61
60
|
companies: PresenceCompany[];
|
|
62
|
-
droppedCompanies:
|
|
61
|
+
droppedCompanies: string[];
|
|
63
62
|
expiresAt: string;
|
|
64
63
|
}
|
|
65
64
|
export type CredentialsFetcher = () => Promise<Contract3Bundle>;
|
|
@@ -94,26 +93,6 @@ export declare function normalizeContract3Bundle(raw: unknown): Contract3Bundle;
|
|
|
94
93
|
* No identity file → return the bundle unchanged (person laptop).
|
|
95
94
|
*/
|
|
96
95
|
export declare function scopeBundleToAgentIdentity(bundle: Contract3Bundle, env?: NodeJS.ProcessEnv): Contract3Bundle;
|
|
97
|
-
/**
|
|
98
|
-
* Device default first, then distinct company uids from session files updated
|
|
99
|
-
* in the last 24 hours, newest first, max 5. Any read error returns undefined
|
|
100
|
-
* so the vend body omits the field.
|
|
101
|
-
*/
|
|
102
|
-
export declare function readPreferredCompanyUids(input: {
|
|
103
|
-
workContextRoot: string;
|
|
104
|
-
nowMs?: number;
|
|
105
|
-
}): string[] | undefined;
|
|
106
|
-
export declare function preferredCompanyKey(uids: readonly string[] | undefined): string;
|
|
107
|
-
/** True when a new preferred set should force a vend, at most once per minute. */
|
|
108
|
-
export declare function shouldRevendPreferredCompanies(input: {
|
|
109
|
-
previous: readonly string[] | undefined;
|
|
110
|
-
next: readonly string[] | undefined;
|
|
111
|
-
lastVendMs: number;
|
|
112
|
-
nowMs: number;
|
|
113
|
-
minIntervalMs?: number;
|
|
114
|
-
}): boolean;
|
|
115
|
-
/** Plain doctor line for one company the vend left out. */
|
|
116
|
-
export declare function formatDroppedPresenceCompany(company: DroppedPresenceCompany): string;
|
|
117
96
|
export type CredentialVendPostResult = {
|
|
118
97
|
status: number;
|
|
119
98
|
body: unknown;
|
|
@@ -126,8 +105,6 @@ export declare function createContract3Fetcher(opts: {
|
|
|
126
105
|
post?: (path: string, body: unknown) => Promise<CredentialVendPostResult>;
|
|
127
106
|
/** Process env for identity-file scoping (tests). */
|
|
128
107
|
env?: NodeJS.ProcessEnv;
|
|
129
|
-
/** Companies to ask for. Undefined (read error) omits the field. */
|
|
130
|
-
readPreferredCompanyUids?: () => string[] | undefined;
|
|
131
108
|
}): CredentialsFetcher;
|
|
132
109
|
export interface CredentialRenewalErrorInfo {
|
|
133
110
|
/** Absolute ISO timestamp when the renewal retry is scheduled to fire. */
|
|
@@ -148,41 +125,10 @@ export declare class CredentialRenewalManager {
|
|
|
148
125
|
private readonly random;
|
|
149
126
|
private handle;
|
|
150
127
|
private stopped;
|
|
151
|
-
private inflight;
|
|
152
128
|
constructor(fetchCredentials: CredentialsFetcher, onRenewed: (bundle: Contract3Bundle) => void, onError?: (err: unknown, info?: CredentialRenewalErrorInfo) => void, timers?: TimerHost, retryDelayMs?: number, refusedRetryMs?: number, random?: () => number);
|
|
153
129
|
schedule(bundle: Contract3Bundle): void;
|
|
154
|
-
/** Vend now (preferred companies changed). No-op while a vend is in flight. */
|
|
155
|
-
renewNow(): void;
|
|
156
130
|
private renew;
|
|
157
131
|
stop(): void;
|
|
158
132
|
private clear;
|
|
159
133
|
}
|
|
160
|
-
/**
|
|
161
|
-
* Contract-2 (personal) realtime vend. Backed server-side by the personal
|
|
162
|
-
* session policy, which grants Subscribe/Receive on the caller's own
|
|
163
|
-
* `hq/{principalUid}/{dm,sessions,work,notifications,meeting,sync}` topics —
|
|
164
|
-
* unlike contract 3, whose policy only covers company presence and the thread
|
|
165
|
-
* directory. Doorbell listeners on personal topics MUST use this contract;
|
|
166
|
-
* subscribing to personal topics with a contract-3 session makes AWS IoT drop
|
|
167
|
-
* the connection before SUBACK.
|
|
168
|
-
*/
|
|
169
|
-
export interface PersonalRealtimeBundle {
|
|
170
|
-
contractVersion: 2;
|
|
171
|
-
credentials: IotCredentials;
|
|
172
|
-
iotEndpoint: string;
|
|
173
|
-
region: string;
|
|
174
|
-
clientId: string;
|
|
175
|
-
actorUid: string;
|
|
176
|
-
/** Advertised personal topics keyed by kind (dm, sessions, work, notifications, …). */
|
|
177
|
-
topics: Record<string, string>;
|
|
178
|
-
expiresAt: string;
|
|
179
|
-
}
|
|
180
|
-
export type PersonalCredentialsFetcher = () => Promise<PersonalRealtimeBundle>;
|
|
181
|
-
export declare function normalizePersonalRealtimeBundle(raw: unknown): PersonalRealtimeBundle;
|
|
182
|
-
export declare function createPersonalRealtimeFetcher(opts: {
|
|
183
|
-
token: string;
|
|
184
|
-
baseUrl?: string;
|
|
185
|
-
post?: (path: string, body: unknown) => Promise<CredentialVendPostResult>;
|
|
186
|
-
}): PersonalCredentialsFetcher;
|
|
187
|
-
export {};
|
|
188
134
|
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -2,21 +2,17 @@
|
|
|
2
2
|
* Contract-3 realtime credential vend + 80%-of-lifetime renewal.
|
|
3
3
|
* Never logs or persists credential material.
|
|
4
4
|
*/
|
|
5
|
-
import * as fs from "node:fs";
|
|
6
|
-
import * as path from "node:path";
|
|
7
5
|
import { DEFAULT_VAULT_API_URL } from "../../../../utils/cognito-session.js";
|
|
8
6
|
import { vaultApiFetch } from "../../../../utils/vault-api.js";
|
|
9
7
|
import { readAgentIdentityCompanyUid } from "../../../work-context/company.js";
|
|
10
|
-
|
|
11
|
-
import { workContextSessionsDir } from "../../../work-context/paths.js";
|
|
12
|
-
const REALTIME_CREDENTIALS_PATH = "/v1/realtime/credentials";
|
|
8
|
+
export const REALTIME_CREDENTIALS_PATH = "/v1/realtime/credentials";
|
|
13
9
|
export const MQTT_KEEPALIVE_SECONDS = 15;
|
|
14
10
|
/** Renew at 80% of credential lifetime. */
|
|
15
|
-
const CREDENTIAL_RENEWAL_FRACTION = 0.8;
|
|
16
|
-
const MIN_RENEWAL_DELAY_MS = 5_000;
|
|
11
|
+
export const CREDENTIAL_RENEWAL_FRACTION = 0.8;
|
|
12
|
+
export const MIN_RENEWAL_DELAY_MS = 5_000;
|
|
17
13
|
/** Long retry when the server refuses credentials (disabled / unsupported). */
|
|
18
|
-
const DEFAULT_REFUSED_RETRY_MS = 10 * 60_000;
|
|
19
|
-
const REFUSED_RETRY_ENV = "HQ_MESH_DAEMON_REFUSED_RETRY_MS";
|
|
14
|
+
export const DEFAULT_REFUSED_RETRY_MS = 10 * 60_000;
|
|
15
|
+
export const REFUSED_RETRY_ENV = "HQ_MESH_DAEMON_REFUSED_RETRY_MS";
|
|
20
16
|
/**
|
|
21
17
|
* Node's setTimeout treats delays above this as ~1ms (signed 32-bit overflow).
|
|
22
18
|
* Always schedule long waits via {@link scheduleBoundedTimeout}.
|
|
@@ -24,12 +20,6 @@ const REFUSED_RETRY_ENV = "HQ_MESH_DAEMON_REFUSED_RETRY_MS";
|
|
|
24
20
|
export const MAX_TIMER_DELAY_MS = 2_147_483_647;
|
|
25
21
|
/** Cap any single retry so a bogus Retry-After cannot park the daemon. */
|
|
26
22
|
export const MAX_RETRY_DELAY_MS = 24 * 60 * 60 * 1000;
|
|
27
|
-
/** Contract-3 vend accepts at most this many preferred company uids. */
|
|
28
|
-
const PREFERRED_COMPANY_LIMIT = 5;
|
|
29
|
-
/** Session files older than this do not count as companies in use. */
|
|
30
|
-
const PREFERRED_SESSION_WINDOW_MS = 24 * 60 * 60 * 1000;
|
|
31
|
-
/** Preferred-set changes re-vend at most this often. */
|
|
32
|
-
export const PREFERRED_REVEND_MIN_MS = 60_000;
|
|
33
23
|
/**
|
|
34
24
|
* Typed vend failure. `refused` = server will not vend right now
|
|
35
25
|
* (FEATURE_DISABLED / REALTIME_CONTRACT_UNSUPPORTED / 403); daemon should
|
|
@@ -66,7 +56,7 @@ export function parseRetryAfterMs(value, nowMs = Date.now()) {
|
|
|
66
56
|
}
|
|
67
57
|
return undefined;
|
|
68
58
|
}
|
|
69
|
-
function extractVendErrorCode(body) {
|
|
59
|
+
export function extractVendErrorCode(body) {
|
|
70
60
|
if (!body || typeof body !== "object" || Array.isArray(body))
|
|
71
61
|
return undefined;
|
|
72
62
|
const code = body.code;
|
|
@@ -239,31 +229,9 @@ export function normalizeContract3Bundle(raw) {
|
|
|
239
229
|
if (!expiresAt) {
|
|
240
230
|
throw new Error("contract-3 vend missing expiresAt");
|
|
241
231
|
}
|
|
242
|
-
const
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
droppedCompanies.push({ companyUid: item, reason: "unknown" });
|
|
246
|
-
continue;
|
|
247
|
-
}
|
|
248
|
-
if (!item || typeof item !== "object" || Array.isArray(item))
|
|
249
|
-
continue;
|
|
250
|
-
const row = item;
|
|
251
|
-
const companyUid = typeof row.companyUid === "string" ? row.companyUid.trim() : "";
|
|
252
|
-
if (!companyUid)
|
|
253
|
-
continue;
|
|
254
|
-
const slug = typeof row.companySlug === "string"
|
|
255
|
-
? row.companySlug.trim()
|
|
256
|
-
: typeof row.slug === "string"
|
|
257
|
-
? row.slug.trim()
|
|
258
|
-
: "";
|
|
259
|
-
droppedCompanies.push({
|
|
260
|
-
companyUid,
|
|
261
|
-
...(slug ? { label: slug } : {}),
|
|
262
|
-
reason: typeof row.reason === "string" && row.reason.trim()
|
|
263
|
-
? row.reason.trim()
|
|
264
|
-
: "not included",
|
|
265
|
-
});
|
|
266
|
-
}
|
|
232
|
+
const dropped = Array.isArray(r.droppedCompanies)
|
|
233
|
+
? r.droppedCompanies.filter((x) => typeof x === "string")
|
|
234
|
+
: [];
|
|
267
235
|
return {
|
|
268
236
|
contractVersion: 3,
|
|
269
237
|
credentials: {
|
|
@@ -278,7 +246,7 @@ export function normalizeContract3Bundle(raw) {
|
|
|
278
246
|
actorUid,
|
|
279
247
|
actorType,
|
|
280
248
|
companies,
|
|
281
|
-
droppedCompanies,
|
|
249
|
+
droppedCompanies: dropped,
|
|
282
250
|
expiresAt,
|
|
283
251
|
};
|
|
284
252
|
}
|
|
@@ -298,101 +266,6 @@ export function scopeBundleToAgentIdentity(bundle, env = process.env) {
|
|
|
298
266
|
}
|
|
299
267
|
return { ...bundle, companies: matched };
|
|
300
268
|
}
|
|
301
|
-
function pushDistinct(out, seen, uid) {
|
|
302
|
-
const trimmed = uid?.trim();
|
|
303
|
-
if (!trimmed || seen.has(trimmed) || out.length >= PREFERRED_COMPANY_LIMIT)
|
|
304
|
-
return;
|
|
305
|
-
seen.add(trimmed);
|
|
306
|
-
out.push(trimmed);
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Device default first, then distinct company uids from session files updated
|
|
310
|
-
* in the last 24 hours, newest first, max 5. Any read error returns undefined
|
|
311
|
-
* so the vend body omits the field.
|
|
312
|
-
*/
|
|
313
|
-
export function readPreferredCompanyUids(input) {
|
|
314
|
-
try {
|
|
315
|
-
const nowMs = input.nowMs ?? Date.now();
|
|
316
|
-
const config = readDeviceConfig({ root: input.workContextRoot });
|
|
317
|
-
const out = [];
|
|
318
|
-
const seen = new Set();
|
|
319
|
-
if (config.defaultCompany?.enabled && config.defaultCompany.uid) {
|
|
320
|
-
pushDistinct(out, seen, config.defaultCompany.uid);
|
|
321
|
-
}
|
|
322
|
-
const dir = workContextSessionsDir(input.workContextRoot);
|
|
323
|
-
let names = [];
|
|
324
|
-
try {
|
|
325
|
-
names = fs.readdirSync(dir);
|
|
326
|
-
}
|
|
327
|
-
catch (err) {
|
|
328
|
-
const code = err.code;
|
|
329
|
-
if (code !== "ENOENT")
|
|
330
|
-
throw err;
|
|
331
|
-
}
|
|
332
|
-
const recent = [];
|
|
333
|
-
for (const name of names) {
|
|
334
|
-
if (!name.endsWith(".json"))
|
|
335
|
-
continue;
|
|
336
|
-
const full = path.join(dir, name);
|
|
337
|
-
const stat = fs.statSync(full);
|
|
338
|
-
if (!stat.isFile())
|
|
339
|
-
continue;
|
|
340
|
-
const raw = JSON.parse(fs.readFileSync(full, "utf8"));
|
|
341
|
-
const parsedAt = typeof raw.updatedAt === "string" ? Date.parse(raw.updatedAt) : Number.NaN;
|
|
342
|
-
const at = Number.isFinite(parsedAt) ? parsedAt : stat.mtimeMs;
|
|
343
|
-
if (!Number.isFinite(at) || nowMs - at > PREFERRED_SESSION_WINDOW_MS)
|
|
344
|
-
continue;
|
|
345
|
-
if (nowMs < at)
|
|
346
|
-
continue;
|
|
347
|
-
if (typeof raw.companyUid !== "string")
|
|
348
|
-
continue;
|
|
349
|
-
recent.push({ uid: raw.companyUid, at });
|
|
350
|
-
}
|
|
351
|
-
recent.sort((a, b) => b.at - a.at || a.uid.localeCompare(b.uid));
|
|
352
|
-
for (const row of recent)
|
|
353
|
-
pushDistinct(out, seen, row.uid);
|
|
354
|
-
return out;
|
|
355
|
-
}
|
|
356
|
-
catch {
|
|
357
|
-
return undefined;
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
export function preferredCompanyKey(uids) {
|
|
361
|
-
return (uids ?? []).join("\n");
|
|
362
|
-
}
|
|
363
|
-
/** True when a new preferred set should force a vend, at most once per minute. */
|
|
364
|
-
export function shouldRevendPreferredCompanies(input) {
|
|
365
|
-
if (!input.next)
|
|
366
|
-
return false;
|
|
367
|
-
if (preferredCompanyKey(input.previous) === preferredCompanyKey(input.next)) {
|
|
368
|
-
return false;
|
|
369
|
-
}
|
|
370
|
-
const min = input.minIntervalMs ?? PREFERRED_REVEND_MIN_MS;
|
|
371
|
-
return input.nowMs - input.lastVendMs >= min;
|
|
372
|
-
}
|
|
373
|
-
function contract3VendBody(preferredCompanyUids) {
|
|
374
|
-
const body = {
|
|
375
|
-
contractVersion: 3,
|
|
376
|
-
};
|
|
377
|
-
if (preferredCompanyUids && preferredCompanyUids.length > 0) {
|
|
378
|
-
body.preferredCompanyUids = preferredCompanyUids.slice(0, PREFERRED_COMPANY_LIMIT);
|
|
379
|
-
}
|
|
380
|
-
return body;
|
|
381
|
-
}
|
|
382
|
-
/** Plain doctor line for one company the vend left out. */
|
|
383
|
-
export function formatDroppedPresenceCompany(company) {
|
|
384
|
-
const name = company.label?.trim() || company.companyUid;
|
|
385
|
-
if (company.reason === "gate_disabled") {
|
|
386
|
-
return `${name}: not included (presence is turned off for this company)`;
|
|
387
|
-
}
|
|
388
|
-
if (company.reason === "policy_budget") {
|
|
389
|
-
return `${name}: not included (too many companies for one credential)`;
|
|
390
|
-
}
|
|
391
|
-
if (!company.reason || company.reason === "unknown" || company.reason === "not included") {
|
|
392
|
-
return `${name}: not included`;
|
|
393
|
-
}
|
|
394
|
-
return `${name}: not included (${company.reason})`;
|
|
395
|
-
}
|
|
396
269
|
function headerGet(headers, name) {
|
|
397
270
|
if (!headers)
|
|
398
271
|
return null;
|
|
@@ -405,19 +278,11 @@ function headerGet(headers, name) {
|
|
|
405
278
|
}
|
|
406
279
|
export function createContract3Fetcher(opts) {
|
|
407
280
|
return async () => {
|
|
408
|
-
let preferred;
|
|
409
|
-
if (opts.readPreferredCompanyUids) {
|
|
410
|
-
try {
|
|
411
|
-
preferred = opts.readPreferredCompanyUids();
|
|
412
|
-
}
|
|
413
|
-
catch {
|
|
414
|
-
preferred = undefined;
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
const body = contract3VendBody(preferred);
|
|
418
281
|
let bundle;
|
|
419
282
|
if (opts.post) {
|
|
420
|
-
const res = await opts.post(REALTIME_CREDENTIALS_PATH,
|
|
283
|
+
const res = await opts.post(REALTIME_CREDENTIALS_PATH, {
|
|
284
|
+
contractVersion: 3,
|
|
285
|
+
});
|
|
421
286
|
if (res.status < 200 || res.status >= 300) {
|
|
422
287
|
throw classifyCredentialVendFailure(res.status, res.body, headerGet(res.headers, "Retry-After"));
|
|
423
288
|
}
|
|
@@ -428,23 +293,23 @@ export function createContract3Fetcher(opts) {
|
|
|
428
293
|
token: opts.token,
|
|
429
294
|
path: REALTIME_CREDENTIALS_PATH,
|
|
430
295
|
method: "POST",
|
|
431
|
-
body,
|
|
296
|
+
body: { contractVersion: 3 },
|
|
432
297
|
baseUrl: opts.baseUrl ?? DEFAULT_VAULT_API_URL,
|
|
433
298
|
});
|
|
434
299
|
const text = await res.text();
|
|
435
|
-
let
|
|
300
|
+
let body = {};
|
|
436
301
|
if (text) {
|
|
437
302
|
try {
|
|
438
|
-
|
|
303
|
+
body = JSON.parse(text);
|
|
439
304
|
}
|
|
440
305
|
catch {
|
|
441
|
-
|
|
306
|
+
body = { raw: text.slice(0, 200) };
|
|
442
307
|
}
|
|
443
308
|
}
|
|
444
309
|
if (!res.ok) {
|
|
445
|
-
throw classifyCredentialVendFailure(res.status,
|
|
310
|
+
throw classifyCredentialVendFailure(res.status, body, res.headers.get("Retry-After"));
|
|
446
311
|
}
|
|
447
|
-
bundle = normalizeContract3Bundle(
|
|
312
|
+
bundle = normalizeContract3Bundle(body);
|
|
448
313
|
}
|
|
449
314
|
return scopeBundleToAgentIdentity(bundle, opts.env ?? process.env);
|
|
450
315
|
};
|
|
@@ -463,7 +328,6 @@ export class CredentialRenewalManager {
|
|
|
463
328
|
random;
|
|
464
329
|
handle = null;
|
|
465
330
|
stopped = false;
|
|
466
|
-
inflight = false;
|
|
467
331
|
constructor(fetchCredentials, onRenewed, onError = () => { }, timers = realTimerHost, retryDelayMs = 30_000, refusedRetryMs = DEFAULT_REFUSED_RETRY_MS, random = Math.random) {
|
|
468
332
|
this.fetchCredentials = fetchCredentials;
|
|
469
333
|
this.onRenewed = onRenewed;
|
|
@@ -480,17 +344,9 @@ export class CredentialRenewalManager {
|
|
|
480
344
|
const delay = renewalDelayMs(this.timers.now(), bundle.expiresAt);
|
|
481
345
|
this.handle = scheduleBoundedTimeout(this.timers, () => void this.renew(), delay);
|
|
482
346
|
}
|
|
483
|
-
/** Vend now (preferred companies changed). No-op while a vend is in flight. */
|
|
484
|
-
renewNow() {
|
|
485
|
-
if (this.stopped || this.inflight)
|
|
486
|
-
return;
|
|
487
|
-
this.clear();
|
|
488
|
-
void this.renew();
|
|
489
|
-
}
|
|
490
347
|
async renew() {
|
|
491
|
-
if (this.stopped
|
|
348
|
+
if (this.stopped)
|
|
492
349
|
return;
|
|
493
|
-
this.inflight = true;
|
|
494
350
|
try {
|
|
495
351
|
const bundle = await this.fetchCredentials();
|
|
496
352
|
if (this.stopped)
|
|
@@ -517,9 +373,6 @@ export class CredentialRenewalManager {
|
|
|
517
373
|
return;
|
|
518
374
|
this.handle = scheduleBoundedTimeout(this.timers, () => void this.renew(), delay);
|
|
519
375
|
}
|
|
520
|
-
finally {
|
|
521
|
-
this.inflight = false;
|
|
522
|
-
}
|
|
523
376
|
}
|
|
524
377
|
stop() {
|
|
525
378
|
this.stopped = true;
|
|
@@ -532,107 +385,4 @@ export class CredentialRenewalManager {
|
|
|
532
385
|
}
|
|
533
386
|
}
|
|
534
387
|
}
|
|
535
|
-
export function normalizePersonalRealtimeBundle(raw) {
|
|
536
|
-
if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
|
|
537
|
-
throw new Error("contract-2 vend response is not an object");
|
|
538
|
-
}
|
|
539
|
-
const r = raw;
|
|
540
|
-
if (r.contractVersion !== 2) {
|
|
541
|
-
throw new Error(`expected contractVersion 2, got ${String(r.contractVersion)}`);
|
|
542
|
-
}
|
|
543
|
-
const creds = r.credentials;
|
|
544
|
-
if (!creds ||
|
|
545
|
-
typeof creds.accessKeyId !== "string" ||
|
|
546
|
-
typeof creds.secretAccessKey !== "string" ||
|
|
547
|
-
typeof creds.sessionToken !== "string") {
|
|
548
|
-
throw new Error("contract-2 vend missing credentials");
|
|
549
|
-
}
|
|
550
|
-
for (const key of ["clientId", "iotEndpoint", "region"]) {
|
|
551
|
-
if (typeof r[key] !== "string" || !r[key].trim()) {
|
|
552
|
-
throw new Error(`contract-2 vend missing ${key}`);
|
|
553
|
-
}
|
|
554
|
-
}
|
|
555
|
-
const topicsRaw = r.topics && typeof r.topics === "object" && !Array.isArray(r.topics)
|
|
556
|
-
? r.topics
|
|
557
|
-
: {};
|
|
558
|
-
const topics = {};
|
|
559
|
-
for (const [k, v] of Object.entries(topicsRaw)) {
|
|
560
|
-
if (typeof v === "string" && v.trim())
|
|
561
|
-
topics[k] = v.trim();
|
|
562
|
-
}
|
|
563
|
-
if (!topics.dm && typeof r.topic === "string")
|
|
564
|
-
topics.dm = r.topic;
|
|
565
|
-
const agentInboxTopic = typeof r.agentInboxTopic === "string" ? r.agentInboxTopic.trim() : "";
|
|
566
|
-
const actorUid = (typeof r.principalUid === "string" && /^(?:prs|agt)_[A-Za-z0-9]+$/.test(r.principalUid)
|
|
567
|
-
? r.principalUid
|
|
568
|
-
: undefined) ||
|
|
569
|
-
actorUidFromPersonalTopic(topics.dm) ||
|
|
570
|
-
actorUidFromPersonalTopic(agentInboxTopic) ||
|
|
571
|
-
"";
|
|
572
|
-
if (!actorUid)
|
|
573
|
-
throw new Error("contract-2 vend could not derive actorUid");
|
|
574
|
-
// hq-pro advertises the agent's own inbox topic as a top-level capability.
|
|
575
|
-
// Keep it only for the exact actor-owned topic; it reuses this personal MQTT
|
|
576
|
-
// session and never grants the subscriber a topic supplied by another actor.
|
|
577
|
-
if (actorUid.startsWith("agt_") && agentInboxTopic === `hq/${actorUid}/inbox`) {
|
|
578
|
-
topics.inbox = agentInboxTopic;
|
|
579
|
-
}
|
|
580
|
-
// Only keep topics that belong to the vended principal.
|
|
581
|
-
for (const [k, v] of Object.entries(topics)) {
|
|
582
|
-
if (actorUidFromPersonalTopic(v) !== actorUid)
|
|
583
|
-
delete topics[k];
|
|
584
|
-
}
|
|
585
|
-
const expiresAt = (typeof r.expiresAt === "string" && r.expiresAt) ||
|
|
586
|
-
(typeof creds.expiration === "string" && creds.expiration) ||
|
|
587
|
-
"";
|
|
588
|
-
if (!expiresAt)
|
|
589
|
-
throw new Error("contract-2 vend missing expiresAt");
|
|
590
|
-
return {
|
|
591
|
-
contractVersion: 2,
|
|
592
|
-
credentials: {
|
|
593
|
-
accessKeyId: creds.accessKeyId,
|
|
594
|
-
secretAccessKey: creds.secretAccessKey,
|
|
595
|
-
sessionToken: creds.sessionToken,
|
|
596
|
-
expiration: expiresAt,
|
|
597
|
-
},
|
|
598
|
-
iotEndpoint: r.iotEndpoint,
|
|
599
|
-
region: r.region,
|
|
600
|
-
clientId: r.clientId,
|
|
601
|
-
actorUid,
|
|
602
|
-
topics,
|
|
603
|
-
expiresAt,
|
|
604
|
-
};
|
|
605
|
-
}
|
|
606
|
-
export function createPersonalRealtimeFetcher(opts) {
|
|
607
|
-
return async () => {
|
|
608
|
-
if (opts.post) {
|
|
609
|
-
const res = await opts.post(REALTIME_CREDENTIALS_PATH, { contractVersion: 2 });
|
|
610
|
-
if (res.status < 200 || res.status >= 300) {
|
|
611
|
-
throw classifyCredentialVendFailure(res.status, res.body, headerGet(res.headers, "Retry-After"));
|
|
612
|
-
}
|
|
613
|
-
return normalizePersonalRealtimeBundle(res.body);
|
|
614
|
-
}
|
|
615
|
-
const res = await vaultApiFetch({
|
|
616
|
-
token: opts.token,
|
|
617
|
-
path: REALTIME_CREDENTIALS_PATH,
|
|
618
|
-
method: "POST",
|
|
619
|
-
body: { contractVersion: 2 },
|
|
620
|
-
baseUrl: opts.baseUrl ?? DEFAULT_VAULT_API_URL,
|
|
621
|
-
});
|
|
622
|
-
const text = await res.text();
|
|
623
|
-
let body = {};
|
|
624
|
-
if (text) {
|
|
625
|
-
try {
|
|
626
|
-
body = JSON.parse(text);
|
|
627
|
-
}
|
|
628
|
-
catch {
|
|
629
|
-
body = { raw: text.slice(0, 200) };
|
|
630
|
-
}
|
|
631
|
-
}
|
|
632
|
-
if (!res.ok) {
|
|
633
|
-
throw classifyCredentialVendFailure(res.status, body, res.headers.get("Retry-After"));
|
|
634
|
-
}
|
|
635
|
-
return normalizePersonalRealtimeBundle(body);
|
|
636
|
-
};
|
|
637
|
-
}
|
|
638
388
|
//# sourceMappingURL=credentials.js.map
|