@platforma-sdk/workflow-tengo 6.10.4 → 6.11.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.
Files changed (65) hide show
  1. package/dist/tengo/lib/annotations.util.lib.tengo +0 -1
  2. package/dist/tengo/lib/anonymize.impl.lib.tengo +0 -1
  3. package/dist/tengo/lib/anonymize.lib.tengo +0 -1
  4. package/dist/tengo/lib/exec.R.lib.tengo +0 -1
  5. package/dist/tengo/lib/exec.conda.lib.tengo +0 -2
  6. package/dist/tengo/lib/exec.formula.lib.tengo +8 -0
  7. package/dist/tengo/lib/exec.monetization_internal.lib.tengo +0 -3
  8. package/dist/tengo/lib/exec.python.lib.tengo +0 -1
  9. package/dist/tengo/lib/ll.lib.tengo +0 -1
  10. package/dist/tengo/lib/pframes.export-pcolumn.lib.tengo +0 -1
  11. package/dist/tengo/lib/pframes.xsv.lib.tengo +0 -1
  12. package/dist/tengo/lib/pt.lib.tengo +34 -0
  13. package/dist/tengo/lib/pt.sizing.lib.tengo +90 -0
  14. package/dist/tengo/lib/render.lib.tengo +0 -2
  15. package/dist/tengo/lib/tpl.base.lib.tengo +0 -1
  16. package/dist/tengo/lib/tpl.state-await.lib.tengo +0 -1
  17. package/dist/tengo/lib/validation.lib.tengo +0 -2
  18. package/dist/tengo/lib/workflow.bobject.lib.tengo +0 -1
  19. package/dist/tengo/lib/workflow.lib.tengo +0 -2
  20. package/dist/tengo/tpl/annotations.compute.plj.gz +0 -0
  21. package/dist/tengo/tpl/anonymize.deanonymize.plj.gz +0 -0
  22. package/dist/tengo/tpl/anonymize.impl.plj.gz +0 -0
  23. package/dist/tengo/tpl/check_network.create_workdir_from_storage.plj.gz +0 -0
  24. package/dist/tengo/tpl/check_network.download_blob.plj.gz +0 -0
  25. package/dist/tengo/tpl/check_network.run_hello_world.plj.gz +0 -0
  26. package/dist/tengo/tpl/check_network.run_hello_world_py.plj.gz +0 -0
  27. package/dist/tengo/tpl/check_network.upload_blob.plj.gz +0 -0
  28. package/dist/tengo/tpl/check_network.upload_template.plj.gz +0 -0
  29. package/dist/tengo/tpl/check_network.workdir_type_name_extractor.plj.gz +0 -0
  30. package/dist/tengo/tpl/exec.conda.create-env.plj.gz +0 -0
  31. package/dist/tengo/tpl/exec.delayed-compute-allocation.impl.plj.gz +0 -0
  32. package/dist/tengo/tpl/exec.exec-impl.plj.gz +0 -0
  33. package/dist/tengo/tpl/exec.exec.plj.gz +0 -0
  34. package/dist/tengo/tpl/exec.load-software.impl.plj.gz +0 -0
  35. package/dist/tengo/tpl/exec.monetization_info.plj.gz +0 -0
  36. package/dist/tengo/tpl/exec.monetization_to_json.plj.gz +0 -0
  37. package/dist/tengo/tpl/exec.python.create-venv.plj.gz +0 -0
  38. package/dist/tengo/tpl/exec.python.install-deps.plj.gz +0 -0
  39. package/dist/tengo/tpl/exec.python.venv-bin-path.plj.gz +0 -0
  40. package/dist/tengo/tpl/ll.get-field.plj.gz +0 -0
  41. package/dist/tengo/tpl/pframes.build-table.plj.gz +0 -0
  42. package/dist/tengo/tpl/pframes.export-multiple-pcolumns.plj.gz +0 -0
  43. package/dist/tengo/tpl/pframes.export-parquet-pcolumn-chunk.plj.gz +0 -0
  44. package/dist/tengo/tpl/pframes.export-pframe-for-ui.plj.gz +0 -0
  45. package/dist/tengo/tpl/pframes.export-pframe.plj.gz +0 -0
  46. package/dist/tengo/tpl/pframes.export-single-pcolumn.plj.gz +0 -0
  47. package/dist/tengo/tpl/pframes.import-dir.plj.gz +0 -0
  48. package/dist/tengo/tpl/pframes.merge-resource-maps.plj.gz +0 -0
  49. package/dist/tengo/tpl/pframes.parse-to-json.plj.gz +0 -0
  50. package/dist/tengo/tpl/pframes.process-pcolumn-batch-split.plj.gz +0 -0
  51. package/dist/tengo/tpl/pframes.process-pcolumn-batch.plj.gz +0 -0
  52. package/dist/tengo/tpl/pframes.process-pcolumn-data.plj.gz +0 -0
  53. package/dist/tengo/tpl/pframes.remove-nulls.plj.gz +0 -0
  54. package/dist/tengo/tpl/pframes.slice-data.plj.gz +0 -0
  55. package/dist/tengo/tpl/pframes.xsv-export-pframe.plj.gz +0 -0
  56. package/dist/tengo/tpl/pframes.xsv-import-if-not-null.plj.gz +0 -0
  57. package/dist/tengo/tpl/pframes.xsv-import-map.plj.gz +0 -0
  58. package/dist/tengo/tpl/pt.import-dir.plj.gz +0 -0
  59. package/dist/tengo/tpl/pt.workflow-run.plj.gz +0 -0
  60. package/dist/tengo/tpl/waiter.waiter.plj.gz +0 -0
  61. package/dist/tengo/tpl/workdir.save.plj.gz +0 -0
  62. package/dist/tengo/tpl/workflow.build-ctx.plj.gz +0 -0
  63. package/dist/tengo/tpl/workflow.query-anchored.plj.gz +0 -0
  64. package/dist/tengo/tpl/workflow.query-context-filter.plj.gz +0 -0
  65. package/package.json +6 -6
@@ -1,5 +1,4 @@
1
1
  hex := import("hex")
2
- rand := import("rand")
3
2
  text := import("text")
4
3
 
5
4
  ll := import("@platforma-sdk/workflow-tengo:ll")
@@ -1,6 +1,5 @@
1
1
  smart := import("@platforma-sdk/workflow-tengo:smart")
2
2
  ll := import("@platforma-sdk/workflow-tengo:ll")
3
- fmt := import("fmt")
4
3
  maps := import("@platforma-sdk/workflow-tengo:maps")
5
4
 
6
5
 
@@ -5,7 +5,6 @@ render := import("@platforma-sdk/workflow-tengo:render")
5
5
  assets := import("@platforma-sdk/workflow-tengo:assets")
6
6
  ll := import("@platforma-sdk/workflow-tengo:ll")
7
7
  smart := import("@platforma-sdk/workflow-tengo:smart")
8
- times := import("times")
9
8
  maps := import("@platforma-sdk/workflow-tengo:maps")
10
9
 
11
10
  anonymizeImplTpl := assets.importTemplate("@platforma-sdk/workflow-tengo:anonymize.impl")
@@ -2,7 +2,6 @@ times := import("times")
2
2
 
3
3
  ll := import("@platforma-sdk/workflow-tengo:ll")
4
4
  validation := import("@platforma-sdk/workflow-tengo:validation")
5
- smart := import("@platforma-sdk/workflow-tengo:smart")
6
5
  pkg := import("@platforma-sdk/workflow-tengo:exec.package")
7
6
  internal := import("@platforma-sdk/workflow-tengo:exec.R.internal")
8
7
  desc := import("@platforma-sdk/workflow-tengo:exec.descriptor")
@@ -1,11 +1,9 @@
1
- json := import("json")
2
1
  times := import("times")
3
2
 
4
3
  ll := import("@platforma-sdk/workflow-tengo:ll")
5
4
  oop := import("@platforma-sdk/workflow-tengo:oop")
6
5
  validation := import("@platforma-sdk/workflow-tengo:validation")
7
6
  assets := import("@platforma-sdk/workflow-tengo:assets")
8
- smart := import("@platforma-sdk/workflow-tengo:smart")
9
7
  render := import("@platforma-sdk/workflow-tengo:render")
10
8
  pkg := import("@platforma-sdk/workflow-tengo:exec.package")
11
9
  internal := import("@platforma-sdk/workflow-tengo:exec.conda.internal")
@@ -40,6 +40,8 @@
40
40
 
41
41
 
42
42
 
43
+
44
+
43
45
 
44
46
 
45
47
 
@@ -412,6 +414,12 @@ export {
412
414
 
413
415
 
414
416
 
417
+
418
+
419
+
420
+
421
+
422
+
415
423
  size: func(...args) { return _node(_metric("size", args), undefined) },
416
424
  lineCount: func(...args) { return _node(_metric("lineCount", args), undefined) },
417
425
 
@@ -1,7 +1,5 @@
1
1
 
2
2
 
3
- base64 := import("base64")
4
- json := import("json")
5
3
 
6
4
  ll := import("@platforma-sdk/workflow-tengo:ll")
7
5
 
@@ -13,7 +11,6 @@ runcmd := import("@platforma-sdk/workflow-tengo:exec.runcmd")
13
11
  workdir := import("@platforma-sdk/workflow-tengo:workdir")
14
12
  render := import("@platforma-sdk/workflow-tengo:render")
15
13
  slices := import("@platforma-sdk/workflow-tengo:slices")
16
- sets := import("@platforma-sdk/workflow-tengo:sets")
17
14
 
18
15
  _JWT_TOKEN_RESULT_ENV := "PLATFORMA_MNZ_JWT"
19
16
 
@@ -4,7 +4,6 @@ ll := import("@platforma-sdk/workflow-tengo:ll")
4
4
  oop := import("@platforma-sdk/workflow-tengo:oop")
5
5
  validation := import("@platforma-sdk/workflow-tengo:validation")
6
6
  assets := import("@platforma-sdk/workflow-tengo:assets")
7
- smart := import("@platforma-sdk/workflow-tengo:smart")
8
7
  render := import("@platforma-sdk/workflow-tengo:render")
9
8
  pkg := import("@platforma-sdk/workflow-tengo:exec.package")
10
9
  internal := import("@platforma-sdk/workflow-tengo:exec.python.internal")
@@ -2,7 +2,6 @@
2
2
 
3
3
  plapi := import("plapi")
4
4
  fmt := import("fmt")
5
- log := import("log")
6
5
  text := import("text")
7
6
 
8
7
 
@@ -4,7 +4,6 @@ render := import("@platforma-sdk/workflow-tengo:render")
4
4
  file := import("@platforma-sdk/workflow-tengo:file")
5
5
  ll := import("@platforma-sdk/workflow-tengo:ll")
6
6
  assets := import("@platforma-sdk/workflow-tengo:assets")
7
- json := import("json")
8
7
 
9
8
 
10
9
  nestedTpl := assets.importTemplate("@platforma-sdk/workflow-tengo:pframes.export-single-pcolumn")
@@ -13,7 +13,6 @@ pBuilder := import("@platforma-sdk/workflow-tengo:pframes.builder")
13
13
  ll := import("@platforma-sdk/workflow-tengo:ll")
14
14
  assets := import("@platforma-sdk/workflow-tengo:assets")
15
15
  xsvIF := import("@platforma-sdk/workflow-tengo:pframes.xsv-import-file")
16
- text := import("text")
17
16
 
18
17
  importXsvIfNullTpl := assets.importTemplate("@platforma-sdk/workflow-tengo:pframes.xsv-import-if-not-null")
19
18
 
@@ -1,4 +1,6 @@
1
1
  ll := import("@platforma-sdk/workflow-tengo:ll")
2
+ units := import("@platforma-sdk/workflow-tengo:units")
3
+ sizing := import("@platforma-sdk/workflow-tengo:pt.sizing")
2
4
  exp := import("@platforma-sdk/workflow-tengo:pt.expression")
3
5
  util := import("@platforma-sdk/workflow-tengo:pt.util")
4
6
  assets := import("@platforma-sdk/workflow-tengo:assets")
@@ -409,6 +411,7 @@ workflow := func() {
409
411
 
410
412
  cpu := undefined
411
413
  mem := undefined
414
+ memFloor := undefined
412
415
  inputCache := undefined
413
416
  queue := execConstants.MEDIUM_QUEUE
414
417
 
@@ -898,6 +901,36 @@ workflow := func() {
898
901
 
899
902
 
900
903
 
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+ memFloor: func(amount) {
916
+ ll.assert(is_int(amount) && amount > 0,
917
+ "pt.workflow.memFloor: expected a positive number of bytes, got %v", amount)
918
+ ll.assert(amount <= sizing.RAM_CAP_GIB * units.GiB,
919
+ "pt.workflow.memFloor: floor of %v bytes exceeds the %d GiB ceiling of the auto-sized request. Use .mem() for a fixed request above the ceiling.",
920
+ amount, sizing.RAM_CAP_GIB)
921
+ memFloor = amount
922
+ return self
923
+ },
924
+
925
+
926
+
927
+
928
+
929
+
930
+
931
+
932
+
933
+
901
934
  cacheInputs: func(time) {
902
935
  ll.assert(
903
936
  is_int(time),
@@ -997,6 +1030,7 @@ workflow := func() {
997
1030
  queue: queue,
998
1031
  cpu: cpu,
999
1032
  mem: mem,
1033
+ memFloor: memFloor,
1000
1034
  inputCache: inputCache
1001
1035
  }
1002
1036
  ptResult := render.create(workflowRunTpl, runInputs, {
@@ -0,0 +1,90 @@
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+ f := import("@platforma-sdk/workflow-tengo:exec.formula")
27
+ ll := import("@platforma-sdk/workflow-tengo:ll")
28
+ units := import("@platforma-sdk/workflow-tengo:units")
29
+
30
+ RAM_INTERCEPT_GIB := 2
31
+ RAM_SLOPE := 6
32
+ RAM_FLOOR_GIB := 2
33
+ RAM_CAP_GIB := 256
34
+ RAM_STATIC_FALLBACK := "4GiB"
35
+
36
+ CPU_MIN := 2
37
+ CPU_MAX := 8
38
+ CPU_GIB_PER_CORE := 16
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+ ramFormula := func(memFloor) {
48
+ floor := f.gib(RAM_FLOOR_GIB)
49
+ cap := f.gib(RAM_CAP_GIB)
50
+ fallback := RAM_STATIC_FALLBACK
51
+
52
+ if !is_undefined(memFloor) {
53
+
54
+
55
+
56
+ ll.assert(memFloor <= RAM_CAP_GIB * units.GiB,
57
+ "pt.sizing: memFloor (%v bytes) must not exceed the %d GiB ceiling", memFloor, RAM_CAP_GIB)
58
+ floor = f.const(memFloor)
59
+ fallback = memFloor
60
+ }
61
+
62
+ return f.size({ default: 0 }).times(RAM_SLOPE).plus(f.gib(RAM_INTERCEPT_GIB)).
63
+ between(floor, cap).
64
+ staticFallback(fallback)
65
+ }
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+ cpuFormula := func() {
74
+ return f.size({ default: 0 }).dividedByFloor(f.gib(CPU_GIB_PER_CORE)).plus(f.const(CPU_MIN)).
75
+ between(f.const(CPU_MIN), f.const(CPU_MAX)).
76
+ staticFallback(CPU_MIN)
77
+ }
78
+
79
+ export {
80
+ ramFormula: ramFormula,
81
+ cpuFormula: cpuFormula,
82
+
83
+
84
+ RAM_INTERCEPT_GIB: RAM_INTERCEPT_GIB,
85
+ RAM_SLOPE: RAM_SLOPE,
86
+ RAM_FLOOR_GIB: RAM_FLOOR_GIB,
87
+ RAM_CAP_GIB: RAM_CAP_GIB,
88
+ CPU_MIN: CPU_MIN,
89
+ CPU_MAX: CPU_MAX
90
+ }
@@ -3,13 +3,11 @@
3
3
 
4
4
 
5
5
  ll := import("@platforma-sdk/workflow-tengo:ll")
6
- assets := import("@platforma-sdk/workflow-tengo:assets")
7
6
  smart := import("@platforma-sdk/workflow-tengo:smart")
8
7
  tplutil := import("@platforma-sdk/workflow-tengo:tpl.util")
9
8
  constants := import("@platforma-sdk/workflow-tengo:constants")
10
9
  oop := import("@platforma-sdk/workflow-tengo:oop")
11
10
  tx := import("tx")
12
- times := import("times")
13
11
  maps := import("@platforma-sdk/workflow-tengo:maps")
14
12
  feats := import("@platforma-sdk/workflow-tengo:feats")
15
13
 
@@ -1,4 +1,3 @@
1
- tx := import("tx")
2
1
  ll := import("@platforma-sdk/workflow-tengo:ll")
3
2
  render := import("@platforma-sdk/workflow-tengo:render")
4
3
  smart := import("@platforma-sdk/workflow-tengo:smart")
@@ -5,7 +5,6 @@
5
5
 
6
6
  tx := import("tx")
7
7
  ll := import("@platforma-sdk/workflow-tengo:ll")
8
- text := import("text")
9
8
  regexp := import("@platforma-sdk/workflow-tengo:regexp")
10
9
  smart := import("@platforma-sdk/workflow-tengo:smart")
11
10
  maps := import("@platforma-sdk/workflow-tengo:maps")
@@ -2,11 +2,9 @@ ll := import("@platforma-sdk/workflow-tengo:ll")
2
2
  fmt := import("fmt")
3
3
  text := import("text")
4
4
  maps := import("@platforma-sdk/workflow-tengo:maps")
5
- enum := import("enum")
6
5
  smart := import("@platforma-sdk/workflow-tengo:smart")
7
6
  regexp := import("@platforma-sdk/workflow-tengo:regexp")
8
7
 
9
- json := import("json")
10
8
 
11
9
 
12
10
 
@@ -6,7 +6,6 @@ ll := import("@platforma-sdk/workflow-tengo:ll")
6
6
  constants := import("@platforma-sdk/workflow-tengo:constants")
7
7
  json := import("json")
8
8
  smart := import("@platforma-sdk/workflow-tengo:smart")
9
- validation := import("@platforma-sdk/workflow-tengo:validation")
10
9
 
11
10
 
12
11
 
@@ -2,11 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- tx := import("tx")
6
5
  ll := import("@platforma-sdk/workflow-tengo:ll")
7
6
  assets := import("@platforma-sdk/workflow-tengo:assets")
8
7
  text := import("text")
9
- json := import("json")
10
8
 
11
9
  constants := import("@platforma-sdk/workflow-tengo:workflow.constants")
12
10
  render := import("@platforma-sdk/workflow-tengo:render")
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": "6.10.4",
3
+ "version": "6.11.0",
4
4
  "description": "Tengo SDK library",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -19,15 +19,15 @@
19
19
  "@milaboratories/pframes-rs-wasip2": "1.1.61",
20
20
  "@milaboratories/software-pframes-conv": "2.2.9",
21
21
  "@platforma-open/milaboratories.software-small-binaries": "^2.1.1",
22
- "@platforma-open/milaboratories.software-ptexter": "1.2.4",
23
- "@platforma-open/milaboratories.software-ptabler": "2.1.11"
22
+ "@platforma-open/milaboratories.software-ptabler": "2.1.12",
23
+ "@platforma-open/milaboratories.software-ptexter": "1.2.5"
24
24
  },
25
25
  "devDependencies": {
26
- "@platforma-sdk/tengo-builder": "4.0.27"
26
+ "@platforma-sdk/tengo-builder": "4.1.0"
27
27
  },
28
28
  "scripts": {
29
- "type-check": "pl-tengo check",
30
- "build": "rm -rf dist && ./scripts/build.sh",
29
+ "types:check": "pl-tengo imports && pl-tengo check",
30
+ "build": "rm -rf dist && pl-tengo build",
31
31
  "test": "pl-tengo test",
32
32
  "format": "/usr/bin/env emacs --quick --script ./scripts/format.el",
33
33
  "format-stdin": "/usr/bin/env emacs --quick --script ./scripts/format-stdin.el",