@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 +1 @@
1
- {"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAIA,8FAA8F;AAC9F,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAuDzC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAgBxC,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAyChD,CAAC;AAEF,oGAAoG;AACpG,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAWxC,CAAC"}
1
+ {"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAIA,8FAA8F;AAC9F,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAuDzC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAgBxC,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EA8ChD,CAAC;AAEF,oGAAoG;AACpG,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAaxC,CAAC"}
@@ -82,6 +82,7 @@ export const COMPILE_ERROR_CODES = [
82
82
  'invalid_shape',
83
83
  'invalid_name',
84
84
  'duplicate_name',
85
+ 'reserved_name',
85
86
  'unsupported_manifest_version',
86
87
  'reserved_for_future_version',
87
88
  'invalid_operation_ref',
@@ -99,7 +100,11 @@ export const COMPILE_ERROR_CODES = [
99
100
  'self_step_ref',
100
101
  'duplicate_step_id',
101
102
  'invalid_fulfilment',
103
+ 'invalid_elicitation_schema',
104
+ 'invalid_elicitation_flow',
105
+ 'invalid_confirmation_flow',
102
106
  'arg_type_mismatch',
107
+ 'ambient_context_action',
103
108
  'duplicate_resource',
104
109
  'duplicate_prompt',
105
110
  'duplicate_resource_uri',
@@ -129,6 +134,8 @@ export const REACT_HOOKS = [
129
134
  'useRequestDisplayMode',
130
135
  'useOpenExternal',
131
136
  'useSendFollowUpMessage',
137
+ 'useUpdateModelContext',
138
+ 'useWidgetLifecycle',
132
139
  'useAppFlow',
133
140
  'useHandoff',
134
141
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,6EAA6E;AAC7E,iGAAiG;AAEjG,8FAA8F;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,WAAW;IACX,SAAS;IACT,KAAK;IACL,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,aAAa;IACb,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,WAAW;CACZ,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,aAAa;IACb,OAAO;IACP,WAAW;IACX,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,MAAM;IACN,GAAG;CACJ,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,kBAAkB;IAClB,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,8BAA8B;IAC9B,6BAA6B;IAC7B,uBAAuB;IACvB,cAAc;IACd,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,2BAA2B;IAC3B,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;IACxB,0BAA0B;IAC1B,kBAAkB;IAClB,qBAAqB;IACrB,4BAA4B;IAC5B,uBAAuB;IACvB,wBAAwB;IACxB,6BAA6B;IAC7B,eAAe;IACf,gCAAgC;IAChC,oBAAoB;IACpB,yBAAyB;IACzB,0BAA0B;IAC1B,mBAAmB;IACnB,wBAAwB;IACxB,cAAc;CACf,CAAC;AAEF,oGAAoG;AACpG,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,aAAa;IACb,aAAa;IACb,cAAc;IACd,WAAW;IACX,aAAa;IACb,uBAAuB;IACvB,iBAAiB;IACjB,wBAAwB;IACxB,YAAY;IACZ,YAAY;CACb,CAAC"}
1
+ {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/generated/surface.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,6EAA6E;AAC7E,iGAAiG;AAEjG,8FAA8F;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,WAAW;IACX,SAAS;IACT,KAAK;IACL,UAAU;IACV,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,aAAa;IACb,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,WAAW;CACZ,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,aAAa;IACb,OAAO;IACP,WAAW;IACX,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,MAAM;IACN,GAAG;CACJ,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,kBAAkB;IAClB,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,8BAA8B;IAC9B,6BAA6B;IAC7B,uBAAuB;IACvB,cAAc;IACd,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,2BAA2B;IAC3B,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,4BAA4B;IAC5B,0BAA0B;IAC1B,2BAA2B;IAC3B,mBAAmB;IACnB,wBAAwB;IACxB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;IACxB,0BAA0B;IAC1B,kBAAkB;IAClB,qBAAqB;IACrB,4BAA4B;IAC5B,uBAAuB;IACvB,wBAAwB;IACxB,6BAA6B;IAC7B,eAAe;IACf,gCAAgC;IAChC,oBAAoB;IACpB,yBAAyB;IACzB,0BAA0B;IAC1B,mBAAmB;IACnB,wBAAwB;IACxB,cAAc;CACf,CAAC;AAEF,oGAAoG;AACpG,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,aAAa;IACb,aAAa;IACb,cAAc;IACd,WAAW;IACX,aAAa;IACb,uBAAuB;IACvB,iBAAiB;IACjB,wBAAwB;IACxB,uBAAuB;IACvB,oBAAoB;IACpB,YAAY;IACZ,YAAY;CACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-authoring-refs.d.ts","sourceRoot":"","sources":["../src/skill-authoring-refs.ts"],"names":[],"mappings":"AAgBA,wBAAgB,gCAAgC,IAAI,MAAM,CAwRzD;AAWD,wBAAgB,6BAA6B,IAAI,MAAM,CA2NtD;AA2CD,wBAAgB,uBAAuB,IAAI,MAAM,CA0DhD"}
1
+ {"version":3,"file":"skill-authoring-refs.d.ts","sourceRoot":"","sources":["../src/skill-authoring-refs.ts"],"names":[],"mappings":"AAgBA,wBAAgB,gCAAgC,IAAI,MAAM,CAqUzD;AAWD,wBAAgB,6BAA6B,IAAI,MAAM,CAkPtD;AA2CD,wBAAgB,uBAAuB,IAAI,MAAM,CA0DhD"}
@@ -25,6 +25,7 @@ export function renderAuthoringWorkflowReference() {
25
25
  '- HTTP connector example (full server)',
26
26
  '- Delegated downstream auth (call your API as the signed-in user)',
27
27
  '- Design tools for the model',
28
+ '- Invocation context',
28
29
  '- Compute connector example',
29
30
  '- Tests',
30
31
  '- Secrets and variables',
@@ -137,7 +138,7 @@ export function renderAuthoringWorkflowReference() {
137
138
  '}',
138
139
  '```',
139
140
  '',
140
- 'Inside tools, `${user.id}` / `${user.email}` / `${user.name}` / `${user.claims.*}` stay available as verified context; the delegated credential is what makes the *downstream call itself* run as that user.',
141
+ 'Inside tools, `${user.subject}` / `${user.email}` / `${user.name}` / `${user.locale}` / `${user.timeZone}` / `${user.claims.*}` stay available as verified context; the delegated credential is what makes the *downstream call itself* run as that user.',
141
142
  '',
142
143
  '### The exchange request your endpoint receives',
143
144
  '',
@@ -246,6 +247,50 @@ export function renderAuthoringWorkflowReference() {
246
247
  '',
247
248
  'The model never sees a task id from the user; `find_tasks` returns `{ id, title }` summaries it can pick from, then `complete_task` acts by id. Keep write actions (`complete_task`) separate and explicitly described so the host can gate them.',
248
249
  '',
250
+ '## Invocation context',
251
+ '',
252
+ 'Every executable invocation receives one immutable server-authoritative temporal snapshot. Canonical TypeScript `server()` authoring emits an empty context declaration even when you omit the option, so MCP clients get the reserved read-only `noodle_context` temporal tool with zero setup. Use `server(..., { context })` only to add locale/time-zone defaults and trusted ambient facts that every surface should resolve the same way. Tools, resources, prompts, and the embedded assistant consume the same snapshot; do not create a host-specific date tool.',
253
+ '',
254
+ '```ts',
255
+ 'context: {',
256
+ " defaults: { locale: 'en-GB', timeZone: 'Europe/London' },",
257
+ ' ambient: {',
258
+ ' output: z.object({ defaultTeamId: z.string(), holidays: z.array(z.string()) }),',
259
+ ' fulfil: ({ user, context, connectors }) => {',
260
+ ' const calendar = connectors.people.getCalendar({',
261
+ ' subject: user.subject,',
262
+ ' asOf: context.temporal.instant,',
263
+ ' });',
264
+ ' return { defaultTeamId: calendar.default_team_id, holidays: calendar.holidays };',
265
+ ' },',
266
+ ' },',
267
+ '},',
268
+ '```',
269
+ '',
270
+ 'Ambient providers are recorded as fulfilment data at author time, may call read-only connector operations only, and have a declared output schema. Later fulfilments read `${context.temporal.localDate}`, `${context.temporal.timeZone}`, `${context.ambient.defaultTeamId}`, and `${context.ambientStatus}`. If ambient resolution fails, the status is `unavailable`; never invent the missing business facts. TypeScript-authored servers always reserve `noodle_context`; only a raw Core-v1 manifest that omits `server.context` retains that tool name. Ambient/model-visible context is capped at 16 KiB serialized JSON, depth 8, and 128 entries per container; credential-shaped keys are rejected.',
271
+ '',
272
+ '## Ask for structured missing input',
273
+ '',
274
+ 'Use `ctx.elicit` inside a tool fulfilment when execution needs one bounded value from the user. The call records an `elicit` flow step and returns its symbolic scope; it does not prompt at author time:',
275
+ '',
276
+ '```ts',
277
+ "tool('prepare_time_off', {",
278
+ " description: 'Resolve a time-off request before proposing the write.',",
279
+ ' input: z.object({ start: z.string(), end: z.string() }),',
280
+ ' output: z.object({ start: z.string(), end: z.string(), teamId: z.string() }),',
281
+ ' fulfil: ({ input, elicit }) => {',
282
+ ' const answer = elicit({',
283
+ " id: 'choose_team',",
284
+ " message: 'Which team should receive this request?',",
285
+ " input: z.object({ teamId: z.string().describe('Team') }),",
286
+ ' });',
287
+ ' return { start: input.start, end: input.end, teamId: answer.teamId };',
288
+ ' },',
289
+ '});',
290
+ '```',
291
+ '',
292
+ 'Use a stable lowercase/number/underscore id and a flat form of string/number/integer/boolean, string choices or multi-select, with optional `email`, `uri`, `date`, or `date-time` formats. Nested objects and credential-shaped fields fail with `invalid_elicitation_schema`. Every interactive flow must place all `ctx.elicit` calls before its first connector operation or compilation fails with `invalid_elicitation_flow`. Embedded/headless clients receive `input_requested`; bidirectional MCP transports map the primitive to standard form `elicitation/create`. An adapter that cannot carry the request fails before executing the tool. Accept validates and resumes without rerunning completed steps; invalid assistant content returns `arg_invalid` with the same interaction still pending for correction; decline/cancel stop. Elicitation gathers missing input and does not replace confirmation for a subsequent write. In a flow marked `confirm: true`, every eligible `input_requested` precedes `tool_proposed`; the final proposal reviews original tool input, elicited values, and the sole exact connector version/operation/resolved arguments. Accept is bound to that action and only then may execution start. A confirmable flow may contain at most one connector operation or compilation fails with `invalid_confirmation_flow`. MCP uses a final standard form-elicitation confirmation on capable bidirectional transports and fails closed otherwise. At the manifest/runtime boundary and in TypeScript action helpers, omitted or `false` executes directly; action, destructive, and open-world hints alone never gate execution. `annotations.action({ confirm: false })` is equivalent to omission, while `annotations.action({ confirm: true })` explicitly enables confirmation.',
293
+ '',
249
294
  '## Compute connector example',
250
295
  '',
251
296
  '```ts',
@@ -336,7 +381,7 @@ export function renderWidgetsAndAppsReference() {
336
381
  '',
337
382
  mdTable(['Hook', 'Use for'], hookRows),
338
383
  '',
339
- 'Bind interactive elements to tools (`useCallTool("place_order")`), drive named views with `useAppFlow(...)`, open server-created handoffs with `useHandoff()`, and annotate model-facing context with `data-llm`. Use `createViewStore("key", initial)` for multi-component widget state such as carts, filters, or drafts. Use the domain-neutral React components from `@noodleseed/one/react` (`AppShell`, `ShellNav`, `ViewStack`, `AsyncBoundary`, `ActionBar`, `Field`, `QuantityStepper`, `ChoiceGroup`, `HandoffButton`, and related state components) for rich apps before inventing local shell/control scaffolding. Adapt to the host with `useLayout()` — style for both `theme` values, and keep the inline `displayMode` compact (content fits the space; no internal scrolling). Trigger `useOpenExternal()`, `useHandoff()`, and `useSendFollowUpMessage()` only from explicit user actions. A raw `html` escape hatch exists for self-contained widgets (declarative `data-bind`/`data-action`; no inline `<script>`).',
384
+ 'Bind interactive elements to tools (`useCallTool("place_order")`), drive named views with `useAppFlow(...)`, open server-created handoffs with `useHandoff()`, and publish one compact, safe, cohesive snapshot with `useUpdateModelContext()` when `useLayout().supports?.modelContext` is true. Every model-context or lifecycle publication replaces the prior snapshot rather than merging fields, so include everything the model should still know. Calling `useWidgetLifecycle("name")` automatically publishes `mounted`, listens for host `cancelled` and `dismissed`, and returns a publisher for author-owned `submitted` or app-specific milestones; `mounted` is not proof that the host presented pixels. Both hooks use the standard MCP Apps model-context channel, not a host-specific API. These updates affect future model context but do not start a model turn. When an explicit user submit/cancel should receive an immediate reply, also call `useSendFollowUpMessage()` from that user action. `data-llm` may remain a DOM inspection hint, but it is not the bidirectional model-state contract. Use `createViewStore("key", initial)` for multi-component widget state such as carts, filters, or drafts. Use the domain-neutral React components from `@noodleseed/one/react` (`AppShell`, `ShellNav`, `ViewStack`, `AsyncBoundary`, `ActionBar`, `Field`, `QuantityStepper`, `ChoiceGroup`, `HandoffButton`, and related state components) for rich apps before inventing local shell/control scaffolding. Adapt to the host with `useLayout()` — style for both `theme` values, and keep the inline `displayMode` compact (content fits the space; no internal scrolling). Trigger `useOpenExternal()`, `useHandoff()`, and `useSendFollowUpMessage()` only from explicit user actions. A raw `html` escape hatch exists for self-contained widgets (declarative `data-bind`/`data-action`; no inline `<script>`).',
340
385
  '',
341
386
  '## Worked widget recipe',
342
387
  '',
@@ -344,14 +389,15 @@ export function renderWidgetsAndAppsReference() {
344
389
  '',
345
390
  '### 1. The view component',
346
391
  '',
347
- 'Author React. `generateHelpers<ServerDefinition>()` (from `@noodleseed/one/react`) returns the typed host hooks: read the tool result with `useToolInfo`, call a widget-only helper with `useCallTool`, keep local UI state that survives re-render with `useViewState`, open an allowlisted link with `useOpenExternal`, and mirror model-facing context back to the model as text with `data-llm`.',
392
+ 'Author React. `generateHelpers<ServerDefinition>()` (from `@noodleseed/one/react`) returns the typed host hooks: read the tool result with `useToolInfo`, call a widget-only helper with `useCallTool`, keep local UI state that survives re-render with `useViewState`, open an allowlisted link with `useOpenExternal`, and publish cohesive model-context snapshots plus author-owned lifecycle milestones.',
348
393
  '',
349
394
  '```tsx',
395
+ "import { useEffect } from 'react';",
350
396
  "import type { ServerDefinition } from '@noodleseed/one';",
351
397
  "import { Action, ActionBar, AsyncBoundary, Feedback, Field, Flow, Frame, Region, Select, generateHelpers } from '@noodleseed/one/react';",
352
398
  '',
353
399
  '// One call wires the typed host bridge; destructure only the hooks this view uses.',
354
- 'const { useToolInfo, useCallTool, useViewState, useOpenExternal } =',
400
+ 'const { useToolInfo, useCallTool, useViewState, useLayout, useOpenExternal, useSendFollowUpMessage, useUpdateModelContext, useWidgetLifecycle } =',
355
401
  ' generateHelpers<ServerDefinition>();',
356
402
  '',
357
403
  'type OrderResult = {',
@@ -364,14 +410,36 @@ export function renderWidgetsAndAppsReference() {
364
410
  'export default function OrderStatus() {',
365
411
  " const shown = useToolInfo('show_order').structuredContent as OrderResult | undefined;",
366
412
  " const placeOrder = useCallTool('place_order'); // calls the widget-only helper tool",
413
+ ' const { supports } = useLayout();',
367
414
  ' const openExternal = useOpenExternal();',
415
+ ' const sendFollowUpMessage = useSendFollowUpMessage();',
416
+ ' const updateModelContext = useUpdateModelContext();',
417
+ " const publishLifecycle = useWidgetLifecycle('pickup-order');",
368
418
  " const [item, setItem] = useViewState('item', shown?.item ?? 'falafel_wrap'); // survives re-render",
369
419
  ' const confirmed = placeOrder.data?.structuredContent as { readonly status?: string } | undefined;',
370
420
  ' const total = shown?.total ?? 0;',
371
421
  " const checkoutUrl = shown?.checkoutUrl ?? '';",
372
422
  '',
423
+ ' useEffect(() => {',
424
+ ' if (!supports?.modelContext) return;',
425
+ ' void updateModelContext({',
426
+ " content: [{ type: 'text', text: `Pickup order: ${item}, total ${total}` }],",
427
+ " structuredContent: { widget: { name: 'pickup-order', lifecycle: 'active' }, order: { item, total } },",
428
+ ' });',
429
+ ' }, [item, supports?.modelContext, total, updateModelContext]);',
430
+ '',
431
+ ' async function submitOrder() {',
432
+ " await placeOrder.callTool({ customer: shown?.customer ?? 'Guest', item });",
433
+ ' if (supports?.modelContext) {',
434
+ " await publishLifecycle('submitted', { surface: 'order', item, total, status: 'submitted' });",
435
+ ' }',
436
+ ' if (supports?.followUpMessage) {',
437
+ ' await sendFollowUpMessage({ prompt: `The pickup order was submitted for ${item}. Confirm the result.` });',
438
+ ' }',
439
+ ' }',
440
+ '',
373
441
  ' return (',
374
- ' // data-llm mirrors the visible state back to the model as text context.',
442
+ ' // data-llm is an inspection hint; useUpdateModelContext above is the model-visible channel.',
375
443
  ' <Frame title="Pickup order" displayMode="auto" data-llm={`Pickup order for ${shown?.customer ?? \'Guest\'}: ${item}, total ${total}`}>',
376
444
  ' <Flow variant="stack">',
377
445
  ' <AsyncBoundary state={placeOrder} loading="Placing order…" error={(error) => error.message}>',
@@ -387,7 +455,7 @@ export function renderWidgetsAndAppsReference() {
387
455
  ' {confirmed?.status ? <Feedback status="success">{confirmed.status}</Feedback> : null}',
388
456
  ' <ActionBar>',
389
457
  ' <Action variant="primary" pending={placeOrder.isPending} pendingLabel="Placing…"',
390
- " onClick={() => placeOrder.callTool({ customer: shown?.customer ?? 'Guest', item })}",
458
+ ' onClick={submitOrder}',
391
459
  ' >',
392
460
  ' Place order',
393
461
  ' </Action>',
@@ -455,8 +523,8 @@ export function renderWidgetsAndAppsReference() {
455
523
  " tool('place_order', {",
456
524
  " visibility: ['app'],",
457
525
  " description: 'Place a pickup order from the widget.',",
458
- ' // A write that reaches the outside world `action()` (not read-only, not destructive).',
459
- ' annotations: annotations.action(),',
526
+ ' // Widget-mediated direct action: explicit false is equivalent to omitting confirmation.',
527
+ ' annotations: annotations.action({ confirm: false }),',
460
528
  " input: z.object({ customer: z.string().default('Guest'), item }),",
461
529
  ' output: z.object({ status: z.string(), item: z.string(), checkoutUrl: z.string() }),',
462
530
  ' fulfil: ({ input }) => ({',
@@ -1 +1 @@
1
- {"version":3,"file":"skill-authoring-refs.js","sourceRoot":"","sources":["../src/skill-authoring-refs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-authoring-refs.js","sourceRoot":"","sources":["../src/skill-authoring-refs.ts"],"names":[],"mappings":"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"}
@@ -180,7 +180,7 @@ const SDK_RECIPES = [
180
180
  '',
181
181
  '### Non-trivial tool: ctx connectors, annotations, visibility, async',
182
182
  '',
183
- "`ctx` is `{ input, user, connectors }`. Bind connectors with `use` on the server, then call one inside `fulfil` to record a step. `annotations.readOnly()` / `annotations.action()` set the tool hints; `visibility` defaults to `['model', 'app']` — set `['app']` to hide a helper from the model. `fulfil` may be `async` (the compiler awaits it while recording).",
183
+ "`ctx` is `{ input, user, connectors }`. Bind connectors with `use` on the server, then call one inside `fulfil` to record a step. `annotations.readOnly()` declares a closed-world safe read. TypeScript action helpers enforce confirmation only with `{ confirm: true }`; omitted or `false` executes directly, and action/destructive/open-world hints alone never enable the gate. `visibility` defaults to `['model', 'app']` — set `['app']` to hide a helper from the model. `fulfil` may be `async` (the compiler awaits it while recording).",
184
184
  '',
185
185
  '```ts',
186
186
  "import { annotations, connector, server, tool, z } from '@noodleseed/one';",
@@ -222,7 +222,7 @@ const SDK_RECIPES = [
222
222
  " description: 'Echo text back.',",
223
223
  ' input: z.object({ text: z.string() }),',
224
224
  ' output: z.object({ echo: z.string() }),',
225
- ' annotations: annotations.action(), // mutating / world-affecting hint',
225
+ ' annotations: annotations.action(), // world-affecting hint; add { confirm: true } to gate',
226
226
  ' // fulfil may be async — the compiler awaits it while recording the flow.',
227
227
  ' fulfil: async ({ input }) => ({ echo: input.text }),',
228
228
  ' }),',
@@ -1 +1 @@
1
- {"version":3,"file":"skill-content.js","sourceRoot":"","sources":["../src/skill-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-content.js","sourceRoot":"","sources":["../src/skill-content.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill-embedded-assistant-ref.d.ts","sourceRoot":"","sources":["../src/skill-embedded-assistant-ref.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,wBAAgB,gCAAgC,IAAI,MAAM,CAuNzD"}
1
+ {"version":3,"file":"skill-embedded-assistant-ref.d.ts","sourceRoot":"","sources":["../src/skill-embedded-assistant-ref.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,wBAAgB,gCAAgC,IAAI,MAAM,CAwSzD"}
@@ -11,9 +11,10 @@ export function renderEmbeddedAssistantReference() {
11
11
  '- Access modes and customer auth',
12
12
  '- Create the backend client',
13
13
  '- Integrate the customer backend',
14
+ '- Ground time and ambient facts',
14
15
  '- Verified session context (identity and claims)',
15
16
  '- The session response',
16
- '- Mount the browser component',
17
+ '- Choose a browser renderer',
17
18
  '- Toolchain requirements',
18
19
  '- Verify the boundary',
19
20
  '- Troubleshooting: symptom to diagnosis',
@@ -35,6 +36,7 @@ export function renderEmbeddedAssistantReference() {
35
36
  '',
36
37
  '```ts',
37
38
  'branding: { name: "Acme", accent: "#3157D5" },',
39
+ 'context: { defaults: { locale: "en-GB", timeZone: "Europe/London" } },',
38
40
  'assistant: embeddedAssistant({',
39
41
  ' model: openAICompatible({',
40
42
  ' baseUrl: variable("ASSISTANT_MODEL_BASE_URL"),',
@@ -108,6 +110,8 @@ export function renderEmbeddedAssistantReference() {
108
110
  ' origin: process.env.PUBLIC_APP_ORIGIN!,',
109
111
  ' user: { id: user.id, email: user.email, roles: user.roles },',
110
112
  ' context,',
113
+ ' // Saved, backend-verified user preferences outrank browser hints.',
114
+ ' preferences: { locale: user.locale, timeZone: user.timeZone },',
111
115
  ' });',
112
116
  ' return Response.json(session);',
113
117
  '}',
@@ -117,6 +121,34 @@ export function renderEmbeddedAssistantReference() {
117
121
  '',
118
122
  '`serviceUrl` is the Noodle Seed control-plane base URL: the value `noodle assistant clients create` prints, also stored as `serviceUrl` in `deployment.json`. It is NOT the deployment MCP endpoint (`url`, which ends in `/v1/mcp` and rejects session exchange). Never probe or guess endpoints with real credentials.',
119
123
  '',
124
+ '## Ground time and ambient facts',
125
+ '',
126
+ 'Every assistant turn receives a server-authoritative instant and user-local date/time. Locale and IANA time zone resolve in this order: backend-verified `preferences` from session exchange, fresh per-turn browser `clientContext` hints, `server.context.defaults`, then platform defaults (`en-US`/`UTC`). Browser hints affect presentation and relative-date interpretation only; they are untrusted and never authorize a tool.',
127
+ '',
128
+ 'Use the server-level context declaration for application facts that every surface should share:',
129
+ '',
130
+ '```ts',
131
+ 'context: {',
132
+ " defaults: { locale: 'en-GB', timeZone: 'Europe/London' },",
133
+ ' ambient: {',
134
+ ' output: z.object({ defaultTeamId: z.string(), holidays: z.array(z.string()) }),',
135
+ ' fulfil: ({ user, context, connectors }) => {',
136
+ ' const calendar = connectors.people.getCalendar({',
137
+ ' subject: user.subject,',
138
+ ' asOf: context.temporal.instant,',
139
+ ' });',
140
+ ' return { defaultTeamId: calendar.default_team_id, holidays: calendar.holidays };',
141
+ ' },',
142
+ ' },',
143
+ '},',
144
+ '```',
145
+ '',
146
+ 'The callback records declarative fulfilment at author time; the shared runtime executes only read-only connector operations, validates the declared output, and freezes one snapshot for the whole invocation and any accepted interaction. Tools/resources/prompts read `context.temporal`, `context.ambient`, and `context.ambientStatus`. The embedded assistant receives the same snapshot in trusted platform context. Canonical TypeScript `server()` authoring emits an empty context declaration even when you omit the option, so MCP clients receive the reserved read-only `noodle_context` temporal tool with zero setup; add `server.context` only for custom defaults or ambient facts. Raw Core-v1 manifests activate the adapter only when that field is present. Never declare a TypeScript author tool named `noodle_context`. Keep ambient facts compact: the platform caps serialized JSON at 16 KiB, depth 8, and 128 entries per container, and rejects credential-shaped keys.',
147
+ '',
148
+ '## Structured missing input',
149
+ '',
150
+ 'A tool authored with `ctx.elicit({ id, message, input })` produces `input_requested` when it reaches the missing value. The built-in and headless renderers consume the same advertised endpoints and interaction-event protocol: either renderer presents that event and, after the current turn stream completes, calls `respond(id, { action: "accept", content })`; decline/cancel stop the flow. Accepted content is schema-validated and completed steps are not rerun; invalid content returns `arg_invalid` and leaves the same request pending for correction. A chained request receives a fresh id and `tool_completed` appears only after the final answer. Every interactive flow must collect all elicited input before its first connector operation. Elicitation gathers an input; it does not approve a later write, which remains separately confirmation-gated. In a flow marked `confirm: true`, every eligible `input_requested` precedes `tool_proposed`; the final proposal reviews the original tool input, elicited values, and sole exact connector version/operation/resolved arguments. Accept is bound to that action and only then may execution start. Confirmable flows may contain at most one connector operation. Bidirectional MCP transports map missing input to standard form `elicitation/create`; an adapter that cannot carry that request fails before executing the tool. The same negotiated form capability carries a final affirmative confirmation and fails closed when unavailable. At the manifest/runtime boundary and in TypeScript action helpers, omitted or `false` preserves direct execution; action hints alone never gate. `annotations.action({ confirm: false })`, like omission, runs directly, while `annotations.action({ confirm: true })` explicitly enables confirmation.',
151
+ '',
120
152
  '## Verified session context (identity and claims)',
121
153
  '',
122
154
  'The embedding developer defines what authenticated session context the assistant receives. One mechanism, three hops:',
@@ -155,17 +187,17 @@ export function renderEmbeddedAssistantReference() {
155
187
  '});',
156
188
  '```',
157
189
  '',
158
- 'Manifest expressions use `${user.name}`, `${user.email}`, `${user.subject}`, `${user.claims.<key>}`. The model receives one platform identity line automatically: standard identity (name/email) whenever present, plus only the claims marked `exposeToModel: true` — so the assistant greets the actual user and can pass identity into tool arguments. `noodle check --target embedded-assistant` lists the declared claim contract.',
190
+ 'Manifest expressions use `${user.name}`, `${user.email}`, `${user.subject}`, `${user.locale}`, `${user.timeZone}`, and `${user.claims.<key>}`. The model receives one platform identity line automatically: standard identity (name/email) whenever present, plus only the claims marked `exposeToModel: true` — so the assistant greets the actual user and can pass identity into tool arguments. `noodle check --target embedded-assistant` lists the declared claim contract.',
159
191
  '',
160
- 'Page `context` from the widget remains untrusted hint data; verified facts belong in `claims`, never in `context`.',
192
+ 'Page `context` from the widget remains untrusted hint data; verified identity/authorization facts belong in `claims`, saved locale/time-zone choices belong in backend `preferences`, and live business facts belong in `server.context.ambient`. Validated preferences also reach fulfilments as `user.locale` and `user.timeZone`, so connectors format in the same verified zone the invocation snapshot uses.',
161
193
  '',
162
194
  'To make the *downstream API call itself* run as the signed-in user (your API enforces its own per-user authorization instead of trusting a forwarded id), give the connector `auth.kind: "delegatedTokenExchange"` — the platform signs a verifiable assertion of this session identity and exchanges it at a token endpoint you implement. Assistant sessions carry the identity this needs; the full contract and a copyable endpoint implementation are in `references/authoring-workflow.md` ("Delegated downstream auth").',
163
195
  '',
164
196
  '## The session response',
165
197
  '',
166
- 'The exchange returns the versioned Embedded Assistant v1 contract. `token`, `expiresAt`, and `endpoints.turns` / `endpoints.toolConfirmations` (absolute URLs) are always present; `configuration` is optional theming data. Forward the body unchanged; the widget posts turns to `endpoints.turns` itself. Do not rebuild, filter, or rewrite the response.',
198
+ 'The exchange returns the versioned Embedded Assistant v1 contract. `token`, `expiresAt`, and `endpoints.turns` / legacy `endpoints.toolConfirmations` (absolute URLs) are always present; current services add `endpoints.interactions` for accept/decline/cancel. `configuration` is optional theming data. Forward the body unchanged; browser clients choose the advertised endpoint. Do not rebuild, filter, or rewrite the response.',
167
199
  '',
168
- '## Mount the browser component',
200
+ '## Choose a browser renderer',
169
201
  '',
170
202
  'Use the React wrapper in React applications:',
171
203
  '',
@@ -179,19 +211,65 @@ export function renderEmbeddedAssistantReference() {
179
211
  '',
180
212
  'The component renders a custom element and must mount client-side. In a Next.js App Router tree, put the mount in a `"use client"` component; from a server component or the Pages Router, load it with `next/dynamic` and `ssr: false`.',
181
213
  '',
214
+ 'For a customer-owned renderer, use the DOM-free client. It keeps the session token in memory, streams the same typed events, and never registers a custom element:',
215
+ '',
216
+ '```ts',
217
+ 'import { createAssistantClient } from "@noodleseed/assistant/client";',
218
+ '',
219
+ 'const assistant = createAssistantClient({',
220
+ ' sessionEndpoint: "/api/assistant/session",',
221
+ ' clientContext: () => ({',
222
+ ' locale: navigator.language,',
223
+ ' timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,',
224
+ ' }),',
225
+ '});',
226
+ '',
227
+ 'assistant.updateModelContext({',
228
+ " content: [{ type: 'text', text: 'The time-off form is mounted.' }],",
229
+ " structuredContent: { widget: { name: 'time-off', lifecycle: 'mounted' } },",
230
+ '});',
231
+ '',
232
+ 'let pendingId: string | undefined;',
233
+ 'let requestedSchema: unknown;',
234
+ 'assistant.subscribe((event) => {',
235
+ ' renderAssistantEvent(event);',
236
+ " if (event.event === 'view_available') {",
237
+ ' renderRegisteredView(event.data.resourceUri, event.data.result);',
238
+ ' }',
239
+ " if ((event.event === 'tool_proposed' || event.event === 'input_requested') && typeof event.data.id === 'string') {",
240
+ ' pendingId = event.data.id;',
241
+ " requestedSchema = event.event === 'input_requested' ? event.data.requestedSchema : undefined;",
242
+ ' }',
243
+ '});',
244
+ '',
245
+ 'await assistant.sendMessage("Book next Thursday and Friday off");',
246
+ 'if (pendingId) {',
247
+ ' const resolution = requestedSchema',
248
+ " ? { action: 'accept' as const, content: await renderPortableForm(requestedSchema) }",
249
+ " : { action: 'accept' as const };",
250
+ ' await assistant.respond(pendingId, resolution);',
251
+ '}',
252
+ "// The same pending id also accepts { action: 'decline' } or { action: 'cancel' }.",
253
+ '```',
254
+ '',
255
+ '`view_available` means a completed tool has a linked MCP App view. It carries the call/interaction id, tool, `ui://` identity, optional title, and bounded/redacted public result; it does not claim that anything rendered. A headless customer renderer maps that identity to an already-trusted component. Never fetch the `ui://` URI or inject its HTML. The standard element likewise does not render it; it dispatches `assistant-view-available` with the same detail.',
256
+ '',
257
+ '`clientContext` is recomputed for each turn. `updateContext(...)` changes separate untrusted page context for the next session exchange; call `resetSession()` when it must take effect immediately. `updateModelContext({ content, structuredContent })` publishes one cohesive renderer snapshot for later message turns without starting a turn; every call replaces the prior snapshot rather than merging fields. It is untrusted per-turn data, not conversation history or authorization input, and both boundaries reject credential-shaped or unbounded updates. A message may re-exchange once after a pre-execution `401`; the client never auto-retries interaction decisions. `tool_proposed.arguments` is a complete schema-aware review projection and, for connector-backed tools, names the sole exact connector version, operation, and resolved arguments. Sensitive/write-only fields are redacted; truncating or omitting any non-sensitive action field fails closed. Accept is bound to the server-held action and claims at most one execution attempt—clients cannot replace it. Normal terminal outcomes scrub private arguments and continuations immediately; only an accepted action still executing retains them for the one-hour unknown-outcome recovery window, after which it records `interaction_outcome_unknown` and scrubs. Without downstream idempotency this is not an exactly-once business-effect guarantee. To reconcile a lost response, explicitly repeat the same id and decision: the service returns its durable stored outcome without re-execution.',
258
+ '',
182
259
  '## Toolchain requirements',
183
260
  '',
184
261
  '- Node.js 20+ for `@noodleseed/assistant/server`.',
185
262
  '- The package ships ESM and CommonJS with full export conditions; no bundler aliases, `transpilePackages`, or ambient type shims are needed. If resolution fails, the installed package version is outdated: update `@noodleseed/assistant` instead of adding workarounds.',
186
- '- TypeScript `moduleResolution` `bundler` or `node16` recommended; classic `node` also resolves the `/react` and `/server` subpaths.',
263
+ '- TypeScript `moduleResolution` `bundler` or `node16` recommended; classic `node` also resolves the `/client`, `/react`, and `/server` subpaths.',
187
264
  '',
188
265
  '## Verify the boundary',
189
266
  '',
190
267
  '- Signed-out session exchange returns `401`.',
191
268
  '- The browser network/DOM/storage contains no client secret or model key.',
192
269
  '- The local and production origins match `allowedOrigins` character-for-character.',
193
- '- Auto-run requires the full safe-read annotation (`annotations.readOnly()`: read-only, non-destructive, closed-world); unannotated or partially annotated tools always confirm. Writes require confirmation by design.',
194
- '- An expired turn re-exchanges once; confirmations never replay.',
270
+ '- At the manifest/runtime boundary and in TypeScript action helpers, only `confirm: true` enables confirmation; omitted or `false` preserves Core-v1 direct execution. Action hints alone never enforce approval; `annotations.action({ confirm: false })` is equivalent to omission.',
271
+ '- An expired turn re-exchanges once; interaction decisions never auto-retry. An explicit same-decision repeat returns the stored outcome without executing again.',
272
+ '- Accept, decline, and cancel are single-use. Only accept executes; the server ignores replacement tool arguments.',
195
273
  '- Wrong-origin and malformed-origin requests fail closed.',
196
274
  '',
197
275
  '## Troubleshooting: symptom to diagnosis',
@@ -206,10 +284,13 @@ export function renderEmbeddedAssistantReference() {
206
284
  '| Session exchange returns 404 | `serviceUrl` points at the deployment MCP endpoint | Use the control-plane service URL printed by `noodle assistant clients create` |',
207
285
  '| Session exchange returns 403 `origin is not allowed` | Request origin differs from `allowedOrigins` character-for-character | Align the exact scheme/host/port on both sides and redeploy |',
208
286
  '| Hydration or `HTMLElement is not defined` errors | The component mounted during server rendering | Mount client-only (`"use client"` or `next/dynamic` with `ssr: false`) |',
209
- '| A read-only tool still asks for confirmation | Its annotations fail the safe-read rule: auto-run requires `readOnlyHint: true`, `destructiveHint: false`, AND `openWorldHint: false` (use `annotations.readOnly()`; `readOnly({ openWorld: true })` confirm-gates) | Fix the annotations; `noodle check --target embedded-assistant` lists every confirm-gated tool |',
287
+ '| A tool runs without the expected confirmation | Its compiled annotations omit `confirm: true` or explicitly set `false` | Pass `{ confirm: true }` to the action helper; action hints alone never gate. `noodle check --target embedded-assistant` lists every confirm-gated tool |',
210
288
  '| `${user.claims.<key>}` is empty | Claim not declared in `sessionClaims` (or key typo) — undeclared claims are dropped at exchange | Declare the key in `embeddedAssistant({ sessionClaims })` and redeploy |',
211
289
  '| `${user.name}` is empty | Backend did not pass `user.name` to `createAssistantSession` | Pass the verified name from the authenticated backend session |',
212
290
  '| The model does not know a claim you passed | Claim is tools-only | Mark it `exposeToModel: true` in `sessionClaims` |',
291
+ '| Relative dates use the wrong day or time zone | No verified user preference and the browser hint is missing/stale | Pass saved `preferences` from the backend; provide a fresh per-turn `clientContext` in a headless renderer |',
292
+ '| The model invents a team/holiday after context lookup fails | The ambient provider returned invalid data or its read-only connector failed (`ambientStatus: unavailable`) | Fix the provider/connector; treat unavailable ambient facts as missing, never prompt instructions |',
293
+ '| Decline/cancel reports `unsupported_service` | The session came from a legacy service with no `endpoints.interactions` | Upgrade the service; legacy `toolConfirmations` supports accept only |',
213
294
  "| Behavior does not change after `noodle deploy` | Outdated platform: before the 2026-07 fix, clients were pinned to their creation-time deployment | Update the platform; sessions now follow the tenant's active deployment |",
214
295
  '| A delegated connector tool fails with `delegated token exchange requires a verified customer caller` | The calling surface has no verified customer identity (or an old session minted before the platform carried the resource audience) | Verify `customerAuth` is configured and the backend passes the verified `user` to `createAssistantSession`; re-mint the session |',
215
296
  '| Deploy fails with `unsupported_delegated_provider` | `delegatedOAuth.provider` only supports the managed `firebase`/`microsoft` bridges | Use `auth.kind: "delegatedTokenExchange"` for your own token endpoint (see authoring-workflow.md) |',
@@ -1 +1 @@
1
- {"version":3,"file":"skill-embedded-assistant-ref.js","sourceRoot":"","sources":["../src/skill-embedded-assistant-ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-embedded-assistant-ref.js","sourceRoot":"","sources":["../src/skill-embedded-assistant-ref.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@ export interface AccessTokenClaims {
8
8
  readonly audience: string;
9
9
  /** End-user email, when available. */
10
10
  readonly email?: string;
11
+ /** OIDC locale preference, when available. */
12
+ readonly locale?: string;
13
+ /** OIDC zoneinfo/IANA time-zone preference, when available. */
14
+ readonly timeZone?: string;
11
15
  /** Space-delimited scopes, when any. */
12
16
  readonly scope?: string;
13
17
  /** Boundary represented by the token. Absent means the normal Noodle platform identity boundary. */
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-issuer.d.ts","sourceRoot":"","sources":["../src/jwt-issuer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAChD,mGAAmG;IACnG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
1
+ {"version":3,"file":"jwt-issuer.d.ts","sourceRoot":"","sources":["../src/jwt-issuer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAChD,mGAAmG;IACnG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
@@ -10,6 +10,8 @@ export async function mintAccessToken(provider, claims, ttlSeconds) {
10
10
  const key = await provider.signingKey();
11
11
  const jwt = new SignJWT({
12
12
  ...(claims.email !== undefined ? { email: claims.email } : {}),
13
+ ...(claims.locale !== undefined ? { locale: claims.locale } : {}),
14
+ ...(claims.timeZone !== undefined ? { zoneinfo: claims.timeZone } : {}),
13
15
  ...(claims.scope !== undefined ? { scope: claims.scope } : {}),
14
16
  ...(claims.identityKind !== undefined ? { noodle_identity: claims.identityKind } : {}),
15
17
  ...(claims.identityProvider !== undefined
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-issuer.js","sourceRoot":"","sources":["../src/jwt-issuer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAoB/B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA4B,EAC5B,MAAyB,EACzB,UAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC;QACtB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,gBAAgB,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;SACC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;SACjE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;SACxB,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;SAC1B,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC5B,WAAW,EAAE;SACb,MAAM,CAAC,UAAU,EAAE,CAAC;SACpB,iBAAiB,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"jwt-issuer.js","sourceRoot":"","sources":["../src/jwt-issuer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAwB/B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA4B,EAC5B,MAAyB,EACzB,UAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC;QACtB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,gBAAgB,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;SACC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;SACjE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;SACxB,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;SAC1B,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC5B,WAAW,EAAE;SACb,MAAM,CAAC,UAAU,EAAE,CAAC;SACpB,iBAAiB,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC"}
@@ -13,6 +13,10 @@ export interface VerifiedIdentity {
13
13
  readonly audience?: string;
14
14
  /** The end-user email, when the token carries one. */
15
15
  readonly email?: string;
16
+ /** OIDC `locale` preference, when the verified token carries one. */
17
+ readonly locale?: string;
18
+ /** OIDC `zoneinfo` IANA time-zone preference, when the verified token carries one. */
19
+ readonly timeZone?: string;
16
20
  /** Expiry in seconds since the epoch, when present. */
17
21
  readonly expiresAt?: number;
18
22
  /** Boundary represented by the token. Absent means the normal Noodle platform identity boundary. */
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,eAAe,EAAE,MAAM,MAAM,CAAC;AAGxD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAChD,mGAAmG;IACnG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qGAAqG;IACrG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAEnG;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa,CAc1E"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,eAAe,EAAE,MAAM,MAAM,CAAC;AAGxD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+FAA+F;IAC/F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAChD,mGAAmG;IACnG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qGAAqG;IACrG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAEnG;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa,CAc1E"}