From 4210f5193753db00ba865fc20940ef5d5faa7983 Mon Sep 17 00:00:00 2001 From: Gandalf the Greybeard Date: Thu, 23 Apr 2026 22:45:31 +0000 Subject: [PATCH] chore: update lockfile Co-Authored-By: Paperclip --- dist/server/execute.d.ts | 33 +++ dist/server/execute.d.ts.map | 2 +- dist/server/execute.js | 474 +++++++++++++++++++++++------- dist/server/execute.js.map | 2 +- dist/server/job-manifest.d.ts | 20 ++ dist/server/job-manifest.d.ts.map | 2 +- dist/server/job-manifest.js | 107 ++++++- dist/server/job-manifest.js.map | 2 +- package-lock.json | 4 +- 9 files changed, 535 insertions(+), 111 deletions(-) diff --git a/dist/server/execute.d.ts b/dist/server/execute.d.ts index 3d5dff0..447f249 100644 --- a/dist/server/execute.d.ts +++ b/dist/server/execute.d.ts @@ -1,3 +1,36 @@ import type { AdapterExecutionContext, AdapterExecutionResult } from "@paperclipai/adapter-utils"; +import type * as k8s from "@kubernetes/client-node"; +/** + * Detect a Kubernetes 404 (Not Found) error from @kubernetes/client-node. + * Works for both v0.x (response.statusCode) and v1.0+ (response.status, message). + * Exported for unit tests. + */ +export declare function isK8s404(err: unknown): boolean; +/** + * Build the error message when Claude's stdout contains no result event. + * Skips system/init event lines so the UI doesn't display the raw init JSON. + * Exported for unit tests. + */ +export declare function buildPartialRunError(exitCode: number | null, model: string, stdout: string): string; +/** + * Evaluate an orphaned K8s Job (one whose `paperclip.io/run-id` label does + * not match the current runId) as a potential reattach target. A Job is + * reattachable when it belongs to the same agent, same task, and same resume + * session as the current run — meaning the previous Paperclip instance was + * mid-stream on the exact piece of work this new run was dispatched to do. + * Exported for unit tests. + */ +export declare function isReattachableOrphan(job: k8s.V1Job, expected: { + agentId: string; + taskId: string | null; + sessionId: string | null; +}): boolean; +/** + * Build an error message for a pod that reached phase=Failed before or + * instead of streaming logs. Includes the claude container's terminated exit + * code and reason when available so operators can diagnose crashes without + * needing kubectl. Exported for unit tests. + */ +export declare function describePodTerminatedError(podName: string, phase: string, containerStatuses: k8s.V1ContainerStatus[]): string; export declare function execute(ctx: AdapterExecutionContext): Promise; //# sourceMappingURL=execute.d.ts.map \ No newline at end of file diff --git a/dist/server/execute.d.ts.map b/dist/server/execute.d.ts.map index 47764fc..9121c2b 100644 --- a/dist/server/execute.d.ts.map +++ b/dist/server/execute.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAiUlG,wBAAsB,OAAO,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAoc3F"} \ No newline at end of file +{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAWlG,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAYpD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAO9C;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,MAAM,CA4BR;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,CAAC,KAAK,EACd,QAAQ,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC7E,OAAO,CAaT;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE,GACzC,MAAM,CASR;AAkWD,wBAAsB,OAAO,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAkkB3F"} \ No newline at end of file diff --git a/dist/server/execute.js b/dist/server/execute.js index 5ac22db..4350f55 100644 --- a/dist/server/execute.js +++ b/dist/server/execute.js @@ -1,12 +1,110 @@ import { asString, asNumber, asBoolean, parseObject } from "@paperclipai/adapter-utils/server-utils"; import { parseClaudeStreamJson, describeClaudeFailure, isClaudeMaxTurnsResult, isClaudeUnknownSessionError, } from "./parse.js"; import { getSelfPodInfo, getBatchApi, getCoreApi, getLogApi } from "./k8s-client.js"; -import { buildJobManifest } from "./job-manifest.js"; +import { buildJobManifest, sanitizeLabelValue } from "./job-manifest.js"; +import { LogLineDedupFilter } from "./log-dedup.js"; import { Writable } from "node:stream"; const POLL_INTERVAL_MS = 2000; const KEEPALIVE_INTERVAL_MS = 15_000; const LOG_STREAM_RECONNECT_DELAY_MS = 3_000; const MAX_LOG_RECONNECT_ATTEMPTS = 50; +// How long to keep refreshing onSpawn after the Job reaches a terminal state. +// Covers the cleanup path (delete job, parse stdout) so a slow K8s API call +// doesn't trip the 5-minute reaper staleness window. +const POST_TERMINAL_KEEPALIVE_MS = 90_000; +/** + * Detect a Kubernetes 404 (Not Found) error from @kubernetes/client-node. + * Works for both v0.x (response.statusCode) and v1.0+ (response.status, message). + * Exported for unit tests. + */ +export function isK8s404(err) { + if (!(err instanceof Error)) + return false; + const e = err; + const resp = e.response; + if (resp?.statusCode === 404 || resp?.status === 404) + return true; + if (e.statusCode === 404) + return true; + return /HTTP-Code:\s*404\b/.test(err.message); +} +/** + * Build the error message when Claude's stdout contains no result event. + * Skips system/init event lines so the UI doesn't display the raw init JSON. + * Exported for unit tests. + */ +export function buildPartialRunError(exitCode, model, stdout) { + if (exitCode === 0) + return "Failed to parse Claude JSON output"; + // Walk stdout lines, skip system events, return the first real content line. + const firstContentLine = stdout.split(/\r?\n/) + .map((l) => l.trim()) + .find((l) => { + if (!l) + return false; + try { + const obj = JSON.parse(l); + if (typeof obj === "object" && obj !== null && obj.type === "system") + return false; + } + catch { + // not JSON — treat as content + } + return true; + }) ?? ""; + // If we only have system/init events and nothing else, surface the model + // name so the operator can diagnose missing credentials or unsupported model. + const initOnlyOutput = stdout.trim() !== "" && model !== "" && !firstContentLine; + if (initOnlyOutput) { + const modelHint = model ? ` (model: ${model})` : ""; + return `Claude started but did not produce a result${modelHint} — check API credentials, model support, and adapter config`; + } + return firstContentLine + ? `Claude exited with code ${exitCode ?? -1}: ${firstContentLine}` + : `Claude exited with code ${exitCode ?? -1}`; +} +/** + * Evaluate an orphaned K8s Job (one whose `paperclip.io/run-id` label does + * not match the current runId) as a potential reattach target. A Job is + * reattachable when it belongs to the same agent, same task, and same resume + * session as the current run — meaning the previous Paperclip instance was + * mid-stream on the exact piece of work this new run was dispatched to do. + * Exported for unit tests. + */ +export function isReattachableOrphan(job, expected) { + if (!expected.taskId || !expected.sessionId) + return false; + const labels = job.metadata?.labels ?? {}; + if (labels["paperclip.io/adapter-type"] !== "claude_k8s") + return false; + if (labels["paperclip.io/agent-id"] !== expected.agentId) + return false; + if (labels["paperclip.io/task-id"] !== expected.taskId) + return false; + if (labels["paperclip.io/session-id"] !== expected.sessionId) + return false; + const conditions = job.status?.conditions ?? []; + const terminal = conditions.some((c) => (c.type === "Complete" || c.type === "Failed") && c.status === "True"); + if (terminal) + return false; + return true; +} +/** + * Build an error message for a pod that reached phase=Failed before or + * instead of streaming logs. Includes the claude container's terminated exit + * code and reason when available so operators can diagnose crashes without + * needing kubectl. Exported for unit tests. + */ +export function describePodTerminatedError(podName, phase, containerStatuses) { + const mainCs = containerStatuses.find((cs) => cs.name === "claude"); + const terminated = mainCs?.state?.terminated; + if (terminated) { + const code = terminated.exitCode ?? "unknown"; + const reason = terminated.reason ?? terminated.message ?? "no reason"; + return `Pod ${podName} reached phase=${phase}: claude exited ${code} (${reason})`; + } + return `Pod ${podName} reached phase=${phase}`; +} /** * Wait for the Job's pod to reach a terminal or running state. * Returns the pod name once logs can be streamed, or throws on failure. @@ -52,14 +150,22 @@ async function waitForPod(namespace, jobName, timeoutMs, onLog, kubeconfigPath) details.push(`${cs.name}: waiting (${cs.state.waiting.reason ?? "unknown"})`); else if (cs.state?.running) details.push(`${cs.name}: running`); + else if (cs.state?.terminated) + details.push(`${cs.name}: terminated (exit ${cs.state.terminated.exitCode ?? "?"}, ${cs.state.terminated.reason ?? "no reason"})`); } await onLog("stdout", `[paperclip] Pod ${podName}: ${details.join(", ")}\n`); lastStatus = statusKey; } // Ready to stream logs - if (phase === "Running" || phase === "Succeeded" || phase === "Failed") { + if (phase === "Running" || phase === "Succeeded") { return podName; } + // phase=Failed means the pod crashed before we could stream logs. + // Throwing here routes the caller into the error path with a structured + // message instead of entering the log-streaming path with a dead pod. + if (phase === "Failed") { + throw new Error(describePodTerminatedError(podName, phase, containerStatuses)); + } // Init containers done + main running (phase may still say Pending briefly) const allInitsDone = initStatuses.length > 0 && initStatuses.every((s) => s.state?.terminated?.exitCode === 0); const mainRunning = containerStatuses.some((s) => s.state?.running); @@ -104,16 +210,32 @@ async function waitForPod(namespace, jobName, timeoutMs, onLog, kubeconfigPath) * Stream pod logs once via follow. Returns accumulated stdout when the * stream ends (container exit, API disconnect, or abort signal). */ -async function streamPodLogsOnce(namespace, podName, onLog, kubeconfigPath, sinceSeconds) { +async function streamPodLogsOnce(namespace, podName, onLog, kubeconfigPath, sinceSeconds, dedup, stopSignal) { const logApi = getLogApi(kubeconfigPath); const chunks = []; const writable = new Writable({ write(chunk, _encoding, callback) { const text = chunk.toString("utf-8"); chunks.push(text); - void onLog("stdout", text).then(() => callback(), callback); + const emitted = dedup ? dedup.filter(text) : text; + if (!emitted) { + callback(); + return; + } + void onLog("stdout", emitted).then(() => callback(), callback); }, }); + // When the job completion signal fires, destroy the writable to abort the + // in-flight follow stream. Without this, logApi.log can hang indefinitely + // when the pod terminates without closing the HTTP connection cleanly. + let stopPoller = null; + if (stopSignal) { + stopPoller = setInterval(() => { + if (stopSignal.stopped && !writable.destroyed) { + writable.destroy(); + } + }, 200); + } try { await logApi.log(namespace, podName, "claude", writable, { follow: true, @@ -122,8 +244,12 @@ async function streamPodLogsOnce(namespace, podName, onLog, kubeconfigPath, sinc }); } catch { - // follow may fail if the container already exited or the API - // connection dropped — not fatal, caller decides whether to retry. + // follow may fail if the container already exited, the API connection + // dropped, or we aborted via writable.destroy() — not fatal. + } + finally { + if (stopPoller) + clearInterval(stopPoller); } return chunks.join(""); } @@ -143,6 +269,9 @@ async function streamPodLogs(namespace, podName, onLog, kubeconfigPath, stopSign // reconnects use a tight window instead of an ever-growing one anchored // at stream start. This is the primary fix for FAR-105 duplicative logs. let lastLogReceivedAt = Math.floor(Date.now() / 1000); + // Shared across reconnects so replayed lines inside the `sinceSeconds` + // overlap window are dropped before they reach the streaming UI (FAR-123). + const dedup = new LogLineDedupFilter(); while (!stopSignal?.stopped) { if (attempt >= MAX_LOG_RECONNECT_ATTEMPTS) { await onLog("stderr", `[paperclip] Log stream: max reconnect attempts (${MAX_LOG_RECONNECT_ATTEMPTS}) reached — giving up.\n`); @@ -158,7 +287,7 @@ async function streamPodLogs(namespace, podName, onLog, kubeconfigPath, stopSign await onLog("stdout", `[paperclip] Log stream disconnected — reconnecting (attempt ${attempt}/${MAX_LOG_RECONNECT_ATTEMPTS})...\n`); } const preStreamTs = Math.floor(Date.now() / 1000); - const result = await streamPodLogsOnce(namespace, podName, onLog, kubeconfigPath, sinceSeconds); + const result = await streamPodLogsOnce(namespace, podName, onLog, kubeconfigPath, sinceSeconds, dedup, stopSignal); if (result) { allChunks.push(result); // Update last-received timestamp to now (the stream just ended, @@ -177,6 +306,11 @@ async function streamPodLogs(namespace, podName, onLog, kubeconfigPath, stopSign // Brief pause before reconnecting to avoid tight loops. await new Promise((resolve) => setTimeout(resolve, LOG_STREAM_RECONNECT_DELAY_MS)); } + // Flush any buffered partial line so the final assistant/result chunk + // isn't dropped when the stream ends mid-line. + const tail = dedup.flush(); + if (tail) + await onLog("stdout", tail); return allChunks.join(""); } /** @@ -199,13 +333,27 @@ async function readPodLogs(namespace, podName, kubeconfigPath) { } /** * Wait for the Job to reach a terminal state (Complete or Failed). - * Returns the Job's final status. + * Returns the Job's final status. A 404 (job deleted by TTL or externally) + * is treated as a soft terminal: succeeded=false, timedOut=false, jobGone=true. + * The caller should log this and fall through to stdout parsing. */ async function waitForJobCompletion(namespace, jobName, timeoutMs, kubeconfigPath) { const batchApi = getBatchApi(kubeconfigPath); const deadline = timeoutMs > 0 ? Date.now() + timeoutMs : 0; while (deadline === 0 || Date.now() < deadline) { - const job = await batchApi.readNamespacedJob({ name: jobName, namespace }); + let job; + try { + job = await batchApi.readNamespacedJob({ name: jobName, namespace }); + } + catch (err) { + if (isK8s404(err)) { + // Job was deleted (TTL garbage collection or external deletion) before + // we detected its terminal condition. The container must have already + // exited for TTL to fire, so log streaming will have captured the output. + return { succeeded: false, timedOut: false, jobGone: true }; + } + throw err; + } const conditions = job.status?.conditions ?? []; const complete = conditions.find((c) => c.type === "Complete" && c.status === "True"); if (complete) @@ -261,10 +409,18 @@ export async function execute(ctx) { // Guard: claude_k8s must not run concurrently for the same agent (shared PVC/session). // After a server restart, orphaned K8s Jobs from previous (now-failed) runs may // still be running. We detect those by comparing the Job's run-id label against - // the current runId and clean them up so this execution can proceed. + // the current runId. When reattachOrphanedJobs is enabled and the orphan matches + // the current agent+task+session, we attach to it instead of deleting it (FAR-124). const agentId = ctx.agent.id; const selfPod = await getSelfPodInfo(kubeconfigPath); const guardNamespace = asString(config.namespace, "") || selfPod.namespace; + const reattachOrphanedJobs = asBoolean(config.reattachOrphanedJobs, true); + const runtimeSessionParams = parseObject(runtime.sessionParams); + const currentSessionIdRaw = asString(runtimeSessionParams.sessionId, runtime.sessionId ?? ""); + const currentSessionLabel = currentSessionIdRaw ? sanitizeLabelValue(currentSessionIdRaw) : null; + const currentTaskIdRaw = asString(ctx.context.taskId, "") || asString(ctx.context.issueId, ""); + const currentTaskLabel = currentTaskIdRaw ? sanitizeLabelValue(currentTaskIdRaw) : null; + let reattachTarget = null; try { const batchApi = getBatchApi(kubeconfigPath); const existing = await batchApi.listNamespacedJob({ @@ -277,10 +433,37 @@ export async function execute(ctx) { // concurrent jobs (same runId — shouldn't happen but guard defensively). const orphaned = running.filter((j) => (j.metadata?.labels?.["paperclip.io/run-id"] ?? "") !== runId); const samRun = running.filter((j) => (j.metadata?.labels?.["paperclip.io/run-id"] ?? "") === runId); - if (orphaned.length > 0) { - const orphanNames = orphaned.map((j) => j.metadata?.name).join(", "); - await onLog("stdout", `[paperclip] Cleaning up ${orphaned.length} orphaned K8s Job(s) from previous run(s): ${orphanNames}\n`); - for (const j of orphaned) { + // Pick the most recent reattachable orphan — same agent + task + session, + // not terminal. Only one target is chosen; any other orphans get + // cleaned up as before. + if (reattachOrphanedJobs && orphaned.length > 0) { + const candidates = orphaned + .filter((j) => isReattachableOrphan(j, { + agentId, + taskId: currentTaskLabel, + sessionId: currentSessionLabel, + })) + .sort((a, b) => { + const at = new Date(a.metadata?.creationTimestamp ?? 0).getTime(); + const bt = new Date(b.metadata?.creationTimestamp ?? 0).getTime(); + return bt - at; + }); + const chosen = candidates[0]; + const chosenName = chosen?.metadata?.name; + if (chosen && chosenName) { + reattachTarget = { + jobName: chosenName, + namespace: chosen.metadata?.namespace ?? guardNamespace, + priorRunId: chosen.metadata?.labels?.["paperclip.io/run-id"] ?? "", + image: chosen.spec?.template?.spec?.containers?.[0]?.image ?? "unknown", + }; + } + } + const toDelete = orphaned.filter((j) => !reattachTarget || j.metadata?.name !== reattachTarget.jobName); + if (toDelete.length > 0) { + const orphanNames = toDelete.map((j) => j.metadata?.name).join(", "); + await onLog("stdout", `[paperclip] Cleaning up ${toDelete.length} orphaned K8s Job(s) from previous run(s): ${orphanNames}\n`); + for (const j of toDelete) { const name = j.metadata?.name; if (name) { await cleanupJob(guardNamespace, name, onLog, kubeconfigPath); @@ -317,81 +500,114 @@ export async function execute(ctx) { errorCode: "k8s_concurrency_guard_unreachable", }; } - // Build Job manifest - const { job, jobName, namespace, prompt, claudeArgs, promptMetrics, promptSecret } = buildJobManifest({ - ctx, - selfPod, - }); - // Report invocation metadata - if (onMeta) { - await onMeta({ - adapterType: "claude_k8s", - command: `kubectl job/${jobName}`, - cwd: namespace, - commandArgs: claudeArgs, - commandNotes: [ - `Image: ${job.spec?.template.spec?.containers[0]?.image ?? "unknown"}`, - `Namespace: ${namespace}`, - `Timeout: ${timeoutSec}s`, - ], - prompt, - ...(promptMetrics ? { promptMetrics } : {}), - context: ctx.context, - }); - } - // If the prompt is large, create a Secret to hold it (avoids the ~1 MiB - // PodSpec limit). The Secret is cleaned up in the finally block. const coreApi = getCoreApi(kubeconfigPath); - if (promptSecret) { - try { - await coreApi.createNamespacedSecret({ - namespace: promptSecret.namespace, - body: { - apiVersion: "v1", - kind: "Secret", - metadata: { - name: promptSecret.name, - namespace: promptSecret.namespace, - labels: { - "app.kubernetes.io/managed-by": "paperclip", - "paperclip.io/adapter-type": "claude_k8s", - "paperclip.io/run-id": runId, - }, - }, - stringData: promptSecret.data, - }, + const batchApi = getBatchApi(kubeconfigPath); + let jobName; + let namespace; + let promptSecret = null; + if (reattachTarget) { + jobName = reattachTarget.jobName; + namespace = reattachTarget.namespace; + // Announce reattach metadata. Prompt and args aren't known here — they + // belong to the prior run that created this pod and are already present + // on the running container. + if (onMeta) { + await onMeta({ + adapterType: "claude_k8s", + command: `kubectl job/${jobName}`, + cwd: namespace, + commandArgs: [], + commandNotes: [ + `Image: ${reattachTarget.image}`, + `Namespace: ${namespace}`, + `Reattached from prior run: ${reattachTarget.priorRunId || "unknown"}`, + `Timeout: ${timeoutSec}s`, + ], + prompt: "", + context: ctx.context, }); - await onLog("stdout", `[paperclip] Created prompt Secret: ${promptSecret.name} (${Math.round(Buffer.byteLength(prompt, "utf-8") / 1024)} KiB)\n`); + } + await onLog("stdout", `[paperclip] Reattaching to in-flight K8s Job ${jobName} in namespace ${namespace} (prior run ${reattachTarget.priorRunId || "unknown"})\n`); + } + else { + // Build Job manifest + const built = buildJobManifest({ ctx, selfPod }); + const job = built.job; + jobName = built.jobName; + namespace = built.namespace; + const prompt = built.prompt; + const claudeArgs = built.claudeArgs; + const promptMetrics = built.promptMetrics; + promptSecret = built.promptSecret; + // Report invocation metadata + if (onMeta) { + await onMeta({ + adapterType: "claude_k8s", + command: `kubectl job/${jobName}`, + cwd: namespace, + commandArgs: claudeArgs, + commandNotes: [ + `Image: ${job.spec?.template.spec?.containers[0]?.image ?? "unknown"}`, + `Namespace: ${namespace}`, + `Timeout: ${timeoutSec}s`, + ], + prompt, + ...(promptMetrics ? { promptMetrics } : {}), + context: ctx.context, + }); + } + // If the prompt is large, create a Secret to hold it (avoids the ~1 MiB + // PodSpec limit). The Secret is cleaned up in the finally block. + if (promptSecret) { + try { + await coreApi.createNamespacedSecret({ + namespace: promptSecret.namespace, + body: { + apiVersion: "v1", + kind: "Secret", + metadata: { + name: promptSecret.name, + namespace: promptSecret.namespace, + labels: { + "app.kubernetes.io/managed-by": "paperclip", + "paperclip.io/adapter-type": "claude_k8s", + "paperclip.io/run-id": runId, + }, + }, + stringData: promptSecret.data, + }, + }); + await onLog("stdout", `[paperclip] Created prompt Secret: ${promptSecret.name} (${Math.round(Buffer.byteLength(prompt, "utf-8") / 1024)} KiB)\n`); + } + catch (err) { + const msg = err instanceof Error ? err.message : String(err); + await onLog("stderr", `[paperclip] Failed to create prompt Secret: ${msg}\n`); + return { + exitCode: null, + signal: null, + timedOut: false, + errorMessage: `Failed to create prompt Secret: ${msg}`, + errorCode: "k8s_prompt_secret_create_failed", + }; + } + } + // Create the Job + try { + await batchApi.createNamespacedJob({ namespace, body: job }); } catch (err) { const msg = err instanceof Error ? err.message : String(err); - await onLog("stderr", `[paperclip] Failed to create prompt Secret: ${msg}\n`); + await onLog("stderr", `[paperclip] Failed to create K8s Job: ${msg}\n`); return { exitCode: null, signal: null, timedOut: false, - errorMessage: `Failed to create prompt Secret: ${msg}`, - errorCode: "k8s_prompt_secret_create_failed", + errorMessage: `Failed to create Kubernetes Job: ${msg}`, + errorCode: "k8s_job_create_failed", }; } + await onLog("stdout", `[paperclip] Created K8s Job: ${jobName} in namespace ${namespace} (deadline: ${timeoutSec > 0 ? `${timeoutSec}s` : "none"})\n`); } - // Create the Job - const batchApi = getBatchApi(kubeconfigPath); - try { - await batchApi.createNamespacedJob({ namespace, body: job }); - } - catch (err) { - const msg = err instanceof Error ? err.message : String(err); - await onLog("stderr", `[paperclip] Failed to create K8s Job: ${msg}\n`); - return { - exitCode: null, - signal: null, - timedOut: false, - errorMessage: `Failed to create Kubernetes Job: ${msg}`, - errorCode: "k8s_job_create_failed", - }; - } - await onLog("stdout", `[paperclip] Created K8s Job: ${jobName} in namespace ${namespace} (deadline: ${timeoutSec > 0 ? `${timeoutSec}s` : "none"})\n`); let stdout = ""; let exitCode = null; let jobTimedOut = false; @@ -404,8 +620,24 @@ export async function execute(ctx) { const scheduleTimeoutMs = 120_000; // 2 minutes for scheduling let podName; try { - podName = await waitForPod(namespace, jobName, scheduleTimeoutMs, onLog, kubeconfigPath); - await onLog("stdout", `[paperclip] Pod running: ${podName}\n`); + if (reattachTarget) { + // Pod is already running from the prior run — look it up directly. + const podList = await coreApi.listNamespacedPod({ + namespace, + labelSelector: `job-name=${jobName}`, + }); + const pod = podList.items[0]; + const name = pod?.metadata?.name; + if (!name) { + throw new Error(`Reattach target Job ${jobName} has no pod`); + } + podName = name; + await onLog("stdout", `[paperclip] Reattached to pod ${podName}\n`); + } + else { + podName = await waitForPod(namespace, jobName, scheduleTimeoutMs, onLog, kubeconfigPath); + await onLog("stdout", `[paperclip] Pod running: ${podName}\n`); + } // Notify the server that execution has started. This sets // processStartedAt and refreshes updatedAt in the DB, which the // stale-run reaper (reapOrphanedRuns) uses to decide liveness. @@ -419,13 +651,14 @@ export async function execute(ctx) { } catch (err) { const msg = err instanceof Error ? err.message : String(err); - await onLog("stderr", `[paperclip] Pod scheduling failed: ${msg}\n`); + const phase = reattachTarget ? "reattach" : "scheduling"; + await onLog("stderr", `[paperclip] Pod ${phase} failed: ${msg}\n`); return { exitCode: null, signal: null, timedOut: false, - errorMessage: `Pod scheduling failed: ${msg}`, - errorCode: "k8s_pod_schedule_failed", + errorMessage: `Pod ${phase} failed: ${msg}`, + errorCode: reattachTarget ? "k8s_pod_reattach_failed" : "k8s_pod_schedule_failed", }; } // Stream logs and wait for completion concurrently. @@ -457,18 +690,32 @@ export async function execute(ctx) { let lastLogAt = Date.now(); let keepaliveTick = 0; let keepaliveJobTerminal = false; + let keepaliveJobTerminalAt = null; keepaliveTimer = setInterval(() => { // Fire-and-forget the async work; setInterval callbacks must be // synchronous or the timer will drift. void (async () => { - if (keepaliveJobTerminal) + if (keepaliveJobTerminal) { + // Post-terminal window: keep refreshing onSpawn during cleanup + // (job deletion, log parsing, K8s API calls) so the reaper doesn't + // fire a false process_lost while execute() is still running. + if (ctx.onSpawn && + keepaliveJobTerminalAt !== null && + Date.now() - keepaliveJobTerminalAt <= POST_TERMINAL_KEEPALIVE_MS) { + keepaliveTick++; + if (keepaliveTick % 6 === 0) { + void ctx.onSpawn({ pid: process.pid, processGroupId: null, startedAt: new Date().toISOString() }).catch(() => { }); + } + } return; + } // Verify the Job is still alive before announcing or refreshing. try { const job = await batchApi.readNamespacedJob({ name: jobName, namespace }); const terminal = job.status?.conditions?.some((c) => (c.type === "Complete" || c.type === "Failed") && c.status === "True"); if (terminal) { keepaliveJobTerminal = true; + keepaliveJobTerminalAt = Date.now(); return; } } @@ -477,10 +724,9 @@ export async function execute(ctx) { // connection resets should NOT permanently disable the keepalive — // the next tick will re-check and the reaper uses the staleness // window as a safety net. - const statusCode = err?.response?.statusCode - ?? err?.statusCode; - if (statusCode === 404) { + if (isK8s404(err)) { keepaliveJobTerminal = true; + keepaliveJobTerminalAt = Date.now(); return; } // Log transient errors but leave keepaliveJobTerminal false so @@ -525,23 +771,44 @@ export async function execute(ctx) { if (logResult.status === "fulfilled") { stdout = logResult.value; } - // If the follow stream missed output (container exited quickly), do a - // one-shot log read as fallback before the pod is cleaned up. - if (!stdout.trim()) { - await onLog("stdout", `[paperclip] Log stream returned empty — reading pod logs directly...\n`); - stdout = await readPodLogs(namespace, podName, kubeconfigPath); - if (stdout.trim()) { + // One-shot log fallback: handles two failure modes with a single read. + // Mode 1 — empty stream: the follow stream returned nothing (fast exit before connection). + // Mode 2 — partial stream: we have some output but no result event (follow stream raced + // with container exit and captured only the init line before the connection dropped). + // A one-shot readPodLogs is more reliable for already-terminated containers and reads + // from the beginning of the log, giving us the full output. + // We use a cheap string scan for the result-event guard (avoids a full JSON parse here; + // the authoritative parse happens once below after all fallbacks complete). + const hasResultEvent = stdout.includes('"type":"result"'); + const needsOneShot = !stdout.trim() || (stdout.trim() && !hasResultEvent); + if (needsOneShot) { + if (!stdout.trim()) { + await onLog("stdout", `[paperclip] Log stream returned empty — reading pod logs directly...\n`); + } + const oneShotLogs = await readPodLogs(namespace, podName, kubeconfigPath); + if (!stdout.trim() && oneShotLogs.trim()) { + stdout = oneShotLogs; await onLog("stdout", stdout); } + else if (oneShotLogs && oneShotLogs.length > stdout.length) { + await onLog("stdout", `[paperclip] Log stream captured partial output — supplemental one-shot read returned more content.\n`); + stdout = oneShotLogs; + } } if (completionResult.status === "fulfilled") { jobTimedOut = completionResult.value.timedOut; + if (completionResult.value.jobGone) { + // Job was deleted by TTL or externally before we observed the Complete/Failed + // condition. The container must have exited first (TTL only fires after + // completion), so log streaming has captured the full output — continue + // to stdout parsing rather than returning an error. + await onLog("stdout", `[paperclip] Job ${jobName} was deleted before terminal condition was observed (TTL or external deletion) — proceeding with captured output.\n`); + } } else { - // waitForJobCompletion threw — re-check job state to avoid returning - // while the job is still running (which would cause UI staleness and - // concurrency errors on retry). Use a bounded timeout (60s) so we - // don't hang the heartbeat indefinitely if the K8s API is degraded. + // waitForJobCompletion threw an unexpected error — re-check job state to + // avoid returning while the job is still running. Use a bounded timeout + // (60s) so we don't hang the heartbeat indefinitely if the K8s API is degraded. jobTimedOut = false; const RECHECK_TIMEOUT_MS = 60_000; const actualState = await waitForJobCompletion(namespace, jobName, RECHECK_TIMEOUT_MS, kubeconfigPath); @@ -550,6 +817,11 @@ export async function execute(ctx) { // Return an error so the UI knows the run is not done. jobTimedOut = true; } + else if (actualState.jobGone) { + // Job was deleted before we could confirm terminal state — same as the + // fulfilled+jobGone case above: proceed with captured output. + await onLog("stdout", `[paperclip] Job ${jobName} was deleted before terminal condition was observed (TTL or external deletion) — proceeding with captured output.\n`); + } else if (!actualState.succeeded) { // Job still not terminal — the completion error was likely transient. // Return an error so the UI knows the run is not done, rather than @@ -615,16 +887,11 @@ export async function execute(ctx) { }; } if (!parsed) { - const stderrLine = stdout.split(/\r?\n/).map((l) => l.trim()).find(Boolean) ?? ""; return { exitCode, signal: null, timedOut: false, - errorMessage: exitCode === 0 - ? "Failed to parse Claude JSON output" - : stderrLine - ? `Claude exited with code ${exitCode ?? -1}: ${stderrLine}` - : `Claude exited with code ${exitCode ?? -1}`, + errorMessage: buildPartialRunError(exitCode, parsedStream.model, stdout), resultJson: { stdout }, }; } @@ -636,8 +903,7 @@ export async function execute(ctx) { outputTokens: asNumber(usageObj.output_tokens, 0), }; })(); - const runtimeSessionParams = parseObject(runtime.sessionParams); - const fallbackSessionId = asString(runtimeSessionParams.sessionId, runtime.sessionId ?? ""); + const fallbackSessionId = currentSessionIdRaw; const resolvedSessionId = parsedStream.sessionId ?? (asString(parsed.session_id, fallbackSessionId) || fallbackSessionId); const model = asString(config.model, ""); diff --git a/dist/server/execute.js.map b/dist/server/execute.js.map index 51d2a25..332ee7e 100644 --- a/dist/server/execute.js.map +++ b/dist/server/execute.js.map @@ -1 +1 @@ -{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/server/job-manifest.d.ts b/dist/server/job-manifest.d.ts index 38e2c4b..b4d2a0d 100644 --- a/dist/server/job-manifest.d.ts +++ b/dist/server/job-manifest.d.ts @@ -1,5 +1,19 @@ import type * as k8s from "@kubernetes/client-node"; import type { AdapterExecutionContext } from "@paperclipai/adapter-utils"; +/** + * Build the shell command prefix that installs a native Node.js PostToolUse + * hook into Claude Code's settings. The hook truncates oversized tool outputs + * before they reach the model — replacing the RTK binary init-container + * approach with a self-contained Node.js implementation. + * + * Both scripts are base64-encoded so they can be embedded in a sh -c command + * string without any quoting or escaping issues. + * + * @param maxOutputBytes Byte threshold above which tool output is truncated. + * @returns A shell command string (suitable for "&&"-chaining + * before the claude invocation). + */ +export declare function buildRtkSetupCommands(maxOutputBytes: number): string; import type { SelfPodInfo } from "./k8s-client.js"; export interface JobBuildInput { ctx: AdapterExecutionContext; @@ -24,5 +38,11 @@ export interface JobBuildResult { * staged as a K8s Secret before creating the Job. */ promptSecret: PromptSecret | null; } +/** + * Sanitize a string for use as a Kubernetes label value (RFC 1123 subset: + * `[a-zA-Z0-9]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?`, max 63 chars). Returns `null` + * when no usable characters remain — the caller should omit the label. + */ +export declare function sanitizeLabelValue(value: string, maxLen?: number): string | null; export declare function buildJobManifest(input: JobBuildInput): JobBuildResult; //# sourceMappingURL=job-manifest.d.ts.map \ No newline at end of file diff --git a/dist/server/job-manifest.d.ts.map b/dist/server/job-manifest.d.ts.map index 29a28a5..53d310d 100644 --- a/dist/server/job-manifest.d.ts.map +++ b/dist/server/job-manifest.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"job-manifest.d.ts","sourceRoot":"","sources":["../../src/server/job-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAgD1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA6CnD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,uBAAuB,CAAC;IAC7B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;+EAE+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;0DACsD;IACtD,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC;AAuHD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAkRrE"} \ No newline at end of file +{"version":3,"file":"job-manifest.d.ts","sourceRoot":"","sources":["../../src/server/job-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAY1E;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAiEpE;AAsCD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA6CnD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,uBAAuB,CAAC;IAC7B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;+EAE+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;0DACsD;IACtD,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,MAAM,GAAG,IAAI,CAI5E;AAmHD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAmSrE"} \ No newline at end of file diff --git a/dist/server/job-manifest.js b/dist/server/job-manifest.js index 2c8ab33..13c7d0a 100644 --- a/dist/server/job-manifest.js +++ b/dist/server/job-manifest.js @@ -1,5 +1,81 @@ import { asString, asNumber, asBoolean, asStringArray, parseObject, buildPaperclipEnv, renderTemplate, } from "@paperclipai/adapter-utils/server-utils"; import { createHash } from "node:crypto"; +/** + * Build the shell command prefix that installs a native Node.js PostToolUse + * hook into Claude Code's settings. The hook truncates oversized tool outputs + * before they reach the model — replacing the RTK binary init-container + * approach with a self-contained Node.js implementation. + * + * Both scripts are base64-encoded so they can be embedded in a sh -c command + * string without any quoting or escaping issues. + * + * @param maxOutputBytes Byte threshold above which tool output is truncated. + * @returns A shell command string (suitable for "&&"-chaining + * before the claude invocation). + */ +export function buildRtkSetupCommands(maxOutputBytes) { + // --- Filter script ---------------------------------------------------------- + // This script runs as the PostToolUse hook inside every K8s Job pod. + // Claude Code writes the hook event as JSON to the script's stdin; the script + // truncates the tool_response/tool_result content when it exceeds the + // threshold and writes the (possibly modified) JSON to stdout. + // + // Field-name coverage: + // • tool_response — documented hook event format for PostToolUse + // • tool_result — alternative name seen in some Claude Code versions + // Content may be a plain string or an array of typed blocks (text/image/…). + const filterScript = [ + `const c=[];`, + `process.stdin.on('data',d=>c.push(d));`, + `process.stdin.on('end',()=>{`, + `const raw=Buffer.concat(c).toString('utf-8');`, + `let o;try{o=JSON.parse(raw);}catch{process.stdout.write(raw);return;}`, + `const MAX=${maxOutputBytes};`, + `function trunc(s){`, + `if(typeof s!=='string')return s;`, + `const b=Buffer.from(s,'utf-8');`, + `if(b.length<=MAX)return s;`, + `return b.slice(0,MAX).toString('utf-8')+'\\n[...'+(b.length-MAX)+' bytes truncated by paperclip-rtk]';`, + `}`, + `const tr=o&&(o.tool_response||o.tool_result);`, + `if(tr){`, + `if(typeof tr.content==='string'){tr.content=trunc(tr.content);}`, + `else if(Array.isArray(tr.content)){`, + `tr.content=tr.content.map(function(b){`, + `if(b&&typeof b==='object'&&typeof b.text==='string'){`, + `return Object.assign({},b,{text:trunc(b.text)});`, + `}return b;`, + `});`, + `}`, + `}`, + `process.stdout.write(JSON.stringify(o));`, + `});`, + ].join(""); + // --- Settings script -------------------------------------------------------- + // Reads the existing ~/.claude/settings.json (if any), merges in the RTK + // PostToolUse hook, and writes the file back. All other settings sections + // are preserved; only PostToolUse is replaced so we own the full hook list + // for this run. + const settingsScript = [ + `const fs=require('fs'),pt=require('path');`, + `const p=pt.join(process.env.HOME,'.claude','settings.json');`, + `let s={};try{s=JSON.parse(fs.readFileSync(p,'utf-8'));}catch(e){}`, + `s.hooks=s.hooks||{};`, + `s.hooks.PostToolUse=[{matcher:'.*',hooks:[{type:'command',command:'node /tmp/.rtk-filter.js'}]}];`, + `fs.mkdirSync(pt.dirname(p),{recursive:true});`, + `fs.writeFileSync(p,JSON.stringify(s));`, + ].join(""); + // Encode as base64 so the strings can be embedded directly in a shell command + // without any quoting concerns (base64 alphabet: A-Za-z0-9+/=). + const filterB64 = Buffer.from(filterScript, "utf-8").toString("base64"); + const settingsB64 = Buffer.from(settingsScript, "utf-8").toString("base64"); + return [ + // Write the filter script + `node -e "require('fs').writeFileSync('/tmp/.rtk-filter.js',Buffer.from('${filterB64}','base64').toString('utf-8'))"`, + // Install the Claude Code PostToolUse hook (merge into existing settings) + `node -e "eval(Buffer.from('${settingsB64}','base64').toString('utf-8'))"`, + ].join(" && "); +} /** Prompts above this size (bytes) are staged via a Secret instead of an * init container env var, protecting against the ~1 MiB PodSpec limit. */ const LARGE_PROMPT_THRESHOLD_BYTES = 256 * 1024; @@ -91,6 +167,16 @@ function parseKeyValueConfig(raw) { function sanitizeForK8sName(value, maxLen = 16) { return value.toLowerCase().replace(/[^a-z0-9-]/g, "").slice(0, maxLen); } +/** + * Sanitize a string for use as a Kubernetes label value (RFC 1123 subset: + * `[a-zA-Z0-9]([-_.a-zA-Z0-9]*[a-zA-Z0-9])?`, max 63 chars). Returns `null` + * when no usable characters remain — the caller should omit the label. + */ +export function sanitizeLabelValue(value, maxLen = 63) { + const cleaned = value.replace(/[^a-zA-Z0-9._-]/g, "").slice(0, maxLen); + const trimmed = cleaned.replace(/^[^a-zA-Z0-9]+/, "").replace(/[^a-zA-Z0-9]+$/, ""); + return trimmed.length > 0 ? trimmed : null; +} /** * Build a short deterministic hash suffix from the raw inputs to avoid * collisions when sanitized slugs happen to be identical. @@ -202,6 +288,8 @@ export function buildJobManifest(input) { const nodeSelector = parseKeyValueConfig(config.nodeSelector); const tolerations = Array.isArray(config.tolerations) ? config.tolerations : []; const extraLabels = parseKeyValueConfig(config.labels); + const enableRtk = asBoolean(config.enableRtk, false); + const rtkMaxOutputBytes = asNumber(config.rtkMaxOutputBytes, 50000); // Resolve working directory — use workspace cwd, fall back to /paperclip const workspaceContext = parseObject(context.paperclipWorkspace); const workspaceCwd = asString(workspaceContext.cwd, ""); @@ -289,6 +377,17 @@ export function buildJobManifest(input) { "paperclip.io/company-id": agent.companyId, "paperclip.io/adapter-type": "claude_k8s", }; + // Reattach-target labels: let a future execute() identify this Job as the + // continuation of the same logical unit of work (same task + same resume + // session) so it can attach to the running pod across a Paperclip restart + // instead of deleting it and starting over (FAR-124). + const taskIdRaw = asString(context.taskId, "") || asString(context.issueId, ""); + const taskLabel = taskIdRaw ? sanitizeLabelValue(taskIdRaw) : null; + if (taskLabel) + labels["paperclip.io/task-id"] = taskLabel; + const sessionLabel = runtimeSessionId ? sanitizeLabelValue(runtimeSessionId) : null; + if (sessionLabel) + labels["paperclip.io/session-id"] = sessionLabel; for (const [key, value] of Object.entries(extraLabels)) { labels[key] = value; } @@ -345,7 +444,13 @@ export function buildJobManifest(input) { }; // Build the claude command string for the main container const claudeArgsEscaped = claudeArgs.map((a) => `'${a.replace(/'/g, "'\\''")}'`).join(" "); - const mainCommand = `cat /tmp/prompt/prompt.txt | claude ${claudeArgsEscaped}`; + const claudeInvocation = `cat /tmp/prompt/prompt.txt | claude ${claudeArgsEscaped}`; + // When RTK output filtering is enabled, prepend the Node.js hook setup. + // This writes a filter script and a Claude Code settings file that installs + // it as a PostToolUse hook — no external binary or init container required. + const mainCommand = enableRtk + ? `${buildRtkSetupCommands(rtkMaxOutputBytes)} && ${claudeInvocation}` + : claudeInvocation; // Decide prompt delivery strategy: env var (small) or Secret volume (large). const promptBytes = Buffer.byteLength(prompt, "utf-8"); const useLargePromptPath = promptBytes > LARGE_PROMPT_THRESHOLD_BYTES; diff --git a/dist/server/job-manifest.js.map b/dist/server/job-manifest.js.map index 1fd9cf6..0c817f5 100644 --- a/dist/server/job-manifest.js.map +++ b/dist/server/job-manifest.js.map @@ -1 +1 @@ -{"version":3,"file":"job-manifest.js","sourceRoot":"","sources":["../../src/server/job-manifest.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"job-manifest.js","sourceRoot":"","sources":["../../src/server/job-manifest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 97b5e4f..7fe9f04 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "paperclip-adapter-claude-k8s", - "version": "0.1.31", + "version": "0.1.32", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "paperclip-adapter-claude-k8s", - "version": "0.1.31", + "version": "0.1.32", "license": "MIT", "dependencies": { "@kubernetes/client-node": "^1.0.0",