@indigoai-us/hq-cli 5.314.0 → 5.316.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4320 -1
- package/README.md +113 -0
- package/assets/bot-workers/setup/context/USER-GUIDE.md +404 -0
- package/assets/bot-workers/setup/context/quick-reference.md +199 -0
- package/assets/bot-workers/setup/skills/agents-and-team.md +167 -0
- package/assets/bot-workers/setup/skills/explain-hq.md +35 -0
- package/assets/bot-workers/setup/skills/first-company.md +74 -0
- package/assets/bot-workers/setup/skills/joining-a-team.md +125 -0
- package/assets/bot-workers/setup/skills/pricing.md +92 -0
- package/assets/bot-workers/setup/skills/standing-help.md +81 -0
- package/assets/bot-workers/setup/skills/your-business.md +281 -0
- package/assets/bot-workers/setup/worker.yaml +791 -0
- package/assets/lanes-hooks/hq-lanes-drain.json +15 -0
- package/assets/lanes-hooks/hq-lanes-drain.mjs +275 -0
- package/assets/lanes-hooks/hq-lanes-drain.sh +21 -0
- package/assets/lanes-reconcile/hq-lanes-reconcile.service +11 -0
- package/assets/lanes-reconcile/hq-lanes-reconcile.timer +12 -0
- package/assets/scaffold/.claude/hooks/validate-policy-frontmatter.sh +485 -0
- package/assets/scaffold/core/scripts/audit-log.sh +384 -0
- package/assets/scaffold/core/scripts/checkpoint-stop-gate.sh +281 -43
- package/assets/scaffold/core/scripts/clean-worktree-reconcile-handoff.sh +171 -0
- package/assets/scaffold/core/scripts/detect-stale-review-base.sh +199 -0
- package/assets/scaffold/core/scripts/eval-trigger.sh +193 -0
- package/assets/scaffold/core/scripts/git-pack-extension-check.sh +164 -0
- package/assets/scaffold/core/scripts/handoff-finalize.sh +688 -0
- package/assets/scaffold/core/scripts/handoff-open-steps.sh +81 -0
- package/assets/scaffold/core/scripts/handoff-post.sh +252 -0
- package/assets/scaffold/core/scripts/hook-lib.sh +345 -50
- package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +307 -0
- package/assets/scaffold/core/scripts/hq-delegate-grant.sh +252 -0
- package/assets/scaffold/core/scripts/hq-delegate-pickup.sh +99 -0
- package/assets/scaffold/core/scripts/hq-delegate-publish.sh +91 -0
- package/assets/scaffold/core/scripts/hq-delegate-repo.sh +158 -0
- package/assets/scaffold/core/scripts/hq-delegate-resolve.sh +145 -0
- package/assets/scaffold/core/scripts/hq-delegate-secrets.sh +129 -0
- package/assets/scaffold/core/scripts/hq-delegate-send.sh +259 -0
- package/assets/scaffold/core/scripts/hq-delegate-transfer.sh +175 -0
- package/assets/scaffold/core/scripts/hq-delegate-verify.sh +238 -0
- package/assets/scaffold/core/scripts/hq-dm-bind.sh +585 -0
- package/assets/scaffold/core/scripts/hq-job-notify.sh +389 -0
- package/assets/scaffold/core/scripts/hq-job-probe.sh +835 -0
- package/assets/scaffold/core/scripts/hq-job-remediate.sh +359 -0
- package/assets/scaffold/core/scripts/hq-job-run.sh +1025 -0
- package/assets/scaffold/core/scripts/hq-pin.sh +118 -0
- package/assets/scaffold/core/scripts/hq-session.sh +184 -23
- package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +310 -0
- package/assets/scaffold/core/scripts/jobs-validate.sh +451 -0
- package/assets/scaffold/core/scripts/knowledge-prefs.sh +55 -0
- package/assets/scaffold/core/scripts/lib/portable.sh +211 -0
- package/assets/scaffold/core/scripts/lib/secret-patterns.sh +58 -0
- package/assets/scaffold/core/scripts/lib/session-id.sh +3 -2
- package/assets/scaffold/core/scripts/lib/session-scope-capability.sh +1 -1
- package/assets/scaffold/core/scripts/lib/work-mesh-enqueue.sh +2 -1
- package/assets/scaffold/core/scripts/lib/work-mesh-live-hook.sh +378 -0
- package/assets/scaffold/core/scripts/lib/work-mesh-live-rebind.sh +141 -0
- package/assets/scaffold/core/scripts/migrate-policy-triggers.sh +378 -0
- package/assets/scaffold/core/scripts/ontology-audience-grant.sh +81 -0
- package/assets/scaffold/core/scripts/ontology-brief.mjs +93 -0
- package/assets/scaffold/core/scripts/ontology-candidate.sh +100 -0
- package/assets/scaffold/core/scripts/ontology-garden.mjs +238 -0
- package/assets/scaffold/core/scripts/ontology-source-worklist.sh +79 -0
- package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +834 -0
- package/assets/scaffold/core/scripts/policy-age-report.sh +156 -0
- package/assets/scaffold/core/scripts/policy-retire.sh +199 -0
- package/assets/scaffold/core/scripts/qmd-reindex-after-sync.sh +10 -87
- package/assets/scaffold/core/scripts/qmd-reindex-bg.sh +40 -0
- package/assets/scaffold/core/scripts/read-policy-frontmatter.sh +32 -0
- package/assets/scaffold/core/scripts/rebuild-company-knowledge-index.sh +36 -3
- package/assets/scaffold/core/scripts/rebuild-projects-index.sh +99 -12
- package/assets/scaffold/core/scripts/refresh-vault-access.sh +188 -0
- package/assets/scaffold/core/scripts/register-project.sh +262 -0
- package/assets/scaffold/core/scripts/repo-run-registry.sh +408 -0
- package/assets/scaffold/core/scripts/resolve-company.sh +199 -0
- package/assets/scaffold/core/scripts/resume-thread-lock.sh +285 -0
- package/assets/scaffold/core/scripts/share-suggestion-state.sh +541 -0
- package/assets/scaffold/core/scripts/source-yaml-validate.sh +36 -0
- package/assets/scaffold/core/scripts/token-usage-report.sh +81 -20
- package/assets/scaffold/core/scripts/verify-story-deliverables.sh +148 -0
- package/assets/scaffold/core/scripts/work-mesh-live-bind-trusted.sh +152 -0
- package/assets/scaffold/core/scripts/work-mesh-live-rebind.sh +59 -0
- package/assets/scaffold/core/scripts/worktree-gc.sh +362 -0
- package/contracts/preflight/v1/fixtures.json +87 -0
- package/contracts/preflight/v1/schema.json +58 -0
- package/dist/bin/hq-auth-refresh.d.ts +2 -0
- package/dist/bin/hq-auth-refresh.js +12 -6
- package/dist/command-catalog.generated.d.ts +10798 -0
- package/dist/command-catalog.generated.js +13915 -0
- package/dist/command-registration-plan.d.ts +474 -0
- package/dist/command-registration-plan.js +136 -0
- package/dist/commands/__fixtures__/access-vault.d.ts +2 -0
- package/dist/commands/__fixtures__/access-vault.js +1 -1
- package/dist/commands/_patterns.d.ts +16 -0
- package/dist/commands/_patterns.js +20 -3
- package/dist/commands/access.d.ts +2 -1
- package/dist/commands/access.js +58 -49
- package/dist/commands/agent-enroll.d.ts +146 -0
- package/dist/commands/agent-enroll.js +401 -0
- package/dist/commands/agent-inbox.d.ts +9 -0
- package/dist/commands/agent-inbox.js +102 -0
- package/dist/commands/agent-kit.d.ts +87 -0
- package/dist/commands/agent-kit.js +480 -0
- package/dist/commands/agent-mcp.d.ts +24 -0
- package/dist/commands/agent-mcp.js +127 -0
- package/dist/commands/agent-probe.d.ts +77 -0
- package/dist/commands/agent-probe.js +335 -0
- package/dist/commands/agent.d.ts +13 -0
- package/dist/commands/agent.js +40 -0
- package/dist/commands/agents.d.ts +106 -4
- package/dist/commands/agents.js +924 -45
- package/dist/commands/auth.d.ts +1 -0
- package/dist/commands/auth.js +189 -19
- package/dist/commands/billing-sponsor.d.ts +83 -0
- package/dist/commands/billing-sponsor.js +344 -0
- package/dist/commands/billing.d.ts +3 -0
- package/dist/commands/billing.js +6 -1
- package/dist/commands/bot-companies.d.ts +40 -0
- package/dist/commands/bot-companies.js +64 -0
- package/dist/commands/bot-continuity.d.ts +28 -0
- package/dist/commands/bot-continuity.js +68 -0
- package/dist/commands/bot-jobs.d.ts +131 -0
- package/dist/commands/bot-jobs.js +474 -0
- package/dist/commands/bot.d.ts +278 -0
- package/dist/commands/bot.js +1982 -0
- package/dist/commands/channels.js +56 -1
- package/dist/commands/cloud-demote.js +3 -2
- package/dist/commands/cloud-provision.d.ts +14 -0
- package/dist/commands/cloud-provision.js +232 -58
- package/dist/commands/cloud-retire.d.ts +51 -0
- package/dist/commands/cloud-retire.js +154 -0
- package/dist/commands/cloud.d.ts +49 -15
- package/dist/commands/cloud.js +357 -122
- package/dist/commands/company-rename-flag.d.ts +4 -0
- package/dist/commands/company-rename-flag.js +7 -0
- package/dist/commands/company-rename.d.ts +4 -0
- package/dist/commands/company-rename.js +90 -0
- package/dist/commands/company-transfer.d.ts +4 -28
- package/dist/commands/company-transfer.js +5 -49
- package/dist/commands/company.js +68 -3
- package/dist/commands/core-audit-log-native.d.ts +9 -0
- package/dist/commands/core-audit-log-native.js +257 -0
- package/dist/commands/core-checkpoint-gate-setting.d.ts +59 -0
- package/dist/commands/core-checkpoint-gate-setting.js +163 -0
- package/dist/commands/core-checkpoint-stop-gate-native.d.ts +34 -0
- package/dist/commands/core-checkpoint-stop-gate-native.js +725 -0
- package/dist/commands/core-checkpoint.d.ts +19 -9
- package/dist/commands/core-checkpoint.js +301 -37
- package/dist/commands/core-command-catalog.d.ts +34 -0
- package/dist/commands/core-command-catalog.js +62 -0
- package/dist/commands/core-company-index-scope-flag.d.ts +3 -0
- package/dist/commands/core-company-index-scope-flag.js +6 -0
- package/dist/commands/core-delegate-w1b.d.ts +10 -0
- package/dist/commands/core-delegate-w1b.js +1219 -0
- package/dist/commands/core-delegate.d.ts +46 -0
- package/dist/commands/core-delegate.js +1040 -0
- package/dist/commands/core-detect-stale-review-base-native.d.ts +23 -0
- package/dist/commands/core-detect-stale-review-base-native.js +178 -0
- package/dist/commands/core-dm-bind-native.d.ts +32 -0
- package/dist/commands/core-dm-bind-native.js +668 -0
- package/dist/commands/core-eval-trigger-native.d.ts +4 -0
- package/dist/commands/core-eval-trigger-native.js +12 -0
- package/dist/commands/core-git-pack-extension-check-native.d.ts +22 -0
- package/dist/commands/core-git-pack-extension-check-native.js +190 -0
- package/dist/commands/core-handoff-fast.d.ts +18 -0
- package/dist/commands/core-handoff-fast.js +104 -0
- package/dist/commands/core-handoff-open-steps.d.ts +21 -0
- package/dist/commands/core-handoff-open-steps.js +264 -0
- package/dist/commands/core-handoff.d.ts +24 -0
- package/dist/commands/core-handoff.js +1144 -0
- package/dist/commands/core-hook-state-helpers-native.d.ts +11 -0
- package/dist/commands/core-hook-state-helpers-native.js +74 -0
- package/dist/commands/core-hq-session-native.d.ts +39 -0
- package/dist/commands/core-hq-session-native.js +579 -0
- package/dist/commands/core-job-native-utils.d.ts +6 -0
- package/dist/commands/core-job-native-utils.js +80 -0
- package/dist/commands/core-job-native.d.ts +5 -0
- package/dist/commands/core-job-native.js +16 -0
- package/dist/commands/core-job-notify-native.d.ts +36 -0
- package/dist/commands/core-job-notify-native.js +359 -0
- package/dist/commands/core-job-probe-native.d.ts +45 -0
- package/dist/commands/core-job-probe-native.js +564 -0
- package/dist/commands/core-job-remediate-native.d.ts +26 -0
- package/dist/commands/core-job-remediate-native.js +374 -0
- package/dist/commands/core-job-remote-launcher.d.ts +7 -0
- package/dist/commands/core-job-remote-launcher.js +51 -0
- package/dist/commands/core-job-run-native.d.ts +47 -0
- package/dist/commands/core-job-run-native.js +1215 -0
- package/dist/commands/core-jobs-native.d.ts +25 -0
- package/dist/commands/core-jobs-native.js +1339 -0
- package/dist/commands/core-knowledge-prefs.d.ts +11 -0
- package/dist/commands/core-knowledge-prefs.js +137 -0
- package/dist/commands/core-migrate-policy-triggers-native.d.ts +21 -0
- package/dist/commands/core-migrate-policy-triggers-native.js +374 -0
- package/dist/commands/core-native-handoff-flag.d.ts +4 -0
- package/dist/commands/core-native-handoff-flag.js +7 -0
- package/dist/commands/core-native-hook-helper-commands.d.ts +4 -0
- package/dist/commands/core-native-hook-helper-commands.js +56 -0
- package/dist/commands/core-native-hook-helpers-flag.d.ts +4 -0
- package/dist/commands/core-native-hook-helpers-flag.js +7 -0
- package/dist/commands/core-native-jobs-flag.d.ts +4 -0
- package/dist/commands/core-native-jobs-flag.js +7 -0
- package/dist/commands/core-native-policy-flag.d.ts +9 -0
- package/dist/commands/core-native-policy-flag.js +12 -0
- package/dist/commands/core-native-session-flag.d.ts +4 -0
- package/dist/commands/core-native-session-flag.js +7 -0
- package/dist/commands/core-native-utilities-flag.d.ts +4 -0
- package/dist/commands/core-native-utilities-flag.js +7 -0
- package/dist/commands/core-native-utilities.d.ts +29 -0
- package/dist/commands/core-native-utilities.js +54 -0
- package/dist/commands/core-native-worker-skills-flag.d.ts +4 -0
- package/dist/commands/core-native-worker-skills-flag.js +7 -0
- package/dist/commands/core-ontology-native.d.ts +17 -0
- package/dist/commands/core-ontology-native.js +916 -0
- package/dist/commands/core-ontology.d.ts +66 -0
- package/dist/commands/core-ontology.js +430 -0
- package/dist/commands/core-pin-native.d.ts +14 -0
- package/dist/commands/core-pin-native.js +236 -0
- package/dist/commands/core-policy-frontmatter.d.ts +8 -0
- package/dist/commands/core-policy-frontmatter.js +52 -0
- package/dist/commands/core-policy.d.ts +14 -0
- package/dist/commands/core-policy.js +1018 -0
- package/dist/commands/core-refresh-vault-access-native.d.ts +20 -0
- package/dist/commands/core-refresh-vault-access-native.js +229 -0
- package/dist/commands/core-register-project-native.d.ts +30 -0
- package/dist/commands/core-register-project-native.js +347 -0
- package/dist/commands/core-repo-run-registry-native.d.ts +19 -0
- package/dist/commands/core-repo-run-registry-native.js +357 -0
- package/dist/commands/core-resolve-company-command.d.ts +4 -0
- package/dist/commands/core-resolve-company-command.js +42 -0
- package/dist/commands/core-resolve-company-native.d.ts +28 -0
- package/dist/commands/core-resolve-company-native.js +408 -0
- package/dist/commands/core-share-suggestion-state-native.d.ts +18 -0
- package/dist/commands/core-share-suggestion-state-native.js +445 -0
- package/dist/commands/core-work-mesh-bind-trusted-native.d.ts +32 -0
- package/dist/commands/core-work-mesh-bind-trusted-native.js +190 -0
- package/dist/commands/core-work-mesh-live-rebind-native.d.ts +18 -0
- package/dist/commands/core-work-mesh-live-rebind-native.js +262 -0
- package/dist/commands/core-worker-lint-native.d.ts +4 -0
- package/dist/commands/core-worker-lint-native.js +160 -0
- package/dist/commands/core-worker-share-native.d.ts +4 -0
- package/dist/commands/core-worker-share-native.js +260 -0
- package/dist/commands/core-worker-skills-command.d.ts +8 -0
- package/dist/commands/core-worker-skills-command.js +33 -0
- package/dist/commands/core-worker-skills-runtime.d.ts +33 -0
- package/dist/commands/core-worker-skills-runtime.js +86 -0
- package/dist/commands/core.d.ts +4 -0
- package/dist/commands/core.js +282 -80
- package/dist/commands/crm.js +52 -3
- package/dist/commands/daemon.d.ts +63 -0
- package/dist/commands/daemon.js +877 -0
- package/dist/commands/db-provision.js +4 -4
- package/dist/commands/db-sql.js +7 -21
- package/dist/commands/deploy-comments.d.ts +3 -0
- package/dist/commands/deploy-comments.js +162 -0
- package/dist/commands/dm.d.ts +119 -12
- package/dist/commands/dm.js +388 -38
- package/dist/commands/doctor.d.ts +12 -0
- package/dist/commands/doctor.js +158 -12
- package/dist/commands/feedback.d.ts +6 -0
- package/dist/commands/feedback.js +86 -37
- package/dist/commands/files-browse.d.ts +32 -12
- package/dist/commands/files-browse.js +176 -60
- package/dist/commands/files.d.ts +17 -0
- package/dist/commands/files.js +300 -47
- package/dist/commands/group-grants.js +3 -2
- package/dist/commands/groups.js +6 -5
- package/dist/commands/index-cmd.d.ts +19 -1
- package/dist/commands/index-cmd.js +74 -7
- package/dist/commands/integrations-api.d.ts +15 -10
- package/dist/commands/integrations-api.js +27 -22
- package/dist/commands/integrations-connect.d.ts +51 -13
- package/dist/commands/integrations-connect.js +86 -71
- package/dist/commands/integrations-core.d.ts +6 -6
- package/dist/commands/integrations-core.js +25 -11
- package/dist/commands/integrations-import.d.ts +1 -1
- package/dist/commands/integrations-import.js +43 -24
- package/dist/commands/integrations-manage.js +20 -13
- package/dist/commands/integrations.d.ts +8 -0
- package/dist/commands/integrations.js +94 -7
- package/dist/commands/lanes-accounts.d.ts +28 -0
- package/dist/commands/lanes-accounts.js +595 -0
- package/dist/commands/lanes-autopilot.d.ts +11 -0
- package/dist/commands/lanes-autopilot.js +336 -0
- package/dist/commands/lanes-checks.d.ts +51 -0
- package/dist/commands/lanes-checks.js +941 -0
- package/dist/commands/lanes-hold.d.ts +43 -0
- package/dist/commands/lanes-hold.js +655 -0
- package/dist/commands/lanes-keep-alive-audit.d.ts +10 -0
- package/dist/commands/lanes-keep-alive-audit.js +19 -0
- package/dist/commands/lanes-kpis.d.ts +11 -0
- package/dist/commands/lanes-kpis.js +34 -0
- package/dist/commands/lanes-message.d.ts +9 -0
- package/dist/commands/lanes-message.js +946 -0
- package/dist/commands/lanes-move.d.ts +12 -0
- package/dist/commands/lanes-move.js +397 -0
- package/dist/commands/lanes-questions.d.ts +36 -0
- package/dist/commands/lanes-questions.js +1005 -0
- package/dist/commands/lanes-report.d.ts +11 -0
- package/dist/commands/lanes-report.js +333 -0
- package/dist/commands/lanes-resume.d.ts +6 -0
- package/dist/commands/lanes-resume.js +564 -0
- package/dist/commands/lanes-review.d.ts +10 -0
- package/dist/commands/lanes-review.js +56 -0
- package/dist/commands/lanes-shared.d.ts +449 -0
- package/dist/commands/lanes-shared.js +170 -0
- package/dist/commands/lanes-stories.d.ts +15 -0
- package/dist/commands/lanes-stories.js +347 -0
- package/dist/commands/lanes-watch.d.ts +7 -0
- package/dist/commands/lanes-watch.js +216 -0
- package/dist/commands/lanes.d.ts +149 -0
- package/dist/commands/lanes.js +9013 -0
- package/dist/commands/login.js +49 -6
- package/dist/commands/mcp-registration.d.ts +32 -25
- package/dist/commands/mcp-registration.js +256 -23
- package/dist/commands/mcp-status.js +1 -0
- package/dist/commands/meetings.js +55 -34
- package/dist/commands/members.js +5 -1
- package/dist/commands/mesh.d.ts +11 -0
- package/dist/commands/mesh.js +1086 -76
- package/dist/commands/monitor.d.ts +58 -0
- package/dist/commands/monitor.js +980 -0
- package/dist/commands/onboard-bot-membership.d.ts +32 -0
- package/dist/commands/onboard-bot-membership.js +40 -0
- package/dist/commands/onboard-create-identity.d.ts +26 -0
- package/dist/commands/onboard-create-identity.js +23 -0
- package/dist/commands/onboard-identity-guard.d.ts +1 -1
- package/dist/commands/onboard.js +24 -5
- package/dist/commands/outpost-pruner.d.ts +3 -0
- package/dist/commands/outpost-pruner.js +125 -0
- package/dist/commands/pack-install.js +3 -1
- package/dist/commands/packs.js +11 -1
- package/dist/commands/people.d.ts +4 -0
- package/dist/commands/people.js +37 -3
- package/dist/commands/personal-connector-settings-flag.d.ts +4 -0
- package/dist/commands/personal-connector-settings-flag.js +7 -0
- package/dist/commands/personal-targeted-push-flag.d.ts +4 -0
- package/dist/commands/personal-targeted-push-flag.js +7 -0
- package/dist/commands/personal-targeted-push-paths.d.ts +3 -0
- package/dist/commands/personal-targeted-push-paths.js +67 -0
- package/dist/commands/publish.d.ts +8 -1
- package/dist/commands/publish.js +17 -4
- package/dist/commands/reindex.js +56 -6
- package/dist/commands/report.d.ts +19 -0
- package/dist/commands/report.js +537 -0
- package/dist/commands/rescue.d.ts +4 -0
- package/dist/commands/rescue.js +27 -17
- package/dist/commands/run-feature-telemetry.d.ts +3 -0
- package/dist/commands/run-feature-telemetry.js +6 -0
- package/dist/commands/run.js +18 -4
- package/dist/commands/safe-extract.d.ts +11 -2
- package/dist/commands/safe-extract.js +36 -8
- package/dist/commands/secrets.d.ts +20 -2
- package/dist/commands/secrets.js +175 -71
- package/dist/commands/skill.d.ts +35 -4
- package/dist/commands/skill.js +357 -18
- package/dist/commands/staff/reset-test-account.d.ts +110 -0
- package/dist/commands/staff/reset-test-account.js +268 -0
- package/dist/commands/staff/test-account.d.ts +51 -0
- package/dist/commands/staff/test-account.js +196 -0
- package/dist/commands/sync-mode.d.ts +11 -0
- package/dist/commands/sync-mode.js +30 -0
- package/dist/commands/sync-narrow.js +36 -5
- package/dist/commands/team-sync.js +71 -10
- package/dist/commands/update.js +6 -0
- package/dist/commands/vault-retention-flag.d.ts +3 -0
- package/dist/commands/vault-retention-flag.js +9 -0
- package/dist/commands/vault-retention.d.ts +11 -0
- package/dist/commands/vault-retention.js +69 -0
- package/dist/commands/version.d.ts +10 -0
- package/dist/commands/version.js +11 -0
- package/dist/commands/whoami.d.ts +22 -0
- package/dist/commands/whoami.js +137 -4
- package/dist/commands/workers.d.ts +2 -14
- package/dist/commands/workers.js +7 -10
- package/dist/fast-core.d.ts +7 -7
- package/dist/fast-core.js +91 -24
- package/dist/fast-scaffold.d.ts +86 -0
- package/dist/fast-scaffold.js +381 -0
- package/dist/index.d.ts +3 -4
- package/dist/index.js +59 -9
- package/dist/lanes-drain-hook.d.ts +14 -0
- package/dist/lanes-drain-hook.js +203 -0
- package/dist/lazy-commands.d.ts +20 -44
- package/dist/lazy-commands.js +60 -58
- package/dist/lib/agent-kit/adopt-identity.d.ts +27 -0
- package/dist/lib/agent-kit/adopt-identity.js +60 -0
- package/dist/lib/agent-kit/attachment-download.d.ts +24 -0
- package/dist/lib/agent-kit/attachment-download.js +47 -0
- package/dist/lib/agent-kit/creds.d.ts +106 -0
- package/dist/lib/agent-kit/creds.js +163 -0
- package/dist/lib/agent-kit/fallback.d.ts +78 -0
- package/dist/lib/agent-kit/fallback.js +210 -0
- package/dist/lib/agent-kit/inbox-state.d.ts +83 -0
- package/dist/lib/agent-kit/inbox-state.js +159 -0
- package/dist/lib/agent-kit/kit-config.d.ts +56 -0
- package/dist/lib/agent-kit/kit-config.js +65 -0
- package/dist/lib/agent-kit/log.d.ts +16 -0
- package/dist/lib/agent-kit/log.js +46 -0
- package/dist/lib/agent-kit/mcp/attachments.d.ts +126 -0
- package/dist/lib/agent-kit/mcp/attachments.js +222 -0
- package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +75 -0
- package/dist/lib/agent-kit/mcp/jsonrpc.js +164 -0
- package/dist/lib/agent-kit/mcp/tools.d.ts +64 -0
- package/dist/lib/agent-kit/mcp/tools.js +397 -0
- package/dist/lib/agent-kit/paths.d.ts +65 -0
- package/dist/lib/agent-kit/paths.js +118 -0
- package/dist/lib/agent-kit/private-file.d.ts +29 -0
- package/dist/lib/agent-kit/private-file.js +91 -0
- package/dist/lib/agent-kit/run/heartbeat.d.ts +72 -0
- package/dist/lib/agent-kit/run/heartbeat.js +128 -0
- package/dist/lib/agent-kit/run/inbox.d.ts +76 -0
- package/dist/lib/agent-kit/run/inbox.js +205 -0
- package/dist/lib/agent-kit/run/supervisor.d.ts +35 -0
- package/dist/lib/agent-kit/run/supervisor.js +85 -0
- package/dist/lib/agent-kit/run/sync.d.ts +33 -0
- package/dist/lib/agent-kit/run/sync.js +58 -0
- package/dist/lib/agent-kit/services.d.ts +31 -0
- package/dist/lib/agent-kit/services.js +55 -0
- package/dist/lib/agent-kit/skills.d.ts +18 -0
- package/dist/lib/agent-kit/skills.js +151 -0
- package/dist/lib/agent-kit/wake.d.ts +83 -0
- package/dist/lib/agent-kit/wake.js +243 -0
- package/dist/lib/agents/model-catalog.d.ts +62 -0
- package/dist/lib/agents/model-catalog.js +275 -0
- package/dist/lib/auth-login-provider-state.d.ts +8 -0
- package/dist/lib/auth-login-provider-state.js +63 -0
- package/dist/lib/aws-sdk-node-warning-output.d.ts +12 -0
- package/dist/lib/aws-sdk-node-warning-output.js +22 -0
- package/dist/lib/billing/free-month.d.ts +18 -0
- package/dist/lib/billing/free-month.js +31 -0
- package/dist/lib/billing/plan-limit-refusals.d.ts +69 -0
- package/dist/lib/billing/plan-limit-refusals.js +187 -0
- package/dist/lib/billing/plan-limit-upgrade-url.d.ts +11 -0
- package/dist/lib/billing/plan-limit-upgrade-url.js +66 -0
- package/dist/lib/billing/plan-lock.d.ts +143 -0
- package/dist/lib/billing/plan-lock.js +439 -0
- package/dist/lib/bot/api.d.ts +349 -0
- package/dist/lib/bot/api.js +316 -0
- package/dist/lib/bot/attachments.d.ts +45 -0
- package/dist/lib/bot/attachments.js +89 -0
- package/dist/lib/bot/cli-update.d.ts +138 -0
- package/dist/lib/bot/cli-update.js +278 -0
- package/dist/lib/bot/company-bind.d.ts +27 -0
- package/dist/lib/bot/company-bind.js +62 -0
- package/dist/lib/bot/config.d.ts +153 -0
- package/dist/lib/bot/config.js +233 -0
- package/dist/lib/bot/continuity-download.d.ts +28 -0
- package/dist/lib/bot/continuity-download.js +75 -0
- package/dist/lib/bot/continuity-install.d.ts +14 -0
- package/dist/lib/bot/continuity-install.js +101 -0
- package/dist/lib/bot/continuity.d.ts +67 -0
- package/dist/lib/bot/continuity.js +301 -0
- package/dist/lib/bot/creds.d.ts +24 -0
- package/dist/lib/bot/creds.js +51 -0
- package/dist/lib/bot/daemon.d.ts +173 -0
- package/dist/lib/bot/daemon.js +552 -0
- package/dist/lib/bot/inbox-poll-backoff-flag.d.ts +24 -0
- package/dist/lib/bot/inbox-poll-backoff-flag.js +135 -0
- package/dist/lib/bot/inbox-state.d.ts +18 -0
- package/dist/lib/bot/inbox-state.js +51 -0
- package/dist/lib/bot/index.d.ts +23 -0
- package/dist/lib/bot/index.js +23 -0
- package/dist/lib/bot/inflight.d.ts +119 -0
- package/dist/lib/bot/inflight.js +83 -0
- package/dist/lib/bot/job-completions.d.ts +89 -0
- package/dist/lib/bot/job-completions.js +132 -0
- package/dist/lib/bot/job-quiet-flag.d.ts +4 -0
- package/dist/lib/bot/job-quiet-flag.js +14 -0
- package/dist/lib/bot/job-run.d.ts +114 -0
- package/dist/lib/bot/job-run.js +266 -0
- package/dist/lib/bot/local-config.d.ts +61 -0
- package/dist/lib/bot/local-config.js +145 -0
- package/dist/lib/bot/local-jobs.d.ts +89 -0
- package/dist/lib/bot/local-jobs.js +459 -0
- package/dist/lib/bot/local-name.d.ts +54 -0
- package/dist/lib/bot/local-name.js +114 -0
- package/dist/lib/bot/log.d.ts +13 -0
- package/dist/lib/bot/log.js +59 -0
- package/dist/lib/bot/owner-context.d.ts +79 -0
- package/dist/lib/bot/owner-context.js +175 -0
- package/dist/lib/bot/paths.d.ts +76 -0
- package/dist/lib/bot/paths.js +131 -0
- package/dist/lib/bot/progress.d.ts +132 -0
- package/dist/lib/bot/progress.js +289 -0
- package/dist/lib/bot/promote.d.ts +16 -0
- package/dist/lib/bot/promote.js +106 -0
- package/dist/lib/bot/promotion-hold.d.ts +24 -0
- package/dist/lib/bot/promotion-hold.js +103 -0
- package/dist/lib/bot/promotion-receipt.d.ts +9 -0
- package/dist/lib/bot/promotion-receipt.js +56 -0
- package/dist/lib/bot/promotion-upload.d.ts +16 -0
- package/dist/lib/bot/promotion-upload.js +80 -0
- package/dist/lib/bot/prompt.d.ts +136 -0
- package/dist/lib/bot/prompt.js +433 -0
- package/dist/lib/bot/room-policy.d.ts +63 -0
- package/dist/lib/bot/room-policy.js +91 -0
- package/dist/lib/bot/run.d.ts +219 -0
- package/dist/lib/bot/run.js +1881 -0
- package/dist/lib/bot/runnable.d.ts +51 -0
- package/dist/lib/bot/runnable.js +65 -0
- package/dist/lib/bot/runtime/claude.d.ts +50 -0
- package/dist/lib/bot/runtime/claude.js +170 -0
- package/dist/lib/bot/runtime/codex.d.ts +28 -0
- package/dist/lib/bot/runtime/codex.js +153 -0
- package/dist/lib/bot/runtime/grok-acp.d.ts +40 -0
- package/dist/lib/bot/runtime/grok-acp.js +265 -0
- package/dist/lib/bot/runtime/grok.d.ts +41 -0
- package/dist/lib/bot/runtime/grok.js +169 -0
- package/dist/lib/bot/runtime/index.d.ts +36 -0
- package/dist/lib/bot/runtime/index.js +417 -0
- package/dist/lib/bot/runtime/messages-stream.d.ts +56 -0
- package/dist/lib/bot/runtime/messages-stream.js +194 -0
- package/dist/lib/bot/runtime/sanitize.d.ts +18 -0
- package/dist/lib/bot/runtime/sanitize.js +28 -0
- package/dist/lib/bot/runtime/types.d.ts +159 -0
- package/dist/lib/bot/runtime/types.js +51 -0
- package/dist/lib/bot/runtime/windows.d.ts +10 -0
- package/dist/lib/bot/runtime/windows.js +53 -0
- package/dist/lib/bot/runtime-sign-in.d.ts +24 -0
- package/dist/lib/bot/runtime-sign-in.js +31 -0
- package/dist/lib/bot/scaffold.d.ts +38 -0
- package/dist/lib/bot/scaffold.js +94 -0
- package/dist/lib/bot/self-heal.d.ts +52 -0
- package/dist/lib/bot/self-heal.js +79 -0
- package/dist/lib/bot/self-process.d.ts +19 -0
- package/dist/lib/bot/self-process.js +35 -0
- package/dist/lib/bot/session.d.ts +19 -0
- package/dist/lib/bot/session.js +39 -0
- package/dist/lib/bot/setup-explain.d.ts +64 -0
- package/dist/lib/bot/setup-explain.js +141 -0
- package/dist/lib/bot/split.d.ts +32 -0
- package/dist/lib/bot/split.js +241 -0
- package/dist/lib/bot/status.d.ts +57 -0
- package/dist/lib/bot/status.js +66 -0
- package/dist/lib/bot/worker-source.d.ts +66 -0
- package/dist/lib/bot/worker-source.js +283 -0
- package/dist/lib/checkpoint-ontology/aliases.d.ts +17 -0
- package/dist/lib/checkpoint-ontology/aliases.js +44 -0
- package/dist/lib/checkpoint-ontology/apply.d.ts +110 -0
- package/dist/lib/checkpoint-ontology/apply.js +777 -0
- package/dist/lib/checkpoint-ontology/company-brief.d.ts +18 -0
- package/dist/lib/checkpoint-ontology/company-brief.js +337 -0
- package/dist/lib/checkpoint-ontology/company.d.ts +44 -0
- package/dist/lib/checkpoint-ontology/company.js +118 -0
- package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +41 -0
- package/dist/lib/checkpoint-ontology/drop-aliases.js +76 -0
- package/dist/lib/checkpoint-ontology/entity-file.d.ts +109 -0
- package/dist/lib/checkpoint-ontology/entity-file.js +371 -0
- package/dist/lib/checkpoint-ontology/identity.d.ts +38 -0
- package/dist/lib/checkpoint-ontology/identity.js +95 -0
- package/dist/lib/checkpoint-ontology/merge-copies.d.ts +199 -0
- package/dist/lib/checkpoint-ontology/merge-copies.js +1086 -0
- package/dist/lib/checkpoint-ontology/multi-writer.d.ts +101 -0
- package/dist/lib/checkpoint-ontology/multi-writer.js +394 -0
- package/dist/lib/checkpoint-ontology/plan.d.ts +193 -0
- package/dist/lib/checkpoint-ontology/plan.js +504 -0
- package/dist/lib/checkpoint-ontology/queued-touches.d.ts +29 -0
- package/dist/lib/checkpoint-ontology/queued-touches.js +193 -0
- package/dist/lib/checkpoint-ontology/sync-client.d.ts +38 -0
- package/dist/lib/checkpoint-ontology/sync-client.js +84 -0
- package/dist/lib/checkpoint-ontology/tree.d.ts +55 -0
- package/dist/lib/checkpoint-ontology/tree.js +198 -0
- package/dist/lib/company-errors-sdk-warning-flag.d.ts +5 -0
- package/dist/lib/company-errors-sdk-warning-flag.js +8 -0
- package/dist/lib/company-skill-wrapper.d.ts +1 -0
- package/dist/lib/company-skill-wrapper.js +121 -29
- package/dist/lib/core-utils/codex-skill-bridge.d.ts +2 -1
- package/dist/lib/core-utils/common.d.ts +0 -1
- package/dist/lib/core-utils/common.js +0 -9
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.d.ts +20 -0
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.js +81 -0
- package/dist/lib/core-utils/jq-json-serializer.d.ts +5 -0
- package/dist/lib/core-utils/jq-json-serializer.js +10 -0
- package/dist/lib/core-utils/qmd-reindex-after-sync.d.ts +14 -1
- package/dist/lib/core-utils/qmd-reindex-after-sync.js +101 -17
- package/dist/lib/core-utils/secret-patterns.d.ts +43 -0
- package/dist/lib/core-utils/secret-patterns.js +34 -0
- package/dist/lib/core-utils/sentry-report.d.ts +114 -0
- package/dist/lib/core-utils/sentry-report.js +1055 -0
- package/dist/lib/core-utils/soft-timeout.js +1 -1
- package/dist/lib/core-utils/timeout-guard-native.d.ts +7 -0
- package/dist/lib/core-utils/timeout-guard-native.js +40 -0
- package/dist/lib/core-utils/timeout-guard.d.ts +3 -3
- package/dist/lib/core-utils/timeout-guard.js +28 -13
- package/dist/lib/core-utils/token-usage-report.js +17 -3
- package/dist/lib/core-utils/worktree-resume.d.ts +20 -0
- package/dist/lib/core-utils/worktree-resume.js +1198 -0
- package/dist/lib/daemon/catalog.d.ts +134 -0
- package/dist/lib/daemon/catalog.js +358 -0
- package/dist/lib/daemon/config.d.ts +35 -0
- package/dist/lib/daemon/config.js +108 -0
- package/dist/lib/daemon/flag.d.ts +25 -0
- package/dist/lib/daemon/flag.js +59 -0
- package/dist/lib/daemon/handoff.d.ts +56 -0
- package/dist/lib/daemon/handoff.js +161 -0
- package/dist/lib/daemon/hq-cloud.d.ts +79 -0
- package/dist/lib/daemon/hq-cloud.js +183 -0
- package/dist/lib/daemon/install.d.ts +85 -0
- package/dist/lib/daemon/install.js +320 -0
- package/dist/lib/daemon/legacy-sync-env.d.ts +10 -0
- package/dist/lib/daemon/legacy-sync-env.js +58 -0
- package/dist/lib/daemon/legacy.d.ts +45 -0
- package/dist/lib/daemon/legacy.js +133 -0
- package/dist/lib/daemon/lock.d.ts +47 -0
- package/dist/lib/daemon/lock.js +138 -0
- package/dist/lib/daemon/machine-type.d.ts +50 -0
- package/dist/lib/daemon/machine-type.js +159 -0
- package/dist/lib/daemon/migrate.d.ts +77 -0
- package/dist/lib/daemon/migrate.js +265 -0
- package/dist/lib/daemon/paths.d.ts +24 -0
- package/dist/lib/daemon/paths.js +43 -0
- package/dist/lib/daemon/protocol-tail.d.ts +33 -0
- package/dist/lib/daemon/protocol-tail.js +131 -0
- package/dist/lib/daemon/remote-control.d.ts +74 -0
- package/dist/lib/daemon/remote-control.js +153 -0
- package/dist/lib/daemon/requests.d.ts +28 -0
- package/dist/lib/daemon/requests.js +65 -0
- package/dist/lib/daemon/run.d.ts +79 -0
- package/dist/lib/daemon/run.js +755 -0
- package/dist/lib/daemon/succession.d.ts +118 -0
- package/dist/lib/daemon/succession.js +263 -0
- package/dist/lib/daemon/supervisor.d.ts +132 -0
- package/dist/lib/daemon/supervisor.js +836 -0
- package/dist/lib/daemon/sync-runner.d.ts +58 -0
- package/dist/lib/daemon/sync-runner.js +277 -0
- package/dist/lib/daemon/tools.d.ts +52 -0
- package/dist/lib/daemon/tools.js +95 -0
- package/dist/lib/daemon/updater.d.ts +57 -0
- package/dist/lib/daemon/updater.js +163 -0
- package/dist/lib/db/control-plane.js +6 -0
- package/dist/lib/db/local.d.ts +0 -5
- package/dist/lib/db/local.js +1 -1
- package/dist/lib/db/migrate.d.ts +0 -12
- package/dist/lib/db/migrate.js +5 -5
- package/dist/lib/db/remote-sql.d.ts +2 -2
- package/dist/lib/db/remote-sql.js +3 -3
- package/dist/lib/db/sql.d.ts +0 -10
- package/dist/lib/db/sql.js +4 -8
- package/dist/lib/deploy-api.d.ts +5 -0
- package/dist/lib/deploy-api.js +21 -0
- package/dist/lib/deploy-apps.d.ts +13 -0
- package/dist/lib/deploy-apps.js +29 -0
- package/dist/lib/doctor/__testing__/fake-hq-tree.d.ts +1 -1
- package/dist/lib/doctor/__testing__/fake-hq-tree.js +1 -1
- package/dist/lib/doctor/__testing__/run-doctor.d.ts +8 -0
- package/dist/lib/doctor/__testing__/run-doctor.js +52 -0
- package/dist/lib/doctor/checks/bots.d.ts +13 -0
- package/dist/lib/doctor/checks/bots.js +189 -0
- package/dist/lib/doctor/checks/claude-wiring.js +70 -1
- package/dist/lib/doctor/checks/codex-wiring.d.ts +0 -4
- package/dist/lib/doctor/checks/codex-wiring.js +3 -35
- package/dist/lib/doctor/checks/grok-wiring.js +1 -34
- package/dist/lib/doctor/checks/integrations.js +11 -0
- package/dist/lib/doctor/checks/runtime-health.d.ts +4 -17
- package/dist/lib/doctor/checks/runtime-health.js +20 -7
- package/dist/lib/doctor/checks/scaffold-cli-floor.d.ts +6 -0
- package/dist/lib/doctor/checks/scaffold-cli-floor.js +73 -0
- package/dist/lib/doctor/checks/sync-health.d.ts +21 -0
- package/dist/lib/doctor/checks/sync-health.js +72 -2
- package/dist/lib/doctor/checks/sync-runtime.d.ts +11 -0
- package/dist/lib/doctor/checks/sync-runtime.js +216 -0
- package/dist/lib/doctor/checks/work-context.js +20 -6
- package/dist/lib/doctor/client-health-flag-token.d.ts +15 -0
- package/dist/lib/doctor/client-health-flag-token.js +66 -0
- package/dist/lib/doctor/client-health-reason-codes-flag.d.ts +27 -0
- package/dist/lib/doctor/client-health-reason-codes-flag.js +106 -0
- package/dist/lib/doctor/compat.d.ts +0 -16
- package/dist/lib/doctor/compat.js +4 -3
- package/dist/lib/doctor/deep/effects.js +1 -3
- package/dist/lib/doctor/deep/executor.d.ts +4 -10
- package/dist/lib/doctor/deep/executor.js +1 -1
- package/dist/lib/doctor/deep/parity.d.ts +2 -29
- package/dist/lib/doctor/deep/parity.js +7 -7
- package/dist/lib/doctor/deep/sandbox.d.ts +7 -25
- package/dist/lib/doctor/deep/sandbox.js +5 -7
- package/dist/lib/doctor/fix/apply.d.ts +79 -8
- package/dist/lib/doctor/fix/apply.js +292 -80
- package/dist/lib/doctor/fix/json-output.d.ts +28 -0
- package/dist/lib/doctor/fix/json-output.js +33 -0
- package/dist/lib/doctor/fix/refresh-sync-outcome.d.ts +12 -0
- package/dist/lib/doctor/fix/refresh-sync-outcome.js +25 -0
- package/dist/lib/doctor/fix/remediation.d.ts +14 -6
- package/dist/lib/doctor/fix/remediation.js +49 -9
- package/dist/lib/doctor/fixtures/schema.js +1 -3
- package/dist/lib/doctor/json-output.d.ts +17 -1
- package/dist/lib/doctor/json-output.js +7 -2
- package/dist/lib/doctor/platform.d.ts +0 -26
- package/dist/lib/doctor/platform.js +5 -5
- package/dist/lib/doctor/registry.d.ts +14 -0
- package/dist/lib/doctor/registry.js +71 -0
- package/dist/lib/doctor/report.js +1 -1
- package/dist/lib/doctor/shared.d.ts +8 -0
- package/dist/lib/doctor/shared.js +38 -0
- package/dist/lib/doctor/stray-gate-entries.d.ts +35 -0
- package/dist/lib/doctor/stray-gate-entries.js +83 -0
- package/dist/lib/doctor/types.d.ts +5 -0
- package/dist/lib/doctor/types.js +20 -0
- package/dist/lib/first-sync-next-step.d.ts +34 -0
- package/dist/lib/first-sync-next-step.js +179 -0
- package/dist/lib/flag-registry-endpoint.d.ts +5 -0
- package/dist/lib/flag-registry-endpoint.js +9 -0
- package/dist/lib/flag-registry-worker-source.generated.d.ts +2 -0
- package/dist/lib/flag-registry-worker-source.generated.js +3 -0
- package/dist/lib/flag-registry-worker.js +12 -1
- package/dist/lib/flag-registry.d.ts +26 -6
- package/dist/lib/flag-registry.js +133 -16
- package/dist/lib/flag-snapshot-file.d.ts +20 -0
- package/dist/lib/flag-snapshot-file.js +91 -0
- package/dist/lib/heartbeat-identity.d.ts +30 -0
- package/dist/lib/heartbeat-identity.js +76 -0
- package/dist/lib/index-render/companies.d.ts +4 -1
- package/dist/lib/index-render/companies.js +66 -3
- package/dist/lib/index-render/company-knowledge.js +80 -17
- package/dist/lib/index-render/index.d.ts +1 -0
- package/dist/lib/index-render/index.js +2 -1
- package/dist/lib/index-render/projects.js +82 -5
- package/dist/lib/index-render/shared.d.ts +13 -1
- package/dist/lib/index-render/shared.js +41 -2
- package/dist/lib/lanes/account-home.d.ts +8 -0
- package/dist/lib/lanes/account-home.js +10 -0
- package/dist/lib/lanes/accounts.d.ts +117 -0
- package/dist/lib/lanes/accounts.js +366 -0
- package/dist/lib/lanes/admission-host.d.ts +22 -0
- package/dist/lib/lanes/admission-host.js +37 -0
- package/dist/lib/lanes/admission.d.ts +26 -0
- package/dist/lib/lanes/admission.js +210 -0
- package/dist/lib/lanes/approval-gate.d.ts +8 -0
- package/dist/lib/lanes/approval-gate.js +90 -0
- package/dist/lib/lanes/autopilot-metrics.d.ts +99 -0
- package/dist/lib/lanes/autopilot-metrics.js +301 -0
- package/dist/lib/lanes/autopilot-registry.d.ts +62 -0
- package/dist/lib/lanes/autopilot-registry.js +192 -0
- package/dist/lib/lanes/autopilot.d.ts +137 -0
- package/dist/lib/lanes/autopilot.js +1291 -0
- package/dist/lib/lanes/blocker-freshness.d.ts +31 -0
- package/dist/lib/lanes/blocker-freshness.js +168 -0
- package/dist/lib/lanes/checked-company-path.d.ts +3 -0
- package/dist/lib/lanes/checked-company-path.js +39 -0
- package/dist/lib/lanes/claude-balance.d.ts +97 -0
- package/dist/lib/lanes/claude-balance.js +319 -0
- package/dist/lib/lanes/compaction.d.ts +110 -0
- package/dist/lib/lanes/compaction.js +293 -0
- package/dist/lib/lanes/config.d.ts +94 -0
- package/dist/lib/lanes/config.js +606 -0
- package/dist/lib/lanes/constants.d.ts +3 -0
- package/dist/lib/lanes/constants.js +3 -0
- package/dist/lib/lanes/delivery-core.d.ts +15 -0
- package/dist/lib/lanes/delivery-core.js +21 -0
- package/dist/lib/lanes/delivery.d.ts +180 -0
- package/dist/lib/lanes/delivery.js +443 -0
- package/dist/lib/lanes/disk-guard.d.ts +65 -0
- package/dist/lib/lanes/disk-guard.js +172 -0
- package/dist/lib/lanes/dropbox.d.ts +129 -0
- package/dist/lib/lanes/dropbox.js +601 -0
- package/dist/lib/lanes/effort.d.ts +51 -0
- package/dist/lib/lanes/effort.js +113 -0
- package/dist/lib/lanes/envelope-repair-dispatch.d.ts +26 -0
- package/dist/lib/lanes/envelope-repair-dispatch.js +74 -0
- package/dist/lib/lanes/errors.d.ts +39 -0
- package/dist/lib/lanes/errors.js +72 -0
- package/dist/lib/lanes/flag-keys.d.ts +25 -0
- package/dist/lib/lanes/flag-keys.js +25 -0
- package/dist/lib/lanes/grants.d.ts +30 -0
- package/dist/lib/lanes/grants.js +171 -0
- package/dist/lib/lanes/hire-grant-dispatch.d.ts +29 -0
- package/dist/lib/lanes/hire-grant-dispatch.js +315 -0
- package/dist/lib/lanes/hooks-install.d.ts +82 -0
- package/dist/lib/lanes/hooks-install.js +555 -0
- package/dist/lib/lanes/host-capacity.d.ts +69 -0
- package/dist/lib/lanes/host-capacity.js +254 -0
- package/dist/lib/lanes/hq-root.d.ts +19 -0
- package/dist/lib/lanes/hq-root.js +28 -0
- package/dist/lib/lanes/index.d.ts +76 -0
- package/dist/lib/lanes/index.js +42 -0
- package/dist/lib/lanes/keep-alive-audit.d.ts +47 -0
- package/dist/lib/lanes/keep-alive-audit.js +370 -0
- package/dist/lib/lanes/keep-alive.d.ts +68 -0
- package/dist/lib/lanes/keep-alive.js +343 -0
- package/dist/lib/lanes/kr-freshness.d.ts +76 -0
- package/dist/lib/lanes/kr-freshness.js +413 -0
- package/dist/lib/lanes/lane-company.d.ts +10 -0
- package/dist/lib/lanes/lane-company.js +41 -0
- package/dist/lib/lanes/liveness.d.ts +108 -0
- package/dist/lib/lanes/liveness.js +396 -0
- package/dist/lib/lanes/machine-identity.d.ts +34 -0
- package/dist/lib/lanes/machine-identity.js +92 -0
- package/dist/lib/lanes/manager-status-gate.d.ts +17 -0
- package/dist/lib/lanes/manager-status-gate.js +133 -0
- package/dist/lib/lanes/merge-command.d.ts +15 -0
- package/dist/lib/lanes/merge-command.js +629 -0
- package/dist/lib/lanes/mesh-events.d.ts +127 -0
- package/dist/lib/lanes/mesh-events.js +564 -0
- package/dist/lib/lanes/message-replay.d.ts +21 -0
- package/dist/lib/lanes/message-replay.js +122 -0
- package/dist/lib/lanes/models.d.ts +86 -0
- package/dist/lib/lanes/models.js +234 -0
- package/dist/lib/lanes/monitor.d.ts +48 -0
- package/dist/lib/lanes/monitor.js +428 -0
- package/dist/lib/lanes/move-account.d.ts +56 -0
- package/dist/lib/lanes/move-account.js +193 -0
- package/dist/lib/lanes/orphans.d.ts +25 -0
- package/dist/lib/lanes/orphans.js +102 -0
- package/dist/lib/lanes/outpost-dispatch.d.ts +156 -0
- package/dist/lib/lanes/outpost-dispatch.js +293 -0
- package/dist/lib/lanes/outpost-hire-cache.d.ts +22 -0
- package/dist/lib/lanes/outpost-hire-cache.js +153 -0
- package/dist/lib/lanes/outpost-identity.d.ts +33 -0
- package/dist/lib/lanes/outpost-identity.js +59 -0
- package/dist/lib/lanes/outpost-profile-repin.d.ts +17 -0
- package/dist/lib/lanes/outpost-profile-repin.js +84 -0
- package/dist/lib/lanes/outpost-pruner-install.d.ts +37 -0
- package/dist/lib/lanes/outpost-pruner-install.js +238 -0
- package/dist/lib/lanes/outpost-registry-worker-approval.d.ts +18 -0
- package/dist/lib/lanes/outpost-registry-worker-approval.js +109 -0
- package/dist/lib/lanes/outpost-snapshot-memo.d.ts +6 -0
- package/dist/lib/lanes/outpost-snapshot-memo.js +14 -0
- package/dist/lib/lanes/outpost-worktree-pruner-flag.d.ts +19 -0
- package/dist/lib/lanes/outpost-worktree-pruner-flag.js +86 -0
- package/dist/lib/lanes/outpost-worktree-pruner.d.ts +62 -0
- package/dist/lib/lanes/outpost-worktree-pruner.js +1201 -0
- package/dist/lib/lanes/profile.d.ts +69 -0
- package/dist/lib/lanes/profile.js +552 -0
- package/dist/lib/lanes/provider-rejection.d.ts +86 -0
- package/dist/lib/lanes/provider-rejection.js +286 -0
- package/dist/lib/lanes/questions.d.ts +90 -0
- package/dist/lib/lanes/questions.js +384 -0
- package/dist/lib/lanes/quota.d.ts +134 -0
- package/dist/lib/lanes/quota.js +471 -0
- package/dist/lib/lanes/reconcile-install.d.ts +90 -0
- package/dist/lib/lanes/reconcile-install.js +257 -0
- package/dist/lib/lanes/reconcile.d.ts +161 -0
- package/dist/lib/lanes/reconcile.js +3343 -0
- package/dist/lib/lanes/registry-flag.d.ts +35 -0
- package/dist/lib/lanes/registry-flag.js +164 -0
- package/dist/lib/lanes/registry-persona.d.ts +20 -0
- package/dist/lib/lanes/registry-persona.js +329 -0
- package/dist/lib/lanes/registry.d.ts +122 -0
- package/dist/lib/lanes/registry.js +570 -0
- package/dist/lib/lanes/reviews.d.ts +38 -0
- package/dist/lib/lanes/reviews.js +395 -0
- package/dist/lib/lanes/runaway-tool-guard.d.ts +38 -0
- package/dist/lib/lanes/runaway-tool-guard.js +284 -0
- package/dist/lib/lanes/session-relink.d.ts +25 -0
- package/dist/lib/lanes/session-relink.js +216 -0
- package/dist/lib/lanes/spawn.d.ts +355 -0
- package/dist/lib/lanes/spawn.js +2668 -0
- package/dist/lib/lanes/ssm-command-context.d.ts +12 -0
- package/dist/lib/lanes/ssm-command-context.js +52 -0
- package/dist/lib/lanes/store.d.ts +91 -0
- package/dist/lib/lanes/store.js +1822 -0
- package/dist/lib/lanes/stories.d.ts +23 -0
- package/dist/lib/lanes/stories.js +92 -0
- package/dist/lib/lanes/story-ledger.d.ts +80 -0
- package/dist/lib/lanes/story-ledger.js +815 -0
- package/dist/lib/lanes/story-switch.d.ts +21 -0
- package/dist/lib/lanes/story-switch.js +75 -0
- package/dist/lib/lanes/text-scan.d.ts +11 -0
- package/dist/lib/lanes/text-scan.js +103 -0
- package/dist/lib/lanes/throttle.d.ts +116 -0
- package/dist/lib/lanes/throttle.js +437 -0
- package/dist/lib/lanes/timestamp.d.ts +3 -0
- package/dist/lib/lanes/timestamp.js +26 -0
- package/dist/lib/lanes/tracker-checks.d.ts +77 -0
- package/dist/lib/lanes/tracker-checks.js +134 -0
- package/dist/lib/lanes/tracker-report-state.d.ts +10 -0
- package/dist/lib/lanes/tracker-report-state.js +124 -0
- package/dist/lib/lanes/tracker-report.d.ts +203 -0
- package/dist/lib/lanes/tracker-report.js +522 -0
- package/dist/lib/lanes/tracker-store.d.ts +18 -0
- package/dist/lib/lanes/tracker-store.js +106 -0
- package/dist/lib/lanes/types.d.ts +1030 -0
- package/dist/lib/lanes/types.js +418 -0
- package/dist/lib/lanes/wait.d.ts +39 -0
- package/dist/lib/lanes/wait.js +159 -0
- package/dist/lib/lanes/watch.d.ts +39 -0
- package/dist/lib/lanes/watch.js +249 -0
- package/dist/lib/lanes/watcher-main.d.ts +11 -0
- package/dist/lib/lanes/watcher-main.js +108 -0
- package/dist/lib/lanes/watcher.d.ts +287 -0
- package/dist/lib/lanes/watcher.js +1972 -0
- package/dist/lib/mesh/api.d.ts +103 -10
- package/dist/lib/mesh/api.js +334 -64
- package/dist/lib/mesh/client.d.ts +3 -2
- package/dist/lib/mesh/client.js +26 -7
- package/dist/lib/mesh/denial-codes.d.ts +5 -0
- package/dist/lib/mesh/denial-codes.js +14 -0
- package/dist/lib/mesh/live/backfill-held.d.ts +67 -16
- package/dist/lib/mesh/live/backfill-held.js +415 -61
- package/dist/lib/mesh/live/backoff.d.ts +2 -2
- package/dist/lib/mesh/live/backoff.js +16 -3
- package/dist/lib/mesh/live/daemon/board-refresh.d.ts +7 -1
- package/dist/lib/mesh/live/daemon/board-refresh.js +78 -30
- package/dist/lib/mesh/live/daemon/config.d.ts +36 -0
- package/dist/lib/mesh/live/daemon/config.js +120 -0
- package/dist/lib/mesh/live/daemon/credentials.d.ts +64 -10
- package/dist/lib/mesh/live/daemon/credentials.js +270 -20
- package/dist/lib/mesh/live/daemon/doctor.d.ts +53 -0
- package/dist/lib/mesh/live/daemon/doctor.js +190 -6
- package/dist/lib/mesh/live/daemon/index.d.ts +13 -10
- package/dist/lib/mesh/live/daemon/index.js +7 -6
- package/dist/lib/mesh/live/daemon/install.d.ts +255 -1
- package/dist/lib/mesh/live/daemon/install.js +811 -13
- package/dist/lib/mesh/live/daemon/legacy-listen.d.ts +43 -0
- package/dist/lib/mesh/live/daemon/legacy-listen.js +89 -0
- package/dist/lib/mesh/live/daemon/live-cache.d.ts +26 -0
- package/dist/lib/mesh/live/daemon/live-cache.js +116 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.d.ts +7 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.js +2 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.d.ts +2 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.js +10 -0
- package/dist/lib/mesh/live/daemon/paths.d.ts +2 -0
- package/dist/lib/mesh/live/daemon/paths.js +2 -0
- package/dist/lib/mesh/live/daemon/presence.d.ts +24 -5
- package/dist/lib/mesh/live/daemon/presence.js +79 -10
- package/dist/lib/mesh/live/daemon/run.d.ts +48 -2
- package/dist/lib/mesh/live/daemon/run.js +485 -33
- package/dist/lib/mesh/live/daemon/state.d.ts +19 -2
- package/dist/lib/mesh/live/daemon/state.js +34 -2
- package/dist/lib/mesh/live/daemon/transcript-watch.d.ts +45 -9
- package/dist/lib/mesh/live/daemon/transcript-watch.js +227 -31
- package/dist/lib/mesh/live/daemon/version-drift.d.ts +5 -0
- package/dist/lib/mesh/live/daemon/version-drift.js +47 -0
- package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +32 -0
- package/dist/lib/mesh/live/daemon/work-subscribe.js +262 -0
- package/dist/lib/mesh/live/emit-client.d.ts +8 -0
- package/dist/lib/mesh/live/emit-client.js +23 -8
- package/dist/lib/mesh/live/emit-evidence.d.ts +19 -0
- package/dist/lib/mesh/live/emit-evidence.js +20 -2
- package/dist/lib/mesh/live/emit.d.ts +9 -0
- package/dist/lib/mesh/live/emit.js +28 -2
- package/dist/lib/mesh/live/enqueue.d.ts +5 -0
- package/dist/lib/mesh/live/enqueue.js +19 -0
- package/dist/lib/mesh/live/flush.d.ts +17 -5
- package/dist/lib/mesh/live/flush.js +391 -38
- package/dist/lib/mesh/live/format-spool-line.d.ts +5 -2
- package/dist/lib/mesh/live/format-spool-line.js +10 -0
- package/dist/lib/mesh/live/paths.d.ts +2 -0
- package/dist/lib/mesh/live/paths.js +4 -0
- package/dist/lib/mesh/live/report-summary.d.ts +45 -0
- package/dist/lib/mesh/live/report-summary.js +234 -0
- package/dist/lib/mesh/live/session-event.schema.json +24 -1
- package/dist/lib/mesh/live/session-events-client.d.ts +2 -0
- package/dist/lib/mesh/live/session-events-client.js +26 -0
- package/dist/lib/mesh/live/session-seq.d.ts +4 -0
- package/dist/lib/mesh/live/session-seq.js +33 -0
- package/dist/lib/mesh/live/spool.d.ts +19 -0
- package/dist/lib/mesh/live/spool.js +269 -3
- package/dist/lib/mesh/live/validate-session-event.d.ts +1 -1
- package/dist/lib/mesh/live/validate-session-event.js +1 -1
- package/dist/lib/mesh/project-board.d.ts +65 -0
- package/dist/lib/mesh/project-board.js +181 -0
- package/dist/lib/mesh/story-status.d.ts +22 -0
- package/dist/lib/mesh/story-status.js +49 -0
- package/dist/lib/monitor.d.ts +149 -0
- package/dist/lib/monitor.js +519 -0
- package/dist/lib/node-binary.d.ts +50 -0
- package/dist/lib/node-binary.js +133 -0
- package/dist/lib/notify-recipient.d.ts +7 -0
- package/dist/lib/notify-recipient.js +11 -0
- package/dist/lib/onboarding/checkpoint.d.ts +13 -0
- package/dist/lib/onboarding/checkpoint.js +44 -0
- package/dist/lib/onboarding/cli/onboard.d.ts +53 -0
- package/dist/lib/onboarding/cli/onboard.js +135 -0
- package/dist/lib/onboarding/cli/prompts.d.ts +28 -0
- package/dist/lib/onboarding/cli/prompts.js +83 -0
- package/dist/lib/onboarding/errors.d.ts +34 -0
- package/dist/lib/onboarding/errors.js +59 -0
- package/dist/lib/onboarding/index.d.ts +13 -0
- package/dist/lib/onboarding/index.js +13 -0
- package/dist/lib/onboarding/orchestrator.d.ts +47 -0
- package/dist/lib/onboarding/orchestrator.js +569 -0
- package/dist/lib/onboarding/types.d.ts +79 -0
- package/dist/lib/onboarding/types.js +8 -0
- package/dist/lib/plan-limit-nag.d.ts +102 -6
- package/dist/lib/plan-limit-nag.js +348 -43
- package/dist/lib/policy-validator.d.ts +7 -0
- package/dist/lib/policy-validator.js +187 -0
- package/dist/lib/process-flag-company-context.d.ts +8 -0
- package/dist/lib/process-flag-company-context.js +67 -0
- package/dist/lib/report-publish.d.ts +175 -0
- package/dist/lib/report-publish.js +421 -0
- package/dist/lib/report-run.d.ts +62 -0
- package/dist/lib/report-run.js +123 -0
- package/dist/lib/report-snapshot.d.ts +12 -0
- package/dist/lib/report-snapshot.js +135 -0
- package/dist/lib/report-templates.d.ts +9 -0
- package/dist/lib/report-templates.js +21 -0
- package/dist/lib/scaffold-cli-floor.d.ts +8 -0
- package/dist/lib/scaffold-cli-floor.js +50 -0
- package/dist/lib/scan-packages/index.d.ts +2 -0
- package/dist/lib/scan-packages/index.js +168 -6
- package/dist/lib/search-index/background.d.ts +8 -1
- package/dist/lib/search-index/background.js +55 -200
- package/dist/lib/search-index/collection-path-repair-flag.d.ts +4 -0
- package/dist/lib/search-index/collection-path-repair-flag.js +7 -0
- package/dist/lib/search-index/embed-lock.d.ts +34 -0
- package/dist/lib/search-index/embed-lock.js +295 -0
- package/dist/lib/search-index/index.d.ts +12 -0
- package/dist/lib/search-index/index.js +153 -7
- package/dist/lib/search-index/load-gate.d.ts +57 -0
- package/dist/lib/search-index/load-gate.js +270 -0
- package/dist/lib/search-index/max-doc-bytes.d.ts +219 -0
- package/dist/lib/search-index/max-doc-bytes.js +463 -0
- package/dist/lib/search-index/qmd-exit-diagnostics.d.ts +5 -0
- package/dist/lib/search-index/qmd-exit-diagnostics.js +40 -0
- package/dist/lib/search-index/reindex-single-flight-flag.d.ts +5 -0
- package/dist/lib/search-index/reindex-single-flight-flag.js +8 -0
- package/dist/lib/service-manager/index.d.ts +42 -0
- package/dist/lib/service-manager/index.js +105 -0
- package/dist/lib/service-manager/launchd.d.ts +81 -0
- package/dist/lib/service-manager/launchd.js +212 -0
- package/dist/lib/service-manager/systemd.d.ts +19 -0
- package/dist/lib/service-manager/systemd.js +72 -0
- package/dist/lib/service-manager/types.d.ts +34 -0
- package/dist/lib/service-manager/types.js +26 -0
- package/dist/lib/test-utils/isolated-flag-company-context.d.ts +3 -0
- package/dist/lib/test-utils/isolated-flag-company-context.js +18 -0
- package/dist/lib/work-context/bind-best.d.ts +66 -0
- package/dist/lib/work-context/bind-best.js +344 -0
- package/dist/lib/work-context/bind-calling-session.d.ts +26 -0
- package/dist/lib/work-context/bind-calling-session.js +63 -0
- package/dist/lib/work-context/company-rebind.d.ts +23 -0
- package/dist/lib/work-context/company-rebind.js +59 -0
- package/dist/lib/work-context/company.d.ts +22 -20
- package/dist/lib/work-context/company.js +124 -40
- package/dist/lib/work-context/config.d.ts +58 -11
- package/dist/lib/work-context/config.js +334 -83
- package/dist/lib/work-context/contract.d.ts +13 -0
- package/dist/lib/work-context/contract.schema.json +3 -1
- package/dist/lib/work-context/default-company.d.ts +43 -0
- package/dist/lib/work-context/default-company.js +83 -0
- package/dist/lib/work-context/outbox-quarantine-status-flag.d.ts +4 -0
- package/dist/lib/work-context/outbox-quarantine-status-flag.js +7 -0
- package/dist/lib/work-context/outbox.d.ts +27 -5
- package/dist/lib/work-context/outbox.js +135 -6
- package/dist/lib/work-context/prd-sync.d.ts +56 -0
- package/dist/lib/work-context/prd-sync.js +197 -0
- package/dist/lib/work-context/preflight-contract.d.ts +28 -0
- package/dist/lib/work-context/preflight-contract.js +85 -0
- package/dist/lib/work-context/prompt-rebind.d.ts +25 -0
- package/dist/lib/work-context/prompt-rebind.js +85 -0
- package/dist/lib/work-context/reconcile.d.ts +15 -0
- package/dist/lib/work-context/reconcile.js +405 -29
- package/dist/lib/work-context/state.d.ts +93 -10
- package/dist/lib/work-context/state.js +342 -29
- package/dist/lib/work-context/windows-acl.d.ts +123 -0
- package/dist/lib/work-context/windows-acl.js +425 -0
- package/dist/lib/workers-registry/index.js +62 -8
- package/dist/lib/workers-registry/read.d.ts +15 -0
- package/dist/lib/workers-registry/read.js +17 -0
- package/dist/main.d.ts +32 -0
- package/dist/main.js +273 -73
- package/dist/native-fast-route.d.ts +7 -0
- package/dist/native-fast-route.js +45 -0
- package/dist/node-network-compat-core.d.ts +12 -0
- package/dist/node-network-compat-core.js +41 -0
- package/dist/node-network-compat-fast.d.ts +7 -0
- package/dist/node-network-compat-fast.js +23 -0
- package/dist/node-network-compat.d.ts +2 -30
- package/dist/node-network-compat.js +4 -51
- package/dist/node-preflight.d.ts +7 -1
- package/dist/node-preflight.js +5 -5
- package/dist/register-all.d.ts +4 -29
- package/dist/register-all.js +4 -233
- package/dist/run/discover-schemas.d.ts +2 -1
- package/dist/run/env-graph-guard.d.ts +2 -2
- package/dist/run/env-graph-guard.js +5 -2
- package/dist/run/hq-plugin.d.ts +4 -0
- package/dist/run/hq-plugin.js +36 -8
- package/dist/secrets-env-fast-path.d.ts +5 -0
- package/dist/secrets-env-fast-path.js +16 -0
- package/dist/secrets-env-fast-route.d.ts +18 -0
- package/dist/secrets-env-fast-route.js +54 -0
- package/dist/sentry-before-send.js +80 -0
- package/dist/sentry.d.ts +16 -4
- package/dist/sentry.js +179 -18
- package/dist/startup-registration.d.ts +26 -2
- package/dist/startup-registration.js +116 -15
- package/dist/utils/checkpoint-stamp-write-error.d.ts +28 -0
- package/dist/utils/checkpoint-stamp-write-error.js +99 -0
- package/dist/utils/cli-network-lifecycle.d.ts +4 -0
- package/dist/utils/cli-network-lifecycle.js +11 -0
- package/dist/utils/cli-telemetry.d.ts +75 -1
- package/dist/utils/cli-telemetry.js +433 -7
- package/dist/utils/client-health.d.ts +0 -4
- package/dist/utils/client-health.js +2 -2
- package/dist/utils/cognito-refresh-sentry.d.ts +3 -0
- package/dist/utils/cognito-refresh-sentry.js +49 -0
- package/dist/utils/cognito-session.d.ts +71 -0
- package/dist/utils/cognito-session.js +481 -27
- package/dist/utils/console-origin.d.ts +9 -0
- package/dist/utils/console-origin.js +28 -0
- package/dist/utils/contribution-table.d.ts +1 -1
- package/dist/utils/core-eval-trigger.d.ts +4 -0
- package/dist/utils/core-eval-trigger.js +88 -0
- package/dist/utils/environmental-error.d.ts +18 -0
- package/dist/utils/environmental-error.js +240 -7
- package/dist/utils/exclusive-lock.d.ts +32 -0
- package/dist/utils/exclusive-lock.js +75 -0
- package/dist/utils/expected-cli-error.d.ts +2 -0
- package/dist/utils/expected-cli-error.js +4 -0
- package/dist/utils/fast-stream-errors.d.ts +12 -0
- package/dist/utils/fast-stream-errors.js +18 -0
- package/dist/utils/feedback-diagnostics.d.ts +2 -1
- package/dist/utils/feedback-log-bundle.d.ts +51 -26
- package/dist/utils/feedback-log-bundle.js +211 -31
- package/dist/utils/feedback-logs.d.ts +18 -47
- package/dist/utils/feedback-logs.js +50 -21
- package/dist/utils/feedback-screenshots.d.ts +0 -1
- package/dist/utils/feedback-screenshots.js +1 -1
- package/dist/utils/files-browse-acl.d.ts +5 -0
- package/dist/utils/files-browse-acl.js +11 -0
- package/dist/utils/hq-core-yaml.d.ts +10 -0
- package/dist/utils/hq-core-yaml.js +40 -0
- package/dist/utils/hq-root-resolver.d.ts +13 -0
- package/dist/utils/hq-root-resolver.js +103 -0
- package/dist/utils/hq-roots.d.ts +25 -2
- package/dist/utils/hq-roots.js +67 -7
- package/dist/utils/incomplete-install-error.d.ts +87 -19
- package/dist/utils/incomplete-install-error.js +319 -68
- package/dist/utils/install-tree-torn.d.ts +260 -24
- package/dist/utils/install-tree-torn.js +998 -51
- package/dist/utils/large-file-guard.d.ts +0 -10
- package/dist/utils/large-file-guard.js +1 -1
- package/dist/utils/local-files-overview.d.ts +4 -8
- package/dist/utils/local-files-overview.js +48 -7
- package/dist/utils/login-provider.d.ts +7 -0
- package/dist/utils/login-provider.js +34 -0
- package/dist/utils/pack-contributions.d.ts +2 -14
- package/dist/utils/pack-contributions.js +7 -44
- package/dist/utils/package-root-diagnostics.d.ts +1 -1
- package/dist/utils/people.d.ts +7 -11
- package/dist/utils/people.js +5 -20
- package/dist/utils/plan-gate-error.d.ts +52 -10
- package/dist/utils/plan-gate-error.js +364 -41
- package/dist/utils/qmd-model-download-error.d.ts +0 -8
- package/dist/utils/qmd-model-download-error.js +1 -1
- package/dist/utils/qmd-query-document-error.d.ts +0 -6
- package/dist/utils/qmd-query-document-error.js +1 -1
- package/dist/utils/redact-error-text.d.ts +0 -2
- package/dist/utils/redact-error-text.js +3 -2
- package/dist/utils/redact-url.d.ts +14 -0
- package/dist/utils/redact-url.js +218 -0
- package/dist/utils/run-bundled-script.d.ts +6 -0
- package/dist/utils/run-bundled-script.js +117 -4
- package/dist/utils/sandbox-runner-client.d.ts +2 -1
- package/dist/utils/scaffold-fast-import-guard.d.ts +2 -0
- package/dist/utils/scaffold-fast-import-guard.js +40 -0
- package/dist/utils/scaffold-packlist-guard.d.ts +7 -0
- package/dist/utils/scaffold-packlist-guard.js +23 -0
- package/dist/utils/scaffold-sibling-references.d.ts +22 -0
- package/dist/utils/scaffold-sibling-references.js +156 -0
- package/dist/utils/secret-load-availability.d.ts +8 -0
- package/dist/utils/secret-load-availability.js +54 -0
- package/dist/utils/secrets-cache.d.ts +7 -3
- package/dist/utils/secrets-cache.js +162 -14
- package/dist/utils/self-update.d.ts +34 -1
- package/dist/utils/self-update.js +660 -42
- package/dist/utils/sentry-fingerprint.d.ts +23 -1
- package/dist/utils/sentry-fingerprint.js +223 -31
- package/dist/utils/staged-install.d.ts +34 -0
- package/dist/utils/staged-install.js +346 -0
- package/dist/utils/staged-npm-install.d.ts +16 -0
- package/dist/utils/staged-npm-install.js +264 -0
- package/dist/utils/sync-log-sources.d.ts +15 -0
- package/dist/utils/sync-log-sources.js +36 -0
- package/dist/utils/table-width.d.ts +7 -0
- package/dist/utils/table-width.js +15 -0
- package/dist/utils/team-upgrade.d.ts +1 -1
- package/dist/utils/team-upgrade.js +4 -3
- package/dist/utils/update-command-supervisor.cjs +247 -0
- package/dist/utils/upload-author.d.ts +15 -0
- package/dist/utils/upload-author.js +39 -0
- package/dist/utils/vault-api.d.ts +21 -1
- package/dist/utils/vault-api.js +251 -84
- package/dist/utils/version-check.d.ts +11 -1
- package/dist/utils/version-check.js +32 -3
- package/dist/utils/version-gate.d.ts +101 -17
- package/dist/utils/version-gate.js +645 -70
- package/dist/utils/version-report.d.ts +27 -0
- package/dist/utils/version-report.js +105 -0
- package/dist/utils/windows-spawn.d.ts +6 -0
- package/dist/utils/windows-spawn.js +37 -0
- package/dist/version-request.d.ts +14 -0
- package/dist/version-request.js +36 -0
- package/package.json +20 -8
- package/scripts/mesh-daemon-if-stale.mjs +20 -0
- package/templates/reports/blank.md +3 -0
- package/templates/reports/daily-digest.md +11 -0
- package/templates/runbooks/update-report.md +21 -0
- package/dist/commands/scaffold-fast.d.ts +0 -41
- package/dist/commands/scaffold-fast.js +0 -57
- package/dist/lib/work-context/index.d.ts +0 -25
- package/dist/lib/work-context/index.js +0 -21
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Daemon state.json under ~/.hq/work-mesh/daemon/ (0600, metadata-only).
|
|
3
3
|
*/
|
|
4
|
+
import * as fs from "node:fs";
|
|
4
5
|
import type { MqttConnectionState } from "./presence.js";
|
|
5
6
|
import type { FlushSummary } from "../flush.js";
|
|
6
|
-
|
|
7
|
+
import type { DroppedPresenceCompany } from "./credentials.js";
|
|
8
|
+
interface PresenceRefusalState {
|
|
7
9
|
code: string;
|
|
8
10
|
status: number;
|
|
9
11
|
nextRetryAt: string;
|
|
@@ -14,6 +16,8 @@ export interface DaemonStateFile {
|
|
|
14
16
|
startedAt: string;
|
|
15
17
|
mqttState: MqttConnectionState;
|
|
16
18
|
companiesOnline: string[];
|
|
19
|
+
/** Companies omitted from the current presence credential bundle. */
|
|
20
|
+
presenceDroppedCompanies?: DroppedPresenceCompany[];
|
|
17
21
|
actorUid?: string;
|
|
18
22
|
lastFlushAt?: string;
|
|
19
23
|
lastFlushResult?: FlushSummary & {
|
|
@@ -24,10 +28,23 @@ export interface DaemonStateFile {
|
|
|
24
28
|
presenceRefusal?: PresenceRefusalState | null;
|
|
25
29
|
/** Daemon emit mode: "legacy" (spool/flush) or "direct" (receive-only). */
|
|
26
30
|
emitMode?: "legacy" | "direct";
|
|
31
|
+
/** Authoritative membership denials for device-default-derived tenant I/O. */
|
|
32
|
+
deviceDefaultAuthorizationDenials?: number;
|
|
33
|
+
/** Transient device-default membership refresh failures; the next cycle retries. */
|
|
34
|
+
deviceDefaultMembershipLookupFailures?: number;
|
|
35
|
+
/** CLI version this daemon process was started with. */
|
|
36
|
+
cliVersion?: string;
|
|
37
|
+
/** realpath of the CLI entry this daemon process was started with. */
|
|
38
|
+
cliEntry?: string;
|
|
27
39
|
updatedAt: string;
|
|
28
40
|
}
|
|
29
41
|
export declare function defaultDaemonState(pid: number, now?: () => Date): DaemonStateFile;
|
|
30
42
|
export declare function readDaemonState(dir: string): DaemonStateFile | null;
|
|
31
|
-
|
|
43
|
+
interface WriteDaemonStateOptions {
|
|
44
|
+
renameSync?: typeof fs.renameSync;
|
|
45
|
+
sleepSync?: (ms: number) => void;
|
|
46
|
+
}
|
|
47
|
+
export declare function writeDaemonState(dir: string, state: DaemonStateFile, options?: WriteDaemonStateOptions): void;
|
|
32
48
|
export declare function patchDaemonState(dir: string, patch: Partial<DaemonStateFile>, now?: () => Date): DaemonStateFile;
|
|
49
|
+
export {};
|
|
33
50
|
//# sourceMappingURL=state.d.ts.map
|
|
@@ -29,13 +29,45 @@ export function readDaemonState(dir) {
|
|
|
29
29
|
return null;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
const DAEMON_STATE_RENAME_RETRY_DELAYS_MS = [20, 50, 100];
|
|
33
|
+
function sleepSync(ms) {
|
|
34
|
+
Atomics.wait(new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)), 0, 0, ms);
|
|
35
|
+
}
|
|
36
|
+
function isTransientRenameContention(err) {
|
|
37
|
+
return err !== null && typeof err === "object" && "code" in err &&
|
|
38
|
+
(err.code === "EPERM" || err.code === "EBUSY");
|
|
39
|
+
}
|
|
40
|
+
export function writeDaemonState(dir, state, options = {}) {
|
|
33
41
|
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
34
42
|
const dest = daemonStatePath(dir);
|
|
35
43
|
const tmp = path.join(dir, `.state.tmp.${process.pid}.${Date.now()}`);
|
|
36
44
|
const body = `${JSON.stringify(state, null, 2)}\n`;
|
|
37
45
|
fs.writeFileSync(tmp, body, { mode: 0o600 });
|
|
38
|
-
fs.renameSync
|
|
46
|
+
const renameSync = options.renameSync ?? fs.renameSync;
|
|
47
|
+
const waitSync = options.sleepSync ?? sleepSync;
|
|
48
|
+
try {
|
|
49
|
+
for (let attempt = 0;; attempt += 1) {
|
|
50
|
+
try {
|
|
51
|
+
renameSync(tmp, dest);
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
const delay = DAEMON_STATE_RENAME_RETRY_DELAYS_MS[attempt];
|
|
56
|
+
if (!isTransientRenameContention(err) || delay === undefined)
|
|
57
|
+
throw err;
|
|
58
|
+
waitSync(delay);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
try {
|
|
64
|
+
fs.unlinkSync(tmp);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
/* Preserve the rename failure; the destination remains the prior complete state. */
|
|
68
|
+
}
|
|
69
|
+
throw err;
|
|
70
|
+
}
|
|
39
71
|
try {
|
|
40
72
|
fs.chmodSync(dest, 0o600);
|
|
41
73
|
}
|
|
@@ -24,6 +24,19 @@
|
|
|
24
24
|
* Network: harness claude-desktop | codex, source "transcript" on every event.
|
|
25
25
|
* Local state keeps transcriptMarker for channel-card / Atlas before network sync;
|
|
26
26
|
* localHarness is no longer written (harness carries claude-desktop on the wire).
|
|
27
|
+
*
|
|
28
|
+
* Hook-covered sessions (durable hook-written state, or a hook event within
|
|
29
|
+
* TRANSCRIPT_HOOK_COVER_MS) do not get synthesized session_start — hooks own
|
|
30
|
+
* that. The watcher still tracks last activity (transcript mtime or hook
|
|
31
|
+
* events). It enqueues turn_end when hooks never did (Stop often never fires
|
|
32
|
+
* for a live Claude Code session sitting at the prompt; server turnCount
|
|
33
|
+
* stays 0) and session_end after TRANSCRIPT_SESSION_END_MS of quiet so the
|
|
34
|
+
* channel work report has a trigger (US-050b / US-051c). Both events take
|
|
35
|
+
* seq from the shared ~/.hq/work-mesh/seq/<sid> file the hooks use; an
|
|
36
|
+
* in-memory counter restarting at 1 is dropped by the server as a duplicate
|
|
37
|
+
* of session_start. Resume resets the timer. A hook event within
|
|
38
|
+
* TRANSCRIPT_HOOK_COVER_MS of our own emit is the SessionEnd hook catching
|
|
39
|
+
* up and is not treated as resume.
|
|
27
40
|
*/
|
|
28
41
|
import * as fs from "node:fs";
|
|
29
42
|
import type { MembershipValidationResult } from "../../../work-context/config.js";
|
|
@@ -38,8 +51,6 @@ export declare const TRANSCRIPT_WATCH_INTERVAL_MAX_MS = 120000;
|
|
|
38
51
|
export declare const TRANSCRIPT_WATCH_BACKOFF_ENTRIES = 2000;
|
|
39
52
|
/** Double the interval when a tick takes longer than this many ms. */
|
|
40
53
|
export declare const TRANSCRIPT_WATCH_BACKOFF_DURATION_MS = 500;
|
|
41
|
-
/** Hard cap on entries examined (dir stats, readdir children, file stats) per tick. */
|
|
42
|
-
export declare const TRANSCRIPT_WATCH_ENTRY_CAP = 20000;
|
|
43
54
|
/**
|
|
44
55
|
* Even when a directory mtime matches the cache, force a full relist (readdir +
|
|
45
56
|
* re-stat) after this many ms so content appends and coarse mtime granularity
|
|
@@ -49,10 +60,14 @@ export declare const TRANSCRIPT_WATCH_REVALIDATE_MS: number;
|
|
|
49
60
|
export declare const TRANSCRIPT_TURN_QUIET_MS = 5000;
|
|
50
61
|
export declare const TRANSCRIPT_SESSION_END_MS: number;
|
|
51
62
|
export declare const TRANSCRIPT_HOOK_COVER_MS = 60000;
|
|
52
|
-
/**
|
|
53
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Hook-covered sessions skipped as "stale" on first sight never got a quiet
|
|
65
|
+
* session_end (live: skippedHook=411, ended=0). Adopt them for this long after
|
|
66
|
+
* last activity so a 10–120 min quiet window still reports after a daemon
|
|
67
|
+
* restart or a missed track. Older than this stays silent (the 6h reaper).
|
|
68
|
+
*/
|
|
69
|
+
export declare const TRANSCRIPT_HOOK_QUIET_ADOPT_MS: number;
|
|
54
70
|
export declare const TRANSCRIPT_MARKER: "from transcript";
|
|
55
|
-
export declare const TRANSCRIPT_ADAPTER_VERSION: string;
|
|
56
71
|
/** Network `source` stamped on every synthesized event (AMEND-001). */
|
|
57
72
|
export declare const TRANSCRIPT_EVENT_SOURCE: "transcript";
|
|
58
73
|
/** Fs surface used by the watcher — intentionally no open/readFile. */
|
|
@@ -68,7 +83,7 @@ export interface TranscriptFs {
|
|
|
68
83
|
existsSync: (p: string) => boolean;
|
|
69
84
|
}
|
|
70
85
|
export declare const defaultTranscriptFs: TranscriptFs;
|
|
71
|
-
|
|
86
|
+
type TranscriptKind = "claude" | "codex";
|
|
72
87
|
export interface DiscoveredTranscript {
|
|
73
88
|
path: string;
|
|
74
89
|
sessionId: string;
|
|
@@ -93,6 +108,11 @@ export interface TranscriptWatchDeps {
|
|
|
93
108
|
* TRANSCRIPT_HOOK_COVER_MS are not synthesized.
|
|
94
109
|
*/
|
|
95
110
|
lastHookEventAt?: Map<string, number>;
|
|
111
|
+
/**
|
|
112
|
+
* Last hook-emitted turn_end per sessionId (epoch ms). Used so we do not
|
|
113
|
+
* synthesize a second turn_end when Stop already landed.
|
|
114
|
+
*/
|
|
115
|
+
lastHookTurnEndAt?: Map<string, number>;
|
|
96
116
|
/** Injectable enqueue (tests). */
|
|
97
117
|
enqueue?: typeof enqueueSessionEvent;
|
|
98
118
|
/** Injectable state read/write (tests). */
|
|
@@ -119,6 +139,8 @@ export interface TranscriptWatchTickResult {
|
|
|
119
139
|
ended: number;
|
|
120
140
|
skippedHookCovered: number;
|
|
121
141
|
skippedStale: number;
|
|
142
|
+
/** sessionIds that received a synthesized session_end this tick (quiet path). */
|
|
143
|
+
endedSessionIds: string[];
|
|
122
144
|
/** Dir stats + readdir children + file stats examined this tick. */
|
|
123
145
|
entriesExamined: number;
|
|
124
146
|
durationMs: number;
|
|
@@ -136,7 +158,7 @@ export interface TranscriptWatchTickResult {
|
|
|
136
158
|
skippedConcurrent: boolean;
|
|
137
159
|
}
|
|
138
160
|
/** Per-directory mtime + child cache for incremental discovery. */
|
|
139
|
-
|
|
161
|
+
interface TranscriptDirCacheEntry {
|
|
140
162
|
mtimeMs: number;
|
|
141
163
|
files: DiscoveredTranscript[];
|
|
142
164
|
subdirs: string[];
|
|
@@ -146,7 +168,7 @@ export interface TranscriptDirCacheEntry {
|
|
|
146
168
|
export interface TranscriptDiscoverCache {
|
|
147
169
|
dirs: Map<string, TranscriptDirCacheEntry>;
|
|
148
170
|
}
|
|
149
|
-
|
|
171
|
+
interface DiscoverScanMeta {
|
|
150
172
|
entriesExamined: number;
|
|
151
173
|
dirsListed: number;
|
|
152
174
|
dirsSkipped: number;
|
|
@@ -235,7 +257,7 @@ export declare function resolveTranscriptRegistration(input: {
|
|
|
235
257
|
*/
|
|
236
258
|
export declare function noteHookSessionsFromSpoolFile(spoolPath: string, lastHookEventAt: Map<string, number>, atMs: number, tfs?: Pick<TranscriptFs, "existsSync"> & {
|
|
237
259
|
readFileSync?: (p: string, enc: "utf8") => string;
|
|
238
|
-
}): string[];
|
|
260
|
+
}, lastHookTurnEndAt?: Map<string, number>): string[];
|
|
239
261
|
export declare class TranscriptWatcher {
|
|
240
262
|
private readonly tracked;
|
|
241
263
|
private readonly deps;
|
|
@@ -257,6 +279,14 @@ export declare class TranscriptWatcher {
|
|
|
257
279
|
/** Record that a hook path emitted an event for sessionId (daemon flush). */
|
|
258
280
|
noteHookEvent(sessionId: string, atMs?: number): void;
|
|
259
281
|
tick(): Promise<TranscriptWatchTickResult>;
|
|
282
|
+
/**
|
|
283
|
+
* Hook-covered sessions already emit start. Still track last activity,
|
|
284
|
+
* fill in turn_end when Stop never did, and enqueue session_end after
|
|
285
|
+
* TRANSCRIPT_SESSION_END_MS of quiet (US-050b / US-051c). Resume (mtime or a
|
|
286
|
+
* later hook event) resets the timer. A hook event shortly after our own
|
|
287
|
+
* emit is the SessionEnd hook catching up — do not treat it as resume.
|
|
288
|
+
*/
|
|
289
|
+
private tickHookCoveredQuietEnd;
|
|
260
290
|
/**
|
|
261
291
|
* Heavy ticks double the poll interval up to MAX; a quiet tick resets to base.
|
|
262
292
|
*/
|
|
@@ -266,6 +296,11 @@ export declare class TranscriptWatcher {
|
|
|
266
296
|
* enqueue session_start. Never overwrites a hook-written state.
|
|
267
297
|
*/
|
|
268
298
|
private emitStart;
|
|
299
|
+
/**
|
|
300
|
+
* Seq comes from the shared per-session file hooks also write. Restarting
|
|
301
|
+
* at 1 here is dropped server-side as a duplicate of session_start (US-051c).
|
|
302
|
+
*/
|
|
303
|
+
private seqEnv;
|
|
269
304
|
private emitKind;
|
|
270
305
|
}
|
|
271
306
|
/**
|
|
@@ -275,4 +310,5 @@ export declare function nextTranscriptWatchIntervalMs(currentMs: number, opts: {
|
|
|
275
310
|
entriesExamined: number;
|
|
276
311
|
durationMs: number;
|
|
277
312
|
}): number;
|
|
313
|
+
export {};
|
|
278
314
|
//# sourceMappingURL=transcript-watch.d.ts.map
|
|
@@ -24,6 +24,19 @@
|
|
|
24
24
|
* Network: harness claude-desktop | codex, source "transcript" on every event.
|
|
25
25
|
* Local state keeps transcriptMarker for channel-card / Atlas before network sync;
|
|
26
26
|
* localHarness is no longer written (harness carries claude-desktop on the wire).
|
|
27
|
+
*
|
|
28
|
+
* Hook-covered sessions (durable hook-written state, or a hook event within
|
|
29
|
+
* TRANSCRIPT_HOOK_COVER_MS) do not get synthesized session_start — hooks own
|
|
30
|
+
* that. The watcher still tracks last activity (transcript mtime or hook
|
|
31
|
+
* events). It enqueues turn_end when hooks never did (Stop often never fires
|
|
32
|
+
* for a live Claude Code session sitting at the prompt; server turnCount
|
|
33
|
+
* stays 0) and session_end after TRANSCRIPT_SESSION_END_MS of quiet so the
|
|
34
|
+
* channel work report has a trigger (US-050b / US-051c). Both events take
|
|
35
|
+
* seq from the shared ~/.hq/work-mesh/seq/<sid> file the hooks use; an
|
|
36
|
+
* in-memory counter restarting at 1 is dropped by the server as a duplicate
|
|
37
|
+
* of session_start. Resume resets the timer. A hook event within
|
|
38
|
+
* TRANSCRIPT_HOOK_COVER_MS of our own emit is the SessionEnd hook catching
|
|
39
|
+
* up and is not treated as resume.
|
|
27
40
|
*/
|
|
28
41
|
import * as fs from "node:fs";
|
|
29
42
|
import * as os from "node:os";
|
|
@@ -36,6 +49,7 @@ import { deriveRemoteOwnerSlug, deriveRepoIdentityKey, } from "../../../work-con
|
|
|
36
49
|
import { isHookWrittenSessionState, readSessionState, writeSessionState, } from "../../../work-context/state.js";
|
|
37
50
|
import { enqueueSessionEvent } from "../enqueue.js";
|
|
38
51
|
import { isValidSessionId } from "../session-identity.js";
|
|
52
|
+
import { reserveSessionSeq } from "../session-seq.js";
|
|
39
53
|
export const TRANSCRIPT_WATCH_INTERVAL_MS = 30_000;
|
|
40
54
|
/** Ceiling for adaptive backoff after heavy ticks. */
|
|
41
55
|
export const TRANSCRIPT_WATCH_INTERVAL_MAX_MS = 120_000;
|
|
@@ -44,7 +58,7 @@ export const TRANSCRIPT_WATCH_BACKOFF_ENTRIES = 2_000;
|
|
|
44
58
|
/** Double the interval when a tick takes longer than this many ms. */
|
|
45
59
|
export const TRANSCRIPT_WATCH_BACKOFF_DURATION_MS = 500;
|
|
46
60
|
/** Hard cap on entries examined (dir stats, readdir children, file stats) per tick. */
|
|
47
|
-
|
|
61
|
+
const TRANSCRIPT_WATCH_ENTRY_CAP = 20_000;
|
|
48
62
|
/**
|
|
49
63
|
* Even when a directory mtime matches the cache, force a full relist (readdir +
|
|
50
64
|
* re-stat) after this many ms so content appends and coarse mtime granularity
|
|
@@ -54,10 +68,20 @@ export const TRANSCRIPT_WATCH_REVALIDATE_MS = 5 * 60_000;
|
|
|
54
68
|
export const TRANSCRIPT_TURN_QUIET_MS = 5_000;
|
|
55
69
|
export const TRANSCRIPT_SESSION_END_MS = 10 * 60_000;
|
|
56
70
|
export const TRANSCRIPT_HOOK_COVER_MS = 60_000;
|
|
71
|
+
/** Retry unavailable transcript-start reconciliation without hot-looping. */
|
|
72
|
+
const TRANSCRIPT_START_RETRY_BASE_MS = 30_000;
|
|
73
|
+
const TRANSCRIPT_START_RETRY_MAX_MS = 120_000;
|
|
57
74
|
/** Ignore cold transcripts whose mtime is older than this on first sight. */
|
|
58
|
-
|
|
75
|
+
const TRANSCRIPT_FRESH_MS = TRANSCRIPT_SESSION_END_MS;
|
|
76
|
+
/**
|
|
77
|
+
* Hook-covered sessions skipped as "stale" on first sight never got a quiet
|
|
78
|
+
* session_end (live: skippedHook=411, ended=0). Adopt them for this long after
|
|
79
|
+
* last activity so a 10–120 min quiet window still reports after a daemon
|
|
80
|
+
* restart or a missed track. Older than this stays silent (the 6h reaper).
|
|
81
|
+
*/
|
|
82
|
+
export const TRANSCRIPT_HOOK_QUIET_ADOPT_MS = 2 * 60 * 60 * 1000;
|
|
59
83
|
export const TRANSCRIPT_MARKER = "from transcript";
|
|
60
|
-
|
|
84
|
+
const TRANSCRIPT_ADAPTER_VERSION = CLI_VERSION;
|
|
61
85
|
/** Network `source` stamped on every synthesized event (AMEND-001). */
|
|
62
86
|
export const TRANSCRIPT_EVENT_SOURCE = "transcript";
|
|
63
87
|
export const defaultTranscriptFs = {
|
|
@@ -494,7 +518,7 @@ export function resolveTranscriptRegistration(input) {
|
|
|
494
518
|
* Scan a spool/held jsonl for hook-emitted session ids (not transcript-watch).
|
|
495
519
|
* Reads spool metadata only — never a transcript file.
|
|
496
520
|
*/
|
|
497
|
-
export function noteHookSessionsFromSpoolFile(spoolPath, lastHookEventAt, atMs, tfs = defaultTranscriptFs) {
|
|
521
|
+
export function noteHookSessionsFromSpoolFile(spoolPath, lastHookEventAt, atMs, tfs = defaultTranscriptFs, lastHookTurnEndAt) {
|
|
498
522
|
if (!tfs.existsSync(spoolPath))
|
|
499
523
|
return [];
|
|
500
524
|
const readFile = tfs.readFileSync ?? ((p, enc) => fs.readFileSync(p, enc));
|
|
@@ -510,13 +534,30 @@ export function noteHookSessionsFromSpoolFile(spoolPath, lastHookEventAt, atMs,
|
|
|
510
534
|
if (!line.trim())
|
|
511
535
|
continue;
|
|
512
536
|
try {
|
|
513
|
-
const
|
|
537
|
+
const raw = JSON.parse(line);
|
|
538
|
+
const ev = raw.event && typeof raw.event === "object" ? raw.event : raw;
|
|
514
539
|
if (typeof ev.sessionId !== "string" || !ev.sessionId)
|
|
515
540
|
continue;
|
|
516
541
|
// Synthesized transcript events carry source=transcript — not hooks.
|
|
517
542
|
if (ev.source === TRANSCRIPT_EVENT_SOURCE)
|
|
518
543
|
continue;
|
|
519
|
-
|
|
544
|
+
let eventAt = atMs;
|
|
545
|
+
const atRaw = typeof ev.at === "string" ? ev.at : undefined;
|
|
546
|
+
if (atRaw) {
|
|
547
|
+
const parsed = Date.parse(atRaw);
|
|
548
|
+
if (Number.isFinite(parsed))
|
|
549
|
+
eventAt = parsed;
|
|
550
|
+
}
|
|
551
|
+
const prev = lastHookEventAt.get(ev.sessionId);
|
|
552
|
+
if (prev === undefined || eventAt > prev) {
|
|
553
|
+
lastHookEventAt.set(ev.sessionId, eventAt);
|
|
554
|
+
}
|
|
555
|
+
if (ev.kind === "turn_end" && lastHookTurnEndAt) {
|
|
556
|
+
const prevEnd = lastHookTurnEndAt.get(ev.sessionId);
|
|
557
|
+
if (prevEnd === undefined || eventAt > prevEnd) {
|
|
558
|
+
lastHookTurnEndAt.set(ev.sessionId, eventAt);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
520
561
|
noted.push(ev.sessionId);
|
|
521
562
|
}
|
|
522
563
|
catch {
|
|
@@ -570,6 +611,7 @@ export class TranscriptWatcher {
|
|
|
570
611
|
ended: 0,
|
|
571
612
|
skippedHookCovered: 0,
|
|
572
613
|
skippedStale: 0,
|
|
614
|
+
endedSessionIds: [],
|
|
573
615
|
entriesExamined: 0,
|
|
574
616
|
durationMs: 0,
|
|
575
617
|
capped: false,
|
|
@@ -595,6 +637,7 @@ export class TranscriptWatcher {
|
|
|
595
637
|
ended: 0,
|
|
596
638
|
skippedHookCovered: 0,
|
|
597
639
|
skippedStale: 0,
|
|
640
|
+
endedSessionIds: [],
|
|
598
641
|
entriesExamined: 0,
|
|
599
642
|
durationMs: 0,
|
|
600
643
|
capped: false,
|
|
@@ -629,8 +672,7 @@ export class TranscriptWatcher {
|
|
|
629
672
|
lastHookEventAt: this.deps.lastHookEventAt,
|
|
630
673
|
readState: this.readState,
|
|
631
674
|
})) {
|
|
632
|
-
|
|
633
|
-
this.tracked.delete(d.path);
|
|
675
|
+
this.tickHookCoveredQuietEnd(d, nowMs, result);
|
|
634
676
|
continue;
|
|
635
677
|
}
|
|
636
678
|
let track = this.tracked.get(d.path);
|
|
@@ -652,6 +694,8 @@ export class TranscriptWatcher {
|
|
|
652
694
|
ended: false,
|
|
653
695
|
pendingTurn: false,
|
|
654
696
|
seq: 0,
|
|
697
|
+
startRetryAttempts: 0,
|
|
698
|
+
nextStartRetryAtMs: 0,
|
|
655
699
|
};
|
|
656
700
|
this.tracked.set(d.path, track);
|
|
657
701
|
const started = await this.emitStart(track, nowMs);
|
|
@@ -661,6 +705,14 @@ export class TranscriptWatcher {
|
|
|
661
705
|
}
|
|
662
706
|
if (track.ended)
|
|
663
707
|
continue;
|
|
708
|
+
if (!track.started) {
|
|
709
|
+
if (nowMs < track.nextStartRetryAtMs)
|
|
710
|
+
continue;
|
|
711
|
+
const started = await this.emitStart(track, nowMs);
|
|
712
|
+
if (started)
|
|
713
|
+
result.started += 1;
|
|
714
|
+
continue;
|
|
715
|
+
}
|
|
664
716
|
if (d.mtimeMs > track.lastMtimeMs) {
|
|
665
717
|
track.lastMtimeMs = d.mtimeMs;
|
|
666
718
|
track.lastChangeAtMs = nowMs;
|
|
@@ -670,16 +722,20 @@ export class TranscriptWatcher {
|
|
|
670
722
|
}
|
|
671
723
|
if (track.pendingTurn &&
|
|
672
724
|
nowMs - track.lastChangeAtMs >= TRANSCRIPT_TURN_QUIET_MS) {
|
|
673
|
-
this.emitKind(track, "turn_end", nowMs)
|
|
674
|
-
|
|
675
|
-
|
|
725
|
+
if (this.emitKind(track, "turn_end", nowMs, transcriptTurnAtMs(track, nowMs))) {
|
|
726
|
+
track.pendingTurn = false;
|
|
727
|
+
result.turns += 1;
|
|
728
|
+
}
|
|
676
729
|
}
|
|
677
730
|
if (track.started &&
|
|
678
731
|
!track.ended &&
|
|
679
732
|
nowMs - track.lastChangeAtMs >= TRANSCRIPT_SESSION_END_MS) {
|
|
680
|
-
this.emitKind(track, "session_end", nowMs)
|
|
681
|
-
|
|
682
|
-
|
|
733
|
+
if (this.emitKind(track, "session_end", nowMs)) {
|
|
734
|
+
track.ended = true;
|
|
735
|
+
track.endedAtMs = nowMs;
|
|
736
|
+
result.ended += 1;
|
|
737
|
+
result.endedSessionIds.push(track.sessionId);
|
|
738
|
+
}
|
|
683
739
|
}
|
|
684
740
|
}
|
|
685
741
|
// Sessions that disappeared from disk: end if still open. Skip when the
|
|
@@ -689,9 +745,12 @@ export class TranscriptWatcher {
|
|
|
689
745
|
if (seenPaths.has(p))
|
|
690
746
|
continue;
|
|
691
747
|
if (track.started && !track.ended) {
|
|
692
|
-
this.emitKind(track, "session_end", nowMs)
|
|
693
|
-
|
|
694
|
-
|
|
748
|
+
if (this.emitKind(track, "session_end", nowMs)) {
|
|
749
|
+
track.ended = true;
|
|
750
|
+
track.endedAtMs = nowMs;
|
|
751
|
+
result.ended += 1;
|
|
752
|
+
result.endedSessionIds.push(track.sessionId);
|
|
753
|
+
}
|
|
695
754
|
}
|
|
696
755
|
this.tracked.delete(p);
|
|
697
756
|
}
|
|
@@ -706,6 +765,81 @@ export class TranscriptWatcher {
|
|
|
706
765
|
this.tickInFlight = false;
|
|
707
766
|
}
|
|
708
767
|
}
|
|
768
|
+
/**
|
|
769
|
+
* Hook-covered sessions already emit start. Still track last activity,
|
|
770
|
+
* fill in turn_end when Stop never did, and enqueue session_end after
|
|
771
|
+
* TRANSCRIPT_SESSION_END_MS of quiet (US-050b / US-051c). Resume (mtime or a
|
|
772
|
+
* later hook event) resets the timer. A hook event shortly after our own
|
|
773
|
+
* emit is the SessionEnd hook catching up — do not treat it as resume.
|
|
774
|
+
*/
|
|
775
|
+
tickHookCoveredQuietEnd(d, nowMs, result) {
|
|
776
|
+
result.skippedHookCovered += 1;
|
|
777
|
+
const hookAt = this.deps.lastHookEventAt?.get(d.sessionId);
|
|
778
|
+
const hookTurnEndAt = this.deps.lastHookTurnEndAt?.get(d.sessionId);
|
|
779
|
+
const lastActivity = Math.max(d.mtimeMs, hookAt ?? 0);
|
|
780
|
+
const hookTurnCovers = (mtimeMs) => hookTurnEndAt !== undefined && hookTurnEndAt >= mtimeMs;
|
|
781
|
+
let track = this.tracked.get(d.path);
|
|
782
|
+
if (!track) {
|
|
783
|
+
// Cold transcripts stay silent. Hook-covered sessions that already sat
|
|
784
|
+
// quiet past TRANSCRIPT_SESSION_END_MS still need one session_end — the
|
|
785
|
+
// live skip path returned here and never tracked them (US-051).
|
|
786
|
+
if (nowMs - lastActivity > TRANSCRIPT_HOOK_QUIET_ADOPT_MS)
|
|
787
|
+
return;
|
|
788
|
+
track = {
|
|
789
|
+
path: d.path,
|
|
790
|
+
sessionId: d.sessionId,
|
|
791
|
+
kind: d.kind,
|
|
792
|
+
cwd: d.cwd,
|
|
793
|
+
harness: d.harness,
|
|
794
|
+
lastMtimeMs: d.mtimeMs,
|
|
795
|
+
lastChangeAtMs: lastActivity,
|
|
796
|
+
started: true,
|
|
797
|
+
ended: false,
|
|
798
|
+
pendingTurn: !hookTurnCovers(d.mtimeMs),
|
|
799
|
+
seq: 0,
|
|
800
|
+
startRetryAttempts: 0,
|
|
801
|
+
nextStartRetryAtMs: 0,
|
|
802
|
+
};
|
|
803
|
+
this.tracked.set(d.path, track);
|
|
804
|
+
}
|
|
805
|
+
if (d.mtimeMs > track.lastMtimeMs) {
|
|
806
|
+
track.lastMtimeMs = d.mtimeMs;
|
|
807
|
+
track.lastChangeAtMs = nowMs;
|
|
808
|
+
track.pendingTurn = !hookTurnCovers(d.mtimeMs);
|
|
809
|
+
if (track.ended)
|
|
810
|
+
track.ended = false;
|
|
811
|
+
}
|
|
812
|
+
if (hookAt !== undefined) {
|
|
813
|
+
const resumeFromHook = !track.ended ||
|
|
814
|
+
track.endedAtMs === undefined ||
|
|
815
|
+
hookAt - track.endedAtMs >= TRANSCRIPT_HOOK_COVER_MS;
|
|
816
|
+
if (resumeFromHook && hookAt > track.lastChangeAtMs) {
|
|
817
|
+
track.lastChangeAtMs = hookAt;
|
|
818
|
+
if (track.ended)
|
|
819
|
+
track.ended = false;
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
if (hookTurnCovers(track.lastMtimeMs)) {
|
|
823
|
+
track.pendingTurn = false;
|
|
824
|
+
}
|
|
825
|
+
if (track.pendingTurn &&
|
|
826
|
+
nowMs - track.lastChangeAtMs >= TRANSCRIPT_TURN_QUIET_MS) {
|
|
827
|
+
if (this.emitKind(track, "turn_end", nowMs, transcriptTurnAtMs(track, nowMs))) {
|
|
828
|
+
track.pendingTurn = false;
|
|
829
|
+
result.turns += 1;
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
if (track.started &&
|
|
833
|
+
!track.ended &&
|
|
834
|
+
nowMs - track.lastChangeAtMs >= TRANSCRIPT_SESSION_END_MS) {
|
|
835
|
+
if (this.emitKind(track, "session_end", nowMs)) {
|
|
836
|
+
track.ended = true;
|
|
837
|
+
track.endedAtMs = nowMs;
|
|
838
|
+
result.ended += 1;
|
|
839
|
+
result.endedSessionIds.push(track.sessionId);
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
}
|
|
709
843
|
/**
|
|
710
844
|
* Heavy ticks double the poll interval up to MAX; a quiet tick resets to base.
|
|
711
845
|
*/
|
|
@@ -737,43 +871,105 @@ export class TranscriptWatcher {
|
|
|
737
871
|
hqRoot: this.deps.hqRoot,
|
|
738
872
|
source: "transcript",
|
|
739
873
|
};
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
874
|
+
try {
|
|
875
|
+
await this.reconcileFn(observation, {
|
|
876
|
+
root: this.deps.workContextRoot,
|
|
877
|
+
env: this.deps.env,
|
|
878
|
+
now: () => new Date(nowMs),
|
|
879
|
+
validateMembership: this.deps.validateMembership,
|
|
880
|
+
deliver: this.deps.deliver,
|
|
881
|
+
offline: !this.deps.deliver,
|
|
882
|
+
});
|
|
883
|
+
}
|
|
884
|
+
catch {
|
|
885
|
+
track.startRetryAttempts += 1;
|
|
886
|
+
const delayMs = Math.min(TRANSCRIPT_START_RETRY_BASE_MS * 2 ** (track.startRetryAttempts - 1), TRANSCRIPT_START_RETRY_MAX_MS);
|
|
887
|
+
track.nextStartRetryAtMs = nowMs + delayMs;
|
|
888
|
+
return false;
|
|
889
|
+
}
|
|
748
890
|
// Re-check: a hook may have raced us during reconcile.
|
|
749
891
|
const after = this.readState(track.sessionId, this.deps.workContextRoot);
|
|
750
892
|
if (isHookWrittenSessionState(after)) {
|
|
751
893
|
track.ended = true;
|
|
752
894
|
return false;
|
|
753
895
|
}
|
|
754
|
-
this.emitKind(track, "session_start", nowMs)
|
|
896
|
+
if (!this.emitKind(track, "session_start", nowMs))
|
|
897
|
+
return false;
|
|
755
898
|
track.started = true;
|
|
899
|
+
track.startRetryAttempts = 0;
|
|
900
|
+
track.nextStartRetryAtMs = 0;
|
|
756
901
|
return true;
|
|
757
902
|
}
|
|
758
|
-
|
|
759
|
-
|
|
903
|
+
/**
|
|
904
|
+
* Seq comes from the shared per-session file hooks also write. Restarting
|
|
905
|
+
* at 1 here is dropped server-side as a duplicate of session_start (US-051c).
|
|
906
|
+
*/
|
|
907
|
+
seqEnv() {
|
|
908
|
+
const env = { ...(this.deps.env ?? {}) };
|
|
909
|
+
if (!env.WORK_MESH_SEQ_DIR?.trim()) {
|
|
910
|
+
const root = this.deps.workMeshRoot ??
|
|
911
|
+
(this.deps.home
|
|
912
|
+
? path.join(this.deps.home, ".hq", "work-mesh")
|
|
913
|
+
: undefined);
|
|
914
|
+
if (root)
|
|
915
|
+
env.WORK_MESH_SEQ_DIR = path.join(root, "seq");
|
|
916
|
+
}
|
|
917
|
+
return env;
|
|
918
|
+
}
|
|
919
|
+
emitKind(track, kind, nowMs,
|
|
920
|
+
/** Event time when it differs from detection time (turn_end). */
|
|
921
|
+
atMs = nowMs) {
|
|
922
|
+
let seq;
|
|
923
|
+
try {
|
|
924
|
+
seq = reserveSessionSeq(track.sessionId, 1, this.seqEnv());
|
|
925
|
+
}
|
|
926
|
+
catch {
|
|
927
|
+
return false;
|
|
928
|
+
}
|
|
929
|
+
track.seq = seq;
|
|
930
|
+
// `at` must not go backwards against seq: a transcript time older than the
|
|
931
|
+
// last event this watcher sent for the session is clamped to that event.
|
|
932
|
+
const eventAtMs = track.lastSentAtMs !== undefined && atMs < track.lastSentAtMs
|
|
933
|
+
? track.lastSentAtMs
|
|
934
|
+
: atMs;
|
|
760
935
|
const opts = {
|
|
761
936
|
kind,
|
|
762
937
|
sessionId: track.sessionId,
|
|
763
938
|
harness: track.harness,
|
|
764
939
|
adapterVersion: TRANSCRIPT_ADAPTER_VERSION,
|
|
765
940
|
source: TRANSCRIPT_EVENT_SOURCE,
|
|
766
|
-
at: new Date(
|
|
767
|
-
seq
|
|
941
|
+
at: new Date(eventAtMs).toISOString(),
|
|
942
|
+
seq,
|
|
768
943
|
cwd: track.cwd,
|
|
769
944
|
hqRoot: this.deps.hqRoot,
|
|
770
945
|
root: this.deps.workMeshRoot,
|
|
771
946
|
env: this.deps.env,
|
|
772
947
|
now: () => new Date(nowMs),
|
|
948
|
+
...(kind === "session_end" ? { transcriptPath: track.path } : {}),
|
|
773
949
|
};
|
|
774
|
-
|
|
950
|
+
try {
|
|
951
|
+
this.enqueueFn(opts);
|
|
952
|
+
track.lastSentAtMs = eventAtMs;
|
|
953
|
+
return true;
|
|
954
|
+
}
|
|
955
|
+
catch {
|
|
956
|
+
return false;
|
|
957
|
+
}
|
|
775
958
|
}
|
|
776
959
|
}
|
|
960
|
+
/**
|
|
961
|
+
* A transcript turn ended when the transcript last changed (file mtime), not
|
|
962
|
+
* when a backed-off or restarted poll noticed it. Never later than now. A
|
|
963
|
+
* catch-up turn_end sent in the same tick as session_end (restart adoption of
|
|
964
|
+
* an already quiet transcript) therefore carries the earlier transcript time,
|
|
965
|
+
* not the session_end time.
|
|
966
|
+
*/
|
|
967
|
+
function transcriptTurnAtMs(track, nowMs) {
|
|
968
|
+
const mtimeMs = track.lastMtimeMs;
|
|
969
|
+
if (!Number.isFinite(mtimeMs) || mtimeMs <= 0)
|
|
970
|
+
return nowMs;
|
|
971
|
+
return Math.min(mtimeMs, nowMs);
|
|
972
|
+
}
|
|
777
973
|
/**
|
|
778
974
|
* Adaptive interval: busy ticks double up to MAX; quiet ticks return to base.
|
|
779
975
|
*/
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Version installed behind the entrypoint that launched this daemon. */
|
|
2
|
+
export declare function readInstalledCliVersion(entry?: string): string | null;
|
|
3
|
+
/** A missing/unreadable installed version is not proof of a safe restart. */
|
|
4
|
+
export declare function hasCliVersionDrift(daemonVersion: string, installedVersion: string | null | undefined): installedVersion is string;
|
|
5
|
+
//# sourceMappingURL=version-drift.d.ts.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read the version of the CLI package currently selected by the daemon's
|
|
3
|
+
* launch entrypoint. The daemon keeps the version it was loaded with in
|
|
4
|
+
* memory; an npm/pnpm upgrade can repoint this entrypoint without restarting
|
|
5
|
+
* that process.
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from "node:fs";
|
|
8
|
+
import * as path from "node:path";
|
|
9
|
+
function packageVersionAtOrAbove(entry) {
|
|
10
|
+
let dir;
|
|
11
|
+
try {
|
|
12
|
+
dir = path.dirname(fs.realpathSync(entry));
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
// A CLI entrypoint is normally <package>/dist/index.js. Keep the walk
|
|
18
|
+
// bounded so a malformed entrypoint never traverses an entire filesystem.
|
|
19
|
+
for (let i = 0; i < 8; i += 1) {
|
|
20
|
+
const pkgPath = path.join(dir, "package.json");
|
|
21
|
+
try {
|
|
22
|
+
const parsed = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
|
23
|
+
if (parsed.name === "@indigoai-us/hq-cli" &&
|
|
24
|
+
typeof parsed.version === "string" &&
|
|
25
|
+
parsed.version.trim()) {
|
|
26
|
+
return parsed.version.trim();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// No package manifest at this level; continue walking upward.
|
|
31
|
+
}
|
|
32
|
+
const parent = path.dirname(dir);
|
|
33
|
+
if (parent === dir)
|
|
34
|
+
break;
|
|
35
|
+
dir = parent;
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
/** Version installed behind the entrypoint that launched this daemon. */
|
|
40
|
+
export function readInstalledCliVersion(entry = process.argv[1]) {
|
|
41
|
+
return entry ? packageVersionAtOrAbove(entry) : null;
|
|
42
|
+
}
|
|
43
|
+
/** A missing/unreadable installed version is not proof of a safe restart. */
|
|
44
|
+
export function hasCliVersionDrift(daemonVersion, installedVersion) {
|
|
45
|
+
return Boolean(installedVersion && installedVersion !== daemonVersion);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=version-drift.js.map
|