@unbrained/pm-cli 2026.9.29 → 2026.10.1

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.
Files changed (96) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +21 -0
  3. package/dist/cli/main.js +1 -1
  4. package/dist/cli/register-list-query.d.ts +8 -5
  5. package/dist/cli/register-list-query.js +2 -2
  6. package/dist/cli-bundle/bundle-manifest.json +153 -153
  7. package/dist/cli-bundle/chunks/{chunk-4DOL43PF.js → chunk-7E2EBJLY.js} +2 -2
  8. package/dist/cli-bundle/chunks/{chunk-SC6JHXFT.js → chunk-A2UPOCSW.js} +27 -27
  9. package/dist/cli-bundle/chunks/{chunk-OTLIM22J.js → chunk-AYHLUJKD.js} +2 -2
  10. package/dist/cli-bundle/chunks/{chunk-5KEPG36D.js → chunk-BNAT4EYR.js} +9 -9
  11. package/dist/cli-bundle/chunks/{chunk-S5A2UIRV.js → chunk-DGOIXJZJ.js} +46 -46
  12. package/dist/cli-bundle/chunks/{chunk-SJI55O65.js → chunk-HGJLVN56.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-U3QJGJYN.js → chunk-JAVO3Z42.js} +3 -3
  14. package/dist/cli-bundle/chunks/{chunk-GP6QTYSD.js → chunk-SCZMJ5DC.js} +2 -2
  15. package/dist/cli-bundle/chunks/chunk-TV3YDE36.js +2 -0
  16. package/dist/cli-bundle/chunks/{chunk-SEJ53XDN.js → chunk-UIAH7UFK.js} +65 -65
  17. package/dist/cli-bundle/chunks/{chunk-2AQKVJMW.js → chunk-USTAFHIM.js} +2 -2
  18. package/dist/cli-bundle/chunks/{chunk-PJSQAWWQ.js → chunk-VWVFKPLX.js} +73 -73
  19. package/dist/cli-bundle/chunks/{chunk-P75SO5HO.js → chunk-YM342ELM.js} +2 -2
  20. package/dist/cli-bundle/chunks/{register-list-query-R3ELWWPY.js → register-list-query-L6HAHW7V.js} +6 -6
  21. package/dist/cli-bundle/chunks/{register-mutation-WHXJXIHJ.js → register-mutation-6OCZVTW5.js} +2 -2
  22. package/dist/cli-bundle/chunks/{register-operations-7ASWBYQG.js → register-operations-3E5U4TOE.js} +2 -2
  23. package/dist/cli-bundle/chunks/{register-setup-FDRTUG54.js → register-setup-VUD37N4A.js} +2 -2
  24. package/dist/cli-bundle/focused-chunks/{chunk-MRH4A542.js → chunk-3CAZ7Z4R.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-5MC57KRC.js → chunk-4AORVUT4.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/{chunk-NY6FLQTN.js → chunk-6275G2AN.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/{chunk-T4H6Q44B.js → chunk-DJPP2HAK.js} +3 -3
  28. package/dist/cli-bundle/focused-chunks/{chunk-NXQZMKW5.js → chunk-EVMH4SKN.js} +2 -2
  29. package/dist/cli-bundle/focused-chunks/{chunk-6OXJVE74.js → chunk-IDB6E3ZV.js} +27 -27
  30. package/dist/cli-bundle/focused-chunks/{chunk-2O3QFI3G.js → chunk-IQBFYQF2.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/{chunk-KLKKCHWM.js → chunk-MOUCTR72.js} +2 -2
  32. package/dist/cli-bundle/focused-chunks/{chunk-7URX7FMY.js → chunk-OMBDUJWZ.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/{chunk-AZE7KUHG.js → chunk-RIJQQOEZ.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/{chunk-IFBA3ZAT.js → chunk-T4PZJQG4.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-DZVOCJFY.js → chunk-UPOMLSW7.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-AVP5C674.js → chunk-XB5Q2P7Z.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/{chunk-K3AIMRIK.js → chunk-XUCXRZZZ.js} +2 -2
  38. package/dist/cli-bundle/focused-chunks/{chunk-FBIRNSYP.js → chunk-YBQ27KG7.js} +49 -49
  39. package/dist/cli-bundle/focused-chunks/{chunk-4A4DO5ZT.js → chunk-ZJ3CLTV4.js} +2 -2
  40. package/dist/cli-bundle/main.js +2 -2
  41. package/dist/cli-bundle/sdk-authoring.js +1 -1
  42. package/dist/cli-bundle/sdk-contracts.js +1 -1
  43. package/dist/cli-bundle/sdk-core.js +22 -22
  44. package/dist/cli-bundle/sdk-governance.js +1 -1
  45. package/dist/cli-bundle/sdk-graph.js +1 -1
  46. package/dist/cli-bundle/sdk-merge.js +37 -37
  47. package/dist/cli-bundle/sdk-query.js +1 -1
  48. package/dist/cli-bundle/sdk-runtime.js +1 -1
  49. package/dist/cli-bundle/sdk-testing.js +1 -1
  50. package/dist/cli-bundle/sdk.js +2 -2
  51. package/dist/core/extensions/extension-types.d.ts +13 -0
  52. package/dist/core/extensions/extension-types.js +1 -1
  53. package/dist/core/history/workspace-history.d.ts +17 -0
  54. package/dist/core/history/workspace-history.js +1 -1
  55. package/dist/sdk/extension-command-context.d.ts +1 -7
  56. package/dist/sdk/extension-command-context.js +1 -1
  57. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  58. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  59. package/dist/sdk/lifecycle/update.d.ts +2 -0
  60. package/dist/sdk/lifecycle/update.js +1 -1
  61. package/dist/sdk/merge/install.d.ts +2 -2
  62. package/dist/sdk/merge/install.js +1 -1
  63. package/dist/sdk/public-surface.json +1 -1
  64. package/dist/sdk/query/get.d.ts +19 -15
  65. package/dist/sdk/query/get.js +1 -1
  66. package/dist/sdk/runtime.js +1 -1
  67. package/dist/sdk/structured-mutations.js +1 -1
  68. package/dist/sdk/testing.js +1 -1
  69. package/docs/BOUNDED_CONTEXT_READS.md +10 -7
  70. package/docs/COMMANDS.md +1 -1
  71. package/docs/MERGE_SAFETY.md +17 -6
  72. package/docs/README.md +1 -0
  73. package/docs/RELEASE_RELIABILITY.md +26 -4
  74. package/docs/SDK_AUDITED_MUTATIONS.md +52 -0
  75. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +5 -3
  76. package/marketplace.json +2 -2
  77. package/package.json +1 -1
  78. package/packages/pm-beads/package.json +1 -1
  79. package/packages/pm-calendar/package.json +1 -1
  80. package/packages/pm-command-kit/package.json +1 -1
  81. package/packages/pm-digital-twin/package.json +1 -1
  82. package/packages/pm-governance-audit/package.json +1 -1
  83. package/packages/pm-guide-shell/package.json +1 -1
  84. package/packages/pm-kanban/package.json +1 -1
  85. package/packages/pm-lifecycle-hooks/package.json +1 -1
  86. package/packages/pm-linked-test-adapters/package.json +1 -1
  87. package/packages/pm-search-advanced/package.json +1 -1
  88. package/packages/pm-templates/package.json +1 -1
  89. package/packages/pm-todos/package.json +1 -1
  90. package/packages/pm-vcs/package.json +1 -1
  91. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  92. package/plugins/pm-claude/package.json +2 -2
  93. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  94. package/plugins/pm-codex/package.json +2 -2
  95. package/plugins/pm-codex/plugin.json +1 -1
  96. package/dist/cli-bundle/chunks/chunk-D32HVIB2.js +0 -2
@@ -1,2 +1,2 @@
1
- import{Ea as p,Fa as i,Ga as v,Ha as _}from"./chunk-S5A2UIRV.js";import{ab as h}from"./chunk-SEJ53XDN.js";import u from"node:fs/promises";import c from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="3425a1da-ef02-5235-a3b7-158d9efd12a2")}catch{}})();function f(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="ENOENT"}function b(e){return e!=="invalid"&&e!=="unreadable"}function j(e){let r=JSON.parse(e);if(typeof r!="object"||r===null||Array.isArray(r))throw new SyntaxError("Invalid settings object");let t=r.extensions;if(t===void 0)return{enabled:[],disabled:[]};if(typeof t!="object"||t===null||Array.isArray(t))throw new SyntaxError("Invalid extensions settings");let n=t;if(n.enabled!==void 0&&(!Array.isArray(n.enabled)||!n.enabled.every(a=>typeof a=="string"))||n.disabled!==void 0&&(!Array.isArray(n.disabled)||!n.disabled.every(a=>typeof a=="string")))throw new SyntaxError("Invalid extension enablement lists");return{enabled:n.enabled??[],disabled:n.disabled??[]}}async function S(e){let r;try{r=await u.readFile(e,"utf8")}catch(t){return f(t)?{status:"absent",enabled:[],disabled:[]}:{status:"unreadable",enabled:[],disabled:[],error:{code:"settings_unreadable",path:e}}}try{return{status:"ok",...j(r)}}catch{return{status:"invalid",enabled:[],disabled:[],error:{code:"settings_invalid",path:e}}}}async function A(e){let r;try{r=await u.readFile(e,"utf8")}catch(t){if(f(t))try{if((await u.stat(c.dirname(e))).isDirectory())return{status:"absent",entries:[]}}catch(n){if(f(n))return{status:"absent",entries:[]}}return{status:"unreadable",entries:[],error:{code:"managed_state_unreadable",path:e}}}try{let t=JSON.parse(r),n=_(t);if(!n||typeof t!="object"||t===null||!Array.isArray(t.entries)||n.entries.length!==t.entries.length)throw new SyntaxError("Invalid managed extension state");return{status:"ok",entries:n.entries}}catch{return{status:"invalid",entries:[],error:{code:"managed_state_invalid",path:e}}}}async function I(e){try{return{directories:(await u.readdir(e,{withFileTypes:!0})).filter(t=>t.isDirectory()).map(t=>t.name).sort((t,n)=>t.localeCompare(n))}}catch(r){return f(r)?{directories:[]}:{directories:[],error:{code:"extensions_unreadable",path:e}}}}async function D(e){let r;try{r=await u.readFile(e,"utf8")}catch(t){return f(t)?{manifest:null,error:{code:"manifest_invalid",path:e}}:{manifest:null,error:{code:"manifest_unreadable",path:e}}}try{let t=v(JSON.parse(r));return t?{manifest:t}:{manifest:null,error:{code:"manifest_invalid",path:e}}}catch{return{manifest:null,error:{code:"manifest_invalid",path:e}}}}function M(e){let r=e.manifest?.name??e.directory,t=new Set(p(e.settings.enabled)),n=new Set(p(e.settings.disabled)),a=!b(e.settings.status)||!e.manifest?null:!n.has(r)&&(t.size===0||t.has(r)),o=b(e.managed.status)?e.managed.entries.some(d=>i(d.name)===i(r)||i(d.directory)===i(e.directory)):null;return{name:r,directory:e.directory,scope:e.scope,installed:!0,status:e.manifest?a===!1?"inactive":"installed":"malformed_manifest",configured_enabled:a,managed:o,runtime_active:null,...e.manifest?{version:e.manifest.version}:{}}}async function R(e){let r=e.scope??"project",t=r==="global"?h(e.cwd??process.cwd()):e.pmRoot,n=c.join(t,"extensions"),a=await S(c.join(t,"settings.json")),o=await A(c.join(n,".managed-extensions.json")),d=await I(n),l=[];for(let s of[a,o,d])s.error&&l.push(s.error);let m=e.name?.trim(),y=[];for(let s of d.directories){let x=c.join(n,s,"manifest.json"),g=await D(x);g.error&&l.push(g.error);let w=M({directory:s,scope:r,manifest:g.manifest,settings:a,managed:o});m&&![w.name,s].some(E=>i(E)===i(m))||y.push(w)}return m&&y.length===0&&l.every(s=>s.code!=="extensions_unreadable")&&y.push({name:m,directory:null,scope:r,installed:!1,status:"absent",configured_enabled:b(a.status)?!1:null,managed:b(o.status)?!1:null,runtime_active:null}),{scope:r,complete:l.length===0,settings_status:a.status,managed_state_status:o.status,extensions:y,errors:l}}export{R as a};
2
- //# sourceMappingURL=chunk-OTLIM22J.js.map
1
+ import{Ea as p,Fa as i,Ga as v,Ha as _}from"./chunk-DGOIXJZJ.js";import{ab as h}from"./chunk-UIAH7UFK.js";import u from"node:fs/promises";import c from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="3425a1da-ef02-5235-a3b7-158d9efd12a2")}catch{}})();function f(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="ENOENT"}function b(e){return e!=="invalid"&&e!=="unreadable"}function j(e){let r=JSON.parse(e);if(typeof r!="object"||r===null||Array.isArray(r))throw new SyntaxError("Invalid settings object");let t=r.extensions;if(t===void 0)return{enabled:[],disabled:[]};if(typeof t!="object"||t===null||Array.isArray(t))throw new SyntaxError("Invalid extensions settings");let n=t;if(n.enabled!==void 0&&(!Array.isArray(n.enabled)||!n.enabled.every(a=>typeof a=="string"))||n.disabled!==void 0&&(!Array.isArray(n.disabled)||!n.disabled.every(a=>typeof a=="string")))throw new SyntaxError("Invalid extension enablement lists");return{enabled:n.enabled??[],disabled:n.disabled??[]}}async function S(e){let r;try{r=await u.readFile(e,"utf8")}catch(t){return f(t)?{status:"absent",enabled:[],disabled:[]}:{status:"unreadable",enabled:[],disabled:[],error:{code:"settings_unreadable",path:e}}}try{return{status:"ok",...j(r)}}catch{return{status:"invalid",enabled:[],disabled:[],error:{code:"settings_invalid",path:e}}}}async function A(e){let r;try{r=await u.readFile(e,"utf8")}catch(t){if(f(t))try{if((await u.stat(c.dirname(e))).isDirectory())return{status:"absent",entries:[]}}catch(n){if(f(n))return{status:"absent",entries:[]}}return{status:"unreadable",entries:[],error:{code:"managed_state_unreadable",path:e}}}try{let t=JSON.parse(r),n=_(t);if(!n||typeof t!="object"||t===null||!Array.isArray(t.entries)||n.entries.length!==t.entries.length)throw new SyntaxError("Invalid managed extension state");return{status:"ok",entries:n.entries}}catch{return{status:"invalid",entries:[],error:{code:"managed_state_invalid",path:e}}}}async function I(e){try{return{directories:(await u.readdir(e,{withFileTypes:!0})).filter(t=>t.isDirectory()).map(t=>t.name).sort((t,n)=>t.localeCompare(n))}}catch(r){return f(r)?{directories:[]}:{directories:[],error:{code:"extensions_unreadable",path:e}}}}async function D(e){let r;try{r=await u.readFile(e,"utf8")}catch(t){return f(t)?{manifest:null,error:{code:"manifest_invalid",path:e}}:{manifest:null,error:{code:"manifest_unreadable",path:e}}}try{let t=v(JSON.parse(r));return t?{manifest:t}:{manifest:null,error:{code:"manifest_invalid",path:e}}}catch{return{manifest:null,error:{code:"manifest_invalid",path:e}}}}function M(e){let r=e.manifest?.name??e.directory,t=new Set(p(e.settings.enabled)),n=new Set(p(e.settings.disabled)),a=!b(e.settings.status)||!e.manifest?null:!n.has(r)&&(t.size===0||t.has(r)),o=b(e.managed.status)?e.managed.entries.some(d=>i(d.name)===i(r)||i(d.directory)===i(e.directory)):null;return{name:r,directory:e.directory,scope:e.scope,installed:!0,status:e.manifest?a===!1?"inactive":"installed":"malformed_manifest",configured_enabled:a,managed:o,runtime_active:null,...e.manifest?{version:e.manifest.version}:{}}}async function R(e){let r=e.scope??"project",t=r==="global"?h(e.cwd??process.cwd()):e.pmRoot,n=c.join(t,"extensions"),a=await S(c.join(t,"settings.json")),o=await A(c.join(n,".managed-extensions.json")),d=await I(n),l=[];for(let s of[a,o,d])s.error&&l.push(s.error);let m=e.name?.trim(),y=[];for(let s of d.directories){let x=c.join(n,s,"manifest.json"),g=await D(x);g.error&&l.push(g.error);let w=M({directory:s,scope:r,manifest:g.manifest,settings:a,managed:o});m&&![w.name,s].some(E=>i(E)===i(m))||y.push(w)}return m&&y.length===0&&l.every(s=>s.code!=="extensions_unreadable")&&y.push({name:m,directory:null,scope:r,installed:!1,status:"absent",configured_enabled:b(a.status)?!1:null,managed:b(o.status)?!1:null,runtime_active:null}),{scope:r,complete:l.length===0,settings_status:a.status,managed_state_status:o.status,extensions:y,errors:l}}export{R as a};
2
+ //# sourceMappingURL=chunk-AYHLUJKD.js.map