@platforma-sdk/workflow-tengo 6.3.2 → 6.4.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 (50) hide show
  1. package/dist/tengo/lib/feats.lib.tengo +6 -1
  2. package/dist/tengo/lib/file.internal.lib.tengo +35 -3
  3. package/dist/tengo/lib/file.lib.tengo +4 -0
  4. package/dist/tengo/lib/pframes.util.lib.tengo +13 -0
  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.build-table.plj.gz +0 -0
  27. package/dist/tengo/tpl/pframes.export-multiple-pcolumns.plj.gz +0 -0
  28. package/dist/tengo/tpl/pframes.export-parquet-pcolumn-chunk.plj.gz +0 -0
  29. package/dist/tengo/tpl/pframes.export-pframe-for-ui.plj.gz +0 -0
  30. package/dist/tengo/tpl/pframes.export-pframe.plj.gz +0 -0
  31. package/dist/tengo/tpl/pframes.export-single-pcolumn.plj.gz +0 -0
  32. package/dist/tengo/tpl/pframes.import-dir.plj.gz +0 -0
  33. package/dist/tengo/tpl/pframes.merge-resource-maps.plj.gz +0 -0
  34. package/dist/tengo/tpl/pframes.parse-to-json.plj.gz +0 -0
  35. package/dist/tengo/tpl/pframes.process-pcolumn-batch-split.plj.gz +0 -0
  36. package/dist/tengo/tpl/pframes.process-pcolumn-batch.plj.gz +0 -0
  37. package/dist/tengo/tpl/pframes.process-pcolumn-data.plj.gz +0 -0
  38. package/dist/tengo/tpl/pframes.remove-nulls.plj.gz +0 -0
  39. package/dist/tengo/tpl/pframes.slice-data.plj.gz +0 -0
  40. package/dist/tengo/tpl/pframes.xsv-export-pframe.plj.gz +0 -0
  41. package/dist/tengo/tpl/pframes.xsv-import-if-not-null.plj.gz +0 -0
  42. package/dist/tengo/tpl/pframes.xsv-import-map.plj.gz +0 -0
  43. package/dist/tengo/tpl/pt.import-dir.plj.gz +0 -0
  44. package/dist/tengo/tpl/pt.workflow-run.plj.gz +0 -0
  45. package/dist/tengo/tpl/waiter.waiter.plj.gz +0 -0
  46. package/dist/tengo/tpl/workdir.save.plj.gz +0 -0
  47. package/dist/tengo/tpl/workflow.build-ctx.plj.gz +0 -0
  48. package/dist/tengo/tpl/workflow.query-anchored.plj.gz +0 -0
  49. package/dist/tengo/tpl/workflow.query-context-filter.plj.gz +0 -0
  50. package/package.json +4 -4
@@ -77,5 +77,10 @@ export ll.toStrict({
77
77
  secretEnvSupport: _isEnabled("secretEnvSupport"),
78
78
 
79
79
 
80
- contextDomainQuery: _isEnabled("contextDomainQuery")
80
+ contextDomainQuery: _isEnabled("contextDomainQuery"),
81
+
82
+
83
+
84
+
85
+ multiStepProgress: _isEnabled("multiStepProgress")
81
86
  })
@@ -12,6 +12,7 @@
12
12
  ll := import("@platforma-sdk/workflow-tengo:ll")
13
13
  smart := import("@platforma-sdk/workflow-tengo:smart")
14
14
  validation := import("@platforma-sdk/workflow-tengo:validation")
15
+ feats := import("@platforma-sdk/workflow-tengo:feats")
15
16
 
16
17
  json := import("json")
17
18
 
@@ -19,6 +20,22 @@ json := import("json")
19
20
 
20
21
 
21
22
 
23
+
24
+
25
+
26
+
27
+
28
+ _progressField := func(importer, handleField) {
29
+ if feats.multiStepProgress {
30
+ return importer.getField("progress")
31
+ }
32
+ return smart.mapBuilder().addRef("01", handleField).build()
33
+ }
34
+
35
+
36
+
37
+
38
+
22
39
  RTYPE_BLOB_IMPORT_EXTERNAL := { Name: "BlobImportExternal", Version: "1" }
23
40
  RTYPE_BLOB_IMPORT_INTERNAL := { Name: "BlobImportInternal", Version: "1" }
24
41
  RTYPE_BLOB_UPLOAD := { Name: "BlobUpload", Version: "1" }
@@ -30,6 +47,9 @@ RTYPE_BLOB_DOWNLOAD := { Name: "BlobDownload", Version: "2" }
30
47
 
31
48
 
32
49
 
50
+
51
+
52
+
33
53
  createBlobImportExternal := func(settings) {
34
54
  validation.assertType(settings, {
35
55
  "dataURL": "string",
@@ -38,10 +58,12 @@ createBlobImportExternal := func(settings) {
38
58
  })
39
59
 
40
60
  importer := smart.structBuilder(RTYPE_BLOB_IMPORT_EXTERNAL, json.encode(settings)).lockAndBuild()
61
+ handleField := importer.getField("handle")
41
62
 
42
63
  return ll.toStrict({
43
64
  file: importer.getField("blob"),
44
- handle: importer.getField("handle")
65
+ handle: handleField,
66
+ progress: _progressField(importer, handleField)
45
67
  })
46
68
  }
47
69
 
@@ -51,6 +73,9 @@ createBlobImportExternal := func(settings) {
51
73
 
52
74
 
53
75
 
76
+
77
+
78
+
54
79
  createBlobImportInternal := func(settings) {
55
80
  validation.assertType(settings, {
56
81
  "path": "string",
@@ -60,10 +85,12 @@ createBlobImportInternal := func(settings) {
60
85
  })
61
86
 
62
87
  importer := smart.structBuilder(RTYPE_BLOB_IMPORT_INTERNAL, json.encode(settings)).lockAndBuild()
88
+ handleField := importer.getField("handle")
63
89
 
64
90
  return ll.toStrict({
65
91
  file: importer.getField("blob"),
66
- handle: importer.getField("handle")
92
+ handle: handleField,
93
+ progress: _progressField(importer, handleField)
67
94
  })
68
95
  }
69
96
 
@@ -73,6 +100,9 @@ createBlobImportInternal := func(settings) {
73
100
 
74
101
 
75
102
 
103
+
104
+
105
+
76
106
  createBlobUpload := func(settings) {
77
107
  validation.assertType(settings, {
78
108
  "modificationTime": "string",
@@ -82,10 +112,12 @@ createBlobUpload := func(settings) {
82
112
  })
83
113
 
84
114
  uploader := smart.structBuilder(RTYPE_BLOB_UPLOAD, json.encode(settings)).lockAndBuild()
115
+ handleField := uploader.getField("handle")
85
116
 
86
117
  return ll.toStrict({
87
118
  file: uploader.getField("blob"),
88
- handle: uploader.getField("handle")
119
+ handle: handleField,
120
+ progress: _progressField(uploader, handleField)
89
121
  })
90
122
  }
91
123
 
@@ -31,6 +31,10 @@ json := import("json")
31
31
 
32
32
 
33
33
 
34
+
35
+
36
+
37
+
34
38
  importFile := func(importFileHandle) {
35
39
  validation.assertType(
36
40
  importFileHandle,
@@ -477,6 +477,12 @@ addColumnToWd := func(name, spec, data, execBuilder, ops) {
477
477
  ll.assert(vt == "Int" || vt == "Long" || vt == "Float" || vt == "Double" || vt == "String",
478
478
  "Unsupported value type: ", vt, spec)
479
479
 
480
+ axisTypes := []
481
+ for axis in spec.axesSpec {
482
+ axisTypes = append(axisTypes, axis.type)
483
+ }
484
+ typeSpec := { axes: axisTypes, column: vt }
485
+
480
486
  ll.assert(!is_undefined(data) && smart.isResource(data), "data must be a resource, got: %v", data)
481
487
 
482
488
  ll.assert(!is_undefined(execBuilder), "execBuilder must be defined")
@@ -515,6 +521,7 @@ addColumnToWd := func(name, spec, data, execBuilder, ops) {
515
521
 
516
522
  execBuilder.writeFile(makePath(name + ".datainfo"), {
517
523
  type: "JsonPartitioned",
524
+ typeSpec: typeSpec,
518
525
  partitionKeyLength: 0,
519
526
  parts: { "[]": jdataFile }
520
527
  })
@@ -542,6 +549,7 @@ addColumnToWd := func(name, spec, data, execBuilder, ops) {
542
549
 
543
550
  execBuilder.writeFile(makePath(name + ".datainfo"), {
544
551
  type: "JsonPartitioned",
552
+ typeSpec: typeSpec,
545
553
  partitionKeyLength: data.getDataAsJson().partitionKeyLength,
546
554
  parts: parts
547
555
  })
@@ -579,6 +587,7 @@ addColumnToWd := func(name, spec, data, execBuilder, ops) {
579
587
 
580
588
  execBuilder.writeFile(makePath(name + ".datainfo"), {
581
589
  type: "JsonPartitioned",
590
+ typeSpec: typeSpec,
582
591
  partitionKeyLength: superPartitionKeyLength + partitionKeyLength,
583
592
  parts: parts
584
593
  })
@@ -622,6 +631,7 @@ addColumnToWd := func(name, spec, data, execBuilder, ops) {
622
631
 
623
632
  execBuilder.writeFile(makePath(name + ".datainfo"), {
624
633
  type: "BinaryPartitioned",
634
+ typeSpec: typeSpec,
625
635
  partitionKeyLength: data.getDataAsJson().partitionKeyLength,
626
636
  parts: parts
627
637
  })
@@ -680,6 +690,7 @@ addColumnToWd := func(name, spec, data, execBuilder, ops) {
680
690
 
681
691
  execBuilder.writeFile(makePath(name + ".datainfo"), {
682
692
  type: "BinaryPartitioned",
693
+ typeSpec: typeSpec,
683
694
  partitionKeyLength: superPartitionKeyLength + partitionKeyLength,
684
695
  parts: parts
685
696
  })
@@ -711,6 +722,7 @@ addColumnToWd := func(name, spec, data, execBuilder, ops) {
711
722
 
712
723
  execBuilder.writeFile(makePath(name + ".datainfo"), {
713
724
  type: "ParquetPartitioned",
725
+ typeSpec: typeSpec,
714
726
  partitionKeyLength: data.getDataAsJson().partitionKeyLength,
715
727
  parts: parts
716
728
  })
@@ -754,6 +766,7 @@ addColumnToWd := func(name, spec, data, execBuilder, ops) {
754
766
 
755
767
  execBuilder.writeFile(makePath(name + ".datainfo"), {
756
768
  type: "ParquetPartitioned",
769
+ typeSpec: typeSpec,
757
770
  partitionKeyLength: superPartitionKeyLength + partitionKeyLength,
758
771
  parts: parts
759
772
  })
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.3.2",
3
+ "version": "6.4.0",
4
4
  "description": "Tengo SDK library",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -16,14 +16,14 @@
16
16
  "./dist/**/*"
17
17
  ],
18
18
  "dependencies": {
19
- "@milaboratories/pframes-rs-wasip2": "1.1.42",
19
+ "@milaboratories/pframes-rs-wasip2": "1.1.44",
20
20
  "@milaboratories/software-pframes-conv": "2.2.9",
21
21
  "@platforma-open/milaboratories.software-small-binaries": "^2.0.3",
22
- "@platforma-open/milaboratories.software-ptabler": "2.1.0",
22
+ "@platforma-open/milaboratories.software-ptabler": "2.1.1",
23
23
  "@platforma-open/milaboratories.software-ptexter": "1.2.2"
24
24
  },
25
25
  "devDependencies": {
26
- "@platforma-sdk/tengo-builder": "4.0.6"
26
+ "@platforma-sdk/tengo-builder": "4.0.7"
27
27
  },
28
28
  "scripts": {
29
29
  "type-check": "pl-tengo check",