@cogitator-ai/next 0.2.11 → 0.3.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 (41) hide show
  1. package/README.md +40 -13
  2. package/dist/client/http-error.d.ts +6 -0
  3. package/dist/client/http-error.d.ts.map +1 -0
  4. package/dist/client/http-error.js +26 -0
  5. package/dist/client/http-error.js.map +1 -0
  6. package/dist/client/index.d.ts +1 -0
  7. package/dist/client/index.d.ts.map +1 -1
  8. package/dist/client/index.js +1 -0
  9. package/dist/client/index.js.map +1 -1
  10. package/dist/client/retry.d.ts +2 -1
  11. package/dist/client/retry.d.ts.map +1 -1
  12. package/dist/client/retry.js +37 -11
  13. package/dist/client/retry.js.map +1 -1
  14. package/dist/client/sse-parser.d.ts.map +1 -1
  15. package/dist/client/sse-parser.js +29 -24
  16. package/dist/client/sse-parser.js.map +1 -1
  17. package/dist/client/use-agent.d.ts.map +1 -1
  18. package/dist/client/use-agent.js +29 -6
  19. package/dist/client/use-agent.js.map +1 -1
  20. package/dist/client/use-chat.d.ts.map +1 -1
  21. package/dist/client/use-chat.js +135 -96
  22. package/dist/client/use-chat.js.map +1 -1
  23. package/dist/handlers/agent.d.ts.map +1 -1
  24. package/dist/handlers/agent.js +40 -25
  25. package/dist/handlers/agent.js.map +1 -1
  26. package/dist/handlers/chat.d.ts.map +1 -1
  27. package/dist/handlers/chat.js +133 -61
  28. package/dist/handlers/chat.js.map +1 -1
  29. package/dist/handlers/http.d.ts +15 -0
  30. package/dist/handlers/http.d.ts.map +1 -0
  31. package/dist/handlers/http.js +66 -0
  32. package/dist/handlers/http.js.map +1 -0
  33. package/dist/streaming/protocol.d.ts +2 -1
  34. package/dist/streaming/protocol.d.ts.map +1 -1
  35. package/dist/streaming/protocol.js +2 -2
  36. package/dist/streaming/protocol.js.map +1 -1
  37. package/dist/streaming/stream-writer.d.ts +2 -1
  38. package/dist/streaming/stream-writer.d.ts.map +1 -1
  39. package/dist/streaming/stream-writer.js +22 -4
  40. package/dist/streaming/stream-writer.js.map +1 -1
  41. package/package.json +4 -4
@@ -1,53 +1,90 @@
1
1
  'use client';
2
- import { useCallback, useReducer, useRef } from 'react';
2
+ import { useCallback, useEffect, useReducer, useRef } from 'react';
3
3
  import { parseSSEStream } from './sse-parser.js';
4
- import { chatReducer, createInitialState } from './use-chat-state.js';
4
+ import { chatReducer, createInitialState, } from './use-chat-state.js';
5
5
  import { withRetry } from './retry.js';
6
+ import { toHttpError } from './http-error.js';
6
7
  let idCounter = 0;
7
8
  function generateClientId() {
8
9
  return `msg_${Date.now().toString(36)}_${(idCounter++).toString(36)}`;
9
10
  }
11
+ function isAbortError(err) {
12
+ return err instanceof Error && err.name === 'AbortError';
13
+ }
14
+ function parseToolArguments(raw) {
15
+ try {
16
+ const parsed = JSON.parse(raw);
17
+ if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
18
+ return parsed;
19
+ }
20
+ }
21
+ catch { }
22
+ return {};
23
+ }
24
+ function pendingAssistantMessage(state) {
25
+ if (!state.currentMessageId)
26
+ return null;
27
+ return {
28
+ id: state.currentMessageId,
29
+ role: 'assistant',
30
+ content: state.currentContent,
31
+ toolCalls: state.currentToolCalls.length > 0 ? state.currentToolCalls : undefined,
32
+ };
33
+ }
10
34
  export function useCogitatorChat(options) {
11
35
  const { api, initialMessages, headers, onError, onFinish, onToolCall, onToolResult, retry } = options;
12
36
  const [state, dispatch] = useReducer(chatReducer, createInitialState(initialMessages, options.threadId));
13
37
  const stateRef = useRef(state);
14
- stateRef.current = state;
15
- const abortControllerRef = useRef(null);
38
+ const activeRequestRef = useRef(null);
39
+ const apply = useCallback((action) => {
40
+ stateRef.current = chatReducer(stateRef.current, action);
41
+ dispatch(action);
42
+ }, []);
43
+ useEffect(() => {
44
+ return () => {
45
+ activeRequestRef.current?.abort();
46
+ activeRequestRef.current = null;
47
+ };
48
+ }, []);
49
+ const interrupt = useCallback(() => {
50
+ const active = activeRequestRef.current;
51
+ if (!active)
52
+ return;
53
+ activeRequestRef.current = null;
54
+ active.abort();
55
+ apply({ type: 'FINISH_ASSISTANT_MESSAGE' });
56
+ apply({ type: 'STOP_LOADING' });
57
+ }, [apply]);
16
58
  const handleStreamEvent = useCallback((event, toolCalls) => {
17
59
  switch (event.type) {
18
60
  case 'start':
19
- dispatch({ type: 'START_ASSISTANT_MESSAGE', payload: event.messageId });
20
- break;
61
+ apply({ type: 'START_ASSISTANT_MESSAGE', payload: event.messageId });
62
+ return false;
21
63
  case 'text-delta':
22
- dispatch({ type: 'APPEND_CONTENT', payload: event.delta });
23
- break;
64
+ apply({ type: 'APPEND_CONTENT', payload: event.delta });
65
+ return false;
24
66
  case 'tool-call-start':
25
67
  toolCalls.set(event.id, { name: event.toolName, args: '' });
26
- break;
68
+ return false;
27
69
  case 'tool-call-delta': {
28
70
  const tc = toolCalls.get(event.id);
29
- if (tc) {
71
+ if (tc)
30
72
  tc.args += event.argsTextDelta;
31
- }
32
- break;
73
+ return false;
33
74
  }
34
75
  case 'tool-call-end': {
35
76
  const tc = toolCalls.get(event.id);
36
- if (tc) {
37
- let args = {};
38
- try {
39
- args = JSON.parse(tc.args);
40
- }
41
- catch { }
42
- const toolCall = {
43
- id: event.id,
44
- name: tc.name,
45
- arguments: args,
46
- };
47
- dispatch({ type: 'ADD_TOOL_CALL', payload: toolCall });
48
- onToolCall?.(toolCall);
49
- }
50
- break;
77
+ if (!tc)
78
+ return false;
79
+ toolCalls.delete(event.id);
80
+ const toolCall = {
81
+ id: event.id,
82
+ name: tc.name,
83
+ arguments: parseToolArguments(tc.args),
84
+ };
85
+ apply({ type: 'ADD_TOOL_CALL', payload: toolCall });
86
+ onToolCall?.(toolCall);
87
+ return false;
51
88
  }
52
89
  case 'tool-result': {
53
90
  const toolResult = {
@@ -56,44 +93,55 @@ export function useCogitatorChat(options) {
56
93
  result: event.result,
57
94
  };
58
95
  onToolResult?.(toolResult);
59
- break;
96
+ return false;
60
97
  }
61
- case 'error':
62
- dispatch({ type: 'SET_ERROR', payload: new Error(event.message) });
63
- onError?.(new Error(event.message));
64
- break;
98
+ case 'finish':
99
+ if (event.threadId && event.threadId !== stateRef.current.threadId) {
100
+ apply({ type: 'SET_THREAD_ID', payload: event.threadId });
101
+ }
102
+ return false;
103
+ case 'error': {
104
+ const error = new Error(event.message);
105
+ apply({ type: 'SET_ERROR', payload: error });
106
+ onError?.(error);
107
+ return true;
108
+ }
109
+ default:
110
+ return false;
65
111
  }
66
- }, [onError, onToolCall, onToolResult]);
67
- const processStream = useCallback(async (response) => {
112
+ }, [apply, onError, onToolCall, onToolResult]);
113
+ const processStream = useCallback(async (response, controller) => {
68
114
  if (!response.body) {
69
115
  throw new Error('Response body is null');
70
116
  }
71
117
  const reader = response.body.getReader();
72
118
  const toolCalls = new Map();
119
+ let errored = false;
73
120
  try {
74
121
  for await (const event of parseSSEStream(reader)) {
75
- handleStreamEvent(event, toolCalls);
122
+ if (activeRequestRef.current !== controller)
123
+ return;
124
+ if (handleStreamEvent(event, toolCalls))
125
+ errored = true;
76
126
  }
77
127
  }
78
128
  finally {
79
129
  reader.releaseLock();
80
130
  }
81
- dispatch({ type: 'FINISH_ASSISTANT_MESSAGE' });
82
- dispatch({ type: 'STOP_LOADING' });
83
- const current = stateRef.current;
84
- if (onFinish && current.currentMessageId) {
85
- onFinish({
86
- id: current.currentMessageId,
87
- role: 'assistant',
88
- content: current.currentContent,
89
- toolCalls: current.currentToolCalls.length > 0 ? current.currentToolCalls : undefined,
90
- });
131
+ if (activeRequestRef.current !== controller)
132
+ return;
133
+ activeRequestRef.current = null;
134
+ const finished = pendingAssistantMessage(stateRef.current);
135
+ apply({ type: 'FINISH_ASSISTANT_MESSAGE' });
136
+ apply({ type: 'STOP_LOADING' });
137
+ if (finished && !errored) {
138
+ onFinish?.(finished);
91
139
  }
92
- }, [handleStreamEvent, onFinish]);
140
+ }, [apply, handleStreamEvent, onFinish]);
93
141
  const sendWithMessages = useCallback(async (messages, threadId, metadata) => {
94
- abortControllerRef.current?.abort();
95
- abortControllerRef.current = new AbortController();
96
- dispatch({ type: 'START_LOADING' });
142
+ const controller = new AbortController();
143
+ activeRequestRef.current = controller;
144
+ apply({ type: 'START_LOADING' });
97
145
  const doFetch = async () => {
98
146
  const response = await fetch(api, {
99
147
  method: 'POST',
@@ -111,33 +159,36 @@ export function useCogitatorChat(options) {
111
159
  threadId,
112
160
  metadata,
113
161
  }),
114
- signal: abortControllerRef.current.signal,
162
+ signal: controller.signal,
115
163
  });
116
164
  if (!response.ok) {
117
- const errorText = await response.text();
118
- throw new Error(errorText || `HTTP ${response.status}`);
165
+ throw await toHttpError(response);
119
166
  }
120
167
  return response;
121
168
  };
122
169
  try {
123
- const response = await withRetry(doFetch, retry);
124
- await processStream(response);
170
+ const response = await withRetry(doFetch, retry, controller.signal);
171
+ await processStream(response, controller);
125
172
  }
126
173
  catch (err) {
127
- if (err instanceof Error && err.name === 'AbortError') {
128
- dispatch({ type: 'STOP_LOADING' });
174
+ if (activeRequestRef.current !== controller)
175
+ return;
176
+ activeRequestRef.current = null;
177
+ apply({ type: 'FINISH_ASSISTANT_MESSAGE' });
178
+ if (isAbortError(err)) {
179
+ apply({ type: 'STOP_LOADING' });
129
180
  return;
130
181
  }
131
182
  const error = err instanceof Error ? err : new Error('Unknown error');
132
- dispatch({ type: 'SET_ERROR', payload: error });
183
+ apply({ type: 'SET_ERROR', payload: error });
133
184
  onError?.(error);
134
185
  }
135
- }, [api, headers, onError, processStream, retry]);
186
+ }, [api, apply, headers, onError, processStream, retry]);
136
187
  const send = useCallback(async (inputOverride, metadata) => {
137
- const current = stateRef.current;
138
- const messageContent = inputOverride ?? current.input;
188
+ const messageContent = inputOverride ?? stateRef.current.input;
139
189
  if (!messageContent.trim())
140
190
  return;
191
+ interrupt();
141
192
  const userMessage = {
142
193
  id: generateClientId(),
143
194
  role: 'user',
@@ -145,19 +196,17 @@ export function useCogitatorChat(options) {
145
196
  metadata,
146
197
  createdAt: new Date(),
147
198
  };
148
- dispatch({ type: 'ADD_USER_MESSAGE', payload: userMessage });
149
- dispatch({ type: 'SET_INPUT', payload: '' });
150
- const allMessages = [...current.messages, userMessage];
151
- await sendWithMessages(allMessages, current.threadId, metadata);
152
- }, [sendWithMessages]);
199
+ apply({ type: 'ADD_USER_MESSAGE', payload: userMessage });
200
+ apply({ type: 'SET_INPUT', payload: '' });
201
+ const current = stateRef.current;
202
+ await sendWithMessages(current.messages, current.threadId, metadata);
203
+ }, [apply, interrupt, sendWithMessages]);
153
204
  const stop = useCallback(() => {
154
- abortControllerRef.current?.abort();
155
- dispatch({ type: 'STOP_LOADING' });
156
- }, []);
205
+ interrupt();
206
+ }, [interrupt]);
157
207
  const reload = useCallback(async () => {
208
+ interrupt();
158
209
  const current = stateRef.current;
159
- if (current.messages.length === 0)
160
- return;
161
210
  let lastUserIndex = -1;
162
211
  for (let i = current.messages.length - 1; i >= 0; i--) {
163
212
  if (current.messages[i].role === 'user') {
@@ -168,37 +217,27 @@ export function useCogitatorChat(options) {
168
217
  if (lastUserIndex === -1)
169
218
  return;
170
219
  const lastUserMessage = current.messages[lastUserIndex];
171
- const messagesBeforeReload = current.messages.slice(0, lastUserIndex);
172
- dispatch({ type: 'SET_MESSAGES', payload: messagesBeforeReload });
173
- const allMessages = [...messagesBeforeReload, lastUserMessage];
174
- await sendWithMessages(allMessages, current.threadId, lastUserMessage.metadata);
175
- }, [sendWithMessages]);
220
+ const messages = current.messages.slice(0, lastUserIndex + 1);
221
+ apply({ type: 'SET_MESSAGES', payload: messages });
222
+ await sendWithMessages(messages, current.threadId, lastUserMessage.metadata);
223
+ }, [apply, interrupt, sendWithMessages]);
176
224
  const setInput = useCallback((value) => {
177
- dispatch({ type: 'SET_INPUT', payload: value });
178
- }, []);
225
+ apply({ type: 'SET_INPUT', payload: value });
226
+ }, [apply]);
179
227
  const setThreadId = useCallback((id) => {
180
- dispatch({ type: 'SET_THREAD_ID', payload: id });
181
- }, []);
228
+ apply({ type: 'SET_THREAD_ID', payload: id });
229
+ }, [apply]);
182
230
  const appendMessage = useCallback((message) => {
183
- dispatch({ type: 'APPEND_MESSAGE', payload: message });
184
- }, []);
231
+ apply({ type: 'APPEND_MESSAGE', payload: message });
232
+ }, [apply]);
185
233
  const clearMessages = useCallback(() => {
186
- dispatch({ type: 'CLEAR_MESSAGES' });
187
- }, []);
234
+ apply({ type: 'CLEAR_MESSAGES' });
235
+ }, [apply]);
188
236
  const setMessages = useCallback((messages) => {
189
- dispatch({ type: 'SET_MESSAGES', payload: messages });
190
- }, []);
191
- const displayMessages = state.currentMessageId
192
- ? [
193
- ...state.messages,
194
- {
195
- id: state.currentMessageId,
196
- role: 'assistant',
197
- content: state.currentContent,
198
- toolCalls: state.currentToolCalls.length > 0 ? state.currentToolCalls : undefined,
199
- },
200
- ]
201
- : state.messages;
237
+ apply({ type: 'SET_MESSAGES', payload: messages });
238
+ }, [apply]);
239
+ const pending = pendingAssistantMessage(state);
240
+ const displayMessages = pending ? [...state.messages, pending] : state.messages;
202
241
  return {
203
242
  messages: displayMessages,
204
243
  input: state.input,
@@ -1 +1 @@
1
- {"version":3,"file":"use-chat.js","sourceRoot":"","sources":["../../src/client/use-chat.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AASxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAkB,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,SAAS,gBAAgB;IACvB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAuB;IACtD,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,GACzF,OAAO,CAAC;IAEV,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,UAAU,CAClC,WAAW,EACX,kBAAkB,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CACtD,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAY,KAAK,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IAEzB,MAAM,kBAAkB,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAEhE,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,KAAkB,EAAE,SAAsD,EAAE,EAAE;QAC7E,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,OAAO;gBACV,QAAQ,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gBACxE,MAAM;YAER,KAAK,YAAY;gBACf,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3D,MAAM;YAER,KAAK,iBAAiB;gBACpB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC5D,MAAM;YAER,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,EAAE,EAAE,CAAC;oBACP,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,aAAa,CAAC;gBACjC,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,EAAE,EAAE,CAAC;oBACP,IAAI,IAAI,GAA4B,EAAE,CAAC;oBACvC,IAAI,CAAC;wBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;oBAEV,MAAM,QAAQ,GAAa;wBACzB,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,SAAS,EAAE,IAAI;qBAChB,CAAC;oBAEF,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACvD,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,UAAU,GAAoB;oBAClC,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC;gBACF,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;YAED,KAAK,OAAO;gBACV,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACnE,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpC,MAAM;QACV,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CACpC,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,QAAkB,EAAE,EAAE;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0C,CAAC;QAEpE,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjD,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;QAED,QAAQ,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;QAC/C,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACjC,IAAI,QAAQ,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACzC,QAAQ,CAAC;gBACP,EAAE,EAAE,OAAO,CAAC,gBAAgB;gBAC5B,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO,CAAC,cAAc;gBAC/B,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;aACtF,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAC9B,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,KAAK,EACH,QAAuB,EACvB,QAA4B,EAC5B,QAAkC,EAClC,EAAE;QACF,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACpC,kBAAkB,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QAEnD,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,GAAG,OAAO;iBACX;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC;oBACH,QAAQ;oBACR,QAAQ;iBACT,CAAC;gBACF,MAAM,EAAE,kBAAkB,CAAC,OAAQ,CAAC,MAAM;aAC3C,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACtD,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YACtE,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAChD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EACD,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,CAC9C,CAAC;IAEF,MAAM,IAAI,GAAG,WAAW,CACtB,KAAK,EAAE,aAAsB,EAAE,QAAkC,EAAE,EAAE;QACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACjC,MAAM,cAAc,GAAG,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;YAAE,OAAO;QAEnC,MAAM,WAAW,GAAgB;YAC/B,EAAE,EAAE,gBAAgB,EAAE;YACtB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,cAAc;YACvB,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7D,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7C,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACvD,MAAM,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC,EACD,CAAC,gBAAgB,CAAC,CACnB,CAAC;IAEF,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACpC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACrC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACjC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE1C,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxC,aAAa,GAAG,CAAC,CAAC;gBAClB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,aAAa,KAAK,CAAC,CAAC;YAAE,OAAO;QAEjC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACxD,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QAEtE,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAElE,MAAM,WAAW,GAAG,CAAC,GAAG,oBAAoB,EAAE,eAAe,CAAC,CAAC;QAC/D,MAAM,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClF,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QAC7C,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,EAAE;QAC7C,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,OAAoB,EAAE,EAAE;QACzD,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,QAAuB,EAAE,EAAE;QAC1D,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB;QAC5C,CAAC,CAAC;YACE,GAAG,KAAK,CAAC,QAAQ;YACjB;gBACE,EAAE,EAAE,KAAK,CAAC,gBAAgB;gBAC1B,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE,KAAK,CAAC,cAAc;gBAC7B,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;aAClF;SACF;QACH,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IAEnB,OAAO;QACL,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ;QACR,IAAI;QACJ,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI;QACJ,MAAM;QACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW;QACX,aAAa;QACb,aAAa;QACb,WAAW;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"use-chat.js","sourceRoot":"","sources":["../../src/client/use-chat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/handlers/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAYlF,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,mBAAmB,IAEf,KAAK,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAwE/C"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/handlers/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAA6B,MAAM,aAAa,CAAC;AAuClF,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,mBAAmB,IAEf,KAAK,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAgE/C"}
@@ -1,29 +1,48 @@
1
+ import { exceedsDeclaredSize, hookErrorResponse, isPlainObject, jsonError, jsonResponse, readJsonBody, } from './http.js';
1
2
  function parseDefaultInput(body) {
2
- const data = body;
3
+ if (!isPlainObject(body)) {
4
+ return { ok: false, error: 'Request body must be a JSON object' };
5
+ }
6
+ if (typeof body.input !== 'string' || body.input.trim() === '') {
7
+ return { ok: false, error: 'input must be a non-empty string' };
8
+ }
9
+ if (body.context !== undefined && !isPlainObject(body.context)) {
10
+ return { ok: false, error: 'context must be an object' };
11
+ }
12
+ if (body.threadId !== undefined && typeof body.threadId !== 'string') {
13
+ return { ok: false, error: 'threadId must be a string' };
14
+ }
3
15
  return {
4
- input: typeof data.input === 'string' ? data.input : '',
5
- context: data.context,
6
- threadId: typeof data.threadId === 'string' ? data.threadId : undefined,
16
+ ok: true,
17
+ input: {
18
+ input: body.input,
19
+ context: body.context,
20
+ threadId: body.threadId,
21
+ },
7
22
  };
8
23
  }
9
24
  export function createAgentHandler(cogitator, agent, options) {
10
25
  return async (req) => {
11
- let body;
12
- try {
13
- body = await req.json();
14
- }
15
- catch {
16
- return new Response(JSON.stringify({ error: 'Invalid JSON' }), {
17
- status: 400,
18
- headers: { 'Content-Type': 'application/json' },
19
- });
26
+ if (exceedsDeclaredSize(req)) {
27
+ return jsonError('Payload too large', 413);
20
28
  }
21
29
  let input;
22
- try {
23
- input = options?.parseInput ? await options.parseInput(req) : parseDefaultInput(body);
30
+ if (options?.parseInput) {
31
+ try {
32
+ input = await options.parseInput(req);
33
+ }
34
+ catch (err) {
35
+ return jsonError(err instanceof Error ? err.message : 'Parse error', 400);
36
+ }
24
37
  }
25
- catch (err) {
26
- return new Response(JSON.stringify({ error: err instanceof Error ? err.message : 'Parse error' }), { status: 400, headers: { 'Content-Type': 'application/json' } });
38
+ else {
39
+ const body = await readJsonBody(req);
40
+ if (!body.ok)
41
+ return body.response;
42
+ const parsed = parseDefaultInput(body.body);
43
+ if (!parsed.ok)
44
+ return jsonError(parsed.error, 400);
45
+ input = parsed.input;
27
46
  }
28
47
  let runContext = {};
29
48
  if (options?.beforeRun) {
@@ -33,7 +52,7 @@ export function createAgentHandler(cogitator, agent, options) {
33
52
  runContext = ctx;
34
53
  }
35
54
  catch (err) {
36
- return new Response(JSON.stringify({ error: err instanceof Error ? err.message : 'Unauthorized' }), { status: 401, headers: { 'Content-Type': 'application/json' } });
55
+ return hookErrorResponse(err, 'Unauthorized');
37
56
  }
38
57
  }
39
58
  try {
@@ -41,6 +60,7 @@ export function createAgentHandler(cogitator, agent, options) {
41
60
  input: input.input,
42
61
  threadId: input.threadId,
43
62
  context: input.context,
63
+ signal: req.signal,
44
64
  ...runContext,
45
65
  });
46
66
  if (options?.afterRun) {
@@ -60,16 +80,11 @@ export function createAgentHandler(cogitator, agent, options) {
60
80
  spans: [...result.trace.spans],
61
81
  },
62
82
  };
63
- return new Response(JSON.stringify(response), {
64
- headers: { 'Content-Type': 'application/json' },
65
- });
83
+ return jsonResponse(response);
66
84
  }
67
85
  catch (err) {
68
86
  const message = err instanceof Error ? err.message : 'Internal server error';
69
- return new Response(JSON.stringify({ error: message }), {
70
- status: 500,
71
- headers: { 'Content-Type': 'application/json' },
72
- });
87
+ return jsonError(message, 500);
73
88
  }
74
89
  };
75
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/handlers/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/handlers/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/handlers/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAA0B,MAAM,aAAa,CAAC;AA0C9E,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,kBAAkB,IAEd,KAAK,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAkG/C"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/handlers/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAA0B,MAAM,aAAa,CAAC;AA6E9E,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,kBAAkB,IAEd,KAAK,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAmJ/C"}