@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
@@ -0,0 +1,293 @@
1
+ import { isCredentialShapedAssistantText } from './assistant-sensitive-values.js';
2
+ export const DEFAULT_MAX_PENDING_INTERACTIONS_PER_SESSION = 8;
3
+ export const ASSISTANT_INTERACTION_OUTCOME_RETENTION_MS = 24 * 60 * 60 * 1000;
4
+ /** Recovery grace for an in-flight action before its outcome becomes unknowable and payload is scrubbed. */
5
+ export const ASSISTANT_INTERACTION_EXECUTING_GRACE_MS = 60 * 60 * 1000;
6
+ export const ASSISTANT_INTERACTION_UNKNOWN_OUTCOME = {
7
+ code: 'interaction_outcome_unknown',
8
+ summary: 'The action may have completed, but its outcome could not be verified.',
9
+ };
10
+ export class AssistantInteractionCapacityError extends Error {
11
+ code = 'pending_interaction_limit';
12
+ constructor() {
13
+ super('assistant session has too many pending interactions');
14
+ this.name = 'AssistantInteractionCapacityError';
15
+ }
16
+ }
17
+ export function createPendingInteraction(id, input) {
18
+ const createdAt = validTimestamp(input.createdAt ?? new Date().toISOString(), 'createdAt');
19
+ const common = {
20
+ id,
21
+ sessionId: input.sessionId,
22
+ deploymentId: input.deploymentId,
23
+ ...(input.context !== undefined ? { context: cloneJson(input.context, 'context') } : {}),
24
+ createdAt,
25
+ expiresAt: validTimestamp(input.expiresAt, 'expiresAt'),
26
+ status: 'pending',
27
+ };
28
+ return input.kind === 'confirmation'
29
+ ? {
30
+ ...common,
31
+ kind: 'confirmation',
32
+ tool: input.tool,
33
+ arguments: cloneJson(input.arguments, 'arguments'),
34
+ ...(input.continuation !== undefined
35
+ ? { continuation: cloneJson(input.continuation, 'continuation') }
36
+ : {}),
37
+ ...(input.review !== undefined ? { review: cloneJson(input.review, 'review') } : {}),
38
+ }
39
+ : {
40
+ ...common,
41
+ kind: 'input',
42
+ tool: input.tool,
43
+ message: input.message,
44
+ requestedSchema: cloneJson(input.requestedSchema, 'requestedSchema'),
45
+ continuation: cloneJson(input.continuation, 'continuation'),
46
+ };
47
+ }
48
+ export function executingInteraction(interaction, claimedAt) {
49
+ if (interaction.status !== 'pending')
50
+ throw new Error('only pending interactions can be claimed');
51
+ return cloneInteraction({
52
+ ...interaction,
53
+ status: 'executing',
54
+ claimedAt: claimedAt.toISOString(),
55
+ });
56
+ }
57
+ export function completedInteraction(interaction, completion, completedAt) {
58
+ if (completion.status === 'succeeded' || completion.status === 'failed') {
59
+ if (interaction.status !== 'executing') {
60
+ throw new Error('successful or failed completion requires an executing interaction');
61
+ }
62
+ const publicOutcome = normalizePublicOutcome(completion.publicOutcome);
63
+ return scrubTerminalInteraction({
64
+ ...interaction,
65
+ status: completion.status,
66
+ completedAt: completedAt.toISOString(),
67
+ publicOutcome,
68
+ });
69
+ }
70
+ if (interaction.status !== 'pending') {
71
+ throw new Error('decline or cancel completion requires a pending interaction');
72
+ }
73
+ const publicOutcome = normalizePublicOutcome(completion.publicOutcome ?? defaultPublicOutcome(completion.status));
74
+ return scrubTerminalInteraction({
75
+ ...interaction,
76
+ status: completion.status,
77
+ completedAt: completedAt.toISOString(),
78
+ publicOutcome,
79
+ });
80
+ }
81
+ export function transitionedInteractions(interaction, input, nextId) {
82
+ if (interaction.status !== 'executing') {
83
+ throw new Error('interaction transition requires an executing interaction');
84
+ }
85
+ const nextInput = {
86
+ ...input.next,
87
+ sessionId: interaction.sessionId,
88
+ deploymentId: interaction.deploymentId,
89
+ createdAt: input.now.toISOString(),
90
+ };
91
+ const next = nextInput.kind === 'confirmation'
92
+ ? createPendingInteraction(nextId, nextInput)
93
+ : createPendingInteraction(nextId, nextInput);
94
+ const details = Object.fromEntries(Object.entries(input.publicOutcome.details ?? {}).filter(([key]) => key !== 'nextInteractionId'));
95
+ const completed = completedInteraction(interaction, {
96
+ status: 'succeeded',
97
+ publicOutcome: {
98
+ ...input.publicOutcome,
99
+ // Reserve the replay link and put it first so bounded normalization cannot omit it.
100
+ details: { nextInteractionId: next.id, ...details },
101
+ },
102
+ }, input.now);
103
+ if (completed.status !== 'succeeded') {
104
+ throw new Error('assistant interaction transition did not produce a succeeded parent');
105
+ }
106
+ return { interaction: completed, next };
107
+ }
108
+ export function isTerminalInteraction(interaction) {
109
+ return (interaction.status === 'succeeded' ||
110
+ interaction.status === 'failed' ||
111
+ interaction.status === 'declined' ||
112
+ interaction.status === 'cancelled');
113
+ }
114
+ /**
115
+ * Pending proposals expire at their decision deadline. Executing/unknown work keeps a tombstone, and a
116
+ * terminal public outcome remains replayable for a bounded reconciliation window after completion.
117
+ */
118
+ export function isPrunableInteraction(interaction, now) {
119
+ if (interaction.status === 'executing')
120
+ return false;
121
+ if (interaction.status === 'pending')
122
+ return Date.parse(interaction.expiresAt) <= now.getTime();
123
+ return (Date.parse(interaction.completedAt) + ASSISTANT_INTERACTION_OUTCOME_RETENTION_MS <=
124
+ now.getTime());
125
+ }
126
+ export function shouldExpireStrandedExecutingInteraction(interaction, now) {
127
+ return (interaction.status === 'executing' &&
128
+ interaction.payloadScrubbedAt === undefined &&
129
+ Date.parse(interaction.claimedAt) + ASSISTANT_INTERACTION_EXECUTING_GRACE_MS <= now.getTime());
130
+ }
131
+ /** Preserve a non-retryable unknown outcome without retaining its exact private payload. */
132
+ export function expireStrandedExecutingInteraction(interaction, scrubbedAt) {
133
+ const completedAt = scrubbedAt.toISOString();
134
+ return scrubTerminalInteraction({
135
+ ...interaction,
136
+ status: 'failed',
137
+ completedAt,
138
+ publicOutcome: ASSISTANT_INTERACTION_UNKNOWN_OUTCOME,
139
+ });
140
+ }
141
+ /** Retain only replay-safe public state once no execution path needs the exact payload. */
142
+ function scrubTerminalInteraction(interaction) {
143
+ if (interaction.kind === 'confirmation') {
144
+ const { context: _context, payloadScrubbedAt: _payloadScrubbedAt, continuation: _continuation, review: _review, ...withoutPrivatePayload } = interaction;
145
+ return cloneInteraction({
146
+ ...withoutPrivatePayload,
147
+ arguments: null,
148
+ payloadScrubbedAt: interaction.completedAt,
149
+ });
150
+ }
151
+ const { context: _context, payloadScrubbedAt: _payloadScrubbedAt, ...withoutContext } = interaction;
152
+ return cloneInteraction({
153
+ ...withoutContext,
154
+ continuation: null,
155
+ payloadScrubbedAt: interaction.completedAt,
156
+ });
157
+ }
158
+ export function cloneInteraction(interaction) {
159
+ return cloneJson(interaction, 'interaction');
160
+ }
161
+ const MAX_PUBLIC_OUTCOME_CODE = 64;
162
+ const MAX_PUBLIC_OUTCOME_SUMMARY = 500;
163
+ const MAX_PUBLIC_OUTCOME_DETAILS = 16;
164
+ const MAX_PUBLIC_OUTCOME_DETAIL_STRING = 240;
165
+ const MAX_PUBLIC_OUTCOME_RESULT_BYTES = 16 * 1024;
166
+ const MAX_PUBLIC_OUTCOME_RESULT_DEPTH = 8;
167
+ const MAX_PUBLIC_OUTCOME_RESULT_ENTRIES = 128;
168
+ const MAX_PUBLIC_OUTCOME_RESULT_TOTAL_ENTRIES = 512;
169
+ const MAX_PUBLIC_OUTCOME_RESULT_STRING = 2_048;
170
+ const MAX_PUBLIC_OUTCOME_RESULT_KEY = 128;
171
+ const SAFE_DETAIL_KEY = /^[A-Za-z0-9_.-]{1,64}$/;
172
+ const UNSAFE_OBJECT_KEY = /^(?:__proto__|constructor|prototype)$/;
173
+ const SENSITIVE_KEY = /(?:authorization|bearer|token|refresh|secret|api[_-]?key|apikey|password|private[_-]?key|credential|cookie|set-cookie)/i;
174
+ const REDACTED = '[redacted]';
175
+ export function normalizePublicOutcome(input) {
176
+ const code = /^[A-Za-z0-9_.-]+$/.test(input.code)
177
+ ? input.code.slice(0, MAX_PUBLIC_OUTCOME_CODE)
178
+ : 'interaction_outcome';
179
+ const summary = redactString(input.summary, MAX_PUBLIC_OUTCOME_SUMMARY);
180
+ const details = {};
181
+ for (const [key, value] of Object.entries(input.details ?? {})) {
182
+ if (Object.keys(details).length >= MAX_PUBLIC_OUTCOME_DETAILS)
183
+ break;
184
+ if (!SAFE_DETAIL_KEY.test(key))
185
+ continue;
186
+ details[key] = SENSITIVE_KEY.test(key) ? REDACTED : normalizePublicScalar(value);
187
+ }
188
+ return {
189
+ code,
190
+ summary,
191
+ ...(Object.keys(details).length > 0 ? { details } : {}),
192
+ ...(input.result !== undefined ? { result: normalizePublicResult(input.result) } : {}),
193
+ };
194
+ }
195
+ function normalizePublicResult(value) {
196
+ const result = projectPublicResult(value, 0, {
197
+ remainingEntries: MAX_PUBLIC_OUTCOME_RESULT_TOTAL_ENTRIES,
198
+ ancestors: new WeakSet(),
199
+ });
200
+ const serialized = JSON.stringify(result);
201
+ if (new TextEncoder().encode(serialized).byteLength <= MAX_PUBLIC_OUTCOME_RESULT_BYTES) {
202
+ return result;
203
+ }
204
+ return { notice: '[result omitted: exceeds 16 KiB]' };
205
+ }
206
+ function projectPublicResult(value, depth, state) {
207
+ if (value === null || typeof value === 'boolean')
208
+ return value;
209
+ if (typeof value === 'number')
210
+ return Number.isFinite(value) ? value : REDACTED;
211
+ if (typeof value === 'string')
212
+ return redactString(value, MAX_PUBLIC_OUTCOME_RESULT_STRING);
213
+ if (typeof value !== 'object')
214
+ return REDACTED;
215
+ if (depth >= MAX_PUBLIC_OUTCOME_RESULT_DEPTH)
216
+ return '[truncated: maximum depth]';
217
+ if (state.ancestors.has(value))
218
+ return '[redacted: circular reference]';
219
+ state.ancestors.add(value);
220
+ if (Array.isArray(value)) {
221
+ const projected = [];
222
+ for (const item of value.slice(0, MAX_PUBLIC_OUTCOME_RESULT_ENTRIES)) {
223
+ if (state.remainingEntries <= 0) {
224
+ projected.push('[truncated: entry limit]');
225
+ break;
226
+ }
227
+ state.remainingEntries -= 1;
228
+ projected.push(projectPublicResult(item, depth + 1, state));
229
+ }
230
+ if (value.length > MAX_PUBLIC_OUTCOME_RESULT_ENTRIES) {
231
+ projected.push('[truncated: container entry limit]');
232
+ }
233
+ state.ancestors.delete(value);
234
+ return projected;
235
+ }
236
+ const projected = Object.create(null);
237
+ const entries = Object.entries(value);
238
+ for (const [rawKey, item] of entries.slice(0, MAX_PUBLIC_OUTCOME_RESULT_ENTRIES)) {
239
+ if (state.remainingEntries <= 0) {
240
+ projected.resultTruncated = '[truncated: entry limit]';
241
+ break;
242
+ }
243
+ state.remainingEntries -= 1;
244
+ const key = rawKey.slice(0, MAX_PUBLIC_OUTCOME_RESULT_KEY);
245
+ if (UNSAFE_OBJECT_KEY.test(key))
246
+ continue;
247
+ projected[key] = SENSITIVE_KEY.test(key)
248
+ ? REDACTED
249
+ : projectPublicResult(item, depth + 1, state);
250
+ }
251
+ if (entries.length > MAX_PUBLIC_OUTCOME_RESULT_ENTRIES) {
252
+ projected.resultTruncated = '[truncated: container entry limit]';
253
+ }
254
+ state.ancestors.delete(value);
255
+ return projected;
256
+ }
257
+ function normalizePublicScalar(value) {
258
+ if (value === null || typeof value === 'boolean')
259
+ return value;
260
+ if (typeof value === 'number')
261
+ return Number.isFinite(value) ? value : REDACTED;
262
+ if (typeof value === 'string')
263
+ return redactString(value, MAX_PUBLIC_OUTCOME_DETAIL_STRING);
264
+ return REDACTED;
265
+ }
266
+ function redactString(value, limit) {
267
+ return isCredentialShapedAssistantText(value) ? REDACTED : value.slice(0, limit);
268
+ }
269
+ function defaultPublicOutcome(status) {
270
+ return {
271
+ code: `interaction_${status}`,
272
+ summary: status === 'declined' ? 'Interaction declined.' : 'Interaction cancelled.',
273
+ };
274
+ }
275
+ function validTimestamp(value, field) {
276
+ if (!Number.isFinite(Date.parse(value)))
277
+ throw new RangeError(`invalid interaction ${field}`);
278
+ return new Date(value).toISOString();
279
+ }
280
+ function cloneJson(value, field) {
281
+ let serialized;
282
+ try {
283
+ serialized = JSON.stringify(value);
284
+ }
285
+ catch (error) {
286
+ throw new TypeError(`interaction ${field} must be JSON-serializable`, { cause: error });
287
+ }
288
+ if (serialized === undefined) {
289
+ throw new TypeError(`interaction ${field} must be JSON-serializable`);
290
+ }
291
+ return JSON.parse(serialized);
292
+ }
293
+ //# sourceMappingURL=assistant-interaction-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interaction-state.js","sourceRoot":"","sources":["../src/assistant-interaction-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { type RuntimeArtifact } from '@noodle-borg/compiler';
2
+ import type { CallerIdentity, ConfirmationPreparationResult, ExecuteDeps, InteractiveExecutionResult, InvocationContext, PreparedToolContinuation, ToolContinuation, ToolPreparationContinuation } from '@noodle-borg/runtime';
3
+ import { type AssistantInteractionRecord, type AssistantInteractionTransitionNext, type AssistantPendingConfirmationInteractionRecord, type AssistantPendingInputInteractionRecord, type AssistantSessionRecord, type AssistantStore } from './assistant-store.js';
4
+ import type { AuditSink } from './store/audit.js';
5
+ export declare const ASSISTANT_INTERACTION_TTL_MS: number;
6
+ type InputRequired = Extract<InteractiveExecutionResult, {
7
+ readonly status: 'input_required';
8
+ }> | Extract<ConfirmationPreparationResult, {
9
+ readonly status: 'input_required';
10
+ }>;
11
+ export type AssistantToolDispatch = {
12
+ readonly kind: 'event';
13
+ readonly event: 'tool_proposed' | 'input_requested' | 'error';
14
+ readonly data: Readonly<Record<string, unknown>>;
15
+ } | {
16
+ readonly kind: 'tool_result';
17
+ readonly output: unknown;
18
+ };
19
+ /** Apply the same confirmation and suspend/resume policy to one model-proposed tool call. */
20
+ export declare function dispatchAssistantTool(input: {
21
+ readonly artifact: RuntimeArtifact;
22
+ readonly tool: RuntimeArtifact['tools'][number];
23
+ readonly arguments: unknown;
24
+ readonly executeDeps: ExecuteDeps;
25
+ readonly caller: CallerIdentity;
26
+ readonly context: InvocationContext;
27
+ readonly session: AssistantSessionRecord;
28
+ readonly store: AssistantStore;
29
+ readonly audit: AuditSink;
30
+ readonly now: () => Date;
31
+ }): Promise<AssistantToolDispatch>;
32
+ /** Persist a complete, reviewable proposal and its server-only prepared execution state. */
33
+ export declare function createAssistantConfirmationInteraction(input: {
34
+ readonly store: AssistantStore;
35
+ readonly audit: AuditSink;
36
+ readonly session: AssistantSessionRecord;
37
+ readonly context: InvocationContext;
38
+ readonly tool: string;
39
+ readonly arguments: unknown;
40
+ readonly review: unknown;
41
+ readonly continuation: PreparedToolContinuation;
42
+ readonly now: Date;
43
+ }): Promise<AssistantPendingConfirmationInteractionRecord>;
44
+ export declare function assistantConfirmationTransition(input: {
45
+ readonly context: InvocationContext;
46
+ readonly tool: string;
47
+ readonly arguments: unknown;
48
+ readonly review: unknown;
49
+ readonly continuation: PreparedToolContinuation;
50
+ readonly now: Date;
51
+ }): Extract<AssistantInteractionTransitionNext, {
52
+ readonly kind: 'confirmation';
53
+ }>;
54
+ export declare function assistantConfirmationProposalData(interaction: AssistantPendingConfirmationInteractionRecord): Readonly<Record<string, unknown>>;
55
+ /** Persist an opaque input interaction and audit only scalar metadata about the suspension. */
56
+ export declare function createAssistantInputInteraction(input: {
57
+ readonly store: AssistantStore;
58
+ readonly audit: AuditSink;
59
+ readonly session: AssistantSessionRecord;
60
+ readonly context: InvocationContext;
61
+ readonly required: InputRequired;
62
+ readonly now: Date;
63
+ }): Promise<AssistantPendingInputInteractionRecord>;
64
+ export declare function assistantInputTransition(input: {
65
+ readonly context: InvocationContext;
66
+ readonly required: InputRequired;
67
+ readonly now: Date;
68
+ }): Extract<AssistantInteractionTransitionNext, {
69
+ readonly kind: 'input';
70
+ }>;
71
+ /** Emit one tenant-scoped, scalar-only interaction audit record. */
72
+ export declare function auditAssistantInteraction(input: {
73
+ readonly audit: AuditSink;
74
+ readonly session: AssistantSessionRecord;
75
+ readonly interaction: AssistantInteractionRecord;
76
+ readonly eventType: 'assistant.interaction.proposed' | 'assistant.interaction.resolved' | 'assistant.interaction.execution';
77
+ readonly decision: 'allow' | 'deny';
78
+ readonly httpStatus: number;
79
+ readonly status: string;
80
+ readonly action?: 'accept' | 'decline' | 'cancel';
81
+ readonly reasonCode?: string;
82
+ }): Promise<void>;
83
+ export declare function assistantInteractionTool(interaction: AssistantInteractionRecord): string | undefined;
84
+ /** The store is the only trust boundary allowed to deserialize this runtime continuation. */
85
+ export declare function assistantToolContinuation(interaction: Extract<AssistantInteractionRecord, {
86
+ readonly kind: 'input';
87
+ }>): ToolContinuation | ToolPreparationContinuation;
88
+ export declare function assistantPreparedToolContinuation(interaction: Extract<AssistantInteractionRecord, {
89
+ readonly kind: 'confirmation';
90
+ }>): PreparedToolContinuation | undefined;
91
+ export {};
92
+ //# sourceMappingURL=assistant-interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interactive.d.ts","sourceRoot":"","sources":["../src/assistant-interactive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,219 @@
1
+ import { requiresToolConfirmation } from '@noodle-borg/compiler';
2
+ import { executeToolInteractive, prepareToolForConfirmation } from '@noodle-borg/runtime';
3
+ import { assistantPreparedArgumentReview, assistantSafeOutput } from './assistant-presentation.js';
4
+ import { AssistantInteractionCapacityError, } from './assistant-store.js';
5
+ export const ASSISTANT_INTERACTION_TTL_MS = 10 * 60 * 1000;
6
+ /** Apply the same confirmation and suspend/resume policy to one model-proposed tool call. */
7
+ export async function dispatchAssistantTool(input) {
8
+ const executeDeps = {
9
+ ...input.executeDeps,
10
+ caller: input.caller,
11
+ context: input.context,
12
+ };
13
+ if (requiresToolConfirmation(input.tool.annotations)) {
14
+ const prepared = await prepareToolForConfirmation(input.artifact, input.tool.name, input.arguments, executeDeps);
15
+ try {
16
+ if (prepared.status === 'input_required') {
17
+ const interaction = await createAssistantInputInteraction({
18
+ store: input.store,
19
+ audit: input.audit,
20
+ session: input.session,
21
+ context: input.context,
22
+ required: prepared,
23
+ now: input.now(),
24
+ });
25
+ return { kind: 'event', event: 'input_requested', data: inputRequestData(interaction) };
26
+ }
27
+ if (prepared.status === 'confirmation_required') {
28
+ const review = assistantPreparedArgumentReview(input.tool.inputSchema, prepared.review);
29
+ if (!review.ok) {
30
+ return {
31
+ kind: 'event',
32
+ event: 'error',
33
+ data: { code: review.code, retryable: false },
34
+ };
35
+ }
36
+ const interaction = await createAssistantConfirmationInteraction({
37
+ store: input.store,
38
+ audit: input.audit,
39
+ session: input.session,
40
+ context: input.context,
41
+ tool: input.tool.name,
42
+ arguments: input.arguments,
43
+ review: review.value,
44
+ continuation: prepared.continuation,
45
+ now: input.now(),
46
+ });
47
+ return {
48
+ kind: 'event',
49
+ event: 'tool_proposed',
50
+ data: assistantConfirmationProposalData(interaction),
51
+ };
52
+ }
53
+ return {
54
+ kind: 'event',
55
+ event: 'error',
56
+ data: {
57
+ code: prepared.status === 'failed' ? prepared.error.code : `interaction_${prepared.action}`,
58
+ retryable: false,
59
+ },
60
+ };
61
+ }
62
+ catch (error) {
63
+ if (error instanceof AssistantInteractionCapacityError) {
64
+ return {
65
+ kind: 'event',
66
+ event: 'error',
67
+ data: { code: error.code, retryable: false },
68
+ };
69
+ }
70
+ throw error;
71
+ }
72
+ }
73
+ const result = await executeToolInteractive(input.artifact, input.tool.name, input.arguments, executeDeps);
74
+ if (result.status === 'input_required') {
75
+ try {
76
+ const interaction = await createAssistantInputInteraction({
77
+ store: input.store,
78
+ audit: input.audit,
79
+ session: input.session,
80
+ context: input.context,
81
+ required: result,
82
+ now: input.now(),
83
+ });
84
+ return { kind: 'event', event: 'input_requested', data: inputRequestData(interaction) };
85
+ }
86
+ catch (error) {
87
+ if (error instanceof AssistantInteractionCapacityError) {
88
+ return {
89
+ kind: 'event',
90
+ event: 'error',
91
+ data: { code: error.code, retryable: false },
92
+ };
93
+ }
94
+ throw error;
95
+ }
96
+ }
97
+ return {
98
+ kind: 'tool_result',
99
+ output: result.status === 'completed'
100
+ ? assistantSafeOutput(input.tool.outputSchema, result.output)
101
+ : result.status === 'failed'
102
+ ? { error: result.error.code }
103
+ : { error: `interaction_${result.action}` },
104
+ };
105
+ }
106
+ /** Persist a complete, reviewable proposal and its server-only prepared execution state. */
107
+ export async function createAssistantConfirmationInteraction(input) {
108
+ const next = assistantConfirmationTransition(input);
109
+ const interaction = await input.store.createInteraction({
110
+ ...next,
111
+ sessionId: input.session.id,
112
+ deploymentId: input.session.deploymentId,
113
+ createdAt: input.now.toISOString(),
114
+ });
115
+ await auditAssistantInteraction({
116
+ audit: input.audit,
117
+ session: input.session,
118
+ interaction,
119
+ eventType: 'assistant.interaction.proposed',
120
+ decision: 'allow',
121
+ httpStatus: 201,
122
+ status: 'pending',
123
+ });
124
+ return interaction;
125
+ }
126
+ export function assistantConfirmationTransition(input) {
127
+ return {
128
+ kind: 'confirmation',
129
+ tool: input.tool,
130
+ arguments: input.arguments,
131
+ review: input.review,
132
+ continuation: input.continuation,
133
+ context: input.context,
134
+ expiresAt: new Date(input.now.getTime() + ASSISTANT_INTERACTION_TTL_MS).toISOString(),
135
+ };
136
+ }
137
+ export function assistantConfirmationProposalData(interaction) {
138
+ return {
139
+ id: interaction.id,
140
+ tool: interaction.tool,
141
+ arguments: interaction.review ?? {},
142
+ expiresAt: interaction.expiresAt,
143
+ requiresConfirmation: true,
144
+ };
145
+ }
146
+ function inputRequestData(interaction) {
147
+ return {
148
+ id: interaction.id,
149
+ message: interaction.message,
150
+ requestedSchema: interaction.requestedSchema,
151
+ expiresAt: interaction.expiresAt,
152
+ };
153
+ }
154
+ /** Persist an opaque input interaction and audit only scalar metadata about the suspension. */
155
+ export async function createAssistantInputInteraction(input) {
156
+ const next = assistantInputTransition(input);
157
+ const interaction = await input.store.createInteraction({
158
+ ...next,
159
+ sessionId: input.session.id,
160
+ deploymentId: input.session.deploymentId,
161
+ createdAt: input.now.toISOString(),
162
+ });
163
+ await auditAssistantInteraction({
164
+ audit: input.audit,
165
+ session: input.session,
166
+ interaction,
167
+ eventType: 'assistant.interaction.proposed',
168
+ decision: 'allow',
169
+ httpStatus: 201,
170
+ status: 'input_requested',
171
+ });
172
+ return interaction;
173
+ }
174
+ export function assistantInputTransition(input) {
175
+ return {
176
+ kind: 'input',
177
+ tool: input.required.continuation.toolName,
178
+ message: input.required.request.message,
179
+ requestedSchema: input.required.request.requestedSchema,
180
+ continuation: input.required.continuation,
181
+ context: input.context,
182
+ expiresAt: new Date(input.now.getTime() + ASSISTANT_INTERACTION_TTL_MS).toISOString(),
183
+ };
184
+ }
185
+ /** Emit one tenant-scoped, scalar-only interaction audit record. */
186
+ export async function auditAssistantInteraction(input) {
187
+ const tool = assistantInteractionTool(input.interaction);
188
+ await input.audit.emit({
189
+ eventType: input.eventType,
190
+ org: input.session.tenant.org,
191
+ app: input.session.tenant.app,
192
+ env: input.session.tenant.env,
193
+ deploymentId: input.interaction.deploymentId,
194
+ actorSubject: input.session.caller.subject,
195
+ ...(input.session.caller.email ? { actorEmail: input.session.caller.email } : {}),
196
+ decision: input.decision,
197
+ status: input.httpStatus,
198
+ ...(input.reasonCode ? { reasonCode: input.reasonCode } : {}),
199
+ details: {
200
+ interactionId: input.interaction.id,
201
+ kind: input.interaction.kind,
202
+ ...(tool ? { tool } : {}),
203
+ ...(input.action ? { action: input.action } : {}),
204
+ status: input.status,
205
+ },
206
+ });
207
+ }
208
+ export function assistantInteractionTool(interaction) {
209
+ return interaction.tool;
210
+ }
211
+ /** The store is the only trust boundary allowed to deserialize this runtime continuation. */
212
+ export function assistantToolContinuation(interaction) {
213
+ return interaction.continuation;
214
+ }
215
+ export function assistantPreparedToolContinuation(interaction) {
216
+ const continuation = interaction.continuation;
217
+ return continuation?.kind === 'prepared_confirmation' ? continuation : undefined;
218
+ }
219
+ //# sourceMappingURL=assistant-interactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-interactive.js","sourceRoot":"","sources":["../src/assistant-interactive.ts"],"names":[],"mappings":"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"}