@noodleseed/one 0.35.2 → 0.37.0

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 (346) hide show
  1. package/dist/commands/catalog-data-resources.d.ts.map +1 -1
  2. package/dist/commands/catalog-data-resources.js +2 -1
  3. package/dist/commands/catalog-data-resources.js.map +1 -1
  4. package/dist/commands/mcp-apps.d.ts.map +1 -1
  5. package/dist/commands/mcp-apps.js +15 -8
  6. package/dist/commands/mcp-apps.js.map +1 -1
  7. package/dist/commands/policy-ops.d.ts.map +1 -1
  8. package/dist/commands/policy-ops.js +57 -15
  9. package/dist/commands/policy-ops.js.map +1 -1
  10. package/dist/widget-scaffold-template.js +1 -1
  11. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.d.ts.map +1 -1
  12. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +6 -1
  13. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js.map +1 -1
  14. package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.d.ts.map +1 -1
  15. package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.js +2 -0
  16. package/node_modules/@noodle-borg/agent-kit/dist/curated/hook-notes.js.map +1 -1
  17. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +9 -9
  18. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
  19. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
  20. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +7 -0
  21. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
  22. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.d.ts.map +1 -1
  23. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +76 -8
  24. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js.map +1 -1
  25. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js +2 -2
  26. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js.map +1 -1
  27. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.d.ts.map +1 -1
  28. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +90 -9
  29. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js.map +1 -1
  30. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts +4 -0
  31. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts.map +1 -1
  32. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js +2 -0
  33. package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js.map +1 -1
  34. package/node_modules/@noodle-borg/auth/dist/verify.d.ts +4 -0
  35. package/node_modules/@noodle-borg/auth/dist/verify.d.ts.map +1 -1
  36. package/node_modules/@noodle-borg/auth/dist/verify.js +26 -0
  37. package/node_modules/@noodle-borg/auth/dist/verify.js.map +1 -1
  38. package/node_modules/@noodle-borg/authoring/dist/context.d.ts +25 -0
  39. package/node_modules/@noodle-borg/authoring/dist/context.d.ts.map +1 -0
  40. package/node_modules/@noodle-borg/authoring/dist/context.js +34 -0
  41. package/node_modules/@noodle-borg/authoring/dist/context.js.map +1 -0
  42. package/node_modules/@noodle-borg/authoring/dist/index.d.ts +2 -1
  43. package/node_modules/@noodle-borg/authoring/dist/index.d.ts.map +1 -1
  44. package/node_modules/@noodle-borg/authoring/dist/index.js.map +1 -1
  45. package/node_modules/@noodle-borg/authoring/dist/react/bridge.d.ts +9 -0
  46. package/node_modules/@noodle-borg/authoring/dist/react/bridge.d.ts.map +1 -1
  47. package/node_modules/@noodle-borg/authoring/dist/react/bridge.js.map +1 -1
  48. package/node_modules/@noodle-borg/authoring/dist/react/hooks.d.ts +8 -2
  49. package/node_modules/@noodle-borg/authoring/dist/react/hooks.d.ts.map +1 -1
  50. package/node_modules/@noodle-borg/authoring/dist/react/hooks.js +46 -1
  51. package/node_modules/@noodle-borg/authoring/dist/react/hooks.js.map +1 -1
  52. package/node_modules/@noodle-borg/authoring/dist/react/index.d.ts +2 -2
  53. package/node_modules/@noodle-borg/authoring/dist/react/index.d.ts.map +1 -1
  54. package/node_modules/@noodle-borg/authoring/dist/react/index.js +1 -1
  55. package/node_modules/@noodle-borg/authoring/dist/react/index.js.map +1 -1
  56. package/node_modules/@noodle-borg/authoring/dist/react/model-context-validation.d.ts +4 -0
  57. package/node_modules/@noodle-borg/authoring/dist/react/model-context-validation.d.ts.map +1 -0
  58. package/node_modules/@noodle-borg/authoring/dist/react/model-context-validation.js +94 -0
  59. package/node_modules/@noodle-borg/authoring/dist/react/model-context-validation.js.map +1 -0
  60. package/node_modules/@noodle-borg/authoring/dist/recording.d.ts +19 -2
  61. package/node_modules/@noodle-borg/authoring/dist/recording.d.ts.map +1 -1
  62. package/node_modules/@noodle-borg/authoring/dist/recording.js +71 -8
  63. package/node_modules/@noodle-borg/authoring/dist/recording.js.map +1 -1
  64. package/node_modules/@noodle-borg/authoring/dist/server.d.ts +23 -0
  65. package/node_modules/@noodle-borg/authoring/dist/server.d.ts.map +1 -1
  66. package/node_modules/@noodle-borg/authoring/dist/server.js +6 -0
  67. package/node_modules/@noodle-borg/authoring/dist/server.js.map +1 -1
  68. package/node_modules/@noodle-borg/compiler/dist/artifact/config.d.ts +2 -2
  69. package/node_modules/@noodle-borg/compiler/dist/artifact/config.d.ts.map +1 -1
  70. package/node_modules/@noodle-borg/compiler/dist/artifact/config.js +4 -1
  71. package/node_modules/@noodle-borg/compiler/dist/artifact/config.js.map +1 -1
  72. package/node_modules/@noodle-borg/compiler/dist/artifact/consent.d.ts +4 -6
  73. package/node_modules/@noodle-borg/compiler/dist/artifact/consent.d.ts.map +1 -1
  74. package/node_modules/@noodle-borg/compiler/dist/artifact/consent.js +6 -6
  75. package/node_modules/@noodle-borg/compiler/dist/artifact/consent.js.map +1 -1
  76. package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts +23 -6
  77. package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts.map +1 -1
  78. package/node_modules/@noodle-borg/compiler/dist/artifact/types.js +7 -1
  79. package/node_modules/@noodle-borg/compiler/dist/artifact/types.js.map +1 -1
  80. package/node_modules/@noodle-borg/compiler/dist/compile.d.ts.map +1 -1
  81. package/node_modules/@noodle-borg/compiler/dist/compile.js +26 -6
  82. package/node_modules/@noodle-borg/compiler/dist/compile.js.map +1 -1
  83. package/node_modules/@noodle-borg/compiler/dist/confirmation-flow.d.ts +9 -0
  84. package/node_modules/@noodle-borg/compiler/dist/confirmation-flow.d.ts.map +1 -0
  85. package/node_modules/@noodle-borg/compiler/dist/confirmation-flow.js +36 -0
  86. package/node_modules/@noodle-borg/compiler/dist/confirmation-flow.js.map +1 -0
  87. package/node_modules/@noodle-borg/compiler/dist/context-compile.d.ts +18 -0
  88. package/node_modules/@noodle-borg/compiler/dist/context-compile.d.ts.map +1 -0
  89. package/node_modules/@noodle-borg/compiler/dist/context-compile.js +28 -0
  90. package/node_modules/@noodle-borg/compiler/dist/context-compile.js.map +1 -0
  91. package/node_modules/@noodle-borg/compiler/dist/elicitation-schema.d.ts +5 -0
  92. package/node_modules/@noodle-borg/compiler/dist/elicitation-schema.d.ts.map +1 -0
  93. package/node_modules/@noodle-borg/compiler/dist/elicitation-schema.js +108 -0
  94. package/node_modules/@noodle-borg/compiler/dist/elicitation-schema.js.map +1 -0
  95. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +1 -1
  96. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts.map +1 -1
  97. package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.d.ts +3 -1
  98. package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.d.ts.map +1 -1
  99. package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js +22 -4
  100. package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js.map +1 -1
  101. package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.d.ts +8 -3
  102. package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.d.ts.map +1 -1
  103. package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.js +16 -3
  104. package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.js.map +1 -1
  105. package/node_modules/@noodle-borg/compiler/dist/index.d.ts +2 -2
  106. package/node_modules/@noodle-borg/compiler/dist/index.d.ts.map +1 -1
  107. package/node_modules/@noodle-borg/compiler/dist/index.js +1 -1
  108. package/node_modules/@noodle-borg/compiler/dist/index.js.map +1 -1
  109. package/node_modules/@noodle-borg/compiler/dist/manifest/expression.d.ts +1 -1
  110. package/node_modules/@noodle-borg/compiler/dist/manifest/expression.js +1 -1
  111. package/node_modules/@noodle-borg/compiler/dist/manifest/expression.js.map +1 -1
  112. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +37 -0
  113. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts.map +1 -1
  114. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +27 -4
  115. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js.map +1 -1
  116. package/node_modules/@noodle-borg/module/dist/contract.d.ts +2 -0
  117. package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
  118. package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
  119. package/node_modules/@noodle-borg/protocol/dist/confirmation-elicitation.d.ts +20 -0
  120. package/node_modules/@noodle-borg/protocol/dist/confirmation-elicitation.d.ts.map +1 -0
  121. package/node_modules/@noodle-borg/protocol/dist/confirmation-elicitation.js +159 -0
  122. package/node_modules/@noodle-borg/protocol/dist/confirmation-elicitation.js.map +1 -0
  123. package/node_modules/@noodle-borg/protocol/dist/context-tool.d.ts +9 -0
  124. package/node_modules/@noodle-borg/protocol/dist/context-tool.d.ts.map +1 -0
  125. package/node_modules/@noodle-borg/protocol/dist/context-tool.js +76 -0
  126. package/node_modules/@noodle-borg/protocol/dist/context-tool.js.map +1 -0
  127. package/node_modules/@noodle-borg/protocol/dist/mapping.d.ts +1 -1
  128. package/node_modules/@noodle-borg/protocol/dist/mapping.d.ts.map +1 -1
  129. package/node_modules/@noodle-borg/protocol/dist/mapping.js +10 -22
  130. package/node_modules/@noodle-borg/protocol/dist/mapping.js.map +1 -1
  131. package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts +9 -1
  132. package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts.map +1 -1
  133. package/node_modules/@noodle-borg/protocol/dist/sdk-server.js +54 -6
  134. package/node_modules/@noodle-borg/protocol/dist/sdk-server.js.map +1 -1
  135. package/node_modules/@noodle-borg/protocol/dist/stateless.d.ts.map +1 -1
  136. package/node_modules/@noodle-borg/protocol/dist/stateless.js +8 -1
  137. package/node_modules/@noodle-borg/protocol/dist/stateless.js.map +1 -1
  138. package/node_modules/@noodle-borg/protocol/dist/tool-interaction.d.ts +29 -0
  139. package/node_modules/@noodle-borg/protocol/dist/tool-interaction.d.ts.map +1 -0
  140. package/node_modules/@noodle-borg/protocol/dist/tool-interaction.js +74 -0
  141. package/node_modules/@noodle-borg/protocol/dist/tool-interaction.js.map +1 -0
  142. package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.d.ts.map +1 -1
  143. package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.js +9 -4
  144. package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.js.map +1 -1
  145. package/node_modules/@noodle-borg/protocol/dist/widget/model-context-bootstrap.d.ts +3 -0
  146. package/node_modules/@noodle-borg/protocol/dist/widget/model-context-bootstrap.d.ts.map +1 -0
  147. package/node_modules/@noodle-borg/protocol/dist/widget/model-context-bootstrap.js +80 -0
  148. package/node_modules/@noodle-borg/protocol/dist/widget/model-context-bootstrap.js.map +1 -0
  149. package/node_modules/@noodle-borg/protocol/dist/widget/openai-bridge.d.ts.map +1 -1
  150. package/node_modules/@noodle-borg/protocol/dist/widget/openai-bridge.js +16 -4
  151. package/node_modules/@noodle-borg/protocol/dist/widget/openai-bridge.js.map +1 -1
  152. package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.d.ts +1 -1
  153. package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.d.ts.map +1 -1
  154. package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.js +2 -0
  155. package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.js.map +1 -1
  156. package/node_modules/@noodle-borg/runtime/dist/ambient-context.d.ts +10 -0
  157. package/node_modules/@noodle-borg/runtime/dist/ambient-context.d.ts.map +1 -0
  158. package/node_modules/@noodle-borg/runtime/dist/ambient-context.js +51 -0
  159. package/node_modules/@noodle-borg/runtime/dist/ambient-context.js.map +1 -0
  160. package/node_modules/@noodle-borg/runtime/dist/confirmation.d.ts +18 -0
  161. package/node_modules/@noodle-borg/runtime/dist/confirmation.d.ts.map +1 -0
  162. package/node_modules/@noodle-borg/runtime/dist/confirmation.js +263 -0
  163. package/node_modules/@noodle-borg/runtime/dist/confirmation.js.map +1 -0
  164. package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts +4 -0
  165. package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts.map +1 -1
  166. package/node_modules/@noodle-borg/runtime/dist/connector/types.js.map +1 -1
  167. package/node_modules/@noodle-borg/runtime/dist/context-bounds.d.ts +15 -0
  168. package/node_modules/@noodle-borg/runtime/dist/context-bounds.d.ts.map +1 -0
  169. package/node_modules/@noodle-borg/runtime/dist/context-bounds.js +123 -0
  170. package/node_modules/@noodle-borg/runtime/dist/context-bounds.js.map +1 -0
  171. package/node_modules/@noodle-borg/runtime/dist/elicitation-response.d.ts +13 -0
  172. package/node_modules/@noodle-borg/runtime/dist/elicitation-response.d.ts.map +1 -0
  173. package/node_modules/@noodle-borg/runtime/dist/elicitation-response.js +26 -0
  174. package/node_modules/@noodle-borg/runtime/dist/elicitation-response.js.map +1 -0
  175. package/node_modules/@noodle-borg/runtime/dist/execute.d.ts +69 -7
  176. package/node_modules/@noodle-borg/runtime/dist/execute.d.ts.map +1 -1
  177. package/node_modules/@noodle-borg/runtime/dist/execute.js +136 -33
  178. package/node_modules/@noodle-borg/runtime/dist/execute.js.map +1 -1
  179. package/node_modules/@noodle-borg/runtime/dist/index.d.ts +6 -2
  180. package/node_modules/@noodle-borg/runtime/dist/index.d.ts.map +1 -1
  181. package/node_modules/@noodle-borg/runtime/dist/index.js +5 -1
  182. package/node_modules/@noodle-borg/runtime/dist/index.js.map +1 -1
  183. package/node_modules/@noodle-borg/runtime/dist/interactive.d.ts +8 -0
  184. package/node_modules/@noodle-borg/runtime/dist/interactive.d.ts.map +1 -0
  185. package/node_modules/@noodle-borg/runtime/dist/interactive.js +138 -0
  186. package/node_modules/@noodle-borg/runtime/dist/interactive.js.map +1 -0
  187. package/node_modules/@noodle-borg/runtime/dist/invocation-context.d.ts +22 -0
  188. package/node_modules/@noodle-borg/runtime/dist/invocation-context.d.ts.map +1 -0
  189. package/node_modules/@noodle-borg/runtime/dist/invocation-context.js +2 -0
  190. package/node_modules/@noodle-borg/runtime/dist/invocation-context.js.map +1 -0
  191. package/node_modules/@noodle-borg/runtime/dist/result.d.ts +135 -3
  192. package/node_modules/@noodle-borg/runtime/dist/result.d.ts.map +1 -1
  193. package/node_modules/@noodle-borg/runtime/dist/result.js +9 -1
  194. package/node_modules/@noodle-borg/runtime/dist/result.js.map +1 -1
  195. package/node_modules/@noodle-borg/service/dist/assistant-context.d.ts +25 -0
  196. package/node_modules/@noodle-borg/service/dist/assistant-context.d.ts.map +1 -0
  197. package/node_modules/@noodle-borg/service/dist/assistant-context.js +130 -0
  198. package/node_modules/@noodle-borg/service/dist/assistant-context.js.map +1 -0
  199. package/node_modules/@noodle-borg/service/dist/assistant-interaction-state.d.ts +181 -0
  200. package/node_modules/@noodle-borg/service/dist/assistant-interaction-state.d.ts.map +1 -0
  201. package/node_modules/@noodle-borg/service/dist/assistant-interaction-state.js +293 -0
  202. package/node_modules/@noodle-borg/service/dist/assistant-interaction-state.js.map +1 -0
  203. package/node_modules/@noodle-borg/service/dist/assistant-interactive.d.ts +92 -0
  204. package/node_modules/@noodle-borg/service/dist/assistant-interactive.d.ts.map +1 -0
  205. package/node_modules/@noodle-borg/service/dist/assistant-interactive.js +219 -0
  206. package/node_modules/@noodle-borg/service/dist/assistant-interactive.js.map +1 -0
  207. package/node_modules/@noodle-borg/service/dist/assistant-presentation.d.ts +24 -0
  208. package/node_modules/@noodle-borg/service/dist/assistant-presentation.d.ts.map +1 -0
  209. package/node_modules/@noodle-borg/service/dist/assistant-presentation.js +151 -0
  210. package/node_modules/@noodle-borg/service/dist/assistant-presentation.js.map +1 -0
  211. package/node_modules/@noodle-borg/service/dist/assistant-sensitive-values.d.ts +3 -0
  212. package/node_modules/@noodle-borg/service/dist/assistant-sensitive-values.d.ts.map +1 -0
  213. package/node_modules/@noodle-borg/service/dist/assistant-sensitive-values.js +6 -0
  214. package/node_modules/@noodle-borg/service/dist/assistant-sensitive-values.js.map +1 -0
  215. package/node_modules/@noodle-borg/service/dist/assistant-store.d.ts +38 -11
  216. package/node_modules/@noodle-borg/service/dist/assistant-store.d.ts.map +1 -1
  217. package/node_modules/@noodle-borg/service/dist/assistant-store.js +111 -13
  218. package/node_modules/@noodle-borg/service/dist/assistant-store.js.map +1 -1
  219. package/node_modules/@noodle-borg/service/dist/assistant-view-availability.d.ts +23 -0
  220. package/node_modules/@noodle-borg/service/dist/assistant-view-availability.d.ts.map +1 -0
  221. package/node_modules/@noodle-borg/service/dist/assistant-view-availability.js +24 -0
  222. package/node_modules/@noodle-borg/service/dist/assistant-view-availability.js.map +1 -0
  223. package/node_modules/@noodle-borg/service/dist/commercial-plans.d.ts.map +1 -1
  224. package/node_modules/@noodle-borg/service/dist/commercial-plans.js +5 -6
  225. package/node_modules/@noodle-borg/service/dist/commercial-plans.js.map +1 -1
  226. package/node_modules/@noodle-borg/service/dist/customer-verifier.d.ts.map +1 -1
  227. package/node_modules/@noodle-borg/service/dist/customer-verifier.js +6 -0
  228. package/node_modules/@noodle-borg/service/dist/customer-verifier.js.map +1 -1
  229. package/node_modules/@noodle-borg/service/dist/index.d.ts +1 -2
  230. package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
  231. package/node_modules/@noodle-borg/service/dist/index.js +1 -2
  232. package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
  233. package/node_modules/@noodle-borg/service/dist/invocation-context.d.ts +20 -0
  234. package/node_modules/@noodle-borg/service/dist/invocation-context.d.ts.map +1 -0
  235. package/node_modules/@noodle-borg/service/dist/invocation-context.js +51 -0
  236. package/node_modules/@noodle-borg/service/dist/invocation-context.js.map +1 -0
  237. package/node_modules/@noodle-borg/service/dist/main.js +0 -9
  238. package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
  239. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.d.ts +10 -0
  240. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.d.ts.map +1 -1
  241. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.js +16 -0
  242. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.js.map +1 -1
  243. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts +17 -0
  244. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts.map +1 -0
  245. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js +14 -0
  246. package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js.map +1 -0
  247. package/node_modules/@noodle-borg/service/dist/oauth/google.d.ts +2 -0
  248. package/node_modules/@noodle-borg/service/dist/oauth/google.d.ts.map +1 -1
  249. package/node_modules/@noodle-borg/service/dist/oauth/google.js +11 -1
  250. package/node_modules/@noodle-borg/service/dist/oauth/google.js.map +1 -1
  251. package/node_modules/@noodle-borg/service/dist/oauth/identity-preferences.d.ts +27 -0
  252. package/node_modules/@noodle-borg/service/dist/oauth/identity-preferences.d.ts.map +1 -0
  253. package/node_modules/@noodle-borg/service/dist/oauth/identity-preferences.js +34 -0
  254. package/node_modules/@noodle-borg/service/dist/oauth/identity-preferences.js.map +1 -0
  255. package/node_modules/@noodle-borg/service/dist/oauth/microsoft.d.ts.map +1 -1
  256. package/node_modules/@noodle-borg/service/dist/oauth/microsoft.js +6 -0
  257. package/node_modules/@noodle-borg/service/dist/oauth/microsoft.js.map +1 -1
  258. package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts.map +1 -1
  259. package/node_modules/@noodle-borg/service/dist/oauth/provider.js +48 -92
  260. package/node_modules/@noodle-borg/service/dist/oauth/provider.js.map +1 -1
  261. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.d.ts.map +1 -1
  262. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js +29 -9
  263. package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js.map +1 -1
  264. package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts +6 -0
  265. package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts.map +1 -1
  266. package/node_modules/@noodle-borg/service/dist/oauth/store.js +4 -0
  267. package/node_modules/@noodle-borg/service/dist/oauth/store.js.map +1 -1
  268. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts +45 -0
  269. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts.map +1 -0
  270. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js +110 -0
  271. package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js.map +1 -0
  272. package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.d.ts +19 -0
  273. package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.d.ts.map +1 -0
  274. package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.js +228 -0
  275. package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.js.map +1 -0
  276. package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.d.ts.map +1 -1
  277. package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js +7 -2
  278. package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js.map +1 -1
  279. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-replay.d.ts +8 -0
  280. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-replay.d.ts.map +1 -0
  281. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-replay.js +126 -0
  282. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-replay.js.map +1 -0
  283. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-request.d.ts +23 -0
  284. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-request.d.ts.map +1 -0
  285. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-request.js +29 -0
  286. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-request.js.map +1 -0
  287. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-resolution.d.ts +17 -0
  288. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-resolution.d.ts.map +1 -0
  289. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-resolution.js +47 -0
  290. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-resolution.js.map +1 -0
  291. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-stream.d.ts +20 -0
  292. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-stream.d.ts.map +1 -0
  293. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-stream.js +55 -0
  294. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-stream.js.map +1 -0
  295. package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.d.ts +7 -0
  296. package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.d.ts.map +1 -0
  297. package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.js +427 -0
  298. package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.js.map +1 -0
  299. package/node_modules/@noodle-borg/service/dist/routes/assistant-route-http.d.ts +8 -0
  300. package/node_modules/@noodle-borg/service/dist/routes/assistant-route-http.d.ts.map +1 -0
  301. package/node_modules/@noodle-borg/service/dist/routes/assistant-route-http.js +50 -0
  302. package/node_modules/@noodle-borg/service/dist/routes/assistant-route-http.js.map +1 -0
  303. package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts +3 -3
  304. package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts.map +1 -1
  305. package/node_modules/@noodle-borg/service/dist/routes/assistant.js +49 -295
  306. package/node_modules/@noodle-borg/service/dist/routes/assistant.js.map +1 -1
  307. package/node_modules/@noodle-borg/service/dist/routes/plans.d.ts +1 -1
  308. package/node_modules/@noodle-borg/service/dist/routes/plans.d.ts.map +1 -1
  309. package/node_modules/@noodle-borg/service/dist/routes/plans.js +92 -4
  310. package/node_modules/@noodle-borg/service/dist/routes/plans.js.map +1 -1
  311. package/node_modules/@noodle-borg/service/dist/serve.d.ts +0 -6
  312. package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
  313. package/node_modules/@noodle-borg/service/dist/serve.js +0 -6
  314. package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
  315. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
  316. package/node_modules/@noodle-borg/service/dist/service.js +4 -10
  317. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
  318. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interaction-writes.d.ts +6 -0
  319. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interaction-writes.d.ts.map +1 -0
  320. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interaction-writes.js +36 -0
  321. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interaction-writes.js.map +1 -0
  322. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interactions.d.ts +25 -0
  323. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interactions.d.ts.map +1 -0
  324. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interactions.js +330 -0
  325. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant-interactions.js.map +1 -0
  326. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.d.ts +17 -3
  327. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.d.ts.map +1 -1
  328. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.js +30 -37
  329. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.js.map +1 -1
  330. package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts +8 -1
  331. package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts.map +1 -1
  332. package/node_modules/@noodle-borg/transport-http/dist/handler.js +20 -2
  333. package/node_modules/@noodle-borg/transport-http/dist/handler.js.map +1 -1
  334. package/node_modules/@noodle-borg/transport-http/dist/index.d.ts +1 -1
  335. package/node_modules/@noodle-borg/transport-http/dist/index.d.ts.map +1 -1
  336. package/node_modules/@noodle-borg/transport-http/dist/index.js.map +1 -1
  337. package/node_modules/@noodle-borg/transport-http/package.json +1 -0
  338. package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts +117 -0
  339. package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts.map +1 -1
  340. package/node_modules/@noodle-borg/wire-contracts/dist/assistant.js +135 -0
  341. package/node_modules/@noodle-borg/wire-contracts/dist/assistant.js.map +1 -1
  342. package/package.json +1 -1
  343. package/node_modules/@noodle-borg/service/dist/free-tier.d.ts +0 -33
  344. package/node_modules/@noodle-borg/service/dist/free-tier.d.ts.map +0 -1
  345. package/node_modules/@noodle-borg/service/dist/free-tier.js +0 -77
  346. package/node_modules/@noodle-borg/service/dist/free-tier.js.map +0 -1
@@ -1,10 +1,12 @@
1
- import { handleAssistantClients, handleAssistantConfirmation, handleAssistantPreflight, handleAssistantSession, handleAssistantTurn, handleConsoleApprovalNonce, } from './assistant.js';
1
+ import { handleAssistantClients, handleAssistantPreflight, handleAssistantSession, handleAssistantTurn, handleConsoleApprovalNonce, } from './assistant.js';
2
+ import { handleAssistantConfirmation, handleAssistantInteraction, } from './assistant-interactions.js';
2
3
  export function dispatchAssistantRoutes(req, res, url, deps) {
3
4
  if (url.pathname === '/v1/console/approval-nonces/consume' && req.method === 'POST') {
4
5
  return run(req, res, deps, () => handleConsoleApprovalNonce(req, res, deps));
5
6
  }
6
7
  if ((url.pathname === '/v1/assistant/turns' ||
7
- url.pathname === '/v1/assistant/tool-confirmations') &&
8
+ url.pathname === '/v1/assistant/tool-confirmations' ||
9
+ url.pathname === '/v1/assistant/interactions') &&
8
10
  req.method === 'OPTIONS') {
9
11
  deps.applySecurityHeaders(res, deps.tls);
10
12
  handleAssistantPreflight(req, res);
@@ -19,6 +21,9 @@ export function dispatchAssistantRoutes(req, res, url, deps) {
19
21
  if (url.pathname === '/v1/assistant/tool-confirmations' && req.method === 'POST') {
20
22
  return run(req, res, deps, () => handleAssistantConfirmation(req, res, deps));
21
23
  }
24
+ if (url.pathname === '/v1/assistant/interactions' && req.method === 'POST') {
25
+ return run(req, res, deps, () => handleAssistantInteraction(req, res, deps));
26
+ }
22
27
  const match = /^\/v1\/orgs\/([^/]+)\/apps\/([^/]+)\/envs\/([^/]+)\/assistant\/clients(?:\/([^/]+)(?:\/(rotate))?)?$/.exec(url.pathname);
23
28
  if (!match)
24
29
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-dispatch.js","sourceRoot":"","sources":["../../src/routes/assistant-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assistant-dispatch.js","sourceRoot":"","sources":["../../src/routes/assistant-dispatch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ServerResponse } from 'node:http';
2
+ import type { AssistantInteractionRecord, AssistantSessionRecord } from '../assistant-store.js';
3
+ import { type AssistantRouteDeps } from './assistant.js';
4
+ import type { InteractionAction } from './assistant-interaction-request.js';
5
+ /** Replay a durable outcome for the same decision, or reject a conflicting second decision. */
6
+ export declare function replayOrConflict(res: ServerResponse, deps: AssistantRouteDeps, session: AssistantSessionRecord, interaction: AssistantInteractionRecord, action: InteractionAction): Promise<void>;
7
+ export declare function writeUnknownOutcome(res: ServerResponse, deps: AssistantRouteDeps, session: AssistantSessionRecord, interaction: AssistantInteractionRecord, action: InteractionAction): Promise<void>;
8
+ //# sourceMappingURL=assistant-interaction-replay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interaction-replay.d.ts","sourceRoot":"","sources":["../../src/routes/assistant-interaction-replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,KAAK,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGhG,OAAO,EAAE,KAAK,kBAAkB,EAAO,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAmB5E,+FAA+F;AAC/F,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,0BAA0B,EACvC,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Ef;AAkCD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,0BAA0B,EACvC,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -0,0 +1,126 @@
1
+ import { assistantInteractionTool, auditAssistantInteraction } from '../assistant-interactive.js';
2
+ import { assistantViewAvailableData } from '../assistant-view-availability.js';
3
+ import { sendJson } from '../http-util.js';
4
+ import { now } from './assistant.js';
5
+ import { assistantInteractionScope } from './assistant-interaction-resolution.js';
6
+ import { endInteractionSse, writeInputRequested, writeInteractionError, writeInteractionResolved, writeInteractionSseHeaders, writeToolCompleted, writeToolProposed, writeViewAvailable, } from './assistant-interaction-stream.js';
7
+ const MAX_REPLAY_CHAIN_HOPS = 32;
8
+ /** Replay a durable outcome for the same decision, or reject a conflicting second decision. */
9
+ export async function replayOrConflict(res, deps, session, interaction, action) {
10
+ if (interaction.status === 'executing') {
11
+ return writeUnknownOutcome(res, deps, session, interaction, action);
12
+ }
13
+ const storedAction = interaction.status === 'declined'
14
+ ? 'decline'
15
+ : interaction.status === 'cancelled'
16
+ ? 'cancel'
17
+ : interaction.status === 'succeeded' || interaction.status === 'failed'
18
+ ? 'accept'
19
+ : undefined;
20
+ if (!storedAction || storedAction !== action) {
21
+ await auditAssistantInteraction({
22
+ audit: deps.audit,
23
+ session,
24
+ interaction,
25
+ eventType: 'assistant.interaction.resolved',
26
+ decision: 'deny',
27
+ httpStatus: 409,
28
+ action,
29
+ status: 'decision_conflict',
30
+ reasonCode: 'interaction_decision_conflict',
31
+ });
32
+ return sendJson(res, 409, { error: 'interaction was already resolved differently' });
33
+ }
34
+ const target = await resolveReplayTarget(deps, session, interaction);
35
+ if (target.disposition === 'found' && target.interaction.status === 'executing') {
36
+ return writeUnknownOutcome(res, deps, session, target.interaction, action);
37
+ }
38
+ await auditAssistantInteraction({
39
+ audit: deps.audit,
40
+ session,
41
+ interaction,
42
+ eventType: 'assistant.interaction.execution',
43
+ decision: 'allow',
44
+ httpStatus: 200,
45
+ action,
46
+ status: 'replayed',
47
+ });
48
+ writeInteractionSseHeaders(res, session.origin);
49
+ writeInteractionResolved(res, interaction.id, action);
50
+ if (target.disposition === 'unavailable') {
51
+ writeInteractionError(res, 'next_interaction_unavailable', false);
52
+ return endInteractionSse(res);
53
+ }
54
+ const current = target.interaction;
55
+ if (current.status === 'pending') {
56
+ if (current.kind === 'input')
57
+ writeInputRequested(res, current);
58
+ else
59
+ writeToolProposed(res, current);
60
+ }
61
+ else if (current.status === 'succeeded') {
62
+ const tool = assistantInteractionTool(current) ?? 'unknown_tool';
63
+ const result = current.publicOutcome.result ?? current.publicOutcome;
64
+ writeToolCompleted(res, current.id, tool, result, true);
65
+ const deployment = await deps.registry.get(session.deploymentId);
66
+ const view = deployment
67
+ ? assistantViewAvailableData(deployment.served.artifact, {
68
+ id: current.id,
69
+ tool,
70
+ result,
71
+ replayed: true,
72
+ })
73
+ : undefined;
74
+ if (view)
75
+ writeViewAvailable(res, view);
76
+ }
77
+ else if (current.status === 'failed') {
78
+ writeInteractionError(res, current.publicOutcome.code, false);
79
+ }
80
+ else if (current.id !== interaction.id &&
81
+ (current.status === 'declined' || current.status === 'cancelled')) {
82
+ writeInteractionResolved(res, current.id, current.status === 'declined' ? 'decline' : 'cancel');
83
+ }
84
+ return endInteractionSse(res);
85
+ }
86
+ /** Follow immutable handoff links so a retry reflects the live leaf, never a stale form. */
87
+ async function resolveReplayTarget(deps, session, interaction) {
88
+ let current = interaction;
89
+ const visited = new Set([current.id]);
90
+ let hops = 0;
91
+ while (current.status === 'succeeded' &&
92
+ (current.publicOutcome.code === 'input_requested' ||
93
+ current.publicOutcome.code === 'confirmation_required')) {
94
+ if (hops >= MAX_REPLAY_CHAIN_HOPS)
95
+ return { disposition: 'unavailable' };
96
+ const nextId = current.publicOutcome.details?.nextInteractionId;
97
+ if (typeof nextId !== 'string' || visited.has(nextId)) {
98
+ return { disposition: 'unavailable' };
99
+ }
100
+ visited.add(nextId);
101
+ const next = await deps.store.getInteraction(assistantInteractionScope(nextId, session, now(deps)));
102
+ if (!next)
103
+ return { disposition: 'unavailable' };
104
+ current = next;
105
+ hops += 1;
106
+ }
107
+ return { disposition: 'found', interaction: current };
108
+ }
109
+ export async function writeUnknownOutcome(res, deps, session, interaction, action) {
110
+ await auditAssistantInteraction({
111
+ audit: deps.audit,
112
+ session,
113
+ interaction,
114
+ eventType: 'assistant.interaction.execution',
115
+ decision: 'deny',
116
+ httpStatus: 409,
117
+ action,
118
+ status: 'unknown',
119
+ reasonCode: 'interaction_outcome_unknown',
120
+ });
121
+ return sendJson(res, 409, {
122
+ error: 'interaction execution is already in progress; its outcome is not yet known',
123
+ code: 'interaction_outcome_unknown',
124
+ });
125
+ }
126
+ //# sourceMappingURL=assistant-interaction-replay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interaction-replay.js","sourceRoot":"","sources":["../../src/routes/assistant-interaction-replay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { AssistantInteractionRecord } from '../assistant-store.js';
2
+ export type InteractionAction = 'accept' | 'decline' | 'cancel';
3
+ export interface InteractionResponse {
4
+ readonly id: string;
5
+ readonly action: InteractionAction;
6
+ readonly content?: unknown;
7
+ }
8
+ export declare function validateInputContent(interaction: Extract<AssistantInteractionRecord, {
9
+ readonly kind: 'input';
10
+ }>, content: unknown): {
11
+ readonly ok: true;
12
+ readonly value: unknown;
13
+ } | {
14
+ readonly ok: false;
15
+ };
16
+ export declare function parseInteractionResponse(value: unknown, legacyAcceptOnly: boolean): {
17
+ readonly ok: true;
18
+ readonly value: InteractionResponse;
19
+ } | {
20
+ readonly ok: false;
21
+ readonly error: string;
22
+ };
23
+ //# sourceMappingURL=assistant-interaction-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interaction-request.d.ts","sourceRoot":"","sources":["../../src/routes/assistant-interaction-request.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAExE,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,OAAO,CAAC,0BAA0B,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAC5E,OAAO,EAAE,OAAO,GACf;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;CAAE,CAazE;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,gBAAgB,EAAE,OAAO,GAEvB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAWjD"}
@@ -0,0 +1,29 @@
1
+ import { validateJsonSchemaWithDefaults } from '@noodle-borg/compiler';
2
+ import { assistantInteractionRequestSchema } from '@noodle-borg/wire-contracts';
3
+ export function validateInputContent(interaction, content) {
4
+ if (content === null || typeof content !== 'object' || Array.isArray(content)) {
5
+ return { ok: false };
6
+ }
7
+ const properties = interaction.requestedSchema.properties;
8
+ if (properties === null || typeof properties !== 'object' || Array.isArray(properties)) {
9
+ return { ok: false };
10
+ }
11
+ if (Object.keys(content).some((key) => !Object.hasOwn(properties, key))) {
12
+ return { ok: false };
13
+ }
14
+ const validated = validateJsonSchemaWithDefaults(interaction.requestedSchema, content);
15
+ return validated.issues.length === 0 ? { ok: true, value: validated.value } : { ok: false };
16
+ }
17
+ export function parseInteractionResponse(value, legacyAcceptOnly) {
18
+ if (legacyAcceptOnly) {
19
+ const candidate = value?.id;
20
+ return typeof candidate === 'string'
21
+ ? { ok: true, value: { id: candidate, action: 'accept' } }
22
+ : { ok: false, error: '"id" is required' };
23
+ }
24
+ const parsed = assistantInteractionRequestSchema.safeParse(value);
25
+ return parsed.success
26
+ ? { ok: true, value: parsed.data }
27
+ : { ok: false, error: 'invalid interaction response' };
28
+ }
29
+ //# sourceMappingURL=assistant-interaction-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interaction-request.js","sourceRoot":"","sources":["../../src/routes/assistant-interaction-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAWhF,MAAM,UAAU,oBAAoB,CAClC,WAA4E,EAC5E,OAAgB;IAEhB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC;IAC1D,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,SAAS,GAAG,8BAA8B,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACvF,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAAc,EACd,gBAAyB;IAIzB,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,SAAS,GAAI,KAA0C,EAAE,EAAE,CAAC;QAClE,OAAO,OAAO,SAAS,KAAK,QAAQ;YAClC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC1D,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,MAAM,GAAG,iCAAiC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAClE,OAAO,MAAM,CAAC,OAAO;QACnB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;QAClC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { InvocationContext } from '@noodle-borg/runtime';
2
+ import type { AssistantInteractionPublicOutcome, AssistantInteractionRecord, AssistantInteractionTransitionNext, AssistantInteractionTransitionResult, AssistantSessionRecord } from '../assistant-store.js';
3
+ import { type AssistantRouteDeps } from './assistant.js';
4
+ type AssistantTarget = NonNullable<Awaited<ReturnType<AssistantRouteDeps['registry']['get']>>>;
5
+ export declare function assistantInteractionScope(id: string, session: AssistantSessionRecord, instant: Date): {
6
+ id: string;
7
+ sessionId: string;
8
+ deploymentId: string;
9
+ now: Date;
10
+ };
11
+ export declare function resolveAssistantInteractionContext(interaction: AssistantInteractionRecord, session: AssistantSessionRecord, target: AssistantTarget, deps: AssistantRouteDeps): Promise<InvocationContext>;
12
+ export declare function completeAssistantInteractionExecution(deps: AssistantRouteDeps, session: AssistantSessionRecord, interaction: AssistantInteractionRecord, status: 'succeeded' | 'failed', code: string, tool: string, outcome?: {
13
+ readonly result?: AssistantInteractionPublicOutcome['result'];
14
+ }): Promise<AssistantInteractionRecord | undefined>;
15
+ export declare function transitionAssistantInteractionExecution(deps: AssistantRouteDeps, session: AssistantSessionRecord, interaction: AssistantInteractionRecord, code: 'confirmation_required' | 'input_requested', tool: string, next: AssistantInteractionTransitionNext, instant: Date): Promise<AssistantInteractionTransitionResult>;
16
+ export {};
17
+ //# sourceMappingURL=assistant-interaction-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interaction-resolution.d.ts","sourceRoot":"","sources":["../../src/routes/assistant-interaction-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EACV,iCAAiC,EACjC,0BAA0B,EAC1B,kCAAkC,EAClC,oCAAoC,EACpC,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,kBAAkB,EAAO,MAAM,gBAAgB,CAAC;AAE9D,KAAK,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/F,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,IAAI;;;;;EAQd;AAED,wBAAsB,kCAAkC,CACtD,WAAW,EAAE,0BAA0B,EACvC,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAW5B;AAED,wBAAsB,qCAAqC,CACzD,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,0BAA0B,EACvC,MAAM,EAAE,WAAW,GAAG,QAAQ,EAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,MAAM,CAAC,EAAE,iCAAiC,CAAC,QAAQ,CAAC,CAAC;CAC/D,GACA,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAejD;AAED,wBAAsB,uCAAuC,CAC3D,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,0BAA0B,EACvC,IAAI,EAAE,uBAAuB,GAAG,iBAAiB,EACjD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,kCAAkC,EACxC,OAAO,EAAE,IAAI,GACZ,OAAO,CAAC,oCAAoC,CAAC,CAU/C"}
@@ -0,0 +1,47 @@
1
+ import { resolveInvocationContextSnapshot } from '../invocation-context.js';
2
+ import { now } from './assistant.js';
3
+ export function assistantInteractionScope(id, session, instant) {
4
+ return {
5
+ id,
6
+ sessionId: session.id,
7
+ deploymentId: session.deploymentId,
8
+ now: instant,
9
+ };
10
+ }
11
+ export async function resolveAssistantInteractionContext(interaction, session, target, deps) {
12
+ return (interaction.context ??
13
+ (await resolveInvocationContextSnapshot({
14
+ artifact: target.served.artifact,
15
+ executeDeps: target.served.deps,
16
+ caller: session.caller,
17
+ instant: now(deps),
18
+ ...(session.preferences ? { applicationPreference: session.preferences } : {}),
19
+ })));
20
+ }
21
+ export async function completeAssistantInteractionExecution(deps, session, interaction, status, code, tool, outcome) {
22
+ const completion = await deps.store.completeInteraction({
23
+ ...assistantInteractionScope(interaction.id, session, now(deps)),
24
+ completion: {
25
+ status,
26
+ publicOutcome: {
27
+ code,
28
+ summary: status === 'succeeded' ? 'Tool interaction completed.' : 'Tool interaction failed.',
29
+ details: { tool },
30
+ ...(outcome?.result !== undefined ? { result: outcome.result } : {}),
31
+ },
32
+ },
33
+ });
34
+ return completion.disposition === 'completed' ? completion.interaction : undefined;
35
+ }
36
+ export async function transitionAssistantInteractionExecution(deps, session, interaction, code, tool, next, instant) {
37
+ return deps.store.transitionInteraction({
38
+ ...assistantInteractionScope(interaction.id, session, instant),
39
+ publicOutcome: {
40
+ code,
41
+ summary: 'Tool interaction completed.',
42
+ details: { tool },
43
+ },
44
+ next,
45
+ });
46
+ }
47
+ //# sourceMappingURL=assistant-interaction-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interaction-resolution.js","sourceRoot":"","sources":["../../src/routes/assistant-interaction-resolution.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAA2B,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAI9D,MAAM,UAAU,yBAAyB,CACvC,EAAU,EACV,OAA+B,EAC/B,OAAa;IAEb,OAAO;QACL,EAAE;QACF,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,GAAG,EAAE,OAAO;KACb,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,WAAuC,EACvC,OAA+B,EAC/B,MAAuB,EACvB,IAAwB;IAExB,OAAO,CACL,WAAW,CAAC,OAAO;QACnB,CAAC,MAAM,gCAAgC,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;YAChC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAmB;YAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC;YAClB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/E,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,IAAwB,EACxB,OAA+B,EAC/B,WAAuC,EACvC,MAA8B,EAC9B,IAAY,EACZ,IAAY,EACZ,OAEC;IAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;QACtD,GAAG,yBAAyB,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAChE,UAAU,EAAE;YACV,MAAM;YACN,aAAa,EAAE;gBACb,IAAI;gBACJ,OAAO,EACL,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,0BAA0B;gBACrF,OAAO,EAAE,EAAE,IAAI,EAAE;gBACjB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrE;SACF;KACF,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC3D,IAAwB,EACxB,OAA+B,EAC/B,WAAuC,EACvC,IAAiD,EACjD,IAAY,EACZ,IAAwC,EACxC,OAAa;IAEb,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;QACtC,GAAG,yBAAyB,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;QAC9D,aAAa,EAAE;YACb,IAAI;YACJ,OAAO,EAAE,6BAA6B;YACtC,OAAO,EAAE,EAAE,IAAI,EAAE;SAClB;QACD,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { ServerResponse } from 'node:http';
2
+ import type { InvocationContext } from '@noodle-borg/runtime';
3
+ import type { AssistantPendingConfirmationInteractionRecord, AssistantPendingInputInteractionRecord, AssistantSessionRecord } from '../assistant-store.js';
4
+ import type { AssistantViewAvailableData } from '../assistant-view-availability.js';
5
+ import type { AssistantRouteDeps } from './assistant.js';
6
+ type InteractionAction = 'accept' | 'decline' | 'cancel';
7
+ type AssistantTarget = NonNullable<Awaited<ReturnType<AssistantRouteDeps['registry']['get']>>>;
8
+ /** Stream the optional post-resolution narration without weakening the durable structured result. */
9
+ export declare function narrateResolvedInteraction(res: ServerResponse, deps: AssistantRouteDeps, target: AssistantTarget, session: AssistantSessionRecord, tool: string, action: InteractionAction, result: unknown | undefined, context: InvocationContext): Promise<void>;
10
+ export declare function writeInteractionSseHeaders(res: ServerResponse, origin: string): void;
11
+ export declare function writeInteractionResolved(res: ServerResponse, id: string, action: InteractionAction): void;
12
+ export declare function writeInputRequested(res: ServerResponse, input: Pick<AssistantPendingInputInteractionRecord, 'id' | 'message' | 'requestedSchema' | 'expiresAt'>): void;
13
+ export declare function writeToolProposed(res: ServerResponse, interaction: Pick<AssistantPendingConfirmationInteractionRecord, 'id' | 'tool' | 'review' | 'expiresAt'>): void;
14
+ export declare function writeToolCompleted(res: ServerResponse, id: string, tool: string, result: unknown, replayed?: boolean): void;
15
+ /** Announce renderer data only; this never reads or executes the linked `ui://` resource. */
16
+ export declare function writeViewAvailable(res: ServerResponse, view: AssistantViewAvailableData): void;
17
+ export declare function writeInteractionError(res: ServerResponse, code: string, retryable: boolean): void;
18
+ export declare function endInteractionSse(res: ServerResponse): void;
19
+ export {};
20
+ //# sourceMappingURL=assistant-interaction-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interaction-stream.d.ts","sourceRoot":"","sources":["../../src/routes/assistant-interaction-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EACV,6CAA6C,EAC7C,sCAAsC,EACtC,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,KAAK,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AACzD,KAAK,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/F,qGAAqG;AACrG,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAOpF;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,iBAAiB,GACxB,IAAI,CAEN;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,IAAI,CACT,sCAAsC,EACtC,IAAI,GAAG,SAAS,GAAG,iBAAiB,GAAG,WAAW,CACnD,GACA,IAAI,CASN;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,IAAI,CACf,6CAA6C,EAC7C,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CACvC,GACA,IAAI,CAUN;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,QAAQ,UAAQ,GACf,IAAI,CAIN;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,0BAA0B,GAAG,IAAI,CAE9F;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAEjG;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAE3D"}
@@ -0,0 +1,55 @@
1
+ import { narrateInteractionResolution } from './assistant-agent.js';
2
+ /** Stream the optional post-resolution narration without weakening the durable structured result. */
3
+ export async function narrateResolvedInteraction(res, deps, target, session, tool, action, result, context) {
4
+ try {
5
+ const narration = await narrateInteractionResolution(target, session, tool, action, result, context, deps, (delta) => res.write(`event: content\ndata: ${JSON.stringify({ delta })}\n\n`));
6
+ if (narration) {
7
+ await deps.store.appendHistory(session.id, [{ role: 'assistant', content: narration }]);
8
+ }
9
+ }
10
+ catch {
11
+ // Narration is a soft enhancement after the durable structured outcome has been emitted.
12
+ }
13
+ }
14
+ export function writeInteractionSseHeaders(res, origin) {
15
+ res.writeHead(200, {
16
+ 'content-type': 'text/event-stream; charset=utf-8',
17
+ 'cache-control': 'no-store',
18
+ 'access-control-allow-origin': origin,
19
+ vary: 'Origin',
20
+ });
21
+ }
22
+ export function writeInteractionResolved(res, id, action) {
23
+ res.write(`event: interaction_resolved\ndata: ${JSON.stringify({ id, action })}\n\n`);
24
+ }
25
+ export function writeInputRequested(res, input) {
26
+ res.write(`event: input_requested\ndata: ${JSON.stringify({
27
+ id: input.id,
28
+ message: input.message,
29
+ requestedSchema: input.requestedSchema,
30
+ expiresAt: input.expiresAt,
31
+ })}\n\n`);
32
+ }
33
+ export function writeToolProposed(res, interaction) {
34
+ res.write(`event: tool_proposed\ndata: ${JSON.stringify({
35
+ id: interaction.id,
36
+ tool: interaction.tool,
37
+ arguments: interaction.review ?? {},
38
+ expiresAt: interaction.expiresAt,
39
+ requiresConfirmation: true,
40
+ })}\n\n`);
41
+ }
42
+ export function writeToolCompleted(res, id, tool, result, replayed = false) {
43
+ res.write(`event: tool_completed\ndata: ${JSON.stringify({ id, tool, result, ...(replayed ? { replayed: true } : {}) })}\n\n`);
44
+ }
45
+ /** Announce renderer data only; this never reads or executes the linked `ui://` resource. */
46
+ export function writeViewAvailable(res, view) {
47
+ res.write(`event: view_available\ndata: ${JSON.stringify(view)}\n\n`);
48
+ }
49
+ export function writeInteractionError(res, code, retryable) {
50
+ res.write(`event: error\ndata: ${JSON.stringify({ code, retryable })}\n\n`);
51
+ }
52
+ export function endInteractionSse(res) {
53
+ res.end('event: done\ndata: {}\n\n');
54
+ }
55
+ //# sourceMappingURL=assistant-interaction-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interaction-stream.js","sourceRoot":"","sources":["../../src/routes/assistant-interaction-stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { IncomingMessage, ServerResponse } from 'node:http';
2
+ import { type AssistantRouteDeps } from './assistant.js';
3
+ /** Accept-only compatibility route consumed by published pre-interaction assistant widgets. */
4
+ export declare function handleAssistantConfirmation(req: IncomingMessage, res: ServerResponse, deps: AssistantRouteDeps): Promise<void>;
5
+ /** Resolve one durable server-held confirmation or structured-input interaction. */
6
+ export declare function handleAssistantInteraction(req: IncomingMessage, res: ServerResponse, deps: AssistantRouteDeps): Promise<void>;
7
+ //# sourceMappingURL=assistant-interactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interactions.d.ts","sourceRoot":"","sources":["../../src/routes/assistant-interactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA8BjE,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,gBAAgB,CAAC;AAiCxB,+FAA+F;AAC/F,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,oFAAoF;AACpF,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAEf"}