@sumicom/quicksave 0.8.3 → 0.8.5
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/dist/ai/claudeCliProvider.d.ts +45 -0
- package/dist/ai/claudeCliProvider.d.ts.map +1 -1
- package/dist/ai/claudeCliProvider.js +13 -1
- package/dist/ai/claudeCliProvider.js.map +1 -1
- package/dist/ai/claudeSdkProvider.d.ts +16 -0
- package/dist/ai/claudeSdkProvider.d.ts.map +1 -1
- package/dist/ai/claudeSdkProvider.js +10 -4
- package/dist/ai/claudeSdkProvider.js.map +1 -1
- package/dist/ai/codexAppServer/approvalMapping.d.ts +15 -0
- package/dist/ai/codexAppServer/approvalMapping.d.ts.map +1 -0
- package/dist/ai/codexAppServer/approvalMapping.js +93 -0
- package/dist/ai/codexAppServer/approvalMapping.js.map +1 -0
- package/dist/ai/codexAppServer/permissionMapping.d.ts +6 -6
- package/dist/ai/codexAppServer/permissionMapping.d.ts.map +1 -1
- package/dist/ai/codexAppServer/permissionMapping.js +9 -16
- package/dist/ai/codexAppServer/permissionMapping.js.map +1 -1
- package/dist/ai/codexAppServer/provider.d.ts.map +1 -1
- package/dist/ai/codexAppServer/provider.js +22 -43
- package/dist/ai/codexAppServer/provider.js.map +1 -1
- package/dist/ai/provider.d.ts +11 -1
- package/dist/ai/provider.d.ts.map +1 -1
- package/dist/ai/provider.js +56 -1
- package/dist/ai/provider.js.map +1 -1
- package/dist/ai/sessionManager.d.ts +2 -1
- package/dist/ai/sessionManager.d.ts.map +1 -1
- package/dist/ai/sessionManager.js +62 -35
- package/dist/ai/sessionManager.js.map +1 -1
- package/dist/handlers/messageHandler.d.ts.map +1 -1
- package/dist/handlers/messageHandler.js +6 -9
- package/dist/handlers/messageHandler.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/service/ipcClient.js +1 -1
- package/dist/service/run.js +1 -1
- package/dist/service/types.js +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissionMapping.js","sourceRoot":"","sources":["../../../src/ai/codexAppServer/permissionMapping.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"permissionMapping.js","sourceRoot":"","sources":["../../../src/ai/codexAppServer/permissionMapping.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AA2BlE,MAAM,UAAU,wBAAwB,CACtC,MAA6B,EAC7B,IAA0C;IAE1C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,MAAM,UAAU,GAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAAkB;QAC9B,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;QAC9B,aAAa,EAAE,KAAK;KACrB,CAAC;IACF,MAAM,cAAc,GAAkB;QACpC,IAAI,EAAE,gBAAgB;QACtB,aAAa;QACb,cAAc,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;QACtC,aAAa,EAAE,IAAI;QACnB,mBAAmB,EAAE,KAAK;QAC1B,eAAe,EAAE,KAAK;KACvB,CAAC;IAEF,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa;YAChB,OAAO;gBACL,cAAc,EAAE,OAAO;gBACvB,aAAa,EAAE,UAAU;gBACzB,iBAAiB,EAAE,MAAM;aAC1B,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,cAAc,EAAE,YAAY;gBAC5B,aAAa,EAAE,QAAQ;gBACvB,iBAAiB,EAAE,MAAM;aAC1B,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO;gBACL,cAAc,EAAE,YAAY;gBAC5B,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU;gBAC3D,iBAAiB,EAAE,aAAa;aACjC,CAAC;QACJ,KAAK,SAAS,CAAC;QACf;YACE,4CAA4C;YAC5C,OAAO;gBACL,cAAc,EAAE,YAAY;gBAC5B,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU;gBAC3D,iBAAiB,EAAE,MAAM;aAC1B,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAsB,EACtB,IAA0C;IAE1C,OAAO,wBAAwB,CAC7B,gCAAgC,CAAC,OAAO,EAAE,KAAK,CAA0B,EACzE,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAsB,EACtB,IAA0C;IAM1C,MAAM,CAAC,GAAG,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO;QACL,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/ai/codexAppServer/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAIzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/ai/codexAppServer/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAIzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAWxB,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiBjF;;;;;;;GAOG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IAChE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAW;IAC/B,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAY;IAE/C,YAAY,CAChB,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAmCrD,aAAa,CACjB,IAAI,EAAE,iBAAiB,EACvB,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;CAiC5D;AAYD;;;;;;GAMG;AACH,MAAM,WAAW,6BAA8B,SAAQ,eAAe;IACpE;;;;wCAIoC;IACpC,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtD;+DAC2D;IAC3D,kBAAkB,IAAI,OAAO,CAAC;CAC/B;AA6MD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,EAAE,CA8BX;AAwJD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { dirname } from 'node:path';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
3
|
import { buildSandboxMcpServerConfig, SANDBOX_MCP_NAME } from '../sandboxMcp.js';
|
|
4
|
+
import { normalizePermissionLevelForAgent } from '../provider.js';
|
|
4
5
|
import { getEventStore } from '../../storage/eventStore.js';
|
|
5
6
|
import { consumeAppServerStream } from './cardAdapter.js';
|
|
7
|
+
import { codexApprovalResponse, codexApprovalToPermissionPrompt, } from './approvalMapping.js';
|
|
6
8
|
import { spawnAppServer } from './processManager.js';
|
|
7
9
|
import { RuntimeOverrideStore } from './overrideStore.js';
|
|
8
10
|
import { TokenAccounting } from './tokenAccounting.js';
|
|
@@ -225,32 +227,15 @@ class CodexAppServerSession {
|
|
|
225
227
|
async handleServerRequest(req) {
|
|
226
228
|
const requestIdStr = String(req.id);
|
|
227
229
|
switch (req.method) {
|
|
228
|
-
case 'item/commandExecution/requestApproval':
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
case 'item/fileChange/requestApproval': {
|
|
238
|
-
const params = req.params;
|
|
239
|
-
const decision = await this.callbacks.handlePermissionRequest(this.threadId, {
|
|
240
|
-
toolName: 'Edit',
|
|
241
|
-
toolInput: { reason: params.reason ?? '' },
|
|
242
|
-
toolUseId: requestIdStr,
|
|
243
|
-
});
|
|
244
|
-
return { decision: decision.action === 'allow' ? 'approved' : 'denied' };
|
|
245
|
-
}
|
|
246
|
-
case 'item/permissions/requestApproval': {
|
|
247
|
-
const params = req.params;
|
|
248
|
-
const decision = await this.callbacks.handlePermissionRequest(this.threadId, {
|
|
249
|
-
toolName: 'Permissions',
|
|
250
|
-
toolInput: { reason: params.reason ?? '' },
|
|
251
|
-
toolUseId: requestIdStr,
|
|
252
|
-
});
|
|
253
|
-
return { decision: decision.action === 'allow' ? 'approved' : 'denied' };
|
|
230
|
+
case 'item/commandExecution/requestApproval':
|
|
231
|
+
case 'item/fileChange/requestApproval':
|
|
232
|
+
case 'item/permissions/requestApproval':
|
|
233
|
+
case 'execCommandApproval':
|
|
234
|
+
case 'applyPatchApproval': {
|
|
235
|
+
const method = req.method;
|
|
236
|
+
const prompt = codexApprovalToPermissionPrompt(method, requestIdStr, req.params);
|
|
237
|
+
const decision = await this.callbacks.handlePermissionRequest(this.threadId, prompt);
|
|
238
|
+
return codexApprovalResponse(method, req.params, decision);
|
|
254
239
|
}
|
|
255
240
|
default:
|
|
256
241
|
// Unknown server request — refuse.
|
|
@@ -322,7 +307,8 @@ function seedOverrideStoreFromResponse(store, resp) {
|
|
|
322
307
|
});
|
|
323
308
|
}
|
|
324
309
|
function buildThreadStartParams(opts) {
|
|
325
|
-
const
|
|
310
|
+
const preset = normalizePermissionLevelForAgent('codex', opts.permissionLevel);
|
|
311
|
+
const perm = mapCodexPresetToInitialThreadOpts(preset, opts.sandboxed);
|
|
326
312
|
return {
|
|
327
313
|
model: opts.model ?? null,
|
|
328
314
|
modelProvider: null,
|
|
@@ -344,7 +330,8 @@ function buildThreadStartParams(opts) {
|
|
|
344
330
|
};
|
|
345
331
|
}
|
|
346
332
|
function buildThreadResumeParams(opts) {
|
|
347
|
-
const
|
|
333
|
+
const preset = normalizePermissionLevelForAgent('codex', opts.permissionLevel);
|
|
334
|
+
const perm = mapCodexPresetToInitialThreadOpts(preset, opts.sandboxed);
|
|
348
335
|
return {
|
|
349
336
|
threadId: opts.sessionId,
|
|
350
337
|
history: null,
|
|
@@ -388,34 +375,26 @@ function normalizeEffort(value) {
|
|
|
388
375
|
return 'medium';
|
|
389
376
|
}
|
|
390
377
|
}
|
|
391
|
-
/** Map
|
|
378
|
+
/** Map Codex's permission preset to the v2 fields we send on
|
|
392
379
|
* `thread/start` / `thread/resume`. Keeps the mapping in one place
|
|
393
380
|
* so Phase 3's per-turn override pipeline can reuse it. */
|
|
394
|
-
function
|
|
395
|
-
// Conservative bridge: Quicksave's existing presets map roughly to
|
|
396
|
-
// these v2 values. Phase 3 introduces `permissionMapping.ts` with
|
|
397
|
-
// the full matrix; here we use the closest single-axis approximation
|
|
398
|
-
// so legacy Quicksave config keeps working unchanged.
|
|
381
|
+
function mapCodexPresetToInitialThreadOpts(preset, sandboxed) {
|
|
399
382
|
let approvalPolicy = 'on-request';
|
|
400
383
|
let sandbox = 'workspace-write';
|
|
401
384
|
const approvalsReviewer = 'user';
|
|
402
|
-
switch (
|
|
403
|
-
case '
|
|
385
|
+
switch (preset) {
|
|
386
|
+
case 'full-access':
|
|
404
387
|
approvalPolicy = 'never';
|
|
405
388
|
sandbox = 'danger-full-access';
|
|
406
389
|
break;
|
|
407
|
-
case '
|
|
408
|
-
approvalPolicy = 'on-request';
|
|
409
|
-
sandbox = 'workspace-write';
|
|
410
|
-
break;
|
|
411
|
-
case 'plan':
|
|
390
|
+
case 'read-only':
|
|
412
391
|
approvalPolicy = 'on-request';
|
|
413
392
|
sandbox = 'read-only';
|
|
414
393
|
break;
|
|
415
|
-
case 'auto':
|
|
394
|
+
case 'auto-review':
|
|
416
395
|
approvalPolicy = 'on-request';
|
|
417
396
|
sandbox = 'workspace-write';
|
|
418
|
-
|
|
397
|
+
return { approvalPolicy, sandbox: !sandboxed ? 'danger-full-access' : sandbox, approvalsReviewer: 'auto_review' };
|
|
419
398
|
case 'default':
|
|
420
399
|
default:
|
|
421
400
|
approvalPolicy = 'on-request';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/ai/codexAppServer/provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/ai/codexAppServer/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/provider.d.ts
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import type { AgentId, CardEvent, CardStreamEnd, ContextUsageBreakdown } from '@sumicom/quicksave-shared';
|
|
2
2
|
import type { StreamCardBuilder } from './cardBuilder.js';
|
|
3
|
-
export
|
|
3
|
+
export declare const CLAUDE_PERMISSION_MODES: readonly ["default", "acceptEdits", "bypassPermissions", "plan", "auto"];
|
|
4
|
+
export declare const CODEX_PERMISSION_PRESETS: readonly ["read-only", "default", "auto-review", "full-access"];
|
|
5
|
+
export type ClaudePermissionMode = typeof CLAUDE_PERMISSION_MODES[number];
|
|
6
|
+
export type CodexPermissionPreset = typeof CODEX_PERMISSION_PRESETS[number];
|
|
7
|
+
export type PermissionLevel = ClaudePermissionMode | CodexPermissionPreset;
|
|
8
|
+
export declare function isClaudePermissionMode(value: unknown): value is ClaudePermissionMode;
|
|
9
|
+
export declare function isCodexPermissionPreset(value: unknown): value is CodexPermissionPreset;
|
|
10
|
+
export declare function defaultPermissionLevelForAgent(agentId: AgentId): PermissionLevel;
|
|
11
|
+
export declare function isPermissionLevelAcceptedForAgent(agentId: AgentId, value: unknown): boolean;
|
|
12
|
+
export declare function normalizePermissionLevelForAgent(agentId: AgentId, value: unknown): PermissionLevel;
|
|
13
|
+
export declare function isFullAccessPermission(agentId: AgentId, level: PermissionLevel): boolean;
|
|
4
14
|
export type ProviderHistoryMode = 'claude-jsonl' | 'memory';
|
|
5
15
|
/** Represents a running provider session. */
|
|
6
16
|
export interface ProviderSession {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC1G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/provider.js
CHANGED
|
@@ -1,2 +1,57 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const CLAUDE_PERMISSION_MODES = [
|
|
2
|
+
'default',
|
|
3
|
+
'acceptEdits',
|
|
4
|
+
'bypassPermissions',
|
|
5
|
+
'plan',
|
|
6
|
+
'auto',
|
|
7
|
+
];
|
|
8
|
+
export const CODEX_PERMISSION_PRESETS = [
|
|
9
|
+
'read-only',
|
|
10
|
+
'default',
|
|
11
|
+
'auto-review',
|
|
12
|
+
'full-access',
|
|
13
|
+
];
|
|
14
|
+
export function isClaudePermissionMode(value) {
|
|
15
|
+
return typeof value === 'string' && CLAUDE_PERMISSION_MODES.includes(value);
|
|
16
|
+
}
|
|
17
|
+
export function isCodexPermissionPreset(value) {
|
|
18
|
+
return typeof value === 'string' && CODEX_PERMISSION_PRESETS.includes(value);
|
|
19
|
+
}
|
|
20
|
+
export function defaultPermissionLevelForAgent(agentId) {
|
|
21
|
+
return agentId === 'codex' ? 'default' : 'acceptEdits';
|
|
22
|
+
}
|
|
23
|
+
export function isPermissionLevelAcceptedForAgent(agentId, value) {
|
|
24
|
+
if (agentId === 'codex') {
|
|
25
|
+
return isCodexPermissionPreset(value)
|
|
26
|
+
|| value === 'bypassPermissions'
|
|
27
|
+
|| value === 'plan'
|
|
28
|
+
|| value === 'auto'
|
|
29
|
+
|| value === 'acceptEdits';
|
|
30
|
+
}
|
|
31
|
+
return isClaudePermissionMode(value);
|
|
32
|
+
}
|
|
33
|
+
export function normalizePermissionLevelForAgent(agentId, value) {
|
|
34
|
+
if (agentId === 'codex') {
|
|
35
|
+
if (isCodexPermissionPreset(value))
|
|
36
|
+
return value;
|
|
37
|
+
// Compatibility for sessions created before Codex had first-class presets.
|
|
38
|
+
if (value === 'bypassPermissions')
|
|
39
|
+
return 'full-access';
|
|
40
|
+
if (value === 'plan')
|
|
41
|
+
return 'read-only';
|
|
42
|
+
if (value === 'auto')
|
|
43
|
+
return 'auto-review';
|
|
44
|
+
if (value === 'acceptEdits')
|
|
45
|
+
return 'default';
|
|
46
|
+
return defaultPermissionLevelForAgent(agentId);
|
|
47
|
+
}
|
|
48
|
+
if (isClaudePermissionMode(value))
|
|
49
|
+
return value;
|
|
50
|
+
return defaultPermissionLevelForAgent(agentId);
|
|
51
|
+
}
|
|
52
|
+
export function isFullAccessPermission(agentId, level) {
|
|
53
|
+
return agentId === 'codex'
|
|
54
|
+
? level === 'full-access'
|
|
55
|
+
: level === 'bypassPermissions';
|
|
56
|
+
}
|
|
2
57
|
//# sourceMappingURL=provider.js.map
|
package/dist/ai/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS;IACT,aAAa;IACb,mBAAmB;IACnB,MAAM;IACN,MAAM;CACE,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,WAAW;IACX,SAAS;IACT,aAAa;IACb,aAAa;CACL,CAAC;AAMX,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,uBAA6C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,wBAA8C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAAgB;IAC7D,OAAO,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,OAAgB,EAAE,KAAc;IAChF,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,uBAAuB,CAAC,KAAK,CAAC;eAChC,KAAK,KAAK,mBAAmB;eAC7B,KAAK,KAAK,MAAM;eAChB,KAAK,KAAK,MAAM;eAChB,KAAK,KAAK,aAAa,CAAC;IAC/B,CAAC;IACD,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAgB,EAChB,KAAc;IAEd,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,IAAI,uBAAuB,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACjD,2EAA2E;QAC3E,IAAI,KAAK,KAAK,mBAAmB;YAAE,OAAO,aAAa,CAAC;QACxD,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,WAAW,CAAC;QACzC,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,aAAa,CAAC;QAC3C,IAAI,KAAK,KAAK,aAAa;YAAE,OAAO,SAAS,CAAC;QAC9C,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,sBAAsB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgB,EAAE,KAAsB;IAC7E,OAAO,OAAO,KAAK,OAAO;QACxB,CAAC,CAAC,KAAK,KAAK,aAAa;QACzB,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC;AACpC,CAAC"}
|
|
@@ -52,6 +52,7 @@ export declare class SessionManager extends EventEmitter {
|
|
|
52
52
|
constructor(providers: CodingAgentProvider[], defaultAgentId?: AgentId);
|
|
53
53
|
private getProvider;
|
|
54
54
|
private resolveAgentId;
|
|
55
|
+
private resolveKnownSessionAgentId;
|
|
55
56
|
initPreferences(): Promise<void>;
|
|
56
57
|
getPreferences(): ClaudePreferences;
|
|
57
58
|
setPreferences(prefs: Partial<ClaudePreferences>): ClaudePreferences;
|
|
@@ -89,7 +90,7 @@ export declare class SessionManager extends EventEmitter {
|
|
|
89
90
|
* is going away. Used by closeSession and onSessionExited so the map
|
|
90
91
|
* doesn't leak and any awaiter unblocks with a deny. */
|
|
91
92
|
private cancelPendingInputsForSession;
|
|
92
|
-
setPermissionLevel(sessionId: string,
|
|
93
|
+
setPermissionLevel(sessionId: string, requestedLevel: string): Promise<boolean>;
|
|
93
94
|
getPermissionLevel(sessionId: string): PermissionLevel;
|
|
94
95
|
/**
|
|
95
96
|
* Forward a runtime override to a Codex `app-server` session if the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionManager.d.ts","sourceRoot":"","sources":["../../src/ai/sessionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,OAAO,KAAK,EACV,OAAO,EACP,oBAAoB,EACpB,6BAA6B,EAC7B,8BAA8B,EAC9B,iBAAiB,EACjB,WAAW,EAEX,mBAAmB,EAKnB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAAE,iBAAiB,EAA6C,MAAM,kBAAkB,CAAC;AAKhG,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sessionManager.d.ts","sourceRoot":"","sources":["../../src/ai/sessionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import { SANDBOX_BASH_TOOL, UPDATE_SESSION_STATUS_TOOL } from './sandboxMcp.js';
|
|
|
10
10
|
import { getSessionRegistry } from './sessionRegistry.js';
|
|
11
11
|
import { getEventStore } from '../storage/eventStore.js';
|
|
12
12
|
import { buildSystemPrompt } from './systemPrompt.js';
|
|
13
|
+
import { defaultPermissionLevelForAgent, isFullAccessPermission, isPermissionLevelAcceptedForAgent, normalizePermissionLevelForAgent, } from './provider.js';
|
|
13
14
|
/**
|
|
14
15
|
* Events emitted:
|
|
15
16
|
* 'card-event' (event: CardEvent)
|
|
@@ -21,7 +22,7 @@ import { buildSystemPrompt } from './systemPrompt.js';
|
|
|
21
22
|
* 'session-config-updated' ({ sessionId, config: Record<string, ConfigValue> })
|
|
22
23
|
*/
|
|
23
24
|
/** Tools auto-approved at each permission level (no user prompt). */
|
|
24
|
-
const
|
|
25
|
+
const CLAUDE_AUTO_APPROVE = {
|
|
25
26
|
bypassPermissions: new Set([
|
|
26
27
|
'Edit', 'Write', 'NotebookEdit', 'TodoWrite', 'Agent', 'EnterWorktree', 'ExitWorktree',
|
|
27
28
|
'WebFetch', 'WebSearch', 'Bash',
|
|
@@ -35,6 +36,19 @@ const AUTO_APPROVE = {
|
|
|
35
36
|
plan: new Set(['EnterPlanMode']),
|
|
36
37
|
auto: new Set(['TodoWrite', 'EnterWorktree', 'ExitWorktree', 'Agent', 'EnterPlanMode']),
|
|
37
38
|
};
|
|
39
|
+
const CODEX_AUTO_APPROVE = {
|
|
40
|
+
'read-only': new Set(['EnterPlanMode']),
|
|
41
|
+
default: new Set(['TodoWrite', 'EnterWorktree', 'ExitWorktree', 'Agent', 'EnterPlanMode']),
|
|
42
|
+
'auto-review': new Set(['TodoWrite', 'EnterWorktree', 'ExitWorktree', 'Agent', 'EnterPlanMode']),
|
|
43
|
+
'full-access': new Set([
|
|
44
|
+
'Edit', 'Write', 'NotebookEdit', 'TodoWrite', 'Agent', 'EnterWorktree', 'ExitWorktree',
|
|
45
|
+
'WebFetch', 'WebSearch', 'Bash',
|
|
46
|
+
'Skill', 'ToolSearch', 'Config',
|
|
47
|
+
'CronCreate', 'CronDelete', 'CronList', 'RemoteTrigger',
|
|
48
|
+
'EnterPlanMode', 'ExitPlanMode',
|
|
49
|
+
'TaskOutput', 'TaskStop',
|
|
50
|
+
]),
|
|
51
|
+
};
|
|
38
52
|
const SESSION_STAGES = [
|
|
39
53
|
'investigating',
|
|
40
54
|
'working',
|
|
@@ -44,6 +58,13 @@ const SESSION_STAGES = [
|
|
|
44
58
|
function isSessionStage(value) {
|
|
45
59
|
return SESSION_STAGES.includes(value);
|
|
46
60
|
}
|
|
61
|
+
function autoApproveToolsFor(agentId, level) {
|
|
62
|
+
const normalized = normalizePermissionLevelForAgent(agentId, level);
|
|
63
|
+
if (agentId === 'codex') {
|
|
64
|
+
return CODEX_AUTO_APPROVE[normalized];
|
|
65
|
+
}
|
|
66
|
+
return CLAUDE_AUTO_APPROVE[normalized];
|
|
67
|
+
}
|
|
47
68
|
/**
|
|
48
69
|
* Map a user response string back to each question in an AskUserQuestion call.
|
|
49
70
|
*
|
|
@@ -171,6 +192,22 @@ export class SessionManager extends EventEmitter {
|
|
|
171
192
|
}
|
|
172
193
|
return this.defaultAgentId;
|
|
173
194
|
}
|
|
195
|
+
resolveKnownSessionAgentId(sessionId) {
|
|
196
|
+
const activeAgent = this.sessions.get(sessionId)?.agentId;
|
|
197
|
+
if (activeAgent)
|
|
198
|
+
return activeAgent;
|
|
199
|
+
const rememberedAgent = this.sessionAgents.get(sessionId);
|
|
200
|
+
if (rememberedAgent)
|
|
201
|
+
return rememberedAgent;
|
|
202
|
+
const rawConfig = this.sessionConfigs.get(sessionId);
|
|
203
|
+
const configAgent = normalizeAgentId(rawConfig?.agent ?? rawConfig?.provider);
|
|
204
|
+
if (configAgent && this.providers.has(configAgent))
|
|
205
|
+
return configAgent;
|
|
206
|
+
const registryAgent = normalizeAgentId(getSessionRegistry().findBySessionId(sessionId)?.agent);
|
|
207
|
+
if (registryAgent && this.providers.has(registryAgent))
|
|
208
|
+
return registryAgent;
|
|
209
|
+
return this.defaultAgentId;
|
|
210
|
+
}
|
|
174
211
|
// ── Preferences ──
|
|
175
212
|
async initPreferences() {
|
|
176
213
|
// Model is tracked from the last session's init event via onModelDetected callback.
|
|
@@ -236,6 +273,7 @@ export class SessionManager extends EventEmitter {
|
|
|
236
273
|
else if (key === 'permissionMode' && typeof value === 'string') {
|
|
237
274
|
try {
|
|
238
275
|
await this.setPermissionLevel(sessionId, value);
|
|
276
|
+
next.permissionMode = this.getPermissionLevel(sessionId);
|
|
239
277
|
}
|
|
240
278
|
catch (err) {
|
|
241
279
|
// CLI rejected the mode (e.g. auto mode not supported for this model/plan).
|
|
@@ -244,7 +282,7 @@ export class SessionManager extends EventEmitter {
|
|
|
244
282
|
this.emit('session-config-updated', { sessionId, config: prev });
|
|
245
283
|
throw err;
|
|
246
284
|
}
|
|
247
|
-
this.persistRegistryField(sessionId, 'permissionMode',
|
|
285
|
+
this.persistRegistryField(sessionId, 'permissionMode', next.permissionMode);
|
|
248
286
|
}
|
|
249
287
|
else if (key === 'sandboxed' && typeof value === 'boolean') {
|
|
250
288
|
this.sessionSandboxed.set(sessionId, value);
|
|
@@ -272,25 +310,15 @@ export class SessionManager extends EventEmitter {
|
|
|
272
310
|
}
|
|
273
311
|
// ── Session Lifecycle ──
|
|
274
312
|
async startSession(opts) {
|
|
275
|
-
// Accept both Claude-style modes and Codex preset ids; either can arrive
|
|
276
|
-
// depending on which agent's picker the PWA showed. Codex preset ids
|
|
277
|
-
// bundle approval+sandbox; the codex provider expands them via
|
|
278
|
-
// resolveCodexPermissionPreset.
|
|
279
|
-
const validModes = new Set([
|
|
280
|
-
'default', 'acceptEdits', 'bypassPermissions', 'plan', 'auto',
|
|
281
|
-
'read-only', 'auto-review', 'full-access',
|
|
282
|
-
]);
|
|
283
|
-
const level = (validModes.has(opts.permissionMode ?? '')
|
|
284
|
-
? opts.permissionMode
|
|
285
|
-
: 'acceptEdits');
|
|
286
313
|
const provider = this.getProvider(opts.agent);
|
|
314
|
+
const level = normalizePermissionLevelForAgent(provider.id, opts.permissionMode);
|
|
287
315
|
const sandboxed = !!opts.sandboxed;
|
|
288
316
|
const systemPrompt = buildSystemPrompt(provider.id, opts.systemPrompt);
|
|
289
317
|
// Mint a per-session bypass token up front. The CLI bakes its path into
|
|
290
318
|
// the PermissionRequest hook at spawn time; later toggles just touch/rm
|
|
291
319
|
// the sentinel file without a respawn.
|
|
292
320
|
const bypassToken = randomUUID();
|
|
293
|
-
applyBypassFlag(bypassToken, level
|
|
321
|
+
applyBypassFlag(bypassToken, isFullAccessPermission(provider.id, level));
|
|
294
322
|
// Create cardBuilder with 'pending' sessionId — will be updated after provider returns real one
|
|
295
323
|
const cardBuilder = new StreamCardBuilder('pending', opts.streamId, opts.cwd);
|
|
296
324
|
const callbacks = this.makeCallbacks(provider.id);
|
|
@@ -384,9 +412,6 @@ export class SessionManager extends EventEmitter {
|
|
|
384
412
|
// consumeStream picks it up after the current turn's result event.
|
|
385
413
|
if (existing?.streaming && existing.providerSession?.alive) {
|
|
386
414
|
console.log(`[session-manager] hot resume (active) session=${opts.sessionId.slice(0, 8)}`);
|
|
387
|
-
if (existing.cardBuilder) {
|
|
388
|
-
existing.cardBuilder.userMessage(opts.prompt);
|
|
389
|
-
}
|
|
390
415
|
const ps = existing.providerSession;
|
|
391
416
|
if (ps.pendingStreamIds) {
|
|
392
417
|
ps.pendingStreamIds.push(opts.streamId);
|
|
@@ -403,8 +428,6 @@ export class SessionManager extends EventEmitter {
|
|
|
403
428
|
const ps = existing.providerSession;
|
|
404
429
|
if (existing.cardBuilder) {
|
|
405
430
|
existing.cardBuilder.cancelDeferredClear?.();
|
|
406
|
-
existing.cardBuilder.userMessage(opts.prompt);
|
|
407
|
-
existing.cardBuilder.startNewTurn(opts.streamId);
|
|
408
431
|
}
|
|
409
432
|
ps.currentStreamId = opts.streamId;
|
|
410
433
|
ps.resultEmitted = false;
|
|
@@ -436,15 +459,9 @@ export class SessionManager extends EventEmitter {
|
|
|
436
459
|
// Restore session settings from in-memory maps, falling back to persisted
|
|
437
460
|
// registry (survives daemon restarts).
|
|
438
461
|
const registryEntry = getSessionRegistry().getEntry(opts.cwd, opts.sessionId);
|
|
439
|
-
const validModes = new Set([
|
|
440
|
-
'default', 'acceptEdits', 'bypassPermissions', 'plan', 'auto',
|
|
441
|
-
'read-only', 'auto-review', 'full-access',
|
|
442
|
-
]);
|
|
443
|
-
const restoredLevel = this.sessionPermissions.get(opts.sessionId)
|
|
444
|
-
?? (validModes.has(registryEntry?.permissionMode ?? '') ? registryEntry.permissionMode : undefined);
|
|
445
|
-
const level = restoredLevel ?? 'acceptEdits';
|
|
446
462
|
const sandboxed = this.sessionSandboxed.get(opts.sessionId) ?? registryEntry?.sandboxed ?? false;
|
|
447
463
|
const provider = this.getProvider(agentId);
|
|
464
|
+
const level = normalizePermissionLevelForAgent(provider.id, this.sessionPermissions.get(opts.sessionId) ?? registryEntry?.permissionMode);
|
|
448
465
|
const cardBuilder = existing?.cardBuilder ?? new StreamCardBuilder(opts.sessionId, opts.streamId, opts.cwd);
|
|
449
466
|
await cardBuilder.snapshotCutoff();
|
|
450
467
|
const callbacks = this.makeCallbacks(provider.id);
|
|
@@ -465,7 +482,7 @@ export class SessionManager extends EventEmitter {
|
|
|
465
482
|
// fresh one (happens when cold-resuming a session we don't have in memory,
|
|
466
483
|
// e.g. after a daemon restart).
|
|
467
484
|
const bypassToken = existing?.bypassToken ?? randomUUID();
|
|
468
|
-
applyBypassFlag(bypassToken, level
|
|
485
|
+
applyBypassFlag(bypassToken, isFullAccessPermission(provider.id, level));
|
|
469
486
|
const { sessionId, session: providerSession } = await provider.resumeSession({
|
|
470
487
|
sessionId: opts.sessionId,
|
|
471
488
|
prompt: opts.prompt,
|
|
@@ -604,22 +621,27 @@ export class SessionManager extends EventEmitter {
|
|
|
604
621
|
}
|
|
605
622
|
}
|
|
606
623
|
// ── Permission ──
|
|
607
|
-
async setPermissionLevel(sessionId,
|
|
624
|
+
async setPermissionLevel(sessionId, requestedLevel) {
|
|
608
625
|
const ps = this.sessions.get(sessionId);
|
|
609
|
-
const
|
|
626
|
+
const agentId = this.resolveKnownSessionAgentId(sessionId);
|
|
627
|
+
if (!isPermissionLevelAcceptedForAgent(agentId, requestedLevel)) {
|
|
628
|
+
throw new Error(`Permission mode "${requestedLevel}" is not valid for ${agentId}`);
|
|
629
|
+
}
|
|
630
|
+
const level = normalizePermissionLevelForAgent(agentId, requestedLevel);
|
|
631
|
+
const prevLevel = normalizePermissionLevelForAgent(agentId, ps?.permissionLevel ?? this.sessionPermissions.get(sessionId));
|
|
610
632
|
if (ps)
|
|
611
633
|
ps.permissionLevel = level;
|
|
612
634
|
this.sessionPermissions.set(sessionId, level);
|
|
613
635
|
// bypass is driven by the daemon-owned sentinel file the CLI's hook
|
|
614
636
|
// checks. Toggle it first so the next tool call sees the right state.
|
|
615
637
|
if (ps?.bypassToken) {
|
|
616
|
-
applyBypassFlag(ps.bypassToken, level
|
|
638
|
+
applyBypassFlag(ps.bypassToken, isFullAccessPermission(agentId, level));
|
|
617
639
|
}
|
|
618
640
|
const session = ps?.providerSession;
|
|
619
641
|
if (session?.alive && typeof session.sendControlRequest === 'function') {
|
|
620
642
|
// bypassPermissions is handled entirely on the daemon side (hook + AUTO_APPROVE).
|
|
621
643
|
// Send `default` to the CLI so it never enters its own bypass mode.
|
|
622
|
-
const cliMode = level
|
|
644
|
+
const cliMode = isFullAccessPermission(agentId, level) ? 'default' : level;
|
|
623
645
|
try {
|
|
624
646
|
await session.sendControlRequest('set_permission_mode', { mode: cliMode });
|
|
625
647
|
}
|
|
@@ -629,7 +651,7 @@ export class SessionManager extends EventEmitter {
|
|
|
629
651
|
ps.permissionLevel = prevLevel;
|
|
630
652
|
this.sessionPermissions.set(sessionId, prevLevel);
|
|
631
653
|
if (ps?.bypassToken) {
|
|
632
|
-
applyBypassFlag(ps.bypassToken, prevLevel
|
|
654
|
+
applyBypassFlag(ps.bypassToken, isFullAccessPermission(agentId, prevLevel));
|
|
633
655
|
}
|
|
634
656
|
this.emitSessionUpdate(sessionId);
|
|
635
657
|
throw err;
|
|
@@ -668,7 +690,10 @@ export class SessionManager extends EventEmitter {
|
|
|
668
690
|
return true;
|
|
669
691
|
}
|
|
670
692
|
getPermissionLevel(sessionId) {
|
|
671
|
-
|
|
693
|
+
const agentId = this.resolveKnownSessionAgentId(sessionId);
|
|
694
|
+
return this.sessions.get(sessionId)?.permissionLevel
|
|
695
|
+
?? this.sessionPermissions.get(sessionId)
|
|
696
|
+
?? defaultPermissionLevelForAgent(agentId);
|
|
672
697
|
}
|
|
673
698
|
/**
|
|
674
699
|
* Forward a runtime override to a Codex `app-server` session if the
|
|
@@ -1060,9 +1085,11 @@ export class SessionManager extends EventEmitter {
|
|
|
1060
1085
|
toolName = 'Bash'; // fall through to permission check as Bash
|
|
1061
1086
|
}
|
|
1062
1087
|
// Check permission level auto-approve set
|
|
1088
|
+
const agentId = this.resolveKnownSessionAgentId(sessionId);
|
|
1063
1089
|
const level = this.sessions.get(sessionId)?.permissionLevel
|
|
1064
|
-
?? this.sessionPermissions.get(sessionId)
|
|
1065
|
-
|
|
1090
|
+
?? this.sessionPermissions.get(sessionId)
|
|
1091
|
+
?? defaultPermissionLevelForAgent(agentId);
|
|
1092
|
+
if (!autoApproveToolsFor(agentId, level).has(toolName))
|
|
1066
1093
|
return false;
|
|
1067
1094
|
// For file-writing tools, restrict to project cwd
|
|
1068
1095
|
const FILE_WRITE_TOOLS = new Set(['Write', 'Edit', 'NotebookEdit']);
|