@unbrained/pm-cli 2026.8.12 → 2026.8.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +162 -111
- package/dist/cli/error-guidance.js +4 -8
- package/dist/cli/main.js +40 -3
- package/dist/cli/register-assurance.js +28 -17
- package/dist/cli-bundle/bundle-manifest.json +141 -173
- package/dist/cli-bundle/chunks/chunk-BBOFSVAK.js +197 -0
- package/dist/cli-bundle/chunks/chunk-BFALV3YP.js +5 -0
- package/dist/cli-bundle/chunks/{chunk-WLAHPSOX.js → chunk-FIW4P64F.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BM5YJ2UW.js → chunk-G5JUB66K.js} +52 -52
- package/dist/cli-bundle/chunks/chunk-SBRKH6OR.js +2 -0
- package/dist/cli-bundle/chunks/chunk-TMJ7URWS.js +13 -0
- package/dist/cli-bundle/chunks/chunk-TXMEUUUY.js +8 -0
- package/dist/cli-bundle/chunks/{chunk-KOQMGCTA.js → chunk-XAVMOK6B.js} +50 -50
- package/dist/cli-bundle/chunks/chunk-YAMTJL6Y.js +34 -0
- package/dist/cli-bundle/chunks/chunk-YSVSMJ2B.js +2 -0
- package/dist/cli-bundle/chunks/{register-list-query-XPCJRUUD.js → register-list-query-T3EHHNNV.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-4RJCBKRS.js → register-mutation-E27WCLSZ.js} +2 -2
- package/dist/cli-bundle/chunks/register-operations-4R6I7CPY.js +2 -0
- package/dist/cli-bundle/chunks/{register-setup-LLHAKP2V.js → register-setup-3YXZ444E.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-JAFRIWVF.js → chunk-4DQ2YERC.js} +4 -4
- package/dist/cli-bundle/focused-chunks/chunk-F43TT2QQ.js +8 -0
- package/dist/cli-bundle/focused-chunks/chunk-K7RWWOAG.js +4 -0
- package/dist/cli-bundle/focused-chunks/chunk-KFSZ3BP6.js +16 -0
- package/dist/cli-bundle/focused-chunks/{chunk-KHM2CS2C.js → chunk-KSEDUWVZ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-KYUQGTSB.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-ZMGWAYH7.js → chunk-LZ4MV3RH.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-PGXJQLCT.js +155 -0
- package/dist/cli-bundle/focused-chunks/{chunk-RWPAWUOT.js → chunk-PPFGQDSI.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-Q4YY3XNF.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-QK753U3U.js +46 -0
- package/dist/cli-bundle/focused-chunks/chunk-QUMB2J27.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-SM7MTG27.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-GQW4BPUT.js → chunk-WCVE2NIG.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-XDNAW5OI.js +18 -0
- package/dist/cli-bundle/focused-chunks/{chunk-YIAXMC3T.js → chunk-YOOI3UZX.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-ZM6TZVHC.js +2 -0
- package/dist/cli-bundle/main.js +13 -13
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +1 -1
- package/dist/cli-bundle/sdk-core.js +45 -41
- 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 +109 -1
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +2 -2
- package/dist/core/checkpoint/checkpoint-gc.js +7 -12
- package/dist/core/extensions/activation-summary-markdown.js +5 -4
- package/dist/core/extensions/activation-summary.d.ts +2 -0
- package/dist/core/extensions/activation-summary.js +6 -2
- package/dist/core/extensions/capability-usage.d.ts +1 -1
- package/dist/core/extensions/capability-usage.js +4 -3
- package/dist/core/extensions/contribution-inventory.d.ts +1 -0
- package/dist/core/extensions/contribution-inventory.js +6 -2
- package/dist/core/extensions/extension-registries.js +3 -2
- package/dist/core/extensions/extension-types.d.ts +83 -1
- package/dist/core/extensions/extension-types.js +3 -2
- package/dist/core/extensions/loader.d.ts +2 -8
- package/dist/core/extensions/loader.js +53 -144
- package/dist/core/extensions/registration-values.d.ts +43 -0
- package/dist/core/extensions/registration-values.js +210 -0
- package/dist/core/extensions/runtime-registrations.d.ts +3 -1
- package/dist/core/extensions/runtime-registrations.js +12 -2
- package/dist/core/fs/fs-utils.d.ts +2 -0
- package/dist/core/fs/fs-utils.js +7 -3
- package/dist/core/history/drift-cache.js +4 -3
- package/dist/core/history/drift-scan.d.ts +6 -0
- package/dist/core/history/drift-scan.js +76 -58
- package/dist/core/history/workspace-history.d.ts +59 -0
- package/dist/core/history/workspace-history.js +197 -10
- package/dist/core/lock/lock-gc.js +8 -13
- package/dist/core/lock/lock.js +5 -4
- package/dist/core/output/output.js +12 -4
- package/dist/core/search/vector-stores.js +6 -11
- package/dist/core/store/item-metadata-cache.js +4 -4
- package/dist/core/telemetry/runtime.d.ts +6 -0
- package/dist/core/telemetry/runtime.js +101 -30
- package/dist/sdk/agent/command-recovery.d.ts +2 -0
- package/dist/sdk/agent/command-recovery.js +10 -2
- package/dist/sdk/annotations.js +4 -4
- package/dist/sdk/cli-contracts/completeness.js +9 -3
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.js +6 -3
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +6 -1
- package/dist/sdk/cli-contracts/runtime-contracts.js +155 -60
- package/dist/sdk/cli-contracts/schemas/assurance-definition.d.ts +32 -0
- package/dist/sdk/cli-contracts/schemas/assurance-definition.js +25 -2
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +35 -5
- package/dist/sdk/cli-contracts/tool-schema.js +17 -2
- package/dist/sdk/cli-program.js +3 -3
- package/dist/sdk/comments.js +4 -3
- package/dist/sdk/compile-cache.js +4 -3
- package/dist/sdk/compose.d.ts +3 -1
- package/dist/sdk/compose.js +16 -2
- package/dist/sdk/context-relevance.js +12 -4
- package/dist/sdk/context-signal-store.js +4 -3
- package/dist/sdk/extension/install-runtime.js +4 -4
- package/dist/sdk/extension/managed-state.js +4 -3
- package/dist/sdk/extension-contracts.d.ts +1 -1
- package/dist/sdk/flag-invocation-contracts.js +5 -6
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +14 -2
- package/dist/sdk/governance/assurance-action.d.ts +27 -3
- package/dist/sdk/governance/assurance-action.js +112 -28
- package/dist/sdk/governance/assurance-mutation-error.d.ts +7 -0
- package/dist/sdk/governance/assurance-mutation-error.js +25 -2
- package/dist/sdk/governance/assurance-presets.d.ts +54 -0
- package/dist/sdk/governance/assurance-presets.js +136 -0
- package/dist/sdk/governance/assurance-runtime.d.ts +4 -0
- package/dist/sdk/governance/assurance-runtime.js +109 -8
- package/dist/sdk/governance/assurance.d.ts +39 -0
- package/dist/sdk/governance/assurance.js +145 -6
- package/dist/sdk/governance/gc.js +5 -11
- package/dist/sdk/governance/health.js +18 -6
- package/dist/sdk/governance/validate-history-drift.d.ts +7 -0
- package/dist/sdk/governance/validate-history-drift.js +68 -0
- package/dist/sdk/governance/validate.js +6 -48
- package/dist/sdk/graph/assembly.d.ts +23 -0
- package/dist/sdk/graph/assembly.js +54 -2
- package/dist/sdk/graph/durable-cache.js +91 -3
- package/dist/sdk/graph/governance-contracts.d.ts +12 -0
- package/dist/sdk/graph/governance-contracts.js +29 -0
- package/dist/sdk/graph/governance.d.ts +51 -3
- package/dist/sdk/graph/governance.js +216 -35
- package/dist/sdk/graph/index.d.ts +2 -2
- package/dist/sdk/graph/index.js +4 -4
- package/dist/sdk/graph/mutation-advisory.js +15 -7
- package/dist/sdk/graph/remediation.js +12 -2
- package/dist/sdk/guide.js +4 -4
- package/dist/sdk/history-read.d.ts +8 -0
- package/dist/sdk/history-read.js +2 -2
- package/dist/sdk/index.d.ts +3 -2
- package/dist/sdk/index.js +5 -4
- package/dist/sdk/linked-artifacts.d.ts +2 -0
- package/dist/sdk/linked-artifacts.js +29 -4
- package/dist/sdk/merge/install.js +5 -4
- package/dist/sdk/query/activity.js +4 -3
- package/dist/sdk/query/history.js +20 -3
- package/dist/sdk/read-output-budget.d.ts +2 -0
- package/dist/sdk/read-output-budget.js +12 -5
- package/dist/sdk/read-output-contracts.d.ts +61 -5
- package/dist/sdk/read-output-contracts.js +210 -28
- package/dist/sdk/read-output-rows.d.ts +11 -0
- package/dist/sdk/read-output-rows.js +47 -2
- package/dist/sdk/relationship-history.js +5 -5
- package/dist/sdk/runtime-primitives.d.ts +1 -1
- package/dist/sdk/runtime-primitives.js +3 -3
- package/dist/sdk/runtime.js +5 -3
- package/dist/sdk/schema-migration.js +4 -4
- package/dist/sdk/test/execution.js +4 -4
- package/dist/sdk/workspace-memory.js +4 -4
- package/dist/sdk/workspace-snapshot.js +8 -14
- package/dist/sdk/workspace-transaction-gc.js +4 -9
- package/dist/sdk/workspace-transaction.js +4 -4
- package/dist/sdk/workspace.js +4 -3
- package/docs/ASSURANCE.md +163 -3
- package/docs/COMMANDS.md +31 -2
- package/docs/CONFIGURATION.md +2 -0
- package/docs/EXTENSIONS.md +11 -12
- package/docs/READ_OUTPUT_CONTRACTS.md +44 -8
- package/docs/RELATIONSHIP_GRAPH.md +34 -4
- package/docs/SDK.md +29 -8
- package/docs/SDK_CONTEXT_INTEGRITY.md +32 -1
- package/docs/TESTING.md +47 -16
- package/docs/performance/sdk-entrypoint-import-costs.md +20 -13
- package/marketplace.json +2 -2
- package/package.json +6 -6
- package/packages/pm-beads/extensions/beads/index.ts +1 -0
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/extensions/calendar/index.ts +1 -0
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/extensions/digital-twin/index.ts +7 -0
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/extensions/governance-audit/index.ts +4 -0
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/extensions/guide-shell/index.ts +5 -0
- 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/extensions/linked-test-adapters/index.ts +6 -0
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/extensions/search-advanced/index.ts +2 -0
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/extensions/templates/index.ts +4 -0
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/extensions/todos/index.ts +2 -0
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/extensions/vcs/index.ts +7 -0
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/scripts/bundle-cli.mjs +17 -4
- package/sdk/public-surface.json +390 -60
- package/dist/cli-bundle/chunks/chunk-3PS7X6GS.js +0 -8
- package/dist/cli-bundle/chunks/chunk-7KL6KMWF.js +0 -13
- package/dist/cli-bundle/chunks/chunk-D55A5AEN.js +0 -33
- package/dist/cli-bundle/chunks/chunk-KIKDWECH.js +0 -196
- package/dist/cli-bundle/chunks/chunk-R76342NV.js +0 -2
- package/dist/cli-bundle/chunks/chunk-RBTK5EZV.js +0 -5
- package/dist/cli-bundle/chunks/chunk-VLUQOIDT.js +0 -2
- package/dist/cli-bundle/chunks/register-operations-2OGISOVR.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-2DALMVF7.js +0 -5
- package/dist/cli-bundle/focused-chunks/chunk-5OQIMELN.js +0 -155
- package/dist/cli-bundle/focused-chunks/chunk-5TAGTDRE.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-ECADZMVC.js +0 -18
- package/dist/cli-bundle/focused-chunks/chunk-EJGXRA6B.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-FFGSZCPK.js +0 -16
- package/dist/cli-bundle/focused-chunks/chunk-ISKOBJCM.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-KPSXVBDV.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-KTLOKKCQ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-LGYK3NUF.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-NBLUKITQ.js +0 -4
- package/dist/cli-bundle/focused-chunks/chunk-NYLOUPOB.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-Q4T463SD.js +0 -31
- package/dist/cli-bundle/focused-chunks/chunk-QVZVY53N.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-UTEWXDEQ.js +0 -17
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import{E as Kr,Ha as Et,J as wt,Ja as Be,La as qe,Ma as Ve,N as En,O as kn,Oa as ao,P as vn,Pa as co,Q as We,Qa as lo,R as Jr,Ra as uo,S as Yr,Sa as fo,Ta as mo,X as Qr,Y as Zr,a as ft,h as gt,o as Gr,p as bt,r as ye,s as z,sa as eo,t as He,ta as to,ua as no,va as ro,wa as oo,xa as io,y as Xr,ya as so}from"./chunk-NBLUKITQ.js";import{C as yt,D as ht,E as wn,G as qr,R as pe,S as ie,T as Vr,W as b,X as Ue,Y as I,Z as T,aa as G,ba as Ie,ca as he,da as k,n as mt,o as zr,p as Ur,q as Hr,r as Wr,v as _t,w as pt,x as Br}from"./chunk-ISKOBJCM.js";import{AsyncLocalStorage as zs}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="16109ee9-e684-5d25-a5f4-30a6c4f62bd5")}catch{}})();var Sn=new zs,_o=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function kt(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function ge(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=kt(n.id,128),o=kt(n.parent_id,128);if(r===void 0||!_o.test(r)||o!==void 0&&!_o.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=kt(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function xe(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=kt(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Us(e,t,n){let r=Sn.getStore(),o=xe({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=ge(t.PM_AGENT_EPISODE_ID===void 0?void 0:{id:t.PM_AGENT_EPISODE_ID,label:t.PM_AGENT_EPISODE_LABEL,parent_id:t.PM_AGENT_EPISODE_PARENT_ID},!1),s={...xe(r?.provenance),...o,...xe(e?.provenance)},a=ge(e?.episode,!1)??ge(n,!1)??i??ge(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 In(e,t){return Us(e.session_context,t,e.client_info?.episode)??{}}function If(e,t){let n=Sn.getStore(),r=ge(e.episode,!0),o=ge(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...xe(n?.provenance),...xe(e.provenance)};return Sn.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function xf(e){let t=xe(e.provenance),n=ge(e.episode,!0);return{...n===void 0?{}:{PM_AGENT_EPISODE_ID:n.id,...n.label===void 0?{}:{PM_AGENT_EPISODE_LABEL:n.label},...n.parent_id===void 0?{}:{PM_AGENT_EPISODE_PARENT_ID:n.parent_id}},...t.role===void 0?{}:{PM_AGENT_SESSION_ROLE:t.role},...t.topic===void 0?{}:{PM_AGENT_SESSION_TOPIC:t.topic}}}import{AsyncLocalStorage as Pn}from"node:async_hooks";import{createHash as Vs}from"node:crypto";import St from"node:fs";import Gs from"node:os";import bo from"node:path";import{createHash as po}from"node:crypto";import{existsSync as xn,promises as yo,readFileSync as Hs}from"node:fs";import X 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]="424b9eb3-6b34-5ab0-a3f5-db61fbca12cf")}catch{}})();var Ws="session.json";function Tn(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function ho(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=Tn(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=>Tn(c,128)),a=t.focused_item_id===void 0||Tn(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function Bs(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=ho(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function On(e){return X.join(Yr(e),Ws)}async function vt(e){try{let t=await yo.readFile(On(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=Bs(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 An(e,t){let n=On(e);await yo.mkdir(X.dirname(n),{recursive:!0}),await z(n,JSON.stringify(t))}function Cn(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${po("sha256").update(e).digest("hex").slice(0,24)}`}function Rn(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Nn(e){let t=[...new Set(e)].sort((o,i)=>o.localeCompare(i));if(t.length===1)return t[0];let n=`workset:${t.join("+")}`;return n.length<=256?n:`workset:${t.join("+").slice(0,230)}+${po("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function Dn(e,t,n){let r=await vt(e),o={...r.semantic_attribution},i=n(o[t]);i===void 0?delete o[t]:o[t]=i;let s={...r};Object.keys(o).length===0?delete s.semantic_attribution:s.semantic_attribution=o,await An(e,s)}async function Df(e){let t=Cn(e.principal);await Dn(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??Nn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Rn([...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 Mf(e){let t=Cn(e.principal);await Dn(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??Nn(r),confidence:o?"high":"medium",evidence:Rn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function Lf(e){let t=Cn(e.principal);await Dn(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??Nn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Rn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function qs(e,t){let n=t.PM_PATH?.trim();if(n){let o=X.resolve(e,n);if(xn(X.join(o,"settings.json")))return o;let i=X.join(o,".agents","pm");if(xn(X.join(i,"settings.json")))return i}let r=X.resolve(e);for(let o=0;o<32;o+=1){let i=X.join(r,".agents","pm");if(xn(X.join(i,"settings.json")))return i;let s=X.dirname(r);if(s===r)break;r=s}}function go(e){if(!e.key)return;let t=qs(e.cwd,e.env);if(t)try{let n=JSON.parse(Hs(On(t),"utf8"));return ho(n.semantic_attribution?.[e.key])}catch{return}}async function Pf(e){return(await vt(e)).focused_item}async function jf(e,t){let n=await vt(e);await An(e,{...n,focused_item:t})}async function Ff(e){let n={...await vt(e)};delete n.focused_item,await An(e,n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e0ab2d6f-0925-540d-8d24-a7f0687b4bf0")}catch{}})();var jn=["model","effort","role","topic","version"],xt=new Pn,wo=new Pn,Tt=new Pn,Xs=[{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:{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:[]}],Te=new Map,Mn=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function L(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function be(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Ot(e){let t=e.harness.trim().toLowerCase();if(!Mn.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:be(e.environment_keys),model_environment_keys:be(e.model_environment_keys),session_environment_keys:be(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),be(r)]).filter(([n])=>Mn.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"&&Mn.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"))),provenance_unavailable_dimensions:be(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:be(e.argv_markers).map(n=>n.toLowerCase()),client_names:be(e.client_names).map(n=>n.toLowerCase())}}var Eo=Xs.map(Ot);function Ks(e,t){return JSON.stringify(e)===JSON.stringify(t)}function It(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function Fn(e=[]){let t=[...Eo,...[...Te.values()].map(r=>r.descriptor),...Tt.getStore()?.descriptors??[],...e.map(Ot)],n=new Set;for(let r of t){if(n.has(r.harness))throw new Error(`Harness signal descriptor collision for "${r.harness}"`);n.add(r.harness)}return t}function $n(e,t){for(let n of t??[]){let r=L(e[n]);if(r)return r.slice(0,256)}}function Js(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 ko(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 L(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return L(i.slice(s.length+1))?.slice(0,256)}}var Ys=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function we(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return Ys.has(n)?n:void 0}function Ln(e,t){return L(e?.[t])?.slice(0,256)}var Qs=1048576;function Zs(e,t){if(e.length===0||e.length>262144)return;let n;try{n=JSON.parse(e)}catch{return}if(typeof n!="object"||n===null)return;let r=n,o=typeof r.message=="object"&&r.message!==null?r.message:void 0,i=t==="model"?o?.model:r.version;return L(i)?.slice(0,256)}function ea(e,t,n){let r=L(n.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let i=bo.resolve(t.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),s=bo.join(t.home_dir??Gs.homedir(),".claude","projects",i,`${r}.jsonl`);try{let a=St.openSync(s,"r");try{let c=St.fstatSync(a).size,l=Math.min(c,Qs),f=Buffer.alloc(l);St.readSync(a,f,0,l,Math.max(0,c-l));let u=f.toString("utf8").split(`
|
|
2
|
-
`).reverse();for(let y of u.slice(0,4096)){let p=Zs(y,e);if(p)return p}return}finally{St.closeSync(a)}}catch{return}}function ta(e,t,n,r){let o=Tt.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(L(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return ea(e,t,n);if(s==="ai_agent_version"){let a=L(n.AI_AGENT);return!a||!r||!It(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function na(e,t,n){if(e==="ai_agent_version"){let r=L(n.AI_AGENT);return r!==void 0&&It(r,t.harness)}return L(n.CLAUDE_CODE_SESSION_ID)!==void 0}function zn(e){return e||(wo.getStore()??{env:process.env,argv:process.argv})}function ra(e,t,n,r){let o=e.environment_keys.some(a=>L(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let l=c.replaceAll("\\","/");return It(l.slice(l.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||It(r,a));return o||i||s}function oa(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 ia(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function sa(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...jn,...Object.keys(r?.provenance_environment_keys??{})]),c,l,f;a.has(e)&&(c=we(e,L(n[s])?.slice(0,256)),f=we(e,ko(t.argv??[],e)),l=we(e,Js(t.argv??[],e)));let u={...r?.provenance_environment_keys,model:r?.model_environment_keys},y={...t.client_info?.provenance,model:t.client_info?.model},p=Ln(o?.provenance,e),w=we(e,$n(n,u[e])),S=we(e,Ln(y,e)),E=we(e,Ln(t.provenance,e)),C=ta(e,t,n,r);return ia([[c,"override"],[p,"session"],[f,"argv"],[w,"environment"],[S,"mcp_client"],[E,"host"],[C,"probe"]])??oa(e,i)??(l?{value:l,source:"argv"}:void 0)}function aa(e,t){if(!(!e||!t))return Vs("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function ca(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...jn,...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 l=sa(c,e,t,n,r,o);l?a[c]=l:n&&(c!=="version"||n.provenance_unavailable_dimensions.includes(c))&&(a[c]=null)}return a}function Gf(e){let t=e.map(Ot),n=new Map(Eo.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=Te.get(i.harness);if(s&&!Ks(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=Te.get(i.harness);Te.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=Te.get(i.harness);!s||s.registrations<=1?Te.delete(i.harness):s.registrations-=1}}}}function Xf(e,t){return wo.run(e,t)}function Kf(e,t,n={}){let r=e.map(Ot);return Fn(r),Tt.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function Un(e){let t=zn(e),n=t.env??{},r=Fn(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(w=>w.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(w=>ra(w,n,o,i)),a=In(t,n),c=[$n(n,s?.session_environment_keys),L(t.client_info?.session)?.slice(0,256)].find(w=>w!==void 0),l=aa(s?.harness,c),f=go({cwd:t.cwd??process.cwd(),env:n,key:l}),u=ca(t,n,s,a,f),y=u.model,p=[["harness",s?.harness],["model",y?.value],["model_source",y?.source],["session",c],["instance",l],["provenance",Object.keys(u).length>0?u:void 0],["episode",a.episode]];return Object.fromEntries(p.filter(w=>w[1]!==void 0))}function da(e,t,n,r,o,i){let s=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...s?{resolver:s}:{},rule_version:"v1"};if(i)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(s){let a=na(s,n,r);return{status:a&&o?"failed":"unavailable",reason:a?o?"resolver_failed":"probes_disabled":"harness_unavailable",resolver:s,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 vo(e){let t=zn(e),n=Un(t),r=Fn(t.descriptors).find(l=>l.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&Tt.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(L(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=In(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,$n(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,ko(t.argv??[],"role")].some(l=>{let f=L(l)?.slice(0,256);return f!==void 0&&we("role",f)===void 0}),c=Object.fromEntries(jn.map(l=>[l,da(l,n,r,o,i,l==="role"&&a)]));return{...n,provenance_outcomes:c}}function Jf(){return process.env.PM_AUTHOR}function Yf(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function Qf(e){return Un(e).harness}function la(e,t,n){let r=zn(n),o=Un(r);if(e!==void 0){let s=L(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=L(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=L(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function So(e){let t=xt.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function Io(e){let t=xt.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 xo(e){let t=xt.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function To(e,t){let n=la(e,t);return xt.enterWith(n),n.author}import ua from"node:crypto";import{AsyncLocalStorage as fa}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cc84ae55-6dc4-57d4-b7de-c43ae1fb4603")}catch{}})();var Ao=new fa,Oo=1024;function Co(){let e=Ao.getStore();if(e===void 0)return;let t=new Date(Date.parse(e.clock)+e.clockReads*e.tickMs).toISOString();return e.clockReads+=1,t}function Ro(e){let t=Ao.getStore();if(t===void 0)return;if(!Number.isSafeInteger(e)||e<0||e>Oo)throw new Error(`Reproducible token length must be an integer between 0 and ${Oo}`);let n="";for(;n.length<e;){let r=ua.createHash("sha256").update(`${t.seed}\0${t.tokenReads}`).digest();t.tokenReads+=1;for(let o of r)if(n+=(o%36).toString(36),n.length===e)break}return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6be1497f-a0d5-518b-bf6a-e549b18fad8a")}catch{}})();var ma=/^([+-]?)(\d+)([hdwm])$/i,_a=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,pa=/^(\d{4})(\d{2})(\d{2})$/,ya=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,ha=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})-(\d{2})(?:-(\d{2}))?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,ga=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i;function Ee(){return Co()??new Date().toISOString()}function se(e){return Number.isFinite(Date.parse(e))}var ba=1e4,At=new Map;function No(e){let t=At.get(e);if(t!==void 0)return t;let n=Date.parse(e);return At.size>=ba&&Et(At),At.set(e,n),n}function $(e,t){let n=No(e),r=No(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function am(e,t){return!(t.deadlineBefore&&(!e.deadline||$(e.deadline,t.deadlineBefore)>0)||t.deadlineAfter&&(!e.deadline||$(e.deadline,t.deadlineAfter)<0)||t.updatedAfter&&$(e.updated_at,t.updatedAfter)<0||t.updatedBefore&&$(e.updated_at,t.updatedBefore)>0||t.createdAfter&&$(e.created_at,t.createdAfter)<0||t.createdBefore&&$(e.created_at,t.createdBefore)>0)}function Hn(e){return e?`.${e.slice(1).padEnd(3,"0").slice(0,3)}`:""}function Wn(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 wa(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function Ea(e){let t=[],n=l=>wa(t,e,l),r=pa.exec(e);if(r){let[,l,f,u]=r;n(`${l}-${f}-${u}`)}let o=ya.exec(e);if(o){let[,l,f,u,y,p,w,S,E]=o,C=w?`:${w}`:"";n(`${l}-${f}-${u}T${y}:${p}${C}${Hn(S)}${Wn(E)}`)}let i=ha.exec(e);if(i){let[,l,f,u,y,p,w]=i,S=y?`:${y}`:"";n(`${l}T${f}:${u}${S}${Hn(p)}${Wn(w)}`)}let s=ga.exec(e);if(s){let[,l,f,u,y,p,w]=s,S=y?`:${y}`:"";n(`${l}T${f}:${u}${S}${Hn(p)}${Wn(w)}`)}let a=10,c=e.slice(0,a);if(va(c)){let l=a;for(;l<e.length&&Sa(e[l]);)l+=1;l<e.length&&n(`${c}T${e.slice(l)}`)}return t}function ka(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of Ea(e)){let r=Date.parse(n);if(Number.isFinite(r))return r}return Number.NaN}function va(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 Sa(e){return e?e===" "||e===" "||e===`
|
|
3
|
-
`||e==="\r"||e==="\f"||e==="\v":!1}function Do(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var Ia=["January","February","March","April","May","June","July","August","September","October","November","December"],xa=/^(\d{4})-(\d{2})-(\d{2})/,Ta=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Oa(e,t,n){let r=xa.exec(t)??Ta.exec(t);if(!r)return;let o=Number.parseInt(r[1],10),i=Number.parseInt(r[2],10),s=Number.parseInt(r[3],10),a=n?.trim()||"deadline";if(i<1||i>12)throw new T(`Invalid ${a} value "${e}". Month "${r[2]}" is out of range \u2014 use a month between 01 and 12.`,I.USAGE);let c=Do(o,i-1);if(s<1||s>c)throw new T(`Invalid ${a} value "${e}". ${Ia[i-1]} ${o} has ${c} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,I.USAGE)}function Aa(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,Do(i,s));return n.setUTCFullYear(i,s,a),n}function cm(e,t=new Date,n="deadline"){let r=e.trim();if(r.toLowerCase()==="now")return t.toISOString();let o=ma.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 Aa(t,a).toISOString();let l=c==="h"?3600*1e3:c==="d"?1440*60*1e3:10080*60*1e3;return new Date(t.getTime()+a*l).toISOString()}Oa(e,r,n);let i=ka(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=_a.test(r)?"Compound relative expressions like +3d+1h are not supported; use a single relative token (for example +3d) or an ISO/date string.":'Use ISO/date string input, "now", or relative +6h/-6h/+1d/-1d/+2w/-2w/+6m/-6m.';throw new T(`Invalid ${s} value "${e}". ${a}`,I.USAGE)}return new Date(i).toISOString()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77d3ebfa-789a-54cf-9d49-dbebab8d32ea")}catch{}})();var Oe=1,Mo=1;function lm(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=Oe?t:Oe}function Lo(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=Oe))return e}function Ca(e,t=Mo){return e<t?"outdated":e>t?"ahead":"current"}function um(e,t=Mo){let n=[],r=[];for(let o of e){let i=Ca(o.version,t);i==="outdated"?n.push(o.ref):i==="ahead"&&r.push(o.ref)}return{outdated:n.sort((o,i)=>o.localeCompare(i)),ahead:r.sort((o,i)=>o.localeCompare(i))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d7501aa2-d3d9-5fbe-a1c0-d4bc145f5563")}catch{}})();var Ra={"in-progress":"in_progress",cancelled:"canceled"};function Ct(e,t){if(t){let o=uo(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Ra[n]??n;if(mt.includes(r))return r}function Na(e,t){return Ct(e,t)??e}function pm(e,t){return t.terminal_statuses.has(Na(e,t))}import{encode as $a}from"@toon-format/toon";import{isDeepStrictEqual as zo}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9bef4fe4-11a8-51ae-a42a-a93cc9c57384")}catch{}})();function Bn(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 Da(e){return[...new Set([mo(e),Bn(e.key),Bn(e.cli_flag),...e.cli_aliases.map(t=>Bn(t))])]}function Fo(e,t){for(let n of Da(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function $o(e){return Array.isArray(e)?e.flatMap(t=>$o(t)).map(t=>t.trim()).filter(t=>t.length>0):typeof e=="string"?e.split(/[,\n|]/).map(t=>t.trim()).filter(t=>t.length>0):e==null?[]:[String(e).trim()].filter(t=>t.length>0)}function Po(e,t){if(typeof e=="boolean")return e;if(typeof e=="number"){if(e===1)return!0;if(e===0)return!1}if(typeof e=="string"){let n=e.trim().toLowerCase();if(n==="true"||n==="1"||n==="yes")return!0;if(n==="false"||n==="0"||n==="no")return!1}throw new T(`${t} must be one of true|false|1|0|yes|no`,I.USAGE)}function jo(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let n=typeof e=="string"?e.trim():String(e),r=Number(n);if(!Number.isFinite(r))throw new T(`${t} must be a number`,I.USAGE);return r}function Ma(e,t,n){let r=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(n==="array"&&Array.isArray(r)||n==="object"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r;throw new T(`${t} must be valid JSON ${n}`,I.USAGE)}function Ge(e,t,n){let r=n??`--${e.cli_flag}`;if(e.type==="array"||e.type==="object"){let i=Array.isArray(t)?t[t.length-1]:t;return i===void 0?void 0:Ma(i,r,e.type)}if(e.repeatable||e.type==="string_array"){let i=$o(t);return e.type==="number"?i.map(s=>jo(s,r)):e.type==="boolean"?i.map(s=>Po(s,r)):i}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?jo(o,r):e.type==="boolean"?Po(o,r):typeof o=="string"?o:String(o)}function La(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 wm(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=Fo(e,i);if(s===void 0){La(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=Ge(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function Em(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=Fo(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=Ge(s,a)))}return r}import{decode as Pa}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2840e12e-7444-5d36-9f54-5a56267bbb75")}catch{}})();function qn(e){return{value:Pa(e),usedScalarBracketEscape:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fedb7b50-6946-589d-b240-9f074e09e467")}catch{}})();var ja=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function Fa(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(ja);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function Rt(e){return Fa(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]="eaf0e260-a864-57cf-b23b-aac4f9151d8e")}catch{}})();var za=new Set(["schema","tracker","auto"]),Ua=new Set(["passed","failed","stopped","canceled"]),Ha=new Set(qr);function Re(e){return e.replaceAll("\\","/")}function Wo(e){for(let t of e)if(t!==0)return t;return 0}function Nt(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var Bo=["id","title","description","created_at","updated_at"],Wa=new Set(ie);function qo(e){if(e?.schema)return{statusRegistry:lo(e.schema),fieldRegistry:fo(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function Ba(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function ae(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new T(`Invalid item metadata: ${e}`,I.GENERIC_FAILURE,{code:"item_document_invalid",reason:e.includes("required")?"missing_required_field":"schema_validation_error",...t?{field:t}:{},required:"Provide an item document whose metadata satisfies the active runtime schema.",why:e})}function Je(e,t){throw new T(t,I.GENERIC_FAILURE,{code:"item_document_invalid",reason:"syntax_error",format:e,required:`Provide a syntactically valid ${e==="toon"?"TOON":"JSON Markdown"} item document.`,why:"The document could not be decoded far enough to validate item metadata."})}function Vo(e){let t=new Set(Wa);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function g(e,t){e||ae(t)}function Ye(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&ae(t),e}function Vn(e,t){let n=e[t];g(typeof n=="string",`${t} must be a string`),g(se(n),`${t} must be a valid ISO timestamp`)}function Uo(e,t,n){let r=e[t];r!==void 0&&g(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function Kn(e,t,n){let r=e[t];r!==void 0&&(g(typeof r=="string",`${n} must be a string`),g(se(r),`${n} must be a valid ISO timestamp`))}function qa(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){g(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();g(ht.includes(n),`event.recurrence.by_weekday entries must be one of: ${ht.join(", ")}`)}}}function Va(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)g(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function Ga(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)g(typeof t=="string","event.recurrence.exdates entries must be strings"),g(se(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function Xa(e){let t=Ye(e,"event.recurrence must be an object");g(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();g(yt.includes(n),`event.recurrence.freq must be one of: ${yt.join(", ")}`),Uo(t,"interval","event.recurrence.interval"),Uo(t,"count","event.recurrence.count"),Kn(t,"until","event.recurrence.until"),qa(t.by_weekday),Va(t.by_month_day),Ga(t.exdates)}function Ka(e){for(let r of Bo)g(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;g(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&g(typeof n=="number"&&Number.isInteger(n)&&n>=Oe,`pm_format_version must be an integer >= ${Oe}`),t}function Ja(e,t){let n=e.status;g(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=Ct(n,r),i=r?r.definitions.map(s=>s.id):[...mt];g(o!==void 0,`status must be one of: ${i.join(", ")}`)}function Ya(e){let t=e.priority;g(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;g(Array.isArray(n),"tags must be an array");for(let r of n)g(typeof r=="string","tags entries must be strings")}function Qa(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){g(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let n=t.trim().toLowerCase(),r=n==="med"||pt.includes(n);g(r,`confidence string value must be one of: ${[...pt,"med"].join(", ")}`);return}g(!1,"confidence must be a number or string")}}function Za(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&ae("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||_t.includes(n);g(r,`severity value must be one of: ${[..._t,"med"].join(", ")}`)}function ec(e){e.regression!==void 0&&typeof e.regression!="boolean"&&ae("regression must be a boolean")}function tc(e){let t=e.reminders;if(t!==void 0){g(Array.isArray(t),"reminders must be an array");for(let n of t){let r=Ye(n,"reminders entries must be objects");g(typeof r.at=="string","reminder.at must be a string"),g(se(r.at),"reminder.at must be a valid ISO timestamp"),g(typeof r.text=="string","reminder.text must be a string"),g(r.text.trim().length>0,"reminder.text must not be empty")}}}function nc(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(g(typeof e[t]=="string",`event.${t} must be a string`),g(e[t].trim().length>0,`event.${t} must not be empty`))}function rc(e){e.recurrence!==void 0&&(Xa(e.recurrence),e.recurrence.until!==void 0&&g($(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function oc(e){let t=Ye(e,"events entries must be objects");g(typeof t.start_at=="string","event.start_at must be a string"),g(se(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(g(typeof t.end_at=="string","event.end_at must be a string"),g(se(t.end_at),"event.end_at must be a valid ISO timestamp"),g($(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),nc(t),t.all_day!==void 0&&g(typeof t.all_day=="boolean","event.all_day must be a boolean"),rc(t)}function ic(e){let t=e.events;if(t!==void 0){g(Array.isArray(t),"events must be an array");for(let n of t)oc(n)}}function sc(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&g(typeof n=="string",`${t} must be a string`)}}function ac(e){let t=e.type_options;if(t===void 0)return;let n=Ye(t,"type_options must be an object");for(let[r,o]of Object.entries(n))g(r.trim().length>0,"type_options keys must be non-empty"),g(typeof o=="string","type_options values must be strings"),g(o.trim().length>0,"type_options values must be non-empty strings")}function cc(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){Ba(r,t)&&ae(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=Ge(r,o,`metadata field "${r.metadata_key}"`)}catch(i){ae(String(i?.message).replace(/^Invalid\s+/u,""))}}}function dc(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Vo(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?ae(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function Jn(e,t){let n=Ye(e,"item metadata must be an object"),r=Ka(n);Ja(n,t),Ya(n),Qa(n),Za(n),ec(n),Vn(n,"created_at"),Vn(n,"updated_at"),n.deadline!==void 0&&Vn(n,"deadline"),tc(n),ic(n),Kn(n,"closed_at","closed_at"),Kn(n,"completed_at","completed_at"),sc(n),ac(n),cc(n,r,t),dc(n,t)}function lc(e){if(!(!e||e.length===0))return[...e].map(t=>({id:t.id.trim().toLowerCase(),kind:t.kind,created_at:t.created_at,author:t.author?.trim()||void 0,source_kind:t.source_kind?.trim()||void 0,author_source:t.author_source})).sort((t,n)=>{let r=$(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 Gn(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=$(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 uc(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=$(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function fc(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!yt.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>ht.includes(s)))).sort((s,a)=>wn(s)-wn(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=>se(s)))).sort((s,a)=>$(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 mc(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(_c).sort(pc)}function _c(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:fc(e.recurrence)};return Nt(t),t}function pc(e,t){return Wo([$(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 yc(e){if(!(!e||e.length===0))return e.map(t=>({path:Re(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function hc(e){if(!e||e.length===0)return;let t=e.map(wc).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)=>Wo([$(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 Ae(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function gc(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Xn(e){return typeof e=="string"?e:""}function bc(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 wc(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Ua.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:Xn(e.started_at),finished_at:Xn(e.finished_at),recorded_at:Xn(e.recorded_at),attempt:gc(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:Ae(e.passed)??0,failed:Ae(e.failed)??0,skipped:Ae(e.skipped)??0,items:Ae(e.items),linked_tests:Ae(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:bc(e.measurements)};return Nt(o),o}function Ec(e){if(!(!Array.isArray(e)||e.length===0))return e.map(Sc)}function Xe(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 Go(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Qn(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function Ho(e){if(!Go(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!Qn(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function kc(e){if(!Go(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!Qn(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function vc(e){let t=e?.trim().toLowerCase();if(!(!t||!za.has(t)))return t}function Sc(e){let t={command:e.command?.trim()||void 0,path:e.path?Re(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:vc(e.pm_context_mode),env_set:Ho(e.env_set),env_clear:Xe(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Xe(e.assert_stdout_contains),assert_stdout_regex:Xe(e.assert_stdout_regex),assert_stderr_contains:Xe(e.assert_stderr_contains),assert_stderr_regex:Xe(e.assert_stderr_regex),assert_stdout_min_lines:Ae(e.assert_stdout_min_lines),assert_json_field_equals:Ho(e.assert_json_field_equals),assert_json_field_gte:kc(e.assert_json_field_gte),note:e.note?.trim()||void 0};return Nt(t),t}function Ic(e){if(!(!e||e.length===0))return[...e].map(t=>({path:Re(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 h(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function xc(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=h(r.id),i=h(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=h(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 Tc(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=h(r.path);if(!o)continue;let i={path:Re(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=h(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Oc(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=h(r.command),i=h(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=Re(i));let a=h(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Ac(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=h(r.path);if(!o)continue;let i={path:Re(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=h(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Cc(e){if(e===null||typeof e!="object")return;let t=e,n=h(t.id),r=h(t.title),o=h(t.status),i=o&&Ha.has(o)?o:void 0,s=Zr(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 l={id:n,order:s,title:r,status:i,created_at:a,updated_at:c};return Rc(l,t),l}function Rc(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=h(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",xc],["files","files",Tc],["tests","tests",Oc],["docs","docs",Ac]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function Nc(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Cc(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Dc(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=h(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=h(r.rationale);c&&(a.rationale=c);let l=h(r.evidence);l&&(a.evidence=l);let f=h(r.step_id);f&&(a.step_id=f),t.push(a)}return t.length>0?t:void 0}function Mc(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=h(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=h(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function Lc(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=h(r.text);if(!o)continue;let i={text:o},s=h(r.command);s&&(i.command=s);let a=h(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function Pc(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 Ce(e){let t=0;for(;t<e.length&&e[t]===`
|
|
4
|
-
`;)t+=1;return e.slice(t).trimEnd()}function jc(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(pt.includes(t))return t}function Fc(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(_t.includes(t))return t}function Ke(e){return e||void 0}function $c(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))Qn(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function zc(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]=Ge(r,o,`metadata field "${r.metadata_key}"`))}}function Uc(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Vo(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&ae(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function Dt(e,t={}){let n=qo(t),r=Ct(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:Lo(e.pm_format_version),source_type:h(e.source_type),type_options:Pc(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:lc(e.dependencies),comments:Gn(e.comments),notes:Gn(e.notes),learnings:Gn(e.learnings),files:yc(e.files),tests:Ec(e.tests),test_runs:hc(e.test_runs),docs:Ic(e.docs),deadline:Ke(e.deadline),reminders:uc(e.reminders),events:mc(e.events),closed_at:Ke(e.closed_at),completed_at:Ke(e.completed_at),assignee:h(e.assignee),claim_principal:h(e.claim_principal),source_owner:h(e.source_owner),author:Ke(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:h(e.definition_of_ready),order:e.order,goal:h(e.goal),objective:h(e.objective),value:h(e.value),impact:h(e.impact),outcome:h(e.outcome),why_now:h(e.why_now),parent:h(e.parent),reviewer:h(e.reviewer),risk:e.risk??void 0,confidence:jc(e.confidence),sprint:h(e.sprint),release:h(e.release),blocked_by:h(e.blocked_by),blocked_reason:h(e.blocked_reason),unblock_note:h(e.unblock_note),reporter:h(e.reporter),severity:Fc(e.severity),environment:h(e.environment),repro_steps:h(e.repro_steps),resolution:h(e.resolution),expected_result:h(e.expected_result),actual_result:h(e.actual_result),affected_version:h(e.affected_version),fixed_version:h(e.fixed_version),component:h(e.component),regression:e.regression,customer_impact:h(e.customer_impact),close_reason:Ke(e.close_reason),plan_mode:h(e.plan_mode),plan_scope:h(e.plan_scope),plan_harness:h(e.plan_harness),plan_resume_context:h(e.plan_resume_context),plan_steps:Nc(e.plan_steps),plan_decisions:Dc(e.plan_decisions),plan_discoveries:Mc(e.plan_discoveries),plan_validation:Lc(e.plan_validation)};return $c(i,e),zc(i,n),Uc(i,n),Nt(i),i}function Xo(e){return k(e,ie)}function Hc(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 Wc(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=Hc(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 Bc(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 Yn(e,t){return Dt(e,{...t,onWarning:void 0})}function qc(e,t,n={}){let r=Bc(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=Wc(r.content);o||(e.trimStart().startsWith("{")&&Je("json_markdown","JSON front matter is not valid JSON"),Je("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{Je("json_markdown","JSON front matter is not valid JSON")}return Jn(s,t),{metadata:Yn(s,n),body:Ce(i)}}function Vc(e,t,n={}){let r;try{r=qn(e).value}catch{Je("toon","TOON item document is not valid TOON")}g(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!Bo.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&Je("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return Jn(o.front_matter,t),g(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:Yn(o.front_matter,n),body:Ce(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return g(i===void 0||typeof i=="string","TOON item document body must be a string"),Jn(s,t),{metadata:Yn(s,n),body:Ce(typeof i=="string"?i:"")}}function Gc(e,t={}){let n=Dt(e.metadata,t),r=Xo(n),o=JSON.stringify(r,null,2),i=Ce(e.body??"");return i?`${o}
|
|
6
|
-
|
|
7
|
-
${i}
|
|
8
|
-
`:`${o}
|
|
9
|
-
`}function Xc(e,t={}){let n=Dt(e.metadata,t),r=Xo(n),o=Ce(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=$a(s),c;try{c=qn(a).value}catch(l){throw new T("Refusing to persist a TOON item document that the configured decoder cannot read back.",I.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_error",format:"toon",required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:l instanceof Error?l.message:String(l)})}if(!zo(c,s)){let l=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},f=Object.keys(s).find(u=>!zo(s[u],l[u]))??"document";throw new T(`Refusing to persist a lossy TOON item document; round-trip mismatch at field "${f}".`,I.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_mismatch",format:"toon",field:f,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 Mt(e,t={}){let n=Rt(e);if(n)throw new T(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,I.GENERIC_FAILURE,{code:"merge_conflict_markers_detected",reason:"merge_conflict",required:"Resolve merge-conflict markers in the item file before parsing or mutation commands.",why:"Partially merged documents can corrupt item metadata and history integrity.",examples:["git status","git add <resolved-file> && git commit"],nextSteps:["Resolve conflicts, save the file, then rerun the pm command."]});let r=t.format??"toon",o=qo(t);return r==="toon"?Vc(e,o,t):qc(e,o,t)}function Ko(e,t={}){return(t.format??"toon")==="toon"?Xc(e,t):Gc(e,t)}function B(e,t={}){return{metadata:Dt(e.metadata,t),body:Ce(e.body??"")}}import{existsSync as Jc}from"node:fs";import{AsyncLocalStorage as Yc}from"node:async_hooks";import Z from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bd9832a9-f6a2-5351-a929-0a0d2766df88")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3239b2c7-3ae3-5d4e-9005-b61000362304")}catch{}})();function Bm(){let e=Promise.resolve(),t=new Set;return{async read(n){let r=e,o,i=new Promise(s=>{o=s});t.add(i),await r;try{return await n()}finally{t.delete(i),o()}},write(n){let o=Promise.all([e,...t]).then(()=>n());return e=o.then(()=>{},()=>{}),o}}}function Kc(){let e=Promise.resolve(),t=0,n=[],r=()=>{if(t!==0)return;let o=n.splice(0);for(let i of o)i()};return{enqueue(o){t++;let i=e.then(()=>o());return e=i.then(()=>{},()=>{}).finally(()=>{t--,r()}),i},idle(){return t===0?Promise.resolve():new Promise(o=>n.push(o))}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="38024e6c-c1ef-5c15-8421-ac18d317e330")}catch{}})();var Ne=null,Yo=null,Qc=null,Zc=null,Zn=null,ed=null,Qo=null,td=null;var nd=[],Zo=new Yc;function P(){return Zo.getStore()}function r_(e){return Zo.run({hooks:null,commands:null,parsers:null,preflight:null,services:null,renderers:null,registrations:null,commandContext:null,commandResult:void 0,affectedItems:[]},e)}var rd=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function Jo(e){let t=Z.resolve(e);for(;;){if(Jc(Z.join(t,".git")))return t;let n=Z.dirname(t);if(n===t)return;t=n}}function od(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||process.cwd(),n=Jo(t)??Z.resolve(t),r=Jo(n);if(!e)return{source_workspace_root:n,...r?{repo_root:r}:{}};let o=Z.relative(n,Z.resolve(e)),i=o.length>0&&!o.startsWith(`..${Z.sep}`)&&o!==".."&&!Z.isAbsolute(o);return{source_workspace_root:n,...r?{repo_root:r}:{},...i?{pm_root_rel:o.split(Z.sep).join("/")}:{}}}function o_(e){let t=P();if(t){t.hooks=e;return}Ne=e}function i_(e){let t=P();if(t){t.commands=e;return}Yo=e}function s_(e){let t=P();if(t){t.parsers=e;return}Qc=e}function a_(e){let t=P();if(t){t.preflight=e;return}Zc=e}function c_(e){let t=P();if(t){t.services=e;return}Zn=e}function d_(e){let t=P();if(t){t.renderers=e;return}ed=e}function l_(e){let t=P();if(t){t.registrations=e;return}Qo=e}function Qe(){let e=P();return e?e.registrations:Qo}function er(e){if(!e)return;let t=P();t?t.affectedItems.push(e):nd.push(e)}function Lt(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"||rd.has(i)||Object.hasOwn(r,i)&&r[i]!==void 0&&(n[i]=r[i])}return n}async function q(e){let t=P(),n=t?t.hooks:Ne;return n?to(n,e):[]}async function tr(e){let t=P(),n=t?t.hooks:Ne;n&&await eo(n,e)}async function K(e){let t=P(),n=t?t.hooks:Ne;return n?no(n,e):[]}function nr(){let e=P();return((e?e.hooks:Ne)?.onRead?.length??0)>0}async function u_(e){let t=P(),n=t?t.hooks:Ne;return n?ro(n,e):[]}async function f_(e){let t=P(),n=t?t.commands:Yo;return n?oo(n,{...e,...od(e.pm_root)}):{handled:!1,result:null,warnings:[]}}function ei(e,t){let n=P(),r=n?n.commandContext:td;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 ee(e,t){let n=P(),r=n?n.services:Zn;return r?so(r,ei(e,t)):{handled:!1,result:t,warnings:[]}}function ti(e,t){let n=P(),r=n?n.services:Zn;return r?io(r,ei(e,t)):{handled:!1,result:t,warnings:[]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aa65b74d-ef5d-57ed-b613-3034da52a8ba")}catch{}})();async function Ze(e,t){let n=await ye(e);if(n===null)return[];if(await K({path:e,scope:"project"}),n.trim()==="")return[];let r=Rt(n);if(r)throw new T(`History for ${t} contains merge conflict markers at line ${r.line} (${r.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,I.GENERIC_FAILURE,{code:"history_merge_conflict_markers_detected",required:"Repair the history stream by resolving merge-conflict markers.",why:"Conflict markers break JSONL parsing and invalidate deterministic audit history.",examples:[`pm history ${t}`,`pm restore ${t} <timestamp-or-version>`],nextSteps:["Resolve or restore the history file, then rerun the command."]});let o=[];for(let[i,s]of n.split(/\r?\n/).entries()){let a=s.trim();if(a)try{o.push(JSON.parse(a))}catch{throw new T(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,I.GENERIC_FAILURE)}}return o}import _r from"fast-json-patch";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4d71277c-e16c-56f4-a834-5200acfa6d7a")}catch{}})();import hi from"fast-json-patch";import ce from"node:fs/promises";import te from"node:path";import{randomUUID as id}from"node:crypto";import{createRequire as sd}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f1205949-16d8-51ce-98e8-04abc4c78ee8")}catch{}})();var ad="history-event-index.sqlite",rr="2";function Ft(e){return te.join(e,"runtime",ad)}function cd(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function dd(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?cd(t):null}var Pt;function or(){return Pt!==void 0||(Pt=dd(process.versions.node,sd(import.meta.url))),Pt}function ld(e){e.exec(`
|
|
11
|
-
PRAGMA journal_mode = OFF;
|
|
12
|
-
PRAGMA synchronous = OFF;
|
|
13
|
-
CREATE TABLE metadata (
|
|
14
|
-
key TEXT PRIMARY KEY,
|
|
15
|
-
value TEXT NOT NULL
|
|
16
|
-
) STRICT;
|
|
17
|
-
CREATE TABLE events (
|
|
18
|
-
stream_id TEXT NOT NULL,
|
|
19
|
-
stream_offset INTEGER NOT NULL,
|
|
20
|
-
ts TEXT NOT NULL,
|
|
21
|
-
author TEXT NOT NULL,
|
|
22
|
-
agent_harness TEXT,
|
|
23
|
-
agent_instance TEXT,
|
|
24
|
-
op TEXT NOT NULL,
|
|
25
|
-
entry_json TEXT NOT NULL,
|
|
26
|
-
PRIMARY KEY(stream_id, stream_offset)
|
|
27
|
-
) STRICT;
|
|
28
|
-
CREATE INDEX events_order
|
|
29
|
-
ON events(ts, stream_id, stream_offset);
|
|
30
|
-
CREATE INDEX events_op_order
|
|
31
|
-
ON events(op, ts, stream_id, stream_offset);
|
|
32
|
-
CREATE INDEX events_author_order
|
|
33
|
-
ON events(author, ts, stream_id, stream_offset);
|
|
34
|
-
CREATE INDEX events_harness_order
|
|
35
|
-
ON events(agent_harness, ts, stream_id, stream_offset);
|
|
36
|
-
CREATE INDEX events_instance_order
|
|
37
|
-
ON events(agent_instance, ts, stream_id, stream_offset);
|
|
38
|
-
`),e.prepare("INSERT INTO metadata(key, value) VALUES ('version', ?)").run(rr)}function ni(e,t){e.prepare(`INSERT INTO events(
|
|
39
|
-
stream_id, stream_offset, ts, author, agent_harness,
|
|
40
|
-
agent_instance, op, entry_json
|
|
41
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(t.stream_id,t.stream_offset,t.entry.ts,t.entry.author,t.entry.agent_harness??null,t.entry.agent_instance??null,t.entry.op,JSON.stringify(t.entry))}async function C_(e){let t=or();if(!t)return!1;let n=te.join(e,"history"),o=(await ce.readdir(n,{withFileTypes:!0}).catch(c=>{if(typeof c=="object"&&c!==null&&"code"in c&&c.code==="ENOENT")return[];throw c})).filter(c=>c.isFile()&&c.name.endsWith(".jsonl")).sort((c,l)=>c.name.localeCompare(l.name)),i=Ft(e);await ce.mkdir(te.dirname(i),{recursive:!0});let s=`${i}.${id()}.tmp`,a;try{a=new t(s),ld(a),a.exec("BEGIN IMMEDIATE");for(let c of o){let l=c.name.slice(0,-6),f=await Ze(te.join(n,c.name),l);for(let[u,y]of f.entries())ni(a,{stream_id:l,stream_offset:u,entry:y})}return a.exec("COMMIT"),a.close(),a=void 0,await ce.rm(i,{force:!0}),await ce.rename(s,i),!0}catch(c){throw a?.close(),await ce.rm(s,{force:!0}),c}}async function ri(e,t){let n=te.dirname(te.dirname(e)),r=Ft(n);try{await ce.access(r)}catch{return}let o=or();if(!o)return;let i;try{if(i=new o(r),i.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==rr)throw new TypeError("Unsupported history event index version");let a=te.basename(e,".jsonl"),c=i.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(a);ni(i,{stream_id:a,stream_offset:Number(c.value),entry:t}),i.close()}catch{i?.close(),await ce.rm(r,{force:!0})}}async function $t(e){await ce.rm(Ft(te.dirname(te.dirname(e))),{force:!0})}function jt(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function ud(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 R_(e,t){let n=or();if(!n)return null;let r=[],o=[];t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0?(r.push("(ts > ? OR (ts = ? AND stream_id > ?) OR (ts = ? AND stream_id = ? AND stream_offset > ?))"),o.push(t.after_ts,t.after_ts,t.after_stream_id,t.after_ts,t.after_stream_id,t.after_stream_offset)):t.since_ts!==void 0&&(r.push("ts >= ?"),o.push(t.since_ts)),jt(r,o,"op",t.ops),jt(r,o,"author",t.authors),ud(r,o,t.harnesses,t.harness_alias_authors),jt(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);jt(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{if(s=new n(Ft(e),{readOnly:!0}),s.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==rr)return s.close(),null;let c=s.prepare(`SELECT stream_id, stream_offset, entry_json
|
|
42
|
-
FROM events${i}
|
|
43
|
-
ORDER BY ts, stream_id, stream_offset
|
|
44
|
-
LIMIT ?`).all(...o,Math.max(0,Math.floor(t.limit))+1),l=c.length>t.limit,f=c.slice(0,t.limit).map(u=>({stream_id:String(u.stream_id),stream_offset:Number(u.stream_offset),entry:JSON.parse(String(u.entry_json))}));return s.close(),{events:f,has_more:l}}catch{return s?.close(),null}}import ur from"node:fs/promises";import Me from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="22af7808-6456-5889-b6e3-1abd73f35738")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c873f95b-c435-5b0d-a631-565fb195b5cd")}catch{}})();var zt="changed_fields",fd="changed_field_count",ir="rows",md=new Set(["apply","rollback"]),oi=new Set(["deleted","would_delete"]);function ke(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function ii(e){let t=e[zt];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==zt&&(n[r]=o);return n[fd]=t.length,n}function _d(e){return"item"in e&&Array.isArray(e[zt])}function pd(e){return typeof e.mode=="string"&&md.has(e.mode)&&Array.isArray(e[ir])}function yd(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[ir]=t,n}function hd(e){if(!ke(e))return null;let t=ke(e.item)?e.item:ke(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"&&oi.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 gd(e){if(!ke(e)||!ke(e.item)||typeof e.item.id!="string")return null;let t=e[zt];if(!Array.isArray(t))return null;let n={id:e.item.id,...typeof e.outcome=="string"&&oi.has(e.outcome)?{status:e.outcome}:typeof e.item.status=="string"?{status:e.item.status}:{},...typeof e.deleted=="boolean"?{deleted:e.deleted}:{},...typeof e.previous_status=="string"?{previous_status:e.previous_status}:{},changed_field_count:t.length},r=typeof e.close_reason=="string"?e.close_reason:typeof e.item.close_reason=="string"?e.item.close_reason:void 0;return r!==void 0&&(n.close_reason=r),Array.isArray(e.warnings)&&e.warnings.length>0&&(n.warnings=e.warnings),n}function bd(e){let t=pd(e)?e[ir]:void 0;if(!Array.isArray(t))return{projected:e,changed:!1};let n=!1,r=t.map(o=>{if(!ke(o))return o;let i=ii(o);return i?(n=!0,i):o});return n?{projected:yd(e,r),changed:!0}:{projected:e,changed:!1}}function wd(e,t={}){if(t.idOnly===!0){let a=hd(e);if(a!==null)return a}if(t.compactEnvelope===!0){let a=gd(e);if(a!==null)return a}if((t.changedFields??"full")==="full"||!ke(e))return e;let r=!1,o=e,i=_d(e)?ii(e):null;i!==null&&(o=i,r=!0);let s=bd(o);return s.changed&&(o=s.projected,r=!0),r?o:e}import{encode as ci}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]="5aaf8b90-5b95-5102-9ea4-b877c696d593")}catch{}})();var Y_=new Set(Object.values(I));var si=!1;function De(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function sr(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function Ed(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.SUCCESS)}function kd(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.GENERIC_FAILURE)}function ar(e){if(e==="stdout"){Ed();return}kd()}function ai(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function vd(){si||(si=!0,process.stdout.on("error",e=>{if(sr(e)){ar("stdout");return}ai(e)}),process.stderr.on("error",e=>{if(sr(e)){ar("stderr");return}ai(e)}))}function Sd(e,t){vd();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(sr(n))return ar(e),!1;throw n}}function Ut(e){return Sd("stderr",e)}function cr(e){return typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):e===null?"null":JSON.stringify(e)}function Id(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function di(e){if(e.length===0||!e.every(De))return!1;let t=Object.keys(e[0]);return t.length>0&&e.every(n=>Object.keys(n).length===t.length&&t.every(r=>Object.hasOwn(n,r)&&Id(n[r])))}function li(e,t){let n=" ".repeat(t);return e.split(`
|
|
45
|
-
`).map(r=>`${n}${r}`).join(`
|
|
46
|
-
`)}function xd(e,t,n){let r=" ".repeat(n);return!De(t)&&!Array.isArray(t)?`${r}${e}: ${cr(t)}`:Array.isArray(t)&&t.length===0?`${r}${e}: []`:Array.isArray(t)&&di(t)?li(ci({[e]:t}),n):De(t)&&Object.keys(t).length===0?`${r}${e}: {}`:`${r}${e}:
|
|
47
|
-
${lr(t,n+1)}`}function dr(e){if(e!=null){if(Array.isArray(e)){let t=e.map(n=>dr(n)).filter(n=>n!==void 0);return t.length>0?t:void 0}if(De(e)){let t={};for(let[n,r]of Object.entries(e)){if(n==="omitted_field_groups"&&Array.isArray(r)&&r.length===0){t[n]=[];continue}let o=dr(r);o!==void 0&&(t[n]=o)}return Object.keys(t).length>0?t:void 0}return e}}function lr(e,t){let n=" ".repeat(t);if(Array.isArray(e))return e.length===0?"[]":di(e)?li(ci(e),t):e.map(r=>{if(!De(r)&&!Array.isArray(r))return`${n}- ${cr(r)}`;let i=lr(r,t+1).split(`
|
|
48
|
-
`),[s,...a]=i;return a.length===0?`${n}- ${s.trimStart()}`:`${n}- ${s.trimStart()}
|
|
49
|
-
${a.join(`
|
|
50
|
-
`)}`}).join(`
|
|
51
|
-
`);if(De(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>xd(o,i,t)).join(`
|
|
52
|
-
`)}return`${n}${cr(e)}`}function Q_(e,t){if(t==="json")return`${JSON.stringify(e,null,2)}
|
|
53
|
-
`;let n=dr(e);return n===void 0?`{}
|
|
54
|
-
`:`${lr(n,0)}
|
|
55
|
-
`}function Z_(e){let t=ti("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;Ut(n.endsWith(`
|
|
56
|
-
`)?n:`${n}
|
|
57
|
-
`)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4db09d54-90c6-548b-baa8-c7ce419f70a2")}catch{}})();var Td=Me.join("runtime","history-drift-cache.json"),ui={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 fi(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function Od(e){let t=Me.join(e,Td),n=!1,r="invalid_cache_path";try{n=(await ur.stat(await ur.realpath(e))).isDirectory()}catch(o){let i=fi(o);r=i===void 0?"unknown":ui[i]??"filesystem_error"}if(!n){Ut(`[pm] warning: history_drift_cache_invalidation_failed:${r}
|
|
58
|
-
`);return}try{await ur.rm(t,{force:!0})}catch(o){let i=fi(o);if(i==="ENOENT")return;let s=i===void 0?"unknown":ui[i]??"filesystem_error";Ut(`[pm] warning: history_drift_cache_invalidation_failed:${s}
|
|
59
|
-
`)}}async function et(e){let t=Me.dirname(Me.resolve(e));Me.basename(t)==="history"&&await Od(Me.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]="2fc7f675-3500-5abb-8d5c-9ca9caa803b6")}catch{}})();var Cd={front_matter:{},body:""},J=2,Bt=[1,2];function Ht(e,t){return(e??"").localeCompare(t??"")}function mi(e,t){return(e??0)-(t??0)}function de(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function Rd(e,t){return[e.scope.localeCompare(t.scope),Ht(e.path,t.path),Ht(e.command,t.command),mi(e.timeout_seconds,t.timeout_seconds),Ht(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,de(e.env_clear,t.env_clear,[]),de(e.env_set,t.env_set,{}),de(e.assert_stdout_contains,t.assert_stdout_contains,[]),de(e.assert_stdout_regex,t.assert_stdout_regex,[]),de(e.assert_stderr_contains,t.assert_stderr_contains,[]),de(e.assert_stderr_regex,t.assert_stderr_regex,[]),mi(e.assert_stdout_min_lines,t.assert_stdout_min_lines),de(e.assert_json_field_equals,t.assert_json_field_equals,{}),de(e.assert_json_field_gte,t.assert_json_field_gte,{}),Ht(e.note,t.note)].find(r=>r!==0)??0}function Nd(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function Dd(e,t){let n=Nd(t);if(n.length===0)return!0;let r=e;for(let o of n){if(Array.isArray(r)){if(o==="-"||!/^(0|[1-9]\d*)$/.test(o))return!1;let s=Number(o);if(!Number.isInteger(s)||s<0||s>=r.length)return!1;let a=r[s];if(a===void 0)return!1;r=a;continue}if(typeof r!="object"||r===null||!Object.prototype.hasOwnProperty.call(r,o))return!1;let i=r[o];if(i===void 0)return!1;r=i}return!0}function Md(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!Dd(r,o.path)?{...o,op:"add"}:o;n.push(i),r=hi.applyPatch(r,[i],!0,!0).newDocument}return n}function fr(e,t){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let r=B(e),o=t===1&&r.metadata.tests?{...r.metadata,tests:[...r.metadata.tests].sort(Rd)}:r.metadata;return{front_matter:k(o,ie),body:r.body}}function _i(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let n=B(e);return{metadata:k(n.metadata,ie),body:n.body}}function yp(e){return mr(e,J)}function mr(e,t){if(!Bt.some(n=>n===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return he(G(fr(e,t)))}function hp(){return he(G(Cd))}function Le(e){let t=fr(e.before,J),n=fr(e.after,J),r=_i(e.before),o=_i(e.after),i=hi.compare(r,o),s=Md(r,i),a=Io(e.author),c=a.harness?Object.fromEntries(Object.entries(vo().provenance_outcomes).filter(([,f])=>f.status==="failed")):void 0,l=c===void 0||Object.keys(c).length===0?e.context:{...e.context,agent_provenance_outcomes:c};return{ts:e.nowIso,author:e.author,author_source:e.authorSource??So(e.author),...a.harness?{agent_harness:a.harness}:{},...a.model?{agent_model:a.model}:{},...a.model_source?{agent_model_source:a.model_source}:{},...a.instance?{agent_instance:a.instance}:{},...a.provenance?{agent_provenance:a.provenance}:{},...a.episode?{agent_episode:a.episode}:{},op:e.op,patch:s,before_hash:he(G(t)),after_hash:he(G(n)),item_hash_version:J,message:e.message===void 0?void 0:e.message,...l===void 0?{}:{context:l}}}function pi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ld(e){let t=e.ts.trim();return t.length>0?t:Ee()}function yi(e,t){let n=e.ts;return typeof n=="string"&&n.trim().length>0?e:{...e,ts:t}}function Wt(e,t){let n=Ld(t);if(typeof e=="string"){try{let r=JSON.parse(e);if(pi(r))return JSON.stringify(yi(r,n))}catch{}return e}return pi(e)?JSON.stringify(yi(e,n)):JSON.stringify(e)}async function Pe(e,t){let n=await ee("history_append",{history_path:e,entry:t});if(n.handled){if(n.result===!1)return;if(typeof n.result=="string"){await He(e,Wt(n.result,t)),await et(e),await $t(e);return}if(typeof n.result=="object"&&n.result!==null){let r=n.result;if(r.skip===!0)return;let o=typeof r.history_path=="string"?r.history_path:e;if(typeof r.line=="string"){await He(o,Wt(r.line,t)),await et(o),await $t(o);return}await He(o,Wt(r.entry??t,t)),await et(o),await $t(o);return}}await He(e,Wt(t,t)),await et(e),await ri(e,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a1283470-00c7-5e91-8676-e1c1a667537f")}catch{}})();var Pd={metadata:{},body:""};function Vt(){return structuredClone(Pd)}function qt(e,t=J){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return mr(Gt(e),t)}catch{}return he(G({replay_fallback:!0,metadata:e.metadata,body:e.body}))}function Gt(e){return{metadata:e.metadata,body:e.body}}function Ip(e,t={}){return B(Gt(e),t)}function xp(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=B(e);return{metadata:k(t.metadata,ie),body:t.body}}function gi(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function jd(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function wi(e){return Array.isArray(e)?e.filter(jd).map(t=>({...t,path:gi(t.path),from:typeof t.from=="string"?gi(t.from):void 0})):[]}function Fd(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 Xt(e,t){try{let n=wi(t),r=_r.applyPatch(structuredClone(e),n,!0,!1).newDocument;return Fd(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 $d(e){let t=Vt(),n;for(let r=0;r<e.length;r+=1){let o=e[r],i=o.item_hash_version;if(i!==void 0&&!Bt.includes(i))return{ok:!1,errors:[`verify_failed:unsupported_item_hash_version:${String(i)}:entry_${r+1}`]};let s=Xt(t,o.patch);if(!s.ok)return{ok:!1,errors:[`verify_failed:patch_apply_failed:entry_${r+1}`]};let c=(i===void 0?[J,1]:[i]).filter(f=>qt(t,f)===o.before_hash);if(c.length===0)return{ok:!1,errors:[`verify_failed:before_hash_mismatch:entry_${r+1}`]};let l=c.find(f=>qt(s.document,f)===o.after_hash);if(l===void 0)return{ok:!1,errors:[`verify_failed:after_hash_mismatch:entry_${r+1}`]};t=s.document,n=l}return{ok:!0,errors:[],...n===void 0?{}:{item_hash_version:n}}}function pr(e){let t=$d(e);return{ok:t.ok,errors:t.errors}}function bi(e,t){try{return{ok:!0,document:_r.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function zd(e,t){let n=structuredClone(e),r=0,o=0;for(let a of wi(t)){let c=bi(n,a);if(c.ok){n=c.document;continue}if(a.op==="replace"){let l=bi(n,{...a,op:"add"});if(l.ok){n=l.document,r+=1;continue}}o+=1}let i=n;return{document:{metadata:typeof i.metadata=="object"&&i.metadata!==null?i.metadata:{},body:typeof i.body=="string"?i.body:e.body},convertedReplaceToAdd:r,skippedOps:o}}function Tp(e){let t=e.findIndex(l=>l.item_hash_version!==void 0&&!Bt.includes(l.item_hash_version));if(t>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[t]?.item_hash_version)}:entry_${t+1}`);let n=Vt(),r=[],o=[],i=0,s=0,a=0,c=0;for(let l=0;l<e.length;l+=1){let f=e[l],u=qt(n,J),y=Xt(n,f.patch),p,w,S=!1,E=0,C=0;if(y.ok)p=y.document,w=f.patch;else{let M=zd(n,f.patch);p=M.document,w=_r.compare(n,p),S=!0,E=M.convertedReplaceToAdd,C=M.skippedOps,a+=E,c+=C,s+=1}let N=qt(p,J),oe=u!==f.before_hash||N!==f.after_hash;oe&&(i+=1),r.push({...f,patch:w,before_hash:u,after_hash:N,item_hash_version:J}),o.push({index:l+1,rehashed:oe,patch_repaired:S,converted_replace_to_add:E,skipped_ops:C}),n=p}return{entries:r,finalDocument:n,entriesRehashed:i,entriesPatchRepaired:s,convertedReplaceToAdd:a,skippedOps:c,details:o}}function Op(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
|
|
60
|
-
`)}
|
|
61
|
-
`}import Ud from"node:crypto";import Ei from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="50a277b9-d530-5aa0-8bd0-8eb0d36911e5")}catch{}})();function vi(e){let t=(e??"").trim().toLowerCase();return t?t.endsWith("-")?t:`${t}-`:"pm-"}function yr(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function hr(e,t){let n=vi(t),r=yr(e);return r.startsWith(n)?r:`${n}${r}`}function Hd(e){let t=Ro(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=Ud.randomInt(0,36).toString(36);return n}async function Wd(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[Ei.join(e,o,`${t}.md`),Ei.join(e,o,`${t}.toon`)]);return(await Promise.all(r.map(o=>bt(o)))).some(Boolean)}var ki=4,Si=12;function Bd(e){return typeof e!="number"||!Number.isFinite(e)?ki:Math.min(Si,Math.max(ki,Math.trunc(e)))}async function Lp(e,t,n={}){let r=Bd(n.tokenLength),o=Math.min(r+6,Si),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${vi(t)}${Hd(r)}`;if(n.probeExisting===!1||!await Wd(e,a,n.typeToFolder??pe))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import ve from"node:fs/promises";import xi from"node:path";import{randomUUID as qd}from"node:crypto";import{createRequire as Vd}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e94075b0-810d-506c-b6a2-ae322526c078")}catch{}})();var Gd="metadata-query-index.sqlite",tt="4";function Xd(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var Kt;function Kd(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?Xd(t):null}function nt(){return Kt!==void 0||(Kt=Kd(process.versions.node,Vd(import.meta.url))),Kt}function Ii(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function je(e){return xi.join(e,"runtime",Gd)}function Jd(e){e.exec(`
|
|
62
|
-
PRAGMA foreign_keys = ON;
|
|
63
|
-
PRAGMA journal_mode = OFF;
|
|
64
|
-
PRAGMA synchronous = OFF;
|
|
65
|
-
CREATE TABLE metadata (
|
|
66
|
-
key TEXT PRIMARY KEY,
|
|
67
|
-
value TEXT NOT NULL
|
|
68
|
-
) STRICT;
|
|
69
|
-
CREATE TABLE items (
|
|
70
|
-
id TEXT PRIMARY KEY,
|
|
71
|
-
relative_path TEXT NOT NULL UNIQUE,
|
|
72
|
-
metadata_json TEXT NOT NULL,
|
|
73
|
-
status TEXT NOT NULL,
|
|
74
|
-
type TEXT NOT NULL,
|
|
75
|
-
priority INTEGER NOT NULL,
|
|
76
|
-
updated_at TEXT NOT NULL,
|
|
77
|
-
created_at TEXT NOT NULL,
|
|
78
|
-
parent TEXT,
|
|
79
|
-
assignee TEXT,
|
|
80
|
-
sprint TEXT,
|
|
81
|
-
release TEXT
|
|
82
|
-
) STRICT;
|
|
83
|
-
CREATE INDEX items_default_order
|
|
84
|
-
ON items(priority, updated_at DESC, id);
|
|
85
|
-
CREATE INDEX items_status_default_order
|
|
86
|
-
ON items(status, priority, updated_at DESC, id);
|
|
87
|
-
CREATE INDEX items_type_default_order
|
|
88
|
-
ON items(type, priority, updated_at DESC, id);
|
|
89
|
-
CREATE INDEX items_parent_default_order
|
|
90
|
-
ON items(parent, priority, updated_at DESC, id);
|
|
91
|
-
CREATE TABLE item_metadata_keys (
|
|
92
|
-
item_id TEXT NOT NULL,
|
|
93
|
-
key TEXT NOT NULL,
|
|
94
|
-
PRIMARY KEY(item_id, key),
|
|
95
|
-
FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
|
|
96
|
-
) STRICT;
|
|
97
|
-
CREATE INDEX item_metadata_keys_key_item
|
|
98
|
-
ON item_metadata_keys(key, item_id);
|
|
99
|
-
CREATE TABLE item_linked_files (
|
|
100
|
-
item_id TEXT NOT NULL,
|
|
101
|
-
path TEXT NOT NULL,
|
|
102
|
-
scope TEXT NOT NULL,
|
|
103
|
-
note TEXT,
|
|
104
|
-
PRIMARY KEY(item_id, path, scope),
|
|
105
|
-
FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
|
|
106
|
-
) STRICT;
|
|
107
|
-
CREATE INDEX item_linked_files_path_scope_item
|
|
108
|
-
ON item_linked_files(path, scope, item_id);
|
|
109
|
-
CREATE VIRTUAL TABLE item_search USING fts5(
|
|
110
|
-
id UNINDEXED,
|
|
111
|
-
title,
|
|
112
|
-
description,
|
|
113
|
-
tags,
|
|
114
|
-
tokenize = 'unicode61'
|
|
115
|
-
);
|
|
116
|
-
`)}function Yt(e,t,n){e.prepare("INSERT INTO metadata(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function Ti(e,t){let n=t.metadata;e.prepare(`INSERT INTO items(
|
|
117
|
-
id, relative_path, metadata_json, status, type, priority,
|
|
118
|
-
updated_at, created_at, parent, assignee, sprint, release
|
|
119
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
120
|
-
ON CONFLICT(id) DO UPDATE SET
|
|
121
|
-
relative_path = excluded.relative_path,
|
|
122
|
-
metadata_json = excluded.metadata_json,
|
|
123
|
-
status = excluded.status,
|
|
124
|
-
type = excluded.type,
|
|
125
|
-
priority = excluded.priority,
|
|
126
|
-
updated_at = excluded.updated_at,
|
|
127
|
-
created_at = excluded.created_at,
|
|
128
|
-
parent = excluded.parent,
|
|
129
|
-
assignee = excluded.assignee,
|
|
130
|
-
sprint = excluded.sprint,
|
|
131
|
-
release = excluded.release`).run(n.id,t.relativePath,JSON.stringify(n),n.status,n.type,n.priority,n.updated_at,n.created_at,n.parent??null,n.assignee??null,n.sprint??null,n.release??null),e.prepare("DELETE FROM item_metadata_keys WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_linked_files WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_search WHERE id = ?").run(n.id),e.prepare("INSERT INTO item_search(id, title, description, tags) VALUES (?, ?, ?, ?)").run(n.id,n.title,n.description,n.tags.join(" "));let r=e.prepare("INSERT INTO item_metadata_keys(item_id, key) VALUES (?, ?)");for(let i of Object.keys(n))r.run(n.id,i);let o=e.prepare("INSERT INTO item_linked_files(item_id, path, scope, note) VALUES (?, ?, ?, ?)");for(let i of t.linkedFiles??[])o.run(n.id,i.path,i.scope,i.note??null)}async function Oi(e){let t=je(e.pmRoot),n=nt();if(!n){await ve.rm(t,{force:!0});return}await ve.mkdir(xi.dirname(t),{recursive:!0});let r=`${t}.${qd()}.tmp`,o;try{o=new n(r),Jd(o),o.exec("BEGIN IMMEDIATE"),Yt(o,"version",tt),Yt(o,"context_fingerprint",e.contextFingerprint),Yt(o,"source_cursor",e.sourceCursor);for(let i of e.rows)Ti(o,i);o.exec("COMMIT"),o.close(),o=void 0,await ve.rm(t,{force:!0}),await ve.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([ve.rm(r,{force:!0})]),i}}function Qt(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function Ai(e){let t=je(e.pmRoot),n;try{await ve.access(t);let r=nt();if(!r)return!1;n=new r(t),n.exec("PRAGMA foreign_keys = ON");let o=Qt(n);if(o.version!==tt||o.context_fingerprint!==e.contextFingerprint||o.source_cursor!==e.expectedSourceCursor)return n.close(),!1;n.exec("BEGIN IMMEDIATE");let i=n.prepare("DELETE FROM items WHERE relative_path = ?"),s=n.prepare("SELECT id FROM items WHERE relative_path = ?"),a=n.prepare("DELETE FROM item_search WHERE id = ?");for(let c of e.deletedRelativePaths??[]){let l=s.get(c);i.run(c),l&&a.run(l.id)}return e.row&&Ti(n,e.row),Yt(n,"source_cursor",e.sourceCursor),n.exec("COMMIT"),n.close(),!0}catch{try{n?.exec("ROLLBACK")}catch{}return n?.close(),!1}}function Jt(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function Yd(e){let t=[],n=[];Jt(t,n,"status",e.statuses,"IN"),Jt(t,n,"status",e.excludeStatuses,"NOT IN"),Jt(t,n,"type",e.types,"IN"),Jt(t,n,"id",e.ids,"IN");for(let r of e.metadataKeys??[])t.push("EXISTS (SELECT 1 FROM item_metadata_keys AS indexed_key WHERE indexed_key.item_id = items.id AND indexed_key.key = ?)"),n.push(r);for(let[r,o]of[["parent",e.parent],["assignee",e.assignee],["sprint",e.sprint],["release",e.release]])o!==void 0&&(t.push(`${r} = ?`),n.push(o));return e.priority!==void 0&&(t.push("priority = ?"),n.push(e.priority)),{where:t.length===0?"":` WHERE ${t.join(" AND ")}`,parameters:n}}async function Up(e){let t=nt();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=Yd(n),i;try{i=new t(je(e.pmRoot),{readOnly:!0});let s=Qt(i);if(s.version!==tt||s.source_cursor!==e.expectedSourceCursor)return i.close(),null;let a=i.prepare(`SELECT COUNT(*) AS count FROM items${r}`).get(...o),c=[],l="";n.limit!==void 0?(l+=" LIMIT ?",c.push(Math.max(0,Math.floor(n.limit))),n.offset!==void 0&&(l+=" OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))))):n.offset!==void 0&&(l+=" LIMIT -1 OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))));let u=i.prepare(`SELECT metadata_json FROM items${r}
|
|
132
|
-
ORDER BY ${n.terminalStatuses&&n.terminalStatuses.length>0?`CASE WHEN status IN (${n.terminalStatuses.map(()=>"?").join(", ")}) THEN 1 ELSE 0 END ASC, `:""}priority ASC, updated_at DESC, id ASC${l}`).all(...o,...n.terminalStatuses??[],...c).map(y=>{let p=JSON.parse(String(y.metadata_json));if(!p.id)throw new TypeError("Indexed metadata row has no id");return p});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:u}}catch{return i?.close(),null}}async function Hp(e){let t=nt();if(!t||e.paths.length===0)return null;let n;try{n=new t(je(e.pmRoot),{readOnly:!0});let r=Qt(n);if(r.version!==tt||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let o=e.paths.map(()=>"?").join(", "),i=e.scope===void 0?"":" AND scope = ?",s=[...e.paths,...e.scope===void 0?[]:[e.scope]],a=`path IN (${o})${i}`,c=n.prepare(`SELECT COUNT(DISTINCT item_id) AS count
|
|
133
|
-
FROM item_linked_files
|
|
134
|
-
WHERE ${a}`).get(...s),l=Ii(e.limit,50),f=Ii(e.offset,0),u=n.prepare(`SELECT items.id, items.metadata_json
|
|
135
|
-
FROM items
|
|
136
|
-
WHERE EXISTS (
|
|
137
|
-
SELECT 1 FROM item_linked_files
|
|
138
|
-
WHERE item_linked_files.item_id = items.id AND ${a}
|
|
139
|
-
)
|
|
140
|
-
ORDER BY items.priority ASC, items.updated_at DESC, items.id ASC
|
|
141
|
-
LIMIT ? OFFSET ?`).all(...s,l,f),y=[];if(u.length>0){let p=u.map(E=>String(E.id)),w=n.prepare(`SELECT item_id, path, scope, note
|
|
142
|
-
FROM item_linked_files
|
|
143
|
-
WHERE item_id IN (${p.map(()=>"?").join(", ")})
|
|
144
|
-
AND ${a}
|
|
145
|
-
ORDER BY path ASC, scope ASC`).all(...p,...s),S=new Map(p.map(E=>[E,[]]));for(let E of w){let C=String(E.item_id),N=S.get(C);N.push({path:String(E.path),scope:String(E.scope),...E.note===null?{}:{note:String(E.note)}}),S.set(C,N)}for(let E of u){let C=JSON.parse(String(E.metadata_json));y.push({item:C,files:S.get(String(E.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:y}}catch{return n?.close(),null}}async function Wp(e){let t=nt();if(!t)return null;let n;try{n=new t(je(e.pmRoot),{readOnly:!0});let r=Qt(n);if(r.version!==tt||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let i=n.prepare(`SELECT items.metadata_json
|
|
146
|
-
FROM item_search
|
|
147
|
-
JOIN items ON items.id = item_search.id
|
|
148
|
-
WHERE item_search MATCH ?
|
|
149
|
-
ORDER BY bm25(item_search), items.priority, items.updated_at DESC, items.id
|
|
150
|
-
LIMIT ?`).all(e.query,Math.max(0,Math.floor(e.limit))).map(s=>JSON.parse(String(s.metadata_json)));return n.close(),{source_cursor:r.source_cursor,items:i}}catch{return n?.close(),null}}async function Zt(e){await ve.rm(je(e),{force:!0})}import F from"node:fs/promises";import R from"node:path";import{createHash as bl,randomUUID as Bi}from"node:crypto";import ne from"node:fs/promises";import gr from"node:path";import{randomUUID as Qd}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c638b65d-148a-5b42-8f24-d6fa9d5ac7d3")}catch{}})();function Zd(e){let t;try{t=JSON.parse(e)}catch{return{info:null,warnings:["lock_info_invalid_json"]}}if(typeof t!="object"||t===null||Array.isArray(t))return{info:null,warnings:["lock_info_invalid_shape"]};let n=t,r=n.id,o=n.pid,i=n.owner,s=n.created_at,a=n.ttl_seconds;return typeof r!="string"||typeof o!="number"||!Number.isFinite(o)||typeof i!="string"||typeof s!="string"||typeof a!="number"||!Number.isFinite(a)?{info:null,warnings:["lock_info_invalid_shape"]}:{info:{id:r,pid:o,owner:i,created_at:s,ttl_seconds:a},warnings:[]}}async function Di(e){try{let t=await ne.readFile(e,"utf8");return await K({path:e,scope:"project"}),Zd(t)}catch(t){return rt(t,"ENOENT")?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function rt(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function Mi(e,t){await q({path:e,scope:"project",op:t})}function el(e,t,n){return{id:e,pid:process.pid,owner:t,created_at:Ee(),ttl_seconds:n}}async function tl(e,t,n,r){await ne.mkdir(gr.dirname(e),{recursive:!0});let o=await ne.open(e,"wx");try{await o.writeFile(`${JSON.stringify(el(t,n,r),null,2)}
|
|
151
|
-
`,"utf8")}finally{await o.close()}await Mi(e,"lock:create")}async function Li(e,t){try{return await ne.unlink(e),await Mi(e,t),!0}catch{return!1}}function Pi(e,t){let n=e?.created_at?Date.parse(e.created_at):Number.NaN;return(Number.isFinite(n)?Date.now()-n:Number.POSITIVE_INFINITY)>t*1e3}function nl(e){return e?.owner?` (owner ${e.owner})`:""}var rl=25,ol=200,il=250,sl=3,al=".stale-cleanup",ji="owner.json",cl=1e4,dl=5*6e4;function Ci(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 ll(e){let t=process.env.PM_LOCK_WAIT_MS,n=Ci(t);if(n!==void 0)return n;let r=Ci(e);return r!==void 0?r:0}function ul(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}function Fi(e,t,n){let r=n>0?` after waiting ${n}ms`:"";return new T(`Item ${e} is locked${nl(t)}${r}`,I.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:il}})}function fl(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 ml(e,t,n,r){if(!n&&r){let o=t.warnings.length>0?` (${t.warnings.join(",")})`:"";throw new T(`Item ${e} lock is stale${o}; rerun with --force when supported for this command`,I.CONFLICT)}}function _l(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null||Array.isArray(t))return null;let n=t,r=n.pid,o=n.token;return typeof r!="number"||!Number.isInteger(r)||r<=0||typeof o!="string"||o.length===0?null:{pid:r,token:o}}async function $i(e){try{return _l(await ne.readFile(gr.join(e,ji),"utf8"))}catch{return null}}function pl(e){try{return process.kill(e,0),!0}catch(t){return!rt(t,"ESRCH")}}async function br(e){try{return await ne.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function Ri(e,t){let n=await $i(e);n===null||n.token!==t||await br(e)}async function Ni(e){try{await ne.mkdir(e)}catch(n){return rt(n,"EEXIST"),null}let t={pid:process.pid,token:Qd()};try{await ne.writeFile(gr.join(e,ji),`${JSON.stringify(t)}
|
|
152
|
-
`,"utf8")}catch{return await br(e),null}return t}async function yl(e){let t;try{let r=await ne.stat(e);if(t=Date.now()-r.mtimeMs,t<=cl)return!1}catch(r){return rt(r,"ENOENT")}let n=await $i(e);return n!==null&&pl(n.pid)&&t<=dl?!1:br(e)}async function hl(e,t){let n=`${e}${al}`,r=await Ni(n);if(r!==null)return async()=>Ri(n,r.token);if(!await yl(n))return null;let o=await Ni(n);return o===null?null:async()=>Ri(n,o.token)}async function gl(e){let t=await hl(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await Di(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!Pi(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(ml(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=sl)throw Fi(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await Li(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function re(e,t,n,r,o=!1,i=!0,s){let a=await ee("lock_acquire",{pm_root:e,id:t,ttl_seconds:n,owner:r,force:o,force_required_for_stale_lock:i});if(a.handled){let p=fl(a.result);if(p)return async()=>{await Promise.resolve(p()),await ee("lock_release",{pm_root:e,id:t,owner:r})}}let c=Jr(e,t),l=ll(s),f=Date.now(),u=0,y=rl;for(;;)try{return await tl(c,t,r,n),async()=>{await Li(c,"lock:release"),await ee("lock_release",{pm_root:e,id:t,owner:r})}}catch(p){if(!rt(p,"EEXIST"))throw new T(`Failed to acquire lock for ${t}: ${Qr(p)}`,I.GENERIC_FAILURE);let w=await Di(c);if(Pi(w.info,n)){let E=await gl({lockPath:c,id:t,ttlSeconds:n,force:o,forceRequiredForStaleLock:i,staleRemovals:u,waitBudgetMs:l,startedAtMs:f,fallbackLockInfo:w});if(w=E.lockInfo,E.staleRemovalCounted&&(u+=1),E.shouldRetryCreate)continue}let S=Date.now()-f;if(l===0||S>=l)throw Fi(t,w.info,l===0?0:S);await ul(Math.min(y,l-S)),y=Math.min(y*2,ol)}}(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]="58d1ab81-16b6-5c93-ade4-ba189ea48c9b")}catch{}})();var Y=8,qi=500,wl="metadata-derived-index",El="metadata-cache.json",kl="metadata-cache-bodies.json",vl="metadata-cache-collections.json",Sl="metadata-cache-delta.json",Il="metadata-cache-manifest.json",zi=4,xl=["comments","notes","learnings","files","tests","test_runs","docs"];function Vi(){return gt(Qe())}function tn(e){let t={...e},n={};for(let r of xl)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Gi(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Xi(e,t,n,r){let o=bl("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function nn(e){return R.join(e,"runtime",El)}function rn(e){return R.join(e,"runtime",kl)}function on(e){return R.join(e,"runtime",vl)}function Er(e){return R.join(e,"runtime",Sl)}function kr(e){return R.join(e,"runtime",Il)}function sn(e,t){let n=R.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Tl=24,W=new Map,an=new WeakMap;function vr(e){return an.get(e)??e.source_cursor}function Ol(e,t){let n=vr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){an.set(e,n);for(let[r,o]of Object.entries(t.changes))o.entry?e.entries[r]=o.entry:delete e.entries[r];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function Al(e,t){if(!e)return;let n=vr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){an.set(e,n);for(let[r,o]of Object.entries(t.changes))o.body?e.bodies[r]=o.body:delete e.bodies[r];e.source_cursor=t.source_cursor}}function Cl(e,t){if(!e)return;let n=vr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){an.set(e,n);for(let[r,o]of Object.entries(t.changes))o.collections?e.collections[r]=o.collections:delete e.collections[r];e.source_cursor=t.source_cursor}}function Rl(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Ol(e,r),Al(t,r),Cl(n,r))}function wr(e,t){W.size>=Tl&&!W.has(e)&&Et(W),W.set(e,t)}async function le(e,t){let n;try{n=await F.stat(e)}catch{return W.delete(e),null}let r=W.get(e);if(r&&ot(r.signature,n.mtimeMs,n.ctimeMs,n.size))return W.delete(e),W.set(e,r),r.envelope;let o;try{o=t(await F.readFile(e,"utf8"))}catch{o=null}return wr(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Nl(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==Y||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=nn(e),i=await le(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await le(sn(o,t),r);return s===null&&at(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Dl(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==Y||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=rn(e),o=await le(r,n);return t&&o?.context_fingerprint!==t?await le(sn(r,t),n):o}async function Ml(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==Y||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=on(e),o=await le(r,n);return t&&o?.context_fingerprint!==t?await le(sn(r,t),n):o}async function Sr(e){let t=Er(e),n=await le(t,r=>{let o=JSON.parse(r);return o.version!==Y||typeof o.base_source_cursor!="string"||typeof o.source_cursor!="string"||typeof o.changes!="object"||o.changes===null?null:o});if(n)return{envelope:n,invalid:!1};try{return await F.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Ir(e){let t=kr(e),n=await le(t,r=>{let o=JSON.parse(r);return o.version!==Y||typeof o.context_fingerprint!="string"||typeof o.source_cursor!="string"||!Number.isInteger(o.entry_count)||o.entry_count<0||typeof o.directory_signatures!="object"||o.directory_signatures===null?null:o});if(n)return n;try{await F.stat(t),await Fe(e)}catch{}return null}async function it(e,t){await F.mkdir(R.dirname(e),{recursive:!0}),await z(e,JSON.stringify(t));try{let r=await F.stat(e);wr(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{W.delete(e)}let n=R.dirname(R.dirname(e));if(e===nn(n)||e===rn(n)||e===on(n)){let r=sn(e,t.context_fingerprint);await z(r,JSON.stringify(t));try{let c=await F.stat(r);wr(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{W.delete(r)}let o=R.dirname(e),i=R.extname(e),s=R.basename(e,i),a=(await F.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==R.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>R.join(o,c.name));if(a.length>zi){let c=(await Promise.all(a.map(async l=>{try{return{path:l,mtime:(await F.stat(l)).mtimeMs}}catch{return null}}))).filter(l=>l!==null);for(let l of c.sort((f,u)=>f.mtime-u.mtime).slice(0,Math.max(0,c.length-zi)))await F.rm(l.path,{force:!0}),W.delete(l.path)}}}function Ll(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Ki(e,t,n){return e===void 0||Ll(e,t,n)}function at(e,t){e&&!e.includes(t)&&e.push(t)}function ot(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Pl(e,t,n){let r=R.join(e,t);try{let o=await F.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&o.code!=="ENOENT"&&at(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function jl(e,t){try{let n=await F.stat(R.join(e,t));return[t,{exists:!0,mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function en(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await jl(e,n))))}function st(e,t){return!e||Object.keys(e).length!==Object.keys(t).length?!1:Object.entries(t).every(([n,r])=>{let o=e[n];return o!==void 0&&o.exists===r.exists&&ot(o,r.mtime_ms,r.ctime_ms,r.size)})}function Fl(e){return wt.some(t=>e.toLowerCase().endsWith(t))}function $l(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function zl(e,t,n){if(n)for(let r of await K({path:e,scope:"project"}))at(t,r)}function Ui(e,t,n,r){if(e)return t&&n?n.collections:r}async function Ul(e,t,n){let r=await F.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=vn(e);await zl(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],l=!n.forceSourceRead&&c!==void 0&&ot(c,o,i,s),f=n.previousBodies[t],u=!n.forceSourceRead&&f!==void 0&&ot(f,o,i,s),y=n.previousCollections[t],p=!n.forceSourceRead&&y!==void 0&&ot(y,o,i,s);if(!(!l||n.includeBody&&!u||n.includeCollections&&!p))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:Ui(n.includeCollections,p,y,void 0),bodyLength:c.body_length,body:n.includeBody?f.body:void 0};let S=await F.readFile(e,"utf8"),E=Mt(S,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:N=>at(n.warnings,N)}),C=tn(E.metadata);return $l(n.state.misses,n.includeBody,n.includeCollections,l,u,p),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:l?c.metadata:C.light,heavyMetadata:Ui(n.includeCollections,p,y,C.heavy),bodyLength:l?c.body_length:E.body.length,body:n.includeBody?E.body:void 0}}function Hl(e,t,n,r){n.state.newEntries[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,metadata:r.lightMetadata,body_length:r.bodyLength},n.includeBody&&r.body!==void 0&&(n.state.newBodies[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,body:r.body}),n.includeCollections&&r.heavyMetadata!==void 0&&(n.state.newCollections[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,collections:r.heavyMetadata});let o=n.includeCollections?Gi(r.lightMetadata,r.heavyMetadata):r.lightMetadata,i=n.state.documentsById.get(o.id),s={metadata:o,body:r.body,item_format:r.itemFormat,item_path:e};Ki(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function Wl(e,t,n,r){try{let o=await Ul(t,n,r);Hl(t,n,r,o)}catch{at(r.warnings,`item_list_item_read_failed:${e}/${R.basename(t)}`)}}function Bl(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function ql(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function Vl(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function Gl(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function Xl(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!Fl(s))continue;let a=R.join(o,s),c=R.relative(t.pmRoot,a);n.push(Wl(r,a,c,t))}return n}async function Kl(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!st(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await it(nn(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await it(kr(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,entry_count:Object.keys(e.state.newEntries).length,directory_signatures:e.directorySignatures});let n=[...e.state.documentsById.values()].map(({candidate:r})=>({relativePath:R.relative(e.pmRoot,r.item_path),metadata:tn(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await Oi({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Zt(e.pmRoot)}catch{}}async function Jl(e){!(e.state.misses.body||Object.keys(e.previousBodies).length!==Object.keys(e.state.newBodies).length)&&e.existingBodyCache!==null&&e.existingBodyCache.context_fingerprint===e.contextFingerprint||await it(rn(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function Yl(e){!(e.state.misses.collections||Object.keys(e.previousCollections).length!==Object.keys(e.state.newCollections).length)&&e.existingCollectionsCache!==null&&e.existingCollectionsCache.context_fingerprint===e.contextFingerprint||await it(on(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function xr(e,t,n={}){let r=await Ir(e);return n.required!==!0&&(r===null||r.entry_count<qi)?async()=>{}:re(e,wl,30,t,!1,!1,3e3)}async function fy(e,t){let n=await Ir(e);if(n===null)return null;let r=await Sr(e);if(r.invalid)return await Fe(e),null;let o=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.source_cursor:n.source_cursor,i=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.directory_signatures:n.directory_signatures;return t&&!st(i,await en(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function Hi(e,t){let n=R.relative(e,t);return n===""||n===".."||n.startsWith(`..${R.sep}`)||R.isAbsolute(n)?null:n}async function Fe(e){await Promise.all([nn(e),rn(e),on(e),Er(e),kr(e)].map(async t=>{await F.rm(t,{force:!0}),W.delete(t)})),await Zt(e)}async function Ql(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await F.stat(e.mutation.itemPath),n=tn(e.mutation.document.metadata),r={mtime_ms:t.mtimeMs,ctime_ms:t.ctimeMs,size:t.size};return{entry:{...r,metadata:n.light,body_length:e.mutation.document.body.length},body:{...r,body:e.mutation.document.body},collections:{...r,collections:n.heavy}}}function Zl(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function Tr(e){let t=Hi(e.pmRoot,e.itemPath),n=e.previousItemPath?Hi(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await Fe(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Xi(e.preferredFormat,e.typeToFolder,e.schema,Vi()),o=await Ir(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Sr(e.pmRoot);if(s.invalid)return await Fe(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=Zl(s.envelope,r,i),c=s.envelope?.context_fingerprint===r&&s.envelope.base_source_cursor===i?s.envelope.source_cursor:i;n!==void 0&&(a[n]={entry:null,body:null,collections:null}),a[t]=await Ql({mutation:e});let l=Bi();return await it(Er(e.pmRoot),{version:Y,context_fingerprint:r,base_source_cursor:i,source_cursor:l,directory_signatures:await en(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await Ai({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:l,row:e.document===null?null:{relativePath:t,metadata:tn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Zt(e.pmRoot),[]}catch{return await Fe(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function eu(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Wi(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function tu(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function nu(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=vn(n);if(!o)continue;let i=e.includeCollections?Gi(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Ki(s?.itemFormat,o,e.preferredFormat)&&t.set(i.id,{itemFormat:o,candidate:{metadata:i,body:e.includeBody?e.previousBodies[n]?.body:void 0,item_format:o,item_path:R.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function ru(e){return e.forceSourceScan||nr()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!st(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Wi(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Wi(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&tu(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function cn(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=Vi(),l=Xi(t,n,o,c),f=await Sr(e);f.invalid&&await Fe(e);let u=await Nl(e,l,i.cacheDiagnostics),y=s?await Dl(e,l):null,p=a?await Ml(e,l):null;Rl(u,y,p,f.envelope);let w=Bl(u,l),S=ql(y,l),E=Vl(p,l),C=[...new Set(Object.values(n))],N=await en(e,C),oe=Object.keys(w),M=Math.max(1,Math.floor(i.derivedIndexMinimumItems??qi));if(ru({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:l,existingCache:u,existingBodyCache:y,existingCollectionsCache:p,directorySignatures:N,entryKeys:oe,minimumIndexedItems:M,includeBody:s,includeCollections:a,previousBodies:S,previousCollections:E}))return nu({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:w,previousBodies:S,previousCollections:E});let hn=await Promise.all(C.map($s=>Pl(e,$s,r))),lt=nr(),Q=Gl(),gn={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:lt,previousEntries:w,previousBodies:S,previousCollections:E,state:Q};await Promise.all(Xl(hn,gn));let ut=await en(e,C),$r=st(N,ut)?ut:{},bn=Q.misses.metadata||Object.keys(w).length!==Object.keys(Q.newEntries).length||!st(u?.directory_signatures,$r)||u===null?Bi():u.source_cursor;return await Kl({pmRoot:e,contextFingerprint:l,sourceCursor:bn,existingCache:u,previousEntries:w,directorySignatures:$r,state:Q,minimumIndexedItems:M}),s&&await Jl({pmRoot:e,contextFingerprint:l,sourceCursor:bn,existingBodyCache:y,previousBodies:S,state:Q}),a&&await Yl({pmRoot:e,contextFingerprint:l,sourceCursor:bn,existingCollectionsCache:p,previousCollections:E,state:Q}),eu(Q)}async function Ji(e,t,n,r,o){return(await cn(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function Yi(e,t,n,r,o){return(await cn(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}import ou 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]="86b45d6b-2192-5d31-8f73-94d6e6b17dfc")}catch{}})();var dn="_workspace";function Zi(e){return Qi.join(e,"history",`${dn}.jsonl`)}function iu(e,t){return{metadata:{id:dn,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 es(e){let t=Vt();for(let n of e)t=Xt(t,n.patch).document;return Gt(t)}async function ts(e){let t=Zi(e.pmRoot),n=await Ze(t,dn),r=pr(n);if(!r.ok)throw new TypeError(`Workspace history verification failed: ${r.errors.join(", ")}`);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=new Date().toISOString(),s=n.length===0?Ue:es(n),a="documents"in s.metadata&&typeof s.metadata.documents=="object"&&s.metadata.documents!==null&&!Array.isArray(s.metadata.documents)?s.metadata.documents:{},c=a[e.documentPath];if(c!==void 0&&G(c)!==G(e.before))throw new T(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,I.CONFLICT,{code:"workspace_history_state_conflict",reason:"out_of_band_workspace_state",required:"Reconcile the singleton document with its matching _workspace history state before retrying the mutation.",why:"Accepting the write would make the append-only audit stream describe a state that was not actually observed.",examples:["pm history _workspace --verify","pm validate --check-history-drift --fix-hints"],nextSteps:["Review the version-control change that altered the singleton and preserve the intended document plus its matching workspace history.","Rerun the original mutation only after the on-disk singleton agrees with the latest audited workspace state."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify"}});let l=iu({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),f=Le({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:l,message:e.message});return await Pe(t,f),{entry:f,historyPath:t}}async function Sy(e){let t=await re(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await ts(e)}finally{await t()}}async function Iy(e){let t=await re(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=Zi(e.pmRoot),r=await Ze(n,dn),o=pr(r);if(!o.ok)throw new TypeError(`Workspace history verification failed: ${o.errors.join(", ")}`);let i=r.length===0?Ue:es(r),s=Le({nowIso:new Date().toISOString(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await Pe(n,s),{entry:s,historyPath:n}}finally{await t()}}async function ns(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await z(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await ts({pmRoot:e.pmRoot,documentPath:Qi.relative(e.pmRoot,e.filePath).replaceAll("\\","/"),before:n,after:r,op:e.op,author:e.author,lockTtlSeconds:e.lockTtlSeconds,lockWaitMs:e.lockWaitMs,message:e.message})}catch(o){throw t===null?await ou.rm(e.filePath,{force:!0}):await z(e.filePath,t),o}return!0}async function xy(e){let t=await re(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=await ye(e.filePath),r=await e.mutate(n);return{changed:await ns({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function rs(e){let t=await re(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await ns(e,await ye(e.filePath))}finally{await t()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="027f6acb-15cc-5707-85ed-b5298b6b6abe")}catch{}})();var j={ok:!1},m=e=>typeof e=="string"?{ok:!0,value:e}:j,x=e=>typeof e=="boolean"?{ok:!0,value:e}:j;function A(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?j:{ok:!0,value:t}}function O(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:j}function _(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return j;let r=[];for(let o of n){let i=e(o);if(!i.ok)return j;r.push(i.value)}return{ok:!0,value:r}}}function Ar(e,t){return n=>typeof n=="string"&&n.length>0&&n.length<=e&&n===n.trim()&&(t===void 0||t.test(n))?{ok:!0,value:n}:j}function d(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function ln(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return j;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return j;n[r]=i.value}return{ok:!0,value:n}}}function v(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return j;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return j;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var su=v({key:m,values:_(m),required:d(x),aliases:d(_(m)),description:d(m)}),au=v({command:O("create","update"),option:m,required:d(x),visible:d(x),enabled:d(x)}),cu=v({name:m,description:d(m),default_status:d(m),folder:d(m),aliases:d(_(m)),required_create_fields:d(_(m)),required_create_repeatables:d(_(m)),options:d(_(su)),command_option_policies:d(_(au))}),du=v({id:m,aliases:d(_(m)),roles:d(_(O(...zr))),description:d(m),order:d(A())}),lu=v({key:m,metadata_key:d(m),front_matter_key:d(m),cli_flag:d(m),cli_aliases:d(_(m)),description:d(m),type:d(O(...Ur)),commands:d(_(O(...Hr))),repeatable:d(x),required:d(x),required_on_create:d(x),required_types:d(_(m)),allow_unset:d(x)}),uu=e=>{if(!Array.isArray(e)||e.length!==2)return j;let[t,n]=e;return typeof t!="string"||typeof n!="string"?j:{ok:!0,value:[t,n]}},fu=v({type:m,allowed_transitions:_(uu)}),mu=d(v({version:d(A({int:!0})),files:d(v({types:d(m),statuses:d(m),fields:d(m),workflows:d(m)})),statuses:d(_(du)),fields:d(_(lu)),workflow:d(v({draft_status:d(m),open_status:d(m),in_progress_status:d(m),blocked_status:d(m),close_status:d(m),canceled_status:d(m)})),type_workflows:d(_(fu)),unknown_field_policy:d(O(...Wr))})),_u=d(v({preset:d(O(...Br)),ownership_enforcement:d(O("none","warn","strict")),create_mode_default:d(O("progressive","strict")),close_validation_default:d(O("off","warn","strict")),require_close_reason:d(x),parent_reference:d(O("warn","strict_error")),metadata_profile:d(O("core","strict","custom")),force_required_for_stale_lock:d(x),create_default_type:d(m),workflow_enforcement:d(O("off","warn","strict")),duplicate_detection_mode:d(O("off","advisory","strict")),duplicate_detection_threshold:d(A({min:0,max:1})),duplicate_detection_limit:d(A({int:!0,min:0,max:20}))})),pu=v({name:m,disabled:d(x),require_trusted:d(x),require_provenance:d(x),sandbox_profile:d(O("none","restricted","strict")),allowed_capabilities:d(_(m)),blocked_capabilities:d(_(m)),allowed_surfaces:d(_(m)),blocked_surfaces:d(_(m)),allowed_commands:d(_(m)),blocked_commands:d(_(m)),allowed_actions:d(_(m)),blocked_actions:d(_(m)),allowed_services:d(_(m)),blocked_services:d(_(m))}),Or=O("block","warn"),yu=e=>typeof e=="string"?Or(e):v({global:d(Or),project:d(Or)})(e),hu=d(v({mode:d(O("off","warn","enforce")),trust_mode:d(O("off","warn","enforce")),pm_max_version_exceeded_mode:d(yu),require_provenance:d(x),trusted_extensions:d(_(m)),default_sandbox_profile:d(O("none","restricted","strict")),allowed_extensions:d(_(m)),blocked_extensions:d(_(m)),allowed_capabilities:d(_(m)),blocked_capabilities:d(_(m)),allowed_surfaces:d(_(m)),blocked_surfaces:d(_(m)),allowed_commands:d(_(m)),blocked_commands:d(_(m)),allowed_actions:d(_(m)),blocked_actions:d(_(m)),allowed_services:d(_(m)),blocked_services:d(_(m)),extension_overrides:d(_(pu))})),Se=Ar(128),gu=v({harness:Ar(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:d(_(Se,64)),model_environment_keys:d(_(Se,64)),session_environment_keys:d(_(Se,64)),provenance_environment_keys:d(ln(_(Se,64))),provenance_resolvers:d(ln(O("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:d(_(Se,64)),argv_markers:d(_(Se,64)),client_names:d(_(Se,64))}),bu=v({version:A({int:!0}),id_prefix:m,ids:d(v({token_length:d(A({int:!0,min:4,max:12}))})),author_default:m,agent_identity:d(v({probes_enabled:d(x),identity_vocabulary:d(v({version:A({int:!0,positive:!0}),aliases:ln(Ar(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:_(gu)})),mutation_guard:d(v({require_attributed_author:d(x),secret_guard:d(O("off","advise","block")),stale_in_progress_hours:d(A({int:!0,positive:!0}))})),item_format:d(O("toon","json_markdown")),locks:v({ttl_seconds:A({int:!0}),wait_ms:d(A({int:!0,min:0}))}),checkpoints:d(v({retention_days:d(A({int:!0,positive:!0}))})),output:v({default_format:O("toon","json")}),history:d(v({missing_stream:O("auto_create","strict_error"),compact_policy:d(v({enabled:d(x),max_entries:d(A({int:!0,positive:!0})),trigger:d(O("health_warn","auto"))}))})),validation:d(v({sprint_release_format:O("warn","strict_error"),parent_reference:d(O("warn","strict_error")),metadata_profile:d(O("core","strict","custom")),metadata_required_fields:d(_(m)),lifecycle_stale_blocker_reason_patterns:d(_(m)),lifecycle_closure_like_blocked_reason_patterns:d(_(m)),lifecycle_closure_like_resolution_patterns:d(_(m)),lifecycle_closure_like_actual_result_patterns:d(_(m)),estimate_defaults_by_type:d(ln(A({int:!0,positive:!0})))})),governance:_u,workflow:d(v({definition_of_done:_(m)})),testing:d(v({record_results_to_items:x})),telemetry:d(v({enabled:x,first_run_prompt_completed:d(x),capture_level:d(O("minimal","redacted","max")),endpoint:d(m),installation_id:d(m),retention_days:d(A({int:!0,positive:!0}))})),agent_guidance:d(v({prompt_completed:d(x),declined:d(x),declined_at:d(m),template_version:d(A({int:!0,positive:!0})),last_checked_files:d(_(m))})),item_types:d(v({definitions:_(cu)})),schema:mu,context:d(v({default_depth:d(O("brief","standard","deep")),activity_limit:d(A({int:!0,positive:!0})),stale_threshold_days:d(A({int:!0,positive:!0})),sections:d(v({hierarchy:d(x),activity:d(x),progress:d(x),recently_created:d(x),unparented:d(x),blockers:d(x),files:d(x),workload:d(x),staleness:d(x),tests:d(x)}))})),extensions:v({enabled:_(m),disabled:_(m),policy:hu}),search:v({score_threshold:A(),hybrid_semantic_weight:d(A()),max_results:A({int:!0}),embedding_model:m,embedding_corpus_max_characters:d(A()),embedding_batch_size:A({int:!0}),embedding_timeout_ms:d(A({int:!0})),scanner_max_batch_retries:A({int:!0}),provider:d(m),corpus_fields:d(_(m)),mutation_refresh_policy:d(O("cache_only","semantic_configured","semantic_auto")),query_expansion:d(v({enabled:d(x),provider:d(m)})),rerank:d(v({enabled:d(x),model:d(m),top_k:d(A({int:!0,positive:!0}))})),bm25:d(v({k1:d(A()),b:d(A())}))}),providers:v({openai:v({base_url:m,api_key:m,model:m}),ollama:v({base_url:m,model:m})}),vector_store:v({adapter:d(m),collection_name:d(m),qdrant:v({url:m,api_key:m}),lancedb:v({path:m})})});function os(e){let t=bu(e);return t.ok?{success:!0,data:t.value}:{success:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2d377bc4-c624-561c-9856-405c82099070")}catch{}})();var wu={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},is=120;function Cr(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function as(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var Eu=as(wu),ss=new WeakMap;function ku(e){let t=ss.get(e);if(t)return t;let n=as(e);return ss.set(e,n),n}function Cy(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return is;if(t){let o=ku(t).get(n);if(Cr(o))return Math.floor(o)}let r=Eu.get(n);return Cr(r)?Math.floor(r):is}function Rr(e){let t={};if(e===null||typeof e!="object"||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!Cr(r)||(t[o]=Math.floor(r))}return t}import{stat as vu}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="60da76ea-0bd3-56a9-a2bc-d88ba76e1013")}catch{}})();var un=new Map;function cs(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function Su(e){try{let t=await vu(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function ue(e){let t=cs(e),n=await Promise.all(t.map(r=>Su(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function ct(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 ds(e){return un.get(e)}function fn(e,t){let n=cs(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));un.set(e,{tracked_paths:n,signatures:r,value:t.value})}function fe(e){if(e){un.delete(e);return}un.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a434b9ea-4692-51c5-8761-0f1759fff394")}catch{}})();var Iu="settings:write",_s=Symbol("pm.settings.persist_source"),xu=128,Tu=new Set(["off","advisory","strict"]);function ls(e){return structuredClone(Vr[e])}function Ou(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:b.governance.preset}function us(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 Au(e){return e.preset==="custom"?us({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):us({preset:e.preset},e)}function Cu(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),Tu.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 _n(e){let t=e.governance??{},n=Ou(t.preset),r=Cu(t);if(n==="custom"){let s=ls("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=ls(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function ps(){return structuredClone(b)}function ys(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:b.search.mutation_refresh_policy}function hs(e){return typeof e=="boolean"?e:b.search.query_expansion.enabled}function gs(e){return typeof e!="string"?b.search.query_expansion.provider:e.trim()}function bs(e){return typeof e=="boolean"?e:b.search.rerank.enabled}function ws(e){return typeof e!="string"?b.search.rerank.model:e.trim()}function Es(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:b.search.rerank.top_k}function ks(e){if(typeof e!="string")return b.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,xu);return n.length>0?n:b.vector_store.collection_name}function Nr(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function Ru(e,t){let n=e.schema,r=Nr(n?.statuses),o=Nr(n?.fields),i=Nr(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:$e(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:$e(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 vs(e,t){Object.defineProperty(e,_s,{value:t,writable:!0,configurable:!0,enumerable:!1})}function Ss(e){let t=e[_s];if(!(!t||typeof t!="object"))return t}function mn(e){let t=structuredClone(e.settings),n=Ss(e.settings);return n&&vs(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function Nu(e,t,n){let r=qe(t);return[n,Ve(e,r.files.types,Be.types),Ve(e,r.files.statuses,Be.statuses),Ve(e,r.files.fields,Be.fields),Ve(e,r.files.workflows,Be.workflows)]}async function Du(e,t,n){let r=await ue(t);fn(e,{tracked_paths:t,signatures:r,value:mn(n)})}async function Mu(e,t,n){try{await Du(e,t,n)}catch{fe(e)}}function fs(e,t){return e.find(n=>n.path===t)}function Lu(e,t,n){for(let r of n){let o=fs(e,r),i=fs(t,r);if(!o||!i||!ct([o],[i]))return!1}return!0}async function Dr(e,t,n,r,o){try{let i=await ue(t);if(!Lu(r,i,o)){fe(e);return}fn(e,{tracked_paths:t,signatures:i,value:mn(n)})}catch{fe(e)}}function Pu(e,t){let n=qe(e.schema),r=$e(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=Ie(r,t.runtime_item_type_definitions),s=Ie(n.statuses,t.runtime_schema_statuses),a=Ie(n.fields,t.runtime_schema_fields),c=Ie(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?$e(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 dt(e){return{settings:ps(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function ju(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function Lr(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function Is(e){let t=b.agent_guidance,n=e?.template_version;return{prompt_completed:e?.prompt_completed===!0,declined:e?.declined===!0,declined_at:typeof e?.declined_at=="string"?e.declined_at:t.declined_at,template_version:typeof n=="number"&&Number.isInteger(n)&&n>0?n:t.template_version,last_checked_files:Lr(e?.last_checked_files??t.last_checked_files)}}function V(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function Fu(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.mode}function $u(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.trust_mode}function xs(e){return e==="none"||e==="restricted"||e==="strict"?e:b.extensions.policy.default_sandbox_profile}function zu(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=xs(e.sandbox_profile));let r=V(e.allowed_capabilities),o=V(e.blocked_capabilities),i=V(e.allowed_surfaces),s=V(e.blocked_surfaces),a=V(e.allowed_commands),c=V(e.blocked_commands),l=V(e.allowed_actions),f=V(e.blocked_actions),u=V(e.allowed_services),y=V(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),l.length>0&&(n.allowed_actions=l),f.length>0&&(n.blocked_actions=f),u.length>0&&(n.allowed_services=u),y.length>0&&(n.blocked_services=y),n}function Uu(e){let t=new Map;for(let n of e??[]){let r=zu(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function Mr(e){return e==="block"||e==="warn"?e:void 0}function Hu(e){if(typeof e=="string")return Mr(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=Mr(e.global),n=Mr(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function U(e,t){return V(e?.[t]??b.extensions.policy[t])}function Ts(e){let t=Hu(e?.pm_max_version_exceeded_mode);return{mode:Fu(e?.mode),trust_mode:$u(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:U(e,"trusted_extensions"),default_sandbox_profile:xs(e?.default_sandbox_profile),allowed_extensions:U(e,"allowed_extensions"),blocked_extensions:U(e,"blocked_extensions"),allowed_capabilities:U(e,"allowed_capabilities"),blocked_capabilities:U(e,"blocked_capabilities"),allowed_surfaces:U(e,"allowed_surfaces"),blocked_surfaces:U(e,"blocked_surfaces"),allowed_commands:U(e,"allowed_commands"),blocked_commands:U(e,"blocked_commands"),allowed_actions:U(e,"allowed_actions"),blocked_actions:U(e,"blocked_actions"),allowed_services:U(e,"allowed_services"),blocked_services:U(e,"blocked_services"),extension_overrides:Uu(e?.extension_overrides??b.extensions.policy.extension_overrides)}}function Os(e){return[...new Set((e??[]).map(n=>n.trim().toLowerCase().replaceAll("-","_")))].filter(n=>n.length>0).sort((n,r)=>n.localeCompare(r)).filter(n=>["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"].includes(n))}function me(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function D(e,t){return e===void 0?t:e}function H(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function Pr(e){return Array.isArray(e)?e:[]}function Wu(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:Os(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:me(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:me(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:me(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:me(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Rr(e.validation?.estimate_defaults_by_type)}}function Bu(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 qu(e,t){return{...t.search,...e.search,mutation_refresh_policy:ys(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:hs(e.search?.query_expansion?.enabled),provider:gs(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:bs(e.search?.rerank?.enabled),model:ws(e.search?.rerank?.model),top_k:Es(e.search?.rerank?.top_k)}}}function Vu(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:ks(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function Gu(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function Xu(e,t){return{default_depth:e.context?.default_depth??t.context.default_depth,activity_limit:e.context?.activity_limit??t.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??t.context.stale_threshold_days,sections:{...t.context.sections,...e.context?.sections}}}function Ku(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function $e(e){let t=(e??[]).map(r=>Xr(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 As(e){let t=ps(),n=_n({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:Gu(e,t),locks:{...t.locks,...e.locks},ids:{...t.ids,...e.ids},agent_identity:structuredClone(e.agent_identity??t.agent_identity),mutation_guard:{...t.mutation_guard,...e.mutation_guard},checkpoints:{...t.checkpoints,...e.checkpoints},output:{...t.output,...e.output},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:Wu(e,t,n),governance:n,workflow:{definition_of_done:[...e.workflow?.definition_of_done??t.workflow.definition_of_done]},testing:{record_results_to_items:e.testing?.record_results_to_items??t.testing.record_results_to_items},telemetry:Bu(e,t),agent_guidance:Is(e.agent_guidance??t.agent_guidance),item_types:{definitions:$e(e.item_types?.definitions)},schema:qe(e.schema??t.schema),context:Xu(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:Ts(e.extensions.policy??t.extensions.policy)},search:qu(e,t),providers:Ku(e,t),vector_store:Vu(e,t)}}function Ju(e){e.agent_identity=k(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=k(H(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=Pr(e.agent_identity.harness_signals).map(n=>k(H(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=k(e.locks,["ttl_seconds","wait_ms"]),e.ids=k(e.ids,["token_length"]),e.mutation_guard=k(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=k(e.checkpoints,["retention_days"]),e.output=k(e.output,["default_format"]),e.history=k(e.history,["missing_stream","compact_policy"]),e.validation=k(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=k(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=k(e.workflow,["definition_of_done"]),e.testing=k(e.testing,["record_results_to_items"]),e.telemetry=k(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=k(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=k(e.item_types,["definitions"]),e.schema=k(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=k(H(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=k(H(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=k(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=k(H(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=k(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=k(H(e.extensions.policy),["mode","trust_mode","pm_max_version_exceeded_mode","require_provenance","trusted_extensions","default_sandbox_profile","allowed_extensions","blocked_extensions","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services","extension_overrides"]),e.extensions.policy.extension_overrides=Pr(e.extensions.policy.extension_overrides).map(n=>k(H(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=k(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=k(H(e.search.query_expansion),["enabled","provider"]),e.search.rerank=k(H(e.search.rerank),["enabled","model","top_k"]),e.providers=k(e.providers,["openai","ollama"]),e.providers.openai=k(H(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=k(H(e.providers.ollama),["base_url","model"]),e.vector_store=k(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=k(H(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=k(H(e.vector_store.lancedb),["path"])}function Yu(e){return{...e,locks:D(e.locks,b.locks),ids:D(e.ids,b.ids),agent_identity:D(e.agent_identity,b.agent_identity),mutation_guard:D(e.mutation_guard,b.mutation_guard),checkpoints:D(e.checkpoints,b.checkpoints),output:D(e.output,b.output),history:D(e.history,b.history),validation:D(e.validation,b.validation),workflow:D(e.workflow,b.workflow),testing:D(e.testing,b.testing),telemetry:D(e.telemetry,b.telemetry),agent_guidance:D(e.agent_guidance,b.agent_guidance),item_types:D(e.item_types,b.item_types),schema:D(e.schema,b.schema),context:D(e.context,b.context),extensions:D(e.extensions,b.extensions),search:D(e.search,b.search),providers:D(e.providers,b.providers),vector_store:D(e.vector_store,b.vector_store)}}function Qu(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:Os(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:me(e.validation?.lifecycle_stale_blocker_reason_patterns??b.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:me(e.validation?.lifecycle_closure_like_blocked_reason_patterns??b.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:me(e.validation?.lifecycle_closure_like_resolution_patterns??b.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:me(e.validation?.lifecycle_closure_like_actual_result_patterns??b.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Rr(e.validation?.estimate_defaults_by_type)}}function Zu(e){return{...b.search,...e.search,mutation_refresh_policy:ys(e.search?.mutation_refresh_policy),query_expansion:{...b.search.query_expansion,...e.search?.query_expansion,enabled:hs(e.search?.query_expansion?.enabled),provider:gs(e.search?.query_expansion?.provider)},rerank:{...b.search.rerank,...e.search?.rerank,enabled:bs(e.search?.rerank?.enabled),model:ws(e.search?.rerank?.model),top_k:Es(e.search?.rerank?.top_k)}}}function ef(e){return{default_depth:e.context?.default_depth??b.context.default_depth,activity_limit:e.context?.activity_limit??b.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??b.context.stale_threshold_days,sections:{...b.context.sections,...e.context?.sections}}}function tf(e){return{...e.vector_store,adapter:e.vector_store?.adapter??b.vector_store.adapter,collection_name:ks(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function nf(e,t,n,r){return{...e,item_format:"toon",validation:Qu(e,t),governance:t,agent_guidance:Is(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:Zu(e),context:ef(e),extensions:{enabled:Lr(e.extensions?.enabled),disabled:Lr(e.extensions?.disabled),policy:Ts(e.extensions?.policy)},vector_store:tf(e)}}function Cs(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(!Ie(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:{};Cs(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var Rs=["version","id_prefix","ids","author_default","agent_identity","mutation_guard","item_format","locks","checkpoints","output","history","validation","governance","workflow","testing","telemetry","agent_guidance","item_types","schema","context","extensions","search","providers","vector_store"];function ms(e,t){let n=Yu(e),r=_n(n),o=qe(n.schema),i=Pu(n,t),s=nf(n,r,o,i),a=k({...s,governance:Au(r)},Rs);return Ju(a),a}function rf(e,t={}){let n=ms(e,t.persist_source);if(t.persist_source){let r=As(t.persist_source.source_settings);r.item_types={definitions:structuredClone(t.persist_source.runtime_item_type_definitions)},r.schema={...r.schema,statuses:structuredClone(t.persist_source.runtime_schema_statuses),fields:structuredClone(t.persist_source.runtime_schema_fields),type_workflows:structuredClone(t.persist_source.runtime_schema_type_workflows)};let o=ms(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return Cs(i,o,n),`${JSON.stringify(k(i,Rs),null,2)}
|
|
153
|
-
`}return`${JSON.stringify(n,null,2)}
|
|
154
|
-
`}async function Ns(e){let t=En(e),n=[t];await K({path:t,scope:"project"});let r=ds(e);if(r){let l=await ue(r.tracked_paths);if(ct(l,r.signatures))return mn(r.value)}let o=await ue([t]),i;try{i=await ye(t)}catch{return dt("settings_read_fs_error")}if(i===null){let l=dt();return await Dr(e,[t],l,o,[t]),l}let s=await ue([t]);if(!ct(o,s))return fe(e),Ns(e);let a;try{a=JSON.parse(i)}catch{let l=dt("settings_read_invalid_json");return await Dr(e,[t],l,s,[t]),l}let c=os(a);if(!c.success){let l=dt("settings_read_invalid_schema");return await Dr(e,[t],l,s,[t]),l}try{let l=As(c.data),f=Nu(e,l.schema,t);n=f;let u=await ue(f),y=await ao(e,l.schema),p=await co(e,l.schema),w=await ue(f),S={...l,item_types:{definitions:$e([...l.item_types.definitions,...Pr(p.type_definitions_from_file)])},schema:p.schema};vs(S,Ru(c.data,S));let E={settings:S,metadata:{has_explicit_item_format:ju(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...y.created_paths.map(C=>`runtime_schema_bootstrap_created:${C}`),...p.warnings]};return y.created_paths.length===0?ct(u,w)?fn(e,{tracked_paths:f,signatures:w,value:mn(E)}):fe(e):fe(e),E}catch{let l=dt("settings_read_merge_failed");return await Mu(e,n,l),l}}async function Vy(e){return(await Ns(e)).settings}async function Gy(e,t,n=Iu){let r=En(e),o=rf(t,{persist_source:Ss(t)});try{await rs({pmRoot:e,filePath:r,raw:o,op:n,author:To(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await q({path:r,scope:"project",op:n})}finally{fe(e)}}import of from"node:fs/promises";import sf from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="58fd6fef-9c13-5c6a-9110-b760461896aa")}catch{}})();function af(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function cf(e,t){return new T(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,I.NOT_FOUND)}async function df(e,t){return await Gr(sf.dirname(e)),await(await of.open(e,"a")).close(),q({path:e,scope:"project",op:`${t}:history:auto_create`})}async function jr(e){return lf({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function lf(e){let t=af(e.itemIds),n=[],r=[];for(let o of t){let i=We(e.pmRoot,o);if(!await bt(i)){if(e.settings.history.missing_stream==="strict_error")throw cf(o,e.commandLabel);r.push(...await df(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import _e from"node:fs/promises";import ze from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f43e1170-e797-5a0c-b02e-d31e002ab275")}catch{}})();async function uf(e){try{return await _e.access(e),!0}catch{return!1}}function pn(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function ff(e,t){e&&(e.includes(t)||e.push(t))}function Ds(e){return e??gt(Qe())}function mf(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}function yn(e){return new T(`Tracker root is not a directory at ${e}.`,I.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",nextSteps:["Pass the tracker directory itself, usually <workspace>/.agents/pm."]})}async function _f(e){let t=ze.parse(ze.resolve(e)).root,n=ze.dirname(ze.resolve(e));for(;n!==t;){let r;try{r=await _e.stat(n)}catch(o){if(pn(o,"ENOTDIR"))throw yn(e);if(!pn(o,"ENOENT"))throw o;n=ze.dirname(n);continue}if(!r.isDirectory())throw yn(e);break}}async function Fr(e){let t;try{t=await _e.stat(e)}catch(n){throw pn(n,"ENOENT")?(await _f(e),new T(`Tracker root does not exist at ${e}.`,I.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",nextSteps:["Confirm the tracker root path and retry the SDK read.","Initialize a tracker before enumerating its item metadata."]})):pn(n,"ENOTDIR")?yn(e):n}if(!t.isDirectory())throw yn(e)}async function Ms(e,t,n="pm-",r,o=pe){let i=hr(t,n),s=yr(t),a=i===s?[i]:[i,s],c=Object.entries(o),l=mf(r);for(let f of a)for(let[u]of c)for(let y of l){let p=kn(e,u,f,y,o);if(await uf(p))return{id:f,type:u,itemPath:p,item_format:y}}return null}async function Ls(e,t={}){let n=await _e.readFile(e.itemPath,"utf8");await K({path:e.itemPath,scope:"project"});let r=Mt(n,{format:e.item_format,schema:t.schema,extensionFieldNames:Ds(t.extensionFieldNames),onWarning:o=>ff(t.warnings,o)});return{raw:n,document:r}}async function pf(e,t,n=pe,r,o){return await Fr(e),(await Ji(e,t,n,r,o)).map(s=>s.metadata)}async function kh(e,t,n=pe,r,o){return await Fr(e),(await Yi(e,t,n,r,o)).map(s=>s.metadata)}async function vh(e,t,n=pe,r,o,i={}){return await Fr(e),(await cn(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan})).map(a=>({...a.metadata,body:a.body}))}function Ps(e){return{async get(t){let n=await Ms(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await Ls(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>pf(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function yf(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await _e.readdir(ze.join(e,o));for(let s of i)for(let a of wt)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function hf(e,t,n,r){let o=hr(t,n),i=await yf(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:ft(c,o,s)})).filter(c=>c.distance!==null).sort((c,l)=>c.distance-l.distance).slice(0,3).map(c=>c.id)}async function gf(e,t,n,r){let o=await hf(e,t,n,r),i=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return o.length>0&&i.unshift(`Did you mean one of: ${o.join(", ")}?`),new T(`Item ${t} not found`,I.NOT_FOUND,{nextSteps:i})}function bf(e,t){return e==="claim"||t===!0&&(e==="comment_add"||e==="comment_edit"||e==="comment_delete"||e==="note_add"||e==="learning_add"||e==="release"||e==="update"||e==="update_ownership_bypass"||e==="update_audit")}async function js(e){let t=e.typeToFolder??Kr(e.settings,Qe()).type_to_folder,n=await Ms(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await gf(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await re(e.pmRoot,n.id,e.settings.locks.ttl_seconds,e.author,!!e.force,e.settings.governance.force_required_for_stale_lock,e.settings.locks.wait_ms);try{let o=[],{raw:i,document:s}=await Ls(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,l=xo(e.author),f=_n(e.settings);if(a&&c!==l&&!e.force&&!bf(e.op,e.bypassAssigneeConflict)){if(f.ownership_enforcement==="strict")throw new T(`Item ${n.id} is assigned to ${a}. Use --force to override.`,I.CONFLICT);f.ownership_enforcement==="warn"&&o.push(`ownership_warning:assignee_conflict:${n.id}:${a}`)}return{typeToFolder:t,located:n,originalRaw:i,document:s,warnings:o,releaseLock:r}}catch(o){throw await r(),o}}function wf(e,t,n){if(!e.handled||typeof e.result!="object"||e.result===null)return{effectiveTargetItemPath:t,effectiveSerializedAfter:n,skipItemWrite:!1};let r=e.result;return{effectiveTargetItemPath:typeof r.target_item_path=="string"&&r.target_item_path.trim().length>0?r.target_item_path:t,effectiveSerializedAfter:typeof r.contents=="string"?r.contents:n,skipItemWrite:r.skip_write===!0}}async function Ef(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await z(e.originalItemPath,e.originalRaw),await _e.rm(e.effectiveTargetItemPath,{force:!0});return}await z(e.originalItemPath,e.originalRaw)}}async function Sh(e){let t=await js({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=B(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=B(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),f=await e.mutate(l);if(e.skipNoop===!0&&f.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...f.warnings??[]]};l.metadata.updated_at=Ee();let u=B(l,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await tr({pm_root:e.pmRoot,operation:e.op,before:c,after:u,changed_fields:f.changedFields,sdk:Ps({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let y=await jr({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),p="toon",w=Ko(u,{format:p,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),S=kn(e.pmRoot,u.metadata.type,r.id,p,n),E=We(e.pmRoot,r.id),C=await ee("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:S,history_path:E,item_format:p,before:c,after:u,contents:w}),{effectiveTargetItemPath:N,effectiveSerializedAfter:oe,skipItemWrite:M}=wf(C,S,w),hn=await xr(e.pmRoot,e.author),lt=[];try{M||await z(N,oe),!M&&N!==r.itemPath&&await _e.rm(r.itemPath);let gn=Le({nowIso:u.metadata.updated_at,author:e.author,op:e.op,before:c,after:u,message:e.message});try{await Pe(E,gn)}catch(ut){throw await Ef({skipItemWrite:M,effectiveTargetItemPath:N,originalItemPath:r.itemPath,originalRaw:o}),ut}M||(lt=await Tr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:N,previousItemPath:r.itemPath,document:u}))}finally{await hn()}let Q=[...await q({path:N,scope:"project",op:e.op,item_id:u.metadata.id,item_type:u.metadata.type,before:c,after:u,changed_fields:f.changedFields}),...await q({path:E,scope:"project",op:`${e.op}:history`,item_id:u.metadata.id,item_type:u.metadata.type,before:c,after:u,changed_fields:f.changedFields})];return er({id:u.metadata.id,op:e.op,item_type:u.metadata.type,previous_status:c.metadata.status,status:u.metadata.status,previous:Lt(c.metadata,f.changedFields),current:Lt(u.metadata,f.changedFields),changed_fields:f.changedFields}),{item:u.metadata,body:u.body,changedFields:f.changedFields,warnings:[...s,...f.warnings??[],...y.warnings,...C.warnings,...lt,...Q]}}finally{await a()}}async function Ih(e){let t=await js({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:"delete",author:e.author,force:e.force}),{located:n,originalRaw:r,document:o,warnings:i,releaseLock:s}=t;try{let a=Ds(void 0),c=B(o,{schema:e.settings.schema,extensionFieldNames:a});await tr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Ps({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let l=await jr({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),f=Ee(),u=Ue,y=Le({nowIso:f,author:e.author,op:"delete",before:c,after:u,message:e.message}),p=We(e.pmRoot,n.id),w=await ee("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:p,before:c}),S=n.itemPath,E=!1;if(w.handled&&typeof w.result=="object"&&w.result!==null){let M=w.result;typeof M.item_path=="string"&&M.item_path.trim().length>0&&(S=M.item_path),M.skip_delete===!0&&(E=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:S,warnings:[...i,...l.warnings,...w.warnings]};let C=await xr(e.pmRoot,e.author),N=[];try{E||await _e.rm(S);try{await Pe(p,y)}catch(M){throw E||await z(S,r),M}E||(N=await Tr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:S,document:null}))}finally{await C()}let oe=[...await q({path:S,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:u,changed_fields:["deleted"]}),...await q({path:p,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:u,changed_fields:["deleted"]})];return er({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:Lt(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...l.warnings,...w.warnings,...N,...oe]}}finally{await s()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a9b23a46-0bba-5174-8793-dfc37016d1fb")}catch{}})();function kf(e,t){let n=e.trim().toLowerCase();if(n.length===0)return;let r=Math.floor(n.length/3);return t.map(o=>({candidate:o,distance:ft(n,o.toLowerCase(),r)??Number.POSITIVE_INFINITY})).filter(({distance:o})=>Number.isFinite(o)).sort((o,i)=>o.distance!==i.distance?o.distance-i.distance:o.candidate.localeCompare(i.candidate))[0]?.candidate}function Fs(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function Ch(e){let t=e.command_path.trim().replaceAll(/\s+/gu," "),n=e.token.trim(),r=n.length===0?"<empty>":n,o=[...new Set(e.allowed.map(y=>y.trim()))].filter(Boolean).sort((y,p)=>y.localeCompare(p));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",l=e.retry_command?void 0:kf(r,o),f=Fs([...i,r,...s]),u=e.retry_command??(l?Fs([...i,l,...s]):void 0);return new T(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??I.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",examples:[...u?[u]:[],...e.examples??[],`pm ${t} --help`],nextSteps:u?[`Retry with the suggested command: ${u}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:f,allowed_values:o,suggested_retry:u,fallback_candidates:e.fallback_candidates}})}export{Bm as a,Kc as b,r_ as c,o_ as d,i_ as e,s_ as f,a_ as g,c_ as h,d_ as i,l_ as j,Qe as k,er as l,Lt as m,q as n,tr as o,K as p,nr as q,u_ as r,f_ as s,ee as t,wd as u,ge as v,In as w,If as x,xf as y,vt as z,Cn as A,Df as B,Mf as C,Lf as D,Pf as E,jf as F,Ff as G,jn as H,Xs as I,Gf as J,Xf as K,Kf as L,Un as M,vo as N,Jf as O,Yf as P,Qf as Q,la as R,xo as S,To as T,Ee as U,$ as V,am as W,cm as X,re as Y,Fo as Z,Ge as _,wm as $,Em as aa,Oe as ba,Mo as ca,lm as da,Lo as ea,Ca as fa,um as ga,Ct as ha,Na as ia,pm as ja,Rt as ka,Dt as la,Mt as ma,Ko as na,B as oa,Ze as pa,C_ as qa,R_ as ra,Q_ as sa,Z_ as ta,Od as ua,et as va,J as wa,yp as xa,mr as ya,hp as za,Le as Aa,Pe as Ba,Pd as Ca,Vt as Da,qt as Ea,Gt as Fa,Ip as Ga,xp as Ha,wi as Ia,Xt as Ja,$d as Ka,pr as La,Tp as Ma,Op as Na,dn as Oa,Zi as Pa,Sy as Qa,Iy as Ra,xy as Sa,rs as Ta,Cy as Ua,_n as Va,Ns as Wa,Vy as Xa,Gy as Ya,jr as Za,lf as _a,vi as $a,yr as ab,hr as bb,Lp as cb,Up as db,Hp as eb,Wp as fb,qi as gb,xl as hb,xr as ib,fy as jb,Tr as kb,cn as lb,Ms as mb,Ls as nb,pf as ob,kh as pb,vh as qb,Ps as rb,gf as sb,Sh as tb,Ih as ub,Ch as vb};
|
|
155
|
-
//# sourceMappingURL=chunk-5OQIMELN.js.map
|