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/context.js CHANGED
@@ -4,6 +4,10 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerTraceCompletionHandler = registerTraceCompletionHandler;
7
+ exports.registerTraceStartHandler = registerTraceStartHandler;
8
+ exports.recordTraceStart = recordTraceStart;
9
+ exports.clearTraceStart = clearTraceStart;
10
+ exports.getTraceStartTime = getTraceStartTime;
7
11
  exports.getCurrentContext = getCurrentContext;
8
12
  exports.getCurrentSpan = getCurrentSpan;
9
13
  exports.pushSpan = pushSpan;
@@ -13,19 +17,37 @@ exports.traceAsync = traceAsync;
13
17
  exports.startSpan = startSpan;
14
18
  exports.nextStepNumber = nextStepNumber;
15
19
  exports.nextEventSequence = nextEventSequence;
20
+ exports.completeTrace = completeTrace;
21
+ exports.completeTraceSync = completeTraceSync;
16
22
  exports.captureContext = captureContext;
17
23
  exports.runInContext = runInContext;
18
24
  exports.bindContext = bindContext;
19
25
  const async_hooks_1 = require("async_hooks");
20
26
  const ids_1 = require("./ids");
21
27
  const logger_1 = require("./logger");
28
+ const lineage_1 = require("./lineage");
22
29
  // AsyncLocalStorage for Node.js context propagation
23
30
  const asyncLocalStorage = new async_hooks_1.AsyncLocalStorage();
31
+ const traceStartTimes = new Map();
24
32
  const traceCompletionHandlers = new Set();
33
+ const traceStartHandlers = new Set();
25
34
  function registerTraceCompletionHandler(handler) {
26
35
  traceCompletionHandlers.add(handler);
27
36
  return () => traceCompletionHandlers.delete(handler);
28
37
  }
38
+ function registerTraceStartHandler(handler) {
39
+ traceStartHandlers.add(handler);
40
+ return () => traceStartHandlers.delete(handler);
41
+ }
42
+ function recordTraceStart(traceId, startTime) {
43
+ traceStartTimes.set(traceId, startTime);
44
+ }
45
+ function clearTraceStart(traceId) {
46
+ traceStartTimes.delete(traceId);
47
+ }
48
+ function getTraceStartTime(traceId) {
49
+ return traceStartTimes.get(traceId);
50
+ }
29
51
  function getCurrentContext() {
30
52
  return asyncLocalStorage.getStore();
31
53
  }
@@ -42,6 +64,18 @@ function pushSpan(span) {
42
64
  ctx.spanStack.push(span);
43
65
  ctx.currentSpan = span;
44
66
  }
67
+ /**
68
+ * Pop and return the top span from the current trace context.
69
+ *
70
+ * When the span stack becomes empty, this also clears the trace start time
71
+ * to prevent memory leaks.
72
+ *
73
+ * @returns The popped span, or null if no context or empty stack.
74
+ *
75
+ * @remarks
76
+ * Cross-SDK Parity: Both Python and Node.js clear trace start times when
77
+ * the span stack becomes empty to prevent memory leaks in long-running processes.
78
+ */
45
79
  function popSpan() {
46
80
  const ctx = getCurrentContext();
47
81
  if (!ctx || ctx.spanStack.length === 0) {
@@ -54,11 +88,14 @@ function popSpan() {
54
88
  }
55
89
  else {
56
90
  ctx.currentSpan = null;
91
+ // Clean up trace start time to prevent memory leaks (matches Python SDK)
92
+ clearTraceStart(span.traceId);
57
93
  }
58
94
  return span;
59
95
  }
60
96
  function trace(name, fn, options) {
61
97
  const rootTraceId = options?.traceId || (0, ids_1.generateUlid)('trc');
98
+ const startTime = Date.now();
62
99
  const span = {
63
100
  traceId: rootTraceId,
64
101
  spanId: (0, ids_1.generateUlid)('spn'),
@@ -69,10 +106,16 @@ function trace(name, fn, options) {
69
106
  const ctx = {
70
107
  currentSpan: span,
71
108
  spanStack: [span],
109
+ startTime,
72
110
  stepCounter: 0,
73
111
  eventCounter: 0,
74
112
  };
75
- return asyncLocalStorage.run(ctx, () => {
113
+ recordTraceStart(rootTraceId, startTime);
114
+ const lineageStorage = (0, lineage_1.getLineageStorage)();
115
+ const lineageContext = lineageStorage.getStore() || (0, lineage_1.createLineageContext)();
116
+ ctx.lineageContext = lineageContext;
117
+ const run = () => asyncLocalStorage.run(ctx, () => {
118
+ runTraceStartHandlersSync(span);
76
119
  let result;
77
120
  try {
78
121
  result = fn(span);
@@ -87,9 +130,14 @@ function trace(name, fn, options) {
87
130
  runTraceCompletionHandlersSync(span);
88
131
  return result;
89
132
  });
133
+ if (lineageStorage.getStore()) {
134
+ return run();
135
+ }
136
+ return lineageStorage.run(lineageContext, run);
90
137
  }
91
138
  async function traceAsync(name, fn, options) {
92
139
  const rootTraceId = options?.traceId || (0, ids_1.generateUlid)('trc');
140
+ const startTime = Date.now();
93
141
  const span = {
94
142
  traceId: rootTraceId,
95
143
  spanId: (0, ids_1.generateUlid)('spn'),
@@ -100,10 +148,16 @@ async function traceAsync(name, fn, options) {
100
148
  const ctx = {
101
149
  currentSpan: span,
102
150
  spanStack: [span],
151
+ startTime,
103
152
  stepCounter: 0,
104
153
  eventCounter: 0,
105
154
  };
106
- return asyncLocalStorage.run(ctx, async () => {
155
+ recordTraceStart(rootTraceId, startTime);
156
+ const lineageStorage = (0, lineage_1.getLineageStorage)();
157
+ const lineageContext = lineageStorage.getStore() || (0, lineage_1.createLineageContext)();
158
+ ctx.lineageContext = lineageContext;
159
+ const run = () => asyncLocalStorage.run(ctx, async () => {
160
+ await runTraceStartHandlers(span);
107
161
  try {
108
162
  return await fn(span);
109
163
  }
@@ -111,15 +165,32 @@ async function traceAsync(name, fn, options) {
111
165
  await runTraceCompletionHandlers(span);
112
166
  }
113
167
  });
168
+ if (lineageStorage.getStore()) {
169
+ return run();
170
+ }
171
+ return lineageStorage.run(lineageContext, run);
114
172
  }
173
+ /**
174
+ * Create and push a child span, returning it.
175
+ *
176
+ * @param name - Name for the new span.
177
+ * @param metadata - Optional metadata object for the span.
178
+ * @returns The created Span object.
179
+ * @throws Error if no active trace context exists.
180
+ *
181
+ * @remarks
182
+ * Cross-SDK Parity: Both Python and Node.js require an active trace
183
+ * context. Use trace() or traceAsync() before calling startSpan().
184
+ */
115
185
  function startSpan(name, metadata) {
116
186
  const current = getCurrentSpan();
117
- const traceId = current ? current.traceId : (0, ids_1.generateUlid)('trc');
118
- const parentSpanId = current ? current.spanId : null;
187
+ if (!current) {
188
+ throw new Error('No active trace context; use trace() or traceAsync() before calling startSpan().');
189
+ }
119
190
  const span = {
120
- traceId,
191
+ traceId: current.traceId,
121
192
  spanId: (0, ids_1.generateUlid)('spn'),
122
- parentSpanId,
193
+ parentSpanId: current.spanId,
123
194
  name,
124
195
  metadata: metadata || {},
125
196
  };
@@ -142,6 +213,31 @@ function nextEventSequence() {
142
213
  ctx.eventCounter += 1;
143
214
  return ctx.eventCounter;
144
215
  }
216
+ function runTraceStartHandlersSync(span) {
217
+ for (const handler of traceStartHandlers) {
218
+ try {
219
+ const result = handler(span);
220
+ if (result && typeof result.then === 'function') {
221
+ result.catch((error) => {
222
+ logger_1.logger.error('Trace start handler failed: %s', error);
223
+ });
224
+ }
225
+ }
226
+ catch (error) {
227
+ logger_1.logger.error('Trace start handler failed: %s', error);
228
+ }
229
+ }
230
+ }
231
+ async function runTraceStartHandlers(span) {
232
+ for (const handler of traceStartHandlers) {
233
+ try {
234
+ await handler(span);
235
+ }
236
+ catch (error) {
237
+ logger_1.logger.error('Trace start handler failed: %s', error);
238
+ }
239
+ }
240
+ }
145
241
  function runTraceCompletionHandlersSync(span) {
146
242
  for (const handler of traceCompletionHandlers) {
147
243
  try {
@@ -156,6 +252,7 @@ function runTraceCompletionHandlersSync(span) {
156
252
  logger_1.logger.error('Trace completion handler failed: %s', error);
157
253
  }
158
254
  }
255
+ clearTraceStart(span.traceId);
159
256
  }
160
257
  async function runTraceCompletionHandlers(span) {
161
258
  for (const handler of traceCompletionHandlers) {
@@ -166,6 +263,13 @@ async function runTraceCompletionHandlers(span) {
166
263
  logger_1.logger.error('Trace completion handler failed: %s', error);
167
264
  }
168
265
  }
266
+ clearTraceStart(span.traceId);
267
+ }
268
+ function completeTrace(span) {
269
+ return runTraceCompletionHandlers(span);
270
+ }
271
+ function completeTraceSync(span) {
272
+ runTraceCompletionHandlersSync(span);
169
273
  }
170
274
  function isPromise(value) {
171
275
  return value && typeof value.then === 'function';
@@ -195,7 +299,14 @@ function runInContext(ctx, fn) {
195
299
  if (!ctx) {
196
300
  return fn();
197
301
  }
198
- return asyncLocalStorage.run(ctx, fn);
302
+ const lineageStorage = (0, lineage_1.getLineageStorage)();
303
+ const run = () => asyncLocalStorage.run(ctx, fn);
304
+ if (lineageStorage.getStore()) {
305
+ return run();
306
+ }
307
+ const lineageContext = ctx.lineageContext || (0, lineage_1.createLineageContext)();
308
+ ctx.lineageContext = lineageContext;
309
+ return lineageStorage.run(lineageContext, run);
199
310
  }
200
311
  /**
201
312
  * Bind a function to the current trace context.
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Control/evidence workflow backbone for ISO 42001 coverage reporting.
3
+ */
4
+ export type WorkflowStatus = 'draft' | 'in_review' | 'approved' | 'expired';
5
+ export interface WorkflowHistoryEntry {
6
+ timestamp: string;
7
+ event: string;
8
+ actor?: string;
9
+ from_status?: WorkflowStatus;
10
+ to_status?: WorkflowStatus;
11
+ note?: string;
12
+ metadata?: Record<string, any>;
13
+ }
14
+ export interface ControlWorkflow {
15
+ workflow_id: string;
16
+ control_id: string;
17
+ title: string;
18
+ status: WorkflowStatus;
19
+ owner?: string;
20
+ created_at: string;
21
+ updated_at: string;
22
+ created_by?: string;
23
+ approved_at?: string;
24
+ approved_by?: string;
25
+ due_at?: string;
26
+ evidence_ids: string[];
27
+ notes?: string;
28
+ metadata?: Record<string, any>;
29
+ history: WorkflowHistoryEntry[];
30
+ }
31
+ export interface ControlCoverageRow {
32
+ control_id: string;
33
+ title: string;
34
+ clause?: string;
35
+ owner?: string;
36
+ frequency?: string;
37
+ required_evidence_types: string[];
38
+ evidence_types_collected: string[];
39
+ missing_evidence_types: string[];
40
+ linked_evidence_ids: string[];
41
+ approved_evidence_ids: string[];
42
+ workflow_ids: string[];
43
+ status: 'covered' | 'partial' | 'gap';
44
+ reportable: boolean;
45
+ gaps: string[];
46
+ }
47
+ interface GenerateCoverageOptions {
48
+ catalog?: Record<string, any> | string | null;
49
+ evidenceItems?: Array<Record<string, any>> | null;
50
+ workflows?: Array<Record<string, any>> | null;
51
+ targetCoverage?: number;
52
+ }
53
+ interface AttachEvidenceOptions {
54
+ controlId: string;
55
+ evidence: Record<string, any>;
56
+ workflowId?: string;
57
+ evidenceType?: string;
58
+ actor?: string;
59
+ note?: string;
60
+ }
61
+ export declare function clearControlRuntime(): void;
62
+ export declare function setControlCatalog(catalog: Record<string, any>): Record<string, any>;
63
+ export declare function loadControlCatalog(filePath: string): Record<string, any>;
64
+ export declare function getControlCatalog(): Record<string, any> | null;
65
+ export declare function loadDefaultIso42001Catalog(): Record<string, any>;
66
+ export declare function resolveControlIdsForEvidenceTypes(evidenceTypes: string[], catalog?: Record<string, any> | null): string[];
67
+ export declare function createWorkflowTask(options: {
68
+ controlId: string;
69
+ title?: string;
70
+ owner?: string;
71
+ dueAt?: string;
72
+ createdBy?: string;
73
+ notes?: string;
74
+ metadata?: Record<string, any>;
75
+ }): ControlWorkflow;
76
+ export declare function getWorkflowTask(workflowId: string): ControlWorkflow | null;
77
+ export declare function listWorkflowTasks(options?: {
78
+ controlId?: string;
79
+ status?: WorkflowStatus;
80
+ }): ControlWorkflow[];
81
+ export declare function transitionWorkflowTask(workflowId: string, options: {
82
+ toStatus: WorkflowStatus;
83
+ actor?: string;
84
+ note?: string;
85
+ }): ControlWorkflow;
86
+ export declare function submitWorkflowTask(workflowId: string, options?: {
87
+ actor?: string;
88
+ note?: string;
89
+ }): ControlWorkflow;
90
+ export declare function approveControlEvidence(workflowId: string, options?: {
91
+ actor?: string;
92
+ note?: string;
93
+ }): ControlWorkflow;
94
+ export declare function expireWorkflowTask(workflowId: string, options?: {
95
+ actor?: string;
96
+ note?: string;
97
+ }): ControlWorkflow;
98
+ export declare function attachControlEvidence(options: AttachEvidenceOptions): Record<string, any>;
99
+ export declare function importEvidenceManifest(manifest: Record<string, any>, options?: {
100
+ clearExisting?: boolean;
101
+ }): number;
102
+ export declare function bootstrapWorkflowsFromCatalog(catalog?: Record<string, any> | null, options?: {
103
+ createdBy?: string;
104
+ ownerFallback?: string;
105
+ }): ControlWorkflow[];
106
+ export declare function prioritizeMissingWorkflowModules(uncoveredControls: string[]): Array<Record<string, any>>;
107
+ export declare function generateControlCoverageReport(options?: GenerateCoverageOptions): Record<string, any>;
108
+ export declare function buildWorkflowStatePayload(options?: {
109
+ catalog?: Record<string, any> | string | null;
110
+ workflows?: Array<Record<string, any>>;
111
+ evidenceItems?: Array<Record<string, any>>;
112
+ }): Record<string, any>;
113
+ export declare function exportWorkflowState(outputPath: string, options?: {
114
+ catalog?: Record<string, any> | string | null;
115
+ workflows?: Array<Record<string, any>>;
116
+ evidenceItems?: Array<Record<string, any>>;
117
+ }): Record<string, any>;
118
+ export declare function loadWorkflowState(filePath: string, options?: {
119
+ replaceRuntime?: boolean;
120
+ }): Record<string, any>;
121
+ export {};
122
+ //# sourceMappingURL=control_backbone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control_backbone.d.ts","sourceRoot":"","sources":["../src/control_backbone.ts"],"names":[],"mappings":"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"}