fix: align delegated preset snapshots
This commit is contained in:
1 parent
344432de76
commit
c7fbe079f0
7 files changed
+15
-39
No files matched your search
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@deepseek-ai/dsh-auto-review",
|
||||
"description": "Per-tool LLM authorization review for the DeepSeek Harness Auto permission preset",
|
||||
"version": "0.1.2-rc.1",
|
||||
"version": "0.1.3-alpha.1",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
|
||||
@@ -97,9 +97,9 @@ describe('in-process policy inheritance', () => {
|
||||
await run.result
|
||||
const child = run.localAgent as Agent
|
||||
expect(child.session.snapshotEvents().slice(0, 3)).toMatchObject([
|
||||
{ type: 'permission/preset', seq: 0, data: { preset } },
|
||||
{ type: 'sandbox/mode', seq: 1, data: { mode: 'danger-full-access', source: 'delegation' } },
|
||||
{ type: 'approval/policy', seq: 2, data: { policy: 'never', source: 'delegation' } },
|
||||
{ type: 'sandbox/mode', seq: 0, data: { mode: 'danger-full-access', source: 'delegation' } },
|
||||
{ type: 'approval/policy', seq: 1, data: { policy: 'never', source: 'delegation' } },
|
||||
{ type: 'permission/preset', seq: 2, data: { preset } },
|
||||
])
|
||||
} finally {
|
||||
await run.dispose()
|
||||
|
||||
@@ -265,15 +265,15 @@ export function appendDelegatedPolicyOverrides(
|
||||
childSession: Session,
|
||||
overrides: DelegatedPolicyOverrides,
|
||||
): void {
|
||||
if (overrides.permissionPreset !== undefined) {
|
||||
childSession.append('permission/preset', { preset: overrides.permissionPreset })
|
||||
}
|
||||
if (overrides.sandboxMode !== undefined) {
|
||||
childSession.append('sandbox/mode', { mode: overrides.sandboxMode, source: 'delegation' })
|
||||
}
|
||||
if (overrides.approvalPolicy !== undefined) {
|
||||
childSession.append('approval/policy', { policy: overrides.approvalPolicy, source: 'delegation' })
|
||||
}
|
||||
if (overrides.permissionPreset !== undefined) {
|
||||
childSession.append('permission/preset', { preset: overrides.permissionPreset })
|
||||
}
|
||||
}
|
||||
|
||||
/** Identity and lineage inputs shared by every in-process child creation. */
|
||||
|
||||
@@ -103,12 +103,14 @@ describe('continuable policy inheritance', () => {
|
||||
await waitNoActivation(ctx, started.childId)
|
||||
|
||||
const loaded = await loadStoredSession(ctx.sessionPersistence, started.childId)
|
||||
expect(loaded.events.filter(event => event.type === 'permission/preset')).toMatchObject([
|
||||
{ data: { preset } },
|
||||
])
|
||||
expect(policyEvents(loaded.events)).toMatchObject([
|
||||
expect(loaded.events.filter(event =>
|
||||
event.type === 'sandbox/mode'
|
||||
|| event.type === 'approval/policy'
|
||||
|| event.type === 'permission/preset',
|
||||
)).toMatchObject([
|
||||
{ type: 'sandbox/mode', data: { mode: 'danger-full-access', source: 'delegation' } },
|
||||
{ type: 'approval/policy', data: { policy: 'never', source: 'delegation' } },
|
||||
{ type: 'permission/preset', data: { preset } },
|
||||
])
|
||||
},
|
||||
)
|
||||
|
||||
@@ -2504,20 +2504,6 @@
|
||||
"childSessionId": "{{child-1}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"method": "session.event",
|
||||
"payload": {
|
||||
"sessionId": "{{child-1}}",
|
||||
"event": {
|
||||
"type": "permission/preset",
|
||||
"seq": 2,
|
||||
"time": 0,
|
||||
"data": {
|
||||
"preset": "danger-full-access"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"method": "session.event",
|
||||
"payload": {
|
||||
@@ -3146,20 +3132,6 @@
|
||||
"childSessionId": "{{child-2}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"method": "session.event",
|
||||
"payload": {
|
||||
"sessionId": "{{child-2}}",
|
||||
"event": {
|
||||
"type": "permission/preset",
|
||||
"seq": 2,
|
||||
"time": 0,
|
||||
"data": {
|
||||
"preset": "danger-full-access"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"method": "session.event",
|
||||
"payload": {
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
{"type":"session/end-seed","data":{"inherited":true}}
|
||||
{"type":"sandbox/mode","data":{"mode":"danger-full-access","source":"delegation"}}
|
||||
{"type":"approval/policy","data":{"policy":"never","source":"delegation"}}
|
||||
{"type":"permission/preset","data":{"preset":"danger-full-access"}}
|
||||
{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"inserted":[{"content":[{"type":"text","text":"What is the project codeword mentioned earlier in this conversation? Reply with exactly that one word and nothing else."}],"source":{"kind":"user"},"role":"user","id":"{{message:8}}"}]}}
|
||||
{"type":"turn/start","data":{"turn":2}}
|
||||
{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"removedCount":1,"inserted":[]}}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
{"type":"session/end-seed","data":{"inherited":true}}
|
||||
{"type":"sandbox/mode","data":{"mode":"danger-full-access","source":"delegation"}}
|
||||
{"type":"approval/policy","data":{"policy":"never","source":"delegation"}}
|
||||
{"type":"permission/preset","data":{"preset":"danger-full-access"}}
|
||||
{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"inserted":[{"content":[{"type":"text","text":"What is the project codeword mentioned earlier in this conversation? Reply with exactly that one word and nothing else."}],"source":{"kind":"user"},"role":"user","id":"{{message:13}}"}]}}
|
||||
{"type":"turn/start","data":{"turn":2}}
|
||||
{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"removedCount":1,"inserted":[]}}
|
||||
|
||||
Reference in new issue
Block a user