Skip to content

Commit d40d946

Browse files
committed
chore(sdk-ts): update package version to 0.0.3 and set default time_desc to true in sessions API
1 parent 08e79c0 commit d40d946

File tree

3 files changed

+130
-2
lines changed

3 files changed

+130
-2
lines changed

src/client/acontext-ts/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@acontext/acontext",
3-
"version": "0.0.2",
3+
"version": "0.0.3",
44
"description": "TypeScript SDK for the Acontext API",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

src/client/acontext-ts/src/resources/sessions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ export class SessionsAPI {
194194
limit: options?.limit ?? null,
195195
cursor: options?.cursor ?? null,
196196
with_asset_public_url: options?.withAssetPublicUrl ?? null,
197-
time_desc: options?.timeDesc ?? null,
197+
time_desc: options?.timeDesc ?? true, // Default to true
198198
})
199199
);
200200
const data = await this.requester.request('GET', `/session/${sessionId}/messages`, {

src/client/acontext-ts/tests/client.test.ts

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,134 @@ describe('AcontextClient Integration Tests', () => {
258258
const session = await client.sessions.getConfigs(createdSessionId);
259259
expect(session.configs).toMatchObject({ mode: 'test-updated' });
260260
});
261+
262+
test('should send messages in OpenAI format', async () => {
263+
if (!createdSessionId) {
264+
throw new Error('Session not created');
265+
}
266+
267+
// Send user message in OpenAI format
268+
const userMessage = {
269+
role: 'user',
270+
content: 'Hello, how are you?',
271+
};
272+
273+
const sentUserMessage = await client.sessions.sendMessage(
274+
createdSessionId,
275+
userMessage,
276+
{ format: 'openai' }
277+
);
278+
expect(sentUserMessage).toBeDefined();
279+
expect(sentUserMessage.id).toBeDefined();
280+
expect(sentUserMessage.session_id).toBe(createdSessionId);
281+
expect(sentUserMessage.role).toBe('user');
282+
283+
// Send assistant message in OpenAI format
284+
const assistantMessage = {
285+
role: 'assistant',
286+
content: 'I am doing well, thank you for asking!',
287+
};
288+
289+
const sentAssistantMessage = await client.sessions.sendMessage(
290+
createdSessionId,
291+
assistantMessage,
292+
{ format: 'openai' }
293+
);
294+
expect(sentAssistantMessage).toBeDefined();
295+
expect(sentAssistantMessage.id).toBeDefined();
296+
expect(sentAssistantMessage.session_id).toBe(createdSessionId);
297+
expect(sentAssistantMessage.role).toBe('assistant');
298+
});
299+
300+
test('should send Anthropic response format messages', async () => {
301+
if (!createdSessionId) {
302+
throw new Error('Session not created');
303+
}
304+
305+
// Send user message
306+
const userMessage = {
307+
role: 'user',
308+
content: 'Hello, how are you?',
309+
};
310+
311+
const sentUserMessage = await client.sessions.sendMessage(
312+
createdSessionId,
313+
userMessage,
314+
{ format: 'openai' }
315+
);
316+
expect(sentUserMessage).toBeDefined();
317+
expect(sentUserMessage.role).toBe('user');
318+
319+
// Simulate Anthropic API response format
320+
const anthropicResponse = {
321+
id: 'msg_01XFDUDYJgAACzvnptvVoYEL',
322+
type: 'message',
323+
role: 'assistant',
324+
model: 'claude-sonnet-4-20250514',
325+
content: [
326+
{
327+
type: 'text',
328+
text: 'Hello! I\'m doing well, thank you for asking. How can I assist you today?',
329+
},
330+
],
331+
stop_reason: 'end_turn',
332+
stop_sequence: null,
333+
usage: {
334+
input_tokens: 10,
335+
output_tokens: 20,
336+
},
337+
};
338+
339+
// Send Anthropic response as a message
340+
const sentAnthropicMessage = await client.sessions.sendMessage(
341+
createdSessionId,
342+
anthropicResponse,
343+
{ format: 'openai' }
344+
);
345+
expect(sentAnthropicMessage).toBeDefined();
346+
expect(sentAnthropicMessage.id).toBeDefined();
347+
expect(sentAnthropicMessage.session_id).toBe(createdSessionId);
348+
expect(sentAnthropicMessage.role).toBe('assistant');
349+
});
350+
351+
test('should send OpenAI chat completion response format messages', async () => {
352+
if (!createdSessionId) {
353+
throw new Error('Session not created');
354+
}
355+
356+
// Send user message
357+
const userMessage = {
358+
role: 'user',
359+
content: 'Hello, how are you?',
360+
};
361+
362+
const sentUserMessage = await client.sessions.sendMessage(
363+
createdSessionId,
364+
userMessage,
365+
{ format: 'openai' }
366+
);
367+
expect(sentUserMessage).toBeDefined();
368+
expect(sentUserMessage.role).toBe('user');
369+
370+
// Simulate OpenAI chat completion response message format
371+
const openaiResponseMessage = {
372+
role: 'assistant',
373+
content: 'I\'m doing well, thank you for asking! How can I help you today?',
374+
refusal: null,
375+
};
376+
377+
// Send OpenAI response message
378+
const sentOpenAIMessage = await client.sessions.sendMessage(
379+
createdSessionId,
380+
openaiResponseMessage,
381+
{ format: 'openai' }
382+
);
383+
384+
expect(sentOpenAIMessage).toBeDefined();
385+
expect(sentOpenAIMessage.id).toBeDefined();
386+
expect(sentOpenAIMessage.session_id).toBe(createdSessionId);
387+
expect(sentOpenAIMessage.role).toBe('assistant');
388+
});
261389
});
262390

263391
describe('Disks API', () => {

0 commit comments

Comments
 (0)