@penclipai/adapter-codebuddy-local 2026.402.0-canary.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cli/format-event.d.ts +2 -0
  3. package/dist/cli/format-event.d.ts.map +1 -0
  4. package/dist/cli/format-event.js +219 -0
  5. package/dist/cli/format-event.js.map +1 -0
  6. package/dist/cli/index.d.ts +2 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +2 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/index.d.ts +10 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +45 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/server/execute.d.ts +3 -0
  15. package/dist/server/execute.d.ts.map +1 -0
  16. package/dist/server/execute.js +391 -0
  17. package/dist/server/execute.js.map +1 -0
  18. package/dist/server/index.d.ts +8 -0
  19. package/dist/server/index.d.ts.map +1 -0
  20. package/dist/server/index.js +63 -0
  21. package/dist/server/index.js.map +1 -0
  22. package/dist/server/models.d.ts +20 -0
  23. package/dist/server/models.d.ts.map +1 -0
  24. package/dist/server/models.js +147 -0
  25. package/dist/server/models.js.map +1 -0
  26. package/dist/server/parse.d.ts +13 -0
  27. package/dist/server/parse.d.ts.map +1 -0
  28. package/dist/server/parse.js +181 -0
  29. package/dist/server/parse.js.map +1 -0
  30. package/dist/server/skills.d.ts +19 -0
  31. package/dist/server/skills.d.ts.map +1 -0
  32. package/dist/server/skills.js +122 -0
  33. package/dist/server/skills.js.map +1 -0
  34. package/dist/server/test.d.ts +3 -0
  35. package/dist/server/test.d.ts.map +1 -0
  36. package/dist/server/test.js +155 -0
  37. package/dist/server/test.js.map +1 -0
  38. package/dist/shared/permissions.d.ts +2 -0
  39. package/dist/shared/permissions.d.ts.map +1 -0
  40. package/dist/shared/permissions.js +7 -0
  41. package/dist/shared/permissions.js.map +1 -0
  42. package/dist/shared/stream.d.ts +5 -0
  43. package/dist/shared/stream.d.ts.map +1 -0
  44. package/dist/shared/stream.js +13 -0
  45. package/dist/shared/stream.js.map +1 -0
  46. package/dist/ui/build-config.d.ts +3 -0
  47. package/dist/ui/build-config.d.ts.map +1 -0
  48. package/dist/ui/build-config.js +116 -0
  49. package/dist/ui/build-config.js.map +1 -0
  50. package/dist/ui/index.d.ts +3 -0
  51. package/dist/ui/index.d.ts.map +1 -0
  52. package/dist/ui/index.js +3 -0
  53. package/dist/ui/index.js.map +1 -0
  54. package/dist/ui/parse-stdout.d.ts +3 -0
  55. package/dist/ui/parse-stdout.d.ts.map +1 -0
  56. package/dist/ui/parse-stdout.js +295 -0
  57. package/dist/ui/parse-stdout.js.map +1 -0
  58. package/package.json +54 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Paperclip AI
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,2 @@
1
+ export declare function printCodeBuddyStreamEvent(raw: string, _debug: boolean): void;
2
+ //# sourceMappingURL=format-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-event.d.ts","sourceRoot":"","sources":["../../src/cli/format-event.ts"],"names":[],"mappings":"AA0JA,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAiF5E"}
@@ -0,0 +1,219 @@
1
+ import pc from "picocolors";
2
+ import { normalizeCodeBuddyStreamLine } from "../shared/stream.js";
3
+ function asRecord(value) {
4
+ if (typeof value !== "object" || value === null || Array.isArray(value))
5
+ return null;
6
+ return value;
7
+ }
8
+ function asString(value, fallback = "") {
9
+ return typeof value === "string" ? value : fallback;
10
+ }
11
+ function asNumber(value, fallback = 0) {
12
+ return typeof value === "number" && Number.isFinite(value) ? value : fallback;
13
+ }
14
+ function stringifyUnknown(value) {
15
+ if (typeof value === "string")
16
+ return value;
17
+ if (value === null || value === undefined)
18
+ return "";
19
+ try {
20
+ return JSON.stringify(value, null, 2);
21
+ }
22
+ catch {
23
+ return String(value);
24
+ }
25
+ }
26
+ function printUserMessage(messageRaw) {
27
+ if (typeof messageRaw === "string") {
28
+ const text = messageRaw.trim();
29
+ if (text)
30
+ console.log(pc.gray(`user: ${text}`));
31
+ return;
32
+ }
33
+ const message = asRecord(messageRaw);
34
+ if (!message)
35
+ return;
36
+ const directText = asString(message.text).trim();
37
+ if (directText)
38
+ console.log(pc.gray(`user: ${directText}`));
39
+ const content = Array.isArray(message.content) ? message.content : [];
40
+ for (const partRaw of content) {
41
+ const part = asRecord(partRaw);
42
+ if (!part)
43
+ continue;
44
+ const type = asString(part.type).trim();
45
+ if (type !== "output_text" && type !== "text")
46
+ continue;
47
+ const text = asString(part.text).trim();
48
+ if (text)
49
+ console.log(pc.gray(`user: ${text}`));
50
+ }
51
+ }
52
+ function printAssistantMessage(messageRaw) {
53
+ if (typeof messageRaw === "string") {
54
+ const text = messageRaw.trim();
55
+ if (text)
56
+ console.log(pc.green(`assistant: ${text}`));
57
+ return;
58
+ }
59
+ const message = asRecord(messageRaw);
60
+ if (!message)
61
+ return;
62
+ const directText = asString(message.text).trim();
63
+ if (directText)
64
+ console.log(pc.green(`assistant: ${directText}`));
65
+ const content = Array.isArray(message.content) ? message.content : [];
66
+ for (const partRaw of content) {
67
+ const part = asRecord(partRaw);
68
+ if (!part)
69
+ continue;
70
+ const type = asString(part.type).trim();
71
+ if (type === "output_text" || type === "text") {
72
+ const text = asString(part.text).trim();
73
+ if (text)
74
+ console.log(pc.green(`assistant: ${text}`));
75
+ continue;
76
+ }
77
+ if (type === "thinking") {
78
+ const text = asString(part.text).trim();
79
+ if (text)
80
+ console.log(pc.gray(`thinking: ${text}`));
81
+ continue;
82
+ }
83
+ if (type === "tool_call") {
84
+ const name = asString(part.name, asString(part.tool, "tool"));
85
+ console.log(pc.yellow(`tool_call: ${name}`));
86
+ const input = part.input ?? part.arguments ?? part.args;
87
+ if (input !== undefined) {
88
+ console.log(pc.gray(stringifyUnknown(input)));
89
+ }
90
+ continue;
91
+ }
92
+ if (type === "tool_result") {
93
+ const isError = part.is_error === true || asString(part.status).toLowerCase() === "error";
94
+ const contentText = asString(part.output) ||
95
+ asString(part.text) ||
96
+ asString(part.result) ||
97
+ stringifyUnknown(part.output ?? part.result ?? part.text ?? part);
98
+ console.log((isError ? pc.red : pc.cyan)(`tool_result${isError ? " (error)" : ""}`));
99
+ if (contentText)
100
+ console.log((isError ? pc.red : pc.gray)(contentText));
101
+ }
102
+ }
103
+ }
104
+ function printToolCallEventTopLevel(parsed) {
105
+ const subtype = asString(parsed.subtype).trim().toLowerCase();
106
+ const callId = asString(parsed.call_id, asString(parsed.callId, asString(parsed.id, "")));
107
+ const toolCall = asRecord(parsed.tool_call ?? parsed.toolCall);
108
+ if (!toolCall) {
109
+ console.log(pc.yellow(`tool_call${subtype ? `: ${subtype}` : ""}`));
110
+ return;
111
+ }
112
+ const [toolName] = Object.keys(toolCall);
113
+ if (!toolName) {
114
+ console.log(pc.yellow(`tool_call${subtype ? `: ${subtype}` : ""}`));
115
+ return;
116
+ }
117
+ const payload = asRecord(toolCall[toolName]) ?? {};
118
+ const args = payload.args ?? asRecord(payload.function)?.arguments;
119
+ const result = payload.result ??
120
+ payload.output ??
121
+ payload.error ??
122
+ asRecord(payload.function)?.result ??
123
+ asRecord(payload.function)?.output;
124
+ const isError = parsed.is_error === true ||
125
+ payload.is_error === true ||
126
+ subtype === "failed" ||
127
+ subtype === "error" ||
128
+ subtype === "cancelled" ||
129
+ payload.error !== undefined;
130
+ if (subtype === "started" || subtype === "start") {
131
+ console.log(pc.yellow(`tool_call: ${toolName}${callId ? ` (${callId})` : ""}`));
132
+ if (args !== undefined) {
133
+ console.log(pc.gray(stringifyUnknown(args)));
134
+ }
135
+ return;
136
+ }
137
+ if (subtype === "completed" || subtype === "complete" || subtype === "finished") {
138
+ const header = `tool_result${isError ? " (error)" : ""}${callId ? ` (${callId})` : ""}`;
139
+ console.log((isError ? pc.red : pc.cyan)(header));
140
+ if (result !== undefined) {
141
+ console.log((isError ? pc.red : pc.gray)(stringifyUnknown(result)));
142
+ }
143
+ return;
144
+ }
145
+ console.log(pc.yellow(`tool_call: ${toolName}${subtype ? ` (${subtype})` : ""}`));
146
+ }
147
+ export function printCodeBuddyStreamEvent(raw, _debug) {
148
+ const line = normalizeCodeBuddyStreamLine(raw).line;
149
+ if (!line)
150
+ return;
151
+ let parsed = null;
152
+ try {
153
+ parsed = JSON.parse(line);
154
+ }
155
+ catch {
156
+ console.log(line);
157
+ return;
158
+ }
159
+ const type = asString(parsed.type);
160
+ if (type === "system") {
161
+ const subtype = asString(parsed.subtype);
162
+ if (subtype === "init") {
163
+ const sessionId = asString(parsed.session_id) ||
164
+ asString(parsed.sessionId) ||
165
+ asString(parsed.sessionID);
166
+ const model = asString(parsed.model);
167
+ const details = [sessionId ? `session: ${sessionId}` : "", model ? `model: ${model}` : ""]
168
+ .filter(Boolean)
169
+ .join(", ");
170
+ console.log(pc.blue(`CodeBuddy init${details ? ` (${details})` : ""}`));
171
+ return;
172
+ }
173
+ console.log(pc.blue(`system: ${subtype || "event"}`));
174
+ return;
175
+ }
176
+ if (type === "assistant") {
177
+ printAssistantMessage(parsed.message);
178
+ return;
179
+ }
180
+ if (type === "user") {
181
+ printUserMessage(parsed.message);
182
+ return;
183
+ }
184
+ if (type === "thinking") {
185
+ const text = asString(parsed.text).trim() || asString(asRecord(parsed.delta)?.text).trim();
186
+ if (text)
187
+ console.log(pc.gray(`thinking: ${text}`));
188
+ return;
189
+ }
190
+ if (type === "tool_call") {
191
+ printToolCallEventTopLevel(parsed);
192
+ return;
193
+ }
194
+ if (type === "result") {
195
+ const usage = asRecord(parsed.usage);
196
+ const input = asNumber(usage?.input_tokens, asNumber(usage?.inputTokens));
197
+ const output = asNumber(usage?.output_tokens, asNumber(usage?.outputTokens));
198
+ const cached = asNumber(usage?.cached_input_tokens, asNumber(usage?.cachedInputTokens, asNumber(usage?.cache_read_input_tokens)));
199
+ const cost = asNumber(parsed.total_cost_usd, asNumber(parsed.cost_usd, asNumber(parsed.cost)));
200
+ const subtype = asString(parsed.subtype, "result");
201
+ const isError = parsed.is_error === true || subtype === "error" || subtype === "failed";
202
+ console.log(pc.blue(`result: subtype=${subtype}`));
203
+ console.log(pc.blue(`tokens: in=${input} out=${output} cached=${cached} cost=$${cost.toFixed(6)}`));
204
+ const resultText = asString(parsed.result).trim();
205
+ if (resultText)
206
+ console.log((isError ? pc.red : pc.green)(`assistant: ${resultText}`));
207
+ const errors = Array.isArray(parsed.errors) ? parsed.errors.map((value) => stringifyUnknown(value)).filter(Boolean) : [];
208
+ if (errors.length > 0)
209
+ console.log(pc.red(`errors: ${errors.join(" | ")}`));
210
+ return;
211
+ }
212
+ if (type === "error") {
213
+ const message = asString(parsed.message) || stringifyUnknown(parsed.error ?? parsed.detail) || line;
214
+ console.log(pc.red(`error: ${message}`));
215
+ return;
216
+ }
217
+ console.log(line);
218
+ }
219
+ //# sourceMappingURL=format-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-event.js","sourceRoot":"","sources":["../../src/cli/format-event.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { printCodeBuddyStreamEvent } from "./format-event.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { printCodeBuddyStreamEvent } from "./format-event.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const type = "codebuddy_local";
2
+ export declare const label = "CodeBuddy (local)";
3
+ export declare const DEFAULT_CODEBUDDY_LOCAL_MODEL = "glm-5.0";
4
+ export declare const DEFAULT_CODEBUDDY_LOCAL_SKIP_PERMISSIONS = true;
5
+ export declare const models: Array<{
6
+ id: string;
7
+ label: string;
8
+ }>;
9
+ export declare const agentConfigurationDoc = "# codebuddy_local agent configuration\n\nAdapter: codebuddy_local\n\nUse when:\n- You want Paperclip to run CodeBuddy CLI locally on the host machine\n- You want CodeBuddy conversation resume across wake-ups via --resume\n- You want CodeBuddy's local multi-model runtime with structured stream-json logs\n\nDon't use when:\n- You need webhook-style or remote gateway invocation (use openclaw_gateway or http)\n- You only need a one-shot process execution (use process)\n- CodeBuddy CLI is not installed or authenticated on the machine\n\nCore fields:\n- cwd (string, optional): default absolute working directory fallback for the agent process\n- instructionsFilePath (string, optional): absolute path to a markdown instructions file prepended to the run prompt\n- promptTemplate (string, optional): run prompt template\n- model (string, optional): CodeBuddy model id (defaults to glm-5.0)\n- effort (string, optional): CodeBuddy reasoning effort (low|medium|high|xhigh)\n- maxTurnsPerRun (number, optional): passed as --max-turns when greater than zero\n- dangerouslySkipPermissions (boolean, optional): auto-add -y unless permission flags are already present\n- command (string, optional): defaults to \"codebuddy\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): termination grace period in seconds\n\nNotes:\n- Runs are executed with: codebuddy -p --output-format stream-json ...\n- Prompts are piped to CodeBuddy via stdin.\n- CodeBuddy models are discovered dynamically from `codebuddy --help`.\n- Run `codebuddy --help` to inspect the current CLI version's supported model list.\n- Sessions are resumed with --resume when stored session cwd matches current cwd.\n- Paperclip auto-injects shared skills into \"~/.codebuddy/skills\" when missing so CodeBuddy can discover \"$paperclip\" and related skills on local runs.\n- Paperclip auto-adds -y unless one of -y, --dangerously-skip-permissions, or --permission-mode is already present in extraArgs.\n";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,oBAAoB,CAAC;AACtC,eAAO,MAAM,KAAK,sBAAsB,CAAC;AACzC,eAAO,MAAM,6BAA6B,YAAY,CAAC;AACvD,eAAO,MAAM,wCAAwC,OAAO,CAAC;AAE7D,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC;AAE/D,eAAO,MAAM,qBAAqB,4lEAsCjC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,45 @@
1
+ export const type = "codebuddy_local";
2
+ export const label = "CodeBuddy (local)";
3
+ export const DEFAULT_CODEBUDDY_LOCAL_MODEL = "glm-5.0";
4
+ export const DEFAULT_CODEBUDDY_LOCAL_SKIP_PERMISSIONS = true;
5
+ export const models = [];
6
+ export const agentConfigurationDoc = `# codebuddy_local agent configuration
7
+
8
+ Adapter: codebuddy_local
9
+
10
+ Use when:
11
+ - You want Paperclip to run CodeBuddy CLI locally on the host machine
12
+ - You want CodeBuddy conversation resume across wake-ups via --resume
13
+ - You want CodeBuddy's local multi-model runtime with structured stream-json logs
14
+
15
+ Don't use when:
16
+ - You need webhook-style or remote gateway invocation (use openclaw_gateway or http)
17
+ - You only need a one-shot process execution (use process)
18
+ - CodeBuddy CLI is not installed or authenticated on the machine
19
+
20
+ Core fields:
21
+ - cwd (string, optional): default absolute working directory fallback for the agent process
22
+ - instructionsFilePath (string, optional): absolute path to a markdown instructions file prepended to the run prompt
23
+ - promptTemplate (string, optional): run prompt template
24
+ - model (string, optional): CodeBuddy model id (defaults to glm-5.0)
25
+ - effort (string, optional): CodeBuddy reasoning effort (low|medium|high|xhigh)
26
+ - maxTurnsPerRun (number, optional): passed as --max-turns when greater than zero
27
+ - dangerouslySkipPermissions (boolean, optional): auto-add -y unless permission flags are already present
28
+ - command (string, optional): defaults to "codebuddy"
29
+ - extraArgs (string[], optional): additional CLI args
30
+ - env (object, optional): KEY=VALUE environment variables
31
+
32
+ Operational fields:
33
+ - timeoutSec (number, optional): run timeout in seconds
34
+ - graceSec (number, optional): termination grace period in seconds
35
+
36
+ Notes:
37
+ - Runs are executed with: codebuddy -p --output-format stream-json ...
38
+ - Prompts are piped to CodeBuddy via stdin.
39
+ - CodeBuddy models are discovered dynamically from \`codebuddy --help\`.
40
+ - Run \`codebuddy --help\` to inspect the current CLI version's supported model list.
41
+ - Sessions are resumed with --resume when stored session cwd matches current cwd.
42
+ - Paperclip auto-injects shared skills into "~/.codebuddy/skills" when missing so CodeBuddy can discover "$paperclip" and related skills on local runs.
43
+ - Paperclip auto-adds -y unless one of -y, --dangerously-skip-permissions, or --permission-mode is already present in extraArgs.
44
+ `;
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,iBAAiB,CAAC;AACtC,MAAM,CAAC,MAAM,KAAK,GAAG,mBAAmB,CAAC;AACzC,MAAM,CAAC,MAAM,6BAA6B,GAAG,SAAS,CAAC;AACvD,MAAM,CAAC,MAAM,wCAAwC,GAAG,IAAI,CAAC;AAE7D,MAAM,CAAC,MAAM,MAAM,GAAyC,EAAE,CAAC;AAE/D,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCpC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type AdapterExecutionContext, type AdapterExecutionResult } from "@penclipai/adapter-utils";
2
+ export declare function execute(ctx: AdapterExecutionContext): Promise<AdapterExecutionResult>;
3
+ //# sourceMappingURL=execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+B,KAAK,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AA0FlI,wBAAsB,OAAO,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAgX3F"}