celerity-runtime-sdk 0.2.0__tar.gz → 0.2.2__tar.gz

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 (436) hide show
  1. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/Cargo.lock +16 -1
  2. celerity_runtime_sdk-0.2.2/Cargo.toml +5 -0
  3. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/PKG-INFO +1 -1
  4. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/Cargo.toml +3 -0
  5. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/blueprint.rs +5 -15
  6. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/blueprint_with_subs.rs +3 -3
  7. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/lib.rs +1 -0
  8. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/parse.rs +38 -0
  9. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/parse_mapping_node.rs +1 -1
  10. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/parse_substitutions.rs +60 -20
  11. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/parse_yaml.rs +8 -5
  12. celerity_runtime_sdk-0.2.2/blueprint-config-parser/src/reshape.rs +245 -0
  13. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/resolve_substitutions.rs +12 -6
  14. celerity_runtime_sdk-0.2.2/blueprint-config-parser/tests/blueprint_lang_test.rs +362 -0
  15. celerity_runtime_sdk-0.2.2/blueprint-config-parser/tests/data/fixtures/http-api.bp +97 -0
  16. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/datastore_resource_test.rs +4 -1
  17. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_combined_app_blueprint_config_from_jsonc_file.snap +2 -3
  18. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_combined_app_blueprint_config_from_yaml_file.snap +2 -3
  19. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_workflow_app_blueprint_config_from_jsonc_file.snap +1 -3
  20. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_workflow_app_blueprint_config_from_yaml_file.snap +1 -3
  21. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/vpc_resource_test.rs +4 -1
  22. celerity_runtime_sdk-0.2.2/blueprint-lang/Cargo.toml +23 -0
  23. celerity_runtime_sdk-0.2.2/blueprint-lang/README.md +20 -0
  24. celerity_runtime_sdk-0.2.2/blueprint-lang/src/errors.rs +304 -0
  25. celerity_runtime_sdk-0.2.2/blueprint-lang/src/expr_transform.rs +585 -0
  26. celerity_runtime_sdk-0.2.2/blueprint-lang/src/flatten.rs +231 -0
  27. celerity_runtime_sdk-0.2.2/blueprint-lang/src/lexer.rs +759 -0
  28. celerity_runtime_sdk-0.2.2/blueprint-lang/src/lib.rs +127 -0
  29. celerity_runtime_sdk-0.2.2/blueprint-lang/src/mapping.rs +120 -0
  30. celerity_runtime_sdk-0.2.2/blueprint-lang/src/options.rs +13 -0
  31. celerity_runtime_sdk-0.2.2/blueprint-lang/src/parser/block.rs +117 -0
  32. celerity_runtime_sdk-0.2.2/blueprint-lang/src/parser/core.rs +340 -0
  33. celerity_runtime_sdk-0.2.2/blueprint-lang/src/parser/data_elements.rs +418 -0
  34. celerity_runtime_sdk-0.2.2/blueprint-lang/src/parser/decl.rs +512 -0
  35. celerity_runtime_sdk-0.2.2/blueprint-lang/src/parser/expr.rs +627 -0
  36. celerity_runtime_sdk-0.2.2/blueprint-lang/src/parser/names.rs +206 -0
  37. celerity_runtime_sdk-0.2.2/blueprint-lang/src/parser/ref_call.rs +607 -0
  38. celerity_runtime_sdk-0.2.2/blueprint-lang/src/parser/resource_elements.rs +390 -0
  39. celerity_runtime_sdk-0.2.2/blueprint-lang/src/parser/strings.rs +126 -0
  40. celerity_runtime_sdk-0.2.2/blueprint-lang/src/parser.rs +11 -0
  41. celerity_runtime_sdk-0.2.2/blueprint-lang/src/scalar.rs +163 -0
  42. celerity_runtime_sdk-0.2.2/blueprint-lang/src/schema/blueprint.rs +98 -0
  43. celerity_runtime_sdk-0.2.2/blueprint-lang/src/schema/data_source.rs +243 -0
  44. celerity_runtime_sdk-0.2.2/blueprint-lang/src/schema/export.rs +56 -0
  45. celerity_runtime_sdk-0.2.2/blueprint-lang/src/schema/include.rs +63 -0
  46. celerity_runtime_sdk-0.2.2/blueprint-lang/src/schema/resource.rs +169 -0
  47. celerity_runtime_sdk-0.2.2/blueprint-lang/src/schema/value.rs +72 -0
  48. celerity_runtime_sdk-0.2.2/blueprint-lang/src/schema/variable.rs +147 -0
  49. celerity_runtime_sdk-0.2.2/blueprint-lang/src/schema.rs +78 -0
  50. celerity_runtime_sdk-0.2.2/blueprint-lang/src/source.rs +74 -0
  51. celerity_runtime_sdk-0.2.2/blueprint-lang/src/substitution.rs +376 -0
  52. celerity_runtime_sdk-0.2.2/blueprint-lang/src/tokens.rs +242 -0
  53. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/comments-basic.bp +15 -0
  54. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/data-description.bp +9 -0
  55. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/data-export-forms.bp +17 -0
  56. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/data-filter-collection.bp +10 -0
  57. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/data-filter-comparison.bp +10 -0
  58. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/data-filter-equality.bp +8 -0
  59. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/data-filter-text.bp +12 -0
  60. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/data-metadata.bp +20 -0
  61. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/data-minimal.bp +7 -0
  62. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/export-bare-ref.bp +6 -0
  63. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/export-each-type.bp +25 -0
  64. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/export-string-form.bp +5 -0
  65. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/export-with-description.bp +6 -0
  66. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/expr-function-call.bp +13 -0
  67. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/expr-multiline-ops.bp +7 -0
  68. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/expr-multiline-string.bp +8 -0
  69. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/expr-none-literal.bp +5 -0
  70. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/expr-precedence.bp +5 -0
  71. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/expr-resource-path.bp +9 -0
  72. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/expr-resource-quoted-accessor.bp +9 -0
  73. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/include-all.bp +16 -0
  74. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/include-minimal.bp +3 -0
  75. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/include-with-description.bp +5 -0
  76. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/metadata-dotted-keys.bp +7 -0
  77. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/metadata-nested.bp +8 -0
  78. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/resource-condition-bare.bp +14 -0
  79. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/resource-condition-object.bp +22 -0
  80. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/resource-dependson.bp +17 -0
  81. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/resource-foreach.bp +19 -0
  82. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/resource-metadata-full.bp +27 -0
  83. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/resource-minimal.bp +11 -0
  84. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/resource-removal-policy.bp +9 -0
  85. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/resource-select-exclude.bp +12 -0
  86. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/resource-select.bp +12 -0
  87. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/resource-spec-complex.bp +19 -0
  88. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/transform-multiple.bp +3 -0
  89. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/transform-single.bp +3 -0
  90. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/value-array.bp +6 -0
  91. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/value-call.bp +5 -0
  92. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/value-expression.bp +5 -0
  93. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/value-object.bp +9 -0
  94. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/value-string.bp +6 -0
  95. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/variable-boolean.bp +6 -0
  96. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/variable-element-types.bp +10 -0
  97. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/variable-empty-block.bp +3 -0
  98. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/variable-float.bp +7 -0
  99. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/variable-integer.bp +7 -0
  100. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/variable-multiline-description.bp +9 -0
  101. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/variable-multiple.bp +16 -0
  102. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/variable-quoted-name.bp +5 -0
  103. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/variable-secret.bp +6 -0
  104. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/variable-separators.bp +3 -0
  105. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/variable-string.bp +7 -0
  106. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/fixtures/version-only.bp +1 -0
  107. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/parse_snapshot.rs +305 -0
  108. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/raw_text_substitutions.rs +169 -0
  109. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__comments-basic.snap +216 -0
  110. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-description.snap +330 -0
  111. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-export-forms.snap +552 -0
  112. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-export-type-object.snap +10 -0
  113. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-filter-collection.snap +589 -0
  114. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-filter-comparison.snap +535 -0
  115. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-filter-equality.snap +347 -0
  116. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-filter-text.snap +697 -0
  117. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-has-without-key.snap +13 -0
  118. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-metadata.snap +558 -0
  119. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-minimal.snap +252 -0
  120. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-not-before-eq.snap +13 -0
  121. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__data-unknown-field.snap +10 -0
  122. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__duplicate-version.snap +9 -0
  123. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__element-type-single-segment.snap +10 -0
  124. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__empty-transform-list.snap +9 -0
  125. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__export-bad-type.snap +10 -0
  126. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__export-bare-ref.snap +158 -0
  127. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__export-each-type.snap +447 -0
  128. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__export-fn-call.snap +10 -0
  129. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__export-string-form.snap +122 -0
  130. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__export-unknown-field.snap +10 -0
  131. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__export-with-description.snap +198 -0
  132. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__expr-dangling-op.snap +10 -0
  133. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__expr-function-call.snap +507 -0
  134. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__expr-multiline-ops.snap +382 -0
  135. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__expr-multiline-string.snap +221 -0
  136. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__expr-none-literal.snap +105 -0
  137. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__expr-precedence.snap +340 -0
  138. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__expr-resource-path.snap +362 -0
  139. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__expr-resource-quoted-accessor.snap +277 -0
  140. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__expr-unterminated-call.snap +10 -0
  141. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__include-all.snap +475 -0
  142. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__include-minimal.snap +124 -0
  143. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__include-missing-path.snap +10 -0
  144. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__include-unknown-field.snap +10 -0
  145. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__include-unterminated.snap +10 -0
  146. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__include-with-description.snap +173 -0
  147. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__invalid-quoted-name.snap +10 -0
  148. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__invalid-type-segment.snap +10 -0
  149. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__metadata-dotted-keys.snap +175 -0
  150. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__metadata-duplicate.snap +9 -0
  151. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__metadata-missing-assign.snap +10 -0
  152. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__metadata-nested.snap +213 -0
  153. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__missing-version.snap +7 -0
  154. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__multiline-version.snap +10 -0
  155. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__reserved-word-as-name.snap +10 -0
  156. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-condition-bare.snap +548 -0
  157. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-condition-object.snap +530 -0
  158. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-condition-two-keys.snap +10 -0
  159. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-dependson.snap +372 -0
  160. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-foreach.snap +749 -0
  161. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-labels-non-string.snap +10 -0
  162. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-metadata-full.snap +590 -0
  163. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-minimal.snap +308 -0
  164. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-removal-policy-invalid.snap +9 -0
  165. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-removal-policy-non-literal.snap +10 -0
  166. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-removal-policy.snap +206 -0
  167. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-select-exclude.snap +260 -0
  168. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-select-missing-by.snap +10 -0
  169. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-select.snap +238 -0
  170. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-spec-complex.snap +668 -0
  171. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-spec-missing.snap +9 -0
  172. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__resource-unknown-field.snap +10 -0
  173. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__transform-interpolation.snap +10 -0
  174. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__transform-multiple.snap +90 -0
  175. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__transform-not-a-string.snap +10 -0
  176. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__transform-single.snap +73 -0
  177. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__unexpected-top-level-token.snap +10 -0
  178. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__value-array.snap +205 -0
  179. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__value-bad-type.snap +13 -0
  180. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__value-call.snap +190 -0
  181. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__value-expression.snap +285 -0
  182. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__value-object.snap +223 -0
  183. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__value-string.snap +200 -0
  184. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__value-unknown-field.snap +10 -0
  185. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-allowedvalues-not-array.snap +10 -0
  186. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-boolean-allowedvalues.snap +9 -0
  187. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-boolean.snap +146 -0
  188. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-description-not-string.snap +9 -0
  189. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-element-types.snap +219 -0
  190. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-empty-block.snap +106 -0
  191. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-float.snap +204 -0
  192. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-integer.snap +204 -0
  193. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-missing-assign.snap +10 -0
  194. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-multiline-description.snap +146 -0
  195. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-multiple.snap +381 -0
  196. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-non-scalar-default.snap +10 -0
  197. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-quoted-name.snap +126 -0
  198. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-secret-not-bool.snap +10 -0
  199. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-secret.snap +146 -0
  200. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-separators.snap +185 -0
  201. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-string.snap +204 -0
  202. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-unknown-field.snap +10 -0
  203. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__variable-unterminated-block.snap +10 -0
  204. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/parse_snapshot__version-only.snap +55 -0
  205. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/snapshots/tokenize_snapshot__mixed_blueprint_tokens.snap +62 -0
  206. celerity_runtime_sdk-0.2.2/blueprint-lang/tests/tokenize_snapshot.rs +44 -0
  207. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/application.rs +5 -1
  208. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/blueprint_helpers.rs +1 -1
  209. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/body_transform/aws_dynamodb.rs +1 -1
  210. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/consts.rs +9 -0
  211. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/transform_config.rs +1 -1
  212. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/websocket.rs +18 -3
  213. celerity_runtime_sdk-0.2.2/core/tests/blueprint_lang_test.rs +76 -0
  214. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/scanner.rs +4 -8
  215. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/pyproject.toml +1 -1
  216. celerity_runtime_sdk-0.2.2/sdk/python/.core-version +1 -0
  217. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/CHANGELOG.md +19 -0
  218. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/Cargo.toml +1 -1
  219. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/src/websockets.rs +31 -0
  220. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/test_runtime_application.py +10 -1
  221. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/test_websocket.py +22 -11
  222. celerity_runtime_sdk-0.2.0/Cargo.toml +0 -5
  223. celerity_runtime_sdk-0.2.0/sdk/python/.core-version +0 -1
  224. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/README.md +0 -0
  225. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/aws-helpers/Cargo.toml +0 -0
  226. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/aws-helpers/src/aws_regions.rs +0 -0
  227. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/aws-helpers/src/clients.rs +0 -0
  228. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/aws-helpers/src/credentials.rs +0 -0
  229. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/aws-helpers/src/lib.rs +0 -0
  230. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/README.md +0 -0
  231. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/parse_blueprint_resource.rs +0 -0
  232. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/parse_helpers.rs +0 -0
  233. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/validate_parsed.rs +0 -0
  234. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/workflow_consts.rs +0 -0
  235. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/yaml_helpers.rs +0 -0
  236. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/src/yaml_workflow.rs +0 -0
  237. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/blueprint_config_test.rs +0 -0
  238. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/combined-app.jsonc +0 -0
  239. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/combined-app.yaml +0 -0
  240. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/datastore-complete.yaml +0 -0
  241. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/datastore-keys-only.yaml +0 -0
  242. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/datastore-with-indexes.yaml +0 -0
  243. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/datastore-with-schema.yaml +0 -0
  244. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/datastore-with-ttl.yaml +0 -0
  245. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/empty-variable-type.jsonc +0 -0
  246. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/empty-variable-type.yaml +0 -0
  247. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/handler-config-resource-types.jsonc +0 -0
  248. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/handler-config-resource-types.yaml +0 -0
  249. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/http-api-multi-guard.jsonc +0 -0
  250. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/http-api-multi-guard.yaml +0 -0
  251. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/http-api.jsonc +0 -0
  252. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/http-api.yaml +0 -0
  253. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/hybrid-api.jsonc +0 -0
  254. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/hybrid-api.yaml +0 -0
  255. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-blueprint.jsonc +0 -0
  256. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-blueprint.yaml +0 -0
  257. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-resource-metadata.jsonc +0 -0
  258. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-resource-metadata.yaml +0 -0
  259. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-resource-type.jsonc +0 -0
  260. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-resource-type.yaml +0 -0
  261. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-secret.jsonc +0 -0
  262. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-secret.yaml +0 -0
  263. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-variable-description.jsonc +0 -0
  264. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-variable-description.yaml +0 -0
  265. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-variable-type.jsonc +0 -0
  266. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-variable-type.yaml +0 -0
  267. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-version.jsonc +0 -0
  268. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/invalid-version.yaml +0 -0
  269. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/missing-resource-type.jsonc +0 -0
  270. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/missing-resource-type.yaml +0 -0
  271. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/missing-version.jsonc +0 -0
  272. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/missing-version.yaml +0 -0
  273. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/no-resources.jsonc +0 -0
  274. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/no-resources.yaml +0 -0
  275. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/schedule-app.jsonc +0 -0
  276. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/schedule-app.yaml +0 -0
  277. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/shared-handler-config.jsonc +0 -0
  278. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/shared-handler-config.yaml +0 -0
  279. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/unsupported-resource-type.jsonc +0 -0
  280. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/unsupported-resource-type.yaml +0 -0
  281. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/vpc-standard.yaml +0 -0
  282. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/vpc-with-preset.yaml +0 -0
  283. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/vpc-with-substitutions.yaml +0 -0
  284. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/websocket-api-multi-guard.jsonc +0 -0
  285. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/websocket-api-multi-guard.yaml +0 -0
  286. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/websocket-api-with-ws-config.jsonc +0 -0
  287. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/websocket-api-with-ws-config.yaml +0 -0
  288. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/websocket-api.jsonc +0 -0
  289. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/websocket-api.yaml +0 -0
  290. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/workflow-app.jsonc +0 -0
  291. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/data/fixtures/workflow-app.yaml +0 -0
  292. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_blueprint_config_from_jsonc_string.snap +0 -0
  293. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_blueprint_config_from_yaml_string.snap +0 -0
  294. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_handler_config_resources_blueprint_config_from_jsonc_file.snap +0 -0
  295. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_handler_config_resources_blueprint_config_from_yaml_file.snap +0 -0
  296. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_http_api_multi_guard_blueprint_config_from_jsonc_file.snap +0 -0
  297. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_http_api_multi_guard_blueprint_config_from_yaml_file.snap +0 -0
  298. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_hybrid_api_blueprint_config_from_jsonc_file.snap +0 -0
  299. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_hybrid_api_blueprint_config_from_yaml_file.snap +0 -0
  300. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_schedule_app_blueprint_config_from_jsonc_file.snap +0 -0
  301. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_schedule_app_blueprint_config_from_yaml_file.snap +0 -0
  302. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_shared_handler_config_blueprint_config_from_jsonc_file.snap +0 -0
  303. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_shared_handler_config_blueprint_config_from_yaml_file.snap +0 -0
  304. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_blueprint_config_from_jsonc_file.snap +0 -0
  305. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_blueprint_config_from_yaml_file.snap +0 -0
  306. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_blueprint_config_with_ws_protocol_config_from_jsonc_file.snap +0 -0
  307. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_blueprint_config_with_ws_protocol_config_from_yaml_file.snap +0 -0
  308. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_multi_guard_blueprint_config_from_jsonc_file.snap +0 -0
  309. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_multi_guard_blueprint_config_from_yaml_file.snap +0 -0
  310. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__skips_parsing_resource_for_unsupported_resource_type_in_json_blueprint_config.snap +0 -0
  311. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/blueprint-config-parser/tests/snapshots/blueprint_config_test__skips_parsing_resource_for_unsupported_resource_type_in_yaml_blueprint_config.snap +0 -0
  312. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-azure-events-hub/Cargo.toml +0 -0
  313. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-azure-events-hub/src/lib.rs +0 -0
  314. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-azure-service-bus/Cargo.toml +0 -0
  315. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-azure-service-bus/src/lib.rs +0 -0
  316. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-gcloud-pubsub/Cargo.toml +0 -0
  317. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-gcloud-pubsub/src/lib.rs +0 -0
  318. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-gcloud-tasks/Cargo.toml +0 -0
  319. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-gcloud-tasks/src/lib.rs +0 -0
  320. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-kinesis/Cargo.toml +0 -0
  321. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-kinesis/src/lib.rs +0 -0
  322. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/Cargo.toml +0 -0
  323. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/lua-scripts/extend_locks.lua +0 -0
  324. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/lua-scripts/release_locks.lua +0 -0
  325. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/lua-scripts/release_stream_trim_lock.lua +0 -0
  326. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/lua-scripts/update_last_message_id.lua +0 -0
  327. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/src/errors.rs +0 -0
  328. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/src/lib.rs +0 -0
  329. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/src/lock_durations.rs +0 -0
  330. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/src/locks.rs +0 -0
  331. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/src/message_consumer.rs +0 -0
  332. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/src/telemetry.rs +0 -0
  333. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/src/trim_lock.rs +0 -0
  334. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/src/types.rs +0 -0
  335. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/tests/integration_test.rs +0 -0
  336. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/tests/locks_test.rs +0 -0
  337. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-redis/tests/trim_lock_test.rs +0 -0
  338. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-sqs/Cargo.toml +0 -0
  339. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-sqs/src/errors.rs +0 -0
  340. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-sqs/src/lib.rs +0 -0
  341. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-sqs/src/message_consumer.rs +0 -0
  342. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-sqs/src/telemetry.rs +0 -0
  343. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-sqs/src/types.rs +0 -0
  344. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-sqs/src/visibility_timeout.rs +0 -0
  345. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/consumers/consumer-sqs/tests/integration_test.rs +0 -0
  346. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/Cargo.toml +0 -0
  347. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/README.md +0 -0
  348. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/auth_custom.rs +0 -0
  349. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/auth_http.rs +0 -0
  350. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/auth_jwt.rs +0 -0
  351. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/body_transform/aws_s3.rs +0 -0
  352. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/body_transform.rs +0 -0
  353. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/config.rs +0 -0
  354. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/consumer_handler.rs +0 -0
  355. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/errors.rs +0 -0
  356. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/handler_invoke.rs +0 -0
  357. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/lib.rs +0 -0
  358. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/request.rs +0 -0
  359. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/runtime_local_api.rs +0 -0
  360. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/telemetry.rs +0 -0
  361. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/telemetry_utils.rs +0 -0
  362. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/types.rs +0 -0
  363. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/utils.rs +0 -0
  364. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/src/value_sources.rs +0 -0
  365. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/tests/common/mod.rs +0 -0
  366. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/tests/data/fixtures/http-api.blueprint.yaml +0 -0
  367. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/tests/data/fixtures/private-jwks.json +0 -0
  368. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/tests/data/fixtures/public-jwks.json +0 -0
  369. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/tests/http_api_test.rs +0 -0
  370. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/tests/http_auth_test.rs +0 -0
  371. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/core/tests/integration_consumer_test.rs +0 -0
  372. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/Cargo.toml +0 -0
  373. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/README.md +0 -0
  374. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/aws_telemetry.rs +0 -0
  375. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/consumers.rs +0 -0
  376. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/env.rs +0 -0
  377. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/http.rs +0 -0
  378. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/jsonpath.rs +0 -0
  379. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/lib.rs +0 -0
  380. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/redis.rs +0 -0
  381. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/request.rs +0 -0
  382. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/retries.rs +0 -0
  383. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/runtime_types.rs +0 -0
  384. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/telemetry.rs +0 -0
  385. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/time.rs +0 -0
  386. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/helpers/src/websockets.rs +0 -0
  387. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/python/celerity_runtime_sdk/__init__.py +0 -0
  388. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/python/celerity_runtime_sdk/_celerity_runtime_sdk.pyi +0 -0
  389. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/python/celerity_runtime_sdk/py.typed +0 -0
  390. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/.env.test +0 -0
  391. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/.gitignore +0 -0
  392. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/.vscode/settings.example.json +0 -0
  393. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/CONTRIBUTING.md +0 -0
  394. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/README.md +0 -0
  395. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/rustfmt.toml +0 -0
  396. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/scripts/run-tests.sh +0 -0
  397. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/src/consumer.rs +0 -0
  398. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/src/core_runtime_config.rs +0 -0
  399. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/src/errors.rs +0 -0
  400. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/src/guard.rs +0 -0
  401. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/src/http.rs +0 -0
  402. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/src/interop.rs +0 -0
  403. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/src/invoke.rs +0 -0
  404. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/src/json_convert.rs +0 -0
  405. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/src/lib.rs +0 -0
  406. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/src/runtime.rs +0 -0
  407. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/consumer-schedule.blueprint.yaml +0 -0
  408. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/consumer_handlers/__init__.py +0 -0
  409. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/consumer_handlers/handlers.py +0 -0
  410. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/consumer_server.py +0 -0
  411. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/custom_handler_server.py +0 -0
  412. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/http-api.blueprint.yaml +0 -0
  413. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/http_handlers/__init__.py +0 -0
  414. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/http_handlers/handlers.py +0 -0
  415. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/http_server.py +0 -0
  416. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/hybrid-api.blueprint.yaml +0 -0
  417. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/orders/__init__.py +0 -0
  418. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/orders/handlers.py +0 -0
  419. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/server.py +0 -0
  420. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/shared.py +0 -0
  421. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/slow_custom_handler_server.py +0 -0
  422. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/test_consumer_schedule.py +0 -0
  423. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/test_custom_handler.py +0 -0
  424. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/test_http.py +0 -0
  425. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/ws-only.blueprint.yaml +0 -0
  426. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/ws_handlers/__init__.py +0 -0
  427. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/ws_handlers/handlers.py +0 -0
  428. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/tests/ws_server.py +0 -0
  429. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/sdk/python/uv.lock +0 -0
  430. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/ws/ws-registry/Cargo.toml +0 -0
  431. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/ws/ws-registry/src/acks.rs +0 -0
  432. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/ws/ws-registry/src/errors.rs +0 -0
  433. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/ws/ws-registry/src/lib.rs +0 -0
  434. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/ws/ws-registry/src/message_helpers.rs +0 -0
  435. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/ws/ws-registry/src/registry.rs +0 -0
  436. {celerity_runtime_sdk-0.2.0 → celerity_runtime_sdk-0.2.2}/ws/ws-registry/src/types.rs +0 -0
@@ -971,7 +971,7 @@ dependencies = [
971
971
 
972
972
  [[package]]
973
973
  name = "celerity-python-runtime-sdk"
974
- version = "0.2.0"
974
+ version = "0.2.2"
975
975
  dependencies = [
976
976
  "async-trait",
977
977
  "axum 0.8.8",
@@ -1016,6 +1016,7 @@ dependencies = [
1016
1016
  name = "celerity_blueprint_config_parser"
1017
1017
  version = "0.1.0"
1018
1018
  dependencies = [
1019
+ "celerity_blueprint_lang",
1019
1020
  "celerity_helpers",
1020
1021
  "hashlink",
1021
1022
  "insta",
@@ -1028,6 +1029,19 @@ dependencies = [
1028
1029
  "yaml-rust2",
1029
1030
  ]
1030
1031
 
1032
+ [[package]]
1033
+ name = "celerity_blueprint_lang"
1034
+ version = "0.1.0"
1035
+ dependencies = [
1036
+ "hashlink",
1037
+ "insta",
1038
+ "pretty_assertions",
1039
+ "serde",
1040
+ "serde_json",
1041
+ "test-log",
1042
+ "tracing",
1043
+ ]
1044
+
1031
1045
  [[package]]
1032
1046
  name = "celerity_consumer_azure_events_hub"
1033
1047
  version = "0.1.0"
@@ -1943,6 +1957,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1943
1957
  checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
1944
1958
  dependencies = [
1945
1959
  "hashbrown 0.14.5",
1960
+ "serde",
1946
1961
  ]
1947
1962
 
1948
1963
  [[package]]
@@ -0,0 +1,5 @@
1
+ [workspace]
2
+ members = ["core", "helpers", "aws-helpers", "blueprint-config-parser", "blueprint-lang", "sdk/python", "consumers/consumer-sqs", "consumers/consumer-kinesis", "consumers/consumer-azure-events-hub", "consumers/consumer-redis", "consumers/consumer-gcloud-pubsub", "consumers/consumer-azure-service-bus", "consumers/consumer-gcloud-tasks", "ws/ws-registry"]
3
+
4
+ [workspace.package]
5
+ license = "Apache-2.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: celerity-runtime-sdk
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -16,6 +16,9 @@ json-strip-comments = "1.0.4"
16
16
  [dependencies.celerity_helpers]
17
17
  path = "../helpers"
18
18
 
19
+ [dependencies.celerity_blueprint_lang]
20
+ path = "../blueprint-lang"
21
+
19
22
  [dev-dependencies]
20
23
  test-log = { version = "0.2.16", features = ["log", "trace"] }
21
24
  pretty_assertions = "1.4.0"
@@ -151,7 +151,7 @@ impl Default for RuntimeBlueprintResource {
151
151
  RuntimeBlueprintResource {
152
152
  resource_type: CelerityResourceType::CelerityHandler,
153
153
  metadata: BlueprintResourceMetadata {
154
- display_name: "".to_string(),
154
+ display_name: None,
155
155
  annotations: None,
156
156
  labels: None,
157
157
  },
@@ -196,10 +196,10 @@ pub enum CelerityResourceType {
196
196
 
197
197
  /// This holds the metadata
198
198
  /// for a resource in the blueprint configuration.
199
- #[derive(Serialize, Deserialize, Debug, PartialEq)]
199
+ #[derive(Serialize, Deserialize, Debug, PartialEq, Default)]
200
200
  pub struct BlueprintResourceMetadata {
201
- #[serde(rename = "displayName")]
202
- pub display_name: String,
201
+ #[serde(rename = "displayName", skip_serializing_if = "Option::is_none")]
202
+ pub display_name: Option<String>,
203
203
  /// Annotations are always stored as string values.
204
204
  /// Literal booleans, integers, and floats in YAML/JSONC
205
205
  /// are converted to their string representation during parsing.
@@ -211,16 +211,6 @@ pub struct BlueprintResourceMetadata {
211
211
  pub labels: Option<HashMap<String, String>>,
212
212
  }
213
213
 
214
- impl Default for BlueprintResourceMetadata {
215
- fn default() -> Self {
216
- BlueprintResourceMetadata {
217
- display_name: "".to_string(),
218
- annotations: None,
219
- labels: None,
220
- }
221
- }
222
- }
223
-
224
214
  /// This holds the configuration
225
215
  /// for a link selector in the blueprint configuration.
226
216
  #[derive(Serialize, Deserialize, Debug, PartialEq, Default)]
@@ -1151,5 +1141,5 @@ pub enum ResolvedMappingNode {
1151
1141
  Scalar(BlueprintScalarValue),
1152
1142
  Mapping(HashMap<String, ResolvedMappingNode>),
1153
1143
  Sequence(Vec<ResolvedMappingNode>),
1154
- Null,
1144
+ None,
1155
1145
  }
@@ -50,8 +50,8 @@ impl Default for RuntimeBlueprintResourceWithSubs {
50
50
 
51
51
  #[derive(Serialize, Deserialize, Debug, PartialEq, Default)]
52
52
  pub struct BlueprintResourceMetadataWithSubs {
53
- #[serde(rename = "displayName")]
54
- pub display_name: StringOrSubstitutions,
53
+ #[serde(rename = "displayName", skip_serializing_if = "Option::is_none")]
54
+ pub display_name: Option<StringOrSubstitutions>,
55
55
  #[serde(skip_serializing_if = "Option::is_none")]
56
56
  pub annotations: Option<HashMap<String, MappingNode>>,
57
57
  #[serde(skip_serializing_if = "Option::is_none")]
@@ -575,7 +575,7 @@ pub enum MappingNode {
575
575
  Sequence(Vec<MappingNode>),
576
576
  SubstitutionStr(StringOrSubstitutions),
577
577
  #[default]
578
- Null,
578
+ None,
579
579
  }
580
580
 
581
581
  #[derive(Serialize, Debug, PartialEq, Clone, Default)]
@@ -6,6 +6,7 @@ mod parse_helpers;
6
6
  mod parse_mapping_node;
7
7
  mod parse_substitutions;
8
8
  mod parse_yaml;
9
+ mod reshape;
9
10
  mod resolve_substitutions;
10
11
  mod validate_parsed;
11
12
  pub mod workflow_consts;
@@ -48,6 +48,34 @@ impl BlueprintConfig {
48
48
  Ok(final_config)
49
49
  }
50
50
 
51
+ /// Parses a Runtime-specific Blueprint configuration from blueprint-language
52
+ /// (`.bp` / `.blueprint`) source and resolves variable substitutions with
53
+ /// the provided environment variables.
54
+ pub fn from_blueprint_lang_str(
55
+ blueprint_lang: &str,
56
+ env: Box<dyn EnvVars>,
57
+ ) -> Result<BlueprintConfig, BlueprintParseError> {
58
+ let blueprint = celerity_blueprint_lang::parse_string_with_options(
59
+ blueprint_lang,
60
+ celerity_blueprint_lang::ParseOptions {
61
+ substitutions: celerity_blueprint_lang::SubstitutionMode::RawText,
62
+ },
63
+ )?;
64
+ let json = crate::reshape::to_jsonc_string(&blueprint)?;
65
+ Self::from_jsonc_str(&json, env)
66
+ }
67
+
68
+ /// Parses a Runtime-specific Blueprint configuration from a blueprint-language
69
+ /// (`.bp` / `.blueprint`) file and resolves variable substitutions with the
70
+ /// provided environment variables.
71
+ pub fn from_blueprint_lang_file(
72
+ file_path: &str,
73
+ env: Box<dyn EnvVars>,
74
+ ) -> Result<BlueprintConfig, BlueprintParseError> {
75
+ let doc_str = read_to_string(file_path)?;
76
+ Self::from_blueprint_lang_str(&doc_str, env)
77
+ }
78
+
51
79
  /// Parses a Runtime-specific Blueprint
52
80
  /// configuration from a YAML string
53
81
  /// and resolves variable substitutions with
@@ -93,6 +121,7 @@ pub enum BlueprintParseError {
93
121
  UnsupportedResourceType(String),
94
122
  UnsupportedWorkflowStateType(String),
95
123
  SubstitutionParseError(parse_substitutions::ParseError),
124
+ BlueprintLangError(celerity_blueprint_lang::Errors),
96
125
  }
97
126
 
98
127
  impl fmt::Display for BlueprintParseError {
@@ -117,6 +146,9 @@ impl fmt::Display for BlueprintParseError {
117
146
  BlueprintParseError::SubstitutionParseError(error) => {
118
147
  write!(f, "substitution parse error: {error}")
119
148
  }
149
+ BlueprintParseError::BlueprintLangError(error) => {
150
+ write!(f, "blueprint language parse error: {error}")
151
+ }
120
152
  }
121
153
  }
122
154
  }
@@ -156,3 +188,9 @@ impl From<parse_substitutions::ParseError> for BlueprintParseError {
156
188
  BlueprintParseError::SubstitutionParseError(error)
157
189
  }
158
190
  }
191
+
192
+ impl From<celerity_blueprint_lang::Errors> for BlueprintParseError {
193
+ fn from(error: celerity_blueprint_lang::Errors) -> Self {
194
+ BlueprintParseError::BlueprintLangError(error)
195
+ }
196
+ }
@@ -118,6 +118,6 @@ impl<'de> Visitor<'de> for MappingNodeVisitor {
118
118
  }
119
119
 
120
120
  fn visit_none<E>(self) -> Result<Self::Value, E> {
121
- Ok(MappingNode::Null)
121
+ Ok(MappingNode::None)
122
122
  }
123
123
  }
@@ -183,29 +183,35 @@ where
183
183
  E: de::Error,
184
184
  {
185
185
  let is_close_sub_bracket = ch == '}' && state.in_possible_sub && !state.in_string_literal;
186
- if is_close_sub_bracket && state.potential_sub.starts_with("variables") {
187
- // We check for the "variables" prefix to avoid parsing unsupported substitutions
188
- // and differentiating between errors in parsing a variable reference and trying to
189
- // parse a substitution that is not supported (e.g. values.*, datasources.* etc.).
190
- // End of a supported substitution, let's parse it.
191
- let mut scanner = Scanner::new(&state.potential_sub);
192
- let parsed_sub = parse_substitution(&mut scanner).map_err(de::Error::custom)?;
193
- state
194
- .parsed
195
- .push(StringOrSubstitution::SubstitutionValue(parsed_sub));
196
- state.potential_sub = "".to_string();
197
- state.potential_non_sub_str = "".to_string();
198
- state.in_possible_sub = false;
199
- } else if is_close_sub_bracket {
200
- // End of a substitution, but it's not a supported substitution.
186
+ if !is_close_sub_bracket {
187
+ return Ok(CheckCloseSubBracketResult::Not);
188
+ }
189
+
190
+ // The "variables" prefix gates whether we attempt to parse a variable
191
+ // reference at all: this keeps a malformed reference (e.g. `${variables.-1}`)
192
+ // surfaced as an error, while a body with an unsupported prefix
193
+ // (e.g. `${values.x}`) is left as literal text for downstream tooling.
194
+ if !state.potential_sub.starts_with("variables") {
201
195
  return Ok(CheckCloseSubBracketResult::Unsupported);
202
196
  }
203
197
 
204
- Ok(if is_close_sub_bracket {
205
- CheckCloseSubBracketResult::Supported
206
- } else {
207
- CheckCloseSubBracketResult::Not
208
- })
198
+ // A supported substitution must be a variable reference in full. A body
199
+ // that begins with a valid reference but carries trailing content (an
200
+ // expression such as `${variables.a && variables.b}`) is not a plain
201
+ // reference, so it is kept as literal text rather than silently truncated to
202
+ // the leading reference.
203
+ match full_variable_reference(&state.potential_sub).map_err(de::Error::custom)? {
204
+ Some(parsed_sub) => {
205
+ state
206
+ .parsed
207
+ .push(StringOrSubstitution::SubstitutionValue(parsed_sub));
208
+ state.potential_sub = String::new();
209
+ state.potential_non_sub_str = String::new();
210
+ state.in_possible_sub = false;
211
+ Ok(CheckCloseSubBracketResult::Supported)
212
+ }
213
+ None => Ok(CheckCloseSubBracketResult::Unsupported),
214
+ }
209
215
  }
210
216
 
211
217
  #[derive(Debug)]
@@ -267,6 +273,22 @@ fn parse_substitution(scanner: &mut Scanner) -> Result<Substitution, ParseError>
267
273
  substitution(scanner)
268
274
  }
269
275
 
276
+ /// Parses `body` as a complete variable reference. Returns `Ok(Some(_))` when
277
+ /// the whole body is a valid reference, `Ok(None)` when it begins with a valid
278
+ /// reference but has trailing content (so it is an expression, not a plain
279
+ /// reference), and `Err` when the reference itself is malformed.
280
+ fn full_variable_reference(body: &str) -> Result<Option<Substitution>, ParseError> {
281
+ let mut scanner = Scanner::new(body);
282
+ // parse_substitution doesn't support the blueprint language features
283
+ // such as boolean expressions, so it will only successfully parse a plain variable reference.
284
+ let parsed = parse_substitution(&mut scanner)?;
285
+ consume_whitespace(&mut scanner);
286
+ if scanner.peek().is_some() {
287
+ return Ok(None);
288
+ }
289
+ Ok(Some(parsed))
290
+ }
291
+
270
292
  fn substitution(scanner: &mut Scanner) -> Result<Substitution, ParseError> {
271
293
  // Consume any whitespace before the keyword.
272
294
  consume_whitespace(scanner);
@@ -552,4 +574,22 @@ mod tests {
552
574
  "parse error at position 10, expected identifier start character in the ${..} substitution at line 1 column 39",
553
575
  );
554
576
  }
577
+
578
+ #[test]
579
+ fn test_keeps_variable_prefixed_expression_as_literal() {
580
+ // A `${..}` whose body begins with a valid variable reference but is
581
+ // actually an expression must be preserved verbatim, not silently
582
+ // truncated to the leading reference (`${variables.a}`).
583
+ let input = "\"${variables.a && variables.b}\"";
584
+ let result = serde_json::from_str::<StringOrSubstitutions>(input);
585
+ assert!(result.is_ok());
586
+ assert_eq!(
587
+ result.unwrap(),
588
+ StringOrSubstitutions {
589
+ values: vec![StringOrSubstitution::StringValue(
590
+ "${variables.a && variables.b}".to_string()
591
+ )],
592
+ }
593
+ )
594
+ }
555
595
  }
@@ -1579,7 +1579,7 @@ fn validate_resource_metadata(
1579
1579
  "displayName" => {
1580
1580
  if let yaml_rust2::Yaml::String(value_str) = value {
1581
1581
  resource_metadata.display_name =
1582
- parse_substitutions::<ParseError>(value_str)?;
1582
+ Some(parse_substitutions::<ParseError>(value_str)?);
1583
1583
  } else {
1584
1584
  Err(BlueprintParseError::YamlFormatError(format!(
1585
1585
  "expected a string for resource display name, found {value:?}",
@@ -1623,10 +1623,13 @@ fn validate_resource_metadata(
1623
1623
  }
1624
1624
  }
1625
1625
 
1626
- if is_string_with_substitutions_empty(&resource_metadata.display_name) {
1627
- Err(BlueprintParseError::YamlFormatError(
1628
- "expected a display name for resource metadata".to_string(),
1629
- ))?;
1626
+ // A display name is optional, but a provided one must not be empty.
1627
+ if let Some(display_name) = &resource_metadata.display_name {
1628
+ if is_string_with_substitutions_empty(display_name) {
1629
+ Err(BlueprintParseError::YamlFormatError(
1630
+ "expected a non-empty display name for resource metadata".to_string(),
1631
+ ))?;
1632
+ }
1630
1633
  }
1631
1634
  Ok(resource_metadata)
1632
1635
  }
@@ -0,0 +1,245 @@
1
+ //! Reshaping `celerity_blueprint_lang::Blueprint` into the narrow
2
+ //! JWCC JSON the runtime's intermediate model deserializes.
3
+ //!
4
+ //! The blueprint must already have had its substitutions flattened to raw
5
+ //! `${..}` text (parsed with `SubstitutionMode::RawText`), so every spec value
6
+ //! is a plain scalar/mapping/sequence and every string-or-substitutions field is
7
+ //! a single literal string.
8
+ //!
9
+ //! Two things force an explicit reshape rather than re-serialising the blueprint
10
+ //! types: the narrow model uses camelCase field names (e.g. `allowedValues`) and
11
+ //! bare scalars (not the canonical `{value, span}` wrapper); and a resource's
12
+ //! `type` key must be emitted before `spec`, because the narrow resource
13
+ //! deserializer reads `spec` using the already-seen `type`. Resource objects are
14
+ //! therefore ordered `Serialize` structs (serde emits struct fields in
15
+ //! declaration order), while order-insensitive parts are built as `Value`s.
16
+
17
+ use std::collections::BTreeMap;
18
+
19
+ use celerity_blueprint_lang::mapping::MappingNode;
20
+ use celerity_blueprint_lang::scalar::{Scalar, ScalarValue};
21
+ use celerity_blueprint_lang::schema::{LinkSelector, Metadata, NamedMap, Resource, Variable};
22
+ use celerity_blueprint_lang::substitution::{
23
+ StringOrSubstitution, StringOrSubstitutions, SubstitutionKind,
24
+ };
25
+ use celerity_blueprint_lang::Blueprint;
26
+ use serde::Serialize;
27
+ use serde_json::{Map, Value};
28
+
29
+ const CELERITY_RESOURCE_PREFIX: &str = "celerity/";
30
+
31
+ /// Reshapes a (substitution-flattened) blueprint into a JWCC JSON
32
+ /// string the runtime's `from_jsonc_str` can parse.
33
+ pub(crate) fn to_jsonc_string(blueprint: &Blueprint) -> Result<String, serde_json::Error> {
34
+ serde_json::to_string(&reshape_blueprint(blueprint))
35
+ }
36
+
37
+ #[derive(Serialize)]
38
+ struct ReshapedBlueprint {
39
+ #[serde(skip_serializing_if = "Option::is_none")]
40
+ version: Option<String>,
41
+ // `transform` and `resources` are required by the intermediate JWCC model
42
+ // (their custom deserializers have no default), so they are always emitted.
43
+ // An empty `transform` becomes `[]`.
44
+ transform: Vec<String>,
45
+ #[serde(skip_serializing_if = "BTreeMap::is_empty")]
46
+ variables: BTreeMap<String, Value>,
47
+ resources: BTreeMap<String, ReshapedResource>,
48
+ #[serde(skip_serializing_if = "Option::is_none")]
49
+ metadata: Option<Value>,
50
+ }
51
+
52
+ /// Field order is significant: serde serialises struct fields in declaration
53
+ /// order, so `type` is emitted before `spec` as the narrow resource
54
+ /// deserializer requires.
55
+ #[derive(Serialize)]
56
+ struct ReshapedResource {
57
+ #[serde(rename = "type")]
58
+ resource_type: String,
59
+ #[serde(skip_serializing_if = "Option::is_none")]
60
+ metadata: Option<Value>,
61
+ #[serde(skip_serializing_if = "Option::is_none")]
62
+ description: Option<String>,
63
+ #[serde(rename = "linkSelector", skip_serializing_if = "Option::is_none")]
64
+ link_selector: Option<Value>,
65
+ spec: Value,
66
+ }
67
+
68
+ fn reshape_blueprint(blueprint: &Blueprint) -> ReshapedBlueprint {
69
+ let mut variables = BTreeMap::new();
70
+ for (name, variable) in &blueprint.variables.values {
71
+ variables.insert(name.clone(), reshape_variable(variable));
72
+ }
73
+
74
+ // Only `celerity/*` resources are interpreted by the runtime; everything
75
+ // else (and data sources, includes, exports) is skipped, mirroring the
76
+ // YAML/JWCC paths.
77
+ let mut resources = BTreeMap::new();
78
+ for (name, resource) in &blueprint.resources.values {
79
+ if resource
80
+ .res_type
81
+ .value
82
+ .starts_with(CELERITY_RESOURCE_PREFIX)
83
+ {
84
+ resources.insert(name.clone(), reshape_resource(resource));
85
+ }
86
+ }
87
+
88
+ ReshapedBlueprint {
89
+ version: blueprint.version.as_ref().and_then(scalar_string),
90
+ transform: blueprint
91
+ .transform
92
+ .iter()
93
+ .map(|t| t.value.clone())
94
+ .collect(),
95
+ variables,
96
+ resources,
97
+ metadata: blueprint.metadata.as_ref().map(mapping_node_to_json),
98
+ }
99
+ }
100
+
101
+ fn reshape_resource(resource: &Resource) -> ReshapedResource {
102
+ ReshapedResource {
103
+ resource_type: resource.res_type.value.clone(),
104
+ metadata: resource.metadata.as_ref().map(reshape_metadata),
105
+ description: resource.description.as_ref().and_then(sos_string),
106
+ link_selector: resource.link_selector.as_ref().map(reshape_link_selector),
107
+ spec: mapping_node_to_json(&resource.spec),
108
+ }
109
+ }
110
+
111
+ fn reshape_variable(variable: &Variable) -> Value {
112
+ let mut object = Map::new();
113
+ object.insert(
114
+ "type".to_string(),
115
+ Value::String(variable.var_type.value.as_str().to_string()),
116
+ );
117
+ if let Some(description) = &variable.description {
118
+ object.insert("description".to_string(), scalar_to_json(description));
119
+ }
120
+ if let Some(default) = &variable.default {
121
+ object.insert("default".to_string(), scalar_to_json(default));
122
+ }
123
+ if !variable.allowed_values.is_empty() {
124
+ let values = variable.allowed_values.iter().map(scalar_to_json).collect();
125
+ object.insert("allowedValues".to_string(), Value::Array(values));
126
+ }
127
+ if let Some(secret) = &variable.secret {
128
+ object.insert("secret".to_string(), scalar_to_json(secret));
129
+ }
130
+ Value::Object(object)
131
+ }
132
+
133
+ fn reshape_metadata(metadata: &Metadata) -> Value {
134
+ let mut object = Map::new();
135
+ if let Some(display_name) = metadata.display_name.as_ref().and_then(sos_string) {
136
+ object.insert("displayName".to_string(), Value::String(display_name));
137
+ }
138
+ if let Some(labels) = &metadata.labels {
139
+ object.insert("labels".to_string(), string_map_to_json(labels));
140
+ }
141
+ if let Some(annotations) = &metadata.annotations {
142
+ object.insert("annotations".to_string(), sos_map_to_json(annotations));
143
+ }
144
+ // The canonical `custom` field has no narrow equivalent and is dropped.
145
+ Value::Object(object)
146
+ }
147
+
148
+ fn reshape_link_selector(link_selector: &LinkSelector) -> Value {
149
+ let mut object = Map::new();
150
+ object.insert(
151
+ "byLabel".to_string(),
152
+ string_map_to_json(&link_selector.by_label),
153
+ );
154
+ Value::Object(object)
155
+ }
156
+
157
+ fn mapping_node_to_json(node: &MappingNode) -> Value {
158
+ match node {
159
+ MappingNode::Scalar(scalar) => scalar_to_json(scalar),
160
+ MappingNode::Fields { fields, .. } => Value::Object(
161
+ fields
162
+ .iter()
163
+ .map(|(key, value)| (key.clone(), mapping_node_to_json(value)))
164
+ .collect(),
165
+ ),
166
+ MappingNode::Items { items, .. } => {
167
+ Value::Array(items.iter().map(mapping_node_to_json).collect())
168
+ }
169
+ MappingNode::StringWithSubstitutions(parts) => {
170
+ Value::String(sos_string(parts).unwrap_or_default())
171
+ }
172
+ MappingNode::None => Value::Null,
173
+ }
174
+ }
175
+
176
+ fn scalar_to_json(scalar: &Scalar) -> Value {
177
+ match &scalar.value {
178
+ ScalarValue::String(value) => Value::String(value.clone()),
179
+ ScalarValue::Int(value) => Value::Number((*value).into()),
180
+ ScalarValue::Float(value) => serde_json::Number::from_f64(*value)
181
+ .map(Value::Number)
182
+ .unwrap_or(Value::Null),
183
+ ScalarValue::Bool(value) => Value::Bool(*value),
184
+ }
185
+ }
186
+
187
+ fn scalar_string(scalar: &Scalar) -> Option<String> {
188
+ match &scalar.value {
189
+ ScalarValue::String(value) => Some(value.clone()),
190
+ _ => None,
191
+ }
192
+ }
193
+
194
+ fn string_map_to_json(map: &NamedMap<String>) -> Value {
195
+ Value::Object(
196
+ map.values
197
+ .iter()
198
+ .map(|(key, value)| (key.clone(), Value::String(value.clone())))
199
+ .collect(),
200
+ )
201
+ }
202
+
203
+ fn sos_map_to_json(map: &NamedMap<StringOrSubstitutions>) -> Value {
204
+ Value::Object(
205
+ map.values
206
+ .iter()
207
+ .map(|(key, value)| (key.clone(), sos_to_json(value)))
208
+ .collect(),
209
+ )
210
+ }
211
+
212
+ /// Converts a (flattened) string-or-substitutions value to JSON. A lone scalar
213
+ /// literal becomes a typed JSON scalar (so e.g. a boolean annotation stays a
214
+ /// boolean); anything else becomes a string.
215
+ fn sos_to_json(parts: &StringOrSubstitutions) -> Value {
216
+ if let [StringOrSubstitution::Substitution(substitution)] = parts.values.as_slice() {
217
+ if let Some(value) = scalar_kind_to_json(&substitution.kind) {
218
+ return value;
219
+ }
220
+ }
221
+ Value::String(sos_string(parts).unwrap_or_default())
222
+ }
223
+
224
+ fn scalar_kind_to_json(kind: &SubstitutionKind) -> Option<Value> {
225
+ match kind {
226
+ SubstitutionKind::Int(value) => Some(Value::Number((*value).into())),
227
+ SubstitutionKind::Float(value) => serde_json::Number::from_f64(*value).map(Value::Number),
228
+ SubstitutionKind::Bool(value) => Some(Value::Bool(*value)),
229
+ _ => None,
230
+ }
231
+ }
232
+
233
+ /// Joins the literal parts of a (flattened) string-or-substitutions value.
234
+ /// Returns `None` if a structured substitution remains, which should not happen
235
+ /// for a `RawText`-flattened blueprint.
236
+ fn sos_string(parts: &StringOrSubstitutions) -> Option<String> {
237
+ let mut text = String::new();
238
+ for part in &parts.values {
239
+ match part {
240
+ StringOrSubstitution::String { value, .. } => text.push_str(value),
241
+ StringOrSubstitution::Substitution(_) => return None,
242
+ }
243
+ }
244
+ Some(text)
245
+ }
@@ -1928,12 +1928,18 @@ fn resolve_resource_metadata(
1928
1928
  env: Box<dyn EnvVars>,
1929
1929
  resource_name: &str,
1930
1930
  ) -> Result<BlueprintResourceMetadata, ResolveError> {
1931
+ let display_name = metadata
1932
+ .display_name
1933
+ .map(|display_name| {
1934
+ resolve_string_or_substitutions_to_string(
1935
+ display_name,
1936
+ env.clone(),
1937
+ &resource_metadata_field_path(resource_name, &["displayName"]),
1938
+ )
1939
+ })
1940
+ .transpose()?;
1931
1941
  Ok(BlueprintResourceMetadata {
1932
- display_name: resolve_string_or_substitutions_to_string(
1933
- metadata.display_name,
1934
- env.clone(),
1935
- &resource_metadata_field_path(resource_name, &["displayName"]),
1936
- )?,
1942
+ display_name,
1937
1943
  annotations: resolve_annotations(metadata.annotations, env.clone(), resource_name)?,
1938
1944
  labels: metadata.labels,
1939
1945
  })
@@ -2129,7 +2135,7 @@ fn resolve_mapping_node(
2129
2135
  resolve_scalar_value_from_string_or_substitutions(string_or_substitutions, env, field)
2130
2136
  .map(ResolvedMappingNode::Scalar)
2131
2137
  }
2132
- MappingNode::Null => Ok(ResolvedMappingNode::Null),
2138
+ MappingNode::None => Ok(ResolvedMappingNode::None),
2133
2139
  }
2134
2140
  }
2135
2141