@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,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Follow-up delivery decision, per provider and per lane state, in one place.
|
|
3
|
+
*
|
|
4
|
+
* Two mechanisms exist. A live provider process drains the drop box on its
|
|
5
|
+
* next `PreToolUse` event (dropbox.ts). A Claude process is print-and-exit,
|
|
6
|
+
* so after it exits the only way to deliver is `claude -p --resume <sid>`,
|
|
7
|
+
* which continues the recorded session and keeps its prompt cache. Codex
|
|
8
|
+
* (0.155.1) has `codex exec resume <thread-id>`; the id is the `thread_id`
|
|
9
|
+
* of the `thread.started` event on the `--json` stdout stream, and the same
|
|
10
|
+
* id comes back on every resumed turn. Grok's CLI (1.0.34) prints a
|
|
11
|
+
* `sessionId` in its `--single --output-format json` result, and
|
|
12
|
+
* `grok --single <prompt> --resume <id>` continues that session with the same
|
|
13
|
+
* id and a warm prompt cache (verified live 2026-09-26: the resumed turn
|
|
14
|
+
* recalled the earlier turn's tool calls and read 33,792 cached tokens).
|
|
15
|
+
*
|
|
16
|
+
* Every dispatch site (`hq lanes message`, spawn, reconcile resume) asks this
|
|
17
|
+
* module rather than testing provider or state inline. A guard bound at one
|
|
18
|
+
* site and not another is the defect class this branch has already shipped.
|
|
19
|
+
*/
|
|
20
|
+
import { type LaneProvider, type LaneRecord, type LaneState, type SeniorRef } from "./types.js";
|
|
21
|
+
/** Which providers can continue an exited worker from a recorded session id. */
|
|
22
|
+
export declare const PROVIDER_SESSION_RESUME: Record<LaneProvider, boolean>;
|
|
23
|
+
export declare function providerSupportsSessionResume(provider: LaneProvider): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Which providers' sessions can be copied to another account's home before a
|
|
26
|
+
* resume (move-account.ts). Grok resumes on the account that recorded the
|
|
27
|
+
* session, but copying its session directory between homes is not proven.
|
|
28
|
+
*/
|
|
29
|
+
export declare const PROVIDER_SESSION_PORTABLE: Record<LaneProvider, boolean>;
|
|
30
|
+
export declare function providerSessionPortable(provider: LaneProvider): boolean;
|
|
31
|
+
export declare function sessionNotPortableMessage(provider: LaneProvider): string;
|
|
32
|
+
/**
|
|
33
|
+
* States an operator message may resume from, given a session id.
|
|
34
|
+
*
|
|
35
|
+
* `done`: the worker finished its brief, wrote a done envelope and exited on
|
|
36
|
+
* its own. Nothing about the lane says the operator is finished with it; a
|
|
37
|
+
* follow-up is the normal next step, and the session is intact.
|
|
38
|
+
*
|
|
39
|
+
* `blocked`: the worker exited after writing a blocked envelope that names
|
|
40
|
+
* what it needs. An operator message is usually that missing input. The state
|
|
41
|
+
* is not terminal (spec §6.7) and nothing stopped the lane deliberately.
|
|
42
|
+
*
|
|
43
|
+
* Refused by `hq lanes message`:
|
|
44
|
+
* `awaiting_input` has its own path, `hq lanes questions answer`, while a
|
|
45
|
+
* senior may resume it when no answerable pending question remains. `killed` and
|
|
46
|
+
* `cancelled` were stopped on purpose by the operator; a message must not
|
|
47
|
+
* silently restart them. `failed` means the run ended without an envelope or
|
|
48
|
+
* never started; only the lane's senior can explicitly recover it with
|
|
49
|
+
* `hq lanes resume <lane-id> --from-failed --reason <text>`. `interrupted` exited with
|
|
50
|
+
* partial output and no envelope, so the lane's state was never closed
|
|
51
|
+
* cleanly; only the explicit `hq lanes resume` opt-in continues it
|
|
52
|
+
* (RESUME_COMMAND_STATES). `queued` and `running` take the drop box, not a
|
|
53
|
+
* resume.
|
|
54
|
+
*/
|
|
55
|
+
export declare const RESUMABLE_LANE_STATES: readonly ["done", "blocked"];
|
|
56
|
+
export type ResumableLaneState = (typeof RESUMABLE_LANE_STATES)[number];
|
|
57
|
+
export declare function isResumableLaneState(state: LaneState): state is ResumableLaneState;
|
|
58
|
+
/**
|
|
59
|
+
* States `hq lanes resume` continues from. `interrupted` is the one a plain
|
|
60
|
+
* message refuses: the run ended without closing its state, and continuing
|
|
61
|
+
* it is a decision the operator makes by name. `done` and `blocked` are here
|
|
62
|
+
* so the one command covers every exited-with-a-session case.
|
|
63
|
+
*/
|
|
64
|
+
export declare const RESUME_COMMAND_STATES: readonly ["interrupted", "done", "blocked"];
|
|
65
|
+
export type ResumeCommandState = (typeof RESUME_COMMAND_STATES)[number];
|
|
66
|
+
export declare function isResumeCommandState(state: LaneState): state is ResumeCommandState;
|
|
67
|
+
export declare const LANE_DELIVERY_MECHANISMS: readonly ["dropbox", "resume", "none"];
|
|
68
|
+
export type LaneDeliveryMechanism = (typeof LANE_DELIVERY_MECHANISMS)[number];
|
|
69
|
+
/** Additional presentation-only result used by `hq lanes show`. */
|
|
70
|
+
export type LaneShowDeliveryMechanism = LaneDeliveryMechanism | "questions";
|
|
71
|
+
export type DeliveryLane = Pick<LaneRecord, "state" | "provider" | "provider_session_id" | "terminal_reason" | "envelope_repair">;
|
|
72
|
+
/** Only the terminal result of a failed automatic envelope repair is recoverable. */
|
|
73
|
+
export declare function isFailedEnvelopeRepairLane(lane: DeliveryLane): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* `dropbox`: a process is (or is about to be) alive to drain the inbox.
|
|
76
|
+
* `resume`: the process has exited, the provider can resume, the state allows
|
|
77
|
+
* it, and a session id was recorded from the worker's own result.
|
|
78
|
+
* `none`: nothing can deliver; the caller must refuse and write nothing.
|
|
79
|
+
*/
|
|
80
|
+
export declare function laneDeliveryMechanism(lane: DeliveryLane): LaneDeliveryMechanism;
|
|
81
|
+
export declare function hasRecordedSessionId(lane: Pick<LaneRecord, "provider_session_id">): lane is Pick<LaneRecord, "provider_session_id"> & {
|
|
82
|
+
provider_session_id: string;
|
|
83
|
+
};
|
|
84
|
+
export declare function deliveryRefusalReason(lane: DeliveryLane): string;
|
|
85
|
+
/** Reasons a resumable provider's exit recorded no session id. Never a fabricated value. */
|
|
86
|
+
export declare const SESSION_ID_ABSENT_REASONS: readonly ["worker_out_missing", "no_result_json", "no_session_id_field", "no_thread_started_event"];
|
|
87
|
+
export type SessionIdAbsentReason = (typeof SESSION_ID_ABSENT_REASONS)[number];
|
|
88
|
+
export interface WorkerRunResult {
|
|
89
|
+
session_id: string | null;
|
|
90
|
+
session_id_absent: SessionIdAbsentReason | null;
|
|
91
|
+
cache_read_input_tokens: number | null;
|
|
92
|
+
cache_creation_input_tokens: number | null;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Parse the `claude -p --output-format json` result. stdout is appended
|
|
96
|
+
* across runs of the same lane, so the last `type: "result"` object is this
|
|
97
|
+
* run's. Only `session_id` and the two cache counters are read out; the
|
|
98
|
+
* prompt, the response body and everything else in the payload stay on disk.
|
|
99
|
+
*/
|
|
100
|
+
export declare function parseClaudeResultOutput(text: string): WorkerRunResult;
|
|
101
|
+
/**
|
|
102
|
+
* Parse the `codex exec --json` event stream. The first event of a run is
|
|
103
|
+
* `{"type":"thread.started","thread_id":"<uuid>"}`; that id is what
|
|
104
|
+
* `codex exec resume <id>` takes, and a resumed run emits the same id again.
|
|
105
|
+
* Usage comes from the last `turn.completed` event: `cached_input_tokens`
|
|
106
|
+
* is the cache read and `cache_write_input_tokens` the cache creation.
|
|
107
|
+
* Nothing else on the stream is read out.
|
|
108
|
+
*/
|
|
109
|
+
export declare function parseCodexEventOutput(text: string): WorkerRunResult;
|
|
110
|
+
/**
|
|
111
|
+
* Parse the `grok --single --output-format json` result. Grok prints one
|
|
112
|
+
* pretty-printed JSON object (`sessionId`, `usage`, ...) at the end of the
|
|
113
|
+
* run, so the last top-level object in this run's stdout is the result.
|
|
114
|
+
* Only `sessionId` and the two cache counters are read out.
|
|
115
|
+
*/
|
|
116
|
+
export declare function parseGrokResultOutput(text: string): WorkerRunResult;
|
|
117
|
+
/** Per-provider stdout parser; null for a provider whose exit carries nothing to record. */
|
|
118
|
+
export declare function parseWorkerRunOutput(provider: LaneProvider, text: string): WorkerRunResult | null;
|
|
119
|
+
/**
|
|
120
|
+
* Read this run's result from the worker's own stdout. stdout is opened in
|
|
121
|
+
* append mode across runs, so only bytes past `workerOutOffset` (recorded in
|
|
122
|
+
* spawn.json at launch) are this run's. Returns null for a provider whose
|
|
123
|
+
* exit carries nothing to record, so those lanes keep behaving exactly as
|
|
124
|
+
* before.
|
|
125
|
+
*/
|
|
126
|
+
export declare function readWorkerRunResult(runDir: string, provider: LaneProvider,
|
|
127
|
+
/** Bytes of worker.out that belong to earlier runs; parsing starts after them. */
|
|
128
|
+
workerOutOffset?: number): WorkerRunResult | null;
|
|
129
|
+
export declare const LAUNCH_TRIGGERS: readonly ["admit", "answered_questions", "message", "resume"];
|
|
130
|
+
export type LaunchTriggerKind = (typeof LAUNCH_TRIGGERS)[number];
|
|
131
|
+
export type LaunchTrigger = {
|
|
132
|
+
kind: "admit";
|
|
133
|
+
} | {
|
|
134
|
+
kind: "answered_questions";
|
|
135
|
+
} | {
|
|
136
|
+
kind: "message";
|
|
137
|
+
text: string;
|
|
138
|
+
message_id: string;
|
|
139
|
+
monitor_event?: true;
|
|
140
|
+
system_notice?: true;
|
|
141
|
+
} | {
|
|
142
|
+
/** `hq lanes resume`: the operator's explicit opt-in to continue an exited lane. */
|
|
143
|
+
kind: "resume";
|
|
144
|
+
/** Lane state at the moment of the command; recorded as `last_resume.resumed_from`. */
|
|
145
|
+
from: ResumeCommandState | "failed" | "awaiting_input";
|
|
146
|
+
allowAwaitingInput?: true;
|
|
147
|
+
fromFailed?: true;
|
|
148
|
+
/** Senior that authorized a failed-lane resume, rechecked at the claim CAS. */
|
|
149
|
+
expectedSenior?: SeniorRef;
|
|
150
|
+
text?: string;
|
|
151
|
+
message_id?: string;
|
|
152
|
+
};
|
|
153
|
+
export type LaunchPlan = {
|
|
154
|
+
mode: "fresh";
|
|
155
|
+
} | {
|
|
156
|
+
mode: "resume";
|
|
157
|
+
session_id: string;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Refusal for `hq lanes resume`, in precedence order: wrong state, provider
|
|
161
|
+
* without a resume path, no recorded session. Null when the resume can go.
|
|
162
|
+
*/
|
|
163
|
+
export declare function resumeCommandRefusal(lane: DeliveryLane, options?: {
|
|
164
|
+
allowFailed?: boolean;
|
|
165
|
+
allowAwaitingInput?: boolean;
|
|
166
|
+
}): {
|
|
167
|
+
error: "lane_not_resumable" | "resume_unsupported" | "no_provider_session";
|
|
168
|
+
message: string;
|
|
169
|
+
} | null;
|
|
170
|
+
/**
|
|
171
|
+
* Decide fresh-vs-resume for a spawn. Admission always starts fresh with the
|
|
172
|
+
* brief. Answered questions resume the recorded session when the provider
|
|
173
|
+
* can, else start fresh with the answers file (today's behaviour). An operator
|
|
174
|
+
* message can only be a resume, and only when `laneDeliveryMechanism` says so.
|
|
175
|
+
* `hq lanes resume` is also always a resume, gated by `resumeCommandRefusal`.
|
|
176
|
+
*/
|
|
177
|
+
export declare function planLaneLaunch(lane: DeliveryLane, trigger: LaunchTrigger): LaunchPlan;
|
|
178
|
+
/** Lane states a launch may claim `running` from, per trigger. */
|
|
179
|
+
export declare function claimableStatesFor(trigger: LaunchTrigger, lane?: DeliveryLane): readonly LaneState[];
|
|
180
|
+
//# sourceMappingURL=delivery.d.ts.map
|
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Follow-up delivery decision, per provider and per lane state, in one place.
|
|
3
|
+
*
|
|
4
|
+
* Two mechanisms exist. A live provider process drains the drop box on its
|
|
5
|
+
* next `PreToolUse` event (dropbox.ts). A Claude process is print-and-exit,
|
|
6
|
+
* so after it exits the only way to deliver is `claude -p --resume <sid>`,
|
|
7
|
+
* which continues the recorded session and keeps its prompt cache. Codex
|
|
8
|
+
* (0.155.1) has `codex exec resume <thread-id>`; the id is the `thread_id`
|
|
9
|
+
* of the `thread.started` event on the `--json` stdout stream, and the same
|
|
10
|
+
* id comes back on every resumed turn. Grok's CLI (1.0.34) prints a
|
|
11
|
+
* `sessionId` in its `--single --output-format json` result, and
|
|
12
|
+
* `grok --single <prompt> --resume <id>` continues that session with the same
|
|
13
|
+
* id and a warm prompt cache (verified live 2026-09-26: the resumed turn
|
|
14
|
+
* recalled the earlier turn's tool calls and read 33,792 cached tokens).
|
|
15
|
+
*
|
|
16
|
+
* Every dispatch site (`hq lanes message`, spawn, reconcile resume) asks this
|
|
17
|
+
* module rather than testing provider or state inline. A guard bound at one
|
|
18
|
+
* site and not another is the defect class this branch has already shipped.
|
|
19
|
+
*/
|
|
20
|
+
import * as fs from "node:fs";
|
|
21
|
+
import * as path from "node:path";
|
|
22
|
+
import { LanesError } from "./errors.js";
|
|
23
|
+
import { parseLaneProvider, ENVELOPE_INVALID_REASON, } from "./types.js";
|
|
24
|
+
/** Which providers can continue an exited worker from a recorded session id. */
|
|
25
|
+
export const PROVIDER_SESSION_RESUME = {
|
|
26
|
+
claude: true,
|
|
27
|
+
codex: true,
|
|
28
|
+
grok: true,
|
|
29
|
+
};
|
|
30
|
+
export function providerSupportsSessionResume(provider) {
|
|
31
|
+
return PROVIDER_SESSION_RESUME[parseLaneProvider(provider)];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Which providers' sessions can be copied to another account's home before a
|
|
35
|
+
* resume (move-account.ts). Grok resumes on the account that recorded the
|
|
36
|
+
* session, but copying its session directory between homes is not proven.
|
|
37
|
+
*/
|
|
38
|
+
export const PROVIDER_SESSION_PORTABLE = {
|
|
39
|
+
claude: true,
|
|
40
|
+
codex: true,
|
|
41
|
+
grok: false,
|
|
42
|
+
};
|
|
43
|
+
export function providerSessionPortable(provider) {
|
|
44
|
+
const parsed = parseLaneProvider(provider);
|
|
45
|
+
return PROVIDER_SESSION_RESUME[parsed] && PROVIDER_SESSION_PORTABLE[parsed];
|
|
46
|
+
}
|
|
47
|
+
export function sessionNotPortableMessage(provider) {
|
|
48
|
+
return providerSupportsSessionResume(provider)
|
|
49
|
+
? `Provider ${provider} session files are not copied between accounts, so the lane cannot move to another ${provider} account`
|
|
50
|
+
: `Provider ${provider} has no session resume, so a lane cannot move between its accounts`;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* States an operator message may resume from, given a session id.
|
|
54
|
+
*
|
|
55
|
+
* `done`: the worker finished its brief, wrote a done envelope and exited on
|
|
56
|
+
* its own. Nothing about the lane says the operator is finished with it; a
|
|
57
|
+
* follow-up is the normal next step, and the session is intact.
|
|
58
|
+
*
|
|
59
|
+
* `blocked`: the worker exited after writing a blocked envelope that names
|
|
60
|
+
* what it needs. An operator message is usually that missing input. The state
|
|
61
|
+
* is not terminal (spec §6.7) and nothing stopped the lane deliberately.
|
|
62
|
+
*
|
|
63
|
+
* Refused by `hq lanes message`:
|
|
64
|
+
* `awaiting_input` has its own path, `hq lanes questions answer`, while a
|
|
65
|
+
* senior may resume it when no answerable pending question remains. `killed` and
|
|
66
|
+
* `cancelled` were stopped on purpose by the operator; a message must not
|
|
67
|
+
* silently restart them. `failed` means the run ended without an envelope or
|
|
68
|
+
* never started; only the lane's senior can explicitly recover it with
|
|
69
|
+
* `hq lanes resume <lane-id> --from-failed --reason <text>`. `interrupted` exited with
|
|
70
|
+
* partial output and no envelope, so the lane's state was never closed
|
|
71
|
+
* cleanly; only the explicit `hq lanes resume` opt-in continues it
|
|
72
|
+
* (RESUME_COMMAND_STATES). `queued` and `running` take the drop box, not a
|
|
73
|
+
* resume.
|
|
74
|
+
*/
|
|
75
|
+
export const RESUMABLE_LANE_STATES = ["done", "blocked"];
|
|
76
|
+
export function isResumableLaneState(state) {
|
|
77
|
+
return RESUMABLE_LANE_STATES.includes(state);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* States `hq lanes resume` continues from. `interrupted` is the one a plain
|
|
81
|
+
* message refuses: the run ended without closing its state, and continuing
|
|
82
|
+
* it is a decision the operator makes by name. `done` and `blocked` are here
|
|
83
|
+
* so the one command covers every exited-with-a-session case.
|
|
84
|
+
*/
|
|
85
|
+
export const RESUME_COMMAND_STATES = ["interrupted", "done", "blocked"];
|
|
86
|
+
export function isResumeCommandState(state) {
|
|
87
|
+
return RESUME_COMMAND_STATES.includes(state);
|
|
88
|
+
}
|
|
89
|
+
export const LANE_DELIVERY_MECHANISMS = ["dropbox", "resume", "none"];
|
|
90
|
+
/** Only the terminal result of a failed automatic envelope repair is recoverable. */
|
|
91
|
+
export function isFailedEnvelopeRepairLane(lane) {
|
|
92
|
+
return (lane.state === "failed" &&
|
|
93
|
+
lane.terminal_reason === ENVELOPE_INVALID_REASON &&
|
|
94
|
+
lane.envelope_repair?.attempted === true &&
|
|
95
|
+
lane.envelope_repair.succeeded === false);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* `dropbox`: a process is (or is about to be) alive to drain the inbox.
|
|
99
|
+
* `resume`: the process has exited, the provider can resume, the state allows
|
|
100
|
+
* it, and a session id was recorded from the worker's own result.
|
|
101
|
+
* `none`: nothing can deliver; the caller must refuse and write nothing.
|
|
102
|
+
*/
|
|
103
|
+
export function laneDeliveryMechanism(lane) {
|
|
104
|
+
if (lane.state === "queued" || lane.state === "running")
|
|
105
|
+
return "dropbox";
|
|
106
|
+
if (providerSupportsSessionResume(lane.provider) &&
|
|
107
|
+
(isResumableLaneState(lane.state) || lane.state === "awaiting_input" || isFailedEnvelopeRepairLane(lane)) &&
|
|
108
|
+
hasRecordedSessionId(lane)) {
|
|
109
|
+
return "resume";
|
|
110
|
+
}
|
|
111
|
+
return "none";
|
|
112
|
+
}
|
|
113
|
+
export function hasRecordedSessionId(lane) {
|
|
114
|
+
return (typeof lane.provider_session_id === "string" &&
|
|
115
|
+
lane.provider_session_id.trim().length > 0);
|
|
116
|
+
}
|
|
117
|
+
export function deliveryRefusalReason(lane) {
|
|
118
|
+
const state = lane.state;
|
|
119
|
+
switch (state) {
|
|
120
|
+
case "queued":
|
|
121
|
+
case "running":
|
|
122
|
+
return "";
|
|
123
|
+
case "awaiting_input":
|
|
124
|
+
return "Lane is awaiting_input. The worker has exited after writing an ask envelope. Use hq lanes questions answer <question-id>.";
|
|
125
|
+
case "done":
|
|
126
|
+
case "blocked": {
|
|
127
|
+
if (!providerSupportsSessionResume(lane.provider)) {
|
|
128
|
+
return `Lane is ${state}. Provider ${lane.provider} cannot resume an exited worker; there is no delivery path.`;
|
|
129
|
+
}
|
|
130
|
+
if (!hasRecordedSessionId(lane)) {
|
|
131
|
+
return `Lane is ${state}. No provider session id was recorded from the worker's result, so the session cannot be resumed.`;
|
|
132
|
+
}
|
|
133
|
+
return "";
|
|
134
|
+
}
|
|
135
|
+
case "killed":
|
|
136
|
+
case "cancelled":
|
|
137
|
+
return `Lane is ${state}. The operator stopped it on purpose; a message does not restart it. Resuming from ${state} needs an explicit opt-in, which does not exist yet.`;
|
|
138
|
+
case "interrupted":
|
|
139
|
+
return `Lane is ${state}. The run did not close cleanly and the operator has not decided what to do with it. Resuming from ${state} needs an explicit opt-in: hq lanes resume <lane-id> [--text <message>].`;
|
|
140
|
+
case "failed":
|
|
141
|
+
return `Lane is ${state}. A plain message does not restart it. Its senior can resume the recorded session with: hq lanes resume <lane-id> --from-failed --reason <text>.`;
|
|
142
|
+
default: {
|
|
143
|
+
const _exhaustive = state;
|
|
144
|
+
return _exhaustive;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/** Reasons a resumable provider's exit recorded no session id. Never a fabricated value. */
|
|
149
|
+
export const SESSION_ID_ABSENT_REASONS = [
|
|
150
|
+
"worker_out_missing",
|
|
151
|
+
"no_result_json",
|
|
152
|
+
"no_session_id_field",
|
|
153
|
+
"no_thread_started_event",
|
|
154
|
+
];
|
|
155
|
+
function nonNegativeInt(value) {
|
|
156
|
+
return typeof value === "number" && Number.isInteger(value) && value >= 0
|
|
157
|
+
? value
|
|
158
|
+
: null;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Parse the `claude -p --output-format json` result. stdout is appended
|
|
162
|
+
* across runs of the same lane, so the last `type: "result"` object is this
|
|
163
|
+
* run's. Only `session_id` and the two cache counters are read out; the
|
|
164
|
+
* prompt, the response body and everything else in the payload stay on disk.
|
|
165
|
+
*/
|
|
166
|
+
export function parseClaudeResultOutput(text) {
|
|
167
|
+
const lines = text.split("\n");
|
|
168
|
+
for (let i = lines.length - 1; i >= 0; i -= 1) {
|
|
169
|
+
const line = (lines[i] ?? "").trim();
|
|
170
|
+
if (!line.startsWith("{"))
|
|
171
|
+
continue;
|
|
172
|
+
let parsed;
|
|
173
|
+
try {
|
|
174
|
+
parsed = JSON.parse(line);
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
|
|
180
|
+
continue;
|
|
181
|
+
const rec = parsed;
|
|
182
|
+
if (rec.type !== "result")
|
|
183
|
+
continue;
|
|
184
|
+
const usage = rec.usage && typeof rec.usage === "object" && !Array.isArray(rec.usage)
|
|
185
|
+
? rec.usage
|
|
186
|
+
: {};
|
|
187
|
+
const sessionId = typeof rec.session_id === "string" && rec.session_id.trim().length > 0
|
|
188
|
+
? rec.session_id.trim()
|
|
189
|
+
: null;
|
|
190
|
+
return {
|
|
191
|
+
session_id: sessionId,
|
|
192
|
+
session_id_absent: sessionId === null ? "no_session_id_field" : null,
|
|
193
|
+
cache_read_input_tokens: nonNegativeInt(usage.cache_read_input_tokens),
|
|
194
|
+
cache_creation_input_tokens: nonNegativeInt(usage.cache_creation_input_tokens),
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
return {
|
|
198
|
+
session_id: null,
|
|
199
|
+
session_id_absent: "no_result_json",
|
|
200
|
+
cache_read_input_tokens: null,
|
|
201
|
+
cache_creation_input_tokens: null,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Parse the `codex exec --json` event stream. The first event of a run is
|
|
206
|
+
* `{"type":"thread.started","thread_id":"<uuid>"}`; that id is what
|
|
207
|
+
* `codex exec resume <id>` takes, and a resumed run emits the same id again.
|
|
208
|
+
* Usage comes from the last `turn.completed` event: `cached_input_tokens`
|
|
209
|
+
* is the cache read and `cache_write_input_tokens` the cache creation.
|
|
210
|
+
* Nothing else on the stream is read out.
|
|
211
|
+
*/
|
|
212
|
+
export function parseCodexEventOutput(text) {
|
|
213
|
+
let threadId = null;
|
|
214
|
+
let usage = {};
|
|
215
|
+
let sawEvent = false;
|
|
216
|
+
for (const raw of text.split("\n")) {
|
|
217
|
+
const line = raw.trim();
|
|
218
|
+
if (!line.startsWith("{"))
|
|
219
|
+
continue;
|
|
220
|
+
let parsed;
|
|
221
|
+
try {
|
|
222
|
+
parsed = JSON.parse(line);
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
|
|
228
|
+
continue;
|
|
229
|
+
const rec = parsed;
|
|
230
|
+
if (typeof rec.type !== "string")
|
|
231
|
+
continue;
|
|
232
|
+
sawEvent = true;
|
|
233
|
+
if (rec.type === "thread.started" && threadId === null) {
|
|
234
|
+
threadId =
|
|
235
|
+
typeof rec.thread_id === "string" && rec.thread_id.trim().length > 0
|
|
236
|
+
? rec.thread_id.trim()
|
|
237
|
+
: null;
|
|
238
|
+
}
|
|
239
|
+
else if (rec.type === "turn.completed") {
|
|
240
|
+
usage =
|
|
241
|
+
rec.usage && typeof rec.usage === "object" && !Array.isArray(rec.usage)
|
|
242
|
+
? rec.usage
|
|
243
|
+
: {};
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return {
|
|
247
|
+
session_id: threadId,
|
|
248
|
+
session_id_absent: threadId !== null ? null : sawEvent ? "no_thread_started_event" : "no_result_json",
|
|
249
|
+
cache_read_input_tokens: nonNegativeInt(usage.cached_input_tokens),
|
|
250
|
+
cache_creation_input_tokens: nonNegativeInt(usage.cache_write_input_tokens),
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Parse the `grok --single --output-format json` result. Grok prints one
|
|
255
|
+
* pretty-printed JSON object (`sessionId`, `usage`, ...) at the end of the
|
|
256
|
+
* run, so the last top-level object in this run's stdout is the result.
|
|
257
|
+
* Only `sessionId` and the two cache counters are read out.
|
|
258
|
+
*/
|
|
259
|
+
export function parseGrokResultOutput(text) {
|
|
260
|
+
const lines = text.split("\n");
|
|
261
|
+
let sawJson = false;
|
|
262
|
+
for (let i = lines.length - 1; i >= 0; i -= 1) {
|
|
263
|
+
if (!(lines[i] ?? "").startsWith("{"))
|
|
264
|
+
continue;
|
|
265
|
+
let parsed;
|
|
266
|
+
try {
|
|
267
|
+
parsed = JSON.parse(lines.slice(i).join("\n").trim());
|
|
268
|
+
}
|
|
269
|
+
catch {
|
|
270
|
+
continue;
|
|
271
|
+
}
|
|
272
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
|
|
273
|
+
continue;
|
|
274
|
+
sawJson = true;
|
|
275
|
+
const rec = parsed;
|
|
276
|
+
if (!("sessionId" in rec) && !("stopReason" in rec))
|
|
277
|
+
continue;
|
|
278
|
+
const usage = rec.usage && typeof rec.usage === "object" && !Array.isArray(rec.usage)
|
|
279
|
+
? rec.usage
|
|
280
|
+
: {};
|
|
281
|
+
const sessionId = typeof rec.sessionId === "string" && rec.sessionId.trim().length > 0
|
|
282
|
+
? rec.sessionId.trim()
|
|
283
|
+
: null;
|
|
284
|
+
return {
|
|
285
|
+
session_id: sessionId,
|
|
286
|
+
session_id_absent: sessionId === null ? "no_session_id_field" : null,
|
|
287
|
+
cache_read_input_tokens: nonNegativeInt(usage.cache_read_input_tokens),
|
|
288
|
+
cache_creation_input_tokens: nonNegativeInt(usage.cache_creation_input_tokens),
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
return {
|
|
292
|
+
session_id: null,
|
|
293
|
+
session_id_absent: sawJson ? "no_session_id_field" : "no_result_json",
|
|
294
|
+
cache_read_input_tokens: null,
|
|
295
|
+
cache_creation_input_tokens: null,
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
/** Per-provider stdout parser; null for a provider whose exit carries nothing to record. */
|
|
299
|
+
export function parseWorkerRunOutput(provider, text) {
|
|
300
|
+
switch (parseLaneProvider(provider)) {
|
|
301
|
+
case "claude":
|
|
302
|
+
return parseClaudeResultOutput(text);
|
|
303
|
+
case "codex":
|
|
304
|
+
return parseCodexEventOutput(text);
|
|
305
|
+
case "grok":
|
|
306
|
+
return parseGrokResultOutput(text);
|
|
307
|
+
default:
|
|
308
|
+
return null;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Read this run's result from the worker's own stdout. stdout is opened in
|
|
313
|
+
* append mode across runs, so only bytes past `workerOutOffset` (recorded in
|
|
314
|
+
* spawn.json at launch) are this run's. Returns null for a provider whose
|
|
315
|
+
* exit carries nothing to record, so those lanes keep behaving exactly as
|
|
316
|
+
* before.
|
|
317
|
+
*/
|
|
318
|
+
export function readWorkerRunResult(runDir, provider,
|
|
319
|
+
/** Bytes of worker.out that belong to earlier runs; parsing starts after them. */
|
|
320
|
+
workerOutOffset = 0) {
|
|
321
|
+
if (!providerSupportsSessionResume(provider))
|
|
322
|
+
return null;
|
|
323
|
+
const outPath = path.join(runDir, "logs", "worker.out");
|
|
324
|
+
let text;
|
|
325
|
+
try {
|
|
326
|
+
const bytes = fs.readFileSync(outPath);
|
|
327
|
+
text = bytes.subarray(Math.min(workerOutOffset, bytes.length)).toString("utf8");
|
|
328
|
+
}
|
|
329
|
+
catch (err) {
|
|
330
|
+
const code = err.code;
|
|
331
|
+
if (code === "ENOENT") {
|
|
332
|
+
return {
|
|
333
|
+
session_id: null,
|
|
334
|
+
session_id_absent: "worker_out_missing",
|
|
335
|
+
cache_read_input_tokens: null,
|
|
336
|
+
cache_creation_input_tokens: null,
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
process.stderr.write(`hq lanes: failed to read ${outPath}: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
340
|
+
throw err;
|
|
341
|
+
}
|
|
342
|
+
return parseWorkerRunOutput(provider, text);
|
|
343
|
+
}
|
|
344
|
+
export const LAUNCH_TRIGGERS = ["admit", "answered_questions", "message", "resume"];
|
|
345
|
+
/**
|
|
346
|
+
* Refusal for `hq lanes resume`, in precedence order: wrong state, provider
|
|
347
|
+
* without a resume path, no recorded session. Null when the resume can go.
|
|
348
|
+
*/
|
|
349
|
+
export function resumeCommandRefusal(lane, options = {}) {
|
|
350
|
+
if (!isResumeCommandState(lane.state) &&
|
|
351
|
+
!(options.allowAwaitingInput === true && lane.state === "awaiting_input") &&
|
|
352
|
+
!isFailedEnvelopeRepairLane(lane) &&
|
|
353
|
+
!(options.allowFailed === true && lane.state === "failed")) {
|
|
354
|
+
return {
|
|
355
|
+
error: "lane_not_resumable",
|
|
356
|
+
message: `Lane is ${lane.state}. hq lanes resume continues a lane in ${RESUME_COMMAND_STATES.join(", ")}; ${lane.state === "awaiting_input"
|
|
357
|
+
? "use hq lanes questions answer <question-id>."
|
|
358
|
+
: lane.state === "queued"
|
|
359
|
+
? "use hq lanes admit <lane-id>."
|
|
360
|
+
: lane.state === "running"
|
|
361
|
+
? "use hq lanes message for a live lane."
|
|
362
|
+
: "a lane in this state is not resumed."}`,
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
if (!providerSupportsSessionResume(lane.provider)) {
|
|
366
|
+
return {
|
|
367
|
+
error: "resume_unsupported",
|
|
368
|
+
message: `Lane is ${lane.state}. Provider ${lane.provider} cannot resume an exited worker; there is no delivery path.`,
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
if (!hasRecordedSessionId(lane)) {
|
|
372
|
+
return {
|
|
373
|
+
error: "no_provider_session",
|
|
374
|
+
message: `Lane is ${lane.state}. No provider session id was recorded from the worker's result, so the session cannot be resumed.`,
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
return null;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Decide fresh-vs-resume for a spawn. Admission always starts fresh with the
|
|
381
|
+
* brief. Answered questions resume the recorded session when the provider
|
|
382
|
+
* can, else start fresh with the answers file (today's behaviour). An operator
|
|
383
|
+
* message can only be a resume, and only when `laneDeliveryMechanism` says so.
|
|
384
|
+
* `hq lanes resume` is also always a resume, gated by `resumeCommandRefusal`.
|
|
385
|
+
*/
|
|
386
|
+
export function planLaneLaunch(lane, trigger) {
|
|
387
|
+
switch (trigger.kind) {
|
|
388
|
+
case "admit":
|
|
389
|
+
return { mode: "fresh" };
|
|
390
|
+
case "answered_questions":
|
|
391
|
+
if (providerSupportsSessionResume(lane.provider) && hasRecordedSessionId(lane)) {
|
|
392
|
+
return { mode: "resume", session_id: lane.provider_session_id };
|
|
393
|
+
}
|
|
394
|
+
return { mode: "fresh" };
|
|
395
|
+
case "message": {
|
|
396
|
+
if (laneDeliveryMechanism(lane) !== "resume" || !hasRecordedSessionId(lane)) {
|
|
397
|
+
throw new LanesError("lane_not_accepting_messages", deliveryRefusalReason(lane) || `Lane is ${lane.state} and cannot be resumed`, { state: lane.state, provider: lane.provider });
|
|
398
|
+
}
|
|
399
|
+
return { mode: "resume", session_id: lane.provider_session_id };
|
|
400
|
+
}
|
|
401
|
+
case "resume": {
|
|
402
|
+
const refusal = resumeCommandRefusal(lane, {
|
|
403
|
+
allowFailed: trigger.fromFailed === true,
|
|
404
|
+
allowAwaitingInput: trigger.allowAwaitingInput === true,
|
|
405
|
+
});
|
|
406
|
+
if (refusal !== null || !hasRecordedSessionId(lane)) {
|
|
407
|
+
throw new LanesError(refusal?.error ?? "no_provider_session", refusal?.message ?? `Lane is ${lane.state} and has no recorded provider session`, { state: lane.state, provider: lane.provider });
|
|
408
|
+
}
|
|
409
|
+
return { mode: "resume", session_id: lane.provider_session_id };
|
|
410
|
+
}
|
|
411
|
+
default: {
|
|
412
|
+
const _exhaustive = trigger;
|
|
413
|
+
return _exhaustive;
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
/** Lane states a launch may claim `running` from, per trigger. */
|
|
418
|
+
export function claimableStatesFor(trigger, lane) {
|
|
419
|
+
const envelopeRepairFailed = lane !== undefined && isFailedEnvelopeRepairLane(lane) && hasRecordedSessionId(lane);
|
|
420
|
+
switch (trigger.kind) {
|
|
421
|
+
case "admit":
|
|
422
|
+
return ["queued"];
|
|
423
|
+
case "answered_questions":
|
|
424
|
+
return ["awaiting_input"];
|
|
425
|
+
case "message":
|
|
426
|
+
return envelopeRepairFailed
|
|
427
|
+
? [...RESUMABLE_LANE_STATES, "failed"]
|
|
428
|
+
: lane?.state === "awaiting_input"
|
|
429
|
+
? [...RESUMABLE_LANE_STATES, "awaiting_input"]
|
|
430
|
+
: RESUMABLE_LANE_STATES;
|
|
431
|
+
case "resume": {
|
|
432
|
+
const states = trigger.fromFailed === true || envelopeRepairFailed
|
|
433
|
+
? [...RESUME_COMMAND_STATES, "failed"]
|
|
434
|
+
: [...RESUME_COMMAND_STATES];
|
|
435
|
+
return lane?.state === "awaiting_input" ? [...states, "awaiting_input"] : states;
|
|
436
|
+
}
|
|
437
|
+
default: {
|
|
438
|
+
const _exhaustive = trigger;
|
|
439
|
+
return _exhaustive;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
//# sourceMappingURL=delivery.js.map
|