@platforma-sdk/workflow-tengo 5.8.0 → 5.8.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.
Files changed (45) hide show
  1. package/dist/tengo/lib/exec.limits.lib.tengo +14 -14
  2. package/dist/tengo/lib/exec.runcmd.lib.tengo +2 -6
  3. package/dist/tengo/lib/feats.lib.tengo +5 -5
  4. package/dist/tengo/lib/workdir.lib.tengo +1 -1
  5. package/dist/tengo/tpl/annotations.compute.plj.gz +0 -0
  6. package/dist/tengo/tpl/anonymize.deanonymize.plj.gz +0 -0
  7. package/dist/tengo/tpl/anonymize.impl.plj.gz +0 -0
  8. package/dist/tengo/tpl/check_network.create_workdir_from_storage.plj.gz +0 -0
  9. package/dist/tengo/tpl/check_network.download_blob.plj.gz +0 -0
  10. package/dist/tengo/tpl/check_network.run_hello_world.plj.gz +0 -0
  11. package/dist/tengo/tpl/check_network.run_hello_world_py.plj.gz +0 -0
  12. package/dist/tengo/tpl/check_network.upload_blob.plj.gz +0 -0
  13. package/dist/tengo/tpl/check_network.upload_template.plj.gz +0 -0
  14. package/dist/tengo/tpl/check_network.workdir_type_name_extractor.plj.gz +0 -0
  15. package/dist/tengo/tpl/exec.conda.create-env.plj.gz +0 -0
  16. package/dist/tengo/tpl/exec.delayed-compute-allocation.impl.plj.gz +0 -0
  17. package/dist/tengo/tpl/exec.exec-impl.plj.gz +0 -0
  18. package/dist/tengo/tpl/exec.exec.plj.gz +0 -0
  19. package/dist/tengo/tpl/exec.load-software.impl.plj.gz +0 -0
  20. package/dist/tengo/tpl/exec.monetization_info.plj.gz +0 -0
  21. package/dist/tengo/tpl/exec.monetization_to_json.plj.gz +0 -0
  22. package/dist/tengo/tpl/exec.python.create-venv.plj.gz +0 -0
  23. package/dist/tengo/tpl/exec.python.install-deps.plj.gz +0 -0
  24. package/dist/tengo/tpl/exec.python.venv-bin-path.plj.gz +0 -0
  25. package/dist/tengo/tpl/ll.get-field.plj.gz +0 -0
  26. package/dist/tengo/tpl/pframes.export-multiple-pcolumns.plj.gz +0 -0
  27. package/dist/tengo/tpl/pframes.export-parquet-pcolumn-chunk.plj.gz +0 -0
  28. package/dist/tengo/tpl/pframes.export-pframe-for-ui.plj.gz +0 -0
  29. package/dist/tengo/tpl/pframes.export-pframe.plj.gz +0 -0
  30. package/dist/tengo/tpl/pframes.export-single-pcolumn.plj.gz +0 -0
  31. package/dist/tengo/tpl/pframes.import-dir.plj.gz +0 -0
  32. package/dist/tengo/tpl/pframes.parse-to-json.plj.gz +0 -0
  33. package/dist/tengo/tpl/pframes.process-pcolumn-data.plj.gz +0 -0
  34. package/dist/tengo/tpl/pframes.remove-nulls.plj.gz +0 -0
  35. package/dist/tengo/tpl/pframes.slice-data.plj.gz +0 -0
  36. package/dist/tengo/tpl/pframes.xsv-export-pframe.plj.gz +0 -0
  37. package/dist/tengo/tpl/pframes.xsv-import-if-not-null.plj.gz +0 -0
  38. package/dist/tengo/tpl/pframes.xsv-import-map.plj.gz +0 -0
  39. package/dist/tengo/tpl/pt.import-dir.plj.gz +0 -0
  40. package/dist/tengo/tpl/pt.workflow-run.plj.gz +0 -0
  41. package/dist/tengo/tpl/waiter.waiter.plj.gz +0 -0
  42. package/dist/tengo/tpl/workdir.save.plj.gz +0 -0
  43. package/dist/tengo/tpl/workflow.build-ctx.plj.gz +0 -0
  44. package/dist/tengo/tpl/workflow.query-anchored.plj.gz +0 -0
  45. package/package.json +5 -5
@@ -9,7 +9,6 @@ ll := import("@platforma-sdk/workflow-tengo:ll")
9
9
 
10
10
  oop := import("@platforma-sdk/workflow-tengo:oop")
11
11
  validation := import("@platforma-sdk/workflow-tengo:validation")
12
- slices := import("@platforma-sdk/workflow-tengo:slices")
13
12
  smart := import("@platforma-sdk/workflow-tengo:smart")
14
13
  json := import("json")
15
14
  constants := import("@platforma-sdk/workflow-tengo:exec.constants")
@@ -23,18 +22,22 @@ _RTYPE_QUOTA := { Name: "Quota", Version: "1" }
23
22
 
24
23
 
25
24
 
26
- getRunnerType := func(queueName) {
25
+ getResourceTypes := func(queueName) {
27
26
 
28
- runner := feats.getRunnerFor(queueName)
29
- if !is_undefined(runner) {
30
- return runner
27
+ result := feats.getResourceTypes(queueName)
28
+ if !is_undefined(result) {
29
+ return result
31
30
  }
32
31
 
33
32
 
34
- if feats.hasBatch && !slices.hasElement([ constants.UI_TASKS_QUEUE ], queueName) {
35
- return constants.RUNNER_BATCH
33
+ runnerType := constants.RUNNER_EXECUTOR
34
+ if feats.hasBatch && queueName != constants.UI_TASKS_QUEUE {
35
+ runnerType = constants.RUNNER_BATCH
36
+ }
37
+ return {
38
+ runCommand: { Name: "RunCommand/" + runnerType, Version: "2" },
39
+ computeRequest: { Name: "ComputeRequest/" + runnerType, Version: "1" }
36
40
  }
37
- return constants.RUNNER_EXECUTOR
38
41
  }
39
42
 
40
43
 
@@ -168,9 +171,6 @@ storageSpaceRequestBuilder := func() {
168
171
  return self
169
172
  }
170
173
 
171
- _computeRequestResourceType := func(runnerType) {
172
- return { Name: "ComputeRequest/" + runnerType, Version: "1" }
173
- }
174
174
 
175
175
  _CR_FIELD_REQUEST := "request" // input
176
176
  _CR_FIELD_ALLOCATION := "allocation" // output
@@ -216,8 +216,8 @@ computeRequestBuilder := func() {
216
216
  ll.assert(smart.isReference(quota), "exec.limits.build: quota of ComputeRequest must be a valid reference")
217
217
  ll.assert(queue_name != "", "exec.limits.build: queue name is required for computeRequestBuilder")
218
218
 
219
- runnerType := getRunnerType(queue_name)
220
- requestBuilder := smart.ephemeralBuilder(_computeRequestResourceType(runnerType))
219
+ resourceTypes := getResourceTypes(queue_name)
220
+ requestBuilder := smart.ephemeralBuilder(resourceTypes.computeRequest)
221
221
 
222
222
  requestBuilder.getField(_CR_FIELD_REQUEST).set(quota)
223
223
 
@@ -235,7 +235,7 @@ computeRequestBuilder := func() {
235
235
  }
236
236
 
237
237
  export ll.toStrict({
238
- getRunnerType: getRunnerType,
238
+ getResourceTypes: getResourceTypes,
239
239
  quotaBuilder: quotaBuilder,
240
240
  storageSpaceRequestBuilder: storageSpaceRequestBuilder,
241
241
  computeRequestBuilder: computeRequestBuilder
@@ -19,10 +19,6 @@ limits := import("@platforma-sdk/workflow-tengo:exec.limits")
19
19
  delayedCompAlloc := import("@platforma-sdk/workflow-tengo:exec.delayed-compute-allocation")
20
20
 
21
21
  _RTYPE_RUN_COMMAND_V1 := { Name: "RunCommand/executor", Version: "1" }
22
-
23
- _runCommandResourceType := func(runnerType) {
24
- return { Name: "RunCommand/" + runnerType, Version: "2" }
25
- }
26
22
  _RTYPE_RUN_COMMAND_CMD := { Name: "RunCommandCmd", Version: "1" }
27
23
  _RTYPE_RUN_COMMAND_ARGS := { Name: "RunCommandArgs", Version: "1" }
28
24
  _RTYPE_RUN_COMMAND_OPTIONS := { Name: "run-command/options", Version: "1" }
@@ -671,8 +667,8 @@ builder := func(workdir, ...initialState) {
671
667
 
672
668
  ll.assert(!is_undefined(queue), "runcmd.builder.build: queue is required for any command run")
673
669
 
674
- runnerType := limits.getRunnerType(queue)
675
- runRes = smart.ephemeralBuilder(_runCommandResourceType(runnerType))
670
+ resourceTypes := limits.getResourceTypes(queue)
671
+ runRes = smart.ephemeralBuilder(resourceTypes.runCommand)
676
672
 
677
673
  runRes.getField(_FIELD_WORKDIR_IN).set(workdir)
678
674
 
@@ -31,15 +31,15 @@ _hasRunner := func(e_id) {
31
31
  }
32
32
 
33
33
 
34
- _hasGetRunnerFor := ll.methodExists(plapi, "getRunnerFor")
34
+ _hasGetResourceTypesFor := ll.methodExists(plapi, "getResourceTypesFor")
35
35
 
36
36
 
37
37
 
38
- _getRunnerFor := func(queueName) {
39
- if !_hasGetRunnerFor {
38
+ _getResourceTypesFor := func(queueName) {
39
+ if !_hasGetResourceTypesFor {
40
40
  return undefined
41
41
  }
42
- return plapi.getRunnerFor(queueName)
42
+ return plapi.getResourceTypesFor(queueName)
43
43
  }
44
44
 
45
45
  export ll.toStrict({
@@ -47,7 +47,7 @@ export ll.toStrict({
47
47
  hasBatch: _hasRunner("batch"), // batch system execution is available
48
48
 
49
49
 
50
- getRunnerFor: _getRunnerFor,
50
+ getResourceTypes: _getResourceTypesFor,
51
51
 
52
52
  pureFutureFields: _isEnabled("pureFutureFields") || _api >= 1, // 'pure' future fields magic that provides deduplication
53
53
  commandExpressions: _isEnabled("commandExpressions") || _api >= 2, // rich expressions in command arguments ( {{ system.ram_bytes / 20 }} )
@@ -323,7 +323,7 @@ _fill := func() {
323
323
  quotaBuilder.ram(ram)
324
324
  }
325
325
 
326
- if limits.getRunnerType(queue) == execConstants.RUNNER_BATCH {
326
+ if limits.getResourceTypes(queue).runCommand.Name == "RunCommand/" + execConstants.RUNNER_BATCH {
327
327
  quotaBuilder.queue(execConstants.BATCH_QUEUE)
328
328
  } else {
329
329
  quotaBuilder.queue(queue)
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": "5.8.0",
3
+ "version": "5.8.1",
4
4
  "description": "Tengo SDK library",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -17,12 +17,12 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "@milaboratories/software-pframes-conv": "2.2.9",
20
- "@platforma-open/milaboratories.software-small-binaries": "^1.15.26",
21
- "@platforma-open/milaboratories.software-ptexter": "1.2.0",
22
- "@platforma-open/milaboratories.software-ptabler": "1.14.0"
20
+ "@platforma-open/milaboratories.software-small-binaries": "^2.0.1",
21
+ "@platforma-open/milaboratories.software-ptabler": "1.14.0",
22
+ "@platforma-open/milaboratories.software-ptexter": "1.2.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@platforma-sdk/tengo-builder": "2.4.8"
25
+ "@platforma-sdk/tengo-builder": "2.4.11"
26
26
  },
27
27
  "scripts": {
28
28
  "type-check": "pl-tengo check",