lembas -l / --local: everything in the project, nothing written elsewhere
Config, data and state are rooted at <project>/.agent/local/lembas (or .lembas/), kept out of git; a local directory the repository carries is refused. The user's logins and connections.yaml are read, never written; the user's config.yaml is not read. The TUI is started with TMPDIR inside it (the compiled binary unpacks its native library there) and OpenTUI's cache goes there too; the agent's commands keep the user's TMPDIR. An instance serves models, chat, speech and the balance only: the link, /remote, the service and the hub are off, deletes are not sent, and the server library, search, fetch, embeddings and personalization are not used. Self-update and uninstall are refused. hardline_disable is ignored, and tools treat the local directory as outside the project. The smoke test runs a whole local session in the compiled binary and checks that HOME, the XDG directories and TMPDIR gained nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
27 files changed
+636
-105
No files matched your search
+3
-2
@@ -14,7 +14,7 @@
|
||||
// out of anybody's mind.
|
||||
import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs"
|
||||
import { join } from "node:path"
|
||||
import { paths } from "../config/paths.ts"
|
||||
import { isLocal, paths } from "../config/paths.ts"
|
||||
|
||||
export const DELETED_MAX = 500
|
||||
|
||||
@@ -43,7 +43,8 @@ function write(ids: string[]) {
|
||||
* directory that cannot be written to only loses the word. */
|
||||
export function addPendingDeleted(ids: string[]) {
|
||||
const add = ids.filter(Boolean)
|
||||
if (!add.length) return
|
||||
// Local mode tells the instance nothing, now or later.
|
||||
if (!add.length || isLocal()) return
|
||||
try {
|
||||
// An id already waiting moves to the end: it is the newest word about it.
|
||||
const list = [...pendingDeleted().filter((x) => !add.includes(x)), ...new Set(add)]
|
||||
|
||||
Reference in new issue
Block a user