@copilotkit/vue 1.61.1 → 1.62.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 (36) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.mjs +12 -11
  3. package/dist/styles.css +1 -1
  4. package/dist/{use-render-activity-message-BB43N8wJ.js → use-render-activity-message-Bzh3Bckz.js} +3796 -3706
  5. package/dist/use-render-activity-message-Bzh3Bckz.js.map +1 -0
  6. package/dist/use-render-activity-message-CW3vipBB.cjs +85 -0
  7. package/dist/use-render-activity-message-CW3vipBB.cjs.map +1 -0
  8. package/dist/v2/components/chat/CopilotChatMessageView.vue.d.ts.map +1 -1
  9. package/dist/v2/components/chat/CopilotChatView.vue.d.ts.map +1 -1
  10. package/dist/v2/components/chat/index.d.ts.map +1 -1
  11. package/dist/v2/hooks/use-interrupt.d.ts +21 -8
  12. package/dist/v2/hooks/use-interrupt.d.ts.map +1 -1
  13. package/dist/v2/index.cjs +1 -1
  14. package/dist/v2/index.d.cts +1 -0
  15. package/dist/v2/index.d.mts +1 -0
  16. package/dist/v2/index.d.ts +1 -0
  17. package/dist/v2/index.d.ts.map +1 -1
  18. package/dist/v2/index.mjs +8 -7
  19. package/dist/v2/providers/CopilotKitProvider.vue.d.ts.map +1 -1
  20. package/dist/v2/types/interrupt.d.ts +11 -2
  21. package/dist/v2/types/interrupt.d.ts.map +1 -1
  22. package/package.json +4 -4
  23. package/src/v2/__tests__/exports.test.ts +7 -0
  24. package/src/v2/components/chat/CopilotChatInput.vue +1 -1
  25. package/src/v2/components/chat/CopilotChatMessageView.vue +3 -0
  26. package/src/v2/components/chat/CopilotChatSuggestionView.vue +1 -1
  27. package/src/v2/components/chat/CopilotChatView.vue +3 -3
  28. package/src/v2/hooks/__tests__/use-interrupt.test.ts +187 -2
  29. package/src/v2/hooks/use-interrupt.ts +218 -44
  30. package/src/v2/index.ts +5 -0
  31. package/src/v2/providers/CopilotKitProvider.vue +25 -12
  32. package/src/v2/providers/__tests__/CopilotKitProvider.a2ui.test.ts +78 -0
  33. package/src/v2/types/interrupt.ts +18 -2
  34. package/dist/use-render-activity-message-B0zDl3Lc.cjs +0 -85
  35. package/dist/use-render-activity-message-B0zDl3Lc.cjs.map +0 -1
  36. package/dist/use-render-activity-message-BB43N8wJ.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CopilotChatMessageView.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/CopilotChatMessageView.vue"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CopilotChatMessageView.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/CopilotChatMessageView.vue"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CopilotChatView.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/CopilotChatView.vue"],"names":[],"mappings":"AAgvBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAWrD,OAAO,KAAK,EACV,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,aAAa,EACd,MAAM,SAAS,CAAC;AAuBjB,KAAK,WAAW,GAAG;IACjB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,KAAK,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,UAAU,EAAE,CAAC;QAC1B,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,oBAAoB,EAAE,MAAM,CAAC;QAC7B,wBAAwB,EAAE,OAAO,CAAC;QAClC,kBAAkB,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACpE,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,cAAc,EAAE,MAAM,IAAI,CAAC;KAC5B,KAAK,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IACxB,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC;IACxE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,OAAO,CAAC;IAC9D,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,oBAAoB,CAAC;QAChC,cAAc,EAAE,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC;QACxC,WAAW,EAAE,UAAU,EAAE,CAAC;QAC1B,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACzC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,iBAAiB,EAAE,MAAM,IAAI,CAAC;QAC9B,kBAAkB,EAAE,MAAM,IAAI,CAAC;QAC/B,kBAAkB,EAAE,MAAM,IAAI,CAAC;QAC/B,2BAA2B,EAAE,CAAC,SAAS,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACxE,KAAK,OAAO,CAAC;IACd,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;QAC1B,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,kBAAkB,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;KACrE,KAAK,OAAO,CAAC;IACd,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,WAAW,EAAE,UAAU,EAAE,CAAC;QAC1B,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,WAAW,EAAE,UAAU,EAAE,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,oBAAoB,CAAC;QAChC,cAAc,EAAE,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC;QACxC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACzC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB,SAAS,EAAE,MAAM,IAAI,CAAC;QACtB,iBAAiB,EAAE,MAAM,IAAI,CAAC;QAC9B,kBAAkB,EAAE,MAAM,IAAI,CAAC;QAC/B,kBAAkB,EAAE,MAAM,IAAI,CAAC;QAC/B,2BAA2B,EAAE,CAAC,SAAS,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACvE,kBAAkB,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;KACrE,KAAK,OAAO,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;CACtD,CAAC;AAu2BF,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAQnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"CopilotChatView.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/CopilotChatView.vue"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAGrF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAC/F,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAClF,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAShF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA0By3vB,CAAC;;;;;;;;;;;;;;;;;;;;;;sBAAwyB,CAAC;;;;;;;;;;;CAxBzrxB,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGlC,CAAC;AAEH,OAAO,EAAE,+BAA+B,EAAE,gCAAgC,EAAE,CAAC;AAE7E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;CAG7B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE3B,CAAC;AAEH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAGrF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAC/F,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAClF,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAShF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA0B44vB,CAAC;;;;;;;;;;;;;;;;;;;;;;sBAAwyB,CAAC;;;;;;;;;;;CAxB5sxB,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGlC,CAAC;AAEH,OAAO,EAAE,+BAA+B,EAAE,gCAAgC,EAAE,CAAC;AAE7E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;CAG7B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE3B,CAAC;AAEH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE7B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { ComputedRef, Ref } from "vue";
2
- import type { InterruptEvent, InterruptHandlerProps, InterruptRenderProps } from "../types/interrupt";
3
- export type { InterruptEvent, InterruptHandlerProps, InterruptRenderProps };
2
+ import type { Interrupt } from "@ag-ui/client";
3
+ import type { InterruptEvent, InterruptHandlerProps, InterruptRenderProps, InterruptResolveFn, InterruptCancelFn } from "../types/interrupt";
4
+ export type { InterruptEvent, InterruptHandlerProps, InterruptRenderProps, Interrupt, };
4
5
  type InterruptHandlerFn<TValue, TResult> = (props: InterruptHandlerProps<TValue>) => TResult | PromiseLike<TResult>;
5
6
  type InterruptResultFromHandler<THandler> = THandler extends (...args: never[]) => infer TResult ? TResult extends PromiseLike<infer TResolved> ? TResolved | null : TResult | null : null;
6
7
  type InterruptResult<TValue, TResult> = InterruptResultFromHandler<InterruptHandlerFn<TValue, TResult>>;
@@ -14,20 +15,32 @@ export interface UseInterruptResult<TValue = unknown, TResult = never> {
14
15
  interrupt: Ref<InterruptEvent<TValue> | null>;
15
16
  result: Ref<InterruptResult<TValue, TResult>>;
16
17
  hasInterrupt: ComputedRef<boolean>;
17
- resolveInterrupt: (response: unknown) => void;
18
+ /** Resolve the pending interrupt. Standard: records resolved response and submits when all addressed. Legacy: resumes via forwardedProps.command. */
19
+ resolve: InterruptResolveFn;
20
+ /** Alias of resolve for back-compat. */
21
+ resolveInterrupt: InterruptResolveFn;
22
+ /** Cancel the pending interrupt. Standard: records cancelled response and submits when all addressed. */
23
+ cancel: InterruptCancelFn;
24
+ /** Alias of cancel for back-compat. */
25
+ cancelInterrupt: InterruptCancelFn;
18
26
  slotProps: ComputedRef<InterruptRenderProps<TValue, InterruptResult<TValue, TResult>> | null>;
19
27
  }
20
28
  export declare function isPromiseLike<TValue>(value: TValue | PromiseLike<TValue>): value is PromiseLike<TValue>;
21
29
  /**
22
- * Vue composable for handling `on_interrupt` custom events from an agent.
30
+ * Vue composable for handling agent interrupts with optional filtering,
31
+ * preprocessing, and resume behavior.
23
32
  *
24
- * It tracks the latest pending interrupt, optionally derives UI data via
25
- * `handler`, and can publish slot state into `CopilotChat` so consumers render
26
- * interrupts through the `#interrupt` slot instead of render functions/TSX.
33
+ * Supports both the AG-UI standard interrupt flow (`RUN_FINISHED` with
34
+ * `outcome:"interrupt"`) and the legacy custom-event flow (`on_interrupt`).
35
+ * For standard interrupts, `slotProps` receives `interrupt` (the primary one)
36
+ * and `interrupts` (the full open set); call `resolve(payload)` to resume or
37
+ * `cancel()` to cancel. Resuming addresses the targeted interrupt and, once
38
+ * every open interrupt is addressed, submits a single spec `resume` array via
39
+ * `copilotkit.runAgent`.
27
40
  *
28
41
  * @example
29
42
  * ```ts
30
- * const { interrupt, hasInterrupt, resolveInterrupt } = useInterrupt({
43
+ * const { interrupt, hasInterrupt, resolve, cancel } = useInterrupt({
31
44
  * handler: ({ event }) => ({ label: String(event.value) }),
32
45
  * });
33
46
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"use-interrupt.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/use-interrupt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG5C,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;AAI5E,KAAK,kBAAkB,CAAC,MAAM,EAAE,OAAO,IAAI,CACzC,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC,KACjC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAEpC,KAAK,0BAA0B,CAAC,QAAQ,IAAI,QAAQ,SAAS,CAC3D,GAAG,IAAI,EAAE,KAAK,EAAE,KACb,MAAM,OAAO,GACd,OAAO,SAAS,WAAW,CAAC,MAAM,SAAS,CAAC,GAC1C,SAAS,GAAG,IAAI,GAChB,OAAO,GAAG,IAAI,GAChB,IAAI,CAAC;AAET,KAAK,eAAe,CAAC,MAAM,EAAE,OAAO,IAAI,0BAA0B,CAChE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CACpC,CAAC;AAEF,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,KAAK;IACnE,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,KAAK;IACnE,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,WAAW,CAAC,oBAAoB,CACzC,MAAM,EACN,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CACjC,GAAG,IAAI,CAAC,CAAC;CACX;AAED,wBAAgB,aAAa,CAAC,MAAM,EAClC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAClC,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,CAM9B;AAkBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,KAAK,EAC5D,MAAM,GAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAM,GAC/C,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CA2KrC"}
1
+ {"version":3,"file":"use-interrupt.d.ts","sourceRoot":"","sources":["../../../src/v2/hooks/use-interrupt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,eAAe,CAAC;AAG/D,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,GACV,CAAC;AAiBF,KAAK,kBAAkB,CAAC,MAAM,EAAE,OAAO,IAAI,CACzC,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC,KACjC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAEpC,KAAK,0BAA0B,CAAC,QAAQ,IAAI,QAAQ,SAAS,CAC3D,GAAG,IAAI,EAAE,KAAK,EAAE,KACb,MAAM,OAAO,GACd,OAAO,SAAS,WAAW,CAAC,MAAM,SAAS,CAAC,GAC1C,SAAS,GAAG,IAAI,GAChB,OAAO,GAAG,IAAI,GAChB,IAAI,CAAC;AAET,KAAK,eAAe,CAAC,MAAM,EAAE,OAAO,IAAI,0BAA0B,CAChE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CACpC,CAAC;AAEF,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,KAAK;IACnE,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,KAAK;IACnE,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,qJAAqJ;IACrJ,OAAO,EAAE,kBAAkB,CAAC;IAC5B,wCAAwC;IACxC,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,yGAAyG;IACzG,MAAM,EAAE,iBAAiB,CAAC;IAC1B,uCAAuC;IACvC,eAAe,EAAE,iBAAiB,CAAC;IACnC,SAAS,EAAE,WAAW,CAAC,oBAAoB,CACzC,MAAM,EACN,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CACjC,GAAG,IAAI,CAAC,CAAC;CACX;AAED,wBAAgB,aAAa,CAAC,MAAM,EAClC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAClC,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,CAM9B;AAwBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,KAAK,EAC5D,MAAM,GAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAM,GAC/C,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAiTrC"}
package/dist/v2/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@copilotkit/core"),i=require("@ag-ui/client"),e=require("../use-render-activity-message-B0zDl3Lc.cjs"),n=require("@copilotkit/shared");exports.A2UIActivityContentSchema=e.A2UIActivityContentSchema;exports.A2UISurfaceActivityRenderer=e._sfc_main;exports.A2UISurfaceActivityType=e.A2UISurfaceActivityType;exports.CopilotChat=e.CopilotChat;exports.CopilotChatAssistantMessage=e._sfc_main$1;exports.CopilotChatAttachmentQueue=e._sfc_main$2;exports.CopilotChatAttachmentRenderer=e._sfc_main$3;exports.CopilotChatAudioRecorder=e._sfc_main$4;exports.CopilotChatConfigurationProvider=e._sfc_main$5;exports.CopilotChatDefaultLabels=e.CopilotChatDefaultLabels;exports.CopilotChatInput=e._sfc_main$6;exports.CopilotChatMessageView=e._sfc_main$7;exports.CopilotChatReasoningMessage=e._sfc_main$8;exports.CopilotChatSuggestionPill=e._sfc_main$9;exports.CopilotChatSuggestionView=e._sfc_main$10;exports.CopilotChatToggleButton=e.CopilotChatToggleButton;exports.CopilotChatToggleButtonCloseIcon=e.CopilotChatToggleButtonCloseIcon;exports.CopilotChatToggleButtonOpenIcon=e.CopilotChatToggleButtonOpenIcon;exports.CopilotChatToolCallsView=e._sfc_main$11;exports.CopilotChatUserMessage=e._sfc_main$12;exports.CopilotChatView=e._sfc_main$13;exports.CopilotKitCoreVue=e.CopilotKitCoreVue;exports.CopilotKitInspector=e._sfc_main$14;exports.CopilotKitProvider=e._sfc_main$15;exports.CopilotModalHeader=e.CopilotModalHeader;exports.CopilotPopup=e._sfc_main$16;exports.CopilotPopupView=e.CopilotPopupView;exports.CopilotSidebar=e._sfc_main$17;exports.CopilotSidebarView=e.CopilotSidebarView;exports.GenerateSandboxedUiArgsSchema=e.GenerateSandboxedUiArgsSchema;exports.LicenseContextKey=e.LicenseContextKey;exports.MCPAppsActivityContentSchema=e.MCPAppsActivityContentSchema;exports.MCPAppsActivityRenderer=e.MCPAppsActivityRenderer;exports.MCPAppsActivityType=e.MCPAppsActivityType;exports.OpenGenerativeUIActivityRenderer=e.OpenGenerativeUIActivityRenderer;exports.OpenGenerativeUIActivityType=e.OpenGenerativeUIActivityType;exports.OpenGenerativeUIContentSchema=e.OpenGenerativeUIContentSchema;exports.OpenGenerativeUIRenderer=e.OpenGenerativeUIRenderer;exports.OpenGenerativeUIToolRenderer=e.OpenGenerativeUIToolRenderer;exports.UseAgentUpdate=e.UseAgentUpdate;exports.createA2UIMessageRenderer=e.createA2UIMessageRenderer;exports.createDefaultLicenseRef=e.createDefaultLicenseRef;exports.defineToolCallRenderer=e.defineToolCallRenderer;exports.extractCompleteStyles=e.extractCompleteStyles;exports.getOperationSurfaceId=e.getOperationSurfaceId;exports.processPartialHtml=e.processPartialHtml;exports.useAgent=e.useAgent;exports.useAgentContext=e.useAgentContext;exports.useAttachments=e.useAttachments;exports.useCapabilities=e.useCapabilities;exports.useComponent=e.useComponent;exports.useConfigureSuggestions=e.useConfigureSuggestions;exports.useCopilotChatConfiguration=e.useCopilotChatConfiguration;exports.useCopilotKit=e.useCopilotKit;exports.useDefaultRenderTool=e.useDefaultRenderTool;exports.useFrontendTool=e.useFrontendTool;exports.useHumanInTheLoop=e.useHumanInTheLoop;exports.useInterrupt=e.useInterrupt;exports.useKatexStyles=e.useKatexStyles;exports.useKeyboardHeight=e.useKeyboardHeight;exports.useLicenseContext=e.useLicenseContext;exports.useRenderActivityMessage=e.useRenderActivityMessage;exports.useRenderCustomMessages=e.useRenderCustomMessages;exports.useRenderTool=e.useRenderTool;exports.useSandboxFunctions=e.useSandboxFunctions;exports.useSuggestions=e.useSuggestions;exports.useThreads=e.useThreads;Object.defineProperty(exports,"createLicenseContextValue",{enumerable:!0,get:()=>n.createLicenseContextValue});Object.keys(o).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>o[t]})});Object.keys(i).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>i[t]})});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@copilotkit/core"),i=require("@ag-ui/client"),e=require("../use-render-activity-message-CW3vipBB.cjs"),n=require("@copilotkit/shared");exports.A2UIActivityContentSchema=e.A2UIActivityContentSchema;exports.A2UISurfaceActivityRenderer=e._sfc_main;exports.A2UISurfaceActivityType=e.A2UISurfaceActivityType;exports.CopilotChat=e.CopilotChat;exports.CopilotChatAssistantMessage=e._sfc_main$1;exports.CopilotChatAttachmentQueue=e._sfc_main$2;exports.CopilotChatAttachmentRenderer=e._sfc_main$3;exports.CopilotChatAudioRecorder=e._sfc_main$4;exports.CopilotChatConfigurationProvider=e._sfc_main$5;exports.CopilotChatDefaultLabels=e.CopilotChatDefaultLabels;exports.CopilotChatInput=e._sfc_main$6;exports.CopilotChatMessageView=e._sfc_main$7;exports.CopilotChatReasoningMessage=e._sfc_main$8;exports.CopilotChatSuggestionPill=e._sfc_main$9;exports.CopilotChatSuggestionView=e._sfc_main$10;exports.CopilotChatToggleButton=e.CopilotChatToggleButton;exports.CopilotChatToggleButtonCloseIcon=e.CopilotChatToggleButtonCloseIcon;exports.CopilotChatToggleButtonOpenIcon=e.CopilotChatToggleButtonOpenIcon;exports.CopilotChatToolCallsView=e._sfc_main$11;exports.CopilotChatUserMessage=e._sfc_main$12;exports.CopilotChatView=e._sfc_main$13;exports.CopilotKitCoreVue=e.CopilotKitCoreVue;exports.CopilotKitInspector=e._sfc_main$14;exports.CopilotKitProvider=e._sfc_main$15;exports.CopilotModalHeader=e.CopilotModalHeader;exports.CopilotPopup=e._sfc_main$16;exports.CopilotPopupView=e.CopilotPopupView;exports.CopilotSidebar=e._sfc_main$17;exports.CopilotSidebarView=e.CopilotSidebarView;exports.GenerateSandboxedUiArgsSchema=e.GenerateSandboxedUiArgsSchema;exports.LicenseContextKey=e.LicenseContextKey;exports.MCPAppsActivityContentSchema=e.MCPAppsActivityContentSchema;exports.MCPAppsActivityRenderer=e.MCPAppsActivityRenderer;exports.MCPAppsActivityType=e.MCPAppsActivityType;exports.OpenGenerativeUIActivityRenderer=e.OpenGenerativeUIActivityRenderer;exports.OpenGenerativeUIActivityType=e.OpenGenerativeUIActivityType;exports.OpenGenerativeUIContentSchema=e.OpenGenerativeUIContentSchema;exports.OpenGenerativeUIRenderer=e.OpenGenerativeUIRenderer;exports.OpenGenerativeUIToolRenderer=e.OpenGenerativeUIToolRenderer;exports.UseAgentUpdate=e.UseAgentUpdate;exports.createA2UIMessageRenderer=e.createA2UIMessageRenderer;exports.createDefaultLicenseRef=e.createDefaultLicenseRef;exports.defineToolCallRenderer=e.defineToolCallRenderer;exports.extractCompleteStyles=e.extractCompleteStyles;exports.getOperationSurfaceId=e.getOperationSurfaceId;exports.processPartialHtml=e.processPartialHtml;exports.useAgent=e.useAgent;exports.useAgentContext=e.useAgentContext;exports.useAttachments=e.useAttachments;exports.useCapabilities=e.useCapabilities;exports.useComponent=e.useComponent;exports.useConfigureSuggestions=e.useConfigureSuggestions;exports.useCopilotChatConfiguration=e.useCopilotChatConfiguration;exports.useCopilotKit=e.useCopilotKit;exports.useDefaultRenderTool=e.useDefaultRenderTool;exports.useFrontendTool=e.useFrontendTool;exports.useHumanInTheLoop=e.useHumanInTheLoop;exports.useInterrupt=e.useInterrupt;exports.useKatexStyles=e.useKatexStyles;exports.useKeyboardHeight=e.useKeyboardHeight;exports.useLicenseContext=e.useLicenseContext;exports.useRenderActivityMessage=e.useRenderActivityMessage;exports.useRenderCustomMessages=e.useRenderCustomMessages;exports.useRenderTool=e.useRenderTool;exports.useSandboxFunctions=e.useSandboxFunctions;exports.useSuggestions=e.useSuggestions;exports.useThreads=e.useThreads;exports.vueBasicCatalog=e.vueBasicCatalog;Object.defineProperty(exports,"createLicenseContextValue",{enumerable:!0,get:()=>n.createLicenseContextValue});Object.keys(o).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>o[t]})});Object.keys(i).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>i[t]})});
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,7 @@
1
1
  export * from "@copilotkit/core";
2
2
  export * from "@ag-ui/client";
3
3
  export * from "./components";
4
+ export { vueBasicCatalog } from "./components/a2ui/catalog";
4
5
  export * from "./hooks";
5
6
  export * from "./providers";
6
7
  export * from "./types";
@@ -1,6 +1,7 @@
1
1
  export * from "@copilotkit/core";
2
2
  export * from "@ag-ui/client";
3
3
  export * from "./components";
4
+ export { vueBasicCatalog } from "./components/a2ui/catalog";
4
5
  export * from "./hooks";
5
6
  export * from "./providers";
6
7
  export * from "./types";
@@ -1,6 +1,7 @@
1
1
  export * from "@copilotkit/core";
2
2
  export * from "@ag-ui/client";
3
3
  export * from "./components";
4
+ export { vueBasicCatalog } from "./components/a2ui/catalog";
4
5
  export * from "./hooks";
5
6
  export * from "./providers";
6
7
  export * from "./types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAG9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAG9B,cAAc,cAAc,CAAC;AAK7B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC"}
package/dist/v2/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from "@copilotkit/core";
2
2
  export * from "@ag-ui/client";
3
- import { A as o, _ as i, a as n, C, b as r, c as p, d as l, e as u, f as c, g, h as d, i as h, j as A, k as S, l as m, m as v, n as y, o as I, p as f, q as R, r as T, s as U, t as x, u as M, v as P, w as b, x as V, y as K, z as O, G as w, L as G, M as L, B as H, D as B, O as D, E as F, F as Q, H as j, I as k, U as q, J as z, K as E, N as J, P as N, Q as W, R as X, S as Y, T as Z, V as _, W as $, X as ee, Y as ae, Z as te, $ as se, a0 as oe, a1 as ie, a2 as ne, a3 as Ce, a4 as re, a5 as pe, a6 as le, a7 as ue, a8 as ce, a9 as ge, aa as de, ab as he, ac as Ae } from "../use-render-activity-message-BB43N8wJ.js";
3
+ import { A as o, _ as i, a as n, C, b as r, c as p, d as l, e as u, f as c, g, h as d, i as h, j as A, k as v, l as S, m, n as y, o as I, p as f, q as R, r as T, s as U, t as x, u as M, v as P, w as b, x as V, y as K, z as O, G as w, L as G, M as L, B, D as H, O as D, E as F, F as Q, H as j, I as k, U as q, J as z, K as E, N as J, P as N, Q as W, R as X, S as Y, T as Z, V as _, W as $, X as ee, Y as ae, Z as te, $ as se, a0 as oe, a1 as ie, a2 as ne, a3 as Ce, a4 as re, a5 as pe, a6 as le, a7 as ue, a8 as ce, a9 as ge, aa as de, ab as he, ac as Ae, ad as ve } from "../use-render-activity-message-Bzh3Bckz.js";
4
4
  import { createLicenseContextValue as me } from "@copilotkit/shared";
5
5
  export {
6
6
  o as A2UIActivityContentSchema,
@@ -16,9 +16,9 @@ export {
16
16
  d as CopilotChatInput,
17
17
  h as CopilotChatMessageView,
18
18
  A as CopilotChatReasoningMessage,
19
- S as CopilotChatSuggestionPill,
20
- m as CopilotChatSuggestionView,
21
- v as CopilotChatToggleButton,
19
+ v as CopilotChatSuggestionPill,
20
+ S as CopilotChatSuggestionView,
21
+ m as CopilotChatToggleButton,
22
22
  y as CopilotChatToggleButtonCloseIcon,
23
23
  I as CopilotChatToggleButtonOpenIcon,
24
24
  f as CopilotChatToolCallsView,
@@ -35,8 +35,8 @@ export {
35
35
  w as GenerateSandboxedUiArgsSchema,
36
36
  G as LicenseContextKey,
37
37
  L as MCPAppsActivityContentSchema,
38
- H as MCPAppsActivityRenderer,
39
- B as MCPAppsActivityType,
38
+ B as MCPAppsActivityRenderer,
39
+ H as MCPAppsActivityType,
40
40
  D as OpenGenerativeUIActivityRenderer,
41
41
  F as OpenGenerativeUIActivityType,
42
42
  Q as OpenGenerativeUIContentSchema,
@@ -70,6 +70,7 @@ export {
70
70
  ge as useRenderTool,
71
71
  de as useSandboxFunctions,
72
72
  he as useSuggestions,
73
- Ae as useThreads
73
+ Ae as useThreads,
74
+ ve as vueBasicCatalog
74
75
  };
75
76
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"CopilotKitProvider.vue.d.ts","sourceRoot":"","sources":["../../../src/v2/providers/CopilotKitProvider.vue"],"names":[],"mappings":"AAypBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAgCnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EAElB,MAAM,UAAU,CAAC;AA2pBlB,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AA2B/C,QAAA,MAAM,eAAe;;;;;;;;;;;wBAzuBrB,CAtmBiC;mBAsmBjC,CAtmBsE;;;;aAsmBtE,CAjmB0B;eAimB1B,CA/lBE;wBA+lBF,CA9lBS;qBA8lBT,CA7lBiB;;6EA60Cf,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"CopilotKitProvider.vue.d.ts","sourceRoot":"","sources":["../../../src/v2/providers/CopilotKitProvider.vue"],"names":[],"mappings":"AAsqBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAiCnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EAElB,MAAM,UAAU,CAAC;AAuqBlB,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AA2B/C,QAAA,MAAM,eAAe;;;;;;;;;;;wBAtvBrB,CApnByB;mBAonBzB,CAnnBkC;;;;aAmnBlC,CAhnBoC;eAgnBpC,CAhnB6D;wBAgnB7D,CA9mBA;qBA8mBA,CA7mBY;;6EA02CV,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1,14 +1,23 @@
1
+ import type { Interrupt, RunAgentResult } from "@ag-ui/client";
1
2
  export interface InterruptEvent<TValue = unknown> {
2
3
  name: string;
3
4
  value: TValue;
4
5
  }
6
+ export type InterruptResolveFn = (payload?: unknown, interruptId?: string) => Promise<RunAgentResult | void>;
7
+ export type InterruptCancelFn = (interruptId?: string) => Promise<RunAgentResult | void>;
5
8
  export interface InterruptHandlerProps<TValue = unknown> {
6
9
  event: InterruptEvent<TValue>;
7
- resolve: (response: unknown) => void;
10
+ interrupt: Interrupt | null;
11
+ interrupts: Interrupt[];
12
+ resolve: InterruptResolveFn;
13
+ cancel: InterruptCancelFn;
8
14
  }
9
15
  export interface InterruptRenderProps<TValue = unknown, TResult = unknown> {
10
16
  event: InterruptEvent<TValue>;
17
+ interrupt: Interrupt | null;
18
+ interrupts: Interrupt[];
11
19
  result: TResult;
12
- resolve: (response: unknown) => void;
20
+ resolve: InterruptResolveFn;
21
+ cancel: InterruptCancelFn;
13
22
  }
14
23
  //# sourceMappingURL=interrupt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interrupt.d.ts","sourceRoot":"","sources":["../../../src/v2/types/interrupt.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,OAAO;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB,CAAC,MAAM,GAAG,OAAO;IACrD,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACvE,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC"}
1
+ {"version":3,"file":"interrupt.d.ts","sourceRoot":"","sources":["../../../src/v2/types/interrupt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/D,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,OAAO;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,CAAC,EAAE,OAAO,EACjB,WAAW,CAAC,EAAE,MAAM,KACjB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;AACpC,MAAM,MAAM,iBAAiB,GAAG,CAC9B,WAAW,CAAC,EAAE,MAAM,KACjB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;AAEpC,MAAM,WAAW,qBAAqB,CAAC,MAAM,GAAG,OAAO;IACrD,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACvE,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,iBAAiB,CAAC;CAC3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@copilotkit/vue",
3
- "version": "1.61.1",
3
+ "version": "1.62.0",
4
4
  "private": false,
5
5
  "description": "Vue 3 components and composables for CopilotKit",
6
6
  "keywords": [
@@ -70,9 +70,9 @@
70
70
  "streamdown-vue": "^1.0.29",
71
71
  "zod": "^3.25.75",
72
72
  "zod-to-json-schema": "^3.24.5",
73
- "@copilotkit/core": "1.61.1",
74
- "@copilotkit/web-inspector": "1.61.1",
75
- "@copilotkit/shared": "1.61.1"
73
+ "@copilotkit/core": "1.62.0",
74
+ "@copilotkit/web-inspector": "1.62.0",
75
+ "@copilotkit/shared": "1.62.0"
76
76
  },
77
77
  "devDependencies": {
78
78
  "@eslint/js": "^9.39.2",
@@ -25,6 +25,13 @@ describe("package exports", () => {
25
25
  expect(typeof VuePackage.A2UISurfaceActivityRenderer).toBe("object");
26
26
  });
27
27
 
28
+ it("exports the default A2UI catalog for the catalog-on-provider path", () => {
29
+ // Users pass this to `a2ui.catalog` to enable A2UI from the provider.
30
+ // Guards against the library build tree-shaking the re-export away.
31
+ expect(VuePackage.vueBasicCatalog).toBeDefined();
32
+ expect(VuePackage.vueBasicCatalog.components.size).toBeGreaterThan(0);
33
+ });
34
+
28
35
  it("exports the vue stylesheet entrypoint", () => {
29
36
  const packageJson = JSON.parse(readFileSync("package.json", "utf8")) as {
30
37
  exports?: Record<string, unknown>;
@@ -963,7 +963,7 @@ onBeforeUnmount(() => {
963
963
  v-bind="rootAttrs"
964
964
  >
965
965
  <div
966
- class="cpk:pointer-events-auto cpk:mx-auto cpk:max-w-3xl cpk:px-4 cpk:py-0 cpk:sm:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-4"
966
+ class="cpk:pointer-events-auto cpk:mx-auto cpk:max-w-3xl cpk:px-4 cpk:py-0 cpk:@3xl:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-4"
967
967
  >
968
968
  <slot
969
969
  name="layout"
@@ -462,8 +462,11 @@ function resolveToolMessage(
462
462
  v-if="interruptState"
463
463
  name="interrupt"
464
464
  :event="interruptState.event"
465
+ :interrupt="interruptState.interrupt"
466
+ :interrupts="interruptState.interrupts"
465
467
  :result="interruptState.result"
466
468
  :resolve="interruptState.resolve"
469
+ :cancel="interruptState.cancel"
467
470
  />
468
471
 
469
472
  <slot v-if="showCursor" name="cursor">
@@ -33,7 +33,7 @@ const emit = defineEmits<{
33
33
  const attrs = useAttrs();
34
34
  const loadingSet = computed(() => new Set(props.loadingIndexes));
35
35
  const containerClass = computed(() => [
36
- "cpk:flex cpk:flex-wrap cpk:items-center cpk:gap-1.5 cpk:pl-0 cpk:pr-4 cpk:pointer-events-none cpk:sm:gap-2 cpk:sm:px-0",
36
+ "cpk:flex cpk:flex-wrap cpk:items-center cpk:gap-1.5 cpk:pl-0 cpk:pr-4 cpk:pointer-events-none cpk:sm:gap-2 cpk:@3xl:px-0",
37
37
  attrs.class,
38
38
  ]);
39
39
  const containerAttrs = computed(() => {
@@ -458,7 +458,7 @@ onBeforeUnmount(() => {
458
458
  <template>
459
459
  <div
460
460
  data-copilotkit
461
- class="cpk:relative cpk:h-full"
461
+ class="cpk:@container cpk:relative cpk:h-full"
462
462
  data-testid="copilot-chat-view"
463
463
  v-bind="$attrs"
464
464
  @dragover="handleDragOver"
@@ -590,7 +590,7 @@ onBeforeUnmount(() => {
590
590
  @scroll="handleScroll"
591
591
  >
592
592
  <div
593
- class="cpk:px-4 cpk:sm:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-6"
593
+ class="cpk:px-4 cpk:@3xl:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-6"
594
594
  >
595
595
  <div
596
596
  ref="scrollContentRef"
@@ -618,7 +618,7 @@ onBeforeUnmount(() => {
618
618
  </slot>
619
619
  <div
620
620
  v-if="hasSuggestions"
621
- class="cpk:mt-4 cpk:pl-0 cpk:pr-4 cpk:sm:px-0"
621
+ class="cpk:mt-4 cpk:pl-0 cpk:pr-4 cpk:@3xl:px-0"
622
622
  >
623
623
  <slot
624
624
  name="suggestion-view"
@@ -1,6 +1,7 @@
1
1
  import { mount } from "@vue/test-utils";
2
2
  import { computed, defineComponent, h, nextTick } from "vue";
3
3
  import { beforeEach, describe, expect, it, vi } from "vitest";
4
+ import type { Interrupt } from "@ag-ui/client";
4
5
  import { useCopilotKit } from "../../providers/useCopilotKit";
5
6
  import { useAgent } from "../use-agent";
6
7
  import { useInterrupt } from "../use-interrupt";
@@ -16,11 +17,16 @@ vi.mock("../use-agent", () => ({
16
17
  const mockUseCopilotKit = useCopilotKit as ReturnType<typeof vi.fn>;
17
18
  const mockUseAgent = useAgent as ReturnType<typeof vi.fn>;
18
19
 
20
+ type RunFinishedParams =
21
+ | { outcome: "success"; result?: unknown }
22
+ | { outcome: "interrupt"; interrupts: Interrupt[] };
23
+
19
24
  type SubscriptionHandlers = {
20
25
  onCustomEvent?: (payload: {
21
26
  event: { name: string; value: unknown };
22
27
  }) => void;
23
28
  onRunStartedEvent?: () => void;
29
+ onRunFinishedEvent?: (params: RunFinishedParams) => void;
24
30
  onRunFinalized?: () => void;
25
31
  onRunFailed?: () => void;
26
32
  };
@@ -51,6 +57,7 @@ describe("useInterrupt", () => {
51
57
  mockAgent = {
52
58
  subscribe: subscribeMock,
53
59
  id: "test-agent",
60
+ pendingInterrupts: [] as Interrupt[],
54
61
  };
55
62
 
56
63
  coreState = {
@@ -177,15 +184,24 @@ describe("useInterrupt", () => {
177
184
  expect(wrapper.get("[data-testid=interrupt-state]").text()).toBe("idle");
178
185
  });
179
186
 
180
- it("resolve clears UI and resumes agent with response payload", async () => {
187
+ it("resolve keeps card mounted until run starts, then resumes agent with response payload", async () => {
188
+ // Legacy resolve must NOT clear pending synchronously; it relies on
189
+ // onRunStartedEvent (fired by the resume run) to unmount the card —
190
+ // matching react-core's behavior.
181
191
  const wrapper = mountHarness({ renderInChat: false });
182
192
 
183
193
  emitInterrupt("approve-me");
184
194
  await nextTick();
195
+
196
+ // Trigger resolve (click the interrupt card).
185
197
  await wrapper.get("[data-testid=interrupt-state]").trigger("click");
186
198
  await nextTick();
199
+ await Promise.resolve();
187
200
 
188
- expect(wrapper.get("[data-testid=interrupt-state]").text()).toBe("idle");
201
+ // Card must still be mounted — runAgent was dispatched but the run hasn't started yet.
202
+ expect(wrapper.get("[data-testid=interrupt-state]").text()).not.toBe(
203
+ "idle",
204
+ );
189
205
  expect(runAgentMock).toHaveBeenCalledWith({
190
206
  agent: mockAgent,
191
207
  forwardedProps: {
@@ -195,6 +211,11 @@ describe("useInterrupt", () => {
195
211
  },
196
212
  },
197
213
  });
214
+
215
+ // Simulate the resume run starting — onRunStartedEvent clears pending.
216
+ handlers.onRunStartedEvent?.();
217
+ await nextTick();
218
+ expect(wrapper.get("[data-testid=interrupt-state]").text()).toBe("idle");
198
219
  });
199
220
 
200
221
  it("does not render and does not run handler when enabled returns false", async () => {
@@ -342,4 +363,168 @@ describe("useInterrupt", () => {
342
363
  "second",
343
364
  );
344
365
  });
366
+
367
+ describe("AG-UI standard interrupts (vue)", () => {
368
+ const INT: Interrupt = {
369
+ id: "int-1",
370
+ reason: "confirmation",
371
+ message: "Approve?",
372
+ };
373
+
374
+ /** Mount a component that exposes resolve/cancel from slotProps. */
375
+ function mountStandardHarness() {
376
+ const Harness = defineComponent({
377
+ setup() {
378
+ const { slotProps } = useInterrupt({ renderInChat: false });
379
+ return () => {
380
+ const props = slotProps.value;
381
+ if (!props) return h("div", { "data-testid": "idle" }, "idle");
382
+ return h("div", { "data-testid": "active" }, [
383
+ h(
384
+ "button",
385
+ {
386
+ "data-testid": "resolve-btn",
387
+ onClick: () => void props.resolve({ ok: true }),
388
+ },
389
+ "resolve",
390
+ ),
391
+ h(
392
+ "button",
393
+ {
394
+ "data-testid": "cancel-btn",
395
+ onClick: () => void props.cancel(),
396
+ },
397
+ "cancel",
398
+ ),
399
+ ]);
400
+ };
401
+ },
402
+ });
403
+ return mount(Harness);
404
+ }
405
+
406
+ /** Fire the standard interrupt sequence through the subscription handlers. */
407
+ function fireStandardInterrupt(interrupts: Interrupt[]) {
408
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
409
+ (mockAgent as any).pendingInterrupts = interrupts;
410
+ handlers.onRunStartedEvent?.();
411
+ handlers.onRunFinishedEvent?.({ outcome: "interrupt", interrupts });
412
+ handlers.onRunFinalized?.();
413
+ }
414
+
415
+ it("resolveInterrupt resumes with a resolved ResumeEntry", async () => {
416
+ runAgentMock.mockResolvedValue({ result: undefined, newMessages: [] });
417
+ const wrapper = mountStandardHarness();
418
+
419
+ fireStandardInterrupt([INT]);
420
+ await nextTick();
421
+
422
+ // Click the resolve button (which calls props.resolve({ ok: true }))
423
+ await wrapper.get("[data-testid=resolve-btn]").trigger("click");
424
+ await nextTick();
425
+ await Promise.resolve();
426
+ await nextTick();
427
+
428
+ expect(runAgentMock).toHaveBeenCalledWith({
429
+ agent: mockAgent,
430
+ resume: [
431
+ { interruptId: "int-1", status: "resolved", payload: { ok: true } },
432
+ ],
433
+ });
434
+ });
435
+
436
+ it("cancelInterrupt resumes with a cancelled ResumeEntry (no payload)", async () => {
437
+ runAgentMock.mockResolvedValue({ result: undefined, newMessages: [] });
438
+ const wrapper = mountStandardHarness();
439
+
440
+ fireStandardInterrupt([INT]);
441
+ await nextTick();
442
+
443
+ // Click the cancel button (which calls props.cancel())
444
+ await wrapper.get("[data-testid=cancel-btn]").trigger("click");
445
+ await nextTick();
446
+ await Promise.resolve();
447
+ await nextTick();
448
+
449
+ expect(runAgentMock).toHaveBeenCalledWith({
450
+ agent: mockAgent,
451
+ resume: [{ interruptId: "int-1", status: "cancelled" }],
452
+ });
453
+ });
454
+
455
+ it("warns when resolve is called without interruptId while multiple interrupts are open", async () => {
456
+ const warnSpy = vi.spyOn(console, "warn").mockImplementation(() => {});
457
+ const INT2: Interrupt = { id: "int-2", reason: "confirmation" };
458
+
459
+ let capturedResolve: ((payload?: unknown) => void) | undefined;
460
+ const Harness = defineComponent({
461
+ setup() {
462
+ const { slotProps } = useInterrupt({ renderInChat: false });
463
+ capturedResolve = (payload?: unknown) =>
464
+ void slotProps.value?.resolve(payload);
465
+ return () => h("div");
466
+ },
467
+ });
468
+ mount(Harness);
469
+
470
+ // Fire standard interrupt with 2 open interrupts.
471
+ fireStandardInterrupt([INT, INT2]);
472
+ await nextTick();
473
+
474
+ // Call resolve without an interruptId while 2 interrupts are open.
475
+ await capturedResolve?.({ a: 1 });
476
+ await nextTick();
477
+ await Promise.resolve();
478
+
479
+ // Warning must have fired.
480
+ expect(warnSpy).toHaveBeenCalledWith(
481
+ expect.stringContaining("2 interrupts are open"),
482
+ );
483
+ // Only primary addressed — runAgent must NOT have been called yet.
484
+ expect(runAgentMock).not.toHaveBeenCalled();
485
+
486
+ warnSpy.mockRestore();
487
+ });
488
+
489
+ it("legacy on_interrupt still resumes via forwardedProps.command", async () => {
490
+ runAgentMock.mockResolvedValue({ result: undefined, newMessages: [] });
491
+
492
+ // Use resolveInterrupt directly from the composable for the legacy path.
493
+ let capturedResolve: ((payload: unknown) => void) | undefined;
494
+ const Harness = defineComponent({
495
+ setup() {
496
+ const { slotProps, resolveInterrupt } = useInterrupt({
497
+ renderInChat: false,
498
+ });
499
+ capturedResolve = resolveInterrupt;
500
+ return () => {
501
+ const props = slotProps.value;
502
+ if (!props) return h("div", { "data-testid": "idle" }, "idle");
503
+ return h("div", { "data-testid": "active" }, "active");
504
+ };
505
+ },
506
+ });
507
+ mount(Harness);
508
+
509
+ // Fire legacy on_interrupt path
510
+ handlers.onRunStartedEvent?.();
511
+ handlers.onCustomEvent?.({
512
+ event: { name: "on_interrupt", value: "q?" },
513
+ });
514
+ handlers.onRunFinalized?.();
515
+ await nextTick();
516
+
517
+ // Call resolve with legacy payload
518
+ await capturedResolve?.({ approved: true });
519
+ await nextTick();
520
+ await Promise.resolve();
521
+
522
+ expect(runAgentMock).toHaveBeenCalledWith({
523
+ agent: mockAgent,
524
+ forwardedProps: {
525
+ command: { resume: { approved: true }, interruptEvent: "q?" },
526
+ },
527
+ });
528
+ });
529
+ });
345
530
  });