@agentteams/runner 0.0.99 → 0.0.100

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.
@@ -23,6 +23,7 @@ export const RUNNER_CAPABILITIES = {
23
23
  AMP: { model: true, fastMode: false, effort: false, subAgentDelegation: false },
24
24
  COPILOT_CLI: { model: true, fastMode: false, effort: false, subAgentDelegation: false },
25
25
  CURSOR_CLI: { model: true, fastMode: false, effort: false, subAgentDelegation: false },
26
+ KIMI_CLI: { model: true, fastMode: false, effort: false, subAgentDelegation: false },
26
27
  };
27
28
  const DEFAULT_CAPABILITIES = {
28
29
  model: false,
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/runners/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/runners/capabilities.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ test('only claude-code and codex support fastMode', () => {
9
9
  assert.equal(RUNNER_CAPABILITIES.AMP.fastMode, false);
10
10
  assert.equal(RUNNER_CAPABILITIES.COPILOT_CLI.fastMode, false);
11
11
  assert.equal(RUNNER_CAPABILITIES.CURSOR_CLI.fastMode, false);
12
+ assert.equal(RUNNER_CAPABILITIES.KIMI_CLI.fastMode, false);
12
13
  assert.equal(runnerSupportsFastMode('CODEX'), true);
13
14
  assert.equal(runnerSupportsFastMode('OPENCODE'), false);
14
15
  });
@@ -34,6 +35,15 @@ test('Cursor CLI supports model selection but not fast mode, effort, or sub-agen
34
35
  });
35
36
  assert.deepEqual(describeUnsupportedRunnerOptions('CURSOR_CLI', { model: 'client-default', fastMode: false }), []);
36
37
  });
38
+ test('Kimi CLI supports model selection but not fast mode, effort, or sub-agent delegation', () => {
39
+ assert.deepEqual(getRunnerCapabilities('KIMI_CLI'), {
40
+ model: true,
41
+ fastMode: false,
42
+ effort: false,
43
+ subAgentDelegation: false,
44
+ });
45
+ assert.deepEqual(describeUnsupportedRunnerOptions('KIMI_CLI', { model: 'k3', fastMode: false }), []);
46
+ });
37
47
  test('only claude-code supports background sub-agent delegation', () => {
38
48
  assert.equal(RUNNER_CAPABILITIES.CLAUDE_CODE.subAgentDelegation, true);
39
49
  assert.equal(RUNNER_CAPABILITIES.CODEX.subAgentDelegation, false);
@@ -42,6 +52,7 @@ test('only claude-code supports background sub-agent delegation', () => {
42
52
  assert.equal(RUNNER_CAPABILITIES.AMP.subAgentDelegation, false);
43
53
  assert.equal(RUNNER_CAPABILITIES.COPILOT_CLI.subAgentDelegation, false);
44
54
  assert.equal(RUNNER_CAPABILITIES.CURSOR_CLI.subAgentDelegation, false);
55
+ assert.equal(RUNNER_CAPABILITIES.KIMI_CLI.subAgentDelegation, false);
45
56
  assert.equal(runnerSupportsSubAgentDelegation('CLAUDE_CODE'), true);
46
57
  assert.equal(runnerSupportsSubAgentDelegation('OPENCODE'), false);
47
58
  });
@@ -96,7 +107,7 @@ test('only claude-code and codex support effort', () => {
96
107
  assert.equal(runnerSupportsEffort('SOMETHING_ELSE'), false);
97
108
  });
98
109
  test('describeUnsupportedRunnerOptions flags effort ignored for unsupported runners', () => {
99
- for (const runnerType of ['OPENCODE', 'ANTIGRAVITY', 'AMP', 'COPILOT_CLI', 'CURSOR_CLI']) {
110
+ for (const runnerType of ['OPENCODE', 'ANTIGRAVITY', 'AMP', 'COPILOT_CLI', 'CURSOR_CLI', 'KIMI_CLI']) {
100
111
  const warnings = describeUnsupportedRunnerOptions(runnerType, { model: null, fastMode: false, effort: 'high' });
101
112
  assert.equal(warnings.length, 1, `${runnerType} should warn once`);
102
113
  assert.equal(warnings[0]?.option, 'effort');
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.test.js","sourceRoot":"","sources":["../../src/runners/capabilities.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.test.js","sourceRoot":"","sources":["../../src/runners/capabilities.test.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { AmpCodeRunner } from './amp.js';
5
5
  import { AntigravityRunner } from './antigravity.js';
6
6
  import { CopilotCliRunner } from './copilot-cli.js';
7
7
  import { CursorCliRunner } from './cursor-cli.js';
8
+ import { KimiCliRunner } from './kimi-cli.js';
8
9
  export const createRunnerFactory = (runnerCmd) => {
9
10
  return (runnerType) => {
10
11
  // SSOT(RunnerType)와의 exhaustive 일치를 컴파일 타임에 강제한다.
@@ -26,6 +27,8 @@ export const createRunnerFactory = (runnerCmd) => {
26
27
  return new CopilotCliRunner();
27
28
  case 'CURSOR_CLI':
28
29
  return new CursorCliRunner();
30
+ case 'KIMI_CLI':
31
+ return new KimiCliRunner();
29
32
  // TODO: AIDER
30
33
  // TODO: GOOSE
31
34
  // TODO: PLANDEX
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runners/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMlD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACvD,OAAO,CAAC,UAAkB,EAAU,EAAE;QACpC,kDAAkD;QAClD,+DAA+D;QAC/D,yEAAyE;QACzE,MAAM,IAAI,GAAG,UAAwB,CAAC;QACtC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU;gBACb,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;YACvC,KAAK,aAAa;gBAChB,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAChC,KAAK,OAAO;gBACV,OAAO,IAAI,WAAW,EAAE,CAAC;YAC3B,KAAK,aAAa;gBAChB,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACjC,KAAK,KAAK;gBACR,OAAO,IAAI,aAAa,EAAE,CAAC;YAC7B,KAAK,aAAa;gBAChB,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAChC,KAAK,YAAY;gBACf,OAAO,IAAI,eAAe,EAAE,CAAC;YAC/B,cAAc;YACd,cAAc;YACd,gBAAgB;YAChB,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,WAAW,GAAU,IAAI,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runners/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAM9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACvD,OAAO,CAAC,UAAkB,EAAU,EAAE;QACpC,kDAAkD;QAClD,+DAA+D;QAC/D,yEAAyE;QACzE,MAAM,IAAI,GAAG,UAAwB,CAAC;QACtC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU;gBACb,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;YACvC,KAAK,aAAa;gBAChB,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAChC,KAAK,OAAO;gBACV,OAAO,IAAI,WAAW,EAAE,CAAC;YAC3B,KAAK,aAAa;gBAChB,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACjC,KAAK,KAAK;gBACR,OAAO,IAAI,aAAa,EAAE,CAAC;YAC7B,KAAK,aAAa;gBAChB,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAChC,KAAK,YAAY;gBACf,OAAO,IAAI,eAAe,EAAE,CAAC;YAC/B,KAAK,UAAU;gBACb,OAAO,IAAI,aAAa,EAAE,CAAC;YAC7B,cAAc;YACd,cAAc;YACd,gBAAgB;YAChB,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,WAAW,GAAU,IAAI,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -9,6 +9,7 @@ import { OpenCodeRunner } from './opencode.js';
9
9
  import { AntigravityRunner } from './antigravity.js';
10
10
  import { CopilotCliRunner } from './copilot-cli.js';
11
11
  import { CursorCliRunner } from './cursor-cli.js';
12
+ import { KimiCliRunner } from './kimi-cli.js';
12
13
  test('createRunnerFactory returns the expected runner implementations', () => {
13
14
  const createRunner = createRunnerFactory('custom-opencode');
14
15
  assert.equal(createRunner('OPENCODE') instanceof OpenCodeRunner, true);
@@ -18,6 +19,7 @@ test('createRunnerFactory returns the expected runner implementations', () => {
18
19
  assert.equal(createRunner('AMP') instanceof AmpCodeRunner, true);
19
20
  assert.equal(createRunner('COPILOT_CLI') instanceof CopilotCliRunner, true);
20
21
  assert.equal(createRunner('CURSOR_CLI') instanceof CursorCliRunner, true);
22
+ assert.equal(createRunner('KIMI_CLI') instanceof KimiCliRunner, true);
21
23
  });
22
24
  // SSOT(@agentteams/core-constants)와 factory가 처리하는 러너 타입 집합이 정확히
23
25
  // 일치하는지 런타임에서 검증한다. SSOT에 값이 추가/삭제되면 이 테스트가 실패한다.
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/runners/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;IAC3E,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAE5D,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,cAAc,EAAE,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,WAAW,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC7E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,aAAa,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,eAAe,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,gEAAgE;AAChE,kDAAkD;AAClD,iFAAiF;AACjF,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;IACrE,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAE5D,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,YAAY,CACjB,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,EAC9B,qBAAqB,UAAU,oCAAoC,CACpE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,kCAAkC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/runners/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;IAC3E,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAE5D,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,cAAc,EAAE,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,WAAW,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC7E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,aAAa,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,eAAe,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,aAAa,EAAE,IAAI,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC;AAEH,gEAAgE;AAChE,kDAAkD;AAClD,iFAAiF;AACjF,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;IACrE,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAE5D,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,YAAY,CACjB,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,EAC9B,qBAAqB,UAAU,oCAAoC,CACpE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACnE,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,kCAAkC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { createWriteStream } from 'node:fs';
3
+ import { mkdir, rm, writeFile } from 'node:fs/promises';
4
+ import { platform } from 'node:os';
5
+ import { describeExecutableResolution, resolveExecutablePathWithPreference } from '../executable.js';
6
+ import { setupCloseWatchdog, terminateRunnerChild } from './process-control.js';
7
+ import type { Runner, RunnerOptions, RunResult } from './types.js';
8
+ export declare const buildKimiCliArgs: (prompt: string, model?: string | null) => string[];
9
+ export declare const getKimiExecutablePreference: (isWindows: boolean) => string[];
10
+ export declare const toKimiPowerShellEncodedCommand: (resolvedExecutablePath: string, promptFilePath: string, model?: string | null) => string;
11
+ type KimiCliRunnerDependencies = {
12
+ platform: typeof platform;
13
+ resolveExecutablePathWithPreference: typeof resolveExecutablePathWithPreference;
14
+ describeExecutableResolution: typeof describeExecutableResolution;
15
+ spawn: typeof spawn;
16
+ createWriteStream: typeof createWriteStream;
17
+ mkdir: typeof mkdir;
18
+ writeFile: typeof writeFile;
19
+ rm: typeof rm;
20
+ setupCloseWatchdog: typeof setupCloseWatchdog;
21
+ terminateRunnerChild: typeof terminateRunnerChild;
22
+ };
23
+ export declare class KimiCliRunner implements Runner {
24
+ private readonly deps;
25
+ constructor(dependencies?: Partial<KimiCliRunnerDependencies>);
26
+ run(opts: RunnerOptions): Promise<RunResult>;
27
+ }
28
+ export {};
@@ -0,0 +1,257 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { createWriteStream } from 'node:fs';
3
+ import { mkdir, rm, writeFile } from 'node:fs/promises';
4
+ import { platform } from 'node:os';
5
+ import { dirname, join } from 'node:path';
6
+ import { describeExecutableResolution, resolveExecutablePathWithPreference } from '../executable.js';
7
+ import { logger } from '../logger.js';
8
+ import { setupCloseWatchdog, terminateRunnerChild } from './process-control.js';
9
+ const OUTPUT_PREVIEW_MAX = 400;
10
+ const OUTPUT_CAPTURE_MAX = 200_000;
11
+ const normalizedModel = (model) => (typeof model === 'string' ? model.trim() : '');
12
+ export const buildKimiCliArgs = (prompt, model) => {
13
+ const selectedModel = normalizedModel(model);
14
+ const modelArgs = selectedModel.length > 0 && selectedModel !== 'default' ? ['-m', selectedModel] : [];
15
+ return ['-p', prompt, ...modelArgs];
16
+ };
17
+ export const getKimiExecutablePreference = (isWindows) => isWindows ? ['kimi.cmd', 'kimi'] : ['kimi'];
18
+ const toPowerShellLiteral = (value) => `'${value.replaceAll("'", "''")}'`;
19
+ export const toKimiPowerShellEncodedCommand = (resolvedExecutablePath, promptFilePath, model) => {
20
+ const selectedModel = normalizedModel(model);
21
+ const modelSegment = selectedModel.length > 0 && selectedModel !== 'default' ? ` '-m' ${toPowerShellLiteral(selectedModel)}` : '';
22
+ const scriptContent = [
23
+ "$ErrorActionPreference = 'Stop'",
24
+ '$utf8NoBom = [System.Text.UTF8Encoding]::new($false)',
25
+ '[Console]::InputEncoding = $utf8NoBom',
26
+ '[Console]::OutputEncoding = $utf8NoBom',
27
+ '$OutputEncoding = $utf8NoBom',
28
+ 'chcp 65001 > $null',
29
+ `$promptText = [System.IO.File]::ReadAllText(${toPowerShellLiteral(promptFilePath)}, $utf8NoBom)`,
30
+ `& ${toPowerShellLiteral(resolvedExecutablePath)} '-p' $promptText${modelSegment}`,
31
+ ].join('\r\n');
32
+ return Buffer.from(scriptContent, 'utf16le').toString('base64');
33
+ };
34
+ const toOutputPreview = (chunk) => {
35
+ const text = (typeof chunk === 'string' ? chunk : String(chunk)).trim();
36
+ return text.length <= OUTPUT_PREVIEW_MAX ? text : `${text.slice(0, OUTPUT_PREVIEW_MAX)}...`;
37
+ };
38
+ const defaultDependencies = {
39
+ platform,
40
+ resolveExecutablePathWithPreference,
41
+ describeExecutableResolution,
42
+ spawn,
43
+ createWriteStream,
44
+ mkdir,
45
+ writeFile,
46
+ rm,
47
+ setupCloseWatchdog,
48
+ terminateRunnerChild,
49
+ };
50
+ export class KimiCliRunner {
51
+ deps;
52
+ constructor(dependencies = {}) {
53
+ this.deps = { ...defaultDependencies, ...dependencies };
54
+ }
55
+ async run(opts) {
56
+ if (!opts.authPath || opts.authPath.trim().length === 0) {
57
+ logger.error('authPath is missing for trigger');
58
+ return { exitCode: 1, errorMessage: 'authPath is missing for trigger' };
59
+ }
60
+ const cwd = opts.authPath;
61
+ const logPath = join(cwd, '.agentteams', 'runner', 'log', `${opts.triggerId}.log`);
62
+ await this.deps.mkdir(dirname(logPath), { recursive: true });
63
+ const isWindows = this.deps.platform() === 'win32';
64
+ const resolvedExecutablePath = this.deps.resolveExecutablePathWithPreference('kimi', getKimiExecutablePreference(isWindows));
65
+ const windowsPromptFilePath = isWindows
66
+ ? join(cwd, '.agentteams', 'runner', 'tmp', `${opts.triggerId}.prompt.txt`)
67
+ : null;
68
+ if (windowsPromptFilePath) {
69
+ await this.deps.mkdir(dirname(windowsPromptFilePath), { recursive: true });
70
+ await this.deps.writeFile(windowsPromptFilePath, opts.prompt, { encoding: 'utf8' });
71
+ }
72
+ const removeWindowsPromptFile = async () => {
73
+ if (!windowsPromptFilePath)
74
+ return;
75
+ try {
76
+ await this.deps.rm(windowsPromptFilePath, { force: true });
77
+ }
78
+ catch (error) {
79
+ logger.warn('Failed to remove Windows prompt temp file', {
80
+ triggerId: opts.triggerId,
81
+ promptFilePath: windowsPromptFilePath,
82
+ error: error instanceof Error ? error.message : String(error),
83
+ });
84
+ }
85
+ };
86
+ const args = buildKimiCliArgs(opts.prompt, opts.model);
87
+ const executableInfo = this.deps.describeExecutableResolution('kimi', {
88
+ platform: () => (isWindows ? 'win32' : this.deps.platform()),
89
+ });
90
+ logger.info('Runner prompt prepared', {
91
+ triggerId: opts.triggerId,
92
+ promptLength: opts.prompt.length,
93
+ requestedCommand: executableInfo.requestedCommand,
94
+ resolvedExecutablePath,
95
+ platform: executableInfo.platform,
96
+ shell: false,
97
+ detached: !isWindows,
98
+ windowsWrapper: isWindows ? 'powershell.exe -EncodedCommand' : null,
99
+ });
100
+ const env = {
101
+ ...process.env,
102
+ AGENTTEAMS_API_KEY: opts.apiKey,
103
+ AGENTTEAMS_API_URL: opts.apiUrl,
104
+ AGENTTEAMS_TEAM_ID: opts.teamId,
105
+ AGENTTEAMS_PROJECT_ID: opts.projectId,
106
+ AGENTTEAMS_AGENT_NAME: opts.agentConfigId,
107
+ };
108
+ let child;
109
+ try {
110
+ child = isWindows
111
+ ? this.deps.spawn('powershell.exe', [
112
+ '-NoLogo',
113
+ '-NonInteractive',
114
+ '-ExecutionPolicy',
115
+ 'Bypass',
116
+ '-EncodedCommand',
117
+ toKimiPowerShellEncodedCommand(resolvedExecutablePath, windowsPromptFilePath ?? '', opts.model),
118
+ ], { cwd, detached: false, shell: false, windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'], env })
119
+ : this.deps.spawn(resolvedExecutablePath, args, {
120
+ cwd,
121
+ detached: true,
122
+ shell: false,
123
+ windowsHide: true,
124
+ stdio: ['ignore', 'pipe', 'pipe'],
125
+ env,
126
+ });
127
+ }
128
+ catch (error) {
129
+ await removeWindowsPromptFile();
130
+ const message = error instanceof Error ? error.message : String(error);
131
+ logger.error('Runner process launch failed', { triggerId: opts.triggerId, error: message });
132
+ return { exitCode: 1, errorMessage: message };
133
+ }
134
+ const logStream = this.deps.createWriteStream(logPath, { flags: 'a' });
135
+ logStream.on('error', (error) => logger.warn('Runner log stream error', { triggerId: opts.triggerId, error: error.message }));
136
+ child.stdout?.pipe(logStream);
137
+ child.stderr?.pipe(logStream);
138
+ let lastOutput = '';
139
+ let outputText = '';
140
+ const appendOutputText = (chunk) => {
141
+ if (outputText.length < OUTPUT_CAPTURE_MAX) {
142
+ outputText += chunk.slice(0, OUTPUT_CAPTURE_MAX - outputText.length);
143
+ }
144
+ };
145
+ const idleTimer = { reset: () => { } };
146
+ child.stdout?.on('data', (chunk) => {
147
+ const rawOutput = Buffer.isBuffer(chunk) ? chunk.toString('utf8') : String(chunk);
148
+ appendOutputText(rawOutput);
149
+ const output = toOutputPreview(rawOutput);
150
+ if (output.length > 0) {
151
+ lastOutput = output;
152
+ idleTimer.reset();
153
+ opts.onStdoutChunk?.(output);
154
+ logger.info('Runner stdout', { triggerId: opts.triggerId, pid: child.pid, output });
155
+ }
156
+ });
157
+ child.stderr?.on('data', (chunk) => {
158
+ const rawOutput = Buffer.isBuffer(chunk) ? chunk.toString('utf8') : String(chunk);
159
+ const output = toOutputPreview(rawOutput);
160
+ if (output.length > 0) {
161
+ idleTimer.reset();
162
+ // Kimi sends thinking/tool progress to stderr during successful print-mode runs.
163
+ // Keep the raw stream in the runner log, but do not expose it as an error or result.
164
+ logger.info('Kimi CLI progress', { triggerId: opts.triggerId, pid: child.pid, output });
165
+ }
166
+ });
167
+ logger.info('Runner started', { triggerId: opts.triggerId, cwd, logPath, pid: child.pid });
168
+ return await new Promise((resolve) => {
169
+ let finished = false;
170
+ let timedOut = false;
171
+ let idleTimedOut = false;
172
+ let cancelled = false;
173
+ let idleTimeoutId = null;
174
+ const startIdleTimeout = () => {
175
+ if (idleTimeoutId)
176
+ clearTimeout(idleTimeoutId);
177
+ idleTimeoutId = setTimeout(() => {
178
+ idleTimedOut = true;
179
+ timedOut = true;
180
+ logger.warn('Runner idle timeout reached; no output for configured idle period', {
181
+ triggerId: opts.triggerId,
182
+ idleTimeoutMs: opts.idleTimeoutMs,
183
+ });
184
+ this.deps.terminateRunnerChild(child, isWindows, opts.triggerId, 'timeout');
185
+ }, opts.idleTimeoutMs);
186
+ };
187
+ idleTimer.reset = startIdleTimeout;
188
+ startIdleTimeout();
189
+ const handleAbort = () => {
190
+ cancelled = true;
191
+ this.deps.terminateRunnerChild(child, isWindows, opts.triggerId, 'cancel');
192
+ };
193
+ const cleanup = async () => {
194
+ if (finished)
195
+ return;
196
+ finished = true;
197
+ if (idleTimeoutId)
198
+ clearTimeout(idleTimeoutId);
199
+ idleTimer.reset = () => { };
200
+ logStream.end();
201
+ await removeWindowsPromptFile();
202
+ opts.signal?.removeEventListener('abort', handleAbort);
203
+ };
204
+ const timeoutId = setTimeout(() => {
205
+ timedOut = true;
206
+ this.deps.terminateRunnerChild(child, isWindows, opts.triggerId, 'timeout');
207
+ }, opts.timeoutMs);
208
+ if (opts.signal?.aborted)
209
+ handleAbort();
210
+ else
211
+ opts.signal?.addEventListener('abort', handleAbort, { once: true });
212
+ child.on('error', async (error) => {
213
+ clearTimeout(timeoutId);
214
+ await cleanup();
215
+ logger.error('Runner process launch failed', { triggerId: opts.triggerId, error: error.message });
216
+ resolve({ exitCode: 1, lastOutput, outputText: outputText.trim() || undefined, errorMessage: error.message });
217
+ });
218
+ const closeWatchdog = this.deps.setupCloseWatchdog(child, opts.triggerId);
219
+ child.on('close', async (code) => {
220
+ closeWatchdog.cancel();
221
+ clearTimeout(timeoutId);
222
+ await cleanup();
223
+ logger.info('Runner process closed', { triggerId: opts.triggerId, pid: child.pid, exitCode: code, timedOut });
224
+ const finalizedOutputText = outputText.trim() || undefined;
225
+ if (timedOut) {
226
+ resolve({
227
+ exitCode: 1,
228
+ idleTimedOut,
229
+ lastOutput,
230
+ outputText: finalizedOutputText,
231
+ errorMessage: idleTimedOut
232
+ ? `Runner idle timed out after ${Math.round(opts.idleTimeoutMs / 60_000)}m of no output`
233
+ : `Runner fail-safe timed out after ${Math.round(opts.timeoutMs / 3_600_000)}h`,
234
+ });
235
+ return;
236
+ }
237
+ if (cancelled) {
238
+ resolve({
239
+ exitCode: 1,
240
+ cancelled: true,
241
+ lastOutput,
242
+ outputText: finalizedOutputText,
243
+ errorMessage: 'Runner cancelled by user',
244
+ });
245
+ return;
246
+ }
247
+ resolve({
248
+ exitCode: code ?? 1,
249
+ lastOutput,
250
+ outputText: finalizedOutputText,
251
+ errorMessage: code === 0 ? undefined : `Runner exited with code ${code ?? 1}`,
252
+ });
253
+ });
254
+ });
255
+ }
256
+ }
257
+ //# sourceMappingURL=kimi-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi-cli.js","sourceRoot":"","sources":["../../src/runners/kimi-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,118 @@
1
+ import { EventEmitter } from 'node:events';
2
+ import { PassThrough } from 'node:stream';
3
+ import assert from 'node:assert/strict';
4
+ import test from 'node:test';
5
+ import { buildKimiCliArgs, getKimiExecutablePreference, KimiCliRunner, toKimiPowerShellEncodedCommand, } from './kimi-cli.js';
6
+ test('buildKimiCliArgs uses Kimi print mode without approval bypass flags', () => {
7
+ assert.deepEqual(buildKimiCliArgs('hello', null), ['-p', 'hello']);
8
+ assert.deepEqual(buildKimiCliArgs('hello', 'default'), ['-p', 'hello']);
9
+ assert.deepEqual(buildKimiCliArgs('hello', 'k3'), ['-p', 'hello', '-m', 'k3']);
10
+ });
11
+ test('uses platform-specific Kimi executable preferences', () => {
12
+ assert.deepEqual(getKimiExecutablePreference(false), ['kimi']);
13
+ assert.deepEqual(getKimiExecutablePreference(true), ['kimi.cmd', 'kimi']);
14
+ });
15
+ const decodePowerShellCommand = (encoded) => Buffer.from(encoded, 'base64').toString('utf16le');
16
+ test('toKimiPowerShellEncodedCommand reads the prompt from a file and preserves Kimi arguments', () => {
17
+ const script = decodePowerShellCommand(toKimiPowerShellEncodedCommand('C:/kimi.cmd', 'C:/repo/.agentteams/runner/tmp/trigger.prompt.txt', 'k3'));
18
+ assert.match(script, /\[System\.IO\.File\]::ReadAllText/);
19
+ assert.match(script, /'-p' \$promptText '-m' 'k3'/);
20
+ assert.doesNotMatch(script, /--yolo|--auto|--plan/);
21
+ });
22
+ test('toKimiPowerShellEncodedCommand omits the default model', () => {
23
+ const script = decodePowerShellCommand(toKimiPowerShellEncodedCommand('C:/kimi.cmd', 'C:/repo/.agentteams/runner/tmp/trigger.prompt.txt', 'default'));
24
+ assert.match(script, /'-p' \$promptText/);
25
+ assert.doesNotMatch(script, /-m/);
26
+ });
27
+ const createFakeChild = () => {
28
+ const child = new EventEmitter();
29
+ child.pid = 4242;
30
+ child.stdout = new PassThrough();
31
+ child.stderr = new PassThrough();
32
+ return child;
33
+ };
34
+ test('KimiCliRunner launches print mode and captures text output', async () => {
35
+ const child = createFakeChild();
36
+ const spawned = [];
37
+ const runner = new KimiCliRunner({
38
+ platform: () => 'linux',
39
+ resolveExecutablePathWithPreference: (() => '/usr/local/bin/kimi'),
40
+ describeExecutableResolution: (() => ({
41
+ requestedCommand: 'kimi',
42
+ resolvedExecutablePath: '/usr/local/bin/kimi',
43
+ platform: 'linux',
44
+ shell: false,
45
+ })),
46
+ mkdir: (async () => undefined),
47
+ createWriteStream: (() => new PassThrough()),
48
+ setupCloseWatchdog: (() => ({ cancel: () => { } })),
49
+ spawn: ((command, args, options) => {
50
+ spawned.push({ command, args, options });
51
+ queueMicrotask(() => {
52
+ child.stdout.emit('data', Buffer.from('Kimi result'));
53
+ child.stderr.emit('data', Buffer.from('tool progress'));
54
+ child.emit('close', 0);
55
+ });
56
+ return child;
57
+ }),
58
+ });
59
+ const options = {
60
+ triggerId: 'trigger-kimi',
61
+ prompt: 'hello',
62
+ authPath: '/repo',
63
+ apiKey: 'key',
64
+ apiUrl: 'https://api.example.com',
65
+ teamId: 'team',
66
+ projectId: 'project',
67
+ timeoutMs: 1_000,
68
+ idleTimeoutMs: 1_000,
69
+ agentConfigId: 'agent',
70
+ model: 'k3',
71
+ onStderrChunk: () => assert.fail('Kimi stderr progress must not be reported as an error chunk'),
72
+ };
73
+ const result = await runner.run(options);
74
+ assert.equal(result.exitCode, 0);
75
+ assert.equal(result.outputText, 'Kimi result');
76
+ assert.equal(spawned[0]?.command, '/usr/local/bin/kimi');
77
+ assert.deepEqual(spawned[0]?.args, ['-p', 'hello', '-m', 'k3']);
78
+ assert.equal(spawned[0]?.options.windowsHide, true);
79
+ });
80
+ test('does not use Kimi stderr progress as fallback output or error', async () => {
81
+ const child = createFakeChild();
82
+ const runner = new KimiCliRunner({
83
+ platform: () => 'linux',
84
+ resolveExecutablePathWithPreference: (() => '/usr/local/bin/kimi'),
85
+ describeExecutableResolution: (() => ({
86
+ requestedCommand: 'kimi',
87
+ resolvedExecutablePath: '/usr/local/bin/kimi',
88
+ platform: 'linux',
89
+ shell: false,
90
+ })),
91
+ mkdir: (async () => undefined),
92
+ createWriteStream: (() => new PassThrough()),
93
+ setupCloseWatchdog: (() => ({ cancel: () => { } })),
94
+ spawn: (() => {
95
+ queueMicrotask(() => {
96
+ child.stderr.emit('data', Buffer.from('resuming session'));
97
+ child.emit('close', 17);
98
+ });
99
+ return child;
100
+ }),
101
+ });
102
+ const result = await runner.run({
103
+ triggerId: 'trigger-kimi-error',
104
+ prompt: 'hello',
105
+ authPath: '/repo',
106
+ apiKey: 'key',
107
+ apiUrl: 'https://api.example.com',
108
+ teamId: 'team',
109
+ projectId: 'project',
110
+ timeoutMs: 1_000,
111
+ idleTimeoutMs: 1_000,
112
+ agentConfigId: 'agent',
113
+ });
114
+ assert.equal(result.outputText, undefined);
115
+ assert.equal(result.lastOutput, '');
116
+ assert.equal(result.errorMessage, 'Runner exited with code 17');
117
+ });
118
+ //# sourceMappingURL=kimi-cli.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi-cli.test.js","sourceRoot":"","sources":["../../src/runners/kimi-cli.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentteams/runner",
3
- "version": "0.0.99",
3
+ "version": "0.0.100",
4
4
  "description": "AgentRunner - Background runner that polls and executes AI agent tasks",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",