@code-yeongyu/senpi 2026.9.4-2 → 2026.9.4-3
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.
- package/CHANGELOG.md +23 -0
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +31 -41
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/credential-pool/state-store.d.ts +1 -0
- package/dist/core/credential-pool/state-store.d.ts.map +1 -1
- package/dist/core/credential-pool/state-store.js +22 -2
- package/dist/core/credential-pool/state-store.js.map +1 -1
- package/dist/core/extensions/builtin/goal/store.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/store.js +8 -20
- package/dist/core/extensions/builtin/goal/store.js.map +1 -1
- package/dist/core/extensions/builtin/hooks/trust-storage.d.ts.map +1 -1
- package/dist/core/extensions/builtin/hooks/trust-storage.js +3 -1
- package/dist/core/extensions/builtin/hooks/trust-storage.js.map +1 -1
- package/dist/core/extensions/builtin/imagegen/auth.d.ts.map +1 -1
- package/dist/core/extensions/builtin/imagegen/auth.js +10 -2
- package/dist/core/extensions/builtin/imagegen/auth.js.map +1 -1
- package/dist/core/extensions/builtin/loop/store.d.ts +8 -6
- package/dist/core/extensions/builtin/loop/store.d.ts.map +1 -1
- package/dist/core/extensions/builtin/loop/store.js +54 -88
- package/dist/core/extensions/builtin/loop/store.js.map +1 -1
- package/dist/core/extensions/builtin/monitor-state-event.d.ts +2 -0
- package/dist/core/extensions/builtin/monitor-state-event.d.ts.map +1 -1
- package/dist/core/extensions/builtin/monitor-state-event.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/extension.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/extension.js +181 -3
- package/dist/core/extensions/builtin/terminal/extension.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/manager.d.ts +10 -0
- package/dist/core/extensions/builtin/terminal/manager.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/manager.js +21 -0
- package/dist/core/extensions/builtin/terminal/manager.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/manifest-lease.d.ts +24 -0
- package/dist/core/extensions/builtin/terminal/manifest-lease.d.ts.map +1 -0
- package/dist/core/extensions/builtin/terminal/manifest-lease.js +105 -0
- package/dist/core/extensions/builtin/terminal/manifest-lease.js.map +1 -0
- package/dist/core/extensions/builtin/terminal/monitor-registry.d.ts +13 -2
- package/dist/core/extensions/builtin/terminal/monitor-registry.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/monitor-registry.js +24 -2
- package/dist/core/extensions/builtin/terminal/monitor-registry.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/restore.d.ts +43 -0
- package/dist/core/extensions/builtin/terminal/restore.d.ts.map +1 -0
- package/dist/core/extensions/builtin/terminal/restore.js +149 -0
- package/dist/core/extensions/builtin/terminal/restore.js.map +1 -0
- package/dist/core/extensions/builtin/terminal/terminal-manifest.d.ts +110 -0
- package/dist/core/extensions/builtin/terminal/terminal-manifest.d.ts.map +1 -0
- package/dist/core/extensions/builtin/terminal/terminal-manifest.js +158 -0
- package/dist/core/extensions/builtin/terminal/terminal-manifest.js.map +1 -0
- package/dist/core/extensions/builtin/terminal/tools/bash-input.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/bash-input.js +3 -2
- package/dist/core/extensions/builtin/terminal/tools/bash-input.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/bash-output.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/bash-output.js +5 -4
- package/dist/core/extensions/builtin/terminal/tools/bash-output.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/bash-resize.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/bash-resize.js +3 -2
- package/dist/core/extensions/builtin/terminal/tools/bash-resize.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/context.d.ts +8 -0
- package/dist/core/extensions/builtin/terminal/tools/context.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/context.js +10 -0
- package/dist/core/extensions/builtin/terminal/tools/context.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/kill-bash.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/kill-bash.js +5 -4
- package/dist/core/extensions/builtin/terminal/tools/kill-bash.js.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/monitor.d.ts +4 -1
- package/dist/core/extensions/builtin/terminal/tools/monitor.d.ts.map +1 -1
- package/dist/core/extensions/builtin/terminal/tools/monitor.js +58 -14
- package/dist/core/extensions/builtin/terminal/tools/monitor.js.map +1 -1
- package/dist/core/extensions/builtin/tool-search/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/tool-search/index.js +1 -1
- package/dist/core/extensions/builtin/tool-search/index.js.map +1 -1
- package/dist/core/extensions/builtin/tool-search/native-search.d.ts +9 -4
- package/dist/core/extensions/builtin/tool-search/native-search.d.ts.map +1 -1
- package/dist/core/extensions/builtin/tool-search/native-search.js +11 -6
- package/dist/core/extensions/builtin/tool-search/native-search.js.map +1 -1
- package/dist/core/extensions/builtin/tool-search/native-support.d.ts +13 -0
- package/dist/core/extensions/builtin/tool-search/native-support.d.ts.map +1 -0
- package/dist/core/extensions/builtin/tool-search/native-support.js +45 -0
- package/dist/core/extensions/builtin/tool-search/native-support.js.map +1 -0
- package/dist/core/lockfile-policy.d.ts +11 -0
- package/dist/core/lockfile-policy.d.ts.map +1 -1
- package/dist/core/lockfile-policy.js +19 -0
- package/dist/core/lockfile-policy.js.map +1 -1
- package/dist/core/session-sidecar-store.d.ts +62 -0
- package/dist/core/session-sidecar-store.d.ts.map +1 -0
- package/dist/core/session-sidecar-store.js +149 -0
- package/dist/core/session-sidecar-store.js.map +1 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +11 -15
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/modes/app-server/daemon/process.d.ts +33 -3
- package/dist/modes/app-server/daemon/process.d.ts.map +1 -1
- package/dist/modes/app-server/daemon/process.js +57 -6
- package/dist/modes/app-server/daemon/process.js.map +1 -1
- package/dist/modes/app-server/daemon.js +9 -1
- package/dist/modes/app-server/daemon.js.map +1 -1
- package/dist/modes/rpc/host-ensure.d.ts +2 -0
- package/dist/modes/rpc/host-ensure.d.ts.map +1 -1
- package/dist/modes/rpc/host-ensure.js +77 -18
- package/dist/modes/rpc/host-ensure.js.map +1 -1
- package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +14 -0
- package/node_modules/@code-yeongyu/senpi-codemode/package.json +5 -5
- package/node_modules/@code-yeongyu/senpi-codemode/src/prompt/eval-prompt.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js +4 -4
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +2 -2
- package/node_modules/@earendil-works/pi-pty/package.json +1 -1
- package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-sidecar-store.d.ts","sourceRoot":"","sources":["../../src/core/session-sidecar-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,qBAAa,wBAAyB,SAAQ,KAAK;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI1D;AAED,qBAAa,mCAAoC,SAAQ,KAAK;gBACjD,OAAO,EAAE,MAAM;CAI3B;AAED,yFAAyF;AACzF,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,sFAAsF;AACtF,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,KAAK,CAAC,CAAC;AAEhF,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,IAAI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9D,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1B,KAAK,IAAI,IAAI,CAAC;CACd;AAKD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAyC5F;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvG;AA+BD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAYtF"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic atomic, versioned, per-session sidecar store.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from the loop store's persistence discipline: a module-level per-file
|
|
5
|
+
* promise tail serializes read-modify-write cycles, writes go through a temp file
|
|
6
|
+
* with 0600 permissions and a rename, and parsing fails closed on version or
|
|
7
|
+
* session mismatches so a corrupt or foreign file never silently resets state.
|
|
8
|
+
*/
|
|
9
|
+
import { randomUUID } from "node:crypto";
|
|
10
|
+
import { mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
|
|
11
|
+
import { dirname, join } from "node:path";
|
|
12
|
+
export class InvalidSidecarStoreError extends Error {
|
|
13
|
+
constructor(message, options) {
|
|
14
|
+
super(message, options);
|
|
15
|
+
this.name = "InvalidSidecarStoreError";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class UnsupportedSidecarStoreVersionError extends Error {
|
|
19
|
+
constructor(message) {
|
|
20
|
+
super(message);
|
|
21
|
+
this.name = "UnsupportedSidecarStoreVersionError";
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const mutationTails = new Map();
|
|
25
|
+
const snapshots = new Map();
|
|
26
|
+
export function encodedSessionId(sessionId) {
|
|
27
|
+
return encodeURIComponent(sessionId);
|
|
28
|
+
}
|
|
29
|
+
export function sidecarFilePath(ref) {
|
|
30
|
+
return join(ref.baseDir, `${encodedSessionId(ref.sessionId)}.json`);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Creates a per-session store bound to `baseDir/<encoded session id>.json`.
|
|
34
|
+
* Two stores for the same file share the mutation tail and snapshot cache.
|
|
35
|
+
*/
|
|
36
|
+
export function createSidecarStore(options) {
|
|
37
|
+
const ref = { baseDir: options.baseDir, sessionId: options.sessionId };
|
|
38
|
+
const filePath = sidecarFilePath(ref);
|
|
39
|
+
async function read() {
|
|
40
|
+
let raw;
|
|
41
|
+
try {
|
|
42
|
+
raw = await readFile(filePath, "utf8");
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (isFileSystemError(error, "ENOENT"))
|
|
46
|
+
return null;
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
const state = parsePayload(raw, options, ref);
|
|
50
|
+
snapshots.set(filePath, state);
|
|
51
|
+
return state;
|
|
52
|
+
}
|
|
53
|
+
async function write(state) {
|
|
54
|
+
await mkdir(dirname(filePath), { recursive: true });
|
|
55
|
+
await writeAtomic(filePath, `${JSON.stringify(state, null, 2)}\n`, options.tempPrefix);
|
|
56
|
+
snapshots.set(filePath, state);
|
|
57
|
+
}
|
|
58
|
+
function mutate(fn) {
|
|
59
|
+
return serializeByKey(filePath, async () => {
|
|
60
|
+
const next = await fn(await read());
|
|
61
|
+
await write(next);
|
|
62
|
+
return next;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
filePath,
|
|
67
|
+
read,
|
|
68
|
+
write,
|
|
69
|
+
mutate,
|
|
70
|
+
snapshot: () => snapshots.get(filePath),
|
|
71
|
+
clear: () => {
|
|
72
|
+
snapshots.delete(filePath);
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Writes `contents` to `filePath` atomically: a hidden temp file (0600) next to the
|
|
78
|
+
* target, then a rename over it. On failure the temp file is removed; if that
|
|
79
|
+
* cleanup also fails, both errors surface as one AggregateError.
|
|
80
|
+
*/
|
|
81
|
+
export async function writeAtomic(filePath, contents, tempPrefix) {
|
|
82
|
+
const tempPath = join(dirname(filePath), `.${tempPrefix}-${randomUUID()}.tmp`);
|
|
83
|
+
try {
|
|
84
|
+
await writeFile(tempPath, contents, { encoding: "utf8", mode: 0o600 });
|
|
85
|
+
await rename(tempPath, filePath);
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
try {
|
|
89
|
+
await rm(tempPath, { force: true });
|
|
90
|
+
}
|
|
91
|
+
catch (cleanupError) {
|
|
92
|
+
throw new AggregateError([error, cleanupError], "sidecar store write failed and its temporary file could not be removed");
|
|
93
|
+
}
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Parses raw file contents, rejecting malformed JSON, a non-object payload, a
|
|
99
|
+
* version other than `options.version`, and a sessionId other than the ref's
|
|
100
|
+
* before handing the payload to the domain parser. Fail closed: never resets.
|
|
101
|
+
*/
|
|
102
|
+
function parsePayload(raw, options, ref) {
|
|
103
|
+
let parsed;
|
|
104
|
+
try {
|
|
105
|
+
parsed = JSON.parse(raw);
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
throw new InvalidSidecarStoreError("sidecar store contains unparseable JSON", { cause: error });
|
|
109
|
+
}
|
|
110
|
+
if (!isRecord(parsed))
|
|
111
|
+
throw new InvalidSidecarStoreError("sidecar store must be a JSON object");
|
|
112
|
+
if (parsed.version !== options.version) {
|
|
113
|
+
throw new UnsupportedSidecarStoreVersionError(`unsupported sidecar store version: ${JSON.stringify(parsed.version)} (expected ${options.version})`);
|
|
114
|
+
}
|
|
115
|
+
if (typeof parsed.sessionId !== "string" || parsed.sessionId.length === 0) {
|
|
116
|
+
throw new InvalidSidecarStoreError("sidecar store is missing a sessionId");
|
|
117
|
+
}
|
|
118
|
+
if (parsed.sessionId !== ref.sessionId) {
|
|
119
|
+
throw new InvalidSidecarStoreError(`sidecar store sessionId ${parsed.sessionId} does not match the session it was loaded for`);
|
|
120
|
+
}
|
|
121
|
+
return options.parse(parsed, ref);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Serializes read-modify-write cycles per key across every sidecar consumer.
|
|
125
|
+
*
|
|
126
|
+
* `key` must be the resolved absolute file path of the sidecar (the same string
|
|
127
|
+
* `createSidecarStore` uses for that file). Callers that own their own writer
|
|
128
|
+
* (goal) call this directly around that writer. Callers that want the whole
|
|
129
|
+
* store (loop) go through `createSidecarStore`, whose `mutate` already uses
|
|
130
|
+
* this tail.
|
|
131
|
+
*/
|
|
132
|
+
export function serializeByKey(key, operation) {
|
|
133
|
+
const previous = mutationTails.get(key) ?? Promise.resolve();
|
|
134
|
+
const run = previous.then(operation);
|
|
135
|
+
const tail = run.then(() => undefined, () => undefined);
|
|
136
|
+
mutationTails.set(key, tail);
|
|
137
|
+
void tail.then(() => {
|
|
138
|
+
if (mutationTails.get(key) === tail)
|
|
139
|
+
mutationTails.delete(key);
|
|
140
|
+
});
|
|
141
|
+
return run;
|
|
142
|
+
}
|
|
143
|
+
function isRecord(value) {
|
|
144
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
145
|
+
}
|
|
146
|
+
function isFileSystemError(error, code) {
|
|
147
|
+
return error instanceof Error && "code" in error && error.code === code;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=session-sidecar-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-sidecar-store.js","sourceRoot":"","sources":["../../src/core/session-sidecar-store.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Generic atomic, versioned, per-session sidecar store.\n *\n * Extracted from the loop store's persistence discipline: a module-level per-file\n * promise tail serializes read-modify-write cycles, writes go through a temp file\n * with 0600 permissions and a rename, and parsing fails closed on version or\n * session mismatches so a corrupt or foreign file never silently resets state.\n */\n\nimport { randomUUID } from \"node:crypto\";\nimport { mkdir, readFile, rename, rm, writeFile } from \"node:fs/promises\";\nimport { dirname, join } from \"node:path\";\n\nexport class InvalidSidecarStoreError extends Error {\n\tconstructor(message: string, options?: { cause?: unknown }) {\n\t\tsuper(message, options);\n\t\tthis.name = \"InvalidSidecarStoreError\";\n\t}\n}\n\nexport class UnsupportedSidecarStoreVersionError extends Error {\n\tconstructor(message: string) {\n\t\tsuper(message);\n\t\tthis.name = \"UnsupportedSidecarStoreVersionError\";\n\t}\n}\n\n/** Location identity of one sidecar file: a directory plus the session it belongs to. */\nexport interface SidecarStoreRef {\n\tbaseDir: string;\n\tsessionId: string;\n}\n\n/** Validates the domain fields of an already version- and session-checked payload. */\nexport type SidecarPayloadParser<T> = (raw: unknown, ref: SidecarStoreRef) => T;\n\nexport interface CreateSidecarStoreOptions<T> {\n\tbaseDir: string;\n\tsessionId: string;\n\tversion: number;\n\ttempPrefix: string;\n\tparse: SidecarPayloadParser<T>;\n}\n\nexport interface SidecarStore<T> {\n\tfilePath: string;\n\tread(): Promise<T | null>;\n\twrite(state: T): Promise<void>;\n\tmutate(fn: (current: T | null) => T | Promise<T>): Promise<T>;\n\tsnapshot(): T | undefined;\n\tclear(): void;\n}\n\nconst mutationTails = new Map<string, Promise<void>>();\nconst snapshots = new Map<string, unknown>();\n\nexport function encodedSessionId(sessionId: string): string {\n\treturn encodeURIComponent(sessionId);\n}\n\nexport function sidecarFilePath(ref: SidecarStoreRef): string {\n\treturn join(ref.baseDir, `${encodedSessionId(ref.sessionId)}.json`);\n}\n\n/**\n * Creates a per-session store bound to `baseDir/<encoded session id>.json`.\n * Two stores for the same file share the mutation tail and snapshot cache.\n */\nexport function createSidecarStore<T>(options: CreateSidecarStoreOptions<T>): SidecarStore<T> {\n\tconst ref: SidecarStoreRef = { baseDir: options.baseDir, sessionId: options.sessionId };\n\tconst filePath = sidecarFilePath(ref);\n\n\tasync function read(): Promise<T | null> {\n\t\tlet raw: string;\n\t\ttry {\n\t\t\traw = await readFile(filePath, \"utf8\");\n\t\t} catch (error) {\n\t\t\tif (isFileSystemError(error, \"ENOENT\")) return null;\n\t\t\tthrow error;\n\t\t}\n\t\tconst state = parsePayload(raw, options, ref);\n\t\tsnapshots.set(filePath, state);\n\t\treturn state;\n\t}\n\n\tasync function write(state: T): Promise<void> {\n\t\tawait mkdir(dirname(filePath), { recursive: true });\n\t\tawait writeAtomic(filePath, `${JSON.stringify(state, null, 2)}\\n`, options.tempPrefix);\n\t\tsnapshots.set(filePath, state);\n\t}\n\n\tfunction mutate(fn: (current: T | null) => T | Promise<T>): Promise<T> {\n\t\treturn serializeByKey(filePath, async () => {\n\t\t\tconst next = await fn(await read());\n\t\t\tawait write(next);\n\t\t\treturn next;\n\t\t});\n\t}\n\n\treturn {\n\t\tfilePath,\n\t\tread,\n\t\twrite,\n\t\tmutate,\n\t\tsnapshot: () => snapshots.get(filePath) as T | undefined,\n\t\tclear: () => {\n\t\t\tsnapshots.delete(filePath);\n\t\t},\n\t};\n}\n\n/**\n * Writes `contents` to `filePath` atomically: a hidden temp file (0600) next to the\n * target, then a rename over it. On failure the temp file is removed; if that\n * cleanup also fails, both errors surface as one AggregateError.\n */\nexport async function writeAtomic(filePath: string, contents: string, tempPrefix: string): Promise<void> {\n\tconst tempPath = join(dirname(filePath), `.${tempPrefix}-${randomUUID()}.tmp`);\n\ttry {\n\t\tawait writeFile(tempPath, contents, { encoding: \"utf8\", mode: 0o600 });\n\t\tawait rename(tempPath, filePath);\n\t} catch (error) {\n\t\ttry {\n\t\t\tawait rm(tempPath, { force: true });\n\t\t} catch (cleanupError) {\n\t\t\tthrow new AggregateError(\n\t\t\t\t[error, cleanupError],\n\t\t\t\t\"sidecar store write failed and its temporary file could not be removed\",\n\t\t\t);\n\t\t}\n\t\tthrow error;\n\t}\n}\n\n/**\n * Parses raw file contents, rejecting malformed JSON, a non-object payload, a\n * version other than `options.version`, and a sessionId other than the ref's\n * before handing the payload to the domain parser. Fail closed: never resets.\n */\nfunction parsePayload<T>(raw: string, options: CreateSidecarStoreOptions<T>, ref: SidecarStoreRef): T {\n\tlet parsed: unknown;\n\ttry {\n\t\tparsed = JSON.parse(raw);\n\t} catch (error) {\n\t\tthrow new InvalidSidecarStoreError(\"sidecar store contains unparseable JSON\", { cause: error });\n\t}\n\tif (!isRecord(parsed)) throw new InvalidSidecarStoreError(\"sidecar store must be a JSON object\");\n\tif (parsed.version !== options.version) {\n\t\tthrow new UnsupportedSidecarStoreVersionError(\n\t\t\t`unsupported sidecar store version: ${JSON.stringify(parsed.version)} (expected ${options.version})`,\n\t\t);\n\t}\n\tif (typeof parsed.sessionId !== \"string\" || parsed.sessionId.length === 0) {\n\t\tthrow new InvalidSidecarStoreError(\"sidecar store is missing a sessionId\");\n\t}\n\tif (parsed.sessionId !== ref.sessionId) {\n\t\tthrow new InvalidSidecarStoreError(\n\t\t\t`sidecar store sessionId ${parsed.sessionId} does not match the session it was loaded for`,\n\t\t);\n\t}\n\treturn options.parse(parsed, ref);\n}\n\n/**\n * Serializes read-modify-write cycles per key across every sidecar consumer.\n *\n * `key` must be the resolved absolute file path of the sidecar (the same string\n * `createSidecarStore` uses for that file). Callers that own their own writer\n * (goal) call this directly around that writer. Callers that want the whole\n * store (loop) go through `createSidecarStore`, whose `mutate` already uses\n * this tail.\n */\nexport function serializeByKey<T>(key: string, operation: () => Promise<T>): Promise<T> {\n\tconst previous = mutationTails.get(key) ?? Promise.resolve();\n\tconst run = previous.then(operation);\n\tconst tail = run.then(\n\t\t() => undefined,\n\t\t() => undefined,\n\t);\n\tmutationTails.set(key, tail);\n\tvoid tail.then(() => {\n\t\tif (mutationTails.get(key) === tail) mutationTails.delete(key);\n\t});\n\treturn run;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction isFileSystemError(error: unknown, code: string): boolean {\n\treturn error instanceof Error && \"code\" in error && error.code === code;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-manager.d.ts","sourceRoot":"","sources":["../../src/core/settings-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings-manager.d.ts","sourceRoot":"","sources":["../../src/core/settings-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { envValue } from "./brand.js";
|
|
|
12
12
|
import { compactionEnabled, compactionKeepRecentTokens, compactionReserveTokens, } from "./compaction-settings-access.js";
|
|
13
13
|
import { resolveCompactionSettings } from "./compaction-settings-resolver.js";
|
|
14
14
|
import { DEFAULT_HTTP_IDLE_TIMEOUT_MS, parseHttpIdleTimeoutMs } from "./http-dispatcher.js";
|
|
15
|
-
import { FILE_STORAGE_LOCK_OPTIONS } from "./lockfile-policy.js";
|
|
15
|
+
import { CredentialStoreBusyError, FILE_STORAGE_LOCK_OPTIONS, FILE_STORAGE_LOCK_RETRY_MAX_DELAY_MS, FILE_STORAGE_LOCK_RETRY_MIN_DELAY_MS, FILE_STORAGE_SYNC_LOCK_BUDGET_MS, isLockError, } from "./lockfile-policy.js";
|
|
16
16
|
import { validateRetryProviderOverrides } from "./retry-fallback/profile-override.js";
|
|
17
17
|
import { resolveAbortServerSideFallback, resolveHintPolicySettings, resolveRetryFallbackSettings, } from "./retry-fallback/settings.js";
|
|
18
18
|
export const DEFAULT_STREAM_START_TIMEOUT_MS = 300_000;
|
|
@@ -278,29 +278,25 @@ export class FileSettingsStorage {
|
|
|
278
278
|
return source;
|
|
279
279
|
}
|
|
280
280
|
acquireLockSyncWithRetry(path) {
|
|
281
|
-
const
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
281
|
+
const startedAt = Date.now();
|
|
282
|
+
let attempt = 0;
|
|
283
|
+
while (true) {
|
|
285
284
|
try {
|
|
286
|
-
return lockfile.lockSync(path, { ...FILE_STORAGE_LOCK_OPTIONS });
|
|
285
|
+
return lockfile.lockSync(path, { ...FILE_STORAGE_LOCK_OPTIONS, retries: 0 });
|
|
287
286
|
}
|
|
288
287
|
catch (error) {
|
|
289
|
-
|
|
290
|
-
? String(error.code)
|
|
291
|
-
: undefined;
|
|
292
|
-
if (code !== "ELOCKED" || attempt === maxAttempts) {
|
|
288
|
+
if (!isLockError(error))
|
|
293
289
|
throw error;
|
|
290
|
+
const waitedMs = Date.now() - startedAt;
|
|
291
|
+
if (waitedMs >= FILE_STORAGE_SYNC_LOCK_BUDGET_MS) {
|
|
292
|
+
throw new CredentialStoreBusyError(path, waitedMs, error);
|
|
294
293
|
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
// no longer burn a CPU core per waiter (root cause of the TUI freeze under
|
|
298
|
-
// provider-error storms). Stays synchronous to keep callers unchanged.
|
|
294
|
+
const delayMs = Math.min(FILE_STORAGE_LOCK_RETRY_MIN_DELAY_MS * 2 ** attempt, FILE_STORAGE_LOCK_RETRY_MAX_DELAY_MS, FILE_STORAGE_SYNC_LOCK_BUDGET_MS - waitedMs);
|
|
295
|
+
attempt++;
|
|
299
296
|
const sleeper = new Int32Array(new SharedArrayBuffer(4));
|
|
300
297
|
Atomics.wait(sleeper, 0, 0, delayMs);
|
|
301
298
|
}
|
|
302
299
|
}
|
|
303
|
-
throw lastError ?? new Error("Failed to acquire settings lock");
|
|
304
300
|
}
|
|
305
301
|
withLock(scope, fn) {
|
|
306
302
|
const path = scope === "global" ? this.globalSettingsPath : this.projectSettingsPath;
|