noodleseed-cli 0.1.4

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 (356) hide show
  1. package/LICENSE +176 -0
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +625 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/config.d.ts +52 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +77 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/control-plane.d.ts +33 -0
  11. package/dist/control-plane.d.ts.map +1 -0
  12. package/dist/control-plane.js +223 -0
  13. package/dist/control-plane.js.map +1 -0
  14. package/dist/deploy.d.ts +62 -0
  15. package/dist/deploy.d.ts.map +1 -0
  16. package/dist/deploy.js +182 -0
  17. package/dist/deploy.js.map +1 -0
  18. package/dist/dev.d.ts +50 -0
  19. package/dist/dev.d.ts.map +1 -0
  20. package/dist/dev.js +223 -0
  21. package/dist/dev.js.map +1 -0
  22. package/dist/index.d.ts +6 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +6 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/validate.d.ts +37 -0
  27. package/dist/validate.d.ts.map +1 -0
  28. package/dist/validate.js +46 -0
  29. package/dist/validate.js.map +1 -0
  30. package/node_modules/@noodle-borg/auth/dist/index.d.ts +14 -0
  31. package/node_modules/@noodle-borg/auth/dist/index.d.ts.map +1 -0
  32. package/node_modules/@noodle-borg/auth/dist/index.js +14 -0
  33. package/node_modules/@noodle-borg/auth/dist/index.js.map +1 -0
  34. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts +21 -0
  35. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts.map +1 -0
  36. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js +24 -0
  37. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js.map +1 -0
  38. package/node_modules/@noodle-borg/auth/dist/metadata.d.ts +27 -0
  39. package/node_modules/@noodle-borg/auth/dist/metadata.d.ts.map +1 -0
  40. package/node_modules/@noodle-borg/auth/dist/metadata.js +21 -0
  41. package/node_modules/@noodle-borg/auth/dist/metadata.js.map +1 -0
  42. package/node_modules/@noodle-borg/auth/dist/signer.d.ts +45 -0
  43. package/node_modules/@noodle-borg/auth/dist/signer.d.ts.map +1 -0
  44. package/node_modules/@noodle-borg/auth/dist/signer.js +47 -0
  45. package/node_modules/@noodle-borg/auth/dist/signer.js.map +1 -0
  46. package/node_modules/@noodle-borg/auth/dist/verify.d.ts +42 -0
  47. package/node_modules/@noodle-borg/auth/dist/verify.d.ts.map +1 -0
  48. package/node_modules/@noodle-borg/auth/dist/verify.js +48 -0
  49. package/node_modules/@noodle-borg/auth/dist/verify.js.map +1 -0
  50. package/node_modules/@noodle-borg/auth/package.json +27 -0
  51. package/node_modules/@noodle-borg/authoring/dist/index.d.ts +200 -0
  52. package/node_modules/@noodle-borg/authoring/dist/index.d.ts.map +1 -0
  53. package/node_modules/@noodle-borg/authoring/dist/index.js +504 -0
  54. package/node_modules/@noodle-borg/authoring/dist/index.js.map +1 -0
  55. package/node_modules/@noodle-borg/authoring/package.json +29 -0
  56. package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts +203 -0
  57. package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts.map +1 -0
  58. package/node_modules/@noodle-borg/compiler/dist/artifact/types.js +20 -0
  59. package/node_modules/@noodle-borg/compiler/dist/artifact/types.js.map +1 -0
  60. package/node_modules/@noodle-borg/compiler/dist/catalog/in-memory.d.ts +13 -0
  61. package/node_modules/@noodle-borg/compiler/dist/catalog/in-memory.d.ts.map +1 -0
  62. package/node_modules/@noodle-borg/compiler/dist/catalog/in-memory.js +19 -0
  63. package/node_modules/@noodle-borg/compiler/dist/catalog/in-memory.js.map +1 -0
  64. package/node_modules/@noodle-borg/compiler/dist/catalog/signature.d.ts +11 -0
  65. package/node_modules/@noodle-borg/compiler/dist/catalog/signature.d.ts.map +1 -0
  66. package/node_modules/@noodle-borg/compiler/dist/catalog/signature.js +31 -0
  67. package/node_modules/@noodle-borg/compiler/dist/catalog/signature.js.map +1 -0
  68. package/node_modules/@noodle-borg/compiler/dist/catalog/types.d.ts +43 -0
  69. package/node_modules/@noodle-borg/compiler/dist/catalog/types.d.ts.map +1 -0
  70. package/node_modules/@noodle-borg/compiler/dist/catalog/types.js +11 -0
  71. package/node_modules/@noodle-borg/compiler/dist/catalog/types.js.map +1 -0
  72. package/node_modules/@noodle-borg/compiler/dist/cli.d.ts +3 -0
  73. package/node_modules/@noodle-borg/compiler/dist/cli.d.ts.map +1 -0
  74. package/node_modules/@noodle-borg/compiler/dist/cli.js +19 -0
  75. package/node_modules/@noodle-borg/compiler/dist/cli.js.map +1 -0
  76. package/node_modules/@noodle-borg/compiler/dist/compile.d.ts +50 -0
  77. package/node_modules/@noodle-borg/compiler/dist/compile.d.ts.map +1 -0
  78. package/node_modules/@noodle-borg/compiler/dist/compile.js +719 -0
  79. package/node_modules/@noodle-borg/compiler/dist/compile.js.map +1 -0
  80. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +27 -0
  81. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts.map +1 -0
  82. package/node_modules/@noodle-borg/compiler/dist/errors.js +2 -0
  83. package/node_modules/@noodle-borg/compiler/dist/errors.js.map +1 -0
  84. package/node_modules/@noodle-borg/compiler/dist/index.d.ts +13 -0
  85. package/node_modules/@noodle-borg/compiler/dist/index.d.ts.map +1 -0
  86. package/node_modules/@noodle-borg/compiler/dist/index.js +11 -0
  87. package/node_modules/@noodle-borg/compiler/dist/index.js.map +1 -0
  88. package/node_modules/@noodle-borg/compiler/dist/manifest/expression.d.ts +136 -0
  89. package/node_modules/@noodle-borg/compiler/dist/manifest/expression.d.ts.map +1 -0
  90. package/node_modules/@noodle-borg/compiler/dist/manifest/expression.js +552 -0
  91. package/node_modules/@noodle-borg/compiler/dist/manifest/expression.js.map +1 -0
  92. package/node_modules/@noodle-borg/compiler/dist/manifest/naming.d.ts +14 -0
  93. package/node_modules/@noodle-borg/compiler/dist/manifest/naming.d.ts.map +1 -0
  94. package/node_modules/@noodle-borg/compiler/dist/manifest/naming.js +18 -0
  95. package/node_modules/@noodle-borg/compiler/dist/manifest/naming.js.map +1 -0
  96. package/node_modules/@noodle-borg/compiler/dist/manifest/schema-refs.d.ts +24 -0
  97. package/node_modules/@noodle-borg/compiler/dist/manifest/schema-refs.d.ts.map +1 -0
  98. package/node_modules/@noodle-borg/compiler/dist/manifest/schema-refs.js +149 -0
  99. package/node_modules/@noodle-borg/compiler/dist/manifest/schema-refs.js.map +1 -0
  100. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +97 -0
  101. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts.map +1 -0
  102. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +157 -0
  103. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js.map +1 -0
  104. package/node_modules/@noodle-borg/compiler/dist/schema-export.d.ts +6 -0
  105. package/node_modules/@noodle-borg/compiler/dist/schema-export.d.ts.map +1 -0
  106. package/node_modules/@noodle-borg/compiler/dist/schema-export.js +28 -0
  107. package/node_modules/@noodle-borg/compiler/dist/schema-export.js.map +1 -0
  108. package/node_modules/@noodle-borg/compiler/dist/suggest.d.ts +41 -0
  109. package/node_modules/@noodle-borg/compiler/dist/suggest.d.ts.map +1 -0
  110. package/node_modules/@noodle-borg/compiler/dist/suggest.js +105 -0
  111. package/node_modules/@noodle-borg/compiler/dist/suggest.js.map +1 -0
  112. package/node_modules/@noodle-borg/compiler/dist/uri-template.d.ts +33 -0
  113. package/node_modules/@noodle-borg/compiler/dist/uri-template.d.ts.map +1 -0
  114. package/node_modules/@noodle-borg/compiler/dist/uri-template.js +83 -0
  115. package/node_modules/@noodle-borg/compiler/dist/uri-template.js.map +1 -0
  116. package/node_modules/@noodle-borg/compiler/package.json +32 -0
  117. package/node_modules/@noodle-borg/compute/dist/code-connector.d.ts +45 -0
  118. package/node_modules/@noodle-borg/compute/dist/code-connector.d.ts.map +1 -0
  119. package/node_modules/@noodle-borg/compute/dist/code-connector.js +53 -0
  120. package/node_modules/@noodle-borg/compute/dist/code-connector.js.map +1 -0
  121. package/node_modules/@noodle-borg/compute/dist/engine.d.ts +73 -0
  122. package/node_modules/@noodle-borg/compute/dist/engine.d.ts.map +1 -0
  123. package/node_modules/@noodle-borg/compute/dist/engine.js +31 -0
  124. package/node_modules/@noodle-borg/compute/dist/engine.js.map +1 -0
  125. package/node_modules/@noodle-borg/compute/dist/index.d.ts +4 -0
  126. package/node_modules/@noodle-borg/compute/dist/index.d.ts.map +1 -0
  127. package/node_modules/@noodle-borg/compute/dist/index.js +4 -0
  128. package/node_modules/@noodle-borg/compute/dist/index.js.map +1 -0
  129. package/node_modules/@noodle-borg/compute/dist/quickjs-engine.d.ts +31 -0
  130. package/node_modules/@noodle-borg/compute/dist/quickjs-engine.d.ts.map +1 -0
  131. package/node_modules/@noodle-borg/compute/dist/quickjs-engine.js +271 -0
  132. package/node_modules/@noodle-borg/compute/dist/quickjs-engine.js.map +1 -0
  133. package/node_modules/@noodle-borg/compute/package.json +29 -0
  134. package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts +46 -0
  135. package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts.map +1 -0
  136. package/node_modules/@noodle-borg/connector-defs/dist/compile.js +289 -0
  137. package/node_modules/@noodle-borg/connector-defs/dist/compile.js.map +1 -0
  138. package/node_modules/@noodle-borg/connector-defs/dist/index.d.ts +3 -0
  139. package/node_modules/@noodle-borg/connector-defs/dist/index.d.ts.map +1 -0
  140. package/node_modules/@noodle-borg/connector-defs/dist/index.js +3 -0
  141. package/node_modules/@noodle-borg/connector-defs/dist/index.js.map +1 -0
  142. package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts +332 -0
  143. package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts.map +1 -0
  144. package/node_modules/@noodle-borg/connector-defs/dist/schema.js +105 -0
  145. package/node_modules/@noodle-borg/connector-defs/dist/schema.js.map +1 -0
  146. package/node_modules/@noodle-borg/connector-defs/package.json +32 -0
  147. package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts +86 -0
  148. package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts.map +1 -0
  149. package/node_modules/@noodle-borg/connector-http/dist/http-connector.js +138 -0
  150. package/node_modules/@noodle-borg/connector-http/dist/http-connector.js.map +1 -0
  151. package/node_modules/@noodle-borg/connector-http/dist/index.d.ts +3 -0
  152. package/node_modules/@noodle-borg/connector-http/dist/index.d.ts.map +1 -0
  153. package/node_modules/@noodle-borg/connector-http/dist/index.js +3 -0
  154. package/node_modules/@noodle-borg/connector-http/dist/index.js.map +1 -0
  155. package/node_modules/@noodle-borg/connector-http/dist/ssrf.d.ts +45 -0
  156. package/node_modules/@noodle-borg/connector-http/dist/ssrf.d.ts.map +1 -0
  157. package/node_modules/@noodle-borg/connector-http/dist/ssrf.js +57 -0
  158. package/node_modules/@noodle-borg/connector-http/dist/ssrf.js.map +1 -0
  159. package/node_modules/@noodle-borg/connector-http/package.json +30 -0
  160. package/node_modules/@noodle-borg/protocol/dist/adapter.d.ts +73 -0
  161. package/node_modules/@noodle-borg/protocol/dist/adapter.d.ts.map +1 -0
  162. package/node_modules/@noodle-borg/protocol/dist/adapter.js +2 -0
  163. package/node_modules/@noodle-borg/protocol/dist/adapter.js.map +1 -0
  164. package/node_modules/@noodle-borg/protocol/dist/adapters/mcp-2025-11-25.d.ts +19 -0
  165. package/node_modules/@noodle-borg/protocol/dist/adapters/mcp-2025-11-25.d.ts.map +1 -0
  166. package/node_modules/@noodle-borg/protocol/dist/adapters/mcp-2025-11-25.js +34 -0
  167. package/node_modules/@noodle-borg/protocol/dist/adapters/mcp-2025-11-25.js.map +1 -0
  168. package/node_modules/@noodle-borg/protocol/dist/index.d.ts +5 -0
  169. package/node_modules/@noodle-borg/protocol/dist/index.d.ts.map +1 -0
  170. package/node_modules/@noodle-borg/protocol/dist/index.js +5 -0
  171. package/node_modules/@noodle-borg/protocol/dist/index.js.map +1 -0
  172. package/node_modules/@noodle-borg/protocol/dist/jsonrpc.d.ts +19 -0
  173. package/node_modules/@noodle-borg/protocol/dist/jsonrpc.d.ts.map +1 -0
  174. package/node_modules/@noodle-borg/protocol/dist/jsonrpc.js +14 -0
  175. package/node_modules/@noodle-borg/protocol/dist/jsonrpc.js.map +1 -0
  176. package/node_modules/@noodle-borg/protocol/dist/mapping.d.ts +133 -0
  177. package/node_modules/@noodle-borg/protocol/dist/mapping.d.ts.map +1 -0
  178. package/node_modules/@noodle-borg/protocol/dist/mapping.js +181 -0
  179. package/node_modules/@noodle-borg/protocol/dist/mapping.js.map +1 -0
  180. package/node_modules/@noodle-borg/protocol/dist/negotiate.d.ts +13 -0
  181. package/node_modules/@noodle-borg/protocol/dist/negotiate.d.ts.map +1 -0
  182. package/node_modules/@noodle-borg/protocol/dist/negotiate.js +18 -0
  183. package/node_modules/@noodle-borg/protocol/dist/negotiate.js.map +1 -0
  184. package/node_modules/@noodle-borg/protocol/dist/registry.d.ts +17 -0
  185. package/node_modules/@noodle-borg/protocol/dist/registry.d.ts.map +1 -0
  186. package/node_modules/@noodle-borg/protocol/dist/registry.js +33 -0
  187. package/node_modules/@noodle-borg/protocol/dist/registry.js.map +1 -0
  188. package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts +22 -0
  189. package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts.map +1 -0
  190. package/node_modules/@noodle-borg/protocol/dist/sdk-server.js +91 -0
  191. package/node_modules/@noodle-borg/protocol/dist/sdk-server.js.map +1 -0
  192. package/node_modules/@noodle-borg/protocol/dist/server.d.ts +38 -0
  193. package/node_modules/@noodle-borg/protocol/dist/server.d.ts.map +1 -0
  194. package/node_modules/@noodle-borg/protocol/dist/server.js +89 -0
  195. package/node_modules/@noodle-borg/protocol/dist/server.js.map +1 -0
  196. package/node_modules/@noodle-borg/protocol/dist/stateless.d.ts +14 -0
  197. package/node_modules/@noodle-borg/protocol/dist/stateless.d.ts.map +1 -0
  198. package/node_modules/@noodle-borg/protocol/dist/stateless.js +28 -0
  199. package/node_modules/@noodle-borg/protocol/dist/stateless.js.map +1 -0
  200. package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.d.ts +24 -0
  201. package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.d.ts.map +1 -0
  202. package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.js +165 -0
  203. package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.js.map +1 -0
  204. package/node_modules/@noodle-borg/protocol/dist/widget/ext-apps-bundle.d.ts +4 -0
  205. package/node_modules/@noodle-borg/protocol/dist/widget/ext-apps-bundle.d.ts.map +1 -0
  206. package/node_modules/@noodle-borg/protocol/dist/widget/ext-apps-bundle.js +10 -0
  207. package/node_modules/@noodle-borg/protocol/dist/widget/ext-apps-bundle.js.map +1 -0
  208. package/node_modules/@noodle-borg/protocol/dist/widget/inject.d.ts +8 -0
  209. package/node_modules/@noodle-borg/protocol/dist/widget/inject.d.ts.map +1 -0
  210. package/node_modules/@noodle-borg/protocol/dist/widget/inject.js +36 -0
  211. package/node_modules/@noodle-borg/protocol/dist/widget/inject.js.map +1 -0
  212. package/node_modules/@noodle-borg/protocol/package.json +29 -0
  213. package/node_modules/@noodle-borg/runtime/dist/broker/map.d.ts +29 -0
  214. package/node_modules/@noodle-borg/runtime/dist/broker/map.d.ts.map +1 -0
  215. package/node_modules/@noodle-borg/runtime/dist/broker/map.js +38 -0
  216. package/node_modules/@noodle-borg/runtime/dist/broker/map.js.map +1 -0
  217. package/node_modules/@noodle-borg/runtime/dist/broker/secret-box.d.ts +103 -0
  218. package/node_modules/@noodle-borg/runtime/dist/broker/secret-box.d.ts.map +1 -0
  219. package/node_modules/@noodle-borg/runtime/dist/broker/secret-box.js +118 -0
  220. package/node_modules/@noodle-borg/runtime/dist/broker/secret-box.js.map +1 -0
  221. package/node_modules/@noodle-borg/runtime/dist/broker/static.d.ts +12 -0
  222. package/node_modules/@noodle-borg/runtime/dist/broker/static.d.ts.map +1 -0
  223. package/node_modules/@noodle-borg/runtime/dist/broker/static.js +15 -0
  224. package/node_modules/@noodle-borg/runtime/dist/broker/static.js.map +1 -0
  225. package/node_modules/@noodle-borg/runtime/dist/broker/types.d.ts +28 -0
  226. package/node_modules/@noodle-borg/runtime/dist/broker/types.d.ts.map +1 -0
  227. package/node_modules/@noodle-borg/runtime/dist/broker/types.js +2 -0
  228. package/node_modules/@noodle-borg/runtime/dist/broker/types.js.map +1 -0
  229. package/node_modules/@noodle-borg/runtime/dist/connector/in-memory.d.ts +29 -0
  230. package/node_modules/@noodle-borg/runtime/dist/connector/in-memory.d.ts.map +1 -0
  231. package/node_modules/@noodle-borg/runtime/dist/connector/in-memory.js +37 -0
  232. package/node_modules/@noodle-borg/runtime/dist/connector/in-memory.js.map +1 -0
  233. package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts +41 -0
  234. package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts.map +1 -0
  235. package/node_modules/@noodle-borg/runtime/dist/connector/types.js +2 -0
  236. package/node_modules/@noodle-borg/runtime/dist/connector/types.js.map +1 -0
  237. package/node_modules/@noodle-borg/runtime/dist/eval/evaluate.d.ts +39 -0
  238. package/node_modules/@noodle-borg/runtime/dist/eval/evaluate.d.ts.map +1 -0
  239. package/node_modules/@noodle-borg/runtime/dist/eval/evaluate.js +117 -0
  240. package/node_modules/@noodle-borg/runtime/dist/eval/evaluate.js.map +1 -0
  241. package/node_modules/@noodle-borg/runtime/dist/execute.d.ts +47 -0
  242. package/node_modules/@noodle-borg/runtime/dist/execute.d.ts.map +1 -0
  243. package/node_modules/@noodle-borg/runtime/dist/execute.js +297 -0
  244. package/node_modules/@noodle-borg/runtime/dist/execute.js.map +1 -0
  245. package/node_modules/@noodle-borg/runtime/dist/index.d.ts +12 -0
  246. package/node_modules/@noodle-borg/runtime/dist/index.d.ts.map +1 -0
  247. package/node_modules/@noodle-borg/runtime/dist/index.js +8 -0
  248. package/node_modules/@noodle-borg/runtime/dist/index.js.map +1 -0
  249. package/node_modules/@noodle-borg/runtime/dist/policy/allow-all.d.ts +10 -0
  250. package/node_modules/@noodle-borg/runtime/dist/policy/allow-all.d.ts.map +1 -0
  251. package/node_modules/@noodle-borg/runtime/dist/policy/allow-all.js +13 -0
  252. package/node_modules/@noodle-borg/runtime/dist/policy/allow-all.js.map +1 -0
  253. package/node_modules/@noodle-borg/runtime/dist/policy/types.d.ts +25 -0
  254. package/node_modules/@noodle-borg/runtime/dist/policy/types.d.ts.map +1 -0
  255. package/node_modules/@noodle-borg/runtime/dist/policy/types.js +2 -0
  256. package/node_modules/@noodle-borg/runtime/dist/policy/types.js.map +1 -0
  257. package/node_modules/@noodle-borg/runtime/dist/result.d.ts +19 -0
  258. package/node_modules/@noodle-borg/runtime/dist/result.d.ts.map +1 -0
  259. package/node_modules/@noodle-borg/runtime/dist/result.js +2 -0
  260. package/node_modules/@noodle-borg/runtime/dist/result.js.map +1 -0
  261. package/node_modules/@noodle-borg/runtime/package.json +27 -0
  262. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +48 -0
  263. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts.map +1 -0
  264. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js +79 -0
  265. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -0
  266. package/node_modules/@noodle-borg/service/dist/index.d.ts +7 -0
  267. package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -0
  268. package/node_modules/@noodle-borg/service/dist/index.js +7 -0
  269. package/node_modules/@noodle-borg/service/dist/index.js.map +1 -0
  270. package/node_modules/@noodle-borg/service/dist/main.d.ts +3 -0
  271. package/node_modules/@noodle-borg/service/dist/main.d.ts.map +1 -0
  272. package/node_modules/@noodle-borg/service/dist/main.js +171 -0
  273. package/node_modules/@noodle-borg/service/dist/main.js.map +1 -0
  274. package/node_modules/@noodle-borg/service/dist/oauth/app.d.ts +14 -0
  275. package/node_modules/@noodle-borg/service/dist/oauth/app.d.ts.map +1 -0
  276. package/node_modules/@noodle-borg/service/dist/oauth/app.js +48 -0
  277. package/node_modules/@noodle-borg/service/dist/oauth/app.js.map +1 -0
  278. package/node_modules/@noodle-borg/service/dist/oauth/consent.d.ts +18 -0
  279. package/node_modules/@noodle-borg/service/dist/oauth/consent.d.ts.map +1 -0
  280. package/node_modules/@noodle-borg/service/dist/oauth/consent.js +55 -0
  281. package/node_modules/@noodle-borg/service/dist/oauth/consent.js.map +1 -0
  282. package/node_modules/@noodle-borg/service/dist/oauth/google.d.ts +31 -0
  283. package/node_modules/@noodle-borg/service/dist/oauth/google.d.ts.map +1 -0
  284. package/node_modules/@noodle-borg/service/dist/oauth/google.js +39 -0
  285. package/node_modules/@noodle-borg/service/dist/oauth/google.js.map +1 -0
  286. package/node_modules/@noodle-borg/service/dist/oauth/paths.d.ts +3 -0
  287. package/node_modules/@noodle-borg/service/dist/oauth/paths.d.ts.map +1 -0
  288. package/node_modules/@noodle-borg/service/dist/oauth/paths.js +19 -0
  289. package/node_modules/@noodle-borg/service/dist/oauth/paths.js.map +1 -0
  290. package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts +61 -0
  291. package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts.map +1 -0
  292. package/node_modules/@noodle-borg/service/dist/oauth/provider.js +313 -0
  293. package/node_modules/@noodle-borg/service/dist/oauth/provider.js.map +1 -0
  294. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.d.ts +29 -0
  295. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.d.ts.map +1 -0
  296. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js +176 -0
  297. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js.map +1 -0
  298. package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts +85 -0
  299. package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts.map +1 -0
  300. package/node_modules/@noodle-borg/service/dist/oauth/store.js +57 -0
  301. package/node_modules/@noodle-borg/service/dist/oauth/store.js.map +1 -0
  302. package/node_modules/@noodle-borg/service/dist/oauth/tokens.d.ts +8 -0
  303. package/node_modules/@noodle-borg/service/dist/oauth/tokens.d.ts.map +1 -0
  304. package/node_modules/@noodle-borg/service/dist/oauth/tokens.js +13 -0
  305. package/node_modules/@noodle-borg/service/dist/oauth/tokens.js.map +1 -0
  306. package/node_modules/@noodle-borg/service/dist/secret/kms-master-key.d.ts +36 -0
  307. package/node_modules/@noodle-borg/service/dist/secret/kms-master-key.d.ts.map +1 -0
  308. package/node_modules/@noodle-borg/service/dist/secret/kms-master-key.js +51 -0
  309. package/node_modules/@noodle-borg/service/dist/secret/kms-master-key.js.map +1 -0
  310. package/node_modules/@noodle-borg/service/dist/service.d.ts +221 -0
  311. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -0
  312. package/node_modules/@noodle-borg/service/dist/service.js +1163 -0
  313. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -0
  314. package/node_modules/@noodle-borg/service/dist/store/cloudsql-pool.d.ts +34 -0
  315. package/node_modules/@noodle-borg/service/dist/store/cloudsql-pool.d.ts.map +1 -0
  316. package/node_modules/@noodle-borg/service/dist/store/cloudsql-pool.js +38 -0
  317. package/node_modules/@noodle-borg/service/dist/store/cloudsql-pool.js.map +1 -0
  318. package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts +56 -0
  319. package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts.map +1 -0
  320. package/node_modules/@noodle-borg/service/dist/store/postgres.js +372 -0
  321. package/node_modules/@noodle-borg/service/dist/store/postgres.js.map +1 -0
  322. package/node_modules/@noodle-borg/service/dist/store.d.ts +192 -0
  323. package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -0
  324. package/node_modules/@noodle-borg/service/dist/store.js +230 -0
  325. package/node_modules/@noodle-borg/service/dist/store.js.map +1 -0
  326. package/node_modules/@noodle-borg/service/package.json +44 -0
  327. package/node_modules/@noodle-borg/transport-http/dist/caller-auth.d.ts +15 -0
  328. package/node_modules/@noodle-borg/transport-http/dist/caller-auth.d.ts.map +1 -0
  329. package/node_modules/@noodle-borg/transport-http/dist/caller-auth.js +38 -0
  330. package/node_modules/@noodle-borg/transport-http/dist/caller-auth.js.map +1 -0
  331. package/node_modules/@noodle-borg/transport-http/dist/examples/serve-demo.d.ts +2 -0
  332. package/node_modules/@noodle-borg/transport-http/dist/examples/serve-demo.d.ts.map +1 -0
  333. package/node_modules/@noodle-borg/transport-http/dist/examples/serve-demo.js +129 -0
  334. package/node_modules/@noodle-borg/transport-http/dist/examples/serve-demo.js.map +1 -0
  335. package/node_modules/@noodle-borg/transport-http/dist/front-door.d.ts +46 -0
  336. package/node_modules/@noodle-borg/transport-http/dist/front-door.d.ts.map +1 -0
  337. package/node_modules/@noodle-borg/transport-http/dist/front-door.js +75 -0
  338. package/node_modules/@noodle-borg/transport-http/dist/front-door.js.map +1 -0
  339. package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts +142 -0
  340. package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts.map +1 -0
  341. package/node_modules/@noodle-borg/transport-http/dist/handler.js +387 -0
  342. package/node_modules/@noodle-borg/transport-http/dist/handler.js.map +1 -0
  343. package/node_modules/@noodle-borg/transport-http/dist/index.d.ts +6 -0
  344. package/node_modules/@noodle-borg/transport-http/dist/index.d.ts.map +1 -0
  345. package/node_modules/@noodle-borg/transport-http/dist/index.js +6 -0
  346. package/node_modules/@noodle-borg/transport-http/dist/index.js.map +1 -0
  347. package/node_modules/@noodle-borg/transport-http/dist/logging.d.ts +41 -0
  348. package/node_modules/@noodle-borg/transport-http/dist/logging.d.ts.map +1 -0
  349. package/node_modules/@noodle-borg/transport-http/dist/logging.js +71 -0
  350. package/node_modules/@noodle-borg/transport-http/dist/logging.js.map +1 -0
  351. package/node_modules/@noodle-borg/transport-http/dist/serve.d.ts +22 -0
  352. package/node_modules/@noodle-borg/transport-http/dist/serve.d.ts.map +1 -0
  353. package/node_modules/@noodle-borg/transport-http/dist/serve.js +25 -0
  354. package/node_modules/@noodle-borg/transport-http/dist/serve.js.map +1 -0
  355. package/node_modules/@noodle-borg/transport-http/package.json +30 -0
  356. package/package.json +78 -0
@@ -0,0 +1,552 @@
1
+ /** Default roots for manifest `args`/`map`/`output`/`if` expressions. */
2
+ const ALLOWED_ROOTS = new Set(['input', 'steps']);
3
+ /** Recognized but not available this phase (forward-compatible rejection). */
4
+ const DEFERRED_ROOTS = new Set(['user', 'item', 'env']);
5
+ /** Guard against pathological nesting (docs/SPEC.md "bounded depth"). */
6
+ const MAX_DEPTH = 32;
7
+ const MAX_TEMPLATE_PARTS = 64;
8
+ const MAX_STRING_LENGTH = 16_384;
9
+ const FALLBACK_VALUE = { kind: 'literal', value: null };
10
+ const FALLBACK_COND = {
11
+ kind: 'truthy',
12
+ operand: { kind: 'path', root: 'input', segments: [] },
13
+ };
14
+ /** Internal parse failure, converted to a {@link CompileError} at the public boundary. */
15
+ class ExprError extends Error {
16
+ code;
17
+ constructor(code, message) {
18
+ super(message);
19
+ this.code = code;
20
+ }
21
+ }
22
+ const IDENT_START = /[A-Za-z_]/;
23
+ const IDENT_PART = /[A-Za-z0-9_]/;
24
+ const DIGIT = /[0-9]/;
25
+ /** Tokenize the inner text of a `${...}` expression. Throws {@link ExprError} on a bad token. */
26
+ function tokenize(src) {
27
+ const tokens = [];
28
+ let i = 0;
29
+ while (i < src.length) {
30
+ const c = src[i];
31
+ if (c === ' ' || c === '\t' || c === '\n' || c === '\r') {
32
+ i++;
33
+ continue;
34
+ }
35
+ if (c === '.') {
36
+ tokens.push({ type: 'dot', value: '.' });
37
+ i++;
38
+ }
39
+ else if (c === '[') {
40
+ tokens.push({ type: 'lbracket', value: '[' });
41
+ i++;
42
+ }
43
+ else if (c === ']') {
44
+ tokens.push({ type: 'rbracket', value: ']' });
45
+ i++;
46
+ }
47
+ else if (c === '(') {
48
+ tokens.push({ type: 'lparen', value: '(' });
49
+ i++;
50
+ }
51
+ else if (c === ')') {
52
+ tokens.push({ type: 'rparen', value: ')' });
53
+ i++;
54
+ }
55
+ else if (c === '=') {
56
+ if (src.startsWith('===', i)) {
57
+ tokens.push({ type: 'eq', value: '===' });
58
+ i += 3;
59
+ }
60
+ else {
61
+ throw new ExprError('invalid_expression', "use '===' for equality");
62
+ }
63
+ }
64
+ else if (c === '!') {
65
+ if (src.startsWith('!==', i)) {
66
+ tokens.push({ type: 'neq', value: '!==' });
67
+ i += 3;
68
+ }
69
+ else {
70
+ tokens.push({ type: 'not', value: '!' });
71
+ i++;
72
+ }
73
+ }
74
+ else if (c === '&') {
75
+ if (src.startsWith('&&', i)) {
76
+ tokens.push({ type: 'and', value: '&&' });
77
+ i += 2;
78
+ }
79
+ else {
80
+ throw new ExprError('invalid_expression', "use '&&' for logical and");
81
+ }
82
+ }
83
+ else if (c === '|') {
84
+ if (src.startsWith('||', i)) {
85
+ tokens.push({ type: 'or', value: '||' });
86
+ i += 2;
87
+ }
88
+ else {
89
+ throw new ExprError('invalid_expression', "use '||' for logical or");
90
+ }
91
+ }
92
+ else if (c === '?') {
93
+ if (src.startsWith('??', i)) {
94
+ tokens.push({ type: 'coalesce', value: '??' });
95
+ i += 2;
96
+ }
97
+ else {
98
+ throw new ExprError('invalid_expression', "use '??' for a fallback value");
99
+ }
100
+ }
101
+ else if (c === '"' || c === "'") {
102
+ const quote = c;
103
+ let str = '';
104
+ i++;
105
+ while (i < src.length && src[i] !== quote) {
106
+ if (src[i] === '\\' && i + 1 < src.length) {
107
+ str += src[i + 1];
108
+ i += 2;
109
+ }
110
+ else {
111
+ str += src[i];
112
+ i++;
113
+ }
114
+ }
115
+ if (i >= src.length)
116
+ throw new ExprError('invalid_expression', 'unterminated string literal');
117
+ i++; // closing quote
118
+ tokens.push({ type: 'string', value: str });
119
+ }
120
+ else if (DIGIT.test(c) || (c === '-' && DIGIT.test(src[i + 1] ?? ''))) {
121
+ let num = c;
122
+ i++;
123
+ while (i < src.length && DIGIT.test(src[i])) {
124
+ num += src[i];
125
+ i++;
126
+ }
127
+ if (src[i] === '.') {
128
+ num += '.';
129
+ i++;
130
+ if (!DIGIT.test(src[i] ?? '')) {
131
+ throw new ExprError('invalid_expression', 'malformed number');
132
+ }
133
+ while (i < src.length && DIGIT.test(src[i])) {
134
+ num += src[i];
135
+ i++;
136
+ }
137
+ }
138
+ tokens.push({ type: 'number', value: num });
139
+ }
140
+ else if (IDENT_START.test(c)) {
141
+ let id = c;
142
+ i++;
143
+ while (i < src.length && IDENT_PART.test(src[i])) {
144
+ id += src[i];
145
+ i++;
146
+ }
147
+ if (id === 'true')
148
+ tokens.push({ type: 'true', value: id });
149
+ else if (id === 'false')
150
+ tokens.push({ type: 'false', value: id });
151
+ else if (id === 'null')
152
+ tokens.push({ type: 'null', value: id });
153
+ else
154
+ tokens.push({ type: 'ident', value: id });
155
+ }
156
+ else {
157
+ throw new ExprError('invalid_expression', `unexpected character '${c}'`);
158
+ }
159
+ }
160
+ tokens.push({ type: 'eof', value: '' });
161
+ return tokens;
162
+ }
163
+ // ─── Parser ─────────────────────────────────────────────────────────────────
164
+ class Parser {
165
+ tokens;
166
+ allowedRoots;
167
+ pos = 0;
168
+ constructor(tokens, allowedRoots = ALLOWED_ROOTS) {
169
+ this.tokens = tokens;
170
+ this.allowedRoots = allowedRoots;
171
+ }
172
+ peek() {
173
+ return this.tokens[this.pos];
174
+ }
175
+ next() {
176
+ return this.tokens[this.pos++];
177
+ }
178
+ expect(type) {
179
+ const t = this.peek();
180
+ if (t.type !== type)
181
+ throw new ExprError('invalid_expression', `expected ${type}`);
182
+ return this.next();
183
+ }
184
+ /** Reject an operator token that appears in value mode. */
185
+ guardNoOperator(t) {
186
+ if (t.type === 'eq' ||
187
+ t.type === 'neq' ||
188
+ t.type === 'and' ||
189
+ t.type === 'or' ||
190
+ t.type === 'not') {
191
+ throw new ExprError('expr_operator_not_allowed', `operator '${t.value}' is only allowed in an 'if' condition`);
192
+ }
193
+ }
194
+ literal() {
195
+ const t = this.next();
196
+ switch (t.type) {
197
+ case 'string':
198
+ return { kind: 'literal', value: t.value };
199
+ case 'number':
200
+ return { kind: 'literal', value: Number(t.value) };
201
+ case 'true':
202
+ return { kind: 'literal', value: true };
203
+ case 'false':
204
+ return { kind: 'literal', value: false };
205
+ case 'null':
206
+ return { kind: 'literal', value: null };
207
+ default:
208
+ throw new ExprError('invalid_expression', `unexpected token '${t.value || t.type}'`);
209
+ }
210
+ }
211
+ path() {
212
+ const rootTok = this.expect('ident');
213
+ const root = rootTok.value;
214
+ if (DEFERRED_ROOTS.has(root)) {
215
+ throw new ExprError('expr_root_unavailable', `root '${root}' is recognized but not available in this phase`);
216
+ }
217
+ if (!this.allowedRoots.has(root)) {
218
+ throw new ExprError('expr_unknown_root', `unknown expression root '${root}'`);
219
+ }
220
+ const segments = [];
221
+ for (;;) {
222
+ const t = this.peek();
223
+ if (t.type === 'dot') {
224
+ this.next();
225
+ const name = this.expect('ident');
226
+ segments.push({ kind: 'prop', name: name.value });
227
+ }
228
+ else if (t.type === 'lbracket') {
229
+ this.next();
230
+ const num = this.expect('number');
231
+ if (!/^[0-9]+$/.test(num.value)) {
232
+ throw new ExprError('invalid_expression', `array index must be a non-negative integer`);
233
+ }
234
+ this.expect('rbracket');
235
+ segments.push({ kind: 'index', value: Number(num.value) });
236
+ }
237
+ else {
238
+ break;
239
+ }
240
+ }
241
+ if (segments.length > MAX_DEPTH) {
242
+ throw new ExprError('invalid_expression', 'expression path is too deep');
243
+ }
244
+ return { kind: 'path', root: root, segments };
245
+ }
246
+ /** A primary value operand: a path or a single literal (no operators). */
247
+ primary() {
248
+ const t = this.peek();
249
+ this.guardNoOperator(t);
250
+ return t.type === 'ident' ? this.path() : this.literal();
251
+ }
252
+ /**
253
+ * A value expression: a primary, optionally followed by one or more `??` fallbacks
254
+ * (left-associative). Comparison/boolean operators remain rejected here — they belong to `if` only.
255
+ */
256
+ parseValue() {
257
+ let node = this.primary();
258
+ while (this.peek().type === 'coalesce') {
259
+ this.next();
260
+ node = { kind: 'coalesce', left: node, right: this.primary() };
261
+ }
262
+ const trailing = this.peek();
263
+ if (trailing.type !== 'eof') {
264
+ this.guardNoOperator(trailing);
265
+ throw new ExprError('invalid_expression', `unexpected token '${trailing.value}'`);
266
+ }
267
+ return node;
268
+ }
269
+ /** A comparable operand for an equality comparison: a path or a literal. */
270
+ comparable() {
271
+ const t = this.peek();
272
+ return t.type === 'ident' ? this.path() : this.literal();
273
+ }
274
+ condOr(depth) {
275
+ let left = this.condAnd(depth);
276
+ while (this.peek().type === 'or') {
277
+ this.next();
278
+ const right = this.condAnd(depth);
279
+ left = { kind: 'cond', op: 'or', left, right };
280
+ }
281
+ return left;
282
+ }
283
+ condAnd(depth) {
284
+ let left = this.condUnary(depth);
285
+ while (this.peek().type === 'and') {
286
+ this.next();
287
+ const right = this.condUnary(depth);
288
+ left = { kind: 'cond', op: 'and', left, right };
289
+ }
290
+ return left;
291
+ }
292
+ condUnary(depth) {
293
+ if (depth > MAX_DEPTH)
294
+ throw new ExprError('invalid_expression', 'expression nested too deeply');
295
+ if (this.peek().type === 'not') {
296
+ this.next();
297
+ return { kind: 'cond', op: 'not', operand: this.condUnary(depth + 1) };
298
+ }
299
+ if (this.peek().type === 'lparen') {
300
+ this.next();
301
+ const inner = this.condOr(depth + 1);
302
+ this.expect('rparen');
303
+ return inner;
304
+ }
305
+ const left = this.comparable();
306
+ const t = this.peek();
307
+ if (t.type === 'eq' || t.type === 'neq') {
308
+ this.next();
309
+ const right = this.comparable();
310
+ return { kind: 'cond', op: t.type, left, right };
311
+ }
312
+ // No operator: a bare path is truthiness; a bare literal is not a boolean condition.
313
+ if (left.kind === 'path')
314
+ return { kind: 'truthy', operand: left };
315
+ throw new ExprError('expr_if_not_boolean', 'an `if` condition must be a boolean expression, not a bare literal');
316
+ }
317
+ parseCondition() {
318
+ const node = this.condOr(0);
319
+ if (this.peek().type !== 'eof') {
320
+ throw new ExprError('invalid_expression', `unexpected token '${this.peek().value}'`);
321
+ }
322
+ return node;
323
+ }
324
+ }
325
+ // ─── `${...}` scanning + templates ────────────────────────────────────────────
326
+ /**
327
+ * Find the end of a `${...}` starting at `start` (the index of `$`). Returns the inner text and the
328
+ * index just past the closing `}`. Brace scanning is quote-aware so `}` inside a string literal does
329
+ * not close the expression. Throws {@link ExprError} if unterminated.
330
+ */
331
+ function scanExpr(text, start) {
332
+ let i = start + 2; // skip `${`
333
+ let quote = null;
334
+ let inner = '';
335
+ while (i < text.length) {
336
+ const c = text[i];
337
+ if (quote) {
338
+ inner += c;
339
+ if (c === '\\' && i + 1 < text.length) {
340
+ inner += text[i + 1];
341
+ i += 2;
342
+ continue;
343
+ }
344
+ if (c === quote)
345
+ quote = null;
346
+ i++;
347
+ }
348
+ else if (c === '"' || c === "'") {
349
+ quote = c;
350
+ inner += c;
351
+ i++;
352
+ }
353
+ else if (c === '}') {
354
+ return { inner, end: i + 1 };
355
+ }
356
+ else {
357
+ inner += c;
358
+ i++;
359
+ }
360
+ }
361
+ throw new ExprError('invalid_expression', "unterminated '${' expression");
362
+ }
363
+ /** Parse the inner text of a `${...}` as a value expression. */
364
+ function parseInnerValue(inner, allowedRoots) {
365
+ if (inner.trim() === '')
366
+ throw new ExprError('invalid_expression', 'empty `${}` expression');
367
+ return new Parser(tokenize(inner), allowedRoots).parseValue();
368
+ }
369
+ /**
370
+ * Split a raw string into literal-text and `${...}` parts. `$${` is an escaped literal `${`.
371
+ * Returns the ordered parts; callers classify (whole-field vs template vs plain literal).
372
+ */
373
+ function splitTemplate(raw, allowedRoots) {
374
+ const parts = [];
375
+ let text = '';
376
+ let i = 0;
377
+ while (i < raw.length) {
378
+ if (raw.startsWith('$${', i)) {
379
+ text += '${';
380
+ i += 3;
381
+ }
382
+ else if (raw.startsWith('${', i)) {
383
+ const { inner, end } = scanExpr(raw, i);
384
+ if (text) {
385
+ parts.push({ kind: 'text', value: text });
386
+ text = '';
387
+ }
388
+ const node = parseInnerValue(inner, allowedRoots);
389
+ // A nested template cannot occur (inner is a single expression), so node is path|literal.
390
+ parts.push(node);
391
+ i = end;
392
+ }
393
+ else {
394
+ text += raw[i];
395
+ i++;
396
+ }
397
+ }
398
+ if (text)
399
+ parts.push({ kind: 'text', value: text });
400
+ return parts;
401
+ }
402
+ /**
403
+ * Parse an `args`/`map`/`output` value. Classifies the raw value:
404
+ * - non-string scalar -> `literal` (type preserved)
405
+ * - string with no `${` -> `literal` string (with `$${`->`${` unescaping)
406
+ * - string that is exactly one whole `${...}` -> the inner path/literal (type-preserving)
407
+ * - string mixing `${...}` with text or multiple expressions -> `template` (string result)
408
+ * - array -> `array` node whose items are parsed recursively
409
+ * - plain object -> `object` node whose values are parsed recursively
410
+ *
411
+ * Nesting is bounded by `MAX_DEPTH` so a structured value (e.g. a JSON request body with a `messages`
412
+ * list) can be expressed declaratively while staying within the bounded-evaluation guarantees
413
+ * (docs/SPEC.md "Expression language").
414
+ */
415
+ export function parseValue(raw, path, allowedRoots = ALLOWED_ROOTS) {
416
+ const errors = [];
417
+ const node = parseValueNode(raw, path, allowedRoots, 0, errors);
418
+ return { node, errors };
419
+ }
420
+ /**
421
+ * Recursive worker for {@link parseValue}. Child errors are accumulated into `errors`; a failing node
422
+ * falls back to a null literal (the caller fails the compile when `errors` is non-empty, so the fallback
423
+ * is never evaluated).
424
+ */
425
+ function parseValueNode(raw, path, allowedRoots, depth, errors) {
426
+ try {
427
+ if (depth > MAX_DEPTH) {
428
+ throw new ExprError('invalid_expression', 'mapping value is nested too deeply');
429
+ }
430
+ if (Array.isArray(raw)) {
431
+ const items = raw.map((el, i) => parseValueNode(el, `${path}[${i}]`, allowedRoots, depth + 1, errors));
432
+ return { kind: 'array', items };
433
+ }
434
+ if (typeof raw !== 'string') {
435
+ if (raw === null || typeof raw === 'boolean' || typeof raw === 'number') {
436
+ return { kind: 'literal', value: raw };
437
+ }
438
+ if (typeof raw === 'object') {
439
+ const entries = Object.entries(raw).map(([key, value]) => ({
440
+ key,
441
+ value: parseValueNode(value, `${path}.${key}`, allowedRoots, depth + 1, errors),
442
+ }));
443
+ return { kind: 'object', entries };
444
+ }
445
+ throw new ExprError('invalid_expression', 'unsupported mapping value');
446
+ }
447
+ if (raw.length > MAX_STRING_LENGTH) {
448
+ throw new ExprError('invalid_expression', 'expression string is too large');
449
+ }
450
+ if (!raw.includes('${')) {
451
+ // Plain string literal (still honor `$${` escaping to a literal `${`).
452
+ return { kind: 'literal', value: raw.replace(/\$\$\{/g, '${') };
453
+ }
454
+ const parts = splitTemplate(raw, allowedRoots);
455
+ if (parts.length > MAX_TEMPLATE_PARTS) {
456
+ throw new ExprError('invalid_expression', 'expression template has too many parts');
457
+ }
458
+ const exprParts = parts.filter((p) => p.kind !== 'text');
459
+ if (exprParts.length === 0) {
460
+ // Only literal text (e.g. produced entirely by `$${` escapes): a literal string.
461
+ const text = parts.map((p) => p.value).join('');
462
+ return { kind: 'literal', value: text };
463
+ }
464
+ if (parts.length === 1) {
465
+ // A single whole `${...}` with no surrounding text: type-preserving path or literal.
466
+ return parts[0];
467
+ }
468
+ return { kind: 'template', parts };
469
+ }
470
+ catch (err) {
471
+ if (err instanceof ExprError) {
472
+ errors.push({ code: err.code, path, message: err.message });
473
+ return FALLBACK_VALUE;
474
+ }
475
+ throw err;
476
+ }
477
+ }
478
+ /**
479
+ * Parse a step `if` condition. The value must be a single whole `${...}` boolean expression: a bare
480
+ * path is truthiness; equality/boolean operators are permitted here only. A plain string, a template,
481
+ * or a bare literal is `expr_if_not_boolean`.
482
+ */
483
+ export function parseCondition(raw, path, allowedRoots = ALLOWED_ROOTS) {
484
+ try {
485
+ if (typeof raw !== 'string') {
486
+ throw new ExprError('expr_if_not_boolean', 'an `if` condition must be a single `${...}` boolean expression');
487
+ }
488
+ if (raw.length > MAX_STRING_LENGTH) {
489
+ throw new ExprError('invalid_expression', 'expression string is too large');
490
+ }
491
+ if (!raw.startsWith('${') || !raw.endsWith('}')) {
492
+ throw new ExprError('expr_if_not_boolean', 'an `if` condition must be a single `${...}` boolean expression');
493
+ }
494
+ const { inner, end } = scanExpr(raw, 0);
495
+ if (end !== raw.length) {
496
+ // Trailing text after the first `${...}` -> not a single whole expression.
497
+ throw new ExprError('expr_if_not_boolean', 'an `if` condition must be a single `${...}` boolean expression');
498
+ }
499
+ if (inner.trim() === '')
500
+ throw new ExprError('invalid_expression', 'empty `${}` expression');
501
+ const node = new Parser(tokenize(inner), allowedRoots).parseCondition();
502
+ return { node, errors: [] };
503
+ }
504
+ catch (err) {
505
+ if (err instanceof ExprError) {
506
+ return { node: FALLBACK_COND, errors: [{ code: err.code, path, message: err.message }] };
507
+ }
508
+ throw err;
509
+ }
510
+ }
511
+ /** Collect every {@link PathNode} reachable from a value or condition node (depth-first). */
512
+ export function collectPaths(node) {
513
+ const out = [];
514
+ const visit = (n) => {
515
+ switch (n.kind) {
516
+ case 'path':
517
+ out.push(n);
518
+ break;
519
+ case 'template':
520
+ for (const p of n.parts)
521
+ visit(p);
522
+ break;
523
+ case 'array':
524
+ for (const item of n.items)
525
+ visit(item);
526
+ break;
527
+ case 'object':
528
+ for (const entry of n.entries)
529
+ visit(entry.value);
530
+ break;
531
+ case 'coalesce':
532
+ visit(n.left);
533
+ visit(n.right);
534
+ break;
535
+ case 'cond':
536
+ if (n.op === 'not')
537
+ visit(n.operand);
538
+ else {
539
+ visit(n.left);
540
+ visit(n.right);
541
+ }
542
+ break;
543
+ case 'truthy':
544
+ out.push(n.operand);
545
+ break;
546
+ // 'literal' and 'text' carry no paths.
547
+ }
548
+ };
549
+ visit(node);
550
+ return out;
551
+ }
552
+ //# sourceMappingURL=expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/manifest/expression.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Names for tools, connectors, schemas, resources, prompts, widgets, and flow steps use
3
+ * lowercase letters, numbers, and underscores (docs/SPEC.md "Naming Rules").
4
+ */
5
+ export declare const NAME_PATTERN: RegExp;
6
+ /** Connector operation reference: `<connector>.<operation>`, each segment a valid name. */
7
+ export declare const OPERATION_REF_PATTERN: RegExp;
8
+ export declare function isValidName(name: string): boolean;
9
+ /** Split `<connector>.<operation>` into parts, or return null if it is not well-formed. */
10
+ export declare function parseOperationRef(ref: string): {
11
+ connector: string;
12
+ operation: string;
13
+ } | null;
14
+ //# sourceMappingURL=naming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/manifest/naming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAiB,CAAC;AAE3C,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,QAA6B,CAAC;AAEhE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAI9F"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Names for tools, connectors, schemas, resources, prompts, widgets, and flow steps use
3
+ * lowercase letters, numbers, and underscores (docs/SPEC.md "Naming Rules").
4
+ */
5
+ export const NAME_PATTERN = /^[a-z0-9_]+$/;
6
+ /** Connector operation reference: `<connector>.<operation>`, each segment a valid name. */
7
+ export const OPERATION_REF_PATTERN = /^[a-z0-9_]+\.[a-z0-9_]+$/;
8
+ export function isValidName(name) {
9
+ return NAME_PATTERN.test(name);
10
+ }
11
+ /** Split `<connector>.<operation>` into parts, or return null if it is not well-formed. */
12
+ export function parseOperationRef(ref) {
13
+ if (!OPERATION_REF_PATTERN.test(ref))
14
+ return null;
15
+ const dot = ref.indexOf('.');
16
+ return { connector: ref.slice(0, dot), operation: ref.slice(dot + 1) };
17
+ }
18
+ //# sourceMappingURL=naming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/manifest/naming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAE3C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AAEhE,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { JsonSchema } from '../artifact/types.js';
2
+ import type { CompileError } from '../errors.js';
3
+ /** Map of reusable schema fragments declared in the manifest `schemas` block, keyed by name. */
4
+ export type SchemasMap = Readonly<Record<string, JsonSchema>>;
5
+ export interface ResolveSchemaResult {
6
+ /** The schema with every `$use` rewritten to a local `$ref` and referenced definitions bundled. */
7
+ readonly schema: JsonSchema;
8
+ readonly errors: readonly CompileError[];
9
+ }
10
+ /**
11
+ * Resolve `$use` references in an authored JSON Schema (docs/SPEC.md "Schemas").
12
+ *
13
+ * Every `{ $use: "<name>" }` node is rewritten to a local `{ $ref: "#/$defs/<name>" }`, and the
14
+ * referenced definitions from `schemasMap` are bundled into the schema's `$defs` so each tool's
15
+ * schema document stays self-contained. Resolution is transitive (a referenced schema may itself
16
+ * use `$use`) and cycle-safe (definitions are bundled by `$ref`, never inlined). `$defs` keys are
17
+ * sorted for deterministic output, and `$defs` is only attached when at least one `$use` was
18
+ * resolved — so schemas without `$use` pass through byte-for-byte.
19
+ *
20
+ * `$use` must be the sole key of its object. External `$ref` rejection is handled downstream by the
21
+ * caller on the resolved schema (so it also scans bundled definitions).
22
+ */
23
+ export declare function resolveSchemaUses(schema: JsonSchema, schemasMap: SchemasMap, path: string): ResolveSchemaResult;
24
+ //# sourceMappingURL=schema-refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-refs.d.ts","sourceRoot":"","sources":["../../src/manifest/schema-refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,gGAAgG;AAChG,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,mGAAmG;IACnG,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;CAC1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,GACX,mBAAmB,CAmCrB"}