@unbrained/pm-cli 2026.10.11 → 2026.10.13

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 (740) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +45 -0
  3. package/dist/cli/after-command-context-usage.d.ts +8 -8
  4. package/dist/cli/bundle-integrity.d.ts +23 -23
  5. package/dist/cli/commander-usage.d.ts +31 -31
  6. package/dist/cli/commander-usage.js +3 -3
  7. package/dist/cli/error-guidance.d.ts +158 -161
  8. package/dist/cli/error-guidance.js +2 -2
  9. package/dist/cli/extension-command-help.d.ts +68 -68
  10. package/dist/cli/extension-command-options.d.ts +20 -20
  11. package/dist/cli/extension-recovery.d.ts +20 -20
  12. package/dist/cli/help-content.d.ts +16 -16
  13. package/dist/cli/help-content.js +2 -2
  14. package/dist/cli/help-json-payload.d.ts +40 -40
  15. package/dist/cli/help-json-payload.js +1 -1
  16. package/dist/cli/invocation-profile.d.ts +8 -8
  17. package/dist/cli/main.d.ts +166 -165
  18. package/dist/cli/main.js +4 -4
  19. package/dist/cli/migration-gates.d.ts +20 -20
  20. package/dist/cli/register-list-query.d.ts +4 -4
  21. package/dist/cli/register-mutation-options.d.ts +2 -2
  22. package/dist/cli/register-operations.d.ts +68 -63
  23. package/dist/cli/register-operations.js +1 -1
  24. package/dist/cli/register-setup.d.ts +1 -1
  25. package/dist/cli/register-structured-mutation.d.ts +3 -3
  26. package/dist/cli/register-structured-mutation.js +1 -1
  27. package/dist/cli/runtime/activation.d.ts +3 -3
  28. package/dist/cli/runtime/invocation-options.js +1 -1
  29. package/dist/cli/runtime/selection.d.ts +6 -6
  30. package/dist/cli/runtime-compatibility-boundary.d.ts +12 -12
  31. package/dist/cli-bundle/bundle-manifest.json +1 -1
  32. package/dist/cli-bundle/chunks/{chunk-K2UTE75T.js → chunk-AM2XOZKE.js} +2 -2
  33. package/dist/cli-bundle/chunks/{chunk-S445XEYT.js → chunk-APWPC4ZZ.js} +2 -2
  34. package/dist/cli-bundle/chunks/chunk-DJDRHJBP.js +234 -0
  35. package/dist/cli-bundle/chunks/{chunk-RUT3CCAG.js → chunk-DUK5DHI6.js} +2 -2
  36. package/dist/cli-bundle/chunks/chunk-HXHFKXLV.js +2 -0
  37. package/dist/cli-bundle/chunks/chunk-IFPJDJUM.js +20 -0
  38. package/dist/cli-bundle/chunks/{chunk-OBLO45UM.js → chunk-LBDWFWPK.js} +2 -2
  39. package/dist/cli-bundle/chunks/{chunk-ZWRLAOA4.js → chunk-N5EXRYCZ.js} +2 -2
  40. package/dist/cli-bundle/chunks/chunk-PSNS537F.js +30 -0
  41. package/dist/cli-bundle/chunks/{chunk-2JYTSTQP.js → chunk-RL45OYTL.js} +2 -2
  42. package/dist/cli-bundle/chunks/{chunk-ESRACL6K.js → chunk-UBTYYZIE.js} +49 -49
  43. package/dist/cli-bundle/chunks/chunk-WYZGZV2M.js +2 -0
  44. package/dist/cli-bundle/chunks/{chunk-SSY4OSJR.js → chunk-YH6H3UVE.js} +10 -10
  45. package/dist/cli-bundle/chunks/{register-list-query-T6BOR67M.js → register-list-query-BJ742QOR.js} +2 -2
  46. package/dist/cli-bundle/chunks/{register-mutation-6NXR7SAJ.js → register-mutation-GGGBRIH2.js} +3 -3
  47. package/dist/cli-bundle/chunks/register-operations-E6HXYHNM.js +2 -0
  48. package/dist/cli-bundle/chunks/{register-setup-MAYFPKBX.js → register-setup-4ZVTVEPY.js} +2 -2
  49. package/dist/cli-bundle/focused-chunks/{chunk-EIOQNLBQ.js → chunk-3LQEBXU5.js} +12 -12
  50. package/dist/cli-bundle/focused-chunks/{chunk-PLTTMQAW.js → chunk-6BTUISKV.js} +2 -2
  51. package/dist/cli-bundle/focused-chunks/chunk-73UNAJHD.js +2 -0
  52. package/dist/cli-bundle/focused-chunks/{chunk-WAOXID5J.js → chunk-DVK7VKZL.js} +2 -2
  53. package/dist/cli-bundle/focused-chunks/{chunk-SIEGIPNT.js → chunk-F5J3ATMV.js} +16 -16
  54. package/dist/cli-bundle/focused-chunks/chunk-IIKFTJVC.js +2 -0
  55. package/dist/cli-bundle/focused-chunks/chunk-IOTNG6CN.js +2 -0
  56. package/dist/cli-bundle/focused-chunks/{chunk-AU6VJGTY.js → chunk-KGFRQ34R.js} +2 -2
  57. package/dist/cli-bundle/focused-chunks/chunk-NNW5BS5L.js +3 -0
  58. package/dist/cli-bundle/focused-chunks/{chunk-KNJR2WUO.js → chunk-QMNAY25P.js} +62 -62
  59. package/dist/cli-bundle/focused-chunks/{chunk-W5AE7GKZ.js → chunk-R23T7GFZ.js} +2 -2
  60. package/dist/cli-bundle/focused-chunks/chunk-RAA7SVRA.js +8 -0
  61. package/dist/cli-bundle/focused-chunks/{chunk-52UJEHEV.js → chunk-RU6GCFN3.js} +2 -2
  62. package/dist/cli-bundle/focused-chunks/{chunk-JGFSSR3G.js → chunk-S6ITXQ5T.js} +5 -5
  63. package/dist/cli-bundle/focused-chunks/{chunk-DMSADMEU.js → chunk-SOB7X4FJ.js} +2 -2
  64. package/dist/cli-bundle/focused-chunks/chunk-UPJA45K7.js +26 -0
  65. package/dist/cli-bundle/main.js +22 -22
  66. package/dist/cli-bundle/sdk-authoring.js +1 -1
  67. package/dist/cli-bundle/sdk-contracts.js +2 -2
  68. package/dist/cli-bundle/sdk-core.js +31 -31
  69. package/dist/cli-bundle/sdk-governance.js +1 -1
  70. package/dist/cli-bundle/sdk-graph.js +1 -1
  71. package/dist/cli-bundle/sdk-merge.js +51 -51
  72. package/dist/cli-bundle/sdk-query.js +1 -1
  73. package/dist/cli-bundle/sdk-runtime.js +1 -1
  74. package/dist/cli-bundle/sdk-testing.js +1 -1
  75. package/dist/cli-bundle/sdk.js +8 -8
  76. package/dist/cli.d.ts +4 -4
  77. package/dist/core/checkpoint/checkpoint-gc.d.ts +32 -32
  78. package/dist/core/checkpoint/mutation-checkpoint.d.ts +34 -34
  79. package/dist/core/config/nested-settings.d.ts +26 -26
  80. package/dist/core/config/positional-value.d.ts +16 -16
  81. package/dist/core/diagnostics/remediation.d.ts +6 -6
  82. package/dist/core/diagnostics/remediation.js +1 -1
  83. package/dist/core/extensions/activation-summary-markdown.d.ts +6 -6
  84. package/dist/core/extensions/activation-summary.d.ts +54 -54
  85. package/dist/core/extensions/activation-transaction.d.ts +7 -7
  86. package/dist/core/extensions/capability-usage.d.ts +26 -26
  87. package/dist/core/extensions/command-hook-context.d.ts +26 -26
  88. package/dist/core/extensions/contribution-inventory.d.ts +21 -21
  89. package/dist/core/extensions/extension-candidate.d.ts +14 -14
  90. package/dist/core/extensions/extension-capability-aliases.d.ts +2 -2
  91. package/dist/core/extensions/extension-policy.d.ts +80 -80
  92. package/dist/core/extensions/extension-types.d.ts +1294 -1285
  93. package/dist/core/extensions/extension-types.js +1 -1
  94. package/dist/core/extensions/flag-definition-validation.d.ts +4 -4
  95. package/dist/core/extensions/item-fields.d.ts +3 -2
  96. package/dist/core/extensions/item-fields.js +1 -1
  97. package/dist/core/extensions/loader.d.ts +36 -36
  98. package/dist/core/extensions/loader.js +1 -1
  99. package/dist/core/extensions/manifest-schema.d.ts +16 -16
  100. package/dist/core/extensions/module-graph-snapshot.d.ts +8 -8
  101. package/dist/core/extensions/read-output-contract.d.ts +5 -0
  102. package/dist/core/extensions/read-output-contract.js +2 -0
  103. package/dist/core/extensions/registration-values.d.ts +1 -1
  104. package/dist/core/extensions/reserved-host-flags.d.ts +6 -6
  105. package/dist/core/extensions/version-compat.d.ts +10 -10
  106. package/dist/core/fs/fs-utils.d.ts +1 -1
  107. package/dist/core/fs/host-environment-errors.d.ts +14 -14
  108. package/dist/core/governance/content-fields.d.ts +31 -31
  109. package/dist/core/governance/issue-codes.d.ts +27 -27
  110. package/dist/core/governance/metadata-coverage.d.ts +91 -91
  111. package/dist/core/history/drift-scan.d.ts +26 -26
  112. package/dist/core/history/event-classification.d.ts +1 -1
  113. package/dist/core/history/event-classification.js +1 -1
  114. package/dist/core/history/event-index.d.ts +41 -41
  115. package/dist/core/history/history-compact-bulk.d.ts +22 -22
  116. package/dist/core/history/history-diff.d.ts +22 -22
  117. package/dist/core/history/history-rewrite.d.ts +66 -66
  118. package/dist/core/history/history-storage-stats.d.ts +31 -31
  119. package/dist/core/history/history-stream-policy.d.ts +12 -12
  120. package/dist/core/history/history.d.ts +22 -22
  121. package/dist/core/history/identity.d.ts +6 -6
  122. package/dist/core/history/operation-contract.d.ts +9 -9
  123. package/dist/core/history/projection.d.ts +15 -15
  124. package/dist/core/history/read.d.ts +4 -4
  125. package/dist/core/history/replay.d.ts +51 -49
  126. package/dist/core/history/replay.js +1 -1
  127. package/dist/core/history/workspace-history.d.ts +101 -101
  128. package/dist/core/io/bulk-ids-input.d.ts +4 -4
  129. package/dist/core/item/actionability.d.ts +40 -40
  130. package/dist/core/item/id.d.ts +3 -3
  131. package/dist/core/item/item-format-version.d.ts +8 -8
  132. package/dist/core/item/item-format.d.ts +37 -35
  133. package/dist/core/item/item-format.js +2 -2
  134. package/dist/core/item/item-type-definition.d.ts +2 -2
  135. package/dist/core/item/parent-reference-policy.d.ts +1 -1
  136. package/dist/core/item/parse.d.ts +12 -12
  137. package/dist/core/item/sprint-release-format.d.ts +2 -2
  138. package/dist/core/item/status-filter.d.ts +4 -4
  139. package/dist/core/item/toon-decode.d.ts +9 -9
  140. package/dist/core/item/type-registry.d.ts +40 -40
  141. package/dist/core/lock/lock-gc.d.ts +50 -50
  142. package/dist/core/lock/lock.d.ts +37 -37
  143. package/dist/core/output/mutation-projection.d.ts +6 -6
  144. package/dist/core/output/output-control.d.ts +4 -4
  145. package/dist/core/output/output.d.ts +40 -40
  146. package/dist/core/output/query-summary.d.ts +5 -5
  147. package/dist/core/packages/manifest.d.ts +50 -50
  148. package/dist/core/policy/workflow-policy-schema.d.ts +306 -306
  149. package/dist/core/policy/workflow-policy-store.d.ts +7 -7
  150. package/dist/core/policy/workflow-policy.d.ts +81 -81
  151. package/dist/core/profile/profile-describe.d.ts +40 -40
  152. package/dist/core/profile/profile-lint.d.ts +20 -20
  153. package/dist/core/profile/profile-plan.d.ts +84 -84
  154. package/dist/core/profile/profile-presets.d.ts +52 -52
  155. package/dist/core/reproducibility/context.d.ts +6 -6
  156. package/dist/core/schema/fields-file.d.ts +54 -54
  157. package/dist/core/schema/item-types-file.d.ts +36 -36
  158. package/dist/core/schema/runtime-field-values.d.ts +2 -2
  159. package/dist/core/schema/runtime-schema.d.ts +86 -86
  160. package/dist/core/schema/status-defs-file.d.ts +36 -36
  161. package/dist/core/schema/type-inference.d.ts +14 -14
  162. package/dist/core/schema/type-workflows.d.ts +22 -22
  163. package/dist/core/search/background-refresh.d.ts +9 -9
  164. package/dist/core/search/bm25.d.ts +19 -19
  165. package/dist/core/search/cache.d.ts +35 -35
  166. package/dist/core/search/corpus.d.ts +12 -12
  167. package/dist/core/search/embedding-batches.d.ts +48 -48
  168. package/dist/core/search/eval.d.ts +49 -49
  169. package/dist/core/search/http-client.d.ts +38 -38
  170. package/dist/core/search/providers.d.ts +41 -41
  171. package/dist/core/search/relevance.d.ts +20 -20
  172. package/dist/core/search/semantic-defaults.d.ts +8 -8
  173. package/dist/core/search/staleness.d.ts +4 -4
  174. package/dist/core/search/vector-stores.d.ts +78 -78
  175. package/dist/core/search/vectorization-metadata.d.ts +6 -6
  176. package/dist/core/sentry/helpers.d.ts +15 -15
  177. package/dist/core/sentry/instrument.d.ts +40 -40
  178. package/dist/core/session/session-state.d.ts +32 -32
  179. package/dist/core/shared/agent-session-context.d.ts +14 -14
  180. package/dist/core/shared/author.d.ts +128 -128
  181. package/dist/core/shared/command-types.d.ts +40 -40
  182. package/dist/core/shared/conflict-markers.d.ts +6 -6
  183. package/dist/core/shared/constants.d.ts +13 -13
  184. package/dist/core/shared/errors.d.ts +194 -183
  185. package/dist/core/shared/errors.js +1 -1
  186. package/dist/core/shared/secret-rules.d.ts +97 -97
  187. package/dist/core/shared/serial-queue.d.ts +8 -8
  188. package/dist/core/shared/split-comma-list.d.ts +6 -6
  189. package/dist/core/shared/time.d.ts +23 -23
  190. package/dist/core/store/item-format-migration.d.ts +10 -10
  191. package/dist/core/store/item-metadata-cache.d.ts +38 -38
  192. package/dist/core/store/item-metadata-query-index.d.ts +79 -79
  193. package/dist/core/store/item-metadata-read-work.d.ts +6 -6
  194. package/dist/core/store/item-store.d.ts +110 -110
  195. package/dist/core/store/paths.d.ts +2 -2
  196. package/dist/core/store/settings-read-cache.d.ts +12 -12
  197. package/dist/core/store/settings-validator.d.ts +165 -165
  198. package/dist/core/store/settings.d.ts +59 -59
  199. package/dist/core/telemetry/observability.d.ts +17 -17
  200. package/dist/core/telemetry/policy.d.ts +3 -3
  201. package/dist/core/telemetry/runtime.d.ts +242 -242
  202. package/dist/core/telemetry/runtime.js +2 -2
  203. package/dist/core/test/background-runs.d.ts +186 -185
  204. package/dist/core/test/background-runs.js +2 -2
  205. package/dist/core/test/item-test-run-tracking.d.ts +6 -6
  206. package/dist/core/test/run-selectors.d.ts +18 -18
  207. package/dist/core/validate/fix-planning.d.ts +50 -50
  208. package/dist/core/validate/missing-by-type.d.ts +4 -4
  209. package/dist/core/validate/missing-link-owners.d.ts +30 -30
  210. package/dist/core/validate/stale-file-classification.d.ts +8 -8
  211. package/dist/mcp/http-server.d.ts +28 -28
  212. package/dist/mcp/legacy-adapter.d.ts +33 -33
  213. package/dist/mcp/runtime-capabilities.d.ts +16 -16
  214. package/dist/mcp/server.d.ts +50 -50
  215. package/dist/mcp/tool-definitions.d.ts +36 -36
  216. package/dist/sdk/agent/closed-domain-contracts.d.ts +18 -18
  217. package/dist/sdk/agent/command-recovery.d.ts +4 -0
  218. package/dist/sdk/agent/command-recovery.js +1 -1
  219. package/dist/sdk/agent/command-suggestions.d.ts +2 -0
  220. package/dist/sdk/agent/command-suggestions.js +1 -1
  221. package/dist/sdk/agent/identity-config.d.ts +32 -32
  222. package/dist/sdk/agent/item-addressing.d.ts +8 -8
  223. package/dist/sdk/agent/refusal-closure-census.d.ts +34 -34
  224. package/dist/sdk/agent/refusal-closure.d.ts +42 -42
  225. package/dist/sdk/agent/refusal-corpus-contracts.d.ts +46 -46
  226. package/dist/sdk/agent/refusal-reachability.d.ts +112 -112
  227. package/dist/sdk/agent/subcommand-recovery.d.ts +25 -25
  228. package/dist/sdk/agent/task-transcript-contracts.d.ts +30 -30
  229. package/dist/sdk/agent/tracker-preflight-contracts.d.ts +38 -38
  230. package/dist/sdk/agent-capability-contracts.d.ts +37 -37
  231. package/dist/sdk/annotations.d.ts +106 -106
  232. package/dist/sdk/author-attribution.d.ts +76 -76
  233. package/dist/sdk/authoring.d.ts +1 -1
  234. package/dist/sdk/authoring.js +1 -1
  235. package/dist/sdk/cli-bootstrap.d.ts +70 -70
  236. package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +63 -63
  237. package/dist/sdk/cli-contracts/command-aliases.d.ts +14 -14
  238. package/dist/sdk/cli-contracts/command-exit-contracts.d.ts +70 -70
  239. package/dist/sdk/cli-contracts/commander-types.d.ts +17 -17
  240. package/dist/sdk/cli-contracts/completeness.d.ts +26 -26
  241. package/dist/sdk/cli-contracts/enum-contracts.d.ts +5 -5
  242. package/dist/sdk/cli-contracts/flag-contracts.d.ts +32 -32
  243. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  244. package/dist/sdk/cli-contracts/flag-lexicon-contracts.d.ts +42 -42
  245. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
  246. package/dist/sdk/cli-contracts/grammar-contracts.d.ts +84 -84
  247. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
  248. package/dist/sdk/cli-contracts/registration-helpers.d.ts +37 -40
  249. package/dist/sdk/cli-contracts/registration-helpers.js +1 -1
  250. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +290 -294
  251. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  252. package/dist/sdk/cli-contracts/schemas/assurance-definition.d.ts +793 -793
  253. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +391 -391
  254. package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +6 -6
  255. package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
  256. package/dist/sdk/cli-contracts/tool-schema.d.ts +55 -55
  257. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  258. package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +24 -24
  259. package/dist/sdk/comments.d.ts +44 -44
  260. package/dist/sdk/compile-cache.d.ts +4 -4
  261. package/dist/sdk/completion/shared.d.ts +22 -22
  262. package/dist/sdk/compose.d.ts +156 -156
  263. package/dist/sdk/config.d.ts +123 -123
  264. package/dist/sdk/context/semantic-session-attribution.d.ts +14 -14
  265. package/dist/sdk/context/usage-ledger.d.ts +20 -20
  266. package/dist/sdk/context-intent-contracts.d.ts +50 -50
  267. package/dist/sdk/context-intent-contracts.js +1 -1
  268. package/dist/sdk/context-intent-runtime.d.ts +8 -8
  269. package/dist/sdk/context-packing.d.ts +78 -78
  270. package/dist/sdk/context-relevance.d.ts +189 -180
  271. package/dist/sdk/context-relevance.js +1 -1
  272. package/dist/sdk/context-signal-store.d.ts +84 -84
  273. package/dist/sdk/context-usage.d.ts +92 -92
  274. package/dist/sdk/core.d.ts +1 -0
  275. package/dist/sdk/core.js +1 -1
  276. package/dist/sdk/corpus-shape.d.ts +101 -101
  277. package/dist/sdk/define.d.ts +2 -2
  278. package/dist/sdk/dependencies.d.ts +116 -116
  279. package/dist/sdk/dependency-flag-validation.d.ts +14 -12
  280. package/dist/sdk/dependency-flag-validation.js +1 -1
  281. package/dist/sdk/dependency-provenance.d.ts +30 -30
  282. package/dist/sdk/docs.d.ts +32 -32
  283. package/dist/sdk/duplicates.d.ts +21 -21
  284. package/dist/sdk/environment/agent-environment.d.ts +196 -196
  285. package/dist/sdk/environment/project-runtime-compatibility.d.ts +56 -56
  286. package/dist/sdk/environment/source-context.d.ts +6 -6
  287. package/dist/sdk/error-code-catalog.d.ts +40 -40
  288. package/dist/sdk/errors.d.ts +29 -29
  289. package/dist/sdk/eval.d.ts +45 -45
  290. package/dist/sdk/extension/author-manifest.d.ts +14 -14
  291. package/dist/sdk/extension/bundled-catalog.d.ts +7 -7
  292. package/dist/sdk/extension/describe.d.ts +36 -36
  293. package/dist/sdk/extension/doctor.d.ts +29 -29
  294. package/dist/sdk/extension/install-plan.d.ts +55 -55
  295. package/dist/sdk/extension/install-receipts.d.ts +2 -2
  296. package/dist/sdk/extension/install-runtime.d.ts +8 -8
  297. package/dist/sdk/extension/install-snapshot.d.ts +14 -14
  298. package/dist/sdk/extension/install-sources.d.ts +96 -96
  299. package/dist/sdk/extension/managed-state.d.ts +66 -66
  300. package/dist/sdk/extension/migrations.d.ts +82 -82
  301. package/dist/sdk/extension/output-ownership.d.ts +24 -24
  302. package/dist/sdk/extension/runtime-summary.d.ts +5 -5
  303. package/dist/sdk/extension/scaffold.d.ts +12 -12
  304. package/dist/sdk/extension/shared.d.ts +15 -15
  305. package/dist/sdk/extension/source-resolution.d.ts +30 -30
  306. package/dist/sdk/extension/static-inventory.d.ts +42 -42
  307. package/dist/sdk/extension/update-check.d.ts +10 -10
  308. package/dist/sdk/extension.d.ts +320 -320
  309. package/dist/sdk/files.d.ts +157 -157
  310. package/dist/sdk/flag-invocation-contracts.d.ts +44 -44
  311. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  312. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  313. package/dist/sdk/governance/artifact-ledgers.d.ts +35 -35
  314. package/dist/sdk/governance/artifact-ledgers.js +1 -1
  315. package/dist/sdk/governance/assurance-action.d.ts +68 -68
  316. package/dist/sdk/governance/assurance-action.js +1 -1
  317. package/dist/sdk/governance/assurance-mutation-error.d.ts +36 -36
  318. package/dist/sdk/governance/assurance-presets.d.ts +24 -24
  319. package/dist/sdk/governance/assurance-runtime.d.ts +14 -14
  320. package/dist/sdk/governance/assurance.d.ts +353 -353
  321. package/dist/sdk/governance/boundary-fixtures.d.ts +60 -60
  322. package/dist/sdk/governance/closure-timestamps.d.ts +9 -9
  323. package/dist/sdk/governance/coverage-assurance.d.ts +10 -10
  324. package/dist/sdk/governance/defect-recurrence-coverage.d.ts +75 -75
  325. package/dist/sdk/governance/defect-recurrence-graph.d.ts +18 -18
  326. package/dist/sdk/governance/defect-recurrence.d.ts +186 -181
  327. package/dist/sdk/governance/defect-recurrence.js +1 -1
  328. package/dist/sdk/governance/extension-host-version.d.ts +16 -16
  329. package/dist/sdk/governance/gc.d.ts +48 -48
  330. package/dist/sdk/governance/health-merge-evidence.d.ts +5 -5
  331. package/dist/sdk/governance/health.d.ts +188 -188
  332. package/dist/sdk/governance/hierarchy-validation.d.ts +13 -13
  333. package/dist/sdk/governance/linked-file-report.d.ts +26 -26
  334. package/dist/sdk/governance/merge-receipt-history.d.ts +36 -36
  335. package/dist/sdk/governance/provenance-health.d.ts +64 -64
  336. package/dist/sdk/governance/reindex.d.ts +89 -89
  337. package/dist/sdk/governance/reliability.d.ts +56 -56
  338. package/dist/sdk/governance/stale-work.d.ts +22 -22
  339. package/dist/sdk/governance/status-role-diagnostics.d.ts +12 -12
  340. package/dist/sdk/governance/storage-integrity.d.ts +54 -54
  341. package/dist/sdk/governance/tracked-runtime-cache.d.ts +10 -10
  342. package/dist/sdk/governance/upgrade.d.ts +104 -104
  343. package/dist/sdk/governance/validate-history-drift.d.ts +2 -2
  344. package/dist/sdk/governance/validate-item-reader.d.ts +6 -6
  345. package/dist/sdk/governance/validate.d.ts +191 -191
  346. package/dist/sdk/governance/workflow-completeness.d.ts +15 -15
  347. package/dist/sdk/governance/workflow-policy.d.ts +28 -28
  348. package/dist/sdk/governance/workspace-position.d.ts +46 -46
  349. package/dist/sdk/graph/adapter.d.ts +66 -66
  350. package/dist/sdk/graph/analytics.d.ts +54 -54
  351. package/dist/sdk/graph/assembly.d.ts +80 -80
  352. package/dist/sdk/graph/cache.d.ts +29 -29
  353. package/dist/sdk/graph/cardinality-integrity.d.ts +13 -0
  354. package/dist/sdk/graph/cardinality-integrity.js +2 -0
  355. package/dist/sdk/graph/centrality.d.ts +34 -34
  356. package/dist/sdk/graph/conformance.d.ts +33 -33
  357. package/dist/sdk/graph/deadline-scheduling.d.ts +58 -58
  358. package/dist/sdk/graph/durable-cache.d.ts +26 -26
  359. package/dist/sdk/graph/governance.d.ts +165 -165
  360. package/dist/sdk/graph/hierarchy-integrity.d.ts +52 -52
  361. package/dist/sdk/graph/index.d.ts +1 -0
  362. package/dist/sdk/graph/index.js +1 -1
  363. package/dist/sdk/graph/lifecycle-coverage.d.ts +17 -17
  364. package/dist/sdk/graph/mutation-advisory.d.ts +11 -11
  365. package/dist/sdk/graph/query-contracts.d.ts +10 -10
  366. package/dist/sdk/graph/remediation.d.ts +25 -25
  367. package/dist/sdk/graph/run.d.ts +392 -392
  368. package/dist/sdk/graph/scheduling.d.ts +38 -38
  369. package/dist/sdk/graph/traversal.d.ts +14 -14
  370. package/dist/sdk/guide-topics.d.ts +32 -32
  371. package/dist/sdk/guide.d.ts +62 -62
  372. package/dist/sdk/history/attestation-command.d.ts +12 -12
  373. package/dist/sdk/history/attestation-contract.d.ts +78 -78
  374. package/dist/sdk/history/attestation-scan.d.ts +6 -6
  375. package/dist/sdk/history/maintenance.d.ts +46 -46
  376. package/dist/sdk/history/salvage.d.ts +18 -18
  377. package/dist/sdk/history/subject.d.ts +9 -9
  378. package/dist/sdk/history-analytics.d.ts +84 -84
  379. package/dist/sdk/history-compact.d.ts +103 -103
  380. package/dist/sdk/history-mcp.d.ts +8 -8
  381. package/dist/sdk/history-provenance.d.ts +59 -59
  382. package/dist/sdk/history-read.d.ts +36 -36
  383. package/dist/sdk/history-redact.d.ts +78 -78
  384. package/dist/sdk/history-repair.d.ts +158 -158
  385. package/dist/sdk/history-repair.js +1 -1
  386. package/dist/sdk/improvement-ledger.d.ts +102 -102
  387. package/dist/sdk/index.d.ts +2 -0
  388. package/dist/sdk/index.js +1 -1
  389. package/dist/sdk/init-agent-guidance.d.ts +70 -70
  390. package/dist/sdk/init.d.ts +152 -152
  391. package/dist/sdk/item-children.d.ts +28 -28
  392. package/dist/sdk/item-schedule.d.ts +12 -12
  393. package/dist/sdk/item-transaction.d.ts +100 -100
  394. package/dist/sdk/learnings.d.ts +42 -42
  395. package/dist/sdk/lifecycle/append.d.ts +14 -14
  396. package/dist/sdk/lifecycle/claim.d.ts +60 -60
  397. package/dist/sdk/lifecycle/close-many.d.ts +94 -94
  398. package/dist/sdk/lifecycle/close.d.ts +27 -27
  399. package/dist/sdk/lifecycle/copy.d.ts +18 -18
  400. package/dist/sdk/lifecycle/core-field-recovery.d.ts +7 -0
  401. package/dist/sdk/lifecycle/core-field-recovery.js +2 -0
  402. package/dist/sdk/lifecycle/create.d.ts +82 -82
  403. package/dist/sdk/lifecycle/create.js +1 -1
  404. package/dist/sdk/lifecycle/delete.d.ts +28 -28
  405. package/dist/sdk/lifecycle/focus.d.ts +10 -10
  406. package/dist/sdk/lifecycle/hierarchy-mutation-lock.d.ts +10 -10
  407. package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +1 -1
  408. package/dist/sdk/lifecycle/legacy-none-tokens.d.ts +54 -54
  409. package/dist/sdk/lifecycle/lifecycle-transitions.d.ts +4 -4
  410. package/dist/sdk/lifecycle/mcp-actions.d.ts +10 -10
  411. package/dist/sdk/lifecycle/mutation-command-options.d.ts +116 -116
  412. package/dist/sdk/lifecycle/mutation-facet-contracts.d.ts +6 -0
  413. package/dist/sdk/lifecycle/mutation-facet-contracts.js +2 -0
  414. package/dist/sdk/lifecycle/plan-mutation-receipt.d.ts +42 -42
  415. package/dist/sdk/lifecycle/plan.d.ts +217 -217
  416. package/dist/sdk/lifecycle/reopen.d.ts +29 -24
  417. package/dist/sdk/lifecycle/reopen.js +1 -1
  418. package/dist/sdk/lifecycle/repeatable-metadata-parsers.d.ts +3 -3
  419. package/dist/sdk/lifecycle/restore.d.ts +33 -33
  420. package/dist/sdk/lifecycle/shared-unset-fields.d.ts +19 -19
  421. package/dist/sdk/lifecycle/task-composition.d.ts +4 -4
  422. package/dist/sdk/lifecycle/update-many.d.ts +79 -79
  423. package/dist/sdk/lifecycle/update.d.ts +131 -132
  424. package/dist/sdk/lifecycle/update.js +2 -2
  425. package/dist/sdk/lifecycle-completion.d.ts +22 -22
  426. package/dist/sdk/lifecycle-policy.d.ts +52 -52
  427. package/dist/sdk/linked-artifacts.d.ts +69 -69
  428. package/dist/sdk/mcp/apps.d.ts +32 -32
  429. package/dist/sdk/mcp/authorization.d.ts +76 -76
  430. package/dist/sdk/mcp/discovery.d.ts +111 -111
  431. package/dist/sdk/mcp/interactions.d.ts +61 -61
  432. package/dist/sdk/mcp/protocol.d.ts +78 -78
  433. package/dist/sdk/mcp/skills.d.ts +88 -88
  434. package/dist/sdk/mcp/subscriptions.d.ts +39 -39
  435. package/dist/sdk/mcp/tasks.d.ts +75 -75
  436. package/dist/sdk/mcp/transport.d.ts +11 -11
  437. package/dist/sdk/merge/abandoned-receipts.d.ts +6 -6
  438. package/dist/sdk/merge/driver.d.ts +60 -60
  439. package/dist/sdk/merge/install.d.ts +64 -64
  440. package/dist/sdk/merge/receipt-file-boundary.d.ts +5 -5
  441. package/dist/sdk/merge/receipt-operation.d.ts +6 -6
  442. package/dist/sdk/merge/receipt-schema.d.ts +2 -2
  443. package/dist/sdk/merge/receipts.d.ts +156 -156
  444. package/dist/sdk/merge/reconcile.d.ts +36 -36
  445. package/dist/sdk/merge/reconcile.js +1 -1
  446. package/dist/sdk/merge/three-way.d.ts +77 -76
  447. package/dist/sdk/merge/three-way.js +1 -1
  448. package/dist/sdk/mutation-events.d.ts +84 -84
  449. package/dist/sdk/mutation-guard.d.ts +106 -106
  450. package/dist/sdk/notes.d.ts +52 -52
  451. package/dist/sdk/output/table-rows.d.ts +8 -8
  452. package/dist/sdk/output-contracts.d.ts +38 -38
  453. package/dist/sdk/output-projection.d.ts +142 -142
  454. package/dist/sdk/output-token-accounting.d.ts +27 -27
  455. package/dist/sdk/output.d.ts +28 -28
  456. package/dist/sdk/package-import-adapters.d.ts +54 -54
  457. package/dist/sdk/pagination.d.ts +29 -29
  458. package/dist/sdk/profile.d.ts +123 -123
  459. package/dist/sdk/provenance.d.ts +58 -58
  460. package/dist/sdk/public-surface.json +1 -1
  461. package/dist/sdk/query/activity.d.ts +118 -118
  462. package/dist/sdk/query/aggregate.d.ts +140 -140
  463. package/dist/sdk/query/calendar.d.ts +144 -144
  464. package/dist/sdk/query/complete-list.d.ts +53 -53
  465. package/dist/sdk/query/context.d.ts +395 -395
  466. package/dist/sdk/query/duplicate-candidates.d.ts +1 -1
  467. package/dist/sdk/query/get.d.ts +77 -77
  468. package/dist/sdk/query/history.d.ts +72 -72
  469. package/dist/sdk/query/item-filter-options.d.ts +79 -79
  470. package/dist/sdk/query/list-filter-shared.d.ts +1 -1
  471. package/dist/sdk/query/list.d.ts +188 -188
  472. package/dist/sdk/query/multi-value-filters.d.ts +4 -4
  473. package/dist/sdk/query/next-ready-budget.d.ts +14 -14
  474. package/dist/sdk/query/next.d.ts +137 -137
  475. package/dist/sdk/query/projection-contracts.d.ts +8 -8
  476. package/dist/sdk/query/search/corpus.d.ts +8 -8
  477. package/dist/sdk/query/search/filters.d.ts +5 -5
  478. package/dist/sdk/query/search/input.d.ts +4 -4
  479. package/dist/sdk/query/search/response.d.ts +8 -8
  480. package/dist/sdk/query/search/semantic.d.ts +106 -106
  481. package/dist/sdk/query/search/types.d.ts +85 -85
  482. package/dist/sdk/query/search-contracts.d.ts +65 -65
  483. package/dist/sdk/query/search-pagination.d.ts +19 -19
  484. package/dist/sdk/query/search-rendering.d.ts +25 -25
  485. package/dist/sdk/query/search.d.ts +46 -46
  486. package/dist/sdk/read-output/continuation.d.ts +8 -8
  487. package/dist/sdk/read-output/continuation.js +1 -1
  488. package/dist/sdk/read-output/extension.d.ts +7 -0
  489. package/dist/sdk/read-output/extension.js +2 -0
  490. package/dist/sdk/read-output/options.d.ts +6 -4
  491. package/dist/sdk/read-output/options.js +1 -1
  492. package/dist/sdk/read-output/provenance.d.ts +8 -8
  493. package/dist/sdk/read-output-budget.d.ts +10 -10
  494. package/dist/sdk/read-output-contracts.d.ts +192 -186
  495. package/dist/sdk/read-output-contracts.js +1 -1
  496. package/dist/sdk/read-output-rows.d.ts +6 -6
  497. package/dist/sdk/read-output-session.d.ts +50 -50
  498. package/dist/sdk/relationship-analytics.d.ts +78 -78
  499. package/dist/sdk/relationship-context.d.ts +81 -81
  500. package/dist/sdk/relationship-history.d.ts +109 -109
  501. package/dist/sdk/relationship-kinds/contract.d.ts +34 -34
  502. package/dist/sdk/relationship-migration.d.ts +26 -26
  503. package/dist/sdk/relationships.d.ts +78 -78
  504. package/dist/sdk/reproducibility/process.d.ts +3 -3
  505. package/dist/sdk/runtime/context.d.ts +11 -11
  506. package/dist/sdk/runtime-action-aliases.d.ts +2 -2
  507. package/dist/sdk/runtime-extended-actions.d.ts +8 -8
  508. package/dist/sdk/runtime-input.d.ts +3 -3
  509. package/dist/sdk/runtime-public-contracts.d.ts +78 -78
  510. package/dist/sdk/runtime.d.ts +305 -305
  511. package/dist/sdk/runtime.js +1 -1
  512. package/dist/sdk/scheduling-shortcuts.d.ts +32 -32
  513. package/dist/sdk/schema-migration.d.ts +86 -86
  514. package/dist/sdk/schema.d.ts +355 -355
  515. package/dist/sdk/similarity-scoring.d.ts +10 -10
  516. package/dist/sdk/similarity.d.ts +113 -113
  517. package/dist/sdk/stats.d.ts +108 -108
  518. package/dist/sdk/structured-mutations.d.ts +16 -16
  519. package/dist/sdk/structured-mutations.js +1 -1
  520. package/dist/sdk/telemetry.d.ts +53 -53
  521. package/dist/sdk/templates.d.ts +39 -39
  522. package/dist/sdk/test/batch.d.ts +85 -85
  523. package/dist/sdk/test/batch.js +1 -1
  524. package/dist/sdk/test/command-args.d.ts +4 -0
  525. package/dist/sdk/test/command-args.js +2 -0
  526. package/dist/sdk/test/entry.d.ts +3 -0
  527. package/dist/sdk/test/entry.js +1 -1
  528. package/dist/sdk/test/execution-receipts.d.ts +3 -3
  529. package/dist/sdk/test/execution.d.ts +279 -268
  530. package/dist/sdk/test/execution.js +2 -2
  531. package/dist/sdk/test/json-path.d.ts +2 -2
  532. package/dist/sdk/test/linked-command-detection.d.ts +10 -10
  533. package/dist/sdk/test/measurements.d.ts +11 -11
  534. package/dist/sdk/test/parsers.d.ts +1 -1
  535. package/dist/sdk/test/parsers.js +1 -1
  536. package/dist/sdk/test/prerequisites.d.ts +6 -0
  537. package/dist/sdk/test/prerequisites.js +2 -0
  538. package/dist/sdk/test/runs.d.ts +52 -52
  539. package/dist/sdk/test/trust.d.ts +12 -12
  540. package/dist/sdk/test/trust.js +1 -1
  541. package/dist/sdk/test/update.d.ts +55 -0
  542. package/dist/sdk/test/update.js +2 -0
  543. package/dist/sdk/testing.d.ts +319 -319
  544. package/dist/sdk/traceability/source-traceability.d.ts +65 -65
  545. package/dist/sdk/workspace-contracts.d.ts +37 -37
  546. package/dist/sdk/workspace-memory.d.ts +60 -60
  547. package/dist/sdk/workspace-recipe.d.ts +9 -9
  548. package/dist/sdk/workspace-snapshot.d.ts +97 -97
  549. package/dist/sdk/workspace-transaction-gc.d.ts +32 -32
  550. package/dist/sdk/workspace-transaction.d.ts +47 -47
  551. package/dist/sdk/workspace.d.ts +6 -6
  552. package/dist/types.d.ts +978 -974
  553. package/dist/types.js +1 -1
  554. package/docs/BUILD_AND_RELEASE_ACCEPTANCE.md +5 -2
  555. package/docs/DEFECT_RECURRENCE.md +12 -0
  556. package/docs/EXTENSIONS.md +2 -2
  557. package/docs/LINKED_TEST_EDITS.md +79 -0
  558. package/docs/MERGE_SAFETY.md +27 -1
  559. package/docs/RECURRENCE_RECOVERY_CONTRACTS.md +17 -4
  560. package/docs/RELATIONSHIP_GRAPH.md +26 -0
  561. package/docs/RELEASING.md +25 -8
  562. package/docs/SDK.md +204 -637
  563. package/docs/SDK_CONSUMER_RECEIPTS.md +67 -0
  564. package/docs/SDK_EVIDENCE_TRACEABILITY.md +4 -0
  565. package/docs/TESTING.md +13 -0
  566. package/docs/generated/FLAG_LEXICON_BUDGETS.md +2 -2
  567. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +11 -3
  568. package/docs/performance/runner-qualification.md +36 -0
  569. package/marketplace.json +1 -1
  570. package/node_modules/@opentelemetry/core/build/esm/version.d.ts +1 -1
  571. package/node_modules/@opentelemetry/core/build/esm/version.js +1 -1
  572. package/node_modules/@opentelemetry/core/build/esnext/version.d.ts +1 -1
  573. package/node_modules/@opentelemetry/core/build/esnext/version.js +1 -1
  574. package/node_modules/@opentelemetry/core/build/src/version.d.ts +1 -1
  575. package/node_modules/@opentelemetry/core/build/src/version.js +1 -1
  576. package/node_modules/@opentelemetry/core/package.json +2 -2
  577. package/node_modules/@opentelemetry/resources/build/esm/version.d.ts +1 -1
  578. package/node_modules/@opentelemetry/resources/build/esm/version.js +1 -1
  579. package/node_modules/@opentelemetry/resources/build/esnext/version.d.ts +1 -1
  580. package/node_modules/@opentelemetry/resources/build/esnext/version.js +1 -1
  581. package/node_modules/@opentelemetry/resources/build/src/version.d.ts +1 -1
  582. package/node_modules/@opentelemetry/resources/build/src/version.js +1 -1
  583. package/node_modules/@opentelemetry/resources/package.json +3 -3
  584. package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.d.ts +57 -0
  585. package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.js +105 -0
  586. package/node_modules/@opentelemetry/sdk-trace/build/esm/index.d.ts +1 -0
  587. package/node_modules/@opentelemetry/sdk-trace/build/esm/index.js +1 -0
  588. package/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +1 -1
  589. package/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +1 -1
  590. package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.d.ts +57 -0
  591. package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.js +105 -0
  592. package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.d.ts +1 -0
  593. package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js +1 -0
  594. package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +1 -1
  595. package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +1 -1
  596. package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.d.ts +57 -0
  597. package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.js +109 -0
  598. package/node_modules/@opentelemetry/sdk-trace/build/src/index.d.ts +1 -0
  599. package/node_modules/@opentelemetry/sdk-trace/build/src/index.js +3 -1
  600. package/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +1 -1
  601. package/node_modules/@opentelemetry/sdk-trace/build/src/version.js +1 -1
  602. package/node_modules/@opentelemetry/sdk-trace/package.json +5 -5
  603. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.d.ts +1 -1
  604. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js +1 -1
  605. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.d.ts +1 -1
  606. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js +1 -1
  607. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.d.ts +1 -1
  608. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js +1 -1
  609. package/node_modules/@opentelemetry/sdk-trace-base/package.json +7 -7
  610. package/node_modules/@sentry/core/build/cjs/browser.js +3 -0
  611. package/node_modules/@sentry/core/build/cjs/fetch.js +10 -9
  612. package/node_modules/@sentry/core/build/cjs/index.js +3 -0
  613. package/node_modules/@sentry/core/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
  614. package/node_modules/@sentry/core/build/cjs/integrations/http/get-outgoing-span-data.js +3 -2
  615. package/node_modules/@sentry/core/build/cjs/integrations/http/server-subscription.js +7 -3
  616. package/node_modules/@sentry/core/build/cjs/integrations/requestdata.js +23 -9
  617. package/node_modules/@sentry/core/build/cjs/server.js +3 -0
  618. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterCollectedUrl.js +24 -0
  619. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterKeyValueData.js +17 -23
  620. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterQueryParams.js +8 -15
  621. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterUrlQuery.js +20 -0
  622. package/node_modules/@sentry/core/build/cjs/utils/url.js +4 -3
  623. package/node_modules/@sentry/core/build/cjs/utils/version.js +1 -1
  624. package/node_modules/@sentry/core/build/esm/browser.js +1 -0
  625. package/node_modules/@sentry/core/build/esm/fetch.js +10 -9
  626. package/node_modules/@sentry/core/build/esm/index.js +1 -0
  627. package/node_modules/@sentry/core/build/esm/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
  628. package/node_modules/@sentry/core/build/esm/integrations/http/get-outgoing-span-data.js +3 -2
  629. package/node_modules/@sentry/core/build/esm/integrations/http/server-subscription.js +7 -3
  630. package/node_modules/@sentry/core/build/esm/integrations/requestdata.js +23 -9
  631. package/node_modules/@sentry/core/build/esm/package.json +1 -1
  632. package/node_modules/@sentry/core/build/esm/server.js +1 -0
  633. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterCollectedUrl.js +21 -0
  634. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterKeyValueData.js +18 -25
  635. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterQueryParams.js +9 -16
  636. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterUrlQuery.js +18 -0
  637. package/node_modules/@sentry/core/build/esm/utils/url.js +4 -3
  638. package/node_modules/@sentry/core/build/esm/utils/version.js +1 -1
  639. package/node_modules/@sentry/core/build/types/shared-exports.d.ts +1 -0
  640. package/node_modules/@sentry/core/build/types/utils/data-collection/filterCollectedUrl.d.ts +21 -0
  641. package/node_modules/@sentry/core/build/types/utils/data-collection/filterKeyValueData.d.ts +1 -0
  642. package/node_modules/@sentry/core/build/types/utils/data-collection/filterQueryParams.d.ts +2 -3
  643. package/node_modules/@sentry/core/build/types/utils/data-collection/filterUrlQuery.d.ts +13 -0
  644. package/node_modules/@sentry/core/build/types/utils/url.d.ts +4 -1
  645. package/node_modules/@sentry/core/build/types-ts3.8/shared-exports.d.ts +1 -0
  646. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterCollectedUrl.d.ts +21 -0
  647. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterKeyValueData.d.ts +1 -0
  648. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterQueryParams.d.ts +2 -3
  649. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterUrlQuery.d.ts +13 -0
  650. package/node_modules/@sentry/core/build/types-ts3.8/utils/url.d.ts +4 -1
  651. package/node_modules/@sentry/core/package.json +3 -2
  652. package/node_modules/@sentry/node/build/cjs/integrations/tracing/vercelai/instrumentation.js +3 -0
  653. package/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/instrumentation.js +3 -0
  654. package/node_modules/@sentry/node/build/esm/package.json +1 -1
  655. package/node_modules/@sentry/node/package.json +7 -6
  656. package/node_modules/@sentry/node-core/build/cjs/integrations/anr/index.js +1 -1
  657. package/node_modules/@sentry/node-core/build/cjs/integrations/http/httpServerSpansIntegration.js +6 -3
  658. package/node_modules/@sentry/node-core/build/cjs/integrations/local-variables/local-variables-async.js +1 -1
  659. package/node_modules/@sentry/node-core/build/cjs/integrations/node-fetch/undici-instrumentation.js +2 -2
  660. package/node_modules/@sentry/node-core/build/cjs/light/client.js +7 -0
  661. package/node_modules/@sentry/node-core/build/cjs/sdk/client.js +7 -0
  662. package/node_modules/@sentry/node-core/build/cjs/utils/outgoingFetchRequest.js +1 -1
  663. package/node_modules/@sentry/node-core/build/esm/integrations/anr/index.js +1 -1
  664. package/node_modules/@sentry/node-core/build/esm/integrations/anr/worker-script.js +2 -2
  665. package/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerSpansIntegration.js +7 -4
  666. package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-async.js +1 -1
  667. package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/worker-script.js +1 -1
  668. package/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/undici-instrumentation.js +3 -3
  669. package/node_modules/@sentry/node-core/build/esm/light/client.js +8 -1
  670. package/node_modules/@sentry/node-core/build/esm/package.json +1 -1
  671. package/node_modules/@sentry/node-core/build/esm/sdk/client.js +8 -1
  672. package/node_modules/@sentry/node-core/build/esm/utils/outgoingFetchRequest.js +2 -2
  673. package/node_modules/@sentry/node-core/build/types/light/client.d.ts +1 -0
  674. package/node_modules/@sentry/node-core/build/types/sdk/client.d.ts +1 -0
  675. package/node_modules/@sentry/node-core/build/types-ts3.8/light/client.d.ts +1 -0
  676. package/node_modules/@sentry/node-core/build/types-ts3.8/sdk/client.d.ts +1 -0
  677. package/node_modules/@sentry/node-core/package.json +5 -4
  678. package/node_modules/@sentry/opentelemetry/build/cjs/{asyncContextStrategy-BJ5buq_A.js → asyncContextStrategy-BR-l9zjD.js} +8 -6
  679. package/node_modules/@sentry/opentelemetry/build/cjs/index.browser.js +1 -1
  680. package/node_modules/@sentry/opentelemetry/build/cjs/index.js +1 -1
  681. package/node_modules/@sentry/opentelemetry/build/esm/{asyncContextStrategy-Bx5F5tCX.js → asyncContextStrategy-BQfM_LMv.js} +9 -7
  682. package/node_modules/@sentry/opentelemetry/build/esm/index.browser.js +1 -1
  683. package/node_modules/@sentry/opentelemetry/build/esm/index.js +2 -2
  684. package/node_modules/@sentry/opentelemetry/build/esm/package.json +1 -1
  685. package/node_modules/@sentry/opentelemetry/package.json +4 -3
  686. package/node_modules/@sentry/server-utils/build/cjs/tracing-channel.js +1 -0
  687. package/node_modules/@sentry/server-utils/build/esm/package.json +1 -1
  688. package/node_modules/@sentry/server-utils/build/esm/tracing-channel.js +1 -0
  689. package/node_modules/@sentry/server-utils/build/types/tracing-channel.d.ts +3 -1
  690. package/node_modules/@sentry/server-utils/build/types-ts3.8/tracing-channel.d.ts +3 -1
  691. package/node_modules/@sentry/server-utils/package.json +4 -3
  692. package/node_modules/cjs-module-lexer/README.md +8 -3
  693. package/node_modules/cjs-module-lexer/dist/lexer.js +1 -1
  694. package/node_modules/cjs-module-lexer/dist/lexer.mjs +2 -2
  695. package/node_modules/cjs-module-lexer/lexer.js +48 -9
  696. package/node_modules/cjs-module-lexer/package.json +3 -2
  697. package/node_modules/es-module-lexer/dist/lexer.asm.js +2 -2
  698. package/node_modules/es-module-lexer/dist/lexer.cjs +1 -1
  699. package/node_modules/es-module-lexer/dist/lexer.js +2 -2
  700. package/node_modules/es-module-lexer/dist/lexer.minimal.asm.js +2 -2
  701. package/node_modules/es-module-lexer/dist/lexer.minimal.cjs +1 -1
  702. package/node_modules/es-module-lexer/dist/lexer.minimal.js +2 -2
  703. package/node_modules/es-module-lexer/package.json +1 -1
  704. package/node_modules/import-in-the-middle/CHANGELOG.md +7 -0
  705. package/node_modules/import-in-the-middle/lib/get-esm-exports.mjs +7 -0
  706. package/node_modules/import-in-the-middle/package.json +1 -1
  707. package/package.json +2 -2
  708. package/packages/pm-beads/extensions/beads/runtime.ts +2 -2
  709. package/packages/pm-beads/package.json +1 -1
  710. package/packages/pm-calendar/package.json +1 -1
  711. package/packages/pm-command-kit/package.json +1 -1
  712. package/packages/pm-digital-twin/package.json +1 -1
  713. package/packages/pm-governance-audit/package.json +1 -1
  714. package/packages/pm-guide-shell/package.json +1 -1
  715. package/packages/pm-kanban/package.json +1 -1
  716. package/packages/pm-lifecycle-hooks/package.json +1 -1
  717. package/packages/pm-linked-test-adapters/package.json +1 -1
  718. package/packages/pm-search-advanced/package.json +1 -1
  719. package/packages/pm-templates/package.json +1 -1
  720. package/packages/pm-todos/package.json +1 -1
  721. package/packages/pm-vcs/package.json +1 -1
  722. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  723. package/plugins/pm-claude/package.json +1 -1
  724. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  725. package/plugins/pm-codex/package.json +1 -1
  726. package/plugins/pm-codex/plugin.json +1 -1
  727. package/runtime-dependencies.json +1 -1
  728. package/scripts/finalize-build.mjs +37 -0
  729. package/dist/cli-bundle/chunks/chunk-BXSXT5Z6.js +0 -2
  730. package/dist/cli-bundle/chunks/chunk-KNW3RSLS.js +0 -30
  731. package/dist/cli-bundle/chunks/chunk-MEWBSWE3.js +0 -2
  732. package/dist/cli-bundle/chunks/chunk-RBPOO46D.js +0 -20
  733. package/dist/cli-bundle/chunks/chunk-YMLF6QT7.js +0 -234
  734. package/dist/cli-bundle/chunks/register-operations-PDOBQZUJ.js +0 -2
  735. package/dist/cli-bundle/focused-chunks/chunk-2CJWTLQG.js +0 -2
  736. package/dist/cli-bundle/focused-chunks/chunk-B3YW6H2I.js +0 -26
  737. package/dist/cli-bundle/focused-chunks/chunk-GVGFUD52.js +0 -8
  738. package/dist/cli-bundle/focused-chunks/chunk-MJQ253F3.js +0 -2
  739. package/dist/cli-bundle/focused-chunks/chunk-PBCYGO7X.js +0 -3
  740. package/dist/cli-bundle/focused-chunks/chunk-WOEZJUA2.js +0 -2
@@ -2,26 +2,26 @@ import type { HistoryEntry, HistoryPatchOp } from "../../types/index.js";
2
2
  import { type ReplayDocument } from "./replay.js";
3
3
  /** Describes the normalized version or timestamp selected from a history stream. */
4
4
  export interface ResolvedHistoryTarget {
5
- /** Target syntax selected by the caller. */
6
- kind: "version" | "timestamp";
7
- /** Original normalized target text. */
8
- raw: string;
9
- /** Zero-based history entry selected for reconstruction. */
10
- historyIndex: number;
5
+ /** Target syntax selected by the caller. */
6
+ kind: "version" | "timestamp";
7
+ /** Original normalized target text. */
8
+ raw: string;
9
+ /** Zero-based history entry selected for reconstruction. */
10
+ historyIndex: number;
11
11
  }
12
12
  /** Controls caller-specific target diagnostics and future timestamp policy. */
13
13
  export interface ResolveHistoryTargetOptions {
14
- /** Command concept named in agent-facing validation errors. */
15
- errorSubject?: "history" | "restore";
16
- /** Allow a timestamp after the final entry to select that final entry. */
17
- allowFutureTimestamp?: boolean;
14
+ /** Command concept named in agent-facing validation errors. */
15
+ errorSubject?: "history" | "restore";
16
+ /** Allow a timestamp after the final entry to select that final entry. */
17
+ allowFutureTimestamp?: boolean;
18
18
  }
19
19
  interface PatchFailureContext {
20
- patchIndex?: number;
21
- op?: string;
22
- path?: string;
23
- from?: string;
24
- reason?: string;
20
+ patchIndex?: number;
21
+ op?: string;
22
+ path?: string;
23
+ from?: string;
24
+ reason?: string;
25
25
  }
26
26
  /** Extract best-effort JSON Patch position details for replay diagnostics. */
27
27
  export declare function extractPatchFailureContext(patch: HistoryPatchOp[], error: unknown): PatchFailureContext;
@@ -1,10 +1,10 @@
1
1
  import type { HistoryEntry } from "../../types/index.js";
2
2
  /** Exact bytes and decoded entries from one read, suitable for optimistic concurrency checks. */
3
3
  export interface HistoryStreamSnapshot {
4
- /** Null means the stream did not exist; an empty string means it existed without entries. */
5
- raw: string | null;
6
- /** Entries decoded from precisely the bytes in `raw`, after read hooks run. */
7
- entries: HistoryEntry[];
4
+ /** Null means the stream did not exist; an empty string means it existed without entries. */
5
+ raw: string | null;
6
+ /** Entries decoded from precisely the bytes in `raw`, after read hooks run. */
7
+ entries: HistoryEntry[];
8
8
  }
9
9
  /** Read one history stream once so replay input and the concurrency snapshot cannot disagree. */
10
10
  export declare function readHistorySnapshot(historyPath: string, itemId: string): Promise<HistoryStreamSnapshot>;
@@ -11,10 +11,10 @@ import type { HistoryEntry, HistoryPatchOp, ItemDocument } from "../../types/ind
11
11
  * generic message) are preserved; only the underlying replay/patch logic is shared.
12
12
  */
13
13
  export interface ReplayDocument {
14
- /** Value that configures or reports metadata for this contract. */
15
- metadata: Record<string, unknown>;
16
- /** Value that configures or reports body for this contract. */
17
- body: string;
14
+ /** Value that configures or reports metadata for this contract. */
15
+ metadata: Record<string, unknown>;
16
+ /** Value that configures or reports body for this contract. */
17
+ body: string;
18
18
  }
19
19
  /** Public contract for empty replay document, shared by SDK and presentation-layer consumers. */
20
20
  export declare const EMPTY_REPLAY_DOCUMENT: ReplayDocument;
@@ -40,74 +40,76 @@ export declare function normalizeReplayPatchPath(path: string): string;
40
40
  export declare function normalizeReplayPatchOps(patch: HistoryPatchOp[] | unknown): HistoryPatchOp[];
41
41
  /** Restricts replay apply result values accepted by command, SDK, and storage contracts. */
42
42
  export type ReplayApplyResult = {
43
- ok: true;
44
- document: ReplayDocument;
43
+ ok: true;
44
+ document: ReplayDocument;
45
45
  } | {
46
- ok: false;
47
- error: unknown;
46
+ ok: false;
47
+ error: unknown;
48
48
  };
49
49
  /** Strictly apply a history patch (front_matter->metadata normalized) to a replay document. Returns a result envelope rather than throwing so each caller can format its own error contract. */
50
50
  export declare function tryApplyReplayPatch(current: ReplayDocument, patch: HistoryPatchOp[]): ReplayApplyResult;
51
51
  /** Verify a chain and report the explicit or auto-detected item hash epoch. */
52
52
  export declare function verifyHistoryChainWithVersion(entries: HistoryEntry[]): {
53
- ok: boolean;
54
- errors: string[];
55
- item_hash_version?: HistoryItemHashVersion;
53
+ ok: boolean;
54
+ errors: string[];
55
+ item_hash_version?: HistoryItemHashVersion;
56
56
  };
57
57
  /** Deterministically verify a history chain while preserving the legacy result shape. */
58
58
  export declare function verifyHistoryChain(entries: HistoryEntry[]): {
59
- ok: boolean;
60
- errors: string[];
59
+ ok: boolean;
60
+ errors: string[];
61
61
  };
62
62
  /** Documents the lenient apply result payload exchanged by command, SDK, and package integrations. */
63
63
  export interface LenientApplyResult {
64
- /** Value that configures or reports document for this contract. */
65
- document: ReplayDocument;
66
- /** Value that configures or reports converted replace to add for this contract. */
67
- convertedReplaceToAdd: number;
68
- /** Value that configures or reports skipped ops for this contract. */
69
- skippedOps: number;
64
+ /** Value that configures or reports document for this contract. */
65
+ document: ReplayDocument;
66
+ /** Value that configures or reports converted replace to add for this contract. */
67
+ convertedReplaceToAdd: number;
68
+ /** Value that configures or reports skipped ops for this contract. */
69
+ skippedOps: number;
70
70
  }
71
71
  /** Apply a legacy patch op-by-op, recovering from drift that strict replay rejects: a `replace` whose path no longer exists is retried as `add`, and any op that still cannot apply against the current replay state is skipped. The resulting document is what the repaired entry's recomputed patch should target. */
72
72
  export declare function lenientApplyReplayPatch(current: ReplayDocument, patch: HistoryPatchOp[]): LenientApplyResult;
73
73
  /** Documents the reanchor entry detail payload exchanged by command, SDK, and package integrations. */
74
74
  export interface ReanchorEntryDetail {
75
- /** Value that configures or reports index for this contract. */
76
- index: number;
77
- /** Value that configures or reports rehashed for this contract. */
78
- rehashed: boolean;
79
- /** Value that configures or reports patch repaired for this contract. */
80
- patch_repaired: boolean;
81
- /** Value that configures or reports converted replace to add for this contract. */
82
- converted_replace_to_add: number;
83
- /** Value that configures or reports skipped ops for this contract. */
84
- skipped_ops: number;
75
+ /** Value that configures or reports index for this contract. */
76
+ index: number;
77
+ /** Value that configures or reports rehashed for this contract. */
78
+ rehashed: boolean;
79
+ /** Value that configures or reports patch repaired for this contract. */
80
+ patch_repaired: boolean;
81
+ /** Value that configures or reports converted replace to add for this contract. */
82
+ converted_replace_to_add: number;
83
+ /** Value that configures or reports skipped ops for this contract. */
84
+ skipped_ops: number;
85
85
  }
86
86
  /** Documents the reanchor result payload exchanged by command, SDK, and package integrations. */
87
87
  export interface ReanchorResult {
88
- /** Value that configures or reports entries for this contract. */
89
- entries: HistoryEntry[];
90
- /** Value that configures or reports final document for this contract. */
91
- finalDocument: ReplayDocument;
92
- /** Value that configures or reports entries rehashed for this contract. */
93
- entriesRehashed: number;
94
- /** Value that configures or reports entries patch repaired for this contract. */
95
- entriesPatchRepaired: number;
96
- /** Value that configures or reports converted replace to add for this contract. */
97
- convertedReplaceToAdd: number;
98
- /** Value that configures or reports skipped ops for this contract. */
99
- skippedOps: number;
100
- /** Value that configures or reports details for this contract. */
101
- details: ReanchorEntryDetail[];
102
- /** Hash epoch retained while rebuilding the stream. */
103
- itemHashVersion: HistoryItemHashVersion;
104
- /** Whether rewritten entries explicitly carry the hash epoch field. */
105
- explicitItemHashVersion: boolean;
88
+ /** Value that configures or reports entries for this contract. */
89
+ entries: HistoryEntry[];
90
+ /** Value that configures or reports final document for this contract. */
91
+ finalDocument: ReplayDocument;
92
+ /** Value that configures or reports entries rehashed for this contract. */
93
+ entriesRehashed: number;
94
+ /** Value that configures or reports entries patch repaired for this contract. */
95
+ entriesPatchRepaired: number;
96
+ /** Value that configures or reports converted replace to add for this contract. */
97
+ convertedReplaceToAdd: number;
98
+ /** Value that configures or reports skipped ops for this contract. */
99
+ skippedOps: number;
100
+ /** Value that configures or reports details for this contract. */
101
+ details: ReanchorEntryDetail[];
102
+ /** Hash epoch retained while rebuilding the stream. */
103
+ itemHashVersion: HistoryItemHashVersion;
104
+ /** Whether rewritten entries explicitly carry the hash epoch field. */
105
+ explicitItemHashVersion: boolean;
106
106
  }
107
107
  /** Controls whether re-anchoring preserves historical writer transitions or emits one exact hash surface. */
108
108
  export interface ReanchorHistoryOptions {
109
- /** Keep one semantic hash candidate for the complete rewritten stream so adjacent stored endpoints are identical. */
110
- continuousHashSurface?: boolean;
109
+ /** Keep one semantic hash candidate for the complete rewritten stream so adjacent stored endpoints are identical. */
110
+ continuousHashSurface?: boolean;
111
+ /** Rebase an entry's patch onto its new replay position, retaining the original patch as immutable rewrite evidence. */
112
+ projectPatch?: (entry: HistoryEntry, current: ReplayDocument) => HistoryPatchOp[];
111
113
  }
112
114
  /**
113
115
  * Resolve the hash epoch a repair must retain.
@@ -1,4 +1,4 @@
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]="3bf5f300-1829-5009-ae96-be7df309b589")}catch{}})();import jsonPatch from"fast-json-patch";import{historyDigest,resolveHistoryHashAlgorithm}from"./digest.js";import{findHistoryIdentityDiscontinuities}from"./identity.js";import{ITEM_METADATA_KEY_ORDER}from"../shared/constants.js";import{canonicalDocument}from"../item/item-format.js";import{toItemRecord}from"../item/item-record.js";import{orderObject,stableStringify}from"../shared/serialization.js";import{CURRENT_HISTORY_ITEM_HASH_VERSION,SUPPORTED_HISTORY_ITEM_HASH_VERSIONS,hashDocumentVerificationCandidates,resealHistoryRewrite,verifyHistoryRecordHash,verifyHistoryRewriteEvidence}from"./history.js";const EMPTY_REPLAY_DOCUMENT={metadata:{},body:""};function cloneEmptyReplayDocument(){return structuredClone(EMPTY_REPLAY_DOCUMENT)}function replayHash(document,version=CURRENT_HISTORY_ITEM_HASH_VERSION,algorithm){return replayHashVerificationCandidates(document,version,algorithm)[0]}function replayHashVerificationCandidates(document,version,algorithm){if(Object.keys(document.metadata).length===0||Array.isArray(document.metadata.tags))try{return hashDocumentVerificationCandidates(replayToItemDocument(document),version,algorithm)}catch{}const fallback=historyDigest(stableStringify({replay_fallback:!0,metadata:document.metadata,body:document.body}),algorithm);return version===2?[fallback,fallback]:[fallback]}function matchReplayHashCandidates(before,after,version,entry,memo){const algorithm=resolveHistoryHashAlgorithm(entry.hash_algorithm),memoKey=`${version}:${algorithm}`,beforeHashes=memo?.before.get(memoKey)??replayHashVerificationCandidates(before,version,algorithm),afterHashes=replayHashVerificationCandidates(after,version,algorithm);return memo?.after.set(memoKey,afterHashes),{beforeHashes,afterHashes,pairIndex:beforeHashes.findIndex((beforeHash,hashIndex)=>beforeHash===entry.before_hash&&afterHashes[hashIndex]===entry.after_hash),beforeIndex:beforeHashes.indexOf(entry.before_hash),afterIndex:afterHashes.indexOf(entry.after_hash)}}function replayToItemDocument(document){return{metadata:document.metadata,body:document.body}}function replayToCanonicalItemDocument(document,options={}){return canonicalDocument(replayToItemDocument(document),options)}function toReplayDocument(document){if(!document.metadata||Object.keys(document.metadata).length===0)return{metadata:{},body:document.body??""};const canonical=canonicalDocument(document);return{metadata:orderObject(toItemRecord(canonical.metadata),ITEM_METADATA_KEY_ORDER),body:canonical.body}}function normalizeReplayPatchPath(path){return path==="/front_matter"?"/metadata":path.startsWith("/front_matter/")?`/metadata/${path.slice(14)}`:path}function isHistoryPatchOp(value){return typeof value=="object"&&value!==null&&typeof value.op=="string"&&typeof value.path=="string"}function normalizeReplayPatchOps(patch){return Array.isArray(patch)?patch.filter(isHistoryPatchOp).map(operation=>({...operation,path:normalizeReplayPatchPath(operation.path),from:typeof operation.from=="string"?normalizeReplayPatchPath(operation.from):void 0})):[]}function isReplayDocumentShape(value){return typeof value=="object"&&value!==null&&"metadata"in value&&"body"in value&&typeof value.body=="string"&&typeof value.metadata=="object"&&value.metadata!==null}function tryApplyReplayPatch(current,patch){try{const normalizedPatch=normalizeReplayPatchOps(patch),applied=jsonPatch.applyPatch(structuredClone(current),normalizedPatch,!0,!0).newDocument;return isReplayDocumentShape(applied)?{ok:!0,document:{metadata:applied.metadata,body:applied.body}}:{ok:!1,error:new Error("history_replay_invalid_document_shape")}}catch(error){return{ok:!1,error}}}function supportedExplicitHistoryItemHashVersions(entries){return[...new Set(entries.map(entry=>entry.item_hash_version).filter(version=>version!==void 0&&SUPPORTED_HISTORY_ITEM_HASH_VERSIONS.includes(version)))]}function isUnsupportedExplicitHistoryItemHashVersion(version){return version!==void 0&&!SUPPORTED_HISTORY_ITEM_HASH_VERSIONS.includes(version)}function historyEntryHashCandidates(explicitVersion,authoritativeVersion){return explicitVersion!==void 0?[explicitVersion]:authoritativeVersion===void 0?[...SUPPORTED_HISTORY_ITEM_HASH_VERSIONS]:[authoritativeVersion]}function historyEntryIntegrityError(entry){const recordVerification=verifyHistoryRecordHash(entry);if(!recordVerification.ok)return recordVerification.error;const rewriteVerification=verifyHistoryRewriteEvidence(entry);return rewriteVerification.ok?void 0:rewriteVerification.error}function verifyHistoryEntryInput(entry,replay){const integrityError=historyEntryIntegrityError(entry);if(integrityError)return{ok:!1,error:integrityError};const applied=tryApplyReplayPatch(replay,entry.patch);return applied.ok?{ok:!0,document:applied.document}:{ok:!1,error:"patch_apply_failed"}}function assertHistoryEntryIntegrity(entry,index){const integrityError=historyEntryIntegrityError(entry);if(integrityError)throw new TypeError(`${integrityError}:entry_${index+1}`)}function matchReplayEpochCandidates(before,after,candidates,entry,memo){const matches=[];for(const version of candidates){const match=matchReplayHashCandidates(before,after,version,entry,memo);if(matches.push({version,match}),match.pairIndex>=0)break}return matches}function verifyHistoryChainWithVersion(entries){let replay=cloneEmptyReplayDocument(),beforeHashMemo=new Map,detectedVersion,authoritativeExplicitVersion;const errors=findHistoryIdentityDiscontinuities(entries).map(finding=>`verify_failed:duplicate_create:entry_${finding.repeated_create_index}:prior_${finding.prior_genesis_index}`);for(let index=0;index<entries.length;index+=1){const entry=entries[index],explicitVersion=entry.item_hash_version,unsupportedVersion=isUnsupportedExplicitHistoryItemHashVersion(explicitVersion);unsupportedVersion&&errors.push(`verify_failed:unsupported_item_hash_version:${String(explicitVersion)}:entry_${index+1}`);const input=verifyHistoryEntryInput(entry,replay);if(!input.ok)return{ok:!1,errors:[...errors,`verify_failed:${input.error}:entry_${index+1}`]};if(unsupportedVersion){replay=input.document,beforeHashMemo=new Map,detectedVersion=void 0,authoritativeExplicitVersion=void 0;continue}const candidates=historyEntryHashCandidates(explicitVersion,authoritativeExplicitVersion),memo={before:beforeHashMemo,after:new Map},candidateMatches=matchReplayEpochCandidates(replay,input.document,candidates,entry,memo),matchingVersion=candidateMatches.find(({match})=>match.pairIndex>=0);if(matchingVersion===void 0){const beforeMatches=candidateMatches.some(({match})=>match.beforeIndex>=0);return{ok:!1,errors:[...errors,`verify_failed:${beforeMatches?"after":"before"}_hash_mismatch:entry_${index+1}`]}}const version=matchingVersion.version;replay=input.document,beforeHashMemo=memo.after,detectedVersion=version,authoritativeExplicitVersion=explicitVersion??authoritativeExplicitVersion}return errors.length>0?{ok:!1,errors,...detectedVersion===void 0?{}:{item_hash_version:detectedVersion}}:{ok:!0,errors:[],...detectedVersion===void 0?{}:{item_hash_version:detectedVersion}}}function verifyHistoryChain(entries){const result=verifyHistoryChainWithVersion(entries);return{ok:result.ok,errors:result.errors}}function tryApplySingleOp(document,op){try{return{ok:!0,document:jsonPatch.applyPatch(structuredClone(document),[op],!0,!1).newDocument}}catch{return{ok:!1}}}function lenientApplyReplayPatch(current,patch){let working=structuredClone(current),convertedReplaceToAdd=0,skippedOps=0;for(const op of normalizeReplayPatchOps(patch)){const direct=tryApplySingleOp(working,op);if(direct.ok){working=direct.document;continue}if(op.op==="replace"){const asAdd=tryApplySingleOp(working,{...op,op:"add"});if(asAdd.ok){working=asAdd.document,convertedReplaceToAdd+=1;continue}}skippedOps+=1}const candidate=working;return{document:{metadata:typeof candidate.metadata=="object"&&candidate.metadata!==null?candidate.metadata:{},body:typeof candidate.body=="string"?candidate.body:current.body},convertedReplaceToAdd,skippedOps}}function resolveHistoryRepairItemHashVersion(entries){const explicitVersions=supportedExplicitHistoryItemHashVersions(entries);if(explicitVersions.length===1)return explicitVersions[0];const verified=verifyHistoryChainWithVersion(entries);return verified.ok&&verified.item_hash_version!==void 0?verified.item_hash_version:explicitVersions.length===0?1:CURRENT_HISTORY_ITEM_HASH_VERSION}function applyReanchorPatch(replay,entry){const strict=tryApplyReplayPatch(replay,entry.patch);if(strict.ok)return{next:strict.document,patch:entry.patch,repaired:!1,converted:0,skipped:0};const lenient=lenientApplyReplayPatch(replay,entry.patch);return{next:lenient.document,patch:jsonPatch.compare(replay,lenient.document),repaired:!0,converted:lenient.convertedReplaceToAdd,skipped:lenient.skippedOps}}function reanchorHistoryEntries(entries,itemHashVersion=resolveHistoryRepairItemHashVersion(entries),options={}){const unsupportedIndex=entries.findIndex(entry=>isUnsupportedExplicitHistoryItemHashVersion(entry.item_hash_version));if(unsupportedIndex>=0)throw new TypeError(`unsupported_item_hash_version:${String(entries[unsupportedIndex]?.item_hash_version)}:entry_${unsupportedIndex+1}`);let replay=cloneEmptyReplayDocument();const rewritten=[],details=[];let entriesRehashed=0,entriesPatchRepaired=0,convertedReplaceToAdd=0,skippedOps=0,semanticIndex;const explicitItemHashVersion=itemHashVersion!==1||entries.some(entry=>entry.item_hash_version!==void 0);for(let index=0;index<entries.length;index+=1){const entry=entries[index];assertHistoryEntryIntegrity(entry,index);const patchApplication=applyReanchorPatch(replay,entry),{next,patch:outPatch,repaired:patchRepaired,converted:entryConverted,skipped:entrySkipped}=patchApplication;convertedReplaceToAdd+=entryConverted,skippedOps+=entrySkipped,entriesPatchRepaired+=Number(patchRepaired);const hashMatch=matchReplayHashCandidates(replay,next,itemHashVersion,entry);semanticIndex===void 0||options.continuousHashSurface!==!0?semanticIndex=[hashMatch.pairIndex,hashMatch.beforeIndex,hashMatch.afterIndex,Math.min(semanticIndex??0,hashMatch.beforeHashes.length-1)].find(candidate=>candidate>=0):semanticIndex=Math.min(semanticIndex,hashMatch.beforeHashes.length-1);const beforeHash=hashMatch.beforeHashes[semanticIndex],afterHash=hashMatch.afterHashes[semanticIndex],rehashed=beforeHash!==entry.before_hash||afterHash!==entry.after_hash;rehashed&&(entriesRehashed+=1);let rewrittenEntry={...entry,patch:outPatch,before_hash:beforeHash,after_hash:afterHash};explicitItemHashVersion?rewrittenEntry.item_hash_version=itemHashVersion:delete rewrittenEntry.item_hash_version;const versionChanged=rewrittenEntry.item_hash_version!==entry.item_hash_version;(rehashed||patchRepaired||versionChanged)&&(rewrittenEntry=resealHistoryRewrite(entry,rewrittenEntry,{retainOriginalPatch:patchRepaired})),rewritten.push(rewrittenEntry),details.push({index:index+1,rehashed,patch_repaired:patchRepaired,converted_replace_to_add:entryConverted,skipped_ops:entrySkipped}),replay=next}return{entries:rewritten,finalDocument:replay,entriesRehashed,entriesPatchRepaired,convertedReplaceToAdd,skippedOps,details,itemHashVersion,explicitItemHashVersion}}function historyEntriesToRaw(entries){return entries.length===0?"":`${entries.map(entry=>JSON.stringify(entry)).join(`
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]="0c0cb8c7-4d7d-53f8-8ec2-d6dc98fc6dc5")}catch{}})();import jsonPatch from"fast-json-patch";import{historyDigest,resolveHistoryHashAlgorithm}from"./digest.js";import{findHistoryIdentityDiscontinuities}from"./identity.js";import{ITEM_METADATA_KEY_ORDER}from"../shared/constants.js";import{canonicalDocument}from"../item/item-format.js";import{toItemRecord}from"../item/item-record.js";import{orderObject,stableStringify}from"../shared/serialization.js";import{CURRENT_HISTORY_ITEM_HASH_VERSION,SUPPORTED_HISTORY_ITEM_HASH_VERSIONS,hashDocumentVerificationCandidates,resealHistoryRewrite,verifyHistoryRecordHash,verifyHistoryRewriteEvidence}from"./history.js";const EMPTY_REPLAY_DOCUMENT={metadata:{},body:""};function cloneEmptyReplayDocument(){return structuredClone(EMPTY_REPLAY_DOCUMENT)}function replayHash(document,version=CURRENT_HISTORY_ITEM_HASH_VERSION,algorithm){return replayHashVerificationCandidates(document,version,algorithm)[0]}function replayHashVerificationCandidates(document,version,algorithm){if(Object.keys(document.metadata).length===0||Array.isArray(document.metadata.tags))try{return hashDocumentVerificationCandidates(replayToItemDocument(document),version,algorithm)}catch{}const fallback=historyDigest(stableStringify({replay_fallback:!0,metadata:document.metadata,body:document.body}),algorithm);return version===2?[fallback,fallback]:[fallback]}function matchReplayHashCandidates(before,after,version,entry,memo){const algorithm=resolveHistoryHashAlgorithm(entry.hash_algorithm),memoKey=`${version}:${algorithm}`,beforeHashes=memo?.before.get(memoKey)??replayHashVerificationCandidates(before,version,algorithm),afterHashes=replayHashVerificationCandidates(after,version,algorithm);return memo?.after.set(memoKey,afterHashes),{beforeHashes,afterHashes,pairIndex:beforeHashes.findIndex((beforeHash,hashIndex)=>beforeHash===entry.before_hash&&afterHashes[hashIndex]===entry.after_hash),beforeIndex:beforeHashes.indexOf(entry.before_hash),afterIndex:afterHashes.indexOf(entry.after_hash)}}function replayToItemDocument(document){return{metadata:document.metadata,body:document.body}}function replayToCanonicalItemDocument(document,options={}){return canonicalDocument(replayToItemDocument(document),options)}function toReplayDocument(document){if(!document.metadata||Object.keys(document.metadata).length===0)return{metadata:{},body:document.body??""};const canonical=canonicalDocument(document);return{metadata:orderObject(toItemRecord(canonical.metadata),ITEM_METADATA_KEY_ORDER),body:canonical.body}}function normalizeReplayPatchPath(path){return path==="/front_matter"?"/metadata":path.startsWith("/front_matter/")?`/metadata/${path.slice(14)}`:path}function isHistoryPatchOp(value){return typeof value=="object"&&value!==null&&typeof value.op=="string"&&typeof value.path=="string"}function normalizeReplayPatchOps(patch){return Array.isArray(patch)?patch.filter(isHistoryPatchOp).map(operation=>({...operation,path:normalizeReplayPatchPath(operation.path),from:typeof operation.from=="string"?normalizeReplayPatchPath(operation.from):void 0})):[]}function isReplayDocumentShape(value){return typeof value=="object"&&value!==null&&"metadata"in value&&"body"in value&&typeof value.body=="string"&&typeof value.metadata=="object"&&value.metadata!==null}function tryApplyReplayPatch(current,patch){try{const normalizedPatch=normalizeReplayPatchOps(patch),applied=jsonPatch.applyPatch(structuredClone(current),normalizedPatch,!0,!0).newDocument;return isReplayDocumentShape(applied)?{ok:!0,document:{metadata:applied.metadata,body:applied.body}}:{ok:!1,error:new Error("history_replay_invalid_document_shape")}}catch(error){return{ok:!1,error}}}function supportedExplicitHistoryItemHashVersions(entries){return[...new Set(entries.map(entry=>entry.item_hash_version).filter(version=>version!==void 0&&SUPPORTED_HISTORY_ITEM_HASH_VERSIONS.includes(version)))]}function isUnsupportedExplicitHistoryItemHashVersion(version){return version!==void 0&&!SUPPORTED_HISTORY_ITEM_HASH_VERSIONS.includes(version)}function historyEntryHashCandidates(explicitVersion,authoritativeVersion){return explicitVersion!==void 0?[explicitVersion]:authoritativeVersion===void 0?[...SUPPORTED_HISTORY_ITEM_HASH_VERSIONS]:[authoritativeVersion]}function historyEntryIntegrityError(entry){const recordVerification=verifyHistoryRecordHash(entry);if(!recordVerification.ok)return recordVerification.error;const rewriteVerification=verifyHistoryRewriteEvidence(entry);return rewriteVerification.ok?void 0:rewriteVerification.error}function verifyHistoryEntryInput(entry,replay){const integrityError=historyEntryIntegrityError(entry);if(integrityError)return{ok:!1,error:integrityError};const applied=tryApplyReplayPatch(replay,entry.patch);return applied.ok?{ok:!0,document:applied.document}:{ok:!1,error:"patch_apply_failed"}}function assertHistoryEntryIntegrity(entry,index){const integrityError=historyEntryIntegrityError(entry);if(integrityError)throw new TypeError(`${integrityError}:entry_${index+1}`)}function matchReplayEpochCandidates(before,after,candidates,entry,memo){const matches=[];for(const version of candidates){const match=matchReplayHashCandidates(before,after,version,entry,memo);if(matches.push({version,match}),match.pairIndex>=0)break}return matches}function verifyHistoryChainWithVersion(entries){let replay=cloneEmptyReplayDocument(),beforeHashMemo=new Map,detectedVersion,authoritativeExplicitVersion;const errors=findHistoryIdentityDiscontinuities(entries).map(finding=>`verify_failed:duplicate_create:entry_${finding.repeated_create_index}:prior_${finding.prior_genesis_index}`);for(let index=0;index<entries.length;index+=1){const entry=entries[index],explicitVersion=entry.item_hash_version,unsupportedVersion=isUnsupportedExplicitHistoryItemHashVersion(explicitVersion);unsupportedVersion&&errors.push(`verify_failed:unsupported_item_hash_version:${String(explicitVersion)}:entry_${index+1}`);const input=verifyHistoryEntryInput(entry,replay);if(!input.ok)return{ok:!1,errors:[...errors,`verify_failed:${input.error}:entry_${index+1}`]};if(unsupportedVersion){replay=input.document,beforeHashMemo=new Map,detectedVersion=void 0,authoritativeExplicitVersion=void 0;continue}const candidates=historyEntryHashCandidates(explicitVersion,authoritativeExplicitVersion),memo={before:beforeHashMemo,after:new Map},candidateMatches=matchReplayEpochCandidates(replay,input.document,candidates,entry,memo),matchingVersion=candidateMatches.find(({match})=>match.pairIndex>=0);if(matchingVersion===void 0){const beforeMatches=candidateMatches.some(({match})=>match.beforeIndex>=0);return{ok:!1,errors:[...errors,`verify_failed:${beforeMatches?"after":"before"}_hash_mismatch:entry_${index+1}`]}}const version=matchingVersion.version;replay=input.document,beforeHashMemo=memo.after,detectedVersion=version,authoritativeExplicitVersion=explicitVersion??authoritativeExplicitVersion}return errors.length>0?{ok:!1,errors,...detectedVersion===void 0?{}:{item_hash_version:detectedVersion}}:{ok:!0,errors:[],...detectedVersion===void 0?{}:{item_hash_version:detectedVersion}}}function verifyHistoryChain(entries){const result=verifyHistoryChainWithVersion(entries);return{ok:result.ok,errors:result.errors}}function tryApplySingleOp(document,op){try{return{ok:!0,document:jsonPatch.applyPatch(structuredClone(document),[op],!0,!1).newDocument}}catch{return{ok:!1}}}function lenientApplyReplayPatch(current,patch){let working=structuredClone(current),convertedReplaceToAdd=0,skippedOps=0;for(const op of normalizeReplayPatchOps(patch)){const direct=tryApplySingleOp(working,op);if(direct.ok){working=direct.document;continue}if(op.op==="replace"){const asAdd=tryApplySingleOp(working,{...op,op:"add"});if(asAdd.ok){working=asAdd.document,convertedReplaceToAdd+=1;continue}}skippedOps+=1}const candidate=working;return{document:{metadata:typeof candidate.metadata=="object"&&candidate.metadata!==null?candidate.metadata:{},body:typeof candidate.body=="string"?candidate.body:current.body},convertedReplaceToAdd,skippedOps}}function resolveHistoryRepairItemHashVersion(entries){const explicitVersions=supportedExplicitHistoryItemHashVersions(entries);if(explicitVersions.length===1)return explicitVersions[0];const verified=verifyHistoryChainWithVersion(entries);return verified.ok&&verified.item_hash_version!==void 0?verified.item_hash_version:explicitVersions.length===0?1:CURRENT_HISTORY_ITEM_HASH_VERSION}function applyReanchorPatch(replay,entry,projectedPatch=entry.patch){const strict=tryApplyReplayPatch(replay,projectedPatch);if(strict.ok)return{next:strict.document,patch:projectedPatch,repaired:stableStringify(projectedPatch)!==stableStringify(entry.patch),converted:0,skipped:0};const lenient=lenientApplyReplayPatch(replay,projectedPatch);return{next:lenient.document,patch:jsonPatch.compare(replay,lenient.document),repaired:!0,converted:lenient.convertedReplaceToAdd,skipped:lenient.skippedOps}}function applyProjectedReanchorPatch(replay,entry,options){return applyReanchorPatch(replay,entry,options.projectPatch?.(entry,replay))}function reanchorHistoryEntries(entries,itemHashVersion=resolveHistoryRepairItemHashVersion(entries),options={}){const unsupportedIndex=entries.findIndex(entry=>isUnsupportedExplicitHistoryItemHashVersion(entry.item_hash_version));if(unsupportedIndex>=0)throw new TypeError(`unsupported_item_hash_version:${String(entries[unsupportedIndex]?.item_hash_version)}:entry_${unsupportedIndex+1}`);let replay=cloneEmptyReplayDocument();const rewritten=[],details=[];let entriesRehashed=0,entriesPatchRepaired=0,convertedReplaceToAdd=0,skippedOps=0,semanticIndex;const explicitItemHashVersion=itemHashVersion!==1||entries.some(entry=>entry.item_hash_version!==void 0);for(let index=0;index<entries.length;index+=1){const entry=entries[index];assertHistoryEntryIntegrity(entry,index);const patchApplication=applyProjectedReanchorPatch(replay,entry,options),{next,patch:outPatch,repaired:patchRepaired,converted:entryConverted,skipped:entrySkipped}=patchApplication;convertedReplaceToAdd+=entryConverted,skippedOps+=entrySkipped,entriesPatchRepaired+=Number(patchRepaired);const hashMatch=matchReplayHashCandidates(replay,next,itemHashVersion,entry);semanticIndex===void 0||options.continuousHashSurface!==!0?semanticIndex=[hashMatch.pairIndex,hashMatch.beforeIndex,hashMatch.afterIndex,Math.min(semanticIndex??0,hashMatch.beforeHashes.length-1)].find(candidate=>candidate>=0):semanticIndex=Math.min(semanticIndex,hashMatch.beforeHashes.length-1);const beforeHash=hashMatch.beforeHashes[semanticIndex],afterHash=hashMatch.afterHashes[semanticIndex],rehashed=beforeHash!==entry.before_hash||afterHash!==entry.after_hash;rehashed&&(entriesRehashed+=1);let rewrittenEntry={...entry,patch:outPatch,before_hash:beforeHash,after_hash:afterHash};explicitItemHashVersion?rewrittenEntry.item_hash_version=itemHashVersion:delete rewrittenEntry.item_hash_version;const versionChanged=rewrittenEntry.item_hash_version!==entry.item_hash_version;(rehashed||patchRepaired||versionChanged)&&(rewrittenEntry=resealHistoryRewrite(entry,rewrittenEntry,{retainOriginalPatch:patchRepaired})),rewritten.push(rewrittenEntry),details.push({index:index+1,rehashed,patch_repaired:patchRepaired,converted_replace_to_add:entryConverted,skipped_ops:entrySkipped}),replay=next}return{entries:rewritten,finalDocument:replay,entriesRehashed,entriesPatchRepaired,convertedReplaceToAdd,skippedOps,details,itemHashVersion,explicitItemHashVersion}}function historyEntriesToRaw(entries){return entries.length===0?"":`${entries.map(entry=>JSON.stringify(entry)).join(`
2
2
  `)}
3
3
  `}export{EMPTY_REPLAY_DOCUMENT,cloneEmptyReplayDocument,historyEntriesToRaw,lenientApplyReplayPatch,normalizeReplayPatchOps,normalizeReplayPatchPath,reanchorHistoryEntries,replayHash,replayHashVerificationCandidates,replayToCanonicalItemDocument,replayToItemDocument,resolveHistoryRepairItemHashVersion,toReplayDocument,tryApplyReplayPatch,verifyHistoryChain,verifyHistoryChainWithVersion};
4
4
  //# sourceMappingURL=replay.js.map
@@ -5,114 +5,114 @@ export declare const WORKSPACE_HISTORY_ID = "_workspace";
5
5
  export declare function getWorkspaceHistoryPath(pmRoot: string): string;
6
6
  /** One singleton-document mutation appended to workspace history. */
7
7
  export interface WorkspaceHistoryChange {
8
- /** Tracker root containing the workspace history stream. */
9
- pmRoot: string;
10
- /** Repository-relative or tracker-relative document identity. */
11
- documentPath: string;
12
- /** Document value observed before the mutation. */
13
- before: unknown;
14
- /** Document value persisted by the mutation. */
15
- after: unknown;
16
- /** Stable operation name. */
17
- op: string;
18
- /** Optional operation key that makes retries return the original entry. */
19
- idempotencyKey?: string;
20
- /** Attributable mutation actor. */
21
- author: string;
22
- /** Optional human-readable rationale. */
23
- message?: string;
24
- /** Lock time-to-live in seconds. */
25
- lockTtlSeconds: number;
26
- /** Maximum lock wait in milliseconds. */
27
- lockWaitMs: number;
8
+ /** Tracker root containing the workspace history stream. */
9
+ pmRoot: string;
10
+ /** Repository-relative or tracker-relative document identity. */
11
+ documentPath: string;
12
+ /** Document value observed before the mutation. */
13
+ before: unknown;
14
+ /** Document value persisted by the mutation. */
15
+ after: unknown;
16
+ /** Stable operation name. */
17
+ op: string;
18
+ /** Optional operation key that makes retries return the original entry. */
19
+ idempotencyKey?: string;
20
+ /** Attributable mutation actor. */
21
+ author: string;
22
+ /** Optional human-readable rationale. */
23
+ message?: string;
24
+ /** Lock time-to-live in seconds. */
25
+ lockTtlSeconds: number;
26
+ /** Maximum lock wait in milliseconds. */
27
+ lockWaitMs: number;
28
28
  }
29
29
  /** Options for one lock-scoped audited workspace singleton write. */
30
30
  export interface WorkspaceJsonWriteOptions {
31
- /** Tracker root containing the singleton. */
32
- pmRoot: string;
33
- /** Absolute singleton path. */
34
- filePath: string;
35
- /** Fully serialized JSON value to persist. */
36
- raw: string;
37
- /** Stable operation name. */
38
- op: string;
39
- /** Optional operation identity that prevents replaying a completed write. */
40
- idempotencyKey?: string;
41
- /** Attributable mutation actor. */
42
- author: string;
43
- /** Lock time-to-live in seconds. */
44
- lockTtlSeconds: number;
45
- /** Maximum lock wait in milliseconds. */
46
- lockWaitMs: number;
47
- /** Optional human-readable rationale. */
48
- message?: string;
49
- /** Whether creating a previously absent singleton produces a history entry. */
50
- recordCreation?: boolean;
31
+ /** Tracker root containing the singleton. */
32
+ pmRoot: string;
33
+ /** Absolute singleton path. */
34
+ filePath: string;
35
+ /** Fully serialized JSON value to persist. */
36
+ raw: string;
37
+ /** Stable operation name. */
38
+ op: string;
39
+ /** Optional operation identity that prevents replaying a completed write. */
40
+ idempotencyKey?: string;
41
+ /** Attributable mutation actor. */
42
+ author: string;
43
+ /** Lock time-to-live in seconds. */
44
+ lockTtlSeconds: number;
45
+ /** Maximum lock wait in milliseconds. */
46
+ lockWaitMs: number;
47
+ /** Optional human-readable rationale. */
48
+ message?: string;
49
+ /** Whether creating a previously absent singleton produces a history entry. */
50
+ recordCreation?: boolean;
51
51
  }
52
52
  /** Result of deriving one audited singleton snapshot while its lock is held. */
53
53
  export interface WorkspaceJsonMutation<Result> {
54
- /** Fully serialized JSON value to persist. */
55
- raw: string;
56
- /** Caller-defined result derived from the same locked before-state. */
57
- result: Result;
54
+ /** Fully serialized JSON value to persist. */
55
+ raw: string;
56
+ /** Caller-defined result derived from the same locked before-state. */
57
+ result: Result;
58
58
  }
59
59
  /** Options for deriving and writing one audited singleton under one lock. */
60
60
  export interface WorkspaceJsonMutationOptions<Result> extends Omit<WorkspaceJsonWriteOptions, "raw"> {
61
- /** Derive the next snapshot and receipt from the locked serialized state. */
62
- mutate: (beforeRaw: string | null) => WorkspaceJsonMutation<Result> | Promise<WorkspaceJsonMutation<Result>>;
63
- /** Preview the locked mutation without writing the singleton or its history. */
64
- dryRun?: boolean;
61
+ /** Derive the next snapshot and receipt from the locked serialized state. */
62
+ mutate: (beforeRaw: string | null) => WorkspaceJsonMutation<Result> | Promise<WorkspaceJsonMutation<Result>>;
63
+ /** Preview the locked mutation without writing the singleton or its history. */
64
+ dryRun?: boolean;
65
65
  }
66
66
  /** Options for one append-only workspace audit event that leaves state unchanged. */
67
67
  export interface WorkspaceAuditEventOptions {
68
- /** Tracker root containing the workspace history stream. */
69
- pmRoot: string;
70
- /** Stable operation name. */
71
- op: string;
72
- /** Attributable reviewer or operator. */
73
- author: string;
74
- /** Structured, non-secret audit metadata. */
75
- context: Record<string, unknown>;
76
- /** Human-readable rationale. */
77
- message: string;
78
- /** Lock time-to-live in seconds. */
79
- lockTtlSeconds: number;
80
- /** Maximum lock wait in milliseconds. */
81
- lockWaitMs: number;
68
+ /** Tracker root containing the workspace history stream. */
69
+ pmRoot: string;
70
+ /** Stable operation name. */
71
+ op: string;
72
+ /** Attributable reviewer or operator. */
73
+ author: string;
74
+ /** Structured, non-secret audit metadata. */
75
+ context: Record<string, unknown>;
76
+ /** Human-readable rationale. */
77
+ message: string;
78
+ /** Lock time-to-live in seconds. */
79
+ lockTtlSeconds: number;
80
+ /** Maximum lock wait in milliseconds. */
81
+ lockWaitMs: number;
82
82
  }
83
83
  /** Agreement between the replayed workspace stream and governed singleton files. */
84
84
  export interface WorkspaceHistoryStateAgreement {
85
- /** Whether every governed singleton is readable and equals its replayed value. */
86
- ok: boolean;
87
- /** Number of singleton documents represented by the latest replayed state. */
88
- document_count: number;
89
- /** Governed documents whose on-disk JSON equals the replayed value. */
90
- matching_documents: string[];
91
- /** Governed documents whose on-disk JSON differs from the replayed value. */
92
- mismatched_documents: string[];
93
- /** Governed documents absent from disk. */
94
- missing_documents: string[];
95
- /** Governed documents that cannot be read as safe workspace-local JSON. */
96
- unreadable_documents: string[];
85
+ /** Whether every governed singleton is readable and equals its replayed value. */
86
+ ok: boolean;
87
+ /** Number of singleton documents represented by the latest replayed state. */
88
+ document_count: number;
89
+ /** Governed documents whose on-disk JSON equals the replayed value. */
90
+ matching_documents: string[];
91
+ /** Governed documents whose on-disk JSON differs from the replayed value. */
92
+ mismatched_documents: string[];
93
+ /** Governed documents absent from disk. */
94
+ missing_documents: string[];
95
+ /** Governed documents that cannot be read as safe workspace-local JSON. */
96
+ unreadable_documents: string[];
97
97
  }
98
98
  /** Authorized append-only reconciliation of one out-of-band singleton state. */
99
99
  export interface WorkspaceJsonReconciliationOptions extends Omit<WorkspaceJsonWriteOptions, "raw" | "recordCreation"> {
100
- /** Closed Decision item authorizing acceptance of the on-disk state. */
101
- authorizationDecision: string;
100
+ /** Closed Decision item authorizing acceptance of the on-disk state. */
101
+ authorizationDecision: string;
102
102
  }
103
103
  /** Restore one governed singleton from a recorded workspace history version. */
104
104
  export interface WorkspaceJsonRestoreOptions extends Omit<WorkspaceJsonWriteOptions, "raw" | "recordCreation"> {
105
- /** One-based workspace history version whose document value is restored. */
106
- targetVersion: number;
105
+ /** One-based workspace history version whose document value is restored. */
106
+ targetVersion: number;
107
107
  }
108
108
  /** Receipt returned after a singleton is restored from workspace history. */
109
109
  export interface WorkspaceJsonRestoreResult {
110
- /** Tracker-relative singleton identity. */
111
- document_path: string;
112
- /** One-based workspace history version used as the restore source. */
113
- restored_from_version: number;
114
- /** Whether the on-disk singleton and latest history state changed. */
115
- changed: boolean;
110
+ /** Tracker-relative singleton identity. */
111
+ document_path: string;
112
+ /** One-based workspace history version used as the restore source. */
113
+ restored_from_version: number;
114
+ /** Whether the on-disk singleton and latest history state changed. */
115
+ changed: boolean;
116
116
  }
117
117
  /**
118
118
  * Compare every singleton represented by the verified workspace stream with
@@ -127,34 +127,34 @@ export declare function inspectWorkspaceHistoryState(pmRoot: string): Promise<Wo
127
127
  * derived, so concurrent writers cannot fork the chain.
128
128
  */
129
129
  export declare function appendWorkspaceHistoryChange(change: WorkspaceHistoryChange): Promise<{
130
- entry: HistoryEntry;
131
- historyPath: string;
130
+ entry: HistoryEntry;
131
+ historyPath: string;
132
132
  }>;
133
133
  /** Append a verified no-state-change event to the workspace audit stream. */
134
134
  export declare function appendWorkspaceAuditEvent(options: WorkspaceAuditEventOptions): Promise<{
135
- entry: HistoryEntry;
136
- historyPath: string;
135
+ entry: HistoryEntry;
136
+ historyPath: string;
137
137
  }>;
138
138
  /**
139
139
  * Derive and persist an audited singleton mutation from one lock-protected
140
140
  * before-state, preventing read-modify-write callers from losing updates.
141
141
  */
142
142
  export declare function mutateWorkspaceJsonWithHistory<Result>(params: WorkspaceJsonMutationOptions<Result> & {
143
- idempotencyKey?: undefined;
143
+ idempotencyKey?: undefined;
144
144
  }): Promise<{
145
- changed: boolean;
146
- result: Result;
147
- replayed?: false;
145
+ changed: boolean;
146
+ result: Result;
147
+ replayed?: false;
148
148
  }>;
149
149
  /** Mutate an audited singleton while reporting a completed operation replay. */
150
150
  export declare function mutateWorkspaceJsonWithHistory<Result>(params: WorkspaceJsonMutationOptions<Result>): Promise<{
151
- changed: boolean;
152
- result: Result;
153
- replayed?: false;
151
+ changed: boolean;
152
+ result: Result;
153
+ replayed?: false;
154
154
  } | {
155
- changed: false;
156
- result: undefined;
157
- replayed: true;
155
+ changed: false;
156
+ result: undefined;
157
+ replayed: true;
158
158
  }>;
159
159
  /**
160
160
  * Atomically persist one caller-serialized JSON singleton and its audit entry
@@ -169,9 +169,9 @@ export declare function writeWorkspaceJsonWithHistory(params: WorkspaceJsonWrite
169
169
  * structured context.
170
170
  */
171
171
  export declare function reconcileWorkspaceJsonHistory(options: WorkspaceJsonReconciliationOptions): Promise<{
172
- changed: boolean;
173
- entry?: HistoryEntry;
174
- historyPath: string;
172
+ changed: boolean;
173
+ entry?: HistoryEntry;
174
+ historyPath: string;
175
175
  }>;
176
176
  /**
177
177
  * Restore one governed JSON singleton to the value recorded at a one-based
@@ -4,10 +4,10 @@ export type BulkIdsFileReader = (path: string) => Promise<string>;
4
4
  export type BulkIdsStdinReader = (optionName: string) => Promise<string>;
5
5
  /** Dependencies used to resolve CLI-only external ID sources. */
6
6
  export interface BulkIdsInputReaders {
7
- /** Read a UTF-8 `@path` payload. */
8
- readFile?: BulkIdsFileReader;
9
- /** Read the complete stdin payload for `-`. */
10
- readStdin?: BulkIdsStdinReader;
7
+ /** Read a UTF-8 `@path` payload. */
8
+ readFile?: BulkIdsFileReader;
9
+ /** Read the complete stdin payload for `-`. */
10
+ readStdin?: BulkIdsStdinReader;
11
11
  }
12
12
  /** Transport-native bulk ID shapes accepted by SDK and MCP adapters. */
13
13
  export type BulkIdsValue = string | number | readonly (string | number)[] | undefined;
@@ -13,20 +13,20 @@ export declare function indexBlockedByIds(corpus: readonly ItemMetadata[]): Map<
13
13
  export declare function collectBlockedByIdsFromCorpus(item: ItemMetadata, corpus: readonly ItemMetadata[]): string[];
14
14
  /** A blocker reference resolved against the corpus and annotated with its state. */
15
15
  export interface ResolvedBlocker {
16
- /** Stable identifier used to reference this record across commands and storage. */
17
- id: string;
18
- /** Value that configures or reports title for this contract. */
19
- title: string | null;
20
- /** Lifecycle state reported for status. */
21
- status: ItemStatus | null;
22
- /** True when the blocker no longer gates work because the referenced item is terminal. */
23
- resolved: boolean;
24
- /** Whether this blocker is a cross-system locator requiring an external resolver. */
25
- external?: boolean;
26
- /** Last holder mutation timestamp, used as a conservative external-block staleness marker. */
27
- blocked_since?: string;
28
- /** Resolver identity when an integration resolved this external blocker; null means unverifiable. */
29
- resolver?: string | null;
16
+ /** Stable identifier used to reference this record across commands and storage. */
17
+ id: string;
18
+ /** Value that configures or reports title for this contract. */
19
+ title: string | null;
20
+ /** Lifecycle state reported for status. */
21
+ status: ItemStatus | null;
22
+ /** True when the blocker no longer gates work because the referenced item is terminal. */
23
+ resolved: boolean;
24
+ /** Whether this blocker is a cross-system locator requiring an external resolver. */
25
+ external?: boolean;
26
+ /** Last holder mutation timestamp, used as a conservative external-block staleness marker. */
27
+ blocked_since?: string;
28
+ /** Resolver identity when an integration resolved this external blocker; null means unverifiable. */
29
+ resolver?: string | null;
30
30
  }
31
31
  /** Resolves an item's blockers against a corpus index with reverse `blocks` support. */
32
32
  export declare function resolveItemBlockers(item: Pick<ItemMetadata, "blocked_by" | "dependencies"> & Partial<Pick<ItemMetadata, "id" | "updated_at">>, itemsById: Map<string, ItemMetadata>, statusRegistry: RuntimeStatusRegistry): ResolvedBlocker[];
@@ -44,38 +44,38 @@ export declare function resolveItemBlockers(item: Pick<ItemMetadata, "blocked_by
44
44
  export declare function collectDependencyBlockedIds(corpus: ItemMetadata[], statusRegistry: RuntimeStatusRegistry): Set<string>;
45
45
  /** A classified actionable item plus the context an agent needs to act on it. */
46
46
  export interface ActionableEntry {
47
- /** Value that configures or reports item for this contract. */
48
- item: ItemMetadata;
49
- /** Blockers that still gate the item (resolved blockers are filtered out). */
50
- open_blockers: ResolvedBlocker[];
51
- /** Ids of non-terminal items whose `blocked_by` points at this item. */
52
- unblocks: string[];
47
+ /** Value that configures or reports item for this contract. */
48
+ item: ItemMetadata;
49
+ /** Blockers that still gate the item (resolved blockers are filtered out). */
50
+ open_blockers: ResolvedBlocker[];
51
+ /** Ids of non-terminal items whose `blocked_by` points at this item. */
52
+ unblocks: string[];
53
53
  }
54
54
  /** Result of partitioning a candidate set into ready vs blocked leaf work. */
55
55
  export interface ActionabilityReport {
56
- /** Active leaves with no open blockers — ready to work on now. */
57
- ready: ActionableEntry[];
58
- /** Active leaves with at least one open blocker — waiting to become ready. */
59
- blocked: ActionableEntry[];
60
- /** Active containers with unresolved descendants, including their blocker evidence. */
61
- containers: ActionableEntry[];
62
- /** Unblocked leaf work that requires a human decision. */
63
- decisions: ActionableEntry[];
64
- /** Unblocked leaf outcome gates held out of automatic dispatch. */
65
- gates: ActionableEntry[];
66
- /** Active candidates considered before the leaf/blocker split. */
67
- active_count: number;
68
- /** Active candidates skipped because they still have open descendants. */
69
- container_count: number;
56
+ /** Active leaves with no open blockers — ready to work on now. */
57
+ ready: ActionableEntry[];
58
+ /** Active leaves with at least one open blocker — waiting to become ready. */
59
+ blocked: ActionableEntry[];
60
+ /** Active containers with unresolved descendants, including their blocker evidence. */
61
+ containers: ActionableEntry[];
62
+ /** Unblocked leaf work that requires a human decision. */
63
+ decisions: ActionableEntry[];
64
+ /** Unblocked leaf outcome gates held out of automatic dispatch. */
65
+ gates: ActionableEntry[];
66
+ /** Active candidates considered before the leaf/blocker split. */
67
+ active_count: number;
68
+ /** Active candidates skipped because they still have open descendants. */
69
+ container_count: number;
70
70
  }
71
71
  /** Explicit dispatch opt-ins; dependency and lifecycle blocking always remain enforced. */
72
72
  export interface ActionabilitySelectionOptions {
73
- /** Include human decision work in the executable selection. */
74
- includeDecisions?: boolean;
75
- /** Include outcome gates in the executable selection. */
76
- includeGates?: boolean;
77
- /** Include containers whose descendants are still unfinished. */
78
- includeContainers?: boolean;
73
+ /** Include human decision work in the executable selection. */
74
+ includeDecisions?: boolean;
75
+ /** Include outcome gates in the executable selection. */
76
+ includeGates?: boolean;
77
+ /** Include containers whose descendants are still unfinished. */
78
+ includeContainers?: boolean;
79
79
  }
80
80
  /** Select dispatch candidates from a classified report while retaining held-out worklists. Ownership and ranking remain caller responsibilities. */
81
81
  export declare function selectActionableEntries(report: ActionabilityReport, statusRegistry: RuntimeStatusRegistry, options?: ActionabilitySelectionOptions, typeRegistry?: ItemTypeRegistry): Pick<ActionabilityReport, "ready" | "decisions" | "gates">;