@cogitator-ai/next 0.2.12 → 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 -28
  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 +130 -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 +33 -35
  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 +124 -70
  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 +12 -3
  40. package/dist/streaming/stream-writer.js.map +1 -1
  41. package/package.json +4 -4
@@ -1,58 +1,90 @@
1
1
  'use client';
2
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
+ }, []);
16
43
  useEffect(() => {
17
44
  return () => {
18
- abortControllerRef.current?.abort();
45
+ activeRequestRef.current?.abort();
46
+ activeRequestRef.current = null;
19
47
  };
20
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]);
21
58
  const handleStreamEvent = useCallback((event, toolCalls) => {
22
59
  switch (event.type) {
23
60
  case 'start':
24
- dispatch({ type: 'START_ASSISTANT_MESSAGE', payload: event.messageId });
25
- break;
61
+ apply({ type: 'START_ASSISTANT_MESSAGE', payload: event.messageId });
62
+ return false;
26
63
  case 'text-delta':
27
- dispatch({ type: 'APPEND_CONTENT', payload: event.delta });
28
- break;
64
+ apply({ type: 'APPEND_CONTENT', payload: event.delta });
65
+ return false;
29
66
  case 'tool-call-start':
30
67
  toolCalls.set(event.id, { name: event.toolName, args: '' });
31
- break;
68
+ return false;
32
69
  case 'tool-call-delta': {
33
70
  const tc = toolCalls.get(event.id);
34
- if (tc) {
71
+ if (tc)
35
72
  tc.args += event.argsTextDelta;
36
- }
37
- break;
73
+ return false;
38
74
  }
39
75
  case 'tool-call-end': {
40
76
  const tc = toolCalls.get(event.id);
41
- if (tc) {
42
- let args = {};
43
- try {
44
- args = JSON.parse(tc.args);
45
- }
46
- catch { }
47
- const toolCall = {
48
- id: event.id,
49
- name: tc.name,
50
- arguments: args,
51
- };
52
- dispatch({ type: 'ADD_TOOL_CALL', payload: toolCall });
53
- onToolCall?.(toolCall);
54
- }
55
- 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;
56
88
  }
57
89
  case 'tool-result': {
58
90
  const toolResult = {
@@ -61,44 +93,55 @@ export function useCogitatorChat(options) {
61
93
  result: event.result,
62
94
  };
63
95
  onToolResult?.(toolResult);
64
- break;
96
+ return false;
65
97
  }
66
- case 'error':
67
- dispatch({ type: 'SET_ERROR', payload: new Error(event.message) });
68
- onError?.(new Error(event.message));
69
- 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;
70
111
  }
71
- }, [onError, onToolCall, onToolResult]);
72
- const processStream = useCallback(async (response) => {
112
+ }, [apply, onError, onToolCall, onToolResult]);
113
+ const processStream = useCallback(async (response, controller) => {
73
114
  if (!response.body) {
74
115
  throw new Error('Response body is null');
75
116
  }
76
117
  const reader = response.body.getReader();
77
118
  const toolCalls = new Map();
119
+ let errored = false;
78
120
  try {
79
121
  for await (const event of parseSSEStream(reader)) {
80
- handleStreamEvent(event, toolCalls);
122
+ if (activeRequestRef.current !== controller)
123
+ return;
124
+ if (handleStreamEvent(event, toolCalls))
125
+ errored = true;
81
126
  }
82
127
  }
83
128
  finally {
84
129
  reader.releaseLock();
85
130
  }
86
- dispatch({ type: 'FINISH_ASSISTANT_MESSAGE' });
87
- dispatch({ type: 'STOP_LOADING' });
88
- const current = stateRef.current;
89
- if (onFinish && current.currentMessageId) {
90
- onFinish({
91
- id: current.currentMessageId,
92
- role: 'assistant',
93
- content: current.currentContent,
94
- toolCalls: current.currentToolCalls.length > 0 ? current.currentToolCalls : undefined,
95
- });
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);
96
139
  }
97
- }, [handleStreamEvent, onFinish]);
140
+ }, [apply, handleStreamEvent, onFinish]);
98
141
  const sendWithMessages = useCallback(async (messages, threadId, metadata) => {
99
- abortControllerRef.current?.abort();
100
- abortControllerRef.current = new AbortController();
101
- dispatch({ type: 'START_LOADING' });
142
+ const controller = new AbortController();
143
+ activeRequestRef.current = controller;
144
+ apply({ type: 'START_LOADING' });
102
145
  const doFetch = async () => {
103
146
  const response = await fetch(api, {
104
147
  method: 'POST',
@@ -116,33 +159,36 @@ export function useCogitatorChat(options) {
116
159
  threadId,
117
160
  metadata,
118
161
  }),
119
- signal: abortControllerRef.current.signal,
162
+ signal: controller.signal,
120
163
  });
121
164
  if (!response.ok) {
122
- const errorText = await response.text();
123
- throw new Error(errorText || `HTTP ${response.status}`);
165
+ throw await toHttpError(response);
124
166
  }
125
167
  return response;
126
168
  };
127
169
  try {
128
- const response = await withRetry(doFetch, retry);
129
- await processStream(response);
170
+ const response = await withRetry(doFetch, retry, controller.signal);
171
+ await processStream(response, controller);
130
172
  }
131
173
  catch (err) {
132
- if (err instanceof Error && err.name === 'AbortError') {
133
- 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' });
134
180
  return;
135
181
  }
136
182
  const error = err instanceof Error ? err : new Error('Unknown error');
137
- dispatch({ type: 'SET_ERROR', payload: error });
183
+ apply({ type: 'SET_ERROR', payload: error });
138
184
  onError?.(error);
139
185
  }
140
- }, [api, headers, onError, processStream, retry]);
186
+ }, [api, apply, headers, onError, processStream, retry]);
141
187
  const send = useCallback(async (inputOverride, metadata) => {
142
- const current = stateRef.current;
143
- const messageContent = inputOverride ?? current.input;
188
+ const messageContent = inputOverride ?? stateRef.current.input;
144
189
  if (!messageContent.trim())
145
190
  return;
191
+ interrupt();
146
192
  const userMessage = {
147
193
  id: generateClientId(),
148
194
  role: 'user',
@@ -150,19 +196,17 @@ export function useCogitatorChat(options) {
150
196
  metadata,
151
197
  createdAt: new Date(),
152
198
  };
153
- dispatch({ type: 'ADD_USER_MESSAGE', payload: userMessage });
154
- dispatch({ type: 'SET_INPUT', payload: '' });
155
- const allMessages = [...current.messages, userMessage];
156
- await sendWithMessages(allMessages, current.threadId, metadata);
157
- }, [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]);
158
204
  const stop = useCallback(() => {
159
- abortControllerRef.current?.abort();
160
- dispatch({ type: 'STOP_LOADING' });
161
- }, []);
205
+ interrupt();
206
+ }, [interrupt]);
162
207
  const reload = useCallback(async () => {
208
+ interrupt();
163
209
  const current = stateRef.current;
164
- if (current.messages.length === 0)
165
- return;
166
210
  let lastUserIndex = -1;
167
211
  for (let i = current.messages.length - 1; i >= 0; i--) {
168
212
  if (current.messages[i].role === 'user') {
@@ -173,37 +217,27 @@ export function useCogitatorChat(options) {
173
217
  if (lastUserIndex === -1)
174
218
  return;
175
219
  const lastUserMessage = current.messages[lastUserIndex];
176
- const messagesBeforeReload = current.messages.slice(0, lastUserIndex);
177
- dispatch({ type: 'SET_MESSAGES', payload: messagesBeforeReload });
178
- const allMessages = [...messagesBeforeReload, lastUserMessage];
179
- await sendWithMessages(allMessages, current.threadId, lastUserMessage.metadata);
180
- }, [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]);
181
224
  const setInput = useCallback((value) => {
182
- dispatch({ type: 'SET_INPUT', payload: value });
183
- }, []);
225
+ apply({ type: 'SET_INPUT', payload: value });
226
+ }, [apply]);
184
227
  const setThreadId = useCallback((id) => {
185
- dispatch({ type: 'SET_THREAD_ID', payload: id });
186
- }, []);
228
+ apply({ type: 'SET_THREAD_ID', payload: id });
229
+ }, [apply]);
187
230
  const appendMessage = useCallback((message) => {
188
- dispatch({ type: 'APPEND_MESSAGE', payload: message });
189
- }, []);
231
+ apply({ type: 'APPEND_MESSAGE', payload: message });
232
+ }, [apply]);
190
233
  const clearMessages = useCallback(() => {
191
- dispatch({ type: 'CLEAR_MESSAGES' });
192
- }, []);
234
+ apply({ type: 'CLEAR_MESSAGES' });
235
+ }, [apply]);
193
236
  const setMessages = useCallback((messages) => {
194
- dispatch({ type: 'SET_MESSAGES', payload: messages });
195
- }, []);
196
- const displayMessages = state.currentMessageId
197
- ? [
198
- ...state.messages,
199
- {
200
- id: state.currentMessageId,
201
- role: 'assistant',
202
- content: state.currentContent,
203
- toolCalls: state.currentToolCalls.length > 0 ? state.currentToolCalls : undefined,
204
- },
205
- ]
206
- : 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;
207
241
  return {
208
242
  messages: displayMessages,
209
243
  input: state.input,
@@ -1 +1 @@
1
- {"version":3,"file":"use-chat.js","sourceRoot":"","sources":["../../src/client/use-chat.ts"],"names":[],"mappings":"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"}
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;AAclF,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,mBAAmB,IAEf,KAAK,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAuF/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,20 +1,30 @@
1
- const MAX_BODY_SIZE = 1024 * 1024;
1
+ import { exceedsDeclaredSize, hookErrorResponse, isPlainObject, jsonError, jsonResponse, readJsonBody, } from './http.js';
2
2
  function parseDefaultInput(body) {
3
- 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
+ }
4
15
  return {
5
- input: typeof data.input === 'string' ? data.input : '',
6
- context: data.context,
7
- 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
+ },
8
22
  };
9
23
  }
10
24
  export function createAgentHandler(cogitator, agent, options) {
11
25
  return async (req) => {
12
- const contentLength = Number(req.headers.get('content-length'));
13
- if (Number.isFinite(contentLength) && contentLength > MAX_BODY_SIZE) {
14
- return new Response(JSON.stringify({ error: 'Payload too large' }), {
15
- status: 413,
16
- headers: { 'Content-Type': 'application/json' },
17
- });
26
+ if (exceedsDeclaredSize(req)) {
27
+ return jsonError('Payload too large', 413);
18
28
  }
19
29
  let input;
20
30
  if (options?.parseInput) {
@@ -22,21 +32,17 @@ export function createAgentHandler(cogitator, agent, options) {
22
32
  input = await options.parseInput(req);
23
33
  }
24
34
  catch (err) {
25
- return new Response(JSON.stringify({ error: err instanceof Error ? err.message : 'Parse error' }), { status: 400, headers: { 'Content-Type': 'application/json' } });
35
+ return jsonError(err instanceof Error ? err.message : 'Parse error', 400);
26
36
  }
27
37
  }
28
38
  else {
29
- let body;
30
- try {
31
- body = await req.json();
32
- }
33
- catch {
34
- return new Response(JSON.stringify({ error: 'Invalid JSON' }), {
35
- status: 400,
36
- headers: { 'Content-Type': 'application/json' },
37
- });
38
- }
39
- input = parseDefaultInput(body);
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;
40
46
  }
41
47
  let runContext = {};
42
48
  if (options?.beforeRun) {
@@ -46,11 +52,7 @@ export function createAgentHandler(cogitator, agent, options) {
46
52
  runContext = ctx;
47
53
  }
48
54
  catch (err) {
49
- const status = err.status;
50
- return new Response(JSON.stringify({ error: err instanceof Error ? err.message : 'Unauthorized' }), {
51
- status: status && status >= 400 && status < 600 ? status : 401,
52
- headers: { 'Content-Type': 'application/json' },
53
- });
55
+ return hookErrorResponse(err, 'Unauthorized');
54
56
  }
55
57
  }
56
58
  try {
@@ -58,6 +60,7 @@ export function createAgentHandler(cogitator, agent, options) {
58
60
  input: input.input,
59
61
  threadId: input.threadId,
60
62
  context: input.context,
63
+ signal: req.signal,
61
64
  ...runContext,
62
65
  });
63
66
  if (options?.afterRun) {
@@ -77,16 +80,11 @@ export function createAgentHandler(cogitator, agent, options) {
77
80
  spans: [...result.trace.spans],
78
81
  },
79
82
  };
80
- return new Response(JSON.stringify(response), {
81
- headers: { 'Content-Type': 'application/json' },
82
- });
83
+ return jsonResponse(response);
83
84
  }
84
85
  catch (err) {
85
86
  const message = err instanceof Error ? err.message : 'Internal server error';
86
- return new Response(JSON.stringify({ error: message }), {
87
- status: 500,
88
- headers: { 'Content-Type': 'application/json' },
89
- });
87
+ return jsonError(message, 500);
90
88
  }
91
89
  };
92
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;AA6C9E,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,kBAAkB,IAEd,KAAK,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAiH/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"}