c7706d742f
Defensive follow-up to the FAR-10 fix. The original patch aborts the in-flight follow stream by destroying the Writable once stopSignal fires, and relies on the @kubernetes/client-node library propagating that destroy into an abort of the underlying HTTP request. If that propagation ever fails (e.g. the client is awaiting a response that never arrives), logApi.log() can still hang forever. Adds a Promise.race with a 3s bail timer that starts when stopSignal fires. In the happy path (destroy-propagation works), logApi.log() resolves first and the bail timer is cleared. In the failure path, the bail timer fires and streamPodLogsOnce returns with whatever chunks were captured — preventing the hang from reaching execute(). No test change: existing 267 tests pass and the race path needs a k8s mock to exercise end-to-end; validated by monitoring real runs. Co-Authored-By: Paperclip <noreply@paperclip.ing>
50 lines
1.3 KiB
JSON
50 lines
1.3 KiB
JSON
{
|
|
"name": "paperclip-adapter-claude-k8s",
|
|
"version": "0.1.31",
|
|
"description": "Paperclip adapter plugin that runs Claude Code agents as Kubernetes Jobs",
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/farhoodlabs/paperclip-adapter-claude-k8s"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/farhoodlabs/paperclip-adapter-claude-k8s/issues"
|
|
},
|
|
"homepage": "https://github.com/farhoodlabs/paperclip-adapter-claude-k8s#readme",
|
|
"type": "module",
|
|
"paperclip": {
|
|
"adapterUiParser": "1.0.0"
|
|
},
|
|
"exports": {
|
|
".": "./dist/index.js",
|
|
"./server": "./dist/server/index.js",
|
|
"./ui-parser": "./dist/ui-parser.js",
|
|
"./cli": "./dist/cli/index.js"
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"clean": "rm -rf dist",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"coverage": "vitest run --coverage"
|
|
},
|
|
"dependencies": {
|
|
"@kubernetes/client-node": "^1.0.0",
|
|
"picocolors": "^1.1.1"
|
|
},
|
|
"peerDependencies": {
|
|
"@paperclipai/adapter-utils": ">=2026.415.0-canary.7"
|
|
},
|
|
"devDependencies": {
|
|
"@paperclipai/adapter-utils": "2026.415.0-canary.7",
|
|
"@types/node": "^24.6.0",
|
|
"@vitest/coverage-v8": "^4.1.4",
|
|
"typescript": "^5.7.3",
|
|
"vitest": "^4.1.4"
|
|
}
|
|
}
|