@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,2 +1,2 @@
|
|
|
1
|
-
import{h as _,l as Q,m as Y,o as ee,p as te}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{h as _,l as Q,m as Y,o as ee,p as te}from"./chunk-DQGJ2RWT.js";import{A as m,Af as D,C as h,Da as P,Df as G,If as V,La as T,Lf as H,Ma as $,Mf as X,Nf as B,Oa as L,Sf as J,Y as E,b as I,lc as z,xc as W,zd as Z}from"./chunk-HS7OVAUN.js";import oe from"node:fs/promises";import p 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]="5e45d0f1-a1a7-50ea-a9a3-ec6283d3471d")}catch{}})();var ne=32768;function b(e){return _(p.normalize(e))}async function v(e){try{return await oe.realpath(e)}catch{return p.resolve(e)}}function g(e,t){let c=p.isAbsolute(e.path)?p.resolve(e.path):p.resolve(t,e.path);return`${b(c)}::${e.scope}`}function R(e,t,c){if(typeof e=="string"){let n=e.trim();n.length>0&&c.push({field:t,value:n});return}if(Array.isArray(e)){e.forEach((n,s)=>R(n,`${t}[${s}]`,c));return}if(typeof e=="object"&&e!==null)for(let[n,s]of Object.entries(e))R(s,t?`${t}.${n}`:n,c)}function se(e){let t=[];return R(e.metadata,"metadata",t),R(e.body,"body",t),t}function ae(e){let t=e.trim();return t=t.replace(/^[`"'<([{]+/u,""),t=t.replace(/[`"'>)\]},;!?]+$/u,""),t=t.replace(/[.]+$/u,""),t=t.replace(/:(?:\d+)(?::\d+)?$/u,""),t=t.replace(/[.]+$/u,""),t}function ie(e){let t=[],c=/(?:[A-Za-z]:[\\/]|\/)[^\s"'`<>()[\]{},;]+/gu,n=/(?:\.{1,2}[\\/])?(?:(?:[A-Za-z0-9_.@-]+[\\/])+[A-Za-z0-9_.@-]+|[A-Za-z0-9_.@-]+\.[A-Za-z0-9][A-Za-z0-9._-]*)/gu;for(let s of e){let l=new Set,a=s.value.slice(0,ne);for(let[i,r]of[[c,s.value],[n,a]]){i.lastIndex=0;for(let o of r.matchAll(i)){let d=ae(o[0]);!d||l.has(d)||(l.add(d),t.push({field:s.field,value:d}))}}}return t}async function re(e,t,c=t){let n=p.isAbsolute(e)?p.resolve(e):p.resolve(c,e),s;try{s=await oe.stat(n)}catch{return}if(!s.isFile())return;let[l,a]=await Promise.all([v(t),v(n)]);if(E(l,a)){let i=p.relative(l,a);return!i||i.startsWith("..")||p.isAbsolute(i)?void 0:{path:b(i),scope:"project"}}return{path:b(n),scope:"global"}}async function ce(e,t,c=t){let n=new Set((e.metadata.files??[]).map(r=>g(r,t))),s=new Map,l=ie(se(e)),a=new Map;await Promise.all([...new Set(l.map(r=>r.value))].map(async r=>{a.set(r,await re(r,t,c))}));let i=l.map(r=>({reference:r,resolved:a.get(r.value)}));for(let{reference:r,resolved:o}of i){if(!o)continue;let d=g(o,t),f=s.get(d)??{path:o.path,scope:o.scope,sourceFields:new Set,originalPaths:new Set,sourceCount:0};f.sourceFields.add(r.field),f.originalPaths.add(r.value),f.sourceCount+=1,s.set(d,f)}return[...s.entries()].map(([r,o])=>({path:o.path,scope:o.scope,status:n.has(r)?"already_linked":"addable",source_count:o.sourceCount,source_fields:[...o.sourceFields].sort((d,f)=>d.localeCompare(f)),original_paths:[...o.originalPaths].sort((d,f)=>d.localeCompare(f))})).sort((r,o)=>{let d=r.status.localeCompare(o.status);if(d!==0)return d;let f=r.path.localeCompare(o.path);return f!==0?f:r.scope.localeCompare(o.scope)})}var $e={relativeReferenceScanMaxChars:ne,normalizeCandidatePathForOutput:b,realpathForContainment:v,linkedFileResolvedKey:g,collectTextReferences:R,collectItemTextReferences:se,cleanupPathToken:ae,extractRawPathReferences:ie,resolveDiscoveredFile:re,discoverReferencedFiles:ce};async function Le(e,t,c){let n=await ee(e,t,c,{metadataKey:"files",op:"files_add",bareNoun:"file",supportsAppendStable:!0});return te(n,"files")}async function me(e,t){let c=await v(t),n=await Promise.all(e.map(async l=>{let a=l.trim();if(!a)throw new h("Files lookup paths must not be empty.",m.USAGE);if(!p.isAbsolute(a))return _(a);let i=await v(a);return E(c,i)?_(p.relative(c,i)):_(i)})),s=[...new Set(n)].sort((l,a)=>l.localeCompare(a));if(s.length===0)throw new h("Files lookup requires at least one path.",m.USAGE);return s}function he(e){for(let[n,s]of[["limit",e.limit],["offset",e.offset]])if(s!==void 0&&(!Number.isInteger(s)||s<0))throw new h(`Files lookup ${n} must be a non-negative integer.`,m.USAGE);let{offset:t=0,limit:c=50}=e;return{offset:Math.max(0,Math.floor(t)),limit:e.noTruncate?void 0:Math.max(0,Math.floor(c))}}function le(e){return{id:e.id,title:e.title,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}async function ge(e){if([e.strictRead,e.noTruncate,W()].includes(!0))return null;let t=await V(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]);return t?G({pmRoot:e.pmRoot,expectedSourceCursor:t.source_cursor,paths:e.paths,scope:e.scope,limit:e.limit,offset:e.offset}):null}async function ye(e){let t=[],n=(await B(e.pmRoot,e.settings.item_format,e.typeToFolder,t,e.settings.schema)).map(a=>({item:a,files:(a.files??[]).filter(i=>e.paths.includes(_(i.path))&&(e.scope===void 0||i.scope===e.scope)).sort((i,r)=>{let o=i.path.localeCompare(r.path);return o===0?i.scope.localeCompare(r.scope):o})})).filter(a=>a.files.length>0).sort((a,i)=>{let r=a.item.priority-i.item.priority;if(r!==0)return r;let o=i.item.updated_at.localeCompare(a.item.updated_at);return o===0?a.item.id.localeCompare(i.item.id):o}),s=t.filter(a=>/^item_list_(?:item|directory)_read_failed:/u.test(a));if(e.strictRead&&s.length>0)throw new h(`Files lookup could not read every item: ${s.join("; ")}`,m.GENERIC_FAILURE);let l=n.slice(e.offset,e.limit===void 0?void 0:e.offset+e.limit);return{paths:e.paths,total:n.length,count:l.length,offset:e.offset,limit:e.limit??null,has_more:e.offset+l.length<n.length,truncated:e.offset+l.length<n.length,completeness:{status:s.length===0?"complete":"partial",source:"source_scan"},warnings:t,matches:l.map(a=>({item:le(a.item),files:a.files}))}}async function ze(e,t){let c=T(process.cwd(),t.path),n=$(c);if(!await I(L(c)))throw new h(`Tracker is not initialized at ${c}. Run pm init first.`,m.NOT_FOUND);let s=await me(e.paths,n),l=await D(c),a=P(l,z()),{offset:i,limit:r}=he(e),o=await ge({pmRoot:c,typeToFolder:a.type_to_folder,paths:s,scope:e.scope,limit:r,offset:i,strictRead:e.strictRead===!0,noTruncate:e.noTruncate===!0});return o?{paths:s,total:o.total,count:o.matches.length,offset:i,limit:r,has_more:i+o.matches.length<o.total,truncated:i+o.matches.length<o.total,completeness:{status:"unchecked",source:"index"},warnings:[],matches:o.matches.map(d=>({item:le(d.item),files:d.files}))}:ye({pmRoot:c,settings:l,typeToFolder:a.type_to_folder,paths:s,scope:e.scope,limit:r,offset:i,strictRead:e.strictRead===!0})}async function De(e,t,c){let n=T(process.cwd(),c.path),s=$(n);if(!await I(L(n)))throw new h(`Tracker is not initialized at ${n}. Run pm init first.`,m.NOT_FOUND);let l=await D(n),a=P(l,z()),i=await H(n,e,l.id_prefix,l.item_format,a.type_to_folder);if(!i)throw new h(`Item ${e} not found`,m.NOT_FOUND);let r=await X(i,{schema:l.schema}),o=await ce(r.document,s,process.cwd()),d=o.filter(u=>u.status==="addable"),f=o.filter(u=>u.status==="already_linked"),O=t.apply===!0,de=t.note?.trim()||"discovered from item text";if(!O||d.length===0){let u=r.document.metadata.files??[];return{id:i.id,files:u,changed:!1,apply:O,count:u.length,candidate_count:o.length,addable_count:d.length,added_count:0,skipped_existing_count:f.length,candidates:o,added:[],skipped_existing:f}}let ue=Z(t.author,l.author_default),A=d.map(u=>({path:u.path,scope:u.scope,note:de})),y=[],x=new Set,M=await J({pmRoot:n,settings:l,id:e,op:"files_discover",author:ue,message:t.message??"Discover referenced file links",force:t.force,mutate(u){let w=[...u.metadata.files??[]],U=new Set(w.map(S=>g(S,s)));y=[],x.clear();for(let[S,C]of A.entries()){let q=g(C,s);U.has(q)||(w.push(C),U.add(q),y.push(C),x.add(S))}let j=Y(w),K=t.appendStable?j:Q(j);return K.length>0?u.metadata.files=K:delete u.metadata.files,{changedFields:y.length>0?["files"]:[],warnings:y.length!==A.length?[`files_discover_skipped_existing:${A.length-y.length}`]:[]}}}),k=M.item.files??[],fe=new Set(y.map(u=>g(u,s))),F=k.filter(u=>fe.has(g(u,s))),pe=d.filter((u,w)=>!x.has(w)),N=[...f,...pe];return{id:M.item.id,files:k,changed:F.length>0,apply:!0,count:k.length,candidate_count:o.length,addable_count:d.length,added_count:F.length,skipped_existing_count:N.length,candidates:o,added:F,skipped_existing:N}}export{$e as a,Le as b,ze as c,De as d};
|
|
2
|
+
//# sourceMappingURL=chunk-4AVFKHHC.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{af as g,gf as y}from"./chunk-HS7OVAUN.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new t.Error().stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="19ff592c-0746-54e8-a304-2006f4845da2")}catch{}})();function b(t){return t.replaceAll("~1","/").replaceAll("~0","~")}function w(t){if(t==="/body"||t.startsWith("/body/"))return"body";if(t==="/metadata"||t.startsWith("/metadata/")||t==="/front_matter"||t.startsWith("/front_matter/")){let r=t.replace(/^\/(?:metadata|front_matter)\/?/,"").split("/")[0];return r?b(r):"metadata"}let e=t.replace(/^\//,"").split("/")[0];return e?b(e):"root"}function i(t,e){return e==="body"?t.body:e==="metadata"?t.metadata:e==="root"?t:t.metadata[e]}function D(t,e){let r=e?.windowStartIndex??0,a=e?.field;if(t.length===0||r>=t.length)return[];let l=g(),u=[];for(let d=0;d<t.length;d+=1){let n=t[d],p=l,h=y(l,n.patch),s;h.ok?(s=h.document,l=s):s=p;let f=new Set;for(let o of n.patch)f.add(w(o.path)),o.from!==void 0&&f.add(w(o.from));let m=[...f].sort((o,c)=>o.localeCompare(c));if(d>=r)if(a!==void 0){if(!f.has(a))continue;let o={field:a,before:i(p,a),after:i(s,a)};u.push({index:d+1,ts:n.ts,op:n.op,author:n.author,patch_ops:n.patch.length,changed_fields:[a],changes:[o]})}else{let o=m.map(c=>({field:c,before:i(p,c),after:i(s,c)}));u.push({index:d+1,ts:n.ts,op:n.op,author:n.author,patch_ops:n.patch.length,changed_fields:m,changes:o})}}return u}export{w as a,D as b};
|
|
2
|
+
//# sourceMappingURL=chunk-4OVGQW22.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as T}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as T}from"./chunk-M4VEE3FK.js";import{f as F,i as I}from"./chunk-R6LSRGPS.js";import{A as s,Af as N,C as o,Da as _,La as g,Lf as O,Mf as k,Oa as U,R as E,Sf as x,b as K,lc as C,zd as G}from"./chunk-HS7OVAUN.js";import{readFile as L}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new e.Error().stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="eeb7b433-094b-5c4f-bc81-d4988ac297b4")}catch{}})();function P(e,n){if(typeof e=="object"&&e!==null&&"format"in e&&e.format==="json")throw new o(`Structured context events are append-only and cannot be ${n}.`,s.USAGE,{code:"structured_event_immutable"})}function V(e,n){return n===void 0?e:n===0?[]:e.slice(Math.max(0,e.length-n))}function p(e,n){let r=e[n];return Array.isArray(r)?r:[]}function se(e,n={}){let r=e.trim();if(!r)return"";let t=/^(?:[-*+]\s*)?text\s*[:=]/i.exec(r);if(n.stripPlainTextPrefix===!0&&t&&!r.startsWith("```"))return r.slice(t[0].length).trim()||r;if(!(/^(?:[-*+]\s*)?text\s*[:=]/im.test(r)||r.startsWith("```")))return r;try{let i=F(r,"--add");return Object.keys(i).map(m=>m.trim().toLowerCase()).some(m=>m!=="text")?r:i.text?.trim()||r}catch{return r}}function j(e){return typeof e=="object"&&e!==null&&"code"in e}async function H(e,n){if(+(e.add!==void 0)+ +(e.stdin===!0)+ +(typeof e.file=="string")>1)throw new o(`Specify ${n} text using only one input source: --add, --stdin, or --file`,s.USAGE);let t=I();if(e.add!==void 0)return{value:await t.resolveValue(e.add,"--add")??"",rawValue:e.add,emptyFlag:"--add"};if(e.stdin===!0)return{value:await t.resolveValue("-","--stdin")??"",emptyFlag:"--stdin"};if(typeof e.file!="string")return;let a=e.file.trim();if(!a)throw new o("--file path cannot be empty",s.USAGE);try{return{value:await L(a,"utf8"),emptyFlag:"--file"}}catch(i){if(j(i)&&i.code==="ENOENT")throw new o(`--file path not found: ${a}`,s.USAGE);let w=i instanceof Error?i.message:String(i);throw new o(`Failed to read --file path "${a}": ${w}`,s.USAGE)}}async function de(e,n){if(e.edit!==void 0&&e.delete!==void 0)throw new o("Specify only one of --edit or --delete",s.USAGE);if(e.delete!==void 0){if(e.add!==void 0||e.stdin===!0||typeof e.file=="string")throw new o("--delete cannot be combined with replacement text",s.USAGE);if(!Number.isInteger(e.delete)||e.delete<1)throw new o("--delete must be a positive integer",s.USAGE);return{mode:"delete",index:e.delete}}if(e.edit!==void 0&&(!Number.isInteger(e.edit)||e.edit<1))throw new o("--edit must be a positive integer",s.USAGE);let r=await H(e,n);if(e.edit!==void 0){if(!r)throw new o("--edit requires replacement text from --add, --stdin, or --file",s.USAGE);return{mode:"edit",index:e.edit,...r}}return r?{mode:"add",...r}:{mode:"list"}}function v(e,n){throw e instanceof o&&e.exitCode===s.CONFLICT&&e.message.includes("is assigned to")&&e.message.includes("Use --force to override")?new o(e.message,e.exitCode,{code:"ownership_conflict",required:n.required,examples:n.examples,nextSteps:n.nextSteps}):e}function M(e){return e==="comments"?"--stdin":"--add -"}function z(e,n){if((n.input.emptyFlag??"--add")!=="--add")return;let t=e.trim();if(!/^-{1,2}[A-Za-z][\w-]*(?:=.*)?$/.test(t))return;let a=M(n.collectionKey),i=n.input.mode==="edit"?`pm ${n.collectionKey} <id> --edit <index>`:`pm ${n.collectionKey} <id>`;throw new o(`--add value "${t}" looks like an option, not annotation text. Use ${a} to read stdin, or use text=${t} for literal dash-leading text.`,s.USAGE,{code:"annotation_flag_like_value",required:`Use ${a} for stdin input, pass plain text, or use text=${t} when the text really starts with "-".`,examples:[`${i} ${a}`,`${i} --add text=${t}`]})}function W(e,n){if(e.input.mode!=="list"||n.message===void 0)return;let r=e.collectionKey.replace(/s$/,"");throw new o(`--message labels a ${r} mutation but does not provide ${r} text. Pass text positionally or with --add, --stdin, or --file.`,s.USAGE,{code:"annotation_message_without_text",required:`Provide ${r} text through a content source; --message only annotates the history entry of a mutation.`,examples:[`pm ${e.collectionKey} <id> --add "text" --message "why"`,`pm ${e.collectionKey} <id> ${M(e.collectionKey)}`]})}async function le(e,n,r,t){W(t,n);let a=g(process.cwd(),r.path);if(!await K(U(a)))throw new o(`Tracker is not initialized at ${a}. Run pm init first.`,s.NOT_FOUND);let i=await N(a),w=_(i,C()),y=T(n.limit);if(t.input.mode==="list"){let d=await O(a,e,i.id_prefix,i.item_format,w.type_to_folder);if(!d)throw new o(`Item ${e} not found`,s.NOT_FOUND);let l=await k(d,{schema:i.schema}),f=p(l.document.metadata,t.collectionKey);return b(d.id,t.collectionKey,f,y,n.includeMeta===!0)}let m=G(n.author,i.author_default);if(t.input.mode==="delete"){let d=t.deleteOp??t.op,l;try{l=await x({pmRoot:a,settings:i,id:e,op:d,author:m,message:n.message,force:n.force,bypassAssigneeConflict:t.bypassOwnershipConflict,mutate(u){let c=p(u.metadata,t.collectionKey),h=R(t.input.index,c.length,t.collectionKey);return P(c[h],"deleted"),c.splice(h,1),u.metadata[t.collectionKey]=c,{changedFields:[t.collectionKey]}}})}catch(u){v(u,t.conflictGuidance)}let f=p(l.item,t.collectionKey);return b(l.item.id,t.collectionKey,f,y,n.includeMeta===!0)}let D=t.input.rawValue??t.input.value??"";z(D,t);let $=t.parseText(t.input.value??"");if(!$.trim())throw new o(`${t.input.emptyFlag??"--add"} text cannot be empty`,s.USAGE);if(t.input.mode==="edit"){let d=t.editOp??t.op,l;try{l=await x({pmRoot:a,settings:i,id:e,op:d,author:m,message:n.message,force:n.force,bypassAssigneeConflict:t.bypassOwnershipConflict,mutate(u){let c=p(u.metadata,t.collectionKey),h=R(t.input.index,c.length,t.collectionKey),S=c[h];return P(S,"edited"),c[h]={...S,text:$,edited_at:E()},u.metadata[t.collectionKey]=c,{changedFields:[t.collectionKey]}}})}catch(u){v(u,t.conflictGuidance)}let f=p(l.item,t.collectionKey);return b(l.item.id,t.collectionKey,f,y,n.includeMeta===!0)}let A;try{A=await x({pmRoot:a,settings:i,id:e,op:t.op,author:m,message:n.message,force:n.force,bypassAssigneeConflict:t.bypassOwnershipConflict,mutate(d){let l=p(d.metadata,t.collectionKey),f={created_at:E(),author:m,text:$};return l.push(t.createEntry(f)),d.metadata[t.collectionKey]=l,{changedFields:[t.collectionKey]}}})}catch(d){v(d,t.conflictGuidance)}let q=p(A.item,t.collectionKey);return b(A.item.id,t.collectionKey,q,y,n.includeMeta===!0)}function R(e,n,r){if(e===void 0||!Number.isInteger(e)||e<1||e>n){let t=r.replace(/s$/,""),a=`${t.charAt(0).toUpperCase()}${t.slice(1)}`,i=n===1?`1 ${t}`:`${n} ${r}`;throw new o(`${a} index ${e??"(missing)"} out of range (item has ${i})`,s.USAGE)}return e-1}function b(e,n,r,t,a){let i=V(r,t);return{id:e,[n]:i,count:i.length,...a?{total_count:r.length,returned_count:i.length,has_more:i.length<r.length,...t!==void 0?{limit:t}:{}}:{}}}export{V as a,p as b,se as c,j as d,de as e,v as f,le as g,R as h};
|
|
2
|
+
//# sourceMappingURL=chunk-5PBP2ZP3.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{A as d,C as u}from"./chunk-HS7OVAUN.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},o=new e.Error().stack;o&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[o]="a7ae3c89-b50b-5e4f-8273-8318bc976d84")}catch{}})();var y=Object.freeze({requireCloseReason:!0,orderingEdges:"preserve"});function f(e){let o=[{source:"explicit",value:e.explicit},{source:"duplicate",value:e.duplicateOf===void 0?void 0:`Duplicate of ${e.duplicateOf}`},{source:"resolution",value:e.resolution},{source:"message",value:e.message}];for(let s of o){let n=s.value?.trim();if(n)return{closeReason:n,source:s.source}}return{source:"none"}}function _(e,o){return g(e,o,{operation:"close"})}function g(e,o,s){let n=f(e);if(!o||n.closeReason!==void 0)return n;let c=s.operation==="create"?[`pm create --title "<title>" --type <type> --status ${s.status??"closed"} --close-reason "<closing summary>"`,`pm create --title "<title>" --type <type> --status ${s.status??"closed"} --resolution "<resolution summary>"`,"pm create --stdin-json < item.json"]:['pm close <id> "Done: <what changed and why>"','pm close <id> --reason "<closing summary>"','pm close <id> -m "<closing summary>"',"pm close <id> --duplicate-of <canonical-id>"];throw new u("Close reason text is required because governance.require_close_reason is enabled",d.USAGE,{code:"close_reason_required",required:"Provide an author-controlled closing summary as the reason, message, resolution, or duplicate target.",why:"governance.require_close_reason is enabled, so tools must not invent immutable closure evidence.",examples:c,nextSteps:[`Re-run the ${s.operation} operation with a closing summary.`,"To stop requiring reasons, run: pm config set governance-require-close-reason --policy disabled"]})}function h(e,o){let s=typeof e.blocked_by=="string"?e.blocked_by.trim():"",n=e.blocked_by!==void 0,c=e.dependencies??[],l=c.filter(r=>r.kind==="blocked_by"),a=e.blocked_reason!==void 0,i=[];if(n&&(delete e.blocked_by,i.push("blocked_by")),a&&(delete e.blocked_reason,i.push("blocked_reason")),o.orderingEdges==="remove"&&l.length>0){let r=c.filter(p=>p.kind!=="blocked_by");r.length>0?e.dependencies=r:delete e.dependencies,i.push("dependencies")}let t=[...new Set([...s?[s]:[],...l.map(r=>r.id)])];return t.length===0?{changedFields:i,warnings:[]}:{changedFields:i,warnings:[o.orderingEdges==="preserve"?`closed_preserved_predecessors:${e.id}:${t.join(",")}`:`closed_removed_predecessors:${e.id}:${t.join(",")}`]}}export{y as a,f as b,_ as c,g as d,h as e};
|
|
2
|
+
//# sourceMappingURL=chunk-5ZKQPA44.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{hb as z,ib as K,jb as S,mb as F,oa as P,ob as L,pb as B}from"./chunk-RAFUN7IX.js";import{b as x}from"./chunk-3ZJRFYY2.js";import{k as D,n as j}from"./chunk-ZFBWCKYF.js";import{S as v,Y as G}from"./chunk-RUAU5OSH.js";import{A as c,Ad as N,Bb as k,C as d,bb as $,sf as C,u as O,uf as U}from"./chunk-HS7OVAUN.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]="27725b9d-2a1d-54ae-8191-12ebace6ef6a")}catch{}})();import ie 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]="91be2c5d-c495-54bc-ac79-b4c645ad2c6e")}catch{}})();var T=["op","id","reason","options"],J=[...T,"ref"],W=["schema_version","mutations"],Q="[a-z][a-z0-9._-]{0,63}",Y=new RegExp(`^${Q}$`,"u"),ee=new RegExp(`(^|,)id=@(${Q})(?=,|$)`,"gu"),q=e=>e.slice(2).replaceAll(/-([a-z])/gu,(t,n)=>n.toUpperCase()),E=["item","linked","schedule","claim_state","children","omission_receipt","row_contract","context_intent"],te=new Set(["created_at","updated_at","closed_at","version","format_version","path","author"]),se=new Set([...te,"completed_at","id"]),_=new Set(["id","title","description","type","status","priority","tags","body","deadline","estimated_minutes","acceptance_criteria","definition_of_ready","order","rank","assignee",...O,"affected_version","fixed_version","component","regression","customer_impact","close_reason","completed_at","dependencies","comments","notes","learnings","files","tests","docs","reminders","events","type_options"]),V={create:D.map(e=>e.target),update:j.map(e=>e.target),close:v.map(e=>q(e.flag)).filter(e=>e!=="reason"),release:G.map(e=>q(e.flag))};function ut(e){let t={},n=e.createCompensation;if(n!==void 0){if(n!=="close"&&n!=="delete")throw new d("createCompensation must be close or delete.",c.USAGE);t.createCompensation=n}for(let r of["lockTtlSeconds","lockWaitMs"]){let o=e[r];if(o===void 0)continue;let i=typeof o=="number"||typeof o=="string"&&o.trim().length>0?Number(o):Number.NaN;if(!Number.isSafeInteger(i)||i<=0)throw new d(`${r} must be a positive safe integer.`,c.USAGE);t[r]=i}return t}function p(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function g(e,t){let n=Math.max(1,Math.min(3,Math.floor(e.length/4)+1)),r;for(let o of t){let i=$(e,o,n);i!==null&&(r===void 0||i<r.distance)&&(r={key:o,distance:i})}return r?.key}function y(e,t,n){let r=g(t,n);return new d(r===void 0?`${e} does not recognize key "${t}". Allowed keys: ${n.join(", ")}.`:`${e} does not recognize key "${t}". Did you mean "${r}"?`,c.USAGE,{code:"stdin_json_unknown_key",required:`Use documented ${e} keys only.`,why:"Strict structured input prevents silent typos from creating incomplete or unintended mutations.",nextSteps:[r===void 0?`Remove or correct "${t}".`:`Replace "${t}" with "${r}".`]})}function R(e,t){try{return JSON.parse(e)}catch(n){let r=n instanceof Error?n.message:String(n);throw new d(`${t} must be valid JSON: ${r}`,c.USAGE,{code:"stdin_json_invalid",required:`Pipe one valid JSON ${t.toLowerCase()} into stdin.`,why:"Structured mutation input must parse deterministically before any tracker write begins."})}}function ae(e,t){if(!p(e))throw new d(`Mutation ${t+1} must be an object.`,c.USAGE);for(let n of Object.keys(e))if(!T.includes(n))throw y(`mutation ${t+1}`,n,T);return e}function ce(e,t,n){if(e!==void 0){if(!p(e))throw new d(`Mutation ${n+1} options must be an object.`,c.USAGE);for(let r of Object.keys(e))if(!V[t].includes(r))throw y(`mutation ${n+1} ${t} options`,r,V[t]);return e}}function de(e,t){let n=ae(e,t),{op:r,id:o,reason:i}=n;if(r!=="create"&&r!=="update"&&r!=="close"&&r!=="release")throw new d(`Mutation ${t+1} op must be create, update, close, or release.`,c.USAGE);let s=ce(n.options,r,t);if(typeof o!="string"||o.trim().length===0)throw new d(`Mutation ${t+1} requires a non-empty id.`,c.USAGE);let a=o.trim();if(r==="close"){if(typeof i!="string"||i.trim().length===0)throw new d(`Mutation ${t+1} close requires a non-empty reason.`,c.USAGE);return{op:r,id:a,reason:i.trim(),...s===void 0?{}:{options:s}}}if(r==="release")return{op:r,id:a,...s===void 0?{}:{options:s}};if(!p(s))throw new d(`Mutation ${t+1} ${r} requires an options object.`,c.USAGE);return{op:r,id:a,options:s}}function ne(e){let t=R(e,"Mutation batch"),n=Array.isArray(t)?t:p(t)&&Array.isArray(t.mutations)?t.mutations:void 0;if(n===void 0||n.length===0)throw new d("Mutation batch must be a non-empty JSON array or an object with a non-empty mutations array.",c.USAGE);return n.map((r,o)=>de(r,o))}function ue(e,t,n){let r=ie.createHash("sha256").update(e).update("\0").update(t).digest("hex"),o=BigInt(`0x${r.slice(0,16)}`).toString(36).padStart(13,"0").slice(-12);return`${C(n)}${o}`}function H(e,t){if(typeof e!="string"||!e.startsWith("@"))return e;let n=e.slice(1),r=t[n];if(r===void 0)throw new d(`Unknown mutation reference "${e}".`,c.USAGE);return r}function X(e,t){if(typeof e!="string")return e;let n=e.replace(ee,(r,o,i)=>{let s=t[i];if(s===void 0)throw new d(`Unknown mutation reference "@${i}".`,c.USAGE);return`${o}id=${s}`});if(/(^|,)id=@/u.test(n))throw new d(`Malformed mutation reference in dependency "${e}".`,c.USAGE);return n}function pe(e){return typeof e!="string"?[]:e.startsWith("@")?[e.slice(1)]:[...e.matchAll(ee)].map(t=>t[1]).filter(t=>t!==void 0)}function fe(e){let t=new Map;for(let i of e){if(i.op!=="create"||typeof i.ref!="string")continue;let s=p(i.options)?i.options:{},a=Array.isArray(s.dep)?s.dep:s.dep===void 0?[]:[s.dep];t.set(i.ref,[s.parent,s.blockedBy,...a].flatMap(pe))}let n=new Set,r=new Set,o=i=>{if(n.has(i))throw new d(`Mutation reference cycle includes "@${i}".`,c.USAGE);if(!r.has(i)){n.add(i);for(let s of t.get(i))t.has(s)&&o(s);n.delete(i),r.add(i)}};for(let i of t.keys())o(i)}function le(e){let t=R(e,"Mutation document"),n=Array.isArray(t)?{schema_version:1,mutations:t}:t;if(!p(n))throw new d("Mutation document must be a JSON array or object.",c.USAGE);for(let r of Object.keys(n))if(!W.includes(r))throw y("mutation document",r,W);if(n.schema_version!==void 0&&n.schema_version!==1)throw new d("Mutation document schema_version must be 1.",c.USAGE);if(!Array.isArray(n.mutations)||n.mutations.length===0)throw new d("Mutation document requires a non-empty mutations array.",c.USAGE);return n.mutations.map((r,o)=>{if(!p(r))throw new d(`Mutation ${o+1} must be an object.`,c.USAGE);for(let i of Object.keys(r))if(!J.includes(i))throw y(`mutation ${o+1}`,i,J);return{...r}})}function me(e,t){let n=Object.create(null);for(let[r,o]of e.entries())if(o.ref!==void 0){if(o.op!=="create")throw new d(`Mutation ${r+1} ref is only valid for create operations.`,c.USAGE);if(typeof o.ref!="string"||!Y.test(o.ref))throw new d(`Mutation ${r+1} ref must match ${Y.source}.`,c.USAGE);if(n[o.ref]!==void 0)throw new d(`Duplicate mutation ref "${o.ref}".`,c.USAGE);n[o.ref]=typeof o.id=="string"&&o.id.trim().length>0?U(o.id,t.idPrefix):ue(t.transactionId,o.ref,t.idPrefix)}return n}function pt(e,t){let n=le(e),r=me(n,t);fe(n);let o=n.map(a=>{let u={...a},m=typeof u.ref=="string"?u.ref:void 0;if(delete u.ref,m!==void 0?u.id=r[m]:u.id=H(u.id,r),p(u.options)){let f={...u.options};for(let w of["parent","blockedBy"])f[w]!==void 0&&(f[w]=H(f[w],r));Array.isArray(f.dep)?f.dep=f.dep.map(w=>X(w,r)):f.dep!==void 0&&(f.dep=X(f.dep,r)),u.options=f}return u}),i=ne(JSON.stringify(o)),s=i.filter(a=>a.op==="create").map(a=>a.id);if(new Set(s).size!==s.length)throw new d("Duplicate resolved create id in mutation document.",c.USAGE);return{schema_version:1,mutations:i,references:r}}function re(e,t){return t.filter(n=>e[n]!==void 0&&e[n]!==null).map(n=>{let r=String(e[n]);return`${n}=${/[",\n\r\\]/u.test(r)?JSON.stringify(r):r}`}).join(",")}function ye(e,t,n){if(e!==void 0){if(!Array.isArray(e)||!e.every(p))throw new d(`${n} must be an array of objects.`,c.USAGE);return e.map(r=>re(r,t))}}function he(e,t){return e==="tags"&&Array.isArray(t)&&t.every(n=>typeof n=="string")?JSON.stringify(t):typeof t=="number"||typeof t=="boolean"?String(t):t}function Z(e,t,n=!1){let r=[["dependencies","dep",["id","kind","created_at","author","source_kind"]],["comments","comment",["text","created_at","author"]],["notes","note",["text","created_at","author"]],["learnings","learning",["text","created_at","author"]],["files","file",["path","scope","note"]],["tests","test",["command","scope","timeout_seconds"]],["docs","doc",["path","scope","note"]],["reminders","reminder",["at","text","created_at"]],["events","event",["start_at","end_at","title","location"]],["type_options","typeOption",["key","value"]]];for(let[o,i,s]of r){let a=t[o],u=ye(n&&["comments","notes","learnings"].includes(o)&&Array.isArray(a)?a.filter(m=>!p(m)||m.created_at===void 0):a,s,o);u!==void 0&&u.length>0&&(e[i]=u)}}function we(e,t){for(let n of Object.keys(e)){if(t){if(!E.includes(n))throw y("item envelope",n,E);continue}if(!_.has(n)&&g(n,[..._])===void 0&&g(n,E)==="item")throw y("item envelope",n,E)}}function _e(e){let t=Object.hasOwn(e,"item");we(e,t);let n=t?e.item:e;if(!p(n))throw new d("Item document item must be an object.",c.USAGE);return{item:n,...t&&p(e.linked)?{linked:e.linked}:{}}}function Ee(e,t,n,r){if(!(r==="update"?se:te).has(t)){if(!_.has(t)){if(g(t,[..._])!==void 0)throw y("item document",t,[..._]);let s=Array.isArray(e.field)?e.field:[];s.push(re({key:t,value:typeof n=="string"?n:JSON.stringify(n)},["key","value"])),e.field=s;return}["dependencies","comments","notes","learnings","files","tests","docs","reminders","events","type_options"].includes(t)||(e[t.replaceAll(/_([a-z])/gu,(i,s)=>s.toUpperCase())]=he(t,n))}}function ft(e,t,n={}){let r=R(e,"Item document");if(!p(r))throw new d("Item document must be a JSON object.",c.USAGE);let{item:o,linked:i}=_e(r),s={};for(let[a,u]of Object.entries(o))Ee(s,a,u,t);return Z(s,o,t==="update"),i!==void 0&&Z(s,i),{...s,...Object.fromEntries(Object.entries(n).filter(([,a])=>a!==void 0)),stdinJson:void 0}}function lt(e){return ne(JSON.stringify(e))}import ge from"node:crypto";import Ae from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ed638747-7a72-5332-87fc-c82088457b91")}catch{}})();async function l(e,t){try{let r=(await P(t,{},{pmRoot:e})).item;return{id:r.id,closedAt:r.closed_at,updatedAt:r.updated_at,assignee:r.assignee,claimPrincipal:r.claim_principal}}catch(n){if(n instanceof d&&n.exitCode===c.NOT_FOUND)return;throw n}}function I(e,t){let n=e.id.replaceAll(/[^a-zA-Z0-9._-]/gu,"_"),r=ge.createHash("sha256").update(k(e)).digest("hex").slice(0,12);return`${t+1}-${e.op}-${n}-${r}`}function be(e,t){let n=e.id.replaceAll(/[^a-zA-Z0-9._-]/gu,"_");return`${t+1}-${e.op}-${n}`}function h(e,t,n){return`bulk-item-transaction ${e} ${t} ${n}`}async function A(e,t,n,r){let o=await N(Ae.join(e,"history",`${t}.jsonl`),t),i=h(n,r,"apply"),s=h(n,r,"compensate");for(let a=o.length-1;a>=0;a-=1){let u=o[a].message;if(u===i)return!0;if(u===s)return!1}return!1}async function M(e,t){let n=await l(e,t.id);if(n?.updatedAt===void 0)throw new d(`Bulk ${t.op} target ${t.id} does not exist or has no restorable version`,c.NOT_FOUND);return{target_updated_at:n.updatedAt}}async function b(e,t,n,r){let o=r!==null&&typeof r=="object"&&!Array.isArray(r)?r.target_updated_at:void 0;typeof o=="string"&&await l(e.pmRoot,t)!==void 0&&await B(t,o,{force:!0,author:e.author,message:h(e.transactionId,n,"compensate")},{pmRoot:e.pmRoot})}function oe(e,t,n){return{id:n,async inspect(){let r=await l(e.pmRoot,t.id);return r===void 0?{state:"pending"}:{state:"applied",result:{id:r.id,op:"create"}}},async apply(){let o=(await z({...t.options,author:e.author,id:t.id},{pmRoot:e.pmRoot})).item;return{id:String(o.id),op:"create"}},async compensate(){let r=await l(e.pmRoot,t.id);if(r!==void 0){if(e.createCompensation==="delete"){await L(t.id,{force:!0,author:e.author,message:`Compensate interrupted bulk transaction ${e.transactionId}`},{pmRoot:e.pmRoot});return}r.closedAt===void 0&&await S(t.id,`Compensated: interrupted bulk transaction ${e.transactionId}`,{force:!0,author:e.author},{pmRoot:e.pmRoot})}}}}function Se(e,t,n){return{id:n,async inspect(){let r=await l(e.pmRoot,t.id);return r===void 0?{state:"pending"}:await A(e.pmRoot,r.id,e.transactionId,n)?{state:"applied",result:{id:r.id,op:"update"}}:{state:"pending"}},async prepareCompensation(){return M(e.pmRoot,t)},async apply(){let o=(await K(t.id,{...t.options,author:e.author,message:h(e.transactionId,n,"apply")},{pmRoot:e.pmRoot})).item;return{id:String(o.id),op:"update"}},async compensate(r){await b(e,t.id,n,r)}}}function Te(e,t,n){return{id:n,async inspect(){let r=await l(e.pmRoot,t.id);return r===void 0?{state:"pending"}:await A(e.pmRoot,r.id,e.transactionId,n)?{state:"applied",result:{id:r.id,op:"close"}}:r.closedAt===void 0?{state:"pending"}:{state:"applied",result:{id:r.id,op:"close"}}},async prepareCompensation(){return M(e.pmRoot,t)},async apply(){let o=(await S(t.id,t.reason,{...t.options,author:e.author,message:h(e.transactionId,n,"apply")},{pmRoot:e.pmRoot})).item;return{id:String(o.id),op:"close"}},async compensate(r){await b(e,t.id,n,r)}}}function Re(e,t,n){return{id:n,async inspect(){let r=await l(e.pmRoot,t.id);return r===void 0?{state:"pending"}:await A(e.pmRoot,r.id,e.transactionId,n)?{state:"applied",result:{id:r.id,op:"release"}}:r.assignee!==void 0||r.claimPrincipal!==void 0?{state:"pending"}:{state:"applied",result:{id:r.id,op:"release"}}},async prepareCompensation(){return M(e.pmRoot,t)},async apply(){let o=(await F(t.id,{...t.options,author:e.author,message:h(e.transactionId,n,"apply")},{pmRoot:e.pmRoot})).item;return{id:String(o.id),op:"release"}},async compensate(r){await b(e,t.id,n,r)}}}function Ie(e,t,n){let r=I(t,n);switch(t.op){case"create":return oe(e,t,r);case"update":return Se(e,t,r);case"close":return Te(e,t,r);case"release":return Re(e,t,r)}}function Me(e,t){if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError(`Bulk mutation ${t+1} must be an object`);if(!["create","update","close","release"].includes(e.op))throw new TypeError(`Bulk mutation ${t+1} op must be create, update, close, or release`);if(typeof e.id!="string"||e.id.trim().length===0)throw new TypeError(`Bulk mutation ${t+1} requires a non-empty id`);if(e.op==="close"&&(typeof e.reason!="string"||e.reason.trim().length===0))throw new TypeError(`Bulk close mutation ${t+1} requires a non-empty reason`)}async function Oe(e){let t=[...e.mutations];if(t.length===0)throw new TypeError("Bulk item transaction requires at least one mutation");for(let[s,a]of t.entries())Me(a,s);let n=e.createCompensation??"close";if(!["close","delete"].includes(n))throw new TypeError("Bulk item transaction createCompensation must be close or delete");let r={pmRoot:e.pmRoot,author:e.author,transactionId:e.transactionId,createCompensation:n},o=await x({pmRoot:e.pmRoot,transactionId:e.transactionId,author:e.author,steps:t.map((s,a)=>Ie(r,s,a)),...e.lockTtlSeconds===void 0?{}:{lockTtlSeconds:e.lockTtlSeconds},...e.lockWaitMs===void 0?{}:{lockWaitMs:e.lockWaitMs},...e.onTransition===void 0?{}:{onTransition:e.onTransition}}),i={};for(let[s,a]of t.entries()){let u=I(a,s),m=o.results[u];i[be(a,s)]=m}return{transactionId:o.transactionId,status:"committed",recovered:o.recovered,results:i}}function $e(e){let t=[];return e.evidence!==void 0&&Object.keys(e.evidence).length>0&&t.push({op:"update",id:e.id,options:e.evidence}),t.push({op:"close",id:e.id,reason:e.reason,...e.closeOptions===void 0?{}:{options:e.closeOptions}},{op:"release",id:e.id,...e.releaseOptions===void 0?{}:{options:e.releaseOptions}}),t}function St(e){return Oe({pmRoot:e.pmRoot,transactionId:e.transactionId,author:e.author,mutations:$e(e),...e.lockTtlSeconds===void 0?{}:{lockTtlSeconds:e.lockTtlSeconds},...e.lockWaitMs===void 0?{}:{lockWaitMs:e.lockWaitMs},...e.onTransition===void 0?{}:{onTransition:e.onTransition}})}var Tt={buildCreateStep:oe,bulkHistoryMarker:h,compensateByRestore:b,deriveStepId:I,isUpdateMarkerApplied:A,readItemSnapshot:l};export{ut as a,ne as b,pt as c,ft as d,lt as e,Oe as f,$e as g,St as h,Tt as i};
|
|
2
|
+
//# sourceMappingURL=chunk-A3XQ7VPU.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{b as z,c as N,e as M,f as x,g as G,h as p,i as _,j as b,l as H,m as w,o as U,p as k}from"./chunk-ZFBWCKYF.js";import{Z as V,z as j}from"./chunk-MDTH7SAE.js";import{A as v,Af as P,C as R,Cc as I,La as C,Oa as D,Re as y,Ue as L,b as F,oc as O}from"./chunk-HS7OVAUN.js";import{Option as X}from"commander";(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]="e520de00-0810-5356-9290-324cf1d3c133")}catch{}})();async function ue(e,t,r,n,i){let s=C(process.cwd(),n.path),l=await I("command_result",{command:e,args:t,options:r,global:n,pm_root:s,result:i});return l.handled?l.result:i}function de(e,t){for(let[r,n]of Object.entries(t))e.setOptionValueWithSource(r,n,"cli")}function q(e,t){let r=[],n=new Set;for(let i of t.keys){if(!Object.hasOwn(e,i))continue;let s=e[i];if(s!=null){if(typeof s=="string"){r.push(s);continue}if(!Array.isArray(s)||!s.every(l=>typeof l=="string"))return;n.has(s)||(n.add(s),r.push(...s))}}return r.length>0?r.join("; "):void 0}var B=Symbol("pm.resolvedGlobalOptions");function K(e){return typeof e=="object"&&e!==null?e:{}}function u(e,t){return e.find(n=>n.target===t)??{target:t,keys:[t]}}function fe(e,t){e[B]={...t}}function me(e){delete e[B]}function E(e,t){return typeof e[t]=="string"?e[t]:void 0}function pe(e){let t=Q(e),r=e[B];if(r)return{...r,...t.length>0?{command:t}:{}};let n=K(e),i=typeof n.optsWithGlobals=="function"?n.optsWithGlobals():typeof n.opts=="function"?n.opts():{};return{json:i.json===!0?!0:void 0,quiet:!!i.quiet,noChangedFields:i.changedFields===!1,...i.fullChangedFields===!0?{fullChangedFields:!0}:{},idOnly:i.idOnly===!0,...i.lean===!0?{lean:!0}:{},...i.tokenAccounting===!0?{tokenAccounting:!0}:{},outputInclude:E(i,"outputInclude"),outputLimit:E(i,"outputLimit"),outputBudget:E(i,"outputBudget"),...i.outputFormat==="toon"||i.outputFormat==="json"?{outputFormat:i.outputFormat}:{},path:typeof i.pmPath=="string"?i.pmPath:typeof i.path=="string"?i.path:void 0,noExtensions:i.extensions===!1,noPager:!!i.noPager,profile:!!i.profile,...t.length>0?{command:t}:{},...typeof i.author=="string"?{author:i.author}:{}}}function Q(e){let t=[],r=e;for(;r?.parent;)t.unshift(r.name()),r=r.parent;return t.join(" ")}async function ge(e){if(e.json===!0)return e;let t=C(process.cwd(),e.path);if(!await F(D(t)))return e;let r=await P(t);return{...e,defaultOutputFormat:r.output.default_format}}function Z(e,t){let r=t??[];return r.push(e),r}function d(e,t,r){if(typeof r!="string")return;let n=r.trim();n.length!==0&&e.push(t,n)}function f(e,t,r){r===!0&&e.push(t)}function h(e,t,r){if(Array.isArray(r))for(let n of r){if(typeof n!="string")continue;let i=n.trim();i.length!==0&&e.push(t,i)}}function a(e,t){return e[t]===!0?!0:void 0}function m(e,t){return e[t]===!1?!0:void 0}function ye(e,t){return typeof e[t]=="string"?e[t]:void 0}function ee(e,t,r,n=!1,i=void 0){let s=new X(t,r).hideHelp();n&&s.argParser(i??Z),e.addOption(s)}function he(e,t,r){for(let[n,i]of t)ee(e,n,i,r)}function J(e,t){return t.some(r=>e[r]===!0)?!0:void 0}function W(e,t){let r=_(e,t);return typeof r=="string"||typeof r=="number"&&Number.isFinite(r)?r:void 0}function T(e,t){for(let[r,n]of Object.entries(t))r==="__proto__"||r==="constructor"||r==="prototype"||Object.hasOwn(e,r)||(e[r]=n)}function Ae(e,t){let r=["test",e,"--run","--json","--progress"];return h(r,"--add",t.add),h(r,"--add-json",t.addJson),h(r,"--remove",t.remove),d(r,"--match",t.match),d(r,"--only-index",t.onlyIndex),f(r,"--only-last",t.onlyLast),h(r,"--measure",t.measure),d(r,"--metric-below",t.metricBelow),d(r,"--metric-diff",t.metricDiff),$(r,t),d(r,"--author",t.author),d(r,"--message",t.message),f(r,"--force",t.force),r}function $(e,t){d(e,"--timeout",t.timeout),h(e,"--env-set",t.envSet),h(e,"--env-clear",t.envClear),f(e,"--shared-host-safe",t.sharedHostSafe),d(e,"--pm-context",t.pmContext),f(e,"--override-linked-pm-context",t.overrideLinkedPmContext),f(e,"--fail-on-context-mismatch",t.failOnContextMismatch),f(e,"--fail-on-skipped",t.failOnSkipped),f(e,"--fail-on-empty-test-run",t.failOnEmptyTestRun),f(e,"--require-assertions-for-pm",t.requireAssertionsForPm),f(e,"--check-context",t.checkContext),f(e,"--auto-pm-context",t.autoPmContext)}function ve(e){let t=["test-all","--json","--progress"];return d(t,"--status",e.status),d(t,"--limit",e.limit),d(t,"--offset",e.offset),$(t,e),t}function te(e){return e.join(",")}function Re(e,t={}){let r=l=>p(e,u(H,l)),n=l=>b(e,u(w,l)),i=r("type");if(t.requireType!==!1&&i===void 0)throw new R("Missing required option --type <value>. Why required: create resolves runtime schema fields/workflow from item type. Retry: add --type <built-in or configured custom type> (example: --type Task).",v.USAGE);let s={title:r("title"),description:r("description"),type:i,template:r("template"),createMode:r("createMode"),schedulePreset:r("schedulePreset"),status:r("status"),closeReason:r("closeReason"),completedAt:r("completedAt"),priority:r("priority"),tags:r("tags"),addTags:n("addTags"),body:r("body"),deadline:r("deadline"),estimatedMinutes:r("estimatedMinutes"),acceptanceCriteria:q(e,u(w,"acceptanceCriteria")),definitionOfReady:r("definitionOfReady"),order:r("order"),rank:r("rank"),goal:r("goal"),objective:r("objective"),value:r("value"),impact:r("impact"),outcome:r("outcome"),whyNow:r("whyNow"),author:r("author"),message:r("message"),assignee:r("assignee"),parent:r("parent"),allowMissingParent:J(e,["allowMissingParent","allow_missing_parent"])===!0,allowDuplicate:a(e,"allowDuplicate")===!0,reviewer:r("reviewer"),risk:r("risk"),confidence:r("confidence"),sprint:r("sprint"),release:r("release"),blockedBy:r("blockedBy"),blockedReason:r("blockedReason"),unblockNote:r("unblockNote"),reporter:r("reporter"),severity:r("severity"),environment:r("environment"),reproSteps:r("reproSteps"),resolution:r("resolution"),expectedResult:r("expectedResult"),actualResult:r("actualResult"),affectedVersion:r("affectedVersion"),fixedVersion:r("fixedVersion"),component:r("component"),regression:e.regression===!0?"true":r("regression"),customerImpact:r("customerImpact"),dep:n("dep"),comment:n("comment"),note:n("note"),learning:n("learning"),file:n("file"),test:n("test"),doc:n("doc"),reminder:n("reminder"),event:n("event"),typeOption:n("typeOption"),field:n("field"),unset:n("unset"),clearDeps:a(e,"clearDeps"),clearComments:a(e,"clearComments"),clearNotes:a(e,"clearNotes"),clearLearnings:a(e,"clearLearnings"),clearFiles:a(e,"clearFiles"),clearTests:a(e,"clearTests"),clearDocs:a(e,"clearDocs"),clearReminders:a(e,"clearReminders"),clearEvents:a(e,"clearEvents"),clearTypeOptions:a(e,"clearTypeOptions")};return T(s,e),s}function Ce(e){let t=i=>p(e,u(U,i)),r=i=>b(e,u(k,i)),n={title:t("title"),description:t("description"),body:t("body"),status:t("status"),closeReason:t("closeReason"),priority:t("priority"),type:t("type"),tags:t("tags"),addTags:r("addTags"),removeTags:r("removeTags"),deadline:t("deadline"),estimatedMinutes:t("estimatedMinutes"),acceptanceCriteria:q(e,u(k,"acceptanceCriteria")),addAc:r("addAc"),removeAc:r("removeAc"),definitionOfReady:t("definitionOfReady"),order:t("order"),rank:t("rank"),goal:t("goal"),objective:t("objective"),value:t("value"),impact:t("impact"),outcome:t("outcome"),whyNow:t("whyNow"),author:t("author"),message:t("message"),force:!!e.force,ownershipMetadataBypass:e.ownershipMetadataBypass===!0?!0:void 0,ownershipDependencyBypass:e.ownershipDependencyBypass===!0?!0:void 0,assignee:t("assignee"),parent:t("parent"),reviewer:t("reviewer"),risk:t("risk"),confidence:t("confidence"),sprint:t("sprint"),release:t("release"),blockedBy:t("blockedBy"),blockedReason:t("blockedReason"),unblockNote:t("unblockNote"),reporter:t("reporter"),severity:t("severity"),environment:t("environment"),reproSteps:t("reproSteps"),resolution:t("resolution"),expectedResult:t("expectedResult"),actualResult:t("actualResult"),affectedVersion:t("affectedVersion"),fixedVersion:t("fixedVersion"),component:t("component"),regression:e.regression===!0?"true":t("regression"),customerImpact:t("customerImpact"),dep:r("dep"),depRemove:r("depRemove"),replaceDeps:a(e,"replaceDeps"),replaceTests:a(e,"replaceTests"),replaceFiles:a(e,"replaceFiles"),replaceDocs:a(e,"replaceDocs"),comment:r("comment"),note:r("note"),learning:r("learning"),file:r("file"),test:r("test"),doc:r("doc"),reminder:r("reminder"),event:r("event"),typeOption:r("typeOption"),field:r("field"),unset:r("unset"),clearDeps:a(e,"clearDeps"),clearComments:a(e,"clearComments"),clearNotes:a(e,"clearNotes"),clearLearnings:a(e,"clearLearnings"),clearFiles:a(e,"clearFiles"),clearTests:a(e,"clearTests"),clearDocs:a(e,"clearDocs"),clearReminders:a(e,"clearReminders"),clearEvents:a(e,"clearEvents"),clearTypeOptions:a(e,"clearTypeOptions")};return T(n,e),n}var re=new Set(["filterStatus","filterType","filterTag","filterPriority","filterDeadlineBefore","filterDeadlineAfter","filterUpdatedAfter","filterUpdatedBefore","filterCreatedAfter","filterCreatedBefore","filterAssignee","filterAssigneeFilter","filterAssignee_filter","filterParent","filterSprint","filterRelease","filterAcMissing","filterEstimatesMissing","filterEstimateMissing","filterResolutionMissing","filterMetadataMissing","filterReviewerMissing","filterRiskMissing","filterConfidenceMissing","filterSprintMissing","filterReleaseMissing","filterHasNotes","filterNoNotes","filterHasLearnings","filterNoLearnings","filterHasFiles","filterNoFiles","filterHasDocs","filterNoDocs","filterHasTests","filterNoTests","filterHasComments","filterNoComments","filterHasDeps","filterNoDeps","filterHasBody","filterEmptyBody","filterHasLinkedCommand","filterNoLinkedCommand","ids","limit","offset","dryRun","rollback","checkpoint"]);function Te(e){let t={};for(let[r,n]of Object.entries(e))re.has(r)||(t[r]=n);return t}function o(e,t){let r=u(z,t),n=p(e,r);if(n!==void 0)return n;for(let i of r.keys){let s=e[i];if(Array.isArray(s)){let l=s.filter(c=>typeof c=="string");if(l.length>0)return l.join(",")}if(t==="ids"&&typeof s=="string")return s;if(typeof s=="number"&&Number.isFinite(s))return String(s)}}function Y(e){let t=a(e,"filterFilesMissing"),r=a(e,"filterDocsMissing");return{filterReviewerMissing:a(e,"filterReviewerMissing"),filterRiskMissing:a(e,"filterRiskMissing"),filterConfidenceMissing:a(e,"filterConfidenceMissing"),filterSprintMissing:a(e,"filterSprintMissing"),filterReleaseMissing:a(e,"filterReleaseMissing"),hasNotes:a(e,"hasNotes"),hasLearnings:a(e,"hasLearnings"),hasFiles:a(e,"hasFiles"),hasDocs:a(e,"hasDocs"),hasTests:a(e,"hasTests"),hasComments:a(e,"hasComments"),hasDeps:a(e,"hasDeps"),hasBody:a(e,"hasBody"),hasLinkedCommand:a(e,"hasLinkedCommand"),noNotes:m(e,"notes"),noLearnings:m(e,"learnings"),noFiles:m(e,"files")??t,filterFilesMissing:t,noDocs:m(e,"docs")??r,filterDocsMissing:r,noTests:m(e,"tests"),noComments:m(e,"comments"),noDeps:m(e,"deps"),emptyBody:a(e,"emptyBody"),noLinkedCommand:m(e,"linkedCommand")}}function Se(e){let t={status:o(e,"status"),type:o(e,"type"),tag:o(e,"tag"),priority:o(e,"priority"),deadlineBefore:o(e,"deadlineBefore"),deadlineAfter:o(e,"deadlineAfter"),updatedAfter:o(e,"updatedAfter"),updatedBefore:o(e,"updatedBefore"),createdAfter:o(e,"createdAfter"),createdBefore:o(e,"createdBefore"),today:a(e,"today"),recent:a(e,"recent"),ids:o(e,"ids"),assignee:o(e,"assignee"),assigneeFilter:o(e,"assigneeFilter"),parent:o(e,"parent"),sprint:o(e,"sprint"),release:o(e,"release"),limit:o(e,"limit"),offset:o(e,"offset"),noTruncate:m(e,"truncate"),includeBody:a(e,"includeBody"),strictRead:a(e,"strictRead"),compact:a(e,"compact"),brief:a(e,"brief"),full:a(e,"full"),fields:o(e,"fields"),sort:o(e,"sort"),order:o(e,"order"),tree:a(e,"tree"),treeDepth:o(e,"treeDepth"),filterAcMissing:a(e,"filterAcMissing"),filterEstimatesMissing:J(e,["filterEstimatesMissing","filterEstimateMissing"]),filterResolutionMissing:a(e,"filterResolutionMissing"),filterMetadataMissing:a(e,"filterMetadataMissing"),...Y(e)};return T(t,e),t}function Oe(e){return{groupBy:typeof e.groupBy=="string"?e.groupBy:void 0,count:e.count===!0?!0:void 0,completion:e.completion===!0?!0:void 0,sum:typeof e.sum=="string"?e.sum:void 0,avg:typeof e.avg=="string"?e.avg:void 0,includeUnparented:e.includeUnparented===!0||e.include_unparented===!0,status:typeof e.status=="string"?e.status:void 0,type:o(e,"type"),tag:o(e,"tag"),priority:o(e,"priority"),deadlineBefore:o(e,"deadlineBefore"),deadlineAfter:o(e,"deadlineAfter"),assignee:o(e,"assignee"),assigneeFilter:o(e,"assigneeFilter"),parent:o(e,"parent"),sprint:o(e,"sprint"),release:o(e,"release")}}function Ne(e,t,r){if(O(t),r.quiet)return;let n=Array.isArray(t.warnings)?t.warnings:[],i={type:"meta",command:e,count:t.count,now:t.now,filters:t.filters};if(n.length>0&&(i.warnings=n),!!y(`${JSON.stringify(i)}
|
|
2
|
+
`)){for(let s of t.items)if(!y(`${JSON.stringify({type:"item",command:e,item:s})}
|
|
3
|
+
`))return;y(`${JSON.stringify({type:"end",command:e,count:t.count})}
|
|
4
|
+
`)}}function Me(e,t,r){if(O(e),r.quiet)return;let n={type:"meta",command:"activity",count:e.count,filters:{id:t.id??null,op:t.op??null,author:t.author??null,from:t.from??null,to:t.to??null,limit:t.limit??null}};if(!y(`${JSON.stringify(n)}
|
|
5
|
+
`))return;let i=e.compact&&e.compact_activity?e.compact_activity:e.activity??[];for(let s of i)if(!y(`${JSON.stringify({type:"entry",command:"activity",entry:s})}
|
|
6
|
+
`))return;y(`${JSON.stringify({type:"end",command:"activity",count:e.count})}
|
|
7
|
+
`)}function xe(e){let t=S=>p(e,u(N,S)),r=S=>{let A=_(e,u(N,S));if(typeof A=="string"||typeof A=="number"&&Number.isFinite(A))return A},n=t("fields"),i=e.compact===!0,s=e.full===!0,l=!i&&!s&&n===void 0,g={mode:e.semantic===!0?"semantic":e.hybrid===!0?"hybrid":t("mode"),matchMode:t("matchMode"),minScore:r("minScore"),count:a(e,"count"),semanticWeight:r("semanticWeight"),includeLinked:a(e,"includeLinked"),titleExact:a(e,"titleExact"),phraseExact:a(e,"phraseExact"),highlight:a(e,"highlight"),status:t("status"),type:t("type"),tag:t("tag"),priority:t("priority"),deadlineBefore:t("deadlineBefore"),deadlineAfter:t("deadlineAfter"),updatedAfter:t("updatedAfter"),updatedBefore:t("updatedBefore"),createdAfter:t("createdAfter"),createdBefore:t("createdBefore"),assignee:t("assignee"),sprint:t("sprint"),release:t("release"),parent:t("parent"),limit:t("limit"),fields:n,compact:i||l?!0:void 0,full:a(e,"full"),...Y(e)};return T(g,e),g}function _e(e){let t=e.map(r=>r.trim()).filter(r=>r.length>0).join(" ");if(t.length===0)throw new R("Search query must not be empty",v.USAGE);return t}function be(e){let t=r=>p(e,u(G,r));return{id:t("id"),op:t("op"),author:t("author"),from:t("from"),to:t("to"),limit:t("limit"),compact:e.full===!0||e.provenance===!0?!1:e.compact!==!1,unbounded:a(e,"unbounded"),provenance:a(e,"provenance"),provenanceSummary:a(e,"provenanceSummary"),harness:Array.isArray(e.harness)?e.harness:void 0,agentInstance:Array.isArray(e.agentInstance)?e.agentInstance:void 0,provenanceFilter:Array.isArray(e.provenanceFilter)?e.provenanceFilter:void 0}}var ne=new Set(["","rows","ndjson","jsonl","true","1","yes","on"]),ie=new Set(["false","off","none","0"]);function we(e){if(e===!0)return!0;if(e===!1||e===void 0||e===null)return!1;if(typeof e=="string"){let t=e.trim().toLowerCase();if(ne.has(t))return!0;if(ie.has(t))return!1}throw new R("Activity --stream accepts rows|ndjson|jsonl (or no value)",v.USAGE)}function ke(e){let t=l=>p(e,u(M,l)),r=l=>W(e,u(M,l)),n=e.section,i=Array.isArray(n)?n.filter(l=>typeof l=="string"&&l.trim().length>0):typeof n=="string"&&n.trim().length>0?[n]:void 0,s={date:t("date"),from:t("from"),to:t("to"),past:e.past===!0?!0:void 0,type:t("type"),tag:t("tag"),priority:t("priority"),assignee:t("assignee"),assigneeFilter:t("assigneeFilter"),sprint:t("sprint"),release:t("release"),parent:t("parent"),limit:t("limit"),format:t("format"),depth:t("depth"),fields:t("fields"),section:i&&i.length>0?i:void 0,activityLimit:t("activityLimit"),staleThreshold:t("staleThreshold"),tokenBudget:r("tokenBudget"),noExtensionHealth:e.extensionHealth===!1?!0:void 0,noTags:e.tags===!1?!0:void 0};for(let[l,c]of Object.entries(e))Object.hasOwn(s,l)||(s[l]=c);return s}function Ee(e){let t=i=>p(e,u(x,i)),r=i=>W(e,u(x,i)),n={type:t("type"),tag:t("tag"),priority:r("priority"),assignee:t("assignee"),assigneeFilter:t("assigneeFilter"),sprint:t("sprint"),release:t("release"),parent:t("parent"),limit:t("limit"),blockedLimit:t("blockedLimit"),readyOnly:e.readyOnly===!0||e.ready_only===!0?!0:void 0,format:t("format"),tokenBudget:r("tokenBudget")};for(let[i,s]of Object.entries(e))Object.hasOwn(n,i)||(n[i]=s);return n}function ae(e){if(!e||typeof e!="object")return[];let t=e,r=new Set,n=c=>{if(typeof c!="string")return;let g=c.trim();g.length!==0&&r.add(g)};n(t.id);let i=t.item;i&&typeof i=="object"&&n(i.id);let s=t.ids;if(Array.isArray(s))for(let c of s)n(c);let l=t.items;if(Array.isArray(l))for(let c of l)!c||typeof c!="object"||n(c.id);return[...r].sort((c,g)=>c.localeCompare(g))}async function Be(e,t){let r=C(process.cwd(),e.path),n=await V(r,ae(t),{background:!j()});e.profile&&n.warnings.length>0&&L(`profile:search_refresh_warnings=${te(n.warnings)}`)}export{ue as a,de as b,fe as c,me as d,pe as e,Q as f,ge as g,Z as h,ye as i,ee as j,he as k,Ae as l,ve as m,te as n,Re as o,Ce as p,Te as q,Se as r,Oe as s,Ne as t,Me as u,xe as v,_e as w,be as x,we as y,ke as z,Ee as A,Be as B};
|
|
8
|
+
//# sourceMappingURL=chunk-AJE3AHPD.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as m,d as p,g as w}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{c as m,d as p,g as w}from"./chunk-5PBP2ZP3.js";import{i as f}from"./chunk-R6LSRGPS.js";import{A as i,C as s}from"./chunk-HS7OVAUN.js";import{readFile as y}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]="500e83b0-28a8-58b1-a625-2d81eb245eb4")}catch{}})();async function c(e,t){let d=e.add!==void 0,a=e.stdin===!0,o=typeof e.file=="string",l=Number(d)+Number(a)+Number(o);if(l===0)return;if(l>1)throw new s("Specify comment text using only one input source: --add, --stdin, or --file",i.USAGE);if(d)return{value:await t.resolveValue(e.add,"--add")??"",emptyFlag:"--add"};if(a)return{value:await t.resolveValue("-","--stdin")??"",emptyFlag:"--stdin"};let n=e.file.trim();if(!n)throw new s("--file path cannot be empty",i.USAGE);try{return{value:await y(n,"utf8"),emptyFlag:"--file"}}catch(r){if(p(r)&&r.code==="ENOENT")throw new s(`--file path not found: ${n}`,i.USAGE);let u=r instanceof Error?r.message:String(r);throw new s(`Failed to read --file path "${n}": ${u}`,i.USAGE)}}async function h(e,t){let d=e.edit,a=e.delete,o=d!==void 0,l=a!==void 0;if(o&&l)throw new s("Specify only one of --edit or --delete",i.USAGE);if(d!==void 0&&(!Number.isInteger(d)||d<1))throw new s("--edit must be a positive integer",i.USAGE);if(a!==void 0&&(!Number.isInteger(a)||a<1))throw new s("--delete must be a positive integer",i.USAGE);if(l){if(await c(e,t)!==void 0)throw new s("--delete does not take comment text",i.USAGE);return{mode:"delete",index:a}}if(o){let u=await c(e,t);if(u===void 0)throw new s("--edit requires replacement text via positional [text], --add, --stdin, or --file",i.USAGE);return{mode:"edit",index:d,value:u.value,emptyFlag:u.emptyFlag}}let n=await c(e,t);return n===void 0?{mode:"list"}:{mode:n.emptyFlag==="--add"?"add":n.emptyFlag==="--stdin"?"stdin":"file",value:n.value,emptyFlag:n.emptyFlag}}async function x(e,t,d){let a=f(),o=await h(t,a),l=o.mode==="add"||o.mode==="edit",n=o.value??"";return w(e,t,d,{input:{...o,rawValue:t.add??n,value:l?m(n,{stripPlainTextPrefix:!0}):n},collectionKey:"comments",op:"comment_add",editOp:"comment_edit",deleteOp:"comment_delete",parseText:r=>r,createEntry:r=>r,bypassOwnershipConflict:!!(o.mode==="add"&&t.ownershipAppendBypass),conflictGuidance:{required:"For an approved append-only handoff on another owner's item, use the package-provided ownership bypass before considering --force.",examples:['pm comments pm-a1b2 --add "review note" --author "reviewer" --force'],nextSteps:["Use an installed package's narrow append-only ownership bypass when available.","Use --force only when an ownership override is explicitly approved."]}})}export{x as a};
|
|
2
|
+
//# sourceMappingURL=chunk-AOBDLU4T.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{F as it,G as lt,H as ot,I as ct,J as Y,K as F,L as ut,M as ft,N as pt,O as yt,a as qe,b as He,c as Xe,d as Ze,e as Je,f as Qe,g as xe,h as K,i as et,j as R,k as tt,l as at,m as nt,n as rt,o as st,p as dt}from"./chunk-
|
|
1
|
+
import{F as it,G as lt,H as ot,I as ct,J as Y,K as F,L as ut,M as ft,N as pt,O as yt,a as qe,b as He,c as Xe,d as Ze,e as Je,f as Qe,g as xe,h as K,i as et,j as R,k as tt,l as at,m as nt,n as rt,o as st,p as dt}from"./chunk-BP6EMEDP.js";import{d as z,e as W}from"./chunk-PECV7L5T.js";import{c as Ye}from"./chunk-TPKDJ5WL.js";import{j as Se,l as Ee,m as Te,n as Le,p as Pe}from"./chunk-MDTH7SAE.js";import{b as Ge,c as Be,d as Ve}from"./chunk-RSIC5OPE.js";import{a as ke,b as Ie,c as Ue,d as De,e as Fe,f as G,g as Oe,h as B,i as Me,j as Ce,k as Ne}from"./chunk-R6LSRGPS.js";import{k as $e}from"./chunk-UVVXHGYS.js";import{A as o,Aa as _,Af as je,C as c,Cb as U,Da as ce,Ea as I,Ec as ge,Fa as ue,Fc as he,Ga as fe,Gc as we,Ha as $,La as pe,Lc as _e,Lf as b,Mf as V,Nc as ve,Oa as ye,Of as ze,Pc as Ae,Rf as j,Sf as We,V as N,Vc as be,ad as g,b as de,cd as Ke,ga as L,ia as ie,ja as le,lc as me,uf as D,ya as P,za as oe,zd as Re}from"./chunk-HS7OVAUN.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]="ada579bd-134d-5201-9221-6ce39d282a37")}catch{}})();var Q=[...it,{canonical:"close-reason",aliases:["close_reason","close-reason"],optionKey:"closeReason",metadataKey:"close_reason"},...lt,...ot],zt=(()=>{let e=new Map;for(let t of Q)for(let r of t.aliases)e.set(r,{optionKey:t.optionKey,metadataKey:t.metadataKey});return e})(),O=new Map(Q.map(e=>[e.optionKey,e.canonical])),Wt=Q.map(e=>e.canonical).sort((e,t)=>e.localeCompare(t)).join(", "),Yt=new Set(["close_reason","assignee","parent","blocked_by","blocked_reason","unblock_note","dependencies","comments","notes","learnings","files","tests","docs","reminders","events"]),qt=Je({depDisableFlagKey:"replaceDeps",fileDisableFlagKey:"replaceFiles",testDisableFlagKey:"replaceTests",docDisableFlagKey:"replaceDocs"});function At(e){let t={...e,unset:e.unset?[...e.unset]:void 0},r=a=>{let n=t.unset?[...t.unset]:[];n.includes(a)||n.push(a),t.unset=n},s=new Set([...O.keys(),"rank"]);for(let a of s){let n=t[a];if(typeof n!="string"||!Qe(n))continue;let i=a==="rank"?"order":O.get(a)??a;r(i),t[a]=void 0}return et(t,qt)}function x(e,t,r=[]){return ct({raw:e,supportedFields:Wt,resolveDefinition:s=>{let a=r.find(i=>{let l=i.toLowerCase();return l===s||l.replaceAll("_","-")===s||l.replaceAll("-","_")===s});return zt.get(s)??Y(s,"update",t)??(a?{optionKey:"field",metadataKey:a}:void 0)}})}var mt=new Map([["--comment",e=>`pm comments ${e} --add "<text>" --force`],["--file",e=>`pm files ${e} --add "path=<path>,scope=<scope>,note=<note>" --force`],["--doc",e=>`pm docs ${e} --add "path=<path>,scope=<scope>,note=<note>" --force`]]);function X(e){let t=e.disallowedFlags.flatMap(s=>{let a=mt.get(s);return a?[a(e.id)]:[]}),r=e.disallowedFlags.flatMap(s=>{let a=mt.get(s);return a?[`Replace ${s} with: ${a(e.id)}`]:[]});return new c(e.message,o.USAGE,{code:e.code,required:e.required,why:e.why,...t.length>0?{examples:t}:{},nextSteps:[`Re-run without: ${e.disallowedFlags.join(", ")}`,...r]})}function bt(e,t,r){let s=t.ownershipMetadataBypass===!0,a=t.ownershipDependencyBypass===!0;if(!s&&!a)return;if(s&&a)throw new c("Choose only one package-provided ownership bypass mode.",o.USAGE);let n=(d,u,p)=>{d&&p.push(u)};if(a){let d=[];if(n(t.title!==void 0,"--title",d),n(t.description!==void 0,"--description",d),n(t.body!==void 0,"--body",d),n(t.status!==void 0,"--status",d),n(t.closeReason!==void 0,"--close-reason",d),n(t.priority!==void 0,"--priority",d),n(t.type!==void 0,"--type",d),n(t.tags!==void 0,"--tags",d),n(Array.isArray(t.addTags)&&t.addTags.length>0,"--add-tags",d),n(Array.isArray(t.removeTags)&&t.removeTags.length>0,"--remove-tags",d),n(t.deadline!==void 0,"--deadline",d),n(t.estimatedMinutes!==void 0,"--estimate",d),n(t.acceptanceCriteria!==void 0,"--acceptance-criteria",d),n(Array.isArray(t.addAc)&&t.addAc.length>0,"--add-ac",d),n(Array.isArray(t.removeAc)&&t.removeAc.length>0,"--remove-ac",d),n(t.definitionOfReady!==void 0,"--definition-of-ready",d),n(t.order!==void 0||t.rank!==void 0,"--order/--rank",d),n(t.goal!==void 0,"--goal",d),n(t.objective!==void 0,"--objective",d),n(t.value!==void 0,"--value",d),n(t.impact!==void 0,"--impact",d),n(t.outcome!==void 0,"--outcome",d),n(t.whyNow!==void 0,"--why-now",d),n(t.assignee!==void 0,"--assignee",d),n(t.parent!==void 0,"--parent",d),n(t.reviewer!==void 0,"--reviewer",d),n(t.risk!==void 0,"--risk",d),n(t.confidence!==void 0,"--confidence",d),n(t.sprint!==void 0,"--sprint",d),n(t.release!==void 0,"--release",d),n(t.blockedBy!==void 0,"--blocked-by",d),n(t.blockedReason!==void 0,"--blocked-reason",d),n(t.unblockNote!==void 0,"--unblock-note",d),n(t.reporter!==void 0,"--reporter",d),n(t.severity!==void 0,"--severity",d),n(t.environment!==void 0,"--environment",d),n(t.reproSteps!==void 0,"--repro-steps",d),n(t.resolution!==void 0,"--resolution",d),n(t.expectedResult!==void 0,"--expected-result",d),n(t.actualResult!==void 0,"--actual-result",d),n(t.affectedVersion!==void 0,"--affected-version",d),n(t.fixedVersion!==void 0,"--fixed-version",d),n(t.component!==void 0,"--component",d),n(t.regression!==void 0,"--regression",d),n(t.customerImpact!==void 0,"--customer-impact",d),n(t.depRemove!==void 0,"--dep-remove",d),n(t.replaceDeps===!0,"--replace-deps",d),n(t.replaceTests===!0,"--replace-tests",d),n(t.replaceFiles===!0,"--replace-files",d),n(t.replaceDocs===!0,"--replace-docs",d),n(t.comment!==void 0,"--comment",d),n(t.note!==void 0,"--note",d),n(t.learning!==void 0,"--learning",d),n(t.file!==void 0,"--file",d),n(t.test!==void 0,"--test",d),n(t.doc!==void 0,"--doc",d),n(t.reminder!==void 0,"--reminder",d),n(t.event!==void 0,"--event",d),n(t.typeOption!==void 0,"--type-option",d),n(t.clearDeps===!0,"--clear-deps",d),n(t.clearComments===!0,"--clear-comments",d),n(t.clearNotes===!0,"--clear-notes",d),n(t.clearLearnings===!0,"--clear-learnings",d),n(t.clearFiles===!0,"--clear-files",d),n(t.clearTests===!0,"--clear-tests",d),n(t.clearDocs===!0,"--clear-docs",d),n(t.clearReminders===!0,"--clear-reminders",d),n(t.clearEvents===!0,"--clear-events",d),n(t.clearTypeOptions===!0,"--clear-type-options",d),n(t.force===!0,"--force",d),n(r.size>0,"--unset",d),t.dep===void 0||t.dep.length===0)throw new c("The dependency ownership bypass requires at least one --dep value",o.USAGE);if(d.length>0)throw X({id:e,code:"ownership_dependency_bypass_restricted_options",message:`The dependency ownership bypass supports append-only dependency additions via --dep. Remove restricted options: ${d.join(", ")}`,required:"Pass only --dep additions (plus --message/--author) with the dependency ownership bypass.",why:"the dependency ownership bypass is a narrow non-owner override scoped to append-only dependency additions; every other mutation keeps its normal ownership rules.",disallowedFlags:d});return}let i=[];n(t.status!==void 0,"--status",i),n(t.closeReason!==void 0,"--close-reason",i),n(t.assignee!==void 0,"--assignee",i),n(t.parent!==void 0,"--parent",i),n(t.blockedBy!==void 0,"--blocked-by",i),n(t.blockedReason!==void 0,"--blocked-reason",i),n(t.unblockNote!==void 0,"--unblock-note",i),n(t.dep!==void 0,"--dep",i),n(t.depRemove!==void 0,"--dep-remove",i),n(t.replaceDeps===!0,"--replace-deps",i),n(t.replaceTests===!0,"--replace-tests",i),n(t.replaceFiles===!0,"--replace-files",i),n(t.replaceDocs===!0,"--replace-docs",i),n(t.note!==void 0,"--note",i),n(t.learning!==void 0,"--learning",i),n(t.test!==void 0,"--test",i),n(t.reminder!==void 0,"--reminder",i),n(t.event!==void 0,"--event",i),n(t.clearDeps===!0,"--clear-deps",i),n(t.clearComments===!0,"--clear-comments",i),n(t.clearNotes===!0,"--clear-notes",i),n(t.clearLearnings===!0,"--clear-learnings",i),n(t.clearFiles===!0,"--clear-files",i),n(t.clearTests===!0,"--clear-tests",i),n(t.clearDocs===!0,"--clear-docs",i),n(t.clearReminders===!0,"--clear-reminders",i),n(t.clearEvents===!0,"--clear-events",i);let l=[...r].filter(d=>Yt.has(d)).sort((d,u)=>d.localeCompare(u)).map(d=>`--unset ${d.replaceAll("_","-")}`);if(i.push(...l),i.length>0)throw X({id:e,code:"ownership_metadata_bypass_restricted_options",message:`The metadata ownership bypass only supports non-lifecycle metadata fields and evidence appends. Remove restricted options: ${i.join(", ")}`,required:"Limit the metadata ownership bypass to non-lifecycle metadata fields plus append-only --comment/--file/--doc evidence; route restricted appends and lifecycle changes through their dedicated commands.",why:"the metadata ownership bypass is a non-owner override scoped to metadata maintenance and append-only evidence; lifecycle, ownership, dependency mutations, restricted append fields, and clear/replace operations keep their normal ownership rules.",disallowedFlags:i})}function Ht(e,t){let r=g(e,t);if(!r){let s=t.definitions.map(a=>a.id);throw new c(`Invalid --status value "${e}". Allowed: ${s.join(", ")}`,o.USAGE)}return r}function Kt(e){if(e.enforcement==="off"||e.typeWorkflows.length===0)return;let t=Be({typeName:e.typeName,fromStatus:e.fromStatus,toStatus:e.toStatus,typeWorkflows:e.typeWorkflows,statusRegistry:e.statusRegistry});if(!t.hasRule||t.allowed)return;let r=g(e.fromStatus,e.statusRegistry)??e.fromStatus,s=g(e.toStatus,e.statusRegistry)??e.toStatus,a=`Disallowed transition for type "${e.typeName}": ${r} -> ${s}. Allowed transitions: ${Ve(t.allowedTransitions)}.`;if(e.enforcement==="strict")throw new c(a,o.USAGE);return`workflow_transition_not_allowed: ${a}`}function Xt(e,t){if(!e||e.trim()===""||e.trim().toLowerCase()==="now")return t;let r=Date.parse(e);if(!Number.isFinite(r))throw new c(`Invalid dependency created_at timestamp "${e}"`,o.USAGE);return new Date(r).toISOString()}function M(e){if(e===void 0)return;let t=e.trim();return t.length>0?t:void 0}var Zt=["id","kind","type","author","created_at","source_kind"],Jt=["id","kind","type","source_kind"];function Qt(e){return e.startsWith("```")||e.includes(`
|
|
2
2
|
`)||/^(?:[-*+]\s+)?(?:id|kind|type|author|created_at|source_kind)\s*[:=]/i.test(e)?!0:Oe(e)}var xt={"blocked-by":"blocked_by",depends_on:"blocked_by","depends-on":"blocked_by"};function Rt(e){if(typeof e!="string")return e;let t=e.trim();return xt[t.toLowerCase()]??t}function St(e,t,r,s){return e?(K(e,"--dep","Use --clear-deps to clear dependencies."),{additions:e.map(n=>{let i=n.trim(),l=Qt(i);rt(i,l);let d=l?G(n,"--dep"):{id:i,kind:"related"};l&&B(d,"--dep",Zt);let u=d.id?.trim(),p=Rt((d.kind??d.type)?.trim());if(!u||!p)throw new c("--dep requires id and kind, or a bare item id to add a related dependency",o.USAGE);if(u.toLowerCase()==="undefined")throw new c(`--dep id must not use placeholder token "${u}". Use --clear-deps to clear dependencies.`,o.USAGE);let f=z(M(d.source_kind)),S=M(d.author);return{id:W(u,t,f),kind:R(p,L,"dependency kind"),created_at:Xt(d.created_at,r),author:S??s,source_kind:f??"cli:update:dep",author_source:S?"asserted":"detected"}})}):{additions:[]}}function Et(e,t){return e?(K(e,"--dep-remove"),e.map(r=>{let s=r.trim();if(!s)throw new c("--dep-remove requires id or key/value selectors",o.USAGE);if(s.includes("=")||/^(?:[-*+]\s+)?(?:id|kind|type|source_kind)\s*[:=]/i.test(s)||s.startsWith("```")){let a=G(s,"--dep-remove");B(a,"--dep-remove",Jt);let n=a.id?.trim();if(!n)throw new c("--dep-remove key/value form requires id=<value>",o.USAGE);if(n.toLowerCase()==="undefined")throw new c(`--dep-remove id must not use placeholder token "${n}"`,o.USAGE);let i=Rt(M(a.kind??a.type)),l=z(M(a.source_kind));return{id:W(n,t,l),kind:i?R(i,L,"dependency kind"):void 0,source_kind:l}}if(s.toLowerCase()==="undefined")throw new c(`--dep-remove id must not use placeholder token "${s}"`,o.USAGE);return{id:D(s,t)}})):[]}function gt(e){let t=e.source_kind?.trim().toLowerCase()??"";return`${e.id.trim().toLowerCase()}::${e.kind}::${t}`}function Tt(e,t,r,s){let a=[...e??[]],n=!1;if(t===void 0){let i=a.filter(l=>l.kind!=="blocked_by");return i.length!==a.length&&(a=i,n=!0),n?{dependencies:a.length>0?a:void 0,changed:!0}:{dependencies:e,changed:!1}}return a.some(i=>i.kind==="blocked_by"&&i.id===t)||(a.push({id:t,kind:"blocked_by",created_at:r,author:s,source_kind:"cli:update:blocked_by",author_source:"detected"}),n=!0),n?{dependencies:a.length>0?a:void 0,changed:!0}:{dependencies:e,changed:!1}}async function ea(e,t,r,s,a,n){if(e===void 0||t)return{};let i=e.trim();if(i.length===0)return{};let l=await b(r,D(i,s),s,a,n);return l?{id:l.id}:{unresolved:i}}function ta(e,t,r,s,a){let n=Tt(e.dependencies,t,r,s);n.changed&&(n.dependencies===void 0?delete e.dependencies:e.dependencies=n.dependencies,a.includes("dependencies")||a.push("dependencies"))}function aa(e){return`${e.path}::${e.scope}`}function na(e){return`${e.path}::${e.scope}`}function ra(e){return`${e.command}::${e.path??""}::${e.scope}::${e.pm_context_mode??""}`}function kt(e,t){return!(e.id.trim().toLowerCase()!==t.id.trim().toLowerCase()||t.kind&&e.kind!==t.kind||t.source_kind!==void 0&&e.source_kind?.trim().toLowerCase()!==t.source_kind.trim().toLowerCase())}function sa(e){return Le(e)}function Z(e,t){let r=oe("update",e);if(!r)throw new c(`Unsupported command_option_policies option "${e}" for update command on type "${t}"`,o.CONFLICT);return r}function It(e,t,r){let s=new Set,a=(n,i)=>{i&&s.add(n)};if(a("title",e.title!==void 0),a("description",e.description!==void 0),a("body",e.body!==void 0),a("status",e.status!==void 0),a("closeReason",e.closeReason!==void 0),a("priority",e.priority!==void 0),a("type",e.type!==void 0),a("tags",e.tags!==void 0||Array.isArray(e.addTags)&&e.addTags.length>0||Array.isArray(e.removeTags)&&e.removeTags.length>0),a("deadline",e.deadline!==void 0),a("estimatedMinutes",e.estimatedMinutes!==void 0),a("acceptanceCriteria",e.acceptanceCriteria!==void 0||Array.isArray(e.addAc)&&e.addAc.length>0||Array.isArray(e.removeAc)&&e.removeAc.length>0),a("definitionOfReady",e.definitionOfReady!==void 0),a("order",e.order!==void 0||e.rank!==void 0),a("goal",e.goal!==void 0),a("objective",e.objective!==void 0),a("value",e.value!==void 0),a("impact",e.impact!==void 0),a("outcome",e.outcome!==void 0),a("whyNow",e.whyNow!==void 0),a("author",e.author!==void 0),a("message",e.message!==void 0),a("assignee",e.assignee!==void 0),a("parent",e.parent!==void 0),a("reviewer",e.reviewer!==void 0),a("risk",e.risk!==void 0),a("confidence",e.confidence!==void 0),a("sprint",e.sprint!==void 0),a("release",e.release!==void 0),a("blockedBy",e.blockedBy!==void 0),a("blockedReason",e.blockedReason!==void 0),a("unblockNote",e.unblockNote!==void 0),a("reporter",e.reporter!==void 0),a("severity",e.severity!==void 0),a("environment",e.environment!==void 0),a("reproSteps",e.reproSteps!==void 0),a("resolution",e.resolution!==void 0),a("expectedResult",e.expectedResult!==void 0),a("actualResult",e.actualResult!==void 0),a("affectedVersion",e.affectedVersion!==void 0),a("fixedVersion",e.fixedVersion!==void 0),a("component",e.component!==void 0),a("regression",e.regression!==void 0),a("customerImpact",e.customerImpact!==void 0),a("dep",e.dep!==void 0),a("depRemove",e.depRemove!==void 0),a("dep",e.replaceDeps===!0),a("comment",e.comment!==void 0),a("note",e.note!==void 0),a("learning",e.learning!==void 0),a("file",e.file!==void 0),a("test",e.test!==void 0),a("test",e.replaceTests===!0),a("file",e.replaceFiles===!0),a("doc",e.replaceDocs===!0),a("doc",e.doc!==void 0),a("reminder",e.reminder!==void 0),a("event",e.event!==void 0),a("typeOption",e.typeOption!==void 0),a("field",e.field!==void 0),a("force",e.force===!0),a("ownershipMetadataBypass",e.ownershipMetadataBypass===!0),a("ownershipDependencyBypass",e.ownershipDependencyBypass===!0),a("dep",e.clearDeps===!0),a("comment",e.clearComments===!0),a("note",e.clearNotes===!0),a("learning",e.clearLearnings===!0),a("file",e.clearFiles===!0),a("test",e.clearTests===!0),a("doc",e.clearDocs===!0),a("reminder",e.clearReminders===!0),a("event",e.clearEvents===!0),a("typeOption",e.clearTypeOptions===!0),e.unset&&e.unset.length>0){let n=x(e.unset,t,r);for(let i of n.optionKeys)a(i,!0)}return s}function da(e,t,r,s,a){let n=ue(e,r);if(!n)throw new c(`Invalid type value "${e}"`,o.USAGE);let i=fe(n,"update",[]);if(i.errors.length>0)throw new c(i.errors.join("; "),o.CONFLICT);let l=It(t,s,a);for(let d of i.disabled)if(l.has(Z(d,e)))throw new c(`Option ${_("update",d)} is disabled for type "${e}" by command_option_policies`,o.USAGE);for(let d of i.required)if(!l.has(Z(d,e)))throw new c(`Missing required option ${_("update",d)} for type "${e}"`,o.USAGE)}var ia=new Set(["order","rank"]),la=P.filter(e=>!ia.has(e)),Ut=["tags","closeReason",...la],oa=["title","description","body","status","closeReason","completedAt","priority","type",...P,"dep","depRemove","comment","note","learning","file","test","doc","reminder","event","typeOption","field"],ca=[{optionKey:"deadline",metadataKey:"deadline",transform:(e,t)=>N(e,t.nowValue,"deadline")},{optionKey:"estimatedMinutes",metadataKey:"estimated_minutes",transform:e=>Ne(e,"estimated-minutes")},{optionKey:"acceptanceCriteria",metadataKey:"acceptance_criteria",transform:e=>e},{optionKey:"definitionOfReady",metadataKey:"definition_of_ready"},{optionKey:"goal",metadataKey:"goal"},{optionKey:"objective",metadataKey:"objective"},{optionKey:"value",metadataKey:"value"},{optionKey:"impact",metadataKey:"impact"},{optionKey:"outcome",metadataKey:"outcome"},{optionKey:"whyNow",metadataKey:"why_now"}],ua=[{optionKey:"reviewer",metadataKey:"reviewer"},{optionKey:"risk",metadataKey:"risk",transform:e=>R(qe(e),ie,"risk")},{optionKey:"confidence",metadataKey:"confidence",transform:e=>Xe(e)}],fa=[{optionKey:"blockedReason",metadataKey:"blocked_reason"},{optionKey:"unblockNote",metadataKey:"unblock_note"},{optionKey:"reporter",metadataKey:"reporter"},{optionKey:"severity",metadataKey:"severity",transform:e=>R(He(e),le,"severity")},{optionKey:"environment",metadataKey:"environment"},{optionKey:"reproSteps",metadataKey:"repro_steps"},{optionKey:"resolution",metadataKey:"resolution"},{optionKey:"expectedResult",metadataKey:"expected_result"},{optionKey:"actualResult",metadataKey:"actual_result"},{optionKey:"affectedVersion",metadataKey:"affected_version"},{optionKey:"fixedVersion",metadataKey:"fixed_version"},{optionKey:"component",metadataKey:"component"},{optionKey:"regression",metadataKey:"regression",transform:e=>Ze(e)},{optionKey:"customerImpact",metadataKey:"customer_impact"}];function J(e,t,r){for(let s of e){let a=t[s.optionKey],n=r.clearItemMetadataKeys.has(s.metadataKey);if(!(a===void 0&&!n)){if(n){delete r.metadataRecord[s.metadataKey],r.changedFields.push(s.metadataKey);continue}if(typeof a!="string")throw new c(`${_("update",String(s.optionKey))} must be a string value`,o.USAGE);r.metadataRecord[s.metadataKey]=s.transform?s.transform(a,r):a.trim(),r.changedFields.push(s.metadataKey)}}}async function pa(e){let t=Me();return At({...e,body:await t.resolveValue(e.body,"--body"),dep:await t.resolveList(e.dep,"--dep"),depRemove:await t.resolveList(e.depRemove,"--dep-remove"),comment:await t.resolveList(e.comment,"--comment"),note:await t.resolveList(e.note,"--note"),learning:await t.resolveList(e.learning,"--learning"),file:await t.resolveList(e.file,"--file"),test:await t.resolveList(e.test,"--test"),doc:await t.resolveList(e.doc,"--doc"),reminder:await t.resolveList(e.reminder,"--reminder"),event:await t.resolveList(e.event,"--event"),typeOption:await t.resolveList(e.typeOption,"--type-option"),field:await t.resolveList(e.field,"--field")})}function ya(e){return[{enabled:e.clearDeps||e.replaceDeps,optionKey:"dep",clearFlag:"--clear-deps",valueFlag:"--dep",values:e.dep,metadataKey:"dependencies"},{enabled:e.clearComments,optionKey:"comment",clearFlag:"--clear-comments",valueFlag:"--comment",values:e.comment,metadataKey:"comments"},{enabled:e.clearNotes,optionKey:"note",clearFlag:"--clear-notes",valueFlag:"--note",values:e.note,metadataKey:"notes"},{enabled:e.clearLearnings,optionKey:"learning",clearFlag:"--clear-learnings",valueFlag:"--learning",values:e.learning,metadataKey:"learnings"},{enabled:e.clearFiles||e.replaceFiles,optionKey:"file",clearFlag:"--clear-files",valueFlag:"--file",values:e.file,metadataKey:"files"},{enabled:e.clearTests||e.replaceTests,optionKey:"test",clearFlag:"--clear-tests",valueFlag:"--test",values:e.test,metadataKey:"tests"},{enabled:e.clearDocs||e.replaceDocs,optionKey:"doc",clearFlag:"--clear-docs",valueFlag:"--doc",values:e.doc,metadataKey:"docs"},{enabled:e.clearReminders,optionKey:"reminder",clearFlag:"--clear-reminders",valueFlag:"--reminder",values:e.reminder,metadataKey:"reminders"},{enabled:e.clearEvents,optionKey:"event",clearFlag:"--clear-events",valueFlag:"--event",values:e.event,metadataKey:"events"},{enabled:e.clearTypeOptions,optionKey:"typeOption",clearFlag:"--clear-type-options",valueFlag:"--type-option",values:e.typeOption,metadataKey:"type_options"}]}function q(e){if(e.enabled&&(!e.values||e.values.length===0))throw new c(`${e.replaceFlag} requires at least one ${e.valueFlag} entry`,o.USAGE);if(e.enabled&&e.clearEnabled)throw new c(`${e.replaceFlag} cannot be combined with ${e.clearFlag}`,o.USAGE)}function ma(e){if(e.replaceDeps===!0&&(e.dep===void 0||e.dep.length===0))throw new c("--replace-deps requires at least one --dep entry",o.USAGE);if(e.replaceDeps===!0&&e.depRemove!==void 0&&e.depRemove.length>0)throw new c("--replace-deps cannot be combined with --dep-remove",o.USAGE);q({enabled:e.replaceTests===!0,values:e.test,replaceFlag:"--replace-tests",clearEnabled:e.clearTests===!0,clearFlag:"--clear-tests",valueFlag:"--test"}),q({enabled:e.replaceFiles===!0,values:e.file,replaceFlag:"--replace-files",clearEnabled:e.clearFiles===!0,clearFlag:"--clear-files",valueFlag:"--file"}),q({enabled:e.replaceDocs===!0,values:e.doc,replaceFlag:"--replace-docs",clearEnabled:e.clearDocs===!0,clearFlag:"--clear-docs",valueFlag:"--doc"})}function ga(e){for(let t of e.definitions){if(!t.enabled)continue;let r=t.optionKey==="dep"&&e.options.replaceDeps===!0||t.optionKey==="test"&&e.options.replaceTests===!0||t.optionKey==="file"&&e.options.replaceFiles===!0||t.optionKey==="doc"&&e.options.replaceDocs===!0;if(t.values&&t.values.length>0&&!r)throw new c(`Cannot combine ${t.clearFlag} with ${t.valueFlag}`,o.USAGE);e.clearOptionKeys.add(t.optionKey),e.clearItemMetadataKeys.add(t.metadataKey)}}function ha(e){let t={};for(let r of Ut)t[String(r)]=e[r]!==void 0;return t.order=e.order!==void 0||e.rank!==void 0,t}function wa(e,t){let r=ha(e);for(let[s,a]of Object.entries(r)){if(!a||!t.optionKeys.has(s))continue;let n=O.get(s)??s;throw new c(`Cannot combine --unset ${n} with ${_("update",s)}`,o.USAGE)}if(t.metadataKeys.has("acceptance_criteria")){if(Array.isArray(e.addAc)&&e.addAc.length>0)throw new c("Cannot combine --unset acceptance-criteria with --add-ac",o.USAGE);if(Array.isArray(e.removeAc)&&e.removeAc.length>0)throw new c("Cannot combine --unset acceptance-criteria with --remove-ac",o.USAGE)}if(t.metadataKeys.has("tags")){if(Array.isArray(e.addTags)&&e.addTags.length>0)throw new c("Cannot combine --unset tags with --add-tags",o.USAGE);if(Array.isArray(e.removeTags)&&e.removeTags.length>0)throw new c("Cannot combine --unset tags with --remove-tags",o.USAGE)}}function _a(e){let t=(r,s)=>{let a=O.get(s),n=a?`Use --unset ${a} to clear this field.`:void 0;xe(r,_("update",s),n)};for(let r of Ut)t(e[r],String(r));t(e.order??e.rank,"order"),K(e.reminder,"--reminder","Use --clear-reminders to clear reminders."),K(e.event,"--event","Use --clear-events to clear linked events.")}function va(e,t){let r={};for(let s of oa)r[String(s)]=e[s]!==void 0;return r.tags=e.tags!==void 0,r.addTags=Array.isArray(e.addTags)&&e.addTags.length>0,r.removeTags=Array.isArray(e.removeTags)&&e.removeTags.length>0,r.addAc=Array.isArray(e.addAc)&&e.addAc.length>0,r.removeAc=Array.isArray(e.removeAc)&&e.removeAc.length>0,r.order=e.order!==void 0,r.rank=e.rank!==void 0,r.replaceDeps=e.replaceDeps===!0,r.replaceTests=e.replaceTests===!0,r.replaceFiles=e.replaceFiles===!0,r.replaceDocs=e.replaceDocs===!0,r.unset=e.unset!==void 0&&e.unset.length>0,r.clearDeps=e.clearDeps===!0,r.clearComments=e.clearComments===!0,r.clearNotes=e.clearNotes===!0,r.clearLearnings=e.clearLearnings===!0,r.clearFiles=e.clearFiles===!0,r.clearTests=e.clearTests===!0,r.clearDocs=e.clearDocs===!0,r.clearReminders=e.clearReminders===!0,r.clearEvents=e.clearEvents===!0,r.clearTypeOptions=e.clearTypeOptions===!0,r.runtimeFields=Object.keys(t).length>0,r}async function Aa(e){let t=await b(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder);if(!t)throw await j(e.pmRoot,e.id,e.settings.id_prefix,e.typeRegistry.type_to_folder);let{document:r}=await V(t,{schema:e.settings.schema});return{item:r.metadata,changed_fields:[],warnings:["noop_no_update_fields"]}}async function ba(e){if(!await de(ye(e)))throw new c(`Tracker is not initialized at ${e}. Run pm init first.`,o.NOT_FOUND)}function Ka(e){if(e.order!==void 0&&e.rank!==void 0&&e.order!==e.rank)throw new c("--order and --rank must match when both are provided",o.USAGE)}async function Ra(e){if(e.options.parent===void 0||e.unsetTargets.metadataKeys.has("parent"))return{resolvedParentValue:void 0,warnings:[]};let t=Se(e.options.parent);if(Te(e.id,t,e.settings.id_prefix),await b(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder))return{resolvedParentValue:t,warnings:[]};let s=D(t,e.settings.id_prefix);return{resolvedParentValue:t,warnings:Ee(s,e.parentReferencePolicy).warnings}}function Sa(e){return e.unresolved===void 0?[]:[`blocked_by_unresolved:${e.unresolved}`]}async function Ea(e){if(e.workflowEnforcement==="off"||e.typeWorkflows.length===0||!e.fieldFlags.status||e.options.status===void 0)return[];let t=await b(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder);if(!t)throw await j(e.pmRoot,e.id,e.settings.id_prefix,e.typeRegistry.type_to_folder);let{document:r}=await V(t,{schema:e.settings.schema}),s=e.options.type!==void 0?I(e.options.type,e.typeRegistry)??e.options.type:r.metadata?.type??"",a=Kt({enforcement:e.workflowEnforcement,typeWorkflows:e.typeWorkflows,statusRegistry:e.statusRegistry,typeName:s,fromStatus:r.metadata?.status??"",toStatus:e.options.status});return a?[a]:[]}async function Ta(e){if(!e.fieldFlags.status||g(e.options.status,e.statusRegistry)!==e.statusRegistry.close_status)return;let r=Object.entries(e.fieldFlags).filter(([l,d])=>d&&l!=="status"&&l!=="closeReason"&&l!=="completedAt").map(([l])=>l),s=[],a=[];if(r.length>0){let l=await Ha(e.id,{...e.options,status:void 0,closeReason:void 0,message:void 0},e.global);a=l.changed_fields,s.push(...l.warnings)}let n=await Ye(e.id,e.options.closeReason,{author:e.options.author,message:e.options.message,force:e.options.force,completedAt:e.options.completedAt},e.global),i=[...e.workflowTransitionWarnings,...s,...n.warnings,"auto_routed_from_update_to_close"];return{item:n.item,changed_fields:[...a,...n.changed_fields],warnings:i}}function ka(e,t,r,s){return t.title!==void 0&&(e.metadata.title=yt(t.title,"--title"),s.push("title")),t.description!==void 0&&(e.metadata.description=t.description,s.push("description")),t.body!==void 0&&(e.body=t.body,s.push("body")),g(e.metadata.status,r)??e.metadata.status}function Ia(e,t,r,s,a){let n=Ht(r,t.statusRegistry);if(e.metadata.status=n,a.push("status"),n===t.statusRegistry.close_status&&(e.metadata.closed_at===void 0||e.metadata.closed_at===null)){e.metadata.closed_at=t.nowIso,e.metadata.completed_at=t.nowIso,a.push("closed_at","completed_at");return}n!==t.statusRegistry.close_status&&s===t.statusRegistry.close_status&&e.metadata.closed_at!==void 0&&(delete e.metadata.closed_at,a.push("closed_at"),e.metadata.completed_at!==void 0&&(delete e.metadata.completed_at,a.push("completed_at")))}function Ua(e,t,r,s){if(t.options.status!==void 0&&Ia(e,t,t.options.status,r,s),t.options.completedAt!==void 0){if(!Ke(e.metadata.status,t.statusRegistry))throw new c("--completed-at can only be set on a terminal item",o.USAGE);e.metadata.completed_at=N(t.options.completedAt,new Date(t.nowIso),"completed-at"),s.push("completed_at")}}function Da(e,t,r,s){if(t.options.closeReason!==void 0||t.clearItemMetadataKeys.has("close_reason")){if(t.clearItemMetadataKeys.has("close_reason"))delete e.metadata.close_reason;else{let a=t.options.closeReason?.trim()??"";if(a.length===0)throw new c("--close-reason must not be empty",o.USAGE);e.metadata.close_reason=a}s.push("close_reason");return}t.options.status!==void 0&&r===t.statusRegistry.close_status&&e.metadata.status!==t.statusRegistry.canceled_status&&e.metadata.close_reason!==void 0&&(delete e.metadata.close_reason,s.push("close_reason"))}function Dt(e,t,r,s){Ua(e,t,r,s),Da(e,t,r,s)}function Fa(e,t,r){let s=I(e.metadata.type,t.typeRegistry)??e.metadata.type;if(t.options.priority!==void 0&&(e.metadata.priority=sa(t.options.priority),r.push("priority")),t.options.type!==void 0){let a=I(t.options.type,t.typeRegistry);if(!a)throw new c($e(t.options.type,t.typeRegistry.types,_e(t.pmRoot,t.settings.schema)),o.USAGE);e.metadata.type=a,s=a,r.push("type")}return da(s,t.options,t.typeRegistry,t.runtimeFieldRegistry,t.extensionFieldNames),Oa(e,t,s,r),s}function Oa(e,t,r,s){if(t.options.typeOption!==void 0||t.clearItemMetadataKeys.has("type_options")){if(t.clearItemMetadataKeys.has("type_options"))delete e.metadata.type_options;else{let n=nt(t.options.typeOption??[]),i=$(r,n,t.typeRegistry);if(i.errors.length>0)throw new c(i.errors.join("; "),o.USAGE);e.metadata.type_options=i.normalized}s.push("type_options");return}if(t.options.type===void 0||e.metadata.type_options===void 0)return;let a=$(r,e.metadata.type_options,t.typeRegistry);if(a.errors.length>0)throw new c(`Current type options are incompatible with type "${r}". ${a.errors.join("; ")}. Use --clear-type-options to clear them.`,o.USAGE);e.metadata.type_options=a.normalized}function Ma(e,t,r){if(t.options.dep===void 0&&t.options.depRemove===void 0&&!t.clearItemMetadataKeys.has("dependencies"))return;let s=t.clearItemMetadataKeys.has("dependencies")?[]:[...e.metadata.dependencies??[]];if(t.dependencyUpdates.additions.length>0){let a=new Set(s.map(n=>gt(n)));for(let n of t.dependencyUpdates.additions){let i=gt(n);a.has(i)||(s.push(n),a.add(i))}}t.dependencyRemovals.length>0&&(s=s.filter(a=>!t.dependencyRemovals.some(n=>kt(a,n)))),s.length===0?delete e.metadata.dependencies:e.metadata.dependencies=s,r.push("dependencies")}function Ca(e,t,r){H(e,"comments",t.options.comment,t.commentUpdates.values,t.clearItemMetadataKeys,r),H(e,"notes",t.options.note,t.noteUpdates.values,t.clearItemMetadataKeys,r),H(e,"learnings",t.options.learning,t.learningUpdates.values,t.clearItemMetadataKeys,r)}function H(e,t,r,s,a,n){r===void 0&&!a.has(t)||(a.has(t)||!s||s.length===0?delete e.metadata[t]:e.metadata[t]=[...e.metadata[t]??[],...s],n.push(t))}function Na(e,t,r){ht(e,"files",t.options.file,t.fileUpdates.values,aa,t.options.replaceFiles===!0,t.clearItemMetadataKeys,r),La(e,t,r),ht(e,"docs",t.options.doc,t.docUpdates.values,na,t.options.replaceDocs===!0,t.clearItemMetadataKeys,r)}function ht(e,t,r,s,a,n,i,l){if(!(r===void 0&&!i.has(t))){if(n)e.metadata[t]=s;else if(i.has(t)||!s||s.length===0)delete e.metadata[t];else{let d=[...e.metadata[t]??[]],u=new Set(d.map(p=>a(p)));for(let p of s){let f=a(p);u.has(f)||(d.push(p),u.add(f))}e.metadata[t]=d}l.push(t)}}function La(e,t,r){t.options.test===void 0&&!t.clearItemMetadataKeys.has("tests")||(t.clearItemMetadataKeys.has("tests")&&t.options.replaceTests===!0?e.metadata.tests=wt(t.testUpdates.values)??[]:t.clearItemMetadataKeys.has("tests")||!t.testUpdates.values||t.testUpdates.values.length===0?delete e.metadata.tests:e.metadata.tests=wt([...e.metadata.tests??[],...t.testUpdates.values]),e.metadata.tests!==void 0&&e.metadata.tests.length===0&&delete e.metadata.tests,r.push("tests"))}function wt(e){if(!e||e.length===0)return;let t=[],r=new Set;for(let s of e){let a=ra(s);r.has(a)||(t.push(s),r.add(a))}return t}function Pa(e,t,r){let s=t.options.addTags,a=t.options.removeTags,n=Array.isArray(s)&&s.length>0||Array.isArray(a)&&a.length>0;if(t.options.tags!==void 0||t.clearItemMetadataKeys.has("tags")||n){let i=t.clearItemMetadataKeys.has("tags")?[]:t.options.tags!==void 0?ke(t.options.tags):Array.isArray(e.metadata.tags)?[...e.metadata.tags]:[];e.metadata.tags=Fe(De(i,s),a),r.changedFields.push("tags")}J(ca,t.options,r),Ga(e,t,r.changedFields)}function $a(e,t,r,s){let a=t.options.addAc,n=t.options.removeAc;if(!(Array.isArray(a)&&a.length>0)&&!(Array.isArray(n)&&n.length>0))return;let i=Ue(Ie(e.metadata.acceptance_criteria),a,n);for(let d of i.unmatchedRemovals)s.push(`remove_ac_unmatched:${d}`);let l=i.criteria.join("; ");e.metadata.acceptance_criteria!==l&&(l===""&&e.metadata.acceptance_criteria===void 0||(e.metadata.acceptance_criteria=l,r.changedFields.includes("acceptance_criteria")||r.changedFields.push("acceptance_criteria")))}function Ga(e,t,r){let s=t.options.order??t.options.rank;if(!(s===void 0&&!t.clearItemMetadataKeys.has("order"))){if(t.clearItemMetadataKeys.has("order"))delete e.metadata.order;else{let a=Ce(s??"","order");if(!Number.isInteger(a))throw new c("Order must be an integer",o.USAGE);e.metadata.order=a}r.push("order")}}function Ba(e,t,r,s){Va(e,t,r.changedFields),ja(e,t,r.changedFields),J(ua,t.options,r),_t(e,t,"sprint",s,r.changedFields),_t(e,t,"release",s,r.changedFields),za(e,t,r.changedFields),J(fa,t.options,r)}function Va(e,t,r){if(!(t.options.assignee===void 0&&!t.clearItemMetadataKeys.has("assignee"))){if(t.clearItemMetadataKeys.has("assignee"))delete e.metadata.assignee;else{let s=t.options.assignee?.trim()??"";if(s==="")throw new c("--assignee must not be empty. Use --unset assignee to clear it.",o.USAGE);e.metadata.assignee=s}r.push("assignee")}}function ja(e,t,r){t.options.parent===void 0&&!t.clearItemMetadataKeys.has("parent")||(t.clearItemMetadataKeys.has("parent")?delete e.metadata.parent:e.metadata.parent=t.resolvedParentValue??"",r.push("parent"))}function _t(e,t,r,s,a){if(!(t.options[r]===void 0&&!t.clearItemMetadataKeys.has(r))){if(t.clearItemMetadataKeys.has(r))delete e.metadata[r];else{let n=Pe(r,t.options[r]??"",t.settings.validation.sprint_release_format);e.metadata[r]=n.value,s.push(...n.warnings)}a.push(r)}}function za(e,t,r){t.options.blockedBy===void 0&&!t.clearItemMetadataKeys.has("blocked_by")||(t.clearItemMetadataKeys.has("blocked_by")?delete e.metadata.blocked_by:e.metadata.blocked_by=t.options.blockedBy?.trim()??"",r.push("blocked_by"),(t.clearItemMetadataKeys.has("blocked_by")||t.resolvedBlockedByDependencyId!==void 0)&&ta(e.metadata,t.resolvedBlockedByDependencyId,t.nowIso,t.author,r))}function Wa(e,t,r){(t.options.reminder!==void 0||t.clearItemMetadataKeys.has("reminders"))&&(t.clearItemMetadataKeys.has("reminders")?delete e.metadata.reminders:e.metadata.reminders=tt(t.options.reminder??[],t.nowValue,{valueMode:"trimmed"}),r.push("reminders")),(t.options.event!==void 0||t.clearItemMetadataKeys.has("events"))&&(t.clearItemMetadataKeys.has("events")?delete e.metadata.events:e.metadata.events=at(t.options.event??[],t.nowValue,{allDayEmptyGuard:"truthy",recurrenceEmptyNumericGuard:"truthy"}),r.push("events"))}function Ya(e,t,r){vt(e,t.runtimeFieldRegistry.definitions.map(a=>a.metadata_key),t.clearItemMetadataKeys,r),vt(e,t.extensionFieldNames,t.clearItemMetadataKeys,r);for(let[a,n]of Object.entries(t.runtimeFieldUpdates)){if(t.clearItemMetadataKeys.has(a)){let i=a.replaceAll("_","-"),d=t.runtimeFieldRegistry.definitions.find(u=>u.metadata_key===a)?.cli_flag??i;throw new c(`Cannot combine --unset ${i} with --${d}`,o.USAGE)}U(e[a],n)||(e[a]=n,r.push(a))}let s=he(t.options.field,t.extensionRegistrations);for(let a of Object.keys(s))if(t.clearItemMetadataKeys.has(a))throw new c(`Cannot combine --unset ${a.replaceAll("_","-")} with --field ${a}=...`,o.USAGE);for(let[a,n]of Object.entries(s))U(e[a],n)||(e[a]=n,r.push(a))}function vt(e,t,r,s){for(let a of t)!r.has(a)||e[a]===void 0||(delete e[a],s.push(a))}function qa(e,t){let r=structuredClone(e.metadata),s=e.body,a=[],n=[],i=ka(e,t.options,t.statusRegistry,a),l=e.metadata,d={metadataRecord:l,clearItemMetadataKeys:t.clearItemMetadataKeys,changedFields:a,nowValue:t.nowValue};Dt(e,t,i,a),Fa(e,t,a),Ma(e,t,a),Ca(e,t,a),Na(e,t,a),Pa(e,t,d),$a(e,t,d,n),Ba(e,t,d,n),(t.options.dep!==void 0||t.options.depRemove!==void 0||t.options.blockedBy!==void 0||t.clearItemMetadataKeys.has("dependencies")||t.clearItemMetadataKeys.has("blocked_by"))&&st(e.metadata.id,e.metadata.dependencies),g(e.metadata.status,t.statusRegistry)===t.statusRegistry.canceled_status&&e.metadata.assignee!==void 0&&(delete e.metadata.assignee,a.includes("assignee")||a.push("assignee")),Wa(e,t,a),Ya(l,t,a);try{we(l,t.extensionRegistrations,{skipDefaultFields:t.clearItemMetadataKeys})}catch(f){throw new c(f instanceof Error?f.message:"Invalid extension item field values",o.USAGE)}let u=e.metadata;return{changedFields:[...new Set(a)].filter(f=>f==="body"?e.body!==s:!U(r[f],u[f])),warnings:n}}async function Ha(e,t,r){t=await pa(t);let s=pe(process.cwd(),r.path);await ba(s);let a=await je(s),n=ve(a.schema),i=Ae(a.schema),l=me(),d=ge(l),u=ce(a,l),p=a.governance.workflow_enforcement??"off",f=p==="off"?[]:Ge(a.schema),S=[{strict_error:"strict_error",warn:"warn",off:"off"},{strict_error:"warn",warn:"warn",off:"off"}][+(t.allowMissingParent===!0)][a.validation.parent_reference],E=x(t.unset,i,d),Ft=new Set(E.optionKeys),T=new Set(E.metadataKeys);ma(t),ga({definitions:ya(t),options:t,clearOptionKeys:Ft,clearItemMetadataKeys:T}),bt(e,t,T),wa(t,E),_a(t);let m=Re(t.author,a.author_default),ee=new Date,v=ee.toISOString(),Ot=St(t.dep,a.id_prefix,v,m),Mt=Et(t.depRemove,a.id_prefix),k=F("--comment",t.comment,v,m),Ct=t.ownershipMetadataBypass===!0&&k.values?{...k,values:k.values.map(y=>({...y,author:m}))}:k,Nt=F("--note",t.note,v,m),Lt=F("--learning",t.learning,v,m),Pt=ut(t.file),$t=ft(t.test),Gt=pt(t.doc),C=[],te=await Ra({id:e,options:t,unsetTargets:E,pmRoot:s,settings:a,typeRegistry:u,parentReferencePolicy:S}),ae=await ea(t.blockedBy,T.has("blocked_by"),s,a.id_prefix,a.item_format,u.type_to_folder),Bt=ae.id,Vt=[...te.warnings,...Sa(ae)],ne=be(t,i,t.runtimeFieldCommands),h=va(t,ne);if(!Object.values(h).some(Boolean))return Aa({pmRoot:s,id:e,settings:a,typeRegistry:u});C.push(...await Ea({options:t,fieldFlags:h,workflowEnforcement:p,typeWorkflows:f,statusRegistry:n,typeRegistry:u,pmRoot:s,id:e,settings:a}));let re=await Ta({options:t,fieldFlags:h,statusRegistry:n,workflowTransitionWarnings:C,global:r,id:e});if(re)return re;Ka(t);let A=h.dep||h.depRemove||h.blockedBy?await ze(s,a.item_format,u.type_to_folder,void 0,a.schema):void 0,w=await We({pmRoot:s,settings:a,typeToFolder:u.type_to_folder,id:e,op:t.ownershipMetadataBypass===!0||t.ownershipDependencyBypass===!0?"update_ownership_bypass":"update",author:m,message:t.message,force:t.force,bypassAssigneeConflict:t.ownershipMetadataBypass===!0||t.ownershipDependencyBypass===!0,extensionFieldNames:d,skipNoop:!0,mutate(y){return A=A?.map(se=>se.id===y.metadata.id?structuredClone(y.metadata):se),qa(y,{options:t,settings:a,typeRegistry:u,statusRegistry:n,runtimeFieldRegistry:i,extensionRegistrations:l,extensionFieldNames:d,clearItemMetadataKeys:T,dependencyUpdates:Ot,dependencyRemovals:Mt,commentUpdates:Ct,noteUpdates:Nt,learningUpdates:Lt,fileUpdates:Pt,testUpdates:$t,docUpdates:Gt,resolvedParentValue:te.resolvedParentValue,resolvedBlockedByDependencyId:Bt,runtimeFieldUpdates:ne,nowValue:ee,nowIso:v,author:m,pmRoot:s})}}),jt=A?dt(A,A.map(y=>y.id===w.item.id?w.item:y),w.item.id):[];return{item:w.item,changed_fields:w.changedFields,warnings:[...C,...Vt,...jt,...w.warnings]}}var cn={applyStatusAndCloseReasonMutations:Dt,collectProvidedUpdatePolicyOptions:It,buildOwnershipBypassRestrictedOptionsError:X,enforceOwnershipBypassScope:bt,enforceTypeWorkflowTransition:Kt,matchesDependencySelector:kt,normalizeLegacyNoneUpdateOptions:At,normalizeUpdatePolicyOptionKey:Z,parseDependencyAdditions:St,parseDependencyRemovals:Et,parseUpdateUnsetTargets:x,reconcileBlockedByDependency:Tt,resolveRuntimeUnsetDefinition:(e,t)=>Y(e,"update",t)};export{Ha as a,cn as b};
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-AYRUGRNS.js.map
|