@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,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `hq agent probe` — end-to-end check that this host is a working external
|
|
3
|
+
* team member, one line per check, non-zero exit on any failure:
|
|
4
|
+
*
|
|
5
|
+
* whoami mint as the machine identity; token names this agent
|
|
6
|
+
* files a vault listing answers on demand (or, with --sync-files, a
|
|
7
|
+
* pull succeeds and the company folder exists)
|
|
8
|
+
* presence the agent-authorized inbox route answers 200 and this host's
|
|
9
|
+
* own presence is live (a fresh last-heartbeat.json)
|
|
10
|
+
* dm send a DM to self via POST /v1/notify/dm (accepted) and read the agent inbox (200)
|
|
11
|
+
* through GET /v1/agents/{uid}/inbox (the agent read surface;
|
|
12
|
+
* /v1/notify/thread is intentionally closed to agents)
|
|
13
|
+
* secrets `GET /secrets/{companyUid}` answers 200
|
|
14
|
+
*
|
|
15
|
+
* Output is the exact shape the console recipes promise: one
|
|
16
|
+
* `PASS <check> <detail>` / `FAIL <check> <detail>` line per check, then
|
|
17
|
+
* `heartbeat <age>`.
|
|
18
|
+
*
|
|
19
|
+
* The result is POSTed to /v1/agents/{uid}/probe-result (api-contract v1) so
|
|
20
|
+
* the console can flip the enrollment to "Enrolled". Also reports the age of
|
|
21
|
+
* the kit's last heartbeat.
|
|
22
|
+
*/
|
|
23
|
+
import { Command } from "commander";
|
|
24
|
+
import { type InboxFetchResult } from "../lib/agent-kit/run/inbox.js";
|
|
25
|
+
import { type AgentKitPaths } from "../lib/agent-kit/paths.js";
|
|
26
|
+
import type { ExternalMachineCreds } from "../lib/agent-kit/creds.js";
|
|
27
|
+
export interface ProbeCheck {
|
|
28
|
+
name: string;
|
|
29
|
+
ok: boolean;
|
|
30
|
+
detail: string;
|
|
31
|
+
}
|
|
32
|
+
export interface ProbeResult {
|
|
33
|
+
passed: boolean;
|
|
34
|
+
checks: ProbeCheck[];
|
|
35
|
+
at: string;
|
|
36
|
+
/** Seconds since the kit's last successful heartbeat, or null if never. */
|
|
37
|
+
heartbeatAgeSeconds: number | null;
|
|
38
|
+
}
|
|
39
|
+
/** A heartbeat older than this does not count as live presence (3 missed 60 s beats). */
|
|
40
|
+
export declare const PRESENCE_FRESH_SECONDS = 180;
|
|
41
|
+
export interface ProbeDeps {
|
|
42
|
+
paths: AgentKitPaths;
|
|
43
|
+
creds: ExternalMachineCreds;
|
|
44
|
+
hqRoot: string;
|
|
45
|
+
getToken: () => Promise<string>;
|
|
46
|
+
resolveCompanyUid: (token: string, slug: string) => Promise<string>;
|
|
47
|
+
/** Runs the `hq` CLI with these args as a child; resolves with its exit code. */
|
|
48
|
+
runHq: (args: string[]) => Promise<number>;
|
|
49
|
+
/** Mirror the vault to disk. Off by default: files are read through the API. */
|
|
50
|
+
syncFiles?: boolean;
|
|
51
|
+
/** GET /v1/agents/{self}/inbox — agent-authorized, self-scoped. */
|
|
52
|
+
readInbox: (token: string) => Promise<InboxFetchResult>;
|
|
53
|
+
sendDm: (token: string, toUid: string, body: string) => Promise<void>;
|
|
54
|
+
listSecrets: (token: string, companyUid: string) => Promise<number>;
|
|
55
|
+
postResult: (token: string, result: ProbeResult) => Promise<number>;
|
|
56
|
+
now?: () => Date;
|
|
57
|
+
/** Test seam; defaults to fs.existsSync. */
|
|
58
|
+
hostKeyExists?: (p: string) => boolean;
|
|
59
|
+
sleep?: (ms: number) => Promise<void>;
|
|
60
|
+
nonce?: () => string;
|
|
61
|
+
dmTimeoutMs?: number;
|
|
62
|
+
}
|
|
63
|
+
export declare function heartbeatAgeSeconds(paths: Pick<AgentKitPaths, "lastHeartbeatPath">, now?: () => Date): number | null;
|
|
64
|
+
export declare function runProbe(deps: ProbeDeps): Promise<ProbeResult>;
|
|
65
|
+
/** True when any inbox item (whatever its channel shape) carries the nonce. */
|
|
66
|
+
export declare function inboxContainsNonce(body: unknown, nonce: string): boolean;
|
|
67
|
+
export declare function formatHeartbeatAge(age: number | null): string;
|
|
68
|
+
/**
|
|
69
|
+
* Recipe contract: `PASS <check> <detail>` / `FAIL <check> <detail>` per
|
|
70
|
+
* check, then `heartbeat <age>`. Two-space separators; no trailing verdict
|
|
71
|
+
* line (the exit code carries it, and the console keys only on the POSTed
|
|
72
|
+
* probe-result).
|
|
73
|
+
*/
|
|
74
|
+
export declare function formatProbeReport(result: ProbeResult, color?: boolean): string[];
|
|
75
|
+
export declare function defaultProbeDeps(paths: AgentKitPaths, creds: ExternalMachineCreds): ProbeDeps;
|
|
76
|
+
export declare function registerAgentProbeCommand(agent: Command): void;
|
|
77
|
+
//# sourceMappingURL=agent-probe.d.ts.map
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `hq agent probe` — end-to-end check that this host is a working external
|
|
3
|
+
* team member, one line per check, non-zero exit on any failure:
|
|
4
|
+
*
|
|
5
|
+
* whoami mint as the machine identity; token names this agent
|
|
6
|
+
* files a vault listing answers on demand (or, with --sync-files, a
|
|
7
|
+
* pull succeeds and the company folder exists)
|
|
8
|
+
* presence the agent-authorized inbox route answers 200 and this host's
|
|
9
|
+
* own presence is live (a fresh last-heartbeat.json)
|
|
10
|
+
* dm send a DM to self via POST /v1/notify/dm (accepted) and read the agent inbox (200)
|
|
11
|
+
* through GET /v1/agents/{uid}/inbox (the agent read surface;
|
|
12
|
+
* /v1/notify/thread is intentionally closed to agents)
|
|
13
|
+
* secrets `GET /secrets/{companyUid}` answers 200
|
|
14
|
+
*
|
|
15
|
+
* Output is the exact shape the console recipes promise: one
|
|
16
|
+
* `PASS <check> <detail>` / `FAIL <check> <detail>` line per check, then
|
|
17
|
+
* `heartbeat <age>`.
|
|
18
|
+
*
|
|
19
|
+
* The result is POSTed to /v1/agents/{uid}/probe-result (api-contract v1) so
|
|
20
|
+
* the console can flip the enrollment to "Enrolled". Also reports the age of
|
|
21
|
+
* the kit's last heartbeat.
|
|
22
|
+
*/
|
|
23
|
+
import chalk from "chalk";
|
|
24
|
+
import * as fs from "node:fs";
|
|
25
|
+
import * as os from "node:os";
|
|
26
|
+
import * as path from "node:path";
|
|
27
|
+
import { randomBytes } from "node:crypto";
|
|
28
|
+
import { CLI_VERSION } from "../cli-version.js";
|
|
29
|
+
import { ensureCognitoToken } from "../utils/cognito-session.js";
|
|
30
|
+
import { peekIdToken } from "../utils/id-token.js";
|
|
31
|
+
import { getCompanyUid, vaultApiFetch } from "../utils/vault-api.js";
|
|
32
|
+
import { sendAgentDm } from "./agents.js";
|
|
33
|
+
import { defaultFetchInbox } from "../lib/agent-kit/run/inbox.js";
|
|
34
|
+
import { agentKitPaths } from "../lib/agent-kit/paths.js";
|
|
35
|
+
import { readKitConfig } from "../lib/agent-kit/kit-config.js";
|
|
36
|
+
import { readLastHeartbeat } from "../lib/agent-kit/run/heartbeat.js";
|
|
37
|
+
import { defaultRunPull, syncPullArgs } from "../lib/agent-kit/run/sync.js";
|
|
38
|
+
import { requireExternalCreds } from "./agent-kit.js";
|
|
39
|
+
/** A heartbeat older than this does not count as live presence (3 missed 60 s beats). */
|
|
40
|
+
export const PRESENCE_FRESH_SECONDS = 180;
|
|
41
|
+
function errText(err) {
|
|
42
|
+
return err instanceof Error ? err.message : String(err);
|
|
43
|
+
}
|
|
44
|
+
export function heartbeatAgeSeconds(paths, now = () => new Date()) {
|
|
45
|
+
const last = readLastHeartbeat(paths);
|
|
46
|
+
if (!last)
|
|
47
|
+
return null;
|
|
48
|
+
const at = new Date(last.at).getTime();
|
|
49
|
+
if (Number.isNaN(at))
|
|
50
|
+
return null;
|
|
51
|
+
return Math.max(0, Math.round((now().getTime() - at) / 1000));
|
|
52
|
+
}
|
|
53
|
+
export async function runProbe(deps) {
|
|
54
|
+
const now = deps.now ?? (() => new Date());
|
|
55
|
+
const nonce = (deps.nonce ?? (() => randomBytes(6).toString("hex")))();
|
|
56
|
+
const self = deps.creds.entityUid;
|
|
57
|
+
const checks = [];
|
|
58
|
+
let token = null;
|
|
59
|
+
let companyUid = null;
|
|
60
|
+
// 1. whoami
|
|
61
|
+
try {
|
|
62
|
+
token = await deps.getToken();
|
|
63
|
+
const claims = peekIdToken(token);
|
|
64
|
+
const uid = claims["custom:entityUid"];
|
|
65
|
+
const type = claims["custom:entityType"];
|
|
66
|
+
if (type === "agent" && uid === self && !(deps.hostKeyExists ?? fs.existsSync)(deps.creds.hostKeyPath)) {
|
|
67
|
+
// A cached token hides a missing host key for up to an hour: the probe
|
|
68
|
+
// used to pass and the agent then went silent at its next refresh.
|
|
69
|
+
checks.push({
|
|
70
|
+
name: "whoami",
|
|
71
|
+
ok: false,
|
|
72
|
+
detail: `token minted from cache, but there is no host key at ${deps.creds.hostKeyPath}, so the next refresh will fail. Keep host-key beside machine-creds.json, or re-enroll`,
|
|
73
|
+
});
|
|
74
|
+
token = null;
|
|
75
|
+
}
|
|
76
|
+
else if (type === "agent" && uid === self) {
|
|
77
|
+
checks.push({ name: "whoami", ok: true, detail: `${self} (external, ${deps.creds.companySlug})` });
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
checks.push({
|
|
81
|
+
name: "whoami",
|
|
82
|
+
ok: false,
|
|
83
|
+
detail: `token names ${String(type)}:${String(uid)}, expected agent:${self}`,
|
|
84
|
+
});
|
|
85
|
+
token = null;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
checks.push({ name: "whoami", ok: false, detail: `mint failed: ${errText(err)}` });
|
|
90
|
+
}
|
|
91
|
+
if (token) {
|
|
92
|
+
try {
|
|
93
|
+
companyUid = await deps.resolveCompanyUid(token, deps.creds.companySlug);
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
checks.push({ name: "company", ok: false, detail: `cannot resolve ${deps.creds.companySlug}: ${errText(err)}` });
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// 2. files
|
|
100
|
+
//
|
|
101
|
+
// Two shapes, because the kit has two. With file sync off (the default) the
|
|
102
|
+
// bot reads and writes vault files on demand, so what has to be proven is
|
|
103
|
+
// that a vault listing answers — not that a full local copy exists. Pulling
|
|
104
|
+
// the whole vault here would also make the probe fail for a reason that does
|
|
105
|
+
// not affect the bot: a team with a large asset library is hundreds of
|
|
106
|
+
// megabytes, and a sandboxed bot host whose egress truncates large responses
|
|
107
|
+
// can never finish it.
|
|
108
|
+
if (token) {
|
|
109
|
+
if (deps.syncFiles) {
|
|
110
|
+
try {
|
|
111
|
+
const code = await deps.runHq(syncPullArgs(deps.hqRoot));
|
|
112
|
+
const companyDir = path.join(deps.hqRoot, "companies", deps.creds.companySlug);
|
|
113
|
+
const present = fs.existsSync(companyDir);
|
|
114
|
+
const ok = code === 0 && present;
|
|
115
|
+
checks.push({
|
|
116
|
+
name: "files",
|
|
117
|
+
ok,
|
|
118
|
+
detail: ok
|
|
119
|
+
? `synced into ${companyDir}`
|
|
120
|
+
: code !== 0
|
|
121
|
+
? `hq sync pull exited ${code}`
|
|
122
|
+
: `sync exited 0 but ${companyDir} is missing`,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
checks.push({ name: "files", ok: false, detail: errText(err) });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
const target = `companies/${deps.creds.companySlug}`;
|
|
131
|
+
try {
|
|
132
|
+
const code = await deps.runHq(["files", "browse", target]);
|
|
133
|
+
checks.push({
|
|
134
|
+
name: "files",
|
|
135
|
+
ok: code === 0,
|
|
136
|
+
detail: code === 0
|
|
137
|
+
? `${target} is readable on demand (no local copy)`
|
|
138
|
+
: `hq files browse ${target} exited ${code}`,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
catch (err) {
|
|
142
|
+
checks.push({ name: "files", ok: false, detail: errText(err) });
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
checks.push({ name: "files", ok: false, detail: "skipped: no token" });
|
|
148
|
+
}
|
|
149
|
+
// 3. presence: HQ can see this agent, and the agent can read its own inbox.
|
|
150
|
+
//
|
|
151
|
+
// This replaces a work-mesh check that also required the realtime doorbell
|
|
152
|
+
// to be connected. The doorbell was never what made an agent reachable —
|
|
153
|
+
// messages arrive over the inbox either way — and on a host whose egress
|
|
154
|
+
// intercepts that connection it could never pass, so a perfectly healthy
|
|
155
|
+
// bot reported a failure it could do nothing about.
|
|
156
|
+
if (token) {
|
|
157
|
+
try {
|
|
158
|
+
const inbox = await deps.readInbox(token);
|
|
159
|
+
const age = heartbeatAgeSeconds(deps.paths, now);
|
|
160
|
+
const reachable = inbox.status === 200;
|
|
161
|
+
const fresh = age !== null && age <= PRESENCE_FRESH_SECONDS;
|
|
162
|
+
const ok = reachable && fresh;
|
|
163
|
+
checks.push({
|
|
164
|
+
name: "presence",
|
|
165
|
+
ok,
|
|
166
|
+
detail: `inbox GET → ${inbox.status}; heartbeat ${age === null ? "never" : `${age}s ago`}` +
|
|
167
|
+
(ok ? "" : " — is `hq agent kit` installed and running? see ~/.hq-agent/logs/"),
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
catch (err) {
|
|
171
|
+
checks.push({ name: "presence", ok: false, detail: errText(err) });
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
checks.push({ name: "presence", ok: false, detail: "skipped: no token" });
|
|
176
|
+
}
|
|
177
|
+
// 4. dm: the send is accepted and the agent inbox is readable.
|
|
178
|
+
// The server never delivers a self-DM into the sender's own inbox
|
|
179
|
+
// (hq-pro-core notify-dm skips inbox delivery when recipient === sender),
|
|
180
|
+
// so a self round-trip can never succeed. Inbound delivery is proven by a
|
|
181
|
+
// teammate's DM, which the kit's inbox poller mirrors to inbox.jsonl.
|
|
182
|
+
if (token) {
|
|
183
|
+
try {
|
|
184
|
+
const body = `hq agent probe ${nonce}`;
|
|
185
|
+
await deps.sendDm(token, self, body);
|
|
186
|
+
const res = await deps.readInbox(token);
|
|
187
|
+
checks.push({
|
|
188
|
+
name: "dm",
|
|
189
|
+
ok: res.status === 200,
|
|
190
|
+
detail: res.status === 200
|
|
191
|
+
? "send accepted by /v1/notify/dm; /v1/agents/{uid}/inbox → 200 (self-DMs are not delivered to the inbox; a DM from a teammate confirms inbound)"
|
|
192
|
+
: `send accepted but /v1/agents/{uid}/inbox answered ${res.status}`,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
checks.push({ name: "dm", ok: false, detail: errText(err) });
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
checks.push({ name: "dm", ok: false, detail: "skipped: no token" });
|
|
201
|
+
}
|
|
202
|
+
// 5. secrets-list
|
|
203
|
+
if (token && companyUid) {
|
|
204
|
+
try {
|
|
205
|
+
const status = await deps.listSecrets(token, companyUid);
|
|
206
|
+
checks.push({
|
|
207
|
+
name: "secrets",
|
|
208
|
+
ok: status === 200,
|
|
209
|
+
detail: status === 200 ? `GET /secrets/${companyUid} → 200` : `GET /secrets/${companyUid} → ${status}`,
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
catch (err) {
|
|
213
|
+
checks.push({ name: "secrets", ok: false, detail: errText(err) });
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
checks.push({ name: "secrets", ok: false, detail: "skipped: no token/company" });
|
|
218
|
+
}
|
|
219
|
+
const result = {
|
|
220
|
+
passed: checks.every((c) => c.ok),
|
|
221
|
+
checks,
|
|
222
|
+
at: now().toISOString(),
|
|
223
|
+
heartbeatAgeSeconds: heartbeatAgeSeconds(deps.paths, now),
|
|
224
|
+
};
|
|
225
|
+
if (token) {
|
|
226
|
+
try {
|
|
227
|
+
const status = await deps.postResult(token, result);
|
|
228
|
+
if (status < 200 || status >= 300) {
|
|
229
|
+
result.checks.push({ name: "report", ok: false, detail: `probe-result POST → ${status}` });
|
|
230
|
+
result.passed = false;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
catch (err) {
|
|
234
|
+
result.checks.push({ name: "report", ok: false, detail: `probe-result POST failed: ${errText(err)}` });
|
|
235
|
+
result.passed = false;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return result;
|
|
239
|
+
}
|
|
240
|
+
/** True when any inbox item (whatever its channel shape) carries the nonce. */
|
|
241
|
+
export function inboxContainsNonce(body, nonce) {
|
|
242
|
+
const rec = body && typeof body === "object" ? body : {};
|
|
243
|
+
const messages = Array.isArray(rec.messages) ? rec.messages : [];
|
|
244
|
+
return messages.some((m) => {
|
|
245
|
+
try {
|
|
246
|
+
return JSON.stringify(m).includes(nonce);
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
export function formatHeartbeatAge(age) {
|
|
254
|
+
if (age === null)
|
|
255
|
+
return "never (kit heartbeat has not posted yet)";
|
|
256
|
+
if (age < 90)
|
|
257
|
+
return `${age}s ago`;
|
|
258
|
+
if (age < 3600)
|
|
259
|
+
return `${Math.round(age / 60)}m ago`;
|
|
260
|
+
return `${(age / 3600).toFixed(1)}h ago`;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Recipe contract: `PASS <check> <detail>` / `FAIL <check> <detail>` per
|
|
264
|
+
* check, then `heartbeat <age>`. Two-space separators; no trailing verdict
|
|
265
|
+
* line (the exit code carries it, and the console keys only on the POSTed
|
|
266
|
+
* probe-result).
|
|
267
|
+
*/
|
|
268
|
+
export function formatProbeReport(result, color = true) {
|
|
269
|
+
const pass = color ? chalk.green("PASS") : "PASS";
|
|
270
|
+
const failTag = color ? chalk.red("FAIL") : "FAIL";
|
|
271
|
+
const lines = result.checks.map((c) => `${c.ok ? pass : failTag} ${c.name} ${c.detail}`);
|
|
272
|
+
lines.push(`heartbeat ${formatHeartbeatAge(result.heartbeatAgeSeconds)}`);
|
|
273
|
+
return lines;
|
|
274
|
+
}
|
|
275
|
+
export function defaultProbeDeps(paths, creds) {
|
|
276
|
+
process.env.HQ_MACHINE_CREDS_FILE = paths.machineCredsPath;
|
|
277
|
+
process.env.HQ_REQUIRE_MACHINE_IDENTITY = "1";
|
|
278
|
+
process.env.HQ_VAULT_API_URL = creds.apiBaseUrl;
|
|
279
|
+
const config = readKitConfig(paths, CLI_VERSION);
|
|
280
|
+
const base = creds.apiBaseUrl;
|
|
281
|
+
return {
|
|
282
|
+
paths,
|
|
283
|
+
creds,
|
|
284
|
+
hqRoot: config.hqRoot,
|
|
285
|
+
syncFiles: config.syncFiles,
|
|
286
|
+
getToken: () => ensureCognitoToken({ tokenSource: "machine", interactive: false }),
|
|
287
|
+
resolveCompanyUid: (token, slug) => getCompanyUid(token, slug),
|
|
288
|
+
runHq: defaultRunPull(process.execPath, process.argv[1], process.env),
|
|
289
|
+
readInbox: (token) => defaultFetchInbox(creds.entityUid, base)(token),
|
|
290
|
+
sendDm: (token, to, body) => sendAgentDm(token, to, body),
|
|
291
|
+
listSecrets: async (token, companyUid) => {
|
|
292
|
+
const res = await vaultApiFetch({
|
|
293
|
+
token,
|
|
294
|
+
baseUrl: base,
|
|
295
|
+
path: `/secrets/${encodeURIComponent(companyUid)}`,
|
|
296
|
+
});
|
|
297
|
+
return res.status;
|
|
298
|
+
},
|
|
299
|
+
postResult: async (token, result) => {
|
|
300
|
+
const res = await vaultApiFetch({
|
|
301
|
+
token,
|
|
302
|
+
baseUrl: base,
|
|
303
|
+
path: `/v1/agents/${encodeURIComponent(creds.entityUid)}/probe-result`,
|
|
304
|
+
method: "POST",
|
|
305
|
+
body: { passed: result.passed, checks: result.checks, at: result.at },
|
|
306
|
+
});
|
|
307
|
+
return res.status;
|
|
308
|
+
},
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
export function registerAgentProbeCommand(agent) {
|
|
312
|
+
agent
|
|
313
|
+
.command("probe")
|
|
314
|
+
.description("Verify identity, vault access, presence, DMs and secrets; report to the console")
|
|
315
|
+
.option("--json", "Print machine-readable JSON")
|
|
316
|
+
.action(async (opts) => {
|
|
317
|
+
try {
|
|
318
|
+
const paths = agentKitPaths(os.homedir(), process.env);
|
|
319
|
+
const creds = requireExternalCreds(paths);
|
|
320
|
+
const result = await runProbe(defaultProbeDeps(paths, creds));
|
|
321
|
+
if (opts.json)
|
|
322
|
+
console.log(JSON.stringify(result, null, 2));
|
|
323
|
+
else
|
|
324
|
+
for (const line of formatProbeReport(result))
|
|
325
|
+
console.log(line);
|
|
326
|
+
if (!result.passed)
|
|
327
|
+
process.exit(1);
|
|
328
|
+
}
|
|
329
|
+
catch (err) {
|
|
330
|
+
console.error(chalk.red(err instanceof Error ? err.message : String(err)));
|
|
331
|
+
process.exit(1);
|
|
332
|
+
}
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=agent-probe.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `hq agent …` — commands a host runs to BE an external HQ agent (as opposed
|
|
3
|
+
* to `hq agents …`, which an admin runs to manage a company's agents):
|
|
4
|
+
*
|
|
5
|
+
* hq agent enroll <code> redeem a one-time enrollment code
|
|
6
|
+
* hq agent kit install|status|uninstall|run <service>
|
|
7
|
+
* hq agent probe end-to-end membership check
|
|
8
|
+
* hq agent mcp stdio MCP server for the bot framework
|
|
9
|
+
* hq agent inbox [done <id…>] pending HQ messages / mark handled
|
|
10
|
+
*/
|
|
11
|
+
import { Command } from "commander";
|
|
12
|
+
export declare function registerAgentCommand(program: Command): void;
|
|
13
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `hq agent …` — commands a host runs to BE an external HQ agent (as opposed
|
|
3
|
+
* to `hq agents …`, which an admin runs to manage a company's agents):
|
|
4
|
+
*
|
|
5
|
+
* hq agent enroll <code> redeem a one-time enrollment code
|
|
6
|
+
* hq agent kit install|status|uninstall|run <service>
|
|
7
|
+
* hq agent probe end-to-end membership check
|
|
8
|
+
* hq agent mcp stdio MCP server for the bot framework
|
|
9
|
+
* hq agent inbox [done <id…>] pending HQ messages / mark handled
|
|
10
|
+
*/
|
|
11
|
+
import * as os from "node:os";
|
|
12
|
+
import { adoptAgentIdentityEnv } from "../lib/agent-kit/adopt-identity.js";
|
|
13
|
+
import { agentKitPaths } from "../lib/agent-kit/paths.js";
|
|
14
|
+
import { registerAgentEnrollCommand } from "./agent-enroll.js";
|
|
15
|
+
import { registerAgentInboxCommand } from "./agent-inbox.js";
|
|
16
|
+
import { registerAgentKitCommand } from "./agent-kit.js";
|
|
17
|
+
import { registerAgentMcpCommand } from "./agent-mcp.js";
|
|
18
|
+
import { registerAgentProbeCommand } from "./agent-probe.js";
|
|
19
|
+
export function registerAgentCommand(program) {
|
|
20
|
+
const agent = program
|
|
21
|
+
.command("agent")
|
|
22
|
+
.description("Enroll and run this host as an external HQ agent")
|
|
23
|
+
// A bot that shares a computer with its owner keeps its identity in its
|
|
24
|
+
// own directory. Publish that tree to the environment before any
|
|
25
|
+
// subcommand runs, so the CLI and hq-cloud both mint as the AGENT rather
|
|
26
|
+
// than falling back to the one fixed path — and, on a person's computer,
|
|
27
|
+
// to the person. Enroll is exempt: it is the command that decides where
|
|
28
|
+
// the tree goes.
|
|
29
|
+
.hook("preAction", (_thisCommand, actionCommand) => {
|
|
30
|
+
if (actionCommand.name() === "enroll")
|
|
31
|
+
return;
|
|
32
|
+
adoptAgentIdentityEnv(agentKitPaths(os.homedir(), process.env), process.env);
|
|
33
|
+
});
|
|
34
|
+
registerAgentEnrollCommand(agent);
|
|
35
|
+
registerAgentKitCommand(agent);
|
|
36
|
+
registerAgentProbeCommand(agent);
|
|
37
|
+
registerAgentMcpCommand(agent);
|
|
38
|
+
registerAgentInboxCommand(agent);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -15,8 +15,11 @@
|
|
|
15
15
|
* hq agents start|stop <uid> — EC2 start/stop
|
|
16
16
|
* hq agents retry <uid> — resume setup from first non-done step
|
|
17
17
|
* hq agents rm <uid> --yes — deprovision (destructive; flag-guarded)
|
|
18
|
+
* hq agents rotate <uid> — new enrollment code for an external agent
|
|
19
|
+
* hq agents revoke <uid> --yes — revoke an external agent (--remove deletes it)
|
|
18
20
|
* hq agents jobs list <uid> — off-box job roster (schedule + rate)
|
|
19
21
|
* hq agents jobs pause <uid> <jobId> — flip schedule State=DISABLED
|
|
22
|
+
* hq agents jobs resume <uid> <jobId> — flip schedule State=ENABLED
|
|
20
23
|
* hq agents jobs cancel <uid> <jobId> — delete schedule + drop the job
|
|
21
24
|
*
|
|
22
25
|
* Agents are company-scoped. `--company <slug>` may sit on the group
|
|
@@ -26,6 +29,7 @@
|
|
|
26
29
|
*/
|
|
27
30
|
import { Command } from "commander";
|
|
28
31
|
import { type TerminalSessionPayload } from "@indigoai-us/hq-cloud/outposts/node";
|
|
32
|
+
import { type AgentModelProvider, type AgentModelCatalog } from "../lib/agents/model-catalog.js";
|
|
29
33
|
import { type BillingErrorPayload } from "../utils/billing-gate.js";
|
|
30
34
|
/** Reasoning-effort values hq-pro accepts on `runtime-config`. */
|
|
31
35
|
export declare const VALID_EFFORTS: Set<string>;
|
|
@@ -37,6 +41,29 @@ export declare const VALID_PROVIDERS: Set<string>;
|
|
|
37
41
|
export declare const VALID_AUTH_MODES: Set<string>;
|
|
38
42
|
/** Customer-facing agent size keys served by hq-pro's authoritative catalog. */
|
|
39
43
|
export declare const VALID_AGENT_SIZE_KEYS: Set<string>;
|
|
44
|
+
/**
|
|
45
|
+
* `hq agents create` exits with this distinct status when payment is required.
|
|
46
|
+
* Scripts can distinguish the expected upgrade state from an ordinary command
|
|
47
|
+
* failure without parsing human output.
|
|
48
|
+
*/
|
|
49
|
+
export declare const AGENT_CREATE_PAYMENT_REQUIRED_EXIT_CODE = 3;
|
|
50
|
+
export type AgentCreatePlanLimit = Readonly<{
|
|
51
|
+
requiredPlan: "agents-500";
|
|
52
|
+
amountMinor: number;
|
|
53
|
+
currency: string;
|
|
54
|
+
checkoutUrl?: string;
|
|
55
|
+
}>;
|
|
56
|
+
/**
|
|
57
|
+
* Decode only the priced response defined by the agent-create contract. A
|
|
58
|
+
* lookalike 403 must stay an ordinary API error rather than opening a browser
|
|
59
|
+
* or guessing at a price.
|
|
60
|
+
*/
|
|
61
|
+
export declare function agentCreatePlanLimitFromPayload(status: number, body: unknown): AgentCreatePlanLimit | null;
|
|
62
|
+
/** Print a server-priced plan block without minting or rewriting its URL. */
|
|
63
|
+
export declare function surfaceAgentCreatePlanLimit(planLimit: AgentCreatePlanLimit, opts?: {
|
|
64
|
+
json?: boolean;
|
|
65
|
+
companyUid?: string;
|
|
66
|
+
}): Promise<void>;
|
|
40
67
|
/**
|
|
41
68
|
* Resolve a closed-set option value, or exit(1) with a message naming the
|
|
42
69
|
* offending input and the legal set.
|
|
@@ -82,7 +109,9 @@ export declare class AgentsHttpError extends Error {
|
|
|
82
109
|
code?: string;
|
|
83
110
|
/** hq-pro's billing envelope on a `402 billing_required` provision block. */
|
|
84
111
|
billing?: BillingErrorPayload;
|
|
85
|
-
|
|
112
|
+
/** Strictly decoded priced `403 AGENT_PLAN_LIMIT` create response. */
|
|
113
|
+
agentCreatePlanLimit?: AgentCreatePlanLimit;
|
|
114
|
+
constructor(status: number, message: string, code?: string, billing?: BillingErrorPayload, agentCreatePlanLimit?: AgentCreatePlanLimit);
|
|
86
115
|
}
|
|
87
116
|
/** Roster row from `GET /v1/agents` — a superset is returned; we keep what we render. */
|
|
88
117
|
export interface CompanyAgentView {
|
|
@@ -104,6 +133,18 @@ export interface CompanyAgentView {
|
|
|
104
133
|
};
|
|
105
134
|
[key: string]: unknown;
|
|
106
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* STATUS column for `hq agents list`.
|
|
138
|
+
*
|
|
139
|
+
* `agentStatus` is the agent's own stored runtime status and is NOT rewritten
|
|
140
|
+
* when a teardown starts — an agent that never finished provisioning and is
|
|
141
|
+
* now being removed keeps reading `provisioning` until the teardown completes
|
|
142
|
+
* and archives it. Observed live on liverecover/sean 2026-09-21: a removal that
|
|
143
|
+
* stalled on an object-locked vault bucket sat in the roster as `provisioning`,
|
|
144
|
+
* so the operator believed the removal had never been accepted. The roster
|
|
145
|
+
* already carries `setupPhase`, so prefer it whenever a teardown is in flight.
|
|
146
|
+
*/
|
|
147
|
+
export declare function rosterStatusLabel(agent: CompanyAgentView): string;
|
|
107
148
|
export interface ProfilePatch {
|
|
108
149
|
displayName?: string;
|
|
109
150
|
title?: string;
|
|
@@ -145,7 +186,11 @@ export interface ProvisionAgentInput {
|
|
|
145
186
|
slug: string;
|
|
146
187
|
codexAuthMode: "subscription" | "apiKey";
|
|
147
188
|
provider?: "codex" | "grok" | "claude" | "agents-v2";
|
|
189
|
+
codexModel?: string;
|
|
148
190
|
codexApiKey?: string;
|
|
191
|
+
/** Write-only Slack credentials, validated by hq-pro before creation. */
|
|
192
|
+
slackBotToken?: string;
|
|
193
|
+
slackAppToken?: string;
|
|
149
194
|
idempotencyKey: string;
|
|
150
195
|
title?: string;
|
|
151
196
|
description?: string;
|
|
@@ -157,6 +202,21 @@ export interface ProvisionAgentInput {
|
|
|
157
202
|
/** Funnel attribution: which client surface made the attempt. */
|
|
158
203
|
surface?: AgentCreateSurface;
|
|
159
204
|
}
|
|
205
|
+
export interface ProvisionSlackTokenOptions {
|
|
206
|
+
slackBotToken?: string;
|
|
207
|
+
slackAppToken?: string;
|
|
208
|
+
slackTokensStdin?: boolean;
|
|
209
|
+
}
|
|
210
|
+
export interface ProvisionSlackTokens {
|
|
211
|
+
botToken: string;
|
|
212
|
+
appToken?: string;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Resolve write-only Slack credentials without printing them. Flags are useful
|
|
216
|
+
* for automation; HQ_SLACK_BOT_TOKEN/HQ_SLACK_APP_TOKEN and stdin avoid shell
|
|
217
|
+
* history. Multiple sources are rejected so the selected credential is clear.
|
|
218
|
+
*/
|
|
219
|
+
export declare function resolveProvisionSlackTokens(options: ProvisionSlackTokenOptions, environment?: Record<string, string | undefined>, readStdin?: () => Promise<string>): Promise<ProvisionSlackTokens | undefined>;
|
|
160
220
|
/** Closed set shared with hq-pro's agent_create_* funnel contract. */
|
|
161
221
|
export declare const CLI_AGENT_CREATE_SURFACE: "cli_agents_create";
|
|
162
222
|
export type AgentCreateSurface = typeof CLI_AGENT_CREATE_SURFACE;
|
|
@@ -194,7 +254,7 @@ export declare function formatAgentCreateSize(option: AgentCreateSizeOption): st
|
|
|
194
254
|
/** Ask a TTY user to choose one of hq-pro's currently selectable quotes. */
|
|
195
255
|
export declare function promptForAgentCreateSize(view: AgentCreateOptionsView): Promise<QuotedAgentCreateSizeOption>;
|
|
196
256
|
/** Confirm creation using the server quote, preserving $0 as a real answer. */
|
|
197
|
-
export declare function confirmAgentCreateQuoteOrExit(option: QuotedAgentCreateSizeOption, yes?: boolean): void;
|
|
257
|
+
export declare function confirmAgentCreateQuoteOrExit(option: QuotedAgentCreateSizeOption, yes?: boolean, quiet?: boolean): void;
|
|
198
258
|
export declare function provisionAgent(token: string, input: ProvisionAgentInput): Promise<{
|
|
199
259
|
uid?: string;
|
|
200
260
|
slug?: string;
|
|
@@ -218,6 +278,11 @@ export declare function startStopAgent(token: string, agentUid: string, action:
|
|
|
218
278
|
uid: string;
|
|
219
279
|
runtime?: Record<string, unknown>;
|
|
220
280
|
}>;
|
|
281
|
+
/** Submit a human-provided Claude subscription code through hq-pro's route. */
|
|
282
|
+
export declare function submitAgentLoginCode(token: string, agentUid: string, code: string): Promise<{
|
|
283
|
+
uid: string;
|
|
284
|
+
ok: boolean;
|
|
285
|
+
}>;
|
|
221
286
|
/** `POST /v1/agents/{uid}/terminal` wire shape: vended session or 202 starting. */
|
|
222
287
|
export type AgentTerminalResponse = ({
|
|
223
288
|
ok: true;
|
|
@@ -232,7 +297,7 @@ export type AgentTerminalResponse = ({
|
|
|
232
297
|
};
|
|
233
298
|
export declare function openAgentTerminal(token: string, agentUid: string, body: Record<string, unknown>): Promise<AgentTerminalResponse>;
|
|
234
299
|
export declare function retryAgent(token: string, agentUid: string): Promise<Record<string, unknown>>;
|
|
235
|
-
export declare function deprovisionAgent(token: string, agentUid: string): Promise<{
|
|
300
|
+
export declare function deprovisionAgent(token: string, agentUid: string, confirmDestroyAgentsV2?: string): Promise<{
|
|
236
301
|
uid: string;
|
|
237
302
|
setupState?: string;
|
|
238
303
|
terminal?: boolean;
|
|
@@ -257,12 +322,20 @@ export interface PauseJobResult {
|
|
|
257
322
|
changed: boolean;
|
|
258
323
|
previousState?: string;
|
|
259
324
|
}
|
|
325
|
+
export interface ResumeJobResult {
|
|
326
|
+
ok: true;
|
|
327
|
+
jobId: string;
|
|
328
|
+
scheduleState: "ENABLED" | string;
|
|
329
|
+
changed: boolean;
|
|
330
|
+
previousState?: string;
|
|
331
|
+
}
|
|
260
332
|
export interface CancelJobResult {
|
|
261
333
|
ok: true;
|
|
262
334
|
jobId: string;
|
|
263
335
|
}
|
|
264
336
|
export declare function listAgentJobs(token: string, agentUid: string): Promise<AgentJobView[]>;
|
|
265
337
|
export declare function pauseAgentJob(token: string, agentUid: string, jobId: string): Promise<PauseJobResult>;
|
|
338
|
+
export declare function resumeAgentJob(token: string, agentUid: string, jobId: string): Promise<ResumeJobResult>;
|
|
266
339
|
export declare function cancelAgentJob(token: string, agentUid: string, jobId: string): Promise<CancelJobResult>;
|
|
267
340
|
/**
|
|
268
341
|
* Map a jobs-control HTTP error to a single operator-facing line. Pure so the
|
|
@@ -273,12 +346,16 @@ export declare function cancelAgentJob(token: string, agentUid: string, jobId: s
|
|
|
273
346
|
* the agent is cross-company) must print a clear message and exit non-zero,
|
|
274
347
|
* never throw a stack trace.
|
|
275
348
|
*/
|
|
276
|
-
export declare function formatJobsHttpError(err: AgentsHttpError, jobId?: string): string;
|
|
349
|
+
export declare function formatJobsHttpError(err: AgentsHttpError, jobId?: string, action?: "resume"): string;
|
|
277
350
|
/** Stable padEnd table: jobId, scheduleState, rate, lastRunOutcome, status. */
|
|
278
351
|
export declare function formatJobsTable(jobs: AgentJobView[]): string;
|
|
279
352
|
export declare function formatPauseResult(result: PauseJobResult): string;
|
|
353
|
+
export declare function formatResumeResult(result: ResumeJobResult): string;
|
|
280
354
|
/** Human-readable "hot-applied to the running box" vs "saved for next launch". */
|
|
281
355
|
export declare function appliedHint(applied: boolean): string;
|
|
356
|
+
/** Stable human table shared by the all-provider and provider-filtered forms. */
|
|
357
|
+
export declare function formatAgentModelsTable(catalog: AgentModelCatalog, selectedProvider?: AgentModelProvider): string;
|
|
358
|
+
/** Agent uid shape (`agt_…`). */
|
|
282
359
|
/** One message in a DM thread, as returned by `GET /v1/notify/thread`. */
|
|
283
360
|
export interface DmThreadMessage {
|
|
284
361
|
eventId: string;
|
|
@@ -326,5 +403,30 @@ export declare function sendAgentDm(token: string, agentUid: string, message: st
|
|
|
326
403
|
export declare function readAgentThread(token: string, agentUid: string, limit?: number): Promise<DmThreadMessage[]>;
|
|
327
404
|
/** Render one thread message as a labeled line for the terminal. */
|
|
328
405
|
export declare function formatThreadMessage(m: DmThreadMessage, agentLabel: string): string;
|
|
406
|
+
export interface EnrollmentIssue {
|
|
407
|
+
code: string;
|
|
408
|
+
expiresAt: string;
|
|
409
|
+
enrollmentId: string;
|
|
410
|
+
}
|
|
411
|
+
export interface RotateAgentResult {
|
|
412
|
+
agentUid: string;
|
|
413
|
+
enrollment: EnrollmentIssue;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* POST /v1/agents/{uid}/rotate — invalidate the current secret and host key
|
|
417
|
+
* and issue a fresh one-time enrollment code (returned exactly once).
|
|
418
|
+
*/
|
|
419
|
+
export declare function rotateAgent(token: string, agentUid: string): Promise<RotateAgentResult>;
|
|
420
|
+
/** Display form of a 24-char code: six groups of four. */
|
|
421
|
+
export declare function groupEnrollmentCode(code: string): string;
|
|
422
|
+
/**
|
|
423
|
+
* POST /v1/agents/{uid}/revoke — disable the Cognito user, drop membership,
|
|
424
|
+
* mark the enrollment revoked; `remove` also deletes the entity.
|
|
425
|
+
*/
|
|
426
|
+
export declare function revokeAgent(token: string, agentUid: string, remove: boolean): Promise<{
|
|
427
|
+
removed: boolean;
|
|
428
|
+
}>;
|
|
429
|
+
/** Lines printed after a rotate: the code is shown once and never stored. */
|
|
430
|
+
export declare function formatRotateOutput(result: RotateAgentResult): string[];
|
|
329
431
|
export declare function registerAgentsCommand(program: Command): void;
|
|
330
432
|
//# sourceMappingURL=agents.d.ts.map
|