@automate.ax/api-contract 0.54.0 → 0.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/automation.d.ts +1 -28
- package/dist/automation.js +0 -25
- package/dist/deployment.d.ts +6 -36
- package/dist/deployment.js +8 -31
- package/dist/index.d.ts +123 -81
- package/dist/index.js +1 -1
- package/dist/runtime.d.ts +108 -10
- package/dist/runtime.js +79 -17
- package/package.json +2 -2
- package/src/automation.ts +0 -29
- package/src/deployment.ts +8 -49
- package/src/index.ts +1 -9
- package/src/runtime.ts +88 -17
package/src/runtime.ts
CHANGED
|
@@ -94,6 +94,7 @@ const ACTION_INVOCATION_SCHEMA = z.union([
|
|
|
94
94
|
|
|
95
95
|
const ACTION_RUN_INVOCATION_BASE_SCHEMA = ACTION_INVOCATION_BASE_SCHEMA.extend({
|
|
96
96
|
actionInvocationId: z.string(),
|
|
97
|
+
contextId: z.string(),
|
|
97
98
|
})
|
|
98
99
|
|
|
99
100
|
const ACTION_RUN_INVOCATION_SCHEMA = z.union([
|
|
@@ -127,15 +128,66 @@ const SIGNAL_INVOCATION_DEPENDENCIES_SCHEMA = z.object({
|
|
|
127
128
|
slot: z.number().int().nonnegative(),
|
|
128
129
|
})
|
|
129
130
|
|
|
131
|
+
const BUFFER_PARAMETER_DEPENDENCIES_SCHEMA = z.object({
|
|
132
|
+
parameterActionDependencyIds: z.string().array(),
|
|
133
|
+
parameterEventDependencyIds: z.string().array(),
|
|
134
|
+
parameterSignalDependencyIds: z.string().array(),
|
|
135
|
+
})
|
|
136
|
+
|
|
137
|
+
const BUFFER_PRIMARY_POSITION_SCHEMA = z.enum(["first", "last"])
|
|
138
|
+
const CORRELATION_STREAM_NAMES_SCHEMA = z
|
|
139
|
+
.string()
|
|
140
|
+
.min(1)
|
|
141
|
+
.array()
|
|
142
|
+
.min(2)
|
|
143
|
+
.refine((names) => new Set(names).size === names.length, {
|
|
144
|
+
message: "Correlation stream names must be unique.",
|
|
145
|
+
})
|
|
146
|
+
|
|
130
147
|
const CORRELATION_ENTRY_SCHEMA = SIGNAL_INVOCATION_DEPENDENCIES_SCHEMA.extend({
|
|
131
148
|
key: encodableSchema,
|
|
132
|
-
order:
|
|
149
|
+
order: CORRELATION_STREAM_NAMES_SCHEMA.optional(),
|
|
133
150
|
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
134
151
|
streamName: z.string().min(1),
|
|
135
|
-
streamNames:
|
|
152
|
+
streamNames: CORRELATION_STREAM_NAMES_SCHEMA,
|
|
136
153
|
ttl: z.union([z.string().min(1), z.number().nonnegative()]).optional(),
|
|
154
|
+
}).superRefine((entry, context) => {
|
|
155
|
+
if (!entry.streamNames.includes(entry.streamName)) {
|
|
156
|
+
context.addIssue({
|
|
157
|
+
code: "custom",
|
|
158
|
+
message: "Correlation stream must be included in streamNames.",
|
|
159
|
+
path: ["streamName"],
|
|
160
|
+
})
|
|
161
|
+
}
|
|
162
|
+
if (
|
|
163
|
+
entry.order &&
|
|
164
|
+
(entry.order.length !== entry.streamNames.length ||
|
|
165
|
+
entry.order.some((name) => !entry.streamNames.includes(name)))
|
|
166
|
+
) {
|
|
167
|
+
context.addIssue({
|
|
168
|
+
code: "custom",
|
|
169
|
+
message: "Correlation order must name every stream exactly once.",
|
|
170
|
+
path: ["order"],
|
|
171
|
+
})
|
|
172
|
+
}
|
|
137
173
|
})
|
|
138
174
|
|
|
175
|
+
const COLLECTION_ENTRY_SCHEMA = SIGNAL_INVOCATION_DEPENDENCIES_SCHEMA.extend({
|
|
176
|
+
count: z.number().int().positive(),
|
|
177
|
+
key: encodableSchema,
|
|
178
|
+
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
179
|
+
primaryPosition: BUFFER_PRIMARY_POSITION_SCHEMA,
|
|
180
|
+
ttl: z.union([z.string().min(1), z.number().nonnegative()]).optional(),
|
|
181
|
+
}).extend(BUFFER_PARAMETER_DEPENDENCIES_SCHEMA.shape)
|
|
182
|
+
|
|
183
|
+
const WINDOW_ENTRY_SCHEMA = SIGNAL_INVOCATION_DEPENDENCIES_SCHEMA.extend({
|
|
184
|
+
duration: z.union([z.string().min(1), z.number().nonnegative()]),
|
|
185
|
+
key: encodableSchema,
|
|
186
|
+
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
187
|
+
primaryPosition: BUFFER_PRIMARY_POSITION_SCHEMA,
|
|
188
|
+
ttl: z.union([z.string().min(1), z.number().nonnegative()]).optional(),
|
|
189
|
+
}).extend(BUFFER_PARAMETER_DEPENDENCIES_SCHEMA.shape)
|
|
190
|
+
|
|
139
191
|
const SIGNAL_INVOCATION_SCHEMA = z.union([
|
|
140
192
|
SIGNAL_INVOCATION_DEPENDENCIES_SCHEMA.extend({
|
|
141
193
|
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA.optional(),
|
|
@@ -154,6 +206,7 @@ const SIGNAL_INVOCATION_SCHEMA = z.union([
|
|
|
154
206
|
|
|
155
207
|
const SIGNAL_BATCH_OUTCOME_BASE_SCHEMA =
|
|
156
208
|
SIGNAL_INVOCATION_DEPENDENCIES_SCHEMA.extend({
|
|
209
|
+
contextId: z.string(),
|
|
157
210
|
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
158
211
|
signalInvocationId: z.string(),
|
|
159
212
|
})
|
|
@@ -171,44 +224,55 @@ const SIGNAL_BATCH_OUTCOME_SCHEMA = z.union([
|
|
|
171
224
|
SIGNAL_BATCH_OUTCOME_BASE_SCHEMA.extend({ status: z.literal("succeeded") }),
|
|
172
225
|
])
|
|
173
226
|
|
|
227
|
+
const ACTION_VALUE_OUTCOME_BASE_SCHEMA = z.object({
|
|
228
|
+
actionInvocationId: z.string(),
|
|
229
|
+
contextId: z.string(),
|
|
230
|
+
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
231
|
+
slot: z.number().int(),
|
|
232
|
+
})
|
|
233
|
+
|
|
174
234
|
const ACTION_VALUE_OUTCOME_SCHEMA = z.union([
|
|
175
|
-
|
|
176
|
-
actionInvocationId: z.string(),
|
|
235
|
+
ACTION_VALUE_OUTCOME_BASE_SCHEMA.extend({
|
|
177
236
|
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
178
|
-
slot: z.number().int(),
|
|
179
237
|
status: z.literal("failed"),
|
|
180
238
|
failure: SIGNAL_FAILURE_SCHEMA,
|
|
181
239
|
}),
|
|
182
|
-
|
|
183
|
-
actionInvocationId: z.string(),
|
|
184
|
-
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
240
|
+
ACTION_VALUE_OUTCOME_BASE_SCHEMA.extend({
|
|
185
241
|
reason: z.literal("closed-dependency"),
|
|
186
|
-
slot: z.number().int(),
|
|
187
242
|
status: z.literal("skipped"),
|
|
188
243
|
}),
|
|
189
|
-
|
|
190
|
-
actionInvocationId: z.string(),
|
|
244
|
+
ACTION_VALUE_OUTCOME_BASE_SCHEMA.extend({
|
|
191
245
|
failure: SIGNAL_FAILURE_SCHEMA,
|
|
192
|
-
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
193
246
|
reason: z.literal("failed-dependency"),
|
|
194
|
-
slot: z.number().int(),
|
|
195
247
|
status: z.literal("skipped"),
|
|
196
248
|
}),
|
|
197
|
-
|
|
198
|
-
actionInvocationId: z.string(),
|
|
199
|
-
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
249
|
+
ACTION_VALUE_OUTCOME_BASE_SCHEMA.extend({
|
|
200
250
|
output: encodableSchema,
|
|
201
|
-
slot: z.number().int(),
|
|
202
251
|
status: z.literal("succeeded"),
|
|
203
252
|
}),
|
|
204
253
|
])
|
|
205
254
|
|
|
206
255
|
const SIGNAL_VALUE_OUTCOME_BASE_SCHEMA = z.object({
|
|
256
|
+
contextId: z.string(),
|
|
207
257
|
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
208
258
|
signalInvocationId: z.string(),
|
|
209
259
|
slot: z.number().int(),
|
|
210
260
|
})
|
|
211
261
|
|
|
262
|
+
const RUNTIME_CONTEXT_PARENT_SCHEMA = z.object({
|
|
263
|
+
contextId: z.string(),
|
|
264
|
+
isPrimary: z.boolean(),
|
|
265
|
+
parentContextId: z.string(),
|
|
266
|
+
position: z.number().int().nonnegative(),
|
|
267
|
+
})
|
|
268
|
+
|
|
269
|
+
const BUFFER_VALUE_GROUP_SCHEMA = z.object({
|
|
270
|
+
items: SIGNAL_INVOCATION_DEPENDENCIES_SCHEMA.omit({ slot: true })
|
|
271
|
+
.extend({ contextId: z.string() })
|
|
272
|
+
.array(),
|
|
273
|
+
signalInvocationId: z.string(),
|
|
274
|
+
})
|
|
275
|
+
|
|
212
276
|
const SIGNAL_VALUE_OUTCOME_SCHEMA = z.union([
|
|
213
277
|
SIGNAL_VALUE_OUTCOME_BASE_SCHEMA.extend({
|
|
214
278
|
selectedIndex: z.number().int().nonnegative().optional(),
|
|
@@ -227,10 +291,13 @@ const SIGNAL_VALUE_OUTCOME_SCHEMA = z.union([
|
|
|
227
291
|
|
|
228
292
|
const RUNTIME_VALUE_CONTEXT_SCHEMA = z.object({
|
|
229
293
|
actionOutputs: ACTION_VALUE_OUTCOME_SCHEMA.array(),
|
|
294
|
+
bufferGroups: BUFFER_VALUE_GROUP_SCHEMA.array(),
|
|
230
295
|
contextId: z.string(),
|
|
296
|
+
contextParents: RUNTIME_CONTEXT_PARENT_SCHEMA.array(),
|
|
231
297
|
events: z
|
|
232
298
|
.object({
|
|
233
299
|
automationEventId: z.string(),
|
|
300
|
+
contextId: z.string(),
|
|
234
301
|
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
235
302
|
payload: encodableSchema,
|
|
236
303
|
slot: z.number().int(),
|
|
@@ -242,9 +309,11 @@ const RUNTIME_VALUE_CONTEXT_SCHEMA = z.object({
|
|
|
242
309
|
const RUNTIME_RUN_CONTEXT_SCHEMA = z.object({
|
|
243
310
|
actions: ACTION_RUN_INVOCATION_SCHEMA.array(),
|
|
244
311
|
contextId: z.string(),
|
|
312
|
+
contextParents: RUNTIME_CONTEXT_PARENT_SCHEMA.array(),
|
|
245
313
|
events: z
|
|
246
314
|
.object({
|
|
247
315
|
automationEventId: z.string(),
|
|
316
|
+
contextId: z.string(),
|
|
248
317
|
outcomeSeq: OUTCOME_SEQUENCE_SCHEMA,
|
|
249
318
|
slot: z.number().int(),
|
|
250
319
|
})
|
|
@@ -406,9 +475,11 @@ export const runtimeContract = {
|
|
|
406
475
|
.input(
|
|
407
476
|
z.object({
|
|
408
477
|
actionInvocations: ACTION_INVOCATION_SCHEMA.array().default([]),
|
|
478
|
+
collectionEntries: COLLECTION_ENTRY_SCHEMA.array().default([]),
|
|
409
479
|
correlationEntries: CORRELATION_ENTRY_SCHEMA.array().default([]),
|
|
410
480
|
settled: z.boolean().default(true),
|
|
411
481
|
signalInvocations: SIGNAL_INVOCATION_SCHEMA.array().default([]),
|
|
482
|
+
windowEntries: WINDOW_ENTRY_SCHEMA.array().default([]),
|
|
412
483
|
}),
|
|
413
484
|
)
|
|
414
485
|
.output(z.void()),
|