@unbrained/pm-cli 2026.11.1 → 2026.11.3
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 +1 -1
- package/CHANGELOG.md +32 -0
- package/CONTRIBUTING.md +1 -1
- package/dist/cli/error-guidance.d.ts +9 -0
- package/dist/cli/error-guidance.js +4 -3
- package/dist/cli/main.js +1 -1
- package/dist/cli/migration-gates.js +1 -1
- package/dist/cli/runtime/field-route-retry.d.ts +15 -0
- package/dist/cli/runtime/field-route-retry.js +2 -0
- package/dist/cli-bundle/bundle-manifest.json +1 -1
- package/dist/cli-bundle/chunks/{chunk-2GK2IVU5.js → chunk-2CBHQXYJ.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-32BCU6HN.js +115 -0
- package/dist/cli-bundle/chunks/{chunk-MTRIGD7M.js → chunk-5IPXDZKU.js} +42 -42
- package/dist/cli-bundle/chunks/{chunk-O56O7NIE.js → chunk-5JZMF4M5.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TYERATXH.js → chunk-7ZEFHFAU.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-B6UTLYLM.js +3 -0
- package/dist/cli-bundle/chunks/{chunk-N45IXPCA.js → chunk-DEJHTFEF.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ICT6E4IW.js → chunk-HBKD5HZB.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-6PKWKVS6.js → chunk-JPKIUWLG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WFBYKDB2.js → chunk-L6LCLC37.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-Y7CKVU56.js → chunk-MQJXZX3Q.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-NR4KABHC.js +31 -0
- package/dist/cli-bundle/chunks/{chunk-WX25MU4N.js → chunk-O4ZLEN4T.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-F3ECOBKA.js → chunk-PWD5RY2D.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SBVX5CMV.js → chunk-RSAN2YUU.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NILQ2ZMV.js → chunk-TZ3D3DPQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MRUA2Z43.js → chunk-UJMQP2HP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-TMPO4CTZ.js → chunk-UYNMKUGA.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-UUN3WNMQ.js → chunk-XRMYA4R7.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-UEEG47TU.js → chunk-Y7H55PCY.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-5KW4WUAK.js → chunk-YWS4XV4I.js} +4 -4
- package/dist/cli-bundle/chunks/chunk-ZOAJNPBL.js +129 -0
- package/dist/cli-bundle/chunks/{indexed-receipt-blobs-KGMJVFH2.js → indexed-receipt-blobs-I6RQGD6Y.js} +2 -2
- package/dist/cli-bundle/chunks/item-transaction-ZHLJTBD7.js +2 -0
- package/dist/cli-bundle/chunks/{mutation-admission-BOOCJPCU.js → mutation-admission-ZQMRMGIB.js} +2 -2
- package/dist/cli-bundle/chunks/{register-list-query-23OX36Q3.js → register-list-query-I6AZA3IX.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-JPJ5YNDX.js → register-mutation-3DAXCLXR.js} +2 -2
- package/dist/cli-bundle/chunks/{register-operations-IGR7ERY5.js → register-operations-G3QGGQ5Z.js} +2 -2
- package/dist/cli-bundle/chunks/{register-setup-BMIFKZZP.js → register-setup-LDXHMNOT.js} +2 -2
- package/dist/cli-bundle/chunks/{settlement-hook-YWSWFOZY.js → settlement-hook-JHXLUBEN.js} +2 -2
- package/dist/cli-bundle/chunks/{stage-ON7CYYPM.js → stage-7H36OTDJ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-3XGKBVJ3.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-WX2RVS2Y.js → chunk-4HY6EGPB.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-3NYWMUX3.js → chunk-D4XQOMG4.js} +3 -3
- package/dist/cli-bundle/focused-chunks/{chunk-UQIBGLDR.js → chunk-F3X6UWMI.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-JLXGRDTG.js → chunk-G6ERMFJ5.js} +3 -3
- package/dist/cli-bundle/focused-chunks/{chunk-VFQAZLKO.js → chunk-HJ27QLZV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-5TWS5KOM.js → chunk-HOXIIZEO.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-HUXZCPWT.js +26 -0
- package/dist/cli-bundle/focused-chunks/{chunk-LVA76N27.js → chunk-I5FODKYB.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-DFUTCKUF.js → chunk-IDAYTYNN.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-2Y77HWIX.js → chunk-IKXJ57XA.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-RPUDOJVB.js → chunk-LKN2WGGB.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-MOY6KZGJ.js +44 -0
- package/dist/cli-bundle/focused-chunks/{chunk-PAT6QF63.js → chunk-PWUTFKSI.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-PZRB7IXH.js +91 -0
- package/dist/cli-bundle/focused-chunks/chunk-RY4QEMAE.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-6GMYW42K.js → chunk-TYHDZUL4.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-WSYPVBKS.js +80 -0
- package/dist/cli-bundle/focused-chunks/{chunk-Z7GIVH6B.js → chunk-WXLG7HZ5.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-5WCQFH6D.js → chunk-WZDFCVLX.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-VS2ZFPXD.js → chunk-YGO3FWA2.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-YVLAP3BL.js +23 -0
- package/dist/cli-bundle/focused-chunks/{chunk-6OKPYCLU.js → chunk-ZQRCVRGS.js} +54 -54
- package/dist/cli-bundle/focused-chunks/chunk-ZYXQACPB.js +2 -0
- package/dist/cli-bundle/focused-chunks/{indexed-receipt-blobs-KHWT44EK.js → indexed-receipt-blobs-7XGVHYAO.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{item-transaction-7VLPA2SU.js → item-transaction-PZ2FQ6B2.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{mutation-admission-2DH27R5Y.js → mutation-admission-XOOK6XFH.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{settlement-hook-SJV52ZTV.js → settlement-hook-H56537UV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{stage-FYOBWQA7.js → stage-4SQHVI3O.js} +2 -2
- package/dist/cli-bundle/main.js +30 -29
- 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 +1 -1
- 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 +57 -57
- 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 +11 -11
- package/dist/core/extensions/extension-hook-runtime.js +1 -1
- package/dist/core/extensions/extension-types.d.ts +5 -0
- package/dist/core/extensions/extension-types.js +1 -1
- package/dist/core/extensions/item-fields.d.ts +1 -1
- package/dist/core/extensions/item-fields.js +1 -1
- package/dist/core/item/parse.js +2 -2
- package/dist/core/lock/lock-confinement.d.ts +55 -0
- package/dist/core/lock/lock-confinement.js +2 -0
- package/dist/core/lock/lock-gc.js +1 -1
- package/dist/core/lock/lock.js +2 -2
- package/dist/core/schema/runtime-field-values.d.ts +30 -0
- package/dist/core/schema/runtime-field-values.js +1 -1
- package/dist/core/sentry/helpers.js +1 -1
- package/dist/core/sentry/instrument.js +1 -1
- package/dist/core/shared/error-details.d.ts +98 -0
- package/dist/core/shared/error-details.js +2 -0
- package/dist/core/shared/errors.d.ts +43 -0
- package/dist/core/shared/errors.js +1 -1
- package/dist/core/store/settings-sections.d.ts +61 -0
- package/dist/core/store/settings-sections.js +3 -0
- package/dist/core/store/settings-validator.d.ts +4 -0
- package/dist/core/store/settings-validator.js +1 -1
- package/dist/core/store/settings.d.ts +29 -2
- package/dist/core/store/settings.js +4 -3
- package/dist/core/telemetry/consent.js +2 -2
- package/dist/core/telemetry/runtime.js +2 -2
- package/dist/core/test/background-runs.js +3 -3
- package/dist/mcp/server.js +2 -2
- package/dist/sdk/config.js +1 -1
- package/dist/sdk/errors.d.ts +6 -2
- package/dist/sdk/errors.js +1 -1
- package/dist/sdk/extension-command-context.js +2 -2
- package/dist/sdk/generated/error-code-catalog-rows.d.ts +39 -0
- package/dist/sdk/generated/error-code-catalog-rows.js +2 -0
- package/dist/sdk/generated/generated-error-code-catalog-part-1.d.ts +3 -3
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-2.d.ts +3 -3
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
- package/dist/sdk/generated-error-code-catalog.js +1 -1
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/lifecycle/core-field-recovery.d.ts +26 -0
- package/dist/sdk/lifecycle/core-field-recovery.js +1 -1
- package/dist/sdk/lifecycle/create.js +1 -1
- package/dist/sdk/lifecycle/update.js +2 -2
- package/dist/sdk/mcp/discovery.js +1 -1
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/runtime-primitives.d.ts +2 -1
- package/dist/sdk/runtime-primitives.js +1 -1
- package/dist/sdk/runtime.d.ts +1 -1
- package/dist/sdk/runtime.js +1 -1
- package/dist/sdk/test/entry.d.ts +5 -0
- package/dist/sdk/test/entry.js +2 -2
- package/dist/sdk/test/execution.d.ts +1 -2
- package/dist/sdk/test/execution.js +2 -2
- package/dist/sdk/test/linked-command-detection.d.ts +10 -0
- package/dist/sdk/test/linked-command-detection.js +1 -1
- package/dist/sdk/test/update.d.ts +2 -0
- package/dist/sdk/test/update.js +1 -1
- package/docs/AGENT_EVIDENCE_CONSISTENCY.md +10 -0
- package/docs/CONFIGURATION.md +9 -0
- package/docs/DEVELOPMENT_DEPENDENCY_SECURITY.md +9 -6
- package/docs/EXTENSIONS.md +2 -2
- package/docs/LINKED_TEST_EDITS.md +38 -5
- package/docs/RELEASING.md +22 -2
- package/docs/SDK.md +103 -1
- package/docs/SDK_CONFIGURATION_SAFETY.md +55 -0
- package/docs/TESTING.md +2 -1
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +15 -3
- package/marketplace.json +1 -1
- package/package.json +9 -3
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/package.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/pm-codex/package.json +1 -1
- package/plugins/pm-codex/plugin.json +1 -1
- package/runtime-dependencies.json +1 -1
- package/dist/cli-bundle/chunks/chunk-5WVE7XBS.js +0 -114
- package/dist/cli-bundle/chunks/chunk-E74BORFX.js +0 -128
- package/dist/cli-bundle/chunks/chunk-MP2DQJH2.js +0 -3
- package/dist/cli-bundle/chunks/chunk-O6TFUV6M.js +0 -31
- package/dist/cli-bundle/chunks/item-transaction-Q5S5YLEJ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-3Z53POXU.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-7WJDRZOR.js +0 -22
- package/dist/cli-bundle/focused-chunks/chunk-AL7SOFUL.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-CIQ6YWCW.js +0 -26
- package/dist/cli-bundle/focused-chunks/chunk-GE755ODZ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-JCR32IAO.js +0 -91
- package/dist/cli-bundle/focused-chunks/chunk-M22TI7LP.js +0 -79
- package/dist/cli-bundle/focused-chunks/chunk-SXZM4PSS.js +0 -44
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import{A as h,C as g,E as mt,F as be,G as ee,H as Ae,I as Id,J as rs,K as pt,L as Td,a as Pe,b as ns,c as vd,e as jr,f as Lr,g as Fr,h as Ed,i as zr,j as Gt,k as kd,m as ve,n as Sd,o as Od,p as Ur,q as Hr,u as Dn,v as Ad,y as S,z as Pn}from"./chunk-O4ZLEN4T.js";import Dy 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]="77f9d61e-e78b-5b6a-a769-1ad6e5b91777")}catch{}})();function Py(e){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return e.toString();if(e===void 0)return"undefined";if(typeof e=="symbol")return e.toString();if(typeof e=="function")return`[function:${e.name||"anonymous"}]`}function My(e){let t=Object.keys(e).sort(),n={};for(let r of t){let o=e[r];o!==void 0&&(n[r]=qr(o))}return n}function qr(e){let t=Py(e);if(t!==void 0)return t;if(Array.isArray(e))return e.map(r=>qr(r));if(e instanceof Date)return e.toISOString();let n=e;if(typeof n.toJSON=="function"){let r=n.toJSON();if(r!==e)return qr(r)}return My(e)}function x(e){return JSON.stringify(qr(e))}function Cd(e,t,n,r){for(let o=0;o<t.length;o+=1)if(!n.has(o)&&r(e,t[o]))return n.add(o),!0;return!1}function $y(e,t){if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.toString()===t.toString()}function jy(e,t){if(e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime()}function Ly(e,t){if(!(e instanceof Set||t instanceof Set))return;if(!(e instanceof Set&&t instanceof Set)||e.size!==t.size)return!1;let n=[...t],r=new Set;for(let o of e)if(!Cd(o,n,r,W))return!1;return!0}function Fy(e,t){if(!(e instanceof Map||t instanceof Map))return;if(!(e instanceof Map&&t instanceof Map)||e.size!==t.size)return!1;let n=[...t.entries()],r=new Set;for(let[o,i]of e.entries())if(!Cd([o,i],n,r,([s,a],[c,d])=>W(s,c)&&W(a,d)))return!1;return!0}function zy(e,t){if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((n,r)=>W(n,t[r]))}function Uy(e,t){let n=Object.keys(e).sort((o,i)=>o.localeCompare(i)),r=Object.keys(t).sort((o,i)=>o.localeCompare(i));if(n.length!==r.length)return!1;for(let o=0;o<n.length;o+=1){let i=n[o];if(i!==r[o]||!W(e[i],t[i]))return!1}return!0}var Hy=[$y,jy,Ly,Fy,zy];function W(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||typeof e!="object"||typeof t!="object")return!1;for(let n of Hy){let r=n(e,t);if(r!==void 0)return r}return Uy(e,t)}function Vr(e){return Dy.createHash("sha256").update(e,"utf8").digest("hex")}function A(e,t){let n={};for(let o of t){let i=e[o];i!==void 0&&(n[o]=i)}let r=Object.keys(e).filter(o=>!t.includes(o)).sort((o,i)=>o.localeCompare(i));for(let o of r){let i=e[o];i!==void 0&&(n[o]=i)}return n}import{createHash as Rd}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]="f675993f-c483-5751-baed-d968b4fd24c0")}catch{}})();var qy=["policies","policy-put","policy-remove","policy-mode","policy-check","policy-approve","policy-presets"],xd=256,os=64;function le(e){throw new g(`Invalid workflow policy: ${e}`,h.USAGE,{code:"workflow_policy_invalid",nextSteps:["Inspect pm schema policies and correct the declaration using pm schema policy-put."]})}function Me(e,t,n){if(typeof e!="object"||e===null||Array.isArray(e))return le(`${n} must be an object`);let r=e;return Object.keys(r).some(o=>!t.includes(o))?le(`${n} contains an unknown key`):r}function _t(e,t,n=128){return typeof e!="string"||!e.trim()||e.length>n?le(`${t} must be nonempty text of at most ${n} characters`):e.trim()}function Mn(e,t){if(!Array.isArray(e)||e.length===0||e.length>os)return le(`${t} requires 1-${os} terms`);let n=e.map(r=>_t(r,t));return t==="fields"&&n.some(r=>!/^[a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*){0,7}$/.test(r)||r.split(".").some(o=>["__proto__","constructor","prototype"].includes(o)))?le("fields must be safe metadata paths of at most eight segments"):[...new Set(n)]}function Vy(e){let t=Me(e,["kind","fields","authors","allowed"],"rule");return t.kind==="transition"?(Me(t,["kind","allowed"],"transition rule"),!Array.isArray(t.allowed)||t.allowed.length>os?le("transition.allowed must be a bounded array"):{kind:"transition",allowed:t.allowed.map(n=>!Array.isArray(n)||n.length!==2?le("transition pairs need two statuses"):[_t(n[0],"from"),_t(n[1],"to")])}):t.kind==="authors"?(Me(t,["kind","authors"],"authors rule"),{kind:"authors",authors:Mn(t.authors,"authors")}):t.kind==="require_fields"?(Me(t,["kind","fields"],"require_fields rule"),{kind:"require_fields",fields:Mn(t.fields,"fields")}):t.kind==="field_writers"||t.kind==="approval"?(Me(t,["kind","fields","authors"],"field rule"),{kind:t.kind,fields:Mn(t.fields,"fields"),authors:Mn(t.authors,"authors")}):le("unknown rule kind")}function By(e){let t={},n=Me(e,["types","tags","statuses","operations","parents","dependency"],"subject");for(let r of["types","tags","statuses","operations","parents"])n[r]!==void 0&&(t[r]=Mn(n[r],r));if(n.dependency!==void 0){let r=Me(n.dependency,["kind","id"],"dependency");t.dependency={kind:_t(r.kind,"dependency kind"),...r.id===void 0?{}:{id:_t(r.id,"dependency id")}}}return t}function Wy(e){let t=Me(e,["id","description","subject","effect","rule"],"policy"),n=_t(t.id,"id");return/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(n)?t.effect!==void 0&&(typeof t.effect!="string"||!["advise","warn","refuse"].includes(t.effect))?le("effect must be advise, warn, or refuse"):{id:n,rule:Vy(t.rule),...t.subject===void 0?{}:{subject:By(t.subject)},...t.description===void 0?{}:{description:_t(t.description,"description",500)},...t.effect===void 0?{}:{effect:t.effect}}:le("id must be a stable token")}function Gy(e){let t=Me(e,["version","enforcement","policies"],"document");if(t.version!==1)return le("unsupported version");if(t.enforcement!==void 0&&t.enforcement!=="advise"&&t.enforcement!=="refuse")return le("enforcement must be advise or refuse");if(!Array.isArray(t.policies)||t.policies.length>xd)return le(`policies must contain at most ${xd} declarations`);let n=t.policies.map(Wy);return new Set(n.map(r=>r.id)).size!==n.length?le("duplicate policy id"):{version:1,enforcement:t.enforcement??"advise",policies:n}}function Br(e,t){let n=e;for(let r of t.split(".")){if(typeof n!="object"||n===null||!Object.hasOwn(n,r))return;n=n[r]}return n}function Ky(e){return e==null?!1:typeof e=="string"?e.trim().length>0:typeof e=="number"?Number.isFinite(e):Array.isArray(e)?e.length>0:typeof e=="object"?Object.keys(e).length>0:!0}function Nd(e){return Rd("sha256").update(x(e)).digest("hex")}function Yy(e,t){let n=e.rule.kind==="approval"?e.rule.fields:[];return Rd("sha256").update(x({id:t.id,fields:n.map(r=>[r,Br(t,r)])})).digest("hex")}function Xy(e,t){return Array.isArray(t)&&t.some(n=>typeof n=="object"&&n!==null&&"kind"in n&&n.kind===e.kind&&(e.id===void 0||"id"in n&&n.id===e.id))}function Jy(e,t,n){return!(e.types&&!e.types.some(r=>r.toLowerCase()===String(t.type).toLowerCase())||e.statuses&&!e.statuses.includes(String(t.status))||e.operations&&!e.operations.includes(n)||e.parents&&!e.parents.includes(String(t.parent))||e.tags&&(!Array.isArray(t.tags)||!e.tags.some(r=>t.tags.includes(r)))||e.dependency&&!Xy(e.dependency,t.dependencies))}function Zy(e,t){if(t.completeness_only&&(e.rule.kind!=="require_fields"||e.subject?.operations!==void 0)||e.rule.kind==="approval"&&t.before===null)return!1;let n=e.subject??{},r=t.after?.status??t.before?.status;return[t.before,t.after].some(o=>o!==null&&Jy(n,{...o,status:r},t.operation))}function Qy(e,t,n,r){let o=["type","tags","parent","dependencies"].some(i=>!W(t.before?.[i],t.after?.[i]));return t.after&&(t.completeness_only||n||r||o)?e.filter(i=>!Ky(Br(t.after,i))):[]}function eh(e,t,n,r){let o=t.after??t.before,i=Yy(e,o);return t.approvals?.some(s=>s.policy_fingerprint===r&&s.content_fingerprint===i&&s.author!==t.author&&n.includes(s.author))??!1}function th(e,t,n){let r=e.rule,o=t.before?.status!==t.after?.status,i="fields"in r&&r.fields.some(s=>!W(Br(t.before,s),Br(t.after,s)));switch(r.kind){case"require_fields":{let s=Qy(r.fields,t,o,i);return{satisfied:s.length===0,missing_fields:s,remediation:"Supply the declared required fields before this lifecycle transition."}}case"transition":return{satisfied:!o||r.allowed.some(([s,a])=>s===String(t.before?.status??"$create")&&a===String(t.after?.status??"$delete")),missing_fields:[],remediation:"Choose a declared allowed transition; inspect pm schema policies."};case"authors":return{satisfied:r.authors.includes(t.author),missing_fields:[],remediation:"Have a declared workflow actor perform this operation."};case"field_writers":return{satisfied:!i||r.authors.includes(t.author),missing_fields:[],remediation:"Have a declared field writer change the protected fields."};case"approval":return{satisfied:!o||eh(e,t,r.authors,n),missing_fields:[],remediation:`Record an independent approval with pm schema policy-approve <item-id> --policy ${e.id} after preparing the reviewed fields.`}}}function Dd(e,t,n){let r=e.policies.filter(o=>Zy(o,t)).map(o=>{let i=o.effect??"advise",s=n(o);return{policy_id:o.id,policy_fingerprint:s,rule:o.rule.kind,effect:i==="refuse"&&e.enforcement!=="refuse"?"warn":i,...th(o,t,s)}});return{allowed:!r.some(o=>!o.satisfied&&o.effect==="refuse"),decisions:r,warnings:r.filter(o=>!o.satisfied).map(o=>`workflow_policy:${o.effect}:${o.policy_id}:${o.rule}`)}}function RC(e,t){return Dd(e,t,Nd)}function NC(e){let t=Gy(e),n=new Map(t.policies.map(r=>[r,Nd(r)]));return r=>Dd(t,r,o=>n.get(o))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="451b262c-a9b6-5f1c-b397-2686a5fd953a")}catch{}})();var nh=[["history-redact","history redact"],["history-repair","history repair"],["history-compact","history compact"],["activity","history activity"],["restore","history restore"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!0,registration:"commander",owner:"pm-tqel"})),rh=[...["next","focus"].map(e=>({alias:e,canonical:`context ${e}`,owner:"pm-kcs4"})),...["stats","health","validate","gc","telemetry","eval","test-all"].map(e=>({alias:e,canonical:`ops ${e}`,owner:"pm-6apl"})),...["normalize","reindex"].map(e=>({alias:e,canonical:`ops ${e}`,owner:"pm-3i9q8g"})),{alias:"events",canonical:"history events",owner:"pm-3i9q8g"}].map(e=>({...e,canonical_argv:e.canonical.split(" "),lifecycle:"permanent",hidden:!0,registration:"bootstrap"})),oh=[["update-many","update many"],["close-many","close many"],["delete","close delete"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:"pm-ik19"})),ih=[...rh,...oh,...["init","config","schema","profile"].map(e=>({alias:e,canonical:`workspace ${e}`,canonical_argv:["workspace",e],lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:"pm-npr3"})),...[...["comments","notes","learnings","files","docs","deps","append","test"].map(e=>[e,`item ${e}`,"pm-yql1"]),["test-runs-worker","item test worker","pm-lp4j"],...["statuses","tags","types"].map(e=>[`completion-${e}`,`completion ${e}`,"pm-szdc"]),["history-author-acknowledge","history acknowledge","pm-djyvbk"],["copy","item copy","pm-m6g87m"],["merge","workspace merge","pm-m6g87m"],["duplicates","item duplicates","pm-fmy9ih"],["dedupe-audit","item duplicates audit","pm-fmy9ih"],["dedupe-merge","item duplicates merge","pm-fmy9ih"],["comments-audit","item audit-comments","pm-fmy9ih"],["search-advanced","search advanced","pm-wfskfn"],...["meet","event","remind"].map(e=>[e,`calendar ${e}`,"pm-o3fh"])].map(([e,t,n])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:n}))],is=[{alias:"history-attest",canonical:"history attest",canonical_argv:["history","attest"],lifecycle:"permanent",hidden:!0,registration:"commander",owner:"pm-3z0k"},...nh,...ih,...["discover","lookup"].map(e=>({alias:`files ${e}`,canonical:`item files ${e}`,canonical_argv:["item","files",e],lifecycle:"permanent",hidden:!0,registration:"bootstrap",owner:"pm-yql1"}))];function PC(e){let t;for(let n of is)n.canonical_argv.length<=(t?.canonical_argv.length??0)||n.canonical_argv.every((r,o)=>r===(o===0&&e[o]==="ctx"?"context":e[o]))&&(t=n);return t}function sh(e){let t=e.trim().replace(/\s+/gu," ");return is.find(n=>n.canonical===t.replace(/^ctx /u,"context "))?.alias??t}function $n(e){return sh(e)}var Wr=[...is,...[["ctx","context"],["packages","package"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:[t],lifecycle:"permanent",hidden:!1,registration:"commander",owner:"pm-pbyu"})),...[["start-task","claim","--start"],["pause-task","release","--pause"],["close-task","close","--release-assignment"]].map(([e,t,n])=>({alias:e,canonical:t,canonical_argv:[t,n],lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-eq4x"})),{alias:"tests",canonical:"item test",canonical_argv:["item","test"],lifecycle:"permanent",hidden:!1,registration:"bootstrap",owner:"pm-u4t9gp"},...[["fetch","get"],["read","get"],["show","get"],["view","get"],["comment","comments"],["note","notes"],["learning","learnings"]].map(([e,t])=>({alias:e,canonical:["comments","notes","learnings"].includes(t)?`item ${t}`:t,canonical_argv:["comments","notes","learnings"].includes(t)?["item",t]:[t],lifecycle:"permanent",hidden:!1,registration:"bootstrap",owner:"pm-pbyu"})),...[["extension list","extension catalog"],["extension scaffold","extension init"],["package list","package catalog"],["package scaffold","package init"],["packages list","package catalog"],["packages scaffold","package init"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"permanent",hidden:!1,registration:"commander",owner:"pm-ya7x55"})),{alias:"list-all",canonical:"list",canonical_argv:["list","--all"],lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-pfqi"},...[["list-draft","draft"],["list-open","open"],["list-in-progress","in_progress"],["list-blocked","blocked"],["list-closed","closed"],["list-canceled","canceled"]].map(([e,t])=>({alias:e,canonical:"list",canonical_argv:["list","--status",t],lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-pfqi"})),...[["extension","package"],["install","package install"],["upgrade","package upgrade"]].map(([e,t])=>({alias:e,canonical:t,canonical_argv:t.split(" "),lifecycle:"deprecated",hidden:!0,registration:"commander",owner:"pm-tnud"}))],MC=Object.fromEntries(Wr.filter(e=>e.registration==="bootstrap").map(e=>[e.alias,e.canonical]));function $C(e){let t=e.trim().toLowerCase();return Wr.find(n=>n.alias===t)}function jC(e){return`Deprecated command \`${e.alias}\`; use \`pm ${e.canonical_argv.join(" ")}\`.`}(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]="432226a6-9df4-5de6-b9af-5c06ec2eed66")}catch{}})();var ah=[...Pe],ch=[...Gt],dh=[...jr],HC=[...Lr],qC=[...Fr],lh=[...zr],Gr=["init","config","extension","package","packages","install","upgrade","create","item","copy","focus","list","list-all","list-draft","list-open","list-in-progress","list-blocked","list-closed","list-canceled","aggregate","context","ctx","get","graph","search","duplicates","eval","next","history","events","history-redact","history-repair","history-compact","history-attest","history-author-acknowledge","merge","schema","profile","activity","restore","update","update-many","close","close-many","delete","append","comments","notes","learnings","files","docs","deps","plan","test","test-all","telemetry","stats","health","validate","assurance","gc","workspace","contracts","claim","release","start-task","pause-task","close-task","meet","event","remind","help"],VC=["ancestors","descendants","predecessors","successors","paths","impact","analyze","audit","communities","redundancy","dominators","slack","centrality","articulation","plan","index"],BC=["install","reconcile","report","driver"],uh=["init","install","uninstall","explore","manage","describe","reload","doctor","catalog","adopt","adopt-all","activate","deactivate"],fh=["upgrade"],mh=["reopen"],Pd={help:"Commander help rendering has no SDK operation result.",packages:"The plural package alias only renders package-oriented help."},Kt=Object.freeze(Gr.flatMap(e=>e in Pd?[]:e==="extension"||e==="package"?[...uh.map(t=>`${e}-${t}`),...e==="package"?fh.map(t=>`package-${t}`):[],e]:e==="item"?mh.map(t=>`item-${t}`):[e])),ph=Object.freeze(Wr.filter(e=>e.lifecycle==="deprecated"&&e.registration==="commander"&&Kt.includes(e.alias)).map(e=>e.alias)),WC=Object.freeze(Kt.filter(e=>!ph.includes(e)));function GC(e=Gr,t=Kt,n=Pd){let r=new Set(t),o=new Set(e);return{missing_cli_actions:e.filter(i=>!r.has(i)&&!t.some(s=>s.startsWith(`${i}-`))&&n[i]===void 0),waived_cli_actions:e.filter(i=>!r.has(i)&&!t.some(s=>s.startsWith(`${i}-`))&&n[i]!==void 0),stale_waivers:Object.keys(n).filter(i=>!o.has(i)||r.has(i)||t.some(s=>s.startsWith(`${i}-`)))}}function KC(e){return Kt.includes(e)}function YC(e){return ah.includes(e)}function XC(e){return ch.includes(e)}function JC(e){return dh.includes(e)}function ZC(e){return lh.includes(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bc25122b-94e0-510e-bdbd-b10e3c255d68")}catch{}})();var _h=["Epic","Feature","Task","Chore","Issue","Decision","Event","Reminder","Milestone","Meeting","Plan"],Md=_h,Yt=["draft","open","in_progress","blocked","closed","canceled"],Kr=["draft","active","blocked","terminal","terminal_done","terminal_canceled","default_open","default_close","default_cancel"],Xt=["string","number","boolean","string_array","array","object"],Yr=["create","update","update_many","list","search","calendar","context"],Xr=["allow","warn","reject"],ex=["blocks","parent","child","parent_child","child_of","related","related_to","discovered_from","blocked_by","incident_from","epic","implements","recurs_from","supersedes","task","verifies"],tx=["project","global"],nx=["low","medium","high","critical"],Jr=["low","medium","high","critical"],Zr=["low","medium","high"];var $d=["minimal","default","strict","custom"],rx=["none","warn","strict"],ox=["progressive","strict"],ix=["off","warn","strict"],sx=["off","warn","strict"];var Qr=["daily","weekly","monthly","yearly"],jn=["mon","tue","wed","thu","fri","sat","sun"];function ss(e){return jn.indexOf(e)}var ax=["draft","research","review","approved","executing","paused","completed","superseded"],jd=["pending","in_progress","completed","blocked","skipped","superseded"],cx=["codex","claude-code","cursor","generic"],dx=["related","blocks","blocked_by","depends_on","discovered_from","implements","recurs_from","verifies","supersedes"],lx=["brief","standard","deep","full"],ux=["hierarchy","activity","progress","recently_created","unparented","blockers","files","workload","staleness","tests"];(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]="0ca7f52c-fb31-5cd9-b689-a918f4e61816")}catch{}})();import wh 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]="75f74db3-9547-5c78-8561-f371c016b90d")}catch{}})();function qe(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function yh(e){let t=e.key.trim();if(t.length===0)return null;let n=qe(e.aliases),r=e.description?.trim();return{key:t,values:qe(e.values),required:e.required===!0?!0:void 0,aliases:n.length>0?n:void 0,description:r&&r.length>0?r:void 0}}var hh=e=>e,Fd=e=>{let t=e.trim().toLowerCase();return t==="create"||t==="update"?t:null};function gh(e,t){let n=t(e.command);if(n===null)return null;let r=e.option.trim();return r.length===0?null:{command:n,option:r,required:e.required,visible:e.visible,enabled:e.enabled}}function bh(e,t){let n=new Map;for(let r of e??[]){let o=gh(r,t);o&&n.set(`${o.command}:${o.option.toLowerCase()}`,o)}return[...n.values()].sort((r,o)=>r.command===o.command?r.option.localeCompare(o.option):r.command.localeCompare(o.command))}function Ld(e,t){return t?qe(e):void 0}function as(e){let t=e?.trim();return t&&t.length>0?t:void 0}function cs(e){if(e===void 0||e==="agent"||e==="human"||e==="gate")return e;throw new Error("Item type execution_role must be agent, human, or gate.")}function eo(e,t={}){let n=t.resolvePolicyCommand??hh,r=e.name.trim();if(r.length===0)return null;let o=e.required_create_fields!==void 0,i=e.required_create_repeatables!==void 0,s=e.options!==void 0,a=e.command_option_policies!==void 0,c=qe(e.aliases),d=(e.options??[]).map(u=>yh(u)).filter(u=>u!==null).sort((u,f)=>u.key.localeCompare(f.key)),l=bh(e.command_option_policies,n);return{name:r,description:as(e.description),default_status:as(e.default_status),...e.execution_role===void 0?{}:{execution_role:cs(e.execution_role)},folder:as(e.folder),aliases:c.length>0?c:void 0,required_create_fields:Ld(e.required_create_fields,o),required_create_repeatables:Ld(e.required_create_repeatables,i),options:s?d:void 0,command_option_policies:a?l:void 0}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f40ddc8e-1dd5-5f26-b2ba-fbbac30a1781")}catch{}})();var vh=Object.freeze({decision:"human",milestone:"gate"}),Eh=["title","description","status","priority","tags","body","deadline","estimatedMinutes","acceptanceCriteria","author","message","assignee"],kh=["dep","comment","note","learning","file","test","doc"],Ud=["deadline","estimatedMinutes","acceptanceCriteria","definitionOfReady","order","goal","objective","value","impact","outcome","whyNow","assignee","parent","reviewer","risk","confidence","sprint","release","blockedBy","blockedReason","unblockNote","reporter","severity","environment","reproSteps","resolution","expectedResult","actualResult","affectedVersion","fixedVersion","component","regression","customerImpact"],Sh=["title","description","type","status","priority","tags","body",...Ud,"author","message","dep","comment","note","learning","file","test","doc","reminder","event","typeOption","field"],Oh=["title","description","body","status","closeReason","priority","type","tags",...Ud,"author","message","comment","note","learning","file","test","doc","reminder","event","typeOption","field","ownershipMetadataBypass","ownershipDependencyBypass","force"],Hd={"close-reason":"closeReason",close_reason:"closeReason","estimated-minutes":"estimatedMinutes",estimated_minutes:"estimatedMinutes",estimate:"estimatedMinutes","acceptance-criteria":"acceptanceCriteria",acceptance_criteria:"acceptanceCriteria",ac:"acceptanceCriteria","definition-of-ready":"definitionOfReady",definition_of_ready:"definitionOfReady",rank:"order","why-now":"whyNow",why_now:"whyNow","blocked-by":"blockedBy",blocked_by:"blockedBy","blocked-reason":"blockedReason",blocked_reason:"blockedReason","unblock-note":"unblockNote",unblock_note:"unblockNote","repro-steps":"reproSteps",repro_steps:"reproSteps","expected-result":"expectedResult",expected_result:"expectedResult","actual-result":"actualResult",actual_result:"actualResult","affected-version":"affectedVersion",affected_version:"affectedVersion","fixed-version":"fixedVersion",fixed_version:"fixedVersion","customer-impact":"customerImpact",customer_impact:"customerImpact","type-option":"typeOption",type_option:"typeOption",type_options:"typeOption"},Ah={...Hd},Ih={...Hd},qd=[["deadline","--deadline"],["estimatedMinutes","--estimate/--estimated-minutes"],["acceptanceCriteria","--acceptance-criteria/--ac"],["definitionOfReady","--definition-of-ready"],["order","--order/--rank"],["goal","--goal"],["objective","--objective"],["value","--value"],["impact","--impact"],["outcome","--outcome"],["whyNow","--why-now"],["assignee","--assignee"],["parent","--parent"],["reviewer","--reviewer"],["risk","--risk"],["confidence","--confidence"],["sprint","--sprint"],["release","--release"],["blockedBy","--blocked-by"],["blockedReason","--blocked-reason"],["unblockNote","--unblock-note"],["reporter","--reporter"],["severity","--severity"],["environment","--environment"],["reproSteps","--repro-steps"],["resolution","--resolution"],["expectedResult","--expected-result"],["actualResult","--actual-result"],["affectedVersion","--affected-version"],["fixedVersion","--fixed-version"],["component","--component"],["regression","--regression"],["customerImpact","--customer-impact"]],Vd=[["comment","--comment"],["note","--note"],["learning","--learning"],["file","--file"],["test","--test"],["doc","--doc"],["reminder","--reminder"],["event","--event"],["typeOption","--type-option"]];function Bd(e){return Object.fromEntries(e)}var Th=Bd([["title","--title"],["description","--description"],["type","--type"],["status","--status"],["priority","--priority"],["tags","--tags"],["body","--body"],...qd,["author","--author"],["message","--message"],["dep","--dep"],...Vd]),Ch=Bd([["title","--title"],["description","--description"],["body","--body"],["status","--status"],["closeReason","--close-reason"],["priority","--priority"],["type","--type"],["tags","--tags"],...qd,...Vd,["author","--author"],["message","--message"],["force","--force"]]);function xh(e){return e.trim().replace(/^--+/,"").toLowerCase()}function Rh(e){return e==="create"?Sh:Oh}function Nh(e){return e==="create"?Ah:Ih}function Wd(e,t){let n=xh(t);return n.length===0?void 0:Nh(e)[n]||Rh(e).find(r=>r.toLowerCase()===n)}function wx(e,t){return(e==="create"?Th:Ch)[t]??`--${t.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function ls(e){let t=Ph(e);return t.length===0?"items":t.endsWith("s")?t:`${t}s`}function Dh(e){let t=e.trim(),n=t.replaceAll("\\","/").replace(/^\/+/,""),r=wh.posix.normalize(n);if(t.includes("\0")||/^[A-Za-z]:/.test(r)||r==="."||r===".."||r.startsWith("../"))throw new Error(`Item type folder "${e}" must stay inside the pm tracker root.`);return r}function Ph(e){let t=e.trim().toLowerCase(),n="",r=!1;for(let o of t){let i=o.charCodeAt(0),s=i>=97&&i<=122,a=i>=48&&i<=57;if(s||a){r&&n.length>0&&(n+="-"),n+=o,r=!1;continue}n.length>0&&(r=!0)}return n}function Mh(e){return eo(e,{resolvePolicyCommand:Fd})}function Ln(e,t){let n=e[t];return Array.isArray(n)?n.filter(r=>typeof r=="string"):void 0}function $h(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return typeof t.key!="string"?null:{key:t.key,values:Ln(t,"values")??[],required:t.required===void 0?void 0:!!t.required,aliases:Ln(t,"aliases"),description:typeof t.description=="string"?t.description:void 0}}function jh(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;if(typeof t.command!="string"||typeof t.option!="string")return null;let n=t.command.trim().toLowerCase();return n!=="create"&&n!=="update"?null:{command:n,option:t.option,required:t.required===void 0?void 0:!!t.required,visible:t.visible===void 0?void 0:!!t.visible,enabled:t.enabled===void 0?void 0:!!t.enabled}}function Lh(e){if(Array.isArray(e.options))return e.options.map(t=>$h(t)).filter(t=>t!==null)}function Fh(e){if(Array.isArray(e.command_option_policies))return e.command_option_policies.map(t=>jh(t)).filter(t=>t!==null)}function zh(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e,n=typeof t.name=="string"?t.name:"";if(n.trim().length===0)return null;let r=typeof t.folder=="string"?t.folder:void 0,o=typeof t.description=="string"?t.description:void 0,i=typeof t.default_status=="string"?t.default_status:void 0;return{name:n,description:o,default_status:i,execution_role:cs(t.execution_role),folder:r,aliases:Ln(t,"aliases"),required_create_fields:Ln(t,"required_create_fields"),required_create_repeatables:Ln(t,"required_create_repeatables"),options:Lh(t),command_option_policies:Fh(t)}}function Uh(e,t){return e.required_create_fields?qe(e.required_create_fields):t?.required_create_fields??[]}function Hh(e,t){return e.required_create_repeatables?qe(e.required_create_repeatables):t?.required_create_repeatables??[]}function qh(e,t){return e.options?e.options:t?.options?[...t.options]:[]}function Vh(e,t){return e.command_option_policies?e.command_option_policies:t?.command_option_policies?[...t.command_option_policies]:[]}function Bh(e,t){let n=t?.name??e.name,r=e.description??t?.description,o=e.default_status??t?.default_status,i=Dh(e.folder??t?.folder??ls(n)),s={name:n,execution_role:e.execution_role,folder:i,aliases:qe([...t?.aliases??[],...e.aliases??[]]),required_create_fields:Uh(e,t),required_create_repeatables:Hh(e,t),options:qh(e,t),command_option_policies:Vh(e,t)};return r&&(s.description=r),o&&(s.default_status=o),s}function zd(e,t){for(let n of e){let r=Mh(n);if(!r)continue;let o=r.name.toLowerCase(),i=t.get(o);t.set(o,Bh({...r,execution_role:r.execution_role??i?.execution_role},i))}}function Wh(e){if(!e)return[];let t=[];for(let n of e.item_types??[]){let r=n.types;if(Array.isArray(r))for(let o of r){let i=zh(o);i&&t.push(i)}}return t}function vx(e,t=null){let n=new Map;for(let c of Md)n.set(c.toLowerCase(),{name:c,execution_role:vh[c.toLowerCase()]??"agent",folder:Dn[c],aliases:[],required_create_fields:[...Eh],required_create_repeatables:[...kh],options:[],command_option_policies:[]});zd(e.item_types?.definitions??[],n),zd(Wh(t),n);let r=[...n.values()].sort((c,d)=>c.name.localeCompare(d.name)),o={},i={},s={};for(let c of r){o[c.name]=c,s[c.name]=c.folder,i[c.name.toLowerCase()]=c.name;for(let d of c.aliases)i[d.toLowerCase()]=c.name}let a=[...new Set(r.map(c=>c.folder))].sort((c,d)=>c.localeCompare(d));return{types:r.map(c=>c.name),folders:a,type_to_folder:s,by_type:o,alias_to_type:i}}function Gh(e,t){if(e!==void 0)return t.alias_to_type[e.trim().toLowerCase()]}function Kh(e,t){let n=Gh(e,t);if(n)return t.by_type[n]}function Yh(e,t,n,r){for(let o of r){let i=Wd(n,o);if(i){e.required.add(i);continue}e.errors.push(`Unsupported base required option "${o}" for command "${n}" on type "${t.name}"`)}}function ds(e,t,n){if(n){e.add(t);return}e.delete(t)}function Xh(e,t,n,r){let o=Wd(n,r.option);if(!o){e.errors.push(`Unsupported command_option_policies option "${r.option}" for command "${n}" on type "${t.name}"`);return}r.required!==void 0&&ds(e.required,o,r.required),r.visible!==void 0&&ds(e.hidden,o,!r.visible),r.enabled!==void 0&&ds(e.disabled,o,!r.enabled)}function Jh(e,t,n){for(let r of t.command_option_policies)r.command===n&&Xh(e,t,n,r)}function Zh(e,t,n){for(let r of e.required)e.disabled.has(r)&&e.errors.push(`Option "${r}" cannot be both required and disabled for command "${n}" on type "${t.name}"`)}function Ex(e,t,n){let r=[],o=new Set,i=new Set,s=new Set,a={required:o,hidden:i,disabled:s,errors:r};return Yh(a,e,t,n),Jh(a,e,t),Zh(a,e,t),{required:[...o],hidden:[...i].sort((c,d)=>c.localeCompare(d)),disabled:[...s].sort((c,d)=>c.localeCompare(d)),errors:r}}function Qh(e){let t=new Map;for(let n of e.options){t.set(n.key.toLowerCase(),n);for(let r of n.aliases??[])t.set(r.toLowerCase(),n)}return t}function eg(e,t,n){let r=e.values;if(r.length===0)return t;let o=new Map(r.map(i=>[i.toLowerCase(),i])).get(t.toLowerCase());if(!o){n.push(`Invalid value "${t}" for type option "${e.key}". Allowed: ${r.join(", ")}`);return}return o}function kx(e,t,n){let r=Kh(e,n);if(!r)return{normalized:void 0,errors:[`Unknown type "${e}"`]};let o=[],i=Qh(r),s={};for(let[c,d]of Object.entries(t??{})){let l=c.trim(),u=d.trim();if(l.length===0){o.push("type option keys must not be empty");continue}if(u.length===0){o.push(`type option "${l}" must not be empty`);continue}let f=i.get(l.toLowerCase());if(!f){let _=r.options.map(y=>y.key).join(", ");o.push(r.options.length>0?`Unknown type option "${l}" for type "${r.name}". Allowed: ${_}`:`Type "${r.name}" does not define any configurable type options`);continue}let m=eg(f,u,o);m!==void 0&&(s[f.key]=m)}for(let c of r.options)c.required&&!(c.key in s)&&o.push(`Missing required type option "${c.key}" for type "${r.name}"`);let a=Object.keys(s).sort((c,d)=>c.localeCompare(d));return a.length===0?{normalized:void 0,errors:o}:{normalized:Object.fromEntries(a.map(c=>[c,s[c]])),errors:o}}import{readFileSync as tg,readdirSync as ng,realpathSync as Gd,statSync as Kd}from"node:fs";import rg from"node:os";import C 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]="7f4b8abe-997c-549c-9791-87c78506c8b5")}catch{}})();var og={json_markdown:".md",toon:".toon"},ig={".md":"json_markdown",".toon":"toon"},sg=new Set([".git","coverage","dist","node_modules"]),Nx=[".md",".toon"];function Fn(e){try{return Kd(e),!0}catch{return!1}}function ag(e){let t=C.resolve(e),n=[];for(;C.dirname(t)!==t;)try{return C.join(Gd(t),...n)}catch(r){if(!be(r))throw r;n.unshift(C.basename(t)),t=C.dirname(t)}return C.join(Gd(t),...n)}function cg(e){try{return Kd(e),!0}catch(t){if(be(t))return!1;throw t}}function Yd(e){try{let t=JSON.parse(tg(e,"utf8"));return typeof t!="object"||t===null||Array.isArray(t)?!1:"id_prefix"in t||"item_format"in t}catch{return!1}}function dg(e){let t=ag(e);for(;;){let n=C.join(t,Ur),r=C.join(n,Hr);if(Fn(r))return n;let o=C.join(t,Hr);if(Fn(o)&&Yd(o))return t;if(cg(C.join(t,".git")))return n;let i=C.dirname(t);if(i===t)return;t=i}}function us(e){return dg(e)??C.resolve(e,Ur)}function Dx(e,t){let n=t?C.resolve(t):void 0;try{return ng(C.resolve(e),{withFileTypes:!0}).filter(r=>r.isDirectory()&&!sg.has(r.name)).map(r=>C.join(C.resolve(e),r.name)).filter(r=>r!==n).filter(r=>Fn(Ie(r))).filter(r=>Yd(Ie(r))).sort((r,o)=>r.localeCompare(o))[0]}catch{return}}function Xd(e,t){let n=process.env.PM_PATH,r=t?.trim()||n?.trim();if(r){let o=C.resolve(e,r);if(!Fn(Ie(o))){let i=C.join(o,Ur);if(Fn(Ie(i)))return i}return o}return us(e)}function Jd(e){let t=C.resolve(e),n=C.dirname(t);return C.basename(t)==="pm"&&C.basename(n)===".agents"?C.dirname(n):t}function Zd(e){let t=process.env.PM_GLOBAL_PATH?.trim(),n=t&&t.length>0?t:C.join(rg.homedir(),".pm-cli");return C.resolve(e,n)}function Ie(e){return C.join(e,Hr)}function lg(e,t,n=Dn){let r=n[t]??ls(t);return C.join(e,r)}function Px(e,t,n,r="toon",o=Dn){return C.join(lg(e,t,o),`${n}${og[r]}`)}function Mx(e){let t=e.replaceAll("\\","/"),n=C.posix.extname(t).toLowerCase();return ig[n]??null}function $x(e,t){if(!/^(?!\.{1,2}$)[^/\\:\0]+$/.test(t))throw new g("Invalid history item id: expected a single filename.",h.USAGE);return C.join(e,"history",`${t}.jsonl`)}function fs(e,t){return C.join(e,"locks",`${t}.lock`)}function ms(e){return C.join(e,"runtime")}function to(e){return C.join(ms(e),"test-runs")}function ug(e){return C.join(to(e),"runs")}function jx(e,t){return C.join(ug(e),`${t}.json`)}function fg(e){return C.join(to(e),"stdout")}function mg(e){return C.join(to(e),"stderr")}function Lx(e,t){return C.join(fg(e),`${t}.log`)}function Fx(e,t){return C.join(mg(e),`${t}.log`)}function pg(e){return C.join(to(e),"results")}function zx(e,t){return C.join(pg(e),`${t}.json`)}(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]="86412887-5659-5892-beaa-bdd15a02ff4c")}catch{}})();var Qd=e=>{let t='"',n=0;for(let r of e){if(r==="\\"){n+=1;continue}t+="\\".repeat(r==='"'?n*2+1:n),t+=r,n=0}return`${t}${"\\".repeat(n*2)}"`},el=(e,t=process.platform)=>(t==="win32"?/^[A-Za-z0-9._:/\\@=-]+$/:/^[A-Za-z0-9._:/@=-]+$/).test(e)?e:t==="win32"?Qd(e):`"${e.replace(/(["\\$`])/g,"\\$1")}"`,Jt=(e,t=process.platform)=>{let n=e.map(r=>el(r,t)).join(" ");return n.length>0?`pm ${n}`:"pm"};(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]="7607f0d2-6e95-5b85-9bc2-18f643a64171")}catch{}})();var tl=new Set(["--pm-path","--path","--author","--output-include","--output-limit","--output-budget","--output-format","--format","--output-session","--output-cursor"]),_g=new Set(["--no-extensions","--no-pager","--json","--quiet","--lean","--token-accounting","--output-row-contract","--all"]);function yg(e){let t=e.indexOf("=");return t>0&&tl.has(e.slice(0,t))}function hg(e,t){return typeof t!="string"?!1:e==="--path"||e==="--pm-path"||!t.startsWith("-")}function no(e){for(let t=0;t<e.length;t+=1){let n=e[t];if(n==="--")return;if(tl.has(n)){t+=hg(n,e[t+1])?1:0;continue}if(!(yg(n)||_g.has(n)||n==="--profile"||n==="--id-only"||n==="--explain")&&!n.startsWith("-"))return t}}function qx(e){let t=no(e);return t===void 0?void 0:e[t].trim().toLowerCase()}import gg from"node:path";import nl from"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]="01422574-583a-5fd1-bc00-f61f430073cd")}catch{}})();function zn(e,t){let n=nl.relative(e,t);return n.length===0?!0:!n.startsWith("..")&&!nl.isAbsolute(n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="08181915-ead8-51bc-a078-9d97b9048f37")}catch{}})();var ps=new WeakMap;function Zx(e){ps.set(e,e.path)}function bg(e){if(!process.env.PM_PATH?.trim())return;let t=Xd(e);return zn(Jd(t),e)&&t===us(e)?void 0:gg.relative(e,t)||"."}function Qx(e,t=process.cwd()){let n=(ps.has(e)?ps.get(e):e.path)||bg(t),r=n?["--pm-path",n]:[];return e.noExtensions&&r.push("--no-extensions"),r}var wg=new Set(["--literal","--regex","--replacement"]);function vg(e){let t=no(e);if(t===void 0)return!1;if(e[t]==="history-redact")return!0;if(e[t]!=="history")return!1;let n=e.slice(t+1),r=no(n);return r!==void 0&&n[r]==="redact"}function eR(e){if(!vg(e))return[...e];let t=[],n=!1;for(let r of e){if(n){t.push("[redacted]"),n=!1;continue}n=!1;let o=r.indexOf("="),i=o>=0?r.slice(0,o):r;if(!wg.has(i)){t.push(r);continue}if(o>=0){t.push(`${i}=[redacted]`);continue}t.push(i),n=!0}return t}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c24357cc-5dad-5cd7-aa89-cddd2945aab7")}catch{}})();var Eg=Object.freeze([{flag:"--json"},{flag:"--lean"},{flag:"--token-accounting"},{flag:"--output-include",value_name:"fields"},{flag:"--output-limit",value_name:"count"},{flag:"--output-budget",value_name:"tokens"},{flag:"--output-format",value_name:"toon|json"},{flag:"--output-session",value_name:"state"},{flag:"--output-cursor",value_name:"cursor"},{flag:"--output-row-contract"},{flag:"--quiet"},{flag:"--no-changed-fields"},{flag:"--full-changed-fields"},{flag:"--id-only"},{flag:"--pm-path",aliases:["--path"]},{flag:"--no-extensions"},{flag:"--no-pager"},{flag:"--profile"},{flag:"--help"},{flag:"--author",value_name:"id"}]),_s=new Set(Eg.flatMap(e=>[e.flag,...e.aliases??[]]));(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]="896ebde0-4ca1-50ed-bb8e-2a8c2d978d94")}catch{}})();var rl=/^(--[a-z0-9][a-z0-9_-]*)(?:[ =](<[^<>]+>|\[[^[\]]+\]))?$/;function ys(e){if(typeof e!="string")return null;let t=rl.exec(e.trim());if(!t)return null;let n=t[2];return{name:t[1],valueName:n?n.slice(1,-1):null,optional:n?.startsWith("[")??!1}}function oR(e){let t=ys(e);return t?t.name:typeof e=="string"&&e.trim()||null}function kg(e){if(typeof e!="string")return null;let t=e.trim(),n=t.split(/[ =]/,1)[0];return _s.has(n)?"host_owned_flag_collision":rl.test(t)?null:"malformed_long_flag"}function ol(e,t){let n=[e,t].find(i=>typeof i=="string"&&_s.has(i.trim().split(/[ =]/,1)[0]));if(typeof n=="string")return{token:n.trim().split(/[ =]/,1)[0],failure:"host_owned_flag_collision"};if(typeof e!="string")return null;let r=e.trim(),o=kg(r);return o===null?null:{token:r,failure:o}}function il(e,t){return t==="host_owned_flag_collision"?`cannot shadow host-owned global flag "${e}"; read it from context.global instead`:`long flag "${e}" must start with a double-dash name such as "--my-flag" or "--my-flag <value>"`}(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]="a797572f-fbc6-5e62-a9b5-5a0bd6ef22b4")}catch{}})();function Sg(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function sR(e){return Sg(e)??void 0}function aR(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}function cR(e){return Array.isArray(e)&&e.every(t=>typeof t=="number"&&Number.isFinite(t))}function al(e){if(e instanceof Error){let t=e.message.trim();return t.length>0?t:e.name}return String(e)}function ro(e){let t=typeof e=="number"?e:typeof e=="string"&&e.trim().length>0?Number(e.trim()):Number.NaN;return Number.isFinite(t)?t:null}function dR(e){let t=ro(e);return t===null||t<=0||!Number.isInteger(t)?null:t}function lR(e,t,n){let r=ro(e);return r===null||r<t||r>n?null:r}function uR(e){return typeof e!="object"||e===null||Array.isArray(e)?null:e}function Ve(e){return typeof e!="object"||e===null?null:e}function sl(e){return typeof e!="object"&&typeof e!="function"||e===null?null:e}function cl(e){let t=sl(e);if(!t)return null;if(typeof t.activate=="function")return t;let n=sl(t.default);return typeof n?.activate=="function"?n:null}function fR(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?{...e}:{}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="92573990-a040-526d-a0b1-b91d2ef401f1")}catch{}})();function oo(e){let t=Math.ceil(e.size/2);for(let n of e.keys()){if(t===0)return;e.delete(n),t-=1}}import Og from"node:crypto";import{AsyncLocalStorage as Ag}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ced47074-06d3-53b9-af75-63586cbd4f6a")}catch{}})();var hs=new Ag,dl=1024;function Ig(e){let t=Date.parse(e.clock);if(!Number.isFinite(t))throw new Error(`Invalid reproducible workspace clock: ${e.clock}`);if(!Number.isSafeInteger(e.tickMs)||e.tickMs<0)throw new Error("Reproducible workspace tickMs must be a non-negative integer");if(e.seed.trim().length===0)throw new Error("Reproducible workspace seed must not be empty");return{...e,clock:new Date(t).toISOString()}}function Tg(e){let t={...Ig(e),clockReads:0,tokenReads:0};return n=>hs.run(t,n)}async function hR(e,t){return Tg(e)(t)}function ll(){let e=hs.getStore();if(e===void 0)return;let t=new Date(Date.parse(e.clock)+e.clockReads*e.tickMs).toISOString();return e.clockReads+=1,t}function gR(e){let t=hs.getStore();if(t===void 0)return;if(!Number.isSafeInteger(e)||e<0||e>dl)throw new Error(`Reproducible token length must be an integer between 0 and ${dl}`);let n="";for(;n.length<e;){let r=Og.createHash("sha256").update(`${t.seed}\0${t.tokenReads}`).digest();t.tokenReads+=1;for(let o of r)if(n+=(o%36).toString(36),n.length===e)break}return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0bf155fc-c690-5318-ba1e-275f1787858b")}catch{}})();var Cg=/^([+-]?)(\d+)([hdwm])$/i,xg=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,Rg=/^(\d{4})(\d{2})(\d{2})$/,Ng=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Dg=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})-(\d{2})(?:-(\d{2}))?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Pg=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Mg=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/i;function Te(){return ll()??new Date().toISOString()}function $e(e){return Number.isFinite(Date.parse(e))}function Un(e){let t=Mg.exec(e);if(!t||!Number.isFinite(Date.parse(e)))return!1;let[,n,r,o,i,s,a,c,d]=t,[l,u,f,m,_,y]=[n,r,o,i,s,a].map(Number);return u>=1&&u<=12&&f>=1&&f<=ws(l,u-1)&&m<=23&&_<=59&&y<=59&&(c===void 0||Number(c)<=23)&&(d===void 0||Number(d)<=59)}function Zt(e){let t=/\.(\d+)(?:Z|[+-]\d{2}:\d{2})$/iu.exec(e)?.[1];return Un(e)&&(t===void 0||/^\d{0,3}0*$/u.test(t))}var $g=1e4,io=new Map;function ul(e){let t=io.get(e);if(t!==void 0)return t;let n=Date.parse(e);return io.size>=$g&&oo(io),io.set(e,n),n}function re(e,t){let n=ul(e),r=ul(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function SR(e,t){return!(t.deadlineBefore&&(!e.deadline||re(e.deadline,t.deadlineBefore)>0)||t.deadlineAfter&&(!e.deadline||re(e.deadline,t.deadlineAfter)<0)||t.updatedAfter&&re(e.updated_at,t.updatedAfter)<0||t.updatedBefore&&re(e.updated_at,t.updatedBefore)>0||t.createdAfter&&re(e.created_at,t.createdAfter)<0||t.createdBefore&&re(e.created_at,t.createdBefore)>0)}function gs(e){return e?`.${e.slice(1).padEnd(3,"0").slice(0,3)}`:""}function bs(e){if(!e)return"";if(e.toUpperCase()==="Z")return"Z";let t=/^([+-]\d{2})(\d{2})$/.exec(e);return t?`${t[1]}:${t[2]}`:e}function jg(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function Lg(e){let t=[],n=d=>jg(t,e,d),r=Rg.exec(e);if(r){let[,d,l,u]=r;n(`${d}-${l}-${u}`)}let o=Ng.exec(e);if(o){let[,d,l,u,f,m,_,y,w]=o,v=_?`:${_}`:"";n(`${d}-${l}-${u}T${f}:${m}${v}${gs(y)}${bs(w)}`)}let i=Dg.exec(e);if(i){let[,d,l,u,f,m,_]=i,y=f?`:${f}`:"";n(`${d}T${l}:${u}${y}${gs(m)}${bs(_)}`)}let s=Pg.exec(e);if(s){let[,d,l,u,f,m,_]=s,y=f?`:${f}`:"";n(`${d}T${l}:${u}${y}${gs(m)}${bs(_)}`)}let a=10,c=e.slice(0,a);if(zg(c)){let d=a;for(;d<e.length&&Ug(e[d]);)d+=1;d<e.length&&n(`${c}T${e.slice(d)}`)}return t}function Fg(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of Lg(e)){let r=Date.parse(n);if(Number.isFinite(r))return r}return Number.NaN}function zg(e){if(e.length!==10)return!1;for(let t=0;t<e.length;t+=1){let n=e[t];if(t===4||t===7){if(n!=="-")return!1;continue}let r=n.charCodeAt(0);if(r<48||r>57)return!1}return!0}function Ug(e){return e?e===" "||e===" "||e===`
|
|
2
|
+
`||e==="\r"||e==="\f"||e==="\v":!1}function ws(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var Hg=["January","February","March","April","May","June","July","August","September","October","November","December"],qg=/^(\d{4})-(\d{2})-(\d{2})/,Vg=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Bg(e,t,n){let r=qg.exec(t)??Vg.exec(t);if(!r)return;let o=Number.parseInt(r[1],10),i=Number.parseInt(r[2],10),s=Number.parseInt(r[3],10),a=n?.trim()||"deadline";if(i<1||i>12)throw new g(`Invalid ${a} value "${e}". Month "${r[2]}" is out of range \u2014 use a month between 01 and 12.`,h.USAGE,{field:a,value:e});let c=ws(o,i-1);if(s<1||s>c)throw new g(`Invalid ${a} value "${e}". ${Hg[i-1]} ${o} has ${c} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,h.USAGE,{field:a,value:e})}function Wg(e,t){let n=new Date(e.getTime()),r=n.getUTCDate(),o=n.getUTCMonth()+t,i=n.getUTCFullYear()+Math.floor(o/12),s=(o%12+12)%12,a=Math.min(r,ws(i,s));return n.setUTCFullYear(i,s,a),n}function OR(e,t=new Date,n="deadline"){let r=e.trim();if(r.toLowerCase()==="now")return t.toISOString();let o=Cg.exec(r);if(o){let s=o[1]==="-"?-1:1,a=Number.parseInt(o[2],10)*s,c=o[3].toLowerCase();if(c==="m")return Wg(t,a).toISOString();let d=c==="h"?3600*1e3:c==="d"?1440*60*1e3:10080*60*1e3;return new Date(t.getTime()+a*d).toISOString()}Bg(e,r,n);let i=Fg(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=xg.test(r)?"Compound relative expressions like +3d+1h are not supported; use a single relative token (for example +3d) or an ISO/date string.":'Use ISO/date string input, "now", or relative +6h/-6h/+1d/-1d/+2w/-2w/+6m/-6m.';throw new g(`Invalid ${s} value "${e}". ${a}`,h.USAGE,{field:s,value:e})}return new Date(i).toISOString()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5c3049c3-1d5a-5e7e-a070-35340737a6ab")}catch{}})();var fl=Object.freeze({string:"string",number:"number",int:"number",integer:"number",float:"number",boolean:"boolean",bool:"boolean"});function so(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return Object.hasOwn(fl,t)?fl[t]:null}function Gg(e,t,n){return!!(e.value_name?.trim()||t||n||e.required===!0||e.list===!0||e.repeatable===!0)}function Kg(e){return(e.value_type?.trim()||e.type?.trim())?.toLowerCase()}function TR(e){let t=Kg(e),n=so(t),r=ys(e.long),o=e.value_name?.trim()||null,i=!(n==="boolean"&&t!=="bool")&&Gg(e,r?.valueName,t),s=r?.valueName?r.optional:t==="bool";return{value_type:n,value_arity:i?s?"optional":"required":"none",value_name:i?o??r?.valueName??"value":null}}function ml(e){let t=[],n=r=>{if(Array.isArray(r)){for(let o of r)n(o);return}if(typeof r=="string"){for(let o of r.split(",")){let i=o.trim();i.length>0&&t.push(i)}return}r!=null&&t.push(r)};return n(e),t}function pl(e,t){return t==="string"?!0:t==="number"?typeof e=="number"?Number.isFinite(e):typeof e=="string"&&e.trim().length>0&&Number.isFinite(Number(e)):typeof e=="boolean"?!0:typeof e=="string"&&["true","false","1","0"].includes(e.trim().toLowerCase())}function CR(e,t){return t==="number"?typeof e=="number"&&Number.isFinite(e)?null:{kind:t,received:e,expected:"a finite number"}:typeof e=="boolean"?null:{kind:t,received:e,expected:"true, false, 1, or 0"}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="628615ea-5be3-5753-a6c5-3eba8400a8da")}catch{}})();function ao(e,t,n){if(e===t)return 0;if(Math.abs(e.length-t.length)>n)return null;let r=t.length+1,o=new Array(r),i=new Array(r),s=new Array(r);for(let c=0;c<r;c+=1)o[c]=0,i[c]=c;for(let c=1;c<=e.length;c+=1){s[0]=c;let d=s[0];for(let l=1;l<=t.length;l+=1){let u=e[c-1]===t[l-1]?0:1,f=i[l-1]+u,m=s[l-1]+1,_=i[l]+1,y=Math.min(f,m,_);c>1&&l>1&&e[c-1]===t[l-2]&&e[c-2]===t[l-1]&&(y=Math.min(y,o[l-2]+1)),s[l]=y,y<d&&(d=y)}if(d>n)return null;for(let l=0;l<r;l+=1)o[l]=i[l],i[l]=s[l]}let a=i[t.length];return a<=n?a:null}(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]="2ea7934f-4751-5245-a5ba-492681aa3794")}catch{}})();var vs=[{kind:"blocked_by",direction:"directed",traversal:"ordering",inverse:"blocks",ordering:!0,precedence:"target_before_source",hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",aliases:["depends_on"],compatibilityVersion:1,allowSelf:!1},{kind:"blocks",direction:"directed",traversal:"ordering",inverse:"blocked_by",ordering:!0,precedence:"source_before_target",hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"parent",direction:"directed",traversal:"hierarchy",outcomeTraversal:"source_to_target",inverse:"child",ordering:!1,hierarchy:!0,hierarchyDirection:"target_parent",outgoing:"one",incoming:"many",lifecycle:"supersedable",aliases:["child_of","epic"],compatibilityVersion:1,allowSelf:!1},{kind:"child",direction:"directed",traversal:"hierarchy",outcomeTraversal:"target_to_source",inverse:"parent",ordering:!1,hierarchy:!0,hierarchyDirection:"source_parent",outgoing:"many",incoming:"one",lifecycle:"supersedable",aliases:["parent_child","task"],compatibilityVersion:1,allowSelf:!1},{kind:"related",direction:"undirected",traversal:"association",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",aliases:["related_to"],compatibilityVersion:1,allowSelf:!1},{kind:"discovered_from",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"incident_from",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"implements",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"recurs_from",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,temporalOrder:"source_after_target",hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"verifies",direction:"directed",traversal:"semantic",outcomeTraversal:"source_to_target",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"persistent",compatibilityVersion:1,allowSelf:!1},{kind:"supersedes",direction:"directed",traversal:"semantic",outcomeTraversal:"both",ordering:!1,hierarchy:!1,outgoing:"many",incoming:"many",lifecycle:"supersedable",compatibilityVersion:1,allowSelf:!1}];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="418b3f7f-6350-5878-a362-3948de287baf")}catch{}})();function uo(e){return e.trim().toLowerCase().replaceAll("-","_")}function Yg(e){if(e===void 0)return;let t=uo(e);if(!/^[a-z][a-z0-9_]*$/.test(t))throw new TypeError(`Invalid inverse relationship kind: ${e}`);return t}function ks(e,t=new Set){if(e===null||typeof e!="object"||t.has(e))return e;if(t.add(e),Array.isArray(e)){for(let n of e)ks(n,t);return Object.freeze(e)}for(let n of Object.values(e))ks(n,t);return Object.freeze(e)}function Xg(e,t){if(e.precedence!==void 0&&e.precedence!=="source_before_target"&&e.precedence!=="target_before_source")throw new TypeError(`Invalid relationship precedence for ${t}`);if(!e.ordering&&e.precedence!==void 0)throw new TypeError(`Non-ordering relationship kind cannot declare precedence: ${t}`)}function Jg(e,t){if(e.temporalOrder!==void 0&&e.temporalOrder!=="source_after_target")throw new TypeError(`Invalid relationship temporal order for ${t}`);if(e.direction!=="directed"&&e.temporalOrder!==void 0)throw new TypeError(`Undirected relationship kind cannot declare temporal order: ${t}`)}function Zg(e,t){if(e.hierarchyDirection!==void 0&&e.hierarchyDirection!=="source_parent"&&e.hierarchyDirection!=="target_parent")throw new TypeError(`Invalid relationship hierarchy direction for ${t}`);if(!e.hierarchy&&e.hierarchyDirection!==void 0)throw new TypeError(`Non-hierarchy relationship kind cannot declare hierarchy direction: ${t}`)}function Qg(e){if(typeof e!="object"||e===null)throw new TypeError("Relationship kind definition requires an object");if(typeof e.kind!="string")throw new TypeError("Relationship kind requires a string identifier");let t=uo(e.kind);if(!/^[a-z][a-z0-9_]*$/.test(t))throw new TypeError(`Invalid relationship kind: ${e.kind}`);if(!Number.isInteger(e.compatibilityVersion)||e.compatibilityVersion<1)throw new TypeError(`Invalid compatibility version for ${t}`);return t}function eb(e,t){if(!["directed","undirected"].includes(e.direction))throw new TypeError(`Invalid relationship direction for ${t}`);if(typeof e.ordering!="boolean")throw new TypeError(`Invalid relationship ordering flag for ${t}`);if(![void 0,!0,!1].includes(e.hierarchy))throw new TypeError(`Invalid relationship hierarchy flag for ${t}`);if(!["one","many"].includes(e.outgoing))throw new TypeError(`Invalid outgoing relationship cardinality for ${t}`);if(!["one","many"].includes(e.incoming))throw new TypeError(`Invalid incoming relationship cardinality for ${t}`);if(!["persistent","supersedable","ephemeral"].includes(e.lifecycle))throw new TypeError(`Invalid relationship lifecycle for ${t}`);if(typeof e.allowSelf!="boolean")throw new TypeError(`Invalid relationship self-edge flag for ${t}`);if(e.traversal!==void 0&&!["hierarchy","ordering","semantic","association"].includes(e.traversal))throw new TypeError(`Invalid relationship traversal family for ${t}`);if(e.outcomeTraversal!==void 0&&!["source_to_target","target_to_source","both"].includes(e.outcomeTraversal))throw new TypeError(`Invalid outcome traversal for ${t}`);if(e.direction==="undirected"&&e.outcomeTraversal!==void 0&&e.outcomeTraversal!=="both")throw new TypeError(`Undirected relationship kind cannot declare directional outcome traversal: ${t}`)}function tb(e,t){if(e.payloadSchema!==void 0&&(typeof e.payloadSchema!="object"||e.payloadSchema===null||Array.isArray(e.payloadSchema)))throw new TypeError(`Invalid relationship payload schema for ${t}`);if(e.aliases!==void 0&&(!Array.isArray(e.aliases)||e.aliases.some(n=>typeof n!="string")))throw new TypeError(`Invalid relationship aliases for ${t}`)}function nb(e){return e.traversal?e.traversal:e.ordering?"ordering":e.hierarchy?"hierarchy":e.direction==="undirected"?"association":"semantic"}var Ss=class{#e=new Map;#n=new Map;constructor(t=vs){for(let n of t)this.register(n)}register(t){let n=Qg(t);if(eb(t,n),tb(t,n),Xg(t,n),Jg(t,n),Zg(t,n),this.#e.has(n)||this.#n.has(n))throw new TypeError(`Relationship kind already registered: ${n}`);let r=Yg(t.inverse),o=[...new Set((t.aliases??[]).map(uo))].sort();for(let s of o){if(!/^[a-z][a-z0-9_]*$/.test(s))throw new TypeError(`Invalid relationship alias: ${s}`);if(s===n||this.#e.has(s)||this.#n.has(s))throw new TypeError(`Relationship alias already registered: ${s}`)}let i=Object.freeze({...t,kind:n,traversal:nb(t),hierarchy:t.hierarchy??!1,hierarchyDirection:t.hierarchy?t.hierarchyDirection??"source_parent":void 0,inverse:r,aliases:Object.freeze(o),payloadSchema:t.payloadSchema?ks(structuredClone(t.payloadSchema)):void 0});this.#e.set(n,i);for(let s of o)this.#n.set(s,n);return this}resolve(t){if(typeof t!="string")return;let n=uo(t);return this.#e.get(this.#n.get(n)??n)}require(t){let n=this.resolve(t);if(!n)throw new TypeError(`Unknown relationship kind: ${t}`);return n}list(){return Object.freeze([...this.#e.values()].sort((t,n)=>t.kind.localeCompare(n.kind)))}};function Os(){return new Ss}var yt=Os();function MR(e){return yt.require(e).kind}function $R(e){return yt.resolve(e)?.kind}function jR(e,t=yt){return t.resolve(e)?.ordering===!0}function rb(e,t,n,r=yt){let o=Hn(e),i=Hn(t);if(!o||!i)throw new TypeError("Relationship endpoint must not be empty");let s=r.require(n);if(o===i&&!s.allowSelf)throw new TypeError(`Self relationship is not allowed for ${s.kind}`);return s}function co(e,t){return e.source.localeCompare(t.source)||e.target.localeCompare(t.target)||e.kind.localeCompare(t.kind)}function ob(e,t,n){let r=typeof e.source=="string"?e.source.trim():"",o=typeof e.target=="string"?e.target.trim():"";if(!t.has(r)||!t.has(o))throw new TypeError(`Relationship endpoint not found: ${r} -> ${o}`);let i=rb(r,o,e.kind,n),s=Object.freeze({...e,source:r,target:o,kind:i.kind}),a=i.direction==="undirected"?[r,o].sort().join("\0"):`${r}\0${o}`;return{edge:s,identity:`${i.kind}\0${a}`}}function lo(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function Hn(e){return typeof e=="string"?e.trim():""}function Es(e,t){let n=Hn(e);return n&&t.has(n)?n:void 0}function ib(e,t,n){let r=[t],o=t;for(;o!==e;)o=n.get(o),r.push(o);return r.reverse()}var _l=class e{#e;#n;#o;#r;#s=new Map;#a=new Map;constructor(t,n,r=yt){this.#e=r,this.#n=new Set([...t].filter(i=>typeof i=="string").map(i=>i.trim()).filter(Boolean)),this.#o=Object.freeze([...this.#n].sort());let o=new Map;for(let i of n){let{edge:s,identity:a}=ob(i,this.#n,r);o.set(a,s)}this.#r=Object.freeze([...o.values()].sort(co));for(let i of this.#r)lo(this.#s,i.source,i),lo(this.#a,i.target,i),r.require(i.kind).direction==="undirected"&&(lo(this.#s,i.target,i),lo(this.#a,i.source,i))}static fromItems(t,n=yt){let r=new Set(t.map(i=>Hn(i.id)).filter(Boolean)),o=[];for(let i of t){let s=Hn(i.id);if(!s)continue;let a=Es(i.parent,r);a&&o.push({source:s,target:a,kind:"parent"});let c=Es(i.blocked_by,r);c&&o.push({source:s,target:c,kind:"blocked_by"});for(let d of i.dependencies??[]){let l=Es(d.id,r);l&&n.resolve(d.kind)&&o.push({source:s,target:l,kind:d.kind,createdAt:d.created_at,author:d.author})}}return new e(r,o,n)}edges(){return this.#r}incidentEdges(t){this.#i(t);let n=this.#s.get(t)??[],r=this.#a.get(t)??[];if(n.length===0)return Object.freeze([...r]);if(r.length===0)return Object.freeze([...n]);let o=[],i=0,s=0;for(;i<n.length||s<r.length;){let a=n[i],c=r[s],d=a===void 0?c:c===void 0||co(a,c)<=0?a:c;o.at(-1)!==d&&o.push(d),a===d&&(i+=1),c===d&&(s+=1)}return Object.freeze(o)}nodes(){return this.#o}hasNode(t){return this.#n.has(t)}registry(){return this.#e}#i(t){if(!this.#n.has(t))throw new TypeError(`Relationship node not found: ${t}`)}#c(t,n){if(!n)return!0;let r=this.#e.require(t.kind);return n.has(t.kind)||r.inverse!==void 0&&n.has(r.inverse)}#t(t,n,r){let o=[...n==="incoming"?[]:this.#s.get(t)??[],...n==="outgoing"?[]:this.#a.get(t)??[]];return[...new Set(o)].filter(i=>this.#c(i,r)).map(i=>({id:i.source===t?i.target:i.source,edge:i})).sort((i,s)=>i.id.localeCompare(s.id)||co(i.edge,s.edge))}adjacency(t,n={}){this.#i(t),n.signal?.throwIfAborted();let r=n.kinds?new Set(n.kinds.map(c=>this.#e.require(c).kind)):void 0,o=this.#t(t,n.direction??"outgoing",r),i=n.limit??Number.POSITIVE_INFINITY,s=[...new Set(o.map(c=>c.id))],a=s.slice(0,i);return{value:a,meta:{visitedNodes:1,inspectedEdges:o.length,truncated:a.length<s.length,nextCursor:a.at(-1)}}}neighborEdges(t,n={}){this.#i(t),n.signal?.throwIfAborted();let r=n.kinds?new Set(n.kinds.map(a=>this.#e.require(a).kind)):void 0,o=this.#t(t,n.direction??"outgoing",r),i=n.limit??Number.POSITIVE_INFINITY,s=o.slice(0,i);return{value:s,meta:{visitedNodes:1,inspectedEdges:o.length,truncated:s.length<o.length,nextCursor:s.at(-1)?.id}}}closure(t,n={}){this.#i(t);let r=n.kinds?new Set(n.kinds.map(m=>this.#e.require(m).kind)):void 0,o=n.direction??"outgoing",i=n.limit??Number.POSITIVE_INFINITY,s=n.maxDepth??Number.POSITIVE_INFINITY,a=new Set([t]),c=[],d=[{id:t,depth:0}],l=0,u=0,f=!1;e:for(let m=0;m<d.length;m+=1){n.signal?.throwIfAborted();let _=d[m];l+=1;let y=this.#t(_.id,o,r);if(u+=y.length,_.depth>=s){y.some(w=>!a.has(w.id))&&(f=!0);continue}for(let w of y)if(!a.has(w.id)){if(c.length>=i){f=!0;break e}a.add(w.id),c.push(w.id),d.push({id:w.id,depth:_.depth+1})}}return{value:c,meta:{visitedNodes:l,inspectedEdges:u,truncated:f,nextCursor:c.at(-1)}}}shortestPath(t,n,r={}){if(this.#i(t),this.#i(n),t===n)return{value:[t],meta:{visitedNodes:1,inspectedEdges:0,truncated:!1}};let o=r.kinds?new Set(r.kinds.map(m=>this.#e.require(m).kind)):void 0,i=r.direction??"outgoing",s=r.maxDepth??Number.POSITIVE_INFINITY,a=[{id:t,depth:0}],c=new Map,d=new Set([t]),l=0,u=0,f=!1;for(let m=0;m<a.length;m+=1){r.signal?.throwIfAborted();let _=a[m];l+=1;let y=this.#t(_.id,i,o);if(u+=y.length,_.depth>=s){y.some(w=>!d.has(w.id))&&(f=!0);continue}for(let w of y)if(!d.has(w.id)){if(c.set(w.id,_.id),w.id===n)return{value:ib(t,n,c),meta:{visitedNodes:l,inspectedEdges:u,truncated:!1}};d.add(w.id),a.push({id:w.id,depth:_.depth+1})}}return{value:[],meta:{visitedNodes:l,inspectedEdges:u,truncated:f}}}subgraph(t,n={}){let r=this.closure(t,n),o=[t,...r.value].sort(),i=new Set(o),s=n.kinds?new Set(n.kinds.map(c=>this.#e.require(c).kind)):void 0,a=new Set;for(let c of o)for(let d of this.#s.get(c)??[])i.has(d.source)&&i.has(d.target)&&this.#c(d,s)&&a.add(d);return{value:{nodes:o,edges:[...a].sort(co)},meta:r.meta}}};function LR(e,t,n=yt){return{source:e,target:t.id,kind:n.require(t.kind).kind,createdAt:t.created_at,author:t.author}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="32aa20df-edf7-543d-b733-841130466f00")}catch{}})();var sb="__pm_suppress_host_output",As="@unbrained/pm-cli:suppress-host-output:v1";function yl(e){return e===void 0?{__pm_suppress_host_output:As}:{__pm_suppress_host_output:As,result:e}}function fo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&e[sb]===As}import Qt from"node:fs";import je from"node:path";import{fileURLToPath as ab}from"node:url";(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]="efea1aa1-1ad1-5f53-a3a5-b83803d9deb1")}catch{}})();var cb="@unbrained/pm-cli";function db(e){try{return JSON.parse(Qt.readFileSync(e,"utf8")).name===cb}catch{return!1}}function lb(e){let t=Qt.existsSync(e)&&Qt.statSync(e).isDirectory()?je.resolve(e):je.dirname(je.resolve(e));for(;;){let n=je.join(t,"package.json");if(Qt.existsSync(n)&&db(n))return t;let r=je.dirname(t);if(r===t)return;t=r}}function mo(e,t=[]){let n=ab(e);return lb(n)||je.resolve(je.dirname(n),...t)}function VR(e,t=[]){try{let n=je.join(mo(e,t),"package.json");if(!Qt.existsSync(n))return;let r=JSON.parse(Qt.readFileSync(n,"utf8"));return typeof r.version=="string"&&r.version.trim().length>0?r.version:void 0}catch{return}}function BR(e=process.env,t="PM_CLI_PACKAGE_ROOT",n,r=[]){let o=e[t];return typeof o=="string"&&o.trim().length>0?je.resolve(o.trim()):n?mo(n,r):process.cwd()}(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]="53865a81-4c96-51e2-a378-ae0e2781a50f")}catch{}})();var po={include:"--output-include",amount:"--output-limit",cost:"--output-budget",encoding:"--output-format"},_o=Object.freeze(["--output-session","--output-cursor","--output-row-contract"]),ht=["list","context","search","get","next","health","deps","graph","history","activity","validate","events","contracts","comments","notes","files","docs","stats","aggregate","duplicates","package-catalog","package-manage","comments-audit","assurance"];(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]="f8657910-1392-5fae-afda-614b96dc8320")}catch{}})();function z(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function ub(){return{json:!1,quiet:!1,noExtensions:!1,profile:!1}}function pe(e){return e?D(e):{}}function _e(e){return e?D(e):ub()}function D(e){return structuredClone(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="615b4955-a30d-5d45-a86d-4bcf7bd9bd7a")}catch{}})();var fb=new Set(["commands","command_overrides","command_handlers","flag_commands","parser_overrides"]),mb=["commands","command_overrides","command_handlers","hooks","flag_commands","item_types","item_fields","relationship_kinds","migrations","profiles","importers","exporters","search_providers","vector_store_adapters","assurance_providers","parser_overrides","service_overrides","renderer_overrides"];function pb(e,t){for(let n of mb){let r=e[n];if(r===void 0)continue;if(!Array.isArray(r)||r.some(i=>typeof i!="string"))return!1;let o=r.map(i=>fb.has(n)?z(i):i.trim()).filter(i=>i.length>0);t[n]=[...new Set(o)].sort((i,s)=>i.localeCompare(s))}return!0}function _b(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){if(typeof n!="object"||n===null)return null;let r=n;if(r.format!=="json"&&r.format!=="toon"||!Array.isArray(r.commands)||r.commands.some(o=>typeof o!="string")||typeof r.result_discriminator!="boolean")return null;t.push({format:r.format,commands:[...new Set(r.commands.map(o=>z(o)))].sort((o,i)=>o.localeCompare(i)),result_discriminator:r.result_discriminator})}return t.sort((n,r)=>n.format.localeCompare(r.format))}function yb(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){if(typeof n!="object"||n===null)return null;let r=n.commands;if(!Array.isArray(r)||r.some(o=>typeof o!="string"))return null;t.push({commands:[...new Set(r.map(o=>z(o)))].filter(o=>o.length>0).sort((o,i)=>o.localeCompare(i))})}return t}function yo(e){if(e==null)return;if(typeof e!="object"||Array.isArray(e))return null;let t=e;if(t.schema_version!==1)return null;let n={schema_version:1};if(!pb(t,n))return null;let r=t.preflight_overrides;if(r!==void 0&&(!Number.isInteger(r)||r<0))return null;typeof r=="number"&&(n.preflight_overrides=r);let o=t.renderer_ownership;if(o!==void 0){let s=_b(o);if(s===null)return null;n.renderer_ownership=s}let i=t.preflight_ownership;if(i!==void 0){let s=yb(i);if(s===null)return null;n.preflight_ownership=s}return n}function XR(e){return{schema_version:1,commands:e.commands,command_overrides:e.command_overrides,command_handlers:e.command_handlers,hooks:e.hooks,flag_commands:e.flag_commands,item_types:e.item_types,item_fields:e.item_fields,...e.relationship_kinds?{relationship_kinds:e.relationship_kinds}:{},migrations:e.migrations,profiles:e.profiles,importers:e.importers,exporters:e.exporters,search_providers:e.search_providers,vector_store_adapters:e.vector_store_adapters,...e.assurance_providers?{assurance_providers:e.assurance_providers}:{},parser_overrides:e.parser_overrides,service_overrides:e.service_overrides,renderer_overrides:e.renderer_overrides,...e.renderer_ownership?{renderer_ownership:e.renderer_ownership}:{},preflight_overrides:e.preflight_overrides,...e.preflight_ownership?{preflight_ownership:e.preflight_ownership}:{}}}(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]="7359c10a-4c56-57ea-8254-fc26b19e5c84")}catch{}})();function qn(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function Be(e){return Pe.includes(e)}function hl(e){let t=e.trim().toLowerCase();return Be(t)?t:null}function gl(e){return e.filter(t=>!Be(t))}function Is(e){let t=e.trim().toLowerCase();return t.length===0?null:vd[t]??null}function bl(e){let t=qn([...e].map(i=>i.toLowerCase())),n=[],r=[];for(let i of t){let s=Is(i);if(s){n.push(s),r.push({alias:i,target:s});continue}n.push(i)}let o=[...new Map(r.map(i=>[`${i.alias}>${i.target}`,i])).values()].sort((i,s)=>i.alias.localeCompare(s.alias));return{capabilities:qn(n),legacy_aliases:o}}function hb(e){let t=e.trim().toLowerCase();if(t.length===0)return null;let n=Is(t);if(n)return n;let r=Math.max(1,Math.floor(t.length*.34)),o=null,i=Number.POSITIVE_INFINITY;for(let s of Pe){let a=ao(t,s,r);a!==null&&a<i&&(i=a,o=s)}return o}function wl(e,t,n){let r=Pe.join(","),o=hb(n)??"none";return`extension_capability_unknown:${e}:${t}:${n}:allowed=${r}:suggested=${o}`}function vl(e,t,n){let r=n.map(o=>`${o.alias}>${o.target}`).join(",");return`extension_capability_legacy_alias:${e}:${t}:aliases=${r}`}function gb(e){let t=/^extension_capability_unknown:(global|project):([^:]+):([^:]+):allowed=([^:]+):suggested=([^:]+)$/.exec(e.trim());if(!t)return null;let[,n,r,o,i,s]=t,a=n,c=i.split(",").map(u=>u.trim()).filter(u=>u.length>0),d=Is(o),l=(s==="none"?void 0:s)??d??void 0;return{layer:a,name:r,capability:o,allowed_capabilities:c,capability_contract_version:ns,suggested_capability:l,suggestion_source:l?d===l?"legacy_alias":"nearest_match":void 0,legacy_alias_target:d??void 0}}function bb(e){let t=/^extension_capability_legacy_alias:(global|project):([^:]+):aliases=(.+)$/.exec(e.trim());if(!t)return[];let[,n,r,o]=t,i=n,s=[...Pe],a=[];for(let c of o.split(",")){let[d,l]=c.split(">"),u=d?.trim(),f=l?.trim().toLowerCase();!u||!f||!Be(f)||a.push({layer:i,name:r,capability:u,allowed_capabilities:s,capability_contract_version:ns,suggested_capability:f,suggestion_source:"legacy_alias",legacy_alias_target:f})}return a}(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]="01116a5e-62d1-591b-9fd0-84ac6e99f8d0")}catch{}})();function Vn(){return{beforeCommand:[],beforeMutation:[],afterCommand:[],onWrite:[],onRead:[],onIndex:[]}}function Ts(){return{overrides:[],handlers:[]}}function Cs(){return{overrides:[]}}function xs(){return{overrides:[]}}function Rs(){return{overrides:[]}}function Ns(){return{overrides:[]}}function Ds(){return{commands:[],flags:[],item_fields:[],item_types:[],relationship_kinds:[],migrations:[],profiles:[],importers:[],exporters:[],search_providers:[],vector_store_adapters:[],assurance_providers:[]}}(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]="67511565-01f8-58a6-ad06-45b5d0ce831b")}catch{}})();var wb=new Set(["name","version","entry","priority","description","author","capabilities","manifest_version","pm_min_version","pm_max_version","engines","trusted","provenance","sandbox_profile","permissions","activation","contributions","legacy_capability_aliases"]);function vb(e){return{unknownKeys:Object.keys(e).filter(t=>!wb.has(t)).sort((t,n)=>t>n?1:-1),missingVersionBounds:e.pm_min_version===void 0&&e.pm_max_version===void 0}}function Eb(e){let t=vb(e),n=t.unknownKeys.map(r=>({code:"manifest_unknown_key",path:r,...r==="compatibility"?{suggested_key:"pm_min_version"}:{},message:r==="compatibility"?'Manifest key "compatibility" is ignored; declare the canonical pm_min_version and optional pm_max_version fields instead.':`Manifest key "${r}" is not part of the extension manifest contract and will be ignored.`}));return t.missingVersionBounds&&n.push({code:"no_version_bounds_declared",path:"$",suggested_key:"pm_min_version",message:"No canonical pm version bounds are declared; add pm_min_version so compatibility intent is explicit."}),{ok:n.length===0,findings:n}}function El(e,t,n){return Eb(n).findings.map(r=>r.code==="manifest_unknown_key"?`extension_manifest_unknown_key:${e}:${t.name}:key=${r.path}${r.suggested_key?`:suggested=${r.suggested_key}`:""}`:`extension_manifest_no_version_bounds:${e}:${t.name}:suggested=pm_min_version`)}import{constants as We}from"node:os";(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]="151124a3-cefa-55d3-bf4f-bd8f2553ad72")}catch{}})();var kl=new Map([["EACCES",{summary:"was denied filesystem permission",recovery:"Grant the required filesystem access, then retry.",category:"permission"}],["EDQUOT",{summary:"exceeded the filesystem quota",recovery:"Raise or reclaim the filesystem quota, then retry.",category:"capacity"}],["EMFILE",{summary:"exhausted the process file-descriptor limit",recovery:"Close unused file handles or raise the process limit, then retry.",category:"resource"}],["ENFILE",{summary:"exhausted the host file-descriptor limit",recovery:"Free host file descriptors or raise the host limit, then retry.",category:"resource"}],["ENOMEM",{summary:"ran out of available memory",recovery:"Free memory or reduce concurrent work, then retry.",category:"resource"}],["ENOSPC",{summary:"ran out of storage space",recovery:"Free storage on the filesystem holding the project, then retry.",category:"capacity"}],["EPERM",{summary:"was denied by the host permission policy",recovery:"Grant the required filesystem permission, then retry.",category:"permission"}],["EROFS",{summary:"targeted a read-only filesystem",recovery:"Use a writable project filesystem or remount it read-write, then retry.",category:"permission"}]]),kb=/^[a-z][a-z0-9_]{0,63}$/u,Sb=new Map([[We.errno.EACCES,"EACCES"],[We.errno.EDQUOT,"EDQUOT"],[We.errno.EMFILE,"EMFILE"],[We.errno.ENFILE,"ENFILE"],[We.errno.ENOMEM,"ENOMEM"],[We.errno.ENOSPC,"ENOSPC"],[We.errno.EPERM,"EPERM"],[We.errno.EROFS,"EROFS"]].filter(([e])=>Number.isInteger(e))),Ob={capacity:{code:"host_environment_capacity_fault"},permission:{code:"host_environment_permission_fault"},resource:{code:"host_environment_resource_fault"}};function Ab(e){if(typeof e!="object"||e===null)return null;let t=e;return typeof t.code=="string"&&kl.has(t.code)?t.code:typeof t.errno!="number"||!Number.isInteger(t.errno)?null:Sb.get(Math.abs(t.errno))??null}function Ib(e,t,n={}){let r=Ab(e);if(r===null)return null;if(!kb.test(t))throw new g("Host environment operation labels must be bounded identifiers.",h.USAGE,{code:"host_environment_operation_invalid",field:"operation"});let o=kl.get(r);return new g(`Host filesystem operation ${t} ${o.summary}.`,h.GENERIC_FAILURE,{code:n.codes?.[o.category]??Ob[o.category].code,reason:r,required:o.recovery,why:n.why??"The operating system refused a required project filesystem operation.",nextSteps:[o.recovery,...n.nextSteps??[]],...n.suggestedRetry?{recovery:{suggested_retry:n.suggestedRetry}}:{}})}async function Sl(e,t,n={}){try{return await t()}catch(r){throw Ib(r,e,n)??r}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4a7b042c-7fb8-57a5-8f94-de44f82d7589")}catch{}})();function Tb(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function Ee(e,t){let n=e.slice(0,t),r=n.charCodeAt(n.length-1),o=e.charCodeAt(n.length);return r>=55296&&r<=56319&&o>=56320&&o<=57343?n.slice(0,-1):n}function aN(e){return Tb(e).split(/[^a-z0-9]+/).filter(t=>t.length>0)}function cN(e,t){if(e.length===0&&t.length===0)return 1;if(e.length===0||t.length===0)return 0;let n=new Set(e),r=new Set(t),o=0;for(let s of n)r.has(s)&&(o+=1);let i=new Set([...n,...r]).size;return o/i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f49bad80-c246-59b3-950d-7143585fbdb5")}catch{}})();var Cb=5e3;async function Bn(e,t,n){let r=[];for(let o of e)try{await o.run(D(n))}catch{r.push(`extension_hook_failed:${o.layer}:${o.name}:${t}`)}return r}async function xb(e,t){return Bn(e.beforeCommand,"beforeCommand",t)}function Rb(e,t,n){if(e===void 0)return;if(typeof e!="object"||e===null||!("allow"in e)||e.allow!==!0&&e.allow!==!1)throw new g(`Extension mutation guard ${t.name} returned an invalid decision.`,h.CONFLICT,{code:"extension_mutation_guard_invalid_decision",reason:`${t.layer}:${t.name}`,nextSteps:["Return { allow: true } or a structured denial from the guard."]});if(e.allow)return;let r=e,o=typeof r.code=="string"?r.code.trim():"",i=typeof r.remediation=="string"?r.remediation.trim():"";if(o.length===0||i.length===0)throw new g(`Extension mutation guard ${t.name} returned an invalid denial.`,h.CONFLICT,{code:"extension_mutation_guard_invalid_denial",reason:`${t.layer}:${t.name}`,nextSteps:["Return non-empty code and remediation fields from the guard."]});let s=typeof r.message=="string"?r.message.trim():"";throw new g(s||`Extension mutation guard ${t.name} denied ${n}.`,h.CONFLICT,{code:o,reason:`${t.layer}:${t.name}`,nextSteps:[i]})}async function Ps(e,t){for(let n of e.beforeMutation??[]){let r,o;try{let i=Promise.resolve().then(()=>n.run({pm_root:t.pm_root,operation:t.operation,before:t.before===null?null:D(t.before),after:t.after===null?null:D(t.after),changed_fields:[...t.changed_fields],sdk:t.sdk}));i.catch(()=>{}),r=await Promise.race([i,new Promise((s,a)=>{o=setTimeout(()=>{a(new g(`Extension mutation guard ${n.name} timed out before ${t.operation}.`,h.CONFLICT,{code:"extension_mutation_guard_timed_out",reason:`${n.layer}:${n.name}`,nextSteps:["Fix or disable the stalled extension guard, then retry the mutation."]}))},Cb),o.unref?.()})])}catch(i){throw i instanceof g?i:new g(`Extension mutation guard ${n.name} failed before ${t.operation}.`,h.CONFLICT,{code:"extension_mutation_guard_failed",reason:`${n.layer}:${n.name}`,nextSteps:["Fix or disable the failing extension guard, then retry the mutation."]})}finally{clearTimeout(o)}Rb(r,n,t.operation)}}async function Nb(e,t){return Bn(e.afterCommand,"afterCommand",t)}async function Ms(e,t){return Bn(e.onWrite,"onWrite",t)}async function $s(e,t){return Bn(e.onRead,"onRead",t)}async function js(e,t){return Bn(e.onIndex,"onIndex",t)}function Db(e){let t="";e instanceof Error&&typeof e.message=="string"?t=e.message:typeof e=="string"?t=e:typeof e=="object"&&e!==null&&typeof e.message=="string"&&(t=e.message);let n=t.replace(/\s+/gu," ").trim();if(n.length===0)return"";let r=300;return n.length>r?`${Ee(n,r-1)}\u2026`:n}function ho(e,t){if(typeof e!="object"||e===null||typeof e[t]!="string")return;let n=String(e[t]).replace(/\s+/gu," ").trim();return n.length>0?Ee(n,300):void 0}function Pb(e){if(typeof e!="object"||e===null||!Object.hasOwn(e,"exit_code"))return;let t=e.exit_code;if(typeof t!="number"||!Number.isInteger(t)||t<1||t>255)throw new TypeError("Extension command result exit_code must be an integer from 1 to 255.");return t}async function Ls(e,t){let n=z(t.command);if(n.length===0)return{handled:!1,result:null,warnings:[]};let r=[...e.handlers].reverse().find(o=>o.command===n);if(!r)return{handled:!1,result:null,warnings:[]};try{let o=await r.run({command:n,args:D(t.args),options:D(t.options),global:D(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel,...t.sdk===void 0?{}:{sdk:t.sdk}});return{handled:!0,result:o,warnings:[],...Object.fromEntries([["exitCode",Pb(o)],["errorCode",ho(o,"code")],["remediation",ho(o,"remediation")]].filter(i=>i[1]!==void 0))}}catch(o){let i=typeof o=="object"&&o!==null&&"exitCode"in o?o.exitCode:void 0;if(typeof i=="number"&&Number.isFinite(i))throw o;return Object.defineProperty({handled:!1,result:null,warnings:[`extension_command_handler_failed:${r.layer}:${r.name}:${r.command}`],errorMessage:Db(o),...Object.fromEntries([["errorCode",ho(o,"code")],["remediation",ho(o,"remediation")]].filter(s=>s[1]!==void 0))},"cause",{value:o,configurable:!0})}}async function Fs(e,t){let n=z(t.command);if(n.length===0)return{overridden:!1,context:{command:n,args:D(t.args),options:pe(t.options),global:_e(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel},warnings:[]};let r=[...e.overrides].reverse().find(o=>o.command===n);if(!r)return{overridden:!1,context:{command:n,args:D(t.args),options:pe(t.options),global:_e(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel},warnings:[]};try{let o=await Promise.resolve(r.run({command:n,args:D(t.args),options:pe(t.options),global:_e(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel}))??{},i=Array.isArray(o.args)?D(o.args):D(t.args),s=o.options?pe(o.options):pe(t.options),a=o.global?_e(o.global):_e(t.global);return{overridden:!0,context:{command:n,args:i,options:s,global:a,pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel},warnings:[]}}catch{return{overridden:!1,context:{command:n,args:D(t.args),options:pe(t.options),global:_e(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel},warnings:[`extension_parser_override_failed:${r.layer}:${r.name}:${r.command}`]}}}async function zs(e,t){let n={command:z(t.command),args:D(t.args),options:pe(t.options),global:_e(t.global),pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel},r=D(t.decision),o=[...e.overrides].reverse().find(i=>!i.commands?.length||i.commands.includes(n.command));if(!o)return{overridden:!1,context:n,decision:r,warnings:[]};try{let i=await Promise.resolve(o.run({command:n.command,args:D(n.args),options:pe(n.options),global:_e(n.global),pm_root:n.pm_root,source_workspace_root:n.source_workspace_root,repo_root:n.repo_root,pm_root_rel:n.pm_root_rel,decision:D(r)}))??{},s={command:n.command,args:Array.isArray(i.args)?D(i.args):n.args,options:i.options?pe(i.options):n.options,global:i.global?_e(i.global):n.global,pm_root:n.pm_root,source_workspace_root:n.source_workspace_root,repo_root:n.repo_root,pm_root_rel:n.pm_root_rel},a={enforce_item_format_gate:typeof i.enforce_item_format_gate=="boolean"?i.enforce_item_format_gate:r.enforce_item_format_gate,run_preflight_item_format_sync:typeof i.run_preflight_item_format_sync=="boolean"?i.run_preflight_item_format_sync:r.run_preflight_item_format_sync,run_extension_migrations:typeof i.run_extension_migrations=="boolean"?i.run_extension_migrations:r.run_extension_migrations,enforce_mandatory_migration_gate:typeof i.enforce_mandatory_migration_gate=="boolean"?i.enforce_mandatory_migration_gate:r.enforce_mandatory_migration_gate};return{overridden:!0,context:s,decision:a,warnings:[]}}catch{return{overridden:!1,context:n,decision:r,warnings:[`extension_preflight_override_failed:${o.layer}:${o.name}`]}}}function Ol(e){return{handled:!1,result:e.payload,warnings:[]}}function Al(e,t){return[...e.overrides].reverse().filter(n=>n.service===t)}function Il(e){return{service:e.service,command:e.command?z(e.command):void 0,args:e.args?D(e.args):void 0,options:e.options?pe(e.options):void 0,global:e.global?_e(e.global):void 0,pm_root:e.pm_root,source_workspace_root:e.source_workspace_root,repo_root:e.repo_root,pm_root_rel:e.pm_root_rel,payload:D(e.payload)}}function Mb(e){if(typeof e!="object"||e===null||!Object.hasOwn(e,"handled"))return!1;let t=e.handled;return t===!0?Object.hasOwn(e,"result"):t===!1&&Reflect.ownKeys(e).length===1}function Tl(e,t){return Mb(e)?e.handled?{handled:!0,result:e.result}:{handled:!1,result:t.payload}:t.service==="output_format"&&e==null?{handled:!1,result:t.payload}:{handled:!0,result:e}}function Cl(e,t,n){return t.service==="output_format"&&typeof e=="object"&&e!==null&&W(e,n.payload)}function xl(e,t,n){if(t.handled){if(e.passThrough===!0){n.push(`extension_service_pass_through_contract_violated:${e.layer}:${e.name}:${e.service}`);return}return{handled:!0,result:t.result,warnings:n}}}function Us(e,t){let n=Al(e,t.service);if(n.length===0)return Ol(t);let r=[];for(let o of n)try{let i=Il(t),s=o.run(i);if(s instanceof Promise){r.push(`extension_service_override_async_unsupported:${o.layer}:${o.name}:${o.service}`);continue}if(Cl(s,t,i)){r.push(`extension_output_format_payload_echo_deprecated:${o.layer}:${o.name}`);continue}let a=xl(o,Tl(s,t),r);if(a)return a}catch{r.push(`extension_service_override_failed:${o.layer}:${o.name}:${o.service}`)}return{handled:!1,result:t.payload,warnings:r}}async function Hs(e,t){let n=Al(e,t.service);if(n.length===0)return Ol(t);let r=[];for(let o of n)try{let i=Il(t),s=await Promise.resolve(o.run(i));if(Cl(s,t,i)){r.push(`extension_output_format_payload_echo_deprecated:${o.layer}:${o.name}`);continue}let a=xl(o,Tl(s,t),r);if(a)return a}catch{r.push(`extension_service_override_failed:${o.layer}:${o.name}:${o.service}`)}return{handled:!1,result:t.payload,warnings:r}}function qs(e,t){let n=z(t.command);if(n.length===0)return{overridden:!1,result:t.result,warnings:[]};let r=[...e.overrides].reverse().find(o=>o.command===n);if(!r)return{overridden:!1,result:t.result,warnings:[]};try{let o=pe(t.options),i=_e(t.global),s=r.run({command:n,args:D(t.args),options:o,global:i,pm_root:t.pm_root,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel,result:D(t.result)});return s instanceof Promise?{overridden:!1,result:t.result,warnings:[`extension_command_override_async_unsupported:${r.layer}:${r.name}:${r.command}`]}:{overridden:!0,result:s,warnings:[]}}catch{return{overridden:!1,result:t.result,warnings:[`extension_command_override_failed:${r.layer}:${r.name}:${r.command}`]}}}function $b(e,t,n){if((e.commands?.length??0)>0&&!e.commands?.includes(t))return!1;if(e.resultDiscriminator===void 0)return!0;try{return e.resultDiscriminator(D(n))}catch{return!1}}function Vs(e,t){let n=typeof t.command=="string"?z(t.command):"",r=[...e.overrides].reverse().find(o=>o.format===t.format&&$b(o,n,t.result));if(!r)return{overridden:!1,rendered:null,warnings:[]};try{let o=Array.isArray(t.args)?D(t.args):[],i=pe(t.options),s=_e(t.global),a=typeof t.pm_root=="string"?t.pm_root:"",c=r.run({format:t.format,command:n,args:o,options:i,global:s,pm_root:a,source_workspace_root:t.source_workspace_root,repo_root:t.repo_root,pm_root_rel:t.pm_root_rel,result:D(t.result)});return c==null?{overridden:!1,rendered:null,warnings:[]}:typeof c!="string"?{overridden:!1,rendered:null,warnings:[`extension_renderer_invalid_result:${r.layer}:${r.name}:${r.format}`]}:{overridden:!0,rendered:c,warnings:[]}}catch{return{overridden:!1,rendered:null,warnings:[`extension_renderer_failed:${r.layer}:${r.name}:${r.format}`]}}}import Et from"node:fs/promises";import vt from"node:path";import{pathToFileURL as gw}from"node:url";(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]="559b05dc-0290-5a7c-97b9-ef1e5e8670ba")}catch{}})();function Rl(e){let t={beforeCommand:e.hooks.beforeCommand.length,beforeMutation:e.hooks.beforeMutation.length,afterCommand:e.hooks.afterCommand.length,onWrite:e.hooks.onWrite.length,onRead:e.hooks.onRead.length,onIndex:e.hooks.onIndex.length,commandOverrides:e.commands.overrides.length,commandHandlers:e.commands.handlers.length,parserOverrides:e.parsers.overrides.length,preflightOverrides:e.preflight.overrides.length,serviceOverrides:e.services.overrides.length,rendererOverrides:e.renderers.overrides.length,registrations:Object.fromEntries(Object.entries(e.registrations).map(([n,r])=>[n,r.length]))};return()=>{e.hooks.beforeCommand.length=t.beforeCommand,e.hooks.beforeMutation.length=t.beforeMutation,e.hooks.afterCommand.length=t.afterCommand,e.hooks.onWrite.length=t.onWrite,e.hooks.onRead.length=t.onRead,e.hooks.onIndex.length=t.onIndex,e.commands.overrides.length=t.commandOverrides,e.commands.handlers.length=t.commandHandlers,e.parsers.overrides.length=t.parserOverrides,e.preflight.overrides.length=t.preflightOverrides,e.services.overrides.length=t.serviceOverrides,e.renderers.overrides.length=t.rendererOverrides;for(let[n,r]of Object.entries(t.registrations))e.registrations[n].length=r}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="17ae377d-20c2-5e45-825a-48a79c6c7601")}catch{}})();function K(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return t}function te(e,t){if(t!==void 0&&typeof t!="boolean")throw new TypeError(`${e} must be a boolean when provided`)}function B(e,t){if(t!==void 0&&(typeof t!="string"||t.trim().length===0))throw new TypeError(`${e} must be a non-empty string when provided`)}function Nl(e,t){if(t===void 0)return;let n=r=>typeof r=="string"||typeof r=="number"||typeof r=="boolean";if(Array.isArray(t)){for(let[r,o]of t.entries())if(!n(o))throw new TypeError(`${e}[${r}] must be a string, number, or boolean`);return}if(!n(t))throw new TypeError(`${e} must be a string, number, or boolean, or an array of these when provided`)}function gt(e,t){if(t!==void 0){if(!Array.isArray(t))throw new TypeError(`${e} must be an array of non-empty strings when provided`);for(let[n,r]of t.entries())if(typeof r!="string"||r.trim().length===0)throw new TypeError(`${e}[${n}] must be a non-empty string`)}}function Wn(e,t){if(gt(e,t),!Array.isArray(t))return[];let n=[],r=new Set;for(let o of t){let i=o.trim();i.length===0||r.has(i)||(r.add(i),n.push(i))}return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="34536eba-0f92-5599-a807-5b39b000e733")}catch{}})();var Bs=Object.freeze(["workspace","intake","context","lifecycle","evidence","graph","quality","automation","extensions","internal"]);(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]="60fd882d-7c92-5be5-bf46-7e3c128bfb58")}catch{}})();var jb=new Set(Bs);function Lb(e){if(e!==void 0&&!jb.has(String(e)))throw new Error(`registerCommand definition.family must be one of: ${Bs.join(", ")}`)}function Dl(e){B("registerCommand definition.action",e.action),B("registerCommand definition.family",e.family),B("registerCommand definition.description",e.description),B("registerCommand definition.intent",e.intent),B("registerCommand definition.tier",e.tier);let t=e.tier;if(t!==void 0&&t!=="core"&&t!=="standard"&&t!=="full"&&t!=="internal")throw new Error("registerCommand definition.tier must be core, standard, full, or internal");Lb(e.family)}(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]="095ea29d-eda3-5287-b54d-8a961658f7bc")}catch{}})();function Pl(e,t="",n=""){if(e===void 0)return;if(en(t)||en(n))throw new TypeError("Native pm commands and actions cannot declare read_output");let r=K("registerCommand definition.read_output",e);if(Object.keys(r).some(s=>s!=="row_keys")||!Array.isArray(r.row_keys))throw new TypeError("registerCommand definition.read_output requires only row_keys: string[]");let o=Array.from(r.row_keys),i=new Set(["__proto__","constructor","prototype","row_contract","read_output","read_session","omission_receipt","output_budget_truncation"]);if(o.some(s=>typeof s!="string"||!/^[a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*$/u.test(s)||s.split(".").some(a=>i.has(a))))throw new TypeError("registerCommand definition.read_output row_keys must be safe dot-delimited property paths");if(new Set(o).size!==o.length||o.some(s=>o.some(a=>a.startsWith(`${s}.`))))throw new TypeError("registerCommand definition.read_output row_keys must be unique and non-overlapping");return Object.freeze({row_keys:Object.freeze([...o])})}function en(e){let t=e.trim().toLowerCase().replace(/\s+/gu,"-");return Kt.includes(t)||ht.includes(t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="07cb237c-3956-5997-85f8-972d2ee490d0")}catch{}})();function Fb(e){let t=K("registerExporter options.output",e),n=new Set(["channel","receipt","media_type"]);for(let r of Object.keys(t))if(!n.has(r))throw new TypeError(`registerExporter options.output contains unsupported field ${r}`);if(t.channel!=="stdout"&&t.channel!=="file")throw new TypeError("registerExporter options.output.channel must be stdout|file");if(t.receipt!==void 0&&t.receipt!=="suppress"&&t.receipt!=="render")throw new TypeError("registerExporter options.output.receipt must be suppress|render");if(t.channel==="stdout"&&t.receipt==="render")throw new TypeError("registerExporter stdout artifacts cannot render a host receipt");return B("registerExporter options.output.media_type",t.media_type),{channel:t.channel,receipt:t.receipt??(t.channel==="stdout"?"suppress":"render"),...typeof t.media_type=="string"?{media_type:t.media_type}:{}}}function Ml(e,t,n){if(e==="registerImporter"&&t.output!==void 0)throw new TypeError("registerImporter options.output is exporter-only");if(e!=="registerExporter"||t.output===void 0)return;let r=Fb(t.output);return!n&&r.channel==="stdout"&&(t.description="Export items with the registered extension adapter. Artifact bytes are written exclusively to stdout and the host receipt is suppressed by default."),r}function Ws(e,t,n){return{registration:t,action:n,command:e.command,args:D(e.args),options:D(e.options),global:D(e.global),pm_root:e.pm_root,source_workspace_root:e.source_workspace_root,repo_root:e.repo_root,pm_root_rel:e.pm_root_rel,...e.sdk===void 0?{}:{sdk:e.sdk}}}(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]="fc2e7eac-cd1c-5885-aa27-e98455008a4f")}catch{}})();function $l(e){return!e.extensionReady||!e.enabledForLoad?null:{layer:e.layer,directory:e.directory,manifest_path:e.manifestPath,entry_path:e.entryPath,manifest:e.manifest,source_package:e.sourceIdentity?.package_name,source_aliases:e.sourceIdentity?.aliases,contributions:e.sourceIdentity?.contributions}}(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]="bb1b4879-079c-50d4-afa5-e8a36ead2e5c")}catch{}})();function we(e){return typeof e!="string"?"":e.trim().toLowerCase()}function P(e){return new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))}function zb(e){let t=e.trim().toLowerCase();if(t.length===0)return"";let n=t.split(/[.:/]/).map(r=>r.replace(/[\s_-]+/g,"")).filter(r=>r.length>0);return n.length===0?"":n.length===1?n[0]:`${n[0]}.${n.slice(1).join("")}`}function tn(e){return new Set((e??[]).map(t=>zb(t)).filter(t=>t.length>0))}function jl(e){let t=we(e);return jr.includes(t)?t:"off"}function Ll(e){let t=we(e);return Lr.includes(t)?t:"off"}function Gn(e){let t=we(e);return Fr.includes(t)?t:"none"}function Gs(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return Ed.includes(t)?t:void 0}function Fl(e){if(typeof e=="string"){let t=Gs(e)??"block";return{global:t,project:t}}return typeof e=="object"&&e!==null&&!Array.isArray(e)?{global:Gs(e.global)??"block",project:Gs(e.project)??"block"}:{global:"block",project:"block"}}function Ub(e){return e.global===e.project?e.global:{global:e.global,project:e.project}}function j(e){return[...new Set(e)].sort((t,n)=>t.localeCompare(n))}function Hb(e){let t=we(e.name);return t.length===0?null:{name:t,normalized:{name:t,disabled:e.disabled===!0,requireTrusted:e.require_trusted===!0,requireProvenance:e.require_provenance===!0,sandboxProfile:e.sandbox_profile!==void 0?Gn(e.sandbox_profile):void 0,allowedCapabilities:P(e.allowed_capabilities),blockedCapabilities:P(e.blocked_capabilities),allowedSurfaces:tn(e.allowed_surfaces),blockedSurfaces:tn(e.blocked_surfaces),allowedCommands:P(e.allowed_commands),blockedCommands:P(e.blocked_commands),allowedActions:P(e.allowed_actions),blockedActions:P(e.blocked_actions),allowedServices:P(e.allowed_services),blockedServices:P(e.blocked_services)}}}function zl(e){let t=new Map;for(let n of e??[]){let r=Hb(n);r&&t.set(r.name,r.normalized)}return t}function qb(e){let t=[],n=[...e.overridesByName.values()].sort((o,i)=>o.name.localeCompare(i.name));for(let o of j([...e.allowedCapabilities,...e.blockedCapabilities]))Be(o)||t.push(`extension_policy_unknown_capability:${o}`);for(let o of n)for(let i of j([...o.allowedCapabilities,...o.blockedCapabilities]))Be(i)||t.push(`extension_policy_unknown_capability:${o.name}:${i}`);let r=new Set(zr);for(let o of j([...e.allowedSurfaces,...e.blockedSurfaces]))r.has(o)||t.push(`extension_policy_unknown_surface:${o}`);for(let o of n)for(let i of j([...o.allowedSurfaces,...o.blockedSurfaces]))r.has(i)||t.push(`extension_policy_unknown_surface:${o.name}:${i}`);return[...new Set(t)].sort((o,i)=>o.localeCompare(i))}function Ul(e){let t=e.extensions?.policy??{},n=P(t.allowed_capabilities),r=P(t.blocked_capabilities),o=tn(t.allowed_surfaces),i=tn(t.blocked_surfaces),s=zl(t.extension_overrides);return{mode:jl(t.mode),trustMode:Ll(t.trust_mode),pmMaxVersionExceededMode:Fl(t.pm_max_version_exceeded_mode),requireProvenance:t.require_provenance===!0,trustedExtensions:P(t.trusted_extensions),defaultSandboxProfile:Gn(t.default_sandbox_profile),allowedExtensions:P(t.allowed_extensions),blockedExtensions:P(t.blocked_extensions),allowedCapabilities:n,blockedCapabilities:r,allowedSurfaces:o,blockedSurfaces:i,allowedCommands:P(t.allowed_commands),blockedCommands:P(t.blocked_commands),allowedActions:P(t.allowed_actions),blockedActions:P(t.blocked_actions),allowedServices:P(t.allowed_services),blockedServices:P(t.blocked_services),overridesByName:s,warnings:qb({allowedCapabilities:n,blockedCapabilities:r,allowedSurfaces:o,blockedSurfaces:i,overridesByName:s})}}function Hl(e){let t=[...e.overridesByName.values()].sort((n,r)=>n.name.localeCompare(r.name)).map(n=>({name:n.name,...n.disabled?{disabled:!0}:{},...n.requireTrusted?{require_trusted:!0}:{},...n.requireProvenance?{require_provenance:!0}:{},...n.sandboxProfile?{sandbox_profile:n.sandboxProfile}:{},...n.allowedCapabilities.size>0?{allowed_capabilities:j(n.allowedCapabilities)}:{},...n.blockedCapabilities.size>0?{blocked_capabilities:j(n.blockedCapabilities)}:{},...n.allowedSurfaces.size>0?{allowed_surfaces:j(n.allowedSurfaces)}:{},...n.blockedSurfaces.size>0?{blocked_surfaces:j(n.blockedSurfaces)}:{},...n.allowedCommands.size>0?{allowed_commands:j(n.allowedCommands)}:{},...n.blockedCommands.size>0?{blocked_commands:j(n.blockedCommands)}:{},...n.allowedActions.size>0?{allowed_actions:j(n.allowedActions)}:{},...n.blockedActions.size>0?{blocked_actions:j(n.blockedActions)}:{},...n.allowedServices.size>0?{allowed_services:j(n.allowedServices)}:{},...n.blockedServices.size>0?{blocked_services:j(n.blockedServices)}:{}}));return{mode:e.mode,trust_mode:e.trustMode,pm_max_version_exceeded_mode:Ub(e.pmMaxVersionExceededMode),require_provenance:e.requireProvenance,trusted_extensions:j(e.trustedExtensions),default_sandbox_profile:e.defaultSandboxProfile,allowed_extensions:j(e.allowedExtensions),blocked_extensions:j(e.blockedExtensions),allowed_capabilities:j(e.allowedCapabilities),blocked_capabilities:j(e.blockedCapabilities),allowed_surfaces:j(e.allowedSurfaces),blocked_surfaces:j(e.blockedSurfaces),allowed_commands:j(e.allowedCommands),blocked_commands:j(e.blockedCommands),allowed_actions:j(e.allowedActions),blocked_actions:j(e.blockedActions),allowed_services:j(e.allowedServices),blocked_services:j(e.blockedServices),extension_overrides:t}}function ql(e){let t=zl(e.extension_overrides);return{mode:jl(e.mode),trustMode:Ll(e.trust_mode),pmMaxVersionExceededMode:Fl(e.pm_max_version_exceeded_mode),requireProvenance:e.require_provenance===!0,trustedExtensions:P(e.trusted_extensions),defaultSandboxProfile:Gn(e.default_sandbox_profile),allowedExtensions:P(e.allowed_extensions),blockedExtensions:P(e.blocked_extensions),allowedCapabilities:P(e.allowed_capabilities),blockedCapabilities:P(e.blocked_capabilities),allowedSurfaces:tn(e.allowed_surfaces),blockedSurfaces:tn(e.blocked_surfaces),allowedCommands:P(e.allowed_commands),blockedCommands:P(e.blocked_commands),allowedActions:P(e.allowed_actions),blockedActions:P(e.blocked_actions),allowedServices:P(e.allowed_services),blockedServices:P(e.blocked_services),overridesByName:t,warnings:[]}}function Ge(e,t){return e.overridesByName.get(we(t))??null}function nn(e,t,n,r,o){return t.has(n)?o:e.size>0&&!e.has(n)?r:null}function Vl(e,t,n){let r=n.trim().toLowerCase(),o=Ge(e,t.name),i=o&&o.allowedCapabilities.size>0?o.allowedCapabilities:e.allowedCapabilities,s=new Set([...e.blockedCapabilities,...o?o.blockedCapabilities:[]]);return nn(i,s,r,"capability_not_allowlisted","capability_blocked")}function Vb(e,t,n){let r=Ge(e,t.name),o=r&&r.allowedSurfaces.size>0?r.allowedSurfaces:e.allowedSurfaces,i=new Set([...e.blockedSurfaces,...r?r.blockedSurfaces:[]]);return nn(o,i,n,"surface_not_allowlisted","surface_blocked")}function Bb(e,t,n){let r=z(n);if(r.length===0)return null;let o=Ge(e,t.name),i=o&&o.allowedCommands.size>0?o.allowedCommands:e.allowedCommands,s=new Set([...e.blockedCommands,...o?o.blockedCommands:[]]);return nn(i,s,r,"command_not_allowlisted","command_blocked")}function Wb(e,t,n){let r=we(n).replace(/\s+/g,"-");if(r.length===0)return null;let o=Ge(e,t.name),i=o&&o.allowedActions.size>0?o.allowedActions:e.allowedActions,s=new Set([...e.blockedActions,...o?o.blockedActions:[]]);return nn(i,s,r,"action_not_allowlisted","action_blocked")}function Gb(e,t,n){let r=we(n);if(r.length===0)return null;let o=Ge(e,t.name),i=o&&o.allowedServices.size>0?o.allowedServices:e.allowedServices,s=new Set([...e.blockedServices,...o?o.blockedServices:[]]);return nn(i,s,r,"service_not_allowlisted","service_blocked")}function Kb(e,t){let n=we(t.name);return Ge(e,t.name)?.disabled===!0?"extension_override_disabled":nn(e.allowedExtensions,e.blockedExtensions,n,"extension_not_allowlisted","extension_blocked")}function Yb(e,t){if(e.trustMode==="off")return null;let n=Ge(e,t.name),r=we(t.name),o=t.trusted===!0,i=t.provenanceVerified===!0;return e.trustedExtensions.size>0&&!e.trustedExtensions.has(r)?"extension_not_trusted":(n?.requireTrusted===!0||e.trustMode==="warn"||e.trustMode==="enforce")&&!o?"extension_untrusted":(e.requireProvenance||n?.requireProvenance===!0)&&!i?"provenance_missing_or_unverified":null}function Xb(e,t){if(e.mode==="off")return null;let n=Ge(e,t.name)?.sandboxProfile??t.sandboxProfile??e.defaultSandboxProfile;if(n==="none")return null;let r=t.permissions;if(!r)return"sandbox_permissions_missing";let o=i=>r[i]===!0;return n==="restricted"?o("process_spawn")?"sandbox_restricted_disallows_process_spawn":o("env_write")?"sandbox_restricted_disallows_env_write":null:o("process_spawn")?"sandbox_strict_disallows_process_spawn":o("network")?"sandbox_strict_disallows_network":o("fs_write")?"sandbox_strict_disallows_fs_write":o("env_write")?"sandbox_strict_disallows_env_write":null}function go(e,t,n,r,o={}){let i=Object.entries(o).sort((a,c)=>a[0].localeCompare(c[0])).map(([a,c])=>`${a}=${c}`).join(":"),s=i.length>0?`:${i}`:"";return`extension_policy_${e}_${t}:${n.layer}:${n.name}:reason=${r}${s}`}function Bl(e,t){if(e.mode==="off"&&e.trustMode==="off")return{allowed:!0,warning:null};let n=[],r=Kb(e,t);r&&n.push({reason:r,scope:"extension",mode:e.mode});let o=Yb(e,t);o&&n.push({reason:o,scope:"trust",mode:e.trustMode});let i=Xb(e,t);i&&n.push({reason:i,scope:"extension",mode:e.mode});let s=n.find(c=>c.mode==="enforce");if(s)return{allowed:!1,warning:go("blocked",s.scope,t,s.reason)};let a=n.find(c=>c.mode==="warn");return a?{allowed:!0,warning:go("violation",a.scope,t,a.reason)}:{allowed:!0,warning:null}}function Wl(e,t,n){if(e.mode==="off")return{allowed:!0,warning:null};let r=Vl(e,t,n);return r?{allowed:e.mode==="warn",warning:go(e.mode==="warn"?"violation":"blocked","capability",t,r,{capability:n.trim().toLowerCase()})}:{allowed:!0,warning:null}}function Jb(e,t,n,r,o){let i=typeof r=="string"?Vl(e,t,r):null,s=Vb(e,t,n),a=o.command?Bb(e,t,o.command):null,c=o.action?Wb(e,t,o.action):null,d=o.service?Gb(e,t,o.service):null;return i??s??a??c??d}function Zb(e,t,n,r){let o={method:we(e).replace(/\s+/g,"_"),surface:t};return n&&(o.capability=n),r.command&&(o.command=z(r.command)),r.action&&(o.action=we(r.action).replace(/\s+/g,"-")),r.service&&(o.service=we(r.service)),o}function Gl(e,t,n,r,o,i){if(e.mode==="off")return{allowed:!0,warning:null};let s=i??{},a=Jb(e,t,n,o,s);if(!a)return{allowed:!0,warning:null};let c=go(e.mode==="warn"?"violation":"blocked","registration",t,a,Zb(r,n,o,s));return{allowed:e.mode==="warn",warning:c}}(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]="cd1de600-27e4-522b-842e-1993c12e9f0e")}catch{}})();var Yl=100;function Kl(e,t){let n=e[t];if(n!=null)return typeof n!="string"||n.trim().length===0?null:n.trim()}function Qb(e){if(e==null)return;let t=Ve(e);if(!t)return null;let n={};for(let r of Object.keys(t).sort((o,i)=>o.localeCompare(i))){if(r.trim().length===0)return null;let o=t[r];if(typeof o!="string"||o.trim().length===0)return null;n[r.trim()]=o.trim()}return Object.keys(n).length>0?n:void 0}function Ks(e,t){let n=e[t];return typeof n!="string"||n.trim().length===0?null:n.trim()}function Xl(e){if(e!=null)return typeof e!="number"||!Number.isInteger(e)?null:e}function bt(e){if(e!=null)return typeof e!="boolean"?null:e}function ew(e){let t=Xl(e.priority);return t===void 0?Yl:t}function tw(e){let t=e.sandbox_profile;if(t==null)return;if(typeof t!="string")return null;let n=Gn(t);return n!==t.trim().toLowerCase()?null:n}function Ys(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}function nw(e){if(e==null)return;let t=Ve(e);if(!t)return null;let n=Ys(t.source),r=Ys(t.signature),o=Ys(t.attestation),i=t.verified===void 0||t.verified===null?void 0:typeof t.verified=="boolean"?t.verified:null;return i===null?null:{...n?{source:n}:{},...r?{signature:r}:{},...o?{attestation:o}:{},...typeof i=="boolean"?{verified:i}:{}}}function rw(e){if(e==null)return;let t=Ve(e);if(!t)return null;let n=bt(t.fs_read),r=bt(t.fs_write),o=bt(t.network),i=bt(t.env_read),s=bt(t.env_write),a=bt(t.process_spawn);return[n,r,o,i,s,a].includes(null)?null:{...typeof n=="boolean"?{fs_read:n}:{},...typeof r=="boolean"?{fs_write:r}:{},...typeof o=="boolean"?{network:o}:{},...typeof i=="boolean"?{env_read:i}:{},...typeof s=="boolean"?{env_write:s}:{},...typeof a=="boolean"?{process_spawn:a}:{}}}function ow(e){if(e==null)return{capabilities:[],legacy_aliases:[]};if(!Array.isArray(e)||e.some(n=>typeof n!="string"))return null;let t=bl(e);return{capabilities:t.capabilities,legacy_aliases:t.legacy_aliases}}function iw(e){if(e==null)return;let t=Ve(e);if(!t)return null;let n=t.commands;if(n==null)return;if(!Array.isArray(n)||n.some(o=>typeof o!="string"))return null;let r=[...new Set(n.map(o=>z(o)).filter(o=>o.length>0))].sort((o,i)=>o.localeCompare(i));return r.length>0?{commands:r}:void 0}function sw(e){let t=Xl(e.manifest_version);if(t===null)return null;let n=Kl(e,"pm_min_version");if(n===null)return null;let r=Kl(e,"pm_max_version");if(r===null)return null;let o=Qb(e.engines);if(o===null)return null;let i=bt(e.trusted);if(i===null)return null;let s=tw(e);if(s===null)return null;let a=nw(e.provenance);if(a===null)return null;let c=rw(e.permissions);if(c===null)return null;let d=ow(e.capabilities);if(d===null)return null;let l=iw(e.activation);if(l===null)return null;let u=yo(e.contributions);return u===null?null:{manifest_version:t,pm_min_version:n,pm_max_version:r,engines:o,trusted:i,sandbox_profile:s,provenance:a,permissions:c,capabilities:d.capabilities,legacy_capability_aliases:d.legacy_aliases,activation:l,contributions:u}}function Xs(e){if(typeof e!="object"||e===null)return null;let t=e,n=Ks(t,"name");if(n===null)return null;let r=Ks(t,"version");if(r===null)return null;let o=Ks(t,"entry");if(o===null)return null;let i=ew(t);if(i===null)return null;let s=sw(t);return s===null?null:{name:n,version:r,entry:o,priority:i,manifest_version:s.manifest_version,pm_min_version:s.pm_min_version,pm_max_version:s.pm_max_version,engines:s.engines,trusted:s.trusted,provenance:s.provenance,sandbox_profile:s.sandbox_profile,permissions:s.permissions,activation:s.activation,contributions:s.contributions,capabilities:s.capabilities,legacy_capability_aliases:s.legacy_capability_aliases.length>0?s.legacy_capability_aliases:void 0}}import aw from"node:fs/promises";import Kn 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]="029e0066-2ef5-5204-92ad-4866321710f4")}catch{}})();async function Jl(e,t){let n=Kn.dirname(t.manifest_path),r=Kn.relative(n,t.entry_path);if(r.startsWith("..")||Kn.isAbsolute(r))throw new Error(`Cannot snapshot extension entry outside its package directory: ${t.entry_path}`);let o=Kn.join(e,`${t.layer}-${t.directory.replace(/[^a-zA-Z0-9._-]/gu,"_")}`);return await Sl("extension_module_graph_snapshot",()=>aw.cp(n,o,{recursive:!0,force:!0})),Kn.join(o,r)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bf5c3834-b388-507e-a13c-3beb5d096abb")}catch{}})();function Zl(e){let t=typeof e=="function"?e:e.run;if(typeof t!="function")throw new TypeError("registerPreflight override requires a function handler");let n=[...new Set((typeof e=="function"?[]:e.commands??[]).map(r=>{if(typeof r!="string"||r.trim().length===0)throw new TypeError("registerPreflight ownership.commands must contain non-empty command paths");return z(r)}))];return{run:t,...n.length>0?{commands:n}:{}}}function Ql(e){let t=[];for(let n=1;n<e.overrides.length;n+=1){let r=e.overrides[n];for(let o of e.overrides.slice(0,n))r.commands?.length&&o.commands?.length&&!o.commands.some(i=>r.commands.includes(i))||t.push(`extension_preflight_override_collision:${r.layer}:${r.name}:${o.layer}:${o.name}`)}return t}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="47d10c23-88f8-5ba1-bcc2-458f339121a8")}catch{}})();var bo=Xt;function eu(e){let t=e.trim().toLowerCase();return bo.includes(t)?t:null}function tu(e){let t=e.trim().toLowerCase();if(t.length===0)return null;let n=Math.max(1,Math.floor(t.length*.34));for(let r of bo)if(ao(t,r,n)!==null)return r;return null}(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]="355fe619-e6f3-51d9-b88c-0b57267c25be")}catch{}})();function nu(e){return e==="toon"||e==="json"}function ru(e){return Gt.includes(e)}function wt(e,t){if(typeof t!="function")throw new TypeError(`api.hooks.${e} requires a function handler`)}var ou=Symbol("extension_registration_trace");function Le(e,t){let n=new TypeError(e);return Object.defineProperty(n,ou,{value:t,enumerable:!1,configurable:!1,writable:!1}),n}function iu(e){return e instanceof Error?e[ou]:void 0}function Yn(e){if(e===null)return null;if(Array.isArray(e))return e.map(t=>Yn(t));if(typeof e=="function")return"[Function]";if(typeof e=="bigint"||typeof e=="symbol")return e.toString();if(typeof e=="object"){let t=e,n={};for(let r of Object.keys(t).sort((o,i)=>o.localeCompare(i)))n[r]=Yn(t[r]);return n}return e}function Xn(e){if(Array.isArray(e))return e.map(t=>Xn(t));if(typeof e=="object"&&e!==null){let t=e,n={};for(let r of Object.keys(t).sort((o,i)=>o.localeCompare(i)))n[r]=Xn(t[r]);return n}return e}function rn(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return Yn(t)}function Jn(e,t){if(typeof t!="object"||t===null||Array.isArray(t))throw new TypeError(`${e} requires an object definition`);return Xn(t)}function Zn(e,t){if(!Array.isArray(t))throw new TypeError(`${e} requires an array of object definitions`);return t.map(n=>rn(e,n))}function oe(e,t){if(typeof t!="string"||t.trim().length===0)throw new TypeError(`${e} requires a non-empty string`);return t.trim()}function Qn(e,t){if(typeof t!="function")throw new TypeError(`${e} requires a function handler`)}function Js(e){return e.trim().toLowerCase().split(/\s+/).filter(t=>t.length>0).join(" ")}function Zs(e,t){return z(`${e} ${t}`)}function er(e,t){return Object.defineProperty(e,"runtime_definition",{value:t,enumerable:!1,writable:!1,configurable:!1}),e}var cw=new Set(["low","medium","high"]),dw=new Set(["number","string_set"]),lw=new Set(["string","number","boolean"]);function su(e,t){if(typeof t!="string"||t.trim().length===0)throw new TypeError(`${e} requires a non-empty string`);return t.trim()}function uw(e,t,n){let r=`registerAssuranceMeasurementProvider provider.keys.${t}`,o=K(r,n);if(!dw.has(String(o.value_type)))throw new TypeError(`${r}.value_type must be number or string_set`);if(B(`${r}.description`,o.description),o.parameters===void 0)return;let i=K(`${r}.parameters`,o.parameters);for(let[s,a]of Object.entries(i)){let c=`${r}.parameters.${s}`;su(`${c}.name`,s);let d=K(c,a);if(!lw.has(String(d.type)))throw new TypeError(`${c}.type must be string, number, or boolean`);te(`${c}.required`,d.required),B(`${c}.description`,d.description)}if(Object.keys(i).length>50)throw new TypeError(`assurance provider ${e} key ${t} exceeds 50 parameters`)}function au(e){let t=K("registerAssuranceMeasurementProvider provider",e),n=su("registerAssuranceMeasurementProvider provider.id",t.id);if(!/^[a-z0-9][a-z0-9-]*$/u.test(n))throw new TypeError("registerAssuranceMeasurementProvider provider.id must be a stable lowercase id");if(!cw.has(String(t.cost_class)))throw new TypeError("registerAssuranceMeasurementProvider provider.cost_class must be low, medium, or high");if(typeof t.network!="boolean")throw new TypeError("registerAssuranceMeasurementProvider provider.network must be boolean");let r=K("registerAssuranceMeasurementProvider provider.keys",t.keys);if(Object.keys(r).length===0)throw new TypeError("registerAssuranceMeasurementProvider provider.keys requires at least one key");for(let[o,i]of Object.entries(r)){if(!/^[a-z0-9][a-z0-9-]*$/u.test(o))throw new TypeError(`registerAssuranceMeasurementProvider provider key ${o} must be a stable lowercase id`);uw(n,o,i)}if(t.timeout_ms!==void 0&&(typeof t.timeout_ms!="number"||!Number.isInteger(t.timeout_ms)||t.timeout_ms<1||t.timeout_ms>3e5))throw new TypeError("registerAssuranceMeasurementProvider provider.timeout_ms must be an integer from 1 through 300000");if(typeof t.resolve!="function")throw new TypeError("registerAssuranceMeasurementProvider provider.resolve requires a function handler")}(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]="4abca948-e9ba-52b5-b63c-a20fc344980a")}catch{}})();var fw=new Set(["default","description","enabled","list","long","repeatable","required","short","type","value_name","value_type","value_validation","visible"]);function wo(e,t){return Zn(e,t).map(n=>(n.repeatable===!0&&(n.list=!0),n))}function mw(e){return e.trim().toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}function Qs(e,t){if(t===void 0)return e.replace(/\s+/g,"-");if(typeof t!="string"||t.trim().length===0)throw new TypeError("registerCommand definition.action must be a non-empty string when provided");let n=mw(t);if(n.length===0)throw new TypeError("registerCommand definition.action must contain alphanumeric characters");return n}function ea(e){if(e===void 0)return[];if(!Array.isArray(e))throw new TypeError("registerCommand definition.arguments must be an array when provided");let t=[];for(let[r,o]of e.entries()){let i=K(`registerCommand definition.arguments[${r}]`,o),s=oe(`registerCommand definition.arguments[${r}].name`,i.name);if(te(`registerCommand definition.arguments[${r}].required`,i.required),te(`registerCommand definition.arguments[${r}].variadic`,i.variadic),B(`registerCommand definition.arguments[${r}].description`,i.description),s.includes(" "))throw new TypeError(`registerCommand definition.arguments[${r}].name must not contain spaces`);let a={name:s};i.required===!0&&(a.required=!0),i.variadic===!0&&(a.variadic=!0),typeof i.description=="string"&&(a.description=i.description.trim()),t.push(a)}let n=t.map((r,o)=>r.variadic?o:-1).filter(r=>r>=0);if(n.length>1)throw new TypeError("registerCommand definition.arguments supports at most one variadic argument");if(n.length===1&&n[0]!==t.length-1)throw new TypeError("registerCommand definition.arguments variadic argument must be the final argument");return t}function vo(e){if(!Array.isArray(e))throw new TypeError("registerFlags flags requires an array of object definitions");for(let[t,n]of e.entries()){let r=K(`registerFlags flags[${t}]`,n),o=Object.keys(r).filter(c=>!fw.has(c)).sort((c,d)=>c.localeCompare(d));if(o.length>0)throw new TypeError(`registerFlags flags[${t}] contains unknown field(s): ${o.join(", ")}`);let i=r.long,s=r.short;if(i===void 0&&s===void 0)throw new TypeError(`registerFlags flags[${t}] requires at least one of long or short`);B(`registerFlags flags[${t}].long`,i),B(`registerFlags flags[${t}].short`,s);let a=ol(i,s);if(a!==null)throw new TypeError(`registerFlags flags[${t}] ${il(a.token,a.failure)}`);if(B(`registerFlags flags[${t}].value_name`,r.value_name),B(`registerFlags flags[${t}].description`,r.description),te(`registerFlags flags[${t}].required`,r.required),te(`registerFlags flags[${t}].enabled`,r.enabled),te(`registerFlags flags[${t}].visible`,r.visible),te(`registerFlags flags[${t}].list`,r.list),te(`registerFlags flags[${t}].repeatable`,r.repeatable),r.list!==void 0&&r.repeatable!==void 0&&r.list!==r.repeatable)throw new TypeError(`registerFlags flags[${t}].list and repeatable must match when both are provided`);if(Nl(`registerFlags flags[${t}].default`,r.default),Array.isArray(r.default)&&r.list!==!0&&r.repeatable!==!0)throw new TypeError(`registerFlags flags[${t}].default cannot be an array unless list is true.`);cu(`registerFlags flags[${t}]`,r),pw(`registerFlags flags[${t}]`,r)}}function pw(e,t){if(t.value_validation===void 0)return;if(t.value_validation!=="coerce"&&t.value_validation!=="strict")throw new TypeError(`${e}.value_validation must be "coerce" or "strict" (received ${JSON.stringify(t.value_validation)}).`);if(t.value_validation!=="strict")return;let n=(typeof t.value_type=="string"?t.value_type:void 0)??(typeof t.type=="string"?t.type:void 0),r=n===void 0?null:so(n);if(r!=="number"&&r!=="boolean")throw new TypeError(`${e}.value_validation "strict" requires value_type "number" or "boolean" (string values are never malformed).`)}function cu(e,t){let n=(typeof t.value_type=="string"?t.value_type:void 0)??(typeof t.type=="string"?t.type:void 0);if(n===void 0)return;let r=so(n);if(r===null)throw new TypeError(`${e} value_type "${n}" is not a known flag value type (expected one of: string, number, boolean).`);if(t.default===void 0)return;let o=t.list===!0||t.repeatable===!0?ml(t.default):[t.default];for(let[i,s]of o.entries())if(!pl(s,r)){let a=o.length>1?`default[${i}]`:"default";throw new TypeError(`${e}.${a} (${JSON.stringify(s)}) is not coercible to ${r}.`)}}function du(e){if(!Array.isArray(e))throw new TypeError("registerItemFields fields requires an array of object definitions");for(let[t,n]of e.entries()){let r=K(`registerItemFields fields[${t}]`,n);oe(`registerItemFields fields[${t}].name`,r.name);let o=oe(`registerItemFields fields[${t}].type`,r.type);if(eu(o)===null){let i=tu(o),s=i?` Did you mean "${i}"?`:"";throw new TypeError(`registerItemFields fields[${t}].type "${o}" is not a known field type (expected one of: ${bo.join(", ")}).${s}`)}te(`registerItemFields fields[${t}].optional`,r.optional)}}function _w(e,t){if(t===void 0)return;let n=`registerItemTypes types[${e}].command_option_policies`;if(!Array.isArray(t))throw new TypeError(`${n} must be an array when provided`);for(let[r,o]of t.entries()){let i=`${n}[${r}]`,s=K(i,o);oe(`${i}.command`,s.command),oe(`${i}.option`,s.option),te(`${i}.enabled`,s.enabled),te(`${i}.required`,s.required),te(`${i}.visible`,s.visible)}}function yw(e,t){if(t===void 0)return;let n=`registerItemTypes types[${e}].options`;if(!Array.isArray(t))throw new TypeError(`${n} must be an array when provided`);for(let[r,o]of t.entries()){let i=`${n}[${r}]`,s=K(i,o);oe(`${i}.key`,s.key),gt(`${i}.values`,s.values),te(`${i}.required`,s.required),gt(`${i}.aliases`,s.aliases)}}function lu(e){if(!Array.isArray(e))throw new TypeError("registerItemTypes types requires an array of object definitions");for(let[t,n]of e.entries()){let r=`registerItemTypes types[${t}]`,o=K(r,n);oe(`${r}.name`,o.name),B(`${r}.folder`,o.folder),gt(`${r}.aliases`,o.aliases),gt(`${r}.required_create_fields`,o.required_create_fields),gt(`${r}.required_create_repeatables`,o.required_create_repeatables),_w(t,o.command_option_policies),yw(t,o.options)}}function uu(e){let t=K("registerMigration definition",e);if(t.id!==void 0&&typeof t.id!="string")throw new TypeError("registerMigration definition.id must be a string when provided");if(t.description!==void 0&&typeof t.description!="string")throw new TypeError("registerMigration definition.description must be a string when provided");if(t.status!==void 0&&typeof t.status!="string")throw new TypeError("registerMigration definition.status must be a string when provided");if(te("registerMigration definition.mandatory",t.mandatory),t.run!==void 0&&typeof t.run!="function")throw new TypeError("registerMigration definition.run must be a function when provided")}var fu=["types","statuses","fields","workflows","config","templates","packages"],hw={types:(e,t)=>{if(t.name!==void 0&&typeof t.name!="string")throw new TypeError(`${e}.name must be a string when provided`)},workflows:(e,t)=>{if(typeof t.type!="string")throw new TypeError(`${e}.type must be a string`);if(!Array.isArray(t.allowed_transitions))throw new TypeError(`${e}.allowed_transitions must be an array`);for(let[n,r]of t.allowed_transitions.entries())if(!Array.isArray(r))throw new TypeError(`${e}.allowed_transitions[${n}] must be a [from, to] array`)},templates:(e,t)=>{if(typeof t.name!="string")throw new TypeError(`${e}.name must be a string`);if(typeof t.options!="object"||t.options===null||Array.isArray(t.options))throw new TypeError(`${e}.options must be an object`)},packages:(e,t)=>{if(typeof t.spec!="string")throw new TypeError(`${e}.spec must be a string`)}};function mu(e){let t=K("registerProfile profile",e);if(oe("registerProfile profile.name",t.name),oe("registerProfile profile.title",t.title),t.summary!==void 0&&typeof t.summary!="string")throw new TypeError("registerProfile profile.summary must be a string when provided");for(let n of fu){let r=t[n];if(r!==void 0){if(!Array.isArray(r))throw new TypeError(`registerProfile profile.${n} must be an array when provided`);for(let[o,i]of r.entries()){if(typeof i!="object"||i===null||Array.isArray(i))throw new TypeError(`registerProfile profile.${n}[${o}] must be an object`);hw[n]?.(`registerProfile profile.${n}[${o}]`,i)}}}}function pu(e){e.summary===void 0&&(e.summary="");for(let t of fu)e[t]===void 0&&(e[t]=[]);return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="45ff820c-32af-5bdb-a570-3059684129ce")}catch{}})();function _u(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError("registerService ownership must be an object");if(Reflect.ownKeys(e).some(t=>t!=="passThrough"))throw new TypeError("registerService ownership supports only passThrough");if(e.passThrough!==void 0&&typeof e.passThrough!="boolean")throw new TypeError("registerService ownership.passThrough must be a boolean when provided");return e.passThrough===!0}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b5de5028-f981-599b-8d11-0fc7b07beda4")}catch{}})();function yu(e){return typeof e=="string"?e:String(e)}function tr(e){let t=e.trim().replace(/^>=\s*/,"").replace(/^v/i,"").split(/[+-]/,1)[0];return/^\d+(?:[.-]\d+)*$/.test(t)?t.split(/[.-]/).map(n=>Number(n)):null}function ta(e,t){let n=tr(e),r=tr(t);if(!n||!r)return null;let o=Math.max(n.length,r.length);for(let i=0;i<o;i+=1){let s=n[i]??0,a=r[i]??0;if(s>a)return 1;if(s<a)return-1}return 0}function hu(e,t){if(e==null)return{kind:"pm_min_version",status:"absent",allowed:!0,required:"",current:t};let n=yu(e);if(typeof e!="string"||n.trim().length===0)return{kind:"pm_min_version",status:"invalid",allowed:!1,required:n,current:t};if(!tr(n))return{kind:"pm_min_version",status:"invalid",allowed:!1,required:n,current:t};if(t===null)return{kind:"pm_min_version",status:"unchecked",allowed:!0,required:n,current:null};let r=ta(t,n);return r===null?{kind:"pm_min_version",status:"unchecked",allowed:!0,required:n,current:t}:r<0?{kind:"pm_min_version",status:"unmet",allowed:!1,required:n,current:t}:{kind:"pm_min_version",status:"ok",allowed:!0,required:n,current:t}}function gu(e,t,n){if(e==null)return{kind:"pm_max_version",status:"absent",allowed:!0,required:"",current:t};let r=yu(e);if(typeof e!="string"||r.trim().length===0)return{kind:"pm_max_version",status:"invalid",allowed:!1,required:r,current:t};if(/^[<>=~^]/.test(r.trim())||!tr(r))return{kind:"pm_max_version",status:"invalid",allowed:!1,required:r,current:t};if(t===null)return{kind:"pm_max_version",status:"unchecked",allowed:!0,required:r,current:null};let o=ta(t,r);return o===null?{kind:"pm_max_version",status:"unchecked",allowed:!0,required:r,current:t}:o>0?n==="warn"?{kind:"pm_max_version",status:"exceeded_warn",allowed:!0,required:r,current:t}:{kind:"pm_max_version",status:"exceeded",allowed:!1,required:r,current:t}:{kind:"pm_max_version",status:"ok",allowed:!0,required:r,current:t}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3abe36f7-3c97-58d2-a56d-b4e0ea958461")}catch{}})();var bu=null,bw=Object.freeze(kd()),wu=0;function ww(e=Date.now()){return wu+=1,`${wu}-${e}`}function vw(e,t,n){return n.has(e)?!1:t.size===0?!0:t.has(e)}async function Ew(e,t){let[n,r]=await Promise.all([Et.realpath(e),Et.realpath(t)]);return zn(n,r)}function kw(e,t=process.cwd()){return{global:vt.join(Zd(t),"extensions"),project:vt.join(e,"extensions")}}async function Sw(e){try{return(await Et.readdir(e,{withFileTypes:!0})).filter(t=>t.isDirectory()).map(t=>t.name).sort((t,n)=>t.localeCompare(n))}catch{return[]}}function Ow(e){let t={layer:e.layer,directory:e.directory,manifest_path:e.manifest_path,name:e.manifest.name,version:e.manifest.version,entry:e.manifest.entry,priority:e.manifest.priority,entry_path:e.entry_path,manifest_version:e.manifest.manifest_version,pm_min_version:e.manifest.pm_min_version,pm_max_version:e.manifest.pm_max_version,engines:e.manifest.engines,trusted:e.manifest.trusted,provenance:e.manifest.provenance,sandbox_profile:e.manifest.sandbox_profile,permissions:e.manifest.permissions,capabilities:[...e.manifest.capabilities],activation:e.manifest.activation?{commands:[...e.manifest.activation.commands]}:void 0,contributions:e.manifest.contributions??e.contributions};return e.source_package&&(t.source_package=e.source_package),e.source_aliases&&(t.source_aliases=[...e.source_aliases]),t}function vu(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}async function Aw(e){let t=new Map;try{let n=JSON.parse(await Et.readFile(vt.join(e,".managed-extensions.json"),"utf8")),r=Ve(n)?.entries;if(!Array.isArray(r))return t;for(let o of r){if(typeof o!="object"||o===null)continue;let i=o,s=vu(i.source?.package),a=[i.source?.input,i.source?.name,s].map(l=>vu(l)).filter(l=>l!==void 0),c=yo(i.contributions),d={aliases:[...new Set(a)],...s?{package_name:s}:{},...c?{contributions:c}:{}};typeof i.directory=="string"&&i.directory.trim().length>0&&t.set(`directory:${i.directory.trim()}`,d),typeof i.name=="string"&&i.name.trim().length>0&&t.set(`name:${i.name.trim()}`,d)}}catch{return t}return t}function Eu(e){return[...e].sort((t,n)=>{if(t.manifest.priority!==n.manifest.priority)return t.manifest.priority-n.manifest.priority;let r=t.manifest.name.localeCompare(n.manifest.name);return r!==0?r:t.directory.localeCompare(n.directory)})}function Iw(e,t){let n=[...Eu(e),...Eu(t)],r=[];for(let o of n){let i=r.findIndex(s=>s.manifest.name===o.manifest.name);i>=0&&r.splice(i,1),r.push(o)}return r}async function ku(e,t,n,r,o){let i=[],s=[],a=[],c=await Sw(t),d=await Aw(t);for(let l of c){let u=await xw(e,t,l,n,r,d,o);i.push(u.diagnostic),s.push(...u.warnings),u.candidate&&a.push(u.candidate)}return{diagnostics:i,warnings:s,candidates:a}}function Tw(){return{diagnostics:[],warnings:[],candidates:[]}}function Su(e,t,n,r){return{diagnostic:{layer:e,directory:t,manifest_path:n,name:null,version:null,entry:null,priority:null,entry_path:null,enabled:null,status:"warn"},warnings:[r],candidate:null}}function Cw(e,t,n,r,o,i,s,a){let c=El(e,t,n);Array.isArray(t.legacy_capability_aliases)&&t.legacy_capability_aliases.length>0&&c.push(vl(e,t.name,t.legacy_capability_aliases));for(let d of gl(t.capabilities))c.push(wl(e,t.name,d));return r?o||c.push(`extension_entry_missing:${e}:${t.name}`):c.push(`extension_entry_outside_extension:${e}:${t.name}`),i.warning&&c.push(a?i.warning:i.warning.replace("extension_pm_","extension_disabled_pm_")),s.warning&&c.push(a?s.warning:s.warning.replace("extension_pm_","extension_disabled_pm_")),c}async function xw(e,t,n,r,o,i,s){let a=vt.join(t,n),c=vt.join(a,"manifest.json");if(!await mt(c))return Su(e,n,c,`extension_manifest_missing:${e}:${n}`);let d,l;try{let de=JSON.parse(await Et.readFile(c,"utf8"));l=Ve(de),d=Xs(de)}catch{l=null,d=null}if(!d||!l)return Su(e,n,c,`extension_manifest_invalid:${e}:${n}`);let u=vt.resolve(a,d.entry),f=zn(a,u),m=f?await mt(u):!1,_=f&&m?await Ew(a,u):f,y=vw(d.name,r,o),w=await Dw(e,d),v=await Pw(e,d,s),T=Cw(e,d,l,_,m,w,v,y),H=_&&m&&w.allowed&&v.allowed,X=i.get(`directory:${n}`)??i.get(`name:${d.name}`);return{diagnostic:{layer:e,directory:n,manifest_path:c,name:d.name,version:d.version,entry:d.entry,priority:d.priority,entry_path:u,enabled:y,status:H?"ok":"warn"},warnings:T,candidate:$l({layer:e,directory:n,manifestPath:c,entryPath:u,manifest:d,sourceIdentity:X,extensionReady:H,enabledForLoad:y})}}async function Rw(e){let t=kw(e.pmRoot,e.cwd??process.cwd()),n=qn(e.settings.extensions.enabled),r=qn(e.settings.extensions.disabled),o=Ul(e.settings),i=Hl(o);if(e.noExtensions)return{disabled_by_flag:!0,roots:t,configured_enabled:n,configured_disabled:r,discovered:[],effective:[],warnings:[...o.warnings],policy:i};let s=new Set(n),a=new Set(r),c=e.ignoreGlobalExtensions===!0?Tw():await ku("global",t.global,s,a,o.pmMaxVersionExceededMode.global),d=await ku("project",t.project,s,a,o.pmMaxVersionExceededMode.project),l=[...o.warnings],u=Iw(c.candidates,d.candidates),f=[];for(let m of u){let _={layer:m.layer,name:m.manifest.name,trusted:m.manifest.trusted===!0,provenanceVerified:m.manifest.provenance?.verified===!0,sandboxProfile:m.manifest.sandbox_profile,permissions:m.manifest.permissions&&typeof m.manifest.permissions=="object"?{fs_read:m.manifest.permissions.fs_read,fs_write:m.manifest.permissions.fs_write,network:m.manifest.permissions.network,env_read:m.manifest.permissions.env_read,env_write:m.manifest.permissions.env_write,process_spawn:m.manifest.permissions.process_spawn}:void 0},y=Bl(o,_);if(y.warning&&l.push(y.warning),!!y.allowed){for(let w of m.manifest.capabilities){let v=Wl(o,_,w);v.warning&&l.push(v.warning)}f.push(Ow(m))}}return{disabled_by_flag:!1,roots:t,configured_enabled:n,configured_disabled:r,discovered:[...c.diagnostics,...d.diagnostics],effective:f,warnings:[...new Set([...c.warnings,...d.warnings,...l])],policy:i}}function Eo(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}async function Nw(){try{let e=mo(import.meta.url,["../../.."]),t=await Et.readFile(vt.join(e,"package.json"),"utf8"),n=JSON.parse(t);return typeof n.version=="string"&&n.version.trim().length>0?n.version.trim():null}catch{return null}}function Iu(){return bu??=Nw(),bu}function Tu(e,t,n){let r=n.current??"unknown";if(n.kind==="pm_min_version")switch(n.status){case"invalid":return`extension_pm_min_version_invalid:${e}:${t.name}:required=${n.required}`;case"unchecked":return`extension_pm_min_version_unchecked:${e}:${t.name}:required=${n.required}:current=${r}`;case"unmet":return`extension_pm_min_version_unmet:${e}:${t.name}:required=${n.required}:current=${r}`;default:return}switch(n.status){case"invalid":return`extension_pm_max_version_invalid:${e}:${t.name}:allowed=${n.required}`;case"unchecked":return`extension_pm_max_version_unchecked:${e}:${t.name}:allowed=${n.required}:current=${r}`;case"exceeded_warn":return`extension_pm_max_version_exceeded_warn:${e}:${t.name}:allowed=${n.required}:current=${r}`;case"exceeded":return`extension_pm_max_version_exceeded:${e}:${t.name}:allowed=${n.required}:current=${r}`;default:return}}async function Dw(e,t){if(t.pm_min_version===void 0)return{allowed:!0};let n=hu(t.pm_min_version,await Iu()),r=Tu(e,t,n);return r?{allowed:n.allowed,warning:r}:{allowed:n.allowed}}async function Pw(e,t,n){if(t.pm_max_version===void 0)return{allowed:!0};let r=gu(t.pm_max_version,await Iu(),n),o=Tu(e,t,r);return o?{allowed:r.allowed,warning:o}:{allowed:r.allowed}}async function Ou(e){try{let t=await Et.stat(e);return`${Math.trunc(t.mtimeMs)}-${t.size}`}catch{return"missing"}}async function Mw(e,t){let n=e.entry_path;t.module_graph_snapshot_root&&(n=await Jl(t.module_graph_snapshot_root,e));let r=new URL(gw(n).href);if(!(t.cache_bust===!0||typeof t.reload_token=="string"))return r.href;let[o,i]=await Promise.all([Ou(e.entry_path),Ou(e.manifest_path)]),s=t.reload_token??ww();return r.searchParams.set("pm_ext_reload",s),r.searchParams.set("pm_ext_entry",o),r.searchParams.set("pm_ext_manifest",i),r.href}async function UD(e){let t=await Rw(e),n=[],r=[],o=[...t.warnings];if(t.disabled_by_flag)return{...t,warnings:o,loaded:n,failed:r};let i=typeof e.extensionFilter=="function"?t.effective.filter(e.extensionFilter):t.effective;for(let s of i)try{let a=await import(await Mw(s,e));n.push({...s,module:a})}catch(a){o.push(`extension_load_failed:${s.layer}:${s.name}`),r.push({layer:s.layer,name:s.name,entry_path:s.entry_path,error:Eo(a)})}return{...t,warnings:o,loaded:n,failed:r}}var Au=5e3,$w=2147483647;function jw(e){let t={activate:e.activate.bind(e)};if(typeof e.deactivate=="function"){let n=e.deactivate;t.deactivate=n.bind(e)}return t}function Cu(e){let t=cl(e);return t?jw(t):null}async function HD(e,t,n={}){let r=Lw(n?.deactivate_timeout_ms),o=new Set((t?.failed??[]).map(l=>`${l.layer}:${l.name}`)),i=[];for(let l of e.loaded){if(o.has(`${l.layer}:${l.name}`))continue;let u=Cu(l.module);!u||typeof u.deactivate!="function"||i.push({extension:l,deactivate:u.deactivate})}let s=await Promise.all(i.map(async({extension:l,deactivate:u})=>{try{return await Fw(u,r),{ok:!0}}catch(f){return{ok:!1,layer:l.layer,name:l.name,error:Eo(f)}}})),a=[],c=[],d=0;for(let l of s){if(l.ok){d+=1;continue}a.push(`extension_deactivate_failed:${l.layer}:${l.name}`),c.push({layer:l.layer,name:l.name,error:l.error})}return{deactivated:d,warnings:a,failed:c}}function Lw(e){return typeof e!="number"||e<0?Au:e===0||e===1/0?0:Number.isFinite(e)?Math.min($w,Math.max(1,Math.floor(e))):Au}async function Fw(e,t){if(t===0){await e();return}let n;try{let r=Promise.resolve().then(()=>e());r.catch(()=>{}),await Promise.race([r,new Promise((o,i)=>{n=setTimeout(()=>{i(new Error(`extension deactivate timed out after ${t}ms`))},t),n.unref?.()})])}finally{clearTimeout(n)}}function zw(e){if(!Array.isArray(e.capabilities))return null;let t=new Set;for(let n of e.capabilities){let r=n.trim().toLowerCase();Be(r)&&t.add(r)}return t}function q(e,t,n){let r=zw(e);if(r!==null&&!r.has(t))throw Le(`${n} requires capability '${t}' in extension manifest capabilities`,{method:n,registration_index:-1,capability:t,missing_capability:t,expected_schema:`"capabilities": [..., "${t}"]`,received:e.capabilities,hint:`Add "${t}" to ${e.name} manifest capabilities, or remove the ${n} registration call.`})}function Uw(e){return Object.freeze({name:e.name,layer:e.layer,version:e.version,capabilities:Object.freeze((e.capabilities??[]).filter(t=>Pe.includes(t))),pm_min_version:e.pm_min_version,pm_max_version:e.pm_max_version,source_package:e.source_package})}function Hw(e){return{layer:e.layer,name:e.name,trusted:e.trusted===!0,provenanceVerified:e.provenance?.verified===!0,sandboxProfile:e.sandbox_profile,permissions:e.permissions&&typeof e.permissions=="object"?{fs_read:e.permissions.fs_read,fs_write:e.permissions.fs_write,network:e.permissions.network,env_read:e.permissions.env_read,env_write:e.permissions.env_write,process_spawn:e.permissions.process_spawn}:void 0}}var na=class{extension;hooks;#e;#n;#o;#r;#s;#a;#i;#c;#t;#d;#l;#u;constructor(t,n,r,o,i,s,a,c,d,l,u){this.#e=t,this.extension=Uw(t),this.#n=Hw(t),this.#o=n,this.#r=r,this.#s=o,this.#a=i,this.#i=s,this.#c=a,this.#t=c,this.#d=d,this.#l=l,this.#u=u,this.registerCommand=this.registerCommand.bind(this),this.registerParser=this.registerParser.bind(this),this.registerPreflight=this.registerPreflight.bind(this),this.registerService=this.registerService.bind(this),this.registerFlags=this.registerFlags.bind(this),this.registerItemFields=this.registerItemFields.bind(this),this.registerItemTypes=this.registerItemTypes.bind(this),this.registerRelationshipKinds=this.registerRelationshipKinds.bind(this),this.registerMigration=this.registerMigration.bind(this),this.registerProfile=this.registerProfile.bind(this),this.registerRenderer=this.registerRenderer.bind(this),this.registerImporter=this.registerImporter.bind(this),this.registerExporter=this.registerExporter.bind(this),this.registerSearchProvider=this.registerSearchProvider.bind(this),this.registerVectorStoreAdapter=this.registerVectorStoreAdapter.bind(this),this.registerAssuranceMeasurementProvider=this.registerAssuranceMeasurementProvider.bind(this),this.hooks={beforeCommand:f=>this.registerBeforeCommand(f),beforeMutation:f=>this.registerBeforeMutation(f),afterCommand:f=>this.registerAfterCommand(f),onWrite:f=>this.registerOnWrite(f),onRead:f=>this.registerOnRead(f),onIndex:f=>this.registerOnIndex(f)}}allowRegistration(t,n,r,o){let i=Gl(this.#u,this.#n,t,n,r,o);return i.warning&&this.#d.push(i.warning),i.allowed}registerCommandTrace(t,n,r,o,i){return{method:"registerCommand",registration_index:t==="override"?this.#r.overrides.length:this.#r.handlers.length,command:n,expected_schema:r,received:Yn(o),hint:i}}registerCommandOverride(t,n){let r=z(t);if(r.length===0)throw Le("registerCommand requires a non-empty command name",this.registerCommandTrace("override",t,'registerCommand("<command>", (context) => unknown)',t,"Provide a non-empty command path as the first argument."));if(typeof n!="function"){let o=this.registerCommandTrace("override",r,'registerCommand("<command>", (context) => unknown)',n,"Provide a function as the second registerCommand argument.");throw Le(`registerCommand requires an override function when command name is provided (command="${r}", registration_index=${o.registration_index})`,o)}this.allowRegistration("commands.override","registerCommand","commands",{command:r})&&this.#r.overrides.push({layer:this.#e.layer,name:this.#e.name,command:r,run:n})}resolveCommandDefinitionRunHandler(t,n){let r=typeof t.run=="function"?t.run:void 0,o=typeof t.handler=="function"?t.handler:void 0;return!r&&o&&this.#d.push(`extension_command_definition_legacy_handler_alias:${this.#e.layer}:${this.#e.name}:${n}`),r??o}registerCommandDefinition(t){if(typeof t!="object"||t===null)throw Le("registerCommand requires a command definition object",this.registerCommandTrace("definition",void 0,"{ name: string; run: (context) => unknown; }",t,'Use registerCommand({ name: "command path", run: (context) => ... }).'));if(typeof t.name!="string")throw Le("registerCommand requires a command definition name",this.registerCommandTrace("definition",void 0,"{ name: string; run: (context) => unknown; }",t,"Set command definition.name to a non-empty string command path."));let n=z(t.name);if(n.length===0)throw Le("registerCommand requires a non-empty command definition name",this.registerCommandTrace("definition",t.name,"{ name: string; run: (context) => unknown; }",t,"Ensure command definition.name contains a non-empty command path."));let r=this.resolveCommandDefinitionRunHandler(t,n);if(typeof r!="function"){let o=this.registerCommandTrace("definition",n,"{ name: string; run: (context) => unknown; }",r,"Define command definition.run as a function.");throw Le(`registerCommand requires a command definition run handler (command="${n}", registration_index=${o.registration_index})`,o)}try{Dl(t);let o=Qs(n,t.action),i=Pl(t.read_output,n,o);if(!this.allowRegistration("commands.handler","registerCommand","commands",{command:n,action:o}))return;let s=t.description?.trim(),a=t.intent?.trim(),c=Wn("registerCommand definition.examples",t.examples),d=Wn("registerCommand definition.failure_hints",t.failure_hints),l=ea(t.arguments);t.flags!==void 0&&(q(this.#e,"schema","registerCommand flags"),this.allowRegistration("schema.flags","registerCommand flags","schema")&&(vo(t.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:n,flags:wo("registerCommand definition.flags",t.flags)})));let u={source_version:this.#e.version,read_output:i,layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:n,action:o,examples:c,failure_hints:d,arguments:l,tier:t.tier??"standard",family:t.family??"extensions"};s&&(u.description=s),a&&(u.intent=a),this.#t.commands.push(u)}catch(o){let i=Eo(o),s=this.registerCommandTrace("definition",n,"{ name: string; run: (context) => unknown; action?: string; arguments?: object[]; flags?: object[]; }",t,i),a=Le(`registerCommand definition metadata invalid (command="${n}", registration_index=${s.registration_index}): ${i}`,s);this.#d.push(`extension_command_quarantined:${this.#e.layer}:${this.#e.name}:${n}`),this.#l.push({layer:this.#e.layer,name:this.#e.name,entry_path:this.#e.entry_path,error:a.message,trace:s});return}this.#r.handlers.push({layer:this.#e.layer,name:this.#e.name,command:n,run:r})}registerCommand(t,n){if(q(this.#e,"commands","registerCommand"),typeof t=="string"){this.registerCommandOverride(t,n);return}this.registerCommandDefinition(t)}registerParser(t,n){if(q(this.#e,"parser","registerParser"),!this.allowRegistration("parser.override","registerParser","parser"))return;let r=z(oe("registerParser command",t));Qn("registerParser override",n),this.#s.overrides.push({layer:this.#e.layer,name:this.#e.name,command:r,run:n})}registerPreflight(t){if(q(this.#e,"preflight","registerPreflight"),!this.allowRegistration("preflight.override","registerPreflight","preflight"))return;let n=Zl(t);this.#a.overrides.push({layer:this.#e.layer,name:this.#e.name,...n})}registerService(t,n,r={}){q(this.#e,"services","registerService");let o=String(t).trim().toLowerCase();if(!ru(o))throw new TypeError(`registerService service must be one of: ${Gt.join(", ")}`);this.allowRegistration("services.override","registerService","services",{service:o})&&(Qn("registerService override",n),this.#i.overrides.push({layer:this.#e.layer,name:this.#e.name,service:o,run:n,..._u(r)?{passThrough:!0}:{}}))}registerRenderer(t,n,r={}){if(q(this.#e,"renderers","registerRenderer"),!this.allowRegistration("renderers.override","registerRenderer","renderers"))return;if(typeof n!="function")throw new TypeError("registerRenderer requires a renderer function");let o=String(t).trim().toLowerCase();if(!nu(o))throw new Error(`registerRenderer format must be toon|json, received: ${String(t)}`);if(r.resultDiscriminator!==void 0&&typeof r.resultDiscriminator!="function")throw new TypeError("registerRenderer ownership.resultDiscriminator must be a function when provided");let i=[...new Set((r.commands??[]).map(s=>{if(typeof s!="string"||s.trim().length===0)throw new TypeError("registerRenderer ownership.commands must contain non-empty command paths");return z(s)}))];this.#c.overrides.push({layer:this.#e.layer,name:this.#e.name,format:o,run:n,commands:i,...r.resultDiscriminator?{resultDiscriminator:r.resultDiscriminator}:{}})}registerFlags(t,n){if(q(this.#e,"schema","registerFlags"),!this.allowRegistration("schema.flags","registerFlags","schema"))return;let r=z(oe("registerFlags targetCommand",t));vo(n);let o=wo("registerFlags flags",n);if(o.length===0)throw new TypeError("registerFlags requires at least one flag definition");this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:r,flags:o})}registerItemFields(t){if(q(this.#e,"schema","registerItemFields"),!this.allowRegistration("schema.itemfields","registerItemFields","schema"))return;du(t);let n=Zn("registerItemFields fields",t);if(n.length===0)throw new TypeError("registerItemFields requires at least one field definition");this.#t.item_fields.push({layer:this.#e.layer,name:this.#e.name,fields:n})}registerItemTypes(t){if(q(this.#e,"schema","registerItemTypes"),!this.allowRegistration("schema.itemtypes","registerItemTypes","schema"))return;lu(t);let n=Zn("registerItemTypes types",t);if(n.length===0)throw new TypeError("registerItemTypes requires at least one type definition");this.#t.item_types.push({layer:this.#e.layer,name:this.#e.name,types:n})}registerRelationshipKinds(t){if(q(this.#e,"schema","registerRelationshipKinds"),!this.allowRegistration("schema.relationshipkinds","registerRelationshipKinds","schema"))return;if(!Array.isArray(t))throw new TypeError("registerRelationshipKinds definitions requires an array of object definitions");if(t.length===0)throw new TypeError("registerRelationshipKinds requires at least one definition");let n=Os();for(let o of this.#t.relationship_kinds)for(let i of o.definitions)n.register(i);let r=t.map(o=>(n.register(o),n.require(o.kind)));this.#t.relationship_kinds.push({layer:this.#e.layer,name:this.#e.name,definitions:r})}registerMigration(t){if(q(this.#e,"schema","registerMigration"),!this.allowRegistration("schema.migrations","registerMigration","schema"))return;uu(t);let n=Jn("registerMigration definition",t);this.#t.migrations.push(er({layer:this.#e.layer,name:this.#e.name,definition:rn("registerMigration definition",t)},n))}registerProfile(t){if(q(this.#e,"schema","registerProfile"),!this.allowRegistration("schema.profiles","registerProfile","schema"))return;let n=Xn(t);mu(n),this.#t.profiles.push({layer:this.#e.layer,name:this.#e.name,profile:pu(n)})}registerImportExportCommandFlags(t,n,r){r.flags!==void 0&&(q(this.#e,"schema",`${t} options.flags`),this.allowRegistration("schema.flags",`${t} options.flags`,"schema")&&(vo(r.flags),this.#t.flags.push({layer:this.#e.layer,name:this.#e.name,target_command:n,flags:wo(`${t} options.flags`,r.flags)})))}applyImportExportCommandMetadata(t,n,r){if(r!==void 0&&(typeof r!="object"||r===null||Array.isArray(r)))throw new TypeError(`${t} options must be an object when provided`);let o=`${t==="registerImporter"?"Import":"Export"} items with the registered extension adapter.`,i=[{name:"file",required:!1,description:"Optional input or output file path."}],s={...r,description:r?.description??o,arguments:r?.arguments??i},a=Ml(t,s,r?.description!==void 0);B(`${t} options.action`,s.action),B(`${t} options.description`,s.description),B(`${t} options.intent`,s.intent);let c=Qs(n,s.action),d=Wn(`${t} options.examples`,s.examples),l=Wn(`${t} options.failure_hints`,s.failure_hints),u=ea(s.arguments);this.registerImportExportCommandFlags(t,n,s);let f={source_version:this.#e.version,layer:this.#e.layer,name:this.#e.name,source_package:this.#e.source_package,command:n,action:c,examples:d,failure_hints:l,arguments:u},m=s.description?.trim();m&&(f.description=m);let _=s.intent?.trim();return _&&(f.intent=_),this.#t.commands.push(f),a}registerImporter(t,n,r){if(q(this.#e,"importers","registerImporter"),!this.allowRegistration("importers.importer","registerImporter","importers"))return;let o=Js(oe("registerImporter name",t));Qn("registerImporter importer",n);let i=Zs(o,"import");this.applyImportExportCommandMetadata("registerImporter",i,r),this.#t.importers.push({layer:this.#e.layer,name:this.#e.name,importer:o}),this.#r.handlers.push({layer:this.#e.layer,name:this.#e.name,command:i,run:async s=>n(Ws(s,o,"import"))})}registerExporter(t,n,r){if(q(this.#e,"importers","registerExporter"),!this.allowRegistration("importers.exporter","registerExporter","importers"))return;let o=Js(oe("registerExporter name",t));Qn("registerExporter exporter",n);let i=Zs(o,"export"),s=this.applyImportExportCommandMetadata("registerExporter",i,r);this.#t.exporters.push({layer:this.#e.layer,name:this.#e.name,exporter:o,...s===void 0?{}:{output:s}}),this.#r.handlers.push({layer:this.#e.layer,name:this.#e.name,command:i,run:async a=>{let c=await n(Ws(a,o,"export"));return s?.receipt==="suppress"&&!fo(c)?yl(c):c}})}registerSearchProvider(t){if(q(this.#e,"search","registerSearchProvider"),!this.allowRegistration("search.provider","registerSearchProvider","search"))return;let n=Jn("registerSearchProvider provider",t);this.#t.search_providers.push(er({layer:this.#e.layer,name:this.#e.name,definition:rn("registerSearchProvider provider",t)},n))}registerVectorStoreAdapter(t){if(q(this.#e,"search","registerVectorStoreAdapter"),!this.allowRegistration("search.vectorstore","registerVectorStoreAdapter","search"))return;let n=Jn("registerVectorStoreAdapter adapter",t);this.#t.vector_store_adapters.push(er({layer:this.#e.layer,name:this.#e.name,definition:rn("registerVectorStoreAdapter adapter",t)},n))}registerAssuranceMeasurementProvider(t){if(q(this.#e,"services","registerAssuranceMeasurementProvider"),!this.allowRegistration("services.assuranceprovider","registerAssuranceMeasurementProvider","services"))return;if(au(t),t.network&&this.#e.permissions?.network!==!0)throw new TypeError("registerAssuranceMeasurementProvider network provider requires permissions.network=true");let n=Jn("registerAssuranceMeasurementProvider provider",t);this.#t.assurance_providers.push(er({layer:this.#e.layer,name:this.#e.name,network_permission:this.#e.permissions?.network===!0,definition:rn("registerAssuranceMeasurementProvider provider",t)},n))}registerBeforeCommand(t){q(this.#e,"hooks","api.hooks.beforeCommand"),this.allowRegistration("hooks.beforecommand","api.hooks.beforeCommand","hooks")&&(wt("beforeCommand",t),this.#o.beforeCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerBeforeMutation(t){q(this.#e,"hooks","api.hooks.beforeMutation"),this.allowRegistration("hooks.beforemutation","api.hooks.beforeMutation","hooks")&&(wt("beforeMutation",t),this.#o.beforeMutation.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerAfterCommand(t){q(this.#e,"hooks","api.hooks.afterCommand"),this.allowRegistration("hooks.aftercommand","api.hooks.afterCommand","hooks")&&(wt("afterCommand",t),this.#o.afterCommand.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnWrite(t){q(this.#e,"hooks","api.hooks.onWrite"),this.allowRegistration("hooks.onwrite","api.hooks.onWrite","hooks")&&(wt("onWrite",t),this.#o.onWrite.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnRead(t){q(this.#e,"hooks","api.hooks.onRead"),this.allowRegistration("hooks.onread","api.hooks.onRead","hooks")&&(wt("onRead",t),this.#o.onRead.push({layer:this.#e.layer,name:this.#e.name,run:t}))}registerOnIndex(t){q(this.#e,"hooks","api.hooks.onIndex"),this.allowRegistration("hooks.onindex","api.hooks.onIndex","hooks")&&(wt("onIndex",t),this.#o.onIndex.push({layer:this.#e.layer,name:this.#e.name,run:t}))}};function qw(e,t,n,r,o,i,s,a,c,d,l){return new na(e,t,n,r,o,i,s,a,c,d,l)}function Vw(e){let t=e.commands.length,n=e.flags.reduce((s,a)=>s+a.flags.length,0),r=e.item_fields.reduce((s,a)=>s+a.fields.length,0),o=e.item_types.reduce((s,a)=>s+a.types.length,0),i=(e.relationship_kinds??[]).reduce((s,a)=>s+a.definitions.length,0);return{commands:t,flags:n,item_fields:r,item_types:o,...i>0?{relationship_kinds:i}:{},migrations:e.migrations.length,profiles:e.profiles.length,importers:e.importers.length,exporters:e.exporters.length,search_providers:e.search_providers.length,vector_store_adapters:e.vector_store_adapters.length,...(e.assurance_providers?.length??0)>0?{assurance_providers:e.assurance_providers.length}:{}}}function Bw(e){let t=[],n=(i,s)=>{let a=new Map;for(let c of i){let d=a.get(c.command)??[];d.push(c),a.set(c.command,d)}for(let c of[...a.keys()].sort((d,l)=>d.localeCompare(l))){let d=a.get(c);if(d.length<=1)continue;let l=d[d.length-1];for(let u of d.slice(0,-1))t.push(`${s}:${c}:${l.layer}:${l.name}:${u.layer}:${u.name}`)}};n(e.handlers,"extension_command_handler_collision"),n(e.overrides,"extension_command_override_collision");let r=new Set(e.handlers.map(i=>i.command)),o=[...new Set(e.overrides.map(i=>i.command))].filter(i=>r.has(i));o.sort((i,s)=>i.localeCompare(s));for(let i of o){let s=e.handlers.filter(c=>c.command===i),a=e.overrides.filter(c=>c.command===i);for(let c of a)for(let d of s)t.push(`extension_command_override_handler_overlap:${i}:${c.layer}:${c.name}:${d.layer}:${d.name}`)}return t}function Ww(e){let t=new Map;for(let r of e.overrides){let o=t.get(r.format)??[];o.push(r),t.set(r.format,o)}let n=[];for(let r of[...t.keys()].sort((o,i)=>o.localeCompare(i))){let o=t.get(r);if(o.length<=1)continue;let i=o[o.length-1];for(let s of o.slice(0,-1))i.commands?.length&&s.commands?.length&&!s.commands.some(a=>i.commands?.includes(a))||n.push(`extension_renderer_collision:${r}:${i.layer}:${i.name}:${s.layer}:${s.name}`)}return n}function Gw(e){let t=[],n=new Map;for(let r of e.overrides){let o=n.get(r.command)??[];o.push(r),n.set(r.command,o)}for(let r of[...n.keys()].sort((o,i)=>o.localeCompare(i))){let o=n.get(r);if(o.length<=1)continue;let i=o[o.length-1];for(let s of o.slice(0,-1))t.push(`extension_parser_override_collision:${r}:${i.layer}:${i.name}:${s.layer}:${s.name}`)}return t}var Kw=new Set(["output_format"]);function Yw(e){let t=[],n=new Map;for(let r of e.overrides){let o=n.get(r.service)??[];o.push(r),n.set(r.service,o)}for(let r of[...n.keys()].sort((o,i)=>o.localeCompare(i))){let o=n.get(r);if(o.length<=1||Kw.has(r))continue;let i=o[o.length-1];for(let s of o.slice(0,-1))t.push(`extension_service_override_collision:${r}:${i.layer}:${i.name}:${s.layer}:${s.name}`)}return t}async function qD(e){let t=ql(e.policy??bw),n=Vn(),r=Ts(),o=Cs(),i=xs(),s=Rs(),a=Ns(),c=Ds(),d=[],l=[];for(let m of e.loaded){let _=Cu(m.module);if(!_)continue;let y=d.length,w=Rl({hooks:n,commands:r,parsers:o,preflight:i,services:s,renderers:a,registrations:c});try{await _.activate(qw(m,n,r,o,i,s,a,c,l,d,t)),d.length>y&&(w(),l.push(`extension_activation_rolled_back:${m.layer}:${m.name}`))}catch(v){w(),l.push(`extension_activate_failed:${m.layer}:${m.name}`);let T=iu(v);d.push({layer:m.layer,name:m.name,entry_path:m.entry_path,error:Eo(v),trace:T})}}let u=[...Bw(r),...Gw(o),...Ql(i),...Yw(s),...Ww(a)],f=[...new Set([...l,...u])];return{hooks:n,commands:r,parsers:o,preflight:i,services:s,renderers:a,registrations:c,failed:d,warnings:f,hook_counts:{before_command:n.beforeCommand.length,before_mutation:n.beforeMutation.length,after_command:n.afterCommand.length,on_write:n.onWrite.length,on_read:n.onRead.length,on_index:n.onIndex.length},command_override_count:r.overrides.length,command_handler_count:r.handlers.length,parser_override_count:o.overrides.length,preflight_override_count:i.overrides.length,service_override_count:s.overrides.length,renderer_override_count:a.overrides.length,registration_counts:Vw(c)}}(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]="b1a38f8c-8f65-59e2-bddf-ed0606a0f0b5")}catch{}})();function GD(e){return{...e,hooks:Vn(),profileEnabled:!!e.globalOptions.profile,migrationBlockers:[]}}(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]="4da25248-2914-5bc5-aa42-87f677ef4ea8")}catch{}})();function YD(){let e=Promise.resolve(),t=new Set;return{async read(n){let r=e,o,i=new Promise(s=>{o=s});t.add(i),await r;try{return await n()}finally{t.delete(i),o()}},write(n){let r=Promise.all([e,...t]).then(()=>n());return e=r.then(()=>{},()=>{}),r}}}function Xw(){let e=Promise.resolve(),t=0,n=[],r=()=>{if(t!==0)return;let o=n.splice(0);for(let i of o)i()};return{enqueue(o){t++;let i=e.then(()=>o());return e=i.then(()=>{},()=>{}).finally(()=>{t--,r()}),i},idle(){return t===0?Promise.resolve():new Promise(o=>n.push(o))}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d8844150-afb4-5f2e-a005-4cfb8482660c")}catch{}})();var Jw={commands:["registerCommand","command override","command handler"],renderers:["registerRenderer"],hooks:["hooks.beforeCommand","hooks.beforeMutation","hooks.afterCommand","hooks.onWrite","hooks.onRead","hooks.onIndex"],schema:["registerFlags","registerItemFields","registerItemTypes","registerRelationshipKinds","registerMigration","registerProfile"],importers:["registerImporter","registerExporter"],search:["registerSearchProvider","registerVectorStoreAdapter"],parser:["registerParser"],preflight:["registerPreflight"],services:["registerService","registerAssuranceMeasurementProvider"]},xu=":";function Ru(e,t){return`${e}${xu}${ra(t)}`}function Zw(e){return e.slice(e.indexOf(xu)+1)}function ra(e){return e.trim().toLowerCase()}function Qw(e){if(!Array.isArray(e))return[];let t=new Set;for(let n of e){let r=hl(n);r!==null&&t.add(r)}return[...t].sort((n,r)=>n.localeCompare(r))}function Nu(e){let t=new Map,n=(l,u)=>{for(let f of l){let m=Ru(f.layer,f.name),_=t.get(m);_===void 0&&(_=new Set,t.set(m,_)),_.add(u)}},{registrations:r,commands:o,parsers:i,preflight:s,services:a,renderers:c,hooks:d}=e;return n(r.commands,"commands"),n(o.overrides,"commands"),n(o.handlers,"commands"),n(r.flags,"schema"),n(r.item_fields,"schema"),n(r.item_types,"schema"),n(r.relationship_kinds??[],"schema"),n(r.migrations,"schema"),n(r.profiles,"schema"),n(r.importers,"importers"),n(r.exporters,"importers"),n(r.search_providers,"search"),n(r.vector_store_adapters,"search"),n(i.overrides,"parser"),n(s.overrides,"preflight"),n(a.overrides,"services"),n(r.assurance_providers??[],"services"),n(c.overrides,"renderers"),n(d.beforeCommand,"hooks"),n(d.beforeMutation,"hooks"),n(d.afterCommand,"hooks"),n(d.onWrite,"hooks"),n(d.onRead,"hooks"),n(d.onIndex,"hooks"),t}function ev(e,t={}){let n=Nu(e),r=new Set;t.extensionName!==void 0&&r.add(ra(t.extensionName));for(let i of t.extensionNames??[])r.add(ra(i));let o=new Set;for(let[i,s]of n)if(!(r.size>0&&!r.has(Zw(i))))for(let a of s)o.add(a);return[...o].sort((i,s)=>i.localeCompare(s))}function tv(e,t){let n=Nu(t),r=[];for(let o of e){let i=Qw(o.capabilities);if(i.length===0)continue;let s=n.get(Ru(o.layer,o.name))??new Set,a=[...s].sort((d,l)=>d.localeCompare(l)),c=i.filter(d=>!s.has(d));r.push({layer:o.layer,name:o.name,declared:i,used:a,unused:c})}return r}import{existsSync as nv}from"node:fs";import{AsyncLocalStorage as rv}from"node:async_hooks";import Fe 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]="7c2e7a35-cbf9-5bb6-abfd-f1ae75c6afc2")}catch{}})();var ze=null,on=null,nr=null,rr=null,sn=null,or=null,ir=null,Ke=null,So,ko=[],Pu=new rv;function M(){return Pu.getStore()}function rP(e){return Pu.run({hooks:null,commands:null,parsers:null,preflight:null,services:null,renderers:null,registrations:null,commandContext:null,commandResult:void 0,affectedItems:[]},e)}var ov=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function Du(e){let t=Fe.resolve(e);for(;;){if(nv(Fe.join(t,".git")))return t;let n=Fe.dirname(t);if(n===t)return;t=n}}function Oo(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||process.cwd(),n=Du(t)??Fe.resolve(t),r=Du(n);if(!e)return{source_workspace_root:n,...r?{repo_root:r}:{}};let o=Fe.relative(n,Fe.resolve(e)),i=o.length>0&&!o.startsWith(`..${Fe.sep}`)&&o!==".."&&!Fe.isAbsolute(o);return{source_workspace_root:n,...r?{repo_root:r}:{},...i?{pm_root_rel:o.split(Fe.sep).join("/")}:{}}}function oP(e){let t=M();if(t){t.hooks=e;return}ze=e}function iP(e){let t=M();if(t){t.commands=e;return}on=e}function sP(e){let t=M();if(t){t.parsers=e;return}nr=e}function aP(e){let t=M();if(t){t.preflight=e;return}rr=e}function cP(e){let t=M();if(t){t.services=e;return}sn=e}function dP(e){let t=M();if(t){t.renderers=e;return}or=e}function lP(e){let t=M();if(t){t.registrations=e;return}ir=e}function Mu(){let e=M();return e?e.registrations:ir}function uP(){let e=M();if(e){e.hooks=null,e.commands=null,e.parsers=null,e.preflight=null,e.services=null,e.renderers=null,e.registrations=null,e.commandContext=null,e.commandResult=null,e.affectedItems=[];return}ze=null,on=null,nr=null,rr=null,sn=null,or=null,ir=null,Ke=null,So=null}function fP(e){let t=e?{...e,...Oo(e.pm_root)}:null,n=M();if(n){n.commandContext=t;return}Ke=t}function $u(){let e=M(),t=e?e.commandContext:Ke;return t?{...t,args:[...t.args],options:t.options?{...t.options}:{},global:t.global?{...t.global}:void 0}:null}function mP(e){let t=M()??{commandContext:Ke,hooks:ze,commands:on,parsers:nr,preflight:rr,services:sn,renderers:or,registrations:ir};return t.commandContext?.command!==e||[t.hooks,t.preflight,t.services,t.renderers].some(n=>Object.values(n??{}).some(r=>r.length>0))||[t.commands,t.parsers].some(n=>Object.values(n??{}).some(r=>r.some(o=>o.command===e)))?!1:!Object.entries(t.registrations??{}).some(([n,r])=>["migrations","search_providers","vector_store_adapters","assurance_providers"].includes(n)&&r.length>0)}function Ao(e){let t=M();if(t){t.commandResult=e;return}So=e}function pP(){let e=M();return e?e.commandResult:So}function _P(e){if(!e)return;let t=M();t?t.affectedItems.push(e):ko.push(e)}function yP(e,t){if(!e||!e.id)return{};let n={id:e.id,type:e.type,status:e.status};if(!Array.isArray(t))return n;let r=e;for(let o of t){if(typeof o!="string")continue;let i=o.startsWith("unset:")?o.slice(6):o;i==="id"||i==="type"||i==="status"||ov.has(i)||Object.hasOwn(r,i)&&r[i]!==void 0&&(n[i]=r[i])}return n}function hP(){let e=M(),t=e?.affectedItems??ko;if(t.length===0)return;let n=t;return e?e.affectedItems=[]:ko=[],n}function gP(){let e=M();if(e){e.hooks=null,e.commands=null,e.parsers=null,e.preflight=null,e.services=null,e.renderers=null,e.registrations=null,e.commandContext=null,e.commandResult=void 0,e.affectedItems=[];return}ze=null,on=null,nr=null,rr=null,sn=null,or=null,ir=null,Ke=null,So=void 0,ko=[]}async function Io(e){let t=M(),n=t?t.hooks:ze;return n?Ms(n,e):[]}async function bP(e){let t=M(),n=t?t.hooks:ze;n&&await Ps(n,e)}async function an(e){let t=M(),n=t?t.hooks:ze;return n?$s(n,e):[]}function wP(){let e=M();return((e?e.hooks:ze)?.onRead?.length??0)>0}async function vP(e){let t=M(),n=t?t.hooks:ze;return n?js(n,e):[]}function ju(e){let t=M(),n=t?t.commands:on,r=t?t.commandContext:Ke;return!n||!r?{overridden:!1,result:e,warnings:[]}:qs(n,{command:r.command,args:[...r.args],options:r.options?{...r.options}:{},global:r.global?{...r.global}:void 0,pm_root:r.pm_root,source_workspace_root:r.source_workspace_root,repo_root:r.repo_root,pm_root_rel:r.pm_root_rel,result:e})}async function EP(e){let t=M(),n=t?t.commands:on;return n?Ls(n,{...e,...Oo(e.pm_root)}):{handled:!1,result:null,warnings:[]}}async function kP(e){let t=M(),n=t?t.parsers:nr;return n?Fs(n,{...e,...Oo(e.pm_root)}):{overridden:!1,context:{command:e.command,args:[...e.args],options:{...e.options},global:{...e.global},pm_root:e.pm_root},warnings:[]}}async function SP(e){let t=M(),n=t?t.preflight:rr;return n?zs(n,{...e,...Oo(e.pm_root)}):{overridden:!1,context:{command:e.command,args:[...e.args],options:{...e.options},global:{...e.global},pm_root:e.pm_root},decision:{...e.decision},warnings:[]}}function Lu(e,t){let n=M(),r=n?n.renderers:or,o=n?n.commandContext:Ke;return r?Vs(r,{format:e,command:o?.command,args:o?[...o.args]:[],options:o?.options?{...o.options}:{},global:o?.global?{...o.global}:void 0,pm_root:o?.pm_root,source_workspace_root:o?.source_workspace_root,repo_root:o?.repo_root,pm_root_rel:o?.pm_root_rel,result:t}):{overridden:!1,rendered:null,warnings:[]}}function Fu(e,t){let n=M(),r=n?n.commandContext:Ke;return{service:e,command:r?.command,args:r?[...r.args]:[],options:r?.options?{...r.options}:{},global:r?.global?{...r.global}:void 0,pm_root:r?.pm_root,source_workspace_root:r?.source_workspace_root,repo_root:r?.repo_root,pm_root_rel:r?.pm_root_rel,payload:t}}async function cn(e,t){let n=M(),r=n?n.services:sn;return r?Hs(r,Fu(e,t)):{handled:!1,result:t,warnings:[]}}function oa(e,t){let n=M(),r=n?n.services:sn;return r?Us(r,Fu(e,t)):{handled:!1,result:t,warnings:[]}}import{createHash as iv}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]="ca5b60a5-80a7-5e7d-917f-4c7649bcbab6")}catch{}})();var RP=["sha256","sha512"],sv="sha256",zu="sha256";function kt(e){if(e===void 0)return sv;if(e==="sha256"||e==="sha512")return e;throw new TypeError(`unsupported_history_hash_algorithm:${String(e)}`)}function Ye(e,t){return iv(kt(t)).update(e,"utf8").digest("hex")}(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]="3bfeb8d2-52c2-587a-9611-c4d5817cb47e")}catch{}})();function Uu(e){let t=[],n=e[0]?.op==="history_compact_baseline",r=n?1:void 0,o=!1;for(let[i,s]of e.entries())s.op==="delete"&&(o=!0),s.op==="create"&&(r!==void 0&&t.push({prior_genesis_index:r,repeated_create_index:i+1,sequence:o?"delete_then_create":n?"checkpoint_then_create":"multiple_creates"}),r??=i+1,o=!1);return t}import qu from"node:path";import{link as av,mkdir as cv,mkdtemp as dv,rm as lv,writeFile as uv}from"node:fs/promises";import ia 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]="71c2fed9-81e1-5723-8e34-e6327c07a130")}catch{}})();async function Hu(e,t){let n=ia.dirname(e);await cv(n,{recursive:!0});let r=await dv(ia.join(n,".pm-seed-")),o=ia.join(r,"value");try{await uv(o,t,"utf8");try{return await av(o,e),!0}catch(i){if(i.code==="EEXIST")return!1;throw i}}finally{await lv(r,{recursive:!0,force:!0})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2075887b-6d4b-582f-9da2-bab13198f9a5")}catch{}})();var fv=2e3,To=new Map;function Xe(e){if(typeof e!="string")return"";let t=To.get(e);if(t!==void 0)return t;let n=e.trim().toLowerCase().replaceAll(/[\s-]+/g,"_");return To.size>=fv&&oo(To),To.set(e,n),n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6e07b1b6-1757-54dd-8833-9d3f984ccf79")}catch{}})();var ie=Object.freeze({types:"schema/types.json",statuses:"schema/statuses.json",fields:"schema/fields.json",workflows:"schema/workflows.json"}),Wu=Od,aa=Sd,mv=["create","update"],pv=new Set(Kr),_v=new Set(Xt),yv=new Set(Yr),hv=new Set(Xr),gv=new Set(["string","number","boolean","array","object"]),bv=16;function Gu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var wv=[e=>e.type===void 0||typeof e.type=="string"&&gv.has(e.type),e=>!Object.hasOwn(e,"const")||xo(e.const),e=>e.enum===void 0||Array.isArray(e.enum)&&e.enum.every(t=>xo(t)),e=>e.min_length===void 0||Number.isInteger(e.min_length)&&e.min_length>=0,e=>e.min_items===void 0||Number.isInteger(e.min_items)&&e.min_items>=0,e=>e.format===void 0||e.format==="date-time",e=>e.required===void 0||Array.isArray(e.required)&&e.required.every(t=>typeof t=="string"&&t.length>0),e=>e.additional_properties===void 0||typeof e.additional_properties=="boolean",e=>e.properties===void 0||Gu(e.properties),e=>e.one_of===void 0||Array.isArray(e.one_of)&&e.one_of.length>0];function xo(e,t=new Set){if(e===null||typeof e=="string"||typeof e=="boolean")return!0;if(typeof e=="number")return Number.isFinite(e);if(typeof e!="object"||t.has(e))return!1;t.add(e);let n=Array.isArray(e)?e.every(r=>xo(r,t)):Object.values(e).every(r=>xo(r,t));return t.delete(e),n}function Co(e,t=0,n=new Set){if(!Gu(e)||t>bv||n.has(e))return;n.add(e);let r=e,o=r.type,i=r.enum,s=r.one_of,a=r.properties,c=r.items,d=r.required,l=r.min_length,u=r.min_items,f=r.format,m=r.additional_properties;if(!wv.every(v=>v(r))){n.delete(e);return}let _=a===void 0?void 0:Object.fromEntries(Object.entries(a).map(([v,T])=>[v,Co(T,t+1,n)])),y=c===void 0?void 0:Co(c,t+1,n),w=s===void 0?void 0:s.map(v=>Co(v,t+1,n));if([...Object.values(_??{}),...c===void 0?[]:[y],...w??[]].some(v=>v===void 0)){n.delete(e);return}return n.delete(e),Object.fromEntries(Object.entries({type:o,const:Object.hasOwn(r,"const")?r.const:void 0,enum:i,min_length:l,min_items:u,format:f,properties:_,required:d===void 0?void 0:[...new Set(d)],additional_properties:m,items:y,one_of:w}).filter(([,v])=>v!==void 0))}function ar(e){let t=Array.isArray(e)?e:[];return[...new Set(t.map(n=>typeof n=="string"?n.trim():"").filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r))}function ye(e){if(typeof e!="string"||e.length===0)return;let t=Xe(e);return t.length>0?t:void 0}function vv(e){return e.startsWith("--")?e.slice(2):e}function Vu(e){return typeof e=="string"?vv(e.trim().toLowerCase().replaceAll(/[\s_]+/g,"-")):""}function Ku(e){return e.replaceAll("_","-")}function Ev(e){let t=e.replaceAll(/[^A-Za-z0-9]+/g," ").trim().split(/\s+/).filter(o=>o.length>0).map(o=>o.toLowerCase());if(t.length===0)return e;let[n,...r]=t;return`${n}${r.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function sa(e,t){let n=ye(e.id);if(!n)return null;let r=[...new Set(ar(e.aliases).map(Xe).filter(a=>a.length>0))].sort((a,c)=>a.localeCompare(c)),o=ar(e.roles).filter(a=>pv.has(a)),i=e.description?.trim(),s=typeof e.order=="number"&&Number.isFinite(e.order)?e.order:t;return{id:n,aliases:r,roles:o,description:i&&i.length>0?i:void 0,order:s}}function kv(e){return{draft_status:ye(e?.draft_status),open_status:ye(e?.open_status),in_progress_status:ye(e?.in_progress_status),blocked_status:ye(e?.blocked_status),close_status:ye(e?.close_status),canceled_status:ye(e?.canceled_status)}}function Yu(e,t){if(!Array.isArray(t)||t.length!==2)return;let n=Xe(t[0]),r=Xe(t[1]);n.length===0||r.length===0||e.pairs.some(o=>o[0]===n&&o[1]===r)||e.pairs.push([n,r])}function Sv(e){let t=typeof e?.type=="string"?e.type.trim():"";if(t.length===0||!Array.isArray(e?.allowed_transitions))return null;let n={type:t,pairs:[],denyAll:e.allowed_transitions.length===0};for(let r of e.allowed_transitions)Yu(n,r);return{typeKey:t.toLowerCase(),record:n}}function Ov(e){if(!Array.isArray(e)||e.length===0)return;let t=new Map;for(let r of e){let o=Sv(r);if(o===null)continue;let i=t.get(o.typeKey)??o.record;i.denyAll||=o.record.denyAll;for(let s of o.record.pairs)Yu(i,s);t.set(o.typeKey,i)}let n=[];for(let r of t.values())(r.pairs.length>0||r.denyAll)&&n.push({type:r.type,allowed_transitions:r.pairs});return n.sort((r,o)=>r.type.localeCompare(o.type)),n.length>0?n:void 0}function Xu(e){let t=Xe(e.key??"");if(!t)return null;let n=Xe(e.metadata_key??e.front_matter_key??t),r=Vu(e.cli_flag??Ku(t));if(!r)return null;let o=ar(e.cli_aliases).map(u=>Vu(u)).filter(u=>u.length>0&&u!==r),i=typeof e.type=="string"?e.type.trim().toLowerCase():"string",s=_v.has(i)?i:"string",a=(()=>{let u=ar(e.commands).filter(f=>yv.has(f));return u.length>0?u:[...mv]})(),c=e.description?.trim(),d=ar(e.required_types),l=e.value_schema===void 0?void 0:Co(e.value_schema);return e.value_schema!==void 0&&l===void 0?null:{key:t,metadata_key:n,cli_flag:r,cli_aliases:o,description:c&&c.length>0?c:void 0,type:s,commands:a,repeatable:[e.repeatable===!0,s==="string_array"].includes(!0),required:e.required===!0,required_on_create:e.required_on_create===!0,required_types:d,allow_unset:e.allow_unset!==!1,value_schema:l}}function Av(e){let t=new Map;for(let[r,o]of e.entries()){let i=sa(o,r);i&&t.set(i.id,i)}let n=Bu([...t.values()]);return n.length>0?n:Bu(aa.map((r,o)=>sa(r,o)).filter(r=>r!==null))}function Bu(e){return e.sort((t,n)=>t.order===n.order?t.id.localeCompare(n.id):t.order-n.order)}function Iv(e){let t=new Map;for(let n of e??[]){let r=Xu(n);r&&t.set(r.key,r)}return[...t.values()].sort((n,r)=>n.key.localeCompare(r.key))}function Tv(e){return{id:e.id,aliases:e.aliases.length>0?[...e.aliases]:void 0,roles:e.roles.length>0?[...e.roles]:void 0,description:e.description,order:e.order}}function Cv(e){return{key:e.key,metadata_key:e.metadata_key!==e.key?e.metadata_key:void 0,cli_flag:e.cli_flag!==Ku(e.key)?e.cli_flag:void 0,cli_aliases:e.cli_aliases.length>0?[...e.cli_aliases]:void 0,description:e.description,type:e.type,commands:[...e.commands],repeatable:e.repeatable===!0?!0:void 0,required:e.required===!0?!0:void 0,required_on_create:e.required_on_create===!0?!0:void 0,required_types:e.required_types.length>0?[...e.required_types]:void 0,allow_unset:e.allow_unset===!1?!1:void 0,value_schema:e.value_schema}}function xv(e){let t=typeof e=="string"?e.trim().toLowerCase():"allow";return hv.has(t)?t:"allow"}function Ce(e){let t={...ie,...e?.files},n=e?.statuses&&e.statuses.length>0?e.statuses:aa,r=Av(n),o=Iv(e?.fields);return{version:typeof e?.version=="number"&&Number.isFinite(e.version)?Math.floor(e.version):1,files:t,statuses:r.map(Tv),fields:o.map(Cv),workflow:{...Wu,...kv(e?.workflow)},type_workflows:Ov(e?.type_workflows),unknown_field_policy:xv(e?.unknown_field_policy)}}function Rv(e,t,n){try{return JSON.parse(e)}catch{n.push(t);return}}function Nv(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.definitions))return t.definitions;if(typeof t.item_types=="object"&&t.item_types!==null){let n=t.item_types;if(Array.isArray(n.definitions))return n.definitions}}function Dv(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.statuses))return t.statuses;if(Array.isArray(t.definitions))return t.definitions}function Pv(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return;let t=e;if(Array.isArray(t.fields))return t.fields;if(Array.isArray(t.definitions))return t.definitions}function Mv(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;return typeof t.workflow=="object"&&t.workflow!==null&&!Array.isArray(t.workflow)?t.workflow:typeof t.workflows=="object"&&t.workflows!==null&&!Array.isArray(t.workflows)?t.workflows:t}function $v(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(Array.isArray(t.type_workflows))return t.type_workflows}function ue(e,t,n){let r=t?.trim()||n;return qu.isAbsolute(r)?r:qu.join(e,r)}function BP(e,t){return ue(e,t.files.types,ie.types)}async function WP(e,t){let n=Ce(t),r=[{path:ue(e,n.files.types,ie.types),seed:{definitions:[]}},{path:ue(e,n.files.statuses,ie.statuses),seed:{statuses:aa}},{path:ue(e,n.files.fields,ie.fields),seed:{fields:[]}},{path:ue(e,n.files.workflows,ie.workflows),seed:{workflow:Wu}}],o=[];for(let i of r)await mt(i.path)||await Hu(i.path,`${JSON.stringify(i.seed,null,2)}
|
|
3
|
+
`)&&o.push(i.path);return{created_paths:o}}async function Ju(e,t){let n=Ce(t),r=[],o=ue(e,n.files.types,ie.types),i=ue(e,n.files.statuses,ie.statuses),s=ue(e,n.files.fields,ie.fields),a=ue(e,n.files.workflows,ie.workflows),c,d,l,u,f,m=async(T,H)=>{let X=await Ae(T);if(X!==null)return Rv(X,H,r)},_=await m(o,"runtime_schema_types_invalid_json");_!==void 0&&(c=Nv(_),c===void 0&&r.push("runtime_schema_types_invalid_shape"));let y=await m(i,"runtime_schema_statuses_invalid_json");y!==void 0&&(d=Dv(y),d===void 0&&r.push("runtime_schema_statuses_invalid_shape"));let w=await m(s,"runtime_schema_fields_invalid_json");w!==void 0&&(l=Pv(w),l===void 0&&r.push("runtime_schema_fields_invalid_shape"));let v=await m(a,"runtime_schema_workflows_invalid_json");return v!==void 0&&(u=Mv(v),u===void 0&&r.push("runtime_schema_workflows_invalid_shape"),f=$v(v)),{schema:Ce({...n,statuses:[...n.statuses,...d??[]],fields:[...n.fields,...l??[]],workflow:{...n.workflow,...u},type_workflows:[...n.type_workflows??[],...f??[]]}),type_definitions_from_file:c,warnings:r,created_paths:[]}}function sr(e,t,n,r=!1){let o=n.map(s=>ye(s)).filter(s=>typeof s=="string").find(s=>e.some(a=>a.id===s));if(r&&o!==void 0)return o;let i=e.find(s=>s.roles.includes(t));return i!==void 0?i.id:o??e[0]?.id}function jv(e){let t=new Map,n=new Map;for(let r of e){n.set(r.id,r),t.set(r.id,r.id),t.set(r.id.replaceAll("_","-"),r.id),t.set(r.id.replaceAll("_"," "),r.id);for(let o of r.aliases)t.set(o,r.id),t.set(o.replaceAll("_","-"),r.id),t.set(o.replaceAll("_"," "),r.id)}return{aliasToId:t,byId:n}}function Lv(e){let t={activeStatuses:new Set,blockedStatuses:new Set,draftStatuses:new Set,terminalCanceledStatuses:new Set,terminalDoneStatuses:new Set,terminalStatuses:new Set};for(let n of e){let r=new Set(n.roles);(r.has("terminal")||r.has("terminal_done")||r.has("terminal_canceled"))&&t.terminalStatuses.add(n.id),r.has("terminal_done")&&t.terminalDoneStatuses.add(n.id),r.has("terminal_canceled")&&t.terminalCanceledStatuses.add(n.id),r.has("active")&&t.activeStatuses.add(n.id),r.has("blocked")&&t.blockedStatuses.add(n.id),r.has("draft")&&t.draftStatuses.add(n.id)}return t}function Zu(e){let t=Ce(e),n=t.statuses.map((v,T)=>sa(v,T)).filter(v=>v!==null),{aliasToId:r,byId:o}=jv(n),{activeStatuses:i,blockedStatuses:s,draftStatuses:a,terminalCanceledStatuses:c,terminalDoneStatuses:d,terminalStatuses:l}=Lv(n),u=t.workflow,f=ye(u.open_status)??sr(n,"default_open",["open","in_progress",Yt[0]]),m=ye(u.in_progress_status)??sr(n,"active",["in_progress","in-progress",f],!0),_=ye(u.blocked_status)??sr(n,"blocked",["blocked"]),y=ye(u.close_status)??sr(n,"default_close",["closed","done","complete"]),w=ye(u.canceled_status)??sr(n,"default_cancel",["canceled","cancelled"]);return{definitions:n,by_id:o,alias_to_id:r,terminal_statuses:l,terminal_done_statuses:d,terminal_canceled_statuses:c,active_statuses:i,blocked_statuses:s,draft_statuses:a,open_status:f,in_progress_status:m,blocked_status:_,close_status:y,canceled_status:w}}function ca(e,t){let n=Xe(e);if(n)return t.alias_to_id.get(n)}function Qu(e){let t=Ce(e),n=new Map,r=t.fields.map(c=>Xu(c)).filter(c=>c!==null);for(let c of r)n.set(c.key,c);let o=[...n.values()].sort((c,d)=>c.key.localeCompare(d.key)),i=new Map,s=new Map,a=new Map;for(let c of o){i.set(c.key,c),s.set(c.cli_flag,c);for(let d of c.cli_aliases)s.set(d,c);for(let d of c.commands){let l=a.get(d)??[];l.push(c),a.set(d,l)}}for(let[c,d]of a.entries())d.sort((l,u)=>l.key.localeCompare(u.key)),a.set(c,d);return{definitions:o,by_key:i,by_cli_token:s,command_to_fields:a}}function ef(e){return Ev(e.key)}function GP(e,t){let n=ca(e,t);return n?t.terminal_statuses.has(n):!1}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6635e694-c788-5805-adb8-ed93cc931946")}catch{}})();var Fv=16;function Ro(e){let t=e.trim().replaceAll(/[^A-Za-z0-9]+/g," ").split(/\s+/).filter(o=>o.length>0).map(o=>o.toLowerCase());if(t.length===0)return e;let[n,...r]=t;return`${n}${r.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function e1(e,t,n=new Set,r){if(of(e,t,r))return;let o=sf(e,t,n,r),i=No(e);return[Ro(e.cli_flag),...i].find(s=>!o.has(s)&&rf(s,i,o))}function rf(e,t,n){for(let r of t){if(r===e)break;if(n.has(r))return!1}return!0}function of(e,t,n){return t.definitions.some(r=>r!==e&&r.metadata_key===e.metadata_key&&(n===void 0||r.commands.includes(n)))}function sf(e,t,n,r){return new Set([...n,...t.definitions.filter(o=>o!==e&&(r===void 0||o.commands.includes(r))).flatMap(o=>No(o))])}function af(e){return e.replace(/^-+/u,"").startsWith("no-")}function zv(e){return e.startsWith("-")?e:`--${e}`}function t1(e,t,n,r){if(of(e,t,r))return;let o=sf(e,t,n.options,r),i=No(e);return[e.cli_flag,...e.cli_aliases].find(s=>{let a=cf(s);return af(s)||n.flags.has(zv(s))||o.has(a)?!1:rf(a,i,o)})}function cf(e){return e.replace(/^-+/u,"").replace(/^no-/u,"").split("-").reduce((t,n)=>`${t}${n.charAt(0).toUpperCase()}${n.slice(1)}`)}function No(e){return[...new Set([ef(e),Ro(e.key),Ro(e.cli_flag),...e.cli_aliases.map(t=>Ro(t)),...[e.cli_flag,...e.cli_aliases].filter(t=>!af(t)).map(t=>cf(t))])]}function df(e,t){for(let n of No(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function lf(e){return Array.isArray(e)?e.flatMap(t=>lf(t)).map(t=>t.trim()).filter(t=>t.length>0):typeof e=="string"?e.split(/[,\n|]/).map(t=>t.trim()).filter(t=>t.length>0):e==null?[]:[String(e).trim()].filter(t=>t.length>0)}function tf(e,t){if(typeof e=="boolean")return e;if(typeof e=="number"){if(e===1)return!0;if(e===0)return!1}if(typeof e=="string"){let n=e.trim().toLowerCase();if(n==="true"||n==="1"||n==="yes")return!0;if(n==="false"||n==="0"||n==="no")return!1}throw new g(`${t} must be one of true|false|1|0|yes|no`,h.USAGE)}function nf(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let n=typeof e=="string"?e.trim():String(e),r=Number(n);if(!Number.isFinite(r))throw new g(`${t} must be a number`,h.USAGE);return r}function Uv(e,t,n){let r=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(n==="array"&&Array.isArray(r)||n==="object"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r;throw new g(`${t} must be valid JSON ${n}`,h.USAGE)}function Hv(e,t){return t===void 0?!0:t==="array"?Array.isArray(e):t==="object"?typeof e=="object"&&e!==null&&!Array.isArray(e):typeof e===t}function qv(e,t,n){if(t.const!==void 0&&x(e)!==x(t.const))return`${n} must equal ${x(t.const)}`;if(t.enum!==void 0&&!t.enum.some(r=>x(r)===x(e)))return`${n} must be one of ${t.enum.map(r=>x(r)).join("|")}`;if(!Hv(e,t.type))return`${n} must match configured type ${String(t.type)}`;if(typeof e=="string"){if(t.min_length!==void 0&&e.length<t.min_length)return`${n} must contain at least ${t.min_length} characters`;if(t.format==="date-time"&&!Un(e))return`${n} must be an RFC 3339 date-time`}}function Vv(e,t,n,r){if(Array.isArray(e)){if(t.min_items!==void 0&&e.length<t.min_items)return`${n} must contain at least ${t.min_items} items`;if(t.items)for(let[o,i]of e.entries()){let s=Do(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function Bv(e,t,n,r){if(typeof e!="object"||e===null||Array.isArray(e))return;let o=e;for(let i of t.required??[])if(!Object.hasOwn(o,i))return`${n}.${i} is required`;for(let[i,s]of Object.entries(o)){let a=t.properties?.[i];if(!a){if(t.additional_properties===!1)return`${n}.${i} is not allowed`;continue}let c=Do(s,a,`${n}.${i}`,r+1);if(c)return c}}function Do(e,t,n,r=0){if(r>Fv)return`${n} value schema exceeds maximum depth`;let o=qv(e,t,n);if(o)return o;let i=Vv(e,t,n,r);if(i)return i;let s=Bv(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(Do(e,c,n,r+1)===void 0&&(a+=1,a>1))break;return a===1?void 0:`${n} must match exactly one configured schema variant`}function St(e,t,n){if(!e.value_schema||t===void 0)return t;let r=Do(t,e.value_schema,n);if(r)throw new g(r,h.USAGE);return t}function Wv(e,t,n,r){let o=r==="option"&&Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return St(e,Uv(o,n,e.type),n)}function cr(e,t,n,r="option"){let o=n??`--${e.cli_flag}`;if(e.type==="array"||e.type==="object")return Wv(e,t,o,r);if(e.repeatable||e.type==="string_array"){let s=lf(t);return e.type==="number"?St(e,s.map(a=>nf(a,o)),o):e.type==="boolean"?St(e,s.map(a=>tf(a,o)),o):St(e,s,o)}let i=Array.isArray(t)?t[t.length-1]:t;if(i!==void 0)return e.type==="number"?St(e,nf(i,o),o):e.type==="boolean"?St(e,tf(i,o),o):St(e,typeof i=="string"?i:String(i),o)}function Gv(e,t){return!e.required&&!e.required_on_create?!1:e.required_types.length===0?!0:t?e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function n1(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=df(e,i);if(s===void 0){Gv(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=cr(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function r1(e,t,n=["update"]){let r={},o=(n??["update"]).flatMap(s=>t.command_to_fields.get(s)??[]),i=new Set;for(let s of o){let a=df(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=cr(s,a)))}return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c35d4830-d7d1-5ee4-99bc-ab52cc3e4e09")}catch{}})();var da=1,la=2;function i1(e){return Math.max(ua(e),e.tests?.some(t=>t.updated_by!==void 0||t.updated_at!==void 0)?2:1)}function ua(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=1?t:1}function uf(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=1))return e}function Kv(e,t=2,n=t){return e<n?"outdated":e>t?"ahead":"current"}function s1(e,t=2,n=t){let r=[],o=[];for(let i of e){let s=Kv(i.version,t,n);s==="outdated"?r.push(i.ref):s==="ahead"&&o.push(i.ref)}return{outdated:r.sort((i,s)=>i.localeCompare(s)),ahead:o.sort((i,s)=>i.localeCompare(s))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="515840b7-cf86-5d71-8ac1-beac7fd7c8a8")}catch{}})();var Yv={"in-progress":"in_progress",cancelled:"canceled"};function Po(e,t){if(t){let o=ca(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Yv[n]??n;if(Yt.includes(r))return r}function Xv(e,t){return Po(e,t)??e}function l1(e,t){return t.terminal_statuses.has(Xv(e,t))}import{encode as eE}from"@toon-format/toon";import{isDeepStrictEqual as ff}from"node:util";import{decode as Jv}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aaa2be03-9478-5fbe-82e6-e4fc86e3735b")}catch{}})();function fa(e){return{value:Jv(e),usedScalarBracketEscape:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="79626299-17a8-573a-9b66-ce37c65e2f5d")}catch{}})();var Zv=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function Qv(e){if(e.length===0)return[];let t=e.split(/\r?\n/),n=[];for(let r=0;r<t.length;r+=1){let o=t[r]??"",i=o.match(Zv);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function Mo(e){return Qv(e)[0]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2789e87f-0706-52e8-8f4c-3855c65c618c")}catch{}})();var ya=new Set(["schema","tracker","auto","none"]),hf=new Set(["source","isolated","snapshot"]),tE=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),nE=new Set(["passed","failed","stopped","canceled"]),rE=new Set(jd);function un(e){return e.replaceAll("\\","/")}function gf(e){for(let t of e)if(t!==0)return t;return 0}function jo(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var bf=["id","title","description","created_at","updated_at"],oE=new Set(ve);function wf(e){if(e?.schema)return{statusRegistry:Zu(e.schema),fieldRegistry:Qu(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function iE(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function Je(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new g(`Invalid item metadata: ${e}`,h.GENERIC_FAILURE,{code:"item_document_invalid",reason:e.includes("required")?"missing_required_field":"schema_validation_error",...t?{field:t}:{},required:"Provide an item document whose metadata satisfies the active runtime schema.",why:e})}function ur(e,t){throw new g(t,h.GENERIC_FAILURE,{code:"item_document_invalid",reason:"syntax_error",format:e,required:`Provide a syntactically valid ${e==="toon"?"TOON":"JSON Markdown"} item document.`,why:"The document could not be decoded far enough to validate item metadata."})}function vf(e,t){if(!t||typeof e!="object"||e===null)return;let n=ua(e);if(!(n<=la))throw new g(`Stored item uses format version ${n}; this runtime supports up to ${la}. Upgrade pm before reading or changing this item.`,h.CONFLICT,{code:"item_format_version_unsupported",format_version:n,required:"Upgrade to a pm runtime supporting the stored item format.",nextSteps:["Preserve the original item and history; do not lower pm_format_version to bypass compatibility checks."]})}function Ef(e){let t=new Set(oE);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function O(e,t){e||Je(t)}function fr(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&Je(t),e}function ma(e,t){let n=e[t];O(typeof n=="string",`${t} must be a string`),O($e(n),`${t} must be a valid ISO timestamp`)}function mf(e,t,n){let r=e[t];r!==void 0&&O(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function ha(e,t,n){let r=e[t];r!==void 0&&(O(typeof r=="string",`${n} must be a string`),O($e(r),`${n} must be a valid ISO timestamp`))}function sE(e){if(e!==void 0){O(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){O(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();O(jn.includes(n),`event.recurrence.by_weekday entries must be one of: ${jn.join(", ")}`)}}}function aE(e){if(e!==void 0){O(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)O(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function cE(e){if(e!==void 0){O(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)O(typeof t=="string","event.recurrence.exdates entries must be strings"),O($e(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function dE(e){let t=fr(e,"event.recurrence must be an object");O(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();O(Qr.includes(n),`event.recurrence.freq must be one of: ${Qr.join(", ")}`),mf(t,"interval","event.recurrence.interval"),mf(t,"count","event.recurrence.count"),ha(t,"until","event.recurrence.until"),sE(t.by_weekday),aE(t.by_month_day),cE(t.exdates)}function lE(e){for(let r of bf)O(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;O(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&O(typeof n=="number"&&Number.isInteger(n)&&n>=da,`pm_format_version must be an integer >= ${da}`),t}function uE(e,t){let n=e.status;O(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=Po(n,r),i=r?r.definitions.map(s=>s.id):[...Yt];O(o!==void 0,`status must be one of: ${i.join(", ")}`)}function fE(e){let t=e.priority;O(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;O(Array.isArray(n),"tags must be an array");for(let r of n)O(typeof r=="string","tags entries must be strings")}function mE(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){O(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let n=t.trim().toLowerCase(),r=n==="med"||Zr.includes(n);O(r,`confidence string value must be one of: ${[...Zr,"med"].join(", ")}`);return}O(!1,"confidence must be a number or string")}}function pE(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&Je("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||Jr.includes(n);O(r,`severity value must be one of: ${[...Jr,"med"].join(", ")}`)}function _E(e){e.regression!==void 0&&typeof e.regression!="boolean"&&Je("regression must be a boolean")}function yE(e){let t=e.reminders;if(t!==void 0){O(Array.isArray(t),"reminders must be an array");for(let n of t){let r=fr(n,"reminders entries must be objects");O(typeof r.at=="string","reminder.at must be a string"),O($e(r.at),"reminder.at must be a valid ISO timestamp"),O(typeof r.text=="string","reminder.text must be a string"),O(r.text.trim().length>0,"reminder.text must not be empty")}}}function hE(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(O(typeof e[t]=="string",`event.${t} must be a string`),O(e[t].trim().length>0,`event.${t} must not be empty`))}function gE(e){e.recurrence!==void 0&&(dE(e.recurrence),e.recurrence.until!==void 0&&O(re(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function bE(e){let t=fr(e,"events entries must be objects");O(typeof t.start_at=="string","event.start_at must be a string"),O($e(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(O(typeof t.end_at=="string","event.end_at must be a string"),O($e(t.end_at),"event.end_at must be a valid ISO timestamp"),O(re(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),hE(t),t.all_day!==void 0&&O(typeof t.all_day=="boolean","event.all_day must be a boolean"),gE(t)}function wE(e){let t=e.events;if(t!==void 0){O(Array.isArray(t),"events must be an array");for(let n of t)bE(n)}}function vE(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&O(typeof n=="string",`${t} must be a string`)}}function EE(e){let t=e.type_options;if(t===void 0)return;let n=fr(t,"type_options must be an object");for(let[r,o]of Object.entries(n))O(r.trim().length>0,"type_options keys must be non-empty"),O(typeof o=="string","type_options values must be strings"),O(o.trim().length>0,"type_options values must be non-empty strings")}function kE(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){iE(r,t)&&Je(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=cr(r,o,`metadata field "${r.metadata_key}"`,"metadata")}catch(i){Je(String(i?.message).replace(/^Invalid\s+/u,""))}}}function SE(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Ef(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?Je(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function ga(e,t){let n=fr(e,"item metadata must be an object"),r=lE(n);uE(n,t),fE(n),mE(n),pE(n),_E(n),ma(n,"created_at"),ma(n,"updated_at"),n.deadline!==void 0&&ma(n,"deadline"),yE(n),wE(n),ha(n,"closed_at","closed_at"),ha(n,"completed_at","completed_at"),vE(n),EE(n),kE(n,r,t),SE(n,t)}function OE(e){if(!(!e||e.length===0))return[...e].map((t,n)=>(O(t.created_at===void 0||typeof t.created_at=="string"&&Un(t.created_at),`dependencies.${n}.created_at requires a valid timestamp; restore the dependency timestamp from its source record`),{id:t.id.trim(),kind:t.kind,created_at:t.created_at,author:t.author?.trim()||void 0,source_kind:t.source_kind?.trim()||void 0,author_source:t.author_source})).sort((t,n)=>{let r=re(t.created_at??"",n.created_at??"");if(r!==0)return r;let o=t.id.localeCompare(n.id);if(o!==0)return o;let i=t.kind.localeCompare(n.kind);return i!==0?i:(t.source_kind??"").localeCompare(n.source_kind??"")})}function pa(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=re(t.created_at,n.created_at);if(r!==0)return r;let o=t.text.localeCompare(n.text);return o!==0?o:t.author.localeCompare(n.author)})}function AE(e){if(!e||e.length===0)return;let t=[...e].map(n=>({at:n.at,text:n.text.trim()})).filter(n=>n.text.length>0).sort((n,r)=>{let o=re(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function IE(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!Qr.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>jn.includes(s)))).sort((s,a)=>ss(s)-ss(a)),r=Array.from(new Set((e.by_month_day??[]).filter(s=>Number.isInteger(s)&&s>=1&&s<=31).map(s=>s))).sort((s,a)=>s-a),o=Array.from(new Set((e.exdates??[]).map(s=>s.trim()).filter(s=>$e(s)))).sort((s,a)=>re(s,a)),i={freq:t,interval:e.interval!==void 0&&e.interval>1?e.interval:void 0,count:e.count,until:e.until?.trim()||void 0,by_weekday:n.length>0?n:void 0,by_month_day:r.length>0?r:void 0,exdates:o.length>0?o:void 0};for(let[s,a]of Object.entries(i))a===void 0&&delete i[s];return i}function TE(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(CE).sort(xE)}function CE(e){let t={start_at:e.start_at,end_at:e.end_at||void 0,title:e.title?.trim()||void 0,description:e.description?.trim()||void 0,location:e.location?.trim()||void 0,all_day:e.all_day,timezone:e.timezone?.trim()||void 0,recurrence:IE(e.recurrence)};return jo(t),t}function xE(e,t){return gf([re(e.start_at,t.start_at),(e.end_at??"").localeCompare(t.end_at??""),(e.title??"").localeCompare(t.title??""),+!!e.all_day-+!!t.all_day,(e.timezone??"").localeCompare(t.timezone??""),(e.location??"").localeCompare(t.location??""),(e.description??"").localeCompare(t.description??""),JSON.stringify(e.recurrence??{}).localeCompare(JSON.stringify(t.recurrence??{}))])}function RE(e){if(!(!e||e.length===0))return e.map(t=>({path:un(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function NE(e){if(!e||e.length===0)return;let t=e.map($E).filter(n=>n.run_id.length>0&&n.started_at.length>0&&n.finished_at.length>0&&n.recorded_at.length>0).sort((n,r)=>gf([re(n.recorded_at,r.recorded_at),n.run_id.localeCompare(r.run_id),n.kind.localeCompare(r.kind)]));return t.length>0?t:void 0}function dn(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function DE(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function _a(e){return typeof e=="string"?e:""}function PE(e){if(!Array.isArray(e))return;let t=e.filter(r=>r!==null&&typeof r=="object"&&typeof r.name=="string"&&r.name.trim().length>0&&typeof r.value=="number"&&Number.isFinite(r.value)&&typeof r.recorded_at=="string"&&r.recorded_at.trim().length>0).map(r=>({name:r.name.trim(),value:r.value,unit:typeof r.unit=="string"&&r.unit.trim()||void 0,threshold:typeof r.threshold=="number"&&Number.isFinite(r.threshold)?r.threshold:void 0,recorded_at:r.recorded_at.trim()})),n=[...new Map(t.map(r=>[r.name,r])).values()].sort((r,o)=>r.name.localeCompare(o.name)).slice(0,32);return n.length>0?n:void 0}function $o(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function ME(e){if(!Array.isArray(e))return;let t=e.filter(n=>n&&typeof n.command=="string"&&n.command.trim().length>0).slice(0,32).map(n=>({command:n.command.trim(),requested_pm_context_mode:$o(n.requested_pm_context_mode,ya),pm_context_mode:$o(n.pm_context_mode,ya),workspace_context_mode:$o(n.workspace_context_mode,hf),trust_reason:$o(n.trust_reason,tE)}));return t.length>0?t:void 0}function $E(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=nE.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:_a(e.started_at),finished_at:_a(e.finished_at),recorded_at:_a(e.recorded_at),attempt:DE(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:dn(e.passed)??0,failed:dn(e.failed)??0,skipped:dn(e.skipped)??0,items:dn(e.items),linked_tests:dn(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:PE(e.measurements),executions:ME(e.executions)};return jo(o),o}function jE(e){if(!(!Array.isArray(e)||e.length===0))return e.map(HE)}function dr(e){if(!Array.isArray(e))return;let t=[...new Set(e.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length>0?t:void 0}function Ea(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ka(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function pf(e){if(!Ea(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!ka(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function LE(e){if(!Ea(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!ka(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function FE(e){let t=e?.trim().toLowerCase();if(!(!t||!ya.has(t)))return t}function zE(e){let t=e?.trim().toLowerCase();if(!(!t||!hf.has(t)))return t}function UE(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!Ea(e))return{provenance_invalid:!0};let n=E(e.author),r=E(e.created_at),o=e.source_kind;return!n||!r||!$e(r)||o!=="local_mutation"&&o!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:n,created_at:r,source_kind:o,source_ref:E(e.source_ref)}}}function HE(e){let t={command:e.command?.trim()||void 0,path:e.path?un(e.path):void 0,scope:e.scope,timeout_seconds:typeof e.timeout_seconds=="number"&&Number.isFinite(e.timeout_seconds)&&e.timeout_seconds>0?e.timeout_seconds:void 0,pm_context_mode:FE(e.pm_context_mode),workspace_context_mode:zE(e.workspace_context_mode),...UE(e.provenance,e.provenance_invalid),updated_by:E(e.updated_by),updated_at:E(e.updated_at),env_set:pf(e.env_set),env_clear:dr(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:dr(e.assert_stdout_contains),assert_stdout_regex:dr(e.assert_stdout_regex),assert_stderr_contains:dr(e.assert_stderr_contains),assert_stderr_regex:dr(e.assert_stderr_regex),assert_stdout_min_lines:dn(e.assert_stdout_min_lines),assert_json_field_equals:pf(e.assert_json_field_equals),assert_json_field_gte:LE(e.assert_json_field_gte),note:e.note?.trim()||void 0};return jo(t),t}function qE(e){if(!(!e||e.length===0))return[...e].map(t=>({path:un(t.path),scope:t.scope,note:t.note?.trim()||void 0})).sort((t,n)=>{let r=t.scope.localeCompare(n.scope);if(r!==0)return r;let o=t.path.localeCompare(n.path);return o!==0?o:(t.note??"").localeCompare(n.note??"")})}function E(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function VE(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.id),i=E(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=E(r.note);a&&(s.note=a),r.required_before_step===!0&&(s.required_before_step=!0),t.push(s)}return t.length>0?t:void 0}function BE(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.path);if(!o)continue;let i={path:un(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=E(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function WE(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.command),i=E(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=un(i));let a=E(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function GE(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.path);if(!o)continue;let i={path:un(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=E(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function KE(e){if(e===null||typeof e!="object")return;let t=e,n=E(t.id),r=E(t.title),o=E(t.status),i=o&&rE.has(o)?o:void 0,s=ro(t.order)??Number.NaN,a=typeof t.created_at=="string"?t.created_at:"",c=typeof t.updated_at=="string"?t.updated_at:"";if(!n||!r||!i||!Number.isFinite(s)||!a||!c)return;let d={id:n,order:s,title:r,status:i,created_at:a,updated_at:c};return YE(d,t),d}function YE(e,t){let n=[["body","body"],["owner","owner"],["evidence","evidence"],["blocked_reason","blocked_reason"],["superseded_by","superseded_by"]];for(let[i,s]of n){let a=E(t[s]);a&&(e[i]=a)}let r=typeof t.completed_at=="string"?t.completed_at:void 0;r&&r.length>0&&(e.completed_at=r);let o=[["linked_items","linked_items",VE],["files","files",BE],["tests","tests",WE],["docs","docs",GE]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function XE(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=KE(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function JE(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=E(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=E(r.rationale);c&&(a.rationale=c);let d=E(r.evidence);d&&(a.evidence=d);let l=E(r.step_id);l&&(a.step_id=l),t.push(a)}return t.length>0?t:void 0}function ZE(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=E(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=E(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function QE(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.text);if(!o)continue;let i={text:o},s=E(r.command);s&&(i.command=s);let a=E(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function e0(e){if(!e)return;let t=Object.entries(e).map(([n,r])=>[n.trim(),r.trim()]).filter(([n,r])=>n.length>0&&r.length>0).sort((n,r)=>n[0].localeCompare(r[0]));if(t.length!==0)return Object.fromEntries(t)}function ln(e){let t=0;for(;t<e.length&&e[t]===`
|
|
4
|
+
`;)t+=1;return e.slice(t).trimEnd()}function t0(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Zr.includes(t))return t}function n0(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Jr.includes(t))return t}function lr(e){return e||void 0}function r0(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))ka(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function o0(e,t){if(!t?.fieldRegistry)return;let n=e;for(let r of t.fieldRegistry.definitions){let o=n[r.metadata_key];o!==void 0&&(n[r.metadata_key]=cr(r,o,`metadata field "${r.metadata_key}"`,"metadata"))}}function i0(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Ef(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length>0&&t.unknownFieldPolicy==="reject"&&Je(`unknown schema fields are not allowed: ${r.join(", ")}`),r.length>0&&t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`)}function Lo(e,t={}){let n=wf(t),r=Po(e.status,n?.statusRegistry)??e.status,o=Array.from(new Set((Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string").map(s=>s.trim().toLowerCase()).filter(Boolean))).sort((s,a)=>s.localeCompare(a)),i={id:e.id,title:e.title,description:e.description,type:e.type,pm_format_version:uf(e.pm_format_version),source_type:E(e.source_type),type_options:e0(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:OE(e.dependencies),comments:pa(e.comments),notes:pa(e.notes),learnings:pa(e.learnings),files:RE(e.files),tests:jE(e.tests),test_runs:NE(e.test_runs),docs:qE(e.docs),deadline:lr(e.deadline),reminders:AE(e.reminders),events:TE(e.events),closed_at:lr(e.closed_at),completed_at:lr(e.completed_at),assignee:E(e.assignee),claim_principal:E(e.claim_principal),source_owner:E(e.source_owner),author:lr(e.author),estimated_minutes:e.estimated_minutes,acceptance_criteria:e.acceptance_criteria??void 0,design:e.design??void 0,external_ref:e.external_ref??void 0,definition_of_ready:E(e.definition_of_ready),order:e.order,goal:E(e.goal),objective:E(e.objective),value:E(e.value),impact:E(e.impact),outcome:E(e.outcome),why_now:E(e.why_now),parent:E(e.parent),reviewer:E(e.reviewer),risk:e.risk??void 0,confidence:t0(e.confidence),sprint:E(e.sprint),release:E(e.release),blocked_by:E(e.blocked_by),blocked_reason:E(e.blocked_reason),unblock_note:E(e.unblock_note),reporter:E(e.reporter),severity:n0(e.severity),environment:E(e.environment),repro_steps:E(e.repro_steps),resolution:E(e.resolution),expected_result:E(e.expected_result),actual_result:E(e.actual_result),affected_version:E(e.affected_version),fixed_version:E(e.fixed_version),component:E(e.component),regression:e.regression,customer_impact:E(e.customer_impact),close_reason:lr(e.close_reason),plan_mode:E(e.plan_mode),plan_scope:E(e.plan_scope),plan_harness:E(e.plan_harness),plan_resume_context:E(e.plan_resume_context),plan_steps:XE(e.plan_steps),plan_decisions:JE(e.plan_decisions),plan_discoveries:ZE(e.plan_discoveries),plan_validation:QE(e.plan_validation)};return r0(i,e),o0(i,n),i0(i,n),jo(i),i}function kf(e){return A(e,ve)}function s0(e){let t=0,n=!1,r=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(n){if(r){r=!1;continue}if(i==="\\"){r=!0;continue}i==='"'&&(n=!1);continue}if(i==='"'){n=!0;continue}if(i==="{"){t+=1;continue}if(i==="}"&&(t-=1,t===0))return o}return-1}function a0(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=s0(e);if(t<0)return{frontMatter:"",body:e};let n=e.slice(0,t+1),r=e.slice(t+1).replace(/^\r?\n+/,"");return{frontMatter:n,body:r}}function c0(e){let t=e.charCodeAt(0)===65279?e.slice(1):e,n=t.match(/^[ \t]*---[ \t]*(?:\r?\n|$)/);if(!n)return{content:t,stripped:!1};let r=n[0].length;for(;r<t.length;){let o=t.indexOf(`
|
|
5
|
+
`,r),i=o===-1?t.length:o,s=t.slice(r,i).replace(/\r$/,""),a=o===-1?i:i+1;if(s.trim()==="---")return{content:t.slice(a).replace(/^\s+/,""),stripped:!0};r=a}return{content:t,stripped:!1}}function ba(e,t){return Lo(e,{...t,onWarning:void 0})}function d0(e,t,n={}){let r=c0(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=a0(r.content);o||(e.trimStart().startsWith("{")&&ur("json_markdown","JSON front matter is not valid JSON"),ur("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{ur("json_markdown","JSON front matter is not valid JSON")}return vf(s,n.requireSupportedFormat),ga(s,t),{metadata:ba(s,n),body:ln(i)}}function l0(e,t,n={}){let r;try{r=fa(e).value}catch{ur("toon","TOON item document is not valid TOON")}O(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(vf(Object.prototype.hasOwnProperty.call(o,"front_matter")?o.front_matter:o,n.requireSupportedFormat),!bf.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&ur("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return ga(o.front_matter,t),O(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:ba(o.front_matter,n),body:ln(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return O(i===void 0||typeof i=="string","TOON item document body must be a string"),ga(s,t),{metadata:ba(s,n),body:ln(typeof i=="string"?i:"")}}function u0(e,t={}){let n=Lo(e.metadata,t),r=kf(n),o=ln(e.body??"");va(JSON.parse(JSON.stringify(r))),va({body:o});let i=JSON.stringify(r,null,2);return o?`${i}
|
|
6
|
+
|
|
7
|
+
${o}
|
|
8
|
+
`:`${i}
|
|
9
|
+
`}var f0=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/u;function wa(e,t){return typeof e=="string"?_f(e,t):e===null||typeof e!="object"?null:Array.isArray(e)?yf(e.map((n,r)=>()=>wa(n,`${t}[${r}]`))):yf(Object.entries(e).map(([n,r])=>()=>{let o=t?`${t}.${n}`:n;return _f(n,`${o} (key)`)??wa(r,o)}))}function _f(e,t){let n=e.search(f0);return n<0?null:{path:t,index:n}}function yf(e){for(let t of e){let n=t();if(n!==null)return n}return null}function va(e){let t=wa(e,"");if(t!==null)throw new g(`Item field ${t.path} contains an unpaired surrogate code unit at index ${t.index}; persisted item text requires well-formed Unicode.`,h.USAGE,{code:"text_unpaired_surrogate",field:t.path,required:"Provide well-formed UTF-16 text: keep emoji and other astral characters whole and avoid lone \\uD800-\\uDFFF JSON escapes.",why:"Persisted item text must remain well-formed in every supported format; a lone surrogate can cause an unclassified encoder fault.",nextSteps:[`Repair the ${t.path} value (for example String.prototype.toWellFormed() or re-truncate on a character boundary) and retry.`,"Run pm <command> --help --json to review the text fields the command accepts."]})}function m0(e,t={}){let n=Lo(e.metadata,t),r=kf(n),o=ln(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i));va(s);let a=eE(s),c;try{c=fa(a).value}catch(d){throw new g("Refusing to persist a TOON item document that the configured decoder cannot read back.",h.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_error",format:"toon",required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:d instanceof Error?d.message:String(d)})}if(!ff(c,s)){let d=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},l=Object.keys(s).find(u=>!ff(s[u],d[u]))??"document";throw new g(`Refusing to persist a lossy TOON item document; round-trip mismatch at field "${l}".`,h.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_mismatch",format:"toon",field:l,required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:"The encoded document decoded to a value different from the canonical item payload."})}return`${a}
|
|
10
|
+
`}function C1(e,t={}){let n=Mo(e);if(n)throw new g(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,h.GENERIC_FAILURE,{code:"merge_conflict_markers_detected",reason:"merge_conflict",required:"Resolve merge-conflict markers in the item file before parsing or mutation commands.",why:"Partially merged documents can corrupt item metadata and history integrity.",examples:["git status","git add <resolved-file> && git commit"],nextSteps:["Resolve conflicts, save the file, then rerun the pm command."]});let r=t.format??"toon",o=wf(t);return r==="toon"?l0(e,o,t):d0(e,o,t)}function x1(e,t={}){return(t.format??"toon")==="toon"?m0(e,t):u0(e,t)}function fn(e,t={}){return{metadata:Lo(e.metadata,t),body:ln(e.body??"")}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="82c79093-2a40-5b4c-8d41-637b0ae03c4f")}catch{}})();function Sf(e){return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7e894d1f-fe1a-53f2-9a29-4e9846a9f986")}catch{}})();var Of=["append","cancel","claim","close","comment_add","comment_edit","comment_delete","create","delete","docs_add","docs_remove","files_add","files_remove","files_discover","history_author_acknowledge","history_compact","history_compact_baseline","history_redact","history_repair","history_salvage","import","improvement_observe","learning_add","learning_edit","learning_delete","normalize","note_add","note_edit","note_delete","plan_create_metadata","plan_create_initial_step","plan_add_step","plan_reorder_step","plan_remove_step","plan_link_step","plan_unlink_step","plan_append_decision","plan_append_discovery","plan_append_validation","plan_resume","plan_approve","plan_materialize","plan_update_step","plan_complete_step","plan_block_step","policy_approve","policy_refused","release","reopen","restore","schema_migration","schema_migration_reference","test_run_track","tests_add","tests_remove","tests_update","update","update_audit","update_ownership_bypass","workspace_snapshot_restore","extension_migrations_apply","merge_reconcile"],Af=["history:author-acknowledge","settings:write","init:type_preset","templates:save","profile:apply-types","profile:apply-statuses","profile:apply-fields","profile:apply-config","schema:add-type","schema:remove-type","schema:add-status","schema:remove-status","schema:add-field","schema:remove-field","schema:apply-preset","schema:infer-types","schema:policy-put","schema:policy-remove","schema:policy-mode","assurance:bundle:apply","assurance:gate:verdict","telemetry:install_id","telemetry:first_run_prompt","telemetry:clear","item_format:auto_select_default","transaction_abandon"],Sa={"init:type-preset":"init:type_preset"},If=["^config:(?:set|unset):[a-z][a-z0-9_.:-]*$","^assurance:(?:measurement|invariant|gate):(?:put|remove)$","^schema_(?:rename_type|rename_status|remap_status|rename_field|remove_type|remove_status|remove_field)(?:_compensate)?$","^extension:[a-z][a-z0-9_-]*:[a-z][a-z0-9_]*$"],D1={version:1,item:Of,workspace:Af,aliases:Sa,patterns:If,read_policy:"preserve_original_operation",custom_operation_grammar:"extension:<package_name>:<snake_case_operation>",legacy_custom_operation_grammar:"lowercase segments separated by underscore, hyphen, colon, or dot; optional opaque colon-suffixed retry key",excluded_surfaces:["json_patch","on_write_hook","telemetry_span"]},p0=new Set([...Of,...Af]),_0=If.map(e=>new RegExp(e,"u"));function Tf(e){return Object.hasOwn(Sa,e)?Sa[e]:e}function P1(e){let t=Tf(e);if(p0.has(t)||_0.some(n=>n.test(t)))return t;throw new TypeError("Undeclared history operation; use a native contract identity or extension:<package_name>:<snake_case_operation>.")}function Cf(e){let t=Tf(e),n=t.indexOf(":"),r=n<0?t:t.slice(0,n),o=n<0||n<t.length-1&&!/[\s\p{C}]/u.test(t.slice(n+1));if(/^[a-z][a-z0-9]*(?:[_.-][a-z0-9]+)*$/u.test(r)&&o)return t;throw new TypeError("History operation must use lowercase alphanumeric segments with an optional non-whitespace colon-suffixed retry key.")}import{AsyncLocalStorage as y0}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1fbb183b-c6d8-5834-b4cb-e4fb515572b9")}catch{}})();var Oa=new y0,xf=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function Fo(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function Ot(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=Fo(n.id,128),o=Fo(n.parent_id,128);if(r===void 0||!xf.test(r)||o!==void 0&&!xf.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=Fo(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function mn(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=Fo(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function h0(e,t,n){let r=Oa.getStore(),o=mn({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=Ot(t.PM_AGENT_EPISODE_ID===void 0?void 0:{id:t.PM_AGENT_EPISODE_ID,label:t.PM_AGENT_EPISODE_LABEL,parent_id:t.PM_AGENT_EPISODE_PARENT_ID},!1),s={...mn(r?.provenance),...o,...mn(e?.provenance)},a=Ot(e?.episode,!1)??Ot(n,!1)??i??Ot(r?.episode,!1);return Object.keys(s).length===0&&a===void 0?void 0:{...Object.keys(s).length===0?{}:{provenance:s},...a===void 0?{}:{episode:a}}}function Aa(e,t){return h0(e.session_context,t,e.client_info?.episode)??{}}function j1(e,t){let n=Oa.getStore(),r=Ot(e.episode,!0),o=Ot(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...mn(n?.provenance),...mn(e.provenance)};return Oa.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function L1(e){let t=mn(e.provenance),n=Ot(e.episode,!0);return{...n===void 0?{}:{PM_AGENT_EPISODE_ID:n.id,...n.label===void 0?{}:{PM_AGENT_EPISODE_LABEL:n.label},...n.parent_id===void 0?{}:{PM_AGENT_EPISODE_PARENT_ID:n.parent_id}},...t.role===void 0?{}:{PM_AGENT_SESSION_ROLE:t.role},...t.topic===void 0?{}:{PM_AGENT_SESSION_TOPIC:t.topic}}}import{constants as E0}from"node:fs";import ne from"node:fs/promises";import Se from"node:path";import{createHash as k0,randomUUID as Bo}from"node:crypto";import zo from"node:fs/promises";import ke 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]="f1eb25ad-08b8-5826-9ec1-7b0a7a22d277")}catch{}})();var Nf="lock_path_unsafe";function g0(e,t){return ke.relative(e,t).split(ke.sep).join("/")}function b0(e,t){return e==="lock_entry_symlink"?`Remove the symlinked lock entry ${t} (pm neither follows nor deletes it), then retry the same operation.`:e==="lock_directory_replaced"?`Restore ${t} as a real directory inside the tracker, then retry the same operation. The lock file created while it was replaced stays where the replacement pointed, because pm never deletes outside the tracker; remove it there if it is not wanted.`:"Replace the symlinked or replaced lock directory with a real directory inside the tracker (for example: remove the link, then let pm recreate locks/), then retry the same operation."}function mr(e){let t=e.component??ke.dirname(e.lockPath),n=g0(e.pmRoot,t);return new g(`Refused to acquire lock ${e.id}: ${n} is not a real directory inside the tracker (${e.reason}). Locks are never created through a symlinked or replaced lock directory.`,h.CONFLICT,{code:"lock_path_unsafe",item_id:e.id,reason:e.reason,lock_component:n,required:b0(e.reason,n)})}function Rf(e,t){return e.dev===t.dev&&e.ino===t.ino}async function Uo(e,t,n,r=!0){let o=ke.resolve(e),i=ke.dirname(ke.resolve(t)),s=ke.relative(o,i);if(s===".."||s.startsWith(`..${ke.sep}`)||ke.isAbsolute(s))throw mr({pmRoot:o,lockPath:t,id:n,reason:"lock_path_outside_tracker",component:i});let a=o,c=null;for(let l of s===""?[]:s.split(ke.sep)){a=ke.join(a,l);let u;try{u=await zo.lstat(a,{bigint:!0})}catch(f){if(r&&ee(f))return null;throw f}if(u.isSymbolicLink())throw mr({pmRoot:o,lockPath:t,id:n,reason:"lock_directory_symlink",component:a});if(!u.isDirectory())throw mr({pmRoot:o,lockPath:t,id:n,reason:"lock_directory_not_directory",component:a});c={dev:u.dev,ino:u.ino}}if(c!==null)return c;let d=await zo.stat(o,{bigint:!0});return{dev:d.dev,ino:d.ino}}async function Df(e,t,n){let r;try{r=await zo.lstat(t)}catch{return}if(r.isSymbolicLink())throw mr({pmRoot:e,lockPath:t,id:n,reason:"lock_entry_symlink",component:t})}async function Pf(e){let t=await e.handle.stat({bigint:!0}),n={dev:t.dev,ino:t.ino},r=!1;try{let o=await Uo(e.pmRoot,e.lockPath,e.id,!1);if(Rf(e.directory,o)){let i=await zo.lstat(e.lockPath,{bigint:!0});r=!i.isSymbolicLink()&&Rf(n,i)}}catch{r=!1}if(!r)throw mr({pmRoot:e.pmRoot,lockPath:e.lockPath,id:e.id,reason:"lock_directory_replaced"})}import Ia from"node:fs/promises";import{createHash as w0}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]="d1f829a5-70d6-5096-86f7-717440dd67d5")}catch{}})();function Mf(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function v0(e){if(!Number.isSafeInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return!Mf(t,"ESRCH")}}function $f(e){let t=e.lastIndexOf(")");if(t<0)return null;let n=e.slice(t+2).trim().split(/\s+/u)[19];return n!==void 0&&/^\d+$/u.test(n)?n:null}async function pn(e){try{return $f(await Ia.readFile(`/proc/${e}/stat`,"utf8"))}catch{return null}}async function pr(e=process.pid){let t=await pn(e);return{pid:e,...t===null?{}:{process_start_identity:t}}}async function _r(e,t,n){if(!v0(e.pid))return!1;let r=await pn(e.pid);return e.process_start_identity!==void 0&&r!==null?r===e.process_start_identity:t<=n}async function jf(){try{let[e,t]=await Promise.all([Ia.readFile("/proc/sys/kernel/random/boot_id","utf8"),Ia.readlink("/proc/self/ns/pid")]);return!/^[a-f0-9-]{36}\s*$/u.test(e)||!/^pid:\[\d+\]$/u.test(t)?null:w0("sha256").update(`${e.trim()}:${t}`).digest("hex")}catch{return null}}async function Ta(){let[e,t]=await Promise.all([jf(),pn(process.pid)]);return e!==null&&t!==null?{host_identity:e,process_start_identity:t}:{}}async function Ho(e){if(!e||typeof e.pid!="number"||!Number.isSafeInteger(e.pid)||e.pid<=0||typeof e.host_identity!="string"||typeof e.process_start_identity!="string"||!/^\d+$/u.test(e.process_start_identity))return"unknown";let t=await jf();if(t===null||t!==e.host_identity)return"unknown";try{process.kill(e.pid,0)}catch(r){return Mf(r,"ESRCH")?"dead":"unknown"}let n=await pn(e.pid);return n===null?"unknown":n===e.process_start_identity?"alive":"dead"}(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]="7f116073-a02b-568b-a408-17c0fcc8b4a4")}catch{}})();function S0(e){let t;try{t=JSON.parse(e)}catch{return{info:null,warnings:["lock_info_invalid_json"]}}if(typeof t!="object"||t===null||Array.isArray(t))return{info:null,warnings:["lock_info_invalid_shape"]};let n=t,r=n.id,o=n.pid,i=n.owner,s=n.token,a=n.created_at,c=n.ttl_seconds;return typeof r!="string"||typeof o!="number"||!Number.isFinite(o)||typeof i!="string"||s!==void 0&&(typeof s!="string"||s.trim().length===0)||typeof a!="string"||typeof c!="number"||!Number.isFinite(c)?{info:null,warnings:["lock_info_invalid_shape"]}:{info:{id:r,pid:o,owner:i,...typeof s=="string"?{token:s}:{},created_at:a,ttl_seconds:c,host_identity:n.host_identity,process_start_identity:n.process_start_identity},warnings:[]}}async function At(e,t=!0){try{let n=await ne.readFile(e,"utf8");return t&&await an({path:e,scope:"project"}),S0(n)}catch(n){return ee(n)?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function Ze(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function O0(e,t,n=process.platform){if(Ze(e,"EEXIST"))return!0;if(!Ze(e,"EPERM")&&!Ze(e,"EACCES")&&!Ze(e,"EBUSY"))return!1;try{return await ne.lstat(t),!0}catch(r){if(n!=="win32"||!ee(r)&&!Ze(r,"EPERM")&&!Ze(r,"EACCES")&&!Ze(r,"EBUSY"))return!1}try{return await ne.access(Se.dirname(t),E0.W_OK),!0}catch{return!1}}async function Hf(e,t){await Io({path:e,scope:"project",op:t})}async function A0(e,t,n,r=Bo()){return{...await Ta(),id:e,pid:process.pid,owner:t,token:r,created_at:Te(),ttl_seconds:n}}async function I0(e,t,n,r,o,i,s){let a=await Uo(e,t,n);s&&a===null&&await ne.mkdir(Se.dirname(t),{recursive:!0});let c=await Yo(t,n);if(c===null)throw await ne.access(Se.dirname(t)),Object.assign(new Error("Lock initialization is contended"),{code:"EEXIST"});let d;try{let l=await Uo(e,t,n,!1),u=await ne.open(t,"wx");try{await Pf({pmRoot:e,lockPath:t,id:n,handle:u,directory:l})}catch(f){throw await u.close(),f}try{try{let f=await A0(n,r,o,i);d=f.created_at,await u.writeFile(`${JSON.stringify(f,null,2)}
|
|
11
|
+
`,"utf8")}finally{await u.close()}}catch(f){throw await Ra(t,"lock:release"),f}}finally{await c()}return await Hf(t,"lock:create"),d}async function Ra(e,t){try{return await ne.unlink(e),await Hf(e,t),!0}catch{return!1}}async function T0(e,t,n,r){let o=performance.now(),i=Wo;for(;;){let s=await Yo(e,t);if(s!==null){try{let d=await At(e,!1);Ca(d.info,t,n,r)&&await Ra(e,"lock:release")}finally{await s()}return}let a=await At(e,!1);if(!Ca(a.info,t,n,r))return;let c=performance.now()-o;if(c>=qo)return;await Ko(Math.min(i,qo-c)),i=Math.min(i*2,Go)}}function Ca(e,t,n,r){return e?.id===t&&e.pid===process.pid&&e.owner===n&&e.token===r}function qf(e,t){let n=e?.created_at?Date.parse(e.created_at):Number.NaN;return(Number.isFinite(n)?Date.now()-n:Number.POSITIVE_INFINITY)>t*1e3}async function Vf(e){return e!==null&&Number.isFinite(Date.parse(e.created_at))&&await Ho(e)==="dead"}async function Bf(e,t){return qf(e,t)||await Vf(e)}async function Wf(e,t,n){let{info:r}=await At(fs(e,t),!1);return r!==null&&r.owner.startsWith(n)&&!await Bf(r,r.ttl_seconds)}function C0(e){return e?.owner?` (owner ${e.owner})`:""}var Wo=25,Go=200,Gf=250,x0=12e4,R0=3,N0=".stale-cleanup",Kf="owner.json",Yf=1e4,qo=Yf+Go;function xa(e){if(typeof e=="string"){let t=e.trim();if(!/^\d+$/.test(t))return;let n=Number(t);return Number.isSafeInteger(n)?n:void 0}if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return Math.trunc(e)}function D0(e){let t=process.env.PM_LOCK_WAIT_MS,n=xa(t);if(n!==void 0)return n;let r=xa(e);return r!==void 0?r:0}function P0(e,t){return Math.min(D0(e),t??1/0)}function Ko(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}async function Xf(e,t,n,r=0){n=Math.floor(n);let o=await Ho(t),i=r>0?` across ${r} owner handoff(s)`:"",s=n>0?` after waiting ${n}ms${i}`:"";return new g(`Item ${e} is locked${C0(t)} (owner process ${o})${s}`,h.CONFLICT,{code:"lock_conflict",item_id:e,reason:`lock_owner_${o}`,required:"Wait for the owner to release the lock, then retry the same operation. Set PM_LOCK_WAIT_MS to a larger bounded millisecond budget when contention is expected. Inspect stale receipts with pm gc --scope locks --dry-run.",recovery:{retry_after_ms:Gf,...n>0?{waited_ms:n,owner_handoffs:r}:{}}})}function M0(e,t){let n=performance.now(),r=n,o,i=0;return{startedAtMs:n,observe(s){let a=performance.now(),c=j0(s);o!==void 0&&c!==o&&(i+=1,r=a),o=c;let d=a-n,l=a-r;return{exhausted:e===0||l>=e||d>=t,elapsedMs:d,remainingMs:Math.min(e-l,t-d),ownerHandoffs:i}}}}function $0(e,t,n){return n!=="progress"||t!==void 0?e:Math.max(e,x0)}function j0(e){return e===null?"released":e.token??`${e.pid}:${e.owner}:${e.created_at}`}function L0(e){let t=Date.parse(e.acquiredAt)+e.ttlSeconds*1e3;return{owner:e.owner,acquired_at:e.acquiredAt,ttl_seconds:e.ttlSeconds,expires_at:new Date(t).toISOString()}}function F0(e,t,n,r){let o=`the lease acquired at ${t.acquiredAt} (ttl ${t.ttlSeconds}s)`;if(r==="fence_gate_unavailable")return{summary:`Lock for ${e} could not be verified before commit: ${o} could not enter its commit fence because the stale-cleanup gate stayed held.`,required:"Retry the same operation; this writer's change was not committed. Inspect pm gc --scope locks --dry-run if the stale-cleanup gate stays held."};let i=n===null?"the lock no longer exists":`it is now held by ${n.owner} since ${n.created_at}`;return{summary:`Lock for ${e} was lost before commit: ${o} is no longer owned by this writer, and ${i}.`,required:"Re-read the item and apply the mutation again; this writer's change was not committed and the newer value was kept. Keep mutation work shorter than locks.ttl_seconds, or raise locks.ttl_seconds for long-running callbacks."}}function Lf(e,t,n,r){let{summary:o,required:i}=F0(e,t,n,r);return new g(`${o} Nothing was written.`,h.CONFLICT,{code:"lock_lost",item_id:e,reason:r,lease:L0(t),current_owner:n===null?null:{owner:n.owner,pid:n.pid,created_at:n.created_at,ttl_seconds:n.ttl_seconds},required:i,recovery:{retry_after_ms:Gf}})}async function z0(e,t){let n=performance.now(),r=Wo;for(;;){let o=await Yo(e,t);if(o!==null)return o;let i=performance.now()-n;if(i>=qo)return null;await Ko(Math.min(r,qo-i)),r=Math.min(r*2,Go)}}async function U0(e,t,n,r){let o=await z0(e,t);if(o===null){let i=await At(e,!1);throw Lf(t,n,i.info,"fence_gate_unavailable")}try{let i=await At(e,!1);if(!Ca(i.info,t,n.owner,n.token))throw Lf(t,n,i.info,i.info===null?"lease_released":"lease_taken_over");return await r()}finally{await o()}}function H0(e){if(typeof e=="function")return e;if(typeof e=="object"&&e!==null&&"release"in e){let t=e.release;return typeof t=="function"?t:null}return null}function q0(e,t,n,r){if(!n&&r){let o=t.warnings.length>0?` (${t.warnings.join(",")})`:"";throw new g(`Item ${e} lock is stale${o}; rerun with --force when supported for this command`,h.CONFLICT)}}function V0(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null||Array.isArray(t))return null;let n=t,r=n.pid,o=n.token,i=n.process_start_identity;return typeof r!="number"||!Number.isInteger(r)||r<=0||typeof o!="string"||o.length===0||i!==void 0&&(typeof i!="string"||!/^\d+$/u.test(i))?null:{pid:r,token:o,host_identity:n.host_identity,...typeof i=="string"?{process_start_identity:i}:{}}}async function Vo(e){try{return V0(await ne.readFile(Se.join(e,Kf),"utf8"))}catch(t){return ee(t)?null:void 0}}async function Na(e){try{return await ne.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function Ff(e,t){let n=await Vo(e);for(let r=0;n===void 0&&r<3;r+=1)await Ko(Wo),n=await Vo(e);!n||n.token!==t||await Na(e)}async function zf(e){try{await ne.mkdir(e)}catch(n){return Ze(n,"EEXIST"),null}let t={...await pr(),host_identity:(await Ta()).host_identity,token:Bo()};try{await ne.writeFile(Se.join(e,Kf),`${JSON.stringify(t)}
|
|
12
|
+
`,"utf8")}catch{return await Na(e),null}return t}async function Uf(e,t){let n=Se.join(Se.dirname(e),"recoveries"),r=k0("sha256").update(t).digest("hex");try{return await ne.mkdir(n,{recursive:!0}),(await Vo(e))?.token!==t?!1:(await ne.rename(e,Se.join(n,`gate-${r}`)),!0)}catch{return!1}}async function B0(e){let t;try{let r=await ne.stat(e);t=Date.now()-r.mtimeMs}catch(r){return ee(r)}let n=await Vo(e);if(n===void 0)return!1;if(n!==null){if(await Ho(n)==="dead")return Uf(e,n.token);if(n.host_identity!==void 0)return!1}return t<=Yf||n!==null&&await _r(n,t,Number.POSITIVE_INFINITY)?!1:n!==null?Uf(e,n.token):Na(e)}async function Yo(e,t){let n=`${e}${N0}`,r=await zf(n);if(r!==null)return async()=>Ff(n,r.token);if(!await B0(n))return null;let o=await zf(n);return o===null?null:async()=>Ff(n,o.token)}async function W0(e,t){let n=Se.join(Se.dirname(e),"recoveries");await ne.mkdir(n,{recursive:!0}),await ne.writeFile(Se.join(n,`${Bo()}.json`),`${JSON.stringify({event:"owner_dead_recovery_attempt",recorded_at:Te(),lock:JSON.parse(t)})}
|
|
13
|
+
`,{encoding:"utf8",flag:"wx",mode:384})}async function G0(e){let t=await Yo(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await At(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};let r=await Vf(n.info);if(!qf(n.info,e.ttlSeconds)&&!r)return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(q0(e.id,n,e.force||r,e.forceRequiredForStaleLock),e.staleRemovals>=R0)throw await Xf(e.id,n.info,performance.now()-e.startedAtMs);return r&&await W0(e.lockPath,JSON.stringify(n.info)),{lockInfo:n,shouldRetryCreate:await Ra(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function K0(e,t,n,r){if(e instanceof g&&e.code===Nf)throw e;if(!await O0(e,n))throw new g(`Failed to acquire lock for ${r}: ${al(e)}`,h.GENERIC_FAILURE);await Df(t,n,r)}async function fe(e,t,n,r,o=!1,i=!0,s,a={}){return(await Y0(e,t,n,r,o,i,s,a)).release}async function Y0(e,t,n,r,o=!1,i=!0,s,a={}){let c=xa(a.maxWaitMs),d=await cn("lock_acquire",{pm_root:e,id:t,ttl_seconds:n,owner:r,force:o,force_required_for_stale_lock:i,...c===void 0?{}:{max_wait_ms:c}});if(d.handled){let T=H0(d.result);if(T)return{release:async()=>{await Promise.resolve(T()),await cn("lock_release",{pm_root:e,id:t,owner:r})},fence:H=>H()}}let l=fs(e,t),u=P0(s,c),f=$0(u,c,a.waitPolicy),m=M0(u,f),_=m.startedAtMs,y=0,w=Wo,v=Bo();for(;;)try{let T=await I0(e,l,t,r,n,v,a.createParentDirectories!==!1),H={owner:r,token:v,acquiredAt:T,ttlSeconds:n};return{release:async()=>{await T0(l,t,r,v),await cn("lock_release",{pm_root:e,id:t,owner:r})},fence:X=>U0(l,t,H,X)}}catch(T){await K0(T,e,l,t);let H=await At(l);if(await Bf(H.info,n)){let de=await G0({lockPath:l,id:t,ttlSeconds:n,force:o,forceRequiredForStaleLock:i,staleRemovals:y,waitBudgetMs:u,startedAtMs:_,fallbackLockInfo:H});if(H=de.lockInfo,de.staleRemovalCounted&&(y+=1),de.shouldRetryCreate)continue}let X=m.observe(H.info);if(X.exhausted)throw await Xf(t,H.info,u===0?0:X.elapsedMs,X.ownerHandoffs);await Ko(Math.min(w,X.remainingMs)),w=Math.min(w*2,Go)}}import{createHash as Jf}from"node:crypto";import{existsSync as Da,promises as Zf,readFileSync as X0}from"node:fs";import xe 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]="06c9f6f4-c2f0-549c-9a0f-4f4269cc5f49")}catch{}})();var J0="session.json";function Pa(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Qf(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,n=["implementer","planner","release-operator"].includes(String(t.role)),r=["high","medium"].includes(String(t.confidence)),o=Pa(t.topic,256),i=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),s=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>Pa(c,128)),a=t.focused_item_id===void 0||Pa(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function Z0(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Qf(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Ma(e){return xe.join(ms(e),J0)}async function em(e){try{let t=await Zf.readFile(Ma(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=Z0(r.semantic_attribution);return typeof o=="string"&&o.trim().length>0?{focused_item:o,...i?{semantic_attribution:i}:{}}:i?{semantic_attribution:i}:{}}catch{return{}}}async function $a(e,t){let n=await fe(e,"session-state",S.locks.ttl_seconds,"session-state",!1,!0,S.locks.wait_ms);try{let r=await em(e);t(r);let o=Ma(e);await Zf.mkdir(xe.dirname(o),{recursive:!0}),await pt(o,JSON.stringify(r))}finally{await n()}}function ja(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Jf("sha256").update(e).digest("hex").slice(0,24)}`}function La(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Fa(e){let t=[...new Set(e)].sort((r,o)=>r.localeCompare(o));if(t.length===1)return t[0];let n=`workset:${t.join("+")}`;return n.length<=256?n:`workset:${t.join("+").slice(0,230)}+${Jf("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function za(e,t,n){await $a(e,r=>{let o={...r.semantic_attribution},i=n(o[t]);i===void 0?delete o[t]:o[t]=i,Object.keys(o).length===0?delete r.semantic_attribution:r.semantic_attribution=o})}async function hM(e){let t=ja(e.principal);await za(e.pmRoot,t,n=>{let r=[...new Set([...n?.active_item_ids??[],e.itemId])].slice(-64).sort((i,s)=>i.localeCompare(s)),o=n?.focused_item_id;return{role:"implementer",topic:o??Fa(r),confidence:o?"high":"medium",rule_version:"v2",evidence:La([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}async function gM(e){let t=ja(e.principal);await za(e.pmRoot,t,n=>{if(!n)return;let r=n.active_item_ids.filter(i=>i!==e.itemId);if(r.length===0&&!n.focused_item_id)return;let o=n.focused_item_id;return{...n,role:"release-operator",topic:o??Fa(r),confidence:o?"high":"medium",evidence:La([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function bM(e){let t=ja(e.principal);await za(e.pmRoot,t,n=>{let r=n?.active_item_ids??[];if(!e.itemId&&r.length===0)return;let o=e.itemId;return{role:o?"planner":n.role,topic:o??Fa(r),confidence:o?"high":"medium",rule_version:"v2",evidence:La([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Q0(e,t){let n=t.PM_PATH?.trim();if(n){let o=xe.resolve(e,n);if(Da(xe.join(o,"settings.json")))return o;let i=xe.join(o,".agents","pm");if(Da(xe.join(i,"settings.json")))return i}let r=xe.resolve(e);for(let o=0;o<32;o+=1){let i=xe.join(r,".agents","pm");if(Da(xe.join(i,"settings.json")))return i;let s=xe.dirname(r);if(s===r)break;r=s}}function tm(e){if(!e.key)return;let t=Q0(e.cwd,e.env);if(t)try{let n=JSON.parse(X0(Ma(t),"utf8"));return Qf(n.semantic_attribution?.[e.key])}catch{return}}async function wM(e){return(await em(e)).focused_item}async function vM(e,t){await $a(e,n=>{n.focused_item=t})}async function EM(e){await $a(e,t=>{delete t.focused_item})}import{AsyncLocalStorage as Ba}from"node:async_hooks";import{createHash as ek}from"node:crypto";import me from"node:fs";import im from"node:os";import Ct from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a69b86e2-6633-5abc-81b7-6a54a592d36c")}catch{}})();var Wa=["model","effort","role","topic","version"],Zo=new Ba,sm=new Ba,Qo=new Ba,Ga=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{model:"codex_session_file",effort:"codex_session_file",version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],am=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),tk=Object.freeze({...am,max_bytes:4194304}),Ua=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function nk(e){let t=et(e).provenance_unavailable_dimensions,n=new Set(["model","version",...Object.keys(e.provenance_environment_keys??{}),...Object.keys(e.provenance_resolvers??{})]);return Object.freeze({contract_version:1,adapter_version:"v1",priority:0,harness:e.harness,descriptor:e,supported_dimensions:Object.freeze([...n].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(r=>r?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?tk:am,normalization:Object.freeze({model_family:"v1",effort:"v1",preserve_raw:!0}),confidence:"high",waivers:Object.freeze(Object.fromEntries(t.map(r=>[r,"Harness does not expose this dimension."])))})}var cm=Object.freeze(Ga.filter(e=>e.harness!=="ci").map(nk).sort((e,t)=>e.harness.localeCompare(t.harness))),Tt=new Map,_n=new Map;function V(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function Qe(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function et(e){let t=e.harness.trim().toLowerCase();if(!Ua.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:Qe(e.environment_keys),model_environment_keys:Qe(e.model_environment_keys),session_environment_keys:Qe(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),Qe(r)]).filter(([n])=>Ua.test(n))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),r]).filter(n=>typeof n[0]=="string"&&Ua.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:Qe(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:Qe(e.argv_markers).map(n=>n.toLowerCase()),client_names:Qe(e.client_names).map(n=>n.toLowerCase())}}var dm=Ga.map(et);function rk(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Jo(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(n=>n.length>0).includes(t)||e.trim().toLowerCase()===t}function Ka(e=[]){let t=new Map(Ga.filter(o=>o.harness!=="ci").map(o=>[o.harness,et(o)]));for(let{adapter:o}of Tt.values())t.set(o.harness,et(o.descriptor));let n=[...t.values(),...dm.filter(o=>o.harness==="ci"),...[..._n.values()].map(o=>o.descriptor),...Qo.getStore()?.descriptors??[],...e.map(et)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function Ya(e,t){for(let n of t??[]){let r=V(e[n]);if(r)return r.slice(0,256)}}function ok(e,t){if(t==="role"){let n=e.slice(0,8).map(r=>r.trim().toLowerCase()).find(r=>["claim","create","update","close","release","review"].includes(r));if(n==="review")return"reviewer";if(n)return"implementer"}}function lm(e,t){let n=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],r=e.slice(0,8);for(let o=0;o<r.length;o+=1){let i=r[o].slice(0,512);if(n.includes(i))return V(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return V(i.slice(s.length+1))?.slice(0,256)}}var ik=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function It(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return ik.has(n)?n:void 0}function Ha(e,t){return V(e?.[t])?.slice(0,256)}var sk=1048576,Va=4194304,Xo=new Map,nm=Object.freeze({}),qa=new Map,rm=Object.freeze({});function om(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function ak(e){let t;try{t=JSON.parse(e)}catch{return rm}let n=om(t);if(!n)return rm;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=V(a.value.model)?.slice(0,256),s??=V(a.value.version)?.slice(0,256),i&&s)break;if(!(a.depth>=4))for(let c of Object.values(a.value)){let d=om(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function um(e){try{return me.lstatSync(e).isFile()?"available":"missing"}catch(t){return be(t)?"missing":"failed"}}function ck(e,t){let n;try{n=me.readdirSync(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).sort((o,i)=>o.name.localeCompare(i.name)).slice(0,512).map(o=>{let i=Ct.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:um(i)}})}catch(o){return{status:be(o)?"missing":"failed"}}let r=n.filter(({status:o})=>o==="available").map(({candidate:o})=>o);return r.length===0?{status:n.some(({status:o})=>o==="failed")?"failed":"missing"}:r.length>1?{status:"ambiguous"}:{status:"available",path:r[0]}}function fm(e,t){let n=V(t.CLAUDE_CODE_SESSION_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return{status:"unavailable"};let r=Ct.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),o=Ct.join(e.home_dir??im.homedir(),".claude","projects"),i=Ct.join(o,r,`${n}.jsonl`),s=V(e.session_file),a=s&&Ct.basename(s)===`${n}.jsonl`?s:void 0;for(let c of[a,i]){if(!c)continue;let d=um(c);if(d==="available")return{status:d,path:c};if(d==="failed")return{status:d}}return ck(o,n)}function dk(e,t,n){let r=fm(t,n);if(r.status==="available")try{let o=me.openSync(r.path,me.constants.O_RDONLY|me.constants.O_NOFOLLOW);try{let i=me.fstatSync(o),s=`${r.path}\0${i.size}\0${i.mtimeMs}`,a=qa.get(s);if(a)return a[e];let c=Math.min(i.size,sk),d=Math.min(c,Math.ceil(c/2)),l=Math.min(c-d,i.size-d),u=Buffer.alloc(d);me.readSync(o,u,0,d,0);let f=Buffer.alloc(l);l>0&&me.readSync(o,f,0,l,i.size-l);let m={},_=i.size<=c?Buffer.concat([u,f]).toString("utf8").split(`
|
|
14
|
+
`):[...u.toString("utf8").split(`
|
|
15
|
+
`).slice(0,4096),...f.toString("utf8").split(`
|
|
16
|
+
`).slice(-4096)];for(let w of _){if(w.length===0||w.length>262144)continue;let v=ak(w);if(m.model??=v.model,m.version??=v.version,m.model&&m.version)break}let y=Object.freeze(m);return qa.clear(),qa.set(s,y),y[e]}finally{me.closeSync(o)}}catch{return}}function lk(e,t){let n=0,r=(o,i)=>{if(i>4||n>=512)return;let s;try{s=me.readdirSync(o,{withFileTypes:!0}).sort((a,c)=>c.name.localeCompare(a.name))}catch{return}for(let a of s){if(n+=1,n>512)return;let c=Ct.join(o,a.name);if(a.isFile()&&a.name.endsWith(`-${t}.jsonl`))return c;if(a.isDirectory()){let d=r(c,i+1);if(d)return d}}};return r(e,0)}function uk(e){if(e<=Va)return[{offset:0,length:e}];let t=Math.floor(Va/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function fk(e,t){if(t.length===0||t.length>262144)return;let n;try{n=JSON.parse(t)}catch{return}if(typeof n!="object"||n===null||Array.isArray(n))return;let r=n;if(r.type!=="turn_context")return;let o=typeof r.payload=="object"&&r.payload!==null?r.payload:void 0;e.model??=V(o?.model)?.slice(0,256),e.effort??=V(o?.effort)?.slice(0,256)}function mk(e,t){let n={},r=4096;for(let o of uk(t)){let i=Buffer.alloc(o.length);me.readSync(e,i,0,o.length,o.offset);let s=i.toString("utf8").split(`
|
|
17
|
+
`).reverse().slice(0,r);r-=s.length;for(let a of s)if(fk(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function pk(e,t,n){let r=V(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=Ct.join(t.home_dir??im.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=Xo.get(i);if(s)return s[e];let a=lk(o,r);if(!a){Xo.set(i,nm);return}try{let c=me.openSync(a,"r");try{let d=me.fstatSync(c).size,l=mk(c,d);return Xo.set(i,l),l[e]}finally{me.closeSync(c)}}catch{Xo.set(i,nm);return}}function _k(e,t,n,r){let o=Qo.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(V(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let i=r?.provenance_resolvers[e];if(i==="claude_session_file")return dk(e,t,n);if(i==="codex_session_file")return pk(e,t,n);if(i==="ai_agent_version"){let s=V(n.AI_AGENT);return!s||!r||!Jo(s,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(s)?.[1]?.slice(0,256)}}function yk(e,t,n,r){if(e==="ai_agent_version"){let o=V(r.AI_AGENT);return o!==void 0&&Jo(o,t.harness)?"available":"unavailable"}return e==="codex_session_file"?V(r.CODEX_THREAD_ID)!==void 0?"available":"unavailable":fm(n,r).status}function Xa(e){return e||(sm.getStore()??{env:process.env,argv:process.argv})}function hk(e,t,n,r){let o=e.environment_keys.some(a=>V(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let d=c.replaceAll("\\","/");return Jo(d.slice(d.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||Jo(r,a));return o||i||s}function gk(e,t){if(!t)return;let n;if(e==="topic"&&(n=t.topic),e==="role"&&(n=t.role),!!n)return{value:n,source:"inferred",confidence:t.confidence,rule_version:t.rule_version,evidence:t.evidence}}function bk(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function wk(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...Wa,...Object.keys(r?.provenance_environment_keys??{})]),c,d,l;a.has(e)&&(c=It(e,V(n[s])?.slice(0,256)),l=It(e,lm(t.argv??[],e)),d=It(e,ok(t.argv??[],e)));let u={...r?.provenance_environment_keys,model:r?.model_environment_keys},f={...t.client_info?.provenance,model:t.client_info?.model},m=Ha(o?.provenance,e),_=It(e,Ya(n,u[e])),y=It(e,Ha(f,e)),w=It(e,Ha(t.provenance,e)),v=_k(e,t,n,r);return bk([[c,"override"],[m,"session"],[l,"argv"],[_,"environment"],[y,"mcp_client"],[w,"host"],[v,"probe"]])??gk(e,i)??(d?{value:d,source:"argv"}:void 0)}function vk(e,t){if(!(!e||!t))return ek("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function Ek(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...Wa,...i,...Object.keys(n?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(r?.provenance??{})]),a={};for(let c of s){let d=wk(c,e,t,n,r,o);d?a[c]=d:n&&(c!=="version"||n.provenance_unavailable_dimensions.includes(c))&&(a[c]=null)}return a}function NM(e){let t=e.map(et),n=new Map(dm.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness)||n.has(i.harness))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);let s=_n.get(i.harness);if(s&&!rk(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=_n.get(i.harness);_n.set(i.harness,{descriptor:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=_n.get(i.harness);!s||s.registrations<=1?_n.delete(i.harness):s.registrations-=1}}}}function kk(e){let t=et(e.descriptor),n=e.harness.trim().toLowerCase();if(e.contract_version!==1)throw new Error(`Unsupported provenance adapter contract for "${n}": ${e.contract_version}`);if(t.harness!==n)throw new Error(`Provenance adapter harness "${n}" does not match descriptor "${t.harness}".`);let r=V(e.adapter_version)?.slice(0,64);if(!r)throw new Error(`Provenance adapter "${n}" requires a version.`);if(!Number.isSafeInteger(e.priority))throw new Error(`Provenance adapter "${n}" requires an integer priority.`);if(e.probe_policy.network_access!==!1||e.probe_policy.subprocess_access!==!1||e.probe_policy.max_bytes>Va||e.probe_policy.max_lines>4096)throw new Error(`Provenance adapter "${n}" exceeds the bounded local probe policy.`);return Object.freeze({...e,adapter_version:r,harness:n,descriptor:t,supported_dimensions:Object.freeze(Qe(e.supported_dimensions).map(o=>o.toLowerCase()).sort()),native_sources:Object.freeze([...new Set(e.native_sources)]),probe_policy:Object.freeze({...e.probe_policy}),normalization:Object.freeze({...e.normalization}),...e.waivers?{waivers:Object.freeze(Object.fromEntries(Object.entries(e.waivers).slice(0,32).map(([o,i])=>[o.slice(0,64),i.slice(0,256)])))}:{}})}function DM(){let e=new Map(cm.map(t=>[t.harness,t]));for(let{adapter:t}of Tt.values())e.set(t.harness,t);return Object.freeze([...e.values()].sort((t,n)=>t.harness.localeCompare(n.harness)))}function PM(e){let t=e.map(kk),n=new Map(cm.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness))throw new Error(`Provenance adapter collision for "${i.harness}".`);let s=n.get(i.harness);if(s&&i.priority<=s.priority)throw new Error(`Provenance adapter override for "${i.harness}" requires priority greater than ${s.priority}.`);let a=Tt.get(i.harness);if(a&&JSON.stringify(a.adapter)!==JSON.stringify(i))throw new Error(`Provenance adapter collision for "${i.harness}".`);r.add(i.harness)}for(let i of t){let s=Tt.get(i.harness);Tt.set(i.harness,{adapter:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=Tt.get(i.harness);!s||s.registrations<=1?Tt.delete(i.harness):s.registrations-=1}}}}function MM(e,t){let n=t.trim().slice(0,256),r=n.toLowerCase();if(e==="model"){let o=/^(gpt-\d+(?:\.\d+)?)/u.exec(r)?.[1];o&&(r=o)}else r=r.replaceAll(/[_\s-]+/gu,""),r={minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max",ultra:"ultra"}[r]??r;return{raw:n,normalized:r,vocabulary:"v1"}}function $M(e,t){return sm.run(e,t)}function jM(e,t,n={}){let r=e.map(et);return Ka(r),Qo.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function Ja(e){let t=Xa(e),n=t.env??{},r=Ka(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(_=>_.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(_=>hk(_,n,o,i)),a=Aa(t,n),c=[Ya(n,s?.session_environment_keys),V(t.client_info?.session)?.slice(0,256)].find(_=>_!==void 0),d=vk(s?.harness,c),l=tm({cwd:t.cwd??process.cwd(),env:n,key:d}),u=Ek(t,n,s,a,l),f=u.model,m=[["harness",s?.harness],["model",f?.value],["model_source",f?.source],["session",c],["instance",d],["provenance",Object.keys(u).length>0?u:void 0],["episode",a.episode]];return Object.fromEntries(m.filter(_=>_[1]!==void 0))}function Sk(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function Ok(e,t,n,r,o,i,s){let a=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...a?{resolver:a}:{},rule_version:"v1"};if(s)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(a){if(!i)return{status:"unavailable",reason:"probes_disabled",resolver:a,rule_version:"v1"};let c=yk(a,n,r,o);return{...Sk(c),resolver:a,rule_version:"v1"}}return{status:n?.provenance_unavailable_dimensions.includes(e)?"unavailable":"not_configured",reason:n?.provenance_unavailable_dimensions.includes(e)?"harness_unavailable":"resolver_not_configured",rule_version:"v1"}}function mm(e){let t=Xa(e),n=Ja(t),r=Ka(t.descriptors).find(d=>d.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&Qo.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(V(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=Aa(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,Ya(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,lm(t.argv??[],"role")].some(d=>{let l=V(d)?.slice(0,256);return l!==void 0&&It("role",l)===void 0}),c=Object.fromEntries(Wa.map(d=>[d,Ok(d,n,r,t,o,i,d==="role"&&a)]));return{...n,provenance_outcomes:c}}function LM(){return process.env.PM_AUTHOR}function FM(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function zM(e){return Ja(e).harness}function Ak(e,t,n){let r=Xa(n),o=Ja(r);if(e!==void 0){let s=V(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=V(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=V(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function pm(e){let t=Zo.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function _m(e){let t=Zo.getStore();return t?.author!==e?e.startsWith("harness:")?{harness:e.slice(8)}:{}:{...t.harness?{harness:t.harness}:{},...t.model?{model:t.model}:{},...t.model_source?{model_source:t.model_source}:{},...t.session?{session:t.session}:{},...t.instance?{instance:t.instance}:{},...t.provenance?{provenance:t.provenance}:{},...t.episode?{episode:t.episode}:{}}}function UM(e){let t=Zo.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function ym(e,t){let n=Ak(e,t);return Zo.enterWith(n),n.author}import Ik 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]="58661057-fa80-5571-9be7-b949723c274b")}catch{}})();async function ei(e,t){let n=await Ik.readFile(e).catch(s=>{if(be(s))return null;throw s}),r=n?.toString("utf8")??null;if(r===null)return{raw:r,raw_bytes:n,entries:[]};if(await an({path:e,scope:"project"}),r.trim()==="")return{raw:r,raw_bytes:n,entries:[]};let o=Mo(r);if(o)throw new g(`History for ${t} contains merge conflict markers at line ${o.line} (${o.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,h.GENERIC_FAILURE,{code:"history_merge_conflict_markers_detected",required:"Repair the history stream by resolving merge-conflict markers.",why:"Conflict markers break JSONL parsing and invalidate deterministic audit history.",examples:[`pm history ${t}`,`pm restore ${t} <timestamp-or-version>`],nextSteps:["Resolve or restore the history file, then rerun the command."]});let i=[];for(let[s,a]of r.split(/\r?\n/).entries()){let c=a.trim();if(c)try{i.push(JSON.parse(c))}catch{throw new g(`History for ${t} contains invalid JSON at line ${s+1}. Repair or restore the history stream and retry.`,h.GENERIC_FAILURE,{code:"history_json_invalid",nextSteps:[`Run pm history-repair ${t} --salvage-tail --dry-run to check whether only an invalid suffix is damaged.`]})}}return{raw:r,raw_bytes:n,entries:i}}async function xt(e,t){return(await ei(e,t)).entries}(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]="3c2c29c0-0034-54d4-9dbd-2e9af047784e")}catch{}})();var XM=1,Tk=["docs_add","files_add","history:author-acknowledge","history_author_acknowledge","history_compact","history_compact_baseline","history_redact","history_repair","history_salvage","normalize","release","test_run_track","tests_add","tests_remove","tests_update","update_audit","update_ownership_bypass"],Ck=["append","cancel","claim","close","comment_add","create","learning_add","note_add","reopen"],xk=new Set(Tk),Rk=new Set(Ck),Nk=new Set(["actual_result","affected_version","assignee","blocked_by","blocked_reason","close_reason","confidence","customer_impact","definition_of_ready","dependencies","docs","environment","expected_result","files","fixed_version","goal","impact","learnings","notes","objective","order","outcome","parent","release","reminders","reporter","repro_steps","resolution","reviewer","severity","sprint","tests","test_runs","unblock_note","updated_at","value","why_now"]);function Dk(e){let t=e.path.split("/").filter(Boolean);return t[0]==="metadata"||t[0]==="front_matter"?t[1]:t[0]==="body"?"body":void 0}function yn(e){return e.event_class==="substantive"||e.event_class==="maintenance"?e.event_class:xk.has(e.op)?"maintenance":Rk.has(e.op)||e.op!=="update"?"substantive":Array.isArray(e.patch)&&e.patch.length>0&&e.patch.every(t=>{let n=Dk(t);return n!==void 0&&Nk.has(n)})?"maintenance":"substantive"}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3a66ccfd-51fb-5d4a-b9cd-257c49997d52")}catch{}})();var bm=new WeakMap;function e$(e,t){bm.set(e,new Set(t))}var ti='.row_contract.row_keys[] as $key | getpath($key | split(".")) | if type == "array" then .[] else if type == "object" then to_entries[] else empty end end',Pk={context:{row_keys:["high_level","low_level"],fields:"supported"},get:{row_keys:["children"],fields:"supported"},list:{row_keys:["items"],fields:"supported"},next:{row_keys:["recommended","ready","decision_needed","gate_needed","containers","blocked","held_by_others"],fields:"unsupported"},search:{row_keys:["items"],fields:"supported"},activity:{row_keys:["activity_digest","compact_activity","provenance_activity","activity"],fields:"unsupported"},history:{row_keys:["compact_history","provenance_history","history","diff"],fields:"unsupported"},deps:{row_keys:["graph.nodes","graph.edges","context.nodes","context.edges"],fields:"unsupported"},health:{row_keys:["checks"],fields:"unsupported"},aggregate:{row_keys:["groups"],fields:"unsupported"},duplicates:{row_keys:["clusters"],fields:"unsupported"},stats:{row_keys:["by_type","by_status"],fields:"unsupported"},comments:{row_keys:["comments"],fields:"unsupported"},notes:{row_keys:["notes"],fields:"unsupported"},learnings:{row_keys:["learnings"],fields:"unsupported"},files:{row_keys:["files"],fields:"unsupported"},docs:{row_keys:["docs"],fields:"unsupported"},validate:{row_keys:["checks","warnings"],fields:"unsupported"},contracts:{row_keys:["command_summaries","commands"],fields:"unsupported"}},Mk=[{command:"activity",complete_mode:"full",omissions_by_mode:{digest:[{name:"event_rows",restore_with:"--raw"}],compact:[{name:"provenance",restore_with:"--full"}],provenance:[{name:"patch_and_hashes",restore_with:"--full"}]}},{command:"history",complete_mode:"full",omissions_by_mode:{compact:[{name:"raw_history",restore_with:"--full"}],provenance:[{name:"patch_and_hashes",restore_with:"--full"}]}}];function t$(e,t,n){if(e&&t)throw new g(`${n} cannot be combined with --full`,h.USAGE)}function Re(e,t=new Set){let n=e.filter(r=>!t.has(r.name)).map(r=>({...r}));return{has_omissions:n.length>0,omitted_field_group_count:n.length,omitted_field_groups:n}}function n$(e,t){let n=Mk.find(o=>o.command===e);if(n===void 0)throw new TypeError(`Unknown mode-paired output command: ${e}`);if(t===n.complete_mode)return Re([]);let r=n.omissions_by_mode[t];if(r===void 0)throw new TypeError(`Unknown ${e} output mode: ${t}`);return Re(r)}var $k=[{name:"hierarchy",restore_with:"--section hierarchy"},{name:"activity",restore_with:"--section activity"},{name:"progress",restore_with:"--section progress"},{name:"blockers",restore_with:"--section blockers"},{name:"recently_created",restore_with:"--section recently_created"},{name:"unparented",restore_with:"--section unparented"},{name:"files",restore_with:"--section files"},{name:"workload",restore_with:"--section workload"},{name:"staleness",restore_with:"--section staleness"},{name:"tests",restore_with:"--section tests"}];function se(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var jk=new Set([void 0,"tabular_when_uniform"]),Lk=new Set(["collection","none"]),Fk=new Set(["supported","unsupported"]);function hm(e,t){return Array.isArray(e)&&(t||e.length>0)&&e.every(n=>typeof n=="string"&&n.length>0)&&new Set(e).size===e.length}function zk(e){return se(e)&&typeof e.command=="string"&&e.command.trim().length>0&&Lk.has(e.row_kind)&&hm(e.row_keys,!0)&&(e.continuation_row_keys===void 0||hm(e.continuation_row_keys,!1))&&Fk.has(e.fields)&&jk.has(e.toon_encoding)&&(e.row_kind==="collection"?e.row_keys.length>0&&typeof e.jq_selector=="string"&&e.jq_selector.trim().length>0:e.row_keys.length===0&&e.jq_selector===void 0)}var Uk={ancestors:["ids"],descendants:["ids"],predecessors:["ids"],successors:["ids"],paths:["paths"],impact:["affected"],audit:["findings"],communities:["communities"],redundancy:["redundant"],dominators:["bottlenecks"],slack:["rows"],centrality:["rows"],articulation:["articulation_points","bridges"],plan:["steps"]},Hk={context:["sections_included","high_level","low_level"],get:["item"],list:["items","projection"],next:["recommended","ready","decision_needed","gate_needed","containers","blocked","held_by_others"],search:["items","projection"],activity:["activity_digest","compact_activity","provenance_activity","activity"],history:["compact_history","provenance_history","history","diff"],deps:["tree","graph","projection"],health:["checks"],aggregate:["groups"],duplicates:["clusters"],stats:["totals","by_type","by_status"],comments:["comments"],notes:["notes"],learnings:["learnings"],files:["files"],docs:["docs"],validate:["checks","warnings"],contracts:["command_summaries","commands","selected"]};function qk(e,t){let n=e.trim().toLowerCase().split(/\s+/u,1)[0],r=n?.startsWith("list-")?"list":n;if(r==="graph"){let s=typeof t.subcommand=="string"?t.subcommand:"";if(s.length===0)return;let a=Uk[s];if(a===void 0)return;let c=a.filter(d=>Array.isArray(t[d])||se(t[d]));return{command:"graph",row_kind:c.length>0?"collection":"none",row_keys:c,fields:"unsupported",...c.length>0?{jq_selector:ti}:{},toon_encoding:"tabular_when_uniform"}}let o=Pk[r],i=Hk[r];return o===void 0||i===void 0||!i.some(s=>Object.hasOwn(t,s))?void 0:(()=>{let s=o.row_keys.filter(a=>{let c=a.split(".").reduce((d,l)=>se(d)?d[l]:void 0,t);return Array.isArray(c)||se(c)});return{command:r,row_kind:s.length>0?"collection":"none",row_keys:s,fields:o.fields,...s.length>0?{jq_selector:ti}:{},toon_encoding:"tabular_when_uniform"}})()}function Vk(e){if(!se(e.projection)||typeof e.projection.mode!="string"||e.projection.mode.trim().length===0)return;let t=e.projection.declared_field_groups,n=e.projection.included_field_groups;if(!Array.isArray(t)||!Array.isArray(n))return;let r=t.filter(s=>se(s)&&typeof s.name=="string"&&s.name.trim().length>0&&typeof s.restore_with=="string"&&s.restore_with.trim().length>0),o=n.filter(s=>typeof s=="string");if(r.length!==t.length||o.length!==n.length)return;let i=new Set(r.map(s=>s.name));if(!(i.size!==r.length||new Set(o).size!==o.length||o.some(s=>!i.has(s))))return Re(r,new Set(o))}function Bk(e){if(!Array.isArray(e.sections_included))return;let t=Re($k,new Set(e.sections_included.filter(n=>typeof n=="string")));return se(e.summary)&&e.summary.scope==="matching_items"&&(t.summary_scope="matching_items"),t}function Wk(e,t,n){return e==="dependency_provenance"?!1:Object.hasOwn(t,e)||(e==="reminders"||e==="events")&&se(n.schedule)&&Object.hasOwn(n.schedule,e)||["files","tests","docs"].includes(e)&&se(n.linked)&&Array.isArray(n.linked[e])&&n.linked[e].length>0}function Gk(e){if(!se(e.item))return;let t=e.item,n=["comments","notes","learnings","files","tests","docs","reminders","events"],r=["body","children","claim_state","linked","schedule"],o=bm.get(e),i=a=>n.includes(a)||a==="body"||a==="dependency_provenance"?t:e,s=["body",...n,...r.slice(1),...o?.has("dependency_provenance")?["dependency_provenance"]:[],...o?.has("blockers")||Object.hasOwn(e,"blockers")?["blockers"]:[]].filter(a=>o===void 0||o.has(a)||Object.hasOwn(i(a),a)).map(a=>({name:a,restore_with:a==="blockers"?"--full":a==="dependency_provenance"?"--fields dependencies":`--fields ${a}`}));return Re(s,new Set(s.flatMap(({name:a})=>Wk(a,i(a),e)?[a]:[])))}function gm(e){if(se(e.projection))return Re([{name:"full_item_fields",restore_with:"--full"}],new Set(e.projection.mode==="full"?["full_item_fields"]:[]))}function Kk(e){if(!se(e.projection))return Re([]);if(typeof e.projection.mode=="string")return Re([{name:"full_check_details",restore_with:"--full"}],new Set(e.projection.mode==="full"?["full_check_details"]:[]))}function Yk(e){if(!(!se(e.selected)||typeof e.selected.summary!="boolean"))return Re([{name:"full_contract_catalog",restore_with:"--full"}],new Set(e.selected.summary?[]:["full_contract_catalog"]))}function Xk(e,t){let n=Vk(t);if(n!==void 0)return n;let[r]=e.split(/\s+/u,1);if(r==="context")return Bk(t);if(r==="get")return Gk(t);if(r==="list"||r.startsWith("list-"))return gm(t);if(r==="search")return gm(t)??Re([{name:"projection_metadata",restore_with:"--full"}]);if(r==="health")return Kk(t);if(r==="contracts")return Yk(t)}function wm(e,t){if(e===void 0||!se(t))return t;let n=Xk(e,t),r=t.row_contract,o=zk(r)?r:qk(e,t),i=o!==void 0?{...t,row_contract:o}:Object.hasOwn(t,"row_contract")?Object.fromEntries(Object.entries(t).filter(([s])=>s!=="row_contract")):t;return se(i.omission_receipt)||n===void 0?i:{...i,omission_receipt:n}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b6db58d1-5d89-56b2-adee-13e985ebc675")}catch{}})();var Jk=new Set(["applied_bound","completeness","budget_retention_policy","continuation_contract","continuation_kind","continuation_path","filters","omission_receipt","output_budget_truncation","projection","read_output","read_session","row_contract","sorting"]);function J(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function vm(e,t){let n=e;for(let r of t.split("."))if(Array.isArray(n)){if(!/^\d+$/u.test(r))return;n=n[Number(r)]}else{if(!J(n))return;n=n[r]}return n}function Za(e,t,n){let r=t.split("."),o=(i,s)=>{if(s===r.length)return n;let a=r[s];if(Array.isArray(i)){let d=Number(a),l=[...i];return l[d]=o(i[d],s+1),l}let c=i;return{...c,[a]:o(c[a],s+1)}};return o(e,0)}function Em(e,t,n){let r=hn(e).find(s=>s.path===t);if(!r)return e;let o=Array.isArray(r.value)?r.value.slice(n):Object.fromEntries(Object.entries(r.value).slice(n)),i=Za(e,t,o);return J(i.summary)&&J(i.summary.focus_row_states)&&typeof i.summary.focus_row_states[t]=="string"&&(i.summary={...i.summary,focus_row_states:{...i.summary.focus_row_states,[t]:i.summary.focus_row_states[t].slice(n)}}),gr(i),i}function ri(e){let t=e.row_contract;return J(t)&&Array.isArray(t.row_keys)?t.row_keys.filter(n=>typeof n=="string"&&n.trim().length>0):Object.entries(e).filter(([,n])=>Array.isArray(n)).map(([n])=>n)}function Zk(e){let t=e.row_contract;return J(t)&&Array.isArray(t.continuation_row_keys)?t.continuation_row_keys.filter(n=>typeof n=="string"&&n.trim().length>0):ri(e)}function tt(e){return ri(e).flatMap(t=>{let n=vm(e,t);return Array.isArray(n)||J(n)?[{path:t,value:n}]:[]})}function hn(e){return Zk(e).flatMap(t=>{let n=vm(e,t);return Array.isArray(n)||J(n)?[{path:t,value:n}]:[]})}function yr(e){let t=tt(e),n=new Set(t.map(o=>o.path)),r=(o,i)=>{if(Array.isArray(o)){n.has(i)||t.push({path:i,value:o}),o.forEach((s,a)=>r(s,`${i}.${a}`));return}if(J(o))for(let[s,a]of Object.entries(o))i.length===0&&Jk.has(s)||r(a,i.length===0?s:`${i}.${s}`)};return r(e,""),t}function oi(e){return tt(e).reduce((t,n)=>t+(Array.isArray(n.value)?n.value.length:Object.keys(n.value).length),0)}function hr(e,t){let n=e;for(let r of tt(n)){let o=Array.isArray(r.value)?r.value.map((i,s)=>t(i,r.path,s)):Object.fromEntries(Object.entries(r.value).map(([i,s],a)=>[i,t(s,r.path,a)]));n=Za(n,r.path,o)}return n}function km(e,t){let n=e,r=!1;for(let o of tt(n)){let i=Array.isArray(o.value)?o.value:Object.entries(o.value);if(i.length<=t)continue;r=!0;let s=Array.isArray(o.value)?i.slice(0,t):Object.fromEntries(i.slice(0,t));n=Za(n,o.path,s)}return{result:n,truncated:r}}var Sm=["high_level","low_level","blocked_fallback"];function ni(e){let t=e.status==="in_progress"?"i":"o";return e.blocked===!0?t.toUpperCase():t}function o$(e,t){if(!J(e.summary)||!J(e.summary.returned_focus))return;let n=new Map(t.map(r=>[r.id,r]));e.summary={...e.summary,focus_row_states:Object.fromEntries(Sm.map(r=>[r,Array.isArray(e[r])?e[r].filter(J).map(o=>ni(n.get(o.id)??o)).join(""):""]))}}function Qk(e,t){if(e!==void 0){if(typeof e!="string"||e.length!==t||!/^[iIoO]*$/u.test(e))throw new TypeError("Context focus classification receipt must contain one i/I/o/O code per delivered record");return e}}function eS(e,t,n,r){let o=Array.isArray(t[n])?t[n].filter(J):[],i=Qk(r[n],o.length)??o.map(ni).join(""),s=new Map(o.flatMap((d,l)=>d.id===void 0?[]:[[d.id,i[l]]])),a=Array.isArray(e[n])?e[n].filter(J):[],c=!1;return{states:a.map((d,l)=>{let u=s.get(d.id)??(d.id===void 0?i[l]:void 0)??ni(d);return u!==ni(d)&&(c=!0),u}).join(""),needsStates:c}}function tS(e,t){typeof e.count=="number"&&(e.count_only===!0||t.count_only===!0?typeof t.count=="number"&&(e.count=t.count):Array.isArray(e.items)&&(e.count=e.items.length))}function gr(e,t=e){if(tS(e,t),!J(e.summary)||!J(e.summary.returned_focus))return;let n={...e.summary},r=J(t.summary)&&J(t.summary.focus_row_states)?t.summary.focus_row_states:{},o=Sm.map(c=>({key:c,...eS(e,t,c,r)})),i=Object.fromEntries(o.map(({key:c,states:d})=>[c,d])),s=o.some(c=>c.needsStates),a=Object.values(i).join("");typeof n.high_level=="number"&&(n.high_level=Array.isArray(e.high_level)?e.high_level.length:0),typeof n.low_level=="number"&&(n.low_level=Array.isArray(e.low_level)?e.low_level.length:0),n.returned_focus={active_items:a.length,in_progress:[...a].filter(c=>c.toLowerCase()==="i").length,open:[...a].filter(c=>c.toLowerCase()==="o").length,blocked:[...a].filter(c=>c===c.toUpperCase()).length},s?n.focus_row_states=i:delete n.focus_row_states,e.summary=n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ea19c980-44aa-54eb-b853-d829335e520e")}catch{}})();var ii="changed_fields",nS="changed_field_count",Qa="rows",rS=new Set(["apply","rollback"]),Tm=new Set(["deleted","would_delete"]),Om=256,Am={start_task:["claim","update"],pause_task:["update","release"],close_task:["close","release"]};function oS(e,t){if(!ae(e)||typeof e.action!="string"||typeof e.id!="string"||e.id.length===0)return null;let n=Object.hasOwn(Am,e.action)?Am[e.action]:void 0;if(!n||!n.every(i=>{let s=e[i];return ae(s)&&ae(s.item)&&s.item.id===e.id&&Array.isArray(s.changed_fields)&&s.changed_fields.every(a=>typeof a=="string")}))return null;let r=e[n.at(-1)],o=xm(r);return t.idOnly?o:!t.compactEnvelope&&t.changedFields!=="compact"?null:{...e,...t.compactEnvelope?{...o,changed_field_count:new Set(n.flatMap(i=>e[i].changed_fields)).size}:{},...Object.fromEntries(n.map(i=>[i,br(e[i],t)]))}}function Im(e){return typeof e!="string"||e.length<=Om?e:`${Ee(e,Om-1)}\u2026`}function iS(e){if(!ae(e))return null;let t={...e};return t.reason=Im(t.reason),ae(t.previous_terminal)&&(t.previous_terminal=Object.fromEntries(Object.entries(t.previous_terminal).map(([n,r])=>[n,Im(r)]))),t}function ae(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Cm(e){let t=e[ii];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==ii&&(n[r]=o);return n[nS]=t.length,n}function sS(e){return"item"in e&&Array.isArray(e[ii])}function aS(e){return typeof e.mode=="string"&&rS.has(e.mode)&&Array.isArray(e[Qa])}function cS(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[Qa]=t,n}function xm(e){if(!ae(e))return null;let t=ae(e.item)?e.item:ae(e.plan)?e.plan:null;if(t===null)return null;let n=typeof t.id=="string"?t.id:void 0,r=typeof e.outcome=="string"&&Tm.has(e.outcome)?e.outcome:typeof t.status=="string"?t.status:void 0;return n?r?{id:n,status:r,...typeof e.deleted=="boolean"?{deleted:e.deleted}:{}}:{id:n}:null}function dS(e,t){if(!ae(e))return null;if(ae(e.plan)&&ae(e.mutation_receipt)&&e.mutation_receipt.kind==="plan_mutation"&&e.mutation_receipt.id===e.plan.id&&e.mutation_receipt.action===e.action)return e.mutation_receipt;if(!t||!ae(e.item)||typeof e.item.id!="string")return null;let n=e[ii];if(!Array.isArray(n))return null;let r={id:e.item.id,...typeof e.outcome=="string"&&Tm.has(e.outcome)?{status:e.outcome}:typeof e.item.status=="string"?{status:e.item.status}:{},...typeof e.deleted=="boolean"?{deleted:e.deleted}:{},...typeof e.previous_status=="string"?{previous_status:e.previous_status}:{},changed_field_count:n.length};return lS(e,e.item,r),r}function lS(e,t,n){let r=typeof e.close_reason=="string"?e.close_reason:typeof t.close_reason=="string"?t.close_reason:void 0;r!==void 0&&(n.close_reason=r);let o=iS(e.recurrence);o!==null&&(n.recurrence=o),Array.isArray(e.warnings)&&e.warnings.length>0&&(n.warnings=e.warnings);for(let i of["recovery","follow_up","handoff","completion","start"])ae(e[i])&&(n[i]=e[i]);if(typeof e.claimed_by=="string"||typeof e.released_by=="string")for(let i of["claimed_by","released_by","previous_assignee","forced","skipped","available","attempts","suggestions"])Object.hasOwn(e,i)&&(n[i]=e[i])}function uS(e){let t=aS(e)?e[Qa]:void 0;if(!Array.isArray(t))return{projected:e,changed:!1};let n=!1,r=t.map(o=>{if(!ae(o))return o;let i=Cm(o);return i?(n=!0,i):o});return n?{projected:cS(e,r),changed:!0}:{projected:e,changed:!1}}function br(e,t={}){let n=oS(e,t);if(n!==null)return n;if(t.idOnly===!0){let a=xm(e);if(a!==null)return a}if(t.compactEnvelope===!0||t.changedFields==="compact"){let a=dS(e,t.compactEnvelope===!0);if(a!==null)return a}if((t.changedFields??"full")==="full"||!ae(e))return e;let r=!1,o=e,i=sS(e)?Cm(e):null;i!==null&&(o=i,r=!0);let s=uS(o);return s.changed&&(o=s.projected,r=!0),r?o:e}import{AsyncLocalStorage as FO}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1b67272d-8924-5b1b-97cd-74a6a10493be")}catch{}})();function ec(e){let t=e.trim().toLowerCase().startsWith("extension:"),n=e.trim().toLowerCase().replace(/^extension:/u,"");if(en(n))return;let r=Mu()?.commands??[],o=[...r].reverse().find(s=>s.command===n)?.command??(t?void 0:r.find(s=>s.action===n)?.command),i=[...r].reverse().find(s=>s.command===o);return i===void 0||en(i.command)||en(i.action)?void 0:i}function fS(e){let t=ec(e);return t?.read_output===void 0?void 0:t}function Rm(e,t){let n=fS(e),r=n?.read_output;if(r===void 0)return t;if(typeof t!="object"||t===null||Array.isArray(t))throw new g("Read-only extension commands must return a structured object.",h.USAGE,{code:"extension_read_output_invalid"});for(let o of r.row_keys){let i=t;for(let s of o.split("."))i=typeof i=="object"&&i!==null&&Object.hasOwn(i,s)?Reflect.get(i,s):void 0;if(i===null||typeof i!="object")throw new g(`Read-only extension result is missing declared row collection ${o}.`,h.USAGE,{code:"extension_read_output_invalid"})}return{...t,row_contract:{command:`extension:${n.command}`,row_kind:r.row_keys.length>0?"collection":"none",row_keys:[...r.row_keys],fields:"supported",...r.row_keys.length>0?{jq_selector:ti}:{},toon_encoding:"tabular_when_uniform"}}}import{createHash as vO}from"node:crypto";import{createHash as yO}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]="03289358-031e-50aa-b94b-644697c4afc7")}catch{}})();var tc={list:{include:["--brief","--compact","--fields","--full"],amount:["--after","--limit","--no-truncate"],cost:["--token-budget"],encoding:["--format","--stream"]},context:{include:["--fields","--section"],amount:["--after","--depth","--limit"],cost:["--token-budget"],encoding:["--format"]},search:{include:["--compact","--fields","--full"],amount:["--after","--limit"],cost:["--token-budget"],encoding:["--format"]},get:{include:["--fields","--full"],amount:["--depth"],cost:["--token-budget"],encoding:["--format"]},next:{amount:["--blocked-limit","--limit"],encoding:["--format"]},health:{include:["--brief","--check-only","--full","--summary"]},deps:{include:["--collapse","--full","--summary"],amount:["--edge-limit","--max-depth","--node-limit"],cost:["--token-budget"],encoding:["--format"]},graph:{include:["--full","--summary"],amount:["--after","--limit","--max-depth","--max-paths"]},history:{include:["--compact","--full"],amount:["--limit"],encoding:["--format"]},activity:{include:["--compact","--full"],amount:["--limit","--unbounded","--after"],encoding:["--stream"]},validate:{include:["--counts","--full"]},events:{include:["--full"],amount:["--limit"],encoding:["--follow"]},contracts:{include:["--full","--summary"]},comments:{amount:["--limit"]},notes:{amount:["--limit"]},files:{amount:["--limit","--no-truncate","--offset"]},docs:{},stats:{},aggregate:{},duplicates:{amount:["--limit"]},"package-catalog":{},"package-manage":{},"comments-audit":{},assurance:{}},nc=new Set(["--collapse","--fields","--section"]),si=Object.freeze({"--after":"--after retains cursor-position semantics; use --output-limit <n> separately to bound returned rows.","--check-only":"--check-only retains health side-effect semantics; --output-include does not suppress vector refresh.","--collapse":"--collapse retains dependency grouping semantics; --output-include does not replace it.","--depth":"--depth retains traversal or detail-depth semantics; --output-limit does not replace it.","--follow":"--follow retains event-tail semantics; --output-format does not enable following.","--max-depth":"--max-depth retains graph traversal-depth semantics; --output-limit does not replace it.","--max-paths":"--max-paths retains graph path-search semantics; use --output-limit separately to bound returned rows.","--no-truncate":"--no-truncate is a compatibility alias; prefer --output-limit unbounded --output-budget unbounded.","--offset":"--offset retains positional pagination semantics; use --output-limit separately to bound returned rows.","--stream":"--stream retains command streaming semantics; --output-format selects only static result encoding.","--unbounded":"--unbounded is a compatibility alias; prefer --output-limit unbounded."});function ai(e){return e.slice(2).replaceAll("-","_")}function Nm(e,t={}){let n=e==="package catalog"||e==="packages catalog"||e==="package-catalog"||(e==="package"||e==="packages"||e==="extension")&&(t.catalog===!0||t.target==="catalog"||t.action==="catalog")?"package-catalog":e==="package manage"||e==="package-manage"?"package-manage":e.split(" ")[0],r=n.startsWith("list-")?"list":n==="ctx"?"context":n;return ht.includes(r)?r:void 0}function rc(e){return new Map((tc[e]?.include??[]).filter(t=>!nc.has(t)&&si[t]===void 0).map(t=>[ai(t),oc(t)]))}function oc(e){return e.slice(2).replace(/-([a-z])/gu,(t,n)=>n.toUpperCase())}import{stripVTControlCharacters as mS}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="493a0675-0114-5b93-b3b4-5bd895ac691f")}catch{}})();var pS=["full","compact","brief","summary","counts"],w$=["mutation","read","discovery","governance"],Pm=["error","warning","validation_summary","recovery_bundle"],_S=["full","omit_explanation","limit_collections","compact_recovery","action_only"],yS=new Set(["append","claim","close","close-many","close-task","comments","config","copy","create","delete","docs","event","files","focus","history-author-acknowledge","history-compact","history-redact","history-repair","init","item","learnings","meet","notes","pause-task","release","remind","restore","schema","start-task","update","update-many"]),hS=new Set(["contracts","extension","help","install","package","packages","profile","upgrade"]),gS=new Set(["gc","health","merge","stats","telemetry","test","test-all","validate"]),bS={mutation:2e3,read:4e3,discovery:3e3,governance:6e3},wS=3,vS=2,ES=192,kS={error:{text:768,json:2e3},warning:{text:768,json:2e3},validation_summary:{text:1500,json:3e3},recovery_bundle:{text:768,json:2e3}},SS=Pm.map(e=>({diagnostic_class:e,default_max_estimated_tokens_by_format:kS[e],minimum_max_estimated_tokens:ES,degradation_ladder:_S,corrective_action_paths:["required","recovery.suggested_retry","recovery.suggested_retry_args","recovery.next_best_command","next_steps[0]"],token_estimate:"ceil(utf8_bytes / 4)"})),OS=new Map(SS.map(e=>[e.diagnostic_class,e]));function AS(e){let[t=""]=$n(e).split(/\s+/u);return yS.has(t)?"mutation":hS.has(t)?"discovery":gS.has(t)?"governance":"read"}function Mm(e,t=AS(e)){let n=e.trim().replace(/\s+/gu," ");if(n.length===0)throw new TypeError("command must be a non-empty command path");let r=bS[t];return IS({command:n,budget_class:t,default_max_estimated_tokens:r,default_max_estimated_tokens_by_format:{toon:r,json:Math.ceil(r*wS/vS)},degradation_ladder:pS,allows_unbounded_opt_out:!0,token_estimate:"ceil(utf8_bytes / 4)"})}function IS(e){if(!Number.isSafeInteger(e.default_max_estimated_tokens)||e.default_max_estimated_tokens<=0)throw new RangeError("default_max_estimated_tokens must be a positive safe integer");for(let[t,n]of Object.entries(e.default_max_estimated_tokens_by_format))if(!Number.isSafeInteger(n)||n<=0)throw new RangeError(`default_max_estimated_tokens_by_format.${t} must be a positive safe integer`);return e}var TS=Gr.map(e=>Mm(e)),CS=new Map(TS.map(e=>[e.command,e]));function $m(e,t={}){let n=e.trim().replace(/\s+/gu," "),[r]=$n(n).split(" "),o=CS.get(r);return o?{...o,command:n}:t.generateFallback?Mm(n):null}function Nt(e){return Math.ceil(Math.max(0,e)/4)}function jm(e){let t=OS.get(e);if(t===void 0)throw new TypeError(`diagnosticClass must be one of: ${Pm.join(", ")}`);return t}function nt(e){return Nt(Buffer.byteLength(JSON.stringify(e,null,2),"utf8"))}function xS(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ic(e){if(!xS(e))return;let t={};for(let n of["suggested_retry","suggested_retry_args","next_best_command","allowed_values","candidate_commands","missing","missing_required_fields","option_scope","retry_after_ms","waited_ms","owner_handoffs"]){let r=e[n];Array.isArray(r)?t[n]=n==="suggested_retry_args"?r:r.slice(0,3):r!==void 0&&(t[n]=r)}return Object.keys(t).length>0?t:void 0}function RS(e,t){return typeof e!="string"||e.length<=t?e:`${Ee(e,Math.max(1,t-3))}...`}function Rt(e,t){if(Buffer.byteLength(e,"utf8")<=t)return e;let n="...",r=Array.from(e),o=0,i=r.length;for(;o<i;){let s=Math.ceil((o+i)/2),a=`${r.slice(0,s).join("")}${n}`;Buffer.byteLength(a,"utf8")<=t?o=s:i=s-1}return`${r.slice(0,o).join("")}${n}`}function Lm(e){let t={};for(let n of["code","required","recovery","next_steps","exit_code","type","title","detail","why","examples"])Object.hasOwn(e,n)&&e[n]!==void 0&&(t[n]=e[n]);for(let[n,r]of Object.entries(e))n!=="__proto__"&&!Object.hasOwn(t,n)&&(t[n]=r);return t}var NS=new Set(["limit_collections","compact_recovery","action_only"]),DS=new Set(["compact_recovery","action_only"]);function PS(e){let t={code:typeof e.code=="string"?e.code:"diagnostic",required:RS(e.required,160)??"Inspect the diagnostic code and retry with corrected input."},n=ic(e.recovery);return n!==void 0?t.recovery=n:Array.isArray(e.next_steps)&&(t.next_steps=e.next_steps.slice(0,1)),e.exit_code!==void 0&&(t.exit_code=e.exit_code),e.type!==void 0&&(t.type=e.type),t}function MS(e,t){let n=structuredClone(e);if(t!=="full"&&(delete n.why,delete n.examples),NS.has(t))for(let[r,o]of Object.entries(n))Array.isArray(o)&&(n[r]=o.slice(0,3));if(DS.has(t)){let r=ic(n.recovery);r?n.recovery=r:delete n.recovery}return t!=="action_only"?Lm(n):PS(n)}function gn(e,t){let n={...e,diagnostic_output:{...t,estimated_tokens:0}};for(let r=0;r<4;r+=1){let o=nt(n),i=n.diagnostic_output;if(i.estimated_tokens===o)break;i.estimated_tokens=o}return n}function $S(e,t,n){let r=gn(e,t);for(let i of["recovery","exit_code"])nt(r)<=n||e[i]===void 0||(delete e[i],r=gn(e,t));let o=40;for(;nt(r)>n&&o>4;)o-=4,e.code=Rt(String(e.code),o),e.required=Rt(String(e.required),o),r=gn(e,t);return r}function jS(e,t){let n=e.diagnostic_output,{estimated_tokens:r,...o}=n,i=o.omitted_fields.slice(0,8).map(u=>Rt(u,32)),s={...o,omitted_fields:i,...o.omitted_fields.length>i.length?{omitted_fields_overflow_count:o.omitted_fields.length-i.length}:{}},a=ic(e.recovery),c=a&&nt(a)<=48?a:void 0,d={code:Rt(String(e.code),320),required:Rt(String(e.required),320),...c?{recovery:c}:{},...e.exit_code!==void 0?{exit_code:e.exit_code}:{}},l=gn(d,s);for(;nt(l)>t&&s.omitted_fields.length>0;)s.omitted_fields.pop(),s.omitted_fields_overflow_count=o.omitted_fields.length-s.omitted_fields.length,l=gn(d,s);return l=$S(d,s,t),l}function v$(e,t={}){let n=e,r=t.diagnosticClass??"error",o=jm(r),i=t.maxEstimatedTokens;if(i!==void 0&&(!Number.isSafeInteger(i)||i<o.minimum_max_estimated_tokens))throw new RangeError(`maxEstimatedTokens must be a safe integer >= ${o.minimum_max_estimated_tokens}`);let s=i??o.default_max_estimated_tokens_by_format.json,a=nt(n),c=Object.keys(n);if(a<=s)return Lm(structuredClone(n));let d;for(let[l,u]of o.degradation_ladder.entries()){let f=MS(n,u),m=c.filter(y=>!Object.hasOwn(f,y)),_=gn(f,{diagnostic_class:r,format:"json",budget:s,budget_source:i===void 0?"default":"explicit",original_estimated_tokens:a,truncated:l>0,degradation_steps:o.degradation_ladder.slice(0,l+1),omitted_fields:m});if(d=_,nt(_)<=s)break}return nt(d)>s&&(d=jS(d,s)),d}function Dm(e){return mS(e).replace(/\r\n/gu,`
|
|
18
|
+
`).replace(/[^\P{Cc}\n]/gu," ")}function E$(e,t,n={}){let r=n.diagnosticClass??"error",o=jm(r),i=n.maxEstimatedTokens;if(i!==void 0&&(!Number.isSafeInteger(i)||i<o.minimum_max_estimated_tokens))throw new RangeError(`maxEstimatedTokens must be a safe integer >= ${o.minimum_max_estimated_tokens}`);let s=i??o.default_max_estimated_tokens_by_format.text,a=Dm(e),c=Nt(Buffer.byteLength(a,"utf8")),d=c>s,l=`What is required:
|
|
19
|
+
`,u=`
|
|
20
|
+
|
|
21
|
+
${Rt(a.trimStart().split(/\r?\n/u,1)[0].trim(),320)}
|
|
22
|
+
|
|
23
|
+
Diagnostic output exceeded its declared ${s}-token ceiling; rerun with structured JSON for the bounded recovery envelope.`,f=Dm(t).trim()||"Inspect the diagnostic code and retry with corrected input.",m=Math.max(1,s*4-Buffer.byteLength(`${l}${u}`,"utf8")),_=d?`${l}${Rt(f,m)}${u}`:a;return{output:_,diagnostic_output:{diagnostic_class:r,format:"text",budget:s,budget_source:i===void 0?"default":"explicit",original_estimated_tokens:c,estimated_tokens:Nt(Buffer.byteLength(_,"utf8")),truncated:d,degradation_steps:d?[...o.degradation_ladder]:["full"],omitted_fields:d?["explanation","collections"]:[]}}}var sc=Object.freeze({required:"Adjust command input or tracker state and retry.",why:Object.freeze(["pm enforces explicit, deterministic contracts for data and command semantics.","Commander validates CLI contracts before execution.","Unexpected runtime failures can occur from environment or extension-level issues.","Validation protects data consistency and deterministic behavior across commands.","Required options define command intent and enforce deterministic write contracts."]),examples:Object.freeze(["pm --help","pm <command> --help"])});function k$(e){return e?.trim()===sc.required}function S$(e){let t=e?.trim();return t!==void 0&&sc.why.includes(t)}function O$(e){return(e??[]).filter(t=>!sc.examples.includes(t.trim()))}var A$=Object.freeze(["attempted_command","normalized_args","provided_fields"]);function I$(e){if(!e)return;let{attempted_command:t,normalized_args:n,provided_fields:r,...o}=e;return Object.values(o).some(i=>i!==void 0)?o:void 0}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="24a8de41-54f9-5b59-8e58-7ac924ba6e08")}catch{}})();function D$(e){return typeof e=="object"&&e!==null&&"id"in e&&typeof e.id=="string"&&"context_ref"in e&&typeof e.context_ref=="string"&&e.context_ref.startsWith("session:")&&e.context_ref.endsWith(`:${e.id}`)}var ac=256,cc=1e4,LS=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$/u,Fm=/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/u,FS=new Set(["version","id","token_budget","spent_tokens","seen_item_ids"]),zS=[{valid:e=>e.version===1,reason:"version must equal 1."},{valid:e=>typeof e.id=="string"&&LS.test(e.id),reason:"id must be 1-64 portable identifier characters."},{valid:e=>Number.isSafeInteger(e.token_budget)&&e.token_budget>=ac,reason:`token_budget must be a safe integer of at least ${ac}.`},{valid:e=>Number.isSafeInteger(e.spent_tokens)&&e.spent_tokens>=0&&e.spent_tokens<=e.token_budget,reason:"spent_tokens must be a non-negative safe integer no larger than token_budget."},{valid:e=>Array.isArray(e.seen_item_ids)&&e.seen_item_ids.length<=cc&&e.seen_item_ids.every(t=>typeof t=="string"&&Fm.test(t)),reason:`seen_item_ids must contain at most ${cc} portable item identifiers.`}];function di(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function ci(e){throw new g(`--output-session ${e}`,h.USAGE,{code:"invalid_read_output_session",field:"outputSession"})}function li(e){if(e===void 0)return;let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch{ci("must be a valid JSON object.")}di(t)||ci("must be a JSON object.");let n=Object.keys(t).filter(i=>!FS.has(i));n.length>0&&ci(`contains unknown field "${n.sort()[0]}".`);let r=zS.find(i=>!i.valid(t));r!==void 0&&ci(r.reason);let o=[...new Set(t.seen_item_ids)].sort();return{version:1,id:t.id,token_budget:t.token_budget,spent_tokens:t.spent_tokens,seen_item_ids:o}}function zm(e){if(di(e))return typeof e.id=="string"?e.id:typeof e.item_id=="string"?e.item_id:di(e.item)&&typeof e.item.id=="string"?e.item.id:void 0}function US(e){let t=new Set,n=0,r=tt(e),o=new Set(r.map(({path:s})=>s)),i=Object.entries(e).flatMap(([s,a])=>Array.isArray(a)&&!o.has(s)?[{path:s,value:a}]:[]);for(let s of[...r,...i]){let a=Array.isArray(s.value)?s.value:Object.values(s.value);for(let c of a){if(!di(c))continue;if(typeof c.context_ref=="string"){n+=1;continue}let d=zm(c);d!==void 0&&Fm.test(d)&&t.add(d)}}return{deliveredIds:t,suppressedRepeatCount:n}}function Um(e,t){let n=new Set(t.seen_item_ids);return hr(e,r=>{let o=zm(r);return o!==void 0&&n.has(o)?{id:o,context_ref:`session:${t.id}:${o}`}:r})}function dc(e,t,n){let{deliveredIds:r,suppressedRepeatCount:o}=US(e),i=new Set(t.seen_item_ids),s=[...r].filter(y=>!i.has(y)).sort(),a=s.slice(0,cc-t.seen_item_ids.length),c=[...t.seen_item_ids,...a].sort(),d=s.length-a.length,l={contract_version:1,id:t.id,measurement_scope:"complete_read_envelope",estimator:"ceil(utf8_bytes / 4)",token_budget:t.token_budget,spent_before_tokens:t.spent_tokens,spent_this_call_tokens:0,charged_this_call_tokens:0,spent_total_tokens:t.spent_tokens,remaining_tokens:t.token_budget-t.spent_tokens,exhausted:!1,seen_before_count:t.seen_item_ids.length,new_item_count:r.size,...d===0?{}:{seen_item_overflow_count:d},suppressed_repeat_count:o,reference_format:"session:<session-id>:<item-id>",restore_reference_with:"pm get <item-id> --depth brief",next_state:{version:1,id:t.id,token_budget:t.token_budget,spent_tokens:t.spent_tokens,seen_item_ids:c}},u={...e,read_session:l},f=y=>{l.spent_this_call_tokens=y,l.charged_this_call_tokens=Math.min(t.token_budget-t.spent_tokens,y),l.spent_total_tokens=Math.min(t.token_budget,t.spent_tokens+l.charged_this_call_tokens),l.remaining_tokens=Math.max(0,t.token_budget-l.spent_total_tokens),l.exhausted=l.remaining_tokens<ac,l.next_state.spent_tokens=l.spent_total_tokens},m=0,_=0;for(let y=0;y<8;y+=1){f(m);let w=wr(u,n);if(w===m)return u;_=Math.max(_,w),m=w}return f(_),u}function Hm(e){return Math.max(0,e.token_budget-e.spent_tokens)}(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]="1cc0fcb7-2aaa-5233-bdfd-4b4d0fb3e9c1")}catch{}})();var vr=Symbol.for("pm.readOutputInvocationProvenance");function M$(e,t){return Reflect.set(e,vr,{canonical_include_modes:[...t],explicit_legacy_aliases:[],sdk_invocation_observed:!0}),e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="dd173d3c-f3da-53f3-b24c-118364961db7")}catch{}})();var Dt=["include","amount","cost","encoding"],Xm=["canonical","legacy","intent","default"],kr=po,Q$=Object.freeze(Dt.map(e=>kr[e])),ej=_o;function HS(e,t){let n=si[e];if(n!==void 0)return n;let r=t==="include"?nc.has(e)?"<csv>":ai(e):t==="amount"?"<n>":t==="cost"?"<tokens>":"<toon|json>";return`${e} is a compatibility alias; prefer ${kr[t]} ${r}.`}function Jm(e){let t=tc[e]??{},n=Object.freeze(Object.fromEntries(Dt.map(r=>[r,Object.freeze({dimension:r,canonical_option:kr[r],applicable:!0,inapplicable_reason:null,legacy_aliases:Object.freeze((t[r]??[]).map(o=>Object.freeze({flag:o,semantics:si[o]===void 0?"replacement":"behavior_preserving",migration_hint:HS(o,r),visibility:"hidden_alias"})))})])));return Object.freeze({command:e,dimensions:n,precedence:Xm,budget_retention_policy:e==="assurance"?"verdict_priority":"ordered_prefix",projection_modes:Object.freeze([...rc(e).keys()])})}var qS=Object.freeze(ht.map(Jm)),VS=new Map(qS.map(e=>[e.command,e]));function vn(e,t={}){let n=$n(e.trim().toLowerCase()),r=ec(n);return r!==void 0?r.read_output===void 0?void 0:`extension:${r.command}`:Nm(n,t)}var BS=["outputInclude","output_include","outputLimit","output_limit","outputBudget","output_budget","outputFormat","output_format","outputSession","output_session","outputCursor","output_cursor","outputRowContract","output_row_contract"],WS={comments:["add","body","stdin","file","edit","delete"],notes:["add","addJson","stdin","file","edit","delete"],files:["add","addGlob","remove","migrate","apply","note"],docs:["add","addGlob","remove","migrate","note"],"package-catalog":["activate","adopt","adoptAll","deactivate","doctor","init","install","manage","migrate","reload","scaffold","uninstall"]};function GS(e){return BS.some(t=>t!=="outputFormat"&&t!=="output_format"&&e[t]!==void 0)}var KS=[{keys:["outputInclude","output_include"],valid:e=>Er(e)!==void 0,message:"--output-include requires at least one comma-separated field or section."},{keys:["outputLimit","output_limit"],valid:e=>e==="unbounded"||wn(e)!==void 0,message:"--output-limit must be a positive integer or unbounded."},{keys:["outputBudget","output_budget"],valid:e=>e==="unbounded"||wn(e)!==void 0,message:"--output-budget must be a positive integer or unbounded."},{keys:["outputSession","output_session"],valid:e=>(li(e),!0),message:"--output-session must be a valid session-state object."},{keys:["outputCursor","output_cursor"],valid:e=>typeof e=="string"&&e.trim().length>0,message:"--output-cursor requires a non-empty continuation cursor."}];function tj(e,t){let n=t.outputFormat??t.output_format;if(n!==void 0&&n!=="json"&&n!=="toon")throw new g("--output-format must be toon or json.",h.USAGE);if(!GS(t))return;let r=vn(e,t);if(!r)throw new g(`Universal output controls apply only to read commands; ${e||"this command"} is not a read surface.`,h.USAGE);if((WS[r]??[]).some(o=>t[o]!==void 0&&t[o]!==!1))throw new g(`Universal output controls cannot be combined with a ${r} mutation.`,h.USAGE);for(let o of KS){let i=o.keys.map(s=>t[s]).find(s=>s!==void 0);if(i!==void 0&&!o.valid(i))throw new g(o.message,h.USAGE)}}function Zm(e){let t=vn(e);return t?rc(t):new Map}function YS(e,t,n){let r=Er(t)??[],o=Zm(e),i=[],s=[],a=n,c=a[vr],d=new Set(c?.canonical_include_modes??[]),l=new Set(c?.explicit_legacy_aliases??[]);for(let m of r){let _=o.get(m);if(_===void 0){i.push(m);continue}let y=`--${m.replaceAll("_","-")}`;fc(uc(n,y))&&l.add(y),n[_]=!0,s.push(m),d.add(m)}let u=vn(e)==="get"?i.filter(m=>m!=="item"):[],f=u.length>0;return f&&(n.fields=[...new Set([...Er(n.fields)??[],...u])].join(","),d.add("fields")),(s.length>0||f)&&(a[vr]={canonical_include_modes:[...d],explicit_legacy_aliases:[...l],...c?.cli_invocation_observed===!0?{cli_invocation_observed:!0}:{}}),{selectors:i,modes:s}}function nj(e,t){let n=t.outputInclude??t.output_include;if(n===void 0)return;let{selectors:r,modes:o}=YS(e,n,t);if(o.length===0)return;let i=r.length>0?r.join(","):void 0;t.outputInclude=i,Object.hasOwn(t,"output_include")&&(t.output_include=i)}function uc(e,t){let n=oc(t);if(Object.hasOwn(e,n))return e[n];let r=t.slice(2).replaceAll("-","_");if(Object.hasOwn(e,r))return e[r];if(t==="--no-truncate"&&e.truncate===!1)return!0}function fc(e){return e!==void 0&&e!==!1&&e!==null}function Er(e){let t=(Array.isArray(e)?e:[e]).flatMap(n=>typeof n=="string"?n.split(","):[]).map(n=>n.trim()).filter(Boolean);return t.length>0?[...new Set(t)]:void 0}function wn(e){let t=typeof e=="number"?e:typeof e=="string"&&/^\d+$/u.test(e.trim())?Number(e):Number.NaN;return Number.isSafeInteger(t)&&t>0?t:void 0}function XS(e,t,n,r){for(let o of e.legacy_aliases){if(r(o.flag))continue;let i=uc(t,o.flag),s={value:i,flag:o.flag};if(fc(i)&&n(s))return s}}function qm(e,t){let n=Er(e);if(n)return{source:"canonical",value:n};if(t)return{source:"legacy",value:Er(t.value)??[ai(t.flag)]}}function Vm(e,t){if(e==="unbounded")return{source:"canonical",value:"unbounded"};let n=wn(e);if(n!==void 0)return{source:"canonical",value:n};if(!t)return;if(t.flag==="--no-truncate"||t.flag==="--unbounded")return{source:"legacy",value:"unbounded"};let r=wn(t.value);return r===void 0?void 0:{source:"legacy",value:r}}function Bm(e,t){if(e==="unbounded")return{source:"canonical",value:"unbounded"};let n=wn(e);if(n!==void 0)return{source:"canonical",value:n};if(!t)return;let r=wn(t.value);return r===void 0?void 0:{source:"legacy",value:r}}function Wm(e,t){if(e==="json"||e==="toon")return{source:"canonical",value:e};if(t)return t.flag==="--stream"||t.flag==="--follow"?{source:"legacy",value:"stream"}:t.value==="json"||t.value==="toon"?{source:"legacy",value:t.value}:void 0}function Qm(e,t,n){if(!e)return!1;let r=new Set(e.explicit_legacy_aliases);if(e.cli_invocation_observed===!0||e.sdk_invocation_observed===!0)return!r.has(n);let o=new Set(e.canonical_include_modes.map(i=>`--${i.replaceAll("_","-")}`));return t==="include"&&o.has(n)&&!r.has(n)}function JS(e,t,n,r){return e.trim().toLowerCase().replaceAll(/\s+/gu," ").split(" ")[0]==="list-all"||fc(uc(r,"--no-truncate"))&&!Qm(n,"amount","--no-truncate")||t.amount?.flag==="--no-truncate"||t.include?.flag==="--full"||n?.canonical_include_modes.includes("full")===!0}function ZS(e,t){return Dt.flatMap(n=>e[n]?.source==="canonical"||n==="include"&&(t?.canonical_include_modes.length??0)>0?[kr[n]]:[])}function ep(e,t){let n=vn(e,t);if(!n)return;let r=VS.get(n)??Jm(n),o=t[vr],i={include:v=>qm(void 0,v),amount:v=>Vm(void 0,v),cost:v=>Bm(void 0,v),encoding:v=>Wm(void 0,v)},s=Object.fromEntries(Dt.map(v=>[v,XS(r.dimensions[v],t,T=>i[v](T)!==void 0,T=>Qm(o,v,T))])),a=Dt.flatMap(v=>{let T=s[v];return T?[T.flag]:[]}),c=Dt.flatMap(v=>{let T=s[v];return T?[r.dimensions[v].legacy_aliases.find(H=>H.flag===T.flag).migration_hint]:[]}),d=Wm(t.outputFormat??t.output_format,s.encoding),l=qm(t.outputInclude??t.output_include,s.include),u=Vm(t.outputLimit??t.output_limit,s.amount),f=Bm(t.outputBudget??t.output_budget,s.cost),m=JS(e,s,o,t),_=$m(e,{generateFallback:!0}),y=d?.value==="json"||t.resolvedOutputFormat==="json"?"json":"toon",w=f??(m?{source:"intent",value:"unbounded"}:{source:"default",value:_.default_max_estimated_tokens_by_format[y]});return{command:n,include:l,amount:u,cost:w,encoding:d,canonical_options_used:ZS({include:l,amount:u,cost:w,encoding:d},o),legacy_aliases_used:a,migration_hints:c,precedence:Xm}}function Z(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}var mc=new Set(["applied_bound","applied_limit","completeness","continuation_kind","continuation_path","continuation_contract","count","filters","has_more","next_cursor","now","omission_receipt","projection","budget_retention_policy","row_contract","sorting","total","truncated"]),QS=["collection_counts","notes_count","tests_count"];function tp(e,t){let n=new Set(t.map(r=>r.split(".")[0]));return Object.fromEntries(Object.entries(e).filter(([r])=>n.has(r)))}function eO(e){let t=Z(e.item)?e.item:{},n=[...new Set([...Object.keys(t),...QS.filter(o=>Object.hasOwn(t,o))])].sort((o,i)=>o.localeCompare(i)),r=Object.keys(e).filter(o=>o!=="item"&&o!=="read_output"&&!mc.has(o)).sort((o,i)=>o.localeCompare(i));return{item:t,itemFields:n,sections:r,valid:[...n,"item",...n.map(o=>`item.${o}`),...r]}}function tO(e,t){let n=eO(e),r=t.filter(l=>!n.valid.includes(l));if(r.length>0)throw new g(`Unknown --output-include selector(s) for get: ${r.join(", ")}. Valid selectors: ${n.valid.join(", ")}.`,h.USAGE);let o=t.includes("item"),i=t.flatMap(l=>l.startsWith("item.")?[l.slice(5)]:n.itemFields.includes(l)?[l]:[]).filter((l,u,f)=>f.indexOf(l)===u);if(o&&i.length>0)throw new g("--output-include cannot mix a full item with projected item fields; use item or item.<field>, not both.",h.USAGE);let s=new Set(t.filter(l=>n.sections.includes(l))),a=Object.fromEntries(Object.entries(e).filter(([l])=>mc.has(l)||s.has(l)));o?a.item=n.item:i.length>0&&(a.item=tp(n.item,i));let c=[...o?[]:i.length>0?n.itemFields.filter(l=>!i.includes(l)).map(l=>({name:`item.${l}`,restore_with:`--output-include item.${l}`})):[{name:"item",restore_with:"--output-include item"}],...n.sections.filter(l=>!s.has(l)).map(l=>({name:l,restore_with:`--output-include ${l}`}))],d=[...Z(a.omission_receipt)&&Array.isArray(a.omission_receipt.omitted_field_groups)?a.omission_receipt.omitted_field_groups:[],...c];return a.omission_receipt={has_omissions:d.length>0,omitted_field_group_count:d.length,omitted_field_groups:d},a}function Gm(e){let t=0;return hr({...e},n=>(Z(n)&&Object.keys(n).length>0&&(t+=1),n)),t}function nO(e,t,n,r){if(Gm(t)===0||Gm(n)>0)return;let o=[...Zm(e).keys()],i=o.length>0?` Declared ${e} projection modes: ${o.join(", ")}.`:` The ${e} surface declares no projection modes; name row fields instead.`;throw new g(`Unknown --output-include selector(s) for ${e}: ${r.join(", ")}. No selector matched any returned row field.${i}`,h.USAGE)}function rO(e,t,n){if(e==="get")return tO(t,n);let r=ri(t),o=n.flatMap(s=>r.flatMap(a=>s.startsWith(`${a}.`)?[s.slice(a.length+1)]:[])),i=n.some(s=>Object.hasOwn(t,s.split(".")[0])&&!r.some(a=>s.startsWith(`${a}.`)));if(r.length>0&&(!i||o.length>0)){let s={...t},a=o.length>0?o:n,c=hr(s,d=>Z(d)?tp(d,a):d);return nO(e,t,c,a),c}return Object.fromEntries(Object.entries(t).filter(([s])=>n.some(a=>a.split(".")[0]===s)||mc.has(s)))}function oO(e,t){if(t==="unbounded")return e;let{result:n,truncated:r}=km(e,t);if(!r)return n;if(n.has_more=!0,n.truncated=!0,typeof n.count=="number"){let o=Z(n.projection)?n.projection.row_key:void 0;n.count=typeof o=="string"&&Array.isArray(n[o])?n[o].length:oi(n)}return n.applied_bound={kind:"output_limit",source:"explicit",value:t},n}function iO(e){return Dt.filter(t=>e[t]!==void 0&&e[t]?.source!=="default"||e.canonical_options_used.includes(kr[t]))}function np(e){let t=e.resolvedOutputFormat??e.outputFormat??e.output_format??e.format;return t==="json"||t==="toon"?t:void 0}function ui(e,t,n,r){let o=dc(e,t,r);bn(e,o);for(let i=0;i<8;i+=1){let s=n.estimated_tokens,a=o.read_session.spent_this_call_tokens;rt(o,n,r);let c=o;o=dc(o,t,r),bn(c,o);let d=o.read_session.spent_this_call_tokens;if(n.estimated_tokens===s&&d===a)return o}return o}function pc(e,t){if(!Z(e.read_output))return e;let n=np(t),r=e.read_output,o=li(t.outputSession??t.output_session);return o===void 0?(rt(e,r,n),e):ui(e,o,r,n)}function sO(e,t){if(e!=="validate")return t;let n=Z(t.projection)?t.projection:void 0;if(!(Array.isArray(n?.declared_field_groups)?n.declared_field_groups:[]).some(l=>Z(l)&&l.name==="diagnostic_rows"))return t;let r=[...new Set(yr(t).map(({path:l})=>l).filter(l=>/^checks\.\d+\.details\./u.test(l)))],o=r.filter(l=>!r.some(u=>u!==l&&l.startsWith(`${u}.`)));if(o.length===0)return t;let i=Z(t.row_contract)?t.row_contract:{},s=Array.isArray(i.row_keys)?i.row_keys.filter(l=>typeof l=="string"):[],a=Array.isArray(i.continuation_row_keys)?i.continuation_row_keys.filter(l=>typeof l=="string"):[],c=s.length>0?s:o,d=[...new Set(o)];return JSON.stringify(c)===JSON.stringify(s)&&JSON.stringify(d)===JSON.stringify(a)?t:{...t,row_contract:{...i,row_keys:c,continuation_row_keys:d,jq_selector:typeof i.jq_selector=="string"?i.jq_selector:".checks[].details"}}}function aO(e,t,n,r,o){let i={...e};if(t.include?.source==="canonical"&&(i=rO(t.command,i,t.include.value)),t.command==="assurance"&&(i=up(i)),gr(i,e),i=fp(i,t.command,r),t.command==="history"&&r){let c=["compact_history","provenance_history","history","diff"];if(i=Object.fromEntries(Object.entries(i).filter(([d])=>!c.includes(d)||d===r.path)),Z(i.projection)&&(i.projection={...i.projection,row_key:r.path}),Z(i.row_contract)){let d=i.row_contract;i.row_contract={...d,row_keys:[r.path],...Array.isArray(d.continuation_row_keys)?{continuation_row_keys:[r.path]}:{}}}i.count=Object.keys(i[r.path]).length}let s=e.count_only===!0?{...i,count_only:!0,count:e.count}:i,a=pO(i,e,t.command,r,o);return t.amount?.source==="canonical"&&(i=oO(i,t.amount.value),a.cursorContinuesExistingPage&&sp(i,a.originalItems,a.cursorSource,!0,a.originalItemOffset)),gr(i,s),{projected:n===void 0?i:Um(i,n),continuationState:a}}function cO(e,t){return[...e.cost!==void 0&&e.cost.value!=="unbounded"&&(e.cost.source==="canonical"||e.cost.source==="default"||e.command==="context"&&e.cost.source==="legacy")?[{source:e.cost.source,tokens:e.cost.value}]:[],...t===void 0?[]:[{source:"session",tokens:Hm(t)}]].sort((n,r)=>n.tokens-r.tokens)[0]}function rp(e){let t=e.canonical_options_used;return t&&t.length>0?{canonical_options_used:t}:{}}function op(e,t){return Z(e.context_intent)&&e.context_intent.command==="context"&&e.context_intent.token_budget===t&&e.context_intent.within_budget===!0}function dO(e,t,n){return e.command!=="next"||(t.tokenBudget??t.token_budget)===void 0?!1:!(Z(n.context_intent)&&n.context_intent.command==="next"&&n.context_intent.within_budget===!0)}function ip(e,t={}){return e?.source==="default"||e?.source==="legacy"&&!op(t,e.tokens)?{budget_source:e.source,budget_tokens:e.tokens}:{}}function lO(e,t,n,r,o,i){let s={contract_version:1,command:e.command,requested_dimensions:t,...ip(r),precedence:e.precedence,...rp(e),legacy_aliases_used:[],migration_hints:[],estimated_tokens:0,within_budget:!1,strings_compacted:!1,rows_compacted:!1,result_omitted:!0,...n===void 0?{omitted_result_estimated_tokens:o}:{}},a={output_budget_exceeded:{omitted_result:!0,reason:"requested_budget_infeasible",restore_with:"Unbounded",recovery:{outputBudget:"unbounded"}},read_output:s},c=n===void 0?a:ui(a,n,s,i);if(n===void 0&&rt(c,s,i),n!==void 0&&s.estimated_tokens>r.tokens)throw new g("The remaining output-session budget cannot fit its mandatory receipts; start a new session with a larger token_budget.",h.USAGE);return c}function uO(e,t,n){return e.command==="context"&&e.cost?.source==="legacy"&&!op(n,e.cost.value)||dO(e,t,n)||t.outputRowContract===!0||t.output_row_contract===!0||e.canonical_options_used.includes("--output-include")||e.command==="list"&&e.canonical_options_used.length>0&&e.include?.value.includes("full")===!0}function fO(e,t,n,r,o){if(t!==void 0||uO(e,o,n))return!1;if(e.amount?.source==="canonical"&&e.amount.value!=="unbounded"){let i=e.amount.value;if(tt(n).some(({value:s})=>(Array.isArray(s)?s.length:Object.keys(s).length)>i))return!1}return e.cost===void 0||e.cost.value==="unbounded"||e.cost.source==="legacy"&&e.command!=="context"||wr(o.outputRowContract===!1?Object.fromEntries(Object.entries(n).filter(([i])=>i!=="row_contract")):n,r)<=e.cost.value}function mO(e,t,n,r,o,i,s){if(!n.rows_compacted)return;let a=t.amount?.value==="unbounded"?["amount"]:[],c=new Map(hn(e).map(_=>[_.path,Array.isArray(_.value)?_.value.length:Object.keys(_.value).length])),d=[...s.entries()].flatMap(([_,y])=>{let w=c.get(_);if(w>=y.rows)return[];let v=y.baseOffset+w;return[{path:_,cursor:_c({command:t.command,path:_,offset:v,total_rows:y.totalRows,fingerprint:y.fingerprint}),retained_rows:w,remaining_rows:y.totalRows-v,total_rows:y.totalRows}]}),l=d[0],u=l?"; page --output-cursor":"",f=r.source==="session"?`Truncated by the remaining ${r.tokens}-token session budget; start a new output session with a larger token_budget${u}.`:`${r.tokens}-token: raise --output-budget${u}`;n.migration_hints=[f,...t.migration_hints];let m=lc({effective_budget_tokens:r.tokens,measured_result_tokens:i});l&&!o&&(typeof e.next_cursor!="string"||e.continuation_kind==="output_cursor")&&(e.next_cursor=l.cursor),e.continuation_kind=o?"producer_cursor":l?"output_cursor":"none",e.output_budget_truncation={reason:"output_budget_reached",budget_source:r.source,budget_tokens:r.tokens,overridden_dimensions:a,compacted_row_paths:n.compacted_row_paths,continuation_cursor_rebased:o,continuation_available:d.length>0,recovery_budget_multiplier:l?1:m.recovery_budget_multiplier,continuations:d,restore_with:l?"recovery":`Retry with --output-budget ${m.output_budget} because no declared row collection can be continued.`,recovery:l?{cursor:l.cursor,cli:"--output-cursor",sdk:"outputCursor",mcp:"outputCursor"}:{cli:`--output-budget ${m.output_budget}`,sdk:{outputBudget:m.output_budget},mcp:{outputBudget:m.output_budget}}}}function sp(e,t,n,r,o){if(typeof n!="string"||!Array.isArray(e.items))return!1;let i=e.items.length,s=t.length;if(i===0||i>=s)return!1;let a;try{a=yc(n)}catch{return!1}let c=a.after_index;if(c===void 0)return!1;let d=t[i-1];if(Object.prototype.toString.call(d)!=="[object Object]")return!1;let l=Reflect.get(d,"id");if(typeof l!="string"||l.length===0)return!1;let u=r?c-(s-i):c+o+i;return u<0?!1:(e.next_cursor=Or(a.fingerprint,l,u,a.snapshot),!0)}function pO(e,t,n,r,o){let i=new Map(hn(e).map(c=>{let d=Array.isArray(c.value)?c.value.length:Object.keys(c.value).length,l=r?.path===c.path;return[c.path,{rows:d,totalRows:l?r.total_rows:d,baseOffset:l?r.offset:0,fingerprint:l?r.fingerprint:fi(c.path,c.value,n)}]})),s=typeof e.next_cursor=="string",a=r?.path==="items"?r.offset:0;return{collectionsBeforeBudget:i,originalItems:Array.isArray(t.items)?a>0?t.items.slice(a):t.items:[],originalItemOffset:a,cursorContinuesExistingPage:s,cursorSource:s?e.next_cursor:o.after}}function _O(e,t,n,r,o,i,s,a,c,d){let l={...t,count_only:n},u=r.command==="assurance"&&Array.isArray(e.assertions)?e.assertions.filter(m=>Z(m)&&m.verdict!=="pass").length:0,f=new Map;if(u>0&&f.set("assertions",u),r.command==="history"&&Array.isArray(e.diff))for(let m of yr(e))m.path.startsWith("diff.")&&f.set(m.path,Object.keys(m.value).length);return Ym(e,o,i.tokens,f,d,m=>{gr(m,l);let _=sp(m,a.originalItems,a.cursorSource,a.cursorContinuesExistingPage,a.originalItemOffset);if(mO(m,r,o,i,_,c,a.collectionsBeforeBudget),r.command==="history"&&Z(m.projection)){m.has_more=typeof m.next_cursor=="string"||m.applied_bound?.kind==="output_limit";let y=m.projection.row_key;typeof y=="string"&&Array.isArray(m[y])&&(m.count=m[y].length)}s!==void 0&&Object.assign(m,ui(m,s,o,d))},r.command==="history"&&Array.isArray(e.diff))}function ap(e,t,n){let r=ep(e,t);if(!r)return n;let o=np(t),i=li(t.outputSession??t.output_session),s=t.outputCursor??t.output_cursor,a=typeof s=="string"?Sr(s):void 0,c=iO(r),d=sO(r.command,n);if(a===void 0&&fO(r,i,d,o,t))return d;let l=cO(r,i),u=aO(d,r,i,a,t),f=u.projected;bn(f,f,t.outputRowContract===!1);let m={contract_version:1,command:r.command,requested_dimensions:c,...ip(l,f),precedence:r.precedence,...rp(r),legacy_aliases_used:r.legacy_aliases_used,migration_hints:r.migration_hints,estimated_tokens:0,within_budget:!0,strings_compacted:!1,rows_compacted:!1,result_omitted:!1};if(f.read_output=m,f=i===void 0?f:ui(f,i,m,o),rt(f,m,o),l!==void 0&&m.estimated_tokens>l.tokens){let _=Km(r.command,t,f);_!==void 0&&(m.applied_depth="brief",m.degradation_reason="output_budget_reached",bn(f,_),f=pc(_,t)),m.estimated_tokens>l.tokens&&(f=_O(f,f,d.count_only===!0,r,m,l,i,u.continuationState,m.estimated_tokens,o))}return l!==void 0&&m.estimated_tokens>l.tokens?lO(r,c,i,l,m.estimated_tokens,o):f}function cp(e){return Z(e)&&Z(e.output_budget_exceeded)&&e.output_budget_exceeded.omitted_result===!0&&e.output_budget_exceeded.reason==="requested_budget_infeasible"}function dp(e,t){let n=t.outputFormat??t.output_format;if(n==="json"||n==="toon")return n;let r=ep(e,t)?.encoding;return r?.value==="json"||r?.value==="toon"?r.value:void 0}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f7f59eaa-9d5d-5797-99de-e672fdfba99d")}catch{}})();var hO=4096,gO=Object.freeze(["queue_draining","queue_entries","queue_exists","queue_high_retry_entries","queue_invalid_rows","queue_max_attempts","queue_rows_total","queue_size_bytes","pending_otel_spans","last_attempted_flush_at","last_failed_flush_at","last_otel_attempt_at","last_otel_failure_at","last_otel_success_at","last_successful_flush_at"]),lp=Object.freeze({health:Object.freeze({version:3,paths:Object.freeze(["checks"]),ignored_detail_field_names_by_row:Object.freeze({telemetry:gO}),guarantee:"nonvolatile_snapshot_and_stable_configuration"})});function Ir(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Ar(e){return Array.isArray(e)?e.map(Ar):Ir(e)?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,Ar(n)])):e}function mp(e,t){if(!Ir(e))return Ar(e);let n=typeof e.name=="string"?e.name:void 0,r=n!==void 0&&Object.hasOwn(t.ignored_detail_field_names_by_row,n)?t.ignored_detail_field_names_by_row[n]:void 0;return Object.fromEntries(Object.entries(e).map(([o,i])=>o!=="details"||!r||!Ir(i)?[o,Ar(i)]:[o,Object.fromEntries(Object.entries(i).filter(([s])=>!r.includes(s)).map(([s,a])=>[s,Ar(a)]))]))}function bO(e,t){return Array.isArray(e)?e.map(n=>mp(n,t)):mp(e,t)}function fi(e,t,n){let r=n?lp[n]:void 0,o=r?.paths.includes(e)===!0;return yO("sha256").update(x({path:e,value:o?bO(t,r):t,...o?{fingerprint_policy_version:r.version}:{}})).digest("base64url").slice(0,16)}function _c(e){return Buffer.from(JSON.stringify({v:1,c:e.command,p:e.path,o:e.offset,n:e.total_rows,f:e.fingerprint}),"utf8").toString("base64url")}function wO(e){return typeof e=="string"&&(vn(e)===e||/^extension:\S(?:[^\r\n]*\S)?$/u.test(e))}function Sr(e){if(e.length>hO)throw new g("The read-output continuation cursor is malformed or unsupported.",h.USAGE,{code:"read_output_cursor_invalid"});let t;try{t=JSON.parse(Buffer.from(e,"base64url").toString("utf8"))}catch{t=null}if(!Ir(t)||t.v!==1||!wO(t.c)||typeof t.p!="string"||t.p.length===0||!Number.isSafeInteger(t.o)||t.o<0||!Number.isSafeInteger(t.n)||t.n<1||typeof t.f!="string"||t.f.length===0)throw new g("The read-output continuation cursor is malformed or unsupported.",h.USAGE,{code:"read_output_cursor_invalid"});return{version:1,command:t.c,path:t.p,offset:t.o,total_rows:t.n,fingerprint:t.f}}function up(e){if(!Array.isArray(e.assertions))return e;let t=n=>!Ir(n)||n.verdict==="pass"?4:n.verdict==="retired"?3:n.enforcement==="block"?0:n.enforcement==="warn"?1:2;return{...e,assertions:e.assertions.map((n,r)=>({row:n,index:r})).sort((n,r)=>t(n.row)-t(r.row)||n.index-r.index).map(({row:n})=>n),budget_retention_policy:"verdict_priority"}}function fp(e,t,n){if(!n)return e;if(n.command!==t)throw new g(`The read-output cursor belongs to ${n.command}, not ${t}.`,h.USAGE,{code:"read_output_cursor_command_mismatch"});let r=hn(e).find(i=>i.path===n.path),o=r?Array.isArray(r.value)?r.value.length:Object.keys(r.value).length:0;if(!r||o!==n.total_rows||n.offset>o||fi(n.path,r.value,t)!==n.fingerprint)throw new g("The read-output continuation no longer matches the declared row collection; restart the bounded read.",h.USAGE,{code:"read_output_cursor_stale"});return Em(e,n.path,n.offset)}(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]="b6a81cf4-3095-5197-8e73-f017d98b1ccf")}catch{}})();var gc=1,pp=4096,EO=/^[A-Za-z0-9_-]+$/;function hc(e){return e.replace(/^--/u,"").replace(/[-_]([a-z0-9])/gu,(t,n)=>n.toUpperCase())}function hj(e,t){let n=[...Object.values(po),..._o],r=new Set(n.flatMap(o=>[hc(o),o.slice(2).replaceAll("-","_")]));for(let o of t)if(o.cursor_semantics==="presentation"){r.add(hc(o.flag));for(let i of o.aliases??[])r.add(hc(i))}return Object.fromEntries(Object.entries(e).filter(([o])=>!r.has(o)))}function gj(e,t){return vO("sha256").update(e).update("\0").update(x(t)).digest("hex").slice(0,24)}function Or(e,t,n,r){return Buffer.from(JSON.stringify({version:gc,fingerprint:e,after_id:t,...n===void 0?{}:{after_index:n},...r===void 0?{}:{snapshot:r}})).toString("base64url")}function Pt(e,t){return new g(e,h.USAGE,{code:"invalid_query_cursor",nextSteps:[`Repeat the original query without ${t} to obtain a fresh cursor.`]})}function kO(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;return t.version===gc&&typeof t.fingerprint=="string"&&typeof t.after_id=="string"&&t.after_id.length>0&&(t.after_index===void 0||Number.isSafeInteger(t.after_index)&&t.after_index>=0)&&(t.snapshot===void 0||typeof t.snapshot=="string"&&t.snapshot.length>0)}function yc(e,t="--after"){if(typeof e!="string")throw Pt("Query cursor is malformed.",t);let n=e.trim();if(n.length===0||n.length>pp||!EO.test(n))throw Pt("Query cursor is malformed.",t);let r;try{r=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{throw Pt("Query cursor is malformed.",t)}if(!kO(r)){let o=!1;try{Sr(n),o=!0}catch{}throw o?new g(`An output cursor must be continued with --output-cursor, not ${t}.`,h.USAGE,{code:"invalid_query_cursor",nextSteps:[`Repeat the same query, replacing ${t} with --output-cursor ${n}; retain any producer ${t} cursor from the original page.`]}):Pt("Query cursor version or payload is unsupported.",t)}return r}function bc(e,t,n="--after"){let r=yc(e,n);if(r.fingerprint!==t)throw Pt(`Query cursor does not match the current filters, sort, or query (${r.fingerprint} != ${t}).`,n);return{after_id:r.after_id,...r.after_index===void 0?{}:{after_index:r.after_index},...r.snapshot===void 0?{}:{snapshot:r.snapshot}}}function bj(e,t){return bc(e,t).after_id}function SO(e,t,n,r,o="--after"){if(t===void 0)return 0;let i=bc(t,n,o),s=e.findIndex(a=>r(a)===i.after_id);if(s<0){if(i.after_index!==void 0)return Math.min(i.after_index,e.length);throw Pt(`Query cursor item ${i.after_id} is no longer present in this result set.`,o)}return s+1}function wj(e,t){if(t.cursor!==void 0&&bc(t.cursor,t.fingerprint).snapshot!==t.snapshot)throw Pt("Query cursor does not match the requested snapshot.","--after");let n=SO(e,t.cursor,t.fingerprint,t.readId),r=e.slice(n,n+t.limit),o=r.length>0&&n+r.length<e.length,i=r.at(-1);return{rows:r,has_more:o,...o&&i!==void 0?{next_cursor:Or(t.fingerprint,t.readId(i),n+r.length-1,t.snapshot)}:{}}}var vj=Object.freeze({version:gc,max_length:pp});import{randomUUID as CO}from"node:crypto";import{randomUUID as OO}from"node:crypto";import{constants as En}from"node:fs";import{lstat as _p,mkdir as AO,open as hp,rename as IO,rm as TO}from"node:fs/promises";import mi 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]="71b65888-baa5-5c5f-a02c-4a0fd818fadb")}catch{}})();var Ue={max_serving_rows:256,max_bytes:262144,max_event_bytes:32768,retained_byte_fraction:.5,max_events:2048,retention_days:30},Y=class extends TypeError{code="context_usage_validation_failed";constructor(t){super(t),this.name="ContextUsageValidationError"}};function Mt(e){let t=Date.parse(e.now??new Date().toISOString());if(!Number.isFinite(t))throw new Y("Context usage now must be a valid timestamp");return{iso:new Date(t).toISOString(),ms:t}}function gp(e){let t=e.maxBytes??Ue.max_bytes,n=e.maxEvents??Ue.max_events,r=e.retentionDays??Ue.retention_days;if(!Number.isSafeInteger(t)||t<1024||t>Ue.max_bytes||!Number.isSafeInteger(n)||n<1||!Number.isFinite(r)||r<=0)throw new Y("Context usage retention requires positive maxEvents and retentionDays, and maxBytes from 1024 through 262144");return{maxBytes:t,maxEvents:n,cutoff:Mt(e).ms-r*864e5}}async function bp(e,t){if(!(await _p(mi.dirname(e))).isDirectory())throw new Y("Context usage runtime must be a real directory");try{if((await _p(e)).isSymbolicLink())throw new Y("Context usage ledger must not be a symbolic link")}catch(r){if(!ee(r))throw r}let n=await hp(e,t|En.O_NOFOLLOW|En.O_NONBLOCK,384);try{let r=await n.stat();if(!r.isFile()||r.nlink!==1)throw new Y("Context usage ledger must be an unshared regular file");return n}catch(r){throw await n.close(),r}}async function pi(e){let t=gp(e);try{let n=await bp(mi.join(e.pmRoot,"runtime","context-usage.jsonl"),En.O_RDONLY);try{let r=(await n.stat()).size,o=Math.max(0,r-t.maxBytes),i=Buffer.alloc(Math.min(r,t.maxBytes)),{bytesRead:s}=await n.read(i,0,i.length,o),a=i.subarray(0,s).toString("utf8");return(o>0?a.includes(`
|
|
24
|
+
`)?a.slice(a.indexOf(`
|
|
25
|
+
`)+1):"":a).split(`
|
|
26
|
+
`).flatMap(c=>{try{let d=JSON.parse(c);return d&&Date.parse(d.at)>=t.cutoff?[d]:[]}catch{return[]}}).slice(-t.maxEvents)}finally{await n.close()}}catch{return[]}}function yp(e,t,n){let r=[],o=0;for(let i=e.length-1;i>=0&&r.length<n;i-=1){let s=`${JSON.stringify(e[i])}
|
|
27
|
+
`;if(o+=Buffer.byteLength(s),o>t)break;r.push(s)}return r.reverse().join("")}async function Tr(e,t,n){let r=gp(e),o=mi.join(e.pmRoot,"runtime","context-usage.jsonl"),i=Math.floor(r.maxBytes*Ue.retained_byte_fraction),s=Math.min(Ue.max_event_bytes,i);if(t.some(f=>Buffer.byteLength(`${JSON.stringify(f)}
|
|
28
|
+
`)>s))throw new Y("Context usage event exceeds the declared byte ceiling");let a=t.filter(f=>Date.parse(f.at)>=r.cutoff),c=yp(a,i,r.maxEvents),d=performance.now(),l=await fe(e.pmRoot,"context-usage-ledger",30,`context-usage:${process.pid}`,!1,!1,3e3),u=performance.now()-d;try{await AO(mi.dirname(o),{recursive:!0});let f=await bp(o,En.O_WRONLY|En.O_CREAT|En.O_APPEND);try{let m=(await f.stat()).size,_=n===void 0?void 0:await pi(e);if(_?.some(T=>T.kind==="delivery"&&T.serve_id===n))return{written_bytes:0,ledger_bytes:m,compacted:!1,lock_wait_ms:u};if(!(e.maxEvents!==void 0||e.retentionDays!==void 0)&&m+Buffer.byteLength(c)<=r.maxBytes)return await f.writeFile(c,"utf8"),{written_bytes:Buffer.byteLength(c),ledger_bytes:m+Buffer.byteLength(c),compacted:!1,lock_wait_ms:u};let y=yp([..._??await pi(e),...a],i,r.maxEvents),w=`${o}.${process.pid}.${OO()}.tmp`,v=await hp(w,"wx",384);try{try{await v.writeFile(y,"utf8")}finally{await v.close()}return await f.close(),f=void 0,await IO(w,o),{written_bytes:Buffer.byteLength(y),ledger_bytes:Buffer.byteLength(y),compacted:!0,lock_wait_ms:u}}finally{await TO(w,{force:!0})}}finally{await f?.close()}}finally{await l()}}(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]="e76b38ce-b2aa-589b-9d17-0952eca9e7a2")}catch{}})();var xO=864e5,_i=Symbol.for("@unbrained/pm-cli/context-usage-serving-receipt");function Q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Dj(e,t){let n=Q(e);n!==null&&t!==null&&(n[_i]=t)}function kn(e,t){let n=Q(e),r=Q(t),o=n?.[_i];r!==null&&o!==void 0&&(r[_i]=o)}function RO(e){return Q(e)?.[_i]??null}function vp(e){let t=Q(e);for(let n of["read_output","context_intent"])if(Q(t?.[n])?.result_omitted===!0)return!0;return!1}function ot(e,t){typeof t=="string"&&t.trim().length>0&&e.add(t.trim())}function Ep(e,t){if(Array.isArray(t))for(let n of t)ot(e,Q(n)?.id)}function wp(e,t){if(Array.isArray(t))for(let n of t)ot(e,n)}function NO(e,t){let n=Q(e.recommended)===null?[]:[e.recommended];for(let r of["ready","decision_needed","gate_needed","containers","blocked","held_by_others"])Array.isArray(e[r])&&n.push(...e[r]);for(let r of n){let o=Q(r);ot(t,o?.id);for(let i of Array.isArray(o?.blockers)?o.blockers:[])ot(t,Q(i)?.id);for(let i of Array.isArray(o?.unblocks)?o.unblocks:[])ot(t,i)}}function DO(e,t){for(let n of["high_level","low_level","blocked_fallback","recently_created","unparented","activity","progress","blockers","staleness"])Ep(t,e[n]);for(let n of Array.isArray(e.blockers)?e.blockers:[])ot(t,Q(n)?.blocked_by);PO(e,t)}function PO(e,t){for(let o of Array.isArray(e.hierarchy)?e.hierarchy:[]){let i=Q(o);ot(t,i?.id),Ep(t,i?.children)}for(let o of["files","workload"])for(let i of Array.isArray(e[o])?e[o]:[])wp(t,Q(i)?.items);let n=Q(e.agenda);for(let o of Array.isArray(n?.events)?n.events:[])ot(t,Q(o)?.item_id);let r=Q(e.tests);wp(t,r?.items_failing)}function MO(e,t){let n=Q(e);if(n===null||vp(e))return[];let r=new Set;return t==="next"?NO(n,r):DO(n,r),[...r]}async function Pj(e){let t=RO(e.result);if(t===null)return!1;let n=vp(e.result);return await $O({pmRoot:e.pmRoot,receipt:t,deliveredItemIds:MO(e.result,t.surface),resultOmitted:n}),!0}async function Mj(e){if([process.env.PM_CONTEXT_USAGE_DISABLED==="1",e.enabled===!1].includes(!0))return null;if(!e.author.trim()||e.rows.some(o=>!o.id.trim()||!Number.isInteger(o.rank)||o.rank<1))throw new Y("Context usage serving requires an author and valid ranked rows");let t=e.rows.map(o=>({id:o.id.trim(),rank:o.rank,included:o.included}));if(new Set(t.map(o=>o.id)).size!==t.length)throw new Y("Context usage serving requires unique normalized row ids");let n=t.slice(0,Ue.max_serving_rows),r={serve_id:CO(),author:e.author.trim(),surface:e.surface,rows:t,recorded_item_ids:n.map(o=>o.id)};return r.storage=await Tr(e,[{kind:"serve",schema_version:2,serve_id:r.serve_id,at:Mt(e).iso,author:e.author.trim(),surface:e.surface,profile:e.profile.trim()||"balanced",rows:n,candidate_count:t.length,omitted_row_count:t.length-n.length,result_omitted:!1,packed_item_ids:n.filter(o=>o.included).map(o=>o.id)}]),r}async function $O(e){if(e.receipt===null||process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)return;let t=new Set(e.receipt.rows.map(i=>i.id)),n=[...new Set(e.deliveredItemIds.map(i=>i.trim()))];if(n.some(i=>i.length===0||!t.has(i))||e.resultOmitted&&n.length>0)throw new Y("Context usage delivery requires emitted ranked ids and zero ids for an omitted result");let r=new Set(e.receipt.recorded_item_ids??e.receipt.rows.map(i=>i.id)),o={kind:"delivery",schema_version:2,serve_id:e.receipt.serve_id,at:Mt(e).iso,author:e.receipt.author,surface:e.receipt.surface,result_omitted:e.resultOmitted,delivered_item_ids:n.filter(i=>r.has(i))};await Tr(e,[o],o.serve_id)}async function $j(e){if(!(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)){if(!e.author.trim()||!e.itemId.trim()||!e.intent.trim())throw new Y("Context usage touch requires author, itemId, and intent");await Tr(e,[{kind:"touch",at:Mt(e).iso,author:e.author.trim(),item_id:e.itemId.trim(),intent:e.intent.trim()}])}}async function jj(e){if(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1||e.itemIds.length===0)return;let t=e.author.trim(),n=e.intent.trim();if(!t||!n)throw new Y("Context usage touch requires author and intent");let r=new Set;for(let s of e.itemIds){if(typeof s!="string")throw new Y("Context usage touch requires string itemIds");let a=s.trim();if(!a)throw new Y("Context usage touch requires non-empty itemId");r.add(a)}let o=Mt(e).iso,i=[...r].map(s=>({kind:"touch",at:o,author:t,item_id:s,intent:n}));await Tr(e,i)}function jO(e,t,n,r){return e.find(({entry:o,time:i})=>o.item_id===t&&i>=n&&i-n<=r)?.time}function LO(e,t){let n=new Map;for(let r of e)r.kind==="delivery"&&r.schema_version===2&&r.author===t&&!n.has(r.serve_id)&&n.set(r.serve_id,r);return n}async function Lj(e){if(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)return{affinity:{},positive_judgments:0,serving_events:0,untrusted_serving_events:0};let t=await pi(e),n=Mt(e).ms,r=(e.horizonHours??24)*36e5;if(![Number.isFinite(r),r>0].every(Boolean))throw new Y("Context usage horizonHours must be positive");let o=e.author.trim(),i=t.filter(f=>f.kind==="touch").filter(f=>f.author===o).map(f=>({entry:f,time:Date.parse(f.at)})),s=new Map,a=0,c=0,d=0,l=LO(t,o);t.filter(f=>f.kind==="serve").filter(f=>f.author===o).forEach(f=>{if(![f.schema_version===2,!!f.serve_id].every(Boolean)){c+=1;return}a+=1;let m=Date.parse(f.at),_=l.get(f.serve_id),y=new Set(_?.delivered_item_ids??[]);for(let w of f.rows){if(!y.has(w.id))continue;let v=jO(i,w.id,m,r);if(v===void 0)continue;d+=1;let T=Math.max(0,(n-v)/xO);s.set(w.id,(s.get(w.id)??0)+Math.exp(-T/14))}});let u=Math.max(0,...s.values());return{affinity:Object.fromEntries([...s.entries()].map(([f,m])=>[f,u===0?.05:.05+.95*m/u])),positive_judgments:d,serving_events:a,untrusted_serving_events:c}}(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]="4c8b43ab-cada-5adf-8c00-aed8de1a8bc1")}catch{}})();var zO="limit_overridden_by_intent",Sp=Object.freeze([{command:"context",intent:"orient",description:"Bounded active hierarchy, ownership, blockers, and recent progress.",included_field_groups:["summary","focus","hierarchy","blockers","activity"],token_budget:3e3,source:"core"},{command:"context",intent:"handoff",description:"Active ownership, evidence, decisions, and immediate continuation context.",included_field_groups:["summary","focus","in_progress","decisions","activity"],token_budget:2200,source:"core"},{command:"get",intent:"inspect",description:"Standard-depth item metadata, relationships, evidence, and lifecycle state.",included_field_groups:["item","children","claim_state","linked"],token_budget:3200,source:"core"},{command:"list",intent:"triage",description:"A budget-derived page of compact governance, ownership, priority, and blocker rows for triage.",included_field_groups:["identity","governance","ownership","dependencies"],token_budget:3200,source:"core"},{command:"next",intent:"execute",description:"The highest-ranked actionable work with concise ranking evidence.",included_field_groups:["recommended"],token_budget:1200,source:"core"},{command:"search",intent:"discover",description:"A budget-derived page of ranked canonical lineage candidates with compact match evidence.",included_field_groups:["identity","status","lineage","match"],token_budget:1800,source:"core"}]),Op=new FO;function UO(){return Op.getStore()??Sp}function Xj(e,t){return Op.run(qO(e.workspaceContracts,e.packageContracts),t)}function HO(e,t){let n=e.command.trim().toLowerCase(),r=e.intent.trim().toLowerCase(),o=`${n}:${r}`;if(!/^[a-z0-9][a-z0-9-]*$/.test(n)||!/^[a-z0-9][a-z0-9-]*$/.test(r))throw new TypeError(`Invalid context intent command or name: ${o}`);if(e.description.trim().length===0)throw new TypeError(`Context intent ${o} requires a non-empty description`);if(!Number.isSafeInteger(e.token_budget)||e.token_budget<=0)throw new TypeError(`Context intent ${o} requires a positive integer token_budget`);let i=[...new Set(e.included_field_groups.map(s=>s.trim()).filter(Boolean))];if(i.length===0)throw new TypeError(`Context intent ${o} requires included_field_groups`);return{command:n,intent:r,description:e.description.trim(),included_field_groups:i,token_budget:e.token_budget,source:t}}function qO(e=[],t=[]){let n=[{source:"core",contracts:Sp,allowOverride:!1},{source:"package",contracts:t,allowOverride:!1},{source:"workspace",contracts:e,allowOverride:!0}],r=new Map,o=new Set;for(let i of n){o.clear();for(let s of i.contracts){let a=HO(s,i.source),c=`${a.command}:${a.intent}`;if(o.has(c))throw new TypeError(`Duplicate context intent declaration: ${c}`);if(o.add(c),!i.allowOverride&&r.has(c))throw new TypeError(`Duplicate context intent declaration: ${c}`);r.set(c,a)}}return[...r.values()].sort((i,s)=>i.command.localeCompare(s.command)||i.intent.localeCompare(s.intent))}function Ap(e,t,n=UO(),r=[]){let o=e.trim().toLowerCase(),i=t.trim().toLowerCase(),s=n.find(f=>f.command===o&&f.intent===i);if(s)return{...s,source:s.source??"core"};let a=n.filter(f=>f.command===o).map(f=>f.intent);if(a.length===0)return;let c=a.map(f=>{let m=Array.from({length:i.length+1},(_,y)=>y);for(let _=1;_<=f.length;_+=1){let y=m[0];m[0]=_;for(let w=1;w<=i.length;w+=1){let v=m[w];m[w]=Math.min(m[w]+1,m[w-1]+1,y+(f[_-1]===i[w-1]?0:1)),y=v}}return{candidate:f,distance:m[i.length]}}).sort((f,m)=>f.distance-m.distance||f.candidate.localeCompare(m.candidate))[0].candidate,d=[o,...r,"--for",i],l=[o,...r,"--for",c],u=Jt(l);throw new g(`Unknown context intent "${i}" for ${o}. Did you mean "${c}"?`,h.USAGE,{code:"unknown_context_intent",reason:"unknown_intent",field:"for",flag:"--for",value:i,required:`Use a declared ${o} intent.`,why:"Intent names are command-local contracts and cannot be inferred from output section names.",nextSteps:[u],recovery:{recovery_mode:"compact",attempted_command:Jt(d),allowed_values:[...a].sort(),suggested_retry:u,suggested_retry_args:l}})}function wc(e,t){let n=On(e.limit),r=String(n===void 0?t:Math.min(n,t));return(e.limit===void 0||n!==void 0)&&(e.limit=r),r}var Ip={context:(e,t,n)=>{e.section===void 0&&e.depth===void 0&&(e.section=t.intent==="handoff"?["activity","progress","blockers"]:["hierarchy","blockers","activity"]),e.depth===void 0&&(e.depth=t.intent==="handoff"?"deep":"standard");let r=hi(e.tokenBudget,t.token_budget),o=gi("context",t.intent,r,n),i=wc(e,o);e.activityLimit===void 0&&(e.activityLimit=i)},get:e=>{e.depth===void 0&&e.fields===void 0&&(e.depth="standard")},list:(e,t,n)=>{e.brief===void 0&&e.compact===void 0&&e.full===void 0&&e.fields===void 0&&(e.fields="id,title,status,type,priority,parent,assignee,risk,blocked_by");let r=hi(e.tokenBudget,t.token_budget),o=gi("list",t.intent,r,n);wc(e,o)},next:e=>{e.readyOnly===void 0&&(e.readyOnly=!0)},search:(e,t,n)=>{e.compact===void 0&&e.full===void 0&&e.fields===void 0&&(e.compact=!0);let r=hi(e.tokenBudget,t.token_budget),o=gi("search",t.intent,r,n);wc(e,o)}};function Jj(e,t,n=[]){let r=t.tokenBudget??t.token_budget;if(typeof t.for!="string"){if(r!==void 0&&(e==="get"||e==="list"||e==="search"))throw new g("--token-budget requires a declared context intent selected with --for",h.USAGE,{code:"missing_required_option",field:"for",required:"Select a context intent with --for when setting --token-budget.",why:"A token-budget override has no projection contract to constrain without a selected intent.",nextSteps:["Retry with --for <intent> --token-budget <n>, or omit --token-budget."]});if(t.tokenBudget!==void 0||t.token_budget===void 0)return t;let a={...t,tokenBudget:r};return delete a.token_budget,a}let o=Ap(e,t.for,void 0,n),i=On(r)!==void 0,s={...t};return s.tokenBudget===void 0&&r!==void 0&&(s.tokenBudget=r),delete s.token_budget,s.tokenBudget===void 0&&(s.tokenBudget=String(o.token_budget)),Ip[e](s,o,i),s}var VO={context:"bounded_sections",get:"standard_item",list:"bounded_fields_and_rows",next:"bounded_ranked_rows",search:"bounded_ranked_rows"},yi=256;function vc(e){return Array.isArray(e)?e.map(vc):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,vc(n)])):typeof e=="string"&&e.length>240?`${Ee(e,240)}\u2026`:e}function On(e){let t=typeof e=="number"?e:typeof e=="string"&&/^\d+$/u.test(e.trim())?Number(e):Number.NaN;return Number.isSafeInteger(t)&&t>0?t:void 0}function hi(e,t){let n=On(e);if(n===void 0)return t;if(n<yi)throw new g(`Context intent token budget must be at least ${yi}`,h.USAGE,{code:"invalid_argument_value",reason:"below_minimum",field:"tokenBudget",value:String(e),required:`Use an integer token budget of at least ${yi}.`,why:"Smaller ceilings cannot contain the minimum machine-readable intent receipt.",nextSteps:[`Retry with --token-budget ${yi} or omit the override.`]});return n}function Tp(e,t){return e==="context"?e==="context"&&t==="orient"?{overhead:1200,rowCost:600}:{overhead:800,rowCost:500}:{overhead:e==="list"?520:480,rowCost:16}}function gi(e,t,n,r){if(e==="get"||e==="next")return;let{overhead:o,rowCost:i}=Tp(e,t),s=Math.max(e==="context"?1:2,Math.floor((n-o)/i));return r?s:Math.min(e==="context"?20:100,s)}function it(e,t){let n=t.estimated_tokens;for(;;){t.estimated_tokens=n;let r=Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4);if(r===n)return;n=r}}var kp={context:["high_level","low_level","blocked_fallback","recently_created","unparented","hierarchy","activity","blockers"],get:["children"],list:["items"],next:["ready","decision_needed","gate_needed","containers","blocked","held_by_others"],search:["items"]};function Cp(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString("utf8"));return typeof t.fingerprint!="string"||!Number.isSafeInteger(t.after_index)?void 0:{fingerprint:t.fingerprint,after_index:t.after_index,...typeof t.snapshot=="string"?{snapshot:t.snapshot}:{}}}catch{return}}function BO(e){if(e===null||typeof e!="object")return;if(typeof e.id=="string")return e.id;let t=e.item?.id;return typeof t=="string"?t:void 0}function WO(e,t,n){let r=!1;for(;;){if(it(e,t),t.estimated_tokens<=t.token_budget||n.length<=1)return r;let o=Buffer.byteLength(JSON.stringify(n),"utf8"),i=(t.estimated_tokens-t.token_budget)*4;n.splice(-Math.min(n.length-1,Math.max(1,Math.ceil(i/Math.max(1,Math.ceil(o/n.length)))))),r=!0}}function GO(e,t,n){let r=e.items,o=typeof e.next_cursor=="string",i=o?e.next_cursor:n.after;if(!Array.isArray(r)||typeof i!="string")return!1;let s=Cp(i);if(s===void 0)return!1;let a=r.length,c=[...r],d=!1;for(;;){if(d=WO(e,t,r)||d,!d)return!1;let l=BO(r.at(-1));if(l===void 0)return r.splice(0,r.length,...c),it(e,t),!1;if(e.next_cursor=Or(s.fingerprint,l,o?s.after_index-(a-r.length):s.after_index+r.length,s.snapshot),it(e,t),t.estimated_tokens<=t.token_budget||r.length<=1)break}return typeof e.count=="number"&&(e.count=r.length),typeof e.applied_limit=="number"&&(e.applied_limit=r.length),!0}function KO(e,t,n,r){if(e==="list"||e==="search")return GO(t,n,r);if(e!=="next"||typeof t.next_cursor=="string")return!1;let o=!1;for(;;){if(it(t,n),n.estimated_tokens<=n.token_budget)return o;let i=kp[e].map(f=>({key:f,rows:Array.isArray(t[f])?t[f]:[]})).filter(({rows:f})=>f.length>0).sort((f,m)=>m.rows.length-f.rows.length||f.key.localeCompare(m.key))[0];if(i===void 0)return o;let s=kp[e].reduce((f,m)=>f+(Array.isArray(t[m])?t[m].length:0),0);if(s<=1)return o;let a=Math.min(i.rows.length,s-1),c=Buffer.byteLength(JSON.stringify(i.rows),"utf8"),d=Math.max(1,Math.ceil(c/i.rows.length)),l=(n.estimated_tokens-n.token_budget)*4,u=Math.min(a,Math.max(1,Math.ceil(l/d)));i.rows.splice(-u,u),o=!0}}function YO(e,t,n){if(typeof t.for!="string")return n;let r=e.startsWith("list-")?"list":e;if(!(r in Ip))return n;let o=r,i=Ap(o,t.for),s=hi(t.tokenBudget??t.token_budget,i.token_budget),a={command:o,intent:i.intent,source:i.source,included_field_groups:[...i.included_field_groups],token_budget:s,declared_token_budget:i.token_budget,token_budget_override:s-i.token_budget,estimated_tokens:0,within_budget:!0,degradation:VO[o],declaration_feasible:!0,result_omitted:!1},c={...n},d=gi(o,i.intent,a.token_budget,On(t.tokenBudget??t.token_budget)!==void 0);if(d!==void 0){let u=On(t.limit),f=u!==void 0&&u<d;a.budget_derived_limit=d,a.binding_constraint=f?"explicit_limit":"token_budget",a.limit_reason=f?"The caller supplied a smaller row limit than the budget-derived ceiling.":"The selected intent token budget constrains the effective row ceiling.",c.budget_derived_limit=d,QO({builtInCommand:o,intent:i.intent},a,c,t)}let l={...c,context_intent:a};return it(l,a),a.estimated_tokens>a.token_budget&&(a.degradation="recursive_budget_compaction",l={...vc(c),context_intent:a},it(l,a)),a.estimated_tokens>a.token_budget&&KO(o,l,a,t)&&(a.degradation="budget_row_compaction",it(l,a)),a.declaration_feasible=a.estimated_tokens<=a.declared_token_budget,a.estimated_tokens>a.token_budget&&(a.degradation="budget_receipt_only",a.result_omitted=!0,a.within_budget=!1,l={budget_exceeded:{omitted_result:!0,reason:a.token_budget_override===0?"declared_budget_infeasible":"effective_budget_infeasible",restore_with:eA(e,o,i.intent,a,c)},context_intent:a}),l}var XO=["applied_limit","completeness","context_intent","count","filters","has_more","now","omission_receipt","projection","row_contract","sorting","total","truncated"];function JO(e,t){if(typeof e.after!="string"||e.after.length===0)return t;let n=Cp(e.after)?.fingerprint??"opaque_cursor",r={...t};for(let o of XO)delete r[o];return r.continuation_contract={fingerprint:n,metadata:"reference",restore_with:"omit --after"},r}function bi(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function ZO(e,t){let n=e==="get"&&bi(t.item)&&typeof t.item.id=="string"?t.item.id:e==="search"&&typeof t.query=="string"?t.query:void 0;return n===void 0?"":` '${n.replaceAll("'",`'"'"'`)}'`}function QO(e,t,n,r){let o=On(r.limit),i=t.budget_derived_limit;if(o===void 0||o<=i)return;let{overhead:s,rowCost:a}=Tp(e.builtInCommand,e.intent),c=Math.max(t.token_budget,s+a*o);t.limit_reason=`The ${t.token_budget}-token ${e.intent} budget carries ${i} rows, so it reduced the caller's --limit ${o}.`,t.limit_override={flag:"--limit",requested:o,effective:i,...Number.isSafeInteger(c)?{token_budget_for_requested:c,restore_with:`--token-budget ${c}`}:{}};let d=`${zO}:--limit ${o}->${i}`;n.warnings=Array.isArray(n.warnings)?[...n.warnings,d]:[d],bi(n.filters)&&(n.filters={...n.filters,requested_limit:String(o)})}function eA(e,t,n,r,o){let i=ZO(t,o),s=t==="get"?"":` --limit ${r.budget_derived_limit??1}`;return`pm ${e}${i} --for ${n} --token-budget ${Math.ceil(r.estimated_tokens/100)*100}${s}`}function Sn(e,t){if(bi(e))return typeof e[t]=="number"?e[t]:void 0}function tA(e,t){let n=e;for(let r=0;r<8;r+=1){let o=Sn(n.context_intent,"estimated_tokens"),i=Sn(n.read_output,"estimated_tokens"),s=Sn(n.read_session,"spent_this_call_tokens");if(bi(n.context_intent)&&it(n,n.context_intent),n=pc(n,t),Sn(n.context_intent,"estimated_tokens")===o&&Sn(n.read_output,"estimated_tokens")===i&&Sn(n.read_session,"spent_this_call_tokens")===s)break}return n}function xp(e,t,n){let r=wm(e,Rm(e??"",n)),o=typeof r=="object"&&r!==null&&!Array.isArray(r)?ap(e??"",{...t,outputRowContract:t.outputRowContract===!0||t.output_row_contract===!0},JO(t,YO(e??"",t,r))):r;if(kn(n,o),t.outputRowContract===!0||t.output_row_contract===!0||typeof o!="object"||o===null||Array.isArray(o)||!Object.hasOwn(o,"row_contract"))return o;let i=Object.fromEntries(Object.entries(o).filter(([a])=>a!=="row_contract"));Object.defineProperty(i,"row_contract",{value:o.row_contract,enumerable:!1,configurable:!0});let s=tA(i,t);return delete s.row_contract,kn(o,s),s}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cb1266f3-8375-586f-87c6-356cf7843969")}catch{}})();var An=["result_rows","envelope","diagnostics","hints"],nA=/^(?:items|results|rows|ready|blocked|recommended|decision_needed|children|dependencies|events|matches|commands|tools)$/u,rA=/^(?:diagnostics|errors?|warnings?|findings|violations|failures?)$/u,oA=/^(?:hints?|suggestions?|next_steps?|recovery|remediation|examples?)$/u,iA=8;function Ec(e){return Buffer.byteLength(e,"utf8")}function Rp(e){return Ec(JSON.stringify(e)??"null")}function sA(e,t){return rA.test(e)?"diagnostics":oA.test(e)?"hints":nA.test(e)||Array.isArray(t)?"result_rows":"envelope"}function aA(e){let t={result_rows:0,envelope:0,diagnostics:0,hints:0};if(typeof e!="object"||e===null||Array.isArray(e))return t[Array.isArray(e)?"result_rows":"envelope"]=Rp(e),t;for(let[n,r]of Object.entries(e))t[sA(n,r)]+=Rp({[n]:r});return Object.values(t).every(n=>n===0)&&(t.envelope=1),t}function cA(e,t){let n=An.reduce((s,a)=>s+t[a],0),r=An.map(s=>({section:s,value:e*t[s]/n})),o={result_rows:0,envelope:0,diagnostics:0,hints:0};for(let s of r)o[s.section]=Math.floor(s.value);let i=e-An.reduce((s,a)=>s+o[a],0);for(let s of[...r].sort((a,c)=>c.value-Math.floor(c.value)-(a.value-Math.floor(a.value))||An.indexOf(a.section)-An.indexOf(c.section))){if(i===0)break;o[s.section]+=1,i-=1}return o}function Np(e,t){return typeof e=="object"&&e!==null&&!Array.isArray(e)?{...e,token_accounting:t}:{result:e,token_accounting:t}}function Dp(e,t){let n=Ec(t(e)),r=cA(n,aA(e)),o=Object.fromEntries(An.map(a=>[a,{bytes:r[a],estimated_tokens:Nt(r[a])}])),i={version:1,measurement_scope:"output_before_token_accounting",estimator:"ceil(utf8_bytes / 4)",total_bytes:n,total_estimated_tokens:Nt(n),sections:o,accounting_receipt_bytes:0,accounting_receipt_estimated_tokens:0,excluded_fields:["token_accounting"],section_allocation:"proportional_canonical_json"},s=Np(e,i);for(let a=0;a<iA;a+=1){let c=Ec(t(s))-n;if(c===i.accounting_receipt_bytes)return s;i={...i,accounting_receipt_bytes:c,accounting_receipt_estimated_tokens:Nt(c)},s=Np(e,i)}return s}import{encode as Oc}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d3d21124-3c8a-5049-803d-00c63c0c2b61")}catch{}})();function Pp(e,t={}){let n=[...new Set(e.flatMap(l=>Object.keys(l)))],r=t.compact?n.filter(l=>e.every(u=>Object.hasOwn(u,l)&&u[l]===null)):[],o=t.compact?n.filter(l=>e.every(u=>{if(!Object.hasOwn(u,l))return!0;let f=u[l];return Array.isArray(f)&&f.every(m=>typeof m=="string"&&m!==""&&!m.includes(";"))})):[],i=new Set(o),s=new Set(r),a=n.filter(l=>!i.has(l)&&e.some(u=>{let f=u[l];return f!==null&&typeof f=="object"})),c=new Set(a),d=[];return{rows:e.map((l,u)=>Object.fromEntries(n.filter(f=>!s.has(f)).map(f=>{if(!Object.hasOwn(l,f))return d.push([u,f]),[f,null];let m=l[f];return i.has(f)?[f,m.join(";")]:[f,c.has(f)?JSON.stringify(m):m]}))),encoding:{json_columns:a,absent:d,...o.length?{list_columns:Object.fromEntries(o.map(l=>[l,";"]))}:{},...r.length?{null_columns:r,null_column_index:r.map(l=>n.indexOf(l))}:{}}}}function dA(e,t){let n=t.null_columns??[],r=t.null_column_index??[],o=[...e],i=n.map((s,a)=>({column:s,position:r[a]})).filter(s=>typeof s.position=="number").sort((s,a)=>s.position-a.position);for(let{column:s,position:a}of i)o.splice(Math.min(a,o.length),0,s);for(let s of n)o.includes(s)||o.push(s);return o}function tL(e){let t=new Set(e.encoding.json_columns),n=new Map(Object.entries(e.encoding.list_columns??{})),r=new Set(e.encoding.absent.map(([o,i])=>JSON.stringify([o,i])));return e.rows.map((o,i)=>{let s=new Map(Object.entries(o).flatMap(([c,d])=>{if(r.has(JSON.stringify([i,c])))return[];let l=n.get(c),u=l!==void 0?d===""?[]:String(d).split(l):t.has(c)?JSON.parse(String(d)):d;return[[c,u]]}));for(let c of e.encoding.null_columns??[])s.set(c,null);let a=e.encoding.column_order??dA(Object.keys(o),e.encoding);return Object.fromEntries(a.filter(c=>s.has(c)).map(c=>[c,s.get(c)]))})}(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]="88ed7e44-a3a0-5a23-9d7b-b00087bff331")}catch{}})();var oL=["id","title","status","type","priority","parent","updated_at"],wi=["id","status","type","title"],iL={list:"brief","list-all":"full","list-draft":"full","list-open":"brief","list-in-progress":"brief","list-blocked":"brief","list-closed":"brief","list-canceled":"full"},lA=["tree_depth","tree_parent","tree_children","tree_title"];function sL(e=[]){return[...new Set([...ve,"body",...lA,...e])].flatMap(t=>[t,`item.${t}`]).sort()}var uA=["brief","standard","deep"],aL=[...uA,"full"],cL=["brief","standard","deep"],fA=["body","linked","claim_state","children","schedule","blockers"],mA=["linked.files","linked.tests","linked.docs"],pA=["claim_state.claimed","claim_state.assignee","claim_state.last_claim","claim_state.last_release"],_A=["schedule.deadline","schedule.start_at","schedule.end_at","schedule.location","schedule.reminders","schedule.events"];function dL(e=[]){return[...[...new Set([...ve,...e,"notes_count","tests_count","collection_counts"])].flatMap(t=>[t,`item.${t}`]),...fA,...mA,...pA,..._A].sort()}var lL=["id","title","status","type","priority","updated_at","score","matched_fields"],yA=["score","matched_fields","highlights"],Mp=["id","title","description","type","status","priority","tags","created_at","updated_at","deadline","assignee","author","estimated_minutes","acceptance_criteria","dependencies","comments","notes","learnings","reminders","events","files","tests","docs","close_reason","parent","reviewer","risk","confidence","sprint","release","blocked_by","blocked_reason","reporter","severity","environment","repro_steps","resolution","expected_result","actual_result","affected_version","fixed_version","component","regression","customer_impact","definition_of_ready","order","rank","goal","objective","value","impact","outcome","why_now","plan"];function uL(e=[]){let t=[...new Set(e)];return[...yA,...Mp,...Mp.map(n=>`item.${n}`),...t,...t.map(n=>`item.${n}`)].sort()}(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]="0841394b-c439-5002-8451-c538a17acf47")}catch{}})();function He(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function hA(e){if(!He(e))return!1;let t=e.fields;return e.mode==="brief"&&Object.keys(e).length===2&&Array.isArray(t)&&(t.length===wi.length||t.length===wi.length+1&&t.at(-1)==="priority")&&wi.every((n,r)=>t[r]===n)}function $p(e,t){return typeof e.has_more=="boolean"&&e.truncated===e.has_more&&e.count===t&&typeof e.total=="number"&&Number.isSafeInteger(e.total)&&(e.has_more?e.total>t&&typeof e.next_cursor=="string"&&e.next_cursor.length>0:e.total===t&&e.next_cursor==null)}function gA(e){return He(e)&&(e.status==="complete"||e.status==="unchecked")&&e.unreadable_item_count===0&&e.unreadable_directory_count===0}function jp(e,t="full_item_fields"){if(!He(e)||!Array.isArray(e.omitted_field_groups))return!1;let n=e.omitted_field_groups,r=n[0];return e.has_omissions===!0&&e.omitted_field_group_count===1&&Object.keys(e).length===3&&n.length===1&&He(r)&&Object.keys(r).length===2&&r.name===t&&r.restore_with==="--full"}function Lp(e){if(!He(e)||!Array.isArray(e.items)||Object.hasOwn(e,"details")||!hA(e.projection)||!gA(e.completeness)||!$p(e,e.items.length)||!jp(e.omission_receipt))return e;let{total:t,has_more:n,truncated:r,next_cursor:o,completeness:i,projection:s,now:a,omission_receipt:c,sorting:d,filters:l,...u}=e,f=i.status==="complete"&&!n&&Object.keys(i).length===3,{unreadable_item_count:m,unreadable_directory_count:_,...y}=i;return{...u,...f?{}:{total:t,has_more:n,completeness:y},...n?{next_cursor:o}:{},...vA(d),...Fp(l,u.applied_limit),details:"--full"}}function bA(e){return He(e)&&e.sort==="default"&&e.order==="asc"&&Object.keys(e).every(t=>t==="sort"||t==="order"||t==="effective_keys")}function wA(e){return Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&(e[1]==="asc"||e[1]==="desc")}function vA(e){if(!bA(e))return{sorting:e};let t=e.effective_keys;return t===void 0?{}:!Array.isArray(t)||!t.every(wA)?{sorting:e}:{sorting:{effective_keys:t.map(([n,r])=>`${n} ${r}`).join(", ")}}}function Fp(e,t){if(!He(e))return e===void 0?{}:{filters:e};let n=Object.fromEntries(Object.entries(e).filter(([r,o])=>!(r==="limit"&&String(o)===String(t))&&!(r==="runtime_filters"&&He(o)&&Object.keys(o).length===0)));return Object.keys(n).length===0?{}:{filters:n}}function EA(e,t){return e.count===t&&!Object.hasOwn(e,"has_more")&&!Object.hasOwn(e,"truncated")&&e.next_cursor==null&&(e.total===void 0||e.total===t)}function zp(e){if(!He(e)||typeof e.query!="string"||!Array.isArray(e.items)||Object.hasOwn(e,"details")||Object.hasOwn(e,"projection")||!($p(e,e.items.length)||EA(e,e.items.length))||!jp(e.omission_receipt,"projection_metadata"))return e;let{truncated:t,omission_receipt:n,filters:r,...o}=e;return{...o,...Fp(r,o.applied_limit),details:"--full"}}import{isBoxedPrimitive as kA}from"node:util/types";(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]="1b399abd-460a-55a5-9df2-db23537aac0d")}catch{}})();var Up=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/gu;function gL(e){return e.replaceAll(Up,"\uFFFD")}function SA(e,t,n){return n&&/^\d+$/u.test(t)?`${e}[${t}]`:/^[A-Za-z_$][\w$]*$/u.test(t)?`${e}.${t}`:`${e}[${JSON.stringify(t)}]`}function kc(e,t,n){if(typeof e=="string"){let r=e.search(Up);return r<0?void 0:{field:t,index:r}}if(!(e===null||typeof e!="object"||n.has(e))){n.add(e);for(let[r,o]of Object.entries(e)){let i=SA(t,r,Array.isArray(e)),s=kc(r,`${i} (key)`,n)??kc(o,i,n);if(s)return s}}}function Hp(e,t,n){if(e===null||typeof e!="object")return e;if(kA(e)||typeof e.toJSON=="function")return JSON.parse(JSON.stringify({[t]:e}))[t];if(n.has(e))return n.get(e);let r=Array.isArray(e)?new Array(e.length):{};n.set(e,r);for(let o of Object.keys(e))Object.defineProperty(r,o,{value:Hp(e[o],o,n),enumerable:!0,configurable:!0,writable:!0});return r}function Sc(e){let t=Hp(e,"",new WeakMap),n=kc(t,"$",new WeakSet);return n&&OA(n),t}function OA(e){throw new g(`Output field ${e.field} contains an unpaired surrogate code unit at index ${e.index}; structured output requires well-formed Unicode.`,h.USAGE,{code:"text_unpaired_surrogate",field:e.field,required:"Well-formed UTF-16 strings and object keys in both JSON and TOON output.",nextSteps:["Repair the producer's text before returning output; use toWellFormedText from @unbrained/pm-cli/sdk when replacement is intended."]})}function bL(e){Sc(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d47af602-51bb-592c-8dce-3de5c8a96636")}catch{}})();var AA=new Set(Object.values(h)),IA=new Map([["notes_count","notes"],["tests_count","tests"]]),Ac="__pm_native_output",qp=!1;function L(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xc(e){let t={read_output:{result_omitted:!0}};kn(e,t),Ao(t)}function TA(e,t,n){if(n){Ao(e);return}xc(t)}function CA(e){if(!L(e)||e[Ac]!==!0)return e;let{[Ac]:t,...n}=e;return n}function Ic(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function xA(){(process.exitCode===void 0||process.exitCode===h.SUCCESS)&&(process.exitCode=h.SUCCESS)}function RA(){(process.exitCode===void 0||process.exitCode===h.SUCCESS)&&(process.exitCode=h.GENERIC_FAILURE)}function Tc(e){if(e==="stdout"){xA();return}RA()}function Vp(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function NA(){qp||(qp=!0,process.stdout.on("error",e=>{if(Ic(e)){Tc("stdout");return}Vp(e)}),process.stderr.on("error",e=>{if(Ic(e)){Tc("stderr");return}Vp(e)}))}function Bp(e,t){NA();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(Ic(n))return Tc(e),!1;throw n}}function DA(e){return Bp("stdout",e)}function Cr(e){return Bp("stderr",e)}function Wp(e){return typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):e===null?"null":JSON.stringify(e)}function Cc(e,t){let n=" ".repeat(t);return e.split(`
|
|
29
|
+
`).map(r=>`${n}${r}`).join(`
|
|
30
|
+
`)}function PA(e){let t=new Set,n=0;for(let r of e){let o=Object.keys(r);n+=o.length;for(let i of o)t.add(i)}return e.length*t.size<=n*2}function MA(e,t,n,r){let o=" ".repeat(n);if(!L(t)&&!Array.isArray(t))return`${o}${e}: ${Wp(t)}`;if(Array.isArray(t)){if(t.length===0)return`${o}${e}: []`;let i=Cc(Oc({[e]:t}),n);return r&&t.length>=1&&t.every(L)&&PA(t)?[!1,!0].map(s=>{let a=Pp(t,{compact:s});return Cc(Oc({[e]:a.rows,[`${e}_encoding`]:a.encoding}),n)}).reduce((s,a)=>Buffer.byteLength(a)<Buffer.byteLength(s)?a:s,i):i}return L(t)&&Object.keys(t).length===0?`${o}${e}: {}`:`${o}${e}:
|
|
31
|
+
${Gp(t,n+1)}`}function $A(e,t,n){let r=e.map(o=>Ei(o,t,n||t.preserveRowFacts&&L(o))).filter(o=>o!==void 0);return r.length>0||n?r:void 0}function Ei(e,t={omitDuplicateCountAliases:!0,preserveRowFacts:!0},n=!1){if(e===null)return n?null:void 0;if(Array.isArray(e))return $A(e,t,n);if(L(e)){let r=[],o=Object.entries(e).filter(([i,s])=>{let a=IA.get(i);return!t.omitDuplicateCountAliases||a===void 0||!L(e.collection_counts)||s!==e.collection_counts[a]});for(let[i,s]of o){if(i==="omitted_field_groups"&&Array.isArray(s)&&s.length===0){r.push([i,[]]);continue}let a=Ei(s,t,n);a!==void 0&&r.push([i,a])}return r.length>0||n?Object.fromEntries(r):void 0}return e}function Gp(e,t){let n=" ".repeat(t);if(Array.isArray(e))return e.length===0?"[]":Cc(Oc(e),t);if(L(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>MA(o,i,t,!Object.hasOwn(e,`${o}_encoding`)&&!(o==="checks"&&L(e.verdict)&&e.verdict.authority==="ok"))).join(`
|
|
32
|
+
`)}return`${n}${Wp(e)}`}function jA(e){if(!L(e)||e.output_default!=="markdown"||typeof e.view!="string"||!Array.isArray(e.events)||!Array.isArray(e.days))return null;let t=[`# pm calendar (${e.view})`,""],n=L(e.summary)?e.summary:{};if(t.push(`- events: ${String(n.events??0)}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),`${t.join(`
|
|
33
|
+
`)}
|
|
34
|
+
`;for(let r of e.events){if(!L(r))continue;let o=typeof r.kind=="string"?r.kind:"event",i=typeof r.item_title=="string"?r.item_title:"",s=typeof r.item_id=="string"?r.item_id:"",a=typeof r.reminder_text=="string"&&r.reminder_text.length>0?` ${r.reminder_text}`:"";t.push(`- [${o}] ${s} ${i}${a}`.trim())}return`${t.join(`
|
|
35
|
+
`)}
|
|
36
|
+
`}var LA=new Set(["filters","now","projection","sorting"]);function FA(e){let t=Ei(e,{omitDuplicateCountAliases:!1,preserveRowFacts:!1});if(!L(t)||!Array.isArray(t.items))return t??null;let n=Object.fromEntries(Object.entries(t).filter(([r])=>!LA.has(r)));return n.has_more!==!0&&delete n.next_cursor,n}function zA(e,t){if(!L(e)||!Array.isArray(e.run_results)||!e.run_results.every(L))return e;let n=e.run_results,r=UA(n),o=n.map(i=>{let{execution_context:s,stdout:a,stderr:c,...d}=i;return r===void 0?i:!t||i.status!=="passed"?{...d,stdout:a,stderr:c}:d});return t&&HA(e,r,n)?qA(e,r,o):{...e,...r===void 0?{}:{execution_context:r},run_results:o}}function UA(e){let t=e.map(r=>r.execution_context).filter(r=>r!==void 0);if(t.length!==e.length||t.length===0)return;let n=JSON.stringify(t[0]);return t.every(r=>JSON.stringify(r)===n)?t[0]:void 0}function HA(e,t,n){if(e.ok!==!0||!L(t)||t.mismatch_detected!==!1||!n.every(o=>o.status==="passed"))return!1;let r=e.failure_categories;return!(L(r)&&Object.values(r).some(o=>o!==0))}function qA(e,t,n){let{failure_categories:r,...o}=e,i=L(t.trust)?t.trust:{};return{...o,execution_context:{pm_context_mode:t.pm_context_mode,workspace_context_mode:t.workspace_context_mode,mismatch_detected:!1,...typeof i.trusted=="boolean"?{trusted:i.trusted}:{},...i.reason===void 0?{}:{trust_reason:i.reason},restore_with:"not retained; a run without --lean reports the full context"},run_results:n}}function VA(e){return!L(e)||e.ok!==!0||!L(e.verdict)||e.verdict.authority!=="ok"||!Array.isArray(e.checks)?e:{...e,checks:e.checks.map(BA)}}function BA(e){if(!L(e)||e.ok!==!0||!L(e.details)||Object.keys(e.details).length!==0)return e;let{details:t,...n}=e;return n}function vi(e,t,n=!1){if(e=Sc(e),t==="json"){let o=n?FA(e):e,i=L(e)&&L(e.projection)&&e.projection.mode==="brief"&&Array.isArray(e.items);return`${JSON.stringify(o,null,i?void 0:2)}
|
|
37
|
+
`}let r=Ei(VA(zp(Lp(e))),{omitDuplicateCountAliases:!0,preserveRowFacts:!0});return r===void 0?`{}
|
|
38
|
+
`:`${Gp(r,0)}
|
|
39
|
+
`}function WA(e,t,n,r){let o=t?{handled:!1,result:e,warnings:[]}:oa("output_format",{command:n.command,args:n.commandArgs,command_options:n.commandOptions,global:{...n},pm_root:n.pmRoot,format:r,options:{...n},result:e}),i=o.warnings.find(s=>s.startsWith("extension_output_format_payload_echo_deprecated:"));return i!==void 0&&Cr(`Warning: ${i}. Returning context.payload now declines safely for compatibility; migrate the override to declineServiceOverride() or { handled: false }.
|
|
40
|
+
`),o.handled&&typeof o.result=="string"?{result:o.result,rendered:o.result.endsWith(`
|
|
41
|
+
`)?o.result:`${o.result}
|
|
42
|
+
`,structuredDeliveryPreserved:!1}:{result:o.handled?o.result:e,rendered:null,structuredDeliveryPreserved:!o.handled||L(o.result)}}function GA(e,t,n,r){let o=$u(),i=n.command??o?.command,s={...o?.options,...n.commandOptions,...Object.fromEntries([["outputInclude",n.outputInclude],["outputLimit",n.outputLimit],["outputBudget",n.outputBudget],["outputFormat",n.outputFormat],["outputSession",n.outputSession],["outputCursor",n.outputCursor],["outputRowContract",n.outputRowContract]].filter(T=>T[1]!==void 0))},a=dp(i??"",s)??r,c={...s,resolvedOutputFormat:a},d={...n,command:i,commandOptions:c},l=WA(e,t,d,a);if(l.rendered!==null)return xc(e),l.rendered;let u=l.result;kn(e,u);let f=i==="test"?zA(u,n.lean===!0):u,m=xp(i,c,f);cp(m)&&(process.exitCode||=h.USAGE);let{structuredDeliveryPreserved:_}=l,y=T=>{if(a==="toon"){let X=jA(T);if(X!==null)return X}let H=t?{rendered:null}:Lu(a,T);return H.rendered!==null?(_=!1,H.rendered.endsWith(`
|
|
43
|
+
`)?H.rendered:`${H.rendered}
|
|
44
|
+
`):a==="json"?vi(T,"json",n.lean===!0):vi(T,"toon")},w=n.tokenAccounting===!0?Dp(m,y):m,v=y(w);return TA(w,e,n.quiet!==!0&&_),v}function KA(e,t){let n=ju(e),r=fo(n.result)?n.result:null,o=n.result,i=L(o)&&o[Ac]===!0,s=r?r.result:CA(n.result);if(Ao(s),r)return xc(s),"";let a=t.json===!0||t.json===void 0&&t.defaultOutputFormat==="json"?"json":"toon";return GA(s,i,t,a)}function DL(e,t){L(e)&&Number.isInteger(e.exit_code)&&AA.has(Number(e.exit_code))&&(process.exitCode===void 0||process.exitCode===h.SUCCESS)&&(process.exitCode=Number(e.exit_code));let n=t.idOnly?br(e,{idOnly:!0}):t.fullChangedFields?e:t.noChangedFields?br(e,{changedFields:"compact"}):br(e,{compactEnvelope:!0}),r=KA(n,t);t.quiet||DA(r)}function PL(e){let t=oa("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;Cr(n.endsWith(`
|
|
45
|
+
`)?n:`${n}
|
|
46
|
+
`)}(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]="13e57322-501d-5927-8254-f6196854d434")}catch{}})();var YA=8,XA=64,JA=5,ZA=4,Kp=100;function Km(e,t,n){if(e!=="get"||!Rc(n.item)||["fields","outputInclude","output_include","outputCursor","output_cursor"].some(c=>t[c]!==void 0)||t.full===!0||t.tree===!0||t.depth!==void 0&&t.depth!=="standard")return;let r=n.item,o=["linked","claim_state","schedule"],i=o.filter(c=>Object.hasOwn(n,c)),s=Object.fromEntries(Object.entries(n).filter(([c])=>!o.includes(c)));s.item=Object.fromEntries(Object.entries(r).filter(([c])=>c!=="body")),Object.hasOwn(r,"body")&&i.push("body");let a=[...Rc(n.omission_receipt)&&Array.isArray(n.omission_receipt.omitted_field_groups)?n.omission_receipt.omitted_field_groups:[],...i.map(c=>({name:c,restore_with:`--fields ${c}`}))];return s.omission_receipt={has_omissions:a.length>0,omitted_field_group_count:a.length,omitted_field_groups:a},s}function lc(e){let t=Math.trunc(e.effective_budget_tokens),n=Math.trunc(e.measured_result_tokens);if(!Number.isSafeInteger(t)||t<=0||!Number.isSafeInteger(n)||n<=0)return{output_budget:"unbounded",recovery_budget_multiplier:null,rule_version:"v1"};let r=Math.max(t+1,n),o=Math.ceil(r*JA/ZA),i=Math.ceil(o/Kp)*Kp;return Number.isSafeInteger(i)?{output_budget:i,recovery_budget_multiplier:i/t,rule_version:"v1"}:{output_budget:"unbounded",recovery_budget_multiplier:null,rule_version:"v1"}}function bn(e,t,n=!1){let r=Object.getOwnPropertyDescriptor(e,"row_contract");r&&(n||r.enumerable===!1)&&Object.defineProperty(t,"row_contract",{...r,enumerable:!1})}function wr(e,t){let n=t===void 0?JSON.stringify(e):vi(e,t);return Math.ceil(Buffer.byteLength(n,"utf8")/4)}function Rc(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Nc(e,t,n=!1){return typeof e=="string"?n||e.length<=240?e:(t.compacted=!0,`${Ee(e,240)}\u2026`):Array.isArray(e)?e.map(r=>Nc(r,t,n)):Rc(e)?Object.fromEntries(Object.entries(e).map(([r,o])=>[r,Nc(o,t,n||r==="focus_row_states")])):e}function rt(e,t,n){let r=t.estimated_tokens;for(let o=0;o<YA;o+=1){t.estimated_tokens=r;let i=wr(e,n);if(i===r)return;r=i}t.estimated_tokens=r}function QA(e,t){return yr(e).filter(n=>(Array.isArray(n.value)?n.value.length:Object.keys(n.value).length)>Math.max(1,t.get(n.path)??0)).map(n=>({collection:n,length:Array.isArray(n.value)?n.value.length:Object.keys(n.value).length})).sort((n,r)=>r.length-n.length||n.collection.path.localeCompare(r.collection.path))[0]?.collection}function eI(e,t,n,r,o,i){for(let s=0;s<XA;s+=1){if(i?.(e),rt(e,t,o),t.estimated_tokens<=n)return;let a=QA(e,r);if(!a)return;let c=Math.max(1,r.get(a.path)??0),d=Array.isArray(a.value)?[...a.value]:Object.entries(a.value),l=_=>{if(Array.isArray(a.value)){a.value.length=_;for(let y=0;y<_;y+=1)a.value[y]=d[y]}else{for(let y of Object.keys(a.value))delete a.value[y];Object.defineProperties(a.value,Object.getOwnPropertyDescriptors(Object.fromEntries(d.slice(0,_))))}typeof e.count=="number"&&(e.count=oi(e)),a.path==="items"&&(e.applied_limit=_),i?.(e),rt(e,t,o)};t.rows_compacted=!0,t.compacted_row_paths=[...new Set([...t.compacted_row_paths??[],a.path])].sort((_,y)=>_.localeCompare(y)),e.has_more=!0,e.truncated=!0;let u=c,f=d.length-1,m=c;for(;u<=f;){let _=Math.floor((u+f)/2);l(_),t.estimated_tokens<=n?(m=_,u=_+1):f=_-1}l(m)}}function Ym(e,t,n,r=new Map,o,i,s=!1){let a={compacted:!1},c=Object.fromEntries(Object.entries(e).map(([d,l])=>[d,Nc(l,a,s&&d==="diff")]));return bn(e,c),t.strings_compacted=a.compacted,c.read_output=t,eI(c,t,n,r,o,i),rt(c,t,o),c}import N_ from"fast-json-patch";import T_ from"node:fs/promises";import HI from"node:path";import $ from"node:fs/promises";import U from"node:path";import{createHash as xi,randomUUID as Uc}from"node:crypto";import{createRequire as mI}from"node:module";import{setImmediate as i_}from"node:timers/promises";import Mc from"fast-json-patch";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0c0cb8c7-4d7d-53f8-8ec2-d6dc98fc6dc5")}catch{}})();var tI={metadata:{},body:""};function Si(){return structuredClone(tI)}function KL(e,t=$t,n){return Dc(e,t,n)[0]}function Dc(e,t,n){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return Zp(Oi(e),t,n)}catch{}let r=Ye(x({replay_fallback:!0,metadata:e.metadata,body:e.body}),n);return t===2?[r,r]:[r]}function Qp(e,t,n,r,o){let i=kt(r.hash_algorithm),s=`${n}:${i}`,a=o?.before.get(s)??Dc(e,n,i),c=Dc(t,n,i);return o?.after.set(s,c),{beforeHashes:a,afterHashes:c,pairIndex:a.findIndex((d,l)=>d===r.before_hash&&c[l]===r.after_hash),beforeIndex:a.indexOf(r.before_hash),afterIndex:c.indexOf(r.after_hash)}}function Oi(e){return{metadata:e.metadata,body:e.body}}function YL(e,t={}){return fn(Oi(e),t)}function XL(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=fn(e);return{metadata:A(t.metadata,ve),body:t.body}}function Yp(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function nI(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function e_(e){return Array.isArray(e)?e.filter(nI).map(t=>({...t,path:Yp(t.path),from:typeof t.from=="string"?Yp(t.from):void 0})):[]}function rI(e){return typeof e=="object"&&e!==null&&"metadata"in e&&"body"in e&&typeof e.body=="string"&&typeof e.metadata=="object"&&e.metadata!==null}function Ai(e,t){try{let n=e_(t),r=Mc.applyPatch(structuredClone(e),n,!0,!0).newDocument;return rI(r)?{ok:!0,document:{metadata:r.metadata,body:r.body}}:{ok:!1,error:new Error("history_replay_invalid_document_shape")}}catch(n){return{ok:!1,error:n}}}function oI(e){return[...new Set(e.map(t=>t.item_hash_version).filter(t=>t!==void 0&&xr.includes(t)))]}function t_(e){return e!==void 0&&!xr.includes(e)}function iI(e,t){return e!==void 0?[e]:t===void 0?[...xr]:[t]}function n_(e){let t=ki(e);if(!t.ok)return t.error;let n=Pc(e);return n.ok?void 0:n.error}function sI(e,t){let n=n_(e);if(n)return{ok:!1,error:n};let r=Ai(t,e.patch);return r.ok?{ok:!0,document:r.document}:{ok:!1,error:"patch_apply_failed"}}function aI(e,t){let n=n_(e);if(n)throw new TypeError(`${n}:entry_${t+1}`)}function cI(e,t,n,r,o){let i=[];for(let s of n){let a=Qp(e,t,s,r,o);if(i.push({version:s,match:a}),a.pairIndex>=0)break}return i}function Ii(e){let t=Si(),n=new Map,r,o,i=Uu(e).map(s=>`verify_failed:duplicate_create:entry_${s.repeated_create_index}:prior_${s.prior_genesis_index}`);for(let s=0;s<e.length;s+=1){let a=e[s],c=a.item_hash_version,d=t_(c);d&&i.push(`verify_failed:unsupported_item_hash_version:${String(c)}:entry_${s+1}`);let l=sI(a,t);if(!l.ok)return{ok:!1,errors:[...i,`verify_failed:${l.error}:entry_${s+1}`]};if(d){t=l.document,n=new Map,r=void 0,o=void 0;continue}let u=iI(c,o),f={before:n,after:new Map},m=cI(t,l.document,u,a,f),_=m.find(({match:w})=>w.pairIndex>=0);if(_===void 0){let w=m.some(({match:v})=>v.beforeIndex>=0);return{ok:!1,errors:[...i,`verify_failed:${w?"after":"before"}_hash_mismatch:entry_${s+1}`]}}let y=_.version;t=l.document,n=f.after,r=y,o=c??o}return i.length>0?{ok:!1,errors:i,...r===void 0?{}:{item_hash_version:r}}:{ok:!0,errors:[],...r===void 0?{}:{item_hash_version:r}}}function jt(e){let t=Ii(e);return{ok:t.ok,errors:t.errors}}function Xp(e,t){try{return{ok:!0,document:Mc.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function dI(e,t){let n=structuredClone(e),r=0,o=0;for(let s of e_(t)){let a=Xp(n,s);if(a.ok){n=a.document;continue}if(s.op==="replace"){let c=Xp(n,{...s,op:"add"});if(c.ok){n=c.document,r+=1;continue}}o+=1}let i=n;return{document:{metadata:typeof i.metadata=="object"&&i.metadata!==null?i.metadata:{},body:typeof i.body=="string"?i.body:e.body},convertedReplaceToAdd:r,skippedOps:o}}function lI(e){let t=oI(e);if(t.length===1)return t[0];let n=Ii(e);return n.ok&&n.item_hash_version!==void 0?n.item_hash_version:t.length===0?1:$t}function uI(e,t,n=t.patch){let r=Ai(e,n);if(r.ok)return{next:r.document,patch:n,repaired:x(n)!==x(t.patch),converted:0,skipped:0};let o=dI(e,n);return{next:o.document,patch:Mc.compare(e,o.document),repaired:!0,converted:o.convertedReplaceToAdd,skipped:o.skippedOps}}function fI(e,t,n){return uI(e,t,n.projectPatch?.(t,e))}function JL(e,t=lI(e),n={}){let r=e.findIndex(m=>t_(m.item_hash_version));if(r>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[r]?.item_hash_version)}:entry_${r+1}`);let o=Si(),i=[],s=[],a=0,c=0,d=0,l=0,u,f=t!==1||e.some(m=>m.item_hash_version!==void 0);for(let m=0;m<e.length;m+=1){let _=e[m];aI(_,m);let y=fI(o,_,n),{next:w,patch:v,repaired:T,converted:H,skipped:X}=y;d+=H,l+=X,c+=Number(T);let de=Qp(o,w,t,_);u===void 0||n.continuousHashSurface!==!0?u=[de.pairIndex,de.beforeIndex,de.afterIndex,Math.min(u??0,de.beforeHashes.length-1)].find(Ny=>Ny>=0):u=Math.min(u,de.beforeHashes.length-1);let bd=de.beforeHashes[u],wd=de.afterHashes[u],ts=bd!==_.before_hash||wd!==_.after_hash;ts&&(a+=1);let Wt={..._,patch:v,before_hash:bd,after_hash:wd};f?Wt.item_hash_version=t:delete Wt.item_hash_version;let Ry=Wt.item_hash_version!==_.item_hash_version;(ts||T||Ry)&&(Wt=Jp(_,Wt,{retainOriginalPatch:T})),i.push(Wt),s.push({index:m+1,rehashed:ts,patch_repaired:T,converted_replace_to_add:H,skipped_ops:X}),o=w}return{entries:i,finalDocument:o,entriesRehashed:a,entriesPatchRepaired:c,convertedReplaceToAdd:d,skippedOps:l,details:s,itemHashVersion:t,explicitItemHashVersion:f}}function ZL(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
|
|
47
|
+
`)}
|
|
48
|
+
`}(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]="812b558d-59f3-58d6-b04e-6a4f8689e866")}catch{}})();function r_(e){let t=process.emitWarning;process.emitWarning=(n,...r)=>{n==="SQLite is an experimental feature and might change at any time"&&r[0]==="ExperimentalWarning"||Reflect.apply(t,process,[n,...r])};try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}finally{process.emitWarning=t}}function o_(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?r_(t):null}(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]="c5f096f6-4af4-568e-89ef-1aa0a8718973")}catch{}})();var pI="history-event-index.sqlite",Hc="7",_I=8,s_=32,m_="history-event-index",yI="history-event-index:append:",hI=5e3,qc=300,p_=3e4,gI="history-event-index-invalidation",bI="history-event-index-invalidations",wI=qc*2*1e3,st=Symbol("history-index-changed"),Lt=new Map;function zt(e){return U.join(e,"runtime",pI)}function __(e){return U.join(e,"runtime","history-event-index-repair-deferred")}async function y_(e){try{let t=Number(await $.readFile(__(e),"utf8")),n=Date.now()-t;return n>=0&&n<hI}catch{return!1}}async function a_(e){try{await $.writeFile(__(e),`${Date.now()}
|
|
49
|
+
`)}catch{}}function Rr(e){return U.join(e,"runtime",bI)}async function Ri(e){let t=await $.readdir(Rr(e)).catch(n=>{if(ee(n))return[];throw n});return{pending:t.filter(n=>n.endsWith(".pending")).sort(),committed:t.filter(n=>n.endsWith(".committed")).sort()}}async function c_(e){let t=await Ri(e);return{pending:(await Promise.all(t.pending.map(async n=>{let r=/^(\d+)-(unknown|\d+)-(\d+)-.+\.pending$/u.exec(n);if(r!==null){let o=r[2];if(await _r({pid:Number(r[1]),...o==="unknown"?{}:{process_start_identity:o}},Math.max(0,Date.now()-Number(r[3])),wI))return n}return await $.rm(U.join(Rr(e),n),{force:!0}),null}))).filter(n=>n!==null),committed:t.committed}}async function Fc(e,t,n=p_){let r=await fe(e,gI,qc,`history-event-index-invalidation:${process.pid}`,!1,!1,n,n===0?{maxWaitMs:0}:void 0);try{return await t()}finally{await r()}}async function vI(e){let t=Rr(e);await $.mkdir(t,{recursive:!0});let n=Uc(),r=await pr(),o=U.join(t,`${r.pid}-${r.process_start_identity??"unknown"}-${Date.now()}-${n}.pending`);return await $.writeFile(o,`pending
|
|
50
|
+
`,{flag:"wx"}),{pendingPath:o,committedPath:U.join(t,`${n}.committed`)}}function EI(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}async function Ni(e){try{await $.rm(zt(e),{force:!0})}catch{}}async function $c(e,t){let n=Rr(e);await $.mkdir(n,{recursive:!0}),await $.writeFile(U.join(n,`${Uc()}${t?".contended":""}.committed`),`committed
|
|
51
|
+
`,{flag:"wx"}),t||await Ni(e)}function Di(e){return e.committed.some(t=>t.endsWith(".contended.committed"))}function zc(e,t){let n;try{return n=new t(zt(e)),n.exec("PRAGMA busy_timeout = 0"),n.exec("BEGIN EXCLUSIVE"),!1}catch(r){return Ft(r)}finally{n?.close()}}async function d_(e,t){return t.pending.length>0||await Wf(e,m_,yI)}async function h_(e,t,n=p_,r="rebuild"){let o=await fe(e,m_,qc,`history-event-index:${r}:${process.pid}`,!1,!1,n,n===0?{maxWaitMs:0}:void 0);try{return await t()}finally{await o()}}async function g_(e,t,n=!1){let r=U.join(e,"history"),o=await $.readdir(r,{withFileTypes:!0}).catch(u=>{if(typeof u=="object"&&u!==null&&"code"in u&&u.code==="ENOENT")return[];throw u}),i=Lt.get(e)??{streams:new Map,ordered_events:[]},s=new Map(i.streams),a=i.ordered_events,c=new Set,d=!Lt.has(e);for(let u of o.filter(f=>f.isFile()&&f.name.endsWith(".jsonl")).sort((f,m)=>f.name.localeCompare(m.name))){let f=u.name.slice(0,-6);c.add(f);let m=U.join(r,u.name);if(!jc(f,t))continue;let _=await SI(m,f,s.get(f),n);_!==void 0&&(s.set(f,_),d=!0)}for(let u of s.keys())c.has(u)||(s.delete(u),d=!0);d&&(a=[...s.values()].flatMap(u=>u.events).sort(Vc));let l={streams:s,ordered_events:a};if(Lt.delete(e),Lt.set(e,l),Lt.size>_I){let u=Lt.keys().next().value;Lt.delete(u)}return{events:l.ordered_events.filter(u=>jc(u.stream_id,t)).map(u=>kI(u,n)),stream_receipts:new Map([...l.streams].filter(([u])=>jc(u,t)).map(([u,f])=>[u,{byte_size:f.byte_size,content_hash:f.signature}]))}}function kI(e,t){return t||e.recorded_entry===void 0?e:{stream_id:e.stream_id,stream_offset:e.stream_offset,entry:e.entry}}function jc(e,t){return!t?.length||t.includes(e)}async function SI(e,t,n,r){if(!r&&n!==void 0&&n.byte_size===(await $.stat(e)).size){let o=xi("sha256").update(await $.readFile(e)).digest("hex");if(n.signature===o)return}return OI(e,t,r)}async function OI(e,t,n){let r=await ei(e,t);if(n){let i=Ii(r.entries);if(!i.ok)throw new g(`Authoritative history integrity verification failed for ${t}.`,h.GENERIC_FAILURE,{code:"event_history_integrity_failed",why:i.errors.join(", "),nextSteps:[`Run pm history ${t} --verify to inspect the authoritative chain before retrying.`]})}let o=r.raw_bytes??new Uint8Array;return{signature:xi("sha256").update(o).digest("hex"),byte_size:o.byteLength,events:b_(r.entries,t).map((i,s)=>({stream_id:t,stream_offset:s,entry:i,...n?{recorded_entry:r.entries[s]}:{}}))}}async function AI(e,t){return b_((await ei(e,t)).entries,t)}function b_(e,t){for(let[n,r]of e.entries())if(typeof r.ts!="string"||!Zt(r.ts.trim()))throw new g(`History for ${t} contains an invalid or sub-millisecond timestamp at line ${n+1}. Repair or restore the history stream and retry.`,h.GENERIC_FAILURE,{code:"history_timestamp_invalid"});return e.map(n=>({...n,ts:new Date(n.ts.trim()).toISOString()}))}var Lc;function Mi(){return Lc!==void 0||(Lc=o_(process.versions.node,mI(import.meta.url))),Lc}function II(e){e.exec(`
|
|
52
|
+
PRAGMA journal_mode = OFF;
|
|
53
|
+
PRAGMA synchronous = OFF;
|
|
54
|
+
CREATE TABLE metadata (
|
|
55
|
+
key TEXT PRIMARY KEY,
|
|
56
|
+
value TEXT NOT NULL
|
|
57
|
+
) STRICT;
|
|
58
|
+
CREATE TABLE events (
|
|
59
|
+
stream_id TEXT NOT NULL,
|
|
60
|
+
stream_offset INTEGER NOT NULL,
|
|
61
|
+
ts TEXT NOT NULL,
|
|
62
|
+
author TEXT NOT NULL,
|
|
63
|
+
agent_harness TEXT,
|
|
64
|
+
agent_instance TEXT,
|
|
65
|
+
op TEXT NOT NULL,
|
|
66
|
+
event_class TEXT NOT NULL CHECK(event_class IN ('substantive', 'maintenance')),
|
|
67
|
+
entry_json TEXT NOT NULL,
|
|
68
|
+
PRIMARY KEY(stream_id, stream_offset)
|
|
69
|
+
) STRICT;
|
|
70
|
+
CREATE TABLE streams (
|
|
71
|
+
stream_id TEXT PRIMARY KEY,
|
|
72
|
+
byte_size INTEGER NOT NULL CHECK(byte_size >= 0),
|
|
73
|
+
content_hash TEXT NOT NULL
|
|
74
|
+
) STRICT;
|
|
75
|
+
CREATE INDEX events_order
|
|
76
|
+
ON events(ts, stream_id, stream_offset);
|
|
77
|
+
CREATE INDEX events_op_order
|
|
78
|
+
ON events(op, ts, stream_id, stream_offset);
|
|
79
|
+
CREATE INDEX events_class_stream_order
|
|
80
|
+
ON events(event_class, stream_id, ts, stream_offset);
|
|
81
|
+
CREATE INDEX events_author_order
|
|
82
|
+
ON events(author, ts, stream_id, stream_offset);
|
|
83
|
+
CREATE INDEX events_harness_order
|
|
84
|
+
ON events(agent_harness, ts, stream_id, stream_offset);
|
|
85
|
+
CREATE INDEX events_instance_order
|
|
86
|
+
ON events(agent_instance, ts, stream_id, stream_offset);
|
|
87
|
+
`),e.prepare("INSERT INTO metadata(key, value) VALUES ('version', ?)").run(Hc)}function w_(e,t){let n={...t.entry,ts:new Date(t.entry.ts.trim()).toISOString()};e.prepare(`INSERT INTO events(
|
|
88
|
+
stream_id, stream_offset, ts, author, agent_harness,
|
|
89
|
+
agent_instance, op, event_class, entry_json
|
|
90
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(t.stream_id,t.stream_offset,n.ts,n.author,n.agent_harness??null,n.agent_instance??null,n.op,yn(n),JSON.stringify(n))}function v_(e){let t=JSON.parse(String(e.entry_json));return typeof t.ts!="string"||!Zt(t.ts.trim())?null:{stream_id:String(e.stream_id),stream_offset:Number(e.stream_offset),entry:{...t,ts:new Date(t.ts.trim()).toISOString()}}}function E_(e,t,n){e.prepare(`INSERT INTO streams(stream_id, byte_size, content_hash) VALUES (?, ?, ?)
|
|
91
|
+
ON CONFLICT(stream_id) DO UPDATE SET byte_size = excluded.byte_size, content_hash = excluded.content_hash`).run(t,n.byte_size,n.content_hash)}async function TI(e,t={}){let n=Mi();return n?h_(e,async()=>{let r;try{r=await Fc(e,()=>c_(e),t.lockWaitMs)}catch(a){if(a instanceof g&&a.code==="lock_conflict")return!1;throw a}if(r.pending.length>0||Di(r)&&zc(e,n))return!1;let o=zt(e);await $.mkdir(U.dirname(o),{recursive:!0});let i=`${o}.${Uc()}.tmp`,s;try{s=new n(i),II(s),s.exec("BEGIN IMMEDIATE");let a=await g_(e);await CI(s,a),s.exec("COMMIT"),s.close(),s=void 0;let c=await Fc(e,async()=>{let d=await c_(e);return d.pending.length>0||!EI(r.committed,d.committed)||Di(d)&&zc(e,n)?!1:(await $.rm(o,{force:!0}),await $.rename(i,o),!0)},t.lockWaitMs);return c&&await Promise.all(r.committed.map(d=>$.rm(U.join(Rr(e),d),{force:!0}))),c||(await a_(e),await $.rm(i,{force:!0})),c}catch(a){throw await a_(e),s?.close(),await $.rm(i,{force:!0}),a}},t.lockWaitMs):!1}async function CI(e,t){let n=0;for(let r of t.events)w_(e,r),++n%500===0&&await i_();for(let[r,o]of t.stream_receipts)E_(e,r,o),++n%500===0&&await i_()}function Ti(e,t){return!t||t.length===0||t.includes(e)}function Vc(e,t){return e.entry.ts.localeCompare(t.entry.ts)||e.stream_id.localeCompare(t.stream_id)||e.stream_offset-t.stream_offset}function Pi(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():e}function xI(e,t){if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){if(Vc(e,{stream_id:t.after_stream_id,stream_offset:t.after_stream_offset,entry:{...e.entry,ts:Pi(t.after_ts)}})<=0)return!1}else if(t.since_ts!==void 0&&e.entry.ts<Pi(t.since_ts))return!1;return!0}function RI(e,t){return!t.harnesses||t.harnesses.length===0||t.harnesses.includes(e.entry.agent_harness??"")?!0:e.entry.agent_harness===void 0&&(t.harness_alias_authors??[]).includes(e.entry.author)}function NI(e,t){return!xI(e,t)||!Ti(e.entry.op,t.ops)||!Ti(e.entry.author,t.authors)||!Ti(e.entry.agent_instance??"",t.agent_instances)||!Ti(e.stream_id,t.stream_ids)||!RI(e,t)?!1:(t.provenance??[]).every(n=>{let r=e.entry.agent_provenance?.[n.dimension]?.value;return r!==void 0&&n.values.includes(r)})}async function DI(e,t){let n=Math.max(0,Math.floor(t.limit)),r=await g_(e,t.stream_ids,t.verify),o=r.events.filter(i=>NI(i,t)).slice(0,n+1);return{events:o.slice(0,t.limit),has_more:o.length>t.limit,...t.verify?{verified_streams:r.stream_receipts.size}:{}}}async function PI(e,t){let n=e.prepare("SELECT byte_size, content_hash FROM streams WHERE stream_id = ?").get(U.basename(t,".jsonl")),r=0;try{r=(await $.stat(t)).size}catch(i){if(!ee(i))throw i}if(Number(n?.byte_size??0)!==r)return!1;let o=await Wc(U.dirname(U.dirname(t)),U.basename(t,".jsonl"));return n===void 0?o?.byte_size===0:o?.content_hash===n.content_hash}async function k_(e,t,n){let r=U.dirname(U.dirname(e)),o=Mi(),i=!1,s=async()=>{await n(),i=!0};if(!o){await l_(r,s);return}try{await h_(r,async()=>{let a=zt(r);try{await $.access(a)}catch{await s();return}let c;try{if(c=new o(a),c.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==Hc)throw new TypeError("Unsupported history event index version");if(!await PI(c,e))throw new TypeError("Stale history event index append base")}catch(l){if(c?.close(),Ft(l))throw l;await $c(r,!0),await s();return}try{c.exec("PRAGMA busy_timeout = 0"),c.exec("BEGIN IMMEDIATE")}catch(l){if(c.close(),Ft(l)||!(l instanceof Error)||l.code!=="ERR_SQLITE_ERROR")throw l;await $c(r,!1),await s();return}let d=!1;try{await s(),d=!0;let l=U.basename(e,".jsonl"),u=c.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(l);w_(c,{stream_id:l,stream_offset:Number(u.value),entry:t}),E_(c,l,await Wc(r,l)),c.exec("COMMIT"),c.close()}catch(l){if(c?.close(),!d)throw l;await $c(r,Ft(l))}},0,"append")}catch(a){if(i){await Ni(r);return}if(!$I(a))throw a;await l_(r,s,Ft(a))}}async function l_(e,t,n=!1){let r=!1,o;try{await Fc(e,async()=>{let i=n||Di(await Ri(e)),s=await vI(e);o=s.pendingPath;try{await t(),r=!0}catch(a){throw await $.rm(s.pendingPath,{force:!0}),a}await $.rename(s.pendingPath,i?s.committedPath.replace(/\.committed$/u,".contended.committed"):s.committedPath),i||await Ni(e)})}catch(i){if(r){await Ni(e);try{await $.rm(o,{force:!0})}catch{}return}throw i}}async function Bc(e){await $.rm(zt(U.dirname(U.dirname(e))),{force:!0})}function Ci(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function MI(e,t,n,r){if(!n||n.length===0)return;let o=n.map(()=>"?").join(", "),i=r??[];if(i.length>0){e.push(`(agent_harness IN (${o}) OR (agent_harness IS NULL AND author IN (${i.map(()=>"?").join(", ")})))`),t.push(...n,...i);return}e.push(`agent_harness IN (${o})`),t.push(...n)}async function S_(e,t,n,r){let o;try{let i=await Ri(e);if(await d_(e,i))return st;let s=await u_(e);if(i.committed.length>0)return Di(i)&&zc(e,t)?st:null;if(o=new t(zt(e),{readOnly:!0}),o.exec("BEGIN"),o.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==Hc)return null;let a=r(o);if(a===null)return null;let c=jI(o,n),d=o;o=void 0,d.close();let l=await FI([...c.keys()],e,n),u=await LI(c,e,l),f=await Ri(e);return f.committed.length>0||await d_(e,f)||s!==await u_(e)?st:u?a:null}catch(i){return Ft(i)?st:null}finally{o?.close()}}function Ft(e){return typeof e=="object"&&e!==null&&"errcode"in e&&[5,6].includes(e.errcode)}function $I(e){return Ft(e)||e instanceof g&&e.code==="lock_conflict"}function jI(e,t){let n=new Map,r=t&&t.length>0?[...new Set(t)]:void 0;if(r===void 0)for(let o of e.prepare("SELECT stream_id, byte_size, content_hash FROM streams").all())n.set(String(o.stream_id),{byte_size:Number(o.byte_size),content_hash:String(o.content_hash)});else for(let o=0;o<r.length;o+=500){let i=r.slice(o,o+500);for(let s of e.prepare(`SELECT stream_id, byte_size, content_hash FROM streams WHERE stream_id IN (${i.map(()=>"?").join(", ")})`).all(...i))n.set(String(s.stream_id),{byte_size:Number(s.byte_size),content_hash:String(s.content_hash)})}return n}async function u_(e){let t=await $.stat(zt(e),{bigint:!0});return[t.dev,t.ino,t.size,t.mtimeNs,t.ctimeNs].join(":")}async function _F(e,t){if(t.verify)return{result:await DI(e,t),repair_needed:!1};let n=Mi();if(!n)return{result:null,repair_needed:!1};let r=[],o=[];if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){r.push("(ts > ? OR (ts = ? AND stream_id > ?) OR (ts = ? AND stream_id = ? AND stream_offset > ?))");let a=Pi(t.after_ts);o.push(a,a,t.after_stream_id,a,t.after_stream_id,t.after_stream_offset)}else t.since_ts!==void 0&&(r.push("ts >= ?"),o.push(Pi(t.since_ts)));Ci(r,o,"op",t.ops),Ci(r,o,"author",t.authors),MI(r,o,t.harnesses,t.harness_alias_authors),Ci(r,o,"agent_instance",t.agent_instances);for(let a of t.provenance??[])r.push(`json_extract(entry_json, '$.agent_provenance.${a.dimension}.value') IN (${a.values.map(()=>"?").join(", ")})`),o.push(...a.values);Ci(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s=await S_(e,n,t.stream_ids,a=>{let c=a.prepare(`SELECT stream_id, stream_offset, entry_json
|
|
92
|
+
FROM events${i}
|
|
93
|
+
ORDER BY ts, stream_id, stream_offset
|
|
94
|
+
LIMIT ?`).all(...o,Math.max(0,Math.floor(t.limit))+1),d=c.slice(0,t.limit).map(v_);return d.includes(null)?null:{events:d,has_more:c.length>t.limit}});return{result:s===st?null:s,repair_needed:s===null&&!await y_(e)}}function O_(e,t){let n=Object.create(null);for(let r of e){if(!t.has(r.stream_id)||yn(r.entry)!=="substantive")continue;let o=n[r.stream_id];(o===void 0||Vc(o,r)<0)&&(n[r.stream_id]=r)}return n}async function Wc(e,t){if(U.basename(t)!==t)return null;try{let n=U.join(e,"history",`${t}.jsonl`),r=await $.stat(n),o=await $.readFile(n);return r.size!==o.length?null:{byte_size:o.length,content_hash:xi("sha256").update(o).digest("hex")}}catch(n){if(ee(n))return{byte_size:0,content_hash:xi("sha256").digest("hex")};throw n}}async function LI(e,t,n){for(let r=0;r<n.length;r+=s_){let o=n.slice(r,r+s_),i=await Promise.all(o.map(s=>Wc(t,s)));for(let[s,a]of i.entries()){if(a===null)return!1;let c=o[s],d=e.get(c);if(!(a.byte_size===0&&d===void 0)&&(a.byte_size!==d?.byte_size||a.content_hash!==d.content_hash))return!1}}return!0}async function FI(e,t,n){if(n&&n.length>0)return[...new Set(n.filter(o=>o.trim().length>0))];let r=await $.readdir(U.join(t,"history"),{withFileTypes:!0}).then(o=>o.filter(i=>i.isFile()&&i.name.endsWith(".jsonl")).map(i=>i.name.slice(0,-6))).catch(o=>{if(ee(o))return[];throw o});return[...new Set([...e,...r])]}async function f_(e,t,n,r){return e?S_(t,e,n,o=>{let i=[];for(let s=0;s<n.length;s+=500){let a=n.slice(s,s+500),c=o.prepare(`SELECT stream_id, stream_offset, entry_json
|
|
95
|
+
FROM (
|
|
96
|
+
SELECT stream_id, stream_offset, entry_json,
|
|
97
|
+
ROW_NUMBER() OVER (
|
|
98
|
+
PARTITION BY stream_id
|
|
99
|
+
ORDER BY ts DESC, stream_offset DESC
|
|
100
|
+
) AS recency_rank
|
|
101
|
+
FROM events
|
|
102
|
+
WHERE event_class = 'substantive'
|
|
103
|
+
AND stream_id IN (${a.map(()=>"?").join(", ")})
|
|
104
|
+
)
|
|
105
|
+
WHERE recency_rank = 1`).all(...a).map(v_);if(c.includes(null))return null;i.push(...c)}return O_(i,r)}):null}async function yF(e,t){let n=[...new Set(t.filter(a=>a.trim().length>0&&U.basename(a)===a))];if(n.length===0)return{};let r=new Set(n),o=Mi(),i=await f_(o,e,n,r);if(i!==null&&i!==st)return i;if(o&&i!==st&&!await y_(e))try{if(await TI(e,{lockWaitMs:0})){let a=await f_(o,e,n,r);if(a!==null&&a!==st)return a}}catch{}let s=[];return await Promise.all(n.map(async a=>{let c=U.join(e,"history",`${a}.jsonl`);(await AI(c,a).catch(d=>{if(d instanceof g&&d.code==="history_timestamp_invalid")return[];throw d})).forEach((d,l)=>{s.push({stream_id:a,stream_offset:l,entry:d})})})),O_(s,r)}import Gc from"node:fs/promises";import In 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]="687cbe24-6d5c-5322-962d-455048eb84b5")}catch{}})();var zI=In.join("runtime","history-drift-cache.json"),A_={EINVAL:"invalid_cache_path",EISDIR:"cache_path_is_directory",ENOENT:"invalid_cache_path",ENOTDIR:"invalid_cache_path",ERR_FS_EISDIR:"cache_path_is_directory"};function I_(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function UI(e){let t=In.join(e,zI),n=!1,r="invalid_cache_path";try{n=(await Gc.stat(await Gc.realpath(e))).isDirectory()}catch(o){let i=I_(o);r=i===void 0?"unknown":A_[i]??"filesystem_error"}if(!n){Cr(`[pm] warning: history_drift_cache_invalidation_failed:${r}
|
|
106
|
+
`);return}try{await Gc.rm(t,{force:!0})}catch(o){let i=I_(o);if(ee(o))return;let s=i===void 0?"unknown":A_[i]??"filesystem_error";Cr(`[pm] warning: history_drift_cache_invalidation_failed:${s}
|
|
107
|
+
`)}}async function $i(e){let t=In.dirname(In.resolve(e));In.basename(t)==="history"&&await UI(In.dirname(t))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4a3c3c82-0398-549c-8910-fdc69d971cb2")}catch{}})();var qI={front_matter:{},body:""},$t=3,xr=[1,2,3],VI=1,BI=[1];function D_(e){return Ye(x(e),e.hash_algorithm)}function Tn(e){return Vr(x(e))}function zF(e){return Vr(x(e))}function Jc(e){let t={...e,record_hash_version:VI},{record_hash:n,...r}=t;return{...t,record_hash:D_(r)}}function ki(e){try{kt(e.hash_algorithm)}catch{return{ok:!1,error:"unsupported_history_hash_algorithm"}}if(e.record_hash_version===void 0&&e.record_hash===void 0)return{ok:!0,coverage:"item_state_only"};if(e.record_hash_version===void 0||e.record_hash===void 0)return{ok:!1,error:"incomplete_record_hash_envelope"};if(!BI.includes(e.record_hash_version))return{ok:!1,error:"unsupported_record_hash_version"};let{record_hash:t,...n}=e;return D_(n)===e.record_hash?{ok:!0,coverage:"record_and_item_state"}:{ok:!1,error:"record_hash_mismatch"}}function WI(e,t){let n={before_hash:e.before_hash,after_hash:e.after_hash,patch_hash:Tn(e.patch)};return e.hash_algorithm!==void 0&&(n.hash_algorithm=e.hash_algorithm),e.item_hash_version!==void 0&&(n.item_hash_version=e.item_hash_version),t.retainOriginalPatch&&(n.patch=structuredClone(e.patch)),t.retainPriorRecordHash!==!1&&e.record_hash_version!==void 0&&e.record_hash!==void 0&&(n.record_hash_version=e.record_hash_version,n.record_hash=e.record_hash,n.record=structuredClone(e)),n}function Jp(e,t,n={}){let r=ki(e);if(!r.ok)throw new TypeError(r.error);let o=Tn(e.patch),i=n.retainPriorRecord===!0||e.before_hash!==t.before_hash||e.after_hash!==t.after_hash||e.item_hash_version!==t.item_hash_version||e.hash_algorithm!==t.hash_algorithm||o!==Tn(t.patch),s=Jc({...t,...i?{reanchor_evidence:[...t.reanchor_evidence??[],WI(e,n)]}:{}}),a=Pc(s);if(!a.ok)throw new TypeError(a.error);return s}function P_(e){return!Array.isArray(e)||Object.keys(e).length!==e.length?!1:e.every(t=>!Ut(t)||typeof t.path!="string"?!1:t.op==="move"||t.op==="copy"?typeof t.from=="string":["add","replace","test"].includes(t.op)?Object.hasOwn(t,"value"):t.op==="remove")}function GI(e){return Ut(e)&&typeof e.ts=="string"&&typeof e.author=="string"&&typeof e.op=="string"&&typeof e.before_hash=="string"&&typeof e.after_hash=="string"&&P_(e.patch)}function KI(e){let t=e.record_hash_version!==void 0,n=e.record_hash!==void 0;return t===n}function YI(e){return!Ut(e)||!KI(e)||typeof e.before_hash!="string"||typeof e.after_hash!="string"||typeof e.patch_hash!="string"||!/^[a-f0-9]{64}$/u.test(e.patch_hash)||e.patch!==void 0&&!P_(e.patch)||e.record_hash_version!==void 0&&typeof e.record_hash_version!="number"||e.record_hash!==void 0&&(typeof e.record_hash!="string"||!/^(?:[a-f0-9]{64}|[a-f0-9]{128})$/u.test(e.record_hash))?!1:e.record===void 0||GI(e.record)}function XI(e){try{for(let t of e){if(!YI(t))return!1;kt(t.hash_algorithm)}return!0}catch{return!1}}function JI(e){let t=e.record;return t!==void 0&&t.before_hash===e.before_hash&&t.after_hash===e.after_hash&&t.item_hash_version===e.item_hash_version&&t.hash_algorithm===e.hash_algorithm&&t.record_hash_version===e.record_hash_version&&t.record_hash===e.record_hash&&Tn(t.patch)===e.patch_hash}function ZI(e,t,n){if(t.patch&&Tn(t.patch)!==t.patch_hash)return{kind:"patch_hash_mismatch"};if(t.record)return JI(t)?{kind:"record",entry:t.record}:{kind:"record_hash_mismatch"};let r=t.patch??e.patch;if(Tn(r)!==t.patch_hash)return{kind:"digest_only"};let o={...e,before_hash:t.before_hash,after_hash:t.after_hash,patch:r,hash_algorithm:t.hash_algorithm,...t.item_hash_version===void 0?{}:{item_hash_version:t.item_hash_version},...t.record_hash_version===void 0?{}:{record_hash_version:t.record_hash_version},...t.record_hash===void 0?{}:{record_hash:t.record_hash},...n.length===0?{}:{reanchor_evidence:n}};return t.hash_algorithm===void 0&&delete o.hash_algorithm,n.length===0&&delete o.reanchor_evidence,t.item_hash_version===void 0&&delete o.item_hash_version,t.record_hash_version===void 0||t.record_hash===void 0?{kind:"legacy",entry:o}:{kind:"record",entry:o}}function Pc(e){let t=e.reanchor_evidence;if(t===void 0)return{ok:!0,coverage:"none"};if(!Array.isArray(t)||!XI(t))return{ok:!1,error:"rewrite_evidence_invalid"};if(t.length===0)return{ok:!0,coverage:"none"};let n=e;for(let r=t.length-1;r>=0;r-=1){let o=t[r],i=ZI(n,o,t.slice(0,r));if(i.kind==="patch_hash_mismatch")return{ok:!1,error:"rewrite_evidence_patch_hash_mismatch"};if(i.kind==="record_hash_mismatch")return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};if(i.kind==="digest_only")return{ok:!0,coverage:"digest_only"};if(i.kind==="legacy")return{ok:!0,coverage:"legacy_anchor_only"};if(!ki(i.entry).ok)return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};n=i.entry}return{ok:!0,coverage:"complete"}}function ji(e,t){return(e??"").localeCompare(t??"")}function C_(e,t){return(e??0)-(t??0)}function at(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function QI(e,t){return[e.scope.localeCompare(t.scope),ji(e.path,t.path),ji(e.command,t.command),C_(e.timeout_seconds,t.timeout_seconds),ji(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,at(e.env_clear,t.env_clear,[]),at(e.env_set,t.env_set,{}),at(e.assert_stdout_contains,t.assert_stdout_contains,[]),at(e.assert_stdout_regex,t.assert_stdout_regex,[]),at(e.assert_stderr_contains,t.assert_stderr_contains,[]),at(e.assert_stderr_regex,t.assert_stderr_regex,[]),C_(e.assert_stdout_min_lines,t.assert_stdout_min_lines),at(e.assert_json_field_equals,t.assert_json_field_equals,{}),at(e.assert_json_field_gte,t.assert_json_field_gte,{}),ji(e.note,t.note)].find(n=>n!==0)??0}function eT(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function tT(e,t){let n=eT(t);if(n.length===0)return!0;let r=e;for(let o of n){let i=/^(0|[1-9]\d*)$/.test(o)?Number(o):-1,s=Array.isArray(r)?i>=0&&i<r.length?r[i]:void 0:Ut(r)&&Object.prototype.hasOwnProperty.call(r,o)?r[o]:void 0;if(s===void 0)return!1;r=s}return!0}function nT(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!tT(r,o.path)?{...o,op:"add"}:o;n.push(i),r=N_.applyPatch(r,[i],!0,!0).newDocument}return n}function Li(e,t,n=!1){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let r=fn(e),o=t===1||t===2&&n?{...r.metadata,...r.metadata.dependencies===void 0?{}:{dependencies:r.metadata.dependencies.map(s=>({...s,id:s.id.toLowerCase()}))},...r.metadata.tests===void 0?{}:{tests:r.metadata.tests.map(({workspace_context_mode:s,provenance:a,provenance_invalid:c,...d})=>d)},...r.metadata.test_runs===void 0?{}:{test_runs:r.metadata.test_runs.map(({executions:s,...a})=>a)}}:r.metadata,i=t===1&&o.tests?{...o,tests:[...o.tests].sort(QI)}:o;return{front_matter:A(i,ve),body:r.body}}function x_(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let t=fn(e);return{metadata:A(t.metadata,ve),body:t.body}}function UF(e){return M_(e,$t)}function M_(e,t,n){if(!xr.some(r=>r===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return Ye(x(Li(e,t)),n)}function Zp(e,t,n){let r=M_(e,t,n);return t===2?[r,Ye(x(Li(e,t,!0)),n)]:[r]}function HF(){return Vr(x(qI))}function Nr(e){let t=Cf(e.op),n=Li(e.before,$t),r=Li(e.after,$t),o=x_(e.before),i=x_(e.after),s=N_.compare(o,i),a=nT(o,s),c=_m(e.author),d=c.harness?Object.fromEntries(Object.entries(mm().provenance_outcomes).filter(([m,_])=>_.resolver!==void 0&&(_.status!=="resolved"||c.provenance?.[m]?.source==="probe"))):void 0,l=d===void 0||Object.keys(d).length===0?e.context:{...e.context,agent_provenance_outcomes:d},u=e.hashAlgorithm??zu,f={hash_algorithm:u,ts:e.nowIso,author:e.author,author_source:e.authorSource??pm(e.author),...c.harness?{agent_harness:c.harness}:{},...c.model?{agent_model:c.model}:{},...c.model_source?{agent_model_source:c.model_source}:{},...c.instance?{agent_instance:c.instance}:{},...c.provenance?{agent_provenance:c.provenance}:{},...c.episode?{agent_episode:c.episode}:{},op:t,patch:a,before_hash:Ye(x(n),u),after_hash:Ye(x(r),u),item_hash_version:$t,message:e.message===void 0?void 0:e.message,...l===void 0?{}:{context:l}};return Jc({...f,event_class:yn(f)})}function Ut(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Kc(e){return new g(e,h.GENERIC_FAILURE,{code:"history_timestamp_invalid"})}function $_(e){let t=e.ts.trim();if(t.length===0)return Te();if(!Zt(t))throw Kc("History timestamp must be a valid RFC 3339 date-time with millisecond precision");if(t!==e.ts)throw Kc("History timestamp must not contain surrounding whitespace");return e.ts}function R_(e,t){let n=e.ts;if(typeof n=="string"&&n.trim().length>0){if(!Zt(n))throw Kc("History timestamp must be a valid RFC 3339 date-time with millisecond precision");return e}return{...e,ts:t}}function Yc(e,t){let n=$_(t);if(typeof e=="string"){let r;try{r=JSON.parse(e)}catch{return e}return Ut(r)?JSON.stringify(R_(r,n)):e}return Ut(e)?JSON.stringify(R_(e,n)):JSON.stringify(e)}async function rT(e,t,n){if(n===!1)return!0;if(typeof n=="string"){let s=Yc(n,t);return await Xc(e,s),await $i(e),await Bc(e),!0}if(typeof n!="object"||n===null)return!1;let r=n;if(r.skip===!0)return!0;let o=typeof r.history_path=="string"?r.history_path:e,i=Yc(typeof r.line=="string"?r.line:r.entry??t,t);return await Xc(o,i),await $i(o),await Bc(o),!0}async function Xc(e,t){let n;try{n=JSON.parse(t)}catch{n=null}if(!Ut(n)||n.op!=="create"){await Td(e,t);return}await T_.mkdir(HI.dirname(e),{recursive:!0});try{await T_.writeFile(e,`${t}
|
|
108
|
+
`,{encoding:"utf8",flag:"wx"})}catch(r){throw r.code!=="EEXIST"?r:new g("This item identity is reserved by an existing history stream.",h.CONFLICT,{code:"item_identity_reserved",required:"Choose a new item ID or restore the original item from its history.",nextSteps:["Run pm history <id> --full, then pm restore <id> <version> to recover the original item."]})}}async function Dr(e,t){let n=await cn("history_append",{history_path:e,entry:t});if(n.handled&&await rT(e,t,n.result))return;let r=t.ts.trim().length>0?t:{...t,ts:$_(t)},o=Jc({...r,hash_algorithm:kt(r.hash_algorithm),event_class:yn(r)});await k_(e,o,async()=>{await Xc(e,Yc(o,o))}),await $i(e)}import j_ from"node:fs/promises";import Cn 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]="af606b47-d071-5724-b1e7-de4e1e5d7385")}catch{}})();var ct="_workspace";function Ht(e){return Cn.join(e,"history",`${ct}.jsonl`)}function Zc(e,t){return{metadata:{id:ct,title:"Workspace state",description:"Audited singleton workspace document state.",type:"Chore",status:"open",priority:2,tags:["workspace-history"],created_at:t,updated_at:t,documents:e},body:""}}function qt(e,t=e.length){let n=Si();for(let r of e.slice(0,t))n=Ai(n,r.patch).document;return Oi(n)}function xn(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function Rn(e){throw new g(`Workspace history verification failed: ${e.join(", ")}`,h.CONFLICT,{code:"workspace_history_chain_invalid",reason:"workspace_history_chain_verification_failed",verification_errors:[...e],required:"Repair the _workspace history chain before reading, reconciling, restoring, or appending audited singleton state.",why:"Continuing against an unverifiable append-only stream could hide or compound workspace state corruption.",examples:["pm history _workspace --verify --json","pm validate --check-history-drift --fix-hints --json"],nextSteps:["Inspect the exact verification_errors and preserve the corrupt stream as evidence.","Use the history-drift remediation returned by validate before retrying the refused operation."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify --json"}})}function Fi(e,t){let n=Cn.resolve(t),r=Cn.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||Cn.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function tz(e){let t=await xt(Ht(e),ct),n=jt(t);n.ok||Rn(n.errors);let r=xn(t.length===0?Pn:qt(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let d;try{let l=Fi(e,Cn.resolve(e,c));if(d=await Ae(l.absolutePath),d===null){s.push(c);continue}let u=JSON.parse(d);(x(u)===x(r[c])?o:i).push(c)}catch{a.push(c)}}return{ok:i.length===0&&s.length===0&&a.length===0,document_count:Object.keys(r).length,matching_documents:o,mismatched_documents:i,missing_documents:s,unreadable_documents:a}}async function L_(e){let t=Ht(e.pmRoot),n=await xt(t,ct),r=jt(n);r.ok||Rn(r.errors);let o=e.idempotencyKey===void 0?void 0:n.find(u=>u.op===`${e.op}:${e.idempotencyKey}`);if(o)return{entry:o,historyPath:t};let i=Te(),s=n.length===0?Pn:qt(n),a=xn(s),c=a[e.documentPath];if(c!==void 0&&x(c)!==x(e.before))throw new g(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,h.CONFLICT,{code:"workspace_history_state_conflict",reason:"out_of_band_workspace_state",required:"Reconcile the singleton document with its matching _workspace history state before retrying the mutation.",why:"Accepting the write would make the append-only audit stream describe a state that was not actually observed.",examples:["pm history _workspace --verify","pm validate --check-history-drift --fix-hints"],nextSteps:["Review the version-control change that altered the singleton and preserve the intended document plus its matching workspace history.","Rerun the original mutation only after the on-disk singleton agrees with the latest audited workspace state."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify"}});let d=Zc({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),l=Nr({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:d,message:e.message});return await Dr(t,l),{entry:l,historyPath:t}}async function nz(e){let t=await fe(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await L_(e)}finally{await t()}}async function rz(e){let t=await fe(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=Ht(e.pmRoot),r=await xt(n,ct),o=jt(r);o.ok||Rn(o.errors);let i=r.length===0?Pn:qt(r),s=Nr({nowIso:Te(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await Dr(n,s),{entry:s,historyPath:n}}finally{await t()}}async function F_(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await pt(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await L_({pmRoot:e.pmRoot,documentPath:Cn.relative(e.pmRoot,e.filePath).replaceAll("\\","/"),before:n,after:r,op:e.op,idempotencyKey:e.idempotencyKey,author:e.author,lockTtlSeconds:e.lockTtlSeconds,lockWaitMs:e.lockWaitMs,message:e.message})}catch(o){throw t===null?await j_.rm(e.filePath,{force:!0}):await pt(e.filePath,t),o}return!0}async function z_(e){let{documentPath:t}=Fi(e.pmRoot,e.filePath),n=await fe(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let r=await Ae(e.filePath);if(e.dryRun===!0||e.idempotencyKey!==void 0){let i=await xt(Ht(e.pmRoot),ct),s=jt(i);s.ok||Rn(s.errors);let a=xn(i.length===0?Pn:qt(i))[t];if(a!==void 0&&x(a)!==x(r===null?null:JSON.parse(r)))throw new g(`Workspace history state for "${t}" changed outside the audited mutation path.`,h.CONFLICT,{code:"workspace_history_state_conflict"});if(e.idempotencyKey!==void 0&&i.some(c=>c.op===`${e.op}:${e.idempotencyKey}`))return{changed:!1,result:void 0,replayed:!0}}let o=await e.mutate(r);return JSON.parse(o.raw),e.dryRun===!0?{changed:r!==o.raw,result:o.result}:{changed:await F_({...e,raw:o.raw},r),result:o.result}}finally{await n()}}async function oz(e){let t=await fe(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await F_(e,await Ae(e.filePath))}finally{await t()}}async function iz(e){let t=e.authorizationDecision.trim();if(!t)throw new TypeError("Workspace history reconciliation requires an authorization decision");let n=await fe(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let{documentPath:r,absolutePath:o}=Fi(e.pmRoot,e.filePath),i=Ht(e.pmRoot),s=await xt(i,ct),a=jt(s);a.ok||Rn(a.errors);let c=qt(s),d=xn(c);if(!Object.hasOwn(d,r))throw new TypeError(`Workspace history does not govern document ${r}`);let l=await Ae(o);if(l===null)throw new TypeError(`Workspace history document is missing: ${r}`);let u=JSON.parse(l);if(x(d[r])===x(u))return{changed:!1,historyPath:i};let f=Te(),m=Nr({nowIso:f,author:e.author,op:e.op,before:c,after:Zc({...d,[r]:u},c.metadata.created_at),message:e.message,context:{reason:"out_of_band_workspace_state_reconciliation",document_path:r,authorization_decision:t}});return await Dr(i,m),{changed:!0,entry:m,historyPath:i}}finally{await n()}}async function sz(e){let t=await fe(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let{documentPath:n,absolutePath:r}=Fi(e.pmRoot,e.filePath),o=await xt(Ht(e.pmRoot),ct),i=jt(o);if(i.ok||Rn(i.errors),!Number.isInteger(e.targetVersion)||e.targetVersion<1||e.targetVersion>o.length)throw new TypeError(`Invalid workspace history target version: ${String(e.targetVersion)}`);let s=xn(qt(o,e.targetVersion))[n];if(s===void 0)throw new TypeError(`Workspace history version ${e.targetVersion} does not contain ${n}`);let a=await Ae(r),c=`${JSON.stringify(s,null,2)}
|
|
109
|
+
`;if(a===c)return{document_path:n,restored_from_version:e.targetVersion,changed:!1};let d=qt(o),l=Te(),u=Nr({nowIso:l,author:e.author,op:e.op,before:d,after:Zc({...xn(d),[n]:s},d.metadata.created_at),message:e.message,context:{reason:"workspace_state_restore",document_path:n,restored_from_version:e.targetVersion,replaced_out_of_band_state:!0}});await pt(r,c);try{await Dr(Ht(e.pmRoot),u)}catch(f){throw a===null?await j_.rm(r,{force:!0}):await pt(r,a),f}return{document_path:n,restored_from_version:e.targetVersion,changed:!0}}finally{await t()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c7f9d249-e2c2-5edd-afbd-b14ac1c12e81")}catch{}})();var Ne={ok:!1,path:[]};function ed(e,t){return{ok:!1,path:[e,...t.path]}}var b=e=>typeof e=="string"?{ok:!0,value:e}:Ne,R=e=>typeof e=="boolean"?{ok:!0,value:e}:Ne;function F(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?Ne:{ok:!0,value:t}}function N(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:Ne}function k(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return Ne;let r=[];for(let[o,i]of n.entries()){let s=e(i);if(!s.ok)return ed(String(o),s);r.push(s.value)}return{ok:!0,value:r}}}function td(e,t){return n=>typeof n=="string"&&n.length>0&&n.length<=e&&n===n.trim()&&(t===void 0||t.test(n))?{ok:!0,value:n}:Ne}function p(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function zi(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return Ne;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return ed(r,i);n[r]=i.value}return{ok:!0,value:n}}}function I(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return Ne;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return ed(o,s);s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var oT=I({key:b,values:k(b),required:p(R),aliases:p(k(b)),description:p(b)}),iT=I({command:N("create","update"),option:b,required:p(R),visible:p(R),enabled:p(R)}),sT=I({name:b,description:p(b),default_status:p(b),execution_role:p(N("agent","human","gate")),folder:p(b),aliases:p(k(b)),required_create_fields:p(k(b)),required_create_repeatables:p(k(b)),options:p(k(oT)),command_option_policies:p(k(iT))}),aT=I({id:b,aliases:p(k(b)),roles:p(k(N(...Kr))),description:p(b),order:p(F())}),cT=I({key:b,metadata_key:p(b),front_matter_key:p(b),cli_flag:p(b),cli_aliases:p(k(b)),description:p(b),type:p(N(...Xt)),commands:p(k(N(...Yr))),repeatable:p(R),required:p(R),required_on_create:p(R),required_types:p(k(b)),allow_unset:p(R)}),dT=e=>{if(!Array.isArray(e)||e.length!==2)return Ne;let[t,n]=e;return typeof t!="string"||typeof n!="string"?Ne:{ok:!0,value:[t,n]}},lT=I({type:b,allowed_transitions:k(dT)}),uT=p(I({version:p(F({int:!0})),files:p(I({types:p(b),statuses:p(b),fields:p(b),workflows:p(b)})),statuses:p(k(aT)),fields:p(k(cT)),workflow:p(I({draft_status:p(b),open_status:p(b),in_progress_status:p(b),blocked_status:p(b),close_status:p(b),canceled_status:p(b)})),type_workflows:p(k(lT)),unknown_field_policy:p(N(...Xr))})),fT=p(I({preset:p(N(...$d)),ownership_enforcement:p(N("none","warn","strict")),create_mode_default:p(N("progressive","strict")),close_validation_default:p(N("off","warn","strict")),require_close_reason:p(R),parent_reference:p(N("warn","strict_error")),metadata_profile:p(N("core","strict","custom")),force_required_for_stale_lock:p(R),create_default_type:p(b),workflow_enforcement:p(N("off","warn","strict")),duplicate_detection_mode:p(N("off","advisory","strict")),duplicate_detection_threshold:p(F({min:0,max:1})),duplicate_detection_limit:p(F({int:!0,min:0,max:20}))})),mT=I({name:b,disabled:p(R),require_trusted:p(R),require_provenance:p(R),sandbox_profile:p(N("none","restricted","strict")),allowed_capabilities:p(k(b)),blocked_capabilities:p(k(b)),allowed_surfaces:p(k(b)),blocked_surfaces:p(k(b)),allowed_commands:p(k(b)),blocked_commands:p(k(b)),allowed_actions:p(k(b)),blocked_actions:p(k(b)),allowed_services:p(k(b)),blocked_services:p(k(b))}),Qc=N("block","warn"),pT=e=>typeof e=="string"?Qc(e):I({global:p(Qc),project:p(Qc)})(e),_T=p(I({mode:p(N("off","warn","enforce")),trust_mode:p(N("off","warn","enforce")),pm_max_version_exceeded_mode:p(pT),require_provenance:p(R),trusted_extensions:p(k(b)),default_sandbox_profile:p(N("none","restricted","strict")),allowed_extensions:p(k(b)),blocked_extensions:p(k(b)),allowed_capabilities:p(k(b)),blocked_capabilities:p(k(b)),allowed_surfaces:p(k(b)),blocked_surfaces:p(k(b)),allowed_commands:p(k(b)),blocked_commands:p(k(b)),allowed_actions:p(k(b)),blocked_actions:p(k(b)),allowed_services:p(k(b)),blocked_services:p(k(b)),extension_overrides:p(k(mT))})),Vt=td(128),yT=I({harness:td(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:p(k(Vt,64)),model_environment_keys:p(k(Vt,64)),session_environment_keys:p(k(Vt,64)),provenance_environment_keys:p(zi(k(Vt,64))),provenance_resolvers:p(zi(N("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:p(k(Vt,64)),argv_markers:p(k(Vt,64)),client_names:p(k(Vt,64))}),U_={version:F({int:!0}),id_prefix:b,ids:p(I({token_length:p(F({int:!0,min:4,max:12}))})),author_default:b,agent_identity:p(I({probes_enabled:p(R),identity_vocabulary:p(I({version:F({int:!0,positive:!0}),aliases:zi(td(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:k(yT)})),mutation_guard:p(I({require_attributed_author:p(R),secret_guard:p(N("off","advise","block")),stale_in_progress_hours:p(F({int:!0,positive:!0}))})),item_format:p(N("toon","json_markdown")),locks:I({ttl_seconds:F({int:!0}),wait_ms:p(F({int:!0,min:0}))}),checkpoints:p(I({retention_days:p(F({int:!0,positive:!0}))})),output:I({default_format:N("toon","json")}),ux:p(I({deprecation_hints:p(R)})),history:p(I({missing_stream:N("auto_create","strict_error"),compact_policy:p(I({enabled:p(R),max_entries:p(F({int:!0,positive:!0})),trigger:p(N("health_warn","auto"))}))})),validation:p(I({sprint_release_format:N("warn","strict_error"),parent_reference:p(N("warn","strict_error")),metadata_profile:p(N("core","strict","custom")),metadata_required_fields:p(k(b)),lifecycle_stale_blocker_reason_patterns:p(k(b)),lifecycle_closure_like_blocked_reason_patterns:p(k(b)),lifecycle_closure_like_resolution_patterns:p(k(b)),lifecycle_closure_like_actual_result_patterns:p(k(b)),estimate_defaults_by_type:p(zi(F({int:!0,positive:!0})))})),governance:fT,workflow:p(I({definition_of_done:k(b)})),testing:p(I({record_results_to_items:R,allow_untrusted_linked_tests:p(R)})),telemetry:p(I({enabled:R,first_run_prompt_completed:p(R),capture_level:p(N("minimal","redacted","max")),endpoint:p(b),installation_id:p(b),retention_days:p(F({int:!0,positive:!0}))})),agent_guidance:p(I({prompt_completed:p(R),declined:p(R),declined_at:p(b),template_version:p(F({int:!0,positive:!0})),last_checked_files:p(k(b))})),item_types:p(I({definitions:k(sT)})),schema:uT,context:p(I({default_depth:p(N("brief","standard","deep")),activity_limit:p(F({int:!0,positive:!0})),stale_threshold_days:p(F({int:!0,positive:!0})),next_ranking_policy:p(N("priority_floor","weighted")),sections:p(I({hierarchy:p(R),activity:p(R),progress:p(R),recently_created:p(R),unparented:p(R),blockers:p(R),files:p(R),workload:p(R),staleness:p(R),tests:p(R)}))})),extensions:I({enabled:k(b),disabled:k(b),policy:_T}),search:I({score_threshold:F(),hybrid_semantic_weight:p(F()),max_results:F({int:!0}),embedding_model:b,embedding_corpus_max_characters:p(F()),embedding_batch_size:F({int:!0}),embedding_timeout_ms:p(F({int:!0})),scanner_max_batch_retries:F({int:!0}),provider:p(b),default_mode:p(N("auto","keyword","semantic","hybrid")),corpus_fields:p(k(b)),mutation_refresh_policy:p(N("cache_only","semantic_configured","semantic_auto")),query_expansion:p(I({enabled:p(R),provider:p(b)})),rerank:p(I({enabled:p(R),model:p(b),top_k:p(F({int:!0,positive:!0}))})),bm25:p(I({k1:p(F()),b:p(F())}))}),providers:I({openai:I({base_url:b,api_key:b,model:b}),ollama:I({base_url:b,model:b})}),vector_store:I({adapter:p(b),collection_name:p(b),qdrant:I({url:b,api_key:b}),lancedb:I({path:b})})},hT=I(U_),H_=Object.freeze(Object.keys(U_));function Ui(e){let t=hT(e);return t.ok?{success:!0,data:t.value}:{success:!1,path:t.path.join(".")}}import{AsyncLocalStorage as kT}from"node:async_hooks";import{lstat as ST,realpath as Q_}from"node:fs/promises";import ey 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]="a0ca9902-540c-50fe-a4e2-9c234c4a01f3")}catch{}})();function Hi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nd(e,t,n,r=[]){if(W(e,t)&&(r.length>0||Hi(n)))return n;if(W(e,n)||W(t,n))return t;if((e===void 0||Hi(e))&&Hi(t)&&Hi(n)){let o=e??{},i=new Set([...Object.keys(o),...Object.keys(t),...Object.keys(n)]);return Object.fromEntries([...i].flatMap(s=>{let a=nd(Object.hasOwn(o,s)?o[s]:void 0,Object.hasOwn(t,s)?t[s]:void 0,Object.hasOwn(n,s)?n[s]:void 0,[...r,s]);return a===void 0?[]:[[s,a]]}))}throw new g(`Settings changed concurrently at ${r.join(".")||"<root>"}; read the latest settings and reapply the intended change.`,h.CONFLICT,{reason:"stale_settings_snapshot",required:"Read a fresh settings snapshot and reapply the intended change.",why:"Another writer changed the same setting after this snapshot was read.",examples:["pm config project export --json"],nextSteps:["Read the current settings, then retry the original config operation."]})}(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]="de43e8e6-d7ef-53cc-94b0-ccdf1c4f94a3")}catch{}})();var gT={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},q_=120;function rd(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function B_(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var bT=B_(gT),V_=new WeakMap;function wT(e){let t=V_.get(e);if(t)return t;let n=B_(e);return V_.set(e,n),n}function pz(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return q_;if(t){let o=wT(t).get(n);if(rd(o))return Math.floor(o)}let r=bT.get(n);return rd(r)?Math.floor(r):q_}function od(e){let t={};if(e===null||typeof e!="object"||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!rd(r)||(t[o]=Math.floor(r))}return t}import{stat as vT}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]="78c79deb-5cf0-54fe-b98c-a0d5b3671ab2")}catch{}})();var qi=new Map;function W_(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function ET(e){try{let t=await vT(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function dt(e){let t=W_(e),n=await Promise.all(t.map(r=>ET(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Pr(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],o=t[n];if(r.path!==o.path||r.mtime_ms!==o.mtime_ms||r.size!==o.size)return!1}return!0}function G_(e){return qi.get(e)}function Vi(e,t){let n=W_(t.tracked_paths),r=[...t.signatures].map(o=>({path:o.path,mtime_ms:o.mtime_ms,size:o.size})).sort((o,i)=>o.path.localeCompare(i.path));qi.set(e,{tracked_paths:n,signatures:r,value:t.value})}function Bt(e){if(e){qi.delete(e);return}qi.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f9ff37ec-3a6f-5496-b59d-cdf2cce3a63a")}catch{}})();var cd=new kT;async function Mz(e,t,n=()=>!0){let r=new Set([ey.resolve(e)]);try{r.add(await Q_(e))}catch{}return cd.run([...cd.getStore()??[],[r,n]],t)}function OT(e){let t=ey.resolve(e);return cd.getStore()?.some(([n,r])=>n.has(t)&&r())??!1}var AT="settings:write",ty=Symbol("pm.settings.persist_source"),ny=Symbol("pm.settings.fallback_origin"),ry=Symbol("pm.settings.fallback_baseline"),IT=128,TT=new Set(["off","advisory","strict"]);function K_(e){return structuredClone(Ad[e])}function CT(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:S.governance.preset}function Y_(e,t){let n=typeof t.create_default_type=="string"?t.create_default_type.trim():void 0;return n&&n.length>0&&(e.create_default_type=n),(t.workflow_enforcement==="off"||t.workflow_enforcement==="warn"||t.workflow_enforcement==="strict")&&(e.workflow_enforcement=t.workflow_enforcement),t.require_close_reason===!1&&(e.require_close_reason=!1),e.duplicate_detection_mode=t.duplicate_detection_mode,e.duplicate_detection_threshold=t.duplicate_detection_threshold,e.duplicate_detection_limit=t.duplicate_detection_limit,e}function xT(e){return e.preset==="custom"?Y_({preset:"custom",ownership_enforcement:e.ownership_enforcement,create_mode_default:e.create_mode_default,close_validation_default:e.close_validation_default,parent_reference:e.parent_reference,metadata_profile:e.metadata_profile,force_required_for_stale_lock:e.force_required_for_stale_lock},e):Y_({preset:e.preset},e)}function RT(e){let t=typeof e.create_default_type=="string"?e.create_default_type.trim():void 0,n={};t&&t.length>0&&(n.create_default_type=t),(e.workflow_enforcement==="off"||e.workflow_enforcement==="warn"||e.workflow_enforcement==="strict")&&(n.workflow_enforcement=e.workflow_enforcement),typeof e.require_close_reason=="boolean"&&(n.require_close_reason=e.require_close_reason),TT.has(String(e.duplicate_detection_mode))&&(n.duplicate_detection_mode=e.duplicate_detection_mode);let r=e.duplicate_detection_threshold;[typeof r=="number",Number.isFinite(r),Number(r)>=0,Number(r)<=1].every(Boolean)&&(n.duplicate_detection_threshold=r);let o=e.duplicate_detection_limit;return[typeof o=="number",Number.isSafeInteger(o),Number(o)>=0,Number(o)<=20].every(Boolean)&&(n.duplicate_detection_limit=o),n}function oy(e){let t=e.governance??{},n=CT(t.preset),r=RT(t);if(n==="custom"){let s=K_("default"),a=r.require_close_reason??s.require_close_reason;return{preset:n,ownership_enforcement:t.ownership_enforcement??s.ownership_enforcement,create_mode_default:t.create_mode_default??s.create_mode_default,close_validation_default:t.close_validation_default??s.close_validation_default,parent_reference:t.parent_reference??s.parent_reference,metadata_profile:t.metadata_profile??s.metadata_profile,force_required_for_stale_lock:t.force_required_for_stale_lock??s.force_required_for_stale_lock,...r,require_close_reason:a,duplicate_detection_mode:r.duplicate_detection_mode??s.duplicate_detection_mode,duplicate_detection_threshold:r.duplicate_detection_threshold??s.duplicate_detection_threshold,duplicate_detection_limit:r.duplicate_detection_limit??s.duplicate_detection_limit}}let o=K_(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function ud(){return structuredClone(S)}function iy(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:S.search.mutation_refresh_policy}function sy(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function ay(e){return typeof e=="boolean"?e:S.search.query_expansion.enabled}function cy(e){return typeof e!="string"?S.search.query_expansion.provider:e.trim()}function dy(e){return typeof e=="boolean"?e:S.search.rerank.enabled}function ly(e){return typeof e!="string"?S.search.rerank.model:e.trim()}function uy(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:S.search.rerank.top_k}function fy(e){if(typeof e!="string")return S.vector_store.collection_name;let t=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,IT);return t.length>0?t:S.vector_store.collection_name}function id(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function my(e,t){let n=e.schema,r=id(n?.statuses),o=id(n?.fields),i=id(n?.type_workflows);return{persisted_settings:structuredClone(e),source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:Nn(e.item_types?.definitions),has_source_schema_statuses:r.present,source_schema_statuses:r.values,has_source_schema_fields:o.present,source_schema_fields:o.values,has_source_schema_type_workflows:i.present,source_schema_type_workflows:i.values,runtime_item_type_definitions:Nn(t.item_types?.definitions),runtime_schema_statuses:structuredClone(t.schema.statuses),runtime_schema_fields:structuredClone(t.schema.fields),runtime_schema_type_workflows:structuredClone(t.schema.type_workflows??[])}}function Gi(e,t){Object.defineProperty(e,ty,{value:t,writable:!0,configurable:!0,enumerable:!1})}function fd(e){let t=e[ty];if(!(!t||typeof t!="object"))return t}function $z(e){let t=fd(e);if(t){let n=structuredClone(t);n.source_settings.item_format=e.item_format,Gi(e,n)}}function Bi(e){let t=structuredClone(e.settings),n=fd(e.settings);n&&Gi(t,n);let r=md(e.settings);return r!==void 0&&py(t,r),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function NT(e,t,n){let r=Ce(t);return[n,ue(e,r.files.types,ie.types),ue(e,r.files.statuses,ie.statuses),ue(e,r.files.fields,ie.fields),ue(e,r.files.workflows,ie.workflows)]}async function DT(e,t,n){let r=await dt(t);Vi(e,{tracked_paths:t,signatures:r,value:Bi(n)})}async function PT(e,t,n){try{await DT(e,t,n)}catch{Bt(e)}}function X_(e,t){return e.find(n=>n.path===t)}function MT(e,t,n){for(let r of n){let o=X_(e,r),i=X_(t,r);if(!o||!i||!Pr([o],[i]))return!1}return!0}async function sd(e,t,n,r,o){try{let i=await dt(t);if(!MT(r,i,o)){Bt(e);return}Vi(e,{tracked_paths:t,signatures:i,value:Bi(n)})}catch{Bt(e)}}function $T(e,t){let n=Ce(e.schema),r=Nn(e.item_types?.definitions);if(!t)return{item_type_definitions:r,schema_statuses:n.statuses,schema_fields:n.fields,schema_type_workflows:n.type_workflows};let o=n.type_workflows??[],i=W(r,t.runtime_item_type_definitions),s=W(n.statuses,t.runtime_schema_statuses),a=W(n.fields,t.runtime_schema_fields),c=W(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?Nn(t.source_item_type_definitions):[]:r,schema_statuses:s?t.has_source_schema_statuses?structuredClone(t.source_schema_statuses):[]:n.statuses,schema_fields:a?t.has_source_schema_fields?structuredClone(t.source_schema_fields):[]:n.fields,schema_type_workflows:c?t.has_source_schema_type_workflows?structuredClone(t.source_schema_type_workflows):void 0:n.type_workflows}}function py(e,t){Object.defineProperty(e,ny,{value:t,writable:!0,configurable:!0,enumerable:!1})}function jz(e){return md(e)!==void 0}function md(e){let t=e[ny];return typeof t=="string"?t:void 0}function jT(e){return e[ry]}function LT(e,t){Object.defineProperty(e,ry,{value:t,writable:!0,configurable:!0,enumerable:!1})}function De(e){let t=ud();return e!==void 0&&py(t,e),{settings:t,metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function _y(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function dd(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function yy(e){let t=S.agent_guidance,n=e?.template_version;return{prompt_completed:e?.prompt_completed===!0,declined:e?.declined===!0,declined_at:typeof e?.declined_at=="string"?e.declined_at:t.declined_at,template_version:typeof n=="number"&&Number.isInteger(n)&&n>0?n:t.template_version,last_checked_files:dd(e?.last_checked_files??t.last_checked_files)}}function Oe(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function FT(e){return e==="off"||e==="warn"||e==="enforce"?e:S.extensions.policy.mode}function zT(e){return e==="off"||e==="warn"||e==="enforce"?e:S.extensions.policy.trust_mode}function hy(e){return e==="none"||e==="restricted"||e==="strict"?e:S.extensions.policy.default_sandbox_profile}function UT(e){let t=e.name.trim().toLowerCase();if(t.length===0)return null;let n={name:t};e.disabled===!0&&(n.disabled=!0),e.require_trusted===!0&&(n.require_trusted=!0),e.require_provenance===!0&&(n.require_provenance=!0),e.sandbox_profile!==void 0&&(n.sandbox_profile=hy(e.sandbox_profile));let r=Oe(e.allowed_capabilities),o=Oe(e.blocked_capabilities),i=Oe(e.allowed_surfaces),s=Oe(e.blocked_surfaces),a=Oe(e.allowed_commands),c=Oe(e.blocked_commands),d=Oe(e.allowed_actions),l=Oe(e.blocked_actions),u=Oe(e.allowed_services),f=Oe(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),d.length>0&&(n.allowed_actions=d),l.length>0&&(n.blocked_actions=l),u.length>0&&(n.allowed_services=u),f.length>0&&(n.blocked_services=f),n}function HT(e){let t=new Map;for(let n of e??[]){let r=UT(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function ad(e){return e==="block"||e==="warn"?e:void 0}function qT(e){if(typeof e=="string")return ad(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=ad(e.global),n=ad(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function he(e,t){return Oe(e?.[t]??S.extensions.policy[t])}function gy(e){let t=qT(e?.pm_max_version_exceeded_mode);return{mode:FT(e?.mode),trust_mode:zT(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:he(e,"trusted_extensions"),default_sandbox_profile:hy(e?.default_sandbox_profile),allowed_extensions:he(e,"allowed_extensions"),blocked_extensions:he(e,"blocked_extensions"),allowed_capabilities:he(e,"allowed_capabilities"),blocked_capabilities:he(e,"blocked_capabilities"),allowed_surfaces:he(e,"allowed_surfaces"),blocked_surfaces:he(e,"blocked_surfaces"),allowed_commands:he(e,"allowed_commands"),blocked_commands:he(e,"blocked_commands"),allowed_actions:he(e,"allowed_actions"),blocked_actions:he(e,"blocked_actions"),allowed_services:he(e,"allowed_services"),blocked_services:he(e,"blocked_services"),extension_overrides:HT(e?.extension_overrides??S.extensions.policy.extension_overrides)}}function by(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase().replaceAll("-","_")))].filter(t=>t.length>0).sort((t,n)=>t.localeCompare(n)).filter(t=>["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"].includes(t))}function lt(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function G(e,t){return e===void 0?t:e}function ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function ld(e){return Array.isArray(e)?e:[]}function VT(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:by(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:lt(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:lt(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:lt(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:lt(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:od(e.validation?.estimate_defaults_by_type)}}function BT(e,t){return{enabled:e.telemetry?.enabled??t.telemetry.enabled,first_run_prompt_completed:e.telemetry?.first_run_prompt_completed??t.telemetry.first_run_prompt_completed,capture_level:e.telemetry?.capture_level??t.telemetry.capture_level,endpoint:e.telemetry?.endpoint??t.telemetry.endpoint,installation_id:e.telemetry?.installation_id??t.telemetry.installation_id,retention_days:e.telemetry?.retention_days??t.telemetry.retention_days}}function WT(e,t){return{...t.search,...e.search,default_mode:sy(e.search?.default_mode),mutation_refresh_policy:iy(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:ay(e.search?.query_expansion?.enabled),provider:cy(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:dy(e.search?.rerank?.enabled),model:ly(e.search?.rerank?.model),top_k:uy(e.search?.rerank?.top_k)}}}function GT(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:fy(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function KT(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function YT(e,t){return{default_depth:e.context?.default_depth??t.context.default_depth,activity_limit:e.context?.activity_limit??t.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??t.context.stale_threshold_days,next_ranking_policy:e.context?.next_ranking_policy??t.context.next_ranking_policy,sections:{...t.context.sections,...e.context?.sections}}}function XT(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function Nn(e){let t=(e??[]).map(r=>eo(r)).filter(r=>r!==null),n=new Map;for(let r of t)n.set(r.name.toLowerCase(),r);return[...n.values()].sort((r,o)=>r.name.localeCompare(o.name))}function Wi(e){let t=ud(),n=oy({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:KT(e,t),locks:{...t.locks,...e.locks},ids:{...t.ids,...e.ids},agent_identity:structuredClone(e.agent_identity??t.agent_identity),mutation_guard:{...t.mutation_guard,...e.mutation_guard},checkpoints:{...t.checkpoints,...e.checkpoints},output:{...t.output,...e.output},ux:{...t.ux,...e.ux},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:VT(e,t,n),governance:n,workflow:{definition_of_done:[...e.workflow?.definition_of_done??t.workflow.definition_of_done]},testing:{record_results_to_items:e.testing?.record_results_to_items??t.testing.record_results_to_items,allow_untrusted_linked_tests:e.testing?.allow_untrusted_linked_tests??t.testing.allow_untrusted_linked_tests},telemetry:BT(e,t),agent_guidance:yy(e.agent_guidance??t.agent_guidance),item_types:{definitions:Nn(e.item_types?.definitions)},schema:Ce(e.schema??t.schema),context:YT(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:gy(e.extensions.policy??t.extensions.policy)},search:WT(e,t),providers:XT(e,t),vector_store:GT(e,t)}}function JT(e){e.agent_identity=A(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=A(ge(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=ld(e.agent_identity.harness_signals).map(n=>A(ge(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=A(e.locks,["ttl_seconds","wait_ms"]),e.ids=A(e.ids,["token_length"]),e.mutation_guard=A(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=A(e.checkpoints,["retention_days"]),e.output=A(e.output,["default_format"]),e.ux=A(e.ux,["deprecation_hints"]),e.history=A(e.history,["missing_stream","compact_policy"]),e.validation=A(e.validation,["sprint_release_format","parent_reference","metadata_profile","metadata_required_fields","lifecycle_stale_blocker_reason_patterns","lifecycle_closure_like_blocked_reason_patterns","lifecycle_closure_like_resolution_patterns","lifecycle_closure_like_actual_result_patterns","estimate_defaults_by_type"]),e.governance=A(e.governance,["preset","ownership_enforcement","create_mode_default","close_validation_default","require_close_reason","parent_reference","metadata_profile","force_required_for_stale_lock","create_default_type","workflow_enforcement","duplicate_detection_mode","duplicate_detection_threshold","duplicate_detection_limit"]),e.workflow=A(e.workflow,["definition_of_done"]),e.testing=A(e.testing,["record_results_to_items","allow_untrusted_linked_tests"]),e.telemetry=A(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=A(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=A(e.item_types,["definitions"]),e.schema=A(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=A(ge(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=A(ge(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=A(e.context,["default_depth","activity_limit","stale_threshold_days","next_ranking_policy","sections"]),e.context.sections=A(ge(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=A(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=A(ge(e.extensions.policy),["mode","trust_mode","pm_max_version_exceeded_mode","require_provenance","trusted_extensions","default_sandbox_profile","allowed_extensions","blocked_extensions","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services","extension_overrides"]),e.extensions.policy.extension_overrides=ld(e.extensions.policy.extension_overrides).map(n=>A(ge(n),["name","disabled","require_trusted","require_provenance","sandbox_profile","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services"])),e.search=A(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","default_mode","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=A(ge(e.search.query_expansion),["enabled","provider"]),e.search.rerank=A(ge(e.search.rerank),["enabled","model","top_k"]),e.providers=A(e.providers,["openai","ollama"]),e.providers.openai=A(ge(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=A(ge(e.providers.ollama),["base_url","model"]),e.vector_store=A(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=A(ge(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=A(ge(e.vector_store.lancedb),["path"])}function ZT(e){return{...e,locks:G(e.locks,S.locks),ids:G(e.ids,S.ids),agent_identity:G(e.agent_identity,S.agent_identity),mutation_guard:G(e.mutation_guard,S.mutation_guard),checkpoints:G(e.checkpoints,S.checkpoints),output:G(e.output,S.output),ux:G(e.ux,S.ux),history:G(e.history,S.history),validation:G(e.validation,S.validation),workflow:G(e.workflow,S.workflow),testing:G(e.testing,S.testing),telemetry:G(e.telemetry,S.telemetry),agent_guidance:G(e.agent_guidance,S.agent_guidance),item_types:G(e.item_types,S.item_types),schema:G(e.schema,S.schema),context:G(e.context,S.context),extensions:G(e.extensions,S.extensions),search:G(e.search,S.search),providers:G(e.providers,S.providers),vector_store:G(e.vector_store,S.vector_store)}}function QT(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:by(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:lt(e.validation?.lifecycle_stale_blocker_reason_patterns??S.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:lt(e.validation?.lifecycle_closure_like_blocked_reason_patterns??S.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:lt(e.validation?.lifecycle_closure_like_resolution_patterns??S.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:lt(e.validation?.lifecycle_closure_like_actual_result_patterns??S.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:od(e.validation?.estimate_defaults_by_type)}}function eC(e){return{...S.search,...e.search,default_mode:sy(e.search?.default_mode),mutation_refresh_policy:iy(e.search?.mutation_refresh_policy),query_expansion:{...S.search.query_expansion,...e.search?.query_expansion,enabled:ay(e.search?.query_expansion?.enabled),provider:cy(e.search?.query_expansion?.provider)},rerank:{...S.search.rerank,...e.search?.rerank,enabled:dy(e.search?.rerank?.enabled),model:ly(e.search?.rerank?.model),top_k:uy(e.search?.rerank?.top_k)}}}function tC(e){return{default_depth:e.context?.default_depth??S.context.default_depth,activity_limit:e.context?.activity_limit??S.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??S.context.stale_threshold_days,next_ranking_policy:e.context?.next_ranking_policy??S.context.next_ranking_policy,sections:{...S.context.sections,...e.context?.sections}}}function nC(e){return{...e.vector_store,adapter:e.vector_store?.adapter??S.vector_store.adapter,collection_name:fy(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function rC(e,t,n,r){return{...e,item_format:"toon",validation:QT(e,t),governance:t,agent_guidance:yy(e.agent_guidance),item_types:{definitions:r.item_type_definitions},schema:{...n,statuses:r.schema_statuses,fields:r.schema_fields,type_workflows:r.schema_type_workflows},search:eC(e),context:tC(e),extensions:{enabled:dd(e.extensions?.enabled),disabled:dd(e.extensions?.disabled),policy:gy(e.extensions?.policy)},vector_store:nC(e)}}function wy(e,t){for(let n of Object.keys(t)){let r=Reflect.get(t,n),o=e[n];typeof r=="object"&&r!==null&&!Array.isArray(r)&&typeof o=="object"&&o!==null&&!Array.isArray(o)?wy(o,r):e[n]=structuredClone(r)}}function pd(e,t,n){let r=new Set([...Object.keys(t),...Object.keys(n)]);for(let o of r){let i=t[o],s=n[o];if(!W(i,s)){if(s===void 0){delete e[o];continue}if(typeof i=="object"&&i!==null&&!Array.isArray(i)&&typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=e[o],c=typeof a=="object"&&a!==null&&!Array.isArray(a)?a:{};pd(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var Ki=["version","id_prefix","ids","author_default","agent_identity","mutation_guard","item_format","locks","checkpoints","output","ux","history","validation","governance","workflow","testing","telemetry","agent_guidance","item_types","schema","context","extensions","search","providers","vector_store"];function J_(e,t){let n=ZT(e),r=oy(n),o=Ce(n.schema),i=$T(n,t),s=rC(n,r,o,i),a=A({...s,governance:xT(r)},Ki);return JT(a),a}function vy(e,t={}){let n=t.source===void 0?t.persist_source:my(t.source.validated,Wi(t.source.validated)),r=J_(e,n);if(n){let o=Wi(n.source_settings);o.item_types={definitions:structuredClone(n.runtime_item_type_definitions)},o.schema={...o.schema,statuses:structuredClone(n.runtime_schema_statuses),fields:structuredClone(n.runtime_schema_fields),type_workflows:structuredClone(n.runtime_schema_type_workflows)};let i=J_(o,n);t.source!==void 0&&wy(i,t.source.validated);let s=structuredClone(t.source===void 0?n.source_settings:t.source.raw);return pd(s,i,r),`${JSON.stringify(A(s,Ki),null,2)}
|
|
110
|
+
`}return`${JSON.stringify(r,null,2)}
|
|
111
|
+
`}async function oC(e){let t;try{t=await Q_(e)}catch(a){if(be(a))return De();throw a}let n=Ie(t),r;try{r=await ST(n)}catch(a){if(be(a))return De();throw a}if(!r.isFile())throw rs("settings.json");let o;try{o=await Id(n,rs("settings.json"))}catch(a){if(be(a))return De();throw a}let i;try{i=JSON.parse(o)}catch{return De("settings_read_invalid_json")}let s=Ui(i);return s.success?{settings:Wi(s.data),metadata:{has_explicit_item_format:_y(i)},warnings:s.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[]}:De("settings_read_invalid_schema")}async function Ey(e){if(OT(e))return oC(e);let t=Ie(e),n=[t];await an({path:t,scope:"project"});let r=G_(e);if(r){let d=await dt(r.tracked_paths);if(Pr(d,r.signatures))return Bi(r.value)}let o=await dt([t]),i;try{i=await Ae(t)}catch{return De("settings_read_fs_error")}if(i===null){let d=De();return await sd(e,[t],d,o,[t]),d}let s=await dt([t]);if(!Pr(o,s))return Bt(e),Ey(e);let a;try{a=JSON.parse(i)}catch{let d=De("settings_read_invalid_json");return await sd(e,[t],d,s,[t]),d}let c=Ui(a);if(!c.success){let d=De("settings_read_invalid_schema");return await sd(e,[t],d,s,[t]),d}try{let d=Wi(c.data),l=NT(e,d.schema,t);n=l;let u=await dt(l),f=await Ju(e,d.schema),m=await dt(l),_={...d,item_types:{definitions:Nn([...d.item_types.definitions,...ld(f.type_definitions_from_file)])},schema:f.schema};Gi(_,my(c.data,_));let y={settings:_,metadata:{has_explicit_item_format:_y(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...f.warnings]};return Pr(u,m)?Vi(e,{tracked_paths:l,signatures:m,value:Bi(y)}):Bt(e),y}catch{let d=De("settings_read_merge_failed");return await PT(e,n,d),d}}var iC=/^[A-Za-z0-9_-]+$/u,sC=new Set(["__proto__","constructor","prototype"]);function ky(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function aC(e){for(let t of e)if(t.split(".").find(n=>!iC.test(n)||sC.has(n))!==void 0)throw new g(`Settings write assignedPaths entry "${t}" is not a dotted settings path.`,h.USAGE,{code:"settings_write_assigned_path_invalid",reason:"assigned_path_segment_invalid",field:t,why:"Assigned paths name settings keys; an empty, reserved or non-identifier segment cannot address one safely.",nextSteps:["Pass dotted settings keys such as context.next_ranking_policy in assignedPaths."]})}function Sy(e,t){return ky(Object.hasOwn(e,t)?e[t]:void 0)}function Z_(e,t){let n=e;for(let r of t)if(n=Sy(n,r),n===void 0)return;return n}function cC(e,t){let n=e;for(let r of t){let o=Sy(n,r);o===void 0&&(o={},n[r]=o),n=o}return n}function dC(e,t,n){for(let r of n){let o=r.split("."),i=o.pop(),s=Z_(t,o);if(s===void 0)continue;if(Object.hasOwn(s,i)){cC(e,o)[i]=structuredClone(s[i]);continue}if(!H_.includes(o[0]??i))continue;let a=Z_(e,o);a!==void 0&&delete a[i]}}function lC(e,t,n,r,o){let i=o??JSON.parse(vy(ud())),s=structuredClone(ky(e)??{});pd(s,i,t),dC(s,t,r);let a=Ui(s);if(!a.success){let c=a.path;throw new g(`Existing settings.json fails validation at ${c}; the settings write was refused and nothing was changed.`,h.USAGE,{code:"settings_write_invalid_existing_schema",reason:"existing_settings_schema_invalid",field:c,original_code:n,why:"The stored settings could not be read, so writing would either keep an invalid document or replace intended project configuration with defaults.",nextSteps:[`Fix or remove ${c} in settings.json, then retry the original command.`,"A configurable setting can also be repaired explicitly, even to its default value, with pm config <scope> set <dotted.key> <value>.","Run pm health to confirm the settings warning has cleared."]})}return`${JSON.stringify(A(s,Ki),null,2)}
|
|
112
|
+
`}function uC(e){try{return JSON.parse(e)}catch{throw new g("Existing settings.json is malformed; the settings write was refused.",h.USAGE,{code:"settings_write_invalid_existing_json",reason:"existing_settings_json_malformed",why:"Writing defaults over malformed settings could destroy intended project configuration.",nextSteps:["Repair the syntax in .agents/pm/settings.json, then retry the original command.","Run pm health to confirm the settings warning has cleared."]})}}async function Lz(e){return(await Ey(e)).settings}async function Fz(e,t,n=AT,r={}){let o=r.assignedPaths??[];aC(o);let i=Ie(e),s=fd(t),a=s?void 0:md(t),c=vy(t,{persist_source:s}),d=JSON.parse(c);try{await z_({pmRoot:e,filePath:i,mutate:l=>{let u=l===null?null:uC(l);return a!==void 0&&l!==null?{raw:lC(u,d,a,o,jT(t)),result:void 0}:{raw:s?`${JSON.stringify(A(nd(s.persisted_settings,d,u),Ki),null,2)}
|
|
113
|
+
`:c,result:void 0}},op:n,author:ym(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),s?Gi(t,{...s,persisted_settings:structuredClone(d)}):a!==void 0&<(t,structuredClone(d)),await Io({path:i,scope:"project",op:n})}finally{Bt(e)}}import Oy from"node:fs";import Mr from"node:path";import{createRequire as fC}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="19d9b802-1efa-5716-8176-ecbf5b153ff0")}catch{}})();var $r="@unbrained/pm-cli",mC=new Set(["append","claim","changelog","close","close-many","close-task","comments","config","copy","create","dedupe-merge","delete","deps","docs","extension","event","events","files","focus","gc","history-author-acknowledge","history-compact","history-redact","history-repair","init","install","item","learnings","meet","merge","normalize","notes","package","packages","pause-task","plan","profile","reindex","release","remind","restore","schema","start-task","test","test-all","test-runs","test-runs-worker","telemetry","templates","twin","update","update-many","upgrade","vcs","workspace"]),Ay=new Set(["--author","--output-budget","--output-format","--output-include","--output-limit","--output-session","--path","--pm-path"]),yd=/\b(\d{4})\.(\d{1,2})\.(\d{1,2})(?:-(\d+))?\b/u,Zi="2026.8.31";function ce(e,t){return e.some(n=>t.includes(n.split("=",1)[0]))}function _d(e,t){return["activate","adopt","adopt-all","deactivate","init","install","migrate","reload","uninstall"].includes(t[0]??"")||ce(e,["--activate","--adopt","--adopt-all","--deactivate","--fix-managed-state","--init","--install","--output","--reload","--scaffold","--uninstall"])}var pC={changelog:(e,t)=>{if(t[0]==="generate")return!ce(e,["--check"]);let n=e.indexOf("export");return t[0]==="export"&&(ce(e,["--output"])||n>=0&&e[n+1]!==void 0&&!e[n+1].startsWith("-"))},comments:e=>ce(e,["--add","--delete","--edit","--file","--stdin"]),config:(e,t)=>(t[0]==="project"||t[0]==="global"?t[1]:t[0])==="set",deps:()=>!1,docs:e=>ce(e,["--add","--add-glob","--migrate","--remove"]),duplicates:()=>!1,events:()=>!1,extension:_d,files:(e,t)=>ce(e,["--add","--add-glob","--migrate","--remove"])||t[0]==="discover"&&ce(e,["--apply"]),health:e=>!ce(e,["--check-only","--no-refresh","--skip-vectors"]),learnings:e=>ce(e,["--add","--delete","--edit","--file","--stdin"]),merge:(e,t)=>t[0]!=="report",notes:e=>ce(e,["--add","--delete","--edit","--file","--stdin"]),package:_d,packages:_d,profile:(e,t)=>t[0]==="apply",schema:(e,t)=>["add-field","add-status","add-type","remove-field","remove-status","remove-type","remap-status","rename-field","rename-type"].includes(t[0]??"")&&!(ce(e,["--infer"])&&!ce(e,["--apply"])),telemetry:(e,t)=>t.slice(0,2).some(n=>["clear","flush"].includes(n)),templates:(e,t)=>t[0]==="save",test:e=>ce(e,["--update","--update-index","--add","--add-json","--background","--measure","--remove","--resume","--run","--stop"]),validate:e=>ce(e,["--auto-fix","--prune-missing"]),vcs:(e,t)=>["abandon","create","merge","propose","ref-create"].includes(t[0]??""),workspace:(e,t)=>t[0]==="snapshot"&&["create","delete","restore"].includes(t[1]??"")};function Xi(e){let t=e.match(yd);return t?[Number(t[1]),Number(t[2]),Number(t[3]),Number(t[4]??0)]:null}function ut(e,t){let n=Xi(e),r=Xi(t);if(!n||!r)return null;for(let o=0;o<n.length;o+=1){let i=n[o]-r[o];if(i!==0)return Math.sign(i)}return 0}function Yi(e){return ut(e,Zi)!==-1?3:2}function _C(e,t){if(t===3)return e.filter(n=>n.history_epoch_compatible===!1).map(n=>({...n,declaration:n.declaration??n.version})).sort((n,r)=>ut(n.version,r.version))[0]}function Ji(e){try{let t=JSON.parse(Oy.readFileSync(e,"utf8"));return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}catch{return null}}function yC(e){let t=[...e.matchAll(/(<=|<)\s*v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/gu)].map(r=>({inclusive:r[1]==="<=",version:r[2]})),n=e.match(/\b\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?\s+-\s+v?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/u);return n?[...t,{inclusive:!0,version:n[1]}]:t}function hC(e){let t=e.split("||").map(n=>yC(n));return{bounded:t.some(n=>n.length>0),compatible:t.some(n=>n.every(r=>{let o=ut(Zi,r.version);return o!==null&&(r.inclusive?o!==1:o===-1)}))}}function Iy(e){return["dependencies","devDependencies","optionalDependencies","peerDependencies"].flatMap(t=>{let n=e[t];if(typeof n!="object"||n===null)return[];let r=n[$r];return typeof r=="string"?[r.trim()]:[]})}function gC(e){return Iy(e).flatMap(t=>{let n=/^[<!]/u.test(t)?void 0:t.match(yd)?.[0];if(!n)return[];let r=/^(?:=|v)?\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?$/u.test(t),o=hC(t);return[{version:n,constraint:r?"exact":o.bounded?"range":"minimum",...r?{}:{declaration:t},history_epoch_compatible:r?ut(n,Zi)!==-1:o.compatible}]})}function bC(e){let t=Ji(Mr.join(e,"package-lock.json"))?.packages;if(typeof t!="object"||t===null)return;let n=t["node_modules/@unbrained/pm-cli"];if(typeof n!="object"||n===null)return;let r=n.version;return typeof r=="string"?r:void 0}function wC(e,t){try{let n=Oy.readFileSync(Mr.join(e,t),"utf8").split(/\r?\n/u),r=n.findIndex(s=>s.includes($r));if(r<0)return;let o=n[r].match(/^\s*/u)[0].length,i=[n[r]];for(let s=r+1;s<n.length;s+=1){let a=n[s],c=a.trim(),d=a.match(/^\s*/u)[0].length;if(c.length>0&&d<=o)break;i.push(a)}return i.join(`
|
|
114
|
+
`).match(/^\s*version(?::\s*|\s+)["']?(\d{4}\.\d{1,2}\.\d{1,2}(?:-\d+)?)/mu)?.[1]??i[0].match(yd)?.[0]}catch{return}}function Ty(e){let t=[],n=Ji(Mr.join(e,"package.json"));n&&t.push(...gC(n).map(i=>({...i,source:"package.json"})));let r=Ji(Mr.join(e,"node_modules","@unbrained","pm-cli","package.json"))?.version;typeof r=="string"&&Xi(r)&&t.push({version:r,source:"installed-package",constraint:"exact",history_epoch_compatible:Yi(r)===3});let o=bC(e);o&&Xi(o)&&t.push({version:o,source:"package-lock.json",constraint:"exact",history_epoch_compatible:Yi(o)===3});for(let i of["pnpm-lock.yaml","yarn.lock"]){let s=wC(e,i);s&&t.push({version:s,source:i,constraint:"exact",history_epoch_compatible:Yi(s)===3})}return t}function Wz(e,t){if(t<=1)return;let{minVersion:n,lt:r}=fC(import.meta.url)("semver"),o=Iy(Ji(Mr.join(e,"package.json"))??{}).find(s=>{try{let a=n(s);return a!==null&&r(a,"2026.10.10")}catch{return!1}}),i=o===void 0?Ty(e).find(s=>ut(s.version,"2026.10.10")===-1):{version:o,source:"package.json"};if(i)throw new g(`The project selects pm ${i.version}, which cannot safely refuse item format ${t}.`,h.CONFLICT,{code:"project_runtime_item_format_incompatible",reason:i.source,required:"Upgrade project pins, installed SDKs, CI hosts and Git merge drivers before writing guarded item formats.",nextSteps:["Use a pm runtime supporting the required item format throughout the project; preserve original item and history bytes, and never re-anchor history to satisfy an older host."]})}function Cy(e){for(let t=0;t<e.length;t+=1){let n=e[t];if(Ay.has(n)){t+=1;continue}if(!n.startsWith("-"))return{command:n.toLowerCase(),index:t}}}function vC(e){let t=Cy(e);if(!t||ce(e,["--help","-h","--dry-run"]))return!1;let{command:n,index:r}=t,o=[];for(let s=r+1;s<e.length;s+=1){let a=e[s];if(Ay.has(a)){s+=1;continue}a.startsWith("-")||o.push(a.toLowerCase())}let i=pC[n];return i?i(e,o):mC.has(n)}function EC(e){let t=Cy(e.argv)?.command,n=vC(e.argv),r=Ty(e.projectRoot).filter(l=>ut(l.version,e.executingVersion)!==null).sort((l,u)=>ut(u.version,l.version)),o=r[0],i=o!==void 0&&ut(e.executingVersion,o.version)===-1,s=Yi(e.executingVersion),a=_C(r,s),c=n&&a!==void 0,d=i&&!n?{code:"project_runtime_stale_read",executing_version:e.executingVersion,project_version:o.version,source:o.source,message:"This read is using an older pm runtime than the project requires.",next_steps:[`Run the command through the project's installed ${$r} ${o.version}.`,"Install the project dependencies with its declared package manager if the local executable is missing."]}:void 0;return{compatible:!n||!i&&!c||e.allowStale===!0,executing_version:e.executingVersion,...o?{project_version:o.version,source:o.source}:{},...t?{command:t}:{},mutating:n,stale:i,history_epoch_incompatible:c,writer_item_hash_version:s,...a?{incompatible_project_version:a.declaration,incompatible_source:a.source}:{},...d?{warning:d}:{},override_applied:n&&(i||c)&&e.allowStale===!0}}function Gz(e){let t=EC(e);if(t.compatible)return t;throw t.history_epoch_incompatible?new g(`pm ${t.executing_version} cannot write item-hash epoch ${t.writer_item_hash_version} into a project pinned to pm ${t.incompatible_project_version}.`,h.CONFLICT,{code:"project_runtime_history_epoch_incompatible",reason:t.incompatible_source,why:`The pinned runtime cannot read item_hash_version ${t.writer_item_hash_version}; allowing the write would break its health and validation gates.`,nextSteps:[`Upgrade the project's ${$r} pin to ${Zi} or newer before mutating tracker history.`,"For an intentional coordinated migration only, set PM_ALLOW_STALE_CLI=1 for this invocation and record why.","Read-only commands remain available without an override."]}):new g(`pm ${t.executing_version} cannot mutate a project pinned to newer pm ${t.project_version}.`,h.CONFLICT,{code:"project_runtime_stale_mutation",reason:t.source,why:"An older runtime can write storage, history, and merge contracts it does not understand.",nextSteps:[`Run this command through the project's installed ${$r} ${t.project_version}.`,"For an intentional recovery only, set PM_ALLOW_STALE_CLI=1 for this invocation and record why.","Read-only commands remain available without an override."]})}import gd from"node:fs/promises";import Qi 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]="658ab1c3-da92-5af6-a170-85ed7befaad6")}catch{}})();function ft(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function xy(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:Jt(t),suggested_retry_args:t}}function es(e){return new g(`Tracker root is not a directory at ${e}.`,h.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function hd(e){return new g(`Tracker root is not readable at ${e}.`,h.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function kC(e){let t=Qi.resolve(e),n=Qi.parse(t).root,r=Qi.dirname(t);for(;r!==n;){let o;try{o=await gd.stat(r)}catch(i){if(ft(i,"ENOTDIR"))throw es(e);if(!ft(i,"ENOENT"))throw i;r=Qi.dirname(r);continue}if(!o.isDirectory())throw es(e);return}}async function SC(e){let t;try{t=await gd.stat(e)}catch(n){throw ft(n,"ENOENT")?(await kC(e),new g(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,h.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:xy(e)})):ft(n,"ENOTDIR")?es(e):ft(n,"EACCES")||ft(n,"EPERM")?hd(e):n}if(!t.isDirectory())throw es(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw hd(e);try{await(await gd.opendir(e)).close()}catch(n){throw ft(n,"EACCES")||ft(n,"EPERM")?hd(e):n}}async function nU(e){if(await SC(e),!await mt(Ie(e)))throw new g(`Tracker is not initialized at ${e}. Run pm init first.`,h.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:xy(e)})}export{x as a,W as b,Vr as c,qy as d,xd as e,os as f,Wy as g,Gy as h,Br as i,Nd as j,Yy as k,Zy as l,RC as m,NC as n,nh as o,rh as p,oh as q,ih as r,is as s,PC as t,sh as u,$n as v,Wr as w,MC as x,$C as y,jC as z,ah as A,ch as B,dh as C,HC as D,qC as E,lh as F,Gr as G,VC as H,BC as I,uh as J,fh as K,mh as L,Pd as M,Kt as N,ph as O,WC as P,GC as Q,KC as R,YC as S,XC as T,JC as U,ZC as V,tl as W,_g as X,yg as Y,hg as Z,no as _,qx as $,_h as aa,Md as ba,Yt as ca,Kr as da,Xt as ea,Yr as fa,ex as ga,tx as ha,nx as ia,Jr as ja,Zr as ka,rx as la,ox as ma,ix as na,sx as oa,Qr as pa,jn as qa,ss as ra,ax as sa,jd as ta,cx as ua,dx as va,lx as wa,ux as xa,vh as ya,Ud as za,Wd as Aa,wx as Ba,ls as Ca,Dh as Da,vx as Ea,Gh as Fa,Kh as Ga,Ex as Ha,kx as Ia,Nx as Ja,us as Ka,Dx as La,Xd as Ma,Jd as Na,Zd as Oa,Ie as Pa,Px as Qa,Mx as Ra,$x as Sa,fs as Ta,ms as Ua,to as Va,ug as Wa,jx as Xa,fg as Ya,mg as Za,Lx as _a,Fx as $a,pg as ab,zx as bb,zn as cb,Qd as db,el as eb,Jt as fb,Zx as gb,Qx as hb,eR as ib,Eg as jb,ys as kb,oR as lb,ol as mb,il as nb,Hu as ob,Sg as pb,sR as qb,aR as rb,cR as sb,al as tb,dR as ub,lR as vb,uR as wb,sl as xb,cl as yb,fR as zb,oo as Ab,Ig as Bb,Tg as Cb,hR as Db,gR as Eb,Te as Fb,$e as Gb,Un as Hb,Zt as Ib,re as Jb,SR as Kb,OR as Lb,so as Mb,TR as Nb,ml as Ob,CR as Pb,ao as Qb,vs as Rb,Ss as Sb,Os as Tb,MR as Ub,$R as Vb,jR as Wb,rb as Xb,_l as Yb,LR as Zb,As as _b,yl as $b,fo as ac,mo as bc,VR as cc,BR as dc,po as ec,_o as fc,ht as gc,z as hc,yo as ic,XR as jc,hl as kc,Is as lc,gb as mc,bb as nc,Vn as oc,Ts as pc,Cs as qc,xs as rc,Rs as sc,Ns as tc,Ds as uc,Xs as vc,vb as wc,Eb as xc,Ab as yc,Ib as zc,Sl as Ac,eu as Bc,hu as Cc,gu as Dc,aN as Ec,cN as Fc,xb as Gc,Ps as Hc,Nb as Ic,Ms as Jc,$s as Kc,js as Lc,Ls as Mc,Fs as Nc,zs as Oc,Hs as Pc,qs as Qc,Vs as Rc,ww as Sc,Ew as Tc,kw as Uc,Rw as Vc,UD as Wc,HD as Xc,qD as Yc,GD as Zc,YD as _c,Xw as $c,Jw as ad,ra as bd,ev as cd,tv as dd,rP as ed,Oo as fd,oP as gd,iP as hd,sP as id,aP as jd,cP as kd,dP as ld,lP as md,Mu as nd,uP as od,fP as pd,$u as qd,mP as rd,Ao as sd,pP as td,_P as ud,yP as vd,hP as wd,gP as xd,Io as yd,bP as zd,an as Ad,wP as Bd,vP as Cd,EP as Dd,kP as Ed,SP as Fd,cn as Gd,RP as Hd,sv as Id,zu as Jd,kt as Kd,Ye as Ld,Uu as Md,Xe as Nd,ie as Od,aa as Pd,Ce as Qd,ue as Rd,BP as Sd,WP as Td,Ju as Ud,Zu as Vd,ca as Wd,Qu as Xd,ef as Yd,GP as Zd,e1 as _d,zv as $d,t1 as ae,cf as be,df as ce,cr as de,n1 as ee,r1 as fe,da as ge,la as he,i1 as ie,ua as je,uf as ke,Kv as le,s1 as me,Po as ne,Xv as oe,l1 as pe,Mo as qe,HE as re,Lo as se,a0 as te,C1 as ue,x1 as ve,fn as we,Sf as xe,Of as ye,Af as ze,Sa as Ae,If as Be,D1 as Ce,Tf as De,P1 as Ee,Cf as Fe,Ot as Ge,Aa as He,j1 as Ie,L1 as Je,Uo as Ke,Ho as Le,z0 as Me,Yo as Ne,W0 as Oe,fe as Pe,Y0 as Qe,Ma as Re,em as Se,ja as Te,hM as Ue,gM as Ve,bM as We,wM as Xe,vM as Ye,EM as Ze,Wa as _e,Ga as $e,cm as af,NM as bf,DM as cf,PM as df,MM as ef,$M as ff,jM as gf,Ja as hf,mm as if,LM as jf,FM as kf,zM as lf,Ak as mf,UM as nf,ym as of,ei as pf,xt as qf,XM as rf,Tk as sf,Ck as tf,yn as uf,o_ as vf,TI as wf,DI as xf,_F as yf,yF as zf,br as Af,e$ as Bf,ti as Cf,Pk as Df,Mk as Ef,t$ as Ff,Re as Gf,n$ as Hf,zk as If,qk as Jf,Xk as Kf,wm as Lf,Nm as Mf,rc as Nf,Em as Of,ri as Pf,Zk as Qf,tt as Rf,hn as Sf,yr as Tf,oi as Uf,hr as Vf,km as Wf,o$ as Xf,gr as Yf,lc as Zf,wr as _f,pS as $f,w$ as ag,Pm as bg,_S as cg,SS as dg,AS as eg,Mm as fg,IS as gg,TS as hg,$m as ig,Nt as jg,jm as kg,v$ as lg,E$ as mg,sc as ng,k$ as og,S$ as pg,O$ as qg,A$ as rg,I$ as sg,D$ as tg,ac as ug,cc as vg,li as wg,Um as xg,dc as yg,Hm as zg,vr as Ag,M$ as Bg,Dt as Cg,Q$ as Dg,ej as Eg,qS as Fg,vn as Gg,tj as Hg,Zm as Ig,YS as Jg,nj as Kg,ep as Lg,pc as Mg,ap as Ng,cp as Og,dp as Pg,lp as Qg,fi as Rg,_c as Sg,Sr as Tg,hj as Ug,gj as Vg,Or as Wg,yc as Xg,bc as Yg,bj as Zg,SO as _g,wj as $g,vj as ah,Ue as bh,Y as ch,Dj as dh,kn as eh,MO as fh,Pj as gh,Mj as hh,$O as ih,$j as jh,jj as kh,Lj as lh,zO as mh,Sp as nh,UO as oh,Xj as ph,qO as qh,Ap as rh,Jj as sh,Cp as th,BO as uh,YO as vh,xp as wh,Dp as xh,Pp as yh,tL as zh,oL as Ah,wi as Bh,iL as Ch,sL as Dh,uA as Eh,aL as Fh,cL as Gh,dL as Hh,lL as Ih,uL as Jh,Lp as Kh,zp as Lh,gL as Mh,bL as Nh,DA as Oh,Cr as Ph,vi as Qh,DL as Rh,PL as Sh,UI as Th,$i as Uh,$t as Vh,xr as Wh,VI as Xh,BI as Yh,D_ as Zh,Tn as _h,zF as $h,Jc as ai,ki as bi,Jp as ci,Pc as di,UF as ei,M_ as fi,Zp as gi,HF as hi,Nr as ii,Dr as ji,tI as ki,Si as li,KL as mi,Dc as ni,Oi as oi,YL as pi,XL as qi,e_ as ri,Ai as si,Ii as ti,jt as ui,lI as vi,JL as wi,ZL as xi,ct as yi,Ht as zi,tz as Ai,nz as Bi,rz as Ci,z_ as Di,oz as Ei,iz as Fi,sz as Gi,H_ as Hi,Ui as Ii,pz as Ji,Bt as Ki,Mz as Li,OT as Mi,oy as Ni,$z as Oi,jz as Pi,Wi as Qi,vy as Ri,Ey as Si,Lz as Ti,Fz as Ui,Zi as Vi,ut as Wi,Yi as Xi,Ty as Yi,Wz as Zi,vC as _i,EC as $i,Gz as aj,xy as bj,SC as cj,nU as dj};
|
|
115
|
+
//# sourceMappingURL=chunk-32BCU6HN.js.map
|