@tickernelz/paperclip-pro-adapter-kimi-local 2026.925.0
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.
- package/LICENSE +22 -0
- package/dist/cli/format-event.d.ts +2 -0
- package/dist/cli/format-event.d.ts.map +1 -0
- package/dist/cli/format-event.js +95 -0
- package/dist/cli/format-event.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +82 -0
- package/dist/index.js.map +1 -0
- package/dist/server/acp.d.ts +19 -0
- package/dist/server/acp.d.ts.map +1 -0
- package/dist/server/acp.js +316 -0
- package/dist/server/acp.js.map +1 -0
- package/dist/server/acp.test.d.ts +2 -0
- package/dist/server/acp.test.d.ts.map +1 -0
- package/dist/server/acp.test.js +57 -0
- package/dist/server/acp.test.js.map +1 -0
- package/dist/server/engine-availability.test.d.ts +2 -0
- package/dist/server/engine-availability.test.d.ts.map +1 -0
- package/dist/server/engine-availability.test.js +41 -0
- package/dist/server/engine-availability.test.js.map +1 -0
- package/dist/server/execute.acp-failure.test.d.ts +2 -0
- package/dist/server/execute.acp-failure.test.d.ts.map +1 -0
- package/dist/server/execute.acp-failure.test.js +22 -0
- package/dist/server/execute.acp-failure.test.js.map +1 -0
- package/dist/server/execute.d.ts +3 -0
- package/dist/server/execute.d.ts.map +1 -0
- package/dist/server/execute.js +630 -0
- package/dist/server/execute.js.map +1 -0
- package/dist/server/execute.test.d.ts +2 -0
- package/dist/server/execute.test.d.ts.map +1 -0
- package/dist/server/execute.test.js +354 -0
- package/dist/server/execute.test.js.map +1 -0
- package/dist/server/index.d.ts +8 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +66 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/parse.d.ts +66 -0
- package/dist/server/parse.d.ts.map +1 -0
- package/dist/server/parse.js +194 -0
- package/dist/server/parse.js.map +1 -0
- package/dist/server/parse.test.d.ts +2 -0
- package/dist/server/parse.test.d.ts.map +1 -0
- package/dist/server/parse.test.js +155 -0
- package/dist/server/parse.test.js.map +1 -0
- package/dist/server/skills.d.ts +4 -0
- package/dist/server/skills.d.ts.map +1 -0
- package/dist/server/skills.js +73 -0
- package/dist/server/skills.js.map +1 -0
- package/dist/server/test.d.ts +3 -0
- package/dist/server/test.d.ts.map +1 -0
- package/dist/server/test.js +306 -0
- package/dist/server/test.js.map +1 -0
- package/dist/server/test.test.d.ts +2 -0
- package/dist/server/test.test.d.ts.map +1 -0
- package/dist/server/test.test.js +126 -0
- package/dist/server/test.test.js.map +1 -0
- package/dist/server/utils.d.ts +2 -0
- package/dist/server/utils.d.ts.map +1 -0
- package/dist/server/utils.js +7 -0
- package/dist/server/utils.js.map +1 -0
- package/dist/ui/build-config.d.ts +3 -0
- package/dist/ui/build-config.d.ts.map +1 -0
- package/dist/ui/build-config.js +79 -0
- package/dist/ui/build-config.js.map +1 -0
- package/dist/ui/build-config.test.d.ts +2 -0
- package/dist/ui/build-config.test.d.ts.map +1 -0
- package/dist/ui/build-config.test.js +73 -0
- package/dist/ui/build-config.test.js.map +1 -0
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +3 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/parse-stdout.d.ts +9 -0
- package/dist/ui/parse-stdout.d.ts.map +1 -0
- package/dist/ui/parse-stdout.js +110 -0
- package/dist/ui/parse-stdout.js.map +1 -0
- package/dist/ui/parse-stdout.test.d.ts +2 -0
- package/dist/ui/parse-stdout.test.d.ts.map +1 -0
- package/dist/ui/parse-stdout.test.js +84 -0
- package/dist/ui/parse-stdout.test.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.test.d.ts","sourceRoot":"","sources":["../../src/server/execute.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
5
|
+
const ensureRuntimeInstalledMock = vi.hoisted(() => vi.fn(async () => { }));
|
|
6
|
+
const ensureCommandMock = vi.hoisted(() => vi.fn(async () => { }));
|
|
7
|
+
const prepareRuntimeMock = vi.hoisted(() => vi.fn(async () => ({
|
|
8
|
+
workspaceRemoteDir: null,
|
|
9
|
+
restoreWorkspace: async () => { },
|
|
10
|
+
})));
|
|
11
|
+
const resolveCommandForLogsMock = vi.hoisted(() => vi.fn(async () => "kimi"));
|
|
12
|
+
const runProcessMock = vi.hoisted(() => vi.fn());
|
|
13
|
+
vi.mock("@tickernelz/paperclip-pro-adapter-utils/execution-target", () => ({
|
|
14
|
+
adapterExecutionTargetIsRemote: () => false,
|
|
15
|
+
adapterExecutionTargetRemoteCwd: (_target, cwd) => cwd,
|
|
16
|
+
overrideAdapterExecutionTargetRemoteCwd: (target, _cwd) => target,
|
|
17
|
+
adapterExecutionTargetSessionIdentity: () => ({ kind: "local" }),
|
|
18
|
+
adapterExecutionTargetSessionMatches: () => true,
|
|
19
|
+
adapterExecutionTargetUsesManagedHome: () => false,
|
|
20
|
+
adapterExecutionTargetUsesPaperclipBridge: () => false,
|
|
21
|
+
describeAdapterExecutionTarget: () => "local",
|
|
22
|
+
ensureAdapterExecutionTargetCommandResolvable: ensureCommandMock,
|
|
23
|
+
ensureAdapterExecutionTargetRuntimeCommandInstalled: ensureRuntimeInstalledMock,
|
|
24
|
+
prepareAdapterExecutionTargetRuntime: prepareRuntimeMock,
|
|
25
|
+
readAdapterExecutionTarget: ({ executionTarget }) => executionTarget ?? { kind: "local" },
|
|
26
|
+
readAdapterExecutionTargetHomeDir: async () => null,
|
|
27
|
+
resolveAdapterExecutionTargetCommandForLogs: resolveCommandForLogsMock,
|
|
28
|
+
resolveAdapterExecutionTargetTimeoutSec: (_target, timeoutSec) => timeoutSec,
|
|
29
|
+
runAdapterExecutionTargetProcess: runProcessMock,
|
|
30
|
+
runAdapterExecutionTargetShellCommand: async () => ({ exitCode: 0, stdout: "", stderr: "" }),
|
|
31
|
+
startAdapterExecutionTargetPaperclipBridge: async () => null,
|
|
32
|
+
}));
|
|
33
|
+
import { execute } from "./execute.js";
|
|
34
|
+
const tempRoots = [];
|
|
35
|
+
async function makeTempRoot() {
|
|
36
|
+
const root = await fs.mkdtemp(path.join(os.tmpdir(), "paperclip-kimi-local-"));
|
|
37
|
+
tempRoots.push(root);
|
|
38
|
+
return root;
|
|
39
|
+
}
|
|
40
|
+
function makeContext(root, overrides = {}) {
|
|
41
|
+
const ctx = {
|
|
42
|
+
runId: "run-1",
|
|
43
|
+
agent: {
|
|
44
|
+
id: "agent-1",
|
|
45
|
+
companyId: "company-1",
|
|
46
|
+
name: "Kimi Agent",
|
|
47
|
+
adapterType: "kimi_local",
|
|
48
|
+
adapterConfig: {},
|
|
49
|
+
},
|
|
50
|
+
runtime: {
|
|
51
|
+
sessionId: null,
|
|
52
|
+
sessionParams: null,
|
|
53
|
+
sessionDisplayId: null,
|
|
54
|
+
taskKey: null,
|
|
55
|
+
},
|
|
56
|
+
config: { cwd: root },
|
|
57
|
+
context: {},
|
|
58
|
+
authToken: "run-token",
|
|
59
|
+
onLog: async () => { },
|
|
60
|
+
...overrides,
|
|
61
|
+
};
|
|
62
|
+
// Default these CLI-lane tests to the CLI engine so they never depend on
|
|
63
|
+
// whether `kimi` is resolvable on PATH (ACP is the runtime default). Tests
|
|
64
|
+
// that need ACP can set engine explicitly in their config override.
|
|
65
|
+
ctx.config = { engine: "cli", ...ctx.config };
|
|
66
|
+
return ctx;
|
|
67
|
+
}
|
|
68
|
+
const KIMI_STDOUT = [
|
|
69
|
+
JSON.stringify({ role: "assistant", content: "done" }),
|
|
70
|
+
JSON.stringify({
|
|
71
|
+
role: "meta",
|
|
72
|
+
type: "session.resume_hint",
|
|
73
|
+
session_id: "session_abc-123",
|
|
74
|
+
command: "kimi -r session_abc-123",
|
|
75
|
+
}),
|
|
76
|
+
].join("\n");
|
|
77
|
+
describe("kimi_local execute", () => {
|
|
78
|
+
beforeEach(() => {
|
|
79
|
+
ensureRuntimeInstalledMock.mockClear();
|
|
80
|
+
ensureCommandMock.mockClear();
|
|
81
|
+
prepareRuntimeMock.mockClear();
|
|
82
|
+
resolveCommandForLogsMock.mockClear();
|
|
83
|
+
runProcessMock.mockReset();
|
|
84
|
+
});
|
|
85
|
+
afterEach(async () => {
|
|
86
|
+
await Promise.all(tempRoots.splice(0).map((root) => fs.rm(root, { recursive: true, force: true })));
|
|
87
|
+
});
|
|
88
|
+
it("runs kimi headless with stream-json and captures the session id from the meta event", async () => {
|
|
89
|
+
const root = await makeTempRoot();
|
|
90
|
+
let seenArgs = [];
|
|
91
|
+
let seenEnv = {};
|
|
92
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, args, options) => {
|
|
93
|
+
seenArgs = args;
|
|
94
|
+
seenEnv = options.env;
|
|
95
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: KIMI_STDOUT, stderr: "" };
|
|
96
|
+
});
|
|
97
|
+
const result = await execute(makeContext(root));
|
|
98
|
+
expect(seenArgs[0]).toBe("--output-format");
|
|
99
|
+
expect(seenArgs[1]).toBe("stream-json");
|
|
100
|
+
expect(seenArgs).not.toContain("-m");
|
|
101
|
+
expect(seenArgs).not.toContain("-r");
|
|
102
|
+
expect(seenArgs[seenArgs.length - 2]).toBe("-p");
|
|
103
|
+
expect(seenEnv.CI).toBe("1");
|
|
104
|
+
expect(seenEnv.NO_COLOR).toBe("1");
|
|
105
|
+
expect(seenEnv.KIMI_CODE_NO_AUTO_UPDATE).toBe("1");
|
|
106
|
+
expect(result).toMatchObject({
|
|
107
|
+
exitCode: 0,
|
|
108
|
+
errorMessage: null,
|
|
109
|
+
summary: "done",
|
|
110
|
+
sessionId: "session_abc-123",
|
|
111
|
+
sessionDisplayId: "session_abc-123",
|
|
112
|
+
});
|
|
113
|
+
expect(result.sessionParams).toMatchObject({
|
|
114
|
+
sessionId: "session_abc-123",
|
|
115
|
+
cwd: root,
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
it("forwards streamed stdout lines to onEvent as assistant + tool_call runtime events", async () => {
|
|
119
|
+
const root = await makeTempRoot();
|
|
120
|
+
const events = [];
|
|
121
|
+
const stream = `${JSON.stringify({ role: "assistant", content: "Here is my plan" })}\n` +
|
|
122
|
+
`${JSON.stringify({
|
|
123
|
+
role: "assistant",
|
|
124
|
+
content: "running",
|
|
125
|
+
tool_calls: [{ type: "function", id: "t1", function: { name: "Bash", arguments: "{}" } }],
|
|
126
|
+
})}\n`;
|
|
127
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, _args, options) => {
|
|
128
|
+
// Split mid-line so the wrapper's newline buffering is exercised across chunks.
|
|
129
|
+
await options.onLog("stdout", stream.slice(0, 20));
|
|
130
|
+
await options.onLog("stdout", stream.slice(20));
|
|
131
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: stream, stderr: "" };
|
|
132
|
+
});
|
|
133
|
+
await execute(makeContext(root, { onEvent: async (event) => { events.push(event); } }));
|
|
134
|
+
expect(events).toContainEqual({
|
|
135
|
+
eventType: "assistant",
|
|
136
|
+
stream: "stdout",
|
|
137
|
+
message: "Here is my plan",
|
|
138
|
+
payload: { content: "Here is my plan" },
|
|
139
|
+
});
|
|
140
|
+
expect(events).toContainEqual({ eventType: "tool_call", stream: "stdout", payload: { toolName: "Bash" } });
|
|
141
|
+
});
|
|
142
|
+
it("forwards the final stdout line to onEvent even without a trailing newline", async () => {
|
|
143
|
+
const root = await makeTempRoot();
|
|
144
|
+
const events = [];
|
|
145
|
+
// Kimi can close stdout after a valid event with no trailing newline; the
|
|
146
|
+
// forwarder must flush it so the last tool call reaches live status.
|
|
147
|
+
const stream = `${JSON.stringify({
|
|
148
|
+
role: "assistant",
|
|
149
|
+
tool_calls: [{ type: "function", id: "t9", function: { name: "Read", arguments: "{}" } }],
|
|
150
|
+
})}`;
|
|
151
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, _args, options) => {
|
|
152
|
+
await options.onLog("stdout", stream);
|
|
153
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: stream, stderr: "" };
|
|
154
|
+
});
|
|
155
|
+
await execute(makeContext(root, { onEvent: async (event) => { events.push(event); } }));
|
|
156
|
+
expect(events).toContainEqual({ eventType: "tool_call", stream: "stdout", payload: { toolName: "Read" } });
|
|
157
|
+
});
|
|
158
|
+
it("passes -m only when a model is configured", async () => {
|
|
159
|
+
const root = await makeTempRoot();
|
|
160
|
+
let seenArgs = [];
|
|
161
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, args) => {
|
|
162
|
+
seenArgs = args;
|
|
163
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: KIMI_STDOUT, stderr: "" };
|
|
164
|
+
});
|
|
165
|
+
await execute(makeContext(root, { config: { cwd: root, model: "kimi-code/k3" } }));
|
|
166
|
+
expect(seenArgs).toContain("-m");
|
|
167
|
+
expect(seenArgs[seenArgs.indexOf("-m") + 1]).toBe("kimi-code/k3");
|
|
168
|
+
});
|
|
169
|
+
it("resumes with -r when the stored session cwd matches the run cwd", async () => {
|
|
170
|
+
const root = await makeTempRoot();
|
|
171
|
+
let seenArgs = [];
|
|
172
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, args) => {
|
|
173
|
+
seenArgs = args;
|
|
174
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: KIMI_STDOUT, stderr: "" };
|
|
175
|
+
});
|
|
176
|
+
await execute(makeContext(root, {
|
|
177
|
+
runtime: {
|
|
178
|
+
sessionId: "session_abc-123",
|
|
179
|
+
sessionParams: { sessionId: "session_abc-123", cwd: root },
|
|
180
|
+
sessionDisplayId: "session_abc-123",
|
|
181
|
+
taskKey: null,
|
|
182
|
+
},
|
|
183
|
+
}));
|
|
184
|
+
expect(seenArgs).toContain("-r");
|
|
185
|
+
expect(seenArgs[seenArgs.indexOf("-r") + 1]).toBe("session_abc-123");
|
|
186
|
+
});
|
|
187
|
+
it("starts a fresh session when the stored session cwd differs", async () => {
|
|
188
|
+
const root = await makeTempRoot();
|
|
189
|
+
let seenArgs = [];
|
|
190
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, args) => {
|
|
191
|
+
seenArgs = args;
|
|
192
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: KIMI_STDOUT, stderr: "" };
|
|
193
|
+
});
|
|
194
|
+
await execute(makeContext(root, {
|
|
195
|
+
runtime: {
|
|
196
|
+
sessionId: "session_abc-123",
|
|
197
|
+
sessionParams: { sessionId: "session_abc-123", cwd: "/some/other/dir" },
|
|
198
|
+
sessionDisplayId: "session_abc-123",
|
|
199
|
+
taskKey: null,
|
|
200
|
+
},
|
|
201
|
+
}));
|
|
202
|
+
expect(seenArgs).not.toContain("-r");
|
|
203
|
+
});
|
|
204
|
+
it("retries fresh when the resume session is unrecoverable", async () => {
|
|
205
|
+
const root = await makeTempRoot();
|
|
206
|
+
const seenArgLists = [];
|
|
207
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, args) => {
|
|
208
|
+
seenArgLists.push(args);
|
|
209
|
+
if (seenArgLists.length === 1) {
|
|
210
|
+
return { exitCode: 1, signal: null, timedOut: false, stdout: "", stderr: "Error: unknown session 'session_stale'" };
|
|
211
|
+
}
|
|
212
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: KIMI_STDOUT, stderr: "" };
|
|
213
|
+
});
|
|
214
|
+
const result = await execute(makeContext(root, {
|
|
215
|
+
runtime: {
|
|
216
|
+
sessionId: "session_stale",
|
|
217
|
+
sessionParams: { sessionId: "session_stale", cwd: root },
|
|
218
|
+
sessionDisplayId: "session_stale",
|
|
219
|
+
taskKey: null,
|
|
220
|
+
},
|
|
221
|
+
}));
|
|
222
|
+
expect(runProcessMock).toHaveBeenCalledTimes(2);
|
|
223
|
+
expect(seenArgLists[0]).toContain("-r");
|
|
224
|
+
expect(seenArgLists[1]).not.toContain("-r");
|
|
225
|
+
expect(result).toMatchObject({ exitCode: 0, sessionId: "session_abc-123" });
|
|
226
|
+
});
|
|
227
|
+
it("maps auth failures to the kimi_auth_required error code", async () => {
|
|
228
|
+
const root = await makeTempRoot();
|
|
229
|
+
runProcessMock.mockImplementation(async () => ({
|
|
230
|
+
exitCode: 1,
|
|
231
|
+
signal: null,
|
|
232
|
+
timedOut: false,
|
|
233
|
+
stdout: "",
|
|
234
|
+
stderr: "Error: 401 Unauthorized — run kimi login to authenticate",
|
|
235
|
+
}));
|
|
236
|
+
const result = await execute(makeContext(root));
|
|
237
|
+
expect(result.exitCode).toBe(1);
|
|
238
|
+
expect(result.errorCode).toBe("kimi_auth_required");
|
|
239
|
+
expect(result.errorMessage).toBeTruthy();
|
|
240
|
+
});
|
|
241
|
+
it("reports a timeout when the process exceeds timeoutSec", async () => {
|
|
242
|
+
const root = await makeTempRoot();
|
|
243
|
+
runProcessMock.mockImplementation(async () => ({
|
|
244
|
+
exitCode: null,
|
|
245
|
+
signal: "SIGTERM",
|
|
246
|
+
timedOut: true,
|
|
247
|
+
stdout: "",
|
|
248
|
+
stderr: "",
|
|
249
|
+
}));
|
|
250
|
+
const result = await execute(makeContext(root, { config: { cwd: root, timeoutSec: 5 } }));
|
|
251
|
+
expect(result.timedOut).toBe(true);
|
|
252
|
+
expect(result.errorMessage).toContain("5s");
|
|
253
|
+
});
|
|
254
|
+
it("reports failure when the process is killed by a signal without timing out", async () => {
|
|
255
|
+
const root = await makeTempRoot();
|
|
256
|
+
runProcessMock.mockImplementation(async () => ({
|
|
257
|
+
exitCode: null,
|
|
258
|
+
signal: "SIGKILL",
|
|
259
|
+
timedOut: false,
|
|
260
|
+
stdout: "",
|
|
261
|
+
stderr: "",
|
|
262
|
+
}));
|
|
263
|
+
const result = await execute(makeContext(root));
|
|
264
|
+
expect(result.timedOut).toBe(false);
|
|
265
|
+
expect(result.errorMessage).toContain("SIGKILL");
|
|
266
|
+
expect(result.errorMessage).not.toBeNull();
|
|
267
|
+
});
|
|
268
|
+
it("preserves user-configured headless env values", async () => {
|
|
269
|
+
const root = await makeTempRoot();
|
|
270
|
+
let seenEnv = {};
|
|
271
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, _args, options) => {
|
|
272
|
+
seenEnv = options.env;
|
|
273
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: KIMI_STDOUT, stderr: "" };
|
|
274
|
+
});
|
|
275
|
+
await execute(makeContext(root, {
|
|
276
|
+
config: {
|
|
277
|
+
cwd: root,
|
|
278
|
+
env: {
|
|
279
|
+
CI: "0",
|
|
280
|
+
NO_COLOR: "0",
|
|
281
|
+
KIMI_CODE_NO_AUTO_UPDATE: "0",
|
|
282
|
+
TERM: "xterm-256color",
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
}));
|
|
286
|
+
expect(seenEnv.CI).toBe("0");
|
|
287
|
+
expect(seenEnv.NO_COLOR).toBe("0");
|
|
288
|
+
expect(seenEnv.KIMI_CODE_NO_AUTO_UPDATE).toBe("0");
|
|
289
|
+
expect(seenEnv.TERM).toBe("xterm-256color");
|
|
290
|
+
});
|
|
291
|
+
it.each(["kimi-code/k3", "kimi-code/k3-256k", "kimi-code/kimi-for-coding"])("forwards configured effort for %s", async (model) => {
|
|
292
|
+
const root = await makeTempRoot();
|
|
293
|
+
let seenEnv = {};
|
|
294
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, _args, options) => {
|
|
295
|
+
seenEnv = options.env;
|
|
296
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: KIMI_STDOUT, stderr: "" };
|
|
297
|
+
});
|
|
298
|
+
await execute(makeContext(root, { config: { cwd: root, model, effort: "high" } }));
|
|
299
|
+
expect(seenEnv.KIMI_MODEL_THINKING_EFFORT).toBe("high");
|
|
300
|
+
});
|
|
301
|
+
it("maps the medium effort tier onto high since Kimi has no medium", async () => {
|
|
302
|
+
const root = await makeTempRoot();
|
|
303
|
+
let seenEnv = {};
|
|
304
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, _args, options) => {
|
|
305
|
+
seenEnv = options.env;
|
|
306
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: KIMI_STDOUT, stderr: "" };
|
|
307
|
+
});
|
|
308
|
+
await execute(makeContext(root, { config: { cwd: root, model: "kimi-code/k3", effort: "medium" } }));
|
|
309
|
+
expect(seenEnv.KIMI_MODEL_THINKING_EFFORT).toBe("high");
|
|
310
|
+
});
|
|
311
|
+
it("does not forward effort for models without support_efforts", async () => {
|
|
312
|
+
const root = await makeTempRoot();
|
|
313
|
+
let seenEnv = {};
|
|
314
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, _args, options) => {
|
|
315
|
+
seenEnv = options.env;
|
|
316
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: KIMI_STDOUT, stderr: "" };
|
|
317
|
+
});
|
|
318
|
+
await execute(makeContext(root, {
|
|
319
|
+
config: { cwd: root, model: "kimi-code/kimi-for-coding-highspeed", effort: "high" },
|
|
320
|
+
}));
|
|
321
|
+
expect(seenEnv.KIMI_MODEL_THINKING_EFFORT).toBeUndefined();
|
|
322
|
+
});
|
|
323
|
+
it("adds --add-dir for the instructions directory and names sibling files in the prompt", async () => {
|
|
324
|
+
const root = await makeTempRoot();
|
|
325
|
+
const instructionsDir = path.join(root, "instructions");
|
|
326
|
+
await fs.mkdir(instructionsDir, { recursive: true });
|
|
327
|
+
const instructionsFilePath = path.join(instructionsDir, "AGENTS.md");
|
|
328
|
+
await fs.writeFile(instructionsFilePath, "# Role\nYou are the lead agent.\n");
|
|
329
|
+
let seenArgs = [];
|
|
330
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, args) => {
|
|
331
|
+
seenArgs = args;
|
|
332
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: KIMI_STDOUT, stderr: "" };
|
|
333
|
+
});
|
|
334
|
+
await execute(makeContext(root, { config: { cwd: root, instructionsFilePath } }));
|
|
335
|
+
expect(seenArgs).toContain("--add-dir");
|
|
336
|
+
expect(seenArgs[seenArgs.indexOf("--add-dir") + 1]).toBe(instructionsDir);
|
|
337
|
+
const prompt = seenArgs[seenArgs.length - 1];
|
|
338
|
+
expect(prompt).toContain("./HEARTBEAT.md");
|
|
339
|
+
expect(prompt).toContain("./SOUL.md");
|
|
340
|
+
expect(prompt).toContain("./TOOLS.md");
|
|
341
|
+
});
|
|
342
|
+
it("loads the operational skill when no optional skills are configured", async () => {
|
|
343
|
+
const root = await makeTempRoot();
|
|
344
|
+
let seenArgs = [];
|
|
345
|
+
runProcessMock.mockImplementation(async (_runId, _target, _command, args) => {
|
|
346
|
+
seenArgs = args;
|
|
347
|
+
return { exitCode: 0, signal: null, timedOut: false, stdout: KIMI_STDOUT, stderr: "" };
|
|
348
|
+
});
|
|
349
|
+
await execute(makeContext(root, { config: { cwd: root, model: "kimi-code/k3" } }));
|
|
350
|
+
expect(seenArgs).toContain("--skills-dir");
|
|
351
|
+
expect(seenArgs[seenArgs.indexOf("--skills-dir") + 1]).toContain("paperclip-kimi-skills-");
|
|
352
|
+
});
|
|
353
|
+
});
|
|
354
|
+
//# sourceMappingURL=execute.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.test.js","sourceRoot":"","sources":["../../src/server/execute.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AdapterSessionCodec } from "@tickernelz/paperclip-pro-adapter-utils";
|
|
2
|
+
export declare const sessionCodec: AdapterSessionCodec;
|
|
3
|
+
export * from "./acp.js";
|
|
4
|
+
export { execute } from "./execute.js";
|
|
5
|
+
export { listKimiSkills, syncKimiSkills } from "./skills.js";
|
|
6
|
+
export { testEnvironment } from "./test.js";
|
|
7
|
+
export { parseKimiJsonl, isKimiSessionUnrecoverableError, isKimiTransientNetworkError, describeKimiFailure, detectKimiAuthRequired, } from "./parse.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAOnF,eAAO,MAAM,YAAY,EAAE,mBAwD1B,CAAC;AAEF,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,+BAA+B,EAC/B,2BAA2B,EAC3B,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { sessionCodec as acpxSessionCodec } from "@tickernelz/paperclip-pro-adapter-utils/acpx-engine/session-codec";
|
|
2
|
+
function readNonEmptyString(value) {
|
|
3
|
+
return typeof value === "string" && value.trim().length > 0 ? value.trim() : null;
|
|
4
|
+
}
|
|
5
|
+
export const sessionCodec = {
|
|
6
|
+
deserialize(raw) {
|
|
7
|
+
if (typeof raw !== "object" || raw === null || Array.isArray(raw))
|
|
8
|
+
return null;
|
|
9
|
+
const record = raw;
|
|
10
|
+
const sessionId = readNonEmptyString(record.sessionId) ??
|
|
11
|
+
readNonEmptyString(record.session_id) ??
|
|
12
|
+
readNonEmptyString(record.sessionID);
|
|
13
|
+
if (!sessionId)
|
|
14
|
+
return acpxSessionCodec.deserialize(raw);
|
|
15
|
+
const cwd = readNonEmptyString(record.cwd) ??
|
|
16
|
+
readNonEmptyString(record.workdir) ??
|
|
17
|
+
readNonEmptyString(record.folder);
|
|
18
|
+
const workspaceId = readNonEmptyString(record.workspaceId) ?? readNonEmptyString(record.workspace_id);
|
|
19
|
+
const repoUrl = readNonEmptyString(record.repoUrl) ?? readNonEmptyString(record.repo_url);
|
|
20
|
+
const repoRef = readNonEmptyString(record.repoRef) ?? readNonEmptyString(record.repo_ref);
|
|
21
|
+
return {
|
|
22
|
+
sessionId,
|
|
23
|
+
...(cwd ? { cwd } : {}),
|
|
24
|
+
...(workspaceId ? { workspaceId } : {}),
|
|
25
|
+
...(repoUrl ? { repoUrl } : {}),
|
|
26
|
+
...(repoRef ? { repoRef } : {}),
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
serialize(params) {
|
|
30
|
+
if (!params)
|
|
31
|
+
return null;
|
|
32
|
+
const sessionId = readNonEmptyString(params.sessionId) ??
|
|
33
|
+
readNonEmptyString(params.session_id) ??
|
|
34
|
+
readNonEmptyString(params.sessionID);
|
|
35
|
+
if (!sessionId)
|
|
36
|
+
return acpxSessionCodec.serialize(params);
|
|
37
|
+
const cwd = readNonEmptyString(params.cwd) ??
|
|
38
|
+
readNonEmptyString(params.workdir) ??
|
|
39
|
+
readNonEmptyString(params.folder);
|
|
40
|
+
const workspaceId = readNonEmptyString(params.workspaceId) ?? readNonEmptyString(params.workspace_id);
|
|
41
|
+
const repoUrl = readNonEmptyString(params.repoUrl) ?? readNonEmptyString(params.repo_url);
|
|
42
|
+
const repoRef = readNonEmptyString(params.repoRef) ?? readNonEmptyString(params.repo_ref);
|
|
43
|
+
return {
|
|
44
|
+
sessionId,
|
|
45
|
+
...(cwd ? { cwd } : {}),
|
|
46
|
+
...(workspaceId ? { workspaceId } : {}),
|
|
47
|
+
...(repoUrl ? { repoUrl } : {}),
|
|
48
|
+
...(repoRef ? { repoRef } : {}),
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
getDisplayId(params) {
|
|
52
|
+
if (!params)
|
|
53
|
+
return null;
|
|
54
|
+
return (readNonEmptyString(params.sessionId) ??
|
|
55
|
+
readNonEmptyString(params.session_id) ??
|
|
56
|
+
readNonEmptyString(params.sessionID) ??
|
|
57
|
+
acpxSessionCodec.getDisplayId?.(params) ??
|
|
58
|
+
null);
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
export * from "./acp.js";
|
|
62
|
+
export { execute } from "./execute.js";
|
|
63
|
+
export { listKimiSkills, syncKimiSkills } from "./skills.js";
|
|
64
|
+
export { testEnvironment } from "./test.js";
|
|
65
|
+
export { parseKimiJsonl, isKimiSessionUnrecoverableError, isKimiTransientNetworkError, describeKimiFailure, detectKimiAuthRequired, } from "./parse.js";
|
|
66
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export interface ParsedKimiToolCall {
|
|
2
|
+
id: string | null;
|
|
3
|
+
name: string;
|
|
4
|
+
arguments: unknown;
|
|
5
|
+
}
|
|
6
|
+
export interface ParsedKimiToolResult {
|
|
7
|
+
toolCallId: string | null;
|
|
8
|
+
content: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ParsedKimiJsonl {
|
|
11
|
+
sessionId: string | null;
|
|
12
|
+
summary: string;
|
|
13
|
+
toolCalls: ParsedKimiToolCall[];
|
|
14
|
+
toolResults: ParsedKimiToolResult[];
|
|
15
|
+
errorMessage: string | null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Build the run summary that Paperclip may auto-post as an issue comment.
|
|
19
|
+
*
|
|
20
|
+
* Kimi emits many intermediate assistant content lines during a multi-step
|
|
21
|
+
* agent loop ("Let me check…", tool plans, etc.). Joining all of them produced
|
|
22
|
+
* 50k+ character issue dumps. Prefer the last non-empty assistant content —
|
|
23
|
+
* typically the final board-facing wrap-up after the last tool turn.
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildKimiRunSummary(assistantContents: string[]): string;
|
|
26
|
+
/**
|
|
27
|
+
* Parse `kimi -p ... --output-format stream-json` stdout.
|
|
28
|
+
*
|
|
29
|
+
* Verified event shapes (kimi 0.27.0):
|
|
30
|
+
* - {"role":"assistant","content":"..."}
|
|
31
|
+
* - {"role":"assistant","tool_calls":[{"type":"function","id":"...","function":{"name":"...","arguments":"{...}"}}]}
|
|
32
|
+
* - {"role":"tool","tool_call_id":"...","content":"..."}
|
|
33
|
+
* - {"role":"meta","type":"session.resume_hint","session_id":"...","command":"kimi -r ...","content":"..."}
|
|
34
|
+
*/
|
|
35
|
+
export declare function parseKimiJsonl(stdout: string): ParsedKimiJsonl;
|
|
36
|
+
export interface KimiRuntimeEvent {
|
|
37
|
+
eventType: string;
|
|
38
|
+
message?: string;
|
|
39
|
+
payload?: Record<string, unknown>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Map a single `kimi -p ... --output-format stream-json` line to live runtime
|
|
43
|
+
* events for `onEvent`, which drive the issue-thread activity indicator
|
|
44
|
+
* (`currentToolName` / `lastAssistantSnippet` / `lastEventAt`).
|
|
45
|
+
*
|
|
46
|
+
* Kimi emits complete messages in bursts with no token-level streaming, so
|
|
47
|
+
* without this the issue thread never sees a tool name or assistant snippet and
|
|
48
|
+
* sits on a stale "no output for N s" line while the model thinks. Tool results
|
|
49
|
+
* are intentionally omitted so the last meaningful "Using X" / assistant snippet
|
|
50
|
+
* is not overwritten by a generic label; the raw run-log stream keeps the
|
|
51
|
+
* activity timer fresh across tool execution.
|
|
52
|
+
*/
|
|
53
|
+
export declare function extractKimiRuntimeEvents(line: string): KimiRuntimeEvent[];
|
|
54
|
+
export declare function isKimiSessionUnrecoverableError(stdout: string, stderr: string): boolean;
|
|
55
|
+
export declare function isKimiTransientNetworkError(stdout: string, stderr: string): boolean;
|
|
56
|
+
export declare function describeKimiFailure(input: {
|
|
57
|
+
errorMessage?: string | null;
|
|
58
|
+
stderr?: string;
|
|
59
|
+
}): string | null;
|
|
60
|
+
export declare function detectKimiAuthRequired(input: {
|
|
61
|
+
stdout: string;
|
|
62
|
+
stderr: string;
|
|
63
|
+
}): {
|
|
64
|
+
requiresAuth: boolean;
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/server/parse.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAkCD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,MAAM,CAMvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAkE9D;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAqBzE;AAUD,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAIvF;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAInF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,GAAG,IAAI,CAYhB;AAKD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAK5B"}
|