@indigoai-us/hq-cli 5.313.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 -4300
- 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 -357
- package/dist/commands/company-transfer.d.ts +28 -4
- package/dist/commands/company-transfer.js +49 -5
- package/dist/commands/company.js +3 -68
- 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 -277
- 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 -87
- 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 -20
- 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 +7 -26
- 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 -53
- package/dist/lib/mesh/live/daemon/doctor.js +6 -190
- 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 -13
- package/dist/lib/work-context/contract.schema.json +1 -3
- 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 +5 -27
- package/dist/lib/work-context/outbox.js +6 -135
- package/dist/lib/work-context/reconcile.d.ts +0 -15
- package/dist/lib/work-context/reconcile.js +29 -405
- 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 -32
- package/dist/main.js +73 -273
- 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 +14 -2
- package/dist/utils/pack-contributions.js +44 -7
- 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.d.ts +2 -0
- package/dist/utils/redact-error-text.js +2 -3
- package/dist/utils/run-bundled-script.d.ts +0 -6
- package/dist/utils/run-bundled-script.js +4 -117
- package/dist/utils/sandbox-runner-client.d.ts +1 -2
- 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/lib/work-mesh-live-hook.sh +0 -378
- package/assets/scaffold/core/scripts/lib/work-mesh-live-rebind.sh +0 -141
- package/assets/scaffold/core/scripts/migrate-policy-triggers.sh +0 -373
- 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/register-project.sh +0 -262
- 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/work-mesh-live-rebind.sh +0 -59
- 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 -10735
- package/dist/command-catalog.generated.js +0 -13836
- 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/company-rename-flag.d.ts +0 -4
- package/dist/commands/company-rename-flag.js +0 -7
- package/dist/commands/company-rename.d.ts +0 -4
- package/dist/commands/company-rename.js +0 -90
- 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-eval-trigger-native.d.ts +0 -4
- package/dist/commands/core-eval-trigger-native.js +0 -12
- 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 -11
- package/dist/commands/core-knowledge-prefs.js +0 -137
- package/dist/commands/core-migrate-policy-triggers-native.d.ts +0 -21
- package/dist/commands/core-migrate-policy-triggers-native.js +0 -378
- 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-hook-helper-commands.d.ts +0 -4
- package/dist/commands/core-native-hook-helper-commands.js +0 -56
- package/dist/commands/core-native-hook-helpers-flag.d.ts +0 -4
- package/dist/commands/core-native-hook-helpers-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-register-project-native.d.ts +0 -30
- package/dist/commands/core-register-project-native.js +0 -347
- 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-work-mesh-live-rebind-native.d.ts +0 -18
- package/dist/commands/core-work-mesh-live-rebind-native.js +0 -262
- 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 -4
- 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 -937
- 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 -1005
- 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 -564
- 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 -8973
- 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 -86
- package/dist/fast-scaffold.js +0 -364
- 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 -94
- package/dist/lib/lanes/config.js +0 -606
- 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/disk-guard.d.ts +0 -66
- package/dist/lib/lanes/disk-guard.js +0 -172
- 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 -15
- package/dist/lib/lanes/flag-keys.js +0 -15
- package/dist/lib/lanes/grants.d.ts +0 -30
- package/dist/lib/lanes/grants.js +0 -171
- package/dist/lib/lanes/hire-grant-dispatch.d.ts +0 -29
- package/dist/lib/lanes/hire-grant-dispatch.js +0 -315
- 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 -161
- package/dist/lib/lanes/reconcile.js +0 -3324
- package/dist/lib/lanes/registry-flag.d.ts +0 -35
- package/dist/lib/lanes/registry-flag.js +0 -164
- 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 -355
- package/dist/lib/lanes/spawn.js +0 -2668
- 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 -1822
- 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 -1030
- package/dist/lib/lanes/types.js +0 -418
- 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/denial-codes.d.ts +0 -5
- package/dist/lib/mesh/denial-codes.js +0 -14
- 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 -34
- package/dist/lib/search-index/embed-lock.js +0 -295
- 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/core-eval-trigger.d.ts +0 -4
- package/dist/utils/core-eval-trigger.js +0 -88
- 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/files.js
CHANGED
|
@@ -4,22 +4,10 @@ import * as readline from "node:readline";
|
|
|
4
4
|
import { resolveVaultCredential } from "../utils/resolve-vault-credential.js";
|
|
5
5
|
import { gateApiKeyCapabilities } from "../utils/api-key-command-gate.js";
|
|
6
6
|
import { vaultApiFetch, getCompanyUid } from "./secrets.js";
|
|
7
|
-
import { GROUP_ID_PATTERN, EMAIL_PATTERN,
|
|
7
|
+
import { GROUP_ID_PATTERN, EMAIL_PATTERN, normalizeFilePrefix } from "./_patterns.js";
|
|
8
8
|
import { looksLikeCompanyUid } from "../utils/vault-api.js";
|
|
9
9
|
import { AuthError } from "../utils/auth-error.js";
|
|
10
10
|
import { formatAccessDenied, offerAccessLadder, } from "../utils/access-denied-hint.js";
|
|
11
|
-
import { fetchChannels, matchChannelsByName } from "./dm.js";
|
|
12
|
-
import { resolveCompanySlug, resolvePersonWithRosterFallback, } from "./people.js";
|
|
13
|
-
import { findHqRoot } from "../utils/manifest.js";
|
|
14
|
-
import { maxLength } from "../utils/table-width.js";
|
|
15
|
-
import { resolveCompanyFlagGate } from "../lib/flag-registry.js";
|
|
16
|
-
const PERSON_UID_PATTERN = /^(prs|agt)_[A-Za-z0-9_-]+$/;
|
|
17
|
-
const AGENT_UID_PATTERN = /^agt_[A-Za-z0-9_-]+$/;
|
|
18
|
-
export const FILES_SHARE_EMPTY_PREFIX_WARNING_FLAG = "files.share-empty-prefix-warning";
|
|
19
|
-
const FILES_SHARE_EMPTY_PREFIX_CHECK_TIMEOUT_MS = 5_000;
|
|
20
|
-
function collectMentions(value, previous) {
|
|
21
|
-
return [...previous, value];
|
|
22
|
-
}
|
|
23
11
|
// ---------------------------------------------------------------------------
|
|
24
12
|
// Pure helpers (exported for unit tests)
|
|
25
13
|
// ---------------------------------------------------------------------------
|
|
@@ -45,27 +33,6 @@ export function parseDuration(input) {
|
|
|
45
33
|
}
|
|
46
34
|
/** PRD upper bound on browser-launch share-session expiry. */
|
|
47
35
|
export const MAX_SHARE_SESSION_EXPIRY_MS = 24 * 60 * 60 * 1000; // 24h
|
|
48
|
-
/** Render the ACL-specific meaning of a path without changing its wire value. */
|
|
49
|
-
function displayAclPattern(prefix) {
|
|
50
|
-
return isPrivateFolderPattern(prefix)
|
|
51
|
-
? `${prefix} (private folder)`
|
|
52
|
-
: prefix;
|
|
53
|
-
}
|
|
54
|
-
function privateFolderExplanation(prefix) {
|
|
55
|
-
return (`Private folder '${prefix}' — write can create only a new direct child. ` +
|
|
56
|
-
"Children are creator-only; this grant does not read, list, overwrite, or delete them.");
|
|
57
|
-
}
|
|
58
|
-
function formatAclPatternConflict(prefix, serverMessage) {
|
|
59
|
-
const privatePattern = prefix.endsWith("/*")
|
|
60
|
-
? prefix.slice(0, -1)
|
|
61
|
-
: prefix.endsWith("/")
|
|
62
|
-
? prefix
|
|
63
|
-
: `${prefix}/`;
|
|
64
|
-
const sharedPattern = `${privatePattern}*`;
|
|
65
|
-
const detail = serverMessage ? `${serverMessage}. ` : "";
|
|
66
|
-
return (`${detail}A private folder '${privatePattern}' and shared folder glob ` +
|
|
67
|
-
`'${sharedPattern}' cannot both exist. Remove the conflicting ACL pattern and retry.`);
|
|
68
|
-
}
|
|
69
36
|
/**
|
|
70
37
|
* POST /files/{companyUid}/share-session — mint a browser-launch share
|
|
71
38
|
* session token. Returns the parsed response. Throws ShareSessionHttpError
|
|
@@ -127,7 +94,7 @@ export function formatShareSessionError(err) {
|
|
|
127
94
|
export function registerFilesCommand(program) {
|
|
128
95
|
const files = program
|
|
129
96
|
.command("files")
|
|
130
|
-
.description("Manage file access controls in HQ vault
|
|
97
|
+
.description("Manage file access controls in HQ vault")
|
|
131
98
|
.option("--company <slug>", "Company slug (resolves to companyUid)");
|
|
132
99
|
// An exported HQ_API_KEY must never fall back to the caller's Cognito session
|
|
133
100
|
// (that would ignore the key's scope entirely), so every subcommand is gated.
|
|
@@ -156,29 +123,14 @@ export function registerFilesCommand(program) {
|
|
|
156
123
|
});
|
|
157
124
|
files
|
|
158
125
|
.command("share [paths...]")
|
|
159
|
-
.description("Share file paths.
|
|
126
|
+
.description("Share file paths. Without --with: mint a share-session URL and open it in the browser. With --with: grant access directly to a person, group, or @all.")
|
|
160
127
|
.option("--with <principal>", "Email address, group id, or '@all' to share with every active company member")
|
|
161
128
|
.option("--permission <level>", "Permission level (only with --with): read | write")
|
|
162
129
|
.option("--full", "Grant access to the ENTIRE vault (the '*' wildcard prefix) — no need to quote a glob. Requires --with; defaults to write permission.")
|
|
163
130
|
.option("--expires <duration>", "Token expiry duration for share-session URL (e.g. 15m, 1h, 24h). Default 15m. Max 24h.")
|
|
164
131
|
.option("--no-open", "Print the share-session URL but do not launch the browser")
|
|
165
|
-
.option("--channel <name>", "Post the share record to this named channel instead of a DM")
|
|
166
|
-
.option("--mention <person>", "Mention a person on the channel share record (repeatable)", collectMentions, [])
|
|
167
132
|
.action(async (paths, opts) => {
|
|
168
133
|
try {
|
|
169
|
-
const mentions = opts.mention ?? [];
|
|
170
|
-
if (mentions.length > 0 && opts.channel === undefined) {
|
|
171
|
-
console.error(chalk.red("--mention requires --channel <name>."));
|
|
172
|
-
process.exit(1);
|
|
173
|
-
}
|
|
174
|
-
const companySlug = files.opts().company;
|
|
175
|
-
const channelTarget = opts.channel !== undefined
|
|
176
|
-
? await resolveShareChannelTarget({
|
|
177
|
-
channelName: opts.channel,
|
|
178
|
-
mentions,
|
|
179
|
-
companySlug,
|
|
180
|
-
})
|
|
181
|
-
: undefined;
|
|
182
134
|
// Full-vault grant: a glob-safe affordance for "give this person the
|
|
183
135
|
// whole vault" so admins never have to quote a `*` (an unquoted glob
|
|
184
136
|
// expands to local filenames and instantly fails the one-prefix
|
|
@@ -198,9 +150,8 @@ export function registerFilesCommand(program) {
|
|
|
198
150
|
prefix: "*",
|
|
199
151
|
principal: opts.with,
|
|
200
152
|
permission: opts.permission ?? "write",
|
|
201
|
-
companySlug,
|
|
153
|
+
companySlug: files.opts().company,
|
|
202
154
|
fullVault: true,
|
|
203
|
-
...channelTarget,
|
|
204
155
|
});
|
|
205
156
|
return;
|
|
206
157
|
}
|
|
@@ -208,9 +159,9 @@ export function registerFilesCommand(program) {
|
|
|
208
159
|
console.error(chalk.red("usage: hq files share <paths...> [--with <principal>]"));
|
|
209
160
|
process.exit(1);
|
|
210
161
|
}
|
|
211
|
-
// Fork: --with present → existing direct-grant path. --
|
|
212
|
-
//
|
|
213
|
-
//
|
|
162
|
+
// Fork: --with present → existing direct-grant path. No --with →
|
|
163
|
+
// browser-launch share-session path. The direct-grant path
|
|
164
|
+
// operates on a single prefix.
|
|
214
165
|
if (opts.with !== undefined) {
|
|
215
166
|
if (paths.length !== 1) {
|
|
216
167
|
console.error(chalk.red("Direct grant (--with) takes exactly one prefix. Pass multiple paths only when minting a share-session URL."));
|
|
@@ -220,42 +171,15 @@ export function registerFilesCommand(program) {
|
|
|
220
171
|
prefix: paths[0],
|
|
221
172
|
principal: opts.with,
|
|
222
173
|
permission: opts.permission,
|
|
223
|
-
companySlug,
|
|
224
|
-
...channelTarget,
|
|
174
|
+
companySlug: files.opts().company,
|
|
225
175
|
});
|
|
226
176
|
return;
|
|
227
177
|
}
|
|
228
|
-
if (channelTarget) {
|
|
229
|
-
if (channelTarget.mentionPersonUids.length === 0) {
|
|
230
|
-
console.error(chalk.red("--channel requires --with <principal> or --mention <person>."));
|
|
231
|
-
process.exit(1);
|
|
232
|
-
}
|
|
233
|
-
if (paths.length !== 1) {
|
|
234
|
-
console.error(chalk.red("Channel share takes exactly one prefix. Pass multiple paths only when minting a share-session URL."));
|
|
235
|
-
process.exit(1);
|
|
236
|
-
}
|
|
237
|
-
const permission = opts.permission ?? "read";
|
|
238
|
-
for (const [index, uid] of channelTarget.mentionPersonUids.entries()) {
|
|
239
|
-
await runDirectGrant({
|
|
240
|
-
prefix: paths[0],
|
|
241
|
-
principal: uid,
|
|
242
|
-
permission,
|
|
243
|
-
companySlug,
|
|
244
|
-
...(index === 0
|
|
245
|
-
? {
|
|
246
|
-
channelId: channelTarget.channelId,
|
|
247
|
-
mentionPersonUids: channelTarget.mentionPersonUids,
|
|
248
|
-
}
|
|
249
|
-
: {}),
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
178
|
await runShareSession({
|
|
255
179
|
paths,
|
|
256
180
|
expires: opts.expires,
|
|
257
181
|
launchBrowser: opts.open,
|
|
258
|
-
companySlug,
|
|
182
|
+
companySlug: files.opts().company,
|
|
259
183
|
});
|
|
260
184
|
}
|
|
261
185
|
catch (err) {
|
|
@@ -265,16 +189,15 @@ export function registerFilesCommand(program) {
|
|
|
265
189
|
});
|
|
266
190
|
files
|
|
267
191
|
.command("unshare <prefix>")
|
|
268
|
-
.description("Remove a file access grant
|
|
269
|
-
.requiredOption("--with <principal>", "
|
|
192
|
+
.description("Remove a file access grant")
|
|
193
|
+
.requiredOption("--with <principal>", "Email address, group id, or '@all' to remove the company-wide grant")
|
|
270
194
|
.action(async (prefix, opts) => {
|
|
271
195
|
try {
|
|
272
|
-
// Unshare MUTATES access with no preview
|
|
273
|
-
//
|
|
274
|
-
//
|
|
196
|
+
// Unshare MUTATES access with no preview, and it resolves the target
|
|
197
|
+
// company from --company (not from the pasted anchor), so a mismatched
|
|
198
|
+
// anchor would revoke a real grant in the wrong company.
|
|
275
199
|
const canonicalPrefix = normalizeCompanyFilePrefix(prefix, {
|
|
276
200
|
mutating: true,
|
|
277
|
-
allowCompanyRootAclRow: true,
|
|
278
201
|
...(files.opts().company !== undefined
|
|
279
202
|
? { companySlug: files.opts().company }
|
|
280
203
|
: {}),
|
|
@@ -283,21 +206,15 @@ export function registerFilesCommand(program) {
|
|
|
283
206
|
const isAll = principal === "@all";
|
|
284
207
|
const isEmail = !isAll && EMAIL_PATTERN.test(principal);
|
|
285
208
|
const isGroup = !isAll && GROUP_ID_PATTERN.test(principal);
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
if (!isAll && !isEmail && !isGroup && !isPerson && !isAgent) {
|
|
289
|
-
console.error(chalk.red(`Invalid principal '${principal}': must be '@all', an email address, a person uid matching prs_<alphanumeric>, an agent uid matching agt_<alphanumeric>, or a group id matching grp_<alphanumeric>`));
|
|
209
|
+
if (!isAll && !isEmail && !isGroup) {
|
|
210
|
+
console.error(chalk.red(`Invalid principal '${principal}': must be '@all', an email address, or a group id matching grp_<alphanumeric>`));
|
|
290
211
|
process.exit(1);
|
|
291
212
|
}
|
|
292
|
-
// The vault ACL API stores first-class agent access on its backwards-
|
|
293
|
-
// compatible person tuple: { granteeType: "person", granteeId: "agt_*" }.
|
|
294
213
|
const granteeType = isAll
|
|
295
214
|
? "company-wide"
|
|
296
215
|
: isEmail
|
|
297
216
|
? "email"
|
|
298
|
-
:
|
|
299
|
-
? "group"
|
|
300
|
-
: "person";
|
|
217
|
+
: "group";
|
|
301
218
|
const granteeId = isAll
|
|
302
219
|
? ""
|
|
303
220
|
: isEmail
|
|
@@ -305,14 +222,8 @@ export function registerFilesCommand(program) {
|
|
|
305
222
|
: principal;
|
|
306
223
|
const principalLabel = isAll ? "everyone in the company" : granteeId;
|
|
307
224
|
const token = (await resolveVaultCredential()).token;
|
|
308
|
-
const
|
|
309
|
-
const
|
|
310
|
-
? companySlugFromAnchor(prefix)
|
|
311
|
-
: undefined;
|
|
312
|
-
const companyUid = await resolveCompanyUidForAnchoredPath(token, {
|
|
313
|
-
explicit: explicitCompanySlug,
|
|
314
|
-
anchorSlug: companyRootSlug,
|
|
315
|
-
});
|
|
225
|
+
const companySlug = files.opts().company;
|
|
226
|
+
const companyUid = await getCompanyUid(token, companySlug);
|
|
316
227
|
const res = await vaultApiFetch({
|
|
317
228
|
token,
|
|
318
229
|
path: `/files/${encodeURIComponent(companyUid)}/acl/revoke`,
|
|
@@ -355,7 +266,7 @@ export function registerFilesCommand(program) {
|
|
|
355
266
|
}
|
|
356
267
|
process.exit(1);
|
|
357
268
|
}
|
|
358
|
-
console.log(chalk.green(`Removed grant for ${principalLabel} on '${
|
|
269
|
+
console.log(chalk.green(`Removed grant for ${principalLabel} on '${canonicalPrefix}'`));
|
|
359
270
|
}
|
|
360
271
|
catch (err) {
|
|
361
272
|
console.error(chalk.red("Error:"), err instanceof Error ? err.message : String(err));
|
|
@@ -364,15 +275,13 @@ export function registerFilesCommand(program) {
|
|
|
364
275
|
});
|
|
365
276
|
files
|
|
366
277
|
.command("acl <prefix>")
|
|
367
|
-
.description("Show the ACL (access control list) for a file prefix
|
|
368
|
-
.
|
|
369
|
-
.action(async (prefix, opts) => {
|
|
278
|
+
.description("Show the ACL (access control list) for a file prefix")
|
|
279
|
+
.action(async (prefix) => {
|
|
370
280
|
try {
|
|
371
281
|
// Read-only, so stripping is safe — but a mismatched anchor would show
|
|
372
282
|
// a DIFFERENT company's ACL than the one the operator pasted.
|
|
373
283
|
const explicitCompany = files.opts().company;
|
|
374
284
|
const canonicalPrefix = normalizeCompanyFilePrefix(prefix, {
|
|
375
|
-
allowCompanyRootAclRow: true,
|
|
376
285
|
...(explicitCompany !== undefined
|
|
377
286
|
? { companySlug: explicitCompany }
|
|
378
287
|
: {}),
|
|
@@ -412,16 +321,7 @@ export function registerFilesCommand(program) {
|
|
|
412
321
|
process.exit(1);
|
|
413
322
|
}
|
|
414
323
|
const tree = (await treeRes.json());
|
|
415
|
-
if (!tree || typeof tree.prefix !== 'string' || !Array.isArray(tree.direct)
|
|
416
|
-
|| !Array.isArray(tree.inherited) || !Array.isArray(tree.children)
|
|
417
|
-
|| !(tree.directRow === null || (typeof tree.directRow === 'object' && tree.directRow))) {
|
|
418
|
-
throw new Error('Invalid ACL tree response');
|
|
419
|
-
}
|
|
420
324
|
const row = tree.directRow;
|
|
421
|
-
if (opts.json) {
|
|
422
|
-
console.log(JSON.stringify({ ...tree, schemaVersion: 1, companyUid, exists: row !== null }, null, 2));
|
|
423
|
-
return;
|
|
424
|
-
}
|
|
425
325
|
// No own row AND nothing inherited or granted below — preserve the
|
|
426
326
|
// original "no ACL record" exit path.
|
|
427
327
|
if (!row && tree.inherited.length === 0 && tree.children.length === 0) {
|
|
@@ -429,10 +329,7 @@ export function registerFilesCommand(program) {
|
|
|
429
329
|
process.exit(1);
|
|
430
330
|
}
|
|
431
331
|
const aclStatus = row?.open ? "open" : "restricted";
|
|
432
|
-
console.log(chalk.green(`ACL for ${
|
|
433
|
-
if (isPrivateFolderPattern(tree.prefix)) {
|
|
434
|
-
console.log(chalk.gray(privateFolderExplanation(tree.prefix)));
|
|
435
|
-
}
|
|
332
|
+
console.log(chalk.green(`ACL for ${tree.prefix} (${aclStatus})`));
|
|
436
333
|
if (row) {
|
|
437
334
|
console.log(`Creator: ${row.creatorUid}`);
|
|
438
335
|
}
|
|
@@ -456,7 +353,7 @@ export function registerFilesCommand(program) {
|
|
|
456
353
|
const PERM_W = Math.max(10, ...rows.map((e) => e.permission.length));
|
|
457
354
|
const BY_W = Math.max(10, ...rows.map((e) => e.grantedBy.length));
|
|
458
355
|
const SRC_W = showSource
|
|
459
|
-
? Math.max(6, ...rows.map((e) =>
|
|
356
|
+
? Math.max(6, ...rows.map((e) => (e.sourcePrefix ?? "").length))
|
|
460
357
|
: 0;
|
|
461
358
|
const headerCols = [
|
|
462
359
|
"TYPE".padEnd(TYPE_W),
|
|
@@ -478,7 +375,7 @@ export function registerFilesCommand(program) {
|
|
|
478
375
|
grantedAt,
|
|
479
376
|
];
|
|
480
377
|
if (showSource)
|
|
481
|
-
cols.splice(4, 0,
|
|
378
|
+
cols.splice(4, 0, (e.sourcePrefix ?? "").padEnd(SRC_W));
|
|
482
379
|
console.log(cols.join(" "));
|
|
483
380
|
}
|
|
484
381
|
}
|
|
@@ -511,7 +408,7 @@ export function registerFilesCommand(program) {
|
|
|
511
408
|
});
|
|
512
409
|
files
|
|
513
410
|
.command("delete <prefix>")
|
|
514
|
-
.description("Delete vault objects
|
|
411
|
+
.description("Delete vault objects under a prefix (bounded + scoped). Always previews the exact count first; prompts for confirmation unless --yes. Use --personal to target your own personal vault instead of a company.")
|
|
515
412
|
.option("--dry-run", "List what WOULD be deleted without deleting anything")
|
|
516
413
|
.option("--personal", "Target your own personal vault instead of a company vault (mutually exclusive with --company)")
|
|
517
414
|
.option("-y, --yes", "Skip the confirmation prompt (for scripts)")
|
|
@@ -604,114 +501,6 @@ export function registerFilesCommand(program) {
|
|
|
604
501
|
// files-browse.ts) onto the same group without re-creating it.
|
|
605
502
|
return files;
|
|
606
503
|
}
|
|
607
|
-
/** Best-effort, default-off warning after the ACL grant has succeeded. */
|
|
608
|
-
async function warnIfEmptySharePrefix(params) {
|
|
609
|
-
if (isPrivateFolderPattern(params.prefix))
|
|
610
|
-
return;
|
|
611
|
-
let enabled;
|
|
612
|
-
try {
|
|
613
|
-
enabled = await resolveCompanyFlagGate(params.companyUid, params.token, FILES_SHARE_EMPTY_PREFIX_WARNING_FLAG, { fallback: false }, () => false);
|
|
614
|
-
}
|
|
615
|
-
catch (error) {
|
|
616
|
-
const errorClass = error instanceof Error ? error.name : "unknown error";
|
|
617
|
-
console.error(`hq: Could not resolve ${FILES_SHARE_EMPTY_PREFIX_WARNING_FLAG} (${errorClass}); using its fallback.`);
|
|
618
|
-
return;
|
|
619
|
-
}
|
|
620
|
-
if (!enabled)
|
|
621
|
-
return;
|
|
622
|
-
const listPrefix = params.fullVault
|
|
623
|
-
? ""
|
|
624
|
-
: params.prefix.endsWith("*")
|
|
625
|
-
? params.prefix.slice(0, -1)
|
|
626
|
-
: params.prefix;
|
|
627
|
-
try {
|
|
628
|
-
const query = {
|
|
629
|
-
company: params.companyUid,
|
|
630
|
-
};
|
|
631
|
-
if (listPrefix)
|
|
632
|
-
query.prefix = listPrefix;
|
|
633
|
-
const listed = await vaultApiFetch({
|
|
634
|
-
token: params.token,
|
|
635
|
-
path: "/v1/files/list",
|
|
636
|
-
query,
|
|
637
|
-
signal: AbortSignal.timeout(FILES_SHARE_EMPTY_PREFIX_CHECK_TIMEOUT_MS),
|
|
638
|
-
});
|
|
639
|
-
if (!listed.ok)
|
|
640
|
-
throw new Error(`files list failed (${listed.status})`);
|
|
641
|
-
const body = (await listed.json());
|
|
642
|
-
const objects = Array.isArray(body.objects) ? body.objects : [];
|
|
643
|
-
const hasMatchingObject = params.fullVault || params.prefix.endsWith("*")
|
|
644
|
-
? objects.length > 0
|
|
645
|
-
: objects.some((object) => object.key === listPrefix);
|
|
646
|
-
if (!hasMatchingObject) {
|
|
647
|
-
console.warn(chalk.yellow(`Warning: no files exist under '${displayAclPattern(params.prefix)}'. ` +
|
|
648
|
-
`The recipient will see nothing until files sync there.`));
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
catch (error) {
|
|
652
|
-
const errorClass = error instanceof Error ? error.name : "unknown error";
|
|
653
|
-
console.warn(chalk.yellow(`Could not check whether '${displayAclPattern(params.prefix)}' has files; ` +
|
|
654
|
-
`the share succeeded (${errorClass}).`));
|
|
655
|
-
}
|
|
656
|
-
}
|
|
657
|
-
async function resolveShareChannelTarget(params) {
|
|
658
|
-
const token = (await resolveVaultCredential()).token;
|
|
659
|
-
const channels = await fetchChannels(token);
|
|
660
|
-
const matches = matchChannelsByName(channels, params.channelName);
|
|
661
|
-
if (matches.length === 0) {
|
|
662
|
-
console.error(chalk.red(`No channel named '${params.channelName}' — run \`hq channels\` to see your channels.`));
|
|
663
|
-
process.exit(1);
|
|
664
|
-
}
|
|
665
|
-
if (matches.length > 1) {
|
|
666
|
-
const scopes = matches
|
|
667
|
-
.map((c) => c.scope ?? "unknown")
|
|
668
|
-
.join(", ");
|
|
669
|
-
console.error(chalk.red(`'${params.channelName}' matches ${matches.length} channels (${scopes}) — this is ambiguous.`));
|
|
670
|
-
process.exit(1);
|
|
671
|
-
}
|
|
672
|
-
const channelId = matches[0].channelId;
|
|
673
|
-
const mentionPersonUids = [];
|
|
674
|
-
for (const mention of params.mentions) {
|
|
675
|
-
mentionPersonUids.push(await resolveMentionPersonUid(mention, params.companySlug));
|
|
676
|
-
}
|
|
677
|
-
return { channelId, mentionPersonUids };
|
|
678
|
-
}
|
|
679
|
-
async function resolveMentionPersonUid(mention, companySlug) {
|
|
680
|
-
const trimmed = mention.trim();
|
|
681
|
-
if (PERSON_UID_PATTERN.test(trimmed))
|
|
682
|
-
return trimmed;
|
|
683
|
-
const hqRoot = findHqRoot();
|
|
684
|
-
const slug = resolveCompanySlug(hqRoot, companySlug);
|
|
685
|
-
const result = await resolvePersonWithRosterFallback({
|
|
686
|
-
hqRoot,
|
|
687
|
-
slug,
|
|
688
|
-
name: trimmed,
|
|
689
|
-
});
|
|
690
|
-
if (result.status === "found" && result.person.personUid) {
|
|
691
|
-
return result.person.personUid;
|
|
692
|
-
}
|
|
693
|
-
if (result.status === "ambiguous") {
|
|
694
|
-
const names = result.matches.map((p) => p.name).join(", ");
|
|
695
|
-
console.error(chalk.red(`'${trimmed}' matches multiple people (${names}) — use a person uid or email.`));
|
|
696
|
-
process.exit(1);
|
|
697
|
-
}
|
|
698
|
-
const membership = await resolvePersonWithRosterFallback({
|
|
699
|
-
hqRoot,
|
|
700
|
-
slug,
|
|
701
|
-
name: trimmed,
|
|
702
|
-
opts: { membershipOnly: true },
|
|
703
|
-
});
|
|
704
|
-
if (membership.status === "found" && membership.person.personUid) {
|
|
705
|
-
return membership.person.personUid;
|
|
706
|
-
}
|
|
707
|
-
if (membership.status === "ambiguous") {
|
|
708
|
-
const names = membership.matches.map((p) => p.name).join(", ");
|
|
709
|
-
console.error(chalk.red(`'${trimmed}' matches multiple people (${names}) — use a person uid or email.`));
|
|
710
|
-
process.exit(1);
|
|
711
|
-
}
|
|
712
|
-
console.error(chalk.red(`Could not resolve --mention '${trimmed}' to a person.`));
|
|
713
|
-
process.exit(1);
|
|
714
|
-
}
|
|
715
504
|
async function runDirectGrant(params) {
|
|
716
505
|
const canonicalPrefix = normalizeCompanyFilePrefix(params.prefix, {
|
|
717
506
|
mutating: true,
|
|
@@ -736,18 +525,11 @@ async function runDirectGrant(params) {
|
|
|
736
525
|
const isAll = principal === "@all";
|
|
737
526
|
const isEmail = !isAll && EMAIL_PATTERN.test(principal);
|
|
738
527
|
const isGroup = !isAll && GROUP_ID_PATTERN.test(principal);
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
console.error(chalk.red(`Invalid principal '${principal}': must be '@all', an email address, a person uid, or a group id matching grp_<alphanumeric>`));
|
|
528
|
+
if (!isAll && !isEmail && !isGroup) {
|
|
529
|
+
console.error(chalk.red(`Invalid principal '${principal}': must be '@all', an email address, or a group id matching grp_<alphanumeric>`));
|
|
742
530
|
process.exit(1);
|
|
743
531
|
}
|
|
744
|
-
const granteeType = isAll
|
|
745
|
-
? "company-wide"
|
|
746
|
-
: isEmail
|
|
747
|
-
? "email"
|
|
748
|
-
: isPerson
|
|
749
|
-
? "person"
|
|
750
|
-
: "group";
|
|
532
|
+
const granteeType = isAll ? "company-wide" : isEmail ? "email" : "group";
|
|
751
533
|
const granteeId = isAll
|
|
752
534
|
? ""
|
|
753
535
|
: isEmail
|
|
@@ -766,10 +548,6 @@ async function runDirectGrant(params) {
|
|
|
766
548
|
granteeType,
|
|
767
549
|
granteeId,
|
|
768
550
|
permission: params.permission,
|
|
769
|
-
...(params.channelId ? { channelId: params.channelId } : {}),
|
|
770
|
-
...(params.mentionPersonUids && params.mentionPersonUids.length > 0
|
|
771
|
-
? { mentionPersonUids: params.mentionPersonUids }
|
|
772
|
-
: {}),
|
|
773
551
|
},
|
|
774
552
|
});
|
|
775
553
|
// No ACL row exists yet for this prefix. Auto-create one with this
|
|
@@ -784,10 +562,6 @@ async function runDirectGrant(params) {
|
|
|
784
562
|
body: {
|
|
785
563
|
prefix: canonicalPrefix,
|
|
786
564
|
entries: [{ granteeType, granteeId, permission: params.permission }],
|
|
787
|
-
...(params.channelId ? { channelId: params.channelId } : {}),
|
|
788
|
-
...(params.mentionPersonUids && params.mentionPersonUids.length > 0
|
|
789
|
-
? { mentionPersonUids: params.mentionPersonUids }
|
|
790
|
-
: {}),
|
|
791
565
|
},
|
|
792
566
|
});
|
|
793
567
|
autoCreated = res.ok;
|
|
@@ -806,9 +580,6 @@ async function runDirectGrant(params) {
|
|
|
806
580
|
else if (res.status === 404) {
|
|
807
581
|
console.error(chalk.red("ACL record not found — the prefix may not have an ACL yet"));
|
|
808
582
|
}
|
|
809
|
-
else if (res.status === 409 && body.code === "ACL_PATTERN_CONFLICT") {
|
|
810
|
-
console.error(chalk.red(formatAclPatternConflict(canonicalPrefix, body.message)));
|
|
811
|
-
}
|
|
812
583
|
else if (res.status === 409) {
|
|
813
584
|
console.error(chalk.red("Concurrent modification — please retry"));
|
|
814
585
|
}
|
|
@@ -822,26 +593,12 @@ async function runDirectGrant(params) {
|
|
|
822
593
|
}
|
|
823
594
|
const data = (await res.json());
|
|
824
595
|
const printedPrefix = data.acl?.path ?? data.acl?.prefix ?? canonicalPrefix;
|
|
825
|
-
await warnIfEmptySharePrefix({
|
|
826
|
-
token,
|
|
827
|
-
companyUid,
|
|
828
|
-
prefix: canonicalPrefix,
|
|
829
|
-
fullVault: params.fullVault === true,
|
|
830
|
-
});
|
|
831
596
|
const verb = autoCreated ? "Created ACL and granted" : "Granted";
|
|
832
597
|
if (params.fullVault) {
|
|
833
598
|
console.log(chalk.green(`${verb} ${params.permission} on the ENTIRE vault to ${principalLabel}`));
|
|
834
599
|
}
|
|
835
600
|
else {
|
|
836
|
-
console.log(chalk.green(`${verb} ${params.permission} on ${
|
|
837
|
-
}
|
|
838
|
-
if (isPrivateFolderPattern(printedPrefix)) {
|
|
839
|
-
console.log(chalk.gray(privateFolderExplanation(printedPrefix)));
|
|
840
|
-
}
|
|
841
|
-
if (typeof data.record?.error === "string" &&
|
|
842
|
-
typeof data.record.status === "number" &&
|
|
843
|
-
data.record.status >= 400) {
|
|
844
|
-
console.log(data.record.error);
|
|
601
|
+
console.log(chalk.green(`${verb} ${params.permission} on ${printedPrefix} to ${principalLabel}`));
|
|
845
602
|
}
|
|
846
603
|
}
|
|
847
604
|
async function runShareSession(params) {
|
|
@@ -950,7 +707,7 @@ function realConfirm(message) {
|
|
|
950
707
|
* person + bucket from the authenticated caller — we send NO uid, just the
|
|
951
708
|
* `personal` flag — so there is nothing for the client to get wrong or spoof.
|
|
952
709
|
*/
|
|
953
|
-
|
|
710
|
+
async function callDeleteEndpoint(params) {
|
|
954
711
|
const res = await vaultApiFetch({
|
|
955
712
|
token: params.token,
|
|
956
713
|
path: "/v1/files/delete",
|
|
@@ -1097,11 +854,9 @@ export function companySlugFromAnchor(prefix, personal) {
|
|
|
1097
854
|
* Normalize company paths at the CLI boundary, preserving personal keys.
|
|
1098
855
|
*
|
|
1099
856
|
* `mutating` marks a route that CHANGES access and has no preview or
|
|
1100
|
-
* confirmation step (grant, share, unshare). Those refuse anchored
|
|
1101
|
-
*
|
|
857
|
+
* confirmation step (grant, share, unshare). Those refuse an anchored path
|
|
858
|
+
* outright rather than guessing, because stripping the anchor changes which
|
|
1102
859
|
* objects the operation reaches and there is nothing downstream to catch it.
|
|
1103
|
-
* `allowCompanyRootAclRow` is limited to exact-root ACL inspect/revoke calls:
|
|
1104
|
-
* those need the original anchor to match a legacy company-root ACL row.
|
|
1105
860
|
*
|
|
1106
861
|
* `companySlug` is the company the command is actually targeting. When the
|
|
1107
862
|
* anchor names a DIFFERENT company we refuse in every mode: stripping would
|
|
@@ -1129,12 +884,9 @@ function normalizeCompanyFilePrefix(prefix, options = {}) {
|
|
|
1129
884
|
`operation to '${options.companySlug}' instead. Re-run with ` +
|
|
1130
885
|
`--company ${scope.strippedSlug}, or pass the bucket-relative path.`);
|
|
1131
886
|
}
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
// A bare anchor strips to nothing. Content operations must fail with a
|
|
1136
|
-
// message that says what to do instead; exact-root ACL operations preserve
|
|
1137
|
-
// the original anchor above. `deferRootReject` is for callers that already have a
|
|
887
|
+
// A bare anchor strips to nothing. The ACL routes would ship that empty
|
|
888
|
+
// prefix to a server that answers 400, so fail here with a message that says
|
|
889
|
+
// what to do instead. `deferRootReject` is for callers that already have a
|
|
1138
890
|
// root guard with better copy — `runFilesDelete` says "Refusing to delete the
|
|
1139
891
|
// vault root", which beats anything this generic helper could write.
|
|
1140
892
|
if (!scope.prefix && !options.deferRootReject) {
|
|
@@ -1159,20 +911,19 @@ export async function runFilesDelete(params, deps = {}) {
|
|
|
1159
911
|
const confirm = deps.confirm ?? realConfirm;
|
|
1160
912
|
// Strip the local company anchor before preview/confirmation (HQ-8F/HQ-CA).
|
|
1161
913
|
// Personal keys are already bucket-relative and must keep any such anchor.
|
|
1162
|
-
//
|
|
1163
|
-
// rejects the root/empty prefix before
|
|
914
|
+
// Normalize trailing `/` to `/*`, then reject the root/empty prefix before
|
|
1164
915
|
// any network call, including when stripping a bare company anchor empties it.
|
|
1165
916
|
// The anchor names a company. Compare it with --company (refusing a
|
|
1166
917
|
// mismatch), and when --company was omitted ADOPT it rather than letting the
|
|
1167
918
|
// membership fallback pick a different company to delete from.
|
|
1168
919
|
const anchorSlug = companySlugFromAnchor(params.prefix, params.personal);
|
|
1169
|
-
const normalized =
|
|
920
|
+
const normalized = normalizeCompanyFilePrefix(params.prefix, {
|
|
1170
921
|
personal: params.personal,
|
|
1171
922
|
deferRootReject: true,
|
|
1172
923
|
...(params.companySlug !== undefined
|
|
1173
924
|
? { companySlug: params.companySlug }
|
|
1174
925
|
: {}),
|
|
1175
|
-
})
|
|
926
|
+
});
|
|
1176
927
|
if (normalized === "" || normalized === "*" || normalized === "/*") {
|
|
1177
928
|
console.error(chalk.red("Refusing to delete the vault root. Pass a bounded prefix (e.g. 'projects/foo/' or 'projects/foo/*') or an exact key."));
|
|
1178
929
|
process.exit(1);
|
|
@@ -1307,15 +1058,13 @@ export function formatFilesVersionsTable(rows) {
|
|
|
1307
1058
|
row.lastModified,
|
|
1308
1059
|
row.isDeleteMarker ? "—" : formatBytes(row.size),
|
|
1309
1060
|
]);
|
|
1310
|
-
const widths = cols.map((col, index) =>
|
|
1061
|
+
const widths = cols.map((col, index) => Math.max(col.length, ...data.map((row) => row[index].length)));
|
|
1311
1062
|
const renderRow = (row) => row.map((cell, index) => cell.padEnd(widths[index])).join(" ");
|
|
1312
|
-
|
|
1063
|
+
return [
|
|
1313
1064
|
chalk.bold(renderRow(cols)),
|
|
1314
1065
|
chalk.dim(renderRow(widths.map((width) => "─".repeat(width)))),
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
lines.push(renderRow(row));
|
|
1318
|
-
return lines.join("\n");
|
|
1066
|
+
...data.map(renderRow),
|
|
1067
|
+
].join("\n");
|
|
1319
1068
|
}
|
|
1320
1069
|
/** Render durable delete tombstones without implying the objects still exist. */
|
|
1321
1070
|
export function formatFilesTrashTable(rows) {
|
|
@@ -1329,15 +1078,13 @@ export function formatFilesTrashTable(rows) {
|
|
|
1329
1078
|
row.deletedBy,
|
|
1330
1079
|
row.deletedPrefix,
|
|
1331
1080
|
]);
|
|
1332
|
-
const widths = cols.map((col, index) =>
|
|
1081
|
+
const widths = cols.map((col, index) => Math.max(col.length, ...data.map((row) => row[index].length)));
|
|
1333
1082
|
const renderRow = (row) => row.map((cell, index) => cell.padEnd(widths[index])).join(" ");
|
|
1334
|
-
|
|
1083
|
+
return [
|
|
1335
1084
|
chalk.bold(renderRow(cols)),
|
|
1336
1085
|
chalk.dim(renderRow(widths.map((width) => "─".repeat(width)))),
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
lines.push(renderRow(row));
|
|
1340
|
-
return lines.join("\n");
|
|
1086
|
+
...data.map(renderRow),
|
|
1087
|
+
].join("\n");
|
|
1341
1088
|
}
|
|
1342
1089
|
function throwRecoveryHttpError(status, body, statusText) {
|
|
1343
1090
|
throw new FilesRecoveryHttpError(status, body.message ?? body.error ?? statusText, body.code);
|
|
@@ -242,9 +242,8 @@ export function registerGroupGrantsCommand(program) {
|
|
|
242
242
|
});
|
|
243
243
|
grants
|
|
244
244
|
.command("outbound")
|
|
245
|
-
.description("List grants a source-company group holds on other companies
|
|
246
|
-
"
|
|
247
|
-
.requiredOption("--group <groupId>", "Group id to inspect (required)")
|
|
245
|
+
.description("List grants a source-company group holds on other companies")
|
|
246
|
+
.requiredOption("--group <groupId>", "Group id to inspect")
|
|
248
247
|
.action(async (opts) => {
|
|
249
248
|
try {
|
|
250
249
|
const token = await ensureCognitoToken();
|
package/dist/commands/groups.js
CHANGED
|
@@ -2,7 +2,6 @@ import chalk from "chalk";
|
|
|
2
2
|
import { ensureCognitoToken } from "../utils/cognito-session.js";
|
|
3
3
|
import { vaultApiFetch, getCompanyUid } from "./secrets.js";
|
|
4
4
|
import { GROUP_ID_PATTERN } from "./_patterns.js";
|
|
5
|
-
import { maxLength } from "../utils/table-width.js";
|
|
6
5
|
const EMAIL_PATTERN = /^[^\s]+@[^\s]+$/;
|
|
7
6
|
const PERSON_UID_PATTERN = /^prs_[A-Za-z0-9_-]+$/;
|
|
8
7
|
const AGENT_UID_PATTERN = /^agt_[A-Za-z0-9_-]+$/;
|
|
@@ -262,9 +261,9 @@ export function registerGroupsCommand(program) {
|
|
|
262
261
|
console.log(chalk.gray("No groups in this company yet."));
|
|
263
262
|
return;
|
|
264
263
|
}
|
|
265
|
-
const idW =
|
|
266
|
-
const nameW =
|
|
267
|
-
const descW =
|
|
264
|
+
const idW = Math.max(8, ...data.groups.map((g) => g.groupId.length));
|
|
265
|
+
const nameW = Math.max(4, ...data.groups.map((g) => g.name.length));
|
|
266
|
+
const descW = Math.max(11, ...data.groups.map((g) => (g.description ?? "").length));
|
|
268
267
|
console.log(chalk.bold([
|
|
269
268
|
"GROUP_ID".padEnd(idW),
|
|
270
269
|
"NAME".padEnd(nameW),
|
|
@@ -327,8 +326,8 @@ export function registerGroupsCommand(program) {
|
|
|
327
326
|
console.log(chalk.gray("No members yet — use 'hq groups add' to add."));
|
|
328
327
|
return;
|
|
329
328
|
}
|
|
330
|
-
const uidW =
|
|
331
|
-
const byW =
|
|
329
|
+
const uidW = Math.max(10, ...data.members.map((m) => m.personUid.length));
|
|
330
|
+
const byW = Math.max(8, ...data.members.map((m) => m.addedBy.length));
|
|
332
331
|
console.log(chalk.bold([
|
|
333
332
|
"PERSON_UID".padEnd(uidW),
|
|
334
333
|
"ADDED_BY".padEnd(byW),
|