@toolproof-npm/schema 0.1.34 → 0.1.35

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 (53) hide show
  1. package/dist/_lib/test.js +12 -12
  2. package/dist/_lib/types/Resource_Job.d.ts +55 -0
  3. package/dist/_lib/types/Resource_ResourceFormat.d.ts +40 -0
  4. package/dist/_lib/types/Resource_ResourceFormat.js +1 -0
  5. package/dist/_lib/types/Resource_ResourceType.d.ts +60 -0
  6. package/dist/_lib/types/Resource_ResourceType.js +1 -0
  7. package/dist/_lib/types/Resource_StatelessStrategy.d.ts +79 -0
  8. package/dist/_lib/types/Resource_StatelessStrategy.js +1 -0
  9. package/dist/_lib/types/types.d.ts +491 -353
  10. package/dist/genesis/generated/resources/Genesis.d.ts +2 -0
  11. package/dist/genesis/generated/resources/Genesis.js +2 -0
  12. package/dist/genesis/generated/resources/Genesis.json +2113 -0
  13. package/dist/{schemas → genesis/generated/schemas}/Genesis.json +266 -345
  14. package/dist/{schemas → genesis/generated/schemas}/Job.json +24 -26
  15. package/dist/genesis/generated/schemas/ResourceFormat.d.ts +2 -0
  16. package/dist/genesis/generated/schemas/ResourceFormat.js +2 -0
  17. package/dist/genesis/generated/schemas/ResourceFormat.json +74 -0
  18. package/dist/genesis/generated/schemas/ResourceType.d.ts +2 -0
  19. package/dist/genesis/generated/schemas/ResourceType.js +2 -0
  20. package/dist/genesis/generated/schemas/ResourceType.json +361 -0
  21. package/dist/genesis/generated/schemas/StatefulStrategy.d.ts +2 -0
  22. package/dist/genesis/generated/schemas/StatefulStrategy.js +2 -0
  23. package/dist/genesis/generated/schemas/StatefulStrategy.json +647 -0
  24. package/dist/genesis/generated/schemas/StatelessStrategy.d.ts +2 -0
  25. package/dist/genesis/generated/schemas/StatelessStrategy.js +2 -0
  26. package/dist/genesis/generated/schemas/StatelessStrategy.json +324 -0
  27. package/dist/genesis/resourceTypes/Genesis.d.ts +2 -0
  28. package/dist/genesis/resourceTypes/Genesis.js +2 -0
  29. package/dist/genesis/resourceTypes/Genesis.json +1523 -0
  30. package/dist/index.d.ts +8 -5
  31. package/dist/index.js +4 -3
  32. package/dist/scripts/_lib/config.d.ts +45 -0
  33. package/dist/scripts/_lib/config.js +109 -0
  34. package/dist/scripts/brandFactories.d.ts +5 -5
  35. package/dist/scripts/brandFactories.js +4 -5
  36. package/dist/scripts/extractSchemas.js +33 -8
  37. package/dist/scripts/extractSubschemaWithDefs.js +36 -7
  38. package/dist/scripts/generateResourceEnvelopes.js +77 -0
  39. package/dist/scripts/generateResourceTypeType.d.ts +1 -0
  40. package/dist/scripts/{generateResourceData.js → generateResourceTypeType.js} +21 -19
  41. package/dist/scripts/generateSchemaShims.d.ts +1 -0
  42. package/dist/scripts/generateSchemaShims.js +63 -0
  43. package/dist/scripts/generateTypes.js +116 -83
  44. package/dist/scripts/rewriteAnchors.d.ts +1 -0
  45. package/dist/scripts/rewriteAnchors.js +90 -0
  46. package/package.json +50 -52
  47. package/dist/_lib/types/ResourceData_Job.d.ts +0 -97
  48. /package/dist/_lib/types/{ResourceData_Job.js → Resource_Job.js} +0 -0
  49. /package/dist/{schemas → genesis/generated/schemas}/Genesis.d.ts +0 -0
  50. /package/dist/{schemas → genesis/generated/schemas}/Genesis.js +0 -0
  51. /package/dist/{schemas → genesis/generated/schemas}/Job.d.ts +0 -0
  52. /package/dist/{schemas → genesis/generated/schemas}/Job.js +0 -0
  53. /package/dist/scripts/{generateResourceData.d.ts → generateResourceEnvelopes.d.ts} +0 -0
@@ -1,276 +1,137 @@
1
1
  // Auto-generated from JSON schemas. Do not edit.
2
2
 
3
- export type CombinedEntry =
4
- | BranchStep
5
- | BranchStepId
6
- | CanonicalRef
7
- | ConditionalWrapper
8
- | CreationContext
9
- | Description
10
- | Documented
11
- | Execution
12
- | ExecutionId
13
- | ExtractionSchema
14
- | ExtractionSchemaValue
15
- | ForStep
16
- | ForStepId
17
- | FormatBase
18
- | Identifiable
19
- | IdentifiableDocumented
20
- | IdentityProp
21
- | IdentityValue
22
- | Job
23
- | JsonValue
24
- | MeritProp
25
- | MeritValue
26
- | Name
27
- | Path
28
- | PendingRef
29
- | ResourceBase
30
- | ResourceData
31
- | ResourceFormatData
32
- | ResourceFormatId
33
- | ResourceFormatMeta
34
- | ResourceId
35
- | ResourceKind
36
- | ResourceMap
37
- | ResourceMeta
38
- | ResourceMetaBase
39
- | ResourcePotentialInput
40
- | ResourcePotentialOutput
41
- | ResourceRawMeta
42
- | ResourceRoleId
43
- | ResourceRoleValue
44
- | ResourceSocket
45
- | ResourceTypeBase
46
- | ResourceTypeData
47
- | ResourceTypeId
48
- | ResourceTypeMeta
49
- | RoleBindingMap
50
- | RoleBindingsInner
51
- | RoleBindingsOuter1
52
- | RoleMap
53
- | RolesInner
54
- | RolesOuter
55
- | Step
56
- | StepId
57
- | StepKind
58
- | Timestamp
59
- | Uri
60
- | WhileStep
61
- | WhileStepId
62
- | WorkStep
63
- | WorkStepId
64
- | Workflow
65
- | WorkflowId
66
- | WorkflowSpec
67
- | WorkflowSpecId
68
- | GenesisJson
69
- | Job_Documented
70
- | Job_RolesOuter
71
- | Job_Uri
72
- | Job_Name
73
- | Job_Description
74
- | Job_RolesInner
75
- | Job_RoleMap
76
- | Job_ResourceRoleValue
77
- | Job_ResourceRoleId
78
- | Job_ResourceTypeId;
79
3
  /**
80
4
  * This interface was referenced by `GenesisJson`'s JSON-Schema
81
5
  * via the `definition` "BranchStep".
82
6
  */
83
- export type BranchStep = Identifiable &
84
- StepKind & {
85
- /**
86
- * @minItems 1
87
- */
88
- cases: [ConditionalWrapper, ...ConditionalWrapper[]];
89
- id: BranchStepId;
90
- kind: "branch";
7
+ export type BranchStep =
8
+ StepKind & {
9
+ /**
10
+ * @minItems 1
11
+ */
12
+ cases: [ConditionalWrapper, ...ConditionalWrapper[]];
13
+ identity: BranchStepId;
14
+ kind: "branch";
91
15
  };
92
16
  /**
93
17
  * This interface was referenced by `GenesisJson`'s JSON-Schema
94
18
  * via the `definition` "WorkStep".
95
19
  */
96
- export type WorkStep = Identifiable &
97
- StepKind & {
98
- execution: Execution;
99
- id: WorkStepId;
100
- kind: "work";
20
+ export type WorkStep =
21
+ StepKind & {
22
+ execution: Execution;
23
+ identity: WorkStepId;
24
+ kind: "work";
101
25
  };
102
26
  /**
103
27
  * This interface was referenced by `GenesisJson`'s JSON-Schema
104
28
  * via the `definition` "Execution".
105
29
  */
106
- export type Execution = Identifiable & {
107
- id: ExecutionId;
30
+ export type Execution =
31
+ {
32
+ identity: ExecutionId;
108
33
  jobId: ResourceId;
109
34
  } & RoleBindingsOuter;
110
35
  /**
111
36
  * This interface was referenced by `GenesisJson`'s JSON-Schema
112
37
  * via the `definition` "ExecutionId".
113
38
  */
114
- export type ExecutionId = string;
39
+ export type ExecutionId =
40
+ string;
115
41
  /**
116
42
  * This interface was referenced by `GenesisJson`'s JSON-Schema
117
43
  * via the `definition` "ResourceId".
118
44
  */
119
- export type ResourceId = string;
45
+ export type ResourceId =
46
+ string;
120
47
  /**
121
48
  * This interface was referenced by `GenesisJson`'s JSON-Schema
122
49
  * via the `definition` "WorkStepId".
123
50
  */
124
- export type WorkStepId = string;
51
+ export type WorkStepId =
52
+ string;
125
53
  /**
126
54
  * This interface was referenced by `GenesisJson`'s JSON-Schema
127
55
  * via the `definition` "BranchStepId".
128
56
  */
129
- export type BranchStepId = string;
57
+ export type BranchStepId =
58
+ string;
130
59
  /**
131
60
  * This interface was referenced by `GenesisJson`'s JSON-Schema
132
61
  * via the `definition` "ResourceRoleId".
133
62
  */
134
- export type ResourceRoleId = string;
63
+ export type ResourceRoleId =
64
+ string;
135
65
  /**
136
66
  * This interface was referenced by `GenesisJson`'s JSON-Schema
137
67
  * via the `definition` "Documented".
138
68
  */
139
- export type Documented = Name & Description;
69
+ export type Documented =
70
+ Name & Description;
140
71
  /**
141
72
  * This interface was referenced by `GenesisJson`'s JSON-Schema
142
73
  * via the `definition` "ExtractionSchemaValue".
143
74
  */
144
- export type ExtractionSchemaValue = unknown &
145
- IdentityProp &
146
- MeritProp & {
147
- } & {
148
- $id?: string;
149
- $schema: "https://json-schema.org/draft/2020-12/schema";
150
- $defs?: {
151
- };
152
- type: "object";
153
- allOf?: {
154
- }[];
155
- properties?: {
156
- };
157
- additionalProperties?: false;
158
- unevaluatedProperties?: false;
159
- $anchor?: string;
160
- } & {
161
- $id?: string;
162
- $schema: "https://json-schema.org/draft/2020-12/schema";
163
- $defs?: {
164
- };
165
- type: "object";
166
- allOf?: {
167
- }[];
168
- properties?: {
169
- };
170
- additionalProperties?: false;
171
- unevaluatedProperties?: false;
172
- $anchor?: string;
75
+ export type ExtractionSchemaValue =
76
+ {
173
77
  } & {
174
- $id?: string;
175
- $schema: "https://json-schema.org/draft/2020-12/schema";
176
- $defs?: {
177
- };
178
- type: "object";
179
- allOf?: {
180
- }[];
181
- properties?: {
78
+ $schema: "https://json-schema.org/draft/2020-12/schema";
79
+ $defs?: {
182
80
  };
183
- additionalProperties?: false;
184
- unevaluatedProperties?: false;
185
- $anchor?: string;
186
- };
187
- /**
188
- * This interface was referenced by `GenesisJson`'s JSON-Schema
189
- * via the `definition` "IdentityValue".
190
- */
191
- export type IdentityValue =
192
- | {
193
- type: "string" | "integer" | "boolean";
194
- }
195
- | {
196
- /**
197
- * @minItems 1
198
- */
199
- enum: [string, ...string[]];
81
+ type: "object";
82
+ allOf?: [{type: "array"; items: {type: "object"}}];
83
+ properties?: {
200
84
  };
201
- /**
202
- * This interface was referenced by `GenesisJson`'s JSON-Schema
203
- * via the `definition` "MeritValue".
204
- */
205
- export type MeritValue =
206
- | {
207
- type: "number" | "integer";
208
- }
209
- | {
210
- /**
211
- * @minItems 1
212
- */
213
- enum: [number, ...number[]];
85
+ additionalProperties?: false;
86
+ unevaluatedProperties?: false;
87
+ $anchor: string;
214
88
  };
215
89
  /**
216
90
  * This interface was referenced by `GenesisJson`'s JSON-Schema
217
91
  * via the `definition` "ForStep".
218
92
  */
219
- export type ForStep = Identifiable &
220
- StepKind & {
221
- case: ConditionalWrapper;
222
- id: ForStepId;
223
- kind: "for";
93
+ export type ForStep =
94
+ StepKind & {
95
+ case: ConditionalWrapper;
96
+ identity: ForStepId;
97
+ kind: "for";
224
98
  };
225
99
  /**
226
100
  * This interface was referenced by `GenesisJson`'s JSON-Schema
227
101
  * via the `definition` "ForStepId".
228
102
  */
229
- export type ForStepId = string;
103
+ export type ForStepId =
104
+ string;
230
105
  /**
231
106
  * This interface was referenced by `GenesisJson`'s JSON-Schema
232
- * via the `definition` "FormatBase".
107
+ * via the `definition` "Job".
233
108
  */
234
- export type FormatBase = IdentifiableDocumented & {
235
- id: ResourceFormatId;
236
- };
109
+ export type Job =
110
+ {
111
+ identity: JobId;
112
+ implementation: string;
113
+ } & Documented &
114
+ RolesOuter;
237
115
  /**
238
116
  * This interface was referenced by `GenesisJson`'s JSON-Schema
239
- * via the `definition` "IdentifiableDocumented".
117
+ * via the `definition` "JobId".
240
118
  */
241
- export type IdentifiableDocumented = Identifiable & Documented;
119
+ export type JobId =
120
+ string;
242
121
  /**
243
122
  * This interface was referenced by `GenesisJson`'s JSON-Schema
244
- * via the `definition` "ResourceFormatId".
245
- */
246
- export type ResourceFormatId = string;
247
- export type Job = Job_Documented &
248
- Job_RolesOuter &
249
- Job_Uri & {
250
- identity: string;
251
- };
252
- /**
253
- * This interface was referenced by `undefined`'s JSON-Schema
254
- * via the `definition` "Documented".
255
- */
256
- export type Job_Documented = Job_Name & Job_Description;
257
- /**
258
- * This interface was referenced by `undefined`'s JSON-Schema
259
123
  * via the `definition` "ResourceRoleValue".
260
124
  */
261
- export type Job_ResourceRoleValue = {
262
- resourceTypeId: Job_ResourceTypeId;
263
- } & Job_Documented;
125
+ export type ResourceRoleValue =
126
+ {
127
+ resourceTypeId: ResourceTypeId;
128
+ } & Documented;
264
129
  /**
265
- * This interface was referenced by `undefined`'s JSON-Schema
130
+ * This interface was referenced by `GenesisJson`'s JSON-Schema
266
131
  * via the `definition` "ResourceTypeId".
267
132
  */
268
- export type Job_ResourceTypeId = string;
269
- /**
270
- * This interface was referenced by `undefined`'s JSON-Schema
271
- * via the `definition` "ResourceRoleId".
272
- */
273
- export type Job_ResourceRoleId = string;
133
+ export type ResourceTypeId =
134
+ string;
274
135
  /**
275
136
  * This interface was referenced by `GenesisJson`'s JSON-Schema
276
137
  * via the `definition` "JsonValue".
@@ -280,31 +141,28 @@ export type JsonValue =
280
141
  | boolean
281
142
  | number
282
143
  | string
283
- | JsonValue[]
144
+ | JsonValue
284
145
  | {
285
146
  [k: string]: JsonValue;
286
147
  };
287
148
  /**
288
149
  * This interface was referenced by `GenesisJson`'s JSON-Schema
289
- * via the `definition` "ResourceBase".
290
- */
291
- export type ResourceBase = Identifiable & {
292
- id: ResourceId;
293
- } & {
294
- resourceTypeId: ResourceTypeId;
295
- } & CreationContext;
296
- /**
297
- * This interface was referenced by `GenesisJson`'s JSON-Schema
298
- * via the `definition` "ResourceTypeId".
150
+ * via the `definition` "MeritValue".
299
151
  */
300
- export type ResourceTypeId = string;
152
+ export type MeritValue =
153
+ | {
154
+ type: "number" | "integer";
155
+ }
156
+ | {
157
+ enum: [{type: "array"; items: {type: "number"}; minItems: 1}];
158
+ };
301
159
  /**
302
160
  * This interface was referenced by `GenesisJson`'s JSON-Schema
303
- * via the `definition` "ResourceData".
161
+ * via the `definition` "Resource".
304
162
  */
305
- export type ResourceData = ResourceMetaBase & {
163
+ export type Resource =
164
+ ResourceMetaBase & {
306
165
  extractedData: {
307
- identity: string | number | boolean;
308
166
  [k: string]: JsonValue;
309
167
  };
310
168
  };
@@ -312,26 +170,51 @@ export type ResourceData = ResourceMetaBase & {
312
170
  * This interface was referenced by `GenesisJson`'s JSON-Schema
313
171
  * via the `definition` "ResourceMetaBase".
314
172
  */
315
- export type ResourceMetaBase = ResourceBase &
173
+ export type ResourceMetaBase =
174
+ ResourceBase &
316
175
  ResourceKind & {
317
176
  kind: "materialized";
318
- } & Path &
319
- Timestamp;
177
+ } & Timestamp &
178
+ Path;
320
179
  /**
321
180
  * This interface was referenced by `GenesisJson`'s JSON-Schema
322
- * via the `definition` "ResourceFormatData".
181
+ * via the `definition` "ResourceBase".
323
182
  */
324
- export type ResourceFormatData = FormatBase;
183
+ export type ResourceBase =
184
+ {
185
+ identity: ResourceId;
186
+ resourceTypeId: ResourceTypeId;
187
+ } & CreationContext;
188
+ /**
189
+ * This interface was referenced by `GenesisJson`'s JSON-Schema
190
+ * via the `definition` "ResourceFormat".
191
+ */
192
+ export type ResourceFormat =
193
+ {
194
+ identity: ResourceFormatId;
195
+ } & Documented;
196
+ /**
197
+ * This interface was referenced by `GenesisJson`'s JSON-Schema
198
+ * via the `definition` "ResourceFormatId".
199
+ */
200
+ export type ResourceFormatId =
201
+ string;
325
202
  /**
326
203
  * This interface was referenced by `GenesisJson`'s JSON-Schema
327
- * via the `definition` "ResourceFormatMeta".
204
+ * via the `definition` "ResourceMeta".
328
205
  */
329
- export type ResourceFormatMeta = FormatBase & Path;
206
+ export type ResourceMetaBase1 =
207
+ ResourceBase &
208
+ ResourceKind & {
209
+ kind: "materialized";
210
+ } & Timestamp &
211
+ Path;
330
212
  /**
331
213
  * This interface was referenced by `GenesisJson`'s JSON-Schema
332
214
  * via the `definition` "ResourcePotentialInput".
333
215
  */
334
- export type ResourcePotentialInput = ResourceBase &
216
+ export type ResourcePotentialInput =
217
+ ResourceBase &
335
218
  ResourceKind & {
336
219
  kind: "potential-input";
337
220
  } & PendingRef;
@@ -339,114 +222,82 @@ export type ResourcePotentialInput = ResourceBase &
339
222
  * This interface was referenced by `GenesisJson`'s JSON-Schema
340
223
  * via the `definition` "ResourcePotentialOutput".
341
224
  */
342
- export type ResourcePotentialOutput = ResourceBase &
225
+ export type ResourcePotentialOutput =
226
+ ResourceBase &
343
227
  ResourceKind & {
344
228
  kind: "potential-output";
345
229
  };
346
- export type ResourceMeta = ResourceBase &
347
- ResourceKind & {
348
- kind: "materialized";
349
- } & Path &
350
- Timestamp;
351
230
  /**
352
231
  * This interface was referenced by `GenesisJson`'s JSON-Schema
353
232
  * via the `definition` "ResourceRawMeta".
354
233
  */
355
- export type ResourceRawMeta = ResourceBase & CanonicalRef & Timestamp;
356
- /**
357
- * This interface was referenced by `GenesisJson`'s JSON-Schema
358
- * via the `definition` "ResourceRoleValue".
359
- */
360
- export type ResourceRoleValue = {
361
- resourceTypeId: ResourceTypeId;
362
- } & Documented;
234
+ export type ResourceRawMeta =
235
+ ResourceBase & CanonicalRef & Timestamp;
363
236
  /**
364
237
  * This interface was referenced by `GenesisJson`'s JSON-Schema
365
- * via the `definition` "ResourceTypeBase".
238
+ * via the `definition` "ResourceType".
366
239
  */
367
- export type ResourceTypeBase = IdentifiableDocumented & {
368
- id: ResourceTypeId;
240
+ export type ResourceType =
241
+ {
242
+ identity: ResourceTypeId;
369
243
  resourceFormatId: ResourceFormatId;
244
+ } & Documented &
245
+ ExtractionSchema & {
370
246
  };
371
247
  /**
372
248
  * This interface was referenced by `GenesisJson`'s JSON-Schema
373
- * via the `definition` "ResourceTypeData".
374
- */
375
- export type ResourceTypeData = ResourceTypeBase & ExtractionSchema;
376
- /**
377
- * This interface was referenced by `GenesisJson`'s JSON-Schema
378
- * via the `definition` "ResourceTypeMeta".
379
- */
380
- export type ResourceTypeMeta = ResourceTypeBase &
381
- Path & {
382
- };
383
- /**
384
- * This interface was referenced by `GenesisJson`'s JSON-Schema
385
- * via the `definition` "Step".
386
- */
387
- export type Step = WorkStep | BranchStep | WhileStep | ForStep;
388
- /**
389
- * This interface was referenced by `GenesisJson`'s JSON-Schema
390
- * via the `definition` "WhileStep".
391
- */
392
- export type WhileStep = Identifiable &
393
- StepKind & {
394
- case: ConditionalWrapper;
395
- id: WhileStepId;
396
- kind: "while";
397
- };
398
- /**
399
- * This interface was referenced by `GenesisJson`'s JSON-Schema
400
- * via the `definition` "WhileStepId".
249
+ * via the `definition` "StatefulStrategy".
401
250
  */
402
- export type WhileStepId = string;
251
+ export type StatefulStrategy =
252
+ {
253
+ identity: StatefulStrategyId;
254
+ statelessStrategy: StatelessStrategy;
255
+ } & StrategyState;
403
256
  /**
404
257
  * This interface was referenced by `GenesisJson`'s JSON-Schema
405
- * via the `definition` "StepId".
258
+ * via the `definition` "StatefulStrategyId".
406
259
  */
407
- export type StepId = WorkStepId | BranchStepId | WhileStepId | ForStepId;
260
+ export type StatefulStrategyId =
261
+ string;
408
262
  /**
409
263
  * This interface was referenced by `GenesisJson`'s JSON-Schema
410
- * via the `definition` "Workflow".
264
+ * via the `definition` "StatelessStrategy".
411
265
  */
412
- export type Workflow = Identifiable & {
413
- id: WorkflowId;
266
+ export type StatelessStrategy =
267
+ {
268
+ identity: StatelessStrategyId;
414
269
  steps: Step[];
415
270
  };
416
271
  /**
417
272
  * This interface was referenced by `GenesisJson`'s JSON-Schema
418
- * via the `definition` "WorkflowId".
273
+ * via the `definition` "StatelessStrategyId".
419
274
  */
420
- export type WorkflowId = string;
275
+ export type StatelessStrategyId =
276
+ string;
421
277
  /**
422
278
  * This interface was referenced by `GenesisJson`'s JSON-Schema
423
- * via the `definition` "WorkflowSpec".
279
+ * via the `definition` "Step".
424
280
  */
425
- export type WorkflowSpec = Identifiable & {
426
- id: WorkflowSpecId;
427
- resourceMaps: ResourceMap[];
428
- workflow: Workflow;
429
- };
281
+ export type Step =
282
+ WorkStep | BranchStep | WhileStep | ForStep;
430
283
  /**
431
284
  * This interface was referenced by `GenesisJson`'s JSON-Schema
432
- * via the `definition` "WorkflowSpecId".
285
+ * via the `definition` "WhileStep".
433
286
  */
434
- export type WorkflowSpecId = string;
287
+ export type WhileStep =
288
+ StepKind & {
289
+ case: ConditionalWrapper;
290
+ identity: WhileStepId;
291
+ kind: "while";
292
+ };
435
293
  /**
436
294
  * This interface was referenced by `GenesisJson`'s JSON-Schema
437
- * via the `definition` "ResourceMeta".
295
+ * via the `definition` "WhileStepId".
438
296
  */
439
- export type ResourceMetaBase1 = ResourceBase &
440
- ResourceKind & {
441
- kind: "materialized";
442
- } & Path &
443
- Timestamp;
297
+ export type WhileStepId =
298
+ string;
444
299
 
445
- /**
446
- * This interface was referenced by `GenesisJson`'s JSON-Schema
447
- * via the `definition` "Identifiable".
448
- */
449
- export interface Identifiable {
300
+ export interface GenesisJson {
450
301
  }
451
302
  /**
452
303
  * This interface was referenced by `GenesisJson`'s JSON-Schema
@@ -520,69 +371,69 @@ export interface Name {
520
371
  * via the `definition` "ExtractionSchema".
521
372
  */
522
373
  export interface ExtractionSchema {
523
- extractionSchema: unknown;
374
+ extractionSchema: ExtractionSchemaValue;
375
+ }
376
+ /**
377
+ * This interface was referenced by `GenesisJson`'s JSON-Schema
378
+ * via the `definition` "IdSchemaValue".
379
+ *
380
+ * This interface was referenced by `undefined`'s JSON-Schema definition
381
+ * via the `patternProperty` "^[A-Za-z][A-Za-z0-9._-]*Id$".
382
+ */
383
+ export interface IdSchemaValue {
384
+ type: "string";
385
+ pattern: string;
524
386
  }
525
387
  /**
526
388
  * This interface was referenced by `GenesisJson`'s JSON-Schema
527
389
  * via the `definition` "IdentityProp".
528
390
  */
529
391
  export interface IdentityProp {
392
+ $defs: {
393
+ };
530
394
  properties: {
531
395
  identity: IdentityValue;
532
396
  };
533
- required: string[];
397
+ required: [{type: "array"; contains: {const: "identity"}; items: {type: "string"}; uniqueItems: true}];
398
+ additionalProperties?: unknown;
534
399
  }
535
400
  /**
536
401
  * This interface was referenced by `GenesisJson`'s JSON-Schema
537
- * via the `definition` "MeritProp".
538
- */
539
- export interface MeritProp {
540
- properties?: {
541
- merit?: MeritValue;
542
- };
543
- }
544
- /**
545
- * This interface was referenced by `undefined`'s JSON-Schema
546
- * via the `definition` "Name".
547
- */
548
- export interface Job_Name {
549
- name: string;
550
- }
551
- /**
552
- * This interface was referenced by `undefined`'s JSON-Schema
553
- * via the `definition` "Description".
402
+ * via the `definition` "IdentityValue".
554
403
  */
555
- export interface Job_Description {
556
- description: string;
404
+ export interface IdentityValue {
405
+ $ref: string;
557
406
  }
558
407
  /**
559
- * This interface was referenced by `undefined`'s JSON-Schema
408
+ * This interface was referenced by `GenesisJson`'s JSON-Schema
560
409
  * via the `definition` "RolesOuter".
561
410
  */
562
- export interface Job_RolesOuter {
563
- roles: Job_RolesInner;
411
+ export interface RolesOuter {
412
+ roles: RolesInner;
564
413
  }
565
414
  /**
566
- * This interface was referenced by `undefined`'s JSON-Schema
415
+ * This interface was referenced by `GenesisJson`'s JSON-Schema
567
416
  * via the `definition` "RolesInner".
568
417
  */
569
- export interface Job_RolesInner {
570
- inputMap: Job_RoleMap;
571
- outputMap: Job_RoleMap;
418
+ export interface RolesInner {
419
+ inputMap: RoleMap;
420
+ outputMap: RoleMap;
572
421
  }
573
422
  /**
574
- * This interface was referenced by `undefined`'s JSON-Schema
423
+ * This interface was referenced by `GenesisJson`'s JSON-Schema
575
424
  * via the `definition` "RoleMap".
576
425
  */
577
- export interface Job_RoleMap {
578
- [k: string]: Job_ResourceRoleValue;
579
- }
426
+ export type RoleMap = Record<ResourceRoleId, ResourceRoleValue>;
580
427
  /**
581
- * This interface was referenced by `undefined`'s JSON-Schema
582
- * via the `definition` "Uri".
428
+ * This interface was referenced by `GenesisJson`'s JSON-Schema
429
+ * via the `definition` "MeritProp".
583
430
  */
584
- export interface Job_Uri {
585
- uri: string;
431
+ export interface MeritProp {
432
+ properties?: {
433
+ merit?: MeritValue;
434
+ };
435
+ required?: [];
436
+ additionalProperties?: unknown;
586
437
  }
587
438
  /**
588
439
  * This interface was referenced by `GenesisJson`'s JSON-Schema
@@ -616,11 +467,6 @@ export interface ResourceKind {
616
467
  export interface Timestamp {
617
468
  timestamp: string;
618
469
  }
619
- /**
620
- * This interface was referenced by `GenesisJson`'s JSON-Schema
621
- * via the `definition` "ResourceMap".
622
- */
623
- export type ResourceMap = Record<ExecutionId, Record<ResourceRoleId, ResourcePotentialInput | ResourcePotentialOutput | ResourceData>>;
624
470
  /**
625
471
  * This interface was referenced by `GenesisJson`'s JSON-Schema
626
472
  * via the `definition` "RoleBindingsOuter".
@@ -630,30 +476,322 @@ export interface RoleBindingsOuter1 {
630
476
  }
631
477
  /**
632
478
  * This interface was referenced by `GenesisJson`'s JSON-Schema
633
- * via the `definition` "RoleMap".
479
+ * via the `definition` "StrategyState".
634
480
  */
635
- export type RoleMap = Record<ResourceRoleId, ResourceRoleValue>;
481
+ export interface StrategyState {
482
+ strategyState: StrategyStateValue;
483
+ }
636
484
  /**
637
485
  * This interface was referenced by `GenesisJson`'s JSON-Schema
638
- * via the `definition` "RolesInner".
486
+ * via the `definition` "StrategyStateValue".
639
487
  */
488
+ export interface StrategyStateValue {
489
+ [k: string]: {
490
+ [k: string]: ResourcePotentialInput | ResourcePotentialOutput | Resource;
491
+ };
492
+ }
493
+
494
+ export type Normalized =
495
+ {
496
+ identity: JobId;
497
+ implementation: string;
498
+ } & Documented &
499
+ RolesOuter;
500
+ export type JobId =
501
+ string;
502
+ export type Documented =
503
+ Name & Description;
504
+ export type ResourceRoleValue =
505
+ {
506
+ resourceTypeId: ResourceTypeId;
507
+ } & Documented;
508
+ export type ResourceTypeId =
509
+ string;
510
+
511
+ export interface Name {
512
+ name: string;
513
+ }
514
+ export interface Description {
515
+ description: string;
516
+ }
517
+ export interface RolesOuter {
518
+ roles: RolesInner;
519
+ }
640
520
  export interface RolesInner {
641
521
  inputMap: RoleMap;
642
522
  outputMap: RoleMap;
643
523
  }
644
- /**
645
- * This interface was referenced by `GenesisJson`'s JSON-Schema
646
- * via the `definition` "RolesOuter".
647
- */
648
- export interface RolesOuter {
649
- roles: RolesInner;
524
+ export type RoleMap = Record<ResourceRoleId, ResourceRoleValue>;
525
+
526
+ export type Normalized =
527
+ {
528
+ identity: ResourceFormatId;
529
+ } & Documented;
530
+ export type ResourceFormatId =
531
+ string;
532
+ export type Documented =
533
+ Name & Description;
534
+
535
+ export interface Name {
536
+ name: string;
650
537
  }
651
- /**
652
- * This interface was referenced by `GenesisJson`'s JSON-Schema
653
- * via the `definition` "Uri".
654
- */
655
- export interface Uri {
656
- uri: string;
538
+ export interface Description {
539
+ description: string;
657
540
  }
658
- export interface GenesisJson {
541
+
542
+ export type Normalized =
543
+ {
544
+ identity: ResourceTypeId;
545
+ resourceFormatId: ResourceFormatId;
546
+ } & Documented &
547
+ ExtractionSchema & {
548
+ };
549
+ export type ResourceTypeId =
550
+ string;
551
+ export type ResourceFormatId =
552
+ string;
553
+ export type Documented =
554
+ Name & Description;
555
+ export type ExtractionSchemaValue =
556
+ {
557
+ } & {
558
+ $schema: "https://json-schema.org/draft/2020-12/schema";
559
+ $defs?: {
560
+ };
561
+ type: "object";
562
+ allOf?: [{type: "array"; items: {type: "object"}}];
563
+ properties?: {
564
+ };
565
+ additionalProperties?: false;
566
+ unevaluatedProperties?: false;
567
+ $anchor: string;
568
+ };
569
+
570
+ export interface Name {
571
+ name: string;
572
+ }
573
+ export interface Description {
574
+ description: string;
575
+ }
576
+ export interface ExtractionSchema {
577
+ extractionSchema: ExtractionSchemaValue;
578
+ }
579
+
580
+ export type Normalized =
581
+ {
582
+ identity: StatefulStrategyId;
583
+ statelessStrategy: StatelessStrategy;
584
+ } & StrategyState;
585
+ export type StatefulStrategyId =
586
+ string;
587
+ export type StatelessStrategy =
588
+ {
589
+ identity: StatelessStrategyId;
590
+ steps: Step[];
591
+ };
592
+ export type StatelessStrategyId =
593
+ string;
594
+ export type Step =
595
+ WorkStep | BranchStep | WhileStep | ForStep;
596
+ export type WorkStep =
597
+ StepKind & {
598
+ execution: Execution;
599
+ identity: WorkStepId;
600
+ kind: "work";
601
+ };
602
+ export type Execution =
603
+ {
604
+ identity: ExecutionId;
605
+ jobId: ResourceId;
606
+ } & RoleBindingsOuter;
607
+ export type ExecutionId =
608
+ string;
609
+ export type ResourceId =
610
+ string;
611
+ export type WorkStepId =
612
+ string;
613
+ export type BranchStep =
614
+ StepKind & {
615
+ /**
616
+ * @minItems 1
617
+ */
618
+ cases: [ConditionalWrapper, ...ConditionalWrapper[]];
619
+ identity: BranchStepId;
620
+ kind: "branch";
621
+ };
622
+ export type BranchStepId =
623
+ string;
624
+ export type WhileStep =
625
+ StepKind & {
626
+ case: ConditionalWrapper;
627
+ identity: WhileStepId;
628
+ kind: "while";
629
+ };
630
+ export type WhileStepId =
631
+ string;
632
+ export type ForStep =
633
+ StepKind & {
634
+ case: ConditionalWrapper;
635
+ identity: ForStepId;
636
+ kind: "for";
637
+ };
638
+ export type ForStepId =
639
+ string;
640
+ export type ResourcePotentialInput =
641
+ ResourceBase &
642
+ ResourceKind & {
643
+ kind: "potential-input";
644
+ } & PendingRef;
645
+ export type ResourceBase =
646
+ {
647
+ identity: ResourceId;
648
+ resourceTypeId: ResourceTypeId;
649
+ } & CreationContext;
650
+ export type ResourceTypeId =
651
+ string;
652
+ export type ResourceRoleId =
653
+ string;
654
+ export type ResourcePotentialOutput =
655
+ ResourceBase &
656
+ ResourceKind & {
657
+ kind: "potential-output";
658
+ };
659
+ export type Resource =
660
+ ResourceMetaBase & {
661
+ extractedData: {
662
+ [k: string]: JsonValue;
663
+ };
664
+ };
665
+ export type ResourceMetaBase =
666
+ ResourceBase &
667
+ ResourceKind & {
668
+ kind: "materialized";
669
+ } & Timestamp &
670
+ Path;
671
+ export type JsonValue =
672
+ | null
673
+ | boolean
674
+ | number
675
+ | string
676
+ | JsonValue
677
+ | {
678
+ [k: string]: JsonValue;
679
+ };
680
+
681
+ export interface StepKind {
682
+ kind: "work" | "branch" | "while" | "for";
683
+ }
684
+ export interface RoleBindingsOuter {
685
+ roleBindings: RoleBindingsInner;
686
+ }
687
+ export interface RoleBindingsInner {
688
+ inputBindingMap: RoleBindingMap;
689
+ outputBindingMap: RoleBindingMap;
690
+ }
691
+ export type RoleBindingMap = Record<ResourceRoleId, ResourceId>;
692
+ export interface ConditionalWrapper {
693
+ what: WorkStep;
694
+ when: WorkStep;
695
+ }
696
+ export interface StrategyState {
697
+ strategyState: StrategyStateValue;
698
+ }
699
+ export interface StrategyStateValue {
700
+ [k: string]: {
701
+ [k: string]: ResourcePotentialInput | ResourcePotentialOutput | Resource;
702
+ };
703
+ }
704
+ export interface CreationContext {
705
+ creationContext: ResourceSocket;
659
706
  }
707
+ export interface ResourceSocket {
708
+ executionId: ExecutionId;
709
+ resourceRoleId: ResourceRoleId;
710
+ }
711
+ export interface ResourceKind {
712
+ kind: "potential-input" | "potential-output" | "materialized";
713
+ }
714
+ export interface PendingRef {
715
+ pendingRef: ResourceSocket1;
716
+ }
717
+ export interface ResourceSocket1 {
718
+ executionId: ExecutionId;
719
+ resourceRoleId: ResourceRoleId;
720
+ }
721
+ export interface Timestamp {
722
+ timestamp: string;
723
+ }
724
+ export interface Path {
725
+ path: string;
726
+ }
727
+
728
+ export type Normalized =
729
+ {
730
+ identity: StatelessStrategyId;
731
+ steps: Step[];
732
+ };
733
+ export type StatelessStrategyId =
734
+ string;
735
+ export type Step =
736
+ WorkStep | BranchStep | WhileStep | ForStep;
737
+ export type WorkStep =
738
+ StepKind & {
739
+ execution: Execution;
740
+ identity: WorkStepId;
741
+ kind: "work";
742
+ };
743
+ export type Execution =
744
+ {
745
+ identity: ExecutionId;
746
+ jobId: ResourceId;
747
+ } & RoleBindingsOuter;
748
+ export type ExecutionId =
749
+ string;
750
+ export type ResourceId =
751
+ string;
752
+ export type WorkStepId =
753
+ string;
754
+ export type BranchStep =
755
+ StepKind & {
756
+ /**
757
+ * @minItems 1
758
+ */
759
+ cases: [ConditionalWrapper, ...ConditionalWrapper[]];
760
+ identity: BranchStepId;
761
+ kind: "branch";
762
+ };
763
+ export type BranchStepId =
764
+ string;
765
+ export type WhileStep =
766
+ StepKind & {
767
+ case: ConditionalWrapper;
768
+ identity: WhileStepId;
769
+ kind: "while";
770
+ };
771
+ export type WhileStepId =
772
+ string;
773
+ export type ForStep =
774
+ StepKind & {
775
+ case: ConditionalWrapper;
776
+ identity: ForStepId;
777
+ kind: "for";
778
+ };
779
+ export type ForStepId =
780
+ string;
781
+
782
+ export interface StepKind {
783
+ kind: "work" | "branch" | "while" | "for";
784
+ }
785
+ export interface RoleBindingsOuter {
786
+ roleBindings: RoleBindingsInner;
787
+ }
788
+ export interface RoleBindingsInner {
789
+ inputBindingMap: RoleBindingMap;
790
+ outputBindingMap: RoleBindingMap;
791
+ }
792
+ export type RoleBindingMap = Record<ResourceRoleId, ResourceId>;
793
+ export interface ConditionalWrapper {
794
+ what: WorkStep;
795
+ when: WorkStep;
796
+ }
797
+