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
@@ -0,0 +1,264 @@
1
+ /**
2
+ * Human oversight tracking for EU AI Act Art.14 and ISO 42001 8.3 compliance.
3
+ *
4
+ * This module provides human review and override tracking for AI decisions,
5
+ * supporting EU AI Act Article 14 human oversight requirements and ISO 42001
6
+ * control 8.3.
7
+ *
8
+ * Cross-SDK Parity:
9
+ * Both Python and Node.js SDKs provide identical human oversight APIs:
10
+ * - recordHumanReview() / record_human_review()
11
+ * - recordHumanOverride() / record_human_override()
12
+ * - getPendingReviews() / get_pending_reviews()
13
+ */
14
+ import { MonoraConfig } from './config';
15
+ export type ReviewType = 'approval' | 'rejection' | 'modification' | 'escalation';
16
+ export type ReviewDecision = 'approved' | 'rejected' | 'modified' | 'escalated' | 'pending';
17
+ /**
18
+ * A human review of an AI decision.
19
+ */
20
+ export interface HumanReview {
21
+ /** ID of the event being reviewed */
22
+ reviewedEventId: string;
23
+ /** ID of the human reviewer */
24
+ reviewerId: string;
25
+ /** Type of review action */
26
+ reviewType: ReviewType;
27
+ /** Review decision outcome */
28
+ decision: ReviewDecision;
29
+ /** Description of any modifications made */
30
+ modifications?: string;
31
+ /** Time taken to review in milliseconds */
32
+ reviewDurationMs?: number;
33
+ /** Additional notes from the reviewer */
34
+ reviewNotes?: string;
35
+ /** Flags indicating compliance concerns */
36
+ complianceFlags: string[];
37
+ /** When the review was completed */
38
+ timestamp: string;
39
+ }
40
+ /**
41
+ * Convert HumanReview to event body dictionary.
42
+ */
43
+ export declare function reviewToEventBody(review: HumanReview): Record<string, any>;
44
+ /**
45
+ * A human override of an AI output.
46
+ */
47
+ export interface HumanOverride {
48
+ /** ID of the event being overridden */
49
+ overriddenEventId: string;
50
+ /** Reason for the override */
51
+ overrideReason: string;
52
+ /** Hash of the original AI output */
53
+ originalOutputHash?: string;
54
+ /** Hash of the corrected output */
55
+ correctedOutputHash?: string;
56
+ /** Authority level of the person overriding */
57
+ overrideAuthority?: string;
58
+ /** When the override was made */
59
+ timestamp: string;
60
+ }
61
+ /**
62
+ * Convert HumanOverride to event body dictionary.
63
+ */
64
+ export declare function overrideToEventBody(override: HumanOverride): Record<string, any>;
65
+ /**
66
+ * An event awaiting human review.
67
+ */
68
+ export interface PendingReview {
69
+ /** Event ID */
70
+ eventId: string;
71
+ /** Trace ID */
72
+ traceId?: string;
73
+ /** Event type */
74
+ eventType: string;
75
+ /** Model used */
76
+ model?: string;
77
+ /** Risk level */
78
+ riskLevel?: string;
79
+ /** Unix timestamp when created */
80
+ createdAt: number;
81
+ /** Unix timestamp when it times out */
82
+ timeoutAt: number;
83
+ }
84
+ /**
85
+ * Storage abstraction for oversight review tracking.
86
+ */
87
+ export interface ReviewStore {
88
+ addPendingReview(review: PendingReview): void;
89
+ removePendingReview(eventId: string): void;
90
+ listPendingReviews(): PendingReview[];
91
+ listTimedOutReviews(now: number): PendingReview[];
92
+ addCompletedReview(review: HumanReview): void;
93
+ listCompletedReviews(): HumanReview[];
94
+ addOverride(override: HumanOverride): void;
95
+ listOverrides(): HumanOverride[];
96
+ clear(): void;
97
+ }
98
+ /**
99
+ * In-memory store for oversight reviews.
100
+ *
101
+ * Note: This is single-instance only. For production/distributed use, supply
102
+ * a persistent store via setReviewStore (e.g., SqliteReviewStore or Redis).
103
+ */
104
+ export declare class MemoryReviewStore implements ReviewStore {
105
+ private pendingReviews;
106
+ private completedReviews;
107
+ private overrides;
108
+ private completedTtlMs;
109
+ constructor(options?: {
110
+ completedTtlMs?: number;
111
+ });
112
+ addPendingReview(review: PendingReview): void;
113
+ removePendingReview(eventId: string): void;
114
+ listPendingReviews(): PendingReview[];
115
+ listTimedOutReviews(now: number): PendingReview[];
116
+ addCompletedReview(review: HumanReview): void;
117
+ listCompletedReviews(): HumanReview[];
118
+ addOverride(override: HumanOverride): void;
119
+ listOverrides(): HumanOverride[];
120
+ clear(): void;
121
+ private pruneCompletedReviews;
122
+ }
123
+ /**
124
+ * SQLite-backed persistent review store (requires better-sqlite3).
125
+ */
126
+ export declare class SqliteReviewStore implements ReviewStore {
127
+ private db;
128
+ private completedTtlMs;
129
+ constructor(dbPath: string, options?: {
130
+ completedTtlMs?: number;
131
+ });
132
+ addPendingReview(review: PendingReview): void;
133
+ removePendingReview(eventId: string): void;
134
+ listPendingReviews(): PendingReview[];
135
+ listTimedOutReviews(now: number): PendingReview[];
136
+ addCompletedReview(review: HumanReview): void;
137
+ listCompletedReviews(): HumanReview[];
138
+ addOverride(override: HumanOverride): void;
139
+ listOverrides(): HumanOverride[];
140
+ clear(): void;
141
+ private pruneCompletedReviews;
142
+ private parseComplianceFlags;
143
+ }
144
+ export declare function setReviewStore(store: ReviewStore): void;
145
+ /**
146
+ * Options for recording a human review.
147
+ */
148
+ export interface RecordHumanReviewOptions {
149
+ /** Description of any modifications made */
150
+ modifications?: string;
151
+ /** Time taken to review in milliseconds */
152
+ reviewDurationMs?: number;
153
+ /** Additional reviewer notes */
154
+ notes?: string;
155
+ /** Flags indicating compliance concerns */
156
+ complianceFlags?: string[];
157
+ /** Optional config */
158
+ config?: MonoraConfig;
159
+ }
160
+ /**
161
+ * Record a human review of an AI decision.
162
+ *
163
+ * @param reviewedEventId - ID of the event being reviewed.
164
+ * @param reviewerId - ID of the human reviewer.
165
+ * @param reviewType - Type of review (approval, rejection, modification, escalation).
166
+ * @param decision - Review decision (approved, rejected, modified, escalated).
167
+ * @param options - Additional options.
168
+ * @returns The created HumanReview.
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * recordHumanReview(
173
+ * 'evt_123',
174
+ * 'usr_456',
175
+ * 'approval',
176
+ * 'approved',
177
+ * { notes: 'Verified output accuracy' }
178
+ * );
179
+ * ```
180
+ */
181
+ export declare function recordHumanReview(reviewedEventId: string, reviewerId: string, reviewType: ReviewType, decision: ReviewDecision, options?: RecordHumanReviewOptions): HumanReview;
182
+ /**
183
+ * Options for recording a human override.
184
+ */
185
+ export interface RecordHumanOverrideOptions {
186
+ /** The original AI output (will be hashed) */
187
+ originalOutput?: string;
188
+ /** The corrected output (will be hashed) */
189
+ correctedOutput?: string;
190
+ /** Authority level of the person overriding */
191
+ overrideAuthority?: string;
192
+ /** Optional config */
193
+ config?: MonoraConfig;
194
+ }
195
+ /**
196
+ * Record a human override of an AI output.
197
+ *
198
+ * @param overriddenEventId - ID of the event being overridden.
199
+ * @param overrideReason - Reason for the override.
200
+ * @param options - Additional options.
201
+ * @returns The created HumanOverride.
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * recordHumanOverride(
206
+ * 'evt_123',
207
+ * 'Incorrect recommendation',
208
+ * { overrideAuthority: 'supervisor' }
209
+ * );
210
+ * ```
211
+ */
212
+ export declare function recordHumanOverride(overriddenEventId: string, overrideReason: string, options?: RecordHumanOverrideOptions): HumanOverride;
213
+ /**
214
+ * Options for requiring review.
215
+ */
216
+ export interface RequireReviewOptions {
217
+ /** Trace ID of the event */
218
+ traceId?: string;
219
+ /** Type of event */
220
+ eventType?: string;
221
+ /** Model used */
222
+ model?: string;
223
+ /** Risk level */
224
+ riskLevel?: string;
225
+ /** Optional config */
226
+ config?: MonoraConfig;
227
+ }
228
+ /**
229
+ * Mark an event as requiring human review.
230
+ *
231
+ * @param eventId - ID of the event requiring review.
232
+ * @param options - Additional options.
233
+ * @returns The created PendingReview.
234
+ */
235
+ export declare function requireReview(eventId: string, options?: RequireReviewOptions): PendingReview;
236
+ /**
237
+ * Get all events pending human review.
238
+ */
239
+ export declare function getPendingReviews(): PendingReview[];
240
+ /**
241
+ * Get reviews that have timed out.
242
+ */
243
+ export declare function getTimedOutReviews(): PendingReview[];
244
+ /**
245
+ * Check if an event requires human review based on config.
246
+ *
247
+ * @param eventType - Type of event.
248
+ * @param model - Model used.
249
+ * @param riskLevel - Risk level of the event.
250
+ * @param config - Optional config.
251
+ * @returns True if review is required.
252
+ */
253
+ export declare function checkReviewRequired(eventType: string, model?: string, riskLevel?: string, config?: MonoraConfig): boolean;
254
+ /**
255
+ * Get summary of human oversight for reporting.
256
+ *
257
+ * @returns Summary dict for compliance reports.
258
+ */
259
+ export declare function getOversightSummary(): Record<string, any>;
260
+ /**
261
+ * Clear all oversight tracking data.
262
+ */
263
+ export declare function clearOversightData(): void;
264
+ //# sourceMappingURL=oversight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oversight.d.ts","sourceRoot":"","sources":["../src/oversight.ts"],"names":[],"mappings":"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"}