@unbrained/pm-cli 2026.9.25 → 2026.9.26

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 (85) hide show
  1. package/.agents/skills/README.md +1 -0
  2. package/.agents/skills/pm-developer/SKILL.md +3 -0
  3. package/.agents/skills/pm-test-audit/LICENSE.txt +21 -0
  4. package/.agents/skills/pm-test-audit/SKILL.md +103 -0
  5. package/.agents/skills/pm-test-audit/references/AUDIT.md +54 -0
  6. package/.agents/skills/pm-test-audit/references/CAMPAIGN.md +47 -0
  7. package/.claude-plugin/marketplace.json +2 -2
  8. package/CHANGELOG.md +12 -1
  9. package/dist/cli/register-list-query.js +2 -2
  10. package/dist/cli/schema/registration.js +2 -2
  11. package/dist/cli-bundle/bundle-manifest.json +111 -111
  12. package/dist/cli-bundle/chunks/{chunk-YDIGMRLZ.js → chunk-4ODHIX7N.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-5AP67ZXH.js → chunk-FOTXRNY6.js} +39 -39
  14. package/dist/cli-bundle/chunks/{chunk-GAU55CWI.js → chunk-GRWPZR7F.js} +3 -3
  15. package/dist/cli-bundle/chunks/{chunk-3IB4THWX.js → chunk-HTHTX6E6.js} +6 -6
  16. package/dist/cli-bundle/chunks/{chunk-JDHWZYZU.js → chunk-IYN4MJ2C.js} +73 -73
  17. package/dist/cli-bundle/chunks/{chunk-YABJDOOX.js → chunk-MJWKR7YA.js} +2 -2
  18. package/dist/cli-bundle/chunks/{chunk-GOWZEBTH.js → chunk-QQD3VRMZ.js} +2 -2
  19. package/dist/cli-bundle/chunks/{chunk-COFQCKF4.js → chunk-SZQCHJI4.js} +2 -2
  20. package/dist/cli-bundle/chunks/{chunk-P7ZSJOWH.js → chunk-TC74K7SS.js} +2 -2
  21. package/dist/cli-bundle/chunks/{chunk-445ARBKY.js → chunk-TYJXMT3Q.js} +2 -2
  22. package/dist/cli-bundle/chunks/{chunk-25KTCTBL.js → chunk-U55RYT3I.js} +2 -2
  23. package/dist/cli-bundle/chunks/{chunk-CZ3VJJEA.js → chunk-VMO4P5MX.js} +2 -2
  24. package/dist/cli-bundle/chunks/{register-list-query-IZ7ZVTDE.js → register-list-query-426QTRET.js} +4 -4
  25. package/dist/cli-bundle/chunks/{register-mutation-IPAZTFDZ.js → register-mutation-FLI3HHMP.js} +4 -4
  26. package/dist/cli-bundle/chunks/{register-operations-APN33LNI.js → register-operations-TP7ZG4MK.js} +2 -2
  27. package/dist/cli-bundle/chunks/{register-setup-HPHIKG5U.js → register-setup-574SIVQZ.js} +2 -2
  28. package/dist/cli-bundle/focused-chunks/chunk-25BBHWMH.js +20 -0
  29. package/dist/cli-bundle/focused-chunks/{chunk-KRIHJH5U.js → chunk-H3BI4EDO.js} +4 -4
  30. package/dist/cli-bundle/focused-chunks/chunk-HNHMK5JI.js +2 -0
  31. package/dist/cli-bundle/focused-chunks/{chunk-IXNNMP2R.js → chunk-XVBWZTU2.js} +11 -11
  32. package/dist/cli-bundle/main.js +2 -2
  33. package/dist/cli-bundle/sdk-contracts.js +1 -1
  34. package/dist/cli-bundle/sdk-core.js +20 -20
  35. package/dist/cli-bundle/sdk-governance.js +1 -1
  36. package/dist/cli-bundle/sdk-merge.js +45 -45
  37. package/dist/cli-bundle/sdk-query.js +1 -1
  38. package/dist/cli-bundle/sdk-runtime.js +1 -1
  39. package/dist/cli-bundle/sdk-testing.js +1 -1
  40. package/dist/cli-bundle/sdk.js +8 -8
  41. package/dist/core/search/embedding-batches.d.ts +47 -15
  42. package/dist/core/search/embedding-batches.js +1 -1
  43. package/dist/core/search/eval-thresholds.d.ts +14 -0
  44. package/dist/core/search/eval-thresholds.js +2 -0
  45. package/dist/core/search/eval.d.ts +4 -1
  46. package/dist/core/search/eval.js +1 -1
  47. package/dist/core/search/http-client.d.ts +7 -0
  48. package/dist/core/search/http-client.js +1 -1
  49. package/dist/sdk/eval.d.ts +19 -17
  50. package/dist/sdk/eval.js +1 -1
  51. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  52. package/dist/sdk/governance/reindex.d.ts +4 -1
  53. package/dist/sdk/governance/reindex.js +2 -2
  54. package/dist/sdk/public-surface.json +1 -1
  55. package/dist/sdk/query.d.ts +3 -0
  56. package/dist/sdk/query.js +1 -1
  57. package/dist/sdk/runtime/schema-preview.d.ts +2 -0
  58. package/dist/sdk/runtime/schema-preview.js +2 -0
  59. package/dist/sdk/runtime/schema.js +1 -1
  60. package/dist/sdk/runtime-primitives.d.ts +2 -1
  61. package/dist/sdk/runtime-primitives.js +1 -1
  62. package/docs/README.md +1 -0
  63. package/docs/RELEASING.md +5 -1
  64. package/docs/SEARCH_QUALITY.md +116 -0
  65. package/marketplace.json +2 -2
  66. package/package.json +1 -1
  67. package/packages/pm-beads/package.json +1 -1
  68. package/packages/pm-calendar/package.json +1 -1
  69. package/packages/pm-command-kit/package.json +1 -1
  70. package/packages/pm-digital-twin/package.json +1 -1
  71. package/packages/pm-governance-audit/package.json +1 -1
  72. package/packages/pm-guide-shell/package.json +1 -1
  73. package/packages/pm-kanban/package.json +1 -1
  74. package/packages/pm-lifecycle-hooks/package.json +1 -1
  75. package/packages/pm-linked-test-adapters/package.json +1 -1
  76. package/packages/pm-search-advanced/package.json +1 -1
  77. package/packages/pm-templates/package.json +1 -1
  78. package/packages/pm-todos/package.json +1 -1
  79. package/packages/pm-vcs/package.json +1 -1
  80. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  81. package/plugins/pm-claude/package.json +2 -2
  82. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  83. package/plugins/pm-codex/package.json +2 -2
  84. package/dist/cli-bundle/focused-chunks/chunk-V2X37U6J.js +0 -2
  85. package/dist/cli-bundle/focused-chunks/chunk-Y2M4QLAA.js +0 -20
@@ -1,2 +1,2 @@
1
- import{$b as wi,Aa as Ue,Ba as Pe,Ca as je,Da as Fe,Ea as qe,F as Ie,Fa as ze,G as $e,Ga as Je,H as Be,I as Ce,J as De,Na as Ke,Oa as Xe,Pa as Le,Qa as Qe,Ra as Me,Sa as ei,Ta as ii,Ua as ri,Va as ti,Vb as mi,Wa as ni,Wb as xi,Xb as vi,Yb as bi,Zb as yi,_b as hi,a as oe,ac as gi,b as de,bc as ki,c as ae,cc as Ai,d as ue,dc as Ei,e as se,ec as _,f as fe,fc as Ri,g as pe,gc as Si,h as ce,hc as Ti,i as _e,ic as Ii,j as le,jc as $i,k as me,kc as Bi,l as xe,lb as oi,lc as Ci,m as ve,mc as l,n as be,o as ye,p as he,pb as di,q as we,qb as ai,r as ge,rb as ui,s as ke,sb as si,t as Ae,tb as fi,u as Ee,ub as pi,v as Re,vb as ci,w as Se,wb as _i,x as Te,xb as li,ya as Ne,za as Oe}from"./focused-chunks/chunk-KRIHJH5U.js";import"./focused-chunks/chunk-MK5AKKHK.js";import{h as j}from"./focused-chunks/chunk-NRHTXBTI.js";import{E as B,F as C,G as D,H as N,I as O,J as U,K as P}from"./focused-chunks/chunk-PMPFLA6X.js";import"./focused-chunks/chunk-XKH2FC5D.js";import{Aa as Q,Ba as M,Ca as ee,Da as ie,Ea as re,Fa as te,Ga as ne,pb as We,qb as Ze,rb as Ge,sa as G,sb as He,ta as H,tb as Ve,ua as V,ub as Ye,va as Y,wa as K,xa as X,za as L}from"./focused-chunks/chunk-Y2M4QLAA.js";import"./focused-chunks/chunk-O7MIBEMK.js";import"./focused-chunks/chunk-UIFVIE5F.js";import"./focused-chunks/chunk-HQPTDJLF.js";import{D as F,E as q,F as z,G as J,H as W,gb as Z}from"./focused-chunks/chunk-Q355NPLH.js";import"./focused-chunks/chunk-TLF6N56J.js";import"./focused-chunks/chunk-HFAW3FJQ.js";import{Pb as h,Qb as w,Rb as g,Sb as k,Tb as A,Ub as E,Ud as c,Vb as R,Wb as S,Xb as T,Yb as I,Zb as $}from"./focused-chunks/chunk-NVVB2HJC.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},i=new e.Error().stack;i&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[i]="aa6b9997-a4c6-5bfb-8804-45b34afd9e01")}catch{}})();var m=["captured_redacted","captured_verbatim"],x=[{label:"home directory",pattern:/(?:\/home\/|\/Users\/)[^/\s"']+/u},{label:"GitHub token",pattern:/\b(?:gh[oprsu]_[A-Za-z0-9_]{20,})\b/u},{label:"npm token",pattern:/\bnpm_[A-Za-z0-9]{20,}\b/u},{label:"private key",pattern:/-----BEGIN (?:RSA |EC |OPENSSH )?PRIVATE KEY-----/u}];function n(e){return typeof e=="string"&&e.trim().length>0}function v(e,i){if(typeof i!="object"||i===null||Array.isArray(i))return[{boundary_id:e.id,kind:"invalid_fixture",detail:`${e.fixture_path} must contain a JSON object.`}];let r=i,t=[];r.boundary_id!==e.id&&t.push({boundary_id:e.id,kind:"fixture_boundary_mismatch",detail:`${e.fixture_path} names ${String(r.boundary_id)} instead of ${e.id}.`}),(r.version!==1||!m.includes(r.capture_source)||!n(r.capture_provenance)||!Array.isArray(r.redactions)||!r.redactions.every(n)||!("input"in r)||!("observed"in r))&&t.push({boundary_id:e.id,kind:"invalid_fixture",detail:`${e.fixture_path} lacks captured provenance, redaction metadata, input, or observed output.`});let d=JSON.stringify(i);for(let s of x)s.pattern.test(d)&&t.push({boundary_id:e.id,kind:"unsafe_fixture",detail:`${e.fixture_path} contains a possible ${s.label}.`});return t}function b(e,i){let r=Date.parse(e.waiver_expires_at),t=n(e.waiver_reason)&&n(e.waiver_owner)&&e.waiver_expires_at.endsWith("Z")&&c(e.waiver_expires_at)&&Number.isFinite(r);return{captured:0,waived:t&&r>=i?1:0,findings:t?r<i?[{boundary_id:e.id,kind:"expired_waiver",detail:`Boundary ${e.id} waiver expired at ${e.waiver_expires_at}.`}]:[]:[{boundary_id:e.id,kind:"invalid_waiver",detail:`Boundary ${e.id} waiver requires reason, owner, and an RFC 3339 UTC expiry.`}]}}function y(e,i,r){if(!n(e.id)||!n(e.producer)||!n(e.consumer)||!n(e.format))return{captured:0,waived:0,findings:[{boundary_id:n(e.id)?e.id:"unknown",kind:"invalid_boundary",detail:"Each boundary requires non-empty id, producer, consumer, and format."}]};if("fixture_path"in e){let t=i[e.fixture_path],d=n(e.fixture_path)&&e.fixture_path in i?v(e,t):[{boundary_id:e.id,kind:"missing_fixture",detail:`Boundary ${e.id} fixture ${String(e.fixture_path)} is missing.`}];return{captured:d.length===0?1:0,waived:0,findings:d}}return b(e,r)}function Ni(e,i,r=new Date){let t=[];if(e.version!==1||!n(e.inventory_scope)||!Array.isArray(e.boundaries))return{ok:!1,boundary_count:0,captured_count:0,waived_count:0,findings:[{boundary_id:"registry",kind:"invalid_registry",detail:"Boundary registry requires version 1, inventory_scope, and boundaries."}]};let d=new Set,s=0,p=0;for(let o of e.boundaries){if(typeof o!="object"||o===null||Array.isArray(o)){t.push({boundary_id:"unknown",kind:"invalid_boundary",detail:"Each boundary must be a JSON object."});continue}let a=o,u=n(a.id)?a.id:void 0;if(u!==void 0&&d.has(u)){t.push({boundary_id:u,kind:"duplicate_boundary",detail:`Boundary ${u} is inventoried more than once.`});continue}u!==void 0&&d.add(u);let f=y(a,i,r.getTime());s+=f.captured,p+=f.waived,t.push(...f.findings)}return t.sort((o,a)=>o.boundary_id!==a.boundary_id?o.boundary_id.localeCompare(a.boundary_id):o.kind.localeCompare(a.kind)),{ok:t.length===0,boundary_count:e.boundaries.length,captured_count:s,waived_count:p,findings:t}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},i=new e.Error().stack;i&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[i]="47924d35-d6ce-5507-adbf-c4c3cb25c18e")}catch{}})();export{wi as ASSURANCE_ACTIONS,gi as ASSURANCE_DECLARATION_KINDS,fe as ASSURANCE_DOCUMENT_VERSION,pe as ASSURANCE_GATE_TRIGGERS,ce as ASSURANCE_MEASUREMENT_SOURCE_KINDS,Ke as ASSURANCE_PRESET_IDS,de as AssuranceEvaluationRefusalError,oe as AssuranceMutationRefusalError,ae as AssuranceSourceResolutionError,m as BOUNDARY_FIXTURE_CAPTURE_SOURCES,z as CURRENT_HISTORY_HASH_ALGORITHM,B as DEFECT_ESCAPE_CLASSES,C as DEFECT_GATE_EVIDENCE_DISPOSITIONS,Ne as HISTORY_AUTHOR_ATTRIBUTION_BASELINE,F as HISTORY_HASH_ALGORITHMS,q as LEGACY_HISTORY_HASH_ALGORITHM,w as MAX_WORKFLOW_POLICIES,g as MAX_WORKFLOW_POLICY_TERMS,j as PM_HISTORY_ATTESTATION_CONTRACT,G as PM_MUTATION_ACTION_CONTRACTS,h as WORKFLOW_POLICY_ACTIONS,$e as WORKFLOW_POLICY_DOCUMENT_SCHEMA,Ie as WORKFLOW_POLICY_SCHEMA,si as _testOnlyHealthCommand,Ze as _testOnlySimilarity,xi as _testOnlyValidateCommand,Ci as _testOnlyWorkspacePosition,Me as acceptAssuranceProposals,Je as acknowledgeUnknownAuthorHistoryEvents,ze as acknowledgeUnknownAuthorHistoryEventsFromTransport,N as analyzeDefectChangeRisk,hi as analyzeDefectRecurrenceCoverage,He as analyzeDuplicateItems,Le as applyAssurancePreset,ci as applyClosureTimestampFix,_e as assuranceAssertionUpdateIsLoosening,D as buildDefectRecurrenceIndex,_i as buildLinkedFileRepairReport,ai as buildStatusRoleWarnings,Be as buildWorkflowCompletenessCheck,Oe as classifyHistoryAuthorEvent,Xe as createAssurancePreset,bi as createAssuranceWorkspaceContext,be as createEmptyAssuranceDocument,Ce as createLifecycleCompletenessPolicies,$ as createWorkflowPolicyEvaluator,Qe as deriveAssuranceProposals,fi as deriveClosureTimestamp,he as evaluateAssuranceAssertion,we as evaluateAssuranceGate,Ni as evaluateBoundaryFixtures,O as evaluateDefectGateEvidence,ye as evaluateMeasurement,V as evaluateMutationGuard,Ye as evaluateSimilarityGovernance,I as evaluateWorkflowPolicies,Si as exportAttestation,Ve as findDuplicateClusters,Ge as findSimilarItems,Bi as formatWorkspacePositionHuman,ke as getAssuranceDeclaration,X as getMutationActionContract,W as historyDigest,Ue as inspectHistoryAuthorStream,te as inspectStaleInProgressItems,di as inspectStatusRoleAssignments,Y as isMutationAction,L as jaccardSimilarity,ge as listAssuranceDeclarations,Te as listAssuranceVerdicts,ti as listInvalidProvenanceHistoryStreamIds,K as listMutationActions,se as normalizeAssuranceEvaluation,ue as normalizeAssuranceMutation,ri as normalizeInvalidHistoryProvenance,Q as normalizeSimilarityText,P as parseDefectChangeRiskRequest,yi as parseDefectRecurrenceCoverageRequest,U as parseDefectRecurrencePolicy,Ri as parseHistoryAttestation,qe as parseUnknownAuthorHistoryEventCoordinates,k as parseWorkflowPolicy,A as parseWorkflowPolicyDocument,je as planUnknownAuthorHistoryAcknowledgment,ee as prepareSimilarityText,mi as projectValidateCounts,ei as promoteAssuranceAssertion,Ae as putAssuranceDeclaration,Ee as putAssuranceDeclarationBundle,Z as readWorkflowPolicies,E as readWorkflowPolicyField,$i as readWorkspacePosition,Se as recordAssuranceVerdict,Re as removeAssuranceDeclaration,J as resolveHistoryHashAlgorithm,Fe as resolveUnknownAuthorAcknowledgmentSelector,ki as runAssuranceAction,Ai as runAssuranceDispatch,Ei as runGc,ui as runHealth,Ii as runHistoryAttest,oi as runHistoryMaintenance,l as runReindex,_ as runUpgrade,vi as runValidate,De as runWorkflowPolicyAction,pi as scanClosureTimestamps,ii as scanExtensionHostVersions,Pe as scanHistoryAuthorAttribution,H as scanMutationSecrets,ni as scanProvenanceResolverHealth,ne as scanStaleInProgressItems,li as scanStorageIntegrity,ie as scoreItemSimilarity,re as scorePreparedItemSimilarity,We as similarityAdvisoryWarnings,M as tokenizeSimilarityText,me as validateAssertionDefinition,ve as validateAssuranceDocument,xe as validateGateDefinition,le as validateMeasurementDefinition,Ti as verifyAttestation,S as workflowApprovalFingerprint,T as workflowPolicyApplies,R as workflowPolicyFingerprint};
1
+ import{$b as wi,Aa as Ue,Ba as Pe,Ca as je,Da as Fe,Ea as qe,F as Ie,Fa as ze,G as $e,Ga as Je,H as Be,I as Ce,J as De,Na as Ke,Oa as Xe,Pa as Le,Qa as Qe,Ra as Me,Sa as ei,Ta as ii,Ua as ri,Va as ti,Vb as mi,Wa as ni,Wb as xi,Xb as vi,Yb as bi,Zb as yi,_b as hi,a as oe,ac as gi,b as de,bc as ki,c as ae,cc as Ai,d as ue,dc as Ei,e as se,ec as _,f as fe,fc as Ri,g as pe,gc as Si,h as ce,hc as Ti,i as _e,ic as Ii,j as le,jc as $i,k as me,kc as Bi,l as xe,lb as oi,lc as Ci,m as ve,mc as l,n as be,o as ye,p as he,pb as di,q as we,qb as ai,r as ge,rb as ui,s as ke,sb as si,t as Ae,tb as fi,u as Ee,ub as pi,v as Re,vb as ci,w as Se,wb as _i,x as Te,xb as li,ya as Ne,za as Oe}from"./focused-chunks/chunk-H3BI4EDO.js";import"./focused-chunks/chunk-MK5AKKHK.js";import{h as j}from"./focused-chunks/chunk-NRHTXBTI.js";import{E as B,F as C,G as D,H as N,I as O,J as U,K as P}from"./focused-chunks/chunk-PMPFLA6X.js";import"./focused-chunks/chunk-XKH2FC5D.js";import{Aa as L,Ba as Q,Ca as M,Da as ee,Ea as ie,Fa as re,Ga as te,Ha as ne,qb as We,rb as Ze,sb as Ge,ta as G,tb as He,ua as H,ub as Ve,va as V,vb as Ye,wa as Y,xa as K,ya as X}from"./focused-chunks/chunk-25BBHWMH.js";import"./focused-chunks/chunk-O7MIBEMK.js";import"./focused-chunks/chunk-UIFVIE5F.js";import"./focused-chunks/chunk-HQPTDJLF.js";import{D as F,E as q,F as z,G as J,H as W,gb as Z}from"./focused-chunks/chunk-Q355NPLH.js";import"./focused-chunks/chunk-TLF6N56J.js";import"./focused-chunks/chunk-HFAW3FJQ.js";import{Pb as h,Qb as w,Rb as g,Sb as k,Tb as A,Ub as E,Ud as c,Vb as R,Wb as S,Xb as T,Yb as I,Zb as $}from"./focused-chunks/chunk-NVVB2HJC.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},i=new e.Error().stack;i&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[i]="aa6b9997-a4c6-5bfb-8804-45b34afd9e01")}catch{}})();var m=["captured_redacted","captured_verbatim"],x=[{label:"home directory",pattern:/(?:\/home\/|\/Users\/)[^/\s"']+/u},{label:"GitHub token",pattern:/\b(?:gh[oprsu]_[A-Za-z0-9_]{20,})\b/u},{label:"npm token",pattern:/\bnpm_[A-Za-z0-9]{20,}\b/u},{label:"private key",pattern:/-----BEGIN (?:RSA |EC |OPENSSH )?PRIVATE KEY-----/u}];function n(e){return typeof e=="string"&&e.trim().length>0}function v(e,i){if(typeof i!="object"||i===null||Array.isArray(i))return[{boundary_id:e.id,kind:"invalid_fixture",detail:`${e.fixture_path} must contain a JSON object.`}];let r=i,t=[];r.boundary_id!==e.id&&t.push({boundary_id:e.id,kind:"fixture_boundary_mismatch",detail:`${e.fixture_path} names ${String(r.boundary_id)} instead of ${e.id}.`}),(r.version!==1||!m.includes(r.capture_source)||!n(r.capture_provenance)||!Array.isArray(r.redactions)||!r.redactions.every(n)||!("input"in r)||!("observed"in r))&&t.push({boundary_id:e.id,kind:"invalid_fixture",detail:`${e.fixture_path} lacks captured provenance, redaction metadata, input, or observed output.`});let d=JSON.stringify(i);for(let s of x)s.pattern.test(d)&&t.push({boundary_id:e.id,kind:"unsafe_fixture",detail:`${e.fixture_path} contains a possible ${s.label}.`});return t}function b(e,i){let r=Date.parse(e.waiver_expires_at),t=n(e.waiver_reason)&&n(e.waiver_owner)&&e.waiver_expires_at.endsWith("Z")&&c(e.waiver_expires_at)&&Number.isFinite(r);return{captured:0,waived:t&&r>=i?1:0,findings:t?r<i?[{boundary_id:e.id,kind:"expired_waiver",detail:`Boundary ${e.id} waiver expired at ${e.waiver_expires_at}.`}]:[]:[{boundary_id:e.id,kind:"invalid_waiver",detail:`Boundary ${e.id} waiver requires reason, owner, and an RFC 3339 UTC expiry.`}]}}function y(e,i,r){if(!n(e.id)||!n(e.producer)||!n(e.consumer)||!n(e.format))return{captured:0,waived:0,findings:[{boundary_id:n(e.id)?e.id:"unknown",kind:"invalid_boundary",detail:"Each boundary requires non-empty id, producer, consumer, and format."}]};if("fixture_path"in e){let t=i[e.fixture_path],d=n(e.fixture_path)&&e.fixture_path in i?v(e,t):[{boundary_id:e.id,kind:"missing_fixture",detail:`Boundary ${e.id} fixture ${String(e.fixture_path)} is missing.`}];return{captured:d.length===0?1:0,waived:0,findings:d}}return b(e,r)}function Ni(e,i,r=new Date){let t=[];if(e.version!==1||!n(e.inventory_scope)||!Array.isArray(e.boundaries))return{ok:!1,boundary_count:0,captured_count:0,waived_count:0,findings:[{boundary_id:"registry",kind:"invalid_registry",detail:"Boundary registry requires version 1, inventory_scope, and boundaries."}]};let d=new Set,s=0,p=0;for(let o of e.boundaries){if(typeof o!="object"||o===null||Array.isArray(o)){t.push({boundary_id:"unknown",kind:"invalid_boundary",detail:"Each boundary must be a JSON object."});continue}let a=o,u=n(a.id)?a.id:void 0;if(u!==void 0&&d.has(u)){t.push({boundary_id:u,kind:"duplicate_boundary",detail:`Boundary ${u} is inventoried more than once.`});continue}u!==void 0&&d.add(u);let f=y(a,i,r.getTime());s+=f.captured,p+=f.waived,t.push(...f.findings)}return t.sort((o,a)=>o.boundary_id!==a.boundary_id?o.boundary_id.localeCompare(a.boundary_id):o.kind.localeCompare(a.kind)),{ok:t.length===0,boundary_count:e.boundaries.length,captured_count:s,waived_count:p,findings:t}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},i=new e.Error().stack;i&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[i]="47924d35-d6ce-5507-adbf-c4c3cb25c18e")}catch{}})();export{wi as ASSURANCE_ACTIONS,gi as ASSURANCE_DECLARATION_KINDS,fe as ASSURANCE_DOCUMENT_VERSION,pe as ASSURANCE_GATE_TRIGGERS,ce as ASSURANCE_MEASUREMENT_SOURCE_KINDS,Ke as ASSURANCE_PRESET_IDS,de as AssuranceEvaluationRefusalError,oe as AssuranceMutationRefusalError,ae as AssuranceSourceResolutionError,m as BOUNDARY_FIXTURE_CAPTURE_SOURCES,z as CURRENT_HISTORY_HASH_ALGORITHM,B as DEFECT_ESCAPE_CLASSES,C as DEFECT_GATE_EVIDENCE_DISPOSITIONS,Ne as HISTORY_AUTHOR_ATTRIBUTION_BASELINE,F as HISTORY_HASH_ALGORITHMS,q as LEGACY_HISTORY_HASH_ALGORITHM,w as MAX_WORKFLOW_POLICIES,g as MAX_WORKFLOW_POLICY_TERMS,j as PM_HISTORY_ATTESTATION_CONTRACT,G as PM_MUTATION_ACTION_CONTRACTS,h as WORKFLOW_POLICY_ACTIONS,$e as WORKFLOW_POLICY_DOCUMENT_SCHEMA,Ie as WORKFLOW_POLICY_SCHEMA,si as _testOnlyHealthCommand,Ze as _testOnlySimilarity,xi as _testOnlyValidateCommand,Ci as _testOnlyWorkspacePosition,Me as acceptAssuranceProposals,Je as acknowledgeUnknownAuthorHistoryEvents,ze as acknowledgeUnknownAuthorHistoryEventsFromTransport,N as analyzeDefectChangeRisk,hi as analyzeDefectRecurrenceCoverage,He as analyzeDuplicateItems,Le as applyAssurancePreset,ci as applyClosureTimestampFix,_e as assuranceAssertionUpdateIsLoosening,D as buildDefectRecurrenceIndex,_i as buildLinkedFileRepairReport,ai as buildStatusRoleWarnings,Be as buildWorkflowCompletenessCheck,Oe as classifyHistoryAuthorEvent,Xe as createAssurancePreset,bi as createAssuranceWorkspaceContext,be as createEmptyAssuranceDocument,Ce as createLifecycleCompletenessPolicies,$ as createWorkflowPolicyEvaluator,Qe as deriveAssuranceProposals,fi as deriveClosureTimestamp,he as evaluateAssuranceAssertion,we as evaluateAssuranceGate,Ni as evaluateBoundaryFixtures,O as evaluateDefectGateEvidence,ye as evaluateMeasurement,V as evaluateMutationGuard,Ye as evaluateSimilarityGovernance,I as evaluateWorkflowPolicies,Si as exportAttestation,Ve as findDuplicateClusters,Ge as findSimilarItems,Bi as formatWorkspacePositionHuman,ke as getAssuranceDeclaration,X as getMutationActionContract,W as historyDigest,Ue as inspectHistoryAuthorStream,te as inspectStaleInProgressItems,di as inspectStatusRoleAssignments,Y as isMutationAction,L as jaccardSimilarity,ge as listAssuranceDeclarations,Te as listAssuranceVerdicts,ti as listInvalidProvenanceHistoryStreamIds,K as listMutationActions,se as normalizeAssuranceEvaluation,ue as normalizeAssuranceMutation,ri as normalizeInvalidHistoryProvenance,Q as normalizeSimilarityText,P as parseDefectChangeRiskRequest,yi as parseDefectRecurrenceCoverageRequest,U as parseDefectRecurrencePolicy,Ri as parseHistoryAttestation,qe as parseUnknownAuthorHistoryEventCoordinates,k as parseWorkflowPolicy,A as parseWorkflowPolicyDocument,je as planUnknownAuthorHistoryAcknowledgment,ee as prepareSimilarityText,mi as projectValidateCounts,ei as promoteAssuranceAssertion,Ae as putAssuranceDeclaration,Ee as putAssuranceDeclarationBundle,Z as readWorkflowPolicies,E as readWorkflowPolicyField,$i as readWorkspacePosition,Se as recordAssuranceVerdict,Re as removeAssuranceDeclaration,J as resolveHistoryHashAlgorithm,Fe as resolveUnknownAuthorAcknowledgmentSelector,ki as runAssuranceAction,Ai as runAssuranceDispatch,Ei as runGc,ui as runHealth,Ii as runHistoryAttest,oi as runHistoryMaintenance,l as runReindex,_ as runUpgrade,vi as runValidate,De as runWorkflowPolicyAction,pi as scanClosureTimestamps,ii as scanExtensionHostVersions,Pe as scanHistoryAuthorAttribution,H as scanMutationSecrets,ni as scanProvenanceResolverHealth,ne as scanStaleInProgressItems,li as scanStorageIntegrity,ie as scoreItemSimilarity,re as scorePreparedItemSimilarity,We as similarityAdvisoryWarnings,M as tokenizeSimilarityText,me as validateAssertionDefinition,ve as validateAssuranceDocument,xe as validateGateDefinition,le as validateMeasurementDefinition,Ti as verifyAttestation,S as workflowApprovalFingerprint,T as workflowPolicyApplies,R as workflowPolicyFingerprint};
2
2
  //# sourceMappingURL=sdk-governance.js.map