@unbrained/pm-cli 2026.9.7 → 2026.9.8

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 (718) 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 +5 -0
  6. package/.agents/skills/pm-user/references/ECOSYSTEM_PLANNING.md +95 -0
  7. package/.claude-plugin/marketplace.json +2 -2
  8. package/CHANGELOG.md +211 -181
  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.js +19 -1893
  92. package/dist/cli/register-operations.js +1 -920
  93. package/dist/cli/register-setup.js +1 -716
  94. package/dist/cli/register-structured-mutation.js +1 -196
  95. package/dist/cli/registration-helpers.js +1 -5
  96. package/dist/cli/runtime-compatibility-boundary.js +4 -42
  97. package/dist/cli/schema-registration-helpers.js +1 -73
  98. package/dist/cli/search-refresh.js +1 -13
  99. package/dist/cli/stats-analytics-json.js +1 -68
  100. package/dist/cli/telemetry-flush.js +1 -10
  101. package/dist/cli-bundle/bundle-manifest.json +164 -156
  102. package/dist/cli-bundle/chunks/chunk-3BZZA6A3.js +5 -0
  103. package/dist/cli-bundle/chunks/chunk-AMRDVX36.js +235 -0
  104. package/dist/cli-bundle/chunks/chunk-DAM4CBBR.js +2202 -0
  105. package/dist/cli-bundle/chunks/{chunk-WYRZZ5ZE.js → chunk-DEZPZOQ7.js} +2 -2
  106. package/dist/cli-bundle/chunks/chunk-FLDWYEND.js +77 -0
  107. package/dist/cli-bundle/chunks/{chunk-NPN5I67J.js → chunk-G5ADGQ2D.js} +3 -3
  108. package/dist/cli-bundle/chunks/chunk-JAAEYHUA.js +2 -0
  109. package/dist/cli-bundle/chunks/{chunk-JX4DH4WC.js → chunk-KR3RP4FH.js} +3 -3
  110. package/dist/cli-bundle/chunks/chunk-LEZOUXG6.js +2 -0
  111. package/dist/cli-bundle/chunks/chunk-NSAPNEYH.js +2 -0
  112. package/dist/cli-bundle/chunks/chunk-QOEKOECV.js +29 -0
  113. package/dist/cli-bundle/chunks/chunk-RHSFOMHU.js +2 -0
  114. package/dist/cli-bundle/chunks/chunk-XOD2PCB6.js +20 -0
  115. package/dist/cli-bundle/chunks/{chunk-JT6XF6GE.js → chunk-YVEQ2AMO.js} +4 -4
  116. package/dist/cli-bundle/chunks/register-list-query-KSK3R63M.js +11 -0
  117. package/dist/cli-bundle/chunks/register-mutation-IQ5C7U6O.js +20 -0
  118. package/dist/cli-bundle/chunks/{register-operations-I5W3KMGB.js → register-operations-DWVHR2NC.js} +2 -2
  119. package/dist/cli-bundle/chunks/register-setup-BQ5SVD4B.js +2 -0
  120. package/dist/cli-bundle/focused-chunks/chunk-3WRPWLA7.js +3 -0
  121. package/dist/cli-bundle/focused-chunks/chunk-7MBUII7U.js +2 -0
  122. package/dist/cli-bundle/focused-chunks/chunk-COPBO5HW.js +8 -0
  123. package/dist/cli-bundle/focused-chunks/chunk-DUN4IXYN.js +20 -0
  124. package/dist/cli-bundle/focused-chunks/{chunk-LIJIA4TY.js → chunk-EE5QSM4Z.js} +3 -3
  125. package/dist/cli-bundle/focused-chunks/chunk-HJVARYM3.js +6 -0
  126. package/dist/cli-bundle/focused-chunks/chunk-IAUOUGVR.js +177 -0
  127. package/dist/cli-bundle/focused-chunks/chunk-KOOMJ54F.js +2 -0
  128. package/dist/cli-bundle/focused-chunks/chunk-MZDXX7JY.js +56 -0
  129. package/dist/cli-bundle/focused-chunks/{chunk-M6PBRFSH.js → chunk-OPFHFGDD.js} +2 -2
  130. package/dist/cli-bundle/focused-chunks/chunk-QHNETP77.js +9 -0
  131. package/dist/cli-bundle/focused-chunks/{chunk-3BZEOXLT.js → chunk-RMWES4M6.js} +2 -2
  132. package/dist/cli-bundle/focused-chunks/chunk-RXT4P5QH.js +10 -0
  133. package/dist/cli-bundle/focused-chunks/chunk-SDOL6FM2.js +12 -0
  134. package/dist/cli-bundle/focused-chunks/chunk-SQV4AAUC.js +2 -0
  135. package/dist/cli-bundle/focused-chunks/{chunk-PEFABF7E.js → chunk-WE3IUNIW.js} +3 -3
  136. package/dist/cli-bundle/focused-chunks/chunk-YALOUBWJ.js +2 -0
  137. package/dist/cli-bundle/main.js +20 -20
  138. package/dist/cli-bundle/sdk-authoring.js +1 -1
  139. package/dist/cli-bundle/sdk-contracts.js +2 -2
  140. package/dist/cli-bundle/sdk-core.js +29 -29
  141. package/dist/cli-bundle/sdk-governance.js +1 -1
  142. package/dist/cli-bundle/sdk-graph.js +1 -1
  143. package/dist/cli-bundle/sdk-merge.js +42 -42
  144. package/dist/cli-bundle/sdk-query.js +1 -1
  145. package/dist/cli-bundle/sdk-runtime.js +1 -1
  146. package/dist/cli-bundle/sdk-testing.js +1 -1
  147. package/dist/cli-bundle/sdk.js +11 -11
  148. package/dist/cli.js +1 -104
  149. package/dist/core/checkpoint/checkpoint-gc.js +1 -169
  150. package/dist/core/checkpoint/mutation-checkpoint.js +2 -133
  151. package/dist/core/config/nested-settings.js +1 -534
  152. package/dist/core/config/positional-value.js +1 -109
  153. package/dist/core/diagnostics/remediation.js +1 -506
  154. package/dist/core/extensions/activation-summary-markdown.js +2 -145
  155. package/dist/core/extensions/activation-summary.js +1 -92
  156. package/dist/core/extensions/activation-transaction.js +1 -46
  157. package/dist/core/extensions/capability-usage.js +1 -173
  158. package/dist/core/extensions/command-hook-context.js +1 -13
  159. package/dist/core/extensions/command-metadata-contract.js +1 -22
  160. package/dist/core/extensions/command-visibility-tier.js +1 -29
  161. package/dist/core/extensions/contribution-inventory.js +1 -173
  162. package/dist/core/extensions/exporter-output-contract.js +1 -66
  163. package/dist/core/extensions/extension-candidate.js +1 -18
  164. package/dist/core/extensions/extension-capability-aliases.js +1 -158
  165. package/dist/core/extensions/extension-hook-runtime.js +1 -699
  166. package/dist/core/extensions/extension-policy.js +1 -599
  167. package/dist/core/extensions/extension-registries.js +1 -62
  168. package/dist/core/extensions/extension-runtime-helpers.js +1 -33
  169. package/dist/core/extensions/extension-types.js +1 -102
  170. package/dist/core/extensions/flag-definition-validation.js +1 -52
  171. package/dist/core/extensions/flag-value-types.js +1 -64
  172. package/dist/core/extensions/index.js +1 -526
  173. package/dist/core/extensions/item-field-types.js +1 -39
  174. package/dist/core/extensions/item-fields.js +1 -261
  175. package/dist/core/extensions/loader.js +1 -2223
  176. package/dist/core/extensions/manifest-schema.js +1 -69
  177. package/dist/core/extensions/module-graph-snapshot.js +1 -33
  178. package/dist/core/extensions/preflight-ownership.js +1 -41
  179. package/dist/core/extensions/registration-validation.js +1 -82
  180. package/dist/core/extensions/registration-values.js +1 -209
  181. package/dist/core/extensions/reserved-host-flags.js +1 -36
  182. package/dist/core/extensions/runtime-registrations.js +1 -67
  183. package/dist/core/extensions/service-ownership.js +1 -19
  184. package/dist/core/extensions/version-compat.js +1 -216
  185. package/dist/core/fs/fs-utils.js +2 -158
  186. package/dist/core/fs/host-environment-errors.js +1 -141
  187. package/dist/core/fs/index.js +1 -9
  188. package/dist/core/fs/path-utils.js +1 -17
  189. package/dist/core/governance/content-fields.js +1 -160
  190. package/dist/core/governance/issue-codes.js +1 -151
  191. package/dist/core/governance/metadata-coverage.js +1 -358
  192. package/dist/core/history/drift-cache.js +3 -72
  193. package/dist/core/history/drift-scan.js +1 -342
  194. package/dist/core/history/event-classification.js +1 -109
  195. package/dist/core/history/event-index.js +8 -784
  196. package/dist/core/history/history-compact-bulk.js +1 -104
  197. package/dist/core/history/history-diff.js +1 -158
  198. package/dist/core/history/history-rewrite.d.ts +6 -1
  199. package/dist/core/history/history-rewrite.js +1 -107
  200. package/dist/core/history/history-storage-stats.js +1 -102
  201. package/dist/core/history/history-stream-policy.js +1 -62
  202. package/dist/core/history/history.js +2 -617
  203. package/dist/core/history/identity.js +1 -30
  204. package/dist/core/history/index.js +1 -9
  205. package/dist/core/history/projection.js +1 -196
  206. package/dist/core/history/read.d.ts +9 -0
  207. package/dist/core/history/read.js +1 -57
  208. package/dist/core/history/replay.js +2 -439
  209. package/dist/core/history/version-address.js +1 -32
  210. package/dist/core/history/workspace-history.js +2 -433
  211. package/dist/core/io/body-file.js +1 -62
  212. package/dist/core/io/bulk-ids-input.js +1 -112
  213. package/dist/core/item/actionability.js +1 -327
  214. package/dist/core/item/dependency-reference.js +1 -20
  215. package/dist/core/item/id.js +1 -112
  216. package/dist/core/item/index.js +1 -12
  217. package/dist/core/item/item-format-version.js +1 -78
  218. package/dist/core/item/item-format.js +5 -1473
  219. package/dist/core/item/item-record.js +1 -23
  220. package/dist/core/item/item-type-definition.js +1 -133
  221. package/dist/core/item/parent-reference-policy.js +1 -57
  222. package/dist/core/item/parse.js +2 -603
  223. package/dist/core/item/plan-lifecycle.js +1 -19
  224. package/dist/core/item/priority.js +1 -61
  225. package/dist/core/item/sprint-release-format.js +1 -38
  226. package/dist/core/item/status-filter.js +1 -115
  227. package/dist/core/item/status.js +1 -43
  228. package/dist/core/item/toon-decode.js +1 -29
  229. package/dist/core/item/type-registry.js +1 -715
  230. package/dist/core/item/type-synonyms.js +1 -38
  231. package/dist/core/lock/index.js +1 -9
  232. package/dist/core/lock/lock-gc.js +1 -240
  233. package/dist/core/lock/lock.js +3 -590
  234. package/dist/core/output/mutation-projection.js +1 -217
  235. package/dist/core/output/output-control.js +1 -25
  236. package/dist/core/output/output.js +11 -494
  237. package/dist/core/output/query-summary.js +1 -58
  238. package/dist/core/output/tabular.js +1 -77
  239. package/dist/core/packages/manifest.js +1 -244
  240. package/dist/core/packages/root.js +1 -84
  241. package/dist/core/profile/profile-describe.js +1 -83
  242. package/dist/core/profile/profile-lint.js +1 -415
  243. package/dist/core/profile/profile-plan.js +0 -0
  244. package/dist/core/profile/profile-presets.js +1 -370
  245. package/dist/core/reproducibility/context.js +1 -82
  246. package/dist/core/schema/fields-file.js +2 -288
  247. package/dist/core/schema/item-types-file.js +2 -296
  248. package/dist/core/schema/runtime-field-filters.js +1 -49
  249. package/dist/core/schema/runtime-field-values.js +1 -313
  250. package/dist/core/schema/runtime-schema.js +2 -826
  251. package/dist/core/schema/status-defs-file.js +2 -227
  252. package/dist/core/schema/status-token.js +1 -31
  253. package/dist/core/schema/type-inference.js +1 -95
  254. package/dist/core/schema/type-presets.js +1 -87
  255. package/dist/core/schema/type-workflows.js +1 -104
  256. package/dist/core/search/background-refresh.js +2 -286
  257. package/dist/core/search/bm25.js +1 -146
  258. package/dist/core/search/cache.js +2 -534
  259. package/dist/core/search/corpus.js +1 -311
  260. package/dist/core/search/embedding-batches.js +1 -163
  261. package/dist/core/search/eval.js +1 -225
  262. package/dist/core/search/http-client.js +1 -75
  263. package/dist/core/search/providers.js +1 -242
  264. package/dist/core/search/relevance.js +1 -244
  265. package/dist/core/search/semantic-defaults.js +1 -199
  266. package/dist/core/search/staleness.js +1 -30
  267. package/dist/core/search/vector-stores.js +2 -664
  268. package/dist/core/search/vectorization-metadata.js +1 -81
  269. package/dist/core/sentry/helpers.js +1 -272
  270. package/dist/core/sentry/instrument.js +1 -387
  271. package/dist/core/session/session-state.js +1 -260
  272. package/dist/core/shared/agent-session-context.js +1 -133
  273. package/dist/core/shared/author.js +1 -1172
  274. package/dist/core/shared/command-types.js +1 -4
  275. package/dist/core/shared/conflict-markers.js +1 -31
  276. package/dist/core/shared/constants.js +1 -405
  277. package/dist/core/shared/errors.js +1 -20
  278. package/dist/core/shared/html-entity-decode.js +1 -131
  279. package/dist/core/shared/index.js +1 -12
  280. package/dist/core/shared/item-metadata-contract.js +1 -89
  281. package/dist/core/shared/lazy-module.js +1 -16
  282. package/dist/core/shared/levenshtein.js +1 -61
  283. package/dist/core/shared/memo.js +1 -19
  284. package/dist/core/shared/numeric-parsers.js +1 -20
  285. package/dist/core/shared/option-alias-visibility.js +1 -67
  286. package/dist/core/shared/primitives.js +1 -127
  287. package/dist/core/shared/serial-queue.js +1 -79
  288. package/dist/core/shared/serialization.js +1 -210
  289. package/dist/core/shared/split-comma-list.js +1 -30
  290. package/dist/core/shared/text-normalization.js +1 -38
  291. package/dist/core/shared/time.js +1 -306
  292. package/dist/core/store/index.js +1 -12
  293. package/dist/core/store/item-format-migration.js +1 -125
  294. package/dist/core/store/item-metadata-cache.js +1 -1116
  295. package/dist/core/store/item-metadata-query-index.js +9 -394
  296. package/dist/core/store/item-metadata-read-work.js +1 -43
  297. package/dist/core/store/item-store.js +1 -693
  298. package/dist/core/store/paths.d.ts +1 -1
  299. package/dist/core/store/paths.js +1 -214
  300. package/dist/core/store/settings-read-cache.js +1 -85
  301. package/dist/core/store/settings-validator.js +1 -421
  302. package/dist/core/store/settings.js +3 -1309
  303. package/dist/core/store/tracker-preflight.js +1 -141
  304. package/dist/core/telemetry/consent.js +5 -108
  305. package/dist/core/telemetry/observability.js +1 -246
  306. package/dist/core/telemetry/runtime.js +4 -1988
  307. package/dist/core/test/background-runs.js +4 -945
  308. package/dist/core/test/item-test-run-tracking.js +1 -63
  309. package/dist/core/test/run-selectors.js +1 -120
  310. package/dist/core/validate/estimate-defaults.js +1 -89
  311. package/dist/core/validate/fix-planning.js +1 -189
  312. package/dist/core/validate/linked-artifact-reference.js +1 -36
  313. package/dist/core/validate/missing-by-type.js +1 -34
  314. package/dist/core/validate/missing-link-owners.js +1 -95
  315. package/dist/core/validate/stale-file-classification.js +1 -82
  316. package/dist/mcp/http-server.js +5 -448
  317. package/dist/mcp/legacy-adapter.js +1 -77
  318. package/dist/mcp/runtime-capabilities.js +1 -200
  319. package/dist/mcp/server.js +4 -1233
  320. package/dist/mcp/tool-definitions.js +1 -804
  321. package/dist/sdk/actionability.js +1 -13
  322. package/dist/sdk/agent/closed-domain-contracts.js +1 -161
  323. package/dist/sdk/agent/command-recovery.js +1 -59
  324. package/dist/sdk/agent/command-suggestions.js +1 -66
  325. package/dist/sdk/agent/create-option-policy.js +1 -31
  326. package/dist/sdk/agent/identity-config.js +1 -106
  327. package/dist/sdk/agent/item-addressing.js +1 -207
  328. package/dist/sdk/agent/refusal-closure-census.js +1 -151
  329. package/dist/sdk/agent/refusal-closure.js +1 -133
  330. package/dist/sdk/agent/refusal-corpus-contracts.js +1 -193
  331. package/dist/sdk/agent/refusal-reachability.js +1 -593
  332. package/dist/sdk/agent/subcommand-recovery.js +1 -83
  333. package/dist/sdk/agent/task-transcript-contracts.js +1 -197
  334. package/dist/sdk/agent/tracker-preflight-contracts.js +1 -126
  335. package/dist/sdk/agent-capability-contracts.js +1 -428
  336. package/dist/sdk/agent-session-context.js +1 -9
  337. package/dist/sdk/annotations.js +1 -448
  338. package/dist/sdk/author-attribution.js +1 -468
  339. package/dist/sdk/authoring.js +1 -20
  340. package/dist/sdk/cli-bootstrap.js +1 -838
  341. package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +1 -1
  342. package/dist/sdk/cli-contracts/agent-output-contracts.js +4 -476
  343. package/dist/sdk/cli-contracts/bootstrap-command-scanner.js +1 -79
  344. package/dist/sdk/cli-contracts/command-aliases.d.ts +4 -0
  345. package/dist/sdk/cli-contracts/command-aliases.js +1 -107
  346. package/dist/sdk/cli-contracts/command-exit-contracts.js +1 -151
  347. package/dist/sdk/cli-contracts/commander-mutation-options.js +1 -1081
  348. package/dist/sdk/cli-contracts/commander-types.js +1 -159
  349. package/dist/sdk/cli-contracts/completeness.js +1 -393
  350. package/dist/sdk/cli-contracts/enum-contracts.js +1 -222
  351. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1947
  352. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -347
  353. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -986
  354. package/dist/sdk/cli-contracts/registration-helpers.js +7 -990
  355. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +5 -0
  356. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -2090
  357. package/dist/sdk/cli-contracts/schemas/assurance-definition.js +1 -324
  358. package/dist/sdk/cli-contracts/string-lists.js +1 -16
  359. package/dist/sdk/cli-contracts/tool-option-contracts.js +1 -461
  360. package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -2167
  361. package/dist/sdk/cli-contracts/tool-schema.d.ts +3 -1
  362. package/dist/sdk/cli-contracts/tool-schema.js +1 -1664
  363. package/dist/sdk/cli-contracts/typed-action-inputs.js +1 -4
  364. package/dist/sdk/cli-contracts.d.ts +1 -1
  365. package/dist/sdk/cli-contracts.js +1 -17
  366. package/dist/sdk/cli-program.js +1 -49
  367. package/dist/sdk/command-line.d.ts +2 -5
  368. package/dist/sdk/command-line.js +1 -78
  369. package/dist/sdk/comments.js +1 -133
  370. package/dist/sdk/compile-cache.js +1 -73
  371. package/dist/sdk/completion.js +157 -837
  372. package/dist/sdk/compose.js +1 -1090
  373. package/dist/sdk/config.js +1 -1204
  374. package/dist/sdk/context/recency.js +1 -33
  375. package/dist/sdk/context/semantic-session-attribution.js +1 -82
  376. package/dist/sdk/context/usage-egress.js +1 -29
  377. package/dist/sdk/context/usage-ledger.js +3 -185
  378. package/dist/sdk/context-intent-contracts.js +1 -709
  379. package/dist/sdk/context-intent-runtime.js +1 -115
  380. package/dist/sdk/context-packing.js +1 -218
  381. package/dist/sdk/context-relevance.js +1 -503
  382. package/dist/sdk/context-signal-store.js +2 -426
  383. package/dist/sdk/context-usage.js +1 -367
  384. package/dist/sdk/contracts.js +1 -23
  385. package/dist/sdk/core-governance.js +1 -14
  386. package/dist/sdk/core.js +1 -14
  387. package/dist/sdk/corpus-shape.js +1 -401
  388. package/dist/sdk/define.js +1 -220
  389. package/dist/sdk/dependencies.js +1 -718
  390. package/dist/sdk/dependency-flag-validation.js +1 -156
  391. package/dist/sdk/dependency-provenance.js +1 -135
  392. package/dist/sdk/docs.js +1 -14
  393. package/dist/sdk/duplicates.js +1 -40
  394. package/dist/sdk/environment/agent-environment.js +1 -466
  395. package/dist/sdk/environment/host-environment-errors.js +1 -8
  396. package/dist/sdk/environment/project-runtime-compatibility.js +1 -481
  397. package/dist/sdk/environment/source-context.js +1 -28
  398. package/dist/sdk/environment/tracker-preflight.js +1 -9
  399. package/dist/sdk/error-code-catalog.js +1 -153
  400. package/dist/sdk/error-runtime.js +1 -58
  401. package/dist/sdk/errors.js +1 -58
  402. package/dist/sdk/eval.js +1 -190
  403. package/dist/sdk/extension/author-manifest.js +1 -92
  404. package/dist/sdk/extension/bundled-catalog.js +1 -332
  405. package/dist/sdk/extension/concurrency.js +1 -25
  406. package/dist/sdk/extension/copy-scope.d.ts +2 -0
  407. package/dist/sdk/extension/copy-scope.js +2 -0
  408. package/dist/sdk/extension/custom-field-collisions.js +1 -30
  409. package/dist/sdk/extension/describe.js +3 -189
  410. package/dist/sdk/extension/doctor.js +1 -606
  411. package/dist/sdk/extension/install-plan.d.ts +69 -0
  412. package/dist/sdk/extension/install-plan.js +2 -0
  413. package/dist/sdk/extension/install-receipts.d.ts +7 -0
  414. package/dist/sdk/extension/install-receipts.js +2 -0
  415. package/dist/sdk/extension/install-runtime.js +3 -313
  416. package/dist/sdk/extension/install-snapshot.js +1 -66
  417. package/dist/sdk/extension/install-sources.js +5 -1057
  418. package/dist/sdk/extension/managed-state.js +2 -252
  419. package/dist/sdk/extension/migrations.js +2 -174
  420. package/dist/sdk/extension/output-ownership.js +1 -25
  421. package/dist/sdk/extension/runtime-summary.js +1 -18
  422. package/dist/sdk/extension/scaffold.js +4 -2308
  423. package/dist/sdk/extension/shared.js +1 -147
  424. package/dist/sdk/extension/source-resolution.js +1 -65
  425. package/dist/sdk/extension/update-check.js +1 -67
  426. package/dist/sdk/extension-command-context.js +1 -44
  427. package/dist/sdk/extension-contracts.js +1 -73
  428. package/dist/sdk/extension.d.ts +7 -2
  429. package/dist/sdk/extension.js +1 -2196
  430. package/dist/sdk/files.js +1 -535
  431. package/dist/sdk/flag-invocation-contracts.d.ts +0 -5
  432. package/dist/sdk/flag-invocation-contracts.js +1 -344
  433. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -2224
  434. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -2236
  435. package/dist/sdk/generated-error-code-catalog.js +1 -16
  436. package/dist/sdk/governance/assurance-action-contracts.js +1 -4
  437. package/dist/sdk/governance/assurance-action.js +1 -411
  438. package/dist/sdk/governance/assurance-limits.js +1 -10
  439. package/dist/sdk/governance/assurance-mutation-error.js +1 -81
  440. package/dist/sdk/governance/assurance-presets.js +1 -135
  441. package/dist/sdk/governance/assurance-runtime.js +1 -238
  442. package/dist/sdk/governance/assurance.js +4 -1182
  443. package/dist/sdk/governance/boundary-fixtures.js +1 -200
  444. package/dist/sdk/governance/coverage-assurance.js +1 -60
  445. package/dist/sdk/governance/defect-recurrence-coverage.js +1 -188
  446. package/dist/sdk/governance/defect-recurrence-graph.js +1 -120
  447. package/dist/sdk/governance/defect-recurrence-signals.js +1 -24
  448. package/dist/sdk/governance/defect-recurrence.js +1 -623
  449. package/dist/sdk/governance/extension-host-version.js +1 -115
  450. package/dist/sdk/governance/gc.js +1 -368
  451. package/dist/sdk/governance/health.js +1 -2367
  452. package/dist/sdk/governance/hierarchy-validation.js +1 -108
  453. package/dist/sdk/governance/linked-file-report.js +1 -71
  454. package/dist/sdk/governance/merge-receipt-history.js +1 -206
  455. package/dist/sdk/governance/provenance-health.js +1 -282
  456. package/dist/sdk/governance/reindex.js +4 -761
  457. package/dist/sdk/governance/stale-work.js +1 -82
  458. package/dist/sdk/governance/status-role-diagnostics.js +1 -35
  459. package/dist/sdk/governance/storage-integrity.js +1 -280
  460. package/dist/sdk/governance/tracked-runtime-cache.js +1 -106
  461. package/dist/sdk/governance/upgrade.js +2 -327
  462. package/dist/sdk/governance/validate-history-drift.js +1 -81
  463. package/dist/sdk/governance/validate-item-reader.js +1 -17
  464. package/dist/sdk/governance/validate-normalization.js +1 -36
  465. package/dist/sdk/governance/validate.js +1 -2261
  466. package/dist/sdk/governance/workspace-position.js +1 -163
  467. package/dist/sdk/governance.d.ts +1 -0
  468. package/dist/sdk/governance.js +1 -31
  469. package/dist/sdk/graph/adapter.js +1 -181
  470. package/dist/sdk/graph/analytics.js +1 -474
  471. package/dist/sdk/graph/assembly.js +1 -377
  472. package/dist/sdk/graph/cache.js +1 -160
  473. package/dist/sdk/graph/centrality.js +1 -258
  474. package/dist/sdk/graph/conformance.js +1 -130
  475. package/dist/sdk/graph/deadline-scheduling.d.ts +90 -0
  476. package/dist/sdk/graph/deadline-scheduling.js +2 -0
  477. package/dist/sdk/graph/durable-cache.d.ts +1 -1
  478. package/dist/sdk/graph/durable-cache.js +1 -361
  479. package/dist/sdk/graph/governance-contracts.js +1 -34
  480. package/dist/sdk/graph/governance.d.ts +13 -1
  481. package/dist/sdk/graph/governance.js +1 -735
  482. package/dist/sdk/graph/hierarchy-integrity.js +1 -310
  483. package/dist/sdk/graph/index.d.ts +3 -2
  484. package/dist/sdk/graph/index.js +1 -26
  485. package/dist/sdk/graph/lifecycle-coverage.d.ts +32 -0
  486. package/dist/sdk/graph/lifecycle-coverage.js +2 -0
  487. package/dist/sdk/graph/mutation-advisory.js +1 -176
  488. package/dist/sdk/graph/remediation.js +1 -197
  489. package/dist/sdk/graph/run.d.ts +15 -1
  490. package/dist/sdk/graph/run.js +1 -768
  491. package/dist/sdk/graph/scheduling.js +1 -124
  492. package/dist/sdk/graph/traversal.js +1 -284
  493. package/dist/sdk/graph/workspace-relationship-kind-registry.js +1 -27
  494. package/dist/sdk/graph.js +1 -15
  495. package/dist/sdk/guide-topics.js +1 -707
  496. package/dist/sdk/guide.js +1 -279
  497. package/dist/sdk/history/maintenance.d.ts +71 -0
  498. package/dist/sdk/history/maintenance.js +2 -0
  499. package/dist/sdk/history/salvage.js +2 -247
  500. package/dist/sdk/history/subject.d.ts +19 -0
  501. package/dist/sdk/history/subject.js +2 -0
  502. package/dist/sdk/history-analytics.js +1 -282
  503. package/dist/sdk/history-compact.js +1 -527
  504. package/dist/sdk/history-mcp.js +1 -68
  505. package/dist/sdk/history-provenance.js +1 -182
  506. package/dist/sdk/history-read.js +1 -96
  507. package/dist/sdk/history-redact.d.ts +1 -14
  508. package/dist/sdk/history-redact.js +1 -643
  509. package/dist/sdk/history-repair.d.ts +5 -0
  510. package/dist/sdk/history-repair.js +1 -657
  511. package/dist/sdk/improvement-ledger-validation.js +1 -62
  512. package/dist/sdk/improvement-ledger.js +2 -257
  513. package/dist/sdk/index.d.ts +4 -0
  514. package/dist/sdk/index.js +1 -183
  515. package/dist/sdk/init-agent-guidance.js +2 -496
  516. package/dist/sdk/init.js +2 -820
  517. package/dist/sdk/invocation-author.js +1 -39
  518. package/dist/sdk/item-children.js +1 -90
  519. package/dist/sdk/item-metadata-index.js +1 -15
  520. package/dist/sdk/item-schedule.js +1 -27
  521. package/dist/sdk/item-transaction.js +1 -396
  522. package/dist/sdk/learnings.js +1 -29
  523. package/dist/sdk/lifecycle/append.js +2 -53
  524. package/dist/sdk/lifecycle/claim.d.ts +2 -0
  525. package/dist/sdk/lifecycle/claim.js +1 -242
  526. package/dist/sdk/lifecycle/close-many.js +1 -438
  527. package/dist/sdk/lifecycle/close.js +1 -468
  528. package/dist/sdk/lifecycle/copy.js +1 -212
  529. package/dist/sdk/lifecycle/create.js +1 -1949
  530. package/dist/sdk/lifecycle/delete.js +1 -45
  531. package/dist/sdk/lifecycle/event-validation-messages.js +1 -91
  532. package/dist/sdk/lifecycle/focus.js +1 -91
  533. package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +1 -24
  534. package/dist/sdk/lifecycle/legacy-none-tokens.js +1 -149
  535. package/dist/sdk/lifecycle/lifecycle-transitions.js +1 -40
  536. package/dist/sdk/lifecycle/mcp-actions.d.ts +2 -0
  537. package/dist/sdk/lifecycle/mcp-actions.js +1 -51
  538. package/dist/sdk/lifecycle/metadata-normalizers.js +1 -46
  539. package/dist/sdk/lifecycle/mutation-command-options.js +1 -9
  540. package/dist/sdk/lifecycle/plan.js +1 -1606
  541. package/dist/sdk/lifecycle/recurrence-parsers.js +1 -147
  542. package/dist/sdk/lifecycle/reopen.js +1 -68
  543. package/dist/sdk/lifecycle/repeatable-metadata-parsers.js +1 -143
  544. package/dist/sdk/lifecycle/restore.d.ts +1 -0
  545. package/dist/sdk/lifecycle/restore.js +1 -330
  546. package/dist/sdk/lifecycle/shared-unset-fields.js +1 -295
  547. package/dist/sdk/lifecycle/update-many.js +1 -861
  548. package/dist/sdk/lifecycle/update.js +1 -2136
  549. package/dist/sdk/lifecycle-completion.js +1 -92
  550. package/dist/sdk/lifecycle-policy.js +1 -120
  551. package/dist/sdk/linked-artifacts.js +1 -530
  552. package/dist/sdk/mcp/apps.js +4 -133
  553. package/dist/sdk/mcp/authorization.js +1 -404
  554. package/dist/sdk/mcp/discovery.js +1 -494
  555. package/dist/sdk/mcp/interactions.js +1 -336
  556. package/dist/sdk/mcp/protocol.d.ts +7 -0
  557. package/dist/sdk/mcp/protocol.js +1 -184
  558. package/dist/sdk/mcp/skills.js +1 -389
  559. package/dist/sdk/mcp/subscriptions.js +1 -211
  560. package/dist/sdk/mcp/tasks.js +2 -430
  561. package/dist/sdk/mcp/transport.js +1 -260
  562. package/dist/sdk/merge/abandoned-receipts.js +1 -46
  563. package/dist/sdk/merge/driver.js +1 -212
  564. package/dist/sdk/merge/index.js +1 -16
  565. package/dist/sdk/merge/install.js +3 -561
  566. package/dist/sdk/merge/receipt-file-boundary.js +1 -46
  567. package/dist/sdk/merge/receipt-operation.js +1 -96
  568. package/dist/sdk/merge/receipt-schema.js +1 -397
  569. package/dist/sdk/merge/receipts.js +4 -525
  570. package/dist/sdk/merge/reconcile.js +1 -352
  571. package/dist/sdk/merge/three-way.js +3 -775
  572. package/dist/sdk/merge.js +1 -10
  573. package/dist/sdk/mutation-events.js +1 -292
  574. package/dist/sdk/mutation-guard.js +1 -216
  575. package/dist/sdk/notes.js +1 -139
  576. package/dist/sdk/output-contracts.js +1 -172
  577. package/dist/sdk/output-projection.js +1 -430
  578. package/dist/sdk/output-token-accounting.js +1 -140
  579. package/dist/sdk/output.js +1 -64
  580. package/dist/sdk/ownership-source.js +1 -21
  581. package/dist/sdk/package-import-adapters.js +1 -442
  582. package/dist/sdk/package-migrations.js +1 -20
  583. package/dist/sdk/package-runtime-options.js +1 -80
  584. package/dist/sdk/pagination.js +1 -162
  585. package/dist/sdk/profile.js +1 -454
  586. package/dist/sdk/provenance.js +1 -258
  587. package/dist/sdk/public-surface.json +1 -1
  588. package/dist/sdk/query/activity.js +1 -401
  589. package/dist/sdk/query/aggregate.d.ts +16 -0
  590. package/dist/sdk/query/aggregate.js +1 -390
  591. package/dist/sdk/query/calendar.js +1 -964
  592. package/dist/sdk/query/complete-list.js +1 -215
  593. package/dist/sdk/query/context.js +1 -1702
  594. package/dist/sdk/query/duplicate-candidates.js +1 -70
  595. package/dist/sdk/query/get.js +1 -450
  596. package/dist/sdk/query/history.js +1 -186
  597. package/dist/sdk/query/item-filter-options.js +1 -9
  598. package/dist/sdk/query/light-metadata.js +1 -18
  599. package/dist/sdk/query/list-filter-shared.js +1 -81
  600. package/dist/sdk/query/list.js +1 -1304
  601. package/dist/sdk/query/multi-value-filters.js +1 -78
  602. package/dist/sdk/query/next.js +1 -513
  603. package/dist/sdk/query/parsers.js +1 -44
  604. package/dist/sdk/query/projection-contracts.js +1 -184
  605. package/dist/sdk/query/search-contracts.js +1 -230
  606. package/dist/sdk/query/search-pagination.js +1 -35
  607. package/dist/sdk/query/search-rendering.js +1 -105
  608. package/dist/sdk/query/search.js +2 -1987
  609. package/dist/sdk/query.js +1 -35
  610. package/dist/sdk/read-output/continuation.js +1 -194
  611. package/dist/sdk/read-output-budget.js +1 -135
  612. package/dist/sdk/read-output-contracts.js +1 -1225
  613. package/dist/sdk/read-output-rows.js +1 -186
  614. package/dist/sdk/read-output-session.js +1 -208
  615. package/dist/sdk/relationship-analytics.js +1 -410
  616. package/dist/sdk/relationship-context.js +1 -284
  617. package/dist/sdk/relationship-history.js +4 -519
  618. package/dist/sdk/relationship-kinds/contract.js +1 -22
  619. package/dist/sdk/relationship-migration.js +1 -77
  620. package/dist/sdk/relationships.js +1 -579
  621. package/dist/sdk/reproducibility/process.js +1 -87
  622. package/dist/sdk/runtime-action-aliases.js +1 -59
  623. package/dist/sdk/runtime-extended-actions.js +1 -177
  624. package/dist/sdk/runtime-input.js +1 -614
  625. package/dist/sdk/runtime-primitives.js +1 -84
  626. package/dist/sdk/runtime-public-contracts.js +1 -4
  627. package/dist/sdk/runtime-stats-options.js +1 -38
  628. package/dist/sdk/runtime.js +1 -1928
  629. package/dist/sdk/scheduling-shortcuts.js +1 -63
  630. package/dist/sdk/schema-migration.js +3 -856
  631. package/dist/sdk/schema.js +1 -1376
  632. package/dist/sdk/search-refresh-worker.js +1 -18
  633. package/dist/sdk/similarity-scoring.js +1 -53
  634. package/dist/sdk/similarity.js +1 -326
  635. package/dist/sdk/start-task-status.js +1 -14
  636. package/dist/sdk/stats.js +1 -270
  637. package/dist/sdk/structured-mutations.js +1 -580
  638. package/dist/sdk/telemetry-flush.js +1 -13
  639. package/dist/sdk/telemetry.js +1 -405
  640. package/dist/sdk/templates.js +2 -292
  641. package/dist/sdk/test/batch.js +2 -509
  642. package/dist/sdk/test/entry.js +1 -70
  643. package/dist/sdk/test/execution.js +6 -2211
  644. package/dist/sdk/test/linked-command-detection.js +1 -546
  645. package/dist/sdk/test/measurements.js +1 -91
  646. package/dist/sdk/test/parsers.js +1 -545
  647. package/dist/sdk/test/runs.js +1 -193
  648. package/dist/sdk/test/trust.js +2 -206
  649. package/dist/sdk/testing.js +4 -1391
  650. package/dist/sdk/traceability/runtime-files-lookup.js +1 -32
  651. package/dist/sdk/traceability/source-traceability.js +1 -292
  652. package/dist/sdk/tracker-root-discovery.js +1 -9
  653. package/dist/sdk/workspace-contracts-cache.js +1 -28
  654. package/dist/sdk/workspace-contracts.js +1 -33
  655. package/dist/sdk/workspace-memory.js +2 -318
  656. package/dist/sdk/workspace-recipe.js +1 -71
  657. package/dist/sdk/workspace-snapshot.js +4 -613
  658. package/dist/sdk/workspace-transaction-gc.js +1 -149
  659. package/dist/sdk/workspace-transaction.js +2 -363
  660. package/dist/sdk/workspace.js +3 -127
  661. package/dist/types/index.js +1 -9
  662. package/dist/types.js +1 -245
  663. package/docs/AGENT_GUIDE.md +1 -1
  664. package/docs/CONTEXT_ALGORITHM_PORTFOLIO.md +167 -0
  665. package/docs/DIAGNOSTIC_OUTPUT_CONTRACTS.md +9 -3
  666. package/docs/EXTENSIONS.md +1 -0
  667. package/docs/HISTORY_MAINTENANCE.md +125 -0
  668. package/docs/MCP_2026_07_28_CONFORMANCE.md +20 -10
  669. package/docs/PACKAGE_EVIDENCE.md +92 -0
  670. package/docs/PLANNING_MEASUREMENTS.md +183 -0
  671. package/docs/README.md +3 -0
  672. package/docs/SCRIPTING.md +21 -0
  673. package/docs/TESTING.md +23 -0
  674. package/docs/generated/FLAG_LEXICON_BUDGETS.md +5 -5
  675. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +2 -2
  676. package/marketplace.json +2 -2
  677. package/package.json +1 -1
  678. package/packages/pm-beads/package.json +1 -1
  679. package/packages/pm-calendar/package.json +1 -1
  680. package/packages/pm-command-kit/package.json +1 -1
  681. package/packages/pm-digital-twin/package.json +1 -1
  682. package/packages/pm-governance-audit/package.json +1 -1
  683. package/packages/pm-guide-shell/package.json +1 -1
  684. package/packages/pm-kanban/package.json +1 -1
  685. package/packages/pm-lifecycle-hooks/package.json +1 -1
  686. package/packages/pm-linked-test-adapters/package.json +1 -1
  687. package/packages/pm-search-advanced/package.json +1 -1
  688. package/packages/pm-templates/package.json +1 -1
  689. package/packages/pm-todos/package.json +1 -1
  690. package/packages/pm-vcs/package.json +1 -1
  691. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  692. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  693. package/scripts/finalize-build.mjs +45 -3
  694. package/dist/cli-bundle/chunks/chunk-AZDFJGH6.js +0 -9
  695. package/dist/cli-bundle/chunks/chunk-BAX2BYUW.js +0 -2111
  696. package/dist/cli-bundle/chunks/chunk-CKOL5U7J.js +0 -77
  697. package/dist/cli-bundle/chunks/chunk-OF76PSDQ.js +0 -5
  698. package/dist/cli-bundle/chunks/chunk-QUWFABDM.js +0 -232
  699. package/dist/cli-bundle/chunks/chunk-QWRRFYK3.js +0 -2
  700. package/dist/cli-bundle/chunks/chunk-RWWBOWJ5.js +0 -2
  701. package/dist/cli-bundle/chunks/chunk-WGAOYSYH.js +0 -40
  702. package/dist/cli-bundle/chunks/chunk-WI2AYPA7.js +0 -2
  703. package/dist/cli-bundle/chunks/register-list-query-5JL52D33.js +0 -11
  704. package/dist/cli-bundle/chunks/register-mutation-ZPG7KMVP.js +0 -20
  705. package/dist/cli-bundle/chunks/register-setup-H4SVAVX7.js +0 -2
  706. package/dist/cli-bundle/focused-chunks/chunk-AL5ON6K6.js +0 -2
  707. package/dist/cli-bundle/focused-chunks/chunk-CHC2IDXA.js +0 -6
  708. package/dist/cli-bundle/focused-chunks/chunk-CK6QFAPZ.js +0 -20
  709. package/dist/cli-bundle/focused-chunks/chunk-EZR3GHFE.js +0 -2
  710. package/dist/cli-bundle/focused-chunks/chunk-H2WJWK7L.js +0 -56
  711. package/dist/cli-bundle/focused-chunks/chunk-NTPY5GSO.js +0 -3
  712. package/dist/cli-bundle/focused-chunks/chunk-P5O7MP5Y.js +0 -2
  713. package/dist/cli-bundle/focused-chunks/chunk-PDMW2E36.js +0 -177
  714. package/dist/cli-bundle/focused-chunks/chunk-QTVCLMSZ.js +0 -6
  715. package/dist/cli-bundle/focused-chunks/chunk-QTZRBUYA.js +0 -8
  716. package/dist/cli-bundle/focused-chunks/chunk-SGQST3PQ.js +0 -12
  717. package/dist/cli-bundle/focused-chunks/chunk-UKHASMMP.js +0 -10
  718. package/dist/cli-bundle/focused-chunks/chunk-ZPEKQHOC.js +0 -2
@@ -0,0 +1,177 @@
1
+ import{b as Zt,f as wt,h as Et,i as kt,k as Ii,l as Si,m as nn,n as Ti,o as Ci,p as Oi}from"./chunk-3WRPWLA7.js";import{A as wr,D as It,E as Ni,F as Li,G as be,H as me,I as Pi,J as qe,K as _e,N as ji,O as Mi,P as Y,g as Di,i as gr,u as ue,v as vr,w as on,x as fe,y as br,z as ve}from"./chunk-RXT4P5QH.js";import{$ as w,$a as de,A as ui,Aa as en,Bc as rn,Ca as gi,F as Jt,Fa as tn,G as Qt,Ga as vi,H as _r,J as fi,Ja as vt,Ka as hr,Kc as Ai,La as yr,Lc as xi,Ma as bt,Oa as bi,Ob as ki,P as he,Pc as Ri,Ua as wi,V as xe,W as mi,Z as k,_ as Ve,aa as E,eb as Ei,i as qt,ia as _i,ja as Re,ka as pr,la as ye,ma as ge,na as q,oa as pi,oc as le,pb as L,pc as oe,q as Xt,qb as Ke,r as ai,rb as ee,s as ci,sb as T,t as di,ta as hi,u as li,ua as yi,y as Gt,z as Yt}from"./chunk-QHNETP77.js";import{AsyncLocalStorage as Nc}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]="27a9b88e-ee47-55c8-b511-07ce9754346c")}catch{}})();var Er=new Nc,Fi=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function sn(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function De(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=sn(n.id,128),o=sn(n.parent_id,128);if(r===void 0||!Fi.test(r)||o!==void 0&&!Fi.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=sn(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Xe(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=sn(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Lc(e,t,n){let r=Er.getStore(),o=Xe({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=De(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={...Xe(r?.provenance),...o,...Xe(e?.provenance)},a=De(e?.episode,!1)??De(n,!1)??i??De(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 kr(e,t){return Lc(e.session_context,t,e.client_info?.episode)??{}}function jp(e,t){let n=Er.getStore(),r=De(e.episode,!0),o=De(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Xe(n?.provenance),...Xe(e.provenance)};return Er.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Mp(e){let t=Xe(e.provenance),n=De(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 jr}from"node:async_hooks";import{createHash as $c}from"node:crypto";import V from"node:fs";import Ki from"node:os";import Pe from"node:path";import{createHash as $i}from"node:crypto";import{existsSync as Ir,promises as zi,readFileSync as Pc}from"node:fs";import ie 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]="9cefffc1-c3d6-5c4a-980f-d9d3eaef0f58")}catch{}})();var jc="session.json";function Sr(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Hi(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=Sr(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=>Sr(c,128)),a=t.focused_item_id===void 0||Sr(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function Mc(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Hi(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Tr(e){return ie.join(bi(e),jc)}async function an(e){try{let t=await zi.readFile(Tr(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=Mc(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 Cr(e,t){let n=Tr(e);await zi.mkdir(ie.dirname(n),{recursive:!0}),await q(n,JSON.stringify(t))}function Or(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${$i("sha256").update(e).digest("hex").slice(0,24)}`}function Ar(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function xr(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)}+${$i("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function Rr(e,t,n){let r=await an(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 Cr(e,s)}async function Wp(e){let t=Or(e.principal);await Rr(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??xr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Ar([...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 Vp(e){let t=Or(e.principal);await Rr(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??xr(r),confidence:o?"high":"medium",evidence:Ar([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function Kp(e){let t=Or(e.principal);await Rr(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??xr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Ar([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Fc(e,t){let n=t.PM_PATH?.trim();if(n){let o=ie.resolve(e,n);if(Ir(ie.join(o,"settings.json")))return o;let i=ie.join(o,".agents","pm");if(Ir(ie.join(i,"settings.json")))return i}let r=ie.resolve(e);for(let o=0;o<32;o+=1){let i=ie.join(r,".agents","pm");if(Ir(ie.join(i,"settings.json")))return i;let s=ie.dirname(r);if(s===r)break;r=s}}function Ui(e){if(!e.key)return;let t=Fc(e.cwd,e.env);if(t)try{let n=JSON.parse(Pc(Tr(t),"utf8"));return Hi(n.semantic_attribution?.[e.key])}catch{return}}async function qp(e){return(await an(e)).focused_item}async function Xp(e,t){let n=await an(e);await Cr(e,{...n,focused_item:t})}async function Gp(e){let n={...await an(e)};delete n.focused_item,await Cr(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]="c39d3d14-b0b5-5309-b89a-9da08e1a939a")}catch{}})();var Mr=["model","effort","role","topic","version"],ln=new jr,qi=new jr,un=new jr,Fr=[{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:[]}],Xi=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),zc=Object.freeze({...Xi,max_bytes:4194304}),Dr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function Hc(e){let t=Ee(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"?zc:Xi,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 Gi=Object.freeze(Fr.filter(e=>e.harness!=="ci").map(Hc).sort((e,t)=>e.harness.localeCompare(t.harness))),Le=new Map,Ge=new Map;function P(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function we(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Ee(e){let t=e.harness.trim().toLowerCase();if(!Dr.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:we(e.environment_keys),model_environment_keys:we(e.model_environment_keys),session_environment_keys:we(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),we(r)]).filter(([n])=>Dr.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"&&Dr.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:we(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:we(e.argv_markers).map(n=>n.toLowerCase()),client_names:we(e.client_names).map(n=>n.toLowerCase())}}var Yi=Fr.map(Ee);function Uc(e,t){return JSON.stringify(e)===JSON.stringify(t)}function dn(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function $r(e=[]){let t=new Map(Fr.filter(o=>o.harness!=="ci").map(o=>[o.harness,Ee(o)]));for(let{adapter:o}of Le.values())t.set(o.harness,Ee(o.descriptor));let n=[...t.values(),...Yi.filter(o=>o.harness==="ci"),...[...Ge.values()].map(o=>o.descriptor),...un.getStore()?.descriptors??[],...e.map(Ee)],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 zr(e,t){for(let n of t??[]){let r=P(e[n]);if(r)return r.slice(0,256)}}function Bc(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 Ji(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 P(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return P(i.slice(s.length+1))?.slice(0,256)}}var Wc=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Ne(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return Wc.has(n)?n:void 0}function Nr(e,t){return P(e?.[t])?.slice(0,256)}var Vc=1048576,Pr=4194304,cn=new Map,Bi=Object.freeze({}),Lr=new Map,Wi=Object.freeze({});function Vi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function Kc(e){let t;try{t=JSON.parse(e)}catch{return Wi}let n=Vi(t);if(!n)return Wi;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=P(a.value.model)?.slice(0,256),s??=P(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 Qi(e){try{return V.lstatSync(e).isFile()?"available":"missing"}catch(t){return pr(t)?"missing":"failed"}}function qc(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=Pe.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:Qi(i)}})}catch(o){return{status:pr(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 Zi(e,t){let n=P(t.CLAUDE_CODE_SESSION_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return{status:"unavailable"};let o=Pe.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=Pe.join(e.home_dir??Ki.homedir(),".claude","projects"),s=Pe.join(i,o,`${n}.jsonl`),a=P(e.session_file),c=a&&Pe.basename(a)===`${n}.jsonl`?a:void 0;for(let d of[c,s]){if(!d)continue;let u=Qi(d);if(u==="available")return{status:u,path:d};if(u==="failed")return{status:u}}return qc(i,n)}function Xc(e,t,n){let r=Zi(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=Lr.get(s);if(a)return a[e];let c=Math.min(i.size,Vc),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 _=Buffer.alloc(u);u>0&&V.readSync(o,_,0,u,i.size-u);let p={},m=i.size<=c?Buffer.concat([f,_]).toString("utf8").split(`
2
+ `):[...f.toString("utf8").split(`
3
+ `).slice(0,4096),..._.toString("utf8").split(`
4
+ `).slice(-4096)];for(let g of m){if(g.length===0||g.length>262144)continue;let S=Kc(g);if(p.model??=S.model,p.version??=S.version,p.model&&p.version)break}let y=Object.freeze(p);return Lr.clear(),Lr.set(s,y),y[e]}finally{V.closeSync(o)}}catch{return}}function Gc(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=Pe.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<=Pr)return[{offset:0,length:e}];let t=Math.floor(Pr/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function Jc(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??=P(o?.model)?.slice(0,256),e.effort??=P(o?.effort)?.slice(0,256)}function Qc(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(Jc(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function Zc(e,t,n){let r=P(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=Pe.join(t.home_dir??Ki.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=cn.get(i);if(s)return s[e];let a=Gc(o,r);if(!a){cn.set(i,Bi);return}try{let c=V.openSync(a,"r");try{let d=V.fstatSync(c).size,u=Qc(c,d);return cn.set(i,u),u[e]}finally{V.closeSync(c)}}catch{cn.set(i,Bi);return}}function ed(e,t,n,r){let o=un.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(P(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return Xc(e,t,n);if(s==="codex_session_file")return Zc(e,t,n);if(s==="ai_agent_version"){let a=P(n.AI_AGENT);return!a||!r||!dn(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function td(e,t,n,r){if(e==="ai_agent_version"){let o=P(r.AI_AGENT);return o!==void 0&&dn(o,t.harness)?"available":"unavailable"}return e==="codex_session_file"?P(r.CODEX_THREAD_ID)!==void 0?"available":"unavailable":Zi(n,r).status}function Hr(e){return e||(qi.getStore()??{env:process.env,argv:process.argv})}function nd(e,t,n,r){let o=e.environment_keys.some(a=>P(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let d=c.replaceAll("\\","/");return dn(d.slice(d.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||dn(r,a));return o||i||s}function rd(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 od(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function id(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...Mr,...Object.keys(r?.provenance_environment_keys??{})]),c,d,u;a.has(e)&&(c=Ne(e,P(n[s])?.slice(0,256)),u=Ne(e,Ji(t.argv??[],e)),d=Ne(e,Bc(t.argv??[],e)));let f={...r?.provenance_environment_keys,model:r?.model_environment_keys},_={...t.client_info?.provenance,model:t.client_info?.model},p=Nr(o?.provenance,e),m=Ne(e,zr(n,f[e])),y=Ne(e,Nr(_,e)),g=Ne(e,Nr(t.provenance,e)),S=ed(e,t,n,r);return od([[c,"override"],[p,"session"],[u,"argv"],[m,"environment"],[y,"mcp_client"],[g,"host"],[S,"probe"]])??rd(e,i)??(d?{value:d,source:"argv"}:void 0)}function sd(e,t){if(!(!e||!t))return $c("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function ad(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...Mr,...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=id(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 ih(e){let t=e.map(Ee),n=new Map(Yi.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=Ge.get(i.harness);if(s&&!Uc(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=Ge.get(i.harness);Ge.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=Ge.get(i.harness);!s||s.registrations<=1?Ge.delete(i.harness):s.registrations-=1}}}}function cd(e){let t=Ee(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=P(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>Pr||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(we(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 sh(){let e=new Map(Gi.map(t=>[t.harness,t]));for(let{adapter:t}of Le.values())e.set(t.harness,t);return Object.freeze([...e.values()].sort((t,n)=>t.harness.localeCompare(n.harness)))}function ah(e){let t=e.map(cd),n=new Map(Gi.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=Le.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=Le.get(i.harness);Le.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=Le.get(i.harness);!s||s.registrations<=1?Le.delete(i.harness):s.registrations-=1}}}}function ch(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 dh(e,t){return qi.run(e,t)}function lh(e,t,n={}){let r=e.map(Ee);return $r(r),un.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function Ur(e){let t=Hr(e),n=t.env??{},r=$r(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(m=>m.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(m=>nd(m,n,o,i)),a=kr(t,n),c=[zr(n,s?.session_environment_keys),P(t.client_info?.session)?.slice(0,256)].find(m=>m!==void 0),d=sd(s?.harness,c),u=Ui({cwd:t.cwd??process.cwd(),env:n,key:d}),f=ad(t,n,s,a,u),_=f.model,p=[["harness",s?.harness],["model",_?.value],["model_source",_?.source],["session",c],["instance",d],["provenance",Object.keys(f).length>0?f:void 0],["episode",a.episode]];return Object.fromEntries(p.filter(m=>m[1]!==void 0))}function dd(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function ld(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=td(a,n,r,o);return{...dd(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 es(e){let t=Hr(e),n=Ur(t),r=$r(t.descriptors).find(d=>d.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&un.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(P(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=kr(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,zr(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,Ji(t.argv??[],"role")].some(d=>{let u=P(d)?.slice(0,256);return u!==void 0&&Ne("role",u)===void 0}),c=Object.fromEntries(Mr.map(d=>[d,ld(d,n,r,t,o,i,d==="role"&&a)]));return{...n,provenance_outcomes:c}}function uh(){return process.env.PM_AUTHOR}function fh(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function mh(e){return Ur(e).harness}function ud(e,t,n){let r=Hr(n),o=Ur(r);if(e!==void 0){let s=P(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=P(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=P(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function ts(e){let t=ln.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function ns(e){let t=ln.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 rs(e){let t=ln.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function os(e,t){let n=ud(e,t);return ln.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]="8ee74259-29b1-5795-9253-9fa0869e4585")}catch{}})();var Ye=1,is=1;function ph(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=Ye?t:Ye}function ss(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=Ye))return e}function fd(e,t=is){return e<t?"outdated":e>t?"ahead":"current"}function hh(e,t=is){let n=[],r=[];for(let o of e){let i=fd(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]="6bb283b8-5c81-562a-926e-e48b83e6ebc8")}catch{}})();var md={"in-progress":"in_progress",cancelled:"canceled"};function fn(e,t){if(t){let o=Ti(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=md[n]??n;if(Xt.includes(r))return r}function Je(e,t){return fn(e,t)??e}function pe(e,t){return t.terminal_statuses.has(Je(e,t))}import{encode as Sd}from"@toon-format/toon";import{isDeepStrictEqual as us}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]="42eb2987-269d-5b18-b0fe-5b4334fdb6a0")}catch{}})();var _d=16;function Br(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 pd(e){return[...new Set([Oi(e),Br(e.key),Br(e.cli_flag),...e.cli_aliases.map(t=>Br(t))])]}function ds(e,t){for(let n of pd(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function ls(e){return Array.isArray(e)?e.flatMap(t=>ls(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 as(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 E(`${t} must be one of true|false|1|0|yes|no`,w.USAGE)}function cs(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 E(`${t} must be a number`,w.USAGE);return r}function hd(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 E(`${t} must be valid JSON ${n}`,w.USAGE)}function yd(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 gd(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(!yd(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"&&!Pi(e))return`${n} must be an RFC 3339 date-time`}}function vd(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=mn(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function bd(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=mn(s,a,`${n}.${i}`,r+1);if(c)return c}}function mn(e,t,n,r=0){if(r>_d)return`${n} value schema exceeds maximum depth`;let o=gd(e,t,n);if(o)return o;let i=vd(e,t,n,r);if(i)return i;let s=bd(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(mn(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 je(e,t,n){if(!e.value_schema||t===void 0)return t;let r=mn(t,e.value_schema,n);if(r)throw new E(r,w.USAGE);return t}function St(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:je(e,hd(i,r,e.type),r)}if(e.repeatable||e.type==="string_array"){let i=ls(t);return e.type==="number"?je(e,i.map(s=>cs(s,r)),r):e.type==="boolean"?je(e,i.map(s=>as(s,r)),r):je(e,i,r)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?je(e,cs(o,r),r):e.type==="boolean"?je(e,as(o,r),r):je(e,typeof o=="string"?o:String(o),r)}function wd(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 Th(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=ds(e,i);if(s===void 0){wd(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=St(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function Ch(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=ds(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=St(s,a)))}return r}import{decode as Ed}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]="e48e0cc7-7577-5702-ac17-a4529697444e")}catch{}})();function Wr(e){return{value:Ed(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]="45fa31ba-dea9-56db-b971-84c11e8a1c88")}catch{}})();var kd=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function Id(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(kd);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function _n(e){return Id(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]="48df511d-df81-56f7-bb1d-f10230b43cfa")}catch{}})();var Xr=new Set(["schema","tracker","auto"]),_s=new Set(["source","isolated","snapshot"]),Td=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),Cd=new Set(["passed","failed","stopped","canceled"]),Od=new Set(fi);function et(e){return e.replaceAll("\\","/")}function ps(e){for(let t of e)if(t!==0)return t;return 0}function hn(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var hs=["id","title","description","created_at","updated_at"],Ad=new Set(he);function ys(e){if(e?.schema)return{statusRegistry:nn(e.schema),fieldRegistry:Ci(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function xd(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function ke(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new E(`Invalid item metadata: ${e}`,w.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 Ot(e,t){throw new E(t,w.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 gs(e){let t=new Set(Ad);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function I(e,t){e||ke(t)}function At(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&ke(t),e}function Vr(e,t){let n=e[t];I(typeof n=="string",`${t} must be a string`),I(me(n),`${t} must be a valid ISO timestamp`)}function fs(e,t,n){let r=e[t];r!==void 0&&I(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function Gr(e,t,n){let r=e[t];r!==void 0&&(I(typeof r=="string",`${n} must be a string`),I(me(r),`${n} must be a valid ISO timestamp`))}function Rd(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){I(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();I(Qt.includes(n),`event.recurrence.by_weekday entries must be one of: ${Qt.join(", ")}`)}}}function Dd(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)I(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function Nd(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)I(typeof t=="string","event.recurrence.exdates entries must be strings"),I(me(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function Ld(e){let t=At(e,"event.recurrence must be an object");I(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();I(Jt.includes(n),`event.recurrence.freq must be one of: ${Jt.join(", ")}`),fs(t,"interval","event.recurrence.interval"),fs(t,"count","event.recurrence.count"),Gr(t,"until","event.recurrence.until"),Rd(t.by_weekday),Dd(t.by_month_day),Nd(t.exdates)}function Pd(e){for(let r of hs)I(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;I(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&I(typeof n=="number"&&Number.isInteger(n)&&n>=Ye,`pm_format_version must be an integer >= ${Ye}`),t}function jd(e,t){let n=e.status;I(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=fn(n,r),i=r?r.definitions.map(s=>s.id):[...Xt];I(o!==void 0,`status must be one of: ${i.join(", ")}`)}function Md(e){let t=e.priority;I(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;I(Array.isArray(n),"tags must be an array");for(let r of n)I(typeof r=="string","tags entries must be strings")}function Fd(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){I(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"||Yt.includes(n);I(r,`confidence string value must be one of: ${[...Yt,"med"].join(", ")}`);return}I(!1,"confidence must be a number or string")}}function $d(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&ke("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||Gt.includes(n);I(r,`severity value must be one of: ${[...Gt,"med"].join(", ")}`)}function zd(e){e.regression!==void 0&&typeof e.regression!="boolean"&&ke("regression must be a boolean")}function Hd(e){let t=e.reminders;if(t!==void 0){I(Array.isArray(t),"reminders must be an array");for(let n of t){let r=At(n,"reminders entries must be objects");I(typeof r.at=="string","reminder.at must be a string"),I(me(r.at),"reminder.at must be a valid ISO timestamp"),I(typeof r.text=="string","reminder.text must be a string"),I(r.text.trim().length>0,"reminder.text must not be empty")}}}function Ud(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(I(typeof e[t]=="string",`event.${t} must be a string`),I(e[t].trim().length>0,`event.${t} must not be empty`))}function Bd(e){e.recurrence!==void 0&&(Ld(e.recurrence),e.recurrence.until!==void 0&&I(_e(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function Wd(e){let t=At(e,"events entries must be objects");I(typeof t.start_at=="string","event.start_at must be a string"),I(me(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(I(typeof t.end_at=="string","event.end_at must be a string"),I(me(t.end_at),"event.end_at must be a valid ISO timestamp"),I(_e(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),Ud(t),t.all_day!==void 0&&I(typeof t.all_day=="boolean","event.all_day must be a boolean"),Bd(t)}function Vd(e){let t=e.events;if(t!==void 0){I(Array.isArray(t),"events must be an array");for(let n of t)Wd(n)}}function Kd(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&I(typeof n=="string",`${t} must be a string`)}}function qd(e){let t=e.type_options;if(t===void 0)return;let n=At(t,"type_options must be an object");for(let[r,o]of Object.entries(n))I(r.trim().length>0,"type_options keys must be non-empty"),I(typeof o=="string","type_options values must be strings"),I(o.trim().length>0,"type_options values must be non-empty strings")}function Xd(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){xd(r,t)&&ke(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=St(r,o,`metadata field "${r.metadata_key}"`)}catch(i){ke(String(i?.message).replace(/^Invalid\s+/u,""))}}}function Gd(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=gs(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?ke(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function Yr(e,t){let n=At(e,"item metadata must be an object"),r=Pd(n);jd(n,t),Md(n),Fd(n),$d(n),zd(n),Vr(n,"created_at"),Vr(n,"updated_at"),n.deadline!==void 0&&Vr(n,"deadline"),Hd(n),Vd(n),Gr(n,"closed_at","closed_at"),Gr(n,"completed_at","completed_at"),Kd(n),qd(n),Xd(n,r,t),Gd(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=_e(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 Kr(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=_e(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 Jd(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=_e(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function Qd(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!Jt.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>Qt.includes(s)))).sort((s,a)=>_r(s)-_r(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=>me(s)))).sort((s,a)=>_e(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 Zd(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(el).sort(tl)}function el(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:Qd(e.recurrence)};return hn(t),t}function tl(e,t){return ps([_e(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 nl(e){if(!(!e||e.length===0))return e.map(t=>({path:et(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function rl(e){if(!e||e.length===0)return;let t=e.map(al).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)=>ps([_e(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 Qe(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function ol(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function qr(e){return typeof e=="string"?e:""}function il(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 pn(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function sl(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:pn(n.requested_pm_context_mode,Xr),pm_context_mode:pn(n.pm_context_mode,Xr),workspace_context_mode:pn(n.workspace_context_mode,_s),trust_reason:pn(n.trust_reason,Td)}));return t.length>0?t:void 0}function al(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Cd.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:qr(e.started_at),finished_at:qr(e.finished_at),recorded_at:qr(e.recorded_at),attempt:ol(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:Qe(e.passed)??0,failed:Qe(e.failed)??0,skipped:Qe(e.skipped)??0,items:Qe(e.items),linked_tests:Qe(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:il(e.measurements),executions:sl(e.executions)};return hn(o),o}function cl(e){if(!(!Array.isArray(e)||e.length===0))return e.map(ml)}function Tt(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 Qr(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Zr(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function ms(e){if(!Qr(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!Zr(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function dl(e){if(!Qr(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!Zr(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function ll(e){let t=e?.trim().toLowerCase();if(!(!t||!Xr.has(t)))return t}function ul(e){let t=e?.trim().toLowerCase();if(!(!t||!_s.has(t)))return t}function fl(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!Qr(e))return{provenance_invalid:!0};let n=b(e.author),r=b(e.created_at),o=e.source_kind;return!n||!r||!me(r)||o!=="local_mutation"&&o!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:n,created_at:r,source_kind:o,source_ref:b(e.source_ref)}}}function ml(e){let t={command:e.command?.trim()||void 0,path:e.path?et(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:ll(e.pm_context_mode),workspace_context_mode:ul(e.workspace_context_mode),...fl(e.provenance,e.provenance_invalid),env_set:ms(e.env_set),env_clear:Tt(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Tt(e.assert_stdout_contains),assert_stdout_regex:Tt(e.assert_stdout_regex),assert_stderr_contains:Tt(e.assert_stderr_contains),assert_stderr_regex:Tt(e.assert_stderr_regex),assert_stdout_min_lines:Qe(e.assert_stdout_min_lines),assert_json_field_equals:ms(e.assert_json_field_equals),assert_json_field_gte:dl(e.assert_json_field_gte),note:e.note?.trim()||void 0};return hn(t),t}function _l(e){if(!(!e||e.length===0))return[...e].map(t=>({path:et(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 b(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function pl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=b(r.id),i=b(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=b(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 hl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=b(r.path);if(!o)continue;let i={path:et(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=b(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function yl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=b(r.command),i=b(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=et(i));let a=b(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function gl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=b(r.path);if(!o)continue;let i={path:et(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=b(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function vl(e){if(e===null||typeof e!="object")return;let t=e,n=b(t.id),r=b(t.title),o=b(t.status),i=o&&Od.has(o)?o:void 0,s=wi(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 bl(d,t),d}function bl(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=b(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",pl],["files","files",hl],["tests","tests",yl],["docs","docs",gl]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function wl(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=vl(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function El(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=b(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=b(r.rationale);c&&(a.rationale=c);let d=b(r.evidence);d&&(a.evidence=d);let u=b(r.step_id);u&&(a.step_id=u),t.push(a)}return t.length>0?t:void 0}function kl(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=b(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=b(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function Il(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=b(r.text);if(!o)continue;let i={text:o},s=b(r.command);s&&(i.command=s);let a=b(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function Sl(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 Ze(e){let t=0;for(;t<e.length&&e[t]===`
6
+ `;)t+=1;return e.slice(t).trimEnd()}function Tl(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Yt.includes(t))return t}function Cl(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Gt.includes(t))return t}function Ct(e){return e||void 0}function Ol(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))Zr(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function Al(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]=St(r,o,`metadata field "${r.metadata_key}"`))}}function xl(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=gs(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&ke(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function yn(e,t={}){let n=ys(t),r=fn(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:ss(e.pm_format_version),source_type:b(e.source_type),type_options:Sl(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:Kr(e.comments),notes:Kr(e.notes),learnings:Kr(e.learnings),files:nl(e.files),tests:cl(e.tests),test_runs:rl(e.test_runs),docs:_l(e.docs),deadline:Ct(e.deadline),reminders:Jd(e.reminders),events:Zd(e.events),closed_at:Ct(e.closed_at),completed_at:Ct(e.completed_at),assignee:b(e.assignee),claim_principal:b(e.claim_principal),source_owner:b(e.source_owner),author:Ct(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:b(e.definition_of_ready),order:e.order,goal:b(e.goal),objective:b(e.objective),value:b(e.value),impact:b(e.impact),outcome:b(e.outcome),why_now:b(e.why_now),parent:b(e.parent),reviewer:b(e.reviewer),risk:e.risk??void 0,confidence:Tl(e.confidence),sprint:b(e.sprint),release:b(e.release),blocked_by:b(e.blocked_by),blocked_reason:b(e.blocked_reason),unblock_note:b(e.unblock_note),reporter:b(e.reporter),severity:Cl(e.severity),environment:b(e.environment),repro_steps:b(e.repro_steps),resolution:b(e.resolution),expected_result:b(e.expected_result),actual_result:b(e.actual_result),affected_version:b(e.affected_version),fixed_version:b(e.fixed_version),component:b(e.component),regression:e.regression,customer_impact:b(e.customer_impact),close_reason:Ct(e.close_reason),plan_mode:b(e.plan_mode),plan_scope:b(e.plan_scope),plan_harness:b(e.plan_harness),plan_resume_context:b(e.plan_resume_context),plan_steps:wl(e.plan_steps),plan_decisions:El(e.plan_decisions),plan_discoveries:kl(e.plan_discoveries),plan_validation:Il(e.plan_validation)};return Ol(i,e),Al(i,n),xl(i,n),hn(i),i}function vs(e){return T(e,he)}function Rl(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 Dl(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=Rl(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 Nl(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 Jr(e,t){return yn(e,{...t,onWarning:void 0})}function Ll(e,t,n={}){let r=Nl(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=Dl(r.content);o||(e.trimStart().startsWith("{")&&Ot("json_markdown","JSON front matter is not valid JSON"),Ot("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{Ot("json_markdown","JSON front matter is not valid JSON")}return Yr(s,t),{metadata:Jr(s,n),body:Ze(i)}}function Pl(e,t,n={}){let r;try{r=Wr(e).value}catch{Ot("toon","TOON item document is not valid TOON")}I(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!hs.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&Ot("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return Yr(o.front_matter,t),I(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:Jr(o.front_matter,n),body:Ze(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return I(i===void 0||typeof i=="string","TOON item document body must be a string"),Yr(s,t),{metadata:Jr(s,n),body:Ze(typeof i=="string"?i:"")}}function jl(e,t={}){let n=yn(e.metadata,t),r=vs(n),o=JSON.stringify(r,null,2),i=Ze(e.body??"");return i?`${o}
8
+
9
+ ${i}
10
+ `:`${o}
11
+ `}function Ml(e,t={}){let n=yn(e.metadata,t),r=vs(n),o=Ze(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=Sd(s),c;try{c=Wr(a).value}catch(d){throw new E("Refusing to persist a TOON item document that the configured decoder cannot read back.",w.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(!us(c,s)){let d=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},u=Object.keys(s).find(f=>!us(s[f],d[f]))??"document";throw new E(`Refusing to persist a lossy TOON item document; round-trip mismatch at field "${u}".`,w.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 gn(e,t={}){let n=_n(e);if(n)throw new E(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,w.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=ys(t);return r==="toon"?Pl(e,o,t):Ll(e,o,t)}function bs(e,t={}){return(t.format??"toon")==="toon"?Ml(e,t):jl(e,t)}function te(e,t={}){return{metadata:yn(e.metadata,t),body:Ze(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]="bfa74c9e-a366-5b09-a7bc-869226fb6140")}catch{}})();async function Fl(e,t){let n=await ge(e);if(n===null)return{raw:n,entries:[]};if(await ve({path:e,scope:"project"}),n.trim()==="")return{raw:n,entries:[]};let r=_n(n);if(r)throw new E(`History for ${t} contains merge conflict markers at line ${r.line} (${r.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,w.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 E(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,w.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{raw:n,entries:o}}async function tt(e,t){return(await Fl(e,t)).entries}import bo 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]="24b1fb96-5c1e-5669-be21-fdeef4d413a6")}catch{}})();function ws(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]="82c79093-2a40-5b4c-8d41-637b0ae03c4f")}catch{}})();import Gs from"fast-json-patch";import Vs from"node:fs/promises";import Du from"node:path";import F from"node:fs/promises";import H from"node:path";import{randomUUID as ks}from"node:crypto";import{createRequire as Vl}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]="9d5caf29-c1f2-5120-bc0b-c64a0bdd19ff")}catch{}})();var $l=["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"],zl=["append","cancel","claim","close","comment_add","create","learning_add","note_add","reopen"],Hl=new Set($l),Ul=new Set(zl),Bl=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 Wl(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 nt(e){return e.event_class==="substantive"||e.event_class==="maintenance"?e.event_class:Hl.has(e.op)?"maintenance":Ul.has(e.op)||e.op!=="update"?"substantive":Array.isArray(e.patch)&&e.patch.length>0&&e.patch.every(t=>{let n=Wl(t);return n!==void 0&&Bl.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]="542d77d0-7bb8-5ed0-a1da-09de33d3767f")}catch{}})();var Kl="history-event-index.sqlite",to="5",ql=8,Xl="history-event-index",no=300,Is=3e4,Gl="history-event-index-invalidation",Yl="history-event-index-invalidations",Jl=no*2*1e3,kn=Symbol("history-index-lock-contended"),Me=new Map;function Rt(e){return H.join(e,"runtime",Kl)}function Sn(e){return H.join(e,"runtime",Yl)}async function Ql(e){let t=await F.readdir(Sn(e)).catch(n=>{if(ye(n))return[];throw n});return{pending:t.filter(n=>n.endsWith(".pending")).sort(),committed:t.filter(n=>n.endsWith(".committed")).sort()}}async function eo(e){let t=await Ql(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])),Jl))return r}return await F.rm(H.join(Sn(e),r),{force:!0}),null}))).filter(r=>r!==null),committed:t.committed}}async function xt(e,t){let n=await Y(e,Gl,no,`history-event-index-invalidation:${process.pid}`,!1,!1,Is);try{return await t()}finally{await n()}}async function Zl(e){let t=Sn(e);await F.mkdir(t,{recursive:!0});let n=ks(),r=await ji(),o=H.join(t,`${r.pid}-${r.process_start_identity??"unknown"}-${Date.now()}-${n}.pending`);return await F.writeFile(o,`pending
13
+ `,{flag:"wx"}),{pendingPath:o,committedPath:H.join(t,`${n}.committed`)}}function eu(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}async function vn(e){try{await F.rm(Rt(e),{force:!0})}catch{}}async function Tn(e,t){let n=await Y(e,Xl,no,`history-event-index:${process.pid}`,!1,!1,Is);try{return await t()}finally{await n()}}async function Ss(e){let t=H.join(e,"history"),n=await F.readdir(t,{withFileTypes:!0}).catch(s=>{if(typeof s=="object"&&s!==null&&"code"in s&&s.code==="ENOENT")return[];throw s}),r=Me.get(e)??{streams:new Map,ordered_events:[]},o=new Set,i=!Me.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 F.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 Ts(c,a);r.streams.set(a,{signature:u,byte_size:Number(d.size),events:f.map((_,p)=>({stream_id:a,stream_offset:p,entry:_}))}),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(ro)),Me.delete(e),Me.set(e,r),Me.size>ql){let s=Me.keys().next().value;Me.delete(s)}return{events:r.ordered_events,stream_byte_sizes:new Map([...r.streams].map(([s,a])=>[s,a.byte_size]))}}async function Ts(e,t){let n=await tt(e,t);for(let[r,o]of n.entries())if(typeof o.ts!="string"||!qe(o.ts.trim()))throw new E(`History for ${t} contains an invalid or sub-millisecond timestamp at line ${r+1}. Repair or restore the history stream and retry.`,w.GENERIC_FAILURE,{code:"history_timestamp_invalid"});return n.map(r=>({...r,ts:new Date(r.ts.trim()).toISOString()}))}async function tu(e){return(await Ss(e)).events}function nu(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function ru(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?nu(t):null}var bn;function Cn(){return bn!==void 0||(bn=ru(process.versions.node,Vl(import.meta.url))),bn}function ou(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(to)}function Cs(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,nt(n),JSON.stringify(n))}function Os(e){let t=JSON.parse(String(e.entry_json));return typeof t.ts!="string"||!qe(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 As(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 iu(e){let t=Cn();return t?Tn(e,async()=>{let n;try{n=await xt(e,()=>eo(e))}catch(s){if(s instanceof E&&s.code==="lock_conflict")return!1;throw s}if(n.pending.length>0)return!1;let r=Rt(e);await F.mkdir(H.dirname(r),{recursive:!0});let o=`${r}.${ks()}.tmp`,i;try{i=new t(o),ou(i),i.exec("BEGIN IMMEDIATE");let s=await Ss(e);for(let c of s.events)Cs(i,c);for(let[c,d]of s.stream_byte_sizes)As(i,c,d);i.exec("COMMIT"),i.close(),i=void 0;let a=await xt(e,async()=>{let c=await eo(e);return c.pending.length>0||!eu(n.committed,c.committed)?!1:(await F.rm(r,{force:!0}),await F.rename(o,r),await Promise.all(n.committed.map(d=>F.rm(H.join(Sn(e),d),{force:!0}))),!0)});return a||await F.rm(o,{force:!0}),a}catch(s){throw i?.close(),await F.rm(o,{force:!0}),s}}):!1}function wn(e,t){return!t||t.length===0||t.includes(e)}function ro(e,t){return e.entry.ts.localeCompare(t.entry.ts)||e.stream_id.localeCompare(t.stream_id)||e.stream_offset-t.stream_offset}function In(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():e}function su(e,t){if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){if(ro(e,{stream_id:t.after_stream_id,stream_offset:t.after_stream_offset,entry:{...e.entry,ts:In(t.after_ts)}})<=0)return!1}else if(t.since_ts!==void 0&&e.entry.ts<In(t.since_ts))return!1;return!0}function au(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 cu(e,t){return!su(e,t)||!wn(e.entry.op,t.ops)||!wn(e.entry.author,t.authors)||!wn(e.entry.agent_instance??"",t.agent_instances)||!wn(e.stream_id,t.stream_ids)||!au(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 my(e,t){let n=Math.max(0,Math.floor(t.limit)),r=(await tu(e)).filter(o=>cu(o,t)).slice(0,n+1);return{events:r.slice(0,t.limit),has_more:r.length>t.limit}}async function xs(e,t,n){let r=H.dirname(H.dirname(e)),o=Cn();if(!o){await n();return}let i=!1;try{await Tn(r,async()=>{let s=Rt(r);try{await F.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!==to)throw new TypeError("Unsupported history event index version")}catch{a?.close(),await F.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);Cs(a,{stream_id:d,stream_offset:Number(u.value),entry:t}),As(a,d,(await F.stat(e)).size),a.exec("COMMIT"),a.close()}catch(d){if(a?.close(),!c)throw d;await vn(r)}})}catch(s){if(i){await vn(r);return}if(!(s instanceof E)||s.code!=="lock_conflict")throw s;let a;try{await xt(r,async()=>{let c=await Zl(r);a=c.pendingPath;try{await n(),i=!0}catch(d){throw await F.rm(c.pendingPath,{force:!0}),d}await F.rename(c.pendingPath,c.committedPath),await vn(r)})}catch(c){if(i){await vn(r);try{await F.rm(a,{force:!0})}catch{}return}throw c}}}async function oo(e){await F.rm(Rt(H.dirname(H.dirname(e))),{force:!0})}function En(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function du(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 Rs(e,t){let n=await eo(e);if(n.pending.length>0||n.committed.length>0)return;let r=new t(Rt(e),{readOnly:!0});try{if(r.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value===to)return r}catch(o){throw r.close(),o}r.close()}async function _y(e,t){let n=Cn();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=In(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(In(t.since_ts)));En(r,o,"op",t.ops),En(r,o,"author",t.authors),du(r,o,t.harnesses,t.harness_alias_authors),En(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);En(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{return await Tn(e,async()=>xt(e,async()=>{if(s=await Rs(e,n),!s)return null;let a=await uu(s,e,t.stream_ids);if(!await Ns(s,e,a))return s.close(),s=void 0,null;let c=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),d=c.slice(0,t.limit).map(Os);return s.close(),s=void 0,d.includes(null)?null:{events:d,has_more:c.length>t.limit}}))}catch{return s?.close(),null}}function Ds(e,t){let n=Object.create(null);for(let r of e){if(!t.has(r.stream_id)||nt(r.entry)!=="substantive")continue;let o=n[r.stream_id];(o===void 0||ro(o,r)<0)&&(n[r.stream_id]=r)}return n}async function lu(e,t){if(H.basename(t)!==t)return null;try{return(await F.stat(H.join(e,"history",`${t}.jsonl`))).size}catch(n){if(ye(n))return 0;throw n}}async function Ns(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=>lu(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 uu(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 F.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(ye(i))return[];throw i});return[...new Set([...r,...o])]}async function Es(e,t,n,r){if(!e)return null;let o;try{return await Tn(t,async()=>xt(t,async()=>{if(o=await Rs(t,e),!o)return null;if(!await Ns(o,t,n))return o.close(),o=void 0,null;let i=[];for(let s=0;s<n.length;s+=500){let a=n.slice(s,s+500),d=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 (${a.map(()=>"?").join(", ")})
66
+ )
67
+ WHERE recency_rank = 1`).all(...a).map(Os);if(d.includes(null))return o.close(),o=void 0,null;i.push(...d)}return o.close(),o=void 0,Ds(i,r)}))}catch(i){return o?.close(),i instanceof E&&i.code==="lock_conflict"?kn:null}}async function py(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=Cn(),i=await Es(o,e,n,r);if(i!==null&&i!==kn)return i;if(o&&i!==kn)try{if(await iu(e)){let a=await Es(o,e,n,r);if(a!==null&&a!==kn)return a}}catch{}let s=[];return await Promise.all(n.map(async a=>{let c=H.join(e,"history",`${a}.jsonl`);(await Ts(c,a).catch(u=>{if(u instanceof E&&u.code==="history_timestamp_invalid")return[];throw u})).forEach((u,f)=>{s.push({stream_id:a,stream_offset:f,entry:u})})})),Ds(s,r)}import mo from"node:fs/promises";import ot 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]="3d2360c6-41c1-5527-a53c-38d0590e3f04")}catch{}})();var On="changed_fields",fu="changed_field_count",io="rows",mu=new Set(["apply","rollback"]),js=new Set(["deleted","would_delete"]),Ls=256;function Ps(e){return typeof e!="string"||e.length<=Ls?e:`${e.slice(0,Ls-1)}\u2026`}function _u(e){if(!se(e))return null;let t={...e};return t.reason=Ps(t.reason),se(t.previous_terminal)&&(t.previous_terminal=Object.fromEntries(Object.entries(t.previous_terminal).map(([n,r])=>[n,Ps(r)]))),t}function se(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Ms(e){let t=e[On];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==On&&(n[r]=o);return n[fu]=t.length,n}function pu(e){return"item"in e&&Array.isArray(e[On])}function hu(e){return typeof e.mode=="string"&&mu.has(e.mode)&&Array.isArray(e[io])}function yu(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[io]=t,n}function gu(e){if(!se(e))return null;let t=se(e.item)?e.item:se(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"&&js.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 vu(e){if(!se(e)||!se(e.item)||typeof e.item.id!="string")return null;let t=e[On];if(!Array.isArray(t))return null;let n={id:e.item.id,...typeof e.outcome=="string"&&js.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 bu(e,e.item,n),n}function bu(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=_u(e.recurrence);if(o!==null&&(n.recurrence=o),Array.isArray(e.warnings)&&e.warnings.length>0&&(n.warnings=e.warnings),se(e.recovery)&&(n.recovery=e.recovery),typeof e.claimed_by=="string")for(let i of["claimed_by","previous_assignee","forced","skipped","available","attempts"])Object.hasOwn(e,i)&&(n[i]=e[i])}function wu(e){let t=hu(e)?e[io]:void 0;if(!Array.isArray(t))return{projected:e,changed:!1};let n=!1,r=t.map(o=>{if(!se(o))return o;let i=Ms(o);return i?(n=!0,i):o});return n?{projected:yu(e,r),changed:!0}:{projected:e,changed:!1}}function Eu(e,t={}){if(t.idOnly===!0){let a=gu(e);if(a!==null)return a}if(t.compactEnvelope===!0){let a=vu(e);if(a!==null)return a}if((t.changedFields??"full")==="full"||!se(e))return e;let r=!1,o=e,i=pu(e)?Ms(e):null;i!==null&&(o=i,r=!0);let s=wu(o);return s.changed&&(o=s.projected,r=!0),r?o:e}import{encode as zs}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]="1a9ff3c9-9c7e-50ec-bb12-8a7f91de757f")}catch{}})();var My=new Set(Object.values(w));var Fs=!1;function rt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function so(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function ku(){(process.exitCode===void 0||process.exitCode===w.SUCCESS)&&(process.exitCode=w.SUCCESS)}function Iu(){(process.exitCode===void 0||process.exitCode===w.SUCCESS)&&(process.exitCode=w.GENERIC_FAILURE)}function ao(e){if(e==="stdout"){ku();return}Iu()}function $s(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function Su(){Fs||(Fs=!0,process.stdout.on("error",e=>{if(so(e)){ao("stdout");return}$s(e)}),process.stderr.on("error",e=>{if(so(e)){ao("stderr");return}$s(e)}))}function Tu(e,t){Su();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(so(n))return ao(e),!1;throw n}}function An(e){return Tu("stderr",e)}function co(e){return typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):e===null?"null":JSON.stringify(e)}function Cu(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function Hs(e){if(e.length===0||!e.every(rt))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)&&Cu(n[r])))}function Us(e,t){let n=" ".repeat(t);return e.split(`
68
+ `).map(r=>`${n}${r}`).join(`
69
+ `)}function Ou(e,t,n){let r=" ".repeat(n);return!rt(t)&&!Array.isArray(t)?`${r}${e}: ${co(t)}`:Array.isArray(t)&&t.length===0?`${r}${e}: []`:Array.isArray(t)&&Hs(t)?Us(zs({[e]:t}),n):rt(t)&&Object.keys(t).length===0?`${r}${e}: {}`:`${r}${e}:
70
+ ${uo(t,n+1)}`}function lo(e){if(e!=null){if(Array.isArray(e)){let t=e.map(n=>lo(n)).filter(n=>n!==void 0);return t.length>0?t:void 0}if(rt(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=lo(r);o!==void 0&&(t[n]=o)}return Object.keys(t).length>0?t:void 0}return e}}function uo(e,t){let n=" ".repeat(t);if(Array.isArray(e))return e.length===0?"[]":Hs(e)?Us(zs(e),t):e.map(r=>{if(!rt(r)&&!Array.isArray(r))return`${n}- ${co(r)}`;let i=uo(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(rt(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>Ou(o,i,t)).join(`
75
+ `)}return`${n}${co(e)}`}function fo(e,t){if(t==="json")return`${JSON.stringify(e,null,2)}
76
+ `;let n=lo(e);return n===void 0?`{}
77
+ `:`${uo(n,0)}
78
+ `}function Fy(e){let t=Ni("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;An(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]="979782f5-f4ee-5df5-a68a-0c51ab0548ae")}catch{}})();var Au=ot.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 xu(e){let t=ot.join(e,Au),n=!1,r="invalid_cache_path";try{n=(await mo.stat(await mo.realpath(e))).isDirectory()}catch(o){let i=Ws(o);r=i===void 0?"unknown":Bs[i]??"filesystem_error"}if(!n){An(`[pm] warning: history_drift_cache_invalidation_failed:${r}
81
+ `);return}try{await mo.rm(t,{force:!0})}catch(o){let i=Ws(o);if(ye(o))return;let s=i===void 0?"unknown":Bs[i]??"filesystem_error";An(`[pm] warning: history_drift_cache_invalidation_failed:${s}
82
+ `)}}async function xn(e){let t=ot.dirname(ot.resolve(e));ot.basename(t)==="history"&&await xu(ot.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]="70eda133-68fd-5dd6-afe9-c892f23e50a5")}catch{}})();var Nu={front_matter:{},body:""},Fe=3,Dt=[1,2,3],Lu=1,Pu=[1];function Ys(e){return ee(L(e))}function it(e){return ee(L(e))}function sg(e){return ee(L(e))}function yo(e){let t={...e,record_hash_version:Lu},{record_hash:n,...r}=t;return{...t,record_hash:Ys(r)}}function Nn(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(!Pu.includes(e.record_hash_version))return{ok:!1,error:"unsupported_record_hash_version"};let{record_hash:t,...n}=e;return Ys(n)===e.record_hash?{ok:!0,coverage:"record_and_item_state"}:{ok:!1,error:"record_hash_mismatch"}}function ju(e,t){let n={before_hash:e.before_hash,after_hash:e.after_hash,patch_hash:it(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 Js(e,t,n={}){let r=Nn(e);if(!r.ok)throw new TypeError(r.error);let o=it(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!==it(t.patch),s=yo({...t,...i?{reanchor_evidence:[...t.reanchor_evidence??[],ju(e,n)]}:{}}),a=go(s);if(!a.ok)throw new TypeError(a.error);return s}function Qs(e){return!Array.isArray(e)||Object.keys(e).length!==e.length?!1:e.every(t=>!$e(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 Mu(e){return $e(e)&&typeof e.ts=="string"&&typeof e.author=="string"&&typeof e.op=="string"&&typeof e.before_hash=="string"&&typeof e.after_hash=="string"&&Qs(e.patch)}function Fu(e){let t=e.record_hash_version!==void 0,n=e.record_hash!==void 0;return t===n}function $u(e){return!$e(e)||!Fu(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&&!Qs(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||Mu(e.record)}function zu(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&&it(t.patch)===e.patch_hash}function Hu(e,t,n){if(t.patch&&it(t.patch)!==t.patch_hash)return{kind:"patch_hash_mismatch"};if(t.record)return zu(t)?{kind:"record",entry:t.record}:{kind:"record_hash_mismatch"};let r=t.patch??e.patch;if(it(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 go(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)||!$u(o))return{ok:!1,error:"rewrite_evidence_invalid"};let i=Hu(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(!Nn(i.entry).ok)return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};n=i.entry}return{ok:!0,coverage:"complete"}}function Rn(e,t){return(e??"").localeCompare(t??"")}function Ks(e,t){return(e??0)-(t??0)}function Ie(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function Uu(e,t){return[e.scope.localeCompare(t.scope),Rn(e.path,t.path),Rn(e.command,t.command),Ks(e.timeout_seconds,t.timeout_seconds),Rn(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,Ie(e.env_clear,t.env_clear,[]),Ie(e.env_set,t.env_set,{}),Ie(e.assert_stdout_contains,t.assert_stdout_contains,[]),Ie(e.assert_stdout_regex,t.assert_stdout_regex,[]),Ie(e.assert_stderr_contains,t.assert_stderr_contains,[]),Ie(e.assert_stderr_regex,t.assert_stderr_regex,[]),Ks(e.assert_stdout_min_lines,t.assert_stdout_min_lines),Ie(e.assert_json_field_equals,t.assert_json_field_equals,{}),Ie(e.assert_json_field_gte,t.assert_json_field_gte,{}),Rn(e.note,t.note)].find(r=>r!==0)??0}function Bu(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function Wu(e,t){let n=Bu(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:$e(r)&&Object.prototype.hasOwnProperty.call(r,o)?r[o]:void 0;if(s===void 0)return!1;r=s}return!0}function Vu(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!Wu(r,o.path)?{...o,op:"add"}:o;n.push(i),r=Gs.applyPatch(r,[i],!0,!0).newDocument}return n}function Dn(e,t,n=!1){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let o=te(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,..._})=>_)},...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(Uu)}:s;return{front_matter:T(a,he),body:o.body}}function qs(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let n=te(e);return{metadata:T(n.metadata,he),body:n.body}}function ag(e){return Zs(e,Fe)}function Zs(e,t){if(!Dt.some(n=>n===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return ee(L(Dn(e,t)))}function ea(e,t){let n=Zs(e,t);return t===2?[n,ee(L(Dn(e,t,!0)))]:[n]}function cg(){return ee(L(Nu))}function st(e){let t=Dn(e.before,Fe),n=Dn(e.after,Fe),r=qs(e.before),o=qs(e.after),i=Gs.compare(r,o),s=Vu(r,i),a=ns(e.author),c=a.harness?Object.fromEntries(Object.entries(es().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??ts(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:ee(L(t)),after_hash:ee(L(n)),item_hash_version:Fe,message:e.message===void 0?void 0:e.message,...d===void 0?{}:{context:d}};return yo({...u,event_class:nt(u)})}function $e(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function _o(e){return new E(e,w.GENERIC_FAILURE,{code:"history_timestamp_invalid"})}function ta(e){let t=e.ts.trim();if(t.length===0)return be();if(!qe(t))throw _o("History timestamp must be a valid RFC 3339 date-time with millisecond precision");if(t!==e.ts)throw _o("History timestamp must not contain surrounding whitespace");return e.ts}function Xs(e,t){let n=e.ts;if(typeof n=="string"&&n.trim().length>0){if(!qe(n))throw _o("History timestamp must be a valid RFC 3339 date-time with millisecond precision");return e}return{...e,ts:t}}function po(e,t){let n=ta(t);if(typeof e=="string"){let r;try{r=JSON.parse(e)}catch{return e}return $e(r)?JSON.stringify(Xs(r,n)):e}return $e(e)?JSON.stringify(Xs(e,n)):JSON.stringify(e)}async function Ku(e,t,n){if(n===!1)return!0;if(typeof n=="string"){let s=po(n,t);return await ho(e,s),await xn(e),await oo(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=po(typeof r.line=="string"?r.line:r.entry??t,t);return await ho(o,i),await xn(o),await oo(o),!0}async function ho(e,t){let n;try{n=JSON.parse(t)}catch{n=null}if(!$e(n)||n.op!=="create"){await pi(e,t);return}await Vs.mkdir(Du.dirname(e),{recursive:!0});try{await Vs.writeFile(e,`${t}
83
+ `,{encoding:"utf8",flag:"wx"})}catch(r){throw r.code!=="EEXIST"?r:new E("This item identity is reserved by an existing history stream.",w.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 at(e,t){let n=await It("history_append",{history_path:e,entry:t});if(n.handled&&await Ku(e,t,n.result))return;let r=t.ts.trim().length>0?t:{...t,ts:ta(t)},o=yo({...r,event_class:nt(r)});await xs(e,o,async()=>{await ho(e,po(o,o))}),await xn(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]="19838bc7-d35d-5fae-a023-2e39697ffec9")}catch{}})();var qu={metadata:{},body:""};function Ln(){return structuredClone(qu)}function yg(e,t=Fe){return vo(e,t)[0]}function vo(e,t){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return ea(Pn(e),t)}catch{}let n=ee(L({replay_fallback:!0,metadata:e.metadata,body:e.body}));return t===2?[n,n]:[n]}function oa(e,t,n,r){let o=vo(e,n),i=vo(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 Pn(e){return{metadata:e.metadata,body:e.body}}function gg(e,t={}){return te(Pn(e),t)}function vg(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=te(e);return{metadata:T(t.metadata,he),body:t.body}}function na(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function Xu(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function ia(e){return Array.isArray(e)?e.filter(Xu).map(t=>({...t,path:na(t.path),from:typeof t.from=="string"?na(t.from):void 0})):[]}function Gu(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 jn(e,t){try{let n=ia(t),r=bo.applyPatch(structuredClone(e),n,!0,!1).newDocument;return Gu(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 Yu(e){return[...new Set(e.map(t=>t.item_hash_version).filter(t=>t!==void 0&&Dt.includes(t)))]}function sa(e){return e!==void 0&&!Dt.includes(e)}function Ju(e,t){return e!==void 0?[e]:t===void 0?[...Dt]:[t]}function aa(e){let t=Nn(e);if(!t.ok)return t.error;let n=go(e);return n.ok?void 0:n.error}function Qu(e,t){let n=aa(e);if(n)return{ok:!1,error:n};let r=jn(t,e.patch);return r.ok?{ok:!0,document:r.document}:{ok:!1,error:"patch_apply_failed"}}function Zu(e,t){let n=aa(e);if(n)throw new TypeError(`${n}:entry_${t+1}`)}function ca(e){let t=Ln(),n,r,o=ws(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=sa(a);c&&o.push(`verify_failed:unsupported_item_hash_version:${String(a)}:entry_${i+1}`);let d=Qu(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=Ju(a,r).map(m=>({version:m,match:oa(t,d.document,m,s)})),_=f.find(({match:m})=>m.pairIndex>=0);if(_===void 0){let m=f.some(({match:y})=>y.beforeIndex>=0);return{ok:!1,errors:[...o,`verify_failed:${m?"after":"before"}_hash_mismatch:entry_${i+1}`]}}let p=_.version;t=d.document,n=p,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 Mn(e){let t=ca(e);return{ok:t.ok,errors:t.errors}}function ra(e,t){try{return{ok:!0,document:bo.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function ef(e,t){let n=structuredClone(e),r=0,o=0;for(let a of ia(t)){let c=ra(n,a);if(c.ok){n=c.document;continue}if(a.op==="replace"){let d=ra(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 tf(e){let t=Yu(e);if(t.length===1)return t[0];let n=ca(e);return n.ok&&n.item_hash_version!==void 0?n.item_hash_version:t.length===0?1:Fe}function nf(e,t){let n=jn(e,t.patch);if(n.ok)return{next:n.document,patch:t.patch,repaired:!1,converted:0,skipped:0};let r=ef(e,t.patch);return{next:r.document,patch:bo.compare(e,r.document),repaired:!0,converted:r.convertedReplaceToAdd,skipped:r.skippedOps}}function bg(e,t=tf(e),n={}){let r=e.findIndex(p=>sa(p.item_hash_version));if(r>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[r]?.item_hash_version)}:entry_${r+1}`);let o=Ln(),i=[],s=[],a=0,c=0,d=0,u=0,f,_=t!==1||e.some(p=>p.item_hash_version!==void 0);for(let p=0;p<e.length;p+=1){let m=e[p];Zu(m,p);let y=nf(o,m),{next:g,patch:S,repaired:A,converted:x,skipped:M}=y;d+=x,u+=M,c+=Number(A);let D=oa(o,g,t,m);f===void 0||n.continuousHashSurface!==!0?f=[D.pairIndex,D.beforeIndex,D.afterIndex,Math.min(f??0,D.beforeHashes.length-1)].find(Ue=>Ue>=0):f=Math.min(f,D.beforeHashes.length-1);let re=D.beforeHashes[f],B=D.afterHashes[f],Q=re!==m.before_hash||B!==m.after_hash;Q&&(a+=1);let K={...m,patch:S,before_hash:re,after_hash:B};_?K.item_hash_version=t:delete K.item_hash_version;let Z=K.item_hash_version!==m.item_hash_version;(Q||A||Z)&&(K=Js(m,K,{retainOriginalPatch:A})),i.push(K),s.push({index:p+1,rehashed:Q,patch_repaired:A,converted_replace_to_add:x,skipped_ops:M}),o=g}return{entries:i,finalDocument:o,entriesRehashed:a,entriesPatchRepaired:c,convertedReplaceToAdd:d,skippedOps:u,details:s,itemHashVersion:t,explicitItemHashVersion:_}}function wg(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
84
+ `)}
85
+ `}import{AsyncLocalStorage as rf}from"node:async_hooks";import{channel as of}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]="118ec110-fa84-550b-a0a8-4def314270b6")}catch{}})();var wo=new rf,Eo=of("@unbrained/pm-cli/item-metadata-enumeration/v1");function Fn(e){Eo.publish(e)}async function Sg(e){let t={enumeration_calls:0,metadata_rows:0},n=r=>{wo.getStore()?.includes(t)&&(t.enumeration_calls+=1,t.metadata_rows+=r)};Eo.subscribe(n);try{return{result:await wo.run([...wo.getStore()??[],t],e),work:{...t}}}finally{Eo.unsubscribe(n)}}import sf from"node:crypto";import $n 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]="72c5a2e2-4e90-587d-a461-946b4836e447")}catch{}})();function la(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 ko(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function Nt(e,t){let n=la(t),r=ko(e);return r.startsWith(n)?r:`${n}${r}`}function af(e){let t=Li(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=sf.randomInt(0,36).toString(36);return n}async function cf(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[$n.join(e,o,`${t}.md`),$n.join(e,o,`${t}.toon`)]);return r.push($n.join(e,"history",`${t}.jsonl`)),(await Promise.all(r.map(o=>Re(o)))).some(Boolean)}var da=4,ua=12;function df(e){return typeof e!="number"||!Number.isFinite(e)?da:Math.min(ua,Math.max(da,Math.trunc(e)))}async function Dg(e,t,n={}){let r=df(n.tokenLength),o=Math.min(r+6,ua),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${la(t)}${af(r)}`;if(!await(n.probeExisting===!1?Re($n.join(e,"history",`${a}.jsonl`)):cf(e,a,n.typeToFolder??xe)))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import ze from"node:fs/promises";import ma from"node:path";import{randomUUID as lf}from"node:crypto";import{createRequire as uf}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]="e9e67ec7-10cb-57b0-a094-ae52b01a0f8a")}catch{}})();var ff="metadata-query-index.sqlite",Lt="5";function mf(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var zn;function _f(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?mf(t):null}function Pt(){return zn!==void 0||(zn=_f(process.versions.node,uf(import.meta.url))),zn}function fa(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function ct(e){return ma.join(e,"runtime",ff)}function pf(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 Un(e,t,n){e.prepare("INSERT INTO metadata(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function _a(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 pa(e){let t=ct(e.pmRoot),n=Pt();if(!n){await ze.rm(t,{force:!0});return}await ze.mkdir(ma.dirname(t),{recursive:!0});let r=`${t}.${lf()}.tmp`,o;try{o=new n(r),pf(o),o.exec("BEGIN IMMEDIATE"),Un(o,"version",Lt),Un(o,"context_fingerprint",e.contextFingerprint),Un(o,"source_cursor",e.sourceCursor);for(let i of e.rows)_a(o,i);o.exec("COMMIT"),o.close(),o=void 0,await ze.rm(t,{force:!0}),await ze.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([ze.rm(r,{force:!0})]),i}}function Bn(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function ha(e){let t=Pt();if(!t)return!1;let n=ct(e.pmRoot),r;try{await ze.access(n),r=new t(n),r.exec("PRAGMA foreign_keys = ON");let o=Bn(r);if(o.version!==Lt||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&&_a(r,e.row),Un(r,"source_cursor",e.sourceCursor),r.exec("COMMIT"),r.close(),!0}catch{try{r?.exec("ROLLBACK")}catch{}return r?.close(),!1}}function Hn(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function hf(e){let t=[],n=[];Hn(t,n,"status",e.statuses,"IN"),Hn(t,n,"status",e.excludeStatuses,"NOT IN"),Hn(t,n,"type",e.types,"IN"),Hn(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 Fg(e){let t=Pt();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=hf(n),i;try{i=new t(ct(e.pmRoot),{readOnly:!0});let s=Bn(i);if(s.version!==Lt||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(_=>{let p=JSON.parse(String(_.metadata_json));if(!p.id)throw new TypeError("Indexed metadata row has no id");return p});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:f}}catch{return i?.close(),null}}async function $g(e){let t=Pt();if(!t||e.paths.length===0)return null;let n;try{n=new t(ct(e.pmRoot),{readOnly:!0});let r=Bn(n);if(r.version!==Lt||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=fa(e.limit,50),u=fa(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),_=[];if(f.length>0){let p=f.map(g=>String(g.id)),m=n.prepare(`SELECT item_id, path, scope, note
166
+ FROM item_linked_files
167
+ WHERE item_id IN (${p.map(()=>"?").join(", ")})
168
+ AND ${a}
169
+ ORDER BY path ASC, scope ASC`).all(...p,...s),y=new Map(p.map(g=>[g,[]]));for(let g of m){let S=String(g.item_id),A=y.get(S);A.push({path:String(g.path),scope:String(g.scope),...g.note===null?{}:{note:String(g.note)}}),y.set(S,A)}for(let g of f){let S=JSON.parse(String(g.metadata_json));_.push({item:S,files:y.get(String(g.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:_}}catch{return n?.close(),null}}async function zg(e){let t=Pt();if(!t)return null;let n;try{n=new t(ct(e.pmRoot),{readOnly:!0});let r=Bn(n);if(r.version!==Lt||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 Wn(e){await ze.rm(ct(e),{force:!0})}import W from"node:fs/promises";import j from"node:path";import{createHash as yf,randomUUID as wa}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]="1c60c095-9763-5372-9dc3-c0ea1a5caca6")}catch{}})();var ae=8,Ea=500,gf="metadata-derived-index",vf="metadata-cache.json",bf="metadata-cache-bodies.json",wf="metadata-cache-collections.json",Ef="metadata-cache-delta.json",kf="metadata-cache-manifest.json",ya=4,If=["comments","notes","learnings","files","tests","test_runs","docs"];function ka(){return Zt(ue())}function Kn(e){let t={...e},n={};for(let r of If)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Ia(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Sa(e,t,n,r){let o=yf("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 qn(e){return j.join(e,"runtime",vf)}function Xn(e){return j.join(e,"runtime",bf)}function Gn(e){return j.join(e,"runtime",wf)}function So(e){return j.join(e,"runtime",Ef)}function To(e){return j.join(e,"runtime",kf)}function Yn(e,t){let n=j.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Sf=24,J=new Map,Jn=new WeakMap;function Co(e){return Jn.get(e)??e.source_cursor}function Tf(e,t){let n=Co(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Jn.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 Cf(e,t){if(!e)return;let n=Co(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Jn.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 Of(e,t){if(!e)return;let n=Co(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Jn.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 Af(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Tf(e,r),Cf(t,r),Of(n,r))}function Io(e,t){J.size>=Sf&&!J.has(e)&&ki(J),J.set(e,t)}async function Se(e,t){let n;try{n=await W.stat(e)}catch{return J.delete(e),null}let r=J.get(e);if(r&&jt(r.signature,n.mtimeMs,n.ctimeMs,n.size))return J.delete(e),J.set(e,r),r.envelope;let o;try{o=t(await W.readFile(e,"utf8"))}catch{o=null}return Io(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function xf(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==ae||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=qn(e),i=await Se(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await Se(Yn(o,t),r);return s===null&&$t(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Rf(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ae||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Xn(e),o=await Se(r,n);return t&&o?.context_fingerprint!==t?await Se(Yn(r,t),n):o}async function Df(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ae||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Gn(e),o=await Se(r,n);return t&&o?.context_fingerprint!==t?await Se(Yn(r,t),n):o}async function Oo(e){let t=So(e),n=await Se(t,r=>{let o=JSON.parse(r);return o.version!==ae||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 W.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Ao(e){let t=To(e),n=await Se(t,r=>{let o=JSON.parse(r);return o.version!==ae||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 W.stat(t),await dt(e)}catch{}return null}async function Mt(e,t){await W.mkdir(j.dirname(e),{recursive:!0}),await q(e,JSON.stringify(t));try{let r=await W.stat(e);Io(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{J.delete(e)}let n=j.dirname(j.dirname(e));if(e===qn(n)||e===Xn(n)||e===Gn(n)){let r=Yn(e,t.context_fingerprint);await q(r,JSON.stringify(t));try{let c=await W.stat(r);Io(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{J.delete(r)}let o=j.dirname(e),i=j.extname(e),s=j.basename(e,i),a=(await W.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>ya){let c=(await Promise.all(a.map(async d=>{try{return{path:d,mtime:(await W.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-ya)))await W.rm(d.path,{force:!0}),J.delete(d.path)}}}function Nf(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Ta(e,t,n){return e===void 0||Nf(e,t,n)}function $t(e,t){e&&!e.includes(t)&&e.push(t)}function jt(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Lf(e,t,n){let r=j.join(e,t);try{let o=await W.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!ye(o)&&$t(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function Pf(e,t){try{let n=await W.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 Vn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await Pf(e,n))))}function Ft(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&&jt(o,r.mtime_ms,r.ctime_ms,r.size)})}function jf(e){return tn.some(t=>e.toLowerCase().endsWith(t))}function Mf(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function Ff(e,t,n){if(n)for(let r of await ve({path:e,scope:"project"}))$t(t,r)}function ga(e,t,n,r){if(e)return t&&n?n.collections:r}async function $f(e,t,n){let r=await W.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=yr(e);await Ff(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&jt(c,o,i,s),u=n.previousBodies[t],f=!n.forceSourceRead&&u!==void 0&&jt(u,o,i,s),_=n.previousCollections[t],p=!n.forceSourceRead&&_!==void 0&&jt(_,o,i,s);if(!(!d||n.includeBody&&!f||n.includeCollections&&!p))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:ga(n.includeCollections,p,_,void 0),bodyLength:c.body_length,body:n.includeBody?u.body:void 0};let y=await W.readFile(e,"utf8"),g=gn(y,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:A=>$t(n.warnings,A)}),S=Kn(g.metadata);return Mf(n.state.misses,n.includeBody,n.includeCollections,d,f,p),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d?c.metadata:S.light,heavyMetadata:ga(n.includeCollections,p,_,S.heavy),bodyLength:d?c.body_length:g.body.length,body:n.includeBody?g.body:void 0}}function zf(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?Ia(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};Ta(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function Hf(e,t,n,r){try{let o=await $f(t,n,r);zf(t,n,r,o)}catch{$t(r.warnings,`item_list_item_read_failed:${e}/${j.basename(t)}`)}}function Uf(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function Bf(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function Wf(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function Vf(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function Kf(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!jf(s))continue;let a=j.join(o,s),c=j.relative(t.pmRoot,a);n.push(Hf(r,a,c,t)),n.length===32&&(await Promise.all(n),n.length=0)}await Promise.all(n)}async function qf(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!Ft(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await Mt(qn(e.pmRoot),{version:ae,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await Mt(To(e.pmRoot),{version:ae,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:Kn(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await pa({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Wn(e.pmRoot)}catch{}}async function Xf(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 Mt(Xn(e.pmRoot),{version:ae,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function Gf(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 Mt(Gn(e.pmRoot),{version:ae,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function xo(e,t,n={}){let r=await Ao(e);return n.required!==!0&&(r===null||r.entry_count<Ea)?async()=>{}:Y(e,gf,30,t,!1,!1,3e3)}async function Zg(e,t){let n=await Ao(e);if(n===null)return null;let r=await Oo(e);if(r.invalid)return await dt(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&&!Ft(i,await Vn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function va(e,t){let n=j.relative(e,t);return n===""||n===".."||n.startsWith(`..${j.sep}`)||j.isAbsolute(n)?null:n}async function dt(e){await Promise.all([qn(e),Xn(e),Gn(e),So(e),To(e)].map(async t=>{await W.rm(t,{force:!0}),J.delete(t)})),await Wn(e)}async function Yf(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await W.stat(e.mutation.itemPath),n=Kn(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 Jf(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function Ro(e){let t=va(e.pmRoot,e.itemPath),n=e.previousItemPath?va(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await dt(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Sa(e.preferredFormat,e.typeToFolder,e.schema,ka()),o=await Ao(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Oo(e.pmRoot);if(s.invalid)return await dt(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=Jf(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 Yf({mutation:e});let d=wa();return await Mt(So(e.pmRoot),{version:ae,context_fingerprint:r,base_source_cursor:i,source_cursor:d,directory_signatures:await Vn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await ha({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:Kn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Wn(e.pmRoot),[]}catch{return await dt(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function Qf(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function ba(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function Zf(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function em(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=yr(n);if(!o)continue;let i=e.includeCollections?Ia(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Ta(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 tm(e){return e.forceSourceScan||wr()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!Ft(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||ba(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||ba(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&Zf(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function Qn(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=ka(),d=Sa(t,n,o,c),u=await Oo(e);u.invalid&&await dt(e);let f=await xf(e,d,i.cacheDiagnostics),_=s?await Rf(e,d):null,p=a?await Df(e,d):null;Af(f,_,p,u.envelope);let m=Uf(f,d),y=Bf(_,d),g=Wf(p,d),S=[...new Set(Object.values(n))],A=await Vn(e,S),x=Object.keys(m),M=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Ea));if(tm({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:_,existingCollectionsCache:p,directorySignatures:A,entryKeys:x,minimumIndexedItems:M,includeBody:s,includeCollections:a,previousBodies:y,previousCollections:g}))return em({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:m,previousBodies:y,previousCollections:g});let D=await Promise.all(S.map(gt=>Lf(e,gt,r))),re=wr(),B=Vf(),Q={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:re,previousEntries:m,previousBodies:y,previousCollections:g,state:B};await Kf(D,Q);let K=await Vn(e,S),Z=Ft(A,K)?K:{},Be=B.misses.metadata||Object.keys(m).length!==Object.keys(B.newEntries).length||!Ft(f?.directory_signatures,Z)||f===null?wa():f.source_cursor;return await qf({pmRoot:e,contextFingerprint:d,sourceCursor:Be,existingCache:f,previousEntries:m,directorySignatures:Z,state:B,minimumIndexedItems:M}),s&&await Xf({pmRoot:e,contextFingerprint:d,sourceCursor:Be,existingBodyCache:_,previousBodies:y,state:B}),a&&await Gf({pmRoot:e,contextFingerprint:d,sourceCursor:Be,existingCollectionsCache:p,previousCollections:g,state:B}),Qf(B)}async function Ca(e,t,n,r,o){return(await Qn(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 Qn(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]="0a3dd0c1-2dea-5143-a2eb-65e758a0cc71")}catch{}})();function ce(){let e=de();for(let t of ue()?.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]="83d1acab-79a1-5e9f-b6a4-97dade07d74a")}catch{}})();function zt(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function Zn(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function nm(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 rm(e,t){let n=[...e].sort(),r=nm(n,t),o=new Set,i=om(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=im(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 om(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 im(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 Aa(e){let t=new Map;for(let n of e){let r=zt(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function sm(e,t,n){let r=zt(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 am(e,t,n,r){let o=zt(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 xa(e,t){let n=new Map;for(let[r,o]of e){let i=sm(r,o,e);i&&n.set(Zn(i),i);for(let s of o.dependencies??[]){let a=am(r,s,e,t);a&&n.set(Zn(a),a)}}return[...n.values()].sort((r,o)=>Zn(r).localeCompare(Zn(o)))}function av(e,t=ce()){return xa(Aa(e),t)}function cm(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 dm(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=zt(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 er(e,t=r=>r==="closed"||r==="canceled",n=ce()){let r=Aa(e),o=xa(r,n),i=lm(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=rm([...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:cm(o,i.parents_by_child,s),divergences:dm(r,o,s)}}function cv(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 lm(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 Do(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function dv(e,t,n,r,o){let i=zt(n);if(!i)return;let s=er(e,r,o),a=er(t,r,o),c=a.divergences.find(f=>!s.divergences.some(_=>_.child_id===f.child_id&&_.scalar_parent_id===f.scalar_parent_id&&Do(f.dependency_parent_ids,_.dependency_parent_ids)));if(c){let f=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new E(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${f.join(", ")}.`,w.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(_=>_.child_id===f.child_id&&Do(f.parent_ids,_.parent_ids)));if(d)throw new E(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,w.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(_=>Do(f.item_ids,_.item_ids)));if(u)throw new E(`Hierarchy mutation would create a cycle: ${u.item_ids.join(" -> ")}.`,w.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]="fdd874ad-e51d-5df2-9486-a0465ad65979")}catch{}})();var um="global";function _v(e){let t=e?.trim();if(t)return oe(t)?um:t}function pv(e,t,n){return fm(e,t,n)}function fm(e,t,n){let r=e.trim();return oe(n)||le(r)?r:Nt(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]="06ecc7a4-c593-5d99-89f5-714a4590d0a5")}catch{}})();function ut(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Ht(e){let t=ut(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Ut(e,t,n=!0){let r=ut(e);return n&&(oe(t)||r!==void 0&&le(r))}function No(e,t){return Ut(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Ra(e,t,n,r){return Ut(e,t)?r.get(e):n.get(e.toLowerCase())}function lt(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function mm(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=ut(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${No(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 _m(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 mm(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=lt(r.holder_id,o.holder_id);if(i!==0)return i;let s=lt(r.target_id,o.target_id);return s!==0?s:lt(r.kind,o.kind)})}function pm(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=ut(n.id);if(!i||No(i,n.source_kind)!==No(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 hm(e,t=r=>r==="closed"||r==="canceled",n=ce()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=ut(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=pm(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=lt(o.holder_id,i.holder_id);if(s!==0)return s;let a=lt(o.target_id,i.target_id);return a!==0?a:lt(o.dependency_kind,i.dependency_kind)})}function Lo(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,_)=>{let p=ut(d);if(!p||r.has(p.toLowerCase())||Ut(p,void 0,_))return;let m={holder_id:c.id.trim(),target_id:p,kind:u,source:f,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:p.toLowerCase()==="no-active-blocker"};o.set(`${m.holder_id}::${m.target_id}::${m.kind}::${m.source}`,m)};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;oe(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 ym(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 gm(e){let t=new Map;for(let n of e){let r=Ht(n.blocked_by);r&&Ut(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!Ut(o.id,o.source_kind))continue;let i=Ht(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Da=new WeakMap;function Ev(e){return e.hierarchyIntegrity??Da.get(e)}function vm(e,t=ce()){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 tr(e,t,n){let r=n??ce(),o=e.filter(m=>typeof m?.id=="string"&&m.id.trim().length>0),i=new Map(o.map(m=>[m.id.trim().toLowerCase(),m.id.trim()])),s=Lo(o,t),a=ym(s);for(let m of a)i.set(m.toLowerCase(),m);let c=gm(o),d=new Set(i.keys()),u=new Map;for(let m of c){let y=m;for(;d.has(y.toLowerCase());)y=`external:${y}`;u.set(m,y),d.add(y.toLowerCase())}let f=o.map(m=>{let y=Ht(m.parent),g=Ht(m.blocked_by),S=(m.dependencies??[]).flatMap(A=>{if(typeof A!="object"||A===null)return[];let x=A,M=Ht(x.id);return M?[{id:Ra(M,x.source_kind,i,u),kind:typeof x.kind=="string"?x.kind:"related"}]:[]});return{id:m.id.trim(),...y?{parent:i.get(y.toLowerCase())}:{},...g?{blocked_by:Ra(g,void 0,i,u)}:{},dependencies:S}}),_=er(o,t,r),p={graph:Ei.fromItems([...f,...a.map(m=>({id:m})),...c.map(m=>({id:u.get(m)}))],r),details:[...o.map(m=>({id:m.id.trim(),title:m.title,status:m.status,...typeof m.type=="string"&&m.type.trim().length>0?{type:m.type.trim()}:{}})),...a.map(m=>({id:m,title:`[missing] ${m}`,status:"missing"})),...c.map(m=>({id:u.get(m),title:`[external] ${m}`,status:"external"}))],missingIdSet:new Set(a.map(m=>m.toLowerCase())),dangling:s,duplicateRows:_m(o,t),orderingContradictions:hm(o,t,r),legacyAliasCounts:vm(o,r),hierarchyIntegrity:_};return Da.set(p,_),p}import{createHash as bm}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]="10f534cf-ee82-54a2-9807-390eca5fb0b8")}catch{}})();var wm=64,Em=8;function km(e,t){let n=(e.dependencies??[]).map(r=>{if(typeof r!="object"||r===null)return"";let o=r;return`${typeof o.kind=="string"?o.kind:"related"}:${typeof o.id=="string"?o.id:""}`}).sort().join(",");return[e.id,e.title,e.status,t(e.status)?"1":"0",typeof e.type=="string"?e.type.trim():"",e.parent??"",e.blocked_by??"",n].join("\0")}function La(e,t=r=>r==="closed"||r==="canceled",n=de()){let r=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>km(i,t)).sort(),o=n.list().map(i=>L(i)).sort();return bm("sha256").update(r.join("")).update("").update(o.join("")).digest("hex")}function Na(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var Po=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Na("maxResultsPerWorkspace",t.maxResultsPerWorkspace,wm),this.#n=Na("maxWorkspaces",t.maxWorkspaces,Em)}lookup(t,n,r){let o=this.#e.get(t),i=!0;(o===void 0||o.fingerprint!==n)&&(o={fingerprint:n,assembly:r(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,o);let s=o,a=this.#t;return{assembly:s.assembly,assemblyReused:i,fingerprint:n,memoize(c,d){let u=s.results.get(c);if(u!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,u),{value:structuredClone(u),reused:!0};let f=d();return s.results.size>=a&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(f)),{value:f,reused:!1}}}}clear(){this.#e.clear()}},Pa=new Po;function ja(){return Pa}function Cv(){Pa.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]="47b3091f-a1a8-503c-83e9-46b85adf4207")}catch{}})();var Im=["prerequisite","dependent","ancestor","descendant","provenance","related"],Sm=new TextEncoder;function jo(e,t,n){let r=e??t;if(!Number.isInteger(r)||r<1)throw new TypeError(`Relationship context ${n} must be positive`);return r}function nr(e){return Math.max(1,Math.ceil(Sm.encode(JSON.stringify(e)).byteLength/4))}function Mo(e,t,n){let r=n.resolve(e.kind);if(r?.ordering){let i=(r.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===i?"prerequisite":"dependent"}if(r?.hierarchy){let i=r.hierarchyDirection==="source_parent"?e.source:e.target;return t===i?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function Tm(e,t,n,r){let o=e.filter(i=>i.source===t&&i.target===n||i.target===t&&i.source===n).map(i=>Mo(i,n,r));return[...new Set(o)].sort()}function Cm(e){return Im.find(t=>e.includes(t))}function Om(e,t,n,r){let o=r.direction??"both",i=r.maxDepth??3;if(!Number.isInteger(i)||i<0)throw new TypeError("Relationship context maxDepth must be non-negative");let s=new Set([t]),a=[{id:t,distance:0}],c=[],d=0,u=!1;for(let f=0;f<a.length;f+=1){r.signal?.throwIfAborted();let _=a[f];if(_.distance>=i&&u)continue;let p=e.neighborEdges(_.id,{direction:o,kinds:r.kinds,signal:r.signal});if(d+=p.meta.inspectedEdges,_.distance>=i){p.value.some(m=>!s.has(m.id))&&(u=!0);continue}for(let{id:m,edge:y}of p.value){if(s.has(m))continue;s.add(m);let g={id:m,distance:_.distance+1,via:_.id,role:Mo(y,m,n)};c.push(g),a.push(g)}}return c.sort((f,_)=>f.distance-_.distance||f.id.localeCompare(_.id)),{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:u}}function Am(e,t,n,r){let o={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},i=e.neighborEdges(t,{direction:r.direction??"both",kinds:r.kinds,signal:r.signal}).value;for(let{id:s,edge:a}of i)o[Mo(a,s,n)]+=1;return{directEdges:o,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function xm(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let o=r.distance===1?Tm(e.rootEdges,e.rootId,r.id,e.registry):[],i={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:o.length>0?Cm(o):r.role,via:r.via,reasons:o.length>0?o:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=nr(i);if(n+s>e.tokenBudget)break;t.push(i),n+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:n}}function Rm(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,n=e.graph.edges().filter(i=>{if(!e.included.has(i.source)||!e.included.has(i.target))return!1;if(t===void 0||t.has(i.kind))return!0;let s=e.registry.resolve(i.kind)?.inverse;return s!==void 0&&t.has(s)}),r=[],o=e.initialTokens;for(let i of n){if(r.length>=e.edgeLimit)break;let s=nr(i);if(o+s>e.tokenBudget)break;r.push(i),o+=s}return{edges:r,usedTokens:o,candidateCount:n.length}}function Ma(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let o=jo(r.nodeLimit,20,"nodeLimit"),i=jo(r.edgeLimit,40,"edgeLimit"),s=jo(r.tokenBudget,1200,"tokenBudget"),a=r.registry??de(),c=new Map(n.map(We=>[We.id,We])),d=c.get(t)??{id:t},{evidence:u=[],...f}=d,_=[...u],p=Om(e,t,a,r),{rootEdges:m,...y}=Am(e,t,a,r),g=Ai("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),S=Ri(p.rows,r.cursor,g,({id:We})=>We),A=p.rows.slice(S),x=nr(f)+nr(_);if(x>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let M=xm({candidates:A,details:c,rootEdges:m,rootId:t,registry:a,nodeLimit:o,tokenBudget:s,initialTokens:x}),{nodes:D}=M,re=new Set([t,...D.map(({id:We})=>We)]),B=Rm({graph:e,included:re,options:r,registry:a,edgeLimit:i,tokenBudget:s,initialTokens:M.usedTokens}),{edges:Q,usedTokens:K}=B,Z=S+D.length,Ue=Z<p.rows.length,Be=D.at(-1),gt=B.candidateCount-Q.length,si=p.depthTruncated||Ue||gt>0,Dc={rootId:t,...f.status===void 0?{}:{rootStatus:f.status},...y,discoveredNodes:p.rows.length,returnedNodes:D.length,returnedEdges:Q.length,omittedNodes:p.rows.length-Z,omittedEdges:gt,evidenceCount:_.length,hasMore:Ue};return{root:f,summary:Dc,nodes:D,edges:Q,evidence:_,meta:{exact:!0,truncated:si,completeness:si?"truncated":"complete",nodeLimit:o,edgeLimit:i,tokenBudget:s,usedTokens:K,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:p.rows.length-Z,omittedEdges:gt,...Ue&&Be?{nextCursor:xi(g,Be.id,Z-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]="59b12366-2f29-5acb-8196-91e9ab183666")}catch{}})();function $o(e,t){return(t===void 0?void 0:gi(e,t))?.execution_role??yi[e.trim().toLowerCase()]??"agent"}var zo="blocked_by",Fa="blocks",Dm=Object.freeze([zo,Fa]),Fo="no-active-blocker";function $(e){return e.trim().toLowerCase()}function rr(e,t){return t?`external:${e}`:`local:${$(e)}`}function Bt(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&$(n)!==Fo){let r=le(n);t.set(rr(n,r),r?n:$(n))}for(let r of e.dependencies??[]){let o=typeof r.id=="string"?r.id.trim():"";if(r.kind===zo&&o.length>0&&$(o)!==Fo){let i=le(o)||oe(r.source_kind);t.set(rr(o,i),i?o:$(o))}}return[...t.values()].sort((r,o)=>r.localeCompare(o))}function or(e){let t=new Map;for(let n of e){let r=$(n.id);r.length!==0&&t.set(r,new Set(Bt(n)))}for(let n of e){let r=$(n.id);if(r.length!==0)for(let o of n.dependencies??[]){let i=o.kind===Fa&&typeof o.id=="string"?$(o.id):"";if(i.length===0||i===Fo)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 $a(e,t){let n=$(e.id);return n.length>0?or(t).get(n)??Bt(e):Bt(e)}function Ho(e,t,n,r){let o=e,i=typeof o.id=="string"?r?.get($(o.id))??$a(o,[...t.values()]):Bt(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===zo&&oe(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>rr(a.id.trim(),!0)));return i.map(a=>{if(le(a)||s.has(rr(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($(a));return c?{id:a,title:c.title,status:c.status,resolved:pe(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function Nm(e,t,n){return Ho(e,t,n)}function Lm(e,t){let n=new Map(e.map(s=>[$(s.id),s])),r=or(e),o=new Set([...za(t),...t.blocked_statuses]),i=new Set;for(let s of e){let a=Je(s.status,t);if(!o.has(a))continue;(t.blocked_statuses.has(a)||Ho(s,n,t,r).some(d=>!d.resolved))&&i.add($(s.id))}return i}function Pm(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(Je(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of o){let a=$o(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 za(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function jm(e,t,n){let r=[$(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(!pe(s.status,n))return!0;r.push($(s.id))}}}return!1}function Mm(e){let t=new Map,n=new Map,r=new Map,o=or(e);for(let i of e){t.set($(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let a=$(s),c=n.get(a)??[];c.push(i),n.set(a,c)}for(let a of o.get($(i.id))){let c=$(a),d=r.get(c)??[];d.push(i.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:o}}function Fm(e,t,n,r){let{itemsById:o,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:a}=Mm(t),c=new Set([...za(n),...n.blocked_statuses]),d=new Set(t.filter(g=>!pe(g.status,n)).map(g=>$(g.id))),u=[],f=[],_=[],p=[],m=[],y=0;for(let g of e){if(!c.has(Je(g.status,n)))continue;y+=1;let S=Ho(g,o,n,a).filter(D=>!D.resolved),A=(s.get($(g.id))??[]).filter(D=>d.has($(D))).sort((D,re)=>D.localeCompare(re)),x={item:g,open_blockers:S,unblocks:A};if(jm(g.id,i,n)){_.push(x);continue}let M=n.blocked_statuses.has(Je(g.status,n));if(S.length===0&&!M){let D=$o(g.type,r);D==="human"?p.push(x):D==="gate"?m.push(x):u.push(x)}else f.push(x)}return{ready:u,blocked:f,containers:_,decisions:p,gates:m,active_count:y,container_count:_.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]="ae1c56b3-148d-502d-9450-e807fdfab4da")}catch{}})();import $m from"node:fs/promises";import ft 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]="e2a2001e-b162-599e-b262-76d2223a343c")}catch{}})();var Wt="_workspace";function Uo(e){return ft.join(e,"history",`${Wt}.jsonl`)}function zm(e,t){return{metadata:{id:Wt,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 Bo(e,t=e.length){let n=Ln();for(let r of e.slice(0,t))n=jn(n,r.patch).document;return Pn(n)}function Ha(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function Wo(e){throw new E(`Workspace history verification failed: ${e.join(", ")}`,w.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 Hm(e,t){let n=ft.resolve(t),r=ft.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||ft.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function Gv(e){let t=await tt(Uo(e),Wt),n=Mn(t);n.ok||Wo(n.errors);let r=Ha(t.length===0?Ve:Bo(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let d;try{let u=Hm(e,ft.resolve(e,c));if(d=await ge(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 Ua(e){let t=Uo(e.pmRoot),n=await tt(t,Wt),r=Mn(n);r.ok||Wo(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=be(),s=n.length===0?Ve:Bo(n),a=Ha(s),c=a[e.documentPath];if(c!==void 0&&L(c)!==L(e.before))throw new E(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,w.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=zm({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),u=st({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 at(t,u),{entry:u,historyPath:t}}async function Yv(e){let t=await Y(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ua(e)}finally{await t()}}async function Jv(e){let t=await Y(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=Uo(e.pmRoot),r=await tt(n,Wt),o=Mn(r);o.ok||Wo(o.errors);let i=r.length===0?Ve:Bo(r),s=st({nowIso:be(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await at(n,s),{entry:s,historyPath:n}}finally{await t()}}async function Ba(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 Ua({pmRoot:e.pmRoot,documentPath:ft.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 $m.rm(e.filePath,{force:!0}):await q(e.filePath,t),o}return!0}async function Qv(e){let t=await Y(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=await ge(e.filePath),r=await e.mutate(n);return{changed:await Ba({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function Wa(e){let t=await Y(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ba(e,await ge(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]="b7444d15-00dd-5523-8bdb-199321e7722b")}catch{}})();var U={ok:!1},h=e=>typeof e=="string"?{ok:!0,value:e}:U,O=e=>typeof e=="boolean"?{ok:!0,value:e}:U;function N(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 R(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:U}function v(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 Ko(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 ir(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 C(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 Um=C({key:h,values:v(h),required:l(O),aliases:l(v(h)),description:l(h)}),Bm=C({command:R("create","update"),option:h,required:l(O),visible:l(O),enabled:l(O)}),Wm=C({name:h,description:l(h),default_status:l(h),execution_role:l(R("agent","human","gate")),folder:l(h),aliases:l(v(h)),required_create_fields:l(v(h)),required_create_repeatables:l(v(h)),options:l(v(Um)),command_option_policies:l(v(Bm))}),Vm=C({id:h,aliases:l(v(h)),roles:l(v(R(...ai))),description:l(h),order:l(N())}),Km=C({key:h,metadata_key:l(h),front_matter_key:l(h),cli_flag:l(h),cli_aliases:l(v(h)),description:l(h),type:l(R(...ci)),commands:l(v(R(...di))),repeatable:l(O),required:l(O),required_on_create:l(O),required_types:l(v(h)),allow_unset:l(O)}),qm=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]}},Xm=C({type:h,allowed_transitions:v(qm)}),Gm=l(C({version:l(N({int:!0})),files:l(C({types:l(h),statuses:l(h),fields:l(h),workflows:l(h)})),statuses:l(v(Vm)),fields:l(v(Km)),workflow:l(C({draft_status:l(h),open_status:l(h),in_progress_status:l(h),blocked_status:l(h),close_status:l(h),canceled_status:l(h)})),type_workflows:l(v(Xm)),unknown_field_policy:l(R(...li))})),Ym=l(C({preset:l(R(...ui)),ownership_enforcement:l(R("none","warn","strict")),create_mode_default:l(R("progressive","strict")),close_validation_default:l(R("off","warn","strict")),require_close_reason:l(O),parent_reference:l(R("warn","strict_error")),metadata_profile:l(R("core","strict","custom")),force_required_for_stale_lock:l(O),create_default_type:l(h),workflow_enforcement:l(R("off","warn","strict")),duplicate_detection_mode:l(R("off","advisory","strict")),duplicate_detection_threshold:l(N({min:0,max:1})),duplicate_detection_limit:l(N({int:!0,min:0,max:20}))})),Jm=C({name:h,disabled:l(O),require_trusted:l(O),require_provenance:l(O),sandbox_profile:l(R("none","restricted","strict")),allowed_capabilities:l(v(h)),blocked_capabilities:l(v(h)),allowed_surfaces:l(v(h)),blocked_surfaces:l(v(h)),allowed_commands:l(v(h)),blocked_commands:l(v(h)),allowed_actions:l(v(h)),blocked_actions:l(v(h)),allowed_services:l(v(h)),blocked_services:l(v(h))}),Vo=R("block","warn"),Qm=e=>typeof e=="string"?Vo(e):C({global:l(Vo),project:l(Vo)})(e),Zm=l(C({mode:l(R("off","warn","enforce")),trust_mode:l(R("off","warn","enforce")),pm_max_version_exceeded_mode:l(Qm),require_provenance:l(O),trusted_extensions:l(v(h)),default_sandbox_profile:l(R("none","restricted","strict")),allowed_extensions:l(v(h)),blocked_extensions:l(v(h)),allowed_capabilities:l(v(h)),blocked_capabilities:l(v(h)),allowed_surfaces:l(v(h)),blocked_surfaces:l(v(h)),allowed_commands:l(v(h)),blocked_commands:l(v(h)),allowed_actions:l(v(h)),blocked_actions:l(v(h)),allowed_services:l(v(h)),blocked_services:l(v(h)),extension_overrides:l(v(Jm))})),He=Ko(128),e_=C({harness:Ko(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:l(v(He,64)),model_environment_keys:l(v(He,64)),session_environment_keys:l(v(He,64)),provenance_environment_keys:l(ir(v(He,64))),provenance_resolvers:l(ir(R("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:l(v(He,64)),argv_markers:l(v(He,64)),client_names:l(v(He,64))}),t_=C({version:N({int:!0}),id_prefix:h,ids:l(C({token_length:l(N({int:!0,min:4,max:12}))})),author_default:h,agent_identity:l(C({probes_enabled:l(O),identity_vocabulary:l(C({version:N({int:!0,positive:!0}),aliases:ir(Ko(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:v(e_)})),mutation_guard:l(C({require_attributed_author:l(O),secret_guard:l(R("off","advise","block")),stale_in_progress_hours:l(N({int:!0,positive:!0}))})),item_format:l(R("toon","json_markdown")),locks:C({ttl_seconds:N({int:!0}),wait_ms:l(N({int:!0,min:0}))}),checkpoints:l(C({retention_days:l(N({int:!0,positive:!0}))})),output:C({default_format:R("toon","json")}),ux:l(C({deprecation_hints:l(O)})),history:l(C({missing_stream:R("auto_create","strict_error"),compact_policy:l(C({enabled:l(O),max_entries:l(N({int:!0,positive:!0})),trigger:l(R("health_warn","auto"))}))})),validation:l(C({sprint_release_format:R("warn","strict_error"),parent_reference:l(R("warn","strict_error")),metadata_profile:l(R("core","strict","custom")),metadata_required_fields:l(v(h)),lifecycle_stale_blocker_reason_patterns:l(v(h)),lifecycle_closure_like_blocked_reason_patterns:l(v(h)),lifecycle_closure_like_resolution_patterns:l(v(h)),lifecycle_closure_like_actual_result_patterns:l(v(h)),estimate_defaults_by_type:l(ir(N({int:!0,positive:!0})))})),governance:Ym,workflow:l(C({definition_of_done:v(h)})),testing:l(C({record_results_to_items:O,allow_untrusted_linked_tests:l(O)})),telemetry:l(C({enabled:O,first_run_prompt_completed:l(O),capture_level:l(R("minimal","redacted","max")),endpoint:l(h),installation_id:l(h),retention_days:l(N({int:!0,positive:!0}))})),agent_guidance:l(C({prompt_completed:l(O),declined:l(O),declined_at:l(h),template_version:l(N({int:!0,positive:!0})),last_checked_files:l(v(h))})),item_types:l(C({definitions:v(Wm)})),schema:Gm,context:l(C({default_depth:l(R("brief","standard","deep")),activity_limit:l(N({int:!0,positive:!0})),stale_threshold_days:l(N({int:!0,positive:!0})),sections:l(C({hierarchy:l(O),activity:l(O),progress:l(O),recently_created:l(O),unparented:l(O),blockers:l(O),files:l(O),workload:l(O),staleness:l(O),tests:l(O)}))})),extensions:C({enabled:v(h),disabled:v(h),policy:Zm}),search:C({score_threshold:N(),hybrid_semantic_weight:l(N()),max_results:N({int:!0}),embedding_model:h,embedding_corpus_max_characters:l(N()),embedding_batch_size:N({int:!0}),embedding_timeout_ms:l(N({int:!0})),scanner_max_batch_retries:N({int:!0}),provider:l(h),corpus_fields:l(v(h)),mutation_refresh_policy:l(R("cache_only","semantic_configured","semantic_auto")),query_expansion:l(C({enabled:l(O),provider:l(h)})),rerank:l(C({enabled:l(O),model:l(h),top_k:l(N({int:!0,positive:!0}))})),bm25:l(C({k1:l(N()),b:l(N())}))}),providers:C({openai:C({base_url:h,api_key:h,model:h}),ollama:C({base_url:h,model:h})}),vector_store:C({adapter:l(h),collection_name:l(h),qdrant:C({url:h,api_key:h}),lancedb:C({path:h})})});function Va(e){let t=t_(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]="833a4f8a-7e5d-5480-a526-4e1ebaadd0a8")}catch{}})();var n_={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Ka=120;function qo(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Xa(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var r_=Xa(n_),qa=new WeakMap;function o_(e){let t=qa.get(e);if(t)return t;let n=Xa(e);return qa.set(e,n),n}function nb(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Ka;if(t){let o=o_(t).get(n);if(qo(o))return Math.floor(o)}let r=r_.get(n);return qo(r)?Math.floor(r):Ka}function Xo(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||!qo(r)||(t[o]=Math.floor(r))}return t}import{stat as i_}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]="7c23ef10-ea7a-5680-8850-822e7d0c07a6")}catch{}})();var sr=new Map;function Ga(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function s_(e){try{let t=await i_(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function Te(e){let t=Ga(e),n=await Promise.all(t.map(r=>s_(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Vt(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 Ya(e){return sr.get(e)}function ar(e,t){let n=Ga(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));sr.set(e,{tracked_paths:n,signatures:r,value:t.value})}function Ce(e){if(e){sr.delete(e);return}sr.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]="9c6acf02-5259-51f7-bbda-f3967ed0ab74")}catch{}})();var a_="settings:write",tc=Symbol("pm.settings.persist_source"),c_=128,d_=new Set(["off","advisory","strict"]);function Ja(e){return structuredClone(mi[e])}function l_(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:k.governance.preset}function Qa(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 u_(e){return e.preset==="custom"?Qa({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):Qa({preset:e.preset},e)}function f_(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),d_.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 dr(e){let t=e.governance??{},n=l_(t.preset),r=f_(t);if(n==="custom"){let s=Ja("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=Ja(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function nc(){return structuredClone(k)}function rc(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:k.search.mutation_refresh_policy}function oc(e){return typeof e=="boolean"?e:k.search.query_expansion.enabled}function ic(e){return typeof e!="string"?k.search.query_expansion.provider:e.trim()}function sc(e){return typeof e=="boolean"?e:k.search.rerank.enabled}function ac(e){return typeof e!="string"?k.search.rerank.model:e.trim()}function cc(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:k.search.rerank.top_k}function dc(e){if(typeof e!="string")return k.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,c_);return n.length>0?n:k.vector_store.collection_name}function Go(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function m_(e,t){let n=e.schema,r=Go(n?.statuses),o=Go(n?.fields),i=Go(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:mt(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:mt(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 lc(e,t){Object.defineProperty(e,tc,{value:t,writable:!0,configurable:!0,enumerable:!1})}function uc(e){let t=e[tc];if(!(!t||typeof t!="object"))return t}function cr(e){let t=structuredClone(e.settings),n=uc(e.settings);return n&&lc(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function __(e,t,n){let r=Et(t);return[n,kt(e,r.files.types,wt.types),kt(e,r.files.statuses,wt.statuses),kt(e,r.files.fields,wt.fields),kt(e,r.files.workflows,wt.workflows)]}async function p_(e,t,n){let r=await Te(t);ar(e,{tracked_paths:t,signatures:r,value:cr(n)})}async function h_(e,t,n){try{await p_(e,t,n)}catch{Ce(e)}}function Za(e,t){return e.find(n=>n.path===t)}function y_(e,t,n){for(let r of n){let o=Za(e,r),i=Za(t,r);if(!o||!i||!Vt([o],[i]))return!1}return!0}async function Yo(e,t,n,r,o){try{let i=await Te(t);if(!y_(r,i,o)){Ce(e);return}ar(e,{tracked_paths:t,signatures:i,value:cr(n)})}catch{Ce(e)}}function g_(e,t){let n=Et(e.schema),r=mt(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=Ke(r,t.runtime_item_type_definitions),s=Ke(n.statuses,t.runtime_schema_statuses),a=Ke(n.fields,t.runtime_schema_fields),c=Ke(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?mt(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 Kt(e){return{settings:nc(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function v_(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function Qo(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function fc(e){let t=k.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:Qo(e?.last_checked_files??t.last_checked_files)}}function ne(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function b_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.mode}function w_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.trust_mode}function mc(e){return e==="none"||e==="restricted"||e==="strict"?e:k.extensions.policy.default_sandbox_profile}function E_(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=mc(e.sandbox_profile));let r=ne(e.allowed_capabilities),o=ne(e.blocked_capabilities),i=ne(e.allowed_surfaces),s=ne(e.blocked_surfaces),a=ne(e.allowed_commands),c=ne(e.blocked_commands),d=ne(e.allowed_actions),u=ne(e.blocked_actions),f=ne(e.allowed_services),_=ne(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),_.length>0&&(n.blocked_services=_),n}function k_(e){let t=new Map;for(let n of e??[]){let r=E_(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function Jo(e){return e==="block"||e==="warn"?e:void 0}function I_(e){if(typeof e=="string")return Jo(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=Jo(e.global),n=Jo(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 ne(e?.[t]??k.extensions.policy[t])}function _c(e){let t=I_(e?.pm_max_version_exceeded_mode);return{mode:b_(e?.mode),trust_mode:w_(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:mc(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:k_(e?.extension_overrides??k.extensions.policy.extension_overrides)}}function pc(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 Oe(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function z(e,t){return e===void 0?t:e}function G(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function Zo(e){return Array.isArray(e)?e:[]}function S_(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:pc(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Oe(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Oe(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Oe(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Oe(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Xo(e.validation?.estimate_defaults_by_type)}}function T_(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 C_(e,t){return{...t.search,...e.search,mutation_refresh_policy:rc(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:oc(e.search?.query_expansion?.enabled),provider:ic(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:sc(e.search?.rerank?.enabled),model:ac(e.search?.rerank?.model),top_k:cc(e.search?.rerank?.top_k)}}}function O_(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:dc(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function A_(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function x_(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 R_(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function mt(e){let t=(e??[]).map(r=>hi(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 hc(e){let t=nc(),n=dr({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:A_(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:S_(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:T_(e,t),agent_guidance:fc(e.agent_guidance??t.agent_guidance),item_types:{definitions:mt(e.item_types?.definitions)},schema:Et(e.schema??t.schema),context:x_(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:_c(e.extensions.policy??t.extensions.policy)},search:C_(e,t),providers:R_(e,t),vector_store:O_(e,t)}}function D_(e){e.agent_identity=T(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=T(G(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=Zo(e.agent_identity.harness_signals).map(n=>T(G(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=T(e.locks,["ttl_seconds","wait_ms"]),e.ids=T(e.ids,["token_length"]),e.mutation_guard=T(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=T(e.checkpoints,["retention_days"]),e.output=T(e.output,["default_format"]),e.ux=T(e.ux,["deprecation_hints"]),e.history=T(e.history,["missing_stream","compact_policy"]),e.validation=T(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=T(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=T(e.workflow,["definition_of_done"]),e.testing=T(e.testing,["record_results_to_items","allow_untrusted_linked_tests"]),e.telemetry=T(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=T(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=T(e.item_types,["definitions"]),e.schema=T(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=T(G(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=T(G(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=T(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=T(G(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=T(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=T(G(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=Zo(e.extensions.policy.extension_overrides).map(n=>T(G(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=T(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=T(G(e.search.query_expansion),["enabled","provider"]),e.search.rerank=T(G(e.search.rerank),["enabled","model","top_k"]),e.providers=T(e.providers,["openai","ollama"]),e.providers.openai=T(G(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=T(G(e.providers.ollama),["base_url","model"]),e.vector_store=T(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=T(G(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=T(G(e.vector_store.lancedb),["path"])}function N_(e){return{...e,locks:z(e.locks,k.locks),ids:z(e.ids,k.ids),agent_identity:z(e.agent_identity,k.agent_identity),mutation_guard:z(e.mutation_guard,k.mutation_guard),checkpoints:z(e.checkpoints,k.checkpoints),output:z(e.output,k.output),ux:z(e.ux,k.ux),history:z(e.history,k.history),validation:z(e.validation,k.validation),workflow:z(e.workflow,k.workflow),testing:z(e.testing,k.testing),telemetry:z(e.telemetry,k.telemetry),agent_guidance:z(e.agent_guidance,k.agent_guidance),item_types:z(e.item_types,k.item_types),schema:z(e.schema,k.schema),context:z(e.context,k.context),extensions:z(e.extensions,k.extensions),search:z(e.search,k.search),providers:z(e.providers,k.providers),vector_store:z(e.vector_store,k.vector_store)}}function L_(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:pc(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Oe(e.validation?.lifecycle_stale_blocker_reason_patterns??k.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Oe(e.validation?.lifecycle_closure_like_blocked_reason_patterns??k.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Oe(e.validation?.lifecycle_closure_like_resolution_patterns??k.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Oe(e.validation?.lifecycle_closure_like_actual_result_patterns??k.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Xo(e.validation?.estimate_defaults_by_type)}}function P_(e){return{...k.search,...e.search,mutation_refresh_policy:rc(e.search?.mutation_refresh_policy),query_expansion:{...k.search.query_expansion,...e.search?.query_expansion,enabled:oc(e.search?.query_expansion?.enabled),provider:ic(e.search?.query_expansion?.provider)},rerank:{...k.search.rerank,...e.search?.rerank,enabled:sc(e.search?.rerank?.enabled),model:ac(e.search?.rerank?.model),top_k:cc(e.search?.rerank?.top_k)}}}function j_(e){return{default_depth:e.context?.default_depth??k.context.default_depth,activity_limit:e.context?.activity_limit??k.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??k.context.stale_threshold_days,sections:{...k.context.sections,...e.context?.sections}}}function M_(e){return{...e.vector_store,adapter:e.vector_store?.adapter??k.vector_store.adapter,collection_name:dc(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function F_(e,t,n,r){return{...e,item_format:"toon",validation:L_(e,t),governance:t,agent_guidance:fc(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:P_(e),context:j_(e),extensions:{enabled:Qo(e.extensions?.enabled),disabled:Qo(e.extensions?.disabled),policy:_c(e.extensions?.policy)},vector_store:M_(e)}}function yc(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(!Ke(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:{};yc(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var gc=["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 ec(e,t){let n=N_(e),r=dr(n),o=Et(n.schema),i=g_(n,t),s=F_(n,r,o,i),a=T({...s,governance:u_(r)},gc);return D_(a),a}function $_(e,t={}){let n=ec(e,t.persist_source);if(t.persist_source){let r=hc(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=ec(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return yc(i,o,n),`${JSON.stringify(T(i,gc),null,2)}
175
+ `}return`${JSON.stringify(n,null,2)}
176
+ `}async function vc(e){let t=vt(e),n=[t];await ve({path:t,scope:"project"});let r=Ya(e);if(r){let d=await Te(r.tracked_paths);if(Vt(d,r.signatures))return cr(r.value)}let o=await Te([t]),i;try{i=await ge(t)}catch{return Kt("settings_read_fs_error")}if(i===null){let d=Kt();return await Yo(e,[t],d,o,[t]),d}let s=await Te([t]);if(!Vt(o,s))return Ce(e),vc(e);let a;try{a=JSON.parse(i)}catch{let d=Kt("settings_read_invalid_json");return await Yo(e,[t],d,s,[t]),d}let c=Va(a);if(!c.success){let d=Kt("settings_read_invalid_schema");return await Yo(e,[t],d,s,[t]),d}try{let d=hc(c.data),u=__(e,d.schema,t);n=u;let f=await Te(u),_=await Ii(e,d.schema),p=await Si(e,d.schema),m=await Te(u),y={...d,item_types:{definitions:mt([...d.item_types.definitions,...Zo(p.type_definitions_from_file)])},schema:p.schema};lc(y,m_(c.data,y));let g={settings:y,metadata:{has_explicit_item_format:v_(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],..._.created_paths.map(S=>`runtime_schema_bootstrap_created:${S}`),...p.warnings]};return _.created_paths.length===0?Vt(f,m)?ar(e,{tracked_paths:u,signatures:m,value:cr(g)}):Ce(e):Ce(e),g}catch{let d=Kt("settings_read_merge_failed");return await h_(e,n,d),d}}async function bc(e){return(await vc(e)).settings}async function gb(e,t,n=a_){let r=vt(e),o=$_(t,{persist_source:uc(t)});try{await Wa({pmRoot:e,filePath:r,raw:o,op:n,author:os(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await fe({path:r,scope:"project",op:n})}finally{Ce(e)}}import z_ from"node:fs/promises";import H_ 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]="99eadab1-5338-5d75-b600-fa0463053375")}catch{}})();function U_(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function B_(e,t){return new E(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,w.NOT_FOUND)}async function W_(e,t){return await _i(H_.dirname(e)),await(await z_.open(e,"a")).close(),fe({path:e,scope:"project",op:`${t}:history:auto_create`})}async function ei(e){return V_({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function V_(e){let t=U_(e.itemIds),n=[],r=[];for(let o of t){let i=bt(e.pmRoot,o);if(!await Re(i)){if(e.settings.history.missing_stream==="strict_error")throw B_(o,e.commandLabel);r.push(...await W_(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import ni from"node:fs/promises";import lr 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]="57662b37-0d33-5cde-ad84-0a90fb520439")}catch{}})();function Ae(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function ri(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 ur(e){return new E(`Tracker root is not a directory at ${e}.`,w.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 ti(e){return new E(`Tracker root is not readable at ${e}.`,w.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 K_(e){let t=lr.resolve(e),n=lr.parse(t).root,r=lr.dirname(t);for(;r!==n;){let o;try{o=await ni.stat(r)}catch(i){if(Ae(i,"ENOTDIR"))throw ur(e);if(!Ae(i,"ENOENT"))throw i;r=lr.dirname(r);continue}if(!o.isDirectory())throw ur(e);return}}async function _t(e){let t;try{t=await ni.stat(e)}catch(n){throw Ae(n,"ENOENT")?(await K_(e),new E(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,w.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:ri(e)})):Ae(n,"ENOTDIR")?ur(e):Ae(n,"EACCES")||Ae(n,"EPERM")?ti(e):n}if(!t.isDirectory())throw ur(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw ti(e);try{await(await ni.opendir(e)).close()}catch(n){throw Ae(n,"EACCES")||Ae(n,"EPERM")?ti(e):n}}async function oi(e){if(await _t(e),!await Re(vt(e)))throw new E(`Tracker is not initialized at ${e}. Run pm init first.`,w.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:ri(e)})}import pt from"node:fs/promises";import q_ from"node:path";import{isUtf8 as X_}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]="724cba31-ab22-520c-a08a-7d281908b27f")}catch{}})();async function G_(e){try{return await pt.access(e),!0}catch{return!1}}function Y_(e,t){e&&(e.includes(t)||e.push(t))}function wc(e){return e??Zt(ue())}function J_(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function fr(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=Nt(t,n),c=ko(t),d=[...new Set([s,a,c])].filter(_=>_.length>0),u=Object.entries(o),f=J_(r);for(let _ of d)for(let[p]of u)for(let m of f){let y=hr(e,p,_,m,o);if(await G_(y))return{id:_,type:p,itemPath:y,item_format:m}}return null}async function mr(e,t={}){let n=await Q_(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function Q_(e,t={}){let n=await pt.readFile(e.itemPath);if(!X_(n))throw new E("Item contains invalid UTF-8; preserve a binary backup before recovering it.",w.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 ve({path:e.itemPath,scope:"project"});let o;try{o=gn(r,{format:e.item_format,schema:t.schema,extensionFieldNames:wc(t.extensionFieldNames),onWarning:i=>Y_(t.warnings,i)})}catch(i){if(i instanceof E&&i.code==="item_document_invalid")return{raw:r,document:null,error:new E(`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 Z_(e,t,n=xe,r,o){await _t(e);let i=await Ca(e,t,n,r,o);return Fn(i.length),i.map(s=>s.metadata)}async function Ec(e,t,n=xe,r,o){await _t(e);let i=await Oa(e,t,n,r,o);return Fn(i.length),i.map(s=>s.metadata)}async function rw(e,t,n=xe,r,o,i={}){await _t(e);let s=await Qn(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return Fn(s.length),s.map(a=>({...a.metadata,body:a.body}))}function kc(e){return{async get(t){let n=await fr(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await mr(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>Z_(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function ep(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await pt.readdir(q_.join(e,o));for(let s of i)for(let a of tn)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function tp(e,t,n,r){let o=Nt(t,n),i=await ep(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:qt(c,o,s)})).filter(c=>c.distance!==null).sort((c,d)=>c.distance-d.distance).slice(0,3).map(c=>c.id)}async function np(e,t,n,r){let o=await tp(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 E(`Item ${t} not found`,w.NOT_FOUND,{nextSteps:i})}function rp(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 Ic(e){let t=e.typeToFolder??en(e.settings,ue()).type_to_folder,n=await fr(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await np(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await Y(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 mr(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=rs(e.author),u=dr(e.settings);if(a&&c!==d&&!e.force&&!rp(e.op,e.bypassAssigneeConflict)){if(u.ownership_enforcement==="strict")throw new E(`Item ${n.id} is assigned to ${a}. Use --force to override.`,w.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 op(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 ip(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await q(e.originalItemPath,e.originalRaw),await pt.rm(e.effectiveTargetItemPath,{force:!0});return}await q(e.originalItemPath,e.originalRaw)}}async function Sc(e){let t=await Ic({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=te(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=te(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=be();let _=te(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await br({pm_root:e.pmRoot,operation:e.op,before:c,after:_,changed_fields:u.changedFields,sdk:kc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let p=await ei({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),m="toon",y=bs(_,{format:m,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),g=hr(e.pmRoot,_.metadata.type,r.id,m,n),S=bt(e.pmRoot,r.id),A=await It("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:g,history_path:S,item_format:m,before:c,after:_,contents:y}),{effectiveTargetItemPath:x,effectiveSerializedAfter:M,skipItemWrite:D}=op(A,g,y),re=await xo(e.pmRoot,e.author),B=[];try{D||await q(x,M),!D&&x!==r.itemPath&&await pt.rm(r.itemPath);let K=st({nowIso:_.metadata.updated_at,author:e.author,op:e.op,before:c,after:_,message:e.message,context:f});try{await at(S,K)}catch(Z){throw await ip({skipItemWrite:D,effectiveTargetItemPath:x,originalItemPath:r.itemPath,originalRaw:o}),Z}D||(B=await Ro({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:x,previousItemPath:r.itemPath,document:_}))}finally{await re()}let Q=[...await fe({path:x,scope:"project",op:e.op,item_id:_.metadata.id,item_type:_.metadata.type,before:c,after:_,changed_fields:u.changedFields}),...await fe({path:S,scope:"project",op:`${e.op}:history`,item_id:_.metadata.id,item_type:_.metadata.type,before:c,after:_,changed_fields:u.changedFields})];return vr({id:_.metadata.id,op:e.op,item_type:_.metadata.type,previous_status:c.metadata.status,status:_.metadata.status,previous:on(c.metadata,u.changedFields),current:on(_.metadata,u.changedFields),changed_fields:u.changedFields}),{item:_.metadata,body:_.body,changedFields:u.changedFields,warnings:[...s,...u.warnings??[],...p.warnings,...A.warnings,...B,...Q]}}finally{await a()}}async function ow(e){return Sc(e)}async function iw(e){return Sc(e)}async function sw(e){let t=await Ic({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=wc(void 0),c=te(o,{schema:e.settings.schema,extensionFieldNames:a});await br({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:kc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let d=await ei({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),u=be(),f=Ve,_=st({nowIso:u,author:e.author,op:"delete",before:c,after:f,message:e.message}),p=bt(e.pmRoot,n.id),m=await It("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:p,before:c}),y=n.itemPath,g=!1;if(m.handled&&typeof m.result=="object"&&m.result!==null){let M=m.result;typeof M.item_path=="string"&&M.item_path.trim().length>0&&(y=M.item_path),M.skip_delete===!0&&(g=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:y,warnings:[...i,...d.warnings,...m.warnings]};let S=await xo(e.pmRoot,e.author),A=[];try{g||await pt.rm(y);try{await at(p,_)}catch(M){throw g||await q(y,r),M}g||(A=await Ro({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:y,document:null}))}finally{await S()}let x=[...await fe({path:y,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:f,changed_fields:["deleted"]}),...await fe({path:p,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:f,changed_fields:["deleted"]})];return vr({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:on(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,...m.warnings,...A,...x]}}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]="5c8194ff-d877-51b8-bd54-d206f85a979c")}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]="8ed4af4c-40cf-5902-930b-78a4758871b2")}catch{}})();function sp(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:qt(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 Tc(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function mw(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(_=>_.trim()))].filter(Boolean).sort((_,p)=>_.localeCompare(p));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:sp(r,o),u=Tc([...i,r,...s]),f=e.retry_command??(d?Tc([...i,d,...s]):void 0);return new E(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??w.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}})}(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]="2f2a7df8-9c95-5ed1-bd43-33dde57dd7f0")}catch{}})();var ap=["tree","graph","context"],cp=["none","repeated"],dp=["outgoing","incoming","both"],lp=32,up=200,fp=400,mp=16e3;function _p(e){let t=e?.trim().toLowerCase()??"tree";if(ap.includes(t))return t;throw new E(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,w.USAGE)}function ht(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new E(`Invalid --${t} value "${e}". Use a positive integer.`,w.USAGE);return n}function Oc(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new E(`Invalid --max-depth value "${e}". Use a non-negative integer.`,w.USAGE);return t}function pp(e){let t=e?.trim().toLowerCase()??"none";if(cp.includes(t))return t;throw new E(`Invalid --collapse value "${e}". Use "none" or "repeated".`,w.USAGE)}function hp(e){let t=e?.trim().toLowerCase()??"both";if(dp.includes(t))return t;throw new E(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,w.USAGE)}function yp(e,t=de()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(o=>o.split(",")).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)return;let r=new Set;for(let o of n){let i=t.resolve(o);if(!i){let s=t.list().map(a=>a.kind).join(", ");throw new E(`Invalid --kind value "${o}". Registered kinds: ${s}.`,w.USAGE)}r.add(i.kind)}return[...r].sort()}function gp(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:o})=>({id:r.trim(),kind:o.trim().toLowerCase()})).sort((r,o)=>{let i=r.kind.localeCompare(o.kind);return i!==0?i:r.id.localeCompare(o.id)}),n=new Map;for(let r of t){let o=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(o)||n.set(o,{id:r.id,kind:r.kind})}return[...n.values()]}function vp(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:gp(e.dependencies)}}function bp(e){return rn(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function wp(e,t,n,r,o,i,s,a,c){for(let d of t.dependencies){let u=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:d.id,kind:d.kind}).length/3));if(a.nodes>=a.nodeLimit){e.truncated=!0,a.reasons.add("node_limit");break}if(a.edges>=a.edgeLimit){e.truncated=!0,a.reasons.add("edge_limit");break}if(a.estimatedTokens+u>=a.tokenBudget){e.truncated=!0,a.reasons.add("token_budget");break}a.edges+=1,a.estimatedTokens+=u,e.dependencies.push(Ac(d.id,n,r,o,i,s,a,c+1,d.kind))}}function Ep(e,t,n,r,o,i,s,a){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:r!==void 0&&a>=r?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):o==="repeated"&&i.has(n)?(e.collapsed=!0,!0):!1}function Ac(e,t,n,r,o,i,s,a=0,c){let d=e.trim().toLowerCase(),u=t.get(d),f={id:u?.id??e,title:u?.title,type:u?.type,status:u?.status,via:c,missing:!u,cycle:n.has(d),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=bp(f),Ep(f,u,d,r,o,i,s,a))return f;o==="repeated"&&i.add(d);let _=new Set(n);return _.add(d),wp(f,u,t,_,r,o,i,s,a),f}function Cc(e,t){return!e||e.missing&&!t.missing?t:{...e,title:e.title??t.title,type:e.type??t.type,status:e.status??t.status}}function kp(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,Cc(t.get(a.id),{id:a.id,title:a.title,type:a.type,status:a.status,missing:a.missing}));for(let c of a.dependencies){t.set(c.id,Cc(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let d=c.via??"related",u=`${a.id}::${c.id}::${d}`;n.has(u)||n.set(u,{from:a.id,to:c.id,kind:d}),c.cycle||r.push(c)}}let o=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),i=[...n.values()].sort((a,c)=>{let d=a.from.localeCompare(c.from);if(d!==0)return d;let u=a.to.localeCompare(c.to);return u!==0?u:a.kind.localeCompare(c.kind)}),s=o.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:o,edges:i,missing_ids:s}}function xc(e,t,n){let r=new Set,o=new Set,i=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],u=d.id.trim().toLowerCase();r.add(u);let f=t.get(u);if(!f){i.add(u);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(u)){s.add(u);for(let _ of f.dependencies)o.add(`${u}::${_.id.trim().toLowerCase()}::${_.kind}`),a.push({id:_.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:o.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function Ip(e,t=de()){let n=Oc(e.maxDepth),r=ht(e.nodeLimit,"node-limit"),o=ht(e.edgeLimit,"edge-limit"),i=ht(e.tokenBudget,"token-budget"),s=yp(e.kind,t);return{direction:hp(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...o===void 0?{}:{edgeLimit:o},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function Sp(e,t,n,r){return Ma(e.graph,t,e.details.map(o=>o.id===t&&r.length>0?{...o,evidence:r}:o),n)}function ii(e,t,n,r){for(let o of n.slice(0,r)){let i=o?.trim();i&&e.push(`${t}:${i}`)}}async function Tp(e,t,n,r){let o=await fr(e,t,n.id_prefix,n.item_format,r);if(!o)return[];let{document:i}=await mr(o,{schema:n.schema}),s=i.metadata,a=s.files??[],c=s.tests??[],d=s.docs??[],u=[["files",a.length],["tests",c.length],["docs",d.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(u.every(([,_])=>_===0))return[];let f=[`linked:${u.map(([_,p])=>`${_}=${p}`).join(",")}`];return ii(f,"file",a.map(_=>_.path),3),ii(f,"test",c.map(_=>_.command??_.path),2),ii(f,"doc",d.map(_=>_.path),2),f}function Cp(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:o,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:n.nodes.length+1,edge_count:n.edges.length,edge_basis:"deduplicated_directed",missing_count:r,missing_scope:"traversal",missing_reference_count:o.length,...s?{}:{missing_references:o.slice(0,i),context:n}}}function Op(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:o,registry:i}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(o===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(o.has(s.kind)||s.inverse!==void 0&&o.has(s.inverse))}function Rc(e,t,n){let r;for(;;){let o=rn(new TextEncoder().encode(fo(gr("deps",e),t)).byteLength);if(o===r)return o;n(o),r=o}}function Ap(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function xp(e){try{return Sp(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Ap(t))return e.smallestResult;throw t}}function Rp(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:a,missingReferences:c}=e,u=r.edgeLimit??40,f=r.tokenBudget,_,p;for(;;){let m=xp({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:f,rootEvidence:o,smallestResult:p});if("format"in m)return m;let y=m;_??=y.meta.tokenBudget,f??=_;let g=Cp({canonicalId:n,context:y,missingCount:a,missingReferences:c,referenceLimit:u,summaryOnly:i});if(p=g,i||(y.meta.tokenBudget=_,y.meta.usedTokens=Rc(yt(g,!1),s,x=>{y.meta.usedTokens=x}),y.meta.usedTokens<=_))return g;if(u>0){u-=1;continue}let S=f,A=S*_/y.meta.usedTokens;f=Math.min(S-1,Math.max(1,Math.floor(A*.9)))}}function Dp(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:o,summaryOnly:i,outputFormat:s}=e,a=Ip(r,t.graph.registry()),c=t.graph.closure(n,{direction:a.direction,...a.kinds===void 0?{}:{kinds:a.kinds},maxDepth:a.maxDepth??3}),d=c.value.filter(y=>t.missingIdSet.has(y.toLowerCase())),u=new Set(d.map(y=>y.toLowerCase())),f=t.graph.registry(),_=a.kinds?new Set(a.kinds.map(y=>f.require(y).kind)):void 0,p=new Set([n,...c.value]),m=[...t.dangling.active,...t.dangling.legacy_terminal].filter(y=>Op({row:y,missingReachableSet:u,packetIds:p,filteredKinds:_,registry:f}));return Rp({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:d.length,missingReferences:m})}function Np(e){let t=[e],n;for(;t.length>0;){let r=t.pop();r.dependencies.length>0&&(n=r,t.push(...r.dependencies))}return n?(n.dependencies.pop(),n.truncated=!0,!0):!1}function Lp(e,t,n,r,o,i,s){let a=o??lp,c=ht(n.nodeLimit,"node-limit")??up,d=ht(n.edgeLimit,"edge-limit")??fp,u=ht(n.tokenBudget,"token-budget")??mp,f={nodeLimit:c,edgeLimit:d,tokenBudget:u,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},_=Ac(e,r,new Set,a,t==="graph"?"repeated":i,new Set,f),p=xc(e,r,void 0),m;for(;;){let y=kp(_),g=f.reasons.size===0?void 0:{reasons:[...f.reasons].sort(),limits:{max_depth:a,node_limit:c,edge_limit:d,token_budget:u},estimated_tokens:0,total_node_count:p.node_count,total_edge_count:p.edge_count,omitted_node_count:Math.max(0,p.node_count-y.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-y.edges.length)},S={id:e,format:t,node_count:y.nodes.length,edge_count:y.edges.length,edge_basis:"deduplicated_directed",missing_count:y.missing_ids.length,...g?{truncation:g}:{}};if(m=t==="tree"?{...S,tree:_}:{...S,graph:y},(m.truncation===void 0?rn(new TextEncoder().encode(fo(gr("deps",yt(m,!1)),s)).byteLength):Rc(yt(m,!1),s,x=>{m.truncation.estimated_tokens=x}))<=u)return m;if(!Np(_))return f.reasons.add("token_budget"),m;f.reasons.add("token_budget")}}function yt(e,t,n={}){let r={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:n,projection:{mode:t?"summary":"full",declared_field_groups:[r],included_field_groups:t?[]:[r.name]}}}async function Dw(e,t,n){let r=vi(process.cwd(),n.path);await oi(r);let o=_p(t.format),i=Oc(t.maxDepth),s=pp(t.collapse);Di(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await bc(r),d=en(c,ue()),u=await Ec(r,c.item_format,d.type_to_folder,void 0,c.schema),f=nn(c.schema),_=new Map(u.map(m=>[m.id.trim().toLowerCase(),vp(m)])),p=Lo(u,m=>pe(m,f));for(let m of[...p.active,...p.legacy_terminal]){let y=_.get(m.holder_id.trim().toLowerCase()),g=m.kind.trim().toLowerCase();y&&!y.dependencies.some(S=>S.id.trim().toLowerCase()===m.target_id.trim().toLowerCase()&&S.kind===g)&&y.dependencies.push({id:m.target_id,kind:g})}if(!_.has(e.trim().toLowerCase()))throw new E(`Item ${e} not found`,w.NOT_FOUND);if(o==="context"){let m=_.get(e.trim().toLowerCase()).id,y=a?[]:await Tp(r,m,c,d.type_to_folder),g=x=>pe(x,f),S=ce(),A=ja().lookup(r,La(u,g,S),()=>tr(u,g,S));return yt(Dp({assembly:A.assembly,canonicalId:m,options:t,rootEvidence:y,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,A.assembly.legacyAliasCounts)}return a?yt({id:e,format:o,...xc(e,_,i)},!0,Object.fromEntries(Object.entries(tr(u,m=>pe(m,f)).legacyAliasCounts))):yt(Lp(e,o,t,_,i,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(tr(u,m=>pe(m,f)).legacyAliasCounts)))}export{Eu as a,De as b,kr as c,jp as d,Mp as e,an as f,Or as g,Wp as h,Vp as i,Kp as j,qp as k,Xp as l,Gp as m,Mr as n,Fr as o,Gi as p,ih as q,sh as r,ah as s,ch as t,dh as u,lh as v,Ur as w,es as x,uh as y,fh as z,mh as A,ud as B,rs as C,os as D,ds as E,St as F,Th as G,Ch as H,Ye as I,is as J,ph as K,ss as L,fd as M,hh as N,fn as O,Je as P,pe as Q,_n as R,yn as S,gn as T,bs as U,te as V,Fl as W,tt as X,nt as Y,iu as Z,my as _,_y as $,py as aa,Fy as ba,xu as ca,xn as da,Fe as ea,Dt as fa,sg as ga,yo as ha,Nn as ia,Js as ja,ag as ka,ea as la,cg as ma,st as na,at as oa,ws as pa,qu as qa,Ln as ra,yg as sa,vo as ta,Pn as ua,gg as va,vg as wa,ia as xa,jn as ya,ca as za,Mn as Aa,tf as Ba,bg as Ca,wg as Da,Wt as Ea,Uo as Fa,Gv as Ga,Yv as Ha,Jv as Ia,Qv as Ja,Wa as Ka,nb as La,dr as Ma,vc as Na,bc as Oa,gb as Pa,Sg as Qa,ei as Ra,V_ as Sa,la as Ta,ko as Ua,Nt as Va,Dg as Wa,Fg as Xa,$g as Ya,zg as Za,Ea as _a,If as $a,xo as ab,Zg as bb,Ro as cb,Qn as db,_t as eb,oi as fb,fr as gb,mr as hb,Q_ as ib,Z_ as jb,Ec as kb,rw as lb,kc as mb,np as nb,ow as ob,iw as pb,sw as qb,mw as rb,_v as sb,pv as tb,fm as ub,ce as vb,av as wb,er as xb,cv as yb,lm as zb,dv as Ab,Ht as Bb,_m as Cb,hm as Db,Lo as Eb,ym as Fb,Ev as Gb,tr as Hb,La as Ib,Po as Jb,ja as Kb,Cv as Lb,Ma as Mb,ht as Nb,Oc as Ob,hp as Pb,yp as Qb,Dw as Rb,$o as Sb,Dm as Tb,Bt as Ub,or as Vb,$a as Wb,Nm as Xb,Lm as Yb,Pm as Zb,Fm as _b};
177
+ //# sourceMappingURL=chunk-IAUOUGVR.js.map