@love-moon/cli2sdk 0.1.4 → 0.2.1

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 (39) hide show
  1. package/dist/bin/{tmates_test_cli.js → aiden_test_cli.js} +25 -16
  2. package/dist/bin/aiden_test_cli.js.map +1 -0
  3. package/dist/bin/cli2sdk2cli.d.ts +2 -0
  4. package/dist/bin/cli2sdk2cli.js +280 -0
  5. package/dist/bin/cli2sdk2cli.js.map +1 -0
  6. package/dist/bin/kimi_test_cli.d.ts +2 -0
  7. package/dist/bin/kimi_test_cli.js +84 -0
  8. package/dist/bin/kimi_test_cli.js.map +1 -0
  9. package/dist/core/base.d.ts +1 -1
  10. package/dist/core/base.js +3 -0
  11. package/dist/core/base.js.map +1 -1
  12. package/dist/core/chat_session.d.ts +11 -0
  13. package/dist/core/chat_session.js +33 -5
  14. package/dist/core/chat_session.js.map +1 -1
  15. package/dist/core/router.d.ts +2 -2
  16. package/dist/core/router.js +20 -4
  17. package/dist/core/router.js.map +1 -1
  18. package/dist/index.d.ts +10 -3
  19. package/dist/index.js +1 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/providers/aiden.d.ts +15 -0
  22. package/dist/providers/aiden.js +169 -0
  23. package/dist/providers/aiden.js.map +1 -0
  24. package/dist/providers/claude.d.ts +10 -0
  25. package/dist/providers/claude.js +52 -3
  26. package/dist/providers/claude.js.map +1 -1
  27. package/dist/providers/codex.d.ts +10 -0
  28. package/dist/providers/codex.js +53 -1
  29. package/dist/providers/codex.js.map +1 -1
  30. package/dist/providers/kimi.d.ts +14 -0
  31. package/dist/providers/kimi.js +160 -0
  32. package/dist/providers/kimi.js.map +1 -0
  33. package/dist/types/provider.d.ts +12 -1
  34. package/package.json +4 -3
  35. package/dist/bin/tmates_test_cli.js.map +0 -1
  36. package/dist/providers/tmates.d.ts +0 -10
  37. package/dist/providers/tmates.js +0 -36
  38. package/dist/providers/tmates.js.map +0 -1
  39. /package/dist/bin/{tmates_test_cli.d.ts → aiden_test_cli.d.ts} +0 -0
@@ -8,7 +8,9 @@ import { LocalBinaryProvider } from "../providers/local_binary.js";
8
8
  import { CopilotProvider } from "../providers/copilot.js";
9
9
  import { CodexProvider } from "../providers/codex.js";
10
10
  import { GenericProvider } from "../providers/generic.js";
11
- const PROVIDER_ORDER = ["codex", "claude", "gemini", "cursor", "local", "copilot", "generic"];
11
+ import { AidenProvider } from "../providers/aiden.js";
12
+ import { KimiProvider } from "../providers/kimi.js";
13
+ const PROVIDER_ORDER = ["codex", "claude", "kimi", "gemini", "cursor", "local", "copilot", "generic", "aiden"];
12
14
  const providerFactories = {
13
15
  claude: (options) => new ClaudeProvider(options),
14
16
  gemini: (options) => new GeminiProvider(options),
@@ -16,7 +18,9 @@ const providerFactories = {
16
18
  local: (options) => new LocalBinaryProvider(options),
17
19
  copilot: (options) => new CopilotProvider(options),
18
20
  codex: (options) => new CodexProvider(options),
19
- generic: (options) => new GenericProvider(options)
21
+ generic: (options) => new GenericProvider(options),
22
+ aiden: (options) => new AidenProvider(options),
23
+ kimi: (options) => new KimiProvider(options)
20
24
  };
21
25
  const configFor = (name, config) => {
22
26
  switch (name) {
@@ -34,6 +38,10 @@ const configFor = (name, config) => {
34
38
  return config.codex;
35
39
  case "generic":
36
40
  return config.generic;
41
+ case "aiden":
42
+ return config.aiden;
43
+ case "kimi":
44
+ return config.kimi;
37
45
  default:
38
46
  return undefined;
39
47
  }
@@ -67,10 +75,18 @@ export class ProviderRouter {
67
75
  const provider = this.resolveProvider(options?.provider);
68
76
  yield* provider.stream(prompt, options);
69
77
  }
70
- session(cacheKey) {
78
+ session(cacheKey, options) {
79
+ // 默认仅对已验证支持 CLI 原生会话的提供方开启持久会话
80
+ // Aiden 在实际使用中会话行为不稳定,这里改为默认关闭,
81
+ // 让 cli2sdk 自己通过 history 维护多轮上下文。
82
+ const defaultProvider = this.config.provider ?? "codex";
83
+ const supportsPersistent = defaultProvider === "claude" || defaultProvider === "codex" || defaultProvider === "kimi";
84
+ const usePersistentSession = options?.usePersistentSession ?? supportsPersistent;
71
85
  return new ChatSession(this, {
72
86
  cacheKey,
73
- cache: cacheKey ? this.sessionCache : undefined
87
+ cache: cacheKey ? this.sessionCache : undefined,
88
+ usePersistentSession,
89
+ initialSessionId: options?.initialSessionId
74
90
  });
75
91
  }
76
92
  resolveProvider(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,14 +1,21 @@
1
1
  import { ChatSession } from "./core/chat_session.js";
2
2
  import { Cli2SdkConfig, RunOptions } from "./types/provider.js";
3
3
  import { ResultChunk, RunResult } from "./types/result.js";
4
+ /** Options for creating a chat session */
5
+ export interface SessionOptions {
6
+ /** Enable CLI-native persistent session (reduces token usage for Claude/Codex) */
7
+ usePersistentSession?: boolean;
8
+ /** Initial CLI session ID for resuming a previous session */
9
+ initialSessionId?: string;
10
+ }
4
11
  export declare const cli2sdk: (config?: Cli2SdkConfig) => {
5
12
  run: (prompt: string, options?: RunOptions) => Promise<RunResult>;
6
13
  stream: (prompt: string, options?: RunOptions) => AsyncGenerator<ResultChunk>;
7
- session: (cacheKey?: string) => ChatSession;
14
+ session: (cacheKey?: string, options?: SessionOptions) => ChatSession;
8
15
  router: import("./core/router.js").ProviderRouter;
9
16
  };
10
- export type { Cli2SdkConfig, RunOptions } from "./types/provider.js";
17
+ export type { Cli2SdkConfig, RunOptions, PersistentSessionOptions } from "./types/provider.js";
11
18
  export type { ResultChunk, RunResult } from "./types/result.js";
12
19
  export type { Message, MessageHistory } from "./types/message.js";
13
- export { ChatSession } from "./core/chat_session.js";
20
+ export { ChatSession, ChatSessionOptions } from "./core/chat_session.js";
14
21
  export { ProviderRouter } from "./core/router.js";
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ export const cli2sdk = (config = {}) => {
4
4
  return {
5
5
  run: (prompt, options) => router.run(prompt, options),
6
6
  stream: (prompt, options) => router.stream(prompt, options),
7
- session: (cacheKey) => router.session(cacheKey),
7
+ session: (cacheKey, options) => router.session(cacheKey, options),
8
8
  router
9
9
  };
10
10
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,SAAwB,EAAE,EAAE,EAAE;IACpD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO;QACL,GAAG,EAAE,CAAC,MAAc,EAAE,OAAoB,EAAsB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;QAC9F,MAAM,EAAE,CAAC,MAAc,EAAE,OAAoB,EAA+B,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QAC7G,OAAO,EAAE,CAAC,QAAiB,EAAe,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrE,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAKF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAahD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,SAAwB,EAAE,EAAE,EAAE;IACpD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO;QACL,GAAG,EAAE,CAAC,MAAc,EAAE,OAAoB,EAAsB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;QAC9F,MAAM,EAAE,CAAC,MAAc,EAAE,OAAoB,EAA+B,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QAC7G,OAAO,EAAE,CAAC,QAAiB,EAAE,OAAwB,EAAe,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;QACxG,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAKF,OAAO,EAAE,WAAW,EAAsB,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { CliCommandProvider, CliProviderOptions } from "../core/base.js";
2
+ import { RunOptions } from "../types/provider.js";
3
+ import { RunResult } from "../types/result.js";
4
+ import { CommandRequest } from "../utils/shell.js";
5
+ export declare class AidenProvider extends CliCommandProvider {
6
+ private currentSessionId?;
7
+ constructor(options?: CliProviderOptions);
8
+ protected enrichArgs(_prompt: string, options?: RunOptions): string[];
9
+ protected toCommandRequest(prompt: string, options?: RunOptions, stream?: boolean): CommandRequest;
10
+ run(prompt: string, options?: RunOptions): Promise<RunResult>;
11
+ /** Get the current CLI session ID */
12
+ getSessionId(): string | undefined;
13
+ /** Set the CLI session ID (for resuming sessions) */
14
+ setSessionId(sessionId: string): void;
15
+ }
@@ -0,0 +1,169 @@
1
+ import { CliCommandProvider } from "../core/base.js";
2
+ import { StreamDecoder } from "../core/stream.js";
3
+ const DEFAULT_ARGS = ["--print"];
4
+ // Aiden NDJSON stream format parser
5
+ const parseAidenStream = (data) => {
6
+ const lines = data.trim().split('\n');
7
+ let delta = '';
8
+ let done = false;
9
+ let sessionId;
10
+ for (const line of lines) {
11
+ if (!line)
12
+ continue;
13
+ try {
14
+ const json = JSON.parse(line);
15
+ if (json.type === 'session' && json.sessionId) {
16
+ sessionId = json.sessionId;
17
+ }
18
+ else if (json.type === 'content' && json.content) {
19
+ delta += json.content;
20
+ }
21
+ else if (json.type === 'done' || json.type === 'error') {
22
+ done = true;
23
+ }
24
+ }
25
+ catch {
26
+ // Skip invalid JSON lines or non-JSON (like login check messages)
27
+ }
28
+ }
29
+ const chunk = { delta };
30
+ if (done)
31
+ chunk.done = true;
32
+ if (sessionId)
33
+ chunk.metadata = { sessionId };
34
+ return chunk;
35
+ };
36
+ export class AidenProvider extends CliCommandProvider {
37
+ currentSessionId;
38
+ constructor(options = {}) {
39
+ super("aiden", {
40
+ ...options,
41
+ binary: {
42
+ command: options.binary?.command ?? "aiden",
43
+ args: options.binary?.args ?? DEFAULT_ARGS,
44
+ streamArgs: options.binary?.streamArgs ?? ["--print", "--stream-json"],
45
+ inputFormat: options.binary?.inputFormat ?? "text",
46
+ cwd: options.binary?.cwd,
47
+ env: options.binary?.env,
48
+ timeoutMs: options.binary?.timeoutMs,
49
+ supportsStreaming: true
50
+ },
51
+ streamDecoder: () => new StreamDecoder(parseAidenStream)
52
+ });
53
+ }
54
+ enrichArgs(_prompt, options) {
55
+ const args = [];
56
+ // Handle persistent session
57
+ const ps = options?.persistentSession;
58
+ if (ps?.enabled) {
59
+ const sessionId = ps.sessionId || this.currentSessionId;
60
+ if (sessionId) {
61
+ // Resume existing session
62
+ args.push("--resume", sessionId);
63
+ }
64
+ else {
65
+ // Use --continue for most recent session (no explicit session ID)
66
+ args.push("--continue");
67
+ }
68
+ }
69
+ if (options?.quiet) {
70
+ args.push("--quiet");
71
+ }
72
+ return args;
73
+ }
74
+ toCommandRequest(prompt, options, stream = false) {
75
+ // 如果未启用 CLI 原生持久会话,则由 cli2sdk 自己拼接多轮对话
76
+ // 到一个大的 prompt 里传给 Aiden,这样可以保证多轮对话在
77
+ // 所有环境下都能工作,而不依赖 Aiden CLI 本身的会话实现。
78
+ const usePersistent = options?.persistentSession?.enabled;
79
+ let finalPrompt = prompt;
80
+ if (!usePersistent) {
81
+ const history = options?.history && options.history.length > 0
82
+ ? options.history
83
+ : this.history;
84
+ if (history && history.length > 0) {
85
+ // ChatSession 在非持久模式下会把当前 user 消息也放进 history,
86
+ // 因此这里直接用 history 渲染即可,避免再额外拼一次 prompt。
87
+ const historyLines = history.map((msg) => `[${msg.role}] ${msg.content}`);
88
+ finalPrompt = historyLines.join("\n");
89
+ }
90
+ }
91
+ const enrichArgs = this.enrichArgs(finalPrompt, options);
92
+ // Build args - aiden takes prompt as argument, not stdin
93
+ const baseArgs = stream
94
+ ? [...(this.binary?.streamArgs ?? []), ...enrichArgs]
95
+ : [...(this.binary?.args ?? []), ...enrichArgs];
96
+ const args = [...baseArgs, finalPrompt];
97
+ // Prepare environment - disable proxy while preserving other vars
98
+ const env = {
99
+ ...(this.binary?.env || {}),
100
+ ...(options?.env || {})
101
+ };
102
+ // Disable proxy for Aiden
103
+ const proxyVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'http_proxy', 'https_proxy', 'ALL_PROXY', 'all_proxy', 'NO_PROXY', 'no_proxy'];
104
+ for (const varName of proxyVars) {
105
+ delete env[varName];
106
+ }
107
+ return {
108
+ command: this.binary?.command ?? "aiden",
109
+ args,
110
+ cwd: options?.cwd ?? this.binary?.cwd,
111
+ env,
112
+ stdin: undefined, // Aiden uses prompt as argument, not stdin
113
+ timeoutMs: options?.timeoutMs ?? this.binary?.timeoutMs,
114
+ signal: options?.signal ?? this.binary?.signal
115
+ };
116
+ }
117
+ async run(prompt, options) {
118
+ const usePersistent = options?.persistentSession?.enabled;
119
+ if (usePersistent) {
120
+ const chunks = [];
121
+ let text = "";
122
+ let sessionId;
123
+ for await (const chunk of this.stream(prompt, options)) {
124
+ chunks.push(chunk);
125
+ if (chunk.delta) {
126
+ text += chunk.delta;
127
+ }
128
+ else if (chunk.text) {
129
+ text += chunk.text;
130
+ }
131
+ const chunkSessionId = chunk.metadata?.sessionId;
132
+ if (typeof chunkSessionId === "string" && chunkSessionId.length > 0) {
133
+ sessionId = chunkSessionId;
134
+ }
135
+ }
136
+ const result = {
137
+ text: text.trim(),
138
+ chunks,
139
+ history: this.history,
140
+ provider: this.name,
141
+ metadata: sessionId ? { sessionId } : undefined
142
+ };
143
+ if (sessionId) {
144
+ this.currentSessionId = sessionId;
145
+ }
146
+ return result;
147
+ }
148
+ const result = await super.run(prompt, options);
149
+ // Filter out login check messages from output
150
+ const lines = result.text.split('\n');
151
+ const filteredLines = lines.filter(line => !line.includes('- Check user login status...') &&
152
+ !line.includes('Check user login status...'));
153
+ result.text = filteredLines.join('\n').trim();
154
+ // Extract sessionId from metadata if present
155
+ if (result.metadata?.sessionId) {
156
+ this.currentSessionId = result.metadata.sessionId;
157
+ }
158
+ return result;
159
+ }
160
+ /** Get the current CLI session ID */
161
+ getSessionId() {
162
+ return this.currentSessionId;
163
+ }
164
+ /** Set the CLI session ID (for resuming sessions) */
165
+ setSessionId(sessionId) {
166
+ this.currentSessionId = sessionId;
167
+ }
168
+ }
169
+ //# sourceMappingURL=aiden.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiden.js","sourceRoot":"","sources":["../../src/providers/aiden.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,16 @@
1
1
  import { CliCommandProvider, CliProviderOptions } from "../core/base.js";
2
2
  import { RunOptions } from "../types/provider.js";
3
+ import { RunResult } from "../types/result.js";
4
+ import { MessageHistory } from "../types/message.js";
3
5
  export declare class ClaudeProvider extends CliCommandProvider {
6
+ private currentSessionId?;
4
7
  constructor(options?: CliProviderOptions);
5
8
  protected enrichArgs(_prompt: string, options?: RunOptions): string[];
9
+ run(prompt: string, options?: RunOptions): Promise<RunResult>;
10
+ private extractSessionId;
11
+ protected buildPayload(prompt: string, history: MessageHistory): string;
12
+ /** Get the current CLI session ID */
13
+ getSessionId(): string | undefined;
14
+ /** Set the CLI session ID (for resuming sessions) */
15
+ setSessionId(sessionId: string): void;
6
16
  }
@@ -1,14 +1,16 @@
1
+ import { randomUUID } from "node:crypto";
1
2
  import { CliCommandProvider } from "../core/base.js";
2
- const DEFAULT_ARGS = ["--output-format", "json"];
3
+ const DEFAULT_ARGS = ["-p", "--output-format", "json"];
3
4
  export class ClaudeProvider extends CliCommandProvider {
5
+ currentSessionId;
4
6
  constructor(options = {}) {
5
7
  super("claude", {
6
8
  ...options,
7
9
  binary: {
8
10
  command: options.binary?.command ?? "claude",
9
11
  args: options.binary?.args ?? DEFAULT_ARGS,
10
- streamArgs: options.binary?.streamArgs ?? ["--stream"],
11
- inputFormat: options.binary?.inputFormat ?? "json",
12
+ streamArgs: options.binary?.streamArgs ?? ["--output-format", "stream-json"],
13
+ inputFormat: options.binary?.inputFormat ?? "text",
12
14
  cwd: options.binary?.cwd,
13
15
  env: options.binary?.env,
14
16
  timeoutMs: options.binary?.timeoutMs,
@@ -18,10 +20,57 @@ export class ClaudeProvider extends CliCommandProvider {
18
20
  }
19
21
  enrichArgs(_prompt, options) {
20
22
  const args = [];
23
+ const ps = options?.persistentSession;
24
+ if (ps?.enabled) {
25
+ const sessionId = ps.sessionId || this.currentSessionId;
26
+ if (sessionId) {
27
+ args.push("--resume", sessionId);
28
+ }
29
+ else {
30
+ const newId = randomUUID();
31
+ args.push("--session-id", newId);
32
+ this.currentSessionId = newId;
33
+ }
34
+ }
21
35
  if (options?.quiet) {
22
36
  args.push("--quiet");
23
37
  }
24
38
  return args;
25
39
  }
40
+ async run(prompt, options) {
41
+ const result = await super.run(prompt, options);
42
+ if (options?.persistentSession?.enabled) {
43
+ this.extractSessionId(result);
44
+ }
45
+ return result;
46
+ }
47
+ extractSessionId(result) {
48
+ try {
49
+ const json = JSON.parse(result.text);
50
+ if (json.session_id) {
51
+ this.currentSessionId = json.session_id;
52
+ result.metadata = { ...result.metadata, sessionId: json.session_id };
53
+ }
54
+ if (json.result) {
55
+ result.text = json.result;
56
+ }
57
+ }
58
+ catch {
59
+ // Not JSON, ignore
60
+ }
61
+ }
62
+ buildPayload(prompt, history) {
63
+ // For persistent sessions, CLI maintains history, so we only send prompt
64
+ // For non-persistent sessions, we still send history for backward compatibility
65
+ return JSON.stringify({ prompt, history });
66
+ }
67
+ /** Get the current CLI session ID */
68
+ getSessionId() {
69
+ return this.currentSessionId;
70
+ }
71
+ /** Set the CLI session ID (for resuming sessions) */
72
+ setSessionId(sessionId) {
73
+ this.currentSessionId = sessionId;
74
+ }
26
75
  }
27
76
  //# sourceMappingURL=claude.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAsB,MAAM,iBAAiB,CAAC;AAGzE,MAAM,YAAY,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IACpD,YAAY,UAA8B,EAAE;QAC1C,KAAK,CACH,QAAQ,EACR;YACE,GAAG,OAAO;YACV,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,QAAQ;gBAC5C,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,YAAY;gBAC1C,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC;gBACtD,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,IAAI,MAAM;gBAClD,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG;gBACxB,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG;gBACxB,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS;gBACpC,iBAAiB,EAAE,IAAI;aACxB;SACF,CACF,CAAC;IACJ,CAAC;IAES,UAAU,CAAC,OAAe,EAAE,OAAoB;QACxD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,16 @@
1
1
  import { CliCommandProvider, CliProviderOptions } from "../core/base.js";
2
2
  import { RunOptions } from "../types/provider.js";
3
+ import { RunResult } from "../types/result.js";
4
+ import { CommandRequest } from "../utils/shell.js";
3
5
  export declare class CodexProvider extends CliCommandProvider {
6
+ private currentSessionId?;
4
7
  constructor(options?: CliProviderOptions);
5
8
  protected enrichArgs(_prompt: string, options?: RunOptions): string[];
9
+ protected toCommandRequest(prompt: string, options?: RunOptions, stream?: boolean): CommandRequest;
10
+ run(prompt: string, options?: RunOptions): Promise<RunResult>;
11
+ private extractSessionId;
12
+ /** Get the current CLI session ID (thread_id) */
13
+ getSessionId(): string | undefined;
14
+ /** Set the CLI session ID (for resuming sessions) */
15
+ setSessionId(sessionId: string): void;
6
16
  }
@@ -54,7 +54,7 @@ function buildBinaryConfig(binary) {
54
54
  const { command, args, streamArgs, inputFormat, supportsStreaming, name, cwd, env, timeoutMs, stdin, signal, ...extra } = config;
55
55
  const codexArgs = normalizeCodexArgs(extra);
56
56
  const baseArgs = Array.isArray(args) ? args : [];
57
- const normalizedBaseArgs = baseArgs.length ? baseArgs : ["exec"];
57
+ const normalizedBaseArgs = baseArgs.length ? baseArgs : ["exec", "--json"];
58
58
  return {
59
59
  command: command ?? "codex",
60
60
  args: [...normalizedBaseArgs, ...codexArgs],
@@ -70,6 +70,7 @@ function buildBinaryConfig(binary) {
70
70
  };
71
71
  }
72
72
  export class CodexProvider extends CliCommandProvider {
73
+ currentSessionId;
73
74
  constructor(options = {}) {
74
75
  super("codex", {
75
76
  ...options,
@@ -83,5 +84,56 @@ export class CodexProvider extends CliCommandProvider {
83
84
  }
84
85
  return args;
85
86
  }
87
+ toCommandRequest(prompt, options, stream = false) {
88
+ const ps = options?.persistentSession;
89
+ // Use exec resume for persistent sessions
90
+ if (ps?.enabled && (ps.sessionId || this.currentSessionId)) {
91
+ const sessionId = ps.sessionId || this.currentSessionId;
92
+ return {
93
+ command: "codex",
94
+ args: ["exec", "resume", sessionId, "--json"],
95
+ stdin: prompt,
96
+ cwd: options?.cwd,
97
+ env: options?.env,
98
+ timeoutMs: options?.timeoutMs,
99
+ signal: options?.signal
100
+ };
101
+ }
102
+ return super.toCommandRequest(prompt, options, stream);
103
+ }
104
+ async run(prompt, options) {
105
+ const result = await super.run(prompt, options);
106
+ if (options?.persistentSession?.enabled) {
107
+ this.extractSessionId(result);
108
+ }
109
+ return result;
110
+ }
111
+ extractSessionId(result) {
112
+ // Codex outputs JSONL, look for thread_id in any line
113
+ const lines = result.text.split("\n");
114
+ for (const line of lines) {
115
+ if (!line.trim())
116
+ continue;
117
+ try {
118
+ const json = JSON.parse(line);
119
+ if (json.thread_id) {
120
+ this.currentSessionId = json.thread_id;
121
+ result.metadata = { ...result.metadata, sessionId: json.thread_id };
122
+ break;
123
+ }
124
+ }
125
+ catch {
126
+ // Not JSON, continue
127
+ }
128
+ }
129
+ }
130
+ /** Get the current CLI session ID (thread_id) */
131
+ getSessionId() {
132
+ return this.currentSessionId;
133
+ }
134
+ /** Set the CLI session ID (for resuming sessions) */
135
+ setSessionId(sessionId) {
136
+ this.currentSessionId = sessionId;
137
+ }
86
138
  }
87
139
  //# sourceMappingURL=codex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { CliCommandProvider, CliProviderOptions } from "../core/base.js";
2
+ import { RunOptions } from "../types/provider.js";
3
+ import { RunResult, ResultChunk } from "../types/result.js";
4
+ import { CommandRequest } from "../utils/shell.js";
5
+ export declare class KimiProvider extends CliCommandProvider {
6
+ private currentSessionId?;
7
+ constructor(options?: CliProviderOptions);
8
+ protected enrichArgs(_prompt: string, options?: RunOptions): string[];
9
+ protected toCommandRequest(prompt: string, options?: RunOptions, stream?: boolean): CommandRequest;
10
+ run(prompt: string, options?: RunOptions): Promise<RunResult>;
11
+ stream(prompt: string, options?: RunOptions): AsyncGenerator<ResultChunk>;
12
+ getSessionId(): string | undefined;
13
+ setSessionId(sessionId: string): void;
14
+ }