@toolproof-npm/schema 0.1.34 → 0.1.36

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