lettactl 0.1.1

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 (95) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +606 -0
  3. package/dist/commands/apply.d.ts +6 -0
  4. package/dist/commands/apply.d.ts.map +1 -0
  5. package/dist/commands/apply.js +337 -0
  6. package/dist/commands/apply.js.map +1 -0
  7. package/dist/commands/create.d.ts +13 -0
  8. package/dist/commands/create.d.ts.map +1 -0
  9. package/dist/commands/create.js +72 -0
  10. package/dist/commands/create.js.map +1 -0
  11. package/dist/commands/delete.d.ts +9 -0
  12. package/dist/commands/delete.d.ts.map +1 -0
  13. package/dist/commands/delete.js +179 -0
  14. package/dist/commands/delete.js.map +1 -0
  15. package/dist/commands/describe.d.ts +5 -0
  16. package/dist/commands/describe.d.ts.map +1 -0
  17. package/dist/commands/describe.js +121 -0
  18. package/dist/commands/describe.js.map +1 -0
  19. package/dist/commands/export.d.ts +6 -0
  20. package/dist/commands/export.d.ts.map +1 -0
  21. package/dist/commands/export.js +79 -0
  22. package/dist/commands/export.js.map +1 -0
  23. package/dist/commands/get.d.ts +5 -0
  24. package/dist/commands/get.d.ts.map +1 -0
  25. package/dist/commands/get.js +32 -0
  26. package/dist/commands/get.js.map +1 -0
  27. package/dist/commands/import.d.ts +10 -0
  28. package/dist/commands/import.d.ts.map +1 -0
  29. package/dist/commands/import.js +94 -0
  30. package/dist/commands/import.js.map +1 -0
  31. package/dist/commands/messages.d.ts +21 -0
  32. package/dist/commands/messages.d.ts.map +1 -0
  33. package/dist/commands/messages.js +254 -0
  34. package/dist/commands/messages.js.map +1 -0
  35. package/dist/commands/update.d.ts +11 -0
  36. package/dist/commands/update.d.ts.map +1 -0
  37. package/dist/commands/update.js +63 -0
  38. package/dist/commands/update.js.map +1 -0
  39. package/dist/index.d.ts +3 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +230 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/lib/agent-manager.d.ts +125 -0
  44. package/dist/lib/agent-manager.d.ts.map +1 -0
  45. package/dist/lib/agent-manager.js +254 -0
  46. package/dist/lib/agent-manager.js.map +1 -0
  47. package/dist/lib/agent-resolver.d.ts +12 -0
  48. package/dist/lib/agent-resolver.d.ts.map +1 -0
  49. package/dist/lib/agent-resolver.js +27 -0
  50. package/dist/lib/agent-resolver.js.map +1 -0
  51. package/dist/lib/block-manager.d.ts +63 -0
  52. package/dist/lib/block-manager.d.ts.map +1 -0
  53. package/dist/lib/block-manager.js +288 -0
  54. package/dist/lib/block-manager.js.map +1 -0
  55. package/dist/lib/diff-engine.d.ts +129 -0
  56. package/dist/lib/diff-engine.d.ts.map +1 -0
  57. package/dist/lib/diff-engine.js +391 -0
  58. package/dist/lib/diff-engine.js.map +1 -0
  59. package/dist/lib/error-handler.d.ts +9 -0
  60. package/dist/lib/error-handler.d.ts.map +1 -0
  61. package/dist/lib/error-handler.js +25 -0
  62. package/dist/lib/error-handler.js.map +1 -0
  63. package/dist/lib/file-content-tracker.d.ts +42 -0
  64. package/dist/lib/file-content-tracker.d.ts.map +1 -0
  65. package/dist/lib/file-content-tracker.js +128 -0
  66. package/dist/lib/file-content-tracker.js.map +1 -0
  67. package/dist/lib/fleet-parser.d.ts +14 -0
  68. package/dist/lib/fleet-parser.d.ts.map +1 -0
  69. package/dist/lib/fleet-parser.js +282 -0
  70. package/dist/lib/fleet-parser.js.map +1 -0
  71. package/dist/lib/letta-client.d.ts +61 -0
  72. package/dist/lib/letta-client.d.ts.map +1 -0
  73. package/dist/lib/letta-client.js +208 -0
  74. package/dist/lib/letta-client.js.map +1 -0
  75. package/dist/lib/output-formatter.d.ts +15 -0
  76. package/dist/lib/output-formatter.d.ts.map +1 -0
  77. package/dist/lib/output-formatter.js +51 -0
  78. package/dist/lib/output-formatter.js.map +1 -0
  79. package/dist/lib/resource-classifier.d.ts +27 -0
  80. package/dist/lib/resource-classifier.d.ts.map +1 -0
  81. package/dist/lib/resource-classifier.js +84 -0
  82. package/dist/lib/resource-classifier.js.map +1 -0
  83. package/dist/lib/response-normalizer.d.ts +6 -0
  84. package/dist/lib/response-normalizer.d.ts.map +1 -0
  85. package/dist/lib/response-normalizer.js +27 -0
  86. package/dist/lib/response-normalizer.js.map +1 -0
  87. package/dist/lib/validators.d.ts +9 -0
  88. package/dist/lib/validators.d.ts.map +1 -0
  89. package/dist/lib/validators.js +26 -0
  90. package/dist/lib/validators.js.map +1 -0
  91. package/dist/types/fleet-config.d.ts +44 -0
  92. package/dist/types/fleet-config.d.ts.map +1 -0
  93. package/dist/types/fleet-config.js +3 -0
  94. package/dist/types/fleet-config.js.map +1 -0
  95. package/package.json +61 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-parser.d.ts","sourceRoot":"","sources":["../../src/lib/fleet-parser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAgB,MAAM,uBAAuB,CAAC;AAElE,qBAAa,WAAW;IACf,QAAQ,EAAE,MAAM,CAAC;gBAEZ,UAAU,EAAE,MAAM;IAIxB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;YAoClD,mBAAmB;YAgBnB,oBAAoB;IA2BlC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,oBAAoB;IA+BtB,qBAAqB,CACzB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,GAAG,EACX,OAAO,GAAE,OAAe,EACxB,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CA6EhC"}
@@ -0,0 +1,282 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.FleetParser = void 0;
37
+ const yaml = __importStar(require("js-yaml"));
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ class FleetParser {
41
+ constructor(configPath) {
42
+ this.basePath = path.dirname(configPath);
43
+ }
44
+ async parseFleetConfig(configPath) {
45
+ if (!fs.existsSync(configPath)) {
46
+ throw new Error(`Configuration file not found: ${configPath}`);
47
+ }
48
+ const configContent = fs.readFileSync(configPath, 'utf8');
49
+ const config = yaml.load(configContent);
50
+ // Auto-expand folders that reference "files" directory
51
+ this.expandFileFolders(config);
52
+ // Auto-discover tools from tools directory
53
+ this.expandToolReferences(config);
54
+ // Resolve file references
55
+ if (config.shared_blocks) {
56
+ for (const block of config.shared_blocks) {
57
+ await this.resolveBlockContent(block);
58
+ }
59
+ }
60
+ for (const agent of config.agents) {
61
+ // Resolve system prompt
62
+ await this.resolvePromptContent(agent.system_prompt);
63
+ // Resolve memory blocks
64
+ if (agent.memory_blocks) {
65
+ for (const block of agent.memory_blocks) {
66
+ await this.resolveBlockContent(block);
67
+ }
68
+ }
69
+ }
70
+ return config;
71
+ }
72
+ async resolveBlockContent(block) {
73
+ if (block.from_file) {
74
+ const filePath = path.resolve(this.basePath, block.from_file);
75
+ block.value = fs.readFileSync(filePath, 'utf8');
76
+ }
77
+ else if (!block.value) {
78
+ // Smart default: look for memory-blocks/{name}.md
79
+ const defaultPath = path.resolve(this.basePath, 'memory-blocks', `${block.name}.md`);
80
+ if (fs.existsSync(defaultPath)) {
81
+ block.value = fs.readFileSync(defaultPath, 'utf8');
82
+ console.log(`Auto-loaded memory block: ${block.name} from memory-blocks/${block.name}.md`);
83
+ }
84
+ else {
85
+ throw new Error(`Memory block '${block.name}' has no value or from_file specified, and default file memory-blocks/${block.name}.md not found`);
86
+ }
87
+ }
88
+ }
89
+ async resolvePromptContent(prompt) {
90
+ // Load base Letta system instructions
91
+ const basePath = path.resolve(this.basePath, 'config', 'base-letta-system.md');
92
+ let baseInstructions = '';
93
+ if (fs.existsSync(basePath)) {
94
+ baseInstructions = fs.readFileSync(basePath, 'utf8').trim();
95
+ }
96
+ let userPrompt = '';
97
+ if (prompt.from_file) {
98
+ const filePath = path.resolve(this.basePath, prompt.from_file);
99
+ userPrompt = fs.readFileSync(filePath, 'utf8').trim();
100
+ }
101
+ else if (prompt.value) {
102
+ userPrompt = prompt.value.trim();
103
+ }
104
+ else {
105
+ throw new Error(`System prompt has no value or from_file specified`);
106
+ }
107
+ // Concatenate base instructions with user prompt
108
+ if (baseInstructions) {
109
+ prompt.value = baseInstructions + '\n\n' + userPrompt;
110
+ }
111
+ else {
112
+ prompt.value = userPrompt;
113
+ }
114
+ }
115
+ expandFileFolders(config) {
116
+ if (!config.agents)
117
+ return;
118
+ for (const agent of config.agents) {
119
+ if (agent.folders) {
120
+ for (const folder of agent.folders) {
121
+ this.expandFolderFiles(folder);
122
+ }
123
+ }
124
+ }
125
+ }
126
+ expandFolderFiles(folder) {
127
+ const expandedFiles = [];
128
+ const filesDir = path.resolve(this.basePath, 'files');
129
+ for (const file of folder.files) {
130
+ if (file === 'files/*' || file === 'files/**/*') {
131
+ // Glob all files in the files directory
132
+ if (fs.existsSync(filesDir)) {
133
+ const allFiles = this.getAllFilesRecursive(filesDir);
134
+ expandedFiles.push(...allFiles.map(f => path.relative(this.basePath, f)));
135
+ }
136
+ }
137
+ else if (file.startsWith('files/')) {
138
+ // Individual file in files directory
139
+ const fullPath = path.resolve(this.basePath, file);
140
+ if (fs.existsSync(fullPath)) {
141
+ expandedFiles.push(file);
142
+ }
143
+ }
144
+ else {
145
+ // Regular file path
146
+ expandedFiles.push(file);
147
+ }
148
+ }
149
+ // Remove duplicates
150
+ folder.files = [...new Set(expandedFiles)];
151
+ }
152
+ getAllFilesRecursive(dir) {
153
+ const files = [];
154
+ try {
155
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
156
+ for (const entry of entries) {
157
+ const fullPath = path.join(dir, entry.name);
158
+ if (entry.isDirectory()) {
159
+ files.push(...this.getAllFilesRecursive(fullPath));
160
+ }
161
+ else if (entry.isFile()) {
162
+ files.push(fullPath);
163
+ }
164
+ }
165
+ }
166
+ catch (error) {
167
+ // Directory doesn't exist or can't be read
168
+ }
169
+ return files;
170
+ }
171
+ expandToolReferences(config) {
172
+ if (!config.agents)
173
+ return;
174
+ for (const agent of config.agents) {
175
+ if (agent.tools) {
176
+ // Only auto-expand when explicitly specified in config
177
+ const expandedTools = [];
178
+ for (const tool of agent.tools) {
179
+ if (tool === 'tools/*') {
180
+ // User explicitly requested auto-discovery of all tools
181
+ const toolsDir = path.resolve(this.basePath, 'tools');
182
+ if (fs.existsSync(toolsDir)) {
183
+ const toolFiles = fs.readdirSync(toolsDir)
184
+ .filter(file => file.endsWith('.py'))
185
+ .map(file => path.basename(file, '.py'));
186
+ expandedTools.push(...toolFiles);
187
+ console.log(`Auto-discovered ${toolFiles.length} tools: ${toolFiles.join(', ')}`);
188
+ }
189
+ }
190
+ else {
191
+ // Regular tool name specified explicitly
192
+ expandedTools.push(tool);
193
+ }
194
+ }
195
+ // Remove duplicates
196
+ agent.tools = [...new Set(expandedTools)];
197
+ }
198
+ }
199
+ }
200
+ async registerRequiredTools(config, client, verbose = false, toolSourceHashes = {}) {
201
+ const toolNameToId = new Map();
202
+ // Get existing tools
203
+ const existingTools = await client.listTools();
204
+ const existingToolsArray = Array.isArray(existingTools)
205
+ ? existingTools
206
+ : (existingTools.items || []);
207
+ // Collect all unique tool names from all agents
208
+ const requiredTools = new Set();
209
+ if (config.agents) {
210
+ for (const agent of config.agents) {
211
+ if (agent.tools) {
212
+ agent.tools.forEach(tool => requiredTools.add(tool));
213
+ }
214
+ }
215
+ }
216
+ // Register missing tools
217
+ for (const toolName of requiredTools) {
218
+ // Skip built-in tools
219
+ if (['archival_memory_insert', 'archival_memory_search'].includes(toolName)) {
220
+ const existingTool = existingToolsArray.find((t) => t.name === toolName);
221
+ if (existingTool) {
222
+ toolNameToId.set(toolName, existingTool.id);
223
+ }
224
+ continue;
225
+ }
226
+ // Check if tool already exists
227
+ let tool = existingToolsArray.find((t) => t.name === toolName);
228
+ const toolPath = path.join(this.basePath, 'tools', `${toolName}.py`);
229
+ if (!tool) {
230
+ // Tool doesn't exist - register it
231
+ if (fs.existsSync(toolPath)) {
232
+ if (verbose)
233
+ console.log(`Registering tool: ${toolName}`);
234
+ try {
235
+ const sourceCode = fs.readFileSync(toolPath, 'utf8');
236
+ tool = await client.createTool({ source_code: sourceCode });
237
+ if (verbose)
238
+ console.log(`Tool ${toolName} registered`);
239
+ }
240
+ catch (error) {
241
+ console.warn(`Failed to register tool ${toolName}: ${error.message}`);
242
+ continue;
243
+ }
244
+ }
245
+ else {
246
+ console.warn(`Tool file not found: ${toolPath}`);
247
+ continue;
248
+ }
249
+ }
250
+ else {
251
+ // Tool exists - check if source code has changed
252
+ const currentSourceHash = toolSourceHashes[toolName];
253
+ if (currentSourceHash && fs.existsSync(toolPath)) {
254
+ // We have a hash for this tool, meaning source code is being tracked
255
+ // For comprehensive change detection, we would need to get the existing tool's
256
+ // source code and compare hashes. For now, we'll re-register tools when
257
+ // their source exists and they're being tracked for changes.
258
+ if (verbose)
259
+ console.log(`Re-registering tool due to potential source changes: ${toolName}`);
260
+ try {
261
+ const sourceCode = fs.readFileSync(toolPath, 'utf8');
262
+ tool = await client.createTool({ source_code: sourceCode });
263
+ if (verbose)
264
+ console.log(`Tool ${toolName} re-registered`);
265
+ }
266
+ catch (error) {
267
+ console.warn(`Failed to re-register tool ${toolName}: ${error.message}`);
268
+ // Continue with existing tool if re-registration fails
269
+ }
270
+ }
271
+ else {
272
+ if (verbose)
273
+ console.log(`Using existing tool: ${toolName}`);
274
+ }
275
+ }
276
+ toolNameToId.set(toolName, tool.id);
277
+ }
278
+ return toolNameToId;
279
+ }
280
+ }
281
+ exports.FleetParser = FleetParser;
282
+ //# sourceMappingURL=fleet-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-parser.js","sourceRoot":"","sources":["../../src/lib/fleet-parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAgC;AAChC,uCAAyB;AACzB,2CAA6B;AAG7B,MAAa,WAAW;IAGtB,YAAY,UAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAgB,CAAC;QAEvD,uDAAuD;QACvD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/B,2CAA2C;QAC3C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAElC,0BAA0B;QAC1B,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzC,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,wBAAwB;YACxB,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAErD,wBAAwB;YACxB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACxC,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,KAAU;QAC1C,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9D,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,kDAAkD;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;YACrF,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,CAAC,IAAI,uBAAuB,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,yEAAyE,KAAK,CAAC,IAAI,eAAe,CAAC,CAAC;YACjJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,MAAW;QAC5C,sCAAsC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAC/E,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,CAAC;QAED,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,iDAAiD;QACjD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,gBAAgB,GAAG,MAAM,GAAG,UAAU,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,MAAmB;QAC3C,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO;QAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACnC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,MAAoB;QAC5C,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChD,wCAAwC;gBACxC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBACrD,aAAa,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,qCAAqC;gBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACnD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,oBAAoB;gBACpB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEO,oBAAoB,CAAC,GAAW;QACtC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAE7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACrD,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC1B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2CAA2C;QAC7C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,MAAmB;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO;QAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,uDAAuD;gBACvD,MAAM,aAAa,GAAa,EAAE,CAAC;gBAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBACvB,wDAAwD;wBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACtD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC5B,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;iCACvC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;iCACpC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;4BAC3C,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;4BACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,CAAC,MAAM,WAAW,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACpF,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,yCAAyC;wBACzC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAED,oBAAoB;gBACpB,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,MAAmB,EACnB,MAAW,EACX,UAAmB,KAAK,EACxB,mBAA2C,EAAE;QAE7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE/C,qBAAqB;QACrB,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/C,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YACrD,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,CAAE,aAAqB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAEzC,gDAAgD;QAChD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,sBAAsB;YACtB,IAAI,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5E,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAC9E,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBACD,SAAS;YACX,CAAC;YAED,+BAA+B;YAC/B,IAAI,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;YAErE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,mCAAmC;gBACnC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,IAAI,OAAO;wBAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;oBAC1D,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACrD,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;wBAC5D,IAAI,OAAO;4BAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,QAAQ,aAAa,CAAC,CAAC;oBAC1D,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,CAAC,IAAI,CAAC,2BAA2B,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBACtE,SAAS;oBACX,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;oBACjD,SAAS;gBACX,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,iDAAiD;gBACjD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,iBAAiB,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjD,qEAAqE;oBACrE,gFAAgF;oBAChF,wEAAwE;oBACxE,6DAA6D;oBAC7D,IAAI,OAAO;wBAAE,OAAO,CAAC,GAAG,CAAC,wDAAwD,QAAQ,EAAE,CAAC,CAAC;oBAC7F,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACrD,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;wBAC5D,IAAI,OAAO;4BAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,QAAQ,gBAAgB,CAAC,CAAC;oBAC7D,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,CAAC,IAAI,CAAC,8BAA8B,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBACzE,uDAAuD;oBACzD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,OAAO;wBAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAED,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AApQD,kCAoQC"}
@@ -0,0 +1,61 @@
1
+ import LettaClient from '@letta-ai/letta-client';
2
+ export declare class LettaClientWrapper {
3
+ private client;
4
+ constructor();
5
+ listAgents(): Promise<LettaClient.Agents.AgentStatesArrayPage>;
6
+ getAgent(agentId: string): Promise<LettaClient.Agents.AgentState>;
7
+ createAgent(agentData: any): Promise<LettaClient.Agents.AgentState>;
8
+ deleteAgent(agentId: string): Promise<unknown>;
9
+ getAgentMessages(agentId: string, limit?: number): Promise<LettaClient.Agents.Messages.MessagesArrayPage>;
10
+ createBlock(blockData: any): Promise<LettaClient.Blocks.BlockResponse>;
11
+ listBlocks(): Promise<LettaClient.Blocks.BlockResponsesArrayPage>;
12
+ listFolders(): Promise<LettaClient.Folders.FoldersArrayPage>;
13
+ createFolder(folderData: any): Promise<LettaClient.Folders.Folder>;
14
+ uploadFileToFolder(fileStream: any, folderId: string, fileName: string): Promise<LettaClient.Folders.Files.FileUploadResponse>;
15
+ attachFolderToAgent(agentId: string, folderId: string): Promise<LettaClient.Agents.AgentState | null>;
16
+ deleteFolder(folderId: string): Promise<unknown>;
17
+ deleteBlock(blockId: string): Promise<unknown>;
18
+ listFolderFiles(folderId: string): Promise<LettaClient.Folders.Files.FileListResponsesArrayPage>;
19
+ updateAgent(agentId: string, agentData: any): Promise<LettaClient.Agents.AgentState>;
20
+ listTools(): Promise<LettaClient.Tools.ToolsArrayPage>;
21
+ createTool(toolData: any): Promise<LettaClient.Tools.Tool>;
22
+ deleteTool(toolId: string): Promise<unknown>;
23
+ exportAgent(agentId: string, options?: {
24
+ max_steps?: number;
25
+ use_legacy_format?: boolean;
26
+ }): Promise<string>;
27
+ importAgent(fileStream: any, options?: any): Promise<LettaClient.Agents.AgentImportFileResponse>;
28
+ listMessages(agentId: string, options?: any): Promise<LettaClient.Agents.Messages.MessagesArrayPage>;
29
+ createMessage(agentId: string, params?: any): Promise<LettaClient.Agents.Messages.LettaResponse>;
30
+ streamMessage(agentId: string, params?: any): Promise<import("@letta-ai/letta-client/core/streaming").Stream<LettaClient.Agents.Messages.LettaStreamingResponse>>;
31
+ createAsyncMessage(agentId: string, params?: any): Promise<LettaClient.Agents.Messages.Run>;
32
+ cancelMessages(agentId: string, runIds?: string[]): Promise<LettaClient.Agents.Messages.MessageCancelResponse>;
33
+ resetMessages(agentId: string, addDefaultMessages?: boolean): Promise<LettaClient.Agents.AgentState | null>;
34
+ compactMessages(agentId: string): Promise<void>;
35
+ attachToolToAgent(agentId: string, toolId: string): Promise<LettaClient.Agents.AgentState | null>;
36
+ detachToolFromAgent(agentId: string, toolId: string): Promise<LettaClient.Agents.AgentState | null>;
37
+ listAgentTools(agentId: string): Promise<LettaClient.Tools.ToolsArrayPage>;
38
+ updateToolApproval(agentId: string, toolName: string, requiresApproval: boolean): Promise<LettaClient.Agents.AgentState | null>;
39
+ attachBlockToAgent(agentId: string, blockId: string): Promise<LettaClient.Agents.AgentState>;
40
+ detachBlockFromAgent(agentId: string, blockId: string): Promise<LettaClient.Agents.AgentState>;
41
+ updateAgentBlock(agentId: string, blockLabel: string, updateData: any): Promise<LettaClient.Blocks.BlockResponse>;
42
+ listAgentBlocks(agentId: string): Promise<LettaClient.Blocks.BlockResponsesArrayPage>;
43
+ detachFolderFromAgent(agentId: string, folderId: string): Promise<LettaClient.Agents.AgentState | null>;
44
+ listAgentFolders(agentId: string): Promise<LettaClient.Agents.Folders.FolderListResponsesArrayPage>;
45
+ updateAgentSystemPrompt(agentId: string, systemPrompt: string): Promise<LettaClient.Agents.AgentState>;
46
+ updateAgentModel(agentId: string, model: string): Promise<LettaClient.Agents.AgentState>;
47
+ updateAgentEmbedding(agentId: string, embedding: string): Promise<LettaClient.Agents.AgentState>;
48
+ updateAgentContextWindow(agentId: string, contextWindowLimit: number): Promise<LettaClient.Agents.AgentState>;
49
+ updateAgentModelSettings(agentId: string, modelSettings: any): Promise<LettaClient.Agents.AgentState>;
50
+ updateAgentMetadata(agentId: string, updates: {
51
+ name?: string;
52
+ description?: string;
53
+ timezone?: string;
54
+ tags?: string[];
55
+ metadata?: any;
56
+ }): Promise<LettaClient.Agents.AgentState>;
57
+ deleteFileFromFolder(folderId: string, fileId: string): Promise<void>;
58
+ getFileIdByName(folderId: string, fileName: string): Promise<string | null>;
59
+ uploadFileToExistingFolder(folderId: string, filePath: string, fileName: string, fileContent: Buffer | string): Promise<LettaClient.Folders.Files.FileUploadResponse>;
60
+ }
61
+ //# sourceMappingURL=letta-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"letta-client.d.ts","sourceRoot":"","sources":["../../src/lib/letta-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LettaClientWrapper = void 0;
7
+ const letta_client_1 = __importDefault(require("@letta-ai/letta-client"));
8
+ class LettaClientWrapper {
9
+ constructor() {
10
+ const config = {
11
+ baseURL: process.env.LETTA_API_URL,
12
+ };
13
+ // API key is optional for self-hosting
14
+ if (process.env.LETTA_API_KEY) {
15
+ config.apiKey = process.env.LETTA_API_KEY;
16
+ }
17
+ this.client = new letta_client_1.default(config);
18
+ }
19
+ async listAgents() {
20
+ return await this.client.agents.list();
21
+ }
22
+ async getAgent(agentId) {
23
+ return await this.client.agents.retrieve(agentId);
24
+ }
25
+ async createAgent(agentData) {
26
+ return await this.client.agents.create(agentData);
27
+ }
28
+ async deleteAgent(agentId) {
29
+ return await this.client.agents.delete(agentId);
30
+ }
31
+ async getAgentMessages(agentId, limit) {
32
+ return await this.client.agents.messages.list(agentId, { limit });
33
+ }
34
+ async createBlock(blockData) {
35
+ return await this.client.blocks.create(blockData);
36
+ }
37
+ async listBlocks() {
38
+ return await this.client.blocks.list();
39
+ }
40
+ async listFolders() {
41
+ return await this.client.folders.list();
42
+ }
43
+ async createFolder(folderData) {
44
+ return await this.client.folders.create(folderData);
45
+ }
46
+ async uploadFileToFolder(fileStream, folderId, fileName) {
47
+ return await this.client.folders.files.upload(folderId, {
48
+ file: fileStream,
49
+ name: fileName
50
+ });
51
+ }
52
+ async attachFolderToAgent(agentId, folderId) {
53
+ return await this.client.agents.folders.attach(folderId, {
54
+ agent_id: agentId
55
+ });
56
+ }
57
+ async deleteFolder(folderId) {
58
+ return await this.client.folders.delete(folderId);
59
+ }
60
+ async deleteBlock(blockId) {
61
+ return await this.client.blocks.delete(blockId);
62
+ }
63
+ async listFolderFiles(folderId) {
64
+ return await this.client.folders.files.list(folderId);
65
+ }
66
+ async updateAgent(agentId, agentData) {
67
+ return await this.client.agents.update(agentId, agentData);
68
+ }
69
+ async listTools() {
70
+ return await this.client.tools.list();
71
+ }
72
+ async createTool(toolData) {
73
+ return await this.client.tools.create(toolData);
74
+ }
75
+ async deleteTool(toolId) {
76
+ return await this.client.tools.delete(toolId);
77
+ }
78
+ async exportAgent(agentId, options) {
79
+ return await this.client.agents.exportFile(agentId, options);
80
+ }
81
+ async importAgent(fileStream, options) {
82
+ return await this.client.agents.importFile({
83
+ file: fileStream,
84
+ ...options
85
+ });
86
+ }
87
+ // Message operations
88
+ async listMessages(agentId, options) {
89
+ return await this.client.agents.messages.list(agentId, options);
90
+ }
91
+ async createMessage(agentId, params) {
92
+ return await this.client.agents.messages.create(agentId, params);
93
+ }
94
+ async streamMessage(agentId, params) {
95
+ return await this.client.agents.messages.stream(agentId, params);
96
+ }
97
+ async createAsyncMessage(agentId, params) {
98
+ return await this.client.agents.messages.createAsync(agentId, params);
99
+ }
100
+ async cancelMessages(agentId, runIds) {
101
+ return await this.client.agents.messages.cancel(agentId, runIds ? { run_ids: runIds } : undefined);
102
+ }
103
+ async resetMessages(agentId, addDefaultMessages) {
104
+ return await this.client.agents.messages.reset(agentId, {
105
+ add_default_initial_messages: addDefaultMessages
106
+ });
107
+ }
108
+ async compactMessages(agentId) {
109
+ return await this.client.agents.messages.compact(agentId);
110
+ }
111
+ // === Granular Agent Update Operations ===
112
+ // These methods enable partial updates that preserve conversation history
113
+ // Tool Management
114
+ async attachToolToAgent(agentId, toolId) {
115
+ return await this.client.agents.tools.attach(toolId, { agent_id: agentId });
116
+ }
117
+ async detachToolFromAgent(agentId, toolId) {
118
+ return await this.client.agents.tools.detach(toolId, { agent_id: agentId });
119
+ }
120
+ async listAgentTools(agentId) {
121
+ return await this.client.agents.tools.list(agentId);
122
+ }
123
+ async updateToolApproval(agentId, toolName, requiresApproval) {
124
+ return await this.client.agents.tools.updateApproval(toolName, {
125
+ agent_id: agentId,
126
+ body_requires_approval: requiresApproval
127
+ });
128
+ }
129
+ // Memory Block Management
130
+ async attachBlockToAgent(agentId, blockId) {
131
+ return await this.client.agents.blocks.attach(blockId, { agent_id: agentId });
132
+ }
133
+ async detachBlockFromAgent(agentId, blockId) {
134
+ return await this.client.agents.blocks.detach(blockId, { agent_id: agentId });
135
+ }
136
+ async updateAgentBlock(agentId, blockLabel, updateData) {
137
+ return await this.client.agents.blocks.update(blockLabel, {
138
+ agent_id: agentId,
139
+ ...updateData
140
+ });
141
+ }
142
+ async listAgentBlocks(agentId) {
143
+ return await this.client.agents.blocks.list(agentId);
144
+ }
145
+ // Folder Management
146
+ async detachFolderFromAgent(agentId, folderId) {
147
+ return await this.client.agents.folders.detach(folderId, { agent_id: agentId });
148
+ }
149
+ async listAgentFolders(agentId) {
150
+ return await this.client.agents.folders.list(agentId);
151
+ }
152
+ // Agent Configuration Updates (all preserve conversation history)
153
+ async updateAgentSystemPrompt(agentId, systemPrompt) {
154
+ return await this.updateAgent(agentId, { system: systemPrompt });
155
+ }
156
+ async updateAgentModel(agentId, model) {
157
+ return await this.updateAgent(agentId, { model });
158
+ }
159
+ async updateAgentEmbedding(agentId, embedding) {
160
+ return await this.updateAgent(agentId, { embedding });
161
+ }
162
+ async updateAgentContextWindow(agentId, contextWindowLimit) {
163
+ return await this.updateAgent(agentId, { context_window_limit: contextWindowLimit });
164
+ }
165
+ async updateAgentModelSettings(agentId, modelSettings) {
166
+ return await this.updateAgent(agentId, { model_settings: modelSettings });
167
+ }
168
+ async updateAgentMetadata(agentId, updates) {
169
+ return await this.updateAgent(agentId, updates);
170
+ }
171
+ // === File Management Operations ===
172
+ // These methods enable file add/remove/update operations in folders
173
+ async deleteFileFromFolder(folderId, fileId) {
174
+ return await this.client.folders.files.delete(fileId, { folder_id: folderId });
175
+ }
176
+ async getFileIdByName(folderId, fileName) {
177
+ const files = await this.listFolderFiles(folderId);
178
+ const fileList = Array.isArray(files) ? files : files.items || [];
179
+ for (const file of fileList) {
180
+ if (file.name === fileName || file.file_name === fileName) {
181
+ return file.id;
182
+ }
183
+ }
184
+ return null;
185
+ }
186
+ async uploadFileToExistingFolder(folderId, filePath, fileName, fileContent) {
187
+ if (typeof fileContent === 'string') {
188
+ // Create a buffer from string content
189
+ const buffer = Buffer.from(fileContent, 'utf8');
190
+ // Create a readable stream from buffer
191
+ const { Readable } = require('stream');
192
+ const stream = new Readable();
193
+ stream.push(buffer);
194
+ stream.push(null);
195
+ return await this.uploadFileToFolder(stream, folderId, fileName);
196
+ }
197
+ else {
198
+ // Create stream from buffer
199
+ const { Readable } = require('stream');
200
+ const stream = new Readable();
201
+ stream.push(fileContent);
202
+ stream.push(null);
203
+ return await this.uploadFileToFolder(stream, folderId, fileName);
204
+ }
205
+ }
206
+ }
207
+ exports.LettaClientWrapper = LettaClientWrapper;
208
+ //# sourceMappingURL=letta-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"letta-client.js","sourceRoot":"","sources":["../../src/lib/letta-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare class OutputFormatter {
2
+ /**
3
+ * Formats output based on the specified format
4
+ */
5
+ static formatOutput(data: any, format: string): string;
6
+ /**
7
+ * Creates a table for agent listing
8
+ */
9
+ static createAgentTable(agents: any[]): string;
10
+ /**
11
+ * Handles JSON output if requested, returns true if handled
12
+ */
13
+ static handleJsonOutput(data: any, format?: string): boolean;
14
+ }
15
+ //# sourceMappingURL=output-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-formatter.d.ts","sourceRoot":"","sources":["../../src/lib/output-formatter.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IAC1B;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IActD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM;IAgB9C;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;CAO7D"}