fix: patch yolo mode, bump version

This commit is contained in:
cpacker
2025-10-26 17:48:51 -07:00
parent 25d58a5cd2
commit a8261d16f7
3 changed files with 30 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@letta-ai/letta-code",
"version": "0.1.8",
"version": "0.1.9",
"description": "Letta Code is a CLI tool for interacting with stateful Letta agents from the terminal.",
"type": "module",
"bin": {

View File

@@ -3,6 +3,7 @@ import { parseArgs } from "node:util";
import type { Letta } from "@letta-ai/letta-client";
import { getResumeData, type ResumeData } from "./agent/check-approval";
import { getClient } from "./agent/client";
import { permissionMode } from "./permissions/mode";
import { loadSettings } from "./settings";
import { loadTools, upsertToolsToServer } from "./tools/manager";
@@ -123,8 +124,6 @@ async function main() {
const yoloMode = values.yolo as boolean | undefined;
if (yoloMode || permissionModeValue) {
const { permissionMode } = await import("./permissions/mode");
if (yoloMode) {
// --yolo is an alias for --permission-mode bypassPermissions
permissionMode.setMode("bypassPermissions");

View File

@@ -7,12 +7,39 @@ export type PermissionMode =
| "plan"
| "bypassPermissions";
// Use globalThis to ensure singleton across bundle
// This prevents Bun's bundler from creating duplicate instances of the mode manager
const MODE_KEY = Symbol.for("@letta/permissionMode");
type GlobalWithMode = typeof globalThis & {
[key: symbol]: PermissionMode;
};
function getGlobalMode(): PermissionMode {
const global = globalThis as GlobalWithMode;
if (!global[MODE_KEY]) {
global[MODE_KEY] = "default";
}
return global[MODE_KEY];
}
function setGlobalMode(value: PermissionMode): void {
const global = globalThis as GlobalWithMode;
global[MODE_KEY] = value;
}
/**
* Permission mode state for the current session.
* Set via CLI --permission-mode flag or settings.json defaultMode.
*/
class PermissionModeManager {
private currentMode: PermissionMode = "default";
private get currentMode(): PermissionMode {
return getGlobalMode();
}
private set currentMode(value: PermissionMode) {
setGlobalMode(value);
}
/**
* Set the permission mode for this session