@tutti-os/agent-acp-kit 0.1.10

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 (252) hide show
  1. package/AGENTS.md +176 -0
  2. package/README.md +428 -0
  3. package/assets/agent-acp-kit-architecture.png +0 -0
  4. package/dist/core/capabilities.d.ts +23 -0
  5. package/dist/core/capabilities.d.ts.map +1 -0
  6. package/dist/core/capabilities.js +2 -0
  7. package/dist/core/capabilities.js.map +1 -0
  8. package/dist/core/detection.d.ts +8 -0
  9. package/dist/core/detection.d.ts.map +1 -0
  10. package/dist/core/detection.js +2 -0
  11. package/dist/core/detection.js.map +1 -0
  12. package/dist/core/errors.d.ts +6 -0
  13. package/dist/core/errors.d.ts.map +1 -0
  14. package/dist/core/errors.js +9 -0
  15. package/dist/core/errors.js.map +1 -0
  16. package/dist/core/events.d.ts +51 -0
  17. package/dist/core/events.d.ts.map +1 -0
  18. package/dist/core/events.js +2 -0
  19. package/dist/core/events.js.map +1 -0
  20. package/dist/core/index.d.ts +14 -0
  21. package/dist/core/index.d.ts.map +1 -0
  22. package/dist/core/index.js +4 -0
  23. package/dist/core/index.js.map +1 -0
  24. package/dist/core/launch-plan.d.ts +22 -0
  25. package/dist/core/launch-plan.d.ts.map +1 -0
  26. package/dist/core/launch-plan.js +2 -0
  27. package/dist/core/launch-plan.js.map +1 -0
  28. package/dist/core/mcp.d.ts +31 -0
  29. package/dist/core/mcp.d.ts.map +1 -0
  30. package/dist/core/mcp.js +37 -0
  31. package/dist/core/mcp.js.map +1 -0
  32. package/dist/core/provider-plugin.d.ts +84 -0
  33. package/dist/core/provider-plugin.d.ts.map +1 -0
  34. package/dist/core/provider-plugin.js +2 -0
  35. package/dist/core/provider-plugin.js.map +1 -0
  36. package/dist/core/redaction.d.ts +2 -0
  37. package/dist/core/redaction.d.ts.map +1 -0
  38. package/dist/core/redaction.js +9 -0
  39. package/dist/core/redaction.js.map +1 -0
  40. package/dist/core/registry.d.ts +4 -0
  41. package/dist/core/registry.d.ts.map +1 -0
  42. package/dist/core/registry.js +10 -0
  43. package/dist/core/registry.js.map +1 -0
  44. package/dist/core/run-input.d.ts +30 -0
  45. package/dist/core/run-input.d.ts.map +1 -0
  46. package/dist/core/run-input.js +2 -0
  47. package/dist/core/run-input.js.map +1 -0
  48. package/dist/core/skills.d.ts +13 -0
  49. package/dist/core/skills.d.ts.map +1 -0
  50. package/dist/core/skills.js +2 -0
  51. package/dist/core/skills.js.map +1 -0
  52. package/dist/core/transport.d.ts +17 -0
  53. package/dist/core/transport.d.ts.map +1 -0
  54. package/dist/core/transport.js +2 -0
  55. package/dist/core/transport.js.map +1 -0
  56. package/dist/index.d.ts +13 -0
  57. package/dist/index.d.ts.map +1 -0
  58. package/dist/index.js +9 -0
  59. package/dist/index.js.map +1 -0
  60. package/dist/process/cancellation.d.ts +7 -0
  61. package/dist/process/cancellation.d.ts.map +1 -0
  62. package/dist/process/cancellation.js +36 -0
  63. package/dist/process/cancellation.js.map +1 -0
  64. package/dist/process/command-resolver.d.ts +13 -0
  65. package/dist/process/command-resolver.d.ts.map +1 -0
  66. package/dist/process/command-resolver.js +63 -0
  67. package/dist/process/command-resolver.js.map +1 -0
  68. package/dist/process/env.d.ts +2 -0
  69. package/dist/process/env.d.ts.map +1 -0
  70. package/dist/process/env.js +7 -0
  71. package/dist/process/env.js.map +1 -0
  72. package/dist/process/stderr-buffer.d.ts +11 -0
  73. package/dist/process/stderr-buffer.d.ts.map +1 -0
  74. package/dist/process/stderr-buffer.js +23 -0
  75. package/dist/process/stderr-buffer.js.map +1 -0
  76. package/dist/process/supervisor.d.ts +27 -0
  77. package/dist/process/supervisor.d.ts.map +1 -0
  78. package/dist/process/supervisor.js +76 -0
  79. package/dist/process/supervisor.js.map +1 -0
  80. package/dist/providers/acp-presets/index.d.ts +3 -0
  81. package/dist/providers/acp-presets/index.d.ts.map +1 -0
  82. package/dist/providers/acp-presets/index.js +2 -0
  83. package/dist/providers/acp-presets/index.js.map +1 -0
  84. package/dist/providers/acp-presets/provider.d.ts +114 -0
  85. package/dist/providers/acp-presets/provider.d.ts.map +1 -0
  86. package/dist/providers/acp-presets/provider.js +172 -0
  87. package/dist/providers/acp-presets/provider.js.map +1 -0
  88. package/dist/providers/claude/detect.d.ts +35 -0
  89. package/dist/providers/claude/detect.d.ts.map +1 -0
  90. package/dist/providers/claude/detect.js +159 -0
  91. package/dist/providers/claude/detect.js.map +1 -0
  92. package/dist/providers/claude/index.d.ts +4 -0
  93. package/dist/providers/claude/index.d.ts.map +1 -0
  94. package/dist/providers/claude/index.js +206 -0
  95. package/dist/providers/claude/index.js.map +1 -0
  96. package/dist/providers/claude/launch-plan.d.ts +5 -0
  97. package/dist/providers/claude/launch-plan.d.ts.map +1 -0
  98. package/dist/providers/claude/launch-plan.js +38 -0
  99. package/dist/providers/claude/launch-plan.js.map +1 -0
  100. package/dist/providers/claude/parser.d.ts +3 -0
  101. package/dist/providers/claude/parser.d.ts.map +1 -0
  102. package/dist/providers/claude/parser.js +41 -0
  103. package/dist/providers/claude/parser.js.map +1 -0
  104. package/dist/providers/codex/detect.d.ts +31 -0
  105. package/dist/providers/codex/detect.d.ts.map +1 -0
  106. package/dist/providers/codex/detect.js +280 -0
  107. package/dist/providers/codex/detect.js.map +1 -0
  108. package/dist/providers/codex/index.d.ts +4 -0
  109. package/dist/providers/codex/index.d.ts.map +1 -0
  110. package/dist/providers/codex/index.js +383 -0
  111. package/dist/providers/codex/index.js.map +1 -0
  112. package/dist/providers/codex/launch-plan.d.ts +3 -0
  113. package/dist/providers/codex/launch-plan.d.ts.map +1 -0
  114. package/dist/providers/codex/launch-plan.js +40 -0
  115. package/dist/providers/codex/launch-plan.js.map +1 -0
  116. package/dist/providers/codex/parser.d.ts +32 -0
  117. package/dist/providers/codex/parser.d.ts.map +1 -0
  118. package/dist/providers/codex/parser.js +187 -0
  119. package/dist/providers/codex/parser.js.map +1 -0
  120. package/dist/providers/codex/reasoning.d.ts +2 -0
  121. package/dist/providers/codex/reasoning.d.ts.map +1 -0
  122. package/dist/providers/codex/reasoning.js +12 -0
  123. package/dist/providers/codex/reasoning.js.map +1 -0
  124. package/dist/providers/fake/index.d.ts +2 -0
  125. package/dist/providers/fake/index.d.ts.map +1 -0
  126. package/dist/providers/fake/index.js +2 -0
  127. package/dist/providers/fake/index.js.map +1 -0
  128. package/dist/providers/fake/provider.d.ts +8 -0
  129. package/dist/providers/fake/provider.d.ts.map +1 -0
  130. package/dist/providers/fake/provider.js +73 -0
  131. package/dist/providers/fake/provider.js.map +1 -0
  132. package/dist/providers/generic-acp/index.d.ts +2 -0
  133. package/dist/providers/generic-acp/index.d.ts.map +1 -0
  134. package/dist/providers/generic-acp/index.js +2 -0
  135. package/dist/providers/generic-acp/index.js.map +1 -0
  136. package/dist/providers/generic-acp/provider.d.ts +8 -0
  137. package/dist/providers/generic-acp/provider.d.ts.map +1 -0
  138. package/dist/providers/generic-acp/provider.js +93 -0
  139. package/dist/providers/generic-acp/provider.js.map +1 -0
  140. package/dist/providers/hermes/index.d.ts +2 -0
  141. package/dist/providers/hermes/index.d.ts.map +1 -0
  142. package/dist/providers/hermes/index.js +2 -0
  143. package/dist/providers/hermes/index.js.map +1 -0
  144. package/dist/providers/hermes/provider.d.ts +2 -0
  145. package/dist/providers/hermes/provider.d.ts.map +1 -0
  146. package/dist/providers/hermes/provider.js +2 -0
  147. package/dist/providers/hermes/provider.js.map +1 -0
  148. package/dist/providers/install.d.ts +87 -0
  149. package/dist/providers/install.d.ts.map +1 -0
  150. package/dist/providers/install.js +289 -0
  151. package/dist/providers/install.js.map +1 -0
  152. package/dist/providers/kimi/index.d.ts +2 -0
  153. package/dist/providers/kimi/index.d.ts.map +1 -0
  154. package/dist/providers/kimi/index.js +2 -0
  155. package/dist/providers/kimi/index.js.map +1 -0
  156. package/dist/providers/kimi/provider.d.ts +2 -0
  157. package/dist/providers/kimi/provider.d.ts.map +1 -0
  158. package/dist/providers/kimi/provider.js +2 -0
  159. package/dist/providers/kimi/provider.js.map +1 -0
  160. package/dist/providers/kiro/index.d.ts +2 -0
  161. package/dist/providers/kiro/index.d.ts.map +1 -0
  162. package/dist/providers/kiro/index.js +2 -0
  163. package/dist/providers/kiro/index.js.map +1 -0
  164. package/dist/providers/kiro/provider.d.ts +2 -0
  165. package/dist/providers/kiro/provider.d.ts.map +1 -0
  166. package/dist/providers/kiro/provider.js +2 -0
  167. package/dist/providers/kiro/provider.js.map +1 -0
  168. package/dist/runtime/control-plane.d.ts +4 -0
  169. package/dist/runtime/control-plane.d.ts.map +1 -0
  170. package/dist/runtime/control-plane.js +2 -0
  171. package/dist/runtime/control-plane.js.map +1 -0
  172. package/dist/runtime/create-runtime.d.ts +44 -0
  173. package/dist/runtime/create-runtime.d.ts.map +1 -0
  174. package/dist/runtime/create-runtime.js +445 -0
  175. package/dist/runtime/create-runtime.js.map +1 -0
  176. package/dist/runtime/detection-cache.d.ts +6 -0
  177. package/dist/runtime/detection-cache.d.ts.map +1 -0
  178. package/dist/runtime/detection-cache.js +15 -0
  179. package/dist/runtime/detection-cache.js.map +1 -0
  180. package/dist/runtime/provider-registry.d.ts +7 -0
  181. package/dist/runtime/provider-registry.d.ts.map +1 -0
  182. package/dist/runtime/provider-registry.js +19 -0
  183. package/dist/runtime/provider-registry.js.map +1 -0
  184. package/dist/skills/cleanup.d.ts +2 -0
  185. package/dist/skills/cleanup.d.ts.map +1 -0
  186. package/dist/skills/cleanup.js +5 -0
  187. package/dist/skills/cleanup.js.map +1 -0
  188. package/dist/skills/materialize.d.ts +3 -0
  189. package/dist/skills/materialize.d.ts.map +1 -0
  190. package/dist/skills/materialize.js +38 -0
  191. package/dist/skills/materialize.js.map +1 -0
  192. package/dist/skills/prompt-injection.d.ts +13 -0
  193. package/dist/skills/prompt-injection.d.ts.map +1 -0
  194. package/dist/skills/prompt-injection.js +34 -0
  195. package/dist/skills/prompt-injection.js.map +1 -0
  196. package/dist/testing/conformance.d.ts +12 -0
  197. package/dist/testing/conformance.d.ts.map +1 -0
  198. package/dist/testing/conformance.js +55 -0
  199. package/dist/testing/conformance.js.map +1 -0
  200. package/dist/testing/fake-acp-peer.d.ts +13 -0
  201. package/dist/testing/fake-acp-peer.d.ts.map +1 -0
  202. package/dist/testing/fake-acp-peer.js +72 -0
  203. package/dist/testing/fake-acp-peer.js.map +1 -0
  204. package/dist/testing/fake-provider.d.ts +8 -0
  205. package/dist/testing/fake-provider.d.ts.map +1 -0
  206. package/dist/testing/fake-provider.js +12 -0
  207. package/dist/testing/fake-provider.js.map +1 -0
  208. package/dist/testing/fixtures.d.ts +3 -0
  209. package/dist/testing/fixtures.d.ts.map +1 -0
  210. package/dist/testing/fixtures.js +6 -0
  211. package/dist/testing/fixtures.js.map +1 -0
  212. package/dist/testing/index.d.ts +6 -0
  213. package/dist/testing/index.d.ts.map +1 -0
  214. package/dist/testing/index.js +5 -0
  215. package/dist/testing/index.js.map +1 -0
  216. package/dist/transports/acp/acp-client.d.ts +4 -0
  217. package/dist/transports/acp/acp-client.d.ts.map +1 -0
  218. package/dist/transports/acp/acp-client.js +283 -0
  219. package/dist/transports/acp/acp-client.js.map +1 -0
  220. package/dist/transports/acp/acp-jsonrpc.d.ts +7 -0
  221. package/dist/transports/acp/acp-jsonrpc.d.ts.map +1 -0
  222. package/dist/transports/acp/acp-jsonrpc.js +27 -0
  223. package/dist/transports/acp/acp-jsonrpc.js.map +1 -0
  224. package/dist/transports/acp/acp-models.d.ts +11 -0
  225. package/dist/transports/acp/acp-models.d.ts.map +1 -0
  226. package/dist/transports/acp/acp-models.js +95 -0
  227. package/dist/transports/acp/acp-models.js.map +1 -0
  228. package/dist/transports/acp/acp-permissions.d.ts +5 -0
  229. package/dist/transports/acp/acp-permissions.d.ts.map +1 -0
  230. package/dist/transports/acp/acp-permissions.js +7 -0
  231. package/dist/transports/acp/acp-permissions.js.map +1 -0
  232. package/dist/transports/acp/acp-session.d.ts +7 -0
  233. package/dist/transports/acp/acp-session.d.ts.map +1 -0
  234. package/dist/transports/acp/acp-session.js +27 -0
  235. package/dist/transports/acp/acp-session.js.map +1 -0
  236. package/dist/transports/acp/acp-types.d.ts +28 -0
  237. package/dist/transports/acp/acp-types.d.ts.map +1 -0
  238. package/dist/transports/acp/acp-types.js +2 -0
  239. package/dist/transports/acp/acp-types.js.map +1 -0
  240. package/dist/transports/jsonl/jsonl-parser.d.ts +5 -0
  241. package/dist/transports/jsonl/jsonl-parser.d.ts.map +1 -0
  242. package/dist/transports/jsonl/jsonl-parser.js +27 -0
  243. package/dist/transports/jsonl/jsonl-parser.js.map +1 -0
  244. package/dist/transports/jsonl/jsonl-transport.d.ts +4 -0
  245. package/dist/transports/jsonl/jsonl-transport.d.ts.map +1 -0
  246. package/dist/transports/jsonl/jsonl-transport.js +81 -0
  247. package/dist/transports/jsonl/jsonl-transport.js.map +1 -0
  248. package/dist/transports/plain/plain-transport.d.ts +4 -0
  249. package/dist/transports/plain/plain-transport.d.ts.map +1 -0
  250. package/dist/transports/plain/plain-transport.js +52 -0
  251. package/dist/transports/plain/plain-transport.js.map +1 -0
  252. package/package.json +47 -0
@@ -0,0 +1,87 @@
1
+ export type InstallableAgentProviderId = "codex" | "claude";
2
+ export type AgentProviderInstallAvailability = "ready" | "not_installed" | "auth_required" | "unknown";
3
+ export type AgentProviderInstallReason = "ready" | "cli_not_found" | "acp_adapter_not_found" | "auth_required" | "unknown";
4
+ export type AgentProviderInstallFailureReason = "install_timed_out" | "install_canceled" | "install_start_failed" | "install_command_failed" | "post_install_probe_failed";
5
+ export type AgentProviderInstallSpec = {
6
+ provider: InstallableAgentProviderId;
7
+ displayName: string;
8
+ cliBinary: string;
9
+ adapterBinary: string;
10
+ installCommand: string;
11
+ adapterInstallCommand: string;
12
+ };
13
+ export type AgentProviderInstallStatus = {
14
+ availability: AgentProviderInstallAvailability;
15
+ reason: AgentProviderInstallReason;
16
+ cli: {
17
+ binary: string;
18
+ installed: boolean;
19
+ path?: string;
20
+ };
21
+ adapter: {
22
+ binary: string;
23
+ installed: boolean;
24
+ path?: string;
25
+ };
26
+ auth: {
27
+ ok: boolean;
28
+ required: boolean;
29
+ };
30
+ };
31
+ export type AgentProviderInstallCommandResult = {
32
+ command: string;
33
+ code: number | null;
34
+ signal: NodeJS.Signals | null;
35
+ stdout: string;
36
+ stderr: string;
37
+ timedOut: boolean;
38
+ canceled: boolean;
39
+ };
40
+ export type AgentProviderInstallResult = {
41
+ provider: InstallableAgentProviderId;
42
+ status: "succeeded" | "failed" | "skipped";
43
+ command: string | null;
44
+ before: AgentProviderInstallStatus;
45
+ after: AgentProviderInstallStatus;
46
+ failureReason?: AgentProviderInstallFailureReason;
47
+ commandResult?: AgentProviderInstallCommandResult;
48
+ };
49
+ export type AgentProviderInstallOptions = {
50
+ cwd?: string;
51
+ env?: NodeJS.ProcessEnv;
52
+ signal?: AbortSignal;
53
+ timeoutMs?: number;
54
+ commandRunner?: (command: string, options: {
55
+ cwd: string;
56
+ env: NodeJS.ProcessEnv;
57
+ signal?: AbortSignal;
58
+ timeoutMs: number;
59
+ }) => Promise<AgentProviderInstallCommandResult>;
60
+ };
61
+ export declare const AGENT_PROVIDER_INSTALL_SPECS: {
62
+ readonly codex: {
63
+ readonly provider: "codex";
64
+ readonly displayName: "Codex";
65
+ readonly cliBinary: "codex";
66
+ readonly adapterBinary: "codex-acp";
67
+ readonly installCommand: "npm install -g @openai/codex @zed-industries/codex-acp";
68
+ readonly adapterInstallCommand: "npm install -g @zed-industries/codex-acp";
69
+ };
70
+ readonly claude: {
71
+ readonly provider: "claude";
72
+ readonly displayName: "Claude Code";
73
+ readonly cliBinary: "claude";
74
+ readonly adapterBinary: "claude-agent-acp";
75
+ readonly installCommand: "npm install -g @anthropic-ai/claude-code @agentclientprotocol/claude-agent-acp";
76
+ readonly adapterInstallCommand: "npm install -g @agentclientprotocol/claude-agent-acp";
77
+ };
78
+ };
79
+ export declare function getAgentProviderInstallStatus(provider: InstallableAgentProviderId, options?: Pick<AgentProviderInstallOptions, "env">): Promise<AgentProviderInstallStatus>;
80
+ export declare function runShellInstallCommand(command: string, options: {
81
+ cwd: string;
82
+ env: NodeJS.ProcessEnv;
83
+ signal?: AbortSignal;
84
+ timeoutMs: number;
85
+ }): Promise<AgentProviderInstallCommandResult>;
86
+ export declare function installAgentProvider(provider: InstallableAgentProviderId, options?: AgentProviderInstallOptions): Promise<AgentProviderInstallResult>;
87
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/providers/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,289 @@
1
+ import { spawn } from "node:child_process";
2
+ import { access } from "node:fs/promises";
3
+ import { homedir, platform } from "node:os";
4
+ import path from "node:path";
5
+ import { resolveCommandExecutable } from "../process/command-resolver.js";
6
+ const DEFAULT_INSTALL_TIMEOUT_MS = 5 * 60 * 1000;
7
+ const AUTH_CHECK_TIMEOUT_MS = 5_000;
8
+ export const AGENT_PROVIDER_INSTALL_SPECS = {
9
+ codex: {
10
+ provider: "codex",
11
+ displayName: "Codex",
12
+ cliBinary: "codex",
13
+ adapterBinary: "codex-acp",
14
+ installCommand: "npm install -g @openai/codex @zed-industries/codex-acp",
15
+ adapterInstallCommand: "npm install -g @zed-industries/codex-acp",
16
+ },
17
+ claude: {
18
+ provider: "claude",
19
+ displayName: "Claude Code",
20
+ cliBinary: "claude",
21
+ adapterBinary: "claude-agent-acp",
22
+ installCommand: "npm install -g @anthropic-ai/claude-code @agentclientprotocol/claude-agent-acp",
23
+ adapterInstallCommand: "npm install -g @agentclientprotocol/claude-agent-acp",
24
+ },
25
+ };
26
+ async function findCommand(binary, env) {
27
+ try {
28
+ return await resolveCommandExecutable({ command: binary, env });
29
+ }
30
+ catch {
31
+ return undefined;
32
+ }
33
+ }
34
+ async function codexAuthOk(env) {
35
+ const configDir = (env.CODEX_HOME || process.env.CODEX_HOME || "").trim()
36
+ || path.join(homedir(), ".codex");
37
+ try {
38
+ await access(path.join(configDir, "auth.json"));
39
+ return true;
40
+ }
41
+ catch {
42
+ return false;
43
+ }
44
+ }
45
+ async function runShortCommand(input) {
46
+ return new Promise((resolve) => {
47
+ const child = spawn(input.command, input.args, {
48
+ env: input.env,
49
+ stdio: ["ignore", "ignore", "ignore"],
50
+ });
51
+ const timeout = setTimeout(() => {
52
+ if (!child.killed)
53
+ child.kill("SIGTERM");
54
+ resolve(false);
55
+ }, input.timeoutMs);
56
+ child.once("error", () => {
57
+ clearTimeout(timeout);
58
+ resolve(false);
59
+ });
60
+ child.once("close", (code) => {
61
+ clearTimeout(timeout);
62
+ resolve(code === 0);
63
+ });
64
+ });
65
+ }
66
+ async function providerAuthOk(provider, cliPath, env) {
67
+ if (provider === "codex")
68
+ return codexAuthOk(env);
69
+ if (provider === "claude" && cliPath) {
70
+ return runShortCommand({
71
+ command: cliPath,
72
+ args: ["auth", "status"],
73
+ env,
74
+ timeoutMs: AUTH_CHECK_TIMEOUT_MS,
75
+ });
76
+ }
77
+ return false;
78
+ }
79
+ export async function getAgentProviderInstallStatus(provider, options = {}) {
80
+ const spec = AGENT_PROVIDER_INSTALL_SPECS[provider];
81
+ const env = { ...process.env, ...(options.env ?? {}) };
82
+ const cliPath = await findCommand(spec.cliBinary, env);
83
+ const adapterPath = await findCommand(spec.adapterBinary, env);
84
+ const authOk = await providerAuthOk(provider, cliPath, env);
85
+ if (!cliPath) {
86
+ return {
87
+ availability: "not_installed",
88
+ reason: "cli_not_found",
89
+ cli: { binary: spec.cliBinary, installed: false },
90
+ adapter: {
91
+ binary: spec.adapterBinary,
92
+ installed: Boolean(adapterPath),
93
+ ...(adapterPath ? { path: adapterPath } : {}),
94
+ },
95
+ auth: { ok: false, required: true },
96
+ };
97
+ }
98
+ if (!adapterPath) {
99
+ return {
100
+ availability: "not_installed",
101
+ reason: "acp_adapter_not_found",
102
+ cli: { binary: spec.cliBinary, installed: true, path: cliPath },
103
+ adapter: { binary: spec.adapterBinary, installed: false },
104
+ auth: { ok: authOk, required: !authOk },
105
+ };
106
+ }
107
+ if (!authOk) {
108
+ return {
109
+ availability: "auth_required",
110
+ reason: "auth_required",
111
+ cli: { binary: spec.cliBinary, installed: true, path: cliPath },
112
+ adapter: { binary: spec.adapterBinary, installed: true, path: adapterPath },
113
+ auth: { ok: false, required: true },
114
+ };
115
+ }
116
+ return {
117
+ availability: "ready",
118
+ reason: "ready",
119
+ cli: { binary: spec.cliBinary, installed: true, path: cliPath },
120
+ adapter: { binary: spec.adapterBinary, installed: true, path: adapterPath },
121
+ auth: { ok: true, required: false },
122
+ };
123
+ }
124
+ function getShell(env) {
125
+ if (platform() === "win32") {
126
+ return {
127
+ command: env.ComSpec || "cmd.exe",
128
+ args: ["/C"],
129
+ };
130
+ }
131
+ return {
132
+ command: env.SHELL || "/bin/zsh",
133
+ args: ["-lc"],
134
+ };
135
+ }
136
+ export function runShellInstallCommand(command, options) {
137
+ return new Promise((resolve, reject) => {
138
+ const shell = getShell(options.env);
139
+ const child = spawn(shell.command, [...shell.args, command], {
140
+ cwd: options.cwd,
141
+ env: options.env,
142
+ stdio: ["ignore", "pipe", "pipe"],
143
+ });
144
+ const stdout = [];
145
+ const stderr = [];
146
+ let timedOut = false;
147
+ let canceled = false;
148
+ let settled = false;
149
+ child.stdout.setEncoding("utf8");
150
+ child.stderr.setEncoding("utf8");
151
+ child.stdout.on("data", (chunk) => stdout.push(chunk));
152
+ child.stderr.on("data", (chunk) => stderr.push(chunk));
153
+ const timeout = setTimeout(() => {
154
+ timedOut = true;
155
+ if (!child.killed)
156
+ child.kill("SIGTERM");
157
+ }, options.timeoutMs);
158
+ const abortHandler = () => {
159
+ canceled = true;
160
+ if (!child.killed)
161
+ child.kill("SIGTERM");
162
+ };
163
+ options.signal?.addEventListener("abort", abortHandler, { once: true });
164
+ function cleanup() {
165
+ clearTimeout(timeout);
166
+ options.signal?.removeEventListener("abort", abortHandler);
167
+ }
168
+ child.once("error", (error) => {
169
+ if (settled)
170
+ return;
171
+ settled = true;
172
+ cleanup();
173
+ reject(error);
174
+ });
175
+ child.once("close", (code, signal) => {
176
+ if (settled)
177
+ return;
178
+ settled = true;
179
+ cleanup();
180
+ resolve({
181
+ command,
182
+ code,
183
+ signal,
184
+ stdout: stdout.join(""),
185
+ stderr: stderr.join(""),
186
+ timedOut,
187
+ canceled,
188
+ });
189
+ });
190
+ });
191
+ }
192
+ function commandForStatus(spec, status) {
193
+ if (!status.cli.installed)
194
+ return spec.installCommand;
195
+ if (!status.adapter.installed)
196
+ return spec.adapterInstallCommand || spec.installCommand;
197
+ return null;
198
+ }
199
+ export async function installAgentProvider(provider, options = {}) {
200
+ const spec = AGENT_PROVIDER_INSTALL_SPECS[provider];
201
+ const env = { ...process.env, ...(options.env ?? {}) };
202
+ const cwd = options.cwd ?? process.cwd();
203
+ const timeoutMs = options.timeoutMs ?? DEFAULT_INSTALL_TIMEOUT_MS;
204
+ const before = await getAgentProviderInstallStatus(provider, { env });
205
+ const command = commandForStatus(spec, before);
206
+ if (!command) {
207
+ return {
208
+ provider,
209
+ status: "skipped",
210
+ command: null,
211
+ before,
212
+ after: before,
213
+ };
214
+ }
215
+ let commandResult;
216
+ try {
217
+ commandResult = await (options.commandRunner ?? runShellInstallCommand)(command, {
218
+ cwd,
219
+ env,
220
+ ...(options.signal ? { signal: options.signal } : {}),
221
+ timeoutMs,
222
+ });
223
+ }
224
+ catch {
225
+ const after = await getAgentProviderInstallStatus(provider, { env });
226
+ return {
227
+ provider,
228
+ status: "failed",
229
+ command,
230
+ before,
231
+ after,
232
+ failureReason: "install_start_failed",
233
+ };
234
+ }
235
+ const after = await getAgentProviderInstallStatus(provider, { env });
236
+ if (commandResult.canceled) {
237
+ return {
238
+ provider,
239
+ status: "failed",
240
+ command,
241
+ before,
242
+ after,
243
+ failureReason: "install_canceled",
244
+ commandResult,
245
+ };
246
+ }
247
+ if (commandResult.timedOut) {
248
+ return {
249
+ provider,
250
+ status: "failed",
251
+ command,
252
+ before,
253
+ after,
254
+ failureReason: "install_timed_out",
255
+ commandResult,
256
+ };
257
+ }
258
+ if (commandResult.code !== 0) {
259
+ return {
260
+ provider,
261
+ status: "failed",
262
+ command,
263
+ before,
264
+ after,
265
+ failureReason: "install_command_failed",
266
+ commandResult,
267
+ };
268
+ }
269
+ if (!after.cli.installed || !after.adapter.installed) {
270
+ return {
271
+ provider,
272
+ status: "failed",
273
+ command,
274
+ before,
275
+ after,
276
+ failureReason: "post_install_probe_failed",
277
+ commandResult,
278
+ };
279
+ }
280
+ return {
281
+ provider,
282
+ status: "succeeded",
283
+ command,
284
+ before,
285
+ after,
286
+ commandResult,
287
+ };
288
+ }
289
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/providers/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { createKimiProvider, kimiProvider } from "../acp-presets/index.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/kimi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createKimiProvider, kimiProvider } from "../acp-presets/index.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/kimi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createKimiProvider, kimiProvider } from "../acp-presets/provider.js";
2
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/providers/kimi/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createKimiProvider, kimiProvider } from "../acp-presets/provider.js";
2
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/kimi/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createKiroProvider, kiroProvider } from "../acp-presets/index.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/kiro/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createKiroProvider, kiroProvider } from "../acp-presets/index.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/kiro/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createKiroProvider, kiroProvider } from "../acp-presets/provider.js";
2
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/providers/kiro/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createKiroProvider, kiroProvider } from "../acp-presets/provider.js";
2
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/providers/kiro/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { createRuntimeControlPlane, inferRuntimeKind, } from "./create-runtime.js";
2
+ export type { RuntimeKindSelector, RuntimeKindSelectorInput, RuntimeLease, RuntimeProvider, } from "../core/provider-plugin.js";
3
+ export type { RuntimeTarget } from "../core/capabilities.js";
4
+ //# sourceMappingURL=control-plane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../src/runtime/control-plane.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EACZ,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createRuntimeControlPlane, inferRuntimeKind, } from "./create-runtime.js";
2
+ //# sourceMappingURL=control-plane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../../src/runtime/control-plane.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { AgentRuntimeRecord, AgentRuntimeStatus, RuntimeTarget } from "../core/capabilities.js";
2
+ import type { LocalAgentProviderPlugin, RuntimeKindSelector, RuntimeKindSelectorInput, RuntimeLease, RuntimeProvider } from "../core/provider-plugin.js";
3
+ import type { AgentEvent } from "../core/events.js";
4
+ import type { AgentRunInput } from "../core/run-input.js";
5
+ import type { Transport } from "../core/transport.js";
6
+ export type LocalAgentRuntime<TKind extends string = string, TProvider extends string = string> = {
7
+ cancel(runId: string): Promise<void>;
8
+ detect(): Promise<Array<{
9
+ provider: TProvider;
10
+ displayName: string;
11
+ result: Awaited<ReturnType<LocalAgentProviderPlugin<TKind, TProvider>["detect"]>>;
12
+ }>>;
13
+ listProviders(): Array<{
14
+ id: TProvider;
15
+ displayName: string;
16
+ kind: TKind;
17
+ }>;
18
+ run(input: AgentRunInput<TKind, TProvider>): AsyncGenerator<AgentEvent>;
19
+ };
20
+ export declare function createLocalAgentRuntime<TKind extends string = string, TProvider extends string = string>(options: {
21
+ providers: LocalAgentProviderPlugin<TKind, TProvider>[];
22
+ transports?: Transport[];
23
+ }): LocalAgentRuntime<TKind, TProvider>;
24
+ export declare function inferRuntimeKind<TKind extends string = string, TProvider extends string = string>(input: RuntimeKindSelectorInput<TKind, TProvider>): RuntimeTarget<TKind, TProvider>;
25
+ export declare function createRuntimeControlPlane<TContext, TEvent, TKind extends string = string, TProvider extends string = string>(providers: RuntimeProvider<TContext, TEvent, TKind, TProvider>[], options?: {
26
+ selectRuntimeKind?: RuntimeKindSelector<TKind, TProvider>;
27
+ now?: () => string;
28
+ }): {
29
+ listRuntimeRecords(): AgentRuntimeRecord<TKind, TProvider>[];
30
+ getProviderCount(): number;
31
+ listRuntimeTargets(): RuntimeTarget<TKind, TProvider>[];
32
+ getRuntimeRecord(target: RuntimeTarget<TKind, TProvider>): AgentRuntimeRecord<TKind, TProvider>;
33
+ touchRuntime(target: RuntimeTarget<TKind, TProvider>, status?: AgentRuntimeStatus): AgentRuntimeRecord<TKind, TProvider>;
34
+ updateRuntimeStatus(target: RuntimeTarget<TKind, TProvider>, status: AgentRuntimeStatus): AgentRuntimeRecord<TKind, TProvider>;
35
+ resolveRuntimeTarget(input: {
36
+ model: unknown;
37
+ requestedRuntimeKind: TKind | undefined;
38
+ requestedRuntimeProvider?: TProvider | undefined;
39
+ }): RuntimeTarget<TKind, TProvider>;
40
+ acquireRuntimeLease(target: RuntimeTarget<TKind, TProvider>, runId: string): RuntimeLease<TKind, TProvider>;
41
+ releaseRuntimeLease: (runId: string) => void;
42
+ streamRun(target: RuntimeTarget<TKind, TProvider>, context: TContext): AsyncGenerator<TEvent>;
43
+ };
44
+ //# sourceMappingURL=create-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/create-runtime.ts"],"names":[],"mappings":"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"}