@noodleseed/assistant 1.8.0 → 1.9.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 +33 -7
- package/dist/{appearance-DowzFJjh.d.cts → appearance-Cc-eqSbp.d.cts} +1 -1
- package/dist/{appearance-DowzFJjh.d.ts → appearance-Cc-eqSbp.d.ts} +1 -1
- package/dist/{chunk-JMBUJSFP.js → chunk-4B3XXGRP.js} +74 -13
- package/dist/chunk-4B3XXGRP.js.map +1 -0
- package/dist/{client-ERQCAH_0.d.ts → client-B803xZVn.d.ts} +2 -2
- package/dist/{client-BxoNZkWp.d.cts → client-CsmtpD1z.d.cts} +2 -2
- package/dist/client.d.cts +2 -2
- package/dist/client.d.ts +2 -2
- package/dist/index.cjs +68 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/react/client.d.cts +2 -2
- package/dist/react/client.d.ts +2 -2
- package/dist/react.cjs +124 -19
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +22 -4
- package/dist/react.d.ts +22 -4
- package/dist/react.js +58 -9
- package/dist/react.js.map +1 -1
- package/dist/server.d.cts +1 -1
- package/dist/server.d.ts +1 -1
- package/package.json +1 -1
- package/dist/chunk-JMBUJSFP.js.map +0 -1
package/dist/react.d.cts
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ReactElement, RefAttributes } from 'react';
|
|
2
|
+
import { a as AssistantThemeMode } from './appearance-Cc-eqSbp.cjs';
|
|
3
3
|
import { AssistantAppearance, AssistantAppearanceWarning, NoodleAssistantElement } from './index.cjs';
|
|
4
|
-
import { A as AssistantPageContext, a as AssistantContext,
|
|
4
|
+
import { c as AssistantClient, d as AssistantViewAvailableDetail, A as AssistantPageContext, a as AssistantContext, e as AssistantModelContextUpdate, f as AssistantClientEvent, g as AssistantErrorDetail } from './client-CsmtpD1z.cjs';
|
|
5
5
|
import 'ai';
|
|
6
6
|
|
|
7
|
+
interface NoodleAppViewProps {
|
|
8
|
+
readonly client: AssistantClient;
|
|
9
|
+
readonly view: AssistantViewAvailableDetail;
|
|
10
|
+
readonly theme?: 'light' | 'dark';
|
|
11
|
+
readonly className?: string;
|
|
12
|
+
readonly onError?: (failure: {
|
|
13
|
+
readonly code: 'view_render_timeout';
|
|
14
|
+
readonly retryable: false;
|
|
15
|
+
}) => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Securely hosts one service-resolved MCP App inside a customer-owned React renderer.
|
|
19
|
+
*
|
|
20
|
+
* The bridge lifetime follows semantic view identity, so ordinary parent rerenders cannot reset an
|
|
21
|
+
* in-progress App interaction.
|
|
22
|
+
*/
|
|
23
|
+
declare function NoodleAppView({ client, view, theme, className, onError, }: NoodleAppViewProps): ReactElement;
|
|
24
|
+
|
|
7
25
|
interface NoodleAssistantProps<TPageContext extends AssistantPageContext = AssistantContext> {
|
|
8
26
|
readonly sessionEndpoint: string;
|
|
9
27
|
readonly theme?: AssistantThemeMode;
|
|
@@ -21,4 +39,4 @@ interface NoodleAssistantProps<TPageContext extends AssistantPageContext = Assis
|
|
|
21
39
|
}
|
|
22
40
|
declare const NoodleAssistant: <TPageContext extends AssistantPageContext = AssistantContext>(props: NoodleAssistantProps<TPageContext> & RefAttributes<NoodleAssistantElement>) => ReactElement;
|
|
23
41
|
|
|
24
|
-
export { AssistantAppearance, AssistantAppearanceWarning, NoodleAssistant, type NoodleAssistantProps };
|
|
42
|
+
export { AssistantAppearance, AssistantAppearanceWarning, NoodleAppView, type NoodleAppViewProps, NoodleAssistant, type NoodleAssistantProps };
|
package/dist/react.d.ts
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ReactElement, RefAttributes } from 'react';
|
|
2
|
+
import { a as AssistantThemeMode } from './appearance-Cc-eqSbp.js';
|
|
3
3
|
import { AssistantAppearance, AssistantAppearanceWarning, NoodleAssistantElement } from './index.js';
|
|
4
|
-
import { A as AssistantPageContext, a as AssistantContext,
|
|
4
|
+
import { c as AssistantClient, d as AssistantViewAvailableDetail, A as AssistantPageContext, a as AssistantContext, e as AssistantModelContextUpdate, f as AssistantClientEvent, g as AssistantErrorDetail } from './client-B803xZVn.js';
|
|
5
5
|
import 'ai';
|
|
6
6
|
|
|
7
|
+
interface NoodleAppViewProps {
|
|
8
|
+
readonly client: AssistantClient;
|
|
9
|
+
readonly view: AssistantViewAvailableDetail;
|
|
10
|
+
readonly theme?: 'light' | 'dark';
|
|
11
|
+
readonly className?: string;
|
|
12
|
+
readonly onError?: (failure: {
|
|
13
|
+
readonly code: 'view_render_timeout';
|
|
14
|
+
readonly retryable: false;
|
|
15
|
+
}) => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Securely hosts one service-resolved MCP App inside a customer-owned React renderer.
|
|
19
|
+
*
|
|
20
|
+
* The bridge lifetime follows semantic view identity, so ordinary parent rerenders cannot reset an
|
|
21
|
+
* in-progress App interaction.
|
|
22
|
+
*/
|
|
23
|
+
declare function NoodleAppView({ client, view, theme, className, onError, }: NoodleAppViewProps): ReactElement;
|
|
24
|
+
|
|
7
25
|
interface NoodleAssistantProps<TPageContext extends AssistantPageContext = AssistantContext> {
|
|
8
26
|
readonly sessionEndpoint: string;
|
|
9
27
|
readonly theme?: AssistantThemeMode;
|
|
@@ -21,4 +39,4 @@ interface NoodleAssistantProps<TPageContext extends AssistantPageContext = Assis
|
|
|
21
39
|
}
|
|
22
40
|
declare const NoodleAssistant: <TPageContext extends AssistantPageContext = AssistantContext>(props: NoodleAssistantProps<TPageContext> & RefAttributes<NoodleAssistantElement>) => ReactElement;
|
|
23
41
|
|
|
24
|
-
export { AssistantAppearance, AssistantAppearanceWarning, NoodleAssistant, type NoodleAssistantProps };
|
|
42
|
+
export { AssistantAppearance, AssistantAppearanceWarning, NoodleAppView, type NoodleAppViewProps, NoodleAssistant, type NoodleAssistantProps };
|
package/dist/react.js
CHANGED
|
@@ -1,24 +1,72 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
mountAssistantApp,
|
|
3
|
+
registerNoodleAssistant,
|
|
4
|
+
unmountAssistantApp
|
|
5
|
+
} from "./chunk-4B3XXGRP.js";
|
|
4
6
|
import "./chunk-RYQBXTLR.js";
|
|
5
7
|
import "./chunk-3YYTUJPJ.js";
|
|
6
8
|
import "./chunk-5FUTL2UF.js";
|
|
7
9
|
|
|
8
10
|
// src/react.ts
|
|
9
11
|
import {
|
|
10
|
-
createElement,
|
|
12
|
+
createElement as createElement2,
|
|
11
13
|
forwardRef,
|
|
12
|
-
useEffect,
|
|
14
|
+
useEffect as useEffect2,
|
|
13
15
|
useImperativeHandle,
|
|
14
|
-
useRef
|
|
16
|
+
useRef as useRef2
|
|
15
17
|
} from "react";
|
|
18
|
+
|
|
19
|
+
// src/react-app-view.ts
|
|
20
|
+
import { createElement, useEffect, useRef } from "react";
|
|
21
|
+
function NoodleAppView({
|
|
22
|
+
client,
|
|
23
|
+
view,
|
|
24
|
+
theme = "light",
|
|
25
|
+
className,
|
|
26
|
+
onError
|
|
27
|
+
}) {
|
|
28
|
+
const container = useRef(null);
|
|
29
|
+
const current = useRef({ view, theme, onError });
|
|
30
|
+
const viewId = view.id;
|
|
31
|
+
const resourceUri = view.resourceUri;
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
current.current = { view, theme, onError };
|
|
34
|
+
});
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
const host = container.current;
|
|
37
|
+
if (!host) return;
|
|
38
|
+
const initialView = { ...current.current.view, id: viewId, resourceUri };
|
|
39
|
+
const sandboxUrl = client.appSandboxUrl?.();
|
|
40
|
+
const card = mountAssistantApp(
|
|
41
|
+
initialView,
|
|
42
|
+
{
|
|
43
|
+
client,
|
|
44
|
+
sendMessage: (message) => client.sendMessage(message),
|
|
45
|
+
updateModelContext: (update) => client.updateModelContext(update),
|
|
46
|
+
theme: current.current.theme
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
...sandboxUrl ? { sandboxUrl } : {},
|
|
50
|
+
getDetail: () => current.current.view,
|
|
51
|
+
onRenderFailure: (failure) => current.current.onError?.(failure)
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
if (!card) return;
|
|
55
|
+
host.replaceChildren(card);
|
|
56
|
+
return () => {
|
|
57
|
+
void unmountAssistantApp(card);
|
|
58
|
+
};
|
|
59
|
+
}, [client, resourceUri, viewId]);
|
|
60
|
+
return createElement("div", { ref: container, className });
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// src/react.ts
|
|
16
64
|
var NoodleAssistantWithRef = forwardRef(
|
|
17
65
|
function NoodleAssistant(props, forwardedRef) {
|
|
18
|
-
const ref =
|
|
19
|
-
const readyNotified =
|
|
66
|
+
const ref = useRef2(null);
|
|
67
|
+
const readyNotified = useRef2(false);
|
|
20
68
|
useImperativeHandle(forwardedRef, () => ref.current, []);
|
|
21
|
-
|
|
69
|
+
useEffect2(() => {
|
|
22
70
|
const element = ref.current;
|
|
23
71
|
if (!element) return;
|
|
24
72
|
const ready = () => {
|
|
@@ -63,7 +111,7 @@ var NoodleAssistantWithRef = forwardRef(
|
|
|
63
111
|
props.pageContext,
|
|
64
112
|
props.sessionEndpoint
|
|
65
113
|
]);
|
|
66
|
-
return
|
|
114
|
+
return createElement2("noodle-assistant", {
|
|
67
115
|
ref,
|
|
68
116
|
class: props.className,
|
|
69
117
|
"session-endpoint": props.sessionEndpoint,
|
|
@@ -73,6 +121,7 @@ var NoodleAssistantWithRef = forwardRef(
|
|
|
73
121
|
);
|
|
74
122
|
var NoodleAssistant2 = NoodleAssistantWithRef;
|
|
75
123
|
export {
|
|
124
|
+
NoodleAppView,
|
|
76
125
|
NoodleAssistant2 as NoodleAssistant
|
|
77
126
|
};
|
|
78
127
|
//# sourceMappingURL=react.js.map
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react.ts"],"sourcesContent":["import {\n createElement,\n forwardRef,\n type ReactElement,\n type RefAttributes,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport type { AssistantThemeMode } from './appearance.js';\nimport type { AssistantAppearance, AssistantAppearanceWarning } from './host-appearance.js';\n\nexport type { AssistantAppearance, AssistantAppearanceWarning } from './host-appearance.js';\n\nimport type {\n AssistantClientEvent,\n AssistantContext,\n AssistantModelContextUpdate,\n AssistantPageContext,\n} from './client.js';\nimport { type NoodleAssistantElement, registerNoodleAssistant } from './element.js';\nimport type { AssistantErrorDetail } from './transport.js';\n\nexport interface NoodleAssistantProps<\n TPageContext extends AssistantPageContext = AssistantContext,\n> {\n readonly sessionEndpoint: string;\n readonly theme?: AssistantThemeMode;\n readonly appearance?: AssistantAppearance;\n readonly open?: boolean;\n readonly className?: string;\n readonly context?: AssistantContext;\n readonly pageContext?: TPageContext;\n readonly modelContext?: AssistantModelContextUpdate;\n readonly onEvent?: (event: AssistantClientEvent) => void;\n readonly onReady?: () => void;\n readonly onError?: (error: AssistantErrorDetail) => void;\n readonly onAppearanceWarning?: (warning: AssistantAppearanceWarning) => void;\n readonly onSessionExpired?: () => void;\n}\n\nconst NoodleAssistantWithRef = forwardRef<NoodleAssistantElement, NoodleAssistantProps>(\n function NoodleAssistant(props, forwardedRef): ReactElement {\n const ref = useRef<NoodleAssistantElement>(null);\n const readyNotified = useRef(false);\n useImperativeHandle(forwardedRef, () => ref.current as NoodleAssistantElement, []);\n useEffect(() => {\n const element = ref.current;\n if (!element) return;\n const ready = () => {\n if (readyNotified.current) return;\n readyNotified.current = true;\n props.onReady?.();\n };\n const error = (event: Event) =>\n props.onError?.((event as CustomEvent<AssistantErrorDetail>).detail);\n const expired = () => props.onSessionExpired?.();\n const assistantEvent = (event: Event) =>\n props.onEvent?.((event as CustomEvent<AssistantClientEvent>).detail);\n const appearanceWarning = (event: Event) =>\n props.onAppearanceWarning?.((event as CustomEvent<AssistantAppearanceWarning>).detail);\n element.addEventListener('assistant-ready', ready);\n element.addEventListener('assistant-error', error);\n element.addEventListener('assistant-session-expired', expired);\n element.addEventListener('assistant-event', assistantEvent);\n element.addEventListener('assistant-appearance-warning', appearanceWarning);\n registerNoodleAssistant();\n element.sessionEndpoint = props.sessionEndpoint;\n element.appearance = props.appearance;\n element.toggleAttribute('open', props.open === true);\n if (props.context) element.updateContext(props.context);\n if (props.pageContext) element.updatePageContext(props.pageContext);\n if (props.modelContext) element.updateModelContext(props.modelContext);\n // The canonical entry may have registered and upgraded the element before this effect ran.\n // Readiness is sticky once the shadow root exists, so late React listeners still fire once.\n if (element.shadowRoot) ready();\n return () => {\n element.removeEventListener('assistant-ready', ready);\n element.removeEventListener('assistant-error', error);\n element.removeEventListener('assistant-session-expired', expired);\n element.removeEventListener('assistant-event', assistantEvent);\n element.removeEventListener('assistant-appearance-warning', appearanceWarning);\n };\n }, [\n props.context,\n props.appearance,\n props.modelContext,\n props.onError,\n props.onAppearanceWarning,\n props.onEvent,\n props.onReady,\n props.onSessionExpired,\n props.open,\n props.pageContext,\n props.sessionEndpoint,\n ]);\n return createElement('noodle-assistant', {\n ref,\n class: props.className,\n 'session-endpoint': props.sessionEndpoint,\n ...(props.theme ? { theme: props.theme } : {}),\n });\n },\n);\n\nexport const NoodleAssistant = NoodleAssistantWithRef as <\n TPageContext extends AssistantPageContext = AssistantContext,\n>(\n props: NoodleAssistantProps<TPageContext> & RefAttributes<NoodleAssistantElement>,\n) => ReactElement;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/react.ts","../src/react-app-view.ts"],"sourcesContent":["import {\n createElement,\n forwardRef,\n type ReactElement,\n type RefAttributes,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport type { AssistantThemeMode } from './appearance.js';\nimport type { AssistantAppearance, AssistantAppearanceWarning } from './host-appearance.js';\n\nexport type { AssistantAppearance, AssistantAppearanceWarning } from './host-appearance.js';\n\nimport type {\n AssistantClientEvent,\n AssistantContext,\n AssistantModelContextUpdate,\n AssistantPageContext,\n} from './client.js';\nimport { type NoodleAssistantElement, registerNoodleAssistant } from './element.js';\nimport type { AssistantErrorDetail } from './transport.js';\n\nexport { NoodleAppView, type NoodleAppViewProps } from './react-app-view.js';\n\nexport interface NoodleAssistantProps<\n TPageContext extends AssistantPageContext = AssistantContext,\n> {\n readonly sessionEndpoint: string;\n readonly theme?: AssistantThemeMode;\n readonly appearance?: AssistantAppearance;\n readonly open?: boolean;\n readonly className?: string;\n readonly context?: AssistantContext;\n readonly pageContext?: TPageContext;\n readonly modelContext?: AssistantModelContextUpdate;\n readonly onEvent?: (event: AssistantClientEvent) => void;\n readonly onReady?: () => void;\n readonly onError?: (error: AssistantErrorDetail) => void;\n readonly onAppearanceWarning?: (warning: AssistantAppearanceWarning) => void;\n readonly onSessionExpired?: () => void;\n}\n\nconst NoodleAssistantWithRef = forwardRef<NoodleAssistantElement, NoodleAssistantProps>(\n function NoodleAssistant(props, forwardedRef): ReactElement {\n const ref = useRef<NoodleAssistantElement>(null);\n const readyNotified = useRef(false);\n useImperativeHandle(forwardedRef, () => ref.current as NoodleAssistantElement, []);\n useEffect(() => {\n const element = ref.current;\n if (!element) return;\n const ready = () => {\n if (readyNotified.current) return;\n readyNotified.current = true;\n props.onReady?.();\n };\n const error = (event: Event) =>\n props.onError?.((event as CustomEvent<AssistantErrorDetail>).detail);\n const expired = () => props.onSessionExpired?.();\n const assistantEvent = (event: Event) =>\n props.onEvent?.((event as CustomEvent<AssistantClientEvent>).detail);\n const appearanceWarning = (event: Event) =>\n props.onAppearanceWarning?.((event as CustomEvent<AssistantAppearanceWarning>).detail);\n element.addEventListener('assistant-ready', ready);\n element.addEventListener('assistant-error', error);\n element.addEventListener('assistant-session-expired', expired);\n element.addEventListener('assistant-event', assistantEvent);\n element.addEventListener('assistant-appearance-warning', appearanceWarning);\n registerNoodleAssistant();\n element.sessionEndpoint = props.sessionEndpoint;\n element.appearance = props.appearance;\n element.toggleAttribute('open', props.open === true);\n if (props.context) element.updateContext(props.context);\n if (props.pageContext) element.updatePageContext(props.pageContext);\n if (props.modelContext) element.updateModelContext(props.modelContext);\n // The canonical entry may have registered and upgraded the element before this effect ran.\n // Readiness is sticky once the shadow root exists, so late React listeners still fire once.\n if (element.shadowRoot) ready();\n return () => {\n element.removeEventListener('assistant-ready', ready);\n element.removeEventListener('assistant-error', error);\n element.removeEventListener('assistant-session-expired', expired);\n element.removeEventListener('assistant-event', assistantEvent);\n element.removeEventListener('assistant-appearance-warning', appearanceWarning);\n };\n }, [\n props.context,\n props.appearance,\n props.modelContext,\n props.onError,\n props.onAppearanceWarning,\n props.onEvent,\n props.onReady,\n props.onSessionExpired,\n props.open,\n props.pageContext,\n props.sessionEndpoint,\n ]);\n return createElement('noodle-assistant', {\n ref,\n class: props.className,\n 'session-endpoint': props.sessionEndpoint,\n ...(props.theme ? { theme: props.theme } : {}),\n });\n },\n);\n\nexport const NoodleAssistant = NoodleAssistantWithRef as <\n TPageContext extends AssistantPageContext = AssistantContext,\n>(\n props: NoodleAssistantProps<TPageContext> & RefAttributes<NoodleAssistantElement>,\n) => ReactElement;\n","import { createElement, type ReactElement, useEffect, useRef } from 'react';\nimport { mountAssistantApp, unmountAssistantApp } from './app-host.js';\nimport type { AssistantClient, AssistantViewAvailableDetail } from './client.js';\n\nexport interface NoodleAppViewProps {\n readonly client: AssistantClient;\n readonly view: AssistantViewAvailableDetail;\n readonly theme?: 'light' | 'dark';\n readonly className?: string;\n readonly onError?: (failure: {\n readonly code: 'view_render_timeout';\n readonly retryable: false;\n }) => void;\n}\n\n/**\n * Securely hosts one service-resolved MCP App inside a customer-owned React renderer.\n *\n * The bridge lifetime follows semantic view identity, so ordinary parent rerenders cannot reset an\n * in-progress App interaction.\n */\nexport function NoodleAppView({\n client,\n view,\n theme = 'light',\n className,\n onError,\n}: NoodleAppViewProps): ReactElement {\n const container = useRef<HTMLDivElement>(null);\n const current = useRef({ view, theme, onError });\n const viewId = view.id;\n const resourceUri = view.resourceUri;\n\n useEffect(() => {\n current.current = { view, theme, onError };\n });\n\n useEffect(() => {\n const host = container.current;\n if (!host) return;\n const initialView = { ...current.current.view, id: viewId, resourceUri };\n const sandboxUrl = client.appSandboxUrl?.();\n const card = mountAssistantApp(\n initialView,\n {\n client,\n sendMessage: (message) => client.sendMessage(message),\n updateModelContext: (update) => client.updateModelContext(update),\n theme: current.current.theme,\n },\n {\n ...(sandboxUrl ? { sandboxUrl } : {}),\n getDetail: () => current.current.view,\n onRenderFailure: (failure) => current.current.onError?.(failure),\n },\n );\n if (!card) return;\n host.replaceChildren(card);\n return () => {\n void unmountAssistantApp(card);\n };\n }, [client, resourceUri, viewId]);\n\n return createElement('div', { ref: container, className });\n}\n"],"mappings":"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","names":["createElement","useEffect","useRef","useRef","useEffect","createElement","NoodleAssistant"]}
|
package/dist/server.d.cts
CHANGED
package/dist/server.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@noodleseed/assistant",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Embed the Noodle Seed customer-branded assistant in your web app with a Web Component, managed or custom React UI, DOM-free client, and backend session helper. Authoring and deploying the server is @noodleseed/one.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|