@intutic/shared-types 2.5.0 → 2.6.0

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 (98) hide show
  1. package/README.md +9 -9
  2. package/dist/apiKeyScopes.d.ts +99 -0
  3. package/dist/apiKeyScopes.d.ts.map +1 -0
  4. package/dist/apiKeyScopes.js +140 -0
  5. package/dist/apiKeyScopes.js.map +1 -0
  6. package/dist/attenuation.d.ts +6 -2
  7. package/dist/attenuation.d.ts.map +1 -1
  8. package/dist/attenuation.js +13 -1
  9. package/dist/attenuation.js.map +1 -1
  10. package/dist/auth.d.ts +29 -4
  11. package/dist/auth.d.ts.map +1 -1
  12. package/dist/auth.js +26 -6
  13. package/dist/auth.js.map +1 -1
  14. package/dist/enums.d.ts +9 -26
  15. package/dist/enums.d.ts.map +1 -1
  16. package/dist/enums.js +11 -28
  17. package/dist/enums.js.map +1 -1
  18. package/dist/errors.d.ts +6 -1
  19. package/dist/errors.d.ts.map +1 -1
  20. package/dist/errors.js +6 -1
  21. package/dist/errors.js.map +1 -1
  22. package/dist/finops.d.ts +4 -2
  23. package/dist/finops.d.ts.map +1 -1
  24. package/dist/guardrailRender.d.ts +51 -0
  25. package/dist/guardrailRender.d.ts.map +1 -1
  26. package/dist/guardrailRender.js +69 -1
  27. package/dist/guardrailRender.js.map +1 -1
  28. package/dist/identity.d.ts +0 -18
  29. package/dist/identity.d.ts.map +1 -1
  30. package/dist/identity.js +1 -5
  31. package/dist/identity.js.map +1 -1
  32. package/dist/index.d.ts +12 -8
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +42 -10
  35. package/dist/index.js.map +1 -1
  36. package/dist/mcpDaemonPolicyCache.d.ts +32 -0
  37. package/dist/mcpDaemonPolicyCache.d.ts.map +1 -0
  38. package/dist/mcpDaemonPolicyCache.js +43 -0
  39. package/dist/mcpDaemonPolicyCache.js.map +1 -0
  40. package/dist/notifications.d.ts +1 -1
  41. package/dist/notifications.d.ts.map +1 -1
  42. package/dist/notifications.js +12 -0
  43. package/dist/notifications.js.map +1 -1
  44. package/dist/piiDetectors.d.ts +3 -0
  45. package/dist/piiDetectors.d.ts.map +1 -1
  46. package/dist/piiDetectors.js.map +1 -1
  47. package/dist/piiDetectors.json +11 -6
  48. package/dist/posturePresets.d.ts.map +1 -1
  49. package/dist/posturePresets.js +12 -3
  50. package/dist/posturePresets.js.map +1 -1
  51. package/dist/responses/common.d.ts +63 -0
  52. package/dist/responses/common.d.ts.map +1 -0
  53. package/dist/responses/common.js +43 -0
  54. package/dist/responses/common.js.map +1 -0
  55. package/dist/responses/gateways.d.ts +5297 -0
  56. package/dist/responses/gateways.d.ts.map +1 -0
  57. package/dist/responses/gateways.js +473 -0
  58. package/dist/responses/gateways.js.map +1 -0
  59. package/dist/responses/guardrails.d.ts +5200 -0
  60. package/dist/responses/guardrails.d.ts.map +1 -0
  61. package/dist/responses/guardrails.js +374 -0
  62. package/dist/responses/guardrails.js.map +1 -0
  63. package/dist/responses/identity.d.ts +1659 -0
  64. package/dist/responses/identity.d.ts.map +1 -0
  65. package/dist/responses/identity.js +291 -0
  66. package/dist/responses/identity.js.map +1 -0
  67. package/dist/responses/index.d.ts +15 -0
  68. package/dist/responses/index.d.ts.map +1 -0
  69. package/dist/responses/index.js +31 -0
  70. package/dist/responses/index.js.map +1 -0
  71. package/dist/responses/integrations.d.ts +4248 -0
  72. package/dist/responses/integrations.d.ts.map +1 -0
  73. package/dist/responses/integrations.js +436 -0
  74. package/dist/responses/integrations.js.map +1 -0
  75. package/dist/responses/observability.d.ts +3222 -0
  76. package/dist/responses/observability.d.ts.map +1 -0
  77. package/dist/responses/observability.js +598 -0
  78. package/dist/responses/observability.js.map +1 -0
  79. package/dist/responses/orgSops.d.ts +112 -0
  80. package/dist/responses/orgSops.d.ts.map +1 -0
  81. package/dist/responses/orgSops.js +29 -0
  82. package/dist/responses/orgSops.js.map +1 -0
  83. package/dist/responses/rules.d.ts +1904 -0
  84. package/dist/responses/rules.d.ts.map +1 -0
  85. package/dist/responses/rules.js +331 -0
  86. package/dist/responses/rules.js.map +1 -0
  87. package/dist/skillScan.d.ts +31 -0
  88. package/dist/skillScan.d.ts.map +1 -1
  89. package/dist/skillScan.js +25 -1
  90. package/dist/skillScan.js.map +1 -1
  91. package/dist/sop.d.ts +8 -1
  92. package/dist/sop.d.ts.map +1 -1
  93. package/dist/sop.js.map +1 -1
  94. package/dist/workspaceSettings.d.ts +25 -10
  95. package/dist/workspaceSettings.d.ts.map +1 -1
  96. package/dist/workspaceSettings.js +2 -1
  97. package/dist/workspaceSettings.js.map +1 -1
  98. package/package.json +2 -2
@@ -0,0 +1,4248 @@
1
+ /**
2
+ * Responses of the control plane routes in notifications.ts, siem.ts, mcpServers.ts, attenuate.ts, compliance.ts, githubWebhooks.ts,
3
+ * openaiAgentTraces.ts, agentcoreGateway.ts, gateLiveness.ts, intelligence.ts and routing.ts.
4
+ *
5
+ * @module
6
+ */
7
+ import { z } from 'zod';
8
+ /**
9
+ * A rule's channel config as `notificationHubService.ts` `redactChannelConfig`
10
+ * returns it: the webhook signing secret dropped, the PagerDuty routing key
11
+ * masked.
12
+ */
13
+ export declare const NotificationChannelConfigResponse: z.ZodObject<{
14
+ slackChannelId: z.ZodOptional<z.ZodString>;
15
+ slackChannelName: z.ZodOptional<z.ZodString>;
16
+ emailRecipients: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
17
+ webhookUrl: z.ZodOptional<z.ZodString>;
18
+ pagerdutyRoutingKey: z.ZodOptional<z.ZodString>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ slackChannelId?: string | undefined;
21
+ slackChannelName?: string | undefined;
22
+ emailRecipients?: string[] | undefined;
23
+ webhookUrl?: string | undefined;
24
+ pagerdutyRoutingKey?: string | undefined;
25
+ }, {
26
+ slackChannelId?: string | undefined;
27
+ slackChannelName?: string | undefined;
28
+ emailRecipients?: string[] | undefined;
29
+ webhookUrl?: string | undefined;
30
+ pagerdutyRoutingKey?: string | undefined;
31
+ }>;
32
+ export type NotificationChannelConfigResponse = z.infer<typeof NotificationChannelConfigResponse>;
33
+ /** A notification rule, as `notificationHubService.ts` `mapRowToRule` returns it. */
34
+ export declare const NotificationRuleResponse: z.ZodObject<{
35
+ ruleId: z.ZodString;
36
+ workspaceId: z.ZodString;
37
+ eventType: z.ZodEnum<["anomaly.detected", "anomaly.finding", "incident.created", "incident.escalated", "sop.status_changed", "session.ended", "decision.pending", "decision.approved", "decision.rejected", "trajectory.alert", "calibration.threshold_breach", "anomaly.drift.detected", "anomaly.capability_miss", "anomaly.trust.updated", "sop.stale.detected", "sop.cascade.alert", "sop.cascade.invalidated", "sop.integrity.drift", "sop.lifecycle.transitioned", "sop.upstream.changed", "guardrail.ready", "guardrail.stale", "mcp.server.candidate", "mcp.server.tool_change_risk", "mcp.server.decided", "mcp.server.tool_toggled", "mcp.budget.threshold", "mcp.budget.exceeded", "judge.review.queued", "finops.budget.exceeded", "finops.budget.threshold", "finops.tokens.classified", "trial.started", "trial.expired_downgraded", "trial.day7_report_sent", "trial.day13_report_sent", "plan.captured", "plan.approved", "plan.deviation.detected", "identity.offboarding.completed", "auth.login.failed", "scim.user.changed", "scim.group.changed", "webhook.secret.rotated", "evidence.exported", "credential.changed", "workspace.context.updated", "gateway.stale.detected", "gateway.cell.stuck_pending", "region.sync.stale", "org.cells.deprovision_scheduled", "org.cells.deprovision_canceled", "org.cells.deprovisioned", "device.enforcement.stale", "device.enforcement.disabled", "governance.gate.silent", "governance.gate.recovered", "governance.integrity.failed", "inventory.ungoverned.detected", "provider.outage.detected", "billing.subscription.past_due", "billing.dunning.downgraded", "billing.dunning.restored", "skill.malware.detected", "skill.semantic.flagged"]>;
38
+ channel: z.ZodEnum<["slack", "email", "webhook", "pagerduty"]>;
39
+ channelConfig: z.ZodObject<{
40
+ slackChannelId: z.ZodOptional<z.ZodString>;
41
+ slackChannelName: z.ZodOptional<z.ZodString>;
42
+ emailRecipients: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
43
+ webhookUrl: z.ZodOptional<z.ZodString>;
44
+ pagerdutyRoutingKey: z.ZodOptional<z.ZodString>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ slackChannelId?: string | undefined;
47
+ slackChannelName?: string | undefined;
48
+ emailRecipients?: string[] | undefined;
49
+ webhookUrl?: string | undefined;
50
+ pagerdutyRoutingKey?: string | undefined;
51
+ }, {
52
+ slackChannelId?: string | undefined;
53
+ slackChannelName?: string | undefined;
54
+ emailRecipients?: string[] | undefined;
55
+ webhookUrl?: string | undefined;
56
+ pagerdutyRoutingKey?: string | undefined;
57
+ }>;
58
+ filters: z.ZodObject<{
59
+ severity: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
60
+ harnessType: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
61
+ userId: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ userId?: string[] | undefined;
64
+ harnessType?: string[] | undefined;
65
+ severity?: string[] | undefined;
66
+ }, {
67
+ userId?: string[] | undefined;
68
+ harnessType?: string[] | undefined;
69
+ severity?: string[] | undefined;
70
+ }>;
71
+ cooldownMinutes: z.ZodNumber;
72
+ enabled: z.ZodBoolean;
73
+ createdAt: z.ZodString;
74
+ updatedAt: z.ZodString;
75
+ signingSecret: z.ZodOptional<z.ZodString>;
76
+ }, "strip", z.ZodTypeAny, {
77
+ workspaceId: string;
78
+ ruleId: string;
79
+ enabled: boolean;
80
+ createdAt: string;
81
+ updatedAt: string;
82
+ eventType: "anomaly.detected" | "anomaly.finding" | "incident.created" | "incident.escalated" | "sop.status_changed" | "session.ended" | "decision.pending" | "decision.approved" | "decision.rejected" | "trajectory.alert" | "calibration.threshold_breach" | "anomaly.drift.detected" | "anomaly.capability_miss" | "anomaly.trust.updated" | "sop.stale.detected" | "sop.cascade.alert" | "sop.cascade.invalidated" | "sop.integrity.drift" | "sop.lifecycle.transitioned" | "sop.upstream.changed" | "guardrail.ready" | "guardrail.stale" | "mcp.server.candidate" | "mcp.server.tool_change_risk" | "mcp.server.decided" | "mcp.server.tool_toggled" | "mcp.budget.threshold" | "mcp.budget.exceeded" | "judge.review.queued" | "finops.budget.exceeded" | "finops.budget.threshold" | "finops.tokens.classified" | "trial.started" | "trial.expired_downgraded" | "trial.day7_report_sent" | "trial.day13_report_sent" | "plan.captured" | "plan.approved" | "plan.deviation.detected" | "identity.offboarding.completed" | "auth.login.failed" | "scim.user.changed" | "scim.group.changed" | "webhook.secret.rotated" | "evidence.exported" | "credential.changed" | "workspace.context.updated" | "gateway.stale.detected" | "gateway.cell.stuck_pending" | "region.sync.stale" | "org.cells.deprovision_scheduled" | "org.cells.deprovision_canceled" | "org.cells.deprovisioned" | "device.enforcement.stale" | "device.enforcement.disabled" | "governance.gate.silent" | "governance.gate.recovered" | "governance.integrity.failed" | "inventory.ungoverned.detected" | "provider.outage.detected" | "billing.subscription.past_due" | "billing.dunning.downgraded" | "billing.dunning.restored" | "skill.malware.detected" | "skill.semantic.flagged";
83
+ channel: "email" | "webhook" | "slack" | "pagerduty";
84
+ channelConfig: {
85
+ slackChannelId?: string | undefined;
86
+ slackChannelName?: string | undefined;
87
+ emailRecipients?: string[] | undefined;
88
+ webhookUrl?: string | undefined;
89
+ pagerdutyRoutingKey?: string | undefined;
90
+ };
91
+ filters: {
92
+ userId?: string[] | undefined;
93
+ harnessType?: string[] | undefined;
94
+ severity?: string[] | undefined;
95
+ };
96
+ cooldownMinutes: number;
97
+ signingSecret?: string | undefined;
98
+ }, {
99
+ workspaceId: string;
100
+ ruleId: string;
101
+ enabled: boolean;
102
+ createdAt: string;
103
+ updatedAt: string;
104
+ eventType: "anomaly.detected" | "anomaly.finding" | "incident.created" | "incident.escalated" | "sop.status_changed" | "session.ended" | "decision.pending" | "decision.approved" | "decision.rejected" | "trajectory.alert" | "calibration.threshold_breach" | "anomaly.drift.detected" | "anomaly.capability_miss" | "anomaly.trust.updated" | "sop.stale.detected" | "sop.cascade.alert" | "sop.cascade.invalidated" | "sop.integrity.drift" | "sop.lifecycle.transitioned" | "sop.upstream.changed" | "guardrail.ready" | "guardrail.stale" | "mcp.server.candidate" | "mcp.server.tool_change_risk" | "mcp.server.decided" | "mcp.server.tool_toggled" | "mcp.budget.threshold" | "mcp.budget.exceeded" | "judge.review.queued" | "finops.budget.exceeded" | "finops.budget.threshold" | "finops.tokens.classified" | "trial.started" | "trial.expired_downgraded" | "trial.day7_report_sent" | "trial.day13_report_sent" | "plan.captured" | "plan.approved" | "plan.deviation.detected" | "identity.offboarding.completed" | "auth.login.failed" | "scim.user.changed" | "scim.group.changed" | "webhook.secret.rotated" | "evidence.exported" | "credential.changed" | "workspace.context.updated" | "gateway.stale.detected" | "gateway.cell.stuck_pending" | "region.sync.stale" | "org.cells.deprovision_scheduled" | "org.cells.deprovision_canceled" | "org.cells.deprovisioned" | "device.enforcement.stale" | "device.enforcement.disabled" | "governance.gate.silent" | "governance.gate.recovered" | "governance.integrity.failed" | "inventory.ungoverned.detected" | "provider.outage.detected" | "billing.subscription.past_due" | "billing.dunning.downgraded" | "billing.dunning.restored" | "skill.malware.detected" | "skill.semantic.flagged";
105
+ channel: "email" | "webhook" | "slack" | "pagerduty";
106
+ channelConfig: {
107
+ slackChannelId?: string | undefined;
108
+ slackChannelName?: string | undefined;
109
+ emailRecipients?: string[] | undefined;
110
+ webhookUrl?: string | undefined;
111
+ pagerdutyRoutingKey?: string | undefined;
112
+ };
113
+ filters: {
114
+ userId?: string[] | undefined;
115
+ harnessType?: string[] | undefined;
116
+ severity?: string[] | undefined;
117
+ };
118
+ cooldownMinutes: number;
119
+ signingSecret?: string | undefined;
120
+ }>;
121
+ export type NotificationRuleResponse = z.infer<typeof NotificationRuleResponse>;
122
+ /** `GET /api/v1/notifications/rules`: the workspace's rules, oldest first. */
123
+ export declare const NotificationRuleListResponse: z.ZodObject<{
124
+ listProperty: z.ZodLiteral<"rules">;
125
+ rowCase: z.ZodLiteral<"camel">;
126
+ } & {
127
+ rules: z.ZodArray<z.ZodObject<{
128
+ ruleId: z.ZodString;
129
+ workspaceId: z.ZodString;
130
+ eventType: z.ZodEnum<["anomaly.detected", "anomaly.finding", "incident.created", "incident.escalated", "sop.status_changed", "session.ended", "decision.pending", "decision.approved", "decision.rejected", "trajectory.alert", "calibration.threshold_breach", "anomaly.drift.detected", "anomaly.capability_miss", "anomaly.trust.updated", "sop.stale.detected", "sop.cascade.alert", "sop.cascade.invalidated", "sop.integrity.drift", "sop.lifecycle.transitioned", "sop.upstream.changed", "guardrail.ready", "guardrail.stale", "mcp.server.candidate", "mcp.server.tool_change_risk", "mcp.server.decided", "mcp.server.tool_toggled", "mcp.budget.threshold", "mcp.budget.exceeded", "judge.review.queued", "finops.budget.exceeded", "finops.budget.threshold", "finops.tokens.classified", "trial.started", "trial.expired_downgraded", "trial.day7_report_sent", "trial.day13_report_sent", "plan.captured", "plan.approved", "plan.deviation.detected", "identity.offboarding.completed", "auth.login.failed", "scim.user.changed", "scim.group.changed", "webhook.secret.rotated", "evidence.exported", "credential.changed", "workspace.context.updated", "gateway.stale.detected", "gateway.cell.stuck_pending", "region.sync.stale", "org.cells.deprovision_scheduled", "org.cells.deprovision_canceled", "org.cells.deprovisioned", "device.enforcement.stale", "device.enforcement.disabled", "governance.gate.silent", "governance.gate.recovered", "governance.integrity.failed", "inventory.ungoverned.detected", "provider.outage.detected", "billing.subscription.past_due", "billing.dunning.downgraded", "billing.dunning.restored", "skill.malware.detected", "skill.semantic.flagged"]>;
131
+ channel: z.ZodEnum<["slack", "email", "webhook", "pagerduty"]>;
132
+ channelConfig: z.ZodObject<{
133
+ slackChannelId: z.ZodOptional<z.ZodString>;
134
+ slackChannelName: z.ZodOptional<z.ZodString>;
135
+ emailRecipients: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
136
+ webhookUrl: z.ZodOptional<z.ZodString>;
137
+ pagerdutyRoutingKey: z.ZodOptional<z.ZodString>;
138
+ }, "strip", z.ZodTypeAny, {
139
+ slackChannelId?: string | undefined;
140
+ slackChannelName?: string | undefined;
141
+ emailRecipients?: string[] | undefined;
142
+ webhookUrl?: string | undefined;
143
+ pagerdutyRoutingKey?: string | undefined;
144
+ }, {
145
+ slackChannelId?: string | undefined;
146
+ slackChannelName?: string | undefined;
147
+ emailRecipients?: string[] | undefined;
148
+ webhookUrl?: string | undefined;
149
+ pagerdutyRoutingKey?: string | undefined;
150
+ }>;
151
+ filters: z.ZodObject<{
152
+ severity: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
153
+ harnessType: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
154
+ userId: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
155
+ }, "strip", z.ZodTypeAny, {
156
+ userId?: string[] | undefined;
157
+ harnessType?: string[] | undefined;
158
+ severity?: string[] | undefined;
159
+ }, {
160
+ userId?: string[] | undefined;
161
+ harnessType?: string[] | undefined;
162
+ severity?: string[] | undefined;
163
+ }>;
164
+ cooldownMinutes: z.ZodNumber;
165
+ enabled: z.ZodBoolean;
166
+ createdAt: z.ZodString;
167
+ updatedAt: z.ZodString;
168
+ signingSecret: z.ZodOptional<z.ZodString>;
169
+ }, "strip", z.ZodTypeAny, {
170
+ workspaceId: string;
171
+ ruleId: string;
172
+ enabled: boolean;
173
+ createdAt: string;
174
+ updatedAt: string;
175
+ eventType: "anomaly.detected" | "anomaly.finding" | "incident.created" | "incident.escalated" | "sop.status_changed" | "session.ended" | "decision.pending" | "decision.approved" | "decision.rejected" | "trajectory.alert" | "calibration.threshold_breach" | "anomaly.drift.detected" | "anomaly.capability_miss" | "anomaly.trust.updated" | "sop.stale.detected" | "sop.cascade.alert" | "sop.cascade.invalidated" | "sop.integrity.drift" | "sop.lifecycle.transitioned" | "sop.upstream.changed" | "guardrail.ready" | "guardrail.stale" | "mcp.server.candidate" | "mcp.server.tool_change_risk" | "mcp.server.decided" | "mcp.server.tool_toggled" | "mcp.budget.threshold" | "mcp.budget.exceeded" | "judge.review.queued" | "finops.budget.exceeded" | "finops.budget.threshold" | "finops.tokens.classified" | "trial.started" | "trial.expired_downgraded" | "trial.day7_report_sent" | "trial.day13_report_sent" | "plan.captured" | "plan.approved" | "plan.deviation.detected" | "identity.offboarding.completed" | "auth.login.failed" | "scim.user.changed" | "scim.group.changed" | "webhook.secret.rotated" | "evidence.exported" | "credential.changed" | "workspace.context.updated" | "gateway.stale.detected" | "gateway.cell.stuck_pending" | "region.sync.stale" | "org.cells.deprovision_scheduled" | "org.cells.deprovision_canceled" | "org.cells.deprovisioned" | "device.enforcement.stale" | "device.enforcement.disabled" | "governance.gate.silent" | "governance.gate.recovered" | "governance.integrity.failed" | "inventory.ungoverned.detected" | "provider.outage.detected" | "billing.subscription.past_due" | "billing.dunning.downgraded" | "billing.dunning.restored" | "skill.malware.detected" | "skill.semantic.flagged";
176
+ channel: "email" | "webhook" | "slack" | "pagerduty";
177
+ channelConfig: {
178
+ slackChannelId?: string | undefined;
179
+ slackChannelName?: string | undefined;
180
+ emailRecipients?: string[] | undefined;
181
+ webhookUrl?: string | undefined;
182
+ pagerdutyRoutingKey?: string | undefined;
183
+ };
184
+ filters: {
185
+ userId?: string[] | undefined;
186
+ harnessType?: string[] | undefined;
187
+ severity?: string[] | undefined;
188
+ };
189
+ cooldownMinutes: number;
190
+ signingSecret?: string | undefined;
191
+ }, {
192
+ workspaceId: string;
193
+ ruleId: string;
194
+ enabled: boolean;
195
+ createdAt: string;
196
+ updatedAt: string;
197
+ eventType: "anomaly.detected" | "anomaly.finding" | "incident.created" | "incident.escalated" | "sop.status_changed" | "session.ended" | "decision.pending" | "decision.approved" | "decision.rejected" | "trajectory.alert" | "calibration.threshold_breach" | "anomaly.drift.detected" | "anomaly.capability_miss" | "anomaly.trust.updated" | "sop.stale.detected" | "sop.cascade.alert" | "sop.cascade.invalidated" | "sop.integrity.drift" | "sop.lifecycle.transitioned" | "sop.upstream.changed" | "guardrail.ready" | "guardrail.stale" | "mcp.server.candidate" | "mcp.server.tool_change_risk" | "mcp.server.decided" | "mcp.server.tool_toggled" | "mcp.budget.threshold" | "mcp.budget.exceeded" | "judge.review.queued" | "finops.budget.exceeded" | "finops.budget.threshold" | "finops.tokens.classified" | "trial.started" | "trial.expired_downgraded" | "trial.day7_report_sent" | "trial.day13_report_sent" | "plan.captured" | "plan.approved" | "plan.deviation.detected" | "identity.offboarding.completed" | "auth.login.failed" | "scim.user.changed" | "scim.group.changed" | "webhook.secret.rotated" | "evidence.exported" | "credential.changed" | "workspace.context.updated" | "gateway.stale.detected" | "gateway.cell.stuck_pending" | "region.sync.stale" | "org.cells.deprovision_scheduled" | "org.cells.deprovision_canceled" | "org.cells.deprovisioned" | "device.enforcement.stale" | "device.enforcement.disabled" | "governance.gate.silent" | "governance.gate.recovered" | "governance.integrity.failed" | "inventory.ungoverned.detected" | "provider.outage.detected" | "billing.subscription.past_due" | "billing.dunning.downgraded" | "billing.dunning.restored" | "skill.malware.detected" | "skill.semantic.flagged";
198
+ channel: "email" | "webhook" | "slack" | "pagerduty";
199
+ channelConfig: {
200
+ slackChannelId?: string | undefined;
201
+ slackChannelName?: string | undefined;
202
+ emailRecipients?: string[] | undefined;
203
+ webhookUrl?: string | undefined;
204
+ pagerdutyRoutingKey?: string | undefined;
205
+ };
206
+ filters: {
207
+ userId?: string[] | undefined;
208
+ harnessType?: string[] | undefined;
209
+ severity?: string[] | undefined;
210
+ };
211
+ cooldownMinutes: number;
212
+ signingSecret?: string | undefined;
213
+ }>, "many">;
214
+ }, "strip", z.ZodTypeAny, {
215
+ rules: {
216
+ workspaceId: string;
217
+ ruleId: string;
218
+ enabled: boolean;
219
+ createdAt: string;
220
+ updatedAt: string;
221
+ eventType: "anomaly.detected" | "anomaly.finding" | "incident.created" | "incident.escalated" | "sop.status_changed" | "session.ended" | "decision.pending" | "decision.approved" | "decision.rejected" | "trajectory.alert" | "calibration.threshold_breach" | "anomaly.drift.detected" | "anomaly.capability_miss" | "anomaly.trust.updated" | "sop.stale.detected" | "sop.cascade.alert" | "sop.cascade.invalidated" | "sop.integrity.drift" | "sop.lifecycle.transitioned" | "sop.upstream.changed" | "guardrail.ready" | "guardrail.stale" | "mcp.server.candidate" | "mcp.server.tool_change_risk" | "mcp.server.decided" | "mcp.server.tool_toggled" | "mcp.budget.threshold" | "mcp.budget.exceeded" | "judge.review.queued" | "finops.budget.exceeded" | "finops.budget.threshold" | "finops.tokens.classified" | "trial.started" | "trial.expired_downgraded" | "trial.day7_report_sent" | "trial.day13_report_sent" | "plan.captured" | "plan.approved" | "plan.deviation.detected" | "identity.offboarding.completed" | "auth.login.failed" | "scim.user.changed" | "scim.group.changed" | "webhook.secret.rotated" | "evidence.exported" | "credential.changed" | "workspace.context.updated" | "gateway.stale.detected" | "gateway.cell.stuck_pending" | "region.sync.stale" | "org.cells.deprovision_scheduled" | "org.cells.deprovision_canceled" | "org.cells.deprovisioned" | "device.enforcement.stale" | "device.enforcement.disabled" | "governance.gate.silent" | "governance.gate.recovered" | "governance.integrity.failed" | "inventory.ungoverned.detected" | "provider.outage.detected" | "billing.subscription.past_due" | "billing.dunning.downgraded" | "billing.dunning.restored" | "skill.malware.detected" | "skill.semantic.flagged";
222
+ channel: "email" | "webhook" | "slack" | "pagerduty";
223
+ channelConfig: {
224
+ slackChannelId?: string | undefined;
225
+ slackChannelName?: string | undefined;
226
+ emailRecipients?: string[] | undefined;
227
+ webhookUrl?: string | undefined;
228
+ pagerdutyRoutingKey?: string | undefined;
229
+ };
230
+ filters: {
231
+ userId?: string[] | undefined;
232
+ harnessType?: string[] | undefined;
233
+ severity?: string[] | undefined;
234
+ };
235
+ cooldownMinutes: number;
236
+ signingSecret?: string | undefined;
237
+ }[];
238
+ listProperty: "rules";
239
+ rowCase: "camel";
240
+ }, {
241
+ rules: {
242
+ workspaceId: string;
243
+ ruleId: string;
244
+ enabled: boolean;
245
+ createdAt: string;
246
+ updatedAt: string;
247
+ eventType: "anomaly.detected" | "anomaly.finding" | "incident.created" | "incident.escalated" | "sop.status_changed" | "session.ended" | "decision.pending" | "decision.approved" | "decision.rejected" | "trajectory.alert" | "calibration.threshold_breach" | "anomaly.drift.detected" | "anomaly.capability_miss" | "anomaly.trust.updated" | "sop.stale.detected" | "sop.cascade.alert" | "sop.cascade.invalidated" | "sop.integrity.drift" | "sop.lifecycle.transitioned" | "sop.upstream.changed" | "guardrail.ready" | "guardrail.stale" | "mcp.server.candidate" | "mcp.server.tool_change_risk" | "mcp.server.decided" | "mcp.server.tool_toggled" | "mcp.budget.threshold" | "mcp.budget.exceeded" | "judge.review.queued" | "finops.budget.exceeded" | "finops.budget.threshold" | "finops.tokens.classified" | "trial.started" | "trial.expired_downgraded" | "trial.day7_report_sent" | "trial.day13_report_sent" | "plan.captured" | "plan.approved" | "plan.deviation.detected" | "identity.offboarding.completed" | "auth.login.failed" | "scim.user.changed" | "scim.group.changed" | "webhook.secret.rotated" | "evidence.exported" | "credential.changed" | "workspace.context.updated" | "gateway.stale.detected" | "gateway.cell.stuck_pending" | "region.sync.stale" | "org.cells.deprovision_scheduled" | "org.cells.deprovision_canceled" | "org.cells.deprovisioned" | "device.enforcement.stale" | "device.enforcement.disabled" | "governance.gate.silent" | "governance.gate.recovered" | "governance.integrity.failed" | "inventory.ungoverned.detected" | "provider.outage.detected" | "billing.subscription.past_due" | "billing.dunning.downgraded" | "billing.dunning.restored" | "skill.malware.detected" | "skill.semantic.flagged";
248
+ channel: "email" | "webhook" | "slack" | "pagerduty";
249
+ channelConfig: {
250
+ slackChannelId?: string | undefined;
251
+ slackChannelName?: string | undefined;
252
+ emailRecipients?: string[] | undefined;
253
+ webhookUrl?: string | undefined;
254
+ pagerdutyRoutingKey?: string | undefined;
255
+ };
256
+ filters: {
257
+ userId?: string[] | undefined;
258
+ harnessType?: string[] | undefined;
259
+ severity?: string[] | undefined;
260
+ };
261
+ cooldownMinutes: number;
262
+ signingSecret?: string | undefined;
263
+ }[];
264
+ listProperty: "rules";
265
+ rowCase: "camel";
266
+ }>;
267
+ export type NotificationRuleListResponse = z.infer<typeof NotificationRuleListResponse>;
268
+ /** `DELETE /api/v1/notifications/rules/:ruleId`. */
269
+ export declare const NotificationRuleDeletedResponse: z.ZodObject<{
270
+ ok: z.ZodLiteral<true>;
271
+ }, "strip", z.ZodTypeAny, {
272
+ ok: true;
273
+ }, {
274
+ ok: true;
275
+ }>;
276
+ export type NotificationRuleDeletedResponse = z.infer<typeof NotificationRuleDeletedResponse>;
277
+ /** `POST /api/v1/notifications/rules/:ruleId/signing-secret`: the new secret, returned once. */
278
+ export declare const NotificationRuleSigningSecretResponse: z.ZodObject<{
279
+ ruleId: z.ZodString;
280
+ signingSecret: z.ZodString;
281
+ }, "strip", z.ZodTypeAny, {
282
+ ruleId: string;
283
+ signingSecret: string;
284
+ }, {
285
+ ruleId: string;
286
+ signingSecret: string;
287
+ }>;
288
+ export type NotificationRuleSigningSecretResponse = z.infer<typeof NotificationRuleSigningSecretResponse>;
289
+ /** A destination as `GET /api/v1/siem/destinations` lists it: no config. */
290
+ export declare const SiemDestinationSummaryResponse: z.ZodObject<{
291
+ lastHeartbeatAt: z.ZodNullable<z.ZodString>;
292
+ lastError: z.ZodNullable<z.ZodString>;
293
+ createdAt: z.ZodString;
294
+ updatedAt: z.ZodString;
295
+ destinationId: z.ZodString;
296
+ workspaceId: z.ZodString;
297
+ name: z.ZodString;
298
+ adapterType: z.ZodEnum<["syslog_cef", "webhook_https", "gcs", "s3", "splunk_hec", "datadog_logs"]>;
299
+ isActive: z.ZodBoolean;
300
+ sourceTables: z.ZodArray<z.ZodString, "many">;
301
+ batchSize: z.ZodNumber;
302
+ flushIntervalMs: z.ZodNumber;
303
+ pausedReason: z.ZodNullable<z.ZodString>;
304
+ }, "strip", z.ZodTypeAny, {
305
+ workspaceId: string;
306
+ name: string;
307
+ isActive: boolean;
308
+ createdAt: string;
309
+ updatedAt: string;
310
+ lastHeartbeatAt: string | null;
311
+ lastError: string | null;
312
+ destinationId: string;
313
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
314
+ sourceTables: string[];
315
+ batchSize: number;
316
+ flushIntervalMs: number;
317
+ pausedReason: string | null;
318
+ }, {
319
+ workspaceId: string;
320
+ name: string;
321
+ isActive: boolean;
322
+ createdAt: string;
323
+ updatedAt: string;
324
+ lastHeartbeatAt: string | null;
325
+ lastError: string | null;
326
+ destinationId: string;
327
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
328
+ sourceTables: string[];
329
+ batchSize: number;
330
+ flushIntervalMs: number;
331
+ pausedReason: string | null;
332
+ }>;
333
+ export type SiemDestinationSummaryResponse = z.infer<typeof SiemDestinationSummaryResponse>;
334
+ /** `GET /api/v1/siem/destinations`: the destinations and the source names one can filter on. */
335
+ export declare const SiemDestinationListResponse: z.ZodObject<{
336
+ items: z.ZodArray<z.ZodObject<{
337
+ lastHeartbeatAt: z.ZodNullable<z.ZodString>;
338
+ lastError: z.ZodNullable<z.ZodString>;
339
+ createdAt: z.ZodString;
340
+ updatedAt: z.ZodString;
341
+ destinationId: z.ZodString;
342
+ workspaceId: z.ZodString;
343
+ name: z.ZodString;
344
+ adapterType: z.ZodEnum<["syslog_cef", "webhook_https", "gcs", "s3", "splunk_hec", "datadog_logs"]>;
345
+ isActive: z.ZodBoolean;
346
+ sourceTables: z.ZodArray<z.ZodString, "many">;
347
+ batchSize: z.ZodNumber;
348
+ flushIntervalMs: z.ZodNumber;
349
+ pausedReason: z.ZodNullable<z.ZodString>;
350
+ }, "strip", z.ZodTypeAny, {
351
+ workspaceId: string;
352
+ name: string;
353
+ isActive: boolean;
354
+ createdAt: string;
355
+ updatedAt: string;
356
+ lastHeartbeatAt: string | null;
357
+ lastError: string | null;
358
+ destinationId: string;
359
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
360
+ sourceTables: string[];
361
+ batchSize: number;
362
+ flushIntervalMs: number;
363
+ pausedReason: string | null;
364
+ }, {
365
+ workspaceId: string;
366
+ name: string;
367
+ isActive: boolean;
368
+ createdAt: string;
369
+ updatedAt: string;
370
+ lastHeartbeatAt: string | null;
371
+ lastError: string | null;
372
+ destinationId: string;
373
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
374
+ sourceTables: string[];
375
+ batchSize: number;
376
+ flushIntervalMs: number;
377
+ pausedReason: string | null;
378
+ }>, "many">;
379
+ sources: z.ZodObject<{
380
+ all: z.ZodArray<z.ZodString, "many">;
381
+ defaults: z.ZodArray<z.ZodString, "many">;
382
+ }, "strip", z.ZodTypeAny, {
383
+ all: string[];
384
+ defaults: string[];
385
+ }, {
386
+ all: string[];
387
+ defaults: string[];
388
+ }>;
389
+ }, "strip", z.ZodTypeAny, {
390
+ items: {
391
+ workspaceId: string;
392
+ name: string;
393
+ isActive: boolean;
394
+ createdAt: string;
395
+ updatedAt: string;
396
+ lastHeartbeatAt: string | null;
397
+ lastError: string | null;
398
+ destinationId: string;
399
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
400
+ sourceTables: string[];
401
+ batchSize: number;
402
+ flushIntervalMs: number;
403
+ pausedReason: string | null;
404
+ }[];
405
+ sources: {
406
+ all: string[];
407
+ defaults: string[];
408
+ };
409
+ }, {
410
+ items: {
411
+ workspaceId: string;
412
+ name: string;
413
+ isActive: boolean;
414
+ createdAt: string;
415
+ updatedAt: string;
416
+ lastHeartbeatAt: string | null;
417
+ lastError: string | null;
418
+ destinationId: string;
419
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
420
+ sourceTables: string[];
421
+ batchSize: number;
422
+ flushIntervalMs: number;
423
+ pausedReason: string | null;
424
+ }[];
425
+ sources: {
426
+ all: string[];
427
+ defaults: string[];
428
+ };
429
+ }>;
430
+ export type SiemDestinationListResponse = z.infer<typeof SiemDestinationListResponse>;
431
+ /** `GET /api/v1/siem/destinations/:id`. */
432
+ export declare const SiemDestinationResponse: z.ZodObject<{
433
+ config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
434
+ lastHeartbeatAt: z.ZodNullable<z.ZodString>;
435
+ lastError: z.ZodNullable<z.ZodString>;
436
+ createdAt: z.ZodString;
437
+ updatedAt: z.ZodString;
438
+ destinationId: z.ZodString;
439
+ workspaceId: z.ZodString;
440
+ name: z.ZodString;
441
+ adapterType: z.ZodEnum<["syslog_cef", "webhook_https", "gcs", "s3", "splunk_hec", "datadog_logs"]>;
442
+ isActive: z.ZodBoolean;
443
+ sourceTables: z.ZodArray<z.ZodString, "many">;
444
+ batchSize: z.ZodNumber;
445
+ flushIntervalMs: z.ZodNumber;
446
+ pausedReason: z.ZodNullable<z.ZodString>;
447
+ }, "strip", z.ZodTypeAny, {
448
+ workspaceId: string;
449
+ name: string;
450
+ isActive: boolean;
451
+ createdAt: string;
452
+ updatedAt: string;
453
+ lastHeartbeatAt: string | null;
454
+ config: Record<string, unknown>;
455
+ lastError: string | null;
456
+ destinationId: string;
457
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
458
+ sourceTables: string[];
459
+ batchSize: number;
460
+ flushIntervalMs: number;
461
+ pausedReason: string | null;
462
+ }, {
463
+ workspaceId: string;
464
+ name: string;
465
+ isActive: boolean;
466
+ createdAt: string;
467
+ updatedAt: string;
468
+ lastHeartbeatAt: string | null;
469
+ config: Record<string, unknown>;
470
+ lastError: string | null;
471
+ destinationId: string;
472
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
473
+ sourceTables: string[];
474
+ batchSize: number;
475
+ flushIntervalMs: number;
476
+ pausedReason: string | null;
477
+ }>;
478
+ export type SiemDestinationResponse = z.infer<typeof SiemDestinationResponse>;
479
+ /** `PUT /api/v1/siem/destinations/:id`: the destination after the edit. */
480
+ export declare const SiemDestinationUpdatedResponse: z.ZodObject<{
481
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
482
+ lastHeartbeatAt: z.ZodNullable<z.ZodString>;
483
+ lastError: z.ZodNullable<z.ZodString>;
484
+ createdAt: z.ZodString;
485
+ updatedAt: z.ZodString;
486
+ destinationId: z.ZodString;
487
+ workspaceId: z.ZodString;
488
+ name: z.ZodString;
489
+ adapterType: z.ZodEnum<["syslog_cef", "webhook_https", "gcs", "s3", "splunk_hec", "datadog_logs"]>;
490
+ isActive: z.ZodBoolean;
491
+ sourceTables: z.ZodArray<z.ZodString, "many">;
492
+ batchSize: z.ZodNumber;
493
+ flushIntervalMs: z.ZodNumber;
494
+ pausedReason: z.ZodNullable<z.ZodString>;
495
+ }, "strip", z.ZodTypeAny, {
496
+ workspaceId: string;
497
+ name: string;
498
+ isActive: boolean;
499
+ createdAt: string;
500
+ updatedAt: string;
501
+ lastHeartbeatAt: string | null;
502
+ lastError: string | null;
503
+ destinationId: string;
504
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
505
+ sourceTables: string[];
506
+ batchSize: number;
507
+ flushIntervalMs: number;
508
+ pausedReason: string | null;
509
+ config?: Record<string, unknown> | undefined;
510
+ }, {
511
+ workspaceId: string;
512
+ name: string;
513
+ isActive: boolean;
514
+ createdAt: string;
515
+ updatedAt: string;
516
+ lastHeartbeatAt: string | null;
517
+ lastError: string | null;
518
+ destinationId: string;
519
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
520
+ sourceTables: string[];
521
+ batchSize: number;
522
+ flushIntervalMs: number;
523
+ pausedReason: string | null;
524
+ config?: Record<string, unknown> | undefined;
525
+ }>;
526
+ export type SiemDestinationUpdatedResponse = z.infer<typeof SiemDestinationUpdatedResponse>;
527
+ /** `POST /api/v1/siem/destinations`: the new destination. */
528
+ export declare const SiemDestinationCreatedResponse: z.ZodObject<{
529
+ config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
530
+ signingSecret: z.ZodOptional<z.ZodString>;
531
+ destinationId: z.ZodString;
532
+ workspaceId: z.ZodString;
533
+ name: z.ZodString;
534
+ adapterType: z.ZodEnum<["syslog_cef", "webhook_https", "gcs", "s3", "splunk_hec", "datadog_logs"]>;
535
+ isActive: z.ZodBoolean;
536
+ sourceTables: z.ZodArray<z.ZodString, "many">;
537
+ batchSize: z.ZodNumber;
538
+ flushIntervalMs: z.ZodNumber;
539
+ pausedReason: z.ZodNullable<z.ZodString>;
540
+ }, "strip", z.ZodTypeAny, {
541
+ workspaceId: string;
542
+ name: string;
543
+ isActive: boolean;
544
+ config: Record<string, unknown>;
545
+ destinationId: string;
546
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
547
+ sourceTables: string[];
548
+ batchSize: number;
549
+ flushIntervalMs: number;
550
+ pausedReason: string | null;
551
+ signingSecret?: string | undefined;
552
+ }, {
553
+ workspaceId: string;
554
+ name: string;
555
+ isActive: boolean;
556
+ config: Record<string, unknown>;
557
+ destinationId: string;
558
+ adapterType: "gcs" | "s3" | "syslog_cef" | "webhook_https" | "splunk_hec" | "datadog_logs";
559
+ sourceTables: string[];
560
+ batchSize: number;
561
+ flushIntervalMs: number;
562
+ pausedReason: string | null;
563
+ signingSecret?: string | undefined;
564
+ }>;
565
+ export type SiemDestinationCreatedResponse = z.infer<typeof SiemDestinationCreatedResponse>;
566
+ /** `DELETE /api/v1/siem/destinations/:id`: the destination is deactivated, not removed. */
567
+ export declare const SiemDestinationDeactivatedResponse: z.ZodObject<{
568
+ success: z.ZodLiteral<true>;
569
+ destinationId: z.ZodString;
570
+ isActive: z.ZodLiteral<false>;
571
+ }, "strip", z.ZodTypeAny, {
572
+ isActive: false;
573
+ success: true;
574
+ destinationId: string;
575
+ }, {
576
+ isActive: false;
577
+ success: true;
578
+ destinationId: string;
579
+ }>;
580
+ export type SiemDestinationDeactivatedResponse = z.infer<typeof SiemDestinationDeactivatedResponse>;
581
+ /** `POST /api/v1/siem/destinations/:id/signing-secret`: the new secret, returned once. */
582
+ export declare const SiemSigningSecretResponse: z.ZodObject<{
583
+ destinationId: z.ZodString;
584
+ signingSecret: z.ZodString;
585
+ }, "strip", z.ZodTypeAny, {
586
+ signingSecret: string;
587
+ destinationId: string;
588
+ }, {
589
+ signingSecret: string;
590
+ destinationId: string;
591
+ }>;
592
+ export type SiemSigningSecretResponse = z.infer<typeof SiemSigningSecretResponse>;
593
+ /** The latest scored change to a server's tool set (`mcpRegistryService.ts` `toToolChange`). */
594
+ export declare const McpToolChangeResponse: z.ZodObject<{
595
+ changeId: z.ZodString;
596
+ createdAt: z.ZodString;
597
+ riskScore: z.ZodNumber;
598
+ riskLevel: z.ZodEnum<["none", "low", "medium", "high"]>;
599
+ reasons: z.ZodArray<z.ZodObject<{
600
+ rule: z.ZodString;
601
+ tool: z.ZodString;
602
+ points: z.ZodNumber;
603
+ detail: z.ZodString;
604
+ }, "strip", z.ZodTypeAny, {
605
+ tool: string;
606
+ rule: string;
607
+ detail: string;
608
+ points: number;
609
+ }, {
610
+ tool: string;
611
+ rule: string;
612
+ detail: string;
613
+ points: number;
614
+ }>, "many">;
615
+ added: z.ZodArray<z.ZodString, "many">;
616
+ removed: z.ZodArray<z.ZodString, "many">;
617
+ changed: z.ZodArray<z.ZodString, "many">;
618
+ }, "strip", z.ZodTypeAny, {
619
+ createdAt: string;
620
+ reasons: {
621
+ tool: string;
622
+ rule: string;
623
+ detail: string;
624
+ points: number;
625
+ }[];
626
+ changeId: string;
627
+ riskScore: number;
628
+ riskLevel: "high" | "medium" | "low" | "none";
629
+ added: string[];
630
+ removed: string[];
631
+ changed: string[];
632
+ }, {
633
+ createdAt: string;
634
+ reasons: {
635
+ tool: string;
636
+ rule: string;
637
+ detail: string;
638
+ points: number;
639
+ }[];
640
+ changeId: string;
641
+ riskScore: number;
642
+ riskLevel: "high" | "medium" | "low" | "none";
643
+ added: string[];
644
+ removed: string[];
645
+ changed: string[];
646
+ }>;
647
+ export type McpToolChangeResponse = z.infer<typeof McpToolChangeResponse>;
648
+ /** An MCP server the workspace's proxies have seen (`mcpRegistryService.ts` `toRow`). */
649
+ export declare const McpServerResponse: z.ZodObject<{
650
+ serverId: z.ZodString;
651
+ serverName: z.ZodString;
652
+ status: z.ZodEnum<["candidate", "approved", "blocked"]>;
653
+ harness: z.ZodNullable<z.ZodString>;
654
+ transport: z.ZodNullable<z.ZodString>;
655
+ pinFingerprint: z.ZodNullable<z.ZodString>;
656
+ tools: z.ZodArray<z.ZodString, "many">;
657
+ disabledTools: z.ZodArray<z.ZodString, "many">;
658
+ firstSeenAt: z.ZodString;
659
+ lastSeenAt: z.ZodString;
660
+ decidedBy: z.ZodNullable<z.ZodString>;
661
+ decidedAt: z.ZodNullable<z.ZodString>;
662
+ ungovernedReason: z.ZodNullable<z.ZodString>;
663
+ heldForReview: z.ZodBoolean;
664
+ lastToolChange: z.ZodNullable<z.ZodObject<{
665
+ changeId: z.ZodString;
666
+ createdAt: z.ZodString;
667
+ riskScore: z.ZodNumber;
668
+ riskLevel: z.ZodEnum<["none", "low", "medium", "high"]>;
669
+ reasons: z.ZodArray<z.ZodObject<{
670
+ rule: z.ZodString;
671
+ tool: z.ZodString;
672
+ points: z.ZodNumber;
673
+ detail: z.ZodString;
674
+ }, "strip", z.ZodTypeAny, {
675
+ tool: string;
676
+ rule: string;
677
+ detail: string;
678
+ points: number;
679
+ }, {
680
+ tool: string;
681
+ rule: string;
682
+ detail: string;
683
+ points: number;
684
+ }>, "many">;
685
+ added: z.ZodArray<z.ZodString, "many">;
686
+ removed: z.ZodArray<z.ZodString, "many">;
687
+ changed: z.ZodArray<z.ZodString, "many">;
688
+ }, "strip", z.ZodTypeAny, {
689
+ createdAt: string;
690
+ reasons: {
691
+ tool: string;
692
+ rule: string;
693
+ detail: string;
694
+ points: number;
695
+ }[];
696
+ changeId: string;
697
+ riskScore: number;
698
+ riskLevel: "high" | "medium" | "low" | "none";
699
+ added: string[];
700
+ removed: string[];
701
+ changed: string[];
702
+ }, {
703
+ createdAt: string;
704
+ reasons: {
705
+ tool: string;
706
+ rule: string;
707
+ detail: string;
708
+ points: number;
709
+ }[];
710
+ changeId: string;
711
+ riskScore: number;
712
+ riskLevel: "high" | "medium" | "low" | "none";
713
+ added: string[];
714
+ removed: string[];
715
+ changed: string[];
716
+ }>>;
717
+ }, "strip", z.ZodTypeAny, {
718
+ status: "approved" | "candidate" | "blocked";
719
+ harness: string | null;
720
+ tools: string[];
721
+ disabledTools: string[];
722
+ decidedBy: string | null;
723
+ decidedAt: string | null;
724
+ firstSeenAt: string;
725
+ lastSeenAt: string;
726
+ transport: string | null;
727
+ serverId: string;
728
+ serverName: string;
729
+ pinFingerprint: string | null;
730
+ ungovernedReason: string | null;
731
+ heldForReview: boolean;
732
+ lastToolChange: {
733
+ createdAt: string;
734
+ reasons: {
735
+ tool: string;
736
+ rule: string;
737
+ detail: string;
738
+ points: number;
739
+ }[];
740
+ changeId: string;
741
+ riskScore: number;
742
+ riskLevel: "high" | "medium" | "low" | "none";
743
+ added: string[];
744
+ removed: string[];
745
+ changed: string[];
746
+ } | null;
747
+ }, {
748
+ status: "approved" | "candidate" | "blocked";
749
+ harness: string | null;
750
+ tools: string[];
751
+ disabledTools: string[];
752
+ decidedBy: string | null;
753
+ decidedAt: string | null;
754
+ firstSeenAt: string;
755
+ lastSeenAt: string;
756
+ transport: string | null;
757
+ serverId: string;
758
+ serverName: string;
759
+ pinFingerprint: string | null;
760
+ ungovernedReason: string | null;
761
+ heldForReview: boolean;
762
+ lastToolChange: {
763
+ createdAt: string;
764
+ reasons: {
765
+ tool: string;
766
+ rule: string;
767
+ detail: string;
768
+ points: number;
769
+ }[];
770
+ changeId: string;
771
+ riskScore: number;
772
+ riskLevel: "high" | "medium" | "low" | "none";
773
+ added: string[];
774
+ removed: string[];
775
+ changed: string[];
776
+ } | null;
777
+ }>;
778
+ export type McpServerResponse = z.infer<typeof McpServerResponse>;
779
+ /** One MCP call budget, as the `mcpBudgets` workspace setting stores it. */
780
+ export declare const McpBudgetResponse: z.ZodObject<{
781
+ id: z.ZodString;
782
+ scope: z.ZodEnum<["server", "tool", "member", "member_server"]>;
783
+ server: z.ZodOptional<z.ZodString>;
784
+ tool: z.ZodOptional<z.ZodString>;
785
+ memberId: z.ZodOptional<z.ZodString>;
786
+ period: z.ZodEnum<["hour", "day"]>;
787
+ limit: z.ZodNumber;
788
+ }, "strip", z.ZodTypeAny, {
789
+ period: "day" | "hour";
790
+ id: string;
791
+ limit: number;
792
+ scope: "member" | "tool" | "server" | "member_server";
793
+ tool?: string | undefined;
794
+ server?: string | undefined;
795
+ memberId?: string | undefined;
796
+ }, {
797
+ period: "day" | "hour";
798
+ id: string;
799
+ limit: number;
800
+ scope: "member" | "tool" | "server" | "member_server";
801
+ tool?: string | undefined;
802
+ server?: string | undefined;
803
+ memberId?: string | undefined;
804
+ }>;
805
+ export type McpBudgetResponse = z.infer<typeof McpBudgetResponse>;
806
+ /** `GET /api/v1/mcp/servers`: the servers, most recently seen first, and the registry's workspace settings. */
807
+ export declare const McpServerListResponse: z.ZodObject<{
808
+ listProperty: z.ZodLiteral<"servers">;
809
+ rowCase: z.ZodLiteral<"camel">;
810
+ } & {
811
+ servers: z.ZodArray<z.ZodObject<{
812
+ serverId: z.ZodString;
813
+ serverName: z.ZodString;
814
+ status: z.ZodEnum<["candidate", "approved", "blocked"]>;
815
+ harness: z.ZodNullable<z.ZodString>;
816
+ transport: z.ZodNullable<z.ZodString>;
817
+ pinFingerprint: z.ZodNullable<z.ZodString>;
818
+ tools: z.ZodArray<z.ZodString, "many">;
819
+ disabledTools: z.ZodArray<z.ZodString, "many">;
820
+ firstSeenAt: z.ZodString;
821
+ lastSeenAt: z.ZodString;
822
+ decidedBy: z.ZodNullable<z.ZodString>;
823
+ decidedAt: z.ZodNullable<z.ZodString>;
824
+ ungovernedReason: z.ZodNullable<z.ZodString>;
825
+ heldForReview: z.ZodBoolean;
826
+ lastToolChange: z.ZodNullable<z.ZodObject<{
827
+ changeId: z.ZodString;
828
+ createdAt: z.ZodString;
829
+ riskScore: z.ZodNumber;
830
+ riskLevel: z.ZodEnum<["none", "low", "medium", "high"]>;
831
+ reasons: z.ZodArray<z.ZodObject<{
832
+ rule: z.ZodString;
833
+ tool: z.ZodString;
834
+ points: z.ZodNumber;
835
+ detail: z.ZodString;
836
+ }, "strip", z.ZodTypeAny, {
837
+ tool: string;
838
+ rule: string;
839
+ detail: string;
840
+ points: number;
841
+ }, {
842
+ tool: string;
843
+ rule: string;
844
+ detail: string;
845
+ points: number;
846
+ }>, "many">;
847
+ added: z.ZodArray<z.ZodString, "many">;
848
+ removed: z.ZodArray<z.ZodString, "many">;
849
+ changed: z.ZodArray<z.ZodString, "many">;
850
+ }, "strip", z.ZodTypeAny, {
851
+ createdAt: string;
852
+ reasons: {
853
+ tool: string;
854
+ rule: string;
855
+ detail: string;
856
+ points: number;
857
+ }[];
858
+ changeId: string;
859
+ riskScore: number;
860
+ riskLevel: "high" | "medium" | "low" | "none";
861
+ added: string[];
862
+ removed: string[];
863
+ changed: string[];
864
+ }, {
865
+ createdAt: string;
866
+ reasons: {
867
+ tool: string;
868
+ rule: string;
869
+ detail: string;
870
+ points: number;
871
+ }[];
872
+ changeId: string;
873
+ riskScore: number;
874
+ riskLevel: "high" | "medium" | "low" | "none";
875
+ added: string[];
876
+ removed: string[];
877
+ changed: string[];
878
+ }>>;
879
+ }, "strip", z.ZodTypeAny, {
880
+ status: "approved" | "candidate" | "blocked";
881
+ harness: string | null;
882
+ tools: string[];
883
+ disabledTools: string[];
884
+ decidedBy: string | null;
885
+ decidedAt: string | null;
886
+ firstSeenAt: string;
887
+ lastSeenAt: string;
888
+ transport: string | null;
889
+ serverId: string;
890
+ serverName: string;
891
+ pinFingerprint: string | null;
892
+ ungovernedReason: string | null;
893
+ heldForReview: boolean;
894
+ lastToolChange: {
895
+ createdAt: string;
896
+ reasons: {
897
+ tool: string;
898
+ rule: string;
899
+ detail: string;
900
+ points: number;
901
+ }[];
902
+ changeId: string;
903
+ riskScore: number;
904
+ riskLevel: "high" | "medium" | "low" | "none";
905
+ added: string[];
906
+ removed: string[];
907
+ changed: string[];
908
+ } | null;
909
+ }, {
910
+ status: "approved" | "candidate" | "blocked";
911
+ harness: string | null;
912
+ tools: string[];
913
+ disabledTools: string[];
914
+ decidedBy: string | null;
915
+ decidedAt: string | null;
916
+ firstSeenAt: string;
917
+ lastSeenAt: string;
918
+ transport: string | null;
919
+ serverId: string;
920
+ serverName: string;
921
+ pinFingerprint: string | null;
922
+ ungovernedReason: string | null;
923
+ heldForReview: boolean;
924
+ lastToolChange: {
925
+ createdAt: string;
926
+ reasons: {
927
+ tool: string;
928
+ rule: string;
929
+ detail: string;
930
+ points: number;
931
+ }[];
932
+ changeId: string;
933
+ riskScore: number;
934
+ riskLevel: "high" | "medium" | "low" | "none";
935
+ added: string[];
936
+ removed: string[];
937
+ changed: string[];
938
+ } | null;
939
+ }>, "many">;
940
+ defaultPolicy: z.ZodEnum<["allow", "deny"]>;
941
+ highRiskToolChange: z.ZodEnum<["notify", "hold"]>;
942
+ budgets: z.ZodObject<{
943
+ budgets: z.ZodArray<z.ZodObject<{
944
+ id: z.ZodString;
945
+ scope: z.ZodEnum<["server", "tool", "member", "member_server"]>;
946
+ server: z.ZodOptional<z.ZodString>;
947
+ tool: z.ZodOptional<z.ZodString>;
948
+ memberId: z.ZodOptional<z.ZodString>;
949
+ period: z.ZodEnum<["hour", "day"]>;
950
+ limit: z.ZodNumber;
951
+ }, "strip", z.ZodTypeAny, {
952
+ period: "day" | "hour";
953
+ id: string;
954
+ limit: number;
955
+ scope: "member" | "tool" | "server" | "member_server";
956
+ tool?: string | undefined;
957
+ server?: string | undefined;
958
+ memberId?: string | undefined;
959
+ }, {
960
+ period: "day" | "hour";
961
+ id: string;
962
+ limit: number;
963
+ scope: "member" | "tool" | "server" | "member_server";
964
+ tool?: string | undefined;
965
+ server?: string | undefined;
966
+ memberId?: string | undefined;
967
+ }>, "many">;
968
+ warnAtPct: z.ZodOptional<z.ZodNumber>;
969
+ }, "strip", z.ZodTypeAny, {
970
+ budgets: {
971
+ period: "day" | "hour";
972
+ id: string;
973
+ limit: number;
974
+ scope: "member" | "tool" | "server" | "member_server";
975
+ tool?: string | undefined;
976
+ server?: string | undefined;
977
+ memberId?: string | undefined;
978
+ }[];
979
+ warnAtPct?: number | undefined;
980
+ }, {
981
+ budgets: {
982
+ period: "day" | "hour";
983
+ id: string;
984
+ limit: number;
985
+ scope: "member" | "tool" | "server" | "member_server";
986
+ tool?: string | undefined;
987
+ server?: string | undefined;
988
+ memberId?: string | undefined;
989
+ }[];
990
+ warnAtPct?: number | undefined;
991
+ }>;
992
+ pendingCount: z.ZodNumber;
993
+ }, "strip", z.ZodTypeAny, {
994
+ budgets: {
995
+ budgets: {
996
+ period: "day" | "hour";
997
+ id: string;
998
+ limit: number;
999
+ scope: "member" | "tool" | "server" | "member_server";
1000
+ tool?: string | undefined;
1001
+ server?: string | undefined;
1002
+ memberId?: string | undefined;
1003
+ }[];
1004
+ warnAtPct?: number | undefined;
1005
+ };
1006
+ defaultPolicy: "deny" | "allow";
1007
+ servers: {
1008
+ status: "approved" | "candidate" | "blocked";
1009
+ harness: string | null;
1010
+ tools: string[];
1011
+ disabledTools: string[];
1012
+ decidedBy: string | null;
1013
+ decidedAt: string | null;
1014
+ firstSeenAt: string;
1015
+ lastSeenAt: string;
1016
+ transport: string | null;
1017
+ serverId: string;
1018
+ serverName: string;
1019
+ pinFingerprint: string | null;
1020
+ ungovernedReason: string | null;
1021
+ heldForReview: boolean;
1022
+ lastToolChange: {
1023
+ createdAt: string;
1024
+ reasons: {
1025
+ tool: string;
1026
+ rule: string;
1027
+ detail: string;
1028
+ points: number;
1029
+ }[];
1030
+ changeId: string;
1031
+ riskScore: number;
1032
+ riskLevel: "high" | "medium" | "low" | "none";
1033
+ added: string[];
1034
+ removed: string[];
1035
+ changed: string[];
1036
+ } | null;
1037
+ }[];
1038
+ listProperty: "servers";
1039
+ rowCase: "camel";
1040
+ highRiskToolChange: "hold" | "notify";
1041
+ pendingCount: number;
1042
+ }, {
1043
+ budgets: {
1044
+ budgets: {
1045
+ period: "day" | "hour";
1046
+ id: string;
1047
+ limit: number;
1048
+ scope: "member" | "tool" | "server" | "member_server";
1049
+ tool?: string | undefined;
1050
+ server?: string | undefined;
1051
+ memberId?: string | undefined;
1052
+ }[];
1053
+ warnAtPct?: number | undefined;
1054
+ };
1055
+ defaultPolicy: "deny" | "allow";
1056
+ servers: {
1057
+ status: "approved" | "candidate" | "blocked";
1058
+ harness: string | null;
1059
+ tools: string[];
1060
+ disabledTools: string[];
1061
+ decidedBy: string | null;
1062
+ decidedAt: string | null;
1063
+ firstSeenAt: string;
1064
+ lastSeenAt: string;
1065
+ transport: string | null;
1066
+ serverId: string;
1067
+ serverName: string;
1068
+ pinFingerprint: string | null;
1069
+ ungovernedReason: string | null;
1070
+ heldForReview: boolean;
1071
+ lastToolChange: {
1072
+ createdAt: string;
1073
+ reasons: {
1074
+ tool: string;
1075
+ rule: string;
1076
+ detail: string;
1077
+ points: number;
1078
+ }[];
1079
+ changeId: string;
1080
+ riskScore: number;
1081
+ riskLevel: "high" | "medium" | "low" | "none";
1082
+ added: string[];
1083
+ removed: string[];
1084
+ changed: string[];
1085
+ } | null;
1086
+ }[];
1087
+ listProperty: "servers";
1088
+ rowCase: "camel";
1089
+ highRiskToolChange: "hold" | "notify";
1090
+ pendingCount: number;
1091
+ }>;
1092
+ export type McpServerListResponse = z.infer<typeof McpServerListResponse>;
1093
+ /** `POST /api/v1/mcp/servers/:serverId/status` and `/tools`: the server after the decision. */
1094
+ export declare const McpServerDecisionResponse: z.ZodObject<{
1095
+ ok: z.ZodLiteral<true>;
1096
+ server: z.ZodObject<{
1097
+ serverId: z.ZodString;
1098
+ serverName: z.ZodString;
1099
+ status: z.ZodEnum<["candidate", "approved", "blocked"]>;
1100
+ harness: z.ZodNullable<z.ZodString>;
1101
+ transport: z.ZodNullable<z.ZodString>;
1102
+ pinFingerprint: z.ZodNullable<z.ZodString>;
1103
+ tools: z.ZodArray<z.ZodString, "many">;
1104
+ disabledTools: z.ZodArray<z.ZodString, "many">;
1105
+ firstSeenAt: z.ZodString;
1106
+ lastSeenAt: z.ZodString;
1107
+ decidedBy: z.ZodNullable<z.ZodString>;
1108
+ decidedAt: z.ZodNullable<z.ZodString>;
1109
+ ungovernedReason: z.ZodNullable<z.ZodString>;
1110
+ heldForReview: z.ZodBoolean;
1111
+ lastToolChange: z.ZodNullable<z.ZodObject<{
1112
+ changeId: z.ZodString;
1113
+ createdAt: z.ZodString;
1114
+ riskScore: z.ZodNumber;
1115
+ riskLevel: z.ZodEnum<["none", "low", "medium", "high"]>;
1116
+ reasons: z.ZodArray<z.ZodObject<{
1117
+ rule: z.ZodString;
1118
+ tool: z.ZodString;
1119
+ points: z.ZodNumber;
1120
+ detail: z.ZodString;
1121
+ }, "strip", z.ZodTypeAny, {
1122
+ tool: string;
1123
+ rule: string;
1124
+ detail: string;
1125
+ points: number;
1126
+ }, {
1127
+ tool: string;
1128
+ rule: string;
1129
+ detail: string;
1130
+ points: number;
1131
+ }>, "many">;
1132
+ added: z.ZodArray<z.ZodString, "many">;
1133
+ removed: z.ZodArray<z.ZodString, "many">;
1134
+ changed: z.ZodArray<z.ZodString, "many">;
1135
+ }, "strip", z.ZodTypeAny, {
1136
+ createdAt: string;
1137
+ reasons: {
1138
+ tool: string;
1139
+ rule: string;
1140
+ detail: string;
1141
+ points: number;
1142
+ }[];
1143
+ changeId: string;
1144
+ riskScore: number;
1145
+ riskLevel: "high" | "medium" | "low" | "none";
1146
+ added: string[];
1147
+ removed: string[];
1148
+ changed: string[];
1149
+ }, {
1150
+ createdAt: string;
1151
+ reasons: {
1152
+ tool: string;
1153
+ rule: string;
1154
+ detail: string;
1155
+ points: number;
1156
+ }[];
1157
+ changeId: string;
1158
+ riskScore: number;
1159
+ riskLevel: "high" | "medium" | "low" | "none";
1160
+ added: string[];
1161
+ removed: string[];
1162
+ changed: string[];
1163
+ }>>;
1164
+ }, "strip", z.ZodTypeAny, {
1165
+ status: "approved" | "candidate" | "blocked";
1166
+ harness: string | null;
1167
+ tools: string[];
1168
+ disabledTools: string[];
1169
+ decidedBy: string | null;
1170
+ decidedAt: string | null;
1171
+ firstSeenAt: string;
1172
+ lastSeenAt: string;
1173
+ transport: string | null;
1174
+ serverId: string;
1175
+ serverName: string;
1176
+ pinFingerprint: string | null;
1177
+ ungovernedReason: string | null;
1178
+ heldForReview: boolean;
1179
+ lastToolChange: {
1180
+ createdAt: string;
1181
+ reasons: {
1182
+ tool: string;
1183
+ rule: string;
1184
+ detail: string;
1185
+ points: number;
1186
+ }[];
1187
+ changeId: string;
1188
+ riskScore: number;
1189
+ riskLevel: "high" | "medium" | "low" | "none";
1190
+ added: string[];
1191
+ removed: string[];
1192
+ changed: string[];
1193
+ } | null;
1194
+ }, {
1195
+ status: "approved" | "candidate" | "blocked";
1196
+ harness: string | null;
1197
+ tools: string[];
1198
+ disabledTools: string[];
1199
+ decidedBy: string | null;
1200
+ decidedAt: string | null;
1201
+ firstSeenAt: string;
1202
+ lastSeenAt: string;
1203
+ transport: string | null;
1204
+ serverId: string;
1205
+ serverName: string;
1206
+ pinFingerprint: string | null;
1207
+ ungovernedReason: string | null;
1208
+ heldForReview: boolean;
1209
+ lastToolChange: {
1210
+ createdAt: string;
1211
+ reasons: {
1212
+ tool: string;
1213
+ rule: string;
1214
+ detail: string;
1215
+ points: number;
1216
+ }[];
1217
+ changeId: string;
1218
+ riskScore: number;
1219
+ riskLevel: "high" | "medium" | "low" | "none";
1220
+ added: string[];
1221
+ removed: string[];
1222
+ changed: string[];
1223
+ } | null;
1224
+ }>;
1225
+ }, "strip", z.ZodTypeAny, {
1226
+ ok: true;
1227
+ server: {
1228
+ status: "approved" | "candidate" | "blocked";
1229
+ harness: string | null;
1230
+ tools: string[];
1231
+ disabledTools: string[];
1232
+ decidedBy: string | null;
1233
+ decidedAt: string | null;
1234
+ firstSeenAt: string;
1235
+ lastSeenAt: string;
1236
+ transport: string | null;
1237
+ serverId: string;
1238
+ serverName: string;
1239
+ pinFingerprint: string | null;
1240
+ ungovernedReason: string | null;
1241
+ heldForReview: boolean;
1242
+ lastToolChange: {
1243
+ createdAt: string;
1244
+ reasons: {
1245
+ tool: string;
1246
+ rule: string;
1247
+ detail: string;
1248
+ points: number;
1249
+ }[];
1250
+ changeId: string;
1251
+ riskScore: number;
1252
+ riskLevel: "high" | "medium" | "low" | "none";
1253
+ added: string[];
1254
+ removed: string[];
1255
+ changed: string[];
1256
+ } | null;
1257
+ };
1258
+ }, {
1259
+ ok: true;
1260
+ server: {
1261
+ status: "approved" | "candidate" | "blocked";
1262
+ harness: string | null;
1263
+ tools: string[];
1264
+ disabledTools: string[];
1265
+ decidedBy: string | null;
1266
+ decidedAt: string | null;
1267
+ firstSeenAt: string;
1268
+ lastSeenAt: string;
1269
+ transport: string | null;
1270
+ serverId: string;
1271
+ serverName: string;
1272
+ pinFingerprint: string | null;
1273
+ ungovernedReason: string | null;
1274
+ heldForReview: boolean;
1275
+ lastToolChange: {
1276
+ createdAt: string;
1277
+ reasons: {
1278
+ tool: string;
1279
+ rule: string;
1280
+ detail: string;
1281
+ points: number;
1282
+ }[];
1283
+ changeId: string;
1284
+ riskScore: number;
1285
+ riskLevel: "high" | "medium" | "low" | "none";
1286
+ added: string[];
1287
+ removed: string[];
1288
+ changed: string[];
1289
+ } | null;
1290
+ };
1291
+ }>;
1292
+ export type McpServerDecisionResponse = z.infer<typeof McpServerDecisionResponse>;
1293
+ /**
1294
+ * `POST /api/v1/mcp/servers/observe`: a proxy reported a server it governs.
1295
+ * The row's status after the sighting, and the scored change when the
1296
+ * sighting's tool definitions differ from the stored ones.
1297
+ */
1298
+ export declare const McpServerObserveResponse: z.ZodObject<{
1299
+ ok: z.ZodLiteral<true>;
1300
+ status: z.ZodEnum<["candidate", "approved", "blocked"]>;
1301
+ created: z.ZodBoolean;
1302
+ toolChange: z.ZodOptional<z.ZodObject<{
1303
+ changeId: z.ZodString;
1304
+ serverId: z.ZodString;
1305
+ score: z.ZodNumber;
1306
+ level: z.ZodEnum<["none", "low", "medium", "high"]>;
1307
+ reasons: z.ZodArray<z.ZodObject<{
1308
+ rule: z.ZodString;
1309
+ tool: z.ZodString;
1310
+ points: z.ZodNumber;
1311
+ detail: z.ZodString;
1312
+ }, "strip", z.ZodTypeAny, {
1313
+ tool: string;
1314
+ rule: string;
1315
+ detail: string;
1316
+ points: number;
1317
+ }, {
1318
+ tool: string;
1319
+ rule: string;
1320
+ detail: string;
1321
+ points: number;
1322
+ }>, "many">;
1323
+ added: z.ZodArray<z.ZodString, "many">;
1324
+ removed: z.ZodArray<z.ZodString, "many">;
1325
+ changed: z.ZodArray<z.ZodString, "many">;
1326
+ held: z.ZodBoolean;
1327
+ }, "strip", z.ZodTypeAny, {
1328
+ reasons: {
1329
+ tool: string;
1330
+ rule: string;
1331
+ detail: string;
1332
+ points: number;
1333
+ }[];
1334
+ score: number;
1335
+ changeId: string;
1336
+ added: string[];
1337
+ removed: string[];
1338
+ changed: string[];
1339
+ serverId: string;
1340
+ level: "high" | "medium" | "low" | "none";
1341
+ held: boolean;
1342
+ }, {
1343
+ reasons: {
1344
+ tool: string;
1345
+ rule: string;
1346
+ detail: string;
1347
+ points: number;
1348
+ }[];
1349
+ score: number;
1350
+ changeId: string;
1351
+ added: string[];
1352
+ removed: string[];
1353
+ changed: string[];
1354
+ serverId: string;
1355
+ level: "high" | "medium" | "low" | "none";
1356
+ held: boolean;
1357
+ }>>;
1358
+ }, "strip", z.ZodTypeAny, {
1359
+ status: "approved" | "candidate" | "blocked";
1360
+ ok: true;
1361
+ created: boolean;
1362
+ toolChange?: {
1363
+ reasons: {
1364
+ tool: string;
1365
+ rule: string;
1366
+ detail: string;
1367
+ points: number;
1368
+ }[];
1369
+ score: number;
1370
+ changeId: string;
1371
+ added: string[];
1372
+ removed: string[];
1373
+ changed: string[];
1374
+ serverId: string;
1375
+ level: "high" | "medium" | "low" | "none";
1376
+ held: boolean;
1377
+ } | undefined;
1378
+ }, {
1379
+ status: "approved" | "candidate" | "blocked";
1380
+ ok: true;
1381
+ created: boolean;
1382
+ toolChange?: {
1383
+ reasons: {
1384
+ tool: string;
1385
+ rule: string;
1386
+ detail: string;
1387
+ points: number;
1388
+ }[];
1389
+ score: number;
1390
+ changeId: string;
1391
+ added: string[];
1392
+ removed: string[];
1393
+ changed: string[];
1394
+ serverId: string;
1395
+ level: "high" | "medium" | "low" | "none";
1396
+ held: boolean;
1397
+ } | undefined;
1398
+ }>;
1399
+ export type McpServerObserveResponse = z.infer<typeof McpServerObserveResponse>;
1400
+ /** `POST /api/v1/attenuate`: the child key, returned once. */
1401
+ export declare const AttenuationResponse: z.ZodObject<{
1402
+ childKey: z.ZodString;
1403
+ childKeyId: z.ZodString;
1404
+ attenuationChainId: z.ZodString;
1405
+ grantedCaps: z.ZodArray<z.ZodString, "many">;
1406
+ expiresAt: z.ZodString;
1407
+ }, "strip", z.ZodTypeAny, {
1408
+ expiresAt: string;
1409
+ childKey: string;
1410
+ childKeyId: string;
1411
+ attenuationChainId: string;
1412
+ grantedCaps: string[];
1413
+ }, {
1414
+ expiresAt: string;
1415
+ childKey: string;
1416
+ childKeyId: string;
1417
+ attenuationChainId: string;
1418
+ grantedCaps: string[];
1419
+ }>;
1420
+ export type AttenuationResponse = z.infer<typeof AttenuationResponse>;
1421
+ /** A link of a delegation chain. */
1422
+ export declare const AttenuationChainLinkResponse: z.ZodObject<{
1423
+ chainId: z.ZodString;
1424
+ parentKeyId: z.ZodString;
1425
+ childKeyId: z.ZodString;
1426
+ workspaceId: z.ZodString;
1427
+ grantedCaps: z.ZodArray<z.ZodString, "many">;
1428
+ expiresAt: z.ZodString;
1429
+ createdAt: z.ZodString;
1430
+ }, "strip", z.ZodTypeAny, {
1431
+ workspaceId: string;
1432
+ parentKeyId: string;
1433
+ createdAt: string;
1434
+ expiresAt: string;
1435
+ childKeyId: string;
1436
+ grantedCaps: string[];
1437
+ chainId: string;
1438
+ }, {
1439
+ workspaceId: string;
1440
+ parentKeyId: string;
1441
+ createdAt: string;
1442
+ expiresAt: string;
1443
+ childKeyId: string;
1444
+ grantedCaps: string[];
1445
+ chainId: string;
1446
+ }>;
1447
+ export type AttenuationChainLinkResponse = z.infer<typeof AttenuationChainLinkResponse>;
1448
+ /** `GET /api/v1/attenuate/chain/:chainId`: the chain's lineage, parent to child. */
1449
+ export declare const AttenuationChainResponse: z.ZodObject<{
1450
+ chain: z.ZodArray<z.ZodObject<{
1451
+ chainId: z.ZodString;
1452
+ parentKeyId: z.ZodString;
1453
+ childKeyId: z.ZodString;
1454
+ workspaceId: z.ZodString;
1455
+ grantedCaps: z.ZodArray<z.ZodString, "many">;
1456
+ expiresAt: z.ZodString;
1457
+ createdAt: z.ZodString;
1458
+ }, "strip", z.ZodTypeAny, {
1459
+ workspaceId: string;
1460
+ parentKeyId: string;
1461
+ createdAt: string;
1462
+ expiresAt: string;
1463
+ childKeyId: string;
1464
+ grantedCaps: string[];
1465
+ chainId: string;
1466
+ }, {
1467
+ workspaceId: string;
1468
+ parentKeyId: string;
1469
+ createdAt: string;
1470
+ expiresAt: string;
1471
+ childKeyId: string;
1472
+ grantedCaps: string[];
1473
+ chainId: string;
1474
+ }>, "many">;
1475
+ }, "strip", z.ZodTypeAny, {
1476
+ chain: {
1477
+ workspaceId: string;
1478
+ parentKeyId: string;
1479
+ createdAt: string;
1480
+ expiresAt: string;
1481
+ childKeyId: string;
1482
+ grantedCaps: string[];
1483
+ chainId: string;
1484
+ }[];
1485
+ }, {
1486
+ chain: {
1487
+ workspaceId: string;
1488
+ parentKeyId: string;
1489
+ createdAt: string;
1490
+ expiresAt: string;
1491
+ childKeyId: string;
1492
+ grantedCaps: string[];
1493
+ chainId: string;
1494
+ }[];
1495
+ }>;
1496
+ export type AttenuationChainResponse = z.infer<typeof AttenuationChainResponse>;
1497
+ /** A compliance probe's result (`complianceProbesService.ts` `ProbeResult`). */
1498
+ export declare const ProbeResultResponse: z.ZodObject<{
1499
+ probeId: z.ZodString;
1500
+ probeType: z.ZodEnum<["policy_check", "mfa_enforcement", "data_residency", "audit_log_integrity", "token_rotation", "sop_coverage", "auto_apply_provenance", "sop_git_drift", "guard_liveness", "guardrail_authority", "provider_availability"]>;
1501
+ status: z.ZodEnum<["pass", "fail", "warn", "error", "not_enforced"]>;
1502
+ score: z.ZodNumber;
1503
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1504
+ remediation: z.ZodNullable<z.ZodString>;
1505
+ probedAt: z.ZodString;
1506
+ observedSince: z.ZodString;
1507
+ observations: z.ZodNumber;
1508
+ }, "strip", z.ZodTypeAny, {
1509
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
1510
+ score: number;
1511
+ probeId: string;
1512
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
1513
+ details: Record<string, unknown>;
1514
+ remediation: string | null;
1515
+ probedAt: string;
1516
+ observedSince: string;
1517
+ observations: number;
1518
+ }, {
1519
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
1520
+ score: number;
1521
+ probeId: string;
1522
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
1523
+ details: Record<string, unknown>;
1524
+ remediation: string | null;
1525
+ probedAt: string;
1526
+ observedSince: string;
1527
+ observations: number;
1528
+ }>;
1529
+ export type ProbeResultResponse = z.infer<typeof ProbeResultResponse>;
1530
+ /** `GET /api/v1/compliance/frameworks/:frameworkId/coverage` (JSON): coverage of one framework from the latest probe results. */
1531
+ export declare const FrameworkCoverageResponse: z.ZodObject<{
1532
+ frameworkId: z.ZodEnum<["eu_ai_act", "iso_42001", "nist_ai_rmf", "mitre_atlas"]>;
1533
+ name: z.ZodString;
1534
+ citation: z.ZodString;
1535
+ scope: z.ZodString;
1536
+ mappingVersion: z.ZodString;
1537
+ generatedAt: z.ZodString;
1538
+ summary: z.ZodObject<{
1539
+ controls: z.ZodNumber;
1540
+ mapped: z.ZodNumber;
1541
+ full: z.ZodNumber;
1542
+ partial: z.ZodNumber;
1543
+ states: z.ZodObject<{
1544
+ evidenced: z.ZodNumber;
1545
+ warning: z.ZodNumber;
1546
+ failing: z.ZodNumber;
1547
+ not_evidenced: z.ZodNumber;
1548
+ records_only: z.ZodNumber;
1549
+ }, "strip", z.ZodTypeAny, {
1550
+ evidenced: number;
1551
+ warning: number;
1552
+ failing: number;
1553
+ not_evidenced: number;
1554
+ records_only: number;
1555
+ }, {
1556
+ evidenced: number;
1557
+ warning: number;
1558
+ failing: number;
1559
+ not_evidenced: number;
1560
+ records_only: number;
1561
+ }>;
1562
+ }, "strip", z.ZodTypeAny, {
1563
+ controls: number;
1564
+ mapped: number;
1565
+ full: number;
1566
+ partial: number;
1567
+ states: {
1568
+ evidenced: number;
1569
+ warning: number;
1570
+ failing: number;
1571
+ not_evidenced: number;
1572
+ records_only: number;
1573
+ };
1574
+ }, {
1575
+ controls: number;
1576
+ mapped: number;
1577
+ full: number;
1578
+ partial: number;
1579
+ states: {
1580
+ evidenced: number;
1581
+ warning: number;
1582
+ failing: number;
1583
+ not_evidenced: number;
1584
+ records_only: number;
1585
+ };
1586
+ }>;
1587
+ controls: z.ZodArray<z.ZodObject<{
1588
+ controlId: z.ZodString;
1589
+ title: z.ZodString;
1590
+ coverage: z.ZodEnum<["full", "partial", "not_mapped"]>;
1591
+ state: z.ZodNullable<z.ZodEnum<["evidenced", "warning", "failing", "not_evidenced", "records_only"]>>;
1592
+ evidence: z.ZodArray<z.ZodObject<{
1593
+ kind: z.ZodEnum<["probe", "artifact", "control"]>;
1594
+ id: z.ZodString;
1595
+ title: z.ZodString;
1596
+ reference: z.ZodNullable<z.ZodString>;
1597
+ satisfies: z.ZodString;
1598
+ state: z.ZodEnum<["pass", "fail", "warn", "error", "not_enforced", "not_run", "available"]>;
1599
+ probedAt: z.ZodNullable<z.ZodString>;
1600
+ }, "strip", z.ZodTypeAny, {
1601
+ id: string;
1602
+ kind: "probe" | "artifact" | "control";
1603
+ title: string;
1604
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
1605
+ probedAt: string | null;
1606
+ reference: string | null;
1607
+ satisfies: string;
1608
+ }, {
1609
+ id: string;
1610
+ kind: "probe" | "artifact" | "control";
1611
+ title: string;
1612
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
1613
+ probedAt: string | null;
1614
+ reference: string | null;
1615
+ satisfies: string;
1616
+ }>, "many">;
1617
+ gaps: z.ZodArray<z.ZodString, "many">;
1618
+ mitigates: z.ZodOptional<z.ZodArray<z.ZodObject<{
1619
+ id: z.ZodString;
1620
+ name: z.ZodString;
1621
+ }, "strip", z.ZodTypeAny, {
1622
+ name: string;
1623
+ id: string;
1624
+ }, {
1625
+ name: string;
1626
+ id: string;
1627
+ }>, "many">>;
1628
+ }, "strip", z.ZodTypeAny, {
1629
+ title: string;
1630
+ coverage: "full" | "partial" | "not_mapped";
1631
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
1632
+ controlId: string;
1633
+ evidence: {
1634
+ id: string;
1635
+ kind: "probe" | "artifact" | "control";
1636
+ title: string;
1637
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
1638
+ probedAt: string | null;
1639
+ reference: string | null;
1640
+ satisfies: string;
1641
+ }[];
1642
+ gaps: string[];
1643
+ mitigates?: {
1644
+ name: string;
1645
+ id: string;
1646
+ }[] | undefined;
1647
+ }, {
1648
+ title: string;
1649
+ coverage: "full" | "partial" | "not_mapped";
1650
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
1651
+ controlId: string;
1652
+ evidence: {
1653
+ id: string;
1654
+ kind: "probe" | "artifact" | "control";
1655
+ title: string;
1656
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
1657
+ probedAt: string | null;
1658
+ reference: string | null;
1659
+ satisfies: string;
1660
+ }[];
1661
+ gaps: string[];
1662
+ mitigates?: {
1663
+ name: string;
1664
+ id: string;
1665
+ }[] | undefined;
1666
+ }>, "many">;
1667
+ }, "strip", z.ZodTypeAny, {
1668
+ name: string;
1669
+ scope: string;
1670
+ summary: {
1671
+ controls: number;
1672
+ mapped: number;
1673
+ full: number;
1674
+ partial: number;
1675
+ states: {
1676
+ evidenced: number;
1677
+ warning: number;
1678
+ failing: number;
1679
+ not_evidenced: number;
1680
+ records_only: number;
1681
+ };
1682
+ };
1683
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
1684
+ citation: string;
1685
+ mappingVersion: string;
1686
+ generatedAt: string;
1687
+ controls: {
1688
+ title: string;
1689
+ coverage: "full" | "partial" | "not_mapped";
1690
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
1691
+ controlId: string;
1692
+ evidence: {
1693
+ id: string;
1694
+ kind: "probe" | "artifact" | "control";
1695
+ title: string;
1696
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
1697
+ probedAt: string | null;
1698
+ reference: string | null;
1699
+ satisfies: string;
1700
+ }[];
1701
+ gaps: string[];
1702
+ mitigates?: {
1703
+ name: string;
1704
+ id: string;
1705
+ }[] | undefined;
1706
+ }[];
1707
+ }, {
1708
+ name: string;
1709
+ scope: string;
1710
+ summary: {
1711
+ controls: number;
1712
+ mapped: number;
1713
+ full: number;
1714
+ partial: number;
1715
+ states: {
1716
+ evidenced: number;
1717
+ warning: number;
1718
+ failing: number;
1719
+ not_evidenced: number;
1720
+ records_only: number;
1721
+ };
1722
+ };
1723
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
1724
+ citation: string;
1725
+ mappingVersion: string;
1726
+ generatedAt: string;
1727
+ controls: {
1728
+ title: string;
1729
+ coverage: "full" | "partial" | "not_mapped";
1730
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
1731
+ controlId: string;
1732
+ evidence: {
1733
+ id: string;
1734
+ kind: "probe" | "artifact" | "control";
1735
+ title: string;
1736
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
1737
+ probedAt: string | null;
1738
+ reference: string | null;
1739
+ satisfies: string;
1740
+ }[];
1741
+ gaps: string[];
1742
+ mitigates?: {
1743
+ name: string;
1744
+ id: string;
1745
+ }[] | undefined;
1746
+ }[];
1747
+ }>;
1748
+ export type FrameworkCoverageResponse = z.infer<typeof FrameworkCoverageResponse>;
1749
+ /** A SOC 2 evidence archive (`soc2EvidenceService.ts` `Soc2EvidenceArchive`). */
1750
+ export declare const Soc2EvidenceArchiveResponse: z.ZodObject<{
1751
+ formatVersion: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
1752
+ workspaceId: z.ZodString;
1753
+ runId: z.ZodString;
1754
+ periodStart: z.ZodString;
1755
+ periodEnd: z.ZodString;
1756
+ collectedAt: z.ZodString;
1757
+ overallScore: z.ZodNullable<z.ZodNumber>;
1758
+ categories: z.ZodArray<z.ZodObject<{
1759
+ category: z.ZodEnum<["security", "availability", "processing_integrity", "confidentiality", "privacy"]>;
1760
+ score: z.ZodNullable<z.ZodNumber>;
1761
+ probes: z.ZodArray<z.ZodObject<{
1762
+ probeId: z.ZodString;
1763
+ probeType: z.ZodEnum<["policy_check", "mfa_enforcement", "data_residency", "audit_log_integrity", "token_rotation", "sop_coverage", "auto_apply_provenance", "sop_git_drift", "guard_liveness", "guardrail_authority", "provider_availability"]>;
1764
+ status: z.ZodEnum<["pass", "fail", "warn", "error", "not_enforced"]>;
1765
+ score: z.ZodNumber;
1766
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1767
+ remediation: z.ZodNullable<z.ZodString>;
1768
+ probedAt: z.ZodString;
1769
+ observedSince: z.ZodString;
1770
+ observations: z.ZodNumber;
1771
+ }, "strip", z.ZodTypeAny, {
1772
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
1773
+ score: number;
1774
+ probeId: string;
1775
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
1776
+ details: Record<string, unknown>;
1777
+ remediation: string | null;
1778
+ probedAt: string;
1779
+ observedSince: string;
1780
+ observations: number;
1781
+ }, {
1782
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
1783
+ score: number;
1784
+ probeId: string;
1785
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
1786
+ details: Record<string, unknown>;
1787
+ remediation: string | null;
1788
+ probedAt: string;
1789
+ observedSince: string;
1790
+ observations: number;
1791
+ }>, "many">;
1792
+ counts: z.ZodRecord<z.ZodString, z.ZodNumber>;
1793
+ sampleIds: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
1794
+ gaps: z.ZodArray<z.ZodString, "many">;
1795
+ }, "strip", z.ZodTypeAny, {
1796
+ probes: {
1797
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
1798
+ score: number;
1799
+ probeId: string;
1800
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
1801
+ details: Record<string, unknown>;
1802
+ remediation: string | null;
1803
+ probedAt: string;
1804
+ observedSince: string;
1805
+ observations: number;
1806
+ }[];
1807
+ score: number | null;
1808
+ gaps: string[];
1809
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
1810
+ counts: Record<string, number>;
1811
+ sampleIds: Record<string, string[]>;
1812
+ }, {
1813
+ probes: {
1814
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
1815
+ score: number;
1816
+ probeId: string;
1817
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
1818
+ details: Record<string, unknown>;
1819
+ remediation: string | null;
1820
+ probedAt: string;
1821
+ observedSince: string;
1822
+ observations: number;
1823
+ }[];
1824
+ score: number | null;
1825
+ gaps: string[];
1826
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
1827
+ counts: Record<string, number>;
1828
+ sampleIds: Record<string, string[]>;
1829
+ }>, "many">;
1830
+ probeHistoryDigest: z.ZodArray<z.ZodObject<{
1831
+ probeType: z.ZodEnum<["policy_check", "mfa_enforcement", "data_residency", "audit_log_integrity", "token_rotation", "sop_coverage", "auto_apply_provenance", "sop_git_drift", "guard_liveness", "guardrail_authority", "provider_availability"]>;
1832
+ rows: z.ZodNumber;
1833
+ firstAt: z.ZodNullable<z.ZodString>;
1834
+ lastAt: z.ZodNullable<z.ZodString>;
1835
+ statusCounts: z.ZodRecord<z.ZodString, z.ZodNumber>;
1836
+ }, "strip", z.ZodTypeAny, {
1837
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
1838
+ rows: number;
1839
+ firstAt: string | null;
1840
+ lastAt: string | null;
1841
+ statusCounts: Record<string, number>;
1842
+ }, {
1843
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
1844
+ rows: number;
1845
+ firstAt: string | null;
1846
+ lastAt: string | null;
1847
+ statusCounts: Record<string, number>;
1848
+ }>, "many">;
1849
+ frameworks: z.ZodOptional<z.ZodArray<z.ZodObject<{
1850
+ coverage: z.ZodObject<{
1851
+ frameworkId: z.ZodEnum<["eu_ai_act", "iso_42001", "nist_ai_rmf", "mitre_atlas"]>;
1852
+ name: z.ZodString;
1853
+ citation: z.ZodString;
1854
+ scope: z.ZodString;
1855
+ mappingVersion: z.ZodString;
1856
+ generatedAt: z.ZodString;
1857
+ summary: z.ZodObject<{
1858
+ controls: z.ZodNumber;
1859
+ mapped: z.ZodNumber;
1860
+ full: z.ZodNumber;
1861
+ partial: z.ZodNumber;
1862
+ states: z.ZodObject<{
1863
+ evidenced: z.ZodNumber;
1864
+ warning: z.ZodNumber;
1865
+ failing: z.ZodNumber;
1866
+ not_evidenced: z.ZodNumber;
1867
+ records_only: z.ZodNumber;
1868
+ }, "strip", z.ZodTypeAny, {
1869
+ evidenced: number;
1870
+ warning: number;
1871
+ failing: number;
1872
+ not_evidenced: number;
1873
+ records_only: number;
1874
+ }, {
1875
+ evidenced: number;
1876
+ warning: number;
1877
+ failing: number;
1878
+ not_evidenced: number;
1879
+ records_only: number;
1880
+ }>;
1881
+ }, "strip", z.ZodTypeAny, {
1882
+ controls: number;
1883
+ mapped: number;
1884
+ full: number;
1885
+ partial: number;
1886
+ states: {
1887
+ evidenced: number;
1888
+ warning: number;
1889
+ failing: number;
1890
+ not_evidenced: number;
1891
+ records_only: number;
1892
+ };
1893
+ }, {
1894
+ controls: number;
1895
+ mapped: number;
1896
+ full: number;
1897
+ partial: number;
1898
+ states: {
1899
+ evidenced: number;
1900
+ warning: number;
1901
+ failing: number;
1902
+ not_evidenced: number;
1903
+ records_only: number;
1904
+ };
1905
+ }>;
1906
+ controls: z.ZodArray<z.ZodObject<{
1907
+ controlId: z.ZodString;
1908
+ title: z.ZodString;
1909
+ coverage: z.ZodEnum<["full", "partial", "not_mapped"]>;
1910
+ state: z.ZodNullable<z.ZodEnum<["evidenced", "warning", "failing", "not_evidenced", "records_only"]>>;
1911
+ evidence: z.ZodArray<z.ZodObject<{
1912
+ kind: z.ZodEnum<["probe", "artifact", "control"]>;
1913
+ id: z.ZodString;
1914
+ title: z.ZodString;
1915
+ reference: z.ZodNullable<z.ZodString>;
1916
+ satisfies: z.ZodString;
1917
+ state: z.ZodEnum<["pass", "fail", "warn", "error", "not_enforced", "not_run", "available"]>;
1918
+ probedAt: z.ZodNullable<z.ZodString>;
1919
+ }, "strip", z.ZodTypeAny, {
1920
+ id: string;
1921
+ kind: "probe" | "artifact" | "control";
1922
+ title: string;
1923
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
1924
+ probedAt: string | null;
1925
+ reference: string | null;
1926
+ satisfies: string;
1927
+ }, {
1928
+ id: string;
1929
+ kind: "probe" | "artifact" | "control";
1930
+ title: string;
1931
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
1932
+ probedAt: string | null;
1933
+ reference: string | null;
1934
+ satisfies: string;
1935
+ }>, "many">;
1936
+ gaps: z.ZodArray<z.ZodString, "many">;
1937
+ mitigates: z.ZodOptional<z.ZodArray<z.ZodObject<{
1938
+ id: z.ZodString;
1939
+ name: z.ZodString;
1940
+ }, "strip", z.ZodTypeAny, {
1941
+ name: string;
1942
+ id: string;
1943
+ }, {
1944
+ name: string;
1945
+ id: string;
1946
+ }>, "many">>;
1947
+ }, "strip", z.ZodTypeAny, {
1948
+ title: string;
1949
+ coverage: "full" | "partial" | "not_mapped";
1950
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
1951
+ controlId: string;
1952
+ evidence: {
1953
+ id: string;
1954
+ kind: "probe" | "artifact" | "control";
1955
+ title: string;
1956
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
1957
+ probedAt: string | null;
1958
+ reference: string | null;
1959
+ satisfies: string;
1960
+ }[];
1961
+ gaps: string[];
1962
+ mitigates?: {
1963
+ name: string;
1964
+ id: string;
1965
+ }[] | undefined;
1966
+ }, {
1967
+ title: string;
1968
+ coverage: "full" | "partial" | "not_mapped";
1969
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
1970
+ controlId: string;
1971
+ evidence: {
1972
+ id: string;
1973
+ kind: "probe" | "artifact" | "control";
1974
+ title: string;
1975
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
1976
+ probedAt: string | null;
1977
+ reference: string | null;
1978
+ satisfies: string;
1979
+ }[];
1980
+ gaps: string[];
1981
+ mitigates?: {
1982
+ name: string;
1983
+ id: string;
1984
+ }[] | undefined;
1985
+ }>, "many">;
1986
+ }, "strip", z.ZodTypeAny, {
1987
+ name: string;
1988
+ scope: string;
1989
+ summary: {
1990
+ controls: number;
1991
+ mapped: number;
1992
+ full: number;
1993
+ partial: number;
1994
+ states: {
1995
+ evidenced: number;
1996
+ warning: number;
1997
+ failing: number;
1998
+ not_evidenced: number;
1999
+ records_only: number;
2000
+ };
2001
+ };
2002
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2003
+ citation: string;
2004
+ mappingVersion: string;
2005
+ generatedAt: string;
2006
+ controls: {
2007
+ title: string;
2008
+ coverage: "full" | "partial" | "not_mapped";
2009
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2010
+ controlId: string;
2011
+ evidence: {
2012
+ id: string;
2013
+ kind: "probe" | "artifact" | "control";
2014
+ title: string;
2015
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2016
+ probedAt: string | null;
2017
+ reference: string | null;
2018
+ satisfies: string;
2019
+ }[];
2020
+ gaps: string[];
2021
+ mitigates?: {
2022
+ name: string;
2023
+ id: string;
2024
+ }[] | undefined;
2025
+ }[];
2026
+ }, {
2027
+ name: string;
2028
+ scope: string;
2029
+ summary: {
2030
+ controls: number;
2031
+ mapped: number;
2032
+ full: number;
2033
+ partial: number;
2034
+ states: {
2035
+ evidenced: number;
2036
+ warning: number;
2037
+ failing: number;
2038
+ not_evidenced: number;
2039
+ records_only: number;
2040
+ };
2041
+ };
2042
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2043
+ citation: string;
2044
+ mappingVersion: string;
2045
+ generatedAt: string;
2046
+ controls: {
2047
+ title: string;
2048
+ coverage: "full" | "partial" | "not_mapped";
2049
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2050
+ controlId: string;
2051
+ evidence: {
2052
+ id: string;
2053
+ kind: "probe" | "artifact" | "control";
2054
+ title: string;
2055
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2056
+ probedAt: string | null;
2057
+ reference: string | null;
2058
+ satisfies: string;
2059
+ }[];
2060
+ gaps: string[];
2061
+ mitigates?: {
2062
+ name: string;
2063
+ id: string;
2064
+ }[] | undefined;
2065
+ }[];
2066
+ }>;
2067
+ report: z.ZodString;
2068
+ csv: z.ZodOptional<z.ZodString>;
2069
+ pdf: z.ZodOptional<z.ZodString>;
2070
+ }, "strip", z.ZodTypeAny, {
2071
+ coverage: {
2072
+ name: string;
2073
+ scope: string;
2074
+ summary: {
2075
+ controls: number;
2076
+ mapped: number;
2077
+ full: number;
2078
+ partial: number;
2079
+ states: {
2080
+ evidenced: number;
2081
+ warning: number;
2082
+ failing: number;
2083
+ not_evidenced: number;
2084
+ records_only: number;
2085
+ };
2086
+ };
2087
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2088
+ citation: string;
2089
+ mappingVersion: string;
2090
+ generatedAt: string;
2091
+ controls: {
2092
+ title: string;
2093
+ coverage: "full" | "partial" | "not_mapped";
2094
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2095
+ controlId: string;
2096
+ evidence: {
2097
+ id: string;
2098
+ kind: "probe" | "artifact" | "control";
2099
+ title: string;
2100
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2101
+ probedAt: string | null;
2102
+ reference: string | null;
2103
+ satisfies: string;
2104
+ }[];
2105
+ gaps: string[];
2106
+ mitigates?: {
2107
+ name: string;
2108
+ id: string;
2109
+ }[] | undefined;
2110
+ }[];
2111
+ };
2112
+ report: string;
2113
+ csv?: string | undefined;
2114
+ pdf?: string | undefined;
2115
+ }, {
2116
+ coverage: {
2117
+ name: string;
2118
+ scope: string;
2119
+ summary: {
2120
+ controls: number;
2121
+ mapped: number;
2122
+ full: number;
2123
+ partial: number;
2124
+ states: {
2125
+ evidenced: number;
2126
+ warning: number;
2127
+ failing: number;
2128
+ not_evidenced: number;
2129
+ records_only: number;
2130
+ };
2131
+ };
2132
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2133
+ citation: string;
2134
+ mappingVersion: string;
2135
+ generatedAt: string;
2136
+ controls: {
2137
+ title: string;
2138
+ coverage: "full" | "partial" | "not_mapped";
2139
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2140
+ controlId: string;
2141
+ evidence: {
2142
+ id: string;
2143
+ kind: "probe" | "artifact" | "control";
2144
+ title: string;
2145
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2146
+ probedAt: string | null;
2147
+ reference: string | null;
2148
+ satisfies: string;
2149
+ }[];
2150
+ gaps: string[];
2151
+ mitigates?: {
2152
+ name: string;
2153
+ id: string;
2154
+ }[] | undefined;
2155
+ }[];
2156
+ };
2157
+ report: string;
2158
+ csv?: string | undefined;
2159
+ pdf?: string | undefined;
2160
+ }>, "many">>;
2161
+ manifest: z.ZodObject<{
2162
+ algorithm: z.ZodLiteral<"sha256">;
2163
+ sections: z.ZodRecord<z.ZodString, z.ZodString>;
2164
+ archiveSha256: z.ZodString;
2165
+ signed: z.ZodOptional<z.ZodBoolean>;
2166
+ unsignedReason: z.ZodOptional<z.ZodString>;
2167
+ }, "strip", z.ZodTypeAny, {
2168
+ algorithm: "sha256";
2169
+ sections: Record<string, string>;
2170
+ archiveSha256: string;
2171
+ signed?: boolean | undefined;
2172
+ unsignedReason?: string | undefined;
2173
+ }, {
2174
+ algorithm: "sha256";
2175
+ sections: Record<string, string>;
2176
+ archiveSha256: string;
2177
+ signed?: boolean | undefined;
2178
+ unsignedReason?: string | undefined;
2179
+ }>;
2180
+ signature: z.ZodNullable<z.ZodObject<{
2181
+ algorithm: z.ZodLiteral<"Ed25519">;
2182
+ keyId: z.ZodString;
2183
+ preimageDomain: z.ZodString;
2184
+ value: z.ZodString;
2185
+ }, "strip", z.ZodTypeAny, {
2186
+ value: string;
2187
+ keyId: string;
2188
+ algorithm: "Ed25519";
2189
+ preimageDomain: string;
2190
+ }, {
2191
+ value: string;
2192
+ keyId: string;
2193
+ algorithm: "Ed25519";
2194
+ preimageDomain: string;
2195
+ }>>;
2196
+ }, "strip", z.ZodTypeAny, {
2197
+ workspaceId: string;
2198
+ runId: string;
2199
+ categories: {
2200
+ probes: {
2201
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
2202
+ score: number;
2203
+ probeId: string;
2204
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2205
+ details: Record<string, unknown>;
2206
+ remediation: string | null;
2207
+ probedAt: string;
2208
+ observedSince: string;
2209
+ observations: number;
2210
+ }[];
2211
+ score: number | null;
2212
+ gaps: string[];
2213
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
2214
+ counts: Record<string, number>;
2215
+ sampleIds: Record<string, string[]>;
2216
+ }[];
2217
+ signature: {
2218
+ value: string;
2219
+ keyId: string;
2220
+ algorithm: "Ed25519";
2221
+ preimageDomain: string;
2222
+ } | null;
2223
+ formatVersion: 1 | 2 | 3;
2224
+ periodStart: string;
2225
+ periodEnd: string;
2226
+ collectedAt: string;
2227
+ overallScore: number | null;
2228
+ probeHistoryDigest: {
2229
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2230
+ rows: number;
2231
+ firstAt: string | null;
2232
+ lastAt: string | null;
2233
+ statusCounts: Record<string, number>;
2234
+ }[];
2235
+ manifest: {
2236
+ algorithm: "sha256";
2237
+ sections: Record<string, string>;
2238
+ archiveSha256: string;
2239
+ signed?: boolean | undefined;
2240
+ unsignedReason?: string | undefined;
2241
+ };
2242
+ frameworks?: {
2243
+ coverage: {
2244
+ name: string;
2245
+ scope: string;
2246
+ summary: {
2247
+ controls: number;
2248
+ mapped: number;
2249
+ full: number;
2250
+ partial: number;
2251
+ states: {
2252
+ evidenced: number;
2253
+ warning: number;
2254
+ failing: number;
2255
+ not_evidenced: number;
2256
+ records_only: number;
2257
+ };
2258
+ };
2259
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2260
+ citation: string;
2261
+ mappingVersion: string;
2262
+ generatedAt: string;
2263
+ controls: {
2264
+ title: string;
2265
+ coverage: "full" | "partial" | "not_mapped";
2266
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2267
+ controlId: string;
2268
+ evidence: {
2269
+ id: string;
2270
+ kind: "probe" | "artifact" | "control";
2271
+ title: string;
2272
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2273
+ probedAt: string | null;
2274
+ reference: string | null;
2275
+ satisfies: string;
2276
+ }[];
2277
+ gaps: string[];
2278
+ mitigates?: {
2279
+ name: string;
2280
+ id: string;
2281
+ }[] | undefined;
2282
+ }[];
2283
+ };
2284
+ report: string;
2285
+ csv?: string | undefined;
2286
+ pdf?: string | undefined;
2287
+ }[] | undefined;
2288
+ }, {
2289
+ workspaceId: string;
2290
+ runId: string;
2291
+ categories: {
2292
+ probes: {
2293
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
2294
+ score: number;
2295
+ probeId: string;
2296
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2297
+ details: Record<string, unknown>;
2298
+ remediation: string | null;
2299
+ probedAt: string;
2300
+ observedSince: string;
2301
+ observations: number;
2302
+ }[];
2303
+ score: number | null;
2304
+ gaps: string[];
2305
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
2306
+ counts: Record<string, number>;
2307
+ sampleIds: Record<string, string[]>;
2308
+ }[];
2309
+ signature: {
2310
+ value: string;
2311
+ keyId: string;
2312
+ algorithm: "Ed25519";
2313
+ preimageDomain: string;
2314
+ } | null;
2315
+ formatVersion: 1 | 2 | 3;
2316
+ periodStart: string;
2317
+ periodEnd: string;
2318
+ collectedAt: string;
2319
+ overallScore: number | null;
2320
+ probeHistoryDigest: {
2321
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2322
+ rows: number;
2323
+ firstAt: string | null;
2324
+ lastAt: string | null;
2325
+ statusCounts: Record<string, number>;
2326
+ }[];
2327
+ manifest: {
2328
+ algorithm: "sha256";
2329
+ sections: Record<string, string>;
2330
+ archiveSha256: string;
2331
+ signed?: boolean | undefined;
2332
+ unsignedReason?: string | undefined;
2333
+ };
2334
+ frameworks?: {
2335
+ coverage: {
2336
+ name: string;
2337
+ scope: string;
2338
+ summary: {
2339
+ controls: number;
2340
+ mapped: number;
2341
+ full: number;
2342
+ partial: number;
2343
+ states: {
2344
+ evidenced: number;
2345
+ warning: number;
2346
+ failing: number;
2347
+ not_evidenced: number;
2348
+ records_only: number;
2349
+ };
2350
+ };
2351
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2352
+ citation: string;
2353
+ mappingVersion: string;
2354
+ generatedAt: string;
2355
+ controls: {
2356
+ title: string;
2357
+ coverage: "full" | "partial" | "not_mapped";
2358
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2359
+ controlId: string;
2360
+ evidence: {
2361
+ id: string;
2362
+ kind: "probe" | "artifact" | "control";
2363
+ title: string;
2364
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2365
+ probedAt: string | null;
2366
+ reference: string | null;
2367
+ satisfies: string;
2368
+ }[];
2369
+ gaps: string[];
2370
+ mitigates?: {
2371
+ name: string;
2372
+ id: string;
2373
+ }[] | undefined;
2374
+ }[];
2375
+ };
2376
+ report: string;
2377
+ csv?: string | undefined;
2378
+ pdf?: string | undefined;
2379
+ }[] | undefined;
2380
+ }>;
2381
+ export type Soc2EvidenceArchiveResponse = z.infer<typeof Soc2EvidenceArchiveResponse>;
2382
+ /** `POST /api/v1/compliance/soc2-collect`: the sealed archive of a fresh collection, and whether it is signed. */
2383
+ export declare const Soc2CollectResponse: z.ZodUnion<[z.ZodObject<{
2384
+ signed: z.ZodLiteral<true>;
2385
+ signingKeyId: z.ZodString;
2386
+ runId: z.ZodString;
2387
+ archive: z.ZodObject<{
2388
+ formatVersion: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
2389
+ workspaceId: z.ZodString;
2390
+ runId: z.ZodString;
2391
+ periodStart: z.ZodString;
2392
+ periodEnd: z.ZodString;
2393
+ collectedAt: z.ZodString;
2394
+ overallScore: z.ZodNullable<z.ZodNumber>;
2395
+ categories: z.ZodArray<z.ZodObject<{
2396
+ category: z.ZodEnum<["security", "availability", "processing_integrity", "confidentiality", "privacy"]>;
2397
+ score: z.ZodNullable<z.ZodNumber>;
2398
+ probes: z.ZodArray<z.ZodObject<{
2399
+ probeId: z.ZodString;
2400
+ probeType: z.ZodEnum<["policy_check", "mfa_enforcement", "data_residency", "audit_log_integrity", "token_rotation", "sop_coverage", "auto_apply_provenance", "sop_git_drift", "guard_liveness", "guardrail_authority", "provider_availability"]>;
2401
+ status: z.ZodEnum<["pass", "fail", "warn", "error", "not_enforced"]>;
2402
+ score: z.ZodNumber;
2403
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
2404
+ remediation: z.ZodNullable<z.ZodString>;
2405
+ probedAt: z.ZodString;
2406
+ observedSince: z.ZodString;
2407
+ observations: z.ZodNumber;
2408
+ }, "strip", z.ZodTypeAny, {
2409
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
2410
+ score: number;
2411
+ probeId: string;
2412
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2413
+ details: Record<string, unknown>;
2414
+ remediation: string | null;
2415
+ probedAt: string;
2416
+ observedSince: string;
2417
+ observations: number;
2418
+ }, {
2419
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
2420
+ score: number;
2421
+ probeId: string;
2422
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2423
+ details: Record<string, unknown>;
2424
+ remediation: string | null;
2425
+ probedAt: string;
2426
+ observedSince: string;
2427
+ observations: number;
2428
+ }>, "many">;
2429
+ counts: z.ZodRecord<z.ZodString, z.ZodNumber>;
2430
+ sampleIds: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
2431
+ gaps: z.ZodArray<z.ZodString, "many">;
2432
+ }, "strip", z.ZodTypeAny, {
2433
+ probes: {
2434
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
2435
+ score: number;
2436
+ probeId: string;
2437
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2438
+ details: Record<string, unknown>;
2439
+ remediation: string | null;
2440
+ probedAt: string;
2441
+ observedSince: string;
2442
+ observations: number;
2443
+ }[];
2444
+ score: number | null;
2445
+ gaps: string[];
2446
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
2447
+ counts: Record<string, number>;
2448
+ sampleIds: Record<string, string[]>;
2449
+ }, {
2450
+ probes: {
2451
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
2452
+ score: number;
2453
+ probeId: string;
2454
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2455
+ details: Record<string, unknown>;
2456
+ remediation: string | null;
2457
+ probedAt: string;
2458
+ observedSince: string;
2459
+ observations: number;
2460
+ }[];
2461
+ score: number | null;
2462
+ gaps: string[];
2463
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
2464
+ counts: Record<string, number>;
2465
+ sampleIds: Record<string, string[]>;
2466
+ }>, "many">;
2467
+ probeHistoryDigest: z.ZodArray<z.ZodObject<{
2468
+ probeType: z.ZodEnum<["policy_check", "mfa_enforcement", "data_residency", "audit_log_integrity", "token_rotation", "sop_coverage", "auto_apply_provenance", "sop_git_drift", "guard_liveness", "guardrail_authority", "provider_availability"]>;
2469
+ rows: z.ZodNumber;
2470
+ firstAt: z.ZodNullable<z.ZodString>;
2471
+ lastAt: z.ZodNullable<z.ZodString>;
2472
+ statusCounts: z.ZodRecord<z.ZodString, z.ZodNumber>;
2473
+ }, "strip", z.ZodTypeAny, {
2474
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2475
+ rows: number;
2476
+ firstAt: string | null;
2477
+ lastAt: string | null;
2478
+ statusCounts: Record<string, number>;
2479
+ }, {
2480
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2481
+ rows: number;
2482
+ firstAt: string | null;
2483
+ lastAt: string | null;
2484
+ statusCounts: Record<string, number>;
2485
+ }>, "many">;
2486
+ frameworks: z.ZodOptional<z.ZodArray<z.ZodObject<{
2487
+ coverage: z.ZodObject<{
2488
+ frameworkId: z.ZodEnum<["eu_ai_act", "iso_42001", "nist_ai_rmf", "mitre_atlas"]>;
2489
+ name: z.ZodString;
2490
+ citation: z.ZodString;
2491
+ scope: z.ZodString;
2492
+ mappingVersion: z.ZodString;
2493
+ generatedAt: z.ZodString;
2494
+ summary: z.ZodObject<{
2495
+ controls: z.ZodNumber;
2496
+ mapped: z.ZodNumber;
2497
+ full: z.ZodNumber;
2498
+ partial: z.ZodNumber;
2499
+ states: z.ZodObject<{
2500
+ evidenced: z.ZodNumber;
2501
+ warning: z.ZodNumber;
2502
+ failing: z.ZodNumber;
2503
+ not_evidenced: z.ZodNumber;
2504
+ records_only: z.ZodNumber;
2505
+ }, "strip", z.ZodTypeAny, {
2506
+ evidenced: number;
2507
+ warning: number;
2508
+ failing: number;
2509
+ not_evidenced: number;
2510
+ records_only: number;
2511
+ }, {
2512
+ evidenced: number;
2513
+ warning: number;
2514
+ failing: number;
2515
+ not_evidenced: number;
2516
+ records_only: number;
2517
+ }>;
2518
+ }, "strip", z.ZodTypeAny, {
2519
+ controls: number;
2520
+ mapped: number;
2521
+ full: number;
2522
+ partial: number;
2523
+ states: {
2524
+ evidenced: number;
2525
+ warning: number;
2526
+ failing: number;
2527
+ not_evidenced: number;
2528
+ records_only: number;
2529
+ };
2530
+ }, {
2531
+ controls: number;
2532
+ mapped: number;
2533
+ full: number;
2534
+ partial: number;
2535
+ states: {
2536
+ evidenced: number;
2537
+ warning: number;
2538
+ failing: number;
2539
+ not_evidenced: number;
2540
+ records_only: number;
2541
+ };
2542
+ }>;
2543
+ controls: z.ZodArray<z.ZodObject<{
2544
+ controlId: z.ZodString;
2545
+ title: z.ZodString;
2546
+ coverage: z.ZodEnum<["full", "partial", "not_mapped"]>;
2547
+ state: z.ZodNullable<z.ZodEnum<["evidenced", "warning", "failing", "not_evidenced", "records_only"]>>;
2548
+ evidence: z.ZodArray<z.ZodObject<{
2549
+ kind: z.ZodEnum<["probe", "artifact", "control"]>;
2550
+ id: z.ZodString;
2551
+ title: z.ZodString;
2552
+ reference: z.ZodNullable<z.ZodString>;
2553
+ satisfies: z.ZodString;
2554
+ state: z.ZodEnum<["pass", "fail", "warn", "error", "not_enforced", "not_run", "available"]>;
2555
+ probedAt: z.ZodNullable<z.ZodString>;
2556
+ }, "strip", z.ZodTypeAny, {
2557
+ id: string;
2558
+ kind: "probe" | "artifact" | "control";
2559
+ title: string;
2560
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2561
+ probedAt: string | null;
2562
+ reference: string | null;
2563
+ satisfies: string;
2564
+ }, {
2565
+ id: string;
2566
+ kind: "probe" | "artifact" | "control";
2567
+ title: string;
2568
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2569
+ probedAt: string | null;
2570
+ reference: string | null;
2571
+ satisfies: string;
2572
+ }>, "many">;
2573
+ gaps: z.ZodArray<z.ZodString, "many">;
2574
+ mitigates: z.ZodOptional<z.ZodArray<z.ZodObject<{
2575
+ id: z.ZodString;
2576
+ name: z.ZodString;
2577
+ }, "strip", z.ZodTypeAny, {
2578
+ name: string;
2579
+ id: string;
2580
+ }, {
2581
+ name: string;
2582
+ id: string;
2583
+ }>, "many">>;
2584
+ }, "strip", z.ZodTypeAny, {
2585
+ title: string;
2586
+ coverage: "full" | "partial" | "not_mapped";
2587
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2588
+ controlId: string;
2589
+ evidence: {
2590
+ id: string;
2591
+ kind: "probe" | "artifact" | "control";
2592
+ title: string;
2593
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2594
+ probedAt: string | null;
2595
+ reference: string | null;
2596
+ satisfies: string;
2597
+ }[];
2598
+ gaps: string[];
2599
+ mitigates?: {
2600
+ name: string;
2601
+ id: string;
2602
+ }[] | undefined;
2603
+ }, {
2604
+ title: string;
2605
+ coverage: "full" | "partial" | "not_mapped";
2606
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2607
+ controlId: string;
2608
+ evidence: {
2609
+ id: string;
2610
+ kind: "probe" | "artifact" | "control";
2611
+ title: string;
2612
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2613
+ probedAt: string | null;
2614
+ reference: string | null;
2615
+ satisfies: string;
2616
+ }[];
2617
+ gaps: string[];
2618
+ mitigates?: {
2619
+ name: string;
2620
+ id: string;
2621
+ }[] | undefined;
2622
+ }>, "many">;
2623
+ }, "strip", z.ZodTypeAny, {
2624
+ name: string;
2625
+ scope: string;
2626
+ summary: {
2627
+ controls: number;
2628
+ mapped: number;
2629
+ full: number;
2630
+ partial: number;
2631
+ states: {
2632
+ evidenced: number;
2633
+ warning: number;
2634
+ failing: number;
2635
+ not_evidenced: number;
2636
+ records_only: number;
2637
+ };
2638
+ };
2639
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2640
+ citation: string;
2641
+ mappingVersion: string;
2642
+ generatedAt: string;
2643
+ controls: {
2644
+ title: string;
2645
+ coverage: "full" | "partial" | "not_mapped";
2646
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2647
+ controlId: string;
2648
+ evidence: {
2649
+ id: string;
2650
+ kind: "probe" | "artifact" | "control";
2651
+ title: string;
2652
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2653
+ probedAt: string | null;
2654
+ reference: string | null;
2655
+ satisfies: string;
2656
+ }[];
2657
+ gaps: string[];
2658
+ mitigates?: {
2659
+ name: string;
2660
+ id: string;
2661
+ }[] | undefined;
2662
+ }[];
2663
+ }, {
2664
+ name: string;
2665
+ scope: string;
2666
+ summary: {
2667
+ controls: number;
2668
+ mapped: number;
2669
+ full: number;
2670
+ partial: number;
2671
+ states: {
2672
+ evidenced: number;
2673
+ warning: number;
2674
+ failing: number;
2675
+ not_evidenced: number;
2676
+ records_only: number;
2677
+ };
2678
+ };
2679
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2680
+ citation: string;
2681
+ mappingVersion: string;
2682
+ generatedAt: string;
2683
+ controls: {
2684
+ title: string;
2685
+ coverage: "full" | "partial" | "not_mapped";
2686
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2687
+ controlId: string;
2688
+ evidence: {
2689
+ id: string;
2690
+ kind: "probe" | "artifact" | "control";
2691
+ title: string;
2692
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2693
+ probedAt: string | null;
2694
+ reference: string | null;
2695
+ satisfies: string;
2696
+ }[];
2697
+ gaps: string[];
2698
+ mitigates?: {
2699
+ name: string;
2700
+ id: string;
2701
+ }[] | undefined;
2702
+ }[];
2703
+ }>;
2704
+ report: z.ZodString;
2705
+ csv: z.ZodOptional<z.ZodString>;
2706
+ pdf: z.ZodOptional<z.ZodString>;
2707
+ }, "strip", z.ZodTypeAny, {
2708
+ coverage: {
2709
+ name: string;
2710
+ scope: string;
2711
+ summary: {
2712
+ controls: number;
2713
+ mapped: number;
2714
+ full: number;
2715
+ partial: number;
2716
+ states: {
2717
+ evidenced: number;
2718
+ warning: number;
2719
+ failing: number;
2720
+ not_evidenced: number;
2721
+ records_only: number;
2722
+ };
2723
+ };
2724
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2725
+ citation: string;
2726
+ mappingVersion: string;
2727
+ generatedAt: string;
2728
+ controls: {
2729
+ title: string;
2730
+ coverage: "full" | "partial" | "not_mapped";
2731
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2732
+ controlId: string;
2733
+ evidence: {
2734
+ id: string;
2735
+ kind: "probe" | "artifact" | "control";
2736
+ title: string;
2737
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2738
+ probedAt: string | null;
2739
+ reference: string | null;
2740
+ satisfies: string;
2741
+ }[];
2742
+ gaps: string[];
2743
+ mitigates?: {
2744
+ name: string;
2745
+ id: string;
2746
+ }[] | undefined;
2747
+ }[];
2748
+ };
2749
+ report: string;
2750
+ csv?: string | undefined;
2751
+ pdf?: string | undefined;
2752
+ }, {
2753
+ coverage: {
2754
+ name: string;
2755
+ scope: string;
2756
+ summary: {
2757
+ controls: number;
2758
+ mapped: number;
2759
+ full: number;
2760
+ partial: number;
2761
+ states: {
2762
+ evidenced: number;
2763
+ warning: number;
2764
+ failing: number;
2765
+ not_evidenced: number;
2766
+ records_only: number;
2767
+ };
2768
+ };
2769
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2770
+ citation: string;
2771
+ mappingVersion: string;
2772
+ generatedAt: string;
2773
+ controls: {
2774
+ title: string;
2775
+ coverage: "full" | "partial" | "not_mapped";
2776
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2777
+ controlId: string;
2778
+ evidence: {
2779
+ id: string;
2780
+ kind: "probe" | "artifact" | "control";
2781
+ title: string;
2782
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2783
+ probedAt: string | null;
2784
+ reference: string | null;
2785
+ satisfies: string;
2786
+ }[];
2787
+ gaps: string[];
2788
+ mitigates?: {
2789
+ name: string;
2790
+ id: string;
2791
+ }[] | undefined;
2792
+ }[];
2793
+ };
2794
+ report: string;
2795
+ csv?: string | undefined;
2796
+ pdf?: string | undefined;
2797
+ }>, "many">>;
2798
+ manifest: z.ZodObject<{
2799
+ algorithm: z.ZodLiteral<"sha256">;
2800
+ sections: z.ZodRecord<z.ZodString, z.ZodString>;
2801
+ archiveSha256: z.ZodString;
2802
+ signed: z.ZodOptional<z.ZodBoolean>;
2803
+ unsignedReason: z.ZodOptional<z.ZodString>;
2804
+ }, "strip", z.ZodTypeAny, {
2805
+ algorithm: "sha256";
2806
+ sections: Record<string, string>;
2807
+ archiveSha256: string;
2808
+ signed?: boolean | undefined;
2809
+ unsignedReason?: string | undefined;
2810
+ }, {
2811
+ algorithm: "sha256";
2812
+ sections: Record<string, string>;
2813
+ archiveSha256: string;
2814
+ signed?: boolean | undefined;
2815
+ unsignedReason?: string | undefined;
2816
+ }>;
2817
+ signature: z.ZodNullable<z.ZodObject<{
2818
+ algorithm: z.ZodLiteral<"Ed25519">;
2819
+ keyId: z.ZodString;
2820
+ preimageDomain: z.ZodString;
2821
+ value: z.ZodString;
2822
+ }, "strip", z.ZodTypeAny, {
2823
+ value: string;
2824
+ keyId: string;
2825
+ algorithm: "Ed25519";
2826
+ preimageDomain: string;
2827
+ }, {
2828
+ value: string;
2829
+ keyId: string;
2830
+ algorithm: "Ed25519";
2831
+ preimageDomain: string;
2832
+ }>>;
2833
+ }, "strip", z.ZodTypeAny, {
2834
+ workspaceId: string;
2835
+ runId: string;
2836
+ categories: {
2837
+ probes: {
2838
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
2839
+ score: number;
2840
+ probeId: string;
2841
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2842
+ details: Record<string, unknown>;
2843
+ remediation: string | null;
2844
+ probedAt: string;
2845
+ observedSince: string;
2846
+ observations: number;
2847
+ }[];
2848
+ score: number | null;
2849
+ gaps: string[];
2850
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
2851
+ counts: Record<string, number>;
2852
+ sampleIds: Record<string, string[]>;
2853
+ }[];
2854
+ signature: {
2855
+ value: string;
2856
+ keyId: string;
2857
+ algorithm: "Ed25519";
2858
+ preimageDomain: string;
2859
+ } | null;
2860
+ formatVersion: 1 | 2 | 3;
2861
+ periodStart: string;
2862
+ periodEnd: string;
2863
+ collectedAt: string;
2864
+ overallScore: number | null;
2865
+ probeHistoryDigest: {
2866
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2867
+ rows: number;
2868
+ firstAt: string | null;
2869
+ lastAt: string | null;
2870
+ statusCounts: Record<string, number>;
2871
+ }[];
2872
+ manifest: {
2873
+ algorithm: "sha256";
2874
+ sections: Record<string, string>;
2875
+ archiveSha256: string;
2876
+ signed?: boolean | undefined;
2877
+ unsignedReason?: string | undefined;
2878
+ };
2879
+ frameworks?: {
2880
+ coverage: {
2881
+ name: string;
2882
+ scope: string;
2883
+ summary: {
2884
+ controls: number;
2885
+ mapped: number;
2886
+ full: number;
2887
+ partial: number;
2888
+ states: {
2889
+ evidenced: number;
2890
+ warning: number;
2891
+ failing: number;
2892
+ not_evidenced: number;
2893
+ records_only: number;
2894
+ };
2895
+ };
2896
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2897
+ citation: string;
2898
+ mappingVersion: string;
2899
+ generatedAt: string;
2900
+ controls: {
2901
+ title: string;
2902
+ coverage: "full" | "partial" | "not_mapped";
2903
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2904
+ controlId: string;
2905
+ evidence: {
2906
+ id: string;
2907
+ kind: "probe" | "artifact" | "control";
2908
+ title: string;
2909
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
2910
+ probedAt: string | null;
2911
+ reference: string | null;
2912
+ satisfies: string;
2913
+ }[];
2914
+ gaps: string[];
2915
+ mitigates?: {
2916
+ name: string;
2917
+ id: string;
2918
+ }[] | undefined;
2919
+ }[];
2920
+ };
2921
+ report: string;
2922
+ csv?: string | undefined;
2923
+ pdf?: string | undefined;
2924
+ }[] | undefined;
2925
+ }, {
2926
+ workspaceId: string;
2927
+ runId: string;
2928
+ categories: {
2929
+ probes: {
2930
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
2931
+ score: number;
2932
+ probeId: string;
2933
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2934
+ details: Record<string, unknown>;
2935
+ remediation: string | null;
2936
+ probedAt: string;
2937
+ observedSince: string;
2938
+ observations: number;
2939
+ }[];
2940
+ score: number | null;
2941
+ gaps: string[];
2942
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
2943
+ counts: Record<string, number>;
2944
+ sampleIds: Record<string, string[]>;
2945
+ }[];
2946
+ signature: {
2947
+ value: string;
2948
+ keyId: string;
2949
+ algorithm: "Ed25519";
2950
+ preimageDomain: string;
2951
+ } | null;
2952
+ formatVersion: 1 | 2 | 3;
2953
+ periodStart: string;
2954
+ periodEnd: string;
2955
+ collectedAt: string;
2956
+ overallScore: number | null;
2957
+ probeHistoryDigest: {
2958
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
2959
+ rows: number;
2960
+ firstAt: string | null;
2961
+ lastAt: string | null;
2962
+ statusCounts: Record<string, number>;
2963
+ }[];
2964
+ manifest: {
2965
+ algorithm: "sha256";
2966
+ sections: Record<string, string>;
2967
+ archiveSha256: string;
2968
+ signed?: boolean | undefined;
2969
+ unsignedReason?: string | undefined;
2970
+ };
2971
+ frameworks?: {
2972
+ coverage: {
2973
+ name: string;
2974
+ scope: string;
2975
+ summary: {
2976
+ controls: number;
2977
+ mapped: number;
2978
+ full: number;
2979
+ partial: number;
2980
+ states: {
2981
+ evidenced: number;
2982
+ warning: number;
2983
+ failing: number;
2984
+ not_evidenced: number;
2985
+ records_only: number;
2986
+ };
2987
+ };
2988
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
2989
+ citation: string;
2990
+ mappingVersion: string;
2991
+ generatedAt: string;
2992
+ controls: {
2993
+ title: string;
2994
+ coverage: "full" | "partial" | "not_mapped";
2995
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
2996
+ controlId: string;
2997
+ evidence: {
2998
+ id: string;
2999
+ kind: "probe" | "artifact" | "control";
3000
+ title: string;
3001
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3002
+ probedAt: string | null;
3003
+ reference: string | null;
3004
+ satisfies: string;
3005
+ }[];
3006
+ gaps: string[];
3007
+ mitigates?: {
3008
+ name: string;
3009
+ id: string;
3010
+ }[] | undefined;
3011
+ }[];
3012
+ };
3013
+ report: string;
3014
+ csv?: string | undefined;
3015
+ pdf?: string | undefined;
3016
+ }[] | undefined;
3017
+ }>;
3018
+ artifactUrl: z.ZodNullable<z.ZodString>;
3019
+ }, "strip", z.ZodTypeAny, {
3020
+ runId: string;
3021
+ signed: true;
3022
+ signingKeyId: string;
3023
+ archive: {
3024
+ workspaceId: string;
3025
+ runId: string;
3026
+ categories: {
3027
+ probes: {
3028
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
3029
+ score: number;
3030
+ probeId: string;
3031
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3032
+ details: Record<string, unknown>;
3033
+ remediation: string | null;
3034
+ probedAt: string;
3035
+ observedSince: string;
3036
+ observations: number;
3037
+ }[];
3038
+ score: number | null;
3039
+ gaps: string[];
3040
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
3041
+ counts: Record<string, number>;
3042
+ sampleIds: Record<string, string[]>;
3043
+ }[];
3044
+ signature: {
3045
+ value: string;
3046
+ keyId: string;
3047
+ algorithm: "Ed25519";
3048
+ preimageDomain: string;
3049
+ } | null;
3050
+ formatVersion: 1 | 2 | 3;
3051
+ periodStart: string;
3052
+ periodEnd: string;
3053
+ collectedAt: string;
3054
+ overallScore: number | null;
3055
+ probeHistoryDigest: {
3056
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3057
+ rows: number;
3058
+ firstAt: string | null;
3059
+ lastAt: string | null;
3060
+ statusCounts: Record<string, number>;
3061
+ }[];
3062
+ manifest: {
3063
+ algorithm: "sha256";
3064
+ sections: Record<string, string>;
3065
+ archiveSha256: string;
3066
+ signed?: boolean | undefined;
3067
+ unsignedReason?: string | undefined;
3068
+ };
3069
+ frameworks?: {
3070
+ coverage: {
3071
+ name: string;
3072
+ scope: string;
3073
+ summary: {
3074
+ controls: number;
3075
+ mapped: number;
3076
+ full: number;
3077
+ partial: number;
3078
+ states: {
3079
+ evidenced: number;
3080
+ warning: number;
3081
+ failing: number;
3082
+ not_evidenced: number;
3083
+ records_only: number;
3084
+ };
3085
+ };
3086
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
3087
+ citation: string;
3088
+ mappingVersion: string;
3089
+ generatedAt: string;
3090
+ controls: {
3091
+ title: string;
3092
+ coverage: "full" | "partial" | "not_mapped";
3093
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
3094
+ controlId: string;
3095
+ evidence: {
3096
+ id: string;
3097
+ kind: "probe" | "artifact" | "control";
3098
+ title: string;
3099
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3100
+ probedAt: string | null;
3101
+ reference: string | null;
3102
+ satisfies: string;
3103
+ }[];
3104
+ gaps: string[];
3105
+ mitigates?: {
3106
+ name: string;
3107
+ id: string;
3108
+ }[] | undefined;
3109
+ }[];
3110
+ };
3111
+ report: string;
3112
+ csv?: string | undefined;
3113
+ pdf?: string | undefined;
3114
+ }[] | undefined;
3115
+ };
3116
+ artifactUrl: string | null;
3117
+ }, {
3118
+ runId: string;
3119
+ signed: true;
3120
+ signingKeyId: string;
3121
+ archive: {
3122
+ workspaceId: string;
3123
+ runId: string;
3124
+ categories: {
3125
+ probes: {
3126
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
3127
+ score: number;
3128
+ probeId: string;
3129
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3130
+ details: Record<string, unknown>;
3131
+ remediation: string | null;
3132
+ probedAt: string;
3133
+ observedSince: string;
3134
+ observations: number;
3135
+ }[];
3136
+ score: number | null;
3137
+ gaps: string[];
3138
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
3139
+ counts: Record<string, number>;
3140
+ sampleIds: Record<string, string[]>;
3141
+ }[];
3142
+ signature: {
3143
+ value: string;
3144
+ keyId: string;
3145
+ algorithm: "Ed25519";
3146
+ preimageDomain: string;
3147
+ } | null;
3148
+ formatVersion: 1 | 2 | 3;
3149
+ periodStart: string;
3150
+ periodEnd: string;
3151
+ collectedAt: string;
3152
+ overallScore: number | null;
3153
+ probeHistoryDigest: {
3154
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3155
+ rows: number;
3156
+ firstAt: string | null;
3157
+ lastAt: string | null;
3158
+ statusCounts: Record<string, number>;
3159
+ }[];
3160
+ manifest: {
3161
+ algorithm: "sha256";
3162
+ sections: Record<string, string>;
3163
+ archiveSha256: string;
3164
+ signed?: boolean | undefined;
3165
+ unsignedReason?: string | undefined;
3166
+ };
3167
+ frameworks?: {
3168
+ coverage: {
3169
+ name: string;
3170
+ scope: string;
3171
+ summary: {
3172
+ controls: number;
3173
+ mapped: number;
3174
+ full: number;
3175
+ partial: number;
3176
+ states: {
3177
+ evidenced: number;
3178
+ warning: number;
3179
+ failing: number;
3180
+ not_evidenced: number;
3181
+ records_only: number;
3182
+ };
3183
+ };
3184
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
3185
+ citation: string;
3186
+ mappingVersion: string;
3187
+ generatedAt: string;
3188
+ controls: {
3189
+ title: string;
3190
+ coverage: "full" | "partial" | "not_mapped";
3191
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
3192
+ controlId: string;
3193
+ evidence: {
3194
+ id: string;
3195
+ kind: "probe" | "artifact" | "control";
3196
+ title: string;
3197
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3198
+ probedAt: string | null;
3199
+ reference: string | null;
3200
+ satisfies: string;
3201
+ }[];
3202
+ gaps: string[];
3203
+ mitigates?: {
3204
+ name: string;
3205
+ id: string;
3206
+ }[] | undefined;
3207
+ }[];
3208
+ };
3209
+ report: string;
3210
+ csv?: string | undefined;
3211
+ pdf?: string | undefined;
3212
+ }[] | undefined;
3213
+ };
3214
+ artifactUrl: string | null;
3215
+ }>, z.ZodObject<{
3216
+ signed: z.ZodLiteral<false>;
3217
+ unsignedReason: z.ZodString;
3218
+ runId: z.ZodString;
3219
+ archive: z.ZodObject<{
3220
+ formatVersion: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
3221
+ workspaceId: z.ZodString;
3222
+ runId: z.ZodString;
3223
+ periodStart: z.ZodString;
3224
+ periodEnd: z.ZodString;
3225
+ collectedAt: z.ZodString;
3226
+ overallScore: z.ZodNullable<z.ZodNumber>;
3227
+ categories: z.ZodArray<z.ZodObject<{
3228
+ category: z.ZodEnum<["security", "availability", "processing_integrity", "confidentiality", "privacy"]>;
3229
+ score: z.ZodNullable<z.ZodNumber>;
3230
+ probes: z.ZodArray<z.ZodObject<{
3231
+ probeId: z.ZodString;
3232
+ probeType: z.ZodEnum<["policy_check", "mfa_enforcement", "data_residency", "audit_log_integrity", "token_rotation", "sop_coverage", "auto_apply_provenance", "sop_git_drift", "guard_liveness", "guardrail_authority", "provider_availability"]>;
3233
+ status: z.ZodEnum<["pass", "fail", "warn", "error", "not_enforced"]>;
3234
+ score: z.ZodNumber;
3235
+ details: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3236
+ remediation: z.ZodNullable<z.ZodString>;
3237
+ probedAt: z.ZodString;
3238
+ observedSince: z.ZodString;
3239
+ observations: z.ZodNumber;
3240
+ }, "strip", z.ZodTypeAny, {
3241
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
3242
+ score: number;
3243
+ probeId: string;
3244
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3245
+ details: Record<string, unknown>;
3246
+ remediation: string | null;
3247
+ probedAt: string;
3248
+ observedSince: string;
3249
+ observations: number;
3250
+ }, {
3251
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
3252
+ score: number;
3253
+ probeId: string;
3254
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3255
+ details: Record<string, unknown>;
3256
+ remediation: string | null;
3257
+ probedAt: string;
3258
+ observedSince: string;
3259
+ observations: number;
3260
+ }>, "many">;
3261
+ counts: z.ZodRecord<z.ZodString, z.ZodNumber>;
3262
+ sampleIds: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
3263
+ gaps: z.ZodArray<z.ZodString, "many">;
3264
+ }, "strip", z.ZodTypeAny, {
3265
+ probes: {
3266
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
3267
+ score: number;
3268
+ probeId: string;
3269
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3270
+ details: Record<string, unknown>;
3271
+ remediation: string | null;
3272
+ probedAt: string;
3273
+ observedSince: string;
3274
+ observations: number;
3275
+ }[];
3276
+ score: number | null;
3277
+ gaps: string[];
3278
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
3279
+ counts: Record<string, number>;
3280
+ sampleIds: Record<string, string[]>;
3281
+ }, {
3282
+ probes: {
3283
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
3284
+ score: number;
3285
+ probeId: string;
3286
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3287
+ details: Record<string, unknown>;
3288
+ remediation: string | null;
3289
+ probedAt: string;
3290
+ observedSince: string;
3291
+ observations: number;
3292
+ }[];
3293
+ score: number | null;
3294
+ gaps: string[];
3295
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
3296
+ counts: Record<string, number>;
3297
+ sampleIds: Record<string, string[]>;
3298
+ }>, "many">;
3299
+ probeHistoryDigest: z.ZodArray<z.ZodObject<{
3300
+ probeType: z.ZodEnum<["policy_check", "mfa_enforcement", "data_residency", "audit_log_integrity", "token_rotation", "sop_coverage", "auto_apply_provenance", "sop_git_drift", "guard_liveness", "guardrail_authority", "provider_availability"]>;
3301
+ rows: z.ZodNumber;
3302
+ firstAt: z.ZodNullable<z.ZodString>;
3303
+ lastAt: z.ZodNullable<z.ZodString>;
3304
+ statusCounts: z.ZodRecord<z.ZodString, z.ZodNumber>;
3305
+ }, "strip", z.ZodTypeAny, {
3306
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3307
+ rows: number;
3308
+ firstAt: string | null;
3309
+ lastAt: string | null;
3310
+ statusCounts: Record<string, number>;
3311
+ }, {
3312
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3313
+ rows: number;
3314
+ firstAt: string | null;
3315
+ lastAt: string | null;
3316
+ statusCounts: Record<string, number>;
3317
+ }>, "many">;
3318
+ frameworks: z.ZodOptional<z.ZodArray<z.ZodObject<{
3319
+ coverage: z.ZodObject<{
3320
+ frameworkId: z.ZodEnum<["eu_ai_act", "iso_42001", "nist_ai_rmf", "mitre_atlas"]>;
3321
+ name: z.ZodString;
3322
+ citation: z.ZodString;
3323
+ scope: z.ZodString;
3324
+ mappingVersion: z.ZodString;
3325
+ generatedAt: z.ZodString;
3326
+ summary: z.ZodObject<{
3327
+ controls: z.ZodNumber;
3328
+ mapped: z.ZodNumber;
3329
+ full: z.ZodNumber;
3330
+ partial: z.ZodNumber;
3331
+ states: z.ZodObject<{
3332
+ evidenced: z.ZodNumber;
3333
+ warning: z.ZodNumber;
3334
+ failing: z.ZodNumber;
3335
+ not_evidenced: z.ZodNumber;
3336
+ records_only: z.ZodNumber;
3337
+ }, "strip", z.ZodTypeAny, {
3338
+ evidenced: number;
3339
+ warning: number;
3340
+ failing: number;
3341
+ not_evidenced: number;
3342
+ records_only: number;
3343
+ }, {
3344
+ evidenced: number;
3345
+ warning: number;
3346
+ failing: number;
3347
+ not_evidenced: number;
3348
+ records_only: number;
3349
+ }>;
3350
+ }, "strip", z.ZodTypeAny, {
3351
+ controls: number;
3352
+ mapped: number;
3353
+ full: number;
3354
+ partial: number;
3355
+ states: {
3356
+ evidenced: number;
3357
+ warning: number;
3358
+ failing: number;
3359
+ not_evidenced: number;
3360
+ records_only: number;
3361
+ };
3362
+ }, {
3363
+ controls: number;
3364
+ mapped: number;
3365
+ full: number;
3366
+ partial: number;
3367
+ states: {
3368
+ evidenced: number;
3369
+ warning: number;
3370
+ failing: number;
3371
+ not_evidenced: number;
3372
+ records_only: number;
3373
+ };
3374
+ }>;
3375
+ controls: z.ZodArray<z.ZodObject<{
3376
+ controlId: z.ZodString;
3377
+ title: z.ZodString;
3378
+ coverage: z.ZodEnum<["full", "partial", "not_mapped"]>;
3379
+ state: z.ZodNullable<z.ZodEnum<["evidenced", "warning", "failing", "not_evidenced", "records_only"]>>;
3380
+ evidence: z.ZodArray<z.ZodObject<{
3381
+ kind: z.ZodEnum<["probe", "artifact", "control"]>;
3382
+ id: z.ZodString;
3383
+ title: z.ZodString;
3384
+ reference: z.ZodNullable<z.ZodString>;
3385
+ satisfies: z.ZodString;
3386
+ state: z.ZodEnum<["pass", "fail", "warn", "error", "not_enforced", "not_run", "available"]>;
3387
+ probedAt: z.ZodNullable<z.ZodString>;
3388
+ }, "strip", z.ZodTypeAny, {
3389
+ id: string;
3390
+ kind: "probe" | "artifact" | "control";
3391
+ title: string;
3392
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3393
+ probedAt: string | null;
3394
+ reference: string | null;
3395
+ satisfies: string;
3396
+ }, {
3397
+ id: string;
3398
+ kind: "probe" | "artifact" | "control";
3399
+ title: string;
3400
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3401
+ probedAt: string | null;
3402
+ reference: string | null;
3403
+ satisfies: string;
3404
+ }>, "many">;
3405
+ gaps: z.ZodArray<z.ZodString, "many">;
3406
+ mitigates: z.ZodOptional<z.ZodArray<z.ZodObject<{
3407
+ id: z.ZodString;
3408
+ name: z.ZodString;
3409
+ }, "strip", z.ZodTypeAny, {
3410
+ name: string;
3411
+ id: string;
3412
+ }, {
3413
+ name: string;
3414
+ id: string;
3415
+ }>, "many">>;
3416
+ }, "strip", z.ZodTypeAny, {
3417
+ title: string;
3418
+ coverage: "full" | "partial" | "not_mapped";
3419
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
3420
+ controlId: string;
3421
+ evidence: {
3422
+ id: string;
3423
+ kind: "probe" | "artifact" | "control";
3424
+ title: string;
3425
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3426
+ probedAt: string | null;
3427
+ reference: string | null;
3428
+ satisfies: string;
3429
+ }[];
3430
+ gaps: string[];
3431
+ mitigates?: {
3432
+ name: string;
3433
+ id: string;
3434
+ }[] | undefined;
3435
+ }, {
3436
+ title: string;
3437
+ coverage: "full" | "partial" | "not_mapped";
3438
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
3439
+ controlId: string;
3440
+ evidence: {
3441
+ id: string;
3442
+ kind: "probe" | "artifact" | "control";
3443
+ title: string;
3444
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3445
+ probedAt: string | null;
3446
+ reference: string | null;
3447
+ satisfies: string;
3448
+ }[];
3449
+ gaps: string[];
3450
+ mitigates?: {
3451
+ name: string;
3452
+ id: string;
3453
+ }[] | undefined;
3454
+ }>, "many">;
3455
+ }, "strip", z.ZodTypeAny, {
3456
+ name: string;
3457
+ scope: string;
3458
+ summary: {
3459
+ controls: number;
3460
+ mapped: number;
3461
+ full: number;
3462
+ partial: number;
3463
+ states: {
3464
+ evidenced: number;
3465
+ warning: number;
3466
+ failing: number;
3467
+ not_evidenced: number;
3468
+ records_only: number;
3469
+ };
3470
+ };
3471
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
3472
+ citation: string;
3473
+ mappingVersion: string;
3474
+ generatedAt: string;
3475
+ controls: {
3476
+ title: string;
3477
+ coverage: "full" | "partial" | "not_mapped";
3478
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
3479
+ controlId: string;
3480
+ evidence: {
3481
+ id: string;
3482
+ kind: "probe" | "artifact" | "control";
3483
+ title: string;
3484
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3485
+ probedAt: string | null;
3486
+ reference: string | null;
3487
+ satisfies: string;
3488
+ }[];
3489
+ gaps: string[];
3490
+ mitigates?: {
3491
+ name: string;
3492
+ id: string;
3493
+ }[] | undefined;
3494
+ }[];
3495
+ }, {
3496
+ name: string;
3497
+ scope: string;
3498
+ summary: {
3499
+ controls: number;
3500
+ mapped: number;
3501
+ full: number;
3502
+ partial: number;
3503
+ states: {
3504
+ evidenced: number;
3505
+ warning: number;
3506
+ failing: number;
3507
+ not_evidenced: number;
3508
+ records_only: number;
3509
+ };
3510
+ };
3511
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
3512
+ citation: string;
3513
+ mappingVersion: string;
3514
+ generatedAt: string;
3515
+ controls: {
3516
+ title: string;
3517
+ coverage: "full" | "partial" | "not_mapped";
3518
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
3519
+ controlId: string;
3520
+ evidence: {
3521
+ id: string;
3522
+ kind: "probe" | "artifact" | "control";
3523
+ title: string;
3524
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3525
+ probedAt: string | null;
3526
+ reference: string | null;
3527
+ satisfies: string;
3528
+ }[];
3529
+ gaps: string[];
3530
+ mitigates?: {
3531
+ name: string;
3532
+ id: string;
3533
+ }[] | undefined;
3534
+ }[];
3535
+ }>;
3536
+ report: z.ZodString;
3537
+ csv: z.ZodOptional<z.ZodString>;
3538
+ pdf: z.ZodOptional<z.ZodString>;
3539
+ }, "strip", z.ZodTypeAny, {
3540
+ coverage: {
3541
+ name: string;
3542
+ scope: string;
3543
+ summary: {
3544
+ controls: number;
3545
+ mapped: number;
3546
+ full: number;
3547
+ partial: number;
3548
+ states: {
3549
+ evidenced: number;
3550
+ warning: number;
3551
+ failing: number;
3552
+ not_evidenced: number;
3553
+ records_only: number;
3554
+ };
3555
+ };
3556
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
3557
+ citation: string;
3558
+ mappingVersion: string;
3559
+ generatedAt: string;
3560
+ controls: {
3561
+ title: string;
3562
+ coverage: "full" | "partial" | "not_mapped";
3563
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
3564
+ controlId: string;
3565
+ evidence: {
3566
+ id: string;
3567
+ kind: "probe" | "artifact" | "control";
3568
+ title: string;
3569
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3570
+ probedAt: string | null;
3571
+ reference: string | null;
3572
+ satisfies: string;
3573
+ }[];
3574
+ gaps: string[];
3575
+ mitigates?: {
3576
+ name: string;
3577
+ id: string;
3578
+ }[] | undefined;
3579
+ }[];
3580
+ };
3581
+ report: string;
3582
+ csv?: string | undefined;
3583
+ pdf?: string | undefined;
3584
+ }, {
3585
+ coverage: {
3586
+ name: string;
3587
+ scope: string;
3588
+ summary: {
3589
+ controls: number;
3590
+ mapped: number;
3591
+ full: number;
3592
+ partial: number;
3593
+ states: {
3594
+ evidenced: number;
3595
+ warning: number;
3596
+ failing: number;
3597
+ not_evidenced: number;
3598
+ records_only: number;
3599
+ };
3600
+ };
3601
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
3602
+ citation: string;
3603
+ mappingVersion: string;
3604
+ generatedAt: string;
3605
+ controls: {
3606
+ title: string;
3607
+ coverage: "full" | "partial" | "not_mapped";
3608
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
3609
+ controlId: string;
3610
+ evidence: {
3611
+ id: string;
3612
+ kind: "probe" | "artifact" | "control";
3613
+ title: string;
3614
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3615
+ probedAt: string | null;
3616
+ reference: string | null;
3617
+ satisfies: string;
3618
+ }[];
3619
+ gaps: string[];
3620
+ mitigates?: {
3621
+ name: string;
3622
+ id: string;
3623
+ }[] | undefined;
3624
+ }[];
3625
+ };
3626
+ report: string;
3627
+ csv?: string | undefined;
3628
+ pdf?: string | undefined;
3629
+ }>, "many">>;
3630
+ manifest: z.ZodObject<{
3631
+ algorithm: z.ZodLiteral<"sha256">;
3632
+ sections: z.ZodRecord<z.ZodString, z.ZodString>;
3633
+ archiveSha256: z.ZodString;
3634
+ signed: z.ZodOptional<z.ZodBoolean>;
3635
+ unsignedReason: z.ZodOptional<z.ZodString>;
3636
+ }, "strip", z.ZodTypeAny, {
3637
+ algorithm: "sha256";
3638
+ sections: Record<string, string>;
3639
+ archiveSha256: string;
3640
+ signed?: boolean | undefined;
3641
+ unsignedReason?: string | undefined;
3642
+ }, {
3643
+ algorithm: "sha256";
3644
+ sections: Record<string, string>;
3645
+ archiveSha256: string;
3646
+ signed?: boolean | undefined;
3647
+ unsignedReason?: string | undefined;
3648
+ }>;
3649
+ signature: z.ZodNullable<z.ZodObject<{
3650
+ algorithm: z.ZodLiteral<"Ed25519">;
3651
+ keyId: z.ZodString;
3652
+ preimageDomain: z.ZodString;
3653
+ value: z.ZodString;
3654
+ }, "strip", z.ZodTypeAny, {
3655
+ value: string;
3656
+ keyId: string;
3657
+ algorithm: "Ed25519";
3658
+ preimageDomain: string;
3659
+ }, {
3660
+ value: string;
3661
+ keyId: string;
3662
+ algorithm: "Ed25519";
3663
+ preimageDomain: string;
3664
+ }>>;
3665
+ }, "strip", z.ZodTypeAny, {
3666
+ workspaceId: string;
3667
+ runId: string;
3668
+ categories: {
3669
+ probes: {
3670
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
3671
+ score: number;
3672
+ probeId: string;
3673
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3674
+ details: Record<string, unknown>;
3675
+ remediation: string | null;
3676
+ probedAt: string;
3677
+ observedSince: string;
3678
+ observations: number;
3679
+ }[];
3680
+ score: number | null;
3681
+ gaps: string[];
3682
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
3683
+ counts: Record<string, number>;
3684
+ sampleIds: Record<string, string[]>;
3685
+ }[];
3686
+ signature: {
3687
+ value: string;
3688
+ keyId: string;
3689
+ algorithm: "Ed25519";
3690
+ preimageDomain: string;
3691
+ } | null;
3692
+ formatVersion: 1 | 2 | 3;
3693
+ periodStart: string;
3694
+ periodEnd: string;
3695
+ collectedAt: string;
3696
+ overallScore: number | null;
3697
+ probeHistoryDigest: {
3698
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3699
+ rows: number;
3700
+ firstAt: string | null;
3701
+ lastAt: string | null;
3702
+ statusCounts: Record<string, number>;
3703
+ }[];
3704
+ manifest: {
3705
+ algorithm: "sha256";
3706
+ sections: Record<string, string>;
3707
+ archiveSha256: string;
3708
+ signed?: boolean | undefined;
3709
+ unsignedReason?: string | undefined;
3710
+ };
3711
+ frameworks?: {
3712
+ coverage: {
3713
+ name: string;
3714
+ scope: string;
3715
+ summary: {
3716
+ controls: number;
3717
+ mapped: number;
3718
+ full: number;
3719
+ partial: number;
3720
+ states: {
3721
+ evidenced: number;
3722
+ warning: number;
3723
+ failing: number;
3724
+ not_evidenced: number;
3725
+ records_only: number;
3726
+ };
3727
+ };
3728
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
3729
+ citation: string;
3730
+ mappingVersion: string;
3731
+ generatedAt: string;
3732
+ controls: {
3733
+ title: string;
3734
+ coverage: "full" | "partial" | "not_mapped";
3735
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
3736
+ controlId: string;
3737
+ evidence: {
3738
+ id: string;
3739
+ kind: "probe" | "artifact" | "control";
3740
+ title: string;
3741
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3742
+ probedAt: string | null;
3743
+ reference: string | null;
3744
+ satisfies: string;
3745
+ }[];
3746
+ gaps: string[];
3747
+ mitigates?: {
3748
+ name: string;
3749
+ id: string;
3750
+ }[] | undefined;
3751
+ }[];
3752
+ };
3753
+ report: string;
3754
+ csv?: string | undefined;
3755
+ pdf?: string | undefined;
3756
+ }[] | undefined;
3757
+ }, {
3758
+ workspaceId: string;
3759
+ runId: string;
3760
+ categories: {
3761
+ probes: {
3762
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
3763
+ score: number;
3764
+ probeId: string;
3765
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3766
+ details: Record<string, unknown>;
3767
+ remediation: string | null;
3768
+ probedAt: string;
3769
+ observedSince: string;
3770
+ observations: number;
3771
+ }[];
3772
+ score: number | null;
3773
+ gaps: string[];
3774
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
3775
+ counts: Record<string, number>;
3776
+ sampleIds: Record<string, string[]>;
3777
+ }[];
3778
+ signature: {
3779
+ value: string;
3780
+ keyId: string;
3781
+ algorithm: "Ed25519";
3782
+ preimageDomain: string;
3783
+ } | null;
3784
+ formatVersion: 1 | 2 | 3;
3785
+ periodStart: string;
3786
+ periodEnd: string;
3787
+ collectedAt: string;
3788
+ overallScore: number | null;
3789
+ probeHistoryDigest: {
3790
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3791
+ rows: number;
3792
+ firstAt: string | null;
3793
+ lastAt: string | null;
3794
+ statusCounts: Record<string, number>;
3795
+ }[];
3796
+ manifest: {
3797
+ algorithm: "sha256";
3798
+ sections: Record<string, string>;
3799
+ archiveSha256: string;
3800
+ signed?: boolean | undefined;
3801
+ unsignedReason?: string | undefined;
3802
+ };
3803
+ frameworks?: {
3804
+ coverage: {
3805
+ name: string;
3806
+ scope: string;
3807
+ summary: {
3808
+ controls: number;
3809
+ mapped: number;
3810
+ full: number;
3811
+ partial: number;
3812
+ states: {
3813
+ evidenced: number;
3814
+ warning: number;
3815
+ failing: number;
3816
+ not_evidenced: number;
3817
+ records_only: number;
3818
+ };
3819
+ };
3820
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
3821
+ citation: string;
3822
+ mappingVersion: string;
3823
+ generatedAt: string;
3824
+ controls: {
3825
+ title: string;
3826
+ coverage: "full" | "partial" | "not_mapped";
3827
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
3828
+ controlId: string;
3829
+ evidence: {
3830
+ id: string;
3831
+ kind: "probe" | "artifact" | "control";
3832
+ title: string;
3833
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3834
+ probedAt: string | null;
3835
+ reference: string | null;
3836
+ satisfies: string;
3837
+ }[];
3838
+ gaps: string[];
3839
+ mitigates?: {
3840
+ name: string;
3841
+ id: string;
3842
+ }[] | undefined;
3843
+ }[];
3844
+ };
3845
+ report: string;
3846
+ csv?: string | undefined;
3847
+ pdf?: string | undefined;
3848
+ }[] | undefined;
3849
+ }>;
3850
+ artifactUrl: z.ZodNullable<z.ZodString>;
3851
+ }, "strip", z.ZodTypeAny, {
3852
+ runId: string;
3853
+ signed: false;
3854
+ unsignedReason: string;
3855
+ archive: {
3856
+ workspaceId: string;
3857
+ runId: string;
3858
+ categories: {
3859
+ probes: {
3860
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
3861
+ score: number;
3862
+ probeId: string;
3863
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3864
+ details: Record<string, unknown>;
3865
+ remediation: string | null;
3866
+ probedAt: string;
3867
+ observedSince: string;
3868
+ observations: number;
3869
+ }[];
3870
+ score: number | null;
3871
+ gaps: string[];
3872
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
3873
+ counts: Record<string, number>;
3874
+ sampleIds: Record<string, string[]>;
3875
+ }[];
3876
+ signature: {
3877
+ value: string;
3878
+ keyId: string;
3879
+ algorithm: "Ed25519";
3880
+ preimageDomain: string;
3881
+ } | null;
3882
+ formatVersion: 1 | 2 | 3;
3883
+ periodStart: string;
3884
+ periodEnd: string;
3885
+ collectedAt: string;
3886
+ overallScore: number | null;
3887
+ probeHistoryDigest: {
3888
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3889
+ rows: number;
3890
+ firstAt: string | null;
3891
+ lastAt: string | null;
3892
+ statusCounts: Record<string, number>;
3893
+ }[];
3894
+ manifest: {
3895
+ algorithm: "sha256";
3896
+ sections: Record<string, string>;
3897
+ archiveSha256: string;
3898
+ signed?: boolean | undefined;
3899
+ unsignedReason?: string | undefined;
3900
+ };
3901
+ frameworks?: {
3902
+ coverage: {
3903
+ name: string;
3904
+ scope: string;
3905
+ summary: {
3906
+ controls: number;
3907
+ mapped: number;
3908
+ full: number;
3909
+ partial: number;
3910
+ states: {
3911
+ evidenced: number;
3912
+ warning: number;
3913
+ failing: number;
3914
+ not_evidenced: number;
3915
+ records_only: number;
3916
+ };
3917
+ };
3918
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
3919
+ citation: string;
3920
+ mappingVersion: string;
3921
+ generatedAt: string;
3922
+ controls: {
3923
+ title: string;
3924
+ coverage: "full" | "partial" | "not_mapped";
3925
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
3926
+ controlId: string;
3927
+ evidence: {
3928
+ id: string;
3929
+ kind: "probe" | "artifact" | "control";
3930
+ title: string;
3931
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
3932
+ probedAt: string | null;
3933
+ reference: string | null;
3934
+ satisfies: string;
3935
+ }[];
3936
+ gaps: string[];
3937
+ mitigates?: {
3938
+ name: string;
3939
+ id: string;
3940
+ }[] | undefined;
3941
+ }[];
3942
+ };
3943
+ report: string;
3944
+ csv?: string | undefined;
3945
+ pdf?: string | undefined;
3946
+ }[] | undefined;
3947
+ };
3948
+ artifactUrl: string | null;
3949
+ }, {
3950
+ runId: string;
3951
+ signed: false;
3952
+ unsignedReason: string;
3953
+ archive: {
3954
+ workspaceId: string;
3955
+ runId: string;
3956
+ categories: {
3957
+ probes: {
3958
+ status: "error" | "warn" | "pass" | "fail" | "not_enforced";
3959
+ score: number;
3960
+ probeId: string;
3961
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3962
+ details: Record<string, unknown>;
3963
+ remediation: string | null;
3964
+ probedAt: string;
3965
+ observedSince: string;
3966
+ observations: number;
3967
+ }[];
3968
+ score: number | null;
3969
+ gaps: string[];
3970
+ category: "security" | "availability" | "processing_integrity" | "confidentiality" | "privacy";
3971
+ counts: Record<string, number>;
3972
+ sampleIds: Record<string, string[]>;
3973
+ }[];
3974
+ signature: {
3975
+ value: string;
3976
+ keyId: string;
3977
+ algorithm: "Ed25519";
3978
+ preimageDomain: string;
3979
+ } | null;
3980
+ formatVersion: 1 | 2 | 3;
3981
+ periodStart: string;
3982
+ periodEnd: string;
3983
+ collectedAt: string;
3984
+ overallScore: number | null;
3985
+ probeHistoryDigest: {
3986
+ probeType: "policy_check" | "mfa_enforcement" | "data_residency" | "audit_log_integrity" | "token_rotation" | "sop_coverage" | "auto_apply_provenance" | "sop_git_drift" | "guard_liveness" | "guardrail_authority" | "provider_availability";
3987
+ rows: number;
3988
+ firstAt: string | null;
3989
+ lastAt: string | null;
3990
+ statusCounts: Record<string, number>;
3991
+ }[];
3992
+ manifest: {
3993
+ algorithm: "sha256";
3994
+ sections: Record<string, string>;
3995
+ archiveSha256: string;
3996
+ signed?: boolean | undefined;
3997
+ unsignedReason?: string | undefined;
3998
+ };
3999
+ frameworks?: {
4000
+ coverage: {
4001
+ name: string;
4002
+ scope: string;
4003
+ summary: {
4004
+ controls: number;
4005
+ mapped: number;
4006
+ full: number;
4007
+ partial: number;
4008
+ states: {
4009
+ evidenced: number;
4010
+ warning: number;
4011
+ failing: number;
4012
+ not_evidenced: number;
4013
+ records_only: number;
4014
+ };
4015
+ };
4016
+ frameworkId: "eu_ai_act" | "iso_42001" | "nist_ai_rmf" | "mitre_atlas";
4017
+ citation: string;
4018
+ mappingVersion: string;
4019
+ generatedAt: string;
4020
+ controls: {
4021
+ title: string;
4022
+ coverage: "full" | "partial" | "not_mapped";
4023
+ state: "evidenced" | "warning" | "failing" | "not_evidenced" | "records_only" | null;
4024
+ controlId: string;
4025
+ evidence: {
4026
+ id: string;
4027
+ kind: "probe" | "artifact" | "control";
4028
+ title: string;
4029
+ state: "error" | "warn" | "pass" | "fail" | "not_enforced" | "not_run" | "available";
4030
+ probedAt: string | null;
4031
+ reference: string | null;
4032
+ satisfies: string;
4033
+ }[];
4034
+ gaps: string[];
4035
+ mitigates?: {
4036
+ name: string;
4037
+ id: string;
4038
+ }[] | undefined;
4039
+ }[];
4040
+ };
4041
+ report: string;
4042
+ csv?: string | undefined;
4043
+ pdf?: string | undefined;
4044
+ }[] | undefined;
4045
+ };
4046
+ artifactUrl: string | null;
4047
+ }>]>;
4048
+ export type Soc2CollectResponse = z.infer<typeof Soc2CollectResponse>;
4049
+ /** `GET /api/v1/integrations/github/webhook`. The secret is never returned here. */
4050
+ export declare const GitHubWebhookResponse: z.ZodObject<{
4051
+ configured: z.ZodBoolean;
4052
+ url: z.ZodNullable<z.ZodString>;
4053
+ createdAt: z.ZodNullable<z.ZodString>;
4054
+ secretRotatedAt: z.ZodNullable<z.ZodString>;
4055
+ lastDeliveryAt: z.ZodNullable<z.ZodString>;
4056
+ }, "strip", z.ZodTypeAny, {
4057
+ url: string | null;
4058
+ createdAt: string | null;
4059
+ configured: boolean;
4060
+ secretRotatedAt: string | null;
4061
+ lastDeliveryAt: string | null;
4062
+ }, {
4063
+ url: string | null;
4064
+ createdAt: string | null;
4065
+ configured: boolean;
4066
+ secretRotatedAt: string | null;
4067
+ lastDeliveryAt: string | null;
4068
+ }>;
4069
+ export type GitHubWebhookResponse = z.infer<typeof GitHubWebhookResponse>;
4070
+ /** `POST /api/v1/integrations/github/webhook/secret`: the payload URL and the new secret, returned once. */
4071
+ export declare const GitHubWebhookSecretResponse: z.ZodObject<{
4072
+ url: z.ZodString;
4073
+ secret: z.ZodString;
4074
+ }, "strip", z.ZodTypeAny, {
4075
+ url: string;
4076
+ secret: string;
4077
+ }, {
4078
+ url: string;
4079
+ secret: string;
4080
+ }>;
4081
+ export type GitHubWebhookSecretResponse = z.infer<typeof GitHubWebhookSecretResponse>;
4082
+ /** `POST /api/v1/integrations/openai-agents/traces/ingest`: what the batch added. */
4083
+ export declare const OpenAiAgentTracesIngestResponse: z.ZodObject<{
4084
+ ingested: z.ZodNumber;
4085
+ skipped: z.ZodNumber;
4086
+ duplicates: z.ZodNumber;
4087
+ redactions: z.ZodNumber;
4088
+ }, "strip", z.ZodTypeAny, {
4089
+ skipped: number;
4090
+ duplicates: number;
4091
+ ingested: number;
4092
+ redactions: number;
4093
+ }, {
4094
+ skipped: number;
4095
+ duplicates: number;
4096
+ ingested: number;
4097
+ redactions: number;
4098
+ }>;
4099
+ export type OpenAiAgentTracesIngestResponse = z.infer<typeof OpenAiAgentTracesIngestResponse>;
4100
+ /**
4101
+ * `POST /api/v1/integrations/agentcore/gateway-check`: the verdict on one
4102
+ * tool call through an AgentCore gateway. A refusal answers 200 with
4103
+ * `allowed: false` (a DLP or SOP block), or 403 when a check could not run
4104
+ * under fail-closed (`code: GOVERNANCE_UNAVAILABLE`).
4105
+ */
4106
+ export declare const AgentCoreGatewayCheckResponse: z.ZodObject<{
4107
+ allowed: z.ZodBoolean;
4108
+ reason: z.ZodOptional<z.ZodString>;
4109
+ code: z.ZodOptional<z.ZodString>;
4110
+ degraded: z.ZodOptional<z.ZodBoolean>;
4111
+ }, "strip", z.ZodTypeAny, {
4112
+ allowed: boolean;
4113
+ code?: string | undefined;
4114
+ reason?: string | undefined;
4115
+ degraded?: boolean | undefined;
4116
+ }, {
4117
+ allowed: boolean;
4118
+ code?: string | undefined;
4119
+ reason?: string | undefined;
4120
+ degraded?: boolean | undefined;
4121
+ }>;
4122
+ export type AgentCoreGatewayCheckResponse = z.infer<typeof AgentCoreGatewayCheckResponse>;
4123
+ /** `GET /api/v1/governance/gate-liveness`: per-harness gate status. */
4124
+ export declare const GateLivenessResponse: z.ZodObject<{
4125
+ windowHours: z.ZodNumber;
4126
+ gates: z.ZodArray<z.ZodObject<{
4127
+ harnessType: z.ZodString;
4128
+ kind: z.ZodEnum<["hook", "sdk"]>;
4129
+ status: z.ZodEnum<["reporting", "silent", "new"]>;
4130
+ lastSeen: z.ZodNullable<z.ZodString>;
4131
+ agentLastSeen: z.ZodNullable<z.ZodString>;
4132
+ alertOpen: z.ZodBoolean;
4133
+ }, "strip", z.ZodTypeAny, {
4134
+ harnessType: string;
4135
+ status: "reporting" | "silent" | "new";
4136
+ kind: "hook" | "sdk";
4137
+ lastSeen: string | null;
4138
+ agentLastSeen: string | null;
4139
+ alertOpen: boolean;
4140
+ }, {
4141
+ harnessType: string;
4142
+ status: "reporting" | "silent" | "new";
4143
+ kind: "hook" | "sdk";
4144
+ lastSeen: string | null;
4145
+ agentLastSeen: string | null;
4146
+ alertOpen: boolean;
4147
+ }>, "many">;
4148
+ }, "strip", z.ZodTypeAny, {
4149
+ gates: {
4150
+ harnessType: string;
4151
+ status: "reporting" | "silent" | "new";
4152
+ kind: "hook" | "sdk";
4153
+ lastSeen: string | null;
4154
+ agentLastSeen: string | null;
4155
+ alertOpen: boolean;
4156
+ }[];
4157
+ windowHours: number;
4158
+ }, {
4159
+ gates: {
4160
+ harnessType: string;
4161
+ status: "reporting" | "silent" | "new";
4162
+ kind: "hook" | "sdk";
4163
+ lastSeen: string | null;
4164
+ agentLastSeen: string | null;
4165
+ alertOpen: boolean;
4166
+ }[];
4167
+ windowHours: number;
4168
+ }>;
4169
+ export type GateLivenessResponse = z.infer<typeof GateLivenessResponse>;
4170
+ /** `POST /api/v1/predict-cost` (`tokenIntelligenceService.ts` `predictCost`). */
4171
+ export declare const CostPredictionResponse: z.ZodObject<{
4172
+ inputTokens: z.ZodNumber;
4173
+ estimatedOutputTokens: z.ZodNumber;
4174
+ estimatedReasoningTokens: z.ZodNullable<z.ZodNumber>;
4175
+ estimatedCostUsd: z.ZodNumber;
4176
+ confidence: z.ZodEnum<["high", "medium", "low"]>;
4177
+ basedOnSamples: z.ZodNumber;
4178
+ }, "strip", z.ZodTypeAny, {
4179
+ confidence: "high" | "medium" | "low";
4180
+ inputTokens: number;
4181
+ estimatedOutputTokens: number;
4182
+ estimatedReasoningTokens: number | null;
4183
+ estimatedCostUsd: number;
4184
+ basedOnSamples: number;
4185
+ }, {
4186
+ confidence: "high" | "medium" | "low";
4187
+ inputTokens: number;
4188
+ estimatedOutputTokens: number;
4189
+ estimatedReasoningTokens: number | null;
4190
+ estimatedCostUsd: number;
4191
+ basedOnSamples: number;
4192
+ }>;
4193
+ export type CostPredictionResponse = z.infer<typeof CostPredictionResponse>;
4194
+ /** `GET /api/v1/routing/mirror-adoption-report`: the report, or why there is not enough data for one. */
4195
+ export declare const MirrorAdoptionReportResponse: z.ZodUnion<[z.ZodObject<{
4196
+ candidateModel: z.ZodString;
4197
+ sufficientData: z.ZodLiteral<true>;
4198
+ sampleCount: z.ZodNumber;
4199
+ candidateBetter: z.ZodNumber;
4200
+ originalBetter: z.ZodNumber;
4201
+ tie: z.ZodNumber;
4202
+ unjudged: z.ZodNumber;
4203
+ faultRateDelta: z.ZodNullable<z.ZodNumber>;
4204
+ averageCostDeltaUsd: z.ZodNullable<z.ZodNumber>;
4205
+ averageLatencyDeltaMs: z.ZodNullable<z.ZodNumber>;
4206
+ }, "strip", z.ZodTypeAny, {
4207
+ unjudged: number;
4208
+ candidateModel: string;
4209
+ sufficientData: true;
4210
+ sampleCount: number;
4211
+ candidateBetter: number;
4212
+ originalBetter: number;
4213
+ tie: number;
4214
+ faultRateDelta: number | null;
4215
+ averageCostDeltaUsd: number | null;
4216
+ averageLatencyDeltaMs: number | null;
4217
+ }, {
4218
+ unjudged: number;
4219
+ candidateModel: string;
4220
+ sufficientData: true;
4221
+ sampleCount: number;
4222
+ candidateBetter: number;
4223
+ originalBetter: number;
4224
+ tie: number;
4225
+ faultRateDelta: number | null;
4226
+ averageCostDeltaUsd: number | null;
4227
+ averageLatencyDeltaMs: number | null;
4228
+ }>, z.ZodObject<{
4229
+ candidateModel: z.ZodString;
4230
+ sufficientData: z.ZodLiteral<false>;
4231
+ sampleCount: z.ZodNumber;
4232
+ minimumRequired: z.ZodNumber;
4233
+ reason: z.ZodString;
4234
+ }, "strip", z.ZodTypeAny, {
4235
+ reason: string;
4236
+ candidateModel: string;
4237
+ sufficientData: false;
4238
+ sampleCount: number;
4239
+ minimumRequired: number;
4240
+ }, {
4241
+ reason: string;
4242
+ candidateModel: string;
4243
+ sufficientData: false;
4244
+ sampleCount: number;
4245
+ minimumRequired: number;
4246
+ }>]>;
4247
+ export type MirrorAdoptionReportResponse = z.infer<typeof MirrorAdoptionReportResponse>;
4248
+ //# sourceMappingURL=integrations.d.ts.map