@unbrained/pm-cli 2026.8.4 → 2026.8.6
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 +53 -13
- package/dist/cli/error-guidance.js +4 -4
- package/dist/cli/main.js +12 -37
- package/dist/cli/register-setup.d.ts +1 -1
- package/dist/cli/register-setup.js +46 -20
- package/dist/cli/register-structured-mutation.d.ts +2 -0
- package/dist/cli/register-structured-mutation.js +124 -12
- package/dist/cli-bundle/bundle-manifest.json +397 -397
- package/dist/cli-bundle/chunks/append-XAJ5Z4XS.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-QVO3VTA4.js → chunk-343QETLI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-Q5F6OI7C.js → chunk-3KFVGGRE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-6S7I3UKV.js → chunk-3ZJRFYY2.js} +19 -19
- package/dist/cli-bundle/chunks/{chunk-NFF3JAQR.js → chunk-4AVFKHHC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-5H47J5FG.js → chunk-4OVGQW22.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-D2MBVMVE.js → chunk-5PBP2ZP3.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-5ZKQPA44.js +2 -0
- package/dist/cli-bundle/chunks/chunk-A3XQ7VPU.js +2 -0
- package/dist/cli-bundle/chunks/chunk-AJE3AHPD.js +8 -0
- package/dist/cli-bundle/chunks/{chunk-2POYGY53.js → chunk-AOBDLU4T.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-PYYPQLHC.js → chunk-AYRUGRNS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QMWUL66F.js → chunk-BP6EMEDP.js} +5 -5
- package/dist/cli-bundle/chunks/{chunk-UVZREFZU.js → chunk-C3YABSJK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-RB65T4RX.js → chunk-CA3BURYF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-KIKLF2W4.js → chunk-D7I3TUGV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-PQXEB7W4.js → chunk-DQGJ2RWT.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-OB7TRZ2G.js → chunk-DWOAOZHZ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SVDH5CHC.js → chunk-E7BFPLUZ.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-CGY5I2GO.js → chunk-F4NREH3G.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-DCJ6CM6F.js → chunk-FDBRXV25.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NM5G7RLU.js → chunk-GU3TSEHD.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-HS7OVAUN.js +164 -0
- package/dist/cli-bundle/chunks/{chunk-CU5ENFNP.js → chunk-JFZIS6JF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-GOICHIX4.js → chunk-JQ4NZ5EB.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-HE3DZFN4.js → chunk-L6LGKJX3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BLINBTMX.js → chunk-M357ZCOR.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NRDKVOUE.js → chunk-M4VEE3FK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-HTYC76A4.js → chunk-MCS73BKB.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BKMZTZYL.js → chunk-MDTH7SAE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-H6FITE7D.js → chunk-NE5VRDAI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NPUJ7OLK.js → chunk-OXY3SJ3N.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-PECV7L5T.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-KH4GVBMC.js → chunk-Q3VOP62W.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-FQ4EFFDU.js → chunk-QJ7C3JIW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VH2EAGUG.js → chunk-R6LSRGPS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-HQ2WU7OY.js → chunk-R6RKEYYW.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-PA5XRN2A.js → chunk-RAFUN7IX.js} +4 -4
- package/dist/cli-bundle/chunks/chunk-RUAU5OSH.js +2 -0
- package/dist/cli-bundle/chunks/chunk-SD3YXU2U.js +56 -0
- package/dist/cli-bundle/chunks/{chunk-JMKVCQSE.js → chunk-SV3YQ4RY.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-B5ZLCD5Z.js → chunk-SVV3DQES.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-J4EPW4GT.js → chunk-SXECIECW.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-T45OHXDW.js +8 -0
- package/dist/cli-bundle/chunks/{chunk-NH35JNK5.js → chunk-TPKDJ5WL.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ZSH4GNBH.js → chunk-UVVXHGYS.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-V663653R.js +20 -0
- package/dist/cli-bundle/chunks/{chunk-5PZGZMPG.js → chunk-WSI5KZQJ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3XZYTRPC.js → chunk-XPOQQJTX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-UJHUR3LZ.js → chunk-YCCDXBNU.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-ZFBWCKYF.js +2 -0
- package/dist/cli-bundle/chunks/close-DI66JMSB.js +2 -0
- package/dist/cli-bundle/chunks/close-many-VFKT6U3O.js +2 -0
- package/dist/cli-bundle/chunks/comments-E73HIEZJ.js +2 -0
- package/dist/cli-bundle/chunks/copy-WBYVLCPC.js +2 -0
- package/dist/cli-bundle/chunks/{create-RLLCBCXM.js → create-TG67IVFI.js} +2 -2
- package/dist/cli-bundle/chunks/delete-6XKUVVQN.js +2 -0
- package/dist/cli-bundle/chunks/{deps-J4ONTF4X.js → deps-AJUGP2OH.js} +2 -2
- package/dist/cli-bundle/chunks/{docs-YL2DJ4WD.js → docs-QOCLDRKJ.js} +2 -2
- package/dist/cli-bundle/chunks/{files-NGNAIYKK.js → files-3ST5TY64.js} +2 -2
- package/dist/cli-bundle/chunks/focus-R2AWS63Y.js +2 -0
- package/dist/cli-bundle/chunks/{history-compact-HW62K5XP.js → history-compact-7BJFML4S.js} +2 -2
- package/dist/cli-bundle/chunks/{history-redact-HVBKUJOW.js → history-redact-WJN3HYXR.js} +2 -2
- package/dist/cli-bundle/chunks/{history-repair-OPNBH5JJ.js → history-repair-XDNZUB7F.js} +2 -2
- package/dist/cli-bundle/chunks/{learnings-F36PZXT6.js → learnings-SZMUPVNA.js} +2 -2
- package/dist/cli-bundle/chunks/{profile-N3XMWBM7.js → profile-KL53JIAC.js} +2 -2
- package/dist/cli-bundle/chunks/{register-list-query-BKGHBI7Y.js → register-list-query-QH7ONPKU.js} +2 -2
- package/dist/cli-bundle/chunks/register-mutation-OCRQNZK4.js +20 -0
- package/dist/cli-bundle/chunks/register-operations-HIBJXRGB.js +2 -0
- package/dist/cli-bundle/chunks/register-setup-QWBQ6HBS.js +2 -0
- package/dist/cli-bundle/chunks/restore-FXA5QPM7.js +2 -0
- package/dist/cli-bundle/chunks/{schema-4PJQMGUY.js → schema-QJ27OTRV.js} +2 -2
- package/dist/cli-bundle/chunks/update-7GBO4SXG.js +2 -0
- package/dist/cli-bundle/chunks/update-many-VF6ZKQUO.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-27DK4A5O.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-4JC3AOGS.js +8 -0
- package/dist/cli-bundle/focused-chunks/chunk-6KDHXURF.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-74CWP3A4.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-7AZDTGPA.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-7YTZ7A4E.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-ONIX2KKW.js → chunk-CL3NB7VW.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-EAXXF2HW.js +4 -0
- package/dist/cli-bundle/focused-chunks/{chunk-L6A4NVQC.js → chunk-EYO4F74Z.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-GEYU23YS.js +153 -0
- package/dist/cli-bundle/focused-chunks/{chunk-DQ4PLKEE.js → chunk-GIERI4YU.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-GSW2Y7VZ.js +5 -0
- package/dist/cli-bundle/focused-chunks/{chunk-WVGJAD7L.js → chunk-LKQXXO62.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-UFCPSWIL.js → chunk-MBBMTDD3.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-OYTK4VNH.js → chunk-ME4XVOBJ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-RO5BQFG3.js → chunk-N7QN3NE6.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-QL5H3AQH.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-TQMFQYXR.js +29 -0
- package/dist/cli-bundle/focused-chunks/{chunk-SQXVGHMH.js → chunk-XNVXIQ4B.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-BOGRY7M6.js → chunk-YHDCGUIW.js} +10 -10
- package/dist/cli-bundle/focused-chunks/{chunk-K37BB4JL.js → chunk-YLPZHWX7.js} +2 -2
- package/dist/cli-bundle/main.js +13 -13
- 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 +28 -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/activation-summary.d.ts +4 -0
- package/dist/core/extensions/activation-summary.js +5 -2
- package/dist/core/extensions/contribution-inventory.d.ts +1 -0
- package/dist/core/extensions/contribution-inventory.js +35 -2
- package/dist/core/extensions/extension-hook-runtime.js +5 -3
- package/dist/core/extensions/extension-types.d.ts +18 -1
- package/dist/core/extensions/extension-types.js +2 -2
- package/dist/core/extensions/loader.js +8 -13
- package/dist/core/extensions/preflight-ownership.d.ts +5 -0
- package/dist/core/extensions/preflight-ownership.js +42 -0
- package/dist/core/item/item-format.js +14 -20
- package/dist/core/shared/constants.js +3 -2
- package/dist/core/store/item-store.js +2 -2
- package/dist/core/store/settings.js +2 -2
- package/dist/mcp/server.js +12 -6
- package/dist/mcp/tool-definitions.js +14 -7
- package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +18 -18
- package/dist/sdk/cli-contracts/agent-output-contracts.js +51 -23
- package/dist/sdk/cli-contracts/commander-mutation-options.js +26 -2
- package/dist/sdk/cli-contracts/flag-contracts.d.ts +4 -0
- package/dist/sdk/cli-contracts/flag-contracts.js +34 -2
- package/dist/sdk/cli-contracts/registration-helpers.js +4 -2
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +10 -2
- package/dist/sdk/cli-contracts/runtime-contracts.js +21 -5
- package/dist/sdk/cli-contracts/tool-schema.js +4 -2
- package/dist/sdk/cli-contracts.d.ts +2 -2
- package/dist/sdk/cli-contracts.js +4 -4
- package/dist/sdk/cli-program.js +3 -3
- package/dist/sdk/compose.d.ts +2 -2
- package/dist/sdk/compose.js +7 -2
- package/dist/sdk/contracts.d.ts +1 -0
- package/dist/sdk/contracts.js +3 -2
- package/dist/sdk/define.d.ts +3 -1
- package/dist/sdk/define.js +3 -8
- package/dist/sdk/dependency-provenance.d.ts +2 -0
- package/dist/sdk/dependency-provenance.js +7 -3
- package/dist/sdk/error-code-catalog.d.ts +23 -0
- package/dist/sdk/error-code-catalog.js +25 -5
- package/dist/sdk/extension/install-sources.d.ts +43 -5
- package/dist/sdk/extension/install-sources.js +36 -2
- package/dist/sdk/extension/migrations.d.ts +114 -0
- package/dist/sdk/extension/migrations.js +175 -0
- package/dist/sdk/extension/scaffold.js +14 -9
- package/dist/sdk/extension/source-resolution.d.ts +50 -0
- package/dist/sdk/extension/source-resolution.js +66 -0
- package/dist/sdk/extension.d.ts +5 -1
- package/dist/sdk/extension.js +24 -26
- package/dist/sdk/generated-error-code-catalog.js +499 -3
- package/dist/sdk/governance/health.js +11 -2
- package/dist/sdk/graph/governance.js +3 -3
- package/dist/sdk/graph/remediation.js +3 -3
- package/dist/sdk/graph/run.js +4 -8
- package/dist/sdk/index.d.ts +7 -2
- package/dist/sdk/index.js +9 -4
- package/dist/sdk/item-transaction.d.ts +51 -6
- package/dist/sdk/item-transaction.js +132 -22
- package/dist/sdk/lifecycle/create.d.ts +4 -0
- package/dist/sdk/lifecycle/create.js +26 -10
- package/dist/sdk/lifecycle-policy.d.ts +9 -0
- package/dist/sdk/lifecycle-policy.js +22 -9
- package/dist/sdk/merge/driver.js +6 -3
- package/dist/sdk/output-contracts.d.ts +67 -0
- package/dist/sdk/output-contracts.js +173 -0
- package/dist/sdk/package-import-adapters.js +2 -2
- package/dist/sdk/package-migrations.d.ts +10 -0
- package/dist/sdk/package-migrations.js +21 -0
- package/dist/sdk/runtime.d.ts +2 -0
- package/dist/sdk/runtime.js +6 -2
- package/dist/sdk/structured-mutations.d.ts +23 -0
- package/dist/sdk/structured-mutations.js +219 -10
- package/dist/sdk/workspace-snapshot.js +58 -12
- package/dist/sdk/workspace.js +30 -4
- package/docs/COMMANDS.md +49 -10
- package/docs/EXTENSIONS.md +3 -3
- package/docs/EXTENSION_LIFECYCLE.md +46 -0
- package/docs/MERGE_SAFETY.md +2 -0
- package/docs/PR_REVIEW_LOOP.md +10 -4
- package/docs/README.md +23 -22
- package/docs/RELEASING.md +36 -23
- package/docs/SCRIPTING.md +32 -9
- package/docs/SDK.md +122 -14
- package/docs/SELF_DESCRIBING_CONTEXT_CONTRACTS.md +13 -0
- package/docs/TESTING.md +25 -0
- package/docs/examples/sdk-contract-consumer/README.md +11 -1
- package/docs/examples/sdk-contract-consumer/package.json +2 -1
- package/docs/examples/sdk-contract-consumer/parse-receipt.mjs +22 -0
- package/marketplace.json +2 -2
- package/package.json +5 -4
- 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 +508 -32
- package/dist/cli-bundle/chunks/append-DHBRLHHS.js +0 -2
- package/dist/cli-bundle/chunks/chunk-2INN52SU.js +0 -8
- package/dist/cli-bundle/chunks/chunk-377OOXUF.js +0 -55
- package/dist/cli-bundle/chunks/chunk-6RSK4IFN.js +0 -20
- package/dist/cli-bundle/chunks/chunk-ASJJKA57.js +0 -2
- package/dist/cli-bundle/chunks/chunk-IYAVULRN.js +0 -2
- package/dist/cli-bundle/chunks/chunk-JDPKBV5P.js +0 -2
- package/dist/cli-bundle/chunks/chunk-RRQBHQOV.js +0 -2
- package/dist/cli-bundle/chunks/chunk-SULWTPQO.js +0 -8
- package/dist/cli-bundle/chunks/chunk-V5K52PYW.js +0 -164
- package/dist/cli-bundle/chunks/chunk-XBLOD5TZ.js +0 -2
- package/dist/cli-bundle/chunks/close-VLHNN6YB.js +0 -2
- package/dist/cli-bundle/chunks/close-many-LSJNZKU6.js +0 -2
- package/dist/cli-bundle/chunks/comments-AAIA6A6X.js +0 -2
- package/dist/cli-bundle/chunks/copy-Z7YMLEHN.js +0 -2
- package/dist/cli-bundle/chunks/delete-KNOHHQJM.js +0 -2
- package/dist/cli-bundle/chunks/focus-LFRCGALV.js +0 -2
- package/dist/cli-bundle/chunks/register-mutation-GU3DCECN.js +0 -20
- package/dist/cli-bundle/chunks/register-operations-PTWH727R.js +0 -2
- package/dist/cli-bundle/chunks/register-setup-KWV6UD77.js +0 -2
- package/dist/cli-bundle/chunks/restore-4HZSLILR.js +0 -2
- package/dist/cli-bundle/chunks/update-E6LPS5IV.js +0 -2
- package/dist/cli-bundle/chunks/update-many-OSIC6KRO.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-2VIIXOAD.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-5MTKO7TV.js +0 -153
- package/dist/cli-bundle/focused-chunks/chunk-6GIZK7VQ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-AOP2WIZZ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-C2QSL62X.js +0 -28
- package/dist/cli-bundle/focused-chunks/chunk-CL75YW32.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-E7OFMWGT.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-I5F5UK3Q.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-QM2BIVK7.js +0 -4
- package/dist/cli-bundle/focused-chunks/chunk-T5TSY36R.js +0 -5
- package/dist/cli-bundle/focused-chunks/chunk-VT6BF2IX.js +0 -2
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import{D as Or,Da as ze,Fa as Ue,Ga as He,I as pt,Ia as $r,Ja as zr,Ka as Ur,La as Hr,M as fn,Ma as Wr,N as mn,Na as Br,O as _n,P as $e,Pa as yt,Q as Ar,W as Cr,X as Nr,a as gr,h as mt,o as xr,oa as Rr,p as _t,pa as Dr,q as Ee,qa as Mr,r as W,ra as Lr,s as Fe,sa as Pr,ta as jr,ua as Fr,x as Tr}from"./chunk-QM2BIVK7.js";import{C as ut,D as ft,E as un,G as vr,R as fe,S as ne,T as Ir,W as b,X as je,Y as I,Z as T,aa as G,ba as ke,ca as me,da as E,n as ct,o as br,p as wr,q as Er,r as kr,v as dt,w as lt,x as Sr}from"./chunk-CL75YW32.js";import{AsyncLocalStorage as _s}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 pn=new _s,qr=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function ht(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function _e(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=ht(n.id,128),o=ht(n.parent_id,128);if(r===void 0||!qr.test(r)||o!==void 0&&!qr.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=ht(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=ht(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function ps(e,t,n){let r=pn.getStore(),o=Se({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=_e(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=_e(e?.episode,!1)??_e(n,!1)??i??_e(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 Vr(e,t){return ps(e.session_context,t,e.client_info?.episode)??{}}function Fu(e,t){let n=pn.getStore(),r=_e(e.episode,!0),o=_e(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 pn.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function $u(e){let t=Se(e.provenance),n=_e(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 gn}from"node:async_hooks";import{createHash as ys}from"node:crypto";import gt from"node:fs";import hs from"node:os";import Gr 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 Kr=["model","effort","role","topic","version"],bt=new gn,Jr=new gn,bn=new gn,gs=[{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,yn=/^[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 pe(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function wt(e){let t=e.harness.trim().toLowerCase();if(!yn.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:pe(e.environment_keys),model_environment_keys:pe(e.model_environment_keys),session_environment_keys:pe(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),pe(r)]).filter(([n])=>yn.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"&&yn.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"))),provenance_unavailable_dimensions:pe(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:pe(e.argv_markers).map(n=>n.toLowerCase()),client_names:pe(e.client_names).map(n=>n.toLowerCase())}}var Yr=gs.map(wt);function bs(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Xr(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function Qr(e=[]){let t=[...Yr,...[...ve.values()].map(r=>r.descriptor),...bn.getStore()?.descriptors??[],...e.map(wt)],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 Zr(e,t){for(let n of t??[]){let r=$(e[n]);if(r)return r.slice(0,256)}}function ws(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 hn(e,t){return $(e?.[t])?.slice(0,256)}var Es=1048576;function ks(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 Ss(e,t,n){let r=$(n.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let i=Gr.resolve(t.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),s=Gr.join(t.home_dir??hs.homedir(),".claude","projects",i,`${r}.jsonl`);try{let a=gt.openSync(s,"r");try{let d=gt.fstatSync(a).size,l=Math.min(d,Es),m=Buffer.alloc(l);gt.readSync(a,m,0,l,Math.max(0,d-l));let f=m.toString("utf8").split(`
|
|
2
|
-
`).reverse();for(let g of f.slice(0,4096)){let _=ks(g,e);if(_)return _}return}finally{gt.closeSync(a)}}catch{return}}function vs(e,t,n,r){let o=bn.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 Ss(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 eo(e){return e||(Jr.getStore()??{env:process.env,argv:process.argv})}function Is(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 Xr(l.slice(l.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||Xr(r,a));return o||i||s}function xs(e,t,n,r,o){let i=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,s=new Set([...Kr,...Object.keys(r?.provenance_environment_keys??{})]),a,d;s.has(e)&&(a=$(n[i])?.slice(0,256),d=ws(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,hn(o?.provenance,e),Zr(n,l[e]),hn(m,e),hn(t.provenance,e),d,vs(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 Ts(e,t,n,r){let o=Object.keys(n?.provenance_environment_keys??{}),i=new Set([...Kr,...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=xs(a,e,t,n,r);d?s[a]=d:n&&(a!=="version"||n.provenance_unavailable_dimensions.includes(a))&&(s[a]=null)}return s}function Gu(e){let t=e.map(wt),n=new Map(Yr.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&&!bs(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 Xu(e,t){return Jr.run(e,t)}function Ku(e,t,n={}){let r=e.map(wt);return Qr(r),bn.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function to(e){let t=eo(e),n=t.env??{},r=Qr(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(_=>Is(_,n,o,i)),a=Vr(t,n),d=Ts(t,n,s,a),l=d.model,m=[Zr(n,s?.session_environment_keys),$(t.client_info?.session)?.slice(0,256)].find(_=>_!==void 0),f=s?.harness&&m?ys("sha256").update(`pm-agent-instance:v1\0${s.harness}\0${m}`).digest("hex").slice(0,24):void 0,g=[["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(g.filter(_=>_[1]!==void 0))}function Ju(){return process.env.PM_AUTHOR}function Yu(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function Qu(e){return to(e).harness}function Os(e,t,n){let r=eo(n),o=to(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 no(e){let t=bt.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function ro(e){let t=bt.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 oo(e){let t=bt.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function io(e,t){let n=Os(e,t);return bt.enterWith(n),n.author}import As from"node:crypto";import{AsyncLocalStorage as Cs}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 ao=new Cs,so=1024;function co(){let e=ao.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 lo(e){let t=ao.getStore();if(t===void 0)return;if(!Number.isSafeInteger(e)||e<0||e>so)throw new Error(`Reproducible token length must be an integer between 0 and ${so}`);let n="";for(;n.length<e;){let r=As.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 Ns=/^([+-]?)(\d+)([hdwm])$/i,Rs=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,Ds=/^(\d{4})(\d{2})(\d{2})$/,Ms=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Ls=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})-(\d{2})(?:-(\d{2}))?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Ps=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i;function ye(){return co()??new Date().toISOString()}function re(e){return Number.isFinite(Date.parse(e))}var js=1e4,Et=new Map;function uo(e){let t=Et.get(e);if(t!==void 0)return t;let n=Date.parse(e);return Et.size>=js&&yt(Et),Et.set(e,n),n}function j(e,t){let n=uo(e),r=uo(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function cf(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 wn(e){return e?`.${e.slice(1).padEnd(3,"0").slice(0,3)}`:""}function En(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 Fs(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function $s(e){let t=[],n=l=>Fs(t,e,l),r=Ds.exec(e);if(r){let[,l,m,f]=r;n(`${l}-${m}-${f}`)}let o=Ms.exec(e);if(o){let[,l,m,f,g,_,S,v,w]=o,N=S?`:${S}`:"";n(`${l}-${m}-${f}T${g}:${_}${N}${wn(v)}${En(w)}`)}let i=Ls.exec(e);if(i){let[,l,m,f,g,_,S]=i,v=g?`:${g}`:"";n(`${l}T${m}:${f}${v}${wn(_)}${En(S)}`)}let s=Ps.exec(e);if(s){let[,l,m,f,g,_,S]=s,v=g?`:${g}`:"";n(`${l}T${m}:${f}${v}${wn(_)}${En(S)}`)}let a=10,d=e.slice(0,a);if(Us(d)){let l=a;for(;l<e.length&&Hs(e[l]);)l+=1;l<e.length&&n(`${d}T${e.slice(l)}`)}return t}function zs(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of $s(e)){let r=Date.parse(n);if(Number.isFinite(r))return r}return Number.NaN}function Us(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 Hs(e){return e?e===" "||e===" "||e===`
|
|
3
|
-
`||e==="\r"||e==="\f"||e==="\v":!1}function fo(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var Ws=["January","February","March","April","May","June","July","August","September","October","November","December"],Bs=/^(\d{4})-(\d{2})-(\d{2})/,qs=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Vs(e,t,n){let r=Bs.exec(t)??qs.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=fo(o,i-1);if(s<1||s>d)throw new T(`Invalid ${a} value "${e}". ${Ws[i-1]} ${o} has ${d} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,I.USAGE)}function Gs(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,fo(i,s));return n.setUTCFullYear(i,s,a),n}function df(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 Gs(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()}Vs(e,r,n);let i=zs(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=Rs.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,mo=1;function uf(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=Ie?t:Ie}function _o(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=Ie))return e}function Xs(e,t=mo){return e<t?"outdated":e>t?"ahead":"current"}function ff(e,t=mo){let n=[],r=[];for(let o of e){let i=Xs(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 Ks={"in-progress":"in_progress",cancelled:"canceled"};function kt(e,t){if(t){let o=Hr(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Ks[n]??n;if(ct.includes(r))return r}function Js(e,t){return kt(e,t)??e}function yf(e,t){return t.terminal_statuses.has(Js(e,t))}import{encode as ra}from"@toon-format/toon";import{isDeepStrictEqual as bo}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 kn(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 Ys(e){return[...new Set([Br(e),kn(e.key),kn(e.cli_flag),...e.cli_aliases.map(t=>kn(t))])]}function ho(e,t){for(let n of Ys(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function go(e){return Array.isArray(e)?e.flatMap(t=>go(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 po(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 yo(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 Qs(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:Qs(i,r,e.type)}if(e.repeatable||e.type==="string_array"){let i=go(t);return e.type==="number"?i.map(s=>yo(s,r)):e.type==="boolean"?i.map(s=>po(s,r)):i}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?yo(o,r):e.type==="boolean"?po(o,r):typeof o=="string"?o:String(o)}function Zs(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 Ef(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=ho(e,i);if(s===void 0){Zs(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 kf(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=ho(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 ea}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 Sn(e){return{value:ea(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 ta=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function na(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(ta);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function St(e){return na(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]="c9225594-bc3b-5b07-8703-1debd1a98693")}catch{}})();var oa=new Set(["schema","tracker","auto"]),ia=new Set(["passed","failed","stopped","canceled"]),sa=new Set(vr);function Oe(e){return e.replaceAll("\\","/")}function Cn(e){for(let t of e)if(t!==0)return t;return 0}function It(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var So=["id","title","description","created_at","updated_at"],aa=new Set(ne);function vo(e){if(e?.schema)return{statusRegistry:Ur(e.schema),fieldRegistry:Wr(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function ca(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function he(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new 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 Io(e){let t=new Set(aa);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function h(e,t){e||he(t)}function vn(e,t){let n=e[t];h(typeof n=="string",`${t} must be a string`),h(re(n),`${t} must be a valid ISO timestamp`)}function wo(e,t,n){let r=e[t];r!==void 0&&h(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function Tn(e,t,n){let r=e[t];r!==void 0&&(h(typeof r=="string",`${n} must be a string`),h(re(r),`${n} must be a valid ISO timestamp`))}function da(e){if(e!==void 0){h(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){h(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();h(ft.includes(n),`event.recurrence.by_weekday entries must be one of: ${ft.join(", ")}`)}}}function la(e){if(e!==void 0){h(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)h(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function ua(e){if(e!==void 0){h(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)h(typeof t=="string","event.recurrence.exdates entries must be strings"),h(re(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function fa(e){h(typeof e=="object"&&e!==null&&!Array.isArray(e),"event.recurrence must be an object");let t=e;h(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();h(ut.includes(n),`event.recurrence.freq must be one of: ${ut.join(", ")}`),wo(t,"interval","event.recurrence.interval"),wo(t,"count","event.recurrence.count"),Tn(t,"until","event.recurrence.until"),da(t.by_weekday),la(t.by_month_day),ua(t.exdates)}function ma(e){for(let r of So)h(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;h(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&h(typeof n=="number"&&Number.isInteger(n)&&n>=Ie,`pm_format_version must be an integer >= ${Ie}`),t}function _a(e,t){let n=e.status;h(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=kt(n,r),i=r?r.definitions.map(s=>s.id):[...ct];h(o!==void 0,`status must be one of: ${i.join(", ")}`)}function pa(e){let t=e.priority;h(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;h(Array.isArray(n),"tags must be an array");for(let r of n)h(typeof r=="string","tags entries must be strings")}function ya(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){h(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"||lt.includes(n);h(r,`confidence string value must be one of: ${[...lt,"med"].join(", ")}`);return}h(!1,"confidence must be a number or string")}}function ha(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&he("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||dt.includes(n);h(r,`severity value must be one of: ${[...dt,"med"].join(", ")}`)}function ga(e){e.regression!==void 0&&typeof e.regression!="boolean"&&he("regression must be a boolean")}function ba(e){let t=e.reminders;if(t!==void 0){h(Array.isArray(t),"reminders must be an array");for(let n of t){h(typeof n=="object"&&n!==null&&!Array.isArray(n),"reminders entries must be objects");let r=n;h(typeof r.at=="string","reminder.at must be a string"),h(re(r.at),"reminder.at must be a valid ISO timestamp"),h(typeof r.text=="string","reminder.text must be a string"),h(r.text.trim().length>0,"reminder.text must not be empty")}}}function wa(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(h(typeof e[t]=="string",`event.${t} must be a string`),h(e[t].trim().length>0,`event.${t} must not be empty`))}function Ea(e){e.recurrence!==void 0&&(fa(e.recurrence),e.recurrence.until!==void 0&&h(j(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function ka(e){h(typeof e=="object"&&e!==null&&!Array.isArray(e),"events entries must be objects");let t=e;h(typeof t.start_at=="string","event.start_at must be a string"),h(re(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(h(typeof t.end_at=="string","event.end_at must be a string"),h(re(t.end_at),"event.end_at must be a valid ISO timestamp"),h(j(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),wa(t),t.all_day!==void 0&&h(typeof t.all_day=="boolean","event.all_day must be a boolean"),Ea(t)}function Sa(e){let t=e.events;if(t!==void 0){h(Array.isArray(t),"events must be an array");for(let n of t)ka(n)}}function va(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&h(typeof n=="string",`${t} must be a string`)}}function Ia(e){let t=e.type_options;if(t!==void 0){h(typeof t=="object"&&t!==null&&!Array.isArray(t),"type_options must be an object");for(let[n,r]of Object.entries(t))h(n.trim().length>0,"type_options keys must be non-empty"),h(typeof r=="string","type_options values must be strings"),h(r.trim().length>0,"type_options values must be non-empty strings")}}function xa(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){ca(r,t)&&he(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=We(r,o,`metadata field "${r.metadata_key}"`)}catch(i){he(String(i?.message).replace(/^Invalid\s+/u,""))}}}function Ta(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Io(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?he(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function On(e,t){h(typeof e=="object"&&e!==null&&!Array.isArray(e),"item metadata must be an object");let n=e,r=ma(n);_a(n,t),pa(n),ya(n),ha(n),ga(n),vn(n,"created_at"),vn(n,"updated_at"),n.deadline!==void 0&&vn(n,"deadline"),ba(n),Sa(n),Tn(n,"closed_at","closed_at"),Tn(n,"completed_at","completed_at"),va(n),Ia(n),xa(n,r,t),Ta(n,t)}function Oa(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 In(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 Ca(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!ut.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>ft.includes(s)))).sort((s,a)=>un(s)-un(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(Ra).sort(Da)}function Ra(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:Ca(e.recurrence)};return It(t),t}function Da(e,t){return Cn([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 Ma(e){if(!(!e||e.length===0))return e.map(t=>({path:Oe(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function La(e){if(!e||e.length===0)return;let t=e.map(Fa).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)=>Cn([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 Pa(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function xn(e){return typeof e=="string"?e:""}function ja(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 Fa(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=ia.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:xn(e.started_at),finished_at:xn(e.finished_at),recorded_at:xn(e.recorded_at),attempt:Pa(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:ja(e.measurements)};return It(o),o}function $a(e){if(!(!Array.isArray(e)||e.length===0))return[...e].map(Ha).sort(Wa)}function Be(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 xo(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 Eo(e){if(!xo(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 za(e){if(!xo(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 Ua(e){let t=e?.trim().toLowerCase();if(!(!t||!oa.has(t)))return t}function Ha(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:Ua(e.pm_context_mode),env_set:Eo(e.env_set),env_clear:Be(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Be(e.assert_stdout_contains),assert_stdout_regex:Be(e.assert_stdout_regex),assert_stderr_contains:Be(e.assert_stderr_contains),assert_stderr_regex:Be(e.assert_stderr_regex),assert_stdout_min_lines:xe(e.assert_stdout_min_lines),assert_json_field_equals:Eo(e.assert_json_field_equals),assert_json_field_gte:za(e.assert_json_field_gte),note:e.note?.trim()||void 0};return It(t),t}function Wa(e,t){return Cn([e.scope.localeCompare(t.scope),vt(e.path,t.path),vt(e.command,t.command),ko(e.timeout_seconds,t.timeout_seconds),vt(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,[]),ko(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,{}),vt(e.note,t.note)])}function vt(e,t){return(e??"").localeCompare(t??"")}function ko(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 qa(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 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.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 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.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 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(e===null||typeof e!="object")return;let t=e,n=y(t.id),r=y(t.title),o=y(t.status),i=o&&sa.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 Ja(l,t),l}function Ja(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",qa],["files","files",Va],["tests","tests",Ga],["docs","docs",Xa]];for(let[i,s,a]of o){let d=a(t[s]);d&&(e[i]=d)}}function Ya(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Ka(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Qa(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 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.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 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=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 tc(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 nc(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(lt.includes(t))return t}function rc(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(dt.includes(t))return t}function qe(e){return e||void 0}function oc(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))Nn(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function ic(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 sc(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Io(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&he(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function xt(e,t={}){let n=vo(t),r=kt(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:_o(e.pm_format_version),source_type:y(e.source_type),type_options:tc(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:Oa(e.dependencies),comments:In(e.comments),notes:In(e.notes),learnings:In(e.learnings),files:Ma(e.files),tests:$a(e.tests),test_runs:La(e.test_runs),docs:Ba(e.docs),deadline:qe(e.deadline),reminders:Aa(e.reminders),events:Na(e.events),closed_at:qe(e.closed_at),completed_at:qe(e.completed_at),assignee:y(e.assignee),claim_principal:y(e.claim_principal),source_owner:y(e.source_owner),author:qe(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:nc(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:rc(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:qe(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:Ya(e.plan_steps),plan_decisions:Qa(e.plan_decisions),plan_discoveries:Za(e.plan_discoveries),plan_validation:ec(e.plan_validation)};return oc(i,e),ic(i,n),sc(i,n),It(i),i}function To(e){return E(e,ne)}function ac(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 cc(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=ac(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 dc(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 xt(e,{...t,onWarning:void 0})}function lc(e,t,n={}){let r=dc(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=cc(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 On(s,t),{metadata:An(s,n),body:Te(i)}}function uc(e,t,n={}){let r;try{r=Sn(e).value}catch{Ve("toon","TOON item document is not valid TOON")}h(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!So.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 On(o.front_matter,t),h(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 h(i===void 0||typeof i=="string","TOON item document body must be a string"),On(s,t),{metadata:An(s,n),body:Te(typeof i=="string"?i:"")}}function fc(e,t={}){let n=xt(e.metadata,t),r=To(n),o=JSON.stringify(r,null,2),i=Te(e.body??"");return i?`${o}
|
|
6
|
-
|
|
7
|
-
${i}
|
|
8
|
-
`:`${o}
|
|
9
|
-
`}function mc(e,t={}){let n=xt(e.metadata,t),r=To(n),o=Te(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=ra(s),d;try{d=Sn(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(!bo(d,s)){let l=typeof d=="object"&&d!==null&&!Array.isArray(d)?d:{},m=Object.keys(s).find(f=>!bo(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 Tt(e,t={}){let n=St(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=vo(t);return r==="toon"?uc(e,o,t):lc(e,o,t)}function Oo(e,t={}){return(t.format??"toon")==="toon"?mc(e,t):fc(e,t)}function B(e,t={}){return{metadata:xt(e.metadata,t),body:Te(e.body??"")}}import{existsSync as pc}from"node:fs";import{AsyncLocalStorage as yc}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 qf(){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 _c(){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 Ae=null,Co=null,hc=null,gc=null,Rn=null,bc=null,No=null,wc=null;var Ec=[],Ro=new yc;function M(){return Ro.getStore()}function om(e){return Ro.run({hooks:null,commands:null,parsers:null,preflight:null,services:null,renderers:null,registrations:null,commandContext:null,commandResult:void 0,affectedItems:[]},e)}var kc=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function Ao(e){let t=Q.resolve(e);for(;;){if(pc(Q.join(t,".git")))return t;let n=Q.dirname(t);if(n===t)return;t=n}}function Sc(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 im(e){let t=M();if(t){t.hooks=e;return}Ae=e}function sm(e){let t=M();if(t){t.commands=e;return}Co=e}function am(e){let t=M();if(t){t.parsers=e;return}hc=e}function cm(e){let t=M();if(t){t.preflight=e;return}gc=e}function dm(e){let t=M();if(t){t.services=e;return}Rn=e}function lm(e){let t=M();if(t){t.renderers=e;return}bc=e}function um(e){let t=M();if(t){t.registrations=e;return}No=e}function Ge(){let e=M();return e?e.registrations:No}function Dn(e){if(!e)return;let t=M();t?t.affectedItems.push(e):Ec.push(e)}function Ot(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"||kc.has(i)||Object.hasOwn(r,i)&&r[i]!==void 0&&(n[i]=r[i])}return n}async function q(e){let t=M(),n=t?t.hooks:Ae;return n?Dr(n,e):[]}async function Mn(e){let t=M(),n=t?t.hooks:Ae;n&&await Rr(n,e)}async function X(e){let t=M(),n=t?t.hooks:Ae;return n?Mr(n,e):[]}function Ln(){let e=M();return((e?e.hooks:Ae)?.onRead?.length??0)>0}async function fm(e){let t=M(),n=t?t.hooks:Ae;return n?Lr(n,e):[]}async function mm(e){let t=M(),n=t?t.commands:Co;return n?Pr(n,{...e,...Sc(e.pm_root)}):{handled:!1,result:null,warnings:[]}}function Do(e,t){let n=M(),r=n?n.commandContext:wc;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:Rn;return r?Fr(r,Do(e,t)):{handled:!1,result:t,warnings:[]}}function Mo(e,t){let n=M(),r=n?n.services:Rn;return r?jr(r,Do(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 Xe(e,t){let n=await Ee(e);if(n===null)return[];if(await X({path:e,scope:"project"}),n.trim()==="")return[];let r=St(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 Vn 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 Vo from"fast-json-patch";import ie from"node:fs/promises";import ee from"node:path";import{randomUUID as vc}from"node:crypto";import{createRequire as Ic}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 xc="history-event-index.sqlite",Pn="2";function Nt(e){return ee.join(e,"runtime",xc)}function Tc(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function Oc(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?Tc(t):null}var At;function jn(){return At!==void 0||(At=Oc(process.versions.node,Ic(import.meta.url))),At}function Ac(e){e.exec(`
|
|
11
|
-
PRAGMA journal_mode = OFF;
|
|
12
|
-
PRAGMA synchronous = OFF;
|
|
13
|
-
CREATE TABLE metadata (
|
|
14
|
-
key TEXT PRIMARY KEY,
|
|
15
|
-
value TEXT NOT NULL
|
|
16
|
-
) STRICT;
|
|
17
|
-
CREATE TABLE events (
|
|
18
|
-
stream_id TEXT NOT NULL,
|
|
19
|
-
stream_offset INTEGER NOT NULL,
|
|
20
|
-
ts TEXT NOT NULL,
|
|
21
|
-
author TEXT NOT NULL,
|
|
22
|
-
agent_harness TEXT,
|
|
23
|
-
agent_instance TEXT,
|
|
24
|
-
op TEXT NOT NULL,
|
|
25
|
-
entry_json TEXT NOT NULL,
|
|
26
|
-
PRIMARY KEY(stream_id, stream_offset)
|
|
27
|
-
) STRICT;
|
|
28
|
-
CREATE INDEX events_order
|
|
29
|
-
ON events(ts, stream_id, stream_offset);
|
|
30
|
-
CREATE INDEX events_op_order
|
|
31
|
-
ON events(op, ts, stream_id, stream_offset);
|
|
32
|
-
CREATE INDEX events_author_order
|
|
33
|
-
ON events(author, ts, stream_id, stream_offset);
|
|
34
|
-
CREATE INDEX events_harness_order
|
|
35
|
-
ON events(agent_harness, ts, stream_id, stream_offset);
|
|
36
|
-
CREATE INDEX events_instance_order
|
|
37
|
-
ON events(agent_instance, ts, stream_id, stream_offset);
|
|
38
|
-
`),e.prepare("INSERT INTO metadata(key, value) VALUES ('version', ?)").run(Pn)}function Lo(e,t){e.prepare(`INSERT INTO events(
|
|
39
|
-
stream_id, stream_offset, ts, author, agent_harness,
|
|
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 Nm(e){let t=jn();if(!t)return!1;let n=ee.join(e,"history"),o=(await ie.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=Nt(e);await ie.mkdir(ee.dirname(i),{recursive:!0});let s=`${i}.${vc()}.tmp`,a;try{a=new t(s),Ac(a),a.exec("BEGIN IMMEDIATE");for(let d of o){let l=d.name.slice(0,-6),m=await Xe(ee.join(n,d.name),l);for(let[f,g]of m.entries())Lo(a,{stream_id:l,stream_offset:f,entry:g})}return a.exec("COMMIT"),a.close(),a=void 0,await ie.rm(i,{force:!0}),await ie.rename(s,i),!0}catch(d){throw a?.close(),await ie.rm(s,{force:!0}),d}}async function Po(e,t){let n=ee.dirname(ee.dirname(e)),r=Nt(n);try{await ie.access(r)}catch{return}let o=jn();if(!o)return;let i;try{if(i=new o(r),i.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==Pn)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);Lo(i,{stream_id:a,stream_offset:Number(d.value),entry:t}),i.close()}catch{i?.close(),await ie.rm(r,{force:!0})}}async function Rt(e){await ie.rm(Nt(ee.dirname(ee.dirname(e))),{force:!0})}function Ct(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function Cc(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 Rm(e,t){let n=jn();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)),Ct(r,o,"op",t.ops),Ct(r,o,"author",t.authors),Cc(r,o,t.harnesses,t.harness_alias_authors),Ct(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);Ct(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{if(s=new n(Nt(e),{readOnly:!0}),s.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==Pn)return s.close(),null;let d=s.prepare(`SELECT stream_id, stream_offset, entry_json
|
|
42
|
-
FROM events${i}
|
|
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 Ce 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 Dt="changed_fields",Nc="changed_field_count",Fn="rows",Rc=new Set(["apply","rollback"]),jo=new Set(["deleted","would_delete"]);function ge(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Fo(e){let t=e[Dt];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==Dt&&(n[r]=o);return n[Nc]=t.length,n}function Dc(e){return"item"in e&&Array.isArray(e[Dt])}function Mc(e){return typeof e.mode=="string"&&Rc.has(e.mode)&&Array.isArray(e[Fn])}function Lc(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[Fn]=t,n}function Pc(e){if(!ge(e))return null;let t=ge(e.item)?e.item:ge(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"&&jo.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 jc(e){if(!ge(e)||!ge(e.item)||typeof e.item.id!="string")return null;let t=e[Dt];if(!Array.isArray(t))return null;let n={id:e.item.id,...typeof e.outcome=="string"&&jo.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 Fc(e){let t=Mc(e)?e[Fn]:void 0;if(!Array.isArray(t))return{projected:e,changed:!1};let n=!1,r=t.map(o=>{if(!ge(o))return o;let i=Fo(o);return i?(n=!0,i):o});return n?{projected:Lc(e,r),changed:!0}:{projected:e,changed:!1}}function $c(e,t={}){if(t.idOnly===!0){let a=Pc(e);if(a!==null)return a}if(t.compactEnvelope===!0){let a=jc(e);if(a!==null)return a}if((t.changedFields??"full")==="full"||!ge(e))return e;let r=!1,o=e,i=Dc(e)?Fo(e):null;i!==null&&(o=i,r=!0);let s=Fc(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]="816ae182-02ba-56a9-8204-7474e30322bc")}catch{}})();var $o=!1;function Ke(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function zn(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function zc(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.SUCCESS)}function Uc(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.GENERIC_FAILURE)}function Un(e){if(e==="stdout"){zc();return}Uc()}function zo(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function Hc(){$o||($o=!0,process.stdout.on("error",e=>{if(zn(e)){Un("stdout");return}zo(e)}),process.stderr.on("error",e=>{if(zn(e)){Un("stderr");return}zo(e)}))}function Wc(e,t){Hc();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(zn(n))return Un(e),!1;throw n}}function Mt(e){return Wc("stderr",e)}function $n(e){return typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):e===null?"null":JSON.stringify(e)}function Hn(e){if(e!=null){if(Array.isArray(e)){let t=e.map(n=>Hn(n)).filter(n=>n!==void 0);return t.length>0?t:void 0}if(Ke(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=Hn(r);o!==void 0&&(t[n]=o)}return Object.keys(t).length>0?t:void 0}return e}}function Wn(e,t){let n=" ".repeat(t);if(Array.isArray(e))return e.length===0?"[]":e.map(r=>{if(!Ke(r)&&!Array.isArray(r))return`${n}- ${$n(r)}`;let i=Wn(r,t+1).split(`
|
|
45
|
-
`),[s,...a]=i;return a.length===0?`${n}- ${s.trimStart()}`:`${n}- ${s.trimStart()}
|
|
46
|
-
${a.join(`
|
|
47
|
-
`)}`}).join(`
|
|
48
|
-
`);if(Ke(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>!Ke(i)&&!Array.isArray(i)?`${n}${o}: ${$n(i)}`:Array.isArray(i)&&i.length===0?`${n}${o}: []`:Ke(i)&&Object.keys(i).length===0?`${n}${o}: {}`:`${n}${o}:
|
|
49
|
-
${Wn(i,t+1)}`).join(`
|
|
50
|
-
`)}return`${n}${$n(e)}`}function Ym(e,t){if(t==="json")return`${JSON.stringify(e,null,2)}
|
|
51
|
-
`;let n=Hn(e);return n===void 0?`{}
|
|
52
|
-
`:`${Wn(n,0)}
|
|
53
|
-
`}function Qm(e){let t=Mo("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;Mt(n.endsWith(`
|
|
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 Bc=Ce.join("runtime","history-drift-cache.json"),Uo={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 Ho(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function qc(e){let t=Ce.join(e,Bc),n=!1,r="invalid_cache_path";try{n=(await Bn.stat(await Bn.realpath(e))).isDirectory()}catch(o){let i=Ho(o);r=i===void 0?"unknown":Uo[i]??"filesystem_error"}if(!n){Mt(`[pm] warning: history_drift_cache_invalidation_failed:${r}
|
|
56
|
-
`);return}try{await Bn.rm(t,{force:!0})}catch(o){let i=Ho(o);if(i==="ENOENT")return;let s=i===void 0?"unknown":Uo[i]??"filesystem_error";Mt(`[pm] warning: history_drift_cache_invalidation_failed:${s}
|
|
57
|
-
`)}}async function Je(e){let t=Ce.dirname(Ce.resolve(e));Ce.basename(t)==="history"&&await qc(Ce.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 Gc={front_matter:{},body:""};function Xc(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function Kc(e,t){let n=Xc(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 Jc(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!Kc(r,o.path)?{...o,op:"add"}:o;n.push(i),r=Vo.applyPatch(r,[i],!0,!0).newDocument}return n}function qn(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let n=B(e);return{front_matter:E(n.metadata,ne),body:n.body}}function Wo(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let n=B(e);return{metadata:E(n.metadata,ne),body:n.body}}function Go(e){return me(G(qn(e)))}function p_(){return me(G(Gc))}function Ne(e){let t=qn(e.before),n=qn(e.after),r=Wo(e.before),o=Wo(e.after),i=Vo.compare(r,o),s=Jc(r,i),a=ro(e.author);return{ts:e.nowIso,author:e.author,author_source:e.authorSource??no(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:me(G(t)),after_hash:me(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 Yc(e){let t=e.ts.trim();return t.length>0?t:ye()}function qo(e,t){let n=e.ts;return typeof n=="string"&&n.trim().length>0?e:{...e,ts:t}}function Lt(e,t){let n=Yc(t);if(typeof e=="string"){try{let r=JSON.parse(e);if(Bo(r))return JSON.stringify(qo(r,n))}catch{}return e}return Bo(e)?JSON.stringify(qo(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,Lt(n.result,t)),await Je(e),await Rt(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,Lt(r.line,t)),await Je(o),await Rt(o);return}await Fe(o,Lt(r.entry??t,t)),await Je(o),await Rt(o);return}}await Fe(e,Lt(t,t)),await Je(e),await Po(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 Qc={metadata:{},body:""};function jt(){return structuredClone(Qc)}function Pt(e){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return Go(Ft(e))}catch{}return me(G({replay_fallback:!0,metadata:e.metadata,body:e.body}))}function Ft(e){return{metadata:e.metadata,body:e.body}}function S_(e,t={}){return B(Ft(e),t)}function v_(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=B(e);return{metadata:E(t.metadata,ne),body:t.body}}function Xo(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function Zc(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function Jo(e){return Array.isArray(e)?e.filter(Zc).map(t=>({...t,path:Xo(t.path),from:typeof t.from=="string"?Xo(t.from):void 0})):[]}function ed(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 $t(e,t){try{let n=Jo(t),r=Vn.applyPatch(structuredClone(e),n,!0,!1).newDocument;return ed(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 Gn(e){let t=jt();for(let n=0;n<e.length;n+=1){let r=e[n];if(Pt(t)!==r.before_hash)return{ok:!1,errors:[`verify_failed:before_hash_mismatch:entry_${n+1}`]};let o=$t(t,r.patch);if(!o.ok)return{ok:!1,errors:[`verify_failed:patch_apply_failed:entry_${n+1}`]};if(t=o.document,Pt(t)!==r.after_hash)return{ok:!1,errors:[`verify_failed:after_hash_mismatch:entry_${n+1}`]}}return{ok:!0,errors:[]}}function Ko(e,t){try{return{ok:!0,document:Vn.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function td(e,t){let n=structuredClone(e),r=0,o=0;for(let a of Jo(t)){let d=Ko(n,a);if(d.ok){n=d.document;continue}if(a.op==="replace"){let l=Ko(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 I_(e){let t=jt(),n=[],r=[],o=0,i=0,s=0,a=0;for(let d=0;d<e.length;d+=1){let l=e[d],m=Pt(t),f=$t(t,l.patch),g,_,S=!1,v=0,w=0;if(f.ok)g=f.document,_=l.patch;else{let J=td(t,l.patch);g=J.document,_=Vn.compare(t,g),S=!0,v=J.convertedReplaceToAdd,w=J.skippedOps,s+=v,a+=w,i+=1}let N=Pt(g),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=g}return{entries:n,finalDocument:t,entriesRehashed:o,entriesPatchRepaired:i,convertedReplaceToAdd:s,skippedOps:a,details:r}}function x_(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
|
|
58
|
-
`)}
|
|
59
|
-
`}import nd from"node:crypto";import Yo 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 Zo(e){let t=(e??"").trim().toLowerCase();return t?t.endsWith("-")?t:`${t}-`:"pm-"}function Xn(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function Kn(e,t){let n=Zo(t),r=Xn(e);return r.startsWith(n)?r:`${n}${r}`}function rd(e){let t=lo(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=nd.randomInt(0,36).toString(36);return n}async function od(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[Yo.join(e,o,`${t}.md`),Yo.join(e,o,`${t}.toon`)]);return(await Promise.all(r.map(o=>_t(o)))).some(Boolean)}var Qo=4,ei=12;function id(e){return typeof e!="number"||!Number.isFinite(e)?Qo:Math.min(ei,Math.max(Qo,Math.trunc(e)))}async function D_(e,t,n={}){let r=id(n.tokenLength),o=Math.min(r+6,ei),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${Zo(t)}${rd(r)}`;if(n.probeExisting===!1||!await od(e,a,n.typeToFolder??fe))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import be from"node:fs/promises";import ni from"node:path";import{randomUUID as sd}from"node:crypto";import{createRequire as ad}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 cd="metadata-query-index.sqlite",Ye="4";function dd(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var zt;function ld(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?dd(t):null}function Qe(){return zt!==void 0||(zt=ld(process.versions.node,ad(import.meta.url))),zt}function ti(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function De(e){return ni.join(e,"runtime",cd)}function ud(e){e.exec(`
|
|
60
|
-
PRAGMA foreign_keys = ON;
|
|
61
|
-
PRAGMA journal_mode = OFF;
|
|
62
|
-
PRAGMA synchronous = OFF;
|
|
63
|
-
CREATE TABLE metadata (
|
|
64
|
-
key TEXT PRIMARY KEY,
|
|
65
|
-
value TEXT NOT NULL
|
|
66
|
-
) STRICT;
|
|
67
|
-
CREATE TABLE items (
|
|
68
|
-
id TEXT PRIMARY KEY,
|
|
69
|
-
relative_path TEXT NOT NULL UNIQUE,
|
|
70
|
-
metadata_json TEXT NOT NULL,
|
|
71
|
-
status TEXT NOT NULL,
|
|
72
|
-
type TEXT NOT NULL,
|
|
73
|
-
priority INTEGER NOT NULL,
|
|
74
|
-
updated_at TEXT NOT NULL,
|
|
75
|
-
created_at TEXT NOT NULL,
|
|
76
|
-
parent TEXT,
|
|
77
|
-
assignee TEXT,
|
|
78
|
-
sprint TEXT,
|
|
79
|
-
release TEXT
|
|
80
|
-
) STRICT;
|
|
81
|
-
CREATE INDEX items_default_order
|
|
82
|
-
ON items(priority, updated_at DESC, id);
|
|
83
|
-
CREATE INDEX items_status_default_order
|
|
84
|
-
ON items(status, priority, updated_at DESC, id);
|
|
85
|
-
CREATE INDEX items_type_default_order
|
|
86
|
-
ON items(type, priority, updated_at DESC, id);
|
|
87
|
-
CREATE INDEX items_parent_default_order
|
|
88
|
-
ON items(parent, priority, updated_at DESC, id);
|
|
89
|
-
CREATE TABLE item_metadata_keys (
|
|
90
|
-
item_id TEXT NOT NULL,
|
|
91
|
-
key TEXT NOT NULL,
|
|
92
|
-
PRIMARY KEY(item_id, key),
|
|
93
|
-
FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
|
|
94
|
-
) STRICT;
|
|
95
|
-
CREATE INDEX item_metadata_keys_key_item
|
|
96
|
-
ON item_metadata_keys(key, item_id);
|
|
97
|
-
CREATE TABLE item_linked_files (
|
|
98
|
-
item_id TEXT NOT NULL,
|
|
99
|
-
path TEXT NOT NULL,
|
|
100
|
-
scope TEXT NOT NULL,
|
|
101
|
-
note TEXT,
|
|
102
|
-
PRIMARY KEY(item_id, path, scope),
|
|
103
|
-
FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
|
|
104
|
-
) STRICT;
|
|
105
|
-
CREATE INDEX item_linked_files_path_scope_item
|
|
106
|
-
ON item_linked_files(path, scope, item_id);
|
|
107
|
-
CREATE VIRTUAL TABLE item_search USING fts5(
|
|
108
|
-
id UNINDEXED,
|
|
109
|
-
title,
|
|
110
|
-
description,
|
|
111
|
-
tags,
|
|
112
|
-
tokenize = 'unicode61'
|
|
113
|
-
);
|
|
114
|
-
`)}function Ht(e,t,n){e.prepare("INSERT INTO metadata(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function ri(e,t){let n=t.metadata;e.prepare(`INSERT INTO items(
|
|
115
|
-
id, relative_path, metadata_json, status, type, priority,
|
|
116
|
-
updated_at, created_at, parent, assignee, sprint, release
|
|
117
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
118
|
-
ON CONFLICT(id) DO UPDATE SET
|
|
119
|
-
relative_path = excluded.relative_path,
|
|
120
|
-
metadata_json = excluded.metadata_json,
|
|
121
|
-
status = excluded.status,
|
|
122
|
-
type = excluded.type,
|
|
123
|
-
priority = excluded.priority,
|
|
124
|
-
updated_at = excluded.updated_at,
|
|
125
|
-
created_at = excluded.created_at,
|
|
126
|
-
parent = excluded.parent,
|
|
127
|
-
assignee = excluded.assignee,
|
|
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 oi(e){let t=De(e.pmRoot),n=Qe();if(!n){await be.rm(t,{force:!0});return}await be.mkdir(ni.dirname(t),{recursive:!0});let r=`${t}.${sd()}.tmp`,o;try{o=new n(r),ud(o),o.exec("BEGIN IMMEDIATE"),Ht(o,"version",Ye),Ht(o,"context_fingerprint",e.contextFingerprint),Ht(o,"source_cursor",e.sourceCursor);for(let i of e.rows)ri(o,i);o.exec("COMMIT"),o.close(),o=void 0,await be.rm(t,{force:!0}),await be.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([be.rm(r,{force:!0})]),i}}function Wt(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function ii(e){let t=De(e.pmRoot),n;try{await be.access(t);let r=Qe();if(!r)return!1;n=new r(t),n.exec("PRAGMA foreign_keys = ON");let o=Wt(n);if(o.version!==Ye||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&&ri(n,e.row),Ht(n,"source_cursor",e.sourceCursor),n.exec("COMMIT"),n.close(),!0}catch{try{n?.exec("ROLLBACK")}catch{}return n?.close(),!1}}function Ut(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function fd(e){let t=[],n=[];Ut(t,n,"status",e.statuses,"IN"),Ut(t,n,"status",e.excludeStatuses,"NOT IN"),Ut(t,n,"type",e.types,"IN"),Ut(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 $_(e){let t=Qe();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=fd(n),i;try{i=new t(De(e.pmRoot),{readOnly:!0});let s=Wt(i);if(s.version!==Ye||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(g=>{let _=JSON.parse(String(g.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 z_(e){let t=Qe();if(!t||e.paths.length===0)return null;let n;try{n=new t(De(e.pmRoot),{readOnly:!0});let r=Wt(n);if(r.version!==Ye||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
|
-
FROM item_linked_files
|
|
132
|
-
WHERE ${a}`).get(...s),l=ti(e.limit,50),m=ti(e.offset,0),f=n.prepare(`SELECT items.id, items.metadata_json
|
|
133
|
-
FROM items
|
|
134
|
-
WHERE EXISTS (
|
|
135
|
-
SELECT 1 FROM item_linked_files
|
|
136
|
-
WHERE item_linked_files.item_id = items.id AND ${a}
|
|
137
|
-
)
|
|
138
|
-
ORDER BY items.priority ASC, items.updated_at DESC, items.id ASC
|
|
139
|
-
LIMIT ? OFFSET ?`).all(...s,l,m),g=[];if(f.length>0){let _=f.map(w=>String(w.id)),S=n.prepare(`SELECT item_id, path, scope, note
|
|
140
|
-
FROM item_linked_files
|
|
141
|
-
WHERE item_id IN (${_.map(()=>"?").join(", ")})
|
|
142
|
-
AND ${a}
|
|
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));g.push({item:N,files:v.get(String(w.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(d.count),matches:g}}catch{return n?.close(),null}}async function U_(e){let t=Qe();if(!t)return null;let n;try{n=new t(De(e.pmRoot),{readOnly:!0});let r=Wt(n);if(r.version!==Ye||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let i=n.prepare(`SELECT items.metadata_json
|
|
144
|
-
FROM item_search
|
|
145
|
-
JOIN items ON items.id = item_search.id
|
|
146
|
-
WHERE item_search MATCH ?
|
|
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 be.rm(De(e),{force:!0})}import P from"node:fs/promises";import C from"node:path";import{createHash as Md,randomUUID as wi}from"node:crypto";import te from"node:fs/promises";import Jn from"node:path";import{randomUUID as md}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 _d(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 di(e){try{let t=await te.readFile(e,"utf8");return await X({path:e,scope:"project"}),_d(t)}catch(t){return Ze(t,"ENOENT")?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function Ze(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function li(e,t){await q({path:e,scope:"project",op:t})}function pd(e,t,n){return{id:e,pid:process.pid,owner:t,created_at:ye(),ttl_seconds:n}}async function yd(e,t,n,r){await te.mkdir(Jn.dirname(e),{recursive:!0});let o=await te.open(e,"wx");try{await o.writeFile(`${JSON.stringify(pd(t,n,r),null,2)}
|
|
149
|
-
`,"utf8")}finally{await o.close()}await li(e,"lock:create")}async function ui(e,t){try{return await te.unlink(e),await li(e,t),!0}catch{return!1}}function fi(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 hd(e){return e?.owner?` (owner ${e.owner})`:""}var gd=25,bd=200,wd=250,Ed=3,kd=".stale-cleanup",mi="owner.json",Sd=1e4,vd=5*6e4;function si(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 Id(e){let t=process.env.PM_LOCK_WAIT_MS,n=si(t);if(n!==void 0)return n;let r=si(e);return r!==void 0?r:0}function xd(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}function _i(e,t,n){let r=n>0?` after waiting ${n}ms`:"";return new T(`Item ${e} is locked${hd(t)}${r}`,I.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:wd}})}function Td(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 Od(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 Ad(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 pi(e){try{return Ad(await te.readFile(Jn.join(e,mi),"utf8"))}catch{return null}}function Cd(e){try{return process.kill(e,0),!0}catch(t){return!Ze(t,"ESRCH")}}async function Yn(e){try{return await te.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function ai(e,t){let n=await pi(e);n===null||n.token!==t||await Yn(e)}async function ci(e){try{await te.mkdir(e)}catch(n){return Ze(n,"EEXIST"),null}let t={pid:process.pid,token:md()};try{await te.writeFile(Jn.join(e,mi),`${JSON.stringify(t)}
|
|
150
|
-
`,"utf8")}catch{return await Yn(e),null}return t}async function Nd(e){let t;try{let r=await te.stat(e);if(t=Date.now()-r.mtimeMs,t<=Sd)return!1}catch(r){return Ze(r,"ENOENT")}let n=await pi(e);return n!==null&&Cd(n.pid)&&t<=vd?!1:Yn(e)}async function Rd(e,t){let n=`${e}${kd}`,r=await ci(n);if(r!==null)return async()=>ai(n,r.token);if(!await Nd(n))return null;let o=await ci(n);return o===null?null:async()=>ai(n,o.token)}async function Dd(e){let t=await Rd(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await di(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!fi(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(Od(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=Ed)throw _i(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await ui(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function se(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 _=Td(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=Id(s),m=Date.now(),f=0,g=gd;for(;;)try{return await yd(d,t,r,n),async()=>{await ui(d,"lock:release"),await Z("lock_release",{pm_root:e,id:t,owner:r})}}catch(_){if(!Ze(_,"EEXIST"))throw new T(`Failed to acquire lock for ${t}: ${Cr(_)}`,I.GENERIC_FAILURE);let S=await di(d);if(fi(S.info,n)){let w=await Dd({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 _i(t,S.info,l===0?0:v);await xd(Math.min(g,l-v)),g=Math.min(g*2,bd)}}(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,Ei=500,Ld="metadata-derived-index",Pd="metadata-cache.json",jd="metadata-cache-bodies.json",Fd="metadata-cache-collections.json",$d="metadata-cache-delta.json",zd="metadata-cache-manifest.json",yi=4,Ud=["comments","notes","learnings","files","tests","test_runs","docs"];function ki(){return mt(Ge())}function Vt(e){let t={...e},n={};for(let r of Ud)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Si(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function vi(e,t,n,r){let o=Md("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 Gt(e){return C.join(e,"runtime",Pd)}function Xt(e){return C.join(e,"runtime",jd)}function Kt(e){return C.join(e,"runtime",Fd)}function Zn(e){return C.join(e,"runtime",$d)}function er(e){return C.join(e,"runtime",zd)}function Jt(e,t){let n=C.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Hd=24,H=new Map,Yt=new WeakMap;function tr(e){return Yt.get(e)??e.source_cursor}function Wd(e,t){let n=tr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Yt.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=tr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Yt.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 qd(e,t){if(!e)return;let n=tr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Yt.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 Vd(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Wd(e,r),Bd(t,r),qd(n,r))}function Qn(e,t){H.size>=Hd&&!H.has(e)&&yt(H),H.set(e,t)}async function ae(e,t){let n;try{n=await P.stat(e)}catch{return H.delete(e),null}let r=H.get(e);if(r&&et(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 Qn(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Gd(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=Gt(e),i=await ae(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await ae(Jt(o,t),r);return s===null&&rt(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Xd(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=Xt(e),o=await ae(r,n);return t&&o?.context_fingerprint!==t?await ae(Jt(r,t),n):o}async function Kd(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=Kt(e),o=await ae(r,n);return t&&o?.context_fingerprint!==t?await ae(Jt(r,t),n):o}async function nr(e){let t=Zn(e),n=await ae(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 rr(e){let t=er(e),n=await ae(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 tt(e,t){await P.mkdir(C.dirname(e),{recursive:!0}),await W(e,JSON.stringify(t));try{let r=await P.stat(e);Qn(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{H.delete(e)}let n=C.dirname(C.dirname(e));if(e===Gt(n)||e===Xt(n)||e===Kt(n)){let r=Jt(e,t.context_fingerprint);await W(r,JSON.stringify(t));try{let d=await P.stat(r);Qn(r,{signature:{mtime_ms:d.mtimeMs,ctime_ms:d.ctimeMs,size:d.size},envelope:t})}catch{H.delete(r)}let o=C.dirname(e),i=C.extname(e),s=C.basename(e,i),a=(await P.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(d=>d.isFile()&&d.name!==C.basename(e)&&d.name.startsWith(`${s}.`)&&d.name.endsWith(i)).map(d=>C.join(o,d.name));if(a.length>yi){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-yi)))await P.rm(l.path,{force:!0}),H.delete(l.path)}}}function Jd(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Ii(e,t,n){return e===void 0||Jd(e,t,n)}function rt(e,t){e&&!e.includes(t)&&e.push(t)}function et(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Yd(e,t,n){let r=C.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"&&rt(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function Qd(e,t){try{let n=await P.stat(C.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 qt(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await Qd(e,n))))}function nt(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&&et(o,r.mtime_ms,r.ctime_ms,r.size)})}function Zd(e){return pt.some(t=>e.toLowerCase().endsWith(t))}function el(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function tl(e,t,n){if(n)for(let r of await X({path:e,scope:"project"}))rt(t,r)}function hi(e,t,n,r){if(e)return t&&n?n.collections:r}async function nl(e,t,n){let r=await P.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=_n(e);await tl(e,n.warnings,n.dispatchReadHooks);let d=n.previousEntries[t],l=d!==void 0&&et(d,o,i,s),m=n.previousBodies[t],f=m!==void 0&&et(m,o,i,s),g=n.previousCollections[t],_=g!==void 0&&et(g,o,i,s);if(!(!l||n.includeBody&&!f||n.includeCollections&&!_))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d.metadata,heavyMetadata:hi(n.includeCollections,_,g,void 0),bodyLength:d.body_length,body:n.includeBody?m.body:void 0};let v=await P.readFile(e,"utf8"),w=Tt(v,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:R=>rt(n.warnings,R)}),N=Vt(w.metadata);return el(n.state.misses,n.includeBody,n.includeCollections,l,f,_),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:l?d.metadata:N.light,heavyMetadata:hi(n.includeCollections,_,g,N.heavy),bodyLength:l?d.body_length:w.body.length,body:n.includeBody?w.body:void 0}}function rl(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?Si(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};Ii(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function ol(e,t,n,r){try{let o=await nl(t,n,r);rl(t,n,r,o)}catch{rt(r.warnings,`item_list_item_read_failed:${e}/${C.basename(t)}`)}}function il(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function sl(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function al(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function cl(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function dl(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!Zd(s))continue;let a=C.join(o,s),d=C.relative(t.pmRoot,a);n.push(ol(r,a,d,t))}return n}async function ll(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!nt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await tt(Gt(e.pmRoot),{version:K,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await tt(er(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:C.relative(e.pmRoot,r.item_path),metadata:Vt(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await oi({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Bt(e.pmRoot)}catch{}}async function ul(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 tt(Xt(e.pmRoot),{version:K,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function fl(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 tt(Kt(e.pmRoot),{version:K,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function or(e,t,n={}){let r=await rr(e);return n.required!==!0&&(r===null||r.entry_count<Ei)?async()=>{}:se(e,Ld,30,t,!1,!1,3e3)}async function lp(e,t){let n=await rr(e);if(n===null)return null;let r=await nr(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&&!nt(i,await qt(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function gi(e,t){let n=C.relative(e,t);return n===""||n===".."||n.startsWith(`..${C.sep}`)||C.isAbsolute(n)?null:n}async function Me(e){await Promise.all([Gt(e),Xt(e),Kt(e),Zn(e),er(e)].map(async t=>{await P.rm(t,{force:!0}),H.delete(t)})),await Bt(e)}async function ml(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await P.stat(e.mutation.itemPath),n=Vt(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 _l(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function ir(e){let t=gi(e.pmRoot,e.itemPath),n=e.previousItemPath?gi(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await Me(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=vi(e.preferredFormat,e.typeToFolder,e.schema,ki()),o=await rr(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await nr(e.pmRoot);if(s.invalid)return await Me(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=_l(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 ml({mutation:e});let l=wi();return await tt(Zn(e.pmRoot),{version:K,context_fingerprint:r,base_source_cursor:i,source_cursor:l,directory_signatures:await qt(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await ii({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:d,sourceCursor:l,row:e.document===null?null:{relativePath:t,metadata:Vt(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 pl(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function bi(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function yl(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function hl(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=_n(n);if(!o)continue;let i=e.includeCollections?Si(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Ii(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:C.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function gl(e){return e.forceSourceScan||Ln()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!nt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||bi(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||bi(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&yl(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function Qt(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,d=ki(),l=vi(t,n,o,d),m=await nr(e);m.invalid&&await Me(e);let f=await Gd(e,l,i.cacheDiagnostics),g=s?await Xd(e,l):null,_=a?await Kd(e,l):null;Vd(f,g,_,m.envelope);let S=il(f,l),v=sl(g,l),w=al(_,l),N=[...new Set(Object.values(n))],R=await qt(e,N),J=Object.keys(S),F=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Ei));if(gl({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:l,existingCache:f,existingBodyCache:g,existingCollectionsCache:_,directorySignatures:R,entryKeys:J,minimumIndexedItems:F,includeBody:s,includeCollections:a,previousBodies:v,previousCollections:w}))return hl({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:S,previousBodies:v,previousCollections:w});let cn=await Promise.all(N.map(ms=>Yd(e,ms,r))),st=Ln(),Y=cl(),dn={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:d,includeBody:s,includeCollections:a,dispatchReadHooks:st,previousEntries:S,previousBodies:v,previousCollections:w,state:Y};await Promise.all(dl(cn,dn));let at=await qt(e,N),hr=nt(R,at)?at:{},ln=Y.misses.metadata||Object.keys(S).length!==Object.keys(Y.newEntries).length||!nt(f?.directory_signatures,hr)||f===null?wi():f.source_cursor;return await ll({pmRoot:e,contextFingerprint:l,sourceCursor:ln,existingCache:f,previousEntries:S,directorySignatures:hr,state:Y,minimumIndexedItems:F}),s&&await ul({pmRoot:e,contextFingerprint:l,sourceCursor:ln,existingBodyCache:g,previousBodies:v,state:Y}),a&&await fl({pmRoot:e,contextFingerprint:l,sourceCursor:ln,existingCollectionsCache:_,previousCollections:w,state:Y}),pl(Y)}async function xi(e,t,n,r,o){return(await Qt(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function Ti(e,t,n,r,o){return(await Qt(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}import bl from"node:fs/promises";import Oi 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 Zt="_workspace";function Ai(e){return Oi.join(e,"history",`${Zt}.jsonl`)}function wl(e,t){return{metadata:{id:Zt,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 Ci(e){let t=jt();for(let n of e)t=$t(t,n.patch).document;return Ft(t)}async function Ni(e){let t=Ai(e.pmRoot),n=await Xe(t,Zt),r=Gn(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:Ci(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=wl({...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 kp(e){let t=await se(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ni(e)}finally{await t()}}async function Sp(e){let t=await se(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=Ai(e.pmRoot),r=await Xe(n,Zt),o=Gn(r);if(!o.ok)throw new TypeError(`Workspace history verification failed: ${o.errors.join(", ")}`);let i=r.length===0?je:Ci(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 Ri(e){let t=await se(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:Oi.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 bl.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 A(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?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 ar(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 en(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 El=k({key:u,values:p(u),required:c(x),aliases:c(p(u)),description:c(u)}),kl=k({command:O("create","update"),option:u,required:c(x),visible:c(x),enabled:c(x)}),Sl=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(El)),command_option_policies:c(p(kl))}),vl=k({id:u,aliases:c(p(u)),roles:c(p(O(...br))),description:c(u),order:c(A())}),Il=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(...wr)),commands:c(p(O(...Er))),repeatable:c(x),required:c(x),required_on_create:c(x),required_types:c(p(u)),allow_unset:c(x)}),xl=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]}},Tl=k({type:u,allowed_transitions:p(xl)}),Ol=c(k({version:c(A({int:!0})),files:c(k({types:c(u),statuses:c(u),fields:c(u),workflows:c(u)})),statuses:c(p(vl)),fields:c(p(Il)),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(Tl)),unknown_field_policy:c(O(...kr))})),Al=c(k({preset:c(O(...Sr)),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(A({min:0,max:1})),duplicate_detection_limit:c(A({int:!0,min:0,max:20}))})),Cl=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))}),sr=O("block","warn"),Nl=e=>typeof e=="string"?sr(e):k({global:c(sr),project:c(sr)})(e),Rl=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(Cl))})),we=ar(128),Dl=k({harness:ar(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(en(p(we,64))),provenance_resolvers:c(en(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))}),Ml=k({version:A({int:!0}),id_prefix:u,ids:c(k({token_length:c(A({int:!0,min:4,max:12}))})),author_default:u,agent_identity:c(k({probes_enabled:c(x),identity_vocabulary:c(k({version:A({int:!0,positive:!0}),aliases:en(ar(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:p(Dl)})),mutation_guard:c(k({require_attributed_author:c(x),secret_guard:c(O("off","advise","block")),stale_in_progress_hours:c(A({int:!0,positive:!0}))})),item_format:c(O("toon","json_markdown")),locks:k({ttl_seconds:A({int:!0}),wait_ms:c(A({int:!0,min:0}))}),checkpoints:c(k({retention_days:c(A({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(A({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(en(A({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(A({int:!0,positive:!0}))})),agent_guidance:c(k({prompt_completed:c(x),declined:c(x),declined_at:c(u),template_version:c(A({int:!0,positive:!0})),last_checked_files:c(p(u))})),item_types:c(k({definitions:p(Sl)})),schema:Ol,context:c(k({default_depth:c(O("brief","standard","deep")),activity_limit:c(A({int:!0,positive:!0})),stale_threshold_days:c(A({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:Rl}),search:k({score_threshold:A(),hybrid_semantic_weight:c(A()),max_results:A({int:!0}),embedding_model:u,embedding_corpus_max_characters:c(A()),embedding_batch_size:A({int:!0}),embedding_timeout_ms:c(A({int:!0})),scanner_max_batch_retries:A({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(A({int:!0,positive:!0}))})),bm25:c(k({k1:c(A()),b:c(A())}))}),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 Di(e){let t=Ml(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 Ll={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Mi=120;function cr(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Pi(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var Pl=Pi(Ll),Li=new WeakMap;function jl(e){let t=Li.get(e);if(t)return t;let n=Pi(e);return Li.set(e,n),n}function Tp(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Mi;if(t){let o=jl(t).get(n);if(cr(o))return Math.floor(o)}let r=Pl.get(n);return cr(r)?Math.floor(r):Mi}function dr(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||!cr(r)||(t[o]=Math.floor(r))}return t}import{stat as Fl}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 tn=new Map;function ji(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function $l(e){try{let t=await Fl(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function ce(e){let t=ji(e),n=await Promise.all(t.map(r=>$l(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function ot(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 Fi(e){return tn.get(e)}function nn(e,t){let n=ji(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));tn.set(e,{tracked_paths:n,signatures:r,value:t.value})}function de(e){if(e){tn.delete(e);return}tn.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]="9381a512-7436-5d2c-9667-3845b777b901")}catch{}})();var zl="settings:write",Wi=Symbol("pm.settings.persist_source"),Ul=128,Hl=new Set(["off","advisory","strict"]);function $i(e){return structuredClone(Ir[e])}function Wl(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:b.governance.preset}function zi(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"?zi({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):zi({preset:e.preset},e)}function ql(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),Hl.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 on(e){let t=e.governance??{},n=Wl(t.preset),r=ql(t);if(n==="custom"){let s=$i("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=$i(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 qi(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:b.search.mutation_refresh_policy}function Vi(e){return typeof e=="boolean"?e:b.search.query_expansion.enabled}function Gi(e){return typeof e!="string"?b.search.query_expansion.provider:e.trim()}function Xi(e){return typeof e=="boolean"?e:b.search.rerank.enabled}function Ki(e){return typeof e!="string"?b.search.rerank.model:e.trim()}function Ji(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:b.search.rerank.top_k}function Yi(e){if(typeof e!="string")return b.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,Ul);return n.length>0?n:b.vector_store.collection_name}function lr(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function Vl(e,t){let n=e.schema,r=lr(n?.statuses),o=lr(n?.fields),i=lr(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 Qi(e,t){Object.defineProperty(e,Wi,{value:t,writable:!0,configurable:!0,enumerable:!1})}function Zi(e){let t=e[Wi];if(!(!t||typeof t!="object"))return t}function rn(e){let t=structuredClone(e.settings),n=Zi(e.settings);return n&&Qi(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function Gl(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 Xl(e,t,n){let r=await ce(t);nn(e,{tracked_paths:t,signatures:r,value:rn(n)})}async function Kl(e,t,n){try{await Xl(e,t,n)}catch{de(e)}}function Ui(e,t){return e.find(n=>n.path===t)}function Jl(e,t,n){for(let r of n){let o=Ui(e,r),i=Ui(t,r);if(!o||!i||!ot([o],[i]))return!1}return!0}async function ur(e,t,n,r,o){try{let i=await ce(t);if(!Jl(r,i,o)){de(e);return}nn(e,{tracked_paths:t,signatures:i,value:rn(n)})}catch{de(e)}}function Yl(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 it(e){return{settings:Bi(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function Ql(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function mr(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function es(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:mr(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 Zl(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.mode}function eu(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.trust_mode}function ts(e){return e==="none"||e==="restricted"||e==="strict"?e:b.extensions.policy.default_sandbox_profile}function tu(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=ts(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),g=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),g.length>0&&(n.blocked_services=g),n}function nu(e){let t=new Map;for(let n of e??[]){let r=tu(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function fr(e){return e==="block"||e==="warn"?e:void 0}function ru(e){if(typeof e=="string")return fr(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=fr(e.global),n=fr(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 ns(e){let t=ru(e?.pm_max_version_exceeded_mode);return{mode:Zl(e?.mode),trust_mode:eu(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:ts(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:nu(e?.extension_overrides??b.extensions.policy.extension_overrides)}}function rs(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 le(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 _r(e){return Array.isArray(e)?e:[]}function ou(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:rs(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:le(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:le(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:le(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:le(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:dr(e.validation?.estimate_defaults_by_type)}}function iu(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 su(e,t){return{...t.search,...e.search,mutation_refresh_policy:qi(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:Vi(e.search?.query_expansion?.enabled),provider:Gi(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:Xi(e.search?.rerank?.enabled),model:Ki(e.search?.rerank?.model),top_k:Ji(e.search?.rerank?.top_k)}}}function au(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:Yi(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function cu(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function du(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 lu(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=>Tr(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 os(e){let t=Bi(),n=on({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:cu(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:ou(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:iu(e,t),agent_guidance:es(e.agent_guidance??t.agent_guidance),item_types:{definitions:Le(e.item_types?.definitions)},schema:Ue(e.schema??t.schema),context:du(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:ns(e.extensions.policy??t.extensions.policy)},search:su(e,t),providers:lu(e,t),vector_store:au(e,t)}}function uu(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=_r(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=_r(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 fu(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 mu(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:rs(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:le(e.validation?.lifecycle_stale_blocker_reason_patterns??b.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:le(e.validation?.lifecycle_closure_like_blocked_reason_patterns??b.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:le(e.validation?.lifecycle_closure_like_resolution_patterns??b.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:le(e.validation?.lifecycle_closure_like_actual_result_patterns??b.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:dr(e.validation?.estimate_defaults_by_type)}}function _u(e){return{...b.search,...e.search,mutation_refresh_policy:qi(e.search?.mutation_refresh_policy),query_expansion:{...b.search.query_expansion,...e.search?.query_expansion,enabled:Vi(e.search?.query_expansion?.enabled),provider:Gi(e.search?.query_expansion?.provider)},rerank:{...b.search.rerank,...e.search?.rerank,enabled:Xi(e.search?.rerank?.enabled),model:Ki(e.search?.rerank?.model),top_k:Ji(e.search?.rerank?.top_k)}}}function pu(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 yu(e){return{...e.vector_store,adapter:e.vector_store?.adapter??b.vector_store.adapter,collection_name:Yi(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function hu(e,t,n,r){return{...e,item_format:"toon",validation:mu(e,t),governance:t,agent_guidance:es(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:_u(e),context:pu(e),extensions:{enabled:mr(e.extensions?.enabled),disabled:mr(e.extensions?.disabled),policy:ns(e.extensions?.policy)},vector_store:yu(e)}}function is(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:{};is(d,i,s),Object.keys(d).length>0?e[o]=d:delete e[o];continue}e[o]=structuredClone(s)}}}var ss=["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 Hi(e,t){let n=fu(e),r=on(n),o=Ue(n.schema),i=Yl(n,t),s=hu(n,r,o,i),a=E({...s,governance:Bl(r)},ss);return uu(a),a}function gu(e,t={}){let n=Hi(e,t.persist_source);if(t.persist_source){let r=os(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=Hi(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return is(i,o,n),`${JSON.stringify(E(i,ss),null,2)}
|
|
151
|
-
`}return`${JSON.stringify(n,null,2)}
|
|
152
|
-
`}async function as(e){let t=fn(e),n=[t];await X({path:t,scope:"project"});let r=Fi(e);if(r){let l=await ce(r.tracked_paths);if(ot(l,r.signatures))return rn(r.value)}let o=await ce([t]),i;try{i=await Ee(t)}catch{return it("settings_read_fs_error")}if(i===null){let l=it();return await ur(e,[t],l,o,[t]),l}let s=await ce([t]);if(!ot(o,s))return de(e),as(e);let a;try{a=JSON.parse(i)}catch{let l=it("settings_read_invalid_json");return await ur(e,[t],l,s,[t]),l}let d=Di(a);if(!d.success){let l=it("settings_read_invalid_schema");return await ur(e,[t],l,s,[t]),l}try{let l=os(d.data),m=Gl(e,l.schema,t);n=m;let f=await ce(m),g=await $r(e,l.schema),_=await zr(e,l.schema),S=await ce(m),v={...l,item_types:{definitions:Le([...l.item_types.definitions,..._r(_.type_definitions_from_file)])},schema:_.schema};Qi(v,Vl(d.data,v));let w={settings:v,metadata:{has_explicit_item_format:Ql(a)},warnings:[...d.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...g.created_paths.map(N=>`runtime_schema_bootstrap_created:${N}`),..._.warnings]};return g.created_paths.length===0?ot(f,S)?nn(e,{tracked_paths:m,signatures:S,value:rn(w)}):de(e):de(e),w}catch{let l=it("settings_read_merge_failed");return await Kl(e,n,l),l}}async function Wp(e){return(await as(e)).settings}async function Bp(e,t,n=zl){let r=fn(e),o=gu(t,{persist_source:Zi(t)});try{await Ri({pmRoot:e,filePath:r,raw:o,op:n,author:io(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await q({path:r,scope:"project",op:n})}finally{de(e)}}import bu from"node:fs/promises";import wu 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 Eu(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function ku(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 Su(e,t){return await xr(wu.dirname(e)),await(await bu.open(e,"a")).close(),q({path:e,scope:"project",op:`${t}:history:auto_create`})}async function pr(e){return vu({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function vu(e){let t=Eu(e.itemIds),n=[],r=[];for(let o of t){let i=$e(e.pmRoot,o);if(!await _t(i)){if(e.settings.history.missing_stream==="strict_error")throw ku(o,e.commandLabel);r.push(...await Su(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import ue 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]="827bddce-74c6-5b36-ae56-bf3b14625f82")}catch{}})();async function Iu(e){try{return await ue.access(e),!0}catch{return!1}}function sn(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function xu(e,t){e&&(e.includes(t)||e.push(t))}function cs(e){return e??mt(Ge())}function Tu(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}function an(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 Ou(e){let t=Pe.parse(Pe.resolve(e)).root,n=Pe.dirname(Pe.resolve(e));for(;n!==t;){let r;try{r=await ue.stat(n)}catch(o){if(sn(o,"ENOTDIR"))throw an(e);if(!sn(o,"ENOENT"))throw o;n=Pe.dirname(n);continue}if(!r.isDirectory())throw an(e);break}}async function yr(e){let t;try{t=await ue.stat(e)}catch(n){throw sn(n,"ENOENT")?(await Ou(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."]})):sn(n,"ENOTDIR")?an(e):n}if(!t.isDirectory())throw an(e)}async function ds(e,t,n="pm-",r,o=fe){let i=Kn(t,n),s=Xn(t),a=i===s?[i]:[i,s],d=Object.entries(o),l=Tu(r);for(let m of a)for(let[f]of d)for(let g of l){let _=mn(e,f,m,g,o);if(await Iu(_))return{id:m,type:f,itemPath:_,item_format:g}}return null}async function ls(e,t={}){let n=await ue.readFile(e.itemPath,"utf8");await X({path:e.itemPath,scope:"project"});let r=Tt(n,{format:e.item_format,schema:t.schema,extensionFieldNames:cs(t.extensionFieldNames),onWarning:o=>xu(t.warnings,o)});return{raw:n,document:r}}async function Au(e,t,n=fe,r,o){return await yr(e),(await xi(e,t,n,r,o)).map(s=>s.metadata)}async function by(e,t,n=fe,r,o){return await yr(e),(await Ti(e,t,n,r,o)).map(s=>s.metadata)}async function wy(e,t,n=fe,r,o,i={}){return await yr(e),(await Qt(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan})).map(a=>({...a.metadata,body:a.body}))}function us(e){return{async get(t){let n=await ds(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await ls(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 Cu(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await ue.readdir(Pe.join(e,o));for(let s of i)for(let a of pt)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function Nu(e,t,n,r){let o=Kn(t,n),i=await Cu(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(d=>({id:d,distance:gr(d,o,s)})).filter(d=>d.distance!==null).sort((d,l)=>d.distance-l.distance).slice(0,3).map(d=>d.id)}async function Ru(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 Du(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 fs(e){let t=e.typeToFolder??Or(e.settings,Ge()).type_to_folder,n=await ds(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await Ru(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await se(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 ls(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),d=s.metadata.claim_principal?.trim()||a,l=oo(e.author),m=on(e.settings);if(a&&d!==l&&!e.force&&!Du(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 Mu(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 Lu(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await W(e.originalItemPath,e.originalRaw),await ue.rm(e.effectiveTargetItemPath,{force:!0});return}await W(e.originalItemPath,e.originalRaw)}}async function Ey(e){let t=await fs({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=B(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=B(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=ye();let f=B(l,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await Mn({pm_root:e.pmRoot,operation:e.op,before:d,after:f,changed_fields:m.changedFields,sdk:us({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let g=await pr({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),_="toon",S=Oo(f,{format:_,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),v=mn(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}=Mu(N,v,S),cn=await or(e.pmRoot,e.author),st=[];try{F||await W(R,J),!F&&R!==r.itemPath&&await ue.rm(r.itemPath);let dn=Ne({nowIso:f.metadata.updated_at,author:e.author,op:e.op,before:d,after:f,message:e.message});try{await Re(w,dn)}catch(at){throw await Lu({skipItemWrite:F,effectiveTargetItemPath:R,originalItemPath:r.itemPath,originalRaw:o}),at}F||(st=await ir({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:R,previousItemPath:r.itemPath,document:f}))}finally{await cn()}let Y=[...await q({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 q({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 Dn({id:f.metadata.id,op:e.op,item_type:f.metadata.type,previous_status:d.metadata.status,status:f.metadata.status,previous:Ot(d.metadata,m.changedFields),current:Ot(f.metadata,m.changedFields),changed_fields:m.changedFields}),{item:f.metadata,body:f.body,changedFields:m.changedFields,warnings:[...s,...m.warnings??[],...g.warnings,...N.warnings,...st,...Y]}}finally{await a()}}async function ky(e){let t=await fs({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=cs(void 0),d=B(o,{schema:e.settings.schema,extensionFieldNames:a});await Mn({pm_root:e.pmRoot,operation:"delete",before:d,after:null,changed_fields:["deleted"],sdk:us({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let l=await pr({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),m=ye(),f=je,g=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 or(e.pmRoot,e.author),R=[];try{w||await ue.rm(v);try{await Re(_,g)}catch(F){throw w||await W(v,r),F}w||(R=await ir({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 q({path:v,scope:"project",op:"delete",item_id:d.metadata.id,item_type:d.metadata.type,before:d,after:f,changed_fields:["deleted"]}),...await q({path:_,scope:"project",op:"delete:history",item_id:d.metadata.id,item_type:d.metadata.type,before:d,after:f,changed_fields:["deleted"]})];return Dn({id:d.metadata.id,op:"delete",item_type:d.metadata.type,previous_status:d.metadata.status,previous:Ot(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{qf as a,_c as b,om as c,im as d,sm as e,am as f,cm as g,dm as h,lm as i,um as j,Ge as k,Dn as l,Ot as m,q as n,Mn as o,X as p,Ln as q,fm as r,mm as s,Z as t,$c as u,_e as v,Vr as w,Fu as x,$u as y,Kr as z,gs as A,Gu as B,Xu as C,Ku as D,to as E,Ju as F,Yu as G,Qu as H,Os as I,oo as J,io as K,ye as L,j as M,cf as N,df as O,se as P,ho as Q,We as R,Ef as S,kf as T,Ie as U,mo as V,uf as W,_o as X,Xs as Y,ff as Z,kt as _,Js as $,yf as aa,St as ba,xt as ca,Tt as da,Oo as ea,B as fa,Xe as ga,Nm as ha,Rm as ia,Ym as ja,Qm as ka,qc as la,Je as ma,Go as na,p_ as oa,Ne as pa,Re as qa,Qc as ra,jt as sa,Pt as ta,Ft as ua,S_ as va,v_ as wa,Jo as xa,$t as ya,Gn as za,I_ as Aa,x_ as Ba,Zt as Ca,Ai as Da,kp as Ea,Sp as Fa,Ri as Ga,Tp as Ha,on as Ia,as as Ja,Wp as Ka,Bp as La,pr as Ma,vu as Na,Zo as Oa,Xn as Pa,Kn as Qa,D_ as Ra,$_ as Sa,z_ as Ta,U_ as Ua,Ei as Va,Ud as Wa,or as Xa,lp as Ya,ir as Za,Qt as _a,ds as $a,ls as ab,Au as bb,by as cb,wy as db,us as eb,Ru as fb,Ey as gb,ky as hb};
|
|
153
|
-
//# sourceMappingURL=chunk-5MTKO7TV.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Ca as M,Y as g,Z as h,aa as R,ka as I}from"./chunk-CL75YW32.js";(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]="7db1cef2-4ff1-5f62-ad68-88933e25d59b")}catch{}})();var j=["full","compact","brief","summary","counts"],Pe=["mutation","read","discovery","governance"],J=new Set(["append","claim","close","close-many","close-task","comments","config","copy","create","delete","docs","event","files","focus","history-author-acknowledge","history-compact","history-redact","history-repair","init","item","learnings","meet","notes","pause-task","release","remind","restore","schema","start-task","update","update-many"]),Y=new Set(["contracts","extension","help","install","package","packages","profile","upgrade"]),F=new Set(["gc","health","merge","stats","telemetry","test","test-all","validate"]),H={mutation:2e3,read:4e3,discovery:3e3,governance:6e3};function V(e){if(!Number.isSafeInteger(e.default_max_estimated_tokens)||e.default_max_estimated_tokens<=0)throw new RangeError("default_max_estimated_tokens must be a positive safe integer");return e}var Z=I.map(e=>{let t=J.has(e)?"mutation":Y.has(e)?"discovery":F.has(e)?"governance":"read";return V({command:e,budget_class:t,default_max_estimated_tokens:H[t],degradation_ladder:j,allows_unbounded_opt_out:!0,token_estimate:"ceil(utf8_bytes / 4)"})}),ee=new Map(Z.map(e=>[e.command,e]));function Ue(e){let[t]=e.trim().split(/\s+/u);return ee.get(t)??null}function k(e){return Math.ceil(Math.max(0,e)/4)}import{createHash as te}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]="83fe180b-9d95-5d19-9d3b-ba3821700e61")}catch{}})();var T=1,D=4096,ne=/^[A-Za-z0-9_-]+$/;function N(e){return e.replace(/^--/u,"").replace(/[-_]([a-z0-9])/gu,(t,n)=>n.toUpperCase())}function Ke(e,t){let n=new Set;for(let r of t)if(r.cursor_semantics==="presentation"){n.add(N(r.flag));for(let o of r.aliases??[])n.add(N(o))}return Object.fromEntries(Object.entries(e).filter(([r])=>!n.has(r)))}function We(e,t){return te("sha256").update(e).update("\0").update(R(t)).digest("hex").slice(0,24)}function O(e,t,n,r){return Buffer.from(JSON.stringify({version:T,fingerprint:e,after_id:t,...n===void 0?{}:{after_index:n},...r===void 0?{}:{snapshot:r}})).toString("base64url")}function w(e){return new h(e,g.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]})}function re(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;return t.version===T&&typeof t.fingerprint=="string"&&typeof t.after_id=="string"&&t.after_id.length>0&&(t.after_index===void 0||Number.isSafeInteger(t.after_index)&&t.after_index>=0)&&(t.snapshot===void 0||typeof t.snapshot=="string"&&t.snapshot.length>0)}function E(e,t){if(typeof e!="string")throw w("Query cursor is malformed.");let n=e.trim();if(n.length===0||n.length>D||!ne.test(n))throw w("Query cursor is malformed.");let r;try{r=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{throw w("Query cursor is malformed.")}if(!re(r))throw w("Query cursor version or payload is unsupported.");let o=r;if(o.fingerprint!==t)throw w(`Query cursor does not match the current filters, sort, or query (${o.fingerprint} != ${t}).`);return{after_id:o.after_id,...o.after_index===void 0?{}:{after_index:o.after_index},...o.snapshot===void 0?{}:{snapshot:o.snapshot}}}function Xe(e,t){return E(e,t).after_id}function oe(e,t,n,r){if(t===void 0)return 0;let o=E(t,n),s=e.findIndex(i=>r(i)===o.after_id);if(s<0){if(o.after_index!==void 0)return Math.min(o.after_index,e.length);throw w(`Query cursor item ${o.after_id} is no longer present in this result set.`)}return s+1}function je(e,t){if(t.cursor!==void 0&&E(t.cursor,t.fingerprint).snapshot!==t.snapshot)throw w("Query cursor does not match the requested snapshot.");let n=oe(e,t.cursor,t.fingerprint,t.readId),r=e.slice(n,n+t.limit),o=r.length>0&&n+r.length<e.length,s=r.at(-1);return{rows:r,has_more:o,...o&&s!==void 0?{next_cursor:O(t.fingerprint,t.readId(s),n+r.length-1,t.snapshot)}:{}}}var Je=Object.freeze({version:T,max_length:D});import{AsyncLocalStorage as ye}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]="4a108e0e-0dfc-55c4-9f14-7395cfbac456")}catch{}})();var B='.row_contract.row_keys[] as $key | getpath($key | split(".")) | if type == "array" then .[] else if type == "object" then to_entries[] else empty end end',ie={context:{row_keys:["high_level","low_level"],fields:"supported"},get:{row_keys:["children"],fields:"supported"},list:{row_keys:["items"],fields:"supported"},next:{row_keys:["recommended","ready","decision_needed","blocked","held_by_others"],fields:"unsupported"},search:{row_keys:["items"],fields:"supported"},activity:{row_keys:["compact_activity","provenance_activity","activity"],fields:"unsupported"},history:{row_keys:["compact_history","provenance_history","history"],fields:"unsupported"},deps:{row_keys:["graph.nodes","graph.edges","context.nodes","context.edges"],fields:"unsupported"},health:{row_keys:["checks"],fields:"unsupported"},aggregate:{row_keys:["groups"],fields:"unsupported"},duplicates:{row_keys:["clusters"],fields:"unsupported"},stats:{row_keys:["by_type","by_status"],fields:"unsupported"},comments:{row_keys:["comments"],fields:"unsupported"},notes:{row_keys:["notes"],fields:"unsupported"},learnings:{row_keys:["learnings"],fields:"unsupported"},files:{row_keys:["files"],fields:"unsupported"},docs:{row_keys:["docs"],fields:"unsupported"},validate:{row_keys:["checks","warnings"],fields:"unsupported"},contracts:{row_keys:["command_summaries","commands"],fields:"unsupported"}},se=[{command:"activity",complete_mode:"full",omissions_by_mode:{compact:[{name:"provenance",restore_with:"--full"}],provenance:[{name:"patch_and_hashes",restore_with:"--full"}]}},{command:"history",complete_mode:"full",omissions_by_mode:{compact:[{name:"raw_history",restore_with:"--full"}],provenance:[{name:"patch_and_hashes",restore_with:"--full"}]}}];function Ve(e,t,n){if(e&&t)throw new h(`${n} cannot be combined with --full`,g.USAGE)}function m(e,t=new Set){let n=e.filter(r=>!t.has(r.name)).map(r=>({...r}));return{has_omissions:n.length>0,omitted_field_group_count:n.length,omitted_field_groups:n}}function Ze(e,t){let n=se.find(o=>o.command===e);if(n===void 0)throw new TypeError(`Unknown mode-paired output command: ${e}`);if(t===n.complete_mode)return m([]);let r=n.omissions_by_mode[t];if(r===void 0)throw new TypeError(`Unknown ${e} output mode: ${t}`);return m(r)}var ae=[{name:"hierarchy",restore_with:"--depth standard"},{name:"activity",restore_with:"--depth standard"},{name:"progress",restore_with:"--depth standard"},{name:"blockers",restore_with:"--depth standard"},{name:"recently_created",restore_with:"--depth standard"},{name:"unparented",restore_with:"--depth standard"},{name:"files",restore_with:"--depth deep"},{name:"workload",restore_with:"--depth standard"},{name:"staleness",restore_with:"--depth deep"},{name:"tests",restore_with:"--depth deep"},{name:"workspace_memory",restore_with:"--depth deep"}];function _(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function de(e){return _(e)&&typeof e.command=="string"&&e.command.trim().length>0&&(e.row_kind==="collection"||e.row_kind==="none")&&Array.isArray(e.row_keys)&&e.row_keys.every(t=>typeof t=="string"&&t.length>0)&&new Set(e.row_keys).size===e.row_keys.length&&(e.fields==="supported"||e.fields==="unsupported")&&(e.row_kind==="collection"?e.row_keys.length>0&&typeof e.jq_selector=="string"&&e.jq_selector.trim().length>0:e.row_keys.length===0&&e.jq_selector===void 0)}var ce={ancestors:["ids"],descendants:["ids"],predecessors:["ids"],successors:["ids"],paths:["paths"],impact:["affected"],audit:["findings"],communities:["communities"],redundancy:["redundant"],dominators:["bottlenecks"],slack:["rows"],centrality:["rows"],articulation:["articulation_points","bridges"],plan:["steps"]},ue={context:["sections_included","high_level","low_level"],get:["item"],list:["items","projection"],next:["recommended","ready","decision_needed","blocked","held_by_others"],search:["items","projection"],activity:["compact_activity","provenance_activity","activity"],history:["compact_history","provenance_history","history"],deps:["tree","graph","projection"],health:["checks"],aggregate:["groups"],duplicates:["clusters"],stats:["totals","by_type","by_status"],comments:["comments"],notes:["notes"],learnings:["learnings"],files:["files"],docs:["docs"],validate:["checks","warnings"],contracts:["command_summaries","commands","selected"]};function fe(e,t){let n=e.trim().toLowerCase().split(/\s+/u,1)[0],r=n?.startsWith("list-")?"list":n;if(r==="graph"){let i=typeof t.subcommand=="string"?t.subcommand:"";if(i.length===0)return;let d=ce[i];if(d===void 0)return;let a=d.filter(c=>Array.isArray(t[c])||_(t[c]));return{command:"graph",row_kind:a.length>0?"collection":"none",row_keys:a,fields:"unsupported",...a.length>0?{jq_selector:B}:{}}}let o=ie[r],s=ue[r];return o===void 0||s===void 0||!s.some(i=>Object.hasOwn(t,i))?void 0:(()=>{let i=o.row_keys.filter(d=>{let a=d.split(".").reduce((c,u)=>_(c)?c[u]:void 0,t);return Array.isArray(a)||_(a)});return{command:r,row_kind:i.length>0?"collection":"none",row_keys:i,fields:o.fields,...i.length>0?{jq_selector:B}:{}}})()}function le(e){if(!_(e.projection)||typeof e.projection.mode!="string"||e.projection.mode.trim().length===0)return;let t=e.projection.declared_field_groups,n=e.projection.included_field_groups;if(!Array.isArray(t)||!Array.isArray(n))return;let r=t.filter(i=>_(i)&&typeof i.name=="string"&&i.name.trim().length>0&&typeof i.restore_with=="string"&&i.restore_with.trim().length>0),o=n.filter(i=>typeof i=="string");if(r.length!==t.length||o.length!==n.length)return;let s=new Set(r.map(i=>i.name));if(!(s.size!==r.length||new Set(o).size!==o.length||o.some(i=>!s.has(i))))return m(r,new Set(o))}function _e(e){if(Array.isArray(e.sections_included))return m(ae,new Set(e.sections_included.filter(t=>typeof t=="string")))}function me(e){if(!_(e.item))return;let t=["children","claim_state","linked"].map(n=>({name:n,restore_with:`--fields ${n}`}));return m(t,new Set(t.flatMap(({name:n})=>e[n]===void 0?[]:[n])))}function $(e){if(_(e.projection))return m([{name:"full_item_fields",restore_with:"--full"}],new Set(e.projection.mode==="full"?["full_item_fields"]:[]))}function pe(e){if(!_(e.projection))return m([]);if(typeof e.projection.mode=="string")return m([{name:"full_check_details",restore_with:"--full"}],new Set(e.projection.mode==="full"?["full_check_details"]:[]))}function ge(e){if(!(!_(e.selected)||typeof e.selected.summary!="boolean"))return m([{name:"full_contract_catalog",restore_with:"--full"}],new Set(e.selected.summary?[]:["full_contract_catalog"]))}function he(e,t){let n=le(t);if(n!==void 0)return n;let[r]=e.split(/\s+/u,1);if(r==="context")return _e(t);if(r==="get")return me(t);if(r==="list"||r.startsWith("list-"))return $(t);if(r==="search")return $(t)??m([{name:"projection_metadata",restore_with:"--full"}]);if(r==="health")return pe(t);if(r==="contracts")return ge(t)}function P(e,t){if(e===void 0||!_(t))return t;let n=t.row_contract,r=de(n)?n:fe(e,t),o=r!==void 0?{...t,row_contract:r}:Object.hasOwn(t,"row_contract")?Object.fromEntries(Object.entries(t).filter(([i])=>i!=="row_contract")):t;if(_(o.omission_receipt))return o;let s=he(e,o);return s===void 0?o:{...o,omission_receipt:s}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e48a306e-debb-5e66-ae9b-68bf17fa405f")}catch{}})();var L=Object.freeze([{command:"context",intent:"orient",description:"Bounded active hierarchy, ownership, blockers, and recent progress.",included_field_groups:["summary","focus","hierarchy","blockers","activity"],token_budget:2400,source:"core"},{command:"context",intent:"handoff",description:"Active ownership, evidence, decisions, and immediate continuation context.",included_field_groups:["summary","focus","in_progress","decisions","activity"],token_budget:2200,source:"core"},{command:"get",intent:"inspect",description:"Standard-depth item metadata, relationships, evidence, and lifecycle state.",included_field_groups:["item","children","claim_state","linked"],token_budget:3200,source:"core"},{command:"list",intent:"triage",description:"A budget-derived page of compact governance, ownership, priority, and blocker rows for triage.",included_field_groups:["identity","governance","ownership","dependencies"],token_budget:3200,source:"core"},{command:"next",intent:"execute",description:"The highest-ranked actionable work with concise ranking evidence.",included_field_groups:["recommended"],token_budget:1200,source:"core"},{command:"search",intent:"discover",description:"A budget-derived page of ranked canonical lineage candidates with compact match evidence.",included_field_groups:["identity","status","lineage","match"],token_budget:1800,source:"core"}]),G=new ye;function we(){return G.getStore()??L}function at(e,t){return G.run(ke(e.workspaceContracts,e.packageContracts),t)}function be(e,t){let n=e.command.trim().toLowerCase(),r=e.intent.trim().toLowerCase(),o=`${n}:${r}`;if(!/^[a-z0-9][a-z0-9-]*$/.test(n)||!/^[a-z0-9][a-z0-9-]*$/.test(r))throw new TypeError(`Invalid context intent command or name: ${o}`);if(e.description.trim().length===0)throw new TypeError(`Context intent ${o} requires a non-empty description`);if(!Number.isSafeInteger(e.token_budget)||e.token_budget<=0)throw new TypeError(`Context intent ${o} requires a positive integer token_budget`);let s=[...new Set(e.included_field_groups.map(i=>i.trim()).filter(Boolean))];if(s.length===0)throw new TypeError(`Context intent ${o} requires included_field_groups`);return{command:n,intent:r,description:e.description.trim(),included_field_groups:s,token_budget:e.token_budget,source:t}}function ke(e=[],t=[]){let n=[{source:"core",contracts:L,allowOverride:!1},{source:"package",contracts:t,allowOverride:!1},{source:"workspace",contracts:e,allowOverride:!0}],r=new Map,o=new Set;for(let s of n){o.clear();for(let i of s.contracts){let d=be(i,s.source),a=`${d.command}:${d.intent}`;if(o.has(a))throw new TypeError(`Duplicate context intent declaration: ${a}`);if(o.add(a),!s.allowOverride&&r.has(a))throw new TypeError(`Duplicate context intent declaration: ${a}`);r.set(a,d)}}return[...r.values()].sort((s,i)=>s.command.localeCompare(i.command)||s.intent.localeCompare(i.intent))}function q(e,t,n=we()){let r=e.trim().toLowerCase(),o=t.trim().toLowerCase(),s=n.find(c=>c.command===r&&c.intent===o);if(s)return{...s,source:s.source??"core"};let i=n.filter(c=>c.command===r).map(c=>c.intent);if(i.length===0)return;let d=i.map(c=>{let u=Array.from({length:o.length+1},(p,f)=>f);for(let p=1;p<=c.length;p+=1){let f=u[0];u[0]=p;for(let l=1;l<=o.length;l+=1){let X=u[l];u[l]=Math.min(u[l]+1,u[l-1]+1,f+(c[p-1]===o[l-1]?0:1)),f=X}}return{candidate:c,distance:u[o.length]}}).sort((c,u)=>c.distance-u.distance||c.candidate.localeCompare(u.candidate))[0].candidate,a=`pm ${r} --for ${d}`;throw new h(`Unknown context intent "${o}" for ${r}. Did you mean "${d}"?`,g.USAGE,{code:"unknown_context_intent",reason:"unknown_intent",field:"for",required:`Use a declared ${r} intent.`,why:"Intent names are command-local contracts and cannot be inferred from output section names.",nextSteps:[a],recovery:{recovery_mode:"compact",attempted_command:`pm ${r} --for ${o}`,suggested_retry:a}})}var Q={context:(e,t,n)=>{e.depth===void 0&&(e.depth=t.intent==="handoff"?"deep":"standard"),e.section===void 0&&(e.section=t.intent==="handoff"?["activity","progress","blockers"]:["hierarchy","blockers","activity"]);let r=C(e.tokenBudget,t.token_budget),o=Math.max(1,Math.floor((r-800)/500)),s=String(n?o:Math.min(20,o));e.limit===void 0&&(e.limit=s),e.activityLimit===void 0&&(e.activityLimit=s)},get:e=>{e.depth===void 0&&e.fields===void 0&&(e.depth="standard")},list:(e,t,n)=>{if(e.brief===void 0&&e.compact===void 0&&e.full===void 0&&e.fields===void 0&&(e.fields="id,title,status,type,priority,parent,assignee,risk,blocked_by"),e.limit===void 0){let r=C(e.tokenBudget,t.token_budget),o=Math.max(2,Math.floor((r-520)/16));e.limit=String(n?o:Math.min(100,o))}},next:e=>{e.readyOnly===void 0&&(e.readyOnly=!0)},search:(e,t,n)=>{if(e.compact===void 0&&e.full===void 0&&e.fields===void 0&&(e.compact=!0),e.limit===void 0){let r=C(e.tokenBudget,t.token_budget),o=Math.max(2,Math.floor((r-480)/16));e.limit=String(n?o:Math.min(100,o))}}};function dt(e,t){let n=t.tokenBudget??t.token_budget;if(typeof t.for!="string"){if(n!==void 0&&(e==="get"||e==="list"||e==="search"))throw new h("--token-budget requires a declared context intent selected with --for",g.USAGE,{code:"missing_required_option",field:"for",required:"Select a context intent with --for when setting --token-budget.",why:"A token-budget override has no projection contract to constrain without a selected intent.",nextSteps:["Retry with --for <intent> --token-budget <n>, or omit --token-budget."]});if(t.tokenBudget!==void 0||t.token_budget===void 0)return t;let i={...t,tokenBudget:n};return delete i.token_budget,i}let r=q(e,t.for),o=v(n)!==void 0,s={...t};return s.tokenBudget===void 0&&n!==void 0&&(s.tokenBudget=n),delete s.token_budget,s.tokenBudget===void 0&&(s.tokenBudget=String(r.token_budget)),Q[e](s,r,o),s}var xe={context:"bounded_sections",get:"standard_item",list:"bounded_fields_and_rows",next:"bounded_ranked_rows",search:"bounded_ranked_rows"},x=256;function S(e){return Array.isArray(e)?e.map(S):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,S(n)])):typeof e=="string"&&e.length>240?`${e.slice(0,240)}\u2026`:e}function v(e){let t=typeof e=="number"?e:typeof e=="string"&&/^\d+$/u.test(e.trim())?Number(e):Number.NaN;return Number.isSafeInteger(t)&&t>0?t:void 0}function C(e,t){let n=v(e);if(n===void 0)return t;if(n<x)throw new h(`Context intent token budget must be at least ${x}`,g.USAGE,{code:"invalid_argument_value",reason:"below_minimum",field:"tokenBudget",required:`Use an integer token budget of at least ${x}.`,why:"Smaller ceilings cannot contain the minimum machine-readable intent receipt.",nextSteps:[`Retry with --token-budget ${x} or omit the override.`]});return n}function y(e,t){let n=t.estimated_tokens;for(;;){t.estimated_tokens=n;let r=Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4);if(r===n)return;n=r}}var U={context:["high_level","low_level","blocked_fallback","recently_created","unparented","hierarchy","activity","blockers"],get:["children"],list:["items"],next:["ready","decision_needed","blocked","held_by_others"],search:["items"]};function z(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString("utf8"));return typeof t.fingerprint!="string"||!Number.isSafeInteger(t.after_index)?void 0:{fingerprint:t.fingerprint,after_index:t.after_index,...typeof t.snapshot=="string"?{snapshot:t.snapshot}:{}}}catch{return}}function Ce(e){if(e===null||typeof e!="object")return;if(typeof e.id=="string")return e.id;let t=e.item?.id;return typeof t=="string"?t:void 0}function Te(e,t,n){let r=!1;for(;;){if(y(e,t),t.estimated_tokens<=t.token_budget||n.length<=1)return r;let o=Buffer.byteLength(JSON.stringify(n),"utf8"),s=(t.estimated_tokens-t.token_budget)*4;n.splice(-Math.min(n.length-1,Math.max(1,Math.ceil(s/Math.max(1,Math.ceil(o/n.length)))))),r=!0}}function Oe(e,t,n){let r=e.items,o=typeof e.next_cursor=="string",s=o?e.next_cursor:n.after;if(!Array.isArray(r)||typeof s!="string")return!1;let i=z(s);if(i===void 0)return!1;let d=r.length,a=[...r],c=!1;for(;;){if(c=Te(e,t,r)||c,!c)return!1;let u=Ce(r.at(-1));if(u===void 0)return r.splice(0,r.length,...a),y(e,t),!1;if(e.next_cursor=O(i.fingerprint,u,o?i.after_index-(d-r.length):i.after_index+r.length,i.snapshot),y(e,t),t.estimated_tokens<=t.token_budget||r.length<=1)break}return typeof e.count=="number"&&(e.count=r.length),typeof e.applied_limit=="number"&&(e.applied_limit=r.length),!0}function Ee(e,t,n,r){if(e==="list"||e==="search")return Oe(t,n,r);if(e!=="next"||typeof t.next_cursor=="string")return!1;let o=!1;for(;;){if(y(t,n),n.estimated_tokens<=n.token_budget)return o;let s=U[e].map(f=>({key:f,rows:Array.isArray(t[f])?t[f]:[]})).filter(({rows:f})=>f.length>0).sort((f,l)=>l.rows.length-f.rows.length||f.key.localeCompare(l.key))[0];if(s===void 0)return o;let i=U[e].reduce((f,l)=>f+(Array.isArray(t[l])?t[l].length:0),0);if(i<=1)return o;let d=Math.min(s.rows.length,i-1),a=Buffer.byteLength(JSON.stringify(s.rows),"utf8"),c=Math.max(1,Math.ceil(a/s.rows.length)),u=(n.estimated_tokens-n.token_budget)*4,p=Math.min(d,Math.max(1,Math.ceil(u/c)));s.rows.splice(-p,p),o=!0}}function Se(e,t,n){if(typeof t.for!="string")return n;let r=e.startsWith("list-")?"list":e;if(!(r in Q))return n;let o=r,s=q(o,t.for),i={command:o,intent:s.intent,source:s.source,included_field_groups:[...s.included_field_groups],token_budget:C(t.tokenBudget??t.token_budget,s.token_budget),estimated_tokens:0,within_budget:!0,degradation:xe[o],declaration_feasible:!0,result_omitted:!1},d={...n};if(o==="list"||o==="search"){let c=o==="list"?520:480,u=Math.max(2,Math.floor((i.token_budget-c)/16)),f=v(t.tokenBudget??t.token_budget)!==void 0?u:Math.min(100,u),l=t.limit!==void 0;i.budget_derived_limit=f,i.binding_constraint=l?"explicit_limit":"token_budget",i.limit_reason=l?"The caller supplied an explicit row limit; the budget-derived limit remains diagnostic.":"The selected intent token budget determines the row ceiling.",d.budget_derived_limit=f}let a={...d,context_intent:i};return y(a,i),i.estimated_tokens>i.token_budget&&(i.degradation="recursive_budget_compaction",a={...S(d),context_intent:i},y(a,i)),i.estimated_tokens>i.token_budget&&Ee(o,a,i,t)&&(i.degradation="budget_row_compaction",y(a,i)),i.estimated_tokens>i.token_budget&&(i.degradation="budget_receipt_only",i.declaration_feasible=!1,i.result_omitted=!0,i.within_budget=!1,a={budget_exceeded:{omitted_result:!0,reason:"declared_budget_infeasible",restore_with:"Increase --token-budget or narrow the request; the unprojected command may be larger."},context_intent:i},y(a,i)),a}function ve(e,t){if(typeof e.after!="string"||e.after.length===0)return t;let n=z(e.after)?.fingerprint??"opaque_cursor",r={...t};for(let o of["applied_limit","completeness","context_intent","count","filters","has_more","now","omission_receipt","projection","row_contract","sorting","total","truncated"])delete r[o];return r.continuation_contract={fingerprint:n,metadata:"reference",restore_with:"omit --after"},r}function ct(e,t,n){let r=P(e,n);return typeof r=="object"&&r!==null&&!Array.isArray(r)?M(e??"",t,ve(t,Se(e??"",t,r))):r}(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]="02baf966-46eb-5e19-b7eb-2f9fe05bb263")}catch{}})();var b=["result_rows","envelope","diagnostics","hints"],Ae=/^(?:items|results|rows|ready|blocked|recommended|decision_needed|children|dependencies|events|matches|commands|tools)$/u,Re=/^(?:diagnostics|errors?|warnings?|findings|violations|failures?)$/u,Ie=/^(?:hints?|suggestions?|next_steps?|recovery|remediation|examples?)$/u,Me=8;function A(e){return Buffer.byteLength(e,"utf8")}function K(e){return A(JSON.stringify(e)??"null")}function Ne(e,t){return Re.test(e)?"diagnostics":Ie.test(e)?"hints":Ae.test(e)||Array.isArray(t)?"result_rows":"envelope"}function De(e){let t={result_rows:0,envelope:0,diagnostics:0,hints:0};if(typeof e!="object"||e===null||Array.isArray(e))return t[Array.isArray(e)?"result_rows":"envelope"]=K(e),t;for(let[n,r]of Object.entries(e))t[Ne(n,r)]+=K({[n]:r});return Object.values(t).every(n=>n===0)&&(t.envelope=1),t}function Be(e,t){let n=b.reduce((i,d)=>i+t[d],0),r=b.map(i=>({section:i,value:e*t[i]/n})),o={result_rows:0,envelope:0,diagnostics:0,hints:0};for(let i of r)o[i.section]=Math.floor(i.value);let s=e-b.reduce((i,d)=>i+o[d],0);for(let i of[...r].sort((d,a)=>a.value-Math.floor(a.value)-(d.value-Math.floor(d.value))||b.indexOf(d.section)-b.indexOf(a.section))){if(s===0)break;o[i.section]+=1,s-=1}return o}function W(e,t){return typeof e=="object"&&e!==null&&!Array.isArray(e)?{...e,token_accounting:t}:{result:e,token_accounting:t}}function lt(e,t){let n=A(t(e)),r=Be(n,De(e)),o=Object.fromEntries(b.map(d=>[d,{bytes:r[d],estimated_tokens:k(r[d])}])),s={version:1,measurement_scope:"output_before_token_accounting",estimator:"ceil(utf8_bytes / 4)",total_bytes:n,total_estimated_tokens:k(n),sections:o,accounting_receipt_bytes:0,accounting_receipt_estimated_tokens:0,excluded_fields:["token_accounting"],section_allocation:"proportional_canonical_json"},i=W(e,s);for(let d=0;d<Me;d+=1){let a=A(t(i))-n;if(a===s.accounting_receipt_bytes)return i;s={...s,accounting_receipt_bytes:a,accounting_receipt_estimated_tokens:k(a)},i=W(e,s)}return i}export{j as a,Pe as b,V as c,Z as d,Ue as e,k as f,Ve as g,Ze as h,P as i,Ke as j,We as k,O as l,E as m,Xe as n,oe as o,je as p,Je as q,L as r,we as s,at as t,ke as u,q as v,dt as w,z as x,Ce as y,Se as z,ct as A,lt as B};
|
|
2
|
-
//# sourceMappingURL=chunk-6GIZK7VQ.js.map
|