@platforma-sdk/workflow-tengo 4.9.0 → 4.9.1
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/tengo/lib/exec.lib.tengo +3 -0
- package/dist/tengo/lib/pframes.lib.tengo +14 -0
- package/dist/tengo/lib/render.lib.tengo +3 -3
- package/dist/tengo/lib/smart.lib.tengo +44 -10
- package/dist/tengo/lib/tpl.base.lib.tengo +14 -5
- package/dist/tengo/tpl/check_network.create_workdir_from_storage.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.download_blob.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.run_hello_world.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.run_hello_world_py.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.upload_blob.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.upload_template.plj.gz +0 -0
- package/dist/tengo/tpl/exec.R.create-renv.plj.gz +0 -0
- package/dist/tengo/tpl/exec.delayed-compute-allocation.impl.plj.gz +0 -0
- package/dist/tengo/tpl/exec.exec-impl.plj.gz +0 -0
- package/dist/tengo/tpl/exec.exec.plj.gz +0 -0
- package/dist/tengo/tpl/exec.load-software.impl.plj.gz +0 -0
- package/dist/tengo/tpl/exec.monetization_info.plj.gz +0 -0
- package/dist/tengo/tpl/exec.monetization_to_json.plj.gz +0 -0
- package/dist/tengo/tpl/exec.python.create-venv.plj.gz +0 -0
- package/dist/tengo/tpl/exec.python.install-deps.plj.gz +0 -0
- package/dist/tengo/tpl/exec.python.venv-bin-path.plj.gz +0 -0
- package/dist/tengo/tpl/ll.get-field.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.export-multiple-pcolumns.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.export-pframe-for-ui.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.export-pframe.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.export-single-pcolumn.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.import-dir.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.process-pcolumn-data.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.remove-nulls.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.slice-data.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.xsv-export-pframe.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.xsv-import-if-not-null.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.xsv-import-map.plj.gz +0 -0
- package/dist/tengo/tpl/waiter.waiter.plj.gz +0 -0
- package/dist/tengo/tpl/workdir.save.plj.gz +0 -0
- package/dist/tengo/tpl/workflow.build-ctx.plj.gz +0 -0
- package/dist/tengo/tpl/workflow.query-anchored.plj.gz +0 -0
- package/package.json +1 -1
|
@@ -144,6 +144,7 @@ builder := func() {
|
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
|
|
147
|
+
|
|
147
148
|
argWithVar: func(arg) {
|
|
148
149
|
ll.assert(is_string(arg), "exec.argWithVar(): argument with var must be a string, got: %v", arg)
|
|
149
150
|
|
|
@@ -180,6 +181,7 @@ builder := func() {
|
|
|
180
181
|
|
|
181
182
|
|
|
182
183
|
|
|
184
|
+
|
|
183
185
|
envWithVar: func(name, value) {
|
|
184
186
|
validation.assertType([name, value], ["string"])
|
|
185
187
|
|
|
@@ -340,6 +342,7 @@ builder := func() {
|
|
|
340
342
|
|
|
341
343
|
|
|
342
344
|
|
|
345
|
+
|
|
343
346
|
ram: func(amount) {
|
|
344
347
|
self.mem(amount)
|
|
345
348
|
return self
|
|
@@ -36,6 +36,7 @@ exportColumnData := func(data) {
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
39
|
+
|
|
39
40
|
pColumnResourceMapDataBuilder := func(keyLength) {
|
|
40
41
|
ll.panic("pframes.pColumnResourceMapDataBuilder is not supported any more; use pcolumn.resourceMapBuilder")
|
|
41
42
|
}
|
|
@@ -182,6 +183,10 @@ __primitiveValueTypes := { "Int": true, "Long": true, "Float": true, "Double": t
|
|
|
182
183
|
|
|
183
184
|
|
|
184
185
|
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
185
190
|
|
|
186
191
|
|
|
187
192
|
|
|
@@ -261,6 +266,11 @@ processColumn := func(input, bodyTpl, outputs, ...opts) {
|
|
|
261
266
|
extra = {}
|
|
262
267
|
}
|
|
263
268
|
|
|
269
|
+
metaExtra := opts.metaExtra
|
|
270
|
+
if is_undefined(metaExtra) {
|
|
271
|
+
metaExtra = {}
|
|
272
|
+
}
|
|
273
|
+
|
|
264
274
|
iterationAxesSpec := input.spec.axesSpec
|
|
265
275
|
|
|
266
276
|
|
|
@@ -372,6 +382,10 @@ processColumn := func(input, bodyTpl, outputs, ...opts) {
|
|
|
372
382
|
renderInputs["__extra_" + k] = v
|
|
373
383
|
}
|
|
374
384
|
|
|
385
|
+
for k, v in metaExtra {
|
|
386
|
+
renderInputs["__meta_" + k] = v
|
|
387
|
+
}
|
|
388
|
+
|
|
375
389
|
renderResult := render.createEphemeral(llProcessTpl, renderInputs)
|
|
376
390
|
|
|
377
391
|
self := undefined
|
|
@@ -29,7 +29,7 @@ _SUBSCRIPTION_FIELD := "subscription"
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
createUniversal := func(tpl, isEph, inputs, ...opts) {
|
|
32
|
-
|
|
32
|
+
metaInputs := opts[0]
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
rbuilder := undefined
|
|
@@ -54,10 +54,10 @@ createUniversal := func(tpl, isEph, inputs, ...opts) {
|
|
|
54
54
|
inputsMap.add(name, value)
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
for name, value in
|
|
57
|
+
for name, value in metaInputs {
|
|
58
58
|
if !is_undefined(value) {
|
|
59
59
|
if feats.serviceFields {
|
|
60
|
-
inputsMap.
|
|
60
|
+
inputsMap.addMeta(name, value)
|
|
61
61
|
} else {
|
|
62
62
|
inputsMap.add(name, value)
|
|
63
63
|
}
|
|
@@ -160,6 +160,7 @@ _getFutureField := func(from, name, fieldType, isEph) {
|
|
|
160
160
|
|
|
161
161
|
|
|
162
162
|
|
|
163
|
+
|
|
163
164
|
_buildFutureField := func(resourceOrField, nameOrPath, ...eph) {
|
|
164
165
|
globalIsEph := undefined
|
|
165
166
|
if len(eph) > 0 && is_bool(eph[0]) {
|
|
@@ -517,19 +518,20 @@ resource = func(r) {
|
|
|
517
518
|
},
|
|
518
519
|
|
|
519
520
|
|
|
520
|
-
|
|
521
|
+
_metaInputs: undefined,
|
|
521
522
|
|
|
522
523
|
|
|
523
524
|
|
|
524
|
-
|
|
525
|
-
|
|
525
|
+
|
|
526
|
+
metaInputs: func() {
|
|
527
|
+
if self._metaInputs == undefined {
|
|
526
528
|
info := self.info()
|
|
527
529
|
|
|
528
530
|
if !maps.containsKey(info, "ServiceFields") {
|
|
529
531
|
|
|
530
532
|
|
|
531
|
-
self.
|
|
532
|
-
return self.
|
|
533
|
+
self._metaInputs = {}
|
|
534
|
+
return self._metaInputs
|
|
533
535
|
}
|
|
534
536
|
|
|
535
537
|
svcs := maps.mapValues(info.ServiceFields, field)
|
|
@@ -537,9 +539,17 @@ resource = func(r) {
|
|
|
537
539
|
if !info.InputsLocked {
|
|
538
540
|
return svcs
|
|
539
541
|
}
|
|
540
|
-
self.
|
|
542
|
+
self._metaInputs = svcs
|
|
541
543
|
}
|
|
542
|
-
return self.
|
|
544
|
+
return self._metaInputs
|
|
545
|
+
},
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
serviceInputs: func() {
|
|
552
|
+
return self.metaInputs()
|
|
543
553
|
},
|
|
544
554
|
|
|
545
555
|
|
|
@@ -1211,7 +1221,7 @@ resourceBuilder = func(r) {
|
|
|
1211
1221
|
|
|
1212
1222
|
|
|
1213
1223
|
|
|
1214
|
-
|
|
1224
|
+
createMetaField: func(name) {
|
|
1215
1225
|
assertNotBuilt()
|
|
1216
1226
|
return self.createField(name, constants.FTYPE_SERVICE)
|
|
1217
1227
|
},
|
|
@@ -1221,6 +1231,17 @@ resourceBuilder = func(r) {
|
|
|
1221
1231
|
|
|
1222
1232
|
|
|
1223
1233
|
|
|
1234
|
+
|
|
1235
|
+
|
|
1236
|
+
createServiceField: func(name) {
|
|
1237
|
+
return self.createMetaField(name)
|
|
1238
|
+
},
|
|
1239
|
+
|
|
1240
|
+
|
|
1241
|
+
|
|
1242
|
+
|
|
1243
|
+
|
|
1244
|
+
|
|
1224
1245
|
createInputField: func(name) {
|
|
1225
1246
|
assertNotBuilt()
|
|
1226
1247
|
return self.createField(name, constants.FTYPE_INPUT)
|
|
@@ -1380,8 +1401,8 @@ _mapBuilder := func(isEph, ...resourceType) {
|
|
|
1380
1401
|
|
|
1381
1402
|
|
|
1382
1403
|
|
|
1383
|
-
|
|
1384
|
-
builder.
|
|
1404
|
+
addMeta: func(key, value) {
|
|
1405
|
+
builder.createMetaField(key).setRefOrJson(value)
|
|
1385
1406
|
return self
|
|
1386
1407
|
},
|
|
1387
1408
|
|
|
@@ -1390,6 +1411,19 @@ _mapBuilder := func(isEph, ...resourceType) {
|
|
|
1390
1411
|
|
|
1391
1412
|
|
|
1392
1413
|
|
|
1414
|
+
|
|
1415
|
+
|
|
1416
|
+
|
|
1417
|
+
|
|
1418
|
+
addService: func(key, value) {
|
|
1419
|
+
return self.addMeta(key, value)
|
|
1420
|
+
},
|
|
1421
|
+
|
|
1422
|
+
|
|
1423
|
+
|
|
1424
|
+
|
|
1425
|
+
|
|
1426
|
+
|
|
1393
1427
|
build: func() {
|
|
1394
1428
|
return builder.lockAndBuild()
|
|
1395
1429
|
}
|
|
@@ -68,9 +68,9 @@ _unmarshal := func(resource, preprocessors) {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
for field, value in resource.
|
|
71
|
+
for field, value in resource.metaInputs() {
|
|
72
72
|
if value.isErrorSet() {
|
|
73
|
-
ll.panic("
|
|
73
|
+
ll.panic("meta input %v field has error: %v", field, field.getError().getDataAsJson().message)
|
|
74
74
|
} else if value.isSet() {
|
|
75
75
|
result[field] = _unmarshal(value.getValue(), preprocessors)
|
|
76
76
|
} else {
|
|
@@ -183,8 +183,16 @@ tpl := func(ops) {
|
|
|
183
183
|
|
|
184
184
|
|
|
185
185
|
|
|
186
|
+
|
|
186
187
|
rawServiceInputs: func() {
|
|
187
|
-
return self.
|
|
188
|
+
return self.rawMetaInputs()
|
|
189
|
+
},
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
rawMetaInputs: func() {
|
|
195
|
+
return self.renderer().get(tplutil.INPUTS_MAP_FIELD).metaInputs()
|
|
188
196
|
},
|
|
189
197
|
|
|
190
198
|
|
|
@@ -395,8 +403,8 @@ tpl := func(ops) {
|
|
|
395
403
|
|
|
396
404
|
inputs := self.inputs()
|
|
397
405
|
|
|
398
|
-
if len(self.
|
|
399
|
-
ll.panic("prepare() statement is not available for templates with
|
|
406
|
+
if len(self.rawMetaInputs()) > 0 {
|
|
407
|
+
ll.panic("prepare() statement is not available for templates with meta inputs in this verson of workflow-tengo SDK")
|
|
400
408
|
}
|
|
401
409
|
|
|
402
410
|
|
|
@@ -648,6 +656,7 @@ tpl := func(ops) {
|
|
|
648
656
|
registerUnmarshaller : self.registerUnmarshaller,
|
|
649
657
|
rawInputs : self.rawInputs,
|
|
650
658
|
rawServiceInputs : self.rawServiceInputs,
|
|
659
|
+
rawMetaInputs : self.rawMetaInputs,
|
|
651
660
|
hasInput : self.hasInput,
|
|
652
661
|
inputs : self.inputs,
|
|
653
662
|
defineOutputs : self.defineOutputs,
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|