@polpo-ai/server 0.15.144 → 0.16.1
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/deps.d.ts +8 -5
- package/dist/deps.d.ts.map +1 -1
- package/dist/deps.js +0 -7
- package/dist/deps.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/routes/agent-revisions.test.d.ts +2 -0
- package/dist/routes/agent-revisions.test.d.ts.map +1 -0
- package/dist/routes/agent-revisions.test.js +118 -0
- package/dist/routes/agent-revisions.test.js.map +1 -0
- package/dist/routes/agents.d.ts +3 -0
- package/dist/routes/agents.d.ts.map +1 -1
- package/dist/routes/agents.js +88 -8
- package/dist/routes/agents.js.map +1 -1
- package/dist/routes/approvals.d.ts.map +1 -1
- package/dist/routes/approvals.js +22 -2
- package/dist/routes/approvals.js.map +1 -1
- package/dist/routes/completions/agent-step-runner.d.ts.map +1 -1
- package/dist/routes/completions/agent-step-runner.js +1 -1
- package/dist/routes/completions/agent-step-runner.js.map +1 -1
- package/dist/routes/completions/agent-step-runner.test.js +3 -1
- package/dist/routes/completions/agent-step-runner.test.js.map +1 -1
- package/dist/routes/completions/chat-handler.d.ts +1 -0
- package/dist/routes/completions/chat-handler.d.ts.map +1 -1
- package/dist/routes/completions/chat-handler.js.map +1 -1
- package/dist/routes/completions/chat-interaction-runtime.d.ts +5 -2
- package/dist/routes/completions/chat-interaction-runtime.d.ts.map +1 -1
- package/dist/routes/completions/chat-interaction-runtime.js +52 -2
- package/dist/routes/completions/chat-interaction-runtime.js.map +1 -1
- package/dist/routes/completions/chat-suggestions.d.ts +3 -1
- package/dist/routes/completions/chat-suggestions.d.ts.map +1 -1
- package/dist/routes/completions/chat-suggestions.js +19 -6
- package/dist/routes/completions/chat-suggestions.js.map +1 -1
- package/dist/routes/completions/chat-suggestions.test.js +26 -0
- package/dist/routes/completions/chat-suggestions.test.js.map +1 -1
- package/dist/routes/completions/chat-via-run-handler.d.ts +2 -0
- package/dist/routes/completions/chat-via-run-handler.d.ts.map +1 -1
- package/dist/routes/completions/chat-via-run-handler.js +7 -1
- package/dist/routes/completions/chat-via-run-handler.js.map +1 -1
- package/dist/routes/completions/conversation-turn.d.ts +3 -1
- package/dist/routes/completions/conversation-turn.d.ts.map +1 -1
- package/dist/routes/completions/conversation-turn.js +32 -10
- package/dist/routes/completions/conversation-turn.js.map +1 -1
- package/dist/routes/completions/project-loop-runner.d.ts +6 -7
- package/dist/routes/completions/project-loop-runner.d.ts.map +1 -1
- package/dist/routes/completions/project-loop-runner.js +57 -8
- package/dist/routes/completions/project-loop-runner.js.map +1 -1
- package/dist/routes/completions/schemas.d.ts +14 -4
- package/dist/routes/completions/schemas.d.ts.map +1 -1
- package/dist/routes/completions/schemas.js +15 -6
- package/dist/routes/completions/schemas.js.map +1 -1
- package/dist/routes/completions/skill-activation-runtime.test.js +1 -1
- package/dist/routes/completions/skill-activation-runtime.test.js.map +1 -1
- package/dist/routes/completions-agent-lifetime.test.d.ts +2 -0
- package/dist/routes/completions-agent-lifetime.test.d.ts.map +1 -0
- package/dist/routes/completions-agent-lifetime.test.js +97 -0
- package/dist/routes/completions-agent-lifetime.test.js.map +1 -0
- package/dist/routes/completions-loop-suggestions.test.d.ts +2 -0
- package/dist/routes/completions-loop-suggestions.test.d.ts.map +1 -0
- package/dist/routes/completions-loop-suggestions.test.js +164 -0
- package/dist/routes/completions-loop-suggestions.test.js.map +1 -0
- package/dist/routes/completions.d.ts +4 -1
- package/dist/routes/completions.d.ts.map +1 -1
- package/dist/routes/completions.js +1 -0
- package/dist/routes/completions.js.map +1 -1
- package/dist/routes/connect-callback.d.ts +5 -0
- package/dist/routes/connect-callback.d.ts.map +1 -0
- package/dist/routes/connect-callback.js +30 -0
- package/dist/routes/connect-callback.js.map +1 -0
- package/dist/routes/connect-callback.test.d.ts +2 -0
- package/dist/routes/connect-callback.test.d.ts.map +1 -0
- package/dist/routes/connect-callback.test.js +52 -0
- package/dist/routes/connect-callback.test.js.map +1 -0
- package/dist/routes/connect.d.ts.map +1 -1
- package/dist/routes/connect.js +161 -5
- package/dist/routes/connect.js.map +1 -1
- package/dist/routes/connect.test.js +171 -2
- package/dist/routes/connect.test.js.map +1 -1
- package/dist/routes/missions.d.ts +3 -2
- package/dist/routes/missions.d.ts.map +1 -1
- package/dist/routes/missions.js +47 -16
- package/dist/routes/missions.js.map +1 -1
- package/dist/routes/missions.test.d.ts +2 -0
- package/dist/routes/missions.test.d.ts.map +1 -0
- package/dist/routes/missions.test.js +88 -0
- package/dist/routes/missions.test.js.map +1 -0
- package/dist/routes/queued-metadata.test.d.ts +2 -0
- package/dist/routes/queued-metadata.test.d.ts.map +1 -0
- package/dist/routes/queued-metadata.test.js +29 -0
- package/dist/routes/queued-metadata.test.js.map +1 -0
- package/dist/routes/task-cancellation.test.d.ts +2 -0
- package/dist/routes/task-cancellation.test.d.ts.map +1 -0
- package/dist/routes/task-cancellation.test.js +58 -0
- package/dist/routes/task-cancellation.test.js.map +1 -0
- package/dist/routes/tasks.d.ts +2 -1
- package/dist/routes/tasks.d.ts.map +1 -1
- package/dist/routes/tasks.js +42 -6
- package/dist/routes/tasks.js.map +1 -1
- package/dist/schemas.d.ts +41 -3
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +12 -4
- package/dist/schemas.js.map +1 -1
- package/dist/schemas.test.js +18 -4
- package/dist/schemas.test.js.map +1 -1
- package/package.json +7 -7
package/dist/routes/connect.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
|
|
2
|
-
import { ConnectError } from "@polpo-ai/connect";
|
|
2
|
+
import { ConnectError, sanitizeConnectorProvider } from "@polpo-ai/connect";
|
|
3
|
+
import { ConnectionSelectionError } from "@polpo-ai/core";
|
|
3
4
|
const subjectSchema = z.object({
|
|
4
5
|
type: z.enum(["user", "project", "org", "agent", "service"]),
|
|
5
6
|
id: z.string().min(1),
|
|
@@ -13,7 +14,7 @@ const ownerSchema = z.union([
|
|
|
13
14
|
}),
|
|
14
15
|
]);
|
|
15
16
|
const connectionBindingSchema = z.object({
|
|
16
|
-
principal: z.object({ type: z.string().min(1), id: z.string().min(1) }).optional(),
|
|
17
|
+
principal: z.object({ type: z.string().min(1), id: z.string().min(1), namespace: z.string().min(1).optional() }).strict().optional(),
|
|
17
18
|
tenant: z.object({ namespace: z.string().min(1), id: z.string().min(1) }).optional(),
|
|
18
19
|
resource: z.object({
|
|
19
20
|
namespace: z.string().min(1),
|
|
@@ -24,16 +25,43 @@ const connectionBindingSchema = z.object({
|
|
|
24
25
|
});
|
|
25
26
|
const createApiKeyConnectionBody = z.object({
|
|
26
27
|
providerId: z.string().min(1),
|
|
28
|
+
authenticationId: z.string().min(1).max(64).optional(),
|
|
27
29
|
apiKey: z.string().min(1),
|
|
28
30
|
scopes: z.array(z.string()).optional(),
|
|
29
|
-
subject:
|
|
31
|
+
subject: ownerSchema.optional(),
|
|
32
|
+
audience: z.enum(["personal", "shared", "end_user"]).optional(),
|
|
33
|
+
binding: connectionBindingSchema.optional(),
|
|
30
34
|
name: z.string().optional(),
|
|
31
35
|
projectId: z.string().optional(),
|
|
32
36
|
orgId: z.string().optional(),
|
|
33
37
|
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
34
38
|
});
|
|
39
|
+
const inspectMcpBody = z.object({
|
|
40
|
+
url: z.string().url(),
|
|
41
|
+
transport: z.enum(["http", "sse"]).optional(),
|
|
42
|
+
});
|
|
43
|
+
const createMcpBody = createApiKeyConnectionBody.omit({ apiKey: true }).extend({
|
|
44
|
+
providerId: z.string().min(1).optional(),
|
|
45
|
+
...inspectMcpBody.shape,
|
|
46
|
+
auth: z.enum(["none", "bearer", "header"]).optional(),
|
|
47
|
+
headerName: z.string().min(1).optional(),
|
|
48
|
+
apiKey: z.string().min(1).optional(),
|
|
49
|
+
bearerToken: z.string().min(1).optional(),
|
|
50
|
+
});
|
|
51
|
+
const startMcpOAuthBody = createMcpBody.omit({ auth: true, apiKey: true, bearerToken: true, headerName: true }).extend({
|
|
52
|
+
redirectUri: z.string().url(),
|
|
53
|
+
mode: z.enum(["dynamic", "pre_registered", "metadata_document"]),
|
|
54
|
+
clientName: z.string().min(1).optional(),
|
|
55
|
+
clientUri: z.string().url().optional(),
|
|
56
|
+
clientMetadataUrl: z.string().url().optional(),
|
|
57
|
+
preRegisteredClient: z.object({ client_id: z.string().min(1), client_secret: z.string().optional(),
|
|
58
|
+
client_id_issued_at: z.number().optional(), client_secret_expires_at: z.number().optional(),
|
|
59
|
+
}).passthrough().optional(),
|
|
60
|
+
});
|
|
35
61
|
const startOAuthBody = z.object({
|
|
36
62
|
providerId: z.string().min(1),
|
|
63
|
+
authenticationId: z.string().min(1).max(64).optional(),
|
|
64
|
+
oauthClientMode: z.enum(["managed", "customer", "instance"]).optional(),
|
|
37
65
|
scopes: z.array(z.string()).optional(),
|
|
38
66
|
subject: subjectSchema.optional(),
|
|
39
67
|
redirectUri: z.string().url(),
|
|
@@ -56,6 +84,8 @@ const getTokenBody = z.object({
|
|
|
56
84
|
}).optional();
|
|
57
85
|
const createSetupSessionBody = z.object({
|
|
58
86
|
providerId: z.string().min(1),
|
|
87
|
+
authenticationId: z.string().min(1).max(64).optional(),
|
|
88
|
+
configurationId: z.string().min(1).max(256).optional(),
|
|
59
89
|
projectId: z.string().min(1),
|
|
60
90
|
orgId: z.string().min(1).optional(),
|
|
61
91
|
audience: z.enum(["personal", "shared", "end_user"]),
|
|
@@ -112,7 +142,66 @@ export function connectRoutes(getDeps) {
|
|
|
112
142
|
200: { content: { "application/json": { schema: okAnySchema } }, description: "Connector providers" },
|
|
113
143
|
501: { content: { "application/json": { schema: errorSchema } }, description: "Connect service unavailable" },
|
|
114
144
|
},
|
|
115
|
-
}), async (c) => withConnect(c, getDeps, async (service) => c.json({
|
|
145
|
+
}), async (c) => withConnect(c, getDeps, async (service) => c.json({
|
|
146
|
+
ok: true, data: service.listProviders().map(sanitizeConnectorProvider),
|
|
147
|
+
}, 200)));
|
|
148
|
+
openapi(createRoute({
|
|
149
|
+
method: "get", path: "/catalog", tags: ["Connect"],
|
|
150
|
+
summary: "List Connectors with protocol and supported authentication methods",
|
|
151
|
+
responses: {
|
|
152
|
+
200: { content: { "application/json": { schema: okAnySchema } }, description: "Non-secret Connector catalog" },
|
|
153
|
+
501: { content: { "application/json": { schema: errorSchema } }, description: "Connect service unavailable" },
|
|
154
|
+
},
|
|
155
|
+
}), async (c) => withConnect(c, getDeps, async (service) => c.json({ ok: true, data: await service.listCatalog() }, 200)));
|
|
156
|
+
openapi(createRoute({
|
|
157
|
+
method: "post", path: "/connections/public", tags: ["Connect"],
|
|
158
|
+
summary: "Create a Connection to an unauthenticated HTTP API",
|
|
159
|
+
request: { body: { content: { "application/json": { schema: createApiKeyConnectionBody.omit({ apiKey: true }) } } } },
|
|
160
|
+
responses: {
|
|
161
|
+
201: { content: { "application/json": { schema: okAnySchema } }, description: "Public API Connection created" },
|
|
162
|
+
400: { content: { "application/json": { schema: errorSchema } }, description: "Invalid request or authentication" },
|
|
163
|
+
501: { content: { "application/json": { schema: errorSchema } }, description: "Connect service unavailable" },
|
|
164
|
+
},
|
|
165
|
+
}), async (c) => withConnect(c, getDeps, async (service) => c.json({
|
|
166
|
+
ok: true, data: await service.createPublicConnection(c.req.valid("json")),
|
|
167
|
+
}, 201)));
|
|
168
|
+
openapi(createRoute({
|
|
169
|
+
method: "post", path: "/connectors", tags: ["Connect"],
|
|
170
|
+
summary: "Register an immutable custom Connector definition",
|
|
171
|
+
request: { body: { content: { "application/json": { schema: z.record(z.string(), z.unknown()) } } } },
|
|
172
|
+
responses: {
|
|
173
|
+
201: { content: { "application/json": { schema: okAnySchema } }, description: "Validated non-secret definition" },
|
|
174
|
+
400: { content: { "application/json": { schema: errorSchema } }, description: "Invalid or duplicate Connector" },
|
|
175
|
+
422: { content: { "application/json": { schema: errorSchema } }, description: "Host has no custom definition store" },
|
|
176
|
+
},
|
|
177
|
+
}), async (c) => withConnect(c, getDeps, async (service) => c.json({
|
|
178
|
+
ok: true, data: await service.registerConnectorDefinition(c.req.valid("json")),
|
|
179
|
+
}, 201)));
|
|
180
|
+
openapi(createRoute({
|
|
181
|
+
method: "post", path: "/setup-readiness", tags: ["Connect"],
|
|
182
|
+
summary: "Check local setup prerequisites without testing provider credentials",
|
|
183
|
+
request: { body: { content: { "application/json": { schema: startOAuthBody.pick({
|
|
184
|
+
providerId: true, authenticationId: true, oauthClientMode: true, projectId: true, orgId: true,
|
|
185
|
+
}).extend({ redirectUri: z.string().url().optional() }) } } } },
|
|
186
|
+
responses: {
|
|
187
|
+
200: { content: { "application/json": { schema: okAnySchema } }, description: "Configuration readiness; not a live Connection check" },
|
|
188
|
+
400: { content: { "application/json": { schema: errorSchema } }, description: "Invalid Connector selection" },
|
|
189
|
+
501: { content: { "application/json": { schema: errorSchema } }, description: "Connect service unavailable" },
|
|
190
|
+
},
|
|
191
|
+
}), async (c) => withConnect(c, getDeps, async (service) => c.json({
|
|
192
|
+
ok: true, data: await service.getSetupReadiness(c.req.valid("json")),
|
|
193
|
+
}, 200)));
|
|
194
|
+
openapi(createRoute({
|
|
195
|
+
method: "post", path: "/connectors/{connectorId}/disable", tags: ["Connect"],
|
|
196
|
+
summary: "Disable a custom Connector and block its existing Connections",
|
|
197
|
+
request: { params: z.object({ connectorId: z.string().min(1) }) },
|
|
198
|
+
responses: {
|
|
199
|
+
200: { content: { "application/json": { schema: okAnySchema } }, description: "Disabled custom definition" },
|
|
200
|
+
404: { content: { "application/json": { schema: errorSchema } }, description: "Custom Connector not found" },
|
|
201
|
+
},
|
|
202
|
+
}), async (c) => withConnect(c, getDeps, async (service) => c.json({
|
|
203
|
+
ok: true, data: await service.disableConnectorDefinition(c.req.valid("param").connectorId),
|
|
204
|
+
}, 200)));
|
|
116
205
|
openapi(createRoute({
|
|
117
206
|
method: "get",
|
|
118
207
|
path: "/connections",
|
|
@@ -135,6 +224,18 @@ export function connectRoutes(getDeps) {
|
|
|
135
224
|
};
|
|
136
225
|
return c.json({ ok: true, data: await service.listConnections(filter) }, 200);
|
|
137
226
|
}));
|
|
227
|
+
openapi(createRoute({
|
|
228
|
+
method: "post", path: "/connections/{connectionId}/verify", tags: ["Connect"],
|
|
229
|
+
summary: "Run a configured non-destructive Connection check",
|
|
230
|
+
request: { params: z.object({ connectionId: z.string().min(1) }) },
|
|
231
|
+
responses: {
|
|
232
|
+
200: { content: { "application/json": { schema: okAnySchema } }, description: "Verification result, distinct from Connection lifecycle status" },
|
|
233
|
+
404: { content: { "application/json": { schema: errorSchema } }, description: "Connection not found" },
|
|
234
|
+
501: { content: { "application/json": { schema: errorSchema } }, description: "Connect service unavailable" },
|
|
235
|
+
},
|
|
236
|
+
}), async (c) => withConnect(c, getDeps, async (service) => c.json({
|
|
237
|
+
ok: true, data: await service.verifyConnection({ connectionId: c.req.valid("param").connectionId, signal: c.req.raw.signal }),
|
|
238
|
+
}, 200)));
|
|
138
239
|
openapi(createRoute({
|
|
139
240
|
method: "get",
|
|
140
241
|
path: "/connection-links",
|
|
@@ -195,6 +296,39 @@ export function connectRoutes(getDeps) {
|
|
|
195
296
|
const data = await service.createApiKeyConnection(body);
|
|
196
297
|
return c.json({ ok: true, data }, 200);
|
|
197
298
|
}));
|
|
299
|
+
openapi(createRoute({
|
|
300
|
+
method: "post", path: "/connections/mcp", tags: ["Connect"],
|
|
301
|
+
summary: "Create a remote MCP Connection",
|
|
302
|
+
request: { body: { content: { "application/json": { schema: createMcpBody } } } },
|
|
303
|
+
responses: {
|
|
304
|
+
201: { content: { "application/json": { schema: okAnySchema } }, description: "MCP Connection created" },
|
|
305
|
+
400: { content: { "application/json": { schema: errorSchema } }, description: "Invalid request" },
|
|
306
|
+
},
|
|
307
|
+
}), async (c) => withConnect(c, getDeps, async (service) => c.json({
|
|
308
|
+
ok: true, data: await service.createMcpConnection(c.req.valid("json")),
|
|
309
|
+
}, 201)));
|
|
310
|
+
openapi(createRoute({
|
|
311
|
+
method: "post", path: "/mcp/inspect", tags: ["Connect"],
|
|
312
|
+
summary: "Inspect a remote MCP server's OAuth capabilities",
|
|
313
|
+
request: { body: { content: { "application/json": { schema: inspectMcpBody } } } },
|
|
314
|
+
responses: {
|
|
315
|
+
200: { content: { "application/json": { schema: okAnySchema } }, description: "MCP OAuth configuration" },
|
|
316
|
+
400: { content: { "application/json": { schema: errorSchema } }, description: "Invalid endpoint" },
|
|
317
|
+
},
|
|
318
|
+
}), async (c) => withConnect(c, getDeps, async (service) => c.json({
|
|
319
|
+
ok: true, data: await service.inspectMcpOAuth(c.req.valid("json")),
|
|
320
|
+
}, 200)));
|
|
321
|
+
openapi(createRoute({
|
|
322
|
+
method: "post", path: "/mcp/oauth/start", tags: ["Connect"],
|
|
323
|
+
summary: "Start MCP OAuth with an explicit host callback",
|
|
324
|
+
request: { body: { content: { "application/json": { schema: startMcpOAuthBody } } } },
|
|
325
|
+
responses: {
|
|
326
|
+
200: { content: { "application/json": { schema: okAnySchema } }, description: "MCP authorization URL" },
|
|
327
|
+
400: { content: { "application/json": { schema: errorSchema } }, description: "Invalid request" },
|
|
328
|
+
},
|
|
329
|
+
}), async (c) => withConnect(c, getDeps, async (service) => c.json({
|
|
330
|
+
ok: true, data: await service.startMcpOAuth(c.req.valid("json")),
|
|
331
|
+
}, 200)));
|
|
198
332
|
openapi(createRoute({
|
|
199
333
|
method: "post",
|
|
200
334
|
path: "/oauth/start",
|
|
@@ -224,7 +358,7 @@ export function connectRoutes(getDeps) {
|
|
|
224
358
|
501: { content: { "application/json": { schema: errorSchema } }, description: "Connect service unavailable" },
|
|
225
359
|
},
|
|
226
360
|
}), async (c) => withConnect(c, getDeps, async (service) => {
|
|
227
|
-
const data = await service.
|
|
361
|
+
const { connection: data } = await service.completeOAuthCallback(c.req.valid("json"));
|
|
228
362
|
return c.json({ ok: true, data }, 200);
|
|
229
363
|
}));
|
|
230
364
|
openapi(createRoute({
|
|
@@ -243,6 +377,25 @@ export function connectRoutes(getDeps) {
|
|
|
243
377
|
const data = await service.createSetupSession(c.req.valid("json"));
|
|
244
378
|
return c.json({ ok: true, data }, 201);
|
|
245
379
|
}));
|
|
380
|
+
for (const operation of ["status", "cancel"]) {
|
|
381
|
+
openapi(createRoute({
|
|
382
|
+
method: operation === "status" ? "get" : "post",
|
|
383
|
+
path: `/setup/:id/${operation}`,
|
|
384
|
+
tags: ["Connect"],
|
|
385
|
+
summary: operation === "status" ? "Observe safe Connection setup status" : "Cancel an unused Connection setup",
|
|
386
|
+
request: { params: z.object({ id: z.string().min(1) }) },
|
|
387
|
+
responses: {
|
|
388
|
+
200: { content: { "application/json": { schema: okAnySchema } }, description: "Setup status" },
|
|
389
|
+
404: { content: { "application/json": { schema: errorSchema } }, description: "Setup session not found" },
|
|
390
|
+
410: { content: { "application/json": { schema: errorSchema } }, description: "Setup can no longer be cancelled" },
|
|
391
|
+
422: { content: { "application/json": { schema: errorSchema } }, description: "Setup lifecycle unavailable" },
|
|
392
|
+
501: { content: { "application/json": { schema: errorSchema } }, description: "Connect service unavailable" },
|
|
393
|
+
},
|
|
394
|
+
}), async (c) => withConnect(c, getDeps, async (service) => {
|
|
395
|
+
const data = operation === "status" ? await service.getSetupStatus(c.req.param("id")) : await service.cancelSetupSession(c.req.param("id"));
|
|
396
|
+
return data ? c.json({ ok: true, data }, 200) : c.json({ ok: false, error: "Connection setup session not found", code: "SETUP_NOT_FOUND" }, 404);
|
|
397
|
+
}));
|
|
398
|
+
}
|
|
246
399
|
openapi(createRoute({
|
|
247
400
|
method: "post",
|
|
248
401
|
path: "/setup-sessions/:id/start",
|
|
@@ -335,6 +488,9 @@ async function withConnect(c, getDeps, handler) {
|
|
|
335
488
|
if (error instanceof ConnectError) {
|
|
336
489
|
return c.json({ ok: false, error: error.message, code: error.code, details: error.details }, error.status);
|
|
337
490
|
}
|
|
491
|
+
if (error instanceof ConnectionSelectionError) {
|
|
492
|
+
return c.json({ ok: false, error: error.message, code: error.code }, error.status);
|
|
493
|
+
}
|
|
338
494
|
throw error;
|
|
339
495
|
}
|
|
340
496
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/routes/connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/routes/connect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { MemoryConnectStore, MemoryConnectionSecretStore, createConnectService } from "@polpo-ai/connect-server";
|
|
2
|
+
import { MemoryConnectStore, MemoryConnectionSecretStore, MemoryConnectorDefinitionStore, createConnectService } from "@polpo-ai/connect-server";
|
|
3
3
|
import { connectRoutes } from "./connect.js";
|
|
4
4
|
const apiKeyProvider = {
|
|
5
5
|
id: "custom_api",
|
|
@@ -27,6 +27,148 @@ const oauthProvider = {
|
|
|
27
27
|
scopes: [{ id: "read" }, { id: "write" }],
|
|
28
28
|
};
|
|
29
29
|
describe("connectRoutes", () => {
|
|
30
|
+
it("creates an embedded MCP setup with the selected reusable client and trusted owner", async () => {
|
|
31
|
+
const store = new MemoryConnectStore();
|
|
32
|
+
const client = { id: "mcp-config", providerId: "mcp_url", owner: { type: "instance", id: "host" },
|
|
33
|
+
resourceUrl: "https://mcp.example/mcp", transport: "http", redirectUri: "https://host.example/callback",
|
|
34
|
+
registration: { mode: "pre_registered", client: { client_id: "client", client_secret: "private-config-secret" } } };
|
|
35
|
+
const resolver = { resolve: vi.fn(async () => client), resolveById: vi.fn(async () => client) };
|
|
36
|
+
const service = createConnectService({ providers: [{ id: "mcp_url", name: "MCP", auth: { type: "mcp", auth: "oauth2" }, scopes: [] }],
|
|
37
|
+
store, setupSessions: store, links: store, secrets: new MemoryConnectionSecretStore(),
|
|
38
|
+
mcpOAuthClients: resolver, allowedReturnUrlOrigins: ["https://app.example"] });
|
|
39
|
+
const app = connectRoutes(() => ({ connectService: service }));
|
|
40
|
+
const subject = { type: "external_user", namespace: "app", id: "gioia" };
|
|
41
|
+
const response = await app.request("/setup-sessions", { method: "POST", headers: { "content-type": "application/json" },
|
|
42
|
+
body: JSON.stringify({ providerId: "mcp_url", projectId: "project", audience: "end_user", subject,
|
|
43
|
+
returnUrl: "https://app.example/connected", oauthClientMode: "instance", configurationId: "mcp-config" }) });
|
|
44
|
+
expect(response.status).toBe(201);
|
|
45
|
+
const body = await response.json();
|
|
46
|
+
expect(body).toMatchObject({ data: { flowKind: "mcp", oauthClientId: "mcp-config", subject } });
|
|
47
|
+
expect(resolver.resolve).toHaveBeenCalledWith(expect.objectContaining({ configurationId: "mcp-config", projectId: "project", mode: "instance" }));
|
|
48
|
+
expect(JSON.stringify(body)).not.toContain("private-config-secret");
|
|
49
|
+
});
|
|
50
|
+
it("dispatches the authenticated callback by its stored flow, including MCP", async () => {
|
|
51
|
+
const { service, store } = createHarness();
|
|
52
|
+
await store.saveOAuthState({ state: "mcp-state", providerId: "mcp_url", flowKind: "mcp", requestedScopes: [],
|
|
53
|
+
redirectUri: "https://host.example/callback", createdAt: new Date().toISOString(), expiresAt: "2099-01-01T00:00:00.000Z" });
|
|
54
|
+
const completeMcp = vi.spyOn(service, "completeMcpOAuth").mockResolvedValue({ id: "mcp-connection", authType: "mcp" });
|
|
55
|
+
const completeApi = vi.spyOn(service, "completeOAuth");
|
|
56
|
+
const app = connectRoutes(() => ({ connectService: service }));
|
|
57
|
+
const response = await app.request("/oauth/callback", { method: "POST", headers: { "content-type": "application/json" },
|
|
58
|
+
body: JSON.stringify({ state: "mcp-state", code: "code" }) });
|
|
59
|
+
expect(response.status).toBe(200);
|
|
60
|
+
expect(await response.json()).toMatchObject({ data: { id: "mcp-connection", authType: "mcp" } });
|
|
61
|
+
expect(completeMcp).toHaveBeenCalledWith({ state: "mcp-state", code: "code" });
|
|
62
|
+
expect(completeApi).not.toHaveBeenCalled();
|
|
63
|
+
});
|
|
64
|
+
it("returns a structured denial for unsafe generic MCP auth headers instead of HTTP 500", async () => {
|
|
65
|
+
const service = createConnectService({ providers: [{ id: "mcp_url", name: "MCP", auth: { type: "mcp", auth: "bearer" }, scopes: [] }],
|
|
66
|
+
store: new MemoryConnectStore(), secrets: new MemoryConnectionSecretStore() });
|
|
67
|
+
const app = connectRoutes(() => ({ connectService: service }));
|
|
68
|
+
const response = await app.request("/connections/mcp", { method: "POST", headers: { "content-type": "application/json" },
|
|
69
|
+
body: JSON.stringify({ url: "https://mcp.example", auth: "header", headerName: "Cookie", apiKey: "private" }) });
|
|
70
|
+
expect(response.status).toBe(403);
|
|
71
|
+
expect(await response.json()).toMatchObject({ ok: false, code: "connection_operation_denied" });
|
|
72
|
+
});
|
|
73
|
+
it("preserves trusted audience and binding through the API-key route", async () => {
|
|
74
|
+
const app = connectRoutes(() => ({ connectService: createHarness().service }));
|
|
75
|
+
const owner = { type: "external_user", namespace: "app", id: "viewer" };
|
|
76
|
+
const response = await app.request("/connections/api-key", { method: "POST", headers: { "content-type": "application/json" },
|
|
77
|
+
body: JSON.stringify({ providerId: "custom_api", apiKey: "private", audience: "end_user", subject: owner, binding: { scopeEpoch: "one" } }) });
|
|
78
|
+
expect(response.status).toBe(200);
|
|
79
|
+
expect(await response.json()).toMatchObject({ data: { audience: "end_user", owner, binding: { principal: owner, scopeEpoch: "one" } } });
|
|
80
|
+
});
|
|
81
|
+
it("creates a custom MCP through the SDK's advertised OSS route with its selected authentication and identity", async () => {
|
|
82
|
+
const service = createConnectService({ providers: [{ version: 2, id: "notes", name: "Notes", source: "custom", protocol: "mcp",
|
|
83
|
+
defaultAuthenticationId: "public", authentication: [{ id: "public", type: "none" }] }],
|
|
84
|
+
store: new MemoryConnectStore(), secrets: new MemoryConnectionSecretStore() });
|
|
85
|
+
const app = connectRoutes(() => ({ connectService: service }));
|
|
86
|
+
const response = await app.request("/connections/mcp", { method: "POST", headers: { "content-type": "application/json" },
|
|
87
|
+
body: JSON.stringify({ providerId: "notes", authenticationId: "public", url: "https://mcp.example/mcp", audience: "personal", subject: { type: "user", id: "builder" } }) });
|
|
88
|
+
expect(response.status).toBe(201);
|
|
89
|
+
expect(await response.json()).toMatchObject({ data: { providerId: "notes", authenticationId: "public", audience: "personal",
|
|
90
|
+
binding: { principal: { type: "user", id: "builder" } }, metadata: { auth: "none" } } });
|
|
91
|
+
});
|
|
92
|
+
it("exposes OSS MCP inspect and OAuth start, keeping the callback and trusted context explicit", async () => {
|
|
93
|
+
const { service } = createHarness();
|
|
94
|
+
const inspect = vi.spyOn(service, "inspectMcpOAuth").mockResolvedValue({});
|
|
95
|
+
const start = vi.spyOn(service, "startMcpOAuth").mockResolvedValue({ authorizationUrl: "https://provider.example", state: "state", expiresAt: "2099" });
|
|
96
|
+
const app = connectRoutes(() => ({ connectService: service }));
|
|
97
|
+
const post = (path, body) => app.request(path, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(body) });
|
|
98
|
+
expect((await post("/mcp/inspect", { url: "https://mcp.example/mcp", transport: "sse" })).status).toBe(200);
|
|
99
|
+
const input = { providerId: "notes", authenticationId: "oauth", url: "https://mcp.example/mcp", mode: "dynamic",
|
|
100
|
+
redirectUri: "https://host.example/v1/connect/oauth/callback", audience: "personal", subject: { type: "user", id: "builder" } };
|
|
101
|
+
expect((await post("/mcp/oauth/start", input)).status).toBe(200);
|
|
102
|
+
expect(inspect).toHaveBeenCalledWith({ url: "https://mcp.example/mcp", transport: "sse" });
|
|
103
|
+
expect(start).toHaveBeenCalledWith(input);
|
|
104
|
+
expect((await post("/mcp/oauth/start", { ...input, redirectUri: undefined })).status).toBe(400);
|
|
105
|
+
expect(start).toHaveBeenCalledOnce();
|
|
106
|
+
});
|
|
107
|
+
it("exposes local setup readiness separately from live verification", async () => {
|
|
108
|
+
const app = connectRoutes(() => ({ connectService: createHarness().service }));
|
|
109
|
+
const response = await app.request("/setup-readiness", { method: "POST", headers: { "content-type": "application/json" },
|
|
110
|
+
body: JSON.stringify({ providerId: "custom_api" }),
|
|
111
|
+
});
|
|
112
|
+
expect(response.status).toBe(200);
|
|
113
|
+
expect(await response.json()).toMatchObject({ data: { check: "configuration", outcome: "passed", code: "credentials_required" } });
|
|
114
|
+
});
|
|
115
|
+
it("registers a custom API through HTTP and blocks it after disabling the definition", async () => {
|
|
116
|
+
const service = createConnectService({ providers: [], store: new MemoryConnectStore(), secrets: new MemoryConnectionSecretStore(), definitions: new MemoryConnectorDefinitionStore() });
|
|
117
|
+
const app = connectRoutes(() => ({ connectService: service }));
|
|
118
|
+
const response = await app.request("/connectors", { method: "POST", headers: { "content-type": "application/json" },
|
|
119
|
+
body: JSON.stringify({ version: 2, id: "weather", name: "Weather", source: "catalog", protocol: "http_api",
|
|
120
|
+
defaultAuthenticationId: "public", authentication: [{ id: "public", type: "none" }], http: { origins: ["https://api.example.com"] } }),
|
|
121
|
+
});
|
|
122
|
+
expect(response.status).toBe(201);
|
|
123
|
+
expect(await response.json()).toMatchObject({ data: { definition: { source: "custom" } } });
|
|
124
|
+
expect(await (await app.request("/catalog")).json()).toMatchObject({ data: [{ id: "weather" }] });
|
|
125
|
+
expect((await app.request("/connectors/weather/disable", { method: "POST" })).status).toBe(200);
|
|
126
|
+
expect(await (await app.request("/catalog")).json()).toMatchObject({ data: [] });
|
|
127
|
+
});
|
|
128
|
+
it("exposes an honest verification result without serializing credentials", async () => {
|
|
129
|
+
const { service } = createHarness();
|
|
130
|
+
const connection = await service.createApiKeyConnection({ providerId: "custom_api", apiKey: "private-test-key" });
|
|
131
|
+
const app = connectRoutes(() => ({ connectService: service }));
|
|
132
|
+
const response = await app.request(`/connections/${connection.id}/verify`, { method: "POST" });
|
|
133
|
+
expect(response.status).toBe(200);
|
|
134
|
+
const body = await response.json();
|
|
135
|
+
expect(body).toMatchObject({ ok: true, data: { outcome: "unsupported", code: "probe_not_configured" } });
|
|
136
|
+
expect(JSON.stringify(body)).not.toContain("private-test-key");
|
|
137
|
+
expect((await app.request("/connections/missing/verify", { method: "POST" })).status).toBe(404);
|
|
138
|
+
});
|
|
139
|
+
it("does not expose OAuth app credentials in the provider catalog", async () => {
|
|
140
|
+
const app = connectRoutes(() => ({ connectService: createHarness().service }));
|
|
141
|
+
const response = await app.request("/providers");
|
|
142
|
+
expect(response.status).toBe(200);
|
|
143
|
+
const body = await response.text();
|
|
144
|
+
expect(body).not.toContain("client_secret");
|
|
145
|
+
expect(body).not.toContain('"clientSecret"');
|
|
146
|
+
});
|
|
147
|
+
it("exposes the normalized catalog and public HTTP setup without discarding authentication selection", async () => {
|
|
148
|
+
const service = createConnectService({
|
|
149
|
+
providers: [{
|
|
150
|
+
version: 2, id: "public_api", name: "Public API", source: "custom", protocol: "http_api",
|
|
151
|
+
defaultAuthenticationId: "public", authentication: [{ id: "public", type: "none" }],
|
|
152
|
+
http: { origins: ["https://api.example.com"] },
|
|
153
|
+
}],
|
|
154
|
+
store: new MemoryConnectStore(), secrets: new MemoryConnectionSecretStore(),
|
|
155
|
+
});
|
|
156
|
+
const app = connectRoutes(() => ({ connectService: service }));
|
|
157
|
+
const catalog = await app.request("/catalog");
|
|
158
|
+
expect(catalog.status).toBe(200);
|
|
159
|
+
expect(await catalog.json()).toMatchObject({ data: [{ protocol: "http_api", authentication: [{ type: "none" }] }] });
|
|
160
|
+
const created = await app.request("/connections/public", {
|
|
161
|
+
method: "POST", headers: { "content-type": "application/json" },
|
|
162
|
+
body: JSON.stringify({ providerId: "public_api", authenticationId: "public" }),
|
|
163
|
+
});
|
|
164
|
+
expect(created.status).toBe(201);
|
|
165
|
+
expect(await created.json()).toMatchObject({ data: { authType: "none", authenticationId: "public" } });
|
|
166
|
+
const invalid = await app.request("/connections/public", {
|
|
167
|
+
method: "POST", headers: { "content-type": "application/json" },
|
|
168
|
+
body: JSON.stringify({ providerId: "public_api", authenticationId: "unknown" }),
|
|
169
|
+
});
|
|
170
|
+
expect(invalid.status).toBe(400);
|
|
171
|
+
});
|
|
30
172
|
it("returns 501 when connect service is not wired", async () => {
|
|
31
173
|
const app = connectRoutes(() => ({}));
|
|
32
174
|
const res = await app.request("/providers");
|
|
@@ -157,7 +299,7 @@ describe("connectRoutes", () => {
|
|
|
157
299
|
audience: "end_user",
|
|
158
300
|
subject: { type: "external_user", namespace: "app", id: "user-1" },
|
|
159
301
|
binding: {
|
|
160
|
-
principal: { type: "external_user", id: "user-1" },
|
|
302
|
+
principal: { type: "external_user", namespace: "app", id: "user-1" },
|
|
161
303
|
tenant: { namespace: "app", id: "tenant-1" },
|
|
162
304
|
},
|
|
163
305
|
scopes: ["read"],
|
|
@@ -171,8 +313,15 @@ describe("connectRoutes", () => {
|
|
|
171
313
|
projectId: "project-1",
|
|
172
314
|
audience: "end_user",
|
|
173
315
|
subject: { type: "external_user", namespace: "app", id: "user-1" },
|
|
316
|
+
binding: { principal: { type: "external_user", namespace: "app", id: "user-1" } },
|
|
174
317
|
});
|
|
175
318
|
expect(setup.data).not.toHaveProperty("oauthClientSecret");
|
|
319
|
+
const observed = await app.request(`/setup/${setup.data.id}/status`);
|
|
320
|
+
expect(observed.status).toBe(200);
|
|
321
|
+
const publicStatus = await observed.json();
|
|
322
|
+
expect(publicStatus.data).toMatchObject({ status: "pending", scopes: ["read"] });
|
|
323
|
+
expect(publicStatus.data).not.toHaveProperty("subject");
|
|
324
|
+
expect(publicStatus.data).not.toHaveProperty("binding");
|
|
176
325
|
const startRes = await app.request(`/setup-sessions/${setup.data.id}/start`, { method: "POST" });
|
|
177
326
|
const started = await startRes.json();
|
|
178
327
|
expect(startRes.status).toBe(200);
|
|
@@ -180,6 +329,26 @@ describe("connectRoutes", () => {
|
|
|
180
329
|
const replayRes = await app.request(`/setup-sessions/${setup.data.id}/start`, { method: "POST" });
|
|
181
330
|
expect(replayRes.status).toBe(409);
|
|
182
331
|
await expect(replayRes.json()).resolves.toMatchObject({ ok: false, code: "setup_consumed" });
|
|
332
|
+
const cancelStarted = await app.request(`/setup/${setup.data.id}/cancel`, { method: "POST" });
|
|
333
|
+
expect(cancelStarted.status).toBe(410);
|
|
334
|
+
const callback = await app.request("/oauth/callback", { method: "POST", headers: { "content-type": "application/json" },
|
|
335
|
+
body: JSON.stringify({ state: started.data.state, code: "code" }) });
|
|
336
|
+
expect(callback.status).toBe(200);
|
|
337
|
+
const completed = await (await app.request(`/setup/${setup.data.id}/status`)).json();
|
|
338
|
+
expect(completed.data).toMatchObject({ status: "completed", resultingConnectionId: (await callback.json()).data.id });
|
|
339
|
+
});
|
|
340
|
+
it("observes missing setup and cancels a pending setup through SDK-compatible routes", async () => {
|
|
341
|
+
const harness = createHarness({ withOAuthClient: true });
|
|
342
|
+
const app = connectRoutes(() => ({ connectService: harness.service }));
|
|
343
|
+
expect((await app.request("/setup/missing/status")).status).toBe(404);
|
|
344
|
+
expect((await app.request("/setup/missing/cancel", { method: "POST" })).status).toBe(404);
|
|
345
|
+
const setup = await harness.service.createSetupSession({ providerId: "test_oauth", projectId: "project-1", audience: "end_user",
|
|
346
|
+
subject: { type: "external_user", namespace: "app", id: "user-1" }, scopes: ["read"],
|
|
347
|
+
returnUrl: "https://app.example/settings", oauthClientMode: "managed" });
|
|
348
|
+
const cancelled = await app.request(`/setup/${setup.id}/cancel`, { method: "POST" });
|
|
349
|
+
expect(cancelled.status).toBe(200);
|
|
350
|
+
expect((await cancelled.json()).data.status).toBe("cancelled");
|
|
351
|
+
expect((await app.request(`/setup-sessions/${setup.id}/start`, { method: "POST" })).status).toBe(409);
|
|
183
352
|
});
|
|
184
353
|
it("executes a policy-bound gateway request without exposing credentials", async () => {
|
|
185
354
|
const harness = createHarness({
|