@coldtea/pr-lens-schema 0.1.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 (93) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +150 -0
  3. package/dist/apply.d.ts +42 -0
  4. package/dist/apply.d.ts.map +1 -0
  5. package/dist/apply.js +315 -0
  6. package/dist/apply.js.map +1 -0
  7. package/dist/config.d.ts +58 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +61 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/errors.d.ts +24 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +12 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/examples/baseline.d.ts +18 -0
  16. package/dist/examples/baseline.d.ts.map +1 -0
  17. package/dist/examples/baseline.js +433 -0
  18. package/dist/examples/baseline.js.map +1 -0
  19. package/dist/examples/index.d.ts +1194 -0
  20. package/dist/examples/index.d.ts.map +1 -0
  21. package/dist/examples/index.js +20 -0
  22. package/dist/examples/index.js.map +1 -0
  23. package/dist/examples/minimal.d.ts +4 -0
  24. package/dist/examples/minimal.d.ts.map +1 -0
  25. package/dist/examples/minimal.js +25 -0
  26. package/dist/examples/minimal.js.map +1 -0
  27. package/dist/examples/postmark-refactor.d.ts +16 -0
  28. package/dist/examples/postmark-refactor.d.ts.map +1 -0
  29. package/dist/examples/postmark-refactor.js +468 -0
  30. package/dist/examples/postmark-refactor.js.map +1 -0
  31. package/dist/graph.d.ts +568 -0
  32. package/dist/graph.d.ts.map +1 -0
  33. package/dist/graph.js +266 -0
  34. package/dist/graph.js.map +1 -0
  35. package/dist/index.d.ts +12 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +12 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/integrity.d.ts +20 -0
  40. package/dist/integrity.d.ts.map +1 -0
  41. package/dist/integrity.js +167 -0
  42. package/dist/integrity.js.map +1 -0
  43. package/dist/manifest.d.ts +65 -0
  44. package/dist/manifest.d.ts.map +1 -0
  45. package/dist/manifest.js +60 -0
  46. package/dist/manifest.js.map +1 -0
  47. package/dist/patch.d.ts +824 -0
  48. package/dist/patch.d.ts.map +1 -0
  49. package/dist/patch.js +84 -0
  50. package/dist/patch.js.map +1 -0
  51. package/dist/primitives.d.ts +92 -0
  52. package/dist/primitives.d.ts.map +1 -0
  53. package/dist/primitives.js +120 -0
  54. package/dist/primitives.js.map +1 -0
  55. package/dist/utils.d.ts +6 -0
  56. package/dist/utils.d.ts.map +1 -0
  57. package/dist/utils.js +8 -0
  58. package/dist/utils.js.map +1 -0
  59. package/dist/validate.d.ts +18 -0
  60. package/dist/validate.d.ts.map +1 -0
  61. package/dist/validate.js +95 -0
  62. package/dist/validate.js.map +1 -0
  63. package/dist/version.d.ts +21 -0
  64. package/dist/version.d.ts.map +1 -0
  65. package/dist/version.js +24 -0
  66. package/dist/version.js.map +1 -0
  67. package/examples/broadcast-baseline.graph.json +289 -0
  68. package/examples/broadcast-baseline.patch.json +321 -0
  69. package/examples/minimal.graph.json +45 -0
  70. package/examples/postmark-refactor.graph.json +580 -0
  71. package/examples/postmark-refactor.render-manifest.json +67 -0
  72. package/examples/pr-lens.config.json +32 -0
  73. package/json-schema/config.schema.json +153 -0
  74. package/json-schema/graph-doc.schema.json +1032 -0
  75. package/json-schema/patch-doc.schema.json +1383 -0
  76. package/json-schema/render-manifest.schema.json +183 -0
  77. package/package.json +66 -0
  78. package/src/apply.ts +399 -0
  79. package/src/config.ts +69 -0
  80. package/src/errors.ts +34 -0
  81. package/src/examples/baseline.ts +437 -0
  82. package/src/examples/index.ts +25 -0
  83. package/src/examples/minimal.ts +26 -0
  84. package/src/examples/postmark-refactor.ts +480 -0
  85. package/src/graph.ts +331 -0
  86. package/src/index.ts +82 -0
  87. package/src/integrity.ts +216 -0
  88. package/src/manifest.ts +64 -0
  89. package/src/patch.ts +100 -0
  90. package/src/primitives.ts +146 -0
  91. package/src/utils.ts +7 -0
  92. package/src/validate.ts +132 -0
  93. package/src/version.ts +31 -0
@@ -0,0 +1,824 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Update payloads are the element minus its id: a patch never renames the
4
+ * thing it addresses. Every field is optional and only the supplied fields
5
+ * are written, so two producers can patch different facets of one element
6
+ * without clobbering each other.
7
+ */
8
+ export declare const LanePatch: z.ZodObject<{
9
+ label: z.ZodOptional<z.ZodString>;
10
+ subtitle: z.ZodOptional<z.ZodOptional<z.ZodString>>;
11
+ order: z.ZodOptional<z.ZodOptional<z.ZodInt>>;
12
+ delta: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
13
+ added: "added";
14
+ modified: "modified";
15
+ removed: "removed";
16
+ unchanged: "unchanged";
17
+ }>>>;
18
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
19
+ }, z.core.$strict>;
20
+ export declare const NodePatch: z.ZodObject<{
21
+ label: z.ZodOptional<z.ZodString>;
22
+ kind: z.ZodOptional<z.ZodEnum<{
23
+ app: "app";
24
+ cache: "cache";
25
+ config: "config";
26
+ datastore: "datastore";
27
+ external: "external";
28
+ function: "function";
29
+ job: "job";
30
+ module: "module";
31
+ other: "other";
32
+ package: "package";
33
+ queue: "queue";
34
+ route: "route";
35
+ service: "service";
36
+ test: "test";
37
+ ui: "ui";
38
+ }>>;
39
+ delta: z.ZodOptional<z.ZodEnum<{
40
+ added: "added";
41
+ modified: "modified";
42
+ removed: "removed";
43
+ unchanged: "unchanged";
44
+ }>>;
45
+ lane: z.ZodOptional<z.ZodString>;
46
+ group: z.ZodOptional<z.ZodOptional<z.ZodString>>;
47
+ subtitle: z.ZodOptional<z.ZodOptional<z.ZodString>>;
48
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
49
+ files: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
50
+ path: z.ZodString;
51
+ startLine: z.ZodOptional<z.ZodInt>;
52
+ endLine: z.ZodOptional<z.ZodInt>;
53
+ revision: z.ZodOptional<z.ZodEnum<{
54
+ base: "base";
55
+ head: "head";
56
+ }>>;
57
+ }, z.core.$strict>>>>;
58
+ badges: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
59
+ }, z.core.$strict>;
60
+ export declare const EdgePatch: z.ZodObject<{
61
+ from: z.ZodOptional<z.ZodString>;
62
+ to: z.ZodOptional<z.ZodString>;
63
+ kind: z.ZodOptional<z.ZodEnum<{
64
+ call: "call";
65
+ data: "data";
66
+ dependency: "dependency";
67
+ event: "event";
68
+ http: "http";
69
+ other: "other";
70
+ queue: "queue";
71
+ render: "render";
72
+ rpc: "rpc";
73
+ }>>;
74
+ delta: z.ZodOptional<z.ZodEnum<{
75
+ added: "added";
76
+ modified: "modified";
77
+ removed: "removed";
78
+ unchanged: "unchanged";
79
+ }>>;
80
+ label: z.ZodOptional<z.ZodOptional<z.ZodString>>;
81
+ emphasis: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
82
+ hero: "hero";
83
+ muted: "muted";
84
+ normal: "normal";
85
+ }>>>;
86
+ animated: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
87
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
88
+ files: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
89
+ path: z.ZodString;
90
+ startLine: z.ZodOptional<z.ZodInt>;
91
+ endLine: z.ZodOptional<z.ZodInt>;
92
+ revision: z.ZodOptional<z.ZodEnum<{
93
+ base: "base";
94
+ head: "head";
95
+ }>>;
96
+ }, z.core.$strict>>>>;
97
+ }, z.core.$strict>;
98
+ export declare const FlowPatch: z.ZodObject<{
99
+ title: z.ZodOptional<z.ZodString>;
100
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
101
+ delta: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
102
+ added: "added";
103
+ modified: "modified";
104
+ removed: "removed";
105
+ unchanged: "unchanged";
106
+ }>>>;
107
+ participants: z.ZodOptional<z.ZodArray<z.ZodObject<{
108
+ node: z.ZodString;
109
+ label: z.ZodOptional<z.ZodString>;
110
+ }, z.core.$strict>>>;
111
+ messages: z.ZodOptional<z.ZodArray<z.ZodObject<{
112
+ id: z.ZodString;
113
+ from: z.ZodString;
114
+ to: z.ZodString;
115
+ label: z.ZodString;
116
+ kind: z.ZodDefault<z.ZodEnum<{
117
+ async: "async";
118
+ return: "return";
119
+ self: "self";
120
+ sync: "sync";
121
+ }>>;
122
+ delta: z.ZodEnum<{
123
+ added: "added";
124
+ modified: "modified";
125
+ removed: "removed";
126
+ unchanged: "unchanged";
127
+ }>;
128
+ animated: z.ZodDefault<z.ZodBoolean>;
129
+ repeat: z.ZodOptional<z.ZodInt>;
130
+ note: z.ZodOptional<z.ZodString>;
131
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
132
+ path: z.ZodString;
133
+ startLine: z.ZodOptional<z.ZodInt>;
134
+ endLine: z.ZodOptional<z.ZodInt>;
135
+ revision: z.ZodOptional<z.ZodEnum<{
136
+ base: "base";
137
+ head: "head";
138
+ }>>;
139
+ }, z.core.$strict>>>;
140
+ }, z.core.$strict>>>;
141
+ }, z.core.$strict>;
142
+ /**
143
+ * Operations that evolve a stored graph — in practice the baseline map, which
144
+ * is updated by each merged pull request rather than re-extracted wholesale.
145
+ *
146
+ * `remove_*` deletes the element from the map. That is a different statement
147
+ * from `delta: "removed"`, which says an element still exists in the map but
148
+ * is being deleted by the change under review.
149
+ */
150
+ export declare const PatchOp: z.ZodDiscriminatedUnion<[z.ZodObject<{
151
+ op: z.ZodLiteral<"add_lane">;
152
+ lane: z.ZodObject<{
153
+ id: z.ZodString;
154
+ label: z.ZodString;
155
+ subtitle: z.ZodOptional<z.ZodString>;
156
+ order: z.ZodOptional<z.ZodInt>;
157
+ delta: z.ZodOptional<z.ZodEnum<{
158
+ added: "added";
159
+ modified: "modified";
160
+ removed: "removed";
161
+ unchanged: "unchanged";
162
+ }>>;
163
+ summary: z.ZodOptional<z.ZodString>;
164
+ }, z.core.$strict>;
165
+ }, z.core.$strict>, z.ZodObject<{
166
+ op: z.ZodLiteral<"update_lane">;
167
+ id: z.ZodString;
168
+ patch: z.ZodObject<{
169
+ label: z.ZodOptional<z.ZodString>;
170
+ subtitle: z.ZodOptional<z.ZodOptional<z.ZodString>>;
171
+ order: z.ZodOptional<z.ZodOptional<z.ZodInt>>;
172
+ delta: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
173
+ added: "added";
174
+ modified: "modified";
175
+ removed: "removed";
176
+ unchanged: "unchanged";
177
+ }>>>;
178
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
179
+ }, z.core.$strict>;
180
+ }, z.core.$strict>, z.ZodObject<{
181
+ op: z.ZodLiteral<"remove_lane">;
182
+ id: z.ZodString;
183
+ }, z.core.$strict>, z.ZodObject<{
184
+ op: z.ZodLiteral<"add_node">;
185
+ node: z.ZodObject<{
186
+ id: z.ZodString;
187
+ label: z.ZodString;
188
+ kind: z.ZodEnum<{
189
+ app: "app";
190
+ cache: "cache";
191
+ config: "config";
192
+ datastore: "datastore";
193
+ external: "external";
194
+ function: "function";
195
+ job: "job";
196
+ module: "module";
197
+ other: "other";
198
+ package: "package";
199
+ queue: "queue";
200
+ route: "route";
201
+ service: "service";
202
+ test: "test";
203
+ ui: "ui";
204
+ }>;
205
+ delta: z.ZodEnum<{
206
+ added: "added";
207
+ modified: "modified";
208
+ removed: "removed";
209
+ unchanged: "unchanged";
210
+ }>;
211
+ lane: z.ZodString;
212
+ group: z.ZodOptional<z.ZodString>;
213
+ subtitle: z.ZodOptional<z.ZodString>;
214
+ summary: z.ZodOptional<z.ZodString>;
215
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
216
+ path: z.ZodString;
217
+ startLine: z.ZodOptional<z.ZodInt>;
218
+ endLine: z.ZodOptional<z.ZodInt>;
219
+ revision: z.ZodOptional<z.ZodEnum<{
220
+ base: "base";
221
+ head: "head";
222
+ }>>;
223
+ }, z.core.$strict>>>;
224
+ badges: z.ZodDefault<z.ZodArray<z.ZodString>>;
225
+ }, z.core.$strict>;
226
+ }, z.core.$strict>, z.ZodObject<{
227
+ op: z.ZodLiteral<"update_node">;
228
+ id: z.ZodString;
229
+ patch: z.ZodObject<{
230
+ label: z.ZodOptional<z.ZodString>;
231
+ kind: z.ZodOptional<z.ZodEnum<{
232
+ app: "app";
233
+ cache: "cache";
234
+ config: "config";
235
+ datastore: "datastore";
236
+ external: "external";
237
+ function: "function";
238
+ job: "job";
239
+ module: "module";
240
+ other: "other";
241
+ package: "package";
242
+ queue: "queue";
243
+ route: "route";
244
+ service: "service";
245
+ test: "test";
246
+ ui: "ui";
247
+ }>>;
248
+ delta: z.ZodOptional<z.ZodEnum<{
249
+ added: "added";
250
+ modified: "modified";
251
+ removed: "removed";
252
+ unchanged: "unchanged";
253
+ }>>;
254
+ lane: z.ZodOptional<z.ZodString>;
255
+ group: z.ZodOptional<z.ZodOptional<z.ZodString>>;
256
+ subtitle: z.ZodOptional<z.ZodOptional<z.ZodString>>;
257
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
258
+ files: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
259
+ path: z.ZodString;
260
+ startLine: z.ZodOptional<z.ZodInt>;
261
+ endLine: z.ZodOptional<z.ZodInt>;
262
+ revision: z.ZodOptional<z.ZodEnum<{
263
+ base: "base";
264
+ head: "head";
265
+ }>>;
266
+ }, z.core.$strict>>>>;
267
+ badges: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
268
+ }, z.core.$strict>;
269
+ }, z.core.$strict>, z.ZodObject<{
270
+ op: z.ZodLiteral<"remove_node">;
271
+ id: z.ZodString;
272
+ }, z.core.$strict>, z.ZodObject<{
273
+ op: z.ZodLiteral<"add_edge">;
274
+ edge: z.ZodObject<{
275
+ id: z.ZodString;
276
+ from: z.ZodString;
277
+ to: z.ZodString;
278
+ kind: z.ZodEnum<{
279
+ call: "call";
280
+ data: "data";
281
+ dependency: "dependency";
282
+ event: "event";
283
+ http: "http";
284
+ other: "other";
285
+ queue: "queue";
286
+ render: "render";
287
+ rpc: "rpc";
288
+ }>;
289
+ delta: z.ZodEnum<{
290
+ added: "added";
291
+ modified: "modified";
292
+ removed: "removed";
293
+ unchanged: "unchanged";
294
+ }>;
295
+ label: z.ZodOptional<z.ZodString>;
296
+ emphasis: z.ZodDefault<z.ZodEnum<{
297
+ hero: "hero";
298
+ muted: "muted";
299
+ normal: "normal";
300
+ }>>;
301
+ animated: z.ZodDefault<z.ZodBoolean>;
302
+ summary: z.ZodOptional<z.ZodString>;
303
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
304
+ path: z.ZodString;
305
+ startLine: z.ZodOptional<z.ZodInt>;
306
+ endLine: z.ZodOptional<z.ZodInt>;
307
+ revision: z.ZodOptional<z.ZodEnum<{
308
+ base: "base";
309
+ head: "head";
310
+ }>>;
311
+ }, z.core.$strict>>>;
312
+ }, z.core.$strict>;
313
+ }, z.core.$strict>, z.ZodObject<{
314
+ op: z.ZodLiteral<"update_edge">;
315
+ id: z.ZodString;
316
+ patch: z.ZodObject<{
317
+ from: z.ZodOptional<z.ZodString>;
318
+ to: z.ZodOptional<z.ZodString>;
319
+ kind: z.ZodOptional<z.ZodEnum<{
320
+ call: "call";
321
+ data: "data";
322
+ dependency: "dependency";
323
+ event: "event";
324
+ http: "http";
325
+ other: "other";
326
+ queue: "queue";
327
+ render: "render";
328
+ rpc: "rpc";
329
+ }>>;
330
+ delta: z.ZodOptional<z.ZodEnum<{
331
+ added: "added";
332
+ modified: "modified";
333
+ removed: "removed";
334
+ unchanged: "unchanged";
335
+ }>>;
336
+ label: z.ZodOptional<z.ZodOptional<z.ZodString>>;
337
+ emphasis: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
338
+ hero: "hero";
339
+ muted: "muted";
340
+ normal: "normal";
341
+ }>>>;
342
+ animated: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
343
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
344
+ files: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
345
+ path: z.ZodString;
346
+ startLine: z.ZodOptional<z.ZodInt>;
347
+ endLine: z.ZodOptional<z.ZodInt>;
348
+ revision: z.ZodOptional<z.ZodEnum<{
349
+ base: "base";
350
+ head: "head";
351
+ }>>;
352
+ }, z.core.$strict>>>>;
353
+ }, z.core.$strict>;
354
+ }, z.core.$strict>, z.ZodObject<{
355
+ op: z.ZodLiteral<"remove_edge">;
356
+ id: z.ZodString;
357
+ }, z.core.$strict>, z.ZodObject<{
358
+ op: z.ZodLiteral<"add_flow">;
359
+ flow: z.ZodObject<{
360
+ id: z.ZodString;
361
+ title: z.ZodString;
362
+ summary: z.ZodOptional<z.ZodString>;
363
+ delta: z.ZodDefault<z.ZodEnum<{
364
+ added: "added";
365
+ modified: "modified";
366
+ removed: "removed";
367
+ unchanged: "unchanged";
368
+ }>>;
369
+ participants: z.ZodArray<z.ZodObject<{
370
+ node: z.ZodString;
371
+ label: z.ZodOptional<z.ZodString>;
372
+ }, z.core.$strict>>;
373
+ messages: z.ZodArray<z.ZodObject<{
374
+ id: z.ZodString;
375
+ from: z.ZodString;
376
+ to: z.ZodString;
377
+ label: z.ZodString;
378
+ kind: z.ZodDefault<z.ZodEnum<{
379
+ async: "async";
380
+ return: "return";
381
+ self: "self";
382
+ sync: "sync";
383
+ }>>;
384
+ delta: z.ZodEnum<{
385
+ added: "added";
386
+ modified: "modified";
387
+ removed: "removed";
388
+ unchanged: "unchanged";
389
+ }>;
390
+ animated: z.ZodDefault<z.ZodBoolean>;
391
+ repeat: z.ZodOptional<z.ZodInt>;
392
+ note: z.ZodOptional<z.ZodString>;
393
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
394
+ path: z.ZodString;
395
+ startLine: z.ZodOptional<z.ZodInt>;
396
+ endLine: z.ZodOptional<z.ZodInt>;
397
+ revision: z.ZodOptional<z.ZodEnum<{
398
+ base: "base";
399
+ head: "head";
400
+ }>>;
401
+ }, z.core.$strict>>>;
402
+ }, z.core.$strict>>;
403
+ }, z.core.$strict>;
404
+ }, z.core.$strict>, z.ZodObject<{
405
+ op: z.ZodLiteral<"update_flow">;
406
+ id: z.ZodString;
407
+ patch: z.ZodObject<{
408
+ title: z.ZodOptional<z.ZodString>;
409
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
410
+ delta: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
411
+ added: "added";
412
+ modified: "modified";
413
+ removed: "removed";
414
+ unchanged: "unchanged";
415
+ }>>>;
416
+ participants: z.ZodOptional<z.ZodArray<z.ZodObject<{
417
+ node: z.ZodString;
418
+ label: z.ZodOptional<z.ZodString>;
419
+ }, z.core.$strict>>>;
420
+ messages: z.ZodOptional<z.ZodArray<z.ZodObject<{
421
+ id: z.ZodString;
422
+ from: z.ZodString;
423
+ to: z.ZodString;
424
+ label: z.ZodString;
425
+ kind: z.ZodDefault<z.ZodEnum<{
426
+ async: "async";
427
+ return: "return";
428
+ self: "self";
429
+ sync: "sync";
430
+ }>>;
431
+ delta: z.ZodEnum<{
432
+ added: "added";
433
+ modified: "modified";
434
+ removed: "removed";
435
+ unchanged: "unchanged";
436
+ }>;
437
+ animated: z.ZodDefault<z.ZodBoolean>;
438
+ repeat: z.ZodOptional<z.ZodInt>;
439
+ note: z.ZodOptional<z.ZodString>;
440
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
441
+ path: z.ZodString;
442
+ startLine: z.ZodOptional<z.ZodInt>;
443
+ endLine: z.ZodOptional<z.ZodInt>;
444
+ revision: z.ZodOptional<z.ZodEnum<{
445
+ base: "base";
446
+ head: "head";
447
+ }>>;
448
+ }, z.core.$strict>>>;
449
+ }, z.core.$strict>>>;
450
+ }, z.core.$strict>;
451
+ }, z.core.$strict>, z.ZodObject<{
452
+ op: z.ZodLiteral<"remove_flow">;
453
+ id: z.ZodString;
454
+ }, z.core.$strict>, z.ZodObject<{
455
+ op: z.ZodLiteral<"set_stats">;
456
+ stats: z.ZodObject<{
457
+ filesChanged: z.ZodOptional<z.ZodInt>;
458
+ additions: z.ZodOptional<z.ZodInt>;
459
+ deletions: z.ZodOptional<z.ZodInt>;
460
+ chips: z.ZodDefault<z.ZodArray<z.ZodObject<{
461
+ label: z.ZodString;
462
+ value: z.ZodString;
463
+ tone: z.ZodDefault<z.ZodEnum<{
464
+ added: "added";
465
+ hero: "hero";
466
+ modified: "modified";
467
+ neutral: "neutral";
468
+ removed: "removed";
469
+ }>>;
470
+ }, z.core.$strict>>>;
471
+ }, z.core.$strict>;
472
+ }, z.core.$strict>], "op">;
473
+ export type PatchOp = z.infer<typeof PatchOp>;
474
+ export declare const PATCH_OPS: readonly ["add_lane", "update_lane", "remove_lane", "add_node", "update_node", "remove_node", "add_edge", "update_edge", "remove_edge", "add_flow", "update_flow", "remove_flow", "set_stats"];
475
+ /**
476
+ * A patch has to move the map: the same commit at both ends describes no
477
+ * transition, and such a patch could be applied over and over.
478
+ *
479
+ * The rule lives here as a predicate because a zod refinement does not
480
+ * survive into the inferred type — a caller holding a `PatchDoc` it built
481
+ * itself has to be held to the same rule as one that came from a parser.
482
+ */
483
+ export declare const targetDescribesATransition: (target: {
484
+ fromSha: string;
485
+ toSha: string;
486
+ }) => boolean;
487
+ /** An ordered batch of operations against one stored graph. */
488
+ export declare const PatchDoc: z.ZodObject<{
489
+ schemaVersion: z.ZodString;
490
+ kind: z.ZodLiteral<"patch">;
491
+ generatedAt: z.ZodOptional<z.ZodISODateTime>;
492
+ summary: z.ZodOptional<z.ZodString>;
493
+ target: z.ZodObject<{
494
+ graphId: z.ZodString;
495
+ fromSha: z.ZodString;
496
+ toSha: z.ZodString;
497
+ }, z.core.$strict>;
498
+ ops: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
499
+ op: z.ZodLiteral<"add_lane">;
500
+ lane: z.ZodObject<{
501
+ id: z.ZodString;
502
+ label: z.ZodString;
503
+ subtitle: z.ZodOptional<z.ZodString>;
504
+ order: z.ZodOptional<z.ZodInt>;
505
+ delta: z.ZodOptional<z.ZodEnum<{
506
+ added: "added";
507
+ modified: "modified";
508
+ removed: "removed";
509
+ unchanged: "unchanged";
510
+ }>>;
511
+ summary: z.ZodOptional<z.ZodString>;
512
+ }, z.core.$strict>;
513
+ }, z.core.$strict>, z.ZodObject<{
514
+ op: z.ZodLiteral<"update_lane">;
515
+ id: z.ZodString;
516
+ patch: z.ZodObject<{
517
+ label: z.ZodOptional<z.ZodString>;
518
+ subtitle: z.ZodOptional<z.ZodOptional<z.ZodString>>;
519
+ order: z.ZodOptional<z.ZodOptional<z.ZodInt>>;
520
+ delta: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
521
+ added: "added";
522
+ modified: "modified";
523
+ removed: "removed";
524
+ unchanged: "unchanged";
525
+ }>>>;
526
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
527
+ }, z.core.$strict>;
528
+ }, z.core.$strict>, z.ZodObject<{
529
+ op: z.ZodLiteral<"remove_lane">;
530
+ id: z.ZodString;
531
+ }, z.core.$strict>, z.ZodObject<{
532
+ op: z.ZodLiteral<"add_node">;
533
+ node: z.ZodObject<{
534
+ id: z.ZodString;
535
+ label: z.ZodString;
536
+ kind: z.ZodEnum<{
537
+ app: "app";
538
+ cache: "cache";
539
+ config: "config";
540
+ datastore: "datastore";
541
+ external: "external";
542
+ function: "function";
543
+ job: "job";
544
+ module: "module";
545
+ other: "other";
546
+ package: "package";
547
+ queue: "queue";
548
+ route: "route";
549
+ service: "service";
550
+ test: "test";
551
+ ui: "ui";
552
+ }>;
553
+ delta: z.ZodEnum<{
554
+ added: "added";
555
+ modified: "modified";
556
+ removed: "removed";
557
+ unchanged: "unchanged";
558
+ }>;
559
+ lane: z.ZodString;
560
+ group: z.ZodOptional<z.ZodString>;
561
+ subtitle: z.ZodOptional<z.ZodString>;
562
+ summary: z.ZodOptional<z.ZodString>;
563
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
564
+ path: z.ZodString;
565
+ startLine: z.ZodOptional<z.ZodInt>;
566
+ endLine: z.ZodOptional<z.ZodInt>;
567
+ revision: z.ZodOptional<z.ZodEnum<{
568
+ base: "base";
569
+ head: "head";
570
+ }>>;
571
+ }, z.core.$strict>>>;
572
+ badges: z.ZodDefault<z.ZodArray<z.ZodString>>;
573
+ }, z.core.$strict>;
574
+ }, z.core.$strict>, z.ZodObject<{
575
+ op: z.ZodLiteral<"update_node">;
576
+ id: z.ZodString;
577
+ patch: z.ZodObject<{
578
+ label: z.ZodOptional<z.ZodString>;
579
+ kind: z.ZodOptional<z.ZodEnum<{
580
+ app: "app";
581
+ cache: "cache";
582
+ config: "config";
583
+ datastore: "datastore";
584
+ external: "external";
585
+ function: "function";
586
+ job: "job";
587
+ module: "module";
588
+ other: "other";
589
+ package: "package";
590
+ queue: "queue";
591
+ route: "route";
592
+ service: "service";
593
+ test: "test";
594
+ ui: "ui";
595
+ }>>;
596
+ delta: z.ZodOptional<z.ZodEnum<{
597
+ added: "added";
598
+ modified: "modified";
599
+ removed: "removed";
600
+ unchanged: "unchanged";
601
+ }>>;
602
+ lane: z.ZodOptional<z.ZodString>;
603
+ group: z.ZodOptional<z.ZodOptional<z.ZodString>>;
604
+ subtitle: z.ZodOptional<z.ZodOptional<z.ZodString>>;
605
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
606
+ files: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
607
+ path: z.ZodString;
608
+ startLine: z.ZodOptional<z.ZodInt>;
609
+ endLine: z.ZodOptional<z.ZodInt>;
610
+ revision: z.ZodOptional<z.ZodEnum<{
611
+ base: "base";
612
+ head: "head";
613
+ }>>;
614
+ }, z.core.$strict>>>>;
615
+ badges: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
616
+ }, z.core.$strict>;
617
+ }, z.core.$strict>, z.ZodObject<{
618
+ op: z.ZodLiteral<"remove_node">;
619
+ id: z.ZodString;
620
+ }, z.core.$strict>, z.ZodObject<{
621
+ op: z.ZodLiteral<"add_edge">;
622
+ edge: z.ZodObject<{
623
+ id: z.ZodString;
624
+ from: z.ZodString;
625
+ to: z.ZodString;
626
+ kind: z.ZodEnum<{
627
+ call: "call";
628
+ data: "data";
629
+ dependency: "dependency";
630
+ event: "event";
631
+ http: "http";
632
+ other: "other";
633
+ queue: "queue";
634
+ render: "render";
635
+ rpc: "rpc";
636
+ }>;
637
+ delta: z.ZodEnum<{
638
+ added: "added";
639
+ modified: "modified";
640
+ removed: "removed";
641
+ unchanged: "unchanged";
642
+ }>;
643
+ label: z.ZodOptional<z.ZodString>;
644
+ emphasis: z.ZodDefault<z.ZodEnum<{
645
+ hero: "hero";
646
+ muted: "muted";
647
+ normal: "normal";
648
+ }>>;
649
+ animated: z.ZodDefault<z.ZodBoolean>;
650
+ summary: z.ZodOptional<z.ZodString>;
651
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
652
+ path: z.ZodString;
653
+ startLine: z.ZodOptional<z.ZodInt>;
654
+ endLine: z.ZodOptional<z.ZodInt>;
655
+ revision: z.ZodOptional<z.ZodEnum<{
656
+ base: "base";
657
+ head: "head";
658
+ }>>;
659
+ }, z.core.$strict>>>;
660
+ }, z.core.$strict>;
661
+ }, z.core.$strict>, z.ZodObject<{
662
+ op: z.ZodLiteral<"update_edge">;
663
+ id: z.ZodString;
664
+ patch: z.ZodObject<{
665
+ from: z.ZodOptional<z.ZodString>;
666
+ to: z.ZodOptional<z.ZodString>;
667
+ kind: z.ZodOptional<z.ZodEnum<{
668
+ call: "call";
669
+ data: "data";
670
+ dependency: "dependency";
671
+ event: "event";
672
+ http: "http";
673
+ other: "other";
674
+ queue: "queue";
675
+ render: "render";
676
+ rpc: "rpc";
677
+ }>>;
678
+ delta: z.ZodOptional<z.ZodEnum<{
679
+ added: "added";
680
+ modified: "modified";
681
+ removed: "removed";
682
+ unchanged: "unchanged";
683
+ }>>;
684
+ label: z.ZodOptional<z.ZodOptional<z.ZodString>>;
685
+ emphasis: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
686
+ hero: "hero";
687
+ muted: "muted";
688
+ normal: "normal";
689
+ }>>>;
690
+ animated: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
691
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
692
+ files: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
693
+ path: z.ZodString;
694
+ startLine: z.ZodOptional<z.ZodInt>;
695
+ endLine: z.ZodOptional<z.ZodInt>;
696
+ revision: z.ZodOptional<z.ZodEnum<{
697
+ base: "base";
698
+ head: "head";
699
+ }>>;
700
+ }, z.core.$strict>>>>;
701
+ }, z.core.$strict>;
702
+ }, z.core.$strict>, z.ZodObject<{
703
+ op: z.ZodLiteral<"remove_edge">;
704
+ id: z.ZodString;
705
+ }, z.core.$strict>, z.ZodObject<{
706
+ op: z.ZodLiteral<"add_flow">;
707
+ flow: z.ZodObject<{
708
+ id: z.ZodString;
709
+ title: z.ZodString;
710
+ summary: z.ZodOptional<z.ZodString>;
711
+ delta: z.ZodDefault<z.ZodEnum<{
712
+ added: "added";
713
+ modified: "modified";
714
+ removed: "removed";
715
+ unchanged: "unchanged";
716
+ }>>;
717
+ participants: z.ZodArray<z.ZodObject<{
718
+ node: z.ZodString;
719
+ label: z.ZodOptional<z.ZodString>;
720
+ }, z.core.$strict>>;
721
+ messages: z.ZodArray<z.ZodObject<{
722
+ id: z.ZodString;
723
+ from: z.ZodString;
724
+ to: z.ZodString;
725
+ label: z.ZodString;
726
+ kind: z.ZodDefault<z.ZodEnum<{
727
+ async: "async";
728
+ return: "return";
729
+ self: "self";
730
+ sync: "sync";
731
+ }>>;
732
+ delta: z.ZodEnum<{
733
+ added: "added";
734
+ modified: "modified";
735
+ removed: "removed";
736
+ unchanged: "unchanged";
737
+ }>;
738
+ animated: z.ZodDefault<z.ZodBoolean>;
739
+ repeat: z.ZodOptional<z.ZodInt>;
740
+ note: z.ZodOptional<z.ZodString>;
741
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
742
+ path: z.ZodString;
743
+ startLine: z.ZodOptional<z.ZodInt>;
744
+ endLine: z.ZodOptional<z.ZodInt>;
745
+ revision: z.ZodOptional<z.ZodEnum<{
746
+ base: "base";
747
+ head: "head";
748
+ }>>;
749
+ }, z.core.$strict>>>;
750
+ }, z.core.$strict>>;
751
+ }, z.core.$strict>;
752
+ }, z.core.$strict>, z.ZodObject<{
753
+ op: z.ZodLiteral<"update_flow">;
754
+ id: z.ZodString;
755
+ patch: z.ZodObject<{
756
+ title: z.ZodOptional<z.ZodString>;
757
+ summary: z.ZodOptional<z.ZodOptional<z.ZodString>>;
758
+ delta: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
759
+ added: "added";
760
+ modified: "modified";
761
+ removed: "removed";
762
+ unchanged: "unchanged";
763
+ }>>>;
764
+ participants: z.ZodOptional<z.ZodArray<z.ZodObject<{
765
+ node: z.ZodString;
766
+ label: z.ZodOptional<z.ZodString>;
767
+ }, z.core.$strict>>>;
768
+ messages: z.ZodOptional<z.ZodArray<z.ZodObject<{
769
+ id: z.ZodString;
770
+ from: z.ZodString;
771
+ to: z.ZodString;
772
+ label: z.ZodString;
773
+ kind: z.ZodDefault<z.ZodEnum<{
774
+ async: "async";
775
+ return: "return";
776
+ self: "self";
777
+ sync: "sync";
778
+ }>>;
779
+ delta: z.ZodEnum<{
780
+ added: "added";
781
+ modified: "modified";
782
+ removed: "removed";
783
+ unchanged: "unchanged";
784
+ }>;
785
+ animated: z.ZodDefault<z.ZodBoolean>;
786
+ repeat: z.ZodOptional<z.ZodInt>;
787
+ note: z.ZodOptional<z.ZodString>;
788
+ files: z.ZodDefault<z.ZodArray<z.ZodObject<{
789
+ path: z.ZodString;
790
+ startLine: z.ZodOptional<z.ZodInt>;
791
+ endLine: z.ZodOptional<z.ZodInt>;
792
+ revision: z.ZodOptional<z.ZodEnum<{
793
+ base: "base";
794
+ head: "head";
795
+ }>>;
796
+ }, z.core.$strict>>>;
797
+ }, z.core.$strict>>>;
798
+ }, z.core.$strict>;
799
+ }, z.core.$strict>, z.ZodObject<{
800
+ op: z.ZodLiteral<"remove_flow">;
801
+ id: z.ZodString;
802
+ }, z.core.$strict>, z.ZodObject<{
803
+ op: z.ZodLiteral<"set_stats">;
804
+ stats: z.ZodObject<{
805
+ filesChanged: z.ZodOptional<z.ZodInt>;
806
+ additions: z.ZodOptional<z.ZodInt>;
807
+ deletions: z.ZodOptional<z.ZodInt>;
808
+ chips: z.ZodDefault<z.ZodArray<z.ZodObject<{
809
+ label: z.ZodString;
810
+ value: z.ZodString;
811
+ tone: z.ZodDefault<z.ZodEnum<{
812
+ added: "added";
813
+ hero: "hero";
814
+ modified: "modified";
815
+ neutral: "neutral";
816
+ removed: "removed";
817
+ }>>;
818
+ }, z.core.$strict>>>;
819
+ }, z.core.$strict>;
820
+ }, z.core.$strict>], "op">>;
821
+ }, z.core.$strict>;
822
+ export type PatchDoc = z.infer<typeof PatchDoc>;
823
+ export type PatchDocInput = z.input<typeof PatchDoc>;
824
+ //# sourceMappingURL=patch.d.ts.map