Upgrade adapter-utils to canary with getConfigSchema type support

The UI wasn't surfacing config parameters because getConfigSchema wasn't
part of the ServerAdapterModule interface in adapter-utils >=0.3.0. The
canary release (2026.411.0-canary.8) adds ConfigFieldSchema,
AdapterConfigSchema, and getConfigSchema to the type. This removes the
local type augmentation workaround and the unsafe `as ServerAdapterModule`
cast, letting TypeScript properly validate the schema contract.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-12 14:58:07 +00:00
parent a7b42da7a0
commit faa5f09984
4 changed files with 14 additions and 29 deletions
+9 -8
View File
@@ -1,24 +1,24 @@
{
"name": "@farhoodliquor/paperclip-adapter-opencode-k8s",
"version": "0.1.4",
"version": "0.1.11",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@farhoodliquor/paperclip-adapter-opencode-k8s",
"version": "0.1.4",
"version": "0.1.11",
"license": "MIT",
"dependencies": {
"@kubernetes/client-node": "^1.0.0"
},
"devDependencies": {
"@paperclipai/adapter-utils": "^0.3.0",
"@paperclipai/adapter-utils": "^2026.411.0-canary.8",
"@types/node": "^24.6.0",
"typescript": "^5.7.3",
"vitest": "^4.1.4"
},
"peerDependencies": {
"@paperclipai/adapter-utils": ">=0.3.0"
"@paperclipai/adapter-utils": ">=2026.411.0-canary.8"
}
},
"node_modules/@emnapi/core": {
@@ -140,10 +140,11 @@
}
},
"node_modules/@paperclipai/adapter-utils": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@paperclipai/adapter-utils/-/adapter-utils-0.3.1.tgz",
"integrity": "sha512-W66k+hJkQE8ma0asM/Sd90AC8HHy/BLG/sd0aOC+rDWw+gOasQyUkTnDoPv1zhQuTyKEEvLFV6ByOOKqEiAz/A==",
"dev": true
"version": "2026.411.0-canary.8",
"resolved": "https://registry.npmjs.org/@paperclipai/adapter-utils/-/adapter-utils-2026.411.0-canary.8.tgz",
"integrity": "sha512-pogmV2WHm0S+hanuN5NAHmsLh/Limdmm565SX9YyvSCtGHyD3XlxoZsAsefnMBIn5ZUaAzW6pSql/Dw0SXeWTA==",
"dev": true,
"license": "MIT"
},
"node_modules/@rolldown/binding-android-arm64": {
"version": "1.0.0-rc.15",
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@farhoodliquor/paperclip-adapter-opencode-k8s",
"version": "0.1.10",
"version": "0.1.11",
"description": "Paperclip adapter plugin that runs OpenCode agents as Kubernetes Jobs",
"license": "MIT",
"type": "module",
@@ -26,10 +26,10 @@
"@kubernetes/client-node": "^1.0.0"
},
"peerDependencies": {
"@paperclipai/adapter-utils": ">=0.3.0"
"@paperclipai/adapter-utils": ">=2026.411.0-canary.8"
},
"devDependencies": {
"@paperclipai/adapter-utils": "^0.3.0",
"@paperclipai/adapter-utils": "^2026.411.0-canary.8",
"@types/node": "^24.6.0",
"typescript": "^5.7.3",
"vitest": "^4.1.4"
+1 -17
View File
@@ -1,20 +1,4 @@
// Local type augmentation for adapter-utils version that has getConfigSchema.
// The deployed environment has a newer version of adapter-utils with these types.
interface ConfigFieldSchema {
key: string;
label: string;
type: "text" | "select" | "toggle" | "number" | "textarea" | "combobox";
options?: { label: string; value: string }[];
default?: unknown;
hint?: string;
required?: boolean;
group?: string;
meta?: Record<string, unknown>;
}
interface AdapterConfigSchema {
fields: ConfigFieldSchema[];
}
import type { AdapterConfigSchema } from "@paperclipai/adapter-utils";
export function getConfigSchema(): AdapterConfigSchema {
return {
+1 -1
View File
@@ -15,7 +15,7 @@ export function createServerAdapter(): ServerAdapterModule {
supportsLocalAgentJwt: true,
agentConfigurationDoc,
getConfigSchema,
} as ServerAdapterModule;
};
}
export { execute, testEnvironment, sessionCodec };