@indigoai-us/hq-cli 5.314.0 → 5.316.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 +4320 -1
- package/README.md +113 -0
- package/assets/bot-workers/setup/context/USER-GUIDE.md +404 -0
- package/assets/bot-workers/setup/context/quick-reference.md +199 -0
- package/assets/bot-workers/setup/skills/agents-and-team.md +167 -0
- package/assets/bot-workers/setup/skills/explain-hq.md +35 -0
- package/assets/bot-workers/setup/skills/first-company.md +74 -0
- package/assets/bot-workers/setup/skills/joining-a-team.md +125 -0
- package/assets/bot-workers/setup/skills/pricing.md +92 -0
- package/assets/bot-workers/setup/skills/standing-help.md +81 -0
- package/assets/bot-workers/setup/skills/your-business.md +281 -0
- package/assets/bot-workers/setup/worker.yaml +791 -0
- package/assets/lanes-hooks/hq-lanes-drain.json +15 -0
- package/assets/lanes-hooks/hq-lanes-drain.mjs +275 -0
- package/assets/lanes-hooks/hq-lanes-drain.sh +21 -0
- package/assets/lanes-reconcile/hq-lanes-reconcile.service +11 -0
- package/assets/lanes-reconcile/hq-lanes-reconcile.timer +12 -0
- package/assets/scaffold/.claude/hooks/validate-policy-frontmatter.sh +485 -0
- package/assets/scaffold/core/scripts/audit-log.sh +384 -0
- package/assets/scaffold/core/scripts/checkpoint-stop-gate.sh +281 -43
- package/assets/scaffold/core/scripts/clean-worktree-reconcile-handoff.sh +171 -0
- package/assets/scaffold/core/scripts/detect-stale-review-base.sh +199 -0
- package/assets/scaffold/core/scripts/eval-trigger.sh +193 -0
- package/assets/scaffold/core/scripts/git-pack-extension-check.sh +164 -0
- package/assets/scaffold/core/scripts/handoff-finalize.sh +688 -0
- package/assets/scaffold/core/scripts/handoff-open-steps.sh +81 -0
- package/assets/scaffold/core/scripts/handoff-post.sh +252 -0
- package/assets/scaffold/core/scripts/hook-lib.sh +345 -50
- package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +307 -0
- package/assets/scaffold/core/scripts/hq-delegate-grant.sh +252 -0
- package/assets/scaffold/core/scripts/hq-delegate-pickup.sh +99 -0
- package/assets/scaffold/core/scripts/hq-delegate-publish.sh +91 -0
- package/assets/scaffold/core/scripts/hq-delegate-repo.sh +158 -0
- package/assets/scaffold/core/scripts/hq-delegate-resolve.sh +145 -0
- package/assets/scaffold/core/scripts/hq-delegate-secrets.sh +129 -0
- package/assets/scaffold/core/scripts/hq-delegate-send.sh +259 -0
- package/assets/scaffold/core/scripts/hq-delegate-transfer.sh +175 -0
- package/assets/scaffold/core/scripts/hq-delegate-verify.sh +238 -0
- package/assets/scaffold/core/scripts/hq-dm-bind.sh +585 -0
- package/assets/scaffold/core/scripts/hq-job-notify.sh +389 -0
- package/assets/scaffold/core/scripts/hq-job-probe.sh +835 -0
- package/assets/scaffold/core/scripts/hq-job-remediate.sh +359 -0
- package/assets/scaffold/core/scripts/hq-job-run.sh +1025 -0
- package/assets/scaffold/core/scripts/hq-pin.sh +118 -0
- package/assets/scaffold/core/scripts/hq-session.sh +184 -23
- package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +310 -0
- package/assets/scaffold/core/scripts/jobs-validate.sh +451 -0
- package/assets/scaffold/core/scripts/knowledge-prefs.sh +55 -0
- package/assets/scaffold/core/scripts/lib/portable.sh +211 -0
- package/assets/scaffold/core/scripts/lib/secret-patterns.sh +58 -0
- package/assets/scaffold/core/scripts/lib/session-id.sh +3 -2
- package/assets/scaffold/core/scripts/lib/session-scope-capability.sh +1 -1
- package/assets/scaffold/core/scripts/lib/work-mesh-enqueue.sh +2 -1
- package/assets/scaffold/core/scripts/lib/work-mesh-live-hook.sh +378 -0
- package/assets/scaffold/core/scripts/lib/work-mesh-live-rebind.sh +141 -0
- package/assets/scaffold/core/scripts/migrate-policy-triggers.sh +378 -0
- package/assets/scaffold/core/scripts/ontology-audience-grant.sh +81 -0
- package/assets/scaffold/core/scripts/ontology-brief.mjs +93 -0
- package/assets/scaffold/core/scripts/ontology-candidate.sh +100 -0
- package/assets/scaffold/core/scripts/ontology-garden.mjs +238 -0
- package/assets/scaffold/core/scripts/ontology-source-worklist.sh +79 -0
- package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +834 -0
- package/assets/scaffold/core/scripts/policy-age-report.sh +156 -0
- package/assets/scaffold/core/scripts/policy-retire.sh +199 -0
- package/assets/scaffold/core/scripts/qmd-reindex-after-sync.sh +10 -87
- package/assets/scaffold/core/scripts/qmd-reindex-bg.sh +40 -0
- package/assets/scaffold/core/scripts/read-policy-frontmatter.sh +32 -0
- package/assets/scaffold/core/scripts/rebuild-company-knowledge-index.sh +36 -3
- package/assets/scaffold/core/scripts/rebuild-projects-index.sh +99 -12
- package/assets/scaffold/core/scripts/refresh-vault-access.sh +188 -0
- package/assets/scaffold/core/scripts/register-project.sh +262 -0
- package/assets/scaffold/core/scripts/repo-run-registry.sh +408 -0
- package/assets/scaffold/core/scripts/resolve-company.sh +199 -0
- package/assets/scaffold/core/scripts/resume-thread-lock.sh +285 -0
- package/assets/scaffold/core/scripts/share-suggestion-state.sh +541 -0
- package/assets/scaffold/core/scripts/source-yaml-validate.sh +36 -0
- package/assets/scaffold/core/scripts/token-usage-report.sh +81 -20
- package/assets/scaffold/core/scripts/verify-story-deliverables.sh +148 -0
- package/assets/scaffold/core/scripts/work-mesh-live-bind-trusted.sh +152 -0
- package/assets/scaffold/core/scripts/work-mesh-live-rebind.sh +59 -0
- package/assets/scaffold/core/scripts/worktree-gc.sh +362 -0
- package/contracts/preflight/v1/fixtures.json +87 -0
- package/contracts/preflight/v1/schema.json +58 -0
- package/dist/bin/hq-auth-refresh.d.ts +2 -0
- package/dist/bin/hq-auth-refresh.js +12 -6
- package/dist/command-catalog.generated.d.ts +10798 -0
- package/dist/command-catalog.generated.js +13915 -0
- package/dist/command-registration-plan.d.ts +474 -0
- package/dist/command-registration-plan.js +136 -0
- package/dist/commands/__fixtures__/access-vault.d.ts +2 -0
- package/dist/commands/__fixtures__/access-vault.js +1 -1
- package/dist/commands/_patterns.d.ts +16 -0
- package/dist/commands/_patterns.js +20 -3
- package/dist/commands/access.d.ts +2 -1
- package/dist/commands/access.js +58 -49
- package/dist/commands/agent-enroll.d.ts +146 -0
- package/dist/commands/agent-enroll.js +401 -0
- package/dist/commands/agent-inbox.d.ts +9 -0
- package/dist/commands/agent-inbox.js +102 -0
- package/dist/commands/agent-kit.d.ts +87 -0
- package/dist/commands/agent-kit.js +480 -0
- package/dist/commands/agent-mcp.d.ts +24 -0
- package/dist/commands/agent-mcp.js +127 -0
- package/dist/commands/agent-probe.d.ts +77 -0
- package/dist/commands/agent-probe.js +335 -0
- package/dist/commands/agent.d.ts +13 -0
- package/dist/commands/agent.js +40 -0
- package/dist/commands/agents.d.ts +106 -4
- package/dist/commands/agents.js +924 -45
- package/dist/commands/auth.d.ts +1 -0
- package/dist/commands/auth.js +189 -19
- package/dist/commands/billing-sponsor.d.ts +83 -0
- package/dist/commands/billing-sponsor.js +344 -0
- package/dist/commands/billing.d.ts +3 -0
- package/dist/commands/billing.js +6 -1
- package/dist/commands/bot-companies.d.ts +40 -0
- package/dist/commands/bot-companies.js +64 -0
- package/dist/commands/bot-continuity.d.ts +28 -0
- package/dist/commands/bot-continuity.js +68 -0
- package/dist/commands/bot-jobs.d.ts +131 -0
- package/dist/commands/bot-jobs.js +474 -0
- package/dist/commands/bot.d.ts +278 -0
- package/dist/commands/bot.js +1982 -0
- package/dist/commands/channels.js +56 -1
- package/dist/commands/cloud-demote.js +3 -2
- package/dist/commands/cloud-provision.d.ts +14 -0
- package/dist/commands/cloud-provision.js +232 -58
- package/dist/commands/cloud-retire.d.ts +51 -0
- package/dist/commands/cloud-retire.js +154 -0
- package/dist/commands/cloud.d.ts +49 -15
- package/dist/commands/cloud.js +357 -122
- package/dist/commands/company-rename-flag.d.ts +4 -0
- package/dist/commands/company-rename-flag.js +7 -0
- package/dist/commands/company-rename.d.ts +4 -0
- package/dist/commands/company-rename.js +90 -0
- package/dist/commands/company-transfer.d.ts +4 -28
- package/dist/commands/company-transfer.js +5 -49
- package/dist/commands/company.js +68 -3
- package/dist/commands/core-audit-log-native.d.ts +9 -0
- package/dist/commands/core-audit-log-native.js +257 -0
- package/dist/commands/core-checkpoint-gate-setting.d.ts +59 -0
- package/dist/commands/core-checkpoint-gate-setting.js +163 -0
- package/dist/commands/core-checkpoint-stop-gate-native.d.ts +34 -0
- package/dist/commands/core-checkpoint-stop-gate-native.js +725 -0
- package/dist/commands/core-checkpoint.d.ts +19 -9
- package/dist/commands/core-checkpoint.js +301 -37
- package/dist/commands/core-command-catalog.d.ts +34 -0
- package/dist/commands/core-command-catalog.js +62 -0
- package/dist/commands/core-company-index-scope-flag.d.ts +3 -0
- package/dist/commands/core-company-index-scope-flag.js +6 -0
- package/dist/commands/core-delegate-w1b.d.ts +10 -0
- package/dist/commands/core-delegate-w1b.js +1219 -0
- package/dist/commands/core-delegate.d.ts +46 -0
- package/dist/commands/core-delegate.js +1040 -0
- package/dist/commands/core-detect-stale-review-base-native.d.ts +23 -0
- package/dist/commands/core-detect-stale-review-base-native.js +178 -0
- package/dist/commands/core-dm-bind-native.d.ts +32 -0
- package/dist/commands/core-dm-bind-native.js +668 -0
- package/dist/commands/core-eval-trigger-native.d.ts +4 -0
- package/dist/commands/core-eval-trigger-native.js +12 -0
- package/dist/commands/core-git-pack-extension-check-native.d.ts +22 -0
- package/dist/commands/core-git-pack-extension-check-native.js +190 -0
- package/dist/commands/core-handoff-fast.d.ts +18 -0
- package/dist/commands/core-handoff-fast.js +104 -0
- package/dist/commands/core-handoff-open-steps.d.ts +21 -0
- package/dist/commands/core-handoff-open-steps.js +264 -0
- package/dist/commands/core-handoff.d.ts +24 -0
- package/dist/commands/core-handoff.js +1144 -0
- package/dist/commands/core-hook-state-helpers-native.d.ts +11 -0
- package/dist/commands/core-hook-state-helpers-native.js +74 -0
- package/dist/commands/core-hq-session-native.d.ts +39 -0
- package/dist/commands/core-hq-session-native.js +579 -0
- package/dist/commands/core-job-native-utils.d.ts +6 -0
- package/dist/commands/core-job-native-utils.js +80 -0
- package/dist/commands/core-job-native.d.ts +5 -0
- package/dist/commands/core-job-native.js +16 -0
- package/dist/commands/core-job-notify-native.d.ts +36 -0
- package/dist/commands/core-job-notify-native.js +359 -0
- package/dist/commands/core-job-probe-native.d.ts +45 -0
- package/dist/commands/core-job-probe-native.js +564 -0
- package/dist/commands/core-job-remediate-native.d.ts +26 -0
- package/dist/commands/core-job-remediate-native.js +374 -0
- package/dist/commands/core-job-remote-launcher.d.ts +7 -0
- package/dist/commands/core-job-remote-launcher.js +51 -0
- package/dist/commands/core-job-run-native.d.ts +47 -0
- package/dist/commands/core-job-run-native.js +1215 -0
- package/dist/commands/core-jobs-native.d.ts +25 -0
- package/dist/commands/core-jobs-native.js +1339 -0
- package/dist/commands/core-knowledge-prefs.d.ts +11 -0
- package/dist/commands/core-knowledge-prefs.js +137 -0
- package/dist/commands/core-migrate-policy-triggers-native.d.ts +21 -0
- package/dist/commands/core-migrate-policy-triggers-native.js +374 -0
- package/dist/commands/core-native-handoff-flag.d.ts +4 -0
- package/dist/commands/core-native-handoff-flag.js +7 -0
- package/dist/commands/core-native-hook-helper-commands.d.ts +4 -0
- package/dist/commands/core-native-hook-helper-commands.js +56 -0
- package/dist/commands/core-native-hook-helpers-flag.d.ts +4 -0
- package/dist/commands/core-native-hook-helpers-flag.js +7 -0
- package/dist/commands/core-native-jobs-flag.d.ts +4 -0
- package/dist/commands/core-native-jobs-flag.js +7 -0
- package/dist/commands/core-native-policy-flag.d.ts +9 -0
- package/dist/commands/core-native-policy-flag.js +12 -0
- package/dist/commands/core-native-session-flag.d.ts +4 -0
- package/dist/commands/core-native-session-flag.js +7 -0
- package/dist/commands/core-native-utilities-flag.d.ts +4 -0
- package/dist/commands/core-native-utilities-flag.js +7 -0
- package/dist/commands/core-native-utilities.d.ts +29 -0
- package/dist/commands/core-native-utilities.js +54 -0
- package/dist/commands/core-native-worker-skills-flag.d.ts +4 -0
- package/dist/commands/core-native-worker-skills-flag.js +7 -0
- package/dist/commands/core-ontology-native.d.ts +17 -0
- package/dist/commands/core-ontology-native.js +916 -0
- package/dist/commands/core-ontology.d.ts +66 -0
- package/dist/commands/core-ontology.js +430 -0
- package/dist/commands/core-pin-native.d.ts +14 -0
- package/dist/commands/core-pin-native.js +236 -0
- package/dist/commands/core-policy-frontmatter.d.ts +8 -0
- package/dist/commands/core-policy-frontmatter.js +52 -0
- package/dist/commands/core-policy.d.ts +14 -0
- package/dist/commands/core-policy.js +1018 -0
- package/dist/commands/core-refresh-vault-access-native.d.ts +20 -0
- package/dist/commands/core-refresh-vault-access-native.js +229 -0
- package/dist/commands/core-register-project-native.d.ts +30 -0
- package/dist/commands/core-register-project-native.js +347 -0
- package/dist/commands/core-repo-run-registry-native.d.ts +19 -0
- package/dist/commands/core-repo-run-registry-native.js +357 -0
- package/dist/commands/core-resolve-company-command.d.ts +4 -0
- package/dist/commands/core-resolve-company-command.js +42 -0
- package/dist/commands/core-resolve-company-native.d.ts +28 -0
- package/dist/commands/core-resolve-company-native.js +408 -0
- package/dist/commands/core-share-suggestion-state-native.d.ts +18 -0
- package/dist/commands/core-share-suggestion-state-native.js +445 -0
- package/dist/commands/core-work-mesh-bind-trusted-native.d.ts +32 -0
- package/dist/commands/core-work-mesh-bind-trusted-native.js +190 -0
- package/dist/commands/core-work-mesh-live-rebind-native.d.ts +18 -0
- package/dist/commands/core-work-mesh-live-rebind-native.js +262 -0
- package/dist/commands/core-worker-lint-native.d.ts +4 -0
- package/dist/commands/core-worker-lint-native.js +160 -0
- package/dist/commands/core-worker-share-native.d.ts +4 -0
- package/dist/commands/core-worker-share-native.js +260 -0
- package/dist/commands/core-worker-skills-command.d.ts +8 -0
- package/dist/commands/core-worker-skills-command.js +33 -0
- package/dist/commands/core-worker-skills-runtime.d.ts +33 -0
- package/dist/commands/core-worker-skills-runtime.js +86 -0
- package/dist/commands/core.d.ts +4 -0
- package/dist/commands/core.js +282 -80
- package/dist/commands/crm.js +52 -3
- package/dist/commands/daemon.d.ts +63 -0
- package/dist/commands/daemon.js +877 -0
- package/dist/commands/db-provision.js +4 -4
- package/dist/commands/db-sql.js +7 -21
- package/dist/commands/deploy-comments.d.ts +3 -0
- package/dist/commands/deploy-comments.js +162 -0
- package/dist/commands/dm.d.ts +119 -12
- package/dist/commands/dm.js +388 -38
- package/dist/commands/doctor.d.ts +12 -0
- package/dist/commands/doctor.js +158 -12
- package/dist/commands/feedback.d.ts +6 -0
- package/dist/commands/feedback.js +86 -37
- package/dist/commands/files-browse.d.ts +32 -12
- package/dist/commands/files-browse.js +176 -60
- package/dist/commands/files.d.ts +17 -0
- package/dist/commands/files.js +300 -47
- package/dist/commands/group-grants.js +3 -2
- package/dist/commands/groups.js +6 -5
- package/dist/commands/index-cmd.d.ts +19 -1
- package/dist/commands/index-cmd.js +74 -7
- package/dist/commands/integrations-api.d.ts +15 -10
- package/dist/commands/integrations-api.js +27 -22
- package/dist/commands/integrations-connect.d.ts +51 -13
- package/dist/commands/integrations-connect.js +86 -71
- package/dist/commands/integrations-core.d.ts +6 -6
- package/dist/commands/integrations-core.js +25 -11
- package/dist/commands/integrations-import.d.ts +1 -1
- package/dist/commands/integrations-import.js +43 -24
- package/dist/commands/integrations-manage.js +20 -13
- package/dist/commands/integrations.d.ts +8 -0
- package/dist/commands/integrations.js +94 -7
- package/dist/commands/lanes-accounts.d.ts +28 -0
- package/dist/commands/lanes-accounts.js +595 -0
- package/dist/commands/lanes-autopilot.d.ts +11 -0
- package/dist/commands/lanes-autopilot.js +336 -0
- package/dist/commands/lanes-checks.d.ts +51 -0
- package/dist/commands/lanes-checks.js +941 -0
- package/dist/commands/lanes-hold.d.ts +43 -0
- package/dist/commands/lanes-hold.js +655 -0
- package/dist/commands/lanes-keep-alive-audit.d.ts +10 -0
- package/dist/commands/lanes-keep-alive-audit.js +19 -0
- package/dist/commands/lanes-kpis.d.ts +11 -0
- package/dist/commands/lanes-kpis.js +34 -0
- package/dist/commands/lanes-message.d.ts +9 -0
- package/dist/commands/lanes-message.js +946 -0
- package/dist/commands/lanes-move.d.ts +12 -0
- package/dist/commands/lanes-move.js +397 -0
- package/dist/commands/lanes-questions.d.ts +36 -0
- package/dist/commands/lanes-questions.js +1005 -0
- package/dist/commands/lanes-report.d.ts +11 -0
- package/dist/commands/lanes-report.js +333 -0
- package/dist/commands/lanes-resume.d.ts +6 -0
- package/dist/commands/lanes-resume.js +564 -0
- package/dist/commands/lanes-review.d.ts +10 -0
- package/dist/commands/lanes-review.js +56 -0
- package/dist/commands/lanes-shared.d.ts +449 -0
- package/dist/commands/lanes-shared.js +170 -0
- package/dist/commands/lanes-stories.d.ts +15 -0
- package/dist/commands/lanes-stories.js +347 -0
- package/dist/commands/lanes-watch.d.ts +7 -0
- package/dist/commands/lanes-watch.js +216 -0
- package/dist/commands/lanes.d.ts +149 -0
- package/dist/commands/lanes.js +9013 -0
- package/dist/commands/login.js +49 -6
- package/dist/commands/mcp-registration.d.ts +32 -25
- package/dist/commands/mcp-registration.js +256 -23
- package/dist/commands/mcp-status.js +1 -0
- package/dist/commands/meetings.js +55 -34
- package/dist/commands/members.js +5 -1
- package/dist/commands/mesh.d.ts +11 -0
- package/dist/commands/mesh.js +1086 -76
- package/dist/commands/monitor.d.ts +58 -0
- package/dist/commands/monitor.js +980 -0
- package/dist/commands/onboard-bot-membership.d.ts +32 -0
- package/dist/commands/onboard-bot-membership.js +40 -0
- package/dist/commands/onboard-create-identity.d.ts +26 -0
- package/dist/commands/onboard-create-identity.js +23 -0
- package/dist/commands/onboard-identity-guard.d.ts +1 -1
- package/dist/commands/onboard.js +24 -5
- package/dist/commands/outpost-pruner.d.ts +3 -0
- package/dist/commands/outpost-pruner.js +125 -0
- package/dist/commands/pack-install.js +3 -1
- package/dist/commands/packs.js +11 -1
- package/dist/commands/people.d.ts +4 -0
- package/dist/commands/people.js +37 -3
- package/dist/commands/personal-connector-settings-flag.d.ts +4 -0
- package/dist/commands/personal-connector-settings-flag.js +7 -0
- package/dist/commands/personal-targeted-push-flag.d.ts +4 -0
- package/dist/commands/personal-targeted-push-flag.js +7 -0
- package/dist/commands/personal-targeted-push-paths.d.ts +3 -0
- package/dist/commands/personal-targeted-push-paths.js +67 -0
- package/dist/commands/publish.d.ts +8 -1
- package/dist/commands/publish.js +17 -4
- package/dist/commands/reindex.js +56 -6
- package/dist/commands/report.d.ts +19 -0
- package/dist/commands/report.js +537 -0
- package/dist/commands/rescue.d.ts +4 -0
- package/dist/commands/rescue.js +27 -17
- package/dist/commands/run-feature-telemetry.d.ts +3 -0
- package/dist/commands/run-feature-telemetry.js +6 -0
- package/dist/commands/run.js +18 -4
- package/dist/commands/safe-extract.d.ts +11 -2
- package/dist/commands/safe-extract.js +36 -8
- package/dist/commands/secrets.d.ts +20 -2
- package/dist/commands/secrets.js +175 -71
- package/dist/commands/skill.d.ts +35 -4
- package/dist/commands/skill.js +357 -18
- package/dist/commands/staff/reset-test-account.d.ts +110 -0
- package/dist/commands/staff/reset-test-account.js +268 -0
- package/dist/commands/staff/test-account.d.ts +51 -0
- package/dist/commands/staff/test-account.js +196 -0
- package/dist/commands/sync-mode.d.ts +11 -0
- package/dist/commands/sync-mode.js +30 -0
- package/dist/commands/sync-narrow.js +36 -5
- package/dist/commands/team-sync.js +71 -10
- package/dist/commands/update.js +6 -0
- package/dist/commands/vault-retention-flag.d.ts +3 -0
- package/dist/commands/vault-retention-flag.js +9 -0
- package/dist/commands/vault-retention.d.ts +11 -0
- package/dist/commands/vault-retention.js +69 -0
- package/dist/commands/version.d.ts +10 -0
- package/dist/commands/version.js +11 -0
- package/dist/commands/whoami.d.ts +22 -0
- package/dist/commands/whoami.js +137 -4
- package/dist/commands/workers.d.ts +2 -14
- package/dist/commands/workers.js +7 -10
- package/dist/fast-core.d.ts +7 -7
- package/dist/fast-core.js +91 -24
- package/dist/fast-scaffold.d.ts +86 -0
- package/dist/fast-scaffold.js +381 -0
- package/dist/index.d.ts +3 -4
- package/dist/index.js +59 -9
- package/dist/lanes-drain-hook.d.ts +14 -0
- package/dist/lanes-drain-hook.js +203 -0
- package/dist/lazy-commands.d.ts +20 -44
- package/dist/lazy-commands.js +60 -58
- package/dist/lib/agent-kit/adopt-identity.d.ts +27 -0
- package/dist/lib/agent-kit/adopt-identity.js +60 -0
- package/dist/lib/agent-kit/attachment-download.d.ts +24 -0
- package/dist/lib/agent-kit/attachment-download.js +47 -0
- package/dist/lib/agent-kit/creds.d.ts +106 -0
- package/dist/lib/agent-kit/creds.js +163 -0
- package/dist/lib/agent-kit/fallback.d.ts +78 -0
- package/dist/lib/agent-kit/fallback.js +210 -0
- package/dist/lib/agent-kit/inbox-state.d.ts +83 -0
- package/dist/lib/agent-kit/inbox-state.js +159 -0
- package/dist/lib/agent-kit/kit-config.d.ts +56 -0
- package/dist/lib/agent-kit/kit-config.js +65 -0
- package/dist/lib/agent-kit/log.d.ts +16 -0
- package/dist/lib/agent-kit/log.js +46 -0
- package/dist/lib/agent-kit/mcp/attachments.d.ts +126 -0
- package/dist/lib/agent-kit/mcp/attachments.js +222 -0
- package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +75 -0
- package/dist/lib/agent-kit/mcp/jsonrpc.js +164 -0
- package/dist/lib/agent-kit/mcp/tools.d.ts +64 -0
- package/dist/lib/agent-kit/mcp/tools.js +397 -0
- package/dist/lib/agent-kit/paths.d.ts +65 -0
- package/dist/lib/agent-kit/paths.js +118 -0
- package/dist/lib/agent-kit/private-file.d.ts +29 -0
- package/dist/lib/agent-kit/private-file.js +91 -0
- package/dist/lib/agent-kit/run/heartbeat.d.ts +72 -0
- package/dist/lib/agent-kit/run/heartbeat.js +128 -0
- package/dist/lib/agent-kit/run/inbox.d.ts +76 -0
- package/dist/lib/agent-kit/run/inbox.js +205 -0
- package/dist/lib/agent-kit/run/supervisor.d.ts +35 -0
- package/dist/lib/agent-kit/run/supervisor.js +85 -0
- package/dist/lib/agent-kit/run/sync.d.ts +33 -0
- package/dist/lib/agent-kit/run/sync.js +58 -0
- package/dist/lib/agent-kit/services.d.ts +31 -0
- package/dist/lib/agent-kit/services.js +55 -0
- package/dist/lib/agent-kit/skills.d.ts +18 -0
- package/dist/lib/agent-kit/skills.js +151 -0
- package/dist/lib/agent-kit/wake.d.ts +83 -0
- package/dist/lib/agent-kit/wake.js +243 -0
- package/dist/lib/agents/model-catalog.d.ts +62 -0
- package/dist/lib/agents/model-catalog.js +275 -0
- package/dist/lib/auth-login-provider-state.d.ts +8 -0
- package/dist/lib/auth-login-provider-state.js +63 -0
- package/dist/lib/aws-sdk-node-warning-output.d.ts +12 -0
- package/dist/lib/aws-sdk-node-warning-output.js +22 -0
- package/dist/lib/billing/free-month.d.ts +18 -0
- package/dist/lib/billing/free-month.js +31 -0
- package/dist/lib/billing/plan-limit-refusals.d.ts +69 -0
- package/dist/lib/billing/plan-limit-refusals.js +187 -0
- package/dist/lib/billing/plan-limit-upgrade-url.d.ts +11 -0
- package/dist/lib/billing/plan-limit-upgrade-url.js +66 -0
- package/dist/lib/billing/plan-lock.d.ts +143 -0
- package/dist/lib/billing/plan-lock.js +439 -0
- package/dist/lib/bot/api.d.ts +349 -0
- package/dist/lib/bot/api.js +316 -0
- package/dist/lib/bot/attachments.d.ts +45 -0
- package/dist/lib/bot/attachments.js +89 -0
- package/dist/lib/bot/cli-update.d.ts +138 -0
- package/dist/lib/bot/cli-update.js +278 -0
- package/dist/lib/bot/company-bind.d.ts +27 -0
- package/dist/lib/bot/company-bind.js +62 -0
- package/dist/lib/bot/config.d.ts +153 -0
- package/dist/lib/bot/config.js +233 -0
- package/dist/lib/bot/continuity-download.d.ts +28 -0
- package/dist/lib/bot/continuity-download.js +75 -0
- package/dist/lib/bot/continuity-install.d.ts +14 -0
- package/dist/lib/bot/continuity-install.js +101 -0
- package/dist/lib/bot/continuity.d.ts +67 -0
- package/dist/lib/bot/continuity.js +301 -0
- package/dist/lib/bot/creds.d.ts +24 -0
- package/dist/lib/bot/creds.js +51 -0
- package/dist/lib/bot/daemon.d.ts +173 -0
- package/dist/lib/bot/daemon.js +552 -0
- package/dist/lib/bot/inbox-poll-backoff-flag.d.ts +24 -0
- package/dist/lib/bot/inbox-poll-backoff-flag.js +135 -0
- package/dist/lib/bot/inbox-state.d.ts +18 -0
- package/dist/lib/bot/inbox-state.js +51 -0
- package/dist/lib/bot/index.d.ts +23 -0
- package/dist/lib/bot/index.js +23 -0
- package/dist/lib/bot/inflight.d.ts +119 -0
- package/dist/lib/bot/inflight.js +83 -0
- package/dist/lib/bot/job-completions.d.ts +89 -0
- package/dist/lib/bot/job-completions.js +132 -0
- package/dist/lib/bot/job-quiet-flag.d.ts +4 -0
- package/dist/lib/bot/job-quiet-flag.js +14 -0
- package/dist/lib/bot/job-run.d.ts +114 -0
- package/dist/lib/bot/job-run.js +266 -0
- package/dist/lib/bot/local-config.d.ts +61 -0
- package/dist/lib/bot/local-config.js +145 -0
- package/dist/lib/bot/local-jobs.d.ts +89 -0
- package/dist/lib/bot/local-jobs.js +459 -0
- package/dist/lib/bot/local-name.d.ts +54 -0
- package/dist/lib/bot/local-name.js +114 -0
- package/dist/lib/bot/log.d.ts +13 -0
- package/dist/lib/bot/log.js +59 -0
- package/dist/lib/bot/owner-context.d.ts +79 -0
- package/dist/lib/bot/owner-context.js +175 -0
- package/dist/lib/bot/paths.d.ts +76 -0
- package/dist/lib/bot/paths.js +131 -0
- package/dist/lib/bot/progress.d.ts +132 -0
- package/dist/lib/bot/progress.js +289 -0
- package/dist/lib/bot/promote.d.ts +16 -0
- package/dist/lib/bot/promote.js +106 -0
- package/dist/lib/bot/promotion-hold.d.ts +24 -0
- package/dist/lib/bot/promotion-hold.js +103 -0
- package/dist/lib/bot/promotion-receipt.d.ts +9 -0
- package/dist/lib/bot/promotion-receipt.js +56 -0
- package/dist/lib/bot/promotion-upload.d.ts +16 -0
- package/dist/lib/bot/promotion-upload.js +80 -0
- package/dist/lib/bot/prompt.d.ts +136 -0
- package/dist/lib/bot/prompt.js +433 -0
- package/dist/lib/bot/room-policy.d.ts +63 -0
- package/dist/lib/bot/room-policy.js +91 -0
- package/dist/lib/bot/run.d.ts +219 -0
- package/dist/lib/bot/run.js +1881 -0
- package/dist/lib/bot/runnable.d.ts +51 -0
- package/dist/lib/bot/runnable.js +65 -0
- package/dist/lib/bot/runtime/claude.d.ts +50 -0
- package/dist/lib/bot/runtime/claude.js +170 -0
- package/dist/lib/bot/runtime/codex.d.ts +28 -0
- package/dist/lib/bot/runtime/codex.js +153 -0
- package/dist/lib/bot/runtime/grok-acp.d.ts +40 -0
- package/dist/lib/bot/runtime/grok-acp.js +265 -0
- package/dist/lib/bot/runtime/grok.d.ts +41 -0
- package/dist/lib/bot/runtime/grok.js +169 -0
- package/dist/lib/bot/runtime/index.d.ts +36 -0
- package/dist/lib/bot/runtime/index.js +417 -0
- package/dist/lib/bot/runtime/messages-stream.d.ts +56 -0
- package/dist/lib/bot/runtime/messages-stream.js +194 -0
- package/dist/lib/bot/runtime/sanitize.d.ts +18 -0
- package/dist/lib/bot/runtime/sanitize.js +28 -0
- package/dist/lib/bot/runtime/types.d.ts +159 -0
- package/dist/lib/bot/runtime/types.js +51 -0
- package/dist/lib/bot/runtime/windows.d.ts +10 -0
- package/dist/lib/bot/runtime/windows.js +53 -0
- package/dist/lib/bot/runtime-sign-in.d.ts +24 -0
- package/dist/lib/bot/runtime-sign-in.js +31 -0
- package/dist/lib/bot/scaffold.d.ts +38 -0
- package/dist/lib/bot/scaffold.js +94 -0
- package/dist/lib/bot/self-heal.d.ts +52 -0
- package/dist/lib/bot/self-heal.js +79 -0
- package/dist/lib/bot/self-process.d.ts +19 -0
- package/dist/lib/bot/self-process.js +35 -0
- package/dist/lib/bot/session.d.ts +19 -0
- package/dist/lib/bot/session.js +39 -0
- package/dist/lib/bot/setup-explain.d.ts +64 -0
- package/dist/lib/bot/setup-explain.js +141 -0
- package/dist/lib/bot/split.d.ts +32 -0
- package/dist/lib/bot/split.js +241 -0
- package/dist/lib/bot/status.d.ts +57 -0
- package/dist/lib/bot/status.js +66 -0
- package/dist/lib/bot/worker-source.d.ts +66 -0
- package/dist/lib/bot/worker-source.js +283 -0
- package/dist/lib/checkpoint-ontology/aliases.d.ts +17 -0
- package/dist/lib/checkpoint-ontology/aliases.js +44 -0
- package/dist/lib/checkpoint-ontology/apply.d.ts +110 -0
- package/dist/lib/checkpoint-ontology/apply.js +777 -0
- package/dist/lib/checkpoint-ontology/company-brief.d.ts +18 -0
- package/dist/lib/checkpoint-ontology/company-brief.js +337 -0
- package/dist/lib/checkpoint-ontology/company.d.ts +44 -0
- package/dist/lib/checkpoint-ontology/company.js +118 -0
- package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +41 -0
- package/dist/lib/checkpoint-ontology/drop-aliases.js +76 -0
- package/dist/lib/checkpoint-ontology/entity-file.d.ts +109 -0
- package/dist/lib/checkpoint-ontology/entity-file.js +371 -0
- package/dist/lib/checkpoint-ontology/identity.d.ts +38 -0
- package/dist/lib/checkpoint-ontology/identity.js +95 -0
- package/dist/lib/checkpoint-ontology/merge-copies.d.ts +199 -0
- package/dist/lib/checkpoint-ontology/merge-copies.js +1086 -0
- package/dist/lib/checkpoint-ontology/multi-writer.d.ts +101 -0
- package/dist/lib/checkpoint-ontology/multi-writer.js +394 -0
- package/dist/lib/checkpoint-ontology/plan.d.ts +193 -0
- package/dist/lib/checkpoint-ontology/plan.js +504 -0
- package/dist/lib/checkpoint-ontology/queued-touches.d.ts +29 -0
- package/dist/lib/checkpoint-ontology/queued-touches.js +193 -0
- package/dist/lib/checkpoint-ontology/sync-client.d.ts +38 -0
- package/dist/lib/checkpoint-ontology/sync-client.js +84 -0
- package/dist/lib/checkpoint-ontology/tree.d.ts +55 -0
- package/dist/lib/checkpoint-ontology/tree.js +198 -0
- package/dist/lib/company-errors-sdk-warning-flag.d.ts +5 -0
- package/dist/lib/company-errors-sdk-warning-flag.js +8 -0
- package/dist/lib/company-skill-wrapper.d.ts +1 -0
- package/dist/lib/company-skill-wrapper.js +121 -29
- package/dist/lib/core-utils/codex-skill-bridge.d.ts +2 -1
- package/dist/lib/core-utils/common.d.ts +0 -1
- package/dist/lib/core-utils/common.js +0 -9
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.d.ts +20 -0
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.js +81 -0
- package/dist/lib/core-utils/jq-json-serializer.d.ts +5 -0
- package/dist/lib/core-utils/jq-json-serializer.js +10 -0
- package/dist/lib/core-utils/qmd-reindex-after-sync.d.ts +14 -1
- package/dist/lib/core-utils/qmd-reindex-after-sync.js +101 -17
- package/dist/lib/core-utils/secret-patterns.d.ts +43 -0
- package/dist/lib/core-utils/secret-patterns.js +34 -0
- package/dist/lib/core-utils/sentry-report.d.ts +114 -0
- package/dist/lib/core-utils/sentry-report.js +1055 -0
- package/dist/lib/core-utils/soft-timeout.js +1 -1
- package/dist/lib/core-utils/timeout-guard-native.d.ts +7 -0
- package/dist/lib/core-utils/timeout-guard-native.js +40 -0
- package/dist/lib/core-utils/timeout-guard.d.ts +3 -3
- package/dist/lib/core-utils/timeout-guard.js +28 -13
- package/dist/lib/core-utils/token-usage-report.js +17 -3
- package/dist/lib/core-utils/worktree-resume.d.ts +20 -0
- package/dist/lib/core-utils/worktree-resume.js +1198 -0
- package/dist/lib/daemon/catalog.d.ts +134 -0
- package/dist/lib/daemon/catalog.js +358 -0
- package/dist/lib/daemon/config.d.ts +35 -0
- package/dist/lib/daemon/config.js +108 -0
- package/dist/lib/daemon/flag.d.ts +25 -0
- package/dist/lib/daemon/flag.js +59 -0
- package/dist/lib/daemon/handoff.d.ts +56 -0
- package/dist/lib/daemon/handoff.js +161 -0
- package/dist/lib/daemon/hq-cloud.d.ts +79 -0
- package/dist/lib/daemon/hq-cloud.js +183 -0
- package/dist/lib/daemon/install.d.ts +85 -0
- package/dist/lib/daemon/install.js +320 -0
- package/dist/lib/daemon/legacy-sync-env.d.ts +10 -0
- package/dist/lib/daemon/legacy-sync-env.js +58 -0
- package/dist/lib/daemon/legacy.d.ts +45 -0
- package/dist/lib/daemon/legacy.js +133 -0
- package/dist/lib/daemon/lock.d.ts +47 -0
- package/dist/lib/daemon/lock.js +138 -0
- package/dist/lib/daemon/machine-type.d.ts +50 -0
- package/dist/lib/daemon/machine-type.js +159 -0
- package/dist/lib/daemon/migrate.d.ts +77 -0
- package/dist/lib/daemon/migrate.js +265 -0
- package/dist/lib/daemon/paths.d.ts +24 -0
- package/dist/lib/daemon/paths.js +43 -0
- package/dist/lib/daemon/protocol-tail.d.ts +33 -0
- package/dist/lib/daemon/protocol-tail.js +131 -0
- package/dist/lib/daemon/remote-control.d.ts +74 -0
- package/dist/lib/daemon/remote-control.js +153 -0
- package/dist/lib/daemon/requests.d.ts +28 -0
- package/dist/lib/daemon/requests.js +65 -0
- package/dist/lib/daemon/run.d.ts +79 -0
- package/dist/lib/daemon/run.js +755 -0
- package/dist/lib/daemon/succession.d.ts +118 -0
- package/dist/lib/daemon/succession.js +263 -0
- package/dist/lib/daemon/supervisor.d.ts +132 -0
- package/dist/lib/daemon/supervisor.js +836 -0
- package/dist/lib/daemon/sync-runner.d.ts +58 -0
- package/dist/lib/daemon/sync-runner.js +277 -0
- package/dist/lib/daemon/tools.d.ts +52 -0
- package/dist/lib/daemon/tools.js +95 -0
- package/dist/lib/daemon/updater.d.ts +57 -0
- package/dist/lib/daemon/updater.js +163 -0
- package/dist/lib/db/control-plane.js +6 -0
- package/dist/lib/db/local.d.ts +0 -5
- package/dist/lib/db/local.js +1 -1
- package/dist/lib/db/migrate.d.ts +0 -12
- 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 +0 -10
- package/dist/lib/db/sql.js +4 -8
- package/dist/lib/deploy-api.d.ts +5 -0
- package/dist/lib/deploy-api.js +21 -0
- package/dist/lib/deploy-apps.d.ts +13 -0
- package/dist/lib/deploy-apps.js +29 -0
- 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/__testing__/run-doctor.d.ts +8 -0
- package/dist/lib/doctor/__testing__/run-doctor.js +52 -0
- package/dist/lib/doctor/checks/bots.d.ts +13 -0
- package/dist/lib/doctor/checks/bots.js +189 -0
- package/dist/lib/doctor/checks/claude-wiring.js +70 -1
- package/dist/lib/doctor/checks/codex-wiring.d.ts +0 -4
- package/dist/lib/doctor/checks/codex-wiring.js +3 -35
- package/dist/lib/doctor/checks/grok-wiring.js +1 -34
- package/dist/lib/doctor/checks/integrations.js +11 -0
- package/dist/lib/doctor/checks/runtime-health.d.ts +4 -17
- package/dist/lib/doctor/checks/runtime-health.js +20 -7
- package/dist/lib/doctor/checks/scaffold-cli-floor.d.ts +6 -0
- package/dist/lib/doctor/checks/scaffold-cli-floor.js +73 -0
- package/dist/lib/doctor/checks/sync-health.d.ts +21 -0
- package/dist/lib/doctor/checks/sync-health.js +72 -2
- package/dist/lib/doctor/checks/sync-runtime.d.ts +11 -0
- package/dist/lib/doctor/checks/sync-runtime.js +216 -0
- package/dist/lib/doctor/checks/work-context.js +20 -6
- package/dist/lib/doctor/client-health-flag-token.d.ts +15 -0
- package/dist/lib/doctor/client-health-flag-token.js +66 -0
- package/dist/lib/doctor/client-health-reason-codes-flag.d.ts +27 -0
- package/dist/lib/doctor/client-health-reason-codes-flag.js +106 -0
- package/dist/lib/doctor/compat.d.ts +0 -16
- package/dist/lib/doctor/compat.js +4 -3
- package/dist/lib/doctor/deep/effects.js +1 -3
- package/dist/lib/doctor/deep/executor.d.ts +4 -10
- package/dist/lib/doctor/deep/executor.js +1 -1
- package/dist/lib/doctor/deep/parity.d.ts +2 -29
- package/dist/lib/doctor/deep/parity.js +7 -7
- package/dist/lib/doctor/deep/sandbox.d.ts +7 -25
- package/dist/lib/doctor/deep/sandbox.js +5 -7
- package/dist/lib/doctor/fix/apply.d.ts +79 -8
- package/dist/lib/doctor/fix/apply.js +292 -80
- package/dist/lib/doctor/fix/json-output.d.ts +28 -0
- package/dist/lib/doctor/fix/json-output.js +33 -0
- package/dist/lib/doctor/fix/refresh-sync-outcome.d.ts +12 -0
- package/dist/lib/doctor/fix/refresh-sync-outcome.js +25 -0
- package/dist/lib/doctor/fix/remediation.d.ts +14 -6
- package/dist/lib/doctor/fix/remediation.js +49 -9
- package/dist/lib/doctor/fixtures/schema.js +1 -3
- package/dist/lib/doctor/json-output.d.ts +17 -1
- package/dist/lib/doctor/json-output.js +7 -2
- package/dist/lib/doctor/platform.d.ts +0 -26
- package/dist/lib/doctor/platform.js +5 -5
- package/dist/lib/doctor/registry.d.ts +14 -0
- package/dist/lib/doctor/registry.js +71 -0
- package/dist/lib/doctor/report.js +1 -1
- package/dist/lib/doctor/shared.d.ts +8 -0
- package/dist/lib/doctor/shared.js +38 -0
- package/dist/lib/doctor/stray-gate-entries.d.ts +35 -0
- package/dist/lib/doctor/stray-gate-entries.js +83 -0
- package/dist/lib/doctor/types.d.ts +5 -0
- package/dist/lib/doctor/types.js +20 -0
- package/dist/lib/first-sync-next-step.d.ts +34 -0
- package/dist/lib/first-sync-next-step.js +179 -0
- package/dist/lib/flag-registry-endpoint.d.ts +5 -0
- package/dist/lib/flag-registry-endpoint.js +9 -0
- package/dist/lib/flag-registry-worker-source.generated.d.ts +2 -0
- package/dist/lib/flag-registry-worker-source.generated.js +3 -0
- package/dist/lib/flag-registry-worker.js +12 -1
- package/dist/lib/flag-registry.d.ts +26 -6
- package/dist/lib/flag-registry.js +133 -16
- package/dist/lib/flag-snapshot-file.d.ts +20 -0
- package/dist/lib/flag-snapshot-file.js +91 -0
- package/dist/lib/heartbeat-identity.d.ts +30 -0
- package/dist/lib/heartbeat-identity.js +76 -0
- package/dist/lib/index-render/companies.d.ts +4 -1
- package/dist/lib/index-render/companies.js +66 -3
- package/dist/lib/index-render/company-knowledge.js +80 -17
- package/dist/lib/index-render/index.d.ts +1 -0
- package/dist/lib/index-render/index.js +2 -1
- package/dist/lib/index-render/projects.js +82 -5
- package/dist/lib/index-render/shared.d.ts +13 -1
- package/dist/lib/index-render/shared.js +41 -2
- package/dist/lib/lanes/account-home.d.ts +8 -0
- package/dist/lib/lanes/account-home.js +10 -0
- package/dist/lib/lanes/accounts.d.ts +117 -0
- package/dist/lib/lanes/accounts.js +366 -0
- package/dist/lib/lanes/admission-host.d.ts +22 -0
- package/dist/lib/lanes/admission-host.js +37 -0
- package/dist/lib/lanes/admission.d.ts +26 -0
- package/dist/lib/lanes/admission.js +210 -0
- package/dist/lib/lanes/approval-gate.d.ts +8 -0
- package/dist/lib/lanes/approval-gate.js +90 -0
- package/dist/lib/lanes/autopilot-metrics.d.ts +99 -0
- package/dist/lib/lanes/autopilot-metrics.js +301 -0
- package/dist/lib/lanes/autopilot-registry.d.ts +62 -0
- package/dist/lib/lanes/autopilot-registry.js +192 -0
- package/dist/lib/lanes/autopilot.d.ts +137 -0
- package/dist/lib/lanes/autopilot.js +1291 -0
- package/dist/lib/lanes/blocker-freshness.d.ts +31 -0
- package/dist/lib/lanes/blocker-freshness.js +168 -0
- package/dist/lib/lanes/checked-company-path.d.ts +3 -0
- package/dist/lib/lanes/checked-company-path.js +39 -0
- package/dist/lib/lanes/claude-balance.d.ts +97 -0
- package/dist/lib/lanes/claude-balance.js +319 -0
- package/dist/lib/lanes/compaction.d.ts +110 -0
- package/dist/lib/lanes/compaction.js +293 -0
- package/dist/lib/lanes/config.d.ts +94 -0
- package/dist/lib/lanes/config.js +606 -0
- package/dist/lib/lanes/constants.d.ts +3 -0
- package/dist/lib/lanes/constants.js +3 -0
- package/dist/lib/lanes/delivery-core.d.ts +15 -0
- package/dist/lib/lanes/delivery-core.js +21 -0
- package/dist/lib/lanes/delivery.d.ts +180 -0
- package/dist/lib/lanes/delivery.js +443 -0
- package/dist/lib/lanes/disk-guard.d.ts +65 -0
- package/dist/lib/lanes/disk-guard.js +172 -0
- package/dist/lib/lanes/dropbox.d.ts +129 -0
- package/dist/lib/lanes/dropbox.js +601 -0
- package/dist/lib/lanes/effort.d.ts +51 -0
- package/dist/lib/lanes/effort.js +113 -0
- package/dist/lib/lanes/envelope-repair-dispatch.d.ts +26 -0
- package/dist/lib/lanes/envelope-repair-dispatch.js +74 -0
- package/dist/lib/lanes/errors.d.ts +39 -0
- package/dist/lib/lanes/errors.js +72 -0
- package/dist/lib/lanes/flag-keys.d.ts +25 -0
- package/dist/lib/lanes/flag-keys.js +25 -0
- package/dist/lib/lanes/grants.d.ts +30 -0
- package/dist/lib/lanes/grants.js +171 -0
- package/dist/lib/lanes/hire-grant-dispatch.d.ts +29 -0
- package/dist/lib/lanes/hire-grant-dispatch.js +315 -0
- package/dist/lib/lanes/hooks-install.d.ts +82 -0
- package/dist/lib/lanes/hooks-install.js +555 -0
- package/dist/lib/lanes/host-capacity.d.ts +69 -0
- package/dist/lib/lanes/host-capacity.js +254 -0
- package/dist/lib/lanes/hq-root.d.ts +19 -0
- package/dist/lib/lanes/hq-root.js +28 -0
- package/dist/lib/lanes/index.d.ts +76 -0
- package/dist/lib/lanes/index.js +42 -0
- package/dist/lib/lanes/keep-alive-audit.d.ts +47 -0
- package/dist/lib/lanes/keep-alive-audit.js +370 -0
- package/dist/lib/lanes/keep-alive.d.ts +68 -0
- package/dist/lib/lanes/keep-alive.js +343 -0
- package/dist/lib/lanes/kr-freshness.d.ts +76 -0
- package/dist/lib/lanes/kr-freshness.js +413 -0
- package/dist/lib/lanes/lane-company.d.ts +10 -0
- package/dist/lib/lanes/lane-company.js +41 -0
- package/dist/lib/lanes/liveness.d.ts +108 -0
- package/dist/lib/lanes/liveness.js +396 -0
- package/dist/lib/lanes/machine-identity.d.ts +34 -0
- package/dist/lib/lanes/machine-identity.js +92 -0
- package/dist/lib/lanes/manager-status-gate.d.ts +17 -0
- package/dist/lib/lanes/manager-status-gate.js +133 -0
- package/dist/lib/lanes/merge-command.d.ts +15 -0
- package/dist/lib/lanes/merge-command.js +629 -0
- package/dist/lib/lanes/mesh-events.d.ts +127 -0
- package/dist/lib/lanes/mesh-events.js +564 -0
- package/dist/lib/lanes/message-replay.d.ts +21 -0
- package/dist/lib/lanes/message-replay.js +122 -0
- package/dist/lib/lanes/models.d.ts +86 -0
- package/dist/lib/lanes/models.js +234 -0
- package/dist/lib/lanes/monitor.d.ts +48 -0
- package/dist/lib/lanes/monitor.js +428 -0
- package/dist/lib/lanes/move-account.d.ts +56 -0
- package/dist/lib/lanes/move-account.js +193 -0
- package/dist/lib/lanes/orphans.d.ts +25 -0
- package/dist/lib/lanes/orphans.js +102 -0
- package/dist/lib/lanes/outpost-dispatch.d.ts +156 -0
- package/dist/lib/lanes/outpost-dispatch.js +293 -0
- package/dist/lib/lanes/outpost-hire-cache.d.ts +22 -0
- package/dist/lib/lanes/outpost-hire-cache.js +153 -0
- package/dist/lib/lanes/outpost-identity.d.ts +33 -0
- package/dist/lib/lanes/outpost-identity.js +59 -0
- package/dist/lib/lanes/outpost-profile-repin.d.ts +17 -0
- package/dist/lib/lanes/outpost-profile-repin.js +84 -0
- package/dist/lib/lanes/outpost-pruner-install.d.ts +37 -0
- package/dist/lib/lanes/outpost-pruner-install.js +238 -0
- package/dist/lib/lanes/outpost-registry-worker-approval.d.ts +18 -0
- package/dist/lib/lanes/outpost-registry-worker-approval.js +109 -0
- package/dist/lib/lanes/outpost-snapshot-memo.d.ts +6 -0
- package/dist/lib/lanes/outpost-snapshot-memo.js +14 -0
- package/dist/lib/lanes/outpost-worktree-pruner-flag.d.ts +19 -0
- package/dist/lib/lanes/outpost-worktree-pruner-flag.js +86 -0
- package/dist/lib/lanes/outpost-worktree-pruner.d.ts +62 -0
- package/dist/lib/lanes/outpost-worktree-pruner.js +1201 -0
- package/dist/lib/lanes/profile.d.ts +69 -0
- package/dist/lib/lanes/profile.js +552 -0
- package/dist/lib/lanes/provider-rejection.d.ts +86 -0
- package/dist/lib/lanes/provider-rejection.js +286 -0
- package/dist/lib/lanes/questions.d.ts +90 -0
- package/dist/lib/lanes/questions.js +384 -0
- package/dist/lib/lanes/quota.d.ts +134 -0
- package/dist/lib/lanes/quota.js +471 -0
- package/dist/lib/lanes/reconcile-install.d.ts +90 -0
- package/dist/lib/lanes/reconcile-install.js +257 -0
- package/dist/lib/lanes/reconcile.d.ts +161 -0
- package/dist/lib/lanes/reconcile.js +3343 -0
- package/dist/lib/lanes/registry-flag.d.ts +35 -0
- package/dist/lib/lanes/registry-flag.js +164 -0
- package/dist/lib/lanes/registry-persona.d.ts +20 -0
- package/dist/lib/lanes/registry-persona.js +329 -0
- package/dist/lib/lanes/registry.d.ts +122 -0
- package/dist/lib/lanes/registry.js +570 -0
- package/dist/lib/lanes/reviews.d.ts +38 -0
- package/dist/lib/lanes/reviews.js +395 -0
- package/dist/lib/lanes/runaway-tool-guard.d.ts +38 -0
- package/dist/lib/lanes/runaway-tool-guard.js +284 -0
- package/dist/lib/lanes/session-relink.d.ts +25 -0
- package/dist/lib/lanes/session-relink.js +216 -0
- package/dist/lib/lanes/spawn.d.ts +355 -0
- package/dist/lib/lanes/spawn.js +2668 -0
- package/dist/lib/lanes/ssm-command-context.d.ts +12 -0
- package/dist/lib/lanes/ssm-command-context.js +52 -0
- package/dist/lib/lanes/store.d.ts +91 -0
- package/dist/lib/lanes/store.js +1822 -0
- package/dist/lib/lanes/stories.d.ts +23 -0
- package/dist/lib/lanes/stories.js +92 -0
- package/dist/lib/lanes/story-ledger.d.ts +80 -0
- package/dist/lib/lanes/story-ledger.js +815 -0
- package/dist/lib/lanes/story-switch.d.ts +21 -0
- package/dist/lib/lanes/story-switch.js +75 -0
- package/dist/lib/lanes/text-scan.d.ts +11 -0
- package/dist/lib/lanes/text-scan.js +103 -0
- package/dist/lib/lanes/throttle.d.ts +116 -0
- package/dist/lib/lanes/throttle.js +437 -0
- package/dist/lib/lanes/timestamp.d.ts +3 -0
- package/dist/lib/lanes/timestamp.js +26 -0
- package/dist/lib/lanes/tracker-checks.d.ts +77 -0
- package/dist/lib/lanes/tracker-checks.js +134 -0
- package/dist/lib/lanes/tracker-report-state.d.ts +10 -0
- package/dist/lib/lanes/tracker-report-state.js +124 -0
- package/dist/lib/lanes/tracker-report.d.ts +203 -0
- package/dist/lib/lanes/tracker-report.js +522 -0
- package/dist/lib/lanes/tracker-store.d.ts +18 -0
- package/dist/lib/lanes/tracker-store.js +106 -0
- package/dist/lib/lanes/types.d.ts +1030 -0
- package/dist/lib/lanes/types.js +418 -0
- package/dist/lib/lanes/wait.d.ts +39 -0
- package/dist/lib/lanes/wait.js +159 -0
- package/dist/lib/lanes/watch.d.ts +39 -0
- package/dist/lib/lanes/watch.js +249 -0
- package/dist/lib/lanes/watcher-main.d.ts +11 -0
- package/dist/lib/lanes/watcher-main.js +108 -0
- package/dist/lib/lanes/watcher.d.ts +287 -0
- package/dist/lib/lanes/watcher.js +1972 -0
- package/dist/lib/mesh/api.d.ts +103 -10
- package/dist/lib/mesh/api.js +334 -64
- package/dist/lib/mesh/client.d.ts +3 -2
- package/dist/lib/mesh/client.js +26 -7
- package/dist/lib/mesh/denial-codes.d.ts +5 -0
- package/dist/lib/mesh/denial-codes.js +14 -0
- package/dist/lib/mesh/live/backfill-held.d.ts +67 -16
- package/dist/lib/mesh/live/backfill-held.js +415 -61
- package/dist/lib/mesh/live/backoff.d.ts +2 -2
- package/dist/lib/mesh/live/backoff.js +16 -3
- package/dist/lib/mesh/live/daemon/board-refresh.d.ts +7 -1
- package/dist/lib/mesh/live/daemon/board-refresh.js +78 -30
- package/dist/lib/mesh/live/daemon/config.d.ts +36 -0
- package/dist/lib/mesh/live/daemon/config.js +120 -0
- package/dist/lib/mesh/live/daemon/credentials.d.ts +64 -10
- package/dist/lib/mesh/live/daemon/credentials.js +270 -20
- package/dist/lib/mesh/live/daemon/doctor.d.ts +53 -0
- package/dist/lib/mesh/live/daemon/doctor.js +190 -6
- package/dist/lib/mesh/live/daemon/index.d.ts +13 -10
- package/dist/lib/mesh/live/daemon/index.js +7 -6
- package/dist/lib/mesh/live/daemon/install.d.ts +255 -1
- package/dist/lib/mesh/live/daemon/install.js +811 -13
- package/dist/lib/mesh/live/daemon/legacy-listen.d.ts +43 -0
- package/dist/lib/mesh/live/daemon/legacy-listen.js +89 -0
- package/dist/lib/mesh/live/daemon/live-cache.d.ts +26 -0
- package/dist/lib/mesh/live/daemon/live-cache.js +116 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.d.ts +7 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.js +2 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.d.ts +2 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.js +10 -0
- package/dist/lib/mesh/live/daemon/paths.d.ts +2 -0
- package/dist/lib/mesh/live/daemon/paths.js +2 -0
- package/dist/lib/mesh/live/daemon/presence.d.ts +24 -5
- package/dist/lib/mesh/live/daemon/presence.js +79 -10
- package/dist/lib/mesh/live/daemon/run.d.ts +48 -2
- package/dist/lib/mesh/live/daemon/run.js +485 -33
- package/dist/lib/mesh/live/daemon/state.d.ts +19 -2
- package/dist/lib/mesh/live/daemon/state.js +34 -2
- package/dist/lib/mesh/live/daemon/transcript-watch.d.ts +45 -9
- package/dist/lib/mesh/live/daemon/transcript-watch.js +227 -31
- package/dist/lib/mesh/live/daemon/version-drift.d.ts +5 -0
- package/dist/lib/mesh/live/daemon/version-drift.js +47 -0
- package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +32 -0
- package/dist/lib/mesh/live/daemon/work-subscribe.js +262 -0
- package/dist/lib/mesh/live/emit-client.d.ts +8 -0
- package/dist/lib/mesh/live/emit-client.js +23 -8
- package/dist/lib/mesh/live/emit-evidence.d.ts +19 -0
- package/dist/lib/mesh/live/emit-evidence.js +20 -2
- package/dist/lib/mesh/live/emit.d.ts +9 -0
- package/dist/lib/mesh/live/emit.js +28 -2
- package/dist/lib/mesh/live/enqueue.d.ts +5 -0
- package/dist/lib/mesh/live/enqueue.js +19 -0
- package/dist/lib/mesh/live/flush.d.ts +17 -5
- package/dist/lib/mesh/live/flush.js +391 -38
- package/dist/lib/mesh/live/format-spool-line.d.ts +5 -2
- package/dist/lib/mesh/live/format-spool-line.js +10 -0
- package/dist/lib/mesh/live/paths.d.ts +2 -0
- package/dist/lib/mesh/live/paths.js +4 -0
- package/dist/lib/mesh/live/report-summary.d.ts +45 -0
- package/dist/lib/mesh/live/report-summary.js +234 -0
- package/dist/lib/mesh/live/session-event.schema.json +24 -1
- package/dist/lib/mesh/live/session-events-client.d.ts +2 -0
- package/dist/lib/mesh/live/session-events-client.js +26 -0
- package/dist/lib/mesh/live/session-seq.d.ts +4 -0
- package/dist/lib/mesh/live/session-seq.js +33 -0
- package/dist/lib/mesh/live/spool.d.ts +19 -0
- package/dist/lib/mesh/live/spool.js +269 -3
- 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/mesh/project-board.d.ts +65 -0
- package/dist/lib/mesh/project-board.js +181 -0
- package/dist/lib/mesh/story-status.d.ts +22 -0
- package/dist/lib/mesh/story-status.js +49 -0
- package/dist/lib/monitor.d.ts +149 -0
- package/dist/lib/monitor.js +519 -0
- package/dist/lib/node-binary.d.ts +50 -0
- package/dist/lib/node-binary.js +133 -0
- package/dist/lib/notify-recipient.d.ts +7 -0
- package/dist/lib/notify-recipient.js +11 -0
- package/dist/lib/onboarding/checkpoint.d.ts +13 -0
- package/dist/lib/onboarding/checkpoint.js +44 -0
- package/dist/lib/onboarding/cli/onboard.d.ts +53 -0
- package/dist/lib/onboarding/cli/onboard.js +135 -0
- package/dist/lib/onboarding/cli/prompts.d.ts +28 -0
- package/dist/lib/onboarding/cli/prompts.js +83 -0
- package/dist/lib/onboarding/errors.d.ts +34 -0
- package/dist/lib/onboarding/errors.js +59 -0
- package/dist/lib/onboarding/index.d.ts +13 -0
- package/dist/lib/onboarding/index.js +13 -0
- package/dist/lib/onboarding/orchestrator.d.ts +47 -0
- package/dist/lib/onboarding/orchestrator.js +569 -0
- package/dist/lib/onboarding/types.d.ts +79 -0
- package/dist/lib/onboarding/types.js +8 -0
- package/dist/lib/plan-limit-nag.d.ts +102 -6
- package/dist/lib/plan-limit-nag.js +348 -43
- package/dist/lib/policy-validator.d.ts +7 -0
- package/dist/lib/policy-validator.js +187 -0
- package/dist/lib/process-flag-company-context.d.ts +8 -0
- package/dist/lib/process-flag-company-context.js +67 -0
- package/dist/lib/report-publish.d.ts +175 -0
- package/dist/lib/report-publish.js +421 -0
- package/dist/lib/report-run.d.ts +62 -0
- package/dist/lib/report-run.js +123 -0
- package/dist/lib/report-snapshot.d.ts +12 -0
- package/dist/lib/report-snapshot.js +135 -0
- package/dist/lib/report-templates.d.ts +9 -0
- package/dist/lib/report-templates.js +21 -0
- package/dist/lib/scaffold-cli-floor.d.ts +8 -0
- package/dist/lib/scaffold-cli-floor.js +50 -0
- package/dist/lib/scan-packages/index.d.ts +2 -0
- package/dist/lib/scan-packages/index.js +168 -6
- package/dist/lib/search-index/background.d.ts +8 -1
- package/dist/lib/search-index/background.js +55 -200
- package/dist/lib/search-index/collection-path-repair-flag.d.ts +4 -0
- package/dist/lib/search-index/collection-path-repair-flag.js +7 -0
- package/dist/lib/search-index/embed-lock.d.ts +34 -0
- package/dist/lib/search-index/embed-lock.js +295 -0
- package/dist/lib/search-index/index.d.ts +12 -0
- package/dist/lib/search-index/index.js +153 -7
- package/dist/lib/search-index/load-gate.d.ts +57 -0
- package/dist/lib/search-index/load-gate.js +270 -0
- package/dist/lib/search-index/max-doc-bytes.d.ts +219 -0
- package/dist/lib/search-index/max-doc-bytes.js +463 -0
- package/dist/lib/search-index/qmd-exit-diagnostics.d.ts +5 -0
- package/dist/lib/search-index/qmd-exit-diagnostics.js +40 -0
- package/dist/lib/search-index/reindex-single-flight-flag.d.ts +5 -0
- package/dist/lib/search-index/reindex-single-flight-flag.js +8 -0
- package/dist/lib/service-manager/index.d.ts +42 -0
- package/dist/lib/service-manager/index.js +105 -0
- package/dist/lib/service-manager/launchd.d.ts +81 -0
- package/dist/lib/service-manager/launchd.js +212 -0
- package/dist/lib/service-manager/systemd.d.ts +19 -0
- package/dist/lib/service-manager/systemd.js +72 -0
- package/dist/lib/service-manager/types.d.ts +34 -0
- package/dist/lib/service-manager/types.js +26 -0
- package/dist/lib/test-utils/isolated-flag-company-context.d.ts +3 -0
- package/dist/lib/test-utils/isolated-flag-company-context.js +18 -0
- package/dist/lib/work-context/bind-best.d.ts +66 -0
- package/dist/lib/work-context/bind-best.js +344 -0
- package/dist/lib/work-context/bind-calling-session.d.ts +26 -0
- package/dist/lib/work-context/bind-calling-session.js +63 -0
- package/dist/lib/work-context/company-rebind.d.ts +23 -0
- package/dist/lib/work-context/company-rebind.js +59 -0
- package/dist/lib/work-context/company.d.ts +22 -20
- package/dist/lib/work-context/company.js +124 -40
- package/dist/lib/work-context/config.d.ts +58 -11
- package/dist/lib/work-context/config.js +334 -83
- package/dist/lib/work-context/contract.d.ts +13 -0
- package/dist/lib/work-context/contract.schema.json +3 -1
- package/dist/lib/work-context/default-company.d.ts +43 -0
- package/dist/lib/work-context/default-company.js +83 -0
- package/dist/lib/work-context/outbox-quarantine-status-flag.d.ts +4 -0
- package/dist/lib/work-context/outbox-quarantine-status-flag.js +7 -0
- package/dist/lib/work-context/outbox.d.ts +27 -5
- package/dist/lib/work-context/outbox.js +135 -6
- package/dist/lib/work-context/prd-sync.d.ts +56 -0
- package/dist/lib/work-context/prd-sync.js +197 -0
- package/dist/lib/work-context/preflight-contract.d.ts +28 -0
- package/dist/lib/work-context/preflight-contract.js +85 -0
- package/dist/lib/work-context/prompt-rebind.d.ts +25 -0
- package/dist/lib/work-context/prompt-rebind.js +85 -0
- package/dist/lib/work-context/reconcile.d.ts +15 -0
- package/dist/lib/work-context/reconcile.js +405 -29
- package/dist/lib/work-context/state.d.ts +93 -10
- package/dist/lib/work-context/state.js +342 -29
- package/dist/lib/work-context/windows-acl.d.ts +123 -0
- package/dist/lib/work-context/windows-acl.js +425 -0
- package/dist/lib/workers-registry/index.js +62 -8
- package/dist/lib/workers-registry/read.d.ts +15 -0
- package/dist/lib/workers-registry/read.js +17 -0
- package/dist/main.d.ts +32 -0
- package/dist/main.js +273 -73
- package/dist/native-fast-route.d.ts +7 -0
- package/dist/native-fast-route.js +45 -0
- package/dist/node-network-compat-core.d.ts +12 -0
- package/dist/node-network-compat-core.js +41 -0
- package/dist/node-network-compat-fast.d.ts +7 -0
- package/dist/node-network-compat-fast.js +23 -0
- package/dist/node-network-compat.d.ts +2 -30
- package/dist/node-network-compat.js +4 -51
- package/dist/node-preflight.d.ts +7 -1
- package/dist/node-preflight.js +5 -5
- package/dist/register-all.d.ts +4 -29
- package/dist/register-all.js +4 -233
- package/dist/run/discover-schemas.d.ts +2 -1
- package/dist/run/env-graph-guard.d.ts +2 -2
- package/dist/run/env-graph-guard.js +5 -2
- package/dist/run/hq-plugin.d.ts +4 -0
- package/dist/run/hq-plugin.js +36 -8
- package/dist/secrets-env-fast-path.d.ts +5 -0
- package/dist/secrets-env-fast-path.js +16 -0
- package/dist/secrets-env-fast-route.d.ts +18 -0
- package/dist/secrets-env-fast-route.js +54 -0
- package/dist/sentry-before-send.js +80 -0
- package/dist/sentry.d.ts +16 -4
- package/dist/sentry.js +179 -18
- package/dist/startup-registration.d.ts +26 -2
- package/dist/startup-registration.js +116 -15
- package/dist/utils/checkpoint-stamp-write-error.d.ts +28 -0
- package/dist/utils/checkpoint-stamp-write-error.js +99 -0
- package/dist/utils/cli-network-lifecycle.d.ts +4 -0
- package/dist/utils/cli-network-lifecycle.js +11 -0
- package/dist/utils/cli-telemetry.d.ts +75 -1
- package/dist/utils/cli-telemetry.js +433 -7
- package/dist/utils/client-health.d.ts +0 -4
- package/dist/utils/client-health.js +2 -2
- package/dist/utils/cognito-refresh-sentry.d.ts +3 -0
- package/dist/utils/cognito-refresh-sentry.js +49 -0
- package/dist/utils/cognito-session.d.ts +71 -0
- package/dist/utils/cognito-session.js +481 -27
- package/dist/utils/console-origin.d.ts +9 -0
- package/dist/utils/console-origin.js +28 -0
- package/dist/utils/contribution-table.d.ts +1 -1
- package/dist/utils/core-eval-trigger.d.ts +4 -0
- package/dist/utils/core-eval-trigger.js +88 -0
- package/dist/utils/environmental-error.d.ts +18 -0
- package/dist/utils/environmental-error.js +240 -7
- package/dist/utils/exclusive-lock.d.ts +32 -0
- package/dist/utils/exclusive-lock.js +75 -0
- package/dist/utils/expected-cli-error.d.ts +2 -0
- package/dist/utils/expected-cli-error.js +4 -0
- package/dist/utils/fast-stream-errors.d.ts +12 -0
- package/dist/utils/fast-stream-errors.js +18 -0
- package/dist/utils/feedback-diagnostics.d.ts +2 -1
- package/dist/utils/feedback-log-bundle.d.ts +51 -26
- package/dist/utils/feedback-log-bundle.js +211 -31
- package/dist/utils/feedback-logs.d.ts +18 -47
- package/dist/utils/feedback-logs.js +50 -21
- package/dist/utils/feedback-screenshots.d.ts +0 -1
- package/dist/utils/feedback-screenshots.js +1 -1
- package/dist/utils/files-browse-acl.d.ts +5 -0
- package/dist/utils/files-browse-acl.js +11 -0
- package/dist/utils/hq-core-yaml.d.ts +10 -0
- package/dist/utils/hq-core-yaml.js +40 -0
- package/dist/utils/hq-root-resolver.d.ts +13 -0
- package/dist/utils/hq-root-resolver.js +103 -0
- package/dist/utils/hq-roots.d.ts +25 -2
- package/dist/utils/hq-roots.js +67 -7
- package/dist/utils/incomplete-install-error.d.ts +87 -19
- package/dist/utils/incomplete-install-error.js +319 -68
- package/dist/utils/install-tree-torn.d.ts +260 -24
- package/dist/utils/install-tree-torn.js +998 -51
- package/dist/utils/large-file-guard.d.ts +0 -10
- package/dist/utils/large-file-guard.js +1 -1
- package/dist/utils/local-files-overview.d.ts +4 -8
- package/dist/utils/local-files-overview.js +48 -7
- package/dist/utils/login-provider.d.ts +7 -0
- package/dist/utils/login-provider.js +34 -0
- package/dist/utils/pack-contributions.d.ts +2 -14
- package/dist/utils/pack-contributions.js +7 -44
- package/dist/utils/package-root-diagnostics.d.ts +1 -1
- package/dist/utils/people.d.ts +7 -11
- package/dist/utils/people.js +5 -20
- package/dist/utils/plan-gate-error.d.ts +52 -10
- package/dist/utils/plan-gate-error.js +364 -41
- package/dist/utils/qmd-model-download-error.d.ts +0 -8
- package/dist/utils/qmd-model-download-error.js +1 -1
- package/dist/utils/qmd-query-document-error.d.ts +0 -6
- package/dist/utils/qmd-query-document-error.js +1 -1
- package/dist/utils/redact-error-text.d.ts +0 -2
- package/dist/utils/redact-error-text.js +3 -2
- package/dist/utils/redact-url.d.ts +14 -0
- package/dist/utils/redact-url.js +218 -0
- package/dist/utils/run-bundled-script.d.ts +6 -0
- package/dist/utils/run-bundled-script.js +117 -4
- package/dist/utils/sandbox-runner-client.d.ts +2 -1
- package/dist/utils/scaffold-fast-import-guard.d.ts +2 -0
- package/dist/utils/scaffold-fast-import-guard.js +40 -0
- package/dist/utils/scaffold-packlist-guard.d.ts +7 -0
- package/dist/utils/scaffold-packlist-guard.js +23 -0
- package/dist/utils/scaffold-sibling-references.d.ts +22 -0
- package/dist/utils/scaffold-sibling-references.js +156 -0
- package/dist/utils/secret-load-availability.d.ts +8 -0
- package/dist/utils/secret-load-availability.js +54 -0
- package/dist/utils/secrets-cache.d.ts +7 -3
- package/dist/utils/secrets-cache.js +162 -14
- package/dist/utils/self-update.d.ts +34 -1
- package/dist/utils/self-update.js +660 -42
- package/dist/utils/sentry-fingerprint.d.ts +23 -1
- package/dist/utils/sentry-fingerprint.js +223 -31
- package/dist/utils/staged-install.d.ts +34 -0
- package/dist/utils/staged-install.js +346 -0
- package/dist/utils/staged-npm-install.d.ts +16 -0
- package/dist/utils/staged-npm-install.js +264 -0
- package/dist/utils/sync-log-sources.d.ts +15 -0
- package/dist/utils/sync-log-sources.js +36 -0
- package/dist/utils/table-width.d.ts +7 -0
- package/dist/utils/table-width.js +15 -0
- package/dist/utils/team-upgrade.d.ts +1 -1
- package/dist/utils/team-upgrade.js +4 -3
- package/dist/utils/update-command-supervisor.cjs +247 -0
- package/dist/utils/upload-author.d.ts +15 -0
- package/dist/utils/upload-author.js +39 -0
- package/dist/utils/vault-api.d.ts +21 -1
- package/dist/utils/vault-api.js +251 -84
- package/dist/utils/version-check.d.ts +11 -1
- package/dist/utils/version-check.js +32 -3
- package/dist/utils/version-gate.d.ts +101 -17
- package/dist/utils/version-gate.js +645 -70
- package/dist/utils/version-report.d.ts +27 -0
- package/dist/utils/version-report.js +105 -0
- package/dist/utils/windows-spawn.d.ts +6 -0
- package/dist/utils/windows-spawn.js +37 -0
- package/dist/version-request.d.ts +14 -0
- package/dist/version-request.js +36 -0
- package/package.json +20 -8
- package/scripts/mesh-daemon-if-stale.mjs +20 -0
- package/templates/reports/blank.md +3 -0
- package/templates/reports/daily-digest.md +11 -0
- package/templates/runbooks/update-report.md +21 -0
- package/dist/commands/scaffold-fast.d.ts +0 -41
- package/dist/commands/scaffold-fast.js +0 -57
- package/dist/lib/work-context/index.d.ts +0 -25
- package/dist/lib/work-context/index.js +0 -21
|
@@ -18,8 +18,11 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import chalk from "chalk";
|
|
20
20
|
import open from "open";
|
|
21
|
-
import {
|
|
21
|
+
import { ensureCognitoIdToken } from "../utils/cognito-session.js";
|
|
22
|
+
import { consoleOrigin } from "../utils/console-origin.js";
|
|
23
|
+
export { consoleOrigin };
|
|
22
24
|
import { getCompanyUid } from "../utils/vault-api.js";
|
|
25
|
+
import { redactSensitiveUrl, redactUrlsInText } from "../utils/redact-url.js";
|
|
23
26
|
import { IntegrationsCliError, bareProvider, connectionDomain, fetchAdminSurface, printJson, revokedConnectionDetails, resolveConnection, } from "./integrations-core.js";
|
|
24
27
|
import { completeOAuth, discoverDocs, installIntegration, listCatalog, pullBlueprint, startOAuth, } from "./integrations-api.js";
|
|
25
28
|
import { OAUTH_LOOPBACK_TIMEOUT_CODE, startLoopbackListener, } from "./integrations-oauth.js";
|
|
@@ -182,6 +185,12 @@ export function assertAuthMode(value) {
|
|
|
182
185
|
throw new IntegrationsCliError("--auth must be none, key, or oauth.", { expected: true });
|
|
183
186
|
}
|
|
184
187
|
}
|
|
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
|
+
}
|
|
185
194
|
/** Single-quote a value for a copy-pasteable shell command. */
|
|
186
195
|
export function shellQuote(value) {
|
|
187
196
|
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
@@ -292,7 +301,7 @@ async function resolveTarget(token, companyUid, app, opts, preserveDomain = fals
|
|
|
292
301
|
: found.discovery.authMode === "oauth"
|
|
293
302
|
? "oauth"
|
|
294
303
|
: "none",
|
|
295
|
-
label: found.discovery.displayName,
|
|
304
|
+
label: redactUrlsInText(found.discovery.displayName),
|
|
296
305
|
};
|
|
297
306
|
}
|
|
298
307
|
if (opts.mcpUrl) {
|
|
@@ -302,11 +311,11 @@ async function resolveTarget(token, companyUid, app, opts, preserveDomain = fals
|
|
|
302
311
|
...(opts.provider ? { provider: opts.provider } : {}),
|
|
303
312
|
...(opts.displayName ? { displayName: opts.displayName } : {}),
|
|
304
313
|
},
|
|
305
|
-
label: opts.displayName ?? opts.provider ?? opts.mcpUrl,
|
|
314
|
+
label: redactUrlsInText(opts.displayName ?? opts.provider ?? opts.mcpUrl),
|
|
306
315
|
};
|
|
307
316
|
}
|
|
308
317
|
if (opts.entryId) {
|
|
309
|
-
return { ref: { catalogEntryId: opts.entryId }, label: opts.entryId };
|
|
318
|
+
return { ref: { catalogEntryId: opts.entryId }, label: redactUrlsInText(opts.entryId) };
|
|
310
319
|
}
|
|
311
320
|
if (!app) {
|
|
312
321
|
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 });
|
|
@@ -324,10 +333,10 @@ async function resolveTarget(token, companyUid, app, opts, preserveDomain = fals
|
|
|
324
333
|
return {
|
|
325
334
|
ref: { domain: app },
|
|
326
335
|
...(match?.authClass ? { authClass: match.authClass } : {}),
|
|
327
|
-
label: match?.name || app,
|
|
336
|
+
label: redactUrlsInText(match?.name || app),
|
|
328
337
|
};
|
|
329
338
|
}
|
|
330
|
-
return catalogEntryToTarget(match, { ref: { domain: app }, label: app });
|
|
339
|
+
return catalogEntryToTarget(match, { ref: { domain: app }, label: redactUrlsInText(app) });
|
|
331
340
|
}
|
|
332
341
|
// A bare name (`notion`, `atlassian`) is how the catalog reads to a person —
|
|
333
342
|
// the rows are titled `notion.com`, `atlassian.com`. Resolve it to that row
|
|
@@ -337,9 +346,9 @@ async function resolveTarget(token, companyUid, app, opts, preserveDomain = fals
|
|
|
337
346
|
// unmatched → fall back to the server-side query resolver.
|
|
338
347
|
const named = await findCatalogEntryByName(token, companyUid, app);
|
|
339
348
|
if (named) {
|
|
340
|
-
return catalogEntryToTarget(named, { ref: { query: app }, label: app });
|
|
349
|
+
return catalogEntryToTarget(named, { ref: { query: app }, label: redactUrlsInText(app) });
|
|
341
350
|
}
|
|
342
|
-
return { ref: { query: app }, label: app };
|
|
351
|
+
return { ref: { query: app }, label: redactUrlsInText(app) };
|
|
343
352
|
}
|
|
344
353
|
/**
|
|
345
354
|
* Turn a matched catalog entry into a connect target, preferring its opaque
|
|
@@ -353,13 +362,13 @@ function catalogEntryToTarget(match, fallback) {
|
|
|
353
362
|
return {
|
|
354
363
|
ref: { catalogEntryId: match.entryId },
|
|
355
364
|
...(match.authClass ? { authClass: match.authClass } : {}),
|
|
356
|
-
label: match.name || fallback.label,
|
|
365
|
+
label: redactUrlsInText(match.name || fallback.label),
|
|
357
366
|
};
|
|
358
367
|
}
|
|
359
368
|
return {
|
|
360
369
|
ref: { domain: match.domain },
|
|
361
370
|
...(match.authClass ? { authClass: match.authClass } : {}),
|
|
362
|
-
label: match.name || fallback.label,
|
|
371
|
+
label: redactUrlsInText(match.name || fallback.label),
|
|
363
372
|
};
|
|
364
373
|
}
|
|
365
374
|
/** Best-effort catalog lookup by domain; never fails the connect. */
|
|
@@ -507,15 +516,15 @@ async function connectViaOAuth(token, companyUid, target, opts) {
|
|
|
507
516
|
// that beats it, but ordering it this way means the happy path never
|
|
508
517
|
// depends on that buffer.
|
|
509
518
|
const pendingCode = listener.waitForCode(started.state);
|
|
510
|
-
console.error(chalk.dim(`Waiting for you to sign in to ${started.displayName || target.label}…`));
|
|
519
|
+
console.error(chalk.dim(`Waiting for you to sign in to ${redactUrlsInText(started.displayName || target.label)}…`));
|
|
511
520
|
if (opts.browser === false) {
|
|
512
|
-
console.error(`Open this URL to sign in:\n ${started.authorizationUrl}`);
|
|
521
|
+
console.error(`Open this URL to sign in:\n ${redactSensitiveUrl(started.authorizationUrl)}`);
|
|
513
522
|
}
|
|
514
523
|
else {
|
|
515
524
|
// A failed browser launch (headless box, no handler) is recoverable —
|
|
516
525
|
// print the URL and keep waiting rather than aborting the sign-in.
|
|
517
526
|
await open(started.authorizationUrl).catch(() => {
|
|
518
|
-
console.error(`Open this URL to sign in:\n ${started.authorizationUrl}`);
|
|
527
|
+
console.error(`Open this URL to sign in:\n ${redactSensitiveUrl(started.authorizationUrl)}`);
|
|
519
528
|
});
|
|
520
529
|
}
|
|
521
530
|
let code;
|
|
@@ -535,37 +544,6 @@ async function connectViaOAuth(token, companyUid, target, opts) {
|
|
|
535
544
|
listener.close();
|
|
536
545
|
}
|
|
537
546
|
}
|
|
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
|
-
}
|
|
569
547
|
/**
|
|
570
548
|
* The console's Integrations page for a company, the console root when the
|
|
571
549
|
* caller never named one (a single-membership session resolves the company
|
|
@@ -596,9 +574,9 @@ companySlug, origin) {
|
|
|
596
574
|
*/
|
|
597
575
|
function targetSelectionHint(opts) {
|
|
598
576
|
if (opts.mcpUrl)
|
|
599
|
-
return `Server address to enter there: ${opts.mcpUrl}`;
|
|
577
|
+
return `Server address to enter there: ${redactSensitiveUrl(opts.mcpUrl)}`;
|
|
600
578
|
if (opts.docsUrl)
|
|
601
|
-
return `Found from these docs: ${opts.docsUrl}`;
|
|
579
|
+
return `Found from these docs: ${redactSensitiveUrl(opts.docsUrl)}`;
|
|
602
580
|
if (opts.entryId)
|
|
603
581
|
return `Catalog entry: ${opts.entryId}`;
|
|
604
582
|
return undefined;
|
|
@@ -656,10 +634,10 @@ function loopbackTimeoutHandoff(target, opts) {
|
|
|
656
634
|
}
|
|
657
635
|
function printConsoleDestination(target, opts, url) {
|
|
658
636
|
if (url) {
|
|
659
|
-
console.error(`Open this page and connect ${target.label} from it:\n ${url}`);
|
|
637
|
+
console.error(`Open this page and connect ${redactUrlsInText(target.label)} from it:\n ${redactSensitiveUrl(url)}`);
|
|
660
638
|
}
|
|
661
639
|
else {
|
|
662
|
-
console.error(`Open your HQ console's Integrations page and connect ${target.label} there. ` +
|
|
640
|
+
console.error(`Open your HQ console's Integrations page and connect ${redactUrlsInText(target.label)} there. ` +
|
|
663
641
|
"(This session points at a control plane whose console address is not " +
|
|
664
642
|
"derivable — set HQ_CONSOLE_URL to name it.)");
|
|
665
643
|
}
|
|
@@ -707,9 +685,9 @@ async function consoleHandoff(target, opts) {
|
|
|
707
685
|
* credentials — but only the console can collect them, so say what is needed
|
|
708
686
|
* and hand the page over rather than restating the refusal and stopping.
|
|
709
687
|
*/
|
|
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.`);
|
|
688
|
+
export async function bringYourOwnClientHandoff(target, opts, reason, redirectUri) {
|
|
689
|
+
console.error(chalk.yellow(redactUrlsInText(reason)));
|
|
690
|
+
console.error(`${redactUrlsInText(target.label)} needs an OAuth app you register with the provider yourself.`);
|
|
713
691
|
// Prefer finishing here. The recovery needs two things the terminal can
|
|
714
692
|
// supply — the callback URL to register, and a client id + secret — and
|
|
715
693
|
// hq-pro sends the first one back on exactly these errors. Falling through
|
|
@@ -719,7 +697,7 @@ async function bringYourOwnClientHandoff(target, opts, reason, redirectUri) {
|
|
|
719
697
|
if (redirectUri && command) {
|
|
720
698
|
console.error("");
|
|
721
699
|
console.error(`In the provider's developer portal, register this callback URL:`);
|
|
722
|
-
console.error(` ${redirectUri}`);
|
|
700
|
+
console.error(` ${redactSensitiveUrl(redirectUri)}`);
|
|
723
701
|
console.error(`Then run:`);
|
|
724
702
|
console.error(` ${command}`);
|
|
725
703
|
console.error(chalk.dim("The secret is read from stdin, so it stays out of your shell history. " +
|
|
@@ -747,7 +725,7 @@ function byoClientCommand(target, opts) {
|
|
|
747
725
|
const { mcpUrl, provider } = target.ref;
|
|
748
726
|
if (!mcpUrl)
|
|
749
727
|
return null;
|
|
750
|
-
const parts = ["hq integrations connect", `--mcp-url ${shellQuote(mcpUrl)}`];
|
|
728
|
+
const parts = ["hq integrations connect", `--mcp-url ${shellQuote(redactSensitiveUrl(mcpUrl))}`];
|
|
751
729
|
if (opts.company)
|
|
752
730
|
parts.push(`--company ${shellQuote(opts.company)}`);
|
|
753
731
|
if (provider)
|
|
@@ -849,14 +827,38 @@ async function userClientSignIn(token, companyUid, target, opts, client, request
|
|
|
849
827
|
// authorize step on this path too.
|
|
850
828
|
...(requestedScopes ? { scopes: requestedScopes } : {}),
|
|
851
829
|
});
|
|
852
|
-
console.error(`Open this URL to sign in to ${started.displayName || target.label}:`);
|
|
853
|
-
console.error(` ${started.authorizationUrl}`);
|
|
830
|
+
console.error(`Open this URL to sign in to ${redactUrlsInText(started.displayName || target.label)}:`);
|
|
831
|
+
console.error(` ${redactSensitiveUrl(started.authorizationUrl)}`);
|
|
832
|
+
const googleHint = googleClientTypeHint(client.clientId, started.authorizationUrl);
|
|
833
|
+
if (googleHint)
|
|
834
|
+
console.error(chalk.yellow(googleHint));
|
|
854
835
|
if (opts.browser !== false)
|
|
855
836
|
await open(started.authorizationUrl).catch(() => { });
|
|
856
837
|
console.error(chalk.dim("The browser finishes on the HQ console. When it says connected, " +
|
|
857
838
|
"run `hq integrations list` to confirm."));
|
|
858
839
|
return null;
|
|
859
840
|
}
|
|
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
|
+
}
|
|
860
862
|
/**
|
|
861
863
|
* Second chance at a credential when the target's auth mode wasn't known up
|
|
862
864
|
* front.
|
|
@@ -893,7 +895,7 @@ function reportInstall(result, opts, expectedRevivedConnectionId) {
|
|
|
893
895
|
const { installation, connection } = result;
|
|
894
896
|
const toolCount = result.mcp?.tools?.length;
|
|
895
897
|
const revived = connection.id === expectedRevivedConnectionId;
|
|
896
|
-
console.log(chalk.green(`${revived ? "Revived" : "Connected"} ${chalk.bold(installation.displayName)}`) +
|
|
898
|
+
console.log(chalk.green(`${revived ? "Revived" : "Connected"} ${chalk.bold(redactUrlsInText(installation.displayName))}`) +
|
|
897
899
|
(typeof toolCount === "number" ? chalk.dim(` — ${toolCount} tools available`) : ""));
|
|
898
900
|
console.log(chalk.dim(` connection: ${connection.id}`));
|
|
899
901
|
if (installation.status === "needs_credentials") {
|
|
@@ -908,7 +910,9 @@ function reportInstall(result, opts, expectedRevivedConnectionId) {
|
|
|
908
910
|
*/
|
|
909
911
|
async function connectApp(token, companyUid, app, opts, expectedRevivedConnectionId) {
|
|
910
912
|
const target = await resolveTarget(token, companyUid, app, opts, expectedRevivedConnectionId !== undefined);
|
|
911
|
-
const authMode = opts.
|
|
913
|
+
const authMode = opts.authHeader
|
|
914
|
+
? "key"
|
|
915
|
+
: opts.auth ?? target.authClass;
|
|
912
916
|
assertUserClientApplicable(opts, target, authMode);
|
|
913
917
|
assertScopesApplicable(opts, target, authMode);
|
|
914
918
|
if (authMode === "oauth") {
|
|
@@ -926,7 +930,13 @@ async function connectApp(token, companyUid, app, opts, expectedRevivedConnectio
|
|
|
926
930
|
const result = await installIntegration(token, companyUid, {
|
|
927
931
|
...target.ref,
|
|
928
932
|
...(bearerToken
|
|
929
|
-
? {
|
|
933
|
+
? {
|
|
934
|
+
authMode: "bearer",
|
|
935
|
+
bearerToken,
|
|
936
|
+
...(opts.authHeader
|
|
937
|
+
? { authScheme: { placement: "header", header: opts.authHeader } }
|
|
938
|
+
: {}),
|
|
939
|
+
}
|
|
930
940
|
: authMode === "none"
|
|
931
941
|
? { authMode: "none" }
|
|
932
942
|
: {}),
|
|
@@ -1049,7 +1059,7 @@ async function refuseIfAlreadyConnected(token, companyUid, app, opts) {
|
|
|
1049
1059
|
});
|
|
1050
1060
|
return true;
|
|
1051
1061
|
}
|
|
1052
|
-
const label = existing.installation?.displayName ?? slug;
|
|
1062
|
+
const label = redactUrlsInText(existing.installation?.displayName ?? slug);
|
|
1053
1063
|
console.log(chalk.green(`${label} is already connected.`));
|
|
1054
1064
|
console.log(chalk.dim(` Sign in again: hq integrations reconnect --provider ${slug}\n` +
|
|
1055
1065
|
` Add a second: hq integrations connect ${shellQuote(app)} --force`));
|
|
@@ -1080,7 +1090,7 @@ export function registerConnectCommands(integrations) {
|
|
|
1080
1090
|
}
|
|
1081
1091
|
if (entries.length === 0) {
|
|
1082
1092
|
console.log(query
|
|
1083
|
-
? `Nothing matched '${query}'. Try a domain, e.g. hq integrations catalog linear.app`
|
|
1093
|
+
? `Nothing matched '${redactUrlsInText(query)}'. Try a domain, e.g. hq integrations catalog linear.app`
|
|
1084
1094
|
: "The catalog is empty right now.");
|
|
1085
1095
|
return;
|
|
1086
1096
|
}
|
|
@@ -1105,9 +1115,9 @@ export function registerConnectCommands(integrations) {
|
|
|
1105
1115
|
]
|
|
1106
1116
|
.filter(Boolean)
|
|
1107
1117
|
.join(" · ");
|
|
1108
|
-
console.log(`${chalk.bold(entry.name)} ${chalk.dim(entry.domain)} ${chalk.dim(tags)}`);
|
|
1118
|
+
console.log(`${chalk.bold(redactUrlsInText(entry.name))} ${chalk.dim(redactUrlsInText(entry.domain))} ${chalk.dim(tags)}`);
|
|
1109
1119
|
if (entry.description)
|
|
1110
|
-
console.log(chalk.dim(` ${entry.description}`));
|
|
1120
|
+
console.log(chalk.dim(` ${redactUrlsInText(entry.description)}`));
|
|
1111
1121
|
}
|
|
1112
1122
|
console.log(chalk.dim(`\n${entries.length} apps. Connect one with: hq integrations connect <domain>`));
|
|
1113
1123
|
});
|
|
@@ -1127,18 +1137,18 @@ export function registerConnectCommands(integrations) {
|
|
|
1127
1137
|
printJson(blueprint);
|
|
1128
1138
|
return;
|
|
1129
1139
|
}
|
|
1130
|
-
console.log(`${chalk.bold(blueprint.displayName)} ${chalk.dim(blueprint.domain)}`);
|
|
1140
|
+
console.log(`${chalk.bold(redactUrlsInText(blueprint.displayName))} ${chalk.dim(redactUrlsInText(blueprint.domain))}`);
|
|
1131
1141
|
if (blueprint.summary)
|
|
1132
|
-
console.log(chalk.dim(blueprint.summary));
|
|
1142
|
+
console.log(chalk.dim(redactUrlsInText(blueprint.summary)));
|
|
1133
1143
|
for (const surface of blueprint.surfaces) {
|
|
1134
1144
|
const auth = surface.authStatus === "none" ? "no auth" : `auth: ${surface.authStatus}`;
|
|
1135
|
-
console.log(` ${chalk.bold(surface.kind)} ${surface.name} ${chalk.dim(`${auth} · ${surface.readiness.strategy}`)}`);
|
|
1145
|
+
console.log(` ${chalk.bold(redactUrlsInText(surface.kind))} ${redactUrlsInText(surface.name)} ${chalk.dim(`${auth} · ${redactUrlsInText(surface.readiness.strategy)}`)}`);
|
|
1136
1146
|
}
|
|
1137
1147
|
for (const credential of blueprint.credentials) {
|
|
1138
|
-
console.log(chalk.dim(` needs: ${credential.label}${credential.generateUrl ? ` (${credential.generateUrl})` : ""}`));
|
|
1148
|
+
console.log(chalk.dim(` needs: ${redactUrlsInText(credential.label)}${credential.generateUrl ? ` (${redactSensitiveUrl(credential.generateUrl)})` : ""}`));
|
|
1139
1149
|
}
|
|
1140
1150
|
for (const warning of blueprint.warnings) {
|
|
1141
|
-
console.log(chalk.yellow(` ! ${warning.message}`));
|
|
1151
|
+
console.log(chalk.yellow(` ! ${redactUrlsInText(warning.message)}`));
|
|
1142
1152
|
}
|
|
1143
1153
|
});
|
|
1144
1154
|
integrations
|
|
@@ -1159,11 +1169,11 @@ export function registerConnectCommands(integrations) {
|
|
|
1159
1169
|
return;
|
|
1160
1170
|
}
|
|
1161
1171
|
const { discovery } = found;
|
|
1162
|
-
console.log(`${chalk.bold(discovery.displayName)} ${chalk.dim(discovery.mcpUrl)}`);
|
|
1172
|
+
console.log(`${chalk.bold(redactUrlsInText(discovery.displayName))} ${chalk.dim(redactSensitiveUrl(discovery.mcpUrl))}`);
|
|
1163
1173
|
console.log(chalk.dim(` sign-in: ${discovery.authMode} · ${discovery.verification} · confidence ${discovery.confidence}`));
|
|
1164
1174
|
// Quoted: a docs URL routinely carries `&`, which would background the
|
|
1165
1175
|
// command when pasted, and `;` would run whatever follows it.
|
|
1166
|
-
console.log(chalk.dim(`\nConnect it with: hq integrations connect --docs-url ${shellQuote(docsUrl)}`));
|
|
1176
|
+
console.log(chalk.dim(`\nConnect it with: hq integrations connect --docs-url ${shellQuote(redactSensitiveUrl(docsUrl))}`));
|
|
1167
1177
|
});
|
|
1168
1178
|
integrations
|
|
1169
1179
|
.command("connect [app]")
|
|
@@ -1177,6 +1187,7 @@ export function registerConnectCommands(integrations) {
|
|
|
1177
1187
|
.option("--display-name <name>", "Display name for a custom --mcp-url")
|
|
1178
1188
|
.option("--token <key>", "API key (prefer --token-stdin: --token lands in shell history)")
|
|
1179
1189
|
.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)")
|
|
1180
1191
|
.option("--auth <mode>", "Force the auth mode: none, key, or oauth (default: detect)")
|
|
1181
1192
|
.option("--client-id <id>", "Client id of an OAuth app you registered with the provider yourself")
|
|
1182
1193
|
.option("--client-secret-stdin", "Read that app's client secret from stdin")
|
|
@@ -1187,6 +1198,10 @@ export function registerConnectCommands(integrations) {
|
|
|
1187
1198
|
.option("--json", "Machine-readable output")
|
|
1188
1199
|
.action(async (app, opts) => {
|
|
1189
1200
|
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
|
+
}
|
|
1190
1205
|
const token = await ensureCognitoIdToken();
|
|
1191
1206
|
const companyUid = await getCompanyUid(token, opts.company);
|
|
1192
1207
|
if (await refuseIfAlreadyConnected(token, companyUid, app, opts))
|
|
@@ -1225,8 +1240,8 @@ export function registerConnectCommands(integrations) {
|
|
|
1225
1240
|
if (opts.json)
|
|
1226
1241
|
printJson(details);
|
|
1227
1242
|
else {
|
|
1228
|
-
console.log(chalk.yellow(details.reason));
|
|
1229
|
-
console.log(chalk.yellow(`Re-add it with: ${details.fixPath}`));
|
|
1243
|
+
console.log(chalk.yellow(redactUrlsInText(details.reason)));
|
|
1244
|
+
console.log(chalk.yellow(`Re-add it with: ${redactUrlsInText(details.fixPath)}`));
|
|
1230
1245
|
}
|
|
1231
1246
|
return;
|
|
1232
1247
|
}
|
|
@@ -152,12 +152,10 @@ 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
|
-
*
|
|
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.
|
|
155
|
+
* refused to register HQ automatically. The provider must register the exact
|
|
156
|
+
* callback this backend will redirect to, so the CLI preserves the server
|
|
157
|
+
* value for the OAuth recovery flow. It may contain sensitive query data;
|
|
158
|
+
* keep it non-enumerable and redact it at display boundaries.
|
|
161
159
|
*/
|
|
162
160
|
readonly redirectUri?: string;
|
|
163
161
|
constructor(message: string, opts?: {
|
|
@@ -274,6 +272,8 @@ interface QueuedOutcome {
|
|
|
274
272
|
}
|
|
275
273
|
export declare function queuedOutcome(payload: unknown): QueuedOutcome | null;
|
|
276
274
|
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,7 +12,9 @@ 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";
|
|
15
16
|
import { redactErrorText } from "../utils/redact-error-text.js";
|
|
17
|
+
import { redactSensitiveUrls, redactUrlsInText } from "../utils/redact-url.js";
|
|
16
18
|
import { connectionHealthNotice } from "../lib/integrations/health.js";
|
|
17
19
|
import { bareProvider } from "../lib/integrations/provider-slug.js";
|
|
18
20
|
export { bareProvider } from "../lib/integrations/provider-slug.js";
|
|
@@ -53,16 +55,14 @@ export class IntegrationsCliError extends Error {
|
|
|
53
55
|
rpcCode;
|
|
54
56
|
/**
|
|
55
57
|
* HQ's own OAuth callback URL, carried on the errors that say a provider
|
|
56
|
-
* refused to register HQ automatically.
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
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.
|
|
58
|
+
* refused to register HQ automatically. The provider must register the exact
|
|
59
|
+
* callback this backend will redirect to, so the CLI preserves the server
|
|
60
|
+
* value for the OAuth recovery flow. It may contain sensitive query data;
|
|
61
|
+
* keep it non-enumerable and redact it at display boundaries.
|
|
62
62
|
*/
|
|
63
63
|
redirectUri;
|
|
64
64
|
constructor(message, opts = {}) {
|
|
65
|
-
super(message);
|
|
65
|
+
super(redactUrlsInText(message));
|
|
66
66
|
this.name = "IntegrationsCliError";
|
|
67
67
|
this.expected = opts.expected ?? false;
|
|
68
68
|
if (opts.code)
|
|
@@ -73,8 +73,12 @@ 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
|
-
this
|
|
76
|
+
if (opts.redirectUri !== undefined) {
|
|
77
|
+
Object.defineProperty(this, "redirectUri", {
|
|
78
|
+
value: opts.redirectUri,
|
|
79
|
+
enumerable: false,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
78
82
|
}
|
|
79
83
|
}
|
|
80
84
|
/**
|
|
@@ -192,6 +196,12 @@ export async function raiseForResponse(res, fallback) {
|
|
|
192
196
|
raiseIfUnauthorized(res);
|
|
193
197
|
raiseIfUpstreamUnavailable(res);
|
|
194
198
|
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;
|
|
195
205
|
// hq-pro mints this error text, so it is untrusted input to a message we
|
|
196
206
|
// print verbatim — scrub credentials out before it can reach a terminal or a
|
|
197
207
|
// Sentry crash report (same reasoning as the gateway path below).
|
|
@@ -473,6 +483,10 @@ export function queuedOutcome(payload) {
|
|
|
473
483
|
return null;
|
|
474
484
|
}
|
|
475
485
|
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) {
|
|
476
490
|
console.log(JSON.stringify(value, null, 2));
|
|
477
491
|
}
|
|
478
492
|
/**
|
|
@@ -492,8 +506,8 @@ export function printHealthNotice(connection) {
|
|
|
492
506
|
const notice = connectionHealthNotice(connection);
|
|
493
507
|
if (!notice)
|
|
494
508
|
return;
|
|
495
|
-
console.log(chalk.yellow(` ${notice.headline}`));
|
|
509
|
+
console.log(chalk.yellow(` ${redactUrlsInText(notice.headline)}`));
|
|
496
510
|
if (notice.remediation)
|
|
497
|
-
console.log(chalk.yellow(` ${notice.remediation}`));
|
|
511
|
+
console.log(chalk.yellow(` ${redactUrlsInText(notice.remediation)}`));
|
|
498
512
|
}
|
|
499
513
|
//# 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" | "skipped";
|
|
6
|
+
export type ImportStatus = "imported" | "needs-signin" | "shared-for-local" | "personal-for-local" | "skipped";
|
|
7
7
|
export interface ImportOutcome {
|
|
8
8
|
name: string;
|
|
9
9
|
status: ImportStatus;
|
|
@@ -10,10 +10,12 @@ 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";
|
|
13
14
|
import { bareProvider, IntegrationsCliError, printJson } from "./integrations-core.js";
|
|
14
15
|
import { installIntegration, startOAuth } from "./integrations-api.js";
|
|
15
16
|
import { loadRevealedSecrets } from "./secrets.js";
|
|
16
17
|
import { registerServer } from "./mcp-registration.js";
|
|
18
|
+
import { personalConnectorSettingsEnabled } from "./personal-connector-settings-flag.js";
|
|
17
19
|
const OAUTH_REQUIRED_CODE = "INTEGRATION_FACTORY_OAUTH_REQUIRED";
|
|
18
20
|
/** Claude Desktop's documented connector-config location for the current OS. */
|
|
19
21
|
export function claudeDesktopConfigPath(platform = process.platform, home = os.homedir(), env = process.env) {
|
|
@@ -148,7 +150,13 @@ function oauthRequired(error) {
|
|
|
148
150
|
function reconnectCommand(name, provider) {
|
|
149
151
|
return `hq integrations reconnect ${name} --provider ${bareProvider(provider)}`;
|
|
150
152
|
}
|
|
151
|
-
function connectorPath(hqRoot, company,
|
|
153
|
+
function connectorPath(hqRoot, name, company, personal) {
|
|
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
|
+
}
|
|
152
160
|
return path.join(hqRoot, "companies", company, "settings", "connectors", `${name}.json`);
|
|
153
161
|
}
|
|
154
162
|
/**
|
|
@@ -171,8 +179,8 @@ async function companyFolderSlug(token, companyUid) {
|
|
|
171
179
|
}
|
|
172
180
|
return folderSlug;
|
|
173
181
|
}
|
|
174
|
-
function writeLocalConnector(hqRoot, company,
|
|
175
|
-
const target = connectorPath(hqRoot, company,
|
|
182
|
+
function writeLocalConnector(hqRoot, name, company, personal, entry) {
|
|
183
|
+
const target = connectorPath(hqRoot, name, company, personal);
|
|
176
184
|
fs.mkdirSync(path.dirname(target), { recursive: true });
|
|
177
185
|
fs.writeFileSync(target, `${JSON.stringify(stripConnectorSecrets(entry), null, 2)}\n`, { mode: 0o600 });
|
|
178
186
|
return target;
|
|
@@ -222,28 +230,31 @@ async function importRemote(token, companyUid, name, entry, dryRun) {
|
|
|
222
230
|
function renderOutcomes(outcomes) {
|
|
223
231
|
console.log("Connector Outcome Details");
|
|
224
232
|
for (const outcome of outcomes) {
|
|
225
|
-
console.log(`${outcome.name.padEnd(25)} ${outcome.status.padEnd(19)} ${outcome.reason ?? outcome.path ?? ""}`);
|
|
233
|
+
console.log(`${redactUrlsInText(outcome.name).padEnd(25)} ${outcome.status.padEnd(19)} ${redactUrlsInText(outcome.reason ?? outcome.path ?? "")}`);
|
|
226
234
|
}
|
|
227
|
-
for (const outcome of outcomes.filter((item) => item.status === "shared-for-local")) {
|
|
228
|
-
|
|
229
|
-
|
|
235
|
+
for (const outcome of outcomes.filter((item) => item.status === "shared-for-local" || item.status === "personal-for-local")) {
|
|
236
|
+
const label = outcome.status === "personal-for-local" ? "Personal manifest" : "Shared manifest";
|
|
237
|
+
const installLabel = outcome.status === "personal-for-local" ? "Personal install" : "Teammate install";
|
|
238
|
+
console.log(chalk.dim(` ${label}: ${redactUrlsInText(outcome.path ?? "")}`));
|
|
239
|
+
console.log(chalk.dim(` ${installLabel}: ${redactUrlsInText(outcome.installCommand ?? "")}`));
|
|
230
240
|
}
|
|
231
|
-
if (outcomes.some((item) => item.status === "shared-for-local")) {
|
|
241
|
+
if (outcomes.some((item) => item.status === "shared-for-local" || item.status === "personal-for-local")) {
|
|
232
242
|
console.log(chalk.yellow(" Local connector credentials were replaced with ${secret:ENV_NAME}. Set them with `hq secrets` before installing."));
|
|
233
243
|
}
|
|
234
244
|
if (outcomes.some((item) => item.redactedArgumentCredentials)) {
|
|
235
245
|
console.log(chalk.yellow(" Local connector argument credentials were replaced with ${secret:FLAG_NAME}. Set them with `hq secrets` before installing."));
|
|
236
246
|
}
|
|
237
247
|
for (const outcome of outcomes.filter((item) => item.status === "needs-signin")) {
|
|
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}`));
|
|
248
|
+
console.log(chalk.yellow(` ${redactUrlsInText(outcome.name)} needs sign-in: ${redactUrlsInText(outcome.reason ?? "")}`));
|
|
249
|
+
if (outcome.authorizationUrl) {
|
|
250
|
+
console.log(chalk.yellow(` Open this URL to sign in:\n ${redactSensitiveUrl(outcome.authorizationUrl)}`));
|
|
251
|
+
}
|
|
241
252
|
}
|
|
242
253
|
}
|
|
243
254
|
export function registerImportCommands(integrations) {
|
|
244
255
|
integrations
|
|
245
256
|
.command("import")
|
|
246
|
-
.description("Import Claude Desktop connectors into
|
|
257
|
+
.description("Import Claude Desktop connectors into HQ Integrations")
|
|
247
258
|
.option("--company <slug>", "Company slug (defaults to your single active company)")
|
|
248
259
|
.option("--dry-run", "Detect and classify connectors without writing or connecting")
|
|
249
260
|
.option("--only <name[,name...]>", "Import only these Claude Desktop connector names")
|
|
@@ -270,6 +281,7 @@ export function registerImportCommands(integrations) {
|
|
|
270
281
|
const outcomes = [];
|
|
271
282
|
let company;
|
|
272
283
|
let hqRoot;
|
|
284
|
+
const personalSettings = personalConnectorSettingsEnabled();
|
|
273
285
|
const localCompany = async () => company ??= await companyFolderSlug(token, companyUid);
|
|
274
286
|
const localHqRoot = () => hqRoot ??= resolveDefaultHqRoot({ onMissing: "throw" });
|
|
275
287
|
const normalizedNames = new Map();
|
|
@@ -295,13 +307,17 @@ export function registerImportCommands(integrations) {
|
|
|
295
307
|
continue;
|
|
296
308
|
}
|
|
297
309
|
if (isLocal(entry)) {
|
|
298
|
-
const resolvedCompany = await localCompany();
|
|
299
|
-
const target = connectorPath(localHqRoot(), resolvedCompany,
|
|
310
|
+
const resolvedCompany = personalSettings ? undefined : await localCompany();
|
|
311
|
+
const target = connectorPath(localHqRoot(), safeName, resolvedCompany, personalSettings);
|
|
300
312
|
outcomes.push({
|
|
301
313
|
name,
|
|
302
|
-
status: "shared-for-local",
|
|
303
|
-
...(opts.dryRun
|
|
304
|
-
|
|
314
|
+
status: personalSettings ? "personal-for-local" : "shared-for-local",
|
|
315
|
+
...(opts.dryRun
|
|
316
|
+
? { reason: personalSettings ? "would write secret-stripped personal manifest" : "would write secret-stripped local manifest" }
|
|
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}`,
|
|
305
321
|
...(hasRedactedArgumentCredentials(entry) ? { redactedArgumentCredentials: true } : {}),
|
|
306
322
|
});
|
|
307
323
|
// Keep dry-run output useful without leaking a filesystem write target.
|
|
@@ -322,7 +338,7 @@ export function registerImportCommands(integrations) {
|
|
|
322
338
|
});
|
|
323
339
|
integrations
|
|
324
340
|
.command("install-local <name>")
|
|
325
|
-
.description("
|
|
341
|
+
.description("Install local connector settings in this machine's Claude/Codex MCP config")
|
|
326
342
|
.option("--company <slug>", "Company slug (defaults to your single active company)")
|
|
327
343
|
.option("--json", "Machine-readable registration result")
|
|
328
344
|
.action(async (name, opts) => {
|
|
@@ -332,11 +348,12 @@ export function registerImportCommands(integrations) {
|
|
|
332
348
|
}
|
|
333
349
|
const token = await ensureCognitoToken();
|
|
334
350
|
const companyUid = await getCompanyUid(token, opts.company);
|
|
335
|
-
const
|
|
351
|
+
const personalSettings = personalConnectorSettingsEnabled();
|
|
352
|
+
const company = personalSettings ? undefined : await companyFolderSlug(token, companyUid);
|
|
336
353
|
const hqRoot = resolveDefaultHqRoot({ onMissing: "throw" });
|
|
337
|
-
const manifestPath = connectorPath(hqRoot, company,
|
|
354
|
+
const manifestPath = connectorPath(hqRoot, safeName, company, personalSettings);
|
|
338
355
|
if (!fs.existsSync(manifestPath)) {
|
|
339
|
-
throw new IntegrationsCliError(`
|
|
356
|
+
throw new IntegrationsCliError(`Connector settings not found: ${manifestPath}`, { expected: true });
|
|
340
357
|
}
|
|
341
358
|
let manifest;
|
|
342
359
|
try {
|
|
@@ -344,15 +361,17 @@ export function registerImportCommands(integrations) {
|
|
|
344
361
|
}
|
|
345
362
|
catch (error) {
|
|
346
363
|
const message = error instanceof Error ? error.message : String(error);
|
|
347
|
-
throw new IntegrationsCliError(`Could not parse
|
|
364
|
+
throw new IntegrationsCliError(`Could not parse connector settings ${manifestPath}: ${message}`, { expected: true });
|
|
348
365
|
}
|
|
349
366
|
const secretNames = [...Object.values({ ...(manifest.env ?? {}), ...(manifest.headers ?? {}) }), ...(manifest.args ?? [])]
|
|
350
367
|
.flatMap((value) => [...value.matchAll(/\$\{secret:([A-Z][A-Z0-9_]*(?:\/[A-Z][A-Z0-9_]*)*)\}/g)].map((match) => match[1]));
|
|
351
|
-
const secrets = await loadRevealedSecrets(token, companyUid, secretNames
|
|
368
|
+
const secrets = await loadRevealedSecrets(token, companyUid, secretNames, undefined, {
|
|
369
|
+
allowOfflineFallback: false,
|
|
370
|
+
});
|
|
352
371
|
const result = registerServer({
|
|
353
372
|
name: safeName,
|
|
354
373
|
manifest,
|
|
355
|
-
pack: `company-${company}-connectors`,
|
|
374
|
+
pack: personalSettings ? "personal-connectors" : `company-${company}-connectors`,
|
|
356
375
|
resolveSecret: (secret) => secrets.get(secret) ?? null,
|
|
357
376
|
});
|
|
358
377
|
if (opts.json)
|