@unbrained/pm-cli 2026.8.6 → 2026.8.7
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.
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +30 -0
- package/dist/cli/main.js +4 -2
- package/dist/cli/register-operations.js +11 -2
- package/dist/cli/stats-analytics-json.d.ts +9 -0
- package/dist/cli/stats-analytics-json.js +69 -0
- package/dist/cli-bundle/bundle-manifest.json +397 -397
- package/dist/cli-bundle/chunks/append-7BXBFDGD.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-TPKDJ5WL.js → chunk-2AXF3VSK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-R6RKEYYW.js → chunk-2XS43CCV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-T45OHXDW.js → chunk-3A6KWB72.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-3ISTDB42.js +8 -0
- package/dist/cli-bundle/chunks/{chunk-SXECIECW.js → chunk-4MTI7XOV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MCS73BKB.js → chunk-6BX5UDCN.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-A3XQ7VPU.js → chunk-6QPO7KLR.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BP6EMEDP.js → chunk-7MXHZHSQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-GU3TSEHD.js → chunk-7ZPMJW4U.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-343QETLI.js → chunk-AGYNSNCI.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-B4H7FEFH.js +5 -0
- package/dist/cli-bundle/chunks/{chunk-CA3BURYF.js → chunk-B4KLBBMN.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3ZJRFYY2.js → chunk-CALJHNBL.js} +12 -12
- package/dist/cli-bundle/chunks/{chunk-M357ZCOR.js → chunk-CFIGP5LY.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SVV3DQES.js → chunk-CS6MRHG7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-DWOAOZHZ.js → chunk-CUGNQQKH.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-D4FPS43D.js +164 -0
- package/dist/cli-bundle/chunks/{chunk-L6LGKJX3.js → chunk-H5Y5YE6A.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-5PBP2ZP3.js → chunk-H5Y6UV6E.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QJ7C3JIW.js → chunk-H7KGWPDF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-D7I3TUGV.js → chunk-HFSD77TQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-AOBDLU4T.js → chunk-HX2GTA6L.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4AVFKHHC.js → chunk-J2IEKAVR.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-OXY3SJ3N.js → chunk-K44PYFXH.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-M4VEE3FK.js → chunk-K4KGEEBT.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-KFLK5TRH.js +21 -0
- package/dist/cli-bundle/chunks/{chunk-FDBRXV25.js → chunk-KL6IEBV2.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JQ4NZ5EB.js → chunk-KWQZDZSS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-UVVXHGYS.js → chunk-KZ4X3DGU.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-LD77HJMQ.js +13 -0
- package/dist/cli-bundle/chunks/{chunk-AYRUGRNS.js → chunk-ME2JJ4LA.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-NFLJ3FHD.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-MDTH7SAE.js → chunk-NG6OXIBR.js} +8 -8
- package/dist/cli-bundle/chunks/{chunk-R6LSRGPS.js → chunk-NYIGHWQY.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3KFVGGRE.js → chunk-NZ75GNSA.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-Q3VOP62W.js → chunk-PCJWJNC2.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-C3YABSJK.js → chunk-PD3225AM.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-JFZIS6JF.js → chunk-PDEGKG7P.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-PIE5HBNA.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-SD3YXU2U.js → chunk-PW2H7YJR.js} +20 -20
- package/dist/cli-bundle/chunks/{chunk-PECV7L5T.js → chunk-TPKN3S7S.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-F4NREH3G.js → chunk-TPXAXTCO.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-UFWUJO4V.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-WSI5KZQJ.js → chunk-UQLZQVFW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-4OVGQW22.js → chunk-VT3Z5G7D.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RUAU5OSH.js → chunk-WOD3WWUN.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-DQGJ2RWT.js → chunk-WSJEIGJF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RAFUN7IX.js → chunk-WYNUU7ZW.js} +49 -46
- package/dist/cli-bundle/chunks/{chunk-5ZKQPA44.js → chunk-YGPNCCXZ.js} +2 -2
- package/dist/cli-bundle/chunks/close-CMY3BAUG.js +2 -0
- package/dist/cli-bundle/chunks/close-many-SA4XZCTK.js +2 -0
- package/dist/cli-bundle/chunks/comments-EZ556ZD3.js +2 -0
- package/dist/cli-bundle/chunks/copy-ZSGPA52X.js +2 -0
- package/dist/cli-bundle/chunks/{create-TG67IVFI.js → create-I5DVV4YG.js} +2 -2
- package/dist/cli-bundle/chunks/delete-RL3JACSW.js +2 -0
- package/dist/cli-bundle/chunks/{deps-AJUGP2OH.js → deps-S7UBCECS.js} +2 -2
- package/dist/cli-bundle/chunks/{docs-QOCLDRKJ.js → docs-ZZNVBBYO.js} +2 -2
- package/dist/cli-bundle/chunks/{files-3ST5TY64.js → files-27C337VT.js} +2 -2
- package/dist/cli-bundle/chunks/focus-5Z2SG7LU.js +2 -0
- package/dist/cli-bundle/chunks/{history-compact-7BJFML4S.js → history-compact-HJQK67CZ.js} +2 -2
- package/dist/cli-bundle/chunks/{history-redact-WJN3HYXR.js → history-redact-PWC6PDWA.js} +2 -2
- package/dist/cli-bundle/chunks/{history-repair-XDNZUB7F.js → history-repair-N3CY4WBF.js} +2 -2
- package/dist/cli-bundle/chunks/{learnings-SZMUPVNA.js → learnings-4FH23XDT.js} +2 -2
- package/dist/cli-bundle/chunks/{profile-KL53JIAC.js → profile-5Y5XXH5N.js} +2 -2
- package/dist/cli-bundle/chunks/{register-list-query-QH7ONPKU.js → register-list-query-FJZCJ67O.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-OCRQNZK4.js → register-mutation-YGYPW3BL.js} +3 -3
- package/dist/cli-bundle/chunks/register-operations-WMDSUMQF.js +2 -0
- package/dist/cli-bundle/chunks/{register-setup-QWBQ6HBS.js → register-setup-DL7FFABC.js} +2 -2
- package/dist/cli-bundle/chunks/restore-6KYBV5BY.js +2 -0
- package/dist/cli-bundle/chunks/{schema-QJ27OTRV.js → schema-EQGKBYXJ.js} +2 -2
- package/dist/cli-bundle/chunks/update-QVTYOD6I.js +2 -0
- package/dist/cli-bundle/chunks/update-many-DJSBU525.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-MBBMTDD3.js → chunk-2ECLECMK.js} +3 -3
- package/dist/cli-bundle/focused-chunks/{chunk-CL3NB7VW.js → chunk-3K4XV2BF.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-ME4XVOBJ.js → chunk-4EX25PXM.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-4VJQTS3P.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-73JUDYXT.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-GSW2Y7VZ.js → chunk-CIXVQPB7.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-7YTZ7A4E.js → chunk-DLTS3IHM.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-YHDCGUIW.js → chunk-DQ6FKGL3.js} +10 -10
- package/dist/cli-bundle/focused-chunks/{chunk-YLPZHWX7.js → chunk-HNL6IFGS.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-JLG2C4EQ.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-6KDHXURF.js → chunk-MHMTKV5V.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-GEYU23YS.js → chunk-MOTJFQ3F.js} +22 -22
- package/dist/cli-bundle/focused-chunks/{chunk-EYO4F74Z.js → chunk-NBJKQP4S.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-XNVXIQ4B.js → chunk-QHRTT7WT.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-27DK4A5O.js → chunk-R2LEMEV5.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-4JC3AOGS.js → chunk-RPNYG5MO.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-EAXXF2HW.js → chunk-RW5IYD4J.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-TQMFQYXR.js → chunk-TIKDBG4D.js} +16 -16
- package/dist/cli-bundle/focused-chunks/{chunk-N7QN3NE6.js → chunk-VZFU2R4M.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-GIERI4YU.js → chunk-YZEZAPJK.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-ZJIMJHDB.js +2 -0
- package/dist/cli-bundle/main.js +2 -2
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +1 -1
- package/dist/cli-bundle/sdk-core.js +29 -28
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +1 -1
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +1 -1
- package/dist/core/extensions/reserved-host-flags.js +3 -2
- package/dist/core/history/workspace-history.d.ts +22 -2
- package/dist/core/history/workspace-history.js +60 -36
- package/dist/core/output/output.d.ts +2 -0
- package/dist/core/output/output.js +3 -2
- package/dist/core/shared/command-types.d.ts +2 -0
- package/dist/core/shared/command-types.js +2 -2
- package/dist/mcp/tool-definitions.js +6 -2
- package/dist/sdk/author-attribution.js +23 -7
- package/dist/sdk/cli-bootstrap.d.ts +2 -0
- package/dist/sdk/cli-bootstrap.js +7 -2
- package/dist/sdk/cli-contracts/completeness.js +51 -4
- package/dist/sdk/cli-contracts/flag-contracts.js +3 -2
- package/dist/sdk/cli-contracts/registration-helpers.js +3 -2
- package/dist/sdk/cli-contracts/runtime-contracts.js +14 -8
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +116 -10
- package/dist/sdk/cli-contracts/tool-schema.js +18 -2
- package/dist/sdk/cli-program.js +3 -2
- package/dist/sdk/completion.js +5 -2
- package/dist/sdk/contracts.d.ts +1 -0
- package/dist/sdk/contracts.js +2 -2
- package/dist/sdk/core.d.ts +3 -1
- package/dist/sdk/core.js +4 -3
- package/dist/sdk/extension.js +9 -11
- package/dist/sdk/generated-error-code-catalog.js +112 -2
- package/dist/sdk/history-analytics.d.ts +141 -0
- package/dist/sdk/history-analytics.js +283 -0
- package/dist/sdk/improvement-ledger-validation.d.ts +3 -0
- package/dist/sdk/improvement-ledger-validation.js +63 -0
- package/dist/sdk/improvement-ledger.d.ts +139 -0
- package/dist/sdk/improvement-ledger.js +261 -0
- package/dist/sdk/index.d.ts +6 -2
- package/dist/sdk/index.js +8 -4
- package/dist/sdk/lifecycle/plan.js +6 -3
- package/dist/sdk/merge/install.js +10 -2
- package/dist/sdk/read-output-budget.js +24 -22
- package/dist/sdk/read-output-contracts.d.ts +10 -2
- package/dist/sdk/read-output-contracts.js +124 -65
- package/dist/sdk/read-output-rows.d.ts +29 -0
- package/dist/sdk/read-output-rows.js +100 -0
- package/dist/sdk/read-output-session.d.ts +69 -0
- package/dist/sdk/read-output-session.js +200 -0
- package/dist/sdk/runtime-input.d.ts +2 -0
- package/dist/sdk/runtime-input.js +14 -2
- package/dist/sdk/runtime-primitives.d.ts +1 -1
- package/dist/sdk/runtime-primitives.js +3 -3
- package/dist/sdk/runtime-stats-options.d.ts +9 -0
- package/dist/sdk/runtime-stats-options.js +38 -0
- package/dist/sdk/runtime.d.ts +1 -0
- package/dist/sdk/runtime.js +6 -27
- package/dist/sdk/stats.d.ts +40 -0
- package/dist/sdk/stats.js +112 -29
- package/docs/IMPROVEMENT_ANALYTICS.md +103 -0
- package/docs/OUTPUT_PROJECTION_CONTRACTS.md +5 -5
- package/docs/README.md +1 -0
- package/docs/READ_OUTPUT_CONTRACTS.md +60 -1
- package/marketplace.json +2 -2
- package/package.json +3 -3
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/sdk/public-surface.json +374 -821
- package/dist/cli-bundle/chunks/append-XAJ5Z4XS.js +0 -2
- package/dist/cli-bundle/chunks/chunk-AJE3AHPD.js +0 -8
- package/dist/cli-bundle/chunks/chunk-E7BFPLUZ.js +0 -5
- package/dist/cli-bundle/chunks/chunk-HS7OVAUN.js +0 -164
- package/dist/cli-bundle/chunks/chunk-SV3YQ4RY.js +0 -2
- package/dist/cli-bundle/chunks/chunk-V663653R.js +0 -20
- package/dist/cli-bundle/chunks/chunk-XPOQQJTX.js +0 -13
- package/dist/cli-bundle/chunks/chunk-YCCDXBNU.js +0 -2
- package/dist/cli-bundle/chunks/chunk-ZFBWCKYF.js +0 -2
- package/dist/cli-bundle/chunks/close-DI66JMSB.js +0 -2
- package/dist/cli-bundle/chunks/close-many-VFKT6U3O.js +0 -2
- package/dist/cli-bundle/chunks/comments-E73HIEZJ.js +0 -2
- package/dist/cli-bundle/chunks/copy-WBYVLCPC.js +0 -2
- package/dist/cli-bundle/chunks/delete-6XKUVVQN.js +0 -2
- package/dist/cli-bundle/chunks/focus-R2AWS63Y.js +0 -2
- package/dist/cli-bundle/chunks/register-operations-HIBJXRGB.js +0 -2
- package/dist/cli-bundle/chunks/restore-FXA5QPM7.js +0 -2
- package/dist/cli-bundle/chunks/update-7GBO4SXG.js +0 -2
- package/dist/cli-bundle/chunks/update-many-VF6ZKQUO.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-74CWP3A4.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-7AZDTGPA.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-LKQXXO62.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-QL5H3AQH.js +0 -2
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import{D as Cr,Da as ze,Fa as Ue,Ga as He,I as yt,Ia as zr,Ja as Ur,Ka as Hr,La as Wr,M as mn,Ma as qr,N as _n,Na as Br,O as pn,P as $e,Pa as ht,Q as Ar,W as
|
|
2
|
-
`).reverse();for(let h of f.slice(0,4096)){let _=
|
|
3
|
-
`||e==="\r"||e==="\f"||e==="\v":!1}function mo(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var qs=["January","February","March","April","May","June","July","August","September","October","November","December"],Bs=/^(\d{4})-(\d{2})-(\d{2})/,Vs=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Gs(e,t,n){let r=Bs.exec(t)??Vs.exec(t);if(!r)return;let o=Number.parseInt(r[1],10),i=Number.parseInt(r[2],10),s=Number.parseInt(r[3],10),a=n?.trim()||"deadline";if(i<1||i>12)throw new T(`Invalid ${a} value "${e}". Month "${r[2]}" is out of range \u2014 use a month between 01 and 12.`,I.USAGE);let d=mo(o,i-1);if(s<1||s>d)throw new T(`Invalid ${a} value "${e}". ${qs[i-1]} ${o} has ${d} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,I.USAGE)}function Xs(e,t){let n=new Date(e.getTime()),r=n.getUTCDate(),o=n.getUTCMonth()+t,i=n.getUTCFullYear()+Math.floor(o/12),s=(o%12+12)%12,a=Math.min(r,mo(i,s));return n.setUTCFullYear(i,s,a),n}function lf(e,t=new Date,n="deadline"){let r=e.trim();if(r.toLowerCase()==="now")return t.toISOString();let o=Ns.exec(r);if(o){let s=o[1]==="-"?-1:1,a=Number.parseInt(o[2],10)*s,d=o[3].toLowerCase();if(d==="m")return Xs(t,a).toISOString();let l=d==="h"?3600*1e3:d==="d"?1440*60*1e3:10080*60*1e3;return new Date(t.getTime()+a*l).toISOString()}Gs(e,r,n);let i=Us(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=Ds.test(r)?"Compound relative expressions like +3d+1h are not supported; use a single relative token (for example +3d) or an ISO/date string.":'Use ISO/date string input, "now", or relative +6h/-6h/+1d/-1d/+2w/-2w/+6m/-6m.';throw new T(`Invalid ${s} value "${e}". ${a}`,I.USAGE)}return new Date(i).toISOString()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77d3ebfa-789a-54cf-9d49-dbebab8d32ea")}catch{}})();var Ie=1,_o=1;function ff(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=Ie?t:Ie}function po(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=Ie))return e}function Ks(e,t=_o){return e<t?"outdated":e>t?"ahead":"current"}function mf(e,t=_o){let n=[],r=[];for(let o of e){let i=Ks(o.version,t);i==="outdated"?n.push(o.ref):i==="ahead"&&r.push(o.ref)}return{outdated:n.sort((o,i)=>o.localeCompare(i)),ahead:r.sort((o,i)=>o.localeCompare(i))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d7501aa2-d3d9-5fbe-a1c0-d4bc145f5563")}catch{}})();var Js={"in-progress":"in_progress",cancelled:"canceled"};function St(e,t){if(t){let o=Wr(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Js[n]??n;if(dt.includes(r))return r}function Ys(e,t){return St(e,t)??e}function hf(e,t){return t.terminal_statuses.has(Ys(e,t))}import{encode as oa}from"@toon-format/toon";import{isDeepStrictEqual as wo}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]="9bef4fe4-11a8-51ae-a42a-a93cc9c57384")}catch{}})();function Sn(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 Qs(e){return[...new Set([Br(e),Sn(e.key),Sn(e.cli_flag),...e.cli_aliases.map(t=>Sn(t))])]}function go(e,t){for(let n of Qs(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function bo(e){return Array.isArray(e)?e.flatMap(t=>bo(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 yo(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 T(`${t} must be one of true|false|1|0|yes|no`,I.USAGE)}function ho(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 T(`${t} must be a number`,I.USAGE);return r}function Zs(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 T(`${t} must be valid JSON ${n}`,I.USAGE)}function We(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:Zs(i,r,e.type)}if(e.repeatable||e.type==="string_array"){let i=bo(t);return e.type==="number"?i.map(s=>ho(s,r)):e.type==="boolean"?i.map(s=>yo(s,r)):i}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?ho(o,r):e.type==="boolean"?yo(o,r):typeof o=="string"?o:String(o)}function ea(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 kf(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=go(e,i);if(s===void 0){ea(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=We(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function Sf(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=go(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=We(s,a)))}return r}import{decode as ta}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2840e12e-7444-5d36-9f54-5a56267bbb75")}catch{}})();function vn(e){return{value:ta(e),usedScalarBracketEscape:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fedb7b50-6946-589d-b240-9f074e09e467")}catch{}})();var na=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function ra(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(na);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function vt(e){return ra(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]="a4c22692-fe27-5178-bba2-190ac3f80628")}catch{}})();var ia=new Set(["schema","tracker","auto"]),sa=new Set(["passed","failed","stopped","canceled"]),aa=new Set(Ir);function Oe(e){return e.replaceAll("\\","/")}function Rn(e){for(let t of e)if(t!==0)return t;return 0}function xt(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var vo=["id","title","description","created_at","updated_at"],ca=new Set(ne);function Io(e){if(e?.schema)return{statusRegistry:Hr(e.schema),fieldRegistry:qr(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function da(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function ie(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new T(`Invalid item metadata: ${e}`,I.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 Ve(e,t){throw new T(t,I.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 xo(e){let t=new Set(ca);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function g(e,t){e||ie(t)}function Ge(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&ie(t),e}function In(e,t){let n=e[t];g(typeof n=="string",`${t} must be a string`),g(re(n),`${t} must be a valid ISO timestamp`)}function Eo(e,t,n){let r=e[t];r!==void 0&&g(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function On(e,t,n){let r=e[t];r!==void 0&&(g(typeof r=="string",`${n} must be a string`),g(re(r),`${n} must be a valid ISO timestamp`))}function la(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){g(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();g(mt.includes(n),`event.recurrence.by_weekday entries must be one of: ${mt.join(", ")}`)}}}function ua(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)g(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function fa(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)g(typeof t=="string","event.recurrence.exdates entries must be strings"),g(re(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function ma(e){let t=Ge(e,"event.recurrence must be an object");g(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();g(ft.includes(n),`event.recurrence.freq must be one of: ${ft.join(", ")}`),Eo(t,"interval","event.recurrence.interval"),Eo(t,"count","event.recurrence.count"),On(t,"until","event.recurrence.until"),la(t.by_weekday),ua(t.by_month_day),fa(t.exdates)}function _a(e){for(let r of vo)g(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;g(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&g(typeof n=="number"&&Number.isInteger(n)&&n>=Ie,`pm_format_version must be an integer >= ${Ie}`),t}function pa(e,t){let n=e.status;g(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=St(n,r),i=r?r.definitions.map(s=>s.id):[...dt];g(o!==void 0,`status must be one of: ${i.join(", ")}`)}function ya(e){let t=e.priority;g(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;g(Array.isArray(n),"tags must be an array");for(let r of n)g(typeof r=="string","tags entries must be strings")}function ha(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){g(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let n=t.trim().toLowerCase(),r=n==="med"||ut.includes(n);g(r,`confidence string value must be one of: ${[...ut,"med"].join(", ")}`);return}g(!1,"confidence must be a number or string")}}function ga(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&ie("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||lt.includes(n);g(r,`severity value must be one of: ${[...lt,"med"].join(", ")}`)}function ba(e){e.regression!==void 0&&typeof e.regression!="boolean"&&ie("regression must be a boolean")}function wa(e){let t=e.reminders;if(t!==void 0){g(Array.isArray(t),"reminders must be an array");for(let n of t){let r=Ge(n,"reminders entries must be objects");g(typeof r.at=="string","reminder.at must be a string"),g(re(r.at),"reminder.at must be a valid ISO timestamp"),g(typeof r.text=="string","reminder.text must be a string"),g(r.text.trim().length>0,"reminder.text must not be empty")}}}function Ea(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(g(typeof e[t]=="string",`event.${t} must be a string`),g(e[t].trim().length>0,`event.${t} must not be empty`))}function ka(e){e.recurrence!==void 0&&(ma(e.recurrence),e.recurrence.until!==void 0&&g(j(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function Sa(e){let t=Ge(e,"events entries must be objects");g(typeof t.start_at=="string","event.start_at must be a string"),g(re(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(g(typeof t.end_at=="string","event.end_at must be a string"),g(re(t.end_at),"event.end_at must be a valid ISO timestamp"),g(j(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),Ea(t),t.all_day!==void 0&&g(typeof t.all_day=="boolean","event.all_day must be a boolean"),ka(t)}function va(e){let t=e.events;if(t!==void 0){g(Array.isArray(t),"events must be an array");for(let n of t)Sa(n)}}function Ia(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&g(typeof n=="string",`${t} must be a string`)}}function xa(e){let t=e.type_options;if(t===void 0)return;let n=Ge(t,"type_options must be an object");for(let[r,o]of Object.entries(n))g(r.trim().length>0,"type_options keys must be non-empty"),g(typeof o=="string","type_options values must be strings"),g(o.trim().length>0,"type_options values must be non-empty strings")}function Ta(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){da(r,t)&&ie(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=We(r,o,`metadata field "${r.metadata_key}"`)}catch(i){ie(String(i?.message).replace(/^Invalid\s+/u,""))}}}function Oa(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=xo(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?ie(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function Cn(e,t){let n=Ge(e,"item metadata must be an object"),r=_a(n);pa(n,t),ya(n),ha(n),ga(n),ba(n),In(n,"created_at"),In(n,"updated_at"),n.deadline!==void 0&&In(n,"deadline"),wa(n),va(n),On(n,"closed_at","closed_at"),On(n,"completed_at","completed_at"),Ia(n),xa(n),Ta(n,r,t),Oa(n,t)}function Ca(e){if(!(!e||e.length===0))return[...e].map(t=>({id:t.id.trim().toLowerCase(),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=j(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 xn(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=j(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 Aa(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=j(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function Ra(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!ft.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>mt.includes(s)))).sort((s,a)=>fn(s)-fn(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=>re(s)))).sort((s,a)=>j(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 Na(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(Da).sort(Ma)}function Da(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:Ra(e.recurrence)};return xt(t),t}function Ma(e,t){return Rn([j(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 La(e){if(!(!e||e.length===0))return e.map(t=>({path:Oe(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function Pa(e){if(!e||e.length===0)return;let t=e.map($a).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)=>Rn([j(n.recorded_at,r.recorded_at),n.run_id.localeCompare(r.run_id),n.kind.localeCompare(r.kind)]));return t.length>0?t:void 0}function xe(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function ja(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Tn(e){return typeof e=="string"?e:""}function Fa(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 $a(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=sa.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:Tn(e.started_at),finished_at:Tn(e.finished_at),recorded_at:Tn(e.recorded_at),attempt:ja(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:xe(e.passed)??0,failed:xe(e.failed)??0,skipped:xe(e.skipped)??0,items:xe(e.items),linked_tests:xe(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:Fa(e.measurements)};return xt(o),o}function za(e){if(!(!Array.isArray(e)||e.length===0))return[...e].map(Wa).sort(qa)}function qe(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 To(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Nn(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function ko(e){if(!To(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!Nn(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Ua(e){if(!To(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!Nn(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Ha(e){let t=e?.trim().toLowerCase();if(!(!t||!ia.has(t)))return t}function Wa(e){let t={command:e.command?.trim()||void 0,path:e.path?Oe(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:Ha(e.pm_context_mode),env_set:ko(e.env_set),env_clear:qe(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:qe(e.assert_stdout_contains),assert_stdout_regex:qe(e.assert_stdout_regex),assert_stderr_contains:qe(e.assert_stderr_contains),assert_stderr_regex:qe(e.assert_stderr_regex),assert_stdout_min_lines:xe(e.assert_stdout_min_lines),assert_json_field_equals:ko(e.assert_json_field_equals),assert_json_field_gte:Ua(e.assert_json_field_gte),note:e.note?.trim()||void 0};return xt(t),t}function qa(e,t){return Rn([e.scope.localeCompare(t.scope),It(e.path,t.path),It(e.command,t.command),So(e.timeout_seconds,t.timeout_seconds),It(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,oe(e.env_clear,t.env_clear,[]),oe(e.env_set,t.env_set,{}),oe(e.assert_stdout_contains,t.assert_stdout_contains,[]),oe(e.assert_stdout_regex,t.assert_stdout_regex,[]),oe(e.assert_stderr_contains,t.assert_stderr_contains,[]),oe(e.assert_stderr_regex,t.assert_stderr_regex,[]),So(e.assert_stdout_min_lines,t.assert_stdout_min_lines),oe(e.assert_json_field_equals,t.assert_json_field_equals,{}),oe(e.assert_json_field_gte,t.assert_json_field_gte,{}),It(e.note,t.note)])}function It(e,t){return(e??"").localeCompare(t??"")}function So(e,t){return(e??0)-(t??0)}function oe(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function Ba(e){if(!(!e||e.length===0))return[...e].map(t=>({path:Oe(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 y(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Va(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=y(r.id),i=y(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=y(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 Ga(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=y(r.path);if(!o)continue;let i={path:Oe(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=y(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Xa(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=y(r.command),i=y(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=Oe(i));let a=y(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Ka(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=y(r.path);if(!o)continue;let i={path:Oe(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=y(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Ja(e){if(e===null||typeof e!="object")return;let t=e,n=y(t.id),r=y(t.title),o=y(t.status),i=o&&aa.has(o)?o:void 0,s=Nr(t.order)??Number.NaN,a=typeof t.created_at=="string"?t.created_at:"",d=typeof t.updated_at=="string"?t.updated_at:"";if(!n||!r||!i||!Number.isFinite(s)||!a||!d)return;let l={id:n,order:s,title:r,status:i,created_at:a,updated_at:d};return Ya(l,t),l}function Ya(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=y(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",Va],["files","files",Ga],["tests","tests",Xa],["docs","docs",Ka]];for(let[i,s,a]of o){let d=a(t[s]);d&&(e[i]=d)}}function Qa(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Ja(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Za(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=y(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},d=y(r.rationale);d&&(a.rationale=d);let l=y(r.evidence);l&&(a.evidence=l);let m=y(r.step_id);m&&(a.step_id=m),t.push(a)}return t.length>0?t:void 0}function ec(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=y(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},d=y(r.step_id);d&&(a.step_id=d),t.push(a)}return t.length>0?t:void 0}function tc(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=y(r.text);if(!o)continue;let i={text:o},s=y(r.command);s&&(i.command=s);let a=y(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function nc(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 Te(e){let t=0;for(;t<e.length&&e[t]===`
|
|
4
|
-
`;)t+=1;return e.slice(t).trimEnd()}function
|
|
5
|
-
`,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 An(e,t){return Tt(e,{...t,onWarning:void 0})}function
|
|
1
|
+
import{D as Cr,Da as ze,Fa as Ue,Ga as He,I as yt,Ia as zr,Ja as Ur,Ka as Hr,La as Wr,M as mn,Ma as qr,N as _n,Na as Br,O as pn,P as $e,Pa as ht,Q as Ar,W as Nr,X as Rr,a as br,h as _t,o as Tr,oa as Dr,p as pt,pa as Mr,q as _e,qa as Lr,r as W,ra as Pr,s as Fe,sa as jr,ta as Fr,ua as $r,x as Or}from"./chunk-RW5IYD4J.js";import{C as ft,D as mt,E as fn,G as Ir,R as me,S as re,T as xr,W as b,X as je,Y as I,Z as T,aa as G,ba as ke,ca as pe,da as E,n as dt,o as wr,p as Er,q as kr,r as Sr,v as lt,w as ut,x as vr}from"./chunk-ZJIMJHDB.js";import{AsyncLocalStorage as ys}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="16109ee9-e684-5d25-a5f4-30a6c4f62bd5")}catch{}})();var yn=new ys,Vr=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function gt(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function ye(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=gt(n.id,128),o=gt(n.parent_id,128);if(r===void 0||!Vr.test(r)||o!==void 0&&!Vr.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=gt(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Se(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=gt(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function hs(e,t,n){let r=yn.getStore(),o=Se({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=ye(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={...Se(r?.provenance),...o,...Se(e?.provenance)},a=ye(e?.episode,!1)??ye(n,!1)??i??ye(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 Gr(e,t){return hs(e.session_context,t,e.client_info?.episode)??{}}function zu(e,t){let n=yn.getStore(),r=ye(e.episode,!0),o=ye(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Se(n?.provenance),...Se(e.provenance)};return yn.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Uu(e){let t=Se(e.provenance),n=ye(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 bn}from"node:async_hooks";import{createHash as gs}from"node:crypto";import bt from"node:fs";import bs from"node:os";import Xr 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]="0139d8ef-d286-571f-89f8-7de2f8422f22")}catch{}})();var Jr=["model","effort","role","topic","version"],wt=new bn,Yr=new bn,wn=new bn,ws=[{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"],role:["CLAUDE_CODE_CHILD_SESSION"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["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:{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:[]}],ve=new Map,hn=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function $(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function he(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Et(e){let t=e.harness.trim().toLowerCase();if(!hn.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:he(e.environment_keys),model_environment_keys:he(e.model_environment_keys),session_environment_keys:he(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),he(r)]).filter(([n])=>hn.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"&&hn.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"))),provenance_unavailable_dimensions:he(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:he(e.argv_markers).map(n=>n.toLowerCase()),client_names:he(e.client_names).map(n=>n.toLowerCase())}}var Qr=ws.map(Et);function Es(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Kr(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function Zr(e=[]){let t=[...Qr,...[...ve.values()].map(r=>r.descriptor),...wn.getStore()?.descriptors??[],...e.map(Et)],n=new Set;for(let r of t){if(n.has(r.harness))throw new Error(`Harness signal descriptor collision for "${r.harness}"`);n.add(r.harness)}return t}function eo(e,t){for(let n of t??[]){let r=$(e[n]);if(r)return r.slice(0,256)}}function ks(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 $(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return $(i.slice(s.length+1))?.slice(0,256)}}function gn(e,t){return $(e?.[t])?.slice(0,256)}var Ss=1048576;function vs(e,t){if(e.length===0||e.length>262144)return;let n;try{n=JSON.parse(e)}catch{return}if(typeof n!="object"||n===null)return;let r=n,o=typeof r.message=="object"&&r.message!==null?r.message:void 0,i=t==="model"?o?.model:r.version;return $(i)?.slice(0,256)}function Is(e,t,n){let r=$(n.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let i=Xr.resolve(t.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),s=Xr.join(t.home_dir??bs.homedir(),".claude","projects",i,`${r}.jsonl`);try{let a=bt.openSync(s,"r");try{let d=bt.fstatSync(a).size,l=Math.min(d,Ss),m=Buffer.alloc(l);bt.readSync(a,m,0,l,Math.max(0,d-l));let f=m.toString("utf8").split(`
|
|
2
|
+
`).reverse();for(let h of f.slice(0,4096)){let _=vs(h,e);if(_)return _}return}finally{bt.closeSync(a)}}catch{return}}function xs(e,t,n,r){let o=wn.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes($(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return Is(e,t,n);if(s==="ai_agent_version"){let a=$(n.AI_AGENT);return a?/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256):void 0}}function to(e){return e||(Yr.getStore()??{env:process.env,argv:process.argv})}function Ts(e,t,n,r){let o=e.environment_keys.some(a=>$(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(d=>{let l=d.replaceAll("\\","/");return Kr(l.slice(l.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||Kr(r,a));return o||i||s}function Os(e,t,n,r,o){let i=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,s=new Set([...Jr,...Object.keys(r?.provenance_environment_keys??{})]),a,d;s.has(e)&&(a=$(n[i])?.slice(0,256),d=ks(t.argv??[],e));let l={...r?.provenance_environment_keys,model:r?.model_environment_keys},m={...t.client_info?.provenance,model:t.client_info?.model},f=[a,gn(o?.provenance,e),eo(n,l[e]),gn(m,e),gn(t.provenance,e),d,xs(e,t,n,r)];return["override","session","environment","mcp_client","host","argv","probe"].map((S,v)=>({value:f[v],source:S})).find(S=>S.value!==void 0)}function Cs(e,t,n,r){let o=Object.keys(n?.provenance_environment_keys??{}),i=new Set([...Jr,...o,...Object.keys(n?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(r?.provenance??{})]),s={};for(let a of i){let d=Os(a,e,t,n,r);d?s[a]=d:n&&(a!=="version"||n.provenance_unavailable_dimensions.includes(a))&&(s[a]=null)}return s}function Ku(e){let t=e.map(Et),n=new Map(Qr.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness)||n.has(i.harness))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);let s=ve.get(i.harness);if(s&&!Es(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=ve.get(i.harness);ve.set(i.harness,{descriptor:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=ve.get(i.harness);!s||s.registrations<=1?ve.delete(i.harness):s.registrations-=1}}}}function Ju(e,t){return Yr.run(e,t)}function Yu(e,t,n={}){let r=e.map(Et);return Zr(r),wn.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function no(e){let t=to(e),n=t.env??{},r=Zr(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(_=>_.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(_=>Ts(_,n,o,i)),a=Gr(t,n),d=Cs(t,n,s,a),l=d.model,m=[eo(n,s?.session_environment_keys),$(t.client_info?.session)?.slice(0,256)].find(_=>_!==void 0),f=s?.harness&&m?gs("sha256").update(`pm-agent-instance:v1\0${s.harness}\0${m}`).digest("hex").slice(0,24):void 0,h=[["harness",s?.harness],["model",l?.value],["model_source",l?.source],["session",m],["instance",f],["provenance",Object.keys(d).length>0?d:void 0],["episode",a.episode]];return Object.fromEntries(h.filter(_=>_[1]!==void 0))}function Qu(){return process.env.PM_AUTHOR}function Zu(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function ef(e){return no(e).harness}function As(e,t,n){let r=to(n),o=no(r);if(e!==void 0){let s=$(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=$(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=$(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function ro(e){let t=wt.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function oo(e){let t=wt.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 io(e){let t=wt.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function so(e,t){let n=As(e,t);return wt.enterWith(n),n.author}import Ns from"node:crypto";import{AsyncLocalStorage as Rs}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]="cc84ae55-6dc4-57d4-b7de-c43ae1fb4603")}catch{}})();var co=new Rs,ao=1024;function lo(){let e=co.getStore();if(e===void 0)return;let t=new Date(Date.parse(e.clock)+e.clockReads*e.tickMs).toISOString();return e.clockReads+=1,t}function uo(e){let t=co.getStore();if(t===void 0)return;if(!Number.isSafeInteger(e)||e<0||e>ao)throw new Error(`Reproducible token length must be an integer between 0 and ${ao}`);let n="";for(;n.length<e;){let r=Ns.createHash("sha256").update(`${t.seed}\0${t.tokenReads}`).digest();t.tokenReads+=1;for(let o of r)if(n+=(o%36).toString(36),n.length===e)break}return 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]="6be1497f-a0d5-518b-bf6a-e549b18fad8a")}catch{}})();var Ds=/^([+-]?)(\d+)([hdwm])$/i,Ms=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,Ls=/^(\d{4})(\d{2})(\d{2})$/,Ps=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,js=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})-(\d{2})(?:-(\d{2}))?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Fs=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i;function ge(){return lo()??new Date().toISOString()}function oe(e){return Number.isFinite(Date.parse(e))}var $s=1e4,kt=new Map;function fo(e){let t=kt.get(e);if(t!==void 0)return t;let n=Date.parse(e);return kt.size>=$s&&ht(kt),kt.set(e,n),n}function j(e,t){let n=fo(e),r=fo(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function lf(e,t){return!(t.deadlineBefore&&(!e.deadline||j(e.deadline,t.deadlineBefore)>0)||t.deadlineAfter&&(!e.deadline||j(e.deadline,t.deadlineAfter)<0)||t.updatedAfter&&j(e.updated_at,t.updatedAfter)<0||t.updatedBefore&&j(e.updated_at,t.updatedBefore)>0||t.createdAfter&&j(e.created_at,t.createdAfter)<0||t.createdBefore&&j(e.created_at,t.createdBefore)>0)}function En(e){return e?`.${e.slice(1).padEnd(3,"0").slice(0,3)}`:""}function kn(e){if(!e)return"";if(e.toUpperCase()==="Z")return"Z";let t=/^([+-]\d{2})(\d{2})$/.exec(e);return t?`${t[1]}:${t[2]}`:e}function zs(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function Us(e){let t=[],n=l=>zs(t,e,l),r=Ls.exec(e);if(r){let[,l,m,f]=r;n(`${l}-${m}-${f}`)}let o=Ps.exec(e);if(o){let[,l,m,f,h,_,S,v,w]=o,N=S?`:${S}`:"";n(`${l}-${m}-${f}T${h}:${_}${N}${En(v)}${kn(w)}`)}let i=js.exec(e);if(i){let[,l,m,f,h,_,S]=i,v=h?`:${h}`:"";n(`${l}T${m}:${f}${v}${En(_)}${kn(S)}`)}let s=Fs.exec(e);if(s){let[,l,m,f,h,_,S]=s,v=h?`:${h}`:"";n(`${l}T${m}:${f}${v}${En(_)}${kn(S)}`)}let a=10,d=e.slice(0,a);if(Ws(d)){let l=a;for(;l<e.length&&qs(e[l]);)l+=1;l<e.length&&n(`${d}T${e.slice(l)}`)}return t}function Hs(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of Us(e)){let r=Date.parse(n);if(Number.isFinite(r))return r}return Number.NaN}function Ws(e){if(e.length!==10)return!1;for(let t=0;t<e.length;t+=1){let n=e[t];if(t===4||t===7){if(n!=="-")return!1;continue}let r=n.charCodeAt(0);if(r<48||r>57)return!1}return!0}function qs(e){return e?e===" "||e===" "||e===`
|
|
3
|
+
`||e==="\r"||e==="\f"||e==="\v":!1}function mo(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var Bs=["January","February","March","April","May","June","July","August","September","October","November","December"],Vs=/^(\d{4})-(\d{2})-(\d{2})/,Gs=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Xs(e,t,n){let r=Vs.exec(t)??Gs.exec(t);if(!r)return;let o=Number.parseInt(r[1],10),i=Number.parseInt(r[2],10),s=Number.parseInt(r[3],10),a=n?.trim()||"deadline";if(i<1||i>12)throw new T(`Invalid ${a} value "${e}". Month "${r[2]}" is out of range \u2014 use a month between 01 and 12.`,I.USAGE);let d=mo(o,i-1);if(s<1||s>d)throw new T(`Invalid ${a} value "${e}". ${Bs[i-1]} ${o} has ${d} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,I.USAGE)}function Ks(e,t){let n=new Date(e.getTime()),r=n.getUTCDate(),o=n.getUTCMonth()+t,i=n.getUTCFullYear()+Math.floor(o/12),s=(o%12+12)%12,a=Math.min(r,mo(i,s));return n.setUTCFullYear(i,s,a),n}function uf(e,t=new Date,n="deadline"){let r=e.trim();if(r.toLowerCase()==="now")return t.toISOString();let o=Ds.exec(r);if(o){let s=o[1]==="-"?-1:1,a=Number.parseInt(o[2],10)*s,d=o[3].toLowerCase();if(d==="m")return Ks(t,a).toISOString();let l=d==="h"?3600*1e3:d==="d"?1440*60*1e3:10080*60*1e3;return new Date(t.getTime()+a*l).toISOString()}Xs(e,r,n);let i=Hs(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=Ms.test(r)?"Compound relative expressions like +3d+1h are not supported; use a single relative token (for example +3d) or an ISO/date string.":'Use ISO/date string input, "now", or relative +6h/-6h/+1d/-1d/+2w/-2w/+6m/-6m.';throw new T(`Invalid ${s} value "${e}". ${a}`,I.USAGE)}return new Date(i).toISOString()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77d3ebfa-789a-54cf-9d49-dbebab8d32ea")}catch{}})();var Ie=1,_o=1;function mf(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=Ie?t:Ie}function po(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=Ie))return e}function Js(e,t=_o){return e<t?"outdated":e>t?"ahead":"current"}function _f(e,t=_o){let n=[],r=[];for(let o of e){let i=Js(o.version,t);i==="outdated"?n.push(o.ref):i==="ahead"&&r.push(o.ref)}return{outdated:n.sort((o,i)=>o.localeCompare(i)),ahead:r.sort((o,i)=>o.localeCompare(i))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d7501aa2-d3d9-5fbe-a1c0-d4bc145f5563")}catch{}})();var Ys={"in-progress":"in_progress",cancelled:"canceled"};function St(e,t){if(t){let o=Wr(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Ys[n]??n;if(dt.includes(r))return r}function Qs(e,t){return St(e,t)??e}function gf(e,t){return t.terminal_statuses.has(Qs(e,t))}import{encode as ia}from"@toon-format/toon";import{isDeepStrictEqual as wo}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]="9bef4fe4-11a8-51ae-a42a-a93cc9c57384")}catch{}})();function Sn(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 Zs(e){return[...new Set([Br(e),Sn(e.key),Sn(e.cli_flag),...e.cli_aliases.map(t=>Sn(t))])]}function go(e,t){for(let n of Zs(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function bo(e){return Array.isArray(e)?e.flatMap(t=>bo(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 yo(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 T(`${t} must be one of true|false|1|0|yes|no`,I.USAGE)}function ho(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 T(`${t} must be a number`,I.USAGE);return r}function ea(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 T(`${t} must be valid JSON ${n}`,I.USAGE)}function We(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:ea(i,r,e.type)}if(e.repeatable||e.type==="string_array"){let i=bo(t);return e.type==="number"?i.map(s=>ho(s,r)):e.type==="boolean"?i.map(s=>yo(s,r)):i}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?ho(o,r):e.type==="boolean"?yo(o,r):typeof o=="string"?o:String(o)}function ta(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 Sf(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=go(e,i);if(s===void 0){ta(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=We(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function vf(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=go(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=We(s,a)))}return r}import{decode as na}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2840e12e-7444-5d36-9f54-5a56267bbb75")}catch{}})();function vn(e){return{value:na(e),usedScalarBracketEscape:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fedb7b50-6946-589d-b240-9f074e09e467")}catch{}})();var ra=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function oa(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(ra);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function vt(e){return oa(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]="a4c22692-fe27-5178-bba2-190ac3f80628")}catch{}})();var sa=new Set(["schema","tracker","auto"]),aa=new Set(["passed","failed","stopped","canceled"]),ca=new Set(Ir);function Oe(e){return e.replaceAll("\\","/")}function Nn(e){for(let t of e)if(t!==0)return t;return 0}function xt(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var vo=["id","title","description","created_at","updated_at"],da=new Set(re);function Io(e){if(e?.schema)return{statusRegistry:Hr(e.schema),fieldRegistry:qr(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function la(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function se(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new T(`Invalid item metadata: ${e}`,I.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 Ve(e,t){throw new T(t,I.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 xo(e){let t=new Set(da);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function g(e,t){e||se(t)}function Ge(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&se(t),e}function In(e,t){let n=e[t];g(typeof n=="string",`${t} must be a string`),g(oe(n),`${t} must be a valid ISO timestamp`)}function Eo(e,t,n){let r=e[t];r!==void 0&&g(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function On(e,t,n){let r=e[t];r!==void 0&&(g(typeof r=="string",`${n} must be a string`),g(oe(r),`${n} must be a valid ISO timestamp`))}function ua(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){g(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();g(mt.includes(n),`event.recurrence.by_weekday entries must be one of: ${mt.join(", ")}`)}}}function fa(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)g(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function ma(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)g(typeof t=="string","event.recurrence.exdates entries must be strings"),g(oe(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function _a(e){let t=Ge(e,"event.recurrence must be an object");g(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();g(ft.includes(n),`event.recurrence.freq must be one of: ${ft.join(", ")}`),Eo(t,"interval","event.recurrence.interval"),Eo(t,"count","event.recurrence.count"),On(t,"until","event.recurrence.until"),ua(t.by_weekday),fa(t.by_month_day),ma(t.exdates)}function pa(e){for(let r of vo)g(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;g(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&g(typeof n=="number"&&Number.isInteger(n)&&n>=Ie,`pm_format_version must be an integer >= ${Ie}`),t}function ya(e,t){let n=e.status;g(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=St(n,r),i=r?r.definitions.map(s=>s.id):[...dt];g(o!==void 0,`status must be one of: ${i.join(", ")}`)}function ha(e){let t=e.priority;g(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;g(Array.isArray(n),"tags must be an array");for(let r of n)g(typeof r=="string","tags entries must be strings")}function ga(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){g(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let n=t.trim().toLowerCase(),r=n==="med"||ut.includes(n);g(r,`confidence string value must be one of: ${[...ut,"med"].join(", ")}`);return}g(!1,"confidence must be a number or string")}}function ba(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&se("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||lt.includes(n);g(r,`severity value must be one of: ${[...lt,"med"].join(", ")}`)}function wa(e){e.regression!==void 0&&typeof e.regression!="boolean"&&se("regression must be a boolean")}function Ea(e){let t=e.reminders;if(t!==void 0){g(Array.isArray(t),"reminders must be an array");for(let n of t){let r=Ge(n,"reminders entries must be objects");g(typeof r.at=="string","reminder.at must be a string"),g(oe(r.at),"reminder.at must be a valid ISO timestamp"),g(typeof r.text=="string","reminder.text must be a string"),g(r.text.trim().length>0,"reminder.text must not be empty")}}}function ka(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(g(typeof e[t]=="string",`event.${t} must be a string`),g(e[t].trim().length>0,`event.${t} must not be empty`))}function Sa(e){e.recurrence!==void 0&&(_a(e.recurrence),e.recurrence.until!==void 0&&g(j(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function va(e){let t=Ge(e,"events entries must be objects");g(typeof t.start_at=="string","event.start_at must be a string"),g(oe(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(g(typeof t.end_at=="string","event.end_at must be a string"),g(oe(t.end_at),"event.end_at must be a valid ISO timestamp"),g(j(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),ka(t),t.all_day!==void 0&&g(typeof t.all_day=="boolean","event.all_day must be a boolean"),Sa(t)}function Ia(e){let t=e.events;if(t!==void 0){g(Array.isArray(t),"events must be an array");for(let n of t)va(n)}}function xa(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&g(typeof n=="string",`${t} must be a string`)}}function Ta(e){let t=e.type_options;if(t===void 0)return;let n=Ge(t,"type_options must be an object");for(let[r,o]of Object.entries(n))g(r.trim().length>0,"type_options keys must be non-empty"),g(typeof o=="string","type_options values must be strings"),g(o.trim().length>0,"type_options values must be non-empty strings")}function Oa(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){la(r,t)&&se(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=We(r,o,`metadata field "${r.metadata_key}"`)}catch(i){se(String(i?.message).replace(/^Invalid\s+/u,""))}}}function Ca(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=xo(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?se(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function Cn(e,t){let n=Ge(e,"item metadata must be an object"),r=pa(n);ya(n,t),ha(n),ga(n),ba(n),wa(n),In(n,"created_at"),In(n,"updated_at"),n.deadline!==void 0&&In(n,"deadline"),Ea(n),Ia(n),On(n,"closed_at","closed_at"),On(n,"completed_at","completed_at"),xa(n),Ta(n),Oa(n,r,t),Ca(n,t)}function Aa(e){if(!(!e||e.length===0))return[...e].map(t=>({id:t.id.trim().toLowerCase(),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=j(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 xn(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=j(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 Na(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=j(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function Ra(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!ft.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>mt.includes(s)))).sort((s,a)=>fn(s)-fn(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=>oe(s)))).sort((s,a)=>j(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 Da(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(Ma).sort(La)}function Ma(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:Ra(e.recurrence)};return xt(t),t}function La(e,t){return Nn([j(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 Pa(e){if(!(!e||e.length===0))return e.map(t=>({path:Oe(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function ja(e){if(!e||e.length===0)return;let t=e.map(za).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)=>Nn([j(n.recorded_at,r.recorded_at),n.run_id.localeCompare(r.run_id),n.kind.localeCompare(r.kind)]));return t.length>0?t:void 0}function xe(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function Fa(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Tn(e){return typeof e=="string"?e:""}function $a(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 za(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=aa.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:Tn(e.started_at),finished_at:Tn(e.finished_at),recorded_at:Tn(e.recorded_at),attempt:Fa(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:xe(e.passed)??0,failed:xe(e.failed)??0,skipped:xe(e.skipped)??0,items:xe(e.items),linked_tests:xe(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:$a(e.measurements)};return xt(o),o}function Ua(e){if(!(!Array.isArray(e)||e.length===0))return[...e].map(qa).sort(Ba)}function qe(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 To(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Rn(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function ko(e){if(!To(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!Rn(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Ha(e){if(!To(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!Rn(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Wa(e){let t=e?.trim().toLowerCase();if(!(!t||!sa.has(t)))return t}function qa(e){let t={command:e.command?.trim()||void 0,path:e.path?Oe(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:Wa(e.pm_context_mode),env_set:ko(e.env_set),env_clear:qe(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:qe(e.assert_stdout_contains),assert_stdout_regex:qe(e.assert_stdout_regex),assert_stderr_contains:qe(e.assert_stderr_contains),assert_stderr_regex:qe(e.assert_stderr_regex),assert_stdout_min_lines:xe(e.assert_stdout_min_lines),assert_json_field_equals:ko(e.assert_json_field_equals),assert_json_field_gte:Ha(e.assert_json_field_gte),note:e.note?.trim()||void 0};return xt(t),t}function Ba(e,t){return Nn([e.scope.localeCompare(t.scope),It(e.path,t.path),It(e.command,t.command),So(e.timeout_seconds,t.timeout_seconds),It(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,[]),So(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,{}),It(e.note,t.note)])}function It(e,t){return(e??"").localeCompare(t??"")}function So(e,t){return(e??0)-(t??0)}function ie(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function Va(e){if(!(!e||e.length===0))return[...e].map(t=>({path:Oe(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 y(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Ga(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=y(r.id),i=y(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=y(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 Xa(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=y(r.path);if(!o)continue;let i={path:Oe(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=y(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Ka(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=y(r.command),i=y(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=Oe(i));let a=y(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Ja(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=y(r.path);if(!o)continue;let i={path:Oe(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=y(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Ya(e){if(e===null||typeof e!="object")return;let t=e,n=y(t.id),r=y(t.title),o=y(t.status),i=o&&ca.has(o)?o:void 0,s=Rr(t.order)??Number.NaN,a=typeof t.created_at=="string"?t.created_at:"",d=typeof t.updated_at=="string"?t.updated_at:"";if(!n||!r||!i||!Number.isFinite(s)||!a||!d)return;let l={id:n,order:s,title:r,status:i,created_at:a,updated_at:d};return Qa(l,t),l}function Qa(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=y(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",Ga],["files","files",Xa],["tests","tests",Ka],["docs","docs",Ja]];for(let[i,s,a]of o){let d=a(t[s]);d&&(e[i]=d)}}function Za(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Ya(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function ec(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=y(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},d=y(r.rationale);d&&(a.rationale=d);let l=y(r.evidence);l&&(a.evidence=l);let m=y(r.step_id);m&&(a.step_id=m),t.push(a)}return t.length>0?t:void 0}function tc(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=y(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},d=y(r.step_id);d&&(a.step_id=d),t.push(a)}return t.length>0?t:void 0}function nc(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=y(r.text);if(!o)continue;let i={text:o},s=y(r.command);s&&(i.command=s);let a=y(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function rc(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 Te(e){let t=0;for(;t<e.length&&e[t]===`
|
|
4
|
+
`;)t+=1;return e.slice(t).trimEnd()}function oc(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(ut.includes(t))return t}function ic(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(lt.includes(t))return t}function Be(e){return e||void 0}function sc(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))Rn(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function ac(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]=We(r,o,`metadata field "${r.metadata_key}"`))}}function cc(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=xo(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&se(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function Tt(e,t={}){let n=Io(t),r=St(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:po(e.pm_format_version),source_type:y(e.source_type),type_options:rc(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:Aa(e.dependencies),comments:xn(e.comments),notes:xn(e.notes),learnings:xn(e.learnings),files:Pa(e.files),tests:Ua(e.tests),test_runs:ja(e.test_runs),docs:Va(e.docs),deadline:Be(e.deadline),reminders:Na(e.reminders),events:Da(e.events),closed_at:Be(e.closed_at),completed_at:Be(e.completed_at),assignee:y(e.assignee),claim_principal:y(e.claim_principal),source_owner:y(e.source_owner),author:Be(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:y(e.definition_of_ready),order:e.order,goal:y(e.goal),objective:y(e.objective),value:y(e.value),impact:y(e.impact),outcome:y(e.outcome),why_now:y(e.why_now),parent:y(e.parent),reviewer:y(e.reviewer),risk:e.risk??void 0,confidence:oc(e.confidence),sprint:y(e.sprint),release:y(e.release),blocked_by:y(e.blocked_by),blocked_reason:y(e.blocked_reason),unblock_note:y(e.unblock_note),reporter:y(e.reporter),severity:ic(e.severity),environment:y(e.environment),repro_steps:y(e.repro_steps),resolution:y(e.resolution),expected_result:y(e.expected_result),actual_result:y(e.actual_result),affected_version:y(e.affected_version),fixed_version:y(e.fixed_version),component:y(e.component),regression:e.regression,customer_impact:y(e.customer_impact),close_reason:Be(e.close_reason),plan_mode:y(e.plan_mode),plan_scope:y(e.plan_scope),plan_harness:y(e.plan_harness),plan_resume_context:y(e.plan_resume_context),plan_steps:Za(e.plan_steps),plan_decisions:ec(e.plan_decisions),plan_discoveries:tc(e.plan_discoveries),plan_validation:nc(e.plan_validation)};return sc(i,e),ac(i,n),cc(i,n),xt(i),i}function Oo(e){return E(e,re)}function dc(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 lc(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=dc(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 uc(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(`
|
|
5
|
+
`,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 An(e,t){return Tt(e,{...t,onWarning:void 0})}function fc(e,t,n={}){let r=uc(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=lc(r.content);o||(e.trimStart().startsWith("{")&&Ve("json_markdown","JSON front matter is not valid JSON"),Ve("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{Ve("json_markdown","JSON front matter is not valid JSON")}return Cn(s,t),{metadata:An(s,n),body:Te(i)}}function mc(e,t,n={}){let r;try{r=vn(e).value}catch{Ve("toon","TOON item document is not valid TOON")}g(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!vo.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&Ve("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return Cn(o.front_matter,t),g(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:An(o.front_matter,n),body:Te(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return g(i===void 0||typeof i=="string","TOON item document body must be a string"),Cn(s,t),{metadata:An(s,n),body:Te(typeof i=="string"?i:"")}}function _c(e,t={}){let n=Tt(e.metadata,t),r=Oo(n),o=JSON.stringify(r,null,2),i=Te(e.body??"");return i?`${o}
|
|
6
6
|
|
|
7
7
|
${i}
|
|
8
8
|
`:`${o}
|
|
9
|
-
`}function
|
|
10
|
-
`}function Ot(e,t={}){let n=vt(e);if(n)throw new T(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,I.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=Io(t);return r==="toon"?
|
|
9
|
+
`}function pc(e,t={}){let n=Tt(e.metadata,t),r=Oo(n),o=Te(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=ia(s),d;try{d=vn(a).value}catch(l){throw new T("Refusing to persist a TOON item document that the configured decoder cannot read back.",I.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:l instanceof Error?l.message:String(l)})}if(!wo(d,s)){let l=typeof d=="object"&&d!==null&&!Array.isArray(d)?d:{},m=Object.keys(s).find(f=>!wo(s[f],l[f]))??"document";throw new T(`Refusing to persist a lossy TOON item document; round-trip mismatch at field "${m}".`,I.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_mismatch",format:"toon",field:m,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}
|
|
10
|
+
`}function Ot(e,t={}){let n=vt(e);if(n)throw new T(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,I.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=Io(t);return r==="toon"?mc(e,o,t):fc(e,o,t)}function Co(e,t={}){return(t.format??"toon")==="toon"?pc(e,t):_c(e,t)}function q(e,t={}){return{metadata:Tt(e.metadata,t),body:Te(e.body??"")}}import{existsSync as hc}from"node:fs";import{AsyncLocalStorage as gc}from"node:async_hooks";import Q 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]="bd9832a9-f6a2-5351-a929-0a0d2766df88")}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]="3239b2c7-3ae3-5d4e-9005-b61000362304")}catch{}})();function Gf(){let e=Promise.resolve(),t=new Set;return{async read(n){let r=e,o,i=new Promise(s=>{o=s});t.add(i),await r;try{return await n()}finally{t.delete(i),o()}},write(n){let o=Promise.all([e,...t]).then(()=>n());return e=o.then(()=>{},()=>{}),o}}}function yc(){let e=Promise.resolve(),t=0,n=[],r=()=>{if(t!==0)return;let o=n.splice(0);for(let i of o)i()};return{enqueue(o){t++;let i=e.then(()=>o());return e=i.then(()=>{},()=>{}).finally(()=>{t--,r()}),i},idle(){return t===0?Promise.resolve():new Promise(o=>n.push(o))}}}(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]="38024e6c-c1ef-5c15-8421-ac18d317e330")}catch{}})();var Ce=null,No=null,bc=null,wc=null,Dn=null,Ec=null,Ro=null,kc=null;var Sc=[],Do=new gc;function M(){return Do.getStore()}function sm(e){return Do.run({hooks:null,commands:null,parsers:null,preflight:null,services:null,renderers:null,registrations:null,commandContext:null,commandResult:void 0,affectedItems:[]},e)}var vc=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function Ao(e){let t=Q.resolve(e);for(;;){if(hc(Q.join(t,".git")))return t;let n=Q.dirname(t);if(n===t)return;t=n}}function Ic(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||process.cwd(),n=Ao(t)??Q.resolve(t),r=Ao(n);if(!e)return{source_workspace_root:n,...r?{repo_root:r}:{}};let o=Q.relative(n,Q.resolve(e)),i=o.length>0&&!o.startsWith(`..${Q.sep}`)&&o!==".."&&!Q.isAbsolute(o);return{source_workspace_root:n,...r?{repo_root:r}:{},...i?{pm_root_rel:o.split(Q.sep).join("/")}:{}}}function am(e){let t=M();if(t){t.hooks=e;return}Ce=e}function cm(e){let t=M();if(t){t.commands=e;return}No=e}function dm(e){let t=M();if(t){t.parsers=e;return}bc=e}function lm(e){let t=M();if(t){t.preflight=e;return}wc=e}function um(e){let t=M();if(t){t.services=e;return}Dn=e}function fm(e){let t=M();if(t){t.renderers=e;return}Ec=e}function mm(e){let t=M();if(t){t.registrations=e;return}Ro=e}function Xe(){let e=M();return e?e.registrations:Ro}function Mn(e){if(!e)return;let t=M();t?t.affectedItems.push(e):Sc.push(e)}function Ct(e,t){if(!e||!e.id)return{};let n={id:e.id,type:e.type,status:e.status};if(!Array.isArray(t))return n;let r=e;for(let o of t){if(typeof o!="string")continue;let i=o.startsWith("unset:")?o.slice(6):o;i==="id"||i==="type"||i==="status"||vc.has(i)||Object.hasOwn(r,i)&&r[i]!==void 0&&(n[i]=r[i])}return n}async function B(e){let t=M(),n=t?t.hooks:Ce;return n?Mr(n,e):[]}async function Ln(e){let t=M(),n=t?t.hooks:Ce;n&&await Dr(n,e)}async function X(e){let t=M(),n=t?t.hooks:Ce;return n?Lr(n,e):[]}function Pn(){let e=M();return((e?e.hooks:Ce)?.onRead?.length??0)>0}async function _m(e){let t=M(),n=t?t.hooks:Ce;return n?Pr(n,e):[]}async function pm(e){let t=M(),n=t?t.commands:No;return n?jr(n,{...e,...Ic(e.pm_root)}):{handled:!1,result:null,warnings:[]}}function Mo(e,t){let n=M(),r=n?n.commandContext:kc;return{service:e,command:r?.command,args:r?[...r.args]:[],options:r?.options?{...r.options}:{},global:r?.global?{...r.global}:void 0,pm_root:r?.pm_root,source_workspace_root:r?.source_workspace_root,repo_root:r?.repo_root,pm_root_rel:r?.pm_root_rel,payload:t}}async function Z(e,t){let n=M(),r=n?n.services:Dn;return r?$r(r,Mo(e,t)):{handled:!1,result:t,warnings:[]}}function Lo(e,t){let n=M(),r=n?n.services:Dn;return r?Fr(r,Mo(e,t)):{handled:!1,result:t,warnings:[]}}(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]="aa65b74d-ef5d-57ed-b613-3034da52a8ba")}catch{}})();async function Ke(e,t){let n=await _e(e);if(n===null)return[];if(await X({path:e,scope:"project"}),n.trim()==="")return[];let r=vt(n);if(r)throw new T(`History for ${t} contains merge conflict markers at line ${r.line} (${r.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,I.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 T(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,I.GENERIC_FAILURE)}}return o}import Gn 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]="4d71277c-e16c-56f4-a834-5200acfa6d7a")}catch{}})();import Go from"fast-json-patch";import ae from"node:fs/promises";import ee from"node:path";import{randomUUID as xc}from"node:crypto";import{createRequire as Tc}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]="f1205949-16d8-51ce-98e8-04abc4c78ee8")}catch{}})();var Oc="history-event-index.sqlite",jn="2";function Rt(e){return ee.join(e,"runtime",Oc)}function Cc(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function Ac(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?Cc(t):null}var At;function Fn(){return At!==void 0||(At=Ac(process.versions.node,Tc(import.meta.url))),At}function Nc(e){e.exec(`
|
|
11
11
|
PRAGMA journal_mode = OFF;
|
|
12
12
|
PRAGMA synchronous = OFF;
|
|
13
13
|
CREATE TABLE metadata (
|
|
@@ -38,25 +38,25 @@ ${i}
|
|
|
38
38
|
`),e.prepare("INSERT INTO metadata(key, value) VALUES ('version', ?)").run(jn)}function Po(e,t){e.prepare(`INSERT INTO events(
|
|
39
39
|
stream_id, stream_offset, ts, author, agent_harness,
|
|
40
40
|
agent_instance, op, entry_json
|
|
41
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(t.stream_id,t.stream_offset,t.entry.ts,t.entry.author,t.entry.agent_harness??null,t.entry.agent_instance??null,t.entry.op,JSON.stringify(t.entry))}async function
|
|
41
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(t.stream_id,t.stream_offset,t.entry.ts,t.entry.author,t.entry.agent_harness??null,t.entry.agent_instance??null,t.entry.op,JSON.stringify(t.entry))}async function Dm(e){let t=Fn();if(!t)return!1;let n=ee.join(e,"history"),o=(await ae.readdir(n,{withFileTypes:!0}).catch(d=>{if(typeof d=="object"&&d!==null&&"code"in d&&d.code==="ENOENT")return[];throw d})).filter(d=>d.isFile()&&d.name.endsWith(".jsonl")).sort((d,l)=>d.name.localeCompare(l.name)),i=Rt(e);await ae.mkdir(ee.dirname(i),{recursive:!0});let s=`${i}.${xc()}.tmp`,a;try{a=new t(s),Nc(a),a.exec("BEGIN IMMEDIATE");for(let d of o){let l=d.name.slice(0,-6),m=await Ke(ee.join(n,d.name),l);for(let[f,h]of m.entries())Po(a,{stream_id:l,stream_offset:f,entry:h})}return a.exec("COMMIT"),a.close(),a=void 0,await ae.rm(i,{force:!0}),await ae.rename(s,i),!0}catch(d){throw a?.close(),await ae.rm(s,{force:!0}),d}}async function jo(e,t){let n=ee.dirname(ee.dirname(e)),r=Rt(n);try{await ae.access(r)}catch{return}let o=Fn();if(!o)return;let i;try{if(i=new o(r),i.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==jn)throw new TypeError("Unsupported history event index version");let a=ee.basename(e,".jsonl"),d=i.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(a);Po(i,{stream_id:a,stream_offset:Number(d.value),entry:t}),i.close()}catch{i?.close(),await ae.rm(r,{force:!0})}}async function Dt(e){await ae.rm(Rt(ee.dirname(ee.dirname(e))),{force:!0})}function Nt(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function Rc(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 Mm(e,t){let n=Fn();if(!n)return null;let r=[],o=[];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 > ?))"),o.push(t.after_ts,t.after_ts,t.after_stream_id,t.after_ts,t.after_stream_id,t.after_stream_offset)):t.since_ts!==void 0&&(r.push("ts >= ?"),o.push(t.since_ts)),Nt(r,o,"op",t.ops),Nt(r,o,"author",t.authors),Rc(r,o,t.harnesses,t.harness_alias_authors),Nt(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);Nt(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{if(s=new n(Rt(e),{readOnly:!0}),s.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==jn)return s.close(),null;let d=s.prepare(`SELECT stream_id, stream_offset, entry_json
|
|
42
42
|
FROM events${i}
|
|
43
43
|
ORDER BY ts, stream_id, stream_offset
|
|
44
|
-
LIMIT ?`).all(...o,Math.max(0,Math.floor(t.limit))+1),l=d.length>t.limit,m=d.slice(0,t.limit).map(f=>({stream_id:String(f.stream_id),stream_offset:Number(f.stream_offset),entry:JSON.parse(String(f.entry_json))}));return s.close(),{events:m,has_more:l}}catch{return s?.close(),null}}import Bn from"node:fs/promises";import Ae 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]="22af7808-6456-5889-b6e3-1abd73f35738")}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]="c873f95b-c435-5b0d-a631-565fb195b5cd")}catch{}})();var Mt="changed_fields",
|
|
44
|
+
LIMIT ?`).all(...o,Math.max(0,Math.floor(t.limit))+1),l=d.length>t.limit,m=d.slice(0,t.limit).map(f=>({stream_id:String(f.stream_id),stream_offset:Number(f.stream_offset),entry:JSON.parse(String(f.entry_json))}));return s.close(),{events:m,has_more:l}}catch{return s?.close(),null}}import Bn from"node:fs/promises";import Ae 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]="22af7808-6456-5889-b6e3-1abd73f35738")}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]="c873f95b-c435-5b0d-a631-565fb195b5cd")}catch{}})();var Mt="changed_fields",Dc="changed_field_count",$n="rows",Mc=new Set(["apply","rollback"]),Fo=new Set(["deleted","would_delete"]);function be(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function $o(e){let t=e[Mt];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==Mt&&(n[r]=o);return n[Dc]=t.length,n}function Lc(e){return"item"in e&&Array.isArray(e[Mt])}function Pc(e){return typeof e.mode=="string"&&Mc.has(e.mode)&&Array.isArray(e[$n])}function jc(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[$n]=t,n}function Fc(e){if(!be(e))return null;let t=be(e.item)?e.item:be(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"&&Fo.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 $c(e){if(!be(e)||!be(e.item)||typeof e.item.id!="string")return null;let t=e[Mt];if(!Array.isArray(t))return null;let n={id:e.item.id,...typeof e.outcome=="string"&&Fo.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},r=typeof e.close_reason=="string"?e.close_reason:typeof e.item.close_reason=="string"?e.item.close_reason:void 0;return r!==void 0&&(n.close_reason=r),Array.isArray(e.warnings)&&e.warnings.length>0&&(n.warnings=e.warnings),n}function zc(e){let t=Pc(e)?e[$n]:void 0;if(!Array.isArray(t))return{projected:e,changed:!1};let n=!1,r=t.map(o=>{if(!be(o))return o;let i=$o(o);return i?(n=!0,i):o});return n?{projected:jc(e,r),changed:!0}:{projected:e,changed:!1}}function Uc(e,t={}){if(t.idOnly===!0){let a=Fc(e);if(a!==null)return a}if(t.compactEnvelope===!0){let a=$c(e);if(a!==null)return a}if((t.changedFields??"full")==="full"||!be(e))return e;let r=!1,o=e,i=Lc(e)?$o(e):null;i!==null&&(o=i,r=!0);let s=zc(o);return s.changed&&(o=s.projected,r=!0),r?o: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]="4a84286a-e1e3-5465-94c9-b44f8e4472d5")}catch{}})();var zo=!1;function Je(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Un(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function Hc(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.SUCCESS)}function Wc(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.GENERIC_FAILURE)}function Hn(e){if(e==="stdout"){Hc();return}Wc()}function Uo(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function qc(){zo||(zo=!0,process.stdout.on("error",e=>{if(Un(e)){Hn("stdout");return}Uo(e)}),process.stderr.on("error",e=>{if(Un(e)){Hn("stderr");return}Uo(e)}))}function Bc(e,t){qc();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(Un(n))return Hn(e),!1;throw n}}function Lt(e){return Bc("stderr",e)}function zn(e){return typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):e===null?"null":JSON.stringify(e)}function Wn(e){if(e!=null){if(Array.isArray(e)){let t=e.map(n=>Wn(n)).filter(n=>n!==void 0);return t.length>0?t:void 0}if(Je(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=Wn(r);o!==void 0&&(t[n]=o)}return Object.keys(t).length>0?t:void 0}return e}}function qn(e,t){let n=" ".repeat(t);if(Array.isArray(e))return e.length===0?"[]":e.map(r=>{if(!Je(r)&&!Array.isArray(r))return`${n}- ${zn(r)}`;let i=qn(r,t+1).split(`
|
|
45
45
|
`),[s,...a]=i;return a.length===0?`${n}- ${s.trimStart()}`:`${n}- ${s.trimStart()}
|
|
46
46
|
${a.join(`
|
|
47
47
|
`)}`}).join(`
|
|
48
48
|
`);if(Je(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>!Je(i)&&!Array.isArray(i)?`${n}${o}: ${zn(i)}`:Array.isArray(i)&&i.length===0?`${n}${o}: []`:Je(i)&&Object.keys(i).length===0?`${n}${o}: {}`:`${n}${o}:
|
|
49
49
|
${qn(i,t+1)}`).join(`
|
|
50
|
-
`)}return`${n}${zn(e)}`}function
|
|
50
|
+
`)}return`${n}${zn(e)}`}function Zm(e,t){if(t==="json")return`${JSON.stringify(e,null,2)}
|
|
51
51
|
`;let n=Wn(e);return n===void 0?`{}
|
|
52
52
|
`:`${qn(n,0)}
|
|
53
|
-
`}function
|
|
53
|
+
`}function e_(e){let t=Lo("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;Lt(n.endsWith(`
|
|
54
54
|
`)?n:`${n}
|
|
55
|
-
`)}(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]="4db09d54-90c6-548b-baa8-c7ce419f70a2")}catch{}})();var
|
|
55
|
+
`)}(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]="4db09d54-90c6-548b-baa8-c7ce419f70a2")}catch{}})();var Vc=Ae.join("runtime","history-drift-cache.json"),Ho={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 Wo(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function Gc(e){let t=Ae.join(e,Vc),n=!1,r="invalid_cache_path";try{n=(await Bn.stat(await Bn.realpath(e))).isDirectory()}catch(o){let i=Wo(o);r=i===void 0?"unknown":Ho[i]??"filesystem_error"}if(!n){Lt(`[pm] warning: history_drift_cache_invalidation_failed:${r}
|
|
56
56
|
`);return}try{await Bn.rm(t,{force:!0})}catch(o){let i=Wo(o);if(i==="ENOENT")return;let s=i===void 0?"unknown":Ho[i]??"filesystem_error";Lt(`[pm] warning: history_drift_cache_invalidation_failed:${s}
|
|
57
|
-
`)}}async function Ye(e){let t=Ae.dirname(Ae.resolve(e));Ae.basename(t)==="history"&&await
|
|
57
|
+
`)}}async function Ye(e){let t=Ae.dirname(Ae.resolve(e));Ae.basename(t)==="history"&&await Gc(Ae.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]="5228a53a-603c-5c9f-870b-8ea8e0c5d27a")}catch{}})();var Kc={front_matter:{},body:""};function Jc(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function Yc(e,t){let n=Jc(t);if(n.length===0)return!0;let r=e;for(let o of n){if(Array.isArray(r)){if(o==="-"||!/^(0|[1-9]\d*)$/.test(o))return!1;let s=Number(o);if(!Number.isInteger(s)||s<0||s>=r.length)return!1;let a=r[s];if(a===void 0)return!1;r=a;continue}if(typeof r!="object"||r===null||!Object.prototype.hasOwnProperty.call(r,o))return!1;let i=r[o];if(i===void 0)return!1;r=i}return!0}function Qc(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!Yc(r,o.path)?{...o,op:"add"}:o;n.push(i),r=Go.applyPatch(r,[i],!0,!0).newDocument}return n}function Vn(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let n=q(e);return{front_matter:E(n.metadata,re),body:n.body}}function qo(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let n=q(e);return{metadata:E(n.metadata,re),body:n.body}}function Xo(e){return pe(G(Vn(e)))}function h_(){return pe(G(Kc))}function Ne(e){let t=Vn(e.before),n=Vn(e.after),r=qo(e.before),o=qo(e.after),i=Go.compare(r,o),s=Qc(r,i),a=oo(e.author);return{ts:e.nowIso,author:e.author,author_source:e.authorSource??ro(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:pe(G(t)),after_hash:pe(G(n)),message:e.message===void 0?void 0:e.message,...e.context===void 0?{}:{context:e.context}}}function Bo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Zc(e){let t=e.ts.trim();return t.length>0?t:ge()}function Vo(e,t){let n=e.ts;return typeof n=="string"&&n.trim().length>0?e:{...e,ts:t}}function Pt(e,t){let n=Zc(t);if(typeof e=="string"){try{let r=JSON.parse(e);if(Bo(r))return JSON.stringify(Vo(r,n))}catch{}return e}return Bo(e)?JSON.stringify(Vo(e,n)):JSON.stringify(e)}async function Re(e,t){let n=await Z("history_append",{history_path:e,entry:t});if(n.handled){if(n.result===!1)return;if(typeof n.result=="string"){await Fe(e,Pt(n.result,t)),await Ye(e),await Dt(e);return}if(typeof n.result=="object"&&n.result!==null){let r=n.result;if(r.skip===!0)return;let o=typeof r.history_path=="string"?r.history_path:e;if(typeof r.line=="string"){await Fe(o,Pt(r.line,t)),await Ye(o),await Dt(o);return}await Fe(o,Pt(r.entry??t,t)),await Ye(o),await Dt(o);return}}await Fe(e,Pt(t,t)),await Ye(e),await jo(e,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]="c8668470-7e57-5dee-8e41-298e7c697b77")}catch{}})();var ed={metadata:{},body:""};function Ft(){return structuredClone(ed)}function jt(e){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return Xo($t(e))}catch{}return pe(G({replay_fallback:!0,metadata:e.metadata,body:e.body}))}function $t(e){return{metadata:e.metadata,body:e.body}}function I_(e,t={}){return q($t(e),t)}function x_(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=q(e);return{metadata:E(t.metadata,re),body:t.body}}function Ko(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function td(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function Yo(e){return Array.isArray(e)?e.filter(td).map(t=>({...t,path:Ko(t.path),from:typeof t.from=="string"?Ko(t.from):void 0})):[]}function nd(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 zt(e,t){try{let n=Yo(t),r=Gn.applyPatch(structuredClone(e),n,!0,!1).newDocument;return nd(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 Xn(e){let t=Ft();for(let n=0;n<e.length;n+=1){let r=e[n];if(jt(t)!==r.before_hash)return{ok:!1,errors:[`verify_failed:before_hash_mismatch:entry_${n+1}`]};let o=zt(t,r.patch);if(!o.ok)return{ok:!1,errors:[`verify_failed:patch_apply_failed:entry_${n+1}`]};if(t=o.document,jt(t)!==r.after_hash)return{ok:!1,errors:[`verify_failed:after_hash_mismatch:entry_${n+1}`]}}return{ok:!0,errors:[]}}function Jo(e,t){try{return{ok:!0,document:Gn.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function rd(e,t){let n=structuredClone(e),r=0,o=0;for(let a of Yo(t)){let d=Jo(n,a);if(d.ok){n=d.document;continue}if(a.op==="replace"){let l=Jo(n,{...a,op:"add"});if(l.ok){n=l.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 T_(e){let t=Ft(),n=[],r=[],o=0,i=0,s=0,a=0;for(let d=0;d<e.length;d+=1){let l=e[d],m=jt(t),f=zt(t,l.patch),h,_,S=!1,v=0,w=0;if(f.ok)h=f.document,_=l.patch;else{let J=rd(t,l.patch);h=J.document,_=Gn.compare(t,h),S=!0,v=J.convertedReplaceToAdd,w=J.skippedOps,s+=v,a+=w,i+=1}let N=jt(h),R=m!==l.before_hash||N!==l.after_hash;R&&(o+=1),n.push({...l,patch:_,before_hash:m,after_hash:N}),r.push({index:d+1,rehashed:R,patch_repaired:S,converted_replace_to_add:v,skipped_ops:w}),t=h}return{entries:n,finalDocument:t,entriesRehashed:o,entriesPatchRepaired:i,convertedReplaceToAdd:s,skippedOps:a,details:r}}function O_(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
|
|
58
58
|
`)}
|
|
59
|
-
`}import
|
|
59
|
+
`}import od from"node:crypto";import Qo 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]="50a277b9-d530-5aa0-8bd0-8eb0d36911e5")}catch{}})();function ei(e){let t=(e??"").trim().toLowerCase();return t?t.endsWith("-")?t:`${t}-`:"pm-"}function Kn(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function Jn(e,t){let n=ei(t),r=Kn(e);return r.startsWith(n)?r:`${n}${r}`}function id(e){let t=uo(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=od.randomInt(0,36).toString(36);return n}async function sd(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[Qo.join(e,o,`${t}.md`),Qo.join(e,o,`${t}.toon`)]);return(await Promise.all(r.map(o=>pt(o)))).some(Boolean)}var Zo=4,ti=12;function ad(e){return typeof e!="number"||!Number.isFinite(e)?Zo:Math.min(ti,Math.max(Zo,Math.trunc(e)))}async function L_(e,t,n={}){let r=ad(n.tokenLength),o=Math.min(r+6,ti),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${ei(t)}${id(r)}`;if(n.probeExisting===!1||!await sd(e,a,n.typeToFolder??me))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import we from"node:fs/promises";import ri from"node:path";import{randomUUID as cd}from"node:crypto";import{createRequire as dd}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]="e94075b0-810d-506c-b6a2-ae322526c078")}catch{}})();var ld="metadata-query-index.sqlite",Qe="4";function ud(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var Ut;function fd(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?ud(t):null}function Ze(){return Ut!==void 0||(Ut=fd(process.versions.node,dd(import.meta.url))),Ut}function ni(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function De(e){return ri.join(e,"runtime",ld)}function md(e){e.exec(`
|
|
60
60
|
PRAGMA foreign_keys = ON;
|
|
61
61
|
PRAGMA journal_mode = OFF;
|
|
62
62
|
PRAGMA synchronous = OFF;
|
|
@@ -126,8 +126,8 @@ ${qn(i,t+1)}`).join(`
|
|
|
126
126
|
parent = excluded.parent,
|
|
127
127
|
assignee = excluded.assignee,
|
|
128
128
|
sprint = excluded.sprint,
|
|
129
|
-
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 id = ?").run(n.id),e.prepare("INSERT INTO item_search(id, title, description, tags) VALUES (?, ?, ?, ?)").run(n.id,n.title,n.description,n.tags.join(" "));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 ii(e){let t=De(e.pmRoot),n=Ze();if(!n){await
|
|
130
|
-
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${l}`).all(...o,...n.terminalStatuses??[],...d).map(h=>{let _=JSON.parse(String(h.metadata_json));if(!_.id)throw new TypeError("Indexed metadata row has no id");return _});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:f}}catch{return i?.close(),null}}async function
|
|
129
|
+
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 id = ?").run(n.id),e.prepare("INSERT INTO item_search(id, title, description, tags) VALUES (?, ?, ?, ?)").run(n.id,n.title,n.description,n.tags.join(" "));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 ii(e){let t=De(e.pmRoot),n=Ze();if(!n){await we.rm(t,{force:!0});return}await we.mkdir(ri.dirname(t),{recursive:!0});let r=`${t}.${cd()}.tmp`,o;try{o=new n(r),md(o),o.exec("BEGIN IMMEDIATE"),Wt(o,"version",Qe),Wt(o,"context_fingerprint",e.contextFingerprint),Wt(o,"source_cursor",e.sourceCursor);for(let i of e.rows)oi(o,i);o.exec("COMMIT"),o.close(),o=void 0,await we.rm(t,{force:!0}),await we.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([we.rm(r,{force:!0})]),i}}function qt(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function si(e){let t=De(e.pmRoot),n;try{await we.access(t);let r=Ze();if(!r)return!1;n=new r(t),n.exec("PRAGMA foreign_keys = ON");let o=qt(n);if(o.version!==Qe||o.context_fingerprint!==e.contextFingerprint||o.source_cursor!==e.expectedSourceCursor)return n.close(),!1;n.exec("BEGIN IMMEDIATE");let i=n.prepare("DELETE FROM items WHERE relative_path = ?"),s=n.prepare("SELECT id FROM items WHERE relative_path = ?"),a=n.prepare("DELETE FROM item_search WHERE id = ?");for(let d of e.deletedRelativePaths??[]){let l=s.get(d);i.run(d),l&&a.run(l.id)}return e.row&&oi(n,e.row),Wt(n,"source_cursor",e.sourceCursor),n.exec("COMMIT"),n.close(),!0}catch{try{n?.exec("ROLLBACK")}catch{}return n?.close(),!1}}function Ht(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function _d(e){let t=[],n=[];Ht(t,n,"status",e.statuses,"IN"),Ht(t,n,"status",e.excludeStatuses,"NOT IN"),Ht(t,n,"type",e.types,"IN"),Ht(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 U_(e){let t=Ze();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=_d(n),i;try{i=new t(De(e.pmRoot),{readOnly:!0});let s=qt(i);if(s.version!==Qe||s.source_cursor!==e.expectedSourceCursor)return i.close(),null;let a=i.prepare(`SELECT COUNT(*) AS count FROM items${r}`).get(...o),d=[],l="";n.limit!==void 0?(l+=" LIMIT ?",d.push(Math.max(0,Math.floor(n.limit))),n.offset!==void 0&&(l+=" OFFSET ?",d.push(Math.max(0,Math.floor(n.offset))))):n.offset!==void 0&&(l+=" LIMIT -1 OFFSET ?",d.push(Math.max(0,Math.floor(n.offset))));let f=i.prepare(`SELECT metadata_json FROM items${r}
|
|
130
|
+
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${l}`).all(...o,...n.terminalStatuses??[],...d).map(h=>{let _=JSON.parse(String(h.metadata_json));if(!_.id)throw new TypeError("Indexed metadata row has no id");return _});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:f}}catch{return i?.close(),null}}async function H_(e){let t=Ze();if(!t||e.paths.length===0)return null;let n;try{n=new t(De(e.pmRoot),{readOnly:!0});let r=qt(n);if(r.version!==Qe||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}`,d=n.prepare(`SELECT COUNT(DISTINCT item_id) AS count
|
|
131
131
|
FROM item_linked_files
|
|
132
132
|
WHERE ${a}`).get(...s),l=ni(e.limit,50),m=ni(e.offset,0),f=n.prepare(`SELECT items.id, items.metadata_json
|
|
133
133
|
FROM items
|
|
@@ -140,14 +140,14 @@ ${qn(i,t+1)}`).join(`
|
|
|
140
140
|
FROM item_linked_files
|
|
141
141
|
WHERE item_id IN (${_.map(()=>"?").join(", ")})
|
|
142
142
|
AND ${a}
|
|
143
|
-
ORDER BY path ASC, scope ASC`).all(..._,...s),v=new Map(_.map(w=>[w,[]]));for(let w of S){let
|
|
143
|
+
ORDER BY path ASC, scope ASC`).all(..._,...s),v=new Map(_.map(w=>[w,[]]));for(let w of S){let N=String(w.item_id),R=v.get(N);R.push({path:String(w.path),scope:String(w.scope),...w.note===null?{}:{note:String(w.note)}}),v.set(N,R)}for(let w of f){let N=JSON.parse(String(w.metadata_json));h.push({item:N,files:v.get(String(w.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(d.count),matches:h}}catch{return n?.close(),null}}async function W_(e){let t=Ze();if(!t)return null;let n;try{n=new t(De(e.pmRoot),{readOnly:!0});let r=qt(n);if(r.version!==Qe||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let i=n.prepare(`SELECT items.metadata_json
|
|
144
144
|
FROM item_search
|
|
145
145
|
JOIN items ON items.id = item_search.id
|
|
146
146
|
WHERE item_search MATCH ?
|
|
147
147
|
ORDER BY bm25(item_search), items.priority, items.updated_at DESC, items.id
|
|
148
|
-
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 Bt(e){await
|
|
149
|
-
`,"utf8")}finally{await o.close()}await ui(e,"lock:create")}async function fi(e,t){try{return await te.unlink(e),await ui(e,t),!0}catch{return!1}}function mi(e,t){let n=e?.created_at?Date.parse(e.created_at):Number.NaN;return(Number.isFinite(n)?Date.now()-n:Number.POSITIVE_INFINITY)>t*1e3}function
|
|
150
|
-
`,"utf8")}catch{return await Qn(e),null}return t}async function Nd(e){let t;try{let r=await te.stat(e);if(t=Date.now()-r.mtimeMs,t<=vd)return!1}catch(r){return et(r,"ENOENT")}let n=await yi(e);return n!==null&&Rd(n.pid)&&t<=Id?!1:Qn(e)}async function Dd(e,t){let n=`${e}${Sd}`,r=await di(n);if(r!==null)return async()=>ci(n,r.token);if(!await Nd(n))return null;let o=await di(n);return o===null?null:async()=>ci(n,o.token)}async function Md(e){let t=await Dd(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await li(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!mi(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(Cd(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=kd)throw pi(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await fi(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function ae(e,t,n,r,o=!1,i=!0,s){let a=await Z("lock_acquire",{pm_root:e,id:t,ttl_seconds:n,owner:r,force:o,force_required_for_stale_lock:i});if(a.handled){let _=Od(a.result);if(_)return async()=>{await Promise.resolve(_()),await Z("lock_release",{pm_root:e,id:t,owner:r})}}let d=Ar(e,t),l=xd(s),m=Date.now(),f=0,h=bd;for(;;)try{return await hd(d,t,r,n),async()=>{await fi(d,"lock:release"),await Z("lock_release",{pm_root:e,id:t,owner:r})}}catch(_){if(!et(_,"EEXIST"))throw new T(`Failed to acquire lock for ${t}: ${Rr(_)}`,I.GENERIC_FAILURE);let S=await li(d);if(mi(S.info,n)){let w=await Md({lockPath:d,id:t,ttlSeconds:n,force:o,forceRequiredForStaleLock:i,staleRemovals:f,waitBudgetMs:l,startedAtMs:m,fallbackLockInfo:S});if(S=w.lockInfo,w.staleRemovalCounted&&(f+=1),w.shouldRetryCreate)continue}let v=Date.now()-m;if(l===0||v>=l)throw pi(t,S.info,l===0?0:v);await Td(Math.min(h,l-v)),h=Math.min(h*2,wd)}}(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]="8ed70856-9cba-599d-8b53-21a981af1f40")}catch{}})();var K=8,ki=500,Pd="metadata-derived-index",jd="metadata-cache.json",Fd="metadata-cache-bodies.json",$d="metadata-cache-collections.json",zd="metadata-cache-delta.json",Ud="metadata-cache-manifest.json",hi=4,Hd=["comments","notes","learnings","files","tests","test_runs","docs"];function Si(){return _t(Xe())}function Gt(e){let t={...e},n={};for(let r of Hd)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function vi(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Ii(e,t,n,r){let o=Ld("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 Xt(e){return A.join(e,"runtime",jd)}function Kt(e){return A.join(e,"runtime",Fd)}function Jt(e){return A.join(e,"runtime",$d)}function er(e){return A.join(e,"runtime",zd)}function tr(e){return A.join(e,"runtime",Ud)}function Yt(e,t){let n=A.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Wd=24,H=new Map,Qt=new WeakMap;function nr(e){return Qt.get(e)??e.source_cursor}function qd(e,t){let n=nr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Qt.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 Bd(e,t){if(!e)return;let n=nr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Qt.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 Vd(e,t){if(!e)return;let n=nr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Qt.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 Gd(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(qd(e,r),Bd(t,r),Vd(n,r))}function Zn(e,t){H.size>=Wd&&!H.has(e)&&ht(H),H.set(e,t)}async function ce(e,t){let n;try{n=await P.stat(e)}catch{return H.delete(e),null}let r=H.get(e);if(r&&tt(r.signature,n.mtimeMs,n.ctimeMs,n.size))return H.delete(e),H.set(e,r),r.envelope;let o;try{o=t(await P.readFile(e,"utf8"))}catch{o=null}return Zn(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Xd(e,t,n){let r=a=>{let d=JSON.parse(a);return d.version!==K||typeof d.source_cursor!="string"||typeof d.entries!="object"||d.entries===null?null:d},o=Xt(e),i=await ce(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await ce(Yt(o,t),r);return s===null&&ot(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Kd(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==K||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Kt(e),o=await ce(r,n);return t&&o?.context_fingerprint!==t?await ce(Yt(r,t),n):o}async function Jd(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==K||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Jt(e),o=await ce(r,n);return t&&o?.context_fingerprint!==t?await ce(Yt(r,t),n):o}async function rr(e){let t=er(e),n=await ce(t,r=>{let o=JSON.parse(r);return o.version!==K||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 P.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function or(e){let t=tr(e),n=await ce(t,r=>{let o=JSON.parse(r);return o.version!==K||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 P.stat(t),await Me(e)}catch{}return null}async function nt(e,t){await P.mkdir(A.dirname(e),{recursive:!0}),await W(e,JSON.stringify(t));try{let r=await P.stat(e);Zn(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{H.delete(e)}let n=A.dirname(A.dirname(e));if(e===Xt(n)||e===Kt(n)||e===Jt(n)){let r=Yt(e,t.context_fingerprint);await W(r,JSON.stringify(t));try{let d=await P.stat(r);Zn(r,{signature:{mtime_ms:d.mtimeMs,ctime_ms:d.ctimeMs,size:d.size},envelope:t})}catch{H.delete(r)}let o=A.dirname(e),i=A.extname(e),s=A.basename(e,i),a=(await P.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(d=>d.isFile()&&d.name!==A.basename(e)&&d.name.startsWith(`${s}.`)&&d.name.endsWith(i)).map(d=>A.join(o,d.name));if(a.length>hi){let d=(await Promise.all(a.map(async l=>{try{return{path:l,mtime:(await P.stat(l)).mtimeMs}}catch{return null}}))).filter(l=>l!==null);for(let l of d.sort((m,f)=>m.mtime-f.mtime).slice(0,Math.max(0,d.length-hi)))await P.rm(l.path,{force:!0}),H.delete(l.path)}}}function Yd(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function xi(e,t,n){return e===void 0||Yd(e,t,n)}function ot(e,t){e&&!e.includes(t)&&e.push(t)}function tt(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Qd(e,t,n){let r=A.join(e,t);try{let o=await P.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&o.code!=="ENOENT"&&ot(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function Zd(e,t){try{let n=await P.stat(A.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 Vt(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await Zd(e,n))))}function rt(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&&tt(o,r.mtime_ms,r.ctime_ms,r.size)})}function el(e){return yt.some(t=>e.toLowerCase().endsWith(t))}function tl(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function nl(e,t,n){if(n)for(let r of await X({path:e,scope:"project"}))ot(t,r)}function gi(e,t,n,r){if(e)return t&&n?n.collections:r}async function rl(e,t,n){let r=await P.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=pn(e);await nl(e,n.warnings,n.dispatchReadHooks);let d=n.previousEntries[t],l=d!==void 0&&tt(d,o,i,s),m=n.previousBodies[t],f=m!==void 0&&tt(m,o,i,s),h=n.previousCollections[t],_=h!==void 0&&tt(h,o,i,s);if(!(!l||n.includeBody&&!f||n.includeCollections&&!_))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d.metadata,heavyMetadata:gi(n.includeCollections,_,h,void 0),bodyLength:d.body_length,body:n.includeBody?m.body:void 0};let v=await P.readFile(e,"utf8"),w=Ot(v,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:N=>ot(n.warnings,N)}),R=Gt(w.metadata);return tl(n.state.misses,n.includeBody,n.includeCollections,l,f,_),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:l?d.metadata:R.light,heavyMetadata:gi(n.includeCollections,_,h,R.heavy),bodyLength:l?d.body_length:w.body.length,body:n.includeBody?w.body:void 0}}function ol(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?vi(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};xi(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function il(e,t,n,r){try{let o=await rl(t,n,r);ol(t,n,r,o)}catch{ot(r.warnings,`item_list_item_read_failed:${e}/${A.basename(t)}`)}}function sl(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function al(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function cl(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function dl(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function ll(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!el(s))continue;let a=A.join(o,s),d=A.relative(t.pmRoot,a);n.push(il(r,a,d,t))}return n}async function ul(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!rt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await nt(Xt(e.pmRoot),{version:K,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await nt(tr(e.pmRoot),{version:K,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:A.relative(e.pmRoot,r.item_path),metadata:Gt(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await ii({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Bt(e.pmRoot)}catch{}}async function fl(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 nt(Kt(e.pmRoot),{version:K,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function ml(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 nt(Jt(e.pmRoot),{version:K,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function ir(e,t,n={}){let r=await or(e);return n.required!==!0&&(r===null||r.entry_count<ki)?async()=>{}:ae(e,Pd,30,t,!1,!1,3e3)}async function up(e,t){let n=await or(e);if(n===null)return null;let r=await rr(e);if(r.invalid)return await Me(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&&!rt(i,await Vt(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function bi(e,t){let n=A.relative(e,t);return n===""||n===".."||n.startsWith(`..${A.sep}`)||A.isAbsolute(n)?null:n}async function Me(e){await Promise.all([Xt(e),Kt(e),Jt(e),er(e),tr(e)].map(async t=>{await P.rm(t,{force:!0}),H.delete(t)})),await Bt(e)}async function _l(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await P.stat(e.mutation.itemPath),n=Gt(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 pl(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function sr(e){let t=bi(e.pmRoot,e.itemPath),n=e.previousItemPath?bi(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await Me(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Ii(e.preferredFormat,e.typeToFolder,e.schema,Si()),o=await or(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await rr(e.pmRoot);if(s.invalid)return await Me(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=pl(s.envelope,r,i),d=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 _l({mutation:e});let l=Ei();return await nt(er(e.pmRoot),{version:K,context_fingerprint:r,base_source_cursor:i,source_cursor:l,directory_signatures:await Vt(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await si({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:d,sourceCursor:l,row:e.document===null?null:{relativePath:t,metadata:Gt(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Bt(e.pmRoot),[]}catch{return await Me(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function yl(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function wi(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function hl(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function gl(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=pn(n);if(!o)continue;let i=e.includeCollections?vi(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);xi(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:A.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function bl(e){return e.forceSourceScan||Pn()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!rt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||wi(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||wi(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&hl(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function Zt(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,d=Si(),l=Ii(t,n,o,d),m=await rr(e);m.invalid&&await Me(e);let f=await Xd(e,l,i.cacheDiagnostics),h=s?await Kd(e,l):null,_=a?await Jd(e,l):null;Gd(f,h,_,m.envelope);let S=sl(f,l),v=al(h,l),w=cl(_,l),R=[...new Set(Object.values(n))],N=await Vt(e,R),J=Object.keys(S),F=Math.max(1,Math.floor(i.derivedIndexMinimumItems??ki));if(bl({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:l,existingCache:f,existingBodyCache:h,existingCollectionsCache:_,directorySignatures:N,entryKeys:J,minimumIndexedItems:F,includeBody:s,includeCollections:a,previousBodies:v,previousCollections:w}))return gl({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:S,previousBodies:v,previousCollections:w});let dn=await Promise.all(R.map(_s=>Qd(e,_s,r))),at=Pn(),Y=dl(),ln={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:d,includeBody:s,includeCollections:a,dispatchReadHooks:at,previousEntries:S,previousBodies:v,previousCollections:w,state:Y};await Promise.all(ll(dn,ln));let ct=await Vt(e,R),gr=rt(N,ct)?ct:{},un=Y.misses.metadata||Object.keys(S).length!==Object.keys(Y.newEntries).length||!rt(f?.directory_signatures,gr)||f===null?Ei():f.source_cursor;return await ul({pmRoot:e,contextFingerprint:l,sourceCursor:un,existingCache:f,previousEntries:S,directorySignatures:gr,state:Y,minimumIndexedItems:F}),s&&await fl({pmRoot:e,contextFingerprint:l,sourceCursor:un,existingBodyCache:h,previousBodies:v,state:Y}),a&&await ml({pmRoot:e,contextFingerprint:l,sourceCursor:un,existingCollectionsCache:_,previousCollections:w,state:Y}),yl(Y)}async function Ti(e,t,n,r,o){return(await Zt(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function Oi(e,t,n,r,o){return(await Zt(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}import wl from"node:fs/promises";import Ci 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]="8a15177d-4090-5e58-aac7-20b2ed7684a2")}catch{}})();var en="_workspace";function Ai(e){return Ci.join(e,"history",`${en}.jsonl`)}function El(e,t){return{metadata:{id:en,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 Ri(e){let t=Ft();for(let n of e)t=zt(t,n.patch).document;return $t(t)}async function Ni(e){let t=Ai(e.pmRoot),n=await Ke(t,en),r=Xn(n);if(!r.ok)throw new TypeError(`Workspace history verification failed: ${r.errors.join(", ")}`);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=new Date().toISOString(),s=n.length===0?je:Ri(n),a="documents"in s.metadata&&typeof s.metadata.documents=="object"&&s.metadata.documents!==null&&!Array.isArray(s.metadata.documents)?s.metadata.documents:{},d=a[e.documentPath];if(d!==void 0&&G(d)!==G(e.before))throw new T(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,I.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 l=El({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),m=Re({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:l,message:e.message});return await Ne(t,m),{entry:m,historyPath:t}}async function Sp(e){let t=await ae(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ni(e)}finally{await t()}}async function vp(e){let t=await ae(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=Ai(e.pmRoot),r=await Ke(n,en),o=Xn(r);if(!o.ok)throw new TypeError(`Workspace history verification failed: ${o.errors.join(", ")}`);let i=r.length===0?je:Ri(r),s=Re({nowIso:new Date().toISOString(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await Ne(n,s),{entry:s,historyPath:n}}finally{await t()}}async function Di(e){let t=await ae(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=await Ee(e.filePath);if(n===e.raw)return!1;let r=n===null?null:JSON.parse(n),o=JSON.parse(e.raw);await W(e.filePath,e.raw);try{(n!==null||e.recordCreation!==!1)&&await Ni({pmRoot:e.pmRoot,documentPath:Ci.relative(e.pmRoot,e.filePath).replaceAll("\\","/"),before:r,after:o,op:e.op,author:e.author,lockTtlSeconds:e.lockTtlSeconds,lockWaitMs:e.lockWaitMs,message:e.message})}catch(i){throw n===null?await wl.rm(e.filePath,{force:!0}):await W(e.filePath,n),i}return!0}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]="027f6acb-15cc-5707-85ed-b5298b6b6abe")}catch{}})();var L={ok:!1},u=e=>typeof e=="string"?{ok:!0,value:e}:L,x=e=>typeof e=="boolean"?{ok:!0,value:e}:L;function C(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?L:{ok:!0,value:t}}function O(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:L}function p(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return L;let r=[];for(let o of n){let i=e(o);if(!i.ok)return L;r.push(i.value)}return{ok:!0,value:r}}}function cr(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}:L}function c(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function tn(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return L;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return L;n[r]=i.value}return{ok:!0,value:n}}}function k(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return L;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return L;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var kl=k({key:u,values:p(u),required:c(x),aliases:c(p(u)),description:c(u)}),Sl=k({command:O("create","update"),option:u,required:c(x),visible:c(x),enabled:c(x)}),vl=k({name:u,description:c(u),default_status:c(u),folder:c(u),aliases:c(p(u)),required_create_fields:c(p(u)),required_create_repeatables:c(p(u)),options:c(p(kl)),command_option_policies:c(p(Sl))}),Il=k({id:u,aliases:c(p(u)),roles:c(p(O(...wr))),description:c(u),order:c(C())}),xl=k({key:u,metadata_key:c(u),front_matter_key:c(u),cli_flag:c(u),cli_aliases:c(p(u)),description:c(u),type:c(O(...Er)),commands:c(p(O(...kr))),repeatable:c(x),required:c(x),required_on_create:c(x),required_types:c(p(u)),allow_unset:c(x)}),Tl=e=>{if(!Array.isArray(e)||e.length!==2)return L;let[t,n]=e;return typeof t!="string"||typeof n!="string"?L:{ok:!0,value:[t,n]}},Ol=k({type:u,allowed_transitions:p(Tl)}),Cl=c(k({version:c(C({int:!0})),files:c(k({types:c(u),statuses:c(u),fields:c(u),workflows:c(u)})),statuses:c(p(Il)),fields:c(p(xl)),workflow:c(k({draft_status:c(u),open_status:c(u),in_progress_status:c(u),blocked_status:c(u),close_status:c(u),canceled_status:c(u)})),type_workflows:c(p(Ol)),unknown_field_policy:c(O(...Sr))})),Al=c(k({preset:c(O(...vr)),ownership_enforcement:c(O("none","warn","strict")),create_mode_default:c(O("progressive","strict")),close_validation_default:c(O("off","warn","strict")),require_close_reason:c(x),parent_reference:c(O("warn","strict_error")),metadata_profile:c(O("core","strict","custom")),force_required_for_stale_lock:c(x),create_default_type:c(u),workflow_enforcement:c(O("off","warn","strict")),duplicate_detection_mode:c(O("off","advisory","strict")),duplicate_detection_threshold:c(C({min:0,max:1})),duplicate_detection_limit:c(C({int:!0,min:0,max:20}))})),Rl=k({name:u,disabled:c(x),require_trusted:c(x),require_provenance:c(x),sandbox_profile:c(O("none","restricted","strict")),allowed_capabilities:c(p(u)),blocked_capabilities:c(p(u)),allowed_surfaces:c(p(u)),blocked_surfaces:c(p(u)),allowed_commands:c(p(u)),blocked_commands:c(p(u)),allowed_actions:c(p(u)),blocked_actions:c(p(u)),allowed_services:c(p(u)),blocked_services:c(p(u))}),ar=O("block","warn"),Nl=e=>typeof e=="string"?ar(e):k({global:c(ar),project:c(ar)})(e),Dl=c(k({mode:c(O("off","warn","enforce")),trust_mode:c(O("off","warn","enforce")),pm_max_version_exceeded_mode:c(Nl),require_provenance:c(x),trusted_extensions:c(p(u)),default_sandbox_profile:c(O("none","restricted","strict")),allowed_extensions:c(p(u)),blocked_extensions:c(p(u)),allowed_capabilities:c(p(u)),blocked_capabilities:c(p(u)),allowed_surfaces:c(p(u)),blocked_surfaces:c(p(u)),allowed_commands:c(p(u)),blocked_commands:c(p(u)),allowed_actions:c(p(u)),blocked_actions:c(p(u)),allowed_services:c(p(u)),blocked_services:c(p(u)),extension_overrides:c(p(Rl))})),we=cr(128),Ml=k({harness:cr(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:c(p(we,64)),model_environment_keys:c(p(we,64)),session_environment_keys:c(p(we,64)),provenance_environment_keys:c(tn(p(we,64))),provenance_resolvers:c(tn(O("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:c(p(we,64)),argv_markers:c(p(we,64)),client_names:c(p(we,64))}),Ll=k({version:C({int:!0}),id_prefix:u,ids:c(k({token_length:c(C({int:!0,min:4,max:12}))})),author_default:u,agent_identity:c(k({probes_enabled:c(x),identity_vocabulary:c(k({version:C({int:!0,positive:!0}),aliases:tn(cr(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:p(Ml)})),mutation_guard:c(k({require_attributed_author:c(x),secret_guard:c(O("off","advise","block")),stale_in_progress_hours:c(C({int:!0,positive:!0}))})),item_format:c(O("toon","json_markdown")),locks:k({ttl_seconds:C({int:!0}),wait_ms:c(C({int:!0,min:0}))}),checkpoints:c(k({retention_days:c(C({int:!0,positive:!0}))})),output:k({default_format:O("toon","json")}),history:c(k({missing_stream:O("auto_create","strict_error"),compact_policy:c(k({enabled:c(x),max_entries:c(C({int:!0,positive:!0})),trigger:c(O("health_warn","auto"))}))})),validation:c(k({sprint_release_format:O("warn","strict_error"),parent_reference:c(O("warn","strict_error")),metadata_profile:c(O("core","strict","custom")),metadata_required_fields:c(p(u)),lifecycle_stale_blocker_reason_patterns:c(p(u)),lifecycle_closure_like_blocked_reason_patterns:c(p(u)),lifecycle_closure_like_resolution_patterns:c(p(u)),lifecycle_closure_like_actual_result_patterns:c(p(u)),estimate_defaults_by_type:c(tn(C({int:!0,positive:!0})))})),governance:Al,workflow:c(k({definition_of_done:p(u)})),testing:c(k({record_results_to_items:x})),telemetry:c(k({enabled:x,first_run_prompt_completed:c(x),capture_level:c(O("minimal","redacted","max")),endpoint:c(u),installation_id:c(u),retention_days:c(C({int:!0,positive:!0}))})),agent_guidance:c(k({prompt_completed:c(x),declined:c(x),declined_at:c(u),template_version:c(C({int:!0,positive:!0})),last_checked_files:c(p(u))})),item_types:c(k({definitions:p(vl)})),schema:Cl,context:c(k({default_depth:c(O("brief","standard","deep")),activity_limit:c(C({int:!0,positive:!0})),stale_threshold_days:c(C({int:!0,positive:!0})),sections:c(k({hierarchy:c(x),activity:c(x),progress:c(x),recently_created:c(x),unparented:c(x),blockers:c(x),files:c(x),workload:c(x),staleness:c(x),tests:c(x)}))})),extensions:k({enabled:p(u),disabled:p(u),policy:Dl}),search:k({score_threshold:C(),hybrid_semantic_weight:c(C()),max_results:C({int:!0}),embedding_model:u,embedding_corpus_max_characters:c(C()),embedding_batch_size:C({int:!0}),embedding_timeout_ms:c(C({int:!0})),scanner_max_batch_retries:C({int:!0}),provider:c(u),corpus_fields:c(p(u)),mutation_refresh_policy:c(O("cache_only","semantic_configured","semantic_auto")),query_expansion:c(k({enabled:c(x),provider:c(u)})),rerank:c(k({enabled:c(x),model:c(u),top_k:c(C({int:!0,positive:!0}))})),bm25:c(k({k1:c(C()),b:c(C())}))}),providers:k({openai:k({base_url:u,api_key:u,model:u}),ollama:k({base_url:u,model:u})}),vector_store:k({adapter:c(u),collection_name:c(u),qdrant:k({url:u,api_key:u}),lancedb:k({path:u})})});function Mi(e){let t=Ll(e);return t.ok?{success:!0,data:t.value}:{success:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2d377bc4-c624-561c-9856-405c82099070")}catch{}})();var Pl={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Li=120;function dr(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function ji(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var jl=ji(Pl),Pi=new WeakMap;function Fl(e){let t=Pi.get(e);if(t)return t;let n=ji(e);return Pi.set(e,n),n}function Op(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Li;if(t){let o=Fl(t).get(n);if(dr(o))return Math.floor(o)}let r=jl.get(n);return dr(r)?Math.floor(r):Li}function lr(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||!dr(r)||(t[o]=Math.floor(r))}return t}import{stat as $l}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="60da76ea-0bd3-56a9-a2bc-d88ba76e1013")}catch{}})();var nn=new Map;function Fi(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function zl(e){try{let t=await $l(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function de(e){let t=Fi(e),n=await Promise.all(t.map(r=>zl(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function it(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 $i(e){return nn.get(e)}function rn(e,t){let n=Fi(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));nn.set(e,{tracked_paths:n,signatures:r,value:t.value})}function le(e){if(e){nn.delete(e);return}nn.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]="a434b9ea-4692-51c5-8761-0f1759fff394")}catch{}})();var Ul="settings:write",qi=Symbol("pm.settings.persist_source"),Hl=128,Wl=new Set(["off","advisory","strict"]);function zi(e){return structuredClone(xr[e])}function ql(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:b.governance.preset}function Ui(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 Bl(e){return e.preset==="custom"?Ui({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):Ui({preset:e.preset},e)}function Vl(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),Wl.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 sn(e){let t=e.governance??{},n=ql(t.preset),r=Vl(t);if(n==="custom"){let s=zi("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=zi(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function Bi(){return structuredClone(b)}function Vi(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:b.search.mutation_refresh_policy}function Gi(e){return typeof e=="boolean"?e:b.search.query_expansion.enabled}function Xi(e){return typeof e!="string"?b.search.query_expansion.provider:e.trim()}function Ki(e){return typeof e=="boolean"?e:b.search.rerank.enabled}function Ji(e){return typeof e!="string"?b.search.rerank.model:e.trim()}function Yi(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:b.search.rerank.top_k}function Qi(e){if(typeof e!="string")return b.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,Hl);return n.length>0?n:b.vector_store.collection_name}function ur(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function Gl(e,t){let n=e.schema,r=ur(n?.statuses),o=ur(n?.fields),i=ur(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:Le(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:Le(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 Zi(e,t){Object.defineProperty(e,qi,{value:t,writable:!0,configurable:!0,enumerable:!1})}function es(e){let t=e[qi];if(!(!t||typeof t!="object"))return t}function on(e){let t=structuredClone(e.settings),n=es(e.settings);return n&&Zi(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function Xl(e,t,n){let r=Ue(t);return[n,He(e,r.files.types,ze.types),He(e,r.files.statuses,ze.statuses),He(e,r.files.fields,ze.fields),He(e,r.files.workflows,ze.workflows)]}async function Kl(e,t,n){let r=await de(t);rn(e,{tracked_paths:t,signatures:r,value:on(n)})}async function Jl(e,t,n){try{await Kl(e,t,n)}catch{le(e)}}function Hi(e,t){return e.find(n=>n.path===t)}function Yl(e,t,n){for(let r of n){let o=Hi(e,r),i=Hi(t,r);if(!o||!i||!it([o],[i]))return!1}return!0}async function fr(e,t,n,r,o){try{let i=await de(t);if(!Yl(r,i,o)){le(e);return}rn(e,{tracked_paths:t,signatures:i,value:on(n)})}catch{le(e)}}function Ql(e,t){let n=Ue(e.schema),r=Le(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),d=ke(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?Le(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:d?t.has_source_schema_type_workflows?structuredClone(t.source_schema_type_workflows):void 0:n.type_workflows}}function st(e){return{settings:Bi(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function Zl(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function _r(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function ts(e){let t=b.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:_r(e?.last_checked_files??t.last_checked_files)}}function V(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function eu(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.mode}function tu(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.trust_mode}function ns(e){return e==="none"||e==="restricted"||e==="strict"?e:b.extensions.policy.default_sandbox_profile}function nu(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=ns(e.sandbox_profile));let r=V(e.allowed_capabilities),o=V(e.blocked_capabilities),i=V(e.allowed_surfaces),s=V(e.blocked_surfaces),a=V(e.allowed_commands),d=V(e.blocked_commands),l=V(e.allowed_actions),m=V(e.blocked_actions),f=V(e.allowed_services),h=V(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),d.length>0&&(n.blocked_commands=d),l.length>0&&(n.allowed_actions=l),m.length>0&&(n.blocked_actions=m),f.length>0&&(n.allowed_services=f),h.length>0&&(n.blocked_services=h),n}function ru(e){let t=new Map;for(let n of e??[]){let r=nu(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function mr(e){return e==="block"||e==="warn"?e:void 0}function ou(e){if(typeof e=="string")return mr(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=mr(e.global),n=mr(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function z(e,t){return V(e?.[t]??b.extensions.policy[t])}function rs(e){let t=ou(e?.pm_max_version_exceeded_mode);return{mode:eu(e?.mode),trust_mode:tu(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:z(e,"trusted_extensions"),default_sandbox_profile:ns(e?.default_sandbox_profile),allowed_extensions:z(e,"allowed_extensions"),blocked_extensions:z(e,"blocked_extensions"),allowed_capabilities:z(e,"allowed_capabilities"),blocked_capabilities:z(e,"blocked_capabilities"),allowed_surfaces:z(e,"allowed_surfaces"),blocked_surfaces:z(e,"blocked_surfaces"),allowed_commands:z(e,"allowed_commands"),blocked_commands:z(e,"blocked_commands"),allowed_actions:z(e,"allowed_actions"),blocked_actions:z(e,"blocked_actions"),allowed_services:z(e,"allowed_services"),blocked_services:z(e,"blocked_services"),extension_overrides:ru(e?.extension_overrides??b.extensions.policy.extension_overrides)}}function os(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 ue(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function D(e,t){return e===void 0?t:e}function U(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function pr(e){return Array.isArray(e)?e:[]}function iu(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:os(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:ue(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:ue(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:ue(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:ue(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:lr(e.validation?.estimate_defaults_by_type)}}function su(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 au(e,t){return{...t.search,...e.search,mutation_refresh_policy:Vi(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:Gi(e.search?.query_expansion?.enabled),provider:Xi(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:Ki(e.search?.rerank?.enabled),model:Ji(e.search?.rerank?.model),top_k:Yi(e.search?.rerank?.top_k)}}}function cu(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:Qi(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function du(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function lu(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 uu(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function Le(e){let t=(e??[]).map(r=>Or(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 is(e){let t=Bi(),n=sn({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:du(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},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:iu(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},telemetry:su(e,t),agent_guidance:ts(e.agent_guidance??t.agent_guidance),item_types:{definitions:Le(e.item_types?.definitions)},schema:Ue(e.schema??t.schema),context:lu(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:rs(e.extensions.policy??t.extensions.policy)},search:au(e,t),providers:uu(e,t),vector_store:cu(e,t)}}function fu(e){e.agent_identity=E(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=E(U(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=pr(e.agent_identity.harness_signals).map(n=>E(U(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=E(e.locks,["ttl_seconds","wait_ms"]),e.ids=E(e.ids,["token_length"]),e.mutation_guard=E(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=E(e.checkpoints,["retention_days"]),e.output=E(e.output,["default_format"]),e.history=E(e.history,["missing_stream","compact_policy"]),e.validation=E(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=E(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=E(e.workflow,["definition_of_done"]),e.testing=E(e.testing,["record_results_to_items"]),e.telemetry=E(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=E(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=E(e.item_types,["definitions"]),e.schema=E(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=E(U(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=E(U(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=E(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=E(U(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=E(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=E(U(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=pr(e.extensions.policy.extension_overrides).map(n=>E(U(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=E(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=E(U(e.search.query_expansion),["enabled","provider"]),e.search.rerank=E(U(e.search.rerank),["enabled","model","top_k"]),e.providers=E(e.providers,["openai","ollama"]),e.providers.openai=E(U(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=E(U(e.providers.ollama),["base_url","model"]),e.vector_store=E(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=E(U(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=E(U(e.vector_store.lancedb),["path"])}function mu(e){return{...e,locks:D(e.locks,b.locks),ids:D(e.ids,b.ids),agent_identity:D(e.agent_identity,b.agent_identity),mutation_guard:D(e.mutation_guard,b.mutation_guard),checkpoints:D(e.checkpoints,b.checkpoints),output:D(e.output,b.output),history:D(e.history,b.history),validation:D(e.validation,b.validation),workflow:D(e.workflow,b.workflow),testing:D(e.testing,b.testing),telemetry:D(e.telemetry,b.telemetry),agent_guidance:D(e.agent_guidance,b.agent_guidance),item_types:D(e.item_types,b.item_types),schema:D(e.schema,b.schema),context:D(e.context,b.context),extensions:D(e.extensions,b.extensions),search:D(e.search,b.search),providers:D(e.providers,b.providers),vector_store:D(e.vector_store,b.vector_store)}}function _u(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:os(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:ue(e.validation?.lifecycle_stale_blocker_reason_patterns??b.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:ue(e.validation?.lifecycle_closure_like_blocked_reason_patterns??b.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:ue(e.validation?.lifecycle_closure_like_resolution_patterns??b.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:ue(e.validation?.lifecycle_closure_like_actual_result_patterns??b.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:lr(e.validation?.estimate_defaults_by_type)}}function pu(e){return{...b.search,...e.search,mutation_refresh_policy:Vi(e.search?.mutation_refresh_policy),query_expansion:{...b.search.query_expansion,...e.search?.query_expansion,enabled:Gi(e.search?.query_expansion?.enabled),provider:Xi(e.search?.query_expansion?.provider)},rerank:{...b.search.rerank,...e.search?.rerank,enabled:Ki(e.search?.rerank?.enabled),model:Ji(e.search?.rerank?.model),top_k:Yi(e.search?.rerank?.top_k)}}}function yu(e){return{default_depth:e.context?.default_depth??b.context.default_depth,activity_limit:e.context?.activity_limit??b.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??b.context.stale_threshold_days,sections:{...b.context.sections,...e.context?.sections}}}function hu(e){return{...e.vector_store,adapter:e.vector_store?.adapter??b.vector_store.adapter,collection_name:Qi(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function gu(e,t,n,r){return{...e,item_format:"toon",validation:_u(e,t),governance:t,agent_guidance:ts(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:pu(e),context:yu(e),extensions:{enabled:_r(e.extensions?.enabled),disabled:_r(e.extensions?.disabled),policy:rs(e.extensions?.policy)},vector_store:hu(e)}}function ss(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],d=typeof a=="object"&&a!==null&&!Array.isArray(a)?a:{};ss(d,i,s),Object.keys(d).length>0?e[o]=d:delete e[o];continue}e[o]=structuredClone(s)}}}var as=["version","id_prefix","ids","author_default","agent_identity","mutation_guard","item_format","locks","checkpoints","output","history","validation","governance","workflow","testing","telemetry","agent_guidance","item_types","schema","context","extensions","search","providers","vector_store"];function Wi(e,t){let n=mu(e),r=sn(n),o=Ue(n.schema),i=Ql(n,t),s=gu(n,r,o,i),a=E({...s,governance:Bl(r)},as);return fu(a),a}function bu(e,t={}){let n=Wi(e,t.persist_source);if(t.persist_source){let r=is(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=Wi(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return ss(i,o,n),`${JSON.stringify(E(i,as),null,2)}
|
|
148
|
+
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 Bt(e){await we.rm(De(e),{force:!0})}import P from"node:fs/promises";import A from"node:path";import{createHash as Pd,randomUUID as Ei}from"node:crypto";import te from"node:fs/promises";import Yn from"node:path";import{randomUUID as pd}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]="c638b65d-148a-5b42-8f24-d6fa9d5ac7d3")}catch{}})();function yd(e){let t;try{t=JSON.parse(e)}catch{return{info:null,warnings:["lock_info_invalid_json"]}}if(typeof t!="object"||t===null||Array.isArray(t))return{info:null,warnings:["lock_info_invalid_shape"]};let n=t,r=n.id,o=n.pid,i=n.owner,s=n.created_at,a=n.ttl_seconds;return typeof r!="string"||typeof o!="number"||!Number.isFinite(o)||typeof i!="string"||typeof s!="string"||typeof a!="number"||!Number.isFinite(a)?{info:null,warnings:["lock_info_invalid_shape"]}:{info:{id:r,pid:o,owner:i,created_at:s,ttl_seconds:a},warnings:[]}}async function li(e){try{let t=await te.readFile(e,"utf8");return await X({path:e,scope:"project"}),yd(t)}catch(t){return et(t,"ENOENT")?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function et(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function ui(e,t){await B({path:e,scope:"project",op:t})}function hd(e,t,n){return{id:e,pid:process.pid,owner:t,created_at:ge(),ttl_seconds:n}}async function gd(e,t,n,r){await te.mkdir(Yn.dirname(e),{recursive:!0});let o=await te.open(e,"wx");try{await o.writeFile(`${JSON.stringify(hd(t,n,r),null,2)}
|
|
149
|
+
`,"utf8")}finally{await o.close()}await ui(e,"lock:create")}async function fi(e,t){try{return await te.unlink(e),await ui(e,t),!0}catch{return!1}}function mi(e,t){let n=e?.created_at?Date.parse(e.created_at):Number.NaN;return(Number.isFinite(n)?Date.now()-n:Number.POSITIVE_INFINITY)>t*1e3}function bd(e){return e?.owner?` (owner ${e.owner})`:""}var wd=25,Ed=200,kd=250,Sd=3,vd=".stale-cleanup",_i="owner.json",Id=1e4,xd=5*6e4;function ai(e){if(typeof e=="string"){let t=e.trim();if(!/^\d+$/.test(t))return;let n=Number(t);return Number.isSafeInteger(n)?n:void 0}if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return Math.trunc(e)}function Td(e){let t=process.env.PM_LOCK_WAIT_MS,n=ai(t);if(n!==void 0)return n;let r=ai(e);return r!==void 0?r:0}function Od(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}function pi(e,t,n){let r=n>0?` after waiting ${n}ms`:"";return new T(`Item ${e} is locked${bd(t)}${r}`,I.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:kd}})}function Cd(e){if(typeof e=="function")return e;if(typeof e=="object"&&e!==null&&"release"in e){let t=e.release;return typeof t=="function"?t:null}return null}function Ad(e,t,n,r){if(!n&&r){let o=t.warnings.length>0?` (${t.warnings.join(",")})`:"";throw new T(`Item ${e} lock is stale${o}; rerun with --force when supported for this command`,I.CONFLICT)}}function Nd(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null||Array.isArray(t))return null;let n=t,r=n.pid,o=n.token;return typeof r!="number"||!Number.isInteger(r)||r<=0||typeof o!="string"||o.length===0?null:{pid:r,token:o}}async function yi(e){try{return Nd(await te.readFile(Yn.join(e,_i),"utf8"))}catch{return null}}function Rd(e){try{return process.kill(e,0),!0}catch(t){return!et(t,"ESRCH")}}async function Qn(e){try{return await te.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function ci(e,t){let n=await yi(e);n===null||n.token!==t||await Qn(e)}async function di(e){try{await te.mkdir(e)}catch(n){return et(n,"EEXIST"),null}let t={pid:process.pid,token:pd()};try{await te.writeFile(Yn.join(e,_i),`${JSON.stringify(t)}
|
|
150
|
+
`,"utf8")}catch{return await Qn(e),null}return t}async function Dd(e){let t;try{let r=await te.stat(e);if(t=Date.now()-r.mtimeMs,t<=Id)return!1}catch(r){return et(r,"ENOENT")}let n=await yi(e);return n!==null&&Rd(n.pid)&&t<=xd?!1:Qn(e)}async function Md(e,t){let n=`${e}${vd}`,r=await di(n);if(r!==null)return async()=>ci(n,r.token);if(!await Dd(n))return null;let o=await di(n);return o===null?null:async()=>ci(n,o.token)}async function Ld(e){let t=await Md(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await li(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!mi(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(Ad(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=Sd)throw pi(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await fi(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function ne(e,t,n,r,o=!1,i=!0,s){let a=await Z("lock_acquire",{pm_root:e,id:t,ttl_seconds:n,owner:r,force:o,force_required_for_stale_lock:i});if(a.handled){let _=Cd(a.result);if(_)return async()=>{await Promise.resolve(_()),await Z("lock_release",{pm_root:e,id:t,owner:r})}}let d=Ar(e,t),l=Td(s),m=Date.now(),f=0,h=wd;for(;;)try{return await gd(d,t,r,n),async()=>{await fi(d,"lock:release"),await Z("lock_release",{pm_root:e,id:t,owner:r})}}catch(_){if(!et(_,"EEXIST"))throw new T(`Failed to acquire lock for ${t}: ${Nr(_)}`,I.GENERIC_FAILURE);let S=await li(d);if(mi(S.info,n)){let w=await Ld({lockPath:d,id:t,ttlSeconds:n,force:o,forceRequiredForStaleLock:i,staleRemovals:f,waitBudgetMs:l,startedAtMs:m,fallbackLockInfo:S});if(S=w.lockInfo,w.staleRemovalCounted&&(f+=1),w.shouldRetryCreate)continue}let v=Date.now()-m;if(l===0||v>=l)throw pi(t,S.info,l===0?0:v);await Od(Math.min(h,l-v)),h=Math.min(h*2,Ed)}}(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]="8ed70856-9cba-599d-8b53-21a981af1f40")}catch{}})();var K=8,ki=500,jd="metadata-derived-index",Fd="metadata-cache.json",$d="metadata-cache-bodies.json",zd="metadata-cache-collections.json",Ud="metadata-cache-delta.json",Hd="metadata-cache-manifest.json",hi=4,Wd=["comments","notes","learnings","files","tests","test_runs","docs"];function Si(){return _t(Xe())}function Gt(e){let t={...e},n={};for(let r of Wd)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function vi(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Ii(e,t,n,r){let o=Pd("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 Xt(e){return A.join(e,"runtime",Fd)}function Kt(e){return A.join(e,"runtime",$d)}function Jt(e){return A.join(e,"runtime",zd)}function er(e){return A.join(e,"runtime",Ud)}function tr(e){return A.join(e,"runtime",Hd)}function Yt(e,t){let n=A.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var qd=24,H=new Map,Qt=new WeakMap;function nr(e){return Qt.get(e)??e.source_cursor}function Bd(e,t){let n=nr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Qt.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 Vd(e,t){if(!e)return;let n=nr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Qt.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 Gd(e,t){if(!e)return;let n=nr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Qt.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 Xd(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Bd(e,r),Vd(t,r),Gd(n,r))}function Zn(e,t){H.size>=qd&&!H.has(e)&&ht(H),H.set(e,t)}async function ce(e,t){let n;try{n=await P.stat(e)}catch{return H.delete(e),null}let r=H.get(e);if(r&&tt(r.signature,n.mtimeMs,n.ctimeMs,n.size))return H.delete(e),H.set(e,r),r.envelope;let o;try{o=t(await P.readFile(e,"utf8"))}catch{o=null}return Zn(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Kd(e,t,n){let r=a=>{let d=JSON.parse(a);return d.version!==K||typeof d.source_cursor!="string"||typeof d.entries!="object"||d.entries===null?null:d},o=Xt(e),i=await ce(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await ce(Yt(o,t),r);return s===null&&ot(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Jd(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==K||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Kt(e),o=await ce(r,n);return t&&o?.context_fingerprint!==t?await ce(Yt(r,t),n):o}async function Yd(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==K||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Jt(e),o=await ce(r,n);return t&&o?.context_fingerprint!==t?await ce(Yt(r,t),n):o}async function rr(e){let t=er(e),n=await ce(t,r=>{let o=JSON.parse(r);return o.version!==K||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 P.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function or(e){let t=tr(e),n=await ce(t,r=>{let o=JSON.parse(r);return o.version!==K||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 P.stat(t),await Me(e)}catch{}return null}async function nt(e,t){await P.mkdir(A.dirname(e),{recursive:!0}),await W(e,JSON.stringify(t));try{let r=await P.stat(e);Zn(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{H.delete(e)}let n=A.dirname(A.dirname(e));if(e===Xt(n)||e===Kt(n)||e===Jt(n)){let r=Yt(e,t.context_fingerprint);await W(r,JSON.stringify(t));try{let d=await P.stat(r);Zn(r,{signature:{mtime_ms:d.mtimeMs,ctime_ms:d.ctimeMs,size:d.size},envelope:t})}catch{H.delete(r)}let o=A.dirname(e),i=A.extname(e),s=A.basename(e,i),a=(await P.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(d=>d.isFile()&&d.name!==A.basename(e)&&d.name.startsWith(`${s}.`)&&d.name.endsWith(i)).map(d=>A.join(o,d.name));if(a.length>hi){let d=(await Promise.all(a.map(async l=>{try{return{path:l,mtime:(await P.stat(l)).mtimeMs}}catch{return null}}))).filter(l=>l!==null);for(let l of d.sort((m,f)=>m.mtime-f.mtime).slice(0,Math.max(0,d.length-hi)))await P.rm(l.path,{force:!0}),H.delete(l.path)}}}function Qd(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function xi(e,t,n){return e===void 0||Qd(e,t,n)}function ot(e,t){e&&!e.includes(t)&&e.push(t)}function tt(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Zd(e,t,n){let r=A.join(e,t);try{let o=await P.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&o.code!=="ENOENT"&&ot(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function el(e,t){try{let n=await P.stat(A.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 Vt(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await el(e,n))))}function rt(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&&tt(o,r.mtime_ms,r.ctime_ms,r.size)})}function tl(e){return yt.some(t=>e.toLowerCase().endsWith(t))}function nl(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function rl(e,t,n){if(n)for(let r of await X({path:e,scope:"project"}))ot(t,r)}function gi(e,t,n,r){if(e)return t&&n?n.collections:r}async function ol(e,t,n){let r=await P.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=pn(e);await rl(e,n.warnings,n.dispatchReadHooks);let d=n.previousEntries[t],l=d!==void 0&&tt(d,o,i,s),m=n.previousBodies[t],f=m!==void 0&&tt(m,o,i,s),h=n.previousCollections[t],_=h!==void 0&&tt(h,o,i,s);if(!(!l||n.includeBody&&!f||n.includeCollections&&!_))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d.metadata,heavyMetadata:gi(n.includeCollections,_,h,void 0),bodyLength:d.body_length,body:n.includeBody?m.body:void 0};let v=await P.readFile(e,"utf8"),w=Ot(v,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:R=>ot(n.warnings,R)}),N=Gt(w.metadata);return nl(n.state.misses,n.includeBody,n.includeCollections,l,f,_),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:l?d.metadata:N.light,heavyMetadata:gi(n.includeCollections,_,h,N.heavy),bodyLength:l?d.body_length:w.body.length,body:n.includeBody?w.body:void 0}}function il(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?vi(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};xi(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function sl(e,t,n,r){try{let o=await ol(t,n,r);il(t,n,r,o)}catch{ot(r.warnings,`item_list_item_read_failed:${e}/${A.basename(t)}`)}}function al(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function cl(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function dl(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function ll(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function ul(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!tl(s))continue;let a=A.join(o,s),d=A.relative(t.pmRoot,a);n.push(sl(r,a,d,t))}return n}async function fl(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!rt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await nt(Xt(e.pmRoot),{version:K,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await nt(tr(e.pmRoot),{version:K,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:A.relative(e.pmRoot,r.item_path),metadata:Gt(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await ii({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Bt(e.pmRoot)}catch{}}async function ml(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 nt(Kt(e.pmRoot),{version:K,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function _l(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 nt(Jt(e.pmRoot),{version:K,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function ir(e,t,n={}){let r=await or(e);return n.required!==!0&&(r===null||r.entry_count<ki)?async()=>{}:ne(e,jd,30,t,!1,!1,3e3)}async function fp(e,t){let n=await or(e);if(n===null)return null;let r=await rr(e);if(r.invalid)return await Me(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&&!rt(i,await Vt(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function bi(e,t){let n=A.relative(e,t);return n===""||n===".."||n.startsWith(`..${A.sep}`)||A.isAbsolute(n)?null:n}async function Me(e){await Promise.all([Xt(e),Kt(e),Jt(e),er(e),tr(e)].map(async t=>{await P.rm(t,{force:!0}),H.delete(t)})),await Bt(e)}async function pl(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await P.stat(e.mutation.itemPath),n=Gt(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 yl(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function sr(e){let t=bi(e.pmRoot,e.itemPath),n=e.previousItemPath?bi(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await Me(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Ii(e.preferredFormat,e.typeToFolder,e.schema,Si()),o=await or(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await rr(e.pmRoot);if(s.invalid)return await Me(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=yl(s.envelope,r,i),d=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 pl({mutation:e});let l=Ei();return await nt(er(e.pmRoot),{version:K,context_fingerprint:r,base_source_cursor:i,source_cursor:l,directory_signatures:await Vt(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await si({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:d,sourceCursor:l,row:e.document===null?null:{relativePath:t,metadata:Gt(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Bt(e.pmRoot),[]}catch{return await Me(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function hl(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function wi(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function gl(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function bl(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=pn(n);if(!o)continue;let i=e.includeCollections?vi(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);xi(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:A.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function wl(e){return e.forceSourceScan||Pn()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!rt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||wi(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||wi(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&gl(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function Zt(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,d=Si(),l=Ii(t,n,o,d),m=await rr(e);m.invalid&&await Me(e);let f=await Kd(e,l,i.cacheDiagnostics),h=s?await Jd(e,l):null,_=a?await Yd(e,l):null;Xd(f,h,_,m.envelope);let S=al(f,l),v=cl(h,l),w=dl(_,l),N=[...new Set(Object.values(n))],R=await Vt(e,N),J=Object.keys(S),F=Math.max(1,Math.floor(i.derivedIndexMinimumItems??ki));if(wl({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:l,existingCache:f,existingBodyCache:h,existingCollectionsCache:_,directorySignatures:R,entryKeys:J,minimumIndexedItems:F,includeBody:s,includeCollections:a,previousBodies:v,previousCollections:w}))return bl({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:S,previousBodies:v,previousCollections:w});let dn=await Promise.all(N.map(ps=>Zd(e,ps,r))),at=Pn(),Y=ll(),ln={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:d,includeBody:s,includeCollections:a,dispatchReadHooks:at,previousEntries:S,previousBodies:v,previousCollections:w,state:Y};await Promise.all(ul(dn,ln));let ct=await Vt(e,N),gr=rt(R,ct)?ct:{},un=Y.misses.metadata||Object.keys(S).length!==Object.keys(Y.newEntries).length||!rt(f?.directory_signatures,gr)||f===null?Ei():f.source_cursor;return await fl({pmRoot:e,contextFingerprint:l,sourceCursor:un,existingCache:f,previousEntries:S,directorySignatures:gr,state:Y,minimumIndexedItems:F}),s&&await ml({pmRoot:e,contextFingerprint:l,sourceCursor:un,existingBodyCache:h,previousBodies:v,state:Y}),a&&await _l({pmRoot:e,contextFingerprint:l,sourceCursor:un,existingCollectionsCache:_,previousCollections:w,state:Y}),hl(Y)}async function Ti(e,t,n,r,o){return(await Zt(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function Oi(e,t,n,r,o){return(await Zt(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}import El from"node:fs/promises";import Ci 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]="86b45d6b-2192-5d31-8f73-94d6e6b17dfc")}catch{}})();var en="_workspace";function Ai(e){return Ci.join(e,"history",`${en}.jsonl`)}function kl(e,t){return{metadata:{id:en,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 Ni(e){let t=Ft();for(let n of e)t=zt(t,n.patch).document;return $t(t)}async function Ri(e){let t=Ai(e.pmRoot),n=await Ke(t,en),r=Xn(n);if(!r.ok)throw new TypeError(`Workspace history verification failed: ${r.errors.join(", ")}`);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=new Date().toISOString(),s=n.length===0?je:Ni(n),a="documents"in s.metadata&&typeof s.metadata.documents=="object"&&s.metadata.documents!==null&&!Array.isArray(s.metadata.documents)?s.metadata.documents:{},d=a[e.documentPath];if(d!==void 0&&G(d)!==G(e.before))throw new T(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,I.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 l=kl({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),m=Ne({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:l,message:e.message});return await Re(t,m),{entry:m,historyPath:t}}async function vp(e){let t=await ne(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ri(e)}finally{await t()}}async function Ip(e){let t=await ne(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=Ai(e.pmRoot),r=await Ke(n,en),o=Xn(r);if(!o.ok)throw new TypeError(`Workspace history verification failed: ${o.errors.join(", ")}`);let i=r.length===0?je:Ni(r),s=Ne({nowIso:new Date().toISOString(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await Re(n,s),{entry:s,historyPath:n}}finally{await t()}}async function Di(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await W(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await Ri({pmRoot:e.pmRoot,documentPath:Ci.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 El.rm(e.filePath,{force:!0}):await W(e.filePath,t),o}return!0}async function xp(e){let t=await ne(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=await _e(e.filePath),r=await e.mutate(n);return{changed:await Di({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function Mi(e){let t=await ne(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Di(e,await _e(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]="027f6acb-15cc-5707-85ed-b5298b6b6abe")}catch{}})();var L={ok:!1},u=e=>typeof e=="string"?{ok:!0,value:e}:L,x=e=>typeof e=="boolean"?{ok:!0,value:e}:L;function C(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?L:{ok:!0,value:t}}function O(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:L}function p(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return L;let r=[];for(let o of n){let i=e(o);if(!i.ok)return L;r.push(i.value)}return{ok:!0,value:r}}}function cr(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}:L}function c(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function tn(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return L;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return L;n[r]=i.value}return{ok:!0,value:n}}}function k(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return L;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return L;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var Sl=k({key:u,values:p(u),required:c(x),aliases:c(p(u)),description:c(u)}),vl=k({command:O("create","update"),option:u,required:c(x),visible:c(x),enabled:c(x)}),Il=k({name:u,description:c(u),default_status:c(u),folder:c(u),aliases:c(p(u)),required_create_fields:c(p(u)),required_create_repeatables:c(p(u)),options:c(p(Sl)),command_option_policies:c(p(vl))}),xl=k({id:u,aliases:c(p(u)),roles:c(p(O(...wr))),description:c(u),order:c(C())}),Tl=k({key:u,metadata_key:c(u),front_matter_key:c(u),cli_flag:c(u),cli_aliases:c(p(u)),description:c(u),type:c(O(...Er)),commands:c(p(O(...kr))),repeatable:c(x),required:c(x),required_on_create:c(x),required_types:c(p(u)),allow_unset:c(x)}),Ol=e=>{if(!Array.isArray(e)||e.length!==2)return L;let[t,n]=e;return typeof t!="string"||typeof n!="string"?L:{ok:!0,value:[t,n]}},Cl=k({type:u,allowed_transitions:p(Ol)}),Al=c(k({version:c(C({int:!0})),files:c(k({types:c(u),statuses:c(u),fields:c(u),workflows:c(u)})),statuses:c(p(xl)),fields:c(p(Tl)),workflow:c(k({draft_status:c(u),open_status:c(u),in_progress_status:c(u),blocked_status:c(u),close_status:c(u),canceled_status:c(u)})),type_workflows:c(p(Cl)),unknown_field_policy:c(O(...Sr))})),Nl=c(k({preset:c(O(...vr)),ownership_enforcement:c(O("none","warn","strict")),create_mode_default:c(O("progressive","strict")),close_validation_default:c(O("off","warn","strict")),require_close_reason:c(x),parent_reference:c(O("warn","strict_error")),metadata_profile:c(O("core","strict","custom")),force_required_for_stale_lock:c(x),create_default_type:c(u),workflow_enforcement:c(O("off","warn","strict")),duplicate_detection_mode:c(O("off","advisory","strict")),duplicate_detection_threshold:c(C({min:0,max:1})),duplicate_detection_limit:c(C({int:!0,min:0,max:20}))})),Rl=k({name:u,disabled:c(x),require_trusted:c(x),require_provenance:c(x),sandbox_profile:c(O("none","restricted","strict")),allowed_capabilities:c(p(u)),blocked_capabilities:c(p(u)),allowed_surfaces:c(p(u)),blocked_surfaces:c(p(u)),allowed_commands:c(p(u)),blocked_commands:c(p(u)),allowed_actions:c(p(u)),blocked_actions:c(p(u)),allowed_services:c(p(u)),blocked_services:c(p(u))}),ar=O("block","warn"),Dl=e=>typeof e=="string"?ar(e):k({global:c(ar),project:c(ar)})(e),Ml=c(k({mode:c(O("off","warn","enforce")),trust_mode:c(O("off","warn","enforce")),pm_max_version_exceeded_mode:c(Dl),require_provenance:c(x),trusted_extensions:c(p(u)),default_sandbox_profile:c(O("none","restricted","strict")),allowed_extensions:c(p(u)),blocked_extensions:c(p(u)),allowed_capabilities:c(p(u)),blocked_capabilities:c(p(u)),allowed_surfaces:c(p(u)),blocked_surfaces:c(p(u)),allowed_commands:c(p(u)),blocked_commands:c(p(u)),allowed_actions:c(p(u)),blocked_actions:c(p(u)),allowed_services:c(p(u)),blocked_services:c(p(u)),extension_overrides:c(p(Rl))})),Ee=cr(128),Ll=k({harness:cr(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:c(p(Ee,64)),model_environment_keys:c(p(Ee,64)),session_environment_keys:c(p(Ee,64)),provenance_environment_keys:c(tn(p(Ee,64))),provenance_resolvers:c(tn(O("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:c(p(Ee,64)),argv_markers:c(p(Ee,64)),client_names:c(p(Ee,64))}),Pl=k({version:C({int:!0}),id_prefix:u,ids:c(k({token_length:c(C({int:!0,min:4,max:12}))})),author_default:u,agent_identity:c(k({probes_enabled:c(x),identity_vocabulary:c(k({version:C({int:!0,positive:!0}),aliases:tn(cr(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:p(Ll)})),mutation_guard:c(k({require_attributed_author:c(x),secret_guard:c(O("off","advise","block")),stale_in_progress_hours:c(C({int:!0,positive:!0}))})),item_format:c(O("toon","json_markdown")),locks:k({ttl_seconds:C({int:!0}),wait_ms:c(C({int:!0,min:0}))}),checkpoints:c(k({retention_days:c(C({int:!0,positive:!0}))})),output:k({default_format:O("toon","json")}),history:c(k({missing_stream:O("auto_create","strict_error"),compact_policy:c(k({enabled:c(x),max_entries:c(C({int:!0,positive:!0})),trigger:c(O("health_warn","auto"))}))})),validation:c(k({sprint_release_format:O("warn","strict_error"),parent_reference:c(O("warn","strict_error")),metadata_profile:c(O("core","strict","custom")),metadata_required_fields:c(p(u)),lifecycle_stale_blocker_reason_patterns:c(p(u)),lifecycle_closure_like_blocked_reason_patterns:c(p(u)),lifecycle_closure_like_resolution_patterns:c(p(u)),lifecycle_closure_like_actual_result_patterns:c(p(u)),estimate_defaults_by_type:c(tn(C({int:!0,positive:!0})))})),governance:Nl,workflow:c(k({definition_of_done:p(u)})),testing:c(k({record_results_to_items:x})),telemetry:c(k({enabled:x,first_run_prompt_completed:c(x),capture_level:c(O("minimal","redacted","max")),endpoint:c(u),installation_id:c(u),retention_days:c(C({int:!0,positive:!0}))})),agent_guidance:c(k({prompt_completed:c(x),declined:c(x),declined_at:c(u),template_version:c(C({int:!0,positive:!0})),last_checked_files:c(p(u))})),item_types:c(k({definitions:p(Il)})),schema:Al,context:c(k({default_depth:c(O("brief","standard","deep")),activity_limit:c(C({int:!0,positive:!0})),stale_threshold_days:c(C({int:!0,positive:!0})),sections:c(k({hierarchy:c(x),activity:c(x),progress:c(x),recently_created:c(x),unparented:c(x),blockers:c(x),files:c(x),workload:c(x),staleness:c(x),tests:c(x)}))})),extensions:k({enabled:p(u),disabled:p(u),policy:Ml}),search:k({score_threshold:C(),hybrid_semantic_weight:c(C()),max_results:C({int:!0}),embedding_model:u,embedding_corpus_max_characters:c(C()),embedding_batch_size:C({int:!0}),embedding_timeout_ms:c(C({int:!0})),scanner_max_batch_retries:C({int:!0}),provider:c(u),corpus_fields:c(p(u)),mutation_refresh_policy:c(O("cache_only","semantic_configured","semantic_auto")),query_expansion:c(k({enabled:c(x),provider:c(u)})),rerank:c(k({enabled:c(x),model:c(u),top_k:c(C({int:!0,positive:!0}))})),bm25:c(k({k1:c(C()),b:c(C())}))}),providers:k({openai:k({base_url:u,api_key:u,model:u}),ollama:k({base_url:u,model:u})}),vector_store:k({adapter:c(u),collection_name:c(u),qdrant:k({url:u,api_key:u}),lancedb:k({path:u})})});function Li(e){let t=Pl(e);return t.ok?{success:!0,data:t.value}:{success:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2d377bc4-c624-561c-9856-405c82099070")}catch{}})();var jl={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Pi=120;function dr(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Fi(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var Fl=Fi(jl),ji=new WeakMap;function $l(e){let t=ji.get(e);if(t)return t;let n=Fi(e);return ji.set(e,n),n}function Ap(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Pi;if(t){let o=$l(t).get(n);if(dr(o))return Math.floor(o)}let r=Fl.get(n);return dr(r)?Math.floor(r):Pi}function lr(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||!dr(r)||(t[o]=Math.floor(r))}return t}import{stat as zl}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="60da76ea-0bd3-56a9-a2bc-d88ba76e1013")}catch{}})();var nn=new Map;function $i(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function Ul(e){try{let t=await zl(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function de(e){let t=$i(e),n=await Promise.all(t.map(r=>Ul(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function it(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 zi(e){return nn.get(e)}function rn(e,t){let n=$i(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));nn.set(e,{tracked_paths:n,signatures:r,value:t.value})}function le(e){if(e){nn.delete(e);return}nn.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]="a434b9ea-4692-51c5-8761-0f1759fff394")}catch{}})();var Hl="settings:write",Bi=Symbol("pm.settings.persist_source"),Wl=128,ql=new Set(["off","advisory","strict"]);function Ui(e){return structuredClone(xr[e])}function Bl(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:b.governance.preset}function Hi(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 Vl(e){return e.preset==="custom"?Hi({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):Hi({preset:e.preset},e)}function Gl(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),ql.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 sn(e){let t=e.governance??{},n=Bl(t.preset),r=Gl(t);if(n==="custom"){let s=Ui("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=Ui(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function Vi(){return structuredClone(b)}function Gi(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:b.search.mutation_refresh_policy}function Xi(e){return typeof e=="boolean"?e:b.search.query_expansion.enabled}function Ki(e){return typeof e!="string"?b.search.query_expansion.provider:e.trim()}function Ji(e){return typeof e=="boolean"?e:b.search.rerank.enabled}function Yi(e){return typeof e!="string"?b.search.rerank.model:e.trim()}function Qi(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:b.search.rerank.top_k}function Zi(e){if(typeof e!="string")return b.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,Wl);return n.length>0?n:b.vector_store.collection_name}function ur(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function Xl(e,t){let n=e.schema,r=ur(n?.statuses),o=ur(n?.fields),i=ur(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:Le(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:Le(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 es(e,t){Object.defineProperty(e,Bi,{value:t,writable:!0,configurable:!0,enumerable:!1})}function ts(e){let t=e[Bi];if(!(!t||typeof t!="object"))return t}function on(e){let t=structuredClone(e.settings),n=ts(e.settings);return n&&es(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function Kl(e,t,n){let r=Ue(t);return[n,He(e,r.files.types,ze.types),He(e,r.files.statuses,ze.statuses),He(e,r.files.fields,ze.fields),He(e,r.files.workflows,ze.workflows)]}async function Jl(e,t,n){let r=await de(t);rn(e,{tracked_paths:t,signatures:r,value:on(n)})}async function Yl(e,t,n){try{await Jl(e,t,n)}catch{le(e)}}function Wi(e,t){return e.find(n=>n.path===t)}function Ql(e,t,n){for(let r of n){let o=Wi(e,r),i=Wi(t,r);if(!o||!i||!it([o],[i]))return!1}return!0}async function fr(e,t,n,r,o){try{let i=await de(t);if(!Ql(r,i,o)){le(e);return}rn(e,{tracked_paths:t,signatures:i,value:on(n)})}catch{le(e)}}function Zl(e,t){let n=Ue(e.schema),r=Le(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),d=ke(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?Le(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:d?t.has_source_schema_type_workflows?structuredClone(t.source_schema_type_workflows):void 0:n.type_workflows}}function st(e){return{settings:Vi(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function eu(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function _r(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function ns(e){let t=b.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:_r(e?.last_checked_files??t.last_checked_files)}}function V(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function tu(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.mode}function nu(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.trust_mode}function rs(e){return e==="none"||e==="restricted"||e==="strict"?e:b.extensions.policy.default_sandbox_profile}function ru(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=rs(e.sandbox_profile));let r=V(e.allowed_capabilities),o=V(e.blocked_capabilities),i=V(e.allowed_surfaces),s=V(e.blocked_surfaces),a=V(e.allowed_commands),d=V(e.blocked_commands),l=V(e.allowed_actions),m=V(e.blocked_actions),f=V(e.allowed_services),h=V(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),d.length>0&&(n.blocked_commands=d),l.length>0&&(n.allowed_actions=l),m.length>0&&(n.blocked_actions=m),f.length>0&&(n.allowed_services=f),h.length>0&&(n.blocked_services=h),n}function ou(e){let t=new Map;for(let n of e??[]){let r=ru(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function mr(e){return e==="block"||e==="warn"?e:void 0}function iu(e){if(typeof e=="string")return mr(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=mr(e.global),n=mr(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function z(e,t){return V(e?.[t]??b.extensions.policy[t])}function os(e){let t=iu(e?.pm_max_version_exceeded_mode);return{mode:tu(e?.mode),trust_mode:nu(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:z(e,"trusted_extensions"),default_sandbox_profile:rs(e?.default_sandbox_profile),allowed_extensions:z(e,"allowed_extensions"),blocked_extensions:z(e,"blocked_extensions"),allowed_capabilities:z(e,"allowed_capabilities"),blocked_capabilities:z(e,"blocked_capabilities"),allowed_surfaces:z(e,"allowed_surfaces"),blocked_surfaces:z(e,"blocked_surfaces"),allowed_commands:z(e,"allowed_commands"),blocked_commands:z(e,"blocked_commands"),allowed_actions:z(e,"allowed_actions"),blocked_actions:z(e,"blocked_actions"),allowed_services:z(e,"allowed_services"),blocked_services:z(e,"blocked_services"),extension_overrides:ou(e?.extension_overrides??b.extensions.policy.extension_overrides)}}function is(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 ue(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function D(e,t){return e===void 0?t:e}function U(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function pr(e){return Array.isArray(e)?e:[]}function su(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:is(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:ue(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:ue(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:ue(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:ue(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:lr(e.validation?.estimate_defaults_by_type)}}function au(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 cu(e,t){return{...t.search,...e.search,mutation_refresh_policy:Gi(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:Xi(e.search?.query_expansion?.enabled),provider:Ki(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:Ji(e.search?.rerank?.enabled),model:Yi(e.search?.rerank?.model),top_k:Qi(e.search?.rerank?.top_k)}}}function du(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:Zi(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function lu(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function uu(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 fu(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function Le(e){let t=(e??[]).map(r=>Or(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 ss(e){let t=Vi(),n=sn({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:lu(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},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:su(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},telemetry:au(e,t),agent_guidance:ns(e.agent_guidance??t.agent_guidance),item_types:{definitions:Le(e.item_types?.definitions)},schema:Ue(e.schema??t.schema),context:uu(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:os(e.extensions.policy??t.extensions.policy)},search:cu(e,t),providers:fu(e,t),vector_store:du(e,t)}}function mu(e){e.agent_identity=E(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=E(U(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=pr(e.agent_identity.harness_signals).map(n=>E(U(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=E(e.locks,["ttl_seconds","wait_ms"]),e.ids=E(e.ids,["token_length"]),e.mutation_guard=E(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=E(e.checkpoints,["retention_days"]),e.output=E(e.output,["default_format"]),e.history=E(e.history,["missing_stream","compact_policy"]),e.validation=E(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=E(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=E(e.workflow,["definition_of_done"]),e.testing=E(e.testing,["record_results_to_items"]),e.telemetry=E(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=E(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=E(e.item_types,["definitions"]),e.schema=E(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=E(U(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=E(U(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=E(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=E(U(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=E(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=E(U(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=pr(e.extensions.policy.extension_overrides).map(n=>E(U(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=E(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=E(U(e.search.query_expansion),["enabled","provider"]),e.search.rerank=E(U(e.search.rerank),["enabled","model","top_k"]),e.providers=E(e.providers,["openai","ollama"]),e.providers.openai=E(U(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=E(U(e.providers.ollama),["base_url","model"]),e.vector_store=E(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=E(U(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=E(U(e.vector_store.lancedb),["path"])}function _u(e){return{...e,locks:D(e.locks,b.locks),ids:D(e.ids,b.ids),agent_identity:D(e.agent_identity,b.agent_identity),mutation_guard:D(e.mutation_guard,b.mutation_guard),checkpoints:D(e.checkpoints,b.checkpoints),output:D(e.output,b.output),history:D(e.history,b.history),validation:D(e.validation,b.validation),workflow:D(e.workflow,b.workflow),testing:D(e.testing,b.testing),telemetry:D(e.telemetry,b.telemetry),agent_guidance:D(e.agent_guidance,b.agent_guidance),item_types:D(e.item_types,b.item_types),schema:D(e.schema,b.schema),context:D(e.context,b.context),extensions:D(e.extensions,b.extensions),search:D(e.search,b.search),providers:D(e.providers,b.providers),vector_store:D(e.vector_store,b.vector_store)}}function pu(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:is(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:ue(e.validation?.lifecycle_stale_blocker_reason_patterns??b.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:ue(e.validation?.lifecycle_closure_like_blocked_reason_patterns??b.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:ue(e.validation?.lifecycle_closure_like_resolution_patterns??b.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:ue(e.validation?.lifecycle_closure_like_actual_result_patterns??b.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:lr(e.validation?.estimate_defaults_by_type)}}function yu(e){return{...b.search,...e.search,mutation_refresh_policy:Gi(e.search?.mutation_refresh_policy),query_expansion:{...b.search.query_expansion,...e.search?.query_expansion,enabled:Xi(e.search?.query_expansion?.enabled),provider:Ki(e.search?.query_expansion?.provider)},rerank:{...b.search.rerank,...e.search?.rerank,enabled:Ji(e.search?.rerank?.enabled),model:Yi(e.search?.rerank?.model),top_k:Qi(e.search?.rerank?.top_k)}}}function hu(e){return{default_depth:e.context?.default_depth??b.context.default_depth,activity_limit:e.context?.activity_limit??b.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??b.context.stale_threshold_days,sections:{...b.context.sections,...e.context?.sections}}}function gu(e){return{...e.vector_store,adapter:e.vector_store?.adapter??b.vector_store.adapter,collection_name:Zi(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function bu(e,t,n,r){return{...e,item_format:"toon",validation:pu(e,t),governance:t,agent_guidance:ns(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:yu(e),context:hu(e),extensions:{enabled:_r(e.extensions?.enabled),disabled:_r(e.extensions?.disabled),policy:os(e.extensions?.policy)},vector_store:gu(e)}}function as(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],d=typeof a=="object"&&a!==null&&!Array.isArray(a)?a:{};as(d,i,s),Object.keys(d).length>0?e[o]=d:delete e[o];continue}e[o]=structuredClone(s)}}}var cs=["version","id_prefix","ids","author_default","agent_identity","mutation_guard","item_format","locks","checkpoints","output","history","validation","governance","workflow","testing","telemetry","agent_guidance","item_types","schema","context","extensions","search","providers","vector_store"];function qi(e,t){let n=_u(e),r=sn(n),o=Ue(n.schema),i=Zl(n,t),s=bu(n,r,o,i),a=E({...s,governance:Vl(r)},cs);return mu(a),a}function wu(e,t={}){let n=qi(e,t.persist_source);if(t.persist_source){let r=ss(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=qi(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return as(i,o,n),`${JSON.stringify(E(i,cs),null,2)}
|
|
151
151
|
`}return`${JSON.stringify(n,null,2)}
|
|
152
|
-
`}async function cs(e){let t=mn(e),n=[t];await X({path:t,scope:"project"});let r=$i(e);if(r){let l=await de(r.tracked_paths);if(it(l,r.signatures))return on(r.value)}let o=await de([t]),i;try{i=await Ee(t)}catch{return st("settings_read_fs_error")}if(i===null){let l=st();return await fr(e,[t],l,o,[t]),l}let s=await de([t]);if(!it(o,s))return le(e),cs(e);let a;try{a=JSON.parse(i)}catch{let l=st("settings_read_invalid_json");return await fr(e,[t],l,s,[t]),l}let d=Mi(a);if(!d.success){let l=st("settings_read_invalid_schema");return await fr(e,[t],l,s,[t]),l}try{let l=is(d.data),m=Xl(e,l.schema,t);n=m;let f=await de(m),h=await zr(e,l.schema),_=await Ur(e,l.schema),S=await de(m),v={...l,item_types:{definitions:Le([...l.item_types.definitions,...pr(_.type_definitions_from_file)])},schema:_.schema};Zi(v,Gl(d.data,v));let w={settings:v,metadata:{has_explicit_item_format:Zl(a)},warnings:[...d.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...h.created_paths.map(R=>`runtime_schema_bootstrap_created:${R}`),..._.warnings]};return h.created_paths.length===0?it(f,S)?rn(e,{tracked_paths:m,signatures:S,value:on(w)}):le(e):le(e),w}catch{let l=st("settings_read_merge_failed");return await Jl(e,n,l),l}}async function qp(e){return(await cs(e)).settings}async function Bp(e,t,n=Ul){let r=mn(e),o=bu(t,{persist_source:es(t)});try{await Di({pmRoot:e,filePath:r,raw:o,op:n,author:so(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await B({path:r,scope:"project",op:n})}finally{le(e)}}import wu from"node:fs/promises";import Eu from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="58fd6fef-9c13-5c6a-9110-b760461896aa")}catch{}})();function ku(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function Su(e,t){return new T(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,I.NOT_FOUND)}async function vu(e,t){return await Tr(Eu.dirname(e)),await(await wu.open(e,"a")).close(),B({path:e,scope:"project",op:`${t}:history:auto_create`})}async function yr(e){return Iu({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function Iu(e){let t=ku(e.itemIds),n=[],r=[];for(let o of t){let i=$e(e.pmRoot,o);if(!await pt(i)){if(e.settings.history.missing_stream==="strict_error")throw Su(o,e.commandLabel);r.push(...await vu(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import fe from"node:fs/promises";import Pe 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]="f43e1170-e797-5a0c-b02e-d31e002ab275")}catch{}})();async function xu(e){try{return await fe.access(e),!0}catch{return!1}}function an(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function Tu(e,t){e&&(e.includes(t)||e.push(t))}function ds(e){return e??_t(Xe())}function Ou(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}function cn(e){return new T(`Tracker root is not a directory at ${e}.`,I.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",nextSteps:["Pass the tracker directory itself, usually <workspace>/.agents/pm."]})}async function Cu(e){let t=Pe.parse(Pe.resolve(e)).root,n=Pe.dirname(Pe.resolve(e));for(;n!==t;){let r;try{r=await fe.stat(n)}catch(o){if(an(o,"ENOTDIR"))throw cn(e);if(!an(o,"ENOENT"))throw o;n=Pe.dirname(n);continue}if(!r.isDirectory())throw cn(e);break}}async function hr(e){let t;try{t=await fe.stat(e)}catch(n){throw an(n,"ENOENT")?(await Cu(e),new T(`Tracker root does not exist at ${e}.`,I.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",nextSteps:["Confirm the tracker root path and retry the SDK read.","Initialize a tracker before enumerating its item metadata."]})):an(n,"ENOTDIR")?cn(e):n}if(!t.isDirectory())throw cn(e)}async function ls(e,t,n="pm-",r,o=me){let i=Jn(t,n),s=Kn(t),a=i===s?[i]:[i,s],d=Object.entries(o),l=Ou(r);for(let m of a)for(let[f]of d)for(let h of l){let _=_n(e,f,m,h,o);if(await xu(_))return{id:m,type:f,itemPath:_,item_format:h}}return null}async function us(e,t={}){let n=await fe.readFile(e.itemPath,"utf8");await X({path:e.itemPath,scope:"project"});let r=Ot(n,{format:e.item_format,schema:t.schema,extensionFieldNames:ds(t.extensionFieldNames),onWarning:o=>Tu(t.warnings,o)});return{raw:n,document:r}}async function Au(e,t,n=me,r,o){return await hr(e),(await Ti(e,t,n,r,o)).map(s=>s.metadata)}async function wy(e,t,n=me,r,o){return await hr(e),(await Oi(e,t,n,r,o)).map(s=>s.metadata)}async function Ey(e,t,n=me,r,o,i={}){return await hr(e),(await Zt(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan})).map(a=>({...a.metadata,body:a.body}))}function fs(e){return{async get(t){let n=await ls(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await us(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>Au(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function Ru(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await fe.readdir(Pe.join(e,o));for(let s of i)for(let a of yt)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function Nu(e,t,n,r){let o=Jn(t,n),i=await Ru(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(d=>({id:d,distance:br(d,o,s)})).filter(d=>d.distance!==null).sort((d,l)=>d.distance-l.distance).slice(0,3).map(d=>d.id)}async function Du(e,t,n,r){let o=await Nu(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 T(`Item ${t} not found`,I.NOT_FOUND,{nextSteps:i})}function Mu(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 ms(e){let t=e.typeToFolder??Cr(e.settings,Xe()).type_to_folder,n=await ls(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await Du(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await ae(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 us(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),d=s.metadata.claim_principal?.trim()||a,l=io(e.author),m=sn(e.settings);if(a&&d!==l&&!e.force&&!Mu(e.op,e.bypassAssigneeConflict)){if(m.ownership_enforcement==="strict")throw new T(`Item ${n.id} is assigned to ${a}. Use --force to override.`,I.CONFLICT);m.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 Lu(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 Pu(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await W(e.originalItemPath,e.originalRaw),await fe.rm(e.effectiveTargetItemPath,{force:!0});return}await W(e.originalItemPath,e.originalRaw)}}async function ky(e){let t=await ms({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 d=q(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=q(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),m=await e.mutate(l);if(e.skipNoop===!0&&m.changedFields.length===0)return{item:d.metadata,body:d.body,changedFields:[],warnings:[...s,...m.warnings??[]]};l.metadata.updated_at=he();let f=q(l,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await Ln({pm_root:e.pmRoot,operation:e.op,before:d,after:f,changed_fields:m.changedFields,sdk:fs({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let h=await yr({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),_="toon",S=Co(f,{format:_,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),v=_n(e.pmRoot,f.metadata.type,r.id,_,n),w=$e(e.pmRoot,r.id),R=await Z("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:v,history_path:w,item_format:_,before:d,after:f,contents:S}),{effectiveTargetItemPath:N,effectiveSerializedAfter:J,skipItemWrite:F}=Lu(R,v,S),dn=await ir(e.pmRoot,e.author),at=[];try{F||await W(N,J),!F&&N!==r.itemPath&&await fe.rm(r.itemPath);let ln=Re({nowIso:f.metadata.updated_at,author:e.author,op:e.op,before:d,after:f,message:e.message});try{await Ne(w,ln)}catch(ct){throw await Pu({skipItemWrite:F,effectiveTargetItemPath:N,originalItemPath:r.itemPath,originalRaw:o}),ct}F||(at=await sr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:N,previousItemPath:r.itemPath,document:f}))}finally{await dn()}let Y=[...await B({path:N,scope:"project",op:e.op,item_id:f.metadata.id,item_type:f.metadata.type,before:d,after:f,changed_fields:m.changedFields}),...await B({path:w,scope:"project",op:`${e.op}:history`,item_id:f.metadata.id,item_type:f.metadata.type,before:d,after:f,changed_fields:m.changedFields})];return Mn({id:f.metadata.id,op:e.op,item_type:f.metadata.type,previous_status:d.metadata.status,status:f.metadata.status,previous:Ct(d.metadata,m.changedFields),current:Ct(f.metadata,m.changedFields),changed_fields:m.changedFields}),{item:f.metadata,body:f.body,changedFields:m.changedFields,warnings:[...s,...m.warnings??[],...h.warnings,...R.warnings,...at,...Y]}}finally{await a()}}async function Sy(e){let t=await ms({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=ds(void 0),d=q(o,{schema:e.settings.schema,extensionFieldNames:a});await Ln({pm_root:e.pmRoot,operation:"delete",before:d,after:null,changed_fields:["deleted"],sdk:fs({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let l=await yr({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),m=he(),f=je,h=Re({nowIso:m,author:e.author,op:"delete",before:d,after:f,message:e.message}),_=$e(e.pmRoot,n.id),S=await Z("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:_,before:d}),v=n.itemPath,w=!1;if(S.handled&&typeof S.result=="object"&&S.result!==null){let F=S.result;typeof F.item_path=="string"&&F.item_path.trim().length>0&&(v=F.item_path),F.skip_delete===!0&&(w=!0)}if(e.dryRun===!0)return{item:d.metadata,changedFields:["deleted"],targetPath:v,warnings:[...i,...l.warnings,...S.warnings]};let R=await ir(e.pmRoot,e.author),N=[];try{w||await fe.rm(v);try{await Ne(_,h)}catch(F){throw w||await W(v,r),F}w||(N=await sr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:v,document:null}))}finally{await R()}let J=[...await B({path:v,scope:"project",op:"delete",item_id:d.metadata.id,item_type:d.metadata.type,before:d,after:f,changed_fields:["deleted"]}),...await B({path:_,scope:"project",op:"delete:history",item_id:d.metadata.id,item_type:d.metadata.type,before:d,after:f,changed_fields:["deleted"]})];return Mn({id:d.metadata.id,op:"delete",item_type:d.metadata.type,previous_status:d.metadata.status,previous:Ct(d.metadata,Object.keys(d.metadata)),changed_fields:["deleted"]}),{item:d.metadata,changedFields:["deleted"],warnings:[...i,...l.warnings,...S.warnings,...N,...J]}}finally{await s()}}export{Vf as a,pc as b,im as c,sm as d,am as e,cm as f,dm as g,lm as h,um as i,fm as j,Xe as k,Mn as l,Ct as m,B as n,Ln as o,X as p,Pn as q,mm as r,_m as s,Z as t,zc as u,pe as v,Gr as w,$u as x,zu as y,Jr as z,bs as A,Xu as B,Ku as C,Ju as D,no as E,Yu as F,Qu as G,Zu as H,Cs as I,io as J,so as K,he as L,j as M,df as N,lf as O,ae as P,go as Q,We as R,kf as S,Sf as T,Ie as U,_o as V,ff as W,po as X,Ks as Y,mf as Z,St as _,Ys as $,hf as aa,vt as ba,Tt as ca,Ot as da,Co as ea,q as fa,Ke as ga,Nm as ha,Dm as ia,Qm as ja,Zm as ka,Vc as la,Ye as ma,Xo as na,y_ as oa,Re as pa,Ne as qa,Zc as ra,Ft as sa,jt as ta,$t as ua,v_ as va,I_ as wa,Yo as xa,zt as ya,Xn as za,x_ as Aa,T_ as Ba,en as Ca,Ai as Da,Sp as Ea,vp as Fa,Di as Ga,Op as Ha,sn as Ia,cs as Ja,qp as Ka,Bp as La,yr as Ma,Iu as Na,ei as Oa,Kn as Pa,Jn as Qa,M_ as Ra,z_ as Sa,U_ as Ta,H_ as Ua,ki as Va,Hd as Wa,ir as Xa,up as Ya,sr as Za,Zt as _a,ls as $a,us as ab,Au as bb,wy as cb,Ey as db,fs as eb,Du as fb,ky as gb,Sy as hb};
|
|
153
|
-
//# sourceMappingURL=chunk-
|
|
152
|
+
`}async function ds(e){let t=mn(e),n=[t];await X({path:t,scope:"project"});let r=zi(e);if(r){let l=await de(r.tracked_paths);if(it(l,r.signatures))return on(r.value)}let o=await de([t]),i;try{i=await _e(t)}catch{return st("settings_read_fs_error")}if(i===null){let l=st();return await fr(e,[t],l,o,[t]),l}let s=await de([t]);if(!it(o,s))return le(e),ds(e);let a;try{a=JSON.parse(i)}catch{let l=st("settings_read_invalid_json");return await fr(e,[t],l,s,[t]),l}let d=Li(a);if(!d.success){let l=st("settings_read_invalid_schema");return await fr(e,[t],l,s,[t]),l}try{let l=ss(d.data),m=Kl(e,l.schema,t);n=m;let f=await de(m),h=await zr(e,l.schema),_=await Ur(e,l.schema),S=await de(m),v={...l,item_types:{definitions:Le([...l.item_types.definitions,...pr(_.type_definitions_from_file)])},schema:_.schema};es(v,Xl(d.data,v));let w={settings:v,metadata:{has_explicit_item_format:eu(a)},warnings:[...d.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...h.created_paths.map(N=>`runtime_schema_bootstrap_created:${N}`),..._.warnings]};return h.created_paths.length===0?it(f,S)?rn(e,{tracked_paths:m,signatures:S,value:on(w)}):le(e):le(e),w}catch{let l=st("settings_read_merge_failed");return await Yl(e,n,l),l}}async function Vp(e){return(await ds(e)).settings}async function Gp(e,t,n=Hl){let r=mn(e),o=wu(t,{persist_source:ts(t)});try{await Mi({pmRoot:e,filePath:r,raw:o,op:n,author:so(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await B({path:r,scope:"project",op:n})}finally{le(e)}}import Eu from"node:fs/promises";import ku from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="58fd6fef-9c13-5c6a-9110-b760461896aa")}catch{}})();function Su(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function vu(e,t){return new T(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,I.NOT_FOUND)}async function Iu(e,t){return await Tr(ku.dirname(e)),await(await Eu.open(e,"a")).close(),B({path:e,scope:"project",op:`${t}:history:auto_create`})}async function yr(e){return xu({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function xu(e){let t=Su(e.itemIds),n=[],r=[];for(let o of t){let i=$e(e.pmRoot,o);if(!await pt(i)){if(e.settings.history.missing_stream==="strict_error")throw vu(o,e.commandLabel);r.push(...await Iu(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import fe from"node:fs/promises";import Pe 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]="f43e1170-e797-5a0c-b02e-d31e002ab275")}catch{}})();async function Tu(e){try{return await fe.access(e),!0}catch{return!1}}function an(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function Ou(e,t){e&&(e.includes(t)||e.push(t))}function ls(e){return e??_t(Xe())}function Cu(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}function cn(e){return new T(`Tracker root is not a directory at ${e}.`,I.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",nextSteps:["Pass the tracker directory itself, usually <workspace>/.agents/pm."]})}async function Au(e){let t=Pe.parse(Pe.resolve(e)).root,n=Pe.dirname(Pe.resolve(e));for(;n!==t;){let r;try{r=await fe.stat(n)}catch(o){if(an(o,"ENOTDIR"))throw cn(e);if(!an(o,"ENOENT"))throw o;n=Pe.dirname(n);continue}if(!r.isDirectory())throw cn(e);break}}async function hr(e){let t;try{t=await fe.stat(e)}catch(n){throw an(n,"ENOENT")?(await Au(e),new T(`Tracker root does not exist at ${e}.`,I.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",nextSteps:["Confirm the tracker root path and retry the SDK read.","Initialize a tracker before enumerating its item metadata."]})):an(n,"ENOTDIR")?cn(e):n}if(!t.isDirectory())throw cn(e)}async function us(e,t,n="pm-",r,o=me){let i=Jn(t,n),s=Kn(t),a=i===s?[i]:[i,s],d=Object.entries(o),l=Cu(r);for(let m of a)for(let[f]of d)for(let h of l){let _=_n(e,f,m,h,o);if(await Tu(_))return{id:m,type:f,itemPath:_,item_format:h}}return null}async function fs(e,t={}){let n=await fe.readFile(e.itemPath,"utf8");await X({path:e.itemPath,scope:"project"});let r=Ot(n,{format:e.item_format,schema:t.schema,extensionFieldNames:ls(t.extensionFieldNames),onWarning:o=>Ou(t.warnings,o)});return{raw:n,document:r}}async function Nu(e,t,n=me,r,o){return await hr(e),(await Ti(e,t,n,r,o)).map(s=>s.metadata)}async function ky(e,t,n=me,r,o){return await hr(e),(await Oi(e,t,n,r,o)).map(s=>s.metadata)}async function Sy(e,t,n=me,r,o,i={}){return await hr(e),(await Zt(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan})).map(a=>({...a.metadata,body:a.body}))}function ms(e){return{async get(t){let n=await us(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await fs(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>Nu(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function Ru(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await fe.readdir(Pe.join(e,o));for(let s of i)for(let a of yt)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function Du(e,t,n,r){let o=Jn(t,n),i=await Ru(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(d=>({id:d,distance:br(d,o,s)})).filter(d=>d.distance!==null).sort((d,l)=>d.distance-l.distance).slice(0,3).map(d=>d.id)}async function Mu(e,t,n,r){let o=await Du(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 T(`Item ${t} not found`,I.NOT_FOUND,{nextSteps:i})}function Lu(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 _s(e){let t=e.typeToFolder??Cr(e.settings,Xe()).type_to_folder,n=await us(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await Mu(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await ne(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 fs(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),d=s.metadata.claim_principal?.trim()||a,l=io(e.author),m=sn(e.settings);if(a&&d!==l&&!e.force&&!Lu(e.op,e.bypassAssigneeConflict)){if(m.ownership_enforcement==="strict")throw new T(`Item ${n.id} is assigned to ${a}. Use --force to override.`,I.CONFLICT);m.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 Pu(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 ju(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await W(e.originalItemPath,e.originalRaw),await fe.rm(e.effectiveTargetItemPath,{force:!0});return}await W(e.originalItemPath,e.originalRaw)}}async function vy(e){let t=await _s({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 d=q(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=q(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),m=await e.mutate(l);if(e.skipNoop===!0&&m.changedFields.length===0)return{item:d.metadata,body:d.body,changedFields:[],warnings:[...s,...m.warnings??[]]};l.metadata.updated_at=ge();let f=q(l,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await Ln({pm_root:e.pmRoot,operation:e.op,before:d,after:f,changed_fields:m.changedFields,sdk:ms({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let h=await yr({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),_="toon",S=Co(f,{format:_,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),v=_n(e.pmRoot,f.metadata.type,r.id,_,n),w=$e(e.pmRoot,r.id),N=await Z("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:v,history_path:w,item_format:_,before:d,after:f,contents:S}),{effectiveTargetItemPath:R,effectiveSerializedAfter:J,skipItemWrite:F}=Pu(N,v,S),dn=await ir(e.pmRoot,e.author),at=[];try{F||await W(R,J),!F&&R!==r.itemPath&&await fe.rm(r.itemPath);let ln=Ne({nowIso:f.metadata.updated_at,author:e.author,op:e.op,before:d,after:f,message:e.message});try{await Re(w,ln)}catch(ct){throw await ju({skipItemWrite:F,effectiveTargetItemPath:R,originalItemPath:r.itemPath,originalRaw:o}),ct}F||(at=await sr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:R,previousItemPath:r.itemPath,document:f}))}finally{await dn()}let Y=[...await B({path:R,scope:"project",op:e.op,item_id:f.metadata.id,item_type:f.metadata.type,before:d,after:f,changed_fields:m.changedFields}),...await B({path:w,scope:"project",op:`${e.op}:history`,item_id:f.metadata.id,item_type:f.metadata.type,before:d,after:f,changed_fields:m.changedFields})];return Mn({id:f.metadata.id,op:e.op,item_type:f.metadata.type,previous_status:d.metadata.status,status:f.metadata.status,previous:Ct(d.metadata,m.changedFields),current:Ct(f.metadata,m.changedFields),changed_fields:m.changedFields}),{item:f.metadata,body:f.body,changedFields:m.changedFields,warnings:[...s,...m.warnings??[],...h.warnings,...N.warnings,...at,...Y]}}finally{await a()}}async function Iy(e){let t=await _s({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=ls(void 0),d=q(o,{schema:e.settings.schema,extensionFieldNames:a});await Ln({pm_root:e.pmRoot,operation:"delete",before:d,after:null,changed_fields:["deleted"],sdk:ms({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let l=await yr({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),m=ge(),f=je,h=Ne({nowIso:m,author:e.author,op:"delete",before:d,after:f,message:e.message}),_=$e(e.pmRoot,n.id),S=await Z("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:_,before:d}),v=n.itemPath,w=!1;if(S.handled&&typeof S.result=="object"&&S.result!==null){let F=S.result;typeof F.item_path=="string"&&F.item_path.trim().length>0&&(v=F.item_path),F.skip_delete===!0&&(w=!0)}if(e.dryRun===!0)return{item:d.metadata,changedFields:["deleted"],targetPath:v,warnings:[...i,...l.warnings,...S.warnings]};let N=await ir(e.pmRoot,e.author),R=[];try{w||await fe.rm(v);try{await Re(_,h)}catch(F){throw w||await W(v,r),F}w||(R=await sr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:v,document:null}))}finally{await N()}let J=[...await B({path:v,scope:"project",op:"delete",item_id:d.metadata.id,item_type:d.metadata.type,before:d,after:f,changed_fields:["deleted"]}),...await B({path:_,scope:"project",op:"delete:history",item_id:d.metadata.id,item_type:d.metadata.type,before:d,after:f,changed_fields:["deleted"]})];return Mn({id:d.metadata.id,op:"delete",item_type:d.metadata.type,previous_status:d.metadata.status,previous:Ct(d.metadata,Object.keys(d.metadata)),changed_fields:["deleted"]}),{item:d.metadata,changedFields:["deleted"],warnings:[...i,...l.warnings,...S.warnings,...R,...J]}}finally{await s()}}export{Gf as a,yc as b,sm as c,am as d,cm as e,dm as f,lm as g,um as h,fm as i,mm as j,Xe as k,Mn as l,Ct as m,B as n,Ln as o,X as p,Pn as q,_m as r,pm as s,Z as t,Uc as u,ye as v,Gr as w,zu as x,Uu as y,Jr as z,ws as A,Ku as B,Ju as C,Yu as D,no as E,Qu as F,Zu as G,ef as H,As as I,io as J,so as K,ge as L,j as M,lf as N,uf as O,ne as P,go as Q,We as R,Sf as S,vf as T,Ie as U,_o as V,mf as W,po as X,Js as Y,_f as Z,St as _,Qs as $,gf as aa,vt as ba,Tt as ca,Ot as da,Co as ea,q as fa,Ke as ga,Dm as ha,Mm as ia,Zm as ja,e_ as ka,Gc as la,Ye as ma,Xo as na,h_ as oa,Ne as pa,Re as qa,ed as ra,Ft as sa,jt as ta,$t as ua,I_ as va,x_ as wa,Yo as xa,zt as ya,Xn as za,T_ as Aa,O_ as Ba,en as Ca,Ai as Da,vp as Ea,Ip as Fa,xp as Ga,Mi as Ha,Ap as Ia,sn as Ja,ds as Ka,Vp as La,Gp as Ma,yr as Na,xu as Oa,ei as Pa,Kn as Qa,Jn as Ra,L_ as Sa,U_ as Ta,H_ as Ua,W_ as Va,ki as Wa,Wd as Xa,ir as Ya,fp as Za,sr as _a,Zt as $a,us as ab,fs as bb,Nu as cb,ky as db,Sy as eb,ms as fb,Mu as gb,vy as hb,Iy as ib};
|
|
153
|
+
//# sourceMappingURL=chunk-MOTJFQ3F.js.map
|