@adonis-agora/agent 0.66.0 → 0.67.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 (27) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/src/channels/handler.d.ts +44 -0
  3. package/dist/src/channels/handler.d.ts.map +1 -1
  4. package/dist/src/channels/handler.js +53 -9
  5. package/dist/src/channels/handler.js.map +1 -1
  6. package/dist/src/channels/index.d.ts +1 -1
  7. package/dist/src/channels/index.d.ts.map +1 -1
  8. package/dist/src/channels/index.js.map +1 -1
  9. package/dist/src/index.d.ts +1 -1
  10. package/dist/src/index.js +1 -1
  11. package/dist/src/react/core/approvals/use-action-proposals.d.ts +7 -0
  12. package/dist/src/react/core/approvals/use-action-proposals.d.ts.map +1 -1
  13. package/dist/src/react/core/approvals/use-action-proposals.js +54 -8
  14. package/dist/src/react/core/approvals/use-action-proposals.js.map +1 -1
  15. package/dist/src/react/core/genui/generative-ui.d.ts +3 -0
  16. package/dist/src/react/core/genui/generative-ui.d.ts.map +1 -1
  17. package/dist/src/react/core/genui/generative-ui.js +55 -35
  18. package/dist/src/react/core/genui/generative-ui.js.map +1 -1
  19. package/dist/src/react/core/genui/share-structure.d.ts +13 -0
  20. package/dist/src/react/core/genui/share-structure.d.ts.map +1 -0
  21. package/dist/src/react/core/genui/share-structure.js +49 -0
  22. package/dist/src/react/core/genui/share-structure.js.map +1 -0
  23. package/dist/src/react/core/transcript/use-chat-transcript.d.ts.map +1 -1
  24. package/dist/src/react/core/transcript/use-chat-transcript.js +15 -2
  25. package/dist/src/react/core/transcript/use-chat-transcript.js.map +1 -1
  26. package/package.json +1 -1
  27. package/skills/agent-setup/SKILL.md +1 -0
@@ -1,8 +1,30 @@
1
1
  import { useCallback, useEffect, useRef, useState } from 'react';
2
2
  import { proposalNeedsPolling, reconcileProposalMessages } from './proposals.js';
3
+ /** Statuses meaning the server has no proposals route, rather than that this read failed. */
4
+ const UNSUPPORTED_STATUSES = new Set([404, 405, 501]);
5
+ /** What the libraries' own route answers for a thread it does not know (yet): not "unsupported". */
6
+ const UNKNOWN_THREAD = new Set(['Thread not found', 'Unknown thread']);
7
+ /** The longest wait between two reads after failed ones (the wait doubles per failure). */
8
+ const MAX_BACKOFF_MS = 30_000;
9
+ /** Backends whose server answered that it serves no proposals — for the rest of the session. */
10
+ const unsupportedBackends = new WeakSet();
11
+ function statusOf(cause) {
12
+ const status = cause?.status;
13
+ return typeof status === 'number' ? status : undefined;
14
+ }
15
+ /** `cause` says the proposals route is not there at all (not a transient failure of one read). */
16
+ export function isProposalsUnsupported(cause) {
17
+ const status = statusOf(cause);
18
+ if (status === undefined || !UNSUPPORTED_STATUSES.has(status))
19
+ return false;
20
+ return !(status === 404 && cause instanceof Error && UNKNOWN_THREAD.has(cause.message));
21
+ }
3
22
  export function useActionProposals(backend, threadId, setMessages, refreshKey, pollMs = 1000) {
4
23
  const [items, setItems] = useState([]);
5
24
  const [error, setError] = useState(null);
25
+ const [unsupported, setUnsupported] = useState(() => unsupportedBackends.has(backend));
26
+ // Reads that failed in a row: each one doubles the wait before the next poll.
27
+ const [failures, setFailures] = useState(0);
6
28
  const latest = useRef({ threadId, setMessages });
7
29
  latest.current = { threadId, setMessages };
8
30
  const mounted = useRef(true);
@@ -16,6 +38,8 @@ export function useActionProposals(backend, threadId, setMessages, refreshKey, p
16
38
  const refresh = useCallback(async () => {
17
39
  if (threadId === undefined || backend.listActionProposals === undefined)
18
40
  return;
41
+ if (unsupportedBackends.has(backend))
42
+ return;
19
43
  const pending = requests.current.get(threadId);
20
44
  if (pending)
21
45
  return pending;
@@ -32,11 +56,23 @@ export function useActionProposals(backend, threadId, setMessages, refreshKey, p
32
56
  return;
33
57
  setItems(proposals);
34
58
  setError(null);
59
+ setFailures(0);
35
60
  latest.current.setMessages((current) => reconcileProposalMessages(current, proposals, facts));
36
61
  }
37
62
  catch (cause) {
38
- if (mounted.current && latest.current.threadId === threadId)
63
+ if (isProposalsUnsupported(cause)) {
64
+ // Not this read failing: the server has no such route. Stop asking, quietly.
65
+ unsupportedBackends.add(backend);
66
+ if (mounted.current) {
67
+ setUnsupported(true);
68
+ setError(null);
69
+ }
70
+ return;
71
+ }
72
+ if (mounted.current && latest.current.threadId === threadId) {
39
73
  setError(cause instanceof Error ? cause : new Error(String(cause)));
74
+ setFailures((count) => count + 1);
75
+ }
40
76
  }
41
77
  })();
42
78
  requests.current.set(threadId, request);
@@ -51,20 +87,30 @@ export function useActionProposals(backend, threadId, setMessages, refreshKey, p
51
87
  useEffect(() => {
52
88
  setItems([]);
53
89
  setError(null);
90
+ setFailures(0);
54
91
  }, [threadId]);
92
+ // A backend another chat already found unsupported (or a new backend that may not be).
93
+ useEffect(() => {
94
+ setUnsupported(unsupportedBackends.has(backend));
95
+ }, [backend]);
55
96
  // biome-ignore lint/correctness/useExhaustiveDependencies: Stream completion/reconnection triggers a scoped read.
56
97
  useEffect(() => {
57
98
  void refresh();
58
99
  }, [refresh, refreshKey]);
100
+ // One read per wait while a proposal is still moving; every read (its new `items`, or one more
101
+ // failure) schedules the next. Failed reads back off: pollMs, ×2, ×4, … up to 30 s.
59
102
  useEffect(() => {
60
- if (!items.some(proposalNeedsPolling) || pollMs <= 0)
103
+ if (unsupported || !items.some(proposalNeedsPolling) || pollMs <= 0)
61
104
  return;
62
- const timer = setInterval(() => {
105
+ const wait = failures === 0 ? pollMs : Math.min(pollMs * 2 ** failures, MAX_BACKOFF_MS);
106
+ const timer = setTimeout(() => {
63
107
  void refresh();
64
- }, pollMs);
65
- return () => clearInterval(timer);
66
- }, [items, pollMs, refresh]);
108
+ }, wait);
109
+ return () => clearTimeout(timer);
110
+ }, [items, failures, unsupported, pollMs, refresh]);
67
111
  useEffect(() => {
112
+ if (unsupported)
113
+ return;
68
114
  const refetch = () => {
69
115
  void refresh();
70
116
  };
@@ -80,7 +126,7 @@ export function useActionProposals(backend, threadId, setMessages, refreshKey, p
80
126
  window.removeEventListener('online', refetch);
81
127
  document.removeEventListener('visibilitychange', visible);
82
128
  };
83
- }, [refresh]);
84
- return { items, error, refresh };
129
+ }, [refresh, unsupported]);
130
+ return { items, error, unsupported, refresh };
85
131
  }
86
132
  //# sourceMappingURL=use-action-proposals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-action-proposals.js","sourceRoot":"","sources":["../../../../../src/react/core/approvals/use-action-proposals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-action-proposals.js","sourceRoot":"","sources":["../../../../../src/react/core/approvals/use-action-proposals.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,9 @@ export declare function useGenuiNode(): GenuiNodeState | null;
20
20
  * Renders a `genui:tree` frame's `{ root }` node by node through the same registry, catalog and
21
21
  * resolver as top-level components. Used automatically for tree frames unless a `treeRenderer`
22
22
  * (e.g. the json-render one) or a registry entry for `genui:tree` takes over.
23
+ *
24
+ * Each frame's tree is structurally shared with the previous one: a node equal to the one before
25
+ * keeps that object, and its renderer does not run again.
23
26
  */
24
27
  export declare function GenuiTree({ root }: {
25
28
  root?: GenerativeUIElement;
@@ -1 +1 @@
1
- {"version":3,"file":"generative-ui.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/genui/generative-ui.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generative-ui.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/genui/generative-ui.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAOpB,iFAAiF;AACjF,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,mBAAmB,KAAK,SAAS,CAAC,CAAC;AA+B7F;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,IAAI,cAAc,GAAG,IAAI,CAEpD;AA0KD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,mBAAmB,CAAA;CAAE,sCAOjE;AAED,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,qFAAqF;IACrF,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,OAAc,EACd,WAAW,EACX,OAAO,EACP,QAAQ,GACT,EAAE,sBAAsB,+BAuBxB;AAED,wFAAwF;AACxF,MAAM,WAAW,kBAAmB,SAAQ,OAAO,CAAC,mBAAmB,CAAC;IACtE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC5D;AAQD,yEAAyE;AACzE,wBAAgB,gBAAgB,IAAI,kBAAkB,GAAG,IAAI,CAE5D;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,OAAO,EACP,QAAQ,GACT,EAAE,kBAAkB,+BAoBpB;AAsBD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACzC,iBAAiB,GAAG,IAAI,CAG1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,mBAAmB,CAAC;IACrE,2GAA2G;IAC3G,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAAC;IACrD,wIAAwI;IACxI,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,uGAAuG;IACvG,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,oDAAoD;IACpD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,cAAc,EAC3B,OAAO,EAAE,UAAU,GACpB,EAAE,iBAAiB,+TAyCnB"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Component, createContext, useCallback, useContext, useMemo, } from 'react';
2
+ import { Component, createContext, memo, useCallback, useContext, useMemo, useRef, } from 'react';
3
3
  import { AmbientRenderUiContext, sharedContext } from '../components/ambient-ui.js';
4
+ import { shareStructure } from './share-structure.js';
4
5
  import { useGenerativeUIState, useResolvedComponent, useValidatedProps, } from './use-generative-ui.js';
5
6
  const TreeScopeContext = createContext(null);
6
7
  // Shared by key, like the provider's: a renderer imports the hook from `/genui` while the tree may
@@ -21,11 +22,11 @@ const GenuiNodeContext = sharedContext('@adonis-agora/agent/react:genui-node');
21
22
  export function useGenuiNode() {
22
23
  return useContext(GenuiNodeContext);
23
24
  }
24
- function renderPlaceholder(scope, node) {
25
- const { placeholder } = scope;
25
+ function renderPlaceholder(look, node) {
26
+ const { placeholder } = look;
26
27
  if (typeof placeholder === 'function')
27
28
  return placeholder(node);
28
- return placeholder !== undefined ? placeholder : scope.loading;
29
+ return placeholder !== undefined ? placeholder : look.loading;
29
30
  }
30
31
  function renderFallback(fallback, problem) {
31
32
  if (typeof fallback === 'function')
@@ -63,10 +64,28 @@ class ItemBoundary extends Component {
63
64
  function nodeItem(node, id) {
64
65
  return { id, component: node.type, props: node.props ?? {}, version: null, toolCallId: null };
65
66
  }
66
- /** One tree node: resolved and validated like a top-level item, children rendered as its `children`. */
67
- function TreeNode({ node, id }) {
67
+ /** A failing node takes the whole tree to the item's fallback text — no fallback of its own given. */
68
+ function failsWhole(scope) {
69
+ return !scope.hasFallback && scope.fallbackText !== undefined;
70
+ }
71
+ /**
72
+ * One tree node, re-rendered only when its node is a different object (or the scope changed).
73
+ * {@link GenuiTree} keeps an unchanged node the same object from frame to frame, so as a preview
74
+ * streams in only the nodes that grew — and their ancestors — render again; a node turning from
75
+ * `incomplete`/`held` to final is a changed node and renders.
76
+ */
77
+ const TreeNode = memo(function TreeNode({ node, id, bounded }) {
68
78
  const scope = useContext(TreeScopeContext);
69
79
  const item = useMemo(() => nodeItem(node, id), [node, id]);
80
+ if (scope === null)
81
+ return null;
82
+ if (!bounded || failsWhole(scope))
83
+ return _jsx(TreeNodeBody, { node: node, id: id, item: item });
84
+ return (_jsx(ItemBoundary, { item: item, fallback: scope.look.current.fallback, onError: scope.look.current.onError, children: _jsx(TreeNodeBody, { node: node, id: id, item: item }) }));
85
+ }, (previous, next) => previous.node === next.node && previous.id === next.id && previous.bounded === next.bounded);
86
+ /** A tree node resolved and validated like a top-level item, children rendered as its `children`. */
87
+ function TreeNodeBody({ node, id, item, }) {
88
+ const scope = useContext(TreeScopeContext);
70
89
  // A node of a preview the model is still writing: its props are half there, so they are not
71
90
  // validated (the final frame is) — the renderer is told instead, through `useGenuiNode`.
72
91
  const incomplete = node.incomplete === true;
@@ -81,34 +100,33 @@ function TreeNode({ node, id }) {
81
100
  const validation = useValidatedProps(incompatible || incomplete ? undefined : scope?.options.catalog, node.type, item.props);
82
101
  if (scope === null)
83
102
  return null;
103
+ const look = scope.look.current;
84
104
  if (held) {
85
- return (_jsx(GenuiNodeContext.Provider, { value: state, children: renderPlaceholder(scope, state) }));
105
+ return (_jsx(GenuiNodeContext.Provider, { value: state, children: renderPlaceholder(look, state) }));
86
106
  }
87
107
  if (resolution.status === 'loading' || validation.status === 'pending')
88
- return scope.loading;
108
+ return look.loading;
89
109
  if (resolution.status === 'unknown') {
90
- if (scope.fallback === undefined && scope.fallbackText !== undefined)
110
+ if (failsWhole(scope))
91
111
  throw new Error('Unknown tree component');
92
- return renderFallback(scope.fallback, { reason: 'unknown', item });
112
+ return renderFallback(look.fallback, { reason: 'unknown', item });
93
113
  }
94
114
  if (resolution.status === 'error') {
95
- if (scope.fallback === undefined && scope.fallbackText !== undefined)
115
+ if (failsWhole(scope))
96
116
  throw resolution.error;
97
- return renderFallback(scope.fallback, { reason: 'error', item, error: resolution.error });
117
+ return renderFallback(look.fallback, { reason: 'error', item, error: resolution.error });
98
118
  }
99
119
  if (validation.status === 'invalid') {
100
- if (scope.fallback === undefined && scope.fallbackText !== undefined)
120
+ if (failsWhole(scope))
101
121
  throw new Error('Invalid tree component');
102
- return renderFallback(scope.fallback, { reason: 'invalid', item, issues: validation.issues });
122
+ return renderFallback(look.fallback, { reason: 'invalid', item, issues: validation.issues });
103
123
  }
104
124
  const Renderer = resolution.Component;
105
125
  const children = Array.isArray(node.children) ? node.children : [];
106
126
  return (_jsx(GenuiNodeContext.Provider, { value: state, children: _jsx(Renderer, { ...validation.props, children: children.length > 0
107
127
  ? children.map((child, index) => {
108
128
  const childId = `${id}.${index}`;
109
- if (scope.fallback === undefined && scope.fallbackText !== undefined)
110
- return _jsx(TreeNode, { node: child, id: childId }, childId);
111
- return (_jsx(ItemBoundary, { item: nodeItem(child, childId), fallback: scope.fallback, onError: scope.onError, children: _jsx(TreeNode, { node: child, id: childId }) }, childId));
129
+ return _jsx(TreeNode, { node: child, id: childId, bounded: true }, childId);
112
130
  })
113
131
  : undefined }) }));
114
132
  }
@@ -116,40 +134,42 @@ function TreeNode({ node, id }) {
116
134
  * Renders a `genui:tree` frame's `{ root }` node by node through the same registry, catalog and
117
135
  * resolver as top-level components. Used automatically for tree frames unless a `treeRenderer`
118
136
  * (e.g. the json-render one) or a registry entry for `genui:tree` takes over.
137
+ *
138
+ * Each frame's tree is structurally shared with the previous one: a node equal to the one before
139
+ * keeps that object, and its renderer does not run again.
119
140
  */
120
141
  export function GenuiTree({ root }) {
121
- if (root === undefined || root === null || typeof root.type !== 'string')
142
+ const previous = useRef(undefined);
143
+ const valid = root !== undefined && root !== null && typeof root.type === 'string';
144
+ const shared = valid ? shareStructure(previous.current, root) : undefined;
145
+ previous.current = shared;
146
+ if (shared === undefined)
122
147
  return null;
123
- return _jsx(TreeNode, { node: root, id: "root" });
148
+ return _jsx(TreeNode, { node: shared, id: "root", bounded: false });
124
149
  }
125
150
  /**
126
151
  * The registry, catalog and fallbacks tree nodes render with. `<GenerativeUI>` provides it; wrap
127
152
  * your own chrome in it when you draw `useGenerativeUI`'s `Component` yourself and it may be a tree.
128
153
  */
129
154
  export function GenerativeUIScope({ registry, catalog, resolveComponent, fallback, fallbackText, componentVersions, loading = null, placeholder, onError, children, }) {
155
+ // Read afresh from every frame of the item that carries them: kept the same object while equal.
156
+ const versionsRef = useRef(undefined);
157
+ const versions = shareStructure(versionsRef.current, componentVersions);
158
+ versionsRef.current = versions;
159
+ const look = useRef({ fallback, loading, placeholder, onError });
160
+ look.current = { fallback, loading, placeholder, onError };
161
+ const hasFallback = fallback !== undefined;
130
162
  const scope = useMemo(() => ({
131
163
  options: {
132
164
  registry,
133
165
  ...(catalog !== undefined ? { catalog } : {}),
134
166
  ...(resolveComponent !== undefined ? { resolveComponent } : {}),
135
167
  },
136
- fallback,
137
- ...(componentVersions !== undefined ? { componentVersions } : {}),
168
+ hasFallback,
169
+ ...(versions !== undefined ? { componentVersions: versions } : {}),
138
170
  ...(fallbackText !== undefined ? { fallbackText } : {}),
139
- loading,
140
- placeholder,
141
- onError,
142
- }), [
143
- registry,
144
- catalog,
145
- resolveComponent,
146
- fallback,
147
- fallbackText,
148
- componentVersions,
149
- loading,
150
- placeholder,
151
- onError,
152
- ]);
171
+ look,
172
+ }), [registry, catalog, resolveComponent, hasFallback, fallbackText, versions]);
153
173
  return _jsx(TreeScopeContext.Provider, { value: scope, children: children });
154
174
  }
155
175
  // Shared by key: `/genui` and `/genui/json-render` are separate bundles, and a provider from one
@@ -1 +1 @@
1
- {"version":3,"file":"generative-ui.js","sourceRoot":"","sources":["../../../../../src/react/core/genui/generative-ui.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generative-ui.js","sourceRoot":"","sources":["../../../../../src/react/core/genui/generative-ui.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * `next`, with every part structurally equal to the same part of `previous` replaced by that part
3
+ * of `previous` — `previous` itself when the two are equal throughout. Plain objects and arrays are
4
+ * compared member by member (arrays by position); anything else by `Object.is`.
5
+ *
6
+ * The chat reaches React as a fresh deep copy on every update (the AI SDK clones the streaming
7
+ * message on each chunk), so a pushed component's props and a tree's nodes are new objects on every
8
+ * token even when nothing in them changed. Run through this, an unchanged node keeps its identity
9
+ * and a memoized renderer skips it; a changed one (more props, `incomplete` → final) is new, and so
10
+ * is every ancestor of it, which is what re-renders.
11
+ */
12
+ export declare function shareStructure<T>(previous: unknown, next: T): T;
13
+ //# sourceMappingURL=share-structure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-structure.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/genui/share-structure.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAyB/D"}
@@ -0,0 +1,49 @@
1
+ function isPlainObject(value) {
2
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
3
+ return false;
4
+ const prototype = Object.getPrototypeOf(value);
5
+ return prototype === Object.prototype || prototype === null;
6
+ }
7
+ /**
8
+ * `next`, with every part structurally equal to the same part of `previous` replaced by that part
9
+ * of `previous` — `previous` itself when the two are equal throughout. Plain objects and arrays are
10
+ * compared member by member (arrays by position); anything else by `Object.is`.
11
+ *
12
+ * The chat reaches React as a fresh deep copy on every update (the AI SDK clones the streaming
13
+ * message on each chunk), so a pushed component's props and a tree's nodes are new objects on every
14
+ * token even when nothing in them changed. Run through this, an unchanged node keeps its identity
15
+ * and a memoized renderer skips it; a changed one (more props, `incomplete` → final) is new, and so
16
+ * is every ancestor of it, which is what re-renders.
17
+ */
18
+ export function shareStructure(previous, next) {
19
+ if (Object.is(previous, next))
20
+ return next;
21
+ if (Array.isArray(next)) {
22
+ if (!Array.isArray(previous))
23
+ return next;
24
+ let same = previous.length === next.length;
25
+ const shared = next.map((value, index) => {
26
+ const kept = shareStructure(previous[index], value);
27
+ if (kept !== previous[index])
28
+ same = false;
29
+ return kept;
30
+ });
31
+ return (same ? previous : shared);
32
+ }
33
+ if (isPlainObject(next)) {
34
+ if (!isPlainObject(previous))
35
+ return next;
36
+ const keys = Object.keys(next);
37
+ let same = keys.length === Object.keys(previous).length;
38
+ const shared = {};
39
+ for (const key of keys) {
40
+ const kept = shareStructure(previous[key], next[key]);
41
+ if (kept !== previous[key] || !Object.hasOwn(previous, key))
42
+ same = false;
43
+ shared[key] = kept;
44
+ }
45
+ return (same ? previous : shared);
46
+ }
47
+ return next;
48
+ }
49
+ //# sourceMappingURL=share-structure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-structure.js","sourceRoot":"","sources":["../../../../../src/react/core/genui/share-structure.ts"],"names":[],"mappings":"AAAA,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAI,QAAiB,EAAE,IAAO;IAC1D,IAAI,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC;gBAAE,IAAI,GAAG,KAAK,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAM,CAAC;IACzC,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;QACxD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,IAAI,IAAI,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC;gBAAE,IAAI,GAAG,KAAK,CAAC;YAC1E,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAM,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-chat-transcript.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/transcript/use-chat-transcript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-chat-transcript.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/transcript/use-chat-transcript.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { useCallback, useEffect, useRef, useState } from 'react';
2
2
  import { attachmentFile } from '../attachments/files.js';
3
3
  import { requireBackendMethod } from '../backend.js';
4
+ import { shareStructure } from '../genui/share-structure.js';
4
5
  import { useAgentBackend } from '../provider.js';
5
6
  import { buildTranscriptBlocks, describeTimestamp, describeUsage, extractMessageText, } from './model.js';
6
7
  import { useStickToBottom } from './use-stick-to-bottom.js';
@@ -181,6 +182,7 @@ function useTranscriptItems({ messages, visibleStart, streamingMessageId, option
181
182
  }, []);
182
183
  const callbackCache = useRef(new Map());
183
184
  const reasoningToggleCache = useRef(new Map());
185
+ const uiBlocks = useRef(new Map());
184
186
  const toggleReasoning = useCallback((key, open) => {
185
187
  setOpenReasoning((current) => {
186
188
  const next = new Map(current);
@@ -353,6 +355,16 @@ function useTranscriptItems({ messages, visibleStart, streamingMessageId, option
353
355
  }, []);
354
356
  const lastAssistantId = findLastAssistant(messages)?.id ?? null;
355
357
  const items = [];
358
+ // Pushed components of the last render, by block key: an unchanged one keeps its object.
359
+ const previousUi = uiBlocks.current;
360
+ const keptUi = new Map();
361
+ const keepUiIdentity = (blocks) => blocks.map((block) => {
362
+ if (block.kind !== 'ui')
363
+ return block;
364
+ const kept = shareStructure(previousUi.get(block.key), block);
365
+ keptUi.set(block.key, kept);
366
+ return kept;
367
+ });
356
368
  for (let index = visibleStart; index < messages.length; index++) {
357
369
  const message = messages[index];
358
370
  if (!message) {
@@ -375,7 +387,7 @@ function useTranscriptItems({ messages, visibleStart, streamingMessageId, option
375
387
  isAssistant,
376
388
  isLastAssistant,
377
389
  isStreaming: message.id === streamingMessageId,
378
- blocks: buildTranscriptBlocks(message, {
390
+ blocks: keepUiIdentity(buildTranscriptBlocks(message, {
379
391
  isReasoningOpen: (key, isStreamingRun) => openReasoning.get(key) ?? isStreamingRun,
380
392
  toggleReasoning: (key, open) => stableToggle(key)(open),
381
393
  ...(options.sources !== undefined ? { sources: options.sources } : {}),
@@ -410,7 +422,7 @@ function useTranscriptItems({ messages, visibleStart, streamingMessageId, option
410
422
  },
411
423
  }
412
424
  : {}),
413
- }),
425
+ })),
414
426
  text,
415
427
  usage: usage ? describeUsage(usage) : null,
416
428
  timestamp: describeTimestamp((options.getCreatedAt ?? createdAtFromMetadata)(message)),
@@ -451,6 +463,7 @@ function useTranscriptItems({ messages, visibleStart, streamingMessageId, option
451
463
  },
452
464
  });
453
465
  }
466
+ uiBlocks.current = keptUi;
454
467
  return items;
455
468
  }
456
469
  /**