@dexto/server 1.6.20 → 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 -4531
  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 +158 -32
  11. package/dist/hono/routes/a2a-tasks.d.ts +1 -502
  12. package/dist/hono/routes/a2a-tasks.d.ts.map +1 -1
  13. package/dist/hono/routes/a2a-tasks.js +162 -32
  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 +16043 -68
  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 +102 -88
  20. package/dist/hono/routes/approvals.d.ts +2089 -142
  21. package/dist/hono/routes/approvals.d.ts.map +1 -1
  22. package/dist/hono/routes/approvals.js +108 -89
  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 +12136 -86
  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 +257 -226
  45. package/dist/hono/routes/mcp.d.ts +6605 -309
  46. package/dist/hono/routes/mcp.d.ts.map +1 -1
  47. package/dist/hono/routes/mcp.js +263 -225
  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 +147 -139
  53. package/dist/hono/routes/messages.d.ts +3900 -11
  54. package/dist/hono/routes/messages.d.ts.map +1 -1
  55. package/dist/hono/routes/messages.js +150 -139
  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 +136 -109
  65. package/dist/hono/routes/prompts.d.ts +2818 -10
  66. package/dist/hono/routes/prompts.d.ts.map +1 -1
  67. package/dist/hono/routes/prompts.js +138 -109
  68. package/dist/hono/routes/queue.cjs +133 -120
  69. package/dist/hono/routes/queue.d.ts +5144 -9
  70. package/dist/hono/routes/queue.d.ts.map +1 -1
  71. package/dist/hono/routes/queue.js +136 -120
  72. package/dist/hono/routes/resources.cjs +65 -46
  73. package/dist/hono/routes/resources.d.ts +1982 -4
  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 +4198 -22
  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 +2835 -12
  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 +403 -396
  85. package/dist/hono/routes/sessions.d.ts +16582 -27
  86. package/dist/hono/routes/sessions.d.ts.map +1 -1
  87. package/dist/hono/routes/sessions.js +407 -397
  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 +1755 -6
  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 +115 -123
  98. package/dist/hono/routes/webhooks.d.ts +2501 -11
  99. package/dist/hono/routes/webhooks.d.ts.map +1 -1
  100. package/dist/hono/routes/webhooks.js +120 -124
  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 +406 -259
  106. package/dist/hono/schemas/responses.d.ts +1246 -123
  107. package/dist/hono/schemas/responses.d.ts.map +1 -1
  108. package/dist/hono/schemas/responses.js +144 -10
  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
@@ -26,7 +26,9 @@ var import_core = require("@dexto/core");
26
26
  var import_responses = require("../schemas/responses.js");
27
27
  const ApprovalBodySchema = import_zod_openapi.z.object({
28
28
  status: import_zod_openapi.z.enum([import_core.ApprovalStatus.APPROVED, import_core.ApprovalStatus.DENIED, import_core.ApprovalStatus.CANCELLED]).describe("The user decision"),
29
- 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
+ ),
30
32
  rememberChoice: import_zod_openapi.z.boolean().optional().describe("Whether to remember this choice for future requests"),
31
33
  rememberPattern: import_zod_openapi.z.string().optional().describe("Optional approval pattern to remember for future requests"),
32
34
  rememberDirectory: import_zod_openapi.z.boolean().optional().describe("Whether to remember the approved directory for future requests"),
@@ -111,98 +113,111 @@ const PendingApprovalSchema = import_zod_openapi.z.object({
111
113
  sessionId: import_zod_openapi.z.string().optional().describe("The session ID if applicable"),
112
114
  timeout: import_zod_openapi.z.number().optional().describe("Timeout in milliseconds"),
113
115
  timestamp: import_zod_openapi.z.string().describe("ISO timestamp when the request was created"),
114
- 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")
115
117
  }).describe("A pending approval request");
116
118
  const PendingApprovalsResponseSchema = import_zod_openapi.z.object({
117
119
  ok: import_zod_openapi.z.literal(true).describe("Success indicator"),
118
120
  approvals: import_zod_openapi.z.array(PendingApprovalSchema).describe("List of pending approval requests")
119
121
  }).describe("Response containing pending approval requests");
120
- function createApprovalsRouter(getAgent, approvalCoordinator) {
121
- const app = new import_zod_openapi.OpenAPIHono();
122
- const getPendingApprovalsRoute = (0, import_zod_openapi.createRoute)({
123
- method: "get",
124
- path: "/approvals",
125
- summary: "Get Pending Approvals",
126
- description: "Fetch all pending approval requests for a session. Use this to restore UI state after page refresh.",
127
- tags: ["approvals"],
128
- request: {
129
- query: import_zod_openapi.z.object({
130
- sessionId: import_zod_openapi.z.string().describe("The session ID to fetch pending approvals for")
131
- })
132
- },
133
- responses: {
134
- 200: {
135
- description: "List of pending approval requests",
136
- content: {
137
- "application/json": {
138
- schema: PendingApprovalsResponseSchema
139
- }
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
140
146
  }
141
147
  }
142
- }
143
- });
144
- const submitApprovalRoute = (0, import_zod_openapi.createRoute)({
145
- method: "post",
146
- path: "/approvals/{approvalId}",
147
- summary: "Submit Approval Decision",
148
- description: "Submit a user decision for a pending approval request",
149
- tags: ["approvals"],
150
- request: {
151
- params: import_zod_openapi.z.object({
152
- approvalId: import_zod_openapi.z.string().describe("The ID of the approval request")
153
- }),
154
- body: {
155
- content: { "application/json": { schema: ApprovalBodySchema } }
156
- },
157
- headers: import_zod_openapi.z.object({
158
- "Idempotency-Key": import_zod_openapi.z.string().optional().describe("Optional key to ensure idempotent processing")
159
- })
160
148
  },
161
- responses: {
162
- 200: {
163
- description: "Approval processed successfully",
164
- content: {
165
- "application/json": {
166
- schema: ApprovalResponseSchema
167
- }
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
168
172
  }
169
- },
170
- 404: {
171
- description: "Approval request not found or expired",
172
- content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
173
- },
174
- 400: {
175
- description: "Validation error",
176
- content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
177
- },
178
- 503: {
179
- description: "Approval coordinator unavailable (server not initialized for approvals)",
180
- content: { "application/json": { schema: ApprovalResponseSchema } }
181
- },
182
- 500: {
183
- description: "Approval processing failed",
184
- content: { "application/json": { schema: ApprovalResponseSchema } }
185
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 } }
186
190
  }
187
- });
188
- 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) => {
189
200
  const agent = await getAgent(ctx);
190
201
  const { sessionId } = ctx.req.valid("query");
191
202
  agent.logger.debug(`Fetching pending approvals for session ${sessionId}`);
192
- const pendingIds = agent.services.approvalManager.getPendingApprovals();
193
- const approvals = pendingIds.map((approvalId) => ({
194
- approvalId,
195
- type: "tool_confirmation",
196
- // Default type
197
- sessionId,
198
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
199
- 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)
200
210
  }));
201
- return ctx.json({
202
- ok: true,
203
- approvals
204
- });
205
- }).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) => {
206
221
  const agent = await getAgent(ctx);
207
222
  const { approvalId } = ctx.req.valid("param");
208
223
  const {
@@ -217,7 +232,8 @@ function createApprovalsRouter(getAgent, approvalCoordinator) {
217
232
  agent.logger.info(`Received approval decision for ${approvalId}: ${status}`);
218
233
  if (!approvalCoordinator) {
219
234
  agent.logger.error("ApprovalCoordinator not available");
220
- return ctx.json({ ok: false, approvalId, status }, 503);
235
+ const response = { ok: false, approvalId, status };
236
+ return ctx.json(response, 503);
221
237
  }
222
238
  const pendingApprovals = agent.services.approvalManager.getPendingApprovals();
223
239
  if (!pendingApprovals.includes(approvalId)) {
@@ -255,19 +271,17 @@ function createApprovalsRouter(getAgent, approvalCoordinator) {
255
271
  ...Object.keys(data).length > 0 ? { data } : {}
256
272
  };
257
273
  approvalCoordinator.emitResponse(responsePayload);
258
- return ctx.json(
259
- {
260
- ok: true,
261
- approvalId,
262
- status
263
- },
264
- 200
265
- );
274
+ const response = { ok: true, approvalId, status };
275
+ return ctx.json(response, 200);
266
276
  } catch (error) {
267
277
  agent.logger.error("Error processing approval", { approvalId, error });
268
- return ctx.json({ ok: false, approvalId, status }, 500);
278
+ const response = { ok: false, approvalId, status };
279
+ return ctx.json(response, 500);
269
280
  }
270
281
  });
282
+ mountApprovalsSubrouter(app, getPendingApprovalsRouter);
283
+ mountApprovalsSubrouter(app, submitApprovalRouter);
284
+ return app;
271
285
  }
272
286
  // Annotate the CommonJS export names for ESM import in node:
273
287
  0 && (module.exports = {