monora-ai 2.0.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 (202) hide show
  1. package/README.md +441 -150
  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 +269 -0
  12. package/dist/assessment.d.ts.map +1 -0
  13. package/dist/assessment.js +1232 -0
  14. package/dist/attestation.js +23 -1
  15. package/dist/attribution.d.ts +349 -0
  16. package/dist/attribution.d.ts.map +1 -0
  17. package/dist/attribution.js +987 -0
  18. package/dist/autodetect.d.ts +69 -1
  19. package/dist/autodetect.d.ts.map +1 -1
  20. package/dist/autodetect.js +644 -1
  21. package/dist/bias.d.ts +130 -0
  22. package/dist/bias.d.ts.map +1 -0
  23. package/dist/bias.js +223 -0
  24. package/dist/circuit_breaker.js +3 -3
  25. package/dist/cli/diagnostics.d.ts +5 -1
  26. package/dist/cli/diagnostics.d.ts.map +1 -1
  27. package/dist/cli/diagnostics.js +31 -8
  28. package/dist/cli/doctor.d.ts +25 -0
  29. package/dist/cli/doctor.d.ts.map +1 -0
  30. package/dist/cli/doctor.js +381 -0
  31. package/dist/cli/fix.d.ts +16 -0
  32. package/dist/cli/fix.d.ts.map +1 -0
  33. package/dist/cli/fix.js +284 -0
  34. package/dist/cli/init.d.ts +57 -0
  35. package/dist/cli/init.d.ts.map +1 -0
  36. package/dist/cli/init.js +205 -0
  37. package/dist/cli.js +1611 -126
  38. package/dist/complianceTargets.d.ts +111 -0
  39. package/dist/complianceTargets.d.ts.map +1 -0
  40. package/dist/complianceTargets.js +521 -0
  41. package/dist/config.d.ts +301 -17
  42. package/dist/config.d.ts.map +1 -1
  43. package/dist/config.js +428 -36
  44. package/dist/config_migrations.d.ts +41 -0
  45. package/dist/config_migrations.d.ts.map +1 -1
  46. package/dist/config_migrations.js +205 -0
  47. package/dist/config_schema.d.ts +2900 -731
  48. package/dist/config_schema.d.ts.map +1 -1
  49. package/dist/config_schema.js +257 -55
  50. package/dist/context.d.ts +34 -0
  51. package/dist/context.d.ts.map +1 -1
  52. package/dist/context.js +118 -7
  53. package/dist/control_backbone.d.ts +122 -0
  54. package/dist/control_backbone.d.ts.map +1 -0
  55. package/dist/control_backbone.js +698 -0
  56. package/dist/data-governance.d.ts +187 -0
  57. package/dist/data-governance.d.ts.map +1 -0
  58. package/dist/data-governance.js +424 -0
  59. package/dist/dataResidency.d.ts +44 -0
  60. package/dist/dataResidency.d.ts.map +1 -0
  61. package/dist/dataResidency.js +203 -0
  62. package/dist/dispatcher.d.ts +32 -0
  63. package/dist/dispatcher.d.ts.map +1 -1
  64. package/dist/dispatcher.js +91 -4
  65. package/dist/events.d.ts.map +1 -1
  66. package/dist/events.js +38 -0
  67. package/dist/evidence_store.d.ts +103 -0
  68. package/dist/evidence_store.d.ts.map +1 -0
  69. package/dist/evidence_store.js +459 -0
  70. package/dist/executiveSummary.d.ts +65 -8
  71. package/dist/executiveSummary.d.ts.map +1 -1
  72. package/dist/executiveSummary.js +289 -26
  73. package/dist/identity.d.ts +143 -0
  74. package/dist/identity.d.ts.map +1 -0
  75. package/dist/identity.js +231 -0
  76. package/dist/impact-assessment.d.ts +350 -0
  77. package/dist/impact-assessment.d.ts.map +1 -0
  78. package/dist/impact-assessment.js +580 -0
  79. package/dist/index.d.ts +25 -5
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +300 -4
  82. package/dist/instrumentation.d.ts +1 -1
  83. package/dist/instrumentation.d.ts.map +1 -1
  84. package/dist/instrumentation.js +243 -27
  85. package/dist/integrations/anthropic.d.ts +3 -0
  86. package/dist/integrations/anthropic.d.ts.map +1 -1
  87. package/dist/integrations/anthropic.js +284 -79
  88. package/dist/integrations/governance.d.ts +33 -0
  89. package/dist/integrations/governance.d.ts.map +1 -0
  90. package/dist/integrations/governance.js +208 -0
  91. package/dist/integrations/langchain.d.ts +7 -0
  92. package/dist/integrations/langchain.d.ts.map +1 -1
  93. package/dist/integrations/langchain.js +387 -143
  94. package/dist/integrations/openai.d.ts +9 -0
  95. package/dist/integrations/openai.d.ts.map +1 -1
  96. package/dist/integrations/openai.js +673 -73
  97. package/dist/iso42001_consolidation.d.ts +16 -0
  98. package/dist/iso42001_consolidation.d.ts.map +1 -0
  99. package/dist/iso42001_consolidation.js +413 -0
  100. package/dist/iso42001_workflows.d.ts +263 -0
  101. package/dist/iso42001_workflows.d.ts.map +1 -0
  102. package/dist/iso42001_workflows.js +781 -0
  103. package/dist/lifecycle.d.ts +299 -0
  104. package/dist/lifecycle.d.ts.map +1 -0
  105. package/dist/lifecycle.js +624 -0
  106. package/dist/lineage.d.ts +2 -2
  107. package/dist/lineage.d.ts.map +1 -1
  108. package/dist/lineage.js +12 -17
  109. package/dist/middleware/express.d.ts.map +1 -1
  110. package/dist/middleware/express.js +33 -3
  111. package/dist/middleware/nextjs.d.ts.map +1 -1
  112. package/dist/middleware/nextjs.js +42 -68
  113. package/dist/model.d.ts +143 -0
  114. package/dist/model.d.ts.map +1 -0
  115. package/dist/model.js +371 -0
  116. package/dist/onboarding.d.ts +42 -0
  117. package/dist/onboarding.d.ts.map +1 -0
  118. package/dist/onboarding.js +1022 -0
  119. package/dist/oversight.d.ts +264 -0
  120. package/dist/oversight.d.ts.map +1 -0
  121. package/dist/oversight.js +497 -0
  122. package/dist/pdf_report.d.ts.map +1 -1
  123. package/dist/pdf_report.js +42 -21
  124. package/dist/presets.d.ts +88 -0
  125. package/dist/presets.d.ts.map +1 -0
  126. package/dist/presets.js +520 -0
  127. package/dist/propagation.d.ts.map +1 -1
  128. package/dist/propagation.js +34 -2
  129. package/dist/quotas.d.ts +171 -0
  130. package/dist/quotas.d.ts.map +1 -0
  131. package/dist/quotas.js +259 -0
  132. package/dist/register.d.ts +13 -0
  133. package/dist/register.d.ts.map +1 -0
  134. package/dist/register.js +99 -0
  135. package/dist/registry.d.ts +1 -0
  136. package/dist/registry.d.ts.map +1 -1
  137. package/dist/registry.js +7 -0
  138. package/dist/registryData.json +43 -6
  139. package/dist/report.d.ts +2 -1
  140. package/dist/report.d.ts.map +1 -1
  141. package/dist/report.js +189 -2
  142. package/dist/reporting.d.ts +125 -0
  143. package/dist/reporting.d.ts.map +1 -1
  144. package/dist/reporting.js +196 -5
  145. package/dist/resources.d.ts +285 -0
  146. package/dist/resources.d.ts.map +1 -0
  147. package/dist/resources.js +643 -0
  148. package/dist/risk.d.ts +120 -0
  149. package/dist/risk.d.ts.map +1 -0
  150. package/dist/risk.js +220 -0
  151. package/dist/runtime.d.ts +74 -1
  152. package/dist/runtime.d.ts.map +1 -1
  153. package/dist/runtime.js +598 -22
  154. package/dist/schemaInference.d.ts +92 -0
  155. package/dist/schemaInference.d.ts.map +1 -0
  156. package/dist/schemaInference.js +466 -0
  157. package/dist/schema_validation.js +2 -2
  158. package/dist/schemas/config.schema.json +169 -6
  159. package/dist/schemas/event.schema.json +4 -0
  160. package/dist/security_report.js +4 -4
  161. package/dist/signing.d.ts +1 -1
  162. package/dist/signing.d.ts.map +1 -1
  163. package/dist/signing.js +4 -0
  164. package/dist/sinks/file.d.ts +19 -1
  165. package/dist/sinks/file.d.ts.map +1 -1
  166. package/dist/sinks/file.js +82 -13
  167. package/dist/sinks/https.d.ts +10 -0
  168. package/dist/sinks/https.d.ts.map +1 -1
  169. package/dist/sinks/https.js +76 -16
  170. package/dist/sinks/stdout.d.ts +1 -0
  171. package/dist/sinks/stdout.d.ts.map +1 -1
  172. package/dist/sinks/stdout.js +12 -1
  173. package/dist/spec.d.ts +159 -0
  174. package/dist/spec.d.ts.map +1 -0
  175. package/dist/spec.js +391 -0
  176. package/dist/stakeholders.d.ts +199 -0
  177. package/dist/stakeholders.d.ts.map +1 -0
  178. package/dist/stakeholders.js +398 -0
  179. package/dist/standards.d.ts.map +1 -1
  180. package/dist/standards.js +160 -2
  181. package/dist/standards_ingest.d.ts +2 -2
  182. package/dist/standards_ingest.d.ts.map +1 -1
  183. package/dist/standards_ingest.js +105 -23
  184. package/dist/streaming.d.ts.map +1 -1
  185. package/dist/streaming.js +7 -2
  186. package/dist/telemetry.d.ts +16 -2
  187. package/dist/telemetry.d.ts.map +1 -1
  188. package/dist/telemetry.js +79 -14
  189. package/dist/templates/controls/iso42001_control_catalog.json +1443 -0
  190. package/dist/traced_emitter.d.ts +3 -0
  191. package/dist/traced_emitter.d.ts.map +1 -1
  192. package/dist/traced_emitter.js +142 -25
  193. package/dist/trust_package.d.ts +21 -1
  194. package/dist/trust_package.d.ts.map +1 -1
  195. package/dist/trust_package.js +101 -4
  196. package/dist/verify.d.ts.map +1 -1
  197. package/dist/verify.js +9 -2
  198. package/dist/wal.d.ts.map +1 -1
  199. package/dist/wal.js +2 -1
  200. package/package.json +14 -1
  201. package/scripts/postinstall.js +119 -97
  202. package/templates/controls/iso42001_control_catalog.json +1443 -0
package/dist/alerts.d.ts CHANGED
@@ -4,6 +4,22 @@
4
4
  export declare class AlertError extends Error {
5
5
  constructor(message: string);
6
6
  }
7
+ /**
8
+ * Build a standardized violation alert payload.
9
+ *
10
+ * @param event - The event object containing violation details.
11
+ * @returns Standardized payload object for webhook dispatch.
12
+ *
13
+ * @remarks
14
+ * Cross-SDK Parity: Both Python and Node.js produce identical output payloads
15
+ * with fields: event_type, policy_event_type, model, tool_name, policy_name,
16
+ * message, timestamp, data_classification, rule_names, trace_id, span_id,
17
+ * parent_span_id, service_name, environment.
18
+ *
19
+ * Input signature differs by language idiom:
20
+ * - Node.js: `buildViolationPayload(event)` where event contains all fields
21
+ * - Python: `build_violation_payload(violation=v, trace_id=t, ...)` with explicit params
22
+ */
7
23
  export declare function buildViolationPayload(event: Record<string, any>): Record<string, any>;
8
24
  export declare class ViolationWebhookDispatcher {
9
25
  private endpoint;
@@ -1 +1 @@
1
- {"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../src/alerts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAkBrF;AAED,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,KAAK,CAAC,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAU;gBAEd,OAAO,EAAE;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;QAC1C,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;KAC7C;IAaD,KAAK,IAAI,IAAI;IASb,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAWxC,KAAK,IAAI,IAAI;IAIb,KAAK,IAAI,IAAI;YAQC,YAAY;YAqBZ,WAAW;IAmBzB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,aAAa;CAStB"}
1
+ {"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../src/alerts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAkBrF;AAED,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,KAAK,CAAC,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAU;gBAEd,OAAO,EAAE;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;QAC1C,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;KAC7C;IAaD,KAAK,IAAI,IAAI;IASb,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAWxC,KAAK,IAAI,IAAI;IAIb,KAAK,IAAI,IAAI;YAQC,YAAY;YAqBZ,WAAW;IAmBzB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,aAAa;CAStB"}
package/dist/alerts.js CHANGED
@@ -17,6 +17,22 @@ class AlertError extends Error {
17
17
  }
18
18
  }
19
19
  exports.AlertError = AlertError;
20
+ /**
21
+ * Build a standardized violation alert payload.
22
+ *
23
+ * @param event - The event object containing violation details.
24
+ * @returns Standardized payload object for webhook dispatch.
25
+ *
26
+ * @remarks
27
+ * Cross-SDK Parity: Both Python and Node.js produce identical output payloads
28
+ * with fields: event_type, policy_event_type, model, tool_name, policy_name,
29
+ * message, timestamp, data_classification, rule_names, trace_id, span_id,
30
+ * parent_span_id, service_name, environment.
31
+ *
32
+ * Input signature differs by language idiom:
33
+ * - Node.js: `buildViolationPayload(event)` where event contains all fields
34
+ * - Python: `build_violation_payload(violation=v, trace_id=t, ...)` with explicit params
35
+ */
20
36
  function buildViolationPayload(event) {
21
37
  const body = event.body || {};
22
38
  return {
package/dist/api.d.ts CHANGED
@@ -32,6 +32,12 @@
32
32
  * }
33
33
  * );
34
34
  * ```
35
+ *
36
+ * @remarks
37
+ * Cross-SDK Parity: Node.js uses separate objects for call arguments and governance
38
+ * options, while Python uses kwargs for both. This is an intentional language difference:
39
+ * - Node.js: `callLlm(fn, {model, messages}, {purpose})`
40
+ * - Python: `call_llm(fn, model="gpt-4", messages=[...], purpose="SUPPORT")`
35
41
  */
36
42
  export declare function callLlm<T>(callFn: (...args: any[]) => T | Promise<T>, callArgs: Record<string, any> | any[] | undefined, options: {
37
43
  model?: string;
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,EACjD,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;CACvD,GACA,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAUhB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,EACjD,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAShB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,EACjD,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAShB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,EACjD,OAAO,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;CACvD,GACA,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAUhB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,EACjD,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAShB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,SAAS,EACjD,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAShB"}
package/dist/api.js CHANGED
@@ -38,6 +38,12 @@ const runtime_1 = require("./runtime");
38
38
  * }
39
39
  * );
40
40
  * ```
41
+ *
42
+ * @remarks
43
+ * Cross-SDK Parity: Node.js uses separate objects for call arguments and governance
44
+ * options, while Python uses kwargs for both. This is an intentional language difference:
45
+ * - Node.js: `callLlm(fn, {model, messages}, {purpose})`
46
+ * - Python: `call_llm(fn, model="gpt-4", messages=[...], purpose="SUPPORT")`
41
47
  */
42
48
  function callLlm(callFn, callArgs, options) {
43
49
  const args = normalizeArgs(callArgs);
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Compliance assessment and certification support for Monora SDK.
3
+ *
4
+ * This module provides tools for running compliance checks and generating
5
+ * assessment reports for ISO 42001, SOC 2, GDPR, and other frameworks.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { runComplianceCheck, reportUsageProfile } from 'monora-ai';
10
+ *
11
+ * // Run compliance check before audit
12
+ * const result = await runComplianceCheck({
13
+ * eventsPath: './monora_events.jsonl',
14
+ * configPath: './monora.yml',
15
+ * });
16
+ *
17
+ * // Report usage profile
18
+ * const profile = reportUsageProfile();
19
+ * ```
20
+ */
21
+ import { MonoraConfig } from './config';
22
+ /**
23
+ * Individual compliance check result.
24
+ */
25
+ export interface ComplianceCheck {
26
+ name: string;
27
+ description: string;
28
+ passed: boolean;
29
+ category: string;
30
+ }
31
+ /**
32
+ * Result of a compliance check.
33
+ */
34
+ export interface ComplianceCheckResult {
35
+ passed: boolean;
36
+ score: number;
37
+ grade: string;
38
+ scoreBreakdown?: ComplianceScoreBreakdown;
39
+ checks: ComplianceCheck[];
40
+ warnings: string[];
41
+ errors: string[];
42
+ recommendations: string[];
43
+ frameworksAssessed: string[];
44
+ assessedAt: string;
45
+ sdkVersion: string;
46
+ }
47
+ export interface ComplianceScoreBreakdown {
48
+ method: 'weighted_categories';
49
+ frameworks: string[];
50
+ categoryWeights: Record<string, number>;
51
+ categoryTotals: Record<string, number>;
52
+ categoryPassed: Record<string, number>;
53
+ weightedPassed: number;
54
+ weightedTotal: number;
55
+ rawPassed: number;
56
+ rawTotal: number;
57
+ }
58
+ /**
59
+ * Usage profile for certification/assessment.
60
+ */
61
+ export interface UsageProfile {
62
+ sdkVersion: string;
63
+ featuresEnabled: string[];
64
+ featuresUsed: string[];
65
+ configSummary: Record<string, any>;
66
+ auditMetadata?: Record<string, any>;
67
+ registration?: Record<string, any>;
68
+ environment: string;
69
+ generatedAt: string;
70
+ }
71
+ /**
72
+ * Compliance check options.
73
+ */
74
+ export interface ComplianceCheckOptions {
75
+ /** Path to events JSONL file */
76
+ eventsPath?: string;
77
+ /** Path to configuration file */
78
+ configPath?: string;
79
+ /** Configuration object */
80
+ config?: Partial<MonoraConfig>;
81
+ /** Specific frameworks to check */
82
+ frameworks?: string[];
83
+ }
84
+ /**
85
+ * Compliance check callback.
86
+ */
87
+ export type ComplianceCheckCallback = (result: ComplianceCheckResult) => void;
88
+ /**
89
+ * Run compliance checks for AI safety and governance.
90
+ *
91
+ * This function runs a series of checks to assess compliance with
92
+ * various frameworks like SOC 2, GDPR, ISO 27001, and ISO 42001.
93
+ *
94
+ * @param options - Check options.
95
+ * @returns ComplianceCheckResult with pass/fail status and details.
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * const result = await runComplianceCheck({
100
+ * eventsPath: './monora_events.jsonl',
101
+ * configPath: './monora.yml',
102
+ * frameworks: ['SOC2', 'ISO42001'],
103
+ * });
104
+ *
105
+ * if (result.passed) {
106
+ * console.log(`Compliance score: ${result.score}`);
107
+ * }
108
+ * ```
109
+ */
110
+ export declare function runComplianceCheck(options?: ComplianceCheckOptions): Promise<ComplianceCheckResult>;
111
+ /**
112
+ * Usage profile options.
113
+ */
114
+ export interface UsageProfileOptions {
115
+ /** Current configuration */
116
+ config?: Partial<MonoraConfig>;
117
+ /** Deployment environment */
118
+ environment?: string;
119
+ }
120
+ /**
121
+ * Report current usage profile for certification/assessment.
122
+ *
123
+ * This generates a summary of SDK usage that can be used for
124
+ * certification processes like ISO 42001.
125
+ *
126
+ * @param options - Profile options.
127
+ * @returns UsageProfile object.
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const profile = reportUsageProfile();
132
+ * console.log(profile.featuresUsed);
133
+ * ```
134
+ */
135
+ export declare function reportUsageProfile(options?: UsageProfileOptions): UsageProfile;
136
+ /**
137
+ * Register a callback for compliance check events.
138
+ *
139
+ * @param callback - Function called with check result.
140
+ * @returns Unsubscribe function.
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * const unsubscribe = onComplianceCheck((result) => {
145
+ * if (!result.passed) {
146
+ * sendAlert('Compliance check failed!');
147
+ * }
148
+ * });
149
+ * ```
150
+ */
151
+ export declare function onComplianceCheck(callback: ComplianceCheckCallback): () => void;
152
+ /**
153
+ * Assessment report options.
154
+ */
155
+ export interface AssessmentReportOptions {
156
+ /** Path to events JSONL file */
157
+ eventsPath?: string;
158
+ /** Path to configuration file */
159
+ configPath?: string;
160
+ /** Optional path to write report */
161
+ outputPath?: string;
162
+ /** Specific frameworks to assess */
163
+ frameworks?: string[];
164
+ }
165
+ /**
166
+ * Generate a comprehensive assessment report.
167
+ *
168
+ * This combines compliance checks, usage profile, and audit metadata
169
+ * into a single report suitable for certification processes.
170
+ *
171
+ * @param options - Report options.
172
+ * @returns Assessment report object.
173
+ *
174
+ * @example
175
+ * ```typescript
176
+ * const report = await generateAssessmentReport({
177
+ * eventsPath: './monora_events.jsonl',
178
+ * configPath: './monora.yml',
179
+ * outputPath: './assessment_report.json',
180
+ * });
181
+ * ```
182
+ */
183
+ /**
184
+ * Priority level for remediation items.
185
+ */
186
+ export type RemediationPriority = 'critical' | 'high' | 'medium' | 'low';
187
+ /**
188
+ * Effort estimate for remediation items.
189
+ */
190
+ export type RemediationEffort = 'minimal' | 'low' | 'medium' | 'high';
191
+ /**
192
+ * Individual remediation item.
193
+ */
194
+ export interface RemediationItem {
195
+ /** Unique identifier for the issue */
196
+ id: string;
197
+ /** Human-readable title */
198
+ title: string;
199
+ /** Detailed description of the issue */
200
+ description: string;
201
+ /** Category of the compliance check */
202
+ category: string;
203
+ /** Priority level for fixing */
204
+ priority: RemediationPriority;
205
+ /** Estimated effort to fix */
206
+ effort: RemediationEffort;
207
+ /** Specific fix instructions */
208
+ fix: string;
209
+ /** Compliance frameworks affected */
210
+ frameworks: string[];
211
+ /** Event IDs that provide evidence (if applicable) */
212
+ evidenceEventIds?: string[];
213
+ }
214
+ /**
215
+ * Remediation plan result.
216
+ */
217
+ export interface RemediationPlan {
218
+ /** Overall summary */
219
+ summary: {
220
+ totalIssues: number;
221
+ criticalCount: number;
222
+ highCount: number;
223
+ mediumCount: number;
224
+ lowCount: number;
225
+ estimatedEffort: string;
226
+ };
227
+ /** Grouped issues by priority */
228
+ issuesByPriority: {
229
+ critical: RemediationItem[];
230
+ high: RemediationItem[];
231
+ medium: RemediationItem[];
232
+ low: RemediationItem[];
233
+ };
234
+ /** Grouped issues by category */
235
+ issuesByCategory: Record<string, RemediationItem[]>;
236
+ /** Ordered list of fixes (recommended order) */
237
+ orderedFixes: RemediationItem[];
238
+ /** Generated timestamp */
239
+ generatedAt: string;
240
+ }
241
+ /**
242
+ * Generate a remediation plan from compliance check results.
243
+ *
244
+ * This function analyzes failed compliance checks and generates an
245
+ * actionable remediation plan with prioritized fixes.
246
+ *
247
+ * @param result - Compliance check result from runComplianceCheck().
248
+ * @returns RemediationPlan with prioritized fixes.
249
+ *
250
+ * @example
251
+ * ```typescript
252
+ * const checkResult = await runComplianceCheck({
253
+ * configPath: './monora.yml',
254
+ * frameworks: ['SOC2', 'GDPR'],
255
+ * });
256
+ *
257
+ * const plan = generateRemediationPlan(checkResult);
258
+ *
259
+ * console.log(`Total issues: ${plan.summary.totalIssues}`);
260
+ * console.log(`Critical: ${plan.summary.criticalCount}`);
261
+ *
262
+ * for (const issue of plan.orderedFixes) {
263
+ * console.log(`[${issue.priority}] ${issue.title}: ${issue.fix}`);
264
+ * }
265
+ * ```
266
+ */
267
+ export declare function generateRemediationPlan(result: ComplianceCheckResult): RemediationPlan;
268
+ export declare function generateAssessmentReport(options?: AssessmentReportOptions): Promise<Record<string, any>>;
269
+ //# sourceMappingURL=assessment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assessment.d.ts","sourceRoot":"","sources":["../src/assessment.ts"],"names":[],"mappings":"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"}