@dexto/server 1.2.5

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 (174) hide show
  1. package/LICENSE +44 -0
  2. package/dist/a2a/adapters/index.cjs +42 -0
  3. package/dist/a2a/adapters/index.d.ts +10 -0
  4. package/dist/a2a/adapters/index.d.ts.map +1 -0
  5. package/dist/a2a/adapters/index.js +12 -0
  6. package/dist/a2a/adapters/message.cjs +193 -0
  7. package/dist/a2a/adapters/message.d.ts +50 -0
  8. package/dist/a2a/adapters/message.d.ts.map +1 -0
  9. package/dist/a2a/adapters/message.js +167 -0
  10. package/dist/a2a/adapters/state.cjs +57 -0
  11. package/dist/a2a/adapters/state.d.ts +36 -0
  12. package/dist/a2a/adapters/state.d.ts.map +1 -0
  13. package/dist/a2a/adapters/state.js +32 -0
  14. package/dist/a2a/adapters/task-view.cjs +85 -0
  15. package/dist/a2a/adapters/task-view.d.ts +58 -0
  16. package/dist/a2a/adapters/task-view.d.ts.map +1 -0
  17. package/dist/a2a/adapters/task-view.js +60 -0
  18. package/dist/a2a/index.cjs +51 -0
  19. package/dist/a2a/index.d.ts +15 -0
  20. package/dist/a2a/index.d.ts.map +1 -0
  21. package/dist/a2a/index.js +30 -0
  22. package/dist/a2a/jsonrpc/index.cjs +38 -0
  23. package/dist/a2a/jsonrpc/index.d.ts +11 -0
  24. package/dist/a2a/jsonrpc/index.d.ts.map +1 -0
  25. package/dist/a2a/jsonrpc/index.js +10 -0
  26. package/dist/a2a/jsonrpc/methods.cjs +183 -0
  27. package/dist/a2a/jsonrpc/methods.d.ts +110 -0
  28. package/dist/a2a/jsonrpc/methods.d.ts.map +1 -0
  29. package/dist/a2a/jsonrpc/methods.js +159 -0
  30. package/dist/a2a/jsonrpc/server.cjs +199 -0
  31. package/dist/a2a/jsonrpc/server.d.ts +100 -0
  32. package/dist/a2a/jsonrpc/server.d.ts.map +1 -0
  33. package/dist/a2a/jsonrpc/server.js +175 -0
  34. package/dist/a2a/jsonrpc/types.cjs +47 -0
  35. package/dist/a2a/jsonrpc/types.d.ts +91 -0
  36. package/dist/a2a/jsonrpc/types.d.ts.map +1 -0
  37. package/dist/a2a/jsonrpc/types.js +21 -0
  38. package/dist/a2a/types.cjs +16 -0
  39. package/dist/a2a/types.d.ts +250 -0
  40. package/dist/a2a/types.d.ts.map +1 -0
  41. package/dist/a2a/types.js +0 -0
  42. package/dist/approval/approval-coordinator.cjs +87 -0
  43. package/dist/approval/approval-coordinator.d.ts +52 -0
  44. package/dist/approval/approval-coordinator.d.ts.map +1 -0
  45. package/dist/approval/approval-coordinator.js +63 -0
  46. package/dist/approval/manual-approval-handler.cjs +100 -0
  47. package/dist/approval/manual-approval-handler.d.ts +32 -0
  48. package/dist/approval/manual-approval-handler.d.ts.map +1 -0
  49. package/dist/approval/manual-approval-handler.js +76 -0
  50. package/dist/events/a2a-sse-subscriber.cjs +271 -0
  51. package/dist/events/a2a-sse-subscriber.d.ts +94 -0
  52. package/dist/events/a2a-sse-subscriber.d.ts.map +1 -0
  53. package/dist/events/a2a-sse-subscriber.js +247 -0
  54. package/dist/events/types.cjs +16 -0
  55. package/dist/events/types.d.ts +15 -0
  56. package/dist/events/types.d.ts.map +1 -0
  57. package/dist/events/types.js +0 -0
  58. package/dist/events/webhook-subscriber.cjs +301 -0
  59. package/dist/events/webhook-subscriber.d.ts +64 -0
  60. package/dist/events/webhook-subscriber.d.ts.map +1 -0
  61. package/dist/events/webhook-subscriber.js +269 -0
  62. package/dist/events/webhook-types.cjs +16 -0
  63. package/dist/events/webhook-types.d.ts +91 -0
  64. package/dist/events/webhook-types.d.ts.map +1 -0
  65. package/dist/events/webhook-types.js +0 -0
  66. package/dist/hono/__tests__/test-fixtures.cjs +236 -0
  67. package/dist/hono/__tests__/test-fixtures.d.ts +65 -0
  68. package/dist/hono/__tests__/test-fixtures.d.ts.map +1 -0
  69. package/dist/hono/__tests__/test-fixtures.js +197 -0
  70. package/dist/hono/index.cjs +166 -0
  71. package/dist/hono/index.d.ts +2783 -0
  72. package/dist/hono/index.d.ts.map +1 -0
  73. package/dist/hono/index.js +141 -0
  74. package/dist/hono/middleware/auth.cjs +75 -0
  75. package/dist/hono/middleware/auth.d.ts +3 -0
  76. package/dist/hono/middleware/auth.d.ts.map +1 -0
  77. package/dist/hono/middleware/auth.js +51 -0
  78. package/dist/hono/middleware/cors.cjs +57 -0
  79. package/dist/hono/middleware/cors.d.ts +9 -0
  80. package/dist/hono/middleware/cors.d.ts.map +1 -0
  81. package/dist/hono/middleware/cors.js +33 -0
  82. package/dist/hono/middleware/error.cjs +131 -0
  83. package/dist/hono/middleware/error.d.ts +5 -0
  84. package/dist/hono/middleware/error.d.ts.map +1 -0
  85. package/dist/hono/middleware/error.js +105 -0
  86. package/dist/hono/middleware/redaction.cjs +45 -0
  87. package/dist/hono/middleware/redaction.d.ts +4 -0
  88. package/dist/hono/middleware/redaction.d.ts.map +1 -0
  89. package/dist/hono/middleware/redaction.js +20 -0
  90. package/dist/hono/node/index.cjs +139 -0
  91. package/dist/hono/node/index.d.ts +19 -0
  92. package/dist/hono/node/index.d.ts.map +1 -0
  93. package/dist/hono/node/index.js +115 -0
  94. package/dist/hono/routes/a2a-jsonrpc.cjs +119 -0
  95. package/dist/hono/routes/a2a-jsonrpc.d.ts +46 -0
  96. package/dist/hono/routes/a2a-jsonrpc.d.ts.map +1 -0
  97. package/dist/hono/routes/a2a-jsonrpc.js +95 -0
  98. package/dist/hono/routes/a2a-tasks.cjs +315 -0
  99. package/dist/hono/routes/a2a-tasks.d.ts +530 -0
  100. package/dist/hono/routes/a2a-tasks.d.ts.map +1 -0
  101. package/dist/hono/routes/a2a-tasks.js +291 -0
  102. package/dist/hono/routes/a2a.cjs +36 -0
  103. package/dist/hono/routes/a2a.d.ts +4 -0
  104. package/dist/hono/routes/a2a.d.ts.map +1 -0
  105. package/dist/hono/routes/a2a.js +12 -0
  106. package/dist/hono/routes/agents.cjs +735 -0
  107. package/dist/hono/routes/agents.d.ts +650 -0
  108. package/dist/hono/routes/agents.d.ts.map +1 -0
  109. package/dist/hono/routes/agents.js +711 -0
  110. package/dist/hono/routes/approvals.cjs +125 -0
  111. package/dist/hono/routes/approvals.d.ts +89 -0
  112. package/dist/hono/routes/approvals.d.ts.map +1 -0
  113. package/dist/hono/routes/approvals.js +101 -0
  114. package/dist/hono/routes/greeting.cjs +60 -0
  115. package/dist/hono/routes/greeting.d.ts +19 -0
  116. package/dist/hono/routes/greeting.d.ts.map +1 -0
  117. package/dist/hono/routes/greeting.js +36 -0
  118. package/dist/hono/routes/health.cjs +45 -0
  119. package/dist/hono/routes/health.d.ts +17 -0
  120. package/dist/hono/routes/health.d.ts.map +1 -0
  121. package/dist/hono/routes/health.js +21 -0
  122. package/dist/hono/routes/llm.cjs +298 -0
  123. package/dist/hono/routes/llm.d.ts +294 -0
  124. package/dist/hono/routes/llm.d.ts.map +1 -0
  125. package/dist/hono/routes/llm.js +287 -0
  126. package/dist/hono/routes/mcp.cjs +356 -0
  127. package/dist/hono/routes/mcp.d.ts +246 -0
  128. package/dist/hono/routes/mcp.d.ts.map +1 -0
  129. package/dist/hono/routes/mcp.js +332 -0
  130. package/dist/hono/routes/memory.cjs +192 -0
  131. package/dist/hono/routes/memory.d.ts +146 -0
  132. package/dist/hono/routes/memory.d.ts.map +1 -0
  133. package/dist/hono/routes/memory.js +168 -0
  134. package/dist/hono/routes/messages.cjs +320 -0
  135. package/dist/hono/routes/messages.d.ts +163 -0
  136. package/dist/hono/routes/messages.d.ts.map +1 -0
  137. package/dist/hono/routes/messages.js +296 -0
  138. package/dist/hono/routes/prompts.cjs +228 -0
  139. package/dist/hono/routes/prompts.d.ts +150 -0
  140. package/dist/hono/routes/prompts.d.ts.map +1 -0
  141. package/dist/hono/routes/prompts.js +204 -0
  142. package/dist/hono/routes/resources.cjs +110 -0
  143. package/dist/hono/routes/resources.d.ts +76 -0
  144. package/dist/hono/routes/resources.d.ts.map +1 -0
  145. package/dist/hono/routes/resources.js +86 -0
  146. package/dist/hono/routes/search.cjs +109 -0
  147. package/dist/hono/routes/search.d.ts +137 -0
  148. package/dist/hono/routes/search.d.ts.map +1 -0
  149. package/dist/hono/routes/search.js +85 -0
  150. package/dist/hono/routes/sessions.cjs +366 -0
  151. package/dist/hono/routes/sessions.d.ts +229 -0
  152. package/dist/hono/routes/sessions.d.ts.map +1 -0
  153. package/dist/hono/routes/sessions.js +342 -0
  154. package/dist/hono/routes/webhooks.cjs +228 -0
  155. package/dist/hono/routes/webhooks.d.ts +127 -0
  156. package/dist/hono/routes/webhooks.d.ts.map +1 -0
  157. package/dist/hono/routes/webhooks.js +204 -0
  158. package/dist/hono/schemas/responses.cjs +276 -0
  159. package/dist/hono/schemas/responses.d.ts +1418 -0
  160. package/dist/hono/schemas/responses.d.ts.map +1 -0
  161. package/dist/hono/schemas/responses.js +227 -0
  162. package/dist/hono/types.cjs +16 -0
  163. package/dist/hono/types.d.ts +6 -0
  164. package/dist/hono/types.d.ts.map +1 -0
  165. package/dist/hono/types.js +0 -0
  166. package/dist/index.cjs +38 -0
  167. package/dist/index.d.ts +11 -0
  168. package/dist/index.d.ts.map +1 -0
  169. package/dist/index.js +9 -0
  170. package/dist/mcp/mcp-handler.cjs +145 -0
  171. package/dist/mcp/mcp-handler.d.ts +14 -0
  172. package/dist/mcp/mcp-handler.d.ts.map +1 -0
  173. package/dist/mcp/mcp-handler.js +118 -0
  174. package/package.json +59 -0
@@ -0,0 +1,2783 @@
1
+ import { OpenAPIHono } from '@hono/zod-openapi';
2
+ import type { DextoAgent, AgentCard } from '@dexto/core';
3
+ import { type AgentsRouterContext } from './routes/agents.js';
4
+ import { WebhookEventSubscriber } from '../events/webhook-subscriber.js';
5
+ import { A2ASseEventSubscriber } from '../events/a2a-sse-subscriber.js';
6
+ import { ApprovalCoordinator } from '../approval/approval-coordinator.js';
7
+ export type CreateDextoAppOptions = {
8
+ apiPrefix?: string;
9
+ getAgent: () => DextoAgent;
10
+ getAgentCard: () => AgentCard;
11
+ approvalCoordinator: ApprovalCoordinator;
12
+ webhookSubscriber: WebhookEventSubscriber;
13
+ sseSubscriber: A2ASseEventSubscriber;
14
+ agentsContext?: AgentsRouterContext;
15
+ };
16
+ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIHono<import("hono").Env, import("hono/types").MergeSchemaPath<{
17
+ "/agents": {
18
+ $get: {
19
+ input: {};
20
+ output: {
21
+ installed: {
22
+ description: string;
23
+ type: "custom" | "builtin";
24
+ id: string;
25
+ name: string;
26
+ tags?: string[] | undefined;
27
+ author?: string | undefined;
28
+ }[];
29
+ available: {
30
+ description: string;
31
+ type: "custom" | "builtin";
32
+ id: string;
33
+ name: string;
34
+ tags?: string[] | undefined;
35
+ author?: string | undefined;
36
+ }[];
37
+ current: {
38
+ id: string | null;
39
+ name: string | null;
40
+ };
41
+ };
42
+ outputFormat: "json";
43
+ status: 200;
44
+ };
45
+ };
46
+ } & {
47
+ "/agents/current": {
48
+ $get: {
49
+ input: {};
50
+ output: {
51
+ id: string | null;
52
+ name: string | null;
53
+ };
54
+ outputFormat: "json";
55
+ status: 200;
56
+ };
57
+ };
58
+ } & {
59
+ "/agents/install": {
60
+ $post: {
61
+ input: {
62
+ json: {
63
+ id: string;
64
+ path?: string | undefined;
65
+ } | {
66
+ id: string;
67
+ metadata: {
68
+ tags: string[];
69
+ description: string;
70
+ author: string;
71
+ main?: string | undefined;
72
+ };
73
+ sourcePath: string;
74
+ name?: string | undefined;
75
+ injectPreferences?: boolean | undefined;
76
+ };
77
+ };
78
+ output: {
79
+ type: "custom" | "builtin";
80
+ id: string;
81
+ name: string;
82
+ installed: true;
83
+ };
84
+ outputFormat: "json";
85
+ status: 201;
86
+ };
87
+ };
88
+ } & {
89
+ "/agents/switch": {
90
+ $post: {
91
+ input: {
92
+ json: {
93
+ id: string;
94
+ path?: string | undefined;
95
+ };
96
+ };
97
+ output: {
98
+ id: string;
99
+ name: string;
100
+ switched: true;
101
+ };
102
+ outputFormat: "json";
103
+ status: 200;
104
+ };
105
+ };
106
+ } & {
107
+ "/agents/validate-name": {
108
+ $post: {
109
+ input: {
110
+ json: {
111
+ id: string;
112
+ path?: string | undefined;
113
+ };
114
+ };
115
+ output: {
116
+ valid: boolean;
117
+ message?: string | undefined;
118
+ conflict?: string | undefined;
119
+ };
120
+ outputFormat: "json";
121
+ status: 200;
122
+ };
123
+ };
124
+ } & {
125
+ "/agents/uninstall": {
126
+ $post: {
127
+ input: {
128
+ json: {
129
+ id: string;
130
+ force?: boolean | undefined;
131
+ };
132
+ };
133
+ output: {
134
+ id: string;
135
+ uninstalled: true;
136
+ };
137
+ outputFormat: "json";
138
+ status: 200;
139
+ };
140
+ };
141
+ } & {
142
+ "/agents/custom/create": {
143
+ $post: {
144
+ input: {
145
+ json: {
146
+ description: string;
147
+ config: {
148
+ llm: {
149
+ apiKey: string;
150
+ model: string;
151
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
152
+ router?: "vercel" | "in-built" | undefined;
153
+ maxIterations?: number | undefined;
154
+ baseURL?: string | undefined;
155
+ maxInputTokens?: number | undefined;
156
+ maxOutputTokens?: number | undefined;
157
+ temperature?: number | undefined;
158
+ allowedMediaTypes?: string[] | undefined;
159
+ };
160
+ systemPrompt: string | {
161
+ contributors?: ({
162
+ type: "static";
163
+ content: string;
164
+ id: string;
165
+ priority: number;
166
+ enabled?: boolean | undefined;
167
+ } | {
168
+ type: "dynamic";
169
+ id: string;
170
+ priority: number;
171
+ source: "resources" | "dateTime" | "memorySummary";
172
+ enabled?: boolean | undefined;
173
+ } | {
174
+ type: "file";
175
+ id: string;
176
+ priority: number;
177
+ files: string[];
178
+ options?: {
179
+ includeFilenames?: boolean | undefined;
180
+ separator?: string | undefined;
181
+ errorHandling?: "error" | "skip" | undefined;
182
+ maxFileSize?: number | undefined;
183
+ includeMetadata?: boolean | undefined;
184
+ } | undefined;
185
+ enabled?: boolean | undefined;
186
+ } | {
187
+ type: "memory";
188
+ id: string;
189
+ priority: number;
190
+ options?: {
191
+ includeTimestamps?: boolean | undefined;
192
+ includeTags?: boolean | undefined;
193
+ limit?: number | undefined;
194
+ pinnedOnly?: boolean | undefined;
195
+ } | undefined;
196
+ enabled?: boolean | undefined;
197
+ })[] | undefined;
198
+ };
199
+ storage?: {
200
+ database: {
201
+ type: "in-memory";
202
+ options?: Record<string, any> | undefined;
203
+ maxConnections?: number | undefined;
204
+ idleTimeoutMillis?: number | undefined;
205
+ connectionTimeoutMillis?: number | undefined;
206
+ } | {
207
+ path: string;
208
+ type: "sqlite";
209
+ options?: Record<string, any> | undefined;
210
+ maxConnections?: number | undefined;
211
+ idleTimeoutMillis?: number | undefined;
212
+ connectionTimeoutMillis?: number | undefined;
213
+ } | {
214
+ type: "postgres";
215
+ password?: string | undefined;
216
+ options?: Record<string, any> | undefined;
217
+ url?: string | undefined;
218
+ maxConnections?: number | undefined;
219
+ idleTimeoutMillis?: number | undefined;
220
+ connectionTimeoutMillis?: number | undefined;
221
+ host?: string | undefined;
222
+ port?: number | undefined;
223
+ database?: string | undefined;
224
+ connectionString?: string | undefined;
225
+ };
226
+ cache: {
227
+ type: "in-memory";
228
+ options?: Record<string, any> | undefined;
229
+ maxConnections?: number | undefined;
230
+ idleTimeoutMillis?: number | undefined;
231
+ connectionTimeoutMillis?: number | undefined;
232
+ } | {
233
+ type: "redis";
234
+ password?: string | undefined;
235
+ options?: Record<string, any> | undefined;
236
+ url?: string | undefined;
237
+ maxConnections?: number | undefined;
238
+ idleTimeoutMillis?: number | undefined;
239
+ connectionTimeoutMillis?: number | undefined;
240
+ host?: string | undefined;
241
+ port?: number | undefined;
242
+ database?: number | undefined;
243
+ };
244
+ blob: {
245
+ type: "in-memory";
246
+ maxBlobSize?: number | undefined;
247
+ maxTotalSize?: number | undefined;
248
+ } | {
249
+ type: "local";
250
+ storePath: string;
251
+ maxBlobSize?: number | undefined;
252
+ maxTotalSize?: number | undefined;
253
+ cleanupAfterDays?: number | undefined;
254
+ };
255
+ } | undefined;
256
+ telemetry?: {
257
+ enabled?: boolean | undefined;
258
+ serviceName?: string | undefined;
259
+ tracerName?: string | undefined;
260
+ export?: {
261
+ type: "otlp";
262
+ headers?: Record<string, string> | undefined;
263
+ protocol?: "http" | "grpc" | undefined;
264
+ endpoint?: string | undefined;
265
+ } | {
266
+ type: "console";
267
+ } | undefined;
268
+ } | undefined;
269
+ logger?: {
270
+ level?: "debug" | "info" | "warn" | "error" | "silly" | undefined;
271
+ transports?: ({
272
+ type: "console";
273
+ colorize?: boolean | undefined;
274
+ } | {
275
+ path: string;
276
+ type: "file";
277
+ maxFiles?: number | undefined;
278
+ maxSize?: number | undefined;
279
+ } | {
280
+ token: string;
281
+ type: "upstash";
282
+ url: string;
283
+ listName?: string | undefined;
284
+ maxListLength?: number | undefined;
285
+ batchSize?: number | undefined;
286
+ })[] | undefined;
287
+ } | undefined;
288
+ elicitation?: {
289
+ timeout?: number | undefined;
290
+ enabled?: boolean | undefined;
291
+ } | undefined;
292
+ agentId?: string | undefined;
293
+ starterPrompts?: {
294
+ prompt: string;
295
+ id: string;
296
+ description?: string | undefined;
297
+ title?: string | undefined;
298
+ priority?: number | undefined;
299
+ category?: string | undefined;
300
+ }[] | undefined;
301
+ agentCard?: {
302
+ description: string;
303
+ url: string;
304
+ name: string;
305
+ version: string;
306
+ metadata?: import("zod").objectInputType<{
307
+ dexto: import("zod").ZodOptional<import("zod").ZodObject<{
308
+ authentication: import("zod").ZodOptional<import("zod").ZodObject<{
309
+ schemes: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString, "many">>;
310
+ credentials: import("zod").ZodOptional<import("zod").ZodString>;
311
+ }, "strict", import("zod").ZodTypeAny, {
312
+ schemes: string[];
313
+ credentials?: string | undefined;
314
+ }, {
315
+ schemes?: string[] | undefined;
316
+ credentials?: string | undefined;
317
+ }>>;
318
+ delegation: import("zod").ZodOptional<import("zod").ZodObject<{
319
+ protocol: import("zod").ZodEnum<["dexto-v1", "http-simple", "a2a-jsonrpc", "mcp-http"]>;
320
+ endpoint: import("zod").ZodString;
321
+ supportsSession: import("zod").ZodBoolean;
322
+ supportsStreaming: import("zod").ZodOptional<import("zod").ZodBoolean>;
323
+ }, "strict", import("zod").ZodTypeAny, {
324
+ protocol: "dexto-v1" | "http-simple" | "a2a-jsonrpc" | "mcp-http";
325
+ endpoint: string;
326
+ supportsSession: boolean;
327
+ supportsStreaming?: boolean | undefined;
328
+ }, {
329
+ protocol: "dexto-v1" | "http-simple" | "a2a-jsonrpc" | "mcp-http";
330
+ endpoint: string;
331
+ supportsSession: boolean;
332
+ supportsStreaming?: boolean | undefined;
333
+ }>>;
334
+ owner: import("zod").ZodOptional<import("zod").ZodObject<{
335
+ userId: import("zod").ZodString;
336
+ username: import("zod").ZodString;
337
+ email: import("zod").ZodOptional<import("zod").ZodString>;
338
+ }, "strict", import("zod").ZodTypeAny, {
339
+ userId: string;
340
+ username: string;
341
+ email?: string | undefined;
342
+ }, {
343
+ userId: string;
344
+ username: string;
345
+ email?: string | undefined;
346
+ }>>;
347
+ }, "strict", import("zod").ZodTypeAny, {
348
+ authentication?: {
349
+ schemes: string[];
350
+ credentials?: string | undefined;
351
+ } | undefined;
352
+ delegation?: {
353
+ protocol: "dexto-v1" | "http-simple" | "a2a-jsonrpc" | "mcp-http";
354
+ endpoint: string;
355
+ supportsSession: boolean;
356
+ supportsStreaming?: boolean | undefined;
357
+ } | undefined;
358
+ owner?: {
359
+ userId: string;
360
+ username: string;
361
+ email?: string | undefined;
362
+ } | undefined;
363
+ }, {
364
+ authentication?: {
365
+ schemes?: string[] | undefined;
366
+ credentials?: string | undefined;
367
+ } | undefined;
368
+ delegation?: {
369
+ protocol: "dexto-v1" | "http-simple" | "a2a-jsonrpc" | "mcp-http";
370
+ endpoint: string;
371
+ supportsSession: boolean;
372
+ supportsStreaming?: boolean | undefined;
373
+ } | undefined;
374
+ owner?: {
375
+ userId: string;
376
+ username: string;
377
+ email?: string | undefined;
378
+ } | undefined;
379
+ }>>;
380
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
381
+ capabilities?: {
382
+ streaming?: boolean | undefined;
383
+ pushNotifications?: boolean | undefined;
384
+ stateTransitionHistory?: boolean | undefined;
385
+ } | undefined;
386
+ provider?: {
387
+ url: string;
388
+ organization: string;
389
+ } | undefined;
390
+ protocolVersion?: string | undefined;
391
+ preferredTransport?: "JSONRPC" | "GRPC" | "HTTP+JSON" | undefined;
392
+ defaultInputModes?: string[] | undefined;
393
+ defaultOutputModes?: string[] | undefined;
394
+ skills?: {
395
+ description: string;
396
+ name: string;
397
+ id: string;
398
+ tags: string[];
399
+ examples?: string[] | undefined;
400
+ inputModes?: string[] | undefined;
401
+ outputModes?: string[] | undefined;
402
+ }[] | undefined;
403
+ iconUrl?: string | undefined;
404
+ documentationUrl?: string | undefined;
405
+ additionalInterfaces?: {
406
+ url: string;
407
+ transport: "JSONRPC" | "GRPC" | "HTTP+JSON";
408
+ }[] | undefined;
409
+ securitySchemes?: Record<string, {
410
+ type: "apiKey";
411
+ name: string;
412
+ in: "query" | "header" | "cookie";
413
+ description?: string | undefined;
414
+ } | {
415
+ type: "http";
416
+ scheme: string;
417
+ description?: string | undefined;
418
+ bearerFormat?: string | undefined;
419
+ } | {
420
+ type: "oauth2";
421
+ flows: {
422
+ password?: {
423
+ scopes: Record<string, string>;
424
+ authorizationUrl?: string | undefined;
425
+ tokenUrl?: string | undefined;
426
+ refreshUrl?: string | undefined;
427
+ } | undefined;
428
+ implicit?: {
429
+ scopes: Record<string, string>;
430
+ authorizationUrl?: string | undefined;
431
+ tokenUrl?: string | undefined;
432
+ refreshUrl?: string | undefined;
433
+ } | undefined;
434
+ clientCredentials?: {
435
+ scopes: Record<string, string>;
436
+ authorizationUrl?: string | undefined;
437
+ tokenUrl?: string | undefined;
438
+ refreshUrl?: string | undefined;
439
+ } | undefined;
440
+ authorizationCode?: {
441
+ scopes: Record<string, string>;
442
+ authorizationUrl?: string | undefined;
443
+ tokenUrl?: string | undefined;
444
+ refreshUrl?: string | undefined;
445
+ } | undefined;
446
+ };
447
+ description?: string | undefined;
448
+ } | {
449
+ type: "openIdConnect";
450
+ openIdConnectUrl: string;
451
+ description?: string | undefined;
452
+ } | {
453
+ type: "mutualTLS";
454
+ description?: string | undefined;
455
+ }> | undefined;
456
+ security?: Record<string, string[]>[] | undefined;
457
+ supportsAuthenticatedExtendedCard?: boolean | undefined;
458
+ signatures?: {
459
+ protected: string;
460
+ signature: string;
461
+ }[] | undefined;
462
+ } | undefined;
463
+ greeting?: string | undefined;
464
+ mcpServers?: Record<string, {
465
+ type: "stdio";
466
+ command: string;
467
+ timeout?: number | undefined;
468
+ args?: string[] | undefined;
469
+ env?: Record<string, string> | undefined;
470
+ connectionMode?: "strict" | "lenient" | undefined;
471
+ } | {
472
+ type: "sse";
473
+ url: string;
474
+ timeout?: number | undefined;
475
+ connectionMode?: "strict" | "lenient" | undefined;
476
+ headers?: Record<string, string> | undefined;
477
+ } | {
478
+ type: "http";
479
+ url: string;
480
+ timeout?: number | undefined;
481
+ connectionMode?: "strict" | "lenient" | undefined;
482
+ headers?: Record<string, string> | undefined;
483
+ }> | undefined;
484
+ internalTools?: ("search_history" | "ask_user" | "read_file" | "glob_files" | "grep_content" | "write_file" | "edit_file" | "bash_exec" | "bash_output" | "kill_process" | "delegate_to_url")[] | undefined;
485
+ sessions?: {
486
+ maxSessions?: number | undefined;
487
+ sessionTTL?: number | undefined;
488
+ } | undefined;
489
+ toolConfirmation?: {
490
+ timeout?: number | undefined;
491
+ mode?: "manual" | "auto-approve" | "auto-deny" | undefined;
492
+ allowedToolsStorage?: "storage" | "memory" | undefined;
493
+ toolPolicies?: {
494
+ alwaysAllow?: string[] | undefined;
495
+ alwaysDeny?: string[] | undefined;
496
+ } | undefined;
497
+ } | undefined;
498
+ internalResources?: ({
499
+ type: "filesystem";
500
+ paths: string[];
501
+ maxFiles?: number | undefined;
502
+ maxDepth?: number | undefined;
503
+ includeHidden?: boolean | undefined;
504
+ includeExtensions?: string[] | undefined;
505
+ } | {
506
+ type: "blob";
507
+ })[] | {
508
+ enabled?: boolean | undefined;
509
+ resources?: ({
510
+ type: "filesystem";
511
+ paths: string[];
512
+ maxFiles?: number | undefined;
513
+ maxDepth?: number | undefined;
514
+ includeHidden?: boolean | undefined;
515
+ includeExtensions?: string[] | undefined;
516
+ } | {
517
+ type: "blob";
518
+ })[] | undefined;
519
+ } | undefined;
520
+ plugins?: {
521
+ custom?: {
522
+ name: string;
523
+ priority: number;
524
+ module: string;
525
+ blocking: boolean;
526
+ config?: Record<string, any> | undefined;
527
+ enabled?: boolean | undefined;
528
+ }[] | undefined;
529
+ contentPolicy?: import("zod").objectInputType<{
530
+ priority: import("zod").ZodNumber;
531
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
532
+ enabled: import("zod").ZodDefault<import("zod").ZodBoolean>;
533
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
534
+ responseSanitizer?: import("zod").objectInputType<{
535
+ priority: import("zod").ZodNumber;
536
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
537
+ enabled: import("zod").ZodDefault<import("zod").ZodBoolean>;
538
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
539
+ } | undefined;
540
+ };
541
+ id: string;
542
+ name: string;
543
+ tags?: string[] | undefined;
544
+ author?: string | undefined;
545
+ };
546
+ };
547
+ output: {
548
+ id: string;
549
+ name: string;
550
+ created: true;
551
+ };
552
+ outputFormat: "json";
553
+ status: 201;
554
+ };
555
+ };
556
+ } & {
557
+ "/agent/path": {
558
+ $get: {
559
+ input: {};
560
+ output: {
561
+ path: string;
562
+ name: string;
563
+ relativePath: string;
564
+ isDefault: boolean;
565
+ };
566
+ outputFormat: "json";
567
+ status: 200;
568
+ };
569
+ };
570
+ } & {
571
+ "/agent/config": {
572
+ $get: {
573
+ input: {};
574
+ output: {
575
+ path: string;
576
+ lastModified: string;
577
+ yaml: string;
578
+ relativePath: string;
579
+ warnings: string[];
580
+ };
581
+ outputFormat: "json";
582
+ status: 200;
583
+ };
584
+ };
585
+ } & {
586
+ "/agent/validate": {
587
+ $post: {
588
+ input: {
589
+ json: {
590
+ yaml: string;
591
+ };
592
+ };
593
+ output: {
594
+ valid: boolean;
595
+ warnings: {
596
+ path: string;
597
+ code: string;
598
+ message: string;
599
+ }[];
600
+ errors: {
601
+ [x: string]: import("hono/utils/types").JSONValue;
602
+ code: string;
603
+ message: string;
604
+ path?: string | undefined;
605
+ line?: number | undefined;
606
+ column?: number | undefined;
607
+ }[];
608
+ };
609
+ outputFormat: "json";
610
+ status: 200;
611
+ };
612
+ };
613
+ } & {
614
+ "/agent/config": {
615
+ $post: {
616
+ input: {
617
+ json: {
618
+ yaml: string;
619
+ };
620
+ };
621
+ output: {
622
+ path: string;
623
+ message: string;
624
+ ok: true;
625
+ restarted: boolean;
626
+ reloaded: boolean;
627
+ changesApplied: string[];
628
+ };
629
+ outputFormat: "json";
630
+ status: 200;
631
+ };
632
+ };
633
+ } & {
634
+ "/agent/config/export": {
635
+ $get: {
636
+ input: {
637
+ query: {
638
+ sessionId?: string | undefined;
639
+ };
640
+ };
641
+ output: Response;
642
+ outputFormat: "json";
643
+ status: import("hono/utils/http-status").StatusCode;
644
+ };
645
+ };
646
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
647
+ "/approvals/:approvalId": {
648
+ $post: {
649
+ input: {
650
+ param: {
651
+ approvalId: string;
652
+ };
653
+ } & {
654
+ header: {
655
+ 'Idempotency-Key'?: string | undefined;
656
+ };
657
+ } & {
658
+ json: {
659
+ status: import("@dexto/core").ApprovalStatus.APPROVED | import("@dexto/core").ApprovalStatus.DENIED;
660
+ formData?: Record<string, unknown> | undefined;
661
+ rememberChoice?: boolean | undefined;
662
+ };
663
+ };
664
+ output: {};
665
+ outputFormat: string;
666
+ status: 400;
667
+ } | {
668
+ input: {
669
+ param: {
670
+ approvalId: string;
671
+ };
672
+ } & {
673
+ header: {
674
+ 'Idempotency-Key'?: string | undefined;
675
+ };
676
+ } & {
677
+ json: {
678
+ status: import("@dexto/core").ApprovalStatus.APPROVED | import("@dexto/core").ApprovalStatus.DENIED;
679
+ formData?: Record<string, unknown> | undefined;
680
+ rememberChoice?: boolean | undefined;
681
+ };
682
+ };
683
+ output: {};
684
+ outputFormat: string;
685
+ status: 404;
686
+ } | {
687
+ input: {
688
+ param: {
689
+ approvalId: string;
690
+ };
691
+ } & {
692
+ header: {
693
+ 'Idempotency-Key'?: string | undefined;
694
+ };
695
+ } & {
696
+ json: {
697
+ status: import("@dexto/core").ApprovalStatus.APPROVED | import("@dexto/core").ApprovalStatus.DENIED;
698
+ formData?: Record<string, unknown> | undefined;
699
+ rememberChoice?: boolean | undefined;
700
+ };
701
+ };
702
+ output: {};
703
+ outputFormat: string;
704
+ status: 503;
705
+ } | {
706
+ input: {
707
+ param: {
708
+ approvalId: string;
709
+ };
710
+ } & {
711
+ header: {
712
+ 'Idempotency-Key'?: string | undefined;
713
+ };
714
+ } & {
715
+ json: {
716
+ status: import("@dexto/core").ApprovalStatus.APPROVED | import("@dexto/core").ApprovalStatus.DENIED;
717
+ formData?: Record<string, unknown> | undefined;
718
+ rememberChoice?: boolean | undefined;
719
+ };
720
+ };
721
+ output: {
722
+ status: import("@dexto/core").ApprovalStatus.APPROVED | import("@dexto/core").ApprovalStatus.DENIED;
723
+ ok: boolean;
724
+ approvalId: string;
725
+ };
726
+ outputFormat: "json";
727
+ status: 200;
728
+ };
729
+ };
730
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
731
+ "/memory": {
732
+ $post: {
733
+ input: {
734
+ json: {
735
+ content: string;
736
+ metadata?: import("zod").objectInputType<{
737
+ source: import("zod").ZodOptional<import("zod").ZodEnum<["user", "system"]>>;
738
+ pinned: import("zod").ZodOptional<import("zod").ZodBoolean>;
739
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
740
+ tags?: string[] | undefined;
741
+ };
742
+ };
743
+ output: {
744
+ ok: true;
745
+ memory: {
746
+ content: string;
747
+ id: string;
748
+ createdAt: number;
749
+ updatedAt: number;
750
+ metadata?: {
751
+ [x: string]: import("hono/utils/types").JSONValue;
752
+ source?: "system" | "user" | undefined;
753
+ pinned?: boolean | undefined;
754
+ } | undefined;
755
+ tags?: string[] | undefined | undefined;
756
+ };
757
+ };
758
+ outputFormat: "json";
759
+ status: 201;
760
+ };
761
+ };
762
+ } & {
763
+ "/memory": {
764
+ $get: {
765
+ input: {
766
+ query: {
767
+ tags?: string | undefined;
768
+ source?: "system" | "user" | undefined;
769
+ limit?: string | undefined;
770
+ offset?: string | undefined;
771
+ pinned?: string | undefined;
772
+ };
773
+ };
774
+ output: {
775
+ ok: true;
776
+ memories: {
777
+ content: string;
778
+ id: string;
779
+ createdAt: number;
780
+ updatedAt: number;
781
+ metadata?: {
782
+ [x: string]: import("hono/utils/types").JSONValue;
783
+ source?: "system" | "user" | undefined;
784
+ pinned?: boolean | undefined;
785
+ } | undefined;
786
+ tags?: string[] | undefined | undefined;
787
+ }[];
788
+ };
789
+ outputFormat: "json";
790
+ status: 200;
791
+ };
792
+ };
793
+ } & {
794
+ "/memory/:id": {
795
+ $get: {
796
+ input: {
797
+ param: {
798
+ id: string;
799
+ };
800
+ };
801
+ output: {
802
+ ok: true;
803
+ memory: {
804
+ content: string;
805
+ id: string;
806
+ createdAt: number;
807
+ updatedAt: number;
808
+ metadata?: {
809
+ [x: string]: import("hono/utils/types").JSONValue;
810
+ source?: "system" | "user" | undefined;
811
+ pinned?: boolean | undefined;
812
+ } | undefined;
813
+ tags?: string[] | undefined | undefined;
814
+ };
815
+ };
816
+ outputFormat: "json";
817
+ status: 200;
818
+ };
819
+ };
820
+ } & {
821
+ "/memory/:id": {
822
+ $put: {
823
+ input: {
824
+ param: {
825
+ id: string;
826
+ };
827
+ } & {
828
+ json: {
829
+ metadata?: import("zod").objectInputType<{
830
+ source: import("zod").ZodOptional<import("zod").ZodEnum<["user", "system"]>>;
831
+ pinned: import("zod").ZodOptional<import("zod").ZodBoolean>;
832
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
833
+ content?: string | undefined;
834
+ tags?: string[] | undefined;
835
+ };
836
+ };
837
+ output: {
838
+ ok: true;
839
+ memory: {
840
+ content: string;
841
+ id: string;
842
+ createdAt: number;
843
+ updatedAt: number;
844
+ metadata?: {
845
+ [x: string]: import("hono/utils/types").JSONValue;
846
+ source?: "system" | "user" | undefined;
847
+ pinned?: boolean | undefined;
848
+ } | undefined;
849
+ tags?: string[] | undefined | undefined;
850
+ };
851
+ };
852
+ outputFormat: "json";
853
+ status: 200;
854
+ };
855
+ };
856
+ } & {
857
+ "/memory/:id": {
858
+ $delete: {
859
+ input: {
860
+ param: {
861
+ id: string;
862
+ };
863
+ };
864
+ output: {
865
+ message: string;
866
+ ok: true;
867
+ };
868
+ outputFormat: "json";
869
+ status: 200;
870
+ };
871
+ };
872
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
873
+ "/resources": {
874
+ $get: {
875
+ input: {};
876
+ output: {
877
+ ok: true;
878
+ resources: {
879
+ uri: string;
880
+ source: "mcp" | "internal";
881
+ description?: string | undefined;
882
+ mimeType?: string | undefined;
883
+ name?: string | undefined;
884
+ metadata?: {
885
+ [x: string]: import("hono/utils/types").JSONValue;
886
+ } | undefined;
887
+ serverName?: string | undefined;
888
+ size?: number | undefined;
889
+ lastModified?: string | undefined;
890
+ }[];
891
+ };
892
+ outputFormat: "json";
893
+ status: 200;
894
+ };
895
+ };
896
+ } & {
897
+ "/resources/:resourceId/content": {
898
+ $get: {
899
+ input: {
900
+ param: {
901
+ resourceId: string;
902
+ };
903
+ };
904
+ output: {
905
+ content: {
906
+ contents: {
907
+ uri: string;
908
+ text?: string | undefined;
909
+ mimeType?: string | undefined;
910
+ blob?: string | undefined;
911
+ }[];
912
+ _meta?: {
913
+ [x: string]: any;
914
+ } | undefined;
915
+ };
916
+ ok: true;
917
+ };
918
+ outputFormat: "json";
919
+ status: 200;
920
+ };
921
+ };
922
+ } & {
923
+ "/resources/:resourceId": {
924
+ $head: {
925
+ input: {
926
+ param: {
927
+ resourceId: string;
928
+ };
929
+ };
930
+ output: {};
931
+ outputFormat: string;
932
+ status: 200;
933
+ } | {
934
+ input: {
935
+ param: {
936
+ resourceId: string;
937
+ };
938
+ };
939
+ output: {};
940
+ outputFormat: string;
941
+ status: 404;
942
+ };
943
+ };
944
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
945
+ "/prompts": {
946
+ $get: {
947
+ input: {};
948
+ output: {
949
+ prompts: {
950
+ name: string;
951
+ source: "file" | "custom" | "mcp" | "starter";
952
+ description?: string | undefined;
953
+ title?: string | undefined;
954
+ arguments?: {
955
+ name: string;
956
+ description?: string | undefined;
957
+ required?: boolean | undefined;
958
+ }[] | undefined;
959
+ metadata?: {
960
+ [x: string]: import("hono/utils/types").JSONValue;
961
+ } | undefined;
962
+ }[];
963
+ };
964
+ outputFormat: "json";
965
+ status: 200;
966
+ };
967
+ };
968
+ } & {
969
+ "/prompts/custom": {
970
+ $post: {
971
+ input: {
972
+ json: {
973
+ content: string;
974
+ name: string;
975
+ description?: string | undefined;
976
+ title?: string | undefined;
977
+ arguments?: {
978
+ name: string;
979
+ description?: string | undefined;
980
+ required?: boolean | undefined;
981
+ }[] | undefined;
982
+ resource?: {
983
+ mimeType: string;
984
+ base64: string;
985
+ filename?: string | undefined;
986
+ } | undefined;
987
+ };
988
+ };
989
+ output: {
990
+ prompt: {
991
+ name: string;
992
+ source: "file" | "custom" | "mcp" | "starter";
993
+ description?: string | undefined;
994
+ title?: string | undefined;
995
+ arguments?: {
996
+ name: string;
997
+ description?: string | undefined;
998
+ required?: boolean | undefined;
999
+ }[] | undefined;
1000
+ metadata?: {
1001
+ [x: string]: import("hono/utils/types").JSONValue;
1002
+ } | undefined;
1003
+ };
1004
+ };
1005
+ outputFormat: "json";
1006
+ status: 201;
1007
+ };
1008
+ };
1009
+ } & {
1010
+ "/prompts/custom/:name": {
1011
+ $delete: {
1012
+ input: {
1013
+ param: {
1014
+ name: string;
1015
+ };
1016
+ };
1017
+ output: {};
1018
+ outputFormat: string;
1019
+ status: 204;
1020
+ };
1021
+ };
1022
+ } & {
1023
+ "/prompts/:name": {
1024
+ $get: {
1025
+ input: {
1026
+ param: {
1027
+ name: string;
1028
+ };
1029
+ };
1030
+ output: {};
1031
+ outputFormat: string;
1032
+ status: 404;
1033
+ } | {
1034
+ input: {
1035
+ param: {
1036
+ name: string;
1037
+ };
1038
+ };
1039
+ output: {
1040
+ definition: {
1041
+ name: string;
1042
+ description?: string | undefined;
1043
+ title?: string | undefined;
1044
+ arguments?: {
1045
+ name: string;
1046
+ description?: string | undefined;
1047
+ required?: boolean | undefined;
1048
+ }[] | undefined;
1049
+ };
1050
+ };
1051
+ outputFormat: "json";
1052
+ status: 200;
1053
+ };
1054
+ };
1055
+ } & {
1056
+ "/prompts/:name/resolve": {
1057
+ $get: {
1058
+ input: {
1059
+ param: {
1060
+ name: string;
1061
+ };
1062
+ } & {
1063
+ query: {
1064
+ context?: string | undefined;
1065
+ args?: string | undefined;
1066
+ };
1067
+ };
1068
+ output: {};
1069
+ outputFormat: string;
1070
+ status: 404;
1071
+ } | {
1072
+ input: {
1073
+ param: {
1074
+ name: string;
1075
+ };
1076
+ } & {
1077
+ query: {
1078
+ context?: string | undefined;
1079
+ args?: string | undefined;
1080
+ };
1081
+ };
1082
+ output: {
1083
+ text: string;
1084
+ resources: string[];
1085
+ };
1086
+ outputFormat: "json";
1087
+ status: 200;
1088
+ };
1089
+ };
1090
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
1091
+ "/webhooks": {
1092
+ $post: {
1093
+ input: {
1094
+ json: {
1095
+ url: string;
1096
+ description?: string | undefined;
1097
+ secret?: string | undefined;
1098
+ };
1099
+ };
1100
+ output: {
1101
+ webhook: {
1102
+ id: string;
1103
+ createdAt: string | number;
1104
+ url: string;
1105
+ description?: string | undefined;
1106
+ };
1107
+ };
1108
+ outputFormat: "json";
1109
+ status: 201;
1110
+ };
1111
+ };
1112
+ } & {
1113
+ "/webhooks": {
1114
+ $get: {
1115
+ input: {};
1116
+ output: {
1117
+ webhooks: {
1118
+ id: string;
1119
+ createdAt: string | number;
1120
+ url: string;
1121
+ description?: string | undefined;
1122
+ }[];
1123
+ };
1124
+ outputFormat: "json";
1125
+ status: 200;
1126
+ };
1127
+ };
1128
+ } & {
1129
+ "/webhooks/:webhookId": {
1130
+ $get: {
1131
+ input: {
1132
+ param: {
1133
+ webhookId: string;
1134
+ };
1135
+ };
1136
+ output: {};
1137
+ outputFormat: string;
1138
+ status: 404;
1139
+ } | {
1140
+ input: {
1141
+ param: {
1142
+ webhookId: string;
1143
+ };
1144
+ };
1145
+ output: {
1146
+ webhook: {
1147
+ id: string;
1148
+ createdAt: string | number;
1149
+ url: string;
1150
+ description?: string | undefined;
1151
+ };
1152
+ };
1153
+ outputFormat: "json";
1154
+ status: 200;
1155
+ };
1156
+ };
1157
+ } & {
1158
+ "/webhooks/:webhookId": {
1159
+ $delete: {
1160
+ input: {
1161
+ param: {
1162
+ webhookId: string;
1163
+ };
1164
+ };
1165
+ output: {};
1166
+ outputFormat: string;
1167
+ status: 404;
1168
+ } | {
1169
+ input: {
1170
+ param: {
1171
+ webhookId: string;
1172
+ };
1173
+ };
1174
+ output: {
1175
+ status: "removed";
1176
+ webhookId: string;
1177
+ };
1178
+ outputFormat: "json";
1179
+ status: 200;
1180
+ };
1181
+ };
1182
+ } & {
1183
+ "/webhooks/:webhookId/test": {
1184
+ $post: {
1185
+ input: {
1186
+ param: {
1187
+ webhookId: string;
1188
+ };
1189
+ };
1190
+ output: {};
1191
+ outputFormat: string;
1192
+ status: 404;
1193
+ } | {
1194
+ input: {
1195
+ param: {
1196
+ webhookId: string;
1197
+ };
1198
+ };
1199
+ output: {
1200
+ result: {
1201
+ success: boolean;
1202
+ error?: string | undefined;
1203
+ responseTime?: number | undefined;
1204
+ statusCode?: number | undefined;
1205
+ };
1206
+ test: "completed";
1207
+ };
1208
+ outputFormat: "json";
1209
+ status: 200;
1210
+ };
1211
+ };
1212
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
1213
+ "/mcp/servers": {
1214
+ $post: {
1215
+ input: {
1216
+ json: {
1217
+ config: {
1218
+ type: "stdio";
1219
+ command: string;
1220
+ timeout?: number | undefined;
1221
+ args?: string[] | undefined;
1222
+ env?: Record<string, string> | undefined;
1223
+ connectionMode?: "strict" | "lenient" | undefined;
1224
+ } | {
1225
+ type: "sse";
1226
+ url: string;
1227
+ timeout?: number | undefined;
1228
+ connectionMode?: "strict" | "lenient" | undefined;
1229
+ headers?: Record<string, string> | undefined;
1230
+ } | {
1231
+ type: "http";
1232
+ url: string;
1233
+ timeout?: number | undefined;
1234
+ connectionMode?: "strict" | "lenient" | undefined;
1235
+ headers?: Record<string, string> | undefined;
1236
+ };
1237
+ name: string;
1238
+ persistToAgent?: boolean | undefined;
1239
+ };
1240
+ };
1241
+ output: {
1242
+ status: string;
1243
+ name: string;
1244
+ };
1245
+ outputFormat: "json";
1246
+ status: 200;
1247
+ };
1248
+ };
1249
+ } & {
1250
+ "/mcp/servers": {
1251
+ $get: {
1252
+ input: {};
1253
+ output: {
1254
+ servers: {
1255
+ status: "error" | "connected" | "disconnected";
1256
+ id: string;
1257
+ name: string;
1258
+ }[];
1259
+ };
1260
+ outputFormat: "json";
1261
+ status: 200;
1262
+ };
1263
+ };
1264
+ } & {
1265
+ "/mcp/servers/:serverId/tools": {
1266
+ $get: {
1267
+ input: {
1268
+ param: {
1269
+ serverId: string;
1270
+ };
1271
+ };
1272
+ output: {};
1273
+ outputFormat: string;
1274
+ status: 404;
1275
+ } | {
1276
+ input: {
1277
+ param: {
1278
+ serverId: string;
1279
+ };
1280
+ };
1281
+ output: {
1282
+ tools: {
1283
+ description: string;
1284
+ id: string;
1285
+ name: string;
1286
+ inputSchema?: {
1287
+ [x: string]: import("hono/utils/types").JSONValue;
1288
+ type?: "object" | undefined;
1289
+ properties?: {
1290
+ [x: string]: {
1291
+ [x: string]: import("hono/utils/types").JSONValue;
1292
+ description?: string | undefined;
1293
+ default?: any;
1294
+ type?: "string" | "number" | "boolean" | "object" | "integer" | "array" | undefined;
1295
+ enum?: (string | number | boolean)[] | undefined;
1296
+ };
1297
+ } | undefined;
1298
+ required?: string[] | undefined;
1299
+ } | undefined;
1300
+ }[];
1301
+ };
1302
+ outputFormat: "json";
1303
+ status: 200;
1304
+ };
1305
+ };
1306
+ } & {
1307
+ "/mcp/servers/:serverId": {
1308
+ $delete: {
1309
+ input: {
1310
+ param: {
1311
+ serverId: string;
1312
+ };
1313
+ };
1314
+ output: {};
1315
+ outputFormat: string;
1316
+ status: 404;
1317
+ } | {
1318
+ input: {
1319
+ param: {
1320
+ serverId: string;
1321
+ };
1322
+ };
1323
+ output: {
1324
+ status: "disconnected";
1325
+ id: string;
1326
+ };
1327
+ outputFormat: "json";
1328
+ status: 200;
1329
+ };
1330
+ };
1331
+ } & {
1332
+ "/mcp/servers/:serverId/restart": {
1333
+ $post: {
1334
+ input: {
1335
+ param: {
1336
+ serverId: string;
1337
+ };
1338
+ };
1339
+ output: {};
1340
+ outputFormat: string;
1341
+ status: 404;
1342
+ } | {
1343
+ input: {
1344
+ param: {
1345
+ serverId: string;
1346
+ };
1347
+ };
1348
+ output: {
1349
+ status: "restarted";
1350
+ id: string;
1351
+ };
1352
+ outputFormat: "json";
1353
+ status: 200;
1354
+ };
1355
+ };
1356
+ } & {
1357
+ "/mcp/servers/:serverId/tools/:toolName/execute": {
1358
+ $post: {
1359
+ input: {
1360
+ param: {
1361
+ serverId: string;
1362
+ toolName: string;
1363
+ };
1364
+ } & {
1365
+ json: Record<string, unknown>;
1366
+ };
1367
+ output: {};
1368
+ outputFormat: string;
1369
+ status: 404;
1370
+ } | {
1371
+ input: {
1372
+ param: {
1373
+ serverId: string;
1374
+ toolName: string;
1375
+ };
1376
+ } & {
1377
+ json: Record<string, unknown>;
1378
+ };
1379
+ output: {
1380
+ success: boolean;
1381
+ data?: any;
1382
+ error?: string | undefined;
1383
+ };
1384
+ outputFormat: "json";
1385
+ status: 200;
1386
+ };
1387
+ };
1388
+ } & {
1389
+ "/mcp/servers/:serverId/resources": {
1390
+ $get: {
1391
+ input: {
1392
+ param: {
1393
+ serverId: string;
1394
+ };
1395
+ };
1396
+ output: {};
1397
+ outputFormat: string;
1398
+ status: 404;
1399
+ } | {
1400
+ input: {
1401
+ param: {
1402
+ serverId: string;
1403
+ };
1404
+ };
1405
+ output: {
1406
+ success: boolean;
1407
+ resources: {
1408
+ uri: string;
1409
+ source: "mcp" | "internal";
1410
+ description?: string | undefined;
1411
+ mimeType?: string | undefined;
1412
+ name?: string | undefined;
1413
+ metadata?: {
1414
+ [x: string]: import("hono/utils/types").JSONValue;
1415
+ } | undefined;
1416
+ serverName?: string | undefined;
1417
+ size?: number | undefined;
1418
+ lastModified?: string | undefined;
1419
+ }[];
1420
+ };
1421
+ outputFormat: "json";
1422
+ status: 200;
1423
+ };
1424
+ };
1425
+ } & {
1426
+ "/mcp/servers/:serverId/resources/:resourceId/content": {
1427
+ $get: {
1428
+ input: {
1429
+ param: {
1430
+ serverId: string;
1431
+ resourceId: string;
1432
+ };
1433
+ };
1434
+ output: {};
1435
+ outputFormat: string;
1436
+ status: 404;
1437
+ } | {
1438
+ input: {
1439
+ param: {
1440
+ serverId: string;
1441
+ resourceId: string;
1442
+ };
1443
+ };
1444
+ output: {
1445
+ data: {
1446
+ content?: any;
1447
+ };
1448
+ success: boolean;
1449
+ };
1450
+ outputFormat: "json";
1451
+ status: 200;
1452
+ };
1453
+ };
1454
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
1455
+ "/search/messages": {
1456
+ $get: {
1457
+ input: {
1458
+ query: {
1459
+ q: string;
1460
+ sessionId?: string | undefined;
1461
+ role?: "system" | "user" | "assistant" | "tool" | undefined;
1462
+ limit?: number | undefined;
1463
+ offset?: number | undefined;
1464
+ };
1465
+ };
1466
+ output: {
1467
+ query: string;
1468
+ results: {
1469
+ message: {
1470
+ content: string | ({
1471
+ type: "text";
1472
+ text: string;
1473
+ } | {
1474
+ type: "image";
1475
+ image?: import("hono/utils/types").JSONValue;
1476
+ mimeType?: string | undefined;
1477
+ } | {
1478
+ type: "file";
1479
+ mimeType: string;
1480
+ data?: import("hono/utils/types").JSONValue;
1481
+ filename?: string | undefined;
1482
+ })[] | null;
1483
+ role: "system" | "user" | "assistant" | "tool";
1484
+ provider?: string | undefined;
1485
+ model?: string | undefined;
1486
+ router?: string | undefined;
1487
+ name?: string | undefined;
1488
+ timestamp?: number | undefined;
1489
+ reasoning?: string | undefined;
1490
+ tokenUsage?: {
1491
+ inputTokens?: number | undefined;
1492
+ outputTokens?: number | undefined;
1493
+ reasoningTokens?: number | undefined;
1494
+ totalTokens?: number | undefined;
1495
+ } | undefined;
1496
+ toolCalls?: {
1497
+ function: {
1498
+ name: string;
1499
+ arguments: string;
1500
+ };
1501
+ type: "function";
1502
+ id: string;
1503
+ }[] | undefined;
1504
+ toolCallId?: string | undefined;
1505
+ };
1506
+ sessionId: string;
1507
+ matchedText: string;
1508
+ context: string;
1509
+ messageIndex: number;
1510
+ }[];
1511
+ total: number;
1512
+ hasMore: boolean;
1513
+ };
1514
+ outputFormat: "json";
1515
+ status: 200;
1516
+ };
1517
+ };
1518
+ } & {
1519
+ "/search/sessions": {
1520
+ $get: {
1521
+ input: {
1522
+ query: {
1523
+ q: string;
1524
+ };
1525
+ };
1526
+ output: {
1527
+ query: string;
1528
+ results: {
1529
+ sessionId: string;
1530
+ matchCount: number;
1531
+ firstMatch: {
1532
+ message: {
1533
+ content: string | ({
1534
+ type: "text";
1535
+ text: string;
1536
+ } | {
1537
+ type: "image";
1538
+ image?: import("hono/utils/types").JSONValue;
1539
+ mimeType?: string | undefined;
1540
+ } | {
1541
+ type: "file";
1542
+ mimeType: string;
1543
+ data?: import("hono/utils/types").JSONValue;
1544
+ filename?: string | undefined;
1545
+ })[] | null;
1546
+ role: "system" | "user" | "assistant" | "tool";
1547
+ provider?: string | undefined;
1548
+ model?: string | undefined;
1549
+ router?: string | undefined;
1550
+ name?: string | undefined;
1551
+ timestamp?: number | undefined;
1552
+ reasoning?: string | undefined;
1553
+ tokenUsage?: {
1554
+ inputTokens?: number | undefined;
1555
+ outputTokens?: number | undefined;
1556
+ reasoningTokens?: number | undefined;
1557
+ totalTokens?: number | undefined;
1558
+ } | undefined;
1559
+ toolCalls?: {
1560
+ function: {
1561
+ name: string;
1562
+ arguments: string;
1563
+ };
1564
+ type: "function";
1565
+ id: string;
1566
+ }[] | undefined;
1567
+ toolCallId?: string | undefined;
1568
+ };
1569
+ sessionId: string;
1570
+ matchedText: string;
1571
+ context: string;
1572
+ messageIndex: number;
1573
+ };
1574
+ metadata: {
1575
+ createdAt: number;
1576
+ lastActivity: number;
1577
+ messageCount: number;
1578
+ };
1579
+ }[];
1580
+ total: number;
1581
+ hasMore: boolean;
1582
+ };
1583
+ outputFormat: "json";
1584
+ status: 200;
1585
+ };
1586
+ };
1587
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
1588
+ "/sessions": {
1589
+ $get: {
1590
+ input: {};
1591
+ output: {
1592
+ sessions: {
1593
+ id: string;
1594
+ createdAt: number | null;
1595
+ lastActivity: number | null;
1596
+ messageCount: number;
1597
+ title?: string | null | undefined;
1598
+ }[];
1599
+ };
1600
+ outputFormat: "json";
1601
+ status: 200;
1602
+ };
1603
+ };
1604
+ } & {
1605
+ "/sessions": {
1606
+ $post: {
1607
+ input: {
1608
+ json: {
1609
+ sessionId?: string | undefined;
1610
+ };
1611
+ };
1612
+ output: {
1613
+ session: {
1614
+ id: string;
1615
+ createdAt: number | null;
1616
+ lastActivity: number | null;
1617
+ messageCount: number;
1618
+ title?: string | null | undefined;
1619
+ };
1620
+ };
1621
+ outputFormat: "json";
1622
+ status: 201;
1623
+ };
1624
+ };
1625
+ } & {
1626
+ "/sessions/:sessionId": {
1627
+ $get: {
1628
+ input: {
1629
+ param: {
1630
+ sessionId: string;
1631
+ };
1632
+ };
1633
+ output: {
1634
+ session: {
1635
+ id: string;
1636
+ createdAt: number | null;
1637
+ lastActivity: number | null;
1638
+ messageCount: number;
1639
+ history: number;
1640
+ title?: string | null | undefined;
1641
+ };
1642
+ };
1643
+ outputFormat: "json";
1644
+ status: 200;
1645
+ };
1646
+ };
1647
+ } & {
1648
+ "/sessions/:sessionId/history": {
1649
+ $get: {
1650
+ input: {
1651
+ param: {
1652
+ sessionId: string;
1653
+ };
1654
+ };
1655
+ output: {
1656
+ history: {
1657
+ content: string | ({
1658
+ type: "text";
1659
+ text: string;
1660
+ } | {
1661
+ type: "image";
1662
+ image?: import("hono/utils/types").JSONValue;
1663
+ mimeType?: string | undefined;
1664
+ } | {
1665
+ type: "file";
1666
+ mimeType: string;
1667
+ data?: import("hono/utils/types").JSONValue;
1668
+ filename?: string | undefined;
1669
+ })[] | null;
1670
+ role: "system" | "user" | "assistant" | "tool";
1671
+ provider?: string | undefined;
1672
+ model?: string | undefined;
1673
+ router?: string | undefined;
1674
+ name?: string | undefined;
1675
+ timestamp?: number | undefined;
1676
+ reasoning?: string | undefined;
1677
+ tokenUsage?: {
1678
+ inputTokens?: number | undefined;
1679
+ outputTokens?: number | undefined;
1680
+ reasoningTokens?: number | undefined;
1681
+ totalTokens?: number | undefined;
1682
+ } | undefined;
1683
+ toolCalls?: {
1684
+ function: {
1685
+ name: string;
1686
+ arguments: string;
1687
+ };
1688
+ type: "function";
1689
+ id: string;
1690
+ }[] | undefined;
1691
+ toolCallId?: string | undefined;
1692
+ }[];
1693
+ };
1694
+ outputFormat: "json";
1695
+ status: 200;
1696
+ };
1697
+ };
1698
+ } & {
1699
+ "/sessions/:sessionId": {
1700
+ $delete: {
1701
+ input: {
1702
+ param: {
1703
+ sessionId: string;
1704
+ };
1705
+ };
1706
+ output: {
1707
+ status: "deleted";
1708
+ sessionId: string;
1709
+ };
1710
+ outputFormat: "json";
1711
+ status: 200;
1712
+ };
1713
+ };
1714
+ } & {
1715
+ "/sessions/:sessionId/cancel": {
1716
+ $post: {
1717
+ input: {
1718
+ param: {
1719
+ sessionId: string;
1720
+ };
1721
+ };
1722
+ output: {
1723
+ sessionId: string;
1724
+ cancelled: boolean;
1725
+ };
1726
+ outputFormat: "json";
1727
+ status: 200;
1728
+ };
1729
+ };
1730
+ } & {
1731
+ "/sessions/:sessionId/load": {
1732
+ $get: {
1733
+ input: {
1734
+ param: {
1735
+ sessionId: string;
1736
+ };
1737
+ };
1738
+ output: {
1739
+ session: {
1740
+ id: string;
1741
+ createdAt: number | null;
1742
+ lastActivity: number | null;
1743
+ messageCount: number;
1744
+ title?: string | null | undefined;
1745
+ };
1746
+ };
1747
+ outputFormat: "json";
1748
+ status: 200;
1749
+ } | {
1750
+ input: {
1751
+ param: {
1752
+ sessionId: string;
1753
+ };
1754
+ };
1755
+ output: {
1756
+ error: string;
1757
+ };
1758
+ outputFormat: "json";
1759
+ status: 404;
1760
+ };
1761
+ };
1762
+ } & {
1763
+ "/sessions/:sessionId": {
1764
+ $patch: {
1765
+ input: {
1766
+ param: {
1767
+ sessionId: string;
1768
+ };
1769
+ } & {
1770
+ json: {
1771
+ title: string;
1772
+ };
1773
+ };
1774
+ output: {
1775
+ session: {
1776
+ id: string;
1777
+ createdAt: number | null;
1778
+ lastActivity: number | null;
1779
+ messageCount: number;
1780
+ title?: string | null | undefined;
1781
+ };
1782
+ };
1783
+ outputFormat: "json";
1784
+ status: 200;
1785
+ };
1786
+ };
1787
+ } & {
1788
+ "/sessions/:sessionId/generate-title": {
1789
+ $post: {
1790
+ input: {
1791
+ param: {
1792
+ sessionId: string;
1793
+ };
1794
+ };
1795
+ output: {};
1796
+ outputFormat: string;
1797
+ status: 404;
1798
+ } | {
1799
+ input: {
1800
+ param: {
1801
+ sessionId: string;
1802
+ };
1803
+ };
1804
+ output: {
1805
+ title: string | null;
1806
+ sessionId: string;
1807
+ };
1808
+ outputFormat: "json";
1809
+ status: 200;
1810
+ };
1811
+ };
1812
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
1813
+ "/llm/current": {
1814
+ $get: {
1815
+ input: {
1816
+ query: {
1817
+ sessionId?: string | undefined;
1818
+ };
1819
+ };
1820
+ output: {
1821
+ config: {
1822
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
1823
+ model: string;
1824
+ maxIterations?: number | undefined;
1825
+ router?: "vercel" | "in-built" | undefined;
1826
+ baseURL?: string | undefined;
1827
+ maxInputTokens?: number | undefined;
1828
+ maxOutputTokens?: number | undefined;
1829
+ temperature?: number | undefined;
1830
+ allowedMediaTypes?: string[] | undefined;
1831
+ hasApiKey?: boolean | undefined;
1832
+ displayName?: string | undefined;
1833
+ };
1834
+ };
1835
+ outputFormat: "json";
1836
+ status: 200;
1837
+ };
1838
+ };
1839
+ } & {
1840
+ "/llm/catalog": {
1841
+ $get: {
1842
+ input: {
1843
+ query: {
1844
+ provider?: string | string[] | undefined;
1845
+ router?: "vercel" | "in-built" | undefined;
1846
+ hasKey?: "0" | "1" | "true" | "false" | undefined;
1847
+ fileType?: "image" | "audio" | "pdf" | undefined;
1848
+ defaultOnly?: "0" | "1" | "true" | "false" | undefined;
1849
+ mode?: "flat" | "grouped" | undefined;
1850
+ };
1851
+ };
1852
+ output: {
1853
+ providers: {
1854
+ openai?: {
1855
+ hasApiKey: boolean;
1856
+ name: string;
1857
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1858
+ supportedRouters: ("vercel" | "in-built")[];
1859
+ primaryEnvVar: string;
1860
+ supportsBaseURL: boolean;
1861
+ models: {
1862
+ maxInputTokens: number;
1863
+ name: string;
1864
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1865
+ default?: boolean | undefined;
1866
+ supportedRouters?: ("vercel" | "in-built")[] | undefined;
1867
+ displayName?: string | undefined;
1868
+ pricing?: {
1869
+ inputPerM: number;
1870
+ outputPerM: number;
1871
+ cacheReadPerM?: number | undefined;
1872
+ cacheWritePerM?: number | undefined;
1873
+ currency?: "USD" | undefined;
1874
+ unit?: "per_million_tokens" | undefined;
1875
+ } | undefined;
1876
+ }[];
1877
+ } | undefined;
1878
+ "openai-compatible"?: {
1879
+ hasApiKey: boolean;
1880
+ name: string;
1881
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1882
+ supportedRouters: ("vercel" | "in-built")[];
1883
+ primaryEnvVar: string;
1884
+ supportsBaseURL: boolean;
1885
+ models: {
1886
+ maxInputTokens: number;
1887
+ name: string;
1888
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1889
+ default?: boolean | undefined;
1890
+ supportedRouters?: ("vercel" | "in-built")[] | undefined;
1891
+ displayName?: string | undefined;
1892
+ pricing?: {
1893
+ inputPerM: number;
1894
+ outputPerM: number;
1895
+ cacheReadPerM?: number | undefined;
1896
+ cacheWritePerM?: number | undefined;
1897
+ currency?: "USD" | undefined;
1898
+ unit?: "per_million_tokens" | undefined;
1899
+ } | undefined;
1900
+ }[];
1901
+ } | undefined;
1902
+ anthropic?: {
1903
+ hasApiKey: boolean;
1904
+ name: string;
1905
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1906
+ supportedRouters: ("vercel" | "in-built")[];
1907
+ primaryEnvVar: string;
1908
+ supportsBaseURL: boolean;
1909
+ models: {
1910
+ maxInputTokens: number;
1911
+ name: string;
1912
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1913
+ default?: boolean | undefined;
1914
+ supportedRouters?: ("vercel" | "in-built")[] | undefined;
1915
+ displayName?: string | undefined;
1916
+ pricing?: {
1917
+ inputPerM: number;
1918
+ outputPerM: number;
1919
+ cacheReadPerM?: number | undefined;
1920
+ cacheWritePerM?: number | undefined;
1921
+ currency?: "USD" | undefined;
1922
+ unit?: "per_million_tokens" | undefined;
1923
+ } | undefined;
1924
+ }[];
1925
+ } | undefined;
1926
+ google?: {
1927
+ hasApiKey: boolean;
1928
+ name: string;
1929
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1930
+ supportedRouters: ("vercel" | "in-built")[];
1931
+ primaryEnvVar: string;
1932
+ supportsBaseURL: boolean;
1933
+ models: {
1934
+ maxInputTokens: number;
1935
+ name: string;
1936
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1937
+ default?: boolean | undefined;
1938
+ supportedRouters?: ("vercel" | "in-built")[] | undefined;
1939
+ displayName?: string | undefined;
1940
+ pricing?: {
1941
+ inputPerM: number;
1942
+ outputPerM: number;
1943
+ cacheReadPerM?: number | undefined;
1944
+ cacheWritePerM?: number | undefined;
1945
+ currency?: "USD" | undefined;
1946
+ unit?: "per_million_tokens" | undefined;
1947
+ } | undefined;
1948
+ }[];
1949
+ } | undefined;
1950
+ groq?: {
1951
+ hasApiKey: boolean;
1952
+ name: string;
1953
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1954
+ supportedRouters: ("vercel" | "in-built")[];
1955
+ primaryEnvVar: string;
1956
+ supportsBaseURL: boolean;
1957
+ models: {
1958
+ maxInputTokens: number;
1959
+ name: string;
1960
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1961
+ default?: boolean | undefined;
1962
+ supportedRouters?: ("vercel" | "in-built")[] | undefined;
1963
+ displayName?: string | undefined;
1964
+ pricing?: {
1965
+ inputPerM: number;
1966
+ outputPerM: number;
1967
+ cacheReadPerM?: number | undefined;
1968
+ cacheWritePerM?: number | undefined;
1969
+ currency?: "USD" | undefined;
1970
+ unit?: "per_million_tokens" | undefined;
1971
+ } | undefined;
1972
+ }[];
1973
+ } | undefined;
1974
+ xai?: {
1975
+ hasApiKey: boolean;
1976
+ name: string;
1977
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1978
+ supportedRouters: ("vercel" | "in-built")[];
1979
+ primaryEnvVar: string;
1980
+ supportsBaseURL: boolean;
1981
+ models: {
1982
+ maxInputTokens: number;
1983
+ name: string;
1984
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1985
+ default?: boolean | undefined;
1986
+ supportedRouters?: ("vercel" | "in-built")[] | undefined;
1987
+ displayName?: string | undefined;
1988
+ pricing?: {
1989
+ inputPerM: number;
1990
+ outputPerM: number;
1991
+ cacheReadPerM?: number | undefined;
1992
+ cacheWritePerM?: number | undefined;
1993
+ currency?: "USD" | undefined;
1994
+ unit?: "per_million_tokens" | undefined;
1995
+ } | undefined;
1996
+ }[];
1997
+ } | undefined;
1998
+ cohere?: {
1999
+ hasApiKey: boolean;
2000
+ name: string;
2001
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2002
+ supportedRouters: ("vercel" | "in-built")[];
2003
+ primaryEnvVar: string;
2004
+ supportsBaseURL: boolean;
2005
+ models: {
2006
+ maxInputTokens: number;
2007
+ name: string;
2008
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2009
+ default?: boolean | undefined;
2010
+ supportedRouters?: ("vercel" | "in-built")[] | undefined;
2011
+ displayName?: string | undefined;
2012
+ pricing?: {
2013
+ inputPerM: number;
2014
+ outputPerM: number;
2015
+ cacheReadPerM?: number | undefined;
2016
+ cacheWritePerM?: number | undefined;
2017
+ currency?: "USD" | undefined;
2018
+ unit?: "per_million_tokens" | undefined;
2019
+ } | undefined;
2020
+ }[];
2021
+ } | undefined;
2022
+ };
2023
+ } | {
2024
+ models: {
2025
+ provider: string;
2026
+ maxInputTokens: number;
2027
+ name: string;
2028
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2029
+ default?: boolean | undefined;
2030
+ supportedRouters?: ("vercel" | "in-built")[] | undefined;
2031
+ displayName?: string | undefined;
2032
+ pricing?: {
2033
+ inputPerM: number;
2034
+ outputPerM: number;
2035
+ cacheReadPerM?: number | undefined;
2036
+ cacheWritePerM?: number | undefined;
2037
+ currency?: "USD" | undefined;
2038
+ unit?: "per_million_tokens" | undefined;
2039
+ } | undefined;
2040
+ }[];
2041
+ };
2042
+ outputFormat: "json";
2043
+ status: 200;
2044
+ };
2045
+ };
2046
+ } & {
2047
+ "/llm/key": {
2048
+ $post: {
2049
+ input: {
2050
+ json: {
2051
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
2052
+ apiKey: string;
2053
+ };
2054
+ };
2055
+ output: {
2056
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
2057
+ ok: true;
2058
+ envVar: string;
2059
+ };
2060
+ outputFormat: "json";
2061
+ status: 200;
2062
+ };
2063
+ };
2064
+ } & {
2065
+ "/llm/switch": {
2066
+ $post: {
2067
+ input: {
2068
+ json: {
2069
+ apiKey?: string | undefined;
2070
+ model?: string | undefined;
2071
+ provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
2072
+ router?: "vercel" | "in-built" | undefined;
2073
+ maxIterations?: number | undefined;
2074
+ baseURL?: string | undefined;
2075
+ maxInputTokens?: number | undefined;
2076
+ maxOutputTokens?: number | undefined;
2077
+ temperature?: number | undefined;
2078
+ allowedMediaTypes?: string[] | undefined;
2079
+ } & {
2080
+ sessionId?: string | undefined;
2081
+ };
2082
+ };
2083
+ output: {
2084
+ config: {
2085
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
2086
+ model: string;
2087
+ maxIterations: number;
2088
+ router: "vercel" | "in-built";
2089
+ baseURL?: string | undefined;
2090
+ maxInputTokens?: number | undefined;
2091
+ maxOutputTokens?: number | undefined;
2092
+ temperature?: number | undefined;
2093
+ allowedMediaTypes?: string[] | undefined;
2094
+ hasApiKey?: boolean | undefined;
2095
+ };
2096
+ sessionId?: string | undefined;
2097
+ };
2098
+ outputFormat: "json";
2099
+ status: 200;
2100
+ };
2101
+ };
2102
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
2103
+ "/message": {
2104
+ $post: {
2105
+ input: {
2106
+ json: {
2107
+ sessionId: string;
2108
+ message?: string | undefined;
2109
+ imageData?: {
2110
+ mimeType: string;
2111
+ base64: string;
2112
+ } | undefined;
2113
+ fileData?: {
2114
+ mimeType: string;
2115
+ base64: string;
2116
+ filename?: string | undefined;
2117
+ } | undefined;
2118
+ };
2119
+ };
2120
+ output: {
2121
+ sessionId: string;
2122
+ accepted: true;
2123
+ };
2124
+ outputFormat: "json";
2125
+ status: 202;
2126
+ } | {
2127
+ input: {
2128
+ json: {
2129
+ sessionId: string;
2130
+ message?: string | undefined;
2131
+ imageData?: {
2132
+ mimeType: string;
2133
+ base64: string;
2134
+ } | undefined;
2135
+ fileData?: {
2136
+ mimeType: string;
2137
+ base64: string;
2138
+ filename?: string | undefined;
2139
+ } | undefined;
2140
+ };
2141
+ };
2142
+ output: {};
2143
+ outputFormat: string;
2144
+ status: 400;
2145
+ };
2146
+ };
2147
+ } & {
2148
+ "/message-sync": {
2149
+ $post: {
2150
+ input: {
2151
+ json: {
2152
+ sessionId: string;
2153
+ message?: string | undefined;
2154
+ imageData?: {
2155
+ mimeType: string;
2156
+ base64: string;
2157
+ } | undefined;
2158
+ fileData?: {
2159
+ mimeType: string;
2160
+ base64: string;
2161
+ filename?: string | undefined;
2162
+ } | undefined;
2163
+ };
2164
+ };
2165
+ output: {};
2166
+ outputFormat: string;
2167
+ status: 400;
2168
+ } | {
2169
+ input: {
2170
+ json: {
2171
+ sessionId: string;
2172
+ message?: string | undefined;
2173
+ imageData?: {
2174
+ mimeType: string;
2175
+ base64: string;
2176
+ } | undefined;
2177
+ fileData?: {
2178
+ mimeType: string;
2179
+ base64: string;
2180
+ filename?: string | undefined;
2181
+ } | undefined;
2182
+ };
2183
+ };
2184
+ output: {
2185
+ sessionId: string;
2186
+ response: string;
2187
+ provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
2188
+ model?: string | undefined;
2189
+ router?: "vercel" | "in-built" | undefined;
2190
+ reasoning?: string | undefined;
2191
+ tokenUsage?: {
2192
+ inputTokens?: number | undefined;
2193
+ outputTokens?: number | undefined;
2194
+ reasoningTokens?: number | undefined;
2195
+ totalTokens?: number | undefined;
2196
+ } | undefined;
2197
+ };
2198
+ outputFormat: "json";
2199
+ status: 200;
2200
+ };
2201
+ };
2202
+ } & {
2203
+ "/reset": {
2204
+ $post: {
2205
+ input: {
2206
+ json: {
2207
+ sessionId: string;
2208
+ };
2209
+ };
2210
+ output: {
2211
+ status: string;
2212
+ sessionId: string;
2213
+ };
2214
+ outputFormat: "json";
2215
+ status: 200;
2216
+ };
2217
+ };
2218
+ } & {
2219
+ "/message-stream": {
2220
+ $post: {
2221
+ input: {
2222
+ json: {
2223
+ sessionId: string;
2224
+ message?: string | undefined;
2225
+ imageData?: {
2226
+ mimeType: string;
2227
+ base64: string;
2228
+ } | undefined;
2229
+ fileData?: {
2230
+ mimeType: string;
2231
+ base64: string;
2232
+ filename?: string | undefined;
2233
+ } | undefined;
2234
+ };
2235
+ };
2236
+ output: Response;
2237
+ outputFormat: "json";
2238
+ status: import("hono/utils/http-status").StatusCode;
2239
+ } | {
2240
+ input: {
2241
+ json: {
2242
+ sessionId: string;
2243
+ message?: string | undefined;
2244
+ imageData?: {
2245
+ mimeType: string;
2246
+ base64: string;
2247
+ } | undefined;
2248
+ fileData?: {
2249
+ mimeType: string;
2250
+ base64: string;
2251
+ filename?: string | undefined;
2252
+ } | undefined;
2253
+ };
2254
+ };
2255
+ output: {};
2256
+ outputFormat: string;
2257
+ status: 400;
2258
+ };
2259
+ };
2260
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
2261
+ "/greeting": {
2262
+ $get: {
2263
+ input: {
2264
+ query: {
2265
+ sessionId?: string | undefined;
2266
+ };
2267
+ };
2268
+ output: {
2269
+ greeting?: string | undefined;
2270
+ };
2271
+ outputFormat: "json";
2272
+ status: 200;
2273
+ };
2274
+ };
2275
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
2276
+ "/v1/message:send": {
2277
+ $post: {
2278
+ input: {
2279
+ json: {
2280
+ message: {
2281
+ role: "user" | "agent";
2282
+ kind: "message";
2283
+ parts: ({
2284
+ text: string;
2285
+ kind: "text";
2286
+ metadata?: Record<string, any> | undefined;
2287
+ } | {
2288
+ file: {
2289
+ bytes: string;
2290
+ mimeType?: string | undefined;
2291
+ name?: string | undefined;
2292
+ } | {
2293
+ uri: string;
2294
+ mimeType?: string | undefined;
2295
+ name?: string | undefined;
2296
+ };
2297
+ kind: "file";
2298
+ metadata?: Record<string, any> | undefined;
2299
+ } | {
2300
+ data: Record<string, any>;
2301
+ kind: "data";
2302
+ metadata?: Record<string, any> | undefined;
2303
+ })[];
2304
+ messageId: string;
2305
+ metadata?: Record<string, any> | undefined;
2306
+ contextId?: string | undefined;
2307
+ taskId?: string | undefined;
2308
+ extensions?: string[] | undefined;
2309
+ referenceTaskIds?: string[] | undefined;
2310
+ };
2311
+ metadata?: Record<string, any> | undefined;
2312
+ configuration?: {
2313
+ blocking?: boolean | undefined;
2314
+ acceptedOutputModes?: string[] | undefined;
2315
+ historyLength?: number | undefined;
2316
+ pushNotificationConfig?: {
2317
+ url: string;
2318
+ headers?: Record<string, string> | undefined;
2319
+ } | undefined;
2320
+ } | undefined;
2321
+ };
2322
+ };
2323
+ output: {
2324
+ status: {
2325
+ state: "unknown" | "submitted" | "working" | "input-required" | "completed" | "canceled" | "failed" | "rejected" | "auth-required";
2326
+ message?: {
2327
+ role: "user" | "agent";
2328
+ kind: "message";
2329
+ parts: ({
2330
+ text: string;
2331
+ kind: "text";
2332
+ metadata?: {
2333
+ [x: string]: any;
2334
+ } | undefined;
2335
+ } | {
2336
+ file: {
2337
+ bytes: string;
2338
+ mimeType?: string | undefined;
2339
+ name?: string | undefined;
2340
+ } | {
2341
+ uri: string;
2342
+ mimeType?: string | undefined;
2343
+ name?: string | undefined;
2344
+ };
2345
+ kind: "file";
2346
+ metadata?: {
2347
+ [x: string]: any;
2348
+ } | undefined;
2349
+ } | {
2350
+ data: {
2351
+ [x: string]: any;
2352
+ };
2353
+ kind: "data";
2354
+ metadata?: {
2355
+ [x: string]: any;
2356
+ } | undefined;
2357
+ })[];
2358
+ messageId: string;
2359
+ metadata?: {
2360
+ [x: string]: any;
2361
+ } | undefined;
2362
+ contextId?: string | undefined;
2363
+ taskId?: string | undefined;
2364
+ extensions?: string[] | undefined;
2365
+ referenceTaskIds?: string[] | undefined;
2366
+ } | undefined;
2367
+ timestamp?: string | undefined;
2368
+ };
2369
+ id: string;
2370
+ kind: "task";
2371
+ contextId: string;
2372
+ metadata?: {
2373
+ [x: string]: any;
2374
+ } | undefined;
2375
+ history?: {
2376
+ role: "user" | "agent";
2377
+ kind: "message";
2378
+ parts: ({
2379
+ text: string;
2380
+ kind: "text";
2381
+ metadata?: {
2382
+ [x: string]: any;
2383
+ } | undefined;
2384
+ } | {
2385
+ file: {
2386
+ bytes: string;
2387
+ mimeType?: string | undefined;
2388
+ name?: string | undefined;
2389
+ } | {
2390
+ uri: string;
2391
+ mimeType?: string | undefined;
2392
+ name?: string | undefined;
2393
+ };
2394
+ kind: "file";
2395
+ metadata?: {
2396
+ [x: string]: any;
2397
+ } | undefined;
2398
+ } | {
2399
+ data: {
2400
+ [x: string]: any;
2401
+ };
2402
+ kind: "data";
2403
+ metadata?: {
2404
+ [x: string]: any;
2405
+ } | undefined;
2406
+ })[];
2407
+ messageId: string;
2408
+ metadata?: {
2409
+ [x: string]: any;
2410
+ } | undefined;
2411
+ contextId?: string | undefined;
2412
+ taskId?: string | undefined;
2413
+ extensions?: string[] | undefined;
2414
+ referenceTaskIds?: string[] | undefined;
2415
+ }[] | undefined;
2416
+ artifacts?: any[] | undefined;
2417
+ };
2418
+ outputFormat: "json";
2419
+ status: 200;
2420
+ };
2421
+ };
2422
+ } & {
2423
+ "/v1/tasks": {
2424
+ $get: {
2425
+ input: {
2426
+ query: {
2427
+ status?: "unknown" | "submitted" | "working" | "input-required" | "completed" | "canceled" | "failed" | "rejected" | "auth-required" | undefined;
2428
+ contextId?: string | undefined;
2429
+ pageSize?: string | undefined;
2430
+ historyLength?: string | undefined;
2431
+ pageToken?: string | undefined;
2432
+ lastUpdatedAfter?: string | undefined;
2433
+ includeArtifacts?: string | undefined;
2434
+ };
2435
+ };
2436
+ output: {
2437
+ tasks: {
2438
+ status: {
2439
+ state: "unknown" | "submitted" | "working" | "input-required" | "completed" | "canceled" | "failed" | "rejected" | "auth-required";
2440
+ message?: {
2441
+ role: "user" | "agent";
2442
+ kind: "message";
2443
+ parts: ({
2444
+ text: string;
2445
+ kind: "text";
2446
+ metadata?: {
2447
+ [x: string]: any;
2448
+ } | undefined;
2449
+ } | {
2450
+ file: {
2451
+ bytes: string;
2452
+ mimeType?: string | undefined;
2453
+ name?: string | undefined;
2454
+ } | {
2455
+ uri: string;
2456
+ mimeType?: string | undefined;
2457
+ name?: string | undefined;
2458
+ };
2459
+ kind: "file";
2460
+ metadata?: {
2461
+ [x: string]: any;
2462
+ } | undefined;
2463
+ } | {
2464
+ data: {
2465
+ [x: string]: any;
2466
+ };
2467
+ kind: "data";
2468
+ metadata?: {
2469
+ [x: string]: any;
2470
+ } | undefined;
2471
+ })[];
2472
+ messageId: string;
2473
+ metadata?: {
2474
+ [x: string]: any;
2475
+ } | undefined;
2476
+ contextId?: string | undefined;
2477
+ taskId?: string | undefined;
2478
+ extensions?: string[] | undefined;
2479
+ referenceTaskIds?: string[] | undefined;
2480
+ } | undefined;
2481
+ timestamp?: string | undefined;
2482
+ };
2483
+ id: string;
2484
+ kind: "task";
2485
+ contextId: string;
2486
+ metadata?: {
2487
+ [x: string]: any;
2488
+ } | undefined;
2489
+ history?: {
2490
+ role: "user" | "agent";
2491
+ kind: "message";
2492
+ parts: ({
2493
+ text: string;
2494
+ kind: "text";
2495
+ metadata?: {
2496
+ [x: string]: any;
2497
+ } | undefined;
2498
+ } | {
2499
+ file: {
2500
+ bytes: string;
2501
+ mimeType?: string | undefined;
2502
+ name?: string | undefined;
2503
+ } | {
2504
+ uri: string;
2505
+ mimeType?: string | undefined;
2506
+ name?: string | undefined;
2507
+ };
2508
+ kind: "file";
2509
+ metadata?: {
2510
+ [x: string]: any;
2511
+ } | undefined;
2512
+ } | {
2513
+ data: {
2514
+ [x: string]: any;
2515
+ };
2516
+ kind: "data";
2517
+ metadata?: {
2518
+ [x: string]: any;
2519
+ } | undefined;
2520
+ })[];
2521
+ messageId: string;
2522
+ metadata?: {
2523
+ [x: string]: any;
2524
+ } | undefined;
2525
+ contextId?: string | undefined;
2526
+ taskId?: string | undefined;
2527
+ extensions?: string[] | undefined;
2528
+ referenceTaskIds?: string[] | undefined;
2529
+ }[] | undefined;
2530
+ artifacts?: any[] | undefined;
2531
+ }[];
2532
+ totalSize: number;
2533
+ pageSize: number;
2534
+ nextPageToken: string;
2535
+ };
2536
+ outputFormat: "json";
2537
+ status: 200;
2538
+ };
2539
+ };
2540
+ } & {
2541
+ "/v1/tasks/:id": {
2542
+ $get: {
2543
+ input: {
2544
+ param: {
2545
+ id: string;
2546
+ };
2547
+ };
2548
+ output: {};
2549
+ outputFormat: string;
2550
+ status: 404;
2551
+ } | {
2552
+ input: {
2553
+ param: {
2554
+ id: string;
2555
+ };
2556
+ };
2557
+ output: {
2558
+ status: {
2559
+ state: "unknown" | "submitted" | "working" | "input-required" | "completed" | "canceled" | "failed" | "rejected" | "auth-required";
2560
+ message?: {
2561
+ role: "user" | "agent";
2562
+ kind: "message";
2563
+ parts: ({
2564
+ text: string;
2565
+ kind: "text";
2566
+ metadata?: {
2567
+ [x: string]: any;
2568
+ } | undefined;
2569
+ } | {
2570
+ file: {
2571
+ bytes: string;
2572
+ mimeType?: string | undefined;
2573
+ name?: string | undefined;
2574
+ } | {
2575
+ uri: string;
2576
+ mimeType?: string | undefined;
2577
+ name?: string | undefined;
2578
+ };
2579
+ kind: "file";
2580
+ metadata?: {
2581
+ [x: string]: any;
2582
+ } | undefined;
2583
+ } | {
2584
+ data: {
2585
+ [x: string]: any;
2586
+ };
2587
+ kind: "data";
2588
+ metadata?: {
2589
+ [x: string]: any;
2590
+ } | undefined;
2591
+ })[];
2592
+ messageId: string;
2593
+ metadata?: {
2594
+ [x: string]: any;
2595
+ } | undefined;
2596
+ contextId?: string | undefined;
2597
+ taskId?: string | undefined;
2598
+ extensions?: string[] | undefined;
2599
+ referenceTaskIds?: string[] | undefined;
2600
+ } | undefined;
2601
+ timestamp?: string | undefined;
2602
+ };
2603
+ id: string;
2604
+ kind: "task";
2605
+ contextId: string;
2606
+ metadata?: {
2607
+ [x: string]: any;
2608
+ } | undefined;
2609
+ history?: {
2610
+ role: "user" | "agent";
2611
+ kind: "message";
2612
+ parts: ({
2613
+ text: string;
2614
+ kind: "text";
2615
+ metadata?: {
2616
+ [x: string]: any;
2617
+ } | undefined;
2618
+ } | {
2619
+ file: {
2620
+ bytes: string;
2621
+ mimeType?: string | undefined;
2622
+ name?: string | undefined;
2623
+ } | {
2624
+ uri: string;
2625
+ mimeType?: string | undefined;
2626
+ name?: string | undefined;
2627
+ };
2628
+ kind: "file";
2629
+ metadata?: {
2630
+ [x: string]: any;
2631
+ } | undefined;
2632
+ } | {
2633
+ data: {
2634
+ [x: string]: any;
2635
+ };
2636
+ kind: "data";
2637
+ metadata?: {
2638
+ [x: string]: any;
2639
+ } | undefined;
2640
+ })[];
2641
+ messageId: string;
2642
+ metadata?: {
2643
+ [x: string]: any;
2644
+ } | undefined;
2645
+ contextId?: string | undefined;
2646
+ taskId?: string | undefined;
2647
+ extensions?: string[] | undefined;
2648
+ referenceTaskIds?: string[] | undefined;
2649
+ }[] | undefined;
2650
+ artifacts?: any[] | undefined;
2651
+ };
2652
+ outputFormat: "json";
2653
+ status: 200;
2654
+ };
2655
+ };
2656
+ } & {
2657
+ "/v1/tasks/:id:cancel": {
2658
+ $post: {
2659
+ input: {
2660
+ param: {
2661
+ id: string;
2662
+ };
2663
+ };
2664
+ output: {};
2665
+ outputFormat: string;
2666
+ status: 404;
2667
+ } | {
2668
+ input: {
2669
+ param: {
2670
+ id: string;
2671
+ };
2672
+ };
2673
+ output: {
2674
+ status: {
2675
+ state: "unknown" | "submitted" | "working" | "input-required" | "completed" | "canceled" | "failed" | "rejected" | "auth-required";
2676
+ message?: {
2677
+ role: "user" | "agent";
2678
+ kind: "message";
2679
+ parts: ({
2680
+ text: string;
2681
+ kind: "text";
2682
+ metadata?: {
2683
+ [x: string]: any;
2684
+ } | undefined;
2685
+ } | {
2686
+ file: {
2687
+ bytes: string;
2688
+ mimeType?: string | undefined;
2689
+ name?: string | undefined;
2690
+ } | {
2691
+ uri: string;
2692
+ mimeType?: string | undefined;
2693
+ name?: string | undefined;
2694
+ };
2695
+ kind: "file";
2696
+ metadata?: {
2697
+ [x: string]: any;
2698
+ } | undefined;
2699
+ } | {
2700
+ data: {
2701
+ [x: string]: any;
2702
+ };
2703
+ kind: "data";
2704
+ metadata?: {
2705
+ [x: string]: any;
2706
+ } | undefined;
2707
+ })[];
2708
+ messageId: string;
2709
+ metadata?: {
2710
+ [x: string]: any;
2711
+ } | undefined;
2712
+ contextId?: string | undefined;
2713
+ taskId?: string | undefined;
2714
+ extensions?: string[] | undefined;
2715
+ referenceTaskIds?: string[] | undefined;
2716
+ } | undefined;
2717
+ timestamp?: string | undefined;
2718
+ };
2719
+ id: string;
2720
+ kind: "task";
2721
+ contextId: string;
2722
+ metadata?: {
2723
+ [x: string]: any;
2724
+ } | undefined;
2725
+ history?: {
2726
+ role: "user" | "agent";
2727
+ kind: "message";
2728
+ parts: ({
2729
+ text: string;
2730
+ kind: "text";
2731
+ metadata?: {
2732
+ [x: string]: any;
2733
+ } | undefined;
2734
+ } | {
2735
+ file: {
2736
+ bytes: string;
2737
+ mimeType?: string | undefined;
2738
+ name?: string | undefined;
2739
+ } | {
2740
+ uri: string;
2741
+ mimeType?: string | undefined;
2742
+ name?: string | undefined;
2743
+ };
2744
+ kind: "file";
2745
+ metadata?: {
2746
+ [x: string]: any;
2747
+ } | undefined;
2748
+ } | {
2749
+ data: {
2750
+ [x: string]: any;
2751
+ };
2752
+ kind: "data";
2753
+ metadata?: {
2754
+ [x: string]: any;
2755
+ } | undefined;
2756
+ })[];
2757
+ messageId: string;
2758
+ metadata?: {
2759
+ [x: string]: any;
2760
+ } | undefined;
2761
+ contextId?: string | undefined;
2762
+ taskId?: string | undefined;
2763
+ extensions?: string[] | undefined;
2764
+ referenceTaskIds?: string[] | undefined;
2765
+ }[] | undefined;
2766
+ artifacts?: any[] | undefined;
2767
+ };
2768
+ outputFormat: "json";
2769
+ status: 200;
2770
+ };
2771
+ };
2772
+ }, "/"> & import("hono/types").MergeSchemaPath<import("hono/types").BlankSchema, "/"> & import("hono/types").MergeSchemaPath<{
2773
+ "/": {
2774
+ $get: {
2775
+ input: {};
2776
+ output: string;
2777
+ outputFormat: "text";
2778
+ status: 200;
2779
+ };
2780
+ };
2781
+ }, "/health">, "/">;
2782
+ export type AppType = ReturnType<typeof createDextoApp>;
2783
+ //# sourceMappingURL=index.d.ts.map