@noodleseed/assistant 1.12.0 → 1.14.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.
package/README.md CHANGED
@@ -195,6 +195,13 @@ export async function POST(request: Request) {
195
195
  }
196
196
  ```
197
197
 
198
+ For a connector that uses `customerEndpoint("customer_api", ...)`, the authenticated backend may also pass
199
+ `routing: { endpoints: { customer_api: account.clusterApiBaseUrl } }`. Resolve the URL from server-owned
200
+ user/account membership after authentication; never accept it from the browser, page context, session
201
+ claims, or tool input. The endpoint key must match the authored name. Noodle validates and stores the route
202
+ only in private short-lived session state, and an omitted route leaves only dependent tools unavailable.
203
+ Mint a new session when the user's selected account or cluster changes.
204
+
198
205
  Then add the framework-neutral element:
199
206
 
200
207
  ```ts
@@ -298,6 +305,11 @@ Do not also key an ancestor by the whole view object or a callback. Pass the emb
298
305
  resolved `"light"` or `"dark"` theme; later changes are published through MCP Apps host context without
299
306
  replacing the iframe.
300
307
 
308
+ The App document owns its action intent: it calls standard `tools/call` after connecting and never relies on
309
+ native form navigation. If that call needs input or confirmation, the same `client` publishes the normal
310
+ pending interaction part for either managed or customer-owned rendering. The original App call stays pending
311
+ and receives its MCP result after `client.respond(...)`; applications must not retry or translate the click.
312
+
301
313
  Outside React, subscribe to the DOM-free AI SDK `UIMessage` state without registering a custom element or
302
314
  touching browser storage:
303
315
 
@@ -2,7 +2,7 @@ import {
2
2
  AssistantClientError,
3
3
  copyAssistantModelContext,
4
4
  createAssistantClient
5
- } from "./chunk-KRB2SXFD.js";
5
+ } from "./chunk-RITHSCTD.js";
6
6
  import {
7
7
  _enum,
8
8
  _null,
@@ -3142,7 +3142,7 @@ function mountAssistantApp(detail, actions, options = {}) {
3142
3142
  const current = options.getDetail?.() ?? detail;
3143
3143
  void bridge.sendSandboxResourceReady({
3144
3144
  html: current.html,
3145
- sandbox: "allow-scripts allow-forms",
3145
+ sandbox: "allow-scripts",
3146
3146
  ...current.resourceMeta ?? {}
3147
3147
  });
3148
3148
  };
@@ -6706,7 +6706,6 @@ var AssistantElementEventController = class {
6706
6706
  return;
6707
6707
  }
6708
6708
  if (name === "tool_proposed" || name === "interaction_proposed") {
6709
- if (!this.#streamKind) return;
6710
6709
  this.#appendToolProposal(
6711
6710
  String(data.id ?? ""),
6712
6711
  String(data.tool ?? "action"),
@@ -6718,7 +6717,6 @@ var AssistantElementEventController = class {
6718
6717
  return;
6719
6718
  }
6720
6719
  if (name === "input_requested" && isRecord(data.requestedSchema)) {
6721
- if (!this.#streamKind) return;
6722
6720
  this.#appendInputRequest(
6723
6721
  String(data.id ?? ""),
6724
6722
  String(data.message ?? "More information is required"),
@@ -8223,4 +8221,4 @@ export {
8223
8221
  dompurify/dist/purify.es.mjs:
8224
8222
  (*! @license DOMPurify 3.4.11 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.11/LICENSE *)
8225
8223
  */
8226
- //# sourceMappingURL=chunk-ZPELSHUP.js.map
8224
+ //# sourceMappingURL=chunk-7WXGZJCA.js.map