@shipfox/expression 1.2.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -12
- package/dist/evaluator/errors.d.ts.map +1 -1
- package/dist/evaluator/index.d.ts +1 -0
- package/dist/evaluator/index.d.ts.map +1 -1
- package/dist/evaluator/index.js +1 -0
- package/dist/evaluator/index.js.map +1 -1
- package/dist/evaluator/rehydrate-json-expression.d.ts +4 -0
- package/dist/evaluator/rehydrate-json-expression.d.ts.map +1 -0
- package/dist/evaluator/rehydrate-json-expression.js +44 -0
- package/dist/evaluator/rehydrate-json-expression.js.map +1 -0
- package/dist/expression/create-workflow-expression.d.ts.map +1 -1
- package/dist/expression/create-workflow-expression.js +23 -1
- package/dist/expression/create-workflow-expression.js.map +1 -1
- package/dist/expression/errors.d.ts.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/plan/context-key-access.d.ts +2 -0
- package/dist/plan/context-key-access.d.ts.map +1 -1
- package/dist/plan/context-key-access.js +10 -4
- package/dist/plan/context-key-access.js.map +1 -1
- package/dist/plan/evaluate-planned-predicate.d.ts.map +1 -1
- package/dist/plan/evaluate-planned-predicate.js +2 -2
- package/dist/plan/evaluate-planned-predicate.js.map +1 -1
- package/dist/resolver/errors.d.ts.map +1 -1
- package/dist/run/hoist-run-command.d.ts +8 -0
- package/dist/run/hoist-run-command.d.ts.map +1 -1
- package/dist/run/hoist-run-command.js +28 -3
- package/dist/run/hoist-run-command.js.map +1 -1
- package/dist/run/shell-code-position.d.ts +21 -0
- package/dist/run/shell-code-position.d.ts.map +1 -0
- package/dist/run/shell-code-position.js +623 -0
- package/dist/run/shell-code-position.js.map +1 -0
- package/dist/run/shell-quoting.d.ts +5 -1
- package/dist/run/shell-quoting.d.ts.map +1 -1
- package/dist/run/shell-quoting.js +37 -6
- package/dist/run/shell-quoting.js.map +1 -1
- package/dist/template/errors.d.ts.map +1 -1
- package/dist/tsconfig.test.tsbuildinfo +1 -1
- package/dist/workflow-context/workflow-context-docs.d.ts +185 -0
- package/dist/workflow-context/workflow-context-docs.d.ts.map +1 -0
- package/dist/workflow-context/workflow-context-docs.js +168 -0
- package/dist/workflow-context/workflow-context-docs.js.map +1 -0
- package/dist/workflow-context/workflow-context.d.ts +234 -249
- package/dist/workflow-context/workflow-context.d.ts.map +1 -1
- package/dist/workflow-context/workflow-context.js +201 -85
- package/dist/workflow-context/workflow-context.js.map +1 -1
- package/package.json +2 -2
- package/dist/template/extract-cel-untrusted-path-accesses.d.ts +0 -5
- package/dist/template/extract-cel-untrusted-path-accesses.d.ts.map +0 -1
- package/dist/template/extract-cel-untrusted-path-accesses.js +0 -140
- package/dist/template/extract-cel-untrusted-path-accesses.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-context.d.ts","sourceRoot":"","sources":["../../src/workflow-context/workflow-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AACpG,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,mCAAmC,CAAC;AAE3C,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"workflow-context.d.ts","sourceRoot":"","sources":["../../src/workflow-context/workflow-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { outputDeclarationsToExpressionFields } from '../outputs/output-declarations.js';
|
|
2
2
|
export const workflowContextNames = [
|
|
3
|
+
'workflow',
|
|
3
4
|
'run',
|
|
4
5
|
'trigger',
|
|
5
6
|
'event',
|
|
@@ -50,29 +51,48 @@ export const workflowContextReservedRoots = {
|
|
|
50
51
|
host: 'runner'
|
|
51
52
|
}
|
|
52
53
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
// `workflow` holds definition facts and `run` holds instance facts, mirroring
|
|
55
|
+
// the `job` and `execution` pair one level down.
|
|
56
|
+
const workflowTypeEnvironment = {
|
|
57
|
+
workflow: {
|
|
58
|
+
kind: 'object',
|
|
59
|
+
fields: {
|
|
60
|
+
id: 'string',
|
|
61
|
+
name: 'string'
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
57
65
|
const runTypeEnvironment = {
|
|
58
66
|
run: {
|
|
59
67
|
kind: 'object',
|
|
60
68
|
fields: {
|
|
61
69
|
id: 'string',
|
|
70
|
+
number: 'int',
|
|
62
71
|
name: 'string',
|
|
63
|
-
definition_id: 'string',
|
|
64
72
|
project_id: 'string',
|
|
65
73
|
workspace_id: 'string',
|
|
66
74
|
created_at: 'timestamp'
|
|
67
75
|
}
|
|
68
76
|
}
|
|
69
77
|
};
|
|
78
|
+
const triggerReferenceFields = {
|
|
79
|
+
project: {
|
|
80
|
+
kind: 'object',
|
|
81
|
+
fields: {
|
|
82
|
+
id: 'string'
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
repository: 'string',
|
|
86
|
+
ref: 'string',
|
|
87
|
+
commit: 'string'
|
|
88
|
+
};
|
|
70
89
|
const triggerTypeEnvironment = {
|
|
71
90
|
trigger: {
|
|
72
91
|
kind: 'object',
|
|
73
92
|
fields: {
|
|
74
93
|
source: 'string',
|
|
75
|
-
event: 'string'
|
|
94
|
+
event: 'string',
|
|
95
|
+
...triggerReferenceFields
|
|
76
96
|
}
|
|
77
97
|
}
|
|
78
98
|
};
|
|
@@ -80,7 +100,8 @@ const jobTypeEnvironment = {
|
|
|
80
100
|
job: {
|
|
81
101
|
kind: 'object',
|
|
82
102
|
fields: {
|
|
83
|
-
key: 'string'
|
|
103
|
+
key: 'string',
|
|
104
|
+
name: 'string'
|
|
84
105
|
}
|
|
85
106
|
}
|
|
86
107
|
};
|
|
@@ -91,6 +112,7 @@ const executionEventType = {
|
|
|
91
112
|
event: 'string',
|
|
92
113
|
delivery_id: 'string',
|
|
93
114
|
received_at: 'timestamp',
|
|
115
|
+
...triggerReferenceFields,
|
|
94
116
|
data: {
|
|
95
117
|
kind: 'object',
|
|
96
118
|
fields: {}
|
|
@@ -103,7 +125,6 @@ const executionType = {
|
|
|
103
125
|
index: 'int',
|
|
104
126
|
name: 'string',
|
|
105
127
|
status: 'string',
|
|
106
|
-
failed: 'bool',
|
|
107
128
|
started_at: 'timestamp',
|
|
108
129
|
finished_at: 'timestamp',
|
|
109
130
|
events: {
|
|
@@ -122,7 +143,13 @@ const executionsTypeEnvironment = {
|
|
|
122
143
|
}
|
|
123
144
|
};
|
|
124
145
|
const executionTypeEnvironment = {
|
|
125
|
-
execution:
|
|
146
|
+
execution: {
|
|
147
|
+
kind: 'object',
|
|
148
|
+
fields: {
|
|
149
|
+
...executionType.fields,
|
|
150
|
+
failed: 'bool'
|
|
151
|
+
}
|
|
152
|
+
}
|
|
126
153
|
};
|
|
127
154
|
const stepGateType = {
|
|
128
155
|
kind: 'object',
|
|
@@ -155,7 +182,7 @@ const stepEntityType = {
|
|
|
155
182
|
}
|
|
156
183
|
}
|
|
157
184
|
};
|
|
158
|
-
const
|
|
185
|
+
const stepDispatchTypeEnvironment = {
|
|
159
186
|
step: {
|
|
160
187
|
kind: 'object',
|
|
161
188
|
fields: {
|
|
@@ -167,7 +194,14 @@ const stepTypeEnvironment = {
|
|
|
167
194
|
from: stepEntityType,
|
|
168
195
|
feedback: 'string'
|
|
169
196
|
}
|
|
170
|
-
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
const stepReportTypeEnvironment = {
|
|
202
|
+
step: {
|
|
203
|
+
kind: 'object',
|
|
204
|
+
fields: {
|
|
171
205
|
exit_code: 'int',
|
|
172
206
|
status: 'string',
|
|
173
207
|
outputs: {
|
|
@@ -176,6 +210,15 @@ const stepTypeEnvironment = {
|
|
|
176
210
|
}
|
|
177
211
|
}
|
|
178
212
|
};
|
|
213
|
+
const stepTypeEnvironment = {
|
|
214
|
+
step: {
|
|
215
|
+
kind: 'object',
|
|
216
|
+
fields: {
|
|
217
|
+
...stepDispatchTypeEnvironment.step.fields,
|
|
218
|
+
...stepReportTypeEnvironment.step.fields
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
};
|
|
179
222
|
export function buildTypedRootsEnvironment(params) {
|
|
180
223
|
return {
|
|
181
224
|
...params.steps === undefined ? {} : {
|
|
@@ -193,9 +236,16 @@ export function buildTypedRootsEnvironment(params) {
|
|
|
193
236
|
};
|
|
194
237
|
}
|
|
195
238
|
export const workflowContextDefinitions = {
|
|
239
|
+
workflow: {
|
|
240
|
+
availability: 'run-creation',
|
|
241
|
+
sensitivity: 'persistable',
|
|
242
|
+
host: 'server',
|
|
243
|
+
shape: 'known',
|
|
244
|
+
checkMode: 'typed',
|
|
245
|
+
typeEnvironment: workflowTypeEnvironment
|
|
246
|
+
},
|
|
196
247
|
run: {
|
|
197
248
|
availability: 'run-creation',
|
|
198
|
-
trustTier: 'trusted',
|
|
199
249
|
sensitivity: 'persistable',
|
|
200
250
|
host: 'server',
|
|
201
251
|
shape: 'known',
|
|
@@ -204,7 +254,6 @@ export const workflowContextDefinitions = {
|
|
|
204
254
|
},
|
|
205
255
|
trigger: {
|
|
206
256
|
availability: 'ingest',
|
|
207
|
-
trustTier: 'trusted',
|
|
208
257
|
sensitivity: 'persistable',
|
|
209
258
|
host: 'server',
|
|
210
259
|
shape: 'known',
|
|
@@ -213,7 +262,6 @@ export const workflowContextDefinitions = {
|
|
|
213
262
|
},
|
|
214
263
|
event: {
|
|
215
264
|
availability: 'ingest',
|
|
216
|
-
trustTier: 'untrusted',
|
|
217
265
|
sensitivity: 'persistable',
|
|
218
266
|
host: 'server',
|
|
219
267
|
shape: 'open',
|
|
@@ -221,7 +269,6 @@ export const workflowContextDefinitions = {
|
|
|
221
269
|
},
|
|
222
270
|
inputs: {
|
|
223
271
|
availability: 'run-creation',
|
|
224
|
-
trustTier: 'untrusted',
|
|
225
272
|
sensitivity: 'persistable',
|
|
226
273
|
host: 'server',
|
|
227
274
|
shape: 'open',
|
|
@@ -229,7 +276,6 @@ export const workflowContextDefinitions = {
|
|
|
229
276
|
},
|
|
230
277
|
job: {
|
|
231
278
|
availability: 'run-creation',
|
|
232
|
-
trustTier: 'trusted',
|
|
233
279
|
sensitivity: 'persistable',
|
|
234
280
|
host: 'server',
|
|
235
281
|
shape: 'known',
|
|
@@ -238,31 +284,22 @@ export const workflowContextDefinitions = {
|
|
|
238
284
|
},
|
|
239
285
|
executions: {
|
|
240
286
|
availability: 'execution-creation',
|
|
241
|
-
trustTier: 'trusted',
|
|
242
287
|
sensitivity: 'persistable',
|
|
243
288
|
host: 'server',
|
|
244
289
|
shape: 'known',
|
|
245
290
|
checkMode: 'typed',
|
|
246
|
-
typeEnvironment: executionsTypeEnvironment
|
|
247
|
-
untrustedPaths: [
|
|
248
|
-
'events'
|
|
249
|
-
]
|
|
291
|
+
typeEnvironment: executionsTypeEnvironment
|
|
250
292
|
},
|
|
251
293
|
execution: {
|
|
252
294
|
availability: 'execution-creation',
|
|
253
|
-
trustTier: 'trusted',
|
|
254
295
|
sensitivity: 'persistable',
|
|
255
296
|
host: 'server',
|
|
256
297
|
shape: 'known',
|
|
257
298
|
checkMode: 'typed',
|
|
258
|
-
typeEnvironment: executionTypeEnvironment
|
|
259
|
-
untrustedPaths: [
|
|
260
|
-
'events'
|
|
261
|
-
]
|
|
299
|
+
typeEnvironment: executionTypeEnvironment
|
|
262
300
|
},
|
|
263
301
|
jobs: {
|
|
264
302
|
availability: 'job-activation',
|
|
265
|
-
trustTier: 'untrusted',
|
|
266
303
|
sensitivity: 'persistable',
|
|
267
304
|
host: 'server',
|
|
268
305
|
shape: 'open',
|
|
@@ -270,7 +307,6 @@ export const workflowContextDefinitions = {
|
|
|
270
307
|
},
|
|
271
308
|
needs: {
|
|
272
309
|
availability: 'job-activation',
|
|
273
|
-
trustTier: 'untrusted',
|
|
274
310
|
sensitivity: 'persistable',
|
|
275
311
|
host: 'server',
|
|
276
312
|
shape: 'known',
|
|
@@ -286,7 +322,6 @@ export const workflowContextDefinitions = {
|
|
|
286
322
|
},
|
|
287
323
|
steps: {
|
|
288
324
|
availability: 'step-dispatch',
|
|
289
|
-
trustTier: 'trusted',
|
|
290
325
|
sensitivity: 'persistable',
|
|
291
326
|
host: 'server',
|
|
292
327
|
shape: 'open',
|
|
@@ -294,19 +329,14 @@ export const workflowContextDefinitions = {
|
|
|
294
329
|
},
|
|
295
330
|
step: {
|
|
296
331
|
availability: 'step-dispatch',
|
|
297
|
-
trustTier: 'trusted',
|
|
298
332
|
sensitivity: 'persistable',
|
|
299
333
|
host: 'server',
|
|
300
334
|
shape: 'known',
|
|
301
335
|
checkMode: 'typed',
|
|
302
|
-
typeEnvironment: stepTypeEnvironment
|
|
303
|
-
untrustedPaths: [
|
|
304
|
-
'outputs'
|
|
305
|
-
]
|
|
336
|
+
typeEnvironment: stepTypeEnvironment
|
|
306
337
|
},
|
|
307
338
|
vars: {
|
|
308
339
|
availability: 'run-creation',
|
|
309
|
-
trustTier: 'trusted',
|
|
310
340
|
sensitivity: 'persistable',
|
|
311
341
|
host: 'server',
|
|
312
342
|
shape: 'open',
|
|
@@ -314,7 +344,6 @@ export const workflowContextDefinitions = {
|
|
|
314
344
|
literalKeyOnly: true
|
|
315
345
|
},
|
|
316
346
|
secrets: {
|
|
317
|
-
trustTier: 'trusted',
|
|
318
347
|
sensitivity: 'ephemeral',
|
|
319
348
|
host: 'runner',
|
|
320
349
|
shape: 'open',
|
|
@@ -327,13 +356,6 @@ export const workflowFieldFailurePolicies = [
|
|
|
327
356
|
'degrade',
|
|
328
357
|
'fail-closed'
|
|
329
358
|
];
|
|
330
|
-
const trustedOnlyTrustTiers = [
|
|
331
|
-
'trusted'
|
|
332
|
-
];
|
|
333
|
-
const anyTrustTier = [
|
|
334
|
-
'trusted',
|
|
335
|
-
'untrusted'
|
|
336
|
-
];
|
|
337
359
|
const serverOnlyHosts = [
|
|
338
360
|
'server'
|
|
339
361
|
];
|
|
@@ -343,71 +365,87 @@ const anyHost = [
|
|
|
343
365
|
];
|
|
344
366
|
export const workflowInterpolationFieldPolicies = {
|
|
345
367
|
run: {
|
|
346
|
-
acceptedTrustTiers: trustedOnlyTrustTiers,
|
|
347
368
|
acceptedHosts: anyHost,
|
|
348
|
-
failurePolicy: 'fail'
|
|
349
|
-
renderSanitize: false
|
|
369
|
+
failurePolicy: 'fail'
|
|
350
370
|
},
|
|
351
371
|
'env.value': {
|
|
352
|
-
acceptedTrustTiers: anyTrustTier,
|
|
353
372
|
acceptedHosts: anyHost,
|
|
354
|
-
failurePolicy: 'fail'
|
|
355
|
-
renderSanitize: false
|
|
373
|
+
failurePolicy: 'fail'
|
|
356
374
|
},
|
|
357
375
|
'agent.prompt': {
|
|
358
|
-
acceptedTrustTiers: anyTrustTier,
|
|
359
376
|
acceptedHosts: serverOnlyHosts,
|
|
360
|
-
failurePolicy: 'fail'
|
|
361
|
-
renderSanitize: false
|
|
377
|
+
failurePolicy: 'fail'
|
|
362
378
|
},
|
|
363
379
|
'agent.model': {
|
|
364
|
-
acceptedTrustTiers: trustedOnlyTrustTiers,
|
|
365
380
|
acceptedHosts: serverOnlyHosts,
|
|
366
|
-
failurePolicy: 'fail'
|
|
367
|
-
renderSanitize: false
|
|
381
|
+
failurePolicy: 'fail'
|
|
368
382
|
},
|
|
369
383
|
'agent.provider': {
|
|
370
|
-
acceptedTrustTiers: trustedOnlyTrustTiers,
|
|
371
384
|
acceptedHosts: serverOnlyHosts,
|
|
372
|
-
failurePolicy: 'fail'
|
|
373
|
-
renderSanitize: false
|
|
385
|
+
failurePolicy: 'fail'
|
|
374
386
|
},
|
|
375
387
|
'agent.thinking': {
|
|
376
|
-
acceptedTrustTiers: trustedOnlyTrustTiers,
|
|
377
388
|
acceptedHosts: serverOnlyHosts,
|
|
378
|
-
failurePolicy: 'fail'
|
|
379
|
-
renderSanitize: false
|
|
389
|
+
failurePolicy: 'fail'
|
|
380
390
|
},
|
|
381
391
|
'job.runner': {
|
|
382
|
-
acceptedTrustTiers: anyTrustTier,
|
|
383
392
|
acceptedHosts: serverOnlyHosts,
|
|
384
|
-
failurePolicy: 'fail'
|
|
385
|
-
renderSanitize: false
|
|
393
|
+
failurePolicy: 'fail'
|
|
386
394
|
},
|
|
387
395
|
'job.outputs': {
|
|
388
|
-
acceptedTrustTiers: anyTrustTier,
|
|
389
396
|
acceptedHosts: serverOnlyHosts,
|
|
390
397
|
failurePolicy: 'fail',
|
|
391
|
-
renderSanitize: false,
|
|
392
398
|
minimumFillTarget: 'execution-resolution'
|
|
393
399
|
},
|
|
394
|
-
'
|
|
395
|
-
acceptedTrustTiers: anyTrustTier,
|
|
400
|
+
'workflow.run_name': {
|
|
396
401
|
acceptedHosts: serverOnlyHosts,
|
|
397
402
|
failurePolicy: 'degrade',
|
|
398
|
-
|
|
403
|
+
minimumFillTarget: 'run-creation',
|
|
404
|
+
selfReference: {
|
|
405
|
+
root: 'run',
|
|
406
|
+
key: 'name'
|
|
407
|
+
}
|
|
399
408
|
},
|
|
400
|
-
'
|
|
401
|
-
acceptedTrustTiers: anyTrustTier,
|
|
409
|
+
'job.execution_name': {
|
|
402
410
|
acceptedHosts: serverOnlyHosts,
|
|
403
411
|
failurePolicy: 'degrade',
|
|
404
|
-
|
|
412
|
+
minimumFillTarget: 'execution-creation',
|
|
413
|
+
selfReference: {
|
|
414
|
+
root: 'execution',
|
|
415
|
+
key: 'name'
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
'step.name': {
|
|
419
|
+
acceptedHosts: serverOnlyHosts,
|
|
420
|
+
failurePolicy: 'degrade'
|
|
421
|
+
},
|
|
422
|
+
'step.working_directory': {
|
|
423
|
+
acceptedHosts: serverOnlyHosts,
|
|
424
|
+
failurePolicy: 'fail'
|
|
405
425
|
},
|
|
406
426
|
'step.feedback': {
|
|
407
|
-
acceptedTrustTiers: anyTrustTier,
|
|
408
427
|
acceptedHosts: serverOnlyHosts,
|
|
409
|
-
failurePolicy: 'fail'
|
|
410
|
-
|
|
428
|
+
failurePolicy: 'fail'
|
|
429
|
+
},
|
|
430
|
+
'checkout.project': {
|
|
431
|
+
acceptedHosts: serverOnlyHosts,
|
|
432
|
+
failurePolicy: 'fail'
|
|
433
|
+
},
|
|
434
|
+
'checkout.connection': {
|
|
435
|
+
acceptedHosts: serverOnlyHosts,
|
|
436
|
+
failurePolicy: 'fail'
|
|
437
|
+
},
|
|
438
|
+
'checkout.repository': {
|
|
439
|
+
acceptedHosts: serverOnlyHosts,
|
|
440
|
+
failurePolicy: 'fail'
|
|
441
|
+
},
|
|
442
|
+
'checkout.ref': {
|
|
443
|
+
acceptedHosts: serverOnlyHosts,
|
|
444
|
+
failurePolicy: 'fail'
|
|
445
|
+
},
|
|
446
|
+
'checkout.path': {
|
|
447
|
+
acceptedHosts: serverOnlyHosts,
|
|
448
|
+
failurePolicy: 'fail'
|
|
411
449
|
}
|
|
412
450
|
};
|
|
413
451
|
export const workflowInterpolationFields = Object.keys(workflowInterpolationFieldPolicies);
|
|
@@ -420,6 +458,56 @@ export const workflowPredicateFields = [
|
|
|
420
458
|
'job.if',
|
|
421
459
|
'step.if'
|
|
422
460
|
];
|
|
461
|
+
const listenerPredicateContextRoots = [
|
|
462
|
+
'event',
|
|
463
|
+
'workflow',
|
|
464
|
+
'run',
|
|
465
|
+
'trigger',
|
|
466
|
+
'inputs',
|
|
467
|
+
'vars',
|
|
468
|
+
'job',
|
|
469
|
+
'jobs'
|
|
470
|
+
];
|
|
471
|
+
/**
|
|
472
|
+
* The roots that the runtime passes to each server-evaluated predicate.
|
|
473
|
+
*
|
|
474
|
+
* This is intentionally narrower than lifecycle availability. A root can
|
|
475
|
+
* exist by the time a predicate runs and still not belong to that predicate's
|
|
476
|
+
* evaluation context.
|
|
477
|
+
*/ export const workflowPredicateContextRoots = {
|
|
478
|
+
'step.success': [
|
|
479
|
+
'step',
|
|
480
|
+
'vars'
|
|
481
|
+
],
|
|
482
|
+
'job.success': [
|
|
483
|
+
'executions',
|
|
484
|
+
'jobs',
|
|
485
|
+
'vars'
|
|
486
|
+
],
|
|
487
|
+
'trigger.filter': [
|
|
488
|
+
'event',
|
|
489
|
+
'trigger'
|
|
490
|
+
],
|
|
491
|
+
'listener.on': listenerPredicateContextRoots,
|
|
492
|
+
'listener.until': listenerPredicateContextRoots,
|
|
493
|
+
'job.if': [
|
|
494
|
+
'workflow',
|
|
495
|
+
'run',
|
|
496
|
+
'trigger',
|
|
497
|
+
'event',
|
|
498
|
+
'inputs',
|
|
499
|
+
'vars',
|
|
500
|
+
'jobs',
|
|
501
|
+
'needs'
|
|
502
|
+
],
|
|
503
|
+
'step.if': [
|
|
504
|
+
'vars',
|
|
505
|
+
'jobs',
|
|
506
|
+
'execution',
|
|
507
|
+
'step',
|
|
508
|
+
'steps'
|
|
509
|
+
]
|
|
510
|
+
};
|
|
423
511
|
export const workflowPredicateFieldFailurePolicy = 'fail-closed';
|
|
424
512
|
const workflowPredicateFieldMinimumFillTargets = {
|
|
425
513
|
'step.success': 'step-report',
|
|
@@ -430,6 +518,10 @@ const workflowPredicateFieldMinimumFillTargets = {
|
|
|
430
518
|
'job.if': 'job-activation',
|
|
431
519
|
'step.if': 'step-dispatch'
|
|
432
520
|
};
|
|
521
|
+
const workflowPredicateFieldTypeEnvironments = {
|
|
522
|
+
'step.success': stepReportTypeEnvironment,
|
|
523
|
+
'step.if': stepDispatchTypeEnvironment
|
|
524
|
+
};
|
|
433
525
|
export function getWorkflowContextDefinition(name) {
|
|
434
526
|
return workflowContextDefinitions[name];
|
|
435
527
|
}
|
|
@@ -472,19 +564,9 @@ export function getWorkflowContextTypeEnvironment(name) {
|
|
|
472
564
|
const context = getWorkflowContextDefinition(name);
|
|
473
565
|
return context.shape === 'known' ? context.typeEnvironment : undefined;
|
|
474
566
|
}
|
|
475
|
-
export function getWorkflowContextUntrustedPaths(name) {
|
|
476
|
-
const context = getWorkflowContextDefinition(name);
|
|
477
|
-
return context.shape === 'known' ? context.untrustedPaths : undefined;
|
|
478
|
-
}
|
|
479
|
-
export function workflowInterpolationFieldAcceptsTrustTier(field, trustTier) {
|
|
480
|
-
return workflowInterpolationFieldPolicies[field].acceptedTrustTiers.includes(trustTier);
|
|
481
|
-
}
|
|
482
567
|
export function workflowInterpolationFieldAcceptsHost(field, host) {
|
|
483
568
|
return workflowInterpolationFieldPolicies[field].acceptedHosts.includes(host);
|
|
484
569
|
}
|
|
485
|
-
export function workflowInterpolationFieldAcceptsContext(field, context) {
|
|
486
|
-
return workflowInterpolationFieldAcceptsTrustTier(field, workflowContextDefinitions[context].trustTier);
|
|
487
|
-
}
|
|
488
570
|
export function workflowContextRootRequiresLiteralKey(root) {
|
|
489
571
|
if (!isWorkflowContextName(root)) return false;
|
|
490
572
|
const definition = workflowContextDefinitions[root];
|
|
@@ -493,6 +575,9 @@ export function workflowContextRootRequiresLiteralKey(root) {
|
|
|
493
575
|
export function getWorkflowInterpolationFieldFailurePolicy(field) {
|
|
494
576
|
return workflowInterpolationFieldPolicies[field].failurePolicy;
|
|
495
577
|
}
|
|
578
|
+
export function getWorkflowInterpolationFieldSelfReference(field) {
|
|
579
|
+
return workflowInterpolationFieldPolicies[field].selfReference;
|
|
580
|
+
}
|
|
496
581
|
export function getWorkflowInterpolationFieldMinimumFillTarget(field) {
|
|
497
582
|
const policy = workflowInterpolationFieldPolicies[field];
|
|
498
583
|
return 'minimumFillTarget' in policy ? policy.minimumFillTarget : undefined;
|
|
@@ -500,6 +585,37 @@ export function getWorkflowInterpolationFieldMinimumFillTarget(field) {
|
|
|
500
585
|
export function getWorkflowPredicateFieldMinimumFillTarget(field) {
|
|
501
586
|
return workflowPredicateFieldMinimumFillTargets[field];
|
|
502
587
|
}
|
|
588
|
+
export function getWorkflowPredicateFieldTypeEnvironment(field, root) {
|
|
589
|
+
const typeEnvironment = workflowPredicateFieldTypeEnvironments[field];
|
|
590
|
+
if (typeEnvironment === undefined) return getWorkflowContextTypeEnvironment(root);
|
|
591
|
+
const rootType = typeEnvironment[root];
|
|
592
|
+
return rootType === undefined ? getWorkflowContextTypeEnvironment(root) : {
|
|
593
|
+
[root]: rootType
|
|
594
|
+
};
|
|
595
|
+
}
|
|
596
|
+
export function getWorkflowPredicateContextRoots(field) {
|
|
597
|
+
return workflowPredicateContextRoots[field];
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* The roots a field can read, whichever kind of field it is.
|
|
601
|
+
*
|
|
602
|
+
* A predicate has an enumerated contract because the runtime assembles one
|
|
603
|
+
* context for it. A template has no single context: each reference is filled
|
|
604
|
+
* where its data arrives, so its only field-level constraint is which host can
|
|
605
|
+
* resolve it. Callers that document or check fields should use this instead of
|
|
606
|
+
* choosing a mechanism themselves.
|
|
607
|
+
*/ export function contextRootsForField(field) {
|
|
608
|
+
if (isWorkflowPredicateField(field)) return workflowPredicateContextRoots[field];
|
|
609
|
+
const { acceptedHosts } = workflowInterpolationFieldPolicies[field];
|
|
610
|
+
return workflowContextNames.filter((name)=>acceptedHosts.includes(workflowContextDefinitions[name].host));
|
|
611
|
+
}
|
|
612
|
+
export function isWorkflowPredicateField(field) {
|
|
613
|
+
return workflowPredicateFields.includes(field);
|
|
614
|
+
}
|
|
615
|
+
export function projectWorkflowPredicateContext(field, context) {
|
|
616
|
+
const roots = new Set(getWorkflowPredicateContextRoots(field));
|
|
617
|
+
return Object.fromEntries(Object.entries(context).filter(([root])=>roots.has(root)));
|
|
618
|
+
}
|
|
503
619
|
export function workflowContextAvailabilityReference() {
|
|
504
620
|
return [
|
|
505
621
|
...workflowContextNames.map((root)=>{
|