@opencode-ai/schema 0.0.0-dev-17471

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 (193) hide show
  1. package/dist/agent.d.ts +164 -0
  2. package/dist/agent.js +46 -0
  3. package/dist/ai.d.ts +4 -0
  4. package/dist/ai.js +5 -0
  5. package/dist/catalog.d.ts +69 -0
  6. package/dist/catalog.js +4 -0
  7. package/dist/command.d.ts +124 -0
  8. package/dist/command.js +19 -0
  9. package/dist/config/agent.d.ts +42 -0
  10. package/dist/config/agent.js +20 -0
  11. package/dist/config/command.d.ts +27 -0
  12. package/dist/config/command.js +12 -0
  13. package/dist/config/compaction.d.ts +14 -0
  14. package/dist/config/compaction.js +13 -0
  15. package/dist/config/experimental.d.ts +17 -0
  16. package/dist/config/experimental.js +16 -0
  17. package/dist/config/formatter.d.ts +11 -0
  18. package/dist/config/formatter.js +11 -0
  19. package/dist/config/lsp.d.ts +20 -0
  20. package/dist/config/lsp.js +16 -0
  21. package/dist/config/mcp.d.ts +18 -0
  22. package/dist/config/mcp.js +14 -0
  23. package/dist/config/media.d.ts +15 -0
  24. package/dist/config/media.js +14 -0
  25. package/dist/config/model.d.ts +18 -0
  26. package/dist/config/model.js +28 -0
  27. package/dist/config/plugin.d.ts +11 -0
  28. package/dist/config/plugin.js +10 -0
  29. package/dist/config/policy.d.ts +10 -0
  30. package/dist/config/policy.js +8 -0
  31. package/dist/config/provider.d.ts +106 -0
  32. package/dist/config/provider.js +62 -0
  33. package/dist/config/reference.d.ts +21 -0
  34. package/dist/config/reference.js +18 -0
  35. package/dist/config/tool-output.d.ts +8 -0
  36. package/dist/config/tool-output.js +8 -0
  37. package/dist/config/warming.d.ts +10 -0
  38. package/dist/config/warming.js +16 -0
  39. package/dist/config/watcher.d.ts +7 -0
  40. package/dist/config/watcher.js +7 -0
  41. package/dist/config/websearch.d.ts +9 -0
  42. package/dist/config/websearch.js +8 -0
  43. package/dist/config.d.ts +175 -0
  44. package/dist/config.js +136 -0
  45. package/dist/connection.d.ts +28 -0
  46. package/dist/connection.js +15 -0
  47. package/dist/credential.d.ts +38 -0
  48. package/dist/credential.js +25 -0
  49. package/dist/durable-event-manifest.d.ts +3 -0
  50. package/dist/durable-event-manifest.js +5 -0
  51. package/dist/event-log.d.ts +14 -0
  52. package/dist/event-log.js +17 -0
  53. package/dist/event-manifest.d.ts +11372 -0
  54. package/dist/event-manifest.js +45 -0
  55. package/dist/event.d.ts +142 -0
  56. package/dist/event.js +110 -0
  57. package/dist/file-diff.d.ts +21 -0
  58. package/dist/file-diff.js +18 -0
  59. package/dist/filesystem-v1.d.ts +1 -0
  60. package/dist/filesystem-v1.js +1 -0
  61. package/dist/filesystem.d.ts +118 -0
  62. package/dist/filesystem.js +35 -0
  63. package/dist/form.d.ts +1259 -0
  64. package/dist/form.js +120 -0
  65. package/dist/ide-event.d.ts +76 -0
  66. package/dist/ide-event.js +10 -0
  67. package/dist/identifier.d.ts +3 -0
  68. package/dist/identifier.js +24 -0
  69. package/dist/index.d.ts +39 -0
  70. package/dist/index.js +39 -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 +23 -0
  74. package/dist/instruction-entry.js +22 -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 +1675 -0
  80. package/dist/integration.js +87 -0
  81. package/dist/legacy-event.d.ts +1 -0
  82. package/dist/legacy-event.js +1 -0
  83. package/dist/llm.d.ts +4 -0
  84. package/dist/llm.js +3 -0
  85. package/dist/location.d.ts +37 -0
  86. package/dist/location.js +22 -0
  87. package/dist/lsp-event.d.ts +67 -0
  88. package/dist/lsp-event.js +4 -0
  89. package/dist/mcp-event.d.ts +222 -0
  90. package/dist/mcp-event.js +24 -0
  91. package/dist/mcp.d.ts +138 -0
  92. package/dist/mcp.js +111 -0
  93. package/dist/model.d.ts +186 -0
  94. package/dist/model.js +104 -0
  95. package/dist/models-dev.d.ts +69 -0
  96. package/dist/models-dev.js +7 -0
  97. package/dist/money.d.ts +10 -0
  98. package/dist/money.js +5 -0
  99. package/dist/permission-saved.d.ts +18 -0
  100. package/dist/permission-saved.js +12 -0
  101. package/dist/permission-v1.d.ts +1 -0
  102. package/dist/permission-v1.js +1 -0
  103. package/dist/permission.d.ts +306 -0
  104. package/dist/permission.js +45 -0
  105. package/dist/plugin.d.ts +150 -0
  106. package/dist/plugin.js +16 -0
  107. package/dist/project-id.d.ts +5 -0
  108. package/dist/project-id.js +3 -0
  109. package/dist/project.d.ts +241 -0
  110. package/dist/project.js +37 -0
  111. package/dist/prompt-input.d.ts +143 -0
  112. package/dist/prompt-input.js +25 -0
  113. package/dist/prompt.d.ts +297 -0
  114. package/dist/prompt.js +61 -0
  115. package/dist/provider.d.ts +60 -0
  116. package/dist/provider.js +42 -0
  117. package/dist/pty-ticket.d.ts +8 -0
  118. package/dist/pty-ticket.js +7 -0
  119. package/dist/pty.d.ts +462 -0
  120. package/dist/pty.js +43 -0
  121. package/dist/question-v1.d.ts +1 -0
  122. package/dist/question-v1.js +1 -0
  123. package/dist/question.d.ts +15 -0
  124. package/dist/question.js +15 -0
  125. package/dist/reference.d.ts +120 -0
  126. package/dist/reference.js +30 -0
  127. package/dist/schema.d.ts +10 -0
  128. package/dist/schema.js +14 -0
  129. package/dist/server-event.d.ts +132 -0
  130. package/dist/server-event.js +5 -0
  131. package/dist/session-compaction-event.d.ts +87 -0
  132. package/dist/session-compaction-event.js +10 -0
  133. package/dist/session-error.d.ts +9 -0
  134. package/dist/session-error.js +8 -0
  135. package/dist/session-event.d.ts +17994 -0
  136. package/dist/session-event.js +499 -0
  137. package/dist/session-fork.d.ts +26 -0
  138. package/dist/session-fork.js +11 -0
  139. package/dist/session-id.d.ts +6 -0
  140. package/dist/session-id.js +10 -0
  141. package/dist/session-inbox.d.ts +748 -0
  142. package/dist/session-inbox.js +47 -0
  143. package/dist/session-message.d.ts +1512 -0
  144. package/dist/session-message.js +209 -0
  145. package/dist/session-revert.d.ts +480 -0
  146. package/dist/session-revert.js +63 -0
  147. package/dist/session-status-event.d.ts +299 -0
  148. package/dist/session-status-event.js +43 -0
  149. package/dist/session-transfer.d.ts +744 -0
  150. package/dist/session-transfer.js +8 -0
  151. package/dist/session-v1.d.ts +1 -0
  152. package/dist/session-v1.js +1 -0
  153. package/dist/session.d.ts +218 -0
  154. package/dist/session.js +45 -0
  155. package/dist/shell.d.ts +381 -0
  156. package/dist/shell.js +58 -0
  157. package/dist/skill.d.ts +133 -0
  158. package/dist/skill.js +48 -0
  159. package/dist/snapshot.d.ts +4 -0
  160. package/dist/snapshot.js +3 -0
  161. package/dist/token-usage.d.ts +13 -0
  162. package/dist/token-usage.js +11 -0
  163. package/dist/tool.d.ts +74 -0
  164. package/dist/tool.js +22 -0
  165. package/dist/tui-event.d.ts +307 -0
  166. package/dist/tui-event.js +53 -0
  167. package/dist/v1/filesystem.d.ts +78 -0
  168. package/dist/v1/filesystem.js +8 -0
  169. package/dist/v1/legacy-event.d.ts +108 -0
  170. package/dist/v1/legacy-event.js +15 -0
  171. package/dist/v1/permission.d.ts +316 -0
  172. package/dist/v1/permission.js +41 -0
  173. package/dist/v1/question.d.ts +444 -0
  174. package/dist/v1/question.js +57 -0
  175. package/dist/v1/session.d.ts +7657 -0
  176. package/dist/v1/session.js +535 -0
  177. package/dist/vcs-event.d.ts +76 -0
  178. package/dist/vcs-event.js +11 -0
  179. package/dist/vcs.d.ts +26 -0
  180. package/dist/vcs.js +17 -0
  181. package/dist/websearch.d.ts +108 -0
  182. package/dist/websearch.js +31 -0
  183. package/dist/workspace-event.d.ts +247 -0
  184. package/dist/workspace-event.js +25 -0
  185. package/dist/workspace-id.d.ts +6 -0
  186. package/dist/workspace-id.js +16 -0
  187. package/dist/workspace.d.ts +9 -0
  188. package/dist/workspace.js +5 -0
  189. package/dist/worktree-event.d.ts +153 -0
  190. package/dist/worktree-event.js +18 -0
  191. package/dist/worktree.d.ts +255 -0
  192. package/dist/worktree.js +61 -0
  193. package/package.json +42 -0
@@ -0,0 +1,744 @@
1
+ export * as SessionTransfer from "./session-transfer.js";
2
+ import { Schema } from "effect";
3
+ export interface Data extends Schema.Schema.Type<typeof Data> {
4
+ }
5
+ export declare const Data: Schema.Struct<{
6
+ readonly info: Schema.Struct<{
7
+ readonly id: Schema.brand<Schema.String, "SessionID"> & {
8
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
9
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
10
+ };
11
+ readonly parentID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "SessionID"> & {
12
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
13
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
14
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "SessionID"> & {
15
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
16
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
17
+ }>, never, never>;
18
+ readonly fork: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
19
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
20
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
21
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
22
+ };
23
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
24
+ readonly type: Schema.Literal<"before">;
25
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
26
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
27
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
28
+ };
29
+ }>, Schema.Struct<{
30
+ readonly type: Schema.Literal<"through">;
31
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
32
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
33
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
34
+ };
35
+ }>]>;
36
+ }>>>, Schema.optionalKey<Schema.Struct<{
37
+ readonly sessionID: Schema.brand<Schema.String, "SessionID"> & {
38
+ create: () => string & import("effect/Brand").Brand<"SessionID">;
39
+ descending: (id?: string) => string & import("effect/Brand").Brand<"SessionID">;
40
+ };
41
+ readonly boundary: Schema.Union<readonly [Schema.Struct<{
42
+ readonly type: Schema.Literal<"before">;
43
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
44
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
45
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
46
+ };
47
+ }>, Schema.Struct<{
48
+ readonly type: Schema.Literal<"through">;
49
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
50
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
51
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
52
+ };
53
+ }>]>;
54
+ }>>, never, never>;
55
+ readonly projectID: Schema.brand<Schema.String, "Project.ID"> & {
56
+ global: string & import("effect/Brand").Brand<"Project.ID">;
57
+ };
58
+ readonly agent: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
59
+ readonly model: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
60
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
61
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
62
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
63
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
64
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
65
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
66
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
67
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
68
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
69
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
70
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
71
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
72
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
73
+ };
74
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
75
+ }> & {
76
+ parse: (input: string) => {
77
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
78
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
79
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
80
+ };
81
+ }>>, Schema.optionalKey<Schema.Struct<{
82
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
83
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
84
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
85
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
86
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
87
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
88
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
89
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
90
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
91
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
92
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
93
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
94
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
95
+ };
96
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
97
+ }> & {
98
+ parse: (input: string) => {
99
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
100
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
101
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
102
+ };
103
+ }>, never, never>;
104
+ readonly cost: Schema.brand<Schema.Finite, "Money.USD"> & {
105
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
106
+ };
107
+ readonly tokens: Schema.Struct<{
108
+ readonly input: Schema.Finite;
109
+ readonly output: Schema.Finite;
110
+ readonly reasoning: Schema.Finite;
111
+ readonly cache: Schema.Struct<{
112
+ readonly read: Schema.Finite;
113
+ readonly write: Schema.Finite;
114
+ }>;
115
+ }>;
116
+ readonly time: Schema.Struct<{
117
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
118
+ readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
119
+ readonly archived: 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>;
120
+ }>;
121
+ readonly title: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
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 subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
133
+ readonly revert: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
134
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
135
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
136
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
137
+ };
138
+ readonly partID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
139
+ readonly snapshot: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
140
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
141
+ readonly file: Schema.String;
142
+ readonly patch: Schema.String;
143
+ readonly additions: Schema.Int;
144
+ readonly deletions: Schema.Int;
145
+ readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
146
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
147
+ readonly file: Schema.String;
148
+ readonly patch: Schema.String;
149
+ readonly additions: Schema.Int;
150
+ readonly deletions: Schema.Int;
151
+ readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
152
+ }>>>, never, never>;
153
+ }>>>, Schema.optionalKey<Schema.Struct<{
154
+ readonly messageID: Schema.brand<Schema.String, "Session.Message.ID"> & {
155
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
156
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
157
+ };
158
+ readonly partID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
159
+ readonly snapshot: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
160
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
161
+ readonly file: Schema.String;
162
+ readonly patch: Schema.String;
163
+ readonly additions: Schema.Int;
164
+ readonly deletions: Schema.Int;
165
+ readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
166
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
167
+ readonly file: Schema.String;
168
+ readonly patch: Schema.String;
169
+ readonly additions: Schema.Int;
170
+ readonly deletions: Schema.Int;
171
+ readonly status: Schema.Literals<readonly ["added", "deleted", "modified"]>;
172
+ }>>>, never, never>;
173
+ }>>, never, never>;
174
+ }>;
175
+ readonly messages: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
176
+ readonly type: Schema.tag<"agent-switched">;
177
+ readonly agent: Schema.brand<Schema.String, "Agent.ID">;
178
+ readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Agent.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Agent.ID">>, never, never>;
179
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
180
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
181
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
182
+ };
183
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
184
+ readonly time: Schema.Struct<{
185
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
186
+ }>;
187
+ }>, Schema.Struct<{
188
+ readonly type: Schema.tag<"model-switched">;
189
+ readonly model: Schema.Struct<{
190
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
191
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
192
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
193
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
194
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
195
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
196
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
197
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
198
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
199
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
200
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
201
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
202
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
203
+ };
204
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
205
+ }> & {
206
+ parse: (input: string) => {
207
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
208
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
209
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
210
+ };
211
+ };
212
+ readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
213
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
214
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
215
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
216
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
217
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
218
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
219
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
220
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
221
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
222
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
223
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
224
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
225
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
226
+ };
227
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
228
+ }> & {
229
+ parse: (input: string) => {
230
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
231
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
232
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
233
+ };
234
+ }>>, Schema.optionalKey<Schema.Struct<{
235
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
236
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
237
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
238
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
239
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
240
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
241
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
242
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
243
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
244
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
245
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
246
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
247
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
248
+ };
249
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
250
+ }> & {
251
+ parse: (input: string) => {
252
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
253
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
254
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
255
+ };
256
+ }>, never, never>;
257
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
258
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
259
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
260
+ };
261
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
262
+ readonly time: Schema.Struct<{
263
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
264
+ }>;
265
+ }>, Schema.Struct<{
266
+ readonly type: Schema.tag<"location-switched">;
267
+ readonly location: Schema.Struct<{
268
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
269
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
270
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
271
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
272
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
273
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
274
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
275
+ }>, never, never>;
276
+ }>;
277
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
278
+ global: string & import("effect/Brand").Brand<"Project.ID">;
279
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
280
+ global: string & import("effect/Brand").Brand<"Project.ID">;
281
+ }>, never, never>;
282
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
283
+ readonly previous: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
284
+ readonly location: Schema.Struct<{
285
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
286
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
287
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
288
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
289
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
290
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
291
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
292
+ }>, never, never>;
293
+ }>;
294
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
295
+ global: string & import("effect/Brand").Brand<"Project.ID">;
296
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
297
+ global: string & import("effect/Brand").Brand<"Project.ID">;
298
+ }>, never, never>;
299
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
300
+ }>>>, Schema.optionalKey<Schema.Struct<{
301
+ readonly location: Schema.Struct<{
302
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
303
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
304
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
305
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
306
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
307
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
308
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
309
+ }>, never, never>;
310
+ }>;
311
+ readonly projectID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Project.ID"> & {
312
+ global: string & import("effect/Brand").Brand<"Project.ID">;
313
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Project.ID"> & {
314
+ global: string & import("effect/Brand").Brand<"Project.ID">;
315
+ }>, never, never>;
316
+ readonly subpath: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "RelativePath">>>, Schema.optionalKey<Schema.brand<Schema.String, "RelativePath">>, never, never>;
317
+ }>>, never, never>;
318
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
319
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
320
+ fromEvent: (eventID: import("./event.js").ID) => 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
+ }>, Schema.Struct<{
327
+ readonly text: Schema.String;
328
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
329
+ readonly data: Schema.String;
330
+ readonly mime: Schema.String;
331
+ readonly source: Schema.Union<readonly [Schema.Struct<{
332
+ readonly type: Schema.Literal<"inline">;
333
+ }>, Schema.Struct<{
334
+ readonly type: Schema.Literal<"uri">;
335
+ readonly uri: Schema.String;
336
+ }>]>;
337
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
338
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
339
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
340
+ readonly start: Schema.Finite;
341
+ readonly end: Schema.Finite;
342
+ readonly text: Schema.String;
343
+ }>>>, Schema.optionalKey<Schema.Struct<{
344
+ readonly start: Schema.Finite;
345
+ readonly end: Schema.Finite;
346
+ readonly text: Schema.String;
347
+ }>>, never, never>;
348
+ }> & {
349
+ create: (input: import("./prompt.js").FileAttachment) => {
350
+ readonly data: string;
351
+ readonly source: {
352
+ readonly type: "inline";
353
+ } | {
354
+ readonly type: "uri";
355
+ readonly uri: string;
356
+ };
357
+ readonly mime: string;
358
+ readonly description?: string | undefined;
359
+ readonly name?: string | undefined;
360
+ readonly mention?: {
361
+ readonly start: number;
362
+ readonly end: number;
363
+ readonly text: string;
364
+ } | undefined;
365
+ };
366
+ }>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
367
+ readonly data: Schema.String;
368
+ readonly mime: Schema.String;
369
+ readonly source: Schema.Union<readonly [Schema.Struct<{
370
+ readonly type: Schema.Literal<"inline">;
371
+ }>, Schema.Struct<{
372
+ readonly type: Schema.Literal<"uri">;
373
+ readonly uri: Schema.String;
374
+ }>]>;
375
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
376
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
377
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
378
+ readonly start: Schema.Finite;
379
+ readonly end: Schema.Finite;
380
+ readonly text: Schema.String;
381
+ }>>>, Schema.optionalKey<Schema.Struct<{
382
+ readonly start: Schema.Finite;
383
+ readonly end: Schema.Finite;
384
+ readonly text: Schema.String;
385
+ }>>, never, never>;
386
+ }> & {
387
+ create: (input: import("./prompt.js").FileAttachment) => {
388
+ readonly data: string;
389
+ readonly source: {
390
+ readonly type: "inline";
391
+ } | {
392
+ readonly type: "uri";
393
+ readonly uri: string;
394
+ };
395
+ readonly mime: string;
396
+ readonly description?: string | undefined;
397
+ readonly name?: string | undefined;
398
+ readonly mention?: {
399
+ readonly start: number;
400
+ readonly end: number;
401
+ readonly text: string;
402
+ } | undefined;
403
+ };
404
+ }>>, never, never>;
405
+ readonly agents: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
406
+ readonly name: Schema.String;
407
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
408
+ readonly start: Schema.Finite;
409
+ readonly end: Schema.Finite;
410
+ readonly text: Schema.String;
411
+ }>>>, Schema.optionalKey<Schema.Struct<{
412
+ readonly start: Schema.Finite;
413
+ readonly end: Schema.Finite;
414
+ readonly text: Schema.String;
415
+ }>>, never, never>;
416
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
417
+ readonly name: Schema.String;
418
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
419
+ readonly start: Schema.Finite;
420
+ readonly end: Schema.Finite;
421
+ readonly text: Schema.String;
422
+ }>>>, Schema.optionalKey<Schema.Struct<{
423
+ readonly start: Schema.Finite;
424
+ readonly end: Schema.Finite;
425
+ readonly text: Schema.String;
426
+ }>>, never, never>;
427
+ }>>>, never, never>;
428
+ readonly skills: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
429
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
430
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
431
+ readonly text: Schema.String;
432
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
433
+ readonly start: Schema.Finite;
434
+ readonly end: Schema.Finite;
435
+ readonly text: Schema.String;
436
+ }>>>, Schema.optionalKey<Schema.Struct<{
437
+ readonly start: Schema.Finite;
438
+ readonly end: Schema.Finite;
439
+ readonly text: Schema.String;
440
+ }>>, never, never>;
441
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
442
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
443
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
444
+ readonly text: Schema.String;
445
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
446
+ readonly start: Schema.Finite;
447
+ readonly end: Schema.Finite;
448
+ readonly text: Schema.String;
449
+ }>>>, Schema.optionalKey<Schema.Struct<{
450
+ readonly start: Schema.Finite;
451
+ readonly end: Schema.Finite;
452
+ readonly text: Schema.String;
453
+ }>>, never, never>;
454
+ }>>>, never, never>;
455
+ readonly type: Schema.tag<"user">;
456
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
457
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
458
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
459
+ };
460
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
461
+ readonly time: Schema.Struct<{
462
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
463
+ }>;
464
+ }>, Schema.Struct<{
465
+ readonly text: Schema.String;
466
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
467
+ readonly type: Schema.tag<"synthetic">;
468
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
469
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
470
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
471
+ };
472
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
473
+ readonly time: Schema.Struct<{
474
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
475
+ }>;
476
+ }>, Schema.Struct<{
477
+ readonly type: Schema.tag<"system">;
478
+ readonly text: Schema.String;
479
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
480
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
481
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
482
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
483
+ };
484
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
485
+ readonly time: Schema.Struct<{
486
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
487
+ }>;
488
+ }>, Schema.Struct<{
489
+ readonly type: Schema.tag<"skill">;
490
+ readonly skill: Schema.brand<Schema.String, "Skill.ID">;
491
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
492
+ readonly text: Schema.String;
493
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
494
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
495
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
496
+ };
497
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
498
+ readonly time: Schema.Struct<{
499
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
500
+ }>;
501
+ }>, Schema.Struct<{
502
+ readonly type: Schema.tag<"shell">;
503
+ readonly shellID: Schema.brand<Schema.String, "Shell.ID"> & {
504
+ create: () => string & import("effect/Brand").Brand<"Shell.ID">;
505
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Shell.ID">;
506
+ };
507
+ readonly command: Schema.String;
508
+ readonly status: Schema.Literals<readonly ["running", "exited", "timeout", "killed"]>;
509
+ readonly exit: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Number>>, Schema.optionalKey<Schema.Number>, never, never>;
510
+ readonly output: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
511
+ readonly output: Schema.String;
512
+ readonly cursor: Schema.Int;
513
+ readonly size: Schema.Int;
514
+ readonly truncated: Schema.Boolean;
515
+ }>>>, Schema.optionalKey<Schema.Struct<{
516
+ readonly output: Schema.String;
517
+ readonly cursor: Schema.Int;
518
+ readonly size: Schema.Int;
519
+ readonly truncated: Schema.Boolean;
520
+ }>>, never, never>;
521
+ readonly time: Schema.Struct<{
522
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
523
+ 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>;
524
+ }>;
525
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
526
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
527
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
528
+ };
529
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
530
+ }>, Schema.Struct<{
531
+ readonly type: Schema.tag<"assistant">;
532
+ readonly agent: Schema.brand<Schema.String, "Agent.ID">;
533
+ readonly model: Schema.Struct<{
534
+ readonly id: Schema.brand<Schema.String, "Model.ID">;
535
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
536
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
537
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
538
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
539
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
540
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
541
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
542
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
543
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
544
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
545
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
546
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
547
+ };
548
+ readonly variant: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Model.VariantID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Model.VariantID">>, never, never>;
549
+ }> & {
550
+ parse: (input: string) => {
551
+ readonly id: string & import("effect/Brand").Brand<"Model.ID">;
552
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
553
+ readonly variant?: (string & import("effect/Brand").Brand<"Model.VariantID">) | undefined;
554
+ };
555
+ };
556
+ readonly content: Schema.$Array<Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
557
+ readonly type: Schema.tag<"text">;
558
+ readonly text: Schema.String;
559
+ readonly state: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
560
+ }>, Schema.Struct<{
561
+ readonly type: Schema.tag<"reasoning">;
562
+ readonly text: Schema.String;
563
+ readonly state: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
564
+ readonly time: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
565
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
566
+ 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>;
567
+ }>>>, Schema.optionalKey<Schema.Struct<{
568
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
569
+ 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>;
570
+ }>>, never, never>;
571
+ }>, Schema.Struct<{
572
+ readonly type: Schema.tag<"tool">;
573
+ readonly id: Schema.String;
574
+ readonly name: Schema.String;
575
+ readonly executed: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
576
+ readonly providerState: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
577
+ readonly providerResultState: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
578
+ readonly state: Schema.toTaggedUnion<"status", readonly [Schema.Struct<{
579
+ readonly status: Schema.tag<"streaming">;
580
+ readonly input: Schema.String;
581
+ }>, Schema.Struct<{
582
+ readonly status: Schema.tag<"running">;
583
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
584
+ readonly metadata: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
585
+ }>, Schema.Struct<{
586
+ readonly status: Schema.tag<"completed">;
587
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
588
+ readonly content: Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
589
+ readonly type: Schema.Literal<"text">;
590
+ readonly text: Schema.String;
591
+ }>, Schema.Struct<{
592
+ readonly type: Schema.Literal<"file">;
593
+ readonly uri: Schema.String;
594
+ readonly mime: Schema.String;
595
+ readonly name: Schema.optional<Schema.String>;
596
+ }>]>>;
597
+ 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>;
598
+ }>, Schema.Struct<{
599
+ readonly status: Schema.tag<"error">;
600
+ readonly input: Schema.$Record<Schema.String, Schema.Unknown>;
601
+ readonly error: Schema.Struct<{
602
+ readonly type: Schema.String;
603
+ readonly message: Schema.String;
604
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
605
+ }>;
606
+ readonly content: Schema.decodeTo<Schema.optional<Schema.toType<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
607
+ readonly type: Schema.Literal<"text">;
608
+ readonly text: Schema.String;
609
+ }>, Schema.Struct<{
610
+ readonly type: Schema.Literal<"file">;
611
+ readonly uri: Schema.String;
612
+ readonly mime: Schema.String;
613
+ readonly name: Schema.optional<Schema.String>;
614
+ }>]>>>>, Schema.optionalKey<Schema.NonEmptyArray<Schema.Union<readonly [Schema.Struct<{
615
+ readonly type: Schema.Literal<"text">;
616
+ readonly text: Schema.String;
617
+ }>, Schema.Struct<{
618
+ readonly type: Schema.Literal<"file">;
619
+ readonly uri: Schema.String;
620
+ readonly mime: Schema.String;
621
+ readonly name: Schema.optional<Schema.String>;
622
+ }>]>>>, never, never>;
623
+ 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>;
624
+ }>]>;
625
+ readonly time: Schema.Struct<{
626
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
627
+ 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>;
628
+ 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>;
629
+ }>;
630
+ }>]>>;
631
+ readonly snapshot: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
632
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
633
+ readonly end: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
634
+ 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>;
635
+ }>>>, Schema.optionalKey<Schema.Struct<{
636
+ readonly start: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
637
+ readonly end: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Snapshot.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Snapshot.ID">>, never, never>;
638
+ 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>;
639
+ }>>, never, never>;
640
+ 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>;
641
+ readonly cost: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.Finite, "Money.USD"> & {
642
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
643
+ }>>, Schema.optionalKey<Schema.brand<Schema.Finite, "Money.USD"> & {
644
+ zero: number & import("effect/Brand").Brand<"Money.USD">;
645
+ }>, never, never>;
646
+ readonly tokens: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
647
+ readonly input: Schema.Finite;
648
+ readonly output: Schema.Finite;
649
+ readonly reasoning: Schema.Finite;
650
+ readonly cache: Schema.Struct<{
651
+ readonly read: Schema.Finite;
652
+ readonly write: Schema.Finite;
653
+ }>;
654
+ }>>>, Schema.optionalKey<Schema.Struct<{
655
+ readonly input: Schema.Finite;
656
+ readonly output: Schema.Finite;
657
+ readonly reasoning: Schema.Finite;
658
+ readonly cache: Schema.Struct<{
659
+ readonly read: Schema.Finite;
660
+ readonly write: Schema.Finite;
661
+ }>;
662
+ }>>, never, never>;
663
+ readonly error: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
664
+ readonly type: Schema.String;
665
+ readonly message: Schema.String;
666
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
667
+ }>>>, Schema.optionalKey<Schema.Struct<{
668
+ readonly type: Schema.String;
669
+ readonly message: Schema.String;
670
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
671
+ }>>, never, never>;
672
+ readonly retry: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
673
+ readonly attempt: Schema.Int;
674
+ readonly at: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
675
+ readonly error: Schema.Struct<{
676
+ readonly type: Schema.String;
677
+ readonly message: Schema.String;
678
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
679
+ }>;
680
+ }>>>, Schema.optionalKey<Schema.Struct<{
681
+ readonly attempt: Schema.Int;
682
+ readonly at: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
683
+ readonly error: Schema.Struct<{
684
+ readonly type: Schema.String;
685
+ readonly message: Schema.String;
686
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
687
+ }>;
688
+ }>>, never, never>;
689
+ readonly time: Schema.Struct<{
690
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
691
+ 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>;
692
+ }>;
693
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
694
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
695
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
696
+ };
697
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
698
+ }>, Schema.Union<readonly [Schema.Struct<{
699
+ readonly status: Schema.tag<"running">;
700
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
701
+ readonly summary: Schema.String;
702
+ readonly recent: Schema.String;
703
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
704
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
705
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
706
+ };
707
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
708
+ readonly time: Schema.Struct<{
709
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
710
+ }>;
711
+ readonly type: Schema.tag<"compaction">;
712
+ }>, Schema.Struct<{
713
+ readonly status: Schema.tag<"completed">;
714
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
715
+ readonly summary: Schema.String;
716
+ readonly recent: Schema.String;
717
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
718
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
719
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
720
+ };
721
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
722
+ readonly time: Schema.Struct<{
723
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
724
+ }>;
725
+ readonly type: Schema.tag<"compaction">;
726
+ }>, Schema.Struct<{
727
+ readonly status: Schema.tag<"failed">;
728
+ readonly reason: Schema.Literals<readonly ["auto", "manual"]>;
729
+ readonly error: Schema.Struct<{
730
+ readonly type: Schema.String;
731
+ readonly message: Schema.String;
732
+ readonly status: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
733
+ }>;
734
+ readonly id: Schema.brand<Schema.String, "Session.Message.ID"> & {
735
+ create: () => string & import("effect/Brand").Brand<"Session.Message.ID">;
736
+ fromEvent: (eventID: import("./event.js").ID) => string & import("effect/Brand").Brand<"Session.Message.ID">;
737
+ };
738
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
739
+ readonly time: Schema.Struct<{
740
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
741
+ }>;
742
+ readonly type: Schema.tag<"compaction">;
743
+ }>]>]>>;
744
+ }>;