@openparser/lineage 1.0.2

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 (67) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/LICENSE +201 -0
  3. package/README.md +211 -0
  4. package/dist/activity.d.ts +74 -0
  5. package/dist/activity.d.ts.map +1 -0
  6. package/dist/approval.d.ts +24 -0
  7. package/dist/approval.d.ts.map +1 -0
  8. package/dist/builder.d.ts +48 -0
  9. package/dist/builder.d.ts.map +1 -0
  10. package/dist/common.d.ts +34 -0
  11. package/dist/common.d.ts.map +1 -0
  12. package/dist/confidence.d.ts +61 -0
  13. package/dist/confidence.d.ts.map +1 -0
  14. package/dist/derivation.d.ts +163 -0
  15. package/dist/derivation.d.ts.map +1 -0
  16. package/dist/document.d.ts +412 -0
  17. package/dist/document.d.ts.map +1 -0
  18. package/dist/entity.d.ts +126 -0
  19. package/dist/entity.d.ts.map +1 -0
  20. package/dist/fields.d.ts +76 -0
  21. package/dist/fields.d.ts.map +1 -0
  22. package/dist/index.d.ts +21 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +870 -0
  25. package/dist/labels.d.ts +11 -0
  26. package/dist/labels.d.ts.map +1 -0
  27. package/dist/profile/grounding.d.ts +34 -0
  28. package/dist/profile/grounding.d.ts.map +1 -0
  29. package/dist/profile/index.d.ts +14 -0
  30. package/dist/profile/index.d.ts.map +1 -0
  31. package/dist/profile/index.js +1298 -0
  32. package/dist/profile/labels.d.ts +10 -0
  33. package/dist/profile/labels.d.ts.map +1 -0
  34. package/dist/profile/recognition.d.ts +70 -0
  35. package/dist/profile/recognition.d.ts.map +1 -0
  36. package/dist/profile/transform-validation.d.ts +250 -0
  37. package/dist/profile/transform-validation.d.ts.map +1 -0
  38. package/dist/prov.d.ts +40 -0
  39. package/dist/prov.d.ts.map +1 -0
  40. package/dist/relation.d.ts +27 -0
  41. package/dist/relation.d.ts.map +1 -0
  42. package/dist/traverse.d.ts +12 -0
  43. package/dist/traverse.d.ts.map +1 -0
  44. package/dist/validate.d.ts +14 -0
  45. package/dist/validate.d.ts.map +1 -0
  46. package/lineage.schema.json +625 -0
  47. package/package.json +71 -0
  48. package/src/activity.ts +65 -0
  49. package/src/approval.ts +28 -0
  50. package/src/builder.ts +129 -0
  51. package/src/common.ts +58 -0
  52. package/src/confidence.ts +72 -0
  53. package/src/derivation.ts +81 -0
  54. package/src/document.ts +82 -0
  55. package/src/entity.ts +87 -0
  56. package/src/fields.ts +163 -0
  57. package/src/index.ts +123 -0
  58. package/src/labels.ts +13 -0
  59. package/src/profile/grounding.ts +74 -0
  60. package/src/profile/index.ts +67 -0
  61. package/src/profile/labels.ts +28 -0
  62. package/src/profile/recognition.ts +149 -0
  63. package/src/profile/transform-validation.ts +1379 -0
  64. package/src/prov.ts +205 -0
  65. package/src/relation.ts +32 -0
  66. package/src/traverse.ts +91 -0
  67. package/src/validate.ts +221 -0
@@ -0,0 +1,412 @@
1
+ import { z } from 'zod';
2
+ import { LineageValidationError } from './validate.js';
3
+ /**
4
+ * Structural Zod schema for a `lineage@1` document (shape only).
5
+ * Use {@link LineageDocumentSchema} or {@link parseLineageDocument} for
6
+ * shape + strict graph validation.
7
+ */
8
+ export declare const LineageDocumentShapeSchema: z.ZodObject<{
9
+ format: z.ZodLiteral<"lineage@1">;
10
+ id: z.ZodOptional<z.ZodString>;
11
+ profiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
12
+ entities: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
13
+ kind: z.ZodEnum<{
14
+ value: "value";
15
+ artifact: "artifact";
16
+ evidence: "evidence";
17
+ decision: "decision";
18
+ collection: "collection";
19
+ }>;
20
+ name: z.ZodOptional<z.ZodString>;
21
+ value: z.ZodOptional<z.ZodJSONSchema>;
22
+ path: z.ZodOptional<z.ZodString>;
23
+ schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
24
+ locator: z.ZodOptional<z.ZodObject<{
25
+ uri: z.ZodString;
26
+ mediaType: z.ZodOptional<z.ZodString>;
27
+ digest: z.ZodOptional<z.ZodObject<{
28
+ algorithm: z.ZodString;
29
+ value: z.ZodString;
30
+ }, z.core.$strict>>;
31
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
32
+ }, z.core.$strict>>;
33
+ selector: z.ZodOptional<z.ZodObject<{
34
+ type: z.ZodString;
35
+ value: z.ZodJSONSchema;
36
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
37
+ }, z.core.$strict>>;
38
+ digest: z.ZodOptional<z.ZodObject<{
39
+ algorithm: z.ZodString;
40
+ value: z.ZodString;
41
+ }, z.core.$strict>>;
42
+ confidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
43
+ score: z.ZodNumber;
44
+ scale: z.ZodObject<{
45
+ min: z.ZodNumber;
46
+ max: z.ZodNumber;
47
+ }, z.core.$strict>;
48
+ kind: z.ZodEnum<{
49
+ reported: "reported";
50
+ derived: "derived";
51
+ assessed: "assessed";
52
+ }>;
53
+ scope: z.ZodString;
54
+ granularity: z.ZodOptional<z.ZodString>;
55
+ calibrated: z.ZodDefault<z.ZodBoolean>;
56
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
57
+ type: z.ZodEnum<{
58
+ agent: "agent";
59
+ entity: "entity";
60
+ activity: "activity";
61
+ }>;
62
+ id: z.ZodString;
63
+ }, z.core.$strict>>>;
64
+ method: z.ZodOptional<z.ZodString>;
65
+ sampleCount: z.ZodOptional<z.ZodNumber>;
66
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
67
+ }, z.core.$strict>>>;
68
+ approvals: z.ZodOptional<z.ZodArray<z.ZodObject<{
69
+ agent: z.ZodString;
70
+ at: z.ZodString;
71
+ note: z.ZodOptional<z.ZodString>;
72
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
73
+ }, z.core.$strict>>>;
74
+ attributions: z.ZodOptional<z.ZodArray<z.ZodObject<{
75
+ agent: z.ZodString;
76
+ role: z.ZodOptional<z.ZodString>;
77
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
78
+ }, z.core.$strict>>>;
79
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
80
+ }, z.core.$strict>>>;
81
+ activities: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
82
+ type: z.ZodString;
83
+ name: z.ZodOptional<z.ZodString>;
84
+ status: z.ZodOptional<z.ZodEnum<{
85
+ scheduled: "scheduled";
86
+ started: "started";
87
+ ended: "ended";
88
+ failed: "failed";
89
+ cancelled: "cancelled";
90
+ }>>;
91
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
92
+ endedAt: z.ZodOptional<z.ZodISODateTime>;
93
+ implementation: z.ZodOptional<z.ZodObject<{
94
+ type: z.ZodOptional<z.ZodString>;
95
+ name: z.ZodOptional<z.ZodString>;
96
+ version: z.ZodOptional<z.ZodString>;
97
+ uri: z.ZodOptional<z.ZodString>;
98
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
99
+ }, z.core.$strict>>;
100
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
101
+ associations: z.ZodOptional<z.ZodArray<z.ZodObject<{
102
+ agent: z.ZodString;
103
+ role: z.ZodOptional<z.ZodString>;
104
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
105
+ }, z.core.$strict>>>;
106
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
107
+ }, z.core.$strict>>>;
108
+ agents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
109
+ type: z.ZodOptional<z.ZodString>;
110
+ name: z.ZodOptional<z.ZodString>;
111
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
112
+ }, z.core.$strict>>>;
113
+ derivations: z.ZodDefault<z.ZodArray<z.ZodObject<{
114
+ id: z.ZodOptional<z.ZodString>;
115
+ output: z.ZodString;
116
+ activity: z.ZodString;
117
+ inputs: z.ZodDefault<z.ZodArray<z.ZodObject<{
118
+ entity: z.ZodString;
119
+ role: z.ZodOptional<z.ZodString>;
120
+ effect: z.ZodDefault<z.ZodEnum<{
121
+ direct: "direct";
122
+ indirect: "indirect";
123
+ }>>;
124
+ confidence: z.ZodOptional<z.ZodObject<{
125
+ score: z.ZodNumber;
126
+ scale: z.ZodObject<{
127
+ min: z.ZodNumber;
128
+ max: z.ZodNumber;
129
+ }, z.core.$strict>;
130
+ kind: z.ZodEnum<{
131
+ reported: "reported";
132
+ derived: "derived";
133
+ assessed: "assessed";
134
+ }>;
135
+ scope: z.ZodString;
136
+ granularity: z.ZodOptional<z.ZodString>;
137
+ calibrated: z.ZodDefault<z.ZodBoolean>;
138
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
139
+ type: z.ZodEnum<{
140
+ agent: "agent";
141
+ entity: "entity";
142
+ activity: "activity";
143
+ }>;
144
+ id: z.ZodString;
145
+ }, z.core.$strict>>>;
146
+ method: z.ZodOptional<z.ZodString>;
147
+ sampleCount: z.ZodOptional<z.ZodNumber>;
148
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
149
+ }, z.core.$strict>>;
150
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
151
+ }, z.core.$strict>>>;
152
+ transformation: z.ZodOptional<z.ZodObject<{
153
+ type: z.ZodOptional<z.ZodString>;
154
+ description: z.ZodOptional<z.ZodString>;
155
+ expression: z.ZodOptional<z.ZodString>;
156
+ masking: z.ZodOptional<z.ZodBoolean>;
157
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
158
+ }, z.core.$strict>>;
159
+ confidence: z.ZodOptional<z.ZodObject<{
160
+ score: z.ZodNumber;
161
+ scale: z.ZodObject<{
162
+ min: z.ZodNumber;
163
+ max: z.ZodNumber;
164
+ }, z.core.$strict>;
165
+ kind: z.ZodEnum<{
166
+ reported: "reported";
167
+ derived: "derived";
168
+ assessed: "assessed";
169
+ }>;
170
+ scope: z.ZodString;
171
+ granularity: z.ZodOptional<z.ZodString>;
172
+ calibrated: z.ZodDefault<z.ZodBoolean>;
173
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
174
+ type: z.ZodEnum<{
175
+ agent: "agent";
176
+ entity: "entity";
177
+ activity: "activity";
178
+ }>;
179
+ id: z.ZodString;
180
+ }, z.core.$strict>>>;
181
+ method: z.ZodOptional<z.ZodString>;
182
+ sampleCount: z.ZodOptional<z.ZodNumber>;
183
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
184
+ }, z.core.$strict>>;
185
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
186
+ }, z.core.$strict>>>;
187
+ relations: z.ZodDefault<z.ZodArray<z.ZodObject<{
188
+ type: z.ZodEnum<{
189
+ member_of: "member_of";
190
+ specialization_of: "specialization_of";
191
+ alternate_of: "alternate_of";
192
+ }>;
193
+ source: z.ZodString;
194
+ target: z.ZodString;
195
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
196
+ }, z.core.$strict>>>;
197
+ outputs: z.ZodDefault<z.ZodArray<z.ZodString>>;
198
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
199
+ }, z.core.$strict>;
200
+ export type LineageDocument = z.infer<typeof LineageDocumentShapeSchema>;
201
+ /**
202
+ * Parse and strictly validate a lineage document (shape + graph invariants).
203
+ */
204
+ export declare function parseLineageDocument(input: unknown): LineageDocument;
205
+ /**
206
+ * Safe parse with Zod issues and/or graph validation errors.
207
+ */
208
+ export declare function safeParseLineageDocument(input: unknown): {
209
+ success: true;
210
+ data: LineageDocument;
211
+ } | {
212
+ success: false;
213
+ error: z.ZodError | LineageValidationError;
214
+ };
215
+ /**
216
+ * Zod schema that applies graph validation via `superRefine`. Prefer
217
+ * {@link parseLineageDocument} when you want thrown `LineageValidationError`
218
+ * with structured issue lists.
219
+ */
220
+ export declare const LineageDocumentSchema: z.ZodObject<{
221
+ format: z.ZodLiteral<"lineage@1">;
222
+ id: z.ZodOptional<z.ZodString>;
223
+ profiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
224
+ entities: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
225
+ kind: z.ZodEnum<{
226
+ value: "value";
227
+ artifact: "artifact";
228
+ evidence: "evidence";
229
+ decision: "decision";
230
+ collection: "collection";
231
+ }>;
232
+ name: z.ZodOptional<z.ZodString>;
233
+ value: z.ZodOptional<z.ZodJSONSchema>;
234
+ path: z.ZodOptional<z.ZodString>;
235
+ schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
236
+ locator: z.ZodOptional<z.ZodObject<{
237
+ uri: z.ZodString;
238
+ mediaType: z.ZodOptional<z.ZodString>;
239
+ digest: z.ZodOptional<z.ZodObject<{
240
+ algorithm: z.ZodString;
241
+ value: z.ZodString;
242
+ }, z.core.$strict>>;
243
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
244
+ }, z.core.$strict>>;
245
+ selector: z.ZodOptional<z.ZodObject<{
246
+ type: z.ZodString;
247
+ value: z.ZodJSONSchema;
248
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
249
+ }, z.core.$strict>>;
250
+ digest: z.ZodOptional<z.ZodObject<{
251
+ algorithm: z.ZodString;
252
+ value: z.ZodString;
253
+ }, z.core.$strict>>;
254
+ confidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
255
+ score: z.ZodNumber;
256
+ scale: z.ZodObject<{
257
+ min: z.ZodNumber;
258
+ max: z.ZodNumber;
259
+ }, z.core.$strict>;
260
+ kind: z.ZodEnum<{
261
+ reported: "reported";
262
+ derived: "derived";
263
+ assessed: "assessed";
264
+ }>;
265
+ scope: z.ZodString;
266
+ granularity: z.ZodOptional<z.ZodString>;
267
+ calibrated: z.ZodDefault<z.ZodBoolean>;
268
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
269
+ type: z.ZodEnum<{
270
+ agent: "agent";
271
+ entity: "entity";
272
+ activity: "activity";
273
+ }>;
274
+ id: z.ZodString;
275
+ }, z.core.$strict>>>;
276
+ method: z.ZodOptional<z.ZodString>;
277
+ sampleCount: z.ZodOptional<z.ZodNumber>;
278
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
279
+ }, z.core.$strict>>>;
280
+ approvals: z.ZodOptional<z.ZodArray<z.ZodObject<{
281
+ agent: z.ZodString;
282
+ at: z.ZodString;
283
+ note: z.ZodOptional<z.ZodString>;
284
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
285
+ }, z.core.$strict>>>;
286
+ attributions: z.ZodOptional<z.ZodArray<z.ZodObject<{
287
+ agent: z.ZodString;
288
+ role: z.ZodOptional<z.ZodString>;
289
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
290
+ }, z.core.$strict>>>;
291
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
292
+ }, z.core.$strict>>>;
293
+ activities: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
294
+ type: z.ZodString;
295
+ name: z.ZodOptional<z.ZodString>;
296
+ status: z.ZodOptional<z.ZodEnum<{
297
+ scheduled: "scheduled";
298
+ started: "started";
299
+ ended: "ended";
300
+ failed: "failed";
301
+ cancelled: "cancelled";
302
+ }>>;
303
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
304
+ endedAt: z.ZodOptional<z.ZodISODateTime>;
305
+ implementation: z.ZodOptional<z.ZodObject<{
306
+ type: z.ZodOptional<z.ZodString>;
307
+ name: z.ZodOptional<z.ZodString>;
308
+ version: z.ZodOptional<z.ZodString>;
309
+ uri: z.ZodOptional<z.ZodString>;
310
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
311
+ }, z.core.$strict>>;
312
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
313
+ associations: z.ZodOptional<z.ZodArray<z.ZodObject<{
314
+ agent: z.ZodString;
315
+ role: z.ZodOptional<z.ZodString>;
316
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
317
+ }, z.core.$strict>>>;
318
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
319
+ }, z.core.$strict>>>;
320
+ agents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
321
+ type: z.ZodOptional<z.ZodString>;
322
+ name: z.ZodOptional<z.ZodString>;
323
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
324
+ }, z.core.$strict>>>;
325
+ derivations: z.ZodDefault<z.ZodArray<z.ZodObject<{
326
+ id: z.ZodOptional<z.ZodString>;
327
+ output: z.ZodString;
328
+ activity: z.ZodString;
329
+ inputs: z.ZodDefault<z.ZodArray<z.ZodObject<{
330
+ entity: z.ZodString;
331
+ role: z.ZodOptional<z.ZodString>;
332
+ effect: z.ZodDefault<z.ZodEnum<{
333
+ direct: "direct";
334
+ indirect: "indirect";
335
+ }>>;
336
+ confidence: z.ZodOptional<z.ZodObject<{
337
+ score: z.ZodNumber;
338
+ scale: z.ZodObject<{
339
+ min: z.ZodNumber;
340
+ max: z.ZodNumber;
341
+ }, z.core.$strict>;
342
+ kind: z.ZodEnum<{
343
+ reported: "reported";
344
+ derived: "derived";
345
+ assessed: "assessed";
346
+ }>;
347
+ scope: z.ZodString;
348
+ granularity: z.ZodOptional<z.ZodString>;
349
+ calibrated: z.ZodDefault<z.ZodBoolean>;
350
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
351
+ type: z.ZodEnum<{
352
+ agent: "agent";
353
+ entity: "entity";
354
+ activity: "activity";
355
+ }>;
356
+ id: z.ZodString;
357
+ }, z.core.$strict>>>;
358
+ method: z.ZodOptional<z.ZodString>;
359
+ sampleCount: z.ZodOptional<z.ZodNumber>;
360
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
361
+ }, z.core.$strict>>;
362
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
363
+ }, z.core.$strict>>>;
364
+ transformation: z.ZodOptional<z.ZodObject<{
365
+ type: z.ZodOptional<z.ZodString>;
366
+ description: z.ZodOptional<z.ZodString>;
367
+ expression: z.ZodOptional<z.ZodString>;
368
+ masking: z.ZodOptional<z.ZodBoolean>;
369
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
370
+ }, z.core.$strict>>;
371
+ confidence: z.ZodOptional<z.ZodObject<{
372
+ score: z.ZodNumber;
373
+ scale: z.ZodObject<{
374
+ min: z.ZodNumber;
375
+ max: z.ZodNumber;
376
+ }, z.core.$strict>;
377
+ kind: z.ZodEnum<{
378
+ reported: "reported";
379
+ derived: "derived";
380
+ assessed: "assessed";
381
+ }>;
382
+ scope: z.ZodString;
383
+ granularity: z.ZodOptional<z.ZodString>;
384
+ calibrated: z.ZodDefault<z.ZodBoolean>;
385
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
386
+ type: z.ZodEnum<{
387
+ agent: "agent";
388
+ entity: "entity";
389
+ activity: "activity";
390
+ }>;
391
+ id: z.ZodString;
392
+ }, z.core.$strict>>>;
393
+ method: z.ZodOptional<z.ZodString>;
394
+ sampleCount: z.ZodOptional<z.ZodNumber>;
395
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
396
+ }, z.core.$strict>>;
397
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
398
+ }, z.core.$strict>>>;
399
+ relations: z.ZodDefault<z.ZodArray<z.ZodObject<{
400
+ type: z.ZodEnum<{
401
+ member_of: "member_of";
402
+ specialization_of: "specialization_of";
403
+ alternate_of: "alternate_of";
404
+ }>;
405
+ source: z.ZodString;
406
+ target: z.ZodString;
407
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
408
+ }, z.core.$strict>>>;
409
+ outputs: z.ZodDefault<z.ZodArray<z.ZodString>>;
410
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
411
+ }, z.core.$strict>;
412
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAAE,sBAAsB,EAAwB,MAAM,YAAY,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAe5B,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEzE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAIpE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,GAEZ;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GACxC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,sBAAsB,CAAA;CAAE,CAcjE;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAYhC,CAAC"}
@@ -0,0 +1,126 @@
1
+ import { z } from 'zod';
2
+ /** How an agent relates to an entity (PROV wasAttributedTo). */
3
+ export declare const AttributionSchema: z.ZodObject<{
4
+ agent: z.ZodString;
5
+ role: z.ZodOptional<z.ZodString>;
6
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
7
+ }, z.core.$strict>;
8
+ export type Attribution = z.infer<typeof AttributionSchema>;
9
+ /**
10
+ * Content-addressing digest for artifacts or values when a cryptographic
11
+ * fingerprint is available.
12
+ */
13
+ export declare const DigestSchema: z.ZodObject<{
14
+ algorithm: z.ZodString;
15
+ value: z.ZodString;
16
+ }, z.core.$strict>;
17
+ export type Digest = z.infer<typeof DigestSchema>;
18
+ /**
19
+ * External location of an artifact (URI, media type, optional integrity).
20
+ */
21
+ export declare const LocatorSchema: z.ZodObject<{
22
+ uri: z.ZodString;
23
+ mediaType: z.ZodOptional<z.ZodString>;
24
+ digest: z.ZodOptional<z.ZodObject<{
25
+ algorithm: z.ZodString;
26
+ value: z.ZodString;
27
+ }, z.core.$strict>>;
28
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
29
+ }, z.core.$strict>;
30
+ export type Locator = z.infer<typeof LocatorSchema>;
31
+ /**
32
+ * Sub-resource selector within a located artifact (JSON Pointer, XPath,
33
+ * page/region, byte range, etc.). `type` is open for profiles.
34
+ */
35
+ export declare const SelectorSchema: z.ZodObject<{
36
+ type: z.ZodString;
37
+ value: z.ZodJSONSchema;
38
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
39
+ }, z.core.$strict>;
40
+ export type Selector = z.infer<typeof SelectorSchema>;
41
+ export declare const ENTITY_KINDS: readonly ["value", "artifact", "evidence", "decision", "collection"];
42
+ export declare const EntityKindSchema: z.ZodEnum<{
43
+ value: "value";
44
+ artifact: "artifact";
45
+ evidence: "evidence";
46
+ decision: "decision";
47
+ collection: "collection";
48
+ }>;
49
+ export type EntityKind = z.infer<typeof EntityKindSchema>;
50
+ /**
51
+ * A node in the derivation DAG: data value, file/blob, supporting evidence,
52
+ * a decision outcome, or a collection of other entities.
53
+ *
54
+ * Map keys in `LineageDocument.entities` are the authoritative entity ids.
55
+ */
56
+ export declare const EntitySchema: z.ZodObject<{
57
+ kind: z.ZodEnum<{
58
+ value: "value";
59
+ artifact: "artifact";
60
+ evidence: "evidence";
61
+ decision: "decision";
62
+ collection: "collection";
63
+ }>;
64
+ name: z.ZodOptional<z.ZodString>;
65
+ value: z.ZodOptional<z.ZodJSONSchema>;
66
+ path: z.ZodOptional<z.ZodString>;
67
+ schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
68
+ locator: z.ZodOptional<z.ZodObject<{
69
+ uri: z.ZodString;
70
+ mediaType: z.ZodOptional<z.ZodString>;
71
+ digest: z.ZodOptional<z.ZodObject<{
72
+ algorithm: z.ZodString;
73
+ value: z.ZodString;
74
+ }, z.core.$strict>>;
75
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
76
+ }, z.core.$strict>>;
77
+ selector: z.ZodOptional<z.ZodObject<{
78
+ type: z.ZodString;
79
+ value: z.ZodJSONSchema;
80
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
81
+ }, z.core.$strict>>;
82
+ digest: z.ZodOptional<z.ZodObject<{
83
+ algorithm: z.ZodString;
84
+ value: z.ZodString;
85
+ }, z.core.$strict>>;
86
+ confidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
87
+ score: z.ZodNumber;
88
+ scale: z.ZodObject<{
89
+ min: z.ZodNumber;
90
+ max: z.ZodNumber;
91
+ }, z.core.$strict>;
92
+ kind: z.ZodEnum<{
93
+ reported: "reported";
94
+ derived: "derived";
95
+ assessed: "assessed";
96
+ }>;
97
+ scope: z.ZodString;
98
+ granularity: z.ZodOptional<z.ZodString>;
99
+ calibrated: z.ZodDefault<z.ZodBoolean>;
100
+ sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
101
+ type: z.ZodEnum<{
102
+ agent: "agent";
103
+ entity: "entity";
104
+ activity: "activity";
105
+ }>;
106
+ id: z.ZodString;
107
+ }, z.core.$strict>>>;
108
+ method: z.ZodOptional<z.ZodString>;
109
+ sampleCount: z.ZodOptional<z.ZodNumber>;
110
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
111
+ }, z.core.$strict>>>;
112
+ approvals: z.ZodOptional<z.ZodArray<z.ZodObject<{
113
+ agent: z.ZodString;
114
+ at: z.ZodString;
115
+ note: z.ZodOptional<z.ZodString>;
116
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
117
+ }, z.core.$strict>>>;
118
+ attributions: z.ZodOptional<z.ZodArray<z.ZodObject<{
119
+ agent: z.ZodString;
120
+ role: z.ZodOptional<z.ZodString>;
121
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
122
+ }, z.core.$strict>>>;
123
+ attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
124
+ }, z.core.$strict>;
125
+ export type Entity = z.infer<typeof EntitySchema>;
126
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,gEAAgE;AAChE,eAAO,MAAM,iBAAiB;;;;kBAMnB,CAAC;AACZ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,YAAY;;;kBAKd,CAAC;AACZ,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;kBAOf,CAAC;AACZ,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;kBAMhB,CAAC;AACZ,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,YAAY,sEAAuE,CAAC;AACjG,eAAO,MAAM,gBAAgB;;;;;;EAAuB,CAAC;AACrD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAsBd,CAAC;AACZ,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -0,0 +1,76 @@
1
+ import type { JsonValue } from './common.js';
2
+ import type { ConfidenceAssertion, ConfidenceKind } from './confidence.js';
3
+ import type { LineageDocument } from './document.js';
4
+ import type { Entity } from './entity.js';
5
+ /** How a field's confidence came about, or that none was asserted at all. */
6
+ export type ConfidenceOrigin = ConfidenceKind | 'not_reported';
7
+ export type LineageField = {
8
+ id: string;
9
+ pointer: string;
10
+ /**
11
+ * Display-only dotted rendering of `pointer`. Lossy: a property whose name
12
+ * contains a dot is indistinguishable from nesting. Use `pointer` as the key.
13
+ */
14
+ dottedPath: string;
15
+ value: JsonValue | undefined;
16
+ confidence: ConfidenceAssertion | undefined;
17
+ confidenceOrigin: ConfidenceOrigin;
18
+ entity: Entity;
19
+ };
20
+ export type LineageFieldTrace = {
21
+ field: LineageField;
22
+ evidence: Array<{
23
+ id: string;
24
+ entity: Entity;
25
+ }>;
26
+ activities: string[];
27
+ };
28
+ /**
29
+ * RFC 6901 pointer to dotted display path, unescaping `~1` and `~0`.
30
+ *
31
+ * Display only. A property whose name contains a dot is indistinguishable from
32
+ * nesting, so never use the result as a key.
33
+ */
34
+ export declare function dottedPathFromPointer(pointer: string): string;
35
+ /**
36
+ * Dotted display path back to an RFC 6901 pointer, escaping `~` and `/`.
37
+ *
38
+ * Only sound for paths `dottedPathFromPointer` could have produced: a property
39
+ * name containing a dot round-trips as nesting. Prefer carrying the pointer.
40
+ */
41
+ export declare function pointerFromDottedPath(dottedPath: string): string;
42
+ /**
43
+ * The entity holding a field's current value at `pointer`.
44
+ *
45
+ * Precedence is explicit and does not use `Object.entries` insertion order:
46
+ * 1. An entity at that path listed in `doc.outputs` — after review, `outputs`
47
+ * is the current field set (plus a root snapshot / completion decision,
48
+ * which do not share field paths). If several outputs match, the earliest
49
+ * in `doc.outputs` wins.
50
+ * 2. Otherwise a `kind: 'decision'` entity at that path (the producer-settled
51
+ * value on documents that never went through review). If several decisions
52
+ * match, the lexicographically smallest id wins.
53
+ * 3. Otherwise the lexicographically smallest id among remaining matches.
54
+ *
55
+ * `path` is the only field locator, so this is the single supported way to go
56
+ * from a pointer to an entity id — ids themselves are not a stable contract.
57
+ */
58
+ export declare function fieldEntityByPointer(doc: LineageDocument, pointer: string): {
59
+ id: string;
60
+ entity: Entity;
61
+ } | undefined;
62
+ /** Output field entities as fields, in `doc.outputs` order.
63
+ *
64
+ * Whole-document snapshots (`path === ''`) and other pathless outputs are
65
+ * omitted — they are the whole result (or a run-level decision), not a field.
66
+ */
67
+ export declare function fields(doc: LineageDocument): LineageField[];
68
+ /**
69
+ * Trace a field by JSON Pointer, including upstream evidence and activities.
70
+ *
71
+ * Whether that evidence is *sufficient* is a question for whoever produced the
72
+ * document, since it turns on their own attributes; see the OpenParser profile
73
+ * for one answer.
74
+ */
75
+ export declare function fieldTrace(doc: LineageDocument, pointer: string): LineageFieldTrace | undefined;
76
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,6EAA6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,cAAc,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC5C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAcF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,MAAM,GACd;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAe5C;AAgBD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,YAAY,EAAE,CAS3D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAmB/F"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Public `@openparser/lineage` surface for `lineage@1` complete data-derivation DAGs.
3
+ *
4
+ * Provider- and domain-agnostic provenance documents grounded in W3C PROV-DM
5
+ * semantics with ergonomic JSON. Root export only — no subpath exports.
6
+ */
7
+ export { ACTIVITY_STATUSES, ActivitySchema, ActivityStatusSchema, AgentSchema, AssociationSchema, ImplementationSchema, type Activity, type ActivityStatus, type Agent, type Association, type Implementation, } from './activity.js';
8
+ export { ApprovalAssertionSchema, type ApprovalAssertion } from './approval.js';
9
+ export { LineageBuilder } from './builder.js';
10
+ export { AttributesSchema, JsonPointerSchema, JsonValueSchema, LINEAGE_FORMAT, LineageFormatSchema, LineageIdSchema, TimestampSchema, jsonValuesEqual, type Attributes, type JsonPointer, type JsonValue, type LineageFormat, type LineageId, type Timestamp, } from './common.js';
11
+ export { CONFIDENCE_KINDS, ConfidenceAssertionSchema, ConfidenceKindSchema, ConfidenceScaleSchema, ConfidenceSourceSchema, type ConfidenceAssertion, type ConfidenceKind, type ConfidenceScale, type ConfidenceSource, } from './confidence.js';
12
+ export { DERIVATION_EFFECTS, DerivationEffectSchema, DerivationInputSchema, DerivationSchema, MAX_DERIVATION_INPUTS, TransformationSchema, derivationId, type Derivation, type DerivationEffect, type DerivationInput, type Transformation, } from './derivation.js';
13
+ export { LineageDocumentSchema, LineageDocumentShapeSchema, parseLineageDocument, safeParseLineageDocument, type LineageDocument, } from './document.js';
14
+ export { AttributionSchema, DigestSchema, ENTITY_KINDS, EntityKindSchema, EntitySchema, LocatorSchema, SelectorSchema, type Attribution, type Digest, type Entity, type EntityKind, type Locator, type Selector, } from './entity.js';
15
+ export { LINEAGE_PROV_NAMESPACE, lineageIdToProvQualifiedName, toProvJson, type ProvJsonDocument, } from './prov.js';
16
+ export { RELATION_TYPES, RelationSchema, RelationTypeSchema, type Relation, type RelationType, } from './relation.js';
17
+ export { dottedPathFromPointer, fieldEntityByPointer, fieldTrace, fields, pointerFromDottedPath, type ConfidenceOrigin, type LineageField, type LineageFieldTrace, } from './fields.js';
18
+ export { activityLabel } from './labels.js';
19
+ export { entityAncestors, entityDescendants, topologicalEntityOrder } from './traverse.js';
20
+ export { LineageValidationError, validateLineageGraph } from './validate.js';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,eAAe,EACf,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,GACf,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,QAAQ,GACd,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,UAAU,EACV,KAAK,gBAAgB,GACtB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,KAAK,QAAQ,EACb,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,MAAM,EACN,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAExF,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}