@indigoai-us/hq-cli 5.312.2-beta.0 → 5.314.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 +1 -4293
- package/assets/scaffold/core/scripts/checkpoint-stop-gate.sh +43 -281
- package/assets/scaffold/core/scripts/hook-lib.sh +50 -345
- package/assets/scaffold/core/scripts/hq-session.sh +23 -184
- package/assets/scaffold/core/scripts/lib/session-id.sh +2 -3
- package/assets/scaffold/core/scripts/lib/session-scope-capability.sh +1 -1
- package/assets/scaffold/core/scripts/lib/work-mesh-enqueue.sh +1 -2
- package/assets/scaffold/core/scripts/qmd-reindex-after-sync.sh +87 -10
- package/assets/scaffold/core/scripts/rebuild-company-knowledge-index.sh +3 -36
- package/assets/scaffold/core/scripts/rebuild-projects-index.sh +12 -99
- package/assets/scaffold/core/scripts/token-usage-report.sh +20 -81
- package/dist/bin/hq-auth-refresh.d.ts +0 -2
- package/dist/bin/hq-auth-refresh.js +6 -12
- package/dist/commands/__fixtures__/access-vault.d.ts +0 -2
- package/dist/commands/__fixtures__/access-vault.js +1 -1
- package/dist/commands/_patterns.d.ts +0 -16
- package/dist/commands/_patterns.js +3 -20
- package/dist/commands/access.d.ts +1 -2
- package/dist/commands/access.js +49 -58
- package/dist/commands/agents.d.ts +4 -106
- package/dist/commands/agents.js +45 -924
- package/dist/commands/auth.d.ts +0 -1
- package/dist/commands/auth.js +19 -189
- package/dist/commands/billing.d.ts +0 -3
- package/dist/commands/billing.js +1 -6
- package/dist/commands/channels.js +1 -56
- package/dist/commands/cloud-demote.js +2 -3
- package/dist/commands/cloud-provision.d.ts +0 -14
- package/dist/commands/cloud-provision.js +58 -232
- package/dist/commands/cloud.d.ts +15 -49
- package/dist/commands/cloud.js +122 -358
- package/dist/commands/company-transfer.d.ts +28 -4
- package/dist/commands/company-transfer.js +49 -5
- package/dist/commands/company.js +3 -66
- package/dist/commands/core-checkpoint.d.ts +9 -19
- package/dist/commands/core-checkpoint.js +37 -301
- package/dist/commands/core.d.ts +0 -4
- package/dist/commands/core.js +80 -270
- package/dist/commands/crm.js +3 -52
- package/dist/commands/db-provision.js +4 -4
- package/dist/commands/db-sql.js +21 -7
- package/dist/commands/dm.d.ts +12 -119
- package/dist/commands/dm.js +38 -388
- package/dist/commands/doctor.d.ts +0 -12
- package/dist/commands/doctor.js +12 -158
- package/dist/commands/feedback.d.ts +0 -6
- package/dist/commands/feedback.js +37 -86
- package/dist/commands/files-browse.d.ts +12 -32
- package/dist/commands/files-browse.js +60 -176
- package/dist/commands/files.d.ts +0 -17
- package/dist/commands/files.js +47 -300
- package/dist/commands/group-grants.js +2 -3
- package/dist/commands/groups.js +5 -6
- package/dist/commands/index-cmd.d.ts +1 -19
- package/dist/commands/index-cmd.js +7 -74
- package/dist/commands/integrations-api.d.ts +10 -15
- package/dist/commands/integrations-api.js +22 -27
- package/dist/commands/integrations-connect.d.ts +13 -51
- package/dist/commands/integrations-connect.js +71 -86
- package/dist/commands/integrations-core.d.ts +6 -6
- package/dist/commands/integrations-core.js +11 -25
- package/dist/commands/integrations-import.d.ts +1 -1
- package/dist/commands/integrations-import.js +24 -43
- package/dist/commands/integrations-manage.js +13 -20
- package/dist/commands/integrations.d.ts +0 -8
- package/dist/commands/integrations.js +7 -94
- package/dist/commands/login.js +6 -49
- package/dist/commands/mcp-registration.d.ts +25 -32
- package/dist/commands/mcp-registration.js +23 -256
- package/dist/commands/mcp-status.js +0 -1
- package/dist/commands/meetings.js +34 -55
- package/dist/commands/members.js +1 -5
- package/dist/commands/mesh.d.ts +0 -11
- package/dist/commands/mesh.js +76 -1086
- package/dist/commands/onboard-identity-guard.d.ts +1 -1
- package/dist/commands/onboard.js +5 -24
- package/dist/commands/pack-install.js +1 -3
- package/dist/commands/packs.js +1 -11
- package/dist/commands/people.d.ts +0 -4
- package/dist/commands/people.js +3 -37
- package/dist/commands/publish.d.ts +1 -8
- package/dist/commands/publish.js +4 -17
- package/dist/commands/reindex.js +6 -56
- package/dist/commands/rescue.d.ts +0 -4
- package/dist/commands/rescue.js +17 -27
- package/dist/commands/run.js +4 -18
- package/dist/commands/safe-extract.d.ts +2 -11
- package/dist/commands/safe-extract.js +8 -36
- package/dist/commands/scaffold-fast.d.ts +41 -0
- package/dist/commands/scaffold-fast.js +57 -0
- package/dist/commands/secrets.d.ts +2 -20
- package/dist/commands/secrets.js +71 -175
- package/dist/commands/skill.d.ts +4 -35
- package/dist/commands/skill.js +18 -357
- package/dist/commands/sync-mode.d.ts +0 -11
- package/dist/commands/sync-mode.js +0 -30
- package/dist/commands/sync-narrow.js +5 -36
- package/dist/commands/team-sync.js +10 -71
- package/dist/commands/update.js +0 -6
- package/dist/commands/whoami.d.ts +0 -22
- package/dist/commands/whoami.js +4 -137
- package/dist/commands/workers.d.ts +14 -2
- package/dist/commands/workers.js +10 -7
- package/dist/fast-core.d.ts +7 -6
- package/dist/fast-core.js +24 -80
- package/dist/index.d.ts +4 -3
- package/dist/index.js +9 -59
- package/dist/lazy-commands.d.ts +44 -20
- package/dist/lazy-commands.js +58 -60
- package/dist/lib/company-skill-wrapper.d.ts +0 -1
- package/dist/lib/company-skill-wrapper.js +29 -121
- package/dist/lib/core-utils/codex-skill-bridge.d.ts +1 -2
- package/dist/lib/core-utils/qmd-reindex-after-sync.d.ts +1 -14
- package/dist/lib/core-utils/qmd-reindex-after-sync.js +17 -101
- package/dist/lib/core-utils/soft-timeout.js +1 -1
- package/dist/lib/core-utils/timeout-guard.d.ts +3 -3
- package/dist/lib/core-utils/timeout-guard.js +13 -28
- package/dist/lib/core-utils/token-usage-report.js +3 -17
- package/dist/lib/db/control-plane.js +0 -6
- package/dist/lib/db/local.d.ts +5 -0
- package/dist/lib/db/local.js +1 -1
- package/dist/lib/db/migrate.d.ts +12 -0
- 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 +10 -0
- package/dist/lib/db/sql.js +8 -4
- 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/checks/claude-wiring.js +1 -70
- package/dist/lib/doctor/checks/codex-wiring.d.ts +4 -0
- package/dist/lib/doctor/checks/codex-wiring.js +35 -3
- package/dist/lib/doctor/checks/grok-wiring.js +34 -1
- package/dist/lib/doctor/checks/integrations.js +0 -11
- package/dist/lib/doctor/checks/runtime-health.d.ts +17 -4
- package/dist/lib/doctor/checks/runtime-health.js +7 -20
- package/dist/lib/doctor/checks/sync-health.d.ts +0 -21
- package/dist/lib/doctor/checks/sync-health.js +2 -72
- package/dist/lib/doctor/checks/work-context.js +6 -12
- package/dist/lib/doctor/compat.d.ts +16 -0
- package/dist/lib/doctor/compat.js +3 -4
- package/dist/lib/doctor/deep/effects.js +3 -1
- package/dist/lib/doctor/deep/executor.d.ts +10 -4
- package/dist/lib/doctor/deep/executor.js +1 -1
- package/dist/lib/doctor/deep/parity.d.ts +29 -2
- package/dist/lib/doctor/deep/parity.js +7 -7
- package/dist/lib/doctor/deep/sandbox.d.ts +25 -7
- package/dist/lib/doctor/deep/sandbox.js +7 -5
- package/dist/lib/doctor/fix/apply.d.ts +8 -79
- package/dist/lib/doctor/fix/apply.js +80 -292
- package/dist/lib/doctor/fix/remediation.d.ts +6 -14
- package/dist/lib/doctor/fix/remediation.js +9 -49
- package/dist/lib/doctor/fixtures/schema.js +3 -1
- package/dist/lib/doctor/json-output.d.ts +1 -17
- package/dist/lib/doctor/json-output.js +2 -7
- package/dist/lib/doctor/platform.d.ts +26 -0
- package/dist/lib/doctor/platform.js +5 -5
- package/dist/lib/doctor/registry.d.ts +0 -14
- package/dist/lib/doctor/registry.js +0 -71
- package/dist/lib/doctor/report.js +1 -1
- package/dist/lib/doctor/types.d.ts +0 -5
- package/dist/lib/doctor/types.js +0 -20
- package/dist/lib/flag-registry-worker.js +1 -12
- package/dist/lib/flag-registry.d.ts +6 -26
- package/dist/lib/flag-registry.js +16 -133
- package/dist/lib/index-render/companies.d.ts +1 -4
- package/dist/lib/index-render/companies.js +3 -66
- package/dist/lib/index-render/company-knowledge.js +17 -80
- package/dist/lib/index-render/index.d.ts +0 -1
- package/dist/lib/index-render/index.js +1 -2
- package/dist/lib/index-render/projects.js +5 -82
- package/dist/lib/index-render/shared.d.ts +1 -13
- package/dist/lib/index-render/shared.js +2 -41
- package/dist/lib/mesh/api.d.ts +10 -103
- package/dist/lib/mesh/api.js +64 -334
- package/dist/lib/mesh/client.d.ts +2 -3
- package/dist/lib/mesh/client.js +2 -3
- package/dist/lib/mesh/live/backfill-held.d.ts +16 -67
- package/dist/lib/mesh/live/backfill-held.js +61 -415
- package/dist/lib/mesh/live/backoff.d.ts +2 -2
- package/dist/lib/mesh/live/backoff.js +3 -16
- package/dist/lib/mesh/live/daemon/board-refresh.d.ts +1 -7
- package/dist/lib/mesh/live/daemon/board-refresh.js +30 -78
- package/dist/lib/mesh/live/daemon/credentials.d.ts +10 -64
- package/dist/lib/mesh/live/daemon/credentials.js +20 -270
- package/dist/lib/mesh/live/daemon/doctor.d.ts +0 -51
- package/dist/lib/mesh/live/daemon/doctor.js +6 -180
- package/dist/lib/mesh/live/daemon/index.d.ts +10 -13
- package/dist/lib/mesh/live/daemon/index.js +6 -7
- package/dist/lib/mesh/live/daemon/install.d.ts +1 -255
- package/dist/lib/mesh/live/daemon/install.js +13 -811
- package/dist/lib/mesh/live/daemon/paths.d.ts +0 -2
- package/dist/lib/mesh/live/daemon/paths.js +0 -2
- package/dist/lib/mesh/live/daemon/presence.d.ts +5 -24
- package/dist/lib/mesh/live/daemon/presence.js +10 -79
- package/dist/lib/mesh/live/daemon/run.d.ts +2 -48
- package/dist/lib/mesh/live/daemon/run.js +33 -485
- package/dist/lib/mesh/live/daemon/state.d.ts +2 -19
- package/dist/lib/mesh/live/daemon/state.js +2 -34
- package/dist/lib/mesh/live/daemon/transcript-watch.d.ts +9 -45
- package/dist/lib/mesh/live/daemon/transcript-watch.js +31 -227
- package/dist/lib/mesh/live/emit-client.d.ts +0 -8
- package/dist/lib/mesh/live/emit-client.js +8 -23
- package/dist/lib/mesh/live/emit-evidence.d.ts +0 -19
- package/dist/lib/mesh/live/emit-evidence.js +2 -20
- package/dist/lib/mesh/live/emit.d.ts +0 -9
- package/dist/lib/mesh/live/emit.js +2 -28
- package/dist/lib/mesh/live/enqueue.d.ts +0 -5
- package/dist/lib/mesh/live/enqueue.js +0 -19
- package/dist/lib/mesh/live/flush.d.ts +5 -17
- package/dist/lib/mesh/live/flush.js +38 -391
- package/dist/lib/mesh/live/format-spool-line.d.ts +2 -5
- package/dist/lib/mesh/live/format-spool-line.js +0 -10
- package/dist/lib/mesh/live/paths.d.ts +0 -2
- package/dist/lib/mesh/live/paths.js +0 -4
- package/dist/lib/mesh/live/session-event.schema.json +1 -24
- package/dist/lib/mesh/live/session-events-client.d.ts +0 -2
- package/dist/lib/mesh/live/session-events-client.js +0 -26
- package/dist/lib/mesh/live/spool.d.ts +0 -19
- package/dist/lib/mesh/live/spool.js +3 -269
- 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/plan-limit-nag.d.ts +6 -102
- package/dist/lib/plan-limit-nag.js +43 -348
- package/dist/lib/scan-packages/index.d.ts +0 -2
- package/dist/lib/scan-packages/index.js +6 -168
- package/dist/lib/search-index/background.d.ts +1 -8
- package/dist/lib/search-index/background.js +200 -55
- package/dist/lib/search-index/index.d.ts +0 -12
- package/dist/lib/search-index/index.js +7 -153
- package/dist/lib/work-context/company.d.ts +20 -22
- package/dist/lib/work-context/company.js +40 -124
- package/dist/lib/work-context/config.d.ts +11 -58
- package/dist/lib/work-context/config.js +83 -334
- package/dist/lib/work-context/contract.d.ts +0 -10
- package/dist/lib/work-context/index.d.ts +25 -0
- package/dist/lib/work-context/index.js +21 -0
- package/dist/lib/work-context/outbox.d.ts +1 -14
- package/dist/lib/work-context/outbox.js +1 -87
- package/dist/lib/work-context/reconcile.d.ts +0 -15
- package/dist/lib/work-context/reconcile.js +25 -380
- package/dist/lib/work-context/state.d.ts +10 -93
- package/dist/lib/work-context/state.js +29 -342
- package/dist/lib/workers-registry/index.js +8 -62
- package/dist/main.d.ts +0 -12
- package/dist/main.js +73 -266
- package/dist/node-network-compat.d.ts +30 -2
- package/dist/node-network-compat.js +51 -4
- package/dist/node-preflight.d.ts +1 -7
- package/dist/node-preflight.js +5 -5
- package/dist/register-all.d.ts +29 -4
- package/dist/register-all.js +233 -4
- package/dist/run/discover-schemas.d.ts +1 -2
- package/dist/run/env-graph-guard.d.ts +2 -2
- package/dist/run/env-graph-guard.js +2 -5
- package/dist/run/hq-plugin.d.ts +0 -4
- package/dist/run/hq-plugin.js +8 -36
- package/dist/sentry-before-send.js +0 -80
- package/dist/sentry.d.ts +2 -8
- package/dist/sentry.js +13 -117
- package/dist/startup-registration.d.ts +2 -26
- package/dist/startup-registration.js +15 -116
- package/dist/utils/cli-telemetry.d.ts +1 -74
- package/dist/utils/cli-telemetry.js +7 -434
- package/dist/utils/client-health.d.ts +4 -0
- package/dist/utils/client-health.js +2 -2
- package/dist/utils/cognito-session.d.ts +0 -71
- package/dist/utils/cognito-session.js +27 -481
- package/dist/utils/contribution-table.d.ts +1 -1
- package/dist/utils/environmental-error.d.ts +0 -18
- package/dist/utils/environmental-error.js +7 -240
- package/dist/utils/expected-cli-error.d.ts +0 -2
- package/dist/utils/expected-cli-error.js +0 -4
- package/dist/utils/feedback-diagnostics.d.ts +1 -2
- package/dist/utils/feedback-log-bundle.d.ts +26 -51
- package/dist/utils/feedback-log-bundle.js +31 -211
- package/dist/utils/feedback-logs.d.ts +47 -18
- package/dist/utils/feedback-logs.js +21 -50
- package/dist/utils/feedback-screenshots.d.ts +1 -0
- package/dist/utils/feedback-screenshots.js +1 -1
- package/dist/utils/hq-roots.d.ts +2 -25
- package/dist/utils/hq-roots.js +7 -67
- package/dist/utils/incomplete-install-error.d.ts +19 -87
- package/dist/utils/incomplete-install-error.js +68 -319
- package/dist/utils/install-tree-torn.d.ts +24 -260
- package/dist/utils/install-tree-torn.js +51 -998
- package/dist/utils/large-file-guard.d.ts +10 -0
- package/dist/utils/large-file-guard.js +1 -1
- package/dist/utils/local-files-overview.d.ts +8 -4
- package/dist/utils/local-files-overview.js +7 -48
- package/dist/utils/login-provider.d.ts +0 -7
- package/dist/utils/login-provider.js +0 -34
- package/dist/utils/pack-contributions.d.ts +9 -2
- package/dist/utils/pack-contributions.js +43 -6
- package/dist/utils/package-root-diagnostics.d.ts +1 -1
- package/dist/utils/people.d.ts +11 -7
- package/dist/utils/people.js +20 -5
- package/dist/utils/plan-gate-error.d.ts +10 -52
- package/dist/utils/plan-gate-error.js +41 -364
- package/dist/utils/qmd-model-download-error.d.ts +8 -0
- package/dist/utils/qmd-model-download-error.js +1 -1
- package/dist/utils/qmd-query-document-error.d.ts +6 -0
- package/dist/utils/qmd-query-document-error.js +1 -1
- package/dist/utils/redact-error-text.js +1 -2
- package/dist/utils/run-bundled-script.d.ts +0 -6
- package/dist/utils/run-bundled-script.js +4 -117
- package/dist/utils/secrets-cache.d.ts +3 -7
- package/dist/utils/secrets-cache.js +14 -162
- package/dist/utils/self-update.d.ts +1 -34
- package/dist/utils/self-update.js +42 -660
- package/dist/utils/sentry-fingerprint.d.ts +1 -23
- package/dist/utils/sentry-fingerprint.js +31 -223
- package/dist/utils/team-upgrade.d.ts +1 -1
- package/dist/utils/team-upgrade.js +3 -4
- package/dist/utils/vault-api.d.ts +1 -21
- package/dist/utils/vault-api.js +84 -251
- package/dist/utils/version-check.d.ts +1 -11
- package/dist/utils/version-check.js +3 -32
- package/dist/utils/version-gate.d.ts +17 -101
- package/dist/utils/version-gate.js +70 -645
- package/dist/utils/windows-spawn.d.ts +0 -6
- package/dist/utils/windows-spawn.js +0 -37
- package/package.json +8 -20
- package/README.md +0 -113
- package/assets/bot-workers/setup/context/USER-GUIDE.md +0 -404
- package/assets/bot-workers/setup/context/quick-reference.md +0 -199
- package/assets/bot-workers/setup/skills/agents-and-team.md +0 -167
- package/assets/bot-workers/setup/skills/explain-hq.md +0 -35
- package/assets/bot-workers/setup/skills/first-company.md +0 -74
- package/assets/bot-workers/setup/skills/joining-a-team.md +0 -125
- package/assets/bot-workers/setup/skills/pricing.md +0 -92
- package/assets/bot-workers/setup/skills/standing-help.md +0 -81
- package/assets/bot-workers/setup/skills/your-business.md +0 -281
- package/assets/bot-workers/setup/worker.yaml +0 -791
- package/assets/lanes-hooks/hq-lanes-drain.json +0 -15
- package/assets/lanes-hooks/hq-lanes-drain.mjs +0 -275
- package/assets/lanes-hooks/hq-lanes-drain.sh +0 -21
- package/assets/lanes-reconcile/hq-lanes-reconcile.service +0 -11
- package/assets/lanes-reconcile/hq-lanes-reconcile.timer +0 -12
- package/assets/scaffold/.claude/hooks/validate-policy-frontmatter.sh +0 -485
- package/assets/scaffold/core/scripts/audit-log.sh +0 -384
- package/assets/scaffold/core/scripts/clean-worktree-reconcile-handoff.sh +0 -171
- package/assets/scaffold/core/scripts/eval-trigger.sh +0 -193
- package/assets/scaffold/core/scripts/git-pack-extension-check.sh +0 -164
- package/assets/scaffold/core/scripts/handoff-finalize.sh +0 -688
- package/assets/scaffold/core/scripts/handoff-open-steps.sh +0 -81
- package/assets/scaffold/core/scripts/handoff-post.sh +0 -252
- package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +0 -307
- package/assets/scaffold/core/scripts/hq-delegate-grant.sh +0 -252
- package/assets/scaffold/core/scripts/hq-delegate-pickup.sh +0 -99
- package/assets/scaffold/core/scripts/hq-delegate-publish.sh +0 -91
- package/assets/scaffold/core/scripts/hq-delegate-repo.sh +0 -158
- package/assets/scaffold/core/scripts/hq-delegate-resolve.sh +0 -145
- package/assets/scaffold/core/scripts/hq-delegate-secrets.sh +0 -129
- package/assets/scaffold/core/scripts/hq-delegate-send.sh +0 -259
- package/assets/scaffold/core/scripts/hq-delegate-transfer.sh +0 -175
- package/assets/scaffold/core/scripts/hq-delegate-verify.sh +0 -238
- package/assets/scaffold/core/scripts/hq-dm-bind.sh +0 -585
- package/assets/scaffold/core/scripts/hq-job-notify.sh +0 -389
- package/assets/scaffold/core/scripts/hq-job-probe.sh +0 -835
- package/assets/scaffold/core/scripts/hq-job-remediate.sh +0 -359
- package/assets/scaffold/core/scripts/hq-job-run.sh +0 -1025
- package/assets/scaffold/core/scripts/hq-pin.sh +0 -118
- package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +0 -310
- package/assets/scaffold/core/scripts/jobs-validate.sh +0 -451
- package/assets/scaffold/core/scripts/knowledge-prefs.sh +0 -55
- package/assets/scaffold/core/scripts/lib/portable.sh +0 -211
- package/assets/scaffold/core/scripts/lib/secret-patterns.sh +0 -58
- package/assets/scaffold/core/scripts/ontology-audience-grant.sh +0 -81
- package/assets/scaffold/core/scripts/ontology-brief.mjs +0 -93
- package/assets/scaffold/core/scripts/ontology-candidate.sh +0 -100
- package/assets/scaffold/core/scripts/ontology-garden.mjs +0 -238
- package/assets/scaffold/core/scripts/ontology-source-worklist.sh +0 -79
- package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +0 -834
- package/assets/scaffold/core/scripts/policy-age-report.sh +0 -156
- package/assets/scaffold/core/scripts/policy-retire.sh +0 -199
- package/assets/scaffold/core/scripts/qmd-reindex-bg.sh +0 -40
- package/assets/scaffold/core/scripts/read-policy-frontmatter.sh +0 -32
- package/assets/scaffold/core/scripts/refresh-vault-access.sh +0 -188
- package/assets/scaffold/core/scripts/resolve-company.sh +0 -199
- package/assets/scaffold/core/scripts/resume-thread-lock.sh +0 -285
- package/assets/scaffold/core/scripts/source-yaml-validate.sh +0 -36
- package/assets/scaffold/core/scripts/verify-story-deliverables.sh +0 -148
- package/assets/scaffold/core/scripts/work-mesh-live-bind-trusted.sh +0 -152
- package/assets/scaffold/core/scripts/worktree-gc.sh +0 -362
- package/contracts/preflight/v1/fixtures.json +0 -87
- package/contracts/preflight/v1/schema.json +0 -58
- package/dist/command-catalog.generated.d.ts +0 -10655
- package/dist/command-catalog.generated.js +0 -13737
- package/dist/command-registration-plan.d.ts +0 -474
- package/dist/command-registration-plan.js +0 -136
- package/dist/commands/agent-enroll.d.ts +0 -146
- package/dist/commands/agent-enroll.js +0 -401
- package/dist/commands/agent-inbox.d.ts +0 -9
- package/dist/commands/agent-inbox.js +0 -102
- package/dist/commands/agent-kit.d.ts +0 -87
- package/dist/commands/agent-kit.js +0 -480
- package/dist/commands/agent-mcp.d.ts +0 -24
- package/dist/commands/agent-mcp.js +0 -127
- package/dist/commands/agent-probe.d.ts +0 -77
- package/dist/commands/agent-probe.js +0 -335
- package/dist/commands/agent.d.ts +0 -13
- package/dist/commands/agent.js +0 -40
- package/dist/commands/billing-sponsor.d.ts +0 -83
- package/dist/commands/billing-sponsor.js +0 -344
- package/dist/commands/bot-companies.d.ts +0 -40
- package/dist/commands/bot-companies.js +0 -64
- package/dist/commands/bot-continuity.d.ts +0 -28
- package/dist/commands/bot-continuity.js +0 -68
- package/dist/commands/bot-jobs.d.ts +0 -127
- package/dist/commands/bot-jobs.js +0 -454
- package/dist/commands/bot.d.ts +0 -278
- package/dist/commands/bot.js +0 -1982
- package/dist/commands/cloud-retire.d.ts +0 -51
- package/dist/commands/cloud-retire.js +0 -154
- package/dist/commands/core-audit-log-native.d.ts +0 -9
- package/dist/commands/core-audit-log-native.js +0 -257
- package/dist/commands/core-checkpoint-gate-setting.d.ts +0 -59
- package/dist/commands/core-checkpoint-gate-setting.js +0 -163
- package/dist/commands/core-checkpoint-stop-gate-native.d.ts +0 -34
- package/dist/commands/core-checkpoint-stop-gate-native.js +0 -725
- package/dist/commands/core-command-catalog.d.ts +0 -34
- package/dist/commands/core-command-catalog.js +0 -62
- package/dist/commands/core-company-index-scope-flag.d.ts +0 -3
- package/dist/commands/core-company-index-scope-flag.js +0 -6
- package/dist/commands/core-delegate-w1b.d.ts +0 -10
- package/dist/commands/core-delegate-w1b.js +0 -1219
- package/dist/commands/core-delegate.d.ts +0 -46
- package/dist/commands/core-delegate.js +0 -1040
- package/dist/commands/core-dm-bind-native.d.ts +0 -32
- package/dist/commands/core-dm-bind-native.js +0 -668
- package/dist/commands/core-git-pack-extension-check-native.d.ts +0 -22
- package/dist/commands/core-git-pack-extension-check-native.js +0 -190
- package/dist/commands/core-handoff-fast.d.ts +0 -18
- package/dist/commands/core-handoff-fast.js +0 -104
- package/dist/commands/core-handoff-open-steps.d.ts +0 -21
- package/dist/commands/core-handoff-open-steps.js +0 -264
- package/dist/commands/core-handoff.d.ts +0 -24
- package/dist/commands/core-handoff.js +0 -1144
- package/dist/commands/core-hq-session-native.d.ts +0 -39
- package/dist/commands/core-hq-session-native.js +0 -579
- package/dist/commands/core-job-native-utils.d.ts +0 -6
- package/dist/commands/core-job-native-utils.js +0 -80
- package/dist/commands/core-job-native.d.ts +0 -5
- package/dist/commands/core-job-native.js +0 -16
- package/dist/commands/core-job-notify-native.d.ts +0 -36
- package/dist/commands/core-job-notify-native.js +0 -359
- package/dist/commands/core-job-probe-native.d.ts +0 -45
- package/dist/commands/core-job-probe-native.js +0 -564
- package/dist/commands/core-job-remediate-native.d.ts +0 -26
- package/dist/commands/core-job-remediate-native.js +0 -374
- package/dist/commands/core-job-remote-launcher.d.ts +0 -7
- package/dist/commands/core-job-remote-launcher.js +0 -51
- package/dist/commands/core-job-run-native.d.ts +0 -47
- package/dist/commands/core-job-run-native.js +0 -1215
- package/dist/commands/core-jobs-native.d.ts +0 -25
- package/dist/commands/core-jobs-native.js +0 -1339
- package/dist/commands/core-knowledge-prefs.d.ts +0 -12
- package/dist/commands/core-knowledge-prefs.js +0 -137
- package/dist/commands/core-native-handoff-flag.d.ts +0 -4
- package/dist/commands/core-native-handoff-flag.js +0 -7
- package/dist/commands/core-native-jobs-flag.d.ts +0 -4
- package/dist/commands/core-native-jobs-flag.js +0 -7
- package/dist/commands/core-native-policy-flag.d.ts +0 -9
- package/dist/commands/core-native-policy-flag.js +0 -12
- package/dist/commands/core-native-session-flag.d.ts +0 -4
- package/dist/commands/core-native-session-flag.js +0 -7
- package/dist/commands/core-native-utilities-flag.d.ts +0 -4
- package/dist/commands/core-native-utilities-flag.js +0 -7
- package/dist/commands/core-native-utilities.d.ts +0 -29
- package/dist/commands/core-native-utilities.js +0 -54
- package/dist/commands/core-native-worker-skills-flag.d.ts +0 -4
- package/dist/commands/core-native-worker-skills-flag.js +0 -7
- package/dist/commands/core-ontology-native.d.ts +0 -17
- package/dist/commands/core-ontology-native.js +0 -916
- package/dist/commands/core-ontology.d.ts +0 -66
- package/dist/commands/core-ontology.js +0 -430
- package/dist/commands/core-pin-native.d.ts +0 -14
- package/dist/commands/core-pin-native.js +0 -236
- package/dist/commands/core-policy-frontmatter.d.ts +0 -8
- package/dist/commands/core-policy-frontmatter.js +0 -52
- package/dist/commands/core-policy.d.ts +0 -14
- package/dist/commands/core-policy.js +0 -1018
- package/dist/commands/core-refresh-vault-access-native.d.ts +0 -20
- package/dist/commands/core-refresh-vault-access-native.js +0 -229
- package/dist/commands/core-resolve-company-command.d.ts +0 -4
- package/dist/commands/core-resolve-company-command.js +0 -42
- package/dist/commands/core-resolve-company-native.d.ts +0 -28
- package/dist/commands/core-resolve-company-native.js +0 -408
- package/dist/commands/core-work-mesh-bind-trusted-native.d.ts +0 -32
- package/dist/commands/core-work-mesh-bind-trusted-native.js +0 -190
- package/dist/commands/core-worker-lint-native.d.ts +0 -4
- package/dist/commands/core-worker-lint-native.js +0 -160
- package/dist/commands/core-worker-share-native.d.ts +0 -5
- package/dist/commands/core-worker-share-native.js +0 -260
- package/dist/commands/core-worker-skills-command.d.ts +0 -8
- package/dist/commands/core-worker-skills-command.js +0 -33
- package/dist/commands/core-worker-skills-runtime.d.ts +0 -33
- package/dist/commands/core-worker-skills-runtime.js +0 -86
- package/dist/commands/daemon.d.ts +0 -63
- package/dist/commands/daemon.js +0 -877
- package/dist/commands/deploy-comments.d.ts +0 -3
- package/dist/commands/deploy-comments.js +0 -162
- package/dist/commands/lanes-accounts.d.ts +0 -28
- package/dist/commands/lanes-accounts.js +0 -595
- package/dist/commands/lanes-autopilot.d.ts +0 -11
- package/dist/commands/lanes-autopilot.js +0 -336
- package/dist/commands/lanes-checks.d.ts +0 -51
- package/dist/commands/lanes-checks.js +0 -941
- package/dist/commands/lanes-hold.d.ts +0 -43
- package/dist/commands/lanes-hold.js +0 -655
- package/dist/commands/lanes-kpis.d.ts +0 -11
- package/dist/commands/lanes-kpis.js +0 -34
- package/dist/commands/lanes-message.d.ts +0 -9
- package/dist/commands/lanes-message.js +0 -934
- package/dist/commands/lanes-move.d.ts +0 -12
- package/dist/commands/lanes-move.js +0 -397
- package/dist/commands/lanes-questions.d.ts +0 -36
- package/dist/commands/lanes-questions.js +0 -1004
- package/dist/commands/lanes-report.d.ts +0 -11
- package/dist/commands/lanes-report.js +0 -333
- package/dist/commands/lanes-resume.d.ts +0 -6
- package/dist/commands/lanes-resume.js +0 -561
- package/dist/commands/lanes-review.d.ts +0 -10
- package/dist/commands/lanes-review.js +0 -56
- package/dist/commands/lanes-shared.d.ts +0 -448
- package/dist/commands/lanes-shared.js +0 -170
- package/dist/commands/lanes-stories.d.ts +0 -15
- package/dist/commands/lanes-stories.js +0 -347
- package/dist/commands/lanes-watch.d.ts +0 -7
- package/dist/commands/lanes-watch.js +0 -216
- package/dist/commands/lanes.d.ts +0 -149
- package/dist/commands/lanes.js +0 -8843
- package/dist/commands/monitor.d.ts +0 -58
- package/dist/commands/monitor.js +0 -980
- package/dist/commands/onboard-bot-membership.d.ts +0 -32
- package/dist/commands/onboard-bot-membership.js +0 -40
- package/dist/commands/onboard-create-identity.d.ts +0 -26
- package/dist/commands/onboard-create-identity.js +0 -23
- package/dist/commands/outpost-pruner.d.ts +0 -3
- package/dist/commands/outpost-pruner.js +0 -125
- package/dist/commands/personal-connector-settings-flag.d.ts +0 -4
- package/dist/commands/personal-connector-settings-flag.js +0 -7
- package/dist/commands/personal-targeted-push-flag.d.ts +0 -4
- package/dist/commands/personal-targeted-push-flag.js +0 -7
- package/dist/commands/personal-targeted-push-paths.d.ts +0 -3
- package/dist/commands/personal-targeted-push-paths.js +0 -67
- package/dist/commands/report.d.ts +0 -19
- package/dist/commands/report.js +0 -537
- package/dist/commands/run-feature-telemetry.d.ts +0 -3
- package/dist/commands/run-feature-telemetry.js +0 -6
- package/dist/commands/staff/reset-test-account.d.ts +0 -110
- package/dist/commands/staff/reset-test-account.js +0 -268
- package/dist/commands/staff/test-account.d.ts +0 -51
- package/dist/commands/staff/test-account.js +0 -196
- package/dist/commands/vault-retention-flag.d.ts +0 -3
- package/dist/commands/vault-retention-flag.js +0 -9
- package/dist/commands/vault-retention.d.ts +0 -11
- package/dist/commands/vault-retention.js +0 -69
- package/dist/commands/version.d.ts +0 -10
- package/dist/commands/version.js +0 -11
- package/dist/fast-scaffold.d.ts +0 -84
- package/dist/fast-scaffold.js +0 -353
- package/dist/lanes-drain-hook.d.ts +0 -14
- package/dist/lanes-drain-hook.js +0 -203
- package/dist/lib/agent-kit/adopt-identity.d.ts +0 -27
- package/dist/lib/agent-kit/adopt-identity.js +0 -60
- package/dist/lib/agent-kit/attachment-download.d.ts +0 -24
- package/dist/lib/agent-kit/attachment-download.js +0 -47
- package/dist/lib/agent-kit/creds.d.ts +0 -106
- package/dist/lib/agent-kit/creds.js +0 -163
- package/dist/lib/agent-kit/fallback.d.ts +0 -78
- package/dist/lib/agent-kit/fallback.js +0 -210
- package/dist/lib/agent-kit/inbox-state.d.ts +0 -83
- package/dist/lib/agent-kit/inbox-state.js +0 -159
- package/dist/lib/agent-kit/kit-config.d.ts +0 -56
- package/dist/lib/agent-kit/kit-config.js +0 -65
- package/dist/lib/agent-kit/log.d.ts +0 -16
- package/dist/lib/agent-kit/log.js +0 -46
- package/dist/lib/agent-kit/mcp/attachments.d.ts +0 -126
- package/dist/lib/agent-kit/mcp/attachments.js +0 -222
- package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +0 -75
- package/dist/lib/agent-kit/mcp/jsonrpc.js +0 -164
- package/dist/lib/agent-kit/mcp/tools.d.ts +0 -64
- package/dist/lib/agent-kit/mcp/tools.js +0 -397
- package/dist/lib/agent-kit/paths.d.ts +0 -65
- package/dist/lib/agent-kit/paths.js +0 -118
- package/dist/lib/agent-kit/private-file.d.ts +0 -29
- package/dist/lib/agent-kit/private-file.js +0 -91
- package/dist/lib/agent-kit/run/heartbeat.d.ts +0 -72
- package/dist/lib/agent-kit/run/heartbeat.js +0 -128
- package/dist/lib/agent-kit/run/inbox.d.ts +0 -76
- package/dist/lib/agent-kit/run/inbox.js +0 -205
- package/dist/lib/agent-kit/run/supervisor.d.ts +0 -35
- package/dist/lib/agent-kit/run/supervisor.js +0 -85
- package/dist/lib/agent-kit/run/sync.d.ts +0 -33
- package/dist/lib/agent-kit/run/sync.js +0 -58
- package/dist/lib/agent-kit/services.d.ts +0 -31
- package/dist/lib/agent-kit/services.js +0 -55
- package/dist/lib/agent-kit/skills.d.ts +0 -18
- package/dist/lib/agent-kit/skills.js +0 -151
- package/dist/lib/agent-kit/wake.d.ts +0 -83
- package/dist/lib/agent-kit/wake.js +0 -243
- package/dist/lib/agents/model-catalog.d.ts +0 -62
- package/dist/lib/agents/model-catalog.js +0 -275
- package/dist/lib/auth-login-provider-state.d.ts +0 -8
- package/dist/lib/auth-login-provider-state.js +0 -63
- package/dist/lib/aws-sdk-node-warning-output.d.ts +0 -12
- package/dist/lib/aws-sdk-node-warning-output.js +0 -22
- package/dist/lib/billing/free-month.d.ts +0 -18
- package/dist/lib/billing/free-month.js +0 -31
- package/dist/lib/billing/plan-limit-refusals.d.ts +0 -69
- package/dist/lib/billing/plan-limit-refusals.js +0 -187
- package/dist/lib/billing/plan-limit-upgrade-url.d.ts +0 -11
- package/dist/lib/billing/plan-limit-upgrade-url.js +0 -66
- package/dist/lib/billing/plan-lock.d.ts +0 -143
- package/dist/lib/billing/plan-lock.js +0 -439
- package/dist/lib/bot/api.d.ts +0 -349
- package/dist/lib/bot/api.js +0 -316
- package/dist/lib/bot/attachments.d.ts +0 -45
- package/dist/lib/bot/attachments.js +0 -89
- package/dist/lib/bot/cli-update.d.ts +0 -138
- package/dist/lib/bot/cli-update.js +0 -278
- package/dist/lib/bot/company-bind.d.ts +0 -27
- package/dist/lib/bot/company-bind.js +0 -62
- package/dist/lib/bot/config.d.ts +0 -153
- package/dist/lib/bot/config.js +0 -233
- package/dist/lib/bot/continuity-download.d.ts +0 -28
- package/dist/lib/bot/continuity-download.js +0 -75
- package/dist/lib/bot/continuity-install.d.ts +0 -14
- package/dist/lib/bot/continuity-install.js +0 -101
- package/dist/lib/bot/continuity.d.ts +0 -67
- package/dist/lib/bot/continuity.js +0 -301
- package/dist/lib/bot/creds.d.ts +0 -24
- package/dist/lib/bot/creds.js +0 -51
- package/dist/lib/bot/daemon.d.ts +0 -173
- package/dist/lib/bot/daemon.js +0 -552
- package/dist/lib/bot/inbox-poll-backoff-flag.d.ts +0 -24
- package/dist/lib/bot/inbox-poll-backoff-flag.js +0 -135
- package/dist/lib/bot/inbox-state.d.ts +0 -18
- package/dist/lib/bot/inbox-state.js +0 -51
- package/dist/lib/bot/index.d.ts +0 -23
- package/dist/lib/bot/index.js +0 -23
- package/dist/lib/bot/inflight.d.ts +0 -119
- package/dist/lib/bot/inflight.js +0 -83
- package/dist/lib/bot/job-completions.d.ts +0 -89
- package/dist/lib/bot/job-completions.js +0 -132
- package/dist/lib/bot/job-run.d.ts +0 -109
- package/dist/lib/bot/job-run.js +0 -246
- package/dist/lib/bot/local-config.d.ts +0 -61
- package/dist/lib/bot/local-config.js +0 -145
- package/dist/lib/bot/local-jobs.d.ts +0 -89
- package/dist/lib/bot/local-jobs.js +0 -459
- package/dist/lib/bot/local-name.d.ts +0 -54
- package/dist/lib/bot/local-name.js +0 -114
- package/dist/lib/bot/log.d.ts +0 -13
- package/dist/lib/bot/log.js +0 -59
- package/dist/lib/bot/owner-context.d.ts +0 -79
- package/dist/lib/bot/owner-context.js +0 -175
- package/dist/lib/bot/paths.d.ts +0 -76
- package/dist/lib/bot/paths.js +0 -131
- package/dist/lib/bot/progress.d.ts +0 -132
- package/dist/lib/bot/progress.js +0 -289
- package/dist/lib/bot/promote.d.ts +0 -16
- package/dist/lib/bot/promote.js +0 -106
- package/dist/lib/bot/promotion-hold.d.ts +0 -24
- package/dist/lib/bot/promotion-hold.js +0 -103
- package/dist/lib/bot/promotion-receipt.d.ts +0 -9
- package/dist/lib/bot/promotion-receipt.js +0 -56
- package/dist/lib/bot/promotion-upload.d.ts +0 -16
- package/dist/lib/bot/promotion-upload.js +0 -80
- package/dist/lib/bot/prompt.d.ts +0 -136
- package/dist/lib/bot/prompt.js +0 -433
- package/dist/lib/bot/room-policy.d.ts +0 -63
- package/dist/lib/bot/room-policy.js +0 -91
- package/dist/lib/bot/run.d.ts +0 -217
- package/dist/lib/bot/run.js +0 -1869
- package/dist/lib/bot/runnable.d.ts +0 -51
- package/dist/lib/bot/runnable.js +0 -65
- package/dist/lib/bot/runtime/claude.d.ts +0 -50
- package/dist/lib/bot/runtime/claude.js +0 -170
- package/dist/lib/bot/runtime/codex.d.ts +0 -28
- package/dist/lib/bot/runtime/codex.js +0 -153
- package/dist/lib/bot/runtime/grok-acp.d.ts +0 -40
- package/dist/lib/bot/runtime/grok-acp.js +0 -265
- package/dist/lib/bot/runtime/grok.d.ts +0 -41
- package/dist/lib/bot/runtime/grok.js +0 -169
- package/dist/lib/bot/runtime/index.d.ts +0 -36
- package/dist/lib/bot/runtime/index.js +0 -417
- package/dist/lib/bot/runtime/messages-stream.d.ts +0 -56
- package/dist/lib/bot/runtime/messages-stream.js +0 -194
- package/dist/lib/bot/runtime/sanitize.d.ts +0 -18
- package/dist/lib/bot/runtime/sanitize.js +0 -28
- package/dist/lib/bot/runtime/types.d.ts +0 -159
- package/dist/lib/bot/runtime/types.js +0 -51
- package/dist/lib/bot/runtime/windows.d.ts +0 -10
- package/dist/lib/bot/runtime/windows.js +0 -53
- package/dist/lib/bot/runtime-sign-in.d.ts +0 -24
- package/dist/lib/bot/runtime-sign-in.js +0 -31
- package/dist/lib/bot/scaffold.d.ts +0 -38
- package/dist/lib/bot/scaffold.js +0 -94
- package/dist/lib/bot/self-heal.d.ts +0 -52
- package/dist/lib/bot/self-heal.js +0 -79
- package/dist/lib/bot/self-process.d.ts +0 -19
- package/dist/lib/bot/self-process.js +0 -35
- package/dist/lib/bot/session.d.ts +0 -19
- package/dist/lib/bot/session.js +0 -39
- package/dist/lib/bot/setup-explain.d.ts +0 -64
- package/dist/lib/bot/setup-explain.js +0 -141
- package/dist/lib/bot/split.d.ts +0 -32
- package/dist/lib/bot/split.js +0 -241
- package/dist/lib/bot/status.d.ts +0 -57
- package/dist/lib/bot/status.js +0 -66
- package/dist/lib/bot/worker-source.d.ts +0 -66
- package/dist/lib/bot/worker-source.js +0 -283
- package/dist/lib/checkpoint-ontology/aliases.d.ts +0 -17
- package/dist/lib/checkpoint-ontology/aliases.js +0 -44
- package/dist/lib/checkpoint-ontology/apply.d.ts +0 -110
- package/dist/lib/checkpoint-ontology/apply.js +0 -777
- package/dist/lib/checkpoint-ontology/company-brief.d.ts +0 -18
- package/dist/lib/checkpoint-ontology/company-brief.js +0 -337
- package/dist/lib/checkpoint-ontology/company.d.ts +0 -44
- package/dist/lib/checkpoint-ontology/company.js +0 -118
- package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +0 -41
- package/dist/lib/checkpoint-ontology/drop-aliases.js +0 -76
- package/dist/lib/checkpoint-ontology/entity-file.d.ts +0 -109
- package/dist/lib/checkpoint-ontology/entity-file.js +0 -371
- package/dist/lib/checkpoint-ontology/identity.d.ts +0 -38
- package/dist/lib/checkpoint-ontology/identity.js +0 -95
- package/dist/lib/checkpoint-ontology/merge-copies.d.ts +0 -199
- package/dist/lib/checkpoint-ontology/merge-copies.js +0 -1086
- package/dist/lib/checkpoint-ontology/multi-writer.d.ts +0 -101
- package/dist/lib/checkpoint-ontology/multi-writer.js +0 -394
- package/dist/lib/checkpoint-ontology/plan.d.ts +0 -193
- package/dist/lib/checkpoint-ontology/plan.js +0 -504
- package/dist/lib/checkpoint-ontology/queued-touches.d.ts +0 -29
- package/dist/lib/checkpoint-ontology/queued-touches.js +0 -193
- package/dist/lib/checkpoint-ontology/sync-client.d.ts +0 -38
- package/dist/lib/checkpoint-ontology/sync-client.js +0 -84
- package/dist/lib/checkpoint-ontology/tree.d.ts +0 -55
- package/dist/lib/checkpoint-ontology/tree.js +0 -198
- package/dist/lib/company-errors-sdk-warning-flag.d.ts +0 -5
- package/dist/lib/company-errors-sdk-warning-flag.js +0 -8
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.d.ts +0 -20
- package/dist/lib/core-utils/hook-timeout-debug-context-flag.js +0 -81
- package/dist/lib/core-utils/jq-json-serializer.d.ts +0 -5
- package/dist/lib/core-utils/jq-json-serializer.js +0 -10
- package/dist/lib/core-utils/secret-patterns.d.ts +0 -43
- package/dist/lib/core-utils/secret-patterns.js +0 -34
- package/dist/lib/core-utils/sentry-report.d.ts +0 -114
- package/dist/lib/core-utils/sentry-report.js +0 -1034
- package/dist/lib/core-utils/timeout-guard-native.d.ts +0 -7
- package/dist/lib/core-utils/timeout-guard-native.js +0 -40
- package/dist/lib/core-utils/worktree-resume.d.ts +0 -20
- package/dist/lib/core-utils/worktree-resume.js +0 -1198
- package/dist/lib/daemon/catalog.d.ts +0 -134
- package/dist/lib/daemon/catalog.js +0 -358
- package/dist/lib/daemon/config.d.ts +0 -35
- package/dist/lib/daemon/config.js +0 -108
- package/dist/lib/daemon/flag.d.ts +0 -25
- package/dist/lib/daemon/flag.js +0 -59
- package/dist/lib/daemon/handoff.d.ts +0 -56
- package/dist/lib/daemon/handoff.js +0 -161
- package/dist/lib/daemon/hq-cloud.d.ts +0 -79
- package/dist/lib/daemon/hq-cloud.js +0 -183
- package/dist/lib/daemon/install.d.ts +0 -85
- package/dist/lib/daemon/install.js +0 -320
- package/dist/lib/daemon/legacy-sync-env.d.ts +0 -10
- package/dist/lib/daemon/legacy-sync-env.js +0 -58
- package/dist/lib/daemon/legacy.d.ts +0 -45
- package/dist/lib/daemon/legacy.js +0 -133
- package/dist/lib/daemon/lock.d.ts +0 -47
- package/dist/lib/daemon/lock.js +0 -138
- package/dist/lib/daemon/machine-type.d.ts +0 -50
- package/dist/lib/daemon/machine-type.js +0 -159
- package/dist/lib/daemon/migrate.d.ts +0 -77
- package/dist/lib/daemon/migrate.js +0 -265
- package/dist/lib/daemon/paths.d.ts +0 -24
- package/dist/lib/daemon/paths.js +0 -43
- package/dist/lib/daemon/protocol-tail.d.ts +0 -33
- package/dist/lib/daemon/protocol-tail.js +0 -131
- package/dist/lib/daemon/remote-control.d.ts +0 -74
- package/dist/lib/daemon/remote-control.js +0 -153
- package/dist/lib/daemon/requests.d.ts +0 -28
- package/dist/lib/daemon/requests.js +0 -65
- package/dist/lib/daemon/run.d.ts +0 -79
- package/dist/lib/daemon/run.js +0 -755
- package/dist/lib/daemon/succession.d.ts +0 -118
- package/dist/lib/daemon/succession.js +0 -263
- package/dist/lib/daemon/supervisor.d.ts +0 -132
- package/dist/lib/daemon/supervisor.js +0 -836
- package/dist/lib/daemon/sync-runner.d.ts +0 -58
- package/dist/lib/daemon/sync-runner.js +0 -277
- package/dist/lib/daemon/tools.d.ts +0 -52
- package/dist/lib/daemon/tools.js +0 -95
- package/dist/lib/daemon/updater.d.ts +0 -57
- package/dist/lib/daemon/updater.js +0 -163
- package/dist/lib/deploy-api.d.ts +0 -5
- package/dist/lib/deploy-api.js +0 -21
- package/dist/lib/deploy-apps.d.ts +0 -13
- package/dist/lib/deploy-apps.js +0 -29
- package/dist/lib/doctor/__testing__/run-doctor.d.ts +0 -8
- package/dist/lib/doctor/__testing__/run-doctor.js +0 -52
- package/dist/lib/doctor/checks/bots.d.ts +0 -13
- package/dist/lib/doctor/checks/bots.js +0 -189
- package/dist/lib/doctor/checks/scaffold-cli-floor.d.ts +0 -6
- package/dist/lib/doctor/checks/scaffold-cli-floor.js +0 -73
- package/dist/lib/doctor/checks/sync-runtime.d.ts +0 -11
- package/dist/lib/doctor/checks/sync-runtime.js +0 -216
- package/dist/lib/doctor/client-health-flag-token.d.ts +0 -15
- package/dist/lib/doctor/client-health-flag-token.js +0 -66
- package/dist/lib/doctor/client-health-reason-codes-flag.d.ts +0 -27
- package/dist/lib/doctor/client-health-reason-codes-flag.js +0 -106
- package/dist/lib/doctor/fix/json-output.d.ts +0 -28
- package/dist/lib/doctor/fix/json-output.js +0 -33
- package/dist/lib/doctor/fix/refresh-sync-outcome.d.ts +0 -12
- package/dist/lib/doctor/fix/refresh-sync-outcome.js +0 -25
- package/dist/lib/doctor/shared.d.ts +0 -8
- package/dist/lib/doctor/shared.js +0 -38
- package/dist/lib/doctor/stray-gate-entries.d.ts +0 -35
- package/dist/lib/doctor/stray-gate-entries.js +0 -83
- package/dist/lib/first-sync-next-step.d.ts +0 -37
- package/dist/lib/first-sync-next-step.js +0 -189
- package/dist/lib/flag-registry-endpoint.d.ts +0 -5
- package/dist/lib/flag-registry-endpoint.js +0 -9
- package/dist/lib/flag-registry-worker-source.generated.d.ts +0 -2
- package/dist/lib/flag-registry-worker-source.generated.js +0 -3
- package/dist/lib/flag-snapshot-file.d.ts +0 -20
- package/dist/lib/flag-snapshot-file.js +0 -91
- package/dist/lib/heartbeat-identity.d.ts +0 -30
- package/dist/lib/heartbeat-identity.js +0 -76
- package/dist/lib/lanes/account-home.d.ts +0 -8
- package/dist/lib/lanes/account-home.js +0 -10
- package/dist/lib/lanes/accounts.d.ts +0 -117
- package/dist/lib/lanes/accounts.js +0 -366
- package/dist/lib/lanes/admission-host.d.ts +0 -22
- package/dist/lib/lanes/admission-host.js +0 -37
- package/dist/lib/lanes/admission.d.ts +0 -26
- package/dist/lib/lanes/admission.js +0 -210
- package/dist/lib/lanes/approval-gate.d.ts +0 -8
- package/dist/lib/lanes/approval-gate.js +0 -90
- package/dist/lib/lanes/autopilot-metrics.d.ts +0 -99
- package/dist/lib/lanes/autopilot-metrics.js +0 -301
- package/dist/lib/lanes/autopilot-registry.d.ts +0 -62
- package/dist/lib/lanes/autopilot-registry.js +0 -192
- package/dist/lib/lanes/autopilot.d.ts +0 -120
- package/dist/lib/lanes/autopilot.js +0 -1061
- package/dist/lib/lanes/blocker-freshness.d.ts +0 -31
- package/dist/lib/lanes/blocker-freshness.js +0 -168
- package/dist/lib/lanes/checked-company-path.d.ts +0 -3
- package/dist/lib/lanes/checked-company-path.js +0 -39
- package/dist/lib/lanes/claude-balance.d.ts +0 -97
- package/dist/lib/lanes/claude-balance.js +0 -319
- package/dist/lib/lanes/compaction.d.ts +0 -110
- package/dist/lib/lanes/compaction.js +0 -293
- package/dist/lib/lanes/config.d.ts +0 -91
- package/dist/lib/lanes/config.js +0 -592
- package/dist/lib/lanes/constants.d.ts +0 -3
- package/dist/lib/lanes/constants.js +0 -3
- package/dist/lib/lanes/delivery-core.d.ts +0 -15
- package/dist/lib/lanes/delivery-core.js +0 -21
- package/dist/lib/lanes/delivery.d.ts +0 -180
- package/dist/lib/lanes/delivery.js +0 -443
- package/dist/lib/lanes/dropbox.d.ts +0 -129
- package/dist/lib/lanes/dropbox.js +0 -601
- package/dist/lib/lanes/effort.d.ts +0 -51
- package/dist/lib/lanes/effort.js +0 -113
- package/dist/lib/lanes/envelope-repair-dispatch.d.ts +0 -26
- package/dist/lib/lanes/envelope-repair-dispatch.js +0 -74
- package/dist/lib/lanes/errors.d.ts +0 -39
- package/dist/lib/lanes/errors.js +0 -72
- package/dist/lib/lanes/flag-keys.d.ts +0 -13
- package/dist/lib/lanes/flag-keys.js +0 -13
- package/dist/lib/lanes/grants.d.ts +0 -29
- package/dist/lib/lanes/grants.js +0 -166
- package/dist/lib/lanes/hire-grant-dispatch.d.ts +0 -29
- package/dist/lib/lanes/hire-grant-dispatch.js +0 -316
- package/dist/lib/lanes/hooks-install.d.ts +0 -82
- package/dist/lib/lanes/hooks-install.js +0 -479
- package/dist/lib/lanes/host-capacity.d.ts +0 -69
- package/dist/lib/lanes/host-capacity.js +0 -254
- package/dist/lib/lanes/hq-root.d.ts +0 -19
- package/dist/lib/lanes/hq-root.js +0 -28
- package/dist/lib/lanes/index.d.ts +0 -76
- package/dist/lib/lanes/index.js +0 -42
- package/dist/lib/lanes/keep-alive.d.ts +0 -68
- package/dist/lib/lanes/keep-alive.js +0 -343
- package/dist/lib/lanes/kr-freshness.d.ts +0 -76
- package/dist/lib/lanes/kr-freshness.js +0 -413
- package/dist/lib/lanes/lane-company.d.ts +0 -10
- package/dist/lib/lanes/lane-company.js +0 -41
- package/dist/lib/lanes/liveness.d.ts +0 -108
- package/dist/lib/lanes/liveness.js +0 -396
- package/dist/lib/lanes/machine-identity.d.ts +0 -34
- package/dist/lib/lanes/machine-identity.js +0 -92
- package/dist/lib/lanes/manager-status-gate.d.ts +0 -17
- package/dist/lib/lanes/manager-status-gate.js +0 -133
- package/dist/lib/lanes/merge-command.d.ts +0 -15
- package/dist/lib/lanes/merge-command.js +0 -629
- package/dist/lib/lanes/mesh-events.d.ts +0 -127
- package/dist/lib/lanes/mesh-events.js +0 -564
- package/dist/lib/lanes/message-replay.d.ts +0 -21
- package/dist/lib/lanes/message-replay.js +0 -122
- package/dist/lib/lanes/models.d.ts +0 -86
- package/dist/lib/lanes/models.js +0 -234
- package/dist/lib/lanes/monitor.d.ts +0 -48
- package/dist/lib/lanes/monitor.js +0 -428
- package/dist/lib/lanes/move-account.d.ts +0 -56
- package/dist/lib/lanes/move-account.js +0 -193
- package/dist/lib/lanes/orphans.d.ts +0 -25
- package/dist/lib/lanes/orphans.js +0 -102
- package/dist/lib/lanes/outpost-dispatch.d.ts +0 -147
- package/dist/lib/lanes/outpost-dispatch.js +0 -271
- package/dist/lib/lanes/outpost-hire-cache.d.ts +0 -22
- package/dist/lib/lanes/outpost-hire-cache.js +0 -153
- package/dist/lib/lanes/outpost-identity.d.ts +0 -33
- package/dist/lib/lanes/outpost-identity.js +0 -59
- package/dist/lib/lanes/outpost-profile-repin.d.ts +0 -17
- package/dist/lib/lanes/outpost-profile-repin.js +0 -84
- package/dist/lib/lanes/outpost-pruner-install.d.ts +0 -37
- package/dist/lib/lanes/outpost-pruner-install.js +0 -238
- package/dist/lib/lanes/outpost-registry-worker-approval.d.ts +0 -18
- package/dist/lib/lanes/outpost-registry-worker-approval.js +0 -109
- package/dist/lib/lanes/outpost-snapshot-memo.d.ts +0 -6
- package/dist/lib/lanes/outpost-snapshot-memo.js +0 -14
- package/dist/lib/lanes/outpost-worktree-pruner-flag.d.ts +0 -19
- package/dist/lib/lanes/outpost-worktree-pruner-flag.js +0 -86
- package/dist/lib/lanes/outpost-worktree-pruner.d.ts +0 -62
- package/dist/lib/lanes/outpost-worktree-pruner.js +0 -1201
- package/dist/lib/lanes/profile.d.ts +0 -69
- package/dist/lib/lanes/profile.js +0 -552
- package/dist/lib/lanes/provider-rejection.d.ts +0 -86
- package/dist/lib/lanes/provider-rejection.js +0 -286
- package/dist/lib/lanes/questions.d.ts +0 -90
- package/dist/lib/lanes/questions.js +0 -384
- package/dist/lib/lanes/quota.d.ts +0 -134
- package/dist/lib/lanes/quota.js +0 -471
- package/dist/lib/lanes/reconcile-install.d.ts +0 -90
- package/dist/lib/lanes/reconcile-install.js +0 -257
- package/dist/lib/lanes/reconcile.d.ts +0 -155
- package/dist/lib/lanes/reconcile.js +0 -3193
- package/dist/lib/lanes/registry-flag.d.ts +0 -29
- package/dist/lib/lanes/registry-flag.js +0 -139
- package/dist/lib/lanes/registry-persona.d.ts +0 -20
- package/dist/lib/lanes/registry-persona.js +0 -329
- package/dist/lib/lanes/registry.d.ts +0 -122
- package/dist/lib/lanes/registry.js +0 -570
- package/dist/lib/lanes/reviews.d.ts +0 -38
- package/dist/lib/lanes/reviews.js +0 -395
- package/dist/lib/lanes/runaway-tool-guard.d.ts +0 -38
- package/dist/lib/lanes/runaway-tool-guard.js +0 -284
- package/dist/lib/lanes/session-relink.d.ts +0 -25
- package/dist/lib/lanes/session-relink.js +0 -216
- package/dist/lib/lanes/spawn.d.ts +0 -350
- package/dist/lib/lanes/spawn.js +0 -2643
- package/dist/lib/lanes/ssm-command-context.d.ts +0 -12
- package/dist/lib/lanes/ssm-command-context.js +0 -52
- package/dist/lib/lanes/store.d.ts +0 -91
- package/dist/lib/lanes/store.js +0 -1811
- package/dist/lib/lanes/stories.d.ts +0 -23
- package/dist/lib/lanes/stories.js +0 -92
- package/dist/lib/lanes/story-ledger.d.ts +0 -80
- package/dist/lib/lanes/story-ledger.js +0 -815
- package/dist/lib/lanes/story-switch.d.ts +0 -21
- package/dist/lib/lanes/story-switch.js +0 -75
- package/dist/lib/lanes/text-scan.d.ts +0 -11
- package/dist/lib/lanes/text-scan.js +0 -103
- package/dist/lib/lanes/throttle.d.ts +0 -116
- package/dist/lib/lanes/throttle.js +0 -437
- package/dist/lib/lanes/timestamp.d.ts +0 -3
- package/dist/lib/lanes/timestamp.js +0 -26
- package/dist/lib/lanes/tracker-checks.d.ts +0 -77
- package/dist/lib/lanes/tracker-checks.js +0 -134
- package/dist/lib/lanes/tracker-report-state.d.ts +0 -10
- package/dist/lib/lanes/tracker-report-state.js +0 -124
- package/dist/lib/lanes/tracker-report.d.ts +0 -203
- package/dist/lib/lanes/tracker-report.js +0 -522
- package/dist/lib/lanes/tracker-store.d.ts +0 -18
- package/dist/lib/lanes/tracker-store.js +0 -106
- package/dist/lib/lanes/types.d.ts +0 -1020
- package/dist/lib/lanes/types.js +0 -417
- package/dist/lib/lanes/wait.d.ts +0 -39
- package/dist/lib/lanes/wait.js +0 -159
- package/dist/lib/lanes/watch.d.ts +0 -39
- package/dist/lib/lanes/watch.js +0 -249
- package/dist/lib/lanes/watcher-main.d.ts +0 -11
- package/dist/lib/lanes/watcher-main.js +0 -108
- package/dist/lib/lanes/watcher.d.ts +0 -287
- package/dist/lib/lanes/watcher.js +0 -1972
- package/dist/lib/mesh/live/daemon/config.d.ts +0 -36
- package/dist/lib/mesh/live/daemon/config.js +0 -120
- package/dist/lib/mesh/live/daemon/legacy-listen.d.ts +0 -43
- package/dist/lib/mesh/live/daemon/legacy-listen.js +0 -89
- package/dist/lib/mesh/live/daemon/live-cache.d.ts +0 -26
- package/dist/lib/mesh/live/daemon/live-cache.js +0 -116
- package/dist/lib/mesh/live/daemon/mqtt-events.d.ts +0 -7
- package/dist/lib/mesh/live/daemon/mqtt-events.js +0 -2
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.d.ts +0 -2
- package/dist/lib/mesh/live/daemon/mqtt-events.test-d.js +0 -10
- package/dist/lib/mesh/live/daemon/version-drift.d.ts +0 -5
- package/dist/lib/mesh/live/daemon/version-drift.js +0 -47
- package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +0 -32
- package/dist/lib/mesh/live/daemon/work-subscribe.js +0 -262
- package/dist/lib/mesh/live/report-summary.d.ts +0 -45
- package/dist/lib/mesh/live/report-summary.js +0 -234
- package/dist/lib/mesh/live/session-seq.d.ts +0 -4
- package/dist/lib/mesh/live/session-seq.js +0 -33
- package/dist/lib/mesh/project-board.d.ts +0 -65
- package/dist/lib/mesh/project-board.js +0 -181
- package/dist/lib/mesh/story-status.d.ts +0 -22
- package/dist/lib/mesh/story-status.js +0 -49
- package/dist/lib/monitor.d.ts +0 -149
- package/dist/lib/monitor.js +0 -519
- package/dist/lib/node-binary.d.ts +0 -50
- package/dist/lib/node-binary.js +0 -133
- package/dist/lib/notify-recipient.d.ts +0 -7
- package/dist/lib/notify-recipient.js +0 -11
- package/dist/lib/onboarding/checkpoint.d.ts +0 -13
- package/dist/lib/onboarding/checkpoint.js +0 -44
- package/dist/lib/onboarding/cli/onboard.d.ts +0 -53
- package/dist/lib/onboarding/cli/onboard.js +0 -135
- package/dist/lib/onboarding/cli/prompts.d.ts +0 -28
- package/dist/lib/onboarding/cli/prompts.js +0 -83
- package/dist/lib/onboarding/errors.d.ts +0 -34
- package/dist/lib/onboarding/errors.js +0 -59
- package/dist/lib/onboarding/index.d.ts +0 -13
- package/dist/lib/onboarding/index.js +0 -13
- package/dist/lib/onboarding/orchestrator.d.ts +0 -47
- package/dist/lib/onboarding/orchestrator.js +0 -569
- package/dist/lib/onboarding/types.d.ts +0 -79
- package/dist/lib/onboarding/types.js +0 -8
- package/dist/lib/policy-validator.d.ts +0 -7
- package/dist/lib/policy-validator.js +0 -187
- package/dist/lib/process-flag-company-context.d.ts +0 -8
- package/dist/lib/process-flag-company-context.js +0 -67
- package/dist/lib/report-publish.d.ts +0 -175
- package/dist/lib/report-publish.js +0 -421
- package/dist/lib/report-run.d.ts +0 -62
- package/dist/lib/report-run.js +0 -123
- package/dist/lib/report-snapshot.d.ts +0 -12
- package/dist/lib/report-snapshot.js +0 -135
- package/dist/lib/report-templates.d.ts +0 -9
- package/dist/lib/report-templates.js +0 -21
- package/dist/lib/scaffold-cli-floor.d.ts +0 -8
- package/dist/lib/scaffold-cli-floor.js +0 -50
- package/dist/lib/search-index/collection-path-repair-flag.d.ts +0 -4
- package/dist/lib/search-index/collection-path-repair-flag.js +0 -7
- package/dist/lib/search-index/embed-lock.d.ts +0 -32
- package/dist/lib/search-index/embed-lock.js +0 -286
- package/dist/lib/search-index/load-gate.d.ts +0 -57
- package/dist/lib/search-index/load-gate.js +0 -270
- package/dist/lib/search-index/max-doc-bytes.d.ts +0 -219
- package/dist/lib/search-index/max-doc-bytes.js +0 -463
- package/dist/lib/search-index/qmd-exit-diagnostics.d.ts +0 -5
- package/dist/lib/search-index/qmd-exit-diagnostics.js +0 -40
- package/dist/lib/search-index/reindex-single-flight-flag.d.ts +0 -5
- package/dist/lib/search-index/reindex-single-flight-flag.js +0 -8
- package/dist/lib/service-manager/index.d.ts +0 -42
- package/dist/lib/service-manager/index.js +0 -105
- package/dist/lib/service-manager/launchd.d.ts +0 -81
- package/dist/lib/service-manager/launchd.js +0 -212
- package/dist/lib/service-manager/systemd.d.ts +0 -19
- package/dist/lib/service-manager/systemd.js +0 -72
- package/dist/lib/service-manager/types.d.ts +0 -34
- package/dist/lib/service-manager/types.js +0 -26
- package/dist/lib/test-utils/isolated-flag-company-context.d.ts +0 -3
- package/dist/lib/test-utils/isolated-flag-company-context.js +0 -18
- package/dist/lib/work-context/bind-best.d.ts +0 -66
- package/dist/lib/work-context/bind-best.js +0 -344
- package/dist/lib/work-context/bind-calling-session.d.ts +0 -26
- package/dist/lib/work-context/bind-calling-session.js +0 -63
- package/dist/lib/work-context/company-rebind.d.ts +0 -23
- package/dist/lib/work-context/company-rebind.js +0 -59
- package/dist/lib/work-context/default-company.d.ts +0 -43
- package/dist/lib/work-context/default-company.js +0 -83
- package/dist/lib/work-context/outbox-quarantine-status-flag.d.ts +0 -4
- package/dist/lib/work-context/outbox-quarantine-status-flag.js +0 -7
- package/dist/lib/work-context/prd-sync.d.ts +0 -56
- package/dist/lib/work-context/prd-sync.js +0 -197
- package/dist/lib/work-context/preflight-contract.d.ts +0 -28
- package/dist/lib/work-context/preflight-contract.js +0 -85
- package/dist/lib/work-context/prompt-rebind.d.ts +0 -25
- package/dist/lib/work-context/prompt-rebind.js +0 -85
- package/dist/lib/work-context/windows-acl.d.ts +0 -123
- package/dist/lib/work-context/windows-acl.js +0 -425
- package/dist/lib/workers-registry/read.d.ts +0 -15
- package/dist/lib/workers-registry/read.js +0 -17
- package/dist/native-fast-route.d.ts +0 -7
- package/dist/native-fast-route.js +0 -45
- package/dist/node-network-compat-core.d.ts +0 -12
- package/dist/node-network-compat-core.js +0 -41
- package/dist/node-network-compat-fast.d.ts +0 -7
- package/dist/node-network-compat-fast.js +0 -23
- package/dist/secrets-env-fast-path.d.ts +0 -5
- package/dist/secrets-env-fast-path.js +0 -16
- package/dist/secrets-env-fast-route.d.ts +0 -18
- package/dist/secrets-env-fast-route.js +0 -54
- package/dist/utils/checkpoint-stamp-write-error.d.ts +0 -28
- package/dist/utils/checkpoint-stamp-write-error.js +0 -99
- package/dist/utils/cli-network-lifecycle.d.ts +0 -4
- package/dist/utils/cli-network-lifecycle.js +0 -11
- package/dist/utils/cognito-refresh-sentry.d.ts +0 -3
- package/dist/utils/cognito-refresh-sentry.js +0 -49
- package/dist/utils/console-origin.d.ts +0 -9
- package/dist/utils/console-origin.js +0 -28
- package/dist/utils/exclusive-lock.d.ts +0 -32
- package/dist/utils/exclusive-lock.js +0 -75
- package/dist/utils/fast-stream-errors.d.ts +0 -12
- package/dist/utils/fast-stream-errors.js +0 -18
- package/dist/utils/files-browse-acl.d.ts +0 -5
- package/dist/utils/files-browse-acl.js +0 -11
- package/dist/utils/hq-core-yaml.d.ts +0 -10
- package/dist/utils/hq-core-yaml.js +0 -40
- package/dist/utils/hq-root-resolver.d.ts +0 -13
- package/dist/utils/hq-root-resolver.js +0 -103
- package/dist/utils/redact-url.d.ts +0 -14
- package/dist/utils/redact-url.js +0 -218
- package/dist/utils/scaffold-fast-import-guard.d.ts +0 -2
- package/dist/utils/scaffold-fast-import-guard.js +0 -40
- package/dist/utils/scaffold-packlist-guard.d.ts +0 -7
- package/dist/utils/scaffold-packlist-guard.js +0 -23
- package/dist/utils/scaffold-sibling-references.d.ts +0 -22
- package/dist/utils/scaffold-sibling-references.js +0 -156
- package/dist/utils/secret-load-availability.d.ts +0 -8
- package/dist/utils/secret-load-availability.js +0 -54
- package/dist/utils/staged-install.d.ts +0 -34
- package/dist/utils/staged-install.js +0 -346
- package/dist/utils/staged-npm-install.d.ts +0 -16
- package/dist/utils/staged-npm-install.js +0 -264
- package/dist/utils/sync-log-sources.d.ts +0 -15
- package/dist/utils/sync-log-sources.js +0 -36
- package/dist/utils/table-width.d.ts +0 -7
- package/dist/utils/table-width.js +0 -15
- package/dist/utils/update-command-supervisor.cjs +0 -247
- package/dist/utils/upload-author.d.ts +0 -15
- package/dist/utils/upload-author.js +0 -39
- package/dist/utils/version-report.d.ts +0 -27
- package/dist/utils/version-report.js +0 -105
- package/dist/version-request.d.ts +0 -14
- package/dist/version-request.js +0 -36
- package/scripts/mesh-daemon-if-stale.mjs +0 -20
- package/templates/reports/blank.md +0 -3
- package/templates/reports/daily-digest.md +0 -11
- package/templates/runbooks/update-report.md +0 -21
package/dist/commands/skill.d.ts
CHANGED
|
@@ -3,22 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* `hq skill create <slug>` registers a canonical company skill, stamps its
|
|
5
5
|
* immutable UID, surfaces its generated runtime wrapper, and syncs it.
|
|
6
|
-
* `hq skill register <slug>` reserves that UID from a proposal-lane source and
|
|
7
|
-
* writes server-stamped bytes only to `--stamped-output` — never under
|
|
8
|
-
* `companies/<company>/skills/`, and never as a discovery wrapper or sync.
|
|
9
|
-
* `hq skill promote <slug>` copies independently-cleared stamped bytes into the
|
|
10
|
-
* canonical tree only after the expected SHA-256 and registered skill_uid match.
|
|
11
6
|
* `hq skill propose <uid|path> --message "…"` posts a whole-skill comment to
|
|
12
7
|
* the same improvement thread shown in HQ Console. It never uploads a modified
|
|
13
|
-
* SKILL.md and cannot overwrite live content.
|
|
14
|
-
*
|
|
15
|
-
* Structured suggest/list/review commands intentionally are not registered.
|
|
8
|
+
* SKILL.md and cannot overwrite live content. Structured suggest/list/review
|
|
9
|
+
* commands intentionally are not registered.
|
|
16
10
|
*/
|
|
17
11
|
import { Command } from "commander";
|
|
18
12
|
import { ensureCognitoToken } from "../utils/cognito-session.js";
|
|
19
|
-
import { vaultApiFetch
|
|
13
|
+
import { vaultApiFetch } from "../utils/vault-api.js";
|
|
20
14
|
import { surfaceCompanySkill } from "../lib/company-skill-wrapper.js";
|
|
21
|
-
import { type PlanLimitRefusalSummary } from "../lib/billing/plan-limit-refusals.js";
|
|
22
15
|
export declare const SKILL_UID_PATTERN: RegExp;
|
|
23
16
|
export declare const SKILL_SLUG_PATTERN: RegExp;
|
|
24
17
|
interface SkillSyncInput {
|
|
@@ -31,8 +24,6 @@ interface SkillSyncResult {
|
|
|
31
24
|
filesUploaded: number;
|
|
32
25
|
filesSkipped: number;
|
|
33
26
|
aborted: boolean;
|
|
34
|
-
/** Set when a plan limit refused the upload; absent or null otherwise. */
|
|
35
|
-
planLimit?: PlanLimitRefusalSummary | null;
|
|
36
27
|
}
|
|
37
28
|
export declare function parseSkillUid(markdown: string): string | undefined;
|
|
38
29
|
export declare function readActiveCompanySlug(hqRoot: string): string | undefined;
|
|
@@ -47,21 +38,7 @@ export declare function makeSkillTemplate(input: {
|
|
|
47
38
|
description?: string;
|
|
48
39
|
}): string;
|
|
49
40
|
/** Replace SKILL.md without exposing a partially-written identity to agents. */
|
|
50
|
-
export declare function writeSkillFileAtomically(filePath: string, content: string
|
|
51
|
-
export declare function sha256Hex(data: string | Buffer): string;
|
|
52
|
-
export declare function skillVaultPath(skillSlug: string): string;
|
|
53
|
-
export declare function isInsideCompanySkillsTree(hqRoot: string, candidatePath: string): boolean;
|
|
54
|
-
export declare function resolveSkillMarkdownPath(target: string, cwd: string): string;
|
|
55
|
-
export declare function assertStagedOutputPath(hqRoot: string, outputPath: string): string;
|
|
56
|
-
export declare function assertSha256HexMatch(actualHex: string, expectedHex: string): void;
|
|
57
|
-
export declare function assertRegisteredSkillResponse(registered: {
|
|
58
|
-
skillUid?: unknown;
|
|
59
|
-
content?: unknown;
|
|
60
|
-
}): {
|
|
61
|
-
skillUid: string;
|
|
62
|
-
content: string;
|
|
63
|
-
};
|
|
64
|
-
export declare function normalizeLiveSkillVaultPath(rawPath: string): string;
|
|
41
|
+
export declare function writeSkillFileAtomically(filePath: string, content: string): void;
|
|
65
42
|
export declare function mapSkillError(status: number, body: Record<string, unknown>): string;
|
|
66
43
|
/**
|
|
67
44
|
* Type a failed skills-API response by its HTTP status so the top-level error
|
|
@@ -121,17 +98,9 @@ export declare function mapSkillError(status: number, body: Record<string, unkno
|
|
|
121
98
|
export declare function skillApiError(status: number, body: Record<string, unknown>, opts?: {
|
|
122
99
|
machineIdentity?: boolean;
|
|
123
100
|
}): Error;
|
|
124
|
-
export type SkillConfirmFn = (message: string) => Promise<boolean>;
|
|
125
|
-
/**
|
|
126
|
-
* Resolve a delete target: a `skl_…` uid, a SKILL.md path or its directory, or
|
|
127
|
-
* a bare skill slug under `companies/<company>/skills/<slug>/`.
|
|
128
|
-
*/
|
|
129
|
-
export declare function resolveDeleteTarget(target: string, cwd: string, hqRoot: string, companySlug: string): string;
|
|
130
101
|
interface SkillCommandDeps {
|
|
131
102
|
ensureToken?: typeof ensureCognitoToken;
|
|
132
103
|
apiFetch?: typeof vaultApiFetch;
|
|
133
|
-
confirm?: SkillConfirmFn;
|
|
134
|
-
resolveCompanyUid?: typeof getCompanyUid;
|
|
135
104
|
cwd?: () => string;
|
|
136
105
|
hqRoot?: string;
|
|
137
106
|
syncFile?: (input: SkillSyncInput) => Promise<SkillSyncResult>;
|
package/dist/commands/skill.js
CHANGED
|
@@ -3,71 +3,40 @@
|
|
|
3
3
|
*
|
|
4
4
|
* `hq skill create <slug>` registers a canonical company skill, stamps its
|
|
5
5
|
* immutable UID, surfaces its generated runtime wrapper, and syncs it.
|
|
6
|
-
* `hq skill register <slug>` reserves that UID from a proposal-lane source and
|
|
7
|
-
* writes server-stamped bytes only to `--stamped-output` — never under
|
|
8
|
-
* `companies/<company>/skills/`, and never as a discovery wrapper or sync.
|
|
9
|
-
* `hq skill promote <slug>` copies independently-cleared stamped bytes into the
|
|
10
|
-
* canonical tree only after the expected SHA-256 and registered skill_uid match.
|
|
11
6
|
* `hq skill propose <uid|path> --message "…"` posts a whole-skill comment to
|
|
12
7
|
* the same improvement thread shown in HQ Console. It never uploads a modified
|
|
13
|
-
* SKILL.md and cannot overwrite live content.
|
|
14
|
-
*
|
|
15
|
-
* Structured suggest/list/review commands intentionally are not registered.
|
|
8
|
+
* SKILL.md and cannot overwrite live content. Structured suggest/list/review
|
|
9
|
+
* commands intentionally are not registered.
|
|
16
10
|
*/
|
|
17
11
|
import * as fs from "node:fs";
|
|
18
12
|
import * as path from "node:path";
|
|
19
|
-
import { createHash, timingSafeEqual } from "node:crypto";
|
|
20
13
|
import chalk from "chalk";
|
|
21
14
|
import yaml from "js-yaml";
|
|
22
15
|
import { share } from "@indigoai-us/hq-cloud";
|
|
23
16
|
import { ensureCognitoToken, DEFAULT_HQ_ROOT, buildVaultConfig, isMachineIdentity, } from "../utils/cognito-session.js";
|
|
24
|
-
import
|
|
25
|
-
import { vaultApiFetch, getCompanyUid } from "../utils/vault-api.js";
|
|
17
|
+
import { vaultApiFetch } from "../utils/vault-api.js";
|
|
26
18
|
import { surfaceCompanySkill } from "../lib/company-skill-wrapper.js";
|
|
27
19
|
import { AuthError } from "../utils/auth-error.js";
|
|
28
20
|
import { redactErrorText } from "../utils/redact-error-text.js";
|
|
29
21
|
import { stampVaultAccessDenied, vaultAccessDeniedDiagnostics, } from "../utils/vault-access-denied-error.js";
|
|
30
|
-
import { PlanGateError } from "../utils/plan-gate-error.js";
|
|
31
|
-
import { createPlanLimitRefusalTracker, trackingProgressRecorder, } from "../lib/billing/plan-limit-refusals.js";
|
|
32
22
|
export const SKILL_UID_PATTERN = /^skl_[A-Za-z0-9]+$/;
|
|
33
23
|
export const SKILL_SLUG_PATTERN = /^[a-z0-9][a-z0-9-]*$/;
|
|
34
24
|
const COMPANY_SLUG_PATTERN = /^[a-z0-9][a-z0-9-]*$/;
|
|
35
25
|
const FRONTMATTER_RE = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/;
|
|
36
|
-
const SHA256_HEX_PATTERN = /^[0-9a-f]{64}$/;
|
|
37
26
|
async function defaultSyncFile(input) {
|
|
38
|
-
// The runner reports a plan-limit refusal as an event, not a throw, and still
|
|
39
|
-
// returns normally. Track it so the command cannot claim "Sync: complete".
|
|
40
|
-
const tracker = createPlanLimitRefusalTracker({ companySlug: input.companySlug });
|
|
41
27
|
const result = await share({
|
|
42
28
|
paths: [input.filePath],
|
|
43
29
|
company: input.companySlug,
|
|
44
30
|
hqRoot: input.hqRoot,
|
|
45
31
|
vaultConfig: buildVaultConfig(input.token),
|
|
46
32
|
onConflict: "abort",
|
|
47
|
-
progressRecorder: trackingProgressRecorder(tracker, input.companySlug),
|
|
48
33
|
});
|
|
49
34
|
return {
|
|
50
35
|
filesUploaded: result.filesUploaded,
|
|
51
36
|
filesSkipped: result.filesSkipped,
|
|
52
37
|
aborted: result.aborted,
|
|
53
|
-
planLimit: tracker.summary(),
|
|
54
38
|
};
|
|
55
39
|
}
|
|
56
|
-
/**
|
|
57
|
-
* The upload of a stamped skill file was refused by a plan limit. Registration
|
|
58
|
-
* and the local stamp already succeeded, so say that on stderr, then return a
|
|
59
|
-
* typed plan gate for main.ts to render (reason and upgrade link) and exit
|
|
60
|
-
* non-zero. Never "Skill ready … Sync: complete".
|
|
61
|
-
*/
|
|
62
|
-
function skillUploadRefused(skillUid, filePath, companySlug, refused) {
|
|
63
|
-
console.warn(chalk.yellow(`⚠ Skill ${skillUid} is stamped locally at '${filePath}', but the upload was refused by your plan limit.`));
|
|
64
|
-
return new PlanGateError("PLAN_LIMIT_EXCEEDED", {
|
|
65
|
-
reason: `${refused.message ?? "New files are paused by your plan limit."} ` +
|
|
66
|
-
"The skill file was not uploaded. Once the limit is sorted, upload it with: " +
|
|
67
|
-
`hq sync push --company ${companySlug} '${filePath}'`,
|
|
68
|
-
...(refused.upgradeUrl ? { upgradeUrl: refused.upgradeUrl } : {}),
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
40
|
export function parseSkillUid(markdown) {
|
|
72
41
|
const match = markdown.match(FRONTMATTER_RE);
|
|
73
42
|
if (!match)
|
|
@@ -214,19 +183,11 @@ export function writeSkillFileAtomically(filePath, content) {
|
|
|
214
183
|
: 0o644;
|
|
215
184
|
const tempPath = path.join(dir, `.SKILL.md.${process.pid}.${Date.now()}.tmp`);
|
|
216
185
|
try {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
else {
|
|
225
|
-
fs.writeFileSync(tempPath, content, {
|
|
226
|
-
flag: "wx",
|
|
227
|
-
mode: existingMode,
|
|
228
|
-
});
|
|
229
|
-
}
|
|
186
|
+
fs.writeFileSync(tempPath, content, {
|
|
187
|
+
encoding: "utf8",
|
|
188
|
+
flag: "wx",
|
|
189
|
+
mode: existingMode,
|
|
190
|
+
});
|
|
230
191
|
fs.renameSync(tempPath, filePath);
|
|
231
192
|
}
|
|
232
193
|
finally {
|
|
@@ -234,69 +195,6 @@ export function writeSkillFileAtomically(filePath, content) {
|
|
|
234
195
|
fs.rmSync(tempPath, { force: true });
|
|
235
196
|
}
|
|
236
197
|
}
|
|
237
|
-
export function sha256Hex(data) {
|
|
238
|
-
return createHash("sha256").update(data).digest("hex");
|
|
239
|
-
}
|
|
240
|
-
export function skillVaultPath(skillSlug) {
|
|
241
|
-
return `skills/${skillSlug}/SKILL.md`;
|
|
242
|
-
}
|
|
243
|
-
export function isInsideCompanySkillsTree(hqRoot, candidatePath) {
|
|
244
|
-
const companiesRoot = path.resolve(hqRoot, "companies");
|
|
245
|
-
const resolved = path.resolve(candidatePath);
|
|
246
|
-
const rel = path.relative(companiesRoot, resolved);
|
|
247
|
-
if (rel === "" || rel.startsWith("..") || path.isAbsolute(rel))
|
|
248
|
-
return false;
|
|
249
|
-
const parts = rel.split(path.sep);
|
|
250
|
-
return parts.length >= 2 && parts[1] === "skills";
|
|
251
|
-
}
|
|
252
|
-
export function resolveSkillMarkdownPath(target, cwd) {
|
|
253
|
-
let filePath = path.resolve(cwd, target);
|
|
254
|
-
if (fs.existsSync(filePath) && fs.statSync(filePath).isDirectory()) {
|
|
255
|
-
filePath = path.join(filePath, "SKILL.md");
|
|
256
|
-
}
|
|
257
|
-
return filePath;
|
|
258
|
-
}
|
|
259
|
-
export function assertStagedOutputPath(hqRoot, outputPath) {
|
|
260
|
-
const resolved = path.resolve(outputPath);
|
|
261
|
-
if (isInsideCompanySkillsTree(hqRoot, resolved)) {
|
|
262
|
-
throw localSkillError(`Stamped output '${resolved}' is inside companies/<company>/skills/. Pass a proposal-lane path outside the canonical skill tree.`);
|
|
263
|
-
}
|
|
264
|
-
return resolved;
|
|
265
|
-
}
|
|
266
|
-
export function assertSha256HexMatch(actualHex, expectedHex) {
|
|
267
|
-
const want = expectedHex.trim().toLowerCase();
|
|
268
|
-
if (!SHA256_HEX_PATTERN.test(want)) {
|
|
269
|
-
throw localSkillError("--expected-sha256 must be a 64-character hex SHA-256 digest.");
|
|
270
|
-
}
|
|
271
|
-
const got = actualHex.trim().toLowerCase();
|
|
272
|
-
if (!SHA256_HEX_PATTERN.test(got)) {
|
|
273
|
-
throw localSkillError(`Stamped file SHA-256 ${got} does not match --expected-sha256. Canonical skill was not written.`);
|
|
274
|
-
}
|
|
275
|
-
if (!timingSafeEqual(Buffer.from(got, "hex"), Buffer.from(want, "hex"))) {
|
|
276
|
-
throw localSkillError(`Stamped file SHA-256 ${got} does not match --expected-sha256. Canonical skill was not written.`);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
export function assertRegisteredSkillResponse(registered) {
|
|
280
|
-
if (typeof registered.skillUid !== "string" ||
|
|
281
|
-
!SKILL_UID_PATTERN.test(registered.skillUid) ||
|
|
282
|
-
typeof registered.content !== "string" ||
|
|
283
|
-
parseSkillUid(registered.content) !== registered.skillUid) {
|
|
284
|
-
throw new Error("The server returned an invalid skill registration response; the local file was not changed.");
|
|
285
|
-
}
|
|
286
|
-
return { skillUid: registered.skillUid, content: registered.content };
|
|
287
|
-
}
|
|
288
|
-
function skillRecordPath(record) {
|
|
289
|
-
for (const value of [record?.vaultPath, record?.sourcePath, record?.path]) {
|
|
290
|
-
if (typeof value === "string" && value.length > 0)
|
|
291
|
-
return value;
|
|
292
|
-
}
|
|
293
|
-
return undefined;
|
|
294
|
-
}
|
|
295
|
-
export function normalizeLiveSkillVaultPath(rawPath) {
|
|
296
|
-
const normalized = rawPath.replace(/\\/g, "/").replace(/^\/+/, "").replace(/\/+$/, "");
|
|
297
|
-
const match = normalized.match(/(?:^|\/)skills\/([a-z0-9][a-z0-9-]*)(?:\/SKILL\.md)?$/);
|
|
298
|
-
return match ? skillVaultPath(match[1]) : normalized;
|
|
299
|
-
}
|
|
300
198
|
export function mapSkillError(status, body) {
|
|
301
199
|
const server = (typeof body.error === "string" && body.error) ||
|
|
302
200
|
(typeof body.message === "string" && body.message) ||
|
|
@@ -424,31 +322,6 @@ export function skillApiError(status, body, opts = {}) {
|
|
|
424
322
|
}
|
|
425
323
|
return new Error(message);
|
|
426
324
|
}
|
|
427
|
-
function realConfirm(message) {
|
|
428
|
-
const rl = readline.createInterface({
|
|
429
|
-
input: process.stdin,
|
|
430
|
-
output: process.stdout,
|
|
431
|
-
});
|
|
432
|
-
return new Promise((resolve) => {
|
|
433
|
-
rl.question(`${message} [y/N] `, (answer) => {
|
|
434
|
-
rl.close();
|
|
435
|
-
resolve(/^y(es)?$/i.test(answer.trim()));
|
|
436
|
-
});
|
|
437
|
-
});
|
|
438
|
-
}
|
|
439
|
-
/**
|
|
440
|
-
* Resolve a delete target: a `skl_…` uid, a SKILL.md path or its directory, or
|
|
441
|
-
* a bare skill slug under `companies/<company>/skills/<slug>/`.
|
|
442
|
-
*/
|
|
443
|
-
export function resolveDeleteTarget(target, cwd, hqRoot, companySlug) {
|
|
444
|
-
if (SKILL_UID_PATTERN.test(target))
|
|
445
|
-
return target;
|
|
446
|
-
const asPath = path.resolve(cwd, target);
|
|
447
|
-
if (!fs.existsSync(asPath) && SKILL_SLUG_PATTERN.test(target)) {
|
|
448
|
-
return resolveSkillUid(canonicalCompanySkillPath(hqRoot, companySlug, target), cwd);
|
|
449
|
-
}
|
|
450
|
-
return resolveSkillUid(target, cwd);
|
|
451
|
-
}
|
|
452
325
|
export function registerSkillCommand(program, deps = {}) {
|
|
453
326
|
const ensureToken = deps.ensureToken ?? ensureCognitoToken;
|
|
454
327
|
const apiFetch = deps.apiFetch ?? vaultApiFetch;
|
|
@@ -456,11 +329,9 @@ export function registerSkillCommand(program, deps = {}) {
|
|
|
456
329
|
const hqRoot = deps.hqRoot ?? DEFAULT_HQ_ROOT;
|
|
457
330
|
const syncFile = deps.syncFile ?? defaultSyncFile;
|
|
458
331
|
const surfaceSkillFn = deps.surfaceSkillFn ?? surfaceCompanySkill;
|
|
459
|
-
const confirm = deps.confirm ?? realConfirm;
|
|
460
|
-
const resolveCompanyUid = deps.resolveCompanyUid ?? getCompanyUid;
|
|
461
332
|
const skill = program
|
|
462
333
|
.command("skill")
|
|
463
|
-
.description("Create
|
|
334
|
+
.description("Create company skills and discuss improvements")
|
|
464
335
|
.option("--company <slug>", "Company slug (defaults to the active company)")
|
|
465
336
|
.option("--hq-root <path>", "Local HQ root", hqRoot);
|
|
466
337
|
skill
|
|
@@ -520,7 +391,7 @@ export function registerSkillCommand(program, deps = {}) {
|
|
|
520
391
|
path: `/v1/files/skills/company/${encodeURIComponent(companySlug)}/register`,
|
|
521
392
|
method: "POST",
|
|
522
393
|
body: {
|
|
523
|
-
path:
|
|
394
|
+
path: `skills/${slug}/SKILL.md`,
|
|
524
395
|
content: localContent,
|
|
525
396
|
},
|
|
526
397
|
});
|
|
@@ -530,8 +401,13 @@ export function registerSkillCommand(program, deps = {}) {
|
|
|
530
401
|
machineIdentity: isMachineIdentity(),
|
|
531
402
|
});
|
|
532
403
|
}
|
|
533
|
-
const
|
|
534
|
-
|
|
404
|
+
const registered = (await response.json());
|
|
405
|
+
if (typeof registered.skillUid !== "string" ||
|
|
406
|
+
!SKILL_UID_PATTERN.test(registered.skillUid) ||
|
|
407
|
+
typeof registered.content !== "string" ||
|
|
408
|
+
parseSkillUid(registered.content) !== registered.skillUid) {
|
|
409
|
+
throw new Error("The server returned an invalid skill registration response; the local file was not changed.");
|
|
410
|
+
}
|
|
535
411
|
writeSkillFileAtomically(filePath, registered.content);
|
|
536
412
|
let discoveryStatus = null;
|
|
537
413
|
try {
|
|
@@ -597,183 +473,15 @@ export function registerSkillCommand(program, deps = {}) {
|
|
|
597
473
|
// Sentry rather than filing a crash on its first occurrence.
|
|
598
474
|
throw localSkillError(`Skill ${registered.skillUid} is stamped locally at '${filePath}', but sync aborted because the remote file conflicts.`);
|
|
599
475
|
}
|
|
600
|
-
if (syncResult.planLimit) {
|
|
601
|
-
throw skillUploadRefused(registered.skillUid, filePath, companySlug, syncResult.planLimit);
|
|
602
|
-
}
|
|
603
476
|
}
|
|
604
477
|
console.log(chalk.green(`Skill ready: ${registered.skillUid}`));
|
|
605
478
|
console.log(` File: ${filePath}`);
|
|
606
479
|
console.log(` Discovery: ${discoveryStatus === 0 ? "ready" : "needs attention"}`);
|
|
607
|
-
console.log(
|
|
480
|
+
console.log(registered.accessPolicy === "open"
|
|
608
481
|
? ` Access: Open — every active ${companySlug} member can edit`
|
|
609
482
|
: " Access: preserved existing policy");
|
|
610
483
|
console.log(` Sync: ${opts.sync === false ? "not requested" : "complete"}`);
|
|
611
484
|
});
|
|
612
|
-
skill
|
|
613
|
-
.command("register <slug>")
|
|
614
|
-
.description("Register a company skill to a proposal-lane stamped file without writing the canonical tree")
|
|
615
|
-
.requiredOption("--source <path>", "Caller-authored SKILL.md (or its directory) to send to the server validator")
|
|
616
|
-
.requiredOption("--stamped-output <path>", "Write the complete server-stamped bytes here, outside companies/<company>/skills/")
|
|
617
|
-
.option("--no-canonical-write", "Refuse to write companies/<company>/skills/ (always the register behavior)")
|
|
618
|
-
.option("--no-surface", "Do not create a discovery wrapper (always the register behavior)")
|
|
619
|
-
.option("--no-sync", "Do not upload the skill file (always the register behavior)")
|
|
620
|
-
.action(async (slug, opts) => {
|
|
621
|
-
if (!SKILL_SLUG_PATTERN.test(slug)) {
|
|
622
|
-
throw localSkillError("Skill slug must start with a lowercase letter or number and contain only lowercase letters, numbers, and hyphens.");
|
|
623
|
-
}
|
|
624
|
-
const parentOpts = skill.opts();
|
|
625
|
-
const resolvedRoot = path.resolve(parentOpts.hqRoot ?? hqRoot);
|
|
626
|
-
const companySlug = resolveCompanySlug(parentOpts.company, resolvedRoot);
|
|
627
|
-
canonicalCompanySkillPath(resolvedRoot, companySlug, slug);
|
|
628
|
-
const sourcePath = resolveSkillMarkdownPath(opts.source, cwd());
|
|
629
|
-
if (!fs.existsSync(sourcePath) || !fs.statSync(sourcePath).isFile()) {
|
|
630
|
-
throw localSkillError(`No SKILL.md found at '${opts.source}'. Pass --source <file> or a directory that contains SKILL.md.`);
|
|
631
|
-
}
|
|
632
|
-
const stampedOutputPath = assertStagedOutputPath(resolvedRoot, path.resolve(cwd(), opts.stampedOutput));
|
|
633
|
-
const localContent = fs.readFileSync(sourcePath, "utf8");
|
|
634
|
-
const sourceHash = sha256Hex(localContent);
|
|
635
|
-
const token = await ensureToken();
|
|
636
|
-
const response = await apiFetch({
|
|
637
|
-
token,
|
|
638
|
-
path: `/v1/files/skills/company/${encodeURIComponent(companySlug)}/register`,
|
|
639
|
-
method: "POST",
|
|
640
|
-
body: {
|
|
641
|
-
path: skillVaultPath(slug),
|
|
642
|
-
content: localContent,
|
|
643
|
-
},
|
|
644
|
-
});
|
|
645
|
-
if (!response.ok) {
|
|
646
|
-
const body = (await response.json().catch(() => ({})));
|
|
647
|
-
throw skillApiError(response.status, body, {
|
|
648
|
-
machineIdentity: isMachineIdentity(),
|
|
649
|
-
});
|
|
650
|
-
}
|
|
651
|
-
const registered = assertRegisteredSkillResponse((await response.json()));
|
|
652
|
-
writeSkillFileAtomically(stampedOutputPath, registered.content);
|
|
653
|
-
const stampedHash = sha256Hex(registered.content);
|
|
654
|
-
console.log(chalk.green(`Skill registered (staged): ${registered.skillUid}`));
|
|
655
|
-
console.log(` Source: ${sourcePath}`);
|
|
656
|
-
console.log(` Source SHA-256: ${sourceHash}`);
|
|
657
|
-
console.log(` Stamped output: ${stampedOutputPath}`);
|
|
658
|
-
console.log(` Stamped SHA-256: ${stampedHash}`);
|
|
659
|
-
console.log(" Canonical write: not requested");
|
|
660
|
-
console.log(" Discovery: not requested");
|
|
661
|
-
console.log(" Sync: not requested");
|
|
662
|
-
});
|
|
663
|
-
skill
|
|
664
|
-
.command("promote <slug>")
|
|
665
|
-
.description("Copy independently-cleared stamped bytes into the canonical skill path after SHA-256 and skill_uid checks")
|
|
666
|
-
.requiredOption("--from <path>", "Independently-cleared stamped SKILL.md (or its directory)")
|
|
667
|
-
.requiredOption("--expected-sha256 <hex>", "SHA-256 of the exact stamped file bytes that were cleared")
|
|
668
|
-
.option("--reviewed-update", "Replace an existing canonical SKILL.md whose bytes differ from the stamped file")
|
|
669
|
-
.option("--no-sync", "Promote locally without uploading the canonical file")
|
|
670
|
-
.action(async (slug, opts) => {
|
|
671
|
-
if (!SKILL_SLUG_PATTERN.test(slug)) {
|
|
672
|
-
throw localSkillError("Skill slug must start with a lowercase letter or number and contain only lowercase letters, numbers, and hyphens.");
|
|
673
|
-
}
|
|
674
|
-
const parentOpts = skill.opts();
|
|
675
|
-
const resolvedRoot = path.resolve(parentOpts.hqRoot ?? hqRoot);
|
|
676
|
-
const companySlug = resolveCompanySlug(parentOpts.company, resolvedRoot);
|
|
677
|
-
const canonicalPath = canonicalCompanySkillPath(resolvedRoot, companySlug, slug);
|
|
678
|
-
const fromPath = resolveSkillMarkdownPath(opts.from, cwd());
|
|
679
|
-
if (!fs.existsSync(fromPath) || !fs.statSync(fromPath).isFile()) {
|
|
680
|
-
throw localSkillError(`No stamped SKILL.md found at '${opts.from}'. Pass --from <file> or a directory that contains SKILL.md.`);
|
|
681
|
-
}
|
|
682
|
-
const stampedBytes = fs.readFileSync(fromPath);
|
|
683
|
-
assertSha256HexMatch(sha256Hex(stampedBytes), opts.expectedSha256);
|
|
684
|
-
const stampedContent = stampedBytes.toString("utf8");
|
|
685
|
-
const skillUid = parseSkillUid(stampedContent);
|
|
686
|
-
if (!skillUid) {
|
|
687
|
-
throw localSkillError(`The stamped SKILL.md at '${fromPath}' has no registered skill_uid. Canonical skill was not written.`);
|
|
688
|
-
}
|
|
689
|
-
const token = await ensureToken();
|
|
690
|
-
const companyUid = await resolveCompanyUid(token, companySlug);
|
|
691
|
-
const detail = await apiFetch({
|
|
692
|
-
token,
|
|
693
|
-
path: `/v1/skills/${encodeURIComponent(companyUid)}/${encodeURIComponent(skillUid)}`,
|
|
694
|
-
method: "GET",
|
|
695
|
-
});
|
|
696
|
-
if (!detail.ok) {
|
|
697
|
-
const body = (await detail.json().catch(() => ({})));
|
|
698
|
-
throw skillApiError(detail.status, body, {
|
|
699
|
-
machineIdentity: isMachineIdentity(),
|
|
700
|
-
});
|
|
701
|
-
}
|
|
702
|
-
const { skill: record } = (await detail.json());
|
|
703
|
-
if (typeof record?.skillUid === "string" &&
|
|
704
|
-
record.skillUid !== skillUid) {
|
|
705
|
-
throw localSkillError(`Stamped skill_uid ${skillUid} does not match the server registration. Canonical skill was not written.`);
|
|
706
|
-
}
|
|
707
|
-
const recordPath = skillRecordPath(record);
|
|
708
|
-
if (recordPath &&
|
|
709
|
-
normalizeLiveSkillVaultPath(recordPath) !== skillVaultPath(slug)) {
|
|
710
|
-
throw localSkillError(`Stamped skill_uid ${skillUid} is registered at '${recordPath}', not '${skillVaultPath(slug)}'. Canonical skill was not written.`);
|
|
711
|
-
}
|
|
712
|
-
if (fs.existsSync(canonicalPath) && !fs.statSync(canonicalPath).isFile()) {
|
|
713
|
-
throw localSkillError(`Expected a SKILL.md file at '${canonicalPath}'.`);
|
|
714
|
-
}
|
|
715
|
-
const existing = fs.existsSync(canonicalPath)
|
|
716
|
-
? fs.readFileSync(canonicalPath)
|
|
717
|
-
: null;
|
|
718
|
-
if (existing && !existing.equals(stampedBytes)) {
|
|
719
|
-
if (opts.reviewedUpdate !== true) {
|
|
720
|
-
throw localSkillError(`Canonical skill '${canonicalPath}' already exists and differs from the stamped file. Re-run with --reviewed-update after that exact change is cleared.`);
|
|
721
|
-
}
|
|
722
|
-
}
|
|
723
|
-
if (!existing || !existing.equals(stampedBytes)) {
|
|
724
|
-
writeSkillFileAtomically(canonicalPath, stampedBytes);
|
|
725
|
-
}
|
|
726
|
-
const legacyPrefix = readCompanyPrefix(resolvedRoot, companySlug);
|
|
727
|
-
let discoveryStatus = null;
|
|
728
|
-
try {
|
|
729
|
-
discoveryStatus = surfaceSkillFn({
|
|
730
|
-
hqRoot: resolvedRoot,
|
|
731
|
-
companySlug,
|
|
732
|
-
skillSlug: slug,
|
|
733
|
-
...(legacyPrefix ? { legacyPrefix } : {}),
|
|
734
|
-
}).status;
|
|
735
|
-
}
|
|
736
|
-
catch (err) {
|
|
737
|
-
console.warn(chalk.yellow(`⚠ Skill promoted, but local discovery failed: ${err instanceof Error ? err.message : String(err)}`));
|
|
738
|
-
}
|
|
739
|
-
if (discoveryStatus !== null && discoveryStatus !== 0) {
|
|
740
|
-
console.warn(chalk.yellow(`⚠ Skill promoted, but local discovery exited ${discoveryStatus}. Run 'hq skill --company ${companySlug} create ${slug} --surface-only' to retry without another registration request.`));
|
|
741
|
-
}
|
|
742
|
-
if (opts.sync !== false) {
|
|
743
|
-
let syncResult;
|
|
744
|
-
try {
|
|
745
|
-
syncResult = await syncFile({
|
|
746
|
-
filePath: canonicalPath,
|
|
747
|
-
companySlug,
|
|
748
|
-
hqRoot: resolvedRoot,
|
|
749
|
-
token,
|
|
750
|
-
});
|
|
751
|
-
}
|
|
752
|
-
catch (err) {
|
|
753
|
-
console.warn(chalk.yellow(`⚠ Skill ${skillUid} is stamped locally at '${canonicalPath}', but sync failed.`));
|
|
754
|
-
if (err && typeof err === "object") {
|
|
755
|
-
const diagnostics = vaultAccessDeniedDiagnostics(err, {
|
|
756
|
-
companySlug,
|
|
757
|
-
objectKey: skillVaultPath(slug),
|
|
758
|
-
});
|
|
759
|
-
if (diagnostics)
|
|
760
|
-
stampVaultAccessDenied(err, diagnostics);
|
|
761
|
-
}
|
|
762
|
-
throw err;
|
|
763
|
-
}
|
|
764
|
-
if (syncResult.aborted) {
|
|
765
|
-
throw localSkillError(`Skill ${skillUid} is stamped locally at '${canonicalPath}', but sync aborted because the remote file conflicts.`);
|
|
766
|
-
}
|
|
767
|
-
if (syncResult.planLimit) {
|
|
768
|
-
throw skillUploadRefused(skillUid, canonicalPath, companySlug, syncResult.planLimit);
|
|
769
|
-
}
|
|
770
|
-
}
|
|
771
|
-
console.log(chalk.green(`Skill promoted: ${skillUid}`));
|
|
772
|
-
console.log(` File: ${canonicalPath}`);
|
|
773
|
-
console.log(` SHA-256: ${sha256Hex(stampedBytes)}`);
|
|
774
|
-
console.log(` Discovery: ${discoveryStatus === 0 ? "ready" : "needs attention"}`);
|
|
775
|
-
console.log(` Sync: ${opts.sync === false ? "not requested" : "complete"}`);
|
|
776
|
-
});
|
|
777
485
|
skill
|
|
778
486
|
.command("propose <target>")
|
|
779
487
|
.description("Post a comment-only improvement for a skill")
|
|
@@ -808,53 +516,6 @@ export function registerSkillCommand(program, deps = {}) {
|
|
|
808
516
|
console.log(` Message: ${posted.body}`);
|
|
809
517
|
console.log(chalk.dim(" Review it in HQ Console → Skills → Improvements"));
|
|
810
518
|
});
|
|
811
|
-
skill
|
|
812
|
-
.command("delete <target>")
|
|
813
|
-
.description("Delete a company skill and all of its files for everyone (skl_… uid, SKILL.md path, or skill slug). Prompts for confirmation unless --yes.")
|
|
814
|
-
.option("-y, --yes", "Skip the confirmation prompt (for scripts)")
|
|
815
|
-
.action(async (target, opts) => {
|
|
816
|
-
const parentOpts = skill.opts();
|
|
817
|
-
const resolvedRoot = path.resolve(parentOpts.hqRoot ?? hqRoot);
|
|
818
|
-
const companySlug = resolveCompanySlug(parentOpts.company, resolvedRoot);
|
|
819
|
-
const skillUid = resolveDeleteTarget(target, cwd(), resolvedRoot, companySlug);
|
|
820
|
-
const token = await ensureToken();
|
|
821
|
-
const companyUid = await resolveCompanyUid(token, companySlug);
|
|
822
|
-
const skillPath = `/v1/skills/${encodeURIComponent(companyUid)}/${encodeURIComponent(skillUid)}`;
|
|
823
|
-
const detail = await apiFetch({ token, path: skillPath, method: "GET" });
|
|
824
|
-
if (!detail.ok) {
|
|
825
|
-
const body = (await detail.json().catch(() => ({})));
|
|
826
|
-
throw skillApiError(detail.status, body, {
|
|
827
|
-
machineIdentity: isMachineIdentity(),
|
|
828
|
-
});
|
|
829
|
-
}
|
|
830
|
-
const { skill: record } = (await detail.json());
|
|
831
|
-
const name = typeof record?.name === "string" ? record.name : skillUid;
|
|
832
|
-
if (opts.yes !== true) {
|
|
833
|
-
if (!process.stdin.isTTY) {
|
|
834
|
-
throw localSkillError(`Refusing to delete '${name}' without confirmation. Re-run with --yes.`);
|
|
835
|
-
}
|
|
836
|
-
const ok = await confirm(`Delete skill '${name}' (${skillUid}) and all of its files for everyone in ${companySlug}? This can't be undone from the CLI.`);
|
|
837
|
-
if (!ok) {
|
|
838
|
-
console.log("Cancelled — nothing was deleted.");
|
|
839
|
-
return;
|
|
840
|
-
}
|
|
841
|
-
}
|
|
842
|
-
const response = await apiFetch({ token, path: skillPath, method: "DELETE" });
|
|
843
|
-
if (!response.ok) {
|
|
844
|
-
const body = (await response.json().catch(() => ({})));
|
|
845
|
-
throw skillApiError(response.status, body, {
|
|
846
|
-
machineIdentity: isMachineIdentity(),
|
|
847
|
-
});
|
|
848
|
-
}
|
|
849
|
-
const result = (await response.json());
|
|
850
|
-
console.log(chalk.green(`Skill deleted: ${name}`));
|
|
851
|
-
console.log(` Skill: ${skillUid}`);
|
|
852
|
-
console.log(` Files: ${typeof result.filesDeleted === "number" ? result.filesDeleted : 0} removed`);
|
|
853
|
-
if (result.tombstoneIncomplete === true) {
|
|
854
|
-
console.warn(chalk.yellow("⚠ Some synced computers may not be told to remove their copy. Delete it locally if it reappears."));
|
|
855
|
-
}
|
|
856
|
-
console.log(chalk.dim(" Local copies are removed on the next sync (hq sync now)."));
|
|
857
|
-
});
|
|
858
519
|
return skill;
|
|
859
520
|
}
|
|
860
521
|
//# sourceMappingURL=skill.js.map
|
|
@@ -70,15 +70,6 @@ export interface SetSyncModeResult {
|
|
|
70
70
|
export interface ShowSyncModesOptions {
|
|
71
71
|
vaultClient: SyncModeVaultClient;
|
|
72
72
|
}
|
|
73
|
-
export interface GetSyncModeOptions {
|
|
74
|
-
companySlug: string;
|
|
75
|
-
vaultClient: SyncModeVaultClient;
|
|
76
|
-
}
|
|
77
|
-
export interface GetSyncModeResult {
|
|
78
|
-
membershipId: string;
|
|
79
|
-
companySlug: string;
|
|
80
|
-
config: MembershipSyncConfig;
|
|
81
|
-
}
|
|
82
73
|
export interface ShowSyncModesRow {
|
|
83
74
|
companySlug: string;
|
|
84
75
|
companyName?: string;
|
|
@@ -109,8 +100,6 @@ export declare function setSyncMode(options: SetSyncModeOptions): Promise<SetSyn
|
|
|
109
100
|
* stable table output.
|
|
110
101
|
*/
|
|
111
102
|
export declare function showSyncModes(options: ShowSyncModesOptions): Promise<ShowSyncModesRow[]>;
|
|
112
|
-
/** Read one company's effective sync mode without hiding API read failures. */
|
|
113
|
-
export declare function getSyncModeForCompany(options: GetSyncModeOptions): Promise<GetSyncModeResult>;
|
|
114
103
|
/**
|
|
115
104
|
* Render the `--show` table as plain text. No external dep — hq-cli doesn't
|
|
116
105
|
* use cli-table3, so we hand-format columns to match the existing chalk +
|
|
@@ -163,36 +163,6 @@ export async function showSyncModes(options) {
|
|
|
163
163
|
rows.sort((a, b) => a.companySlug.localeCompare(b.companySlug));
|
|
164
164
|
return rows;
|
|
165
165
|
}
|
|
166
|
-
/** Read one company's effective sync mode without hiding API read failures. */
|
|
167
|
-
export async function getSyncModeForCompany(options) {
|
|
168
|
-
const { companySlug, vaultClient } = options;
|
|
169
|
-
const memberships = await vaultClient.listMyMemberships();
|
|
170
|
-
const enriched = await Promise.all(memberships.map(async (membership) => {
|
|
171
|
-
try {
|
|
172
|
-
const entity = await vaultClient.entity.get(membership.companyUid);
|
|
173
|
-
return { ok: true, membership, slug: entity.slug };
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
return { ok: false, membership, error };
|
|
177
|
-
}
|
|
178
|
-
}));
|
|
179
|
-
const match = enriched.find((row) => row.ok && row.slug === companySlug);
|
|
180
|
-
if (!match) {
|
|
181
|
-
const failedLookup = enriched.find((row) => !row.ok);
|
|
182
|
-
if (failedLookup && !failedLookup.ok)
|
|
183
|
-
throw failedLookup.error;
|
|
184
|
-
throw new Error(`No membership found for company '${companySlug}'.`);
|
|
185
|
-
}
|
|
186
|
-
for (const failedLookup of enriched) {
|
|
187
|
-
if (!failedLookup.ok) {
|
|
188
|
-
const detail = failedLookup.error instanceof Error ? failedLookup.error.message : String(failedLookup.error);
|
|
189
|
-
console.error(`getSyncModeForCompany: entity lookup failed for membership ${failedLookup.membership.membershipKey} while resolving '${companySlug}': ${detail}`);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
const membershipId = match.membership.membershipKey;
|
|
193
|
-
const config = await vaultClient.getMembershipSyncConfig(membershipId);
|
|
194
|
-
return { membershipId, companySlug, config };
|
|
195
|
-
}
|
|
196
166
|
// ── Table rendering (used by CLI action, separable for tests) ──────────────
|
|
197
167
|
/**
|
|
198
168
|
* Render the `--show` table as plain text. No external dep — hq-cli doesn't
|