@indigoai-us/hq-cli 5.290.0 → 5.292.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.
Files changed (83) hide show
  1. package/CHANGELOG.md +66 -3
  2. package/assets/scaffold/core/scripts/handoff-finalize.sh +18 -0
  3. package/assets/scaffold/core/scripts/handoff-post.sh +71 -6
  4. package/assets/scaffold/core/scripts/hook-lib.sh +345 -50
  5. package/assets/scaffold/core/scripts/hq-delegate-bundle.sh +307 -0
  6. package/assets/scaffold/core/scripts/hq-delegate-grant.sh +226 -0
  7. package/assets/scaffold/core/scripts/hq-delegate-publish.sh +91 -0
  8. package/assets/scaffold/core/scripts/hq-delegate-send.sh +259 -0
  9. package/assets/scaffold/core/scripts/hq-delegate-verify.sh +213 -0
  10. package/assets/scaffold/core/scripts/hq-job-notify.sh +389 -0
  11. package/assets/scaffold/core/scripts/hq-job-probe.sh +835 -0
  12. package/assets/scaffold/core/scripts/hq-job-remediate.sh +359 -0
  13. package/assets/scaffold/core/scripts/hq-job-run.sh +1025 -0
  14. package/assets/scaffold/core/scripts/hq-session.sh +182 -21
  15. package/assets/scaffold/core/scripts/jobs-schedule-parse.sh +310 -0
  16. package/assets/scaffold/core/scripts/jobs-validate.sh +451 -0
  17. package/assets/scaffold/core/scripts/lib/session-id.sh +3 -2
  18. package/assets/scaffold/core/scripts/lib/work-mesh-enqueue.sh +2 -1
  19. package/assets/scaffold/core/scripts/outpost-jobs-reconcile.sh +830 -0
  20. package/dist/command-catalog.generated.d.ts +165 -1
  21. package/dist/command-catalog.generated.js +205 -1
  22. package/dist/commands/cloud.d.ts +26 -14
  23. package/dist/commands/cloud.js +207 -56
  24. package/dist/commands/core-delegate-w1b.d.ts +8 -0
  25. package/dist/commands/core-delegate-w1b.js +1049 -0
  26. package/dist/commands/core-delegate.d.ts +28 -0
  27. package/dist/commands/core-delegate.js +15 -13
  28. package/dist/commands/core-handoff.js +152 -23
  29. package/dist/commands/core-jobs-native.d.ts +23 -0
  30. package/dist/commands/core-jobs-native.js +1331 -0
  31. package/dist/commands/core-native-jobs-flag.d.ts +4 -0
  32. package/dist/commands/core-native-jobs-flag.js +7 -0
  33. package/dist/commands/core-ontology.d.ts +22 -4
  34. package/dist/commands/core-ontology.js +90 -8
  35. package/dist/commands/core-policy.js +24 -5
  36. package/dist/commands/core.js +17 -0
  37. package/dist/commands/integrations-core.js +7 -0
  38. package/dist/commands/lanes.js +111 -35
  39. package/dist/commands/members.js +5 -0
  40. package/dist/commands/mesh.js +46 -25
  41. package/dist/commands/personal-targeted-push-flag.d.ts +4 -0
  42. package/dist/commands/personal-targeted-push-flag.js +7 -0
  43. package/dist/commands/personal-targeted-push-paths.d.ts +3 -0
  44. package/dist/commands/personal-targeted-push-paths.js +67 -0
  45. package/dist/commands/secrets.js +9 -0
  46. package/dist/commands/skill.d.ts +3 -0
  47. package/dist/commands/skill.js +28 -0
  48. package/dist/fast-core.js +1 -0
  49. package/dist/lib/billing/free-month.d.ts +18 -0
  50. package/dist/lib/billing/free-month.js +31 -0
  51. package/dist/lib/billing/plan-limit-refusals.d.ts +69 -0
  52. package/dist/lib/billing/plan-limit-refusals.js +187 -0
  53. package/dist/lib/billing/plan-lock.d.ts +2 -6
  54. package/dist/lib/billing/plan-lock.js +5 -16
  55. package/dist/lib/checkpoint-ontology/drop-aliases.d.ts +41 -0
  56. package/dist/lib/checkpoint-ontology/drop-aliases.js +76 -0
  57. package/dist/lib/checkpoint-ontology/entity-file.d.ts +6 -3
  58. package/dist/lib/checkpoint-ontology/entity-file.js +12 -6
  59. package/dist/lib/checkpoint-ontology/merge-copies.d.ts +27 -8
  60. package/dist/lib/checkpoint-ontology/merge-copies.js +64 -97
  61. package/dist/lib/core-utils/secret-patterns.d.ts +3 -1
  62. package/dist/lib/core-utils/secret-patterns.js +3 -2
  63. package/dist/lib/daemon/flag.d.ts +2 -0
  64. package/dist/lib/daemon/flag.js +2 -0
  65. package/dist/lib/flag-registry-worker-source.generated.d.ts +1 -1
  66. package/dist/lib/flag-registry-worker-source.generated.js +1 -1
  67. package/dist/lib/lanes/autopilot.d.ts +69 -0
  68. package/dist/lib/lanes/autopilot.js +418 -0
  69. package/dist/lib/lanes/mesh-events.js +2 -0
  70. package/dist/lib/lanes/store.js +11 -6
  71. package/dist/lib/mesh/api.js +4 -0
  72. package/dist/lib/mesh/live/daemon/state.d.ts +7 -1
  73. package/dist/lib/mesh/live/daemon/state.js +34 -2
  74. package/dist/main.js +23 -12
  75. package/dist/utils/plan-gate-error.d.ts +24 -0
  76. package/dist/utils/plan-gate-error.js +219 -9
  77. package/dist/utils/scaffold-sibling-references.js +4 -4
  78. package/dist/utils/self-update.d.ts +6 -0
  79. package/dist/utils/self-update.js +28 -6
  80. package/dist/utils/staged-install.d.ts +34 -0
  81. package/dist/utils/staged-install.js +296 -0
  82. package/package.json +2 -2
  83. package/scripts/mesh-daemon-if-stale.mjs +4 -0
@@ -5202,6 +5202,9 @@ export declare const COMMAND_CATALOG: readonly [{
5202
5202
  }, {
5203
5203
  readonly flags: "--variants";
5204
5204
  readonly description: "merge two-file duplicate groups whose names differ only in case, spacing or punctuation (checkpoint.ontology.merge-variants)";
5205
+ }, {
5206
+ readonly flags: "--listed";
5207
+ readonly description: "merge exactly the pairs in the --only file, whatever their names (checkpoint.ontology.merge-listed-pairs)";
5205
5208
  }, {
5206
5209
  readonly flags: "--limit <n>";
5207
5210
  readonly description: "handle at most this many copies";
@@ -5210,7 +5213,31 @@ export declare const COMMAND_CATALOG: readonly [{
5210
5213
  readonly description: "handle only the copy -> original pairs listed in this JSON file";
5211
5214
  }, {
5212
5215
  readonly flags: "--rewrite-refs";
5213
- readonly description: "also re-point signal refs, invoice, source and knowledge links to the survivor and carry external ids and web domains (checkpoint.ontology.merge-rewrite-refs)";
5216
+ readonly description: "also re-point invoice and knowledge links to the survivor and carry external ids and web domains; pairs named by signals or sources stay held (checkpoint.ontology.merge-rewrite-refs)";
5217
+ }, {
5218
+ readonly flags: "--json";
5219
+ readonly description: "print JSON";
5220
+ }, {
5221
+ readonly flags: "--hq-root <path>";
5222
+ readonly description: "HQ installation to operate on";
5223
+ }];
5224
+ readonly subcommands: readonly [];
5225
+ }, {
5226
+ readonly name: "drop-aliases";
5227
+ readonly description: "Remove reviewed wrong aliases from entity files (dry run by default)";
5228
+ readonly aliases: readonly [];
5229
+ readonly hidden: false;
5230
+ readonly usage: "[options]";
5231
+ readonly arguments: readonly [];
5232
+ readonly options: readonly [{
5233
+ readonly flags: "--company <slug>";
5234
+ readonly description: "company to change";
5235
+ }, {
5236
+ readonly flags: "--only <file>";
5237
+ readonly description: "JSON array of { entity, alias } to remove; entity is a company-relative path";
5238
+ }, {
5239
+ readonly flags: "--apply";
5240
+ readonly description: "write the entity files";
5214
5241
  }, {
5215
5242
  readonly flags: "--json";
5216
5243
  readonly description: "print JSON";
@@ -5404,6 +5431,71 @@ export declare const COMMAND_CATALOG: readonly [{
5404
5431
  }];
5405
5432
  readonly options: readonly [];
5406
5433
  readonly subcommands: readonly [];
5434
+ }, {
5435
+ readonly name: "bundle";
5436
+ readonly description: "Build a portable delegation bundle";
5437
+ readonly aliases: readonly [];
5438
+ readonly hidden: false;
5439
+ readonly usage: "[args...]";
5440
+ readonly arguments: readonly [{
5441
+ readonly name: "args";
5442
+ readonly required: false;
5443
+ readonly variadic: true;
5444
+ }];
5445
+ readonly options: readonly [];
5446
+ readonly subcommands: readonly [];
5447
+ }, {
5448
+ readonly name: "grant";
5449
+ readonly description: "Grant and verify delegation vault access";
5450
+ readonly aliases: readonly [];
5451
+ readonly hidden: false;
5452
+ readonly usage: "[args...]";
5453
+ readonly arguments: readonly [{
5454
+ readonly name: "args";
5455
+ readonly required: false;
5456
+ readonly variadic: true;
5457
+ }];
5458
+ readonly options: readonly [];
5459
+ readonly subcommands: readonly [];
5460
+ }, {
5461
+ readonly name: "publish";
5462
+ readonly description: "Publish canonical delegation files";
5463
+ readonly aliases: readonly [];
5464
+ readonly hidden: false;
5465
+ readonly usage: "[args...]";
5466
+ readonly arguments: readonly [{
5467
+ readonly name: "args";
5468
+ readonly required: false;
5469
+ readonly variadic: true;
5470
+ }];
5471
+ readonly options: readonly [];
5472
+ readonly subcommands: readonly [];
5473
+ }, {
5474
+ readonly name: "send";
5475
+ readonly description: "Generate or send the delegation pickup prompt";
5476
+ readonly aliases: readonly [];
5477
+ readonly hidden: false;
5478
+ readonly usage: "[args...]";
5479
+ readonly arguments: readonly [{
5480
+ readonly name: "args";
5481
+ readonly required: false;
5482
+ readonly variadic: true;
5483
+ }];
5484
+ readonly options: readonly [];
5485
+ readonly subcommands: readonly [];
5486
+ }, {
5487
+ readonly name: "verify";
5488
+ readonly description: "Probe delegation access and publish the handoff";
5489
+ readonly aliases: readonly [];
5490
+ readonly hidden: false;
5491
+ readonly usage: "[args...]";
5492
+ readonly arguments: readonly [{
5493
+ readonly name: "args";
5494
+ readonly required: false;
5495
+ readonly variadic: true;
5496
+ }];
5497
+ readonly options: readonly [];
5498
+ readonly subcommands: readonly [];
5407
5499
  }];
5408
5500
  }, {
5409
5501
  readonly name: "handoff";
@@ -5514,6 +5606,54 @@ export declare const COMMAND_CATALOG: readonly [{
5514
5606
  readonly options: readonly [];
5515
5607
  readonly subcommands: readonly [];
5516
5608
  }];
5609
+ }, {
5610
+ readonly name: "jobs";
5611
+ readonly description: "Scheduled jobs helpers";
5612
+ readonly aliases: readonly [];
5613
+ readonly hidden: false;
5614
+ readonly usage: "[options] [command]";
5615
+ readonly arguments: readonly [];
5616
+ readonly options: readonly [];
5617
+ readonly subcommands: readonly [{
5618
+ readonly name: "schedule-parse";
5619
+ readonly description: "Resolve natural-language or raw cron schedules";
5620
+ readonly aliases: readonly [];
5621
+ readonly hidden: false;
5622
+ readonly usage: "[args...]";
5623
+ readonly arguments: readonly [{
5624
+ readonly name: "args";
5625
+ readonly required: false;
5626
+ readonly variadic: true;
5627
+ }];
5628
+ readonly options: readonly [];
5629
+ readonly subcommands: readonly [];
5630
+ }, {
5631
+ readonly name: "validate";
5632
+ readonly description: "Validate scheduled-job YAML files";
5633
+ readonly aliases: readonly [];
5634
+ readonly hidden: false;
5635
+ readonly usage: "[args...]";
5636
+ readonly arguments: readonly [{
5637
+ readonly name: "args";
5638
+ readonly required: false;
5639
+ readonly variadic: true;
5640
+ }];
5641
+ readonly options: readonly [];
5642
+ readonly subcommands: readonly [];
5643
+ }, {
5644
+ readonly name: "reconcile";
5645
+ readonly description: "Materialize scheduled jobs on this outpost";
5646
+ readonly aliases: readonly [];
5647
+ readonly hidden: false;
5648
+ readonly usage: "[args...]";
5649
+ readonly arguments: readonly [{
5650
+ readonly name: "args";
5651
+ readonly required: false;
5652
+ readonly variadic: true;
5653
+ }];
5654
+ readonly options: readonly [];
5655
+ readonly subcommands: readonly [];
5656
+ }];
5517
5657
  }, {
5518
5658
  readonly name: "worktree-gc";
5519
5659
  readonly description: "Safely collect old, preserved HQ worktrees";
@@ -8849,6 +8989,30 @@ export declare const COMMAND_CATALOG: readonly [{
8849
8989
  readonly description: "JSON on stdout (always)";
8850
8990
  }];
8851
8991
  readonly subcommands: readonly [];
8992
+ }, {
8993
+ readonly name: "autopilot";
8994
+ readonly description: "Check registered team leads and wake them for ready work";
8995
+ readonly aliases: readonly [];
8996
+ readonly hidden: false;
8997
+ readonly usage: "[options] [command]";
8998
+ readonly arguments: readonly [];
8999
+ readonly options: readonly [];
9000
+ readonly subcommands: readonly [{
9001
+ readonly name: "run";
9002
+ readonly description: "Run one lead autopilot check pass";
9003
+ readonly aliases: readonly [];
9004
+ readonly hidden: false;
9005
+ readonly usage: "[options]";
9006
+ readonly arguments: readonly [];
9007
+ readonly options: readonly [{
9008
+ readonly flags: "--dry-run";
9009
+ readonly description: "Report proposed wakes without writing them";
9010
+ }, {
9011
+ readonly flags: "--json";
9012
+ readonly description: "Emit JSON on stdout (default)";
9013
+ }];
9014
+ readonly subcommands: readonly [];
9015
+ }];
8852
9016
  }, {
8853
9017
  readonly name: "reconcile";
8854
9018
  readonly description: "Run one machine-owned reconcile pass and exit";
@@ -6726,6 +6726,10 @@ export const COMMAND_CATALOG = [
6726
6726
  "flags": "--variants",
6727
6727
  "description": "merge two-file duplicate groups whose names differ only in case, spacing or punctuation (checkpoint.ontology.merge-variants)"
6728
6728
  },
6729
+ {
6730
+ "flags": "--listed",
6731
+ "description": "merge exactly the pairs in the --only file, whatever their names (checkpoint.ontology.merge-listed-pairs)"
6732
+ },
6729
6733
  {
6730
6734
  "flags": "--limit <n>",
6731
6735
  "description": "handle at most this many copies"
@@ -6736,7 +6740,38 @@ export const COMMAND_CATALOG = [
6736
6740
  },
6737
6741
  {
6738
6742
  "flags": "--rewrite-refs",
6739
- "description": "also re-point signal refs, invoice, source and knowledge links to the survivor and carry external ids and web domains (checkpoint.ontology.merge-rewrite-refs)"
6743
+ "description": "also re-point invoice and knowledge links to the survivor and carry external ids and web domains; pairs named by signals or sources stay held (checkpoint.ontology.merge-rewrite-refs)"
6744
+ },
6745
+ {
6746
+ "flags": "--json",
6747
+ "description": "print JSON"
6748
+ },
6749
+ {
6750
+ "flags": "--hq-root <path>",
6751
+ "description": "HQ installation to operate on"
6752
+ }
6753
+ ],
6754
+ "subcommands": []
6755
+ },
6756
+ {
6757
+ "name": "drop-aliases",
6758
+ "description": "Remove reviewed wrong aliases from entity files (dry run by default)",
6759
+ "aliases": [],
6760
+ "hidden": false,
6761
+ "usage": "[options]",
6762
+ "arguments": [],
6763
+ "options": [
6764
+ {
6765
+ "flags": "--company <slug>",
6766
+ "description": "company to change"
6767
+ },
6768
+ {
6769
+ "flags": "--only <file>",
6770
+ "description": "JSON array of { entity, alias } to remove; entity is a company-relative path"
6771
+ },
6772
+ {
6773
+ "flags": "--apply",
6774
+ "description": "write the entity files"
6740
6775
  },
6741
6776
  {
6742
6777
  "flags": "--json",
@@ -6977,6 +7012,86 @@ export const COMMAND_CATALOG = [
6977
7012
  ],
6978
7013
  "options": [],
6979
7014
  "subcommands": []
7015
+ },
7016
+ {
7017
+ "name": "bundle",
7018
+ "description": "Build a portable delegation bundle",
7019
+ "aliases": [],
7020
+ "hidden": false,
7021
+ "usage": "[args...]",
7022
+ "arguments": [
7023
+ {
7024
+ "name": "args",
7025
+ "required": false,
7026
+ "variadic": true
7027
+ }
7028
+ ],
7029
+ "options": [],
7030
+ "subcommands": []
7031
+ },
7032
+ {
7033
+ "name": "grant",
7034
+ "description": "Grant and verify delegation vault access",
7035
+ "aliases": [],
7036
+ "hidden": false,
7037
+ "usage": "[args...]",
7038
+ "arguments": [
7039
+ {
7040
+ "name": "args",
7041
+ "required": false,
7042
+ "variadic": true
7043
+ }
7044
+ ],
7045
+ "options": [],
7046
+ "subcommands": []
7047
+ },
7048
+ {
7049
+ "name": "publish",
7050
+ "description": "Publish canonical delegation files",
7051
+ "aliases": [],
7052
+ "hidden": false,
7053
+ "usage": "[args...]",
7054
+ "arguments": [
7055
+ {
7056
+ "name": "args",
7057
+ "required": false,
7058
+ "variadic": true
7059
+ }
7060
+ ],
7061
+ "options": [],
7062
+ "subcommands": []
7063
+ },
7064
+ {
7065
+ "name": "send",
7066
+ "description": "Generate or send the delegation pickup prompt",
7067
+ "aliases": [],
7068
+ "hidden": false,
7069
+ "usage": "[args...]",
7070
+ "arguments": [
7071
+ {
7072
+ "name": "args",
7073
+ "required": false,
7074
+ "variadic": true
7075
+ }
7076
+ ],
7077
+ "options": [],
7078
+ "subcommands": []
7079
+ },
7080
+ {
7081
+ "name": "verify",
7082
+ "description": "Probe delegation access and publish the handoff",
7083
+ "aliases": [],
7084
+ "hidden": false,
7085
+ "usage": "[args...]",
7086
+ "arguments": [
7087
+ {
7088
+ "name": "args",
7089
+ "required": false,
7090
+ "variadic": true
7091
+ }
7092
+ ],
7093
+ "options": [],
7094
+ "subcommands": []
6980
7095
  }
6981
7096
  ]
6982
7097
  },
@@ -7114,6 +7229,65 @@ export const COMMAND_CATALOG = [
7114
7229
  }
7115
7230
  ]
7116
7231
  },
7232
+ {
7233
+ "name": "jobs",
7234
+ "description": "Scheduled jobs helpers",
7235
+ "aliases": [],
7236
+ "hidden": false,
7237
+ "usage": "[options] [command]",
7238
+ "arguments": [],
7239
+ "options": [],
7240
+ "subcommands": [
7241
+ {
7242
+ "name": "schedule-parse",
7243
+ "description": "Resolve natural-language or raw cron schedules",
7244
+ "aliases": [],
7245
+ "hidden": false,
7246
+ "usage": "[args...]",
7247
+ "arguments": [
7248
+ {
7249
+ "name": "args",
7250
+ "required": false,
7251
+ "variadic": true
7252
+ }
7253
+ ],
7254
+ "options": [],
7255
+ "subcommands": []
7256
+ },
7257
+ {
7258
+ "name": "validate",
7259
+ "description": "Validate scheduled-job YAML files",
7260
+ "aliases": [],
7261
+ "hidden": false,
7262
+ "usage": "[args...]",
7263
+ "arguments": [
7264
+ {
7265
+ "name": "args",
7266
+ "required": false,
7267
+ "variadic": true
7268
+ }
7269
+ ],
7270
+ "options": [],
7271
+ "subcommands": []
7272
+ },
7273
+ {
7274
+ "name": "reconcile",
7275
+ "description": "Materialize scheduled jobs on this outpost",
7276
+ "aliases": [],
7277
+ "hidden": false,
7278
+ "usage": "[args...]",
7279
+ "arguments": [
7280
+ {
7281
+ "name": "args",
7282
+ "required": false,
7283
+ "variadic": true
7284
+ }
7285
+ ],
7286
+ "options": [],
7287
+ "subcommands": []
7288
+ }
7289
+ ]
7290
+ },
7117
7291
  {
7118
7292
  "name": "worktree-gc",
7119
7293
  "description": "Safely collect old, preserved HQ worktrees",
@@ -11430,6 +11604,36 @@ export const COMMAND_CATALOG = [
11430
11604
  ],
11431
11605
  "subcommands": []
11432
11606
  },
11607
+ {
11608
+ "name": "autopilot",
11609
+ "description": "Check registered team leads and wake them for ready work",
11610
+ "aliases": [],
11611
+ "hidden": false,
11612
+ "usage": "[options] [command]",
11613
+ "arguments": [],
11614
+ "options": [],
11615
+ "subcommands": [
11616
+ {
11617
+ "name": "run",
11618
+ "description": "Run one lead autopilot check pass",
11619
+ "aliases": [],
11620
+ "hidden": false,
11621
+ "usage": "[options]",
11622
+ "arguments": [],
11623
+ "options": [
11624
+ {
11625
+ "flags": "--dry-run",
11626
+ "description": "Report proposed wakes without writing them"
11627
+ },
11628
+ {
11629
+ "flags": "--json",
11630
+ "description": "Emit JSON on stdout (default)"
11631
+ }
11632
+ ],
11633
+ "subcommands": []
11634
+ }
11635
+ ]
11636
+ },
11433
11637
  {
11434
11638
  "name": "reconcile",
11435
11639
  "description": "Run one machine-owned reconcile pass and exit",
@@ -15,6 +15,7 @@
15
15
  import { Command } from "commander";
16
16
  import { type ConflictStrategy, type EntityContext, type MembershipSyncConfig, type SyncMode, type PullScope, type ExplicitGrant, type ShareOptions, type VaultServiceConfig } from "@indigoai-us/hq-cloud";
17
17
  import { type BannerLevel } from "../lib/narrow-hint-banner.js";
18
+ import { type PlanLimitRefusalSummary } from "../lib/billing/plan-limit-refusals.js";
18
19
  /**
19
20
  * Terminal-failure signal for the sync fanout runners. The runners
20
21
  * (`runPushAll` / `runPullAll` / `runPullPersonal` / `runNowSingle` /
@@ -28,7 +29,16 @@ import { type BannerLevel } from "../lib/narrow-hint-banner.js";
28
29
  */
29
30
  export declare class SyncExitError extends Error {
30
31
  readonly code: number;
31
- constructor(code: number);
32
+ /**
33
+ * The client-health outcome to record for this exit. A run whose only
34
+ * problem was a plan-limit refusal exits non-zero (it did not upload what
35
+ * was asked) but is not a sync failure: the engine worked and the refusal
36
+ * is plan state, so it must not count toward `consecutiveFailures`.
37
+ */
38
+ readonly health: "failed" | "succeeded";
39
+ constructor(code: number, opts?: {
40
+ health?: "failed" | "succeeded";
41
+ });
32
42
  }
33
43
  /**
34
44
  * Preserve the vault's typed write-scope refusal at the CLI boundary. This is
@@ -197,6 +207,12 @@ export interface PullAllRow {
197
207
  }
198
208
  export interface ShareCallOptions {
199
209
  company: string;
210
+ /**
211
+ * The target's display slug, or undefined for the personal vault. Labels the
212
+ * shared progress snapshot and builds the company billing link for a
213
+ * plan-limit refusal that arrived without one.
214
+ */
215
+ targetSlug?: string;
200
216
  hqRoot: string;
201
217
  paths: string[];
202
218
  onConflict?: ConflictStrategy;
@@ -217,6 +233,8 @@ export interface ShareCallResult {
217
233
  filesExcludedByScope: number;
218
234
  conflictPaths: string[];
219
235
  aborted: boolean;
236
+ /** Files this leg's plan limit refused; absent or null when none were. */
237
+ planLimit?: PlanLimitRefusalSummary | null;
220
238
  }
221
239
  export interface PushAllDeps {
222
240
  vaultClient: PullAllVaultClient;
@@ -294,22 +312,16 @@ export declare function pushShareCredentials(input: {
294
312
  */
295
313
  export declare function resolveCanonicalPersonUid(vaultClient: PullAllVaultClient): Promise<string>;
296
314
  /**
297
- * Refuse `hq sync push --personal <path>` — the combination silently
298
- * bypasses `PERSONAL_VAULT_EXCLUDED_TOP_LEVEL` (which is only applied by
299
- * `computePersonalVaultPaths`), risking cross-scope upload of `companies/`,
300
- * `repos/`, `workspace/`, or `.git/` content to the personal vault. Real
301
- * incident (2026-05-21): a single command uploaded 196 `companies/{slug}/**`
302
- * objects to a personal vault before being killed. Cleanup required a
303
- * hand-rolled S3 sweep. Closes hq-cli#25.
304
- *
305
- * Refusal — not silent filtering — is intentional: explicit is better than
306
- * implicit guesswork, and the legitimate "I want to push a subset of my
307
- * personal vault" use case has a clean workaround (drop `--personal`, the
308
- * subset upload targets the active company via standard semantics).
315
+ * Keep `hq sync push --personal <path>` refused by default. Positional paths
316
+ * bypass `computePersonalVaultPaths` and can send excluded `companies/`,
317
+ * `repos/`, `workspace/`, or `.git/` content to the personal vault. The
318
+ * default-off targeted-paths gate allows the combination only after every
319
+ * path is realpath-normalized and checked against the computed personal scope
320
+ * and its file exclusions. Closes hq-cli#25.
309
321
  */
310
322
  export declare function assertNoPersonalPositionalPaths(opts: {
311
323
  personal?: boolean;
312
- }, paths: string[] | undefined): void;
324
+ }, paths: string[] | undefined, targetedPersonalPathsEnabled?: boolean): void;
313
325
  /**
314
326
  * Refuse ambiguous selector combinations. `--all`, `--personal`, and
315
327
  * `--company` are mutually exclusive — at most one may be set per