fix: patch yolo mode, bump version
This commit is contained in:
@@ -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");
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user