monora-ai 2.1.0 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/README.md +333 -159
  2. package/dist/aims_governance.d.ts +238 -0
  3. package/dist/aims_governance.d.ts.map +1 -0
  4. package/dist/aims_governance.js +922 -0
  5. package/dist/alerts.d.ts +16 -0
  6. package/dist/alerts.d.ts.map +1 -1
  7. package/dist/alerts.js +16 -0
  8. package/dist/api.d.ts +6 -0
  9. package/dist/api.d.ts.map +1 -1
  10. package/dist/api.js +6 -0
  11. package/dist/assessment.d.ts +85 -0
  12. package/dist/assessment.d.ts.map +1 -1
  13. package/dist/assessment.js +506 -13
  14. package/dist/attribution.d.ts +44 -3
  15. package/dist/attribution.d.ts.map +1 -1
  16. package/dist/attribution.js +197 -10
  17. package/dist/autodetect.d.ts +68 -0
  18. package/dist/autodetect.d.ts.map +1 -1
  19. package/dist/autodetect.js +639 -0
  20. package/dist/bias.d.ts +130 -0
  21. package/dist/bias.d.ts.map +1 -0
  22. package/dist/bias.js +223 -0
  23. package/dist/cli/diagnostics.d.ts +5 -1
  24. package/dist/cli/diagnostics.d.ts.map +1 -1
  25. package/dist/cli/diagnostics.js +23 -6
  26. package/dist/cli/doctor.d.ts +25 -0
  27. package/dist/cli/doctor.d.ts.map +1 -0
  28. package/dist/cli/doctor.js +381 -0
  29. package/dist/cli/fix.d.ts +16 -0
  30. package/dist/cli/fix.d.ts.map +1 -0
  31. package/dist/cli/fix.js +284 -0
  32. package/dist/cli/init.d.ts +57 -0
  33. package/dist/cli/init.d.ts.map +1 -0
  34. package/dist/cli/init.js +205 -0
  35. package/dist/cli.js +1550 -176
  36. package/dist/complianceTargets.d.ts +111 -0
  37. package/dist/complianceTargets.d.ts.map +1 -0
  38. package/dist/complianceTargets.js +521 -0
  39. package/dist/config.d.ts +261 -16
  40. package/dist/config.d.ts.map +1 -1
  41. package/dist/config.js +381 -32
  42. package/dist/config_migrations.d.ts.map +1 -1
  43. package/dist/config_migrations.js +38 -1
  44. package/dist/config_schema.d.ts +2490 -1035
  45. package/dist/config_schema.d.ts.map +1 -1
  46. package/dist/config_schema.js +233 -64
  47. package/dist/context.d.ts +34 -0
  48. package/dist/context.d.ts.map +1 -1
  49. package/dist/context.js +118 -7
  50. package/dist/control_backbone.d.ts +122 -0
  51. package/dist/control_backbone.d.ts.map +1 -0
  52. package/dist/control_backbone.js +698 -0
  53. package/dist/data-governance.d.ts +187 -0
  54. package/dist/data-governance.d.ts.map +1 -0
  55. package/dist/data-governance.js +424 -0
  56. package/dist/dataResidency.d.ts +44 -0
  57. package/dist/dataResidency.d.ts.map +1 -0
  58. package/dist/dataResidency.js +203 -0
  59. package/dist/dispatcher.d.ts.map +1 -1
  60. package/dist/dispatcher.js +17 -5
  61. package/dist/evidence_store.d.ts +103 -0
  62. package/dist/evidence_store.d.ts.map +1 -0
  63. package/dist/evidence_store.js +459 -0
  64. package/dist/executiveSummary.d.ts +15 -0
  65. package/dist/executiveSummary.d.ts.map +1 -1
  66. package/dist/executiveSummary.js +135 -22
  67. package/dist/identity.d.ts +143 -0
  68. package/dist/identity.d.ts.map +1 -0
  69. package/dist/identity.js +231 -0
  70. package/dist/impact-assessment.d.ts +350 -0
  71. package/dist/impact-assessment.d.ts.map +1 -0
  72. package/dist/impact-assessment.js +580 -0
  73. package/dist/index.d.ts +20 -4
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +247 -5
  76. package/dist/instrumentation.d.ts +1 -1
  77. package/dist/instrumentation.d.ts.map +1 -1
  78. package/dist/instrumentation.js +123 -22
  79. package/dist/integrations/anthropic.d.ts +3 -0
  80. package/dist/integrations/anthropic.d.ts.map +1 -1
  81. package/dist/integrations/anthropic.js +282 -80
  82. package/dist/integrations/governance.d.ts +33 -0
  83. package/dist/integrations/governance.d.ts.map +1 -0
  84. package/dist/integrations/governance.js +208 -0
  85. package/dist/integrations/langchain.d.ts +4 -0
  86. package/dist/integrations/langchain.d.ts.map +1 -1
  87. package/dist/integrations/langchain.js +362 -142
  88. package/dist/integrations/openai.d.ts +9 -0
  89. package/dist/integrations/openai.d.ts.map +1 -1
  90. package/dist/integrations/openai.js +673 -73
  91. package/dist/iso42001_consolidation.d.ts +16 -0
  92. package/dist/iso42001_consolidation.d.ts.map +1 -0
  93. package/dist/iso42001_consolidation.js +413 -0
  94. package/dist/iso42001_workflows.d.ts +263 -0
  95. package/dist/iso42001_workflows.d.ts.map +1 -0
  96. package/dist/iso42001_workflows.js +781 -0
  97. package/dist/lifecycle.d.ts +299 -0
  98. package/dist/lifecycle.d.ts.map +1 -0
  99. package/dist/lifecycle.js +624 -0
  100. package/dist/lineage.d.ts +2 -2
  101. package/dist/lineage.d.ts.map +1 -1
  102. package/dist/lineage.js +9 -16
  103. package/dist/middleware/express.d.ts.map +1 -1
  104. package/dist/middleware/express.js +18 -3
  105. package/dist/middleware/nextjs.js +2 -2
  106. package/dist/model.d.ts +143 -0
  107. package/dist/model.d.ts.map +1 -0
  108. package/dist/model.js +371 -0
  109. package/dist/onboarding.d.ts +42 -0
  110. package/dist/onboarding.d.ts.map +1 -0
  111. package/dist/onboarding.js +1022 -0
  112. package/dist/oversight.d.ts +264 -0
  113. package/dist/oversight.d.ts.map +1 -0
  114. package/dist/oversight.js +497 -0
  115. package/dist/presets.js +7 -7
  116. package/dist/quotas.d.ts +171 -0
  117. package/dist/quotas.d.ts.map +1 -0
  118. package/dist/quotas.js +259 -0
  119. package/dist/register.d.ts +13 -0
  120. package/dist/register.d.ts.map +1 -0
  121. package/dist/register.js +99 -0
  122. package/dist/registry.d.ts +1 -0
  123. package/dist/registry.d.ts.map +1 -1
  124. package/dist/registry.js +7 -0
  125. package/dist/registryData.json +43 -6
  126. package/dist/report.d.ts +2 -1
  127. package/dist/report.d.ts.map +1 -1
  128. package/dist/report.js +189 -2
  129. package/dist/reporting.d.ts +125 -0
  130. package/dist/reporting.d.ts.map +1 -1
  131. package/dist/reporting.js +192 -2
  132. package/dist/resources.d.ts +285 -0
  133. package/dist/resources.d.ts.map +1 -0
  134. package/dist/resources.js +643 -0
  135. package/dist/risk.d.ts +120 -0
  136. package/dist/risk.d.ts.map +1 -0
  137. package/dist/risk.js +220 -0
  138. package/dist/runtime.d.ts +73 -0
  139. package/dist/runtime.d.ts.map +1 -1
  140. package/dist/runtime.js +415 -18
  141. package/dist/schemaInference.d.ts +92 -0
  142. package/dist/schemaInference.d.ts.map +1 -0
  143. package/dist/schemaInference.js +466 -0
  144. package/dist/schema_validation.js +2 -2
  145. package/dist/schemas/config.schema.json +118 -4
  146. package/dist/security_report.js +4 -4
  147. package/dist/signing.d.ts +1 -1
  148. package/dist/signing.d.ts.map +1 -1
  149. package/dist/signing.js +4 -0
  150. package/dist/sinks/file.d.ts +19 -1
  151. package/dist/sinks/file.d.ts.map +1 -1
  152. package/dist/sinks/file.js +82 -13
  153. package/dist/sinks/https.d.ts +10 -0
  154. package/dist/sinks/https.d.ts.map +1 -1
  155. package/dist/sinks/https.js +76 -16
  156. package/dist/sinks/stdout.d.ts +1 -0
  157. package/dist/sinks/stdout.d.ts.map +1 -1
  158. package/dist/sinks/stdout.js +12 -1
  159. package/dist/spec.d.ts +159 -0
  160. package/dist/spec.d.ts.map +1 -0
  161. package/dist/spec.js +391 -0
  162. package/dist/stakeholders.d.ts +199 -0
  163. package/dist/stakeholders.d.ts.map +1 -0
  164. package/dist/stakeholders.js +398 -0
  165. package/dist/standards.d.ts.map +1 -1
  166. package/dist/standards.js +160 -2
  167. package/dist/standards_ingest.d.ts.map +1 -1
  168. package/dist/standards_ingest.js +1 -4
  169. package/dist/telemetry.d.ts +16 -2
  170. package/dist/telemetry.d.ts.map +1 -1
  171. package/dist/telemetry.js +77 -14
  172. package/dist/templates/controls/iso42001_control_catalog.json +1443 -0
  173. package/dist/traced_emitter.d.ts.map +1 -1
  174. package/dist/traced_emitter.js +19 -9
  175. package/dist/trust_package.d.ts +19 -1
  176. package/dist/trust_package.d.ts.map +1 -1
  177. package/dist/trust_package.js +89 -2
  178. package/dist/verify.d.ts.map +1 -1
  179. package/dist/verify.js +9 -2
  180. package/dist/wal.d.ts.map +1 -1
  181. package/dist/wal.js +2 -1
  182. package/package.json +14 -1
  183. package/scripts/postinstall.js +105 -210
  184. package/templates/controls/iso42001_control_catalog.json +1443 -0
@@ -1 +1 @@
1
- {"version":3,"file":"traced_emitter.d.ts","sourceRoot":"","sources":["../src/traced_emitter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAQtC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,gBAAgB,CAAuE;IAC/F,OAAO,CAAC,gBAAgB,CAAuD;IAE/E,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAWpE;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAI7E;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAatE;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAWrE;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAIhF;;OAEG;IACH,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAWjD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAWjF;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;CAWtF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CA8I5E"}
1
+ {"version":3,"file":"traced_emitter.d.ts","sourceRoot":"","sources":["../src/traced_emitter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAQtC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,gBAAgB,CAAuE;IAC/F,OAAO,CAAC,gBAAgB,CAAuD;IAE/E,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAWpE;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAI7E;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAatE;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAWrE;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAIhF;;OAEG;IACH,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAWjD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAWjF;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;CAWtF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAuJ5E"}
@@ -187,10 +187,8 @@ exports.TracedEventEmitter = TracedEventEmitter;
187
187
  */
188
188
  function wrapEmitterWithContext(emitter) {
189
189
  const originalOn = emitter.on.bind(emitter);
190
- const originalOnce = emitter.once.bind(emitter);
191
190
  const originalAddListener = emitter.addListener.bind(emitter);
192
191
  const originalPrependListener = emitter.prependListener.bind(emitter);
193
- const originalPrependOnceListener = emitter.prependOnceListener.bind(emitter);
194
192
  const originalRemoveListener = emitter.removeListener.bind(emitter);
195
193
  const originalOff = emitter.off ? emitter.off.bind(emitter) : undefined;
196
194
  const originalRemoveAllListeners = emitter.removeAllListeners.bind(emitter);
@@ -223,6 +221,12 @@ function wrapEmitterWithContext(emitter) {
223
221
  return bound(...args);
224
222
  }
225
223
  finally {
224
+ if (originalOff) {
225
+ originalOff(event, wrapped);
226
+ }
227
+ else {
228
+ originalRemoveListener(event, wrapped);
229
+ }
226
230
  untrackListener(event, listener);
227
231
  }
228
232
  };
@@ -239,13 +243,13 @@ function wrapEmitterWithContext(emitter) {
239
243
  return originalAddListener(event, bindListener(event, listener, false));
240
244
  };
241
245
  emitter.once = function (event, listener) {
242
- return originalOnce(event, bindListener(event, listener, true));
246
+ return originalOn(event, bindListener(event, listener, true));
243
247
  };
244
248
  emitter.prependListener = function (event, listener) {
245
249
  return originalPrependListener(event, bindListener(event, listener, false));
246
250
  };
247
251
  emitter.prependOnceListener = function (event, listener) {
248
- return originalPrependOnceListener(event, bindListener(event, listener, true));
252
+ return originalPrependListener(event, bindListener(event, listener, true));
249
253
  };
250
254
  emitter.removeListener = function (event, listener) {
251
255
  const bound = boundListeners.get(listener);
@@ -258,12 +262,18 @@ function wrapEmitterWithContext(emitter) {
258
262
  };
259
263
  emitter.off = function (event, listener) {
260
264
  const bound = boundListeners.get(listener);
261
- const target = bound || listener;
262
- if (originalOff) {
263
- originalOff(event, target);
265
+ const targets = new Set();
266
+ targets.add(listener);
267
+ if (bound) {
268
+ targets.add(bound);
264
269
  }
265
- else {
266
- originalRemoveListener(event, target);
270
+ for (const target of targets) {
271
+ if (originalOff) {
272
+ originalOff(event, target);
273
+ }
274
+ else {
275
+ originalRemoveListener(event, target);
276
+ }
267
277
  }
268
278
  if (bound) {
269
279
  untrackListener(event, listener);
@@ -10,12 +10,30 @@ export interface TrustPackage {
10
10
  hash_chain_proof: Record<string, any>;
11
11
  config_snapshot: Record<string, any>;
12
12
  export_manifest: Record<string, any>;
13
+ evidence_manifest?: Record<string, any>;
14
+ control_coverage?: Record<string, any>;
13
15
  audit_metadata?: Record<string, any>;
14
16
  project_registration?: Record<string, any>;
15
17
  gpg_signature: string | null;
16
18
  gpg_signature_metadata?: Record<string, any>;
17
19
  }
18
- export declare function buildTrustPackage(traceId: string, events: Array<Record<string, any>>, config: MonoraConfig): TrustPackage;
20
+ export interface TrustPackageBuildOptions {
21
+ evidenceManifest?: Record<string, any>;
22
+ evidenceManifestPath?: string;
23
+ evidenceManifestAuto?: boolean;
24
+ evidenceManifestStandard?: string;
25
+ evidenceManifestIncludeLineage?: boolean;
26
+ evidenceManifestIncludeHashChain?: boolean;
27
+ evidenceManifestIncludeWorkflowState?: boolean;
28
+ evidenceManifestIncludeAimsState?: boolean;
29
+ controlCatalog?: Record<string, any>;
30
+ controlCatalogPath?: string;
31
+ controlWorkflowState?: Record<string, any>;
32
+ controlWorkflowStatePath?: string;
33
+ controlCoverageTarget?: number;
34
+ controlCoveragePath?: string;
35
+ }
36
+ export declare function buildTrustPackage(traceId: string, events: Array<Record<string, any>>, config: MonoraConfig, options?: TrustPackageBuildOptions): TrustPackage;
19
37
  export declare function applyGpgSignature(trustPackage: TrustPackage, options?: {
20
38
  gpgKey?: string;
21
39
  gpgHome?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"trust_package.d.ts","sourceRoot":"","sources":["../src/trust_package.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAMxC,MAAM,WAAW,YAAY;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9C;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAClC,MAAM,EAAE,YAAY,GACnB,YAAY,CA4Bd;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,YAAY,CAQd;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAOtF;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAClC,OAAO,EAAE,MAAM,GACd,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAS5B"}
1
+ {"version":3,"file":"trust_package.d.ts","sourceRoot":"","sources":["../src/trust_package.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAQxC,MAAM,WAAW,YAAY;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAClC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,wBAAwB,GACjC,YAAY,CA2Fd;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,YAAY,CAQd;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAOtF;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAClC,OAAO,EAAE,MAAM,GACd,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAS5B"}
@@ -44,13 +44,15 @@ const fs = __importStar(require("fs"));
44
44
  const path = __importStar(require("path"));
45
45
  const attestation_1 = require("./attestation");
46
46
  const attribution_1 = require("./attribution");
47
+ const control_backbone_1 = require("./control_backbone");
48
+ const evidence_store_1 = require("./evidence_store");
47
49
  const report_1 = require("./report");
48
50
  const security_report_1 = require("./security_report");
49
51
  const verify_1 = require("./verify");
50
52
  const reporting_1 = require("./reporting");
51
- function buildTrustPackage(traceId, events, config) {
53
+ function buildTrustPackage(traceId, events, config, options) {
52
54
  const traceEvents = filterTraceEvents(events, traceId);
53
- const complianceReport = (0, report_1.buildReport)(traceEvents, config.policies || {});
55
+ const complianceReport = (0, report_1.buildReport)(traceEvents, config.policies || {}, config.registry);
54
56
  const configSnapshot = (0, security_report_1.buildConfigSnapshot)(config || {});
55
57
  const hashChainProof = buildHashChainProof(traceEvents, config || {}, traceId);
56
58
  const exportManifest = buildExportManifest(traceEvents, config || {}, traceId);
@@ -72,6 +74,61 @@ function buildTrustPackage(traceId, events, config) {
72
74
  if (registration) {
73
75
  trustPackage.project_registration = { ...registration };
74
76
  }
77
+ let evidenceManifest = loadEvidenceManifest(options);
78
+ if (!evidenceManifest && options?.evidenceManifestAuto) {
79
+ evidenceManifest = (0, evidence_store_1.buildRuntimeEvidenceManifest)({
80
+ standard: options.evidenceManifestStandard || 'ISO42001',
81
+ includeLineage: options.evidenceManifestIncludeLineage !== false,
82
+ includeHashChain: options.evidenceManifestIncludeHashChain !== false,
83
+ includeControlWorkflowState: options.evidenceManifestIncludeWorkflowState !== false,
84
+ includeAimsGovernanceState: options.evidenceManifestIncludeAimsState !== false,
85
+ controlCatalog: options.controlCatalog || null,
86
+ });
87
+ }
88
+ const workflowState = loadWorkflowState(options);
89
+ const shouldGenerateCoverage = Boolean(options?.controlCatalog) ||
90
+ Boolean(options?.controlCatalogPath) ||
91
+ Boolean(workflowState) ||
92
+ Boolean(evidenceManifest) ||
93
+ Boolean(options?.controlCoveragePath);
94
+ if (shouldGenerateCoverage) {
95
+ let catalog = options?.controlCatalog || null;
96
+ if (!catalog && options?.controlCatalogPath) {
97
+ try {
98
+ catalog = JSON.parse(fs.readFileSync(options.controlCatalogPath, 'utf-8'));
99
+ }
100
+ catch {
101
+ catalog = null;
102
+ }
103
+ }
104
+ if (!catalog) {
105
+ try {
106
+ catalog = (0, control_backbone_1.loadDefaultIso42001Catalog)();
107
+ }
108
+ catch (_err) {
109
+ catalog = null;
110
+ }
111
+ }
112
+ if (catalog) {
113
+ const coverage = (0, control_backbone_1.generateControlCoverageReport)({
114
+ catalog,
115
+ evidenceItems: evidenceManifest?.evidence_items
116
+ || workflowState?.evidence_items,
117
+ workflows: workflowState?.workflows,
118
+ targetCoverage: typeof options?.controlCoverageTarget === 'number'
119
+ ? options.controlCoverageTarget
120
+ : 0.9,
121
+ });
122
+ trustPackage.control_coverage = coverage;
123
+ if (options?.controlCoveragePath) {
124
+ fs.mkdirSync(path.dirname(options.controlCoveragePath), { recursive: true });
125
+ fs.writeFileSync(options.controlCoveragePath, JSON.stringify(coverage, null, 2), 'utf-8');
126
+ }
127
+ }
128
+ }
129
+ if (evidenceManifest) {
130
+ trustPackage.evidence_manifest = evidenceManifest;
131
+ }
75
132
  return trustPackage;
76
133
  }
77
134
  function applyGpgSignature(trustPackage, options) {
@@ -166,3 +223,33 @@ function attachSignature(trustPackage, signature) {
166
223
  },
167
224
  };
168
225
  }
226
+ function loadEvidenceManifest(options) {
227
+ if (options?.evidenceManifest && typeof options.evidenceManifest === 'object') {
228
+ return options.evidenceManifest;
229
+ }
230
+ if (options?.evidenceManifestPath) {
231
+ try {
232
+ return JSON.parse(fs.readFileSync(options.evidenceManifestPath, 'utf-8'));
233
+ }
234
+ catch (error) {
235
+ const message = error instanceof Error ? error.message : String(error);
236
+ throw new Error(`loadEvidenceManifest failed to parse ${options.evidenceManifestPath}: ${message}`);
237
+ }
238
+ }
239
+ return null;
240
+ }
241
+ function loadWorkflowState(options) {
242
+ if (options?.controlWorkflowState && typeof options.controlWorkflowState === 'object') {
243
+ return options.controlWorkflowState;
244
+ }
245
+ if (options?.controlWorkflowStatePath) {
246
+ try {
247
+ return JSON.parse(fs.readFileSync(options.controlWorkflowStatePath, 'utf-8'));
248
+ }
249
+ catch (error) {
250
+ const message = error instanceof Error ? error.message : String(error);
251
+ throw new Error(`loadWorkflowState failed to parse ${options.controlWorkflowStatePath}: ${message}`);
252
+ }
253
+ }
254
+ return null;
255
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CA2DnE;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACjC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,CA4C1B;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAClC,OAAO,EAAE,MAAM,GACd,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,CAgB1B;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACjC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CA+C5B;AA0BD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACjC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAkD5B;AAgBD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mBAAmB,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC3C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACjC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,CAoBtC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAO9E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAEhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAkC1D"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CA2DnE;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACjC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,CA4C1B;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAClC,OAAO,EAAE,MAAM,GACd,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,CAgB1B;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACjC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CA+C5B;AA0BD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACjC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAkD5B;AAgBD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mBAAmB,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC3C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GACjC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,CA6BtC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAO9E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAEhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAkC1D"}
package/dist/verify.js CHANGED
@@ -288,8 +288,15 @@ function verifyChainWithProof(events) {
288
288
  };
289
289
  // Always compute Merkle root for chains with > 1 event
290
290
  if (events.length > 1) {
291
- const hashes = events.map((e) => e.event_hash || '');
292
- proofData.merkle_root = computeMerkleRoot(hashes);
291
+ const hashes = events
292
+ .map((event) => event.event_hash)
293
+ .filter((hash) => typeof hash === 'string' && hash.length > 0);
294
+ if (hashes.length !== events.length) {
295
+ throw new ChainVerificationError('Missing event_hash values; cannot compute Merkle root.');
296
+ }
297
+ if (hashes.length > 1) {
298
+ proofData.merkle_root = computeMerkleRoot(hashes);
299
+ }
293
300
  }
294
301
  return [isValid, error, proofData];
295
302
  }
package/dist/wal.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wal.d.ts","sourceRoot":"","sources":["../src/wal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,eAAe,CAAK;gBAEhB,MAAM,GAAE,SAAc;IAgBlC,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,iBAAiB;IAyBzB;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAgBzC;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAazB,OAAO,CAAC,WAAW;IAcnB;;;;OAIG;IACH,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA4BrC,OAAO,CAAE,cAAc;IAgCvB;;;;OAIG;IACH,eAAe,IAAI,MAAM;IA4CzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,qBAAqB;CAkC9B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,aAAa,CAE9E"}
1
+ {"version":3,"file":"wal.d.ts","sourceRoot":"","sources":["../src/wal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,eAAe,CAAK;gBAEhB,MAAM,GAAE,SAAc;IAgBlC,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,iBAAiB;IAyBzB;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAgBzC;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAazB,OAAO,CAAC,WAAW;IAcnB;;;;OAIG;IACH,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA4BrC,OAAO,CAAE,cAAc;IAgCvB;;;;OAIG;IACH,eAAe,IAAI,MAAM;IA4CzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,qBAAqB;CAkC9B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,aAAa,CAE9E"}
package/dist/wal.js CHANGED
@@ -96,7 +96,8 @@ class WriteAheadLog {
96
96
  if (this.currentFilePath === null) {
97
97
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
98
98
  const serviceName = process.env.MONORA_SERVICE_NAME || 'monora';
99
- this.currentFilePath = path.join(this.config.path, `${serviceName}_${timestamp}.wal`);
99
+ const uniqueSuffix = `${process.pid}_${process.hrtime.bigint().toString()}`;
100
+ this.currentFilePath = path.join(this.config.path, `${serviceName}_${timestamp}_${uniqueSuffix}.wal`);
100
101
  }
101
102
  return this.currentFilePath;
102
103
  }
package/package.json CHANGED
@@ -1,9 +1,21 @@
1
1
  {
2
2
  "name": "monora-ai",
3
- "version": "2.1.0",
3
+ "version": "2.1.3",
4
4
  "description": "Lightweight governance and trace SDK for AI systems",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "require": "./dist/index.js",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./register": {
14
+ "types": "./dist/register.d.ts",
15
+ "require": "./dist/register.js",
16
+ "import": "./dist/register.js"
17
+ }
18
+ },
7
19
  "bin": {
8
20
  "monora": "dist/cli.js"
9
21
  },
@@ -54,6 +66,7 @@
54
66
  "ajv": "^8.12.0",
55
67
  "axios": "^1.7.9",
56
68
  "js-yaml": "^4.1.1",
69
+ "minimatch": "^9.0.0",
57
70
  "zod": "^3.23.0"
58
71
  }
59
72
  }