@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.
- package/dist/a2a/jsonrpc/methods.cjs +1 -1
- package/dist/a2a/jsonrpc/methods.d.ts +14 -4
- package/dist/a2a/jsonrpc/methods.d.ts.map +1 -1
- package/dist/a2a/jsonrpc/methods.js +1 -1
- package/dist/hono/index.cjs +39 -8
- package/dist/hono/index.d.ts +43 -4503
- package/dist/hono/index.d.ts.map +1 -1
- package/dist/hono/index.js +42 -9
- package/dist/hono/routes/a2a-jsonrpc.d.ts.map +1 -1
- package/dist/hono/routes/a2a-tasks.cjs +173 -34
- package/dist/hono/routes/a2a-tasks.d.ts +1 -498
- package/dist/hono/routes/a2a-tasks.d.ts.map +1 -1
- package/dist/hono/routes/a2a-tasks.js +177 -34
- package/dist/hono/routes/a2a.d.ts.map +1 -1
- package/dist/hono/routes/agents.cjs +410 -329
- package/dist/hono/routes/agents.d.ts +16048 -73
- package/dist/hono/routes/agents.d.ts.map +1 -1
- package/dist/hono/routes/agents.js +418 -330
- package/dist/hono/routes/approvals.cjs +103 -78
- package/dist/hono/routes/approvals.d.ts +2090 -112
- package/dist/hono/routes/approvals.d.ts.map +1 -1
- package/dist/hono/routes/approvals.js +108 -78
- package/dist/hono/routes/dexto-auth.cjs +40 -33
- package/dist/hono/routes/dexto-auth.d.ts +401 -2
- package/dist/hono/routes/dexto-auth.d.ts.map +1 -1
- package/dist/hono/routes/dexto-auth.js +40 -33
- package/dist/hono/routes/discovery.cjs +16 -14
- package/dist/hono/routes/discovery.d.ts +586 -1
- package/dist/hono/routes/discovery.d.ts.map +1 -1
- package/dist/hono/routes/discovery.js +16 -14
- package/dist/hono/routes/greeting.cjs +26 -22
- package/dist/hono/routes/greeting.d.ts +787 -3
- package/dist/hono/routes/greeting.d.ts.map +1 -1
- package/dist/hono/routes/greeting.js +26 -22
- package/dist/hono/routes/health.d.ts +1 -1
- package/dist/hono/routes/key.cjs +60 -52
- package/dist/hono/routes/key.d.ts +1597 -1
- package/dist/hono/routes/key.d.ts.map +1 -1
- package/dist/hono/routes/key.js +60 -52
- package/dist/hono/routes/llm.cjs +381 -348
- package/dist/hono/routes/llm.d.ts +12137 -87
- package/dist/hono/routes/llm.d.ts.map +1 -1
- package/dist/hono/routes/llm.js +385 -348
- package/dist/hono/routes/mcp.cjs +273 -212
- package/dist/hono/routes/mcp.d.ts +6605 -316
- package/dist/hono/routes/mcp.d.ts.map +1 -1
- package/dist/hono/routes/mcp.js +287 -213
- package/dist/hono/routes/memory.cjs +102 -89
- package/dist/hono/routes/memory.d.ts +5368 -4
- package/dist/hono/routes/memory.d.ts.map +1 -1
- package/dist/hono/routes/memory.js +108 -90
- package/dist/hono/routes/messages.cjs +171 -164
- package/dist/hono/routes/messages.d.ts +3899 -10
- package/dist/hono/routes/messages.d.ts.map +1 -1
- package/dist/hono/routes/messages.js +181 -165
- package/dist/hono/routes/models.cjs +106 -64
- package/dist/hono/routes/models.d.ts +2874 -1
- package/dist/hono/routes/models.d.ts.map +1 -1
- package/dist/hono/routes/models.js +108 -64
- package/dist/hono/routes/openrouter.cjs +79 -65
- package/dist/hono/routes/openrouter.d.ts +854 -1
- package/dist/hono/routes/openrouter.d.ts.map +1 -1
- package/dist/hono/routes/openrouter.js +79 -65
- package/dist/hono/routes/prompts.cjs +137 -104
- package/dist/hono/routes/prompts.d.ts +2820 -12
- package/dist/hono/routes/prompts.d.ts.map +1 -1
- package/dist/hono/routes/prompts.js +144 -105
- package/dist/hono/routes/queue.cjs +158 -132
- package/dist/hono/routes/queue.d.ts +5148 -13
- package/dist/hono/routes/queue.d.ts.map +1 -1
- package/dist/hono/routes/queue.js +168 -133
- package/dist/hono/routes/resources.cjs +65 -46
- package/dist/hono/routes/resources.d.ts +1983 -5
- package/dist/hono/routes/resources.d.ts.map +1 -1
- package/dist/hono/routes/resources.js +72 -47
- package/dist/hono/routes/schedules.cjs +233 -226
- package/dist/hono/routes/schedules.d.ts +4202 -26
- package/dist/hono/routes/schedules.d.ts.map +1 -1
- package/dist/hono/routes/schedules.js +233 -226
- package/dist/hono/routes/search.cjs +34 -30
- package/dist/hono/routes/search.d.ts +2837 -14
- package/dist/hono/routes/search.d.ts.map +1 -1
- package/dist/hono/routes/search.js +40 -31
- package/dist/hono/routes/sessions.cjs +404 -392
- package/dist/hono/routes/sessions.d.ts +16585 -30
- package/dist/hono/routes/sessions.d.ts.map +1 -1
- package/dist/hono/routes/sessions.js +408 -393
- package/dist/hono/routes/static.d.ts.map +1 -1
- package/dist/hono/routes/system-prompt.cjs +57 -61
- package/dist/hono/routes/system-prompt.d.ts +1228 -2
- package/dist/hono/routes/system-prompt.d.ts.map +1 -1
- package/dist/hono/routes/system-prompt.js +58 -62
- package/dist/hono/routes/tools.cjs +29 -34
- package/dist/hono/routes/tools.d.ts +1756 -7
- package/dist/hono/routes/tools.d.ts.map +1 -1
- package/dist/hono/routes/tools.js +33 -33
- package/dist/hono/routes/webhooks.cjs +159 -132
- package/dist/hono/routes/webhooks.d.ts +2504 -14
- package/dist/hono/routes/webhooks.d.ts.map +1 -1
- package/dist/hono/routes/webhooks.js +163 -132
- package/dist/hono/routes/workspaces.cjs +84 -79
- package/dist/hono/routes/workspaces.d.ts +2093 -2
- package/dist/hono/routes/workspaces.d.ts.map +1 -1
- package/dist/hono/routes/workspaces.js +89 -80
- package/dist/hono/schemas/responses.cjs +492 -235
- package/dist/hono/schemas/responses.d.ts +1461 -146
- package/dist/hono/schemas/responses.d.ts.map +1 -1
- package/dist/hono/schemas/responses.js +247 -9
- package/dist/hono/types.d.ts +11 -0
- package/dist/hono/types.d.ts.map +1 -1
- 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:
|
|
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:
|
|
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
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
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
|
-
|
|
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
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
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
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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
|
-
|
|
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
|
-
|
|
251
|
-
|
|
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
|
-
|
|
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 = {
|