@unbrained/pm-cli 2026.9.7 → 2026.9.9

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 (746) hide show
  1. package/.agents/skills/pm-developer/SKILL.md +12 -4
  2. package/.agents/skills/pm-developer/references/MULTI_AGENT_MERGE.md +19 -10
  3. package/.agents/skills/pm-extensions/SKILL.md +6 -0
  4. package/.agents/skills/pm-sdk/SKILL.md +11 -2
  5. package/.agents/skills/pm-user/SKILL.md +7 -2
  6. package/.agents/skills/pm-user/references/ECOSYSTEM_PLANNING.md +95 -0
  7. package/.claude-plugin/marketplace.json +2 -2
  8. package/CHANGELOG.md +231 -182
  9. package/dist/cli/after-command-context-usage.js +1 -48
  10. package/dist/cli/argv-utils.js +1 -40
  11. package/dist/cli/bootstrap-args.js +1 -9
  12. package/dist/cli/bundle-integrity.js +2 -110
  13. package/dist/cli/commander-usage.js +11 -771
  14. package/dist/cli/commands/activity.js +1 -9
  15. package/dist/cli/commands/aggregate.js +1 -5
  16. package/dist/cli/commands/append.js +1 -5
  17. package/dist/cli/commands/claim.js +1 -5
  18. package/dist/cli/commands/close-many.js +1 -5
  19. package/dist/cli/commands/close.js +1 -9
  20. package/dist/cli/commands/comments.js +1 -5
  21. package/dist/cli/commands/config.js +1 -9
  22. package/dist/cli/commands/context.js +1 -9
  23. package/dist/cli/commands/contracts.js +1 -5
  24. package/dist/cli/commands/copy.js +1 -9
  25. package/dist/cli/commands/create.js +1 -9
  26. package/dist/cli/commands/delete.js +1 -9
  27. package/dist/cli/commands/deps.js +1 -9
  28. package/dist/cli/commands/docs.js +1 -9
  29. package/dist/cli/commands/duplicates.js +1 -9
  30. package/dist/cli/commands/eval.js +1 -9
  31. package/dist/cli/commands/extension/describe.js +1 -5
  32. package/dist/cli/commands/extension/scaffold.js +1 -5
  33. package/dist/cli/commands/extension/shared.js +1 -5
  34. package/dist/cli/commands/extension.js +1 -9
  35. package/dist/cli/commands/files.js +1 -9
  36. package/dist/cli/commands/focus.js +1 -9
  37. package/dist/cli/commands/gc.js +1 -9
  38. package/dist/cli/commands/get.js +1 -9
  39. package/dist/cli/commands/graph.js +1 -10
  40. package/dist/cli/commands/health.js +1 -9
  41. package/dist/cli/commands/history-compact.js +1 -10
  42. package/dist/cli/commands/history-redact.js +1 -11
  43. package/dist/cli/commands/history-repair.js +1 -10
  44. package/dist/cli/commands/history.js +1 -5
  45. package/dist/cli/commands/index.js +1 -58
  46. package/dist/cli/commands/init-agent-guidance.js +1 -9
  47. package/dist/cli/commands/init.js +1 -9
  48. package/dist/cli/commands/learnings.js +1 -5
  49. package/dist/cli/commands/lifecycle-transitions.js +1 -5
  50. package/dist/cli/commands/list.js +1 -9
  51. package/dist/cli/commands/merge.js +1 -11
  52. package/dist/cli/commands/next.js +1 -9
  53. package/dist/cli/commands/notes.js +1 -5
  54. package/dist/cli/commands/plan.js +1 -9
  55. package/dist/cli/commands/profile.js +1 -9
  56. package/dist/cli/commands/restore.js +1 -9
  57. package/dist/cli/commands/scheduling-shortcuts.js +1 -9
  58. package/dist/cli/commands/schema.js +1 -10
  59. package/dist/cli/commands/search.js +1 -9
  60. package/dist/cli/commands/stats.js +1 -9
  61. package/dist/cli/commands/telemetry.js +1 -9
  62. package/dist/cli/commands/test-all.js +1 -9
  63. package/dist/cli/commands/test-runs.js +1 -9
  64. package/dist/cli/commands/test.js +1 -9
  65. package/dist/cli/commands/update-many.js +1 -5
  66. package/dist/cli/commands/update.js +1 -9
  67. package/dist/cli/commands/upgrade.js +1 -5
  68. package/dist/cli/commands/validate.js +1 -15
  69. package/dist/cli/context-intent-invocation.js +1 -20
  70. package/dist/cli/description-stdin.js +1 -17
  71. package/dist/cli/error-guidance.js +1 -1353
  72. package/dist/cli/extension-command-help.js +5 -636
  73. package/dist/cli/extension-command-options.js +1 -427
  74. package/dist/cli/extension-recovery.js +1 -126
  75. package/dist/cli/help-content.js +2 -1001
  76. package/dist/cli/help-json-payload.js +4 -570
  77. package/dist/cli/main.d.ts +4 -0
  78. package/dist/cli/main.js +5 -2573
  79. package/dist/cli/migration-gates.js +1 -289
  80. package/dist/cli/public.js +1 -20
  81. package/dist/cli/register-annotations.js +1 -270
  82. package/dist/cli/register-assurance.js +1 -62
  83. package/dist/cli/register-files-lookup.js +1 -56
  84. package/dist/cli/register-history-activity.d.ts +8 -0
  85. package/dist/cli/register-history-activity.js +2 -0
  86. package/dist/cli/register-history-author.js +1 -38
  87. package/dist/cli/register-history-maintenance.d.ts +9 -0
  88. package/dist/cli/register-history-maintenance.js +2 -0
  89. package/dist/cli/register-list-query.js +10 -943
  90. package/dist/cli/register-mutation-options.js +1 -9
  91. package/dist/cli/register-mutation.d.ts +0 -5
  92. package/dist/cli/register-mutation.js +19 -1893
  93. package/dist/cli/register-operations.js +1 -920
  94. package/dist/cli/register-setup.js +1 -716
  95. package/dist/cli/register-structured-mutation.js +1 -196
  96. package/dist/cli/registration-helpers.js +1 -5
  97. package/dist/cli/runtime-compatibility-boundary.js +4 -42
  98. package/dist/cli/schema-registration-helpers.js +1 -73
  99. package/dist/cli/search-refresh.js +1 -13
  100. package/dist/cli/stats-analytics-json.js +1 -68
  101. package/dist/cli/telemetry-flush.js +1 -10
  102. package/dist/cli-bundle/bundle-manifest.json +164 -156
  103. package/dist/cli-bundle/chunks/{chunk-NPN5I67J.js → chunk-3IPRM75M.js} +3 -3
  104. package/dist/cli-bundle/chunks/chunk-4VL5P22L.js +2 -0
  105. package/dist/cli-bundle/chunks/chunk-AAFBV3U3.js +29 -0
  106. package/dist/cli-bundle/chunks/chunk-D3YVILJJ.js +20 -0
  107. package/dist/cli-bundle/chunks/{chunk-WYRZZ5ZE.js → chunk-DEZPZOQ7.js} +2 -2
  108. package/dist/cli-bundle/chunks/chunk-ECBLPN7B.js +3 -0
  109. package/dist/cli-bundle/chunks/chunk-J6ERHBV2.js +235 -0
  110. package/dist/cli-bundle/chunks/chunk-JUNJ5EKI.js +2 -0
  111. package/dist/cli-bundle/chunks/chunk-L5RCDKQ2.js +2 -0
  112. package/dist/cli-bundle/chunks/chunk-NSAPNEYH.js +2 -0
  113. package/dist/cli-bundle/chunks/chunk-OHNLSGGV.js +79 -0
  114. package/dist/cli-bundle/chunks/chunk-WQKMSFBV.js +5 -0
  115. package/dist/cli-bundle/chunks/{chunk-BAX2BYUW.js → chunk-XZ6T7YPP.js} +256 -150
  116. package/dist/cli-bundle/chunks/{chunk-JT6XF6GE.js → chunk-Z3XVXUVF.js} +4 -4
  117. package/dist/cli-bundle/chunks/register-list-query-UIHRCS6D.js +11 -0
  118. package/dist/cli-bundle/chunks/register-mutation-WHWMGRVX.js +20 -0
  119. package/dist/cli-bundle/chunks/register-operations-64YZYTC5.js +2 -0
  120. package/dist/cli-bundle/chunks/register-setup-PERI45EM.js +2 -0
  121. package/dist/cli-bundle/focused-chunks/chunk-2W4XIYOB.js +2 -0
  122. package/dist/cli-bundle/focused-chunks/chunk-2WSBXIGF.js +12 -0
  123. package/dist/cli-bundle/focused-chunks/chunk-5FHTCOHS.js +3 -0
  124. package/dist/cli-bundle/focused-chunks/chunk-7N6DOREF.js +26 -0
  125. package/dist/cli-bundle/focused-chunks/{chunk-3BZEOXLT.js → chunk-7PC4R5QB.js} +2 -2
  126. package/dist/cli-bundle/focused-chunks/chunk-BUCJUZVG.js +6 -0
  127. package/dist/cli-bundle/focused-chunks/chunk-FE3BABLJ.js +2 -0
  128. package/dist/cli-bundle/focused-chunks/chunk-IWITF53W.js +2 -0
  129. package/dist/cli-bundle/focused-chunks/chunk-OQUGRHKV.js +10 -0
  130. package/dist/cli-bundle/focused-chunks/{chunk-M6PBRFSH.js → chunk-PNKIANFZ.js} +2 -2
  131. package/dist/cli-bundle/focused-chunks/{chunk-LIJIA4TY.js → chunk-QQQ4SAUO.js} +3 -3
  132. package/dist/cli-bundle/focused-chunks/chunk-TTYXF5YD.js +177 -0
  133. package/dist/cli-bundle/focused-chunks/chunk-XNR3DM6J.js +2 -0
  134. package/dist/cli-bundle/focused-chunks/chunk-XSS3APUF.js +9 -0
  135. package/dist/cli-bundle/focused-chunks/chunk-YCDQ2N23.js +8 -0
  136. package/dist/cli-bundle/focused-chunks/chunk-YJUXGS57.js +20 -0
  137. package/dist/cli-bundle/focused-chunks/chunk-ZTCE4UO6.js +58 -0
  138. package/dist/cli-bundle/main.js +20 -20
  139. package/dist/cli-bundle/sdk-authoring.js +1 -1
  140. package/dist/cli-bundle/sdk-contracts.js +2 -2
  141. package/dist/cli-bundle/sdk-core.js +37 -37
  142. package/dist/cli-bundle/sdk-governance.js +1 -1
  143. package/dist/cli-bundle/sdk-graph.js +1 -1
  144. package/dist/cli-bundle/sdk-merge.js +42 -42
  145. package/dist/cli-bundle/sdk-query.js +1 -1
  146. package/dist/cli-bundle/sdk-runtime.js +1 -1
  147. package/dist/cli-bundle/sdk-testing.js +1 -1
  148. package/dist/cli-bundle/sdk.js +11 -11
  149. package/dist/cli.js +1 -104
  150. package/dist/core/checkpoint/checkpoint-gc.js +1 -169
  151. package/dist/core/checkpoint/mutation-checkpoint.js +2 -133
  152. package/dist/core/config/nested-settings.js +1 -534
  153. package/dist/core/config/positional-value.js +1 -109
  154. package/dist/core/diagnostics/remediation.js +1 -506
  155. package/dist/core/extensions/activation-summary-markdown.js +2 -145
  156. package/dist/core/extensions/activation-summary.js +1 -92
  157. package/dist/core/extensions/activation-transaction.js +1 -46
  158. package/dist/core/extensions/capability-usage.js +1 -173
  159. package/dist/core/extensions/command-hook-context.js +1 -13
  160. package/dist/core/extensions/command-metadata-contract.js +1 -22
  161. package/dist/core/extensions/command-visibility-tier.js +1 -29
  162. package/dist/core/extensions/contribution-inventory.js +1 -173
  163. package/dist/core/extensions/exporter-output-contract.js +1 -66
  164. package/dist/core/extensions/extension-candidate.js +1 -18
  165. package/dist/core/extensions/extension-capability-aliases.js +1 -158
  166. package/dist/core/extensions/extension-hook-runtime.js +1 -699
  167. package/dist/core/extensions/extension-policy.js +1 -599
  168. package/dist/core/extensions/extension-registries.js +1 -62
  169. package/dist/core/extensions/extension-runtime-helpers.js +1 -33
  170. package/dist/core/extensions/extension-types.js +1 -102
  171. package/dist/core/extensions/flag-definition-validation.js +1 -52
  172. package/dist/core/extensions/flag-value-types.js +1 -64
  173. package/dist/core/extensions/index.js +1 -526
  174. package/dist/core/extensions/item-field-types.js +1 -39
  175. package/dist/core/extensions/item-fields.js +1 -261
  176. package/dist/core/extensions/loader.js +1 -2223
  177. package/dist/core/extensions/manifest-schema.js +1 -69
  178. package/dist/core/extensions/module-graph-snapshot.js +1 -33
  179. package/dist/core/extensions/preflight-ownership.js +1 -41
  180. package/dist/core/extensions/registration-validation.js +1 -82
  181. package/dist/core/extensions/registration-values.js +1 -209
  182. package/dist/core/extensions/reserved-host-flags.js +1 -36
  183. package/dist/core/extensions/runtime-registrations.js +1 -67
  184. package/dist/core/extensions/service-ownership.js +1 -19
  185. package/dist/core/extensions/version-compat.js +1 -216
  186. package/dist/core/fs/fs-utils.js +2 -158
  187. package/dist/core/fs/host-environment-errors.js +1 -141
  188. package/dist/core/fs/index.js +1 -9
  189. package/dist/core/fs/path-utils.js +1 -17
  190. package/dist/core/governance/content-fields.js +1 -160
  191. package/dist/core/governance/issue-codes.js +1 -151
  192. package/dist/core/governance/metadata-coverage.js +1 -358
  193. package/dist/core/history/drift-cache.js +3 -72
  194. package/dist/core/history/drift-scan.js +1 -342
  195. package/dist/core/history/event-classification.js +1 -109
  196. package/dist/core/history/event-index.js +8 -784
  197. package/dist/core/history/history-compact-bulk.js +1 -104
  198. package/dist/core/history/history-diff.js +1 -158
  199. package/dist/core/history/history-rewrite.d.ts +6 -1
  200. package/dist/core/history/history-rewrite.js +1 -107
  201. package/dist/core/history/history-storage-stats.js +1 -102
  202. package/dist/core/history/history-stream-policy.js +1 -62
  203. package/dist/core/history/history.js +2 -617
  204. package/dist/core/history/identity.js +1 -30
  205. package/dist/core/history/index.js +1 -9
  206. package/dist/core/history/projection.js +1 -196
  207. package/dist/core/history/read.d.ts +9 -0
  208. package/dist/core/history/read.js +1 -57
  209. package/dist/core/history/replay.js +2 -439
  210. package/dist/core/history/version-address.js +1 -32
  211. package/dist/core/history/workspace-history.js +2 -433
  212. package/dist/core/io/body-file.js +1 -62
  213. package/dist/core/io/bulk-ids-input.js +1 -112
  214. package/dist/core/item/actionability.js +1 -327
  215. package/dist/core/item/dependency-reference.js +1 -20
  216. package/dist/core/item/id.js +1 -112
  217. package/dist/core/item/index.js +1 -12
  218. package/dist/core/item/item-format-version.js +1 -78
  219. package/dist/core/item/item-format.js +5 -1473
  220. package/dist/core/item/item-record.js +1 -23
  221. package/dist/core/item/item-type-definition.js +1 -133
  222. package/dist/core/item/parent-reference-policy.js +1 -57
  223. package/dist/core/item/parse.js +2 -603
  224. package/dist/core/item/plan-lifecycle.js +1 -19
  225. package/dist/core/item/priority.js +1 -61
  226. package/dist/core/item/sprint-release-format.js +1 -38
  227. package/dist/core/item/status-filter.js +1 -115
  228. package/dist/core/item/status.js +1 -43
  229. package/dist/core/item/toon-decode.js +1 -29
  230. package/dist/core/item/type-registry.js +1 -715
  231. package/dist/core/item/type-synonyms.js +1 -38
  232. package/dist/core/lock/index.js +1 -9
  233. package/dist/core/lock/lock-gc.js +1 -240
  234. package/dist/core/lock/lock.js +3 -590
  235. package/dist/core/output/mutation-projection.js +1 -217
  236. package/dist/core/output/output-control.js +1 -25
  237. package/dist/core/output/output.js +11 -494
  238. package/dist/core/output/query-summary.js +1 -58
  239. package/dist/core/output/tabular.js +1 -77
  240. package/dist/core/packages/manifest.js +1 -244
  241. package/dist/core/packages/root.js +1 -84
  242. package/dist/core/policy/workflow-policy-schema.d.ts +312 -0
  243. package/dist/core/policy/workflow-policy-schema.js +2 -0
  244. package/dist/core/policy/workflow-policy-store.d.ts +24 -0
  245. package/dist/core/policy/workflow-policy-store.js +2 -0
  246. package/dist/core/policy/workflow-policy.d.ts +139 -0
  247. package/dist/core/policy/workflow-policy.js +2 -0
  248. package/dist/core/profile/profile-describe.js +1 -83
  249. package/dist/core/profile/profile-lint.js +1 -415
  250. package/dist/core/profile/profile-plan.js +0 -0
  251. package/dist/core/profile/profile-presets.js +1 -370
  252. package/dist/core/reproducibility/context.js +1 -82
  253. package/dist/core/schema/fields-file.js +2 -288
  254. package/dist/core/schema/item-types-file.js +2 -296
  255. package/dist/core/schema/runtime-field-filters.js +1 -49
  256. package/dist/core/schema/runtime-field-values.js +1 -313
  257. package/dist/core/schema/runtime-schema.js +2 -826
  258. package/dist/core/schema/status-defs-file.js +2 -227
  259. package/dist/core/schema/status-token.js +1 -31
  260. package/dist/core/schema/type-inference.js +1 -95
  261. package/dist/core/schema/type-presets.js +1 -87
  262. package/dist/core/schema/type-workflows.js +1 -104
  263. package/dist/core/search/background-refresh.js +2 -286
  264. package/dist/core/search/bm25.js +1 -146
  265. package/dist/core/search/cache.js +2 -534
  266. package/dist/core/search/corpus.js +1 -311
  267. package/dist/core/search/embedding-batches.js +1 -163
  268. package/dist/core/search/eval.js +1 -225
  269. package/dist/core/search/http-client.js +1 -75
  270. package/dist/core/search/providers.js +1 -242
  271. package/dist/core/search/relevance.js +1 -244
  272. package/dist/core/search/semantic-defaults.js +1 -199
  273. package/dist/core/search/staleness.js +1 -30
  274. package/dist/core/search/vector-stores.js +2 -664
  275. package/dist/core/search/vectorization-metadata.js +1 -81
  276. package/dist/core/sentry/helpers.js +1 -272
  277. package/dist/core/sentry/instrument.js +1 -387
  278. package/dist/core/session/session-state.js +1 -260
  279. package/dist/core/shared/agent-session-context.js +1 -133
  280. package/dist/core/shared/author.js +1 -1172
  281. package/dist/core/shared/command-types.js +1 -4
  282. package/dist/core/shared/conflict-markers.js +1 -31
  283. package/dist/core/shared/constants.js +1 -405
  284. package/dist/core/shared/errors.js +1 -20
  285. package/dist/core/shared/html-entity-decode.js +1 -131
  286. package/dist/core/shared/index.js +1 -12
  287. package/dist/core/shared/item-metadata-contract.js +1 -89
  288. package/dist/core/shared/lazy-module.js +1 -16
  289. package/dist/core/shared/levenshtein.js +1 -61
  290. package/dist/core/shared/memo.js +1 -19
  291. package/dist/core/shared/numeric-parsers.js +1 -20
  292. package/dist/core/shared/option-alias-visibility.js +1 -67
  293. package/dist/core/shared/primitives.js +1 -127
  294. package/dist/core/shared/serial-queue.js +1 -79
  295. package/dist/core/shared/serialization.js +1 -210
  296. package/dist/core/shared/split-comma-list.js +1 -30
  297. package/dist/core/shared/text-normalization.js +1 -38
  298. package/dist/core/shared/time.js +1 -306
  299. package/dist/core/store/index.js +1 -12
  300. package/dist/core/store/item-format-migration.js +1 -125
  301. package/dist/core/store/item-metadata-cache.js +1 -1116
  302. package/dist/core/store/item-metadata-query-index.js +9 -394
  303. package/dist/core/store/item-metadata-read-work.js +1 -43
  304. package/dist/core/store/item-store.js +1 -693
  305. package/dist/core/store/paths.d.ts +1 -1
  306. package/dist/core/store/paths.js +1 -214
  307. package/dist/core/store/settings-read-cache.js +1 -85
  308. package/dist/core/store/settings-validator.d.ts +1 -0
  309. package/dist/core/store/settings-validator.js +1 -421
  310. package/dist/core/store/settings.js +3 -1309
  311. package/dist/core/store/tracker-preflight.js +1 -141
  312. package/dist/core/telemetry/consent.js +5 -108
  313. package/dist/core/telemetry/observability.js +1 -246
  314. package/dist/core/telemetry/runtime.js +4 -1988
  315. package/dist/core/test/background-runs.js +4 -945
  316. package/dist/core/test/item-test-run-tracking.js +1 -63
  317. package/dist/core/test/run-selectors.js +1 -120
  318. package/dist/core/validate/estimate-defaults.js +1 -89
  319. package/dist/core/validate/fix-planning.js +1 -189
  320. package/dist/core/validate/linked-artifact-reference.js +1 -36
  321. package/dist/core/validate/missing-by-type.js +1 -34
  322. package/dist/core/validate/missing-link-owners.js +1 -95
  323. package/dist/core/validate/stale-file-classification.js +1 -82
  324. package/dist/mcp/http-server.js +5 -448
  325. package/dist/mcp/legacy-adapter.js +1 -77
  326. package/dist/mcp/runtime-capabilities.js +1 -200
  327. package/dist/mcp/server.js +4 -1233
  328. package/dist/mcp/tool-definitions.js +1 -804
  329. package/dist/sdk/actionability.js +1 -13
  330. package/dist/sdk/agent/closed-domain-contracts.js +1 -161
  331. package/dist/sdk/agent/command-recovery.js +1 -59
  332. package/dist/sdk/agent/command-suggestions.js +1 -66
  333. package/dist/sdk/agent/create-option-policy.js +1 -31
  334. package/dist/sdk/agent/identity-config.js +1 -106
  335. package/dist/sdk/agent/item-addressing.js +1 -207
  336. package/dist/sdk/agent/refusal-closure-census.js +1 -151
  337. package/dist/sdk/agent/refusal-closure.js +1 -133
  338. package/dist/sdk/agent/refusal-corpus-contracts.js +1 -193
  339. package/dist/sdk/agent/refusal-reachability.js +1 -593
  340. package/dist/sdk/agent/subcommand-recovery.js +1 -83
  341. package/dist/sdk/agent/task-transcript-contracts.js +1 -197
  342. package/dist/sdk/agent/tracker-preflight-contracts.js +1 -126
  343. package/dist/sdk/agent-capability-contracts.js +1 -428
  344. package/dist/sdk/agent-session-context.js +1 -9
  345. package/dist/sdk/annotations.js +1 -448
  346. package/dist/sdk/author-attribution.js +1 -468
  347. package/dist/sdk/authoring.js +1 -20
  348. package/dist/sdk/cli-bootstrap.js +1 -838
  349. package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +1 -1
  350. package/dist/sdk/cli-contracts/agent-output-contracts.js +4 -476
  351. package/dist/sdk/cli-contracts/bootstrap-command-scanner.js +1 -79
  352. package/dist/sdk/cli-contracts/command-aliases.d.ts +4 -0
  353. package/dist/sdk/cli-contracts/command-aliases.js +1 -107
  354. package/dist/sdk/cli-contracts/command-exit-contracts.js +1 -151
  355. package/dist/sdk/cli-contracts/commander-mutation-options.js +1 -1081
  356. package/dist/sdk/cli-contracts/commander-types.js +1 -159
  357. package/dist/sdk/cli-contracts/completeness.js +1 -393
  358. package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
  359. package/dist/sdk/cli-contracts/enum-contracts.js +1 -222
  360. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1947
  361. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -347
  362. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -986
  363. package/dist/sdk/cli-contracts/registration-helpers.js +7 -990
  364. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +5 -0
  365. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -2090
  366. package/dist/sdk/cli-contracts/schemas/assurance-definition.js +1 -324
  367. package/dist/sdk/cli-contracts/string-lists.js +1 -16
  368. package/dist/sdk/cli-contracts/tool-option-contracts.js +1 -461
  369. package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -2167
  370. package/dist/sdk/cli-contracts/tool-schema.d.ts +3 -1
  371. package/dist/sdk/cli-contracts/tool-schema.js +1 -1664
  372. package/dist/sdk/cli-contracts/typed-action-inputs.js +1 -4
  373. package/dist/sdk/cli-contracts.d.ts +1 -1
  374. package/dist/sdk/cli-contracts.js +1 -17
  375. package/dist/sdk/cli-program.js +1 -49
  376. package/dist/sdk/command-line.d.ts +2 -5
  377. package/dist/sdk/command-line.js +1 -78
  378. package/dist/sdk/comments.js +1 -133
  379. package/dist/sdk/compile-cache.js +1 -73
  380. package/dist/sdk/completion.js +174 -839
  381. package/dist/sdk/compose.js +1 -1090
  382. package/dist/sdk/config.js +1 -1204
  383. package/dist/sdk/context/recency.js +1 -33
  384. package/dist/sdk/context/semantic-session-attribution.js +1 -82
  385. package/dist/sdk/context/usage-egress.js +1 -29
  386. package/dist/sdk/context/usage-ledger.js +3 -185
  387. package/dist/sdk/context-intent-contracts.js +1 -709
  388. package/dist/sdk/context-intent-runtime.js +1 -115
  389. package/dist/sdk/context-packing.js +1 -218
  390. package/dist/sdk/context-relevance.js +1 -503
  391. package/dist/sdk/context-signal-store.js +2 -426
  392. package/dist/sdk/context-usage.js +1 -367
  393. package/dist/sdk/contracts.js +1 -23
  394. package/dist/sdk/core-governance.js +1 -14
  395. package/dist/sdk/core.js +1 -14
  396. package/dist/sdk/corpus-shape.js +1 -401
  397. package/dist/sdk/define.js +1 -220
  398. package/dist/sdk/dependencies.js +1 -718
  399. package/dist/sdk/dependency-flag-validation.js +1 -156
  400. package/dist/sdk/dependency-provenance.js +1 -135
  401. package/dist/sdk/docs.js +1 -14
  402. package/dist/sdk/duplicates.js +1 -40
  403. package/dist/sdk/environment/agent-environment.js +1 -466
  404. package/dist/sdk/environment/host-environment-errors.js +1 -8
  405. package/dist/sdk/environment/project-runtime-compatibility.js +1 -481
  406. package/dist/sdk/environment/source-context.js +1 -28
  407. package/dist/sdk/environment/tracker-preflight.js +1 -9
  408. package/dist/sdk/error-code-catalog.js +1 -153
  409. package/dist/sdk/error-runtime.js +1 -58
  410. package/dist/sdk/errors.js +1 -58
  411. package/dist/sdk/eval.js +1 -190
  412. package/dist/sdk/extension/author-manifest.js +1 -92
  413. package/dist/sdk/extension/bundled-catalog.js +1 -332
  414. package/dist/sdk/extension/concurrency.js +1 -25
  415. package/dist/sdk/extension/copy-scope.d.ts +2 -0
  416. package/dist/sdk/extension/copy-scope.js +2 -0
  417. package/dist/sdk/extension/custom-field-collisions.js +1 -30
  418. package/dist/sdk/extension/describe.js +3 -189
  419. package/dist/sdk/extension/doctor.js +1 -606
  420. package/dist/sdk/extension/install-plan.d.ts +69 -0
  421. package/dist/sdk/extension/install-plan.js +2 -0
  422. package/dist/sdk/extension/install-receipts.d.ts +7 -0
  423. package/dist/sdk/extension/install-receipts.js +2 -0
  424. package/dist/sdk/extension/install-runtime.js +3 -313
  425. package/dist/sdk/extension/install-snapshot.js +1 -66
  426. package/dist/sdk/extension/install-sources.js +5 -1057
  427. package/dist/sdk/extension/managed-state.js +2 -252
  428. package/dist/sdk/extension/migrations.js +2 -174
  429. package/dist/sdk/extension/output-ownership.js +1 -25
  430. package/dist/sdk/extension/runtime-summary.js +1 -18
  431. package/dist/sdk/extension/scaffold.js +4 -2308
  432. package/dist/sdk/extension/shared.js +1 -147
  433. package/dist/sdk/extension/source-resolution.js +1 -65
  434. package/dist/sdk/extension/update-check.js +1 -67
  435. package/dist/sdk/extension-command-context.js +1 -44
  436. package/dist/sdk/extension-contracts.js +1 -73
  437. package/dist/sdk/extension.d.ts +7 -2
  438. package/dist/sdk/extension.js +1 -2196
  439. package/dist/sdk/files.js +1 -535
  440. package/dist/sdk/flag-invocation-contracts.d.ts +0 -5
  441. package/dist/sdk/flag-invocation-contracts.js +1 -344
  442. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -2224
  443. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -2236
  444. package/dist/sdk/generated-error-code-catalog.js +1 -16
  445. package/dist/sdk/governance/assurance-action-contracts.js +1 -4
  446. package/dist/sdk/governance/assurance-action.js +1 -411
  447. package/dist/sdk/governance/assurance-limits.js +1 -10
  448. package/dist/sdk/governance/assurance-mutation-error.js +1 -81
  449. package/dist/sdk/governance/assurance-presets.js +1 -135
  450. package/dist/sdk/governance/assurance-runtime.js +1 -238
  451. package/dist/sdk/governance/assurance.js +4 -1182
  452. package/dist/sdk/governance/boundary-fixtures.js +1 -200
  453. package/dist/sdk/governance/coverage-assurance.js +1 -60
  454. package/dist/sdk/governance/defect-recurrence-coverage.js +1 -188
  455. package/dist/sdk/governance/defect-recurrence-graph.js +1 -120
  456. package/dist/sdk/governance/defect-recurrence-signals.js +1 -24
  457. package/dist/sdk/governance/defect-recurrence.js +1 -623
  458. package/dist/sdk/governance/extension-host-version.js +1 -115
  459. package/dist/sdk/governance/gc.js +1 -368
  460. package/dist/sdk/governance/health.js +1 -2367
  461. package/dist/sdk/governance/hierarchy-validation.js +1 -108
  462. package/dist/sdk/governance/linked-file-report.js +1 -71
  463. package/dist/sdk/governance/merge-receipt-history.js +1 -206
  464. package/dist/sdk/governance/provenance-health.js +1 -282
  465. package/dist/sdk/governance/reindex.js +4 -761
  466. package/dist/sdk/governance/stale-work.js +1 -82
  467. package/dist/sdk/governance/status-role-diagnostics.js +1 -35
  468. package/dist/sdk/governance/storage-integrity.js +1 -280
  469. package/dist/sdk/governance/tracked-runtime-cache.js +1 -106
  470. package/dist/sdk/governance/upgrade.js +2 -327
  471. package/dist/sdk/governance/validate-history-drift.js +1 -81
  472. package/dist/sdk/governance/validate-item-reader.js +1 -17
  473. package/dist/sdk/governance/validate-normalization.js +1 -36
  474. package/dist/sdk/governance/validate.d.ts +3 -1
  475. package/dist/sdk/governance/validate.js +1 -2261
  476. package/dist/sdk/governance/workflow-completeness.d.ts +32 -0
  477. package/dist/sdk/governance/workflow-completeness.js +2 -0
  478. package/dist/sdk/governance/workflow-policy.d.ts +47 -0
  479. package/dist/sdk/governance/workflow-policy.js +4 -0
  480. package/dist/sdk/governance/workspace-position.js +1 -163
  481. package/dist/sdk/governance.d.ts +2 -0
  482. package/dist/sdk/governance.js +1 -31
  483. package/dist/sdk/graph/adapter.js +1 -181
  484. package/dist/sdk/graph/analytics.js +1 -474
  485. package/dist/sdk/graph/assembly.js +1 -377
  486. package/dist/sdk/graph/cache.js +1 -160
  487. package/dist/sdk/graph/centrality.js +1 -258
  488. package/dist/sdk/graph/conformance.js +1 -130
  489. package/dist/sdk/graph/deadline-scheduling.d.ts +90 -0
  490. package/dist/sdk/graph/deadline-scheduling.js +2 -0
  491. package/dist/sdk/graph/durable-cache.d.ts +1 -1
  492. package/dist/sdk/graph/durable-cache.js +1 -361
  493. package/dist/sdk/graph/governance-contracts.js +1 -34
  494. package/dist/sdk/graph/governance.d.ts +13 -1
  495. package/dist/sdk/graph/governance.js +1 -735
  496. package/dist/sdk/graph/hierarchy-integrity.js +1 -310
  497. package/dist/sdk/graph/index.d.ts +3 -2
  498. package/dist/sdk/graph/index.js +1 -26
  499. package/dist/sdk/graph/lifecycle-coverage.d.ts +32 -0
  500. package/dist/sdk/graph/lifecycle-coverage.js +2 -0
  501. package/dist/sdk/graph/mutation-advisory.js +1 -176
  502. package/dist/sdk/graph/remediation.js +1 -197
  503. package/dist/sdk/graph/run.d.ts +15 -1
  504. package/dist/sdk/graph/run.js +1 -768
  505. package/dist/sdk/graph/scheduling.js +1 -124
  506. package/dist/sdk/graph/traversal.js +1 -284
  507. package/dist/sdk/graph/workspace-relationship-kind-registry.js +1 -27
  508. package/dist/sdk/graph.js +1 -15
  509. package/dist/sdk/guide-topics.js +1 -707
  510. package/dist/sdk/guide.js +1 -279
  511. package/dist/sdk/history/maintenance.d.ts +71 -0
  512. package/dist/sdk/history/maintenance.js +2 -0
  513. package/dist/sdk/history/salvage.js +2 -247
  514. package/dist/sdk/history/subject.d.ts +19 -0
  515. package/dist/sdk/history/subject.js +2 -0
  516. package/dist/sdk/history-analytics.js +1 -282
  517. package/dist/sdk/history-compact.js +1 -527
  518. package/dist/sdk/history-mcp.js +1 -68
  519. package/dist/sdk/history-provenance.js +1 -182
  520. package/dist/sdk/history-read.js +1 -96
  521. package/dist/sdk/history-redact.d.ts +1 -14
  522. package/dist/sdk/history-redact.js +1 -643
  523. package/dist/sdk/history-repair.d.ts +5 -0
  524. package/dist/sdk/history-repair.js +1 -657
  525. package/dist/sdk/improvement-ledger-validation.js +1 -62
  526. package/dist/sdk/improvement-ledger.js +2 -257
  527. package/dist/sdk/index.d.ts +4 -1
  528. package/dist/sdk/index.js +1 -183
  529. package/dist/sdk/init-agent-guidance.js +2 -496
  530. package/dist/sdk/init.js +2 -820
  531. package/dist/sdk/invocation-author.js +1 -39
  532. package/dist/sdk/item-children.js +1 -90
  533. package/dist/sdk/item-metadata-index.js +1 -15
  534. package/dist/sdk/item-schedule.js +1 -27
  535. package/dist/sdk/item-transaction.js +1 -396
  536. package/dist/sdk/learnings.js +1 -29
  537. package/dist/sdk/lifecycle/append.js +2 -53
  538. package/dist/sdk/lifecycle/claim.d.ts +2 -0
  539. package/dist/sdk/lifecycle/claim.js +1 -242
  540. package/dist/sdk/lifecycle/close-many.js +1 -438
  541. package/dist/sdk/lifecycle/close.js +1 -468
  542. package/dist/sdk/lifecycle/copy.js +1 -212
  543. package/dist/sdk/lifecycle/create.js +1 -1949
  544. package/dist/sdk/lifecycle/delete.js +1 -45
  545. package/dist/sdk/lifecycle/event-validation-messages.js +1 -91
  546. package/dist/sdk/lifecycle/focus.js +1 -91
  547. package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +1 -24
  548. package/dist/sdk/lifecycle/legacy-none-tokens.js +1 -149
  549. package/dist/sdk/lifecycle/lifecycle-transitions.js +1 -40
  550. package/dist/sdk/lifecycle/mcp-actions.d.ts +2 -0
  551. package/dist/sdk/lifecycle/mcp-actions.js +1 -51
  552. package/dist/sdk/lifecycle/metadata-normalizers.js +1 -46
  553. package/dist/sdk/lifecycle/mutation-command-options.js +1 -9
  554. package/dist/sdk/lifecycle/plan.js +1 -1606
  555. package/dist/sdk/lifecycle/recurrence-parsers.d.ts +1 -1
  556. package/dist/sdk/lifecycle/recurrence-parsers.js +1 -147
  557. package/dist/sdk/lifecycle/reopen.js +1 -68
  558. package/dist/sdk/lifecycle/repeatable-metadata-parsers.js +1 -143
  559. package/dist/sdk/lifecycle/restore.d.ts +1 -0
  560. package/dist/sdk/lifecycle/restore.js +1 -330
  561. package/dist/sdk/lifecycle/shared-unset-fields.js +1 -295
  562. package/dist/sdk/lifecycle/update-many.js +1 -861
  563. package/dist/sdk/lifecycle/update.js +1 -2136
  564. package/dist/sdk/lifecycle-completion.js +1 -92
  565. package/dist/sdk/lifecycle-policy.js +1 -120
  566. package/dist/sdk/linked-artifacts.js +1 -530
  567. package/dist/sdk/mcp/apps.js +4 -133
  568. package/dist/sdk/mcp/authorization.js +1 -404
  569. package/dist/sdk/mcp/discovery.js +1 -494
  570. package/dist/sdk/mcp/interactions.js +1 -336
  571. package/dist/sdk/mcp/protocol.d.ts +7 -0
  572. package/dist/sdk/mcp/protocol.js +1 -184
  573. package/dist/sdk/mcp/skills.js +1 -389
  574. package/dist/sdk/mcp/subscriptions.js +1 -211
  575. package/dist/sdk/mcp/tasks.js +2 -430
  576. package/dist/sdk/mcp/transport.js +1 -260
  577. package/dist/sdk/merge/abandoned-receipts.js +1 -46
  578. package/dist/sdk/merge/driver.js +1 -212
  579. package/dist/sdk/merge/index.js +1 -16
  580. package/dist/sdk/merge/install.js +3 -561
  581. package/dist/sdk/merge/receipt-file-boundary.js +1 -46
  582. package/dist/sdk/merge/receipt-operation.js +1 -96
  583. package/dist/sdk/merge/receipt-schema.js +1 -397
  584. package/dist/sdk/merge/receipts.js +4 -525
  585. package/dist/sdk/merge/reconcile.js +1 -352
  586. package/dist/sdk/merge/three-way.js +3 -775
  587. package/dist/sdk/merge.js +1 -10
  588. package/dist/sdk/mutation-events.js +1 -292
  589. package/dist/sdk/mutation-guard.js +1 -216
  590. package/dist/sdk/notes.js +1 -139
  591. package/dist/sdk/output-contracts.js +1 -172
  592. package/dist/sdk/output-projection.js +1 -430
  593. package/dist/sdk/output-token-accounting.js +1 -140
  594. package/dist/sdk/output.js +1 -64
  595. package/dist/sdk/ownership-source.js +1 -21
  596. package/dist/sdk/package-import-adapters.js +1 -442
  597. package/dist/sdk/package-migrations.js +1 -20
  598. package/dist/sdk/package-runtime-options.js +1 -80
  599. package/dist/sdk/pagination.js +1 -162
  600. package/dist/sdk/profile.js +1 -454
  601. package/dist/sdk/provenance.js +1 -258
  602. package/dist/sdk/public-surface.json +1 -1
  603. package/dist/sdk/query/activity.js +1 -401
  604. package/dist/sdk/query/aggregate.d.ts +16 -0
  605. package/dist/sdk/query/aggregate.js +1 -390
  606. package/dist/sdk/query/calendar.js +1 -964
  607. package/dist/sdk/query/complete-list.js +1 -215
  608. package/dist/sdk/query/context.js +1 -1702
  609. package/dist/sdk/query/duplicate-candidates.js +1 -70
  610. package/dist/sdk/query/get.js +1 -450
  611. package/dist/sdk/query/history.js +1 -186
  612. package/dist/sdk/query/item-filter-options.js +1 -9
  613. package/dist/sdk/query/light-metadata.js +1 -18
  614. package/dist/sdk/query/list-filter-shared.js +1 -81
  615. package/dist/sdk/query/list.js +1 -1304
  616. package/dist/sdk/query/multi-value-filters.js +1 -78
  617. package/dist/sdk/query/next.js +1 -513
  618. package/dist/sdk/query/parsers.js +1 -44
  619. package/dist/sdk/query/projection-contracts.js +1 -184
  620. package/dist/sdk/query/search-contracts.d.ts +27 -0
  621. package/dist/sdk/query/search-contracts.js +1 -230
  622. package/dist/sdk/query/search-pagination.js +1 -35
  623. package/dist/sdk/query/search-rendering.js +1 -105
  624. package/dist/sdk/query/search.d.ts +6 -4
  625. package/dist/sdk/query/search.js +2 -1987
  626. package/dist/sdk/query.js +1 -35
  627. package/dist/sdk/read-output/continuation.js +1 -194
  628. package/dist/sdk/read-output-budget.js +1 -135
  629. package/dist/sdk/read-output-contracts.d.ts +1 -1
  630. package/dist/sdk/read-output-contracts.js +1 -1225
  631. package/dist/sdk/read-output-rows.js +1 -186
  632. package/dist/sdk/read-output-session.js +1 -208
  633. package/dist/sdk/relationship-analytics.js +1 -410
  634. package/dist/sdk/relationship-context.js +1 -284
  635. package/dist/sdk/relationship-history.js +4 -519
  636. package/dist/sdk/relationship-kinds/contract.js +1 -22
  637. package/dist/sdk/relationship-migration.js +1 -77
  638. package/dist/sdk/relationships.js +1 -579
  639. package/dist/sdk/reproducibility/process.js +1 -87
  640. package/dist/sdk/runtime-action-aliases.js +1 -59
  641. package/dist/sdk/runtime-extended-actions.js +1 -177
  642. package/dist/sdk/runtime-input.js +1 -614
  643. package/dist/sdk/runtime-primitives.js +1 -84
  644. package/dist/sdk/runtime-public-contracts.d.ts +2 -1
  645. package/dist/sdk/runtime-public-contracts.js +1 -4
  646. package/dist/sdk/runtime-stats-options.js +1 -38
  647. package/dist/sdk/runtime.d.ts +4 -0
  648. package/dist/sdk/runtime.js +1 -1928
  649. package/dist/sdk/scheduling-shortcuts.js +1 -63
  650. package/dist/sdk/schema-migration.js +3 -856
  651. package/dist/sdk/schema.d.ts +2 -1
  652. package/dist/sdk/schema.js +1 -1376
  653. package/dist/sdk/search-refresh-worker.js +1 -18
  654. package/dist/sdk/similarity-scoring.js +1 -53
  655. package/dist/sdk/similarity.js +1 -326
  656. package/dist/sdk/start-task-status.js +1 -14
  657. package/dist/sdk/stats.js +1 -270
  658. package/dist/sdk/structured-mutations.js +1 -580
  659. package/dist/sdk/telemetry-flush.js +1 -13
  660. package/dist/sdk/telemetry.js +1 -405
  661. package/dist/sdk/templates.js +2 -292
  662. package/dist/sdk/test/batch.js +2 -509
  663. package/dist/sdk/test/entry.js +1 -70
  664. package/dist/sdk/test/execution.js +6 -2211
  665. package/dist/sdk/test/linked-command-detection.js +1 -546
  666. package/dist/sdk/test/measurements.js +1 -91
  667. package/dist/sdk/test/parsers.js +1 -545
  668. package/dist/sdk/test/runs.js +1 -193
  669. package/dist/sdk/test/trust.js +2 -206
  670. package/dist/sdk/testing.js +4 -1391
  671. package/dist/sdk/traceability/runtime-files-lookup.js +1 -32
  672. package/dist/sdk/traceability/source-traceability.js +1 -292
  673. package/dist/sdk/tracker-root-discovery.js +1 -9
  674. package/dist/sdk/workspace-contracts-cache.js +1 -28
  675. package/dist/sdk/workspace-contracts.js +1 -33
  676. package/dist/sdk/workspace-memory.js +2 -318
  677. package/dist/sdk/workspace-recipe.js +1 -71
  678. package/dist/sdk/workspace-snapshot.js +4 -613
  679. package/dist/sdk/workspace-transaction-gc.js +1 -149
  680. package/dist/sdk/workspace-transaction.js +2 -363
  681. package/dist/sdk/workspace.js +3 -127
  682. package/dist/types/index.js +1 -9
  683. package/dist/types.d.ts +4 -0
  684. package/dist/types.js +1 -245
  685. package/docs/AGENT_GUIDE.md +1 -1
  686. package/docs/COMMANDS.md +10 -0
  687. package/docs/CONFIGURATION.md +12 -1
  688. package/docs/CONTEXT_ALGORITHM_PORTFOLIO.md +167 -0
  689. package/docs/DIAGNOSTIC_OUTPUT_CONTRACTS.md +9 -3
  690. package/docs/EXTENSIONS.md +1 -0
  691. package/docs/HISTORY_MAINTENANCE.md +125 -0
  692. package/docs/MCP_2026_07_28_CONFORMANCE.md +20 -10
  693. package/docs/PACKAGE_EVIDENCE.md +92 -0
  694. package/docs/PLANNING_MEASUREMENTS.md +183 -0
  695. package/docs/README.md +4 -0
  696. package/docs/READ_OUTPUT_CONTRACTS.md +5 -0
  697. package/docs/SCRIPTING.md +21 -0
  698. package/docs/TESTING.md +33 -0
  699. package/docs/WORKFLOW_POLICIES.md +129 -0
  700. package/docs/generated/FLAG_LEXICON_BUDGETS.md +7 -7
  701. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +11 -5
  702. package/marketplace.json +2 -2
  703. package/package.json +5 -5
  704. package/packages/pm-beads/package.json +1 -1
  705. package/packages/pm-calendar/package.json +1 -1
  706. package/packages/pm-command-kit/package.json +1 -1
  707. package/packages/pm-digital-twin/package.json +1 -1
  708. package/packages/pm-governance-audit/package.json +1 -1
  709. package/packages/pm-guide-shell/package.json +1 -1
  710. package/packages/pm-kanban/package.json +1 -1
  711. package/packages/pm-lifecycle-hooks/package.json +1 -1
  712. package/packages/pm-linked-test-adapters/package.json +1 -1
  713. package/packages/pm-search-advanced/package.json +1 -1
  714. package/packages/pm-templates/package.json +1 -1
  715. package/packages/pm-todos/package.json +1 -1
  716. package/packages/pm-vcs/package.json +1 -1
  717. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  718. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  719. package/scripts/finalize-build.mjs +45 -3
  720. package/dist/cli-bundle/chunks/chunk-AZDFJGH6.js +0 -9
  721. package/dist/cli-bundle/chunks/chunk-CKOL5U7J.js +0 -77
  722. package/dist/cli-bundle/chunks/chunk-JX4DH4WC.js +0 -3
  723. package/dist/cli-bundle/chunks/chunk-OF76PSDQ.js +0 -5
  724. package/dist/cli-bundle/chunks/chunk-QUWFABDM.js +0 -232
  725. package/dist/cli-bundle/chunks/chunk-QWRRFYK3.js +0 -2
  726. package/dist/cli-bundle/chunks/chunk-RWWBOWJ5.js +0 -2
  727. package/dist/cli-bundle/chunks/chunk-WGAOYSYH.js +0 -40
  728. package/dist/cli-bundle/chunks/chunk-WI2AYPA7.js +0 -2
  729. package/dist/cli-bundle/chunks/register-list-query-5JL52D33.js +0 -11
  730. package/dist/cli-bundle/chunks/register-mutation-ZPG7KMVP.js +0 -20
  731. package/dist/cli-bundle/chunks/register-operations-I5W3KMGB.js +0 -2
  732. package/dist/cli-bundle/chunks/register-setup-H4SVAVX7.js +0 -2
  733. package/dist/cli-bundle/focused-chunks/chunk-AL5ON6K6.js +0 -2
  734. package/dist/cli-bundle/focused-chunks/chunk-CHC2IDXA.js +0 -6
  735. package/dist/cli-bundle/focused-chunks/chunk-CK6QFAPZ.js +0 -20
  736. package/dist/cli-bundle/focused-chunks/chunk-EZR3GHFE.js +0 -2
  737. package/dist/cli-bundle/focused-chunks/chunk-H2WJWK7L.js +0 -56
  738. package/dist/cli-bundle/focused-chunks/chunk-NTPY5GSO.js +0 -3
  739. package/dist/cli-bundle/focused-chunks/chunk-P5O7MP5Y.js +0 -2
  740. package/dist/cli-bundle/focused-chunks/chunk-PDMW2E36.js +0 -177
  741. package/dist/cli-bundle/focused-chunks/chunk-PEFABF7E.js +0 -26
  742. package/dist/cli-bundle/focused-chunks/chunk-QTVCLMSZ.js +0 -6
  743. package/dist/cli-bundle/focused-chunks/chunk-QTZRBUYA.js +0 -8
  744. package/dist/cli-bundle/focused-chunks/chunk-SGQST3PQ.js +0 -12
  745. package/dist/cli-bundle/focused-chunks/chunk-UKHASMMP.js +0 -10
  746. package/dist/cli-bundle/focused-chunks/chunk-ZPEKQHOC.js +0 -2
@@ -1,177 +0,0 @@
1
- import{b as Wt,f as mt,h as pt,i as yt,k as oi,l as ii,m as si,n as ai,o as ci,p as di}from"./chunk-NTPY5GSO.js";import{A as ht,B as li,C as ui,D as me,E as ae,F as fi,G as Ue,H as ce,K as _i,L as mi,M as G,r as Oe,s as ar,t as Xt,u as se,v as cr,w as _e,x as dr}from"./chunk-UKHASMMP.js";import{$ as k,$a as ti,A as Vo,Aa as Jo,Ca as Qo,F as Bt,Fa as qt,G as Vt,H as rr,J as Wo,Ja as ft,Ka as ir,La as sr,Ma as _t,Mb as ri,Oa as Zo,P as le,Ua as ei,V as xe,W as qo,Z as w,_ as ze,aa as I,eb as ni,i as $t,ia as Xo,ja as Te,ka as or,la as ue,ma as fe,mc as ie,na as q,nc as te,oa as Ko,pb as L,q as zt,qb as He,r as zo,rb as Q,s as Ho,sb as S,t as Uo,ta as Go,u as Bo,ua as Yo,y as Ht,z as Ut}from"./chunk-CHC2IDXA.js";import{AsyncLocalStorage as Za}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="16109ee9-e684-5d25-a5f4-30a6c4f62bd5")}catch{}})();var lr=new Za,pi=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function Kt(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function Ce(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=Kt(n.id,128),o=Kt(n.parent_id,128);if(r===void 0||!pi.test(r)||o!==void 0&&!pi.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=Kt(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Be(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=Kt(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function ec(e,t,n){let r=lr.getStore(),o=Be({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=Ce(t.PM_AGENT_EPISODE_ID===void 0?void 0:{id:t.PM_AGENT_EPISODE_ID,label:t.PM_AGENT_EPISODE_LABEL,parent_id:t.PM_AGENT_EPISODE_PARENT_ID},!1),s={...Be(r?.provenance),...o,...Be(e?.provenance)},a=Ce(e?.episode,!1)??Ce(n,!1)??i??Ce(r?.episode,!1);return Object.keys(s).length===0&&a===void 0?void 0:{...Object.keys(s).length===0?{}:{provenance:s},...a===void 0?{}:{episode:a}}}function ur(e,t){return ec(e.session_context,t,e.client_info?.episode)??{}}function hm(e,t){let n=lr.getStore(),r=Ce(e.episode,!0),o=Ce(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Be(n?.provenance),...Be(e.provenance)};return lr.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function gm(e){let t=Be(e.provenance),n=Ce(e.episode,!0);return{...n===void 0?{}:{PM_AGENT_EPISODE_ID:n.id,...n.label===void 0?{}:{PM_AGENT_EPISODE_LABEL:n.label},...n.parent_id===void 0?{}:{PM_AGENT_EPISODE_PARENT_ID:n.parent_id}},...t.role===void 0?{}:{PM_AGENT_SESSION_ROLE:t.role},...t.topic===void 0?{}:{PM_AGENT_SESSION_TOPIC:t.topic}}}import{AsyncLocalStorage as Ir}from"node:async_hooks";import{createHash as ic}from"node:crypto";import V from"node:fs";import ki from"node:os";import Ne from"node:path";import{createHash as yi}from"node:crypto";import{existsSync as fr,promises as hi,readFileSync as tc}from"node:fs";import ne from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="424b9eb3-6b34-5ab0-a3f5-db61fbca12cf")}catch{}})();var nc="session.json";function _r(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function gi(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,n=["implementer","planner","release-operator"].includes(String(t.role)),r=["high","medium"].includes(String(t.confidence)),o=_r(t.topic,256),i=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),s=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>_r(c,128)),a=t.focused_item_id===void 0||_r(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function rc(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=gi(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function mr(e){return ne.join(Zo(e),nc)}async function Gt(e){try{let t=await hi.readFile(mr(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=rc(r.semantic_attribution);return typeof o=="string"&&o.trim().length>0?{focused_item:o,...i?{semantic_attribution:i}:{}}:i?{semantic_attribution:i}:{}}catch{return{}}}async function pr(e,t){let n=mr(e);await hi.mkdir(ne.dirname(n),{recursive:!0}),await q(n,JSON.stringify(t))}function yr(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${yi("sha256").update(e).digest("hex").slice(0,24)}`}function hr(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function gr(e){let t=[...new Set(e)].sort((o,i)=>o.localeCompare(i));if(t.length===1)return t[0];let n=`workset:${t.join("+")}`;return n.length<=256?n:`workset:${t.join("+").slice(0,230)}+${yi("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function br(e,t,n){let r=await Gt(e),o={...r.semantic_attribution},i=n(o[t]);i===void 0?delete o[t]:o[t]=i;let s={...r};Object.keys(o).length===0?delete s.semantic_attribution:s.semantic_attribution=o,await pr(e,s)}async function Sm(e){let t=yr(e.principal);await br(e.pmRoot,t,n=>{let r=[...new Set([...n?.active_item_ids??[],e.itemId])].slice(-64).sort((i,s)=>i.localeCompare(s)),o=n?.focused_item_id;return{role:"implementer",topic:o??gr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:hr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}async function xm(e){let t=yr(e.principal);await br(e.pmRoot,t,n=>{if(!n)return;let r=n.active_item_ids.filter(i=>i!==e.itemId);if(r.length===0&&!n.focused_item_id)return;let o=n.focused_item_id;return{...n,role:"release-operator",topic:o??gr(r),confidence:o?"high":"medium",evidence:hr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function Tm(e){let t=yr(e.principal);await br(e.pmRoot,t,n=>{let r=n?.active_item_ids??[];if(!e.itemId&&r.length===0)return;let o=e.itemId;return{role:o?"planner":n.role,topic:o??gr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:hr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function oc(e,t){let n=t.PM_PATH?.trim();if(n){let o=ne.resolve(e,n);if(fr(ne.join(o,"settings.json")))return o;let i=ne.join(o,".agents","pm");if(fr(ne.join(i,"settings.json")))return i}let r=ne.resolve(e);for(let o=0;o<32;o+=1){let i=ne.join(r,".agents","pm");if(fr(ne.join(i,"settings.json")))return i;let s=ne.dirname(r);if(s===r)break;r=s}}function bi(e){if(!e.key)return;let t=oc(e.cwd,e.env);if(t)try{let n=JSON.parse(tc(mr(t),"utf8"));return gi(n.semantic_attribution?.[e.key])}catch{return}}async function Om(e){return(await Gt(e)).focused_item}async function Cm(e,t){let n=await Gt(e);await pr(e,{...n,focused_item:t})}async function Am(e){let n={...await Gt(e)};delete n.focused_item,await pr(e,n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="dfbf4eb8-1f02-5880-a70a-0e7ed9b9784a")}catch{}})();var Sr=["model","effort","role","topic","version"],Qt=new Ir,Ii=new Ir,Zt=new Ir,xr=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{model:"codex_session_file",effort:"codex_session_file",version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],Si=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),sc=Object.freeze({...Si,max_bytes:4194304}),wr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function ac(e){let t=ye(e).provenance_unavailable_dimensions,n=new Set(["model","version",...Object.keys(e.provenance_environment_keys??{}),...Object.keys(e.provenance_resolvers??{})]);return Object.freeze({contract_version:1,adapter_version:"v1",priority:0,harness:e.harness,descriptor:e,supported_dimensions:Object.freeze([...n].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(r=>r?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?sc:Si,normalization:Object.freeze({model_family:"v1",effort:"v1",preserve_raw:!0}),confidence:"high",waivers:Object.freeze(Object.fromEntries(t.map(r=>[r,"Harness does not expose this dimension."])))})}var xi=Object.freeze(xr.filter(e=>e.harness!=="ci").map(ac).sort((e,t)=>e.harness.localeCompare(t.harness))),Re=new Map,Ve=new Map;function D(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function pe(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function ye(e){let t=e.harness.trim().toLowerCase();if(!wr.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:pe(e.environment_keys),model_environment_keys:pe(e.model_environment_keys),session_environment_keys:pe(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),pe(r)]).filter(([n])=>wr.test(n))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),r]).filter(n=>typeof n[0]=="string"&&wr.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:pe(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:pe(e.argv_markers).map(n=>n.toLowerCase()),client_names:pe(e.client_names).map(n=>n.toLowerCase())}}var Ti=xr.map(ye);function cc(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Jt(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function Tr(e=[]){let t=new Map(xr.filter(o=>o.harness!=="ci").map(o=>[o.harness,ye(o)]));for(let{adapter:o}of Re.values())t.set(o.harness,ye(o.descriptor));let n=[...t.values(),...Ti.filter(o=>o.harness==="ci"),...[...Ve.values()].map(o=>o.descriptor),...Zt.getStore()?.descriptors??[],...e.map(ye)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function Or(e,t){for(let n of t??[]){let r=D(e[n]);if(r)return r.slice(0,256)}}function dc(e,t){if(t==="role"){let n=e.slice(0,8).map(r=>r.trim().toLowerCase()).find(r=>["claim","create","update","close","release","review"].includes(r));if(n==="review")return"reviewer";if(n)return"implementer"}}function Oi(e,t){let n=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],r=e.slice(0,8);for(let o=0;o<r.length;o+=1){let i=r[o].slice(0,512);if(n.includes(i))return D(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return D(i.slice(s.length+1))?.slice(0,256)}}var lc=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Ae(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return lc.has(n)?n:void 0}function Er(e,t){return D(e?.[t])?.slice(0,256)}var uc=1048576,kr=4194304,Yt=new Map,wi=Object.freeze({}),vr=new Map,Ei=Object.freeze({});function vi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function fc(e){let t;try{t=JSON.parse(e)}catch{return Ei}let n=vi(t);if(!n)return Ei;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=D(a.value.model)?.slice(0,256),s??=D(a.value.version)?.slice(0,256),i&&s)break;if(!(a.depth>=4))for(let c of Object.values(a.value)){let d=vi(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function Ci(e){try{return V.lstatSync(e).isFile()?"available":"missing"}catch(t){return or(t)?"missing":"failed"}}function _c(e,t){let n;try{n=V.readdirSync(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).sort((o,i)=>o.name.localeCompare(i.name)).slice(0,512).map(o=>{let i=Ne.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:Ci(i)}})}catch(o){return{status:or(o)?"missing":"failed"}}let r=n.filter(({status:o})=>o==="available").map(({candidate:o})=>o);return r.length===0?{status:n.some(({status:o})=>o==="failed")?"failed":"missing"}:r.length>1?{status:"ambiguous"}:{status:"available",path:r[0]}}function Ai(e,t){let n=D(t.CLAUDE_CODE_SESSION_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return{status:"unavailable"};let o=Ne.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=Ne.join(e.home_dir??ki.homedir(),".claude","projects"),s=Ne.join(i,o,`${n}.jsonl`),a=D(e.session_file),c=a&&Ne.basename(a)===`${n}.jsonl`?a:void 0;for(let d of[c,s]){if(!d)continue;let u=Ci(d);if(u==="available")return{status:u,path:d};if(u==="failed")return{status:u}}return _c(i,n)}function mc(e,t,n){let r=Ai(t,n);if(r.status==="available")try{let o=V.openSync(r.path,V.constants.O_RDONLY|V.constants.O_NOFOLLOW);try{let i=V.fstatSync(o),s=`${r.path}\0${i.size}\0${i.mtimeMs}`,a=vr.get(s);if(a)return a[e];let c=Math.min(i.size,uc),d=Math.min(c,Math.ceil(c/2)),u=Math.min(c-d,i.size-d),f=Buffer.alloc(d);V.readSync(o,f,0,d,0);let m=Buffer.alloc(u);u>0&&V.readSync(o,m,0,u,i.size-u);let y={},_=i.size<=c?Buffer.concat([f,m]).toString("utf8").split(`
2
- `):[...f.toString("utf8").split(`
3
- `).slice(0,4096),...m.toString("utf8").split(`
4
- `).slice(-4096)];for(let b of _){if(b.length===0||b.length>262144)continue;let O=fc(b);if(y.model??=O.model,y.version??=O.version,y.model&&y.version)break}let v=Object.freeze(y);return vr.clear(),vr.set(s,v),v[e]}finally{V.closeSync(o)}}catch{return}}function pc(e,t){let n=0,r=(o,i)=>{if(i>4||n>=512)return;let s;try{s=V.readdirSync(o,{withFileTypes:!0}).sort((a,c)=>c.name.localeCompare(a.name))}catch{return}for(let a of s){if(n+=1,n>512)return;let c=Ne.join(o,a.name);if(a.isFile()&&a.name.endsWith(`-${t}.jsonl`))return c;if(a.isDirectory()){let d=r(c,i+1);if(d)return d}}};return r(e,0)}function yc(e){if(e<=kr)return[{offset:0,length:e}];let t=Math.floor(kr/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function hc(e,t){if(t.length===0||t.length>262144)return;let n;try{n=JSON.parse(t)}catch{return}if(typeof n!="object"||n===null||Array.isArray(n))return;let r=n;if(r.type!=="turn_context")return;let o=typeof r.payload=="object"&&r.payload!==null?r.payload:void 0;e.model??=D(o?.model)?.slice(0,256),e.effort??=D(o?.effort)?.slice(0,256)}function gc(e,t){let n={},r=4096;for(let o of yc(t)){let i=Buffer.alloc(o.length);V.readSync(e,i,0,o.length,o.offset);let s=i.toString("utf8").split(`
5
- `).reverse().slice(0,r);r-=s.length;for(let a of s)if(hc(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function bc(e,t,n){let r=D(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=Ne.join(t.home_dir??ki.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=Yt.get(i);if(s)return s[e];let a=pc(o,r);if(!a){Yt.set(i,wi);return}try{let c=V.openSync(a,"r");try{let d=V.fstatSync(c).size,u=gc(c,d);return Yt.set(i,u),u[e]}finally{V.closeSync(c)}}catch{Yt.set(i,wi);return}}function wc(e,t,n,r){let o=Zt.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(D(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return mc(e,t,n);if(s==="codex_session_file")return bc(e,t,n);if(s==="ai_agent_version"){let a=D(n.AI_AGENT);return!a||!r||!Jt(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function Ec(e,t,n,r){if(e==="ai_agent_version"){let o=D(r.AI_AGENT);return o!==void 0&&Jt(o,t.harness)?"available":"unavailable"}return e==="codex_session_file"?D(r.CODEX_THREAD_ID)!==void 0?"available":"unavailable":Ai(n,r).status}function Cr(e){return e||(Ii.getStore()??{env:process.env,argv:process.argv})}function vc(e,t,n,r){let o=e.environment_keys.some(a=>D(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let d=c.replaceAll("\\","/");return Jt(d.slice(d.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||Jt(r,a));return o||i||s}function kc(e,t){if(!t)return;let n;if(e==="topic"&&(n=t.topic),e==="role"&&(n=t.role),!!n)return{value:n,source:"inferred",confidence:t.confidence,rule_version:t.rule_version,evidence:t.evidence}}function Ic(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function Sc(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...Sr,...Object.keys(r?.provenance_environment_keys??{})]),c,d,u;a.has(e)&&(c=Ae(e,D(n[s])?.slice(0,256)),u=Ae(e,Oi(t.argv??[],e)),d=Ae(e,dc(t.argv??[],e)));let f={...r?.provenance_environment_keys,model:r?.model_environment_keys},m={...t.client_info?.provenance,model:t.client_info?.model},y=Er(o?.provenance,e),_=Ae(e,Or(n,f[e])),v=Ae(e,Er(m,e)),b=Ae(e,Er(t.provenance,e)),O=wc(e,t,n,r);return Ic([[c,"override"],[y,"session"],[u,"argv"],[_,"environment"],[v,"mcp_client"],[b,"host"],[O,"probe"]])??kc(e,i)??(d?{value:d,source:"argv"}:void 0)}function xc(e,t){if(!(!e||!t))return ic("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function Tc(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...Sr,...i,...Object.keys(n?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(r?.provenance??{})]),a={};for(let c of s){let d=Sc(c,e,t,n,r,o);d?a[c]=d:n&&(c!=="version"||n.provenance_unavailable_dimensions.includes(c))&&(a[c]=null)}return a}function zm(e){let t=e.map(ye),n=new Map(Ti.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness)||n.has(i.harness))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);let s=Ve.get(i.harness);if(s&&!cc(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=Ve.get(i.harness);Ve.set(i.harness,{descriptor:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=Ve.get(i.harness);!s||s.registrations<=1?Ve.delete(i.harness):s.registrations-=1}}}}function Oc(e){let t=ye(e.descriptor),n=e.harness.trim().toLowerCase();if(e.contract_version!==1)throw new Error(`Unsupported provenance adapter contract for "${n}": ${e.contract_version}`);if(t.harness!==n)throw new Error(`Provenance adapter harness "${n}" does not match descriptor "${t.harness}".`);let r=D(e.adapter_version)?.slice(0,64);if(!r)throw new Error(`Provenance adapter "${n}" requires a version.`);if(!Number.isSafeInteger(e.priority))throw new Error(`Provenance adapter "${n}" requires an integer priority.`);if(e.probe_policy.network_access!==!1||e.probe_policy.subprocess_access!==!1||e.probe_policy.max_bytes>kr||e.probe_policy.max_lines>4096)throw new Error(`Provenance adapter "${n}" exceeds the bounded local probe policy.`);return Object.freeze({...e,adapter_version:r,harness:n,descriptor:t,supported_dimensions:Object.freeze(pe(e.supported_dimensions).map(o=>o.toLowerCase()).sort()),native_sources:Object.freeze([...new Set(e.native_sources)]),probe_policy:Object.freeze({...e.probe_policy}),normalization:Object.freeze({...e.normalization}),...e.waivers?{waivers:Object.freeze(Object.fromEntries(Object.entries(e.waivers).slice(0,32).map(([o,i])=>[o.slice(0,64),i.slice(0,256)])))}:{}})}function Hm(){let e=new Map(xi.map(t=>[t.harness,t]));for(let{adapter:t}of Re.values())e.set(t.harness,t);return Object.freeze([...e.values()].sort((t,n)=>t.harness.localeCompare(n.harness)))}function Um(e){let t=e.map(Oc),n=new Map(xi.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness))throw new Error(`Provenance adapter collision for "${i.harness}".`);let s=n.get(i.harness);if(s&&i.priority<=s.priority)throw new Error(`Provenance adapter override for "${i.harness}" requires priority greater than ${s.priority}.`);let a=Re.get(i.harness);if(a&&JSON.stringify(a.adapter)!==JSON.stringify(i))throw new Error(`Provenance adapter collision for "${i.harness}".`);r.add(i.harness)}for(let i of t){let s=Re.get(i.harness);Re.set(i.harness,{adapter:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=Re.get(i.harness);!s||s.registrations<=1?Re.delete(i.harness):s.registrations-=1}}}}function Bm(e,t){let n=t.trim().slice(0,256),r=n.toLowerCase();if(e==="model"){let o=/^(gpt-\d+(?:\.\d+)?)/u.exec(r)?.[1];o&&(r=o)}else r=r.replaceAll(/[_\s-]+/gu,""),r={minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max",ultra:"ultra"}[r]??r;return{raw:n,normalized:r,vocabulary:"v1"}}function Vm(e,t){return Ii.run(e,t)}function Wm(e,t,n={}){let r=e.map(ye);return Tr(r),Zt.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function Ar(e){let t=Cr(e),n=t.env??{},r=Tr(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(_=>_.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(_=>vc(_,n,o,i)),a=ur(t,n),c=[Or(n,s?.session_environment_keys),D(t.client_info?.session)?.slice(0,256)].find(_=>_!==void 0),d=xc(s?.harness,c),u=bi({cwd:t.cwd??process.cwd(),env:n,key:d}),f=Tc(t,n,s,a,u),m=f.model,y=[["harness",s?.harness],["model",m?.value],["model_source",m?.source],["session",c],["instance",d],["provenance",Object.keys(f).length>0?f:void 0],["episode",a.episode]];return Object.fromEntries(y.filter(_=>_[1]!==void 0))}function Cc(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function Ac(e,t,n,r,o,i,s){let a=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...a?{resolver:a}:{},rule_version:"v1"};if(s)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(a){if(!i)return{status:"unavailable",reason:"probes_disabled",resolver:a,rule_version:"v1"};let c=Ec(a,n,r,o);return{...Cc(c),resolver:a,rule_version:"v1"}}return{status:n?.provenance_unavailable_dimensions.includes(e)?"unavailable":"not_configured",reason:n?.provenance_unavailable_dimensions.includes(e)?"harness_unavailable":"resolver_not_configured",rule_version:"v1"}}function Ri(e){let t=Cr(e),n=Ar(t),r=Tr(t.descriptors).find(d=>d.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&Zt.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(D(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=ur(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,Or(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,Oi(t.argv??[],"role")].some(d=>{let u=D(d)?.slice(0,256);return u!==void 0&&Ae("role",u)===void 0}),c=Object.fromEntries(Sr.map(d=>[d,Ac(d,n,r,t,o,i,d==="role"&&a)]));return{...n,provenance_outcomes:c}}function qm(){return process.env.PM_AUTHOR}function Xm(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function Km(e){return Ar(e).harness}function Rc(e,t,n){let r=Cr(n),o=Ar(r);if(e!==void 0){let s=D(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=D(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=D(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function Ni(e){let t=Qt.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function Di(e){let t=Qt.getStore();return t?.author!==e?e.startsWith("harness:")?{harness:e.slice(8)}:{}:{...t.harness?{harness:t.harness}:{},...t.model?{model:t.model}:{},...t.model_source?{model_source:t.model_source}:{},...t.session?{session:t.session}:{},...t.instance?{instance:t.instance}:{},...t.provenance?{provenance:t.provenance}:{},...t.episode?{episode:t.episode}:{}}}function ji(e){let t=Qt.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function Pi(e,t){let n=Rc(e,t);return Qt.enterWith(n),n.author}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77d3ebfa-789a-54cf-9d49-dbebab8d32ea")}catch{}})();var We=1,Li=1;function Ym(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=We?t:We}function Mi(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=We))return e}function Nc(e,t=Li){return e<t?"outdated":e>t?"ahead":"current"}function Jm(e,t=Li){let n=[],r=[];for(let o of e){let i=Nc(o.version,t);i==="outdated"?n.push(o.ref):i==="ahead"&&r.push(o.ref)}return{outdated:n.sort((o,i)=>o.localeCompare(i)),ahead:r.sort((o,i)=>o.localeCompare(i))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d7501aa2-d3d9-5fbe-a1c0-d4bc145f5563")}catch{}})();var Dc={"in-progress":"in_progress",cancelled:"canceled"};function en(e,t){if(t){let o=ai(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Dc[n]??n;if(zt.includes(r))return r}function qe(e,t){return en(e,t)??e}function tn(e,t){return t.terminal_statuses.has(qe(e,t))}import{encode as Wc}from"@toon-format/toon";import{isDeepStrictEqual as Ui}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="91a3969e-59b3-506e-9349-ca08e73a1228")}catch{}})();var jc=16;function Rr(e){let t=e.trim().replaceAll(/[^A-Za-z0-9]+/g," ").split(/\s+/).filter(o=>o.length>0).map(o=>o.toLowerCase());if(t.length===0)return e;let[n,...r]=t;return`${n}${r.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function Pc(e){return[...new Set([di(e),Rr(e.key),Rr(e.cli_flag),...e.cli_aliases.map(t=>Rr(t))])]}function zi(e,t){for(let n of Pc(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function Hi(e){return Array.isArray(e)?e.flatMap(t=>Hi(t)).map(t=>t.trim()).filter(t=>t.length>0):typeof e=="string"?e.split(/[,\n|]/).map(t=>t.trim()).filter(t=>t.length>0):e==null?[]:[String(e).trim()].filter(t=>t.length>0)}function Fi(e,t){if(typeof e=="boolean")return e;if(typeof e=="number"){if(e===1)return!0;if(e===0)return!1}if(typeof e=="string"){let n=e.trim().toLowerCase();if(n==="true"||n==="1"||n==="yes")return!0;if(n==="false"||n==="0"||n==="no")return!1}throw new I(`${t} must be one of true|false|1|0|yes|no`,k.USAGE)}function $i(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let n=typeof e=="string"?e.trim():String(e),r=Number(n);if(!Number.isFinite(r))throw new I(`${t} must be a number`,k.USAGE);return r}function Lc(e,t,n){let r=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(n==="array"&&Array.isArray(r)||n==="object"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r;throw new I(`${t} must be valid JSON ${n}`,k.USAGE)}function Mc(e,t){return t===void 0?!0:t==="array"?Array.isArray(e):t==="object"?typeof e=="object"&&e!==null&&!Array.isArray(e):typeof e===t}function Fc(e,t,n){if(t.const!==void 0&&L(e)!==L(t.const))return`${n} must equal ${L(t.const)}`;if(t.enum!==void 0&&!t.enum.some(r=>L(r)===L(e)))return`${n} must be one of ${t.enum.map(r=>L(r)).join("|")}`;if(!Mc(e,t.type))return`${n} must match configured type ${String(t.type)}`;if(typeof e=="string"){if(t.min_length!==void 0&&e.length<t.min_length)return`${n} must contain at least ${t.min_length} characters`;if(t.format==="date-time"&&!fi(e))return`${n} must be an RFC 3339 date-time`}}function $c(e,t,n,r){if(Array.isArray(e)){if(t.min_items!==void 0&&e.length<t.min_items)return`${n} must contain at least ${t.min_items} items`;if(t.items)for(let[o,i]of e.entries()){let s=nn(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function zc(e,t,n,r){if(typeof e!="object"||e===null||Array.isArray(e))return;let o=e;for(let i of t.required??[])if(!Object.hasOwn(o,i))return`${n}.${i} is required`;for(let[i,s]of Object.entries(o)){let a=t.properties?.[i];if(!a){if(t.additional_properties===!1)return`${n}.${i} is not allowed`;continue}let c=nn(s,a,`${n}.${i}`,r+1);if(c)return c}}function nn(e,t,n,r=0){if(r>jc)return`${n} value schema exceeds maximum depth`;let o=Fc(e,t,n);if(o)return o;let i=$c(e,t,n,r);if(i)return i;let s=zc(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(nn(e,c,n,r+1)===void 0&&(a+=1,a>1))break;return a===1?void 0:`${n} must match exactly one configured schema variant`}function De(e,t,n){if(!e.value_schema||t===void 0)return t;let r=nn(t,e.value_schema,n);if(r)throw new I(r,k.USAGE);return t}function gt(e,t,n){let r=n??`--${e.cli_flag}`;if(e.type==="array"||e.type==="object"){let i=Array.isArray(t)?t[t.length-1]:t;return i===void 0?void 0:De(e,Lc(i,r,e.type),r)}if(e.repeatable||e.type==="string_array"){let i=Hi(t);return e.type==="number"?De(e,i.map(s=>$i(s,r)),r):e.type==="boolean"?De(e,i.map(s=>Fi(s,r)),r):De(e,i,r)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?De(e,$i(o,r),r):e.type==="boolean"?De(e,Fi(o,r),r):De(e,typeof o=="string"?o:String(o),r)}function Hc(e,t){return!e.required&&!e.required_on_create?!1:e.required_types.length===0?!0:t?e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function ap(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=zi(e,i);if(s===void 0){Hc(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=gt(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function cp(e,t,n=["update"]){let r={},o=(n??["update"]).flatMap(s=>t.command_to_fields.get(s)??[]),i=new Set;for(let s of o){let a=zi(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=gt(s,a)))}return r}import{decode as Uc}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2840e12e-7444-5d36-9f54-5a56267bbb75")}catch{}})();function Nr(e){return{value:Uc(e),usedScalarBracketEscape:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fedb7b50-6946-589d-b240-9f074e09e467")}catch{}})();var Bc=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function Vc(e){if(e.length===0)return[];let t=e.split(/\r?\n/),n=[];for(let r=0;r<t.length;r+=1){let o=t[r]??"",i=o.match(Bc);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function rn(e){return Vc(e)[0]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="051655a4-8ba7-5118-9758-d9ca377fa7e4")}catch{}})();var Lr=new Set(["schema","tracker","auto"]),Wi=new Set(["source","isolated","snapshot"]),qc=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),Xc=new Set(["passed","failed","stopped","canceled"]),Kc=new Set(Wo);function Ge(e){return e.replaceAll("\\","/")}function qi(e){for(let t of e)if(t!==0)return t;return 0}function sn(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var Xi=["id","title","description","created_at","updated_at"],Gc=new Set(le);function Ki(e){if(e?.schema)return{statusRegistry:si(e.schema),fieldRegistry:ci(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function Yc(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function he(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new I(`Invalid item metadata: ${e}`,k.GENERIC_FAILURE,{code:"item_document_invalid",reason:e.includes("required")?"missing_required_field":"schema_validation_error",...t?{field:t}:{},required:"Provide an item document whose metadata satisfies the active runtime schema.",why:e})}function Et(e,t){throw new I(t,k.GENERIC_FAILURE,{code:"item_document_invalid",reason:"syntax_error",format:e,required:`Provide a syntactically valid ${e==="toon"?"TOON":"JSON Markdown"} item document.`,why:"The document could not be decoded far enough to validate item metadata."})}function Gi(e){let t=new Set(Gc);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function E(e,t){e||he(t)}function vt(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&he(t),e}function Dr(e,t){let n=e[t];E(typeof n=="string",`${t} must be a string`),E(ae(n),`${t} must be a valid ISO timestamp`)}function Bi(e,t,n){let r=e[t];r!==void 0&&E(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function Mr(e,t,n){let r=e[t];r!==void 0&&(E(typeof r=="string",`${n} must be a string`),E(ae(r),`${n} must be a valid ISO timestamp`))}function Jc(e){if(e!==void 0){E(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){E(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();E(Vt.includes(n),`event.recurrence.by_weekday entries must be one of: ${Vt.join(", ")}`)}}}function Qc(e){if(e!==void 0){E(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)E(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function Zc(e){if(e!==void 0){E(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)E(typeof t=="string","event.recurrence.exdates entries must be strings"),E(ae(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function ed(e){let t=vt(e,"event.recurrence must be an object");E(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();E(Bt.includes(n),`event.recurrence.freq must be one of: ${Bt.join(", ")}`),Bi(t,"interval","event.recurrence.interval"),Bi(t,"count","event.recurrence.count"),Mr(t,"until","event.recurrence.until"),Jc(t.by_weekday),Qc(t.by_month_day),Zc(t.exdates)}function td(e){for(let r of Xi)E(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;E(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&E(typeof n=="number"&&Number.isInteger(n)&&n>=We,`pm_format_version must be an integer >= ${We}`),t}function nd(e,t){let n=e.status;E(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=en(n,r),i=r?r.definitions.map(s=>s.id):[...zt];E(o!==void 0,`status must be one of: ${i.join(", ")}`)}function rd(e){let t=e.priority;E(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;E(Array.isArray(n),"tags must be an array");for(let r of n)E(typeof r=="string","tags entries must be strings")}function od(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){E(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let n=t.trim().toLowerCase(),r=n==="med"||Ut.includes(n);E(r,`confidence string value must be one of: ${[...Ut,"med"].join(", ")}`);return}E(!1,"confidence must be a number or string")}}function id(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&he("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||Ht.includes(n);E(r,`severity value must be one of: ${[...Ht,"med"].join(", ")}`)}function sd(e){e.regression!==void 0&&typeof e.regression!="boolean"&&he("regression must be a boolean")}function ad(e){let t=e.reminders;if(t!==void 0){E(Array.isArray(t),"reminders must be an array");for(let n of t){let r=vt(n,"reminders entries must be objects");E(typeof r.at=="string","reminder.at must be a string"),E(ae(r.at),"reminder.at must be a valid ISO timestamp"),E(typeof r.text=="string","reminder.text must be a string"),E(r.text.trim().length>0,"reminder.text must not be empty")}}}function cd(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(E(typeof e[t]=="string",`event.${t} must be a string`),E(e[t].trim().length>0,`event.${t} must not be empty`))}function dd(e){e.recurrence!==void 0&&(ed(e.recurrence),e.recurrence.until!==void 0&&E(ce(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function ld(e){let t=vt(e,"events entries must be objects");E(typeof t.start_at=="string","event.start_at must be a string"),E(ae(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(E(typeof t.end_at=="string","event.end_at must be a string"),E(ae(t.end_at),"event.end_at must be a valid ISO timestamp"),E(ce(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),cd(t),t.all_day!==void 0&&E(typeof t.all_day=="boolean","event.all_day must be a boolean"),dd(t)}function ud(e){let t=e.events;if(t!==void 0){E(Array.isArray(t),"events must be an array");for(let n of t)ld(n)}}function fd(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&E(typeof n=="string",`${t} must be a string`)}}function _d(e){let t=e.type_options;if(t===void 0)return;let n=vt(t,"type_options must be an object");for(let[r,o]of Object.entries(n))E(r.trim().length>0,"type_options keys must be non-empty"),E(typeof o=="string","type_options values must be strings"),E(o.trim().length>0,"type_options values must be non-empty strings")}function md(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){Yc(r,t)&&he(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=gt(r,o,`metadata field "${r.metadata_key}"`)}catch(i){he(String(i?.message).replace(/^Invalid\s+/u,""))}}}function pd(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Gi(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?he(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function Fr(e,t){let n=vt(e,"item metadata must be an object"),r=td(n);nd(n,t),rd(n),od(n),id(n),sd(n),Dr(n,"created_at"),Dr(n,"updated_at"),n.deadline!==void 0&&Dr(n,"deadline"),ad(n),ud(n),Mr(n,"closed_at","closed_at"),Mr(n,"completed_at","completed_at"),fd(n),_d(n),md(n,r,t),pd(n,t)}function yd(e){if(!(!e||e.length===0))return[...e].map(t=>({id:t.id.trim(),kind:t.kind,created_at:t.created_at,author:t.author?.trim()||void 0,source_kind:t.source_kind?.trim()||void 0,author_source:t.author_source})).sort((t,n)=>{let r=ce(t.created_at,n.created_at);if(r!==0)return r;let o=t.id.localeCompare(n.id);if(o!==0)return o;let i=t.kind.localeCompare(n.kind);return i!==0?i:(t.source_kind??"").localeCompare(n.source_kind??"")})}function jr(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=ce(t.created_at,n.created_at);if(r!==0)return r;let o=t.text.localeCompare(n.text);return o!==0?o:t.author.localeCompare(n.author)})}function hd(e){if(!e||e.length===0)return;let t=[...e].map(n=>({at:n.at,text:n.text.trim()})).filter(n=>n.text.length>0).sort((n,r)=>{let o=ce(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function gd(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!Bt.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>Vt.includes(s)))).sort((s,a)=>rr(s)-rr(a)),r=Array.from(new Set((e.by_month_day??[]).filter(s=>Number.isInteger(s)&&s>=1&&s<=31).map(s=>s))).sort((s,a)=>s-a),o=Array.from(new Set((e.exdates??[]).map(s=>s.trim()).filter(s=>ae(s)))).sort((s,a)=>ce(s,a)),i={freq:t,interval:e.interval!==void 0&&e.interval>1?e.interval:void 0,count:e.count,until:e.until?.trim()||void 0,by_weekday:n.length>0?n:void 0,by_month_day:r.length>0?r:void 0,exdates:o.length>0?o:void 0};for(let[s,a]of Object.entries(i))a===void 0&&delete i[s];return i}function bd(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(wd).sort(Ed)}function wd(e){let t={start_at:e.start_at,end_at:e.end_at||void 0,title:e.title?.trim()||void 0,description:e.description?.trim()||void 0,location:e.location?.trim()||void 0,all_day:e.all_day,timezone:e.timezone?.trim()||void 0,recurrence:gd(e.recurrence)};return sn(t),t}function Ed(e,t){return qi([ce(e.start_at,t.start_at),(e.end_at??"").localeCompare(t.end_at??""),(e.title??"").localeCompare(t.title??""),+!!e.all_day-+!!t.all_day,(e.timezone??"").localeCompare(t.timezone??""),(e.location??"").localeCompare(t.location??""),(e.description??"").localeCompare(t.description??""),JSON.stringify(e.recurrence??{}).localeCompare(JSON.stringify(t.recurrence??{}))])}function vd(e){if(!(!e||e.length===0))return e.map(t=>({path:Ge(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function kd(e){if(!e||e.length===0)return;let t=e.map(Td).filter(n=>n.run_id.length>0&&n.started_at.length>0&&n.finished_at.length>0&&n.recorded_at.length>0).sort((n,r)=>qi([ce(n.recorded_at,r.recorded_at),n.run_id.localeCompare(r.run_id),n.kind.localeCompare(r.kind)]));return t.length>0?t:void 0}function Xe(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function Id(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Pr(e){return typeof e=="string"?e:""}function Sd(e){if(!Array.isArray(e))return;let t=e.filter(r=>r!==null&&typeof r=="object"&&typeof r.name=="string"&&r.name.trim().length>0&&typeof r.value=="number"&&Number.isFinite(r.value)&&typeof r.recorded_at=="string"&&r.recorded_at.trim().length>0).map(r=>({name:r.name.trim(),value:r.value,unit:typeof r.unit=="string"&&r.unit.trim()||void 0,threshold:typeof r.threshold=="number"&&Number.isFinite(r.threshold)?r.threshold:void 0,recorded_at:r.recorded_at.trim()})),n=[...new Map(t.map(r=>[r.name,r])).values()].sort((r,o)=>r.name.localeCompare(o.name)).slice(0,32);return n.length>0?n:void 0}function on(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function xd(e){if(!Array.isArray(e))return;let t=e.filter(n=>n&&typeof n.command=="string"&&n.command.trim().length>0).slice(0,32).map(n=>({command:n.command.trim(),requested_pm_context_mode:on(n.requested_pm_context_mode,Lr),pm_context_mode:on(n.pm_context_mode,Lr),workspace_context_mode:on(n.workspace_context_mode,Wi),trust_reason:on(n.trust_reason,qc)}));return t.length>0?t:void 0}function Td(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Xc.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:Pr(e.started_at),finished_at:Pr(e.finished_at),recorded_at:Pr(e.recorded_at),attempt:Id(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:Xe(e.passed)??0,failed:Xe(e.failed)??0,skipped:Xe(e.skipped)??0,items:Xe(e.items),linked_tests:Xe(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:Sd(e.measurements),executions:xd(e.executions)};return sn(o),o}function Od(e){if(!(!Array.isArray(e)||e.length===0))return e.map(Dd)}function bt(e){if(!Array.isArray(e))return;let t=[...new Set(e.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length>0?t:void 0}function zr(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Hr(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function Vi(e){if(!zr(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!Hr(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Cd(e){if(!zr(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!Hr(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Ad(e){let t=e?.trim().toLowerCase();if(!(!t||!Lr.has(t)))return t}function Rd(e){let t=e?.trim().toLowerCase();if(!(!t||!Wi.has(t)))return t}function Nd(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!zr(e))return{provenance_invalid:!0};let n=g(e.author),r=g(e.created_at),o=e.source_kind;return!n||!r||!ae(r)||o!=="local_mutation"&&o!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:n,created_at:r,source_kind:o,source_ref:g(e.source_ref)}}}function Dd(e){let t={command:e.command?.trim()||void 0,path:e.path?Ge(e.path):void 0,scope:e.scope,timeout_seconds:typeof e.timeout_seconds=="number"&&Number.isFinite(e.timeout_seconds)&&e.timeout_seconds>0?e.timeout_seconds:void 0,pm_context_mode:Ad(e.pm_context_mode),workspace_context_mode:Rd(e.workspace_context_mode),...Nd(e.provenance,e.provenance_invalid),env_set:Vi(e.env_set),env_clear:bt(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:bt(e.assert_stdout_contains),assert_stdout_regex:bt(e.assert_stdout_regex),assert_stderr_contains:bt(e.assert_stderr_contains),assert_stderr_regex:bt(e.assert_stderr_regex),assert_stdout_min_lines:Xe(e.assert_stdout_min_lines),assert_json_field_equals:Vi(e.assert_json_field_equals),assert_json_field_gte:Cd(e.assert_json_field_gte),note:e.note?.trim()||void 0};return sn(t),t}function jd(e){if(!(!e||e.length===0))return[...e].map(t=>({path:Ge(t.path),scope:t.scope,note:t.note?.trim()||void 0})).sort((t,n)=>{let r=t.scope.localeCompare(n.scope);if(r!==0)return r;let o=t.path.localeCompare(n.path);return o!==0?o:(t.note??"").localeCompare(n.note??"")})}function g(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Pd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.id),i=g(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=g(r.note);a&&(s.note=a),r.required_before_step===!0&&(s.required_before_step=!0),t.push(s)}return t.length>0?t:void 0}function Ld(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.path);if(!o)continue;let i={path:Ge(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=g(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Md(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.command),i=g(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=Ge(i));let a=g(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Fd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.path);if(!o)continue;let i={path:Ge(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=g(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function $d(e){if(e===null||typeof e!="object")return;let t=e,n=g(t.id),r=g(t.title),o=g(t.status),i=o&&Kc.has(o)?o:void 0,s=ei(t.order)??Number.NaN,a=typeof t.created_at=="string"?t.created_at:"",c=typeof t.updated_at=="string"?t.updated_at:"";if(!n||!r||!i||!Number.isFinite(s)||!a||!c)return;let d={id:n,order:s,title:r,status:i,created_at:a,updated_at:c};return zd(d,t),d}function zd(e,t){let n=[["body","body"],["owner","owner"],["evidence","evidence"],["blocked_reason","blocked_reason"],["superseded_by","superseded_by"]];for(let[i,s]of n){let a=g(t[s]);a&&(e[i]=a)}let r=typeof t.completed_at=="string"?t.completed_at:void 0;r&&r.length>0&&(e.completed_at=r);let o=[["linked_items","linked_items",Pd],["files","files",Ld],["tests","tests",Md],["docs","docs",Fd]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function Hd(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=$d(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Ud(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=g(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=g(r.rationale);c&&(a.rationale=c);let d=g(r.evidence);d&&(a.evidence=d);let u=g(r.step_id);u&&(a.step_id=u),t.push(a)}return t.length>0?t:void 0}function Bd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=g(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=g(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function Vd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.text);if(!o)continue;let i={text:o},s=g(r.command);s&&(i.command=s);let a=g(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function Wd(e){if(!e)return;let t=Object.entries(e).map(([n,r])=>[n.trim(),r.trim()]).filter(([n,r])=>n.length>0&&r.length>0).sort((n,r)=>n[0].localeCompare(r[0]));if(t.length!==0)return Object.fromEntries(t)}function Ke(e){let t=0;for(;t<e.length&&e[t]===`
6
- `;)t+=1;return e.slice(t).trimEnd()}function qd(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Ut.includes(t))return t}function Xd(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Ht.includes(t))return t}function wt(e){return e||void 0}function Kd(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))Hr(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function Gd(e,t){if(!t?.fieldRegistry)return;let n=e;for(let r of t.fieldRegistry.definitions){let o=n[r.metadata_key];o!==void 0&&(n[r.metadata_key]=gt(r,o,`metadata field "${r.metadata_key}"`))}}function Yd(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Gi(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&he(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function an(e,t={}){let n=Ki(t),r=en(e.status,n?.statusRegistry)??e.status,o=Array.from(new Set((Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string").map(s=>s.trim().toLowerCase()).filter(Boolean))).sort((s,a)=>s.localeCompare(a)),i={id:e.id,title:e.title,description:e.description,type:e.type,pm_format_version:Mi(e.pm_format_version),source_type:g(e.source_type),type_options:Wd(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:yd(e.dependencies),comments:jr(e.comments),notes:jr(e.notes),learnings:jr(e.learnings),files:vd(e.files),tests:Od(e.tests),test_runs:kd(e.test_runs),docs:jd(e.docs),deadline:wt(e.deadline),reminders:hd(e.reminders),events:bd(e.events),closed_at:wt(e.closed_at),completed_at:wt(e.completed_at),assignee:g(e.assignee),claim_principal:g(e.claim_principal),source_owner:g(e.source_owner),author:wt(e.author),estimated_minutes:e.estimated_minutes,acceptance_criteria:e.acceptance_criteria??void 0,design:e.design??void 0,external_ref:e.external_ref??void 0,definition_of_ready:g(e.definition_of_ready),order:e.order,goal:g(e.goal),objective:g(e.objective),value:g(e.value),impact:g(e.impact),outcome:g(e.outcome),why_now:g(e.why_now),parent:g(e.parent),reviewer:g(e.reviewer),risk:e.risk??void 0,confidence:qd(e.confidence),sprint:g(e.sprint),release:g(e.release),blocked_by:g(e.blocked_by),blocked_reason:g(e.blocked_reason),unblock_note:g(e.unblock_note),reporter:g(e.reporter),severity:Xd(e.severity),environment:g(e.environment),repro_steps:g(e.repro_steps),resolution:g(e.resolution),expected_result:g(e.expected_result),actual_result:g(e.actual_result),affected_version:g(e.affected_version),fixed_version:g(e.fixed_version),component:g(e.component),regression:e.regression,customer_impact:g(e.customer_impact),close_reason:wt(e.close_reason),plan_mode:g(e.plan_mode),plan_scope:g(e.plan_scope),plan_harness:g(e.plan_harness),plan_resume_context:g(e.plan_resume_context),plan_steps:Hd(e.plan_steps),plan_decisions:Ud(e.plan_decisions),plan_discoveries:Bd(e.plan_discoveries),plan_validation:Vd(e.plan_validation)};return Kd(i,e),Gd(i,n),Yd(i,n),sn(i),i}function Yi(e){return S(e,le)}function Jd(e){let t=0,n=!1,r=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(n){if(r){r=!1;continue}if(i==="\\"){r=!0;continue}i==='"'&&(n=!1);continue}if(i==='"'){n=!0;continue}if(i==="{"){t+=1;continue}if(i==="}"&&(t-=1,t===0))return o}return-1}function Qd(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=Jd(e);if(t<0)return{frontMatter:"",body:e};let n=e.slice(0,t+1),r=e.slice(t+1).replace(/^\r?\n+/,"");return{frontMatter:n,body:r}}function Zd(e){let t=e.charCodeAt(0)===65279?e.slice(1):e,n=t.match(/^[ \t]*---[ \t]*(?:\r?\n|$)/);if(!n)return{content:t,stripped:!1};let r=n[0].length;for(;r<t.length;){let o=t.indexOf(`
7
- `,r),i=o===-1?t.length:o,s=t.slice(r,i).replace(/\r$/,""),a=o===-1?i:i+1;if(s.trim()==="---")return{content:t.slice(a).replace(/^\s+/,""),stripped:!0};r=a}return{content:t,stripped:!1}}function $r(e,t){return an(e,{...t,onWarning:void 0})}function el(e,t,n={}){let r=Zd(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=Qd(r.content);o||(e.trimStart().startsWith("{")&&Et("json_markdown","JSON front matter is not valid JSON"),Et("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{Et("json_markdown","JSON front matter is not valid JSON")}return Fr(s,t),{metadata:$r(s,n),body:Ke(i)}}function tl(e,t,n={}){let r;try{r=Nr(e).value}catch{Et("toon","TOON item document is not valid TOON")}E(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!Xi.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&Et("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return Fr(o.front_matter,t),E(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:$r(o.front_matter,n),body:Ke(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return E(i===void 0||typeof i=="string","TOON item document body must be a string"),Fr(s,t),{metadata:$r(s,n),body:Ke(typeof i=="string"?i:"")}}function nl(e,t={}){let n=an(e.metadata,t),r=Yi(n),o=JSON.stringify(r,null,2),i=Ke(e.body??"");return i?`${o}
8
-
9
- ${i}
10
- `:`${o}
11
- `}function rl(e,t={}){let n=an(e.metadata,t),r=Yi(n),o=Ke(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=Wc(s),c;try{c=Nr(a).value}catch(d){throw new I("Refusing to persist a TOON item document that the configured decoder cannot read back.",k.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_error",format:"toon",required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:d instanceof Error?d.message:String(d)})}if(!Ui(c,s)){let d=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},u=Object.keys(s).find(f=>!Ui(s[f],d[f]))??"document";throw new I(`Refusing to persist a lossy TOON item document; round-trip mismatch at field "${u}".`,k.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_mismatch",format:"toon",field:u,required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:"The encoded document decoded to a value different from the canonical item payload."})}return`${a}
12
- `}function cn(e,t={}){let n=rn(e);if(n)throw new I(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,k.GENERIC_FAILURE,{code:"merge_conflict_markers_detected",reason:"merge_conflict",required:"Resolve merge-conflict markers in the item file before parsing or mutation commands.",why:"Partially merged documents can corrupt item metadata and history integrity.",examples:["git status","git add <resolved-file> && git commit"],nextSteps:["Resolve conflicts, save the file, then rerun the pm command."]});let r=t.format??"toon",o=Ki(t);return r==="toon"?tl(e,o,t):el(e,o,t)}function Ji(e,t={}){return(t.format??"toon")==="toon"?rl(e,t):nl(e,t)}function Z(e,t={}){return{metadata:an(e.metadata,t),body:Ke(e.body??"")}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="999c126a-112a-50f6-b53e-bd36dbc5b885")}catch{}})();async function Ye(e,t){let n=await fe(e);if(n===null)return[];if(await _e({path:e,scope:"project"}),n.trim()==="")return[];let r=rn(n);if(r)throw new I(`History for ${t} contains merge conflict markers at line ${r.line} (${r.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,k.GENERIC_FAILURE,{code:"history_merge_conflict_markers_detected",required:"Repair the history stream by resolving merge-conflict markers.",why:"Conflict markers break JSONL parsing and invalidate deterministic audit history.",examples:[`pm history ${t}`,`pm restore ${t} <timestamp-or-version>`],nextSteps:["Resolve or restore the history file, then rerun the command."]});let o=[];for(let[i,s]of n.split(/\r?\n/).entries()){let a=s.trim();if(a)try{o.push(JSON.parse(a))}catch{throw new I(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,k.GENERIC_FAILURE,{code:"history_json_invalid",nextSteps:[`Run pm history-repair ${t} --salvage-tail --dry-run to check whether only an invalid suffix is damaged.`]})}}return o}import oo from"fast-json-patch";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ffaea7bd-daa4-5ff5-8cd5-82ad04e2256e")}catch{}})();function Qi(e){let t=[],n=e[0]?.op==="history_compact_baseline",r=n?1:void 0,o=!1;for(let[i,s]of e.entries())s.op==="delete"&&(o=!0),s.op==="create"&&(r!==void 0&&t.push({prior_genesis_index:r,repeated_create_index:i+1,sequence:o?"delete_then_create":n?"checkpoint_then_create":"multiple_creates"}),r??=i+1,o=!1);return t}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4d71277c-e16c-56f4-a834-5200acfa6d7a")}catch{}})();import Ss from"fast-json-patch";import Es from"node:fs/promises";import Jl from"node:path";import M from"node:fs/promises";import H from"node:path";import{randomUUID as es}from"node:crypto";import{createRequire as ll}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9ad6614e-44bc-549c-915c-6177c3a43c1f")}catch{}})();var ol=["docs_add","files_add","history:author-acknowledge","history_author_acknowledge","history_compact","history_compact_baseline","history_redact","history_repair","history_salvage","normalize","release","test_run_track","tests_add","tests_remove","update_audit","update_ownership_bypass"],il=["append","cancel","claim","close","comment_add","create","learning_add","note_add","reopen"],sl=new Set(ol),al=new Set(il),cl=new Set(["actual_result","affected_version","assignee","blocked_by","blocked_reason","close_reason","confidence","customer_impact","definition_of_ready","dependencies","docs","environment","expected_result","files","fixed_version","goal","impact","learnings","notes","objective","order","outcome","parent","release","reminders","reporter","repro_steps","resolution","reviewer","severity","sprint","tests","test_runs","unblock_note","updated_at","value","why_now"]);function dl(e){let t=e.path.split("/").filter(Boolean);return t[0]==="metadata"||t[0]==="front_matter"?t[1]:t[0]==="body"?"body":void 0}function Je(e){return e.event_class==="substantive"||e.event_class==="maintenance"?e.event_class:sl.has(e.op)?"maintenance":al.has(e.op)||e.op!=="update"?"substantive":Array.isArray(e.patch)&&e.patch.length>0&&e.patch.every(t=>{let n=dl(t);return n!==void 0&&cl.has(n)})?"maintenance":"substantive"}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="72b285a7-970e-5965-bacf-a4e0cfc5f060")}catch{}})();var ul="history-event-index.sqlite",yn="5",fl=8,_l="history-event-index",Ur=300,ts=3e4,ml="history-event-index-invalidation",pl="history-event-index-invalidations",yl=Ur*2*1e3,_n=Symbol("history-index-lock-contended"),je=new Map;function Qe(e){return H.join(e,"runtime",ul)}function hn(e){return H.join(e,"runtime",pl)}async function hl(e){let t=await M.readdir(hn(e)).catch(n=>{if(ue(n))return[];throw n});return{pending:t.filter(n=>n.endsWith(".pending")).sort(),committed:t.filter(n=>n.endsWith(".committed")).sort()}}async function mn(e){let t=await hl(e);return{pending:(await Promise.all(t.pending.map(async r=>{let o=/^(\d+)-(unknown|\d+)-(\d+)-.+\.pending$/u.exec(r);if(o!==null){let i=o[2];if(await mi({pid:Number(o[1]),...i==="unknown"?{}:{process_start_identity:i}},Math.max(0,Date.now()-Number(o[3])),yl))return r}return await M.rm(H.join(hn(e),r),{force:!0}),null}))).filter(r=>r!==null),committed:t.committed}}async function kt(e,t){let n=await G(e,ml,Ur,`history-event-index-invalidation:${process.pid}`,!1,!1,ts);try{return await t()}finally{await n()}}async function gl(e){let t=hn(e);await M.mkdir(t,{recursive:!0});let n=es(),r=await _i(),o=H.join(t,`${r.pid}-${r.process_start_identity??"unknown"}-${Date.now()}-${n}.pending`);return await M.writeFile(o,`pending
13
- `,{flag:"wx"}),{pendingPath:o,committedPath:H.join(t,`${n}.committed`)}}function bl(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}async function dn(e){try{await M.rm(Qe(e),{force:!0})}catch{}}async function gn(e,t){let n=await G(e,_l,Ur,`history-event-index:${process.pid}`,!1,!1,ts);try{return await t()}finally{await n()}}async function ns(e){let t=H.join(e,"history"),n=await M.readdir(t,{withFileTypes:!0}).catch(s=>{if(typeof s=="object"&&s!==null&&"code"in s&&s.code==="ENOENT")return[];throw s}),r=je.get(e)??{streams:new Map,ordered_events:[]},o=new Set,i=!je.has(e);for(let s of n.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")).sort((a,c)=>a.name.localeCompare(c.name))){let a=s.name.slice(0,-6);o.add(a);let c=H.join(t,s.name),d=await M.stat(c,{bigint:!0}),u=[d.dev,d.ino,d.size,d.mtimeNs,d.ctimeNs].join(":");if(r.streams.get(a)?.signature===u)continue;let f=await rs(c,a);r.streams.set(a,{signature:u,byte_size:Number(d.size),events:f.map((m,y)=>({stream_id:a,stream_offset:y,entry:m}))}),i=!0}for(let s of r.streams.keys())o.has(s)||(r.streams.delete(s),i=!0);if(i&&(r.ordered_events=[...r.streams.values()].flatMap(s=>s.events).sort(Br)),je.delete(e),je.set(e,r),je.size>fl){let s=je.keys().next().value;je.delete(s)}return{events:r.ordered_events,stream_byte_sizes:new Map([...r.streams].map(([s,a])=>[s,a.byte_size]))}}async function rs(e,t){let n=await Ye(e,t);for(let[r,o]of n.entries())if(typeof o.ts!="string"||!Ue(o.ts.trim()))throw new I(`History for ${t} contains an invalid or sub-millisecond timestamp at line ${r+1}. Repair or restore the history stream and retry.`,k.GENERIC_FAILURE,{code:"history_timestamp_invalid"});return n.map(r=>({...r,ts:new Date(r.ts.trim()).toISOString()}))}async function wl(e){return(await ns(e)).events}function El(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function vl(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?El(t):null}var ln;function bn(){return ln!==void 0||(ln=vl(process.versions.node,ll(import.meta.url))),ln}function kl(e){e.exec(`
14
- PRAGMA journal_mode = OFF;
15
- PRAGMA synchronous = OFF;
16
- CREATE TABLE metadata (
17
- key TEXT PRIMARY KEY,
18
- value TEXT NOT NULL
19
- ) STRICT;
20
- CREATE TABLE events (
21
- stream_id TEXT NOT NULL,
22
- stream_offset INTEGER NOT NULL,
23
- ts TEXT NOT NULL,
24
- author TEXT NOT NULL,
25
- agent_harness TEXT,
26
- agent_instance TEXT,
27
- op TEXT NOT NULL,
28
- event_class TEXT NOT NULL CHECK(event_class IN ('substantive', 'maintenance')),
29
- entry_json TEXT NOT NULL,
30
- PRIMARY KEY(stream_id, stream_offset)
31
- ) STRICT;
32
- CREATE TABLE streams (
33
- stream_id TEXT PRIMARY KEY,
34
- byte_size INTEGER NOT NULL CHECK(byte_size >= 0)
35
- ) STRICT;
36
- CREATE INDEX events_order
37
- ON events(ts, stream_id, stream_offset);
38
- CREATE INDEX events_op_order
39
- ON events(op, ts, stream_id, stream_offset);
40
- CREATE INDEX events_class_stream_order
41
- ON events(event_class, stream_id, ts, stream_offset);
42
- CREATE INDEX events_author_order
43
- ON events(author, ts, stream_id, stream_offset);
44
- CREATE INDEX events_harness_order
45
- ON events(agent_harness, ts, stream_id, stream_offset);
46
- CREATE INDEX events_instance_order
47
- ON events(agent_instance, ts, stream_id, stream_offset);
48
- `),e.prepare("INSERT INTO metadata(key, value) VALUES ('version', ?)").run(yn)}function os(e,t){let n={...t.entry,ts:new Date(t.entry.ts.trim()).toISOString()};e.prepare(`INSERT INTO events(
49
- stream_id, stream_offset, ts, author, agent_harness,
50
- agent_instance, op, event_class, entry_json
51
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(t.stream_id,t.stream_offset,n.ts,n.author,n.agent_harness??null,n.agent_instance??null,n.op,Je(n),JSON.stringify(n))}function is(e){let t=JSON.parse(String(e.entry_json));return typeof t.ts!="string"||!Ue(t.ts.trim())?null:{stream_id:String(e.stream_id),stream_offset:Number(e.stream_offset),entry:{...t,ts:new Date(t.ts.trim()).toISOString()}}}function ss(e,t,n){e.prepare(`INSERT INTO streams(stream_id, byte_size) VALUES (?, ?)
52
- ON CONFLICT(stream_id) DO UPDATE SET byte_size = excluded.byte_size`).run(t,n)}async function Il(e){let t=bn();return t?gn(e,async()=>{let n;try{n=await kt(e,()=>mn(e))}catch(s){if(s instanceof I&&s.code==="lock_conflict")return!1;throw s}if(n.pending.length>0)return!1;let r=Qe(e);await M.mkdir(H.dirname(r),{recursive:!0});let o=`${r}.${es()}.tmp`,i;try{i=new t(o),kl(i),i.exec("BEGIN IMMEDIATE");let s=await ns(e);for(let c of s.events)os(i,c);for(let[c,d]of s.stream_byte_sizes)ss(i,c,d);i.exec("COMMIT"),i.close(),i=void 0;let a=await kt(e,async()=>{let c=await mn(e);return c.pending.length>0||!bl(n.committed,c.committed)?!1:(await M.rm(r,{force:!0}),await M.rename(o,r),await Promise.all(n.committed.map(d=>M.rm(H.join(hn(e),d),{force:!0}))),!0)});return a||await M.rm(o,{force:!0}),a}catch(s){throw i?.close(),await M.rm(o,{force:!0}),s}}):!1}function un(e,t){return!t||t.length===0||t.includes(e)}function Br(e,t){return e.entry.ts.localeCompare(t.entry.ts)||e.stream_id.localeCompare(t.stream_id)||e.stream_offset-t.stream_offset}function pn(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():e}function Sl(e,t){if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){if(Br(e,{stream_id:t.after_stream_id,stream_offset:t.after_stream_offset,entry:{...e.entry,ts:pn(t.after_ts)}})<=0)return!1}else if(t.since_ts!==void 0&&e.entry.ts<pn(t.since_ts))return!1;return!0}function xl(e,t){return!t.harnesses||t.harnesses.length===0||t.harnesses.includes(e.entry.agent_harness??"")?!0:e.entry.agent_harness===void 0&&(t.harness_alias_authors??[]).includes(e.entry.author)}function Tl(e,t){return!Sl(e,t)||!un(e.entry.op,t.ops)||!un(e.entry.author,t.authors)||!un(e.entry.agent_instance??"",t.agent_instances)||!un(e.stream_id,t.stream_ids)||!xl(e,t)?!1:(t.provenance??[]).every(n=>{let r=e.entry.agent_provenance?.[n.dimension]?.value;return r!==void 0&&n.values.includes(r)})}async function Kp(e,t){let n=Math.max(0,Math.floor(t.limit)),r=(await wl(e)).filter(o=>Tl(o,t)).slice(0,n+1);return{events:r.slice(0,t.limit),has_more:r.length>t.limit}}async function as(e,t,n){let r=H.dirname(H.dirname(e)),o=bn();if(!o){await n();return}let i=!1;try{await gn(r,async()=>{let s=Qe(r);try{await M.access(s)}catch{await n();return}let a;try{if(a=new o(s),a.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==yn)throw new TypeError("Unsupported history event index version")}catch{a?.close(),await M.rm(s,{force:!0}),await n();return}try{a.exec("PRAGMA busy_timeout = 5000"),a.exec("BEGIN IMMEDIATE")}catch(d){throw a.close(),d}let c=!1;try{await n(),c=!0,i=!0;let d=H.basename(e,".jsonl"),u=a.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(d);os(a,{stream_id:d,stream_offset:Number(u.value),entry:t}),ss(a,d,(await M.stat(e)).size),a.exec("COMMIT"),a.close()}catch(d){if(a?.close(),!c)throw d;await dn(r)}})}catch(s){if(i){await dn(r);return}if(!(s instanceof I)||s.code!=="lock_conflict")throw s;let a;try{await kt(r,async()=>{let c=await gl(r);a=c.pendingPath;try{await n(),i=!0}catch(d){throw await M.rm(c.pendingPath,{force:!0}),d}await M.rename(c.pendingPath,c.committedPath),await dn(r)})}catch(c){if(i){await dn(r);try{await M.rm(a,{force:!0})}catch{}return}throw c}}}async function Vr(e){await M.rm(Qe(H.dirname(H.dirname(e))),{force:!0})}function fn(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function Ol(e,t,n,r){if(!n||n.length===0)return;let o=n.map(()=>"?").join(", "),i=r??[];if(i.length>0){e.push(`(agent_harness IN (${o}) OR (agent_harness IS NULL AND author IN (${i.map(()=>"?").join(", ")})))`),t.push(...n,...i);return}e.push(`agent_harness IN (${o})`),t.push(...n)}async function Gp(e,t){let n=bn();if(!n)return null;let r=[],o=[];if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){r.push("(ts > ? OR (ts = ? AND stream_id > ?) OR (ts = ? AND stream_id = ? AND stream_offset > ?))");let a=pn(t.after_ts);o.push(a,a,t.after_stream_id,a,t.after_stream_id,t.after_stream_offset)}else t.since_ts!==void 0&&(r.push("ts >= ?"),o.push(pn(t.since_ts)));fn(r,o,"op",t.ops),fn(r,o,"author",t.authors),Ol(r,o,t.harnesses,t.harness_alias_authors),fn(r,o,"agent_instance",t.agent_instances);for(let a of t.provenance??[])r.push(`json_extract(entry_json, '$.agent_provenance.${a.dimension}.value') IN (${a.values.map(()=>"?").join(", ")})`),o.push(...a.values);fn(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{return await gn(e,async()=>kt(e,async()=>{let a=await mn(e);if(a.pending.length>0||a.committed.length>0)return null;s=new n(Qe(e),{readOnly:!0});let c=s.prepare("SELECT value FROM metadata WHERE key = 'version'").get(),d=await Al(s,e,t.stream_ids);if(c?.value!==yn||!await ds(s,e,d))return s.close(),s=void 0,null;let u=s.prepare(`SELECT stream_id, stream_offset, entry_json
53
- FROM events${i}
54
- ORDER BY ts, stream_id, stream_offset
55
- LIMIT ?`).all(...o,Math.max(0,Math.floor(t.limit))+1),f=u.slice(0,t.limit).map(is);return s.close(),s=void 0,f.includes(null)?null:{events:f,has_more:u.length>t.limit}}))}catch{return s?.close(),null}}function cs(e,t){let n=Object.create(null);for(let r of e){if(!t.has(r.stream_id)||Je(r.entry)!=="substantive")continue;let o=n[r.stream_id];(o===void 0||Br(o,r)<0)&&(n[r.stream_id]=r)}return n}async function Cl(e,t){if(H.basename(t)!==t)return null;try{return(await M.stat(H.join(e,"history",`${t}.jsonl`))).size}catch(n){if(ue(n))return 0;throw n}}async function ds(e,t,n){for(let r=0;r<n.length;r+=500){let o=n.slice(r,r+500),i=new Map(e.prepare(`SELECT stream_id, byte_size FROM streams
56
- WHERE stream_id IN (${o.map(()=>"?").join(", ")})`).all(...o).map(a=>[String(a.stream_id),Number(a.byte_size)])),s=await Promise.all(o.map(a=>Cl(t,a)));for(let[a,c]of s.entries()){if(c===null)return!1;let d=o[a],u=i.get(d);if(!(c===0&&u===void 0)&&c!==u)return!1}}return!0}async function Al(e,t,n){if(n&&n.length>0)return[...new Set(n.filter(i=>i.trim().length>0))];let r=e.prepare("SELECT stream_id FROM streams").all().map(i=>String(i.stream_id)),o=await M.readdir(H.join(t,"history"),{withFileTypes:!0}).then(i=>i.filter(s=>s.isFile()&&s.name.endsWith(".jsonl")).map(s=>s.name.slice(0,-6))).catch(i=>{if(ue(i))return[];throw i});return[...new Set([...r,...o])]}async function Zi(e,t,n,r){if(!e)return null;let o;try{return await gn(t,async()=>kt(t,async()=>{let i=await mn(t);if(i.pending.length>0||i.committed.length>0)return null;if(o=new e(Qe(t),{readOnly:!0}),o.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==yn||!await ds(o,t,n))return o.close(),o=void 0,null;let a=[];for(let c=0;c<n.length;c+=500){let d=n.slice(c,c+500),f=o.prepare(`SELECT stream_id, stream_offset, entry_json
57
- FROM (
58
- SELECT stream_id, stream_offset, entry_json,
59
- ROW_NUMBER() OVER (
60
- PARTITION BY stream_id
61
- ORDER BY ts DESC, stream_offset DESC
62
- ) AS recency_rank
63
- FROM events
64
- WHERE event_class = 'substantive'
65
- AND stream_id IN (${d.map(()=>"?").join(", ")})
66
- )
67
- WHERE recency_rank = 1`).all(...d).map(is);if(f.includes(null))return o.close(),o=void 0,null;a.push(...f)}return o.close(),o=void 0,cs(a,r)}))}catch(i){return o?.close(),i instanceof I&&i.code==="lock_conflict"?_n:null}}async function Yp(e,t){let n=[...new Set(t.filter(a=>a.trim().length>0&&H.basename(a)===a))];if(n.length===0)return{};let r=new Set(n),o=bn(),i=await Zi(o,e,n,r);if(i!==null&&i!==_n)return i;if(o&&i!==_n)try{if(await Il(e)){let a=await Zi(o,e,n,r);if(a!==null&&a!==_n)return a}}catch{}let s=[];return await Promise.all(n.map(async a=>{let c=H.join(e,"history",`${a}.jsonl`);(await rs(c,a).catch(u=>{if(u instanceof I&&u.code==="history_timestamp_invalid")return[];throw u})).forEach((u,f)=>{s.push({stream_id:a,stream_offset:f,entry:u})})})),cs(s,r)}import Jr from"node:fs/promises";import et from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d6a389b0-7a14-56e7-ac2c-17fcdecc7b29")}catch{}})();var wn="changed_fields",Rl="changed_field_count",Wr="rows",Nl=new Set(["apply","rollback"]),fs=new Set(["deleted","would_delete"]),ls=256;function us(e){return typeof e!="string"||e.length<=ls?e:`${e.slice(0,ls-1)}\u2026`}function Dl(e){if(!re(e))return null;let t={...e};return t.reason=us(t.reason),re(t.previous_terminal)&&(t.previous_terminal=Object.fromEntries(Object.entries(t.previous_terminal).map(([n,r])=>[n,us(r)]))),t}function re(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function _s(e){let t=e[wn];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==wn&&(n[r]=o);return n[Rl]=t.length,n}function jl(e){return"item"in e&&Array.isArray(e[wn])}function Pl(e){return typeof e.mode=="string"&&Nl.has(e.mode)&&Array.isArray(e[Wr])}function Ll(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[Wr]=t,n}function Ml(e){if(!re(e))return null;let t=re(e.item)?e.item:re(e.plan)?e.plan:null;if(t===null)return null;let n=typeof t.id=="string"?t.id:void 0,r=typeof e.outcome=="string"&&fs.has(e.outcome)?e.outcome:typeof t.status=="string"?t.status:void 0;return n?r?{id:n,status:r,...typeof e.deleted=="boolean"?{deleted:e.deleted}:{}}:{id:n}:null}function Fl(e){if(!re(e)||!re(e.item)||typeof e.item.id!="string")return null;let t=e[wn];if(!Array.isArray(t))return null;let n={id:e.item.id,...typeof e.outcome=="string"&&fs.has(e.outcome)?{status:e.outcome}:typeof e.item.status=="string"?{status:e.item.status}:{},...typeof e.deleted=="boolean"?{deleted:e.deleted}:{},...typeof e.previous_status=="string"?{previous_status:e.previous_status}:{},changed_field_count:t.length};return $l(e,e.item,n),n}function $l(e,t,n){let r=typeof e.close_reason=="string"?e.close_reason:typeof t.close_reason=="string"?t.close_reason:void 0;r!==void 0&&(n.close_reason=r);let o=Dl(e.recurrence);o!==null&&(n.recurrence=o),Array.isArray(e.warnings)&&e.warnings.length>0&&(n.warnings=e.warnings),re(e.recovery)&&(n.recovery=e.recovery)}function zl(e){let t=Pl(e)?e[Wr]:void 0;if(!Array.isArray(t))return{projected:e,changed:!1};let n=!1,r=t.map(o=>{if(!re(o))return o;let i=_s(o);return i?(n=!0,i):o});return n?{projected:Ll(e,r),changed:!0}:{projected:e,changed:!1}}function Hl(e,t={}){if(t.idOnly===!0){let a=Ml(e);if(a!==null)return a}if(t.compactEnvelope===!0){let a=Fl(e);if(a!==null)return a}if((t.changedFields??"full")==="full"||!re(e))return e;let r=!1,o=e,i=jl(e)?_s(e):null;i!==null&&(o=i,r=!0);let s=zl(o);return s.changed&&(o=s.projected,r=!0),r?o:e}import{encode as ys}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fa89762b-915f-5ef0-a091-f05338c11683")}catch{}})();var gy=new Set(Object.values(k));var ms=!1;function Ze(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function qr(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function Ul(){(process.exitCode===void 0||process.exitCode===k.SUCCESS)&&(process.exitCode=k.SUCCESS)}function Bl(){(process.exitCode===void 0||process.exitCode===k.SUCCESS)&&(process.exitCode=k.GENERIC_FAILURE)}function Xr(e){if(e==="stdout"){Ul();return}Bl()}function ps(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function Vl(){ms||(ms=!0,process.stdout.on("error",e=>{if(qr(e)){Xr("stdout");return}ps(e)}),process.stderr.on("error",e=>{if(qr(e)){Xr("stderr");return}ps(e)}))}function Wl(e,t){Vl();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(qr(n))return Xr(e),!1;throw n}}function En(e){return Wl("stderr",e)}function Kr(e){return typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):e===null?"null":JSON.stringify(e)}function ql(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function hs(e){if(e.length===0||!e.every(Ze))return!1;let t=Object.keys(e[0]);return t.length>0&&e.every(n=>Object.keys(n).length===t.length&&t.every(r=>Object.hasOwn(n,r)&&ql(n[r])))}function gs(e,t){let n=" ".repeat(t);return e.split(`
68
- `).map(r=>`${n}${r}`).join(`
69
- `)}function Xl(e,t,n){let r=" ".repeat(n);return!Ze(t)&&!Array.isArray(t)?`${r}${e}: ${Kr(t)}`:Array.isArray(t)&&t.length===0?`${r}${e}: []`:Array.isArray(t)&&hs(t)?gs(ys({[e]:t}),n):Ze(t)&&Object.keys(t).length===0?`${r}${e}: {}`:`${r}${e}:
70
- ${Yr(t,n+1)}`}function Gr(e){if(e!=null){if(Array.isArray(e)){let t=e.map(n=>Gr(n)).filter(n=>n!==void 0);return t.length>0?t:void 0}if(Ze(e)){let t={};for(let[n,r]of Object.entries(e)){if(n==="omitted_field_groups"&&Array.isArray(r)&&r.length===0){t[n]=[];continue}let o=Gr(r);o!==void 0&&(t[n]=o)}return Object.keys(t).length>0?t:void 0}return e}}function Yr(e,t){let n=" ".repeat(t);if(Array.isArray(e))return e.length===0?"[]":hs(e)?gs(ys(e),t):e.map(r=>{if(!Ze(r)&&!Array.isArray(r))return`${n}- ${Kr(r)}`;let i=Yr(r,t+1).split(`
71
- `),[s,...a]=i;return a.length===0?`${n}- ${s.trimStart()}`:`${n}- ${s.trimStart()}
72
- ${a.join(`
73
- `)}`}).join(`
74
- `);if(Ze(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>Xl(o,i,t)).join(`
75
- `)}return`${n}${Kr(e)}`}function by(e,t){if(t==="json")return`${JSON.stringify(e,null,2)}
76
- `;let n=Gr(e);return n===void 0?`{}
77
- `:`${Yr(n,0)}
78
- `}function wy(e){let t=li("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;En(n.endsWith(`
79
- `)?n:`${n}
80
- `)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5121b339-6594-58ec-b479-11cbf7dafd27")}catch{}})();var Kl=et.join("runtime","history-drift-cache.json"),bs={EINVAL:"invalid_cache_path",EISDIR:"cache_path_is_directory",ENOENT:"invalid_cache_path",ENOTDIR:"invalid_cache_path",ERR_FS_EISDIR:"cache_path_is_directory"};function ws(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function Gl(e){let t=et.join(e,Kl),n=!1,r="invalid_cache_path";try{n=(await Jr.stat(await Jr.realpath(e))).isDirectory()}catch(o){let i=ws(o);r=i===void 0?"unknown":bs[i]??"filesystem_error"}if(!n){En(`[pm] warning: history_drift_cache_invalidation_failed:${r}
81
- `);return}try{await Jr.rm(t,{force:!0})}catch(o){let i=ws(o);if(ue(o))return;let s=i===void 0?"unknown":bs[i]??"filesystem_error";En(`[pm] warning: history_drift_cache_invalidation_failed:${s}
82
- `)}}async function vn(e){let t=et.dirname(et.resolve(e));et.basename(t)==="history"&&await Gl(et.dirname(t))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a5449fec-c5b4-5cf4-9a7f-b7c5dc7161c2")}catch{}})();var Ql={front_matter:{},body:""},Pe=3,It=[1,2,3],Zl=1,eu=[1];function xs(e){return Q(L(e))}function tt(e){return Q(L(e))}function Uy(e){return Q(L(e))}function to(e){let t={...e,record_hash_version:Zl},{record_hash:n,...r}=t;return{...t,record_hash:xs(r)}}function Sn(e){if(e.record_hash_version===void 0&&e.record_hash===void 0)return{ok:!0,coverage:"item_state_only"};if(e.record_hash_version===void 0||e.record_hash===void 0)return{ok:!1,error:"incomplete_record_hash_envelope"};if(!eu.includes(e.record_hash_version))return{ok:!1,error:"unsupported_record_hash_version"};let{record_hash:t,...n}=e;return xs(n)===e.record_hash?{ok:!0,coverage:"record_and_item_state"}:{ok:!1,error:"record_hash_mismatch"}}function tu(e,t){let n={before_hash:e.before_hash,after_hash:e.after_hash,patch_hash:tt(e.patch)};return e.item_hash_version!==void 0&&(n.item_hash_version=e.item_hash_version),t.retainOriginalPatch&&(n.patch=structuredClone(e.patch)),t.retainPriorRecordHash!==!1&&e.record_hash_version!==void 0&&e.record_hash!==void 0&&(n.record_hash_version=e.record_hash_version,n.record_hash=e.record_hash,n.record=structuredClone(e)),n}function Ts(e,t,n={}){let r=Sn(e);if(!r.ok)throw new TypeError(r.error);let o=tt(e.patch),i=n.retainPriorRecord===!0||e.before_hash!==t.before_hash||e.after_hash!==t.after_hash||e.item_hash_version!==t.item_hash_version||o!==tt(t.patch),s=to({...t,...i?{reanchor_evidence:[...t.reanchor_evidence??[],tu(e,n)]}:{}}),a=no(s);if(!a.ok)throw new TypeError(a.error);return s}function Os(e){return!Array.isArray(e)||Object.keys(e).length!==e.length?!1:e.every(t=>!Le(t)||typeof t.path!="string"?!1:t.op==="move"||t.op==="copy"?typeof t.from=="string":["add","replace","test"].includes(t.op)?Object.hasOwn(t,"value"):t.op==="remove")}function nu(e){return Le(e)&&typeof e.ts=="string"&&typeof e.author=="string"&&typeof e.op=="string"&&typeof e.before_hash=="string"&&typeof e.after_hash=="string"&&Os(e.patch)}function ru(e){let t=e.record_hash_version!==void 0,n=e.record_hash!==void 0;return t===n}function ou(e){return!Le(e)||!ru(e)||typeof e.before_hash!="string"||typeof e.after_hash!="string"||typeof e.patch_hash!="string"||!/^[a-f0-9]{64}$/u.test(e.patch_hash)||e.patch!==void 0&&!Os(e.patch)||e.record_hash_version!==void 0&&typeof e.record_hash_version!="number"||e.record_hash!==void 0&&(typeof e.record_hash!="string"||!/^[a-f0-9]{64}$/u.test(e.record_hash))?!1:e.record===void 0||nu(e.record)}function iu(e){let t=e.record;return t!==void 0&&t.before_hash===e.before_hash&&t.after_hash===e.after_hash&&t.item_hash_version===e.item_hash_version&&t.record_hash_version===e.record_hash_version&&t.record_hash===e.record_hash&&tt(t.patch)===e.patch_hash}function su(e,t,n){if(t.patch&&tt(t.patch)!==t.patch_hash)return{kind:"patch_hash_mismatch"};if(t.record)return iu(t)?{kind:"record",entry:t.record}:{kind:"record_hash_mismatch"};let r=t.patch??e.patch;if(tt(r)!==t.patch_hash)return{kind:"digest_only"};let o={...e,before_hash:t.before_hash,after_hash:t.after_hash,patch:r,...t.item_hash_version===void 0?{}:{item_hash_version:t.item_hash_version},...t.record_hash_version===void 0?{}:{record_hash_version:t.record_hash_version},...t.record_hash===void 0?{}:{record_hash:t.record_hash},...n.length===0?{}:{reanchor_evidence:n}};return n.length===0&&delete o.reanchor_evidence,t.item_hash_version===void 0&&delete o.item_hash_version,t.record_hash_version===void 0||t.record_hash===void 0?{kind:"legacy",entry:o}:{kind:"record",entry:o}}function no(e){let t=e.reanchor_evidence;if(t===void 0)return{ok:!0,coverage:"none"};if(!Array.isArray(t))return{ok:!1,error:"rewrite_evidence_invalid"};if(t.length===0)return{ok:!0,coverage:"none"};let n=e;for(let r=t.length-1;r>=0;r-=1){let o=t[r];if(!(r in t)||!ou(o))return{ok:!1,error:"rewrite_evidence_invalid"};let i=su(n,o,t.slice(0,r));if(i.kind==="patch_hash_mismatch")return{ok:!1,error:"rewrite_evidence_patch_hash_mismatch"};if(i.kind==="record_hash_mismatch")return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};if(i.kind==="digest_only")return{ok:!0,coverage:"digest_only"};if(i.kind==="legacy")return{ok:!0,coverage:"legacy_anchor_only"};if(!Sn(i.entry).ok)return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};n=i.entry}return{ok:!0,coverage:"complete"}}function kn(e,t){return(e??"").localeCompare(t??"")}function vs(e,t){return(e??0)-(t??0)}function ge(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function au(e,t){return[e.scope.localeCompare(t.scope),kn(e.path,t.path),kn(e.command,t.command),vs(e.timeout_seconds,t.timeout_seconds),kn(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,ge(e.env_clear,t.env_clear,[]),ge(e.env_set,t.env_set,{}),ge(e.assert_stdout_contains,t.assert_stdout_contains,[]),ge(e.assert_stdout_regex,t.assert_stdout_regex,[]),ge(e.assert_stderr_contains,t.assert_stderr_contains,[]),ge(e.assert_stderr_regex,t.assert_stderr_regex,[]),vs(e.assert_stdout_min_lines,t.assert_stdout_min_lines),ge(e.assert_json_field_equals,t.assert_json_field_equals,{}),ge(e.assert_json_field_gte,t.assert_json_field_gte,{}),kn(e.note,t.note)].find(r=>r!==0)??0}function cu(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function du(e,t){let n=cu(t);if(n.length===0)return!0;let r=e;for(let o of n){let i=/^(0|[1-9]\d*)$/.test(o)?Number(o):-1,s=Array.isArray(r)?i>=0&&i<r.length?r[i]:void 0:Le(r)&&Object.prototype.hasOwnProperty.call(r,o)?r[o]:void 0;if(s===void 0)return!1;r=s}return!0}function lu(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!du(r,o.path)?{...o,op:"add"}:o;n.push(i),r=Ss.applyPatch(r,[i],!0,!0).newDocument}return n}function In(e,t,n=!1){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let o=Z(e),s=t===1||t===2&&n?{...o.metadata,...o.metadata.dependencies===void 0?{}:{dependencies:o.metadata.dependencies.map(d=>({...d,id:d.id.toLowerCase()}))},...o.metadata.tests===void 0?{}:{tests:o.metadata.tests.map(({workspace_context_mode:d,provenance:u,provenance_invalid:f,...m})=>m)},...o.metadata.test_runs===void 0?{}:{test_runs:o.metadata.test_runs.map(({executions:d,...u})=>u)}}:o.metadata,a=t===1&&s.tests?{...s,tests:[...s.tests].sort(au)}:s;return{front_matter:S(a,le),body:o.body}}function ks(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let n=Z(e);return{metadata:S(n.metadata,le),body:n.body}}function By(e){return Cs(e,Pe)}function Cs(e,t){if(!It.some(n=>n===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return Q(L(In(e,t)))}function As(e,t){let n=Cs(e,t);return t===2?[n,Q(L(In(e,t,!0)))]:[n]}function Vy(){return Q(L(Ql))}function nt(e){let t=In(e.before,Pe),n=In(e.after,Pe),r=ks(e.before),o=ks(e.after),i=Ss.compare(r,o),s=lu(r,i),a=Di(e.author),c=a.harness?Object.fromEntries(Object.entries(Ri().provenance_outcomes).filter(([,f])=>f.resolver!==void 0&&f.status!=="resolved")):void 0,d=c===void 0||Object.keys(c).length===0?e.context:{...e.context,agent_provenance_outcomes:c},u={ts:e.nowIso,author:e.author,author_source:e.authorSource??Ni(e.author),...a.harness?{agent_harness:a.harness}:{},...a.model?{agent_model:a.model}:{},...a.model_source?{agent_model_source:a.model_source}:{},...a.instance?{agent_instance:a.instance}:{},...a.provenance?{agent_provenance:a.provenance}:{},...a.episode?{agent_episode:a.episode}:{},op:e.op,patch:s,before_hash:Q(L(t)),after_hash:Q(L(n)),item_hash_version:Pe,message:e.message===void 0?void 0:e.message,...d===void 0?{}:{context:d}};return to({...u,event_class:Je(u)})}function Le(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Qr(e){return new I(e,k.GENERIC_FAILURE,{code:"history_timestamp_invalid"})}function Rs(e){let t=e.ts.trim();if(t.length===0)return me();if(!Ue(t))throw Qr("History timestamp must be a valid RFC 3339 date-time with millisecond precision");if(t!==e.ts)throw Qr("History timestamp must not contain surrounding whitespace");return e.ts}function Is(e,t){let n=e.ts;if(typeof n=="string"&&n.trim().length>0){if(!Ue(n))throw Qr("History timestamp must be a valid RFC 3339 date-time with millisecond precision");return e}return{...e,ts:t}}function Zr(e,t){let n=Rs(t);if(typeof e=="string"){let r;try{r=JSON.parse(e)}catch{return e}return Le(r)?JSON.stringify(Is(r,n)):e}return Le(e)?JSON.stringify(Is(e,n)):JSON.stringify(e)}async function uu(e,t,n){if(n===!1)return!0;if(typeof n=="string"){let s=Zr(n,t);return await eo(e,s),await vn(e),await Vr(e),!0}if(typeof n!="object"||n===null)return!1;let r=n;if(r.skip===!0)return!0;let o=typeof r.history_path=="string"?r.history_path:e,i=Zr(typeof r.line=="string"?r.line:r.entry??t,t);return await eo(o,i),await vn(o),await Vr(o),!0}async function eo(e,t){let n;try{n=JSON.parse(t)}catch{n=null}if(!Le(n)||n.op!=="create"){await Ko(e,t);return}await Es.mkdir(Jl.dirname(e),{recursive:!0});try{await Es.writeFile(e,`${t}
83
- `,{encoding:"utf8",flag:"wx"})}catch(r){throw r.code!=="EEXIST"?r:new I("This item identity is reserved by an existing history stream.",k.CONFLICT,{code:"item_identity_reserved",required:"Choose a new item ID or restore the original item from its history.",nextSteps:["Run pm history <id> --full, then pm restore <id> <version> to recover the original item."]})}}async function rt(e,t){let n=await ht("history_append",{history_path:e,entry:t});if(n.handled&&await uu(e,t,n.result))return;let r=t.ts.trim().length>0?t:{...t,ts:Rs(t)},o=to({...r,event_class:Je(r)});await as(e,o,async()=>{await eo(e,Zr(o,o))}),await vn(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b0230e20-93c4-531c-9cc1-85f85c1def7a")}catch{}})();var fu={metadata:{},body:""};function xn(){return structuredClone(fu)}function Zy(e,t=Pe){return ro(e,t)[0]}function ro(e,t){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return As(Tn(e),t)}catch{}let n=Q(L({replay_fallback:!0,metadata:e.metadata,body:e.body}));return t===2?[n,n]:[n]}function js(e,t,n,r){let o=ro(e,n),i=ro(t,n);return{beforeHashes:o,afterHashes:i,pairIndex:o.findIndex((s,a)=>s===r.before_hash&&i[a]===r.after_hash),beforeIndex:o.indexOf(r.before_hash),afterIndex:i.indexOf(r.after_hash)}}function Tn(e){return{metadata:e.metadata,body:e.body}}function eh(e,t={}){return Z(Tn(e),t)}function th(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=Z(e);return{metadata:S(t.metadata,le),body:t.body}}function Ns(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function _u(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function Ps(e){return Array.isArray(e)?e.filter(_u).map(t=>({...t,path:Ns(t.path),from:typeof t.from=="string"?Ns(t.from):void 0})):[]}function mu(e){return typeof e=="object"&&e!==null&&"metadata"in e&&"body"in e&&typeof e.body=="string"&&typeof e.metadata=="object"&&e.metadata!==null}function On(e,t){try{let n=Ps(t),r=oo.applyPatch(structuredClone(e),n,!0,!1).newDocument;return mu(r)?{ok:!0,document:{metadata:r.metadata,body:r.body}}:{ok:!1,error:new Error("history_replay_invalid_document_shape")}}catch(n){return{ok:!1,error:n}}}function pu(e){return[...new Set(e.map(t=>t.item_hash_version).filter(t=>t!==void 0&&It.includes(t)))]}function Ls(e){return e!==void 0&&!It.includes(e)}function yu(e,t){return e!==void 0?[e]:t===void 0?[...It]:[t]}function Ms(e){let t=Sn(e);if(!t.ok)return t.error;let n=no(e);return n.ok?void 0:n.error}function hu(e,t){let n=Ms(e);if(n)return{ok:!1,error:n};let r=On(t,e.patch);return r.ok?{ok:!0,document:r.document}:{ok:!1,error:"patch_apply_failed"}}function gu(e,t){let n=Ms(e);if(n)throw new TypeError(`${n}:entry_${t+1}`)}function Fs(e){let t=xn(),n,r,o=Qi(e).map(i=>`verify_failed:duplicate_create:entry_${i.repeated_create_index}:prior_${i.prior_genesis_index}`);for(let i=0;i<e.length;i+=1){let s=e[i],a=s.item_hash_version,c=Ls(a);c&&o.push(`verify_failed:unsupported_item_hash_version:${String(a)}:entry_${i+1}`);let d=hu(s,t);if(!d.ok)return{ok:!1,errors:[...o,`verify_failed:${d.error}:entry_${i+1}`]};if(c){t=d.document,n=void 0,r=void 0;continue}let f=yu(a,r).map(_=>({version:_,match:js(t,d.document,_,s)})),m=f.find(({match:_})=>_.pairIndex>=0);if(m===void 0){let _=f.some(({match:v})=>v.beforeIndex>=0);return{ok:!1,errors:[...o,`verify_failed:${_?"after":"before"}_hash_mismatch:entry_${i+1}`]}}let y=m.version;t=d.document,n=y,r=a??r}return o.length>0?{ok:!1,errors:o,...n===void 0?{}:{item_hash_version:n}}:{ok:!0,errors:[],...n===void 0?{}:{item_hash_version:n}}}function Cn(e){let t=Fs(e);return{ok:t.ok,errors:t.errors}}function Ds(e,t){try{return{ok:!0,document:oo.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function bu(e,t){let n=structuredClone(e),r=0,o=0;for(let a of Ps(t)){let c=Ds(n,a);if(c.ok){n=c.document;continue}if(a.op==="replace"){let d=Ds(n,{...a,op:"add"});if(d.ok){n=d.document,r+=1;continue}}o+=1}let i=n;return{document:{metadata:typeof i.metadata=="object"&&i.metadata!==null?i.metadata:{},body:typeof i.body=="string"?i.body:e.body},convertedReplaceToAdd:r,skippedOps:o}}function wu(e){let t=pu(e);if(t.length===1)return t[0];let n=Fs(e);return n.ok&&n.item_hash_version!==void 0?n.item_hash_version:t.length===0?1:Pe}function Eu(e,t){let n=On(e,t.patch);if(n.ok)return{next:n.document,patch:t.patch,repaired:!1,converted:0,skipped:0};let r=bu(e,t.patch);return{next:r.document,patch:oo.compare(e,r.document),repaired:!0,converted:r.convertedReplaceToAdd,skipped:r.skippedOps}}function nh(e,t=wu(e),n={}){let r=e.findIndex(y=>Ls(y.item_hash_version));if(r>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[r]?.item_hash_version)}:entry_${r+1}`);let o=xn(),i=[],s=[],a=0,c=0,d=0,u=0,f,m=t!==1||e.some(y=>y.item_hash_version!==void 0);for(let y=0;y<e.length;y+=1){let _=e[y];gu(_,y);let v=Eu(o,_),{next:b,patch:O,repaired:R,converted:P,skipped:z}=v;d+=P,u+=z,c+=Number(R);let N=js(o,b,t,_);f===void 0||n.continuousHashSurface!==!0?f=[N.pairIndex,N.beforeIndex,N.afterIndex,Math.min(f??0,N.beforeHashes.length-1)].find($o=>$o>=0):f=Math.min(f,N.beforeHashes.length-1);let de=N.beforeHashes[f],W=N.afterHashes[f],Se=de!==_.before_hash||W!==_.after_hash;Se&&(a+=1);let J={..._,patch:O,before_hash:de,after_hash:W};m?J.item_hash_version=t:delete J.item_hash_version;let $e=J.item_hash_version!==_.item_hash_version;(Se||R||$e)&&(J=Ts(_,J,{retainOriginalPatch:R})),i.push(J),s.push({index:y+1,rehashed:Se,patch_repaired:R,converted_replace_to_add:P,skipped_ops:z}),o=b}return{entries:i,finalDocument:o,entriesRehashed:a,entriesPatchRepaired:c,convertedReplaceToAdd:d,skippedOps:u,details:s,itemHashVersion:t,explicitItemHashVersion:m}}function rh(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
84
- `)}
85
- `}import{AsyncLocalStorage as vu}from"node:async_hooks";import{channel as ku}from"node:diagnostics_channel";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1cd39e2f-41c7-5005-925d-d4539cda15d3")}catch{}})();var io=new vu,so=ku("@unbrained/pm-cli/item-metadata-enumeration/v1");function An(e){so.publish(e)}async function ah(e){let t={enumeration_calls:0,metadata_rows:0},n=r=>{io.getStore()?.includes(t)&&(t.enumeration_calls+=1,t.metadata_rows+=r)};so.subscribe(n);try{return{result:await io.run([...io.getStore()??[],t],e),work:{...t}}}finally{so.unsubscribe(n)}}import Iu from"node:crypto";import Rn from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="04f02467-a4ee-5616-9fbf-3df1141efccf")}catch{}})();function zs(e){let t=[],n=!1;for(let r of(e??"").toLowerCase()){let o=r.charCodeAt(0),i=o>=48&&o<=57,s=o>=97&&o<=122;if(!i&&!s){n=t.length>0;continue}n&&(t.push("-"),n=!1),t.push(r)}return t.length===0?"pm-":`${t.join("")}-`}function ao(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function St(e,t){let n=zs(t),r=ao(e);return r.startsWith(n)?r:`${n}${r}`}function Su(e){let t=ui(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=Iu.randomInt(0,36).toString(36);return n}async function xu(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[Rn.join(e,o,`${t}.md`),Rn.join(e,o,`${t}.toon`)]);return r.push(Rn.join(e,"history",`${t}.jsonl`)),(await Promise.all(r.map(o=>Te(o)))).some(Boolean)}var $s=4,Hs=12;function Tu(e){return typeof e!="number"||!Number.isFinite(e)?$s:Math.min(Hs,Math.max($s,Math.trunc(e)))}async function mh(e,t,n={}){let r=Tu(n.tokenLength),o=Math.min(r+6,Hs),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${zs(t)}${Su(r)}`;if(!await(n.probeExisting===!1?Te(Rn.join(e,"history",`${a}.jsonl`)):xu(e,a,n.typeToFolder??xe)))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import Me from"node:fs/promises";import Bs from"node:path";import{randomUUID as Ou}from"node:crypto";import{createRequire as Cu}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="530ad63f-f7c5-52c9-9f81-a74b1cd4c36e")}catch{}})();var Au="metadata-query-index.sqlite",xt="5";function Ru(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var Nn;function Nu(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?Ru(t):null}function Tt(){return Nn!==void 0||(Nn=Nu(process.versions.node,Cu(import.meta.url))),Nn}function Us(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function ot(e){return Bs.join(e,"runtime",Au)}function Du(e){e.exec(`
86
- PRAGMA foreign_keys = ON;
87
- PRAGMA journal_mode = OFF;
88
- PRAGMA synchronous = OFF;
89
- CREATE TABLE metadata (
90
- key TEXT PRIMARY KEY,
91
- value TEXT NOT NULL
92
- ) STRICT;
93
- CREATE TABLE items (
94
- id TEXT PRIMARY KEY,
95
- relative_path TEXT NOT NULL UNIQUE,
96
- metadata_json TEXT NOT NULL,
97
- status TEXT NOT NULL,
98
- type TEXT NOT NULL,
99
- priority INTEGER NOT NULL,
100
- updated_at TEXT NOT NULL,
101
- created_at TEXT NOT NULL,
102
- parent TEXT,
103
- assignee TEXT,
104
- sprint TEXT,
105
- release TEXT
106
- ) STRICT;
107
- CREATE INDEX items_default_order
108
- ON items(priority, updated_at DESC, id);
109
- CREATE INDEX items_status_default_order
110
- ON items(status, priority, updated_at DESC, id);
111
- CREATE INDEX items_type_default_order
112
- ON items(type, priority, updated_at DESC, id);
113
- CREATE INDEX items_parent_default_order
114
- ON items(parent, priority, updated_at DESC, id);
115
- CREATE TABLE item_metadata_keys (
116
- item_id TEXT NOT NULL,
117
- key TEXT NOT NULL,
118
- PRIMARY KEY(item_id, key),
119
- FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
120
- ) STRICT;
121
- CREATE INDEX item_metadata_keys_key_item
122
- ON item_metadata_keys(key, item_id);
123
- CREATE TABLE item_linked_files (
124
- item_id TEXT NOT NULL,
125
- path TEXT NOT NULL,
126
- scope TEXT NOT NULL,
127
- note TEXT,
128
- PRIMARY KEY(item_id, path, scope),
129
- FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
130
- ) STRICT;
131
- CREATE INDEX item_linked_files_path_scope_item
132
- ON item_linked_files(path, scope, item_id);
133
- CREATE VIRTUAL TABLE item_search USING fts5(
134
- id UNINDEXED,
135
- title,
136
- description,
137
- tags,
138
- tokenize = 'unicode61'
139
- );
140
- `)}function jn(e,t,n){e.prepare("INSERT INTO metadata(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function Vs(e,t){let n=t.metadata;e.prepare(`INSERT INTO items(
141
- id, relative_path, metadata_json, status, type, priority,
142
- updated_at, created_at, parent, assignee, sprint, release
143
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
144
- ON CONFLICT(id) DO UPDATE SET
145
- relative_path = excluded.relative_path,
146
- metadata_json = excluded.metadata_json,
147
- status = excluded.status,
148
- type = excluded.type,
149
- priority = excluded.priority,
150
- updated_at = excluded.updated_at,
151
- created_at = excluded.created_at,
152
- parent = excluded.parent,
153
- assignee = excluded.assignee,
154
- sprint = excluded.sprint,
155
- release = excluded.release`).run(n.id,t.relativePath,JSON.stringify(n),n.status,n.type,n.priority,n.updated_at,n.created_at,n.parent??null,n.assignee??null,n.sprint??null,n.release??null),e.prepare("DELETE FROM item_metadata_keys WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_linked_files WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_search WHERE rowid = (SELECT rowid FROM items WHERE id = ?)").run(n.id),e.prepare("INSERT INTO item_search(rowid, id, title, description, tags) SELECT rowid, ?, ?, ?, ? FROM items WHERE id = ?").run(n.id,n.title,n.description,n.tags.join(" "),n.id);let r=e.prepare("INSERT INTO item_metadata_keys(item_id, key) VALUES (?, ?)");for(let i of Object.keys(n))r.run(n.id,i);let o=e.prepare("INSERT INTO item_linked_files(item_id, path, scope, note) VALUES (?, ?, ?, ?)");for(let i of t.linkedFiles??[])o.run(n.id,i.path,i.scope,i.note??null)}async function Ws(e){let t=ot(e.pmRoot),n=Tt();if(!n){await Me.rm(t,{force:!0});return}await Me.mkdir(Bs.dirname(t),{recursive:!0});let r=`${t}.${Ou()}.tmp`,o;try{o=new n(r),Du(o),o.exec("BEGIN IMMEDIATE"),jn(o,"version",xt),jn(o,"context_fingerprint",e.contextFingerprint),jn(o,"source_cursor",e.sourceCursor);for(let i of e.rows)Vs(o,i);o.exec("COMMIT"),o.close(),o=void 0,await Me.rm(t,{force:!0}),await Me.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([Me.rm(r,{force:!0})]),i}}function Pn(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function qs(e){let t=Tt();if(!t)return!1;let n=ot(e.pmRoot),r;try{await Me.access(n),r=new t(n),r.exec("PRAGMA foreign_keys = ON");let o=Pn(r);if(o.version!==xt||o.context_fingerprint!==e.contextFingerprint||o.source_cursor!==e.expectedSourceCursor)return r.close(),!1;r.exec("BEGIN IMMEDIATE");let i=r.prepare("DELETE FROM items WHERE relative_path = ?"),s=r.prepare("SELECT rowid FROM items WHERE relative_path = ?"),a=r.prepare("DELETE FROM item_search WHERE rowid = ?");for(let c of e.deletedRelativePaths??[]){let d=s.get(c);i.run(c),d&&a.run(d.rowid)}return e.row&&Vs(r,e.row),jn(r,"source_cursor",e.sourceCursor),r.exec("COMMIT"),r.close(),!0}catch{try{r?.exec("ROLLBACK")}catch{}return r?.close(),!1}}function Dn(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function ju(e){let t=[],n=[];Dn(t,n,"status",e.statuses,"IN"),Dn(t,n,"status",e.excludeStatuses,"NOT IN"),Dn(t,n,"type",e.types,"IN"),Dn(t,n,"id",e.ids,"IN");for(let r of e.metadataKeys??[])t.push("EXISTS (SELECT 1 FROM item_metadata_keys AS indexed_key WHERE indexed_key.item_id = items.id AND indexed_key.key = ?)"),n.push(r);for(let[r,o]of[["parent",e.parent],["assignee",e.assignee],["sprint",e.sprint],["release",e.release]])o!==void 0&&(t.push(`${r} = ?`),n.push(o));return e.priority!==void 0&&(t.push("priority = ?"),n.push(e.priority)),{where:t.length===0?"":` WHERE ${t.join(" AND ")}`,parameters:n}}async function wh(e){let t=Tt();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=ju(n),i;try{i=new t(ot(e.pmRoot),{readOnly:!0});let s=Pn(i);if(s.version!==xt||s.source_cursor!==e.expectedSourceCursor)return i.close(),null;let a=i.prepare(`SELECT COUNT(*) AS count FROM items${r}`).get(...o),c=[],d="";n.limit!==void 0?(d+=" LIMIT ?",c.push(Math.max(0,Math.floor(n.limit))),n.offset!==void 0&&(d+=" OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))))):n.offset!==void 0&&(d+=" LIMIT -1 OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))));let f=i.prepare(`SELECT metadata_json FROM items${r}
156
- ORDER BY ${n.terminalStatuses&&n.terminalStatuses.length>0?`CASE WHEN status IN (${n.terminalStatuses.map(()=>"?").join(", ")}) THEN 1 ELSE 0 END ASC, `:""}priority ASC, updated_at DESC, id ASC${d}`).all(...o,...n.terminalStatuses??[],...c).map(m=>{let y=JSON.parse(String(m.metadata_json));if(!y.id)throw new TypeError("Indexed metadata row has no id");return y});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:f}}catch{return i?.close(),null}}async function Eh(e){let t=Tt();if(!t||e.paths.length===0)return null;let n;try{n=new t(ot(e.pmRoot),{readOnly:!0});let r=Pn(n);if(r.version!==xt||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let o=e.paths.map(()=>"?").join(", "),i=e.scope===void 0?"":" AND scope = ?",s=[...e.paths,...e.scope===void 0?[]:[e.scope]],a=`path IN (${o})${i}`,c=n.prepare(`SELECT COUNT(DISTINCT item_id) AS count
157
- FROM item_linked_files
158
- WHERE ${a}`).get(...s),d=Us(e.limit,50),u=Us(e.offset,0),f=n.prepare(`SELECT items.id, items.metadata_json
159
- FROM items
160
- WHERE EXISTS (
161
- SELECT 1 FROM item_linked_files
162
- WHERE item_linked_files.item_id = items.id AND ${a}
163
- )
164
- ORDER BY items.priority ASC, items.updated_at DESC, items.id ASC
165
- LIMIT ? OFFSET ?`).all(...s,d,u),m=[];if(f.length>0){let y=f.map(b=>String(b.id)),_=n.prepare(`SELECT item_id, path, scope, note
166
- FROM item_linked_files
167
- WHERE item_id IN (${y.map(()=>"?").join(", ")})
168
- AND ${a}
169
- ORDER BY path ASC, scope ASC`).all(...y,...s),v=new Map(y.map(b=>[b,[]]));for(let b of _){let O=String(b.item_id),R=v.get(O);R.push({path:String(b.path),scope:String(b.scope),...b.note===null?{}:{note:String(b.note)}}),v.set(O,R)}for(let b of f){let O=JSON.parse(String(b.metadata_json));m.push({item:O,files:v.get(String(b.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:m}}catch{return n?.close(),null}}async function vh(e){let t=Tt();if(!t)return null;let n;try{n=new t(ot(e.pmRoot),{readOnly:!0});let r=Pn(n);if(r.version!==xt||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let i=n.prepare(`SELECT items.metadata_json
170
- FROM item_search
171
- JOIN items ON items.id = item_search.id
172
- WHERE item_search MATCH ?
173
- ORDER BY bm25(item_search), items.priority, items.updated_at DESC, items.id
174
- LIMIT ?`).all(e.query,Math.max(0,Math.floor(e.limit))).map(s=>JSON.parse(String(s.metadata_json)));return n.close(),{source_cursor:r.source_cursor,items:i}}catch{return n?.close(),null}}async function Ln(e){await Me.rm(ot(e),{force:!0})}import B from"node:fs/promises";import j from"node:path";import{createHash as Pu,randomUUID as Js}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8b8c705a-8d80-576f-8642-f6f686cdbed9")}catch{}})();var oe=8,Qs=500,Lu="metadata-derived-index",Mu="metadata-cache.json",Fu="metadata-cache-bodies.json",$u="metadata-cache-collections.json",zu="metadata-cache-delta.json",Hu="metadata-cache-manifest.json",Xs=4,Uu=["comments","notes","learnings","files","tests","test_runs","docs"];function Zs(){return Wt(Oe())}function Fn(e){let t={...e},n={};for(let r of Uu)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function ea(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function ta(e,t,n,r){let o=Pu("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function $n(e){return j.join(e,"runtime",Mu)}function zn(e){return j.join(e,"runtime",Fu)}function Hn(e){return j.join(e,"runtime",$u)}function lo(e){return j.join(e,"runtime",zu)}function uo(e){return j.join(e,"runtime",Hu)}function Un(e,t){let n=j.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Bu=24,Y=new Map,Bn=new WeakMap;function fo(e){return Bn.get(e)??e.source_cursor}function Vu(e,t){let n=fo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Bn.set(e,n);for(let[r,o]of Object.entries(t.changes))o.entry?e.entries[r]=o.entry:delete e.entries[r];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function Wu(e,t){if(!e)return;let n=fo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Bn.set(e,n);for(let[r,o]of Object.entries(t.changes))o.body?e.bodies[r]=o.body:delete e.bodies[r];e.source_cursor=t.source_cursor}}function qu(e,t){if(!e)return;let n=fo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Bn.set(e,n);for(let[r,o]of Object.entries(t.changes))o.collections?e.collections[r]=o.collections:delete e.collections[r];e.source_cursor=t.source_cursor}}function Xu(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Vu(e,r),Wu(t,r),qu(n,r))}function co(e,t){Y.size>=Bu&&!Y.has(e)&&ri(Y),Y.set(e,t)}async function be(e,t){let n;try{n=await B.stat(e)}catch{return Y.delete(e),null}let r=Y.get(e);if(r&&Ot(r.signature,n.mtimeMs,n.ctimeMs,n.size))return Y.delete(e),Y.set(e,r),r.envelope;let o;try{o=t(await B.readFile(e,"utf8"))}catch{o=null}return co(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Ku(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==oe||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=$n(e),i=await be(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await be(Un(o,t),r);return s===null&&Rt(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Gu(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==oe||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=zn(e),o=await be(r,n);return t&&o?.context_fingerprint!==t?await be(Un(r,t),n):o}async function Yu(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==oe||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Hn(e),o=await be(r,n);return t&&o?.context_fingerprint!==t?await be(Un(r,t),n):o}async function _o(e){let t=lo(e),n=await be(t,r=>{let o=JSON.parse(r);return o.version!==oe||typeof o.base_source_cursor!="string"||typeof o.source_cursor!="string"||typeof o.changes!="object"||o.changes===null?null:o});if(n)return{envelope:n,invalid:!1};try{return await B.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function mo(e){let t=uo(e),n=await be(t,r=>{let o=JSON.parse(r);return o.version!==oe||typeof o.context_fingerprint!="string"||typeof o.source_cursor!="string"||!Number.isInteger(o.entry_count)||o.entry_count<0||typeof o.directory_signatures!="object"||o.directory_signatures===null?null:o});if(n)return n;try{await B.stat(t),await it(e)}catch{}return null}async function Ct(e,t){await B.mkdir(j.dirname(e),{recursive:!0}),await q(e,JSON.stringify(t));try{let r=await B.stat(e);co(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{Y.delete(e)}let n=j.dirname(j.dirname(e));if(e===$n(n)||e===zn(n)||e===Hn(n)){let r=Un(e,t.context_fingerprint);await q(r,JSON.stringify(t));try{let c=await B.stat(r);co(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{Y.delete(r)}let o=j.dirname(e),i=j.extname(e),s=j.basename(e,i),a=(await B.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==j.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>j.join(o,c.name));if(a.length>Xs){let c=(await Promise.all(a.map(async d=>{try{return{path:d,mtime:(await B.stat(d)).mtimeMs}}catch{return null}}))).filter(d=>d!==null);for(let d of c.sort((u,f)=>u.mtime-f.mtime).slice(0,Math.max(0,c.length-Xs)))await B.rm(d.path,{force:!0}),Y.delete(d.path)}}}function Ju(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function na(e,t,n){return e===void 0||Ju(e,t,n)}function Rt(e,t){e&&!e.includes(t)&&e.push(t)}function Ot(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Qu(e,t,n){let r=j.join(e,t);try{let o=await B.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!ue(o)&&Rt(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function Zu(e,t){try{let n=await B.stat(j.join(e,t));return[t,{exists:!0,mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function Mn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await Zu(e,n))))}function At(e,t){return!e||Object.keys(e).length!==Object.keys(t).length?!1:Object.entries(t).every(([n,r])=>{let o=e[n];return o!==void 0&&o.exists===r.exists&&Ot(o,r.mtime_ms,r.ctime_ms,r.size)})}function ef(e){return qt.some(t=>e.toLowerCase().endsWith(t))}function tf(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function nf(e,t,n){if(n)for(let r of await _e({path:e,scope:"project"}))Rt(t,r)}function Ks(e,t,n,r){if(e)return t&&n?n.collections:r}async function rf(e,t,n){let r=await B.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=sr(e);await nf(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&Ot(c,o,i,s),u=n.previousBodies[t],f=!n.forceSourceRead&&u!==void 0&&Ot(u,o,i,s),m=n.previousCollections[t],y=!n.forceSourceRead&&m!==void 0&&Ot(m,o,i,s);if(!(!d||n.includeBody&&!f||n.includeCollections&&!y))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:Ks(n.includeCollections,y,m,void 0),bodyLength:c.body_length,body:n.includeBody?u.body:void 0};let v=await B.readFile(e,"utf8"),b=cn(v,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:R=>Rt(n.warnings,R)}),O=Fn(b.metadata);return tf(n.state.misses,n.includeBody,n.includeCollections,d,f,y),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d?c.metadata:O.light,heavyMetadata:Ks(n.includeCollections,y,m,O.heavy),bodyLength:d?c.body_length:b.body.length,body:n.includeBody?b.body:void 0}}function of(e,t,n,r){n.state.newEntries[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,metadata:r.lightMetadata,body_length:r.bodyLength},n.includeBody&&r.body!==void 0&&(n.state.newBodies[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,body:r.body}),n.includeCollections&&r.heavyMetadata!==void 0&&(n.state.newCollections[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,collections:r.heavyMetadata});let o=n.includeCollections?ea(r.lightMetadata,r.heavyMetadata):r.lightMetadata,i=n.state.documentsById.get(o.id),s={metadata:o,body:r.body,item_format:r.itemFormat,item_path:e};na(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function sf(e,t,n,r){try{let o=await rf(t,n,r);of(t,n,r,o)}catch{Rt(r.warnings,`item_list_item_read_failed:${e}/${j.basename(t)}`)}}function af(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function cf(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function df(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function lf(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function uf(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!ef(s))continue;let a=j.join(o,s),c=j.relative(t.pmRoot,a);n.push(sf(r,a,c,t))}return n}async function ff(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!At(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await Ct($n(e.pmRoot),{version:oe,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await Ct(uo(e.pmRoot),{version:oe,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,entry_count:Object.keys(e.state.newEntries).length,directory_signatures:e.directorySignatures});let n=[...e.state.documentsById.values()].map(({candidate:r})=>({relativePath:j.relative(e.pmRoot,r.item_path),metadata:Fn(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await Ws({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Ln(e.pmRoot)}catch{}}async function _f(e){!(e.state.misses.body||Object.keys(e.previousBodies).length!==Object.keys(e.state.newBodies).length)&&e.existingBodyCache!==null&&e.existingBodyCache.context_fingerprint===e.contextFingerprint||await Ct(zn(e.pmRoot),{version:oe,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function mf(e){!(e.state.misses.collections||Object.keys(e.previousCollections).length!==Object.keys(e.state.newCollections).length)&&e.existingCollectionsCache!==null&&e.existingCollectionsCache.context_fingerprint===e.contextFingerprint||await Ct(Hn(e.pmRoot),{version:oe,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function po(e,t,n={}){let r=await mo(e);return n.required!==!0&&(r===null||r.entry_count<Qs)?async()=>{}:G(e,Lu,30,t,!1,!1,3e3)}async function Ph(e,t){let n=await mo(e);if(n===null)return null;let r=await _o(e);if(r.invalid)return await it(e),null;let o=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.source_cursor:n.source_cursor,i=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.directory_signatures:n.directory_signatures;return t&&!At(i,await Mn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function Gs(e,t){let n=j.relative(e,t);return n===""||n===".."||n.startsWith(`..${j.sep}`)||j.isAbsolute(n)?null:n}async function it(e){await Promise.all([$n(e),zn(e),Hn(e),lo(e),uo(e)].map(async t=>{await B.rm(t,{force:!0}),Y.delete(t)})),await Ln(e)}async function pf(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await B.stat(e.mutation.itemPath),n=Fn(e.mutation.document.metadata),r={mtime_ms:t.mtimeMs,ctime_ms:t.ctimeMs,size:t.size};return{entry:{...r,metadata:n.light,body_length:e.mutation.document.body.length},body:{...r,body:e.mutation.document.body},collections:{...r,collections:n.heavy}}}function yf(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function yo(e){let t=Gs(e.pmRoot,e.itemPath),n=e.previousItemPath?Gs(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await it(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=ta(e.preferredFormat,e.typeToFolder,e.schema,Zs()),o=await mo(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await _o(e.pmRoot);if(s.invalid)return await it(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=yf(s.envelope,r,i),c=s.envelope?.context_fingerprint===r&&s.envelope.base_source_cursor===i?s.envelope.source_cursor:i;n!==void 0&&(a[n]={entry:null,body:null,collections:null}),a[t]=await pf({mutation:e});let d=Js();return await Ct(lo(e.pmRoot),{version:oe,context_fingerprint:r,base_source_cursor:i,source_cursor:d,directory_signatures:await Mn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await qs({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:Fn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Ln(e.pmRoot),[]}catch{return await it(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function hf(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Ys(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function gf(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function bf(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=sr(n);if(!o)continue;let i=e.includeCollections?ea(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);na(s?.itemFormat,o,e.preferredFormat)&&t.set(i.id,{itemFormat:o,candidate:{metadata:i,body:e.includeBody?e.previousBodies[n]?.body:void 0,item_format:o,item_path:j.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function wf(e){return e.forceSourceScan||dr()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!At(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Ys(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Ys(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&gf(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function Vn(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=Zs(),d=ta(t,n,o,c),u=await _o(e);u.invalid&&await it(e);let f=await Ku(e,d,i.cacheDiagnostics),m=s?await Gu(e,d):null,y=a?await Yu(e,d):null;Xu(f,m,y,u.envelope);let _=af(f,d),v=cf(m,d),b=df(y,d),O=[...new Set(Object.values(n))],R=await Mn(e,O),P=Object.keys(_),z=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Qs));if(wf({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:m,existingCollectionsCache:y,directorySignatures:R,entryKeys:P,minimumIndexedItems:z,includeBody:s,includeCollections:a,previousBodies:v,previousCollections:b}))return bf({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:_,previousBodies:v,previousCollections:b});let N=await Promise.all(O.map(Qa=>Qu(e,Qa,r))),de=dr(),W=lf(),Se={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:de,previousEntries:_,previousBodies:v,previousCollections:b,state:W};await Promise.all(uf(N,Se));let J=await Mn(e,O),$e=At(R,J)?J:{},nr=W.misses.metadata||Object.keys(_).length!==Object.keys(W.newEntries).length||!At(f?.directory_signatures,$e)||f===null?Js():f.source_cursor;return await ff({pmRoot:e,contextFingerprint:d,sourceCursor:nr,existingCache:f,previousEntries:_,directorySignatures:$e,state:W,minimumIndexedItems:z}),s&&await _f({pmRoot:e,contextFingerprint:d,sourceCursor:nr,existingBodyCache:m,previousBodies:v,state:W}),a&&await mf({pmRoot:e,contextFingerprint:d,sourceCursor:nr,existingCollectionsCache:y,previousCollections:b,state:W}),hf(W)}async function ra(e,t,n,r,o){return(await Vn(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function oa(e,t,n,r,o){return(await Vn(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d49d73c9-f988-5c3c-a22d-0580ee5526f6")}catch{}})();function we(){let e=ti();for(let t of Oe()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="924f7718-0527-5967-8ab0-53e8228bd665")}catch{}})();function Nt(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function Wn(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function Ef(e,t){let n=new Set,r=[];for(let o of[...e].sort()){if(n.has(o))continue;n.add(o);let i=[{nodeId:o,children:[...t.get(o)??[]].sort(),nextChild:0}];for(;i.length>0;){let s=i.at(-1),a=s.children[s.nextChild];a===void 0?(r.push(s.nodeId),i.pop()):(s.nextChild+=1,n.has(a)||(n.add(a),i.push({nodeId:a,children:[...t.get(a)??[]].sort(),nextChild:0})))}}return r}function vf(e,t){let n=[...e].sort(),r=Ef(n,t),o=new Set,i=kf(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=If(a,i,o);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((a,c)=>a.join("\0").localeCompare(c.join("\0")))}function kf(e,t){let n=new Map(e.map(r=>[r,new Set]));for(let[r,o]of t)for(let i of o)n.get(i)?.add(r);return n}function If(e,t,n){let r=[],o=[e];for(n.add(e);o.length>0;){let i=o.pop();r.push(i);for(let s of[...t.get(i)].sort())n.has(s)||(n.add(s),o.push(s))}return r.sort()}function ia(e){let t=new Map;for(let n of e){let r=Nt(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Sf(e,t,n){let r=Nt(t.parent);if(!(!r||!n.has(r)))return{parent_id:r,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function xf(e,t,n,r){let o=Nt(t?.id),i=r.resolve(t?.kind);if(!o||!n.has(o)||!i?.hierarchy)return;let s=i.hierarchyDirection==="source_parent";return{parent_id:s?e:o,child_id:s?o:e,source:"dependency",kind:i.kind,holder_id:e,target_id:o,child_cardinality:s?i.incoming:i.outgoing}}function sa(e,t){let n=new Map;for(let[r,o]of e){let i=Sf(r,o,e);i&&n.set(Wn(i),i);for(let s of o.dependencies??[]){let a=xf(r,s,e,t);a&&n.set(Wn(a),a)}}return[...n.values()].sort((r,o)=>Wn(r).localeCompare(Wn(o)))}function Bh(e,t=we()){return sa(ia(e),t)}function Tf(e,t,n){let r=new Set(e.filter(o=>o.child_cardinality==="one").map(o=>o.child_id));return[...t].filter(([o,i])=>i.length>1&&r.has(o)).map(([o,i])=>({child_id:o,parent_ids:[...i],legacy_terminal:n.has(o)&&i.every(s=>n.has(s))})).sort((o,i)=>o.child_id.localeCompare(i.child_id))}function Of(e,t,n){let r=new Map;for(let i of t){if(i.source!=="dependency")continue;let s=r.get(i.child_id)??new Set;s.add(i.parent_id),r.set(i.child_id,s)}let o=[];for(let[i,s]of e){let a=Nt(s.parent);if(!a||!e.has(a))continue;let c=[...r.get(i)??[]].filter(d=>d!==a).sort();c.length!==0&&o.push({child_id:i,scalar_parent_id:a,dependency_parent_ids:c,legacy_terminal:n.has(i)&&n.has(a)&&c.every(d=>n.has(d))})}return o.sort((i,s)=>i.child_id.localeCompare(s.child_id))}function qn(e,t=r=>r==="closed"||r==="canceled",n=we()){let r=ia(e),o=sa(r,n),i=Cf(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=vf([...r.keys()],new Map([...i.children_by_parent].map(([c,d])=>[c,new Set(d)]))).map(c=>({item_ids:c,legacy_terminal:c.every(d=>s.has(d))}));return{relations:o,cycles:a,cardinality_violations:Tf(o,i.parents_by_child,s),divergences:Of(r,o,s)}}function Vh(e){return e.source==="scalar_parent"?`${e.parent_id} -> ${e.child_id} (scalar parent on ${e.holder_id})`:`${e.parent_id} -> ${e.child_id} (${e.kind} dependency on ${e.holder_id})`}function Cf(e){let t=new Map,n=new Map;for(let r of e){let o=t.get(r.child_id)??new Set;o.add(r.parent_id),t.set(r.child_id,o);let i=n.get(r.parent_id)??new Set;i.add(r.child_id),n.set(r.parent_id,i)}return{parents_by_child:new Map([...t].map(([r,o])=>[r,[...o].sort()])),children_by_parent:new Map([...n].map(([r,o])=>[r,[...o].sort()]))}}function ho(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function Wh(e,t,n,r,o){let i=Nt(n);if(!i)return;let s=qn(e,r,o),a=qn(t,r,o),c=a.divergences.find(f=>!s.divergences.some(m=>m.child_id===f.child_id&&m.scalar_parent_id===f.scalar_parent_id&&ho(f.dependency_parent_ids,m.dependency_parent_ids)));if(c){let f=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new I(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${f.join(", ")}.`,k.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:f})}let d=a.cardinality_violations.find(f=>(f.child_id===i||f.parent_ids.includes(i))&&!s.cardinality_violations.some(m=>m.child_id===f.child_id&&ho(f.parent_ids,m.parent_ids)));if(d)throw new I(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,k.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:d.child_id,verification_errors:d.parent_ids});let u=a.cycles.find(f=>f.item_ids.includes(i)&&!s.cycles.some(m=>ho(f.item_ids,m.item_ids)));if(u)throw new I(`Hierarchy mutation would create a cycle: ${u.item_ids.join(" -> ")}.`,k.CONFLICT,{code:"hierarchy_cycle_created",source_id:i,verification_errors:u.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ee17fdea-aeac-55b0-8302-a8740ba8428e")}catch{}})();var Af="global";function Gh(e){let t=e?.trim();if(t)return te(t)?Af:t}function Yh(e,t,n){return Rf(e,t,n)}function Rf(e,t,n){let r=e.trim();return te(n)||ie(r)?r:St(r,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e04a91fa-4625-50fd-9bfd-c712126baf0d")}catch{}})();function at(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Dt(e){let t=at(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function jt(e,t,n=!0){let r=at(e);return n&&(te(t)||r!==void 0&&ie(r))}function go(e,t){return jt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function aa(e,t,n,r){return jt(e,t)?r.get(e):n.get(e.toLowerCase())}function st(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function Nf(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=at(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${go(o,r.source_kind)}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:o,kind:i,count:1})}return t}function Df(e,t=n=>n==="closed"||n==="canceled"){let n=[];for(let r of e)if(!(typeof r?.id!="string"||r.id.trim().length===0))for(let o of Nf(r).values())o.count<2||n.push({holder_id:r.id.trim(),target_id:o.target_id,kind:o.kind,occurrences:o.count,holder_status:r.status,legacy_terminal:t(r.status)});return n.sort((r,o)=>{let i=st(r.holder_id,o.holder_id);if(i!==0)return i;let s=st(r.target_id,o.target_id);return s!==0?s:st(r.kind,o.kind)})}function jf(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=at(n.id);if(!i||go(i,n.source_kind)!==go(t))return;let s=o.resolve(typeof n.kind=="string"?n.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:i,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:r(e.status)}}function Pf(e,t=r=>r==="closed"||r==="canceled",n=we()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=at(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=jf(o,i,s,t,n);a&&r.set(`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`,a)}}return[...r.values()].sort((o,i)=>{let s=st(o.holder_id,i.holder_id);if(s!==0)return s;let a=st(o.target_id,i.target_id);return a!==0?a:st(o.dependency_kind,i.dependency_kind)})}function Lf(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),o=new Map,i=(c,d,u,f,m)=>{let y=at(d);if(!y||r.has(y.toLowerCase())||jt(y,void 0,m))return;let _={holder_id:c.id.trim(),target_id:y,kind:u,source:f,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:y.toLowerCase()==="no-active-blocker"};o.set(`${_.holder_id}::${_.target_id}::${_.kind}::${_.source}`,_)};for(let c of n){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let u=d;te(u.source_kind)||i(c,u.id,typeof u.kind=="string"?u.kind:"related","dependency",!0)}}let s=[...o.values()].sort((c,d)=>c.holder_id.localeCompare(d.holder_id)||c.target_id.localeCompare(d.target_id)||c.kind.localeCompare(d.kind)||c.source.localeCompare(d.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function Mf(e){let t=new Map;for(let n of[...e.active,...e.legacy_terminal]){if(n.no_active_blocker_sentinel)continue;let r=n.target_id.trim(),o=r.toLowerCase();t.has(o)||t.set(o,r)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function Ff(e){let t=new Map;for(let n of e){let r=Dt(n.blocked_by);r&&jt(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!jt(o.id,o.source_kind))continue;let i=Dt(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var ca=new WeakMap;function rg(e){return e.hierarchyIntegrity??ca.get(e)}function $f(e,t=we()){let n={};for(let r of e)for(let o of r.dependencies??[]){if(typeof o!="object"||o===null)continue;let i=o.kind;if(typeof i!="string")continue;let s=i.trim().toLowerCase().replaceAll("-","_"),a=t.resolve(i);a&&s!==a.kind&&(n[s]=(n[s]??0)+1)}return Object.fromEntries(Object.entries(n).sort(([r],[o])=>r.localeCompare(o)))}function og(e,t,n){let r=n??we(),o=e.filter(_=>typeof _?.id=="string"&&_.id.trim().length>0),i=new Map(o.map(_=>[_.id.trim().toLowerCase(),_.id.trim()])),s=Lf(o,t),a=Mf(s);for(let _ of a)i.set(_.toLowerCase(),_);let c=Ff(o),d=new Set(i.keys()),u=new Map;for(let _ of c){let v=_;for(;d.has(v.toLowerCase());)v=`external:${v}`;u.set(_,v),d.add(v.toLowerCase())}let f=o.map(_=>{let v=Dt(_.parent),b=Dt(_.blocked_by),O=(_.dependencies??[]).flatMap(R=>{if(typeof R!="object"||R===null)return[];let P=R,z=Dt(P.id);return z?[{id:aa(z,P.source_kind,i,u),kind:typeof P.kind=="string"?P.kind:"related"}]:[]});return{id:_.id.trim(),...v?{parent:i.get(v.toLowerCase())}:{},...b?{blocked_by:aa(b,void 0,i,u)}:{},dependencies:O}}),m=qn(o,t,r),y={graph:ni.fromItems([...f,...a.map(_=>({id:_})),...c.map(_=>({id:u.get(_)}))],r),details:[...o.map(_=>({id:_.id.trim(),title:_.title,status:_.status,...typeof _.type=="string"&&_.type.trim().length>0?{type:_.type.trim()}:{}})),...a.map(_=>({id:_,title:`[missing] ${_}`,status:"missing"})),...c.map(_=>({id:u.get(_),title:`[external] ${_}`,status:"external"}))],missingIdSet:new Set(a.map(_=>_.toLowerCase())),dangling:s,duplicateRows:Df(o,t),orderingContradictions:Pf(o,t,r),legacyAliasCounts:$f(o,r),hierarchyIntegrity:m};return ca.set(y,m),y}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7d98ca40-57e8-5afe-8e9d-b694da0130d1")}catch{}})();function wo(e,t){return(t===void 0?void 0:Qo(e,t))?.execution_role??Yo[e.trim().toLowerCase()]??"agent"}var Eo="blocked_by",da="blocks",zf=Object.freeze([Eo,da]),bo="no-active-blocker";function F(e){return e.trim().toLowerCase()}function Xn(e,t){return t?`external:${e}`:`local:${F(e)}`}function Pt(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&F(n)!==bo){let r=ie(n);t.set(Xn(n,r),r?n:F(n))}for(let r of e.dependencies??[]){let o=typeof r.id=="string"?r.id.trim():"";if(r.kind===Eo&&o.length>0&&F(o)!==bo){let i=ie(o)||te(r.source_kind);t.set(Xn(o,i),i?o:F(o))}}return[...t.values()].sort((r,o)=>r.localeCompare(o))}function Kn(e){let t=new Map;for(let n of e){let r=F(n.id);r.length!==0&&t.set(r,new Set(Pt(n)))}for(let n of e){let r=F(n.id);if(r.length!==0)for(let o of n.dependencies??[]){let i=o.kind===da&&typeof o.id=="string"?F(o.id):"";if(i.length===0||i===bo)continue;let s=t.get(i)??new Set;s.add(r),t.set(i,s)}}return new Map([...t].map(([n,r])=>[n,[...r].sort((o,i)=>o.localeCompare(i))]))}function la(e,t){let n=F(e.id);return n.length>0?Kn(t).get(n)??Pt(e):Pt(e)}function vo(e,t,n,r){let o=e,i=typeof o.id=="string"?r?.get(F(o.id))??la(o,[...t.values()]):Pt(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===Eo&&te(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>Xn(a.id.trim(),!0)));return i.map(a=>{if(ie(a)||s.has(Xn(a,!0)))return{id:a,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(F(a));return c?{id:a,title:c.title,status:c.status,resolved:tn(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function Hf(e,t,n){return vo(e,t,n)}function Uf(e,t){let n=new Map(e.map(s=>[F(s.id),s])),r=Kn(e),o=new Set([...ua(t),...t.blocked_statuses]),i=new Set;for(let s of e){let a=qe(s.status,t);if(!o.has(a))continue;(t.blocked_statuses.has(a)||vo(s,n,t,r).some(d=>!d.resolved))&&i.add(F(s.id))}return i}function Bf(e,t,n={},r){let o=[...e.ready,...e.decisions,...e.gates];n.includeContainers===!0&&o.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(qe(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of o){let a=wo(s.item.type,r);a==="human"&&n.includeDecisions!==!0?i.decisions.push(s):a==="gate"&&n.includeGates!==!0?i.gates.push(s):i.ready.push(s)}return i}function ua(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function Vf(e,t,n){let r=[F(e)],o=new Set;for(;r.length>0;){let i=r.pop();if(!o.has(i)){o.add(i);for(let s of t.get(i)??[]){if(!tn(s.status,n))return!0;r.push(F(s.id))}}}return!1}function Wf(e){let t=new Map,n=new Map,r=new Map,o=Kn(e);for(let i of e){t.set(F(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let a=F(s),c=n.get(a)??[];c.push(i),n.set(a,c)}for(let a of o.get(F(i.id))){let c=F(a),d=r.get(c)??[];d.push(i.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:o}}function qf(e,t,n,r){let{itemsById:o,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:a}=Wf(t),c=new Set([...ua(n),...n.blocked_statuses]),d=new Set(t.filter(b=>!tn(b.status,n)).map(b=>F(b.id))),u=[],f=[],m=[],y=[],_=[],v=0;for(let b of e){if(!c.has(qe(b.status,n)))continue;v+=1;let O=vo(b,o,n,a).filter(N=>!N.resolved),R=(s.get(F(b.id))??[]).filter(N=>d.has(F(N))).sort((N,de)=>N.localeCompare(de)),P={item:b,open_blockers:O,unblocks:R};if(Vf(b.id,i,n)){m.push(P);continue}let z=n.blocked_statuses.has(qe(b.status,n));if(O.length===0&&!z){let N=wo(b.type,r);N==="human"?y.push(P):N==="gate"?_.push(P):u.push(P)}else f.push(P)}return{ready:u,blocked:f,containers:m,decisions:y,gates:_,active_count:v,container_count:m.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7d393eb0-d24d-55d2-8e4e-e94805d91784")}catch{}})();import Xf from"node:fs/promises";import ct from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4df21a17-43c0-5b63-adf3-657699e6a058")}catch{}})();var Lt="_workspace";function ko(e){return ct.join(e,"history",`${Lt}.jsonl`)}function Kf(e,t){return{metadata:{id:Lt,title:"Workspace state",description:"Audited singleton workspace document state.",type:"Chore",status:"open",priority:2,tags:["workspace-history"],created_at:t,updated_at:t,documents:e},body:""}}function Io(e,t=e.length){let n=xn();for(let r of e.slice(0,t))n=On(n,r.patch).document;return Tn(n)}function fa(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function So(e){throw new I(`Workspace history verification failed: ${e.join(", ")}`,k.CONFLICT,{code:"workspace_history_chain_invalid",reason:"workspace_history_chain_verification_failed",verification_errors:[...e],required:"Repair the _workspace history chain before reading, reconciling, restoring, or appending audited singleton state.",why:"Continuing against an unverifiable append-only stream could hide or compound workspace state corruption.",examples:["pm history _workspace --verify --json","pm validate --check-history-drift --fix-hints --json"],nextSteps:["Inspect the exact verification_errors and preserve the corrupt stream as evidence.","Use the history-drift remediation returned by validate before retrying the refused operation."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify --json"}})}function Gf(e,t){let n=ct.resolve(t),r=ct.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||ct.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function Ig(e){let t=await Ye(ko(e),Lt),n=Cn(t);n.ok||So(n.errors);let r=fa(t.length===0?ze:Io(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let d;try{let u=Gf(e,ct.resolve(e,c));if(d=await fe(u.absolutePath),d===null){s.push(c);continue}let f=JSON.parse(d);(L(f)===L(r[c])?o:i).push(c)}catch{a.push(c)}}return{ok:i.length===0&&s.length===0&&a.length===0,document_count:Object.keys(r).length,matching_documents:o,mismatched_documents:i,missing_documents:s,unreadable_documents:a}}async function _a(e){let t=ko(e.pmRoot),n=await Ye(t,Lt),r=Cn(n);r.ok||So(r.errors);let o=e.idempotencyKey===void 0?void 0:n.find(f=>f.op===`${e.op}:${e.idempotencyKey}`);if(o)return{entry:o,historyPath:t};let i=me(),s=n.length===0?ze:Io(n),a=fa(s),c=a[e.documentPath];if(c!==void 0&&L(c)!==L(e.before))throw new I(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,k.CONFLICT,{code:"workspace_history_state_conflict",reason:"out_of_band_workspace_state",required:"Reconcile the singleton document with its matching _workspace history state before retrying the mutation.",why:"Accepting the write would make the append-only audit stream describe a state that was not actually observed.",examples:["pm history _workspace --verify","pm validate --check-history-drift --fix-hints"],nextSteps:["Review the version-control change that altered the singleton and preserve the intended document plus its matching workspace history.","Rerun the original mutation only after the on-disk singleton agrees with the latest audited workspace state."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify"}});let d=Kf({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),u=nt({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:d,message:e.message});return await rt(t,u),{entry:u,historyPath:t}}async function Sg(e){let t=await G(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await _a(e)}finally{await t()}}async function xg(e){let t=await G(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=ko(e.pmRoot),r=await Ye(n,Lt),o=Cn(r);o.ok||So(o.errors);let i=r.length===0?ze:Io(r),s=nt({nowIso:me(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await rt(n,s),{entry:s,historyPath:n}}finally{await t()}}async function ma(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await q(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await _a({pmRoot:e.pmRoot,documentPath:ct.relative(e.pmRoot,e.filePath).replaceAll("\\","/"),before:n,after:r,op:e.op,author:e.author,lockTtlSeconds:e.lockTtlSeconds,lockWaitMs:e.lockWaitMs,message:e.message})}catch(o){throw t===null?await Xf.rm(e.filePath,{force:!0}):await q(e.filePath,t),o}return!0}async function Tg(e){let t=await G(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=await fe(e.filePath),r=await e.mutate(n);return{changed:await ma({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function pa(e){let t=await G(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await ma(e,await fe(e.filePath))}finally{await t()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c9cac741-16ba-5466-806f-bf8881a2ffa2")}catch{}})();var U={ok:!1},p=e=>typeof e=="string"?{ok:!0,value:e}:U,T=e=>typeof e=="boolean"?{ok:!0,value:e}:U;function A(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?U:{ok:!0,value:t}}function C(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:U}function h(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return U;let r=[];for(let o of n){let i=e(o);if(!i.ok)return U;r.push(i.value)}return{ok:!0,value:r}}}function To(e,t){return n=>typeof n=="string"&&n.length>0&&n.length<=e&&n===n.trim()&&(t===void 0||t.test(n))?{ok:!0,value:n}:U}function l(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function Gn(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return U;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return U;n[r]=i.value}return{ok:!0,value:n}}}function x(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return U;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return U;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var Yf=x({key:p,values:h(p),required:l(T),aliases:l(h(p)),description:l(p)}),Jf=x({command:C("create","update"),option:p,required:l(T),visible:l(T),enabled:l(T)}),Qf=x({name:p,description:l(p),default_status:l(p),execution_role:l(C("agent","human","gate")),folder:l(p),aliases:l(h(p)),required_create_fields:l(h(p)),required_create_repeatables:l(h(p)),options:l(h(Yf)),command_option_policies:l(h(Jf))}),Zf=x({id:p,aliases:l(h(p)),roles:l(h(C(...zo))),description:l(p),order:l(A())}),e_=x({key:p,metadata_key:l(p),front_matter_key:l(p),cli_flag:l(p),cli_aliases:l(h(p)),description:l(p),type:l(C(...Ho)),commands:l(h(C(...Uo))),repeatable:l(T),required:l(T),required_on_create:l(T),required_types:l(h(p)),allow_unset:l(T)}),t_=e=>{if(!Array.isArray(e)||e.length!==2)return U;let[t,n]=e;return typeof t!="string"||typeof n!="string"?U:{ok:!0,value:[t,n]}},n_=x({type:p,allowed_transitions:h(t_)}),r_=l(x({version:l(A({int:!0})),files:l(x({types:l(p),statuses:l(p),fields:l(p),workflows:l(p)})),statuses:l(h(Zf)),fields:l(h(e_)),workflow:l(x({draft_status:l(p),open_status:l(p),in_progress_status:l(p),blocked_status:l(p),close_status:l(p),canceled_status:l(p)})),type_workflows:l(h(n_)),unknown_field_policy:l(C(...Bo))})),o_=l(x({preset:l(C(...Vo)),ownership_enforcement:l(C("none","warn","strict")),create_mode_default:l(C("progressive","strict")),close_validation_default:l(C("off","warn","strict")),require_close_reason:l(T),parent_reference:l(C("warn","strict_error")),metadata_profile:l(C("core","strict","custom")),force_required_for_stale_lock:l(T),create_default_type:l(p),workflow_enforcement:l(C("off","warn","strict")),duplicate_detection_mode:l(C("off","advisory","strict")),duplicate_detection_threshold:l(A({min:0,max:1})),duplicate_detection_limit:l(A({int:!0,min:0,max:20}))})),i_=x({name:p,disabled:l(T),require_trusted:l(T),require_provenance:l(T),sandbox_profile:l(C("none","restricted","strict")),allowed_capabilities:l(h(p)),blocked_capabilities:l(h(p)),allowed_surfaces:l(h(p)),blocked_surfaces:l(h(p)),allowed_commands:l(h(p)),blocked_commands:l(h(p)),allowed_actions:l(h(p)),blocked_actions:l(h(p)),allowed_services:l(h(p)),blocked_services:l(h(p))}),xo=C("block","warn"),s_=e=>typeof e=="string"?xo(e):x({global:l(xo),project:l(xo)})(e),a_=l(x({mode:l(C("off","warn","enforce")),trust_mode:l(C("off","warn","enforce")),pm_max_version_exceeded_mode:l(s_),require_provenance:l(T),trusted_extensions:l(h(p)),default_sandbox_profile:l(C("none","restricted","strict")),allowed_extensions:l(h(p)),blocked_extensions:l(h(p)),allowed_capabilities:l(h(p)),blocked_capabilities:l(h(p)),allowed_surfaces:l(h(p)),blocked_surfaces:l(h(p)),allowed_commands:l(h(p)),blocked_commands:l(h(p)),allowed_actions:l(h(p)),blocked_actions:l(h(p)),allowed_services:l(h(p)),blocked_services:l(h(p)),extension_overrides:l(h(i_))})),Fe=To(128),c_=x({harness:To(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:l(h(Fe,64)),model_environment_keys:l(h(Fe,64)),session_environment_keys:l(h(Fe,64)),provenance_environment_keys:l(Gn(h(Fe,64))),provenance_resolvers:l(Gn(C("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:l(h(Fe,64)),argv_markers:l(h(Fe,64)),client_names:l(h(Fe,64))}),d_=x({version:A({int:!0}),id_prefix:p,ids:l(x({token_length:l(A({int:!0,min:4,max:12}))})),author_default:p,agent_identity:l(x({probes_enabled:l(T),identity_vocabulary:l(x({version:A({int:!0,positive:!0}),aliases:Gn(To(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:h(c_)})),mutation_guard:l(x({require_attributed_author:l(T),secret_guard:l(C("off","advise","block")),stale_in_progress_hours:l(A({int:!0,positive:!0}))})),item_format:l(C("toon","json_markdown")),locks:x({ttl_seconds:A({int:!0}),wait_ms:l(A({int:!0,min:0}))}),checkpoints:l(x({retention_days:l(A({int:!0,positive:!0}))})),output:x({default_format:C("toon","json")}),ux:l(x({deprecation_hints:l(T)})),history:l(x({missing_stream:C("auto_create","strict_error"),compact_policy:l(x({enabled:l(T),max_entries:l(A({int:!0,positive:!0})),trigger:l(C("health_warn","auto"))}))})),validation:l(x({sprint_release_format:C("warn","strict_error"),parent_reference:l(C("warn","strict_error")),metadata_profile:l(C("core","strict","custom")),metadata_required_fields:l(h(p)),lifecycle_stale_blocker_reason_patterns:l(h(p)),lifecycle_closure_like_blocked_reason_patterns:l(h(p)),lifecycle_closure_like_resolution_patterns:l(h(p)),lifecycle_closure_like_actual_result_patterns:l(h(p)),estimate_defaults_by_type:l(Gn(A({int:!0,positive:!0})))})),governance:o_,workflow:l(x({definition_of_done:h(p)})),testing:l(x({record_results_to_items:T,allow_untrusted_linked_tests:l(T)})),telemetry:l(x({enabled:T,first_run_prompt_completed:l(T),capture_level:l(C("minimal","redacted","max")),endpoint:l(p),installation_id:l(p),retention_days:l(A({int:!0,positive:!0}))})),agent_guidance:l(x({prompt_completed:l(T),declined:l(T),declined_at:l(p),template_version:l(A({int:!0,positive:!0})),last_checked_files:l(h(p))})),item_types:l(x({definitions:h(Qf)})),schema:r_,context:l(x({default_depth:l(C("brief","standard","deep")),activity_limit:l(A({int:!0,positive:!0})),stale_threshold_days:l(A({int:!0,positive:!0})),sections:l(x({hierarchy:l(T),activity:l(T),progress:l(T),recently_created:l(T),unparented:l(T),blockers:l(T),files:l(T),workload:l(T),staleness:l(T),tests:l(T)}))})),extensions:x({enabled:h(p),disabled:h(p),policy:a_}),search:x({score_threshold:A(),hybrid_semantic_weight:l(A()),max_results:A({int:!0}),embedding_model:p,embedding_corpus_max_characters:l(A()),embedding_batch_size:A({int:!0}),embedding_timeout_ms:l(A({int:!0})),scanner_max_batch_retries:A({int:!0}),provider:l(p),corpus_fields:l(h(p)),mutation_refresh_policy:l(C("cache_only","semantic_configured","semantic_auto")),query_expansion:l(x({enabled:l(T),provider:l(p)})),rerank:l(x({enabled:l(T),model:l(p),top_k:l(A({int:!0,positive:!0}))})),bm25:l(x({k1:l(A()),b:l(A())}))}),providers:x({openai:x({base_url:p,api_key:p,model:p}),ollama:x({base_url:p,model:p})}),vector_store:x({adapter:l(p),collection_name:l(p),qdrant:x({url:p,api_key:p}),lancedb:x({path:p})})});function ya(e){let t=d_(e);return t.ok?{success:!0,data:t.value}:{success:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2d377bc4-c624-561c-9856-405c82099070")}catch{}})();var l_={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},ha=120;function Oo(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function ba(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var u_=ba(l_),ga=new WeakMap;function f_(e){let t=ga.get(e);if(t)return t;let n=ba(e);return ga.set(e,n),n}function Rg(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return ha;if(t){let o=f_(t).get(n);if(Oo(o))return Math.floor(o)}let r=u_.get(n);return Oo(r)?Math.floor(r):ha}function Co(e){let t={};if(e===null||typeof e!="object"||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!Oo(r)||(t[o]=Math.floor(r))}return t}import{stat as __}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="60da76ea-0bd3-56a9-a2bc-d88ba76e1013")}catch{}})();var Yn=new Map;function wa(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function m_(e){try{let t=await __(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function Ee(e){let t=wa(e),n=await Promise.all(t.map(r=>m_(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Mt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],o=t[n];if(r.path!==o.path||r.mtime_ms!==o.mtime_ms||r.size!==o.size)return!1}return!0}function Ea(e){return Yn.get(e)}function Jn(e,t){let n=wa(t.tracked_paths),r=[...t.signatures].map(o=>({path:o.path,mtime_ms:o.mtime_ms,size:o.size})).sort((o,i)=>o.path.localeCompare(i.path));Yn.set(e,{tracked_paths:n,signatures:r,value:t.value})}function ve(e){if(e){Yn.delete(e);return}Yn.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5b95183e-9fd3-55cf-9059-8736f692e96e")}catch{}})();var p_="settings:write",xa=Symbol("pm.settings.persist_source"),y_=128,h_=new Set(["off","advisory","strict"]);function va(e){return structuredClone(qo[e])}function g_(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:w.governance.preset}function ka(e,t){let n=typeof t.create_default_type=="string"?t.create_default_type.trim():void 0;return n&&n.length>0&&(e.create_default_type=n),(t.workflow_enforcement==="off"||t.workflow_enforcement==="warn"||t.workflow_enforcement==="strict")&&(e.workflow_enforcement=t.workflow_enforcement),t.require_close_reason===!1&&(e.require_close_reason=!1),e.duplicate_detection_mode=t.duplicate_detection_mode,e.duplicate_detection_threshold=t.duplicate_detection_threshold,e.duplicate_detection_limit=t.duplicate_detection_limit,e}function b_(e){return e.preset==="custom"?ka({preset:"custom",ownership_enforcement:e.ownership_enforcement,create_mode_default:e.create_mode_default,close_validation_default:e.close_validation_default,parent_reference:e.parent_reference,metadata_profile:e.metadata_profile,force_required_for_stale_lock:e.force_required_for_stale_lock},e):ka({preset:e.preset},e)}function w_(e){let t=typeof e.create_default_type=="string"?e.create_default_type.trim():void 0,n={};t&&t.length>0&&(n.create_default_type=t),(e.workflow_enforcement==="off"||e.workflow_enforcement==="warn"||e.workflow_enforcement==="strict")&&(n.workflow_enforcement=e.workflow_enforcement),typeof e.require_close_reason=="boolean"&&(n.require_close_reason=e.require_close_reason),h_.has(String(e.duplicate_detection_mode))&&(n.duplicate_detection_mode=e.duplicate_detection_mode);let r=e.duplicate_detection_threshold;[typeof r=="number",Number.isFinite(r),Number(r)>=0,Number(r)<=1].every(Boolean)&&(n.duplicate_detection_threshold=r);let o=e.duplicate_detection_limit;return[typeof o=="number",Number.isSafeInteger(o),Number(o)>=0,Number(o)<=20].every(Boolean)&&(n.duplicate_detection_limit=o),n}function Zn(e){let t=e.governance??{},n=g_(t.preset),r=w_(t);if(n==="custom"){let s=va("default"),a=r.require_close_reason??s.require_close_reason;return{preset:n,ownership_enforcement:t.ownership_enforcement??s.ownership_enforcement,create_mode_default:t.create_mode_default??s.create_mode_default,close_validation_default:t.close_validation_default??s.close_validation_default,parent_reference:t.parent_reference??s.parent_reference,metadata_profile:t.metadata_profile??s.metadata_profile,force_required_for_stale_lock:t.force_required_for_stale_lock??s.force_required_for_stale_lock,...r,require_close_reason:a,duplicate_detection_mode:r.duplicate_detection_mode??s.duplicate_detection_mode,duplicate_detection_threshold:r.duplicate_detection_threshold??s.duplicate_detection_threshold,duplicate_detection_limit:r.duplicate_detection_limit??s.duplicate_detection_limit}}let o=va(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function Ta(){return structuredClone(w)}function Oa(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:w.search.mutation_refresh_policy}function Ca(e){return typeof e=="boolean"?e:w.search.query_expansion.enabled}function Aa(e){return typeof e!="string"?w.search.query_expansion.provider:e.trim()}function Ra(e){return typeof e=="boolean"?e:w.search.rerank.enabled}function Na(e){return typeof e!="string"?w.search.rerank.model:e.trim()}function Da(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:w.search.rerank.top_k}function ja(e){if(typeof e!="string")return w.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,y_);return n.length>0?n:w.vector_store.collection_name}function Ao(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function E_(e,t){let n=e.schema,r=Ao(n?.statuses),o=Ao(n?.fields),i=Ao(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:dt(e.item_types?.definitions),has_source_schema_statuses:r.present,source_schema_statuses:r.values,has_source_schema_fields:o.present,source_schema_fields:o.values,has_source_schema_type_workflows:i.present,source_schema_type_workflows:i.values,runtime_item_type_definitions:dt(t.item_types?.definitions),runtime_schema_statuses:structuredClone(t.schema.statuses),runtime_schema_fields:structuredClone(t.schema.fields),runtime_schema_type_workflows:structuredClone(t.schema.type_workflows??[])}}function Pa(e,t){Object.defineProperty(e,xa,{value:t,writable:!0,configurable:!0,enumerable:!1})}function La(e){let t=e[xa];if(!(!t||typeof t!="object"))return t}function Qn(e){let t=structuredClone(e.settings),n=La(e.settings);return n&&Pa(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function v_(e,t,n){let r=pt(t);return[n,yt(e,r.files.types,mt.types),yt(e,r.files.statuses,mt.statuses),yt(e,r.files.fields,mt.fields),yt(e,r.files.workflows,mt.workflows)]}async function k_(e,t,n){let r=await Ee(t);Jn(e,{tracked_paths:t,signatures:r,value:Qn(n)})}async function I_(e,t,n){try{await k_(e,t,n)}catch{ve(e)}}function Ia(e,t){return e.find(n=>n.path===t)}function S_(e,t,n){for(let r of n){let o=Ia(e,r),i=Ia(t,r);if(!o||!i||!Mt([o],[i]))return!1}return!0}async function Ro(e,t,n,r,o){try{let i=await Ee(t);if(!S_(r,i,o)){ve(e);return}Jn(e,{tracked_paths:t,signatures:i,value:Qn(n)})}catch{ve(e)}}function x_(e,t){let n=pt(e.schema),r=dt(e.item_types?.definitions);if(!t)return{item_type_definitions:r,schema_statuses:n.statuses,schema_fields:n.fields,schema_type_workflows:n.type_workflows};let o=n.type_workflows??[],i=He(r,t.runtime_item_type_definitions),s=He(n.statuses,t.runtime_schema_statuses),a=He(n.fields,t.runtime_schema_fields),c=He(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?dt(t.source_item_type_definitions):[]:r,schema_statuses:s?t.has_source_schema_statuses?structuredClone(t.source_schema_statuses):[]:n.statuses,schema_fields:a?t.has_source_schema_fields?structuredClone(t.source_schema_fields):[]:n.fields,schema_type_workflows:c?t.has_source_schema_type_workflows?structuredClone(t.source_schema_type_workflows):void 0:n.type_workflows}}function Ft(e){return{settings:Ta(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function T_(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function Do(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function Ma(e){let t=w.agent_guidance,n=e?.template_version;return{prompt_completed:e?.prompt_completed===!0,declined:e?.declined===!0,declined_at:typeof e?.declined_at=="string"?e.declined_at:t.declined_at,template_version:typeof n=="number"&&Number.isInteger(n)&&n>0?n:t.template_version,last_checked_files:Do(e?.last_checked_files??t.last_checked_files)}}function ee(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function O_(e){return e==="off"||e==="warn"||e==="enforce"?e:w.extensions.policy.mode}function C_(e){return e==="off"||e==="warn"||e==="enforce"?e:w.extensions.policy.trust_mode}function Fa(e){return e==="none"||e==="restricted"||e==="strict"?e:w.extensions.policy.default_sandbox_profile}function A_(e){let t=e.name.trim().toLowerCase();if(t.length===0)return null;let n={name:t};e.disabled===!0&&(n.disabled=!0),e.require_trusted===!0&&(n.require_trusted=!0),e.require_provenance===!0&&(n.require_provenance=!0),e.sandbox_profile!==void 0&&(n.sandbox_profile=Fa(e.sandbox_profile));let r=ee(e.allowed_capabilities),o=ee(e.blocked_capabilities),i=ee(e.allowed_surfaces),s=ee(e.blocked_surfaces),a=ee(e.allowed_commands),c=ee(e.blocked_commands),d=ee(e.allowed_actions),u=ee(e.blocked_actions),f=ee(e.allowed_services),m=ee(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),d.length>0&&(n.allowed_actions=d),u.length>0&&(n.blocked_actions=u),f.length>0&&(n.allowed_services=f),m.length>0&&(n.blocked_services=m),n}function R_(e){let t=new Map;for(let n of e??[]){let r=A_(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function No(e){return e==="block"||e==="warn"?e:void 0}function N_(e){if(typeof e=="string")return No(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=No(e.global),n=No(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function X(e,t){return ee(e?.[t]??w.extensions.policy[t])}function $a(e){let t=N_(e?.pm_max_version_exceeded_mode);return{mode:O_(e?.mode),trust_mode:C_(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:X(e,"trusted_extensions"),default_sandbox_profile:Fa(e?.default_sandbox_profile),allowed_extensions:X(e,"allowed_extensions"),blocked_extensions:X(e,"blocked_extensions"),allowed_capabilities:X(e,"allowed_capabilities"),blocked_capabilities:X(e,"blocked_capabilities"),allowed_surfaces:X(e,"allowed_surfaces"),blocked_surfaces:X(e,"blocked_surfaces"),allowed_commands:X(e,"allowed_commands"),blocked_commands:X(e,"blocked_commands"),allowed_actions:X(e,"allowed_actions"),blocked_actions:X(e,"blocked_actions"),allowed_services:X(e,"allowed_services"),blocked_services:X(e,"blocked_services"),extension_overrides:R_(e?.extension_overrides??w.extensions.policy.extension_overrides)}}function za(e){return[...new Set((e??[]).map(n=>n.trim().toLowerCase().replaceAll("-","_")))].filter(n=>n.length>0).sort((n,r)=>n.localeCompare(r)).filter(n=>["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"].includes(n))}function ke(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function $(e,t){return e===void 0?t:e}function K(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function jo(e){return Array.isArray(e)?e:[]}function D_(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:za(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:ke(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:ke(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:ke(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:ke(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Co(e.validation?.estimate_defaults_by_type)}}function j_(e,t){return{enabled:e.telemetry?.enabled??t.telemetry.enabled,first_run_prompt_completed:e.telemetry?.first_run_prompt_completed??t.telemetry.first_run_prompt_completed,capture_level:e.telemetry?.capture_level??t.telemetry.capture_level,endpoint:e.telemetry?.endpoint??t.telemetry.endpoint,installation_id:e.telemetry?.installation_id??t.telemetry.installation_id,retention_days:e.telemetry?.retention_days??t.telemetry.retention_days}}function P_(e,t){return{...t.search,...e.search,mutation_refresh_policy:Oa(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:Ca(e.search?.query_expansion?.enabled),provider:Aa(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:Ra(e.search?.rerank?.enabled),model:Na(e.search?.rerank?.model),top_k:Da(e.search?.rerank?.top_k)}}}function L_(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:ja(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function M_(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function F_(e,t){return{default_depth:e.context?.default_depth??t.context.default_depth,activity_limit:e.context?.activity_limit??t.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??t.context.stale_threshold_days,sections:{...t.context.sections,...e.context?.sections}}}function $_(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function dt(e){let t=(e??[]).map(r=>Go(r)).filter(r=>r!==null),n=new Map;for(let r of t)n.set(r.name.toLowerCase(),r);return[...n.values()].sort((r,o)=>r.name.localeCompare(o.name))}function Ha(e){let t=Ta(),n=Zn({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:M_(e,t),locks:{...t.locks,...e.locks},ids:{...t.ids,...e.ids},agent_identity:structuredClone(e.agent_identity??t.agent_identity),mutation_guard:{...t.mutation_guard,...e.mutation_guard},checkpoints:{...t.checkpoints,...e.checkpoints},output:{...t.output,...e.output},ux:{...t.ux,...e.ux},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:D_(e,t,n),governance:n,workflow:{definition_of_done:[...e.workflow?.definition_of_done??t.workflow.definition_of_done]},testing:{record_results_to_items:e.testing?.record_results_to_items??t.testing.record_results_to_items,allow_untrusted_linked_tests:e.testing?.allow_untrusted_linked_tests??t.testing.allow_untrusted_linked_tests},telemetry:j_(e,t),agent_guidance:Ma(e.agent_guidance??t.agent_guidance),item_types:{definitions:dt(e.item_types?.definitions)},schema:pt(e.schema??t.schema),context:F_(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:$a(e.extensions.policy??t.extensions.policy)},search:P_(e,t),providers:$_(e,t),vector_store:L_(e,t)}}function z_(e){e.agent_identity=S(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=S(K(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=jo(e.agent_identity.harness_signals).map(n=>S(K(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=S(e.locks,["ttl_seconds","wait_ms"]),e.ids=S(e.ids,["token_length"]),e.mutation_guard=S(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=S(e.checkpoints,["retention_days"]),e.output=S(e.output,["default_format"]),e.ux=S(e.ux,["deprecation_hints"]),e.history=S(e.history,["missing_stream","compact_policy"]),e.validation=S(e.validation,["sprint_release_format","parent_reference","metadata_profile","metadata_required_fields","lifecycle_stale_blocker_reason_patterns","lifecycle_closure_like_blocked_reason_patterns","lifecycle_closure_like_resolution_patterns","lifecycle_closure_like_actual_result_patterns","estimate_defaults_by_type"]),e.governance=S(e.governance,["preset","ownership_enforcement","create_mode_default","close_validation_default","require_close_reason","parent_reference","metadata_profile","force_required_for_stale_lock","create_default_type","workflow_enforcement","duplicate_detection_mode","duplicate_detection_threshold","duplicate_detection_limit"]),e.workflow=S(e.workflow,["definition_of_done"]),e.testing=S(e.testing,["record_results_to_items","allow_untrusted_linked_tests"]),e.telemetry=S(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=S(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=S(e.item_types,["definitions"]),e.schema=S(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=S(K(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=S(K(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=S(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=S(K(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=S(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=S(K(e.extensions.policy),["mode","trust_mode","pm_max_version_exceeded_mode","require_provenance","trusted_extensions","default_sandbox_profile","allowed_extensions","blocked_extensions","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services","extension_overrides"]),e.extensions.policy.extension_overrides=jo(e.extensions.policy.extension_overrides).map(n=>S(K(n),["name","disabled","require_trusted","require_provenance","sandbox_profile","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services"])),e.search=S(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=S(K(e.search.query_expansion),["enabled","provider"]),e.search.rerank=S(K(e.search.rerank),["enabled","model","top_k"]),e.providers=S(e.providers,["openai","ollama"]),e.providers.openai=S(K(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=S(K(e.providers.ollama),["base_url","model"]),e.vector_store=S(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=S(K(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=S(K(e.vector_store.lancedb),["path"])}function H_(e){return{...e,locks:$(e.locks,w.locks),ids:$(e.ids,w.ids),agent_identity:$(e.agent_identity,w.agent_identity),mutation_guard:$(e.mutation_guard,w.mutation_guard),checkpoints:$(e.checkpoints,w.checkpoints),output:$(e.output,w.output),ux:$(e.ux,w.ux),history:$(e.history,w.history),validation:$(e.validation,w.validation),workflow:$(e.workflow,w.workflow),testing:$(e.testing,w.testing),telemetry:$(e.telemetry,w.telemetry),agent_guidance:$(e.agent_guidance,w.agent_guidance),item_types:$(e.item_types,w.item_types),schema:$(e.schema,w.schema),context:$(e.context,w.context),extensions:$(e.extensions,w.extensions),search:$(e.search,w.search),providers:$(e.providers,w.providers),vector_store:$(e.vector_store,w.vector_store)}}function U_(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:za(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:ke(e.validation?.lifecycle_stale_blocker_reason_patterns??w.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:ke(e.validation?.lifecycle_closure_like_blocked_reason_patterns??w.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:ke(e.validation?.lifecycle_closure_like_resolution_patterns??w.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:ke(e.validation?.lifecycle_closure_like_actual_result_patterns??w.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Co(e.validation?.estimate_defaults_by_type)}}function B_(e){return{...w.search,...e.search,mutation_refresh_policy:Oa(e.search?.mutation_refresh_policy),query_expansion:{...w.search.query_expansion,...e.search?.query_expansion,enabled:Ca(e.search?.query_expansion?.enabled),provider:Aa(e.search?.query_expansion?.provider)},rerank:{...w.search.rerank,...e.search?.rerank,enabled:Ra(e.search?.rerank?.enabled),model:Na(e.search?.rerank?.model),top_k:Da(e.search?.rerank?.top_k)}}}function V_(e){return{default_depth:e.context?.default_depth??w.context.default_depth,activity_limit:e.context?.activity_limit??w.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??w.context.stale_threshold_days,sections:{...w.context.sections,...e.context?.sections}}}function W_(e){return{...e.vector_store,adapter:e.vector_store?.adapter??w.vector_store.adapter,collection_name:ja(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function q_(e,t,n,r){return{...e,item_format:"toon",validation:U_(e,t),governance:t,agent_guidance:Ma(e.agent_guidance),item_types:{definitions:r.item_type_definitions},schema:{...n,statuses:r.schema_statuses,fields:r.schema_fields,type_workflows:r.schema_type_workflows},search:B_(e),context:V_(e),extensions:{enabled:Do(e.extensions?.enabled),disabled:Do(e.extensions?.disabled),policy:$a(e.extensions?.policy)},vector_store:W_(e)}}function Ua(e,t,n){let r=new Set([...Object.keys(t),...Object.keys(n)]);for(let o of r){let i=t[o],s=n[o];if(!He(i,s)){if(s===void 0){delete e[o];continue}if(typeof i=="object"&&i!==null&&!Array.isArray(i)&&typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=e[o],c=typeof a=="object"&&a!==null&&!Array.isArray(a)?a:{};Ua(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var Ba=["version","id_prefix","ids","author_default","agent_identity","mutation_guard","item_format","locks","checkpoints","output","ux","history","validation","governance","workflow","testing","telemetry","agent_guidance","item_types","schema","context","extensions","search","providers","vector_store"];function Sa(e,t){let n=H_(e),r=Zn(n),o=pt(n.schema),i=x_(n,t),s=q_(n,r,o,i),a=S({...s,governance:b_(r)},Ba);return z_(a),a}function X_(e,t={}){let n=Sa(e,t.persist_source);if(t.persist_source){let r=Ha(t.persist_source.source_settings);r.item_types={definitions:structuredClone(t.persist_source.runtime_item_type_definitions)},r.schema={...r.schema,statuses:structuredClone(t.persist_source.runtime_schema_statuses),fields:structuredClone(t.persist_source.runtime_schema_fields),type_workflows:structuredClone(t.persist_source.runtime_schema_type_workflows)};let o=Sa(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return Ua(i,o,n),`${JSON.stringify(S(i,Ba),null,2)}
175
- `}return`${JSON.stringify(n,null,2)}
176
- `}async function Va(e){let t=ft(e),n=[t];await _e({path:t,scope:"project"});let r=Ea(e);if(r){let d=await Ee(r.tracked_paths);if(Mt(d,r.signatures))return Qn(r.value)}let o=await Ee([t]),i;try{i=await fe(t)}catch{return Ft("settings_read_fs_error")}if(i===null){let d=Ft();return await Ro(e,[t],d,o,[t]),d}let s=await Ee([t]);if(!Mt(o,s))return ve(e),Va(e);let a;try{a=JSON.parse(i)}catch{let d=Ft("settings_read_invalid_json");return await Ro(e,[t],d,s,[t]),d}let c=ya(a);if(!c.success){let d=Ft("settings_read_invalid_schema");return await Ro(e,[t],d,s,[t]),d}try{let d=Ha(c.data),u=v_(e,d.schema,t);n=u;let f=await Ee(u),m=await oi(e,d.schema),y=await ii(e,d.schema),_=await Ee(u),v={...d,item_types:{definitions:dt([...d.item_types.definitions,...jo(y.type_definitions_from_file)])},schema:y.schema};Pa(v,E_(c.data,v));let b={settings:v,metadata:{has_explicit_item_format:T_(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...m.created_paths.map(O=>`runtime_schema_bootstrap_created:${O}`),...y.warnings]};return m.created_paths.length===0?Mt(f,_)?Jn(e,{tracked_paths:u,signatures:_,value:Qn(b)}):ve(e):ve(e),b}catch{let d=Ft("settings_read_merge_failed");return await I_(e,n,d),d}}async function Xg(e){return(await Va(e)).settings}async function Kg(e,t,n=p_){let r=ft(e),o=X_(t,{persist_source:La(t)});try{await pa({pmRoot:e,filePath:r,raw:o,op:n,author:Pi(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await se({path:r,scope:"project",op:n})}finally{ve(e)}}import K_ from"node:fs/promises";import G_ from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="58fd6fef-9c13-5c6a-9110-b760461896aa")}catch{}})();function Y_(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function J_(e,t){return new I(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,k.NOT_FOUND)}async function Q_(e,t){return await Xo(G_.dirname(e)),await(await K_.open(e,"a")).close(),se({path:e,scope:"project",op:`${t}:history:auto_create`})}async function Po(e){return Z_({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function Z_(e){let t=Y_(e.itemIds),n=[],r=[];for(let o of t){let i=_t(e.pmRoot,o);if(!await Te(i)){if(e.settings.history.missing_stream==="strict_error")throw J_(o,e.commandLabel);r.push(...await Q_(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import Mo from"node:fs/promises";import er from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8b0efe32-43f5-51ed-b1d5-5c26a3ae5bf0")}catch{}})();function Ie(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function Fo(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:`pm ${t.map(n=>`'${n.replaceAll("'",`'"'"'`)}'`).join(" ")}`,suggested_retry_args:t}}function tr(e){return new I(`Tracker root is not a directory at ${e}.`,k.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function Lo(e){return new I(`Tracker root is not readable at ${e}.`,k.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function em(e){let t=er.resolve(e),n=er.parse(t).root,r=er.dirname(t);for(;r!==n;){let o;try{o=await Mo.stat(r)}catch(i){if(Ie(i,"ENOTDIR"))throw tr(e);if(!Ie(i,"ENOENT"))throw i;r=er.dirname(r);continue}if(!o.isDirectory())throw tr(e);return}}async function lt(e){let t;try{t=await Mo.stat(e)}catch(n){throw Ie(n,"ENOENT")?(await em(e),new I(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,k.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:Fo(e)})):Ie(n,"ENOTDIR")?tr(e):Ie(n,"EACCES")||Ie(n,"EPERM")?Lo(e):n}if(!t.isDirectory())throw tr(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw Lo(e);try{await(await Mo.opendir(e)).close()}catch(n){throw Ie(n,"EACCES")||Ie(n,"EPERM")?Lo(e):n}}async function tm(e){if(await lt(e),!await Te(ft(e)))throw new I(`Tracker is not initialized at ${e}. Run pm init first.`,k.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:Fo(e)})}import ut from"node:fs/promises";import nm from"node:path";import{isUtf8 as rm}from"node:buffer";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7cbc256e-cdd8-51de-9c22-08cf2f3cd010")}catch{}})();async function om(e){try{return await ut.access(e),!0}catch{return!1}}function im(e,t){e&&(e.includes(t)||e.push(t))}function Wa(e){return e??Wt(Oe())}function sm(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function qa(e,t,n="pm-",r,o=xe){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=St(t,n),c=ao(t),d=[...new Set([s,a,c])].filter(m=>m.length>0),u=Object.entries(o),f=sm(r);for(let m of d)for(let[y]of u)for(let _ of f){let v=ir(e,y,m,_,o);if(await om(v))return{id:m,type:y,itemPath:v,item_format:_}}return null}async function Xa(e,t={}){let n=await am(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function am(e,t={}){let n=await ut.readFile(e.itemPath);if(!rm(n))throw new I("Item contains invalid UTF-8; preserve a binary backup before recovering it.",k.CONFLICT,{code:"item_document_encoding_invalid",item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:!1});let r=n.toString("utf8");await _e({path:e.itemPath,scope:"project"});let o;try{o=cn(r,{format:e.item_format,schema:t.schema,extensionFieldNames:Wa(t.extensionFieldNames),onWarning:i=>im(t.warnings,i)})}catch(i){if(i instanceof I&&i.code==="item_document_invalid")return{raw:r,document:null,error:new I(`Cannot read ${e.id} at ${e.itemPath}${n.length===0?" (zero-length file)":""}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:n.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw i}return{raw:r,document:o,error:null}}async function cm(e,t,n=xe,r,o){await lt(e);let i=await ra(e,t,n,r,o);return An(i.length),i.map(s=>s.metadata)}async function Db(e,t,n=xe,r,o){await lt(e);let i=await oa(e,t,n,r,o);return An(i.length),i.map(s=>s.metadata)}async function jb(e,t,n=xe,r,o,i={}){await lt(e);let s=await Vn(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return An(s.length),s.map(a=>({...a.metadata,body:a.body}))}function Ka(e){return{async get(t){let n=await qa(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await Xa(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>cm(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function dm(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await ut.readdir(nm.join(e,o));for(let s of i)for(let a of qt)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function lm(e,t,n,r){let o=St(t,n),i=await dm(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:$t(c,o,s)})).filter(c=>c.distance!==null).sort((c,d)=>c.distance-d.distance).slice(0,3).map(c=>c.id)}async function um(e,t,n,r){let o=await lm(e,t,n,r),i=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return o.length>0&&i.unshift(`Did you mean one of: ${o.join(", ")}?`),new I(`Item ${t} not found`,k.NOT_FOUND,{nextSteps:i})}function fm(e,t){return e==="claim"||t===!0&&(e==="comment_add"||e==="comment_edit"||e==="comment_delete"||e==="note_add"||e==="learning_add"||e==="release"||e==="update"||e==="update_ownership_bypass"||e==="update_audit")}async function Ga(e){let t=e.typeToFolder??Jo(e.settings,Oe()).type_to_folder,n=await qa(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await um(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await G(e.pmRoot,n.id,e.settings.locks.ttl_seconds,e.author,!!e.force,e.settings.governance.force_required_for_stale_lock,e.settings.locks.wait_ms);try{let o=[],{raw:i,document:s}=await Xa(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=ji(e.author),u=Zn(e.settings);if(a&&c!==d&&!e.force&&!fm(e.op,e.bypassAssigneeConflict)){if(u.ownership_enforcement==="strict")throw new I(`Item ${n.id} is assigned to ${a}. Use --force to override.`,k.CONFLICT);u.ownership_enforcement==="warn"&&o.push(`ownership_warning:assignee_conflict:${n.id}:${a}`)}return{typeToFolder:t,located:n,originalRaw:i,document:s,warnings:o,releaseLock:r}}catch(o){throw await r(),o}}function _m(e,t,n){if(!e.handled||typeof e.result!="object"||e.result===null)return{effectiveTargetItemPath:t,effectiveSerializedAfter:n,skipItemWrite:!1};let r=e.result;return{effectiveTargetItemPath:typeof r.target_item_path=="string"&&r.target_item_path.trim().length>0?r.target_item_path:t,effectiveSerializedAfter:typeof r.contents=="string"?r.contents:n,skipItemWrite:r.skip_write===!0}}async function mm(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await q(e.originalItemPath,e.originalRaw),await ut.rm(e.effectiveTargetItemPath,{force:!0});return}await q(e.originalItemPath,e.originalRaw)}}async function Ya(e){let t=await Ga({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=Z(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=Z(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),u=await e.mutate(d);if(e.skipNoop===!0&&u.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...u.warnings??[]]};let f=e.resolveHistoryContext?.();d.metadata.updated_at=me();let m=Z(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await cr({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:u.changedFields,sdk:Ka({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let y=await Po({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),_="toon",v=Ji(m,{format:_,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),b=ir(e.pmRoot,m.metadata.type,r.id,_,n),O=_t(e.pmRoot,r.id),R=await ht("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:b,history_path:O,item_format:_,before:c,after:m,contents:v}),{effectiveTargetItemPath:P,effectiveSerializedAfter:z,skipItemWrite:N}=_m(R,b,v),de=await po(e.pmRoot,e.author),W=[];try{N||await q(P,z),!N&&P!==r.itemPath&&await ut.rm(r.itemPath);let J=nt({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:f});try{await rt(O,J)}catch($e){throw await mm({skipItemWrite:N,effectiveTargetItemPath:P,originalItemPath:r.itemPath,originalRaw:o}),$e}N||(W=await yo({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:P,previousItemPath:r.itemPath,document:m}))}finally{await de()}let Se=[...await se({path:P,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:u.changedFields}),...await se({path:O,scope:"project",op:`${e.op}:history`,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:u.changedFields})];return ar({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:Xt(c.metadata,u.changedFields),current:Xt(m.metadata,u.changedFields),changed_fields:u.changedFields}),{item:m.metadata,body:m.body,changedFields:u.changedFields,warnings:[...s,...u.warnings??[],...y.warnings,...R.warnings,...W,...Se]}}finally{await a()}}async function Pb(e){return Ya(e)}async function Lb(e){return Ya(e)}async function Mb(e){let t=await Ga({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:"delete",author:e.author,force:e.force}),{located:n,originalRaw:r,document:o,warnings:i,releaseLock:s}=t;try{let a=Wa(void 0),c=Z(o,{schema:e.settings.schema,extensionFieldNames:a});await cr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Ka({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let d=await Po({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),u=me(),f=ze,m=nt({nowIso:u,author:e.author,op:"delete",before:c,after:f,message:e.message}),y=_t(e.pmRoot,n.id),_=await ht("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:y,before:c}),v=n.itemPath,b=!1;if(_.handled&&typeof _.result=="object"&&_.result!==null){let z=_.result;typeof z.item_path=="string"&&z.item_path.trim().length>0&&(v=z.item_path),z.skip_delete===!0&&(b=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:v,warnings:[...i,...d.warnings,..._.warnings]};let O=await po(e.pmRoot,e.author),R=[];try{b||await ut.rm(v);try{await rt(y,m)}catch(z){throw b||await q(v,r),z}b||(R=await yo({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:v,document:null}))}finally{await O()}let P=[...await se({path:v,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:f,changed_fields:["deleted"]}),...await se({path:y,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:f,changed_fields:["deleted"]})];return ar({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:Xt(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,..._.warnings,...R,...P]}}finally{await s()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="745b9c3b-538c-558f-b018-b406ca4318f0")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a9b23a46-0bba-5174-8793-dfc37016d1fb")}catch{}})();function pm(e,t){let n=e.trim().toLowerCase();if(n.length===0)return;let r=Math.floor(n.length/3);return t.map(o=>({candidate:o,distance:$t(n,o.toLowerCase(),r)??Number.POSITIVE_INFINITY})).filter(({distance:o})=>Number.isFinite(o)).sort((o,i)=>o.distance!==i.distance?o.distance-i.distance:o.candidate.localeCompare(i.candidate))[0]?.candidate}function Ja(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function Vb(e){let t=e.command_path.trim().replaceAll(/\s+/gu," "),n=e.token.trim(),r=n.length===0?"<empty>":n,o=[...new Set(e.allowed.map(m=>m.trim()))].filter(Boolean).sort((m,y)=>m.localeCompare(y));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",d=e.retry_command?void 0:pm(r,o),u=Ja([...i,r,...s]),f=e.retry_command??(d?Ja([...i,d,...s]):void 0);return new I(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??k.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",examples:[...f?[f]:[],...e.examples??[],`pm ${t} --help`],nextSteps:f?[`Retry with the suggested command: ${f}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:u,allowed_values:o,suggested_retry:f,fallback_candidates:e.fallback_candidates}})}export{Hl as a,Ce as b,ur as c,hm as d,gm as e,Gt as f,yr as g,Sm as h,xm as i,Tm as j,Om as k,Cm as l,Am as m,Sr as n,xr as o,xi as p,zm as q,Hm as r,Um as s,Bm as t,Vm as u,Wm as v,Ar as w,Ri as x,qm as y,Xm as z,Km as A,Rc as B,ji as C,Pi as D,zi as E,gt as F,ap as G,cp as H,We as I,Li as J,Ym as K,Mi as L,Nc as M,Jm as N,en as O,qe as P,tn as Q,rn as R,an as S,cn as T,Ji as U,Z as V,Ye as W,Je as X,Il as Y,Kp as Z,Gp as _,Yp as $,by as aa,wy as ba,Gl as ca,vn as da,Pe as ea,It as fa,Uy as ga,to as ha,Sn as ia,Ts as ja,By as ka,As as la,Vy as ma,nt as na,rt as oa,Qi as pa,fu as qa,xn as ra,Zy as sa,ro as ta,Tn as ua,eh as va,th as wa,Ps as xa,On as ya,Fs as za,Cn as Aa,wu as Ba,nh as Ca,rh as Da,Lt as Ea,ko as Fa,Ig as Ga,Sg as Ha,xg as Ia,Tg as Ja,pa as Ka,Rg as La,Zn as Ma,Va as Na,Xg as Oa,Kg as Pa,ah as Qa,Po as Ra,Z_ as Sa,zs as Ta,ao as Ua,St as Va,mh as Wa,wh as Xa,Eh as Ya,vh as Za,Qs as _a,Uu as $a,po as ab,Ph as bb,yo as cb,Vn as db,lt as eb,tm as fb,qa as gb,Xa as hb,am as ib,cm as jb,Db as kb,jb as lb,Ka as mb,um as nb,Pb as ob,Lb as pb,Mb as qb,Vb as rb,Gh as sb,Yh as tb,Rf as ub,we as vb,Bh as wb,qn as xb,Vh as yb,Cf as zb,Wh as Ab,Dt as Bb,Df as Cb,Pf as Db,Lf as Eb,Mf as Fb,rg as Gb,og as Hb,wo as Ib,zf as Jb,Pt as Kb,Kn as Lb,la as Mb,Hf as Nb,Uf as Ob,Bf as Pb,qf as Qb};
177
- //# sourceMappingURL=chunk-PDMW2E36.js.map