@platforma-sdk/workflow-tengo 6.17.1 → 6.17.3
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 +3 -0
- package/dist/tengo/lib/pframes.util.lib.tengo +27 -1
- package/dist/tengo/lib/pt.lib.tengo +20 -1
- package/dist/tengo/lib/pt.sizing.lib.tengo +27 -0
- 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,
|
|
@@ -17,6 +17,8 @@ pframesSpec := import("@platforma-sdk/workflow-tengo:pframes.spec")
|
|
|
17
17
|
render := import("@platforma-sdk/workflow-tengo:render")
|
|
18
18
|
maps := import("@platforma-sdk/workflow-tengo:maps")
|
|
19
19
|
canonical := import("@platforma-sdk/workflow-tengo:canonical")
|
|
20
|
+
constants := import("@platforma-sdk/workflow-tengo:constants")
|
|
21
|
+
feats := import("@platforma-sdk/workflow-tengo:feats")
|
|
20
22
|
validation := import("@platforma-sdk/workflow-tengo:validation")
|
|
21
23
|
|
|
22
24
|
|
|
@@ -1210,7 +1212,6 @@ workflow := func() {
|
|
|
1210
1212
|
})
|
|
1211
1213
|
|
|
1212
1214
|
runInputs := {
|
|
1213
|
-
workflowJsonStruct: workflowJsonStruct,
|
|
1214
1215
|
inFiles: inFilesMap,
|
|
1215
1216
|
inFilesContent: inFilesContentMap,
|
|
1216
1217
|
inFrames: inFramesDistilled,
|
|
@@ -1218,6 +1219,22 @@ workflow := func() {
|
|
|
1218
1219
|
outFilesContent: outContentFiles,
|
|
1219
1220
|
outFrames: outFrames
|
|
1220
1221
|
}
|
|
1222
|
+
|
|
1223
|
+
|
|
1224
|
+
|
|
1225
|
+
|
|
1226
|
+
if feats.hasGzip {
|
|
1227
|
+
runInputs.workflowJsonGz = smart.createValueResource(
|
|
1228
|
+
constants.RTYPE_BINARY_VALUE,
|
|
1229
|
+
ll.gzipEncode(canonical.encode(workflowJsonStruct)))
|
|
1230
|
+
} else {
|
|
1231
|
+
runInputs.workflowJsonStruct = workflowJsonStruct
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
|
|
1235
|
+
|
|
1236
|
+
frameSteps := sizing.countFrameSteps(workflowJsonStruct.workflow)
|
|
1237
|
+
|
|
1221
1238
|
runMetaInputs := {
|
|
1222
1239
|
queue: queue,
|
|
1223
1240
|
cpu: cpu,
|
|
@@ -1231,6 +1248,8 @@ workflow := func() {
|
|
|
1231
1248
|
memIntercept: memIntercept,
|
|
1232
1249
|
polarsMaxThreads: polarsMaxThreads,
|
|
1233
1250
|
scratchFreeSpace: scratchFreeSpace,
|
|
1251
|
+
readFrames: frameSteps.readFrames,
|
|
1252
|
+
writeFrames: frameSteps.writeFrames,
|
|
1234
1253
|
inputCache: inputCache
|
|
1235
1254
|
}
|
|
1236
1255
|
ptResult := render.create(workflowRunTpl, runInputs, {
|
|
@@ -281,6 +281,32 @@ scratchFormula := func(readFrames, writeFrames) {
|
|
|
281
281
|
return f.when(estimate.lt(f.gib(SCRATCH_DEVICE_MIN_GIB)), 0).otherwise(estimate)
|
|
282
282
|
}
|
|
283
283
|
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
countFrameSteps := func(steps) {
|
|
294
|
+
ll.assert(is_array(steps), "pt.sizing: steps must be an array, got %v", steps)
|
|
295
|
+
readFrames := 0
|
|
296
|
+
writeFrames := 0
|
|
297
|
+
for step in steps {
|
|
298
|
+
if step.type == "read_frame" {
|
|
299
|
+
readFrames += 1
|
|
300
|
+
} else if step.type == "write_frame" {
|
|
301
|
+
writeFrames += 1
|
|
302
|
+
} else if step.type == "import_parquet_frame" {
|
|
303
|
+
readFrames += 1
|
|
304
|
+
writeFrames += 1
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return { readFrames: readFrames, writeFrames: writeFrames }
|
|
308
|
+
}
|
|
309
|
+
|
|
284
310
|
export {
|
|
285
311
|
ramFormula: ramFormula,
|
|
286
312
|
assertRamSlope: assertRamSlope,
|
|
@@ -290,6 +316,7 @@ export {
|
|
|
290
316
|
assertCpuCores: assertCpuCores,
|
|
291
317
|
assertCpuSlope: assertCpuSlope,
|
|
292
318
|
scratchFormula: scratchFormula,
|
|
319
|
+
countFrameSteps: countFrameSteps,
|
|
293
320
|
polarsMaxThreadsExpr: polarsMaxThreadsExpr,
|
|
294
321
|
assertPolarsMaxThreads: assertPolarsMaxThreads,
|
|
295
322
|
|
|
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.3",
|
|
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.
|
|
22
|
+
"@platforma-open/milaboratories.software-ptabler": "2.3.0",
|
|
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",
|