@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
|
@@ -18,11 +18,8 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import chalk from "chalk";
|
|
20
20
|
import open from "open";
|
|
21
|
-
import { ensureCognitoIdToken } from "../utils/cognito-session.js";
|
|
22
|
-
import { consoleOrigin } from "../utils/console-origin.js";
|
|
23
|
-
export { consoleOrigin };
|
|
21
|
+
import { DEFAULT_VAULT_API_URL, ensureCognitoIdToken, } from "../utils/cognito-session.js";
|
|
24
22
|
import { getCompanyUid } from "../utils/vault-api.js";
|
|
25
|
-
import { redactSensitiveUrl, redactUrlsInText } from "../utils/redact-url.js";
|
|
26
23
|
import { IntegrationsCliError, bareProvider, connectionDomain, fetchAdminSurface, printJson, revokedConnectionDetails, resolveConnection, } from "./integrations-core.js";
|
|
27
24
|
import { completeOAuth, discoverDocs, installIntegration, listCatalog, pullBlueprint, startOAuth, } from "./integrations-api.js";
|
|
28
25
|
import { OAUTH_LOOPBACK_TIMEOUT_CODE, startLoopbackListener, } from "./integrations-oauth.js";
|
|
@@ -185,12 +182,6 @@ export function assertAuthMode(value) {
|
|
|
185
182
|
throw new IntegrationsCliError("--auth must be none, key, or oauth.", { expected: true });
|
|
186
183
|
}
|
|
187
184
|
}
|
|
188
|
-
/** RFC 7230 token characters accepted for an HTTP field name. */
|
|
189
|
-
export function assertAuthHeader(value) {
|
|
190
|
-
if (value !== undefined && !/^[A-Za-z0-9!#$%&'*+.^_`|~-]+$/.test(value)) {
|
|
191
|
-
throw new IntegrationsCliError("--auth-header must be a non-empty HTTP header name using RFC 7230 token characters.", { expected: true });
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
185
|
/** Single-quote a value for a copy-pasteable shell command. */
|
|
195
186
|
export function shellQuote(value) {
|
|
196
187
|
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
@@ -301,7 +292,7 @@ async function resolveTarget(token, companyUid, app, opts, preserveDomain = fals
|
|
|
301
292
|
: found.discovery.authMode === "oauth"
|
|
302
293
|
? "oauth"
|
|
303
294
|
: "none",
|
|
304
|
-
label:
|
|
295
|
+
label: found.discovery.displayName,
|
|
305
296
|
};
|
|
306
297
|
}
|
|
307
298
|
if (opts.mcpUrl) {
|
|
@@ -311,11 +302,11 @@ async function resolveTarget(token, companyUid, app, opts, preserveDomain = fals
|
|
|
311
302
|
...(opts.provider ? { provider: opts.provider } : {}),
|
|
312
303
|
...(opts.displayName ? { displayName: opts.displayName } : {}),
|
|
313
304
|
},
|
|
314
|
-
label:
|
|
305
|
+
label: opts.displayName ?? opts.provider ?? opts.mcpUrl,
|
|
315
306
|
};
|
|
316
307
|
}
|
|
317
308
|
if (opts.entryId) {
|
|
318
|
-
return { ref: { catalogEntryId: opts.entryId }, label:
|
|
309
|
+
return { ref: { catalogEntryId: opts.entryId }, label: opts.entryId };
|
|
319
310
|
}
|
|
320
311
|
if (!app) {
|
|
321
312
|
throw new IntegrationsCliError("Name an app to connect — a domain (`hq integrations connect linear.app`), or use --mcp-url / --docs-url / --entry-id.", { expected: true });
|
|
@@ -333,10 +324,10 @@ async function resolveTarget(token, companyUid, app, opts, preserveDomain = fals
|
|
|
333
324
|
return {
|
|
334
325
|
ref: { domain: app },
|
|
335
326
|
...(match?.authClass ? { authClass: match.authClass } : {}),
|
|
336
|
-
label:
|
|
327
|
+
label: match?.name || app,
|
|
337
328
|
};
|
|
338
329
|
}
|
|
339
|
-
return catalogEntryToTarget(match, { ref: { domain: app }, label:
|
|
330
|
+
return catalogEntryToTarget(match, { ref: { domain: app }, label: app });
|
|
340
331
|
}
|
|
341
332
|
// A bare name (`notion`, `atlassian`) is how the catalog reads to a person —
|
|
342
333
|
// the rows are titled `notion.com`, `atlassian.com`. Resolve it to that row
|
|
@@ -346,9 +337,9 @@ async function resolveTarget(token, companyUid, app, opts, preserveDomain = fals
|
|
|
346
337
|
// unmatched → fall back to the server-side query resolver.
|
|
347
338
|
const named = await findCatalogEntryByName(token, companyUid, app);
|
|
348
339
|
if (named) {
|
|
349
|
-
return catalogEntryToTarget(named, { ref: { query: app }, label:
|
|
340
|
+
return catalogEntryToTarget(named, { ref: { query: app }, label: app });
|
|
350
341
|
}
|
|
351
|
-
return { ref: { query: app }, label:
|
|
342
|
+
return { ref: { query: app }, label: app };
|
|
352
343
|
}
|
|
353
344
|
/**
|
|
354
345
|
* Turn a matched catalog entry into a connect target, preferring its opaque
|
|
@@ -362,13 +353,13 @@ function catalogEntryToTarget(match, fallback) {
|
|
|
362
353
|
return {
|
|
363
354
|
ref: { catalogEntryId: match.entryId },
|
|
364
355
|
...(match.authClass ? { authClass: match.authClass } : {}),
|
|
365
|
-
label:
|
|
356
|
+
label: match.name || fallback.label,
|
|
366
357
|
};
|
|
367
358
|
}
|
|
368
359
|
return {
|
|
369
360
|
ref: { domain: match.domain },
|
|
370
361
|
...(match.authClass ? { authClass: match.authClass } : {}),
|
|
371
|
-
label:
|
|
362
|
+
label: match.name || fallback.label,
|
|
372
363
|
};
|
|
373
364
|
}
|
|
374
365
|
/** Best-effort catalog lookup by domain; never fails the connect. */
|
|
@@ -516,15 +507,15 @@ async function connectViaOAuth(token, companyUid, target, opts) {
|
|
|
516
507
|
// that beats it, but ordering it this way means the happy path never
|
|
517
508
|
// depends on that buffer.
|
|
518
509
|
const pendingCode = listener.waitForCode(started.state);
|
|
519
|
-
console.error(chalk.dim(`Waiting for you to sign in to ${
|
|
510
|
+
console.error(chalk.dim(`Waiting for you to sign in to ${started.displayName || target.label}…`));
|
|
520
511
|
if (opts.browser === false) {
|
|
521
|
-
console.error(`Open this URL to sign in:\n ${
|
|
512
|
+
console.error(`Open this URL to sign in:\n ${started.authorizationUrl}`);
|
|
522
513
|
}
|
|
523
514
|
else {
|
|
524
515
|
// A failed browser launch (headless box, no handler) is recoverable —
|
|
525
516
|
// print the URL and keep waiting rather than aborting the sign-in.
|
|
526
517
|
await open(started.authorizationUrl).catch(() => {
|
|
527
|
-
console.error(`Open this URL to sign in:\n ${
|
|
518
|
+
console.error(`Open this URL to sign in:\n ${started.authorizationUrl}`);
|
|
528
519
|
});
|
|
529
520
|
}
|
|
530
521
|
let code;
|
|
@@ -544,6 +535,37 @@ async function connectViaOAuth(token, companyUid, target, opts) {
|
|
|
544
535
|
listener.close();
|
|
545
536
|
}
|
|
546
537
|
}
|
|
538
|
+
const PRODUCTION_CONSOLE_ORIGIN = "https://hq.computer";
|
|
539
|
+
const PRODUCTION_VAULT_API_HOST = "hqapi.hq.computer";
|
|
540
|
+
/**
|
|
541
|
+
* The console that fronts the control plane this CLI is pointed at.
|
|
542
|
+
*
|
|
543
|
+
* A handoff must land on the console for the SAME backend, because that
|
|
544
|
+
* console starts its own OAuth flow against its own backend. Sending a staging
|
|
545
|
+
* session to the production console would connect the app in the wrong place —
|
|
546
|
+
* so when the control plane is overridden and its console cannot be derived,
|
|
547
|
+
* return undefined and say so rather than guess a host.
|
|
548
|
+
*
|
|
549
|
+
* `HQ_CONSOLE_URL` is the explicit override; otherwise the console is the
|
|
550
|
+
* control-plane host with its `hqapi.` prefix removed.
|
|
551
|
+
*/
|
|
552
|
+
export function consoleOrigin(vaultApiUrl = DEFAULT_VAULT_API_URL) {
|
|
553
|
+
const explicit = process.env.HQ_CONSOLE_URL?.trim();
|
|
554
|
+
if (explicit)
|
|
555
|
+
return explicit.replace(/\/+$/, "");
|
|
556
|
+
let api;
|
|
557
|
+
try {
|
|
558
|
+
api = new URL(vaultApiUrl);
|
|
559
|
+
}
|
|
560
|
+
catch {
|
|
561
|
+
return undefined;
|
|
562
|
+
}
|
|
563
|
+
if (api.host === PRODUCTION_VAULT_API_HOST)
|
|
564
|
+
return PRODUCTION_CONSOLE_ORIGIN;
|
|
565
|
+
if (!api.hostname.startsWith("hqapi."))
|
|
566
|
+
return undefined;
|
|
567
|
+
return `${api.protocol}//${api.host.slice("hqapi.".length)}`;
|
|
568
|
+
}
|
|
547
569
|
/**
|
|
548
570
|
* The console's Integrations page for a company, the console root when the
|
|
549
571
|
* caller never named one (a single-membership session resolves the company
|
|
@@ -574,9 +596,9 @@ companySlug, origin) {
|
|
|
574
596
|
*/
|
|
575
597
|
function targetSelectionHint(opts) {
|
|
576
598
|
if (opts.mcpUrl)
|
|
577
|
-
return `Server address to enter there: ${
|
|
599
|
+
return `Server address to enter there: ${opts.mcpUrl}`;
|
|
578
600
|
if (opts.docsUrl)
|
|
579
|
-
return `Found from these docs: ${
|
|
601
|
+
return `Found from these docs: ${opts.docsUrl}`;
|
|
580
602
|
if (opts.entryId)
|
|
581
603
|
return `Catalog entry: ${opts.entryId}`;
|
|
582
604
|
return undefined;
|
|
@@ -634,10 +656,10 @@ function loopbackTimeoutHandoff(target, opts) {
|
|
|
634
656
|
}
|
|
635
657
|
function printConsoleDestination(target, opts, url) {
|
|
636
658
|
if (url) {
|
|
637
|
-
console.error(`Open this page and connect ${
|
|
659
|
+
console.error(`Open this page and connect ${target.label} from it:\n ${url}`);
|
|
638
660
|
}
|
|
639
661
|
else {
|
|
640
|
-
console.error(`Open your HQ console's Integrations page and connect ${
|
|
662
|
+
console.error(`Open your HQ console's Integrations page and connect ${target.label} there. ` +
|
|
641
663
|
"(This session points at a control plane whose console address is not " +
|
|
642
664
|
"derivable — set HQ_CONSOLE_URL to name it.)");
|
|
643
665
|
}
|
|
@@ -685,9 +707,9 @@ async function consoleHandoff(target, opts) {
|
|
|
685
707
|
* credentials — but only the console can collect them, so say what is needed
|
|
686
708
|
* and hand the page over rather than restating the refusal and stopping.
|
|
687
709
|
*/
|
|
688
|
-
|
|
689
|
-
console.error(chalk.yellow(
|
|
690
|
-
console.error(`${
|
|
710
|
+
async function bringYourOwnClientHandoff(target, opts, reason, redirectUri) {
|
|
711
|
+
console.error(chalk.yellow(reason));
|
|
712
|
+
console.error(`${target.label} needs an OAuth app you register with the provider yourself.`);
|
|
691
713
|
// Prefer finishing here. The recovery needs two things the terminal can
|
|
692
714
|
// supply — the callback URL to register, and a client id + secret — and
|
|
693
715
|
// hq-pro sends the first one back on exactly these errors. Falling through
|
|
@@ -697,7 +719,7 @@ export async function bringYourOwnClientHandoff(target, opts, reason, redirectUr
|
|
|
697
719
|
if (redirectUri && command) {
|
|
698
720
|
console.error("");
|
|
699
721
|
console.error(`In the provider's developer portal, register this callback URL:`);
|
|
700
|
-
console.error(` ${
|
|
722
|
+
console.error(` ${redirectUri}`);
|
|
701
723
|
console.error(`Then run:`);
|
|
702
724
|
console.error(` ${command}`);
|
|
703
725
|
console.error(chalk.dim("The secret is read from stdin, so it stays out of your shell history. " +
|
|
@@ -725,7 +747,7 @@ function byoClientCommand(target, opts) {
|
|
|
725
747
|
const { mcpUrl, provider } = target.ref;
|
|
726
748
|
if (!mcpUrl)
|
|
727
749
|
return null;
|
|
728
|
-
const parts = ["hq integrations connect", `--mcp-url ${shellQuote(
|
|
750
|
+
const parts = ["hq integrations connect", `--mcp-url ${shellQuote(mcpUrl)}`];
|
|
729
751
|
if (opts.company)
|
|
730
752
|
parts.push(`--company ${shellQuote(opts.company)}`);
|
|
731
753
|
if (provider)
|
|
@@ -827,38 +849,14 @@ async function userClientSignIn(token, companyUid, target, opts, client, request
|
|
|
827
849
|
// authorize step on this path too.
|
|
828
850
|
...(requestedScopes ? { scopes: requestedScopes } : {}),
|
|
829
851
|
});
|
|
830
|
-
console.error(`Open this URL to sign in to ${
|
|
831
|
-
console.error(` ${
|
|
832
|
-
const googleHint = googleClientTypeHint(client.clientId, started.authorizationUrl);
|
|
833
|
-
if (googleHint)
|
|
834
|
-
console.error(chalk.yellow(googleHint));
|
|
852
|
+
console.error(`Open this URL to sign in to ${started.displayName || target.label}:`);
|
|
853
|
+
console.error(` ${started.authorizationUrl}`);
|
|
835
854
|
if (opts.browser !== false)
|
|
836
855
|
await open(started.authorizationUrl).catch(() => { });
|
|
837
856
|
console.error(chalk.dim("The browser finishes on the HQ console. When it says connected, " +
|
|
838
857
|
"run `hq integrations list` to confirm."));
|
|
839
858
|
return null;
|
|
840
859
|
}
|
|
841
|
-
/**
|
|
842
|
-
* Google issues "Desktop app" and "Web application" OAuth clients with the
|
|
843
|
-
* same client-id shape, but only a Web application client accepts HQ's hosted
|
|
844
|
-
* https callback. A Desktop client fails at Google with `redirect_uri_mismatch`
|
|
845
|
-
* after the user has already opened the browser, so say it up front
|
|
846
|
-
* (Undrdog, 2026-09-24). The callback is read from the authorize URL hq-pro
|
|
847
|
-
* built, so the hint always names the URL Google will actually be sent.
|
|
848
|
-
*/
|
|
849
|
-
export function googleClientTypeHint(clientId, authorizationUrl) {
|
|
850
|
-
if (!clientId.toLowerCase().endsWith(".apps.googleusercontent.com"))
|
|
851
|
-
return null;
|
|
852
|
-
let redirectUri = null;
|
|
853
|
-
try {
|
|
854
|
-
redirectUri = new URL(authorizationUrl).searchParams.get("redirect_uri");
|
|
855
|
-
}
|
|
856
|
-
catch {
|
|
857
|
-
// An unparseable URL still gets the client-type half of the hint.
|
|
858
|
-
}
|
|
859
|
-
return ("This Google OAuth client must be of type \"Web application\" (a \"Desktop app\" client will not work)" +
|
|
860
|
-
(redirectUri ? `, with this authorized redirect URI:\n ${redactSensitiveUrl(redirectUri)}` : "."));
|
|
861
|
-
}
|
|
862
860
|
/**
|
|
863
861
|
* Second chance at a credential when the target's auth mode wasn't known up
|
|
864
862
|
* front.
|
|
@@ -895,7 +893,7 @@ function reportInstall(result, opts, expectedRevivedConnectionId) {
|
|
|
895
893
|
const { installation, connection } = result;
|
|
896
894
|
const toolCount = result.mcp?.tools?.length;
|
|
897
895
|
const revived = connection.id === expectedRevivedConnectionId;
|
|
898
|
-
console.log(chalk.green(`${revived ? "Revived" : "Connected"} ${chalk.bold(
|
|
896
|
+
console.log(chalk.green(`${revived ? "Revived" : "Connected"} ${chalk.bold(installation.displayName)}`) +
|
|
899
897
|
(typeof toolCount === "number" ? chalk.dim(` — ${toolCount} tools available`) : ""));
|
|
900
898
|
console.log(chalk.dim(` connection: ${connection.id}`));
|
|
901
899
|
if (installation.status === "needs_credentials") {
|
|
@@ -910,9 +908,7 @@ function reportInstall(result, opts, expectedRevivedConnectionId) {
|
|
|
910
908
|
*/
|
|
911
909
|
async function connectApp(token, companyUid, app, opts, expectedRevivedConnectionId) {
|
|
912
910
|
const target = await resolveTarget(token, companyUid, app, opts, expectedRevivedConnectionId !== undefined);
|
|
913
|
-
const authMode = opts.
|
|
914
|
-
? "key"
|
|
915
|
-
: opts.auth ?? target.authClass;
|
|
911
|
+
const authMode = opts.auth ?? target.authClass;
|
|
916
912
|
assertUserClientApplicable(opts, target, authMode);
|
|
917
913
|
assertScopesApplicable(opts, target, authMode);
|
|
918
914
|
if (authMode === "oauth") {
|
|
@@ -930,13 +926,7 @@ async function connectApp(token, companyUid, app, opts, expectedRevivedConnectio
|
|
|
930
926
|
const result = await installIntegration(token, companyUid, {
|
|
931
927
|
...target.ref,
|
|
932
928
|
...(bearerToken
|
|
933
|
-
? {
|
|
934
|
-
authMode: "bearer",
|
|
935
|
-
bearerToken,
|
|
936
|
-
...(opts.authHeader
|
|
937
|
-
? { authScheme: { placement: "header", header: opts.authHeader } }
|
|
938
|
-
: {}),
|
|
939
|
-
}
|
|
929
|
+
? { authMode: "bearer", bearerToken }
|
|
940
930
|
: authMode === "none"
|
|
941
931
|
? { authMode: "none" }
|
|
942
932
|
: {}),
|
|
@@ -1059,7 +1049,7 @@ async function refuseIfAlreadyConnected(token, companyUid, app, opts) {
|
|
|
1059
1049
|
});
|
|
1060
1050
|
return true;
|
|
1061
1051
|
}
|
|
1062
|
-
const label =
|
|
1052
|
+
const label = existing.installation?.displayName ?? slug;
|
|
1063
1053
|
console.log(chalk.green(`${label} is already connected.`));
|
|
1064
1054
|
console.log(chalk.dim(` Sign in again: hq integrations reconnect --provider ${slug}\n` +
|
|
1065
1055
|
` Add a second: hq integrations connect ${shellQuote(app)} --force`));
|
|
@@ -1090,7 +1080,7 @@ export function registerConnectCommands(integrations) {
|
|
|
1090
1080
|
}
|
|
1091
1081
|
if (entries.length === 0) {
|
|
1092
1082
|
console.log(query
|
|
1093
|
-
? `Nothing matched '${
|
|
1083
|
+
? `Nothing matched '${query}'. Try a domain, e.g. hq integrations catalog linear.app`
|
|
1094
1084
|
: "The catalog is empty right now.");
|
|
1095
1085
|
return;
|
|
1096
1086
|
}
|
|
@@ -1115,9 +1105,9 @@ export function registerConnectCommands(integrations) {
|
|
|
1115
1105
|
]
|
|
1116
1106
|
.filter(Boolean)
|
|
1117
1107
|
.join(" · ");
|
|
1118
|
-
console.log(`${chalk.bold(
|
|
1108
|
+
console.log(`${chalk.bold(entry.name)} ${chalk.dim(entry.domain)} ${chalk.dim(tags)}`);
|
|
1119
1109
|
if (entry.description)
|
|
1120
|
-
console.log(chalk.dim(` ${
|
|
1110
|
+
console.log(chalk.dim(` ${entry.description}`));
|
|
1121
1111
|
}
|
|
1122
1112
|
console.log(chalk.dim(`\n${entries.length} apps. Connect one with: hq integrations connect <domain>`));
|
|
1123
1113
|
});
|
|
@@ -1137,18 +1127,18 @@ export function registerConnectCommands(integrations) {
|
|
|
1137
1127
|
printJson(blueprint);
|
|
1138
1128
|
return;
|
|
1139
1129
|
}
|
|
1140
|
-
console.log(`${chalk.bold(
|
|
1130
|
+
console.log(`${chalk.bold(blueprint.displayName)} ${chalk.dim(blueprint.domain)}`);
|
|
1141
1131
|
if (blueprint.summary)
|
|
1142
|
-
console.log(chalk.dim(
|
|
1132
|
+
console.log(chalk.dim(blueprint.summary));
|
|
1143
1133
|
for (const surface of blueprint.surfaces) {
|
|
1144
1134
|
const auth = surface.authStatus === "none" ? "no auth" : `auth: ${surface.authStatus}`;
|
|
1145
|
-
console.log(` ${chalk.bold(
|
|
1135
|
+
console.log(` ${chalk.bold(surface.kind)} ${surface.name} ${chalk.dim(`${auth} · ${surface.readiness.strategy}`)}`);
|
|
1146
1136
|
}
|
|
1147
1137
|
for (const credential of blueprint.credentials) {
|
|
1148
|
-
console.log(chalk.dim(` needs: ${
|
|
1138
|
+
console.log(chalk.dim(` needs: ${credential.label}${credential.generateUrl ? ` (${credential.generateUrl})` : ""}`));
|
|
1149
1139
|
}
|
|
1150
1140
|
for (const warning of blueprint.warnings) {
|
|
1151
|
-
console.log(chalk.yellow(` ! ${
|
|
1141
|
+
console.log(chalk.yellow(` ! ${warning.message}`));
|
|
1152
1142
|
}
|
|
1153
1143
|
});
|
|
1154
1144
|
integrations
|
|
@@ -1169,11 +1159,11 @@ export function registerConnectCommands(integrations) {
|
|
|
1169
1159
|
return;
|
|
1170
1160
|
}
|
|
1171
1161
|
const { discovery } = found;
|
|
1172
|
-
console.log(`${chalk.bold(
|
|
1162
|
+
console.log(`${chalk.bold(discovery.displayName)} ${chalk.dim(discovery.mcpUrl)}`);
|
|
1173
1163
|
console.log(chalk.dim(` sign-in: ${discovery.authMode} · ${discovery.verification} · confidence ${discovery.confidence}`));
|
|
1174
1164
|
// Quoted: a docs URL routinely carries `&`, which would background the
|
|
1175
1165
|
// command when pasted, and `;` would run whatever follows it.
|
|
1176
|
-
console.log(chalk.dim(`\nConnect it with: hq integrations connect --docs-url ${shellQuote(
|
|
1166
|
+
console.log(chalk.dim(`\nConnect it with: hq integrations connect --docs-url ${shellQuote(docsUrl)}`));
|
|
1177
1167
|
});
|
|
1178
1168
|
integrations
|
|
1179
1169
|
.command("connect [app]")
|
|
@@ -1187,7 +1177,6 @@ export function registerConnectCommands(integrations) {
|
|
|
1187
1177
|
.option("--display-name <name>", "Display name for a custom --mcp-url")
|
|
1188
1178
|
.option("--token <key>", "API key (prefer --token-stdin: --token lands in shell history)")
|
|
1189
1179
|
.option("--token-stdin", "Read the API key from stdin")
|
|
1190
|
-
.option("--auth-header <name>", "Send the API key in this HTTP header (implies --auth key)")
|
|
1191
1180
|
.option("--auth <mode>", "Force the auth mode: none, key, or oauth (default: detect)")
|
|
1192
1181
|
.option("--client-id <id>", "Client id of an OAuth app you registered with the provider yourself")
|
|
1193
1182
|
.option("--client-secret-stdin", "Read that app's client secret from stdin")
|
|
@@ -1198,10 +1187,6 @@ export function registerConnectCommands(integrations) {
|
|
|
1198
1187
|
.option("--json", "Machine-readable output")
|
|
1199
1188
|
.action(async (app, opts) => {
|
|
1200
1189
|
assertAuthMode(opts.auth);
|
|
1201
|
-
assertAuthHeader(opts.authHeader);
|
|
1202
|
-
if (opts.authHeader && opts.auth !== undefined && opts.auth !== "key") {
|
|
1203
|
-
throw new IntegrationsCliError("--auth-header can only be used with --auth key.", { expected: true });
|
|
1204
|
-
}
|
|
1205
1190
|
const token = await ensureCognitoIdToken();
|
|
1206
1191
|
const companyUid = await getCompanyUid(token, opts.company);
|
|
1207
1192
|
if (await refuseIfAlreadyConnected(token, companyUid, app, opts))
|
|
@@ -1240,8 +1225,8 @@ export function registerConnectCommands(integrations) {
|
|
|
1240
1225
|
if (opts.json)
|
|
1241
1226
|
printJson(details);
|
|
1242
1227
|
else {
|
|
1243
|
-
console.log(chalk.yellow(
|
|
1244
|
-
console.log(chalk.yellow(`Re-add it with: ${
|
|
1228
|
+
console.log(chalk.yellow(details.reason));
|
|
1229
|
+
console.log(chalk.yellow(`Re-add it with: ${details.fixPath}`));
|
|
1245
1230
|
}
|
|
1246
1231
|
return;
|
|
1247
1232
|
}
|
|
@@ -152,10 +152,12 @@ export declare class IntegrationsCliError extends Error {
|
|
|
152
152
|
readonly rpcCode?: number;
|
|
153
153
|
/**
|
|
154
154
|
* HQ's own OAuth callback URL, carried on the errors that say a provider
|
|
155
|
-
* refused to register HQ automatically.
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
155
|
+
* refused to register HQ automatically. It is what the admin must register
|
|
156
|
+
* with the provider before their own OAuth app can be used, and it is NOT a
|
|
157
|
+
* secret — every authorization server already receives it in the authorize
|
|
158
|
+
* URL. Taken from the response rather than assembled locally so the CLI
|
|
159
|
+
* prints the callback this backend will actually redirect to, instead of a
|
|
160
|
+
* guess at its route that would send the admin to register the wrong URL.
|
|
159
161
|
*/
|
|
160
162
|
readonly redirectUri?: string;
|
|
161
163
|
constructor(message: string, opts?: {
|
|
@@ -272,8 +274,6 @@ interface QueuedOutcome {
|
|
|
272
274
|
}
|
|
273
275
|
export declare function queuedOutcome(payload: unknown): QueuedOutcome | null;
|
|
274
276
|
export declare function printJson(value: unknown): void;
|
|
275
|
-
/** Print the successful payload from `hq integrations call` without altering URLs. */
|
|
276
|
-
export declare function printIntegrationCallResultJson(value: unknown): void;
|
|
277
277
|
/**
|
|
278
278
|
* Print why a connection is unusable and how to repair it, directly beneath its
|
|
279
279
|
* status line.
|
|
@@ -12,9 +12,7 @@ import { randomUUID } from "node:crypto";
|
|
|
12
12
|
import chalk from "chalk";
|
|
13
13
|
import { vaultApiFetch } from "../utils/vault-api.js";
|
|
14
14
|
import { AuthError } from "../utils/auth-error.js";
|
|
15
|
-
import { planGateErrorFromPayload } from "../utils/plan-gate-error.js";
|
|
16
15
|
import { redactErrorText } from "../utils/redact-error-text.js";
|
|
17
|
-
import { redactSensitiveUrls, redactUrlsInText } from "../utils/redact-url.js";
|
|
18
16
|
import { connectionHealthNotice } from "../lib/integrations/health.js";
|
|
19
17
|
import { bareProvider } from "../lib/integrations/provider-slug.js";
|
|
20
18
|
export { bareProvider } from "../lib/integrations/provider-slug.js";
|
|
@@ -55,14 +53,16 @@ export class IntegrationsCliError extends Error {
|
|
|
55
53
|
rpcCode;
|
|
56
54
|
/**
|
|
57
55
|
* HQ's own OAuth callback URL, carried on the errors that say a provider
|
|
58
|
-
* refused to register HQ automatically.
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
56
|
+
* refused to register HQ automatically. It is what the admin must register
|
|
57
|
+
* with the provider before their own OAuth app can be used, and it is NOT a
|
|
58
|
+
* secret — every authorization server already receives it in the authorize
|
|
59
|
+
* URL. Taken from the response rather than assembled locally so the CLI
|
|
60
|
+
* prints the callback this backend will actually redirect to, instead of a
|
|
61
|
+
* guess at its route that would send the admin to register the wrong URL.
|
|
62
62
|
*/
|
|
63
63
|
redirectUri;
|
|
64
64
|
constructor(message, opts = {}) {
|
|
65
|
-
super(
|
|
65
|
+
super(message);
|
|
66
66
|
this.name = "IntegrationsCliError";
|
|
67
67
|
this.expected = opts.expected ?? false;
|
|
68
68
|
if (opts.code)
|
|
@@ -73,12 +73,8 @@ export class IntegrationsCliError extends Error {
|
|
|
73
73
|
this.oauthProtected = opts.oauthProtected;
|
|
74
74
|
if (opts.rpcCode !== undefined)
|
|
75
75
|
this.rpcCode = opts.rpcCode;
|
|
76
|
-
if (opts.redirectUri !== undefined)
|
|
77
|
-
|
|
78
|
-
value: opts.redirectUri,
|
|
79
|
-
enumerable: false,
|
|
80
|
-
});
|
|
81
|
-
}
|
|
76
|
+
if (opts.redirectUri !== undefined)
|
|
77
|
+
this.redirectUri = opts.redirectUri;
|
|
82
78
|
}
|
|
83
79
|
}
|
|
84
80
|
/**
|
|
@@ -196,12 +192,6 @@ export async function raiseForResponse(res, fallback) {
|
|
|
196
192
|
raiseIfUnauthorized(res);
|
|
197
193
|
raiseIfUpstreamUnavailable(res);
|
|
198
194
|
const body = (await res.json().catch(() => ({})));
|
|
199
|
-
// A plan-limit 402 is normally decoded by vaultApiFetch before it gets here.
|
|
200
|
-
// Decode it again so no integration route can print the wire token
|
|
201
|
-
// `plan_limit_reached` as its whole message; main.ts renders the typed gate.
|
|
202
|
-
const planGate = planGateErrorFromPayload(res.status, body);
|
|
203
|
-
if (planGate)
|
|
204
|
-
throw planGate;
|
|
205
195
|
// hq-pro mints this error text, so it is untrusted input to a message we
|
|
206
196
|
// print verbatim — scrub credentials out before it can reach a terminal or a
|
|
207
197
|
// Sentry crash report (same reasoning as the gateway path below).
|
|
@@ -483,10 +473,6 @@ export function queuedOutcome(payload) {
|
|
|
483
473
|
return null;
|
|
484
474
|
}
|
|
485
475
|
export function printJson(value) {
|
|
486
|
-
console.log(JSON.stringify(redactSensitiveUrls(value), null, 2));
|
|
487
|
-
}
|
|
488
|
-
/** Print the successful payload from `hq integrations call` without altering URLs. */
|
|
489
|
-
export function printIntegrationCallResultJson(value) {
|
|
490
476
|
console.log(JSON.stringify(value, null, 2));
|
|
491
477
|
}
|
|
492
478
|
/**
|
|
@@ -506,8 +492,8 @@ export function printHealthNotice(connection) {
|
|
|
506
492
|
const notice = connectionHealthNotice(connection);
|
|
507
493
|
if (!notice)
|
|
508
494
|
return;
|
|
509
|
-
console.log(chalk.yellow(` ${
|
|
495
|
+
console.log(chalk.yellow(` ${notice.headline}`));
|
|
510
496
|
if (notice.remediation)
|
|
511
|
-
console.log(chalk.yellow(` ${
|
|
497
|
+
console.log(chalk.yellow(` ${notice.remediation}`));
|
|
512
498
|
}
|
|
513
499
|
//# sourceMappingURL=integrations-core.js.map
|
|
@@ -3,7 +3,7 @@ import { type McpManifest } from "./mcp-registration.js";
|
|
|
3
3
|
export type DesktopConnector = McpManifest & {
|
|
4
4
|
[key: string]: unknown;
|
|
5
5
|
};
|
|
6
|
-
export type ImportStatus = "imported" | "needs-signin" | "shared-for-local" | "
|
|
6
|
+
export type ImportStatus = "imported" | "needs-signin" | "shared-for-local" | "skipped";
|
|
7
7
|
export interface ImportOutcome {
|
|
8
8
|
name: string;
|
|
9
9
|
status: ImportStatus;
|
|
@@ -10,12 +10,10 @@ import * as path from "node:path";
|
|
|
10
10
|
import chalk from "chalk";
|
|
11
11
|
import { ensureCognitoIdToken, ensureCognitoToken, resolveDefaultHqRoot } from "../utils/cognito-session.js";
|
|
12
12
|
import { getCompanyUid, vaultApiFetch } from "../utils/vault-api.js";
|
|
13
|
-
import { redactSensitiveUrl, redactUrlsInText } from "../utils/redact-url.js";
|
|
14
13
|
import { bareProvider, IntegrationsCliError, printJson } from "./integrations-core.js";
|
|
15
14
|
import { installIntegration, startOAuth } from "./integrations-api.js";
|
|
16
15
|
import { loadRevealedSecrets } from "./secrets.js";
|
|
17
16
|
import { registerServer } from "./mcp-registration.js";
|
|
18
|
-
import { personalConnectorSettingsEnabled } from "./personal-connector-settings-flag.js";
|
|
19
17
|
const OAUTH_REQUIRED_CODE = "INTEGRATION_FACTORY_OAUTH_REQUIRED";
|
|
20
18
|
/** Claude Desktop's documented connector-config location for the current OS. */
|
|
21
19
|
export function claudeDesktopConfigPath(platform = process.platform, home = os.homedir(), env = process.env) {
|
|
@@ -150,13 +148,7 @@ function oauthRequired(error) {
|
|
|
150
148
|
function reconnectCommand(name, provider) {
|
|
151
149
|
return `hq integrations reconnect ${name} --provider ${bareProvider(provider)}`;
|
|
152
150
|
}
|
|
153
|
-
function connectorPath(hqRoot,
|
|
154
|
-
if (personal) {
|
|
155
|
-
return path.join(hqRoot, "personal", "settings", "connectors", `${name}.json`);
|
|
156
|
-
}
|
|
157
|
-
if (!company) {
|
|
158
|
-
throw new IntegrationsCliError("A company is required for a shared connector manifest.", { expected: true });
|
|
159
|
-
}
|
|
151
|
+
function connectorPath(hqRoot, company, name) {
|
|
160
152
|
return path.join(hqRoot, "companies", company, "settings", "connectors", `${name}.json`);
|
|
161
153
|
}
|
|
162
154
|
/**
|
|
@@ -179,8 +171,8 @@ async function companyFolderSlug(token, companyUid) {
|
|
|
179
171
|
}
|
|
180
172
|
return folderSlug;
|
|
181
173
|
}
|
|
182
|
-
function writeLocalConnector(hqRoot,
|
|
183
|
-
const target = connectorPath(hqRoot,
|
|
174
|
+
function writeLocalConnector(hqRoot, company, name, entry) {
|
|
175
|
+
const target = connectorPath(hqRoot, company, name);
|
|
184
176
|
fs.mkdirSync(path.dirname(target), { recursive: true });
|
|
185
177
|
fs.writeFileSync(target, `${JSON.stringify(stripConnectorSecrets(entry), null, 2)}\n`, { mode: 0o600 });
|
|
186
178
|
return target;
|
|
@@ -230,31 +222,28 @@ async function importRemote(token, companyUid, name, entry, dryRun) {
|
|
|
230
222
|
function renderOutcomes(outcomes) {
|
|
231
223
|
console.log("Connector Outcome Details");
|
|
232
224
|
for (const outcome of outcomes) {
|
|
233
|
-
console.log(`${
|
|
225
|
+
console.log(`${outcome.name.padEnd(25)} ${outcome.status.padEnd(19)} ${outcome.reason ?? outcome.path ?? ""}`);
|
|
234
226
|
}
|
|
235
|
-
for (const outcome of outcomes.filter((item) => item.status === "shared-for-local"
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
console.log(chalk.dim(` ${label}: ${redactUrlsInText(outcome.path ?? "")}`));
|
|
239
|
-
console.log(chalk.dim(` ${installLabel}: ${redactUrlsInText(outcome.installCommand ?? "")}`));
|
|
227
|
+
for (const outcome of outcomes.filter((item) => item.status === "shared-for-local")) {
|
|
228
|
+
console.log(chalk.dim(` Shared manifest: ${outcome.path}`));
|
|
229
|
+
console.log(chalk.dim(` Teammate install: ${outcome.installCommand}`));
|
|
240
230
|
}
|
|
241
|
-
if (outcomes.some((item) => item.status === "shared-for-local"
|
|
231
|
+
if (outcomes.some((item) => item.status === "shared-for-local")) {
|
|
242
232
|
console.log(chalk.yellow(" Local connector credentials were replaced with ${secret:ENV_NAME}. Set them with `hq secrets` before installing."));
|
|
243
233
|
}
|
|
244
234
|
if (outcomes.some((item) => item.redactedArgumentCredentials)) {
|
|
245
235
|
console.log(chalk.yellow(" Local connector argument credentials were replaced with ${secret:FLAG_NAME}. Set them with `hq secrets` before installing."));
|
|
246
236
|
}
|
|
247
237
|
for (const outcome of outcomes.filter((item) => item.status === "needs-signin")) {
|
|
248
|
-
console.log(chalk.yellow(` ${
|
|
249
|
-
if (outcome.authorizationUrl)
|
|
250
|
-
console.log(chalk.yellow(` Open this URL to sign in:\n ${
|
|
251
|
-
}
|
|
238
|
+
console.log(chalk.yellow(` ${outcome.name} needs sign-in: ${outcome.reason}`));
|
|
239
|
+
if (outcome.authorizationUrl)
|
|
240
|
+
console.log(chalk.yellow(` Open this URL to sign in:\n ${outcome.authorizationUrl}`));
|
|
252
241
|
}
|
|
253
242
|
}
|
|
254
243
|
export function registerImportCommands(integrations) {
|
|
255
244
|
integrations
|
|
256
245
|
.command("import")
|
|
257
|
-
.description("Import Claude Desktop connectors into
|
|
246
|
+
.description("Import Claude Desktop connectors into company Integrations")
|
|
258
247
|
.option("--company <slug>", "Company slug (defaults to your single active company)")
|
|
259
248
|
.option("--dry-run", "Detect and classify connectors without writing or connecting")
|
|
260
249
|
.option("--only <name[,name...]>", "Import only these Claude Desktop connector names")
|
|
@@ -281,7 +270,6 @@ export function registerImportCommands(integrations) {
|
|
|
281
270
|
const outcomes = [];
|
|
282
271
|
let company;
|
|
283
272
|
let hqRoot;
|
|
284
|
-
const personalSettings = personalConnectorSettingsEnabled();
|
|
285
273
|
const localCompany = async () => company ??= await companyFolderSlug(token, companyUid);
|
|
286
274
|
const localHqRoot = () => hqRoot ??= resolveDefaultHqRoot({ onMissing: "throw" });
|
|
287
275
|
const normalizedNames = new Map();
|
|
@@ -307,17 +295,13 @@ export function registerImportCommands(integrations) {
|
|
|
307
295
|
continue;
|
|
308
296
|
}
|
|
309
297
|
if (isLocal(entry)) {
|
|
310
|
-
const resolvedCompany =
|
|
311
|
-
const target = connectorPath(localHqRoot(),
|
|
298
|
+
const resolvedCompany = await localCompany();
|
|
299
|
+
const target = connectorPath(localHqRoot(), resolvedCompany, safeName);
|
|
312
300
|
outcomes.push({
|
|
313
301
|
name,
|
|
314
|
-
status:
|
|
315
|
-
...(opts.dryRun
|
|
316
|
-
|
|
317
|
-
: { path: writeLocalConnector(localHqRoot(), safeName, resolvedCompany, personalSettings, entry) }),
|
|
318
|
-
installCommand: personalSettings
|
|
319
|
-
? `hq integrations install-local ${safeName}`
|
|
320
|
-
: `hq integrations install-local ${safeName} --company ${resolvedCompany}`,
|
|
302
|
+
status: "shared-for-local",
|
|
303
|
+
...(opts.dryRun ? { reason: "would write secret-stripped local manifest" } : { path: writeLocalConnector(localHqRoot(), resolvedCompany, safeName, entry) }),
|
|
304
|
+
installCommand: `hq integrations install-local ${safeName} --company ${resolvedCompany}`,
|
|
321
305
|
...(hasRedactedArgumentCredentials(entry) ? { redactedArgumentCredentials: true } : {}),
|
|
322
306
|
});
|
|
323
307
|
// Keep dry-run output useful without leaking a filesystem write target.
|
|
@@ -338,7 +322,7 @@ export function registerImportCommands(integrations) {
|
|
|
338
322
|
});
|
|
339
323
|
integrations
|
|
340
324
|
.command("install-local <name>")
|
|
341
|
-
.description("
|
|
325
|
+
.description("Register a company-shared local connector in this machine's Claude/Codex MCP config")
|
|
342
326
|
.option("--company <slug>", "Company slug (defaults to your single active company)")
|
|
343
327
|
.option("--json", "Machine-readable registration result")
|
|
344
328
|
.action(async (name, opts) => {
|
|
@@ -348,12 +332,11 @@ export function registerImportCommands(integrations) {
|
|
|
348
332
|
}
|
|
349
333
|
const token = await ensureCognitoToken();
|
|
350
334
|
const companyUid = await getCompanyUid(token, opts.company);
|
|
351
|
-
const
|
|
352
|
-
const company = personalSettings ? undefined : await companyFolderSlug(token, companyUid);
|
|
335
|
+
const company = await companyFolderSlug(token, companyUid);
|
|
353
336
|
const hqRoot = resolveDefaultHqRoot({ onMissing: "throw" });
|
|
354
|
-
const manifestPath = connectorPath(hqRoot,
|
|
337
|
+
const manifestPath = connectorPath(hqRoot, company, safeName);
|
|
355
338
|
if (!fs.existsSync(manifestPath)) {
|
|
356
|
-
throw new IntegrationsCliError(`
|
|
339
|
+
throw new IntegrationsCliError(`Shared connector not found: ${manifestPath}`, { expected: true });
|
|
357
340
|
}
|
|
358
341
|
let manifest;
|
|
359
342
|
try {
|
|
@@ -361,17 +344,15 @@ export function registerImportCommands(integrations) {
|
|
|
361
344
|
}
|
|
362
345
|
catch (error) {
|
|
363
346
|
const message = error instanceof Error ? error.message : String(error);
|
|
364
|
-
throw new IntegrationsCliError(`Could not parse connector
|
|
347
|
+
throw new IntegrationsCliError(`Could not parse shared connector ${manifestPath}: ${message}`, { expected: true });
|
|
365
348
|
}
|
|
366
349
|
const secretNames = [...Object.values({ ...(manifest.env ?? {}), ...(manifest.headers ?? {}) }), ...(manifest.args ?? [])]
|
|
367
350
|
.flatMap((value) => [...value.matchAll(/\$\{secret:([A-Z][A-Z0-9_]*(?:\/[A-Z][A-Z0-9_]*)*)\}/g)].map((match) => match[1]));
|
|
368
|
-
const secrets = await loadRevealedSecrets(token, companyUid, secretNames
|
|
369
|
-
allowOfflineFallback: false,
|
|
370
|
-
});
|
|
351
|
+
const secrets = await loadRevealedSecrets(token, companyUid, secretNames);
|
|
371
352
|
const result = registerServer({
|
|
372
353
|
name: safeName,
|
|
373
354
|
manifest,
|
|
374
|
-
pack:
|
|
355
|
+
pack: `company-${company}-connectors`,
|
|
375
356
|
resolveSecret: (secret) => secrets.get(secret) ?? null,
|
|
376
357
|
});
|
|
377
358
|
if (opts.json)
|