@kilocode/schema 0.0.0-stage → 0.0.0-v2-9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/agent.d.ts +179 -0
  2. package/dist/agent.js +45 -0
  3. package/dist/command.d.ts +76 -0
  4. package/dist/command.js +13 -0
  5. package/dist/config/agent.d.ts +42 -0
  6. package/dist/config/agent.js +21 -0
  7. package/dist/config/command.d.ts +28 -0
  8. package/dist/config/command.js +13 -0
  9. package/dist/config/compaction.d.ts +14 -0
  10. package/dist/config/compaction.js +13 -0
  11. package/dist/config/experimental.d.ts +20 -0
  12. package/dist/config/experimental.js +27 -0
  13. package/dist/config/formatter.d.ts +11 -0
  14. package/dist/config/formatter.js +11 -0
  15. package/dist/config/lsp.d.ts +20 -0
  16. package/dist/config/lsp.js +16 -0
  17. package/dist/config/mcp.d.ts +20 -0
  18. package/dist/config/mcp.js +15 -0
  19. package/dist/config/media.d.ts +15 -0
  20. package/dist/config/media.js +14 -0
  21. package/dist/config/model.d.ts +18 -0
  22. package/dist/config/model.js +28 -0
  23. package/dist/config/plugin.d.ts +11 -0
  24. package/dist/config/plugin.js +10 -0
  25. package/dist/config/policy.d.ts +10 -0
  26. package/dist/config/policy.js +8 -0
  27. package/dist/config/provider.d.ts +392 -0
  28. package/dist/config/provider.js +109 -0
  29. package/dist/config/reference.d.ts +21 -0
  30. package/dist/config/reference.js +18 -0
  31. package/dist/config/shell.d.ts +9 -0
  32. package/dist/config/shell.js +7 -0
  33. package/dist/config/tool-output.d.ts +8 -0
  34. package/dist/config/tool-output.js +8 -0
  35. package/dist/config/warming.d.ts +10 -0
  36. package/dist/config/warming.js +16 -0
  37. package/dist/config/watcher.d.ts +7 -0
  38. package/dist/config/watcher.js +7 -0
  39. package/dist/config/websearch.d.ts +9 -0
  40. package/dist/config/websearch.js +13 -0
  41. package/dist/config/worktree.d.ts +7 -0
  42. package/dist/config/worktree.js +7 -0
  43. package/dist/config.d.ts +182 -0
  44. package/dist/config.js +135 -0
  45. package/dist/connection.d.ts +79 -0
  46. package/dist/connection.js +25 -0
  47. package/dist/credential-legacy.d.ts +54 -0
  48. package/dist/credential-legacy.js +19 -0
  49. package/dist/credential.d.ts +255 -0
  50. package/dist/credential.js +56 -0
  51. package/dist/durable-event-manifest.d.ts +3 -0
  52. package/dist/durable-event-manifest.js +5 -0
  53. package/dist/event-log.d.ts +14 -0
  54. package/dist/event-log.js +17 -0
  55. package/dist/event-manifest.d.ts +12865 -0
  56. package/dist/event-manifest.js +48 -0
  57. package/dist/event.d.ts +142 -0
  58. package/dist/event.js +110 -0
  59. package/dist/file-diff.d.ts +21 -0
  60. package/dist/file-diff.js +18 -0
  61. package/dist/filesystem-v1.d.ts +1 -0
  62. package/dist/filesystem-v1.js +1 -0
  63. package/dist/filesystem.d.ts +123 -0
  64. package/dist/filesystem.js +38 -0
  65. package/dist/form.d.ts +1438 -0
  66. package/dist/form.js +128 -0
  67. package/dist/identifier.d.ts +4 -0
  68. package/dist/identifier.js +25 -0
  69. package/dist/index.d.ts +41 -0
  70. package/dist/index.js +41 -0
  71. package/dist/installation-event.d.ts +149 -0
  72. package/dist/installation-event.js +16 -0
  73. package/dist/instruction-entry.d.ts +29 -0
  74. package/dist/instruction-entry.js +26 -0
  75. package/dist/instruction.d.ts +13 -0
  76. package/dist/instruction.js +8 -0
  77. package/dist/integration-id.d.ts +5 -0
  78. package/dist/integration-id.js +3 -0
  79. package/dist/integration.d.ts +2410 -0
  80. package/dist/integration.js +91 -0
  81. package/dist/kilocode/gateway.d.ts +975 -0
  82. package/dist/kilocode/gateway.js +328 -0
  83. package/dist/kilocode/handshake.d.ts +36 -0
  84. package/dist/kilocode/handshake.js +29 -0
  85. package/dist/kilocode/marketplace.d.ts +593 -0
  86. package/dist/kilocode/marketplace.js +122 -0
  87. package/dist/kilocode/provider-usage.d.ts +371 -0
  88. package/dist/kilocode/provider-usage.js +60 -0
  89. package/dist/legacy-event.d.ts +1 -0
  90. package/dist/legacy-event.js +1 -0
  91. package/dist/llm.d.ts +4 -0
  92. package/dist/llm.js +3 -0
  93. package/dist/location-event.d.ts +68 -0
  94. package/dist/location-event.js +5 -0
  95. package/dist/location.d.ts +56 -0
  96. package/dist/location.js +28 -0
  97. package/dist/lsp-event.d.ts +67 -0
  98. package/dist/lsp-event.js +4 -0
  99. package/dist/mcp-event.d.ts +222 -0
  100. package/dist/mcp-event.js +24 -0
  101. package/dist/mcp.d.ts +145 -0
  102. package/dist/mcp.js +120 -0
  103. package/dist/model-compatibility.d.ts +38 -0
  104. package/dist/model-compatibility.js +28 -0
  105. package/dist/model.d.ts +406 -0
  106. package/dist/model.js +115 -0
  107. package/dist/models-dev.d.ts +69 -0
  108. package/dist/models-dev.js +7 -0
  109. package/dist/money.d.ts +10 -0
  110. package/dist/money.js +5 -0
  111. package/dist/permission-saved.d.ts +22 -0
  112. package/dist/permission-saved.js +16 -0
  113. package/dist/permission-v1.d.ts +1 -0
  114. package/dist/permission-v1.js +1 -0
  115. package/dist/permission.d.ts +302 -0
  116. package/dist/permission.js +46 -0
  117. package/dist/persistent-pty.d.ts +539 -0
  118. package/dist/persistent-pty.js +55 -0
  119. package/dist/plugin.d.ts +132 -0
  120. package/dist/plugin.js +37 -0
  121. package/dist/project-id.d.ts +5 -0
  122. package/dist/project-id.js +3 -0
  123. package/dist/project.d.ts +270 -0
  124. package/dist/project.js +47 -0
  125. package/dist/prompt-input.d.ts +110 -0
  126. package/dist/prompt-input.js +21 -0
  127. package/dist/prompt.d.ts +297 -0
  128. package/dist/prompt.js +61 -0
  129. package/dist/provider.d.ts +275 -0
  130. package/dist/provider.js +66 -0
  131. package/dist/pty-ticket.d.ts +8 -0
  132. package/dist/pty-ticket.js +7 -0
  133. package/dist/pty.d.ts +462 -0
  134. package/dist/pty.js +43 -0
  135. package/dist/question.d.ts +15 -0
  136. package/dist/question.js +15 -0
  137. package/dist/reference.d.ts +120 -0
  138. package/dist/reference.js +30 -0
  139. package/dist/rpc.d.ts +111 -0
  140. package/dist/rpc.js +9 -0
  141. package/dist/schema.d.ts +11 -0
  142. package/dist/schema.js +17 -0
  143. package/dist/server-event.d.ts +132 -0
  144. package/dist/server-event.js +5 -0
  145. package/dist/session-error.d.ts +16 -0
  146. package/dist/session-error.js +11 -0
  147. package/dist/session-event.d.ts +21417 -0
  148. package/dist/session-event.js +565 -0
  149. package/dist/session-fork.d.ts +16 -0
  150. package/dist/session-fork.js +7 -0
  151. package/dist/session-id.d.ts +5 -0
  152. package/dist/session-id.js +6 -0
  153. package/dist/session-inbox.d.ts +756 -0
  154. package/dist/session-inbox.js +47 -0
  155. package/dist/session-legacy.d.ts +7 -0
  156. package/dist/session-legacy.js +118 -0
  157. package/dist/session-message.d.ts +2049 -0
  158. package/dist/session-message.js +234 -0
  159. package/dist/session-metadata.d.ts +8 -0
  160. package/dist/session-metadata.js +9 -0
  161. package/dist/session-revert.d.ts +896 -0
  162. package/dist/session-revert.js +63 -0
  163. package/dist/session-stats.d.ts +186 -0
  164. package/dist/session-stats.js +53 -0
  165. package/dist/session-status-event.d.ts +291 -0
  166. package/dist/session-status-event.js +45 -0
  167. package/dist/session-transfer.d.ts +910 -0
  168. package/dist/session-transfer.js +8 -0
  169. package/dist/session-v1.d.ts +1 -0
  170. package/dist/session-v1.js +1 -0
  171. package/dist/session.d.ts +320 -0
  172. package/dist/session.js +116 -0
  173. package/dist/shell.d.ts +386 -0
  174. package/dist/shell.js +61 -0
  175. package/dist/skill.d.ts +130 -0
  176. package/dist/skill.js +47 -0
  177. package/dist/snapshot.d.ts +4 -0
  178. package/dist/snapshot.js +3 -0
  179. package/dist/token-usage.d.ts +14 -0
  180. package/dist/token-usage.js +14 -0
  181. package/dist/tool.d.ts +78 -0
  182. package/dist/tool.js +22 -0
  183. package/dist/tui-event.d.ts +307 -0
  184. package/dist/tui-event.js +52 -0
  185. package/dist/v1/filesystem.d.ts +78 -0
  186. package/dist/v1/filesystem.js +8 -0
  187. package/dist/v1/legacy-event.d.ts +104 -0
  188. package/dist/v1/legacy-event.js +15 -0
  189. package/dist/v1/permission.d.ts +306 -0
  190. package/dist/v1/permission.js +41 -0
  191. package/dist/v1/session.d.ts +6977 -0
  192. package/dist/v1/session.js +531 -0
  193. package/dist/vcs-event.d.ts +76 -0
  194. package/dist/vcs-event.js +11 -0
  195. package/dist/vcs.d.ts +36 -0
  196. package/dist/vcs.js +24 -0
  197. package/dist/websearch.d.ts +108 -0
  198. package/dist/websearch.js +33 -0
  199. package/dist/workspace-event.d.ts +247 -0
  200. package/dist/workspace-event.js +25 -0
  201. package/dist/workspace-id.d.ts +6 -0
  202. package/dist/workspace-id.js +14 -0
  203. package/dist/workspace.d.ts +15 -0
  204. package/dist/workspace.js +14 -0
  205. package/dist/worktree-event.d.ts +153 -0
  206. package/dist/worktree-event.js +18 -0
  207. package/dist/worktree.d.ts +282 -0
  208. package/dist/worktree.js +83 -0
  209. package/package.json +42 -4
  210. package/README.md +0 -3
@@ -0,0 +1,2049 @@
1
+ export * as SessionMessage from "./session-message.js";
2
+ import { Schema } from "effect";
3
+ export declare const ID: Schema.brand<Schema.String, "Session.Message.ID"> & {
4
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
5
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
6
+ };
7
+ export type ID = typeof ID.Type;
8
+ /**
9
+ * Provider-owned replay data, keyed by the producing provider's metadata fields and echoed back verbatim. A tool's
10
+ * result data is merged into its call data, so adapters must not reuse a key with a different value across the two.
11
+ */
12
+ export declare const Native: Schema.$Record<Schema.String, Schema.Unknown>;
13
+ export type Native = typeof Native.Type;
14
+ export interface AgentSelected extends Schema.Schema.Type<typeof AgentSelected> {
15
+ }
16
+ export declare const AgentSelected: Schema.Struct<{
17
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
18
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
19
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
20
+ };
21
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
22
+ readonly time: Schema.Struct<{
23
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
24
+ }>;
25
+ readonly type: Schema.tag<"agent-switched">;
26
+ readonly agent: Schema.brand<Schema.String, "Agent.ID">;
27
+ readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
28
+ }>;
29
+ export interface ModelSelected extends Schema.Schema.Type<typeof ModelSelected> {
30
+ }
31
+ export declare const ModelSelected: Schema.Struct<{
32
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
33
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
34
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
35
+ };
36
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
37
+ readonly time: Schema.Struct<{
38
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
39
+ }>;
40
+ readonly type: Schema.tag<"model-switched">;
41
+ readonly model: Schema.Struct<{
42
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
43
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
44
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
45
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
46
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
47
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
48
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
49
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
50
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
51
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
52
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
53
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
54
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
55
+ };
56
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
57
+ }> & {
58
+ parse: (input: string) => {
59
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
60
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
61
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
62
+ };
63
+ };
64
+ readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
65
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
66
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
67
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
68
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
69
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
70
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
71
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
72
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
73
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
74
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
75
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
76
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
77
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
78
+ };
79
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
80
+ }> & {
81
+ parse: (input: string) => {
82
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
83
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
84
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
85
+ };
86
+ }>>, Schema.optionalKey<Schema.Struct<{
87
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
88
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
89
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
90
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
91
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
92
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
93
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
94
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
95
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
96
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
97
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
98
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
99
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
100
+ };
101
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
102
+ }> & {
103
+ parse: (input: string) => {
104
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
105
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
106
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
107
+ };
108
+ }>, never, never>;
109
+ }>;
110
+ export interface LocationSwitched extends Schema.Schema.Type<typeof LocationSwitched> {
111
+ }
112
+ export declare const LocationSwitched: Schema.Struct<{
113
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
114
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
115
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
116
+ };
117
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
118
+ readonly time: Schema.Struct<{
119
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
120
+ }>;
121
+ readonly type: Schema.tag<"location-switched">;
122
+ readonly location: Schema.Struct<{
123
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
124
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
125
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
126
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
127
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
128
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
129
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
130
+ }>, never, never>;
131
+ }>;
132
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
133
+ global: string & import("effect/Brand").Brand<"Project.ID">;
134
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
135
+ global: string & import("effect/Brand").Brand<"Project.ID">;
136
+ }>, never, never>;
137
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
138
+ readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
139
+ readonly location: Schema.Struct<{
140
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
141
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
142
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
143
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
144
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
145
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
146
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
147
+ }>, never, never>;
148
+ }>;
149
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
150
+ global: string & import("effect/Brand").Brand<"Project.ID">;
151
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
152
+ global: string & import("effect/Brand").Brand<"Project.ID">;
153
+ }>, never, never>;
154
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
155
+ }>>>, Schema.optionalKey<Schema.Struct<{
156
+ readonly location: Schema.Struct<{
157
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
158
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
159
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
160
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
161
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
162
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
163
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
164
+ }>, never, never>;
165
+ }>;
166
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
167
+ global: string & import("effect/Brand").Brand<"Project.ID">;
168
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
169
+ global: string & import("effect/Brand").Brand<"Project.ID">;
170
+ }>, never, never>;
171
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
172
+ }>>, never, never>;
173
+ }>;
174
+ export interface User extends Schema.Schema.Type<typeof User> {
175
+ }
176
+ export declare const User: Schema.Struct<{
177
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
178
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
179
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
180
+ };
181
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
182
+ readonly time: Schema.Struct<{
183
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
184
+ }>;
185
+ readonly text: Schema.String;
186
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
187
+ readonly data: Schema.String;
188
+ readonly mime: Schema.String;
189
+ readonly source: Schema.Union<readonly [Schema.Struct<{
190
+ readonly type: Schema.Literal<"inline">;
191
+ }>, Schema.Struct<{
192
+ readonly type: Schema.Literal<"uri">;
193
+ readonly uri: Schema.String;
194
+ }>]>;
195
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
196
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
197
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
198
+ readonly start: Schema.Finite;
199
+ readonly end: Schema.Finite;
200
+ readonly text: Schema.String;
201
+ }>>>, Schema.optionalKey<Schema.Struct<{
202
+ readonly start: Schema.Finite;
203
+ readonly end: Schema.Finite;
204
+ readonly text: Schema.String;
205
+ }>>, never, never>;
206
+ }> & {
207
+ create: (input: import("./prompt.js").FileAttachment) => {
208
+ readonly data: string;
209
+ readonly mime: string;
210
+ readonly source: {
211
+ readonly type: "inline";
212
+ } | {
213
+ readonly type: "uri";
214
+ readonly uri: string;
215
+ };
216
+ readonly name?: string | undefined;
217
+ readonly description?: string | undefined;
218
+ readonly mention?: {
219
+ readonly start: number;
220
+ readonly end: number;
221
+ readonly text: string;
222
+ } | undefined;
223
+ };
224
+ }>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
225
+ readonly data: Schema.String;
226
+ readonly mime: Schema.String;
227
+ readonly source: Schema.Union<readonly [Schema.Struct<{
228
+ readonly type: Schema.Literal<"inline">;
229
+ }>, Schema.Struct<{
230
+ readonly type: Schema.Literal<"uri">;
231
+ readonly uri: Schema.String;
232
+ }>]>;
233
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
234
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
235
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
236
+ readonly start: Schema.Finite;
237
+ readonly end: Schema.Finite;
238
+ readonly text: Schema.String;
239
+ }>>>, Schema.optionalKey<Schema.Struct<{
240
+ readonly start: Schema.Finite;
241
+ readonly end: Schema.Finite;
242
+ readonly text: Schema.String;
243
+ }>>, never, never>;
244
+ }> & {
245
+ create: (input: import("./prompt.js").FileAttachment) => {
246
+ readonly data: string;
247
+ readonly mime: string;
248
+ readonly source: {
249
+ readonly type: "inline";
250
+ } | {
251
+ readonly type: "uri";
252
+ readonly uri: string;
253
+ };
254
+ readonly name?: string | undefined;
255
+ readonly description?: string | undefined;
256
+ readonly mention?: {
257
+ readonly start: number;
258
+ readonly end: number;
259
+ readonly text: string;
260
+ } | undefined;
261
+ };
262
+ }>>, never, never>;
263
+ readonly agents: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
264
+ readonly name: Schema.String;
265
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
266
+ readonly start: Schema.Finite;
267
+ readonly end: Schema.Finite;
268
+ readonly text: Schema.String;
269
+ }>>>, Schema.optionalKey<Schema.Struct<{
270
+ readonly start: Schema.Finite;
271
+ readonly end: Schema.Finite;
272
+ readonly text: Schema.String;
273
+ }>>, never, never>;
274
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
275
+ readonly name: Schema.String;
276
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
277
+ readonly start: Schema.Finite;
278
+ readonly end: Schema.Finite;
279
+ readonly text: Schema.String;
280
+ }>>>, Schema.optionalKey<Schema.Struct<{
281
+ readonly start: Schema.Finite;
282
+ readonly end: Schema.Finite;
283
+ readonly text: Schema.String;
284
+ }>>, never, never>;
285
+ }>>>, never, never>;
286
+ readonly skills: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
287
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
288
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
289
+ readonly text: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
290
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
291
+ readonly start: Schema.Finite;
292
+ readonly end: Schema.Finite;
293
+ readonly text: Schema.String;
294
+ }>>>, Schema.optionalKey<Schema.Struct<{
295
+ readonly start: Schema.Finite;
296
+ readonly end: Schema.Finite;
297
+ readonly text: Schema.String;
298
+ }>>, never, never>;
299
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
300
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
301
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
302
+ readonly text: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
303
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
304
+ readonly start: Schema.Finite;
305
+ readonly end: Schema.Finite;
306
+ readonly text: Schema.String;
307
+ }>>>, Schema.optionalKey<Schema.Struct<{
308
+ readonly start: Schema.Finite;
309
+ readonly end: Schema.Finite;
310
+ readonly text: Schema.String;
311
+ }>>, never, never>;
312
+ }>>>, never, never>;
313
+ readonly type: Schema.tag<"user">;
314
+ }>;
315
+ export interface Synthetic extends Schema.Schema.Type<typeof Synthetic> {
316
+ }
317
+ export declare const Synthetic: Schema.Struct<{
318
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
319
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
320
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
321
+ };
322
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
323
+ readonly time: Schema.Struct<{
324
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
325
+ }>;
326
+ readonly text: Schema.String;
327
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
328
+ readonly type: Schema.tag<"synthetic">;
329
+ }>;
330
+ export interface System extends Schema.Schema.Type<typeof System> {
331
+ }
332
+ export declare const System: Schema.Struct<{
333
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
334
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
335
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
336
+ };
337
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
338
+ readonly time: Schema.Struct<{
339
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
340
+ }>;
341
+ readonly type: Schema.tag<"system">;
342
+ /** The model-facing update text, frozen at emit time. */
343
+ readonly text: Schema.String;
344
+ /** A short human-readable summary for transcript display. */
345
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
346
+ }>;
347
+ export interface Skill extends Schema.Schema.Type<typeof Skill> {
348
+ }
349
+ export declare const Skill: Schema.Struct<{
350
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
351
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
352
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
353
+ };
354
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
355
+ readonly time: Schema.Struct<{
356
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
357
+ }>;
358
+ readonly type: Schema.tag<"skill">;
359
+ readonly skill: Schema.brand<Schema.String, "Skill.ID">;
360
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
361
+ readonly text: Schema.String;
362
+ }>;
363
+ export interface Shell extends Schema.Schema.Type<typeof Shell> {
364
+ }
365
+ export declare const Shell: Schema.Struct<{
366
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
367
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
368
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
369
+ };
370
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
371
+ readonly type: Schema.tag<"shell">;
372
+ readonly shellID: Schema.brand<Schema.String, "Shell.ID"> & {
373
+ create: () => string & import("effect/Brand").Brand<"Shell.ID">;
374
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Shell.ID">;
375
+ };
376
+ readonly command: Schema.String;
377
+ readonly status: Schema.Literals<readonly ["running", "exited", "timeout", "killed"]>;
378
+ readonly exit: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
379
+ readonly output: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
380
+ readonly output: Schema.String;
381
+ readonly cursor: Schema.Int;
382
+ readonly size: Schema.Int;
383
+ readonly truncated: Schema.Boolean;
384
+ }>>>, Schema.optionalKey<Schema.Struct<{
385
+ readonly output: Schema.String;
386
+ readonly cursor: Schema.Int;
387
+ readonly size: Schema.Int;
388
+ readonly truncated: Schema.Boolean;
389
+ }>>, never, never>;
390
+ readonly time: Schema.Struct<{
391
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
392
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
393
+ }>;
394
+ }>;
395
+ export interface ToolStateStreaming extends Schema.Schema.Type<typeof ToolStateStreaming> {
396
+ }
397
+ export declare const ToolStateStreaming: Schema.Struct<{
398
+ readonly status: Schema.tag<"streaming">;
399
+ readonly input: Schema.String;
400
+ }>;
401
+ export interface ToolStateRunning extends Schema.Schema.Type<typeof ToolStateRunning> {
402
+ }
403
+ export declare const ToolStateRunning: Schema.Struct<{
404
+ readonly status: Schema.tag<"running">;
405
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
406
+ readonly metadata: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
407
+ }>;
408
+ export interface ToolStateCompleted extends Schema.Schema.Type<typeof ToolStateCompleted> {
409
+ }
410
+ export declare const ToolStateCompleted: Schema.Struct<{
411
+ readonly status: Schema.tag<"completed">;
412
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
413
+ readonly content: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
414
+ readonly type: Schema.Literal<"text">;
415
+ readonly text: Schema.String;
416
+ }>, Schema.Struct<{
417
+ readonly type: Schema.Literal<"file">;
418
+ readonly uri: Schema.String;
419
+ readonly mime: Schema.String;
420
+ readonly name: Schema.optional<Schema.String>;
421
+ }>]>>;
422
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
423
+ }>;
424
+ export interface ToolStateError extends Schema.Schema.Type<typeof ToolStateError> {
425
+ }
426
+ export declare const ToolStateError: Schema.Struct<{
427
+ readonly status: Schema.tag<"error">;
428
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
429
+ readonly error: Schema.Struct<{
430
+ readonly type: Schema.String;
431
+ readonly message: Schema.String;
432
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
433
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
434
+ readonly body: Schema.String;
435
+ }>>>, Schema.optionalKey<Schema.Struct<{
436
+ readonly body: Schema.String;
437
+ }>>, never, never>;
438
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
439
+ }>;
440
+ readonly content: Schema.decodeTo<Schema.optional<Schema.toType<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
441
+ readonly type: Schema.Literal<"text">;
442
+ readonly text: Schema.String;
443
+ }>, Schema.Struct<{
444
+ readonly type: Schema.Literal<"file">;
445
+ readonly uri: Schema.String;
446
+ readonly mime: Schema.String;
447
+ readonly name: Schema.optional<Schema.String>;
448
+ }>]>>>>, Schema.optionalKey<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
449
+ readonly type: Schema.Literal<"text">;
450
+ readonly text: Schema.String;
451
+ }>, Schema.Struct<{
452
+ readonly type: Schema.Literal<"file">;
453
+ readonly uri: Schema.String;
454
+ readonly mime: Schema.String;
455
+ readonly name: Schema.optional<Schema.String>;
456
+ }>]>>>, never, never>;
457
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
458
+ }>;
459
+ export declare const ToolState: Schema.toTaggedUnion<"status", readonly [Schema.Struct<{
460
+ readonly status: Schema.tag<"streaming">;
461
+ readonly input: Schema.String;
462
+ }>, Schema.Struct<{
463
+ readonly status: Schema.tag<"running">;
464
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
465
+ readonly metadata: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
466
+ }>, Schema.Struct<{
467
+ readonly status: Schema.tag<"completed">;
468
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
469
+ readonly content: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
470
+ readonly type: Schema.Literal<"text">;
471
+ readonly text: Schema.String;
472
+ }>, Schema.Struct<{
473
+ readonly type: Schema.Literal<"file">;
474
+ readonly uri: Schema.String;
475
+ readonly mime: Schema.String;
476
+ readonly name: Schema.optional<Schema.String>;
477
+ }>]>>;
478
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
479
+ }>, Schema.Struct<{
480
+ readonly status: Schema.tag<"error">;
481
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
482
+ readonly error: Schema.Struct<{
483
+ readonly type: Schema.String;
484
+ readonly message: Schema.String;
485
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
486
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
487
+ readonly body: Schema.String;
488
+ }>>>, Schema.optionalKey<Schema.Struct<{
489
+ readonly body: Schema.String;
490
+ }>>, never, never>;
491
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
492
+ }>;
493
+ readonly content: Schema.decodeTo<Schema.optional<Schema.toType<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
494
+ readonly type: Schema.Literal<"text">;
495
+ readonly text: Schema.String;
496
+ }>, Schema.Struct<{
497
+ readonly type: Schema.Literal<"file">;
498
+ readonly uri: Schema.String;
499
+ readonly mime: Schema.String;
500
+ readonly name: Schema.optional<Schema.String>;
501
+ }>]>>>>, Schema.optionalKey<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
502
+ readonly type: Schema.Literal<"text">;
503
+ readonly text: Schema.String;
504
+ }>, Schema.Struct<{
505
+ readonly type: Schema.Literal<"file">;
506
+ readonly uri: Schema.String;
507
+ readonly mime: Schema.String;
508
+ readonly name: Schema.optional<Schema.String>;
509
+ }>]>>>, never, never>;
510
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
511
+ }>]>;
512
+ export type ToolState = ToolStateStreaming | ToolStateRunning | ToolStateCompleted | ToolStateError;
513
+ export interface AssistantTool extends Schema.Schema.Type<typeof AssistantTool> {
514
+ }
515
+ export declare const AssistantTool: Schema.Struct<{
516
+ readonly type: Schema.tag<"tool">;
517
+ readonly id: Schema.String;
518
+ readonly name: Schema.String;
519
+ readonly executed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
520
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
521
+ readonly state: Schema.toTaggedUnion<"status", readonly [Schema.Struct<{
522
+ readonly status: Schema.tag<"streaming">;
523
+ readonly input: Schema.String;
524
+ }>, Schema.Struct<{
525
+ readonly status: Schema.tag<"running">;
526
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
527
+ readonly metadata: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
528
+ }>, Schema.Struct<{
529
+ readonly status: Schema.tag<"completed">;
530
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
531
+ readonly content: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
532
+ readonly type: Schema.Literal<"text">;
533
+ readonly text: Schema.String;
534
+ }>, Schema.Struct<{
535
+ readonly type: Schema.Literal<"file">;
536
+ readonly uri: Schema.String;
537
+ readonly mime: Schema.String;
538
+ readonly name: Schema.optional<Schema.String>;
539
+ }>]>>;
540
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
541
+ }>, Schema.Struct<{
542
+ readonly status: Schema.tag<"error">;
543
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
544
+ readonly error: Schema.Struct<{
545
+ readonly type: Schema.String;
546
+ readonly message: Schema.String;
547
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
548
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
549
+ readonly body: Schema.String;
550
+ }>>>, Schema.optionalKey<Schema.Struct<{
551
+ readonly body: Schema.String;
552
+ }>>, never, never>;
553
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
554
+ }>;
555
+ readonly content: Schema.decodeTo<Schema.optional<Schema.toType<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
556
+ readonly type: Schema.Literal<"text">;
557
+ readonly text: Schema.String;
558
+ }>, Schema.Struct<{
559
+ readonly type: Schema.Literal<"file">;
560
+ readonly uri: Schema.String;
561
+ readonly mime: Schema.String;
562
+ readonly name: Schema.optional<Schema.String>;
563
+ }>]>>>>, Schema.optionalKey<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
564
+ readonly type: Schema.Literal<"text">;
565
+ readonly text: Schema.String;
566
+ }>, Schema.Struct<{
567
+ readonly type: Schema.Literal<"file">;
568
+ readonly uri: Schema.String;
569
+ readonly mime: Schema.String;
570
+ readonly name: Schema.optional<Schema.String>;
571
+ }>]>>>, never, never>;
572
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
573
+ }>]>;
574
+ readonly time: Schema.Struct<{
575
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
576
+ readonly ran: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
577
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
578
+ }>;
579
+ }>;
580
+ export interface AssistantText extends Schema.Schema.Type<typeof AssistantText> {
581
+ }
582
+ export declare const AssistantText: Schema.Struct<{
583
+ readonly type: Schema.tag<"text">;
584
+ readonly text: Schema.String;
585
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
586
+ }>;
587
+ export interface AssistantReasoning extends Schema.Schema.Type<typeof AssistantReasoning> {
588
+ }
589
+ export declare const AssistantReasoning: Schema.Struct<{
590
+ readonly type: Schema.tag<"reasoning">;
591
+ readonly text: Schema.String;
592
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
593
+ readonly time: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
594
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
595
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
596
+ }>>>, Schema.optionalKey<Schema.Struct<{
597
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
598
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
599
+ }>>, never, never>;
600
+ }>;
601
+ export declare const AssistantContent: Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
602
+ readonly type: Schema.tag<"text">;
603
+ readonly text: Schema.String;
604
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
605
+ }>, Schema.Struct<{
606
+ readonly type: Schema.tag<"reasoning">;
607
+ readonly text: Schema.String;
608
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
609
+ readonly time: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
610
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
611
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
612
+ }>>>, Schema.optionalKey<Schema.Struct<{
613
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
614
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
615
+ }>>, never, never>;
616
+ }>, Schema.Struct<{
617
+ readonly type: Schema.tag<"tool">;
618
+ readonly id: Schema.String;
619
+ readonly name: Schema.String;
620
+ readonly executed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
621
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
622
+ readonly state: Schema.toTaggedUnion<"status", readonly [Schema.Struct<{
623
+ readonly status: Schema.tag<"streaming">;
624
+ readonly input: Schema.String;
625
+ }>, Schema.Struct<{
626
+ readonly status: Schema.tag<"running">;
627
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
628
+ readonly metadata: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
629
+ }>, Schema.Struct<{
630
+ readonly status: Schema.tag<"completed">;
631
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
632
+ readonly content: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
633
+ readonly type: Schema.Literal<"text">;
634
+ readonly text: Schema.String;
635
+ }>, Schema.Struct<{
636
+ readonly type: Schema.Literal<"file">;
637
+ readonly uri: Schema.String;
638
+ readonly mime: Schema.String;
639
+ readonly name: Schema.optional<Schema.String>;
640
+ }>]>>;
641
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
642
+ }>, Schema.Struct<{
643
+ readonly status: Schema.tag<"error">;
644
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
645
+ readonly error: Schema.Struct<{
646
+ readonly type: Schema.String;
647
+ readonly message: Schema.String;
648
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
649
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
650
+ readonly body: Schema.String;
651
+ }>>>, Schema.optionalKey<Schema.Struct<{
652
+ readonly body: Schema.String;
653
+ }>>, never, never>;
654
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
655
+ }>;
656
+ readonly content: Schema.decodeTo<Schema.optional<Schema.toType<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
657
+ readonly type: Schema.Literal<"text">;
658
+ readonly text: Schema.String;
659
+ }>, Schema.Struct<{
660
+ readonly type: Schema.Literal<"file">;
661
+ readonly uri: Schema.String;
662
+ readonly mime: Schema.String;
663
+ readonly name: Schema.optional<Schema.String>;
664
+ }>]>>>>, Schema.optionalKey<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
665
+ readonly type: Schema.Literal<"text">;
666
+ readonly text: Schema.String;
667
+ }>, Schema.Struct<{
668
+ readonly type: Schema.Literal<"file">;
669
+ readonly uri: Schema.String;
670
+ readonly mime: Schema.String;
671
+ readonly name: Schema.optional<Schema.String>;
672
+ }>]>>>, never, never>;
673
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
674
+ }>]>;
675
+ readonly time: Schema.Struct<{
676
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
677
+ readonly ran: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
678
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
679
+ }>;
680
+ }>]>;
681
+ export type AssistantContent = AssistantText | AssistantReasoning | AssistantTool;
682
+ export declare const AssistantContentEncoded: Schema.toEncoded<Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
683
+ readonly type: Schema.tag<"text">;
684
+ readonly text: Schema.String;
685
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
686
+ }>, Schema.Struct<{
687
+ readonly type: Schema.tag<"reasoning">;
688
+ readonly text: Schema.String;
689
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
690
+ readonly time: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
691
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
692
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
693
+ }>>>, Schema.optionalKey<Schema.Struct<{
694
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
695
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
696
+ }>>, never, never>;
697
+ }>, Schema.Struct<{
698
+ readonly type: Schema.tag<"tool">;
699
+ readonly id: Schema.String;
700
+ readonly name: Schema.String;
701
+ readonly executed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
702
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
703
+ readonly state: Schema.toTaggedUnion<"status", readonly [Schema.Struct<{
704
+ readonly status: Schema.tag<"streaming">;
705
+ readonly input: Schema.String;
706
+ }>, Schema.Struct<{
707
+ readonly status: Schema.tag<"running">;
708
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
709
+ readonly metadata: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
710
+ }>, Schema.Struct<{
711
+ readonly status: Schema.tag<"completed">;
712
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
713
+ readonly content: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
714
+ readonly type: Schema.Literal<"text">;
715
+ readonly text: Schema.String;
716
+ }>, Schema.Struct<{
717
+ readonly type: Schema.Literal<"file">;
718
+ readonly uri: Schema.String;
719
+ readonly mime: Schema.String;
720
+ readonly name: Schema.optional<Schema.String>;
721
+ }>]>>;
722
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
723
+ }>, Schema.Struct<{
724
+ readonly status: Schema.tag<"error">;
725
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
726
+ readonly error: Schema.Struct<{
727
+ readonly type: Schema.String;
728
+ readonly message: Schema.String;
729
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
730
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
731
+ readonly body: Schema.String;
732
+ }>>>, Schema.optionalKey<Schema.Struct<{
733
+ readonly body: Schema.String;
734
+ }>>, never, never>;
735
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
736
+ }>;
737
+ readonly content: Schema.decodeTo<Schema.optional<Schema.toType<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
738
+ readonly type: Schema.Literal<"text">;
739
+ readonly text: Schema.String;
740
+ }>, Schema.Struct<{
741
+ readonly type: Schema.Literal<"file">;
742
+ readonly uri: Schema.String;
743
+ readonly mime: Schema.String;
744
+ readonly name: Schema.optional<Schema.String>;
745
+ }>]>>>>, Schema.optionalKey<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
746
+ readonly type: Schema.Literal<"text">;
747
+ readonly text: Schema.String;
748
+ }>, Schema.Struct<{
749
+ readonly type: Schema.Literal<"file">;
750
+ readonly uri: Schema.String;
751
+ readonly mime: Schema.String;
752
+ readonly name: Schema.optional<Schema.String>;
753
+ }>]>>>, never, never>;
754
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
755
+ }>]>;
756
+ readonly time: Schema.Struct<{
757
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
758
+ readonly ran: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
759
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
760
+ }>;
761
+ }>]>>;
762
+ export type AssistantContentEncoded = typeof AssistantContentEncoded.Type;
763
+ export interface AssistantRetry extends Schema.Schema.Type<typeof AssistantRetry> {
764
+ }
765
+ export declare const AssistantRetry: Schema.Struct<{
766
+ readonly attempt: Schema.Int;
767
+ readonly at: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
768
+ readonly error: Schema.Struct<{
769
+ readonly type: Schema.String;
770
+ readonly message: Schema.String;
771
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
772
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
773
+ readonly body: Schema.String;
774
+ }>>>, Schema.optionalKey<Schema.Struct<{
775
+ readonly body: Schema.String;
776
+ }>>, never, never>;
777
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
778
+ }>;
779
+ }>;
780
+ export interface Assistant extends Schema.Schema.Type<typeof Assistant> {
781
+ }
782
+ export declare const Assistant: Schema.Struct<{
783
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
784
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
785
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
786
+ };
787
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
788
+ readonly type: Schema.tag<"assistant">;
789
+ readonly agent: Schema.brand<Schema.String, "Agent.ID">;
790
+ readonly model: Schema.Struct<{
791
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
792
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
793
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
794
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
795
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
796
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
797
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
798
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
799
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
800
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
801
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
802
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
803
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
804
+ };
805
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
806
+ }> & {
807
+ parse: (input: string) => {
808
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
809
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
810
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
811
+ };
812
+ };
813
+ readonly content: Schema.$Array<Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
814
+ readonly type: Schema.tag<"text">;
815
+ readonly text: Schema.String;
816
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
817
+ }>, Schema.Struct<{
818
+ readonly type: Schema.tag<"reasoning">;
819
+ readonly text: Schema.String;
820
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
821
+ readonly time: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
822
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
823
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
824
+ }>>>, Schema.optionalKey<Schema.Struct<{
825
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
826
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
827
+ }>>, never, never>;
828
+ }>, Schema.Struct<{
829
+ readonly type: Schema.tag<"tool">;
830
+ readonly id: Schema.String;
831
+ readonly name: Schema.String;
832
+ readonly executed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
833
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
834
+ readonly state: Schema.toTaggedUnion<"status", readonly [Schema.Struct<{
835
+ readonly status: Schema.tag<"streaming">;
836
+ readonly input: Schema.String;
837
+ }>, Schema.Struct<{
838
+ readonly status: Schema.tag<"running">;
839
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
840
+ readonly metadata: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
841
+ }>, Schema.Struct<{
842
+ readonly status: Schema.tag<"completed">;
843
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
844
+ readonly content: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
845
+ readonly type: Schema.Literal<"text">;
846
+ readonly text: Schema.String;
847
+ }>, Schema.Struct<{
848
+ readonly type: Schema.Literal<"file">;
849
+ readonly uri: Schema.String;
850
+ readonly mime: Schema.String;
851
+ readonly name: Schema.optional<Schema.String>;
852
+ }>]>>;
853
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
854
+ }>, Schema.Struct<{
855
+ readonly status: Schema.tag<"error">;
856
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
857
+ readonly error: Schema.Struct<{
858
+ readonly type: Schema.String;
859
+ readonly message: Schema.String;
860
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
861
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
862
+ readonly body: Schema.String;
863
+ }>>>, Schema.optionalKey<Schema.Struct<{
864
+ readonly body: Schema.String;
865
+ }>>, never, never>;
866
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
867
+ }>;
868
+ readonly content: Schema.decodeTo<Schema.optional<Schema.toType<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
869
+ readonly type: Schema.Literal<"text">;
870
+ readonly text: Schema.String;
871
+ }>, Schema.Struct<{
872
+ readonly type: Schema.Literal<"file">;
873
+ readonly uri: Schema.String;
874
+ readonly mime: Schema.String;
875
+ readonly name: Schema.optional<Schema.String>;
876
+ }>]>>>>, Schema.optionalKey<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
877
+ readonly type: Schema.Literal<"text">;
878
+ readonly text: Schema.String;
879
+ }>, Schema.Struct<{
880
+ readonly type: Schema.Literal<"file">;
881
+ readonly uri: Schema.String;
882
+ readonly mime: Schema.String;
883
+ readonly name: Schema.optional<Schema.String>;
884
+ }>]>>>, never, never>;
885
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
886
+ }>]>;
887
+ readonly time: Schema.Struct<{
888
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
889
+ readonly ran: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
890
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
891
+ }>;
892
+ }>]>>;
893
+ readonly snapshot: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
894
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
895
+ readonly end: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
896
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.brand<Schema.String, "RelativePath">>>>, Schema.optionalKey<Schema.$Array<Schema.brand<Schema.String, "RelativePath">>>, never, never>;
897
+ }>>>, Schema.optionalKey<Schema.Struct<{
898
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
899
+ readonly end: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
900
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.brand<Schema.String, "RelativePath">>>>, Schema.optionalKey<Schema.$Array<Schema.brand<Schema.String, "RelativePath">>>, never, never>;
901
+ }>>, never, never>;
902
+ readonly finish: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["stop", "length", "tool-calls", "content-filter", "error", "unknown"]>>>, Schema.optionalKey<Schema.Literals<readonly ["stop", "length", "tool-calls", "content-filter", "error", "unknown"]>>, never, never>;
903
+ readonly rawFinish: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
904
+ /** Step-level native data, such as a provider's reason for blocking a response. */
905
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
906
+ readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
907
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
908
+ }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
909
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
910
+ }>, never, never>;
911
+ readonly tokens: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
912
+ readonly input: Schema.Finite;
913
+ readonly output: Schema.Finite;
914
+ readonly reasoning: Schema.Finite;
915
+ readonly cache: Schema.Struct<{
916
+ readonly read: Schema.Finite;
917
+ readonly write: Schema.Finite;
918
+ }>;
919
+ }>>>, Schema.optionalKey<Schema.Struct<{
920
+ readonly input: Schema.Finite;
921
+ readonly output: Schema.Finite;
922
+ readonly reasoning: Schema.Finite;
923
+ readonly cache: Schema.Struct<{
924
+ readonly read: Schema.Finite;
925
+ readonly write: Schema.Finite;
926
+ }>;
927
+ }>>, never, never>;
928
+ readonly error: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
929
+ readonly type: Schema.String;
930
+ readonly message: Schema.String;
931
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
932
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
933
+ readonly body: Schema.String;
934
+ }>>>, Schema.optionalKey<Schema.Struct<{
935
+ readonly body: Schema.String;
936
+ }>>, never, never>;
937
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
938
+ }>>>, Schema.optionalKey<Schema.Struct<{
939
+ readonly type: Schema.String;
940
+ readonly message: Schema.String;
941
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
942
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
943
+ readonly body: Schema.String;
944
+ }>>>, Schema.optionalKey<Schema.Struct<{
945
+ readonly body: Schema.String;
946
+ }>>, never, never>;
947
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
948
+ }>>, never, never>;
949
+ readonly retry: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
950
+ readonly attempt: Schema.Int;
951
+ readonly at: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
952
+ readonly error: Schema.Struct<{
953
+ readonly type: Schema.String;
954
+ readonly message: Schema.String;
955
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
956
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
957
+ readonly body: Schema.String;
958
+ }>>>, Schema.optionalKey<Schema.Struct<{
959
+ readonly body: Schema.String;
960
+ }>>, never, never>;
961
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
962
+ }>;
963
+ }>>>, Schema.optionalKey<Schema.Struct<{
964
+ readonly attempt: Schema.Int;
965
+ readonly at: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
966
+ readonly error: Schema.Struct<{
967
+ readonly type: Schema.String;
968
+ readonly message: Schema.String;
969
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
970
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
971
+ readonly body: Schema.String;
972
+ }>>>, Schema.optionalKey<Schema.Struct<{
973
+ readonly body: Schema.String;
974
+ }>>, never, never>;
975
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
976
+ }>;
977
+ }>>, never, never>;
978
+ readonly time: Schema.Struct<{
979
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
980
+ /** When the provider response body ended, before tool settlement. */
981
+ readonly streamed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
982
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
983
+ }>;
984
+ }>;
985
+ export interface CompactionRunning extends Schema.Schema.Type<typeof CompactionRunning> {
986
+ }
987
+ export declare const CompactionRunning: Schema.Struct<{
988
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
989
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
990
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
991
+ };
992
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
993
+ readonly time: Schema.Struct<{
994
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
995
+ }>;
996
+ readonly type: Schema.tag<"compaction">;
997
+ readonly status: Schema.tag<"running">;
998
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
999
+ readonly summary: Schema.String;
1000
+ }>;
1001
+ export interface CompactionCompleted extends Schema.Schema.Type<typeof CompactionCompleted> {
1002
+ }
1003
+ export declare const CompactionCompleted: Schema.Struct<{
1004
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1005
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1006
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1007
+ };
1008
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1009
+ readonly time: Schema.Struct<{
1010
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1011
+ }>;
1012
+ readonly type: Schema.tag<"compaction">;
1013
+ readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
1014
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1015
+ }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
1016
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1017
+ }>, never, never>;
1018
+ readonly tokens: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1019
+ readonly input: Schema.Finite;
1020
+ readonly output: Schema.Finite;
1021
+ readonly reasoning: Schema.Finite;
1022
+ readonly cache: Schema.Struct<{
1023
+ readonly read: Schema.Finite;
1024
+ readonly write: Schema.Finite;
1025
+ }>;
1026
+ }>>>, Schema.optionalKey<Schema.Struct<{
1027
+ readonly input: Schema.Finite;
1028
+ readonly output: Schema.Finite;
1029
+ readonly reasoning: Schema.Finite;
1030
+ readonly cache: Schema.Struct<{
1031
+ readonly read: Schema.Finite;
1032
+ readonly write: Schema.Finite;
1033
+ }>;
1034
+ }>>, never, never>;
1035
+ readonly status: Schema.tag<"completed">;
1036
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
1037
+ readonly model: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1038
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
1039
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
1040
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
1041
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
1042
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
1043
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
1044
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
1045
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
1046
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
1047
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
1048
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
1049
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
1050
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
1051
+ };
1052
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
1053
+ }> & {
1054
+ parse: (input: string) => {
1055
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1056
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1057
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1058
+ };
1059
+ }>>, Schema.optionalKey<Schema.Struct<{
1060
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
1061
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
1062
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
1063
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
1064
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
1065
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
1066
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
1067
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
1068
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
1069
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
1070
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
1071
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
1072
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
1073
+ };
1074
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
1075
+ }> & {
1076
+ parse: (input: string) => {
1077
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1078
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1079
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1080
+ };
1081
+ }>, never, never>;
1082
+ /** A provider compaction stores its replacement window in `native.messages`, replayed instead of `summary`. */
1083
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1084
+ readonly summary: Schema.String;
1085
+ }>;
1086
+ export interface CompactionFailed extends Schema.Schema.Type<typeof CompactionFailed> {
1087
+ }
1088
+ export declare const CompactionFailed: Schema.Struct<{
1089
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1090
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1091
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1092
+ };
1093
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1094
+ readonly time: Schema.Struct<{
1095
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1096
+ }>;
1097
+ readonly type: Schema.tag<"compaction">;
1098
+ readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
1099
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1100
+ }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
1101
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1102
+ }>, never, never>;
1103
+ readonly tokens: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1104
+ readonly input: Schema.Finite;
1105
+ readonly output: Schema.Finite;
1106
+ readonly reasoning: Schema.Finite;
1107
+ readonly cache: Schema.Struct<{
1108
+ readonly read: Schema.Finite;
1109
+ readonly write: Schema.Finite;
1110
+ }>;
1111
+ }>>>, Schema.optionalKey<Schema.Struct<{
1112
+ readonly input: Schema.Finite;
1113
+ readonly output: Schema.Finite;
1114
+ readonly reasoning: Schema.Finite;
1115
+ readonly cache: Schema.Struct<{
1116
+ readonly read: Schema.Finite;
1117
+ readonly write: Schema.Finite;
1118
+ }>;
1119
+ }>>, never, never>;
1120
+ readonly status: Schema.tag<"failed">;
1121
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
1122
+ readonly error: Schema.Struct<{
1123
+ readonly type: Schema.String;
1124
+ readonly message: Schema.String;
1125
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1126
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1127
+ readonly body: Schema.String;
1128
+ }>>>, Schema.optionalKey<Schema.Struct<{
1129
+ readonly body: Schema.String;
1130
+ }>>, never, never>;
1131
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1132
+ }>;
1133
+ }>;
1134
+ export declare const Compaction: Schema.Union<readonly [Schema.Struct<{
1135
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1136
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1137
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1138
+ };
1139
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1140
+ readonly time: Schema.Struct<{
1141
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1142
+ }>;
1143
+ readonly type: Schema.tag<"compaction">;
1144
+ readonly status: Schema.tag<"running">;
1145
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
1146
+ readonly summary: Schema.String;
1147
+ }>, Schema.Struct<{
1148
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1149
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1150
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1151
+ };
1152
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1153
+ readonly time: Schema.Struct<{
1154
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1155
+ }>;
1156
+ readonly type: Schema.tag<"compaction">;
1157
+ readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
1158
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1159
+ }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
1160
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1161
+ }>, never, never>;
1162
+ readonly tokens: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1163
+ readonly input: Schema.Finite;
1164
+ readonly output: Schema.Finite;
1165
+ readonly reasoning: Schema.Finite;
1166
+ readonly cache: Schema.Struct<{
1167
+ readonly read: Schema.Finite;
1168
+ readonly write: Schema.Finite;
1169
+ }>;
1170
+ }>>>, Schema.optionalKey<Schema.Struct<{
1171
+ readonly input: Schema.Finite;
1172
+ readonly output: Schema.Finite;
1173
+ readonly reasoning: Schema.Finite;
1174
+ readonly cache: Schema.Struct<{
1175
+ readonly read: Schema.Finite;
1176
+ readonly write: Schema.Finite;
1177
+ }>;
1178
+ }>>, never, never>;
1179
+ readonly status: Schema.tag<"completed">;
1180
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
1181
+ readonly model: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1182
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
1183
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
1184
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
1185
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
1186
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
1187
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
1188
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
1189
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
1190
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
1191
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
1192
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
1193
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
1194
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
1195
+ };
1196
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
1197
+ }> & {
1198
+ parse: (input: string) => {
1199
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1200
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1201
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1202
+ };
1203
+ }>>, Schema.optionalKey<Schema.Struct<{
1204
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
1205
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
1206
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
1207
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
1208
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
1209
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
1210
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
1211
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
1212
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
1213
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
1214
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
1215
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
1216
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
1217
+ };
1218
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
1219
+ }> & {
1220
+ parse: (input: string) => {
1221
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1222
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1223
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1224
+ };
1225
+ }>, never, never>;
1226
+ /** A provider compaction stores its replacement window in `native.messages`, replayed instead of `summary`. */
1227
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1228
+ readonly summary: Schema.String;
1229
+ }>, Schema.Struct<{
1230
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1231
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1232
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1233
+ };
1234
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1235
+ readonly time: Schema.Struct<{
1236
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1237
+ }>;
1238
+ readonly type: Schema.tag<"compaction">;
1239
+ readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
1240
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1241
+ }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
1242
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1243
+ }>, never, never>;
1244
+ readonly tokens: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1245
+ readonly input: Schema.Finite;
1246
+ readonly output: Schema.Finite;
1247
+ readonly reasoning: Schema.Finite;
1248
+ readonly cache: Schema.Struct<{
1249
+ readonly read: Schema.Finite;
1250
+ readonly write: Schema.Finite;
1251
+ }>;
1252
+ }>>>, Schema.optionalKey<Schema.Struct<{
1253
+ readonly input: Schema.Finite;
1254
+ readonly output: Schema.Finite;
1255
+ readonly reasoning: Schema.Finite;
1256
+ readonly cache: Schema.Struct<{
1257
+ readonly read: Schema.Finite;
1258
+ readonly write: Schema.Finite;
1259
+ }>;
1260
+ }>>, never, never>;
1261
+ readonly status: Schema.tag<"failed">;
1262
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
1263
+ readonly error: Schema.Struct<{
1264
+ readonly type: Schema.String;
1265
+ readonly message: Schema.String;
1266
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1267
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1268
+ readonly body: Schema.String;
1269
+ }>>>, Schema.optionalKey<Schema.Struct<{
1270
+ readonly body: Schema.String;
1271
+ }>>, never, never>;
1272
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1273
+ }>;
1274
+ }>]>;
1275
+ export type Compaction = CompactionRunning | CompactionCompleted | CompactionFailed;
1276
+ /**
1277
+ * Marks the Session going idle: every step since the previous marker belongs to
1278
+ * one turn, including prompts steered in while it was busy. A shutdown does not
1279
+ * record one, since the resumed execution continues the same turn.
1280
+ */
1281
+ export interface Idle extends Schema.Schema.Type<typeof Idle> {
1282
+ }
1283
+ export declare const Idle: Schema.Struct<{
1284
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1285
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1286
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1287
+ };
1288
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1289
+ readonly time: Schema.Struct<{
1290
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1291
+ }>;
1292
+ readonly type: Schema.tag<"idle">;
1293
+ readonly outcome: Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>;
1294
+ readonly error: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1295
+ readonly type: Schema.String;
1296
+ readonly message: Schema.String;
1297
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1298
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1299
+ readonly body: Schema.String;
1300
+ }>>>, Schema.optionalKey<Schema.Struct<{
1301
+ readonly body: Schema.String;
1302
+ }>>, never, never>;
1303
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1304
+ }>>>, Schema.optionalKey<Schema.Struct<{
1305
+ readonly type: Schema.String;
1306
+ readonly message: Schema.String;
1307
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1308
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1309
+ readonly body: Schema.String;
1310
+ }>>>, Schema.optionalKey<Schema.Struct<{
1311
+ readonly body: Schema.String;
1312
+ }>>, never, never>;
1313
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1314
+ }>>, never, never>;
1315
+ }>;
1316
+ export declare const Info: Schema.Union<readonly [Schema.Struct<{
1317
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1318
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1319
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1320
+ };
1321
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1322
+ readonly time: Schema.Struct<{
1323
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1324
+ }>;
1325
+ readonly type: Schema.tag<"agent-switched">;
1326
+ readonly agent: Schema.brand<Schema.String, "Agent.ID">;
1327
+ readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
1328
+ }>, Schema.Struct<{
1329
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1330
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1331
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1332
+ };
1333
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1334
+ readonly time: Schema.Struct<{
1335
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1336
+ }>;
1337
+ readonly type: Schema.tag<"model-switched">;
1338
+ readonly model: Schema.Struct<{
1339
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
1340
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
1341
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
1342
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
1343
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
1344
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
1345
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
1346
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
1347
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
1348
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
1349
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
1350
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
1351
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
1352
+ };
1353
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
1354
+ }> & {
1355
+ parse: (input: string) => {
1356
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1357
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1358
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1359
+ };
1360
+ };
1361
+ readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1362
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
1363
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
1364
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
1365
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
1366
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
1367
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
1368
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
1369
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
1370
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
1371
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
1372
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
1373
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
1374
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
1375
+ };
1376
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
1377
+ }> & {
1378
+ parse: (input: string) => {
1379
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1380
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1381
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1382
+ };
1383
+ }>>, Schema.optionalKey<Schema.Struct<{
1384
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
1385
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
1386
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
1387
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
1388
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
1389
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
1390
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
1391
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
1392
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
1393
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
1394
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
1395
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
1396
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
1397
+ };
1398
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
1399
+ }> & {
1400
+ parse: (input: string) => {
1401
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1402
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1403
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1404
+ };
1405
+ }>, never, never>;
1406
+ }>, Schema.Struct<{
1407
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1408
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1409
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1410
+ };
1411
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1412
+ readonly time: Schema.Struct<{
1413
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1414
+ }>;
1415
+ readonly type: Schema.tag<"location-switched">;
1416
+ readonly location: Schema.Struct<{
1417
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
1418
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
1419
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1420
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1421
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
1422
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1423
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1424
+ }>, never, never>;
1425
+ }>;
1426
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
1427
+ global: string & import("effect/Brand").Brand<"Project.ID">;
1428
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
1429
+ global: string & import("effect/Brand").Brand<"Project.ID">;
1430
+ }>, never, never>;
1431
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
1432
+ readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1433
+ readonly location: Schema.Struct<{
1434
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
1435
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
1436
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1437
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1438
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
1439
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1440
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1441
+ }>, never, never>;
1442
+ }>;
1443
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
1444
+ global: string & import("effect/Brand").Brand<"Project.ID">;
1445
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
1446
+ global: string & import("effect/Brand").Brand<"Project.ID">;
1447
+ }>, never, never>;
1448
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
1449
+ }>>>, Schema.optionalKey<Schema.Struct<{
1450
+ readonly location: Schema.Struct<{
1451
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
1452
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
1453
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1454
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1455
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
1456
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
1457
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
1458
+ }>, never, never>;
1459
+ }>;
1460
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
1461
+ global: string & import("effect/Brand").Brand<"Project.ID">;
1462
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
1463
+ global: string & import("effect/Brand").Brand<"Project.ID">;
1464
+ }>, never, never>;
1465
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
1466
+ }>>, never, never>;
1467
+ }>, Schema.Struct<{
1468
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1469
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1470
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1471
+ };
1472
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1473
+ readonly time: Schema.Struct<{
1474
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1475
+ }>;
1476
+ readonly text: Schema.String;
1477
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
1478
+ readonly data: Schema.String;
1479
+ readonly mime: Schema.String;
1480
+ readonly source: Schema.Union<readonly [Schema.Struct<{
1481
+ readonly type: Schema.Literal<"inline">;
1482
+ }>, Schema.Struct<{
1483
+ readonly type: Schema.Literal<"uri">;
1484
+ readonly uri: Schema.String;
1485
+ }>]>;
1486
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1487
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1488
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1489
+ readonly start: Schema.Finite;
1490
+ readonly end: Schema.Finite;
1491
+ readonly text: Schema.String;
1492
+ }>>>, Schema.optionalKey<Schema.Struct<{
1493
+ readonly start: Schema.Finite;
1494
+ readonly end: Schema.Finite;
1495
+ readonly text: Schema.String;
1496
+ }>>, never, never>;
1497
+ }> & {
1498
+ create: (input: import("./prompt.js").FileAttachment) => {
1499
+ readonly data: string;
1500
+ readonly mime: string;
1501
+ readonly source: {
1502
+ readonly type: "inline";
1503
+ } | {
1504
+ readonly type: "uri";
1505
+ readonly uri: string;
1506
+ };
1507
+ readonly name?: string | undefined;
1508
+ readonly description?: string | undefined;
1509
+ readonly mention?: {
1510
+ readonly start: number;
1511
+ readonly end: number;
1512
+ readonly text: string;
1513
+ } | undefined;
1514
+ };
1515
+ }>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
1516
+ readonly data: Schema.String;
1517
+ readonly mime: Schema.String;
1518
+ readonly source: Schema.Union<readonly [Schema.Struct<{
1519
+ readonly type: Schema.Literal<"inline">;
1520
+ }>, Schema.Struct<{
1521
+ readonly type: Schema.Literal<"uri">;
1522
+ readonly uri: Schema.String;
1523
+ }>]>;
1524
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1525
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1526
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1527
+ readonly start: Schema.Finite;
1528
+ readonly end: Schema.Finite;
1529
+ readonly text: Schema.String;
1530
+ }>>>, Schema.optionalKey<Schema.Struct<{
1531
+ readonly start: Schema.Finite;
1532
+ readonly end: Schema.Finite;
1533
+ readonly text: Schema.String;
1534
+ }>>, never, never>;
1535
+ }> & {
1536
+ create: (input: import("./prompt.js").FileAttachment) => {
1537
+ readonly data: string;
1538
+ readonly mime: string;
1539
+ readonly source: {
1540
+ readonly type: "inline";
1541
+ } | {
1542
+ readonly type: "uri";
1543
+ readonly uri: string;
1544
+ };
1545
+ readonly name?: string | undefined;
1546
+ readonly description?: string | undefined;
1547
+ readonly mention?: {
1548
+ readonly start: number;
1549
+ readonly end: number;
1550
+ readonly text: string;
1551
+ } | undefined;
1552
+ };
1553
+ }>>, never, never>;
1554
+ readonly agents: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
1555
+ readonly name: Schema.String;
1556
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1557
+ readonly start: Schema.Finite;
1558
+ readonly end: Schema.Finite;
1559
+ readonly text: Schema.String;
1560
+ }>>>, Schema.optionalKey<Schema.Struct<{
1561
+ readonly start: Schema.Finite;
1562
+ readonly end: Schema.Finite;
1563
+ readonly text: Schema.String;
1564
+ }>>, never, never>;
1565
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
1566
+ readonly name: Schema.String;
1567
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1568
+ readonly start: Schema.Finite;
1569
+ readonly end: Schema.Finite;
1570
+ readonly text: Schema.String;
1571
+ }>>>, Schema.optionalKey<Schema.Struct<{
1572
+ readonly start: Schema.Finite;
1573
+ readonly end: Schema.Finite;
1574
+ readonly text: Schema.String;
1575
+ }>>, never, never>;
1576
+ }>>>, never, never>;
1577
+ readonly skills: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
1578
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
1579
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
1580
+ readonly text: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1581
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1582
+ readonly start: Schema.Finite;
1583
+ readonly end: Schema.Finite;
1584
+ readonly text: Schema.String;
1585
+ }>>>, Schema.optionalKey<Schema.Struct<{
1586
+ readonly start: Schema.Finite;
1587
+ readonly end: Schema.Finite;
1588
+ readonly text: Schema.String;
1589
+ }>>, never, never>;
1590
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
1591
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
1592
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
1593
+ readonly text: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1594
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1595
+ readonly start: Schema.Finite;
1596
+ readonly end: Schema.Finite;
1597
+ readonly text: Schema.String;
1598
+ }>>>, Schema.optionalKey<Schema.Struct<{
1599
+ readonly start: Schema.Finite;
1600
+ readonly end: Schema.Finite;
1601
+ readonly text: Schema.String;
1602
+ }>>, never, never>;
1603
+ }>>>, never, never>;
1604
+ readonly type: Schema.tag<"user">;
1605
+ }>, Schema.Struct<{
1606
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1607
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1608
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1609
+ };
1610
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1611
+ readonly time: Schema.Struct<{
1612
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1613
+ }>;
1614
+ readonly text: Schema.String;
1615
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1616
+ readonly type: Schema.tag<"synthetic">;
1617
+ }>, Schema.Struct<{
1618
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1619
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1620
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1621
+ };
1622
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1623
+ readonly time: Schema.Struct<{
1624
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1625
+ }>;
1626
+ readonly type: Schema.tag<"system">;
1627
+ /** The model-facing update text, frozen at emit time. */
1628
+ readonly text: Schema.String;
1629
+ /** A short human-readable summary for transcript display. */
1630
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1631
+ }>, Schema.Struct<{
1632
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1633
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1634
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1635
+ };
1636
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1637
+ readonly time: Schema.Struct<{
1638
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1639
+ }>;
1640
+ readonly type: Schema.tag<"skill">;
1641
+ readonly skill: Schema.brand<Schema.String, "Skill.ID">;
1642
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
1643
+ readonly text: Schema.String;
1644
+ }>, Schema.Struct<{
1645
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1646
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1647
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1648
+ };
1649
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1650
+ readonly type: Schema.tag<"shell">;
1651
+ readonly shellID: Schema.brand<Schema.String, "Shell.ID"> & {
1652
+ create: () => string & import("effect/Brand").Brand<"Shell.ID">;
1653
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Shell.ID">;
1654
+ };
1655
+ readonly command: Schema.String;
1656
+ readonly status: Schema.Literals<readonly ["running", "exited", "timeout", "killed"]>;
1657
+ readonly exit: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
1658
+ readonly output: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1659
+ readonly output: Schema.String;
1660
+ readonly cursor: Schema.Int;
1661
+ readonly size: Schema.Int;
1662
+ readonly truncated: Schema.Boolean;
1663
+ }>>>, Schema.optionalKey<Schema.Struct<{
1664
+ readonly output: Schema.String;
1665
+ readonly cursor: Schema.Int;
1666
+ readonly size: Schema.Int;
1667
+ readonly truncated: Schema.Boolean;
1668
+ }>>, never, never>;
1669
+ readonly time: Schema.Struct<{
1670
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1671
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
1672
+ }>;
1673
+ }>, Schema.Struct<{
1674
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1675
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1676
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1677
+ };
1678
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1679
+ readonly type: Schema.tag<"assistant">;
1680
+ readonly agent: Schema.brand<Schema.String, "Agent.ID">;
1681
+ readonly model: Schema.Struct<{
1682
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
1683
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
1684
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
1685
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
1686
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
1687
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
1688
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
1689
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
1690
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
1691
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
1692
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
1693
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
1694
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
1695
+ };
1696
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
1697
+ }> & {
1698
+ parse: (input: string) => {
1699
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1700
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1701
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1702
+ };
1703
+ };
1704
+ readonly content: Schema.$Array<Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
1705
+ readonly type: Schema.tag<"text">;
1706
+ readonly text: Schema.String;
1707
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1708
+ }>, Schema.Struct<{
1709
+ readonly type: Schema.tag<"reasoning">;
1710
+ readonly text: Schema.String;
1711
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1712
+ readonly time: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1713
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1714
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
1715
+ }>>>, Schema.optionalKey<Schema.Struct<{
1716
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1717
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
1718
+ }>>, never, never>;
1719
+ }>, Schema.Struct<{
1720
+ readonly type: Schema.tag<"tool">;
1721
+ readonly id: Schema.String;
1722
+ readonly name: Schema.String;
1723
+ readonly executed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
1724
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1725
+ readonly state: Schema.toTaggedUnion<"status", readonly [Schema.Struct<{
1726
+ readonly status: Schema.tag<"streaming">;
1727
+ readonly input: Schema.String;
1728
+ }>, Schema.Struct<{
1729
+ readonly status: Schema.tag<"running">;
1730
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
1731
+ readonly metadata: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
1732
+ }>, Schema.Struct<{
1733
+ readonly status: Schema.tag<"completed">;
1734
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
1735
+ readonly content: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
1736
+ readonly type: Schema.Literal<"text">;
1737
+ readonly text: Schema.String;
1738
+ }>, Schema.Struct<{
1739
+ readonly type: Schema.Literal<"file">;
1740
+ readonly uri: Schema.String;
1741
+ readonly mime: Schema.String;
1742
+ readonly name: Schema.optional<Schema.String>;
1743
+ }>]>>;
1744
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
1745
+ }>, Schema.Struct<{
1746
+ readonly status: Schema.tag<"error">;
1747
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
1748
+ readonly error: Schema.Struct<{
1749
+ readonly type: Schema.String;
1750
+ readonly message: Schema.String;
1751
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1752
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1753
+ readonly body: Schema.String;
1754
+ }>>>, Schema.optionalKey<Schema.Struct<{
1755
+ readonly body: Schema.String;
1756
+ }>>, never, never>;
1757
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1758
+ }>;
1759
+ readonly content: Schema.decodeTo<Schema.optional<Schema.toType<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
1760
+ readonly type: Schema.Literal<"text">;
1761
+ readonly text: Schema.String;
1762
+ }>, Schema.Struct<{
1763
+ readonly type: Schema.Literal<"file">;
1764
+ readonly uri: Schema.String;
1765
+ readonly mime: Schema.String;
1766
+ readonly name: Schema.optional<Schema.String>;
1767
+ }>]>>>>, Schema.optionalKey<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
1768
+ readonly type: Schema.Literal<"text">;
1769
+ readonly text: Schema.String;
1770
+ }>, Schema.Struct<{
1771
+ readonly type: Schema.Literal<"file">;
1772
+ readonly uri: Schema.String;
1773
+ readonly mime: Schema.String;
1774
+ readonly name: Schema.optional<Schema.String>;
1775
+ }>]>>>, never, never>;
1776
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>, never, never>;
1777
+ }>]>;
1778
+ readonly time: Schema.Struct<{
1779
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1780
+ readonly ran: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
1781
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
1782
+ }>;
1783
+ }>]>>;
1784
+ readonly snapshot: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1785
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
1786
+ readonly end: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
1787
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.brand<Schema.String, "RelativePath">>>>, Schema.optionalKey<Schema.$Array<Schema.brand<Schema.String, "RelativePath">>>, never, never>;
1788
+ }>>>, Schema.optionalKey<Schema.Struct<{
1789
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
1790
+ readonly end: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
1791
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.brand<Schema.String, "RelativePath">>>>, Schema.optionalKey<Schema.$Array<Schema.brand<Schema.String, "RelativePath">>>, never, never>;
1792
+ }>>, never, never>;
1793
+ readonly finish: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["stop", "length", "tool-calls", "content-filter", "error", "unknown"]>>>, Schema.optionalKey<Schema.Literals<readonly ["stop", "length", "tool-calls", "content-filter", "error", "unknown"]>>, never, never>;
1794
+ readonly rawFinish: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
1795
+ /** Step-level native data, such as a provider's reason for blocking a response. */
1796
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1797
+ readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
1798
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1799
+ }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
1800
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1801
+ }>, never, never>;
1802
+ readonly tokens: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1803
+ readonly input: Schema.Finite;
1804
+ readonly output: Schema.Finite;
1805
+ readonly reasoning: Schema.Finite;
1806
+ readonly cache: Schema.Struct<{
1807
+ readonly read: Schema.Finite;
1808
+ readonly write: Schema.Finite;
1809
+ }>;
1810
+ }>>>, Schema.optionalKey<Schema.Struct<{
1811
+ readonly input: Schema.Finite;
1812
+ readonly output: Schema.Finite;
1813
+ readonly reasoning: Schema.Finite;
1814
+ readonly cache: Schema.Struct<{
1815
+ readonly read: Schema.Finite;
1816
+ readonly write: Schema.Finite;
1817
+ }>;
1818
+ }>>, never, never>;
1819
+ readonly error: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1820
+ readonly type: Schema.String;
1821
+ readonly message: Schema.String;
1822
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1823
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1824
+ readonly body: Schema.String;
1825
+ }>>>, Schema.optionalKey<Schema.Struct<{
1826
+ readonly body: Schema.String;
1827
+ }>>, never, never>;
1828
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1829
+ }>>>, Schema.optionalKey<Schema.Struct<{
1830
+ readonly type: Schema.String;
1831
+ readonly message: Schema.String;
1832
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1833
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1834
+ readonly body: Schema.String;
1835
+ }>>>, Schema.optionalKey<Schema.Struct<{
1836
+ readonly body: Schema.String;
1837
+ }>>, never, never>;
1838
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1839
+ }>>, never, never>;
1840
+ readonly retry: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1841
+ readonly attempt: Schema.Int;
1842
+ readonly at: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1843
+ readonly error: Schema.Struct<{
1844
+ readonly type: Schema.String;
1845
+ readonly message: Schema.String;
1846
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1847
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1848
+ readonly body: Schema.String;
1849
+ }>>>, Schema.optionalKey<Schema.Struct<{
1850
+ readonly body: Schema.String;
1851
+ }>>, never, never>;
1852
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1853
+ }>;
1854
+ }>>>, Schema.optionalKey<Schema.Struct<{
1855
+ readonly attempt: Schema.Int;
1856
+ readonly at: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1857
+ readonly error: Schema.Struct<{
1858
+ readonly type: Schema.String;
1859
+ readonly message: Schema.String;
1860
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1861
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1862
+ readonly body: Schema.String;
1863
+ }>>>, Schema.optionalKey<Schema.Struct<{
1864
+ readonly body: Schema.String;
1865
+ }>>, never, never>;
1866
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
1867
+ }>;
1868
+ }>>, never, never>;
1869
+ readonly time: Schema.Struct<{
1870
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1871
+ /** When the provider response body ended, before tool settlement. */
1872
+ readonly streamed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
1873
+ readonly completed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>>, Schema.optionalKey<Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>>, never, never>;
1874
+ }>;
1875
+ }>, Schema.Union<readonly [Schema.Struct<{
1876
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1877
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1878
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1879
+ };
1880
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1881
+ readonly time: Schema.Struct<{
1882
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1883
+ }>;
1884
+ readonly type: Schema.tag<"compaction">;
1885
+ readonly status: Schema.tag<"running">;
1886
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
1887
+ readonly summary: Schema.String;
1888
+ }>, Schema.Struct<{
1889
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1890
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1891
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1892
+ };
1893
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1894
+ readonly time: Schema.Struct<{
1895
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1896
+ }>;
1897
+ readonly type: Schema.tag<"compaction">;
1898
+ readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
1899
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1900
+ }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
1901
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1902
+ }>, never, never>;
1903
+ readonly tokens: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1904
+ readonly input: Schema.Finite;
1905
+ readonly output: Schema.Finite;
1906
+ readonly reasoning: Schema.Finite;
1907
+ readonly cache: Schema.Struct<{
1908
+ readonly read: Schema.Finite;
1909
+ readonly write: Schema.Finite;
1910
+ }>;
1911
+ }>>>, Schema.optionalKey<Schema.Struct<{
1912
+ readonly input: Schema.Finite;
1913
+ readonly output: Schema.Finite;
1914
+ readonly reasoning: Schema.Finite;
1915
+ readonly cache: Schema.Struct<{
1916
+ readonly read: Schema.Finite;
1917
+ readonly write: Schema.Finite;
1918
+ }>;
1919
+ }>>, never, never>;
1920
+ readonly status: Schema.tag<"completed">;
1921
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
1922
+ readonly model: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1923
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
1924
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
1925
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
1926
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
1927
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
1928
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
1929
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
1930
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
1931
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
1932
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
1933
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
1934
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
1935
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
1936
+ };
1937
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
1938
+ }> & {
1939
+ parse: (input: string) => {
1940
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1941
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1942
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1943
+ };
1944
+ }>>, Schema.optionalKey<Schema.Struct<{
1945
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
1946
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
1947
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
1948
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
1949
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
1950
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
1951
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
1952
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
1953
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
1954
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
1955
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
1956
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
1957
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
1958
+ };
1959
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
1960
+ }> & {
1961
+ parse: (input: string) => {
1962
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
1963
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1964
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
1965
+ };
1966
+ }>, never, never>;
1967
+ /** A provider compaction stores its replacement window in `native.messages`, replayed instead of `summary`. */
1968
+ readonly native: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1969
+ readonly summary: Schema.String;
1970
+ }>, Schema.Struct<{
1971
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
1972
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
1973
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
1974
+ };
1975
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
1976
+ readonly time: Schema.Struct<{
1977
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
1978
+ }>;
1979
+ readonly type: Schema.tag<"compaction">;
1980
+ readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
1981
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1982
+ }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
1983
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
1984
+ }>, never, never>;
1985
+ readonly tokens: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
1986
+ readonly input: Schema.Finite;
1987
+ readonly output: Schema.Finite;
1988
+ readonly reasoning: Schema.Finite;
1989
+ readonly cache: Schema.Struct<{
1990
+ readonly read: Schema.Finite;
1991
+ readonly write: Schema.Finite;
1992
+ }>;
1993
+ }>>>, Schema.optionalKey<Schema.Struct<{
1994
+ readonly input: Schema.Finite;
1995
+ readonly output: Schema.Finite;
1996
+ readonly reasoning: Schema.Finite;
1997
+ readonly cache: Schema.Struct<{
1998
+ readonly read: Schema.Finite;
1999
+ readonly write: Schema.Finite;
2000
+ }>;
2001
+ }>>, never, never>;
2002
+ readonly status: Schema.tag<"failed">;
2003
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
2004
+ readonly error: Schema.Struct<{
2005
+ readonly type: Schema.String;
2006
+ readonly message: Schema.String;
2007
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
2008
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
2009
+ readonly body: Schema.String;
2010
+ }>>>, Schema.optionalKey<Schema.Struct<{
2011
+ readonly body: Schema.String;
2012
+ }>>, never, never>;
2013
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
2014
+ }>;
2015
+ }>]>, Schema.Struct<{
2016
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
2017
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
2018
+ fromEvent: (eventID: string) => string & import("effect/Brand").Brand<"Session.Message.ID">;
2019
+ };
2020
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
2021
+ readonly time: Schema.Struct<{
2022
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
2023
+ }>;
2024
+ readonly type: Schema.tag<"idle">;
2025
+ readonly outcome: Schema.Literals<readonly ["succeeded", "failed", "interrupted"]>;
2026
+ readonly error: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
2027
+ readonly type: Schema.String;
2028
+ readonly message: Schema.String;
2029
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
2030
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
2031
+ readonly body: Schema.String;
2032
+ }>>>, Schema.optionalKey<Schema.Struct<{
2033
+ readonly body: Schema.String;
2034
+ }>>, never, never>;
2035
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
2036
+ }>>>, Schema.optionalKey<Schema.Struct<{
2037
+ readonly type: Schema.String;
2038
+ readonly message: Schema.String;
2039
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
2040
+ readonly response: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
2041
+ readonly body: Schema.String;
2042
+ }>>>, Schema.optionalKey<Schema.Struct<{
2043
+ readonly body: Schema.String;
2044
+ }>>, never, never>;
2045
+ readonly retryAfterMs: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
2046
+ }>>, never, never>;
2047
+ }>]>;
2048
+ export type Info = AgentSelected | ModelSelected | LocationSwitched | User | Synthetic | System | Skill | Shell | Assistant | Compaction | Idle;
2049
+ export type Type = Info["type"];