@copilotkit/vue 1.71.0 → 1.71.2
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/PARITY.md +26 -26
- package/package.json +6 -6
package/PARITY.md
CHANGED
|
@@ -384,33 +384,33 @@ Current snapshot: mapped React->Vue counterpart rows are either `matched` or `in
|
|
|
384
384
|
|
|
385
385
|
### Hooks and integration depth
|
|
386
386
|
|
|
387
|
-
| React test anchor | Vue counterpart | Status | Notes
|
|
388
|
-
| ---------------------------------------- | ------------------------------------------------------------------------------- | ------- |
|
|
389
|
-
| `use-agent-context.test.tsx` | `use-agent-context.test.ts` | matched | Base parity exists.
|
|
390
|
-
| `use-agent.e2e.test.tsx` | `use-agent.e2e.test.ts` (+ `use-agent.test.ts`) | matched | Dedicated strict e2e counterpart exists and passes with React-matching case wording and behavior boundaries.
|
|
391
|
-
| `use-agent-throttle.test.tsx` | `use-agent-throttle.test.ts` | matched | Dedicated strict counterpart now mirrors the full React throttle/scheduling matrix, including unthrottled immediate message updates, state/run-status microtask batching, trailing-edge timing semantics, cleanup cases, and provider `defaultThrottleMs` coverage. Post-shared-core alignment it also covers: `onStateChanged` throttled in the same shared window as `onMessagesChanged`, `OnStateChanged`-only subscriptions firing on the leading edge, invalid `throttleMs` warnings sourced from `CopilotKitCore.subscribeToAgentWithOptions`, and `onRunErrorEvent` bypassing the shared window.
|
|
392
|
-
| `use-agent-context-timing.e2e.test.tsx` | `use-agent-context-timing.e2e.test.ts` | matched | Dedicated strict counterpart exists and now passes with React-matching follow-up context behavior (`{"spicy":false}` on the second run).
|
|
393
|
-
| `use-agent-error-state.test.tsx` | `use-agent-error-state.test.ts` | matched | Dedicated strict counterpart now matches React error-state behavior by returning a provisional runtime agent instead of throwing when runtime sync fails.
|
|
394
|
-
| `use-agent-stability.test.tsx` | `use-agent-stability.test.ts` | matched | Dedicated strict counterpart now matches React provisional-agent caching semantics across Disconnected->Connecting->Connected transitions.
|
|
395
|
-
| `threadid-propagation.contract.test.tsx` | `use-agent-thread-pinning.test.ts` | matched | Thread cloning was removed from both frameworks. The Vue counterpart covers the replacement contract: one shared instance per agentId (never a copy), chat-configuration thread pinning gated on `hasExplicitThreadId`, and the all-or-nothing `agentId`/`runtimeAgentId`/`threadId` guards.
|
|
396
|
-
| `use-attachments.test.tsx` | `use-attachments.test.ts` | matched | Dedicated strict counterpart validates stable attachment action identities across rerenders/config identity changes, latest-config reads without stale closures, and empty-queue `consumeAttachments()` no-op semantics. Vue-specific trailing coverage verifies uploaded attachment sources remain non-reactive and `structuredClone`-safe before and after `consumeAttachments()`.
|
|
397
|
-
| `use-configure-suggestions.e2e.test.tsx` | `use-configure-suggestions.e2e.test.ts` (+ `use-configure-suggestions.test.ts`) | matched | Dedicated strict e2e counterpart exists and now passes the full React-mirrored suite, including deferred reload behavior during in-progress runs.
|
|
398
|
-
| `use-frontend-tool-available.test.tsx` | `use-frontend-tool-available.test.ts` | matched | Dedicated strict counterpart exists with React-matching suite and case wording.
|
|
399
|
-
| `use-frontend-tool.e2e.test.tsx` | `use-frontend-tool.e2e.test.ts` (+ `use-frontend-tool.test.ts`) | matched | Dedicated strict e2e counterpart exists and now passes the full React-mirrored suite, including unmount, override, and error-propagation coverage.
|
|
400
|
-
| `use-interrupt.test.tsx` | `use-interrupt.test.ts` | matched | Dedicated strict counterpart includes the full React case set and naming, including thenable handler support and latest-interrupt-wins behavior.
|
|
401
|
-
| `use-render-tool.test.tsx` | `use-render-tool.test.ts` | matched | Dedicated Vue counterpart exists with React-matching suite/case wording and matching Standard Schema/Zod regression coverage via dedicated counterparts.
|
|
402
|
-
| `use-default-render-tool.test.tsx` | `use-default-render-tool.test.ts` | matched | Dedicated Vue counterpart exists with React-matching suite/case wording.
|
|
403
|
-
| `use-component.test.tsx` | `use-component.test.ts` | matched | Dedicated Vue counterpart exists with React-matching suite/case wording and matching Standard Schema/Zod regression coverage via dedicated counterparts.
|
|
404
|
-
| `standard-schema.test.tsx` | `standard-schema.test.ts` | matched | Dedicated Vue counterpart exists with React-matching vendor coverage (`zod`, `valibot`, `arktype`) and matching suite/case wording.
|
|
405
|
-
| `standard-schema-types.test.tsx` | `standard-schema-types.test.ts` | matched | Dedicated Vue counterpart exists with React-matching vendor type-inference coverage and matching suite/case wording.
|
|
406
|
-
| `zod-regression.test.tsx` | `zod-regression.test.ts` | matched | Dedicated Vue counterpart exists with React-matching suite/case wording and coverage boundaries.
|
|
387
|
+
| React test anchor | Vue counterpart | Status | Notes |
|
|
388
|
+
| ---------------------------------------- | ------------------------------------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
389
|
+
| `use-agent-context.test.tsx` | `use-agent-context.test.ts` | matched | Base parity exists. |
|
|
390
|
+
| `use-agent.e2e.test.tsx` | `use-agent.e2e.test.ts` (+ `use-agent.test.ts`) | matched | Dedicated strict e2e counterpart exists and passes with React-matching case wording and behavior boundaries. |
|
|
391
|
+
| `use-agent-throttle.test.tsx` | `use-agent-throttle.test.ts` | matched | Dedicated strict counterpart now mirrors the full React throttle/scheduling matrix, including unthrottled immediate message updates, state/run-status microtask batching, trailing-edge timing semantics, cleanup cases, and provider `defaultThrottleMs` coverage. Post-shared-core alignment it also covers: `onStateChanged` throttled in the same shared window as `onMessagesChanged`, `OnStateChanged`-only subscriptions firing on the leading edge, invalid `throttleMs` warnings sourced from `CopilotKitCore.subscribeToAgentWithOptions`, and `onRunErrorEvent` bypassing the shared window. |
|
|
392
|
+
| `use-agent-context-timing.e2e.test.tsx` | `use-agent-context-timing.e2e.test.ts` | matched | Dedicated strict counterpart exists and now passes with React-matching follow-up context behavior (`{"spicy":false}` on the second run). |
|
|
393
|
+
| `use-agent-error-state.test.tsx` | `use-agent-error-state.test.ts` | matched | Dedicated strict counterpart now matches React error-state behavior by returning a provisional runtime agent instead of throwing when runtime sync fails. |
|
|
394
|
+
| `use-agent-stability.test.tsx` | `use-agent-stability.test.ts` | matched | Dedicated strict counterpart now matches React provisional-agent caching semantics across Disconnected->Connecting->Connected transitions. |
|
|
395
|
+
| `threadid-propagation.contract.test.tsx` | `use-agent-thread-pinning.test.ts` | matched | Thread cloning was removed from both frameworks. The Vue counterpart covers the replacement contract: one shared instance per agentId (never a copy), chat-configuration thread pinning gated on `hasExplicitThreadId`, and the all-or-nothing `agentId`/`runtimeAgentId`/`threadId` guards. |
|
|
396
|
+
| `use-attachments.test.tsx` | `use-attachments.test.ts` | matched | Dedicated strict counterpart validates stable attachment action identities across rerenders/config identity changes, latest-config reads without stale closures, and empty-queue `consumeAttachments()` no-op semantics. Vue-specific trailing coverage verifies uploaded attachment sources remain non-reactive and `structuredClone`-safe before and after `consumeAttachments()`. |
|
|
397
|
+
| `use-configure-suggestions.e2e.test.tsx` | `use-configure-suggestions.e2e.test.ts` (+ `use-configure-suggestions.test.ts`) | matched | Dedicated strict e2e counterpart exists and now passes the full React-mirrored suite, including deferred reload behavior during in-progress runs. |
|
|
398
|
+
| `use-frontend-tool-available.test.tsx` | `use-frontend-tool-available.test.ts` | matched | Dedicated strict counterpart exists with React-matching suite and case wording. |
|
|
399
|
+
| `use-frontend-tool.e2e.test.tsx` | `use-frontend-tool.e2e.test.ts` (+ `use-frontend-tool.test.ts`) | matched | Dedicated strict e2e counterpart exists and now passes the full React-mirrored suite, including unmount, override, and error-propagation coverage. |
|
|
400
|
+
| `use-interrupt.test.tsx` | `use-interrupt.test.ts` | matched | Dedicated strict counterpart includes the full React case set and naming, including thenable handler support and latest-interrupt-wins behavior. |
|
|
401
|
+
| `use-render-tool.test.tsx` | `use-render-tool.test.ts` | matched | Dedicated Vue counterpart exists with React-matching suite/case wording and matching Standard Schema/Zod regression coverage via dedicated counterparts. |
|
|
402
|
+
| `use-default-render-tool.test.tsx` | `use-default-render-tool.test.ts` | matched | Dedicated Vue counterpart exists with React-matching suite/case wording. |
|
|
403
|
+
| `use-component.test.tsx` | `use-component.test.ts` | matched | Dedicated Vue counterpart exists with React-matching suite/case wording and matching Standard Schema/Zod regression coverage via dedicated counterparts. |
|
|
404
|
+
| `standard-schema.test.tsx` | `standard-schema.test.ts` | matched | Dedicated Vue counterpart exists with React-matching vendor coverage (`zod`, `valibot`, `arktype`) and matching suite/case wording. |
|
|
405
|
+
| `standard-schema-types.test.tsx` | `standard-schema-types.test.ts` | matched | Dedicated Vue counterpart exists with React-matching vendor type-inference coverage and matching suite/case wording. |
|
|
406
|
+
| `zod-regression.test.tsx` | `zod-regression.test.ts` | matched | Dedicated Vue counterpart exists with React-matching suite/case wording and coverage boundaries. |
|
|
407
407
|
| `use-human-in-the-loop.e2e.test.tsx` | `use-human-in-the-loop.e2e.test.ts` (+ `use-human-in-the-loop.test.ts`) | matched | Dedicated strict counterpart passes React-mirrored HITL status, interaction, registration, attribution, abort, and reconnection coverage. Vue adds focused lifecycle assertions for already-aborted signals, one-shot abort cleanup, cleanup-before-respond, exhaustive status props, scoped renderer disposal, and preserving a pending promise across renderer unmount. The abort E2E uses the Vue harness's `CopilotKitCore.stopAgent({ agent })` path because its configured agent may be cloned; this is harness-only lifecycle glue. Vue preserves React's no-settle-on-unmount reconnect/remount behavior. |
|
|
408
|
-
| `use-suggestions.e2e.test.tsx` | `use-suggestions.e2e.test.ts` (+ `use-suggestions.test.ts`) | matched | Dedicated strict e2e counterpart exists and passes the full mirrored React case set, including clear/reload/loading transitions.
|
|
409
|
-
| `use-threads.test.tsx` | `use-threads.test.ts` | matched | Dedicated strict counterpart preserves the full React case set and wording; Vue now also matches pagination naming (`hasMoreThreads`, `isFetchingMoreThreads`, `fetchMoreThreads`) and filtered public thread shape, with Vue-only reactivity coverage isolated in a trailing `Vue-specific reactive semantics` block.
|
|
410
|
-
| `use-keyboard-height.test.tsx` | `use-keyboard-height.test.ts` | matched | Dedicated strict counterpart mirrors the React `useKeyboardHeight` suite (Visual Viewport unavailable, open/close threshold at 150 px, resize + scroll updates, listener cleanup on unmount); Vue returns readonly refs with matching field names instead of a plain state object, and a chat-view-level integration assertion in `CopilotChatView.slots.e2e.test.ts` proves the `translateY(-keyboardHeight)` transform is forwarded through `CopilotChatView`.
|
|
411
|
-
| `inspector-thread-override.test.tsx` | `inspector-thread-override.test.ts` | matched | Dedicated integration counterparts mount a real `CopilotChat` and mirror the same eight cases: pinned-thread switching, agent filtering, restoration, consecutive Inspector requests, app-selected and new-thread exits, connect-failure rollback, and request-correlated lifecycle events.
|
|
412
|
-
| `use-katex-styles.test.tsx` | `use-katex-styles.test.ts` | matched | Dedicated strict counterpart mirrors the React `useKatexStyles` suite (dynamic-import success path, failure path with no throw, regression guard that `CopilotChatAssistantMessage.vue` no longer statically imports `katex/dist/katex.min.css` and now calls `useKatexStyles()`).
|
|
413
|
-
| `use-pin-to-send.test.tsx` | `use-pin-to-send.test.ts` | matched | Dedicated strict counterpart for the `N2` `usePinToSend` parity package. Mirrors React case wording 1:1 across spacer height math (`viewportHeight - bubbleHeight - topOffset`), `scrollTo` offset (`offsetTop - topOffset`), bi-directional spacer `ResizeObserver` semantics (grows back when content below the pinned message shrinks), and rAF cleanup on unmount. Vue uses `provide(LastUserMessageKey, ref(...))` instead of `LastUserMessageContext.Provider`, and reuses the same jsdom rAF + height-mock harness as React.
|
|
408
|
+
| `use-suggestions.e2e.test.tsx` | `use-suggestions.e2e.test.ts` (+ `use-suggestions.test.ts`) | matched | Dedicated strict e2e counterpart exists and passes the full mirrored React case set, including clear/reload/loading transitions. |
|
|
409
|
+
| `use-threads.test.tsx` | `use-threads.test.ts` | matched | Dedicated strict counterpart preserves the full React case set and wording; Vue now also matches pagination naming (`hasMoreThreads`, `isFetchingMoreThreads`, `fetchMoreThreads`) and filtered public thread shape, with Vue-only reactivity coverage isolated in a trailing `Vue-specific reactive semantics` block. |
|
|
410
|
+
| `use-keyboard-height.test.tsx` | `use-keyboard-height.test.ts` | matched | Dedicated strict counterpart mirrors the React `useKeyboardHeight` suite (Visual Viewport unavailable, open/close threshold at 150 px, resize + scroll updates, listener cleanup on unmount); Vue returns readonly refs with matching field names instead of a plain state object, and a chat-view-level integration assertion in `CopilotChatView.slots.e2e.test.ts` proves the `translateY(-keyboardHeight)` transform is forwarded through `CopilotChatView`. |
|
|
411
|
+
| `inspector-thread-override.test.tsx` | `inspector-thread-override.test.ts` | matched | Dedicated integration counterparts mount a real `CopilotChat` and mirror the same eight cases: pinned-thread switching, agent filtering, restoration, consecutive Inspector requests, app-selected and new-thread exits, connect-failure rollback, and request-correlated lifecycle events. |
|
|
412
|
+
| `use-katex-styles.test.tsx` | `use-katex-styles.test.ts` | matched | Dedicated strict counterpart mirrors the React `useKatexStyles` suite (dynamic-import success path, failure path with no throw, regression guard that `CopilotChatAssistantMessage.vue` no longer statically imports `katex/dist/katex.min.css` and now calls `useKatexStyles()`). |
|
|
413
|
+
| `use-pin-to-send.test.tsx` | `use-pin-to-send.test.ts` | matched | Dedicated strict counterpart for the `N2` `usePinToSend` parity package. Mirrors React case wording 1:1 across spacer height math (`viewportHeight - bubbleHeight - topOffset`), `scrollTo` offset (`offsetTop - topOffset`), bi-directional spacer `ResizeObserver` semantics (grows back when content below the pinned message shrinks), and rAF cleanup on unmount. Vue uses `provide(LastUserMessageKey, ref(...))` instead of `LastUserMessageContext.Provider`, and reuses the same jsdom rAF + height-mock harness as React. |
|
|
414
414
|
|
|
415
415
|
## Unmapped React Test Backlog
|
|
416
416
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@copilotkit/vue",
|
|
3
|
-
"version": "1.71.
|
|
3
|
+
"version": "1.71.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Vue 3 components and composables for CopilotKit",
|
|
6
6
|
"keywords": [
|
|
@@ -70,10 +70,10 @@
|
|
|
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.71.
|
|
74
|
-
"@copilotkit/
|
|
75
|
-
"@copilotkit/
|
|
76
|
-
"@copilotkit/web-
|
|
73
|
+
"@copilotkit/core": "1.71.2",
|
|
74
|
+
"@copilotkit/shared": "1.71.2",
|
|
75
|
+
"@copilotkit/web-inspector": "1.71.2",
|
|
76
|
+
"@copilotkit/web-components": "1.71.2"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@eslint/js": "^9.39.2",
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"vue": ">=3.3.0"
|
|
111
111
|
},
|
|
112
112
|
"engines": {
|
|
113
|
-
"node": ">=
|
|
113
|
+
"node": ">=20"
|
|
114
114
|
},
|
|
115
115
|
"scripts": {
|
|
116
116
|
"build": "vite build && pnpm build:css && pnpm build:types",
|