@platforma-sdk/workflow-tengo 4.6.3 → 4.6.5

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 (33) hide show
  1. package/dist/tengo/lib/pframes.data.lib.tengo +4 -0
  2. package/dist/tengo/lib/smart.lib.tengo +18 -2
  3. package/dist/tengo/lib/tpl.state-await.lib.tengo +3 -1
  4. package/dist/tengo/tpl/check_network.create_workdir_from_storage.plj.gz +0 -0
  5. package/dist/tengo/tpl/check_network.download_blob.plj.gz +0 -0
  6. package/dist/tengo/tpl/check_network.run_hello_world.plj.gz +0 -0
  7. package/dist/tengo/tpl/check_network.run_hello_world_py.plj.gz +0 -0
  8. package/dist/tengo/tpl/check_network.upload_blob.plj.gz +0 -0
  9. package/dist/tengo/tpl/check_network.upload_template.plj.gz +0 -0
  10. package/dist/tengo/tpl/exec.R.create-renv.plj.gz +0 -0
  11. package/dist/tengo/tpl/exec.exec.plj.gz +0 -0
  12. package/dist/tengo/tpl/exec.monetization_info.plj.gz +0 -0
  13. package/dist/tengo/tpl/exec.monetization_to_json.plj.gz +0 -0
  14. package/dist/tengo/tpl/exec.python.create-venv.plj.gz +0 -0
  15. package/dist/tengo/tpl/exec.python.install-deps.plj.gz +0 -0
  16. package/dist/tengo/tpl/exec.python.venv-bin-path.plj.gz +0 -0
  17. package/dist/tengo/tpl/ll.get-field.plj.gz +0 -0
  18. package/dist/tengo/tpl/pframes.export-multiple-pcolumns.plj.gz +0 -0
  19. package/dist/tengo/tpl/pframes.export-pframe-for-ui.plj.gz +0 -0
  20. package/dist/tengo/tpl/pframes.export-pframe.plj.gz +0 -0
  21. package/dist/tengo/tpl/pframes.export-single-pcolumn.plj.gz +0 -0
  22. package/dist/tengo/tpl/pframes.import-dir.plj.gz +0 -0
  23. package/dist/tengo/tpl/pframes.process-pcolumn-data.plj.gz +0 -0
  24. package/dist/tengo/tpl/pframes.remove-nulls.plj.gz +0 -0
  25. package/dist/tengo/tpl/pframes.slice-data.plj.gz +0 -0
  26. package/dist/tengo/tpl/pframes.xsv-export-pframe.plj.gz +0 -0
  27. package/dist/tengo/tpl/pframes.xsv-import-if-not-null.plj.gz +0 -0
  28. package/dist/tengo/tpl/pframes.xsv-import-map.plj.gz +0 -0
  29. package/dist/tengo/tpl/waiter.waiter.plj.gz +0 -0
  30. package/dist/tengo/tpl/workdir.save.plj.gz +0 -0
  31. package/dist/tengo/tpl/workflow.build-ctx.plj.gz +0 -0
  32. package/dist/tengo/tpl/workflow.query-anchored.plj.gz +0 -0
  33. package/package.json +1 -1
@@ -113,6 +113,10 @@ parseData := func(inputParam, ...optsRaw) {
113
113
 
114
114
  _decodeKeyString := _createDecodeKeyString(state.relevantTopLayerKeyLength)
115
115
 
116
+ if !actualResource.info().InputsLocked {
117
+ ll.panic("Can't parse data resource which inputs are not locked.")
118
+ }
119
+
116
120
 
117
121
  if state.resourceType == pConstants.RTYPE_P_COLUMN_DATA_JSON {
118
122
  state.data = resourceData.data
@@ -135,6 +135,10 @@ isReference := func(f) {
135
135
 
136
136
  _getFutureField := func(from, name, fieldType, isEph) {
137
137
  ll.assert(isReference(from), "'from' must be either a resource or a field, got: %#v", from)
138
+ if is_bytes(name) {
139
+ name = string(name)
140
+ }
141
+ ll.assert(is_string(name) && name != "", "field name must be a non-empty string")
138
142
 
139
143
  futureField := tx.createFutureFieldID(fieldType, name, !isEph)
140
144
  f := field(futureField.ResourceFID)
@@ -385,8 +389,8 @@ resource = func(r) {
385
389
 
386
390
 
387
391
 
388
- isReady: func() {
389
- return self.info().ResourceReady
392
+ isFinal: func() {
393
+ return self.info().ResourceReady || self.info().IsDuplicate || self.info().HasErrors
390
394
  },
391
395
 
392
396
  isEphemeral: func() {
@@ -589,6 +593,10 @@ resource = func(r) {
589
593
  isEph = eph[0]
590
594
  }
591
595
 
596
+ if is_bytes(name) {
597
+ name = string(name)
598
+ }
599
+ ll.assert(is_string(name) && name != "", "field name must be a non-empty string")
592
600
  fieldId := ffDefault.getFutureFieldWithDefault(self.id, name, fieldType, isEph)
593
601
  return field(fieldId)
594
602
  },
@@ -1024,6 +1032,10 @@ field = func(f) {
1024
1032
  isEph = eph[0]
1025
1033
  }
1026
1034
 
1035
+ if is_bytes(name) {
1036
+ name = string(name)
1037
+ }
1038
+ ll.assert(is_string(name) && name != "", "field name must be a non-empty string")
1027
1039
  fieldId := ffDefault.getFutureFieldWithDefault(self.id, name, fieldType, isEph)
1028
1040
  return field(fieldId)
1029
1041
  },
@@ -1114,6 +1126,10 @@ resourceBuilder = func(r) {
1114
1126
 
1115
1127
  createField: func(name, fieldType) {
1116
1128
  assertNotBuilt()
1129
+ if is_bytes(name) {
1130
+ name = string(name)
1131
+ }
1132
+ ll.assert(is_string(name) && name != "", "field name must be a non-empty string")
1117
1133
  fid := ll.fieldId(super.id, name)
1118
1134
  tx.createField(fid, fieldType)
1119
1135
  return field(fid)
@@ -158,7 +158,9 @@ awaitOneState := func(field, path, state) {
158
158
  }
159
159
  }
160
160
  } else if state == "ResourceReady" {
161
- if resource.info().ResourceReady {
161
+
162
+
163
+ if resource.isFinal() {
162
164
  return { type: "Ready" }
163
165
  } else {
164
166
  return {
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": "4.6.3",
3
+ "version": "4.6.5",
4
4
  "description": "Tengo SDK library",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",