@neat.is/types 0.9.8-dev.20260829 → 0.9.8
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.
- package/dist/index.cjs +332 -213
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +473 -30
- package/dist/index.d.ts +473 -30
- package/dist/index.js +322 -213
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -76,6 +76,15 @@ __export(index_exports, {
|
|
|
76
76
|
HealthResponseSchema: () => HealthResponseSchema,
|
|
77
77
|
HostMismatchDivergenceSchema: () => HostMismatchDivergenceSchema,
|
|
78
78
|
HypotheticalActionSchema: () => HypotheticalActionSchema,
|
|
79
|
+
IncidentBlastRadiusSchema: () => IncidentBlastRadiusSchema,
|
|
80
|
+
IncidentCardSchema: () => IncidentCardSchema,
|
|
81
|
+
IncidentChainHopSchema: () => IncidentChainHopSchema,
|
|
82
|
+
IncidentDivergenceSchema: () => IncidentDivergenceSchema,
|
|
83
|
+
IncidentEventPayloadSchema: () => IncidentEventPayloadSchema,
|
|
84
|
+
IncidentKindSchema: () => IncidentKindSchema,
|
|
85
|
+
IncidentLocusSchema: () => IncidentLocusSchema,
|
|
86
|
+
IncidentPolicySchema: () => IncidentPolicySchema,
|
|
87
|
+
IncidentRootCauseSchema: () => IncidentRootCauseSchema,
|
|
79
88
|
IncidentsResponseSchema: () => IncidentsResponseSchema,
|
|
80
89
|
InfraNodeSchema: () => InfraNodeSchema,
|
|
81
90
|
LatencyMsSchema: () => LatencyMsSchema,
|
|
@@ -144,6 +153,7 @@ __export(index_exports, {
|
|
|
144
153
|
frontierId: () => frontierId,
|
|
145
154
|
graphqlOperationId: () => graphqlOperationId,
|
|
146
155
|
grpcMethodId: () => grpcMethodId,
|
|
156
|
+
incidentKindOf: () => incidentKindOf,
|
|
147
157
|
inferredEdgeId: () => inferredEdgeId,
|
|
148
158
|
infraId: () => infraId,
|
|
149
159
|
localDatabaseId: () => localDatabaseId,
|
|
@@ -950,6 +960,101 @@ var AskResultSchema = import_zod5.z.object({
|
|
|
950
960
|
provenance: import_zod5.z.array(ProvenanceSchema)
|
|
951
961
|
});
|
|
952
962
|
|
|
963
|
+
// src/incident-card.ts
|
|
964
|
+
var import_zod6 = require("zod");
|
|
965
|
+
var IncidentKindSchema = import_zod6.z.enum([
|
|
966
|
+
"exception",
|
|
967
|
+
"5xx",
|
|
968
|
+
"4xx-burst",
|
|
969
|
+
"status-error",
|
|
970
|
+
"connector"
|
|
971
|
+
]);
|
|
972
|
+
var IncidentChainHopSchema = import_zod6.z.object({
|
|
973
|
+
node: import_zod6.z.string(),
|
|
974
|
+
// 'service' | 'file' | 'symbol' | 'table' | 'column' | … — the node's own grain.
|
|
975
|
+
grain: import_zod6.z.string(),
|
|
976
|
+
// The edge INTO this hop from the previous one, when cheaply known.
|
|
977
|
+
edgeType: import_zod6.z.string().optional(),
|
|
978
|
+
provenance: ProvenanceSchema,
|
|
979
|
+
carriesSignal: import_zod6.z.boolean().optional()
|
|
980
|
+
});
|
|
981
|
+
var IncidentLocusSchema = import_zod6.z.object({
|
|
982
|
+
file: import_zod6.z.string(),
|
|
983
|
+
lineStart: import_zod6.z.number().int().optional(),
|
|
984
|
+
lineEnd: import_zod6.z.number().int().optional(),
|
|
985
|
+
symbol: import_zod6.z.string().optional(),
|
|
986
|
+
service: import_zod6.z.string().optional(),
|
|
987
|
+
provenance: ProvenanceSchema
|
|
988
|
+
});
|
|
989
|
+
var IncidentRootCauseSchema = import_zod6.z.object({
|
|
990
|
+
node: import_zod6.z.string(),
|
|
991
|
+
classification: import_zod6.z.string().optional(),
|
|
992
|
+
reason: import_zod6.z.string(),
|
|
993
|
+
confidence: import_zod6.z.number().min(0).max(1),
|
|
994
|
+
fix: import_zod6.z.string().nullable().optional(),
|
|
995
|
+
chain: import_zod6.z.array(IncidentChainHopSchema)
|
|
996
|
+
});
|
|
997
|
+
var IncidentBlastRadiusSchema = import_zod6.z.object({
|
|
998
|
+
totalAffected: import_zod6.z.number().int().nonnegative(),
|
|
999
|
+
nearest: import_zod6.z.array(
|
|
1000
|
+
import_zod6.z.object({
|
|
1001
|
+
node: import_zod6.z.string(),
|
|
1002
|
+
distance: import_zod6.z.number().int().nonnegative(),
|
|
1003
|
+
provenance: ProvenanceSchema
|
|
1004
|
+
})
|
|
1005
|
+
)
|
|
1006
|
+
});
|
|
1007
|
+
var IncidentPolicySchema = import_zod6.z.object({
|
|
1008
|
+
policyName: import_zod6.z.string(),
|
|
1009
|
+
severity: import_zod6.z.string(),
|
|
1010
|
+
message: import_zod6.z.string().optional()
|
|
1011
|
+
});
|
|
1012
|
+
var IncidentDivergenceSchema = import_zod6.z.object({
|
|
1013
|
+
type: import_zod6.z.string(),
|
|
1014
|
+
summary: import_zod6.z.string()
|
|
1015
|
+
});
|
|
1016
|
+
var IncidentCardSchema = import_zod6.z.object({
|
|
1017
|
+
kind: import_zod6.z.literal("incident"),
|
|
1018
|
+
id: import_zod6.z.string(),
|
|
1019
|
+
// ISO8601 — the incident's own time.
|
|
1020
|
+
at: import_zod6.z.string(),
|
|
1021
|
+
incidentKind: IncidentKindSchema,
|
|
1022
|
+
service: import_zod6.z.string(),
|
|
1023
|
+
affectedNode: import_zod6.z.string(),
|
|
1024
|
+
message: import_zod6.z.string(),
|
|
1025
|
+
exceptionType: import_zod6.z.string().optional(),
|
|
1026
|
+
httpStatusCode: import_zod6.z.number().int().optional(),
|
|
1027
|
+
// Coalesced burst size (ErrorEvent.incidentCount).
|
|
1028
|
+
count: import_zod6.z.number().int().positive().optional(),
|
|
1029
|
+
window: import_zod6.z.object({ first: import_zod6.z.string(), last: import_zod6.z.string() }).optional(),
|
|
1030
|
+
traceId: import_zod6.z.string().optional(),
|
|
1031
|
+
spanId: import_zod6.z.string().optional(),
|
|
1032
|
+
locus: IncidentLocusSchema.nullable(),
|
|
1033
|
+
rootCause: IncidentRootCauseSchema.nullable(),
|
|
1034
|
+
blastRadius: IncidentBlastRadiusSchema.optional(),
|
|
1035
|
+
policies: import_zod6.z.array(IncidentPolicySchema).optional(),
|
|
1036
|
+
divergence: import_zod6.z.array(IncidentDivergenceSchema).optional(),
|
|
1037
|
+
// The rendered one-line sentence — a human/loose-LLM read over the structured
|
|
1038
|
+
// body, never the wire format.
|
|
1039
|
+
headline: import_zod6.z.string()
|
|
1040
|
+
});
|
|
1041
|
+
var IncidentEventPayloadSchema = import_zod6.z.object({
|
|
1042
|
+
incidentId: import_zod6.z.string(),
|
|
1043
|
+
affectedNode: import_zod6.z.string(),
|
|
1044
|
+
service: import_zod6.z.string(),
|
|
1045
|
+
incidentKind: IncidentKindSchema,
|
|
1046
|
+
at: import_zod6.z.string()
|
|
1047
|
+
});
|
|
1048
|
+
function incidentKindOf(ev) {
|
|
1049
|
+
const et = ev.errorType;
|
|
1050
|
+
if (et === "grpc-failure") return "status-error";
|
|
1051
|
+
if (et === "http-failure") {
|
|
1052
|
+
return ev.incidentCount && ev.incidentCount > 1 ? "4xx-burst" : "5xx";
|
|
1053
|
+
}
|
|
1054
|
+
if (et) return "connector";
|
|
1055
|
+
return "exception";
|
|
1056
|
+
}
|
|
1057
|
+
|
|
953
1058
|
// src/identity.ts
|
|
954
1059
|
var SERVICE_PREFIX = "service:";
|
|
955
1060
|
var DATABASE_PREFIX = "database:";
|
|
@@ -1162,11 +1267,11 @@ var PROV_RANK = Object.freeze({
|
|
|
1162
1267
|
});
|
|
1163
1268
|
|
|
1164
1269
|
// src/policy.ts
|
|
1165
|
-
var
|
|
1166
|
-
var PolicySeveritySchema =
|
|
1167
|
-
var PolicyActionSchema =
|
|
1168
|
-
var StructuralRuleSchema =
|
|
1169
|
-
type:
|
|
1270
|
+
var import_zod7 = require("zod");
|
|
1271
|
+
var PolicySeveritySchema = import_zod7.z.enum(["info", "warning", "error", "critical"]);
|
|
1272
|
+
var PolicyActionSchema = import_zod7.z.enum(["log", "alert", "block"]);
|
|
1273
|
+
var StructuralRuleSchema = import_zod7.z.object({
|
|
1274
|
+
type: import_zod7.z.literal("structural"),
|
|
1170
1275
|
// Node type the rule applies to. Every node of this type must satisfy the
|
|
1171
1276
|
// edge requirement below.
|
|
1172
1277
|
fromNodeType: NodeTypeSchema,
|
|
@@ -1175,61 +1280,61 @@ var StructuralRuleSchema = import_zod6.z.object({
|
|
|
1175
1280
|
// Required target node type at the other end of the edge.
|
|
1176
1281
|
toNodeType: NodeTypeSchema
|
|
1177
1282
|
});
|
|
1178
|
-
var CompatibilityRuleSchema =
|
|
1179
|
-
type:
|
|
1283
|
+
var CompatibilityRuleSchema = import_zod7.z.object({
|
|
1284
|
+
type: import_zod7.z.literal("compatibility"),
|
|
1180
1285
|
// Optional kind narrowing. When omitted, all four compat shapes
|
|
1181
1286
|
// (driver-engine, node-engine, package-conflict, deprecated-api) run.
|
|
1182
|
-
kind:
|
|
1287
|
+
kind: import_zod7.z.enum(["driver-engine", "node-engine", "package-conflict", "deprecated-api"]).optional()
|
|
1183
1288
|
});
|
|
1184
|
-
var ProvenanceRuleSchema =
|
|
1185
|
-
type:
|
|
1289
|
+
var ProvenanceRuleSchema = import_zod7.z.object({
|
|
1290
|
+
type: import_zod7.z.literal("provenance"),
|
|
1186
1291
|
// Edge type the rule applies to.
|
|
1187
1292
|
edgeType: EdgeTypeSchema,
|
|
1188
1293
|
// Target node id (e.g. 'service:payments') that incoming edges of edgeType
|
|
1189
1294
|
// must satisfy. Optional — when omitted, the rule runs against every edge
|
|
1190
1295
|
// of edgeType regardless of target.
|
|
1191
|
-
targetNodeId:
|
|
1296
|
+
targetNodeId: import_zod7.z.string().optional(),
|
|
1192
1297
|
// Required provenance (single value or one-of). The audit fails if the
|
|
1193
1298
|
// observed edge's provenance is not in this set.
|
|
1194
|
-
required:
|
|
1299
|
+
required: import_zod7.z.union([ProvenanceSchema, import_zod7.z.array(ProvenanceSchema).min(1)])
|
|
1195
1300
|
});
|
|
1196
|
-
var OwnershipRuleSchema =
|
|
1197
|
-
type:
|
|
1301
|
+
var OwnershipRuleSchema = import_zod7.z.object({
|
|
1302
|
+
type: import_zod7.z.literal("ownership"),
|
|
1198
1303
|
// Node type the rule applies to. ServiceNode is the common case; the
|
|
1199
1304
|
// discriminator stays generic so future node types can opt in.
|
|
1200
1305
|
nodeType: NodeTypeSchema,
|
|
1201
1306
|
// Field name on the node attributes that must be non-empty. Defaults to
|
|
1202
1307
|
// 'owner' if omitted.
|
|
1203
|
-
field:
|
|
1308
|
+
field: import_zod7.z.string().default("owner")
|
|
1204
1309
|
});
|
|
1205
|
-
var BlastRadiusRuleSchema =
|
|
1206
|
-
type:
|
|
1310
|
+
var BlastRadiusRuleSchema = import_zod7.z.object({
|
|
1311
|
+
type: import_zod7.z.literal("blast-radius"),
|
|
1207
1312
|
// Node type the rule applies to (ServiceNode is the common case).
|
|
1208
1313
|
nodeType: NodeTypeSchema,
|
|
1209
1314
|
// Cap on `totalAffected` from getBlastRadius. Inclusive — a node hitting
|
|
1210
1315
|
// exactly this number passes; > maxAffected fails.
|
|
1211
|
-
maxAffected:
|
|
1316
|
+
maxAffected: import_zod7.z.number().int().positive(),
|
|
1212
1317
|
// Depth to evaluate against. Defaults to the contract's blast-radius
|
|
1213
1318
|
// default (10) when omitted.
|
|
1214
|
-
depth:
|
|
1319
|
+
depth: import_zod7.z.number().int().positive().optional()
|
|
1215
1320
|
});
|
|
1216
|
-
var FieldGuardRuleSchema =
|
|
1217
|
-
type:
|
|
1321
|
+
var FieldGuardRuleSchema = import_zod7.z.object({
|
|
1322
|
+
type: import_zod7.z.literal("field-guard"),
|
|
1218
1323
|
// Node type the rule governs. InfraNode for the Firestore instance.
|
|
1219
1324
|
nodeType: NodeTypeSchema,
|
|
1220
1325
|
// Optional narrowing on InfraNode's free-string `kind` sub-type, so the rule
|
|
1221
1326
|
// applies to `firestore-collection` nodes without governing every InfraNode.
|
|
1222
|
-
nodeKind:
|
|
1327
|
+
nodeKind: import_zod7.z.string().optional(),
|
|
1223
1328
|
// Set A — the named selector the evaluator resolves into the "must be covered"
|
|
1224
1329
|
// set. 'client-written-columns' reads ColumnAttr whose sdkWrites includes
|
|
1225
1330
|
// 'client'. A new instance adds a value here plus a resolver branch.
|
|
1226
|
-
subjectSet:
|
|
1331
|
+
subjectSet: import_zod7.z.enum(["client-written-columns"]),
|
|
1227
1332
|
// Set B — the covering set: the node attribute (a string[]) whose members must
|
|
1228
1333
|
// include all of set A. 'guardedFields' for Firestore. Absent ⇒ indeterminate
|
|
1229
1334
|
// ⇒ silent.
|
|
1230
|
-
guardSet:
|
|
1335
|
+
guardSet: import_zod7.z.string()
|
|
1231
1336
|
});
|
|
1232
|
-
var PolicyRuleSchema =
|
|
1337
|
+
var PolicyRuleSchema = import_zod7.z.discriminatedUnion("type", [
|
|
1233
1338
|
StructuralRuleSchema,
|
|
1234
1339
|
CompatibilityRuleSchema,
|
|
1235
1340
|
ProvenanceRuleSchema,
|
|
@@ -1237,26 +1342,26 @@ var PolicyRuleSchema = import_zod6.z.discriminatedUnion("type", [
|
|
|
1237
1342
|
BlastRadiusRuleSchema,
|
|
1238
1343
|
FieldGuardRuleSchema
|
|
1239
1344
|
]);
|
|
1240
|
-
var PolicySchema =
|
|
1345
|
+
var PolicySchema = import_zod7.z.object({
|
|
1241
1346
|
// Unique within the file. Duplicates fail PolicyFileSchema.parse.
|
|
1242
|
-
id:
|
|
1243
|
-
name:
|
|
1244
|
-
description:
|
|
1347
|
+
id: import_zod7.z.string().min(1),
|
|
1348
|
+
name: import_zod7.z.string().min(1),
|
|
1349
|
+
description: import_zod7.z.string().optional(),
|
|
1245
1350
|
severity: PolicySeveritySchema,
|
|
1246
1351
|
// When omitted, the engine derives a default from severity per ADR-044
|
|
1247
1352
|
// (info→log, warning→alert, error→alert, critical→block).
|
|
1248
1353
|
onViolation: PolicyActionSchema.optional(),
|
|
1249
1354
|
rule: PolicyRuleSchema
|
|
1250
1355
|
});
|
|
1251
|
-
var PolicyFileSchema =
|
|
1252
|
-
version:
|
|
1253
|
-
policies:
|
|
1356
|
+
var PolicyFileSchema = import_zod7.z.object({
|
|
1357
|
+
version: import_zod7.z.literal(1),
|
|
1358
|
+
policies: import_zod7.z.array(PolicySchema)
|
|
1254
1359
|
}).superRefine((file, ctx) => {
|
|
1255
1360
|
const seen = /* @__PURE__ */ new Set();
|
|
1256
1361
|
for (const [i, p] of file.policies.entries()) {
|
|
1257
1362
|
if (seen.has(p.id)) {
|
|
1258
1363
|
ctx.addIssue({
|
|
1259
|
-
code:
|
|
1364
|
+
code: import_zod7.z.ZodIssueCode.custom,
|
|
1260
1365
|
path: ["policies", i, "id"],
|
|
1261
1366
|
message: `duplicate policy id "${p.id}"`
|
|
1262
1367
|
});
|
|
@@ -1264,173 +1369,173 @@ var PolicyFileSchema = import_zod6.z.object({
|
|
|
1264
1369
|
seen.add(p.id);
|
|
1265
1370
|
}
|
|
1266
1371
|
});
|
|
1267
|
-
var HypotheticalActionSchema =
|
|
1268
|
-
|
|
1269
|
-
kind:
|
|
1372
|
+
var HypotheticalActionSchema = import_zod7.z.discriminatedUnion("kind", [
|
|
1373
|
+
import_zod7.z.object({
|
|
1374
|
+
kind: import_zod7.z.literal("promote-frontier"),
|
|
1270
1375
|
// The FrontierNode id that would be promoted.
|
|
1271
|
-
frontierId:
|
|
1376
|
+
frontierId: import_zod7.z.string().min(1)
|
|
1272
1377
|
}),
|
|
1273
|
-
|
|
1274
|
-
kind:
|
|
1275
|
-
source:
|
|
1276
|
-
target:
|
|
1378
|
+
import_zod7.z.object({
|
|
1379
|
+
kind: import_zod7.z.literal("add-edge"),
|
|
1380
|
+
source: import_zod7.z.string().min(1),
|
|
1381
|
+
target: import_zod7.z.string().min(1),
|
|
1277
1382
|
edgeType: EdgeTypeSchema,
|
|
1278
1383
|
provenance: ProvenanceSchema
|
|
1279
1384
|
})
|
|
1280
1385
|
]);
|
|
1281
|
-
var PoliciesCheckBodySchema =
|
|
1386
|
+
var PoliciesCheckBodySchema = import_zod7.z.object({
|
|
1282
1387
|
hypotheticalAction: HypotheticalActionSchema.optional()
|
|
1283
1388
|
});
|
|
1284
|
-
var CheckPoliciesScopeSchema =
|
|
1285
|
-
|
|
1286
|
-
|
|
1389
|
+
var CheckPoliciesScopeSchema = import_zod7.z.union([
|
|
1390
|
+
import_zod7.z.enum(["all", "unresolved"]),
|
|
1391
|
+
import_zod7.z.object({ policyId: import_zod7.z.string().min(1) })
|
|
1287
1392
|
]);
|
|
1288
|
-
var ApplicablePolicySchema =
|
|
1289
|
-
policyId:
|
|
1290
|
-
policyName:
|
|
1291
|
-
description:
|
|
1393
|
+
var ApplicablePolicySchema = import_zod7.z.object({
|
|
1394
|
+
policyId: import_zod7.z.string().min(1),
|
|
1395
|
+
policyName: import_zod7.z.string().min(1),
|
|
1396
|
+
description: import_zod7.z.string().optional(),
|
|
1292
1397
|
severity: PolicySeveritySchema,
|
|
1293
1398
|
// The action the post-launch kernel gate WOULD take (ADR-093) — resolved
|
|
1294
1399
|
// from policy.onViolation or the severity default. Shown for awareness only;
|
|
1295
1400
|
// the soft guardrail never acts on it.
|
|
1296
1401
|
onViolation: PolicyActionSchema,
|
|
1297
|
-
ruleType:
|
|
1298
|
-
match:
|
|
1402
|
+
ruleType: import_zod7.z.enum(["structural", "compatibility", "provenance", "ownership", "blast-radius", "field-guard"]),
|
|
1403
|
+
match: import_zod7.z.enum(["subject", "region"]),
|
|
1299
1404
|
// Human-readable reason the policy applies here — rides into agent context.
|
|
1300
|
-
reason:
|
|
1405
|
+
reason: import_zod7.z.string().min(1)
|
|
1301
1406
|
});
|
|
1302
|
-
var ApplicablePoliciesResponseSchema =
|
|
1303
|
-
node:
|
|
1304
|
-
applicable:
|
|
1407
|
+
var ApplicablePoliciesResponseSchema = import_zod7.z.object({
|
|
1408
|
+
node: import_zod7.z.string().min(1),
|
|
1409
|
+
applicable: import_zod7.z.array(ApplicablePolicySchema)
|
|
1305
1410
|
});
|
|
1306
|
-
var PolicyViolationSchema =
|
|
1411
|
+
var PolicyViolationSchema = import_zod7.z.object({
|
|
1307
1412
|
// ${policy.id}:${violation-context}. The violation-context is shape-
|
|
1308
1413
|
// specific (e.g. nodeId for structural; edgeId for provenance).
|
|
1309
|
-
id:
|
|
1310
|
-
policyId:
|
|
1311
|
-
policyName:
|
|
1414
|
+
id: import_zod7.z.string().min(1),
|
|
1415
|
+
policyId: import_zod7.z.string().min(1),
|
|
1416
|
+
policyName: import_zod7.z.string().min(1),
|
|
1312
1417
|
severity: PolicySeveritySchema,
|
|
1313
1418
|
// Resolved at evaluation time — either the explicit policy.onViolation or
|
|
1314
1419
|
// the severity-derived default per ADR-044.
|
|
1315
1420
|
onViolation: PolicyActionSchema,
|
|
1316
|
-
ruleType:
|
|
1317
|
-
subject:
|
|
1318
|
-
nodeId:
|
|
1319
|
-
edgeId:
|
|
1320
|
-
path:
|
|
1421
|
+
ruleType: import_zod7.z.enum(["structural", "compatibility", "provenance", "ownership", "blast-radius", "field-guard"]),
|
|
1422
|
+
subject: import_zod7.z.object({
|
|
1423
|
+
nodeId: import_zod7.z.string().optional(),
|
|
1424
|
+
edgeId: import_zod7.z.string().optional(),
|
|
1425
|
+
path: import_zod7.z.array(import_zod7.z.string()).optional()
|
|
1321
1426
|
}).refine(
|
|
1322
1427
|
(s) => s.nodeId !== void 0 || s.edgeId !== void 0 || s.path !== void 0,
|
|
1323
1428
|
{ message: "subject must carry at least one of nodeId, edgeId, path" }
|
|
1324
1429
|
),
|
|
1325
|
-
message:
|
|
1326
|
-
observedAt:
|
|
1430
|
+
message: import_zod7.z.string().min(1),
|
|
1431
|
+
observedAt: import_zod7.z.string().datetime()
|
|
1327
1432
|
});
|
|
1328
1433
|
|
|
1329
1434
|
// src/registry.ts
|
|
1330
|
-
var
|
|
1331
|
-
var RegistryStatusSchema =
|
|
1332
|
-
var RegistryEntrySchema =
|
|
1435
|
+
var import_zod8 = require("zod");
|
|
1436
|
+
var RegistryStatusSchema = import_zod8.z.enum(["active", "paused", "broken"]);
|
|
1437
|
+
var RegistryEntrySchema = import_zod8.z.object({
|
|
1333
1438
|
// Unique within the registry. Project-scoped operations (`neat watch
|
|
1334
1439
|
// --project <name>`, `neatd reload <name>`) key on this. Collisions are a
|
|
1335
1440
|
// hard error at registration time.
|
|
1336
|
-
name:
|
|
1441
|
+
name: import_zod8.z.string().min(1),
|
|
1337
1442
|
// Resolved absolute path on disk. Path normalisation is what keeps two
|
|
1338
1443
|
// `neat init` calls from different relative paths from creating two entries
|
|
1339
1444
|
// for the same directory.
|
|
1340
|
-
path:
|
|
1445
|
+
path: import_zod8.z.string().min(1),
|
|
1341
1446
|
// ISO8601, set at first registration.
|
|
1342
|
-
registeredAt:
|
|
1447
|
+
registeredAt: import_zod8.z.string(),
|
|
1343
1448
|
// ISO8601, updated whenever the daemon successfully sees the project.
|
|
1344
1449
|
// Optional because a freshly-registered project hasn't been seen yet.
|
|
1345
|
-
lastSeenAt:
|
|
1450
|
+
lastSeenAt: import_zod8.z.string().optional(),
|
|
1346
1451
|
// Languages detected at `init` time. Free-form strings keyed off the
|
|
1347
1452
|
// installer modules — `'javascript'`, `'python'`, …
|
|
1348
|
-
languages:
|
|
1453
|
+
languages: import_zod8.z.array(import_zod8.z.string()),
|
|
1349
1454
|
status: RegistryStatusSchema
|
|
1350
1455
|
});
|
|
1351
|
-
var RegistryFileSchema =
|
|
1352
|
-
version:
|
|
1353
|
-
projects:
|
|
1456
|
+
var RegistryFileSchema = import_zod8.z.object({
|
|
1457
|
+
version: import_zod8.z.literal(1),
|
|
1458
|
+
projects: import_zod8.z.array(RegistryEntrySchema)
|
|
1354
1459
|
});
|
|
1355
1460
|
var EMPTY_REGISTRY = { version: 1, projects: [] };
|
|
1356
1461
|
|
|
1357
1462
|
// src/divergence.ts
|
|
1358
|
-
var
|
|
1463
|
+
var import_zod9 = require("zod");
|
|
1359
1464
|
var commonFields = {
|
|
1360
|
-
source:
|
|
1361
|
-
target:
|
|
1362
|
-
confidence:
|
|
1363
|
-
reason:
|
|
1364
|
-
recommendation:
|
|
1465
|
+
source: import_zod9.z.string(),
|
|
1466
|
+
target: import_zod9.z.string(),
|
|
1467
|
+
confidence: import_zod9.z.number().min(0).max(1),
|
|
1468
|
+
reason: import_zod9.z.string(),
|
|
1469
|
+
recommendation: import_zod9.z.string()
|
|
1365
1470
|
};
|
|
1366
|
-
var MissingObservedDivergenceSchema =
|
|
1367
|
-
type:
|
|
1471
|
+
var MissingObservedDivergenceSchema = import_zod9.z.object({
|
|
1472
|
+
type: import_zod9.z.literal("missing-observed"),
|
|
1368
1473
|
...commonFields,
|
|
1369
1474
|
edgeType: EdgeTypeSchema.optional(),
|
|
1370
1475
|
extracted: GraphEdgeSchema.optional(),
|
|
1371
1476
|
// Column locus (ADR-157 §4): the `sql-table` node id and the declared-only column.
|
|
1372
|
-
table:
|
|
1373
|
-
column:
|
|
1477
|
+
table: import_zod9.z.string().optional(),
|
|
1478
|
+
column: import_zod9.z.string().optional()
|
|
1374
1479
|
});
|
|
1375
|
-
var MissingExtractedDivergenceSchema =
|
|
1376
|
-
type:
|
|
1480
|
+
var MissingExtractedDivergenceSchema = import_zod9.z.object({
|
|
1481
|
+
type: import_zod9.z.literal("missing-extracted"),
|
|
1377
1482
|
...commonFields,
|
|
1378
1483
|
edgeType: EdgeTypeSchema.optional(),
|
|
1379
1484
|
observed: GraphEdgeSchema.optional(),
|
|
1380
1485
|
// Column locus (ADR-157 §4): the `sql-table` node id and the observed-only column.
|
|
1381
|
-
table:
|
|
1382
|
-
column:
|
|
1486
|
+
table: import_zod9.z.string().optional(),
|
|
1487
|
+
column: import_zod9.z.string().optional()
|
|
1383
1488
|
});
|
|
1384
|
-
var CompatibilityVerdictSchema =
|
|
1385
|
-
var VersionMismatchDivergenceSchema =
|
|
1386
|
-
type:
|
|
1489
|
+
var CompatibilityVerdictSchema = import_zod9.z.enum(["incompatible", "deprecated", "unknown"]);
|
|
1490
|
+
var VersionMismatchDivergenceSchema = import_zod9.z.object({
|
|
1491
|
+
type: import_zod9.z.literal("version-mismatch"),
|
|
1387
1492
|
...commonFields,
|
|
1388
|
-
extractedVersion:
|
|
1389
|
-
observedVersion:
|
|
1493
|
+
extractedVersion: import_zod9.z.string(),
|
|
1494
|
+
observedVersion: import_zod9.z.string(),
|
|
1390
1495
|
compatibility: CompatibilityVerdictSchema
|
|
1391
1496
|
});
|
|
1392
|
-
var HostMismatchDivergenceSchema =
|
|
1393
|
-
type:
|
|
1497
|
+
var HostMismatchDivergenceSchema = import_zod9.z.object({
|
|
1498
|
+
type: import_zod9.z.literal("host-mismatch"),
|
|
1394
1499
|
...commonFields,
|
|
1395
|
-
extractedHost:
|
|
1396
|
-
observedHost:
|
|
1397
|
-
});
|
|
1398
|
-
var CompatRuleRefSchema =
|
|
1399
|
-
kind:
|
|
1400
|
-
reason:
|
|
1401
|
-
package:
|
|
1402
|
-
driver:
|
|
1403
|
-
engine:
|
|
1404
|
-
});
|
|
1405
|
-
var CompatViolationDivergenceSchema =
|
|
1406
|
-
type:
|
|
1500
|
+
extractedHost: import_zod9.z.string(),
|
|
1501
|
+
observedHost: import_zod9.z.string()
|
|
1502
|
+
});
|
|
1503
|
+
var CompatRuleRefSchema = import_zod9.z.object({
|
|
1504
|
+
kind: import_zod9.z.string(),
|
|
1505
|
+
reason: import_zod9.z.string(),
|
|
1506
|
+
package: import_zod9.z.string().optional(),
|
|
1507
|
+
driver: import_zod9.z.string().optional(),
|
|
1508
|
+
engine: import_zod9.z.string().optional()
|
|
1509
|
+
});
|
|
1510
|
+
var CompatViolationDivergenceSchema = import_zod9.z.object({
|
|
1511
|
+
type: import_zod9.z.literal("compat-violation"),
|
|
1407
1512
|
...commonFields,
|
|
1408
1513
|
rule: CompatRuleRefSchema,
|
|
1409
1514
|
observed: GraphEdgeSchema
|
|
1410
1515
|
});
|
|
1411
|
-
var SymbolMismatchKindSchema =
|
|
1516
|
+
var SymbolMismatchKindSchema = import_zod9.z.enum([
|
|
1412
1517
|
"missing-attribute",
|
|
1413
1518
|
"missing-field",
|
|
1414
1519
|
"missing-property",
|
|
1415
1520
|
"missing-column",
|
|
1416
1521
|
"undefined-method"
|
|
1417
1522
|
]);
|
|
1418
|
-
var ObservedSymbolMismatchDivergenceSchema =
|
|
1419
|
-
type:
|
|
1523
|
+
var ObservedSymbolMismatchDivergenceSchema = import_zod9.z.object({
|
|
1524
|
+
type: import_zod9.z.literal("observed-symbol-mismatch"),
|
|
1420
1525
|
...commonFields,
|
|
1421
1526
|
mismatchKind: SymbolMismatchKindSchema,
|
|
1422
|
-
symbol:
|
|
1423
|
-
location:
|
|
1527
|
+
symbol: import_zod9.z.string().optional(),
|
|
1528
|
+
location: import_zod9.z.string().optional(),
|
|
1424
1529
|
provenance: ProvenanceSchema,
|
|
1425
1530
|
// The OBSERVED incident this fuses — its id and the raw error text — so a
|
|
1426
1531
|
// consumer can trace the finding back to the recorded failure.
|
|
1427
|
-
incidentId:
|
|
1428
|
-
errorMessage:
|
|
1532
|
+
incidentId: import_zod9.z.string().optional(),
|
|
1533
|
+
errorMessage: import_zod9.z.string(),
|
|
1429
1534
|
// How many recorded incidents share this (node, member, mismatch) — the
|
|
1430
1535
|
// failure has usually fired more than once.
|
|
1431
|
-
incidentCount:
|
|
1536
|
+
incidentCount: import_zod9.z.number().int().positive().optional()
|
|
1432
1537
|
});
|
|
1433
|
-
var ObservedFailureKindSchema =
|
|
1538
|
+
var ObservedFailureKindSchema = import_zod9.z.enum([
|
|
1434
1539
|
"error-rate",
|
|
1435
1540
|
"connection-refused",
|
|
1436
1541
|
"deadline-exceeded",
|
|
@@ -1438,25 +1543,25 @@ var ObservedFailureKindSchema = import_zod8.z.enum([
|
|
|
1438
1543
|
"unavailable",
|
|
1439
1544
|
"server-error"
|
|
1440
1545
|
]);
|
|
1441
|
-
var ObservedFailingDivergenceSchema =
|
|
1442
|
-
type:
|
|
1546
|
+
var ObservedFailingDivergenceSchema = import_zod9.z.object({
|
|
1547
|
+
type: import_zod9.z.literal("observed-failing"),
|
|
1443
1548
|
...commonFields,
|
|
1444
1549
|
failureKind: ObservedFailureKindSchema,
|
|
1445
1550
|
provenance: ProvenanceSchema,
|
|
1446
1551
|
// Edge locus (the observed dependency edge whose calls predominantly fail).
|
|
1447
1552
|
edgeType: EdgeTypeSchema.optional(),
|
|
1448
1553
|
observed: GraphEdgeSchema.optional(),
|
|
1449
|
-
spanCount:
|
|
1450
|
-
errorCount:
|
|
1451
|
-
errorRate:
|
|
1554
|
+
spanCount: import_zod9.z.number().int().nonnegative().optional(),
|
|
1555
|
+
errorCount: import_zod9.z.number().int().nonnegative().optional(),
|
|
1556
|
+
errorRate: import_zod9.z.number().min(0).max(1).optional(),
|
|
1452
1557
|
// Incident locus (the declared external call whose incident shows a failure).
|
|
1453
|
-
location:
|
|
1454
|
-
incidentId:
|
|
1455
|
-
errorMessage:
|
|
1456
|
-
incidentCount:
|
|
1457
|
-
httpStatusCode:
|
|
1558
|
+
location: import_zod9.z.string().optional(),
|
|
1559
|
+
incidentId: import_zod9.z.string().optional(),
|
|
1560
|
+
errorMessage: import_zod9.z.string().optional(),
|
|
1561
|
+
incidentCount: import_zod9.z.number().int().positive().optional(),
|
|
1562
|
+
httpStatusCode: import_zod9.z.number().int().optional()
|
|
1458
1563
|
});
|
|
1459
|
-
var DivergenceSchema =
|
|
1564
|
+
var DivergenceSchema = import_zod9.z.discriminatedUnion("type", [
|
|
1460
1565
|
MissingObservedDivergenceSchema,
|
|
1461
1566
|
MissingExtractedDivergenceSchema,
|
|
1462
1567
|
VersionMismatchDivergenceSchema,
|
|
@@ -1465,14 +1570,14 @@ var DivergenceSchema = import_zod8.z.discriminatedUnion("type", [
|
|
|
1465
1570
|
ObservedSymbolMismatchDivergenceSchema,
|
|
1466
1571
|
ObservedFailingDivergenceSchema
|
|
1467
1572
|
]);
|
|
1468
|
-
var DivergenceResultSchema =
|
|
1469
|
-
divergences:
|
|
1470
|
-
totalAffected:
|
|
1573
|
+
var DivergenceResultSchema = import_zod9.z.object({
|
|
1574
|
+
divergences: import_zod9.z.array(DivergenceSchema),
|
|
1575
|
+
totalAffected: import_zod9.z.number().int().nonnegative(),
|
|
1471
1576
|
// ISO8601 timestamp the result was computed at. Each call re-derives from
|
|
1472
1577
|
// the live graph — there is no persisted divergence history.
|
|
1473
|
-
computedAt:
|
|
1578
|
+
computedAt: import_zod9.z.string().datetime()
|
|
1474
1579
|
});
|
|
1475
|
-
var DivergenceTypeSchema =
|
|
1580
|
+
var DivergenceTypeSchema = import_zod9.z.enum([
|
|
1476
1581
|
"missing-observed",
|
|
1477
1582
|
"missing-extracted",
|
|
1478
1583
|
"version-mismatch",
|
|
@@ -1489,6 +1594,10 @@ var MCP_TOOL_NAMES = [
|
|
|
1489
1594
|
"get_dependencies",
|
|
1490
1595
|
"get_observed_dependencies",
|
|
1491
1596
|
"get_incident_history",
|
|
1597
|
+
// One self-sufficient work order per incident (ADR-221): the incident fused
|
|
1598
|
+
// with its root-cause chain, blast radius, governing policies, and node
|
|
1599
|
+
// divergence, each claim provenance-stamped.
|
|
1600
|
+
"get_incident_card",
|
|
1492
1601
|
"semantic_search",
|
|
1493
1602
|
"get_graph_diff",
|
|
1494
1603
|
"get_recent_stale_edges",
|
|
@@ -1510,117 +1619,117 @@ var MCP_TOOL_NAMES = [
|
|
|
1510
1619
|
];
|
|
1511
1620
|
|
|
1512
1621
|
// src/responses.ts
|
|
1513
|
-
var
|
|
1514
|
-
var listEnvelope = (itemSchema) =>
|
|
1515
|
-
count:
|
|
1516
|
-
total:
|
|
1517
|
-
events:
|
|
1622
|
+
var import_zod10 = require("zod");
|
|
1623
|
+
var listEnvelope = (itemSchema) => import_zod10.z.object({
|
|
1624
|
+
count: import_zod10.z.number().int().nonnegative(),
|
|
1625
|
+
total: import_zod10.z.number().int().nonnegative(),
|
|
1626
|
+
events: import_zod10.z.array(itemSchema)
|
|
1518
1627
|
});
|
|
1519
1628
|
var IncidentsResponseSchema = listEnvelope(ErrorEventSchema);
|
|
1520
1629
|
var StaleEventsResponseSchema = listEnvelope(StaleEventSchema);
|
|
1521
|
-
var LogsResponseSchema =
|
|
1522
|
-
count:
|
|
1523
|
-
total:
|
|
1524
|
-
logs:
|
|
1630
|
+
var LogsResponseSchema = import_zod10.z.object({
|
|
1631
|
+
count: import_zod10.z.number().int().nonnegative(),
|
|
1632
|
+
total: import_zod10.z.number().int().nonnegative(),
|
|
1633
|
+
logs: import_zod10.z.array(LogEntrySchema)
|
|
1525
1634
|
});
|
|
1526
|
-
var PoliciesViolationsResponseSchema =
|
|
1527
|
-
violations:
|
|
1635
|
+
var PoliciesViolationsResponseSchema = import_zod10.z.object({
|
|
1636
|
+
violations: import_zod10.z.array(PolicyViolationSchema)
|
|
1528
1637
|
});
|
|
1529
|
-
var GraphNodeResponseSchema =
|
|
1638
|
+
var GraphNodeResponseSchema = import_zod10.z.object({
|
|
1530
1639
|
node: GraphNodeSchema
|
|
1531
1640
|
});
|
|
1532
|
-
var GraphEdgesResponseSchema =
|
|
1533
|
-
inbound:
|
|
1534
|
-
outbound:
|
|
1641
|
+
var GraphEdgesResponseSchema = import_zod10.z.object({
|
|
1642
|
+
inbound: import_zod10.z.array(GraphEdgeSchema),
|
|
1643
|
+
outbound: import_zod10.z.array(GraphEdgeSchema)
|
|
1535
1644
|
});
|
|
1536
|
-
var ExtractionCoverageSchema =
|
|
1537
|
-
skippedFiles:
|
|
1538
|
-
byProducer:
|
|
1645
|
+
var ExtractionCoverageSchema = import_zod10.z.object({
|
|
1646
|
+
skippedFiles: import_zod10.z.number().int().nonnegative(),
|
|
1647
|
+
byProducer: import_zod10.z.record(import_zod10.z.number().int().nonnegative()),
|
|
1539
1648
|
// Up to a bounded sample of the files that failed to parse this pass.
|
|
1540
|
-
files:
|
|
1541
|
-
updatedAt:
|
|
1649
|
+
files: import_zod10.z.array(import_zod10.z.string()),
|
|
1650
|
+
updatedAt: import_zod10.z.string()
|
|
1542
1651
|
});
|
|
1543
|
-
var HealthResponseSchema =
|
|
1544
|
-
ok:
|
|
1545
|
-
project:
|
|
1546
|
-
uptimeMs:
|
|
1652
|
+
var HealthResponseSchema = import_zod10.z.object({
|
|
1653
|
+
ok: import_zod10.z.boolean(),
|
|
1654
|
+
project: import_zod10.z.string(),
|
|
1655
|
+
uptimeMs: import_zod10.z.number().int().nonnegative(),
|
|
1547
1656
|
// Present when the most recent extraction pass recorded its coverage (#883).
|
|
1548
1657
|
coverage: ExtractionCoverageSchema.optional()
|
|
1549
1658
|
}).passthrough();
|
|
1550
|
-
var DaemonHealthResponseSchema =
|
|
1551
|
-
ok:
|
|
1552
|
-
uptimeMs:
|
|
1553
|
-
projects:
|
|
1554
|
-
|
|
1555
|
-
name:
|
|
1556
|
-
nodeCount:
|
|
1557
|
-
edgeCount:
|
|
1659
|
+
var DaemonHealthResponseSchema = import_zod10.z.object({
|
|
1660
|
+
ok: import_zod10.z.boolean(),
|
|
1661
|
+
uptimeMs: import_zod10.z.number().int().nonnegative(),
|
|
1662
|
+
projects: import_zod10.z.array(
|
|
1663
|
+
import_zod10.z.object({
|
|
1664
|
+
name: import_zod10.z.string(),
|
|
1665
|
+
nodeCount: import_zod10.z.number().int().nonnegative(),
|
|
1666
|
+
edgeCount: import_zod10.z.number().int().nonnegative()
|
|
1558
1667
|
}).passthrough()
|
|
1559
1668
|
)
|
|
1560
1669
|
}).passthrough();
|
|
1561
1670
|
var ProjectListEntrySchema = RegistryEntrySchema.extend({
|
|
1562
|
-
hostedHere:
|
|
1671
|
+
hostedHere: import_zod10.z.boolean()
|
|
1563
1672
|
});
|
|
1564
|
-
var ProjectServedBySchema =
|
|
1565
|
-
path:
|
|
1566
|
-
restPort:
|
|
1567
|
-
live:
|
|
1673
|
+
var ProjectServedBySchema = import_zod10.z.object({
|
|
1674
|
+
path: import_zod10.z.string(),
|
|
1675
|
+
restPort: import_zod10.z.number().int(),
|
|
1676
|
+
live: import_zod10.z.boolean()
|
|
1568
1677
|
});
|
|
1569
|
-
var SingleProjectResponseSchema =
|
|
1678
|
+
var SingleProjectResponseSchema = import_zod10.z.object({
|
|
1570
1679
|
project: ProjectListEntrySchema,
|
|
1571
1680
|
// Present only when this daemon does not host the project but another daemon
|
|
1572
1681
|
// on the machine does — names where it actually lives (#884).
|
|
1573
1682
|
servedBy: ProjectServedBySchema.optional()
|
|
1574
1683
|
});
|
|
1575
|
-
var ConnectorPollStateSchema =
|
|
1576
|
-
var ConnectorStatusSchema =
|
|
1684
|
+
var ConnectorPollStateSchema = import_zod10.z.enum(["idle", "healthy", "error", "stale"]);
|
|
1685
|
+
var ConnectorStatusSchema = import_zod10.z.object({
|
|
1577
1686
|
state: ConnectorPollStateSchema,
|
|
1578
|
-
lastPollAt:
|
|
1579
|
-
lastOutcome:
|
|
1580
|
-
lastError:
|
|
1581
|
-
signalsLastPoll:
|
|
1582
|
-
});
|
|
1583
|
-
var ConnectorStatusEntrySchema =
|
|
1584
|
-
id:
|
|
1585
|
-
provider:
|
|
1586
|
-
credentialRef:
|
|
1687
|
+
lastPollAt: import_zod10.z.string().nullable(),
|
|
1688
|
+
lastOutcome: import_zod10.z.enum(["ok", "error"]).nullable(),
|
|
1689
|
+
lastError: import_zod10.z.string().nullable(),
|
|
1690
|
+
signalsLastPoll: import_zod10.z.number().int().nonnegative()
|
|
1691
|
+
});
|
|
1692
|
+
var ConnectorStatusEntrySchema = import_zod10.z.object({
|
|
1693
|
+
id: import_zod10.z.string(),
|
|
1694
|
+
provider: import_zod10.z.string(),
|
|
1695
|
+
credentialRef: import_zod10.z.union([import_zod10.z.string(), import_zod10.z.record(import_zod10.z.string(), import_zod10.z.string())]),
|
|
1587
1696
|
status: ConnectorStatusSchema
|
|
1588
1697
|
});
|
|
1589
|
-
var ConnectorsStatusResponseSchema =
|
|
1590
|
-
connectors:
|
|
1591
|
-
});
|
|
1592
|
-
var SearchMatchSchema =
|
|
1593
|
-
var SearchResponseSchema =
|
|
1594
|
-
query:
|
|
1595
|
-
provider:
|
|
1596
|
-
matches:
|
|
1597
|
-
});
|
|
1598
|
-
var SerializedGraphSchema =
|
|
1599
|
-
nodes:
|
|
1600
|
-
edges:
|
|
1601
|
-
});
|
|
1602
|
-
var GraphDiffResultSchema =
|
|
1603
|
-
base:
|
|
1604
|
-
current:
|
|
1605
|
-
added:
|
|
1606
|
-
nodes:
|
|
1607
|
-
edges:
|
|
1698
|
+
var ConnectorsStatusResponseSchema = import_zod10.z.object({
|
|
1699
|
+
connectors: import_zod10.z.array(ConnectorStatusEntrySchema)
|
|
1700
|
+
});
|
|
1701
|
+
var SearchMatchSchema = import_zod10.z.object({ score: import_zod10.z.number() }).passthrough();
|
|
1702
|
+
var SearchResponseSchema = import_zod10.z.object({
|
|
1703
|
+
query: import_zod10.z.string(),
|
|
1704
|
+
provider: import_zod10.z.string(),
|
|
1705
|
+
matches: import_zod10.z.array(SearchMatchSchema)
|
|
1706
|
+
});
|
|
1707
|
+
var SerializedGraphSchema = import_zod10.z.object({
|
|
1708
|
+
nodes: import_zod10.z.array(GraphNodeSchema),
|
|
1709
|
+
edges: import_zod10.z.array(GraphEdgeSchema)
|
|
1710
|
+
});
|
|
1711
|
+
var GraphDiffResultSchema = import_zod10.z.object({
|
|
1712
|
+
base: import_zod10.z.object({ exportedAt: import_zod10.z.string().optional() }),
|
|
1713
|
+
current: import_zod10.z.object({ exportedAt: import_zod10.z.string() }),
|
|
1714
|
+
added: import_zod10.z.object({
|
|
1715
|
+
nodes: import_zod10.z.array(GraphNodeSchema),
|
|
1716
|
+
edges: import_zod10.z.array(GraphEdgeSchema)
|
|
1608
1717
|
}),
|
|
1609
|
-
removed:
|
|
1610
|
-
nodes:
|
|
1611
|
-
edges:
|
|
1718
|
+
removed: import_zod10.z.object({
|
|
1719
|
+
nodes: import_zod10.z.array(GraphNodeSchema),
|
|
1720
|
+
edges: import_zod10.z.array(GraphEdgeSchema)
|
|
1612
1721
|
}),
|
|
1613
|
-
changed:
|
|
1614
|
-
nodes:
|
|
1615
|
-
|
|
1616
|
-
id:
|
|
1722
|
+
changed: import_zod10.z.object({
|
|
1723
|
+
nodes: import_zod10.z.array(
|
|
1724
|
+
import_zod10.z.object({
|
|
1725
|
+
id: import_zod10.z.string(),
|
|
1617
1726
|
before: GraphNodeSchema,
|
|
1618
1727
|
after: GraphNodeSchema
|
|
1619
1728
|
})
|
|
1620
1729
|
),
|
|
1621
|
-
edges:
|
|
1622
|
-
|
|
1623
|
-
id:
|
|
1730
|
+
edges: import_zod10.z.array(
|
|
1731
|
+
import_zod10.z.object({
|
|
1732
|
+
id: import_zod10.z.string(),
|
|
1624
1733
|
before: GraphEdgeSchema,
|
|
1625
1734
|
after: GraphEdgeSchema
|
|
1626
1735
|
})
|
|
@@ -1742,6 +1851,15 @@ function passesExtractedFloor(confidence) {
|
|
|
1742
1851
|
HealthResponseSchema,
|
|
1743
1852
|
HostMismatchDivergenceSchema,
|
|
1744
1853
|
HypotheticalActionSchema,
|
|
1854
|
+
IncidentBlastRadiusSchema,
|
|
1855
|
+
IncidentCardSchema,
|
|
1856
|
+
IncidentChainHopSchema,
|
|
1857
|
+
IncidentDivergenceSchema,
|
|
1858
|
+
IncidentEventPayloadSchema,
|
|
1859
|
+
IncidentKindSchema,
|
|
1860
|
+
IncidentLocusSchema,
|
|
1861
|
+
IncidentPolicySchema,
|
|
1862
|
+
IncidentRootCauseSchema,
|
|
1745
1863
|
IncidentsResponseSchema,
|
|
1746
1864
|
InfraNodeSchema,
|
|
1747
1865
|
LatencyMsSchema,
|
|
@@ -1810,6 +1928,7 @@ function passesExtractedFloor(confidence) {
|
|
|
1810
1928
|
frontierId,
|
|
1811
1929
|
graphqlOperationId,
|
|
1812
1930
|
grpcMethodId,
|
|
1931
|
+
incidentKindOf,
|
|
1813
1932
|
inferredEdgeId,
|
|
1814
1933
|
infraId,
|
|
1815
1934
|
localDatabaseId,
|