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:
committed by
GitHub
parent
d1d758739d
commit
41c6e88977
8
package-lock.json
generated
8
package-lock.json
generated
@@ -12,7 +12,7 @@
|
|||||||
"@clack/prompts": "^0.11.0",
|
"@clack/prompts": "^0.11.0",
|
||||||
"@hapi/boom": "^10.0.1",
|
"@hapi/boom": "^10.0.1",
|
||||||
"@letta-ai/letta-client": "^1.7.7",
|
"@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/express": "^5.0.6",
|
||||||
"@types/node": "^25.0.10",
|
"@types/node": "^25.0.10",
|
||||||
"@types/node-schedule": "^2.1.8",
|
"@types/node-schedule": "^2.1.8",
|
||||||
@@ -1297,9 +1297,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@letta-ai/letta-code-sdk": {
|
"node_modules/@letta-ai/letta-code-sdk": {
|
||||||
"version": "0.0.4",
|
"version": "0.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/@letta-ai/letta-code-sdk/-/letta-code-sdk-0.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/@letta-ai/letta-code-sdk/-/letta-code-sdk-0.0.5.tgz",
|
||||||
"integrity": "sha512-ipNzKgZA0VF5npOBuQhL9wqQbvhzsEuSXhawqen/jdorSonIEnwFw7OvpVcVvxmah9+5yEk1KvD5ymrVJWu08A==",
|
"integrity": "sha512-mBGZ9RFd2d4p4RffRctfE3yvEjM5AndIaXfqus6Nu3TNJcOs40c/AsdeeAFN61LLQ7gpqSea+Dh4/PE+zR+ABQ==",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@letta-ai/letta-code": "latest"
|
"@letta-ai/letta-code": "latest"
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
"@clack/prompts": "^0.11.0",
|
"@clack/prompts": "^0.11.0",
|
||||||
"@hapi/boom": "^10.0.1",
|
"@hapi/boom": "^10.0.1",
|
||||||
"@letta-ai/letta-client": "^1.7.7",
|
"@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/express": "^5.0.6",
|
||||||
"@types/node": "^25.0.10",
|
"@types/node": "^25.0.10",
|
||||||
"@types/node-schedule": "^2.1.8",
|
"@types/node-schedule": "^2.1.8",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
* Single agent, single conversation - chat continues across all channels.
|
* 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 { mkdirSync } from 'node:fs';
|
||||||
import type { ChannelAdapter } from '../channels/types.js';
|
import type { ChannelAdapter } from '../channels/types.js';
|
||||||
import type { BotConfig, InboundMessage, TriggerContext } from './types.js';
|
import type { BotConfig, InboundMessage, TriggerContext } from './types.js';
|
||||||
@@ -185,12 +185,11 @@ export class LettaBot {
|
|||||||
let session: Session;
|
let session: Session;
|
||||||
let usedDefaultConversation = false;
|
let usedDefaultConversation = false;
|
||||||
let usedSpecificConversation = 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 = {
|
const baseOptions = {
|
||||||
permissionMode: 'bypassPermissions' as const,
|
permissionMode: 'bypassPermissions' as const,
|
||||||
allowedTools: this.config.allowedTools,
|
allowedTools: this.config.allowedTools,
|
||||||
cwd: this.config.workingDir,
|
cwd: this.config.workingDir,
|
||||||
systemPrompt: SYSTEM_PROMPT,
|
|
||||||
// bypassPermissions mode auto-allows all tools, no canUseTool callback needed
|
// bypassPermissions mode auto-allows all tools, no canUseTool callback needed
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -211,7 +210,12 @@ export class LettaBot {
|
|||||||
} else {
|
} else {
|
||||||
// Create new agent with default conversation
|
// Create new agent with default conversation
|
||||||
console.log('[Bot] Creating new agent');
|
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');
|
console.log('[Bot] Session created/resumed');
|
||||||
|
|
||||||
@@ -450,12 +454,11 @@ export class LettaBot {
|
|||||||
text: string,
|
text: string,
|
||||||
_context?: TriggerContext
|
_context?: TriggerContext
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
// Base options (model only for new agents)
|
// Base options for sessions (systemPrompt/memory set via createAgent for new agents)
|
||||||
const baseOptions = {
|
const baseOptions = {
|
||||||
permissionMode: 'bypassPermissions' as const,
|
permissionMode: 'bypassPermissions' as const,
|
||||||
allowedTools: this.config.allowedTools,
|
allowedTools: this.config.allowedTools,
|
||||||
cwd: this.config.workingDir,
|
cwd: this.config.workingDir,
|
||||||
systemPrompt: SYSTEM_PROMPT,
|
|
||||||
// bypassPermissions mode auto-allows all tools, no canUseTool callback needed
|
// bypassPermissions mode auto-allows all tools, no canUseTool callback needed
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -472,7 +475,12 @@ export class LettaBot {
|
|||||||
session = resumeSession(this.store.agentId, baseOptions);
|
session = resumeSession(this.store.agentId, baseOptions);
|
||||||
} else {
|
} else {
|
||||||
// Create new agent with default conversation
|
// 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 {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user