Fix CI publish failures and add missing config schema fields
- CI publish job failed because it tried to re-publish existing versions (npm returns 404 for scoped packages on duplicate version). Added a version-exists check before npm publish to skip gracefully. - Also fixed the auth env var from NPM_TOKEN to NODE_AUTH_TOKEN which is what actions/setup-node's registry-url option expects. - Added missing core and operational fields to getConfigSchema() so the Paperclip UI surfaces model, effort, maxTurnsPerRun, skipPermissions, instructionsFilePath, timeoutSec, and graceSec alongside existing K8s infrastructure fields. - Bumped version to 0.1.10. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -47,6 +47,14 @@ jobs:
|
||||
registry-url: "https://registry.npmjs.org"
|
||||
cache: "npm"
|
||||
|
||||
- run: npm publish --access public
|
||||
- name: Publish (skip if version already exists)
|
||||
run: |
|
||||
PKG_NAME=$(node -p "require('./package.json').name")
|
||||
PKG_VERSION=$(node -p "require('./package.json').version")
|
||||
if npm view "${PKG_NAME}@${PKG_VERSION}" version 2>/dev/null; then
|
||||
echo "Version ${PKG_VERSION} already published — skipping."
|
||||
else
|
||||
npm publish --access public
|
||||
fi
|
||||
env:
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@farhoodliquor/paperclip-adapter-claude-k8s",
|
||||
"version": "0.1.9",
|
||||
"version": "0.1.10",
|
||||
"description": "Paperclip adapter plugin that runs Claude Code agents as Kubernetes Jobs",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
||||
@@ -24,6 +24,63 @@ interface AdapterConfigSchema {
|
||||
|
||||
export function getConfigSchema(): AdapterConfigSchema {
|
||||
const fields: ConfigFieldSchema[] = [
|
||||
// Core Claude fields
|
||||
{
|
||||
type: "select",
|
||||
key: "model",
|
||||
label: "Model",
|
||||
hint: "Claude model to use for this agent.",
|
||||
options: [
|
||||
{ value: "claude-opus-4-6", label: "Claude Opus 4.6" },
|
||||
{ value: "claude-sonnet-4-6", label: "Claude Sonnet 4.6" },
|
||||
{ value: "claude-haiku-4-6", label: "Claude Haiku 4.6" },
|
||||
{ value: "claude-sonnet-4-5-20250929", label: "Claude Sonnet 4.5" },
|
||||
{ value: "claude-haiku-4-5-20251001", label: "Claude Haiku 4.5" },
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
key: "effort",
|
||||
label: "Reasoning Effort",
|
||||
hint: "Reasoning effort level passed via --effort.",
|
||||
options: [
|
||||
{ value: "low", label: "Low" },
|
||||
{ value: "medium", label: "Medium" },
|
||||
{ value: "high", label: "High" },
|
||||
],
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
key: "maxTurnsPerRun",
|
||||
label: "Max Turns Per Run",
|
||||
hint: "Maximum number of turns for a single run. 0 means unlimited.",
|
||||
},
|
||||
{
|
||||
type: "toggle",
|
||||
key: "dangerouslySkipPermissions",
|
||||
label: "Skip Permissions",
|
||||
hint: "Pass --dangerously-skip-permissions to Claude. Enabled by default for unattended K8s Jobs.",
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
type: "text",
|
||||
key: "instructionsFilePath",
|
||||
label: "Instructions File Path",
|
||||
hint: "Absolute path to a markdown instructions file injected at runtime via --append-system-prompt-file.",
|
||||
},
|
||||
// Operational
|
||||
{
|
||||
type: "number",
|
||||
key: "timeoutSec",
|
||||
label: "Timeout (seconds)",
|
||||
hint: "Run timeout in seconds. 0 means no timeout.",
|
||||
},
|
||||
{
|
||||
type: "number",
|
||||
key: "graceSec",
|
||||
label: "Grace Period (seconds)",
|
||||
hint: "Additional grace period before adapter gives up after Job deadline. Default: 60.",
|
||||
},
|
||||
// Kubernetes
|
||||
{
|
||||
type: "text",
|
||||
|
||||
Reference in New Issue
Block a user