description: "完整的 Session V2 持久化类型、来源证据与物理编码参考。" kind: persistence-format


Session V2 持久化格式

English | 中文

概述

查阅 dsh-v0.1.3-alpha.2 对应的 V2 持久化类型。Assistant 流内嵌在 message 或 attempt 事件中,物理 header 要求 isSeeded,不再存储 seedLength。本快照保留 V3 系统消息与信封变更之前的 V2 声明。

目录


来源证据

来源为已发布 tag dsh-v0.1.3-alpha.2,其写入器常量为 2。tag 记录说明相邻发布之间的变化。本完整目录同时包含未变化的根类型和该 tag 变化的根类型。

提取的声明来自 packages/core/session/src/types.ts、packages/session/session-persistence-jsonl/src/format.ts,以及所有第一方 SessionEventMap 声明合并及其可达类型。下方源码位置指向该历史源码树,而非当前文件。

格式特征

以下事实描述所选检查点。下方生成的表格保留精确的字段类型与可选性。

  • SessionHeader.version 解析为字面量 2。逻辑与物理 header 均要求 isSeeded;物理 header 没有 seedLength。
  • 不存在 assistant/chunk。assistant/message.data 与仅日志用途的 assistant/attempt.data 都要求内嵌的 stream。
  • surface 替换声明保留 start / end;系统提示词文本仍位于 request/header.data.header.system。不存在 V3 的 system/message 事件。

V2 codec负责每行一个事件的编码、范围编码的来源引用,以及从 session/end-seed 标记推导的继承切点。V2 到 V3 规范负责系统消息插入、PTC 事件名称与规范信封转换。

对于已继承的 V2 Session,最后一个携带 data.inherited: true 的 session/end-seed 事件以其序号位置标识继承切点。物理 sourceEventSeqs 可以使用范围编码;逻辑 schema 保留展开后的数值数组。

机器声明

Schema 目录。

```yaml persistence-format schemaVersion: 1 sessionFormatVersion: 2 source: tag: dsh-v0.1.3-alpha.2 roots: "SessionHeader": 15918d785bdccedf0dba204622c75591bfb833bbf107ae0894bbc44cfbd73c1d "JsonlHeaderLine": 18ee62b8900a4c3d046700f05d7a4d49d6cab2a660a020c87481d1603dd8bd4f "SessionEventEnvelope": 04184edc061905410cc7e3db8d5c7cf393d739c89eb523ba8bad3831fb23ba95 "event:agent-preset/selected": a10c17474eaf2ddab7095a099e0fe3d046fc18e56c3e344fc8894c05ff9ef97b "event:agent/inbox/spliced": f757322e25914d63799c6235af4ed4b4f36d7d083fef40d6873a45e94fe6ad65 "event:approval/asked": 3bfeb47b58606f4661904bc723da612782214c463d01e6d61cd6d6193d7374e1 "event:approval/decided": bb1ab3d08f49a9f3b265f844cd78d5c49813062a7b34b54904b426f85d0ff6e3 "event:approval/policy": 26718e15e7e395bce9642dba5bbe09b3b1a4ce2213d20d566cd9207d7fc5fb78 "event:assistant/attempt": 3516f54b427775f483febe8e938e4e10f9afd3583610861547bbe2999ed4d8d9 "event:assistant/message": 83f26c7a856f772e6ffd9a5a144e5aaccf771ac54cef41948f99eed99e1a25a7 "event:command/done": 15196447222782e773eb943c92b18316ce96b9af0f0cfddb6e57ba8274ecc5ff "event:command/run": 37184378c6439257d105c4e2022d80fc9c3a3f7c7f6ac661b00bc9f18d871006 "event:compaction/end": b0127044ab31a702bddfd785d345f5abd7a70876746e895ce443afa3e60ddf2d "event:compaction/prune": 7f7fd5a6b0064f597534b29ff62ef26e786dffccf5e14f654a7d4fcea2c35f04 "event:compaction/start": db874d463b0fdec77e9da1c4568f37cb70bd6596781eb93800db44fb8a116965 "event:compaction/summary": eb1d32dcd3d76833392f351e039dcbd40686a1ab24b252a7a5003426f9cf4c89 "event:feedback/message-delete": 3ee93b06f3a125850337602bcdf155d2538c43a5c944ec55b1b3c365152d6796 "event:feedback/message-put": 3b04fde0dc763cf84fbde7b6611b3194dd56d95d0c0bf0204311640468d586e1 "event:feedback/record": fb9df8180a202f3c845d5aa6a81697b2f7213f6735abc17535a55656be60a575 "event:goal/change": 763c8a20af487263a0080548274f7437ef4a86e0ba8769127d1ced10a72c664d "event:hook/invoked": 8a6e1ec9e8db346b0e02f027db73c07a94f067a26d40c1aef1abd09c47ce7ba0 "event:hook/result": e75916628f3f10c2d50658bd143052a46285fbf1a9a700ba54947614603d26b4 "event:llm/retry": 91c397f8f870e812e1dc5ac69c2745f9f105be9dc97dadc980d19ef415a65145 "event:llm/retry-started": 48e5c9861f16ac07e78cb7b5ae9dabdf7bb85c58baed5a51b4ad275050ea58e3 "event:model/selection": 35203ba7ad5ef6f97d556b85df20ae98f04f09c65748cecdf8eefdb8b6405ffc "event:permission/preset": 5c45bf4c544a7211dcd8ba6ba7e5f1bc39b49e7a9df9d5cbdc8e87c22771b37b "event:plan/mode": a7cf43ce7c2a4c038feed1885cd7a00d5c6ee2d90a7e0d56b46f78a3e1ca327f "event:request/context": f6b733e38d46dde3f8ab1ade2be3362abb6642eb97982a98ee64a57ff60d0c28 "event:request/header": 1de6c9c8764045ea9a1357bae6ccbbd57c19f6f337f8f25697c919c7cc9abf16 "event:sandbox/mode": 516da4cdd6d2f1e5ce488e648578ca51f40e458f707b803e5b24de870e799415 "event:schedule/change": 2a7f86849ae54b3398ee49661a757c4fcb59a6192b7036ee2ff514617e13fb42 "event:session-log-deepseek/delivery-accepted": d63b8b8ffad9c02fd80c43a17df4f240c1fe8118ecca9de34f9d5871838ab5b9 "event:session/end-seed": 5e6db6e24948d4a853c71cb9fabd252ad051ce93d4672c1266cf837c1c17b84e "event:session/title": 1b912703e2d64f91c99c675b8f805b01076c8325b905c1218ad81ef0b24909d5 "event:session/title-llm-request": 6091f64d426ada2adc646094a6fe662a1b81d9ee5770929fe76800524e2c89a8 "event:step/end": e0a787e6ec76c7c94fecbc501b489164ab0293db05bc947914077ad01e674f05 "event:step/start": 4513e088d43e6c68425be30451b9f961cc264fe7318ca62681c41d4d78615986 "event:subagent/descriptor": b79ada42962cad0190a9d465805260567621fa3a4abd757eb31e6016b52d5ab5 "event:subagent/model-selection-policy": a6567ccb2e530606b775371eb4fa31468d72084339968e8b0440a516a23b39dc "event:team/member": 4fb59762612c3e3ac3a3bd4f84c9c148d3c3893bd422ba2b201cc039fabd49bc "event:team/message/delivered": 48f9c19417a1abbedfa59f4667bba36b93ac2db407adf5e84cb3ba0de30942cb "event:team/message/queued": 2ffcad547cb840f462eb1849fa5f6cb0e17eb93f5d07cc88b61d749b1b78d632 "event:team/task": d595ec73b32b016a6055333c67a5d646032b22e672da1d4a09c5b1ae398a093a "event:todo/write": b978cff734e62143eb56c9125423ec275405eda969802d42aaf73ecb987d3b26 "event:tool-workflow/agent-end": babf9ee4d1af62bf6c3a8103737f7a5e4e78ce179be835ce05a38803e15884b7 "event:tool-workflow/agent-start": 5f26a6c20b37632f8f57729d171c671def4683d994ac6257a8dffcd855101627 "event:tool-workflow/run-end": 42e0916e0dda5f6d1e7bb05d8514717147c036a79c9f36085683469516c1fd3f "event:tool-workflow/run-start": c1f9e0405de6d18cabb9ee70782a027f9bbdc57e5abec9dcccdd56119e2e9058 "event:tool/call": 3b1be838223869fe0a08210db85bf773796ed3f2373ac16555dff227cade0c48 "event:tool/code-dispatch": f8dc5624cd0c942a069063ae0d90a61d821b4fddd1d967dcded91cf17933e708 "event:tool/code-dispatch-start": 9eb21c10fc675e1fa4184e5eecc9697aa87054ffd836d49428174897f0e64b62 "event:tool/result": eacefd48000720582725ccfc6ff7a0ac02755a1a3c57a8f9754125f99aab6c1b "event:turn/end": 84c24f1209fc3e0153de6ac85d58fd6968b851f955e0e761b92321053956609e "event:turn/start": aa0957eca50aeb28bcd2e6930b95809926edacb550c8c340ba526ba6b861b3d8 "event:user/message": a57a77f18de7b37b724293830a57064696895d69f2afcd2c0264f41cd13ba980 "event:web/deepseek-search-llm-request": cf6e3aaf1e2de6480aa0157730a41b9a492108a55304100b0f7e112711dd4331


<!-- persistence-format-schema:start -->

<a id="schema"></a>
## 完整 schema

[完整机器目录](v2.schema.json)包含 56 个根类型和 435 种可达类型。摘要包含所有引用字段;源码名称和路径描述所选的历史源码树。

### 持久化类型指纹

| 根类型 | 类别 | SHA-256 | 已解析类型 |
|---|---|---|---|
| `SessionHeader` | header | `15918d785bdccedf0dba204622c75591bfb833bbf107ae0894bbc44cfbd73c1d` | [`packages/core/session/src/types.ts#SessionHeader`](#persistence-type-packagescoresessionsrctypestssessionheader) |
| `JsonlHeaderLine` | header | `18ee62b8900a4c3d046700f05d7a4d49d6cab2a660a020c87481d1603dd8bd4f` | [`packages/session/session-persistence-jsonl/src/format.ts#HeaderLine`](#persistence-type-packagessessionsession-persistence-jsonlsrcformattsheaderline) |
| `SessionEventEnvelope` | envelope | `04184edc061905410cc7e3db8d5c7cf393d739c89eb523ba8bad3831fb23ba95` | [`SessionEventEnvelope`](#persistence-type-sessioneventenvelope) |
| `event:agent-preset/selected` | event | `a10c17474eaf2ddab7095a099e0fe3d046fc18e56c3e344fc8894c05ff9ef97b` | [`event:agent-preset/selected`](#persistence-type-eventagent-presetselected) |
| `event:agent/inbox/spliced` | event | `f757322e25914d63799c6235af4ed4b4f36d7d083fef40d6873a45e94fe6ad65` | [`event:agent/inbox/spliced`](#persistence-type-eventagentinboxspliced) |
| `event:approval/asked` | event | `3bfeb47b58606f4661904bc723da612782214c463d01e6d61cd6d6193d7374e1` | [`event:approval/asked`](#persistence-type-eventapprovalasked) |
| `event:approval/decided` | event | `bb1ab3d08f49a9f3b265f844cd78d5c49813062a7b34b54904b426f85d0ff6e3` | [`event:approval/decided`](#persistence-type-eventapprovaldecided) |
| `event:approval/policy` | event | `26718e15e7e395bce9642dba5bbe09b3b1a4ce2213d20d566cd9207d7fc5fb78` | [`event:approval/policy`](#persistence-type-eventapprovalpolicy) |
| `event:assistant/attempt` | event | `3516f54b427775f483febe8e938e4e10f9afd3583610861547bbe2999ed4d8d9` | [`event:assistant/attempt`](#persistence-type-eventassistantattempt) |
| `event:assistant/message` | event | `83f26c7a856f772e6ffd9a5a144e5aaccf771ac54cef41948f99eed99e1a25a7` | [`event:assistant/message`](#persistence-type-eventassistantmessage) |
| `event:command/done` | event | `15196447222782e773eb943c92b18316ce96b9af0f0cfddb6e57ba8274ecc5ff` | [`event:command/done`](#persistence-type-eventcommanddone) |
| `event:command/run` | event | `37184378c6439257d105c4e2022d80fc9c3a3f7c7f6ac661b00bc9f18d871006` | [`event:command/run`](#persistence-type-eventcommandrun) |
| `event:compaction/end` | event | `b0127044ab31a702bddfd785d345f5abd7a70876746e895ce443afa3e60ddf2d` | [`event:compaction/end`](#persistence-type-eventcompactionend) |
| `event:compaction/prune` | event | `7f7fd5a6b0064f597534b29ff62ef26e786dffccf5e14f654a7d4fcea2c35f04` | [`event:compaction/prune`](#persistence-type-eventcompactionprune) |
| `event:compaction/start` | event | `db874d463b0fdec77e9da1c4568f37cb70bd6596781eb93800db44fb8a116965` | [`event:compaction/start`](#persistence-type-eventcompactionstart) |
| `event:compaction/summary` | event | `eb1d32dcd3d76833392f351e039dcbd40686a1ab24b252a7a5003426f9cf4c89` | [`event:compaction/summary`](#persistence-type-eventcompactionsummary) |
| `event:feedback/message-delete` | event | `3ee93b06f3a125850337602bcdf155d2538c43a5c944ec55b1b3c365152d6796` | [`event:feedback/message-delete`](#persistence-type-eventfeedbackmessage-delete) |
| `event:feedback/message-put` | event | `3b04fde0dc763cf84fbde7b6611b3194dd56d95d0c0bf0204311640468d586e1` | [`event:feedback/message-put`](#persistence-type-eventfeedbackmessage-put) |
| `event:feedback/record` | event | `fb9df8180a202f3c845d5aa6a81697b2f7213f6735abc17535a55656be60a575` | [`event:feedback/record`](#persistence-type-eventfeedbackrecord) |
| `event:goal/change` | event | `763c8a20af487263a0080548274f7437ef4a86e0ba8769127d1ced10a72c664d` | [`event:goal/change`](#persistence-type-eventgoalchange) |
| `event:hook/invoked` | event | `8a6e1ec9e8db346b0e02f027db73c07a94f067a26d40c1aef1abd09c47ce7ba0` | [`event:hook/invoked`](#persistence-type-eventhookinvoked) |
| `event:hook/result` | event | `e75916628f3f10c2d50658bd143052a46285fbf1a9a700ba54947614603d26b4` | [`event:hook/result`](#persistence-type-eventhookresult) |
| `event:llm/retry` | event | `91c397f8f870e812e1dc5ac69c2745f9f105be9dc97dadc980d19ef415a65145` | [`event:llm/retry`](#persistence-type-eventllmretry) |
| `event:llm/retry-started` | event | `48e5c9861f16ac07e78cb7b5ae9dabdf7bb85c58baed5a51b4ad275050ea58e3` | [`event:llm/retry-started`](#persistence-type-eventllmretry-started) |
| `event:model/selection` | event | `35203ba7ad5ef6f97d556b85df20ae98f04f09c65748cecdf8eefdb8b6405ffc` | [`event:model/selection`](#persistence-type-eventmodelselection) |
| `event:permission/preset` | event | `5c45bf4c544a7211dcd8ba6ba7e5f1bc39b49e7a9df9d5cbdc8e87c22771b37b` | [`event:permission/preset`](#persistence-type-eventpermissionpreset) |
| `event:plan/mode` | event | `a7cf43ce7c2a4c038feed1885cd7a00d5c6ee2d90a7e0d56b46f78a3e1ca327f` | [`event:plan/mode`](#persistence-type-eventplanmode) |
| `event:request/context` | event | `f6b733e38d46dde3f8ab1ade2be3362abb6642eb97982a98ee64a57ff60d0c28` | [`event:request/context`](#persistence-type-eventrequestcontext) |
| `event:request/header` | event | `1de6c9c8764045ea9a1357bae6ccbbd57c19f6f337f8f25697c919c7cc9abf16` | [`event:request/header`](#persistence-type-eventrequestheader) |
| `event:sandbox/mode` | event | `516da4cdd6d2f1e5ce488e648578ca51f40e458f707b803e5b24de870e799415` | [`event:sandbox/mode`](#persistence-type-eventsandboxmode) |
| `event:schedule/change` | event | `2a7f86849ae54b3398ee49661a757c4fcb59a6192b7036ee2ff514617e13fb42` | [`event:schedule/change`](#persistence-type-eventschedulechange) |
| `event:session-log-deepseek/delivery-accepted` | event | `d63b8b8ffad9c02fd80c43a17df4f240c1fe8118ecca9de34f9d5871838ab5b9` | [`event:session-log-deepseek/delivery-accepted`](#persistence-type-eventsession-log-deepseekdelivery-accepted) |
| `event:session/end-seed` | event | `5e6db6e24948d4a853c71cb9fabd252ad051ce93d4672c1266cf837c1c17b84e` | [`event:session/end-seed`](#persistence-type-eventsessionend-seed) |
| `event:session/title` | event | `1b912703e2d64f91c99c675b8f805b01076c8325b905c1218ad81ef0b24909d5` | [`event:session/title`](#persistence-type-eventsessiontitle) |
| `event:session/title-llm-request` | event | `6091f64d426ada2adc646094a6fe662a1b81d9ee5770929fe76800524e2c89a8` | [`event:session/title-llm-request`](#persistence-type-eventsessiontitle-llm-request) |
| `event:step/end` | event | `e0a787e6ec76c7c94fecbc501b489164ab0293db05bc947914077ad01e674f05` | [`event:step/end`](#persistence-type-eventstepend) |
| `event:step/start` | event | `4513e088d43e6c68425be30451b9f961cc264fe7318ca62681c41d4d78615986` | [`event:step/start`](#persistence-type-eventstepstart) |
| `event:subagent/descriptor` | event | `b79ada42962cad0190a9d465805260567621fa3a4abd757eb31e6016b52d5ab5` | [`event:subagent/descriptor`](#persistence-type-eventsubagentdescriptor) |
| `event:subagent/model-selection-policy` | event | `a6567ccb2e530606b775371eb4fa31468d72084339968e8b0440a516a23b39dc` | [`event:subagent/model-selection-policy`](#persistence-type-eventsubagentmodel-selection-policy) |
| `event:team/member` | event | `4fb59762612c3e3ac3a3bd4f84c9c148d3c3893bd422ba2b201cc039fabd49bc` | [`event:team/member`](#persistence-type-eventteammember) |
| `event:team/message/delivered` | event | `48f9c19417a1abbedfa59f4667bba36b93ac2db407adf5e84cb3ba0de30942cb` | [`event:team/message/delivered`](#persistence-type-eventteammessagedelivered) |
| `event:team/message/queued` | event | `2ffcad547cb840f462eb1849fa5f6cb0e17eb93f5d07cc88b61d749b1b78d632` | [`event:team/message/queued`](#persistence-type-eventteammessagequeued) |
| `event:team/task` | event | `d595ec73b32b016a6055333c67a5d646032b22e672da1d4a09c5b1ae398a093a` | [`event:team/task`](#persistence-type-eventteamtask) |
| `event:todo/write` | event | `b978cff734e62143eb56c9125423ec275405eda969802d42aaf73ecb987d3b26` | [`event:todo/write`](#persistence-type-eventtodowrite) |
| `event:tool-workflow/agent-end` | event | `babf9ee4d1af62bf6c3a8103737f7a5e4e78ce179be835ce05a38803e15884b7` | [`event:tool-workflow/agent-end`](#persistence-type-eventtool-workflowagent-end) |
| `event:tool-workflow/agent-start` | event | `5f26a6c20b37632f8f57729d171c671def4683d994ac6257a8dffcd855101627` | [`event:tool-workflow/agent-start`](#persistence-type-eventtool-workflowagent-start) |
| `event:tool-workflow/run-end` | event | `42e0916e0dda5f6d1e7bb05d8514717147c036a79c9f36085683469516c1fd3f` | [`event:tool-workflow/run-end`](#persistence-type-eventtool-workflowrun-end) |
| `event:tool-workflow/run-start` | event | `c1f9e0405de6d18cabb9ee70782a027f9bbdc57e5abec9dcccdd56119e2e9058` | [`event:tool-workflow/run-start`](#persistence-type-eventtool-workflowrun-start) |
| `event:tool/call` | event | `3b1be838223869fe0a08210db85bf773796ed3f2373ac16555dff227cade0c48` | [`event:tool/call`](#persistence-type-eventtoolcall) |
| `event:tool/code-dispatch` | event | `f8dc5624cd0c942a069063ae0d90a61d821b4fddd1d967dcded91cf17933e708` | [`event:tool/code-dispatch`](#persistence-type-eventtoolcode-dispatch) |
| `event:tool/code-dispatch-start` | event | `9eb21c10fc675e1fa4184e5eecc9697aa87054ffd836d49428174897f0e64b62` | [`event:tool/code-dispatch-start`](#persistence-type-eventtoolcode-dispatch-start) |
| `event:tool/result` | event | `eacefd48000720582725ccfc6ff7a0ac02755a1a3c57a8f9754125f99aab6c1b` | [`event:tool/result`](#persistence-type-eventtoolresult) |
| `event:turn/end` | event | `84c24f1209fc3e0153de6ac85d58fd6968b851f955e0e761b92321053956609e` | [`event:turn/end`](#persistence-type-eventturnend) |
| `event:turn/start` | event | `aa0957eca50aeb28bcd2e6930b95809926edacb550c8c340ba526ba6b861b3d8` | [`event:turn/start`](#persistence-type-eventturnstart) |
| `event:user/message` | event | `a57a77f18de7b37b724293830a57064696895d69f2afcd2c0264f41cd13ba980` | [`event:user/message`](#persistence-type-eventusermessage) |
| `event:web/deepseek-search-llm-request` | event | `cf6e3aaf1e2de6480aa0157730a41b9a492108a55304100b0f7e112711dd4331` | [`event:web/deepseek-search-llm-request`](#persistence-type-eventwebdeepseek-search-llm-request) |

<details>
<summary>完整解析类型</summary>

### 已解析的持久化类型

每个类型定义仅列出一次。引用保留共享和递归关系;定义旁的摘要涵盖其完整可达结构。源码名称和位置标识声明来源,但不参与摘要计算。

<a id="persistence-type-1"></a>

#### `1`

SHA-256: `f88f1b7b6bb733f685f5fb6a8744a5db9199fa53c90463ea1a33bad51153671d`

`1`

<a id="persistence-type-2"></a>

#### `2`

SHA-256: `a0f906856fc06f1c6f2083eb970e5a657a82b1a84c06c095445e5d6d161cda80`

`2`

<a id="persistence-type-aborted"></a>

#### `"aborted"`

SHA-256: `1e0b0b66b6f0c53fc72e52289d06b4708d776f1ca9df4c86a22bff621d403cf0`

`"aborted"`

<a id="persistence-type-active"></a>

#### `"active"`

SHA-256: `c8e6f48878cc2a2f0dc59682280d81f407943fb503f32c64bf9ff3d9393c3eff`

`"active"`

<a id="persistence-type-after"></a>

#### `"after"`

SHA-256: `5b232a9b9bfcc0fc6794dab7865bcf203a65785c5de5aa647a51228bff628413`

`"after"`

<a id="persistence-type-agent-instructions"></a>

#### `"agent-instructions"`

SHA-256: `fbd2c74b346a1595b376139c587fadd23e4a21acc9c0abce342975b6cfc60986`

`"agent-instructions"`

<a id="persistence-type-agent-message"></a>

#### `"agent-message"`

SHA-256: `82470020b5bfcb1a843e2aa05602af7d37df99e82d01f015c7c589ba054fd89d`

`"agent-message"`

<a id="persistence-type-agent-presetselected"></a>

#### `"agent-preset/selected"`

SHA-256: `557e148d30b79ee48645850832b30c717d7c3b64641deb5d6133b8b4e91ee0b8`

`"agent-preset/selected"`

<a id="persistence-type-agentinboxspliced"></a>

#### `"agent/inbox/spliced"`

SHA-256: `829a2fb3be6efd4ba36aef8ed2d381a4c6fb2a0aaf50c823a6f3f8290786b809`

`"agent/inbox/spliced"`

<a id="persistence-type-allowed-once"></a>

#### `"allowed-once"`

SHA-256: `811229eedcec57979dbadca7dbea832a59f8580cff30cb217fca5e2da16314bd`

`"allowed-once"`

<a id="persistence-type-always"></a>

#### `"always"`

SHA-256: `142c37d302aa22a0a57915b5255939d3ca91c1811ca13fddcf84cf76ea00758a`

`"always"`

<a id="persistence-type-append"></a>

#### `"append"`

SHA-256: `e438a9d4fb883b3e4a8d9fc8913aa1550ed50eb384bfbf943100a5605b537498`

`"append"`

<a id="persistence-type-approvalasked"></a>

#### `"approval/asked"`

SHA-256: `cd186c309e2bef305705e1d324139240f5e681f4f6a957d6a25b0225f65560df`

`"approval/asked"`

<a id="persistence-type-approvaldecided"></a>

#### `"approval/decided"`

SHA-256: `378f90f9f6022a0991928a1eaf7991094ea1920fe89a9248358a1da106e1a970`

`"approval/decided"`

<a id="persistence-type-approvalpolicy"></a>

#### `"approval/policy"`

SHA-256: `36d6a9a871d949ea4f3edd919d81d66aa69218bebef38899d2a1282c39420a1f`

`"approval/policy"`

<a id="persistence-type-ask"></a>

#### `"ask"`

SHA-256: `9e07693fd7cd9babe0688c22c986e4d519ae1c0e40eeea13b2dc583bed2abc86`

`"ask"`

<a id="persistence-type-assistant"></a>

#### `"assistant"`

SHA-256: `95c0e88fcf0bafb2087f912ad9e2369de6ae6530cc0c4c2772c96205b57f7f60`

`"assistant"`

<a id="persistence-type-assistantattempt"></a>

#### `"assistant/attempt"`

SHA-256: `e95f957154b2b1b58692af53d4131180b6dd19e2264869f876dbaa959991494e`

`"assistant/attempt"`

<a id="persistence-type-assistantmessage"></a>

#### `"assistant/message"`

SHA-256: `6ab45ac76839722df912f3ba50f1c6b41f2d614bde11f1aabfae04117ccdc80d`

`"assistant/message"`

<a id="persistence-type-at"></a>

#### `"at"`

SHA-256: `17aae616ef020b8b9f011ec398ec935450fb06d3e2a0722c456f63aeaf5ff728`

`"at"`

<a id="persistence-type-block"></a>

#### `"block"`

SHA-256: `1e346446e183ee76f48d7994c97ecb302bddc682abb60b8a10ea0bb26223a69c`

`"block"`

<a id="persistence-type-block-end"></a>

#### `"block-end"`

SHA-256: `eefbea819caeeea91ccb02dfafc16c68dd7f961cf9c1b2be25a2084509cf5c5a`

`"block-end"`

<a id="persistence-type-block-start"></a>

#### `"block-start"`

SHA-256: `cbca49bde16b656d5b8fbe4a8a507769f7b594c6287782b809c03814941bc5e3`

`"block-start"`

<a id="persistence-type-blocked"></a>

#### `"blocked"`

SHA-256: `254dce209e735f9cb6f6b7aec0354712b1611759ec02af4d35a96f2081e666f6`

`"blocked"`

<a id="persistence-type-boolean"></a>

#### `boolean`

SHA-256: `aa93010d0e521ad7c42273f58d5c9b8bf1dfc94edf1b805a3971b364a35c1877`

`boolean`

<a id="persistence-type-canceled"></a>

#### `"canceled"`

SHA-256: `d4e4d575abeb4b72d616dc65c17ac0eaa943cc135609395044c38d5afcb10e31`

`"canceled"`

<a id="persistence-type-cancelled"></a>

#### `"cancelled"`

SHA-256: `2142e391b9ccb60d487afcf373ce74db98d952f69e8289eddb352a7e16e996c5`

`"cancelled"`

<a id="persistence-type-catalog"></a>

#### `"catalog"`

SHA-256: `aec150797b655c5f15ebb7a501454b0c208fbaccec9ace49d7de2171fc02f47d`

`"catalog"`

<a id="persistence-type-change"></a>

#### `"change"`

SHA-256: `f789af5ab844827eb5a4f357c0afae1eeed108c6c22d8ca1a56e586b349a7c85`

`"change"`

<a id="persistence-type-chunk"></a>

#### `"chunk"`

SHA-256: `14230f9b8b5797bb7e8c621fa636531cfbde2ffba1ef5f1fd058216ff21952a0`

`"chunk"`

<a id="persistence-type-claude-code"></a>

#### `"claude-code"`

SHA-256: `aff60ef947c18b012644852bdd0d5bfe72065e061dd563787c76c646b4a10f6b`

`"claude-code"`

<a id="persistence-type-clear"></a>

#### `"clear"`

SHA-256: `e7e154d47d5fbc5366330fb4dade1f108c6dfe4335044d21ded14b7bf1dce084`

`"clear"`

<a id="persistence-type-codex"></a>

#### `"codex"`

SHA-256: `15495614ccfa9cbdeefb0ec2abd76406435f4c6ff3dae42acae8e09ef42025c9`

`"codex"`

<a id="persistence-type-commanddone"></a>

#### `"command/done"`

SHA-256: `8cdd3fdd295cee53035de16a1b23411716f75e9f994fe9510cac5d7fef605c76`

`"command/done"`

<a id="persistence-type-commandrun"></a>

#### `"command/run"`

SHA-256: `f1996af2602e6f62b5ab179ca5c4af00d8753938b74cc6ef102de09e99e74a7e`

`"command/run"`

<a id="persistence-type-compactionend"></a>

#### `"compaction/end"`

SHA-256: `1986c2664009c99155e44795676c887fa67f7c55cd2d5e6b648ff763e0ab033a`

`"compaction/end"`

<a id="persistence-type-compactionprune"></a>

#### `"compaction/prune"`

SHA-256: `10e386801903f9d424602c31d3ff837a94aef623c8b391376d8d9e253525fabe`

`"compaction/prune"`

<a id="persistence-type-compactionstart"></a>

#### `"compaction/start"`

SHA-256: `e2d0367e5716bc188435e51718ebff8ce873190625fa93b1c5331102d98758fa`

`"compaction/start"`

<a id="persistence-type-compactionsummary"></a>

#### `"compaction/summary"`

SHA-256: `ef4f00923b9edbae15c7ef05320280bf61147ca17146cf59690359bfd5e5da45`

`"compaction/summary"`

<a id="persistence-type-complete"></a>

#### `"complete"`

SHA-256: `d9196086e41e4dd5c2ce87f5c25529c8112a1731d258cf0728747d41a9ee3241`

`"complete"`

<a id="persistence-type-completed"></a>

#### `"completed"`

SHA-256: `1ebc6f9ff3aa9e3a38f8695f49bacdab1f8b7a3832741853ca46f40af56ccd01`

`"completed"`

<a id="persistence-type-continuable"></a>

#### `"continuable"`

SHA-256: `e5d3828df1ec3e2a66879de0659e0f4866d9cfffc00825ee731a66f8a0c03d98`

`"continuable"`

<a id="persistence-type-create"></a>

#### `"create"`

SHA-256: `7624ca28c61ca0eaa4f015140f3cea6e0c16cce2f2960fab5f531203d253903e`

`"create"`

<a id="persistence-type-danger-full-access"></a>

#### `"danger-full-access"`

SHA-256: `18fce9540bb20897a66275499faee6b8296c97e9901fa1ff45a191772448ad1a`

`"danger-full-access"`

<a id="persistence-type-delegation"></a>

#### `"delegation"`

SHA-256: `76632533f67879dcb346fcae640540dbc89b2472b0bce88c59f7e48fc5c0e668`

`"delegation"`

<a id="persistence-type-delete"></a>

#### `"delete"`

SHA-256: `d0fbb0ca1bbba059830826f33f801da1aced35a2504376d61e020bdfec8d50c0`

`"delete"`

<a id="persistence-type-deleted"></a>

#### `"deleted"`

SHA-256: `e7e8f1318170b8284f16ab45a557afd4675c96071c0f2a456636481dab20b427`

`"deleted"`

<a id="persistence-type-dispatch"></a>

#### `"dispatch"`

SHA-256: `26c879bdd130e8b8683a6ce588414fad2244783d6573ca399fa0de184a2b0bb1`

`"dispatch"`

<a id="persistence-type-disposed"></a>

#### `"disposed"`

SHA-256: `b38f206d59bad891fa58c89f97a0036987b3defe7685acbd318fa55eb85f9751`

`"disposed"`

<a id="persistence-type-edit"></a>

#### `"edit"`

SHA-256: `ad22a5ca5bbaab2e1440779cd3648e85ddfc6f73b5207394eda699555cf31430`

`"edit"`

<a id="persistence-type-error"></a>

#### `"error"`

SHA-256: `a2be0f0cb59f0d4a06557d45847d1938aced238baa77a6da416e590b8b958553`

`"error"`

<a id="persistence-type-eventagent-presetselected"></a>

#### `event:agent-preset/selected`

SHA-256: `a10c17474eaf2ddab7095a099e0fe3d046fc18e56c3e344fc8894c05ff9ef97b`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:agent-preset/selected[0].data`](#persistence-type-eventagent-presetselected0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"agent-preset/selected"` |

<a id="persistence-type-eventagent-presetselected0data"></a>

#### `event:agent-preset/selected[0].data`

SHA-256: `6e52dd55a1d48954ed5464ec46fe34d9eb65f709baabc9561e7a279910b0c406`

来源:`packages/preset/agent-presets/src/session.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `agentPreset` | 必需 | `string` |

<a id="persistence-type-eventagentinboxspliced"></a>

#### `event:agent/inbox/spliced`

SHA-256: `f757322e25914d63799c6235af4ed4b4f36d7d083fef40d6873a45e94fe6ad65`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:agent/inbox/spliced[0].data`](#persistence-type-eventagentinboxspliced0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"agent/inbox/spliced"` |

<a id="persistence-type-eventagentinboxspliced0data"></a>

#### `event:agent/inbox/spliced[0].data`

SHA-256: `7115142af1bff1ad9b52c3c785109bf5c989e77e3ddfe899014e213731352042`

来源:`packages/core/agent/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `inserted` | 必需 | [`event:agent/inbox/spliced[0].data.inserted`](#persistence-type-eventagentinboxspliced0datainserted) |
| `outcome` | 可选 | `"canceled"` |
| `removedCount` | 可选 | `number` |
| `start` | 必需 | `number` |
| `target` | 必需 | [`packages/core/agent/src/types.ts#InboxTarget`](#persistence-type-packagescoreagentsrctypestsinboxtarget) |

<a id="persistence-type-eventagentinboxspliced0datainserted"></a>

#### `event:agent/inbox/spliced[0].data.inserted`

SHA-256: `86560bf0779bb2d93975405fe895d9d42c1020ab49fbbd2a06e1b3c74fbbc257`

[`packages/llm/llm/src/message.ts#UserMessage`](#persistence-type-packagesllmllmsrcmessagetsusermessage) 的数组。

<a id="persistence-type-eventagentinboxspliced0datainserted0content"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].content`

SHA-256: `0e560aad8fa9f338a60e76cbce6593ce93486ab30d6dd7833b8b5b07c6e6963d`

[`packages/llm/llm/src/types.ts#ContentBlock`](#persistence-type-packagesllmllmsrctypestscontentblock) 的数组。

<a id="persistence-type-eventagentinboxspliced0datainserted0content02attachmentoriginaldimensions"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].content[0][2].attachment.originalDimensions`

SHA-256: `0f46153645c297846a3fad3911636659ca4717a5e7d71c9f50bffacd312115ef`

来源:`packages/attachment/attachment/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `height` | 必需 | `number` |
| `width` | 必需 | `number` |

<a id="persistence-type-eventagentinboxspliced0datainserted0source0"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[0]`

SHA-256: `ada310bf0bdb8fed51f3b56ea63f6ea6b18bbd587f04fccb63a14ab0b2a24e05`

来源:`packages/core/session/src/types.ts` · `packages/interaction/commands/src/types.ts` · `packages/llm/llm/src/message.ts` · `packages/session/session-title/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"user"` |

<a id="persistence-type-eventagentinboxspliced0datainserted0source1"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[1]`

SHA-256: `0ddab4577db37a3e0d9e3a91761735c8ef6f5629d526ab8ecaeeea19c097c8f8`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"plugin"` |
| `plugin` | 必需 | `string` |

<a id="persistence-type-eventagentinboxspliced0datainserted0source10"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[10]`

SHA-256: `6a4f72e2e179e17b922f2a9392c0e1c8f8c707f32494372454850a3eb184a6e7`

来源:`packages/api/session-controller/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `clientTimeZone` | 可选 | `string` |
| `kind` | 必需 | `"user"` |
| `rpcId` | 必需 | `string` |

<a id="persistence-type-eventagentinboxspliced0datainserted0source15references"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[15].references`

SHA-256: `df843efd87c78cf8de98f8e0d0216956cd568d0d0e56a22c853663e274aa1a18`

[`event:agent/inbox/spliced[0].data.inserted[0].source[15].references[0]`](#persistence-type-eventagentinboxspliced0datainserted0source15references0) 的数组。

<a id="persistence-type-eventagentinboxspliced0datainserted0source15references0"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[15].references[0]`

SHA-256: `4f91f187baeabef5c7950c4780d31bbe39f3345dff591a6cf26ac7e135ac1cf4`

来源:`packages/context/session-reference/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `capturedFormatVersion` | 可选 | `number` |
| `capturedThroughSeq` | 必需 | [`event:compaction/end[0].data.turn`](#persistence-type-eventcompactionend0dataturn) |
| `compacted` | 必需 | `boolean` |
| `inputIndex` | 必需 | `number` |
| `label` | 必需 | `string` |
| `omittedBytes` | 必需 | `number` |
| `omittedMessages` | 必需 | `number` |
| `originalMessages` | 必需 | `number` |
| `retainedMessages` | 必需 | `number` |
| `sessionId` | 必需 | `string` |
| `truncated` | 必需 | `boolean` |

<a id="persistence-type-eventagentinboxspliced0datainserted0source16entries"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[16].entries`

SHA-256: `aba175fb20ffc71112c55efe70458ff5d7dbfb83501892b4ba8d077f0ea5d7ba`

[`event:agent/inbox/spliced[0].data.inserted[0].source[16].entries[0]`](#persistence-type-eventagentinboxspliced0datainserted0source16entries0) 的数组。

<a id="persistence-type-eventagentinboxspliced0datainserted0source16entries0"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[16].entries[0]`

SHA-256: `83079c8a3f733ac3fa603eefa0fbb4737ca4d8b69e7e2e7298b60f9ac4098693`

来源:`packages/skill/tool-skill/src/index.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `description` | 必需 | `string` |
| `name` | 必需 | `string` |

<a id="persistence-type-eventagentinboxspliced0datainserted0source17changes"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[17].changes`

SHA-256: `2ab12a0e345658f9342816d773fe610f049982bcad82631f43b9205abe43e5ee`

[`packages/context/agent-instructions/src/render.ts#AgentInstructionChange`](#persistence-type-packagescontextagent-instructionssrcrendertsagentinstructionchange) 的数组。

<a id="persistence-type-eventagentinboxspliced0datainserted0source17changes0action"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[17].changes[0].action`

SHA-256: `904bf499d98be4a3a5f836fcac533b6c4899569b018071e6604e1d32657d00fd`

以下类型之一:

- `"remove"`
- `"replace"`
- `"set"`

<a id="persistence-type-eventagentinboxspliced0datainserted0source19"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[19]`

SHA-256: `9edc162949abf93bd5ff049191b345454ba104f583937ce5580fb50f067d2b94`

来源:`packages/webhook/webhook/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `deliveryId` | 必需 | `string` |
| `form` | 必需 | `"notice"` |
| `kind` | 必需 | `"webhook"` |
| `provider` | 必需 | `string` |
| `ruleId` | 必需 | `string` |
| `source` | 必需 | `string` |
| `summary` | 必需 | `string` |

<a id="persistence-type-eventagentinboxspliced0datainserted0source2"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[2]`

SHA-256: `dda6e111a8ccfc12f6e742e977a1a4e3549e8c03732a5ff6c8d7c3d4bcb7a412`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `form` | 必需 | `"instructions"` |
| `kind` | 必需 | `"plugin"` |
| `plugin` | 必需 | `string` |

<a id="persistence-type-eventagentinboxspliced0datainserted0source3"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[3]`

SHA-256: `2f90a7b3646fea3e677bd7b4000aa96f3b8964f107b614e204e11ad4051c24fc`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `form` | 必需 | `"catalog"` |
| `kind` | 必需 | `"plugin"` |
| `plugin` | 必需 | `string` |

<a id="persistence-type-eventagentinboxspliced0datainserted0source4"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[4]`

SHA-256: `e8d26e6993445743e6c4342c31b284c7d8f5574369abdd6021183af1a6b3538f`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `form` | 必需 | `"snapshot"` |
| `kind` | 必需 | `"plugin"` |
| `plugin` | 必需 | `string` |
| `sections` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].source[4].sections`](#persistence-type-eventagentinboxspliced0datainserted0source4sections) |

<a id="persistence-type-eventagentinboxspliced0datainserted0source4sections"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[4].sections`

SHA-256: `c748fb42c80a120038a8c587af80ec39924803c401364db11c8974d5bf6d0262`

[`packages/llm/llm/src/message.ts#ContextSnapshotSection`](#persistence-type-packagesllmllmsrcmessagetscontextsnapshotsection) 的数组。

<a id="persistence-type-eventagentinboxspliced0datainserted0source5"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[5]`

SHA-256: `b4d298d90c798fa4d1f5b030ce3ce8031c4c41beafdb05323bec8b2a06903b43`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `form` | 必需 | `"notice"` |
| `kind` | 必需 | `"plugin"` |
| `plugin` | 必需 | `string` |
| `summary` | 必需 | `string` |

<a id="persistence-type-eventagentinboxspliced0datainserted0source6"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[6]`

SHA-256: `2ce7ef3b3daebf95815c7ae454a751d3e67ca7a22e2e0734fe2942df393bb66c`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `form` | 必需 | `"relay"` |
| `kind` | 必需 | `"plugin"` |
| `plugin` | 必需 | `string` |

<a id="persistence-type-eventagentinboxspliced0datainserted0source7"></a>

#### `event:agent/inbox/spliced[0].data.inserted[0].source[7]`

SHA-256: `85e1bd563d6c80c1f377f99f91103fec4e315148a7330f3b3dae7c2d04e33b01`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `form` | 必需 | `"recall"` |
| `kind` | 必需 | `"plugin"` |
| `plugin` | 必需 | `string` |

<a id="persistence-type-eventapprovalasked"></a>

#### `event:approval/asked`

SHA-256: `3bfeb47b58606f4661904bc723da612782214c463d01e6d61cd6d6193d7374e1`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:approval/asked[0].data`](#persistence-type-eventapprovalasked0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"approval/asked"` |

<a id="persistence-type-eventapprovalasked0data"></a>

#### `event:approval/asked[0].data`

SHA-256: `45f2a07ea94573123b6ae14db787a40062dec3834f36d8be92c523d40ba28448`

来源:`packages/interaction/user-approval/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `callId` | 可选 | `string` |
| `id` | 必需 | `string` |
| `reason` | 可选 | `string` |
| `toolName` | 必需 | `string` |

<a id="persistence-type-eventapprovaldecided"></a>

#### `event:approval/decided`

SHA-256: `bb1ab3d08f49a9f3b265f844cd78d5c49813062a7b34b54904b426f85d0ff6e3`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:approval/decided[0].data`](#persistence-type-eventapprovaldecided0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"approval/decided"` |

<a id="persistence-type-eventapprovaldecided0data"></a>

#### `event:approval/decided[0].data`

SHA-256: `93cbbc5a7fd0b1aa1ff1b9a6bb5ec52b073f48e5a5200365c45c0cd54059e1b9`

来源:`packages/interaction/user-approval/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `id` | 必需 | `string` |
| `outcome` | 必需 | [`packages/interaction/user-approval/src/types.ts#ApprovalOutcome`](#persistence-type-packagesinteractionuser-approvalsrctypestsapprovaloutcome) |

<a id="persistence-type-eventapprovalpolicy"></a>

#### `event:approval/policy`

SHA-256: `26718e15e7e395bce9642dba5bbe09b3b1a4ce2213d20d566cd9207d7fc5fb78`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:approval/policy[0].data`](#persistence-type-eventapprovalpolicy0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"approval/policy"` |

<a id="persistence-type-eventapprovalpolicy0data"></a>

#### `event:approval/policy[0].data`

SHA-256: `11f70b595aa76897fc4e25a352bfa718c659f44b799e5aa14e84e5a38fe72912`

来源:`packages/interaction/user-approval/src/index.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `policy` | 必需 | [`packages/interaction/user-approval/src/index.ts#ApprovalPolicy`](#persistence-type-packagesinteractionuser-approvalsrcindextsapprovalpolicy) |
| `source` | 可选 | `"delegation"` |

<a id="persistence-type-eventassistantattempt"></a>

#### `event:assistant/attempt`

SHA-256: `3516f54b427775f483febe8e938e4e10f9afd3583610861547bbe2999ed4d8d9`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:assistant/attempt[0].data`](#persistence-type-eventassistantattempt0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"assistant/attempt"` |

<a id="persistence-type-eventassistantattempt0data"></a>

#### `event:assistant/attempt[0].data`

SHA-256: `8725743fcd3db5ddaf3e0aed550cd5d95785d8e30c9d4cbec11b7c90198d3603`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `step` | 必需 | `number` |
| `stream` | 必需 | [`event:assistant/attempt[0].data.stream`](#persistence-type-eventassistantattempt0datastream) |
| `turn` | 必需 | `number` |

<a id="persistence-type-eventassistantattempt0datastream"></a>

#### `event:assistant/attempt[0].data.stream`

SHA-256: `86755151e6c4694ce5ae9511313e1e50f9fb6ead49c67d0a93c056e8650396c4`

[`packages/llm/llm/src/assistant-stream.ts#AssistantStreamRecord`](#persistence-type-packagesllmllmsrcassistant-streamtsassistantstreamrecord) 的数组。

<a id="persistence-type-eventassistantattempt0datastream00"></a>

#### `event:assistant/attempt[0].data.stream[0][0]`

SHA-256: `e72269f931559e901e5e8fe1cfcbd0669fb795f43cc038ff39fba62f60403c33`

来源:`packages/llm/llm/src/assistant-stream.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `dt` | 必需 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `index` | 必需 | `number` |
| `texts` | 必需 | [`event:assistant/attempt[0].data.stream[0][0].texts`](#persistence-type-eventassistantattempt0datastream00texts) |
| `time0` | 必需 | `number` |
| `type` | 必需 | `"text-chunks"` |

<a id="persistence-type-eventassistantattempt0datastream00texts"></a>

#### `event:assistant/attempt[0].data.stream[0][0].texts`

SHA-256: `93c33d9687613293f8c95d46c4d922fe9ceae83b84c384beff5c3315abe005f2`

`string` 的数组。

<a id="persistence-type-eventassistantattempt0datastream01"></a>

#### `event:assistant/attempt[0].data.stream[0][1]`

SHA-256: `71bb3254ec8f1e491ce63b762a7b5f18709de23aa4e8abcc8b886f4b6ce051dd`

来源:`packages/llm/llm/src/assistant-stream.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `dt` | 必需 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `index` | 必需 | `number` |
| `texts` | 必需 | [`event:assistant/attempt[0].data.stream[0][0].texts`](#persistence-type-eventassistantattempt0datastream00texts) |
| `time0` | 必需 | `number` |
| `type` | 必需 | `"reasoning-chunks"` |

<a id="persistence-type-eventassistantattempt0datastream02"></a>

#### `event:assistant/attempt[0].data.stream[0][2]`

SHA-256: `3860b4757d512a2869be833acb0faf834335b1b056bf3f83df5474dce95f8fa6`

来源:`packages/llm/llm/src/assistant-stream.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `args` | 必需 | [`event:assistant/attempt[0].data.stream[0][0].texts`](#persistence-type-eventassistantattempt0datastream00texts) |
| `dt` | 必需 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `id` | 必需 | `string` |
| `index` | 必需 | `number` |
| `name` | 可选 | `string` |
| `time0` | 必需 | `number` |
| `type` | 必需 | `"tool-call-chunks"` |

<a id="persistence-type-eventassistantattempt0datastream03"></a>

#### `event:assistant/attempt[0].data.stream[0][3]`

SHA-256: `3a896379a74576c5a527e4720be2fe6807d3225c27134e978a2b89a94068368e`

来源:`packages/llm/llm/src/assistant-stream.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `chunk` | 必需 | [`packages/llm/llm/src/types.ts#StreamChunk`](#persistence-type-packagesllmllmsrctypestsstreamchunk) |
| `time` | 必需 | `number` |
| `type` | 必需 | `"chunk"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk0"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[0]`

SHA-256: `647cb2e3aeb58e27d1d4d60011f208bb66dce257e8654193c533b47c4c22c253`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `blockType` | 必需 | [`packages/llm/llm/src/types.ts#ContentBlockType`](#persistence-type-packagesllmllmsrctypestscontentblocktype) |
| `index` | 必需 | `number` |
| `type` | 必需 | `"block-start"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk1"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[1]`

SHA-256: `95080295115fbd83544520ba247b68a03790131f6a2eac323d388758cb542f65`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `index` | 必需 | `number` |
| `text` | 必需 | `string` |
| `type` | 必需 | `"text-delta"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk2"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[2]`

SHA-256: `2abb711460e6238d851c30f3e4bdd87a2aa1887ee70575b3d3b7b25610673095`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `index` | 必需 | `number` |
| `text` | 必需 | `string` |
| `type` | 必需 | `"reasoning-delta"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk3"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[3]`

SHA-256: `88a610b831be6d92612a464be5c7d0b88ec24d97bd299837bf74bf7672183c9a`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `argumentsDelta` | 必需 | `string` |
| `id` | 必需 | `string` |
| `index` | 必需 | `number` |
| `name` | 可选 | `string` |
| `type` | 必需 | `"tool-call-delta"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk4"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[4]`

SHA-256: `6326a7ecfed005f3d54b737ab9d702da4daddb75cfc635d9096e9abb4788024e`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `block` | 必需 | [`packages/llm/llm/src/types.ts#ContentBlock`](#persistence-type-packagesllmllmsrctypestscontentblock) |
| `index` | 必需 | `number` |
| `type` | 必需 | `"block-end"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk5"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[5]`

SHA-256: `f1a96afe7503ac1817de769cd0ba13d9b80111c7034c50106b3344ecc14cc515`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `type` | 必需 | `"usage"` |
| `usage` | 必需 | [`packages/llm/llm/src/types.ts#TokenUsage`](#persistence-type-packagesllmllmsrctypeststokenusage) |

<a id="persistence-type-eventassistantattempt0datastream03chunk6"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[6]`

SHA-256: `a4ed3446d32625902170fce527fb64a0283d6f4817930f54a16fdce3a482b36a`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `reason` | 必需 | [`packages/llm/llm/src/types.ts#FinishReason`](#persistence-type-packagesllmllmsrctypestsfinishreason) |
| `replayState` | 可选 | [`packages/llm/llm/src/types.ts#ReplayEnvelope`](#persistence-type-packagesllmllmsrctypestsreplayenvelope) |
| `type` | 必需 | `"finish"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk6reason0"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[6].reason[0]`

SHA-256: `64cfc4dbd3739f0ee040689482cb27058890f1d6113abb1de756836318aeebbc`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `failure` | 必需 | [`packages/llm/llm/src/types.ts#LlmFailure`](#persistence-type-packagesllmllmsrctypestsllmfailure) |
| `kind` | 必需 | `"aborted"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk6reason1"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[6].reason[1]`

SHA-256: `ca13866102dfc53a503fccddeebc9caf667b8a06ef27217dd65de29f0495e65d`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `failure` | 必需 | [`packages/llm/llm/src/types.ts#LlmFailure`](#persistence-type-packagesllmllmsrctypestsllmfailure) |
| `kind` | 必需 | `"error"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk6reason2"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[6].reason[2]`

SHA-256: `ab7ec5f9eb2c6dfacca5da4c37cf7ba85d04172053ee6b1ebf1709ffcd99c1a7`

来源:`packages/core/session/src/types.ts` · `packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"max-tokens"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk6reason3"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[6].reason[3]`

SHA-256: `1d76406cbb2ddadb0dbbb51e9d8bc6cf678fed455cf8eb512f36f7c86d37a62f`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"stop"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk6reason4"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[6].reason[4]`

SHA-256: `287211846beea1eccb5f9acee00d20388a38fcb2e95858fa2332d6f58529379a`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"tool-calls"` |

<a id="persistence-type-eventassistantattempt0datastream03chunk6replaystateblocks"></a>

#### `event:assistant/attempt[0].data.stream[0][3].chunk[6].replayState.blocks`

SHA-256: `b1664fa89f8eab49a14e7e3168d8bc4da4aa9fd76332f6c4a053d839e5276ae7`

`unknown`(不透明) 的数组。

<a id="persistence-type-eventassistantmessage"></a>

#### `event:assistant/message`

SHA-256: `83f26c7a856f772e6ffd9a5a144e5aaccf771ac54cef41948f99eed99e1a25a7`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:assistant/message.data`](#persistence-type-eventassistantmessagedata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `sourceEventSeqs` | 可选 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `surfaceOp` | 可选 | [`SessionEventEnvelope[48].surfaceOp`](#persistence-type-sessioneventenvelope48surfaceop) |
| `time` | 必需 | `number` |
| `type` | 必需 | `"assistant/message"` |

<a id="persistence-type-eventassistantmessagedata"></a>

#### `event:assistant/message.data`

SHA-256: `a2418dd9dd938f04a3eaf1f27694b33facfb931b6e495dcfb4d5fcfa2ef82b28`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `interrupted` | 可选 | `true` |
| `message` | 必需 | [`packages/llm/llm/src/message.ts#AssistantMessage`](#persistence-type-packagesllmllmsrcmessagetsassistantmessage) |
| `step` | 必需 | `number` |
| `stream` | 必需 | [`event:assistant/attempt[0].data.stream`](#persistence-type-eventassistantattempt0datastream) |
| `turn` | 必需 | `number` |
| `usage` | 可选 | [`packages/llm/llm/src/types.ts#TokenUsage`](#persistence-type-packagesllmllmsrctypeststokenusage) |

<a id="persistence-type-eventcommanddone"></a>

#### `event:command/done`

SHA-256: `15196447222782e773eb943c92b18316ce96b9af0f0cfddb6e57ba8274ecc5ff`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:command/done[0].data`](#persistence-type-eventcommanddone0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"command/done"` |

<a id="persistence-type-eventcommanddone0data"></a>

#### `event:command/done[0].data`

SHA-256: `5b6fb1f226ff56402db08a6aae82af76100b14056271875f69ec526a1ae05d51`

来源:`packages/interaction/commands/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `commandId` | 必需 | `string` |
| `kind` | 必需 | [`event:command/done[0].data.kind`](#persistence-type-eventcommanddone0datakind) |
| `sourceEventSeq` | 可选 | `number` |
| `text` | 可选 | `string` |

<a id="persistence-type-eventcommanddone0datakind"></a>

#### `event:command/done[0].data.kind`

SHA-256: `1ab2ef1296f157ba96998f179bb5daa9d21a82480da2901127aeab2730797c92`

以下类型之一:

- `"error"`
- `"success"`

<a id="persistence-type-eventcommandrun"></a>

#### `event:command/run`

SHA-256: `37184378c6439257d105c4e2022d80fc9c3a3f7c7f6ac661b00bc9f18d871006`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:command/run[0].data`](#persistence-type-eventcommandrun0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"command/run"` |

<a id="persistence-type-eventcommandrun0data"></a>

#### `event:command/run[0].data`

SHA-256: `a853902cfab417b8f08aa51ad6855fea46f34ed4588a74e47403035111d0fb86`

来源:`packages/interaction/commands/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `args` | 可选 | `string` |
| `commandId` | 必需 | `string` |
| `name` | 必需 | `string` |
| `source` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].source[0]`](#persistence-type-eventagentinboxspliced0datainserted0source0) |

<a id="persistence-type-eventcompactionend"></a>

#### `event:compaction/end`

SHA-256: `b0127044ab31a702bddfd785d345f5abd7a70876746e895ce443afa3e60ddf2d`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:compaction/end[0].data`](#persistence-type-eventcompactionend0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"compaction/end"` |

<a id="persistence-type-eventcompactionend0data"></a>

#### `event:compaction/end[0].data`

SHA-256: `ca59530d1a4f3e191b4032bc4a20eded0d827db8b5a7efb27b3af9e9b456c6f2`

来源:`packages/compaction/compaction/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `compactionId` | 必需 | `string` |
| `error` | 可选 | `string` |
| `sourceCommandId` | 可选 | `string` |
| `turn` | 必需 | [`event:compaction/end[0].data.turn`](#persistence-type-eventcompactionend0dataturn) |

<a id="persistence-type-eventcompactionend0dataturn"></a>

#### `event:compaction/end[0].data.turn`

SHA-256: `3bd652ebfa8726b3ce3937a4f1bd2759e02f86b3a08a20f9e41a8513656fbc5f`

来源:`packages/core/session/src/types.ts`

以下类型之一:

- `null`
- `number`

<a id="persistence-type-eventcompactionprune"></a>

#### `event:compaction/prune`

SHA-256: `7f7fd5a6b0064f597534b29ff62ef26e786dffccf5e14f654a7d4fcea2c35f04`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:compaction/prune[0].data`](#persistence-type-eventcompactionprune0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"compaction/prune"` |

<a id="persistence-type-eventcompactionprune0data"></a>

#### `event:compaction/prune[0].data`

SHA-256: `5dd766ccd1702a1142ad8b4bd44f2242f8e8a6752669ad3de0a5d224329b1438`

来源:`packages/compaction/compaction/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `shadowedRange` | 必需 | [`event:compaction/prune[0].data.shadowedRange`](#persistence-type-eventcompactionprune0datashadowedrange) |
| `shadowedSeqs` | 必需 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `shadowedTokenCount` | 必需 | `number` |

<a id="persistence-type-eventcompactionprune0datashadowedrange"></a>

#### `event:compaction/prune[0].data.shadowedRange`

SHA-256: `9e41386b3a0c9572b0d63078492ebb3997da7d3a830d44e0259418bd02f4bcb2`

来源:`packages/compaction/compaction/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `end` | 必需 | `number` |
| `start` | 必需 | `number` |

<a id="persistence-type-eventcompactionstart"></a>

#### `event:compaction/start`

SHA-256: `db874d463b0fdec77e9da1c4568f37cb70bd6596781eb93800db44fb8a116965`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:compaction/start[0].data`](#persistence-type-eventcompactionstart0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"compaction/start"` |

<a id="persistence-type-eventcompactionstart0data"></a>

#### `event:compaction/start[0].data`

SHA-256: `3e4e7683b0192c9f0e6a75c59076108f017892cdb302a98032c2632fd79c356f`

来源:`packages/compaction/compaction/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `compactionId` | 必需 | `string` |
| `sourceCommandId` | 可选 | `string` |
| `turn` | 必需 | [`event:compaction/end[0].data.turn`](#persistence-type-eventcompactionend0dataturn) |

<a id="persistence-type-eventcompactionsummary"></a>

#### `event:compaction/summary`

SHA-256: `eb1d32dcd3d76833392f351e039dcbd40686a1ab24b252a7a5003426f9cf4c89`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:compaction/summary[0].data`](#persistence-type-eventcompactionsummary0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"compaction/summary"` |

<a id="persistence-type-eventcompactionsummary0data"></a>

#### `event:compaction/summary[0].data`

SHA-256: `0a6fae8c3249943e23a024ae6c0d9dd707df9bff0badc69786f0dc8ad9482d8e`

以下类型之一:

- [`event:compaction/summary[0].data[0]`](#persistence-type-eventcompactionsummary0data0)
- [`event:compaction/summary[0].data[1]`](#persistence-type-eventcompactionsummary0data1)

<a id="persistence-type-eventcompactionsummary0data0"></a>

#### `event:compaction/summary[0].data[0]`

SHA-256: `1e75cbc0af53f62e5685d751108dc9f6320fe835aed222e579a2a0080dc8fc59`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `compactionId` | 必需 | `string` |
| `llmStreamCall` | 必需 | `true` |
| `maxTokens` | 可选 | `number` |
| `model` | 必需 | `string` |
| `provider` | 必需 | `string` |
| `rawOutput` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].content`](#persistence-type-eventagentinboxspliced0datainserted0content) |
| `shadowedRange` | 必需 | [`event:compaction/prune[0].data.shadowedRange`](#persistence-type-eventcompactionprune0datashadowedrange) |
| `shadowedSeqs` | 必需 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `shadowedTokenCount` | 必需 | `number` |
| `sourceCommandId` | 可选 | `string` |
| `summary` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].content`](#persistence-type-eventagentinboxspliced0datainserted0content) |
| `usage` | 可选 | [`packages/llm/llm/src/types.ts#TokenUsage`](#persistence-type-packagesllmllmsrctypeststokenusage) |

<a id="persistence-type-eventcompactionsummary0data1"></a>

#### `event:compaction/summary[0].data[1]`

SHA-256: `ac5a8baa3dda8fa667b4975d6a8b40a9bde47d8d754ca8ed6b8ce923a1651828`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `compactionId` | 必需 | `string` |
| `maxTokens` | 可选 | `number` |
| `model` | 必需 | `string` |
| `provider` | 必需 | `string` |
| `rawOutput` | 可选 | [`event:agent/inbox/spliced[0].data.inserted[0].content`](#persistence-type-eventagentinboxspliced0datainserted0content) |
| `shadowedRange` | 必需 | [`event:compaction/prune[0].data.shadowedRange`](#persistence-type-eventcompactionprune0datashadowedrange) |
| `shadowedSeqs` | 必需 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `shadowedTokenCount` | 必需 | `number` |
| `sourceCommandId` | 可选 | `string` |
| `summary` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].content`](#persistence-type-eventagentinboxspliced0datainserted0content) |
| `usage` | 可选 | [`packages/llm/llm/src/types.ts#TokenUsage`](#persistence-type-packagesllmllmsrctypeststokenusage) |

<a id="persistence-type-eventfeedbackmessage-delete"></a>

#### `event:feedback/message-delete`

SHA-256: `3ee93b06f3a125850337602bcdf155d2538c43a5c944ec55b1b3c365152d6796`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/feedback/message-feedback/src/types.ts#MessageFeedbackDelete`](#persistence-type-packagesfeedbackmessage-feedbacksrctypestsmessagefeedbackdelete) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"feedback/message-delete"` |

<a id="persistence-type-eventfeedbackmessage-put"></a>

#### `event:feedback/message-put`

SHA-256: `3b04fde0dc763cf84fbde7b6611b3194dd56d95d0c0bf0204311640468d586e1`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/feedback/message-feedback/src/types.ts#MessageFeedbackPut`](#persistence-type-packagesfeedbackmessage-feedbacksrctypestsmessagefeedbackput) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"feedback/message-put"` |

<a id="persistence-type-eventfeedbackrecord"></a>

#### `event:feedback/record`

SHA-256: `fb9df8180a202f3c845d5aa6a81697b2f7213f6735abc17535a55656be60a575`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:feedback/record[0].data`](#persistence-type-eventfeedbackrecord0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"feedback/record"` |

<a id="persistence-type-eventfeedbackrecord0data"></a>

#### `event:feedback/record[0].data`

SHA-256: `fc362d6c3bc744ee54ea7e008f30aff28f240db9d9882faec31b12982b643d5c`

来源:`packages/feedback/command-feedback/src/index.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `text` | 必需 | `string` |

<a id="persistence-type-eventgoalchange"></a>

#### `event:goal/change`

SHA-256: `763c8a20af487263a0080548274f7437ef4a86e0ba8769127d1ced10a72c664d`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/goal/goal/src/domain.ts#GoalChangeMeta`](#persistence-type-packagesgoalgoalsrcdomaintsgoalchangemeta) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"goal/change"` |

<a id="persistence-type-eventgoalchange0data0operation"></a>

#### `event:goal/change[0].data[0].operation`

SHA-256: `62e6a429ff3f390a46ac39fb468692032f42936ca0db19b53454184189401379`

以下类型之一:

- `"block"`
- `"complete"`
- `"create"`
- `"edit"`
- `"pause"`
- `"resume"`

<a id="persistence-type-eventhookinvoked"></a>

#### `event:hook/invoked`

SHA-256: `8a6e1ec9e8db346b0e02f027db73c07a94f067a26d40c1aef1abd09c47ce7ba0`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:hook/invoked[0].data`](#persistence-type-eventhookinvoked0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"hook/invoked"` |

<a id="persistence-type-eventhookinvoked0data"></a>

#### `event:hook/invoked[0].data`

SHA-256: `119abe2b9c0b2f46ecb31d82b9acba4d4b30e049f655e2475e8b4ae12d5a9e25`

来源:`packages/hooks/hook-protocol/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `dialect` | 必需 | [`packages/hooks/hook-protocol/src/types.ts#HookDialect`](#persistence-type-packageshookshook-protocolsrctypestshookdialect) |
| `handlerId` | 必需 | `string` |
| `matcher` | 可选 | `string` |
| `point` | 必需 | `string` |
| `turn` | 必需 | `number` |

<a id="persistence-type-eventhookresult"></a>

#### `event:hook/result`

SHA-256: `e75916628f3f10c2d50658bd143052a46285fbf1a9a700ba54947614603d26b4`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:hook/result[0].data`](#persistence-type-eventhookresult0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"hook/result"` |

<a id="persistence-type-eventhookresult0data"></a>

#### `event:hook/result[0].data`

SHA-256: `8ad45ad053b4d89f8865c17cc9ff3b8748e86045f3f0fb816269a34af2619141`

来源:`packages/hooks/hook-protocol/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `decision` | 必需 | `string` |
| `durationMs` | 必需 | `number` |
| `exitCode` | 可选 | `number` |
| `handlerId` | 必需 | `string` |
| `point` | 必需 | `string` |
| `stderrSummary` | 可选 | `string` |
| `turn` | 必需 | `number` |

<a id="persistence-type-eventllmretry"></a>

#### `event:llm/retry`

SHA-256: `91c397f8f870e812e1dc5ac69c2745f9f105be9dc97dadc980d19ef415a65145`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/llm/llm-retry/src/types.ts#LlmRetryEventData`](#persistence-type-packagesllmllm-retrysrctypestsllmretryeventdata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"llm/retry"` |

<a id="persistence-type-eventllmretry-started"></a>

#### `event:llm/retry-started`

SHA-256: `48e5c9861f16ac07e78cb7b5ae9dabdf7bb85c58baed5a51b4ad275050ea58e3`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/llm/llm-retry/src/types.ts#LlmRetryStartedEventData`](#persistence-type-packagesllmllm-retrysrctypestsllmretrystartedeventdata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"llm/retry-started"` |

<a id="persistence-type-eventllmretry0data0"></a>

#### `event:llm/retry[0].data[0]`

SHA-256: `9096d1dd86a3da77a593e12cd95e596b2ef965fa94fcbee40e4bdcf0433924a1`

来源:`packages/llm/llm-retry/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `delayMs` | 必需 | `number` |
| `failure` | 必需 | [`packages/llm/llm/src/types.ts#LlmFailure`](#persistence-type-packagesllmllmsrctypestsllmfailure) |
| `maxRetries` | 必需 | `number` |
| `mode` | 必需 | `"normal"` |
| `policyKey` | 必需 | `string` |
| `provider` | 必需 | `string` |
| `retry` | 必需 | `number` |
| `retryId` | 必需 | `string` |
| `step` | 必需 | `number` |
| `turn` | 必需 | `number` |

<a id="persistence-type-eventllmretry0data1"></a>

#### `event:llm/retry[0].data[1]`

SHA-256: `c0f91c064454e9ae25a4b5caacdc487712aee3acf414b07b7d5f7fd3530a0452`

来源:`packages/llm/llm-retry/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `delayMs` | 必需 | `number` |
| `failure` | 必需 | [`packages/llm/llm/src/types.ts#LlmFailure`](#persistence-type-packagesllmllmsrctypestsllmfailure) |
| `mode` | 必需 | `"always"` |
| `policyKey` | 必需 | `string` |
| `provider` | 必需 | `string` |
| `retry` | 必需 | `number` |
| `retryId` | 必需 | `string` |
| `step` | 必需 | `number` |
| `turn` | 必需 | `number` |

<a id="persistence-type-eventmodelselection"></a>

#### `event:model/selection`

SHA-256: `35203ba7ad5ef6f97d556b85df20ae98f04f09c65748cecdf8eefdb8b6405ffc`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/api/session-controller/src/types.ts#ModelSelection`](#persistence-type-packagesapisession-controllersrctypestsmodelselection) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"model/selection"` |

<a id="persistence-type-eventpermissionpreset"></a>

#### `event:permission/preset`

SHA-256: `5c45bf4c544a7211dcd8ba6ba7e5f1bc39b49e7a9df9d5cbdc8e87c22771b37b`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:permission/preset[0].data`](#persistence-type-eventpermissionpreset0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"permission/preset"` |

<a id="persistence-type-eventpermissionpreset0data"></a>

#### `event:permission/preset[0].data`

SHA-256: `8a9c990773f798eac10ca8878e6bcc531ee080bc589cac956730e462cc6a09ad`

来源:`packages/interaction/permission-presets/src/index.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `preset` | 必需 | `string` |

<a id="persistence-type-eventplanmode"></a>

#### `event:plan/mode`

SHA-256: `a7cf43ce7c2a4c038feed1885cd7a00d5c6ee2d90a7e0d56b46f78a3e1ca327f`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:plan/mode[0].data`](#persistence-type-eventplanmode0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"plan/mode"` |

<a id="persistence-type-eventplanmode0data"></a>

#### `event:plan/mode[0].data`

SHA-256: `20a57544bbf204dacd1ae6beb2ab29444365c3c869f2afdf489dcdcbc3d9c8c5`

来源:`packages/plan/plan-mode/src/index.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `active` | 必需 | `boolean` |

<a id="persistence-type-eventrequestcontext"></a>

#### `event:request/context`

SHA-256: `f6b733e38d46dde3f8ab1ade2be3362abb6642eb97982a98ee64a57ff60d0c28`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/core/session/src/types.ts#RequestContext`](#persistence-type-packagescoresessionsrctypestsrequestcontext) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"request/context"` |

<a id="persistence-type-eventrequestheader"></a>

#### `event:request/header`

SHA-256: `1de6c9c8764045ea9a1357bae6ccbbd57c19f6f337f8f25697c919c7cc9abf16`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:request/header[0].data`](#persistence-type-eventrequestheader0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"request/header"` |

<a id="persistence-type-eventrequestheader0data"></a>

#### `event:request/header[0].data`

SHA-256: `fbda9b55390689333793c34f6229ad46b21fbc45e5171ae74d2d436c60aa4e51`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `header` | 必需 | [`packages/core/session/src/types.ts#EpochHeader`](#persistence-type-packagescoresessionsrctypestsepochheader) |
| `reason` | 必需 | [`packages/core/session/src/types.ts#RequestHeaderReason`](#persistence-type-packagescoresessionsrctypestsrequestheaderreason) |
| `startsSeries` | 可选 | `true` |

<a id="persistence-type-eventrequestheader0dataheadertools"></a>

#### `event:request/header[0].data.header.tools`

SHA-256: `6d63f25a28b70801937a46b1058be5f52d4efbaf3516141470463ae469b59c23`

[`packages/llm/llm/src/types.ts#ToolSchema`](#persistence-type-packagesllmllmsrctypeststoolschema) 的数组。

<a id="persistence-type-eventrequestheader0dataheadertools0parameters"></a>

#### `event:request/header[0].data.header.tools[0].parameters`

SHA-256: `0aa62ab51b36c0e64b134bd03ba8725d758744180a1a447da49beaad194f219f`

| 属性 | 存在性 | 类型 |
|---|---|---|
| [`string`] | 索引签名 | `unknown`(不透明) |

<a id="persistence-type-eventsandboxmode"></a>

#### `event:sandbox/mode`

SHA-256: `516da4cdd6d2f1e5ce488e648578ca51f40e458f707b803e5b24de870e799415`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:sandbox/mode[0].data`](#persistence-type-eventsandboxmode0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"sandbox/mode"` |

<a id="persistence-type-eventsandboxmode0data"></a>

#### `event:sandbox/mode[0].data`

SHA-256: `9890113e97dd3541787bfe6704f2b223d3a890b5325ca0acae2b0398909b413e`

来源:`packages/sandbox/sandbox-policy/src/session-mode.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `mode` | 必需 | [`packages/sandbox/sandbox/src/index.ts#SandboxMode`](#persistence-type-packagessandboxsandboxsrcindextssandboxmode) |
| `source` | 可选 | `"delegation"` |

<a id="persistence-type-eventschedulechange"></a>

#### `event:schedule/change`

SHA-256: `2a7f86849ae54b3398ee49661a757c4fcb59a6192b7036ee2ff514617e13fb42`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/schedule/schedule/src/types.ts#ScheduleChange`](#persistence-type-packagesscheduleschedulesrctypestsschedulechange) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"schedule/change"` |

<a id="persistence-type-eventsession-log-deepseekdelivery-accepted"></a>

#### `event:session-log-deepseek/delivery-accepted`

SHA-256: `d63b8b8ffad9c02fd80c43a17df4f240c1fe8118ecca9de34f9d5871838ab5b9`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:session-log-deepseek/delivery-accepted[0].data`](#persistence-type-eventsession-log-deepseekdelivery-accepted0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"session-log-deepseek/delivery-accepted"` |

<a id="persistence-type-eventsession-log-deepseekdelivery-accepted0data"></a>

#### `event:session-log-deepseek/delivery-accepted[0].data`

SHA-256: `8bb8c3751a6ce64b61aba1ec7ae798c00a5803c4d868a0430873216c6569ed52`

来源:`packages/session/session-log-deepseek/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `sessionFormatVersion` | 可选 | `number` |
| `sessionId` | 必需 | `string` |
| `throughSeq` | 必需 | `number` |

<a id="persistence-type-eventsessionend-seed"></a>

#### `event:session/end-seed`

SHA-256: `5e6db6e24948d4a853c71cb9fabd252ad051ce93d4672c1266cf837c1c17b84e`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:session/end-seed[0].data`](#persistence-type-eventsessionend-seed0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"session/end-seed"` |

<a id="persistence-type-eventsessionend-seed0data"></a>

#### `event:session/end-seed[0].data`

SHA-256: `17d1afb770d9941936130996da00dc86782cfef731d8d6526162c301256a4ac3`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `inherited` | 可选 | `true` |

<a id="persistence-type-eventsessiontitle"></a>

#### `event:session/title`

SHA-256: `1b912703e2d64f91c99c675b8f805b01076c8325b905c1218ad81ef0b24909d5`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/session/session-title/src/types.ts#SessionTitleEventData`](#persistence-type-packagessessionsession-titlesrctypestssessiontitleeventdata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"session/title"` |

<a id="persistence-type-eventsessiontitle-llm-request"></a>

#### `event:session/title-llm-request`

SHA-256: `6091f64d426ada2adc646094a6fe662a1b81d9ee5770929fe76800524e2c89a8`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/session/session-title-llm/src/index.ts#SessionTitleLlmRequestEventData`](#persistence-type-packagessessionsession-title-llmsrcindextssessiontitlellmrequesteventdata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"session/title-llm-request"` |

<a id="persistence-type-eventsessiontitle-llm-request0datamessages"></a>

#### `event:session/title-llm-request[0].data.messages`

SHA-256: `f3cfc98798d8b0e726ee22b05b13ada5cb19e9cdbe105ef3529699de99ce357a`

[`packages/llm/llm/src/message.ts#Message`](#persistence-type-packagesllmllmsrcmessagetsmessage) 的数组。

<a id="persistence-type-eventsessiontitle-llm-request0datamessages0role"></a>

#### `event:session/title-llm-request[0].data.messages[0].role`

SHA-256: `acd36e1717d2b4ef9e98a8e6fac17ca1203f3f448e5bca51677f129a8f4999e2`

以下类型之一:

- `"assistant"`
- `"system"`
- `"user"`

<a id="persistence-type-eventsessiontitle0datasource0"></a>

#### `event:session/title[0].data.source[0]`

SHA-256: `1b5649238876e28811e80f10ec67a00c197ad3babd4ecc61a22b09064b88c597`

来源:`packages/session/session-title/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"fallback"` |

<a id="persistence-type-eventsessiontitle0datasource1"></a>

#### `event:session/title[0].data.source[1]`

SHA-256: `b81e9de81a481b24e1e1f9adf038bfc59e57b4f35ce62f8f1e45284186f4f812`

来源:`packages/session/session-title/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"provider"` |
| `model` | 可选 | [`packages/session/session-title/src/types.ts#SessionTitleModelProvenance`](#persistence-type-packagessessionsession-titlesrctypestssessiontitlemodelprovenance) |
| `provider` | 必需 | `string` |

<a id="persistence-type-eventstepend"></a>

#### `event:step/end`

SHA-256: `e0a787e6ec76c7c94fecbc501b489164ab0293db05bc947914077ad01e674f05`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:step/end[0].data`](#persistence-type-eventstepend0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"step/end"` |

<a id="persistence-type-eventstepend0data"></a>

#### `event:step/end[0].data`

SHA-256: `ef11a3b7fa2033ae4279545ff8a8a2ee4e301b9b73e5b91654c48e6d08283545`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `step` | 必需 | `number` |
| `turn` | 必需 | `number` |

<a id="persistence-type-eventstepstart"></a>

#### `event:step/start`

SHA-256: `4513e088d43e6c68425be30451b9f961cc264fe7318ca62681c41d4d78615986`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:step/end[0].data`](#persistence-type-eventstepend0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"step/start"` |

<a id="persistence-type-eventsubagentdescriptor"></a>

#### `event:subagent/descriptor`

SHA-256: `b79ada42962cad0190a9d465805260567621fa3a4abd757eb31e6016b52d5ab5`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/subagent/subagent/src/descriptor.ts#SubagentDescriptorData`](#persistence-type-packagessubagentsubagentsrcdescriptortssubagentdescriptordata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"subagent/descriptor"` |

<a id="persistence-type-eventsubagentmodel-selection-policy"></a>

#### `event:subagent/model-selection-policy`

SHA-256: `a6567ccb2e530606b775371eb4fa31468d72084339968e8b0440a516a23b39dc`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:subagent/model-selection-policy[0].data`](#persistence-type-eventsubagentmodel-selection-policy0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"subagent/model-selection-policy"` |

<a id="persistence-type-eventsubagentmodel-selection-policy0data"></a>

#### `event:subagent/model-selection-policy[0].data`

SHA-256: `0d47a8f3d847243c4488e755ad4cab7a04ac5d4621b9c81865524cf3f4d8536f`

来源:`packages/subagent/tool-subagent/src/model-selection-state.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `allowedModels` | 必需 | [`event:subagent/model-selection-policy[0].data.allowedModels`](#persistence-type-eventsubagentmodel-selection-policy0dataallowedmodels) |

<a id="persistence-type-eventsubagentmodel-selection-policy0dataallowedmodels"></a>

#### `event:subagent/model-selection-policy[0].data.allowedModels`

SHA-256: `ba77b58995e36f14bb13886b0493d0a1a63d5db10b1a6cd9f6ac65a72cf832ec`

[`packages/session/session-title/src/types.ts#SessionTitleModelProvenance`](#persistence-type-packagessessionsession-titlesrctypestssessiontitlemodelprovenance) 的数组。

<a id="persistence-type-eventteammember"></a>

#### `event:team/member`

SHA-256: `4fb59762612c3e3ac3a3bd4f84c9c148d3c3893bd422ba2b201cc039fabd49bc`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:team/member[0].data`](#persistence-type-eventteammember0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"team/member"` |

<a id="persistence-type-eventteammember0data"></a>

#### `event:team/member[0].data`

SHA-256: `b1ebd5cda47d90d980bb05bffc3f970c51537b9aff15b3bc3d639811727741b1`

来源:`packages/experimental/agent-team/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `member` | 必需 | [`packages/experimental/agent-team/src/types.ts#TeamMemberSnapshot`](#persistence-type-packagesexperimentalagent-teamsrctypeststeammembersnapshot) |
| `teamId` | 必需 | `string` |
| `version` | 必需 | `2` |

<a id="persistence-type-eventteammember0datamembercontext"></a>

#### `event:team/member[0].data.member.context`

SHA-256: `50cf02d875f8a1f1411f4a6fbcffab9120ccef5f74a47331fbf29480e5f68f48`

以下类型之一:

- `"fork"`
- `"fresh"`

<a id="persistence-type-eventteammessagedelivered"></a>

#### `event:team/message/delivered`

SHA-256: `48f9c19417a1abbedfa59f4667bba36b93ac2db407adf5e84cb3ba0de30942cb`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:team/message/delivered[0].data`](#persistence-type-eventteammessagedelivered0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"team/message/delivered"` |

<a id="persistence-type-eventteammessagedelivered0data"></a>

#### `event:team/message/delivered[0].data`

SHA-256: `0bcfaf5566d271028429ac7b562cb59053c9d78b8ae14708c35fac835108d1b1`

来源:`packages/experimental/agent-team/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `messageId` | 必需 | `string` |
| `targetId` | 必需 | `string` |
| `teamId` | 必需 | `string` |
| `version` | 必需 | `2` |

<a id="persistence-type-eventteammessagequeued"></a>

#### `event:team/message/queued`

SHA-256: `2ffcad547cb840f462eb1849fa5f6cb0e17eb93f5d07cc88b61d749b1b78d632`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:team/message/queued[0].data`](#persistence-type-eventteammessagequeued0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"team/message/queued"` |

<a id="persistence-type-eventteammessagequeued0data"></a>

#### `event:team/message/queued[0].data`

SHA-256: `6132f7814b28287473605ebc6dacd63c7c699435452487da6152bc735b8ba8c4`

来源:`packages/experimental/agent-team/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `message` | 必需 | [`packages/experimental/agent-team/src/types.ts#TeamMessageSnapshot`](#persistence-type-packagesexperimentalagent-teamsrctypeststeammessagesnapshot) |
| `teamId` | 必需 | `string` |
| `version` | 必需 | `2` |

<a id="persistence-type-eventteamtask"></a>

#### `event:team/task`

SHA-256: `d595ec73b32b016a6055333c67a5d646032b22e672da1d4a09c5b1ae398a093a`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:team/task[0].data`](#persistence-type-eventteamtask0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"team/task"` |

<a id="persistence-type-eventteamtask0data"></a>

#### `event:team/task[0].data`

SHA-256: `a40d12070f6f4a124f32fb3cc86e7857554702e32f0eda3080a25c4b9ac9b18c`

来源:`packages/experimental/agent-team/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `task` | 必需 | [`packages/experimental/agent-team/src/types.ts#TeamTaskSnapshot`](#persistence-type-packagesexperimentalagent-teamsrctypeststeamtasksnapshot) |
| `teamId` | 必需 | `string` |
| `version` | 必需 | `2` |

<a id="persistence-type-eventtodowrite"></a>

#### `event:todo/write`

SHA-256: `b978cff734e62143eb56c9125423ec275405eda969802d42aaf73ecb987d3b26`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:todo/write[0].data`](#persistence-type-eventtodowrite0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"todo/write"` |

<a id="persistence-type-eventtodowrite0data"></a>

#### `event:todo/write[0].data`

SHA-256: `79ddc907312f97cf9553d4841e8b3fc937097bd8d97900a790efad3c05255e99`

来源:`packages/todo/tool-todo/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `todos` | 必需 | [`event:todo/write[0].data.todos`](#persistence-type-eventtodowrite0datatodos) |

<a id="persistence-type-eventtodowrite0datatodos"></a>

#### `event:todo/write[0].data.todos`

SHA-256: `4b7ddaf3710b88ff9b8df66304f5f97bf03688fd19730eedc2e9535203c820ea`

[`packages/todo/tool-todo/src/types.ts#TodoItem`](#persistence-type-packagestodotool-todosrctypeststodoitem) 的数组。

<a id="persistence-type-eventtodowrite0datatodos0status"></a>

#### `event:todo/write[0].data.todos[0].status`

SHA-256: `fd0d91a1f9dd2efb8959bdf5e07f8f0a98b1cdfa38ce8d4732ebde0b44c3abd4`

以下类型之一:

- `"completed"`
- `"in_progress"`
- `"pending"`

<a id="persistence-type-eventtool-workflowagent-end"></a>

#### `event:tool-workflow/agent-end`

SHA-256: `babf9ee4d1af62bf6c3a8103737f7a5e4e78ce179be835ce05a38803e15884b7`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/workflow/tool-workflow/src/types.ts#ToolWorkflowAgentEndData`](#persistence-type-packagesworkflowtool-workflowsrctypeststoolworkflowagentenddata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"tool-workflow/agent-end"` |

<a id="persistence-type-eventtool-workflowagent-start"></a>

#### `event:tool-workflow/agent-start`

SHA-256: `5f26a6c20b37632f8f57729d171c671def4683d994ac6257a8dffcd855101627`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/workflow/tool-workflow/src/types.ts#ToolWorkflowAgentStartData`](#persistence-type-packagesworkflowtool-workflowsrctypeststoolworkflowagentstartdata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"tool-workflow/agent-start"` |

<a id="persistence-type-eventtool-workflowrun-end"></a>

#### `event:tool-workflow/run-end`

SHA-256: `42e0916e0dda5f6d1e7bb05d8514717147c036a79c9f36085683469516c1fd3f`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/workflow/tool-workflow/src/types.ts#ToolWorkflowRunEndData`](#persistence-type-packagesworkflowtool-workflowsrctypeststoolworkflowrunenddata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"tool-workflow/run-end"` |

<a id="persistence-type-eventtool-workflowrun-start"></a>

#### `event:tool-workflow/run-start`

SHA-256: `c1f9e0405de6d18cabb9ee70782a027f9bbdc57e5abec9dcccdd56119e2e9058`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/workflow/tool-workflow/src/types.ts#ToolWorkflowRunStartData`](#persistence-type-packagesworkflowtool-workflowsrctypeststoolworkflowrunstartdata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"tool-workflow/run-start"` |

<a id="persistence-type-eventtoolcall"></a>

#### `event:tool/call`

SHA-256: `3b1be838223869fe0a08210db85bf773796ed3f2373ac16555dff227cade0c48`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:tool/call[0].data`](#persistence-type-eventtoolcall0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"tool/call"` |

<a id="persistence-type-eventtoolcall0data"></a>

#### `event:tool/call[0].data`

SHA-256: `e4c18e294232c3ba6c9f1999f168263cc55956147cfe4121720899be8e52edd1`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `arguments` | 必需 | `string` |
| `callId` | 必需 | `string` |
| `name` | 必需 | `string` |
| `step` | 必需 | `number` |
| `turn` | 必需 | `number` |

<a id="persistence-type-eventtoolcode-dispatch"></a>

#### `event:tool/code-dispatch`

SHA-256: `f8dc5624cd0c942a069063ae0d90a61d821b4fddd1d967dcded91cf17933e708`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/core/tools/src/types.ts#PtcDispatchEventData`](#persistence-type-packagescoretoolssrctypestsptcdispatcheventdata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"tool/code-dispatch"` |

<a id="persistence-type-eventtoolcode-dispatch-start"></a>

#### `event:tool/code-dispatch-start`

SHA-256: `9eb21c10fc675e1fa4184e5eecc9697aa87054ffd836d49428174897f0e64b62`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/core/tools/src/types.ts#PtcDispatchStartEventData`](#persistence-type-packagescoretoolssrctypestsptcdispatchstarteventdata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"tool/code-dispatch-start"` |

<a id="persistence-type-eventtoolresult"></a>

#### `event:tool/result`

SHA-256: `eacefd48000720582725ccfc6ff7a0ac02755a1a3c57a8f9754125f99aab6c1b`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:tool/result.data`](#persistence-type-eventtoolresultdata) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `sourceEventSeqs` | 可选 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `surfaceOp` | 可选 | [`SessionEventEnvelope[48].surfaceOp`](#persistence-type-sessioneventenvelope48surfaceop) |
| `time` | 必需 | `number` |
| `type` | 必需 | `"tool/result"` |

<a id="persistence-type-eventtoolresultdata"></a>

#### `event:tool/result.data`

SHA-256: `a1082bd67be26461ebcc4cc9caba60ef548cd6ec625b51558d5cfa5b6b38718a`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `error` | 可选 | [`event:tool/result.data.error`](#persistence-type-eventtoolresultdataerror) |
| `message` | 必需 | [`packages/llm/llm/src/message.ts#ToolResultMessage`](#persistence-type-packagesllmllmsrcmessagetstoolresultmessage) |
| `meta` | 可选 | [`event:tool/result.data.meta`](#persistence-type-eventtoolresultdatameta) |
| `step` | 必需 | `number` |
| `turn` | 必需 | `number` |

<a id="persistence-type-eventtoolresultdataerror"></a>

#### `event:tool/result.data.error`

SHA-256: `55e3b6df99b0d19241e57618b04b84824c3df80ed102e440719139300ea703f6`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `code` | 必需 | `string` |
| `name` | 必需 | `string` |

<a id="persistence-type-eventtoolresultdatamessagecontent"></a>

#### `event:tool/result.data.message.content`

SHA-256: `5eedf09e88b5ed9ca2d5efdb5a32cd4f51352564af5ff82927c17d841a2e3d9e`

| 位置 | 存在性 | 类型 |
|---|---|---|
| 0 | 必需 | [`packages/llm/llm/src/types.ts#ToolResultBlock`](#persistence-type-packagesllmllmsrctypeststoolresultblock) |

<a id="persistence-type-eventtoolresultdatameta"></a>

#### `event:tool/result.data.meta`

SHA-256: `c592ce75aab73fcab19c1d7845684c72cf402b78d2e1f2833a58ecf9f3598ed6`

来源:`packages/util/values/src/index.ts`

以下类型之一:

- [`event:tool/result.data.meta[5]`](#persistence-type-eventtoolresultdatameta5)
- [`event:tool/result.data.meta[5][0][6]`](#persistence-type-eventtoolresultdatameta506)
- `string`
- `boolean`
- `null`
- `number`

<a id="persistence-type-eventtoolresultdatameta5"></a>

#### `event:tool/result.data.meta[5]`

SHA-256: `72ec79127a9c0d0241b1106a74cc2b24c81ce467170f1c3c93f7b71a9496d227`

[`event:tool/result.data.meta`](#persistence-type-eventtoolresultdatameta) 的数组。

<a id="persistence-type-eventtoolresultdatameta506"></a>

#### `event:tool/result.data.meta[5][0][6]`

SHA-256: `529e0ccd0e34079ab4ff21ed87f810cee0388246263bf22e8aba5986b56fae05`

来源:`packages/util/values/src/index.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| [`string`] | 索引签名 | [`event:tool/result.data.meta`](#persistence-type-eventtoolresultdatameta) |

<a id="persistence-type-eventturnend"></a>

#### `event:turn/end`

SHA-256: `84c24f1209fc3e0153de6ac85d58fd6968b851f955e0e761b92321053956609e`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:turn/end[0].data`](#persistence-type-eventturnend0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"turn/end"` |

<a id="persistence-type-eventturnend0data"></a>

#### `event:turn/end[0].data`

SHA-256: `508c0856b8df8574e396880a756f087699b138630428441fefca4a4380f01a28`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `reason` | 必需 | [`packages/core/session/src/types.ts#TurnEndReason`](#persistence-type-packagescoresessionsrctypeststurnendreason) |
| `turn` | 必需 | `number` |

<a id="persistence-type-eventturnend0datareason0"></a>

#### `event:turn/end[0].data.reason[0]`

SHA-256: `b6ef9c6210be8350cd465f485cf520031fffa6bf3809c61a1e713e834c5982d0`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"completed"` |

<a id="persistence-type-eventturnend0datareason1"></a>

#### `event:turn/end[0].data.reason[1]`

SHA-256: `0a30c3be336cdd4f8f34e66543a3d46d611c43986edd9b3ce6cbb9b721d3b5d3`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"aborted"` |
| `reason` | 必需 | [`packages/core/session/src/types.ts#TurnEndCancelCause`](#persistence-type-packagescoresessionsrctypeststurnendcancelcause) |

<a id="persistence-type-eventturnend0datareason1reason1"></a>

#### `event:turn/end[0].data.reason[1].reason[1]`

SHA-256: `6c03546143cdf6ae88f1745ac98c5139efa1588d1415249bbc5f3104d32ab800`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"parent"` |

<a id="persistence-type-eventturnend0datareason1reason2"></a>

#### `event:turn/end[0].data.reason[1].reason[2]`

SHA-256: `6c5a37d42ebdb12db4410699259335f1e149e3a0260425684c00b153afc8990d`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"hook"` |
| `reason` | 必需 | `string` |

<a id="persistence-type-eventturnend0datareason1reason3"></a>

#### `event:turn/end[0].data.reason[1].reason[3]`

SHA-256: `4bb451330ff699f36b45539ceb0eb2606ead72084e2c5bb637c36cc80e2252db`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"disposed"` |

<a id="persistence-type-eventturnend0datareason1reason4"></a>

#### `event:turn/end[0].data.reason[1].reason[4]`

SHA-256: `eaa71be0fbf0f702df8ea6c11d0aa2f9782263d45a10d0fb14eda662f4bfe04c`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"legacy"` |

<a id="persistence-type-eventturnend0datareason2"></a>

#### `event:turn/end[0].data.reason[2]`

SHA-256: `023a355b2be0d688fb6e4df8388dadb942761d46cfe96d0f499aae9631a159d4`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"blocked"` |

<a id="persistence-type-eventturnend0datareason3"></a>

#### `event:turn/end[0].data.reason[3]`

SHA-256: `3dad205ad99fbda835c493ddc6bc93fe1441cef2f82774ffa2856364e2cede22`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `error` | 必需 | [`packages/llm/llm/src/types.ts#LlmFailure`](#persistence-type-packagesllmllmsrctypestsllmfailure) |
| `kind` | 必需 | `"error"` |

<a id="persistence-type-eventturnend0datareason5"></a>

#### `event:turn/end[0].data.reason[5]`

SHA-256: `56b7c047694875a843ba020dfea3c8380d54ae4ff88ab349e72004dc21e07c23`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"interrupted"` |

<a id="persistence-type-eventturnstart"></a>

#### `event:turn/start`

SHA-256: `aa0957eca50aeb28bcd2e6930b95809926edacb550c8c340ba526ba6b861b3d8`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`event:turn/start[0].data`](#persistence-type-eventturnstart0data) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"turn/start"` |

<a id="persistence-type-eventturnstart0data"></a>

#### `event:turn/start[0].data`

SHA-256: `f90eb4ab2d3897bc20c521a038e3119d581f791ec974b1a0004f63a8ab9e232d`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `turn` | 必需 | `number` |

<a id="persistence-type-eventusermessage"></a>

#### `event:user/message`

SHA-256: `a57a77f18de7b37b724293830a57064696895d69f2afcd2c0264f41cd13ba980`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/llm/llm/src/message.ts#UserMessage`](#persistence-type-packagesllmllmsrcmessagetsusermessage) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `sourceEventSeqs` | 可选 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `surfaceOp` | 可选 | [`SessionEventEnvelope[48].surfaceOp`](#persistence-type-sessioneventenvelope48surfaceop) |
| `time` | 必需 | `number` |
| `type` | 必需 | `"user/message"` |

<a id="persistence-type-eventwebdeepseek-search-llm-request"></a>

#### `event:web/deepseek-search-llm-request`

SHA-256: `cf6e3aaf1e2de6480aa0157730a41b9a492108a55304100b0f7e112711dd4331`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `data` | 必需 | [`packages/web/web-search-deepseek/src/provider.ts#DeepSeekSearchLlmRequest`](#persistence-type-packageswebweb-search-deepseeksrcprovidertsdeepseeksearchllmrequest) |
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `"web/deepseek-search-llm-request"` |

<a id="persistence-type-eventwebdeepseek-search-llm-request0databody"></a>

#### `event:web/deepseek-search-llm-request[0].data.body`

SHA-256: `930a6567a10bb62ddd157bd8abdf4b182810c8c3b49d91309b3b009a5fed9731`

来源:`packages/web/web-search-deepseek/src/provider.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `max_tokens` | 必需 | `number` |
| `messages` | 必需 | [`event:web/deepseek-search-llm-request[0].data.body.messages`](#persistence-type-eventwebdeepseek-search-llm-request0databodymessages) |
| `model` | 必需 | `string` |
| `tools` | 必需 | [`event:web/deepseek-search-llm-request[0].data.body.tools`](#persistence-type-eventwebdeepseek-search-llm-request0databodytools) |

<a id="persistence-type-eventwebdeepseek-search-llm-request0databodymessages"></a>

#### `event:web/deepseek-search-llm-request[0].data.body.messages`

SHA-256: `b993441f8ce7d27b80e619e113e232ae8e62d3d5a8340f6bfe12d8c4c018e62f`

| 位置 | 存在性 | 类型 |
|---|---|---|
| 0 | 必需 | [`event:web/deepseek-search-llm-request[0].data.body.messages[0]`](#persistence-type-eventwebdeepseek-search-llm-request0databodymessages0) |

<a id="persistence-type-eventwebdeepseek-search-llm-request0databodymessages0"></a>

#### `event:web/deepseek-search-llm-request[0].data.body.messages[0]`

SHA-256: `9a2a9029f8d7ede05336980d8342737557f487b913bfd28853d0ab5214600ab5`

来源:`packages/web/web-search-deepseek/src/provider.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `content` | 必需 | [`event:web/deepseek-search-llm-request[0].data.body.messages[0].content`](#persistence-type-eventwebdeepseek-search-llm-request0databodymessages0content) |
| `role` | 必需 | `"user"` |

<a id="persistence-type-eventwebdeepseek-search-llm-request0databodymessages0content"></a>

#### `event:web/deepseek-search-llm-request[0].data.body.messages[0].content`

SHA-256: `8f6d609794bf5afc01d7ccf3e03811d32f4b8047f58a2c9a98db0154c2ad7cb9`

| 位置 | 存在性 | 类型 |
|---|---|---|
| 0 | 必需 | [`event:web/deepseek-search-llm-request[0].data.body.messages[0].content[0]`](#persistence-type-eventwebdeepseek-search-llm-request0databodymessages0content0) |

<a id="persistence-type-eventwebdeepseek-search-llm-request0databodymessages0content0"></a>

#### `event:web/deepseek-search-llm-request[0].data.body.messages[0].content[0]`

SHA-256: `4e887768586528565381dadbddee6cef555874148089f4579e0b4b1ad096fc9c`

来源:`packages/llm/llm/src/types.ts` · `packages/web/web-search-deepseek/src/provider.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `text` | 必需 | `string` |
| `type` | 必需 | `"text"` |

<a id="persistence-type-eventwebdeepseek-search-llm-request0databodytools"></a>

#### `event:web/deepseek-search-llm-request[0].data.body.tools`

SHA-256: `4aed17ec726b5397c29f6cb4bcd7905dc1a12bb6140f1657f073cd24380f2af8`

| 位置 | 存在性 | 类型 |
|---|---|---|
| 0 | 必需 | [`event:web/deepseek-search-llm-request[0].data.body.tools[0]`](#persistence-type-eventwebdeepseek-search-llm-request0databodytools0) |

<a id="persistence-type-eventwebdeepseek-search-llm-request0databodytools0"></a>

#### `event:web/deepseek-search-llm-request[0].data.body.tools[0]`

SHA-256: `2d11ca7b0d4493e244b74eba093227866b33249841e59a1e9bf56afed38604c3`

来源:`packages/web/web-search-deepseek/src/provider.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `max_uses` | 必需 | `number` |
| `name` | 必需 | `"web_search"` |
| `type` | 必需 | `"web_search_20250305"` |

<a id="persistence-type-every"></a>

#### `"every"`

SHA-256: `e42b0f40b5d0b628c6e1c44a8fb9eda0780037a81959e1b93d2dfb47b46b0e87`

`"every"`

<a id="persistence-type-failed"></a>

#### `"failed"`

SHA-256: `b57a2889408de36e4516807194c73bdecd51a92f633ccd05db81bf049200f420`

`"failed"`

<a id="persistence-type-fallback"></a>

#### `"fallback"`

SHA-256: `d6e654b88b584fcdf290a56802b1730bc7b9847ae86baa4265ab7769eb48990c`

`"fallback"`

<a id="persistence-type-feedbackmessage-delete"></a>

#### `"feedback/message-delete"`

SHA-256: `44818000e56acb97afdb5045ce235eb55e3fb1ccabc9fc7d0750bb38f36a7f8e`

`"feedback/message-delete"`

<a id="persistence-type-feedbackmessage-put"></a>

#### `"feedback/message-put"`

SHA-256: `6cda0d6d3b4336d83998fe580628426df81c2afbab5d768b8813b56d569120e8`

`"feedback/message-put"`

<a id="persistence-type-feedbackrecord"></a>

#### `"feedback/record"`

SHA-256: `c99e20441bf15341e9db54385e558e5c03d21dff2eb1ac08ccbf47c2d8747954`

`"feedback/record"`

<a id="persistence-type-file"></a>

#### `"file"`

SHA-256: `277b61f9c6f8170425fa6ffe06cfa14376757a896a4749cb82a687d7364c4fc9`

`"file"`

<a id="persistence-type-finish"></a>

#### `"finish"`

SHA-256: `bd499eac047efe091a4df7382eadd06d25cf0cb31fee3981e8b24d85762841cd`

`"finish"`

<a id="persistence-type-fork"></a>

#### `"fork"`

SHA-256: `2da725e554cd89301d829ed9dc45a572c3cd1b93b5e91d0d71f007976d8a0863`

`"fork"`

<a id="persistence-type-fresh"></a>

#### `"fresh"`

SHA-256: `dd2780e7e07684332f7a9ab047237798d260e7eaffb1321cb38eca695d184c3d`

`"fresh"`

<a id="persistence-type-goal"></a>

#### `"goal"`

SHA-256: `b815d7b91cdd9fc6ccc7dcba05cfc5ce1d55fab5fc0c0801803cd3630cedb602`

`"goal"`

<a id="persistence-type-goalchange"></a>

#### `"goal/change"`

SHA-256: `237c004c73b6b288246816e0d7fde16e09c63a47aa3b1227383d7afe58666163`

`"goal/change"`

<a id="persistence-type-hook"></a>

#### `"hook"`

SHA-256: `dbdafceb9a900183cccc80596498d386f3bf7bddead2b8cfde68453aa4739edc`

`"hook"`

<a id="persistence-type-hookinvoked"></a>

#### `"hook/invoked"`

SHA-256: `b9305f0ea75ccd6a6061c27fde19f2ab85534f9f3c1a717b573b077ebae0f611`

`"hook/invoked"`

<a id="persistence-type-hookresult"></a>

#### `"hook/result"`

SHA-256: `a3a259a1aa5401af786ce08c4a8419681d3000d73467991b5fc563389bc4ebd2`

`"hook/result"`

<a id="persistence-type-image"></a>

#### `"image"`

SHA-256: `fb8b6a2e53cb9cf44c551176de0fb77d1ddc60037b99a891ff8a860b6d5c29a0`

`"image"`

<a id="persistence-type-imagegif"></a>

#### `"image/gif"`

SHA-256: `de30b1fa12c75f81df6aa4096e1595296d2d04e2be14a7c29849cf8028b79048`

`"image/gif"`

<a id="persistence-type-imagejpeg"></a>

#### `"image/jpeg"`

SHA-256: `3f74ba74acd10644c1ed6947a411d8088bd2cfac74f61bb8540f96d68e31f004`

`"image/jpeg"`

<a id="persistence-type-imagepng"></a>

#### `"image/png"`

SHA-256: `58f94390b982f8a5ac1f4f235ba612557f4a1dc4a995d8b1cec63ce7639decb0`

`"image/png"`

<a id="persistence-type-imagewebp"></a>

#### `"image/webp"`

SHA-256: `ebb768d85ec87fb68e42fc14fd7d8535b5ac11791b14d04c6770180f0a719bf8`

`"image/webp"`

<a id="persistence-type-in_progress"></a>

#### `"in_progress"`

SHA-256: `94c56aeb1564ad735eb773d88636b40761d063efa1610f1308004d32923f5378`

`"in_progress"`

<a id="persistence-type-initial"></a>

#### `"initial"`

SHA-256: `e7ce49f12953583fad217bf80fb9f1463acff2c3e9471a823782661675fb124c`

`"initial"`

<a id="persistence-type-instructions"></a>

#### `"instructions"`

SHA-256: `fee1caf8ab6a65c1bc981f5a1730164490f22a2a89ffa3d0b76f1f432c44c8b5`

`"instructions"`

<a id="persistence-type-interrupted"></a>

#### `"interrupted"`

SHA-256: `69d238a6e9b08d67f601b1825962963d8d3523cb69ebf6208c697dc5d058c199`

`"interrupted"`

<a id="persistence-type-legacy"></a>

#### `"legacy"`

SHA-256: `ad3b56aa2fc1ad4250e7399295d34a8eae592e1907e85852e2291b2e498a30bc`

`"legacy"`

<a id="persistence-type-llmretry"></a>

#### `"llm/retry"`

SHA-256: `611cae9a3539733aa0c42f66035a7d90f19dcbbdfb5d9e3b628b13705253942d`

`"llm/retry"`

<a id="persistence-type-llmretry-started"></a>

#### `"llm/retry-started"`

SHA-256: `4ae007ed190a72c92138b22d059b83208079c7551ca13fb59ae8cf5e23693964`

`"llm/retry-started"`

<a id="persistence-type-max-tokens"></a>

#### `"max-tokens"`

SHA-256: `68141cbe3994a5ffcd064c07c75996538437fd9dbf77ce8a2927e89ec577fabe`

`"max-tokens"`

<a id="persistence-type-model"></a>

#### `"model"`

SHA-256: `2765e9119edf5816ac1ab4c95c5ee32c90403f3742962eff11544f7752d59d2e`

`"model"`

<a id="persistence-type-modelselection"></a>

#### `"model/selection"`

SHA-256: `1d5f04a03ea75fc8eeece544129eba0f49f0c82046e9c404461920390135c7b2`

`"model/selection"`

<a id="persistence-type-negative"></a>

#### `"negative"`

SHA-256: `b1f62380f6746fedd629e71065e3583cef83334875b499ac9665c2eb87acfbf5`

`"negative"`

<a id="persistence-type-never"></a>

#### `"never"`

SHA-256: `1571525adc95a24e5d25b5a6440df401cd7cdd881b745178e85f5a333435cd1b`

`"never"`

<a id="persistence-type-next-step"></a>

#### `"next-step"`

SHA-256: `3e2ece4967cfebe95f450a93f45523dff99d6749f6269f2f60f84dfecfcf3693`

`"next-step"`

<a id="persistence-type-next-turn"></a>

#### `"next-turn"`

SHA-256: `62ecb62dc0fe1b5e70217f8a80c39256a40ee3a1917be14e5ca899d20c35f7fd`

`"next-turn"`

<a id="persistence-type-normal"></a>

#### `"normal"`

SHA-256: `3bc287e765d58dc3a22672a0495a6cfd561220dd38fbaecef80aa95b96caed79`

`"normal"`

<a id="persistence-type-notice"></a>

#### `"notice"`

SHA-256: `e8de0f457fed5b9ff94dc4950b59ef75fd8ba8af665cc7899485924a62653367`

`"notice"`

<a id="persistence-type-null"></a>

#### `null`

SHA-256: `938f7c7357bc403ea3b281a9dd016939df7a0880fc8db12612585be574d0d615`

`null`

<a id="persistence-type-number"></a>

#### `number`

SHA-256: `0657d3ca5ac4e7bf79b00bcf860b1c7159d01a9da137497221ec2f1776e365f7`

来源:`packages/core/session/src/types.ts`

`number`

<a id="persistence-type-one-shot"></a>

#### `"one-shot"`

SHA-256: `d28765f87d6b6ab408e0b2f3e7e297791b004b806d8e302c49903ebae815feb2`

`"one-shot"`

<a id="persistence-type-packagesapisession-controllersrctypestsmodelselection"></a>

#### `packages/api/session-controller/src/types.ts#ModelSelection`

SHA-256: `f09e5e7acf5ff5ccd193ff2eeec015fa2ff7c29d98bc465f8c3302058d47e29b`

来源:`packages/api/session-controller/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `model` | 必需 | `string` |
| `provider` | 必需 | `string` |
| `reasoningEffort` | 可选 | `string` |

<a id="persistence-type-packagesattachmentattachmentsrctypestsfileattachmentref"></a>

#### `packages/attachment/attachment/src/types.ts#FileAttachmentRef`

SHA-256: `f19bee84bf3d20904553cdcd57465232bc1c2a194f54c4d195292ba0487223a6`

来源:`packages/attachment/attachment/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `attachmentId` | 必需 | `string` |
| `bytes` | 必需 | `number` |
| `name` | 必需 | `string` |

<a id="persistence-type-packagesattachmentattachmentsrctypestsimageattachmentref"></a>

#### `packages/attachment/attachment/src/types.ts#ImageAttachmentRef`

SHA-256: `b0b0eb1b16490f6bee135b2377e8f8c39227974c799ad7d49ff418af23ecbc35`

来源:`packages/attachment/attachment/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `attachmentId` | 必需 | `string` |
| `bytes` | 必需 | `number` |
| `height` | 必需 | `number` |
| `mediaType` | 必需 | [`packages/attachment/attachment/src/types.ts#ImageMediaType`](#persistence-type-packagesattachmentattachmentsrctypestsimagemediatype) |
| `name` | 可选 | `string` |
| `originalDimensions` | 可选 | [`event:agent/inbox/spliced[0].data.inserted[0].content[0][2].attachment.originalDimensions`](#persistence-type-eventagentinboxspliced0datainserted0content02attachmentoriginaldimensions) |
| `width` | 必需 | `number` |

<a id="persistence-type-packagesattachmentattachmentsrctypestsimagemediatype"></a>

#### `packages/attachment/attachment/src/types.ts#ImageMediaType`

SHA-256: `2f1e6a7ebace43d727ae138ddcd352eb3813960009e5805b8c5ac84300c97716`

来源:`packages/attachment/attachment/src/types.ts`

以下类型之一:

- `"image/gif"`
- `"image/jpeg"`
- `"image/png"`
- `"image/webp"`

<a id="persistence-type-packagescontextagent-instructionssrcrendertsagentinstructionchange"></a>

#### `packages/context/agent-instructions/src/render.ts#AgentInstructionChange`

SHA-256: `83da72c6857601c75da11212ef847f57d457b9c99f0a82246dcdff3e26700239`

来源:`packages/context/agent-instructions/src/render.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `action` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].source[17].changes[0].action`](#persistence-type-eventagentinboxspliced0datainserted0source17changes0action) |
| `digest` | 可选 | `string` |
| `path` | 必需 | `string` |
| `scope` | 必需 | `string` |

<a id="persistence-type-packagescontextagent-instructionssrcstatetsagentinstructionsource"></a>

#### `packages/context/agent-instructions/src/state.ts#AgentInstructionSource`

SHA-256: `6f22a9d02b9a1f1157f3b0e7bdccd7e7b12b085c4efdb709dfc74a465cd4e590`

来源:`packages/context/agent-instructions/src/state.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `baseline` | 可选 | `true` |
| `baselineIdentity` | 可选 | `string` |
| `changes` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].source[17].changes`](#persistence-type-eventagentinboxspliced0datainserted0source17changes) |
| `form` | 必需 | `"instructions"` |
| `kind` | 必需 | `"agent-instructions"` |

<a id="persistence-type-packagescontextsession-referencesrctypestssessionreferencesource"></a>

#### `packages/context/session-reference/src/types.ts#SessionReferenceSource`

SHA-256: `f56c5b59ca0161310c338d31dd16cf14287ccd602ff4181058df178c1c286d7f`

来源:`packages/context/session-reference/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `form` | 必需 | `"recall"` |
| `kind` | 必需 | `"session-reference"` |
| `references` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].source[15].references`](#persistence-type-eventagentinboxspliced0datainserted0source15references) |
| `version` | 必需 | `1` |

<a id="persistence-type-packagescoreagentsrctypestsinboxtarget"></a>

#### `packages/core/agent/src/types.ts#InboxTarget`

SHA-256: `96f4a9c81fc0f940ef71528a8cc66731ae4cf1f40d79680c5fe3c39f96d7723c`

来源:`packages/core/agent/src/types.ts`

以下类型之一:

- `"next-step"`
- `"next-turn"`

<a id="persistence-type-packagescoresessionsrctypestsepochheader"></a>

#### `packages/core/session/src/types.ts#EpochHeader`

SHA-256: `49f38c296b0c34c4d5784d827ee6fda5c7a722dccd30badfabeb229af1f832a1`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `adapterDefaults` | 可选 | [`packages/llm/llm/src/call-config.ts#LlmCallConfigAdapterDefaults`](#persistence-type-packagesllmllmsrccall-configtsllmcallconfigadapterdefaults) |
| `config` | 必需 | [`packages/llm/llm/src/call-config.ts#LlmCallConfig`](#persistence-type-packagesllmllmsrccall-configtsllmcallconfig) |
| `system` | 可选 | `string` |
| `tools` | 可选 | [`event:request/header[0].data.header.tools`](#persistence-type-eventrequestheader0dataheadertools) |

<a id="persistence-type-packagescoresessionsrctypestsrequestcontext"></a>

#### `packages/core/session/src/types.ts#RequestContext`

SHA-256: `411f5f5bc098cf2aaebcea1fc645adb51e593edb6b0f7f88518ff4b0147a2d4d`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `contextWindow` | 可选 | `number` |
| `model` | 必需 | `string` |
| `provider` | 必需 | `string` |

<a id="persistence-type-packagescoresessionsrctypestsrequestheaderreason"></a>

#### `packages/core/session/src/types.ts#RequestHeaderReason`

SHA-256: `530da6c0267813bb4511af72883cc518834e624e3b3220a7062955fd57a788a6`

来源:`packages/core/session/src/types.ts`

以下类型之一:

- `"change"`
- `"initial"`
- `"resume"`
- `"series"`

<a id="persistence-type-packagescoresessionsrctypestssessionheader"></a>

#### `packages/core/session/src/types.ts#SessionHeader`

SHA-256: `15918d785bdccedf0dba204622c75591bfb833bbf107ae0894bbc44cfbd73c1d`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `agentPreset` | 可选 | `string` |
| `createdAt` | 必需 | `number` |
| `cwd` | 可选 | `string` |
| `delegationDepth` | 可选 | `number` |
| `id` | 必需 | `string` |
| `isSeeded` | 必需 | `boolean` |
| `origin` | 可选 | `"subagent"` |
| `parentSession` | 可选 | `string` |
| `version` | 必需 | `2` |

<a id="persistence-type-packagescoresessionsrctypeststurnendcancelcause"></a>

#### `packages/core/session/src/types.ts#TurnEndCancelCause`

SHA-256: `1f8c126cfab3df812cd115cfc23e3256f0fa2383400f4ce91ecad313577e59b0`

来源:`packages/core/session/src/types.ts`

以下类型之一:

- [`event:turn/end[0].data.reason[1].reason[2]`](#persistence-type-eventturnend0datareason1reason2)
- [`event:turn/end[0].data.reason[1].reason[3]`](#persistence-type-eventturnend0datareason1reason3)
- [`event:turn/end[0].data.reason[1].reason[4]`](#persistence-type-eventturnend0datareason1reason4)
- [`event:turn/end[0].data.reason[1].reason[1]`](#persistence-type-eventturnend0datareason1reason1)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[0]`](#persistence-type-eventagentinboxspliced0datainserted0source0)

<a id="persistence-type-packagescoresessionsrctypeststurnendreason"></a>

#### `packages/core/session/src/types.ts#TurnEndReason`

SHA-256: `e3528b95cff70d83a080a96666877da3f9dc205e71955d6bc5b9b315b9e0da22`

来源:`packages/core/session/src/types.ts`

以下类型之一:

- [`event:turn/end[0].data.reason[5]`](#persistence-type-eventturnend0datareason5)
- [`event:assistant/attempt[0].data.stream[0][3].chunk[6].reason[2]`](#persistence-type-eventassistantattempt0datastream03chunk6reason2)
- [`event:turn/end[0].data.reason[3]`](#persistence-type-eventturnend0datareason3)
- [`event:turn/end[0].data.reason[1]`](#persistence-type-eventturnend0datareason1)
- [`event:turn/end[0].data.reason[2]`](#persistence-type-eventturnend0datareason2)
- [`event:turn/end[0].data.reason[0]`](#persistence-type-eventturnend0datareason0)

<a id="persistence-type-packagescoretoolssrcindextstoolrestriction"></a>

#### `packages/core/tools/src/index.ts#ToolRestriction`

SHA-256: `3cfc3a56502da1f8c6153c2c56657bab4b749056968634dd0991d325ec1c919f`

来源:`packages/core/tools/src/index.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `allow` | 可选 | [`event:assistant/attempt[0].data.stream[0][0].texts`](#persistence-type-eventassistantattempt0datastream00texts) |
| `deny` | 可选 | [`event:assistant/attempt[0].data.stream[0][0].texts`](#persistence-type-eventassistantattempt0datastream00texts) |

<a id="persistence-type-packagescoretoolssrctypestsptcdispatcheventdata"></a>

#### `packages/core/tools/src/types.ts#PtcDispatchEventData`

SHA-256: `1418e7f0c944a0453ce0851729b38b69c74194ff1e3ed41dc71904ca66e57bc5`

来源:`packages/core/tools/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `arguments` | 必需 | `unknown`(不透明) |
| `content` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].content`](#persistence-type-eventagentinboxspliced0datainserted0content) |
| `isError` | 必需 | `boolean` |
| `name` | 必需 | `string` |
| `parentCallId` | 必需 | `string` |
| `rootCallId` | 必需 | `string` |
| `subCallId` | 必需 | `string` |

<a id="persistence-type-packagescoretoolssrctypestsptcdispatchstarteventdata"></a>

#### `packages/core/tools/src/types.ts#PtcDispatchStartEventData`

SHA-256: `2fe5026daf14bd4ff2b7bfb7cf9791c302d9cbba06802178b6dfec00b892698f`

来源:`packages/core/tools/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `arguments` | 必需 | `unknown`(不透明) |
| `name` | 必需 | `string` |
| `parentCallId` | 必需 | `string` |
| `rootCallId` | 必需 | `string` |
| `subCallId` | 必需 | `string` |

<a id="persistence-type-packagesexperimentalagent-teamsrctypeststeammemberphase"></a>

#### `packages/experimental/agent-team/src/types.ts#TeamMemberPhase`

SHA-256: `dfce5db4aa42b7ebe0bb79eca92553587287e18c06b9eba85cbfb9d332e26acd`

来源:`packages/experimental/agent-team/src/types.ts`

以下类型之一:

- `"active"`
- `"failed"`
- `"provisioning"`

<a id="persistence-type-packagesexperimentalagent-teamsrctypeststeammembersnapshot"></a>

#### `packages/experimental/agent-team/src/types.ts#TeamMemberSnapshot`

SHA-256: `6598cd6da253948d6b207c6374a45335804c79b576866d6215649c2d1bc85e25`

来源:`packages/experimental/agent-team/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `context` | 必需 | [`event:team/member[0].data.member.context`](#persistence-type-eventteammember0datamembercontext) |
| `description` | 必需 | `string` |
| `error` | 可选 | `string` |
| `id` | 必需 | `string` |
| `name` | 必需 | `string` |
| `phase` | 必需 | [`packages/experimental/agent-team/src/types.ts#TeamMemberPhase`](#persistence-type-packagesexperimentalagent-teamsrctypeststeammemberphase) |
| `provider` | 必需 | `string` |

<a id="persistence-type-packagesexperimentalagent-teamsrctypeststeammessagesnapshot"></a>

#### `packages/experimental/agent-team/src/types.ts#TeamMessageSnapshot`

SHA-256: `10ce3a084c136b5fc9969e5981b64711c35a2d9de7eac1b8443c03f73dc4f3db`

来源:`packages/experimental/agent-team/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `content` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].content`](#persistence-type-eventagentinboxspliced0datainserted0content) |
| `id` | 必需 | `string` |
| `senderId` | 必需 | `string` |
| `senderName` | 必需 | `string` |
| `targetId` | 必需 | `string` |

<a id="persistence-type-packagesexperimentalagent-teamsrctypeststeammessagesource"></a>

#### `packages/experimental/agent-team/src/types.ts#TeamMessageSource`

SHA-256: `2152caf1a71e588e4df2358a806dea24936c1c47131134f01a12939d12cdc0c0`

来源:`packages/experimental/agent-team/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"team-message"` |
| `messageId` | 必需 | `string` |
| `senderId` | 必需 | `string` |
| `senderName` | 必需 | `string` |
| `teamId` | 必需 | `string` |

<a id="persistence-type-packagesexperimentalagent-teamsrctypeststeamtasksnapshot"></a>

#### `packages/experimental/agent-team/src/types.ts#TeamTaskSnapshot`

SHA-256: `51edec100659da3a9bd9c3f6ba1180f5e64ec9a1585e5057080df45c180bd357`

来源:`packages/experimental/agent-team/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `blockedBy` | 必需 | [`event:assistant/attempt[0].data.stream[0][0].texts`](#persistence-type-eventassistantattempt0datastream00texts) |
| `description` | 必需 | `string` |
| `id` | 必需 | `string` |
| `ownerId` | 可选 | `string` |
| `revision` | 必需 | `number` |
| `status` | 必需 | [`packages/experimental/agent-team/src/types.ts#TeamTaskStatus`](#persistence-type-packagesexperimentalagent-teamsrctypeststeamtaskstatus) |
| `subject` | 必需 | `string` |
| `writeScopes` | 必需 | [`event:assistant/attempt[0].data.stream[0][0].texts`](#persistence-type-eventassistantattempt0datastream00texts) |

<a id="persistence-type-packagesexperimentalagent-teamsrctypeststeamtaskstatus"></a>

#### `packages/experimental/agent-team/src/types.ts#TeamTaskStatus`

SHA-256: `b2d2a01e51341a3bfec809198952c8c830a7899f4cb6ecd3c1dc0b5d9a2af943`

来源:`packages/experimental/agent-team/src/types.ts`

以下类型之一:

- `"completed"`
- `"deleted"`
- `"in_progress"`
- `"pending"`

<a id="persistence-type-packagesfeedbackmessage-feedbacksrctypestsmessagefeedbackdelete"></a>

#### `packages/feedback/message-feedback/src/types.ts#MessageFeedbackDelete`

SHA-256: `7c6129b6961cf4b2a030f36c78d2b0a5be38617651a9b81322e054ee512bee06`

来源:`packages/feedback/message-feedback/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `messageId` | 必需 | `string` |
| `sessionId` | 必需 | `string` |

<a id="persistence-type-packagesfeedbackmessage-feedbacksrctypestsmessagefeedbackitem"></a>

#### `packages/feedback/message-feedback/src/types.ts#MessageFeedbackItem`

SHA-256: `e68568d70fde1c0701e8d3e7645e5bb796f856ca42f349b5479032c254f27375`

来源:`packages/feedback/message-feedback/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `createdAt` | 必需 | `number` |
| `messageId` | 必需 | `string` |
| `note` | 可选 | `string` |
| `rating` | 必需 | [`packages/feedback/message-feedback/src/types.ts#MessageFeedbackRating`](#persistence-type-packagesfeedbackmessage-feedbacksrctypestsmessagefeedbackrating) |
| `updatedAt` | 必需 | `number` |
| `version` | 必需 | `string` |

<a id="persistence-type-packagesfeedbackmessage-feedbacksrctypestsmessagefeedbackput"></a>

#### `packages/feedback/message-feedback/src/types.ts#MessageFeedbackPut`

SHA-256: `cb1df23dfd315032b6d34b3c5fe2c4e3d07f7b60334ab9afd9f17da48ad09379`

来源:`packages/feedback/message-feedback/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `item` | 必需 | [`packages/feedback/message-feedback/src/types.ts#MessageFeedbackItem`](#persistence-type-packagesfeedbackmessage-feedbacksrctypestsmessagefeedbackitem) |
| `sessionId` | 必需 | `string` |

<a id="persistence-type-packagesfeedbackmessage-feedbacksrctypestsmessagefeedbackrating"></a>

#### `packages/feedback/message-feedback/src/types.ts#MessageFeedbackRating`

SHA-256: `390eed1028aba02774f14408647acec10ec5516e97d4f15ecde2b9989d5a69f2`

来源:`packages/feedback/message-feedback/src/types.ts`

以下类型之一:

- `"negative"`
- `"positive"`

<a id="persistence-type-packagesgoalgoalsrcdomaintsgoalchangemeta"></a>

#### `packages/goal/goal/src/domain.ts#GoalChangeMeta`

SHA-256: `7d226b9fd95b4ba213d4237c22e930a91c3c769c95ca7f92977b9d625ba13438`

来源:`packages/goal/goal/src/domain.ts`

以下类型之一:

- [`packages/goal/goal/src/domain.ts#GoalClearChangeMeta`](#persistence-type-packagesgoalgoalsrcdomaintsgoalclearchangemeta)
- [`packages/goal/goal/src/domain.ts#GoalSnapshotChangeMeta`](#persistence-type-packagesgoalgoalsrcdomaintsgoalsnapshotchangemeta)

<a id="persistence-type-packagesgoalgoalsrcdomaintsgoalclearchangemeta"></a>

#### `packages/goal/goal/src/domain.ts#GoalClearChangeMeta`

SHA-256: `cffcdc19881ab61ec0a9ce18743996f7ac44ac8889f34dfac36ae745574aa22f`

来源:`packages/goal/goal/src/domain.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `cleared` | 必需 | [`packages/goal/goal/src/types.ts#GoalRef`](#persistence-type-packagesgoalgoalsrctypestsgoalref) |
| `clearedAt` | 必需 | `number` |
| `kind` | 必需 | `"goal/change"` |
| `operation` | 必需 | `"clear"` |
| `version` | 必需 | `1` |

<a id="persistence-type-packagesgoalgoalsrcdomaintsgoalmessagesource"></a>

#### `packages/goal/goal/src/domain.ts#GoalMessageSource`

SHA-256: `7f959241c24128b4983b559984811861dc59774b85905c8fa57c6cb0148a3dbc`

来源:`packages/goal/goal/src/domain.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `goalId` | 必需 | `string` |
| `kind` | 必需 | `"goal"` |
| `revision` | 必需 | `number` |
| `round` | 必需 | `number` |

<a id="persistence-type-packagesgoalgoalsrcdomaintsgoalsnapshotchangemeta"></a>

#### `packages/goal/goal/src/domain.ts#GoalSnapshotChangeMeta`

SHA-256: `1df34a6c086866ffdc2dd9e8e5c581c3751a010cdf6b8538a7327f7a3237f0b4`

来源:`packages/goal/goal/src/domain.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `createdAt` | 必需 | `number` |
| `goal` | 必需 | [`packages/goal/goal/src/types.ts#GoalSnapshot`](#persistence-type-packagesgoalgoalsrctypestsgoalsnapshot) |
| `kind` | 必需 | `"goal/change"` |
| `operation` | 必需 | [`event:goal/change[0].data[0].operation`](#persistence-type-eventgoalchange0data0operation) |
| `roundsStarted` | 必需 | `number` |
| `updatedAt` | 必需 | `number` |
| `version` | 必需 | `1` |

<a id="persistence-type-packagesgoalgoalsrctypestsgoalblockreason"></a>

#### `packages/goal/goal/src/types.ts#GoalBlockReason`

SHA-256: `84ac8c1a66ffc697262e181f42e851259eae14038c113ca329fb4700ccdb1f7c`

来源:`packages/goal/goal/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `code` | 必需 | `string` |
| `message` | 必需 | `string` |

<a id="persistence-type-packagesgoalgoalsrctypestsgoalphase"></a>

#### `packages/goal/goal/src/types.ts#GoalPhase`

SHA-256: `b8327af7ee5767952d1300cb4f03b7fc04197ae5ba275e13981c689ff7506172`

来源:`packages/goal/goal/src/types.ts`

以下类型之一:

- `"active"`
- `"blocked"`
- `"complete"`
- `"paused"`

<a id="persistence-type-packagesgoalgoalsrctypestsgoalref"></a>

#### `packages/goal/goal/src/types.ts#GoalRef`

SHA-256: `0b6d718c693fdf7f06dcccb0bcbbabe78cc63514eafc62d6b2a3899735279d6f`

来源:`packages/goal/goal/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `id` | 必需 | `string` |
| `revision` | 必需 | `number` |

<a id="persistence-type-packagesgoalgoalsrctypestsgoalsnapshot"></a>

#### `packages/goal/goal/src/types.ts#GoalSnapshot`

SHA-256: `6bbe793f6a93dc8d50a4d4d3fbb6f8ed15650bcb7e151d28669628f7b7c3fc25`

来源:`packages/goal/goal/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `blockedReason` | 可选 | [`packages/goal/goal/src/types.ts#GoalBlockReason`](#persistence-type-packagesgoalgoalsrctypestsgoalblockreason) |
| `id` | 必需 | `string` |
| `maxGoalRounds` | 必需 | `number` |
| `objective` | 必需 | `string` |
| `phase` | 必需 | [`packages/goal/goal/src/types.ts#GoalPhase`](#persistence-type-packagesgoalgoalsrctypestsgoalphase) |
| `revision` | 必需 | `number` |

<a id="persistence-type-packageshookshook-protocolsrctypestshookdialect"></a>

#### `packages/hooks/hook-protocol/src/types.ts#HookDialect`

SHA-256: `a6b41f5bede8094d7bf635be5d69b1bd7a25e006ca9cf9415bceb9322f1a7feb`

来源:`packages/hooks/hook-protocol/src/types.ts`

以下类型之一:

- `"claude-code"`
- `"codex"`

<a id="persistence-type-packagesinteractionuser-approvalsrcindextsapprovalpolicy"></a>

#### `packages/interaction/user-approval/src/index.ts#ApprovalPolicy`

SHA-256: `05d2ae1e0c7f8770f83f9a09047afb39a335d8ac986df3193659aa1e581472cf`

来源:`packages/interaction/user-approval/src/index.ts`

以下类型之一:

- `"ask"`
- `"never"`

<a id="persistence-type-packagesinteractionuser-approvalsrctypestsapprovaloutcome"></a>

#### `packages/interaction/user-approval/src/types.ts#ApprovalOutcome`

SHA-256: `930c1cd289def119d443e19dd90008916bf035f0a4d23e07241e7f050f2b89b7`

来源:`packages/interaction/user-approval/src/types.ts`

以下类型之一:

- `"allowed-once"`
- `"cancelled"`
- `"rejected"`
- `"unavailable"`

<a id="persistence-type-packagesllmllm-retrysrctypestsllmretryeventdata"></a>

#### `packages/llm/llm-retry/src/types.ts#LlmRetryEventData`

SHA-256: `35b995af35bfa087f5381a5454a2305928da037e819bfc4759d3f66d9bd55aa9`

来源:`packages/llm/llm-retry/src/types.ts`

以下类型之一:

- [`event:llm/retry[0].data[0]`](#persistence-type-eventllmretry0data0)
- [`event:llm/retry[0].data[1]`](#persistence-type-eventllmretry0data1)

<a id="persistence-type-packagesllmllm-retrysrctypestsllmretrystartedeventdata"></a>

#### `packages/llm/llm-retry/src/types.ts#LlmRetryStartedEventData`

SHA-256: `6f72ece8f317cd080c4f20a93f1bf709965f5b81ac4669528f5a023191cfcf20`

来源:`packages/llm/llm-retry/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `retry` | 必需 | `number` |
| `retryId` | 必需 | `string` |
| `step` | 必需 | `number` |
| `turn` | 必需 | `number` |

<a id="persistence-type-packagesllmllmsrcassistant-streamtsassistantstreamrecord"></a>

#### `packages/llm/llm/src/assistant-stream.ts#AssistantStreamRecord`

SHA-256: `ecaf9469000a15d46d269ea72994ceaab3652ed31507822906fc12397422da21`

来源:`packages/llm/llm/src/assistant-stream.ts`

以下类型之一:

- [`event:assistant/attempt[0].data.stream[0][2]`](#persistence-type-eventassistantattempt0datastream02)
- [`event:assistant/attempt[0].data.stream[0][3]`](#persistence-type-eventassistantattempt0datastream03)
- [`event:assistant/attempt[0].data.stream[0][1]`](#persistence-type-eventassistantattempt0datastream01)
- [`event:assistant/attempt[0].data.stream[0][0]`](#persistence-type-eventassistantattempt0datastream00)

<a id="persistence-type-packagesllmllmsrccall-configtsllmcallconfig"></a>

#### `packages/llm/llm/src/call-config.ts#LlmCallConfig`

SHA-256: `67d5f73ceae82f5265258142ad6cf172de2c1fef93ba551b7f0454e0a93bffe0`

来源:`packages/llm/llm/src/call-config.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `maxTokens` | 可选 | `number` |
| `model` | 必需 | `string` |
| `provider` | 必需 | `string` |
| `reasoningEffort` | 可选 | `string` |
| `stop` | 可选 | [`event:assistant/attempt[0].data.stream[0][0].texts`](#persistence-type-eventassistantattempt0datastream00texts) |
| `temperature` | 可选 | `number` |

<a id="persistence-type-packagesllmllmsrccall-configtsllmcallconfigadapterdefaults"></a>

#### `packages/llm/llm/src/call-config.ts#LlmCallConfigAdapterDefaults`

SHA-256: `326a9bfda27dda5882fb3cbe6e715df41dae2298fdae3d66437457268a665693`

来源:`packages/llm/llm/src/call-config.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `maxTokens` | 可选 | `true` |
| `reasoningEffort` | 可选 | `true` |

<a id="persistence-type-packagesllmllmsrcmessagetsassistantmessage"></a>

#### `packages/llm/llm/src/message.ts#AssistantMessage`

SHA-256: `08a1293eddb9b633bfefaf0893e3b4c807dfbb49c45a447cb32bb68bfd1a8232`

来源:`packages/llm/llm/src/message.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `content` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].content`](#persistence-type-eventagentinboxspliced0datainserted0content) |
| `id` | 必需 | `string` |
| `role` | 必需 | `"assistant"` |
| `source` | 必需 | [`packages/llm/llm/src/message.ts#ModelMessageSource`](#persistence-type-packagesllmllmsrcmessagetsmodelmessagesource) |

<a id="persistence-type-packagesllmllmsrcmessagetscontextsnapshotsection"></a>

#### `packages/llm/llm/src/message.ts#ContextSnapshotSection`

SHA-256: `86e1e384495ee09ac2d60c9db3610f1f1fddac2d248f6f1d6000e78054680219`

来源:`packages/llm/llm/src/message.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `name` | 必需 | `string` |
| `text` | 必需 | `string` |

<a id="persistence-type-packagesllmllmsrcmessagetsmessage"></a>

#### `packages/llm/llm/src/message.ts#Message`

SHA-256: `f051068babb7ebab80e9fd4fff3a70cfe54430c2ef3ca9bb77bb54db8bc34476`

来源:`packages/llm/llm/src/message.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `content` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].content`](#persistence-type-eventagentinboxspliced0datainserted0content) |
| `id` | 必需 | `string` |
| `role` | 必需 | [`event:session/title-llm-request[0].data.messages[0].role`](#persistence-type-eventsessiontitle-llm-request0datamessages0role) |
| `source` | 必需 | [`packages/llm/llm/src/message.ts#MessageSource`](#persistence-type-packagesllmllmsrcmessagetsmessagesource) |

<a id="persistence-type-packagesllmllmsrcmessagetsmessagesource"></a>

#### `packages/llm/llm/src/message.ts#MessageSource`

SHA-256: `4c965666d5b42116945bc356087cd5e1fd549e6dece560785ed60511059a8283`

来源:`packages/llm/llm/src/message.ts`

以下类型之一:

- [`packages/context/agent-instructions/src/state.ts#AgentInstructionSource`](#persistence-type-packagescontextagent-instructionssrcstatetsagentinstructionsource)
- [`packages/llm/llm/src/message.ts#ToolMessageSource`](#persistence-type-packagesllmllmsrcmessagetstoolmessagesource)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[10]`](#persistence-type-eventagentinboxspliced0datainserted0source10)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[19]`](#persistence-type-eventagentinboxspliced0datainserted0source19)
- [`packages/skill/tool-skill/src/index.ts#SkillCatalogSource`](#persistence-type-packagesskilltool-skillsrcindextsskillcatalogsource)
- [`packages/skill/skill/src/index.ts#SkillInvocationSource`](#persistence-type-packagesskillskillsrcindextsskillinvocationsource)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[4]`](#persistence-type-eventagentinboxspliced0datainserted0source4)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[5]`](#persistence-type-eventagentinboxspliced0datainserted0source5)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[6]`](#persistence-type-eventagentinboxspliced0datainserted0source6)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[3]`](#persistence-type-eventagentinboxspliced0datainserted0source3)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[2]`](#persistence-type-eventagentinboxspliced0datainserted0source2)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[7]`](#persistence-type-eventagentinboxspliced0datainserted0source7)
- [`packages/context/session-reference/src/types.ts#SessionReferenceSource`](#persistence-type-packagescontextsession-referencesrctypestssessionreferencesource)
- [`packages/subagent/subagent/src/continuation-messages.ts#SubagentSettledMessageSource`](#persistence-type-packagessubagentsubagentsrccontinuation-messagestssubagentsettledmessagesource)
- [`packages/subagent/subagent/src/continuation-messages.ts#AgentMessageSource`](#persistence-type-packagessubagentsubagentsrccontinuation-messagestsagentmessagesource)
- [`packages/goal/goal/src/domain.ts#GoalMessageSource`](#persistence-type-packagesgoalgoalsrcdomaintsgoalmessagesource)
- [`packages/experimental/agent-team/src/types.ts#TeamMessageSource`](#persistence-type-packagesexperimentalagent-teamsrctypeststeammessagesource)
- [`packages/llm/llm/src/message.ts#ModelMessageSource`](#persistence-type-packagesllmllmsrcmessagetsmodelmessagesource)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[1]`](#persistence-type-eventagentinboxspliced0datainserted0source1)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[0]`](#persistence-type-eventagentinboxspliced0datainserted0source0)

<a id="persistence-type-packagesllmllmsrcmessagetsmodelmessagesource"></a>

#### `packages/llm/llm/src/message.ts#ModelMessageSource`

SHA-256: `719c51f67074f97034a6c94297fe1f4b5d3c8d392c57586dab732aa5398c7a91`

来源:`packages/llm/llm/src/message.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `kind` | 必需 | `"model"` |
| `model` | 必需 | `string` |
| `provider` | 必需 | `string` |
| `replayState` | 可选 | `unknown`(不透明) |

<a id="persistence-type-packagesllmllmsrcmessagetstoolmessagesource"></a>

#### `packages/llm/llm/src/message.ts#ToolMessageSource`

SHA-256: `d9c462b9f62fdd3efc76a44b9524dc8781f6b91cd9c7e584b17d971defafebab`

来源:`packages/llm/llm/src/message.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `callId` | 必需 | `string` |
| `kind` | 必需 | `"tool"` |

<a id="persistence-type-packagesllmllmsrcmessagetstoolresultmessage"></a>

#### `packages/llm/llm/src/message.ts#ToolResultMessage`

SHA-256: `966fad765834f62051ad6f6a100f7ea38abe5f40f7ef3ae0b6dca0e31c7549a5`

来源:`packages/llm/llm/src/message.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `content` | 必需 | [`event:tool/result.data.message.content`](#persistence-type-eventtoolresultdatamessagecontent) |
| `id` | 必需 | `string` |
| `role` | 必需 | `"user"` |
| `source` | 必需 | [`packages/llm/llm/src/message.ts#ToolMessageSource`](#persistence-type-packagesllmllmsrcmessagetstoolmessagesource) |

<a id="persistence-type-packagesllmllmsrcmessagetsusermessage"></a>

#### `packages/llm/llm/src/message.ts#UserMessage`

SHA-256: `40390271dffbed81bffa514370ad1c3c19a13ad10c3647c9c0eae31126c95a5f`

来源:`packages/llm/llm/src/message.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `content` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].content`](#persistence-type-eventagentinboxspliced0datainserted0content) |
| `id` | 必需 | `string` |
| `role` | 必需 | `"user"` |
| `source` | 必需 | [`packages/llm/llm/src/message.ts#MessageSource`](#persistence-type-packagesllmllmsrcmessagetsmessagesource) |

<a id="persistence-type-packagesllmllmsrctypestscontentblock"></a>

#### `packages/llm/llm/src/types.ts#ContentBlock`

SHA-256: `e1161343902a8da654d4d1bb66d729065cc93a2710ebfe2717a242a5c2ec709a`

来源:`packages/llm/llm/src/types.ts`

以下类型之一:

- [`packages/llm/llm/src/types.ts#ReasoningBlock`](#persistence-type-packagesllmllmsrctypestsreasoningblock)
- [`event:web/deepseek-search-llm-request[0].data.body.messages[0].content[0]`](#persistence-type-eventwebdeepseek-search-llm-request0databodymessages0content0)
- [`packages/llm/llm/src/types.ts#ToolCallBlock`](#persistence-type-packagesllmllmsrctypeststoolcallblock)
- [`packages/llm/llm/src/types.ts#ImageBlock`](#persistence-type-packagesllmllmsrctypestsimageblock)
- [`packages/llm/llm/src/types.ts#FileBlock`](#persistence-type-packagesllmllmsrctypestsfileblock)
- [`packages/llm/llm/src/types.ts#ToolResultBlock`](#persistence-type-packagesllmllmsrctypeststoolresultblock)

<a id="persistence-type-packagesllmllmsrctypestscontentblocktype"></a>

#### `packages/llm/llm/src/types.ts#ContentBlockType`

SHA-256: `757013fff5879d73d5753d8d1120faab56110e88ac3932485ab7e034d9e9ce61`

来源:`packages/llm/llm/src/types.ts`

以下类型之一:

- `"file"`
- `"image"`
- `"reasoning"`
- `"text"`
- `"tool-call"`
- `"tool-result"`

<a id="persistence-type-packagesllmllmsrctypestsfileblock"></a>

#### `packages/llm/llm/src/types.ts#FileBlock`

SHA-256: `f2da0f27c1e6add59982c37b15e4a4912c5b33466859cce3b13d503600e24aef`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `attachment` | 必需 | [`packages/attachment/attachment/src/types.ts#FileAttachmentRef`](#persistence-type-packagesattachmentattachmentsrctypestsfileattachmentref) |
| `type` | 必需 | `"file"` |

<a id="persistence-type-packagesllmllmsrctypestsfinishreason"></a>

#### `packages/llm/llm/src/types.ts#FinishReason`

SHA-256: `5ed158429dfa6a8633e6ba94b8c81190616c24b65c1777bf1c60cde9dd499a2f`

来源:`packages/llm/llm/src/types.ts`

以下类型之一:

- [`event:assistant/attempt[0].data.stream[0][3].chunk[6].reason[3]`](#persistence-type-eventassistantattempt0datastream03chunk6reason3)
- [`event:assistant/attempt[0].data.stream[0][3].chunk[6].reason[4]`](#persistence-type-eventassistantattempt0datastream03chunk6reason4)
- [`event:assistant/attempt[0].data.stream[0][3].chunk[6].reason[0]`](#persistence-type-eventassistantattempt0datastream03chunk6reason0)
- [`event:assistant/attempt[0].data.stream[0][3].chunk[6].reason[1]`](#persistence-type-eventassistantattempt0datastream03chunk6reason1)
- [`event:assistant/attempt[0].data.stream[0][3].chunk[6].reason[2]`](#persistence-type-eventassistantattempt0datastream03chunk6reason2)

<a id="persistence-type-packagesllmllmsrctypestsimageblock"></a>

#### `packages/llm/llm/src/types.ts#ImageBlock`

SHA-256: `8ef06dd236128246969d5f04a6c4a639d031fcda99a0cd13051f52f41b0ca1af`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `attachment` | 必需 | [`packages/attachment/attachment/src/types.ts#ImageAttachmentRef`](#persistence-type-packagesattachmentattachmentsrctypestsimageattachmentref) |
| `type` | 必需 | `"image"` |

<a id="persistence-type-packagesllmllmsrctypestsllmfailure"></a>

#### `packages/llm/llm/src/types.ts#LlmFailure`

SHA-256: `27cd736e794a0f8703a155fb697820cede894d10776586dd3df24d24c9465c0e`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `code` | 必需 | `string` |
| `message` | 必需 | `string` |
| `providerRetryAfterMs` | 可选 | `number` |
| `requestId` | 可选 | `string` |
| `status` | 可选 | `number` |

<a id="persistence-type-packagesllmllmsrctypestsreasoningblock"></a>

#### `packages/llm/llm/src/types.ts#ReasoningBlock`

SHA-256: `814d9434e1ddf9078612b3b34322f26e9363b469213335007f7e9ba7fee9464e`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `text` | 必需 | `string` |
| `type` | 必需 | `"reasoning"` |

<a id="persistence-type-packagesllmllmsrctypestsreplayenvelope"></a>

#### `packages/llm/llm/src/types.ts#ReplayEnvelope`

SHA-256: `0acd94fe8794574c9ae72c7855ee16d29c546096d4af760d16d1225385764555`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `blocks` | 可选 | [`event:assistant/attempt[0].data.stream[0][3].chunk[6].replayState.blocks`](#persistence-type-eventassistantattempt0datastream03chunk6replaystateblocks) |
| `response` | 必需 | `unknown`(不透明) |

<a id="persistence-type-packagesllmllmsrctypestsstreamchunk"></a>

#### `packages/llm/llm/src/types.ts#StreamChunk`

SHA-256: `989145d2b165a1e4391d0691196ede9dec5093b09f1cf3d33b1911c24ee6c5ee`

来源:`packages/llm/llm/src/types.ts`

以下类型之一:

- [`event:assistant/attempt[0].data.stream[0][3].chunk[3]`](#persistence-type-eventassistantattempt0datastream03chunk3)
- [`event:assistant/attempt[0].data.stream[0][3].chunk[4]`](#persistence-type-eventassistantattempt0datastream03chunk4)
- [`event:assistant/attempt[0].data.stream[0][3].chunk[0]`](#persistence-type-eventassistantattempt0datastream03chunk0)
- [`event:assistant/attempt[0].data.stream[0][3].chunk[2]`](#persistence-type-eventassistantattempt0datastream03chunk2)
- [`event:assistant/attempt[0].data.stream[0][3].chunk[1]`](#persistence-type-eventassistantattempt0datastream03chunk1)
- [`event:assistant/attempt[0].data.stream[0][3].chunk[6]`](#persistence-type-eventassistantattempt0datastream03chunk6)
- [`event:assistant/attempt[0].data.stream[0][3].chunk[5]`](#persistence-type-eventassistantattempt0datastream03chunk5)

<a id="persistence-type-packagesllmllmsrctypeststokenusage"></a>

#### `packages/llm/llm/src/types.ts#TokenUsage`

SHA-256: `fec5442b9ee4122e10514d81d5a43648003fe8bfb7ee2ba50c0cdbdd383ed394`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `cacheReadTokens` | 可选 | `number` |
| `cacheWriteTokens` | 可选 | `number` |
| `inputTokens` | 必需 | `number` |
| `outputTokens` | 必需 | `number` |
| `reasoningTokens` | 可选 | `number` |
| `totalTokens` | 可选 | `number` |

<a id="persistence-type-packagesllmllmsrctypeststoolcallblock"></a>

#### `packages/llm/llm/src/types.ts#ToolCallBlock`

SHA-256: `c1f0f17b6493b85db6453bb30e01b208d703731b25bc1e68e5d4fc72eea9cdea`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `arguments` | 必需 | `string` |
| `id` | 必需 | `string` |
| `name` | 必需 | `string` |
| `type` | 必需 | `"tool-call"` |

<a id="persistence-type-packagesllmllmsrctypeststoolresultblock"></a>

#### `packages/llm/llm/src/types.ts#ToolResultBlock`

SHA-256: `9bdd77f2b39d9ae47be71e494eca8c9e950b0e99b89a4539f86c4a0e7d1398b6`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `content` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].content`](#persistence-type-eventagentinboxspliced0datainserted0content) |
| `isError` | 可选 | `boolean` |
| `toolCallId` | 必需 | `string` |
| `type` | 必需 | `"tool-result"` |

<a id="persistence-type-packagesllmllmsrctypeststoolschema"></a>

#### `packages/llm/llm/src/types.ts#ToolSchema`

SHA-256: `7f5f2a8618c2ece530a18b1358b890fb57fb8c35705e47b66bff2296f8c6e889`

来源:`packages/llm/llm/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `description` | 必需 | `string` |
| `name` | 必需 | `string` |
| `parameters` | 必需 | [`event:request/header[0].data.header.tools[0].parameters`](#persistence-type-eventrequestheader0dataheadertools0parameters) |

<a id="persistence-type-packagessandboxsandboxsrcindextssandboxmode"></a>

#### `packages/sandbox/sandbox/src/index.ts#SandboxMode`

SHA-256: `fab2bb09bc5e3b9db0685e8f5500b029af1a2b33e70bc703c1d5d0f596fbc1fd`

来源:`packages/sandbox/sandbox/src/index.ts`

以下类型之一:

- `"danger-full-access"`
- `"read-only"`
- `"workspace-write"`

<a id="persistence-type-packagesscheduleschedulesrctypestsafterschedulerecord"></a>

#### `packages/schedule/schedule/src/types.ts#AfterScheduleRecord`

SHA-256: `27e337d3d6b402b221e50c247a3f518a70d0c474cc60beee15fac3e9c5cbfcbe`

来源:`packages/schedule/schedule/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `afterSeconds` | 必需 | `number` |
| `id` | 必需 | `string` |
| `kind` | 必需 | `"after"` |
| `prompt` | 必需 | `string` |
| `scheduledAt` | 必需 | `string` |

<a id="persistence-type-packagesscheduleschedulesrctypestsatschedulerecord"></a>

#### `packages/schedule/schedule/src/types.ts#AtScheduleRecord`

SHA-256: `658d895d187b26d83f3b53109a3bf77bbfba9f6f9a6d4bc4ee4315b4eb36239e`

来源:`packages/schedule/schedule/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `id` | 必需 | `string` |
| `kind` | 必需 | `"at"` |
| `prompt` | 必需 | `string` |
| `scheduledAt` | 必需 | `string` |

<a id="persistence-type-packagesscheduleschedulesrctypestseveryscheduledispatchchange"></a>

#### `packages/schedule/schedule/src/types.ts#EveryScheduleDispatchChange`

SHA-256: `e6063d0451dc02026fd9b54ad3f77c7b1b6392ad3e872a7737ac84e13ca72344`

来源:`packages/schedule/schedule/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `acceptedAt` | 必需 | `string` |
| `id` | 必需 | `string` |
| `operation` | 必需 | `"dispatch"` |
| `version` | 必需 | `1` |

<a id="persistence-type-packagesscheduleschedulesrctypestseveryschedulerecord"></a>

#### `packages/schedule/schedule/src/types.ts#EveryScheduleRecord`

SHA-256: `66ece68282d8c06330fb83329a24ae54c386d5ccfab296bbf18369da8beb7d14`

来源:`packages/schedule/schedule/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `everySeconds` | 必需 | `number` |
| `id` | 必需 | `string` |
| `kind` | 必需 | `"every"` |
| `prompt` | 必需 | `string` |
| `scheduledAt` | 必需 | `string` |

<a id="persistence-type-packagesscheduleschedulesrctypestsoneshotscheduledispatchchange"></a>

#### `packages/schedule/schedule/src/types.ts#OneShotScheduleDispatchChange`

SHA-256: `8e8e91646a5cae3fc78f7532a0013ff2088ae47077642c2edd507a508209b8af`

来源:`packages/schedule/schedule/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `id` | 必需 | `string` |
| `operation` | 必需 | `"dispatch"` |
| `version` | 必需 | `1` |

<a id="persistence-type-packagesscheduleschedulesrctypestsschedulechange"></a>

#### `packages/schedule/schedule/src/types.ts#ScheduleChange`

SHA-256: `e1d0e52dcd1855ffb803efc18f8f7b776c48d1c25757e8a75c0281fa298c02e1`

来源:`packages/schedule/schedule/src/types.ts`

以下类型之一:

- [`packages/schedule/schedule/src/types.ts#EveryScheduleDispatchChange`](#persistence-type-packagesscheduleschedulesrctypestseveryscheduledispatchchange)
- [`packages/schedule/schedule/src/types.ts#ScheduleDeleteChange`](#persistence-type-packagesscheduleschedulesrctypestsscheduledeletechange)
- [`packages/schedule/schedule/src/types.ts#OneShotScheduleDispatchChange`](#persistence-type-packagesscheduleschedulesrctypestsoneshotscheduledispatchchange)
- [`packages/schedule/schedule/src/types.ts#ScheduleCreateChange`](#persistence-type-packagesscheduleschedulesrctypestsschedulecreatechange)

<a id="persistence-type-packagesscheduleschedulesrctypestsschedulecreatechange"></a>

#### `packages/schedule/schedule/src/types.ts#ScheduleCreateChange`

SHA-256: `ca6425edd20afe34d0cedc6ad1abad1ad7b32e2fbc4c1d24db53939e80bf887f`

来源:`packages/schedule/schedule/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `operation` | 必需 | `"create"` |
| `schedule` | 必需 | [`packages/schedule/schedule/src/types.ts#ScheduleRecord`](#persistence-type-packagesscheduleschedulesrctypestsschedulerecord) |
| `version` | 必需 | `1` |

<a id="persistence-type-packagesscheduleschedulesrctypestsscheduledeletechange"></a>

#### `packages/schedule/schedule/src/types.ts#ScheduleDeleteChange`

SHA-256: `18dc21f12bbac8ade8377e6fbb54179e20c3d955d73fba3244c57fb6bf001df0`

来源:`packages/schedule/schedule/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `id` | 必需 | `string` |
| `operation` | 必需 | `"delete"` |
| `version` | 必需 | `1` |

<a id="persistence-type-packagesscheduleschedulesrctypestsschedulerecord"></a>

#### `packages/schedule/schedule/src/types.ts#ScheduleRecord`

SHA-256: `d8f868c6b3e7189de6c1ffe2ea04794ea2aa31315b6347d12536e46020afac87`

来源:`packages/schedule/schedule/src/types.ts`

以下类型之一:

- [`packages/schedule/schedule/src/types.ts#AfterScheduleRecord`](#persistence-type-packagesscheduleschedulesrctypestsafterschedulerecord)
- [`packages/schedule/schedule/src/types.ts#EveryScheduleRecord`](#persistence-type-packagesscheduleschedulesrctypestseveryschedulerecord)
- [`packages/schedule/schedule/src/types.ts#AtScheduleRecord`](#persistence-type-packagesscheduleschedulesrctypestsatschedulerecord)

<a id="persistence-type-packagessessionsession-persistence-jsonlsrcformattsheaderline"></a>

#### `packages/session/session-persistence-jsonl/src/format.ts#HeaderLine`

SHA-256: `18ee62b8900a4c3d046700f05d7a4d49d6cab2a660a020c87481d1603dd8bd4f`

来源:`packages/session/session-persistence-jsonl/src/format.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `agentPreset` | 可选 | `string` |
| `createdAt` | 必需 | `number` |
| `cwd` | 可选 | `string` |
| `delegationDepth` | 必需 | `number` |
| `id` | 必需 | `string` |
| `isSeeded` | 必需 | `boolean` |
| `origin` | 可选 | `"subagent"` |
| `parentSession` | 可选 | `string` |
| `type` | 必需 | `"session"` |
| `version` | 必需 | `number` |

<a id="persistence-type-packagessessionsession-title-llmsrcindextssessiontitlellmrequesteventdata"></a>

#### `packages/session/session-title-llm/src/index.ts#SessionTitleLlmRequestEventData`

SHA-256: `08936f7648f573f7539800e1ec2852fbbcba05e1a20487a1e5acf2a0fce1e2de`

来源:`packages/session/session-title-llm/src/index.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `maxTokens` | 必需 | `number` |
| `messageSeqs` | 必需 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `messages` | 必需 | [`event:session/title-llm-request[0].data.messages`](#persistence-type-eventsessiontitle-llm-request0datamessages) |
| `route` | 必需 | [`packages/session/session-title/src/types.ts#SessionTitleModelProvenance`](#persistence-type-packagessessionsession-titlesrctypestssessiontitlemodelprovenance) |
| `system` | 必需 | `string` |
| `titleProvider` | 必需 | `string` |

<a id="persistence-type-packagessessionsession-titlesrctypestssessiontitleeventdata"></a>

#### `packages/session/session-title/src/types.ts#SessionTitleEventData`

SHA-256: `b56f6a885da3dc394c69a3e3cc5c0cfc4da15601b63fda4989eee8f40efc5be4`

来源:`packages/session/session-title/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `messageSeqs` | 必需 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `source` | 必需 | [`packages/session/session-title/src/types.ts#SessionTitleSource`](#persistence-type-packagessessionsession-titlesrctypestssessiontitlesource) |
| `title` | 必需 | `string` |

<a id="persistence-type-packagessessionsession-titlesrctypestssessiontitlemodelprovenance"></a>

#### `packages/session/session-title/src/types.ts#SessionTitleModelProvenance`

SHA-256: `07e1a58c58b593f507b8e7f25723bb0aa42baae6e00f5ecfddf28cb1e64d3235`

来源:`packages/session/session-title/src/types.ts` · `packages/subagent/tool-subagent/src/model-selection.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `model` | 必需 | `string` |
| `provider` | 必需 | `string` |

<a id="persistence-type-packagessessionsession-titlesrctypestssessiontitlesource"></a>

#### `packages/session/session-title/src/types.ts#SessionTitleSource`

SHA-256: `30d5a537b296685770b1241c4b4bbde19d5a31ff81aa23df73fab5e90b8fc65f`

来源:`packages/session/session-title/src/types.ts`

以下类型之一:

- [`event:session/title[0].data.source[1]`](#persistence-type-eventsessiontitle0datasource1)
- [`event:session/title[0].data.source[0]`](#persistence-type-eventsessiontitle0datasource0)
- [`event:agent/inbox/spliced[0].data.inserted[0].source[0]`](#persistence-type-eventagentinboxspliced0datainserted0source0)

<a id="persistence-type-packagesskillskillsrcindextsskillinvocationsource"></a>

#### `packages/skill/skill/src/index.ts#SkillInvocationSource`

SHA-256: `672c4aa2a9b736e3d6e5da6346d2e2ed5e3573f2d0baafa18e7407c9f3fee3db`

来源:`packages/skill/skill/src/index.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `form` | 必需 | `"instructions"` |
| `kind` | 必需 | `"skill-invocation"` |
| `name` | 必需 | `string` |

<a id="persistence-type-packagesskilltool-skillsrcindextsskillcatalogsource"></a>

#### `packages/skill/tool-skill/src/index.ts#SkillCatalogSource`

SHA-256: `fc2ae6962f9f8801c2b1e414668e1e17cbb7544c4f39381198977a38bd10c093`

来源:`packages/skill/tool-skill/src/index.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `entries` | 必需 | [`event:agent/inbox/spliced[0].data.inserted[0].source[16].entries`](#persistence-type-eventagentinboxspliced0datainserted0source16entries) |
| `form` | 必需 | `"catalog"` |
| `kind` | 必需 | `"skill-catalog"` |
| `update` | 可选 | `true` |

<a id="persistence-type-packagessubagentsubagentsrccontinuation-messagestsagentmessagesource"></a>

#### `packages/subagent/subagent/src/continuation-messages.ts#AgentMessageSource`

SHA-256: `4a9bef9f27a942520cc2279ca7dd3082556e4bff543f66b5c0333e1bbed1cd86`

来源:`packages/subagent/subagent/src/continuation-messages.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `form` | 必需 | `"relay"` |
| `kind` | 必需 | `"agent-message"` |
| `senderSessionId` | 必需 | `string` |

<a id="persistence-type-packagessubagentsubagentsrccontinuation-messagestssubagentsettledmessagesource"></a>

#### `packages/subagent/subagent/src/continuation-messages.ts#SubagentSettledMessageSource`

SHA-256: `4e97c3d85c0fc817ee58873c38c25a2474abaaa0af4839311b50b68db3b8cf1a`

来源:`packages/subagent/subagent/src/continuation-messages.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `form` | 必需 | `"notice"` |
| `kind` | 必需 | `"subagent-settled"` |
| `senderSessionId` | 必需 | `string` |
| `summary` | 必需 | `string` |

<a id="persistence-type-packagessubagentsubagentsrcdescriptortscontinuablesubagentdescriptordata"></a>

#### `packages/subagent/subagent/src/descriptor.ts#ContinuableSubagentDescriptorData`

SHA-256: `6487b10ba7542f3c447b1e41a1c6a590b7bfafe0b9b66b49f34028da85bb970f`

来源:`packages/subagent/subagent/src/descriptor.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `agentModel` | 可选 | `string` |
| `agentProvider` | 可选 | `string` |
| `agentReasoningEffort` | 可选 | `string` |
| `label` | 必需 | `string` |
| `mode` | 必需 | `"continuable"` |
| `persona` | 可选 | `string` |
| `provider` | 必需 | `string` |
| `toolFilter` | 可选 | [`packages/core/tools/src/index.ts#ToolRestriction`](#persistence-type-packagescoretoolssrcindextstoolrestriction) |
| `version` | 必需 | `number` |

<a id="persistence-type-packagessubagentsubagentsrcdescriptortsoneshotsubagentdescriptordata"></a>

#### `packages/subagent/subagent/src/descriptor.ts#OneShotSubagentDescriptorData`

SHA-256: `5f758f3de5f00c18968a7c6d347083aac5c9ae13f6a79c78f6611b23c4973564`

来源:`packages/subagent/subagent/src/descriptor.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `label` | 可选 | `string` |
| `mode` | 必需 | `"one-shot"` |
| `provider` | 必需 | `string` |
| `version` | 必需 | `number` |

<a id="persistence-type-packagessubagentsubagentsrcdescriptortssubagentdescriptordata"></a>

#### `packages/subagent/subagent/src/descriptor.ts#SubagentDescriptorData`

SHA-256: `86d1d0e9cfebb240421187e3dc37fb71cc38a1501885cf32f8f9adef7b0a2bde`

来源:`packages/subagent/subagent/src/descriptor.ts`

以下类型之一:

- [`packages/subagent/subagent/src/descriptor.ts#ContinuableSubagentDescriptorData`](#persistence-type-packagessubagentsubagentsrcdescriptortscontinuablesubagentdescriptordata)
- [`packages/subagent/subagent/src/descriptor.ts#OneShotSubagentDescriptorData`](#persistence-type-packagessubagentsubagentsrcdescriptortsoneshotsubagentdescriptordata)

<a id="persistence-type-packagestodotool-todosrctypeststodoitem"></a>

#### `packages/todo/tool-todo/src/types.ts#TodoItem`

SHA-256: `a99f76fd149051c363f960bfeeb5b9509587ecaf7591a42797e4bfe810d8987a`

来源:`packages/todo/tool-todo/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `content` | 必需 | `string` |
| `status` | 必需 | [`event:todo/write[0].data.todos[0].status`](#persistence-type-eventtodowrite0datatodos0status) |

<a id="persistence-type-packageswebweb-search-deepseeksrcprovidertsdeepseeksearchllmrequest"></a>

#### `packages/web/web-search-deepseek/src/provider.ts#DeepSeekSearchLlmRequest`

SHA-256: `2517ba143a271508d3ca35126d5aca8f7f1facf5aaddce4adf011832042fa2b9`

来源:`packages/web/web-search-deepseek/src/provider.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `apiVersion` | 必需 | `string` |
| `body` | 必需 | [`event:web/deepseek-search-llm-request[0].data.body`](#persistence-type-eventwebdeepseek-search-llm-request0databody) |
| `endpoint` | 必需 | `string` |

<a id="persistence-type-packagesworkflowtool-workflowsrctypeststoolworkflowagentenddata"></a>

#### `packages/workflow/tool-workflow/src/types.ts#ToolWorkflowAgentEndData`

SHA-256: `c0ea97bc89dfc46fa94eab956f5c3ee6af2f964aa7db6327cb18b451f207bef7`

来源:`packages/workflow/tool-workflow/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `outcome` | 必需 | [`packages/workflow/workflow/src/types.ts#WorkflowAgentOutcome`](#persistence-type-packagesworkflowworkflowsrctypestsworkflowagentoutcome) |
| `runId` | 必需 | `string` |
| `seq` | 必需 | `number` |

<a id="persistence-type-packagesworkflowtool-workflowsrctypeststoolworkflowagentstartdata"></a>

#### `packages/workflow/tool-workflow/src/types.ts#ToolWorkflowAgentStartData`

SHA-256: `9a410ddf56792b2b7cd4a224a2e54dc4dee30a8e8e6b1c2b9a1d19992b217adc`

来源:`packages/workflow/tool-workflow/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `childId` | 必需 | `string` |
| `label` | 必需 | `string` |
| `phase` | 可选 | `string` |
| `runId` | 必需 | `string` |
| `seq` | 必需 | `number` |

<a id="persistence-type-packagesworkflowtool-workflowsrctypeststoolworkflowrunenddata"></a>

#### `packages/workflow/tool-workflow/src/types.ts#ToolWorkflowRunEndData`

SHA-256: `7f9365bae9fcb73e1e34061a1acfe0422c1a5fd351848cace9bebbe806f28462`

来源:`packages/workflow/tool-workflow/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `runId` | 必需 | `string` |
| `stopReason` | 必需 | [`packages/workflow/workflow/src/types.ts#WorkflowStopReason`](#persistence-type-packagesworkflowworkflowsrctypestsworkflowstopreason) |

<a id="persistence-type-packagesworkflowtool-workflowsrctypeststoolworkflowrunstartdata"></a>

#### `packages/workflow/tool-workflow/src/types.ts#ToolWorkflowRunStartData`

SHA-256: `a6da9ad5d42ae83a6833a8288b076688e8e0801633ea36cbdd8a30a6d9f3160c`

来源:`packages/workflow/tool-workflow/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `name` | 必需 | `string` |
| `runId` | 必需 | `string` |

<a id="persistence-type-packagesworkflowworkflowsrctypestsworkflowagentoutcome"></a>

#### `packages/workflow/workflow/src/types.ts#WorkflowAgentOutcome`

SHA-256: `c2deb7c9183735d4e0fffddf5c623f4e34daa1c8e96b111982e957dfcbbcf896`

来源:`packages/workflow/workflow/src/types.ts`

以下类型之一:

- `"cancelled"`
- `"completed"`
- `"failed"`

<a id="persistence-type-packagesworkflowworkflowsrctypestsworkflowstopreason"></a>

#### `packages/workflow/workflow/src/types.ts#WorkflowStopReason`

SHA-256: `8465ece5e9d9007c038b357015d849c15262cb0bc25abc59e47692d87ee01a15`

来源:`packages/workflow/workflow/src/types.ts`

以下类型之一:

- `"cancelled"`
- `"completed"`
- `"error"`

<a id="persistence-type-parent"></a>

#### `"parent"`

SHA-256: `e6411b09c1d982f789bf741ca74e2bea69df56029847f86a6148e722039ee732`

`"parent"`

<a id="persistence-type-pause"></a>

#### `"pause"`

SHA-256: `1d8798b1a5e8c545ee4dcd2b4e75c0b4c9ffd985e4744c6d1a1aab992f859721`

`"pause"`

<a id="persistence-type-paused"></a>

#### `"paused"`

SHA-256: `c43b119ce579b3e9983a0d3adc4ba402ebb9ba773d89738a2dab01ecf5813943`

`"paused"`

<a id="persistence-type-pending"></a>

#### `"pending"`

SHA-256: `234142ee4f996f38cc9fa3b8b3e3de29b03c9aefe5ebf6c224eddd564505aa85`

`"pending"`

<a id="persistence-type-permissionpreset"></a>

#### `"permission/preset"`

SHA-256: `ae63d9d1080ed8945031594d93f8d96651d7101b848719cc3e1475875cd3d649`

`"permission/preset"`

<a id="persistence-type-planmode"></a>

#### `"plan/mode"`

SHA-256: `f634871d1e18b1eb199497ac8ab72d3964f48d03fbf611dc7521a1970cf429d9`

`"plan/mode"`

<a id="persistence-type-plugin"></a>

#### `"plugin"`

SHA-256: `e654d28d1e6c471147310d2fba396d00969cfe6ed9022626d3f2c2312e0b1cbb`

`"plugin"`

<a id="persistence-type-positive"></a>

#### `"positive"`

SHA-256: `df5d9709b7db2a72510dc52052a23f0c38f39730af1504bab8bccabc14fae528`

`"positive"`

<a id="persistence-type-provider"></a>

#### `"provider"`

SHA-256: `e31572180d6b28b73f073ad30ae19d5d82982d3daf984723984e23da1e7c459a`

`"provider"`

<a id="persistence-type-provisioning"></a>

#### `"provisioning"`

SHA-256: `871bfd6f7bb91061246768d3377f3fd58d6b8ea7c31f44c714ae7ab215650d62`

`"provisioning"`

<a id="persistence-type-read-only"></a>

#### `"read-only"`

SHA-256: `12a0cfa619ac4a5fc6c3e8e359c8dae15769edc61497a575935c78d5842f8e42`

`"read-only"`

<a id="persistence-type-reasoning"></a>

#### `"reasoning"`

SHA-256: `3c2535ca0a2062f172f15344f8040755002b5ac506cf94fc4ebaa822b15feb8c`

`"reasoning"`

<a id="persistence-type-reasoning-chunks"></a>

#### `"reasoning-chunks"`

SHA-256: `688e853dc149f0d30b31765c12ec7e3be74169bdf1a4c6463a10b945d50cc1b8`

`"reasoning-chunks"`

<a id="persistence-type-reasoning-delta"></a>

#### `"reasoning-delta"`

SHA-256: `6f091fe32ab24407236090ca9d710bbaf59bb57466e9f3b8f1f6e4862bc863c6`

`"reasoning-delta"`

<a id="persistence-type-recall"></a>

#### `"recall"`

SHA-256: `383cf73ae4748e5beb281ae74857ba1ffb92ae01075b9fbf51af78b666007a8f`

`"recall"`

<a id="persistence-type-rejected"></a>

#### `"rejected"`

SHA-256: `fab35c4520883c0d69e42d079c9f543fc5ac7a2d15b537b5572fcd99059c7018`

`"rejected"`

<a id="persistence-type-relay"></a>

#### `"relay"`

SHA-256: `16d0507cb94b4cfc84a87446b1ba7652d6ec1d65ee1684789e747e30d542800e`

`"relay"`

<a id="persistence-type-remove"></a>

#### `"remove"`

SHA-256: `7382c4fc95fe8c5db65ca4d9da572b115d0dbb818b7f32c22ab040318ffbb4bc`

`"remove"`

<a id="persistence-type-replace"></a>

#### `"replace"`

SHA-256: `f6cb462f808309e315fea634f1ed86268b8346bbcee6774d9097ca6eed7ac1f8`

`"replace"`

<a id="persistence-type-requestcontext"></a>

#### `"request/context"`

SHA-256: `70b082fe78991edf13cf66e1b4d06cd2dcff9cacfd76f8cfb996bfb61939e7b2`

`"request/context"`

<a id="persistence-type-requestheader"></a>

#### `"request/header"`

SHA-256: `3e0eff5946255ff05d88a10839c60305135801f97794ea48d409f8503303317e`

`"request/header"`

<a id="persistence-type-resume"></a>

#### `"resume"`

SHA-256: `34d1ab5c5df378186d6054b1a1beea9a41e41965d6f336f0bc0025c441a82e66`

`"resume"`

<a id="persistence-type-sandboxmode"></a>

#### `"sandbox/mode"`

SHA-256: `ca085dba2c877feceebf3c62f9d39c6c2a4d2314d97b94b3927a780fe8fe2bb2`

`"sandbox/mode"`

<a id="persistence-type-schedulechange"></a>

#### `"schedule/change"`

SHA-256: `0e7b2a97f54f1afdb8cdfad1635abe9145327db539bfb69b4045c19d8c17755d`

`"schedule/change"`

<a id="persistence-type-series"></a>

#### `"series"`

SHA-256: `4f507598cf476214aa7646ce7841a7064a9dcb05d0a1eaaefaf79c2b738f160f`

`"series"`

<a id="persistence-type-session"></a>

#### `"session"`

SHA-256: `e41bdebe246abe17154de7e7a1d81035437eee8d20e7f1edff0d91e2598ad828`

`"session"`

<a id="persistence-type-session-log-deepseekdelivery-accepted"></a>

#### `"session-log-deepseek/delivery-accepted"`

SHA-256: `47e5d84f1a93450a78c7f3954b43990d0f629af7c034a56313e5deb63e772c1b`

`"session-log-deepseek/delivery-accepted"`

<a id="persistence-type-session-reference"></a>

#### `"session-reference"`

SHA-256: `7f13860ee89a2d35ce09f958e85a04566cd59cb1de1d73a9619a9b631961dc71`

`"session-reference"`

<a id="persistence-type-sessionend-seed"></a>

#### `"session/end-seed"`

SHA-256: `1c2686c0682e7bc51d61117b2652bd4a80707e331aa276d6ef915ae32534a330`

`"session/end-seed"`

<a id="persistence-type-sessioneventenvelope"></a>

#### `SessionEventEnvelope`

SHA-256: `04184edc061905410cc7e3db8d5c7cf393d739c89eb523ba8bad3831fb23ba95`

以下类型之一:

- [`SessionEventEnvelope[48]`](#persistence-type-sessioneventenvelope48)
- [`SessionEventEnvelope[0]`](#persistence-type-sessioneventenvelope0)

<a id="persistence-type-sessioneventenvelope0"></a>

#### `SessionEventEnvelope[0]`

SHA-256: `e3e77b26f0148755a505f5b8ea843a3be117827d4703bb5754d9dc8ddbef521f`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `time` | 必需 | `number` |
| `type` | 必需 | `string` |

<a id="persistence-type-sessioneventenvelope48"></a>

#### `SessionEventEnvelope[48]`

SHA-256: `766756032f41a4139ce7a62404b47ad43d1717a59b917391f005534ba64d1ca6`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `ignorable` | 可选 | `true` |
| `seq` | 必需 | `number` |
| `sourceEventSeqs` | 可选 | [`SessionEventEnvelope[48].sourceEventSeqs`](#persistence-type-sessioneventenvelope48sourceeventseqs) |
| `surfaceOp` | 可选 | [`SessionEventEnvelope[48].surfaceOp`](#persistence-type-sessioneventenvelope48surfaceop) |
| `time` | 必需 | `number` |
| `type` | 必需 | `string` |

<a id="persistence-type-sessioneventenvelope48sourceeventseqs"></a>

#### `SessionEventEnvelope[48].sourceEventSeqs`

SHA-256: `5d03ba38734809bcbd2a55221bd938b3b3fc34b49bb686c6113e9e4931e3aa78`

`number` 的数组。

<a id="persistence-type-sessioneventenvelope48surfaceop"></a>

#### `SessionEventEnvelope[48].surfaceOp`

SHA-256: `de9773f2145f7fe4ec9387b91d2431fd7da7106e3b824a365ba5c3089051065b`

以下类型之一:

- `"append"`
- [`SessionEventEnvelope[48].surfaceOp[1]`](#persistence-type-sessioneventenvelope48surfaceop1)

<a id="persistence-type-sessioneventenvelope48surfaceop1"></a>

#### `SessionEventEnvelope[48].surfaceOp[1]`

SHA-256: `582b4ca583f24c830c5ab39a28afdfccce75f9617102ad791e00142c50c2e384`

来源:`packages/core/session/src/types.ts`

| 属性 | 存在性 | 类型 |
|---|---|---|
| `end` | 必需 | `number` |
| `op` | 必需 | `"replace"` |
| `start` | 必需 | `number` |

<a id="persistence-type-sessiontitle"></a>

#### `"session/title"`

SHA-256: `7a651f3b672c52fb615f22c0ce9cb3cc5b22aad92e6bbeefb0808fd7b9233a50`

`"session/title"`

<a id="persistence-type-sessiontitle-llm-request"></a>

#### `"session/title-llm-request"`

SHA-256: `587bb11da730e06aa52b62c087d217d6f8f22459b25f31cb9e1e1baf17944e5e`

`"session/title-llm-request"`

<a id="persistence-type-set"></a>

#### `"set"`

SHA-256: `b765ee31033cea463863faf3fc6a0a1b85c47c6a2f13fe1ce833abe56105114b`

`"set"`

<a id="persistence-type-skill-catalog"></a>

#### `"skill-catalog"`

SHA-256: `6ebcc2dbec9f2dabca9f668ae6d39e877899b180740570f453409db339221df3`

`"skill-catalog"`

<a id="persistence-type-skill-invocation"></a>

#### `"skill-invocation"`

SHA-256: `1922cd79a70806c17758185a6ef0458bc1fb3900363906733421c16414da2509`

`"skill-invocation"`

<a id="persistence-type-snapshot"></a>

#### `"snapshot"`

SHA-256: `6f9e00383836275e46c0a9915767f9bb561be5fc30aae490174908a93e99a912`

`"snapshot"`

<a id="persistence-type-stepend"></a>

#### `"step/end"`

SHA-256: `c219efbdfd53b836786202ab4532913d555798f0a8615a4e9629736e3799fb70`

`"step/end"`

<a id="persistence-type-stepstart"></a>

#### `"step/start"`

SHA-256: `2c64d4bc7264fd3f8bed47e96ab8a593bce05a1e4e1c436dcd244a3b7e0c2a9d`

`"step/start"`

<a id="persistence-type-stop"></a>

#### `"stop"`

SHA-256: `57f3f606ff8b6c84d9c443faace9d1dd10cca0354f37a4f515ef075f7c351b90`

`"stop"`

<a id="persistence-type-string"></a>

#### `string`

SHA-256: `4cd48f3e5108bd6ebedf7301c3638839b8b2b9db8dbd493974177fbdeb91a01b`

来源:`packages/api/session-controller/src/types.ts` · `packages/attachment/attachment/src/brand.ts` · `packages/compaction/compaction/src/brand.ts` · `packages/core/session/src/types.ts` · `packages/experimental/agent-team/src/types.ts` · `packages/feedback/message-feedback/src/types.ts` · `packages/goal/goal/src/types.ts` · `packages/interaction/commands/src/brand.ts` · `packages/interaction/user-approval/src/types.ts` · `packages/llm/llm-retry/src/brand.ts` · `packages/llm/llm/src/brand.ts` · `packages/schedule/schedule/src/types.ts` · `packages/session/session-title/src/index.ts` · `packages/session/session-title/src/types.ts` · `packages/webhook/webhook/src/brand.ts` · `packages/workflow/workflow/src/types.ts`

`string`

<a id="persistence-type-subagent"></a>

#### `"subagent"`

SHA-256: `aacda84a69739238aa782eea902d3073017d9d74b9808de2bf5a83c9738cbdc6`

`"subagent"`

<a id="persistence-type-subagent-settled"></a>

#### `"subagent-settled"`

SHA-256: `bf16d2e98a7f13894ded2cffe5ce857bf473954a0e3c0ed9bc7739e2e1c7b78a`

`"subagent-settled"`

<a id="persistence-type-subagentdescriptor"></a>

#### `"subagent/descriptor"`

SHA-256: `5ebce1317eacd2c148456627a09668e927ee15c204f0643f5ea76b46b54a2647`

`"subagent/descriptor"`

<a id="persistence-type-subagentmodel-selection-policy"></a>

#### `"subagent/model-selection-policy"`

SHA-256: `0a8a062bc9c3c0d97fd97742262f2ea53dd32297f834e81114870d38ac3dc6da`

`"subagent/model-selection-policy"`

<a id="persistence-type-success"></a>

#### `"success"`

SHA-256: `511801b0a6470d98566e8385d3dffddb2b67f79fcf73ed6056f46c3cc0a245a7`

`"success"`

<a id="persistence-type-system"></a>

#### `"system"`

SHA-256: `8af841fc9b265ade3441caf9fe40dd24db24226befba48150e6d0eeccc1389c3`

`"system"`

<a id="persistence-type-team-message"></a>

#### `"team-message"`

SHA-256: `2e4debca12f2c449f96dc6574f3fbf2fb346193443114a241d01a236362ec48c`

`"team-message"`

<a id="persistence-type-teammember"></a>

#### `"team/member"`

SHA-256: `18fcdd273a2f2f9d813a3be5e71df5903a963a5c88e46b90b14de6e2db890da0`

`"team/member"`

<a id="persistence-type-teammessagedelivered"></a>

#### `"team/message/delivered"`

SHA-256: `a8a2b9011fc067862df7ce40748868467e5778283d7ac193c13f77684a914c57`

`"team/message/delivered"`

<a id="persistence-type-teammessagequeued"></a>

#### `"team/message/queued"`

SHA-256: `4e011753f8263f436efaabfbb3b4db53a98fc55342c5ded2daf7208b217be159`

`"team/message/queued"`

<a id="persistence-type-teamtask"></a>

#### `"team/task"`

SHA-256: `b57ae1b37e52bee0a21cbdace168dc6a15582bcda8c306dad962c5dcc8a8e28b`

`"team/task"`

<a id="persistence-type-text"></a>

#### `"text"`

SHA-256: `4e44c9118152f6829634bfd508e47669ab0497caffa380c94b4be91f9390d35d`

`"text"`

<a id="persistence-type-text-chunks"></a>

#### `"text-chunks"`

SHA-256: `f9cfc89e8fe085b4fcc9cd32b74b6f103608c54d7d8cd97b47c01de34f252ba3`

`"text-chunks"`

<a id="persistence-type-text-delta"></a>

#### `"text-delta"`

SHA-256: `5abab3a27fd2736660ecddd94b28d6bbf114986dd894880153bd1be3ccacb563`

`"text-delta"`

<a id="persistence-type-todowrite"></a>

#### `"todo/write"`

SHA-256: `af0750d32d97d47b12b7361a587db41894b17e04c9a805fe212f0114aa2248c7`

`"todo/write"`

<a id="persistence-type-tool"></a>

#### `"tool"`

SHA-256: `a13d8f379222ece8a02a86efe4c8334af4f108ecb3034b38c0a42bb3046e6847`

`"tool"`

<a id="persistence-type-tool-call"></a>

#### `"tool-call"`

SHA-256: `1f0133217eeeffd8d387baf1ec8ed9856e719bcd999dc08e48624cba96d75fd7`

`"tool-call"`

<a id="persistence-type-tool-call-chunks"></a>

#### `"tool-call-chunks"`

SHA-256: `616f93a5047de668e1c30d57b1786abd76beeb4123599637ec1dc5290320ede5`

`"tool-call-chunks"`

<a id="persistence-type-tool-call-delta"></a>

#### `"tool-call-delta"`

SHA-256: `9b4fd974c124c83743efe030ba4e1250e087505f3f74588716a521fb8d453267`

`"tool-call-delta"`

<a id="persistence-type-tool-calls"></a>

#### `"tool-calls"`

SHA-256: `6c1cccb433ddc153facb380c7dda956237ba5c31f8a532a69142dc277890cc9b`

`"tool-calls"`

<a id="persistence-type-tool-result"></a>

#### `"tool-result"`

SHA-256: `e5244812c495a80c2e78ba2c2690dca5f6b58ea8d3fe5531ff94a6f9ac5e5d66`

`"tool-result"`

<a id="persistence-type-tool-workflowagent-end"></a>

#### `"tool-workflow/agent-end"`

SHA-256: `5d17f27a1ef9f7026c0232714adf7573961536d75f3303ca97973975f5af170e`

`"tool-workflow/agent-end"`

<a id="persistence-type-tool-workflowagent-start"></a>

#### `"tool-workflow/agent-start"`

SHA-256: `ad92f473a03ae72599ff26c86e897c25e16269519ad2a87340f0bea946517af8`

`"tool-workflow/agent-start"`

<a id="persistence-type-tool-workflowrun-end"></a>

#### `"tool-workflow/run-end"`

SHA-256: `fe792a6cd430494503837e21e79f91677704ccdd9e870c679aabd7d43ed47ddd`

`"tool-workflow/run-end"`

<a id="persistence-type-tool-workflowrun-start"></a>

#### `"tool-workflow/run-start"`

SHA-256: `cdca80b8dad24d4e7b1d5a288a8475ba8d8d46be385bd2da85f122ee836f1670`

`"tool-workflow/run-start"`

<a id="persistence-type-toolcall"></a>

#### `"tool/call"`

SHA-256: `c589e938cc0e4989df8b82abef6339de621f0dc4fe62c230d145b94996af7f92`

`"tool/call"`

<a id="persistence-type-toolcode-dispatch"></a>

#### `"tool/code-dispatch"`

SHA-256: `d6a66029373faad69ad945ab03b247bddfe60af671a681242700ae43b95a44d0`

`"tool/code-dispatch"`

<a id="persistence-type-toolcode-dispatch-start"></a>

#### `"tool/code-dispatch-start"`

SHA-256: `69534812d4e49cba13881138628a0b4421748280c20bd02e6db37ae242428b44`

`"tool/code-dispatch-start"`

<a id="persistence-type-toolresult"></a>

#### `"tool/result"`

SHA-256: `570e85022434613394418ad33e77e9f1f7a05699b33d0b62eae0677a638c3833`

`"tool/result"`

<a id="persistence-type-true"></a>

#### `true`

SHA-256: `dacf3d5f3e4ff619c1320e64a48dec5e7ecd7870bece65fbd449a0e63adfa521`

`true`

<a id="persistence-type-turnend"></a>

#### `"turn/end"`

SHA-256: `4312134fc6f9cad507c31390bd3d147535492dd77621ec517c5e85f853d53a03`

`"turn/end"`

<a id="persistence-type-turnstart"></a>

#### `"turn/start"`

SHA-256: `0af3ecfb8c60d416fc40a7cc4fb2c4851a8e46608b2b38ab9e510670c971aa1f`

`"turn/start"`

<a id="persistence-type-unavailable"></a>

#### `"unavailable"`

SHA-256: `2c4c21f19f426a58f2dac914e34313aa43f8408972de857a486d1f086d5adb6c`

`"unavailable"`

<a id="persistence-type-unknown"></a>

#### `unknown`

SHA-256: `bbc5696e3f13c758237b316e3cf08cda0b9fd51ffe672539883457769faa185d`

`unknown`:此声明未暴露存储值的内部字段。

<a id="persistence-type-usage"></a>

#### `"usage"`

SHA-256: `0bdaf9cb63594be4ef034b68901fffe792fe09d6d5f6bac42d7f56f6e7834fb9`

`"usage"`

<a id="persistence-type-user"></a>

#### `"user"`

SHA-256: `68f44f59e91c41395076cb77265981a601680ec8a381bbbeb6ab754ffdc94573`

`"user"`

<a id="persistence-type-usermessage"></a>

#### `"user/message"`

SHA-256: `de25352d2dc4196309bd84b5bac6319f6d5c898ea0e82bb5ae66c5738d0d426f`

`"user/message"`

<a id="persistence-type-web_search"></a>

#### `"web_search"`

SHA-256: `935c8d486292b13c87b57ca280eb8c58b5b2f5239be86fcd4334c33fdeb87682`

`"web_search"`

<a id="persistence-type-web_search_20250305"></a>

#### `"web_search_20250305"`

SHA-256: `0116b1f89c05221d56b0ba35c83d302bf4857bc7277d247e9bbaf74b27d2c66e`

`"web_search_20250305"`

<a id="persistence-type-webdeepseek-search-llm-request"></a>

#### `"web/deepseek-search-llm-request"`

SHA-256: `6f611bed14b2106542480c4a230b4a83baf76dc0d8ac0cd13319a7cb8dae7675`

`"web/deepseek-search-llm-request"`

<a id="persistence-type-webhook"></a>

#### `"webhook"`

SHA-256: `db6c5246911d47a7969f6b4cb47c7d0dbbde75c402710b22ace3672fa97bebe0`

`"webhook"`

<a id="persistence-type-workspace-write"></a>

#### `"workspace-write"`

SHA-256: `a3edd1efd1fef21b72c55e213c8a8b24196b091abde2b89db52be0b2aaae3cfa`

`"workspace-write"`

</details>

<!-- persistence-format-schema:end -->

<a id="verification"></a>
## 验证与限制

[仅使用源码的提取器](../../../scripts/persistence-schema.ts)以 TypeScript 6.0.3 运行。重建时省略冗余的 `object` 交叉类型成员,并丢弃规范化后不可达的类型定义;保留已有的 `any` / `unknown`,不以不透明类型替代未解析的导入。V0 与 V2 根类型摘要与从预发布归档重建的对应完整状态一致。

历史 surface 事件声明允许可选的 `surfaceOp`。这保留了类型声明证据,并不允许省略 codec 或迁移验证器要求的字段。不透明值、外部插件事件、打包的 body 编码与运行时关系均不在类型目录覆盖范围内。

```sh
pnpm run verify-persistence-formats

该检查仅使用本工作树验证直到当前写入器的每个格式、schema 完整性、双语声明与生成表格。它不会回放历史应用,也不确立迁移安全性。维护规则参见格式索引,当前声明参见当前目录。

开发备注

无。