@dexto/server 1.6.19 → 1.6.21

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 (111) hide show
  1. package/dist/a2a/jsonrpc/methods.cjs +1 -1
  2. package/dist/a2a/jsonrpc/methods.d.ts +14 -4
  3. package/dist/a2a/jsonrpc/methods.d.ts.map +1 -1
  4. package/dist/a2a/jsonrpc/methods.js +1 -1
  5. package/dist/hono/index.cjs +39 -8
  6. package/dist/hono/index.d.ts +43 -4503
  7. package/dist/hono/index.d.ts.map +1 -1
  8. package/dist/hono/index.js +42 -9
  9. package/dist/hono/routes/a2a-jsonrpc.d.ts.map +1 -1
  10. package/dist/hono/routes/a2a-tasks.cjs +173 -34
  11. package/dist/hono/routes/a2a-tasks.d.ts +1 -498
  12. package/dist/hono/routes/a2a-tasks.d.ts.map +1 -1
  13. package/dist/hono/routes/a2a-tasks.js +177 -34
  14. package/dist/hono/routes/a2a.d.ts.map +1 -1
  15. package/dist/hono/routes/agents.cjs +410 -329
  16. package/dist/hono/routes/agents.d.ts +16048 -73
  17. package/dist/hono/routes/agents.d.ts.map +1 -1
  18. package/dist/hono/routes/agents.js +418 -330
  19. package/dist/hono/routes/approvals.cjs +103 -78
  20. package/dist/hono/routes/approvals.d.ts +2090 -112
  21. package/dist/hono/routes/approvals.d.ts.map +1 -1
  22. package/dist/hono/routes/approvals.js +108 -78
  23. package/dist/hono/routes/dexto-auth.cjs +40 -33
  24. package/dist/hono/routes/dexto-auth.d.ts +401 -2
  25. package/dist/hono/routes/dexto-auth.d.ts.map +1 -1
  26. package/dist/hono/routes/dexto-auth.js +40 -33
  27. package/dist/hono/routes/discovery.cjs +16 -14
  28. package/dist/hono/routes/discovery.d.ts +586 -1
  29. package/dist/hono/routes/discovery.d.ts.map +1 -1
  30. package/dist/hono/routes/discovery.js +16 -14
  31. package/dist/hono/routes/greeting.cjs +26 -22
  32. package/dist/hono/routes/greeting.d.ts +787 -3
  33. package/dist/hono/routes/greeting.d.ts.map +1 -1
  34. package/dist/hono/routes/greeting.js +26 -22
  35. package/dist/hono/routes/health.d.ts +1 -1
  36. package/dist/hono/routes/key.cjs +60 -52
  37. package/dist/hono/routes/key.d.ts +1597 -1
  38. package/dist/hono/routes/key.d.ts.map +1 -1
  39. package/dist/hono/routes/key.js +60 -52
  40. package/dist/hono/routes/llm.cjs +381 -348
  41. package/dist/hono/routes/llm.d.ts +12137 -87
  42. package/dist/hono/routes/llm.d.ts.map +1 -1
  43. package/dist/hono/routes/llm.js +385 -348
  44. package/dist/hono/routes/mcp.cjs +273 -212
  45. package/dist/hono/routes/mcp.d.ts +6605 -316
  46. package/dist/hono/routes/mcp.d.ts.map +1 -1
  47. package/dist/hono/routes/mcp.js +287 -213
  48. package/dist/hono/routes/memory.cjs +102 -89
  49. package/dist/hono/routes/memory.d.ts +5368 -4
  50. package/dist/hono/routes/memory.d.ts.map +1 -1
  51. package/dist/hono/routes/memory.js +108 -90
  52. package/dist/hono/routes/messages.cjs +171 -164
  53. package/dist/hono/routes/messages.d.ts +3899 -10
  54. package/dist/hono/routes/messages.d.ts.map +1 -1
  55. package/dist/hono/routes/messages.js +181 -165
  56. package/dist/hono/routes/models.cjs +106 -64
  57. package/dist/hono/routes/models.d.ts +2874 -1
  58. package/dist/hono/routes/models.d.ts.map +1 -1
  59. package/dist/hono/routes/models.js +108 -64
  60. package/dist/hono/routes/openrouter.cjs +79 -65
  61. package/dist/hono/routes/openrouter.d.ts +854 -1
  62. package/dist/hono/routes/openrouter.d.ts.map +1 -1
  63. package/dist/hono/routes/openrouter.js +79 -65
  64. package/dist/hono/routes/prompts.cjs +137 -104
  65. package/dist/hono/routes/prompts.d.ts +2820 -12
  66. package/dist/hono/routes/prompts.d.ts.map +1 -1
  67. package/dist/hono/routes/prompts.js +144 -105
  68. package/dist/hono/routes/queue.cjs +158 -132
  69. package/dist/hono/routes/queue.d.ts +5148 -13
  70. package/dist/hono/routes/queue.d.ts.map +1 -1
  71. package/dist/hono/routes/queue.js +168 -133
  72. package/dist/hono/routes/resources.cjs +65 -46
  73. package/dist/hono/routes/resources.d.ts +1983 -5
  74. package/dist/hono/routes/resources.d.ts.map +1 -1
  75. package/dist/hono/routes/resources.js +72 -47
  76. package/dist/hono/routes/schedules.cjs +233 -226
  77. package/dist/hono/routes/schedules.d.ts +4202 -26
  78. package/dist/hono/routes/schedules.d.ts.map +1 -1
  79. package/dist/hono/routes/schedules.js +233 -226
  80. package/dist/hono/routes/search.cjs +34 -30
  81. package/dist/hono/routes/search.d.ts +2837 -14
  82. package/dist/hono/routes/search.d.ts.map +1 -1
  83. package/dist/hono/routes/search.js +40 -31
  84. package/dist/hono/routes/sessions.cjs +404 -392
  85. package/dist/hono/routes/sessions.d.ts +16585 -30
  86. package/dist/hono/routes/sessions.d.ts.map +1 -1
  87. package/dist/hono/routes/sessions.js +408 -393
  88. package/dist/hono/routes/static.d.ts.map +1 -1
  89. package/dist/hono/routes/system-prompt.cjs +57 -61
  90. package/dist/hono/routes/system-prompt.d.ts +1228 -2
  91. package/dist/hono/routes/system-prompt.d.ts.map +1 -1
  92. package/dist/hono/routes/system-prompt.js +58 -62
  93. package/dist/hono/routes/tools.cjs +29 -34
  94. package/dist/hono/routes/tools.d.ts +1756 -7
  95. package/dist/hono/routes/tools.d.ts.map +1 -1
  96. package/dist/hono/routes/tools.js +33 -33
  97. package/dist/hono/routes/webhooks.cjs +159 -132
  98. package/dist/hono/routes/webhooks.d.ts +2504 -14
  99. package/dist/hono/routes/webhooks.d.ts.map +1 -1
  100. package/dist/hono/routes/webhooks.js +163 -132
  101. package/dist/hono/routes/workspaces.cjs +84 -79
  102. package/dist/hono/routes/workspaces.d.ts +2093 -2
  103. package/dist/hono/routes/workspaces.d.ts.map +1 -1
  104. package/dist/hono/routes/workspaces.js +89 -80
  105. package/dist/hono/schemas/responses.cjs +492 -235
  106. package/dist/hono/schemas/responses.d.ts +1461 -146
  107. package/dist/hono/schemas/responses.d.ts.map +1 -1
  108. package/dist/hono/schemas/responses.js +247 -9
  109. package/dist/hono/types.d.ts +11 -0
  110. package/dist/hono/types.d.ts.map +1 -1
  111. package/package.json +7 -7
@@ -23,9 +23,12 @@ __export(approvals_exports, {
23
23
  module.exports = __toCommonJS(approvals_exports);
24
24
  var import_zod_openapi = require("@hono/zod-openapi");
25
25
  var import_core = require("@dexto/core");
26
+ var import_responses = require("../schemas/responses.js");
26
27
  const ApprovalBodySchema = import_zod_openapi.z.object({
27
28
  status: import_zod_openapi.z.enum([import_core.ApprovalStatus.APPROVED, import_core.ApprovalStatus.DENIED, import_core.ApprovalStatus.CANCELLED]).describe("The user decision"),
28
- formData: import_zod_openapi.z.record(import_zod_openapi.z.unknown()).optional().describe("Optional form data provided by the user (for elicitation)"),
29
+ formData: import_responses.JsonObjectSchema.optional().describe(
30
+ "Optional form data provided by the user (for elicitation)"
31
+ ),
29
32
  rememberChoice: import_zod_openapi.z.boolean().optional().describe("Whether to remember this choice for future requests"),
30
33
  rememberPattern: import_zod_openapi.z.string().optional().describe("Optional approval pattern to remember for future requests"),
31
34
  rememberDirectory: import_zod_openapi.z.boolean().optional().describe("Whether to remember the approved directory for future requests"),
@@ -110,91 +113,111 @@ const PendingApprovalSchema = import_zod_openapi.z.object({
110
113
  sessionId: import_zod_openapi.z.string().optional().describe("The session ID if applicable"),
111
114
  timeout: import_zod_openapi.z.number().optional().describe("Timeout in milliseconds"),
112
115
  timestamp: import_zod_openapi.z.string().describe("ISO timestamp when the request was created"),
113
- metadata: import_zod_openapi.z.record(import_zod_openapi.z.unknown()).describe("Type-specific metadata")
116
+ metadata: import_responses.JsonObjectSchema.describe("Type-specific metadata for the pending approval")
114
117
  }).describe("A pending approval request");
115
118
  const PendingApprovalsResponseSchema = import_zod_openapi.z.object({
116
119
  ok: import_zod_openapi.z.literal(true).describe("Success indicator"),
117
120
  approvals: import_zod_openapi.z.array(PendingApprovalSchema).describe("List of pending approval requests")
118
121
  }).describe("Response containing pending approval requests");
119
- function createApprovalsRouter(getAgent, approvalCoordinator) {
120
- const app = new import_zod_openapi.OpenAPIHono();
121
- const getPendingApprovalsRoute = (0, import_zod_openapi.createRoute)({
122
- method: "get",
123
- path: "/approvals",
124
- summary: "Get Pending Approvals",
125
- description: "Fetch all pending approval requests for a session. Use this to restore UI state after page refresh.",
126
- tags: ["approvals"],
127
- request: {
128
- query: import_zod_openapi.z.object({
129
- sessionId: import_zod_openapi.z.string().describe("The session ID to fetch pending approvals for")
130
- })
131
- },
132
- responses: {
133
- 200: {
134
- description: "List of pending approval requests",
135
- content: {
136
- "application/json": {
137
- schema: PendingApprovalsResponseSchema
138
- }
122
+ const GetPendingApprovalsQuerySchema = import_zod_openapi.z.object({
123
+ sessionId: import_zod_openapi.z.string().describe("The session ID to fetch pending approvals for")
124
+ }).describe("Query parameters for fetching pending approvals");
125
+ const ApprovalIdParamSchema = import_zod_openapi.z.object({
126
+ approvalId: import_zod_openapi.z.string().describe("The ID of the approval request")
127
+ }).describe("Approval identifier params");
128
+ const ApprovalHeadersSchema = import_zod_openapi.z.object({
129
+ "Idempotency-Key": import_zod_openapi.z.string().optional().describe("Optional key to ensure idempotent processing")
130
+ }).describe("Approval request headers");
131
+ const getPendingApprovalsRoute = (0, import_zod_openapi.createRoute)({
132
+ method: "get",
133
+ path: "/approvals",
134
+ summary: "Get Pending Approvals",
135
+ description: "Fetch all pending approval requests for a session. Use this to restore UI state after page refresh.",
136
+ tags: ["approvals"],
137
+ request: {
138
+ query: GetPendingApprovalsQuerySchema
139
+ },
140
+ responses: {
141
+ 200: {
142
+ description: "List of pending approval requests",
143
+ content: {
144
+ "application/json": {
145
+ schema: PendingApprovalsResponseSchema
139
146
  }
140
147
  }
141
- }
142
- });
143
- const submitApprovalRoute = (0, import_zod_openapi.createRoute)({
144
- method: "post",
145
- path: "/approvals/{approvalId}",
146
- summary: "Submit Approval Decision",
147
- description: "Submit a user decision for a pending approval request",
148
- tags: ["approvals"],
149
- request: {
150
- params: import_zod_openapi.z.object({
151
- approvalId: import_zod_openapi.z.string().describe("The ID of the approval request")
152
- }),
153
- body: {
154
- content: { "application/json": { schema: ApprovalBodySchema } }
155
- },
156
- headers: import_zod_openapi.z.object({
157
- "Idempotency-Key": import_zod_openapi.z.string().optional().describe("Optional key to ensure idempotent processing")
158
- })
159
148
  },
160
- responses: {
161
- 200: {
162
- description: "Approval processed successfully",
163
- content: {
164
- "application/json": {
165
- schema: ApprovalResponseSchema
166
- }
149
+ 400: import_responses.BadRequestErrorResponse,
150
+ 500: import_responses.InternalErrorResponse
151
+ }
152
+ });
153
+ const submitApprovalRoute = (0, import_zod_openapi.createRoute)({
154
+ method: "post",
155
+ path: "/approvals/{approvalId}",
156
+ summary: "Submit Approval Decision",
157
+ description: "Submit a user decision for a pending approval request",
158
+ tags: ["approvals"],
159
+ request: {
160
+ params: ApprovalIdParamSchema,
161
+ body: {
162
+ content: { "application/json": { schema: ApprovalBodySchema } }
163
+ },
164
+ headers: ApprovalHeadersSchema
165
+ },
166
+ responses: {
167
+ 200: {
168
+ description: "Approval processed successfully",
169
+ content: {
170
+ "application/json": {
171
+ schema: ApprovalResponseSchema
167
172
  }
168
- },
169
- 404: {
170
- description: "Approval request not found or expired"
171
- },
172
- 400: {
173
- description: "Validation error"
174
- },
175
- 503: {
176
- description: "Approval coordinator unavailable (server not initialized for approvals)"
177
173
  }
174
+ },
175
+ 404: {
176
+ description: "Approval request not found or expired",
177
+ content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
178
+ },
179
+ 400: {
180
+ description: "Validation error",
181
+ content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
182
+ },
183
+ 503: {
184
+ description: "Approval coordinator unavailable (server not initialized for approvals)",
185
+ content: { "application/json": { schema: ApprovalResponseSchema } }
186
+ },
187
+ 500: {
188
+ description: "Approval processing failed",
189
+ content: { "application/json": { schema: ApprovalResponseSchema } }
178
190
  }
179
- });
180
- return app.openapi(getPendingApprovalsRoute, async (ctx) => {
191
+ }
192
+ });
193
+ function mountApprovalsSubrouter(app, router) {
194
+ app.route("/", router);
195
+ }
196
+ function createApprovalsRouter(getAgent, approvalCoordinator) {
197
+ const app = new import_zod_openapi.OpenAPIHono();
198
+ const getPendingApprovalsRouter = new import_zod_openapi.OpenAPIHono();
199
+ getPendingApprovalsRouter.openapi(getPendingApprovalsRoute, async (ctx) => {
181
200
  const agent = await getAgent(ctx);
182
201
  const { sessionId } = ctx.req.valid("query");
183
202
  agent.logger.debug(`Fetching pending approvals for session ${sessionId}`);
184
- const pendingIds = agent.services.approvalManager.getPendingApprovals();
185
- const approvals = pendingIds.map((approvalId) => ({
186
- approvalId,
187
- type: "tool_confirmation",
188
- // Default type
189
- sessionId,
190
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
191
- metadata: {}
203
+ const approvals = agent.services.approvalManager.getPendingApprovalRequests().filter((approvalRequest) => approvalRequest.sessionId === sessionId).map((approvalRequest) => ({
204
+ approvalId: approvalRequest.approvalId,
205
+ type: approvalRequest.type,
206
+ sessionId: approvalRequest.sessionId,
207
+ timeout: approvalRequest.timeout,
208
+ timestamp: approvalRequest.timestamp.toISOString(),
209
+ metadata: import_responses.JsonObjectSchema.parse(approvalRequest.metadata)
192
210
  }));
193
- return ctx.json({
194
- ok: true,
195
- approvals
196
- });
197
- }).openapi(submitApprovalRoute, async (ctx) => {
211
+ return ctx.json(
212
+ {
213
+ ok: true,
214
+ approvals
215
+ },
216
+ 200
217
+ );
218
+ });
219
+ const submitApprovalRouter = new import_zod_openapi.OpenAPIHono();
220
+ submitApprovalRouter.openapi(submitApprovalRoute, async (ctx) => {
198
221
  const agent = await getAgent(ctx);
199
222
  const { approvalId } = ctx.req.valid("param");
200
223
  const {
@@ -209,7 +232,8 @@ function createApprovalsRouter(getAgent, approvalCoordinator) {
209
232
  agent.logger.info(`Received approval decision for ${approvalId}: ${status}`);
210
233
  if (!approvalCoordinator) {
211
234
  agent.logger.error("ApprovalCoordinator not available");
212
- return ctx.json({ ok: false, approvalId, status }, 503);
235
+ const response = { ok: false, approvalId, status };
236
+ return ctx.json(response, 503);
213
237
  }
214
238
  const pendingApprovals = agent.services.approvalManager.getPendingApprovals();
215
239
  if (!pendingApprovals.includes(approvalId)) {
@@ -247,16 +271,17 @@ function createApprovalsRouter(getAgent, approvalCoordinator) {
247
271
  ...Object.keys(data).length > 0 ? { data } : {}
248
272
  };
249
273
  approvalCoordinator.emitResponse(responsePayload);
250
- return ctx.json({
251
- ok: true,
252
- approvalId,
253
- status
254
- });
274
+ const response = { ok: true, approvalId, status };
275
+ return ctx.json(response, 200);
255
276
  } catch (error) {
256
277
  agent.logger.error("Error processing approval", { approvalId, error });
257
- return ctx.json({ ok: false, approvalId, status }, 500);
278
+ const response = { ok: false, approvalId, status };
279
+ return ctx.json(response, 500);
258
280
  }
259
281
  });
282
+ mountApprovalsSubrouter(app, getPendingApprovalsRouter);
283
+ mountApprovalsSubrouter(app, submitApprovalRouter);
284
+ return app;
260
285
  }
261
286
  // Annotate the CommonJS export names for ESM import in node:
262
287
  0 && (module.exports = {