@indigoai-us/hq-cli 5.314.0 → 5.315.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 +4311 -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/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/resolve-company.sh +199 -0
- package/assets/scaffold/core/scripts/resume-thread-lock.sh +285 -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 +10753 -0
- package/dist/command-catalog.generated.js +13859 -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 +127 -0
- package/dist/commands/bot-jobs.js +454 -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-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-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-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-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 +277 -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 +8983 -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 +6 -7
- package/dist/fast-core.js +87 -24
- package/dist/fast-scaffold.d.ts +86 -0
- package/dist/fast-scaffold.js +364 -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-run.d.ts +109 -0
- package/dist/lib/bot/job-run.js +246 -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 +217 -0
- package/dist/lib/bot/run.js +1869 -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/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 +133 -0
- package/dist/lib/lanes/autopilot.js +1222 -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 +66 -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 +22 -0
- package/dist/lib/lanes/flag-keys.js +22 -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 +479 -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 +46 -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 +147 -0
- package/dist/lib/lanes/outpost-dispatch.js +271 -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
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local-bot doctor family: a running bot that cannot poll its inbox or
|
|
3
|
+
* heartbeat still looked healthy (`hq bot status` said online, `hq doctor`
|
|
4
|
+
* had no bot check). Offline, from ~/.hq/bots and installed LaunchAgents.
|
|
5
|
+
*/
|
|
6
|
+
import * as fs from "node:fs";
|
|
7
|
+
import * as os from "node:os";
|
|
8
|
+
import * as path from "node:path";
|
|
9
|
+
import { botsRoot, botDir, launchdLabel } from "../../bot/paths.js";
|
|
10
|
+
import { readBotConfig } from "../../bot/config.js";
|
|
11
|
+
import { isPidAlive, readBotStatus } from "../../bot/status.js";
|
|
12
|
+
import { nodeBinaryProblem } from "../../node-binary.js";
|
|
13
|
+
export const BOTS_FAMILY_ID = "bots";
|
|
14
|
+
export const BOTS_FAMILY_TITLE = "Local bots";
|
|
15
|
+
const DEFAULT_DEPS = {
|
|
16
|
+
home: () => os.homedir(),
|
|
17
|
+
root: (home) => botsRoot(home ?? os.homedir()),
|
|
18
|
+
};
|
|
19
|
+
export const botsFamily = {
|
|
20
|
+
id: BOTS_FAMILY_ID,
|
|
21
|
+
title: BOTS_FAMILY_TITLE,
|
|
22
|
+
run: (context) => Promise.resolve(checkBots(context)),
|
|
23
|
+
};
|
|
24
|
+
export function checkBots(_context, deps = DEFAULT_DEPS) {
|
|
25
|
+
try {
|
|
26
|
+
return runChecks(deps);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return [
|
|
30
|
+
{
|
|
31
|
+
status: "UNKNOWN",
|
|
32
|
+
checkId: "bots.error",
|
|
33
|
+
message: `local bot checks could not run: ${error.message}`,
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function launchdPlistArgs(plist) {
|
|
39
|
+
const block = plist.match(/<key>ProgramArguments<\/key>\s*<array>([\s\S]*?)<\/array>/);
|
|
40
|
+
if (!block)
|
|
41
|
+
return [];
|
|
42
|
+
return [...block[1].matchAll(/<string>([^<]*)<\/string>/g)].map((m) => m[1]);
|
|
43
|
+
}
|
|
44
|
+
function launchdPlistHqBinary(plist) {
|
|
45
|
+
return launchdPlistArgs(plist)[1] ?? null;
|
|
46
|
+
}
|
|
47
|
+
function runChecks(deps) {
|
|
48
|
+
const home = deps.home();
|
|
49
|
+
const root = deps.root(home);
|
|
50
|
+
if (!fs.existsSync(root)) {
|
|
51
|
+
return [
|
|
52
|
+
{
|
|
53
|
+
status: "NA",
|
|
54
|
+
checkId: "bots.none",
|
|
55
|
+
message: "No local bots on this computer.",
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
}
|
|
59
|
+
const names = fs
|
|
60
|
+
.readdirSync(root, { withFileTypes: true })
|
|
61
|
+
.filter((d) => d.isDirectory() && readBotConfig(path.join(root, d.name)) !== null)
|
|
62
|
+
.map((d) => d.name)
|
|
63
|
+
.sort();
|
|
64
|
+
if (names.length === 0) {
|
|
65
|
+
return [
|
|
66
|
+
{
|
|
67
|
+
status: "NA",
|
|
68
|
+
checkId: "bots.none",
|
|
69
|
+
message: "No local bots on this computer.",
|
|
70
|
+
},
|
|
71
|
+
];
|
|
72
|
+
}
|
|
73
|
+
const results = [];
|
|
74
|
+
for (const name of names) {
|
|
75
|
+
const dir = botDir(name, root);
|
|
76
|
+
const config = readBotConfig(dir);
|
|
77
|
+
if (!config)
|
|
78
|
+
continue;
|
|
79
|
+
const status = readBotStatus(dir);
|
|
80
|
+
const alive = !!status && status.state === "running" && isPidAlive(status.pid);
|
|
81
|
+
if (alive && status.lastHeartbeatOk === false) {
|
|
82
|
+
const heartbeatMessage = status.lastHeartbeatReason === "identity_mismatch"
|
|
83
|
+
? `${name} heartbeat stopped: identity mismatch (configured agent ${status.lastHeartbeatConfiguredAgentUid ?? config.agentUid}; token agent ${status.lastHeartbeatTokenAgentUid ?? "unknown"}).`
|
|
84
|
+
: `${name} is running but cannot heartbeat to HQ${status.lastHeartbeatError ? ` (${status.lastHeartbeatError})` : ""}.`;
|
|
85
|
+
results.push({
|
|
86
|
+
status: "FAIL",
|
|
87
|
+
checkId: `bots.${name}.heartbeat`,
|
|
88
|
+
target: dir,
|
|
89
|
+
message: heartbeatMessage,
|
|
90
|
+
remediation: `hq bot logs ${name}`,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
else if (alive) {
|
|
94
|
+
results.push({
|
|
95
|
+
status: "PASS",
|
|
96
|
+
checkId: `bots.${name}.heartbeat`,
|
|
97
|
+
target: dir,
|
|
98
|
+
message: `${name} last heartbeat succeeded.`,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (alive && status.lastInboxPollOk === false) {
|
|
102
|
+
results.push({
|
|
103
|
+
status: "FAIL",
|
|
104
|
+
checkId: `bots.${name}.inbox`,
|
|
105
|
+
target: dir,
|
|
106
|
+
message: `${name} is running but cannot receive messages${status.lastInboxError ? ` (${status.lastInboxError})` : ""}.`,
|
|
107
|
+
remediation: `hq bot logs ${name}`,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
else if (alive) {
|
|
111
|
+
results.push({
|
|
112
|
+
status: "PASS",
|
|
113
|
+
checkId: `bots.${name}.inbox`,
|
|
114
|
+
target: dir,
|
|
115
|
+
message: `${name} last inbox poll succeeded.`,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
const plistPath = path.join(home, "Library", "LaunchAgents", `${launchdLabel(name)}.plist`);
|
|
119
|
+
if (fs.existsSync(plistPath)) {
|
|
120
|
+
let hqPath;
|
|
121
|
+
let nodePath;
|
|
122
|
+
try {
|
|
123
|
+
const text = fs.readFileSync(plistPath, "utf8");
|
|
124
|
+
hqPath = launchdPlistHqBinary(text);
|
|
125
|
+
nodePath = launchdPlistArgs(text)[0] ?? null;
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
hqPath = null;
|
|
129
|
+
nodePath = null;
|
|
130
|
+
}
|
|
131
|
+
// The node the startup agent runs. A versioned Homebrew/nvm path
|
|
132
|
+
// (…/Cellar/node/26.0.0/bin/node) is deleted by the next upgrade, and
|
|
133
|
+
// launchd cannot start the bot after that.
|
|
134
|
+
const nodeProblem = nodePath ? nodeBinaryProblem(nodePath, deps.nodeIo ? { io: deps.nodeIo } : {}) : null;
|
|
135
|
+
if (nodePath && nodeProblem === "missing") {
|
|
136
|
+
results.push({
|
|
137
|
+
status: "FAIL",
|
|
138
|
+
checkId: `bots.${name}.daemon-node`,
|
|
139
|
+
target: name,
|
|
140
|
+
message: `${name} startup agent runs a node binary that no longer exists (${nodePath}); launchd cannot start it.`,
|
|
141
|
+
remediation: `hq bot start ${name}`,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
else if (nodePath && nodeProblem === "versioned") {
|
|
145
|
+
results.push({
|
|
146
|
+
status: "WARN",
|
|
147
|
+
checkId: `bots.${name}.daemon-node`,
|
|
148
|
+
target: name,
|
|
149
|
+
message: `${name} startup agent runs node from a versioned folder (${nodePath}) that the next node upgrade deletes.`,
|
|
150
|
+
remediation: `hq bot start ${name}`,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
else if (nodePath) {
|
|
154
|
+
results.push({
|
|
155
|
+
status: "PASS",
|
|
156
|
+
checkId: `bots.${name}.daemon-node`,
|
|
157
|
+
target: name,
|
|
158
|
+
message: `${name} startup agent node path is upgrade-safe.`,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
if (hqPath && !fs.existsSync(hqPath)) {
|
|
162
|
+
results.push({
|
|
163
|
+
status: "FAIL",
|
|
164
|
+
checkId: `bots.${name}.daemon-binary`,
|
|
165
|
+
target: hqPath,
|
|
166
|
+
message: `${name} startup agent points at a missing hq binary.`,
|
|
167
|
+
remediation: `hq bot daemon install ${name}`,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
else if (hqPath) {
|
|
171
|
+
results.push({
|
|
172
|
+
status: "PASS",
|
|
173
|
+
checkId: `bots.${name}.daemon-binary`,
|
|
174
|
+
target: hqPath,
|
|
175
|
+
message: `${name} startup agent hq binary is present.`,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
if (results.length === 0) {
|
|
181
|
+
results.push({
|
|
182
|
+
status: "NA",
|
|
183
|
+
checkId: "bots.idle",
|
|
184
|
+
message: `${names.length} local bot(s) are installed and not running.`,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
return results;
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=bots.js.map
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
import * as fs from "node:fs";
|
|
25
25
|
import * as path from "node:path";
|
|
26
26
|
import { GATE_PROFILES, gateMembership, parseHookGateProfiles, } from "../hook-gate-profiles.js";
|
|
27
|
+
import { countStrayGateEntries } from "../stray-gate-entries.js";
|
|
27
28
|
/** Common id prefix for every result this check family emits. */
|
|
28
29
|
export const CLAUDE_WIRING_PREFIX = "hooks.claude";
|
|
29
30
|
/**
|
|
@@ -57,6 +58,35 @@ export function checkClaudeWiring(context) {
|
|
|
57
58
|
else if (local.present) {
|
|
58
59
|
registrations.push(...enumerateRegistrations(local.value, ".claude/settings.local.json"));
|
|
59
60
|
}
|
|
61
|
+
// --- Stray matcher-less gate entries (written by old `hq doctor --fix`) -------
|
|
62
|
+
// Only on master-hook trees: there, per-hook gate entries are never shipped,
|
|
63
|
+
// so a matcher-less one can only be the doctor-generated stray. A legacy tree
|
|
64
|
+
// that still registers hooks one by one is left alone.
|
|
65
|
+
const usesMasterHook = registrations.some((reg) => /\/master-hook\.sh\b/.test(reg.command));
|
|
66
|
+
for (const [file, parsed] of usesMasterHook ? [
|
|
67
|
+
["settings.json", base],
|
|
68
|
+
["settings.local.json", local],
|
|
69
|
+
] : []) {
|
|
70
|
+
if (!parsed.present || parsed.invalid)
|
|
71
|
+
continue;
|
|
72
|
+
const abs = path.join(claudeDir, file);
|
|
73
|
+
const stray = countStrayGateEntries(parsed.value);
|
|
74
|
+
results.push(stray > 0
|
|
75
|
+
? {
|
|
76
|
+
status: "FAIL",
|
|
77
|
+
checkId: `${CLAUDE_WIRING_PREFIX}.stray-gate-registration`,
|
|
78
|
+
target: abs,
|
|
79
|
+
message: `.claude/${file} has ${stray} hook-gate registration${stray === 1 ? "" : "s"} with no matcher. ` +
|
|
80
|
+
"They run on every tool call and can block Bash, Skill and Read. An older `hq doctor --fix` wrote them.",
|
|
81
|
+
remediation: `Remove the matcher-less hook-gate.sh entries from .claude/${file} (hq doctor --fix does this).`,
|
|
82
|
+
}
|
|
83
|
+
: {
|
|
84
|
+
status: "PASS",
|
|
85
|
+
checkId: `${CLAUDE_WIRING_PREFIX}.stray-gate-registration`,
|
|
86
|
+
target: abs,
|
|
87
|
+
message: `.claude/${file} has no stray matcher-less hook-gate registrations.`,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
60
90
|
const scans = registrations.map((reg) => ({
|
|
61
91
|
reg,
|
|
62
92
|
scan: scanHookCommand(reg.command),
|
|
@@ -116,6 +146,11 @@ export function checkClaudeWiring(context) {
|
|
|
116
146
|
for (const rp of scan.requiredRelpaths)
|
|
117
147
|
referencedBasenames.add(baseName(rp));
|
|
118
148
|
}
|
|
149
|
+
// master-hook.sh dispatches the gated hooks listed in hook-registry.json, so
|
|
150
|
+
// those scripts are registered even though no settings command names them.
|
|
151
|
+
for (const script of hookRegistryScripts(path.join(hooksDir, "hook-registry.json"))) {
|
|
152
|
+
referencedBasenames.add(baseName(script));
|
|
153
|
+
}
|
|
119
154
|
for (const file of listShellScripts(hooksDir)) {
|
|
120
155
|
if (referencedBasenames.has(file))
|
|
121
156
|
continue;
|
|
@@ -124,7 +159,7 @@ export function checkClaudeWiring(context) {
|
|
|
124
159
|
checkId: `${CLAUDE_WIRING_PREFIX}.orphan`,
|
|
125
160
|
target: path.join(hooksDir, file),
|
|
126
161
|
message: `Hook script ${file} is present in .claude/hooks/ but is not registered in any settings file.`,
|
|
127
|
-
remediation: `
|
|
162
|
+
remediation: `Add ${file} to .claude/hooks/hook-registry.json with the right event and matcher, or delete it.`,
|
|
128
163
|
});
|
|
129
164
|
}
|
|
130
165
|
// --- AC4: every gated hook id is in ALL THREE profiles -----------------------
|
|
@@ -234,6 +269,31 @@ export function checkClaudeWiring(context) {
|
|
|
234
269
|
* event in a parsed settings object. Tolerant of malformed shapes — any
|
|
235
270
|
* non-conforming branch contributes nothing rather than throwing.
|
|
236
271
|
*/
|
|
272
|
+
/** Every `script` path listed in .claude/hooks/hook-registry.json (empty when absent). */
|
|
273
|
+
function hookRegistryScripts(registryPath) {
|
|
274
|
+
const parsed = readJsonFile(registryPath);
|
|
275
|
+
if (!parsed.present || parsed.invalid)
|
|
276
|
+
return [];
|
|
277
|
+
const hooks = parsed.value?.hooks;
|
|
278
|
+
if (!hooks || typeof hooks !== "object")
|
|
279
|
+
return [];
|
|
280
|
+
const out = [];
|
|
281
|
+
for (const entries of Object.values(hooks)) {
|
|
282
|
+
if (!Array.isArray(entries))
|
|
283
|
+
continue;
|
|
284
|
+
for (const entry of entries) {
|
|
285
|
+
const inner = entry?.hooks;
|
|
286
|
+
if (!Array.isArray(inner))
|
|
287
|
+
continue;
|
|
288
|
+
for (const item of inner) {
|
|
289
|
+
const script = item?.script;
|
|
290
|
+
if (typeof script === "string" && script)
|
|
291
|
+
out.push(script);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
return out;
|
|
296
|
+
}
|
|
237
297
|
function enumerateRegistrations(settings, source) {
|
|
238
298
|
const out = [];
|
|
239
299
|
if (!settings || typeof settings !== "object")
|
|
@@ -400,6 +460,15 @@ function requiredFromFirstCommand(first) {
|
|
|
400
460
|
k += 1;
|
|
401
461
|
if (k >= first.length)
|
|
402
462
|
return { required, gatedHookId };
|
|
463
|
+
// SessionStart can use env to set BASH_ENV before Bash itself starts.
|
|
464
|
+
// Walk through that launcher and its assignments just like the shell scanner.
|
|
465
|
+
if (baseName(first[k]) === "env") {
|
|
466
|
+
k += 1;
|
|
467
|
+
while (k < first.length && /^[A-Za-z_][A-Za-z0-9_]*=/.test(first[k]))
|
|
468
|
+
k += 1;
|
|
469
|
+
if (k >= first.length || first[k].startsWith("-"))
|
|
470
|
+
return { required, gatedHookId };
|
|
471
|
+
}
|
|
403
472
|
if (INTERPRETERS.has(baseName(first[k]))) {
|
|
404
473
|
k += 1;
|
|
405
474
|
while (k < first.length && first[k].startsWith("-")) {
|
|
@@ -41,10 +41,6 @@
|
|
|
41
41
|
*/
|
|
42
42
|
import { type AllowedDivergenceLoad } from "../allowed-divergence.js";
|
|
43
43
|
import type { CheckContext, CheckResult } from "../types.js";
|
|
44
|
-
/** Basename of the single-adapter script the current architecture routes to. */
|
|
45
|
-
export declare const CODEX_ADAPTER_BASENAME = "hq-codex-hook-adapter.sh";
|
|
46
|
-
/** Library the adapter sources to dispatch `.claude/settings.json` live. */
|
|
47
|
-
export declare const CODEX_DISPATCH_LIB_RELPATH: string;
|
|
48
44
|
/**
|
|
49
45
|
* Lifecycle events the shipped `.codex/config.toml` routes through the adapter.
|
|
50
46
|
* A missing event means the Claude hooks for that event never run under Codex.
|
|
@@ -42,11 +42,12 @@
|
|
|
42
42
|
import * as fs from "node:fs";
|
|
43
43
|
import * as path from "node:path";
|
|
44
44
|
import { parse as parseToml } from "smol-toml";
|
|
45
|
+
import { collectCommands, fileState } from "../shared.js";
|
|
45
46
|
import { ALLOWED_DIVERGENCE_RELPATH, loadAllowedDivergence, } from "../allowed-divergence.js";
|
|
46
47
|
/** Basename of the single-adapter script the current architecture routes to. */
|
|
47
|
-
|
|
48
|
+
const CODEX_ADAPTER_BASENAME = "hq-codex-hook-adapter.sh";
|
|
48
49
|
/** Library the adapter sources to dispatch `.claude/settings.json` live. */
|
|
49
|
-
|
|
50
|
+
const CODEX_DISPATCH_LIB_RELPATH = path.join("core", "scripts", "lib", "hook-adapter-core.sh");
|
|
50
51
|
/**
|
|
51
52
|
* Lifecycle events the shipped `.codex/config.toml` routes through the adapter.
|
|
52
53
|
* A missing event means the Claude hooks for that event never run under Codex.
|
|
@@ -549,44 +550,11 @@ function extractBraceBlock(source, from) {
|
|
|
549
550
|
return source.slice(open + 1);
|
|
550
551
|
}
|
|
551
552
|
// --- shared low-level helpers --------------------------------------------------
|
|
552
|
-
/** Collect every `command` string from a `{hooks:{Event:[{hooks:[…]}]}}` doc. */
|
|
553
|
-
function collectCommands(parsed) {
|
|
554
|
-
const commands = [];
|
|
555
|
-
if (!parsed || typeof parsed !== "object")
|
|
556
|
-
return commands;
|
|
557
|
-
const hooks = parsed.hooks;
|
|
558
|
-
if (!hooks || typeof hooks !== "object")
|
|
559
|
-
return commands;
|
|
560
|
-
for (const entries of Object.values(hooks)) {
|
|
561
|
-
if (!Array.isArray(entries))
|
|
562
|
-
continue;
|
|
563
|
-
for (const entry of entries) {
|
|
564
|
-
const inner = entry?.hooks;
|
|
565
|
-
if (!Array.isArray(inner))
|
|
566
|
-
continue;
|
|
567
|
-
for (const hook of inner) {
|
|
568
|
-
const command = hook?.command;
|
|
569
|
-
if (typeof command === "string")
|
|
570
|
-
commands.push(command);
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
return commands;
|
|
575
|
-
}
|
|
576
553
|
function resolvePath(hqRoot, target) {
|
|
577
554
|
if (!target)
|
|
578
555
|
return null;
|
|
579
556
|
return path.isAbsolute(target) ? target : path.resolve(hqRoot, target);
|
|
580
557
|
}
|
|
581
|
-
function fileState(target) {
|
|
582
|
-
try {
|
|
583
|
-
const stat = fs.statSync(target);
|
|
584
|
-
return { present: stat.isFile(), executable: (stat.mode & 0o111) !== 0 };
|
|
585
|
-
}
|
|
586
|
-
catch {
|
|
587
|
-
return { present: false, executable: false };
|
|
588
|
-
}
|
|
589
|
-
}
|
|
590
558
|
function filesEqual(a, b) {
|
|
591
559
|
try {
|
|
592
560
|
return fs.readFileSync(a).equals(fs.readFileSync(b));
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
import * as fs from "node:fs";
|
|
23
23
|
import * as os from "node:os";
|
|
24
24
|
import * as path from "node:path";
|
|
25
|
+
import { collectCommands, fileState } from "../shared.js";
|
|
25
26
|
/** The command a user runs to install the user-global Grok bridge. */
|
|
26
27
|
export const GROK_TRUST_REMEDIATION = "bash core/scripts/grok-trust.sh";
|
|
27
28
|
/** Files that grok-trust.sh installs into `~/.grok/hooks/` for the bridge. */
|
|
@@ -149,38 +150,4 @@ function bridgeInstalled(bridgeDir) {
|
|
|
149
150
|
}
|
|
150
151
|
return false;
|
|
151
152
|
}
|
|
152
|
-
// --- shared low-level helpers --------------------------------------------------
|
|
153
|
-
/** Collect every `command` string from a `{hooks:{Event:[{hooks:[…]}]}}` doc. */
|
|
154
|
-
function collectCommands(parsed) {
|
|
155
|
-
const commands = [];
|
|
156
|
-
if (!parsed || typeof parsed !== "object")
|
|
157
|
-
return commands;
|
|
158
|
-
const hooks = parsed.hooks;
|
|
159
|
-
if (!hooks || typeof hooks !== "object")
|
|
160
|
-
return commands;
|
|
161
|
-
for (const entries of Object.values(hooks)) {
|
|
162
|
-
if (!Array.isArray(entries))
|
|
163
|
-
continue;
|
|
164
|
-
for (const entry of entries) {
|
|
165
|
-
const inner = entry?.hooks;
|
|
166
|
-
if (!Array.isArray(inner))
|
|
167
|
-
continue;
|
|
168
|
-
for (const hook of inner) {
|
|
169
|
-
const command = hook?.command;
|
|
170
|
-
if (typeof command === "string")
|
|
171
|
-
commands.push(command);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
return commands;
|
|
176
|
-
}
|
|
177
|
-
function fileState(target) {
|
|
178
|
-
try {
|
|
179
|
-
const stat = fs.statSync(target);
|
|
180
|
-
return { present: stat.isFile(), executable: (stat.mode & 0o111) !== 0 };
|
|
181
|
-
}
|
|
182
|
-
catch {
|
|
183
|
-
return { present: false, executable: false };
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
153
|
//# sourceMappingURL=grok-wiring.js.map
|
|
@@ -11,6 +11,7 @@ import { ensureCognitoIdToken } from "../../../utils/cognito-session.js";
|
|
|
11
11
|
import { isAuthError } from "../../../utils/auth-error.js";
|
|
12
12
|
import { isCompanySelectionError } from "../../../utils/company-selection-error.js";
|
|
13
13
|
import { getCompanyUid } from "../../../utils/vault-api.js";
|
|
14
|
+
import { redactUrlsInText } from "../../../utils/redact-url.js";
|
|
14
15
|
import { fetchConnections, IntegrationsCliError } from "../../../commands/integrations-core.js";
|
|
15
16
|
import { classifyConnection } from "../../integrations/health.js";
|
|
16
17
|
/**
|
|
@@ -26,6 +27,16 @@ export const INTEGRATIONS_PREFIX = "integrations";
|
|
|
26
27
|
* becoming a false connection failure. An unreadable inventory remains UNKNOWN.
|
|
27
28
|
*/
|
|
28
29
|
export async function checkIntegrations(context, deps = {}) {
|
|
30
|
+
const results = await checkIntegrationsUnredacted(context, deps);
|
|
31
|
+
return results.map((result) => ({
|
|
32
|
+
...result,
|
|
33
|
+
message: redactUrlsInText(result.message),
|
|
34
|
+
...(result.remediation !== undefined
|
|
35
|
+
? { remediation: redactUrlsInText(result.remediation) }
|
|
36
|
+
: {}),
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
async function checkIntegrationsUnredacted(context, deps) {
|
|
29
40
|
if (context.integrations === false) {
|
|
30
41
|
return [{
|
|
31
42
|
status: "NA",
|
|
@@ -28,16 +28,6 @@
|
|
|
28
28
|
import type { CheckContext, CheckFamily, CheckResult } from "../types.js";
|
|
29
29
|
/** The id of the AI-runtime-health family. */
|
|
30
30
|
export declare const RUNTIMES_FAMILY_ID = "runtimes";
|
|
31
|
-
/** Common id prefix for every result this family emits. */
|
|
32
|
-
export declare const RUNTIMES_PREFIX = "runtimes";
|
|
33
|
-
/**
|
|
34
|
-
* The deterministic one-line probe prompt. Health is proven by a round-trip
|
|
35
|
-
* (exit 0 plus non-empty output), not by exact-matching the reply, so a model
|
|
36
|
-
* that answers with anything at all still passes.
|
|
37
|
-
*/
|
|
38
|
-
export declare const PROBE_PROMPT = "Reply with exactly: OK";
|
|
39
|
-
/** How long each live probe may run before it is killed and marked UNKNOWN. */
|
|
40
|
-
export declare const DEFAULT_PROBE_TIMEOUT_MS = 120000;
|
|
41
31
|
/** One AI runtime the doctor knows how to find and probe. */
|
|
42
32
|
export interface RuntimeSpec {
|
|
43
33
|
/** Stable key used in check ids, e.g. `runtimes.codex.binary`. */
|
|
@@ -76,10 +66,14 @@ export interface ProbeOutcome {
|
|
|
76
66
|
export interface RuntimeHealthDeps {
|
|
77
67
|
/** Resolve an executable against PATH; null when not found. */
|
|
78
68
|
resolveBinary?: (binary: string) => string | null;
|
|
69
|
+
/** Check whether a Windows command shim exists next to its resolved binary. */
|
|
70
|
+
fileExists?: (file: string) => boolean;
|
|
79
71
|
/** Execute one probe. The default spawns from the OS temp dir. */
|
|
80
72
|
execProbe?: (file: string, args: string[], timeoutMs: number) => Promise<ProbeOutcome>;
|
|
81
73
|
/** Per-probe timeout. Default {@link DEFAULT_PROBE_TIMEOUT_MS}. */
|
|
82
74
|
probeTimeoutMs?: number;
|
|
75
|
+
/** Runtime platform override for the spawn plan (normally process.platform). */
|
|
76
|
+
platform?: NodeJS.Platform;
|
|
83
77
|
}
|
|
84
78
|
/**
|
|
85
79
|
* The AI-runtime-health check family entry. Presence checks always run; the
|
|
@@ -90,11 +84,4 @@ export interface RuntimeHealthDeps {
|
|
|
90
84
|
export declare function checkRuntimeHealth(context: CheckContext, deps?: RuntimeHealthDeps): Promise<CheckResult[]>;
|
|
91
85
|
/** The registered family object. */
|
|
92
86
|
export declare const runtimeHealthFamily: CheckFamily;
|
|
93
|
-
/**
|
|
94
|
-
* Resolve an executable name against PATH with a pure filesystem scan — no
|
|
95
|
-
* process is spawned, keeping the doctor's default run a function of on-disk
|
|
96
|
-
* shape. First PATH entry containing an executable regular file wins, which is
|
|
97
|
-
* exactly the copy a shell would run.
|
|
98
|
-
*/
|
|
99
|
-
export declare function resolveOnPath(binary: string): string | null;
|
|
100
87
|
//# sourceMappingURL=runtime-health.d.ts.map
|
|
@@ -29,18 +29,19 @@ import { spawn } from "node:child_process";
|
|
|
29
29
|
import * as fs from "node:fs";
|
|
30
30
|
import * as os from "node:os";
|
|
31
31
|
import * as path from "node:path";
|
|
32
|
+
import { planCommandSpawn } from "../../../utils/windows-spawn.js";
|
|
32
33
|
/** The id of the AI-runtime-health family. */
|
|
33
34
|
export const RUNTIMES_FAMILY_ID = "runtimes";
|
|
34
35
|
/** Common id prefix for every result this family emits. */
|
|
35
|
-
|
|
36
|
+
const RUNTIMES_PREFIX = "runtimes";
|
|
36
37
|
/**
|
|
37
38
|
* The deterministic one-line probe prompt. Health is proven by a round-trip
|
|
38
39
|
* (exit 0 plus non-empty output), not by exact-matching the reply, so a model
|
|
39
40
|
* that answers with anything at all still passes.
|
|
40
41
|
*/
|
|
41
|
-
|
|
42
|
+
const PROBE_PROMPT = "Reply with exactly: OK";
|
|
42
43
|
/** How long each live probe may run before it is killed and marked UNKNOWN. */
|
|
43
|
-
|
|
44
|
+
const DEFAULT_PROBE_TIMEOUT_MS = 120_000;
|
|
44
45
|
/**
|
|
45
46
|
* The three runtimes HQ wires hooks for. Codex runs its probe under its own
|
|
46
47
|
* read-only sandbox and outside-a-repo mode so the probe can never write; the
|
|
@@ -101,7 +102,8 @@ export async function checkRuntimeHealth(context, deps = {}) {
|
|
|
101
102
|
async function runRuntimeChecks(context, deps) {
|
|
102
103
|
const resolved = {
|
|
103
104
|
resolveBinary: deps.resolveBinary ?? resolveOnPath,
|
|
104
|
-
execProbe: deps.execProbe ??
|
|
105
|
+
execProbe: deps.execProbe ??
|
|
106
|
+
((file, args, timeoutMs) => defaultExecProbe(file, args, timeoutMs, deps.platform ?? process.platform, deps.fileExists ?? fs.existsSync)),
|
|
105
107
|
timeoutMs: deps.probeTimeoutMs ?? DEFAULT_PROBE_TIMEOUT_MS,
|
|
106
108
|
live: context.liveRuntimes === true,
|
|
107
109
|
};
|
|
@@ -241,7 +243,7 @@ export const runtimeHealthFamily = {
|
|
|
241
243
|
* shape. First PATH entry containing an executable regular file wins, which is
|
|
242
244
|
* exactly the copy a shell would run.
|
|
243
245
|
*/
|
|
244
|
-
|
|
246
|
+
function resolveOnPath(binary) {
|
|
245
247
|
const pathVar = process.env.PATH ?? "";
|
|
246
248
|
for (const dir of pathVar.split(path.delimiter)) {
|
|
247
249
|
if (!dir)
|
|
@@ -268,11 +270,22 @@ export function resolveOnPath(binary) {
|
|
|
268
270
|
* CLI that reads piped stdin in non-TTY mode — blocks forever on a pipe that
|
|
269
271
|
* never reaches EOF, which turns every probe into a timeout.
|
|
270
272
|
*/
|
|
271
|
-
function defaultExecProbe(file, args, timeoutMs) {
|
|
273
|
+
function defaultExecProbe(file, args, timeoutMs, platform, fileExists) {
|
|
272
274
|
return new Promise((resolve) => {
|
|
273
|
-
const
|
|
275
|
+
const cmdSibling = `${file}.cmd`;
|
|
276
|
+
const command = platform === "win32" &&
|
|
277
|
+
!/\.(?:cmd|bat|exe|com)$/i.test(file) &&
|
|
278
|
+
fileExists(cmdSibling)
|
|
279
|
+
? cmdSibling
|
|
280
|
+
: file;
|
|
281
|
+
const plan = planCommandSpawn(command, args, platform);
|
|
282
|
+
const child = spawn(plan.cmd, plan.args, {
|
|
274
283
|
cwd: os.tmpdir(),
|
|
275
284
|
stdio: ["ignore", "pipe", "pipe"],
|
|
285
|
+
shell: plan.shell,
|
|
286
|
+
...(plan.windowsVerbatimArguments === undefined
|
|
287
|
+
? {}
|
|
288
|
+
: { windowsVerbatimArguments: plan.windowsVerbatimArguments }),
|
|
276
289
|
});
|
|
277
290
|
const cap = 1024 * 1024;
|
|
278
291
|
let stdout = "";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CheckContext, CheckFamily, CheckResult } from "../types.js";
|
|
2
|
+
export declare const SCAFFOLD_CLI_FLOOR_FAMILY_ID = "scaffold-cli-floor";
|
|
3
|
+
export declare const SCAFFOLD_CLI_FLOOR_CHECK_ID = "scaffold-cli-floor.requires-hq-cli";
|
|
4
|
+
export declare const scaffoldCliFloorFamily: CheckFamily;
|
|
5
|
+
export declare function checkScaffoldCliFloor(context: CheckContext): CheckResult[];
|
|
6
|
+
//# sourceMappingURL=scaffold-cli-floor.d.ts.map
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import * as yaml from "js-yaml";
|
|
4
|
+
import { CLI_VERSION } from "../../../cli-version.js";
|
|
5
|
+
import { compareScaffoldCliFloor } from "../../scaffold-cli-floor.js";
|
|
6
|
+
export const SCAFFOLD_CLI_FLOOR_FAMILY_ID = "scaffold-cli-floor";
|
|
7
|
+
const SCAFFOLD_CLI_FLOOR_FAMILY_TITLE = "Scaffold CLI compatibility";
|
|
8
|
+
export const SCAFFOLD_CLI_FLOOR_CHECK_ID = "scaffold-cli-floor.requires-hq-cli";
|
|
9
|
+
export const scaffoldCliFloorFamily = {
|
|
10
|
+
id: SCAFFOLD_CLI_FLOOR_FAMILY_ID,
|
|
11
|
+
title: SCAFFOLD_CLI_FLOOR_FAMILY_TITLE,
|
|
12
|
+
run: (context) => Promise.resolve(checkScaffoldCliFloor(context)),
|
|
13
|
+
};
|
|
14
|
+
export function checkScaffoldCliFloor(context) {
|
|
15
|
+
const coreYamlPath = path.join(context.hqRoot, "core", "core.yaml");
|
|
16
|
+
if (!fs.existsSync(coreYamlPath)) {
|
|
17
|
+
return [skipped(coreYamlPath, "core/core.yaml is missing")];
|
|
18
|
+
}
|
|
19
|
+
let document;
|
|
20
|
+
try {
|
|
21
|
+
document = yaml.load(fs.readFileSync(coreYamlPath, "utf8"));
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return [
|
|
25
|
+
{
|
|
26
|
+
status: "WARN",
|
|
27
|
+
checkId: SCAFFOLD_CLI_FLOOR_CHECK_ID,
|
|
28
|
+
target: coreYamlPath,
|
|
29
|
+
message: "core/core.yaml could not be parsed, so the hq-cli floor was not checked.",
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
}
|
|
33
|
+
if (!document || typeof document !== "object" || Array.isArray(document)) {
|
|
34
|
+
if (document === undefined || document === null) {
|
|
35
|
+
return [skipped(coreYamlPath, "core/core.yaml does not declare requiresHqCli")];
|
|
36
|
+
}
|
|
37
|
+
return [
|
|
38
|
+
{
|
|
39
|
+
status: "WARN",
|
|
40
|
+
checkId: SCAFFOLD_CLI_FLOOR_CHECK_ID,
|
|
41
|
+
target: coreYamlPath,
|
|
42
|
+
message: "core/core.yaml is not a mapping, so the hq-cli floor was not checked.",
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
}
|
|
46
|
+
const required = document.requiresHqCli;
|
|
47
|
+
const comparison = compareScaffoldCliFloor(required, CLI_VERSION);
|
|
48
|
+
if (comparison.status === "skip") {
|
|
49
|
+
return [skipped(coreYamlPath, "core/core.yaml does not declare requiresHqCli")];
|
|
50
|
+
}
|
|
51
|
+
return [
|
|
52
|
+
{
|
|
53
|
+
status: comparison.status === "pass"
|
|
54
|
+
? "PASS"
|
|
55
|
+
: comparison.status === "fail"
|
|
56
|
+
? "FAIL"
|
|
57
|
+
: "WARN",
|
|
58
|
+
checkId: SCAFFOLD_CLI_FLOOR_CHECK_ID,
|
|
59
|
+
target: coreYamlPath,
|
|
60
|
+
message: comparison.message,
|
|
61
|
+
...(comparison.remediation ? { remediation: comparison.remediation } : {}),
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
}
|
|
65
|
+
function skipped(target, reason) {
|
|
66
|
+
return {
|
|
67
|
+
status: "NA",
|
|
68
|
+
checkId: SCAFFOLD_CLI_FLOOR_CHECK_ID,
|
|
69
|
+
target,
|
|
70
|
+
message: `Skipped: ${reason}; no hq-cli floor was checked.`,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=scaffold-cli-floor.js.map
|
|
@@ -64,6 +64,8 @@ export interface SyncManifestUploadStatus {
|
|
|
64
64
|
}
|
|
65
65
|
/** Injectable dependencies — defaults are the real collectors. */
|
|
66
66
|
export interface SyncHealthDeps {
|
|
67
|
+
/** Runner log and conflict signals; omitted in unit tests of other checks. */
|
|
68
|
+
runtime?: (now: Date) => CheckResult[];
|
|
67
69
|
versions: (hqRoot: string) => SyncVersionInfo;
|
|
68
70
|
journals: () => readonly SyncJournalSummary[];
|
|
69
71
|
now: () => Date;
|
|
@@ -91,7 +93,26 @@ export interface SyncHealthDeps {
|
|
|
91
93
|
* scope that is fine.
|
|
92
94
|
*/
|
|
93
95
|
unresolvedScopes?: (journals: readonly SyncJournalSummary[]) => readonly string[];
|
|
96
|
+
/**
|
|
97
|
+
* Whether a company slug has a local `companies/<slug>` directory in the HQ
|
|
98
|
+
* tree. Leftover journal shards for companies this machine does not keep
|
|
99
|
+
* locally are NA, not WARN — a journal without a tree is not a corroborated
|
|
100
|
+
* unhealthy-sync signal, and `hq doctor --fix` has nothing local to refresh.
|
|
101
|
+
*/
|
|
102
|
+
localCompanyExists?: (slug: string) => boolean;
|
|
94
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* True when `slug` is a filesystem-safe company folder name. Rejects empty
|
|
106
|
+
* values, path separators, and `..` so a journal slug cannot be used to probe
|
|
107
|
+
* outside `companies/`.
|
|
108
|
+
*/
|
|
109
|
+
export declare function isSafeCompanySlug(slug: string): boolean;
|
|
110
|
+
/** True when `hqRoot/companies/<slug>` exists as a directory. Never throws. */
|
|
111
|
+
export declare function defaultLocalCompanyExists(hqRoot: string, slug: string): boolean;
|
|
112
|
+
/** True when this journal slug names a company rather than the personal tree. */
|
|
113
|
+
export declare function isCompanyJournalSlug(slug: string): boolean;
|
|
114
|
+
/** Company slug from a `sync.journal.<slug>` check id, or null if not one. */
|
|
115
|
+
export declare function journalSlugFromCheckId(checkId: string): string | null;
|
|
95
116
|
/** The versions/sync check family. Registered in `createDefaultRegistry`. */
|
|
96
117
|
export declare const syncHealthFamily: CheckFamily;
|
|
97
118
|
/** Run every versions/sync check. A thrown check degrades to UNKNOWN. */
|