@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
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* classes, and if so exactly which file or hook id to act on. This module is the
|
|
8
8
|
* single classifier that turns a {@link CheckResult} into that structured shape.
|
|
9
9
|
*
|
|
10
|
-
* The
|
|
11
|
-
*
|
|
10
|
+
* The auto-fixable classes are a deliberate, security-reviewed allowlist
|
|
11
|
+
* (see the PRD decision record):
|
|
12
12
|
*
|
|
13
13
|
* - `executable-bit` — restore the execute bit on a hook script that exists
|
|
14
14
|
* but lost `+x`. Detected by the shared `chmod +x …`
|
|
@@ -17,8 +17,16 @@
|
|
|
17
17
|
* - `gate-profile` — add a gated hook id to the `hook-gate.sh` profile
|
|
18
18
|
* allowlists it is missing from. Detected by the
|
|
19
19
|
* `…gate-profiles` FAIL from the Claude wiring tier.
|
|
20
|
-
* - `
|
|
21
|
-
*
|
|
20
|
+
* - `remove-stray-gate-entries` — delete matcher-less hook-gate.sh
|
|
21
|
+
* registrations an older `--fix` wrote into
|
|
22
|
+
* settings.json / settings.local.json. Detected by the
|
|
23
|
+
* `…stray-gate-registration` FAIL. (An orphan script is
|
|
24
|
+
* never auto-registered: that is what created them.)
|
|
25
|
+
* - `refresh-sync` — run a targeted pull for a company journal that is
|
|
26
|
+
* stale or never-synced AND has a local
|
|
27
|
+
* `companies/<slug>` tree. Pull-only, `--on-conflict
|
|
28
|
+
* keep`, no hook-file rewrite. Personal journals and
|
|
29
|
+
* leftover shards without a local tree stay manual.
|
|
22
30
|
*
|
|
23
31
|
* EVERYTHING else — content drift between platform copies, a missing script, a
|
|
24
32
|
* missing Codex counterpart, an unquoted `$CLAUDE_PROJECT_DIR`, a stale
|
|
@@ -28,6 +36,7 @@
|
|
|
28
36
|
* content-drift finding is manual-only, because that boundary is load-bearing:
|
|
29
37
|
* deciding which of two diverged copies is correct needs human judgement.
|
|
30
38
|
*/
|
|
39
|
+
import { isCompanyJournalSlug, journalSlugFromCheckId, } from "../checks/sync-health.js";
|
|
31
40
|
/** Matches an exec-bit remediation command, quoted or not: `chmod +x <path>`. */
|
|
32
41
|
const CHMOD_EXEC = /^chmod\s+\+x\s+(.+)$/;
|
|
33
42
|
/**
|
|
@@ -80,14 +89,45 @@ export function deriveRemediation(result) {
|
|
|
80
89
|
command: remediation ?? `Add ${target} to the missing hook-gate.sh profiles.`,
|
|
81
90
|
};
|
|
82
91
|
}
|
|
83
|
-
//
|
|
84
|
-
|
|
92
|
+
// remove-stray-gate-entries — matcher-less hook-gate.sh registrations that an
|
|
93
|
+
// older doctor wrote. They fire on every tool call and block the session.
|
|
94
|
+
//
|
|
95
|
+
// There is deliberately NO auto-fix for an orphan script. Registering it with
|
|
96
|
+
// no matcher is exactly what created the stray entries; the right event and
|
|
97
|
+
// matcher can only be chosen by a person (hook-registry.json).
|
|
98
|
+
if (checkId.endsWith(".stray-gate-registration") && result.status === "FAIL" && target) {
|
|
85
99
|
return {
|
|
86
100
|
autoFixable: true,
|
|
87
|
-
fixClass: "
|
|
101
|
+
fixClass: "remove-stray-gate-entries",
|
|
88
102
|
fixTarget: target,
|
|
89
|
-
action: `
|
|
90
|
-
command: remediation ?? `
|
|
103
|
+
action: `Remove the matcher-less hook-gate.sh registrations from ${target}.`,
|
|
104
|
+
command: remediation ?? `Remove the matcher-less hook-gate.sh entries from ${target}.`,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
// bot-node-path — a bot LaunchAgent that names node by a versioned path
|
|
108
|
+
// (…/Cellar/node/<v>/bin/node) that an upgrade removed or will remove.
|
|
109
|
+
// The repair rewrites only the plist file; it never reloads launchd, so it
|
|
110
|
+
// cannot cut a running turn short or start a stopped bot.
|
|
111
|
+
if (checkId.endsWith(".daemon-node") && checkId.startsWith("bots.") && target) {
|
|
112
|
+
return {
|
|
113
|
+
autoFixable: true,
|
|
114
|
+
fixClass: "bot-node-path",
|
|
115
|
+
fixTarget: target,
|
|
116
|
+
action: `Rewrite the ${target} startup agent to run node from its upgrade-stable path (applies at the bot's next start).`,
|
|
117
|
+
command: remediation ?? `hq bot start ${target}`,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
// refresh-sync — a company journal that is stale or never-synced. Only
|
|
121
|
+
// company slugs: personal shards have no companies/<slug> tree and a
|
|
122
|
+
// SessionStart `--fix --yes` must not pull the personal vault unprompted.
|
|
123
|
+
const journalSlug = journalSlugFromCheckId(checkId);
|
|
124
|
+
if (journalSlug && isCompanyJournalSlug(journalSlug)) {
|
|
125
|
+
return {
|
|
126
|
+
autoFixable: true,
|
|
127
|
+
fixClass: "refresh-sync",
|
|
128
|
+
fixTarget: journalSlug,
|
|
129
|
+
action: `Pull company '${journalSlug}' to refresh its sync journal (keeps local conflict copies).`,
|
|
130
|
+
command: `hq sync pull --company ${journalSlug} --on-conflict keep`,
|
|
91
131
|
};
|
|
92
132
|
}
|
|
93
133
|
// Manual-only: content drift, missing scripts/counterparts, unquoted
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
* module owns only the classification semantics, so both the doctor and its
|
|
28
28
|
* tests agree on what a case outcome means.
|
|
29
29
|
*/
|
|
30
|
+
import { isRecord } from "../shared.js";
|
|
30
31
|
/**
|
|
31
32
|
* Every fixture schema version this build of the CLI can interpret. A fixture
|
|
32
33
|
* declaring a version outside this set is reported UNKNOWN, never PASS — see
|
|
@@ -242,7 +243,4 @@ export function classifyCaseStatus(met, expectedFailure) {
|
|
|
242
243
|
return met ? "WARN" : "KNOWN-DEFECT";
|
|
243
244
|
return met ? "PASS" : "FAIL";
|
|
244
245
|
}
|
|
245
|
-
function isRecord(value) {
|
|
246
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
247
|
-
}
|
|
248
246
|
//# sourceMappingURL=schema.js.map
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* per-item result shape where both are optional.
|
|
19
19
|
*/
|
|
20
20
|
import { type DoctorPlatform, type StatusCounts } from "./report.js";
|
|
21
|
-
import type { DoctorStatus, FamilyRun } from "./types.js";
|
|
21
|
+
import type { DoctorStatus, FamilyRun, SyncReasonCode } from "./types.js";
|
|
22
22
|
/**
|
|
23
23
|
* The `--json` schema version. Bump on any breaking change to the document
|
|
24
24
|
* shape; the snapshot test in report.test.ts fails until the bump is
|
|
@@ -50,6 +50,10 @@ export interface DoctorJsonResult {
|
|
|
50
50
|
family: string;
|
|
51
51
|
/** Stable machine id for the check, e.g. `hooks.settings-present`. */
|
|
52
52
|
checkId: string;
|
|
53
|
+
/** Stable classification for the sync family; contains no customer data. */
|
|
54
|
+
reasonCode?: SyncReasonCode;
|
|
55
|
+
/** Present only when this result's company opted in through hq-flags. */
|
|
56
|
+
clientHealthReasonCodesEnabled?: true;
|
|
53
57
|
/** What was inspected. Present only when the result carries one. */
|
|
54
58
|
target?: string;
|
|
55
59
|
/** Human-readable explanation. */
|
|
@@ -71,6 +75,14 @@ export interface DoctorJsonDocument {
|
|
|
71
75
|
summary: StatusCounts;
|
|
72
76
|
/** The exit code this run produced: 0, or 1 when any FAIL/UNKNOWN is present. */
|
|
73
77
|
exitCode: number;
|
|
78
|
+
/**
|
|
79
|
+
* The check families this run was restricted to (`--only`), in registration
|
|
80
|
+
* order. ABSENT on a full run, which is the only reading a consumer may treat
|
|
81
|
+
* as a verdict on the whole tree: a scoped document reports nothing at all
|
|
82
|
+
* about the families that never ran, and "no FAILs" in it must not be
|
|
83
|
+
* mistaken for a healthy tree.
|
|
84
|
+
*/
|
|
85
|
+
scope?: string[];
|
|
74
86
|
/** The full, flattened result list in family/registration order. */
|
|
75
87
|
results: DoctorJsonResult[];
|
|
76
88
|
}
|
|
@@ -82,6 +94,10 @@ export interface BuildDoctorJsonInput {
|
|
|
82
94
|
families: FamilyRun[];
|
|
83
95
|
/** Detected platform. Defaults to {@link UNKNOWN_PLATFORM}. */
|
|
84
96
|
platform?: DoctorPlatform;
|
|
97
|
+
/** Families this run was restricted to. Omitted on a full run. */
|
|
98
|
+
scope?: readonly string[];
|
|
99
|
+
/** Check ids whose own company enabled diagnostic reason codes in hq-flags. */
|
|
100
|
+
clientHealthReasonCodesEnabledCheckIds?: ReadonlySet<string>;
|
|
85
101
|
}
|
|
86
102
|
/** Assemble the machine-readable document from a completed run. */
|
|
87
103
|
export declare function buildDoctorJson(input: BuildDoctorJsonInput): DoctorJsonDocument;
|
|
@@ -34,7 +34,7 @@ export function buildDoctorJson(input) {
|
|
|
34
34
|
const results = [];
|
|
35
35
|
for (const run of input.families) {
|
|
36
36
|
for (const result of run.results) {
|
|
37
|
-
results.push(toJsonResult(run.family.id, result));
|
|
37
|
+
results.push(toJsonResult(run.family.id, result, input.clientHealthReasonCodesEnabledCheckIds));
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
return {
|
|
@@ -43,16 +43,21 @@ export function buildDoctorJson(input) {
|
|
|
43
43
|
hqRoot: input.hqRoot,
|
|
44
44
|
summary: summarize(input.families),
|
|
45
45
|
exitCode: computeExitCode(input.families),
|
|
46
|
+
...(input.scope && input.scope.length > 0 ? { scope: [...input.scope] } : {}),
|
|
46
47
|
results,
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
50
|
/** Convert one {@link CheckResult} into its JSON form, omitting empty optionals. */
|
|
50
|
-
function toJsonResult(familyId, result) {
|
|
51
|
+
function toJsonResult(familyId, result, clientHealthReasonCodesEnabledCheckIds) {
|
|
51
52
|
const remediation = deriveRemediation(result);
|
|
52
53
|
return {
|
|
53
54
|
status: result.status,
|
|
54
55
|
family: familyId,
|
|
55
56
|
checkId: result.checkId,
|
|
57
|
+
...(result.reasonCode !== undefined ? { reasonCode: result.reasonCode } : {}),
|
|
58
|
+
...(clientHealthReasonCodesEnabledCheckIds?.has(result.checkId)
|
|
59
|
+
? { clientHealthReasonCodesEnabled: true }
|
|
60
|
+
: {}),
|
|
56
61
|
...(result.target !== undefined ? { target: result.target } : {}),
|
|
57
62
|
message: result.message,
|
|
58
63
|
...(result.remediation !== undefined
|
|
@@ -126,24 +126,8 @@ export declare function claudeCodeFlagEvidence(env: NodeJS.ProcessEnv): Platform
|
|
|
126
126
|
* `com.googlecode.iterm2`), so this fires only under a real desktop host.
|
|
127
127
|
*/
|
|
128
128
|
export declare function bundleIdEvidence(env: NodeJS.ProcessEnv): PlatformEvidence | null;
|
|
129
|
-
/**
|
|
130
|
-
* Codex runtime environment variables, kept in parity with the canonical shell
|
|
131
|
-
* detector `core/scripts/lib/detect-codex.sh`. Presence of any is a strong Codex
|
|
132
|
-
* signal. One evidence entry is produced per variable found so a single Codex
|
|
133
|
-
* signal can be tested in isolation.
|
|
134
|
-
*/
|
|
135
|
-
export declare const CODEX_ENV_VARS: readonly ["CODEX_SANDBOX", "CODEX_SESSION_ID", "CODEX_EXECUTION_ID", "CODEX_AGENT_ID", "CODEX_THREAD_ID", "CODEX_SHELL", "CODEX_CI", "CODEX_INTERNAL_ORIGINATOR_OVERRIDE", "OPENAI_CODEX"];
|
|
136
129
|
/** Every Codex environment signal present in `env`, one entry per variable. */
|
|
137
130
|
export declare function codexEnvEvidence(env: NodeJS.ProcessEnv): PlatformEvidence[];
|
|
138
|
-
/**
|
|
139
|
-
* Grok runtime environment variables. Restricted to variables the Grok host
|
|
140
|
-
* exports into the session (a session id, its workspace root) — HQ's own Grok
|
|
141
|
-
* *launcher* variables (`GROK_BIN`, `GROK_CONFIG`, `XAI_API_KEY`, …) are
|
|
142
|
-
* excluded on purpose: those can be set inside a Claude or Codex session that is
|
|
143
|
-
* merely preparing to launch Grok, and treating them as "we are running under
|
|
144
|
-
* Grok" would be a false positive.
|
|
145
|
-
*/
|
|
146
|
-
export declare const GROK_ENV_VARS: readonly ["GROK_SESSION_ID", "GROK_WORKSPACE_ROOT"];
|
|
147
131
|
/** Every Grok environment signal present in `env`, one entry per variable. */
|
|
148
132
|
export declare function grokEnvEvidence(env: NodeJS.ProcessEnv): PlatformEvidence[];
|
|
149
133
|
/**
|
|
@@ -157,10 +141,6 @@ export declare function grokEnvEvidence(env: NodeJS.ProcessEnv): PlatformEvidenc
|
|
|
157
141
|
* on its environment signals instead, and this function does not guess it.
|
|
158
142
|
*/
|
|
159
143
|
export declare function ancestryEvidence(ancestors: AncestorProcess[]): PlatformEvidence[];
|
|
160
|
-
/** The one command this module ever launches to read process ancestry. */
|
|
161
|
-
export declare const PS_COMMAND = "ps";
|
|
162
|
-
/** `ps` arguments: every process as `pid ppid comm`, header-suppressed. */
|
|
163
|
-
export declare const PS_ARGS: readonly ["-Ao", "pid=,ppid=,comm="];
|
|
164
144
|
/**
|
|
165
145
|
* Low-level process-table provider: runs a command and returns its stdout, or
|
|
166
146
|
* `null` on failure. This is the single seam through which any process is
|
|
@@ -186,12 +166,6 @@ export interface ReadAncestryOptions {
|
|
|
186
166
|
* environment signals rather than throwing.
|
|
187
167
|
*/
|
|
188
168
|
export declare function readProcessAncestry(options?: ReadAncestryOptions): AncestorProcess[];
|
|
189
|
-
/**
|
|
190
|
-
* Collect the environment signals, in a stable order: entrypoint, the Claude
|
|
191
|
-
* flag, bundle id, Codex vars, then Grok vars. Process ancestry is collected
|
|
192
|
-
* separately (and lazily) by {@link detectPlatform}.
|
|
193
|
-
*/
|
|
194
|
-
export declare function collectEnvEvidence(env: NodeJS.ProcessEnv): PlatformEvidence[];
|
|
195
169
|
/**
|
|
196
170
|
* Collect every signal from an environment and an explicit ancestor chain, in a
|
|
197
171
|
* stable order: environment signals first, then process ancestry. Exposed for
|
|
@@ -150,7 +150,7 @@ function looksLikeClaudeDesktopBundle(id) {
|
|
|
150
150
|
* signal. One evidence entry is produced per variable found so a single Codex
|
|
151
151
|
* signal can be tested in isolation.
|
|
152
152
|
*/
|
|
153
|
-
|
|
153
|
+
const CODEX_ENV_VARS = [
|
|
154
154
|
"CODEX_SANDBOX",
|
|
155
155
|
"CODEX_SESSION_ID",
|
|
156
156
|
"CODEX_EXECUTION_ID",
|
|
@@ -185,7 +185,7 @@ export function codexEnvEvidence(env) {
|
|
|
185
185
|
* merely preparing to launch Grok, and treating them as "we are running under
|
|
186
186
|
* Grok" would be a false positive.
|
|
187
187
|
*/
|
|
188
|
-
|
|
188
|
+
const GROK_ENV_VARS = ["GROK_SESSION_ID", "GROK_WORKSPACE_ROOT"];
|
|
189
189
|
/** Every Grok environment signal present in `env`, one entry per variable. */
|
|
190
190
|
export function grokEnvEvidence(env) {
|
|
191
191
|
const found = [];
|
|
@@ -249,9 +249,9 @@ const DEFAULT_MAX_HOPS = 20;
|
|
|
249
249
|
/** Wall-clock bound for the single `ps` snapshot, keeping startup fast. */
|
|
250
250
|
const PS_TIMEOUT_MS = 250;
|
|
251
251
|
/** The one command this module ever launches to read process ancestry. */
|
|
252
|
-
|
|
252
|
+
const PS_COMMAND = "ps";
|
|
253
253
|
/** `ps` arguments: every process as `pid ppid comm`, header-suppressed. */
|
|
254
|
-
|
|
254
|
+
const PS_ARGS = ["-Ao", "pid=,ppid=,comm="];
|
|
255
255
|
/**
|
|
256
256
|
* Read this process's ancestor chain (nearest parent first) by taking one `ps`
|
|
257
257
|
* snapshot of the process table and walking parent pointers upward. A single
|
|
@@ -330,7 +330,7 @@ function defaultPsSpawner(command, args) {
|
|
|
330
330
|
* flag, bundle id, Codex vars, then Grok vars. Process ancestry is collected
|
|
331
331
|
* separately (and lazily) by {@link detectPlatform}.
|
|
332
332
|
*/
|
|
333
|
-
|
|
333
|
+
function collectEnvEvidence(env) {
|
|
334
334
|
const evidence = [];
|
|
335
335
|
const entrypoint = entrypointEvidence(env);
|
|
336
336
|
if (entrypoint)
|
|
@@ -27,6 +27,20 @@ export declare class DoctorRegistry {
|
|
|
27
27
|
families(): CheckFamily[];
|
|
28
28
|
/** Whether a family with this id is registered. */
|
|
29
29
|
has(id: string): boolean;
|
|
30
|
+
/** The registered family ids, in registration order. */
|
|
31
|
+
ids(): string[];
|
|
32
|
+
/**
|
|
33
|
+
* A registry holding only the named families, still in REGISTRATION order —
|
|
34
|
+
* the caller's argument order is a selection, not a reordering, so a scoped
|
|
35
|
+
* report reads the same way as a full one.
|
|
36
|
+
*
|
|
37
|
+
* Unknown ids are returned rather than ignored: running zero checks and
|
|
38
|
+
* reporting success would describe a tree nothing looked at.
|
|
39
|
+
*/
|
|
40
|
+
select(ids: readonly string[]): {
|
|
41
|
+
registry: DoctorRegistry;
|
|
42
|
+
unknown: string[];
|
|
43
|
+
};
|
|
30
44
|
/** Run every family in order and collect grouped results. */
|
|
31
45
|
run(context: CheckContext): Promise<FamilyRun[]>;
|
|
32
46
|
}
|
|
@@ -22,6 +22,8 @@ import { runtimeHealthFamily } from "./checks/runtime-health.js";
|
|
|
22
22
|
import { integrationsFamily } from "./checks/integrations.js";
|
|
23
23
|
import { syncHealthFamily } from "./checks/sync-health.js";
|
|
24
24
|
import { workContextFamily } from "./checks/work-context.js";
|
|
25
|
+
import { botsFamily } from "./checks/bots.js";
|
|
26
|
+
import { scaffoldCliFloorFamily } from "./checks/scaffold-cli-floor.js";
|
|
25
27
|
import { fixtureCoverageFamily } from "./fixtures/discover.js";
|
|
26
28
|
import { checkClaudeWiring } from "./checks/claude-wiring.js";
|
|
27
29
|
/**
|
|
@@ -43,6 +45,28 @@ export class DoctorRegistry {
|
|
|
43
45
|
has(id) {
|
|
44
46
|
return this.familiesById.has(id);
|
|
45
47
|
}
|
|
48
|
+
/** The registered family ids, in registration order. */
|
|
49
|
+
ids() {
|
|
50
|
+
return [...this.familiesById.keys()];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* A registry holding only the named families, still in REGISTRATION order —
|
|
54
|
+
* the caller's argument order is a selection, not a reordering, so a scoped
|
|
55
|
+
* report reads the same way as a full one.
|
|
56
|
+
*
|
|
57
|
+
* Unknown ids are returned rather than ignored: running zero checks and
|
|
58
|
+
* reporting success would describe a tree nothing looked at.
|
|
59
|
+
*/
|
|
60
|
+
select(ids) {
|
|
61
|
+
const wanted = new Set(ids);
|
|
62
|
+
const unknown = [...wanted].filter((id) => !this.familiesById.has(id));
|
|
63
|
+
const registry = new DoctorRegistry();
|
|
64
|
+
for (const family of this.families()) {
|
|
65
|
+
if (wanted.has(family.id))
|
|
66
|
+
registry.register(family);
|
|
67
|
+
}
|
|
68
|
+
return { registry, unknown };
|
|
69
|
+
}
|
|
46
70
|
/** Run every family in order and collect grouped results. */
|
|
47
71
|
async run(context) {
|
|
48
72
|
const runs = [];
|
|
@@ -125,6 +149,7 @@ function runClaudeSettingsCheck(context) {
|
|
|
125
149
|
];
|
|
126
150
|
}
|
|
127
151
|
const count = countHookRegistrations(parsed);
|
|
152
|
+
const missingRequiredEvents = missingRequiredCommandHookEvents(parsed);
|
|
128
153
|
return [
|
|
129
154
|
{
|
|
130
155
|
status: "PASS",
|
|
@@ -132,6 +157,17 @@ function runClaudeSettingsCheck(context) {
|
|
|
132
157
|
target: settingsPath,
|
|
133
158
|
message: `.claude/settings.json is present and valid (${count} hook registration${count === 1 ? "" : "s"}).`,
|
|
134
159
|
},
|
|
160
|
+
{
|
|
161
|
+
status: missingRequiredEvents.length === 0 ? "PASS" : "FAIL",
|
|
162
|
+
checkId: "hooks.settings-required-command-hooks",
|
|
163
|
+
target: settingsPath,
|
|
164
|
+
message: missingRequiredEvents.length === 0
|
|
165
|
+
? ".claude/settings.json registers command hooks for SessionStart and PreToolUse."
|
|
166
|
+
: `.claude/settings.json has no command hook for ${missingRequiredEvents.join(" or ")}.`,
|
|
167
|
+
remediation: missingRequiredEvents.length === 0
|
|
168
|
+
? undefined
|
|
169
|
+
: "Restore the canonical hook registrations, e.g. `hq rescue -y --paths .claude`.",
|
|
170
|
+
},
|
|
135
171
|
// US-004+: the settings file is present and valid, so the full Claude wiring
|
|
136
172
|
// checks (script existence and executability, orphaned scripts, three-profile
|
|
137
173
|
// membership, unquoted $CLAUDE_PROJECT_DIR, and core/hooks/<Event>/ executable
|
|
@@ -162,6 +198,37 @@ function countHookRegistrations(settings) {
|
|
|
162
198
|
}
|
|
163
199
|
return count;
|
|
164
200
|
}
|
|
201
|
+
/** The lifecycle events whose command hooks make the settings file operational. */
|
|
202
|
+
const REQUIRED_COMMAND_HOOK_EVENTS = ["SessionStart", "PreToolUse"];
|
|
203
|
+
/**
|
|
204
|
+
* Return each required lifecycle event that has no command hook with a non-empty
|
|
205
|
+
* command string. This deliberately mirrors check-hq-hooks.sh's jq predicate.
|
|
206
|
+
*/
|
|
207
|
+
function missingRequiredCommandHookEvents(settings) {
|
|
208
|
+
return REQUIRED_COMMAND_HOOK_EVENTS.filter((event) => !hasCommandHook(settings, event));
|
|
209
|
+
}
|
|
210
|
+
function hasCommandHook(settings, event) {
|
|
211
|
+
if (!settings || typeof settings !== "object")
|
|
212
|
+
return false;
|
|
213
|
+
const hooks = settings.hooks;
|
|
214
|
+
if (!hooks || typeof hooks !== "object")
|
|
215
|
+
return false;
|
|
216
|
+
const eventEntries = hooks[event];
|
|
217
|
+
if (!Array.isArray(eventEntries))
|
|
218
|
+
return false;
|
|
219
|
+
return eventEntries.some((entry) => {
|
|
220
|
+
if (!entry || typeof entry !== "object")
|
|
221
|
+
return false;
|
|
222
|
+
const commandHooks = entry.hooks;
|
|
223
|
+
if (!Array.isArray(commandHooks))
|
|
224
|
+
return false;
|
|
225
|
+
return commandHooks.some((hook) => !!hook &&
|
|
226
|
+
typeof hook === "object" &&
|
|
227
|
+
hook.type === "command" &&
|
|
228
|
+
typeof hook.command === "string" &&
|
|
229
|
+
hook.command.length > 0);
|
|
230
|
+
});
|
|
231
|
+
}
|
|
165
232
|
/**
|
|
166
233
|
* Build a registry pre-loaded with the default families. Hooks is the first
|
|
167
234
|
* family; later families are registered here as they are implemented, each
|
|
@@ -170,6 +237,7 @@ function countHookRegistrations(settings) {
|
|
|
170
237
|
export function createDefaultRegistry() {
|
|
171
238
|
const registry = new DoctorRegistry();
|
|
172
239
|
registry.register(hooksFamily);
|
|
240
|
+
registry.register(scaffoldCliFloorFamily);
|
|
173
241
|
// Fixture coverage (US-007): reports UNTESTED for every registered hook with
|
|
174
242
|
// no fixture and prints the tested/total coverage line. A separate family so
|
|
175
243
|
// it needs no change to the hooks tier, per the registry's extensibility
|
|
@@ -191,6 +259,9 @@ export function createDefaultRegistry() {
|
|
|
191
259
|
// Work context (US-007A): session state files, outbox depth/quarantine,
|
|
192
260
|
// and default-company mode. Local-only reads under ~/.hq/work-context.
|
|
193
261
|
registry.register(workContextFamily);
|
|
262
|
+
// Local bots: inbox/heartbeat reachability and a LaunchAgent whose hq
|
|
263
|
+
// path survived an HQ toolchain move. Local-only reads.
|
|
264
|
+
registry.register(botsFamily);
|
|
194
265
|
return registry;
|
|
195
266
|
}
|
|
196
267
|
//# sourceMappingURL=registry.js.map
|
|
@@ -103,7 +103,7 @@ export function renderText(options) {
|
|
|
103
103
|
const pad = " ".repeat(STATUS_LABEL_WIDTH);
|
|
104
104
|
const lines = [];
|
|
105
105
|
lines.push(`hq doctor — HQ root: ${hqRoot}`);
|
|
106
|
-
lines.push(`
|
|
106
|
+
lines.push(`Agent platform: ${platform.id}`);
|
|
107
107
|
for (const run of families) {
|
|
108
108
|
lines.push("");
|
|
109
109
|
lines.push(`${run.family.title} (${run.family.id})`);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Collect every `command` string from a `{hooks:{Event:[{hooks:[…]}]}}` doc. */
|
|
2
|
+
export declare function collectCommands(parsed: unknown): string[];
|
|
3
|
+
export declare function fileState(target: string): {
|
|
4
|
+
present: boolean;
|
|
5
|
+
executable: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
8
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
/** Collect every `command` string from a `{hooks:{Event:[{hooks:[…]}]}}` doc. */
|
|
3
|
+
export function collectCommands(parsed) {
|
|
4
|
+
const commands = [];
|
|
5
|
+
if (!parsed || typeof parsed !== "object")
|
|
6
|
+
return commands;
|
|
7
|
+
const hooks = parsed.hooks;
|
|
8
|
+
if (!hooks || typeof hooks !== "object")
|
|
9
|
+
return commands;
|
|
10
|
+
for (const entries of Object.values(hooks)) {
|
|
11
|
+
if (!Array.isArray(entries))
|
|
12
|
+
continue;
|
|
13
|
+
for (const entry of entries) {
|
|
14
|
+
const inner = entry?.hooks;
|
|
15
|
+
if (!Array.isArray(inner))
|
|
16
|
+
continue;
|
|
17
|
+
for (const hook of inner) {
|
|
18
|
+
const command = hook?.command;
|
|
19
|
+
if (typeof command === "string")
|
|
20
|
+
commands.push(command);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return commands;
|
|
25
|
+
}
|
|
26
|
+
export function fileState(target) {
|
|
27
|
+
try {
|
|
28
|
+
const stat = fs.statSync(target);
|
|
29
|
+
return { present: stat.isFile(), executable: (stat.mode & 0o111) !== 0 };
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return { present: false, executable: false };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function isRecord(value) {
|
|
36
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stray gate registrations written by an old `hq doctor --fix`.
|
|
3
|
+
*
|
|
4
|
+
* hq-cli v5.99.0 through v5.118.x "re-registered" every hook script that no
|
|
5
|
+
* settings command named. Since HQ moved to a single master-hook.sh entry that
|
|
6
|
+
* dispatches from .claude/hooks/hook-registry.json, EVERY script looked
|
|
7
|
+
* unregistered, so doctor appended one PreToolUse entry per script with no
|
|
8
|
+
* matcher:
|
|
9
|
+
*
|
|
10
|
+
* { "hooks": [{ "type": "command", "timeout": 5,
|
|
11
|
+
* "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/hook-gate.sh\" <id> \"$CLAUDE_PROJECT_DIR/.claude/hooks/<id>.sh\"" }] }
|
|
12
|
+
*
|
|
13
|
+
* With no matcher Claude Code runs each of them on every tool call, so guards
|
|
14
|
+
* such as block-hq-glob and protect-core block Bash, Skill and Read. An HQ
|
|
15
|
+
* update later moves them from settings.json into settings.local.json as
|
|
16
|
+
* "user customizations", where the release reset no longer clears them.
|
|
17
|
+
*
|
|
18
|
+
* Detection is deliberately exact: only an entry with no matcher, exactly one
|
|
19
|
+
* hook, timeout 5, and the doctor-generated command for a matching id counts.
|
|
20
|
+
* A hand-written hook is never touched.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isStrayGateEntry(entry: unknown): boolean;
|
|
23
|
+
/** Count stray entries across every hook event in a parsed settings object. */
|
|
24
|
+
export declare function countStrayGateEntries(settings: unknown): number;
|
|
25
|
+
/**
|
|
26
|
+
* Return a copy of `settings` with every stray entry removed. An event array
|
|
27
|
+
* left empty is dropped, and an empty `hooks` map is dropped, so a file whose
|
|
28
|
+
* only hooks were strays goes back to its original shape. Everything else,
|
|
29
|
+
* including permissions and real hooks, is preserved.
|
|
30
|
+
*/
|
|
31
|
+
export declare function removeStrayGateEntries(settings: unknown): {
|
|
32
|
+
settings: unknown;
|
|
33
|
+
removed: number;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=stray-gate-entries.d.ts.map
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stray gate registrations written by an old `hq doctor --fix`.
|
|
3
|
+
*
|
|
4
|
+
* hq-cli v5.99.0 through v5.118.x "re-registered" every hook script that no
|
|
5
|
+
* settings command named. Since HQ moved to a single master-hook.sh entry that
|
|
6
|
+
* dispatches from .claude/hooks/hook-registry.json, EVERY script looked
|
|
7
|
+
* unregistered, so doctor appended one PreToolUse entry per script with no
|
|
8
|
+
* matcher:
|
|
9
|
+
*
|
|
10
|
+
* { "hooks": [{ "type": "command", "timeout": 5,
|
|
11
|
+
* "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/hook-gate.sh\" <id> \"$CLAUDE_PROJECT_DIR/.claude/hooks/<id>.sh\"" }] }
|
|
12
|
+
*
|
|
13
|
+
* With no matcher Claude Code runs each of them on every tool call, so guards
|
|
14
|
+
* such as block-hq-glob and protect-core block Bash, Skill and Read. An HQ
|
|
15
|
+
* update later moves them from settings.json into settings.local.json as
|
|
16
|
+
* "user customizations", where the release reset no longer clears them.
|
|
17
|
+
*
|
|
18
|
+
* Detection is deliberately exact: only an entry with no matcher, exactly one
|
|
19
|
+
* hook, timeout 5, and the doctor-generated command for a matching id counts.
|
|
20
|
+
* A hand-written hook is never touched.
|
|
21
|
+
*/
|
|
22
|
+
const GENERATED_COMMAND = /^bash "\$CLAUDE_PROJECT_DIR\/\.claude\/hooks\/hook-gate\.sh" ([A-Za-z0-9._-]+) "\$CLAUDE_PROJECT_DIR\/\.claude\/hooks\/([A-Za-z0-9._-]+)\.sh"$/;
|
|
23
|
+
export function isStrayGateEntry(entry) {
|
|
24
|
+
if (!entry || typeof entry !== "object" || Array.isArray(entry))
|
|
25
|
+
return false;
|
|
26
|
+
const e = entry;
|
|
27
|
+
if (e.matcher !== undefined)
|
|
28
|
+
return false;
|
|
29
|
+
const keys = Object.keys(e);
|
|
30
|
+
if (keys.length !== 1 || keys[0] !== "hooks")
|
|
31
|
+
return false;
|
|
32
|
+
if (!Array.isArray(e.hooks) || e.hooks.length !== 1)
|
|
33
|
+
return false;
|
|
34
|
+
const hook = e.hooks[0];
|
|
35
|
+
if (!hook || hook.type !== "command" || hook.timeout !== 5 || typeof hook.command !== "string")
|
|
36
|
+
return false;
|
|
37
|
+
const m = GENERATED_COMMAND.exec(hook.command);
|
|
38
|
+
return !!m && m[1] === m[2];
|
|
39
|
+
}
|
|
40
|
+
/** Count stray entries across every hook event in a parsed settings object. */
|
|
41
|
+
export function countStrayGateEntries(settings) {
|
|
42
|
+
const hooks = settings?.hooks;
|
|
43
|
+
if (!hooks || typeof hooks !== "object")
|
|
44
|
+
return 0;
|
|
45
|
+
let n = 0;
|
|
46
|
+
for (const entries of Object.values(hooks)) {
|
|
47
|
+
if (Array.isArray(entries))
|
|
48
|
+
n += entries.filter(isStrayGateEntry).length;
|
|
49
|
+
}
|
|
50
|
+
return n;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Return a copy of `settings` with every stray entry removed. An event array
|
|
54
|
+
* left empty is dropped, and an empty `hooks` map is dropped, so a file whose
|
|
55
|
+
* only hooks were strays goes back to its original shape. Everything else,
|
|
56
|
+
* including permissions and real hooks, is preserved.
|
|
57
|
+
*/
|
|
58
|
+
export function removeStrayGateEntries(settings) {
|
|
59
|
+
if (!settings || typeof settings !== "object" || Array.isArray(settings))
|
|
60
|
+
return { settings, removed: 0 };
|
|
61
|
+
const root = { ...settings };
|
|
62
|
+
const hooks = root.hooks;
|
|
63
|
+
if (!hooks || typeof hooks !== "object" || Array.isArray(hooks))
|
|
64
|
+
return { settings, removed: 0 };
|
|
65
|
+
let removed = 0;
|
|
66
|
+
const next = {};
|
|
67
|
+
for (const [event, entries] of Object.entries(hooks)) {
|
|
68
|
+
if (!Array.isArray(entries)) {
|
|
69
|
+
next[event] = entries;
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
const kept = entries.filter((e) => !isStrayGateEntry(e));
|
|
73
|
+
removed += entries.length - kept.length;
|
|
74
|
+
if (kept.length > 0 || entries.length === 0)
|
|
75
|
+
next[event] = kept;
|
|
76
|
+
}
|
|
77
|
+
if (Object.keys(next).length > 0)
|
|
78
|
+
root.hooks = next;
|
|
79
|
+
else
|
|
80
|
+
delete root.hooks;
|
|
81
|
+
return { settings: root, removed };
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=stray-gate-entries.js.map
|
|
@@ -18,6 +18,9 @@ export declare const DOCTOR_STATUSES: readonly ["PASS", "FAIL", "WARN", "UNTESTE
|
|
|
18
18
|
* the type system rejects any other string at every call site.
|
|
19
19
|
*/
|
|
20
20
|
export type DoctorStatus = (typeof DOCTOR_STATUSES)[number];
|
|
21
|
+
/** Stable, privacy-safe diagnostics emitted by the sync health family. */
|
|
22
|
+
export declare const SYNC_REASON_CODES: readonly ["core-version-unavailable", "core-update-available", "no-local-tree", "never-synced", "invalid-last-sync", "stale-threshold", "manifest-unavailable", "manifest-state-unavailable", "no-manifest-scopes", "never-uploaded", "invalid-upload-time", "unresolved-company-uid", "realtime-lag-stuck", "receiver-permission-denied", "runner-restart-loop", "device-limit-backoff", "repeated-conflicts"];
|
|
23
|
+
export type SyncReasonCode = (typeof SYNC_REASON_CODES)[number];
|
|
21
24
|
/** Runtime type guard: true only for a member of the fixed vocabulary. */
|
|
22
25
|
export declare function isDoctorStatus(value: unknown): value is DoctorStatus;
|
|
23
26
|
/** A single per-item result produced by a check family. */
|
|
@@ -26,6 +29,8 @@ export interface CheckResult {
|
|
|
26
29
|
status: DoctorStatus;
|
|
27
30
|
/** Stable machine id for this item, e.g. `hooks.settings-present`. */
|
|
28
31
|
checkId: string;
|
|
32
|
+
/** Closed diagnostic enum; never contains paths, company slugs, or prose. */
|
|
33
|
+
reasonCode?: SyncReasonCode;
|
|
29
34
|
/** What was inspected — a path, hook id, etc. Optional. */
|
|
30
35
|
target?: string;
|
|
31
36
|
/** Human-readable one-line explanation of the result. */
|
package/dist/lib/doctor/types.js
CHANGED
|
@@ -21,6 +21,26 @@ export const DOCTOR_STATUSES = [
|
|
|
21
21
|
"UNKNOWN",
|
|
22
22
|
"KNOWN-DEFECT",
|
|
23
23
|
];
|
|
24
|
+
/** Stable, privacy-safe diagnostics emitted by the sync health family. */
|
|
25
|
+
export const SYNC_REASON_CODES = [
|
|
26
|
+
"core-version-unavailable",
|
|
27
|
+
"core-update-available",
|
|
28
|
+
"no-local-tree",
|
|
29
|
+
"never-synced",
|
|
30
|
+
"invalid-last-sync",
|
|
31
|
+
"stale-threshold",
|
|
32
|
+
"manifest-unavailable",
|
|
33
|
+
"manifest-state-unavailable",
|
|
34
|
+
"no-manifest-scopes",
|
|
35
|
+
"never-uploaded",
|
|
36
|
+
"invalid-upload-time",
|
|
37
|
+
"unresolved-company-uid",
|
|
38
|
+
"realtime-lag-stuck",
|
|
39
|
+
"receiver-permission-denied",
|
|
40
|
+
"runner-restart-loop",
|
|
41
|
+
"device-limit-backoff",
|
|
42
|
+
"repeated-conflicts",
|
|
43
|
+
];
|
|
24
44
|
/** Runtime type guard: true only for a member of the fixed vocabulary. */
|
|
25
45
|
export function isDoctorStatus(value) {
|
|
26
46
|
return (typeof value === "string" &&
|