@scoutflo/topology-contracts 0.8.0 → 0.9.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 (41) hide show
  1. package/README.md +1 -0
  2. package/dist/src/correlation/connectionContractV1.d.ts +100 -48
  3. package/dist/src/correlation/connectionContractV1.js +75 -3
  4. package/dist/src/correlation/connectionContractV1.js.map +1 -1
  5. package/dist/src/correlation/contracts/authoring.d.ts +1 -1
  6. package/dist/src/correlation/contracts/authoring.js +16 -5
  7. package/dist/src/correlation/contracts/authoring.js.map +1 -1
  8. package/dist/src/correlation/contracts/families/index.d.ts +39 -31
  9. package/dist/src/correlation/contracts/families/integrations/index.d.ts +39 -31
  10. package/dist/src/correlation/contracts/families/integrations/index.js +39 -36
  11. package/dist/src/correlation/contracts/families/integrations/index.js.map +1 -1
  12. package/dist/src/correlation/contracts/registry.d.ts +39 -31
  13. package/dist/src/index.d.ts +2 -0
  14. package/dist/src/index.js +2 -0
  15. package/dist/src/index.js.map +1 -1
  16. package/dist/src/investigation/context.d.ts +22185 -798
  17. package/dist/src/investigation/context.js +221 -58
  18. package/dist/src/investigation/context.js.map +1 -1
  19. package/dist/src/product-identity.d.ts +30 -0
  20. package/dist/src/product-identity.js +128 -0
  21. package/dist/src/product-identity.js.map +1 -0
  22. package/dist/src/provenance/index.d.ts +1 -0
  23. package/dist/src/provenance/index.js +18 -0
  24. package/dist/src/provenance/index.js.map +1 -0
  25. package/dist/src/provenance/runtimeContainer.d.ts +431 -0
  26. package/dist/src/provenance/runtimeContainer.js +139 -0
  27. package/dist/src/provenance/runtimeContainer.js.map +1 -0
  28. package/dist/src/schemas/index.d.ts +2 -1
  29. package/dist/src/schemas/index.js +12 -4
  30. package/dist/src/schemas/index.js.map +1 -1
  31. package/dist/test/contracts.test.js +59 -43
  32. package/dist/test/contracts.test.js.map +1 -1
  33. package/dist/test/investigation-context.test.js +184 -0
  34. package/dist/test/investigation-context.test.js.map +1 -1
  35. package/dist/test/product-identity.test.d.ts +1 -0
  36. package/dist/test/product-identity.test.js +103 -0
  37. package/dist/test/product-identity.test.js.map +1 -0
  38. package/dist/test/runtime-provenance.test.d.ts +1 -0
  39. package/dist/test/runtime-provenance.test.js +134 -0
  40. package/dist/test/runtime-provenance.test.js.map +1 -0
  41. package/package.json +3 -2
@@ -0,0 +1,431 @@
1
+ import { z } from 'zod';
2
+ export declare const RUNTIME_CONTAINER_PROVENANCE_VERSION = "runtime.container-provenance.v1";
3
+ export declare const RUNTIME_CONTAINER_PROVENANCE_LIMITS: {
4
+ readonly containers: 128;
5
+ readonly name: 253;
6
+ readonly image: 2048;
7
+ readonly imageId: 2048;
8
+ readonly digest: 256;
9
+ readonly repository: 2048;
10
+ readonly commitSha: 64;
11
+ readonly reason: 512;
12
+ };
13
+ export declare const runtimeContainerKindSchema: z.ZodEnum<["regular", "init", "ephemeral"]>;
14
+ export declare const runtimeIdentityStatusSchema: z.ZodEnum<["verified", "unverified", "unavailable"]>;
15
+ export declare const runtimeConsistencyStatusSchema: z.ZodEnum<["consistent", "inconsistent", "unknown"]>;
16
+ export declare const claimedSourceStatusSchema: z.ZodEnum<["unverified", "unavailable"]>;
17
+ export declare const safeSourceRepositorySchema: z.ZodEffects<z.ZodString, string, string>;
18
+ export declare const runtimeContainerProvenanceSchema: z.ZodEffects<z.ZodObject<{
19
+ name: z.ZodString;
20
+ kind: z.ZodEnum<["regular", "init", "ephemeral"]>;
21
+ scope: z.ZodOptional<z.ZodObject<{
22
+ namespace: z.ZodOptional<z.ZodString>;
23
+ workload_kind: z.ZodOptional<z.ZodString>;
24
+ workload_name: z.ZodOptional<z.ZodString>;
25
+ pod_name: z.ZodOptional<z.ZodString>;
26
+ }, "strict", z.ZodTypeAny, {
27
+ namespace?: string | undefined;
28
+ workload_name?: string | undefined;
29
+ pod_name?: string | undefined;
30
+ workload_kind?: string | undefined;
31
+ }, {
32
+ namespace?: string | undefined;
33
+ workload_name?: string | undefined;
34
+ pod_name?: string | undefined;
35
+ workload_kind?: string | undefined;
36
+ }>>;
37
+ requested_image: z.ZodOptional<z.ZodString>;
38
+ observed_image: z.ZodOptional<z.ZodString>;
39
+ observed_image_id: z.ZodOptional<z.ZodString>;
40
+ digest: z.ZodOptional<z.ZodString>;
41
+ runtime_identity_status: z.ZodEnum<["verified", "unverified", "unavailable"]>;
42
+ runtime_identity_reason: z.ZodOptional<z.ZodString>;
43
+ consistency_status: z.ZodEnum<["consistent", "inconsistent", "unknown"]>;
44
+ consistency_reason: z.ZodOptional<z.ZodString>;
45
+ claimed_source: z.ZodOptional<z.ZodObject<{
46
+ repository: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
47
+ commit_sha: z.ZodOptional<z.ZodString>;
48
+ scope: z.ZodLiteral<"pod_metadata">;
49
+ status: z.ZodEnum<["unverified", "unavailable"]>;
50
+ reason: z.ZodOptional<z.ZodString>;
51
+ }, "strict", z.ZodTypeAny, {
52
+ status: "unavailable" | "unverified";
53
+ scope: "pod_metadata";
54
+ reason?: string | undefined;
55
+ repository?: string | undefined;
56
+ commit_sha?: string | undefined;
57
+ }, {
58
+ status: "unavailable" | "unverified";
59
+ scope: "pod_metadata";
60
+ reason?: string | undefined;
61
+ repository?: string | undefined;
62
+ commit_sha?: string | undefined;
63
+ }>>;
64
+ }, "strict", z.ZodTypeAny, {
65
+ kind: "regular" | "init" | "ephemeral";
66
+ name: string;
67
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
68
+ consistency_status: "unknown" | "consistent" | "inconsistent";
69
+ scope?: {
70
+ namespace?: string | undefined;
71
+ workload_name?: string | undefined;
72
+ pod_name?: string | undefined;
73
+ workload_kind?: string | undefined;
74
+ } | undefined;
75
+ requested_image?: string | undefined;
76
+ observed_image?: string | undefined;
77
+ observed_image_id?: string | undefined;
78
+ digest?: string | undefined;
79
+ runtime_identity_reason?: string | undefined;
80
+ consistency_reason?: string | undefined;
81
+ claimed_source?: {
82
+ status: "unavailable" | "unverified";
83
+ scope: "pod_metadata";
84
+ reason?: string | undefined;
85
+ repository?: string | undefined;
86
+ commit_sha?: string | undefined;
87
+ } | undefined;
88
+ }, {
89
+ kind: "regular" | "init" | "ephemeral";
90
+ name: string;
91
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
92
+ consistency_status: "unknown" | "consistent" | "inconsistent";
93
+ scope?: {
94
+ namespace?: string | undefined;
95
+ workload_name?: string | undefined;
96
+ pod_name?: string | undefined;
97
+ workload_kind?: string | undefined;
98
+ } | undefined;
99
+ requested_image?: string | undefined;
100
+ observed_image?: string | undefined;
101
+ observed_image_id?: string | undefined;
102
+ digest?: string | undefined;
103
+ runtime_identity_reason?: string | undefined;
104
+ consistency_reason?: string | undefined;
105
+ claimed_source?: {
106
+ status: "unavailable" | "unverified";
107
+ scope: "pod_metadata";
108
+ reason?: string | undefined;
109
+ repository?: string | undefined;
110
+ commit_sha?: string | undefined;
111
+ } | undefined;
112
+ }>, {
113
+ kind: "regular" | "init" | "ephemeral";
114
+ name: string;
115
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
116
+ consistency_status: "unknown" | "consistent" | "inconsistent";
117
+ scope?: {
118
+ namespace?: string | undefined;
119
+ workload_name?: string | undefined;
120
+ pod_name?: string | undefined;
121
+ workload_kind?: string | undefined;
122
+ } | undefined;
123
+ requested_image?: string | undefined;
124
+ observed_image?: string | undefined;
125
+ observed_image_id?: string | undefined;
126
+ digest?: string | undefined;
127
+ runtime_identity_reason?: string | undefined;
128
+ consistency_reason?: string | undefined;
129
+ claimed_source?: {
130
+ status: "unavailable" | "unverified";
131
+ scope: "pod_metadata";
132
+ reason?: string | undefined;
133
+ repository?: string | undefined;
134
+ commit_sha?: string | undefined;
135
+ } | undefined;
136
+ }, {
137
+ kind: "regular" | "init" | "ephemeral";
138
+ name: string;
139
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
140
+ consistency_status: "unknown" | "consistent" | "inconsistent";
141
+ scope?: {
142
+ namespace?: string | undefined;
143
+ workload_name?: string | undefined;
144
+ pod_name?: string | undefined;
145
+ workload_kind?: string | undefined;
146
+ } | undefined;
147
+ requested_image?: string | undefined;
148
+ observed_image?: string | undefined;
149
+ observed_image_id?: string | undefined;
150
+ digest?: string | undefined;
151
+ runtime_identity_reason?: string | undefined;
152
+ consistency_reason?: string | undefined;
153
+ claimed_source?: {
154
+ status: "unavailable" | "unverified";
155
+ scope: "pod_metadata";
156
+ reason?: string | undefined;
157
+ repository?: string | undefined;
158
+ commit_sha?: string | undefined;
159
+ } | undefined;
160
+ }>;
161
+ export declare const runtimeWorkloadProvenanceSchema: z.ZodEffects<z.ZodObject<{
162
+ version: z.ZodDefault<z.ZodLiteral<"runtime.container-provenance.v1">>;
163
+ containers: z.ZodArray<z.ZodEffects<z.ZodObject<{
164
+ name: z.ZodString;
165
+ kind: z.ZodEnum<["regular", "init", "ephemeral"]>;
166
+ scope: z.ZodOptional<z.ZodObject<{
167
+ namespace: z.ZodOptional<z.ZodString>;
168
+ workload_kind: z.ZodOptional<z.ZodString>;
169
+ workload_name: z.ZodOptional<z.ZodString>;
170
+ pod_name: z.ZodOptional<z.ZodString>;
171
+ }, "strict", z.ZodTypeAny, {
172
+ namespace?: string | undefined;
173
+ workload_name?: string | undefined;
174
+ pod_name?: string | undefined;
175
+ workload_kind?: string | undefined;
176
+ }, {
177
+ namespace?: string | undefined;
178
+ workload_name?: string | undefined;
179
+ pod_name?: string | undefined;
180
+ workload_kind?: string | undefined;
181
+ }>>;
182
+ requested_image: z.ZodOptional<z.ZodString>;
183
+ observed_image: z.ZodOptional<z.ZodString>;
184
+ observed_image_id: z.ZodOptional<z.ZodString>;
185
+ digest: z.ZodOptional<z.ZodString>;
186
+ runtime_identity_status: z.ZodEnum<["verified", "unverified", "unavailable"]>;
187
+ runtime_identity_reason: z.ZodOptional<z.ZodString>;
188
+ consistency_status: z.ZodEnum<["consistent", "inconsistent", "unknown"]>;
189
+ consistency_reason: z.ZodOptional<z.ZodString>;
190
+ claimed_source: z.ZodOptional<z.ZodObject<{
191
+ repository: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
192
+ commit_sha: z.ZodOptional<z.ZodString>;
193
+ scope: z.ZodLiteral<"pod_metadata">;
194
+ status: z.ZodEnum<["unverified", "unavailable"]>;
195
+ reason: z.ZodOptional<z.ZodString>;
196
+ }, "strict", z.ZodTypeAny, {
197
+ status: "unavailable" | "unverified";
198
+ scope: "pod_metadata";
199
+ reason?: string | undefined;
200
+ repository?: string | undefined;
201
+ commit_sha?: string | undefined;
202
+ }, {
203
+ status: "unavailable" | "unverified";
204
+ scope: "pod_metadata";
205
+ reason?: string | undefined;
206
+ repository?: string | undefined;
207
+ commit_sha?: string | undefined;
208
+ }>>;
209
+ }, "strict", z.ZodTypeAny, {
210
+ kind: "regular" | "init" | "ephemeral";
211
+ name: string;
212
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
213
+ consistency_status: "unknown" | "consistent" | "inconsistent";
214
+ scope?: {
215
+ namespace?: string | undefined;
216
+ workload_name?: string | undefined;
217
+ pod_name?: string | undefined;
218
+ workload_kind?: string | undefined;
219
+ } | undefined;
220
+ requested_image?: string | undefined;
221
+ observed_image?: string | undefined;
222
+ observed_image_id?: string | undefined;
223
+ digest?: string | undefined;
224
+ runtime_identity_reason?: string | undefined;
225
+ consistency_reason?: string | undefined;
226
+ claimed_source?: {
227
+ status: "unavailable" | "unverified";
228
+ scope: "pod_metadata";
229
+ reason?: string | undefined;
230
+ repository?: string | undefined;
231
+ commit_sha?: string | undefined;
232
+ } | undefined;
233
+ }, {
234
+ kind: "regular" | "init" | "ephemeral";
235
+ name: string;
236
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
237
+ consistency_status: "unknown" | "consistent" | "inconsistent";
238
+ scope?: {
239
+ namespace?: string | undefined;
240
+ workload_name?: string | undefined;
241
+ pod_name?: string | undefined;
242
+ workload_kind?: string | undefined;
243
+ } | undefined;
244
+ requested_image?: string | undefined;
245
+ observed_image?: string | undefined;
246
+ observed_image_id?: string | undefined;
247
+ digest?: string | undefined;
248
+ runtime_identity_reason?: string | undefined;
249
+ consistency_reason?: string | undefined;
250
+ claimed_source?: {
251
+ status: "unavailable" | "unverified";
252
+ scope: "pod_metadata";
253
+ reason?: string | undefined;
254
+ repository?: string | undefined;
255
+ commit_sha?: string | undefined;
256
+ } | undefined;
257
+ }>, {
258
+ kind: "regular" | "init" | "ephemeral";
259
+ name: string;
260
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
261
+ consistency_status: "unknown" | "consistent" | "inconsistent";
262
+ scope?: {
263
+ namespace?: string | undefined;
264
+ workload_name?: string | undefined;
265
+ pod_name?: string | undefined;
266
+ workload_kind?: string | undefined;
267
+ } | undefined;
268
+ requested_image?: string | undefined;
269
+ observed_image?: string | undefined;
270
+ observed_image_id?: string | undefined;
271
+ digest?: string | undefined;
272
+ runtime_identity_reason?: string | undefined;
273
+ consistency_reason?: string | undefined;
274
+ claimed_source?: {
275
+ status: "unavailable" | "unverified";
276
+ scope: "pod_metadata";
277
+ reason?: string | undefined;
278
+ repository?: string | undefined;
279
+ commit_sha?: string | undefined;
280
+ } | undefined;
281
+ }, {
282
+ kind: "regular" | "init" | "ephemeral";
283
+ name: string;
284
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
285
+ consistency_status: "unknown" | "consistent" | "inconsistent";
286
+ scope?: {
287
+ namespace?: string | undefined;
288
+ workload_name?: string | undefined;
289
+ pod_name?: string | undefined;
290
+ workload_kind?: string | undefined;
291
+ } | undefined;
292
+ requested_image?: string | undefined;
293
+ observed_image?: string | undefined;
294
+ observed_image_id?: string | undefined;
295
+ digest?: string | undefined;
296
+ runtime_identity_reason?: string | undefined;
297
+ consistency_reason?: string | undefined;
298
+ claimed_source?: {
299
+ status: "unavailable" | "unverified";
300
+ scope: "pod_metadata";
301
+ reason?: string | undefined;
302
+ repository?: string | undefined;
303
+ commit_sha?: string | undefined;
304
+ } | undefined;
305
+ }>, "many">;
306
+ truncated: z.ZodBoolean;
307
+ reason: z.ZodOptional<z.ZodLiteral<"container_limit_exceeded">>;
308
+ containers_omitted: z.ZodOptional<z.ZodNumber>;
309
+ }, "strict", z.ZodTypeAny, {
310
+ version: "runtime.container-provenance.v1";
311
+ truncated: boolean;
312
+ containers: {
313
+ kind: "regular" | "init" | "ephemeral";
314
+ name: string;
315
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
316
+ consistency_status: "unknown" | "consistent" | "inconsistent";
317
+ scope?: {
318
+ namespace?: string | undefined;
319
+ workload_name?: string | undefined;
320
+ pod_name?: string | undefined;
321
+ workload_kind?: string | undefined;
322
+ } | undefined;
323
+ requested_image?: string | undefined;
324
+ observed_image?: string | undefined;
325
+ observed_image_id?: string | undefined;
326
+ digest?: string | undefined;
327
+ runtime_identity_reason?: string | undefined;
328
+ consistency_reason?: string | undefined;
329
+ claimed_source?: {
330
+ status: "unavailable" | "unverified";
331
+ scope: "pod_metadata";
332
+ reason?: string | undefined;
333
+ repository?: string | undefined;
334
+ commit_sha?: string | undefined;
335
+ } | undefined;
336
+ }[];
337
+ reason?: "container_limit_exceeded" | undefined;
338
+ containers_omitted?: number | undefined;
339
+ }, {
340
+ truncated: boolean;
341
+ containers: {
342
+ kind: "regular" | "init" | "ephemeral";
343
+ name: string;
344
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
345
+ consistency_status: "unknown" | "consistent" | "inconsistent";
346
+ scope?: {
347
+ namespace?: string | undefined;
348
+ workload_name?: string | undefined;
349
+ pod_name?: string | undefined;
350
+ workload_kind?: string | undefined;
351
+ } | undefined;
352
+ requested_image?: string | undefined;
353
+ observed_image?: string | undefined;
354
+ observed_image_id?: string | undefined;
355
+ digest?: string | undefined;
356
+ runtime_identity_reason?: string | undefined;
357
+ consistency_reason?: string | undefined;
358
+ claimed_source?: {
359
+ status: "unavailable" | "unverified";
360
+ scope: "pod_metadata";
361
+ reason?: string | undefined;
362
+ repository?: string | undefined;
363
+ commit_sha?: string | undefined;
364
+ } | undefined;
365
+ }[];
366
+ version?: "runtime.container-provenance.v1" | undefined;
367
+ reason?: "container_limit_exceeded" | undefined;
368
+ containers_omitted?: number | undefined;
369
+ }>, {
370
+ version: "runtime.container-provenance.v1";
371
+ truncated: boolean;
372
+ containers: {
373
+ kind: "regular" | "init" | "ephemeral";
374
+ name: string;
375
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
376
+ consistency_status: "unknown" | "consistent" | "inconsistent";
377
+ scope?: {
378
+ namespace?: string | undefined;
379
+ workload_name?: string | undefined;
380
+ pod_name?: string | undefined;
381
+ workload_kind?: string | undefined;
382
+ } | undefined;
383
+ requested_image?: string | undefined;
384
+ observed_image?: string | undefined;
385
+ observed_image_id?: string | undefined;
386
+ digest?: string | undefined;
387
+ runtime_identity_reason?: string | undefined;
388
+ consistency_reason?: string | undefined;
389
+ claimed_source?: {
390
+ status: "unavailable" | "unverified";
391
+ scope: "pod_metadata";
392
+ reason?: string | undefined;
393
+ repository?: string | undefined;
394
+ commit_sha?: string | undefined;
395
+ } | undefined;
396
+ }[];
397
+ reason?: "container_limit_exceeded" | undefined;
398
+ containers_omitted?: number | undefined;
399
+ }, {
400
+ truncated: boolean;
401
+ containers: {
402
+ kind: "regular" | "init" | "ephemeral";
403
+ name: string;
404
+ runtime_identity_status: "unavailable" | "verified" | "unverified";
405
+ consistency_status: "unknown" | "consistent" | "inconsistent";
406
+ scope?: {
407
+ namespace?: string | undefined;
408
+ workload_name?: string | undefined;
409
+ pod_name?: string | undefined;
410
+ workload_kind?: string | undefined;
411
+ } | undefined;
412
+ requested_image?: string | undefined;
413
+ observed_image?: string | undefined;
414
+ observed_image_id?: string | undefined;
415
+ digest?: string | undefined;
416
+ runtime_identity_reason?: string | undefined;
417
+ consistency_reason?: string | undefined;
418
+ claimed_source?: {
419
+ status: "unavailable" | "unverified";
420
+ scope: "pod_metadata";
421
+ reason?: string | undefined;
422
+ repository?: string | undefined;
423
+ commit_sha?: string | undefined;
424
+ } | undefined;
425
+ }[];
426
+ version?: "runtime.container-provenance.v1" | undefined;
427
+ reason?: "container_limit_exceeded" | undefined;
428
+ containers_omitted?: number | undefined;
429
+ }>;
430
+ export type RuntimeContainerProvenance = Readonly<z.infer<typeof runtimeContainerProvenanceSchema>>;
431
+ export type RuntimeWorkloadProvenance = Readonly<z.infer<typeof runtimeWorkloadProvenanceSchema>>;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runtimeWorkloadProvenanceSchema = exports.runtimeContainerProvenanceSchema = exports.safeSourceRepositorySchema = exports.claimedSourceStatusSchema = exports.runtimeConsistencyStatusSchema = exports.runtimeIdentityStatusSchema = exports.runtimeContainerKindSchema = exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS = exports.RUNTIME_CONTAINER_PROVENANCE_VERSION = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.RUNTIME_CONTAINER_PROVENANCE_VERSION = 'runtime.container-provenance.v1';
6
+ exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS = {
7
+ containers: 128,
8
+ name: 253,
9
+ image: 2048,
10
+ imageId: 2048,
11
+ digest: 256,
12
+ repository: 2048,
13
+ commitSha: 64,
14
+ reason: 512,
15
+ };
16
+ const optionalReasonSchema = zod_1.z.string().min(1)
17
+ .max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.reason).optional();
18
+ const imageDigestSchema = zod_1.z.string()
19
+ .max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.digest)
20
+ .regex(/^(sha256:[0-9a-f]{64}|sha384:[0-9a-f]{96}|sha512:[0-9a-f]{128})$/, 'digest must be a lowercase sha256, sha384, or sha512 digest with exact length');
21
+ exports.runtimeContainerKindSchema = zod_1.z.enum(['regular', 'init', 'ephemeral']);
22
+ exports.runtimeIdentityStatusSchema = zod_1.z.enum(['verified', 'unverified', 'unavailable']);
23
+ exports.runtimeConsistencyStatusSchema = zod_1.z.enum(['consistent', 'inconsistent', 'unknown']);
24
+ exports.claimedSourceStatusSchema = zod_1.z.enum(['unverified', 'unavailable']);
25
+ exports.safeSourceRepositorySchema = zod_1.z.string()
26
+ .min(1)
27
+ .max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.repository)
28
+ .superRefine((repository, ctx) => {
29
+ let parsed;
30
+ try {
31
+ parsed = new URL(repository);
32
+ }
33
+ catch {
34
+ ctx.addIssue({ code: zod_1.z.ZodIssueCode.custom, message: 'repository must be an absolute HTTPS URL' });
35
+ return;
36
+ }
37
+ const hasRepositoryPath = parsed.pathname.split('/').some((segment) => segment.length > 0);
38
+ if (parsed.protocol !== 'https:'
39
+ || !parsed.hostname
40
+ || parsed.username
41
+ || parsed.password
42
+ || parsed.search
43
+ || parsed.hash
44
+ || !hasRepositoryPath) {
45
+ ctx.addIssue({
46
+ code: zod_1.z.ZodIssueCode.custom,
47
+ message: 'repository must be credential-free HTTPS with a non-root path and no query or fragment',
48
+ });
49
+ }
50
+ });
51
+ exports.runtimeContainerProvenanceSchema = zod_1.z.object({
52
+ name: zod_1.z.string().min(1).max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.name),
53
+ kind: exports.runtimeContainerKindSchema,
54
+ scope: zod_1.z.object({
55
+ namespace: zod_1.z.string().min(1).max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.name).optional(),
56
+ workload_kind: zod_1.z.string().min(1).max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.name).optional(),
57
+ workload_name: zod_1.z.string().min(1).max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.name).optional(),
58
+ pod_name: zod_1.z.string().min(1).max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.name).optional(),
59
+ }).strict().optional(),
60
+ requested_image: zod_1.z.string().min(1).max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.image).optional(),
61
+ observed_image: zod_1.z.string().min(1).max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.image).optional(),
62
+ observed_image_id: zod_1.z.string().min(1).max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.imageId).optional(),
63
+ digest: imageDigestSchema.optional(),
64
+ runtime_identity_status: exports.runtimeIdentityStatusSchema,
65
+ runtime_identity_reason: optionalReasonSchema,
66
+ consistency_status: exports.runtimeConsistencyStatusSchema,
67
+ consistency_reason: optionalReasonSchema,
68
+ claimed_source: zod_1.z.object({
69
+ repository: exports.safeSourceRepositorySchema.optional(),
70
+ commit_sha: zod_1.z.string()
71
+ .regex(/^[0-9a-fA-F]{40}([0-9a-fA-F]{24})?$/, 'commit_sha must be a full SHA-1 or SHA-256')
72
+ .optional(),
73
+ scope: zod_1.z.literal('pod_metadata'),
74
+ status: exports.claimedSourceStatusSchema,
75
+ reason: optionalReasonSchema,
76
+ }).strict().optional(),
77
+ }).strict().superRefine((container, ctx) => {
78
+ if (container.runtime_identity_status === 'verified' && !container.digest) {
79
+ ctx.addIssue({
80
+ code: zod_1.z.ZodIssueCode.custom,
81
+ path: ['digest'],
82
+ message: 'a valid digest is required when runtime_identity_status is verified',
83
+ });
84
+ }
85
+ if (container.runtime_identity_status !== 'verified' && !container.runtime_identity_reason) {
86
+ ctx.addIssue({ code: zod_1.z.ZodIssueCode.custom, path: ['runtime_identity_reason'], message: 'a reason is required when runtime identity is not verified' });
87
+ }
88
+ if (container.consistency_status !== 'consistent' && !container.consistency_reason) {
89
+ ctx.addIssue({ code: zod_1.z.ZodIssueCode.custom, path: ['consistency_reason'], message: 'a reason is required when consistency is not confirmed' });
90
+ }
91
+ const claim = container.claimed_source;
92
+ if (claim?.status === 'unverified' && (!claim.repository || !claim.commit_sha || !claim.reason)) {
93
+ ctx.addIssue({ code: zod_1.z.ZodIssueCode.custom, path: ['claimed_source'], message: 'unverified claimed source requires repository, full commit_sha, and reason' });
94
+ }
95
+ if (claim?.status === 'unavailable' && (claim.repository || claim.commit_sha || !claim.reason)) {
96
+ ctx.addIssue({ code: zod_1.z.ZodIssueCode.custom, path: ['claimed_source'], message: 'unavailable claimed source requires reason and must not contain repository or commit_sha' });
97
+ }
98
+ });
99
+ exports.runtimeWorkloadProvenanceSchema = zod_1.z.object({
100
+ version: zod_1.z.literal(exports.RUNTIME_CONTAINER_PROVENANCE_VERSION)
101
+ .default(exports.RUNTIME_CONTAINER_PROVENANCE_VERSION),
102
+ containers: zod_1.z.array(exports.runtimeContainerProvenanceSchema)
103
+ .max(exports.RUNTIME_CONTAINER_PROVENANCE_LIMITS.containers),
104
+ truncated: zod_1.z.boolean(),
105
+ reason: zod_1.z.literal('container_limit_exceeded').optional(),
106
+ containers_omitted: zod_1.z.number().int().min(1).optional(),
107
+ }).strict().superRefine((provenance, ctx) => {
108
+ if (provenance.truncated && provenance.reason !== 'container_limit_exceeded') {
109
+ ctx.addIssue({
110
+ code: zod_1.z.ZodIssueCode.custom,
111
+ path: ['reason'],
112
+ message: 'reason must be container_limit_exceeded when truncated is true',
113
+ });
114
+ }
115
+ if (!provenance.truncated && (provenance.reason || provenance.containers_omitted)) {
116
+ ctx.addIssue({
117
+ code: zod_1.z.ZodIssueCode.custom,
118
+ path: ['truncated'],
119
+ message: 'truncation metadata is only valid when truncated is true',
120
+ });
121
+ }
122
+ const order = { regular: 0, init: 1, ephemeral: 2 };
123
+ for (let index = 1; index < provenance.containers.length; index += 1) {
124
+ const previous = provenance.containers[index - 1];
125
+ const current = provenance.containers[index];
126
+ if (!previous || !current)
127
+ continue;
128
+ const outOfOrder = order[previous.kind] > order[current.kind]
129
+ || (previous.kind === current.kind && previous.name.localeCompare(current.name) > 0);
130
+ if (outOfOrder) {
131
+ ctx.addIssue({
132
+ code: zod_1.z.ZodIssueCode.custom,
133
+ path: ['containers', index],
134
+ message: 'containers must be sorted by regular/init/ephemeral kind, then name',
135
+ });
136
+ }
137
+ }
138
+ });
139
+ //# sourceMappingURL=runtimeContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeContainer.js","sourceRoot":"","sources":["../../../src/provenance/runtimeContainer.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,5 @@ export { sourceSyncCapabilitySchema, sourceSyncPartialScopeApplySchema, topology
4
4
  export { topologyCorrelationApplyPolicySchema, topologyCorrelationContractFamilySchema, topologyCorrelationContractKeySchema, topologyCorrelationContractRefSchema, topologyCorrelationContractVersionSchema, topologyCorrelationEndpointSpecSchema, topologyCorrelationRelationClassSchema, topologyCorrelationRequiredEndpointSchema, topologyCorrelationRuleMetadataSchema, topologyCorrelationDecisionSchema, topologyCorrelationCandidateSchema, topologyCorrelationSyncVersionSchema, topologyCorrelationApiDecisionSchema, topologyCorrelationApiWarningSchema, topologyCorrelationApiEvidenceRefSchema, topologyCorrelationApiEndpointSchema, topologyCorrelationApiCandidateSchema, topologyCorrelationApiFindingSchema, topologyCorrelationApiRefreshSchema, topologyCorrelationApiDiffSummarySchema, topologyCorrelationApiDiffSchema, topologyCorrelationApiInputScopeSchema, topologyCorrelationApiUnitSpecSchema, topologyCorrelationApiUnitResultSchema, topologyCorrelationDryRunUnitSchema, topologyCorrelationDryRunOptionsSchema, topologyCorrelationDryRunRequestSchema, topologyCorrelationDryRunSummarySchema, topologyCorrelationDryRunResponseSchema, topologyCorrelationApplyRequestSchema, topologyCorrelationApplyUnitSchema, topologyCorrelationApplySummarySchema, topologyCorrelationApplyResponseSchema, } from '../correlation';
5
5
  export { topologyResourceTypeSchema, topologyRelationTypeSchema, } from '../topology';
6
6
  export { credentialSourceEntityTypeSchema, credentialResolutionModeSchema, credentialSourceAccessRefSchema, credentialSourceResultItemSchema, credentialSourceSingleResponseSchema, credentialSourceBulkRequestSchema, credentialSourceBulkResponseSchema, topologyApiErrorCodeSchema, topologyApiErrorEnvelopeSchema, } from '../credential-source';
7
- export { diagnosticCriticalitySchema, nestedTopologyTruncationReasonSchema, nestedTopologyEvidenceSchema, nestedTopologyRelationshipSchema, nestedTopologyNodeSchema, nestedTopologyChildSchema, nestedTopologyLimitsSchema, nestedTopologyStatsSchema, nestedTopologyTruncationSchema, nestedTopologyResponseSchema, topologyReasonCodeSchema, topologyCandidateTargetSchema, topologyPrimaryAnchorSchema, topologyInitializationStateSchema, targetServiceInfoSchema, investigationResourceSchema, relatedServiceInfoSchema, topologyInvestigationContextSchema, topologyBindingHintSchema, topologyBindingHintsSchema, gatewayTopologyContextSchema, } from '../investigation';
7
+ export { diagnosticCriticalitySchema, nestedTopologyTruncationReasonSchema, nestedTopologyEvidenceSchema, nestedTopologyRelationshipSchema, nestedTopologyLimitsSchema, nestedTopologyStatsSchema, nestedTopologyTruncationSchema, nestedTopologyResponseSchema, topologyReasonCodeSchema, topologyCandidateTargetSchema, topologyPrimaryAnchorSchema, topologyInitializationStateSchema, targetServiceInfoSchema, investigationResourceSchema, relatedServiceInfoSchema, topologyInvestigationContextSchema, topologyBindingHintSchema, topologyBindingHintsSchema, topologyProjectionCompatibilitySchema, gatewayTopologyDiagnosticsSchema, gatewayTopologyContextSchema, } from '../investigation';
8
+ export { runtimeContainerKindSchema, runtimeIdentityStatusSchema, runtimeConsistencyStatusSchema, claimedSourceStatusSchema, safeSourceRepositorySchema, runtimeContainerProvenanceSchema, runtimeWorkloadProvenanceSchema, } from '../provenance';
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.topologyCorrelationApiDecisionSchema = exports.topologyCorrelationSyncVersionSchema = exports.topologyCorrelationCandidateSchema = exports.topologyCorrelationDecisionSchema = exports.topologyCorrelationRuleMetadataSchema = exports.topologyCorrelationRequiredEndpointSchema = exports.topologyCorrelationRelationClassSchema = exports.topologyCorrelationEndpointSpecSchema = exports.topologyCorrelationContractVersionSchema = exports.topologyCorrelationContractRefSchema = exports.topologyCorrelationContractKeySchema = exports.topologyCorrelationContractFamilySchema = exports.topologyCorrelationApplyPolicySchema = exports.sourceSyncBatchUnitsResponseSchema = exports.sourceSyncBatchResponseSchema = exports.sourceSyncApplyResponseSchema = exports.sourceSyncApplyRequestSchema = exports.sourceSyncApplySelectionSchema = exports.sourceSyncDryRunResponseSchema = exports.sourceSyncDuplicateSchema = exports.sourceSyncErrorSchema = exports.sourceSyncDryRunSourceResultSchema = exports.sourceSyncSourceSummarySchema = exports.sourceSyncJobSchema = exports.sourceSyncRecordSchema = exports.sourceSyncCapabilitiesResponseSchema = exports.sourceSyncUnitStatusSchema = exports.topologySourceRelationshipCandidateSchema = exports.topologyExistingEntityRefSchema = exports.topologySourceNodeCandidateSchema = exports.topologyAccessRefCandidateSchema = exports.topologyEntitySourceRefCandidateSchema = exports.topologySourceRefStatusSchema = exports.topologySyncWarningSchema = exports.topologySyncWarningSeveritySchema = exports.topologySyncCompletenessSchema = exports.topologySyncCompletenessStatusSchema = exports.topologySyncScopeSchema = exports.topologySyncIntentSchema = exports.topologySyncIntentOptionsSchema = exports.topologySourceIntentSchema = exports.topologySourceIntentIncludeSchema = exports.sourceSyncPartialScopeApplySchema = exports.sourceSyncCapabilitySchema = exports.topologyFamilySchema = exports.integrationTopologyFamilySchema = exports.kubernetesTopologyFamilySchema = exports.awsTopologyFamilySchema = exports.topologyProviderInputSchema = exports.topologyProviderSchema = void 0;
4
- exports.topologyBindingHintSchema = exports.topologyInvestigationContextSchema = exports.relatedServiceInfoSchema = exports.investigationResourceSchema = exports.targetServiceInfoSchema = exports.topologyInitializationStateSchema = exports.topologyPrimaryAnchorSchema = exports.topologyCandidateTargetSchema = exports.topologyReasonCodeSchema = exports.nestedTopologyResponseSchema = exports.nestedTopologyTruncationSchema = exports.nestedTopologyStatsSchema = exports.nestedTopologyLimitsSchema = exports.nestedTopologyChildSchema = exports.nestedTopologyNodeSchema = exports.nestedTopologyRelationshipSchema = exports.nestedTopologyEvidenceSchema = exports.nestedTopologyTruncationReasonSchema = exports.diagnosticCriticalitySchema = exports.topologyApiErrorEnvelopeSchema = exports.topologyApiErrorCodeSchema = exports.credentialSourceBulkResponseSchema = exports.credentialSourceBulkRequestSchema = exports.credentialSourceSingleResponseSchema = exports.credentialSourceResultItemSchema = exports.credentialSourceAccessRefSchema = exports.credentialResolutionModeSchema = exports.credentialSourceEntityTypeSchema = exports.topologyRelationTypeSchema = exports.topologyResourceTypeSchema = exports.topologyCorrelationApplyResponseSchema = exports.topologyCorrelationApplySummarySchema = exports.topologyCorrelationApplyUnitSchema = exports.topologyCorrelationApplyRequestSchema = exports.topologyCorrelationDryRunResponseSchema = exports.topologyCorrelationDryRunSummarySchema = exports.topologyCorrelationDryRunRequestSchema = exports.topologyCorrelationDryRunOptionsSchema = exports.topologyCorrelationDryRunUnitSchema = exports.topologyCorrelationApiUnitResultSchema = exports.topologyCorrelationApiUnitSpecSchema = exports.topologyCorrelationApiInputScopeSchema = exports.topologyCorrelationApiDiffSchema = exports.topologyCorrelationApiDiffSummarySchema = exports.topologyCorrelationApiRefreshSchema = exports.topologyCorrelationApiFindingSchema = exports.topologyCorrelationApiCandidateSchema = exports.topologyCorrelationApiEndpointSchema = exports.topologyCorrelationApiEvidenceRefSchema = exports.topologyCorrelationApiWarningSchema = void 0;
5
- exports.gatewayTopologyContextSchema = exports.topologyBindingHintsSchema = void 0;
4
+ exports.topologyProjectionCompatibilitySchema = exports.topologyBindingHintsSchema = exports.topologyBindingHintSchema = exports.topologyInvestigationContextSchema = exports.relatedServiceInfoSchema = exports.investigationResourceSchema = exports.targetServiceInfoSchema = exports.topologyInitializationStateSchema = exports.topologyPrimaryAnchorSchema = exports.topologyCandidateTargetSchema = exports.topologyReasonCodeSchema = exports.nestedTopologyResponseSchema = exports.nestedTopologyTruncationSchema = exports.nestedTopologyStatsSchema = exports.nestedTopologyLimitsSchema = exports.nestedTopologyRelationshipSchema = exports.nestedTopologyEvidenceSchema = exports.nestedTopologyTruncationReasonSchema = exports.diagnosticCriticalitySchema = exports.topologyApiErrorEnvelopeSchema = exports.topologyApiErrorCodeSchema = exports.credentialSourceBulkResponseSchema = exports.credentialSourceBulkRequestSchema = exports.credentialSourceSingleResponseSchema = exports.credentialSourceResultItemSchema = exports.credentialSourceAccessRefSchema = exports.credentialResolutionModeSchema = exports.credentialSourceEntityTypeSchema = exports.topologyRelationTypeSchema = exports.topologyResourceTypeSchema = exports.topologyCorrelationApplyResponseSchema = exports.topologyCorrelationApplySummarySchema = exports.topologyCorrelationApplyUnitSchema = exports.topologyCorrelationApplyRequestSchema = exports.topologyCorrelationDryRunResponseSchema = exports.topologyCorrelationDryRunSummarySchema = exports.topologyCorrelationDryRunRequestSchema = exports.topologyCorrelationDryRunOptionsSchema = exports.topologyCorrelationDryRunUnitSchema = exports.topologyCorrelationApiUnitResultSchema = exports.topologyCorrelationApiUnitSpecSchema = exports.topologyCorrelationApiInputScopeSchema = exports.topologyCorrelationApiDiffSchema = exports.topologyCorrelationApiDiffSummarySchema = exports.topologyCorrelationApiRefreshSchema = exports.topologyCorrelationApiFindingSchema = exports.topologyCorrelationApiCandidateSchema = exports.topologyCorrelationApiEndpointSchema = exports.topologyCorrelationApiEvidenceRefSchema = exports.topologyCorrelationApiWarningSchema = void 0;
5
+ exports.runtimeWorkloadProvenanceSchema = exports.runtimeContainerProvenanceSchema = exports.safeSourceRepositorySchema = exports.claimedSourceStatusSchema = exports.runtimeConsistencyStatusSchema = exports.runtimeIdentityStatusSchema = exports.runtimeContainerKindSchema = exports.gatewayTopologyContextSchema = exports.gatewayTopologyDiagnosticsSchema = void 0;
6
6
  var providers_1 = require("../providers");
7
7
  Object.defineProperty(exports, "topologyProviderSchema", { enumerable: true, get: function () { return providers_1.topologyProviderSchema; } });
8
8
  Object.defineProperty(exports, "topologyProviderInputSchema", { enumerable: true, get: function () { return providers_1.topologyProviderInputSchema; } });
@@ -95,8 +95,6 @@ Object.defineProperty(exports, "diagnosticCriticalitySchema", { enumerable: true
95
95
  Object.defineProperty(exports, "nestedTopologyTruncationReasonSchema", { enumerable: true, get: function () { return investigation_1.nestedTopologyTruncationReasonSchema; } });
96
96
  Object.defineProperty(exports, "nestedTopologyEvidenceSchema", { enumerable: true, get: function () { return investigation_1.nestedTopologyEvidenceSchema; } });
97
97
  Object.defineProperty(exports, "nestedTopologyRelationshipSchema", { enumerable: true, get: function () { return investigation_1.nestedTopologyRelationshipSchema; } });
98
- Object.defineProperty(exports, "nestedTopologyNodeSchema", { enumerable: true, get: function () { return investigation_1.nestedTopologyNodeSchema; } });
99
- Object.defineProperty(exports, "nestedTopologyChildSchema", { enumerable: true, get: function () { return investigation_1.nestedTopologyChildSchema; } });
100
98
  Object.defineProperty(exports, "nestedTopologyLimitsSchema", { enumerable: true, get: function () { return investigation_1.nestedTopologyLimitsSchema; } });
101
99
  Object.defineProperty(exports, "nestedTopologyStatsSchema", { enumerable: true, get: function () { return investigation_1.nestedTopologyStatsSchema; } });
102
100
  Object.defineProperty(exports, "nestedTopologyTruncationSchema", { enumerable: true, get: function () { return investigation_1.nestedTopologyTruncationSchema; } });
@@ -111,5 +109,15 @@ Object.defineProperty(exports, "relatedServiceInfoSchema", { enumerable: true, g
111
109
  Object.defineProperty(exports, "topologyInvestigationContextSchema", { enumerable: true, get: function () { return investigation_1.topologyInvestigationContextSchema; } });
112
110
  Object.defineProperty(exports, "topologyBindingHintSchema", { enumerable: true, get: function () { return investigation_1.topologyBindingHintSchema; } });
113
111
  Object.defineProperty(exports, "topologyBindingHintsSchema", { enumerable: true, get: function () { return investigation_1.topologyBindingHintsSchema; } });
112
+ Object.defineProperty(exports, "topologyProjectionCompatibilitySchema", { enumerable: true, get: function () { return investigation_1.topologyProjectionCompatibilitySchema; } });
113
+ Object.defineProperty(exports, "gatewayTopologyDiagnosticsSchema", { enumerable: true, get: function () { return investigation_1.gatewayTopologyDiagnosticsSchema; } });
114
114
  Object.defineProperty(exports, "gatewayTopologyContextSchema", { enumerable: true, get: function () { return investigation_1.gatewayTopologyContextSchema; } });
115
+ var provenance_1 = require("../provenance");
116
+ Object.defineProperty(exports, "runtimeContainerKindSchema", { enumerable: true, get: function () { return provenance_1.runtimeContainerKindSchema; } });
117
+ Object.defineProperty(exports, "runtimeIdentityStatusSchema", { enumerable: true, get: function () { return provenance_1.runtimeIdentityStatusSchema; } });
118
+ Object.defineProperty(exports, "runtimeConsistencyStatusSchema", { enumerable: true, get: function () { return provenance_1.runtimeConsistencyStatusSchema; } });
119
+ Object.defineProperty(exports, "claimedSourceStatusSchema", { enumerable: true, get: function () { return provenance_1.claimedSourceStatusSchema; } });
120
+ Object.defineProperty(exports, "safeSourceRepositorySchema", { enumerable: true, get: function () { return provenance_1.safeSourceRepositorySchema; } });
121
+ Object.defineProperty(exports, "runtimeContainerProvenanceSchema", { enumerable: true, get: function () { return provenance_1.runtimeContainerProvenanceSchema; } });
122
+ Object.defineProperty(exports, "runtimeWorkloadProvenanceSchema", { enumerable: true, get: function () { return provenance_1.runtimeWorkloadProvenanceSchema; } });
115
123
  //# sourceMappingURL=index.js.map