@divmain/jdm-asm 0.2.1 → 0.2.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.
Files changed (395) hide show
  1. package/dist/index.js +2227 -29
  2. package/dist/index.js.map +1 -1
  3. package/package.json +8 -2
  4. package/.github/workflows/ci.yml +0 -53
  5. package/.oxfmtrc.json +0 -16
  6. package/.oxlintrc.json +0 -183
  7. package/AGENTS.md +0 -81
  8. package/asconfig.json +0 -23
  9. package/benchmarks/fixtures.ts +0 -111
  10. package/benchmarks/input-fixtures.ts +0 -80
  11. package/benchmarks/run.ts +0 -913
  12. package/benchmarks/worker-pool.ts +0 -223
  13. package/benchmarks/worker.ts +0 -374
  14. package/scripts/run-all-tests.ts +0 -220
  15. package/src/compiler/EXPRESSION_SUBSETS.md +0 -228
  16. package/src/compiler/asc-compiler.ts +0 -315
  17. package/src/compiler/ast-types.ts +0 -215
  18. package/src/compiler/build.ts +0 -56
  19. package/src/compiler/cache.ts +0 -414
  20. package/src/compiler/code-generators.ts +0 -211
  21. package/src/compiler/codegen/index.ts +0 -15
  22. package/src/compiler/codegen/js-marshal.ts +0 -999
  23. package/src/compiler/codegen/js-validation.ts +0 -243
  24. package/src/compiler/codegen.ts +0 -19
  25. package/src/compiler/compile-time-validation.ts +0 -507
  26. package/src/compiler/cst-visitor.ts +0 -434
  27. package/src/compiler/errors.ts +0 -227
  28. package/src/compiler/expression-parser.ts +0 -536
  29. package/src/compiler/graph.ts +0 -197
  30. package/src/compiler/index.ts +0 -199
  31. package/src/compiler/input-validation.ts +0 -33
  32. package/src/compiler/marshal-gen.ts +0 -21
  33. package/src/compiler/nodes/context-resolvers.ts +0 -197
  34. package/src/compiler/nodes/decision-table.ts +0 -507
  35. package/src/compiler/nodes/decision.ts +0 -292
  36. package/src/compiler/nodes/expression-compiler.ts +0 -526
  37. package/src/compiler/nodes/expression.ts +0 -425
  38. package/src/compiler/nodes/function.ts +0 -316
  39. package/src/compiler/nodes/input.ts +0 -60
  40. package/src/compiler/nodes/switch.ts +0 -547
  41. package/src/compiler/optimizer.ts +0 -948
  42. package/src/compiler/orchestrator.ts +0 -352
  43. package/src/compiler/parser.ts +0 -115
  44. package/src/compiler/result-selection.ts +0 -161
  45. package/src/compiler/runtime/index.ts +0 -26
  46. package/src/compiler/runtime-codegen.ts +0 -211
  47. package/src/compiler/runtime-validation-codegen.ts +0 -294
  48. package/src/compiler/runtime.ts +0 -452
  49. package/src/compiler/schema.ts +0 -245
  50. package/src/compiler/switch-branch-detection.ts +0 -92
  51. package/src/compiler/types.ts +0 -136
  52. package/src/compiler/unary-ast-transforms.ts +0 -148
  53. package/src/compiler/unary-parser.ts +0 -301
  54. package/src/compiler/unary-transform.ts +0 -161
  55. package/src/compiler/utils.ts +0 -27
  56. package/src/compiler/virtual-fs.ts +0 -90
  57. package/src/compiler/wasm-instantiate.ts +0 -127
  58. package/src/index.ts +0 -1
  59. package/src/runtime/arrays.ts +0 -579
  60. package/src/runtime/context.ts +0 -189
  61. package/src/runtime/expressions.ts +0 -1811
  62. package/src/runtime/index.ts +0 -8
  63. package/src/runtime/memory.ts +0 -607
  64. package/src/runtime/strings.ts +0 -260
  65. package/src/runtime/tables.ts +0 -96
  66. package/src/runtime/tsconfig.json +0 -4
  67. package/src/runtime/values.ts +0 -209
  68. package/test-data/README.md +0 -83
  69. package/test-data/decision-tables/basic/8k.json +0 -87992
  70. package/test-data/decision-tables/basic/affiliate-commission-calculator.json +0 -228
  71. package/test-data/decision-tables/basic/airline-loyalty-points-calculations.json +0 -285
  72. package/test-data/decision-tables/basic/airline-upgrade-eligibility.json +0 -466
  73. package/test-data/decision-tables/basic/auto-insurance-premium-calculator.json +0 -412
  74. package/test-data/decision-tables/basic/booking-personalization-system.json +0 -553
  75. package/test-data/decision-tables/basic/care-team-assignment-system.json +0 -585
  76. package/test-data/decision-tables/basic/claim-validation-system.json +0 -307
  77. package/test-data/decision-tables/basic/clinical-lab-result-interpreter.json +0 -433
  78. package/test-data/decision-tables/basic/clinical-treatment-protocol.json +0 -474
  79. package/test-data/decision-tables/basic/credit-limit-adjustment.json +0 -479
  80. package/test-data/decision-tables/basic/customer-eligibility-engine.json +0 -551
  81. package/test-data/decision-tables/basic/customer-lifetime-value.json +0 -200
  82. package/test-data/decision-tables/basic/customer-onboarding-kyc-verification.json +0 -611
  83. package/test-data/decision-tables/basic/customer-service-escalation.json +0 -191
  84. package/test-data/decision-tables/basic/decision-table-discounts.json +0 -168
  85. package/test-data/decision-tables/basic/decision-table-shipping.json +0 -398
  86. package/test-data/decision-tables/basic/delivery-route-optimizer.json +0 -271
  87. package/test-data/decision-tables/basic/device-compatibility-checker.json +0 -303
  88. package/test-data/decision-tables/basic/disaster-relief-fund-allocation.json +0 -296
  89. package/test-data/decision-tables/basic/dynamic-fx-rate-pricing-system.json +0 -237
  90. package/test-data/decision-tables/basic/dynamic-marketplace-comission-calculator.json +0 -242
  91. package/test-data/decision-tables/basic/dynamic-shipping-cost-calculator.json +0 -378
  92. package/test-data/decision-tables/basic/dynamic-tarrif-engine.json +0 -289
  93. package/test-data/decision-tables/basic/dynamic-ticket-pricing.json +0 -325
  94. package/test-data/decision-tables/basic/empty-column-with-space.json +0 -100
  95. package/test-data/decision-tables/basic/empty-column-without-space.json +0 -100
  96. package/test-data/decision-tables/basic/environment-compliance-assessment.json +0 -386
  97. package/test-data/decision-tables/basic/expression-table-map.json +0 -313
  98. package/test-data/decision-tables/basic/flash-sale-eligibility.json +0 -366
  99. package/test-data/decision-tables/basic/flight-dispatch-decision-system.json +0 -455
  100. package/test-data/decision-tables/basic/flight-rebooking-fee-calculator.json +0 -406
  101. package/test-data/decision-tables/basic/government-assistance.json +0 -299
  102. package/test-data/decision-tables/basic/grant-funding-distribution.json +0 -307
  103. package/test-data/decision-tables/basic/hazardous-materials-management-system.json +0 -414
  104. package/test-data/decision-tables/basic/immigration-eligibility-evaluator.json +0 -765
  105. package/test-data/decision-tables/basic/import-duties-calculator.json +0 -318
  106. package/test-data/decision-tables/basic/insurance-agent-commission.json +0 -228
  107. package/test-data/decision-tables/basic/insurance-coverage-calculator.json +0 -362
  108. package/test-data/decision-tables/basic/insurance-underwriting-risk.json +0 -321
  109. package/test-data/decision-tables/basic/international-roaming-policy-manager.json +0 -199
  110. package/test-data/decision-tables/basic/legacy-plan-management.json +0 -434
  111. package/test-data/decision-tables/basic/marketplace-listing-verification-system.json +0 -334
  112. package/test-data/decision-tables/basic/medication-dosage-calculator.json +0 -318
  113. package/test-data/decision-tables/basic/merch-bags.json +0 -171
  114. package/test-data/decision-tables/basic/municipal-permit-evaluation-system.json +0 -364
  115. package/test-data/decision-tables/basic/mvno-partner-enablement.json +0 -313
  116. package/test-data/decision-tables/basic/partner-revenue-sharing.json +0 -244
  117. package/test-data/decision-tables/basic/payment-routing-and-fee-calculator.json +0 -475
  118. package/test-data/decision-tables/basic/policy-discount-calculator.json +0 -307
  119. package/test-data/decision-tables/basic/policy-eligibility-analyzer.json +0 -299
  120. package/test-data/decision-tables/basic/product-listing-scoring.json +0 -358
  121. package/test-data/decision-tables/basic/realtime-fraud-detection.json +0 -235
  122. package/test-data/decision-tables/basic/regional-compliance-manager.json +0 -278
  123. package/test-data/decision-tables/basic/returns-and-refund-policy.json +0 -366
  124. package/test-data/decision-tables/basic/returns-processing-system.json +0 -448
  125. package/test-data/decision-tables/basic/school-district-resource-allocation.json +0 -282
  126. package/test-data/decision-tables/basic/seat-map-optimization.json +0 -325
  127. package/test-data/decision-tables/basic/seller-fee-calculator.json +0 -307
  128. package/test-data/decision-tables/basic/service-level-agreement-enforcement.json +0 -575
  129. package/test-data/decision-tables/basic/smart-financial-product-matcher.json +0 -249
  130. package/test-data/decision-tables/basic/supply-chain-risk.json +0 -316
  131. package/test-data/decision-tables/basic/table-loop.json +0 -93
  132. package/test-data/decision-tables/basic/table.json +0 -76
  133. package/test-data/decision-tables/basic/traffic-violation-penalty-calculator.json +0 -436
  134. package/test-data/decision-tables/basic/transaction-compliance-classifier.json +0 -525
  135. package/test-data/decision-tables/basic/vehicle-claims-resolution.json +0 -310
  136. package/test-data/decision-tables/basic/warehouse-storage-location.json +0 -345
  137. package/test-data/decision-tables/hit-policy-collect/collect-multiple-matches.json +0 -127
  138. package/test-data/decision-tables/hit-policy-collect/collect-no-match.json +0 -95
  139. package/test-data/decision-tables/hit-policy-first/first-match.json +0 -103
  140. package/test-data/decision-tables/hit-policy-first/no-match.json +0 -95
  141. package/test-data/decision-tables/hit-policy-output-order/output-order-respected.json +0 -94
  142. package/test-data/decision-tables/hit-policy-output-order/string-output-order.json +0 -94
  143. package/test-data/decision-tables/hit-policy-priority/priority-respected.json +0 -86
  144. package/test-data/decision-tables/hit-policy-rule-order/rule-order-respected.json +0 -94
  145. package/test-data/decision-tables/hit-policy-unique/all-match-error.json +0 -89
  146. package/test-data/decision-tables/hit-policy-unique/multiple-match-error.json +0 -89
  147. package/test-data/decision-tables/hit-policy-unique/no-match.json +0 -88
  148. package/test-data/decision-tables/hit-policy-unique/unique-match.json +0 -99
  149. package/test-data/expressions/arithmetic/error-cyclic.json +0 -114
  150. package/test-data/expressions/arithmetic/error-missing-input.json +0 -54
  151. package/test-data/expressions/arithmetic/error-missing-output.json +0 -54
  152. package/test-data/expressions/arithmetic/expression-default.json +0 -93
  153. package/test-data/expressions/arithmetic/expression-fields.json +0 -94
  154. package/test-data/expressions/arithmetic/expression-loop.json +0 -94
  155. package/test-data/expressions/arithmetic/expression-passthrough.json +0 -108
  156. package/test-data/expressions/arithmetic/expression.json +0 -69
  157. package/test-data/expressions/arithmetic/nested-request.json +0 -125
  158. package/test-data/expressions/arithmetic/number-function.json +0 -58
  159. package/test-data/expressions/arithmetic/test-number-functions.json +0 -68
  160. package/test-data/expressions/functions/all.json +0 -149
  161. package/test-data/expressions/functions/avg.json +0 -89
  162. package/test-data/expressions/functions/filter.json +0 -109
  163. package/test-data/expressions/functions/flat.json +0 -167
  164. package/test-data/expressions/functions/map-strings.json +0 -65
  165. package/test-data/expressions/functions/map.json +0 -73
  166. package/test-data/expressions/functions/reduce.json +0 -49
  167. package/test-data/expressions/functions/some.json +0 -175
  168. package/test-data/expressions/functions/sort-strings.json +0 -97
  169. package/test-data/expressions/functions/sort.json +0 -97
  170. package/test-data/expressions/logical/logical-and.json +0 -116
  171. package/test-data/expressions/logical/logical-complex.json +0 -260
  172. package/test-data/expressions/logical/logical-not.json +0 -111
  173. package/test-data/expressions/logical/logical-or.json +0 -123
  174. package/test-data/expressions/string/string-comparison.json +0 -128
  175. package/test-data/expressions/string/string-concat.json +0 -106
  176. package/test-data/expressions/string/string-contains.json +0 -125
  177. package/test-data/expressions/string/string-endsWith.json +0 -113
  178. package/test-data/expressions/string/string-indexOf.json +0 -131
  179. package/test-data/expressions/string/string-join.json +0 -92
  180. package/test-data/expressions/string/string-lower.json +0 -94
  181. package/test-data/expressions/string/string-replace.json +0 -130
  182. package/test-data/expressions/string/string-split.json +0 -101
  183. package/test-data/expressions/string/string-startsWith.json +0 -113
  184. package/test-data/expressions/string/string-substring.json +0 -138
  185. package/test-data/expressions/string/string-trim.json +0 -100
  186. package/test-data/expressions/string/string-upper.json +0 -94
  187. package/test-data/other/custom.json +0 -51
  188. package/test-data/other/customer-input-schema.json +0 -34
  189. package/test-data/other/customer-output-schema.json +0 -34
  190. package/test-data/other/passthrough.json +0 -31
  191. package/test-data/sub-decisions/basic/$nodes-child.json +0 -31
  192. package/test-data/sub-decisions/basic/$nodes-parent.json +0 -49
  193. package/test-data/sub-decisions/basic/recursive-table1.json +0 -49
  194. package/test-data/sub-decisions/basic/recursive-table2.json +0 -49
  195. package/test-data/sub-decisions/complex-multi/approval-decision.json +0 -31
  196. package/test-data/sub-decisions/complex-multi/complex-dag.json +0 -175
  197. package/test-data/sub-decisions/complex-multi/credit-check.json +0 -31
  198. package/test-data/sub-decisions/complex-multi/customer-segmentation.json +0 -31
  199. package/test-data/sub-decisions/complex-multi/discount-eligibility.json +0 -31
  200. package/test-data/sub-decisions/complex-multi/eligibility-check.json +0 -31
  201. package/test-data/sub-decisions/complex-multi/final-offer.json +0 -31
  202. package/test-data/sub-decisions/complex-multi/income-verification.json +0 -31
  203. package/test-data/sub-decisions/complex-multi/linear-chain.json +0 -121
  204. package/test-data/sub-decisions/complex-multi/pricing-calculation.json +0 -31
  205. package/test-data/sub-decisions/complex-multi/product-eligibility.json +0 -31
  206. package/test-data/sub-decisions/complex-multi/risk-assessment.json +0 -31
  207. package/test-data/sub-decisions/complex-multi/shared-validation.json +0 -31
  208. package/test-data/sub-decisions/complex-multi/validation.json +0 -31
  209. package/test-data/sub-decisions/diamond/decision-a.json +0 -31
  210. package/test-data/sub-decisions/diamond/decision-b.json +0 -31
  211. package/test-data/sub-decisions/diamond/decision-c.json +0 -31
  212. package/test-data/sub-decisions/diamond/decision-shared.json +0 -31
  213. package/test-data/sub-decisions/diamond/diamond-pattern.json +0 -109
  214. package/test-data/sub-decisions/error-propagation/parent-calls-error.json +0 -44
  215. package/test-data/sub-decisions/error-propagation/sub-decision-with-error.json +0 -60
  216. package/test-data/switch-nodes/basic/account-dormancy-management.json +0 -245
  217. package/test-data/switch-nodes/basic/application-risk-assessment.json +0 -474
  218. package/test-data/switch-nodes/basic/cellular-data-rollover-system.json +0 -281
  219. package/test-data/switch-nodes/basic/clinical-pathway-selection.json +0 -454
  220. package/test-data/switch-nodes/basic/insurance-prior-authorization.json +0 -467
  221. package/test-data/switch-nodes/basic/last-mile-delivery-assignment.json +0 -373
  222. package/test-data/switch-nodes/basic/loan-approval.json +0 -469
  223. package/test-data/switch-nodes/basic/multi-switch.json +0 -498
  224. package/test-data/switch-nodes/basic/online-checkin-eligibility.json +0 -285
  225. package/test-data/switch-nodes/basic/order-consolidation-system.json +0 -493
  226. package/test-data/switch-nodes/basic/seller-approval-workflow.json +0 -383
  227. package/test-data/switch-nodes/basic/set-fee.json +0 -243
  228. package/test-data/switch-nodes/basic/shipping-carrier-selector.json +0 -379
  229. package/test-data/switch-nodes/basic/switch-node.json +0 -167
  230. package/test-data/switch-nodes/basic/switch-performance-2.json +0 -1307
  231. package/test-data/switch-nodes/basic/switch-performance.json +0 -691
  232. package/test-data/switch-nodes/basic/tax-exemption.json +0 -295
  233. package/test-data/switch-nodes/basic/warehouse-cross-docking.json +0 -313
  234. package/test-data/switch-nodes/default-cases/switch-with-default.json +0 -134
  235. package/test-data/zen-reference/$nodes-child.json +0 -69
  236. package/test-data/zen-reference/$nodes-parent.json +0 -34
  237. package/test-data/zen-reference/8k.json +0 -87992
  238. package/test-data/zen-reference/credit-analysis.json +0 -324
  239. package/test-data/zen-reference/custom.json +0 -51
  240. package/test-data/zen-reference/customer-input-schema.json +0 -34
  241. package/test-data/zen-reference/customer-output-schema.json +0 -34
  242. package/test-data/zen-reference/error-cyclic.json +0 -114
  243. package/test-data/zen-reference/error-missing-input.json +0 -54
  244. package/test-data/zen-reference/error-missing-output.json +0 -54
  245. package/test-data/zen-reference/expression.json +0 -69
  246. package/test-data/zen-reference/function-v2.json +0 -48
  247. package/test-data/zen-reference/function.json +0 -46
  248. package/test-data/zen-reference/graphs/account-dormancy-management.json +0 -245
  249. package/test-data/zen-reference/graphs/affiliate-commission-calculator.json +0 -228
  250. package/test-data/zen-reference/graphs/airline-loyalty-points-calculations.json +0 -285
  251. package/test-data/zen-reference/graphs/airline-upgrade-eligibility.json +0 -466
  252. package/test-data/zen-reference/graphs/aml.json +0 -537
  253. package/test-data/zen-reference/graphs/application-risk-assessment.json +0 -474
  254. package/test-data/zen-reference/graphs/auto-insurance-premium-calculator.json +0 -412
  255. package/test-data/zen-reference/graphs/booking-personalization-system.json +0 -553
  256. package/test-data/zen-reference/graphs/care-team-assignment-system.json +0 -585
  257. package/test-data/zen-reference/graphs/cellular-data-rollover-system.json +0 -281
  258. package/test-data/zen-reference/graphs/claim-validation-system.json +0 -307
  259. package/test-data/zen-reference/graphs/clinical-lab-result-interpreter.json +0 -433
  260. package/test-data/zen-reference/graphs/clinical-pathway-selection.json +0 -454
  261. package/test-data/zen-reference/graphs/clinical-treatment-protocol.json +0 -474
  262. package/test-data/zen-reference/graphs/company-analysis.json +0 -390
  263. package/test-data/zen-reference/graphs/credit-limit-adjustment.json +0 -479
  264. package/test-data/zen-reference/graphs/customer-eligibility-engine.json +0 -551
  265. package/test-data/zen-reference/graphs/customer-lifetime-value.json +0 -200
  266. package/test-data/zen-reference/graphs/customer-onboarding-kyc-verification.json +0 -611
  267. package/test-data/zen-reference/graphs/customer-service-escalation.json +0 -191
  268. package/test-data/zen-reference/graphs/decision-table-discounts.json +0 -168
  269. package/test-data/zen-reference/graphs/decision-table-shipping.json +0 -398
  270. package/test-data/zen-reference/graphs/delivery-route-optimizer.json +0 -271
  271. package/test-data/zen-reference/graphs/device-compatibility-checker.json +0 -303
  272. package/test-data/zen-reference/graphs/disaster-relief-fund-allocation.json +0 -296
  273. package/test-data/zen-reference/graphs/dynamic-fx-rate-pricing-system.json +0 -237
  274. package/test-data/zen-reference/graphs/dynamic-marketplace-comission-calculator.json +0 -242
  275. package/test-data/zen-reference/graphs/dynamic-shipping-cost-calculator.json +0 -378
  276. package/test-data/zen-reference/graphs/dynamic-tarrif-engine.json +0 -289
  277. package/test-data/zen-reference/graphs/dynamic-ticket-pricing.json +0 -325
  278. package/test-data/zen-reference/graphs/empty-column-with-space.json +0 -100
  279. package/test-data/zen-reference/graphs/empty-column-without-space.json +0 -100
  280. package/test-data/zen-reference/graphs/environment-compliance-assessment.json +0 -386
  281. package/test-data/zen-reference/graphs/expression-default.json +0 -93
  282. package/test-data/zen-reference/graphs/expression-fields.json +0 -94
  283. package/test-data/zen-reference/graphs/expression-loop.json +0 -94
  284. package/test-data/zen-reference/graphs/expression-passthrough.json +0 -108
  285. package/test-data/zen-reference/graphs/expression-table-map.json +0 -313
  286. package/test-data/zen-reference/graphs/flash-sale-eligibility.json +0 -366
  287. package/test-data/zen-reference/graphs/flight-dispatch-decision-system.json +0 -455
  288. package/test-data/zen-reference/graphs/flight-rebooking-fee-calculator.json +0 -406
  289. package/test-data/zen-reference/graphs/government-assistance.json +0 -299
  290. package/test-data/zen-reference/graphs/grant-funding-distribution.json +0 -307
  291. package/test-data/zen-reference/graphs/hazardous-materials-management-system.json +0 -414
  292. package/test-data/zen-reference/graphs/immigration-eligibility-evaluator.json +0 -765
  293. package/test-data/zen-reference/graphs/import-duties-calculator.json +0 -318
  294. package/test-data/zen-reference/graphs/insurance-agent-commission.json +0 -228
  295. package/test-data/zen-reference/graphs/insurance-breakdown.json +0 -421
  296. package/test-data/zen-reference/graphs/insurance-coverage-calculator.json +0 -362
  297. package/test-data/zen-reference/graphs/insurance-prior-authorization.json +0 -467
  298. package/test-data/zen-reference/graphs/insurance-underwriting-risk.json +0 -321
  299. package/test-data/zen-reference/graphs/international-roaming-policy-manager.json +0 -199
  300. package/test-data/zen-reference/graphs/last-mile-delivery-assignment.json +0 -373
  301. package/test-data/zen-reference/graphs/legacy-plan-management.json +0 -434
  302. package/test-data/zen-reference/graphs/loan-approval.json +0 -469
  303. package/test-data/zen-reference/graphs/marketplace-listing-verification-system.json +0 -334
  304. package/test-data/zen-reference/graphs/medication-dosage-calculator.json +0 -318
  305. package/test-data/zen-reference/graphs/merch-bags.json +0 -171
  306. package/test-data/zen-reference/graphs/multi-switch.json +0 -498
  307. package/test-data/zen-reference/graphs/municipal-permit-evaluation-system.json +0 -364
  308. package/test-data/zen-reference/graphs/mvno-partner-enablement.json +0 -313
  309. package/test-data/zen-reference/graphs/nested-request.json +0 -125
  310. package/test-data/zen-reference/graphs/online-checkin-eligibility.json +0 -285
  311. package/test-data/zen-reference/graphs/order-consolidation-system.json +0 -493
  312. package/test-data/zen-reference/graphs/partner-revenue-sharing.json +0 -244
  313. package/test-data/zen-reference/graphs/payment-routing-and-fee-calculator.json +0 -475
  314. package/test-data/zen-reference/graphs/policy-discount-calculator.json +0 -307
  315. package/test-data/zen-reference/graphs/policy-eligibility-analyzer.json +0 -299
  316. package/test-data/zen-reference/graphs/product-listing-scoring.json +0 -358
  317. package/test-data/zen-reference/graphs/realtime-fraud-detection.json +0 -235
  318. package/test-data/zen-reference/graphs/regional-compliance-manager.json +0 -278
  319. package/test-data/zen-reference/graphs/returns-and-refund-policy.json +0 -366
  320. package/test-data/zen-reference/graphs/returns-processing-system.json +0 -448
  321. package/test-data/zen-reference/graphs/school-district-resource-allocation.json +0 -282
  322. package/test-data/zen-reference/graphs/seat-map-optimization.json +0 -325
  323. package/test-data/zen-reference/graphs/seller-approval-workflow.json +0 -383
  324. package/test-data/zen-reference/graphs/seller-fee-calculator.json +0 -307
  325. package/test-data/zen-reference/graphs/service-level-agreement-enforcement.json +0 -575
  326. package/test-data/zen-reference/graphs/set-fee.json +0 -243
  327. package/test-data/zen-reference/graphs/shipping-carrier-selector.json +0 -379
  328. package/test-data/zen-reference/graphs/smart-financial-product-matcher.json +0 -249
  329. package/test-data/zen-reference/graphs/supply-chain-risk.json +0 -316
  330. package/test-data/zen-reference/graphs/table-loop.json +0 -93
  331. package/test-data/zen-reference/graphs/tax-exemption.json +0 -295
  332. package/test-data/zen-reference/graphs/traffic-violation-penalty-calculator.json +0 -436
  333. package/test-data/zen-reference/graphs/transaction-compliance-classifier.json +0 -525
  334. package/test-data/zen-reference/graphs/vehicle-claims-resolution.json +0 -310
  335. package/test-data/zen-reference/graphs/warehouse-cross-docking.json +0 -313
  336. package/test-data/zen-reference/graphs/warehouse-storage-location.json +0 -345
  337. package/test-data/zen-reference/http-function.json +0 -34
  338. package/test-data/zen-reference/infinite-function.json +0 -46
  339. package/test-data/zen-reference/js/imports.js +0 -25
  340. package/test-data/zen-reference/passthrough.json +0 -31
  341. package/test-data/zen-reference/recursive-table1.json +0 -49
  342. package/test-data/zen-reference/recursive-table2.json +0 -49
  343. package/test-data/zen-reference/sleep-function.json +0 -34
  344. package/test-data/zen-reference/switch-node.json +0 -167
  345. package/test-data/zen-reference/switch-performance-2.json +0 -1307
  346. package/test-data/zen-reference/switch-performance.json +0 -691
  347. package/test-data/zen-reference/table.json +0 -76
  348. package/tests/helpers/index.ts +0 -73
  349. package/tests/helpers/mock-context.ts +0 -231
  350. package/tests/helpers/round-trip.ts +0 -398
  351. package/tests/helpers/test-harness-comparison.ts +0 -325
  352. package/tests/helpers/test-harness-wasm.ts +0 -710
  353. package/tests/helpers/test-harness.ts +0 -28
  354. package/tests/helpers/wasm-test.ts +0 -659
  355. package/tests/integration/compilation-errors.test.ts +0 -864
  356. package/tests/integration/decision-tables.test.ts +0 -531
  357. package/tests/integration/edge-cases.test.ts +0 -787
  358. package/tests/integration/expressions.test.ts +0 -513
  359. package/tests/integration/function-node-integration.test.ts +0 -182
  360. package/tests/integration/sub-decisions.test.ts +0 -108
  361. package/tests/integration/switch-nodes.test.ts +0 -399
  362. package/tests/integration/unary-or-matching.test.ts +0 -53
  363. package/tests/integration/wasm-data-types.test.ts +0 -398
  364. package/tests/integration/wasm-errors.test.ts +0 -199
  365. package/tests/integration/wasm-execution.test.ts +0 -348
  366. package/tests/integration/wasm-memory.test.ts +0 -228
  367. package/tests/scripts/analyze-coverage.ts +0 -166
  368. package/tests/scripts/categorize-tests.ts +0 -396
  369. package/tests/scripts/coverage-analysis.ts +0 -836
  370. package/tests/unit/compiler/cache.test.ts +0 -238
  371. package/tests/unit/compiler/errors.test.ts +0 -316
  372. package/tests/unit/compiler/graph-scalability.test.ts +0 -510
  373. package/tests/unit/compiler/graph.test.ts +0 -878
  374. package/tests/unit/compiler/input-validation.test.ts +0 -447
  375. package/tests/unit/compiler/logical-and-parser.test.ts +0 -143
  376. package/tests/unit/compiler/logical-not-parser.test.ts +0 -107
  377. package/tests/unit/compiler/logical-or-parser.test.ts +0 -236
  378. package/tests/unit/compiler/marshal-gen/marshal-gen.test.ts +0 -97
  379. package/tests/unit/compiler/nodes/decision-table.test.ts +0 -103
  380. package/tests/unit/compiler/nodes/decision.test.ts +0 -182
  381. package/tests/unit/compiler/nodes/function-compile.test.ts +0 -204
  382. package/tests/unit/compiler/nodes/function.test.ts +0 -176
  383. package/tests/unit/compiler/nodes/input.test.ts +0 -30
  384. package/tests/unit/compiler/nodes/switch.test.ts +0 -127
  385. package/tests/unit/compiler/optimizer-cache.test.ts +0 -327
  386. package/tests/unit/compiler/optimizer-implementation.test.ts +0 -625
  387. package/tests/unit/compiler/parser.test.ts +0 -508
  388. package/tests/unit/compiler/runtime-error-cleanup.test.ts +0 -426
  389. package/tests/unit/compiler/runtime-validation.test.ts +0 -303
  390. package/tests/unit/compiler/runtime.test.ts +0 -221
  391. package/tests/unit/compiler/schema/schema.test.ts +0 -248
  392. package/tests/unit/compiler/unary-ast-transforms.test.ts +0 -245
  393. package/tsconfig.json +0 -27
  394. package/tsup.config.ts +0 -11
  395. package/vitest.config.ts +0 -12
@@ -1,398 +0,0 @@
1
- {
2
- "tests": [
3
- {
4
- "input": {
5
- "cart": {
6
- "items": [
7
- {"unitPrice": 500, "quantity": 2},
8
- {"unitPrice": 300, "quantity": 3}
9
- ]
10
- },
11
- "customer": {
12
- "tags": ["premium"],
13
- "country": "US"
14
- }
15
- },
16
- "output": {
17
- "price": 15,
18
- "group": "PREMIUM_HIGH"
19
- }
20
- },
21
- {
22
- "input": {
23
- "cart": {
24
- "items": [
25
- {"unitPrice": 300, "quantity": 1},
26
- {"unitPrice": 100, "quantity": 2}
27
- ]
28
- },
29
- "customer": {
30
- "tags": ["premium"],
31
- "country": "US"
32
- }
33
- },
34
- "output": {
35
- "price": 20,
36
- "group": "PREMIUM_MEDIUM"
37
- }
38
- },
39
- {
40
- "input": {
41
- "cart": {
42
- "items": [
43
- {"unitPrice": 300, "quantity": 1},
44
- {"unitPrice": 100, "quantity": 1}
45
- ]
46
- },
47
- "customer": {
48
- "tags": ["premium"],
49
- "country": "US"
50
- }
51
- },
52
- "output": {
53
- "price": 25,
54
- "group": "PREMIUM_LOW"
55
- }
56
- },
57
- {
58
- "input": {
59
- "cart": {
60
- "items": [
61
- {"unitPrice": 1500, "quantity": 2},
62
- {"unitPrice": 800, "quantity": 3}
63
- ]
64
- },
65
- "customer": {
66
- "tags": [],
67
- "country": "US"
68
- }
69
- },
70
- "output": {
71
- "price": 25,
72
- "group": "US_HIGH"
73
- }
74
- },
75
- {
76
- "input": {
77
- "cart": {
78
- "items": [
79
- {"unitPrice": 300, "quantity": 2},
80
- {"unitPrice": 50, "quantity": 3}
81
- ]
82
- },
83
- "customer": {
84
- "tags": [],
85
- "country": "US"
86
- }
87
- },
88
- "output": {
89
- "price": 35,
90
- "group": "US_MEDIUM"
91
- }
92
- },
93
- {
94
- "input": {
95
- "cart": {
96
- "items": [
97
- {"unitPrice": 200, "quantity": 1},
98
- {"unitPrice": 125, "quantity": 2}
99
- ]
100
- },
101
- "customer": {
102
- "tags": [],
103
- "country": "US"
104
- }
105
- },
106
- "output": {
107
- "price": 40,
108
- "group": "US_LOW"
109
- }
110
- },
111
- {
112
- "input": {
113
- "cart": {
114
- "items": [
115
- {"unitPrice": 700, "quantity": 1},
116
- {"unitPrice": 900, "quantity": 2}
117
- ]
118
- },
119
- "customer": {
120
- "tags": [],
121
- "country": "IE"
122
- }
123
- },
124
- "output": {
125
- "price": 20,
126
- "group": "UK_HIGH"
127
- }
128
- },
129
- {
130
- "input": {
131
- "cart": {
132
- "items": [
133
- {"unitPrice": 400, "quantity": 1},
134
- {"unitPrice": 200, "quantity": 2}
135
- ]
136
- },
137
- "customer": {
138
- "tags": [],
139
- "country": "GB"
140
- }
141
- },
142
- "output": {
143
- "price": 30,
144
- "group": "UK_MEDIUM"
145
- }
146
- },
147
- {
148
- "input": {
149
- "cart": {
150
- "items": [
151
- {"unitPrice": 200, "quantity": 1},
152
- {"unitPrice": 100, "quantity": 1}
153
- ]
154
- },
155
- "customer": {
156
- "tags": [],
157
- "country": "IE"
158
- }
159
- },
160
- "output": {
161
- "price": 35,
162
- "group": "UK_LOW"
163
- }
164
- },
165
- {
166
- "input": {
167
- "cart": {
168
- "items": [
169
- {"unitPrice": 1500, "quantity": 1},
170
- {"unitPrice": 1200, "quantity": 2}
171
- ]
172
- },
173
- "customer": {
174
- "tags": [],
175
- "country": "ROW"
176
- }
177
- },
178
- "output": {
179
- "price": 35,
180
- "group": "ROW_HIGH"
181
- }
182
- },
183
- {
184
- "input": {
185
- "cart": {
186
- "items": [
187
- {"unitPrice": 400, "quantity": 2},
188
- {"unitPrice": 199.99, "quantity": 1}
189
- ]
190
- },
191
- "customer": {
192
- "tags": [],
193
- "country": "ROW"
194
- }
195
- },
196
- "output": {
197
- "price": 45,
198
- "group": "ROW_MEDIUM"
199
- }
200
- },
201
- {
202
- "input": {
203
- "cart": {
204
- "items": [
205
- {"unitPrice": 499.99, "quantity": 1}
206
- ]
207
- },
208
- "customer": {
209
- "tags": [],
210
- "country": "ROW"
211
- }
212
- },
213
- "output": {
214
- "price": 50,
215
- "group": "ROW_LOW"
216
- }
217
- }
218
- ],
219
- "contentType": "application/vnd.gorules.decision",
220
- "nodes": [
221
- {
222
- "id": "4c688656-05ba-4503-a582-02e6e4a5a135",
223
- "type": "inputNode",
224
- "position": {
225
- "x": 220,
226
- "y": 260
227
- },
228
- "name": "Request"
229
- },
230
- {
231
- "id": "2938f93f-1dce-4f85-a401-44c224d9237f",
232
- "type": "outputNode",
233
- "position": {
234
- "x": 730,
235
- "y": 260
236
- },
237
- "name": "Response"
238
- },
239
- {
240
- "id": "405841da-b7bb-4f4e-824f-21f1f4bc6fd9",
241
- "type": "decisionTableNode",
242
- "position": {
243
- "x": 460,
244
- "y": 260
245
- },
246
- "name": "Shipping Fees",
247
- "content": {
248
- "hitPolicy": "first",
249
- "inputs": [
250
- {
251
- "id": "ea23eec9-76c5-4b62-821c-aec504545506",
252
- "name": "Totals",
253
- "type": "expression",
254
- "field": "sum(map(cart.items, #.unitPrice * #.quantity))"
255
- },
256
- {
257
- "id": "184cc5f5-f459-41cf-814b-79f6ffea695d",
258
- "type": "expression",
259
- "field": "customer.tags",
260
- "name": "Customer Tags"
261
- },
262
- {
263
- "id": "d89ca9da-581e-4392-a990-24cde9c33a2b",
264
- "type": "expression",
265
- "field": "customer.country",
266
- "name": "Customer Country"
267
- }
268
- ],
269
- "outputs": [
270
- {
271
- "field": "price",
272
- "id": "f01ad940-81f0-4164-9868-5423fb66cca9",
273
- "name": "Price",
274
- "type": "expression"
275
- },
276
- {
277
- "id": "adf3d882-64d8-4cf9-a208-023f586f8697",
278
- "type": "expression",
279
- "field": "group",
280
- "name": "Group"
281
- }
282
- ],
283
- "rules": [
284
- {
285
- "_id": "ab7bcf2b-4594-4347-a085-5dac0601d7e5",
286
- "ea23eec9-76c5-4b62-821c-aec504545506": ">= 1_000",
287
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "contains($, \"premium\")",
288
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "",
289
- "f01ad940-81f0-4164-9868-5423fb66cca9": "15",
290
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"PREMIUM_HIGH\""
291
- },
292
- {
293
- "_id": "4a2ae2e9-9ad7-45b2-9fad-db26e3cab0c8",
294
- "ea23eec9-76c5-4b62-821c-aec504545506": "[500..1_000)",
295
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "contains($, \"premium\")",
296
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "",
297
- "f01ad940-81f0-4164-9868-5423fb66cca9": "20",
298
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"PREMIUM_MEDIUM\""
299
- },
300
- {
301
- "_id": "b7aaeca2-7e42-4fb2-9867-eb4e43ca911d",
302
- "ea23eec9-76c5-4b62-821c-aec504545506": "",
303
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "contains($, \"premium\")",
304
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "",
305
- "f01ad940-81f0-4164-9868-5423fb66cca9": "25",
306
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"PREMIUM_LOW\""
307
- },
308
- {
309
- "_id": "a179f314-512c-4cc6-a892-5f1e0b6b979c",
310
- "ea23eec9-76c5-4b62-821c-aec504545506": ">= 1_000",
311
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "",
312
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "\"US\"",
313
- "f01ad940-81f0-4164-9868-5423fb66cca9": "25",
314
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"US_HIGH\""
315
- },
316
- {
317
- "_id": "db1f0c0e-e48a-4f9f-95fe-04e143cfd029",
318
- "ea23eec9-76c5-4b62-821c-aec504545506": "[500..1_000)",
319
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "",
320
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "\"US\"",
321
- "f01ad940-81f0-4164-9868-5423fb66cca9": "35",
322
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"US_MEDIUM\""
323
- },
324
- {
325
- "_id": "3110b1b5-6552-48c4-8a78-417ee6185125",
326
- "ea23eec9-76c5-4b62-821c-aec504545506": "",
327
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "",
328
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "\"US\"",
329
- "f01ad940-81f0-4164-9868-5423fb66cca9": "40",
330
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"US_LOW\""
331
- },
332
- {
333
- "_id": "6ad80268-5400-45f4-977f-07515cc0d4a0",
334
- "ea23eec9-76c5-4b62-821c-aec504545506": ">= 1_000",
335
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "",
336
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "\"GB\", \"IE\"",
337
- "f01ad940-81f0-4164-9868-5423fb66cca9": "20",
338
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"UK_HIGH\""
339
- },
340
- {
341
- "_id": "b814770e-c35b-406b-ba0a-39e2832853bc",
342
- "ea23eec9-76c5-4b62-821c-aec504545506": "[500..1_000)",
343
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "",
344
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "\"GB\", \"IE\"",
345
- "f01ad940-81f0-4164-9868-5423fb66cca9": "30",
346
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"UK_MEDIUM\""
347
- },
348
- {
349
- "_id": "705783d4-e015-47d6-98fc-84f6544b3ce1",
350
- "ea23eec9-76c5-4b62-821c-aec504545506": "",
351
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "",
352
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "\"GB\", \"IE\"",
353
- "f01ad940-81f0-4164-9868-5423fb66cca9": "35",
354
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"UK_LOW\""
355
- },
356
- {
357
- "_id": "889c2ab2-d495-4299-9809-3aac70352c9b",
358
- "ea23eec9-76c5-4b62-821c-aec504545506": ">= 1_000",
359
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "",
360
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "",
361
- "f01ad940-81f0-4164-9868-5423fb66cca9": "35",
362
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"ROW_HIGH\""
363
- },
364
- {
365
- "_id": "3c32d0b0-32a1-465c-9f50-643f8f2a0700",
366
- "ea23eec9-76c5-4b62-821c-aec504545506": "[500..1_000)",
367
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "",
368
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "",
369
- "f01ad940-81f0-4164-9868-5423fb66cca9": "45",
370
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"ROW_MEDIUM\""
371
- },
372
- {
373
- "_id": "5449fa1d-78f1-463f-a4e7-6ce8018adf1f",
374
- "ea23eec9-76c5-4b62-821c-aec504545506": "",
375
- "184cc5f5-f459-41cf-814b-79f6ffea695d": "",
376
- "d89ca9da-581e-4392-a990-24cde9c33a2b": "",
377
- "f01ad940-81f0-4164-9868-5423fb66cca9": "50",
378
- "adf3d882-64d8-4cf9-a208-023f586f8697": "\"ROW_LOW\""
379
- }
380
- ]
381
- }
382
- }
383
- ],
384
- "edges": [
385
- {
386
- "id": "1ded87cb-d27c-40ba-a31a-8a7127303f6c",
387
- "sourceId": "4c688656-05ba-4503-a582-02e6e4a5a135",
388
- "type": "edge",
389
- "targetId": "405841da-b7bb-4f4e-824f-21f1f4bc6fd9"
390
- },
391
- {
392
- "id": "2a3ed2d7-ab77-4935-968e-11642ebd4f75",
393
- "sourceId": "405841da-b7bb-4f4e-824f-21f1f4bc6fd9",
394
- "type": "edge",
395
- "targetId": "2938f93f-1dce-4f85-a401-44c224d9237f"
396
- }
397
- ]
398
- }
@@ -1,271 +0,0 @@
1
- {
2
- "tests": [
3
- {
4
- "input": {
5
- "route": {
6
- "id": "R1234",
7
- "name": "Downtown Loop",
8
- "capacityUtilization": 0.85,
9
- "trafficCongestionMinutes": 12,
10
- "deliveryWindowMinutes": 45,
11
- "distanceKm": 8.5,
12
- "otherCondition": "normal"
13
- }
14
- },
15
- "output": {
16
- "distanceScore": 30,
17
- "route": {
18
- "capacityUtilization": 0.85,
19
- "deliveryWindowMinutes": 45,
20
- "distanceKm": 8.5,
21
- "id": "R1234",
22
- "name": "Downtown Loop",
23
- "otherCondition": "normal",
24
- "trafficCongestionMinutes": 12
25
- },
26
- "routeResult": {
27
- "classification": "recommended",
28
- "isApproved": true,
29
- "message": "Route is recommended with good score."
30
- },
31
- "routeScores": {
32
- "baseScore": 100,
33
- "priority": "high"
34
- },
35
- "timeWindowScore": 30,
36
- "totalScore": 160
37
- }
38
- }
39
- ],
40
- "nodes": [
41
- {
42
- "type": "inputNode",
43
- "content": {
44
- "schema": ""
45
- },
46
- "id": "ip1",
47
- "name": "request",
48
- "position": {
49
- "x": 110,
50
- "y": 114
51
- }
52
- },
53
- {
54
- "type": "decisionTableNode",
55
- "content": {
56
- "hitPolicy": "first",
57
- "rules": [
58
- {
59
- "_id": "r1-1",
60
- "i1-1": "> 0.8",
61
- "i1-2": "< 15",
62
- "i1-3": "",
63
- "o1-1": "100",
64
- "o1-2": "'high'"
65
- },
66
- {
67
- "_id": "r1-2",
68
- "i1-1": "> 0.8",
69
- "i1-2": "> 15",
70
- "i1-3": "",
71
- "o1-1": "80",
72
- "o1-2": "'medium'"
73
- },
74
- {
75
- "_id": "r1-3",
76
- "i1-1": "> 0.5",
77
- "i1-2": "< 20",
78
- "i1-3": "",
79
- "o1-1": "70",
80
- "o1-2": "'medium'"
81
- },
82
- {
83
- "_id": "r1-4",
84
- "i1-1": "> 0.5",
85
- "i1-2": "> 20",
86
- "i1-3": "",
87
- "o1-1": "60",
88
- "o1-2": "'low'"
89
- },
90
- {
91
- "_id": "r1-5",
92
- "i1-1": "< 0.5",
93
- "i1-2": "< 30",
94
- "i1-3": "",
95
- "o1-1": "50",
96
- "o1-2": "'low'"
97
- },
98
- {
99
- "_id": "r1-6",
100
- "i1-1": "",
101
- "i1-2": "",
102
- "i1-3": "",
103
- "o1-1": "30",
104
- "o1-2": "'very_low'"
105
- }
106
- ],
107
- "inputs": [
108
- {
109
- "id": "i1-1",
110
- "name": "Capacity Utilization",
111
- "field": "route.capacityUtilization"
112
- },
113
- {
114
- "id": "i1-2",
115
- "name": "Traffic Congestion (min)",
116
- "field": "route.trafficCongestionMinutes"
117
- },
118
- {
119
- "id": "i1-3",
120
- "name": "Other Condition",
121
- "field": "route.otherCondition"
122
- }
123
- ],
124
- "outputs": [
125
- {
126
- "id": "o1-1",
127
- "name": "Base Score",
128
- "field": "routeScores.baseScore"
129
- },
130
- {
131
- "id": "o1-2",
132
- "name": "Priority",
133
- "field": "routeScores.priority"
134
- }
135
- ],
136
- "passThrough": true,
137
- "inputField": null,
138
- "outputPath": null,
139
- "executionMode": "single"
140
- },
141
- "id": "dt1",
142
- "name": "evaluate_base_score",
143
- "position": {
144
- "x": 430,
145
- "y": 114
146
- }
147
- },
148
- {
149
- "type": "expressionNode",
150
- "content": {
151
- "expressions": [
152
- {
153
- "id": "e1-1",
154
- "key": "timeWindowScore",
155
- "value": "route.deliveryWindowMinutes <= 30 ? 50 : (route.deliveryWindowMinutes <= 60 ? 30 : 10)"
156
- },
157
- {
158
- "id": "e1-2",
159
- "key": "distanceScore",
160
- "value": "route.distanceKm <= 5 ? 40 : (route.distanceKm <= 10 ? 30 : (route.distanceKm <= 20 ? 20 : 10))"
161
- },
162
- {
163
- "id": "e1-3",
164
- "key": "totalScore",
165
- "value": "routeScores.baseScore + $.timeWindowScore + $.distanceScore"
166
- }
167
- ],
168
- "passThrough": true,
169
- "inputField": null,
170
- "outputPath": null,
171
- "executionMode": "single"
172
- },
173
- "id": "ex1",
174
- "name": "calculate_additional_scores",
175
- "position": {
176
- "x": 750,
177
- "y": 114
178
- }
179
- },
180
- {
181
- "type": "decisionTableNode",
182
- "content": {
183
- "hitPolicy": "first",
184
- "rules": [
185
- {
186
- "_id": "r2-1",
187
- "i2-1": "> 160",
188
- "o2-1": "'optimal'",
189
- "o2-2": "true",
190
- "o2-3": "'Route is optimal with high score.'"
191
- },
192
- {
193
- "_id": "r2-2",
194
- "i2-1": "> 120",
195
- "o2-1": "'recommended'",
196
- "o2-2": "true",
197
- "o2-3": "'Route is recommended with good score.'"
198
- },
199
- {
200
- "_id": "r2-3",
201
- "i2-1": "> 90",
202
- "o2-1": "'acceptable'",
203
- "o2-2": "true",
204
- "o2-3": "'Route is acceptable with moderate score.'"
205
- },
206
- {
207
- "_id": "r2-4",
208
- "i2-1": "",
209
- "o2-1": "'not_recommended'",
210
- "o2-2": "false",
211
- "o2-3": "'Route is not recommended due to low score.'"
212
- }
213
- ],
214
- "inputs": [
215
- {
216
- "id": "i2-1",
217
- "name": "Total Score",
218
- "field": "totalScore"
219
- }
220
- ],
221
- "outputs": [
222
- {
223
- "id": "o2-1",
224
- "name": "Route Classification",
225
- "field": "routeResult.classification"
226
- },
227
- {
228
- "id": "o2-2",
229
- "name": "Is Approved",
230
- "field": "routeResult.isApproved"
231
- },
232
- {
233
- "id": "o2-3",
234
- "name": "Message",
235
- "field": "routeResult.message"
236
- }
237
- ],
238
- "passThrough": true,
239
- "inputField": null,
240
- "outputPath": null,
241
- "executionMode": "single"
242
- },
243
- "id": "dt2",
244
- "name": "determine_route_approval",
245
- "position": {
246
- "x": 1070,
247
- "y": 114
248
- }
249
- }
250
- ],
251
- "edges": [
252
- {
253
- "id": "ed1",
254
- "sourceId": "ip1",
255
- "targetId": "dt1",
256
- "type": "edge"
257
- },
258
- {
259
- "id": "ed2",
260
- "sourceId": "dt1",
261
- "targetId": "ex1",
262
- "type": "edge"
263
- },
264
- {
265
- "id": "ed3",
266
- "sourceId": "ex1",
267
- "targetId": "dt2",
268
- "type": "edge"
269
- }
270
- ]
271
- }