@jini-ai/chat 0.3.6 → 0.3.8

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 (27) hide show
  1. package/dist/react/features/chat-pane/agent-tools.d.ts +1 -1
  2. package/dist/react/features/chat-pane/agent-tools.js +3 -3
  3. package/dist/react/features/chat-pane/agent-tools.js.map +1 -1
  4. package/dist/react/features/chat-pane/components/AgentRuntimePicker.js +1 -1
  5. package/dist/react/features/chat-pane/components/AgentRuntimePicker.js.map +1 -1
  6. package/dist/react/features/chat-pane/components/ChatPane.d.ts +1 -1
  7. package/dist/react/features/chat-pane/components/ChatPane.d.ts.map +1 -1
  8. package/dist/react/features/chat-pane/components/ChatPane.js +2 -1
  9. package/dist/react/features/chat-pane/components/ChatPane.js.map +1 -1
  10. package/dist/react/features/chat-pane/hooks/useChatPane.hooks.d.ts +4 -2
  11. package/dist/react/features/chat-pane/hooks/useChatPane.hooks.d.ts.map +1 -1
  12. package/dist/react/features/chat-pane/hooks/useChatPane.hooks.js +1 -0
  13. package/dist/react/features/chat-pane/hooks/useChatPane.hooks.js.map +1 -1
  14. package/dist/react/features/chat-pane/types.d.ts +14 -2
  15. package/dist/react/features/chat-pane/types.d.ts.map +1 -1
  16. package/dist/react/hooks/composer-draft-cache.d.ts +104 -41
  17. package/dist/react/hooks/composer-draft-cache.d.ts.map +1 -1
  18. package/dist/react/hooks/composer-draft-cache.js +369 -51
  19. package/dist/react/hooks/composer-draft-cache.js.map +1 -1
  20. package/dist/react/hooks/useComposer.d.ts +17 -0
  21. package/dist/react/hooks/useComposer.d.ts.map +1 -1
  22. package/dist/react/hooks/useComposer.js +93 -12
  23. package/dist/react/hooks/useComposer.js.map +1 -1
  24. package/dist/react/hooks/useConversation.d.ts.map +1 -1
  25. package/dist/react/hooks/useConversation.js +55 -0
  26. package/dist/react/hooks/useConversation.js.map +1 -1
  27. package/package.json +3 -3
@@ -17,22 +17,22 @@
17
17
  * draft/attachment/mention/agent-selection *state shape* is kept.
18
18
  *
19
19
  * `conversationId` (when supplied) keys the draft — and, on a change, the staged attachments and
20
- * mention popover — against `composer-draft-cache.ts`'s module-level cache, so a switch between
21
- * conversations round-trips whatever was typed instead of losing it or leaking it into the wrong
22
- * conversation. That cache is a separate, always-on mechanism from `persistence` above: `persistence`
23
- * is a single opaque host-owned slot (e.g. localStorage, for surviving a page *reload*) that this
24
- * hook still never touches directly; the cache instead survives a `ChatPane` remount within the same
25
- * page session — see its own module doc for why a switch here so often means a full remount. Staged
26
- * attachments and the mention popover are deliberately NOT cached across a switch (unlike the draft
27
- * text): they reference an in-flight upload batch, and carrying them into a different conversation
28
- * risks attaching the wrong files to the wrong thread, so they are cleared instead.
20
+ * mention popover — against `composer-draft-cache.ts`, so whatever was typed comes back on a switch
21
+ * between conversations, on a `ChatPane` remount, and on a full page reload, without leaking into
22
+ * the wrong conversation. That cache is a separate, always-on mechanism from `persistence` above,
23
+ * which stays an opt-in host-owned slot this hook never touches directly and which still wins at
24
+ * mount when a host wires one; the cache needs no host wiring and is what actually fixes the
25
+ * reported data loss (see its module doc). Staged attachments and the mention popover are
26
+ * deliberately NOT cached across a switch (unlike the draft text): they reference an in-flight
27
+ * upload batch, and carrying them into a different conversation risks attaching the wrong files to
28
+ * the wrong thread, so they are cleared instead.
29
29
  */
30
30
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
31
- import { readCachedDraft, writeCachedDraft } from './composer-draft-cache.js';
31
+ import { readCachedAttachments, readCachedDraft, writeCachedAttachments, writeCachedDraft, } from './composer-draft-cache.js';
32
32
  import { cacheAttachmentPreviewSource } from './attachment-preview-cache.js';
33
33
  const EMPTY_MENTION = { open: false, query: '', results: [] };
34
34
  export function useComposer(options = {}) {
35
- const { project, composerSlots, persistence, conversationId } = options;
35
+ const { project, composerSlots, persistence, conversationId, validateAttachments } = options;
36
36
  const [draft, setDraftState] = useState(() => options.initialDraft ?? persistence?.read() ?? readCachedDraft(conversationId) ?? '');
37
37
  const [attachments, setAttachments] = useState([]);
38
38
  const [agent, setAgent] = useState(options.initialAgent);
@@ -42,6 +42,10 @@ export function useComposer(options = {}) {
42
42
  persistence?.write(next);
43
43
  writeCachedDraft(conversationId, next);
44
44
  }, [persistence, conversationId]);
45
+ // Lets the conversation-change effect below read the live draft without taking `draft` as a
46
+ // dependency, which would re-run it on every keystroke.
47
+ const draftRef = useRef(draft);
48
+ draftRef.current = draft;
45
49
  // Re-keys the draft (and drops attachments/the mention popover — see this module's doc) when
46
50
  // `conversationId` changes WITHOUT a remount — a host that keeps the composer mounted across
47
51
  // conversations, unlike a host that remounts `ChatPane` via a conversation-keyed `key` (the
@@ -49,13 +53,90 @@ export function useComposer(options = {}) {
49
53
  // render via the ref comparison so it never fights that initializer.
50
54
  const previousConversationIdRef = useRef(conversationId);
51
55
  useEffect(() => {
56
+ const previousConversationId = previousConversationIdRef.current;
52
57
  if (conversationId === previousConversationIdRef.current)
53
58
  return;
54
59
  previousConversationIdRef.current = conversationId;
55
- setDraftState(readCachedDraft(conversationId) ?? '');
60
+ const restored = readCachedDraft(conversationId);
61
+ // An id arriving where there was none is NOT a switch between two conversations — it is the one
62
+ // the operator is already looking at finally getting a key (a new chat created server-side
63
+ // mid-compose, or a host that resolves the active id asynchronously after mount). Adopt what
64
+ // they have typed instead of wiping it: writes no-op while the id is absent, so that text
65
+ // exists in this hook's state and nowhere else, and an empty restore must never clobber text
66
+ // the person can currently see. Guarded to `previousConversationId == null` so a real
67
+ // conversation-to-conversation switch still clears, and cannot leak one thread's half-written
68
+ // message into another. Attachments and the mention popover are left alone here for the same
69
+ // reason — nothing was switched away from.
70
+ if (previousConversationId == null && conversationId != null && restored === null && draftRef.current.trim() !== '') {
71
+ writeCachedDraft(conversationId, draftRef.current);
72
+ return;
73
+ }
74
+ setDraftState(restored ?? '');
56
75
  setAttachments([]);
57
76
  setMention(EMPTY_MENTION);
58
77
  }, [conversationId]);
78
+ // Held in a ref so an inline arrow from the host does not re-run the restore below on every
79
+ // render. Reassigned each render so a host that swaps implementations still gets the new one.
80
+ const validateAttachmentsRef = useRef(validateAttachments);
81
+ validateAttachmentsRef.current = validateAttachments;
82
+ // Which conversation the attachment restore has already settled for. Compared against the live
83
+ // `conversationId` before any persist, so the switch effect's own `setAttachments([])` can never
84
+ // race ahead and delete the conversation being switched TO. `undefined` means "not settled yet",
85
+ // which is why this is not a boolean.
86
+ const attachmentsHydratedForRef = useRef(undefined);
87
+ // Restores previously staged attachments, but only ones the host confirms still exist. Without a
88
+ // validator this does nothing at all: attachment persistence stays off and only the draft text
89
+ // survives, which is the documented default (see `validateAttachments`).
90
+ useEffect(() => {
91
+ const validate = validateAttachmentsRef.current;
92
+ if (!validate || !conversationId) {
93
+ attachmentsHydratedForRef.current = conversationId;
94
+ return;
95
+ }
96
+ const cached = readCachedAttachments(conversationId);
97
+ if (cached === null || cached.length === 0) {
98
+ attachmentsHydratedForRef.current = conversationId;
99
+ return;
100
+ }
101
+ let cancelled = false;
102
+ void (async () => {
103
+ let valid = [];
104
+ try {
105
+ valid = await validate(cached);
106
+ }
107
+ catch {
108
+ // A validator that throws tells us nothing about the files, so assume none survived rather
109
+ // than restoring references we cannot vouch for.
110
+ valid = [];
111
+ }
112
+ if (cancelled)
113
+ return;
114
+ if (valid.length > 0) {
115
+ // Only seeds an untouched composer: anything the operator staged while validation was in
116
+ // flight is theirs and outranks a restore.
117
+ setAttachments((prev) => (prev.length === 0 ? [...valid] : prev));
118
+ }
119
+ else {
120
+ // Every reference was dead. Purge them so the next load does not pay for this again.
121
+ writeCachedAttachments(conversationId, []);
122
+ }
123
+ attachmentsHydratedForRef.current = conversationId;
124
+ })();
125
+ return () => {
126
+ cancelled = true;
127
+ };
128
+ }, [conversationId]);
129
+ // Persists staged attachments once the restore for THIS conversation has settled. Gated on the
130
+ // settle marker so a mount's initial empty `attachments` cannot delete what is still being
131
+ // restored. An empty list deletes the entry, so a send (which clears attachments) also clears the
132
+ // cached references, matching the draft text's own rule.
133
+ useEffect(() => {
134
+ if (!validateAttachmentsRef.current || !conversationId)
135
+ return;
136
+ if (attachmentsHydratedForRef.current !== conversationId)
137
+ return;
138
+ writeCachedAttachments(conversationId, attachments);
139
+ }, [attachments, conversationId]);
59
140
  const addAttachment = useCallback((attachment) => {
60
141
  setAttachments((prev) => [...prev, attachment]);
61
142
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"useComposer.js","sourceRoot":"","sources":["../../../src/react/hooks/useComposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useComposer.js","sourceRoot":"","sources":["../../../src/react/hooks/useComposer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useConversation.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useConversation.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAc,cAAc,EAAE,WAAW,EAAiB,MAAM,qBAAqB,CAAC;AAElG,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGrE,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,aAAa,CAAC;IACzB,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6FAA6F;IAC7F,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,yKAAyK;IACzK,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,6FAA6F;IAC7F,KAAK,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,CAAC,KAAK,IAAI,CAAC;IACzF,4EAA4E;IAC5E,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,kHAAkH;IAClH,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAiBD,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CA6ItF"}
1
+ {"version":3,"file":"useConversation.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useConversation.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAc,cAAc,EAAE,WAAW,EAAiB,MAAM,qBAAqB,CAAC;AAElG,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGrE,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,aAAa,CAAC;IACzB,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6FAA6F;IAC7F,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,yKAAyK;IACzK,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,6FAA6F;IAC7F,KAAK,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,CAAC,KAAK,IAAI,CAAC;IACzF,4EAA4E;IAC5E,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,kHAAkH;IAClH,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAiBD,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAmMtF"}
@@ -40,6 +40,61 @@ export function useConversation(options) {
40
40
  const setMessages = useCallback((updater) => {
41
41
  setMessagesState((prev) => (typeof updater === 'function' ? updater(prev) : updater));
42
42
  }, []);
43
+ /**
44
+ * The mount-time snapshot of `initialMessages`, captured once — the same "read once, never react
45
+ * to a later identity change" contract `messages`'s own `useState` initializer above already has
46
+ * for this same prop. A host's `initialMessages` array is expected to be a fresh identity on every
47
+ * render (`ChatPane` remounts the whole pane with a fresh `key` on a real conversation switch
48
+ * rather than pushing a new array into a live one), so depending on it directly in the effect below
49
+ * would re-fire on every render of a host that does not itself memoize the prop.
50
+ */
51
+ const initialMessagesRef = useRef(options.initialMessages);
52
+ /**
53
+ * Resumes an interrupted run on mount instead of leaving it frozen forever.
54
+ *
55
+ * `run.reattach` (`useRunStream.ts`) has existed since 2026-07-29 and is fully implemented —
56
+ * generation-guarded against double-subscription, abortable, race-safe — but until this effect,
57
+ * nothing in this package or any host ever called it. The gap it left: once a browser's live
58
+ * subscription to a run is torn down for ANY reason (this hook unmounting, a host remount, an HMR
59
+ * reload, a daemon restart), the run keeps going server-side and nothing ever tells the browser
60
+ * about it again — no more events, no more persistence, no error, just a frozen pane. See
61
+ * `ADS-memory/reports/2026-09-11-ask-choice-render-trace.md` and
62
+ * `ADS-memory/reports/2026-09-11-wire-reattach.md` (Tovu) for the full incident trace and the
63
+ * investigation that led here. Reattaching needs a durably-recorded, non-terminal `runId` to find
64
+ * in `initialMessages` in the first place — the host is responsible for that half (Tovu's half:
65
+ * `apps/admin/src/hooks/use-assistant-chats.hooks.ts`'s `persistRunStub`).
66
+ *
67
+ * Mount-only (`[]` deps), by design: `useConversation` owns exactly one `useRunStream` instance for
68
+ * its whole lifetime, and a host that wants a different transcript remounts the pane with a fresh
69
+ * `key` rather than pushing a new `initialMessages` into a live one (see `initialMessagesRef`'s own
70
+ * doc) — so "the moment this hook mounts" IS "the moment a stale subscription needs recovering",
71
+ * and there is no later point in this hook's life that also needs this check.
72
+ *
73
+ * `activeAssistantIdRef.current` is set BEFORE calling `reattach`, not after: the reconciliation
74
+ * effect below (`applyRunToAssistantMessage`) no-ops whenever that ref is `null` — a reattach whose
75
+ * first event arrived before this assignment landed would be silently dropped on the floor instead
76
+ * of reaching the message it belongs to.
77
+ *
78
+ * A message with a `runId` but no `runStatus` at all is treated as nothing to reattach to, not as
79
+ * "assume non-terminal" — `useConversation`'s own reconciliation always writes both together, so
80
+ * the combination only arises from data this hook did not itself produce (a host's legacy rows, a
81
+ * different producer entirely), and there is no positive evidence there of an in-flight run worth
82
+ * the network round trip.
83
+ */
84
+ useEffect(() => {
85
+ const last = initialMessagesRef.current?.at(-1);
86
+ if (!last || last.role !== 'assistant')
87
+ return;
88
+ if (last.runId === undefined || last.runStatus === undefined)
89
+ return;
90
+ if (isTerminalRunStatus(last.runStatus))
91
+ return;
92
+ activeAssistantIdRef.current = last.id;
93
+ void run.reattach(last.runId, last.events);
94
+ // Mount-only: see this effect's own doc for why `run` is deliberately not listed — it is a
95
+ // `useCallback` (`useRunStream.ts`), stable for this hook instance's whole lifetime, so omitting
96
+ // it changes nothing about correctness.
97
+ }, []);
43
98
  const applyRunToAssistantMessage = useCallback(() => {
44
99
  const assistantId = activeAssistantIdRef.current;
45
100
  if (!assistantId)
@@ -1 +1 @@
1
- {"version":3,"file":"useConversation.js","sourceRoot":"","sources":["../../../src/react/hooks/useConversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useConversation.js","sourceRoot":"","sources":["../../../src/react/hooks/useConversation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jini-ai/chat",
3
- "version": "0.3.6",
3
+ "version": "0.3.8",
4
4
  "description": "Jini's chat/artifact frontend, consolidated into one package with two subpaths: framework-free chat vocabulary and pure parsers in `/core`, headless hooks + presentational components + slots in `/react`. Import only the layer you need.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -62,9 +62,9 @@
62
62
  "dependencies": {
63
63
  "@mcp-ui/client": "7.1.1",
64
64
  "@mcp-ui/server": "6.1.0",
65
+ "@jini-ai/agentic": "0.3.6",
65
66
  "@jini-ai/protocol": "0.3.0",
66
- "@jini-ai/agentic": "0.3.0",
67
- "@jini-ai/ui": "0.3.6",
67
+ "@jini-ai/ui": "0.3.9",
68
68
  "@jini-ai/platform": "0.3.0"
69
69
  },
70
70
  "peerDependencies": {