mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-27 19:35:13 +01:00
Integrate connection pools with the native connector workflow
Declare pooled connectors through plugin metadata and use the existing catalog, setup header, account page, and sidebar. Select only saved connections, preserve ordered membership, and keep optional runtime and usage settings in Advanced. Route ordinary removal through pin-preserving pool archival. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
1 parent
6ed022757d
commit
a913ebe4f4
26 files changed
+533
-98
No files matched your search
@@ -782,6 +782,7 @@ export const pluginManifestV1Schema = z.object({
|
||||
"minimumPaperclipVersion must follow semver (e.g. 1.0.0)",
|
||||
).optional(),
|
||||
capabilities: z.array(z.enum(PLUGIN_CAPABILITIES)).min(1),
|
||||
aiConnectionRouter: z.object({ name: z.string().trim().min(1).max(100), description: z.string().trim().min(1).max(500) }).strict().optional(),
|
||||
entrypoints: z.object({
|
||||
worker: z.string().min(1),
|
||||
ui: z.string().min(1).optional(),
|
||||
@@ -835,6 +836,10 @@ export const pluginManifestV1Schema = z.object({
|
||||
// declare every capability it needs up-front; silently having more features
|
||||
// than capabilities would cause runtime rejections.
|
||||
|
||||
if (manifest.aiConnectionRouter && !manifest.capabilities.includes("ai.connections.route")) {
|
||||
ctx.addIssue({ code: z.ZodIssueCode.custom, message: "ai.connections.route is required for aiConnectionRouter", path: ["capabilities"] });
|
||||
}
|
||||
|
||||
// tools require agent.tools.register (PLUGIN_SPEC.md §11)
|
||||
if (manifest.tools && manifest.tools.length > 0) {
|
||||
if (!manifest.capabilities.includes("agent.tools.register")) {
|
||||
|
||||
Reference in new issue
Block a user