@copilotkitnext/react 1.54.0-next.3 → 1.54.0-next.4
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/dist/hooks/use-frontend-tool.cjs +6 -14
- package/dist/hooks/use-frontend-tool.cjs.map +1 -1
- package/dist/hooks/use-frontend-tool.d.cts.map +1 -1
- package/dist/hooks/use-frontend-tool.d.mts.map +1 -1
- package/dist/hooks/use-frontend-tool.mjs +6 -14
- package/dist/hooks/use-frontend-tool.mjs.map +1 -1
- package/dist/hooks/use-human-in-the-loop.cjs +1 -6
- package/dist/hooks/use-human-in-the-loop.cjs.map +1 -1
- package/dist/hooks/use-human-in-the-loop.mjs +1 -6
- package/dist/hooks/use-human-in-the-loop.mjs.map +1 -1
- package/dist/hooks/use-render-tool.cjs +1 -6
- package/dist/hooks/use-render-tool.cjs.map +1 -1
- package/dist/hooks/use-render-tool.d.cts.map +1 -1
- package/dist/hooks/use-render-tool.d.mts.map +1 -1
- package/dist/hooks/use-render-tool.mjs +1 -6
- package/dist/hooks/use-render-tool.mjs.map +1 -1
- package/dist/index.umd.js +38 -36
- package/dist/index.umd.js.map +1 -1
- package/dist/lib/react-core.cjs +26 -1
- package/dist/lib/react-core.cjs.map +1 -1
- package/dist/lib/react-core.d.cts +5 -0
- package/dist/lib/react-core.d.cts.map +1 -1
- package/dist/lib/react-core.d.mts +5 -0
- package/dist/lib/react-core.d.mts.map +1 -1
- package/dist/lib/react-core.mjs +26 -1
- package/dist/lib/react-core.mjs.map +1 -1
- package/package.json +7 -7
package/dist/lib/react-core.cjs
CHANGED
|
@@ -4,6 +4,8 @@ let _copilotkitnext_core = require("@copilotkitnext/core");
|
|
|
4
4
|
//#region src/lib/react-core.ts
|
|
5
5
|
var CopilotKitCoreReact = class extends _copilotkitnext_core.CopilotKitCore {
|
|
6
6
|
_renderToolCalls = [];
|
|
7
|
+
_hookRenderToolCalls = /* @__PURE__ */ new Map();
|
|
8
|
+
_cachedMergedRenderToolCalls = null;
|
|
7
9
|
_renderCustomMessages = [];
|
|
8
10
|
_renderActivityMessages = [];
|
|
9
11
|
_interruptElement = null;
|
|
@@ -20,7 +22,13 @@ var CopilotKitCoreReact = class extends _copilotkitnext_core.CopilotKitCore {
|
|
|
20
22
|
return this._renderActivityMessages;
|
|
21
23
|
}
|
|
22
24
|
get renderToolCalls() {
|
|
23
|
-
return this._renderToolCalls;
|
|
25
|
+
if (this._hookRenderToolCalls.size === 0) return this._renderToolCalls;
|
|
26
|
+
if (this._cachedMergedRenderToolCalls) return this._cachedMergedRenderToolCalls;
|
|
27
|
+
const merged = /* @__PURE__ */ new Map();
|
|
28
|
+
for (const rc of this._renderToolCalls) merged.set(`${rc.agentId ?? ""}:${rc.name}`, rc);
|
|
29
|
+
for (const [key, rc] of this._hookRenderToolCalls) merged.set(key, rc);
|
|
30
|
+
this._cachedMergedRenderToolCalls = Array.from(merged.values());
|
|
31
|
+
return this._cachedMergedRenderToolCalls;
|
|
24
32
|
}
|
|
25
33
|
setRenderActivityMessages(renderers) {
|
|
26
34
|
this._renderActivityMessages = renderers;
|
|
@@ -30,6 +38,23 @@ var CopilotKitCoreReact = class extends _copilotkitnext_core.CopilotKitCore {
|
|
|
30
38
|
}
|
|
31
39
|
setRenderToolCalls(renderToolCalls) {
|
|
32
40
|
this._renderToolCalls = renderToolCalls;
|
|
41
|
+
this._cachedMergedRenderToolCalls = null;
|
|
42
|
+
this._notifyRenderToolCallsChanged();
|
|
43
|
+
}
|
|
44
|
+
addHookRenderToolCall(entry) {
|
|
45
|
+
const key = `${entry.agentId ?? ""}:${entry.name}`;
|
|
46
|
+
this._hookRenderToolCalls.set(key, entry);
|
|
47
|
+
this._cachedMergedRenderToolCalls = null;
|
|
48
|
+
this._notifyRenderToolCallsChanged();
|
|
49
|
+
}
|
|
50
|
+
removeHookRenderToolCall(name, agentId) {
|
|
51
|
+
const key = `${agentId ?? ""}:${name}`;
|
|
52
|
+
if (this._hookRenderToolCalls.delete(key)) {
|
|
53
|
+
this._cachedMergedRenderToolCalls = null;
|
|
54
|
+
this._notifyRenderToolCallsChanged();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
_notifyRenderToolCallsChanged() {
|
|
33
58
|
this.notifySubscribers((subscriber) => {
|
|
34
59
|
const reactSubscriber = subscriber;
|
|
35
60
|
if (reactSubscriber.onRenderToolCallsChanged) reactSubscriber.onRenderToolCallsChanged({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-core.cjs","names":["CopilotKitCore"],"sources":["../../src/lib/react-core.ts"],"sourcesContent":["import React from \"react\";\nimport { ReactActivityMessageRenderer, ReactToolCallRenderer } from \"@/types\";\nimport { ReactCustomMessageRenderer } from \"@/types/react-custom-message-renderer\";\nimport {\n CopilotKitCore,\n type CopilotKitCoreConfig,\n type CopilotKitCoreSubscriber,\n type CopilotKitCoreSubscription,\n} from \"@copilotkitnext/core\";\n\nexport interface CopilotKitCoreReactConfig extends CopilotKitCoreConfig {\n // Add any additional configuration properties specific to the React implementation\n renderToolCalls?: ReactToolCallRenderer<any>[];\n renderActivityMessages?: ReactActivityMessageRenderer<any>[];\n\n // Add custom message renderers\n renderCustomMessages?: ReactCustomMessageRenderer[];\n}\n\nexport interface CopilotKitCoreReactSubscriber extends CopilotKitCoreSubscriber {\n onRenderToolCallsChanged?: (event: {\n copilotkit: CopilotKitCore;\n renderToolCalls: ReactToolCallRenderer<any>[];\n }) => void | Promise<void>;\n onInterruptElementChanged?: (event: {\n copilotkit: CopilotKitCore;\n interruptElement: React.ReactElement | null;\n }) => void | Promise<void>;\n}\n\nexport class CopilotKitCoreReact extends CopilotKitCore {\n private _renderToolCalls: ReactToolCallRenderer<any>[] = [];\n private _renderCustomMessages: ReactCustomMessageRenderer[] = [];\n private _renderActivityMessages: ReactActivityMessageRenderer<any>[] = [];\n private _interruptElement: React.ReactElement | null = null;\n\n constructor(config: CopilotKitCoreReactConfig) {\n super(config);\n this._renderToolCalls = config.renderToolCalls ?? [];\n this._renderCustomMessages = config.renderCustomMessages ?? [];\n this._renderActivityMessages = config.renderActivityMessages ?? [];\n }\n\n get renderCustomMessages(): Readonly<ReactCustomMessageRenderer[]> {\n return this._renderCustomMessages;\n }\n\n get renderActivityMessages(): Readonly<ReactActivityMessageRenderer<any>>[] {\n return this._renderActivityMessages;\n }\n\n get renderToolCalls(): Readonly<ReactToolCallRenderer<any>>[] {\n return this._renderToolCalls;\n }\n\n setRenderActivityMessages(\n renderers: ReactActivityMessageRenderer<any>[],\n ): void {\n this._renderActivityMessages = renderers;\n }\n\n setRenderCustomMessages(renderers: ReactCustomMessageRenderer[]): void {\n this._renderCustomMessages = renderers;\n }\n\n setRenderToolCalls(renderToolCalls: ReactToolCallRenderer<any>[]): void {\n this._renderToolCalls = renderToolCalls;\n\n
|
|
1
|
+
{"version":3,"file":"react-core.cjs","names":["CopilotKitCore"],"sources":["../../src/lib/react-core.ts"],"sourcesContent":["import React from \"react\";\nimport { ReactActivityMessageRenderer, ReactToolCallRenderer } from \"@/types\";\nimport { ReactCustomMessageRenderer } from \"@/types/react-custom-message-renderer\";\nimport {\n CopilotKitCore,\n type CopilotKitCoreConfig,\n type CopilotKitCoreSubscriber,\n type CopilotKitCoreSubscription,\n} from \"@copilotkitnext/core\";\n\nexport interface CopilotKitCoreReactConfig extends CopilotKitCoreConfig {\n // Add any additional configuration properties specific to the React implementation\n renderToolCalls?: ReactToolCallRenderer<any>[];\n renderActivityMessages?: ReactActivityMessageRenderer<any>[];\n\n // Add custom message renderers\n renderCustomMessages?: ReactCustomMessageRenderer[];\n}\n\nexport interface CopilotKitCoreReactSubscriber extends CopilotKitCoreSubscriber {\n onRenderToolCallsChanged?: (event: {\n copilotkit: CopilotKitCore;\n renderToolCalls: ReactToolCallRenderer<any>[];\n }) => void | Promise<void>;\n onInterruptElementChanged?: (event: {\n copilotkit: CopilotKitCore;\n interruptElement: React.ReactElement | null;\n }) => void | Promise<void>;\n}\n\nexport class CopilotKitCoreReact extends CopilotKitCore {\n private _renderToolCalls: ReactToolCallRenderer<any>[] = [];\n private _hookRenderToolCalls: Map<string, ReactToolCallRenderer<any>> =\n new Map();\n private _cachedMergedRenderToolCalls: ReactToolCallRenderer<any>[] | null =\n null;\n private _renderCustomMessages: ReactCustomMessageRenderer[] = [];\n private _renderActivityMessages: ReactActivityMessageRenderer<any>[] = [];\n private _interruptElement: React.ReactElement | null = null;\n\n constructor(config: CopilotKitCoreReactConfig) {\n super(config);\n this._renderToolCalls = config.renderToolCalls ?? [];\n this._renderCustomMessages = config.renderCustomMessages ?? [];\n this._renderActivityMessages = config.renderActivityMessages ?? [];\n }\n\n get renderCustomMessages(): Readonly<ReactCustomMessageRenderer[]> {\n return this._renderCustomMessages;\n }\n\n get renderActivityMessages(): Readonly<ReactActivityMessageRenderer<any>>[] {\n return this._renderActivityMessages;\n }\n\n get renderToolCalls(): Readonly<ReactToolCallRenderer<any>>[] {\n if (this._hookRenderToolCalls.size === 0) {\n return this._renderToolCalls;\n }\n if (this._cachedMergedRenderToolCalls) {\n return this._cachedMergedRenderToolCalls;\n }\n // Merge: hook entries override prop entries with the same key\n const merged = new Map<string, ReactToolCallRenderer<any>>();\n for (const rc of this._renderToolCalls) {\n merged.set(`${rc.agentId ?? \"\"}:${rc.name}`, rc);\n }\n for (const [key, rc] of this._hookRenderToolCalls) {\n merged.set(key, rc);\n }\n this._cachedMergedRenderToolCalls = Array.from(merged.values());\n return this._cachedMergedRenderToolCalls;\n }\n\n setRenderActivityMessages(\n renderers: ReactActivityMessageRenderer<any>[],\n ): void {\n this._renderActivityMessages = renderers;\n }\n\n setRenderCustomMessages(renderers: ReactCustomMessageRenderer[]): void {\n this._renderCustomMessages = renderers;\n }\n\n setRenderToolCalls(renderToolCalls: ReactToolCallRenderer<any>[]): void {\n this._renderToolCalls = renderToolCalls;\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n\n addHookRenderToolCall(entry: ReactToolCallRenderer<any>): void {\n const key = `${entry.agentId ?? \"\"}:${entry.name}`;\n this._hookRenderToolCalls.set(key, entry);\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n\n removeHookRenderToolCall(name: string, agentId?: string): void {\n const key = `${agentId ?? \"\"}:${name}`;\n if (this._hookRenderToolCalls.delete(key)) {\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n }\n\n private _notifyRenderToolCallsChanged(): void {\n void this.notifySubscribers((subscriber) => {\n const reactSubscriber = subscriber as CopilotKitCoreReactSubscriber;\n if (reactSubscriber.onRenderToolCallsChanged) {\n reactSubscriber.onRenderToolCallsChanged({\n copilotkit: this,\n renderToolCalls: this.renderToolCalls,\n });\n }\n }, \"Subscriber onRenderToolCallsChanged error:\");\n }\n\n get interruptElement(): React.ReactElement | null {\n return this._interruptElement;\n }\n\n setInterruptElement(element: React.ReactElement | null): void {\n this._interruptElement = element;\n void this.notifySubscribers((subscriber) => {\n const reactSubscriber = subscriber as CopilotKitCoreReactSubscriber;\n reactSubscriber.onInterruptElementChanged?.({\n copilotkit: this,\n interruptElement: this._interruptElement,\n });\n }, \"Subscriber onInterruptElementChanged error:\");\n }\n\n // Override to accept React-specific subscriber type\n subscribe(\n subscriber: CopilotKitCoreReactSubscriber,\n ): CopilotKitCoreSubscription {\n return super.subscribe(subscriber);\n }\n}\n"],"mappings":";;;;AA8BA,IAAa,sBAAb,cAAyCA,oCAAe;CACtD,AAAQ,mBAAiD,EAAE;CAC3D,AAAQ,uCACN,IAAI,KAAK;CACX,AAAQ,+BACN;CACF,AAAQ,wBAAsD,EAAE;CAChE,AAAQ,0BAA+D,EAAE;CACzE,AAAQ,oBAA+C;CAEvD,YAAY,QAAmC;AAC7C,QAAM,OAAO;AACb,OAAK,mBAAmB,OAAO,mBAAmB,EAAE;AACpD,OAAK,wBAAwB,OAAO,wBAAwB,EAAE;AAC9D,OAAK,0BAA0B,OAAO,0BAA0B,EAAE;;CAGpE,IAAI,uBAA+D;AACjE,SAAO,KAAK;;CAGd,IAAI,yBAAwE;AAC1E,SAAO,KAAK;;CAGd,IAAI,kBAA0D;AAC5D,MAAI,KAAK,qBAAqB,SAAS,EACrC,QAAO,KAAK;AAEd,MAAI,KAAK,6BACP,QAAO,KAAK;EAGd,MAAM,yBAAS,IAAI,KAAyC;AAC5D,OAAK,MAAM,MAAM,KAAK,iBACpB,QAAO,IAAI,GAAG,GAAG,WAAW,GAAG,GAAG,GAAG,QAAQ,GAAG;AAElD,OAAK,MAAM,CAAC,KAAK,OAAO,KAAK,qBAC3B,QAAO,IAAI,KAAK,GAAG;AAErB,OAAK,+BAA+B,MAAM,KAAK,OAAO,QAAQ,CAAC;AAC/D,SAAO,KAAK;;CAGd,0BACE,WACM;AACN,OAAK,0BAA0B;;CAGjC,wBAAwB,WAA+C;AACrE,OAAK,wBAAwB;;CAG/B,mBAAmB,iBAAqD;AACtE,OAAK,mBAAmB;AACxB,OAAK,+BAA+B;AACpC,OAAK,+BAA+B;;CAGtC,sBAAsB,OAAyC;EAC7D,MAAM,MAAM,GAAG,MAAM,WAAW,GAAG,GAAG,MAAM;AAC5C,OAAK,qBAAqB,IAAI,KAAK,MAAM;AACzC,OAAK,+BAA+B;AACpC,OAAK,+BAA+B;;CAGtC,yBAAyB,MAAc,SAAwB;EAC7D,MAAM,MAAM,GAAG,WAAW,GAAG,GAAG;AAChC,MAAI,KAAK,qBAAqB,OAAO,IAAI,EAAE;AACzC,QAAK,+BAA+B;AACpC,QAAK,+BAA+B;;;CAIxC,AAAQ,gCAAsC;AAC5C,EAAK,KAAK,mBAAmB,eAAe;GAC1C,MAAM,kBAAkB;AACxB,OAAI,gBAAgB,yBAClB,iBAAgB,yBAAyB;IACvC,YAAY;IACZ,iBAAiB,KAAK;IACvB,CAAC;KAEH,6CAA6C;;CAGlD,IAAI,mBAA8C;AAChD,SAAO,KAAK;;CAGd,oBAAoB,SAA0C;AAC5D,OAAK,oBAAoB;AACzB,EAAK,KAAK,mBAAmB,eAAe;AAE1C,GADwB,WACR,4BAA4B;IAC1C,YAAY;IACZ,kBAAkB,KAAK;IACxB,CAAC;KACD,8CAA8C;;CAInD,UACE,YAC4B;AAC5B,SAAO,MAAM,UAAU,WAAW"}
|
|
@@ -23,6 +23,8 @@ interface CopilotKitCoreReactSubscriber extends CopilotKitCoreSubscriber {
|
|
|
23
23
|
}
|
|
24
24
|
declare class CopilotKitCoreReact extends CopilotKitCore {
|
|
25
25
|
private _renderToolCalls;
|
|
26
|
+
private _hookRenderToolCalls;
|
|
27
|
+
private _cachedMergedRenderToolCalls;
|
|
26
28
|
private _renderCustomMessages;
|
|
27
29
|
private _renderActivityMessages;
|
|
28
30
|
private _interruptElement;
|
|
@@ -33,6 +35,9 @@ declare class CopilotKitCoreReact extends CopilotKitCore {
|
|
|
33
35
|
setRenderActivityMessages(renderers: ReactActivityMessageRenderer<any>[]): void;
|
|
34
36
|
setRenderCustomMessages(renderers: ReactCustomMessageRenderer[]): void;
|
|
35
37
|
setRenderToolCalls(renderToolCalls: ReactToolCallRenderer<any>[]): void;
|
|
38
|
+
addHookRenderToolCall(entry: ReactToolCallRenderer<any>): void;
|
|
39
|
+
removeHookRenderToolCall(name: string, agentId?: string): void;
|
|
40
|
+
private _notifyRenderToolCallsChanged;
|
|
36
41
|
get interruptElement(): React.ReactElement | null;
|
|
37
42
|
setInterruptElement(element: React.ReactElement | null): void;
|
|
38
43
|
subscribe(subscriber: CopilotKitCoreReactSubscriber): CopilotKitCoreSubscription;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-core.d.cts","names":[],"sources":["../../src/lib/react-core.ts"],"mappings":";;;;;;;;UAUiB,yBAAA,SAAkC,oBAAA;EAEjD,eAAA,GAAkB,qBAAA;EAClB,sBAAA,GAAyB,4BAAA;EAGzB,oBAAA,GAAuB,0BAAA;AAAA;AAAA,UAGR,6BAAA,SAAsC,wBAAA;EACrD,wBAAA,IAA4B,KAAA;IAC1B,UAAA,EAAY,cAAA;IACZ,eAAA,EAAiB,qBAAA;EAAA,aACN,OAAA;EACb,yBAAA,IAA6B,KAAA;IAC3B,UAAA,EAAY,cAAA;IACZ,gBAAA,EAAkB,KAAA,CAAM,YAAA;EAAA,aACb,OAAA;AAAA;AAAA,cAGF,mBAAA,SAA4B,cAAA;EAAA,QAC/B,gBAAA;EAAA,QACA,qBAAA;EAAA,QACA,uBAAA;EAAA,QACA,iBAAA;cAEI,MAAA,EAAQ,yBAAA;EAAA,IAOhB,oBAAA,CAAA,GAAwB,QAAA,CAAS,0BAAA;EAAA,IAIjC,sBAAA,CAAA,GAA0B,QAAA,CAAS,4BAAA;EAAA,IAInC,eAAA,CAAA,GAAmB,QAAA,CAAS,qBAAA;
|
|
1
|
+
{"version":3,"file":"react-core.d.cts","names":[],"sources":["../../src/lib/react-core.ts"],"mappings":";;;;;;;;UAUiB,yBAAA,SAAkC,oBAAA;EAEjD,eAAA,GAAkB,qBAAA;EAClB,sBAAA,GAAyB,4BAAA;EAGzB,oBAAA,GAAuB,0BAAA;AAAA;AAAA,UAGR,6BAAA,SAAsC,wBAAA;EACrD,wBAAA,IAA4B,KAAA;IAC1B,UAAA,EAAY,cAAA;IACZ,eAAA,EAAiB,qBAAA;EAAA,aACN,OAAA;EACb,yBAAA,IAA6B,KAAA;IAC3B,UAAA,EAAY,cAAA;IACZ,gBAAA,EAAkB,KAAA,CAAM,YAAA;EAAA,aACb,OAAA;AAAA;AAAA,cAGF,mBAAA,SAA4B,cAAA;EAAA,QAC/B,gBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,4BAAA;EAAA,QAEA,qBAAA;EAAA,QACA,uBAAA;EAAA,QACA,iBAAA;cAEI,MAAA,EAAQ,yBAAA;EAAA,IAOhB,oBAAA,CAAA,GAAwB,QAAA,CAAS,0BAAA;EAAA,IAIjC,sBAAA,CAAA,GAA0B,QAAA,CAAS,4BAAA;EAAA,IAInC,eAAA,CAAA,GAAmB,QAAA,CAAS,qBAAA;EAmBhC,yBAAA,CACE,SAAA,EAAW,4BAAA;EAKb,uBAAA,CAAwB,SAAA,EAAW,0BAAA;EAInC,kBAAA,CAAmB,eAAA,EAAiB,qBAAA;EAMpC,qBAAA,CAAsB,KAAA,EAAO,qBAAA;EAO7B,wBAAA,CAAyB,IAAA,UAAc,OAAA;EAAA,QAQ/B,6BAAA;EAAA,IAYJ,gBAAA,CAAA,GAAoB,KAAA,CAAM,YAAA;EAI9B,mBAAA,CAAoB,OAAA,EAAS,KAAA,CAAM,YAAA;EAYnC,SAAA,CACE,UAAA,EAAY,6BAAA,GACX,0BAAA;AAAA"}
|
|
@@ -23,6 +23,8 @@ interface CopilotKitCoreReactSubscriber extends CopilotKitCoreSubscriber {
|
|
|
23
23
|
}
|
|
24
24
|
declare class CopilotKitCoreReact extends CopilotKitCore {
|
|
25
25
|
private _renderToolCalls;
|
|
26
|
+
private _hookRenderToolCalls;
|
|
27
|
+
private _cachedMergedRenderToolCalls;
|
|
26
28
|
private _renderCustomMessages;
|
|
27
29
|
private _renderActivityMessages;
|
|
28
30
|
private _interruptElement;
|
|
@@ -33,6 +35,9 @@ declare class CopilotKitCoreReact extends CopilotKitCore {
|
|
|
33
35
|
setRenderActivityMessages(renderers: ReactActivityMessageRenderer<any>[]): void;
|
|
34
36
|
setRenderCustomMessages(renderers: ReactCustomMessageRenderer[]): void;
|
|
35
37
|
setRenderToolCalls(renderToolCalls: ReactToolCallRenderer<any>[]): void;
|
|
38
|
+
addHookRenderToolCall(entry: ReactToolCallRenderer<any>): void;
|
|
39
|
+
removeHookRenderToolCall(name: string, agentId?: string): void;
|
|
40
|
+
private _notifyRenderToolCallsChanged;
|
|
36
41
|
get interruptElement(): React.ReactElement | null;
|
|
37
42
|
setInterruptElement(element: React.ReactElement | null): void;
|
|
38
43
|
subscribe(subscriber: CopilotKitCoreReactSubscriber): CopilotKitCoreSubscription;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-core.d.mts","names":[],"sources":["../../src/lib/react-core.ts"],"mappings":";;;;;;;;UAUiB,yBAAA,SAAkC,oBAAA;EAEjD,eAAA,GAAkB,qBAAA;EAClB,sBAAA,GAAyB,4BAAA;EAGzB,oBAAA,GAAuB,0BAAA;AAAA;AAAA,UAGR,6BAAA,SAAsC,wBAAA;EACrD,wBAAA,IAA4B,KAAA;IAC1B,UAAA,EAAY,cAAA;IACZ,eAAA,EAAiB,qBAAA;EAAA,aACN,OAAA;EACb,yBAAA,IAA6B,KAAA;IAC3B,UAAA,EAAY,cAAA;IACZ,gBAAA,EAAkB,KAAA,CAAM,YAAA;EAAA,aACb,OAAA;AAAA;AAAA,cAGF,mBAAA,SAA4B,cAAA;EAAA,QAC/B,gBAAA;EAAA,QACA,qBAAA;EAAA,QACA,uBAAA;EAAA,QACA,iBAAA;cAEI,MAAA,EAAQ,yBAAA;EAAA,IAOhB,oBAAA,CAAA,GAAwB,QAAA,CAAS,0BAAA;EAAA,IAIjC,sBAAA,CAAA,GAA0B,QAAA,CAAS,4BAAA;EAAA,IAInC,eAAA,CAAA,GAAmB,QAAA,CAAS,qBAAA;
|
|
1
|
+
{"version":3,"file":"react-core.d.mts","names":[],"sources":["../../src/lib/react-core.ts"],"mappings":";;;;;;;;UAUiB,yBAAA,SAAkC,oBAAA;EAEjD,eAAA,GAAkB,qBAAA;EAClB,sBAAA,GAAyB,4BAAA;EAGzB,oBAAA,GAAuB,0BAAA;AAAA;AAAA,UAGR,6BAAA,SAAsC,wBAAA;EACrD,wBAAA,IAA4B,KAAA;IAC1B,UAAA,EAAY,cAAA;IACZ,eAAA,EAAiB,qBAAA;EAAA,aACN,OAAA;EACb,yBAAA,IAA6B,KAAA;IAC3B,UAAA,EAAY,cAAA;IACZ,gBAAA,EAAkB,KAAA,CAAM,YAAA;EAAA,aACb,OAAA;AAAA;AAAA,cAGF,mBAAA,SAA4B,cAAA;EAAA,QAC/B,gBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,4BAAA;EAAA,QAEA,qBAAA;EAAA,QACA,uBAAA;EAAA,QACA,iBAAA;cAEI,MAAA,EAAQ,yBAAA;EAAA,IAOhB,oBAAA,CAAA,GAAwB,QAAA,CAAS,0BAAA;EAAA,IAIjC,sBAAA,CAAA,GAA0B,QAAA,CAAS,4BAAA;EAAA,IAInC,eAAA,CAAA,GAAmB,QAAA,CAAS,qBAAA;EAmBhC,yBAAA,CACE,SAAA,EAAW,4BAAA;EAKb,uBAAA,CAAwB,SAAA,EAAW,0BAAA;EAInC,kBAAA,CAAmB,eAAA,EAAiB,qBAAA;EAMpC,qBAAA,CAAsB,KAAA,EAAO,qBAAA;EAO7B,wBAAA,CAAyB,IAAA,UAAc,OAAA;EAAA,QAQ/B,6BAAA;EAAA,IAYJ,gBAAA,CAAA,GAAoB,KAAA,CAAM,YAAA;EAI9B,mBAAA,CAAoB,OAAA,EAAS,KAAA,CAAM,YAAA;EAYnC,SAAA,CACE,UAAA,EAAY,6BAAA,GACX,0BAAA;AAAA"}
|
package/dist/lib/react-core.mjs
CHANGED
|
@@ -3,6 +3,8 @@ import { CopilotKitCore } from "@copilotkitnext/core";
|
|
|
3
3
|
//#region src/lib/react-core.ts
|
|
4
4
|
var CopilotKitCoreReact = class extends CopilotKitCore {
|
|
5
5
|
_renderToolCalls = [];
|
|
6
|
+
_hookRenderToolCalls = /* @__PURE__ */ new Map();
|
|
7
|
+
_cachedMergedRenderToolCalls = null;
|
|
6
8
|
_renderCustomMessages = [];
|
|
7
9
|
_renderActivityMessages = [];
|
|
8
10
|
_interruptElement = null;
|
|
@@ -19,7 +21,13 @@ var CopilotKitCoreReact = class extends CopilotKitCore {
|
|
|
19
21
|
return this._renderActivityMessages;
|
|
20
22
|
}
|
|
21
23
|
get renderToolCalls() {
|
|
22
|
-
return this._renderToolCalls;
|
|
24
|
+
if (this._hookRenderToolCalls.size === 0) return this._renderToolCalls;
|
|
25
|
+
if (this._cachedMergedRenderToolCalls) return this._cachedMergedRenderToolCalls;
|
|
26
|
+
const merged = /* @__PURE__ */ new Map();
|
|
27
|
+
for (const rc of this._renderToolCalls) merged.set(`${rc.agentId ?? ""}:${rc.name}`, rc);
|
|
28
|
+
for (const [key, rc] of this._hookRenderToolCalls) merged.set(key, rc);
|
|
29
|
+
this._cachedMergedRenderToolCalls = Array.from(merged.values());
|
|
30
|
+
return this._cachedMergedRenderToolCalls;
|
|
23
31
|
}
|
|
24
32
|
setRenderActivityMessages(renderers) {
|
|
25
33
|
this._renderActivityMessages = renderers;
|
|
@@ -29,6 +37,23 @@ var CopilotKitCoreReact = class extends CopilotKitCore {
|
|
|
29
37
|
}
|
|
30
38
|
setRenderToolCalls(renderToolCalls) {
|
|
31
39
|
this._renderToolCalls = renderToolCalls;
|
|
40
|
+
this._cachedMergedRenderToolCalls = null;
|
|
41
|
+
this._notifyRenderToolCallsChanged();
|
|
42
|
+
}
|
|
43
|
+
addHookRenderToolCall(entry) {
|
|
44
|
+
const key = `${entry.agentId ?? ""}:${entry.name}`;
|
|
45
|
+
this._hookRenderToolCalls.set(key, entry);
|
|
46
|
+
this._cachedMergedRenderToolCalls = null;
|
|
47
|
+
this._notifyRenderToolCallsChanged();
|
|
48
|
+
}
|
|
49
|
+
removeHookRenderToolCall(name, agentId) {
|
|
50
|
+
const key = `${agentId ?? ""}:${name}`;
|
|
51
|
+
if (this._hookRenderToolCalls.delete(key)) {
|
|
52
|
+
this._cachedMergedRenderToolCalls = null;
|
|
53
|
+
this._notifyRenderToolCallsChanged();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
_notifyRenderToolCallsChanged() {
|
|
32
57
|
this.notifySubscribers((subscriber) => {
|
|
33
58
|
const reactSubscriber = subscriber;
|
|
34
59
|
if (reactSubscriber.onRenderToolCallsChanged) reactSubscriber.onRenderToolCallsChanged({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-core.mjs","names":[],"sources":["../../src/lib/react-core.ts"],"sourcesContent":["import React from \"react\";\nimport { ReactActivityMessageRenderer, ReactToolCallRenderer } from \"@/types\";\nimport { ReactCustomMessageRenderer } from \"@/types/react-custom-message-renderer\";\nimport {\n CopilotKitCore,\n type CopilotKitCoreConfig,\n type CopilotKitCoreSubscriber,\n type CopilotKitCoreSubscription,\n} from \"@copilotkitnext/core\";\n\nexport interface CopilotKitCoreReactConfig extends CopilotKitCoreConfig {\n // Add any additional configuration properties specific to the React implementation\n renderToolCalls?: ReactToolCallRenderer<any>[];\n renderActivityMessages?: ReactActivityMessageRenderer<any>[];\n\n // Add custom message renderers\n renderCustomMessages?: ReactCustomMessageRenderer[];\n}\n\nexport interface CopilotKitCoreReactSubscriber extends CopilotKitCoreSubscriber {\n onRenderToolCallsChanged?: (event: {\n copilotkit: CopilotKitCore;\n renderToolCalls: ReactToolCallRenderer<any>[];\n }) => void | Promise<void>;\n onInterruptElementChanged?: (event: {\n copilotkit: CopilotKitCore;\n interruptElement: React.ReactElement | null;\n }) => void | Promise<void>;\n}\n\nexport class CopilotKitCoreReact extends CopilotKitCore {\n private _renderToolCalls: ReactToolCallRenderer<any>[] = [];\n private _renderCustomMessages: ReactCustomMessageRenderer[] = [];\n private _renderActivityMessages: ReactActivityMessageRenderer<any>[] = [];\n private _interruptElement: React.ReactElement | null = null;\n\n constructor(config: CopilotKitCoreReactConfig) {\n super(config);\n this._renderToolCalls = config.renderToolCalls ?? [];\n this._renderCustomMessages = config.renderCustomMessages ?? [];\n this._renderActivityMessages = config.renderActivityMessages ?? [];\n }\n\n get renderCustomMessages(): Readonly<ReactCustomMessageRenderer[]> {\n return this._renderCustomMessages;\n }\n\n get renderActivityMessages(): Readonly<ReactActivityMessageRenderer<any>>[] {\n return this._renderActivityMessages;\n }\n\n get renderToolCalls(): Readonly<ReactToolCallRenderer<any>>[] {\n return this._renderToolCalls;\n }\n\n setRenderActivityMessages(\n renderers: ReactActivityMessageRenderer<any>[],\n ): void {\n this._renderActivityMessages = renderers;\n }\n\n setRenderCustomMessages(renderers: ReactCustomMessageRenderer[]): void {\n this._renderCustomMessages = renderers;\n }\n\n setRenderToolCalls(renderToolCalls: ReactToolCallRenderer<any>[]): void {\n this._renderToolCalls = renderToolCalls;\n\n
|
|
1
|
+
{"version":3,"file":"react-core.mjs","names":[],"sources":["../../src/lib/react-core.ts"],"sourcesContent":["import React from \"react\";\nimport { ReactActivityMessageRenderer, ReactToolCallRenderer } from \"@/types\";\nimport { ReactCustomMessageRenderer } from \"@/types/react-custom-message-renderer\";\nimport {\n CopilotKitCore,\n type CopilotKitCoreConfig,\n type CopilotKitCoreSubscriber,\n type CopilotKitCoreSubscription,\n} from \"@copilotkitnext/core\";\n\nexport interface CopilotKitCoreReactConfig extends CopilotKitCoreConfig {\n // Add any additional configuration properties specific to the React implementation\n renderToolCalls?: ReactToolCallRenderer<any>[];\n renderActivityMessages?: ReactActivityMessageRenderer<any>[];\n\n // Add custom message renderers\n renderCustomMessages?: ReactCustomMessageRenderer[];\n}\n\nexport interface CopilotKitCoreReactSubscriber extends CopilotKitCoreSubscriber {\n onRenderToolCallsChanged?: (event: {\n copilotkit: CopilotKitCore;\n renderToolCalls: ReactToolCallRenderer<any>[];\n }) => void | Promise<void>;\n onInterruptElementChanged?: (event: {\n copilotkit: CopilotKitCore;\n interruptElement: React.ReactElement | null;\n }) => void | Promise<void>;\n}\n\nexport class CopilotKitCoreReact extends CopilotKitCore {\n private _renderToolCalls: ReactToolCallRenderer<any>[] = [];\n private _hookRenderToolCalls: Map<string, ReactToolCallRenderer<any>> =\n new Map();\n private _cachedMergedRenderToolCalls: ReactToolCallRenderer<any>[] | null =\n null;\n private _renderCustomMessages: ReactCustomMessageRenderer[] = [];\n private _renderActivityMessages: ReactActivityMessageRenderer<any>[] = [];\n private _interruptElement: React.ReactElement | null = null;\n\n constructor(config: CopilotKitCoreReactConfig) {\n super(config);\n this._renderToolCalls = config.renderToolCalls ?? [];\n this._renderCustomMessages = config.renderCustomMessages ?? [];\n this._renderActivityMessages = config.renderActivityMessages ?? [];\n }\n\n get renderCustomMessages(): Readonly<ReactCustomMessageRenderer[]> {\n return this._renderCustomMessages;\n }\n\n get renderActivityMessages(): Readonly<ReactActivityMessageRenderer<any>>[] {\n return this._renderActivityMessages;\n }\n\n get renderToolCalls(): Readonly<ReactToolCallRenderer<any>>[] {\n if (this._hookRenderToolCalls.size === 0) {\n return this._renderToolCalls;\n }\n if (this._cachedMergedRenderToolCalls) {\n return this._cachedMergedRenderToolCalls;\n }\n // Merge: hook entries override prop entries with the same key\n const merged = new Map<string, ReactToolCallRenderer<any>>();\n for (const rc of this._renderToolCalls) {\n merged.set(`${rc.agentId ?? \"\"}:${rc.name}`, rc);\n }\n for (const [key, rc] of this._hookRenderToolCalls) {\n merged.set(key, rc);\n }\n this._cachedMergedRenderToolCalls = Array.from(merged.values());\n return this._cachedMergedRenderToolCalls;\n }\n\n setRenderActivityMessages(\n renderers: ReactActivityMessageRenderer<any>[],\n ): void {\n this._renderActivityMessages = renderers;\n }\n\n setRenderCustomMessages(renderers: ReactCustomMessageRenderer[]): void {\n this._renderCustomMessages = renderers;\n }\n\n setRenderToolCalls(renderToolCalls: ReactToolCallRenderer<any>[]): void {\n this._renderToolCalls = renderToolCalls;\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n\n addHookRenderToolCall(entry: ReactToolCallRenderer<any>): void {\n const key = `${entry.agentId ?? \"\"}:${entry.name}`;\n this._hookRenderToolCalls.set(key, entry);\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n\n removeHookRenderToolCall(name: string, agentId?: string): void {\n const key = `${agentId ?? \"\"}:${name}`;\n if (this._hookRenderToolCalls.delete(key)) {\n this._cachedMergedRenderToolCalls = null;\n this._notifyRenderToolCallsChanged();\n }\n }\n\n private _notifyRenderToolCallsChanged(): void {\n void this.notifySubscribers((subscriber) => {\n const reactSubscriber = subscriber as CopilotKitCoreReactSubscriber;\n if (reactSubscriber.onRenderToolCallsChanged) {\n reactSubscriber.onRenderToolCallsChanged({\n copilotkit: this,\n renderToolCalls: this.renderToolCalls,\n });\n }\n }, \"Subscriber onRenderToolCallsChanged error:\");\n }\n\n get interruptElement(): React.ReactElement | null {\n return this._interruptElement;\n }\n\n setInterruptElement(element: React.ReactElement | null): void {\n this._interruptElement = element;\n void this.notifySubscribers((subscriber) => {\n const reactSubscriber = subscriber as CopilotKitCoreReactSubscriber;\n reactSubscriber.onInterruptElementChanged?.({\n copilotkit: this,\n interruptElement: this._interruptElement,\n });\n }, \"Subscriber onInterruptElementChanged error:\");\n }\n\n // Override to accept React-specific subscriber type\n subscribe(\n subscriber: CopilotKitCoreReactSubscriber,\n ): CopilotKitCoreSubscription {\n return super.subscribe(subscriber);\n }\n}\n"],"mappings":";;;AA8BA,IAAa,sBAAb,cAAyC,eAAe;CACtD,AAAQ,mBAAiD,EAAE;CAC3D,AAAQ,uCACN,IAAI,KAAK;CACX,AAAQ,+BACN;CACF,AAAQ,wBAAsD,EAAE;CAChE,AAAQ,0BAA+D,EAAE;CACzE,AAAQ,oBAA+C;CAEvD,YAAY,QAAmC;AAC7C,QAAM,OAAO;AACb,OAAK,mBAAmB,OAAO,mBAAmB,EAAE;AACpD,OAAK,wBAAwB,OAAO,wBAAwB,EAAE;AAC9D,OAAK,0BAA0B,OAAO,0BAA0B,EAAE;;CAGpE,IAAI,uBAA+D;AACjE,SAAO,KAAK;;CAGd,IAAI,yBAAwE;AAC1E,SAAO,KAAK;;CAGd,IAAI,kBAA0D;AAC5D,MAAI,KAAK,qBAAqB,SAAS,EACrC,QAAO,KAAK;AAEd,MAAI,KAAK,6BACP,QAAO,KAAK;EAGd,MAAM,yBAAS,IAAI,KAAyC;AAC5D,OAAK,MAAM,MAAM,KAAK,iBACpB,QAAO,IAAI,GAAG,GAAG,WAAW,GAAG,GAAG,GAAG,QAAQ,GAAG;AAElD,OAAK,MAAM,CAAC,KAAK,OAAO,KAAK,qBAC3B,QAAO,IAAI,KAAK,GAAG;AAErB,OAAK,+BAA+B,MAAM,KAAK,OAAO,QAAQ,CAAC;AAC/D,SAAO,KAAK;;CAGd,0BACE,WACM;AACN,OAAK,0BAA0B;;CAGjC,wBAAwB,WAA+C;AACrE,OAAK,wBAAwB;;CAG/B,mBAAmB,iBAAqD;AACtE,OAAK,mBAAmB;AACxB,OAAK,+BAA+B;AACpC,OAAK,+BAA+B;;CAGtC,sBAAsB,OAAyC;EAC7D,MAAM,MAAM,GAAG,MAAM,WAAW,GAAG,GAAG,MAAM;AAC5C,OAAK,qBAAqB,IAAI,KAAK,MAAM;AACzC,OAAK,+BAA+B;AACpC,OAAK,+BAA+B;;CAGtC,yBAAyB,MAAc,SAAwB;EAC7D,MAAM,MAAM,GAAG,WAAW,GAAG,GAAG;AAChC,MAAI,KAAK,qBAAqB,OAAO,IAAI,EAAE;AACzC,QAAK,+BAA+B;AACpC,QAAK,+BAA+B;;;CAIxC,AAAQ,gCAAsC;AAC5C,EAAK,KAAK,mBAAmB,eAAe;GAC1C,MAAM,kBAAkB;AACxB,OAAI,gBAAgB,yBAClB,iBAAgB,yBAAyB;IACvC,YAAY;IACZ,iBAAiB,KAAK;IACvB,CAAC;KAEH,6CAA6C;;CAGlD,IAAI,mBAA8C;AAChD,SAAO,KAAK;;CAGd,oBAAoB,SAA0C;AAC5D,OAAK,oBAAoB;AACzB,EAAK,KAAK,mBAAmB,eAAe;AAE1C,GADwB,WACR,4BAA4B;IAC1C,YAAY;IACZ,kBAAkB,KAAK;IACxB,CAAC;KACD,8CAA8C;;CAInD,UACE,YAC4B;AAC5B,SAAO,MAAM,UAAU,WAAW"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@copilotkitnext/react",
|
|
3
|
-
"version": "1.54.0-next.
|
|
3
|
+
"version": "1.54.0-next.4",
|
|
4
4
|
"description": "React components for CopilotKit2",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"types": "./dist/index.d.cts",
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"typescript": "5.8.2",
|
|
42
42
|
"valibot": "^1.2.0",
|
|
43
43
|
"vitest": "^3.2.4",
|
|
44
|
-
"@copilotkitnext/eslint-config": "1.54.0-next.
|
|
45
|
-
"@copilotkitnext/typescript-config": "1.54.0-next.
|
|
44
|
+
"@copilotkitnext/eslint-config": "1.54.0-next.4",
|
|
45
|
+
"@copilotkitnext/typescript-config": "1.54.0-next.4"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@ag-ui/client": "0.0.47",
|
|
@@ -61,10 +61,10 @@
|
|
|
61
61
|
"tw-animate-css": "^1.3.5",
|
|
62
62
|
"use-stick-to-bottom": "^1.1.1",
|
|
63
63
|
"zod": "^3.25.75",
|
|
64
|
-
"@
|
|
65
|
-
"@
|
|
66
|
-
"@copilotkitnext/
|
|
67
|
-
"@copilotkitnext/
|
|
64
|
+
"@copilotkit/a2ui-renderer": "1.54.0-next.4",
|
|
65
|
+
"@copilotkitnext/shared": "1.54.0-next.4",
|
|
66
|
+
"@copilotkitnext/web-inspector": "1.54.0-next.4",
|
|
67
|
+
"@copilotkitnext/core": "1.54.0-next.4"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
70
|
"react": ">=16.8.0",
|