@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,297 @@
1
+ import { Schema } from "effect";
2
+ export interface PromptMention extends Schema.Schema.Type<typeof PromptMention> {
3
+ }
4
+ export declare const PromptMention: Schema.Struct<{
5
+ readonly start: Schema.Finite;
6
+ readonly end: Schema.Finite;
7
+ readonly text: Schema.String;
8
+ }>;
9
+ export declare const FileSource: Schema.Union<readonly [Schema.Struct<{
10
+ readonly type: Schema.Literal<"inline">;
11
+ }>, Schema.Struct<{
12
+ readonly type: Schema.Literal<"uri">;
13
+ readonly uri: Schema.String;
14
+ }>]>;
15
+ export type FileSource = typeof FileSource.Type;
16
+ export declare const Base64: Schema.String;
17
+ export type Base64 = typeof Base64.Type;
18
+ export interface FileAttachment extends Schema.Schema.Type<typeof FileAttachment> {
19
+ }
20
+ export declare const FileAttachment: Schema.Struct<{
21
+ readonly data: Schema.String;
22
+ readonly mime: Schema.String;
23
+ readonly source: Schema.Union<readonly [Schema.Struct<{
24
+ readonly type: Schema.Literal<"inline">;
25
+ }>, Schema.Struct<{
26
+ readonly type: Schema.Literal<"uri">;
27
+ readonly uri: Schema.String;
28
+ }>]>;
29
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
30
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
31
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
32
+ readonly start: Schema.Finite;
33
+ readonly end: Schema.Finite;
34
+ readonly text: Schema.String;
35
+ }>>>, Schema.optionalKey<Schema.Struct<{
36
+ readonly start: Schema.Finite;
37
+ readonly end: Schema.Finite;
38
+ readonly text: Schema.String;
39
+ }>>, never, never>;
40
+ }> & {
41
+ create: (input: FileAttachment) => {
42
+ readonly data: string;
43
+ readonly mime: string;
44
+ readonly source: {
45
+ readonly type: "inline";
46
+ } | {
47
+ readonly type: "uri";
48
+ readonly uri: string;
49
+ };
50
+ readonly name?: string | undefined;
51
+ readonly description?: string | undefined;
52
+ readonly mention?: {
53
+ readonly start: number;
54
+ readonly end: number;
55
+ readonly text: string;
56
+ } | undefined;
57
+ };
58
+ };
59
+ export interface AgentAttachment extends Schema.Schema.Type<typeof AgentAttachment> {
60
+ }
61
+ export declare const AgentAttachment: Schema.Struct<{
62
+ readonly name: Schema.String;
63
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
64
+ readonly start: Schema.Finite;
65
+ readonly end: Schema.Finite;
66
+ readonly text: Schema.String;
67
+ }>>>, Schema.optionalKey<Schema.Struct<{
68
+ readonly start: Schema.Finite;
69
+ readonly end: Schema.Finite;
70
+ readonly text: Schema.String;
71
+ }>>, never, never>;
72
+ }>;
73
+ export interface SkillAttachment extends Schema.Schema.Type<typeof SkillAttachment> {
74
+ }
75
+ export declare const SkillAttachment: Schema.Struct<{
76
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
77
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
78
+ readonly text: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
79
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
80
+ readonly start: Schema.Finite;
81
+ readonly end: Schema.Finite;
82
+ readonly text: Schema.String;
83
+ }>>>, Schema.optionalKey<Schema.Struct<{
84
+ readonly start: Schema.Finite;
85
+ readonly end: Schema.Finite;
86
+ readonly text: Schema.String;
87
+ }>>, never, never>;
88
+ }>;
89
+ export interface Prompt extends Schema.Schema.Type<typeof Prompt> {
90
+ }
91
+ export declare const Prompt: Schema.Struct<{
92
+ readonly text: Schema.String;
93
+ readonly files: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
94
+ readonly data: Schema.String;
95
+ readonly mime: Schema.String;
96
+ readonly source: Schema.Union<readonly [Schema.Struct<{
97
+ readonly type: Schema.Literal<"inline">;
98
+ }>, Schema.Struct<{
99
+ readonly type: Schema.Literal<"uri">;
100
+ readonly uri: Schema.String;
101
+ }>]>;
102
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
103
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
104
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
105
+ readonly start: Schema.Finite;
106
+ readonly end: Schema.Finite;
107
+ readonly text: Schema.String;
108
+ }>>>, Schema.optionalKey<Schema.Struct<{
109
+ readonly start: Schema.Finite;
110
+ readonly end: Schema.Finite;
111
+ readonly text: Schema.String;
112
+ }>>, never, never>;
113
+ }> & {
114
+ create: (input: FileAttachment) => {
115
+ readonly data: string;
116
+ readonly mime: string;
117
+ readonly source: {
118
+ readonly type: "inline";
119
+ } | {
120
+ readonly type: "uri";
121
+ readonly uri: string;
122
+ };
123
+ readonly name?: string | undefined;
124
+ readonly description?: string | undefined;
125
+ readonly mention?: {
126
+ readonly start: number;
127
+ readonly end: number;
128
+ readonly text: string;
129
+ } | undefined;
130
+ };
131
+ }>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
132
+ readonly data: Schema.String;
133
+ readonly mime: Schema.String;
134
+ readonly source: Schema.Union<readonly [Schema.Struct<{
135
+ readonly type: Schema.Literal<"inline">;
136
+ }>, Schema.Struct<{
137
+ readonly type: Schema.Literal<"uri">;
138
+ readonly uri: Schema.String;
139
+ }>]>;
140
+ readonly name: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
141
+ readonly description: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
142
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
143
+ readonly start: Schema.Finite;
144
+ readonly end: Schema.Finite;
145
+ readonly text: Schema.String;
146
+ }>>>, Schema.optionalKey<Schema.Struct<{
147
+ readonly start: Schema.Finite;
148
+ readonly end: Schema.Finite;
149
+ readonly text: Schema.String;
150
+ }>>, never, never>;
151
+ }> & {
152
+ create: (input: FileAttachment) => {
153
+ readonly data: string;
154
+ readonly mime: string;
155
+ readonly source: {
156
+ readonly type: "inline";
157
+ } | {
158
+ readonly type: "uri";
159
+ readonly uri: string;
160
+ };
161
+ readonly name?: string | undefined;
162
+ readonly description?: string | undefined;
163
+ readonly mention?: {
164
+ readonly start: number;
165
+ readonly end: number;
166
+ readonly text: string;
167
+ } | undefined;
168
+ };
169
+ }>>, never, never>;
170
+ readonly agents: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
171
+ readonly name: Schema.String;
172
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
173
+ readonly start: Schema.Finite;
174
+ readonly end: Schema.Finite;
175
+ readonly text: Schema.String;
176
+ }>>>, Schema.optionalKey<Schema.Struct<{
177
+ readonly start: Schema.Finite;
178
+ readonly end: Schema.Finite;
179
+ readonly text: Schema.String;
180
+ }>>, never, never>;
181
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
182
+ readonly name: Schema.String;
183
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
184
+ readonly start: Schema.Finite;
185
+ readonly end: Schema.Finite;
186
+ readonly text: Schema.String;
187
+ }>>>, Schema.optionalKey<Schema.Struct<{
188
+ readonly start: Schema.Finite;
189
+ readonly end: Schema.Finite;
190
+ readonly text: Schema.String;
191
+ }>>, never, never>;
192
+ }>>>, never, never>;
193
+ readonly skills: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Array<Schema.Struct<{
194
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
195
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
196
+ readonly text: 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
+ }>>>>, Schema.optionalKey<Schema.$Array<Schema.Struct<{
207
+ readonly id: Schema.brand<Schema.String, "Skill.ID">;
208
+ readonly name: Schema.brand<Schema.String, "Skill.Name">;
209
+ readonly text: Schema.decodeTo<Schema.optional<Schema.toType<Schema.String>>, Schema.optionalKey<Schema.String>, never, never>;
210
+ readonly mention: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
211
+ readonly start: Schema.Finite;
212
+ readonly end: Schema.Finite;
213
+ readonly text: Schema.String;
214
+ }>>>, Schema.optionalKey<Schema.Struct<{
215
+ readonly start: Schema.Finite;
216
+ readonly end: Schema.Finite;
217
+ readonly text: Schema.String;
218
+ }>>, never, never>;
219
+ }>>>, never, never>;
220
+ }> & {
221
+ equivalence: import("effect/Equivalence").Equivalence<{
222
+ readonly text: string;
223
+ readonly files?: readonly {
224
+ readonly data: string;
225
+ readonly mime: string;
226
+ readonly source: {
227
+ readonly type: "inline";
228
+ } | {
229
+ readonly type: "uri";
230
+ readonly uri: string;
231
+ };
232
+ readonly name?: string | undefined;
233
+ readonly description?: string | undefined;
234
+ readonly mention?: {
235
+ readonly start: number;
236
+ readonly end: number;
237
+ readonly text: string;
238
+ } | undefined;
239
+ }[] | undefined;
240
+ readonly agents?: readonly {
241
+ readonly name: string;
242
+ readonly mention?: {
243
+ readonly start: number;
244
+ readonly end: number;
245
+ readonly text: string;
246
+ } | undefined;
247
+ }[] | undefined;
248
+ readonly skills?: readonly {
249
+ readonly id: string & import("effect/Brand").Brand<"Skill.ID">;
250
+ readonly name: string & import("effect/Brand").Brand<"Skill.Name">;
251
+ readonly text?: string | undefined;
252
+ readonly mention?: {
253
+ readonly start: number;
254
+ readonly end: number;
255
+ readonly text: string;
256
+ } | undefined;
257
+ }[] | undefined;
258
+ }>;
259
+ fromUserMessage: (input: Pick<Prompt, "text" | "files" | "agents" | "skills">) => {
260
+ readonly text: string;
261
+ readonly files?: readonly {
262
+ readonly data: string;
263
+ readonly mime: string;
264
+ readonly source: {
265
+ readonly type: "inline";
266
+ } | {
267
+ readonly type: "uri";
268
+ readonly uri: string;
269
+ };
270
+ readonly name?: string | undefined;
271
+ readonly description?: string | undefined;
272
+ readonly mention?: {
273
+ readonly start: number;
274
+ readonly end: number;
275
+ readonly text: string;
276
+ } | undefined;
277
+ }[] | undefined;
278
+ readonly agents?: readonly {
279
+ readonly name: string;
280
+ readonly mention?: {
281
+ readonly start: number;
282
+ readonly end: number;
283
+ readonly text: string;
284
+ } | undefined;
285
+ }[] | undefined;
286
+ readonly skills?: readonly {
287
+ readonly id: string & import("effect/Brand").Brand<"Skill.ID">;
288
+ readonly name: string & import("effect/Brand").Brand<"Skill.Name">;
289
+ readonly text?: string | undefined;
290
+ readonly mention?: {
291
+ readonly start: number;
292
+ readonly end: number;
293
+ readonly text: string;
294
+ } | undefined;
295
+ }[] | undefined;
296
+ };
297
+ };
package/dist/prompt.js ADDED
@@ -0,0 +1,61 @@
1
+ import { Schema } from "effect";
2
+ import { optional } from "./schema.js";
3
+ import { statics } from "./schema.js";
4
+ import { Skill } from "./skill.js";
5
+ export const PromptMention = Schema.Struct({
6
+ start: Schema.Finite,
7
+ end: Schema.Finite,
8
+ text: Schema.String,
9
+ }).annotate({ identifier: "Prompt.Mention" });
10
+ export const FileSource = Schema.Union([
11
+ Schema.Struct({ type: Schema.Literal("inline") }),
12
+ Schema.Struct({ type: Schema.Literal("uri"), uri: Schema.String }),
13
+ ])
14
+ .pipe(Schema.toTaggedUnion("type"))
15
+ .annotate({ identifier: "Prompt.FileSource" });
16
+ export const Base64 = Schema.String.check(Schema.isPattern(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u)).annotate({ identifier: "Prompt.Base64" });
17
+ export const FileAttachment = Schema.Struct({
18
+ data: Base64,
19
+ mime: Schema.String,
20
+ source: FileSource,
21
+ name: Schema.String.pipe(optional),
22
+ description: Schema.String.pipe(optional),
23
+ mention: PromptMention.pipe(optional),
24
+ })
25
+ .annotate({ identifier: "Prompt.FileAttachment" })
26
+ .pipe(statics((schema) => ({
27
+ create: (input) => schema.make({
28
+ data: input.data,
29
+ mime: input.mime,
30
+ source: input.source,
31
+ name: input.name,
32
+ description: input.description,
33
+ mention: input.mention,
34
+ }),
35
+ })));
36
+ export const AgentAttachment = Schema.Struct({
37
+ name: Schema.String,
38
+ mention: PromptMention.pipe(optional),
39
+ }).annotate({ identifier: "Prompt.AgentAttachment" });
40
+ export const SkillAttachment = Schema.Struct({
41
+ id: Skill.ID,
42
+ name: Skill.Name,
43
+ text: Schema.String.pipe(optional),
44
+ mention: PromptMention.pipe(optional),
45
+ }).annotate({ identifier: "Prompt.SkillAttachment" });
46
+ export const Prompt = Schema.Struct({
47
+ text: Schema.String,
48
+ files: Schema.Array(FileAttachment).pipe(optional),
49
+ agents: Schema.Array(AgentAttachment).pipe(optional),
50
+ skills: Schema.Array(SkillAttachment).pipe(optional),
51
+ })
52
+ .annotate({ identifier: "Prompt" })
53
+ .pipe(statics((schema) => ({
54
+ equivalence: Schema.toEquivalence(schema),
55
+ fromUserMessage: (input) => schema.make({
56
+ text: input.text,
57
+ ...(input.files === undefined ? {} : { files: input.files }),
58
+ ...(input.agents === undefined ? {} : { agents: input.agents }),
59
+ ...(input.skills === undefined ? {} : { skills: input.skills }),
60
+ }),
61
+ })));
@@ -0,0 +1,275 @@
1
+ export * as Provider from "./provider.js";
2
+ import { Schema } from "effect";
3
+ export declare const ID: Schema.brand<Schema.String, "Provider.ID"> & {
4
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
5
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
6
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
7
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
8
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
9
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
10
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
11
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
12
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
13
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
14
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
15
+ };
16
+ export type ID = typeof ID.Type;
17
+ export declare const Event: {
18
+ Updated: Schema.Struct<{
19
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
20
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
21
+ };
22
+ readonly created: Schema.Finite;
23
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
24
+ readonly type: Schema.Literal<"provider.updated">;
25
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
26
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
27
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
28
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
29
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
30
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
31
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
32
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
33
+ }>, never, never>;
34
+ }>>>, Schema.optionalKey<Schema.Struct<{
35
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
36
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
37
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
38
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
39
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
40
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
41
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
42
+ }>, never, never>;
43
+ }>>, never, never>;
44
+ readonly data: Schema.Struct<{}>;
45
+ }> & {
46
+ type: "provider.updated";
47
+ durability: "ephemeral";
48
+ durable: undefined;
49
+ data: Schema.Struct<{}>;
50
+ };
51
+ Definitions: readonly [Schema.Struct<{
52
+ readonly id: Schema.brand<Schema.String, "Event.ID"> & {
53
+ create: () => string & import("effect/Brand").Brand<"Event.ID">;
54
+ };
55
+ readonly created: Schema.Finite;
56
+ readonly metadata: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Unknown>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Unknown>>, never, never>;
57
+ readonly type: Schema.Literal<"provider.updated">;
58
+ readonly location: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
59
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
60
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
61
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
62
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
63
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
64
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
65
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
66
+ }>, never, never>;
67
+ }>>>, Schema.optionalKey<Schema.Struct<{
68
+ readonly directory: Schema.brand<Schema.String, "AbsolutePath">;
69
+ readonly workspaceID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Workspace.ID"> & {
70
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
71
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
72
+ }>>, Schema.optionalKey<Schema.brand<Schema.String, "Workspace.ID"> & {
73
+ ascending: (id?: string) => string & import("effect/Brand").Brand<"Workspace.ID">;
74
+ create: () => string & import("effect/Brand").Brand<"Workspace.ID">;
75
+ }>, never, never>;
76
+ }>>, never, never>;
77
+ readonly data: Schema.Struct<{}>;
78
+ }> & {
79
+ type: "provider.updated";
80
+ durability: "ephemeral";
81
+ durable: undefined;
82
+ data: Schema.Struct<{}>;
83
+ }];
84
+ };
85
+ export declare const Package: Schema.String;
86
+ export type Package = typeof Package.Type;
87
+ export declare const Activation: Schema.Literals<readonly ["auto", "enabled", "disabled"]>;
88
+ export type Activation = typeof Activation.Type;
89
+ export declare const Compaction: Schema.Union<readonly [Schema.Struct<{
90
+ readonly type: Schema.Literal<"summary">;
91
+ }>, Schema.Struct<{
92
+ readonly type: Schema.Literal<"native">;
93
+ }>]>;
94
+ export type Compaction = typeof Compaction.Type;
95
+ /** "websocket" on a route without a WebSocket channel warns and falls back to HTTP. */
96
+ export declare const Transport: Schema.Literals<readonly ["http", "websocket"]>;
97
+ export type Transport = typeof Transport.Type;
98
+ /** HTTP request body compression; only endpoints known to decode it should enable it. */
99
+ export declare const Encoding: Schema.Literals<readonly ["zstd", "gzip", "none"]>;
100
+ export type Encoding = typeof Encoding.Type;
101
+ export declare const Settings: Schema.StructWithRest<Schema.Struct<{
102
+ readonly timeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
103
+ readonly headerTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
104
+ readonly chunkTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
105
+ readonly compaction: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Struct<{
106
+ readonly type: Schema.Literal<"summary">;
107
+ }>, Schema.Struct<{
108
+ readonly type: Schema.Literal<"native">;
109
+ }>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
110
+ readonly type: Schema.Literal<"summary">;
111
+ }>, Schema.Struct<{
112
+ readonly type: Schema.Literal<"native">;
113
+ }>]>>, never, never>;
114
+ readonly transport: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["http", "websocket"]>>>, Schema.optionalKey<Schema.Literals<readonly ["http", "websocket"]>>, never, never>;
115
+ readonly encoding: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["zstd", "gzip", "none"]>>>, Schema.optionalKey<Schema.Literals<readonly ["zstd", "gzip", "none"]>>, never, never>;
116
+ }>, readonly [Schema.$Record<Schema.String, Schema.Any>]>;
117
+ export type Settings = typeof Settings.Type;
118
+ export declare const Overlays: {
119
+ settings: Schema.decodeTo<Schema.optional<Schema.toType<Schema.StructWithRest<Schema.Struct<{
120
+ readonly timeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
121
+ readonly headerTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
122
+ readonly chunkTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
123
+ readonly compaction: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Struct<{
124
+ readonly type: Schema.Literal<"summary">;
125
+ }>, Schema.Struct<{
126
+ readonly type: Schema.Literal<"native">;
127
+ }>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
128
+ readonly type: Schema.Literal<"summary">;
129
+ }>, Schema.Struct<{
130
+ readonly type: Schema.Literal<"native">;
131
+ }>]>>, never, never>;
132
+ readonly transport: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["http", "websocket"]>>>, Schema.optionalKey<Schema.Literals<readonly ["http", "websocket"]>>, never, never>;
133
+ readonly encoding: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["zstd", "gzip", "none"]>>>, Schema.optionalKey<Schema.Literals<readonly ["zstd", "gzip", "none"]>>, never, never>;
134
+ }>, readonly [Schema.$Record<Schema.String, Schema.Any>]>>>, Schema.optionalKey<Schema.StructWithRest<Schema.Struct<{
135
+ readonly timeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
136
+ readonly headerTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
137
+ readonly chunkTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
138
+ readonly compaction: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Struct<{
139
+ readonly type: Schema.Literal<"summary">;
140
+ }>, Schema.Struct<{
141
+ readonly type: Schema.Literal<"native">;
142
+ }>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
143
+ readonly type: Schema.Literal<"summary">;
144
+ }>, Schema.Struct<{
145
+ readonly type: Schema.Literal<"native">;
146
+ }>]>>, never, never>;
147
+ readonly transport: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["http", "websocket"]>>>, Schema.optionalKey<Schema.Literals<readonly ["http", "websocket"]>>, never, never>;
148
+ readonly encoding: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["zstd", "gzip", "none"]>>>, Schema.optionalKey<Schema.Literals<readonly ["zstd", "gzip", "none"]>>, never, never>;
149
+ }>, readonly [Schema.$Record<Schema.String, Schema.Any>]>>, never, never>;
150
+ headers: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.String>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>, never, never>;
151
+ body: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Any>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Any>>, never, never>;
152
+ };
153
+ export interface Request extends Schema.Schema.Type<typeof Request> {
154
+ }
155
+ export declare const Request: Schema.Struct<{
156
+ readonly settings: Schema.withConstructorDefault<Schema.StructWithRest<Schema.Struct<{
157
+ readonly timeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
158
+ readonly headerTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
159
+ readonly chunkTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
160
+ readonly compaction: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Struct<{
161
+ readonly type: Schema.Literal<"summary">;
162
+ }>, Schema.Struct<{
163
+ readonly type: Schema.Literal<"native">;
164
+ }>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
165
+ readonly type: Schema.Literal<"summary">;
166
+ }>, Schema.Struct<{
167
+ readonly type: Schema.Literal<"native">;
168
+ }>]>>, never, never>;
169
+ readonly transport: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["http", "websocket"]>>>, Schema.optionalKey<Schema.Literals<readonly ["http", "websocket"]>>, never, never>;
170
+ readonly encoding: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["zstd", "gzip", "none"]>>>, Schema.optionalKey<Schema.Literals<readonly ["zstd", "gzip", "none"]>>, never, never>;
171
+ }>, readonly [Schema.$Record<Schema.String, Schema.Any>]>>;
172
+ readonly headers: Schema.$Record<Schema.String, Schema.String>;
173
+ readonly body: Schema.$Record<Schema.String, Schema.Any>;
174
+ }>;
175
+ export interface Info extends Schema.Schema.Type<typeof Info> {
176
+ }
177
+ export declare const Info: Schema.Struct<{
178
+ readonly settings: Schema.decodeTo<Schema.optional<Schema.toType<Schema.StructWithRest<Schema.Struct<{
179
+ readonly timeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
180
+ readonly headerTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
181
+ readonly chunkTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
182
+ readonly compaction: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Struct<{
183
+ readonly type: Schema.Literal<"summary">;
184
+ }>, Schema.Struct<{
185
+ readonly type: Schema.Literal<"native">;
186
+ }>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
187
+ readonly type: Schema.Literal<"summary">;
188
+ }>, Schema.Struct<{
189
+ readonly type: Schema.Literal<"native">;
190
+ }>]>>, never, never>;
191
+ readonly transport: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["http", "websocket"]>>>, Schema.optionalKey<Schema.Literals<readonly ["http", "websocket"]>>, never, never>;
192
+ readonly encoding: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["zstd", "gzip", "none"]>>>, Schema.optionalKey<Schema.Literals<readonly ["zstd", "gzip", "none"]>>, never, never>;
193
+ }>, readonly [Schema.$Record<Schema.String, Schema.Any>]>>>, Schema.optionalKey<Schema.StructWithRest<Schema.Struct<{
194
+ readonly timeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
195
+ readonly headerTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
196
+ readonly chunkTimeout: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Finite, Schema.Literal<false>]>>, never, never>;
197
+ readonly compaction: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Struct<{
198
+ readonly type: Schema.Literal<"summary">;
199
+ }>, Schema.Struct<{
200
+ readonly type: Schema.Literal<"native">;
201
+ }>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
202
+ readonly type: Schema.Literal<"summary">;
203
+ }>, Schema.Struct<{
204
+ readonly type: Schema.Literal<"native">;
205
+ }>]>>, never, never>;
206
+ readonly transport: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["http", "websocket"]>>>, Schema.optionalKey<Schema.Literals<readonly ["http", "websocket"]>>, never, never>;
207
+ readonly encoding: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["zstd", "gzip", "none"]>>>, Schema.optionalKey<Schema.Literals<readonly ["zstd", "gzip", "none"]>>, never, never>;
208
+ }>, readonly [Schema.$Record<Schema.String, Schema.Any>]>>, never, never>;
209
+ readonly headers: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.String>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>, never, never>;
210
+ readonly body: Schema.decodeTo<Schema.optional<Schema.toType<Schema.$Record<Schema.String, Schema.Any>>>, Schema.optionalKey<Schema.$Record<Schema.String, Schema.Any>>, never, never>;
211
+ readonly id: Schema.brand<Schema.String, "Provider.ID"> & {
212
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
213
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
214
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
215
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
216
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
217
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
218
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
219
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
220
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
221
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
222
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
223
+ };
224
+ readonly canonical: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Provider.ID"> & {
225
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
226
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
227
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
228
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
229
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
230
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
231
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
232
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
233
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
234
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
235
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
236
+ }>>, Schema.optionalKey<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
+ }>, never, never>;
249
+ readonly integrationID: Schema.decodeTo<Schema.optional<Schema.toType<Schema.brand<Schema.String, "Integration.ID">>>, Schema.optionalKey<Schema.brand<Schema.String, "Integration.ID">>, never, never>;
250
+ readonly name: Schema.String;
251
+ readonly activation: Schema.Literals<readonly ["auto", "enabled", "disabled"]>;
252
+ readonly package: Schema.String;
253
+ /** Inherited by every model of this provider; model compatibility overrides individual fields. */
254
+ readonly compatibility: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Struct<{
255
+ readonly reasoningField: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Codec<import("./model-compatibility.js").ReasoningField, import("./model-compatibility.js").ReasoningField, never, never>>>, Schema.optionalKey<Schema.Codec<import("./model-compatibility.js").ReasoningField, import("./model-compatibility.js").ReasoningField, never, never>>, never, never>;
256
+ readonly requireReasoning: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
257
+ readonly maxTokensField: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["max_completion_tokens", "max_tokens"]>>>, Schema.optionalKey<Schema.Literals<readonly ["max_completion_tokens", "max_tokens"]>>, never, never>;
258
+ readonly requireFinishReason: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
259
+ readonly requireAssistantAfterTool: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
260
+ readonly supportsPromptCacheKey: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
261
+ readonly streamUsage: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
262
+ readonly cacheFormat: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["anthropic", "alibaba"]>>>, Schema.optionalKey<Schema.Literals<readonly ["anthropic", "alibaba"]>>, never, never>;
263
+ }>>>, Schema.optionalKey<Schema.Struct<{
264
+ readonly reasoningField: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Codec<import("./model-compatibility.js").ReasoningField, import("./model-compatibility.js").ReasoningField, never, never>>>, Schema.optionalKey<Schema.Codec<import("./model-compatibility.js").ReasoningField, import("./model-compatibility.js").ReasoningField, never, never>>, never, never>;
265
+ readonly requireReasoning: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
266
+ readonly maxTokensField: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["max_completion_tokens", "max_tokens"]>>>, Schema.optionalKey<Schema.Literals<readonly ["max_completion_tokens", "max_tokens"]>>, never, never>;
267
+ readonly requireFinishReason: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
268
+ readonly requireAssistantAfterTool: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
269
+ readonly supportsPromptCacheKey: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
270
+ readonly streamUsage: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
271
+ readonly cacheFormat: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["anthropic", "alibaba"]>>>, Schema.optionalKey<Schema.Literals<readonly ["anthropic", "alibaba"]>>, never, never>;
272
+ }>>, never, never>;
273
+ }> & {
274
+ empty: (id: ID) => Info;
275
+ };