@dexto/server 1.2.6 → 1.4.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 (60) 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 +2 -2
  8. package/dist/hono/__tests__/test-fixtures.d.ts.map +1 -1
  9. package/dist/hono/__tests__/test-fixtures.js +2 -2
  10. package/dist/hono/index.cjs +14 -2
  11. package/dist/hono/index.d.ts +486 -132
  12. package/dist/hono/index.d.ts.map +1 -1
  13. package/dist/hono/index.js +17 -2
  14. package/dist/hono/middleware/error.d.ts.map +1 -1
  15. package/dist/hono/routes/agents.cjs +8 -10
  16. package/dist/hono/routes/agents.d.ts +15 -8
  17. package/dist/hono/routes/agents.d.ts.map +1 -1
  18. package/dist/hono/routes/agents.js +10 -10
  19. package/dist/hono/routes/approvals.cjs +52 -1
  20. package/dist/hono/routes/approvals.d.ts +25 -0
  21. package/dist/hono/routes/approvals.d.ts.map +1 -1
  22. package/dist/hono/routes/approvals.js +52 -1
  23. package/dist/hono/routes/llm.cjs +110 -31
  24. package/dist/hono/routes/llm.d.ts +89 -37
  25. package/dist/hono/routes/llm.d.ts.map +1 -1
  26. package/dist/hono/routes/llm.js +108 -25
  27. package/dist/hono/routes/mcp.cjs +8 -4
  28. package/dist/hono/routes/mcp.d.ts +4 -1
  29. package/dist/hono/routes/mcp.d.ts.map +1 -1
  30. package/dist/hono/routes/mcp.js +9 -5
  31. package/dist/hono/routes/memory.d.ts +1 -1
  32. package/dist/hono/routes/messages.cjs +56 -64
  33. package/dist/hono/routes/messages.d.ts +101 -57
  34. package/dist/hono/routes/messages.d.ts.map +1 -1
  35. package/dist/hono/routes/messages.js +57 -65
  36. package/dist/hono/routes/prompts.cjs +2 -2
  37. package/dist/hono/routes/prompts.d.ts +7 -7
  38. package/dist/hono/routes/prompts.js +2 -2
  39. package/dist/hono/routes/queue.cjs +202 -0
  40. package/dist/hono/routes/queue.d.ts +171 -0
  41. package/dist/hono/routes/queue.d.ts.map +1 -0
  42. package/dist/hono/routes/queue.js +178 -0
  43. package/dist/hono/routes/resources.d.ts +1 -1
  44. package/dist/hono/routes/search.cjs +2 -24
  45. package/dist/hono/routes/search.d.ts +43 -15
  46. package/dist/hono/routes/search.d.ts.map +1 -1
  47. package/dist/hono/routes/search.js +3 -25
  48. package/dist/hono/routes/sessions.cjs +65 -11
  49. package/dist/hono/routes/sessions.d.ts +27 -5
  50. package/dist/hono/routes/sessions.d.ts.map +1 -1
  51. package/dist/hono/routes/sessions.js +65 -11
  52. package/dist/hono/routes/static.cjs +77 -0
  53. package/dist/hono/routes/static.d.ts +41 -0
  54. package/dist/hono/routes/static.d.ts.map +1 -0
  55. package/dist/hono/routes/static.js +52 -0
  56. package/dist/hono/schemas/responses.cjs +67 -25
  57. package/dist/hono/schemas/responses.d.ts +2076 -354
  58. package/dist/hono/schemas/responses.d.ts.map +1 -1
  59. package/dist/hono/schemas/responses.js +69 -35
  60. package/package.json +3 -3
@@ -1,6 +1,7 @@
1
1
  import { OpenAPIHono } from '@hono/zod-openapi';
2
2
  import type { DextoAgent, AgentCard } from '@dexto/core';
3
3
  import { type AgentsRouterContext } from './routes/agents.js';
4
+ import { type WebUIRuntimeConfig } from './routes/static.js';
4
5
  import { WebhookEventSubscriber } from '../events/webhook-subscriber.js';
5
6
  import { A2ASseEventSubscriber } from '../events/a2a-sse-subscriber.js';
6
7
  import { ApprovalCoordinator } from '../approval/approval-coordinator.js';
@@ -12,8 +13,179 @@ export type CreateDextoAppOptions = {
12
13
  webhookSubscriber: WebhookEventSubscriber;
13
14
  sseSubscriber: A2ASseEventSubscriber;
14
15
  agentsContext?: AgentsRouterContext;
16
+ /** Absolute path to WebUI build output. If provided, static files will be served. */
17
+ webRoot?: string;
18
+ /** Runtime configuration to inject into WebUI (analytics, etc.) */
19
+ webUIConfig?: WebUIRuntimeConfig;
15
20
  };
16
21
  export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIHono<import("hono").Env, import("hono/types").MergeSchemaPath<{
22
+ "/queue/:sessionId": {
23
+ $get: {
24
+ input: {
25
+ param: {
26
+ sessionId: string;
27
+ };
28
+ };
29
+ output: {};
30
+ outputFormat: string;
31
+ status: 404;
32
+ } | {
33
+ input: {
34
+ param: {
35
+ sessionId: string;
36
+ };
37
+ };
38
+ output: {
39
+ messages: {
40
+ content: ({
41
+ type: "text";
42
+ text: string;
43
+ } | {
44
+ type: "image";
45
+ image: string;
46
+ mimeType?: string | undefined;
47
+ } | {
48
+ type: "file";
49
+ mimeType: string;
50
+ data: string;
51
+ filename?: string | undefined;
52
+ } | {
53
+ type: "ui-resource";
54
+ mimeType: string;
55
+ uri: string;
56
+ content?: string | undefined;
57
+ blob?: string | undefined;
58
+ metadata?: {
59
+ title?: string | undefined;
60
+ preferredSize?: {
61
+ width: number;
62
+ height: number;
63
+ } | undefined;
64
+ } | undefined;
65
+ })[];
66
+ id: string;
67
+ queuedAt: number;
68
+ metadata?: {
69
+ [x: string]: import("hono/utils/types").JSONValue;
70
+ } | undefined;
71
+ }[];
72
+ count: number;
73
+ };
74
+ outputFormat: "json";
75
+ status: 200;
76
+ };
77
+ };
78
+ } & {
79
+ "/queue/:sessionId": {
80
+ $post: {
81
+ input: {
82
+ param: {
83
+ sessionId: string;
84
+ };
85
+ } & {
86
+ json: {
87
+ content: string | ({
88
+ type: "text";
89
+ text: string;
90
+ } | {
91
+ type: "image";
92
+ image: string;
93
+ mimeType?: string | undefined;
94
+ } | {
95
+ type: "file";
96
+ mimeType: string;
97
+ data: string;
98
+ filename?: string | undefined;
99
+ })[];
100
+ };
101
+ };
102
+ output: {};
103
+ outputFormat: string;
104
+ status: 404;
105
+ } | {
106
+ input: {
107
+ param: {
108
+ sessionId: string;
109
+ };
110
+ } & {
111
+ json: {
112
+ content: string | ({
113
+ type: "text";
114
+ text: string;
115
+ } | {
116
+ type: "image";
117
+ image: string;
118
+ mimeType?: string | undefined;
119
+ } | {
120
+ type: "file";
121
+ mimeType: string;
122
+ data: string;
123
+ filename?: string | undefined;
124
+ })[];
125
+ };
126
+ };
127
+ output: {
128
+ id: string;
129
+ queued: true;
130
+ position: number;
131
+ };
132
+ outputFormat: "json";
133
+ status: 201;
134
+ };
135
+ };
136
+ } & {
137
+ "/queue/:sessionId/:messageId": {
138
+ $delete: {
139
+ input: {
140
+ param: {
141
+ sessionId: string;
142
+ messageId: string;
143
+ };
144
+ };
145
+ output: {};
146
+ outputFormat: string;
147
+ status: 404;
148
+ } | {
149
+ input: {
150
+ param: {
151
+ sessionId: string;
152
+ messageId: string;
153
+ };
154
+ };
155
+ output: {
156
+ id: string;
157
+ removed: true;
158
+ };
159
+ outputFormat: "json";
160
+ status: 200;
161
+ };
162
+ };
163
+ } & {
164
+ "/queue/:sessionId": {
165
+ $delete: {
166
+ input: {
167
+ param: {
168
+ sessionId: string;
169
+ };
170
+ };
171
+ output: {};
172
+ outputFormat: string;
173
+ status: 404;
174
+ } | {
175
+ input: {
176
+ param: {
177
+ sessionId: string;
178
+ };
179
+ };
180
+ output: {
181
+ count: number;
182
+ cleared: true;
183
+ };
184
+ outputFormat: "json";
185
+ status: 200;
186
+ };
187
+ };
188
+ }, "/api"> & import("hono/types").MergeSchemaPath<{
17
189
  "/agents": {
18
190
  $get: {
19
191
  input: {};
@@ -63,13 +235,13 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
63
235
  id: string;
64
236
  path?: string | undefined;
65
237
  } | {
66
- id: string;
67
238
  metadata: {
68
239
  tags: string[];
69
240
  description: string;
70
241
  author: string;
71
242
  main?: string | undefined;
72
243
  };
244
+ id: string;
73
245
  sourcePath: string;
74
246
  name?: string | undefined;
75
247
  injectPreferences?: boolean | undefined;
@@ -146,10 +318,9 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
146
318
  description: string;
147
319
  config: {
148
320
  llm: {
149
- apiKey: string;
150
321
  model: string;
151
322
  provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
152
- router?: "vercel" | "in-built" | undefined;
323
+ apiKey: string;
153
324
  maxIterations?: number | undefined;
154
325
  baseURL?: string | undefined;
155
326
  maxInputTokens?: number | undefined;
@@ -185,6 +356,11 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
185
356
  enabled?: boolean | undefined;
186
357
  })[] | undefined;
187
358
  };
359
+ tools?: Record<string, {
360
+ maxOutputChars?: number | undefined;
361
+ maxLines?: number | undefined;
362
+ maxLineLength?: number | undefined;
363
+ }> | undefined;
188
364
  storage?: {
189
365
  database: {
190
366
  type: "in-memory";
@@ -295,9 +471,13 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
295
471
  agentId?: string | undefined;
296
472
  agentCard?: {
297
473
  description: string;
298
- url: string;
299
474
  name: string;
475
+ url: string;
300
476
  version: string;
477
+ provider?: {
478
+ url: string;
479
+ organization: string;
480
+ } | undefined;
301
481
  metadata?: import("zod").objectInputType<{
302
482
  dexto: import("zod").ZodOptional<import("zod").ZodObject<{
303
483
  authentication: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -378,10 +558,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
378
558
  pushNotifications?: boolean | undefined;
379
559
  stateTransitionHistory?: boolean | undefined;
380
560
  } | undefined;
381
- provider?: {
382
- url: string;
383
- organization: string;
384
- } | undefined;
385
561
  protocolVersion?: string | undefined;
386
562
  preferredTransport?: "JSONRPC" | "GRPC" | "HTTP+JSON" | undefined;
387
563
  defaultInputModes?: string[] | undefined;
@@ -468,6 +644,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
468
644
  type: "stdio";
469
645
  command: string;
470
646
  timeout?: number | undefined;
647
+ enabled?: boolean | undefined;
471
648
  args?: string[] | undefined;
472
649
  env?: Record<string, string> | undefined;
473
650
  connectionMode?: "strict" | "lenient" | undefined;
@@ -475,12 +652,14 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
475
652
  type: "sse";
476
653
  url: string;
477
654
  timeout?: number | undefined;
655
+ enabled?: boolean | undefined;
478
656
  connectionMode?: "strict" | "lenient" | undefined;
479
657
  headers?: Record<string, string> | undefined;
480
658
  } | {
481
659
  type: "http";
482
660
  url: string;
483
661
  timeout?: number | undefined;
662
+ enabled?: boolean | undefined;
484
663
  connectionMode?: "strict" | "lenient" | undefined;
485
664
  headers?: Record<string, string> | undefined;
486
665
  }> | undefined;
@@ -647,6 +826,31 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
647
826
  };
648
827
  };
649
828
  }, "/api"> & import("hono/types").MergeSchemaPath<{
829
+ "/approvals": {
830
+ $get: {
831
+ input: {
832
+ query: {
833
+ sessionId: string;
834
+ };
835
+ };
836
+ output: {
837
+ ok: true;
838
+ approvals: {
839
+ type: string;
840
+ metadata: {
841
+ [x: string]: import("hono/utils/types").JSONValue;
842
+ };
843
+ timestamp: string;
844
+ approvalId: string;
845
+ sessionId?: string | undefined;
846
+ timeout?: number | undefined;
847
+ }[];
848
+ };
849
+ outputFormat: "json";
850
+ status: 200;
851
+ };
852
+ };
853
+ } & {
650
854
  "/approvals/:approvalId": {
651
855
  $post: {
652
856
  input: {
@@ -829,11 +1033,11 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
829
1033
  };
830
1034
  } & {
831
1035
  json: {
1036
+ content?: string | undefined;
832
1037
  metadata?: import("zod").objectInputType<{
833
1038
  source: import("zod").ZodOptional<import("zod").ZodEnum<["user", "system"]>>;
834
1039
  pinned: import("zod").ZodOptional<import("zod").ZodBoolean>;
835
1040
  }, import("zod").ZodTypeAny, "passthrough"> | undefined;
836
- content?: string | undefined;
837
1041
  tags?: string[] | undefined;
838
1042
  };
839
1043
  };
@@ -883,10 +1087,10 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
883
1087
  source: "mcp" | "internal";
884
1088
  description?: string | undefined;
885
1089
  mimeType?: string | undefined;
886
- name?: string | undefined;
887
1090
  metadata?: {
888
1091
  [x: string]: import("hono/utils/types").JSONValue;
889
1092
  } | undefined;
1093
+ name?: string | undefined;
890
1094
  serverName?: string | undefined;
891
1095
  size?: number | undefined;
892
1096
  lastModified?: string | undefined;
@@ -954,14 +1158,14 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
954
1158
  source: "config" | "custom" | "mcp";
955
1159
  description?: string | undefined;
956
1160
  title?: string | undefined;
1161
+ metadata?: {
1162
+ [x: string]: import("hono/utils/types").JSONValue;
1163
+ } | undefined;
957
1164
  arguments?: {
958
1165
  name: string;
959
1166
  description?: string | undefined;
960
1167
  required?: boolean | undefined;
961
1168
  }[] | undefined;
962
- metadata?: {
963
- [x: string]: import("hono/utils/types").JSONValue;
964
- } | undefined;
965
1169
  }[];
966
1170
  };
967
1171
  outputFormat: "json";
@@ -984,7 +1188,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
984
1188
  }[] | undefined;
985
1189
  resource?: {
986
1190
  mimeType: string;
987
- base64: string;
1191
+ data: string;
988
1192
  filename?: string | undefined;
989
1193
  } | undefined;
990
1194
  };
@@ -995,14 +1199,14 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
995
1199
  source: "config" | "custom" | "mcp";
996
1200
  description?: string | undefined;
997
1201
  title?: string | undefined;
1202
+ metadata?: {
1203
+ [x: string]: import("hono/utils/types").JSONValue;
1204
+ } | undefined;
998
1205
  arguments?: {
999
1206
  name: string;
1000
1207
  description?: string | undefined;
1001
1208
  required?: boolean | undefined;
1002
1209
  }[] | undefined;
1003
- metadata?: {
1004
- [x: string]: import("hono/utils/types").JSONValue;
1005
- } | undefined;
1006
1210
  };
1007
1211
  };
1008
1212
  outputFormat: "json";
@@ -1221,6 +1425,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1221
1425
  type: "stdio";
1222
1426
  command: string;
1223
1427
  timeout?: number | undefined;
1428
+ enabled?: boolean | undefined;
1224
1429
  args?: string[] | undefined;
1225
1430
  env?: Record<string, string> | undefined;
1226
1431
  connectionMode?: "strict" | "lenient" | undefined;
@@ -1228,12 +1433,14 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1228
1433
  type: "sse";
1229
1434
  url: string;
1230
1435
  timeout?: number | undefined;
1436
+ enabled?: boolean | undefined;
1231
1437
  connectionMode?: "strict" | "lenient" | undefined;
1232
1438
  headers?: Record<string, string> | undefined;
1233
1439
  } | {
1234
1440
  type: "http";
1235
1441
  url: string;
1236
1442
  timeout?: number | undefined;
1443
+ enabled?: boolean | undefined;
1237
1444
  connectionMode?: "strict" | "lenient" | undefined;
1238
1445
  headers?: Record<string, string> | undefined;
1239
1446
  };
@@ -1412,10 +1619,10 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1412
1619
  source: "mcp" | "internal";
1413
1620
  description?: string | undefined;
1414
1621
  mimeType?: string | undefined;
1415
- name?: string | undefined;
1416
1622
  metadata?: {
1417
1623
  [x: string]: import("hono/utils/types").JSONValue;
1418
1624
  } | undefined;
1625
+ name?: string | undefined;
1419
1626
  serverName?: string | undefined;
1420
1627
  size?: number | undefined;
1421
1628
  lastModified?: string | undefined;
@@ -1475,18 +1682,29 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1475
1682
  text: string;
1476
1683
  } | {
1477
1684
  type: "image";
1478
- image?: import("hono/utils/types").JSONValue;
1685
+ image: string;
1479
1686
  mimeType?: string | undefined;
1480
1687
  } | {
1481
1688
  type: "file";
1482
1689
  mimeType: string;
1483
- data?: import("hono/utils/types").JSONValue;
1690
+ data: string;
1484
1691
  filename?: string | undefined;
1692
+ } | {
1693
+ type: "ui-resource";
1694
+ mimeType: string;
1695
+ uri: string;
1696
+ content?: string | undefined;
1697
+ blob?: string | undefined;
1698
+ metadata?: {
1699
+ title?: string | undefined;
1700
+ preferredSize?: {
1701
+ width: number;
1702
+ height: number;
1703
+ } | undefined;
1704
+ } | undefined;
1485
1705
  })[] | null;
1486
1706
  role: "system" | "user" | "assistant" | "tool";
1487
- provider?: string | undefined;
1488
- model?: string | undefined;
1489
- router?: string | undefined;
1707
+ id?: string | undefined;
1490
1708
  name?: string | undefined;
1491
1709
  timestamp?: number | undefined;
1492
1710
  reasoning?: string | undefined;
@@ -1496,6 +1714,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1496
1714
  reasoningTokens?: number | undefined;
1497
1715
  totalTokens?: number | undefined;
1498
1716
  } | undefined;
1717
+ model?: string | undefined;
1718
+ provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
1499
1719
  toolCalls?: {
1500
1720
  function: {
1501
1721
  name: string;
@@ -1505,6 +1725,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1505
1725
  id: string;
1506
1726
  }[] | undefined;
1507
1727
  toolCallId?: string | undefined;
1728
+ success?: boolean | undefined;
1508
1729
  };
1509
1730
  sessionId: string;
1510
1731
  matchedText: string;
@@ -1530,6 +1751,11 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1530
1751
  query: string;
1531
1752
  results: {
1532
1753
  sessionId: string;
1754
+ metadata: {
1755
+ createdAt: number;
1756
+ lastActivity: number;
1757
+ messageCount: number;
1758
+ };
1533
1759
  matchCount: number;
1534
1760
  firstMatch: {
1535
1761
  message: {
@@ -1538,18 +1764,29 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1538
1764
  text: string;
1539
1765
  } | {
1540
1766
  type: "image";
1541
- image?: import("hono/utils/types").JSONValue;
1767
+ image: string;
1542
1768
  mimeType?: string | undefined;
1543
1769
  } | {
1544
1770
  type: "file";
1545
1771
  mimeType: string;
1546
- data?: import("hono/utils/types").JSONValue;
1772
+ data: string;
1547
1773
  filename?: string | undefined;
1774
+ } | {
1775
+ type: "ui-resource";
1776
+ mimeType: string;
1777
+ uri: string;
1778
+ content?: string | undefined;
1779
+ blob?: string | undefined;
1780
+ metadata?: {
1781
+ title?: string | undefined;
1782
+ preferredSize?: {
1783
+ width: number;
1784
+ height: number;
1785
+ } | undefined;
1786
+ } | undefined;
1548
1787
  })[] | null;
1549
1788
  role: "system" | "user" | "assistant" | "tool";
1550
- provider?: string | undefined;
1551
- model?: string | undefined;
1552
- router?: string | undefined;
1789
+ id?: string | undefined;
1553
1790
  name?: string | undefined;
1554
1791
  timestamp?: number | undefined;
1555
1792
  reasoning?: string | undefined;
@@ -1559,6 +1796,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1559
1796
  reasoningTokens?: number | undefined;
1560
1797
  totalTokens?: number | undefined;
1561
1798
  } | undefined;
1799
+ model?: string | undefined;
1800
+ provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
1562
1801
  toolCalls?: {
1563
1802
  function: {
1564
1803
  name: string;
@@ -1568,17 +1807,13 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1568
1807
  id: string;
1569
1808
  }[] | undefined;
1570
1809
  toolCallId?: string | undefined;
1810
+ success?: boolean | undefined;
1571
1811
  };
1572
1812
  sessionId: string;
1573
1813
  matchedText: string;
1574
1814
  context: string;
1575
1815
  messageIndex: number;
1576
1816
  };
1577
- metadata: {
1578
- createdAt: number;
1579
- lastActivity: number;
1580
- messageCount: number;
1581
- };
1582
1817
  }[];
1583
1818
  total: number;
1584
1819
  hasMore: boolean;
@@ -1662,18 +1897,29 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1662
1897
  text: string;
1663
1898
  } | {
1664
1899
  type: "image";
1665
- image?: import("hono/utils/types").JSONValue;
1900
+ image: string;
1666
1901
  mimeType?: string | undefined;
1667
1902
  } | {
1668
1903
  type: "file";
1669
1904
  mimeType: string;
1670
- data?: import("hono/utils/types").JSONValue;
1905
+ data: string;
1671
1906
  filename?: string | undefined;
1907
+ } | {
1908
+ type: "ui-resource";
1909
+ mimeType: string;
1910
+ uri: string;
1911
+ content?: string | undefined;
1912
+ blob?: string | undefined;
1913
+ metadata?: {
1914
+ title?: string | undefined;
1915
+ preferredSize?: {
1916
+ width: number;
1917
+ height: number;
1918
+ } | undefined;
1919
+ } | undefined;
1672
1920
  })[] | null;
1673
1921
  role: "system" | "user" | "assistant" | "tool";
1674
- provider?: string | undefined;
1675
- model?: string | undefined;
1676
- router?: string | undefined;
1922
+ id?: string | undefined;
1677
1923
  name?: string | undefined;
1678
1924
  timestamp?: number | undefined;
1679
1925
  reasoning?: string | undefined;
@@ -1683,6 +1929,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1683
1929
  reasoningTokens?: number | undefined;
1684
1930
  totalTokens?: number | undefined;
1685
1931
  } | undefined;
1932
+ model?: string | undefined;
1933
+ provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
1686
1934
  toolCalls?: {
1687
1935
  function: {
1688
1936
  name: string;
@@ -1692,7 +1940,9 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1692
1940
  id: string;
1693
1941
  }[] | undefined;
1694
1942
  toolCallId?: string | undefined;
1943
+ success?: boolean | undefined;
1695
1944
  }[];
1945
+ isBusy: boolean;
1696
1946
  };
1697
1947
  outputFormat: "json";
1698
1948
  status: 200;
@@ -1721,10 +1971,16 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1721
1971
  param: {
1722
1972
  sessionId: string;
1723
1973
  };
1974
+ } & {
1975
+ json: {
1976
+ clearQueue?: boolean | undefined;
1977
+ };
1724
1978
  };
1725
1979
  output: {
1726
1980
  sessionId: string;
1727
1981
  cancelled: boolean;
1982
+ queueCleared: boolean;
1983
+ clearedCount: number;
1728
1984
  };
1729
1985
  outputFormat: "json";
1730
1986
  status: 200;
@@ -1744,6 +2000,7 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1744
2000
  createdAt: number | null;
1745
2001
  lastActivity: number | null;
1746
2002
  messageCount: number;
2003
+ isBusy: boolean;
1747
2004
  title?: string | null | undefined;
1748
2005
  };
1749
2006
  };
@@ -1822,10 +2079,9 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1822
2079
  };
1823
2080
  output: {
1824
2081
  config: {
1825
- provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
1826
2082
  model: string;
2083
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
1827
2084
  maxIterations?: number | undefined;
1828
- router?: "vercel" | "in-built" | undefined;
1829
2085
  baseURL?: string | undefined;
1830
2086
  maxInputTokens?: number | undefined;
1831
2087
  maxOutputTokens?: number | undefined;
@@ -1845,7 +2101,6 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1845
2101
  input: {
1846
2102
  query: {
1847
2103
  provider?: string | string[] | undefined;
1848
- router?: "vercel" | "in-built" | undefined;
1849
2104
  hasKey?: "0" | "1" | "true" | "false" | undefined;
1850
2105
  fileType?: "image" | "audio" | "pdf" | undefined;
1851
2106
  defaultOnly?: "0" | "1" | "true" | "false" | undefined;
@@ -1855,18 +2110,16 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1855
2110
  output: {
1856
2111
  providers: {
1857
2112
  openai?: {
1858
- hasApiKey: boolean;
1859
2113
  name: string;
2114
+ hasApiKey: boolean;
1860
2115
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1861
- supportedRouters: ("vercel" | "in-built")[];
1862
2116
  primaryEnvVar: string;
1863
2117
  supportsBaseURL: boolean;
1864
2118
  models: {
1865
- maxInputTokens: number;
1866
2119
  name: string;
2120
+ maxInputTokens: number;
1867
2121
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1868
2122
  default?: boolean | undefined;
1869
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1870
2123
  displayName?: string | undefined;
1871
2124
  pricing?: {
1872
2125
  inputPerM: number;
@@ -1879,18 +2132,16 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1879
2132
  }[];
1880
2133
  } | undefined;
1881
2134
  "openai-compatible"?: {
1882
- hasApiKey: boolean;
1883
2135
  name: string;
2136
+ hasApiKey: boolean;
1884
2137
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1885
- supportedRouters: ("vercel" | "in-built")[];
1886
2138
  primaryEnvVar: string;
1887
2139
  supportsBaseURL: boolean;
1888
2140
  models: {
1889
- maxInputTokens: number;
1890
2141
  name: string;
2142
+ maxInputTokens: number;
1891
2143
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1892
2144
  default?: boolean | undefined;
1893
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1894
2145
  displayName?: string | undefined;
1895
2146
  pricing?: {
1896
2147
  inputPerM: number;
@@ -1903,18 +2154,16 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1903
2154
  }[];
1904
2155
  } | undefined;
1905
2156
  anthropic?: {
1906
- hasApiKey: boolean;
1907
2157
  name: string;
2158
+ hasApiKey: boolean;
1908
2159
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1909
- supportedRouters: ("vercel" | "in-built")[];
1910
2160
  primaryEnvVar: string;
1911
2161
  supportsBaseURL: boolean;
1912
2162
  models: {
1913
- maxInputTokens: number;
1914
2163
  name: string;
2164
+ maxInputTokens: number;
1915
2165
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1916
2166
  default?: boolean | undefined;
1917
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1918
2167
  displayName?: string | undefined;
1919
2168
  pricing?: {
1920
2169
  inputPerM: number;
@@ -1927,18 +2176,16 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1927
2176
  }[];
1928
2177
  } | undefined;
1929
2178
  google?: {
1930
- hasApiKey: boolean;
1931
2179
  name: string;
2180
+ hasApiKey: boolean;
1932
2181
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1933
- supportedRouters: ("vercel" | "in-built")[];
1934
2182
  primaryEnvVar: string;
1935
2183
  supportsBaseURL: boolean;
1936
2184
  models: {
1937
- maxInputTokens: number;
1938
2185
  name: string;
2186
+ maxInputTokens: number;
1939
2187
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1940
2188
  default?: boolean | undefined;
1941
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1942
2189
  displayName?: string | undefined;
1943
2190
  pricing?: {
1944
2191
  inputPerM: number;
@@ -1951,18 +2198,16 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1951
2198
  }[];
1952
2199
  } | undefined;
1953
2200
  groq?: {
1954
- hasApiKey: boolean;
1955
2201
  name: string;
2202
+ hasApiKey: boolean;
1956
2203
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1957
- supportedRouters: ("vercel" | "in-built")[];
1958
2204
  primaryEnvVar: string;
1959
2205
  supportsBaseURL: boolean;
1960
2206
  models: {
1961
- maxInputTokens: number;
1962
2207
  name: string;
2208
+ maxInputTokens: number;
1963
2209
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1964
2210
  default?: boolean | undefined;
1965
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1966
2211
  displayName?: string | undefined;
1967
2212
  pricing?: {
1968
2213
  inputPerM: number;
@@ -1975,18 +2220,16 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1975
2220
  }[];
1976
2221
  } | undefined;
1977
2222
  xai?: {
1978
- hasApiKey: boolean;
1979
2223
  name: string;
2224
+ hasApiKey: boolean;
1980
2225
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1981
- supportedRouters: ("vercel" | "in-built")[];
1982
2226
  primaryEnvVar: string;
1983
2227
  supportsBaseURL: boolean;
1984
2228
  models: {
1985
- maxInputTokens: number;
1986
2229
  name: string;
2230
+ maxInputTokens: number;
1987
2231
  supportedFileTypes: ("image" | "audio" | "pdf")[];
1988
2232
  default?: boolean | undefined;
1989
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
1990
2233
  displayName?: string | undefined;
1991
2234
  pricing?: {
1992
2235
  inputPerM: number;
@@ -1999,18 +2242,16 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
1999
2242
  }[];
2000
2243
  } | undefined;
2001
2244
  cohere?: {
2002
- hasApiKey: boolean;
2003
2245
  name: string;
2246
+ hasApiKey: boolean;
2004
2247
  supportedFileTypes: ("image" | "audio" | "pdf")[];
2005
- supportedRouters: ("vercel" | "in-built")[];
2006
2248
  primaryEnvVar: string;
2007
2249
  supportsBaseURL: boolean;
2008
2250
  models: {
2009
- maxInputTokens: number;
2010
2251
  name: string;
2252
+ maxInputTokens: number;
2011
2253
  supportedFileTypes: ("image" | "audio" | "pdf")[];
2012
2254
  default?: boolean | undefined;
2013
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
2014
2255
  displayName?: string | undefined;
2015
2256
  pricing?: {
2016
2257
  inputPerM: number;
@@ -2025,12 +2266,11 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2025
2266
  };
2026
2267
  } | {
2027
2268
  models: {
2269
+ name: string;
2028
2270
  provider: string;
2029
2271
  maxInputTokens: number;
2030
- name: string;
2031
2272
  supportedFileTypes: ("image" | "audio" | "pdf")[];
2032
2273
  default?: boolean | undefined;
2033
- supportedRouters?: ("vercel" | "in-built")[] | undefined;
2034
2274
  displayName?: string | undefined;
2035
2275
  pricing?: {
2036
2276
  inputPerM: number;
@@ -2069,10 +2309,9 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2069
2309
  $post: {
2070
2310
  input: {
2071
2311
  json: {
2072
- apiKey?: string | undefined;
2073
2312
  model?: string | undefined;
2074
2313
  provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
2075
- router?: "vercel" | "in-built" | undefined;
2314
+ apiKey?: string | undefined;
2076
2315
  maxIterations?: number | undefined;
2077
2316
  baseURL?: string | undefined;
2078
2317
  maxInputTokens?: number | undefined;
@@ -2085,10 +2324,9 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2085
2324
  };
2086
2325
  output: {
2087
2326
  config: {
2088
- provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
2089
2327
  model: string;
2328
+ provider: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere";
2090
2329
  maxIterations: number;
2091
- router: "vercel" | "in-built";
2092
2330
  baseURL?: string | undefined;
2093
2331
  maxInputTokens?: number | undefined;
2094
2332
  maxOutputTokens?: number | undefined;
@@ -2102,22 +2340,96 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2102
2340
  status: 200;
2103
2341
  };
2104
2342
  };
2343
+ } & {
2344
+ "/llm/custom-models": {
2345
+ $get: {
2346
+ input: {};
2347
+ output: {
2348
+ models: {
2349
+ name: string;
2350
+ baseURL: string;
2351
+ displayName?: string | undefined | undefined;
2352
+ maxInputTokens?: number | undefined | undefined;
2353
+ maxOutputTokens?: number | undefined | undefined;
2354
+ }[];
2355
+ };
2356
+ outputFormat: "json";
2357
+ status: 200;
2358
+ };
2359
+ };
2360
+ } & {
2361
+ "/llm/custom-models": {
2362
+ $post: {
2363
+ input: {
2364
+ json: {
2365
+ name: string;
2366
+ baseURL: string;
2367
+ displayName?: string | undefined;
2368
+ maxInputTokens?: number | undefined;
2369
+ maxOutputTokens?: number | undefined;
2370
+ };
2371
+ };
2372
+ output: {
2373
+ model: {
2374
+ name: string;
2375
+ baseURL: string;
2376
+ displayName?: string | undefined | undefined;
2377
+ maxInputTokens?: number | undefined | undefined;
2378
+ maxOutputTokens?: number | undefined | undefined;
2379
+ };
2380
+ ok: true;
2381
+ };
2382
+ outputFormat: "json";
2383
+ status: 200;
2384
+ };
2385
+ };
2386
+ } & {
2387
+ "/llm/custom-models/:name": {
2388
+ $delete: {
2389
+ input: {
2390
+ param: {
2391
+ name: string;
2392
+ };
2393
+ };
2394
+ output: {
2395
+ ok: true;
2396
+ deleted: string;
2397
+ };
2398
+ outputFormat: "json";
2399
+ status: 200;
2400
+ } | {
2401
+ input: {
2402
+ param: {
2403
+ name: string;
2404
+ };
2405
+ };
2406
+ output: {
2407
+ ok: false;
2408
+ error: string;
2409
+ };
2410
+ outputFormat: "json";
2411
+ status: 404;
2412
+ };
2413
+ };
2105
2414
  }, "/api"> & import("hono/types").MergeSchemaPath<{
2106
2415
  "/message": {
2107
2416
  $post: {
2108
2417
  input: {
2109
2418
  json: {
2110
- sessionId: string;
2111
- message?: string | undefined;
2112
- imageData?: {
2113
- mimeType: string;
2114
- base64: string;
2115
- } | undefined;
2116
- fileData?: {
2419
+ content: string | ({
2420
+ type: "text";
2421
+ text: string;
2422
+ } | {
2423
+ type: "image";
2424
+ image: string;
2425
+ mimeType?: string | undefined;
2426
+ } | {
2427
+ type: "file";
2117
2428
  mimeType: string;
2118
- base64: string;
2429
+ data: string;
2119
2430
  filename?: string | undefined;
2120
- } | undefined;
2431
+ })[];
2432
+ sessionId: string;
2121
2433
  };
2122
2434
  };
2123
2435
  output: {
@@ -2129,17 +2441,20 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2129
2441
  } | {
2130
2442
  input: {
2131
2443
  json: {
2132
- sessionId: string;
2133
- message?: string | undefined;
2134
- imageData?: {
2135
- mimeType: string;
2136
- base64: string;
2137
- } | undefined;
2138
- fileData?: {
2444
+ content: string | ({
2445
+ type: "text";
2446
+ text: string;
2447
+ } | {
2448
+ type: "image";
2449
+ image: string;
2450
+ mimeType?: string | undefined;
2451
+ } | {
2452
+ type: "file";
2139
2453
  mimeType: string;
2140
- base64: string;
2454
+ data: string;
2141
2455
  filename?: string | undefined;
2142
- } | undefined;
2456
+ })[];
2457
+ sessionId: string;
2143
2458
  };
2144
2459
  };
2145
2460
  output: {};
@@ -2152,17 +2467,20 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2152
2467
  $post: {
2153
2468
  input: {
2154
2469
  json: {
2155
- sessionId: string;
2156
- message?: string | undefined;
2157
- imageData?: {
2158
- mimeType: string;
2159
- base64: string;
2160
- } | undefined;
2161
- fileData?: {
2470
+ content: string | ({
2471
+ type: "text";
2472
+ text: string;
2473
+ } | {
2474
+ type: "image";
2475
+ image: string;
2476
+ mimeType?: string | undefined;
2477
+ } | {
2478
+ type: "file";
2162
2479
  mimeType: string;
2163
- base64: string;
2480
+ data: string;
2164
2481
  filename?: string | undefined;
2165
- } | undefined;
2482
+ })[];
2483
+ sessionId: string;
2166
2484
  };
2167
2485
  };
2168
2486
  output: {};
@@ -2171,25 +2489,25 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2171
2489
  } | {
2172
2490
  input: {
2173
2491
  json: {
2174
- sessionId: string;
2175
- message?: string | undefined;
2176
- imageData?: {
2177
- mimeType: string;
2178
- base64: string;
2179
- } | undefined;
2180
- fileData?: {
2492
+ content: string | ({
2493
+ type: "text";
2494
+ text: string;
2495
+ } | {
2496
+ type: "image";
2497
+ image: string;
2498
+ mimeType?: string | undefined;
2499
+ } | {
2500
+ type: "file";
2181
2501
  mimeType: string;
2182
- base64: string;
2502
+ data: string;
2183
2503
  filename?: string | undefined;
2184
- } | undefined;
2504
+ })[];
2505
+ sessionId: string;
2185
2506
  };
2186
2507
  };
2187
2508
  output: {
2188
2509
  sessionId: string;
2189
2510
  response: string;
2190
- provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
2191
- model?: string | undefined;
2192
- router?: "vercel" | "in-built" | undefined;
2193
2511
  reasoning?: string | undefined;
2194
2512
  tokenUsage?: {
2195
2513
  inputTokens?: number | undefined;
@@ -2197,6 +2515,8 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2197
2515
  reasoningTokens?: number | undefined;
2198
2516
  totalTokens?: number | undefined;
2199
2517
  } | undefined;
2518
+ model?: string | undefined;
2519
+ provider?: "openai" | "openai-compatible" | "anthropic" | "google" | "groq" | "xai" | "cohere" | undefined;
2200
2520
  };
2201
2521
  outputFormat: "json";
2202
2522
  status: 200;
@@ -2223,17 +2543,20 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2223
2543
  $post: {
2224
2544
  input: {
2225
2545
  json: {
2226
- sessionId: string;
2227
- message?: string | undefined;
2228
- imageData?: {
2229
- mimeType: string;
2230
- base64: string;
2231
- } | undefined;
2232
- fileData?: {
2546
+ content: string | ({
2547
+ type: "text";
2548
+ text: string;
2549
+ } | {
2550
+ type: "image";
2551
+ image: string;
2552
+ mimeType?: string | undefined;
2553
+ } | {
2554
+ type: "file";
2233
2555
  mimeType: string;
2234
- base64: string;
2556
+ data: string;
2235
2557
  filename?: string | undefined;
2236
- } | undefined;
2558
+ })[];
2559
+ sessionId: string;
2237
2560
  };
2238
2561
  };
2239
2562
  output: Response;
@@ -2242,22 +2565,52 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2242
2565
  } | {
2243
2566
  input: {
2244
2567
  json: {
2245
- sessionId: string;
2246
- message?: string | undefined;
2247
- imageData?: {
2248
- mimeType: string;
2249
- base64: string;
2250
- } | undefined;
2251
- fileData?: {
2568
+ content: string | ({
2569
+ type: "text";
2570
+ text: string;
2571
+ } | {
2572
+ type: "image";
2573
+ image: string;
2574
+ mimeType?: string | undefined;
2575
+ } | {
2576
+ type: "file";
2252
2577
  mimeType: string;
2253
- base64: string;
2578
+ data: string;
2254
2579
  filename?: string | undefined;
2255
- } | undefined;
2580
+ })[];
2581
+ sessionId: string;
2256
2582
  };
2257
2583
  };
2258
2584
  output: {};
2259
2585
  outputFormat: string;
2260
2586
  status: 400;
2587
+ } | {
2588
+ input: {
2589
+ json: {
2590
+ content: string | ({
2591
+ type: "text";
2592
+ text: string;
2593
+ } | {
2594
+ type: "image";
2595
+ image: string;
2596
+ mimeType?: string | undefined;
2597
+ } | {
2598
+ type: "file";
2599
+ mimeType: string;
2600
+ data: string;
2601
+ filename?: string | undefined;
2602
+ })[];
2603
+ sessionId: string;
2604
+ };
2605
+ };
2606
+ output: {
2607
+ sessionId: string;
2608
+ busy: true;
2609
+ queueLength: number;
2610
+ hint: string;
2611
+ };
2612
+ outputFormat: "json";
2613
+ status: 202;
2261
2614
  };
2262
2615
  };
2263
2616
  }, "/api"> & import("hono/types").MergeSchemaPath<{
@@ -2783,4 +3136,5 @@ export declare function createDextoApp(options: CreateDextoAppOptions): OpenAPIH
2783
3136
  };
2784
3137
  }, "/health">, "/">;
2785
3138
  export type AppType = ReturnType<typeof createDextoApp>;
3139
+ export type { WebUIRuntimeConfig } from './routes/static.js';
2786
3140
  //# sourceMappingURL=index.d.ts.map