@djangocfg/widget-assistant 0.2.1 → 0.2.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@djangocfg/widget-assistant",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "A site assistant on top of @djangocfg/widget-chat: the SSE wire and session layer, a persistent host, docked column, floating button and sheet, dictation, Help and 17 built-in locales",
5
5
  "keywords": [
6
6
  "chat",
@@ -44,29 +44,29 @@
44
44
  "test": "vitest run"
45
45
  },
46
46
  "dependencies": {
47
- "@djangocfg/widget-chat": "^0.1.16",
48
- "zustand": "^5.0.14"
47
+ "@djangocfg/widget-chat": "^0.1.18",
48
+ "zustand": "^5.0.16"
49
49
  },
50
50
  "peerDependencies": {
51
- "@djangocfg/i18n": "^2.1.610",
52
- "@djangocfg/ui-core": "^2.1.610",
53
- "lucide-react": "^0.545.0",
51
+ "@djangocfg/i18n": "^2.1.612",
52
+ "@djangocfg/ui-core": "^2.1.612",
53
+ "lucide-react": "^1.68.0",
54
54
  "react": "^19.0.0"
55
55
  },
56
56
  "devDependencies": {
57
- "@djangocfg/i18n": "^2.1.610",
58
- "@djangocfg/typescript-config": "^2.1.610",
59
- "@djangocfg/ui-core": "^2.1.610",
60
- "@storybook/react-vite": "^10.5.0",
57
+ "@djangocfg/i18n": "^2.1.612",
58
+ "@djangocfg/typescript-config": "^2.1.612",
59
+ "@djangocfg/ui-core": "^2.1.612",
60
+ "@storybook/react-vite": "^10.6.5",
61
61
  "@types/node": "^25.9.5",
62
- "@types/react": "19.2.15",
63
- "@types/react-dom": "19.2.3",
64
- "lucide-react": "0.545.0",
65
- "react": "19.2.7",
66
- "react-dom": "19.2.7",
67
- "storybook": "^10.5.0",
62
+ "@types/react": "19.3.0",
63
+ "@types/react-dom": "19.3.0",
64
+ "lucide-react": "1.68.0",
65
+ "react": "19.3.1",
66
+ "react-dom": "19.3.1",
67
+ "storybook": "^10.6.5",
68
68
  "typescript": "^5.9.3",
69
- "vitest": "^4.1.10"
69
+ "vitest": "^5.1.0"
70
70
  },
71
71
  "publishConfig": {
72
72
  "access": "public"
@@ -1,8 +1,8 @@
1
1
  import type { ChatAdapter, StreamChunk } from '@djangocfg/widget-chat';
2
2
 
3
- import type { ChatContext, Frame, Phase, StreamErrorCode } from '../wire/frames.ts';
4
- import { StreamLostError } from '../wire/parseSSE.ts';
5
- import { ChatHttpError, ChatNetworkError, type ChatTransport } from '../wire/transport.ts';
3
+ import type { ChatContext, Frame, Phase, StreamErrorCode } from '../wire/frames';
4
+ import { StreamLostError } from '../wire/parseSSE';
5
+ import { ChatHttpError, ChatNetworkError, type ChatTransport } from '../wire/transport';
6
6
 
7
7
  export interface AdapterDeps {
8
8
  transport: ChatTransport;
@@ -1,6 +1,6 @@
1
1
  import type { ChatMessage, MessagePart } from '@djangocfg/widget-chat';
2
2
 
3
- import type { StoredMessage } from '../wire/stored.ts';
3
+ import type { StoredMessage } from '../wire/stored';
4
4
 
5
5
  /**
6
6
  * A stored message as a widget message. A `running` or `cancelled` one reads as interrupted: the thread never shows a spinner without a stream behind it
@@ -1,4 +1,4 @@
1
- import type { StoredConversation, StoredMessage } from '../wire/stored.ts';
1
+ import type { StoredConversation, StoredMessage } from '../wire/stored';
2
2
 
3
3
  /** What the server says about the run the client lost track of. */
4
4
  export type Reconciled =
@@ -1,5 +1,5 @@
1
- import type { Frame } from '../wire/frames.ts';
2
- import type { ChatTransport } from '../wire/transport.ts';
1
+ import type { Frame } from '../wire/frames';
2
+ import type { ChatTransport } from '../wire/transport';
3
3
 
4
4
  /** One step of a scripted run: a frame after a pause, or an error thrown as a real transport would (refusal, network, lost stream). */
5
5
  export type ScriptStep = { frame: Frame; after?: number } | { throw: Error; after?: number };
@@ -7,12 +7,12 @@ import type { ChatAdapter, ChatMessage } from '@djangocfg/widget-chat';
7
7
  import { useAssistantCopy } from '../i18n';
8
8
  import { sessionCopyFor } from '../i18n/sessionCopy';
9
9
 
10
- import type { ChatContext, Phase } from '../wire/frames.ts';
11
- import type { StoredConversation } from '../wire/stored.ts';
12
- import type { ChatHttpError, ChatTransport } from '../wire/transport.ts';
13
- import { createStreamAdapter, type AdapterDeps } from './adapter.ts';
14
- import { fromStoredThread } from './fromStored.ts';
15
- import { reconcile } from './reconcile.ts';
10
+ import type { ChatContext, Phase } from '../wire/frames';
11
+ import type { StoredConversation } from '../wire/stored';
12
+ import type { ChatHttpError, ChatTransport } from '../wire/transport';
13
+ import { createStreamAdapter, type AdapterDeps } from './adapter';
14
+ import { fromStoredThread } from './fromStored';
15
+ import { reconcile } from './reconcile';
16
16
 
17
17
  /** The conversation endpoints, supplied by the app (signed-in hosts). */
18
18
  export interface ThreadApi {
@@ -1,5 +1,5 @@
1
- import { decodeFrame, IDLE_MS, type ChatContext, type Frame } from './frames.ts';
2
- import { parseSSE, StreamLostError } from './parseSSE.ts';
1
+ import { decodeFrame, IDLE_MS, type ChatContext, type Frame } from './frames';
2
+ import { parseSSE, StreamLostError } from './parseSSE';
3
3
 
4
4
  /** Problem codes the API answers before a stream starts (CONTRACT.md "Auth and errors"). */
5
5
  export type RejectCode = 'unauthorized' | 'busy' | 'invalid' | 'rate_limited' | 'unavailable' | 'failed';