@dexto/server 1.3.0 → 1.5.0

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 (109) hide show
  1. package/dist/approval/manual-approval-handler.cjs +23 -15
  2. package/dist/approval/manual-approval-handler.d.ts.map +1 -1
  3. package/dist/approval/manual-approval-handler.js +23 -15
  4. package/dist/events/webhook-subscriber.cjs +1 -1
  5. package/dist/events/webhook-subscriber.d.ts.map +1 -1
  6. package/dist/events/webhook-subscriber.js +1 -1
  7. package/dist/hono/__tests__/test-fixtures.cjs +3 -3
  8. package/dist/hono/__tests__/test-fixtures.d.ts.map +1 -1
  9. package/dist/hono/__tests__/test-fixtures.js +3 -3
  10. package/dist/hono/index.cjs +46 -5
  11. package/dist/hono/index.d.ts +928 -584
  12. package/dist/hono/index.d.ts.map +1 -1
  13. package/dist/hono/index.js +46 -5
  14. package/dist/hono/middleware/error.d.ts.map +1 -1
  15. package/dist/hono/routes/a2a-jsonrpc.cjs +3 -3
  16. package/dist/hono/routes/a2a-jsonrpc.d.ts +4 -1
  17. package/dist/hono/routes/a2a-jsonrpc.d.ts.map +1 -1
  18. package/dist/hono/routes/a2a-jsonrpc.js +3 -3
  19. package/dist/hono/routes/a2a-tasks.cjs +5 -5
  20. package/dist/hono/routes/a2a-tasks.d.ts +13 -10
  21. package/dist/hono/routes/a2a-tasks.d.ts.map +1 -1
  22. package/dist/hono/routes/a2a-tasks.js +5 -5
  23. package/dist/hono/routes/agents.cjs +30 -42
  24. package/dist/hono/routes/agents.d.ts +7 -401
  25. package/dist/hono/routes/agents.d.ts.map +1 -1
  26. package/dist/hono/routes/agents.js +32 -42
  27. package/dist/hono/routes/approvals.cjs +53 -2
  28. package/dist/hono/routes/approvals.d.ts +29 -1
  29. package/dist/hono/routes/approvals.d.ts.map +1 -1
  30. package/dist/hono/routes/approvals.js +53 -2
  31. package/dist/hono/routes/discovery.cjs +67 -0
  32. package/dist/hono/routes/discovery.d.ts +44 -0
  33. package/dist/hono/routes/discovery.d.ts.map +1 -0
  34. package/dist/hono/routes/discovery.js +43 -0
  35. package/dist/hono/routes/greeting.cjs +2 -2
  36. package/dist/hono/routes/greeting.d.ts +2 -2
  37. package/dist/hono/routes/greeting.d.ts.map +1 -1
  38. package/dist/hono/routes/greeting.js +2 -2
  39. package/dist/hono/routes/health.d.ts +2 -2
  40. package/dist/hono/routes/health.d.ts.map +1 -1
  41. package/dist/hono/routes/key.cjs +110 -0
  42. package/dist/hono/routes/key.d.ts +48 -0
  43. package/dist/hono/routes/key.d.ts.map +1 -0
  44. package/dist/hono/routes/key.js +90 -0
  45. package/dist/hono/routes/llm.cjs +119 -62
  46. package/dist/hono/routes/llm.d.ts +242 -42
  47. package/dist/hono/routes/llm.d.ts.map +1 -1
  48. package/dist/hono/routes/llm.js +118 -58
  49. package/dist/hono/routes/mcp.cjs +16 -12
  50. package/dist/hono/routes/mcp.d.ts +6 -3
  51. package/dist/hono/routes/mcp.d.ts.map +1 -1
  52. package/dist/hono/routes/mcp.js +17 -13
  53. package/dist/hono/routes/memory.cjs +5 -5
  54. package/dist/hono/routes/memory.d.ts +5 -2
  55. package/dist/hono/routes/memory.d.ts.map +1 -1
  56. package/dist/hono/routes/memory.js +5 -5
  57. package/dist/hono/routes/messages.cjs +58 -66
  58. package/dist/hono/routes/messages.d.ts +99 -55
  59. package/dist/hono/routes/messages.d.ts.map +1 -1
  60. package/dist/hono/routes/messages.js +59 -67
  61. package/dist/hono/routes/models.cjs +319 -0
  62. package/dist/hono/routes/models.d.ts +107 -0
  63. package/dist/hono/routes/models.d.ts.map +1 -0
  64. package/dist/hono/routes/models.js +305 -0
  65. package/dist/hono/routes/openrouter.cjs +153 -0
  66. package/dist/hono/routes/openrouter.d.ts +54 -0
  67. package/dist/hono/routes/openrouter.d.ts.map +1 -0
  68. package/dist/hono/routes/openrouter.js +134 -0
  69. package/dist/hono/routes/prompts.cjs +5 -5
  70. package/dist/hono/routes/prompts.d.ts +10 -7
  71. package/dist/hono/routes/prompts.d.ts.map +1 -1
  72. package/dist/hono/routes/prompts.js +5 -5
  73. package/dist/hono/routes/queue.cjs +202 -0
  74. package/dist/hono/routes/queue.d.ts +174 -0
  75. package/dist/hono/routes/queue.d.ts.map +1 -0
  76. package/dist/hono/routes/queue.js +178 -0
  77. package/dist/hono/routes/resources.cjs +3 -3
  78. package/dist/hono/routes/resources.d.ts +3 -3
  79. package/dist/hono/routes/resources.d.ts.map +1 -1
  80. package/dist/hono/routes/resources.js +3 -3
  81. package/dist/hono/routes/search.cjs +2 -2
  82. package/dist/hono/routes/search.d.ts +39 -10
  83. package/dist/hono/routes/search.d.ts.map +1 -1
  84. package/dist/hono/routes/search.js +2 -2
  85. package/dist/hono/routes/sessions.cjs +74 -20
  86. package/dist/hono/routes/sessions.d.ts +25 -4
  87. package/dist/hono/routes/sessions.d.ts.map +1 -1
  88. package/dist/hono/routes/sessions.js +74 -20
  89. package/dist/hono/routes/tools.cjs +126 -0
  90. package/dist/hono/routes/tools.d.ts +42 -0
  91. package/dist/hono/routes/tools.d.ts.map +1 -0
  92. package/dist/hono/routes/tools.js +102 -0
  93. package/dist/hono/routes/webhooks.cjs +4 -4
  94. package/dist/hono/routes/webhooks.d.ts +4 -1
  95. package/dist/hono/routes/webhooks.d.ts.map +1 -1
  96. package/dist/hono/routes/webhooks.js +4 -4
  97. package/dist/hono/schemas/responses.cjs +24 -5
  98. package/dist/hono/schemas/responses.d.ts +838 -120
  99. package/dist/hono/schemas/responses.d.ts.map +1 -1
  100. package/dist/hono/schemas/responses.js +24 -10
  101. package/dist/hono/start-server.cjs +102 -0
  102. package/dist/hono/start-server.d.ts +61 -0
  103. package/dist/hono/start-server.d.ts.map +1 -0
  104. package/dist/hono/start-server.js +78 -0
  105. package/dist/index.cjs +2 -0
  106. package/dist/index.d.ts +1 -0
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +1 -0
  109. package/package.json +5 -4
@@ -1,13 +1,18 @@
1
1
  import { OpenAPIHono } from '@hono/zod-openapi';
2
+ import type { Context } from 'hono';
2
3
  import type { DextoAgent, AgentCard } from '@dexto/core';
3
4
  import { type AgentsRouterContext } from './routes/agents.js';
4
5
  import { type WebUIRuntimeConfig } from './routes/static.js';
5
6
  import { WebhookEventSubscriber } from '../events/webhook-subscriber.js';
6
7
  import { A2ASseEventSubscriber } from '../events/a2a-sse-subscriber.js';
7
8
  import { ApprovalCoordinator } from '../approval/approval-coordinator.js';
9
+ export type GetAgentFn = (ctx: Context) => DextoAgent | Promise<DextoAgent>;
8
10
  export type CreateDextoAppOptions = {
11
+ /**
12
+ * Prefix for API routes. Defaults to '/api'.
13
+ */
9
14
  apiPrefix?: string;
10
- getAgent: () => DextoAgent;
15
+ getAgent: GetAgentFn;
11
16
  getAgentCard: () => AgentCard;
12
17
  approvalCoordinator: ApprovalCoordinator;
13
18
  webhookSubscriber: WebhookEventSubscriber;
@@ -17,536 +22,559 @@ export type CreateDextoAppOptions = {
17
22
  webRoot?: string;
18
23
  /** Runtime configuration to inject into WebUI (analytics, etc.) */
19
24
  webUIConfig?: WebUIRuntimeConfig;
25
+ /** Disable built-in auth middleware. Use when you have your own auth layer. */
26
+ disableAuth?: boolean;
20
27
  };
21
28
  export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIHono<import("hono").Env, import("hono/types").MergeSchemaPath<{
22
- "/agents": {
29
+ "/models/local": {
23
30
  $get: {
24
31
  input: {};
25
32
  output: {
26
- installed: {
27
- description: string;
28
- type: "custom" | "builtin";
33
+ models: {
29
34
  id: string;
35
+ displayName: string;
36
+ filePath: string;
37
+ sizeBytes: number;
38
+ source?: "manual" | "huggingface" | undefined;
39
+ contextLength?: number | undefined;
40
+ }[];
41
+ };
42
+ outputFormat: "json";
43
+ status: 200;
44
+ };
45
+ };
46
+ } & {
47
+ "/models/ollama": {
48
+ $get: {
49
+ input: {
50
+ query: {
51
+ baseURL?: string | undefined;
52
+ };
53
+ };
54
+ output: {
55
+ models: {
30
56
  name: string;
31
- tags?: string[] | undefined;
32
- author?: string | undefined;
57
+ size?: number | undefined;
58
+ digest?: string | undefined;
59
+ modifiedAt?: string | undefined;
33
60
  }[];
34
- available: {
61
+ available: boolean;
62
+ error?: string | undefined;
63
+ version?: string | undefined;
64
+ };
65
+ outputFormat: "json";
66
+ status: 200;
67
+ };
68
+ };
69
+ } & {
70
+ "/models/local/validate": {
71
+ $post: {
72
+ input: {
73
+ json: {
74
+ filePath: string;
75
+ };
76
+ };
77
+ output: {
78
+ valid: boolean;
79
+ error?: string | undefined;
80
+ sizeBytes?: number | undefined;
81
+ };
82
+ outputFormat: "json";
83
+ status: 200;
84
+ };
85
+ };
86
+ } & {
87
+ "/models/local/:modelId": {
88
+ $delete: {
89
+ input: {
90
+ param: {
91
+ modelId: string;
92
+ };
93
+ } & {
94
+ json: {
95
+ deleteFile?: boolean | undefined;
96
+ };
97
+ };
98
+ output: {
99
+ success: boolean;
100
+ modelId: string;
101
+ fileDeleted: boolean;
102
+ error?: string | undefined;
103
+ };
104
+ outputFormat: "json";
105
+ status: 200;
106
+ } | {
107
+ input: {
108
+ param: {
109
+ modelId: string;
110
+ };
111
+ } & {
112
+ json: {
113
+ deleteFile?: boolean | undefined;
114
+ };
115
+ };
116
+ output: {
117
+ success: boolean;
118
+ modelId: string;
119
+ fileDeleted: boolean;
120
+ error?: string | undefined;
121
+ };
122
+ outputFormat: "json";
123
+ status: 404;
124
+ };
125
+ };
126
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
127
+ "/discovery": {
128
+ $get: {
129
+ input: {};
130
+ output: {
131
+ internalTools: {
132
+ description: string;
133
+ name: string;
134
+ }[];
135
+ customTools: {
136
+ type: string;
137
+ category: "customTools" | "compaction" | "blob";
138
+ metadata?: {
139
+ [x: string]: import("hono/utils/types").JSONValue;
140
+ description?: string | undefined;
141
+ displayName?: string | undefined;
142
+ } | undefined;
143
+ }[];
144
+ compaction: {
145
+ type: string;
146
+ category: "customTools" | "compaction" | "blob";
147
+ metadata?: {
148
+ [x: string]: import("hono/utils/types").JSONValue;
149
+ description?: string | undefined;
150
+ displayName?: string | undefined;
151
+ } | undefined;
152
+ }[];
153
+ blob: {
154
+ type: string;
155
+ category: "customTools" | "compaction" | "blob";
156
+ metadata?: {
157
+ [x: string]: import("hono/utils/types").JSONValue;
158
+ description?: string | undefined;
159
+ displayName?: string | undefined;
160
+ } | undefined;
161
+ }[];
162
+ };
163
+ outputFormat: "json";
164
+ status: 200;
165
+ };
166
+ };
167
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
168
+ "/tools": {
169
+ $get: {
170
+ input: {};
171
+ output: {
172
+ tools: {
35
173
  description: string;
36
- type: "custom" | "builtin";
37
174
  id: string;
38
175
  name: string;
39
- tags?: string[] | undefined;
40
- author?: string | undefined;
176
+ source: "custom" | "mcp" | "internal";
177
+ serverName?: string | undefined;
178
+ inputSchema?: {
179
+ [x: string]: import("hono/utils/types").JSONValue;
180
+ type?: "object" | undefined;
181
+ properties?: {
182
+ [x: string]: {
183
+ [x: string]: import("hono/utils/types").JSONValue;
184
+ description?: string | undefined;
185
+ default?: any;
186
+ type?: "string" | "number" | "boolean" | "object" | "integer" | "array" | undefined;
187
+ enum?: (string | number | boolean)[] | undefined;
188
+ };
189
+ } | undefined;
190
+ required?: string[] | undefined;
191
+ } | undefined;
41
192
  }[];
42
- current: {
43
- id: string | null;
44
- name: string | null;
193
+ totalCount: number;
194
+ internalCount: number;
195
+ customCount: number;
196
+ mcpCount: number;
197
+ };
198
+ outputFormat: "json";
199
+ status: 200;
200
+ };
201
+ };
202
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
203
+ "/llm/key/:provider": {
204
+ $get: {
205
+ input: {
206
+ param: {
207
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
45
208
  };
46
209
  };
210
+ output: {
211
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
212
+ hasKey: boolean;
213
+ envVar: string;
214
+ keyValue?: string | undefined;
215
+ };
47
216
  outputFormat: "json";
48
217
  status: 200;
49
218
  };
50
219
  };
51
220
  } & {
52
- "/agents/current": {
221
+ "/llm/key": {
222
+ $post: {
223
+ input: {
224
+ json: {
225
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
226
+ apiKey: string;
227
+ };
228
+ };
229
+ output: {
230
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
231
+ ok: true;
232
+ envVar: string;
233
+ };
234
+ outputFormat: "json";
235
+ status: 200;
236
+ };
237
+ };
238
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
239
+ "/openrouter/validate/:modelId": {
53
240
  $get: {
241
+ input: {
242
+ param: {
243
+ modelId: string;
244
+ };
245
+ };
246
+ output: {
247
+ valid: boolean;
248
+ status: "valid" | "unknown" | "invalid";
249
+ modelId: string;
250
+ error?: string | undefined;
251
+ info?: {
252
+ contextLength: number;
253
+ } | undefined;
254
+ };
255
+ outputFormat: "json";
256
+ status: 200;
257
+ };
258
+ };
259
+ } & {
260
+ "/openrouter/refresh-cache": {
261
+ $post: {
54
262
  input: {};
55
263
  output: {
56
- id: string | null;
57
- name: string | null;
264
+ message: string;
265
+ ok: true;
266
+ };
267
+ outputFormat: "json";
268
+ status: 200;
269
+ } | {
270
+ input: {};
271
+ output: {
272
+ message: string;
273
+ ok: false;
274
+ };
275
+ outputFormat: "json";
276
+ status: 500;
277
+ };
278
+ };
279
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
280
+ "/queue/:sessionId": {
281
+ $get: {
282
+ input: {
283
+ param: {
284
+ sessionId: string;
285
+ };
286
+ };
287
+ output: {};
288
+ outputFormat: string;
289
+ status: 404;
290
+ } | {
291
+ input: {
292
+ param: {
293
+ sessionId: string;
294
+ };
295
+ };
296
+ output: {
297
+ messages: {
298
+ content: ({
299
+ type: "text";
300
+ text: string;
301
+ } | {
302
+ type: "image";
303
+ image: string;
304
+ mimeType?: string | undefined;
305
+ } | {
306
+ type: "file";
307
+ mimeType: string;
308
+ data: string;
309
+ filename?: string | undefined;
310
+ } | {
311
+ type: "ui-resource";
312
+ mimeType: string;
313
+ uri: string;
314
+ content?: string | undefined;
315
+ blob?: string | undefined;
316
+ metadata?: {
317
+ title?: string | undefined;
318
+ preferredSize?: {
319
+ width: number;
320
+ height: number;
321
+ } | undefined;
322
+ } | undefined;
323
+ })[];
324
+ id: string;
325
+ queuedAt: number;
326
+ metadata?: {
327
+ [x: string]: import("hono/utils/types").JSONValue;
328
+ } | undefined;
329
+ }[];
330
+ count: number;
58
331
  };
59
332
  outputFormat: "json";
60
333
  status: 200;
61
334
  };
62
335
  };
63
336
  } & {
64
- "/agents/install": {
337
+ "/queue/:sessionId": {
65
338
  $post: {
66
339
  input: {
340
+ param: {
341
+ sessionId: string;
342
+ };
343
+ } & {
67
344
  json: {
68
- id: string;
69
- path?: string | undefined;
70
- } | {
71
- id: string;
72
- metadata: {
73
- tags: string[];
74
- description: string;
75
- author: string;
76
- main?: string | undefined;
77
- };
78
- sourcePath: string;
79
- name?: string | undefined;
80
- injectPreferences?: boolean | undefined;
345
+ content: string | ({
346
+ type: "text";
347
+ text: string;
348
+ } | {
349
+ type: "image";
350
+ image: string;
351
+ mimeType?: string | undefined;
352
+ } | {
353
+ type: "file";
354
+ mimeType: string;
355
+ data: string;
356
+ filename?: string | undefined;
357
+ })[];
358
+ };
359
+ };
360
+ output: {};
361
+ outputFormat: string;
362
+ status: 404;
363
+ } | {
364
+ input: {
365
+ param: {
366
+ sessionId: string;
367
+ };
368
+ } & {
369
+ json: {
370
+ content: string | ({
371
+ type: "text";
372
+ text: string;
373
+ } | {
374
+ type: "image";
375
+ image: string;
376
+ mimeType?: string | undefined;
377
+ } | {
378
+ type: "file";
379
+ mimeType: string;
380
+ data: string;
381
+ filename?: string | undefined;
382
+ })[];
81
383
  };
82
384
  };
83
385
  output: {
84
- type: "custom" | "builtin";
85
386
  id: string;
86
- name: string;
87
- installed: true;
387
+ queued: true;
388
+ position: number;
88
389
  };
89
390
  outputFormat: "json";
90
391
  status: 201;
91
392
  };
92
393
  };
93
394
  } & {
94
- "/agents/switch": {
95
- $post: {
395
+ "/queue/:sessionId/:messageId": {
396
+ $delete: {
96
397
  input: {
97
- json: {
98
- id: string;
99
- path?: string | undefined;
398
+ param: {
399
+ sessionId: string;
400
+ messageId: string;
401
+ };
402
+ };
403
+ output: {};
404
+ outputFormat: string;
405
+ status: 404;
406
+ } | {
407
+ input: {
408
+ param: {
409
+ sessionId: string;
410
+ messageId: string;
100
411
  };
101
412
  };
102
413
  output: {
103
414
  id: string;
104
- name: string;
105
- switched: true;
415
+ removed: true;
106
416
  };
107
417
  outputFormat: "json";
108
418
  status: 200;
109
419
  };
110
420
  };
111
421
  } & {
112
- "/agents/validate-name": {
113
- $post: {
422
+ "/queue/:sessionId": {
423
+ $delete: {
114
424
  input: {
115
- json: {
116
- id: string;
117
- path?: string | undefined;
425
+ param: {
426
+ sessionId: string;
427
+ };
428
+ };
429
+ output: {};
430
+ outputFormat: string;
431
+ status: 404;
432
+ } | {
433
+ input: {
434
+ param: {
435
+ sessionId: string;
118
436
  };
119
437
  };
120
438
  output: {
121
- valid: boolean;
122
- message?: string | undefined;
123
- conflict?: string | undefined;
439
+ count: number;
440
+ cleared: true;
124
441
  };
125
442
  outputFormat: "json";
126
443
  status: 200;
127
444
  };
128
445
  };
129
- } & {
130
- "/agents/uninstall": {
131
- $post: {
132
- input: {
133
- json: {
446
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
447
+ "/agents": {
448
+ $get: {
449
+ input: {};
450
+ output: {
451
+ installed: {
452
+ description: string;
453
+ type: "custom" | "builtin";
134
454
  id: string;
135
- force?: boolean | undefined;
455
+ name: string;
456
+ tags?: string[] | undefined;
457
+ author?: string | undefined;
458
+ }[];
459
+ available: {
460
+ description: string;
461
+ type: "custom" | "builtin";
462
+ id: string;
463
+ name: string;
464
+ tags?: string[] | undefined;
465
+ author?: string | undefined;
466
+ }[];
467
+ current: {
468
+ id: string | null;
469
+ name: string | null;
136
470
  };
137
471
  };
472
+ outputFormat: "json";
473
+ status: 200;
474
+ };
475
+ };
476
+ } & {
477
+ "/agents/current": {
478
+ $get: {
479
+ input: {};
138
480
  output: {
139
- id: string;
140
- uninstalled: true;
481
+ id: string | null;
482
+ name: string | null;
141
483
  };
142
484
  outputFormat: "json";
143
485
  status: 200;
144
486
  };
145
487
  };
146
488
  } & {
147
- "/agents/custom/create": {
489
+ "/agents/install": {
148
490
  $post: {
149
491
  input: {
150
492
  json: {
151
- description: string;
152
- config: {
153
- llm: {
154
- apiKey: string;
155
- model: string;
156
- provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
157
- router?: "vercel" | "in-built" | undefined;
158
- maxIterations?: number | undefined;
159
- baseURL?: string | undefined;
160
- maxInputTokens?: number | undefined;
161
- maxOutputTokens?: number | undefined;
162
- temperature?: number | undefined;
163
- allowedMediaTypes?: string[] | undefined;
164
- };
165
- systemPrompt: string | {
166
- contributors?: ({
167
- type: "static";
168
- content: string;
169
- id: string;
170
- priority: number;
171
- enabled?: boolean | undefined;
172
- } | {
173
- type: "dynamic";
174
- id: string;
175
- source: "resources" | "dateTime";
176
- priority: number;
177
- enabled?: boolean | undefined;
178
- } | {
179
- type: "file";
180
- id: string;
181
- priority: number;
182
- files: string[];
183
- options?: {
184
- includeFilenames?: boolean | undefined;
185
- separator?: string | undefined;
186
- errorHandling?: "error" | "skip" | undefined;
187
- maxFileSize?: number | undefined;
188
- includeMetadata?: boolean | undefined;
189
- } | undefined;
190
- enabled?: boolean | undefined;
191
- })[] | undefined;
192
- };
193
- storage?: {
194
- database: {
195
- type: "in-memory";
196
- options?: Record<string, any> | undefined;
197
- maxConnections?: number | undefined;
198
- idleTimeoutMillis?: number | undefined;
199
- connectionTimeoutMillis?: number | undefined;
200
- } | {
201
- path: string;
202
- type: "sqlite";
203
- options?: Record<string, any> | undefined;
204
- maxConnections?: number | undefined;
205
- idleTimeoutMillis?: number | undefined;
206
- connectionTimeoutMillis?: number | undefined;
207
- } | {
208
- type: "postgres";
209
- password?: string | undefined;
210
- options?: Record<string, any> | undefined;
211
- url?: string | undefined;
212
- maxConnections?: number | undefined;
213
- idleTimeoutMillis?: number | undefined;
214
- connectionTimeoutMillis?: number | undefined;
215
- host?: string | undefined;
216
- port?: number | undefined;
217
- database?: string | undefined;
218
- connectionString?: string | undefined;
219
- };
220
- cache: {
221
- type: "in-memory";
222
- options?: Record<string, any> | undefined;
223
- maxConnections?: number | undefined;
224
- idleTimeoutMillis?: number | undefined;
225
- connectionTimeoutMillis?: number | undefined;
226
- } | {
227
- type: "redis";
228
- password?: string | undefined;
229
- options?: Record<string, any> | undefined;
230
- url?: string | undefined;
231
- maxConnections?: number | undefined;
232
- idleTimeoutMillis?: number | undefined;
233
- connectionTimeoutMillis?: number | undefined;
234
- host?: string | undefined;
235
- port?: number | undefined;
236
- database?: number | undefined;
237
- };
238
- blob: {
239
- type: "in-memory";
240
- maxBlobSize?: number | undefined;
241
- maxTotalSize?: number | undefined;
242
- } | {
243
- type: "local";
244
- storePath: string;
245
- maxBlobSize?: number | undefined;
246
- maxTotalSize?: number | undefined;
247
- cleanupAfterDays?: number | undefined;
248
- };
249
- } | undefined;
250
- telemetry?: {
251
- enabled?: boolean | undefined;
252
- serviceName?: string | undefined;
253
- tracerName?: string | undefined;
254
- export?: {
255
- type: "otlp";
256
- headers?: Record<string, string> | undefined;
257
- protocol?: "http" | "grpc" | undefined;
258
- endpoint?: string | undefined;
259
- } | {
260
- type: "console";
261
- } | undefined;
262
- } | undefined;
263
- logger?: {
264
- level?: "debug" | "info" | "warn" | "error" | "silly" | undefined;
265
- transports?: ({
266
- type: "console";
267
- colorize?: boolean | undefined;
268
- } | {
269
- path: string;
270
- type: "file";
271
- maxFiles?: number | undefined;
272
- maxSize?: number | undefined;
273
- } | {
274
- token: string;
275
- type: "upstash";
276
- url: string;
277
- listName?: string | undefined;
278
- maxListLength?: number | undefined;
279
- batchSize?: number | undefined;
280
- })[] | undefined;
281
- } | undefined;
282
- elicitation?: {
283
- timeout?: number | undefined;
284
- enabled?: boolean | undefined;
285
- } | undefined;
286
- prompts?: ({
287
- prompt: string;
288
- type: "inline";
289
- id: string;
290
- description?: string | undefined;
291
- title?: string | undefined;
292
- priority?: number | undefined;
293
- category?: string | undefined;
294
- showInStarters?: boolean | undefined;
295
- } | {
296
- file: string;
297
- type: "file";
298
- showInStarters?: boolean | undefined;
299
- })[] | undefined;
300
- agentId?: string | 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
- memories?: {
465
- enabled?: boolean | undefined;
466
- limit?: number | undefined;
467
- priority?: number | undefined;
468
- includeTimestamps?: boolean | undefined;
469
- includeTags?: boolean | undefined;
470
- pinnedOnly?: boolean | undefined;
471
- } | undefined;
472
- mcpServers?: Record<string, {
473
- type: "stdio";
474
- command: string;
475
- timeout?: number | undefined;
476
- args?: string[] | undefined;
477
- env?: Record<string, string> | undefined;
478
- connectionMode?: "strict" | "lenient" | undefined;
479
- } | {
480
- type: "sse";
481
- url: string;
482
- timeout?: number | undefined;
483
- connectionMode?: "strict" | "lenient" | undefined;
484
- headers?: Record<string, string> | undefined;
485
- } | {
486
- type: "http";
487
- url: string;
488
- timeout?: number | undefined;
489
- connectionMode?: "strict" | "lenient" | undefined;
490
- headers?: Record<string, string> | undefined;
491
- }> | undefined;
492
- 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;
493
- sessions?: {
494
- maxSessions?: number | undefined;
495
- sessionTTL?: number | undefined;
496
- } | undefined;
497
- toolConfirmation?: {
498
- timeout?: number | undefined;
499
- mode?: "manual" | "auto-approve" | "auto-deny" | undefined;
500
- allowedToolsStorage?: "storage" | "memory" | undefined;
501
- toolPolicies?: {
502
- alwaysAllow?: string[] | undefined;
503
- alwaysDeny?: string[] | undefined;
504
- } | undefined;
505
- } | undefined;
506
- internalResources?: ({
507
- type: "filesystem";
508
- paths: string[];
509
- maxFiles?: number | undefined;
510
- maxDepth?: number | undefined;
511
- includeHidden?: boolean | undefined;
512
- includeExtensions?: string[] | undefined;
513
- } | {
514
- type: "blob";
515
- })[] | {
516
- enabled?: boolean | undefined;
517
- resources?: ({
518
- type: "filesystem";
519
- paths: string[];
520
- maxFiles?: number | undefined;
521
- maxDepth?: number | undefined;
522
- includeHidden?: boolean | undefined;
523
- includeExtensions?: string[] | undefined;
524
- } | {
525
- type: "blob";
526
- })[] | undefined;
527
- } | undefined;
528
- plugins?: {
529
- custom?: {
530
- name: string;
531
- priority: number;
532
- module: string;
533
- blocking: boolean;
534
- config?: Record<string, any> | undefined;
535
- enabled?: boolean | undefined;
536
- }[] | undefined;
537
- contentPolicy?: import("zod").objectInputType<{
538
- priority: import("zod").ZodNumber;
539
- blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
540
- enabled: import("zod").ZodDefault<import("zod").ZodBoolean>;
541
- }, import("zod").ZodTypeAny, "passthrough"> | undefined;
542
- responseSanitizer?: import("zod").objectInputType<{
543
- priority: import("zod").ZodNumber;
544
- blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
545
- enabled: import("zod").ZodDefault<import("zod").ZodBoolean>;
546
- }, import("zod").ZodTypeAny, "passthrough"> | undefined;
547
- } | undefined;
493
+ id: string;
494
+ path?: string | undefined;
495
+ } | {
496
+ metadata: {
497
+ tags: string[];
498
+ description: string;
499
+ author: string;
500
+ main?: string | undefined;
548
501
  };
549
502
  id: string;
503
+ sourcePath: string;
504
+ name?: string | undefined;
505
+ };
506
+ };
507
+ output: {
508
+ type: "custom" | "builtin";
509
+ id: string;
510
+ name: string;
511
+ installed: true;
512
+ };
513
+ outputFormat: "json";
514
+ status: 201;
515
+ };
516
+ };
517
+ } & {
518
+ "/agents/switch": {
519
+ $post: {
520
+ input: {
521
+ json: {
522
+ id: string;
523
+ path?: string | undefined;
524
+ };
525
+ };
526
+ output: {
527
+ id: string;
528
+ name: string;
529
+ switched: true;
530
+ };
531
+ outputFormat: "json";
532
+ status: 200;
533
+ };
534
+ };
535
+ } & {
536
+ "/agents/validate-name": {
537
+ $post: {
538
+ input: {
539
+ json: {
540
+ id: string;
541
+ path?: string | undefined;
542
+ };
543
+ };
544
+ output: {
545
+ valid: boolean;
546
+ message?: string | undefined;
547
+ conflict?: string | undefined;
548
+ };
549
+ outputFormat: "json";
550
+ status: 200;
551
+ };
552
+ };
553
+ } & {
554
+ "/agents/uninstall": {
555
+ $post: {
556
+ input: {
557
+ json: {
558
+ id: string;
559
+ force?: boolean | undefined;
560
+ };
561
+ };
562
+ output: {
563
+ id: string;
564
+ uninstalled: true;
565
+ };
566
+ outputFormat: "json";
567
+ status: 200;
568
+ };
569
+ };
570
+ } & {
571
+ "/agents/custom/create": {
572
+ $post: {
573
+ input: {
574
+ json: {
575
+ description: string;
576
+ config: Record<string, any>;
577
+ id: string;
550
578
  name: string;
551
579
  tags?: string[] | undefined;
552
580
  author?: string | undefined;
@@ -652,6 +680,31 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
652
680
  };
653
681
  };
654
682
  }, "/api"> & import("hono/types").MergeSchemaPath<{
683
+ "/approvals": {
684
+ $get: {
685
+ input: {
686
+ query: {
687
+ sessionId: string;
688
+ };
689
+ };
690
+ output: {
691
+ ok: true;
692
+ approvals: {
693
+ type: string;
694
+ metadata: {
695
+ [x: string]: import("hono/utils/types").JSONValue;
696
+ };
697
+ timestamp: string;
698
+ approvalId: string;
699
+ sessionId?: string | undefined;
700
+ timeout?: number | undefined;
701
+ }[];
702
+ };
703
+ outputFormat: "json";
704
+ status: 200;
705
+ };
706
+ };
707
+ } & {
655
708
  "/approvals/:approvalId": {
656
709
  $post: {
657
710
  input: {
@@ -834,11 +887,11 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
834
887
  };
835
888
  } & {
836
889
  json: {
890
+ content?: string | undefined;
837
891
  metadata?: import("zod").objectInputType<{
838
892
  source: import("zod").ZodOptional<import("zod").ZodEnum<["user", "system"]>>;
839
893
  pinned: import("zod").ZodOptional<import("zod").ZodBoolean>;
840
894
  }, import("zod").ZodTypeAny, "passthrough"> | undefined;
841
- content?: string | undefined;
842
895
  tags?: string[] | undefined;
843
896
  };
844
897
  };
@@ -888,10 +941,10 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
888
941
  source: "mcp" | "internal";
889
942
  description?: string | undefined;
890
943
  mimeType?: string | undefined;
891
- name?: string | undefined;
892
944
  metadata?: {
893
945
  [x: string]: import("hono/utils/types").JSONValue;
894
946
  } | undefined;
947
+ name?: string | undefined;
895
948
  serverName?: string | undefined;
896
949
  size?: number | undefined;
897
950
  lastModified?: string | undefined;
@@ -959,14 +1012,14 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
959
1012
  source: "config" | "custom" | "mcp";
960
1013
  description?: string | undefined;
961
1014
  title?: string | undefined;
1015
+ metadata?: {
1016
+ [x: string]: import("hono/utils/types").JSONValue;
1017
+ } | undefined;
962
1018
  arguments?: {
963
1019
  name: string;
964
1020
  description?: string | undefined;
965
1021
  required?: boolean | undefined;
966
1022
  }[] | undefined;
967
- metadata?: {
968
- [x: string]: import("hono/utils/types").JSONValue;
969
- } | undefined;
970
1023
  }[];
971
1024
  };
972
1025
  outputFormat: "json";
@@ -1000,14 +1053,14 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1000
1053
  source: "config" | "custom" | "mcp";
1001
1054
  description?: string | undefined;
1002
1055
  title?: string | undefined;
1056
+ metadata?: {
1057
+ [x: string]: import("hono/utils/types").JSONValue;
1058
+ } | undefined;
1003
1059
  arguments?: {
1004
1060
  name: string;
1005
1061
  description?: string | undefined;
1006
1062
  required?: boolean | undefined;
1007
1063
  }[] | undefined;
1008
- metadata?: {
1009
- [x: string]: import("hono/utils/types").JSONValue;
1010
- } | undefined;
1011
1064
  };
1012
1065
  };
1013
1066
  outputFormat: "json";
@@ -1226,6 +1279,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1226
1279
  type: "stdio";
1227
1280
  command: string;
1228
1281
  timeout?: number | undefined;
1282
+ enabled?: boolean | undefined;
1229
1283
  args?: string[] | undefined;
1230
1284
  env?: Record<string, string> | undefined;
1231
1285
  connectionMode?: "strict" | "lenient" | undefined;
@@ -1233,12 +1287,14 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1233
1287
  type: "sse";
1234
1288
  url: string;
1235
1289
  timeout?: number | undefined;
1290
+ enabled?: boolean | undefined;
1236
1291
  connectionMode?: "strict" | "lenient" | undefined;
1237
1292
  headers?: Record<string, string> | undefined;
1238
1293
  } | {
1239
1294
  type: "http";
1240
1295
  url: string;
1241
1296
  timeout?: number | undefined;
1297
+ enabled?: boolean | undefined;
1242
1298
  connectionMode?: "strict" | "lenient" | undefined;
1243
1299
  headers?: Record<string, string> | undefined;
1244
1300
  };
@@ -1417,10 +1473,10 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1417
1473
  source: "mcp" | "internal";
1418
1474
  description?: string | undefined;
1419
1475
  mimeType?: string | undefined;
1420
- name?: string | undefined;
1421
1476
  metadata?: {
1422
1477
  [x: string]: import("hono/utils/types").JSONValue;
1423
1478
  } | undefined;
1479
+ name?: string | undefined;
1424
1480
  serverName?: string | undefined;
1425
1481
  size?: number | undefined;
1426
1482
  lastModified?: string | undefined;
@@ -1487,6 +1543,19 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1487
1543
  mimeType: string;
1488
1544
  data: string;
1489
1545
  filename?: string | undefined;
1546
+ } | {
1547
+ type: "ui-resource";
1548
+ mimeType: string;
1549
+ uri: string;
1550
+ content?: string | undefined;
1551
+ blob?: string | undefined;
1552
+ metadata?: {
1553
+ title?: string | undefined;
1554
+ preferredSize?: {
1555
+ width: number;
1556
+ height: number;
1557
+ } | undefined;
1558
+ } | undefined;
1490
1559
  })[] | null;
1491
1560
  role: "system" | "user" | "assistant" | "tool";
1492
1561
  id?: string | undefined;
@@ -1500,8 +1569,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1500
1569
  totalTokens?: number | undefined;
1501
1570
  } | undefined;
1502
1571
  model?: string | undefined;
1503
- provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
1504
- router?: "vercel" | "in-built" | undefined;
1572
+ provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | undefined;
1505
1573
  toolCalls?: {
1506
1574
  function: {
1507
1575
  name: string;
@@ -1511,6 +1579,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1511
1579
  id: string;
1512
1580
  }[] | undefined;
1513
1581
  toolCallId?: string | undefined;
1582
+ success?: boolean | undefined;
1514
1583
  };
1515
1584
  sessionId: string;
1516
1585
  matchedText: string;
@@ -1536,6 +1605,11 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1536
1605
  query: string;
1537
1606
  results: {
1538
1607
  sessionId: string;
1608
+ metadata: {
1609
+ createdAt: number;
1610
+ lastActivity: number;
1611
+ messageCount: number;
1612
+ };
1539
1613
  matchCount: number;
1540
1614
  firstMatch: {
1541
1615
  message: {
@@ -1551,6 +1625,19 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1551
1625
  mimeType: string;
1552
1626
  data: string;
1553
1627
  filename?: string | undefined;
1628
+ } | {
1629
+ type: "ui-resource";
1630
+ mimeType: string;
1631
+ uri: string;
1632
+ content?: string | undefined;
1633
+ blob?: string | undefined;
1634
+ metadata?: {
1635
+ title?: string | undefined;
1636
+ preferredSize?: {
1637
+ width: number;
1638
+ height: number;
1639
+ } | undefined;
1640
+ } | undefined;
1554
1641
  })[] | null;
1555
1642
  role: "system" | "user" | "assistant" | "tool";
1556
1643
  id?: string | undefined;
@@ -1564,8 +1651,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1564
1651
  totalTokens?: number | undefined;
1565
1652
  } | undefined;
1566
1653
  model?: string | undefined;
1567
- provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
1568
- router?: "vercel" | "in-built" | undefined;
1654
+ provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | undefined;
1569
1655
  toolCalls?: {
1570
1656
  function: {
1571
1657
  name: string;
@@ -1575,17 +1661,13 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1575
1661
  id: string;
1576
1662
  }[] | undefined;
1577
1663
  toolCallId?: string | undefined;
1664
+ success?: boolean | undefined;
1578
1665
  };
1579
1666
  sessionId: string;
1580
1667
  matchedText: string;
1581
1668
  context: string;
1582
1669
  messageIndex: number;
1583
1670
  };
1584
- metadata: {
1585
- createdAt: number;
1586
- lastActivity: number;
1587
- messageCount: number;
1588
- };
1589
1671
  }[];
1590
1672
  total: number;
1591
1673
  hasMore: boolean;
@@ -1676,6 +1758,19 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1676
1758
  mimeType: string;
1677
1759
  data: string;
1678
1760
  filename?: string | undefined;
1761
+ } | {
1762
+ type: "ui-resource";
1763
+ mimeType: string;
1764
+ uri: string;
1765
+ content?: string | undefined;
1766
+ blob?: string | undefined;
1767
+ metadata?: {
1768
+ title?: string | undefined;
1769
+ preferredSize?: {
1770
+ width: number;
1771
+ height: number;
1772
+ } | undefined;
1773
+ } | undefined;
1679
1774
  })[] | null;
1680
1775
  role: "system" | "user" | "assistant" | "tool";
1681
1776
  id?: string | undefined;
@@ -1689,8 +1784,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1689
1784
  totalTokens?: number | undefined;
1690
1785
  } | undefined;
1691
1786
  model?: string | undefined;
1692
- provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
1693
- router?: "vercel" | "in-built" | undefined;
1787
+ provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | undefined;
1694
1788
  toolCalls?: {
1695
1789
  function: {
1696
1790
  name: string;
@@ -1700,7 +1794,9 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1700
1794
  id: string;
1701
1795
  }[] | undefined;
1702
1796
  toolCallId?: string | undefined;
1797
+ success?: boolean | undefined;
1703
1798
  }[];
1799
+ isBusy: boolean;
1704
1800
  };
1705
1801
  outputFormat: "json";
1706
1802
  status: 200;
@@ -1729,10 +1825,16 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1729
1825
  param: {
1730
1826
  sessionId: string;
1731
1827
  };
1828
+ } & {
1829
+ json: {
1830
+ clearQueue?: boolean | undefined;
1831
+ };
1732
1832
  };
1733
1833
  output: {
1734
1834
  sessionId: string;
1735
1835
  cancelled: boolean;
1836
+ queueCleared: boolean;
1837
+ clearedCount: number;
1736
1838
  };
1737
1839
  outputFormat: "json";
1738
1840
  status: 200;
@@ -1752,6 +1854,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1752
1854
  createdAt: number | null;
1753
1855
  lastActivity: number | null;
1754
1856
  messageCount: number;
1857
+ isBusy: boolean;
1755
1858
  title?: string | null | undefined;
1756
1859
  };
1757
1860
  };
@@ -1831,8 +1934,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1831
1934
  output: {
1832
1935
  config: {
1833
1936
  model: string;
1834
- provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
1835
- router?: "vercel" | "in-built" | undefined;
1937
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
1836
1938
  maxIterations?: number | undefined;
1837
1939
  baseURL?: string | undefined;
1838
1940
  maxInputTokens?: number | undefined;
@@ -1853,7 +1955,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1853
1955
  input: {
1854
1956
  query: {
1855
1957
  provider?: string | string[] | undefined;
1856
- router?: "vercel" | "in-built" | undefined;
1857
1958
  hasKey?: "0" | "1" | "true" | "false" | undefined;
1858
1959
  fileType?: "image" | "audio" | "pdf" | undefined;
1859
1960
  defaultOnly?: "0" | "1" | "true" | "false" | undefined;
@@ -1866,7 +1967,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1866
1967
  name: string;
1867
1968
  hasApiKey: boolean;
1868
1969
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1869
- supportedRouters: ("vercel" | "in-built")[];
1870
1970
  primaryEnvVar: string;
1871
1971
  supportsBaseURL: boolean;
1872
1972
  models: {
@@ -1874,7 +1974,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1874
1974
  maxInputTokens: number;
1875
1975
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1876
1976
  default?: boolean | undefined;
1877
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1878
1977
  displayName?: string | undefined;
1879
1978
  pricing?: {
1880
1979
  inputPerM: number;
@@ -1886,11 +1985,142 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1886
1985
  } | undefined;
1887
1986
  }[];
1888
1987
  } | undefined;
1889
- "openai-compatible"?: {
1988
+ "openai-compatible"?: {
1989
+ name: string;
1990
+ hasApiKey: boolean;
1991
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1992
+ primaryEnvVar: string;
1993
+ supportsBaseURL: boolean;
1994
+ models: {
1995
+ name: string;
1996
+ maxInputTokens: number;
1997
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
1998
+ default?: boolean | undefined;
1999
+ displayName?: string | undefined;
2000
+ pricing?: {
2001
+ inputPerM: number;
2002
+ outputPerM: number;
2003
+ cacheReadPerM?: number | undefined;
2004
+ cacheWritePerM?: number | undefined;
2005
+ currency?: "USD" | undefined;
2006
+ unit?: "per_million_tokens" | undefined;
2007
+ } | undefined;
2008
+ }[];
2009
+ } | undefined;
2010
+ anthropic?: {
2011
+ name: string;
2012
+ hasApiKey: boolean;
2013
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2014
+ primaryEnvVar: string;
2015
+ supportsBaseURL: boolean;
2016
+ models: {
2017
+ name: string;
2018
+ maxInputTokens: number;
2019
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2020
+ default?: boolean | undefined;
2021
+ displayName?: string | undefined;
2022
+ pricing?: {
2023
+ inputPerM: number;
2024
+ outputPerM: number;
2025
+ cacheReadPerM?: number | undefined;
2026
+ cacheWritePerM?: number | undefined;
2027
+ currency?: "USD" | undefined;
2028
+ unit?: "per_million_tokens" | undefined;
2029
+ } | undefined;
2030
+ }[];
2031
+ } | undefined;
2032
+ google?: {
2033
+ name: string;
2034
+ hasApiKey: boolean;
2035
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2036
+ primaryEnvVar: string;
2037
+ supportsBaseURL: boolean;
2038
+ models: {
2039
+ name: string;
2040
+ maxInputTokens: number;
2041
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2042
+ default?: boolean | undefined;
2043
+ displayName?: string | undefined;
2044
+ pricing?: {
2045
+ inputPerM: number;
2046
+ outputPerM: number;
2047
+ cacheReadPerM?: number | undefined;
2048
+ cacheWritePerM?: number | undefined;
2049
+ currency?: "USD" | undefined;
2050
+ unit?: "per_million_tokens" | undefined;
2051
+ } | undefined;
2052
+ }[];
2053
+ } | undefined;
2054
+ groq?: {
2055
+ name: string;
2056
+ hasApiKey: boolean;
2057
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2058
+ primaryEnvVar: string;
2059
+ supportsBaseURL: boolean;
2060
+ models: {
2061
+ name: string;
2062
+ maxInputTokens: number;
2063
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2064
+ default?: boolean | undefined;
2065
+ displayName?: string | undefined;
2066
+ pricing?: {
2067
+ inputPerM: number;
2068
+ outputPerM: number;
2069
+ cacheReadPerM?: number | undefined;
2070
+ cacheWritePerM?: number | undefined;
2071
+ currency?: "USD" | undefined;
2072
+ unit?: "per_million_tokens" | undefined;
2073
+ } | undefined;
2074
+ }[];
2075
+ } | undefined;
2076
+ xai?: {
2077
+ name: string;
2078
+ hasApiKey: boolean;
2079
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2080
+ primaryEnvVar: string;
2081
+ supportsBaseURL: boolean;
2082
+ models: {
2083
+ name: string;
2084
+ maxInputTokens: number;
2085
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2086
+ default?: boolean | undefined;
2087
+ displayName?: string | undefined;
2088
+ pricing?: {
2089
+ inputPerM: number;
2090
+ outputPerM: number;
2091
+ cacheReadPerM?: number | undefined;
2092
+ cacheWritePerM?: number | undefined;
2093
+ currency?: "USD" | undefined;
2094
+ unit?: "per_million_tokens" | undefined;
2095
+ } | undefined;
2096
+ }[];
2097
+ } | undefined;
2098
+ cohere?: {
2099
+ name: string;
2100
+ hasApiKey: boolean;
2101
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2102
+ primaryEnvVar: string;
2103
+ supportsBaseURL: boolean;
2104
+ models: {
2105
+ name: string;
2106
+ maxInputTokens: number;
2107
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2108
+ default?: boolean | undefined;
2109
+ displayName?: string | undefined;
2110
+ pricing?: {
2111
+ inputPerM: number;
2112
+ outputPerM: number;
2113
+ cacheReadPerM?: number | undefined;
2114
+ cacheWritePerM?: number | undefined;
2115
+ currency?: "USD" | undefined;
2116
+ unit?: "per_million_tokens" | undefined;
2117
+ } | undefined;
2118
+ }[];
2119
+ } | undefined;
2120
+ openrouter?: {
1890
2121
  name: string;
1891
2122
  hasApiKey: boolean;
1892
2123
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1893
- supportedRouters: ("vercel" | "in-built")[];
1894
2124
  primaryEnvVar: string;
1895
2125
  supportsBaseURL: boolean;
1896
2126
  models: {
@@ -1898,7 +2128,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1898
2128
  maxInputTokens: number;
1899
2129
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1900
2130
  default?: boolean | undefined;
1901
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1902
2131
  displayName?: string | undefined;
1903
2132
  pricing?: {
1904
2133
  inputPerM: number;
@@ -1910,11 +2139,10 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1910
2139
  } | undefined;
1911
2140
  }[];
1912
2141
  } | undefined;
1913
- anthropic?: {
2142
+ litellm?: {
1914
2143
  name: string;
1915
2144
  hasApiKey: boolean;
1916
2145
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1917
- supportedRouters: ("vercel" | "in-built")[];
1918
2146
  primaryEnvVar: string;
1919
2147
  supportsBaseURL: boolean;
1920
2148
  models: {
@@ -1922,7 +2150,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1922
2150
  maxInputTokens: number;
1923
2151
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1924
2152
  default?: boolean | undefined;
1925
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1926
2153
  displayName?: string | undefined;
1927
2154
  pricing?: {
1928
2155
  inputPerM: number;
@@ -1934,11 +2161,10 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1934
2161
  } | undefined;
1935
2162
  }[];
1936
2163
  } | undefined;
1937
- google?: {
2164
+ glama?: {
1938
2165
  name: string;
1939
2166
  hasApiKey: boolean;
1940
2167
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1941
- supportedRouters: ("vercel" | "in-built")[];
1942
2168
  primaryEnvVar: string;
1943
2169
  supportsBaseURL: boolean;
1944
2170
  models: {
@@ -1946,7 +2172,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1946
2172
  maxInputTokens: number;
1947
2173
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1948
2174
  default?: boolean | undefined;
1949
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1950
2175
  displayName?: string | undefined;
1951
2176
  pricing?: {
1952
2177
  inputPerM: number;
@@ -1958,11 +2183,10 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1958
2183
  } | undefined;
1959
2184
  }[];
1960
2185
  } | undefined;
1961
- groq?: {
2186
+ vertex?: {
1962
2187
  name: string;
1963
2188
  hasApiKey: boolean;
1964
2189
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1965
- supportedRouters: ("vercel" | "in-built")[];
1966
2190
  primaryEnvVar: string;
1967
2191
  supportsBaseURL: boolean;
1968
2192
  models: {
@@ -1970,7 +2194,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1970
2194
  maxInputTokens: number;
1971
2195
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1972
2196
  default?: boolean | undefined;
1973
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1974
2197
  displayName?: string | undefined;
1975
2198
  pricing?: {
1976
2199
  inputPerM: number;
@@ -1982,11 +2205,10 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1982
2205
  } | undefined;
1983
2206
  }[];
1984
2207
  } | undefined;
1985
- xai?: {
2208
+ bedrock?: {
1986
2209
  name: string;
1987
2210
  hasApiKey: boolean;
1988
2211
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1989
- supportedRouters: ("vercel" | "in-built")[];
1990
2212
  primaryEnvVar: string;
1991
2213
  supportsBaseURL: boolean;
1992
2214
  models: {
@@ -1994,7 +2216,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1994
2216
  maxInputTokens: number;
1995
2217
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1996
2218
  default?: boolean | undefined;
1997
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1998
2219
  displayName?: string | undefined;
1999
2220
  pricing?: {
2000
2221
  inputPerM: number;
@@ -2006,11 +2227,32 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2006
2227
  } | undefined;
2007
2228
  }[];
2008
2229
  } | undefined;
2009
- cohere?: {
2230
+ local?: {
2231
+ name: string;
2232
+ hasApiKey: boolean;
2233
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2234
+ primaryEnvVar: string;
2235
+ supportsBaseURL: boolean;
2236
+ models: {
2237
+ name: string;
2238
+ maxInputTokens: number;
2239
+ supportedFileTypes: ("image" | "audio" | "pdf")[];
2240
+ default?: boolean | undefined;
2241
+ displayName?: string | undefined;
2242
+ pricing?: {
2243
+ inputPerM: number;
2244
+ outputPerM: number;
2245
+ cacheReadPerM?: number | undefined;
2246
+ cacheWritePerM?: number | undefined;
2247
+ currency?: "USD" | undefined;
2248
+ unit?: "per_million_tokens" | undefined;
2249
+ } | undefined;
2250
+ }[];
2251
+ } | undefined;
2252
+ ollama?: {
2010
2253
  name: string;
2011
2254
  hasApiKey: boolean;
2012
2255
  supportedFileTypes: ("image" | "audio" | "pdf")[];
2013
- supportedRouters: ("vercel" | "in-built")[];
2014
2256
  primaryEnvVar: string;
2015
2257
  supportsBaseURL: boolean;
2016
2258
  models: {
@@ -2018,7 +2260,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2018
2260
  maxInputTokens: number;
2019
2261
  supportedFileTypes: ("image" | "audio" | "pdf")[];
2020
2262
  default?: boolean | undefined;
2021
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
2022
2263
  displayName?: string | undefined;
2023
2264
  pricing?: {
2024
2265
  inputPerM: number;
@@ -2038,7 +2279,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2038
2279
  maxInputTokens: number;
2039
2280
  supportedFileTypes: ("image" | "audio" | "pdf")[];
2040
2281
  default?: boolean | undefined;
2041
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
2042
2282
  displayName?: string | undefined;
2043
2283
  pricing?: {
2044
2284
  inputPerM: number;
@@ -2054,33 +2294,14 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2054
2294
  status: 200;
2055
2295
  };
2056
2296
  };
2057
- } & {
2058
- "/llm/key": {
2059
- $post: {
2060
- input: {
2061
- json: {
2062
- provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
2063
- apiKey: string;
2064
- };
2065
- };
2066
- output: {
2067
- provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
2068
- ok: true;
2069
- envVar: string;
2070
- };
2071
- outputFormat: "json";
2072
- status: 200;
2073
- };
2074
- };
2075
2297
  } & {
2076
2298
  "/llm/switch": {
2077
2299
  $post: {
2078
2300
  input: {
2079
2301
  json: {
2080
- apiKey?: string | undefined;
2081
2302
  model?: string | undefined;
2082
- provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
2083
- router?: "vercel" | "in-built" | undefined;
2303
+ provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | undefined;
2304
+ apiKey?: string | undefined;
2084
2305
  maxIterations?: number | undefined;
2085
2306
  baseURL?: string | undefined;
2086
2307
  maxInputTokens?: number | undefined;
@@ -2094,8 +2315,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2094
2315
  output: {
2095
2316
  config: {
2096
2317
  model: string;
2097
- provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
2098
- router: "vercel" | "in-built";
2318
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
2099
2319
  maxIterations: number;
2100
2320
  baseURL?: string | undefined;
2101
2321
  maxInputTokens?: number | undefined;
@@ -2110,49 +2330,135 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2110
2330
  status: 200;
2111
2331
  };
2112
2332
  };
2113
- }, "/api"> & import("hono/types").MergeSchemaPath<{
2114
- "/message": {
2333
+ } & {
2334
+ "/llm/custom-models": {
2335
+ $get: {
2336
+ input: {};
2337
+ output: {
2338
+ models: {
2339
+ name: string;
2340
+ provider: "openai-compatible" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
2341
+ apiKey?: string | undefined | undefined;
2342
+ baseURL?: string | undefined | undefined;
2343
+ filePath?: string | undefined | undefined;
2344
+ displayName?: string | undefined | undefined;
2345
+ maxInputTokens?: number | undefined | undefined;
2346
+ maxOutputTokens?: number | undefined | undefined;
2347
+ }[];
2348
+ };
2349
+ outputFormat: "json";
2350
+ status: 200;
2351
+ };
2352
+ };
2353
+ } & {
2354
+ "/llm/custom-models": {
2115
2355
  $post: {
2116
2356
  input: {
2117
2357
  json: {
2118
- sessionId: string;
2119
- message?: string | undefined;
2120
- imageData?: {
2121
- image: string;
2122
- mimeType: string;
2123
- } | undefined;
2124
- fileData?: {
2125
- mimeType: string;
2126
- data: string;
2127
- filename?: string | undefined;
2128
- } | undefined;
2358
+ name: string;
2359
+ provider?: "openai-compatible" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | undefined;
2360
+ apiKey?: string | undefined;
2361
+ baseURL?: string | undefined;
2362
+ filePath?: string | undefined;
2363
+ displayName?: string | undefined;
2364
+ maxInputTokens?: number | undefined;
2365
+ maxOutputTokens?: number | undefined;
2129
2366
  };
2130
2367
  };
2131
2368
  output: {
2132
- sessionId: string;
2133
- accepted: true;
2369
+ model: {
2370
+ name: string;
2371
+ provider: "openai-compatible" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama";
2372
+ apiKey?: string | undefined | undefined;
2373
+ baseURL?: string | undefined | undefined;
2374
+ filePath?: string | undefined | undefined;
2375
+ displayName?: string | undefined | undefined;
2376
+ maxInputTokens?: number | undefined | undefined;
2377
+ maxOutputTokens?: number | undefined | undefined;
2378
+ };
2379
+ ok: true;
2134
2380
  };
2135
2381
  outputFormat: "json";
2136
- status: 202;
2382
+ status: 200;
2383
+ };
2384
+ };
2385
+ } & {
2386
+ "/llm/custom-models/:name": {
2387
+ $delete: {
2388
+ input: {
2389
+ param: {
2390
+ name: string;
2391
+ };
2392
+ };
2393
+ output: {
2394
+ ok: true;
2395
+ deleted: string;
2396
+ };
2397
+ outputFormat: "json";
2398
+ status: 200;
2137
2399
  } | {
2400
+ input: {
2401
+ param: {
2402
+ name: string;
2403
+ };
2404
+ };
2405
+ output: {
2406
+ ok: false;
2407
+ error: string;
2408
+ };
2409
+ outputFormat: "json";
2410
+ status: 404;
2411
+ };
2412
+ };
2413
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
2414
+ "/message": {
2415
+ $post: {
2138
2416
  input: {
2139
2417
  json: {
2140
- sessionId: string;
2141
- message?: string | undefined;
2142
- imageData?: {
2418
+ content: string | ({
2419
+ type: "text";
2420
+ text: string;
2421
+ } | {
2422
+ type: "image";
2143
2423
  image: string;
2144
- mimeType: string;
2145
- } | undefined;
2146
- fileData?: {
2424
+ mimeType?: string | undefined;
2425
+ } | {
2426
+ type: "file";
2147
2427
  mimeType: string;
2148
2428
  data: string;
2149
2429
  filename?: string | undefined;
2150
- } | undefined;
2430
+ })[];
2431
+ sessionId: string;
2151
2432
  };
2152
2433
  };
2153
2434
  output: {};
2154
2435
  outputFormat: string;
2155
2436
  status: 400;
2437
+ } | {
2438
+ input: {
2439
+ json: {
2440
+ content: string | ({
2441
+ type: "text";
2442
+ text: string;
2443
+ } | {
2444
+ type: "image";
2445
+ image: string;
2446
+ mimeType?: string | undefined;
2447
+ } | {
2448
+ type: "file";
2449
+ mimeType: string;
2450
+ data: string;
2451
+ filename?: string | undefined;
2452
+ })[];
2453
+ sessionId: string;
2454
+ };
2455
+ };
2456
+ output: {
2457
+ sessionId: string;
2458
+ accepted: true;
2459
+ };
2460
+ outputFormat: "json";
2461
+ status: 202;
2156
2462
  };
2157
2463
  };
2158
2464
  } & {
@@ -2160,17 +2466,20 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2160
2466
  $post: {
2161
2467
  input: {
2162
2468
  json: {
2163
- sessionId: string;
2164
- message?: string | undefined;
2165
- imageData?: {
2469
+ content: string | ({
2470
+ type: "text";
2471
+ text: string;
2472
+ } | {
2473
+ type: "image";
2166
2474
  image: string;
2167
- mimeType: string;
2168
- } | undefined;
2169
- fileData?: {
2475
+ mimeType?: string | undefined;
2476
+ } | {
2477
+ type: "file";
2170
2478
  mimeType: string;
2171
2479
  data: string;
2172
2480
  filename?: string | undefined;
2173
- } | undefined;
2481
+ })[];
2482
+ sessionId: string;
2174
2483
  };
2175
2484
  };
2176
2485
  output: {};
@@ -2179,17 +2488,20 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2179
2488
  } | {
2180
2489
  input: {
2181
2490
  json: {
2182
- sessionId: string;
2183
- message?: string | undefined;
2184
- imageData?: {
2491
+ content: string | ({
2492
+ type: "text";
2493
+ text: string;
2494
+ } | {
2495
+ type: "image";
2185
2496
  image: string;
2186
- mimeType: string;
2187
- } | undefined;
2188
- fileData?: {
2497
+ mimeType?: string | undefined;
2498
+ } | {
2499
+ type: "file";
2189
2500
  mimeType: string;
2190
2501
  data: string;
2191
2502
  filename?: string | undefined;
2192
- } | undefined;
2503
+ })[];
2504
+ sessionId: string;
2193
2505
  };
2194
2506
  };
2195
2507
  output: {
@@ -2203,8 +2515,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2203
2515
  totalTokens?: number | undefined;
2204
2516
  } | undefined;
2205
2517
  model?: string | undefined;
2206
- provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
2207
- router?: "vercel" | "in-built" | undefined;
2518
+ provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | "openrouter" | "litellm" | "glama" | "vertex" | "bedrock" | "local" | "ollama" | undefined;
2208
2519
  };
2209
2520
  outputFormat: "json";
2210
2521
  status: 200;
@@ -2231,17 +2542,20 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2231
2542
  $post: {
2232
2543
  input: {
2233
2544
  json: {
2234
- sessionId: string;
2235
- message?: string | undefined;
2236
- imageData?: {
2545
+ content: string | ({
2546
+ type: "text";
2547
+ text: string;
2548
+ } | {
2549
+ type: "image";
2237
2550
  image: string;
2238
- mimeType: string;
2239
- } | undefined;
2240
- fileData?: {
2551
+ mimeType?: string | undefined;
2552
+ } | {
2553
+ type: "file";
2241
2554
  mimeType: string;
2242
2555
  data: string;
2243
2556
  filename?: string | undefined;
2244
- } | undefined;
2557
+ })[];
2558
+ sessionId: string;
2245
2559
  };
2246
2560
  };
2247
2561
  output: Response;
@@ -2250,22 +2564,52 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2250
2564
  } | {
2251
2565
  input: {
2252
2566
  json: {
2253
- sessionId: string;
2254
- message?: string | undefined;
2255
- imageData?: {
2567
+ content: string | ({
2568
+ type: "text";
2569
+ text: string;
2570
+ } | {
2571
+ type: "image";
2256
2572
  image: string;
2257
- mimeType: string;
2258
- } | undefined;
2259
- fileData?: {
2573
+ mimeType?: string | undefined;
2574
+ } | {
2575
+ type: "file";
2260
2576
  mimeType: string;
2261
2577
  data: string;
2262
2578
  filename?: string | undefined;
2263
- } | undefined;
2579
+ })[];
2580
+ sessionId: string;
2264
2581
  };
2265
2582
  };
2266
2583
  output: {};
2267
2584
  outputFormat: string;
2268
2585
  status: 400;
2586
+ } | {
2587
+ input: {
2588
+ json: {
2589
+ content: string | ({
2590
+ type: "text";
2591
+ text: string;
2592
+ } | {
2593
+ type: "image";
2594
+ image: string;
2595
+ mimeType?: string | undefined;
2596
+ } | {
2597
+ type: "file";
2598
+ mimeType: string;
2599
+ data: string;
2600
+ filename?: string | undefined;
2601
+ })[];
2602
+ sessionId: string;
2603
+ };
2604
+ };
2605
+ output: {
2606
+ sessionId: string;
2607
+ busy: true;
2608
+ queueLength: number;
2609
+ hint: string;
2610
+ };
2611
+ outputFormat: "json";
2612
+ status: 202;
2269
2613
  };
2270
2614
  };
2271
2615
  }, "/api"> & import("hono/types").MergeSchemaPath<{
@@ -2314,8 +2658,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2314
2658
  })[];
2315
2659
  messageId: string;
2316
2660
  metadata?: Record<string, any> | undefined;
2317
- contextId?: string | undefined;
2318
2661
  taskId?: string | undefined;
2662
+ contextId?: string | undefined;
2319
2663
  extensions?: string[] | undefined;
2320
2664
  referenceTaskIds?: string[] | undefined;
2321
2665
  };
@@ -2370,8 +2714,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2370
2714
  metadata?: {
2371
2715
  [x: string]: any;
2372
2716
  } | undefined;
2373
- contextId?: string | undefined;
2374
2717
  taskId?: string | undefined;
2718
+ contextId?: string | undefined;
2375
2719
  extensions?: string[] | undefined;
2376
2720
  referenceTaskIds?: string[] | undefined;
2377
2721
  } | undefined;
@@ -2419,8 +2763,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2419
2763
  metadata?: {
2420
2764
  [x: string]: any;
2421
2765
  } | undefined;
2422
- contextId?: string | undefined;
2423
2766
  taskId?: string | undefined;
2767
+ contextId?: string | undefined;
2424
2768
  extensions?: string[] | undefined;
2425
2769
  referenceTaskIds?: string[] | undefined;
2426
2770
  }[] | undefined;
@@ -2484,8 +2828,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2484
2828
  metadata?: {
2485
2829
  [x: string]: any;
2486
2830
  } | undefined;
2487
- contextId?: string | undefined;
2488
2831
  taskId?: string | undefined;
2832
+ contextId?: string | undefined;
2489
2833
  extensions?: string[] | undefined;
2490
2834
  referenceTaskIds?: string[] | undefined;
2491
2835
  } | undefined;
@@ -2533,8 +2877,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2533
2877
  metadata?: {
2534
2878
  [x: string]: any;
2535
2879
  } | undefined;
2536
- contextId?: string | undefined;
2537
2880
  taskId?: string | undefined;
2881
+ contextId?: string | undefined;
2538
2882
  extensions?: string[] | undefined;
2539
2883
  referenceTaskIds?: string[] | undefined;
2540
2884
  }[] | undefined;
@@ -2604,8 +2948,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2604
2948
  metadata?: {
2605
2949
  [x: string]: any;
2606
2950
  } | undefined;
2607
- contextId?: string | undefined;
2608
2951
  taskId?: string | undefined;
2952
+ contextId?: string | undefined;
2609
2953
  extensions?: string[] | undefined;
2610
2954
  referenceTaskIds?: string[] | undefined;
2611
2955
  } | undefined;
@@ -2653,8 +2997,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2653
2997
  metadata?: {
2654
2998
  [x: string]: any;
2655
2999
  } | undefined;
2656
- contextId?: string | undefined;
2657
3000
  taskId?: string | undefined;
3001
+ contextId?: string | undefined;
2658
3002
  extensions?: string[] | undefined;
2659
3003
  referenceTaskIds?: string[] | undefined;
2660
3004
  }[] | undefined;
@@ -2720,8 +3064,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2720
3064
  metadata?: {
2721
3065
  [x: string]: any;
2722
3066
  } | undefined;
2723
- contextId?: string | undefined;
2724
3067
  taskId?: string | undefined;
3068
+ contextId?: string | undefined;
2725
3069
  extensions?: string[] | undefined;
2726
3070
  referenceTaskIds?: string[] | undefined;
2727
3071
  } | undefined;
@@ -2769,8 +3113,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2769
3113
  metadata?: {
2770
3114
  [x: string]: any;
2771
3115
  } | undefined;
2772
- contextId?: string | undefined;
2773
3116
  taskId?: string | undefined;
3117
+ contextId?: string | undefined;
2774
3118
  extensions?: string[] | undefined;
2775
3119
  referenceTaskIds?: string[] | undefined;
2776
3120
  }[] | undefined;