@platforma-sdk/workflow-tengo 6.17.0 → 6.17.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/pframes.util.lib.tengo +27 -1
- package/dist/tengo/lib/slices.lib.tengo +49 -26
- package/dist/tengo/tpl/annotations.compute.plj.gz +0 -0
- package/dist/tengo/tpl/anonymize.deanonymize.plj.gz +0 -0
- package/dist/tengo/tpl/anonymize.impl.plj.gz +0 -0
- 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/check_network.workdir_type_name_extractor.plj.gz +0 -0
- package/dist/tengo/tpl/exec.conda.create-env.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.build-table.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.export-multiple-pcolumns.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.export-parquet-pcolumn-chunk.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.merge-resource-maps.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.parse-to-json.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.process-pcolumn-batch-split.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.process-pcolumn-batch.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/pt.import-dir.plj.gz +0 -0
- package/dist/tengo/tpl/pt.workflow-run.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/dist/tengo/tpl/workflow.query-context-filter.plj.gz +0 -0
- package/package.json +4 -4
|
@@ -10,6 +10,7 @@ path := import("@platforma-sdk/workflow-tengo:path")
|
|
|
10
10
|
json := import("json")
|
|
11
11
|
sets := import("@platforma-sdk/workflow-tengo:sets")
|
|
12
12
|
maps := import("@platforma-sdk/workflow-tengo:maps")
|
|
13
|
+
canonical := import("@platforma-sdk/workflow-tengo:canonical")
|
|
13
14
|
|
|
14
15
|
_PRE_PROCESS_STEP_SCHEMA := [`or`,
|
|
15
16
|
{
|
|
@@ -467,6 +468,30 @@ pFrameToColumnsMap := func(pf) {
|
|
|
467
468
|
|
|
468
469
|
|
|
469
470
|
|
|
471
|
+
encodeJsonColumnData := func(data) {
|
|
472
|
+
rows := []
|
|
473
|
+
for key, value in data {
|
|
474
|
+
rows = append(rows, { key: key, axes: json.decode(key), value: value })
|
|
475
|
+
}
|
|
476
|
+
slices.quickSortInPlaceFn(rows, func(a, b) {
|
|
477
|
+
for i, x in a.axes {
|
|
478
|
+
if x != b.axes[i] {
|
|
479
|
+
return x < b.axes[i]
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
return a.key < b.key
|
|
483
|
+
})
|
|
484
|
+
return "{" + text.join(slices.map(rows, func(row) {
|
|
485
|
+
return string(json.encode(row.key)) + ":" + string(canonical.encode(row.value))
|
|
486
|
+
}), ",") + "}"
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
|
|
470
495
|
|
|
471
496
|
|
|
472
497
|
|
|
@@ -522,7 +547,7 @@ addColumnToWd := func(name, spec, data, execBuilder, ops) {
|
|
|
522
547
|
jdataFile := "res" + data.id + ".jdata"
|
|
523
548
|
|
|
524
549
|
|
|
525
|
-
execBuilder.writeFile(makePath(jdataFile), data.getDataAsJson().data)
|
|
550
|
+
execBuilder.writeFile(makePath(jdataFile), encodeJsonColumnData(data.getDataAsJson().data))
|
|
526
551
|
|
|
527
552
|
|
|
528
553
|
execBuilder.writeFile(makePath(name + ".datainfo"), {
|
|
@@ -838,6 +863,7 @@ export ll.toStrict({
|
|
|
838
863
|
decomposePfconvImportCfg: decomposePfconvImportCfg,
|
|
839
864
|
calculateGroupAxesIndices: calculateGroupAxesIndices,
|
|
840
865
|
pFrameToColumnsMap: pFrameToColumnsMap,
|
|
866
|
+
encodeJsonColumnData: encodeJsonColumnData,
|
|
841
867
|
addColumnToWd: addColumnToWd,
|
|
842
868
|
isFlatPfMap: isFlatPfMap,
|
|
843
869
|
isStructuredPfMap: isStructuredPfMap,
|
|
@@ -213,45 +213,68 @@ every := func(slice, fn) {
|
|
|
213
213
|
|
|
214
214
|
|
|
215
215
|
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
216
221
|
_quickSortFn := func(arr, left, right, less) {
|
|
217
|
-
if is_undefined(arr) || len(arr) <= 1 || left < 0 || left >= len(arr) || right < 0 || right >= len(arr)
|
|
222
|
+
if is_undefined(arr) || len(arr) <= 1 || left < 0 || left >= len(arr) || right < 0 || right >= len(arr) {
|
|
218
223
|
return arr
|
|
219
224
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
arr[
|
|
226
|
-
|
|
225
|
+
for left < right {
|
|
226
|
+
pivot := arr[left + (right - left) / 2]
|
|
227
|
+
i := left
|
|
228
|
+
j := right
|
|
229
|
+
for i <= j {
|
|
230
|
+
for less(arr[i], pivot) { i++ }
|
|
231
|
+
for less(pivot, arr[j]) { j-- }
|
|
232
|
+
if i <= j {
|
|
233
|
+
temp := arr[i]
|
|
234
|
+
arr[i] = arr[j]
|
|
235
|
+
arr[j] = temp
|
|
236
|
+
i++
|
|
237
|
+
j--
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
if j - left < right - i {
|
|
241
|
+
_quickSortFn(arr, left, j, less)
|
|
242
|
+
left = i
|
|
243
|
+
} else {
|
|
244
|
+
_quickSortFn(arr, i, right, less)
|
|
245
|
+
right = j
|
|
227
246
|
}
|
|
228
247
|
}
|
|
229
|
-
temp := arr[right]
|
|
230
|
-
arr[right] = arr[idx]
|
|
231
|
-
arr[idx] = temp
|
|
232
|
-
_quickSortFn(arr, left, idx-1, less)
|
|
233
|
-
_quickSortFn(arr, idx+1, right, less)
|
|
234
248
|
return arr
|
|
235
249
|
}
|
|
236
250
|
|
|
237
251
|
_quickSort := func(arr, left, right) {
|
|
238
|
-
if is_undefined(arr) || len(arr) <= 1 || left < 0 || left >= len(arr) || right < 0 || right >= len(arr)
|
|
252
|
+
if is_undefined(arr) || len(arr) <= 1 || left < 0 || left >= len(arr) || right < 0 || right >= len(arr) {
|
|
239
253
|
return arr
|
|
240
254
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
arr[
|
|
247
|
-
|
|
255
|
+
for left < right {
|
|
256
|
+
pivot := arr[left + (right - left) / 2]
|
|
257
|
+
i := left
|
|
258
|
+
j := right
|
|
259
|
+
for i <= j {
|
|
260
|
+
for arr[i] < pivot { i++ }
|
|
261
|
+
for pivot < arr[j] { j-- }
|
|
262
|
+
if i <= j {
|
|
263
|
+
temp := arr[i]
|
|
264
|
+
arr[i] = arr[j]
|
|
265
|
+
arr[j] = temp
|
|
266
|
+
i++
|
|
267
|
+
j--
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
if j - left < right - i {
|
|
271
|
+
_quickSort(arr, left, j)
|
|
272
|
+
left = i
|
|
273
|
+
} else {
|
|
274
|
+
_quickSort(arr, i, right)
|
|
275
|
+
right = j
|
|
248
276
|
}
|
|
249
277
|
}
|
|
250
|
-
temp := arr[right]
|
|
251
|
-
arr[right] = arr[idx]
|
|
252
|
-
arr[idx] = temp
|
|
253
|
-
_quickSort(arr, left, idx-1)
|
|
254
|
-
_quickSort(arr, idx+1, right)
|
|
255
278
|
return arr
|
|
256
279
|
}
|
|
257
280
|
|
|
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
|
|
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": "6.17.
|
|
3
|
+
"version": "6.17.2",
|
|
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.
|
|
19
|
+
"@milaboratories/pframes-rs-wasip2": "1.2.0",
|
|
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-ptabler": "2.2.
|
|
22
|
+
"@platforma-open/milaboratories.software-ptabler": "2.2.1",
|
|
23
23
|
"@platforma-open/milaboratories.software-ptexter": "1.2.6"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@platforma-sdk/tengo-builder": "4.1.
|
|
26
|
+
"@platforma-sdk/tengo-builder": "4.1.14"
|
|
27
27
|
},
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|