@platforma-sdk/workflow-tengo 4.7.1 → 4.7.2
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/feats.lib.tengo +6 -1
- package/dist/tengo/lib/ll.lib.tengo +138 -1
- package/dist/tengo/lib/smart.lib.tengo +55 -1
- package/dist/tengo/lib/tpl.state-await.lib.tengo +1 -1
- 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.exec.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 +2 -2
|
@@ -38,5 +38,10 @@ export ll.toStrict({
|
|
|
38
38
|
commandExpressions: _isEnabled("commandExpressions") || _api >= 2, // rich expressions in command arguments ( {{ system.ram_bytes / 20 }} )
|
|
39
39
|
workdirLimits: _isEnabled("workdirLimits") || _api >= 4, // workdir storage controller can limit concurrency
|
|
40
40
|
computeLimits: _isEnabled("computeLimits"), // runner can plan CPU and RAM
|
|
41
|
-
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
fullFeaturedApi: _isEnabled("fullFeaturedAPI")
|
|
42
47
|
})
|
|
@@ -289,10 +289,137 @@ parseUrl := func(url) {
|
|
|
289
289
|
|
|
290
290
|
|
|
291
291
|
|
|
292
|
+
|
|
293
|
+
|
|
292
294
|
getCtx := func() {
|
|
295
|
+
if methodExists(plapi, "getPersistentCtx") {
|
|
296
|
+
return plapi.getPersistentCtx()
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
return plapi.getCtx()
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
getPersistentCtx := func() {
|
|
308
|
+
if methodExists(plapi, "getPersistentCtx") {
|
|
309
|
+
return plapi.getPersistentCtx()
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
|
|
293
313
|
return plapi.getCtx()
|
|
294
314
|
}
|
|
295
315
|
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
getExecutionCtx := func() {
|
|
327
|
+
assert(methodExists(plapi, "getExecutionCtx"), "ll.getExecutionCtx: method does not exists in this backend instance.")
|
|
328
|
+
return plapi.getExecutionCtx()
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
moduleVars := func(moduleName) {
|
|
338
|
+
assert(is_string(moduleName), "ll.moduleVars: moduleName must be a string")
|
|
339
|
+
|
|
340
|
+
name := "module/" + moduleName
|
|
341
|
+
|
|
342
|
+
ctx := getExecutionCtx()
|
|
343
|
+
if is_undefined(ctx[name]) {
|
|
344
|
+
ctx[name] = {}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
return {
|
|
348
|
+
get: func(k) {
|
|
349
|
+
return ctx[name][k]
|
|
350
|
+
},
|
|
351
|
+
|
|
352
|
+
set: func(k, v) {
|
|
353
|
+
ctx[name][k] = v
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
sha256Encode := func(b) {
|
|
362
|
+
assert(methodExists(plapi, "sha256Encode"), "ll.sha256Encode: method does not exists in this backend instance.")
|
|
363
|
+
return plapi.sha256Encode(b)
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
gzipEncode := func(b) {
|
|
370
|
+
assert(methodExists(plapi, "gzipEncode"), "ll.gzipEncode: method does not exists in this backend instance.")
|
|
371
|
+
return plapi.gzipEncode(b)
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
gzipDecode := func(b) {
|
|
378
|
+
assert(methodExists(plapi, "gzipDecode"), "ll.gzipDecode: method does not exists in this backend instance.")
|
|
379
|
+
return plapi.gzipDecode(b)
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
base32Encode := func(b) {
|
|
386
|
+
assert(methodExists(plapi, "base32Encode"), "ll.base32Encode: method does not exists in this backend instance.")
|
|
387
|
+
return plapi.base32Encode(b)
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
base32HexEncode := func(b) {
|
|
398
|
+
assert(methodExists(plapi, "base32HexEncode"), "ll.base32HexEncode: method does not exists in this backend instance.")
|
|
399
|
+
return plapi.base32HexEncode(b)
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
base32Decode := func(s) {
|
|
406
|
+
assert(methodExists(plapi, "base32Decode"), "ll.base32Decode: method does not exists in this backend instance.")
|
|
407
|
+
return plapi.base32Decode(s)
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
base32HexDecode := func(s) {
|
|
418
|
+
assert(methodExists(plapi, "base32HexDecode"), "ll.base32HexDecode: method does not exists in this backend instance.")
|
|
419
|
+
return plapi.base32HexDecode(s)
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
|
|
296
423
|
export toStrict({
|
|
297
424
|
apiVersion: apiVersion,
|
|
298
425
|
print: print,
|
|
@@ -315,5 +442,15 @@ export toStrict({
|
|
|
315
442
|
pathSeparator: pathSeparator,
|
|
316
443
|
filepathCanonize: filepathCanonize,
|
|
317
444
|
parseUrl: parseUrl,
|
|
318
|
-
getCtx: getCtx
|
|
445
|
+
getCtx: getCtx,
|
|
446
|
+
getPersistentCtx: getPersistentCtx,
|
|
447
|
+
getExecutionCtx: getExecutionCtx,
|
|
448
|
+
moduleVars: moduleVars,
|
|
449
|
+
sha256Encode: sha256Encode,
|
|
450
|
+
gzipEncode: gzipEncode,
|
|
451
|
+
gzipDecode: gzipDecode,
|
|
452
|
+
base32Encode: base32Encode,
|
|
453
|
+
base32HexEncode: base32HexEncode,
|
|
454
|
+
base32Decode: base32Decode,
|
|
455
|
+
base32HexDecode: base32HexDecode
|
|
319
456
|
})
|
|
@@ -362,6 +362,13 @@ resource = func(r) {
|
|
|
362
362
|
|
|
363
363
|
|
|
364
364
|
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
365
372
|
|
|
366
373
|
|
|
367
374
|
|
|
@@ -390,7 +397,14 @@ resource = func(r) {
|
|
|
390
397
|
|
|
391
398
|
|
|
392
399
|
isFinal: func() {
|
|
393
|
-
|
|
400
|
+
|
|
401
|
+
if false {
|
|
402
|
+
return self.info().IsFinal
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
info := self.info()
|
|
406
|
+
|
|
407
|
+
return info.ResourceReady || info.IsDuplicate || info.HasErrors
|
|
394
408
|
},
|
|
395
409
|
|
|
396
410
|
isEphemeral: func() {
|
|
@@ -702,6 +716,8 @@ resource = func(r) {
|
|
|
702
716
|
|
|
703
717
|
|
|
704
718
|
|
|
719
|
+
|
|
720
|
+
|
|
705
721
|
kvGet: func(key) {
|
|
706
722
|
return tx.resourceKeyValueGet(self.id, key)
|
|
707
723
|
},
|
|
@@ -712,6 +728,17 @@ resource = func(r) {
|
|
|
712
728
|
|
|
713
729
|
|
|
714
730
|
|
|
731
|
+
kvGetFlag: func(key) {
|
|
732
|
+
ll.assert(feats.fullFeaturedApi, "smart.resource.kvGetFlag: the feature is not available on older backends. Please, update the backend.")
|
|
733
|
+
return tx.resourceKeyValueGetFlag(self.id, key)
|
|
734
|
+
},
|
|
735
|
+
|
|
736
|
+
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
|
|
740
|
+
|
|
741
|
+
|
|
715
742
|
|
|
716
743
|
kvSet: func(key, value) {
|
|
717
744
|
tx.resourceKeyValueSet(self.id, key, value)
|
|
@@ -723,6 +750,17 @@ resource = func(r) {
|
|
|
723
750
|
|
|
724
751
|
|
|
725
752
|
|
|
753
|
+
kvSetFlag: func(key, flag) {
|
|
754
|
+
ll.assert(feats.fullFeaturedApi, "smart.resource.kvSetFlag: the feature is not available on older backends. Please, update the backend.")
|
|
755
|
+
tx.resourceKeyValueSetFlag(self.id, key, flag)
|
|
756
|
+
},
|
|
757
|
+
|
|
758
|
+
|
|
759
|
+
|
|
760
|
+
|
|
761
|
+
|
|
762
|
+
|
|
763
|
+
|
|
726
764
|
|
|
727
765
|
kvGetAsString: func(key) {
|
|
728
766
|
value := tx.resourceKeyValueGet(self.id, key)
|
|
@@ -1108,6 +1146,22 @@ field = func(f) {
|
|
|
1108
1146
|
|
|
1109
1147
|
buildFutureField: func(nameOrPath) {
|
|
1110
1148
|
return _buildFutureField(strictSelf, nameOrPath)
|
|
1149
|
+
},
|
|
1150
|
+
|
|
1151
|
+
|
|
1152
|
+
|
|
1153
|
+
|
|
1154
|
+
reset: func() {
|
|
1155
|
+
ll.assert(feats.fullFeaturedApi, "smart.field.reset: the feature is not available on older backends. Please, update the backend.")
|
|
1156
|
+
tx.resetField(self.id)
|
|
1157
|
+
},
|
|
1158
|
+
|
|
1159
|
+
|
|
1160
|
+
|
|
1161
|
+
|
|
1162
|
+
remove: func() {
|
|
1163
|
+
ll.assert(feats.fullFeaturedApi, "smart.field.remove: the feature is not available on older backends. Please, update the backend.")
|
|
1164
|
+
tx.removeField(self.id)
|
|
1111
1165
|
}
|
|
1112
1166
|
}
|
|
1113
1167
|
|
|
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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platforma-sdk/workflow-tengo",
|
|
3
|
-
"version": "4.7.
|
|
3
|
+
"version": "4.7.2",
|
|
4
4
|
"description": "Tengo SDK library",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@platforma-open/milaboratories.software-ptabler": "1.6.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@platforma-sdk/tengo-builder": "^2.1.
|
|
24
|
+
"@platforma-sdk/tengo-builder": "^2.1.8"
|
|
25
25
|
},
|
|
26
26
|
"scripts": {
|
|
27
27
|
"type-check": "pl-tengo check",
|