@copilotkit/react-core 1.60.2 → 1.61.1
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/{copilotkit-CP5uyB2h.cjs → copilotkit-BCJDP8qd.cjs} +70 -30
- package/dist/copilotkit-BCJDP8qd.cjs.map +1 -0
- package/dist/{copilotkit-CyL6ZsLP.d.cts → copilotkit-CEdu_aie.d.cts} +23 -1
- package/dist/{copilotkit-UaQ7KSUq.d.mts.map → copilotkit-CEdu_aie.d.cts.map} +1 -1
- package/dist/{copilotkit-UaQ7KSUq.d.mts → copilotkit-M1FiciGd.d.mts} +23 -1
- package/dist/{copilotkit-CyL6ZsLP.d.cts.map → copilotkit-M1FiciGd.d.mts.map} +1 -1
- package/dist/{copilotkit-DheptEiV.mjs → copilotkit-UY-H6Kx7.mjs} +70 -30
- package/dist/copilotkit-UY-H6Kx7.mjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.umd.js +38 -22
- package/dist/index.umd.js.map +1 -1
- package/dist/v2/headless.cjs +60 -13
- package/dist/v2/headless.cjs.map +1 -1
- package/dist/v2/headless.d.cts +22 -0
- package/dist/v2/headless.d.cts.map +1 -1
- package/dist/v2/headless.d.mts +22 -0
- package/dist/v2/headless.d.mts.map +1 -1
- package/dist/v2/headless.mjs +61 -14
- package/dist/v2/headless.mjs.map +1 -1
- package/dist/v2/index.cjs +1 -1
- package/dist/v2/index.d.cts +1 -1
- package/dist/v2/index.d.mts +1 -1
- package/dist/v2/index.mjs +1 -1
- package/dist/v2/index.umd.js +69 -29
- package/dist/v2/index.umd.js.map +1 -1
- package/package.json +6 -6
- package/skills/react-core/references/provider-setup.md +20 -2
- package/dist/copilotkit-CP5uyB2h.cjs.map +0 -1
- package/dist/copilotkit-DheptEiV.mjs.map +0 -1
package/dist/v2/headless.d.mts
CHANGED
|
@@ -190,9 +190,27 @@ declare function useComponent<TSchema extends StandardSchemaV1 | undefined = und
|
|
|
190
190
|
//#endregion
|
|
191
191
|
//#region src/v2/types/human-in-the-loop.d.ts
|
|
192
192
|
type ReactHumanInTheLoop<T extends Record<string, unknown> = Record<string, unknown>> = Omit<FrontendTool<T>, "handler"> & {
|
|
193
|
+
/**
|
|
194
|
+
* Render the human-in-the-loop UI for this tool call.
|
|
195
|
+
*
|
|
196
|
+
* Beyond the tool call's `args`/`status`/`result`, the render props carry
|
|
197
|
+
* attribution:
|
|
198
|
+
* - `toolCallId` — the AG-UI tool call id, unique per interrupt. It is the
|
|
199
|
+
* stable key for correlating this interrupt with runtime (sub)agent
|
|
200
|
+
* attribution — e.g. the `agentId` reported by `onToolExecutionStart`, or
|
|
201
|
+
* per-run attribution stamped on the event stream — so the UI can label
|
|
202
|
+
* the interrupt with the agent that actually raised it.
|
|
203
|
+
* - `agentId` — the agent this tool was *registered* to (the tool's own
|
|
204
|
+
* `agentId`), or `undefined` for an unscoped tool. This is the static
|
|
205
|
+
* registration scope; it is NOT necessarily the runtime (sub)agent that
|
|
206
|
+
* raised the interrupt. For runtime attribution, correlate `toolCallId`
|
|
207
|
+
* with the event-stream/`onToolExecutionStart` agent id.
|
|
208
|
+
*/
|
|
193
209
|
render: React$1.ComponentType<{
|
|
194
210
|
name: string;
|
|
195
211
|
description: string;
|
|
212
|
+
toolCallId: string;
|
|
213
|
+
agentId?: string;
|
|
196
214
|
args: Partial<T>;
|
|
197
215
|
status: ToolCallStatus.InProgress;
|
|
198
216
|
result: undefined;
|
|
@@ -200,6 +218,8 @@ type ReactHumanInTheLoop<T extends Record<string, unknown> = Record<string, unkn
|
|
|
200
218
|
} | {
|
|
201
219
|
name: string;
|
|
202
220
|
description: string;
|
|
221
|
+
toolCallId: string;
|
|
222
|
+
agentId?: string;
|
|
203
223
|
args: T;
|
|
204
224
|
status: ToolCallStatus.Executing;
|
|
205
225
|
result: undefined;
|
|
@@ -207,6 +227,8 @@ type ReactHumanInTheLoop<T extends Record<string, unknown> = Record<string, unkn
|
|
|
207
227
|
} | {
|
|
208
228
|
name: string;
|
|
209
229
|
description: string;
|
|
230
|
+
toolCallId: string;
|
|
231
|
+
agentId?: string;
|
|
210
232
|
args: T;
|
|
211
233
|
status: ToolCallStatus.Complete;
|
|
212
234
|
result: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.d.mts","names":[],"sources":["../../src/v2/providers/CopilotChatConfigurationProvider.tsx","../../src/v2/hooks/use-agent.tsx","../../src/v2/types/react-tool-call-renderer.ts","../../src/v2/types/frontend-tool.ts","../../src/v2/hooks/use-frontend-tool.tsx","../../src/v2/hooks/use-component.tsx","../../src/v2/types/human-in-the-loop.ts","../../src/v2/hooks/use-human-in-the-loop.tsx","../../src/v2/types/interrupt.ts","../../src/v2/hooks/use-interrupt.tsx","../../src/v2/hooks/use-suggestions.tsx","../../src/v2/hooks/use-configure-suggestions.tsx","../../src/v2/hooks/use-agent-context.tsx","../../src/v2/hooks/use-threads.tsx","../../src/v2/hooks/use-render-tool.tsx","../../src/v2/types/defineToolCallRenderer.ts","../../src/v2/hooks/use-capabilities.tsx"],"mappings":";;;;;;;;cAca,wBAAA;;;;;;;;;;;;;;;;;;;;;;KAwBD,iBAAA,UAA2B,wBAAA;AAAA,UAGtB,6BAAA;EACf,MAAA,EAAQ,iBAAA;EACR,OAAA;EACA,QAAA;EACA,WAAA;EACA,YAAA,GAAe,IAAA;EAKf,mBAAA;AAAA;AAAA,UAQe,qCAAA;EACf,QAAA,EAAU,SAAA;EACV,MAAA,GAAS,OAAA,CAAQ,iBAAA;EACjB,OAAA;EACA,QAAA;EAMA,mBAAA;EACA,kBAAA;AAAA;AAAA,cAIW,gCAAA,EAAkC,OAAA,CAAM,EAAA,CACnD,qCAAA;AAAA,cAoHW,2BAAA,QACP,6BAAA;;;aCpLM,cAAA;EACV,iBAAA;EACA,cAAA;EACA,kBAAA;AAAA;AAAA,UASe,aAAA;EACf,OAAA;EACA,OAAA,GAAU,cAAA;EDUX;;;;;;;;;;;;;;;;;;;;;;ECaC,UAAA;AAAA;AAAA,iBAGc,QAAA,CAAA;EAAW,OAAA;EAAS,OAAA;EAAS;AAAA,IAAc,aAAA;;;;;UCjD1C,qBAAA;EACf,IAAA;EACA,IAAA,EAAM,gBAAA,MAAsB,CAAA;;;;AFS9B;EEJE,OAAA;EACA,MAAA,EAAQ,KAAA,CAAM,aAAA;IAER,IAAA;IACA,UAAA;IACA,IAAA,EAAM,OAAA,CAAQ,CAAA;IACd,MAAA,EAAQ,cAAA,CAAe,UAAA;IACvB,MAAA;EAAA;IAGA,IAAA;IACA,UAAA;IACA,IAAA,EAAM,CAAA;IACN,MAAA,EAAQ,cAAA,CAAe,SAAA;IACvB,MAAA;EAAA;IAGA,IAAA;IACA,UAAA;IACA,IAAA,EAAM,CAAA;IACN,MAAA,EAAQ,cAAA,CAAe,QAAA;IACvB,MAAA;EAAA;AAAA;;;KC5BI,iBAAA,WACA,MAAA,oBAA0B,MAAA,qBAClC,YAAA,CAAa,CAAA;EACf,MAAA,GAAS,qBAAA,CAAsB,CAAA;AAAA;;;iBCAjB,eAAA,WACJ,MAAA,oBAA0B,MAAA,kBAAA,CACpC,IAAA,EAAM,iBAAA,CAAkB,CAAA,GAAI,IAAA,GAAO,aAAA;;;KCJhC,gBAAA,MAAsB,CAAA,SAAU,gBAAA,GACjC,iBAAA,CAAkB,CAAA;;;;;;ALStB;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA;;;;;AAGA;;;;;;;;;;;;;;iBKiBgB,YAAA,iBACE,gBAAA,yBAAA,CAEhB,MAAA;EACE,IAAA;EACA,WAAA;EACA,UAAA,GAAa,OAAA;EACb,MAAA,EAAQ,aAAA,CAAc,OAAA,CAAQ,gBAAA,CAAiB,OAAA;EAC/C,OAAA;EACA,QAAA;AAAA,GAEF,IAAA,GAAO,aAAA;;;KClEG,mBAAA,WACA,MAAA,oBAA0B,MAAA,qBAClC,IAAA,CAAK,YAAA,CAAa,CAAA
|
|
1
|
+
{"version":3,"file":"headless.d.mts","names":[],"sources":["../../src/v2/providers/CopilotChatConfigurationProvider.tsx","../../src/v2/hooks/use-agent.tsx","../../src/v2/types/react-tool-call-renderer.ts","../../src/v2/types/frontend-tool.ts","../../src/v2/hooks/use-frontend-tool.tsx","../../src/v2/hooks/use-component.tsx","../../src/v2/types/human-in-the-loop.ts","../../src/v2/hooks/use-human-in-the-loop.tsx","../../src/v2/types/interrupt.ts","../../src/v2/hooks/use-interrupt.tsx","../../src/v2/hooks/use-suggestions.tsx","../../src/v2/hooks/use-configure-suggestions.tsx","../../src/v2/hooks/use-agent-context.tsx","../../src/v2/hooks/use-threads.tsx","../../src/v2/hooks/use-render-tool.tsx","../../src/v2/types/defineToolCallRenderer.ts","../../src/v2/hooks/use-capabilities.tsx"],"mappings":";;;;;;;;cAca,wBAAA;;;;;;;;;;;;;;;;;;;;;;KAwBD,iBAAA,UAA2B,wBAAA;AAAA,UAGtB,6BAAA;EACf,MAAA,EAAQ,iBAAA;EACR,OAAA;EACA,QAAA;EACA,WAAA;EACA,YAAA,GAAe,IAAA;EAKf,mBAAA;AAAA;AAAA,UAQe,qCAAA;EACf,QAAA,EAAU,SAAA;EACV,MAAA,GAAS,OAAA,CAAQ,iBAAA;EACjB,OAAA;EACA,QAAA;EAMA,mBAAA;EACA,kBAAA;AAAA;AAAA,cAIW,gCAAA,EAAkC,OAAA,CAAM,EAAA,CACnD,qCAAA;AAAA,cAoHW,2BAAA,QACP,6BAAA;;;aCpLM,cAAA;EACV,iBAAA;EACA,cAAA;EACA,kBAAA;AAAA;AAAA,UASe,aAAA;EACf,OAAA;EACA,OAAA,GAAU,cAAA;EDUX;;;;;;;;;;;;;;;;;;;;;;ECaC,UAAA;AAAA;AAAA,iBAGc,QAAA,CAAA;EAAW,OAAA;EAAS,OAAA;EAAS;AAAA,IAAc,aAAA;;;;;UCjD1C,qBAAA;EACf,IAAA;EACA,IAAA,EAAM,gBAAA,MAAsB,CAAA;;;;AFS9B;EEJE,OAAA;EACA,MAAA,EAAQ,KAAA,CAAM,aAAA;IAER,IAAA;IACA,UAAA;IACA,IAAA,EAAM,OAAA,CAAQ,CAAA;IACd,MAAA,EAAQ,cAAA,CAAe,UAAA;IACvB,MAAA;EAAA;IAGA,IAAA;IACA,UAAA;IACA,IAAA,EAAM,CAAA;IACN,MAAA,EAAQ,cAAA,CAAe,SAAA;IACvB,MAAA;EAAA;IAGA,IAAA;IACA,UAAA;IACA,IAAA,EAAM,CAAA;IACN,MAAA,EAAQ,cAAA,CAAe,QAAA;IACvB,MAAA;EAAA;AAAA;;;KC5BI,iBAAA,WACA,MAAA,oBAA0B,MAAA,qBAClC,YAAA,CAAa,CAAA;EACf,MAAA,GAAS,qBAAA,CAAsB,CAAA;AAAA;;;iBCAjB,eAAA,WACJ,MAAA,oBAA0B,MAAA,kBAAA,CACpC,IAAA,EAAM,iBAAA,CAAkB,CAAA,GAAI,IAAA,GAAO,aAAA;;;KCJhC,gBAAA,MAAsB,CAAA,SAAU,gBAAA,GACjC,iBAAA,CAAkB,CAAA;;;;;;ALStB;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA;;;;;AAGA;;;;;;;;;;;;;;iBKiBgB,YAAA,iBACE,gBAAA,yBAAA,CAEhB,MAAA;EACE,IAAA;EACA,WAAA;EACA,UAAA,GAAa,OAAA;EACb,MAAA,EAAQ,aAAA,CAAc,OAAA,CAAQ,gBAAA,CAAiB,OAAA;EAC/C,OAAA;EACA,QAAA;AAAA,GAEF,IAAA,GAAO,aAAA;;;KClEG,mBAAA,WACA,MAAA,oBAA0B,MAAA,qBAClC,IAAA,CAAK,YAAA,CAAa,CAAA;;;;;;ANStB;;;;;;;;;;;EMQE,MAAA,EAAQ,OAAA,CAAM,aAAA;IAER,IAAA;IACA,WAAA;IACA,UAAA;IACA,OAAA;IACA,IAAA,EAAM,OAAA,CAAQ,CAAA;IACd,MAAA,EAAQ,cAAA,CAAe,UAAA;IACvB,MAAA;IACA,OAAA;EAAA;IAGA,IAAA;IACA,WAAA;IACA,UAAA;IACA,OAAA;IACA,IAAA,EAAM,CAAA;IACN,MAAA,EAAQ,cAAA,CAAe,SAAA;IACvB,MAAA;IACA,OAAA,GAAU,MAAA,cAAoB,OAAA;EAAA;IAG9B,IAAA;IACA,WAAA;IACA,UAAA;IACA,OAAA;IACA,IAAA,EAAM,CAAA;IACN,MAAA,EAAQ,cAAA,CAAe,QAAA;IACvB,MAAA;IACA,OAAA;EAAA;AAAA;;;iBC1CQ,iBAAA,WACJ,MAAA,oBAA0B,MAAA,kBAAA,CACpC,IAAA,EAAM,mBAAA,CAAoB,CAAA,GAAI,IAAA,GAAO,aAAA;;;UCTtB,cAAA;EACf,IAAA;EACA,KAAA,EAAO,MAAA;AAAA;AAAA,UAGQ,qBAAA;EACf,KAAA,EAAO,cAAA,CAAe,MAAA;EACtB,OAAA,GAAU,QAAA,cAAsB,OAAA,CAAQ,cAAA;AAAA;AAAA,UAGzB,oBAAA;EACf,KAAA,EAAO,cAAA,CAAe,MAAA;EACtB,MAAA,EAAQ,OAAA;EACR,OAAA,GAAU,QAAA,cAAsB,OAAA,CAAQ,cAAA;AAAA;;;KCIrC,kBAAA,qBACH,KAAA,EAAO,qBAAA,CAAsB,MAAA,MAC1B,OAAA,GAAU,WAAA,CAAY,OAAA;AAAA,KAEtB,0BAAA,aAAuC,QAAA,cACvC,IAAA,+BAED,OAAA,SAAgB,WAAA,oBACd,SAAA,UACA,OAAA;AAAA,KAGD,eAAA,oBAAmC,0BAAA,CACtC,kBAAA,CAAmB,MAAA,EAAQ,OAAA;AAAA,KAGxB,qBAAA;AAAA,KAEA,kBAAA,uBAAyC,qBAAA,IAC5C,aAAA,iBACI,OAAA,CAAM,YAAA,UACN,aAAA,mCAEE,OAAA,CAAM,YAAA;;;;UAeJ,sBAAA;;;;;;;EAOR,MAAA,GACE,KAAA,EAAO,oBAAA,CAAqB,MAAA,EAAQ,eAAA,CAAgB,MAAA,EAAQ,OAAA,OACzD,OAAA,CAAM,YAAA;;;;;;;EAOX,OAAA,GAAU,kBAAA,CAAmB,MAAA,EAAQ,OAAA;;;;;EAKrC,OAAA,IAAW,KAAA,EAAO,cAAA,CAAe,MAAA;;EAEjC,OAAA;AAAA;AAAA,KA2BU,kBAAA,0DAGY,qBAAA,gBACpB,sBAAA,CAAuB,MAAA,EAAQ,OAAA;ETjEjC,8HSmEA,YAAA,GAAe,aAAA;AAAA;;;ATtDjB;;;;;;;;;;;;;;;;;;;AAeA;;;;;;;;;AAqHA;;;;;;;;ACnLA;;;;;;;;;AAYA;;;;;;;;;;AA4BA;;;iBQ6HgB,YAAA,wCAEQ,qBAAA,aAAA,CAEtB,MAAA,EAAQ,kBAAA,MAAwB,OAAA,EAAS,aAAA,IACxC,kBAAA,CAAmB,aAAA;;;UChLL,qBAAA;EACf,OAAA;AAAA;AAAA,UAGe,oBAAA;EACf,WAAA,EAAa,UAAA;EACb,iBAAA;EACA,gBAAA;EACA,SAAA;AAAA;AAAA,iBAGc,cAAA,CAAA;EACd;AAAA,IACC,qBAAA,GAA6B,oBAAA;;;KCR3B,qBAAA,GAAwB,IAAA,CAAK,UAAA,iBAChC,OAAA,CAAQ,IAAA,CAAK,UAAA;AAAA,KAEV,4BAAA,GAA+B,IAAA,CAClC,uBAAA;EAGA,WAAA,EAAa,qBAAA;AAAA;AAAA,KAGV,sBAAA,GACD,wBAAA,GACA,4BAAA;AAAA,iBAEY,uBAAA,CACd,MAAA,EAAQ,sBAAA,qBACR,IAAA,GAAO,aAAA;;;;;;KCrBG,gBAAA,sCAKR,gBAAA;EAAA,CACG,GAAA,WAAc,gBAAA;AAAA;;;AZErB;;UYIiB,iBAAA;EZkBhB;EYhBC,WAAA;;EAEA,KAAA,EAAO,gBAAA;AAAA;AAAA,iBAGO,eAAA,CAAgB,OAAA,EAAS,iBAAA;;;;;;;;;UCAxB,MAAA;EACf,EAAA;EACA,OAAA;EACA,IAAA;EACA,QAAA;EACA,SAAA;EACA,SAAA;;;;;;;EAOA,SAAA;AAAA;;;;;;;UASe,eAAA;;EAEf,OAAA;;EAEA,eAAA;;EAEA,KAAA;AAAA;;;;;AbZF;;;UasBiB,gBAAA;EbrBf;;;;;Ea2BA,OAAA,EAAS,MAAA;EbvBM;;;;Ea4Bf,SAAA;EbfoD;;;;;EaqBpD,KAAA,EAAO,KAAA;EbnBS;;;;EawBhB,cAAA;EbxBiB;;;Ea4BjB,qBAAA;EbnBA;;;AAIF;EaoBE,gBAAA;;;;;EAKA,YAAA,GAAe,QAAA,UAAkB,IAAA,aAAiB,OAAA;EbxBb;;AAoHvC;;;EatFE,aAAA,GAAgB,QAAA,aAAqB,OAAA;EbuFJ;;;;ACpLnC;EYmGE,YAAA,GAAe,QAAA,aAAqB,OAAA;AAAA;;;;;;;AZvFtC;;;;;;;;;;AA4BA;;;;;;;;;;;;;;;;;;;;;;;;ACjDA;iBWwKgB,UAAA,CAAA;EACd,OAAA;EACA,eAAA;EACA;AAAA,GACC,eAAA,GAAkB,gBAAA;;;UCxKJ,yBAAA,WAAoC,gBAAA;EACnD,IAAA;EACA,UAAA;EACA,UAAA,EAAY,OAAA,CAAQ,iBAAA,CAAkB,CAAA;EACtC,MAAA;EACA,MAAA;AAAA;AAAA,UAGe,wBAAA,WAAmC,gBAAA;EAClD,IAAA;EACA,UAAA;EACA,UAAA,EAAY,iBAAA,CAAkB,CAAA;EAC9B,MAAA;EACA,MAAA;AAAA;AAAA,UAGe,uBAAA,WAAkC,gBAAA;EACjD,IAAA;EACA,UAAA;EACA,UAAA,EAAY,iBAAA,CAAkB,CAAA;EAC9B,MAAA;EACA,MAAA;AAAA;AAAA,KAGU,eAAA,WAA0B,gBAAA,IAClC,yBAAA,CAA0B,CAAA,IAC1B,wBAAA,CAAyB,CAAA,IACzB,uBAAA,CAAwB,CAAA;;;;;;;;;;;;AdI5B;;;;;AAGA;;;;;;;;iBc0BgB,aAAA,CACd,MAAA;EACE,IAAA;EACA,MAAA,GAAS,KAAA,UAAe,KAAA,CAAM,YAAA;EAC9B,OAAA;AAAA,GAEF,IAAA,GAAO,aAAA;;AddT;;;;;;;;;;;;;;;;;;;AAeA;;;;;;;iBc6BgB,aAAA,WAAwB,gBAAA,CAAA,CACtC,MAAA;EACE,IAAA;EACA,UAAA,EAAY,CAAA;EACZ,MAAA,GAAS,KAAA,EAAO,eAAA,CAAgB,CAAA,MAAO,KAAA,CAAM,YAAA;EAC7C,OAAA;AAAA,GAEF,IAAA,GAAO,aAAA;;;;;;;AdhGT;;;KeDK,WAAA;EAEC,IAAA;EACA,UAAA;EACA,IAAA,EAAM,OAAA,CAAQ,CAAA;EACd,MAAA,EAAQ,cAAA,CAAe,UAAA;EACvB,MAAA;AAAA;EAGA,IAAA;EACA,UAAA;EACA,IAAA,EAAM,CAAA;EACN,MAAA,EAAQ,cAAA,CAAe,SAAA;EACvB,MAAA;AAAA;EAGA,IAAA;EACA,UAAA;EACA,IAAA,EAAM,CAAA;EACN,MAAA,EAAQ,cAAA,CAAe,QAAA;EACvB,MAAA;AAAA;AAAA,iBAIU,sBAAA,CAAuB,GAAA;EACrC,IAAA;EACA,MAAA,GAAS,KAAA,EAAO,WAAA,UAAqB,OAAA,CAAM,YAAA;EAC3C,OAAA;AAAA,IACE,qBAAA;AAAA,iBAGY,sBAAA,WAAiC,gBAAA,CAAA,CAAkB,GAAA;EACjE,IAAA;EACA,IAAA,EAAM,CAAA;EACN,MAAA,GAAS,KAAA,EAAO,WAAA,CAAY,iBAAA,CAAkB,CAAA,OAAQ,OAAA,CAAM,YAAA;EAC5D,OAAA;AAAA,IACE,qBAAA,CAAsB,iBAAA,CAAkB,CAAA;;;;;;;;;;AfnC5C;;;;iBgBAgB,eAAA,CACd,OAAA,YACC,iBAAA"}
|
package/dist/v2/headless.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { DEFAULT_AGENT_ID, randomUUID } from "@copilotkit/shared";
|
|
|
4
4
|
import { twMerge } from "tailwind-merge";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
import { HttpAgent } from "@ag-ui/client";
|
|
7
|
-
import { CopilotKitCoreRuntimeConnectionStatus, ProxiedCopilotRuntimeAgent, ɵcreateThreadStore, ɵselectHasNextPage, ɵselectIsFetchingNextPage, ɵselectThreads, ɵselectThreadsError, ɵselectThreadsIsLoading } from "@copilotkit/core";
|
|
7
|
+
import { CopilotKitCoreRuntimeConnectionStatus, ProxiedCopilotRuntimeAgent, ToolCallStatus, ɵcreateThreadStore, ɵselectHasNextPage, ɵselectIsFetchingNextPage, ɵselectThreads, ɵselectThreadsError, ɵselectThreadsIsLoading } from "@copilotkit/core";
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
|
|
10
10
|
//#region src/v2/lib/slots.tsx
|
|
@@ -402,49 +402,72 @@ function useComponent(config, deps) {
|
|
|
402
402
|
function useHumanInTheLoop(tool, deps) {
|
|
403
403
|
const { copilotkit } = useCopilotKit();
|
|
404
404
|
const resolvePromiseRef = useRef(null);
|
|
405
|
+
const cleanupAbortRef = useRef(null);
|
|
405
406
|
const respond = useCallback(async (result) => {
|
|
406
407
|
if (resolvePromiseRef.current) {
|
|
408
|
+
cleanupAbortRef.current?.();
|
|
409
|
+
cleanupAbortRef.current = null;
|
|
407
410
|
resolvePromiseRef.current(result);
|
|
408
411
|
resolvePromiseRef.current = null;
|
|
409
412
|
}
|
|
410
413
|
}, []);
|
|
411
|
-
const handler = useCallback(async () => {
|
|
412
|
-
|
|
414
|
+
const handler = useCallback(async (_args, context) => {
|
|
415
|
+
const signal = context?.signal;
|
|
416
|
+
return new Promise((resolve, reject) => {
|
|
417
|
+
if (signal?.aborted) {
|
|
418
|
+
reject(/* @__PURE__ */ new Error("Human-in-the-loop interaction aborted"));
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
413
421
|
resolvePromiseRef.current = resolve;
|
|
422
|
+
if (signal) {
|
|
423
|
+
const onAbort = () => {
|
|
424
|
+
cleanupAbortRef.current = null;
|
|
425
|
+
resolvePromiseRef.current = null;
|
|
426
|
+
reject(/* @__PURE__ */ new Error("Human-in-the-loop interaction aborted"));
|
|
427
|
+
};
|
|
428
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
429
|
+
cleanupAbortRef.current = () => {
|
|
430
|
+
signal.removeEventListener("abort", onAbort);
|
|
431
|
+
};
|
|
432
|
+
}
|
|
414
433
|
});
|
|
415
434
|
}, []);
|
|
416
435
|
const RenderComponent = useCallback((props) => {
|
|
417
436
|
const ToolComponent = tool.render;
|
|
418
|
-
if (props.status ===
|
|
437
|
+
if (props.status === ToolCallStatus.InProgress) {
|
|
419
438
|
const enhancedProps = {
|
|
420
439
|
...props,
|
|
421
440
|
name: tool.name,
|
|
422
441
|
description: tool.description || "",
|
|
442
|
+
agentId: tool.agentId,
|
|
423
443
|
respond: void 0
|
|
424
444
|
};
|
|
425
445
|
return React.createElement(ToolComponent, enhancedProps);
|
|
426
|
-
} else if (props.status ===
|
|
446
|
+
} else if (props.status === ToolCallStatus.Executing) {
|
|
427
447
|
const enhancedProps = {
|
|
428
448
|
...props,
|
|
429
449
|
name: tool.name,
|
|
430
450
|
description: tool.description || "",
|
|
451
|
+
agentId: tool.agentId,
|
|
431
452
|
respond
|
|
432
453
|
};
|
|
433
454
|
return React.createElement(ToolComponent, enhancedProps);
|
|
434
|
-
} else if (props.status ===
|
|
455
|
+
} else if (props.status === ToolCallStatus.Complete) {
|
|
435
456
|
const enhancedProps = {
|
|
436
457
|
...props,
|
|
437
458
|
name: tool.name,
|
|
438
459
|
description: tool.description || "",
|
|
460
|
+
agentId: tool.agentId,
|
|
439
461
|
respond: void 0
|
|
440
462
|
};
|
|
441
463
|
return React.createElement(ToolComponent, enhancedProps);
|
|
442
464
|
}
|
|
443
|
-
return
|
|
465
|
+
return props;
|
|
444
466
|
}, [
|
|
445
467
|
tool.render,
|
|
446
468
|
tool.name,
|
|
447
469
|
tool.description,
|
|
470
|
+
tool.agentId,
|
|
448
471
|
respond
|
|
449
472
|
]);
|
|
450
473
|
useFrontendTool({
|
|
@@ -970,21 +993,32 @@ function useThreads({ agentId, includeArchived, limit }) {
|
|
|
970
993
|
const headersKey = useMemo(() => {
|
|
971
994
|
return JSON.stringify(Object.entries(copilotkit.headers ?? {}).sort(([left], [right]) => left.localeCompare(right)));
|
|
972
995
|
}, [copilotkit.headers]);
|
|
996
|
+
const runtimeStatus = copilotkit.runtimeConnectionStatus;
|
|
997
|
+
const threadListEndpointSupported = copilotkit.threadEndpoints?.list !== false;
|
|
998
|
+
const threadMutationsSupported = copilotkit.threadEndpoints?.mutations !== false;
|
|
999
|
+
const threadEndpointsUnavailable = !!copilotkit.runtimeUrl && runtimeStatus === CopilotKitCoreRuntimeConnectionStatus.Connected && !threadListEndpointSupported;
|
|
973
1000
|
const runtimeError = useMemo(() => {
|
|
974
1001
|
if (copilotkit.runtimeUrl) return null;
|
|
975
1002
|
return /* @__PURE__ */ new Error("Runtime URL is not configured");
|
|
976
1003
|
}, [copilotkit.runtimeUrl]);
|
|
1004
|
+
const threadEndpointsError = useMemo(() => {
|
|
1005
|
+
if (!threadEndpointsUnavailable) return null;
|
|
1006
|
+
return /* @__PURE__ */ new Error("Thread endpoints are not available on this CopilotKit runtime");
|
|
1007
|
+
}, [threadEndpointsUnavailable]);
|
|
1008
|
+
const threadMutationsError = useMemo(() => {
|
|
1009
|
+
if (threadMutationsSupported) return null;
|
|
1010
|
+
return /* @__PURE__ */ new Error("Thread mutations are not available on this CopilotKit runtime");
|
|
1011
|
+
}, [threadMutationsSupported]);
|
|
977
1012
|
const [hasDispatchedContext, setHasDispatchedContext] = useState(false);
|
|
978
|
-
const preConnectLoading = !!copilotkit.runtimeUrl && !hasDispatchedContext;
|
|
979
|
-
const isLoading = runtimeError ? false : preConnectLoading || storeIsLoading;
|
|
980
|
-
const error = runtimeError ?? storeError;
|
|
1013
|
+
const preConnectLoading = !!copilotkit.runtimeUrl && !threadEndpointsUnavailable && !hasDispatchedContext;
|
|
1014
|
+
const isLoading = runtimeError || threadEndpointsError ? false : preConnectLoading || storeIsLoading;
|
|
1015
|
+
const error = runtimeError ?? threadEndpointsError ?? storeError;
|
|
981
1016
|
useEffect(() => {
|
|
982
1017
|
store.start();
|
|
983
1018
|
return () => {
|
|
984
1019
|
store.stop();
|
|
985
1020
|
};
|
|
986
1021
|
}, [store]);
|
|
987
|
-
const runtimeStatus = copilotkit.runtimeConnectionStatus;
|
|
988
1022
|
useEffect(() => {
|
|
989
1023
|
copilotkit.registerThreadStore(agentId, store);
|
|
990
1024
|
return () => {
|
|
@@ -998,9 +1032,15 @@ function useThreads({ agentId, includeArchived, limit }) {
|
|
|
998
1032
|
useEffect(() => {
|
|
999
1033
|
if (!copilotkit.runtimeUrl) {
|
|
1000
1034
|
store.setContext(null);
|
|
1035
|
+
setHasDispatchedContext(false);
|
|
1001
1036
|
return;
|
|
1002
1037
|
}
|
|
1003
1038
|
if (runtimeStatus !== CopilotKitCoreRuntimeConnectionStatus.Connected) return;
|
|
1039
|
+
if (!threadListEndpointSupported) {
|
|
1040
|
+
store.setContext(null);
|
|
1041
|
+
setHasDispatchedContext(false);
|
|
1042
|
+
return;
|
|
1043
|
+
}
|
|
1004
1044
|
const context = {
|
|
1005
1045
|
runtimeUrl: copilotkit.runtimeUrl,
|
|
1006
1046
|
headers: { ...copilotkit.headers },
|
|
@@ -1017,13 +1057,20 @@ function useThreads({ agentId, includeArchived, limit }) {
|
|
|
1017
1057
|
runtimeStatus,
|
|
1018
1058
|
headersKey,
|
|
1019
1059
|
copilotkit.intelligence?.wsUrl,
|
|
1060
|
+
threadListEndpointSupported,
|
|
1020
1061
|
agentId,
|
|
1021
1062
|
includeArchived,
|
|
1022
1063
|
limit
|
|
1023
1064
|
]);
|
|
1024
|
-
const
|
|
1025
|
-
|
|
1026
|
-
|
|
1065
|
+
const guardMutation = useCallback((mutation) => {
|
|
1066
|
+
return (...args) => {
|
|
1067
|
+
if (threadMutationsError) return Promise.reject(threadMutationsError);
|
|
1068
|
+
return mutation(...args);
|
|
1069
|
+
};
|
|
1070
|
+
}, [threadMutationsError]);
|
|
1071
|
+
const renameThread = useMemo(() => guardMutation((threadId, name) => store.renameThread(threadId, name)), [store, guardMutation]);
|
|
1072
|
+
const archiveThread = useMemo(() => guardMutation((threadId) => store.archiveThread(threadId)), [store, guardMutation]);
|
|
1073
|
+
const deleteThread = useMemo(() => guardMutation((threadId) => store.deleteThread(threadId)), [store, guardMutation]);
|
|
1027
1074
|
return {
|
|
1028
1075
|
threads,
|
|
1029
1076
|
isLoading,
|