@indigoai-us/hq-cli 5.314.0 → 5.315.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4311 -1
- package/README.md +113 -0
- package/assets/bot-workers/setup/context/USER-GUIDE.md +404 -0
- package/assets/bot-workers/setup/context/quick-reference.md +199 -0
- package/assets/bot-workers/setup/skills/agents-and-team.md +167 -0
- package/assets/bot-workers/setup/skills/explain-hq.md +35 -0
- package/assets/bot-workers/setup/skills/first-company.md +74 -0
- package/assets/bot-workers/setup/skills/joining-a-team.md +125 -0
- package/assets/bot-workers/setup/skills/pricing.md +92 -0
- package/assets/bot-workers/setup/skills/standing-help.md +81 -0
- package/assets/bot-workers/setup/skills/your-business.md +281 -0
- package/assets/bot-workers/setup/worker.yaml +791 -0
- package/assets/lanes-hooks/hq-lanes-drain.json +15 -0
- package/assets/lanes-hooks/hq-lanes-drain.mjs +275 -0
- package/assets/lanes-hooks/hq-lanes-drain.sh +21 -0
- package/assets/lanes-reconcile/hq-lanes-reconcile.service +11 -0
- package/assets/lanes-reconcile/hq-lanes-reconcile.timer +12 -0
- package/assets/scaffold/.claude/hooks/validate-policy-frontmatter.sh +485 -0
- package/assets/scaffold/core/scripts/audit-log.sh +384 -0
- package/assets/scaffold/core/scripts/checkpoint-stop-gate.sh +281 -43
- package/assets/scaffold/core/scripts/clean-worktree-reconcile-handoff.sh +171 -0
- package/assets/scaffold/core/scripts/eval-trigger.sh +193 -0
- package/assets/scaffold/core/scripts/git-pack-extension-check.sh +164 -0
- package/assets/scaffold/core/scripts/handoff-finalize.sh +688 -0
- package/assets/scaffold/core/scripts/handoff-open-steps.sh +81 -0
- package/assets/scaffold/core/scripts/handoff-post.sh +252 -0
- package/assets/scaffold/core/scripts/hook-lib.sh +345 -50
- package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +307 -0
- package/assets/scaffold/core/scripts/hq-delegate-grant.sh +252 -0
- package/assets/scaffold/core/scripts/hq-delegate-pickup.sh +99 -0
- package/assets/scaffold/core/scripts/hq-delegate-publish.sh +91 -0
- package/assets/scaffold/core/scripts/hq-delegate-repo.sh +158 -0
- package/assets/scaffold/core/scripts/hq-delegate-resolve.sh +145 -0
- package/assets/scaffold/core/scripts/hq-delegate-secrets.sh +129 -0
- package/assets/scaffold/core/scripts/hq-delegate-send.sh +259 -0
- package/assets/scaffold/core/scripts/hq-delegate-transfer.sh +175 -0
- package/assets/scaffold/core/scripts/hq-delegate-verify.sh +238 -0
- package/assets/scaffold/core/scripts/hq-dm-bind.sh +585 -0
- package/assets/scaffold/core/scripts/hq-job-notify.sh +389 -0
- package/assets/scaffold/core/scripts/hq-job-probe.sh +835 -0
- package/assets/scaffold/core/scripts/hq-job-remediate.sh +359 -0
- package/assets/scaffold/core/scripts/hq-job-run.sh +1025 -0
- package/assets/scaffold/core/scripts/hq-pin.sh +118 -0
- package/assets/scaffold/core/scripts/hq-session.sh +184 -23
- package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +310 -0
- package/assets/scaffold/core/scripts/jobs-validate.sh +451 -0
- package/assets/scaffold/core/scripts/knowledge-prefs.sh +55 -0
- package/assets/scaffold/core/scripts/lib/portable.sh +211 -0
- package/assets/scaffold/core/scripts/lib/secret-patterns.sh +58 -0
- package/assets/scaffold/core/scripts/lib/session-id.sh +3 -2
- package/assets/scaffold/core/scripts/lib/session-scope-capability.sh +1 -1
- package/assets/scaffold/core/scripts/lib/work-mesh-enqueue.sh +2 -1
- package/assets/scaffold/core/scripts/lib/work-mesh-live-hook.sh +378 -0
- package/assets/scaffold/core/scripts/lib/work-mesh-live-rebind.sh +141 -0
- package/assets/scaffold/core/scripts/migrate-policy-triggers.sh +378 -0
- package/assets/scaffold/core/scripts/ontology-audience-grant.sh +81 -0
- package/assets/scaffold/core/scripts/ontology-brief.mjs +93 -0
- package/assets/scaffold/core/scripts/ontology-candidate.sh +100 -0
- package/assets/scaffold/core/scripts/ontology-garden.mjs +238 -0
- package/assets/scaffold/core/scripts/ontology-source-worklist.sh +79 -0
- package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +834 -0
- package/assets/scaffold/core/scripts/policy-age-report.sh +156 -0
- package/assets/scaffold/core/scripts/policy-retire.sh +199 -0
- package/assets/scaffold/core/scripts/qmd-reindex-after-sync.sh +10 -87
- package/assets/scaffold/core/scripts/qmd-reindex-bg.sh +40 -0
- package/assets/scaffold/core/scripts/read-policy-frontmatter.sh +32 -0
- package/assets/scaffold/core/scripts/rebuild-company-knowledge-index.sh +36 -3
- package/assets/scaffold/core/scripts/rebuild-projects-index.sh +99 -12
- package/assets/scaffold/core/scripts/refresh-vault-access.sh +188 -0
- package/assets/scaffold/core/scripts/register-project.sh +262 -0
- package/assets/scaffold/core/scripts/resolve-company.sh +199 -0
- package/assets/scaffold/core/scripts/resume-thread-lock.sh +285 -0
- package/assets/scaffold/core/scripts/source-yaml-validate.sh +36 -0
- package/assets/scaffold/core/scripts/token-usage-report.sh +81 -20
- package/assets/scaffold/core/scripts/verify-story-deliverables.sh +148 -0
- package/assets/scaffold/core/scripts/work-mesh-live-bind-trusted.sh +152 -0
- package/assets/scaffold/core/scripts/work-mesh-live-rebind.sh +59 -0
- package/assets/scaffold/core/scripts/worktree-gc.sh +362 -0
- package/contracts/preflight/v1/fixtures.json +87 -0
- package/contracts/preflight/v1/schema.json +58 -0
- package/dist/bin/hq-auth-refresh.d.ts +2 -0
- package/dist/bin/hq-auth-refresh.js +12 -6
- package/dist/command-catalog.generated.d.ts +10753 -0
- package/dist/command-catalog.generated.js +13859 -0
- package/dist/command-registration-plan.d.ts +474 -0
- package/dist/command-registration-plan.js +136 -0
- package/dist/commands/__fixtures__/access-vault.d.ts +2 -0
- package/dist/commands/__fixtures__/access-vault.js +1 -1
- package/dist/commands/_patterns.d.ts +16 -0
- package/dist/commands/_patterns.js +20 -3
- package/dist/commands/access.d.ts +2 -1
- package/dist/commands/access.js +58 -49
- package/dist/commands/agent-enroll.d.ts +146 -0
- package/dist/commands/agent-enroll.js +401 -0
- package/dist/commands/agent-inbox.d.ts +9 -0
- package/dist/commands/agent-inbox.js +102 -0
- package/dist/commands/agent-kit.d.ts +87 -0
- package/dist/commands/agent-kit.js +480 -0
- package/dist/commands/agent-mcp.d.ts +24 -0
- package/dist/commands/agent-mcp.js +127 -0
- package/dist/commands/agent-probe.d.ts +77 -0
- package/dist/commands/agent-probe.js +335 -0
- package/dist/commands/agent.d.ts +13 -0
- package/dist/commands/agent.js +40 -0
- package/dist/commands/agents.d.ts +106 -4
- package/dist/commands/agents.js +924 -45
- package/dist/commands/auth.d.ts +1 -0
- package/dist/commands/auth.js +189 -19
- package/dist/commands/billing-sponsor.d.ts +83 -0
- package/dist/commands/billing-sponsor.js +344 -0
- package/dist/commands/billing.d.ts +3 -0
- package/dist/commands/billing.js +6 -1
- package/dist/commands/bot-companies.d.ts +40 -0
- package/dist/commands/bot-companies.js +64 -0
- package/dist/commands/bot-continuity.d.ts +28 -0
- package/dist/commands/bot-continuity.js +68 -0
- package/dist/commands/bot-jobs.d.ts +127 -0
- package/dist/commands/bot-jobs.js +454 -0
- package/dist/commands/bot.d.ts +278 -0
- package/dist/commands/bot.js +1982 -0
- package/dist/commands/channels.js +56 -1
- package/dist/commands/cloud-demote.js +3 -2
- package/dist/commands/cloud-provision.d.ts +14 -0
- package/dist/commands/cloud-provision.js +232 -58
- package/dist/commands/cloud-retire.d.ts +51 -0
- package/dist/commands/cloud-retire.js +154 -0
- package/dist/commands/cloud.d.ts +49 -15
- package/dist/commands/cloud.js +357 -122
- package/dist/commands/company-rename-flag.d.ts +4 -0
- package/dist/commands/company-rename-flag.js +7 -0
- package/dist/commands/company-rename.d.ts +4 -0
- package/dist/commands/company-rename.js +90 -0
- package/dist/commands/company-transfer.d.ts +4 -28
- package/dist/commands/company-transfer.js +5 -49
- package/dist/commands/company.js +68 -3
- package/dist/commands/core-audit-log-native.d.ts +9 -0
- package/dist/commands/core-audit-log-native.js +257 -0
- package/dist/commands/core-checkpoint-gate-setting.d.ts +59 -0
- package/dist/commands/core-checkpoint-gate-setting.js +163 -0
- package/dist/commands/core-checkpoint-stop-gate-native.d.ts +34 -0
- package/dist/commands/core-checkpoint-stop-gate-native.js +725 -0
- package/dist/commands/core-checkpoint.d.ts +19 -9
- package/dist/commands/core-checkpoint.js +301 -37
- package/dist/commands/core-command-catalog.d.ts +34 -0
- package/dist/commands/core-command-catalog.js +62 -0
- package/dist/commands/core-company-index-scope-flag.d.ts +3 -0
- package/dist/commands/core-company-index-scope-flag.js +6 -0
- package/dist/commands/core-delegate-w1b.d.ts +10 -0
- package/dist/commands/core-delegate-w1b.js +1219 -0
- package/dist/commands/core-delegate.d.ts +46 -0
- package/dist/commands/core-delegate.js +1040 -0
- package/dist/commands/core-dm-bind-native.d.ts +32 -0
- package/dist/commands/core-dm-bind-native.js +668 -0
- package/dist/commands/core-eval-trigger-native.d.ts +4 -0
- package/dist/commands/core-eval-trigger-native.js +12 -0
- package/dist/commands/core-git-pack-extension-check-native.d.ts +22 -0
- package/dist/commands/core-git-pack-extension-check-native.js +190 -0
- package/dist/commands/core-handoff-fast.d.ts +18 -0
- package/dist/commands/core-handoff-fast.js +104 -0
- package/dist/commands/core-handoff-open-steps.d.ts +21 -0
- package/dist/commands/core-handoff-open-steps.js +264 -0
- package/dist/commands/core-handoff.d.ts +24 -0
- package/dist/commands/core-handoff.js +1144 -0
- package/dist/commands/core-hq-session-native.d.ts +39 -0
- package/dist/commands/core-hq-session-native.js +579 -0
- package/dist/commands/core-job-native-utils.d.ts +6 -0
- package/dist/commands/core-job-native-utils.js +80 -0
- package/dist/commands/core-job-native.d.ts +5 -0
- package/dist/commands/core-job-native.js +16 -0
- package/dist/commands/core-job-notify-native.d.ts +36 -0
- package/dist/commands/core-job-notify-native.js +359 -0
- package/dist/commands/core-job-probe-native.d.ts +45 -0
- package/dist/commands/core-job-probe-native.js +564 -0
- package/dist/commands/core-job-remediate-native.d.ts +26 -0
- package/dist/commands/core-job-remediate-native.js +374 -0
- package/dist/commands/core-job-remote-launcher.d.ts +7 -0
- package/dist/commands/core-job-remote-launcher.js +51 -0
- package/dist/commands/core-job-run-native.d.ts +47 -0
- package/dist/commands/core-job-run-native.js +1215 -0
- package/dist/commands/core-jobs-native.d.ts +25 -0
- package/dist/commands/core-jobs-native.js +1339 -0
- package/dist/commands/core-knowledge-prefs.d.ts +11 -0
- package/dist/commands/core-knowledge-prefs.js +137 -0
- package/dist/commands/core-migrate-policy-triggers-native.d.ts +21 -0
- package/dist/commands/core-migrate-policy-triggers-native.js +374 -0
- package/dist/commands/core-native-handoff-flag.d.ts +4 -0
- package/dist/commands/core-native-handoff-flag.js +7 -0
- package/dist/commands/core-native-hook-helper-commands.d.ts +4 -0
- package/dist/commands/core-native-hook-helper-commands.js +56 -0
- package/dist/commands/core-native-hook-helpers-flag.d.ts +4 -0
- package/dist/commands/core-native-hook-helpers-flag.js +7 -0
- package/dist/commands/core-native-jobs-flag.d.ts +4 -0
- package/dist/commands/core-native-jobs-flag.js +7 -0
- package/dist/commands/core-native-policy-flag.d.ts +9 -0
- package/dist/commands/core-native-policy-flag.js +12 -0
- package/dist/commands/core-native-session-flag.d.ts +4 -0
- package/dist/commands/core-native-session-flag.js +7 -0
- package/dist/commands/core-native-utilities-flag.d.ts +4 -0
- package/dist/commands/core-native-utilities-flag.js +7 -0
- package/dist/commands/core-native-utilities.d.ts +29 -0
- package/dist/commands/core-native-utilities.js +54 -0
- package/dist/commands/core-native-worker-skills-flag.d.ts +4 -0
- package/dist/commands/core-native-worker-skills-flag.js +7 -0
- package/dist/commands/core-ontology-native.d.ts +17 -0
- package/dist/commands/core-ontology-native.js +916 -0
- package/dist/commands/core-ontology.d.ts +66 -0
- package/dist/commands/core-ontology.js +430 -0
- package/dist/commands/core-pin-native.d.ts +14 -0
- package/dist/commands/core-pin-native.js +236 -0
- package/dist/commands/core-policy-frontmatter.d.ts +8 -0
- package/dist/commands/core-policy-frontmatter.js +52 -0
- package/dist/commands/core-policy.d.ts +14 -0
- package/dist/commands/core-policy.js +1018 -0
- package/dist/commands/core-refresh-vault-access-native.d.ts +20 -0
- package/dist/commands/core-refresh-vault-access-native.js +229 -0
- package/dist/commands/core-register-project-native.d.ts +30 -0
- package/dist/commands/core-register-project-native.js +347 -0
- package/dist/commands/core-resolve-company-command.d.ts +4 -0
- package/dist/commands/core-resolve-company-command.js +42 -0
- package/dist/commands/core-resolve-company-native.d.ts +28 -0
- package/dist/commands/core-resolve-company-native.js +408 -0
- package/dist/commands/core-work-mesh-bind-trusted-native.d.ts +32 -0
- package/dist/commands/core-work-mesh-bind-trusted-native.js +190 -0
- package/dist/commands/core-work-mesh-live-rebind-native.d.ts +18 -0
- package/dist/commands/core-work-mesh-live-rebind-native.js +262 -0
- package/dist/commands/core-worker-lint-native.d.ts +4 -0
- package/dist/commands/core-worker-lint-native.js +160 -0
- package/dist/commands/core-worker-share-native.d.ts +4 -0
- package/dist/commands/core-worker-share-native.js +260 -0
- package/dist/commands/core-worker-skills-command.d.ts +8 -0
- package/dist/commands/core-worker-skills-command.js +33 -0
- package/dist/commands/core-worker-skills-runtime.d.ts +33 -0
- package/dist/commands/core-worker-skills-runtime.js +86 -0
- package/dist/commands/core.d.ts +4 -0
- package/dist/commands/core.js +277 -80
- package/dist/commands/crm.js +52 -3
- package/dist/commands/daemon.d.ts +63 -0
- package/dist/commands/daemon.js +877 -0
- package/dist/commands/db-provision.js +4 -4
- package/dist/commands/db-sql.js +7 -21
- package/dist/commands/deploy-comments.d.ts +3 -0
- package/dist/commands/deploy-comments.js +162 -0
- package/dist/commands/dm.d.ts +119 -12
- package/dist/commands/dm.js +388 -38
- package/dist/commands/doctor.d.ts +12 -0
- package/dist/commands/doctor.js +158 -12
- package/dist/commands/feedback.d.ts +6 -0
- package/dist/commands/feedback.js +86 -37
- package/dist/commands/files-browse.d.ts +32 -12
- package/dist/commands/files-browse.js +176 -60
- package/dist/commands/files.d.ts +17 -0
- package/dist/commands/files.js +300 -47
- package/dist/commands/group-grants.js +3 -2
- package/dist/commands/groups.js +6 -5
- package/dist/commands/index-cmd.d.ts +19 -1
- package/dist/commands/index-cmd.js +74 -7
- package/dist/commands/integrations-api.d.ts +15 -10
- package/dist/commands/integrations-api.js +27 -22
- package/dist/commands/integrations-connect.d.ts +51 -13
- package/dist/commands/integrations-connect.js +86 -71
- package/dist/commands/integrations-core.d.ts +6 -6
- package/dist/commands/integrations-core.js +25 -11
- package/dist/commands/integrations-import.d.ts +1 -1
- package/dist/commands/integrations-import.js +43 -24
- package/dist/commands/integrations-manage.js +20 -13
- package/dist/commands/integrations.d.ts +8 -0
- package/dist/commands/integrations.js +94 -7
- package/dist/commands/lanes-accounts.d.ts +28 -0
- package/dist/commands/lanes-accounts.js +595 -0
- package/dist/commands/lanes-autopilot.d.ts +11 -0
- package/dist/commands/lanes-autopilot.js +336 -0
- package/dist/commands/lanes-checks.d.ts +51 -0
- package/dist/commands/lanes-checks.js +941 -0
- package/dist/commands/lanes-hold.d.ts +43 -0
- package/dist/commands/lanes-hold.js +655 -0
- package/dist/commands/lanes-keep-alive-audit.d.ts +10 -0
- package/dist/commands/lanes-keep-alive-audit.js +19 -0
- package/dist/commands/lanes-kpis.d.ts +11 -0
- package/dist/commands/lanes-kpis.js +34 -0
- package/dist/commands/lanes-message.d.ts +9 -0
- package/dist/commands/lanes-message.js +946 -0
- package/dist/commands/lanes-move.d.ts +12 -0
- package/dist/commands/lanes-move.js +397 -0
- package/dist/commands/lanes-questions.d.ts +36 -0
- package/dist/commands/lanes-questions.js +1005 -0
- package/dist/commands/lanes-report.d.ts +11 -0
- package/dist/commands/lanes-report.js +333 -0
- package/dist/commands/lanes-resume.d.ts +6 -0
- package/dist/commands/lanes-resume.js +564 -0
- package/dist/commands/lanes-review.d.ts +10 -0
- package/dist/commands/lanes-review.js +56 -0
- package/dist/commands/lanes-shared.d.ts +449 -0
- package/dist/commands/lanes-shared.js +170 -0
- package/dist/commands/lanes-stories.d.ts +15 -0
- package/dist/commands/lanes-stories.js +347 -0
- package/dist/commands/lanes-watch.d.ts +7 -0
- package/dist/commands/lanes-watch.js +216 -0
- package/dist/commands/lanes.d.ts +149 -0
- package/dist/commands/lanes.js +8983 -0
- package/dist/commands/login.js +49 -6
- package/dist/commands/mcp-registration.d.ts +32 -25
- package/dist/commands/mcp-registration.js +256 -23
- package/dist/commands/mcp-status.js +1 -0
- package/dist/commands/meetings.js +55 -34
- package/dist/commands/members.js +5 -1
- package/dist/commands/mesh.d.ts +11 -0
- package/dist/commands/mesh.js +1086 -76
- package/dist/commands/monitor.d.ts +58 -0
- package/dist/commands/monitor.js +980 -0
- package/dist/commands/onboard-bot-membership.d.ts +32 -0
- package/dist/commands/onboard-bot-membership.js +40 -0
- package/dist/commands/onboard-create-identity.d.ts +26 -0
- package/dist/commands/onboard-create-identity.js +23 -0
- package/dist/commands/onboard-identity-guard.d.ts +1 -1
- package/dist/commands/onboard.js +24 -5
- package/dist/commands/outpost-pruner.d.ts +3 -0
- package/dist/commands/outpost-pruner.js +125 -0
- package/dist/commands/pack-install.js +3 -1
- package/dist/commands/packs.js +11 -1
- package/dist/commands/people.d.ts +4 -0
- package/dist/commands/people.js +37 -3
- package/dist/commands/personal-connector-settings-flag.d.ts +4 -0
- package/dist/commands/personal-connector-settings-flag.js +7 -0
- package/dist/commands/personal-targeted-push-flag.d.ts +4 -0
- package/dist/commands/personal-targeted-push-flag.js +7 -0
- package/dist/commands/personal-targeted-push-paths.d.ts +3 -0
- package/dist/commands/personal-targeted-push-paths.js +67 -0
- package/dist/commands/publish.d.ts +8 -1
- package/dist/commands/publish.js +17 -4
- package/dist/commands/reindex.js +56 -6
- package/dist/commands/report.d.ts +19 -0
- package/dist/commands/report.js +537 -0
- package/dist/commands/rescue.d.ts +4 -0
- package/dist/commands/rescue.js +27 -17
- package/dist/commands/run-feature-telemetry.d.ts +3 -0
- package/dist/commands/run-feature-telemetry.js +6 -0
- package/dist/commands/run.js +18 -4
- package/dist/commands/safe-extract.d.ts +11 -2
- package/dist/commands/safe-extract.js +36 -8
- package/dist/commands/secrets.d.ts +20 -2
- package/dist/commands/secrets.js +175 -71
- package/dist/commands/skill.d.ts +35 -4
- package/dist/commands/skill.js +357 -18
- package/dist/commands/staff/reset-test-account.d.ts +110 -0
- package/dist/commands/staff/reset-test-account.js +268 -0
- package/dist/commands/staff/test-account.d.ts +51 -0
- package/dist/commands/staff/test-account.js +196 -0
- package/dist/commands/sync-mode.d.ts +11 -0
- package/dist/commands/sync-mode.js +30 -0
- package/dist/commands/sync-narrow.js +36 -5
- package/dist/commands/team-sync.js +71 -10
- package/dist/commands/update.js +6 -0
- package/dist/commands/vault-retention-flag.d.ts +3 -0
- package/dist/commands/vault-retention-flag.js +9 -0
- package/dist/commands/vault-retention.d.ts +11 -0
- package/dist/commands/vault-retention.js +69 -0
- package/dist/commands/version.d.ts +10 -0
- package/dist/commands/version.js +11 -0
- package/dist/commands/whoami.d.ts +22 -0
- package/dist/commands/whoami.js +137 -4
- package/dist/commands/workers.d.ts +2 -14
- package/dist/commands/workers.js +7 -10
- package/dist/fast-core.d.ts +6 -7
- package/dist/fast-core.js +87 -24
- package/dist/fast-scaffold.d.ts +86 -0
- package/dist/fast-scaffold.js +364 -0
- package/dist/index.d.ts +3 -4
- package/dist/index.js +59 -9
- package/dist/lanes-drain-hook.d.ts +14 -0
- package/dist/lanes-drain-hook.js +203 -0
- package/dist/lazy-commands.d.ts +20 -44
- package/dist/lazy-commands.js +60 -58
- package/dist/lib/agent-kit/adopt-identity.d.ts +27 -0
- package/dist/lib/agent-kit/adopt-identity.js +60 -0
- package/dist/lib/agent-kit/attachment-download.d.ts +24 -0
- package/dist/lib/agent-kit/attachment-download.js +47 -0
- package/dist/lib/agent-kit/creds.d.ts +106 -0
- package/dist/lib/agent-kit/creds.js +163 -0
- package/dist/lib/agent-kit/fallback.d.ts +78 -0
- package/dist/lib/agent-kit/fallback.js +210 -0
- package/dist/lib/agent-kit/inbox-state.d.ts +83 -0
- package/dist/lib/agent-kit/inbox-state.js +159 -0
- package/dist/lib/agent-kit/kit-config.d.ts +56 -0
- package/dist/lib/agent-kit/kit-config.js +65 -0
- package/dist/lib/agent-kit/log.d.ts +16 -0
- package/dist/lib/agent-kit/log.js +46 -0
- package/dist/lib/agent-kit/mcp/attachments.d.ts +126 -0
- package/dist/lib/agent-kit/mcp/attachments.js +222 -0
- package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +75 -0
- package/dist/lib/agent-kit/mcp/jsonrpc.js +164 -0
- package/dist/lib/agent-kit/mcp/tools.d.ts +64 -0
- package/dist/lib/agent-kit/mcp/tools.js +397 -0
- package/dist/lib/agent-kit/paths.d.ts +65 -0
- package/dist/lib/agent-kit/paths.js +118 -0
- package/dist/lib/agent-kit/private-file.d.ts +29 -0
- package/dist/lib/agent-kit/private-file.js +91 -0
- package/dist/lib/agent-kit/run/heartbeat.d.ts +72 -0
- package/dist/lib/agent-kit/run/heartbeat.js +128 -0
- package/dist/lib/agent-kit/run/inbox.d.ts +76 -0
- package/dist/lib/agent-kit/run/inbox.js +205 -0
- package/dist/lib/agent-kit/run/supervisor.d.ts +35 -0
- package/dist/lib/agent-kit/run/supervisor.js +85 -0
- package/dist/lib/agent-kit/run/sync.d.ts +33 -0
- package/dist/lib/agent-kit/run/sync.js +58 -0
- package/dist/lib/agent-kit/services.d.ts +31 -0
- package/dist/lib/agent-kit/services.js +55 -0
- package/dist/lib/agent-kit/skills.d.ts +18 -0
- package/dist/lib/agent-kit/skills.js +151 -0
- package/dist/lib/agent-kit/wake.d.ts +83 -0
- package/dist/lib/agent-kit/wake.js +243 -0
- package/dist/lib/agents/model-catalog.d.ts +62 -0
- package/dist/lib/agents/model-catalog.js +275 -0
- package/dist/lib/auth-login-provider-state.d.ts +8 -0
- package/dist/lib/auth-login-provider-state.js +63 -0
- package/dist/lib/aws-sdk-node-warning-output.d.ts +12 -0
- package/dist/lib/aws-sdk-node-warning-output.js +22 -0
- package/dist/lib/billing/free-month.d.ts +18 -0
- package/dist/lib/billing/free-month.js +31 -0
- package/dist/lib/billing/plan-limit-refusals.d.ts +69 -0
- package/dist/lib/billing/plan-limit-refusals.js +187 -0
- package/dist/lib/billing/plan-limit-upgrade-url.d.ts +11 -0
- package/dist/lib/billing/plan-limit-upgrade-url.js +66 -0
- package/dist/lib/billing/plan-lock.d.ts +143 -0
- package/dist/lib/billing/plan-lock.js +439 -0
- package/dist/lib/bot/api.d.ts +349 -0
- package/dist/lib/bot/api.js +316 -0
- package/dist/lib/bot/attachments.d.ts +45 -0
- package/dist/lib/bot/attachments.js +89 -0
- package/dist/lib/bot/cli-update.d.ts +138 -0
- package/dist/lib/bot/cli-update.js +278 -0
- package/dist/lib/bot/company-bind.d.ts +27 -0
- package/dist/lib/bot/company-bind.js +62 -0
- package/dist/lib/bot/config.d.ts +153 -0
- package/dist/lib/bot/config.js +233 -0
- package/dist/lib/bot/continuity-download.d.ts +28 -0
- package/dist/lib/bot/continuity-download.js +75 -0
- package/dist/lib/bot/continuity-install.d.ts +14 -0
- package/dist/lib/bot/continuity-install.js +101 -0
- package/dist/lib/bot/continuity.d.ts +67 -0
- package/dist/lib/bot/continuity.js +301 -0
- package/dist/lib/bot/creds.d.ts +24 -0
- package/dist/lib/bot/creds.js +51 -0
- package/dist/lib/bot/daemon.d.ts +173 -0
- package/dist/lib/bot/daemon.js +552 -0
- package/dist/lib/bot/inbox-poll-backoff-flag.d.ts +24 -0
- package/dist/lib/bot/inbox-poll-backoff-flag.js +135 -0
- package/dist/lib/bot/inbox-state.d.ts +18 -0
- package/dist/lib/bot/inbox-state.js +51 -0
- package/dist/lib/bot/index.d.ts +23 -0
- package/dist/lib/bot/index.js +23 -0
- package/dist/lib/bot/inflight.d.ts +119 -0
- package/dist/lib/bot/inflight.js +83 -0
- package/dist/lib/bot/job-completions.d.ts +89 -0
- package/dist/lib/bot/job-completions.js +132 -0
- package/dist/lib/bot/job-run.d.ts +109 -0
- package/dist/lib/bot/job-run.js +246 -0
- package/dist/lib/bot/local-config.d.ts +61 -0
- package/dist/lib/bot/local-config.js +145 -0
- package/dist/lib/bot/local-jobs.d.ts +89 -0
- package/dist/lib/bot/local-jobs.js +459 -0
- package/dist/lib/bot/local-name.d.ts +54 -0
- package/dist/lib/bot/local-name.js +114 -0
- package/dist/lib/bot/log.d.ts +13 -0
- package/dist/lib/bot/log.js +59 -0
- package/dist/lib/bot/owner-context.d.ts +79 -0
- package/dist/lib/bot/owner-context.js +175 -0
- package/dist/lib/bot/paths.d.ts +76 -0
- package/dist/lib/bot/paths.js +131 -0
- package/dist/lib/bot/progress.d.ts +132 -0
- package/dist/lib/bot/progress.js +289 -0
- package/dist/lib/bot/promote.d.ts +16 -0
- package/dist/lib/bot/promote.js +106 -0
- package/dist/lib/bot/promotion-hold.d.ts +24 -0
- package/dist/lib/bot/promotion-hold.js +103 -0
- package/dist/lib/bot/promotion-receipt.d.ts +9 -0
- package/dist/lib/bot/promotion-receipt.js +56 -0
- package/dist/lib/bot/promotion-upload.d.ts +16 -0
- package/dist/lib/bot/promotion-upload.js +80 -0
- package/dist/lib/bot/prompt.d.ts +136 -0
- package/dist/lib/bot/prompt.js +433 -0
- package/dist/lib/bot/room-policy.d.ts +63 -0
- package/dist/lib/bot/room-policy.js +91 -0
- package/dist/lib/bot/run.d.ts +217 -0
- package/dist/lib/bot/run.js +1869 -0
- package/dist/lib/bot/runnable.d.ts +51 -0
- package/dist/lib/bot/runnable.js +65 -0
- package/dist/lib/bot/runtime/claude.d.ts +50 -0
- package/dist/lib/bot/runtime/claude.js +170 -0
- package/dist/lib/bot/runtime/codex.d.ts +28 -0
- package/dist/lib/bot/runtime/codex.js +153 -0
- package/dist/lib/bot/runtime/grok-acp.d.ts +40 -0
- package/dist/lib/bot/runtime/grok-acp.js +265 -0
- package/dist/lib/bot/runtime/grok.d.ts +41 -0
- package/dist/lib/bot/runtime/grok.js +169 -0
- package/dist/lib/bot/runtime/index.d.ts +36 -0
- package/dist/lib/bot/runtime/index.js +417 -0
- package/dist/lib/bot/runtime/messages-stream.d.ts +56 -0
- package/dist/lib/bot/runtime/messages-stream.js +194 -0
- package/dist/lib/bot/runtime/sanitize.d.ts +18 -0
- package/dist/lib/bot/runtime/sanitize.js +28 -0
- package/dist/lib/bot/runtime/types.d.ts +159 -0
- package/dist/lib/bot/runtime/types.js +51 -0
- package/dist/lib/bot/runtime/windows.d.ts +10 -0
- package/dist/lib/bot/runtime/windows.js +53 -0
- package/dist/lib/bot/runtime-sign-in.d.ts +24 -0
- package/dist/lib/bot/runtime-sign-in.js +31 -0
- package/dist/lib/bot/scaffold.d.ts +38 -0
- package/dist/lib/bot/scaffold.js +94 -0
- package/dist/lib/bot/self-heal.d.ts +52 -0
- package/dist/lib/bot/self-heal.js +79 -0
- package/dist/lib/bot/self-process.d.ts +19 -0
- package/dist/lib/bot/self-process.js +35 -0
- package/dist/lib/bot/session.d.ts +19 -0
- package/dist/lib/bot/session.js +39 -0
- package/dist/lib/bot/setup-explain.d.ts +64 -0
- package/dist/lib/bot/setup-explain.js +141 -0
- package/dist/lib/bot/split.d.ts +32 -0
- package/dist/lib/bot/split.js +241 -0
- package/dist/lib/bot/status.d.ts +57 -0
- package/dist/lib/bot/status.js +66 -0
- package/dist/lib/bot/worker-source.d.ts +66 -0
- package/dist/lib/bot/worker-source.js +283 -0
- package/dist/lib/checkpoint-ontology/aliases.d.ts +17 -0
- package/dist/lib/checkpoint-ontology/aliases.js +44 -0
- package/dist/lib/checkpoint-ontology/apply.d.ts +110 -0
- package/dist/lib/checkpoint-ontology/apply.js +777 -0
- package/dist/lib/checkpoint-ontology/company-brief.d.ts +18 -0
- package/dist/lib/checkpoint-ontology/company-brief.js +337 -0
- package/dist/lib/checkpoint-ontology/company.d.ts +44 -0
- package/dist/lib/checkpoint-ontology/company.js +118 -0
- package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +41 -0
- package/dist/lib/checkpoint-ontology/drop-aliases.js +76 -0
- package/dist/lib/checkpoint-ontology/entity-file.d.ts +109 -0
- package/dist/lib/checkpoint-ontology/entity-file.js +371 -0
- package/dist/lib/checkpoint-ontology/identity.d.ts +38 -0
- package/dist/lib/checkpoint-ontology/identity.js +95 -0
- package/dist/lib/checkpoint-ontology/merge-copies.d.ts +199 -0
- package/dist/lib/checkpoint-ontology/merge-copies.js +1086 -0
- package/dist/lib/checkpoint-ontology/multi-writer.d.ts +101 -0
- package/dist/lib/checkpoint-ontology/multi-writer.js +394 -0
- package/dist/lib/checkpoint-ontology/plan.d.ts +193 -0
- package/dist/lib/checkpoint-ontology/plan.js +504 -0
- package/dist/lib/checkpoint-ontology/queued-touches.d.ts +29 -0
- package/dist/lib/checkpoint-ontology/queued-touches.js +193 -0
- package/dist/lib/checkpoint-ontology/sync-client.d.ts +38 -0
- package/dist/lib/checkpoint-ontology/sync-client.js +84 -0
- package/dist/lib/checkpoint-ontology/tree.d.ts +55 -0
- package/dist/lib/checkpoint-ontology/tree.js +198 -0
- package/dist/lib/company-errors-sdk-warning-flag.d.ts +5 -0
- package/dist/lib/company-errors-sdk-warning-flag.js +8 -0
- package/dist/lib/company-skill-wrapper.d.ts +1 -0
- package/dist/lib/company-skill-wrapper.js +121 -29
- package/dist/lib/core-utils/codex-skill-bridge.d.ts +2 -1
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.d.ts +20 -0
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.js +81 -0
- package/dist/lib/core-utils/jq-json-serializer.d.ts +5 -0
- package/dist/lib/core-utils/jq-json-serializer.js +10 -0
- package/dist/lib/core-utils/qmd-reindex-after-sync.d.ts +14 -1
- package/dist/lib/core-utils/qmd-reindex-after-sync.js +101 -17
- package/dist/lib/core-utils/secret-patterns.d.ts +43 -0
- package/dist/lib/core-utils/secret-patterns.js +34 -0
- package/dist/lib/core-utils/sentry-report.d.ts +114 -0
- package/dist/lib/core-utils/sentry-report.js +1055 -0
- package/dist/lib/core-utils/soft-timeout.js +1 -1
- package/dist/lib/core-utils/timeout-guard-native.d.ts +7 -0
- package/dist/lib/core-utils/timeout-guard-native.js +40 -0
- package/dist/lib/core-utils/timeout-guard.d.ts +3 -3
- package/dist/lib/core-utils/timeout-guard.js +28 -13
- package/dist/lib/core-utils/token-usage-report.js +17 -3
- package/dist/lib/core-utils/worktree-resume.d.ts +20 -0
- package/dist/lib/core-utils/worktree-resume.js +1198 -0
- package/dist/lib/daemon/catalog.d.ts +134 -0
- package/dist/lib/daemon/catalog.js +358 -0
- package/dist/lib/daemon/config.d.ts +35 -0
- package/dist/lib/daemon/config.js +108 -0
- package/dist/lib/daemon/flag.d.ts +25 -0
- package/dist/lib/daemon/flag.js +59 -0
- package/dist/lib/daemon/handoff.d.ts +56 -0
- package/dist/lib/daemon/handoff.js +161 -0
- package/dist/lib/daemon/hq-cloud.d.ts +79 -0
- package/dist/lib/daemon/hq-cloud.js +183 -0
- package/dist/lib/daemon/install.d.ts +85 -0
- package/dist/lib/daemon/install.js +320 -0
- package/dist/lib/daemon/legacy-sync-env.d.ts +10 -0
- package/dist/lib/daemon/legacy-sync-env.js +58 -0
- package/dist/lib/daemon/legacy.d.ts +45 -0
- package/dist/lib/daemon/legacy.js +133 -0
- package/dist/lib/daemon/lock.d.ts +47 -0
- package/dist/lib/daemon/lock.js +138 -0
- package/dist/lib/daemon/machine-type.d.ts +50 -0
- package/dist/lib/daemon/machine-type.js +159 -0
- package/dist/lib/daemon/migrate.d.ts +77 -0
- package/dist/lib/daemon/migrate.js +265 -0
- package/dist/lib/daemon/paths.d.ts +24 -0
- package/dist/lib/daemon/paths.js +43 -0
- package/dist/lib/daemon/protocol-tail.d.ts +33 -0
- package/dist/lib/daemon/protocol-tail.js +131 -0
- package/dist/lib/daemon/remote-control.d.ts +74 -0
- package/dist/lib/daemon/remote-control.js +153 -0
- package/dist/lib/daemon/requests.d.ts +28 -0
- package/dist/lib/daemon/requests.js +65 -0
- package/dist/lib/daemon/run.d.ts +79 -0
- package/dist/lib/daemon/run.js +755 -0
- package/dist/lib/daemon/succession.d.ts +118 -0
- package/dist/lib/daemon/succession.js +263 -0
- package/dist/lib/daemon/supervisor.d.ts +132 -0
- package/dist/lib/daemon/supervisor.js +836 -0
- package/dist/lib/daemon/sync-runner.d.ts +58 -0
- package/dist/lib/daemon/sync-runner.js +277 -0
- package/dist/lib/daemon/tools.d.ts +52 -0
- package/dist/lib/daemon/tools.js +95 -0
- package/dist/lib/daemon/updater.d.ts +57 -0
- package/dist/lib/daemon/updater.js +163 -0
- package/dist/lib/db/control-plane.js +6 -0
- package/dist/lib/db/local.d.ts +0 -5
- package/dist/lib/db/local.js +1 -1
- package/dist/lib/db/migrate.d.ts +0 -12
- package/dist/lib/db/migrate.js +5 -5
- package/dist/lib/db/remote-sql.d.ts +2 -2
- package/dist/lib/db/remote-sql.js +3 -3
- package/dist/lib/db/sql.d.ts +0 -10
- package/dist/lib/db/sql.js +4 -8
- package/dist/lib/deploy-api.d.ts +5 -0
- package/dist/lib/deploy-api.js +21 -0
- package/dist/lib/deploy-apps.d.ts +13 -0
- package/dist/lib/deploy-apps.js +29 -0
- package/dist/lib/doctor/__testing__/fake-hq-tree.d.ts +1 -1
- package/dist/lib/doctor/__testing__/fake-hq-tree.js +1 -1
- package/dist/lib/doctor/__testing__/run-doctor.d.ts +8 -0
- package/dist/lib/doctor/__testing__/run-doctor.js +52 -0
- package/dist/lib/doctor/checks/bots.d.ts +13 -0
- package/dist/lib/doctor/checks/bots.js +189 -0
- package/dist/lib/doctor/checks/claude-wiring.js +70 -1
- package/dist/lib/doctor/checks/codex-wiring.d.ts +0 -4
- package/dist/lib/doctor/checks/codex-wiring.js +3 -35
- package/dist/lib/doctor/checks/grok-wiring.js +1 -34
- package/dist/lib/doctor/checks/integrations.js +11 -0
- package/dist/lib/doctor/checks/runtime-health.d.ts +4 -17
- package/dist/lib/doctor/checks/runtime-health.js +20 -7
- package/dist/lib/doctor/checks/scaffold-cli-floor.d.ts +6 -0
- package/dist/lib/doctor/checks/scaffold-cli-floor.js +73 -0
- package/dist/lib/doctor/checks/sync-health.d.ts +21 -0
- package/dist/lib/doctor/checks/sync-health.js +72 -2
- package/dist/lib/doctor/checks/sync-runtime.d.ts +11 -0
- package/dist/lib/doctor/checks/sync-runtime.js +216 -0
- package/dist/lib/doctor/checks/work-context.js +20 -6
- package/dist/lib/doctor/client-health-flag-token.d.ts +15 -0
- package/dist/lib/doctor/client-health-flag-token.js +66 -0
- package/dist/lib/doctor/client-health-reason-codes-flag.d.ts +27 -0
- package/dist/lib/doctor/client-health-reason-codes-flag.js +106 -0
- package/dist/lib/doctor/compat.d.ts +0 -16
- package/dist/lib/doctor/compat.js +4 -3
- package/dist/lib/doctor/deep/effects.js +1 -3
- package/dist/lib/doctor/deep/executor.d.ts +4 -10
- package/dist/lib/doctor/deep/executor.js +1 -1
- package/dist/lib/doctor/deep/parity.d.ts +2 -29
- package/dist/lib/doctor/deep/parity.js +7 -7
- package/dist/lib/doctor/deep/sandbox.d.ts +7 -25
- package/dist/lib/doctor/deep/sandbox.js +5 -7
- package/dist/lib/doctor/fix/apply.d.ts +79 -8
- package/dist/lib/doctor/fix/apply.js +292 -80
- package/dist/lib/doctor/fix/json-output.d.ts +28 -0
- package/dist/lib/doctor/fix/json-output.js +33 -0
- package/dist/lib/doctor/fix/refresh-sync-outcome.d.ts +12 -0
- package/dist/lib/doctor/fix/refresh-sync-outcome.js +25 -0
- package/dist/lib/doctor/fix/remediation.d.ts +14 -6
- package/dist/lib/doctor/fix/remediation.js +49 -9
- package/dist/lib/doctor/fixtures/schema.js +1 -3
- package/dist/lib/doctor/json-output.d.ts +17 -1
- package/dist/lib/doctor/json-output.js +7 -2
- package/dist/lib/doctor/platform.d.ts +0 -26
- package/dist/lib/doctor/platform.js +5 -5
- package/dist/lib/doctor/registry.d.ts +14 -0
- package/dist/lib/doctor/registry.js +71 -0
- package/dist/lib/doctor/report.js +1 -1
- package/dist/lib/doctor/shared.d.ts +8 -0
- package/dist/lib/doctor/shared.js +38 -0
- package/dist/lib/doctor/stray-gate-entries.d.ts +35 -0
- package/dist/lib/doctor/stray-gate-entries.js +83 -0
- package/dist/lib/doctor/types.d.ts +5 -0
- package/dist/lib/doctor/types.js +20 -0
- package/dist/lib/first-sync-next-step.d.ts +34 -0
- package/dist/lib/first-sync-next-step.js +179 -0
- package/dist/lib/flag-registry-endpoint.d.ts +5 -0
- package/dist/lib/flag-registry-endpoint.js +9 -0
- package/dist/lib/flag-registry-worker-source.generated.d.ts +2 -0
- package/dist/lib/flag-registry-worker-source.generated.js +3 -0
- package/dist/lib/flag-registry-worker.js +12 -1
- package/dist/lib/flag-registry.d.ts +26 -6
- package/dist/lib/flag-registry.js +133 -16
- package/dist/lib/flag-snapshot-file.d.ts +20 -0
- package/dist/lib/flag-snapshot-file.js +91 -0
- package/dist/lib/heartbeat-identity.d.ts +30 -0
- package/dist/lib/heartbeat-identity.js +76 -0
- package/dist/lib/index-render/companies.d.ts +4 -1
- package/dist/lib/index-render/companies.js +66 -3
- package/dist/lib/index-render/company-knowledge.js +80 -17
- package/dist/lib/index-render/index.d.ts +1 -0
- package/dist/lib/index-render/index.js +2 -1
- package/dist/lib/index-render/projects.js +82 -5
- package/dist/lib/index-render/shared.d.ts +13 -1
- package/dist/lib/index-render/shared.js +41 -2
- package/dist/lib/lanes/account-home.d.ts +8 -0
- package/dist/lib/lanes/account-home.js +10 -0
- package/dist/lib/lanes/accounts.d.ts +117 -0
- package/dist/lib/lanes/accounts.js +366 -0
- package/dist/lib/lanes/admission-host.d.ts +22 -0
- package/dist/lib/lanes/admission-host.js +37 -0
- package/dist/lib/lanes/admission.d.ts +26 -0
- package/dist/lib/lanes/admission.js +210 -0
- package/dist/lib/lanes/approval-gate.d.ts +8 -0
- package/dist/lib/lanes/approval-gate.js +90 -0
- package/dist/lib/lanes/autopilot-metrics.d.ts +99 -0
- package/dist/lib/lanes/autopilot-metrics.js +301 -0
- package/dist/lib/lanes/autopilot-registry.d.ts +62 -0
- package/dist/lib/lanes/autopilot-registry.js +192 -0
- package/dist/lib/lanes/autopilot.d.ts +133 -0
- package/dist/lib/lanes/autopilot.js +1222 -0
- package/dist/lib/lanes/blocker-freshness.d.ts +31 -0
- package/dist/lib/lanes/blocker-freshness.js +168 -0
- package/dist/lib/lanes/checked-company-path.d.ts +3 -0
- package/dist/lib/lanes/checked-company-path.js +39 -0
- package/dist/lib/lanes/claude-balance.d.ts +97 -0
- package/dist/lib/lanes/claude-balance.js +319 -0
- package/dist/lib/lanes/compaction.d.ts +110 -0
- package/dist/lib/lanes/compaction.js +293 -0
- package/dist/lib/lanes/config.d.ts +94 -0
- package/dist/lib/lanes/config.js +606 -0
- package/dist/lib/lanes/constants.d.ts +3 -0
- package/dist/lib/lanes/constants.js +3 -0
- package/dist/lib/lanes/delivery-core.d.ts +15 -0
- package/dist/lib/lanes/delivery-core.js +21 -0
- package/dist/lib/lanes/delivery.d.ts +180 -0
- package/dist/lib/lanes/delivery.js +443 -0
- package/dist/lib/lanes/disk-guard.d.ts +66 -0
- package/dist/lib/lanes/disk-guard.js +172 -0
- package/dist/lib/lanes/dropbox.d.ts +129 -0
- package/dist/lib/lanes/dropbox.js +601 -0
- package/dist/lib/lanes/effort.d.ts +51 -0
- package/dist/lib/lanes/effort.js +113 -0
- package/dist/lib/lanes/envelope-repair-dispatch.d.ts +26 -0
- package/dist/lib/lanes/envelope-repair-dispatch.js +74 -0
- package/dist/lib/lanes/errors.d.ts +39 -0
- package/dist/lib/lanes/errors.js +72 -0
- package/dist/lib/lanes/flag-keys.d.ts +22 -0
- package/dist/lib/lanes/flag-keys.js +22 -0
- package/dist/lib/lanes/grants.d.ts +30 -0
- package/dist/lib/lanes/grants.js +171 -0
- package/dist/lib/lanes/hire-grant-dispatch.d.ts +29 -0
- package/dist/lib/lanes/hire-grant-dispatch.js +315 -0
- package/dist/lib/lanes/hooks-install.d.ts +82 -0
- package/dist/lib/lanes/hooks-install.js +479 -0
- package/dist/lib/lanes/host-capacity.d.ts +69 -0
- package/dist/lib/lanes/host-capacity.js +254 -0
- package/dist/lib/lanes/hq-root.d.ts +19 -0
- package/dist/lib/lanes/hq-root.js +28 -0
- package/dist/lib/lanes/index.d.ts +76 -0
- package/dist/lib/lanes/index.js +42 -0
- package/dist/lib/lanes/keep-alive-audit.d.ts +46 -0
- package/dist/lib/lanes/keep-alive-audit.js +370 -0
- package/dist/lib/lanes/keep-alive.d.ts +68 -0
- package/dist/lib/lanes/keep-alive.js +343 -0
- package/dist/lib/lanes/kr-freshness.d.ts +76 -0
- package/dist/lib/lanes/kr-freshness.js +413 -0
- package/dist/lib/lanes/lane-company.d.ts +10 -0
- package/dist/lib/lanes/lane-company.js +41 -0
- package/dist/lib/lanes/liveness.d.ts +108 -0
- package/dist/lib/lanes/liveness.js +396 -0
- package/dist/lib/lanes/machine-identity.d.ts +34 -0
- package/dist/lib/lanes/machine-identity.js +92 -0
- package/dist/lib/lanes/manager-status-gate.d.ts +17 -0
- package/dist/lib/lanes/manager-status-gate.js +133 -0
- package/dist/lib/lanes/merge-command.d.ts +15 -0
- package/dist/lib/lanes/merge-command.js +629 -0
- package/dist/lib/lanes/mesh-events.d.ts +127 -0
- package/dist/lib/lanes/mesh-events.js +564 -0
- package/dist/lib/lanes/message-replay.d.ts +21 -0
- package/dist/lib/lanes/message-replay.js +122 -0
- package/dist/lib/lanes/models.d.ts +86 -0
- package/dist/lib/lanes/models.js +234 -0
- package/dist/lib/lanes/monitor.d.ts +48 -0
- package/dist/lib/lanes/monitor.js +428 -0
- package/dist/lib/lanes/move-account.d.ts +56 -0
- package/dist/lib/lanes/move-account.js +193 -0
- package/dist/lib/lanes/orphans.d.ts +25 -0
- package/dist/lib/lanes/orphans.js +102 -0
- package/dist/lib/lanes/outpost-dispatch.d.ts +147 -0
- package/dist/lib/lanes/outpost-dispatch.js +271 -0
- package/dist/lib/lanes/outpost-hire-cache.d.ts +22 -0
- package/dist/lib/lanes/outpost-hire-cache.js +153 -0
- package/dist/lib/lanes/outpost-identity.d.ts +33 -0
- package/dist/lib/lanes/outpost-identity.js +59 -0
- package/dist/lib/lanes/outpost-profile-repin.d.ts +17 -0
- package/dist/lib/lanes/outpost-profile-repin.js +84 -0
- package/dist/lib/lanes/outpost-pruner-install.d.ts +37 -0
- package/dist/lib/lanes/outpost-pruner-install.js +238 -0
- package/dist/lib/lanes/outpost-registry-worker-approval.d.ts +18 -0
- package/dist/lib/lanes/outpost-registry-worker-approval.js +109 -0
- package/dist/lib/lanes/outpost-snapshot-memo.d.ts +6 -0
- package/dist/lib/lanes/outpost-snapshot-memo.js +14 -0
- package/dist/lib/lanes/outpost-worktree-pruner-flag.d.ts +19 -0
- package/dist/lib/lanes/outpost-worktree-pruner-flag.js +86 -0
- package/dist/lib/lanes/outpost-worktree-pruner.d.ts +62 -0
- package/dist/lib/lanes/outpost-worktree-pruner.js +1201 -0
- package/dist/lib/lanes/profile.d.ts +69 -0
- package/dist/lib/lanes/profile.js +552 -0
- package/dist/lib/lanes/provider-rejection.d.ts +86 -0
- package/dist/lib/lanes/provider-rejection.js +286 -0
- package/dist/lib/lanes/questions.d.ts +90 -0
- package/dist/lib/lanes/questions.js +384 -0
- package/dist/lib/lanes/quota.d.ts +134 -0
- package/dist/lib/lanes/quota.js +471 -0
- package/dist/lib/lanes/reconcile-install.d.ts +90 -0
- package/dist/lib/lanes/reconcile-install.js +257 -0
- package/dist/lib/lanes/reconcile.d.ts +161 -0
- package/dist/lib/lanes/reconcile.js +3343 -0
- package/dist/lib/lanes/registry-flag.d.ts +35 -0
- package/dist/lib/lanes/registry-flag.js +164 -0
- package/dist/lib/lanes/registry-persona.d.ts +20 -0
- package/dist/lib/lanes/registry-persona.js +329 -0
- package/dist/lib/lanes/registry.d.ts +122 -0
- package/dist/lib/lanes/registry.js +570 -0
- package/dist/lib/lanes/reviews.d.ts +38 -0
- package/dist/lib/lanes/reviews.js +395 -0
- package/dist/lib/lanes/runaway-tool-guard.d.ts +38 -0
- package/dist/lib/lanes/runaway-tool-guard.js +284 -0
- package/dist/lib/lanes/session-relink.d.ts +25 -0
- package/dist/lib/lanes/session-relink.js +216 -0
- package/dist/lib/lanes/spawn.d.ts +355 -0
- package/dist/lib/lanes/spawn.js +2668 -0
- package/dist/lib/lanes/ssm-command-context.d.ts +12 -0
- package/dist/lib/lanes/ssm-command-context.js +52 -0
- package/dist/lib/lanes/store.d.ts +91 -0
- package/dist/lib/lanes/store.js +1822 -0
- package/dist/lib/lanes/stories.d.ts +23 -0
- package/dist/lib/lanes/stories.js +92 -0
- package/dist/lib/lanes/story-ledger.d.ts +80 -0
- package/dist/lib/lanes/story-ledger.js +815 -0
- package/dist/lib/lanes/story-switch.d.ts +21 -0
- package/dist/lib/lanes/story-switch.js +75 -0
- package/dist/lib/lanes/text-scan.d.ts +11 -0
- package/dist/lib/lanes/text-scan.js +103 -0
- package/dist/lib/lanes/throttle.d.ts +116 -0
- package/dist/lib/lanes/throttle.js +437 -0
- package/dist/lib/lanes/timestamp.d.ts +3 -0
- package/dist/lib/lanes/timestamp.js +26 -0
- package/dist/lib/lanes/tracker-checks.d.ts +77 -0
- package/dist/lib/lanes/tracker-checks.js +134 -0
- package/dist/lib/lanes/tracker-report-state.d.ts +10 -0
- package/dist/lib/lanes/tracker-report-state.js +124 -0
- package/dist/lib/lanes/tracker-report.d.ts +203 -0
- package/dist/lib/lanes/tracker-report.js +522 -0
- package/dist/lib/lanes/tracker-store.d.ts +18 -0
- package/dist/lib/lanes/tracker-store.js +106 -0
- package/dist/lib/lanes/types.d.ts +1030 -0
- package/dist/lib/lanes/types.js +418 -0
- package/dist/lib/lanes/wait.d.ts +39 -0
- package/dist/lib/lanes/wait.js +159 -0
- package/dist/lib/lanes/watch.d.ts +39 -0
- package/dist/lib/lanes/watch.js +249 -0
- package/dist/lib/lanes/watcher-main.d.ts +11 -0
- package/dist/lib/lanes/watcher-main.js +108 -0
- package/dist/lib/lanes/watcher.d.ts +287 -0
- package/dist/lib/lanes/watcher.js +1972 -0
- package/dist/lib/mesh/api.d.ts +103 -10
- package/dist/lib/mesh/api.js +334 -64
- package/dist/lib/mesh/client.d.ts +3 -2
- package/dist/lib/mesh/client.js +26 -7
- package/dist/lib/mesh/denial-codes.d.ts +5 -0
- package/dist/lib/mesh/denial-codes.js +14 -0
- package/dist/lib/mesh/live/backfill-held.d.ts +67 -16
- package/dist/lib/mesh/live/backfill-held.js +415 -61
- package/dist/lib/mesh/live/backoff.d.ts +2 -2
- package/dist/lib/mesh/live/backoff.js +16 -3
- package/dist/lib/mesh/live/daemon/board-refresh.d.ts +7 -1
- package/dist/lib/mesh/live/daemon/board-refresh.js +78 -30
- package/dist/lib/mesh/live/daemon/config.d.ts +36 -0
- package/dist/lib/mesh/live/daemon/config.js +120 -0
- package/dist/lib/mesh/live/daemon/credentials.d.ts +64 -10
- package/dist/lib/mesh/live/daemon/credentials.js +270 -20
- package/dist/lib/mesh/live/daemon/doctor.d.ts +53 -0
- package/dist/lib/mesh/live/daemon/doctor.js +190 -6
- package/dist/lib/mesh/live/daemon/index.d.ts +13 -10
- package/dist/lib/mesh/live/daemon/index.js +7 -6
- package/dist/lib/mesh/live/daemon/install.d.ts +255 -1
- package/dist/lib/mesh/live/daemon/install.js +811 -13
- package/dist/lib/mesh/live/daemon/legacy-listen.d.ts +43 -0
- package/dist/lib/mesh/live/daemon/legacy-listen.js +89 -0
- package/dist/lib/mesh/live/daemon/live-cache.d.ts +26 -0
- package/dist/lib/mesh/live/daemon/live-cache.js +116 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.d.ts +7 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.js +2 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.d.ts +2 -0
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.js +10 -0
- package/dist/lib/mesh/live/daemon/paths.d.ts +2 -0
- package/dist/lib/mesh/live/daemon/paths.js +2 -0
- package/dist/lib/mesh/live/daemon/presence.d.ts +24 -5
- package/dist/lib/mesh/live/daemon/presence.js +79 -10
- package/dist/lib/mesh/live/daemon/run.d.ts +48 -2
- package/dist/lib/mesh/live/daemon/run.js +485 -33
- package/dist/lib/mesh/live/daemon/state.d.ts +19 -2
- package/dist/lib/mesh/live/daemon/state.js +34 -2
- package/dist/lib/mesh/live/daemon/transcript-watch.d.ts +45 -9
- package/dist/lib/mesh/live/daemon/transcript-watch.js +227 -31
- package/dist/lib/mesh/live/daemon/version-drift.d.ts +5 -0
- package/dist/lib/mesh/live/daemon/version-drift.js +47 -0
- package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +32 -0
- package/dist/lib/mesh/live/daemon/work-subscribe.js +262 -0
- package/dist/lib/mesh/live/emit-client.d.ts +8 -0
- package/dist/lib/mesh/live/emit-client.js +23 -8
- package/dist/lib/mesh/live/emit-evidence.d.ts +19 -0
- package/dist/lib/mesh/live/emit-evidence.js +20 -2
- package/dist/lib/mesh/live/emit.d.ts +9 -0
- package/dist/lib/mesh/live/emit.js +28 -2
- package/dist/lib/mesh/live/enqueue.d.ts +5 -0
- package/dist/lib/mesh/live/enqueue.js +19 -0
- package/dist/lib/mesh/live/flush.d.ts +17 -5
- package/dist/lib/mesh/live/flush.js +391 -38
- package/dist/lib/mesh/live/format-spool-line.d.ts +5 -2
- package/dist/lib/mesh/live/format-spool-line.js +10 -0
- package/dist/lib/mesh/live/paths.d.ts +2 -0
- package/dist/lib/mesh/live/paths.js +4 -0
- package/dist/lib/mesh/live/report-summary.d.ts +45 -0
- package/dist/lib/mesh/live/report-summary.js +234 -0
- package/dist/lib/mesh/live/session-event.schema.json +24 -1
- package/dist/lib/mesh/live/session-events-client.d.ts +2 -0
- package/dist/lib/mesh/live/session-events-client.js +26 -0
- package/dist/lib/mesh/live/session-seq.d.ts +4 -0
- package/dist/lib/mesh/live/session-seq.js +33 -0
- package/dist/lib/mesh/live/spool.d.ts +19 -0
- package/dist/lib/mesh/live/spool.js +269 -3
- package/dist/lib/mesh/live/validate-session-event.d.ts +1 -1
- package/dist/lib/mesh/live/validate-session-event.js +1 -1
- package/dist/lib/mesh/project-board.d.ts +65 -0
- package/dist/lib/mesh/project-board.js +181 -0
- package/dist/lib/mesh/story-status.d.ts +22 -0
- package/dist/lib/mesh/story-status.js +49 -0
- package/dist/lib/monitor.d.ts +149 -0
- package/dist/lib/monitor.js +519 -0
- package/dist/lib/node-binary.d.ts +50 -0
- package/dist/lib/node-binary.js +133 -0
- package/dist/lib/notify-recipient.d.ts +7 -0
- package/dist/lib/notify-recipient.js +11 -0
- package/dist/lib/onboarding/checkpoint.d.ts +13 -0
- package/dist/lib/onboarding/checkpoint.js +44 -0
- package/dist/lib/onboarding/cli/onboard.d.ts +53 -0
- package/dist/lib/onboarding/cli/onboard.js +135 -0
- package/dist/lib/onboarding/cli/prompts.d.ts +28 -0
- package/dist/lib/onboarding/cli/prompts.js +83 -0
- package/dist/lib/onboarding/errors.d.ts +34 -0
- package/dist/lib/onboarding/errors.js +59 -0
- package/dist/lib/onboarding/index.d.ts +13 -0
- package/dist/lib/onboarding/index.js +13 -0
- package/dist/lib/onboarding/orchestrator.d.ts +47 -0
- package/dist/lib/onboarding/orchestrator.js +569 -0
- package/dist/lib/onboarding/types.d.ts +79 -0
- package/dist/lib/onboarding/types.js +8 -0
- package/dist/lib/plan-limit-nag.d.ts +102 -6
- package/dist/lib/plan-limit-nag.js +348 -43
- package/dist/lib/policy-validator.d.ts +7 -0
- package/dist/lib/policy-validator.js +187 -0
- package/dist/lib/process-flag-company-context.d.ts +8 -0
- package/dist/lib/process-flag-company-context.js +67 -0
- package/dist/lib/report-publish.d.ts +175 -0
- package/dist/lib/report-publish.js +421 -0
- package/dist/lib/report-run.d.ts +62 -0
- package/dist/lib/report-run.js +123 -0
- package/dist/lib/report-snapshot.d.ts +12 -0
- package/dist/lib/report-snapshot.js +135 -0
- package/dist/lib/report-templates.d.ts +9 -0
- package/dist/lib/report-templates.js +21 -0
- package/dist/lib/scaffold-cli-floor.d.ts +8 -0
- package/dist/lib/scaffold-cli-floor.js +50 -0
- package/dist/lib/scan-packages/index.d.ts +2 -0
- package/dist/lib/scan-packages/index.js +168 -6
- package/dist/lib/search-index/background.d.ts +8 -1
- package/dist/lib/search-index/background.js +55 -200
- package/dist/lib/search-index/collection-path-repair-flag.d.ts +4 -0
- package/dist/lib/search-index/collection-path-repair-flag.js +7 -0
- package/dist/lib/search-index/embed-lock.d.ts +34 -0
- package/dist/lib/search-index/embed-lock.js +295 -0
- package/dist/lib/search-index/index.d.ts +12 -0
- package/dist/lib/search-index/index.js +153 -7
- package/dist/lib/search-index/load-gate.d.ts +57 -0
- package/dist/lib/search-index/load-gate.js +270 -0
- package/dist/lib/search-index/max-doc-bytes.d.ts +219 -0
- package/dist/lib/search-index/max-doc-bytes.js +463 -0
- package/dist/lib/search-index/qmd-exit-diagnostics.d.ts +5 -0
- package/dist/lib/search-index/qmd-exit-diagnostics.js +40 -0
- package/dist/lib/search-index/reindex-single-flight-flag.d.ts +5 -0
- package/dist/lib/search-index/reindex-single-flight-flag.js +8 -0
- package/dist/lib/service-manager/index.d.ts +42 -0
- package/dist/lib/service-manager/index.js +105 -0
- package/dist/lib/service-manager/launchd.d.ts +81 -0
- package/dist/lib/service-manager/launchd.js +212 -0
- package/dist/lib/service-manager/systemd.d.ts +19 -0
- package/dist/lib/service-manager/systemd.js +72 -0
- package/dist/lib/service-manager/types.d.ts +34 -0
- package/dist/lib/service-manager/types.js +26 -0
- package/dist/lib/test-utils/isolated-flag-company-context.d.ts +3 -0
- package/dist/lib/test-utils/isolated-flag-company-context.js +18 -0
- package/dist/lib/work-context/bind-best.d.ts +66 -0
- package/dist/lib/work-context/bind-best.js +344 -0
- package/dist/lib/work-context/bind-calling-session.d.ts +26 -0
- package/dist/lib/work-context/bind-calling-session.js +63 -0
- package/dist/lib/work-context/company-rebind.d.ts +23 -0
- package/dist/lib/work-context/company-rebind.js +59 -0
- package/dist/lib/work-context/company.d.ts +22 -20
- package/dist/lib/work-context/company.js +124 -40
- package/dist/lib/work-context/config.d.ts +58 -11
- package/dist/lib/work-context/config.js +334 -83
- package/dist/lib/work-context/contract.d.ts +13 -0
- package/dist/lib/work-context/contract.schema.json +3 -1
- package/dist/lib/work-context/default-company.d.ts +43 -0
- package/dist/lib/work-context/default-company.js +83 -0
- package/dist/lib/work-context/outbox-quarantine-status-flag.d.ts +4 -0
- package/dist/lib/work-context/outbox-quarantine-status-flag.js +7 -0
- package/dist/lib/work-context/outbox.d.ts +27 -5
- package/dist/lib/work-context/outbox.js +135 -6
- package/dist/lib/work-context/prd-sync.d.ts +56 -0
- package/dist/lib/work-context/prd-sync.js +197 -0
- package/dist/lib/work-context/preflight-contract.d.ts +28 -0
- package/dist/lib/work-context/preflight-contract.js +85 -0
- package/dist/lib/work-context/prompt-rebind.d.ts +25 -0
- package/dist/lib/work-context/prompt-rebind.js +85 -0
- package/dist/lib/work-context/reconcile.d.ts +15 -0
- package/dist/lib/work-context/reconcile.js +405 -29
- package/dist/lib/work-context/state.d.ts +93 -10
- package/dist/lib/work-context/state.js +342 -29
- package/dist/lib/work-context/windows-acl.d.ts +123 -0
- package/dist/lib/work-context/windows-acl.js +425 -0
- package/dist/lib/workers-registry/index.js +62 -8
- package/dist/lib/workers-registry/read.d.ts +15 -0
- package/dist/lib/workers-registry/read.js +17 -0
- package/dist/main.d.ts +32 -0
- package/dist/main.js +273 -73
- package/dist/native-fast-route.d.ts +7 -0
- package/dist/native-fast-route.js +45 -0
- package/dist/node-network-compat-core.d.ts +12 -0
- package/dist/node-network-compat-core.js +41 -0
- package/dist/node-network-compat-fast.d.ts +7 -0
- package/dist/node-network-compat-fast.js +23 -0
- package/dist/node-network-compat.d.ts +2 -30
- package/dist/node-network-compat.js +4 -51
- package/dist/node-preflight.d.ts +7 -1
- package/dist/node-preflight.js +5 -5
- package/dist/register-all.d.ts +4 -29
- package/dist/register-all.js +4 -233
- package/dist/run/discover-schemas.d.ts +2 -1
- package/dist/run/env-graph-guard.d.ts +2 -2
- package/dist/run/env-graph-guard.js +5 -2
- package/dist/run/hq-plugin.d.ts +4 -0
- package/dist/run/hq-plugin.js +36 -8
- package/dist/secrets-env-fast-path.d.ts +5 -0
- package/dist/secrets-env-fast-path.js +16 -0
- package/dist/secrets-env-fast-route.d.ts +18 -0
- package/dist/secrets-env-fast-route.js +54 -0
- package/dist/sentry-before-send.js +80 -0
- package/dist/sentry.d.ts +16 -4
- package/dist/sentry.js +179 -18
- package/dist/startup-registration.d.ts +26 -2
- package/dist/startup-registration.js +116 -15
- package/dist/utils/checkpoint-stamp-write-error.d.ts +28 -0
- package/dist/utils/checkpoint-stamp-write-error.js +99 -0
- package/dist/utils/cli-network-lifecycle.d.ts +4 -0
- package/dist/utils/cli-network-lifecycle.js +11 -0
- package/dist/utils/cli-telemetry.d.ts +75 -1
- package/dist/utils/cli-telemetry.js +433 -7
- package/dist/utils/client-health.d.ts +0 -4
- package/dist/utils/client-health.js +2 -2
- package/dist/utils/cognito-refresh-sentry.d.ts +3 -0
- package/dist/utils/cognito-refresh-sentry.js +49 -0
- package/dist/utils/cognito-session.d.ts +71 -0
- package/dist/utils/cognito-session.js +481 -27
- package/dist/utils/console-origin.d.ts +9 -0
- package/dist/utils/console-origin.js +28 -0
- package/dist/utils/contribution-table.d.ts +1 -1
- package/dist/utils/core-eval-trigger.d.ts +4 -0
- package/dist/utils/core-eval-trigger.js +88 -0
- package/dist/utils/environmental-error.d.ts +18 -0
- package/dist/utils/environmental-error.js +240 -7
- package/dist/utils/exclusive-lock.d.ts +32 -0
- package/dist/utils/exclusive-lock.js +75 -0
- package/dist/utils/expected-cli-error.d.ts +2 -0
- package/dist/utils/expected-cli-error.js +4 -0
- package/dist/utils/fast-stream-errors.d.ts +12 -0
- package/dist/utils/fast-stream-errors.js +18 -0
- package/dist/utils/feedback-diagnostics.d.ts +2 -1
- package/dist/utils/feedback-log-bundle.d.ts +51 -26
- package/dist/utils/feedback-log-bundle.js +211 -31
- package/dist/utils/feedback-logs.d.ts +18 -47
- package/dist/utils/feedback-logs.js +50 -21
- package/dist/utils/feedback-screenshots.d.ts +0 -1
- package/dist/utils/feedback-screenshots.js +1 -1
- package/dist/utils/files-browse-acl.d.ts +5 -0
- package/dist/utils/files-browse-acl.js +11 -0
- package/dist/utils/hq-core-yaml.d.ts +10 -0
- package/dist/utils/hq-core-yaml.js +40 -0
- package/dist/utils/hq-root-resolver.d.ts +13 -0
- package/dist/utils/hq-root-resolver.js +103 -0
- package/dist/utils/hq-roots.d.ts +25 -2
- package/dist/utils/hq-roots.js +67 -7
- package/dist/utils/incomplete-install-error.d.ts +87 -19
- package/dist/utils/incomplete-install-error.js +319 -68
- package/dist/utils/install-tree-torn.d.ts +260 -24
- package/dist/utils/install-tree-torn.js +998 -51
- package/dist/utils/large-file-guard.d.ts +0 -10
- package/dist/utils/large-file-guard.js +1 -1
- package/dist/utils/local-files-overview.d.ts +4 -8
- package/dist/utils/local-files-overview.js +48 -7
- package/dist/utils/login-provider.d.ts +7 -0
- package/dist/utils/login-provider.js +34 -0
- package/dist/utils/pack-contributions.d.ts +2 -14
- package/dist/utils/pack-contributions.js +7 -44
- package/dist/utils/package-root-diagnostics.d.ts +1 -1
- package/dist/utils/people.d.ts +7 -11
- package/dist/utils/people.js +5 -20
- package/dist/utils/plan-gate-error.d.ts +52 -10
- package/dist/utils/plan-gate-error.js +364 -41
- package/dist/utils/qmd-model-download-error.d.ts +0 -8
- package/dist/utils/qmd-model-download-error.js +1 -1
- package/dist/utils/qmd-query-document-error.d.ts +0 -6
- package/dist/utils/qmd-query-document-error.js +1 -1
- package/dist/utils/redact-error-text.d.ts +0 -2
- package/dist/utils/redact-error-text.js +3 -2
- package/dist/utils/redact-url.d.ts +14 -0
- package/dist/utils/redact-url.js +218 -0
- package/dist/utils/run-bundled-script.d.ts +6 -0
- package/dist/utils/run-bundled-script.js +117 -4
- package/dist/utils/sandbox-runner-client.d.ts +2 -1
- package/dist/utils/scaffold-fast-import-guard.d.ts +2 -0
- package/dist/utils/scaffold-fast-import-guard.js +40 -0
- package/dist/utils/scaffold-packlist-guard.d.ts +7 -0
- package/dist/utils/scaffold-packlist-guard.js +23 -0
- package/dist/utils/scaffold-sibling-references.d.ts +22 -0
- package/dist/utils/scaffold-sibling-references.js +156 -0
- package/dist/utils/secret-load-availability.d.ts +8 -0
- package/dist/utils/secret-load-availability.js +54 -0
- package/dist/utils/secrets-cache.d.ts +7 -3
- package/dist/utils/secrets-cache.js +162 -14
- package/dist/utils/self-update.d.ts +34 -1
- package/dist/utils/self-update.js +660 -42
- package/dist/utils/sentry-fingerprint.d.ts +23 -1
- package/dist/utils/sentry-fingerprint.js +223 -31
- package/dist/utils/staged-install.d.ts +34 -0
- package/dist/utils/staged-install.js +346 -0
- package/dist/utils/staged-npm-install.d.ts +16 -0
- package/dist/utils/staged-npm-install.js +264 -0
- package/dist/utils/sync-log-sources.d.ts +15 -0
- package/dist/utils/sync-log-sources.js +36 -0
- package/dist/utils/table-width.d.ts +7 -0
- package/dist/utils/table-width.js +15 -0
- package/dist/utils/team-upgrade.d.ts +1 -1
- package/dist/utils/team-upgrade.js +4 -3
- package/dist/utils/update-command-supervisor.cjs +247 -0
- package/dist/utils/upload-author.d.ts +15 -0
- package/dist/utils/upload-author.js +39 -0
- package/dist/utils/vault-api.d.ts +21 -1
- package/dist/utils/vault-api.js +251 -84
- package/dist/utils/version-check.d.ts +11 -1
- package/dist/utils/version-check.js +32 -3
- package/dist/utils/version-gate.d.ts +101 -17
- package/dist/utils/version-gate.js +645 -70
- package/dist/utils/version-report.d.ts +27 -0
- package/dist/utils/version-report.js +105 -0
- package/dist/utils/windows-spawn.d.ts +6 -0
- package/dist/utils/windows-spawn.js +37 -0
- package/dist/version-request.d.ts +14 -0
- package/dist/version-request.js +36 -0
- package/package.json +20 -8
- package/scripts/mesh-daemon-if-stale.mjs +20 -0
- package/templates/reports/blank.md +3 -0
- package/templates/reports/daily-digest.md +11 -0
- package/templates/runbooks/update-report.md +21 -0
- package/dist/commands/scaffold-fast.d.ts +0 -41
- package/dist/commands/scaffold-fast.js +0 -57
- package/dist/lib/work-context/index.d.ts +0 -25
- package/dist/lib/work-context/index.js +0 -21
package/dist/lib/mesh/api.d.ts
CHANGED
|
@@ -16,17 +16,71 @@ export interface MeshThread {
|
|
|
16
16
|
projectId?: string;
|
|
17
17
|
companyUid?: string;
|
|
18
18
|
threadStatus?: string;
|
|
19
|
+
kind?: "project" | "work-session" | "lane" | string;
|
|
20
|
+
lane?: MeshLaneDescriptor;
|
|
21
|
+
laneStatus?: MeshLaneStatus;
|
|
22
|
+
projectChannelId?: string;
|
|
19
23
|
ownerUid?: string;
|
|
24
|
+
ownerType?: "human" | "agent";
|
|
25
|
+
senderMachineUid?: string;
|
|
26
|
+
senderPrincipalType?: "agent" | "outpost";
|
|
27
|
+
senderAuthenticatedSub?: string;
|
|
20
28
|
progressSummary?: string;
|
|
21
29
|
sourceSignalSummary?: string;
|
|
22
30
|
blockedReason?: string;
|
|
23
31
|
lastActivityAt?: string;
|
|
24
32
|
createdAt?: string;
|
|
25
33
|
}
|
|
34
|
+
export type MeshLaneStatus = "queued" | "running" | "awaiting_input" | "blocked" | "done" | "failed" | "interrupted" | "cancelled" | "killed";
|
|
35
|
+
export interface MeshLaneDescriptor {
|
|
36
|
+
laneId: string;
|
|
37
|
+
storyId?: string;
|
|
38
|
+
workerProfile?: string;
|
|
39
|
+
model?: string;
|
|
40
|
+
account?: string;
|
|
41
|
+
parentLaneId?: string;
|
|
42
|
+
senior?: {
|
|
43
|
+
kind: "user" | "session" | "lane";
|
|
44
|
+
id?: string;
|
|
45
|
+
};
|
|
46
|
+
laneVersion: number;
|
|
47
|
+
}
|
|
48
|
+
export interface MeshProjectStoryInput {
|
|
49
|
+
id: string;
|
|
50
|
+
title: string;
|
|
51
|
+
description?: string;
|
|
52
|
+
acceptanceCriteria?: string[];
|
|
53
|
+
status?: string;
|
|
54
|
+
passes?: boolean;
|
|
55
|
+
priority?: number;
|
|
56
|
+
assigneeUid?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface MeshProjectRepo {
|
|
59
|
+
path: string;
|
|
60
|
+
branch: string;
|
|
61
|
+
}
|
|
62
|
+
export interface MeshProjectView {
|
|
63
|
+
companyUid: string;
|
|
64
|
+
projectId: string;
|
|
65
|
+
name: string;
|
|
66
|
+
description: string;
|
|
67
|
+
stories: MeshProjectStoryInput[];
|
|
68
|
+
repos: MeshProjectRepo[];
|
|
69
|
+
version?: number;
|
|
70
|
+
}
|
|
71
|
+
export interface MeshProjectRegistration {
|
|
72
|
+
companyUid: string;
|
|
73
|
+
projectId: string;
|
|
74
|
+
threadId: string;
|
|
75
|
+
channelId: string;
|
|
76
|
+
channelCreated: boolean;
|
|
77
|
+
}
|
|
26
78
|
export declare function meshJson(token: string, path: string, init?: {
|
|
27
79
|
method?: string;
|
|
28
80
|
body?: Record<string, unknown>;
|
|
29
81
|
query?: Record<string, string>;
|
|
82
|
+
headers?: Record<string, string>;
|
|
83
|
+
signal?: AbortSignal;
|
|
30
84
|
}): Promise<unknown>;
|
|
31
85
|
export declare function resolveMeshCompany(token: string, company?: string): Promise<MeshCompany>;
|
|
32
86
|
/**
|
|
@@ -40,14 +94,21 @@ export declare function listActiveMembershipCompanies(token: string): Promise<Me
|
|
|
40
94
|
*
|
|
41
95
|
* Lists the caller's active companies via GET /membership/me and matches the
|
|
42
96
|
* requested slug (case-insensitive). Does **not** honour HQ_COMPANY_UID /
|
|
43
|
-
* HQ_WORK_MESH_COMPANY_UID env overrides or treat a raw `cmp_
|
|
44
|
-
*
|
|
97
|
+
* HQ_WORK_MESH_COMPANY_UID env overrides or treat a raw `cmp_` ref as proof
|
|
98
|
+
* of membership without an active membership row.
|
|
45
99
|
*
|
|
46
100
|
* Returns null when the caller is not an active member. Throws on transport /
|
|
47
101
|
* auth failures so the caller can surface DEFAULT_COMPANY_UNAVAILABLE.
|
|
48
102
|
*/
|
|
49
|
-
export declare function resolveActiveMembershipCompany(token: string, slug: string): Promise<MeshCompany | null>;
|
|
50
|
-
export
|
|
103
|
+
export declare function resolveActiveMembershipCompany(token: string, slug: string, signal?: AbortSignal): Promise<MeshCompany | null>;
|
|
104
|
+
export interface RequireTokenOptions {
|
|
105
|
+
/**
|
|
106
|
+
* False from detached or unattended callers (the lane watcher). A person
|
|
107
|
+
* cache that cannot refresh then throws instead of opening a browser.
|
|
108
|
+
*/
|
|
109
|
+
interactive?: boolean;
|
|
110
|
+
}
|
|
111
|
+
export declare function requireToken(opts?: RequireTokenOptions): Promise<string>;
|
|
51
112
|
export declare function listActiveThreads(token: string, companyUid: string, projectId?: string): Promise<MeshThread[]>;
|
|
52
113
|
export declare function clamp(value: string, max: number): string;
|
|
53
114
|
export declare function eventPayload(kind: string, opts: {
|
|
@@ -62,15 +123,48 @@ export declare function ensureProjectThread(token: string, company: MeshCompany,
|
|
|
62
123
|
threadId: string;
|
|
63
124
|
created: boolean;
|
|
64
125
|
}>;
|
|
65
|
-
|
|
126
|
+
/** Ensure the server-owned, stable Work Mesh thread for one lane. */
|
|
127
|
+
export declare function ensureLaneMeshThread(token: string, company: MeshCompany, projectId: string, lane: MeshLaneDescriptor, laneStatus: MeshLaneStatus, signal?: AbortSignal): Promise<{
|
|
128
|
+
threadId: string;
|
|
129
|
+
}>;
|
|
130
|
+
export declare function appendThreadEvent(token: string, companyUid: string, threadId: string, eventKind: string, payload: Record<string, unknown>, signal?: AbortSignal): Promise<{
|
|
66
131
|
eventId?: string;
|
|
67
132
|
createdAt?: string;
|
|
68
133
|
}>;
|
|
134
|
+
export interface StoryPatch {
|
|
135
|
+
status?: string;
|
|
136
|
+
assigneeUid?: string;
|
|
137
|
+
clearAssignee?: boolean;
|
|
138
|
+
}
|
|
139
|
+
export interface StoryPatchResult {
|
|
140
|
+
projectId: string;
|
|
141
|
+
status: string;
|
|
142
|
+
version?: number;
|
|
143
|
+
assigneeUid: string | null;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* PATCH one Board story. The server derives the actor from the request
|
|
147
|
+
* credential. This body never includes actorUid.
|
|
148
|
+
*/
|
|
149
|
+
export declare function patchStory(token: string, companyUid: string, projectId: string, storyId: string, patch: StoryPatch): Promise<StoryPatchResult>;
|
|
69
150
|
export declare function patchStoryStatus(token: string, companyUid: string, projectId: string, storyId: string, status: string): Promise<{
|
|
70
151
|
status: string;
|
|
71
152
|
version?: number;
|
|
72
153
|
projectId: string;
|
|
73
154
|
}>;
|
|
155
|
+
/** Read the full durable Board view before preparing a replacement PUT. */
|
|
156
|
+
export declare function getProjectView(token: string, companyUid: string, projectId: string): Promise<MeshProjectView>;
|
|
157
|
+
/** Replace a project's durable Board view and keep the local project cache current. */
|
|
158
|
+
export declare function putProjectView(token: string, companyUid: string, projectId: string, input: {
|
|
159
|
+
name?: string;
|
|
160
|
+
description?: string;
|
|
161
|
+
stories?: MeshProjectStoryInput[];
|
|
162
|
+
repos?: MeshProjectRepo[];
|
|
163
|
+
version?: number;
|
|
164
|
+
expectedVersion?: number;
|
|
165
|
+
}): Promise<MeshProjectView>;
|
|
166
|
+
/** Register the project genesis thread and deterministic project channel. */
|
|
167
|
+
export declare function registerMeshProject(token: string, companyUid: string, projectId: string, channelId?: string): Promise<MeshProjectRegistration>;
|
|
74
168
|
export declare function pairDmUidsFromInbox(inbox: unknown): string[];
|
|
75
169
|
export interface WarmCacheResult {
|
|
76
170
|
directory: boolean;
|
|
@@ -94,13 +188,12 @@ export declare function meshCachePrincipalUid(tokens: {
|
|
|
94
188
|
accessToken?: string;
|
|
95
189
|
} | null | undefined, fallbackToken?: string): string;
|
|
96
190
|
/**
|
|
97
|
-
* Resolve the
|
|
98
|
-
*
|
|
99
|
-
*
|
|
191
|
+
* Resolve the authenticated request principal. The request token is the source
|
|
192
|
+
* of truth; cached credentials may contribute an entity uid only when they
|
|
193
|
+
* identify the same caller. Only the uid is kept — credentials are discarded.
|
|
100
194
|
*/
|
|
101
195
|
export declare function resolveMeshPrincipalUid(token: string, tokens?: {
|
|
102
196
|
idToken?: string;
|
|
103
197
|
accessToken?: string;
|
|
104
|
-
} | null): Promise<string>;
|
|
105
|
-
export declare function callerLabelFromToken(token: string): string;
|
|
198
|
+
} | null): Promise<string | undefined>;
|
|
106
199
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/lib/mesh/api.js
CHANGED
|
@@ -30,6 +30,8 @@ export async function meshJson(token, path, init = {}) {
|
|
|
30
30
|
method: init.method,
|
|
31
31
|
body: init.body,
|
|
32
32
|
query: init.query,
|
|
33
|
+
headers: init.headers,
|
|
34
|
+
signal: init.signal,
|
|
33
35
|
});
|
|
34
36
|
const text = await res.text();
|
|
35
37
|
let data = {};
|
|
@@ -48,19 +50,40 @@ export async function meshJson(token, path, init = {}) {
|
|
|
48
50
|
// 400 whose body text matched no pattern was retried forever.
|
|
49
51
|
const detail = err.error || err.message || res.statusText || "request failed";
|
|
50
52
|
const code = typeof err.code === "string" && err.code ? `${err.code}: ` : "";
|
|
51
|
-
|
|
53
|
+
const context = [
|
|
54
|
+
typeof err.stage === "string" && err.stage ? `stage=${err.stage}` : "",
|
|
55
|
+
typeof err.recovery === "string" && err.recovery ? `recovery=${err.recovery}` : "",
|
|
56
|
+
].filter(Boolean);
|
|
57
|
+
const failure = new Error(`${res.status} ${code}${detail}${context.length ? ` (${context.join("; ")})` : ""}`);
|
|
58
|
+
failure.status = res.status;
|
|
59
|
+
if (typeof err.code === "string" && err.code)
|
|
60
|
+
failure.code = err.code;
|
|
61
|
+
throw failure;
|
|
52
62
|
}
|
|
53
63
|
return data;
|
|
54
64
|
}
|
|
55
65
|
export async function resolveMeshCompany(token, company) {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
66
|
+
const meshOverride = process.env.HQ_WORK_MESH_COMPANY_UID?.trim();
|
|
67
|
+
const companyOverride = process.env.HQ_COMPANY_UID?.trim();
|
|
68
|
+
const explicit = meshOverride || companyOverride;
|
|
69
|
+
const explicitSource = meshOverride ? "HQ_WORK_MESH_COMPANY_UID" : "HQ_COMPANY_UID";
|
|
70
|
+
if (explicit && explicit.startsWith("cmp_")) {
|
|
71
|
+
return { companyUid: explicit, companySlug: company || explicit };
|
|
59
72
|
}
|
|
60
|
-
if (
|
|
73
|
+
if (explicit) {
|
|
74
|
+
// hq-pro accepts companyUid only with the cmp_ prefix (flags-resolve.ts:145-150).
|
|
75
|
+
// Ignore a malformed UID override so it cannot become a request identity.
|
|
76
|
+
process.stderr.write(`${JSON.stringify({
|
|
77
|
+
event: "work_mesh.invalid_company_uid_override",
|
|
78
|
+
source: explicitSource,
|
|
79
|
+
expected_prefix: "cmp_",
|
|
80
|
+
})}\n`);
|
|
81
|
+
}
|
|
82
|
+
if (company?.startsWith("cmp_")) {
|
|
61
83
|
return { companyUid: company, companySlug: company };
|
|
62
84
|
}
|
|
63
|
-
const
|
|
85
|
+
const companySlug = company?.trim();
|
|
86
|
+
const uid = await getCompanyUid(token, companySlug || undefined);
|
|
64
87
|
return { companyUid: uid, companySlug: company || uid };
|
|
65
88
|
}
|
|
66
89
|
/**
|
|
@@ -97,17 +120,25 @@ export async function listActiveMembershipCompanies(token) {
|
|
|
97
120
|
*
|
|
98
121
|
* Lists the caller's active companies via GET /membership/me and matches the
|
|
99
122
|
* requested slug (case-insensitive). Does **not** honour HQ_COMPANY_UID /
|
|
100
|
-
* HQ_WORK_MESH_COMPANY_UID env overrides or treat a raw `cmp_
|
|
101
|
-
*
|
|
123
|
+
* HQ_WORK_MESH_COMPANY_UID env overrides or treat a raw `cmp_` ref as proof
|
|
124
|
+
* of membership without an active membership row.
|
|
102
125
|
*
|
|
103
126
|
* Returns null when the caller is not an active member. Throws on transport /
|
|
104
127
|
* auth failures so the caller can surface DEFAULT_COMPANY_UNAVAILABLE.
|
|
105
128
|
*/
|
|
106
|
-
export async function resolveActiveMembershipCompany(token, slug) {
|
|
129
|
+
export async function resolveActiveMembershipCompany(token, slug, signal) {
|
|
107
130
|
const trimmed = slug.trim();
|
|
108
131
|
if (!trimmed)
|
|
109
132
|
return null;
|
|
110
|
-
|
|
133
|
+
// An aborted lookup is not "not a member". Throw so callers defer.
|
|
134
|
+
if (signal?.aborted) {
|
|
135
|
+
throw new Error("membership lookup aborted");
|
|
136
|
+
}
|
|
137
|
+
const payload = asRecord(await meshJson(token, "/membership/me", { signal }));
|
|
138
|
+
if (!payload || !Array.isArray(payload.memberships)) {
|
|
139
|
+
throw new Error("Malformed membership response: expected memberships array");
|
|
140
|
+
}
|
|
141
|
+
const rows = activeMembershipCompanies(payload.memberships);
|
|
111
142
|
const needle = trimmed.toLowerCase();
|
|
112
143
|
const matches = rows.filter((c) => c.companySlug.toLowerCase() === needle ||
|
|
113
144
|
c.companyUid.toLowerCase() === needle);
|
|
@@ -118,7 +149,29 @@ export async function resolveActiveMembershipCompany(token, slug) {
|
|
|
118
149
|
// Ambiguous slug across memberships — refuse rather than guess.
|
|
119
150
|
return null;
|
|
120
151
|
}
|
|
121
|
-
|
|
152
|
+
function activeMembershipCompanies(rows) {
|
|
153
|
+
const out = [];
|
|
154
|
+
const seen = new Set();
|
|
155
|
+
for (const row of rows) {
|
|
156
|
+
const rec = asRecord(row);
|
|
157
|
+
if (!rec)
|
|
158
|
+
continue;
|
|
159
|
+
if (String(rec.status || "").toLowerCase() !== "active")
|
|
160
|
+
continue;
|
|
161
|
+
const companyUid = typeof rec.companyUid === "string" ? rec.companyUid : "";
|
|
162
|
+
if (!companyUid || seen.has(companyUid))
|
|
163
|
+
continue;
|
|
164
|
+
const companySlug = typeof rec.companySlug === "string"
|
|
165
|
+
? rec.companySlug
|
|
166
|
+
: typeof rec.companyFolderSlug === "string"
|
|
167
|
+
? rec.companyFolderSlug
|
|
168
|
+
: companyUid;
|
|
169
|
+
seen.add(companyUid);
|
|
170
|
+
out.push({ companyUid, companySlug: companySlug || companyUid });
|
|
171
|
+
}
|
|
172
|
+
return out;
|
|
173
|
+
}
|
|
174
|
+
export async function requireToken(opts = {}) {
|
|
122
175
|
// Agent/machine boxes must authenticate the way the mesh daemon does:
|
|
123
176
|
// an agent's identity claims (custom:entityType=agent, custom:entityUid)
|
|
124
177
|
// ride the ID token ONLY; a person-cache ACCESS token on the box carries
|
|
@@ -129,48 +182,122 @@ export async function requireToken() {
|
|
|
129
182
|
// hard policy indigo-agent-caller-resolution-id-token, agent claims ride
|
|
130
183
|
// the ID token only; the server is correct to require it. Humans keep the
|
|
131
184
|
// person access token (unchanged).
|
|
185
|
+
const interactive = opts.interactive ?? true;
|
|
132
186
|
if (isMachineIdentity()) {
|
|
133
|
-
return ensureCognitoToken({ tokenSource: "machine" });
|
|
187
|
+
return ensureCognitoToken({ tokenSource: "machine", interactive });
|
|
134
188
|
}
|
|
135
|
-
return ensureCognitoToken();
|
|
189
|
+
return ensureCognitoToken({ interactive });
|
|
136
190
|
}
|
|
137
191
|
function asRecord(value) {
|
|
138
192
|
return value && typeof value === "object" && !Array.isArray(value)
|
|
139
193
|
? value
|
|
140
194
|
: null;
|
|
141
195
|
}
|
|
142
|
-
|
|
196
|
+
function threadRows(data) {
|
|
197
|
+
const rows = Array.isArray(data?.threads)
|
|
198
|
+
? data.threads
|
|
199
|
+
: Array.isArray(data?.items)
|
|
200
|
+
? data.items
|
|
201
|
+
: [];
|
|
202
|
+
const out = [];
|
|
203
|
+
for (const row of rows) {
|
|
204
|
+
const rec = asRecord(row);
|
|
205
|
+
if (!rec)
|
|
206
|
+
continue;
|
|
207
|
+
out.push(rec);
|
|
208
|
+
}
|
|
209
|
+
return out;
|
|
210
|
+
}
|
|
211
|
+
function sortThreadsByActivity(threads) {
|
|
212
|
+
return [...threads].sort((a, b) => String(b.lastActivityAt || b.createdAt || "").localeCompare(String(a.lastActivityAt || a.createdAt || "")));
|
|
213
|
+
}
|
|
214
|
+
function isActiveThread(thread) {
|
|
215
|
+
const status = String(thread.threadStatus || "").toLowerCase();
|
|
216
|
+
return !status || ACTIVE_STATUSES.has(status);
|
|
217
|
+
}
|
|
218
|
+
function threadKey(thread) {
|
|
219
|
+
const id = typeof thread.threadId === "string" ? thread.threadId.trim() : "";
|
|
220
|
+
return id || undefined;
|
|
221
|
+
}
|
|
222
|
+
async function listThreadsByQuery(token, query) {
|
|
223
|
+
const collected = [];
|
|
224
|
+
let cursor = "";
|
|
225
|
+
for (let page = 0; page < 10; page += 1) {
|
|
226
|
+
const pageQuery = { ...query, limit: "100" };
|
|
227
|
+
if (cursor)
|
|
228
|
+
pageQuery.cursor = cursor;
|
|
229
|
+
const data = asRecord(await meshJson(token, "/v1/work-mesh/threads", { query: pageQuery }));
|
|
230
|
+
collected.push(...threadRows(data));
|
|
231
|
+
cursor = typeof data?.nextCursor === "string" ? data.nextCursor : "";
|
|
232
|
+
if (!cursor)
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
return collected;
|
|
236
|
+
}
|
|
237
|
+
async function listThreadsByStatus(token, companyUid) {
|
|
143
238
|
const collected = [];
|
|
144
239
|
for (const status of ACTIVE_STATUSES) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
240
|
+
collected.push(...(await listThreadsByQuery(token, { companyUid, status })));
|
|
241
|
+
}
|
|
242
|
+
return collected;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Project facets contain all project-owned threads, including terminal lane
|
|
246
|
+
* threads that have been removed from the active-status index.
|
|
247
|
+
*/
|
|
248
|
+
async function listProjectThreads(token, companyUid, projectId) {
|
|
249
|
+
try {
|
|
250
|
+
return await listThreadsByQuery(token, {
|
|
251
|
+
companyUid,
|
|
252
|
+
projectId,
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
try {
|
|
257
|
+
return await listThreadsByQuery(token, {
|
|
148
258
|
companyUid,
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const rows = Array.isArray(data?.threads)
|
|
156
|
-
? data.threads
|
|
157
|
-
: Array.isArray(data?.items)
|
|
158
|
-
? data.items
|
|
159
|
-
: [];
|
|
160
|
-
for (const row of rows) {
|
|
161
|
-
const rec = asRecord(row);
|
|
162
|
-
if (!rec)
|
|
163
|
-
continue;
|
|
164
|
-
collected.push(rec);
|
|
165
|
-
}
|
|
166
|
-
cursor = typeof data?.nextCursor === "string" ? data.nextCursor : "";
|
|
167
|
-
if (!cursor)
|
|
168
|
-
break;
|
|
259
|
+
projectId,
|
|
260
|
+
status: "open",
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
catch {
|
|
264
|
+
return [];
|
|
169
265
|
}
|
|
170
266
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
267
|
+
}
|
|
268
|
+
function mergeProjectAndStatusThreads(projectThreads, statusThreads, projectId) {
|
|
269
|
+
const seen = new Set();
|
|
270
|
+
const merged = [];
|
|
271
|
+
for (const thread of sortThreadsByActivity(projectThreads.filter((t) => (!t.projectId || t.projectId === projectId) &&
|
|
272
|
+
(isActiveThread(t) ||
|
|
273
|
+
(t.kind === "lane" &&
|
|
274
|
+
["done", "failed", "interrupted", "cancelled", "killed"].includes(String(t.laneStatus))))))) {
|
|
275
|
+
const key = threadKey(thread);
|
|
276
|
+
if (key) {
|
|
277
|
+
if (seen.has(key))
|
|
278
|
+
continue;
|
|
279
|
+
seen.add(key);
|
|
280
|
+
}
|
|
281
|
+
merged.push(thread);
|
|
282
|
+
}
|
|
283
|
+
for (const thread of sortThreadsByActivity(statusThreads.filter((t) => t.projectId === projectId && isActiveThread(t)))) {
|
|
284
|
+
const key = threadKey(thread);
|
|
285
|
+
if (key) {
|
|
286
|
+
if (seen.has(key))
|
|
287
|
+
continue;
|
|
288
|
+
seen.add(key);
|
|
289
|
+
}
|
|
290
|
+
merged.push(thread);
|
|
291
|
+
}
|
|
292
|
+
return merged;
|
|
293
|
+
}
|
|
294
|
+
export async function listActiveThreads(token, companyUid, projectId) {
|
|
295
|
+
const statusListed = await listThreadsByStatus(token, companyUid);
|
|
296
|
+
if (!projectId) {
|
|
297
|
+
return sortThreadsByActivity(statusListed);
|
|
298
|
+
}
|
|
299
|
+
const projectListed = await listProjectThreads(token, companyUid, projectId);
|
|
300
|
+
return mergeProjectAndStatusThreads(projectListed, statusListed, projectId);
|
|
174
301
|
}
|
|
175
302
|
export function clamp(value, max) {
|
|
176
303
|
return value.length <= max ? value : value.slice(0, max);
|
|
@@ -203,7 +330,7 @@ export function eventPayload(kind, opts, claimedBy) {
|
|
|
203
330
|
export async function ensureProjectThread(token, company, projectId, opts) {
|
|
204
331
|
if (opts.threadId)
|
|
205
332
|
return { threadId: opts.threadId, created: false };
|
|
206
|
-
const existing = (await listActiveThreads(token, company.companyUid, projectId))
|
|
333
|
+
const existing = (await listActiveThreads(token, company.companyUid, projectId)).find((thread) => (thread.kind ?? "project") === "project" && !!thread.threadId);
|
|
207
334
|
if (existing?.threadId)
|
|
208
335
|
return { threadId: existing.threadId, created: false };
|
|
209
336
|
const created = asRecord(await meshJson(token, "/v1/work-mesh/threads", {
|
|
@@ -223,20 +350,57 @@ export async function ensureProjectThread(token, company, projectId, opts) {
|
|
|
223
350
|
throw new Error("Work mesh did not return a threadId");
|
|
224
351
|
return { threadId, created: true };
|
|
225
352
|
}
|
|
226
|
-
|
|
353
|
+
/** Ensure the server-owned, stable Work Mesh thread for one lane. */
|
|
354
|
+
export async function ensureLaneMeshThread(token, company, projectId, lane, laneStatus, signal) {
|
|
355
|
+
const result = asRecord(await meshJson(token, "/v1/work-mesh/threads", {
|
|
356
|
+
method: "POST",
|
|
357
|
+
body: {
|
|
358
|
+
companyUid: company.companyUid,
|
|
359
|
+
projectId,
|
|
360
|
+
routing: {
|
|
361
|
+
priority: "normal",
|
|
362
|
+
tags: ["hq-lane", `project:${projectId}`, `lane:${lane.laneId}`],
|
|
363
|
+
},
|
|
364
|
+
lane,
|
|
365
|
+
laneStatus,
|
|
366
|
+
},
|
|
367
|
+
signal,
|
|
368
|
+
}));
|
|
369
|
+
const threadId = typeof result?.threadId === "string" ? result.threadId.trim() : "";
|
|
370
|
+
if (!threadId)
|
|
371
|
+
throw new Error("Work mesh lane registration did not return a threadId");
|
|
372
|
+
return { threadId };
|
|
373
|
+
}
|
|
374
|
+
export async function appendThreadEvent(token, companyUid, threadId, eventKind, payload, signal) {
|
|
227
375
|
const data = asRecord(await meshJson(token, `/v1/work-mesh/threads/${encodeURIComponent(threadId)}/events`, {
|
|
228
376
|
method: "POST",
|
|
229
377
|
body: { companyUid, eventKind, payload },
|
|
378
|
+
signal,
|
|
230
379
|
}));
|
|
231
380
|
return {
|
|
232
381
|
eventId: typeof data?.eventId === "string" ? data.eventId : undefined,
|
|
233
382
|
createdAt: typeof data?.createdAt === "string" ? data.createdAt : undefined,
|
|
234
383
|
};
|
|
235
384
|
}
|
|
236
|
-
|
|
385
|
+
/**
|
|
386
|
+
* PATCH one Board story. The server derives the actor from the request
|
|
387
|
+
* credential. This body never includes actorUid.
|
|
388
|
+
*/
|
|
389
|
+
export async function patchStory(token, companyUid, projectId, storyId, patch) {
|
|
390
|
+
if (typeof projectId !== "string" || projectId.trim() === "" ||
|
|
391
|
+
typeof storyId !== "string" || storyId.trim() === "") {
|
|
392
|
+
throw new TypeError("Work Mesh projectId and storyId must be non-empty strings");
|
|
393
|
+
}
|
|
394
|
+
const body = { companyUid };
|
|
395
|
+
if (patch.status)
|
|
396
|
+
body.status = patch.status;
|
|
397
|
+
if (patch.assigneeUid)
|
|
398
|
+
body.assigneeUid = patch.assigneeUid;
|
|
399
|
+
if (patch.clearAssignee)
|
|
400
|
+
body.clearAssignee = true;
|
|
237
401
|
const view = asRecord(await meshJson(token, `/v1/work-mesh/projects/${encodeURIComponent(projectId)}/stories/${encodeURIComponent(storyId)}`, {
|
|
238
402
|
method: "PATCH",
|
|
239
|
-
body
|
|
403
|
+
body,
|
|
240
404
|
}));
|
|
241
405
|
if (view && typeof view.projectId === "string" && typeof view.companyUid === "string") {
|
|
242
406
|
writeMeshCacheFile(["projects", view.companyUid, `${view.projectId}.json`], view);
|
|
@@ -245,10 +409,99 @@ export async function patchStoryStatus(token, companyUid, projectId, storyId, st
|
|
|
245
409
|
const patched = stories
|
|
246
410
|
.map(asRecord)
|
|
247
411
|
.find((row) => row && row.id === storyId);
|
|
412
|
+
const assigneeUid = patch.clearAssignee
|
|
413
|
+
? typeof patched?.assigneeUid === "string"
|
|
414
|
+
? patched.assigneeUid
|
|
415
|
+
: null
|
|
416
|
+
: typeof patched?.assigneeUid === "string"
|
|
417
|
+
? patched.assigneeUid
|
|
418
|
+
: patch.assigneeUid ?? null;
|
|
248
419
|
return {
|
|
249
420
|
projectId: String(view?.projectId || projectId),
|
|
250
|
-
status: typeof patched?.status === "string" ? patched.status : status,
|
|
421
|
+
status: typeof patched?.status === "string" ? patched.status : patch.status || "",
|
|
251
422
|
version: typeof view?.version === "number" ? view.version : undefined,
|
|
423
|
+
assigneeUid,
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
export async function patchStoryStatus(token, companyUid, projectId, storyId, status) {
|
|
427
|
+
const patched = await patchStory(token, companyUid, projectId, storyId, { status });
|
|
428
|
+
return {
|
|
429
|
+
projectId: patched.projectId,
|
|
430
|
+
status: patched.status,
|
|
431
|
+
version: patched.version,
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
function projectViewFromResponse(view, companyUid, projectId) {
|
|
435
|
+
const returnedProjectId = String(view.projectId || projectId).trim();
|
|
436
|
+
const returnedCompanyUid = String(view.companyUid || companyUid).trim();
|
|
437
|
+
const stories = Array.isArray(view.stories)
|
|
438
|
+
? view.stories.filter((story) => asRecord(story))
|
|
439
|
+
: [];
|
|
440
|
+
const repos = Array.isArray(view.repos)
|
|
441
|
+
? view.repos.flatMap((repo) => {
|
|
442
|
+
const row = asRecord(repo);
|
|
443
|
+
const path = typeof row?.path === "string" ? row.path.trim() : "";
|
|
444
|
+
if (!path)
|
|
445
|
+
return [];
|
|
446
|
+
return [{ path, branch: typeof row?.branch === "string" ? row.branch.trim() : "" }];
|
|
447
|
+
})
|
|
448
|
+
: [];
|
|
449
|
+
return {
|
|
450
|
+
companyUid: returnedCompanyUid,
|
|
451
|
+
projectId: returnedProjectId,
|
|
452
|
+
name: String(view.name || returnedProjectId),
|
|
453
|
+
description: typeof view.description === "string" ? view.description : "",
|
|
454
|
+
stories,
|
|
455
|
+
repos,
|
|
456
|
+
version: typeof view.version === "number" ? view.version : undefined,
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
/** Read the full durable Board view before preparing a replacement PUT. */
|
|
460
|
+
export async function getProjectView(token, companyUid, projectId) {
|
|
461
|
+
const view = asRecord(await meshJson(token, `/v1/work-mesh/projects/${encodeURIComponent(projectId)}`, {
|
|
462
|
+
query: { companyUid },
|
|
463
|
+
}));
|
|
464
|
+
if (!view)
|
|
465
|
+
throw new Error("Work mesh returned an invalid project view");
|
|
466
|
+
return projectViewFromResponse(view, companyUid, projectId);
|
|
467
|
+
}
|
|
468
|
+
/** Replace a project's durable Board view and keep the local project cache current. */
|
|
469
|
+
export async function putProjectView(token, companyUid, projectId, input) {
|
|
470
|
+
const { expectedVersion, ...document } = input;
|
|
471
|
+
const view = asRecord(await meshJson(token, `/v1/work-mesh/projects/${encodeURIComponent(projectId)}`, {
|
|
472
|
+
method: "PUT",
|
|
473
|
+
body: {
|
|
474
|
+
companyUid,
|
|
475
|
+
...document,
|
|
476
|
+
...(expectedVersion !== undefined ? { expectedVersion } : {}),
|
|
477
|
+
},
|
|
478
|
+
...(expectedVersion !== undefined
|
|
479
|
+
? { headers: { "If-Match": String(expectedVersion) } }
|
|
480
|
+
: {}),
|
|
481
|
+
}));
|
|
482
|
+
if (!view)
|
|
483
|
+
throw new Error("Work mesh returned an invalid project view");
|
|
484
|
+
const result = projectViewFromResponse(view, companyUid, projectId);
|
|
485
|
+
writeMeshCacheFile(["projects", result.companyUid, `${result.projectId}.json`], view);
|
|
486
|
+
return result;
|
|
487
|
+
}
|
|
488
|
+
/** Register the project genesis thread and deterministic project channel. */
|
|
489
|
+
export async function registerMeshProject(token, companyUid, projectId, channelId) {
|
|
490
|
+
if (channelId !== undefined && !channelId.trim()) {
|
|
491
|
+
throw new Error("PROJECT_CHANNEL_INVALID: channelId must be non-empty");
|
|
492
|
+
}
|
|
493
|
+
const result = asRecord(await meshJson(token, `/v1/work-mesh/projects/${encodeURIComponent(projectId)}/register`, { method: "POST", body: { companyUid, ...(channelId ? { channelId: channelId.trim() } : {}) } }));
|
|
494
|
+
const threadId = String(result?.threadId || "").trim();
|
|
495
|
+
const registeredChannelId = String(result?.channelId || "").trim();
|
|
496
|
+
if (!threadId || !registeredChannelId) {
|
|
497
|
+
throw new Error("Work mesh registration did not return a threadId and channelId");
|
|
498
|
+
}
|
|
499
|
+
return {
|
|
500
|
+
companyUid: String(result?.companyUid || companyUid).trim(),
|
|
501
|
+
projectId: String(result?.projectId || projectId).trim(),
|
|
502
|
+
threadId,
|
|
503
|
+
channelId: registeredChannelId,
|
|
504
|
+
channelCreated: result?.channelCreated === true,
|
|
252
505
|
};
|
|
253
506
|
}
|
|
254
507
|
export function pairDmUidsFromInbox(inbox) {
|
|
@@ -355,15 +608,43 @@ export function meshCachePrincipalUid(tokens, fallbackToken) {
|
|
|
355
608
|
}
|
|
356
609
|
return "session";
|
|
357
610
|
}
|
|
611
|
+
function tokensIdentifySamePrincipal(token, candidate) {
|
|
612
|
+
if (token === candidate)
|
|
613
|
+
return true;
|
|
614
|
+
const tokenClaims = peekIdToken(token);
|
|
615
|
+
const candidateClaims = peekIdToken(candidate);
|
|
616
|
+
const tokenEntityUid = entityUidFromJwt(token);
|
|
617
|
+
const candidateEntityUid = entityUidFromJwt(candidate);
|
|
618
|
+
if (tokenEntityUid && candidateEntityUid && tokenEntityUid !== candidateEntityUid) {
|
|
619
|
+
return false;
|
|
620
|
+
}
|
|
621
|
+
for (const claim of ["sub", "cognito:username", "username", "email"]) {
|
|
622
|
+
const tokenValue = tokenClaims[claim];
|
|
623
|
+
const candidateValue = candidateClaims[claim];
|
|
624
|
+
if (typeof tokenValue === "string" &&
|
|
625
|
+
tokenValue.length > 0 &&
|
|
626
|
+
tokenValue === candidateValue) {
|
|
627
|
+
return true;
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
return false;
|
|
631
|
+
}
|
|
358
632
|
/**
|
|
359
|
-
* Resolve the
|
|
360
|
-
*
|
|
361
|
-
*
|
|
633
|
+
* Resolve the authenticated request principal. The request token is the source
|
|
634
|
+
* of truth; cached credentials may contribute an entity uid only when they
|
|
635
|
+
* identify the same caller. Only the uid is kept — credentials are discarded.
|
|
362
636
|
*/
|
|
363
637
|
export async function resolveMeshPrincipalUid(token, tokens) {
|
|
364
|
-
const
|
|
365
|
-
if (
|
|
366
|
-
return
|
|
638
|
+
const fromRequestToken = entityUidFromJwt(token);
|
|
639
|
+
if (fromRequestToken)
|
|
640
|
+
return fromRequestToken;
|
|
641
|
+
for (const candidate of [tokens?.idToken, tokens?.accessToken]) {
|
|
642
|
+
if (!candidate || !tokensIdentifySamePrincipal(token, candidate))
|
|
643
|
+
continue;
|
|
644
|
+
const uid = entityUidFromJwt(candidate);
|
|
645
|
+
if (uid)
|
|
646
|
+
return uid;
|
|
647
|
+
}
|
|
367
648
|
try {
|
|
368
649
|
const data = await meshJson(token, "/v1/realtime/credentials", {
|
|
369
650
|
method: "POST",
|
|
@@ -374,19 +655,8 @@ export async function resolveMeshPrincipalUid(token, tokens) {
|
|
|
374
655
|
return uid;
|
|
375
656
|
}
|
|
376
657
|
catch {
|
|
377
|
-
//
|
|
658
|
+
// Best-effort; callers must fail rather than claim work as "session".
|
|
378
659
|
}
|
|
379
|
-
return
|
|
380
|
-
}
|
|
381
|
-
export function callerLabelFromToken(token) {
|
|
382
|
-
const claims = peekIdToken(token);
|
|
383
|
-
const entityUid = claims["custom:entityUid"];
|
|
384
|
-
if (typeof entityUid === "string" && entityUid)
|
|
385
|
-
return entityUid;
|
|
386
|
-
if (typeof claims.email === "string" && claims.email)
|
|
387
|
-
return claims.email;
|
|
388
|
-
if (typeof claims.sub === "string" && claims.sub)
|
|
389
|
-
return claims.sub;
|
|
390
|
-
return "hq-cli";
|
|
660
|
+
return undefined;
|
|
391
661
|
}
|
|
392
662
|
//# sourceMappingURL=api.js.map
|