@unbrained/pm-cli 2026.10.13 → 2026.10.15

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 (708) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +72 -1
  3. package/dist/cli/after-command-context-usage.d.ts +7 -7
  4. package/dist/cli/argv-utils.d.ts +4 -4
  5. package/dist/cli/bundle-integrity.d.ts +16 -16
  6. package/dist/cli/command-namespaces.d.ts +1 -1
  7. package/dist/cli/commander-usage.d.ts +34 -34
  8. package/dist/cli/commands/governance/validate.d.ts +1 -1
  9. package/dist/cli/commands/history/history-compact.d.ts +1 -1
  10. package/dist/cli/commands/history/history-redact.d.ts +1 -1
  11. package/dist/cli/commands/history/history-repair.d.ts +1 -1
  12. package/dist/cli/commands/history/restore.d.ts +1 -1
  13. package/dist/cli/commands/lifecycle/close.d.ts +1 -1
  14. package/dist/cli/commands/lifecycle/copy.d.ts +1 -1
  15. package/dist/cli/commands/lifecycle/delete.d.ts +1 -1
  16. package/dist/cli/commands/lifecycle/focus.d.ts +1 -1
  17. package/dist/cli/commands/query/get.d.ts +1 -1
  18. package/dist/cli/commands/workspace/merge.d.ts +1 -1
  19. package/dist/cli/commands/workspace/schema.d.ts +1 -1
  20. package/dist/cli/context-intent-invocation.d.ts +1 -1
  21. package/dist/cli/description-stdin.d.ts +1 -1
  22. package/dist/cli/error-guidance.d.ts +119 -119
  23. package/dist/cli/extension-command-help.d.ts +64 -64
  24. package/dist/cli/extension-command-help.js +2 -2
  25. package/dist/cli/extension-command-options.d.ts +16 -16
  26. package/dist/cli/extension-command-options.js +1 -1
  27. package/dist/cli/extension-recovery.d.ts +13 -13
  28. package/dist/cli/help-content.d.ts +22 -22
  29. package/dist/cli/help-content.js +2 -2
  30. package/dist/cli/help-json-payload.d.ts +45 -45
  31. package/dist/cli/invocation-profile.d.ts +5 -5
  32. package/dist/cli/main.d.ts +217 -217
  33. package/dist/cli/main.js +2 -2
  34. package/dist/cli/migration-gates.d.ts +24 -24
  35. package/dist/cli/option-values.d.ts +1 -1
  36. package/dist/cli/public.d.ts +1 -1
  37. package/dist/cli/register-annotations.d.ts +2 -2
  38. package/dist/cli/register-assurance.d.ts +1 -1
  39. package/dist/cli/register-files-lookup.d.ts +1 -1
  40. package/dist/cli/register-history-activity.d.ts +1 -1
  41. package/dist/cli/register-history-author.d.ts +1 -1
  42. package/dist/cli/register-history-maintenance.d.ts +1 -1
  43. package/dist/cli/register-list-query.d.ts +7 -7
  44. package/dist/cli/register-list-query.js +3 -3
  45. package/dist/cli/register-mutation-options.d.ts +1 -1
  46. package/dist/cli/register-mutation.d.ts +4 -4
  47. package/dist/cli/register-operations.d.ts +75 -75
  48. package/dist/cli/register-setup.d.ts +4 -4
  49. package/dist/cli/register-structured-mutation.d.ts +8 -8
  50. package/dist/cli/runtime/activation.d.ts +23 -23
  51. package/dist/cli/runtime/invocation-options.d.ts +12 -12
  52. package/dist/cli/runtime/projection-retry.d.ts +1 -1
  53. package/dist/cli/runtime/selection.d.ts +16 -16
  54. package/dist/cli/runtime/telemetry-outcome.d.ts +11 -11
  55. package/dist/cli/runtime-compatibility-boundary.d.ts +7 -7
  56. package/dist/cli/schema/registration.d.ts +1 -1
  57. package/dist/cli/schema-registration-helpers.d.ts +2 -2
  58. package/dist/cli/stats-analytics-json.d.ts +1 -1
  59. package/dist/cli-bundle/bundle-manifest.json +1 -1
  60. package/dist/cli-bundle/chunks/{chunk-LBDWFWPK.js → chunk-52EZH2QQ.js} +2 -2
  61. package/dist/cli-bundle/chunks/chunk-7OEGNA4X.js +20 -0
  62. package/dist/cli-bundle/chunks/{chunk-APWPC4ZZ.js → chunk-7VHINXZP.js} +2 -2
  63. package/dist/cli-bundle/chunks/chunk-EMEEHV2Y.js +2 -0
  64. package/dist/cli-bundle/chunks/chunk-JGKTOBVB.js +6 -0
  65. package/dist/cli-bundle/chunks/{chunk-PSNS537F.js → chunk-JSUJWIHQ.js} +30 -30
  66. package/dist/cli-bundle/chunks/{chunk-N5EXRYCZ.js → chunk-LNKLQYBG.js} +2 -2
  67. package/dist/cli-bundle/chunks/{chunk-YH6H3UVE.js → chunk-N56CAQBU.js} +63 -64
  68. package/dist/cli-bundle/chunks/chunk-NC3QVGDD.js +8 -0
  69. package/dist/cli-bundle/chunks/{chunk-AM2XOZKE.js → chunk-RJ5N44WY.js} +2 -2
  70. package/dist/cli-bundle/chunks/{chunk-HXHFKXLV.js → chunk-VIMQCFCK.js} +2 -2
  71. package/dist/cli-bundle/chunks/{chunk-UBTYYZIE.js → chunk-WBBW3WQX.js} +4 -4
  72. package/dist/cli-bundle/chunks/chunk-X2H6UR26.js +236 -0
  73. package/dist/cli-bundle/chunks/{register-list-query-BJ742QOR.js → register-list-query-FKKFQ66D.js} +7 -7
  74. package/dist/cli-bundle/chunks/{register-mutation-GGGBRIH2.js → register-mutation-EWMMVZJB.js} +2 -2
  75. package/dist/cli-bundle/chunks/{register-operations-E6HXYHNM.js → register-operations-GEQ2H7PS.js} +2 -2
  76. package/dist/cli-bundle/chunks/{register-setup-4ZVTVEPY.js → register-setup-PSJTQBBO.js} +2 -2
  77. package/dist/cli-bundle/focused-chunks/{chunk-NNW5BS5L.js → chunk-3RNUMVK4.js} +2 -2
  78. package/dist/cli-bundle/focused-chunks/{chunk-3LQEBXU5.js → chunk-4KQFMOM7.js} +6 -6
  79. package/dist/cli-bundle/focused-chunks/{chunk-RAA7SVRA.js → chunk-52I2SNKJ.js} +2 -2
  80. package/dist/cli-bundle/focused-chunks/{chunk-6BTUISKV.js → chunk-5KRACGBK.js} +2 -2
  81. package/dist/cli-bundle/focused-chunks/chunk-5OO54BIV.js +3 -0
  82. package/dist/cli-bundle/focused-chunks/chunk-5TBAVZDR.js +20 -0
  83. package/dist/cli-bundle/focused-chunks/{chunk-R23T7GFZ.js → chunk-FQKPOZKS.js} +2 -2
  84. package/dist/cli-bundle/focused-chunks/{chunk-IIKFTJVC.js → chunk-H3P77KVU.js} +2 -2
  85. package/dist/cli-bundle/focused-chunks/chunk-HTA3TNC3.js +26 -0
  86. package/dist/cli-bundle/focused-chunks/{chunk-73UNAJHD.js → chunk-JKBH7YGX.js} +2 -2
  87. package/dist/cli-bundle/focused-chunks/{chunk-KGFRQ34R.js → chunk-KIIFVULU.js} +2 -2
  88. package/dist/cli-bundle/focused-chunks/{chunk-SOB7X4FJ.js → chunk-N6FUKTZS.js} +2 -2
  89. package/dist/cli-bundle/focused-chunks/chunk-PDYE7QDX.js +166 -0
  90. package/dist/cli-bundle/focused-chunks/{chunk-RU6GCFN3.js → chunk-Q4VNCTR2.js} +2 -2
  91. package/dist/cli-bundle/focused-chunks/{chunk-QMNAY25P.js → chunk-THYQR3ON.js} +61 -62
  92. package/dist/cli-bundle/focused-chunks/{chunk-DVK7VKZL.js → chunk-TYLG5VEB.js} +2 -2
  93. package/dist/cli-bundle/main.js +27 -27
  94. package/dist/cli-bundle/sdk-authoring.js +1 -1
  95. package/dist/cli-bundle/sdk-contracts.js +2 -2
  96. package/dist/cli-bundle/sdk-core.js +23 -23
  97. package/dist/cli-bundle/sdk-governance.js +1 -1
  98. package/dist/cli-bundle/sdk-graph.js +1 -1
  99. package/dist/cli-bundle/sdk-merge.js +51 -51
  100. package/dist/cli-bundle/sdk-query.js +1 -1
  101. package/dist/cli-bundle/sdk-runtime.js +1 -1
  102. package/dist/cli-bundle/sdk-testing.js +1 -1
  103. package/dist/cli-bundle/sdk.js +7 -7
  104. package/dist/cli.d.ts +9 -9
  105. package/dist/core/checkpoint/checkpoint-gc.d.ts +17 -17
  106. package/dist/core/checkpoint/mutation-checkpoint.d.ts +26 -26
  107. package/dist/core/config/nested-settings.d.ts +20 -20
  108. package/dist/core/config/positional-value.d.ts +9 -9
  109. package/dist/core/diagnostics/remediation.d.ts +7 -7
  110. package/dist/core/extensions/activation-summary-markdown.d.ts +4 -4
  111. package/dist/core/extensions/activation-summary.d.ts +30 -30
  112. package/dist/core/extensions/activation-transaction.d.ts +9 -9
  113. package/dist/core/extensions/capability-usage.d.ts +25 -25
  114. package/dist/core/extensions/command-hook-context.d.ts +15 -15
  115. package/dist/core/extensions/command-metadata-contract.d.ts +1 -1
  116. package/dist/core/extensions/command-visibility-tier.d.ts +1 -1
  117. package/dist/core/extensions/contribution-inventory.d.ts +24 -24
  118. package/dist/core/extensions/exporter-output-contract.d.ts +4 -4
  119. package/dist/core/extensions/extension-candidate.d.ts +14 -14
  120. package/dist/core/extensions/extension-capability-aliases.d.ts +14 -14
  121. package/dist/core/extensions/extension-hook-runtime.d.ts +14 -14
  122. package/dist/core/extensions/extension-policy.d.ts +62 -62
  123. package/dist/core/extensions/extension-registries.d.ts +8 -8
  124. package/dist/core/extensions/extension-runtime-helpers.d.ts +5 -5
  125. package/dist/core/extensions/extension-types.d.ts +702 -702
  126. package/dist/core/extensions/flag-definition-validation.d.ts +19 -6
  127. package/dist/core/extensions/flag-definition-validation.js +1 -1
  128. package/dist/core/extensions/flag-value-types.d.ts +16 -4
  129. package/dist/core/extensions/flag-value-types.js +1 -1
  130. package/dist/core/extensions/index.d.ts +34 -34
  131. package/dist/core/extensions/item-field-types.d.ts +3 -3
  132. package/dist/core/extensions/item-fields.d.ts +6 -6
  133. package/dist/core/extensions/loader.d.ts +66 -66
  134. package/dist/core/extensions/manifest-parser.d.ts +1 -1
  135. package/dist/core/extensions/manifest-schema.d.ts +13 -13
  136. package/dist/core/extensions/module-graph-snapshot.d.ts +5 -5
  137. package/dist/core/extensions/preflight-ownership.d.ts +3 -3
  138. package/dist/core/extensions/read-output-contract.d.ts +2 -2
  139. package/dist/core/extensions/registration-contracts.d.ts +12 -12
  140. package/dist/core/extensions/registration-validation.d.ts +6 -6
  141. package/dist/core/extensions/registration-values.d.ts +19 -19
  142. package/dist/core/extensions/reserved-host-flags.d.ts +5 -5
  143. package/dist/core/extensions/runtime-registrations.d.ts +6 -6
  144. package/dist/core/extensions/service-ownership.d.ts +1 -1
  145. package/dist/core/extensions/version-compat.d.ts +9 -9
  146. package/dist/core/fs/atomic-create.d.ts +1 -1
  147. package/dist/core/fs/fs-utils.d.ts +12 -12
  148. package/dist/core/fs/host-environment-errors.d.ts +10 -10
  149. package/dist/core/fs/path-utils.d.ts +1 -1
  150. package/dist/core/governance/content-fields.d.ts +25 -25
  151. package/dist/core/governance/issue-codes.d.ts +16 -16
  152. package/dist/core/governance/metadata-coverage.d.ts +64 -64
  153. package/dist/core/history/digest.d.ts +5 -5
  154. package/dist/core/history/drift-cache.d.ts +2 -2
  155. package/dist/core/history/drift-scan.d.ts +18 -18
  156. package/dist/core/history/event-classification.d.ts +4 -4
  157. package/dist/core/history/event-index.d.ts +33 -33
  158. package/dist/core/history/history-compact-bulk.d.ts +12 -12
  159. package/dist/core/history/history-diff.d.ts +15 -15
  160. package/dist/core/history/history-rewrite.d.ts +43 -43
  161. package/dist/core/history/history-storage-stats.d.ts +20 -20
  162. package/dist/core/history/history-stream-policy.d.ts +12 -12
  163. package/dist/core/history/history.d.ts +45 -45
  164. package/dist/core/history/identity.d.ts +4 -4
  165. package/dist/core/history/operation-contract.d.ts +17 -17
  166. package/dist/core/history/projection.d.ts +16 -16
  167. package/dist/core/history/read.d.ts +4 -4
  168. package/dist/core/history/replay.d.ts +47 -47
  169. package/dist/core/history/tombstone.d.ts +1 -1
  170. package/dist/core/history/version-address.d.ts +2 -2
  171. package/dist/core/history/workspace-history.d.ts +72 -72
  172. package/dist/core/io/body-file.d.ts +2 -2
  173. package/dist/core/io/bulk-ids-input.d.ts +7 -7
  174. package/dist/core/item/actionability.d.ts +30 -30
  175. package/dist/core/item/dependency-reference.d.ts +2 -2
  176. package/dist/core/item/id.d.ts +9 -9
  177. package/dist/core/item/item-format-version.d.ts +17 -15
  178. package/dist/core/item/item-format-version.js +1 -1
  179. package/dist/core/item/item-format.d.ts +54 -54
  180. package/dist/core/item/item-record.d.ts +1 -1
  181. package/dist/core/item/item-type-definition.d.ts +11 -11
  182. package/dist/core/item/parent-reference-policy.d.ts +6 -6
  183. package/dist/core/item/parse.d.ts +37 -37
  184. package/dist/core/item/plan-lifecycle.d.ts +4 -4
  185. package/dist/core/item/priority.d.ts +3 -3
  186. package/dist/core/item/sprint-release-format.d.ts +4 -4
  187. package/dist/core/item/status-filter.d.ts +5 -5
  188. package/dist/core/item/status.d.ts +3 -3
  189. package/dist/core/item/toon-decode.d.ts +10 -10
  190. package/dist/core/item/type-registry.d.ts +35 -35
  191. package/dist/core/item/type-synonyms.d.ts +2 -2
  192. package/dist/core/lock/lock-gc.d.ts +28 -28
  193. package/dist/core/lock/lock.d.ts +53 -53
  194. package/dist/core/output/mutation-projection.d.ts +4 -4
  195. package/dist/core/output/output-control.d.ts +4 -4
  196. package/dist/core/output/output.d.ts +30 -30
  197. package/dist/core/output/query-summary.d.ts +5 -5
  198. package/dist/core/output/tabular.d.ts +3 -3
  199. package/dist/core/packages/manifest.d.ts +30 -30
  200. package/dist/core/packages/root.d.ts +4 -4
  201. package/dist/core/policy/workflow-policy-schema.d.ts +291 -291
  202. package/dist/core/policy/workflow-policy-store.d.ts +15 -15
  203. package/dist/core/policy/workflow-policy.d.ts +56 -56
  204. package/dist/core/profile/profile-describe.d.ts +22 -22
  205. package/dist/core/profile/profile-lint.d.ts +13 -13
  206. package/dist/core/profile/profile-plan.d.ts +45 -45
  207. package/dist/core/profile/profile-presets.d.ts +36 -36
  208. package/dist/core/reproducibility/context.d.ts +9 -9
  209. package/dist/core/schema/fields-file.d.ts +35 -35
  210. package/dist/core/schema/item-types-file.d.ts +29 -29
  211. package/dist/core/schema/runtime-field-filters.d.ts +3 -3
  212. package/dist/core/schema/runtime-field-values.d.ts +7 -7
  213. package/dist/core/schema/runtime-schema.d.ts +59 -59
  214. package/dist/core/schema/status-defs-file.d.ts +29 -29
  215. package/dist/core/schema/status-token.d.ts +1 -1
  216. package/dist/core/schema/type-inference.d.ts +10 -10
  217. package/dist/core/schema/type-presets.d.ts +5 -5
  218. package/dist/core/schema/type-workflows.d.ts +14 -14
  219. package/dist/core/search/background-refresh.d.ts +12 -12
  220. package/dist/core/search/bm25.d.ts +16 -16
  221. package/dist/core/search/cache.d.ts +34 -34
  222. package/dist/core/search/corpus.d.ts +17 -17
  223. package/dist/core/search/embedding-batches.d.ts +25 -25
  224. package/dist/core/search/eval-thresholds.d.ts +4 -4
  225. package/dist/core/search/eval.d.ts +40 -40
  226. package/dist/core/search/http-client.d.ts +24 -24
  227. package/dist/core/search/providers.d.ts +30 -30
  228. package/dist/core/search/relevance.d.ts +17 -17
  229. package/dist/core/search/semantic-defaults.d.ts +5 -5
  230. package/dist/core/search/staleness.d.ts +3 -3
  231. package/dist/core/search/vector-stores.d.ts +51 -51
  232. package/dist/core/search/vectorization-metadata.d.ts +9 -9
  233. package/dist/core/sentry/helpers.d.ts +28 -26
  234. package/dist/core/sentry/helpers.js +1 -1
  235. package/dist/core/sentry/instrument.d.ts +52 -50
  236. package/dist/core/sentry/instrument.js +1 -1
  237. package/dist/core/sentry/sensitive-assignments.d.ts +9 -0
  238. package/dist/core/sentry/sensitive-assignments.js +2 -0
  239. package/dist/core/session/session-state.d.ts +37 -37
  240. package/dist/core/shared/agent-session-context.d.ts +14 -14
  241. package/dist/core/shared/author.d.ts +89 -89
  242. package/dist/core/shared/command-line.d.ts +3 -3
  243. package/dist/core/shared/command-types.d.ts +20 -20
  244. package/dist/core/shared/conflict-markers.d.ts +5 -5
  245. package/dist/core/shared/constants.d.ts +30 -30
  246. package/dist/core/shared/errors.d.ts +100 -100
  247. package/dist/core/shared/html-entity-decode.d.ts +2 -2
  248. package/dist/core/shared/item-metadata-contract.d.ts +2 -2
  249. package/dist/core/shared/lazy-module.d.ts +1 -1
  250. package/dist/core/shared/levenshtein.d.ts +1 -1
  251. package/dist/core/shared/memo.d.ts +1 -1
  252. package/dist/core/shared/numeric-parsers.d.ts +1 -1
  253. package/dist/core/shared/option-alias-visibility.d.ts +3 -3
  254. package/dist/core/shared/primitives.d.ts +13 -13
  255. package/dist/core/shared/secret-rules.d.ts +92 -92
  256. package/dist/core/shared/serial-queue.d.ts +6 -6
  257. package/dist/core/shared/serialization.d.ts +4 -4
  258. package/dist/core/shared/split-comma-list.d.ts +4 -4
  259. package/dist/core/shared/text-normalization.d.ts +3 -3
  260. package/dist/core/shared/time.d.ts +27 -27
  261. package/dist/core/store/item-format-migration.d.ts +7 -7
  262. package/dist/core/store/item-metadata-cache.d.ts +30 -30
  263. package/dist/core/store/item-metadata-query-index.d.ts +66 -66
  264. package/dist/core/store/item-metadata-read-work.d.ts +6 -6
  265. package/dist/core/store/item-store.d.ts +123 -123
  266. package/dist/core/store/item-store.js +1 -1
  267. package/dist/core/store/paths.d.ts +27 -27
  268. package/dist/core/store/settings-concurrency.d.ts +1 -1
  269. package/dist/core/store/settings-read-cache.d.ts +11 -11
  270. package/dist/core/store/settings-validator.d.ts +117 -117
  271. package/dist/core/store/settings.d.ts +84 -84
  272. package/dist/core/store/sqlite-runtime.d.ts +2 -2
  273. package/dist/core/store/tracker-preflight.d.ts +3 -3
  274. package/dist/core/telemetry/consent.d.ts +1 -1
  275. package/dist/core/telemetry/observability.d.ts +16 -16
  276. package/dist/core/telemetry/policy.d.ts +7 -7
  277. package/dist/core/telemetry/read-sampling.d.ts +1 -1
  278. package/dist/core/telemetry/runtime.d.ts +275 -275
  279. package/dist/core/telemetry/runtime.js +2 -2
  280. package/dist/core/test/background-runs.d.ts +123 -123
  281. package/dist/core/test/item-test-run-tracking.d.ts +10 -10
  282. package/dist/core/test/run-selectors.d.ts +12 -12
  283. package/dist/core/validate/estimate-defaults.d.ts +3 -3
  284. package/dist/core/validate/fix-planning.d.ts +36 -36
  285. package/dist/core/validate/linked-artifact-reference.d.ts +1 -1
  286. package/dist/core/validate/missing-by-type.d.ts +3 -3
  287. package/dist/core/validate/missing-link-owners.d.ts +17 -17
  288. package/dist/core/validate/stale-file-classification.d.ts +6 -6
  289. package/dist/mcp/http-server.d.ts +26 -26
  290. package/dist/mcp/legacy-adapter.d.ts +18 -18
  291. package/dist/mcp/runtime-capabilities.d.ts +18 -18
  292. package/dist/mcp/server.d.ts +73 -73
  293. package/dist/mcp/tool-definitions.d.ts +27 -27
  294. package/dist/sdk/actionability.d.ts +1 -1
  295. package/dist/sdk/agent/closed-domain-contracts.d.ts +11 -11
  296. package/dist/sdk/agent/command-recovery.d.ts +5 -5
  297. package/dist/sdk/agent/command-suggestions.d.ts +4 -4
  298. package/dist/sdk/agent/create-option-policy.d.ts +2 -2
  299. package/dist/sdk/agent/identity-config.d.ts +18 -18
  300. package/dist/sdk/agent/item-addressing.d.ts +6 -6
  301. package/dist/sdk/agent/refusal-closure-census.d.ts +26 -26
  302. package/dist/sdk/agent/refusal-closure.d.ts +22 -22
  303. package/dist/sdk/agent/refusal-corpus-contracts.d.ts +26 -26
  304. package/dist/sdk/agent/refusal-reachability.d.ts +65 -65
  305. package/dist/sdk/agent/subcommand-recovery.d.ts +20 -20
  306. package/dist/sdk/agent/task-transcript-contracts.d.ts +18 -18
  307. package/dist/sdk/agent/tracker-preflight-contracts.d.ts +21 -21
  308. package/dist/sdk/agent-capability-contracts.d.ts +41 -41
  309. package/dist/sdk/agent-session-context.d.ts +1 -1
  310. package/dist/sdk/annotations.d.ts +74 -74
  311. package/dist/sdk/author-attribution.d.ts +47 -47
  312. package/dist/sdk/authoring.d.ts +9 -9
  313. package/dist/sdk/cli-bootstrap.d.ts +65 -65
  314. package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +56 -56
  315. package/dist/sdk/cli-contracts/bootstrap-command-scanner.d.ts +6 -6
  316. package/dist/sdk/cli-contracts/command-aliases.d.ts +19 -19
  317. package/dist/sdk/cli-contracts/command-exit-contracts.d.ts +66 -66
  318. package/dist/sdk/cli-contracts/commander-mutation-options.d.ts +7 -7
  319. package/dist/sdk/cli-contracts/commander-types.d.ts +18 -18
  320. package/dist/sdk/cli-contracts/completeness.d.ts +14 -14
  321. package/dist/sdk/cli-contracts/enum-contracts.d.ts +28 -28
  322. package/dist/sdk/cli-contracts/flag-contracts.d.ts +114 -112
  323. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  324. package/dist/sdk/cli-contracts/flag-lexicon-contracts.d.ts +27 -27
  325. package/dist/sdk/cli-contracts/grammar-contracts.d.ts +61 -61
  326. package/dist/sdk/cli-contracts/registration-helpers.d.ts +56 -56
  327. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +250 -250
  328. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  329. package/dist/sdk/cli-contracts/schemas/assurance-definition.d.ts +678 -678
  330. package/dist/sdk/cli-contracts/string-lists.d.ts +1 -1
  331. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +564 -564
  332. package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +13 -13
  333. package/dist/sdk/cli-contracts/tool-schema.d.ts +54 -54
  334. package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +20 -20
  335. package/dist/sdk/cli-contracts.d.ts +15 -15
  336. package/dist/sdk/cli-program.d.ts +1 -1
  337. package/dist/sdk/cli-program.js +1 -1
  338. package/dist/sdk/command-line.d.ts +3 -3
  339. package/dist/sdk/comments.d.ts +24 -24
  340. package/dist/sdk/compile-cache.d.ts +4 -4
  341. package/dist/sdk/completion/bash.d.ts +1 -1
  342. package/dist/sdk/completion/fish.d.ts +1 -1
  343. package/dist/sdk/completion/shared.d.ts +74 -74
  344. package/dist/sdk/completion/zsh.d.ts +1 -1
  345. package/dist/sdk/completion.d.ts +3 -3
  346. package/dist/sdk/compose.d.ts +94 -94
  347. package/dist/sdk/config.d.ts +105 -105
  348. package/dist/sdk/context/recency.d.ts +1 -1
  349. package/dist/sdk/context/semantic-session-attribution.d.ts +23 -23
  350. package/dist/sdk/context/usage-egress.d.ts +1 -1
  351. package/dist/sdk/context/usage-ledger.d.ts +18 -18
  352. package/dist/sdk/context-intent-contracts.d.ts +37 -37
  353. package/dist/sdk/context-intent-runtime.d.ts +10 -10
  354. package/dist/sdk/context-packing.d.ts +44 -44
  355. package/dist/sdk/context-relevance.d.ts +110 -110
  356. package/dist/sdk/context-signal-store.d.ts +52 -52
  357. package/dist/sdk/context-usage.d.ts +78 -78
  358. package/dist/sdk/contracts.d.ts +2 -1
  359. package/dist/sdk/contracts.js +1 -1
  360. package/dist/sdk/core-governance.d.ts +5 -5
  361. package/dist/sdk/core.d.ts +8 -8
  362. package/dist/sdk/corpus-shape.d.ts +60 -60
  363. package/dist/sdk/define.d.ts +36 -36
  364. package/dist/sdk/dependencies.d.ts +70 -70
  365. package/dist/sdk/dependency-flag-validation.d.ts +17 -17
  366. package/dist/sdk/dependency-provenance.d.ts +22 -22
  367. package/dist/sdk/docs.d.ts +17 -17
  368. package/dist/sdk/duplicates.d.ts +14 -14
  369. package/dist/sdk/environment/agent-environment.d.ts +118 -118
  370. package/dist/sdk/environment/host-environment-errors.d.ts +1 -1
  371. package/dist/sdk/environment/project-runtime-compatibility.d.ts +42 -40
  372. package/dist/sdk/environment/project-runtime-compatibility.js +2 -2
  373. package/dist/sdk/environment/source-context.d.ts +4 -4
  374. package/dist/sdk/environment/tracker-preflight.d.ts +1 -1
  375. package/dist/sdk/error-code-catalog.d.ts +33 -33
  376. package/dist/sdk/error-runtime.d.ts +5 -5
  377. package/dist/sdk/errors.d.ts +17 -17
  378. package/dist/sdk/eval.d.ts +27 -27
  379. package/dist/sdk/extension/author-manifest.d.ts +9 -9
  380. package/dist/sdk/extension/bundled-catalog.d.ts +18 -18
  381. package/dist/sdk/extension/concurrency.d.ts +1 -1
  382. package/dist/sdk/extension/copy-scope.d.ts +1 -1
  383. package/dist/sdk/extension/custom-field-collisions.d.ts +1 -1
  384. package/dist/sdk/extension/describe.d.ts +21 -21
  385. package/dist/sdk/extension/doctor.d.ts +46 -46
  386. package/dist/sdk/extension/install-plan.d.ts +32 -32
  387. package/dist/sdk/extension/install-receipts.d.ts +4 -4
  388. package/dist/sdk/extension/install-runtime.d.ts +12 -12
  389. package/dist/sdk/extension/install-snapshot.d.ts +10 -10
  390. package/dist/sdk/extension/install-sources.d.ts +106 -106
  391. package/dist/sdk/extension/managed-state.d.ts +42 -42
  392. package/dist/sdk/extension/managed-update-status.d.ts +1 -1
  393. package/dist/sdk/extension/migrations.d.ts +48 -48
  394. package/dist/sdk/extension/output-ownership.d.ts +19 -19
  395. package/dist/sdk/extension/runtime-summary.d.ts +7 -7
  396. package/dist/sdk/extension/scaffold.d.ts +15 -15
  397. package/dist/sdk/extension/shared.d.ts +16 -16
  398. package/dist/sdk/extension/source-resolution.d.ts +16 -16
  399. package/dist/sdk/extension/static-inventory.d.ts +23 -23
  400. package/dist/sdk/extension/update-check.d.ts +9 -9
  401. package/dist/sdk/extension-command-context.d.ts +1 -1
  402. package/dist/sdk/extension-contracts.d.ts +10 -10
  403. package/dist/sdk/extension.d.ts +221 -221
  404. package/dist/sdk/files.d.ts +101 -101
  405. package/dist/sdk/flag-invocation-contracts.d.ts +25 -25
  406. package/dist/sdk/flag-invocation-contracts.js +1 -1
  407. package/dist/sdk/generated/generated-error-code-catalog-part-1.d.ts +1 -1
  408. package/dist/sdk/generated/generated-error-code-catalog-part-2.d.ts +1 -1
  409. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  410. package/dist/sdk/generated-error-code-catalog.d.ts +1 -1
  411. package/dist/sdk/governance/artifact-ledgers.d.ts +19 -19
  412. package/dist/sdk/governance/assurance-action-contracts.d.ts +1 -1
  413. package/dist/sdk/governance/assurance-action.d.ts +46 -46
  414. package/dist/sdk/governance/assurance-mutation-error.d.ts +20 -20
  415. package/dist/sdk/governance/assurance-presets.d.ts +25 -25
  416. package/dist/sdk/governance/assurance-runtime.d.ts +10 -10
  417. package/dist/sdk/governance/assurance.d.ts +204 -204
  418. package/dist/sdk/governance/boundary-fixtures.d.ts +32 -32
  419. package/dist/sdk/governance/closure-timestamps.d.ts +10 -10
  420. package/dist/sdk/governance/coverage-assurance.d.ts +7 -7
  421. package/dist/sdk/governance/defect-recurrence-coverage.d.ts +40 -40
  422. package/dist/sdk/governance/defect-recurrence-graph.d.ts +11 -11
  423. package/dist/sdk/governance/defect-recurrence-signals.d.ts +1 -1
  424. package/dist/sdk/governance/defect-recurrence.d.ts +97 -97
  425. package/dist/sdk/governance/defect-recurrence.js +2 -1
  426. package/dist/sdk/governance/extension-host-version.d.ts +9 -9
  427. package/dist/sdk/governance/gc.d.ts +26 -26
  428. package/dist/sdk/governance/health-merge-evidence.d.ts +8 -8
  429. package/dist/sdk/governance/health.d.ts +172 -172
  430. package/dist/sdk/governance/health.js +1 -1
  431. package/dist/sdk/governance/hierarchy-validation.d.ts +16 -16
  432. package/dist/sdk/governance/linked-file-report.d.ts +15 -15
  433. package/dist/sdk/governance/merge-receipt-history.d.ts +24 -24
  434. package/dist/sdk/governance/provenance-health.d.ts +35 -35
  435. package/dist/sdk/governance/reindex.d.ts +102 -102
  436. package/dist/sdk/governance/reliability.d.ts +29 -29
  437. package/dist/sdk/governance/stale-work.d.ts +13 -13
  438. package/dist/sdk/governance/status-role-diagnostics.d.ts +8 -8
  439. package/dist/sdk/governance/storage-integrity.d.ts +28 -28
  440. package/dist/sdk/governance/tracked-runtime-cache.d.ts +7 -7
  441. package/dist/sdk/governance/upgrade.d.ts +77 -77
  442. package/dist/sdk/governance/validate-history-drift.d.ts +3 -3
  443. package/dist/sdk/governance/validate-item-reader.d.ts +9 -9
  444. package/dist/sdk/governance/validate-normalization.d.ts +4 -4
  445. package/dist/sdk/governance/validate.d.ts +176 -176
  446. package/dist/sdk/governance/validate.js +1 -1
  447. package/dist/sdk/governance/workflow-completeness.d.ts +15 -15
  448. package/dist/sdk/governance/workflow-policy.d.ts +18 -18
  449. package/dist/sdk/governance/workspace-position.d.ts +40 -40
  450. package/dist/sdk/governance.d.ts +2 -2
  451. package/dist/sdk/graph/adapter.d.ts +45 -45
  452. package/dist/sdk/graph/analytics.d.ts +36 -36
  453. package/dist/sdk/graph/assembly.d.ts +51 -51
  454. package/dist/sdk/graph/cache.d.ts +19 -19
  455. package/dist/sdk/graph/cardinality-integrity.d.ts +4 -4
  456. package/dist/sdk/graph/centrality.d.ts +20 -20
  457. package/dist/sdk/graph/conformance.d.ts +21 -21
  458. package/dist/sdk/graph/deadline-scheduling.d.ts +30 -30
  459. package/dist/sdk/graph/durable-cache.d.ts +22 -22
  460. package/dist/sdk/graph/governance-contracts.d.ts +1 -1
  461. package/dist/sdk/graph/governance.d.ts +92 -92
  462. package/dist/sdk/graph/hierarchy-integrity.d.ts +32 -32
  463. package/dist/sdk/graph/index.d.ts +15 -15
  464. package/dist/sdk/graph/lifecycle-coverage.d.ts +12 -12
  465. package/dist/sdk/graph/mutation-advisory.d.ts +15 -15
  466. package/dist/sdk/graph/query-contracts.d.ts +6 -6
  467. package/dist/sdk/graph/remediation.d.ts +15 -15
  468. package/dist/sdk/graph/run.d.ts +203 -203
  469. package/dist/sdk/graph/scheduling.d.ts +21 -21
  470. package/dist/sdk/graph/traversal.d.ts +18 -18
  471. package/dist/sdk/graph/workspace-relationship-kind-registry.d.ts +1 -1
  472. package/dist/sdk/guide-topics.d.ts +19 -19
  473. package/dist/sdk/guide.d.ts +43 -43
  474. package/dist/sdk/history/attestation-command.d.ts +8 -8
  475. package/dist/sdk/history/attestation-contract.d.ts +43 -43
  476. package/dist/sdk/history/attestation-scan.d.ts +4 -4
  477. package/dist/sdk/history/attestation.d.ts +4 -4
  478. package/dist/sdk/history/maintenance.d.ts +25 -25
  479. package/dist/sdk/history/salvage.d.ts +19 -19
  480. package/dist/sdk/history/subject.d.ts +8 -8
  481. package/dist/sdk/history-analytics.d.ts +64 -64
  482. package/dist/sdk/history-compact.d.ts +67 -67
  483. package/dist/sdk/history-mcp.d.ts +7 -7
  484. package/dist/sdk/history-provenance.d.ts +40 -40
  485. package/dist/sdk/history-read.d.ts +24 -24
  486. package/dist/sdk/history-redact.d.ts +68 -68
  487. package/dist/sdk/history-repair.d.ts +92 -92
  488. package/dist/sdk/improvement-ledger-validation.d.ts +1 -1
  489. package/dist/sdk/improvement-ledger.d.ts +62 -62
  490. package/dist/sdk/index.d.ts +69 -69
  491. package/dist/sdk/init-agent-guidance.d.ts +68 -68
  492. package/dist/sdk/init.d.ts +117 -117
  493. package/dist/sdk/invocation-author.d.ts +1 -1
  494. package/dist/sdk/item-children.d.ts +15 -15
  495. package/dist/sdk/item-metadata-index.d.ts +2 -2
  496. package/dist/sdk/item-schedule.d.ts +9 -9
  497. package/dist/sdk/item-transaction.d.ts +73 -73
  498. package/dist/sdk/learnings.d.ts +23 -23
  499. package/dist/sdk/lifecycle/append.d.ts +8 -8
  500. package/dist/sdk/lifecycle/claim.d.ts +38 -38
  501. package/dist/sdk/lifecycle/close-many.d.ts +71 -71
  502. package/dist/sdk/lifecycle/close.d.ts +18 -18
  503. package/dist/sdk/lifecycle/copy.d.ts +10 -10
  504. package/dist/sdk/lifecycle/core-field-recovery.d.ts +1 -1
  505. package/dist/sdk/lifecycle/create.d.ts +88 -88
  506. package/dist/sdk/lifecycle/delete.d.ts +15 -15
  507. package/dist/sdk/lifecycle/event-validation-messages.d.ts +1 -1
  508. package/dist/sdk/lifecycle/focus.d.ts +6 -6
  509. package/dist/sdk/lifecycle/hierarchy-mutation-lock.d.ts +6 -6
  510. package/dist/sdk/lifecycle/legacy-none-tokens.d.ts +35 -35
  511. package/dist/sdk/lifecycle/lifecycle-transitions.d.ts +3 -3
  512. package/dist/sdk/lifecycle/mcp-actions.d.ts +10 -10
  513. package/dist/sdk/lifecycle/metadata-normalizers.d.ts +4 -4
  514. package/dist/sdk/lifecycle/mutation-command-options.d.ts +58 -58
  515. package/dist/sdk/lifecycle/mutation-facet-contracts.d.ts +1 -1
  516. package/dist/sdk/lifecycle/plan-mutation-receipt.d.ts +24 -24
  517. package/dist/sdk/lifecycle/plan.d.ts +127 -127
  518. package/dist/sdk/lifecycle/recurrence-parsers.d.ts +5 -5
  519. package/dist/sdk/lifecycle/reopen.d.ts +15 -15
  520. package/dist/sdk/lifecycle/repeatable-metadata-parsers.d.ts +7 -7
  521. package/dist/sdk/lifecycle/restore.d.ts +34 -34
  522. package/dist/sdk/lifecycle/restore.js +1 -1
  523. package/dist/sdk/lifecycle/shared-unset-fields.d.ts +20 -20
  524. package/dist/sdk/lifecycle/task-composition.d.ts +7 -7
  525. package/dist/sdk/lifecycle/update-many.d.ts +61 -61
  526. package/dist/sdk/lifecycle/update.d.ts +120 -120
  527. package/dist/sdk/lifecycle-completion.d.ts +14 -14
  528. package/dist/sdk/lifecycle-policy.d.ts +31 -31
  529. package/dist/sdk/linked-artifacts.d.ts +58 -58
  530. package/dist/sdk/mcp/apps.d.ts +28 -28
  531. package/dist/sdk/mcp/authorization.d.ts +66 -66
  532. package/dist/sdk/mcp/discovery.d.ts +67 -67
  533. package/dist/sdk/mcp/interactions.d.ts +49 -49
  534. package/dist/sdk/mcp/protocol.d.ts +63 -63
  535. package/dist/sdk/mcp/skills.d.ts +62 -62
  536. package/dist/sdk/mcp/subscriptions.d.ts +26 -26
  537. package/dist/sdk/mcp/tasks.d.ts +51 -51
  538. package/dist/sdk/mcp/transport.d.ts +17 -17
  539. package/dist/sdk/merge/abandoned-receipts.d.ts +8 -8
  540. package/dist/sdk/merge/driver.d.ts +38 -38
  541. package/dist/sdk/merge/index.d.ts +5 -5
  542. package/dist/sdk/merge/install.d.ts +48 -48
  543. package/dist/sdk/merge/install.js +1 -1
  544. package/dist/sdk/merge/receipt-file-boundary.d.ts +6 -6
  545. package/dist/sdk/merge/receipt-operation.d.ts +6 -6
  546. package/dist/sdk/merge/receipt-schema.d.ts +11 -11
  547. package/dist/sdk/merge/receipts.d.ts +111 -111
  548. package/dist/sdk/merge/reconcile.d.ts +20 -20
  549. package/dist/sdk/merge/three-way.d.ts +50 -50
  550. package/dist/sdk/merge/three-way.js +2 -2
  551. package/dist/sdk/merge/worktree-config.d.ts +3 -3
  552. package/dist/sdk/mutation-events.d.ts +62 -62
  553. package/dist/sdk/mutation-guard.d.ts +134 -134
  554. package/dist/sdk/notes.d.ts +28 -28
  555. package/dist/sdk/output/table-rows.d.ts +6 -6
  556. package/dist/sdk/output-contracts.d.ts +26 -26
  557. package/dist/sdk/output-projection.d.ts +108 -108
  558. package/dist/sdk/output-token-accounting.d.ts +18 -18
  559. package/dist/sdk/output.d.ts +18 -18
  560. package/dist/sdk/ownership-source.d.ts +1 -1
  561. package/dist/sdk/package-import-adapters.d.ts +51 -51
  562. package/dist/sdk/package-migrations.d.ts +3 -3
  563. package/dist/sdk/package-runtime-options.d.ts +3 -3
  564. package/dist/sdk/pagination.d.ts +28 -28
  565. package/dist/sdk/pagination.js +1 -1
  566. package/dist/sdk/profile.d.ts +72 -72
  567. package/dist/sdk/provenance.d.ts +37 -37
  568. package/dist/sdk/public-surface.json +1 -1
  569. package/dist/sdk/query/activity.d.ts +84 -84
  570. package/dist/sdk/query/aggregate.d.ts +109 -109
  571. package/dist/sdk/query/calendar.d.ts +95 -95
  572. package/dist/sdk/query/complete-list.d.ts +35 -35
  573. package/dist/sdk/query/context.d.ts +300 -300
  574. package/dist/sdk/query/duplicate-candidates.d.ts +3 -3
  575. package/dist/sdk/query/get.d.ts +54 -54
  576. package/dist/sdk/query/history.d.ts +38 -38
  577. package/dist/sdk/query/item-filter-options.d.ts +41 -41
  578. package/dist/sdk/query/light-metadata.d.ts +1 -1
  579. package/dist/sdk/query/list-filter-shared.d.ts +4 -4
  580. package/dist/sdk/query/list.d.ts +167 -167
  581. package/dist/sdk/query/list.js +1 -1
  582. package/dist/sdk/query/multi-value-filters.d.ts +6 -6
  583. package/dist/sdk/query/next-ready-budget.d.ts +8 -8
  584. package/dist/sdk/query/next.d.ts +94 -94
  585. package/dist/sdk/query/parsers.d.ts +3 -3
  586. package/dist/sdk/query/projection-contracts.d.ts +18 -18
  587. package/dist/sdk/query/search/corpus.d.ts +15 -15
  588. package/dist/sdk/query/search/filters.d.ts +15 -15
  589. package/dist/sdk/query/search/input.d.ts +8 -8
  590. package/dist/sdk/query/search/lexical.d.ts +10 -10
  591. package/dist/sdk/query/search/response.d.ts +22 -22
  592. package/dist/sdk/query/search/semantic.d.ts +133 -133
  593. package/dist/sdk/query/search/types.d.ts +65 -65
  594. package/dist/sdk/query/search-contracts.d.ts +53 -53
  595. package/dist/sdk/query/search-pagination.d.ts +21 -21
  596. package/dist/sdk/query/search-rendering.d.ts +30 -30
  597. package/dist/sdk/query/search.d.ts +60 -60
  598. package/dist/sdk/query/workspace-contracts.d.ts +2 -2
  599. package/dist/sdk/query.d.ts +6 -6
  600. package/dist/sdk/read-output/continuation.d.ts +11 -11
  601. package/dist/sdk/read-output/extension.d.ts +3 -3
  602. package/dist/sdk/read-output/options.d.ts +7 -7
  603. package/dist/sdk/read-output/provenance.d.ts +6 -6
  604. package/dist/sdk/read-output-budget.d.ts +11 -11
  605. package/dist/sdk/read-output-contracts.d.ts +112 -112
  606. package/dist/sdk/read-output-contracts.js +1 -1
  607. package/dist/sdk/read-output-rows.d.ts +15 -15
  608. package/dist/sdk/read-output-session.d.ts +29 -29
  609. package/dist/sdk/relationship-analytics.d.ts +46 -46
  610. package/dist/sdk/relationship-context.d.ts +48 -48
  611. package/dist/sdk/relationship-history.d.ts +59 -59
  612. package/dist/sdk/relationship-kinds/contract.d.ts +18 -18
  613. package/dist/sdk/relationship-migration.d.ts +14 -14
  614. package/dist/sdk/relationships.d.ts +46 -46
  615. package/dist/sdk/reproducibility/process.d.ts +9 -9
  616. package/dist/sdk/runtime/actions.d.ts +1 -1
  617. package/dist/sdk/runtime/context.d.ts +15 -15
  618. package/dist/sdk/runtime/schema-preview.d.ts +1 -1
  619. package/dist/sdk/runtime/schema.d.ts +1 -1
  620. package/dist/sdk/runtime-action-aliases.d.ts +3 -3
  621. package/dist/sdk/runtime-extended-actions.d.ts +9 -9
  622. package/dist/sdk/runtime-input.d.ts +29 -29
  623. package/dist/sdk/runtime-primitives.d.ts +54 -52
  624. package/dist/sdk/runtime-primitives.js +1 -1
  625. package/dist/sdk/runtime-public-contracts.d.ts +46 -46
  626. package/dist/sdk/runtime-stats-options.d.ts +1 -1
  627. package/dist/sdk/runtime.d.ts +374 -374
  628. package/dist/sdk/scheduling-shortcuts.d.ts +19 -19
  629. package/dist/sdk/schema-migration.d.ts +79 -79
  630. package/dist/sdk/schema.d.ts +224 -224
  631. package/dist/sdk/search-refresh-worker.d.ts +1 -1
  632. package/dist/sdk/similarity-scoring.d.ts +10 -10
  633. package/dist/sdk/similarity.d.ts +73 -73
  634. package/dist/sdk/start-task-status.d.ts +1 -1
  635. package/dist/sdk/stats.d.ts +72 -72
  636. package/dist/sdk/structured-mutations.d.ts +13 -13
  637. package/dist/sdk/telemetry-flush.d.ts +1 -1
  638. package/dist/sdk/telemetry.d.ts +32 -32
  639. package/dist/sdk/templates.d.ts +35 -35
  640. package/dist/sdk/test/batch.d.ts +50 -50
  641. package/dist/sdk/test/command-args.d.ts +2 -2
  642. package/dist/sdk/test/entry.d.ts +4 -4
  643. package/dist/sdk/test/execution-receipts.d.ts +5 -5
  644. package/dist/sdk/test/execution.d.ts +247 -247
  645. package/dist/sdk/test/json-path.d.ts +4 -4
  646. package/dist/sdk/test/linked-command-detection.d.ts +36 -36
  647. package/dist/sdk/test/measurements.d.ts +10 -10
  648. package/dist/sdk/test/parsers.d.ts +18 -18
  649. package/dist/sdk/test/prerequisites.d.ts +3 -3
  650. package/dist/sdk/test/runs.d.ts +43 -43
  651. package/dist/sdk/test/trust.d.ts +15 -15
  652. package/dist/sdk/test/update.d.ts +23 -23
  653. package/dist/sdk/test/workspace-snapshot.d.ts +1 -1
  654. package/dist/sdk/testing.d.ts +250 -246
  655. package/dist/sdk/testing.js +2 -2
  656. package/dist/sdk/traceability/runtime-files-lookup.d.ts +1 -1
  657. package/dist/sdk/traceability/source-traceability.d.ts +50 -50
  658. package/dist/sdk/workspace-contracts-cache.d.ts +2 -2
  659. package/dist/sdk/workspace-contracts.d.ts +20 -20
  660. package/dist/sdk/workspace-memory.d.ts +42 -42
  661. package/dist/sdk/workspace-recipe.d.ts +9 -9
  662. package/dist/sdk/workspace-snapshot.d.ts +60 -60
  663. package/dist/sdk/workspace-transaction-gc.d.ts +17 -17
  664. package/dist/sdk/workspace-transaction.d.ts +26 -26
  665. package/dist/sdk/workspace.d.ts +9 -9
  666. package/dist/types.d.ts +540 -540
  667. package/docs/COMMANDS.md +11 -2
  668. package/docs/CONFIGURATION.md +43 -0
  669. package/docs/DEFECT_RECURRENCE.md +8 -0
  670. package/docs/EXTENSIONS.md +1 -1
  671. package/docs/EXTENSION_AUTHOR_CONTRACTS.md +33 -0
  672. package/docs/LINKED_TEST_EDITS.md +15 -0
  673. package/docs/MERGE_SAFETY.md +8 -0
  674. package/docs/RELEASING.md +2 -0
  675. package/docs/SDK.md +19 -0
  676. package/docs/TESTING.md +21 -1
  677. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +4 -3
  678. package/marketplace.json +1 -1
  679. package/package.json +3 -1
  680. package/packages/pm-beads/package.json +1 -1
  681. package/packages/pm-calendar/package.json +1 -1
  682. package/packages/pm-command-kit/package.json +1 -1
  683. package/packages/pm-digital-twin/package.json +1 -1
  684. package/packages/pm-governance-audit/package.json +1 -1
  685. package/packages/pm-guide-shell/package.json +1 -1
  686. package/packages/pm-kanban/package.json +1 -1
  687. package/packages/pm-lifecycle-hooks/package.json +1 -1
  688. package/packages/pm-linked-test-adapters/package.json +1 -1
  689. package/packages/pm-search-advanced/package.json +1 -1
  690. package/packages/pm-templates/package.json +1 -1
  691. package/packages/pm-todos/package.json +1 -1
  692. package/packages/pm-vcs/package.json +1 -1
  693. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  694. package/plugins/pm-claude/package.json +1 -1
  695. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  696. package/plugins/pm-codex/package.json +1 -1
  697. package/plugins/pm-codex/plugin.json +1 -1
  698. package/runtime-dependencies.json +1 -1
  699. package/scripts/finalize-build.mjs +9 -3
  700. package/dist/cli-bundle/chunks/chunk-DJDRHJBP.js +0 -234
  701. package/dist/cli-bundle/chunks/chunk-DUK5DHI6.js +0 -8
  702. package/dist/cli-bundle/chunks/chunk-IFPJDJUM.js +0 -20
  703. package/dist/cli-bundle/chunks/chunk-RL45OYTL.js +0 -6
  704. package/dist/cli-bundle/chunks/chunk-WYZGZV2M.js +0 -2
  705. package/dist/cli-bundle/focused-chunks/chunk-F5J3ATMV.js +0 -165
  706. package/dist/cli-bundle/focused-chunks/chunk-IOTNG6CN.js +0 -2
  707. package/dist/cli-bundle/focused-chunks/chunk-S6ITXQ5T.js +0 -20
  708. package/dist/cli-bundle/focused-chunks/chunk-UPJA45K7.js +0 -26
@@ -1,296 +1,296 @@
1
1
  import { type WorkspaceRecipe } from "../workspace-recipe.js";
2
2
  /** Schema identifier for a portable observation contract. */
3
- export declare const PM_OBSERVATION_SCHEMA: "pm.agent-observation/v1";
3
+ export declare const PM_OBSERVATION_SCHEMA:"pm.agent-observation/v1";
4
4
  /** Schema identifier for a deterministic verdict contract. */
5
- export declare const PM_VERDICT_SCHEMA: "pm.agent-verdict/v1";
5
+ export declare const PM_VERDICT_SCHEMA:"pm.agent-verdict/v1";
6
6
  /** Schema identifier for a bounded agent-environment episode. */
7
- export declare const PM_EPISODE_SCHEMA: "pm.agent-episode/v1";
7
+ export declare const PM_EPISODE_SCHEMA:"pm.agent-episode/v1";
8
8
  /** A JSON-compatible object used as immutable recorded workspace state. */
9
- export type RecordedStateObject = Readonly<Record<string, unknown>>;
9
+ export type RecordedStateObject = Readonly<Record<string,unknown>>;
10
10
  /** One declared read and its guaranteed token ceiling. */
11
11
  export interface ObservationReadDeclaration {
12
12
  /** Public SDK or CLI command name used to collect the read. */
13
- command: string;
13
+ command:string;
14
14
  /** Maximum tokens this read may consume. */
15
- budget_tokens: number;
15
+ budget_tokens:number;
16
16
  }
17
17
  /** Emitted-byte calibration for a representative observation corpus. */
18
18
  export interface ObservationCalibration {
19
19
  /** Stable measurement basis; serialized payload bytes are authoritative. */
20
- basis: "emitted_bytes";
20
+ basis:"emitted_bytes";
21
21
  /** Historical emitted-byte measurements used to calibrate expectations. */
22
- samples: readonly number[];
22
+ samples:readonly number[];
23
23
  /** Expected serialized payload size before an observation is served. */
24
- expected_emitted_bytes: number;
24
+ expected_emitted_bytes:number;
25
25
  /** Accepted drift around the expected emitted-byte measurement. */
26
- tolerance_bytes: number;
26
+ tolerance_bytes:number;
27
27
  }
28
28
  /** Declares whether observation cost varies with corpus size. */
29
29
  export type ObservationCorpusDependence = {
30
- readonly kind: "independent";
30
+ readonly kind:"independent";
31
31
  } | {
32
- readonly kind: "bounded";
33
- readonly dimension: string;
34
- readonly maximum: number;
32
+ readonly kind:"bounded";
33
+ readonly dimension:string;
34
+ readonly maximum:number;
35
35
  };
36
36
  /** One ordered disclosure tier in an observation degradation ladder. */
37
37
  export interface ObservationTier {
38
38
  /** Stable tier identity included in every observation receipt. */
39
- id: string;
39
+ id:string;
40
40
  /** Maximum tokens this tier is permitted to emit. */
41
- max_tokens: number;
41
+ max_tokens:number;
42
42
  /** Dot-separated recorded-state fields disclosed by the tier. */
43
- fields: readonly string[];
43
+ fields:readonly string[];
44
44
  }
45
45
  /** Portable declaration for a bounded, calibrated observation. */
46
46
  export interface ObservationContract {
47
47
  /** Versioned schema identity. */
48
- schema: typeof PM_OBSERVATION_SCHEMA;
48
+ schema:typeof PM_OBSERVATION_SCHEMA;
49
49
  /** Stable contract identity. */
50
- id: string;
50
+ id:string;
51
51
  /** Positive contract revision. */
52
- version: number;
52
+ version:number;
53
53
  /** Reads whose ceilings form the guaranteed collection cost. */
54
- reads: readonly ObservationReadDeclaration[];
54
+ reads:readonly ObservationReadDeclaration[];
55
55
  /** Emitted-byte calibration visible before collection starts. */
56
- calibration: ObservationCalibration;
56
+ calibration:ObservationCalibration;
57
57
  /** Explicit corpus-size dependence of the cost model. */
58
- corpus_dependence: ObservationCorpusDependence;
58
+ corpus_dependence:ObservationCorpusDependence;
59
59
  /** Ordered richest-to-smallest degradation ladder. */
60
- tiers: readonly ObservationTier[];
60
+ tiers:readonly ObservationTier[];
61
61
  }
62
62
  /** Pre-call observation-cost description available to schedulers. */
63
63
  export interface ObservationCostDescription {
64
64
  /** Stable observation identity. */
65
- contract_id: string;
65
+ contract_id:string;
66
66
  /** Observation revision. */
67
- contract_version: number;
67
+ contract_version:number;
68
68
  /** Sum of all declared collection ceilings. */
69
- guaranteed_ceiling_tokens: number;
69
+ guaranteed_ceiling_tokens:number;
70
70
  /** Calibrated expected serialized payload size. */
71
- expected_emitted_bytes: number;
71
+ expected_emitted_bytes:number;
72
72
  /** Conservative token estimate derived from emitted bytes. */
73
- expected_tokens: number;
73
+ expected_tokens:number;
74
74
  /** Accepted emitted-byte calibration drift. */
75
- tolerance_bytes: number;
75
+ tolerance_bytes:number;
76
76
  /** Stable calibration basis. */
77
- calibration_basis: "emitted_bytes";
77
+ calibration_basis:"emitted_bytes";
78
78
  /** Declared corpus-size dependence. */
79
- corpus_dependence: ObservationCorpusDependence;
79
+ corpus_dependence:ObservationCorpusDependence;
80
80
  }
81
81
  /** Audit receipt emitted for every served or refused observation. */
82
82
  export interface ObservationReceipt {
83
83
  /** Stable observation identity. */
84
- contract_id: string;
84
+ contract_id:string;
85
85
  /** Observation revision. */
86
- contract_version: number;
86
+ contract_version:number;
87
87
  /** Tier whose payload was returned, or null after truthful refusal. */
88
- served_tier: string | null;
88
+ served_tier:string | null;
89
89
  /** Whether a smaller tier was attempted or served. */
90
- degraded: boolean;
90
+ degraded:boolean;
91
91
  /** Tier identities evaluated in deterministic order. */
92
- attempted_tiers: readonly string[];
92
+ attempted_tiers:readonly string[];
93
93
  /** Exact serialized payload bytes, or null when nothing was served. */
94
- emitted_bytes: number | null;
94
+ emitted_bytes:number | null;
95
95
  /** Conservative token estimate, or null when nothing was served. */
96
- estimated_tokens: number | null;
96
+ estimated_tokens:number | null;
97
97
  /** Stable measurement basis. */
98
- calibration_basis: "emitted_bytes";
98
+ calibration_basis:"emitted_bytes";
99
99
  }
100
100
  /** Successful bounded observation with its explicit receipt. */
101
101
  export interface ServedObservation<T> {
102
102
  /** Discriminator for a payload-bearing response. */
103
- status: "served";
103
+ status:"served";
104
104
  /** Payload produced by the declared tier. */
105
- payload: T;
105
+ payload:T;
106
106
  /** Cost and degradation evidence. */
107
- receipt: ObservationReceipt;
107
+ receipt:ObservationReceipt;
108
108
  }
109
109
  /** Refusal returned when no declared tier can fit the caller's ceiling. */
110
110
  export interface RefusedObservation {
111
111
  /** Discriminator for a payload-free refusal. */
112
- status: "refused";
112
+ status:"refused";
113
113
  /** Stable reason callers can route without parsing prose. */
114
- reason: "no_declared_tier_fits_budget";
114
+ reason:"no_declared_tier_fits_budget";
115
115
  /** Cost and degradation evidence. */
116
- receipt: ObservationReceipt;
116
+ receipt:ObservationReceipt;
117
117
  }
118
118
  /** Complete outcome of attempting one declared observation. */
119
119
  export type ObservationResult<T> = ServedObservation<T> | RefusedObservation;
120
120
  /** Caller-imposed ceiling for one observation response. */
121
121
  export interface ObservationRequest {
122
122
  /** Maximum response tokens accepted by the caller. */
123
- budget_tokens: number;
123
+ budget_tokens:number;
124
124
  }
125
125
  /** Predicate supported by the versioned total-verdict interpreter. */
126
126
  export type VerdictPredicate = {
127
- readonly id: string;
128
- readonly kind: "field_equals";
129
- readonly path: string;
130
- readonly expected: unknown;
127
+ readonly id:string;
128
+ readonly kind:"field_equals";
129
+ readonly path:string;
130
+ readonly expected:unknown;
131
131
  } | {
132
- readonly id: string;
133
- readonly kind: "field_present";
134
- readonly path: string;
132
+ readonly id:string;
133
+ readonly kind:"field_present";
134
+ readonly path:string;
135
135
  } | {
136
- readonly id: string;
137
- readonly kind: "field_absent";
138
- readonly path: string;
136
+ readonly id:string;
137
+ readonly kind:"field_absent";
138
+ readonly path:string;
139
139
  };
140
140
  /** Declarative composition applied to predicate outcomes. */
141
141
  export interface VerdictComposition {
142
142
  /** Whether every or at least one referenced predicate must satisfy. */
143
- operator: "all" | "any";
143
+ operator:"all" | "any";
144
144
  /** Ordered predicate identities evaluated by the total verdict. */
145
- predicate_ids: readonly string[];
145
+ predicate_ids:readonly string[];
146
146
  }
147
147
  /** Portable named and versioned total-verdict declaration. */
148
148
  export interface VerdictContract {
149
149
  /** Versioned schema identity. */
150
- schema: typeof PM_VERDICT_SCHEMA;
150
+ schema:typeof PM_VERDICT_SCHEMA;
151
151
  /** Stable contract identity. */
152
- id: string;
152
+ id:string;
153
153
  /** Positive contract revision. */
154
- version: number;
154
+ version:number;
155
155
  /** Predicates evaluated exclusively over recorded state. */
156
- predicates: readonly VerdictPredicate[];
156
+ predicates:readonly VerdictPredicate[];
157
157
  /** Explicit deterministic predicate composition. */
158
- composition: VerdictComposition;
158
+ composition:VerdictComposition;
159
159
  }
160
160
  /** Recorded state and stable snapshot identity supplied by an adapter. */
161
161
  export interface WorkspaceRecordedState {
162
162
  /** Stable identity of the exact state being evaluated. */
163
- snapshot_id: string;
163
+ snapshot_id:string;
164
164
  /** Recorded, JSON-compatible project state. */
165
- state: RecordedStateObject;
165
+ state:RecordedStateObject;
166
166
  }
167
167
  /** Per-predicate evidence in a deterministic total verdict. */
168
168
  export interface PredicateVerdict {
169
169
  /** Declared predicate identity. */
170
- id: string;
170
+ id:string;
171
171
  /** Whether the predicate is satisfied by recorded state. */
172
- outcome: "satisfied" | "violated";
172
+ outcome:"satisfied" | "violated";
173
173
  /** Snapshot-qualified JSON pointer to the inspected field. */
174
- evidence_pointer: string;
174
+ evidence_pointer:string;
175
175
  /** Hash of the observed value without duplicating potentially private data. */
176
- evidence_digest: string;
176
+ evidence_digest:string;
177
177
  }
178
178
  /** Total, reproducible result produced by a verdict contract. */
179
179
  export interface VerdictResult {
180
180
  /** Stable verdict identity. */
181
- contract_id: string;
181
+ contract_id:string;
182
182
  /** Verdict revision. */
183
- contract_version: number;
183
+ contract_version:number;
184
184
  /** Exact recorded-state snapshot evaluated. */
185
- snapshot_id: string;
185
+ snapshot_id:string;
186
186
  /** Total outcome, including an explicit empty-contract state. */
187
- outcome: "satisfied" | "violated" | "not_applicable";
187
+ outcome:"satisfied" | "violated" | "not_applicable";
188
188
  /** Satisfied fraction, or null when no predicates are declared. */
189
- score: number | null;
189
+ score:number | null;
190
190
  /** Explicitly separates evaluation from reward or learning signals. */
191
- policy: "verdict_only_no_reward";
191
+ policy:"verdict_only_no_reward";
192
192
  /** Stable explanation for a not-applicable verdict. */
193
- reason?: "no_predicates_declared";
193
+ reason?:"no_predicates_declared";
194
194
  /** Ordered predicate evidence. */
195
- predicates: readonly PredicateVerdict[];
195
+ predicates:readonly PredicateVerdict[];
196
196
  }
197
197
  /** Hard limits enforced within one isolated episode. */
198
198
  export interface EpisodeLimits {
199
199
  /** Maximum ordinary project-management actions. */
200
- max_actions: number;
200
+ max_actions:number;
201
201
  /** Maximum observations, including the close-time grading read. */
202
- max_observations: number;
202
+ max_observations:number;
203
203
  /** Per-observation response ceiling. */
204
- max_tokens_per_observation: number;
204
+ max_tokens_per_observation:number;
205
205
  }
206
206
  /** Portable specification shared by evaluation and training harnesses. */
207
207
  export interface EpisodeSpecification {
208
208
  /** Versioned schema identity. */
209
- schema: typeof PM_EPISODE_SCHEMA;
209
+ schema:typeof PM_EPISODE_SCHEMA;
210
210
  /** Stable episode identity and session provenance key. */
211
- id: string;
211
+ id:string;
212
212
  /** Positive episode revision. */
213
- version: number;
213
+ version:number;
214
214
  /** Consumer intent without coupling the runtime to a training framework. */
215
- mode: "benchmark" | "evaluation" | "training" | "scale_transfer";
215
+ mode:"benchmark" | "evaluation" | "training" | "scale_transfer";
216
216
  /** Deterministic workspace construction recipe. */
217
- recipe: WorkspaceRecipe;
217
+ recipe:WorkspaceRecipe;
218
218
  /** Canonical pm items that define the task set. */
219
- task_item_ids: readonly string[];
219
+ task_item_ids:readonly string[];
220
220
  /** State fields that observations may disclose. */
221
- observable_fields: readonly string[];
221
+ observable_fields:readonly string[];
222
222
  /** Grading-only fields that must never enter observations. */
223
- withheld_fields: readonly string[];
223
+ withheld_fields:readonly string[];
224
224
  /** Bounded observation declaration. */
225
- observation: ObservationContract;
225
+ observation:ObservationContract;
226
226
  /** Recorded-state verdict declaration. */
227
- verdict: VerdictContract;
227
+ verdict:VerdictContract;
228
228
  /** Hard action and observation limits. */
229
- limits: EpisodeLimits;
229
+ limits:EpisodeLimits;
230
230
  }
231
231
  /** Reset receipt returned by an episode adapter. */
232
232
  export interface EpisodeResetReceipt {
233
233
  /** Adapter-defined isolated workspace identity. */
234
- workspace_id: string;
234
+ workspace_id:string;
235
235
  /** Stable state identity after reset. */
236
- state_id: string;
236
+ state_id:string;
237
237
  }
238
238
  /** Action receipt returned by an episode adapter. */
239
239
  export interface EpisodeActionReceipt<TOutput> {
240
240
  /** Stable state identity after the action. */
241
- state_id: string;
241
+ state_id:string;
242
242
  /** Adapter-defined ordinary command result. */
243
- output: TOutput;
243
+ output:TOutput;
244
244
  }
245
245
  /** Host boundary for ordinary pm SDK actions and recorded-state reads. */
246
- export interface EpisodeRuntimeAdapter<TAction, TOutput = unknown> {
246
+ export interface EpisodeRuntimeAdapter<TAction,TOutput = unknown> {
247
247
  /** Construct a fresh isolated workspace using the declared recipe. */
248
- reset(recipe: WorkspaceRecipe): Promise<EpisodeResetReceipt>;
248
+ reset(recipe:WorkspaceRecipe):Promise<EpisodeResetReceipt>;
249
249
  /** Execute one ordinary action, normally by calling `PmClient.run`. */
250
- execute(action: TAction): Promise<EpisodeActionReceipt<TOutput>>;
250
+ execute(action:TAction):Promise<EpisodeActionReceipt<TOutput>>;
251
251
  /** Read immutable grading state from the workspace system of record. */
252
- readRecordedState(): Promise<WorkspaceRecordedState>;
252
+ readRecordedState():Promise<WorkspaceRecordedState>;
253
253
  }
254
254
  /** One deterministic entry in a portable episode trajectory. */
255
255
  export interface EpisodeTrajectoryEntry {
256
256
  /** Monotonic event number within the isolated episode. */
257
- sequence: number;
257
+ sequence:number;
258
258
  /** Stable event classification. */
259
- kind: "reset" | "observation" | "action" | "verdict" | "close";
259
+ kind:"reset" | "observation" | "action" | "verdict" | "close";
260
260
  /** Snapshot, state, or observation tier associated with the event. */
261
- state_id: string;
261
+ state_id:string;
262
262
  }
263
263
  /** Closed episode evidence without reward or framework-specific shaping. */
264
264
  export interface ClosedEpisode {
265
265
  /** Deterministic total verdict. */
266
- verdict: VerdictResult;
266
+ verdict:VerdictResult;
267
267
  /** Complete bounded trajectory. */
268
- trajectory: readonly EpisodeTrajectoryEntry[];
268
+ trajectory:readonly EpisodeTrajectoryEntry[];
269
269
  /** Explicitly absent to prevent verdicts from becoming reward signals. */
270
- reward?: never;
270
+ reward?:never;
271
271
  }
272
272
  /** Isolated runtime returned for one declared agent episode. */
273
- export interface PmEpisodeSession<TAction, TOutput> {
273
+ export interface PmEpisodeSession<TAction,TOutput> {
274
274
  /** Observe recorded state through the declared disclosure ladder. */
275
- observe(): Promise<ObservationResult<RecordedStateObject>>;
275
+ observe():Promise<ObservationResult<RecordedStateObject>>;
276
276
  /** Execute one bounded ordinary project-management action. */
277
- step(action: TAction): Promise<EpisodeActionReceipt<TOutput>>;
277
+ step(action:TAction):Promise<EpisodeActionReceipt<TOutput>>;
278
278
  /** Evaluate the current recorded state without closing the session. */
279
- score(): Promise<VerdictResult>;
279
+ score():Promise<VerdictResult>;
280
280
  /** Evaluate and close the episode, returning immutable evidence. */
281
- close(): Promise<ClosedEpisode>;
281
+ close():Promise<ClosedEpisode>;
282
282
  }
283
283
  /** Validate, clone, and freeze a portable observation declaration. */
284
- export declare function defineObservationContract(declaration: ObservationContract): ObservationContract;
284
+ export declare function defineObservationContract(declaration:ObservationContract):ObservationContract;
285
285
  /** Describe guaranteed and calibrated observation cost before collection. */
286
- export declare function describeObservationCost(contract: ObservationContract): ObservationCostDescription;
286
+ export declare function describeObservationCost(contract:ObservationContract):ObservationCostDescription;
287
287
  /** Serve the richest declared tier that fits both caller and tier ceilings. */
288
- export declare function serveDeclaredObservation<T>(contract: ObservationContract, collect: (tier: ObservationTier) => Promise<T>, request: ObservationRequest): Promise<ObservationResult<T>>;
288
+ export declare function serveDeclaredObservation<T>(contract:ObservationContract,collect:(tier:ObservationTier) => Promise<T>,request:ObservationRequest):Promise<ObservationResult<T>>;
289
289
  /** Validate, clone, and freeze a portable total-verdict declaration. */
290
- export declare function defineVerdictContract(declaration: VerdictContract): VerdictContract;
290
+ export declare function defineVerdictContract(declaration:VerdictContract):VerdictContract;
291
291
  /** Evaluate a total verdict exclusively from one immutable recorded snapshot. */
292
- export declare function evaluateVerdictContract(contract: VerdictContract, recorded: WorkspaceRecordedState): VerdictResult;
292
+ export declare function evaluateVerdictContract(contract:VerdictContract,recorded:WorkspaceRecordedState):VerdictResult;
293
293
  /** Validate, clone, and freeze a portable episode specification. */
294
- export declare function defineEpisodeSpecification(declaration: EpisodeSpecification): EpisodeSpecification;
294
+ export declare function defineEpisodeSpecification(declaration:EpisodeSpecification):EpisodeSpecification;
295
295
  /** Open one isolated, deterministic episode around an adapter's ordinary actions. */
296
- export declare function openPmEpisode<TAction, TOutput = unknown>(specification: EpisodeSpecification, adapter: EpisodeRuntimeAdapter<TAction, TOutput>): Promise<PmEpisodeSession<TAction, TOutput>>;
296
+ export declare function openPmEpisode<TAction,TOutput = unknown>(specification:EpisodeSpecification,adapter:EpisodeRuntimeAdapter<TAction,TOutput>):Promise<PmEpisodeSession<TAction,TOutput>>;
@@ -2,4 +2,4 @@
2
2
  * @module sdk/host-environment-errors
3
3
  * Public SDK compatibility surface for path-redacted host filesystem refusals.
4
4
  */
5
- export { classifyHostEnvironmentFault, translateHostEnvironmentFault, withHostEnvironmentBoundary, type HostEnvironmentBoundaryOptions, type HostEnvironmentFaultCodeOverrides, } from "../../core/fs/host-environment-errors.js";
5
+ export { classifyHostEnvironmentFault,translateHostEnvironmentFault,withHostEnvironmentBoundary,type HostEnvironmentBoundaryOptions,type HostEnvironmentFaultCodeOverrides,} from "../../core/fs/host-environment-errors.js";
@@ -5,79 +5,81 @@ export declare const HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN = "2026.8.31";
5
5
  /** One discovered project pin that can prove the active executable is stale. */
6
6
  export interface ProjectRuntimeVersionPin {
7
7
  /** Representative date-version extracted from the project declaration. */
8
- version: string;
8
+ version:string;
9
9
  /** Redaction-safe origin of the pin. */
10
- source: "package.json" | "installed-package" | "package-lock.json" | "pnpm-lock.yaml" | "yarn.lock";
10
+ source:"package.json" | "installed-package" | "package-lock.json" | "pnpm-lock.yaml" | "yarn.lock";
11
11
  /** Whether the declaration selects one runtime, a minimum, or a bounded range. */
12
- constraint: "exact" | "minimum" | "range";
12
+ constraint:"exact" | "minimum" | "range";
13
13
  /** Original package declaration when it conveys more than the representative version. */
14
- declaration?: string;
14
+ declaration?:string;
15
15
  /** Whether the declaration permits a reader that understands history item-hash epoch 3. */
16
- history_epoch_compatible?: boolean;
16
+ history_epoch_compatible?:boolean;
17
17
  }
18
18
  /** Structured result returned by the read-only compatibility probe. */
19
19
  export interface ProjectRuntimeCompatibilityResult {
20
20
  /** Whether the invocation can write with the active runtime. */
21
- compatible: boolean;
21
+ compatible:boolean;
22
22
  /** Active executable package version. */
23
- executing_version: string;
23
+ executing_version:string;
24
24
  /** Highest project pin discovered without exposing local paths. */
25
- project_version?: string;
25
+ project_version?:string;
26
26
  /** Origin of the highest project pin. */
27
- source?: ProjectRuntimeVersionPin["source"];
27
+ source?:ProjectRuntimeVersionPin["source"];
28
28
  /** Canonical command selected from the invocation. */
29
- command?: string;
29
+ command?:string;
30
30
  /** Whether the selected invocation can mutate project state. */
31
- mutating: boolean;
31
+ mutating:boolean;
32
32
  /** Whether the active executable is older than the strongest project pin. */
33
- stale?: boolean;
33
+ stale?:boolean;
34
34
  /** Whether this mutation would write a history epoch a project pin cannot read. */
35
- history_epoch_incompatible?: boolean;
35
+ history_epoch_incompatible?:boolean;
36
36
  /** Item-hash epoch the executing runtime writes. */
37
- writer_item_hash_version?: 2 | 3;
37
+ writer_item_hash_version?:2 | 3;
38
38
  /** Project runtime declaration that cannot read the writer epoch. */
39
- incompatible_project_version?: string;
39
+ incompatible_project_version?:string;
40
40
  /** Origin of the incompatible project runtime declaration. */
41
- incompatible_source?: ProjectRuntimeVersionPin["source"];
41
+ incompatible_source?:ProjectRuntimeVersionPin["source"];
42
42
  /** Non-blocking diagnostic attached to stale read-only invocations. */
43
- warning?: ProjectRuntimeCompatibilityWarning;
43
+ warning?:ProjectRuntimeCompatibilityWarning;
44
44
  /** Whether the explicit one-invocation recovery override was accepted. */
45
- override_applied: boolean;
45
+ override_applied:boolean;
46
46
  }
47
47
  /** Structured, package-manager-neutral warning returned for a stale read. */
48
48
  export interface ProjectRuntimeCompatibilityWarning {
49
49
  /** Stable warning code for filtering and automation. */
50
- code: "project_runtime_stale_read";
50
+ code:"project_runtime_stale_read";
51
51
  /** Active executable package version. */
52
- executing_version: string;
52
+ executing_version:string;
53
53
  /** Strongest newer project version pin. */
54
- project_version: string;
54
+ project_version:string;
55
55
  /** Redaction-safe origin of the project pin. */
56
- source: ProjectRuntimeVersionPin["source"];
56
+ source:ProjectRuntimeVersionPin["source"];
57
57
  /** Concise explanation of the mismatch. */
58
- message: string;
58
+ message:string;
59
59
  /** Package-manager-neutral recovery actions. */
60
- next_steps: string[];
60
+ next_steps:string[];
61
61
  }
62
62
  /** Compare pm date versions without accepting arbitrary semver-like prose. */
63
- export declare function comparePmDateVersions(left: string, right: string): number | null;
63
+ export declare function comparePmDateVersions(left:string,right:string):number | null;
64
64
  /** Resolve the item-hash epoch written by a known pm runtime release. */
65
- export declare function historyItemHashVersionForRuntime(version: string): 2 | 3;
65
+ export declare function historyItemHashVersionForRuntime(version:string):2 | 3;
66
66
  /** Discover declared, installed, and lock-resolved versions without network I/O. */
67
- export declare function discoverProjectRuntimeVersionPins(projectRoot: string): ProjectRuntimeVersionPin[];
67
+ export declare function discoverProjectRuntimeVersionPins(projectRoot:string):ProjectRuntimeVersionPin[];
68
+ /** Refuse guarded-format writes while the owning project still selects a host predating format admission. */
69
+ export declare function assertProjectRuntimeFormatGuard(projectRoot:string,formatVersion:number):void;
68
70
  /** Classify mutation-capable invocations while preserving explicit read modes. */
69
- export declare function isProjectMutatingInvocation(argv: readonly string[]): boolean;
71
+ export declare function isProjectMutatingInvocation(argv:readonly string[]):boolean;
70
72
  /** Inspect whether one invocation is compatible with the project's newest pin. */
71
- export declare function inspectProjectRuntimeCompatibility(options: {
72
- executingVersion: string;
73
- projectRoot: string;
74
- argv: readonly string[];
75
- allowStale?: boolean;
76
- }): ProjectRuntimeCompatibilityResult;
73
+ export declare function inspectProjectRuntimeCompatibility(options:{
74
+ executingVersion:string;
75
+ projectRoot:string;
76
+ argv:readonly string[];
77
+ allowStale?:boolean;
78
+ }):ProjectRuntimeCompatibilityResult;
77
79
  /** Refuse stale mutations with a stable SDK error and package-neutral recovery. */
78
- export declare function assertProjectRuntimeCompatibility(options: {
79
- executingVersion: string;
80
- projectRoot: string;
81
- argv: readonly string[];
82
- allowStale?: boolean;
83
- }): ProjectRuntimeCompatibilityResult;
80
+ export declare function assertProjectRuntimeCompatibility(options:{
81
+ executingVersion:string;
82
+ projectRoot:string;
83
+ argv:readonly string[];
84
+ allowStale?:boolean;
85
+ }):ProjectRuntimeCompatibilityResult;
@@ -1,3 +1,3 @@
1
- (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2d40ac36-0627-5636-9679-5669dbacf06b")}catch{}})();import fs from"node:fs";import path from"node:path";import{EXIT_CODE}from"../../core/shared/constants.js";import{PmCliError}from"../../core/shared/errors.js";const PACKAGE_NAME="@unbrained/pm-cli",MUTATING_COMMANDS=new Set(["append","claim","changelog","close","close-many","close-task","comments","config","copy","create","dedupe-merge","delete","deps","docs","extension","event","events","files","focus","gc","history-author-acknowledge","history-compact","history-redact","history-repair","init","install","item","learnings","meet","merge","normalize","notes","package","packages","pause-task","plan","profile","reindex","release","remind","restore","schema","start-task","test","test-all","test-runs","test-runs-worker","telemetry","templates","twin","update","update-many","upgrade","vcs","workspace"]),GLOBAL_VALUE_FLAGS=new Set(["--author","--output-budget","--output-format","--output-include","--output-limit","--output-session","--path","--pm-path"]),VERSION_PATTERN=/\b(\d{4})\.(\d{1,2})\.(\d{1,2})(?:-(\d+))?\b/u,HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN="2026.8.31";function hasAnyToken(argv,tokens){return argv.some(token=>tokens.includes(token.split("=",1)[0]))}function isPackageMutation(argv,positionals){return["activate","adopt","adopt-all","deactivate","init","install","migrate","reload","uninstall"].includes(positionals[0]??"")||hasAnyToken(argv,["--activate","--adopt","--adopt-all","--deactivate","--fix-managed-state","--init","--install","--output","--reload","--scaffold","--uninstall"])}const MIXED_COMMAND_CLASSIFIERS={changelog:(argv,positionals)=>{if(positionals[0]==="generate")return!hasAnyToken(argv,["--check"]);const exportIndex=argv.indexOf("export");return positionals[0]==="export"&&(hasAnyToken(argv,["--output"])||exportIndex>=0&&argv[exportIndex+1]!==void 0&&!argv[exportIndex+1].startsWith("-"))},comments:argv=>hasAnyToken(argv,["--add","--delete","--edit","--file","--stdin"]),config:(_argv,positionals)=>(positionals[0]==="project"||positionals[0]==="global"?positionals[1]:positionals[0])==="set",deps:()=>!1,docs:argv=>hasAnyToken(argv,["--add","--add-glob","--migrate","--remove"]),duplicates:()=>!1,events:()=>!1,extension:isPackageMutation,files:(argv,positionals)=>hasAnyToken(argv,["--add","--add-glob","--migrate","--remove"])||positionals[0]==="discover"&&hasAnyToken(argv,["--apply"]),health:argv=>!hasAnyToken(argv,["--check-only","--no-refresh","--skip-vectors"]),learnings:argv=>hasAnyToken(argv,["--add","--delete","--edit","--file","--stdin"]),merge:(_argv,positionals)=>positionals[0]!=="report",notes:argv=>hasAnyToken(argv,["--add","--delete","--edit","--file","--stdin"]),package:isPackageMutation,packages:isPackageMutation,profile:(_argv,positionals)=>positionals[0]==="apply",schema:(argv,positionals)=>["add-field","add-status","add-type","remove-field","remove-status","remove-type","remap-status","rename-field","rename-type"].includes(positionals[0]??"")&&!(hasAnyToken(argv,["--infer"])&&!hasAnyToken(argv,["--apply"])),telemetry:(_argv,positionals)=>positionals.slice(0,2).some(token=>["clear","flush"].includes(token)),templates:(_argv,positionals)=>positionals[0]==="save",test:argv=>hasAnyToken(argv,["--add","--add-json","--background","--measure","--remove","--resume","--run","--stop"]),validate:argv=>hasAnyToken(argv,["--auto-fix","--prune-missing"]),vcs:(_argv,positionals)=>["abandon","create","merge","propose","ref-create"].includes(positionals[0]??""),workspace:(_argv,positionals)=>positionals[0]==="snapshot"&&["create","delete","restore"].includes(positionals[1]??"")};function parseDateVersion(value){const match=value.match(VERSION_PATTERN);return match?[Number(match[1]),Number(match[2]),Number(match[3]),Number(match[4]??0)]:null}function comparePmDateVersions(left,right){const leftParts=parseDateVersion(left),rightParts=parseDateVersion(right);if(!leftParts||!rightParts)return null;for(let index=0;index<leftParts.length;index+=1){const delta=leftParts[index]-rightParts[index];if(delta!==0)return Math.sign(delta)}return 0}function historyItemHashVersionForRuntime(version){return comparePmDateVersions(version,HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN)!==-1?3:2}function findIncompatibleHistoryEpochPin(pins,writerItemHashVersion){if(writerItemHashVersion===3)return pins.filter(pin=>pin.history_epoch_compatible===!1).map(pin=>({...pin,declaration:pin.declaration??pin.version})).sort((left,right)=>comparePmDateVersions(left.version,right.version))[0]}function readJsonRecord(filePath){try{const parsed=JSON.parse(fs.readFileSync(filePath,"utf8"));return typeof parsed=="object"&&parsed!==null&&!Array.isArray(parsed)?parsed:null}catch{return null}}function rangeUpperBounds(alternative){const comparators=[...alternative.matchAll(/(<=|<)\s*v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/gu)].map(match=>({inclusive:match[1]==="<=",version:match[2]})),hyphen=alternative.match(/\b\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?\s+-\s+v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/u);return hyphen?[...comparators,{inclusive:!0,version:hyphen[1]}]:comparators}function analyzeHistoryEpochRange(specification){const alternativeBounds=specification.split("||").map(alternative=>rangeUpperBounds(alternative));return{bounded:alternativeBounds.some(bounds=>bounds.length>0),compatible:alternativeBounds.some(bounds=>bounds.every(bound=>{const comparison=comparePmDateVersions(HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN,bound.version);return comparison!==null&&(bound.inclusive?comparison!==1:comparison===-1)}))}}function dependencyPins(packageJson){return["dependencies","devDependencies","optionalDependencies","peerDependencies"].flatMap(field=>{const dependencies=packageJson[field];if(typeof dependencies!="object"||dependencies===null)return[];const value=dependencies[PACKAGE_NAME],specification=typeof value=="string"?value.trim():"",version=/^[<!]/u.test(specification)?void 0:specification.match(VERSION_PATTERN)?.[0];if(!version)return[];const exact=/^(?:=|v)?\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?$/u.test(specification),range=analyzeHistoryEpochRange(specification);return[{version,constraint:exact?"exact":range.bounded?"range":"minimum",...exact?{}:{declaration:specification},history_epoch_compatible:exact?comparePmDateVersions(version,HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN)!==-1:range.compatible}]})}function packageLockPin(projectRoot){const packages=readJsonRecord(path.join(projectRoot,"package-lock.json"))?.packages;if(typeof packages!="object"||packages===null)return;const installed=packages["node_modules/@unbrained/pm-cli"];if(typeof installed!="object"||installed===null)return;const version=installed.version;return typeof version=="string"?version:void 0}function textLockPin(projectRoot,file){try{const lines=fs.readFileSync(path.join(projectRoot,file),"utf8").split(/\r?\n/u),packageLineIndex=lines.findIndex(line=>line.includes(PACKAGE_NAME));if(packageLineIndex<0)return;const packageIndent=lines[packageLineIndex].match(/^\s*/u)[0].length,entry=[lines[packageLineIndex]];for(let index=packageLineIndex+1;index<lines.length;index+=1){const line=lines[index],trimmed=line.trim(),indent=line.match(/^\s*/u)[0].length;if(trimmed.length>0&&indent<=packageIndent)break;entry.push(line)}return entry.join(`
2
- `).match(/^\s*version(?::\s*|\s+)["']?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/mu)?.[1]??entry[0].match(VERSION_PATTERN)?.[0]}catch{return}}function discoverProjectRuntimeVersionPins(projectRoot){const pins=[],projectPackage=readJsonRecord(path.join(projectRoot,"package.json"));projectPackage&&pins.push(...dependencyPins(projectPackage).map(pin=>({...pin,source:"package.json"})));const installedVersion=readJsonRecord(path.join(projectRoot,"node_modules","@unbrained","pm-cli","package.json"))?.version;typeof installedVersion=="string"&&parseDateVersion(installedVersion)&&pins.push({version:installedVersion,source:"installed-package",constraint:"exact",history_epoch_compatible:historyItemHashVersionForRuntime(installedVersion)===3});const packageLockVersion=packageLockPin(projectRoot);packageLockVersion&&parseDateVersion(packageLockVersion)&&pins.push({version:packageLockVersion,source:"package-lock.json",constraint:"exact",history_epoch_compatible:historyItemHashVersionForRuntime(packageLockVersion)===3});for(const file of["pnpm-lock.yaml","yarn.lock"]){const version=textLockPin(projectRoot,file);version&&pins.push({version,source:file,constraint:"exact",history_epoch_compatible:historyItemHashVersionForRuntime(version)===3})}return pins}function commandTokenFromArgv(argv){for(let index=0;index<argv.length;index+=1){const token=argv[index];if(GLOBAL_VALUE_FLAGS.has(token)){index+=1;continue}if(!token.startsWith("-"))return{command:token.toLowerCase(),index}}}function isProjectMutatingInvocation(argv){const commandToken=commandTokenFromArgv(argv);if(!commandToken||hasAnyToken(argv,["--help","-h","--dry-run"]))return!1;const{command,index:commandIndex}=commandToken,positionals=[];for(let index=commandIndex+1;index<argv.length;index+=1){const token=argv[index];if(GLOBAL_VALUE_FLAGS.has(token)){index+=1;continue}token.startsWith("-")||positionals.push(token.toLowerCase())}const mixedClassifier=MIXED_COMMAND_CLASSIFIERS[command];return mixedClassifier?mixedClassifier(argv,positionals):MUTATING_COMMANDS.has(command)}function inspectProjectRuntimeCompatibility(options){const command=commandTokenFromArgv(options.argv)?.command,mutating=isProjectMutatingInvocation(options.argv),pins=discoverProjectRuntimeVersionPins(options.projectRoot).filter(pin=>comparePmDateVersions(pin.version,options.executingVersion)!==null).sort((left,right)=>comparePmDateVersions(right.version,left.version)),newest=pins[0],stale=newest!==void 0&&comparePmDateVersions(options.executingVersion,newest.version)===-1,writerItemHashVersion=historyItemHashVersionForRuntime(options.executingVersion),incompatibleEpochPin=findIncompatibleHistoryEpochPin(pins,writerItemHashVersion),historyEpochIncompatible=mutating&&incompatibleEpochPin!==void 0,warning=stale&&!mutating?{code:"project_runtime_stale_read",executing_version:options.executingVersion,project_version:newest.version,source:newest.source,message:"This read is using an older pm runtime than the project requires.",next_steps:[`Run the command through the project's installed ${PACKAGE_NAME} ${newest.version}.`,"Install the project dependencies with its declared package manager if the local executable is missing."]}:void 0;return{compatible:!mutating||!stale&&!historyEpochIncompatible||options.allowStale===!0,executing_version:options.executingVersion,...newest?{project_version:newest.version,source:newest.source}:{},...command?{command}:{},mutating,stale,history_epoch_incompatible:historyEpochIncompatible,writer_item_hash_version:writerItemHashVersion,...incompatibleEpochPin?{incompatible_project_version:incompatibleEpochPin.declaration,incompatible_source:incompatibleEpochPin.source}:{},...warning?{warning}:{},override_applied:mutating&&(stale||historyEpochIncompatible)&&options.allowStale===!0}}function assertProjectRuntimeCompatibility(options){const result=inspectProjectRuntimeCompatibility(options);if(result.compatible)return result;throw result.history_epoch_incompatible?new PmCliError(`pm ${result.executing_version} cannot write item-hash epoch ${result.writer_item_hash_version} into a project pinned to pm ${result.incompatible_project_version}.`,EXIT_CODE.CONFLICT,{code:"project_runtime_history_epoch_incompatible",reason:result.incompatible_source,why:`The pinned runtime cannot read item_hash_version ${result.writer_item_hash_version}; allowing the write would break its health and validation gates.`,nextSteps:[`Upgrade the project's ${PACKAGE_NAME} pin to ${HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN} or newer before mutating tracker history.`,"For an intentional coordinated migration only, set PM_ALLOW_STALE_CLI=1 for this invocation and record why.","Read-only commands remain available without an override."]}):new PmCliError(`pm ${result.executing_version} cannot mutate a project pinned to newer pm ${result.project_version}.`,EXIT_CODE.CONFLICT,{code:"project_runtime_stale_mutation",reason:result.source,why:"An older runtime can write storage, history, and merge contracts it does not understand.",nextSteps:[`Run this command through the project's installed ${PACKAGE_NAME} ${result.project_version}.`,"For an intentional recovery only, set PM_ALLOW_STALE_CLI=1 for this invocation and record why.","Read-only commands remain available without an override."]})}export{HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN,PmCliError,assertProjectRuntimeCompatibility,comparePmDateVersions,discoverProjectRuntimeVersionPins,historyItemHashVersionForRuntime,inspectProjectRuntimeCompatibility,isProjectMutatingInvocation};
1
+ (function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="19d9b802-1efa-5716-8176-ecbf5b153ff0")}catch{}})();import fs from"node:fs";import path from"node:path";import{createRequire}from"node:module";import{EXIT_CODE}from"../../core/shared/constants.js";import{PmCliError}from"../../core/shared/errors.js";const PACKAGE_NAME="@unbrained/pm-cli",MUTATING_COMMANDS=new Set(["append","claim","changelog","close","close-many","close-task","comments","config","copy","create","dedupe-merge","delete","deps","docs","extension","event","events","files","focus","gc","history-author-acknowledge","history-compact","history-redact","history-repair","init","install","item","learnings","meet","merge","normalize","notes","package","packages","pause-task","plan","profile","reindex","release","remind","restore","schema","start-task","test","test-all","test-runs","test-runs-worker","telemetry","templates","twin","update","update-many","upgrade","vcs","workspace"]),GLOBAL_VALUE_FLAGS=new Set(["--author","--output-budget","--output-format","--output-include","--output-limit","--output-session","--path","--pm-path"]),VERSION_PATTERN=/\b(\d{4})\.(\d{1,2})\.(\d{1,2})(?:-(\d+))?\b/u,HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN="2026.8.31";function hasAnyToken(argv,tokens){return argv.some(token=>tokens.includes(token.split("=",1)[0]))}function isPackageMutation(argv,positionals){return["activate","adopt","adopt-all","deactivate","init","install","migrate","reload","uninstall"].includes(positionals[0]??"")||hasAnyToken(argv,["--activate","--adopt","--adopt-all","--deactivate","--fix-managed-state","--init","--install","--output","--reload","--scaffold","--uninstall"])}const MIXED_COMMAND_CLASSIFIERS={changelog:(argv,positionals)=>{if(positionals[0]==="generate")return!hasAnyToken(argv,["--check"]);const exportIndex=argv.indexOf("export");return positionals[0]==="export"&&(hasAnyToken(argv,["--output"])||exportIndex>=0&&argv[exportIndex+1]!==void 0&&!argv[exportIndex+1].startsWith("-"))},comments:argv=>hasAnyToken(argv,["--add","--delete","--edit","--file","--stdin"]),config:(_argv,positionals)=>(positionals[0]==="project"||positionals[0]==="global"?positionals[1]:positionals[0])==="set",deps:()=>!1,docs:argv=>hasAnyToken(argv,["--add","--add-glob","--migrate","--remove"]),duplicates:()=>!1,events:()=>!1,extension:isPackageMutation,files:(argv,positionals)=>hasAnyToken(argv,["--add","--add-glob","--migrate","--remove"])||positionals[0]==="discover"&&hasAnyToken(argv,["--apply"]),health:argv=>!hasAnyToken(argv,["--check-only","--no-refresh","--skip-vectors"]),learnings:argv=>hasAnyToken(argv,["--add","--delete","--edit","--file","--stdin"]),merge:(_argv,positionals)=>positionals[0]!=="report",notes:argv=>hasAnyToken(argv,["--add","--delete","--edit","--file","--stdin"]),package:isPackageMutation,packages:isPackageMutation,profile:(_argv,positionals)=>positionals[0]==="apply",schema:(argv,positionals)=>["add-field","add-status","add-type","remove-field","remove-status","remove-type","remap-status","rename-field","rename-type"].includes(positionals[0]??"")&&!(hasAnyToken(argv,["--infer"])&&!hasAnyToken(argv,["--apply"])),telemetry:(_argv,positionals)=>positionals.slice(0,2).some(token=>["clear","flush"].includes(token)),templates:(_argv,positionals)=>positionals[0]==="save",test:argv=>hasAnyToken(argv,["--update","--update-index","--add","--add-json","--background","--measure","--remove","--resume","--run","--stop"]),validate:argv=>hasAnyToken(argv,["--auto-fix","--prune-missing"]),vcs:(_argv,positionals)=>["abandon","create","merge","propose","ref-create"].includes(positionals[0]??""),workspace:(_argv,positionals)=>positionals[0]==="snapshot"&&["create","delete","restore"].includes(positionals[1]??"")};function parseDateVersion(value){const match=value.match(VERSION_PATTERN);return match?[Number(match[1]),Number(match[2]),Number(match[3]),Number(match[4]??0)]:null}function comparePmDateVersions(left,right){const leftParts=parseDateVersion(left),rightParts=parseDateVersion(right);if(!leftParts||!rightParts)return null;for(let index=0;index<leftParts.length;index+=1){const delta=leftParts[index]-rightParts[index];if(delta!==0)return Math.sign(delta)}return 0}function historyItemHashVersionForRuntime(version){return comparePmDateVersions(version,HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN)!==-1?3:2}function findIncompatibleHistoryEpochPin(pins,writerItemHashVersion){if(writerItemHashVersion===3)return pins.filter(pin=>pin.history_epoch_compatible===!1).map(pin=>({...pin,declaration:pin.declaration??pin.version})).sort((left,right)=>comparePmDateVersions(left.version,right.version))[0]}function readJsonRecord(filePath){try{const parsed=JSON.parse(fs.readFileSync(filePath,"utf8"));return typeof parsed=="object"&&parsed!==null&&!Array.isArray(parsed)?parsed:null}catch{return null}}function rangeUpperBounds(alternative){const comparators=[...alternative.matchAll(/(<=|<)\s*v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/gu)].map(match=>({inclusive:match[1]==="<=",version:match[2]})),hyphen=alternative.match(/\b\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?\s+-\s+v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/u);return hyphen?[...comparators,{inclusive:!0,version:hyphen[1]}]:comparators}function analyzeHistoryEpochRange(specification){const alternativeBounds=specification.split("||").map(alternative=>rangeUpperBounds(alternative));return{bounded:alternativeBounds.some(bounds=>bounds.length>0),compatible:alternativeBounds.some(bounds=>bounds.every(bound=>{const comparison=comparePmDateVersions(HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN,bound.version);return comparison!==null&&(bound.inclusive?comparison!==1:comparison===-1)}))}}function dependencyDeclarations(packageJson){return["dependencies","devDependencies","optionalDependencies","peerDependencies"].flatMap(field=>{const dependencies=packageJson[field];if(typeof dependencies!="object"||dependencies===null)return[];const value=dependencies[PACKAGE_NAME];return typeof value=="string"?[value.trim()]:[]})}function dependencyPins(packageJson){return dependencyDeclarations(packageJson).flatMap(specification=>{const version=/^[<!]/u.test(specification)?void 0:specification.match(VERSION_PATTERN)?.[0];if(!version)return[];const exact=/^(?:=|v)?\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?$/u.test(specification),range=analyzeHistoryEpochRange(specification);return[{version,constraint:exact?"exact":range.bounded?"range":"minimum",...exact?{}:{declaration:specification},history_epoch_compatible:exact?comparePmDateVersions(version,HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN)!==-1:range.compatible}]})}function packageLockPin(projectRoot){const packages=readJsonRecord(path.join(projectRoot,"package-lock.json"))?.packages;if(typeof packages!="object"||packages===null)return;const installed=packages["node_modules/@unbrained/pm-cli"];if(typeof installed!="object"||installed===null)return;const version=installed.version;return typeof version=="string"?version:void 0}function textLockPin(projectRoot,file){try{const lines=fs.readFileSync(path.join(projectRoot,file),"utf8").split(/\r?\n/u),packageLineIndex=lines.findIndex(line=>line.includes(PACKAGE_NAME));if(packageLineIndex<0)return;const packageIndent=lines[packageLineIndex].match(/^\s*/u)[0].length,entry=[lines[packageLineIndex]];for(let index=packageLineIndex+1;index<lines.length;index+=1){const line=lines[index],trimmed=line.trim(),indent=line.match(/^\s*/u)[0].length;if(trimmed.length>0&&indent<=packageIndent)break;entry.push(line)}return entry.join(`
2
+ `).match(/^\s*version(?::\s*|\s+)["']?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/mu)?.[1]??entry[0].match(VERSION_PATTERN)?.[0]}catch{return}}function discoverProjectRuntimeVersionPins(projectRoot){const pins=[],projectPackage=readJsonRecord(path.join(projectRoot,"package.json"));projectPackage&&pins.push(...dependencyPins(projectPackage).map(pin=>({...pin,source:"package.json"})));const installedVersion=readJsonRecord(path.join(projectRoot,"node_modules","@unbrained","pm-cli","package.json"))?.version;typeof installedVersion=="string"&&parseDateVersion(installedVersion)&&pins.push({version:installedVersion,source:"installed-package",constraint:"exact",history_epoch_compatible:historyItemHashVersionForRuntime(installedVersion)===3});const packageLockVersion=packageLockPin(projectRoot);packageLockVersion&&parseDateVersion(packageLockVersion)&&pins.push({version:packageLockVersion,source:"package-lock.json",constraint:"exact",history_epoch_compatible:historyItemHashVersionForRuntime(packageLockVersion)===3});for(const file of["pnpm-lock.yaml","yarn.lock"]){const version=textLockPin(projectRoot,file);version&&pins.push({version,source:file,constraint:"exact",history_epoch_compatible:historyItemHashVersionForRuntime(version)===3})}return pins}function assertProjectRuntimeFormatGuard(projectRoot,formatVersion){if(formatVersion<=1)return;const{minVersion,lt}=createRequire(import.meta.url)("semver"),declaration=dependencyDeclarations(readJsonRecord(path.join(projectRoot,"package.json"))??{}).find(specification=>{try{const minimum=minVersion(specification);return minimum!==null&&lt(minimum,"2026.10.10")}catch{return!1}}),incompatible=declaration===void 0?discoverProjectRuntimeVersionPins(projectRoot).find(pin=>comparePmDateVersions(pin.version,"2026.10.10")===-1):{version:declaration,source:"package.json"};if(incompatible)throw new PmCliError(`The project selects pm ${incompatible.version}, which cannot safely refuse item format ${formatVersion}.`,EXIT_CODE.CONFLICT,{code:"project_runtime_item_format_incompatible",reason:incompatible.source,required:"Upgrade project pins, installed SDKs, CI hosts and Git merge drivers before writing guarded item formats.",nextSteps:["Use a pm runtime supporting the required item format throughout the project; preserve original item and history bytes, and never re-anchor history to satisfy an older host."]})}function commandTokenFromArgv(argv){for(let index=0;index<argv.length;index+=1){const token=argv[index];if(GLOBAL_VALUE_FLAGS.has(token)){index+=1;continue}if(!token.startsWith("-"))return{command:token.toLowerCase(),index}}}function isProjectMutatingInvocation(argv){const commandToken=commandTokenFromArgv(argv);if(!commandToken||hasAnyToken(argv,["--help","-h","--dry-run"]))return!1;const{command,index:commandIndex}=commandToken,positionals=[];for(let index=commandIndex+1;index<argv.length;index+=1){const token=argv[index];if(GLOBAL_VALUE_FLAGS.has(token)){index+=1;continue}token.startsWith("-")||positionals.push(token.toLowerCase())}const mixedClassifier=MIXED_COMMAND_CLASSIFIERS[command];return mixedClassifier?mixedClassifier(argv,positionals):MUTATING_COMMANDS.has(command)}function inspectProjectRuntimeCompatibility(options){const command=commandTokenFromArgv(options.argv)?.command,mutating=isProjectMutatingInvocation(options.argv),pins=discoverProjectRuntimeVersionPins(options.projectRoot).filter(pin=>comparePmDateVersions(pin.version,options.executingVersion)!==null).sort((left,right)=>comparePmDateVersions(right.version,left.version)),newest=pins[0],stale=newest!==void 0&&comparePmDateVersions(options.executingVersion,newest.version)===-1,writerItemHashVersion=historyItemHashVersionForRuntime(options.executingVersion),incompatibleEpochPin=findIncompatibleHistoryEpochPin(pins,writerItemHashVersion),historyEpochIncompatible=mutating&&incompatibleEpochPin!==void 0,warning=stale&&!mutating?{code:"project_runtime_stale_read",executing_version:options.executingVersion,project_version:newest.version,source:newest.source,message:"This read is using an older pm runtime than the project requires.",next_steps:[`Run the command through the project's installed ${PACKAGE_NAME} ${newest.version}.`,"Install the project dependencies with its declared package manager if the local executable is missing."]}:void 0;return{compatible:!mutating||!stale&&!historyEpochIncompatible||options.allowStale===!0,executing_version:options.executingVersion,...newest?{project_version:newest.version,source:newest.source}:{},...command?{command}:{},mutating,stale,history_epoch_incompatible:historyEpochIncompatible,writer_item_hash_version:writerItemHashVersion,...incompatibleEpochPin?{incompatible_project_version:incompatibleEpochPin.declaration,incompatible_source:incompatibleEpochPin.source}:{},...warning?{warning}:{},override_applied:mutating&&(stale||historyEpochIncompatible)&&options.allowStale===!0}}function assertProjectRuntimeCompatibility(options){const result=inspectProjectRuntimeCompatibility(options);if(result.compatible)return result;throw result.history_epoch_incompatible?new PmCliError(`pm ${result.executing_version} cannot write item-hash epoch ${result.writer_item_hash_version} into a project pinned to pm ${result.incompatible_project_version}.`,EXIT_CODE.CONFLICT,{code:"project_runtime_history_epoch_incompatible",reason:result.incompatible_source,why:`The pinned runtime cannot read item_hash_version ${result.writer_item_hash_version}; allowing the write would break its health and validation gates.`,nextSteps:[`Upgrade the project's ${PACKAGE_NAME} pin to ${HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN} or newer before mutating tracker history.`,"For an intentional coordinated migration only, set PM_ALLOW_STALE_CLI=1 for this invocation and record why.","Read-only commands remain available without an override."]}):new PmCliError(`pm ${result.executing_version} cannot mutate a project pinned to newer pm ${result.project_version}.`,EXIT_CODE.CONFLICT,{code:"project_runtime_stale_mutation",reason:result.source,why:"An older runtime can write storage, history, and merge contracts it does not understand.",nextSteps:[`Run this command through the project's installed ${PACKAGE_NAME} ${result.project_version}.`,"For an intentional recovery only, set PM_ALLOW_STALE_CLI=1 for this invocation and record why.","Read-only commands remain available without an override."]})}export{HISTORY_ITEM_HASH_VERSION_3_INTRODUCED_IN,PmCliError,assertProjectRuntimeCompatibility,assertProjectRuntimeFormatGuard,comparePmDateVersions,discoverProjectRuntimeVersionPins,historyItemHashVersionForRuntime,inspectProjectRuntimeCompatibility,isProjectMutatingInvocation};
3
3
  //# sourceMappingURL=project-runtime-compatibility.js.map
@@ -13,11 +13,11 @@ export type SourceContextAccessMode = "read_only" | "write";
13
13
  /** Structured policy used by SDK adapters before selecting source coordinates. */
14
14
  export interface SourceContextWritePolicy {
15
15
  /** Declared access mode, with absent legacy context retaining write behavior. */
16
- access: SourceContextAccessMode;
16
+ access:SourceContextAccessMode;
17
17
  /** Whether the one-invocation write override was accepted. */
18
- write_override_applied: boolean;
18
+ write_override_applied:boolean;
19
19
  /** Whether a mutation may select inherited source coordinates. */
20
- source_writes_allowed: boolean;
20
+ source_writes_allowed:boolean;
21
21
  }
22
22
  /** Resolve inherited source-coordinate write policy without reading filesystem state. */
23
- export declare function resolveSourceContextWritePolicy(environment: Readonly<Record<string, string | undefined>>): SourceContextWritePolicy;
23
+ export declare function resolveSourceContextWritePolicy(environment:Readonly<Record<string,string | undefined>>):SourceContextWritePolicy;