refactor(acp-example): snapshot goldens are JSONL, not pretty-printed .txt

The goldens now mirror the shape of the surfaces they capture — one compact
JSON record per line — matching the wire (NDJSON stdout) and disk (JSONL
session log) formats, renamed *.golden.jsonl. They stay grep/jq-able and
faithful to what the agent emits, where the prior pretty-printed .txt was a
reformatted representation. Both normalizers drop the 2-space indent; the
normalizer spec asserts the compact form. All 11 goldens regenerated; replay
remains deterministic (8/8 across runs).
This commit is contained in:
Tianyi Cui
2026-06-19 09:29:41 +08:00
parent b3caabb05d
commit ec73e11c9b
26 changed files with 366 additions and 4895 deletions

View File

@@ -57,7 +57,7 @@ A snapshot run asserts **two** normalized goldens, because the harness's externa
The two are genuinely additive: stdout is the bridge's *lossy projection* of the log (it drops `usage`, `step/*`, exact `seq`/`time`, and renders tool I/O differently), so a loop/tool/turn-structure regression can change the JSONL while leaving the stdout projection identical, and a bridge-translation regression can change stdout while the JSONL is untouched. Asserting the JSONL equality also echoes the proposed [universal replay fixture](../proposed/2026-06-11-deterministic-and-stress-testing.md) idea.
Both surfaces contain non-deterministic values that a pure normalization function scrubs **before** the snapshot: `randomUUID()` session ids → `{{sessionId}}`, the temp `mkdtemp` cwd → `{{cwd}}` (it appears in terminal-card `_meta` and the log header), JSON-RPC ids → a stable sequence, and the log's per-event `time` (epoch ms) + header `createdAt` dropped or zeroed. Real bash runs during replay, so the JSONL normalizer additionally stabilizes tool-output volatility (any embedded paths/pids/timestamps) — scenarios keep bash commands tightly constrained (`echo`, file writes; no `date`/`env`/background/large-output) so this surface is small. The goldens hold normalized, stable-stringified frames/events (not opaque bytes) for clean, line-diffable PRs; a separate raw-purity assertion keeps the guarantee that every stdout line parses as JSON (no logger leak onto the protocol channel). Vitest's `toMatchFileSnapshot` provides the golden store and the `-u`/`--update` "accept the diff" workflow.
Both surfaces contain non-deterministic values that a pure normalization function scrubs **before** the snapshot: `randomUUID()` session ids → `{{sessionId}}`, the temp `mkdtemp` cwd → `{{cwd}}` (it appears in terminal-card `_meta` and the log header), JSON-RPC ids → a stable sequence, and the log's per-event `time` (epoch ms) + header `createdAt` dropped or zeroed (the log's `seq` is left intact — it is deterministic by contract, `seq = log.length`). Real bash runs during replay, so the JSONL normalizer additionally stabilizes tool-output volatility (any embedded paths/pids/timestamps) — scenarios keep bash commands tightly constrained (`echo`, file writes; no `date`/`env`/background/large-output) so this surface is small. The goldens are themselves **JSONL** — one compact, normalized record per line, in the same shape as the surfaces they mirror (NDJSON on the wire, JSONL on disk: `stdout.golden.jsonl`, `session.golden.jsonl`), so they stay `grep`/`jq`-able and faithful to what the agent actually emits. A separate raw-purity assertion keeps the guarantee that every stdout line parses as JSON (no logger leak onto the protocol channel). Vitest's `toMatchFileSnapshot` provides the golden store and the `-u`/`--update` "accept the diff" workflow.
### Isolation: normalization now, sandbox later

View File

@@ -72,12 +72,12 @@ for (const scenario of SCENARIOS) {
}
await expect(normalizeStdout(result.rawStdout, ctx))
.toMatchFileSnapshot(join(dir, 'stdout.golden.txt'))
.toMatchFileSnapshot(join(dir, 'stdout.golden.jsonl'))
if (scenario.hasModelTurn) {
expect(result.sessionLog, 'a model scenario must persist a session log').toBeDefined()
await expect(normalizeSessionLog(result.sessionLog as string, ctx))
.toMatchFileSnapshot(join(dir, 'session.golden.txt'))
.toMatchFileSnapshot(join(dir, 'session.golden.jsonl'))
}
})
})
@@ -99,7 +99,7 @@ describe('snapshot fixtures', () => {
const dir = join(SNAPSHOTS_DIR, name)
expect(existsSync(join(dir, 'input.json')), `${name}/input.json`).toBe(true)
expect(existsSync(join(dir, 'session.jsonl')), `${name}/session.jsonl`).toBe(true)
expect(existsSync(join(dir, 'stdout.golden.txt')), `${name}/stdout.golden.txt`).toBe(true)
expect(existsSync(join(dir, 'stdout.golden.jsonl')), `${name}/stdout.golden.jsonl`).toBe(true)
}
})
})

View File

@@ -19,8 +19,8 @@ describe('normalizeStdout', () => {
JSON.stringify({ jsonrpc: '2.0', id: 99, method: 'session/new' }),
].join('\n')
const out = normalizeStdout(raw, ctx)
expect(out).toContain('"id": 1')
expect(out).toContain('"id": 2')
expect(out).toContain('"id":1')
expect(out).toContain('"id":2')
expect(out).not.toContain('42')
expect(out).not.toContain('99')
})
@@ -65,14 +65,14 @@ describe('normalizeSessionLog', () => {
it('zeroes the header createdAt', () => {
const out = normalizeSessionLog(`${header({})}\n`, ctx)
expect(out).toContain('"createdAt": 0')
expect(out).toContain('"createdAt":0')
expect(out).not.toContain('123')
})
it('zeroes each event time but keeps seq', () => {
const out = normalizeSessionLog(`${header({})}\n${event({ seq: 7, time: 999 })}\n`, ctx)
expect(out).toContain('"time": 0')
expect(out).toContain('"seq": 7') // seq is deterministic — NOT scrubbed
expect(out).toContain('"time":0')
expect(out).toContain('"seq":7') // seq is deterministic — NOT scrubbed
expect(out).not.toContain('999')
})

View File

@@ -53,10 +53,11 @@ function scrubValue(value: unknown, ctx: NormalizeContext): unknown {
/**
* Normalize a raw stdout transcript (newline-delimited JSON-RPC frames) into a
* stable, line-diffable golden: one pretty-printed frame per block, with the
* JSON-RPC `id` rewritten to a per-transcript sequence (1, 2, 3, …) and all
* volatile strings scrubbed. Throws if any non-empty line is not valid JSON —
* that doubles as the stdout-purity check (no logger leaked onto the protocol).
* stable golden in the SAME shape as the wire: one compact JSON frame per line
* (NDJSON), with the JSON-RPC `id` rewritten to a per-transcript sequence
* (1, 2, 3, …) and all volatile strings scrubbed. Throws if any non-empty line
* is not valid JSON — that doubles as the stdout-purity check (no logger leaked
* onto the protocol).
*/
export function normalizeStdout(rawStdout: string, ctx: NormalizeContext): string {
const lines = rawStdout.split('\n').filter(line => line.trim().length > 0)
@@ -76,14 +77,15 @@ export function normalizeStdout(rawStdout: string, ctx: NormalizeContext): strin
}
return scrubValue(frame, ctx) as Record<string, unknown>
})
return frames.map(f => JSON.stringify(f, null, 2)).join('\n') + '\n'
return frames.map(f => JSON.stringify(f)).join('\n') + '\n'
}
/**
* Normalize a session JSONL log into a stable golden: the header line's
* volatile fields (`createdAt`, `id`, `cwd`) and every event's `time` are
* zeroed/scrubbed, all volatile strings scrubbed, and `seq` is LEFT INTACT
* (deterministic by contract). One pretty-printed record per block.
* (deterministic by contract). Output is JSONL in the same shape as the input —
* one compact record per line.
*/
export function normalizeSessionLog(rawLog: string, ctx: NormalizeContext): string {
const lines = rawLog.split('\n').filter(line => line.trim().length > 0)
@@ -98,5 +100,5 @@ export function normalizeSessionLog(rawLog: string, ctx: NormalizeContext): stri
}
return scrubValue(record, ctx) as Record<string, unknown>
})
return records.map(r => JSON.stringify(r, null, 2)).join('\n') + '\n'
return records.map(r => JSON.stringify(r)).join('\n') + '\n'
}

View File

@@ -0,0 +1,8 @@
{"type":"session","version":1,"id":"{{sessionId}}","createdAt":0,"cwd":"{{cwd}}"}
{"type":"turn/start","seq":0,"time":0,"data":{"turn":1,"trigger":{"kind":"message","source":{"kind":"user"}}}}
{"type":"user/message","seq":1,"time":0,"data":{"content":[{"type":"text","text":"Start a long task; this turn will be cancelled mid-stream."}],"source":{"kind":"user"}}}
{"type":"step/start","seq":2,"time":0,"data":{"turn":1,"step":1}}
{"type":"assistant/chunk","seq":3,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-start","index":0,"blockType":"text"}}}
{"type":"assistant/chunk","seq":4,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"text-delta","index":0,"text":"partial"}}}
{"type":"step/end","seq":5,"time":0,"data":{"turn":1,"step":1}}
{"type":"turn/end","seq":6,"time":0,"data":{"turn":1,"reason":{"kind":"aborted","reason":"session/cancel"}}}

View File

@@ -1,95 +0,0 @@
{
"type": "session",
"version": 1,
"id": "{{sessionId}}",
"createdAt": 0,
"cwd": "{{cwd}}"
}
{
"type": "turn/start",
"seq": 0,
"time": 0,
"data": {
"turn": 1,
"trigger": {
"kind": "message",
"source": {
"kind": "user"
}
}
}
}
{
"type": "user/message",
"seq": 1,
"time": 0,
"data": {
"content": [
{
"type": "text",
"text": "Start a long task; this turn will be cancelled mid-stream."
}
],
"source": {
"kind": "user"
}
}
}
{
"type": "step/start",
"seq": 2,
"time": 0,
"data": {
"turn": 1,
"step": 1
}
}
{
"type": "assistant/chunk",
"seq": 3,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "block-start",
"index": 0,
"blockType": "text"
}
}
}
{
"type": "assistant/chunk",
"seq": 4,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text-delta",
"index": 0,
"text": "partial"
}
}
}
{
"type": "step/end",
"seq": 5,
"time": 0,
"data": {
"turn": 1,
"step": 1
}
}
{
"type": "turn/end",
"seq": 6,
"time": 0,
"data": {
"turn": 1,
"reason": {
"kind": "aborted",
"reason": "session/cancel"
}
}
}

View File

@@ -0,0 +1,5 @@
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":1,"agentInfo":{"name":"deepseek-harness-acp","version":"0.0.1"},"agentCapabilities":{"loadSession":true,"promptCapabilities":{"image":false,"audio":false,"embeddedContext":false}},"authMethods":[]}}
{"jsonrpc":"2.0","id":2,"result":{"sessionId":"{{sessionId}}"}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"user_message_chunk","content":{"type":"text","text":"Start a long task; this turn will be cancelled mid-stream."}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_message_chunk","content":{"type":"text","text":"partial"}}}}
{"jsonrpc":"2.0","id":3,"result":{"stopReason":"cancelled"}}

View File

@@ -1,62 +0,0 @@
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": 1,
"agentInfo": {
"name": "deepseek-harness-acp",
"version": "0.0.1"
},
"agentCapabilities": {
"loadSession": true,
"promptCapabilities": {
"image": false,
"audio": false,
"embeddedContext": false
}
},
"authMethods": []
}
}
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"sessionId": "{{sessionId}}"
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "user_message_chunk",
"content": {
"type": "text",
"text": "Start a long task; this turn will be cancelled mid-stream."
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_message_chunk",
"content": {
"type": "text",
"text": "partial"
}
}
}
}
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"stopReason": "cancelled"
}
}

View File

@@ -0,0 +1,7 @@
{"type":"session","version":1,"id":"{{sessionId}}","createdAt":0,"cwd":"{{cwd}}"}
{"type":"turn/start","seq":0,"time":0,"data":{"turn":1,"trigger":{"kind":"message","source":{"kind":"user"}}}}
{"type":"user/message","seq":1,"time":0,"data":{"content":[{"type":"text","text":"This prompt triggers a recorded provider error."}],"source":{"kind":"user"}}}
{"type":"step/start","seq":2,"time":0,"data":{"turn":1,"step":1}}
{"type":"step/end","seq":3,"time":0,"data":{"turn":1,"step":1}}
{"type":"error","seq":4,"time":0,"data":{"turn":1,"step":1,"message":"simulated provider error (HTTP 401)","code":"AUTH"}}
{"type":"turn/end","seq":5,"time":0,"data":{"turn":1,"reason":{"kind":"error","message":"simulated provider error (HTTP 401)","code":"AUTH"}}}

View File

@@ -1,79 +0,0 @@
{
"type": "session",
"version": 1,
"id": "{{sessionId}}",
"createdAt": 0,
"cwd": "{{cwd}}"
}
{
"type": "turn/start",
"seq": 0,
"time": 0,
"data": {
"turn": 1,
"trigger": {
"kind": "message",
"source": {
"kind": "user"
}
}
}
}
{
"type": "user/message",
"seq": 1,
"time": 0,
"data": {
"content": [
{
"type": "text",
"text": "This prompt triggers a recorded provider error."
}
],
"source": {
"kind": "user"
}
}
}
{
"type": "step/start",
"seq": 2,
"time": 0,
"data": {
"turn": 1,
"step": 1
}
}
{
"type": "step/end",
"seq": 3,
"time": 0,
"data": {
"turn": 1,
"step": 1
}
}
{
"type": "error",
"seq": 4,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"message": "simulated provider error (HTTP 401)",
"code": "AUTH"
}
}
{
"type": "turn/end",
"seq": 5,
"time": 0,
"data": {
"turn": 1,
"reason": {
"kind": "error",
"message": "simulated provider error (HTTP 401)",
"code": "AUTH"
}
}
}

View File

@@ -0,0 +1,4 @@
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":1,"agentInfo":{"name":"deepseek-harness-acp","version":"0.0.1"},"agentCapabilities":{"loadSession":true,"promptCapabilities":{"image":false,"audio":false,"embeddedContext":false}},"authMethods":[]}}
{"jsonrpc":"2.0","id":2,"result":{"sessionId":"{{sessionId}}"}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"user_message_chunk","content":{"type":"text","text":"This prompt triggers a recorded provider error."}}}}
{"jsonrpc":"2.0","id":3,"error":{"code":-32603,"message":"Internal error: turn failed: simulated provider error (HTTP 401)"}}

View File

@@ -1,49 +0,0 @@
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": 1,
"agentInfo": {
"name": "deepseek-harness-acp",
"version": "0.0.1"
},
"agentCapabilities": {
"loadSession": true,
"promptCapabilities": {
"image": false,
"audio": false,
"embeddedContext": false
}
},
"authMethods": []
}
}
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"sessionId": "{{sessionId}}"
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "user_message_chunk",
"content": {
"type": "text",
"text": "This prompt triggers a recorded provider error."
}
}
}
}
{
"jsonrpc": "2.0",
"id": 3,
"error": {
"code": -32603,
"message": "Internal error: turn failed: simulated provider error (HTTP 401)"
}
}

View File

@@ -0,0 +1,2 @@
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":1,"agentInfo":{"name":"deepseek-harness-acp","version":"0.0.1"},"agentCapabilities":{"loadSession":true,"promptCapabilities":{"image":false,"audio":false,"embeddedContext":false}},"authMethods":[]}}
{"jsonrpc":"2.0","id":2,"result":{"sessionId":"{{sessionId}}"}}

View File

@@ -1,27 +0,0 @@
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": 1,
"agentInfo": {
"name": "deepseek-harness-acp",
"version": "0.0.1"
},
"agentCapabilities": {
"loadSession": true,
"promptCapabilities": {
"image": false,
"audio": false,
"embeddedContext": false
}
},
"authMethods": []
}
}
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"sessionId": "{{sessionId}}"
}
}

View File

@@ -0,0 +1,66 @@
{"type":"session","version":1,"id":"{{sessionId}}","createdAt":0,"cwd":"{{cwd}}"}
{"type":"turn/start","seq":0,"time":0,"data":{"turn":1,"trigger":{"kind":"message","source":{"kind":"user"}}}}
{"type":"user/message","seq":1,"time":0,"data":{"content":[{"type":"text","text":"Reply with exactly the word: ONE. No tools."}],"source":{"kind":"user"}}}
{"type":"step/start","seq":2,"time":0,"data":{"turn":1,"step":1}}
{"type":"assistant/chunk","seq":3,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-start","index":0,"blockType":"reasoning"}}}
{"type":"assistant/chunk","seq":4,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"The"}}}
{"type":"assistant/chunk","seq":5,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" user"}}}
{"type":"assistant/chunk","seq":6,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" wants"}}}
{"type":"assistant/chunk","seq":7,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" me"}}}
{"type":"assistant/chunk","seq":8,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" to"}}}
{"type":"assistant/chunk","seq":9,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" reply"}}}
{"type":"assistant/chunk","seq":10,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" with"}}}
{"type":"assistant/chunk","seq":11,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" exactly"}}}
{"type":"assistant/chunk","seq":12,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" the"}}}
{"type":"assistant/chunk","seq":13,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" word"}}}
{"type":"assistant/chunk","seq":14,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" \""}}}
{"type":"assistant/chunk","seq":15,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"ONE"}}}
{"type":"assistant/chunk","seq":16,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"\""}}}
{"type":"assistant/chunk","seq":17,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" and"}}}
{"type":"assistant/chunk","seq":18,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" no"}}}
{"type":"assistant/chunk","seq":19,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" tools"}}}
{"type":"assistant/chunk","seq":20,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"."}}}
{"type":"assistant/chunk","seq":21,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-start","index":1,"blockType":"text"}}}
{"type":"assistant/chunk","seq":22,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"text-delta","index":1,"text":"ONE"}}}
{"type":"assistant/chunk","seq":23,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-end","index":0,"block":{"type":"reasoning","text":"The user wants me to reply with exactly the word \"ONE\" and no tools."}}}}
{"type":"assistant/chunk","seq":24,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-end","index":1,"block":{"type":"text","text":"ONE"}}}}
{"type":"assistant/chunk","seq":25,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"usage","usage":{"inputTokens":113,"outputTokens":19,"cacheReadTokens":768,"reasoningTokens":17}}}}
{"type":"assistant/chunk","seq":26,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"finish","reason":{"kind":"stop"}}}}
{"type":"assistant/message","seq":27,"time":0,"data":{"turn":1,"step":1,"content":[{"type":"reasoning","text":"The user wants me to reply with exactly the word \"ONE\" and no tools."},{"type":"text","text":"ONE"}]}}
{"type":"usage","seq":28,"time":0,"data":{"turn":1,"step":1,"usage":{"inputTokens":113,"outputTokens":19,"cacheReadTokens":768,"reasoningTokens":17}}}
{"type":"step/end","seq":29,"time":0,"data":{"turn":1,"step":1}}
{"type":"turn/end","seq":30,"time":0,"data":{"turn":1,"reason":{"kind":"completed"}}}
{"type":"turn/start","seq":31,"time":0,"data":{"turn":2,"trigger":{"kind":"message","source":{"kind":"user"}}}}
{"type":"user/message","seq":32,"time":0,"data":{"content":[{"type":"text","text":"Reply with exactly the word: TWO. No tools."}],"source":{"kind":"user"}}}
{"type":"step/start","seq":33,"time":0,"data":{"turn":2,"step":1}}
{"type":"assistant/chunk","seq":34,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"block-start","index":0,"blockType":"reasoning"}}}
{"type":"assistant/chunk","seq":35,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"The"}}}
{"type":"assistant/chunk","seq":36,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" user"}}}
{"type":"assistant/chunk","seq":37,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" wants"}}}
{"type":"assistant/chunk","seq":38,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" me"}}}
{"type":"assistant/chunk","seq":39,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" to"}}}
{"type":"assistant/chunk","seq":40,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" reply"}}}
{"type":"assistant/chunk","seq":41,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" with"}}}
{"type":"assistant/chunk","seq":42,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" exactly"}}}
{"type":"assistant/chunk","seq":43,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" the"}}}
{"type":"assistant/chunk","seq":44,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" word"}}}
{"type":"assistant/chunk","seq":45,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" \""}}}
{"type":"assistant/chunk","seq":46,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"T"}}}
{"type":"assistant/chunk","seq":47,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"WO"}}}
{"type":"assistant/chunk","seq":48,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"\""}}}
{"type":"assistant/chunk","seq":49,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" and"}}}
{"type":"assistant/chunk","seq":50,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" use"}}}
{"type":"assistant/chunk","seq":51,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" no"}}}
{"type":"assistant/chunk","seq":52,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" tools"}}}
{"type":"assistant/chunk","seq":53,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"."}}}
{"type":"assistant/chunk","seq":54,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"block-start","index":1,"blockType":"text"}}}
{"type":"assistant/chunk","seq":55,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"text-delta","index":1,"text":"T"}}}
{"type":"assistant/chunk","seq":56,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"text-delta","index":1,"text":"WO"}}}
{"type":"assistant/chunk","seq":57,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"block-end","index":0,"block":{"type":"reasoning","text":"The user wants me to reply with exactly the word \"TWO\" and use no tools."}}}}
{"type":"assistant/chunk","seq":58,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"block-end","index":1,"block":{"type":"text","text":"TWO"}}}}
{"type":"assistant/chunk","seq":59,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"usage","usage":{"inputTokens":129,"outputTokens":22,"cacheReadTokens":768,"reasoningTokens":19}}}}
{"type":"assistant/chunk","seq":60,"time":0,"data":{"turn":2,"step":1,"chunk":{"type":"finish","reason":{"kind":"stop"}}}}
{"type":"assistant/message","seq":61,"time":0,"data":{"turn":2,"step":1,"content":[{"type":"reasoning","text":"The user wants me to reply with exactly the word \"TWO\" and use no tools."},{"type":"text","text":"TWO"}]}}
{"type":"usage","seq":62,"time":0,"data":{"turn":2,"step":1,"usage":{"inputTokens":129,"outputTokens":22,"cacheReadTokens":768,"reasoningTokens":19}}}
{"type":"step/end","seq":63,"time":0,"data":{"turn":2,"step":1}}
{"type":"turn/end","seq":64,"time":0,"data":{"turn":2,"reason":{"kind":"completed"}}}

View File

@@ -1,929 +0,0 @@
{
"type": "session",
"version": 1,
"id": "{{sessionId}}",
"createdAt": 0,
"cwd": "{{cwd}}"
}
{
"type": "turn/start",
"seq": 0,
"time": 0,
"data": {
"turn": 1,
"trigger": {
"kind": "message",
"source": {
"kind": "user"
}
}
}
}
{
"type": "user/message",
"seq": 1,
"time": 0,
"data": {
"content": [
{
"type": "text",
"text": "Reply with exactly the word: ONE. No tools."
}
],
"source": {
"kind": "user"
}
}
}
{
"type": "step/start",
"seq": 2,
"time": 0,
"data": {
"turn": 1,
"step": 1
}
}
{
"type": "assistant/chunk",
"seq": 3,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "block-start",
"index": 0,
"blockType": "reasoning"
}
}
}
{
"type": "assistant/chunk",
"seq": 4,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "The"
}
}
}
{
"type": "assistant/chunk",
"seq": 5,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " user"
}
}
}
{
"type": "assistant/chunk",
"seq": 6,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " wants"
}
}
}
{
"type": "assistant/chunk",
"seq": 7,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " me"
}
}
}
{
"type": "assistant/chunk",
"seq": 8,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " to"
}
}
}
{
"type": "assistant/chunk",
"seq": 9,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " reply"
}
}
}
{
"type": "assistant/chunk",
"seq": 10,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " with"
}
}
}
{
"type": "assistant/chunk",
"seq": 11,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " exactly"
}
}
}
{
"type": "assistant/chunk",
"seq": 12,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " the"
}
}
}
{
"type": "assistant/chunk",
"seq": 13,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " word"
}
}
}
{
"type": "assistant/chunk",
"seq": 14,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " \""
}
}
}
{
"type": "assistant/chunk",
"seq": 15,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "ONE"
}
}
}
{
"type": "assistant/chunk",
"seq": 16,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "\""
}
}
}
{
"type": "assistant/chunk",
"seq": 17,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " and"
}
}
}
{
"type": "assistant/chunk",
"seq": 18,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " no"
}
}
}
{
"type": "assistant/chunk",
"seq": 19,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " tools"
}
}
}
{
"type": "assistant/chunk",
"seq": 20,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "."
}
}
}
{
"type": "assistant/chunk",
"seq": 21,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "block-start",
"index": 1,
"blockType": "text"
}
}
}
{
"type": "assistant/chunk",
"seq": 22,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text-delta",
"index": 1,
"text": "ONE"
}
}
}
{
"type": "assistant/chunk",
"seq": 23,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "block-end",
"index": 0,
"block": {
"type": "reasoning",
"text": "The user wants me to reply with exactly the word \"ONE\" and no tools."
}
}
}
}
{
"type": "assistant/chunk",
"seq": 24,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "block-end",
"index": 1,
"block": {
"type": "text",
"text": "ONE"
}
}
}
}
{
"type": "assistant/chunk",
"seq": 25,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "usage",
"usage": {
"inputTokens": 113,
"outputTokens": 19,
"cacheReadTokens": 768,
"reasoningTokens": 17
}
}
}
}
{
"type": "assistant/chunk",
"seq": 26,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "finish",
"reason": {
"kind": "stop"
}
}
}
}
{
"type": "assistant/message",
"seq": 27,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"content": [
{
"type": "reasoning",
"text": "The user wants me to reply with exactly the word \"ONE\" and no tools."
},
{
"type": "text",
"text": "ONE"
}
]
}
}
{
"type": "usage",
"seq": 28,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"usage": {
"inputTokens": 113,
"outputTokens": 19,
"cacheReadTokens": 768,
"reasoningTokens": 17
}
}
}
{
"type": "step/end",
"seq": 29,
"time": 0,
"data": {
"turn": 1,
"step": 1
}
}
{
"type": "turn/end",
"seq": 30,
"time": 0,
"data": {
"turn": 1,
"reason": {
"kind": "completed"
}
}
}
{
"type": "turn/start",
"seq": 31,
"time": 0,
"data": {
"turn": 2,
"trigger": {
"kind": "message",
"source": {
"kind": "user"
}
}
}
}
{
"type": "user/message",
"seq": 32,
"time": 0,
"data": {
"content": [
{
"type": "text",
"text": "Reply with exactly the word: TWO. No tools."
}
],
"source": {
"kind": "user"
}
}
}
{
"type": "step/start",
"seq": 33,
"time": 0,
"data": {
"turn": 2,
"step": 1
}
}
{
"type": "assistant/chunk",
"seq": 34,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "block-start",
"index": 0,
"blockType": "reasoning"
}
}
}
{
"type": "assistant/chunk",
"seq": 35,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "The"
}
}
}
{
"type": "assistant/chunk",
"seq": 36,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " user"
}
}
}
{
"type": "assistant/chunk",
"seq": 37,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " wants"
}
}
}
{
"type": "assistant/chunk",
"seq": 38,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " me"
}
}
}
{
"type": "assistant/chunk",
"seq": 39,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " to"
}
}
}
{
"type": "assistant/chunk",
"seq": 40,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " reply"
}
}
}
{
"type": "assistant/chunk",
"seq": 41,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " with"
}
}
}
{
"type": "assistant/chunk",
"seq": 42,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " exactly"
}
}
}
{
"type": "assistant/chunk",
"seq": 43,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " the"
}
}
}
{
"type": "assistant/chunk",
"seq": 44,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " word"
}
}
}
{
"type": "assistant/chunk",
"seq": 45,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " \""
}
}
}
{
"type": "assistant/chunk",
"seq": 46,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "T"
}
}
}
{
"type": "assistant/chunk",
"seq": 47,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "WO"
}
}
}
{
"type": "assistant/chunk",
"seq": 48,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "\""
}
}
}
{
"type": "assistant/chunk",
"seq": 49,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " and"
}
}
}
{
"type": "assistant/chunk",
"seq": 50,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " use"
}
}
}
{
"type": "assistant/chunk",
"seq": 51,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " no"
}
}
}
{
"type": "assistant/chunk",
"seq": 52,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " tools"
}
}
}
{
"type": "assistant/chunk",
"seq": 53,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "."
}
}
}
{
"type": "assistant/chunk",
"seq": 54,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "block-start",
"index": 1,
"blockType": "text"
}
}
}
{
"type": "assistant/chunk",
"seq": 55,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "text-delta",
"index": 1,
"text": "T"
}
}
}
{
"type": "assistant/chunk",
"seq": 56,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "text-delta",
"index": 1,
"text": "WO"
}
}
}
{
"type": "assistant/chunk",
"seq": 57,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "block-end",
"index": 0,
"block": {
"type": "reasoning",
"text": "The user wants me to reply with exactly the word \"TWO\" and use no tools."
}
}
}
}
{
"type": "assistant/chunk",
"seq": 58,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "block-end",
"index": 1,
"block": {
"type": "text",
"text": "TWO"
}
}
}
}
{
"type": "assistant/chunk",
"seq": 59,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "usage",
"usage": {
"inputTokens": 129,
"outputTokens": 22,
"cacheReadTokens": 768,
"reasoningTokens": 19
}
}
}
}
{
"type": "assistant/chunk",
"seq": 60,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"chunk": {
"type": "finish",
"reason": {
"kind": "stop"
}
}
}
}
{
"type": "assistant/message",
"seq": 61,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"content": [
{
"type": "reasoning",
"text": "The user wants me to reply with exactly the word \"TWO\" and use no tools."
},
{
"type": "text",
"text": "TWO"
}
]
}
}
{
"type": "usage",
"seq": 62,
"time": 0,
"data": {
"turn": 2,
"step": 1,
"usage": {
"inputTokens": 129,
"outputTokens": 22,
"cacheReadTokens": 768,
"reasoningTokens": 19
}
}
}
{
"type": "step/end",
"seq": 63,
"time": 0,
"data": {
"turn": 2,
"step": 1
}
}
{
"type": "turn/end",
"seq": 64,
"time": 0,
"data": {
"turn": 2,
"reason": {
"kind": "completed"
}
}
}

View File

@@ -0,0 +1,45 @@
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":1,"agentInfo":{"name":"deepseek-harness-acp","version":"0.0.1"},"agentCapabilities":{"loadSession":true,"promptCapabilities":{"image":false,"audio":false,"embeddedContext":false}},"authMethods":[]}}
{"jsonrpc":"2.0","id":2,"result":{"sessionId":"{{sessionId}}"}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"user_message_chunk","content":{"type":"text","text":"Reply with exactly the word: ONE. No tools."}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"The"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" user"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" wants"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" me"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" to"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" reply"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" with"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" exactly"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" the"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" word"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" \""}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"ONE"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"\""}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" and"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" no"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" tools"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"."}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_message_chunk","content":{"type":"text","text":"ONE"}}}}
{"jsonrpc":"2.0","id":3,"result":{"stopReason":"end_turn"}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"user_message_chunk","content":{"type":"text","text":"Reply with exactly the word: TWO. No tools."}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"The"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" user"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" wants"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" me"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" to"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" reply"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" with"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" exactly"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" the"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" word"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" \""}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"T"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"WO"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"\""}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" and"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" use"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" no"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" tools"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"."}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_message_chunk","content":{"type":"text","text":"T"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_message_chunk","content":{"type":"text","text":"WO"}}}}
{"jsonrpc":"2.0","id":4,"result":{"stopReason":"end_turn"}}

View File

@@ -1,615 +0,0 @@
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": 1,
"agentInfo": {
"name": "deepseek-harness-acp",
"version": "0.0.1"
},
"agentCapabilities": {
"loadSession": true,
"promptCapabilities": {
"image": false,
"audio": false,
"embeddedContext": false
}
},
"authMethods": []
}
}
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"sessionId": "{{sessionId}}"
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "user_message_chunk",
"content": {
"type": "text",
"text": "Reply with exactly the word: ONE. No tools."
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "The"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " user"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " wants"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " me"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " to"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " reply"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " with"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " exactly"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " the"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " word"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " \""
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "ONE"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "\""
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " and"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " no"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " tools"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "."
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_message_chunk",
"content": {
"type": "text",
"text": "ONE"
}
}
}
}
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"stopReason": "end_turn"
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "user_message_chunk",
"content": {
"type": "text",
"text": "Reply with exactly the word: TWO. No tools."
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "The"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " user"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " wants"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " me"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " to"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " reply"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " with"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " exactly"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " the"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " word"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " \""
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "T"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "WO"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "\""
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " and"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " use"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " no"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " tools"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "."
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_message_chunk",
"content": {
"type": "text",
"text": "T"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_message_chunk",
"content": {
"type": "text",
"text": "WO"
}
}
}
}
{
"jsonrpc": "2.0",
"id": 4,
"result": {
"stopReason": "end_turn"
}
}

View File

@@ -0,0 +1,35 @@
{"type":"session","version":1,"id":"{{sessionId}}","createdAt":0,"cwd":"{{cwd}}"}
{"type":"turn/start","seq":0,"time":0,"data":{"turn":1,"trigger":{"kind":"message","source":{"kind":"user"}}}}
{"type":"user/message","seq":1,"time":0,"data":{"content":[{"type":"text","text":"Reply with exactly the word: PONG. Do not use any tools."}],"source":{"kind":"user"}}}
{"type":"step/start","seq":2,"time":0,"data":{"turn":1,"step":1}}
{"type":"assistant/chunk","seq":3,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-start","index":0,"blockType":"reasoning"}}}
{"type":"assistant/chunk","seq":4,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"The"}}}
{"type":"assistant/chunk","seq":5,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" user"}}}
{"type":"assistant/chunk","seq":6,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" wants"}}}
{"type":"assistant/chunk","seq":7,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" me"}}}
{"type":"assistant/chunk","seq":8,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" to"}}}
{"type":"assistant/chunk","seq":9,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" reply"}}}
{"type":"assistant/chunk","seq":10,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" with"}}}
{"type":"assistant/chunk","seq":11,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" exactly"}}}
{"type":"assistant/chunk","seq":12,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" the"}}}
{"type":"assistant/chunk","seq":13,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" word"}}}
{"type":"assistant/chunk","seq":14,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" \""}}}
{"type":"assistant/chunk","seq":15,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"P"}}}
{"type":"assistant/chunk","seq":16,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"ONG"}}}
{"type":"assistant/chunk","seq":17,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"\""}}}
{"type":"assistant/chunk","seq":18,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" without"}}}
{"type":"assistant/chunk","seq":19,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" using"}}}
{"type":"assistant/chunk","seq":20,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" any"}}}
{"type":"assistant/chunk","seq":21,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" tools"}}}
{"type":"assistant/chunk","seq":22,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"."}}}
{"type":"assistant/chunk","seq":23,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-start","index":1,"blockType":"text"}}}
{"type":"assistant/chunk","seq":24,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"text-delta","index":1,"text":"P"}}}
{"type":"assistant/chunk","seq":25,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"text-delta","index":1,"text":"ONG"}}}
{"type":"assistant/chunk","seq":26,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-end","index":0,"block":{"type":"reasoning","text":"The user wants me to reply with exactly the word \"PONG\" without using any tools."}}}}
{"type":"assistant/chunk","seq":27,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-end","index":1,"block":{"type":"text","text":"PONG"}}}}
{"type":"assistant/chunk","seq":28,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"usage","usage":{"inputTokens":117,"outputTokens":22,"cacheReadTokens":768,"reasoningTokens":19}}}}
{"type":"assistant/chunk","seq":29,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"finish","reason":{"kind":"stop"}}}}
{"type":"assistant/message","seq":30,"time":0,"data":{"turn":1,"step":1,"content":[{"type":"reasoning","text":"The user wants me to reply with exactly the word \"PONG\" without using any tools."},{"type":"text","text":"PONG"}]}}
{"type":"usage","seq":31,"time":0,"data":{"turn":1,"step":1,"usage":{"inputTokens":117,"outputTokens":22,"cacheReadTokens":768,"reasoningTokens":19}}}
{"type":"step/end","seq":32,"time":0,"data":{"turn":1,"step":1}}
{"type":"turn/end","seq":33,"time":0,"data":{"turn":1,"reason":{"kind":"completed"}}}

View File

@@ -1,489 +0,0 @@
{
"type": "session",
"version": 1,
"id": "{{sessionId}}",
"createdAt": 0,
"cwd": "{{cwd}}"
}
{
"type": "turn/start",
"seq": 0,
"time": 0,
"data": {
"turn": 1,
"trigger": {
"kind": "message",
"source": {
"kind": "user"
}
}
}
}
{
"type": "user/message",
"seq": 1,
"time": 0,
"data": {
"content": [
{
"type": "text",
"text": "Reply with exactly the word: PONG. Do not use any tools."
}
],
"source": {
"kind": "user"
}
}
}
{
"type": "step/start",
"seq": 2,
"time": 0,
"data": {
"turn": 1,
"step": 1
}
}
{
"type": "assistant/chunk",
"seq": 3,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "block-start",
"index": 0,
"blockType": "reasoning"
}
}
}
{
"type": "assistant/chunk",
"seq": 4,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "The"
}
}
}
{
"type": "assistant/chunk",
"seq": 5,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " user"
}
}
}
{
"type": "assistant/chunk",
"seq": 6,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " wants"
}
}
}
{
"type": "assistant/chunk",
"seq": 7,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " me"
}
}
}
{
"type": "assistant/chunk",
"seq": 8,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " to"
}
}
}
{
"type": "assistant/chunk",
"seq": 9,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " reply"
}
}
}
{
"type": "assistant/chunk",
"seq": 10,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " with"
}
}
}
{
"type": "assistant/chunk",
"seq": 11,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " exactly"
}
}
}
{
"type": "assistant/chunk",
"seq": 12,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " the"
}
}
}
{
"type": "assistant/chunk",
"seq": 13,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " word"
}
}
}
{
"type": "assistant/chunk",
"seq": 14,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " \""
}
}
}
{
"type": "assistant/chunk",
"seq": 15,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "P"
}
}
}
{
"type": "assistant/chunk",
"seq": 16,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "ONG"
}
}
}
{
"type": "assistant/chunk",
"seq": 17,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "\""
}
}
}
{
"type": "assistant/chunk",
"seq": 18,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " without"
}
}
}
{
"type": "assistant/chunk",
"seq": 19,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " using"
}
}
}
{
"type": "assistant/chunk",
"seq": 20,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " any"
}
}
}
{
"type": "assistant/chunk",
"seq": 21,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": " tools"
}
}
}
{
"type": "assistant/chunk",
"seq": 22,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "reasoning-delta",
"index": 0,
"text": "."
}
}
}
{
"type": "assistant/chunk",
"seq": 23,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "block-start",
"index": 1,
"blockType": "text"
}
}
}
{
"type": "assistant/chunk",
"seq": 24,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text-delta",
"index": 1,
"text": "P"
}
}
}
{
"type": "assistant/chunk",
"seq": 25,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text-delta",
"index": 1,
"text": "ONG"
}
}
}
{
"type": "assistant/chunk",
"seq": 26,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "block-end",
"index": 0,
"block": {
"type": "reasoning",
"text": "The user wants me to reply with exactly the word \"PONG\" without using any tools."
}
}
}
}
{
"type": "assistant/chunk",
"seq": 27,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "block-end",
"index": 1,
"block": {
"type": "text",
"text": "PONG"
}
}
}
}
{
"type": "assistant/chunk",
"seq": 28,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "usage",
"usage": {
"inputTokens": 117,
"outputTokens": 22,
"cacheReadTokens": 768,
"reasoningTokens": 19
}
}
}
}
{
"type": "assistant/chunk",
"seq": 29,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "finish",
"reason": {
"kind": "stop"
}
}
}
}
{
"type": "assistant/message",
"seq": 30,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"content": [
{
"type": "reasoning",
"text": "The user wants me to reply with exactly the word \"PONG\" without using any tools."
},
{
"type": "text",
"text": "PONG"
}
]
}
}
{
"type": "usage",
"seq": 31,
"time": 0,
"data": {
"turn": 1,
"step": 1,
"usage": {
"inputTokens": 117,
"outputTokens": 22,
"cacheReadTokens": 768,
"reasoningTokens": 19
}
}
}
{
"type": "step/end",
"seq": 32,
"time": 0,
"data": {
"turn": 1,
"step": 1
}
}
{
"type": "turn/end",
"seq": 33,
"time": 0,
"data": {
"turn": 1,
"reason": {
"kind": "completed"
}
}
}

View File

@@ -0,0 +1,25 @@
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":1,"agentInfo":{"name":"deepseek-harness-acp","version":"0.0.1"},"agentCapabilities":{"loadSession":true,"promptCapabilities":{"image":false,"audio":false,"embeddedContext":false}},"authMethods":[]}}
{"jsonrpc":"2.0","id":2,"result":{"sessionId":"{{sessionId}}"}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"user_message_chunk","content":{"type":"text","text":"Reply with exactly the word: PONG. Do not use any tools."}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"The"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" user"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" wants"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" me"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" to"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" reply"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" with"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" exactly"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" the"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" word"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" \""}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"P"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"ONG"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"\""}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" without"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" using"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" any"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" tools"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"."}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_message_chunk","content":{"type":"text","text":"P"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_message_chunk","content":{"type":"text","text":"ONG"}}}}
{"jsonrpc":"2.0","id":3,"result":{"stopReason":"end_turn"}}

View File

@@ -1,342 +0,0 @@
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": 1,
"agentInfo": {
"name": "deepseek-harness-acp",
"version": "0.0.1"
},
"agentCapabilities": {
"loadSession": true,
"promptCapabilities": {
"image": false,
"audio": false,
"embeddedContext": false
}
},
"authMethods": []
}
}
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"sessionId": "{{sessionId}}"
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "user_message_chunk",
"content": {
"type": "text",
"text": "Reply with exactly the word: PONG. Do not use any tools."
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "The"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " user"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " wants"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " me"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " to"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " reply"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " with"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " exactly"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " the"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " word"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " \""
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "P"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "ONG"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "\""
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " without"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " using"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " any"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " tools"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "."
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_message_chunk",
"content": {
"type": "text",
"text": "P"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_message_chunk",
"content": {
"type": "text",
"text": "ONG"
}
}
}
}
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"stopReason": "end_turn"
}
}

View File

@@ -0,0 +1,100 @@
{"type":"session","version":1,"id":"{{sessionId}}","createdAt":0,"cwd":"{{cwd}}"}
{"type":"turn/start","seq":0,"time":0,"data":{"turn":1,"trigger":{"kind":"message","source":{"kind":"user"}}}}
{"type":"user/message","seq":1,"time":0,"data":{"content":[{"type":"text","text":"Use the bash tool to run exactly: echo SNAPSHOT_OK. Then reply with the single word DONE and stop."}],"source":{"kind":"user"}}}
{"type":"step/start","seq":2,"time":0,"data":{"turn":1,"step":1}}
{"type":"assistant/chunk","seq":3,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-start","index":0,"blockType":"reasoning"}}}
{"type":"assistant/chunk","seq":4,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"The"}}}
{"type":"assistant/chunk","seq":5,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" user"}}}
{"type":"assistant/chunk","seq":6,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" wants"}}}
{"type":"assistant/chunk","seq":7,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" me"}}}
{"type":"assistant/chunk","seq":8,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" to"}}}
{"type":"assistant/chunk","seq":9,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" run"}}}
{"type":"assistant/chunk","seq":10,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" a"}}}
{"type":"assistant/chunk","seq":11,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" specific"}}}
{"type":"assistant/chunk","seq":12,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" command"}}}
{"type":"assistant/chunk","seq":13,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" and"}}}
{"type":"assistant/chunk","seq":14,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" then"}}}
{"type":"assistant/chunk","seq":15,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" reply"}}}
{"type":"assistant/chunk","seq":16,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" with"}}}
{"type":"assistant/chunk","seq":17,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":" D"}}}
{"type":"assistant/chunk","seq":18,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"ONE"}}}
{"type":"assistant/chunk","seq":19,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"reasoning-delta","index":0,"text":"."}}}
{"type":"assistant/chunk","seq":20,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-start","index":1,"blockType":"tool-call"}}}
{"type":"assistant/chunk","seq":21,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":""}}}
{"type":"assistant/chunk","seq":22,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"{"}}}
{"type":"assistant/chunk","seq":23,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"\""}}}
{"type":"assistant/chunk","seq":24,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"command"}}}
{"type":"assistant/chunk","seq":25,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"\""}}}
{"type":"assistant/chunk","seq":26,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":": "}}}
{"type":"assistant/chunk","seq":27,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"\""}}}
{"type":"assistant/chunk","seq":28,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"echo"}}}
{"type":"assistant/chunk","seq":29,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":" S"}}}
{"type":"assistant/chunk","seq":30,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"NA"}}}
{"type":"assistant/chunk","seq":31,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"PS"}}}
{"type":"assistant/chunk","seq":32,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"H"}}}
{"type":"assistant/chunk","seq":33,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"OT"}}}
{"type":"assistant/chunk","seq":34,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"_OK"}}}
{"type":"assistant/chunk","seq":35,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"\""}}}
{"type":"assistant/chunk","seq":36,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":", "}}}
{"type":"assistant/chunk","seq":37,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"\""}}}
{"type":"assistant/chunk","seq":38,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"description"}}}
{"type":"assistant/chunk","seq":39,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"\""}}}
{"type":"assistant/chunk","seq":40,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":": "}}}
{"type":"assistant/chunk","seq":41,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"\""}}}
{"type":"assistant/chunk","seq":42,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"Run"}}}
{"type":"assistant/chunk","seq":43,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":" the"}}}
{"type":"assistant/chunk","seq":44,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":" exact"}}}
{"type":"assistant/chunk","seq":45,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":" echo"}}}
{"type":"assistant/chunk","seq":46,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":" command"}}}
{"type":"assistant/chunk","seq":47,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":" requested"}}}
{"type":"assistant/chunk","seq":48,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"\""}}}
{"type":"assistant/chunk","seq":49,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"tool-call-delta","index":1,"id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","argumentsDelta":"}"}}}
{"type":"assistant/chunk","seq":50,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-end","index":0,"block":{"type":"reasoning","text":"The user wants me to run a specific command and then reply with DONE."}}}}
{"type":"assistant/chunk","seq":51,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"block-end","index":1,"block":{"type":"tool-call","id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","arguments":"{\"command\": \"echo SNAPSHOT_OK\", \"description\": \"Run the exact echo command requested\"}"}}}}
{"type":"assistant/chunk","seq":52,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"usage","usage":{"inputTokens":129,"outputTokens":86,"cacheReadTokens":768,"reasoningTokens":16}}}}
{"type":"assistant/chunk","seq":53,"time":0,"data":{"turn":1,"step":1,"chunk":{"type":"finish","reason":{"kind":"tool-calls"}}}}
{"type":"assistant/message","seq":54,"time":0,"data":{"turn":1,"step":1,"content":[{"type":"reasoning","text":"The user wants me to run a specific command and then reply with DONE."},{"type":"tool-call","id":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","arguments":"{\"command\": \"echo SNAPSHOT_OK\", \"description\": \"Run the exact echo command requested\"}"}]}}
{"type":"usage","seq":55,"time":0,"data":{"turn":1,"step":1,"usage":{"inputTokens":129,"outputTokens":86,"cacheReadTokens":768,"reasoningTokens":16}}}
{"type":"tool/call","seq":56,"time":0,"data":{"turn":1,"step":1,"callId":"call_00_waDnb5eZcD1dBV49O7F39256","name":"bash","arguments":"{\"command\": \"echo SNAPSHOT_OK\", \"description\": \"Run the exact echo command requested\"}"}}
{"type":"tool/result","seq":57,"time":0,"data":{"turn":1,"step":1,"callId":"call_00_waDnb5eZcD1dBV49O7F39256","content":[{"type":"text","text":"SNAPSHOT_OK\n"}],"isError":false}}
{"type":"step/end","seq":58,"time":0,"data":{"turn":1,"step":1}}
{"type":"step/start","seq":59,"time":0,"data":{"turn":1,"step":2}}
{"type":"assistant/chunk","seq":60,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"block-start","index":0,"blockType":"reasoning"}}}
{"type":"assistant/chunk","seq":61,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":"The"}}}
{"type":"assistant/chunk","seq":62,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" command"}}}
{"type":"assistant/chunk","seq":63,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" ran"}}}
{"type":"assistant/chunk","seq":64,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" successfully"}}}
{"type":"assistant/chunk","seq":65,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" and"}}}
{"type":"assistant/chunk","seq":66,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" output"}}}
{"type":"assistant/chunk","seq":67,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" \""}}}
{"type":"assistant/chunk","seq":68,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":"S"}}}
{"type":"assistant/chunk","seq":69,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":"NA"}}}
{"type":"assistant/chunk","seq":70,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":"PS"}}}
{"type":"assistant/chunk","seq":71,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":"H"}}}
{"type":"assistant/chunk","seq":72,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":"OT"}}}
{"type":"assistant/chunk","seq":73,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":"_OK"}}}
{"type":"assistant/chunk","seq":74,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":"\"."}}}
{"type":"assistant/chunk","seq":75,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" Now"}}}
{"type":"assistant/chunk","seq":76,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" I"}}}
{"type":"assistant/chunk","seq":77,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" need"}}}
{"type":"assistant/chunk","seq":78,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" to"}}}
{"type":"assistant/chunk","seq":79,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" reply"}}}
{"type":"assistant/chunk","seq":80,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" with"}}}
{"type":"assistant/chunk","seq":81,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" the"}}}
{"type":"assistant/chunk","seq":82,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" single"}}}
{"type":"assistant/chunk","seq":83,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" word"}}}
{"type":"assistant/chunk","seq":84,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":" \""}}}
{"type":"assistant/chunk","seq":85,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":"D"}}}
{"type":"assistant/chunk","seq":86,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":"ONE"}}}
{"type":"assistant/chunk","seq":87,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"reasoning-delta","index":0,"text":"\"."}}}
{"type":"assistant/chunk","seq":88,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"block-start","index":1,"blockType":"text"}}}
{"type":"assistant/chunk","seq":89,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"text-delta","index":1,"text":"D"}}}
{"type":"assistant/chunk","seq":90,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"text-delta","index":1,"text":"ONE"}}}
{"type":"assistant/chunk","seq":91,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"block-end","index":0,"block":{"type":"reasoning","text":"The command ran successfully and output \"SNAPSHOT_OK\". Now I need to reply with the single word \"DONE\"."}}}}
{"type":"assistant/chunk","seq":92,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"block-end","index":1,"block":{"type":"text","text":"DONE"}}}}
{"type":"assistant/chunk","seq":93,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"usage","usage":{"inputTokens":105,"outputTokens":30,"cacheReadTokens":896,"reasoningTokens":27}}}}
{"type":"assistant/chunk","seq":94,"time":0,"data":{"turn":1,"step":2,"chunk":{"type":"finish","reason":{"kind":"stop"}}}}
{"type":"assistant/message","seq":95,"time":0,"data":{"turn":1,"step":2,"content":[{"type":"reasoning","text":"The command ran successfully and output \"SNAPSHOT_OK\". Now I need to reply with the single word \"DONE\"."},{"type":"text","text":"DONE"}]}}
{"type":"usage","seq":96,"time":0,"data":{"turn":1,"step":2,"usage":{"inputTokens":105,"outputTokens":30,"cacheReadTokens":896,"reasoningTokens":27}}}
{"type":"step/end","seq":97,"time":0,"data":{"turn":1,"step":2}}
{"type":"turn/end","seq":98,"time":0,"data":{"turn":1,"reason":{"kind":"completed"}}}

View File

@@ -0,0 +1,51 @@
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":1,"agentInfo":{"name":"deepseek-harness-acp","version":"0.0.1"},"agentCapabilities":{"loadSession":true,"promptCapabilities":{"image":false,"audio":false,"embeddedContext":false}},"authMethods":[]}}
{"jsonrpc":"2.0","id":2,"result":{"sessionId":"{{sessionId}}"}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"user_message_chunk","content":{"type":"text","text":"Use the bash tool to run exactly: echo SNAPSHOT_OK. Then reply with the single word DONE and stop."}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"The"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" user"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" wants"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" me"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" to"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" run"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" a"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" specific"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" command"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" and"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" then"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" reply"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" with"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" D"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"ONE"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"."}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"tool_call","toolCallId":"call_00_waDnb5eZcD1dBV49O7F39256","title":"echo SNAPSHOT_OK","kind":"execute","status":"in_progress","rawInput":"echo SNAPSHOT_OK","content":[{"type":"content","content":{"type":"text","text":"Run the exact echo command requested"}}]}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"tool_call_update","toolCallId":"call_00_waDnb5eZcD1dBV49O7F39256","status":"completed","content":[{"type":"content","content":{"type":"text","text":"```console\nSNAPSHOT_OK\n```"}}]}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"The"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" command"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" ran"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" successfully"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" and"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" output"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" \""}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"S"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"NA"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"PS"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"H"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"OT"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"_OK"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"\"."}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" Now"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" I"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" need"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" to"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" reply"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" with"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" the"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" single"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" word"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":" \""}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"D"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"ONE"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_thought_chunk","content":{"type":"text","text":"\"."}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_message_chunk","content":{"type":"text","text":"D"}}}}
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"{{sessionId}}","update":{"sessionUpdate":"agent_message_chunk","content":{"type":"text","text":"ONE"}}}}
{"jsonrpc":"2.0","id":3,"result":{"stopReason":"end_turn"}}

View File

@@ -1,723 +0,0 @@
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": 1,
"agentInfo": {
"name": "deepseek-harness-acp",
"version": "0.0.1"
},
"agentCapabilities": {
"loadSession": true,
"promptCapabilities": {
"image": false,
"audio": false,
"embeddedContext": false
}
},
"authMethods": []
}
}
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"sessionId": "{{sessionId}}"
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "user_message_chunk",
"content": {
"type": "text",
"text": "Use the bash tool to run exactly: echo SNAPSHOT_OK. Then reply with the single word DONE and stop."
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "The"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " user"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " wants"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " me"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " to"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " run"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " a"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " specific"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " command"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " and"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " then"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " reply"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " with"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " D"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "ONE"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "."
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "tool_call",
"toolCallId": "call_00_waDnb5eZcD1dBV49O7F39256",
"title": "echo SNAPSHOT_OK",
"kind": "execute",
"status": "in_progress",
"rawInput": "echo SNAPSHOT_OK",
"content": [
{
"type": "content",
"content": {
"type": "text",
"text": "Run the exact echo command requested"
}
}
]
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "tool_call_update",
"toolCallId": "call_00_waDnb5eZcD1dBV49O7F39256",
"status": "completed",
"content": [
{
"type": "content",
"content": {
"type": "text",
"text": "```console\nSNAPSHOT_OK\n```"
}
}
]
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "The"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " command"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " ran"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " successfully"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " and"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " output"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " \""
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "S"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "NA"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "PS"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "H"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "OT"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "_OK"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "\"."
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " Now"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " I"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " need"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " to"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " reply"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " with"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " the"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " single"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " word"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": " \""
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "D"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "ONE"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_thought_chunk",
"content": {
"type": "text",
"text": "\"."
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_message_chunk",
"content": {
"type": "text",
"text": "D"
}
}
}
}
{
"jsonrpc": "2.0",
"method": "session/update",
"params": {
"sessionId": "{{sessionId}}",
"update": {
"sessionUpdate": "agent_message_chunk",
"content": {
"type": "text",
"text": "ONE"
}
}
}
}
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"stopReason": "end_turn"
}
}