@cohesivesystems/processes 0.1.0-alpha.63

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.
@@ -0,0 +1,715 @@
1
+ /* <auto-generated/> */
2
+
3
+ import type { AggregateExpr, AggregateOperator, AnnotationKey, AnnotationValue, ArrayTypeRef, BinaryExpr, BinaryOperator, BindingExpr, CallExpr, ConditionalExpr, ConstantExpr, CurrentItemExpr, DiagnosticSeverity, DocumentDiagnosticEvidence, DocumentOrigin, DocumentValidationDiagnostic, EntityReferenceTypeRef, EntityTypeName, EnumTypeRef, Expr, FieldCardinality, FieldExpr, FieldNullability, FieldPath, FieldPathSegment, FieldPresence, FieldRefExpr, GraphId, JsonTypeKind, JsonTypeRef, LiteralExpr, NamedTypeRef, ObjectFieldTypeDef, ObjectTypeRef, OpaqueRuntimeTypeRef, ParameterExpr, PrimitiveFormat, QualifiedShapeId, QuantityTypeRef, ScalarTypeKind, ScalarTypeRef, SegmentKind, ShapeId, TypeId, TypeInferenceDiagnostic, TypeRef, UnaryExpr, UnaryOperator, ValueBindingId, ValueContract } from '@cohesivesystems/relations';
4
+
5
+ export type { AggregateExpr, AggregateOperator, AnnotationKey, AnnotationValue, ArrayTypeRef, BinaryExpr, BinaryOperator, BindingExpr, CallExpr, ConditionalExpr, ConstantExpr, CurrentItemExpr, DiagnosticSeverity, DocumentDiagnosticEvidence, DocumentOrigin, DocumentValidationDiagnostic, EntityReferenceTypeRef, EntityTypeName, EnumTypeRef, Expr, FieldCardinality, FieldExpr, FieldNullability, FieldPath, FieldPathSegment, FieldPresence, FieldRefExpr, GraphId, JsonTypeKind, JsonTypeRef, LiteralExpr, NamedTypeRef, ObjectFieldTypeDef, ObjectTypeRef, OpaqueRuntimeTypeRef, ParameterExpr, PrimitiveFormat, QualifiedShapeId, QuantityTypeRef, ScalarTypeKind, ScalarTypeRef, SegmentKind, ShapeId, TypeId, TypeInferenceDiagnostic, TypeRef, UnaryExpr, UnaryOperator, ValueBindingId, ValueContract };
6
+
7
+ export type ExecutionDefinitionKind = string;
8
+
9
+ export interface ExecutionDefinitionMetadata {
10
+ definitionId: ExecutionDefinitionId;
11
+ revisionId: ExecutionRevisionId;
12
+ schemaVersion: ExecutionIrSchemaVersion;
13
+ fingerprint: ExecutionDefinitionFingerprint;
14
+ provenance: ExecutionProvenance;
15
+ displayName?: string | null;
16
+ description?: string | null;
17
+ sourceMap: ExecutionSourceMap;
18
+ diagnostics: DocumentValidationDiagnostic[];
19
+ }
20
+
21
+ export interface ExecutionDefinitionExtension {
22
+ id: ExecutionExtensionId;
23
+ schemaVersion: ExecutionExtensionSchemaVersion;
24
+ value: PortableValue;
25
+ }
26
+
27
+ export type ExecutionNodeId = string;
28
+
29
+ export type ProcessNode = {
30
+ readonly $node: 'invokeTransition';
31
+ } & InvokeTransitionProcessNode | {
32
+ readonly $node: 'evaluateRelation';
33
+ } & EvaluateRelationProcessNode | {
34
+ readonly $node: 'request';
35
+ } & RequestProcessNode | {
36
+ readonly $node: 'emitEvent';
37
+ } & EmitEventProcessNode | {
38
+ readonly $node: 'sendSignal';
39
+ } & SendSignalProcessNode | {
40
+ readonly $node: 'choice';
41
+ } & ChoiceProcessNode | {
42
+ readonly $node: 'match';
43
+ } & MatchProcessNode | {
44
+ readonly $node: 'fork';
45
+ } & ForkProcessNode | {
46
+ readonly $node: 'join';
47
+ } & JoinProcessNode | {
48
+ readonly $node: 'awaitMatch';
49
+ } & AwaitMatchProcessNode | {
50
+ readonly $node: 'timer';
51
+ } & TimerProcessNode | {
52
+ readonly $node: 'reply';
53
+ } & ReplyProcessNode | {
54
+ readonly $node: 'durableCut';
55
+ } & DurableCutProcessNode | {
56
+ readonly $node: 'invokeProcess';
57
+ } & InvokeProcessProcessNode | {
58
+ readonly $node: 'forEachPartition';
59
+ } & ForEachPartitionProcessNode | {
60
+ readonly $node: 'repeatAcrossActivation';
61
+ } & RepeatAcrossActivationProcessNode | {
62
+ readonly $node: 'cancellationFinalizer';
63
+ } & CancellationFinalizerProcessNode | {
64
+ readonly $node: 'return';
65
+ } & ReturnProcessNode | {
66
+ readonly $node: 'fail';
67
+ } & FailProcessNode;
68
+
69
+ export const canonicalProcessNodeKinds = [
70
+ 'awaitMatch',
71
+ 'cancellationFinalizer',
72
+ 'choice',
73
+ 'durableCut',
74
+ 'emitEvent',
75
+ 'evaluateRelation',
76
+ 'fail',
77
+ 'forEachPartition',
78
+ 'fork',
79
+ 'invokeProcess',
80
+ 'invokeTransition',
81
+ 'join',
82
+ 'match',
83
+ 'repeatAcrossActivation',
84
+ 'reply',
85
+ 'request',
86
+ 'return',
87
+ 'sendSignal',
88
+ 'timer',
89
+ ] as const satisfies readonly ProcessNode["$node"][];
90
+
91
+ export interface InvokeTransitionProcessNode {
92
+ transition: ExecutionDefinitionReference;
93
+ subject: Expr;
94
+ input: Expr;
95
+ continuation: ProcessContinuation;
96
+ id: ExecutionNodeId;
97
+ }
98
+
99
+ export interface EvaluateRelationProcessNode {
100
+ relation: ExecutionDefinitionReference;
101
+ input: Expr;
102
+ continuation: ProcessContinuation;
103
+ id: ExecutionNodeId;
104
+ }
105
+
106
+ export interface RequestProcessNode {
107
+ id: ExecutionNodeId;
108
+ contract: RequestContractReference;
109
+ payload: Expr;
110
+ outcomes: ProcessRequestOutcomeBranch[];
111
+ }
112
+
113
+ export interface EmitEventProcessNode {
114
+ contract: DomainEventContractReference;
115
+ payload: Expr;
116
+ next: ProcessEdge;
117
+ id: ExecutionNodeId;
118
+ }
119
+
120
+ export interface SendSignalProcessNode {
121
+ id: ExecutionNodeId;
122
+ contract: SignalContractReference;
123
+ target: Expr;
124
+ payload: Expr;
125
+ next: ProcessEdge;
126
+ }
127
+
128
+ export interface ChoiceProcessNode {
129
+ selection: CaseSelection;
130
+ completeness: BranchCompleteness;
131
+ cases: ProcessChoiceCase[];
132
+ fallback?: ProcessFallback | null;
133
+ id: ExecutionNodeId;
134
+ }
135
+
136
+ export interface MatchProcessNode {
137
+ selection: CaseSelection;
138
+ completeness: BranchCompleteness;
139
+ value: Expr;
140
+ contract: ValueContract;
141
+ cases: ProcessMatchCase[];
142
+ fallback?: ProcessFallback | null;
143
+ id: ExecutionNodeId;
144
+ }
145
+
146
+ export interface ForkProcessNode {
147
+ branches: ProcessForkBranch[];
148
+ join: ExecutionNodeId;
149
+ limits: ProcessWorkLimits;
150
+ capacityDomains: ProcessCapacityDomainLimit[];
151
+ id: ExecutionNodeId;
152
+ }
153
+
154
+ export interface JoinProcessNode {
155
+ fork: ExecutionNodeId;
156
+ policy: ProcessJoinPolicy;
157
+ next: ProcessEdge;
158
+ result?: ProcessJoinResultProjection | null;
159
+ id: ExecutionNodeId;
160
+ }
161
+
162
+ export interface AwaitMatchProcessNode {
163
+ arbitration: ProcessAwaitArbitration;
164
+ clauses: ProcessAwaitClause[];
165
+ lateInput: ProcessAwaitInputDisposition;
166
+ staleInput: ProcessAwaitInputDisposition;
167
+ duplicateInput: ProcessAwaitInputDisposition;
168
+ missingTarget: ProcessAwaitMissingTargetDisposition;
169
+ retentionHorizon: TimeSpan;
170
+ id: ExecutionNodeId;
171
+ }
172
+
173
+ export interface TimerProcessNode {
174
+ id: ExecutionNodeId;
175
+ dueAt: Expr;
176
+ next: ProcessEdge;
177
+ }
178
+
179
+ export interface ReplyProcessNode {
180
+ id: ExecutionNodeId;
181
+ contract: ReplyContractReference;
182
+ request: RequestObligationBindingId;
183
+ payload: Expr;
184
+ next: ProcessEdge;
185
+ }
186
+
187
+ export interface DurableCutProcessNode {
188
+ resume: ProcessEdge;
189
+ id: ExecutionNodeId;
190
+ }
191
+
192
+ export interface InvokeProcessProcessNode {
193
+ process: ExecutionDefinitionReference;
194
+ contract: RequestContractReference;
195
+ outcomeMapping: ProcessChildOutcomeMapping;
196
+ input: Expr;
197
+ purpose: ProcessChildPurpose;
198
+ cancellation: ProcessChildCancellationPolicy;
199
+ outcomes: ProcessRequestOutcomeBranch[];
200
+ id: ExecutionNodeId;
201
+ }
202
+
203
+ export interface ForEachPartitionProcessNode {
204
+ partitions: Expr;
205
+ partition: ProcessOutputBinding;
206
+ progressIdentity: Expr;
207
+ process: ExecutionDefinitionReference;
208
+ contract: RequestContractReference;
209
+ outcomeMapping: ProcessChildOutcomeMapping;
210
+ childInput: Expr;
211
+ limits: ProcessWorkLimits;
212
+ failure: ProcessPartitionFailurePolicy;
213
+ capacityIdentity?: Expr | null;
214
+ capacityDomains: ProcessCapacityDomainLimit[];
215
+ cancellation: ProcessChildCancellationPolicy;
216
+ completed: ProcessEdge;
217
+ failed: ProcessEdge;
218
+ id: ExecutionNodeId;
219
+ }
220
+
221
+ export interface RepeatAcrossActivationProcessNode {
222
+ id: ExecutionNodeId;
223
+ continueWhen: Expr;
224
+ progress: Expr;
225
+ progressContract: ValueContract;
226
+ policy: ProcessRecurrencePolicy;
227
+ repeat: ProcessEdge;
228
+ completed: ProcessEdge;
229
+ exhausted: ProcessEdge;
230
+ stalled: ProcessEdge;
231
+ initialState?: Expr | null;
232
+ nextState?: Expr | null;
233
+ stateContract?: ValueContract | null;
234
+ stateOutput?: ProcessOutputBinding | null;
235
+ }
236
+
237
+ export interface CancellationFinalizerProcessNode {
238
+ process: ExecutionDefinitionReference;
239
+ contract: RequestContractReference;
240
+ outcomeMapping: ProcessChildOutcomeMapping;
241
+ id: ExecutionNodeId;
242
+ }
243
+
244
+ export interface ReturnProcessNode {
245
+ id: ExecutionNodeId;
246
+ result: Expr;
247
+ }
248
+
249
+ export interface FailProcessNode {
250
+ result: Expr;
251
+ id: ExecutionNodeId;
252
+ }
253
+
254
+ export type ProcessRecoveryPolicy = 'Unspecified' | 'ContinueAttempt' | 'RestartAttempt';
255
+
256
+ export const processRecoveryPolicies = {
257
+ unspecified: 'Unspecified',
258
+ continueAttempt: 'ContinueAttempt',
259
+ restartAttempt: 'RestartAttempt',
260
+ } as const satisfies Record<string, ProcessRecoveryPolicy>;
261
+
262
+ export const processRecoveryPolicyLabels: Record<ProcessRecoveryPolicy, string> = {
263
+ Unspecified: 'Unspecified',
264
+ ContinueAttempt: 'ContinueAttempt',
265
+ RestartAttempt: 'RestartAttempt',
266
+ };
267
+
268
+ export type ExecutionDefinitionId = string;
269
+
270
+ export type ExecutionRevisionId = string;
271
+
272
+ export type ExecutionIrSchemaVersion = string;
273
+
274
+ export interface ExecutionDefinitionFingerprint {
275
+ algorithm: string;
276
+ canonicalization: string;
277
+ value: string;
278
+ }
279
+
280
+ export interface ExecutionProvenance {
281
+ producer: ExecutionProducerProvenance;
282
+ source: ExecutionSourceProvenance;
283
+ origin: DocumentOrigin;
284
+ }
285
+
286
+ export interface ExecutionSourceMap {
287
+ entries: ExecutionSourceProvenance[];
288
+ }
289
+
290
+ export type ExecutionExtensionId = string;
291
+
292
+ export type ExecutionExtensionSchemaVersion = string;
293
+
294
+ export interface PortableValue {
295
+ contract: ValueContract;
296
+ state: PortableValueState;
297
+ value?: unknown | null;
298
+ failure?: DocumentValidationDiagnostic | null;
299
+ }
300
+
301
+ export interface ExecutionDefinitionReference {
302
+ definitionId: ExecutionDefinitionId;
303
+ revisionId: ExecutionRevisionId;
304
+ fingerprint: ExecutionDefinitionFingerprint;
305
+ }
306
+
307
+ export interface ProcessContinuation {
308
+ edge: ProcessEdge;
309
+ output?: ProcessOutputBinding | null;
310
+ }
311
+
312
+ export interface RequestContractReference {
313
+ definition: ExecutionDefinitionReference;
314
+ }
315
+
316
+ export interface ProcessRequestOutcomeBranch {
317
+ id: ExecutionNodeId;
318
+ outcome: RequestTerminalOutcomeId;
319
+ continuation: ProcessContinuation;
320
+ }
321
+
322
+ export interface DomainEventContractReference {
323
+ definition: ExecutionDefinitionReference;
324
+ }
325
+
326
+ export interface ProcessEdge {
327
+ id: ProcessEdgeId;
328
+ target: ExecutionNodeId;
329
+ }
330
+
331
+ export interface SignalContractReference {
332
+ definition: ExecutionDefinitionReference;
333
+ }
334
+
335
+ export type CaseSelection = 'Unspecified' | 'OrderedFirstMatch';
336
+
337
+ export const caseSelections = {
338
+ unspecified: 'Unspecified',
339
+ orderedFirstMatch: 'OrderedFirstMatch',
340
+ } as const satisfies Record<string, CaseSelection>;
341
+
342
+ export const caseSelectionLabels: Record<CaseSelection, string> = {
343
+ Unspecified: 'Unspecified',
344
+ OrderedFirstMatch: 'OrderedFirstMatch',
345
+ };
346
+
347
+ export type BranchCompleteness = 'Unspecified' | 'Exhaustive' | 'Fallback';
348
+
349
+ export const branchCompletenesses = {
350
+ unspecified: 'Unspecified',
351
+ exhaustive: 'Exhaustive',
352
+ fallback: 'Fallback',
353
+ } as const satisfies Record<string, BranchCompleteness>;
354
+
355
+ export const branchCompletenessLabels: Record<BranchCompleteness, string> = {
356
+ Unspecified: 'Unspecified',
357
+ Exhaustive: 'Exhaustive',
358
+ Fallback: 'Fallback',
359
+ };
360
+
361
+ export interface ProcessChoiceCase {
362
+ id: ExecutionNodeId;
363
+ predicate: Expr;
364
+ next: ProcessEdge;
365
+ }
366
+
367
+ export interface ProcessFallback {
368
+ id: ExecutionNodeId;
369
+ next: ProcessEdge;
370
+ }
371
+
372
+ export interface ProcessMatchCase {
373
+ id: ExecutionNodeId;
374
+ pattern: PortableValue;
375
+ next: ProcessEdge;
376
+ }
377
+
378
+ export interface ProcessForkBranch {
379
+ id: ExecutionNodeId;
380
+ start: ProcessEdge;
381
+ capacityDomain?: string | null;
382
+ }
383
+
384
+ export interface ProcessWorkLimits {
385
+ maximumItems: number;
386
+ maximumStartsPerActivation: number;
387
+ maximumParallelism: number;
388
+ minimumParallelism: number;
389
+ }
390
+
391
+ export interface ProcessCapacityDomainLimit {
392
+ identity: string;
393
+ maximumParallelism: number;
394
+ }
395
+
396
+ export interface ProcessJoinPolicy {
397
+ mode: ProcessJoinMode;
398
+ requiredCount: number;
399
+ failure: ProcessJoinFailurePolicy;
400
+ cancellation: ProcessJoinCancellationPolicy;
401
+ completionOrder: ProcessJoinCompletionOrder;
402
+ tieBreak: ProcessJoinTieBreak;
403
+ }
404
+
405
+ export interface ProcessJoinResultProjection {
406
+ output: ProcessOutputBinding;
407
+ resultContract: ValueContract;
408
+ branches: ProcessJoinBranchResult[];
409
+ }
410
+
411
+ export type ProcessAwaitArbitration = 'Unspecified' | 'ExclusivePriorityThenClauseId';
412
+
413
+ export const processAwaitArbitrations = {
414
+ unspecified: 'Unspecified',
415
+ exclusivePriorityThenClauseId: 'ExclusivePriorityThenClauseId',
416
+ } as const satisfies Record<string, ProcessAwaitArbitration>;
417
+
418
+ export const processAwaitArbitrationLabels: Record<ProcessAwaitArbitration, string> = {
419
+ Unspecified: 'Unspecified',
420
+ ExclusivePriorityThenClauseId: 'ExclusivePriorityThenClauseId',
421
+ };
422
+
423
+ export type ProcessAwaitClause = {
424
+ readonly $clause: 'interaction';
425
+ } & ProcessAwaitInteractionClause | {
426
+ readonly $clause: 'timer';
427
+ } & ProcessAwaitTimerClause;
428
+
429
+ export const canonicalProcessAwaitClauseKinds = [
430
+ 'interaction',
431
+ 'timer',
432
+ ] as const satisfies readonly ProcessAwaitClause["$clause"][];
433
+
434
+ export interface ProcessAwaitInteractionClause {
435
+ id: ExecutionNodeId;
436
+ priority: number;
437
+ continuation: ProcessContinuation;
438
+ contract: InteractionContractReference;
439
+ input: ProcessOutputBinding;
440
+ requestObligation?: ProcessRequestObligationBinding | null;
441
+ guard?: Expr | null;
442
+ }
443
+
444
+ export interface ProcessAwaitTimerClause {
445
+ id: ExecutionNodeId;
446
+ priority: number;
447
+ continuation: ProcessContinuation;
448
+ dueAt: Expr;
449
+ }
450
+
451
+ export type ProcessAwaitInputDisposition = 'Unspecified' | 'Reject' | 'Observe' | 'ReusePriorDisposition';
452
+
453
+ export const processAwaitInputDispositions = {
454
+ unspecified: 'Unspecified',
455
+ reject: 'Reject',
456
+ observe: 'Observe',
457
+ reusePriorDisposition: 'ReusePriorDisposition',
458
+ } as const satisfies Record<string, ProcessAwaitInputDisposition>;
459
+
460
+ export const processAwaitInputDispositionLabels: Record<ProcessAwaitInputDisposition, string> = {
461
+ Unspecified: 'Unspecified',
462
+ Reject: 'Reject',
463
+ Observe: 'Observe',
464
+ ReusePriorDisposition: 'ReusePriorDisposition',
465
+ };
466
+
467
+ export type ProcessAwaitMissingTargetDisposition = 'Unspecified' | 'Reject' | 'Observe' | 'DeadLetter';
468
+
469
+ export const processAwaitMissingTargetDispositions = {
470
+ unspecified: 'Unspecified',
471
+ reject: 'Reject',
472
+ observe: 'Observe',
473
+ deadLetter: 'DeadLetter',
474
+ } as const satisfies Record<string, ProcessAwaitMissingTargetDisposition>;
475
+
476
+ export const processAwaitMissingTargetDispositionLabels: Record<ProcessAwaitMissingTargetDisposition, string> = {
477
+ Unspecified: 'Unspecified',
478
+ Reject: 'Reject',
479
+ Observe: 'Observe',
480
+ DeadLetter: 'DeadLetter',
481
+ };
482
+
483
+ export interface TimeSpan {
484
+ ticks: number;
485
+ days: number;
486
+ hours: number;
487
+ milliseconds: number;
488
+ microseconds: number;
489
+ nanoseconds: number;
490
+ minutes: number;
491
+ seconds: number;
492
+ totalDays: number;
493
+ totalHours: number;
494
+ totalMilliseconds: number;
495
+ totalMicroseconds: number;
496
+ totalNanoseconds: number;
497
+ totalMinutes: number;
498
+ totalSeconds: number;
499
+ }
500
+
501
+ export interface ReplyContractReference {
502
+ definition: ExecutionDefinitionReference;
503
+ }
504
+
505
+ export type RequestObligationBindingId = string;
506
+
507
+ export interface ProcessChildOutcomeMapping {
508
+ completed: RequestTerminalOutcomeId;
509
+ failed: RequestTerminalOutcomeId;
510
+ cancelled: RequestTerminalOutcomeId;
511
+ terminated: RequestTerminalOutcomeId;
512
+ }
513
+
514
+ export type ProcessChildPurpose = 'Unspecified' | 'Work' | 'Compensation' | 'Reconciliation';
515
+
516
+ export const processChildPurposes = {
517
+ unspecified: 'Unspecified',
518
+ work: 'Work',
519
+ compensation: 'Compensation',
520
+ reconciliation: 'Reconciliation',
521
+ } as const satisfies Record<string, ProcessChildPurpose>;
522
+
523
+ export const processChildPurposeLabels: Record<ProcessChildPurpose, string> = {
524
+ Unspecified: 'Unspecified',
525
+ Work: 'Work',
526
+ Compensation: 'Compensation',
527
+ Reconciliation: 'Reconciliation',
528
+ };
529
+
530
+ export type ProcessChildCancellationPolicy = 'Unspecified' | 'Propagate' | 'Detach';
531
+
532
+ export const processChildCancellationPolicies = {
533
+ unspecified: 'Unspecified',
534
+ propagate: 'Propagate',
535
+ detach: 'Detach',
536
+ } as const satisfies Record<string, ProcessChildCancellationPolicy>;
537
+
538
+ export const processChildCancellationPolicyLabels: Record<ProcessChildCancellationPolicy, string> = {
539
+ Unspecified: 'Unspecified',
540
+ Propagate: 'Propagate',
541
+ Detach: 'Detach',
542
+ };
543
+
544
+ export interface ProcessOutputBinding {
545
+ binding: ValueBindingId;
546
+ contract: ValueContract;
547
+ }
548
+
549
+ export type ProcessPartitionFailurePolicy = 'Unspecified' | 'FailFast' | 'AwaitAll';
550
+
551
+ export const processPartitionFailurePolicies = {
552
+ unspecified: 'Unspecified',
553
+ failFast: 'FailFast',
554
+ awaitAll: 'AwaitAll',
555
+ } as const satisfies Record<string, ProcessPartitionFailurePolicy>;
556
+
557
+ export const processPartitionFailurePolicyLabels: Record<ProcessPartitionFailurePolicy, string> = {
558
+ Unspecified: 'Unspecified',
559
+ FailFast: 'FailFast',
560
+ AwaitAll: 'AwaitAll',
561
+ };
562
+
563
+ export interface ProcessRecurrencePolicy {
564
+ maximumOccurrences: number;
565
+ maximumUnchangedProgressOccurrences: number;
566
+ }
567
+
568
+ export interface ExecutionProducerProvenance {
569
+ producer: string;
570
+ version?: string | null;
571
+ }
572
+
573
+ export interface ExecutionSourceProvenance {
574
+ reference: string;
575
+ semanticPath?: ExecutionSemanticPath | null;
576
+ description?: string | null;
577
+ }
578
+
579
+ export type PortableValueState = 'Missing' | 'Absent' | 'Null' | 'Unknown' | 'Failed' | 'Concrete';
580
+
581
+ export const portableValueStates = {
582
+ missing: 'Missing',
583
+ absent: 'Absent',
584
+ null: 'Null',
585
+ unknown: 'Unknown',
586
+ failed: 'Failed',
587
+ concrete: 'Concrete',
588
+ } as const satisfies Record<string, PortableValueState>;
589
+
590
+ export const portableValueStateLabels: Record<PortableValueState, string> = {
591
+ Missing: 'Missing',
592
+ Absent: 'Absent',
593
+ Null: 'Null',
594
+ Unknown: 'Unknown',
595
+ Failed: 'Failed',
596
+ Concrete: 'Concrete',
597
+ };
598
+
599
+ export type RequestTerminalOutcomeId = string;
600
+
601
+ export type ProcessEdgeId = string;
602
+
603
+ export type ProcessJoinMode = 'Unspecified' | 'All' | 'Any' | 'RequiredCount';
604
+
605
+ export const processJoinModes = {
606
+ unspecified: 'Unspecified',
607
+ all: 'All',
608
+ any: 'Any',
609
+ requiredCount: 'RequiredCount',
610
+ } as const satisfies Record<string, ProcessJoinMode>;
611
+
612
+ export const processJoinModeLabels: Record<ProcessJoinMode, string> = {
613
+ Unspecified: 'Unspecified',
614
+ All: 'All',
615
+ Any: 'Any',
616
+ RequiredCount: 'RequiredCount',
617
+ };
618
+
619
+ export type ProcessJoinFailurePolicy = 'Unspecified' | 'FailFast' | 'WaitForRequired' | 'ExcludeFailed';
620
+
621
+ export const processJoinFailurePolicies = {
622
+ unspecified: 'Unspecified',
623
+ failFast: 'FailFast',
624
+ waitForRequired: 'WaitForRequired',
625
+ excludeFailed: 'ExcludeFailed',
626
+ } as const satisfies Record<string, ProcessJoinFailurePolicy>;
627
+
628
+ export const processJoinFailurePolicyLabels: Record<ProcessJoinFailurePolicy, string> = {
629
+ Unspecified: 'Unspecified',
630
+ FailFast: 'FailFast',
631
+ WaitForRequired: 'WaitForRequired',
632
+ ExcludeFailed: 'ExcludeFailed',
633
+ };
634
+
635
+ export type ProcessJoinCancellationPolicy = 'Unspecified' | 'CancelRemaining' | 'AwaitRemaining' | 'ContinueRemaining';
636
+
637
+ export const processJoinCancellationPolicies = {
638
+ unspecified: 'Unspecified',
639
+ cancelRemaining: 'CancelRemaining',
640
+ awaitRemaining: 'AwaitRemaining',
641
+ continueRemaining: 'ContinueRemaining',
642
+ } as const satisfies Record<string, ProcessJoinCancellationPolicy>;
643
+
644
+ export const processJoinCancellationPolicyLabels: Record<ProcessJoinCancellationPolicy, string> = {
645
+ Unspecified: 'Unspecified',
646
+ CancelRemaining: 'CancelRemaining',
647
+ AwaitRemaining: 'AwaitRemaining',
648
+ ContinueRemaining: 'ContinueRemaining',
649
+ };
650
+
651
+ export type ProcessJoinCompletionOrder = 'Unspecified' | 'Unobservable' | 'Observable';
652
+
653
+ export const processJoinCompletionOrders = {
654
+ unspecified: 'Unspecified',
655
+ unobservable: 'Unobservable',
656
+ observable: 'Observable',
657
+ } as const satisfies Record<string, ProcessJoinCompletionOrder>;
658
+
659
+ export const processJoinCompletionOrderLabels: Record<ProcessJoinCompletionOrder, string> = {
660
+ Unspecified: 'Unspecified',
661
+ Unobservable: 'Unobservable',
662
+ Observable: 'Observable',
663
+ };
664
+
665
+ export type ProcessJoinTieBreak = 'Unspecified' | 'BranchIdentity' | 'CompletionThenBranchIdentity';
666
+
667
+ export const processJoinTieBreaks = {
668
+ unspecified: 'Unspecified',
669
+ branchIdentity: 'BranchIdentity',
670
+ completionThenBranchIdentity: 'CompletionThenBranchIdentity',
671
+ } as const satisfies Record<string, ProcessJoinTieBreak>;
672
+
673
+ export const processJoinTieBreakLabels: Record<ProcessJoinTieBreak, string> = {
674
+ Unspecified: 'Unspecified',
675
+ BranchIdentity: 'BranchIdentity',
676
+ CompletionThenBranchIdentity: 'CompletionThenBranchIdentity',
677
+ };
678
+
679
+ export interface ProcessJoinBranchResult {
680
+ branch: ExecutionNodeId;
681
+ result: Expr;
682
+ }
683
+
684
+ export type InteractionContractReference = {
685
+ readonly $contract: 'domainEvent';
686
+ } & DomainEventContractReference | {
687
+ readonly $contract: 'request';
688
+ } & RequestContractReference | {
689
+ readonly $contract: 'signal';
690
+ } & SignalContractReference | {
691
+ readonly $contract: 'reply';
692
+ } & ReplyContractReference;
693
+
694
+ export interface ProcessRequestObligationBinding {
695
+ binding: RequestObligationBindingId;
696
+ }
697
+
698
+ export interface ExecutionSemanticPath {
699
+ segments: string[];
700
+ }
701
+
702
+ export interface ExecutionDefinitionDocument {
703
+ kind: ExecutionDefinitionKind;
704
+ metadata: ExecutionDefinitionMetadata;
705
+ definition: unknown;
706
+ extensions: ExecutionDefinitionExtension[];
707
+ }
708
+
709
+ export interface ProcessDefinition {
710
+ input: ValueContract;
711
+ result: ValueContract;
712
+ entry: ExecutionNodeId;
713
+ nodes: ProcessNode[];
714
+ recoveryPolicy: ProcessRecoveryPolicy;
715
+ }
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './generated/processes.shapes.generated'