This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

Fix island:analyze: use runTurn, restrict to island_save tool

- Revert to runTurn() — stream() yields token deltas not messages
- Add allowedTools: [island_save] so agent cant use memory or other
built-in tools
- Remove unused SDKMessage import

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>

author
nandi
co-author
Letta Code
date (May 15, 2026, 6:14 AM UTC) commit 03409f52 parent ccf0dce8
+2 -20
+2 -20
src/island-analyze.ts
··· 21 21 type AnyAgentTool, 22 22 type AgentToolResult, 23 23 type SDKResultMessage, 24 - type SDKMessage, 25 24 } from '@letta-ai/letta-code-sdk'; 26 25 import { loadDotEnv } from './cli-utils.js'; 27 26 import { findComponents, domainFromUrl, type Component, type EdgeRow, fetchComponentEdges, resolveDidHandles } from './island-shared.js'; ··· 310 309 You always call island_save once when done. You do not ask for permission.`, 311 310 human: 'island-analyzer', 312 311 tools: [islandSaveTool], 312 + allowedTools: ['island_save'], 313 313 permissionMode: 'bypassPermissions', 314 314 memfs: false, 315 315 systemInfoReminder: false, ··· 349 349 350 350 ${context}`; 351 351 352 - // Send prompt and stream agent output in real-time 353 - session.send(prompt); 354 - for await (const msg of session.stream()) { 355 - if (msg.type === 'assistant') { 356 - console.error(` [agent] ${msg.content}`); 357 - } else if (msg.type === 'tool_call') { 358 - const input = JSON.stringify(msg.toolInput); 359 - console.error(` [tool:${msg.toolName}] ${input.slice(0, 200)}${input.length > 200 ? '...' : ''}`); 360 - } else if (msg.type === 'tool_result') { 361 - console.error(` [result] ${msg.content.slice(0, 100)}${msg.content.length > 100 ? '...' : ''}`); 362 - } else if (msg.type === 'result') { 363 - // Terminal result — stream ends 364 - const r = msg as SDKResultMessage; 365 - if (!r.success) { 366 - console.error(` Agent failed: ${r.error ?? r.errorCode ?? 'unknown'}`); 367 - } 368 - break; 369 - } 370 - } 352 + const result: SDKResultMessage = await session.runTurn(prompt); 371 353 372 354 if (!result.success) { 373 355 console.error(` Agent failed: ${result.error ?? result.errorCode ?? 'unknown'}`);