Upgrade Letta Code SDK to 0.0.5 (#117)

Breaking API changes in SDK 0.0.5 require:
- Use createAgent() for new agents with custom systemPrompt and memory
- Remove systemPrompt from createSession()/resumeSession() options

Fixes #116

Co-authored-by: letta-code <248085862+letta-code@users.noreply.github.com>
Co-authored-by: Cameron <cpfiffer@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2026-02-03 18:54:56 -08:00
committed by GitHub
parent d1d758739d
commit 41c6e88977
3 changed files with 20 additions and 12 deletions

8
package-lock.json generated
View File

@@ -12,7 +12,7 @@
"@clack/prompts": "^0.11.0",
"@hapi/boom": "^10.0.1",
"@letta-ai/letta-client": "^1.7.7",
"@letta-ai/letta-code-sdk": "^0.0.4",
"@letta-ai/letta-code-sdk": "^0.0.5",
"@types/express": "^5.0.6",
"@types/node": "^25.0.10",
"@types/node-schedule": "^2.1.8",
@@ -1297,9 +1297,9 @@
}
},
"node_modules/@letta-ai/letta-code-sdk": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/@letta-ai/letta-code-sdk/-/letta-code-sdk-0.0.4.tgz",
"integrity": "sha512-ipNzKgZA0VF5npOBuQhL9wqQbvhzsEuSXhawqen/jdorSonIEnwFw7OvpVcVvxmah9+5yEk1KvD5ymrVJWu08A==",
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/@letta-ai/letta-code-sdk/-/letta-code-sdk-0.0.5.tgz",
"integrity": "sha512-mBGZ9RFd2d4p4RffRctfE3yvEjM5AndIaXfqus6Nu3TNJcOs40c/AsdeeAFN61LLQ7gpqSea+Dh4/PE+zR+ABQ==",
"license": "Apache-2.0",
"dependencies": {
"@letta-ai/letta-code": "latest"

View File

@@ -41,7 +41,7 @@
"@clack/prompts": "^0.11.0",
"@hapi/boom": "^10.0.1",
"@letta-ai/letta-client": "^1.7.7",
"@letta-ai/letta-code-sdk": "^0.0.4",
"@letta-ai/letta-code-sdk": "^0.0.5",
"@types/express": "^5.0.6",
"@types/node": "^25.0.10",
"@types/node-schedule": "^2.1.8",

View File

@@ -4,7 +4,7 @@
* Single agent, single conversation - chat continues across all channels.
*/
import { createSession, resumeSession, type Session } from '@letta-ai/letta-code-sdk';
import { createAgent, createSession, resumeSession, type Session } from '@letta-ai/letta-code-sdk';
import { mkdirSync } from 'node:fs';
import type { ChannelAdapter } from '../channels/types.js';
import type { BotConfig, InboundMessage, TriggerContext } from './types.js';
@@ -185,12 +185,11 @@ export class LettaBot {
let session: Session;
let usedDefaultConversation = false;
let usedSpecificConversation = false;
// Base options for all sessions (model only included for new agents)
// Base options for sessions (systemPrompt/memory set via createAgent for new agents)
const baseOptions = {
permissionMode: 'bypassPermissions' as const,
allowedTools: this.config.allowedTools,
cwd: this.config.workingDir,
systemPrompt: SYSTEM_PROMPT,
// bypassPermissions mode auto-allows all tools, no canUseTool callback needed
};
@@ -211,7 +210,12 @@ export class LettaBot {
} else {
// Create new agent with default conversation
console.log('[Bot] Creating new agent');
session = createSession(undefined, { ...baseOptions, model: this.config.model, memory: loadMemoryBlocks(this.config.agentName) });
const newAgentId = await createAgent({
model: this.config.model,
systemPrompt: SYSTEM_PROMPT,
memory: loadMemoryBlocks(this.config.agentName),
});
session = createSession(newAgentId, baseOptions);
}
console.log('[Bot] Session created/resumed');
@@ -450,12 +454,11 @@ export class LettaBot {
text: string,
_context?: TriggerContext
): Promise<string> {
// Base options (model only for new agents)
// Base options for sessions (systemPrompt/memory set via createAgent for new agents)
const baseOptions = {
permissionMode: 'bypassPermissions' as const,
allowedTools: this.config.allowedTools,
cwd: this.config.workingDir,
systemPrompt: SYSTEM_PROMPT,
// bypassPermissions mode auto-allows all tools, no canUseTool callback needed
};
@@ -472,7 +475,12 @@ export class LettaBot {
session = resumeSession(this.store.agentId, baseOptions);
} else {
// Create new agent with default conversation
session = createSession(undefined, { ...baseOptions, model: this.config.model, memory: loadMemoryBlocks(this.config.agentName) });
const newAgentId = await createAgent({
model: this.config.model,
systemPrompt: SYSTEM_PROMPT,
memory: loadMemoryBlocks(this.config.agentName),
});
session = createSession(newAgentId, baseOptions);
}
try {