adonis-ai-kit 0.0.0-stage → 1.1.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.
Files changed (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +325 -2
  3. package/dist/commands/ai_test.d.ts +12 -0
  4. package/dist/commands/ai_test.d.ts.map +1 -0
  5. package/dist/commands/ai_test.js +98 -0
  6. package/dist/commands/ai_test.js.map +1 -0
  7. package/dist/commands/main.d.ts +14 -0
  8. package/dist/commands/main.d.ts.map +1 -0
  9. package/dist/commands/main.js +31 -0
  10. package/dist/commands/main.js.map +1 -0
  11. package/dist/commands/make_agent.d.ts +13 -0
  12. package/dist/commands/make_agent.d.ts.map +1 -0
  13. package/dist/commands/make_agent.js +116 -0
  14. package/dist/commands/make_agent.js.map +1 -0
  15. package/dist/providers/ai_provider.d.ts +23 -0
  16. package/dist/providers/ai_provider.d.ts.map +1 -0
  17. package/dist/providers/ai_provider.js +34 -0
  18. package/dist/providers/ai_provider.js.map +1 -0
  19. package/dist/services/main.d.ts +4 -0
  20. package/dist/services/main.d.ts.map +1 -0
  21. package/dist/services/main.js +7 -0
  22. package/dist/services/main.js.map +1 -0
  23. package/dist/src/acp/acp_agents.d.ts +75 -0
  24. package/dist/src/acp/acp_agents.d.ts.map +1 -0
  25. package/dist/src/acp/acp_agents.js +343 -0
  26. package/dist/src/acp/acp_agents.js.map +1 -0
  27. package/dist/src/acp/index.d.ts +4 -0
  28. package/dist/src/acp/index.d.ts.map +1 -0
  29. package/dist/src/acp/index.js +4 -0
  30. package/dist/src/acp/index.js.map +1 -0
  31. package/dist/src/acp/provider.d.ts +64 -0
  32. package/dist/src/acp/provider.d.ts.map +1 -0
  33. package/dist/src/acp/provider.js +255 -0
  34. package/dist/src/acp/provider.js.map +1 -0
  35. package/dist/src/acp/types.d.ts +107 -0
  36. package/dist/src/acp/types.d.ts.map +1 -0
  37. package/dist/src/acp/types.js +2 -0
  38. package/dist/src/acp/types.js.map +1 -0
  39. package/dist/src/agents/agent_runner.d.ts +60 -0
  40. package/dist/src/agents/agent_runner.d.ts.map +1 -0
  41. package/dist/src/agents/agent_runner.js +134 -0
  42. package/dist/src/agents/agent_runner.js.map +1 -0
  43. package/dist/src/agents/index.d.ts +4 -0
  44. package/dist/src/agents/index.d.ts.map +1 -0
  45. package/dist/src/agents/index.js +4 -0
  46. package/dist/src/agents/index.js.map +1 -0
  47. package/dist/src/agents/loader.d.ts +56 -0
  48. package/dist/src/agents/loader.d.ts.map +1 -0
  49. package/dist/src/agents/loader.js +184 -0
  50. package/dist/src/agents/loader.js.map +1 -0
  51. package/dist/src/agents/manifest.d.ts +61 -0
  52. package/dist/src/agents/manifest.d.ts.map +1 -0
  53. package/dist/src/agents/manifest.js +35 -0
  54. package/dist/src/agents/manifest.js.map +1 -0
  55. package/dist/src/ai_manager.d.ts +136 -0
  56. package/dist/src/ai_manager.d.ts.map +1 -0
  57. package/dist/src/ai_manager.js +701 -0
  58. package/dist/src/ai_manager.js.map +1 -0
  59. package/dist/src/budget/budget_allocator.d.ts +37 -0
  60. package/dist/src/budget/budget_allocator.d.ts.map +1 -0
  61. package/dist/src/budget/budget_allocator.js +98 -0
  62. package/dist/src/budget/budget_allocator.js.map +1 -0
  63. package/dist/src/budget/budget_enforcer.d.ts +70 -0
  64. package/dist/src/budget/budget_enforcer.d.ts.map +1 -0
  65. package/dist/src/budget/budget_enforcer.js +195 -0
  66. package/dist/src/budget/budget_enforcer.js.map +1 -0
  67. package/dist/src/budget/cost_tracker.d.ts +71 -0
  68. package/dist/src/budget/cost_tracker.d.ts.map +1 -0
  69. package/dist/src/budget/cost_tracker.js +199 -0
  70. package/dist/src/budget/cost_tracker.js.map +1 -0
  71. package/dist/src/budget/index.d.ts +6 -0
  72. package/dist/src/budget/index.d.ts.map +1 -0
  73. package/dist/src/budget/index.js +6 -0
  74. package/dist/src/budget/index.js.map +1 -0
  75. package/dist/src/budget/pricing.d.ts +35 -0
  76. package/dist/src/budget/pricing.d.ts.map +1 -0
  77. package/dist/src/budget/pricing.js +129 -0
  78. package/dist/src/budget/pricing.js.map +1 -0
  79. package/dist/src/budget/types.d.ts +91 -0
  80. package/dist/src/budget/types.d.ts.map +1 -0
  81. package/dist/src/budget/types.js +2 -0
  82. package/dist/src/budget/types.js.map +1 -0
  83. package/dist/src/catalog/index.d.ts +3 -0
  84. package/dist/src/catalog/index.d.ts.map +1 -0
  85. package/dist/src/catalog/index.js +3 -0
  86. package/dist/src/catalog/index.js.map +1 -0
  87. package/dist/src/catalog/models_dev.d.ts +87 -0
  88. package/dist/src/catalog/models_dev.d.ts.map +1 -0
  89. package/dist/src/catalog/models_dev.js +38 -0
  90. package/dist/src/catalog/models_dev.js.map +1 -0
  91. package/dist/src/catalog/source.d.ts +52 -0
  92. package/dist/src/catalog/source.d.ts.map +1 -0
  93. package/dist/src/catalog/source.js +668 -0
  94. package/dist/src/catalog/source.js.map +1 -0
  95. package/dist/src/circuit_breaker.d.ts +40 -0
  96. package/dist/src/circuit_breaker.d.ts.map +1 -0
  97. package/dist/src/circuit_breaker.js +172 -0
  98. package/dist/src/circuit_breaker.js.map +1 -0
  99. package/dist/src/define_config.d.ts +11 -0
  100. package/dist/src/define_config.d.ts.map +1 -0
  101. package/dist/src/define_config.js +48 -0
  102. package/dist/src/define_config.js.map +1 -0
  103. package/dist/src/error_classifier.d.ts +17 -0
  104. package/dist/src/error_classifier.d.ts.map +1 -0
  105. package/dist/src/error_classifier.js +80 -0
  106. package/dist/src/error_classifier.js.map +1 -0
  107. package/dist/src/errors.d.ts +52 -0
  108. package/dist/src/errors.d.ts.map +1 -0
  109. package/dist/src/errors.js +70 -0
  110. package/dist/src/errors.js.map +1 -0
  111. package/dist/src/guard/confirmation.d.ts +67 -0
  112. package/dist/src/guard/confirmation.d.ts.map +1 -0
  113. package/dist/src/guard/confirmation.js +180 -0
  114. package/dist/src/guard/confirmation.js.map +1 -0
  115. package/dist/src/guard/errors.d.ts +10 -0
  116. package/dist/src/guard/errors.d.ts.map +1 -0
  117. package/dist/src/guard/errors.js +14 -0
  118. package/dist/src/guard/errors.js.map +1 -0
  119. package/dist/src/guard/guard.d.ts +47 -0
  120. package/dist/src/guard/guard.d.ts.map +1 -0
  121. package/dist/src/guard/guard.js +133 -0
  122. package/dist/src/guard/guard.js.map +1 -0
  123. package/dist/src/guard/index.d.ts +7 -0
  124. package/dist/src/guard/index.d.ts.map +1 -0
  125. package/dist/src/guard/index.js +7 -0
  126. package/dist/src/guard/index.js.map +1 -0
  127. package/dist/src/guard/registry.d.ts +66 -0
  128. package/dist/src/guard/registry.d.ts.map +1 -0
  129. package/dist/src/guard/registry.js +182 -0
  130. package/dist/src/guard/registry.js.map +1 -0
  131. package/dist/src/guard/schema_registry.d.ts +37 -0
  132. package/dist/src/guard/schema_registry.d.ts.map +1 -0
  133. package/dist/src/guard/schema_registry.js +57 -0
  134. package/dist/src/guard/schema_registry.js.map +1 -0
  135. package/dist/src/guard/types.d.ts +64 -0
  136. package/dist/src/guard/types.d.ts.map +1 -0
  137. package/dist/src/guard/types.js +2 -0
  138. package/dist/src/guard/types.js.map +1 -0
  139. package/dist/src/index.d.ts +13 -0
  140. package/dist/src/index.d.ts.map +1 -0
  141. package/dist/src/index.js +12 -0
  142. package/dist/src/index.js.map +1 -0
  143. package/dist/src/response_macro.d.ts +16 -0
  144. package/dist/src/response_macro.d.ts.map +1 -0
  145. package/dist/src/response_macro.js +151 -0
  146. package/dist/src/response_macro.js.map +1 -0
  147. package/dist/src/types.d.ts +297 -0
  148. package/dist/src/types.d.ts.map +1 -0
  149. package/dist/src/types.js +2 -0
  150. package/dist/src/types.js.map +1 -0
  151. package/dist/src/usage.d.ts +13 -0
  152. package/dist/src/usage.d.ts.map +1 -0
  153. package/dist/src/usage.js +61 -0
  154. package/dist/src/usage.js.map +1 -0
  155. package/package.json +141 -3
@@ -0,0 +1,255 @@
1
+ import path from 'node:path';
2
+ import { AiException, ProviderConfigError } from '../errors.js';
3
+ import { buildAcpRuntimeConfig, buildProjectMcpServer, getAcpAgentConfig, normalizeMcpServer, } from './acp_agents.js';
4
+ /** Variables a CLI needs to run at all. Everything else is withheld unless `inheritEnv` is set. */
5
+ const SAFE_ENV_KEYS = new Set([
6
+ 'PATH',
7
+ 'PATHEXT',
8
+ 'HOME',
9
+ 'USER',
10
+ 'USERNAME',
11
+ 'LOGNAME',
12
+ 'SHELL',
13
+ 'LANG',
14
+ 'LANGUAGE',
15
+ 'TERM',
16
+ 'COLORTERM',
17
+ 'TZ',
18
+ 'TMPDIR',
19
+ 'TMP',
20
+ 'TEMP',
21
+ 'SYSTEMROOT',
22
+ 'WINDIR',
23
+ 'COMSPEC',
24
+ 'USERPROFILE',
25
+ 'APPDATA',
26
+ 'LOCALAPPDATA',
27
+ 'PROGRAMFILES',
28
+ 'PROGRAMFILES(X86)',
29
+ 'PROGRAMDATA',
30
+ 'HOMEDRIVE',
31
+ 'HOMEPATH',
32
+ 'NUMBER_OF_PROCESSORS',
33
+ 'PROCESSOR_ARCHITECTURE',
34
+ 'OS',
35
+ ].map((k) => k.toUpperCase()));
36
+ const SAFE_ENV_PREFIXES = ['LC_', 'XDG_'];
37
+ /**
38
+ * Builds the environment for the agent process.
39
+ *
40
+ * `@mcpc-tech/acp-ai-provider` spawns the agent with `{ ...process.env, ...env }`, so the server's
41
+ * secrets cannot be left out by omission. Instead every variable that is not allowlisted is
42
+ * explicitly blanked, and only the allowlist plus `extra` (agent credentials, configured env)
43
+ * keep real values.
44
+ */
45
+ export function buildAgentEnv(source, extra, inheritEnv = false) {
46
+ if (inheritEnv)
47
+ return { ...extra };
48
+ const env = {};
49
+ for (const key of Object.keys(source)) {
50
+ const upper = key.toUpperCase();
51
+ const safe = SAFE_ENV_KEYS.has(upper) || SAFE_ENV_PREFIXES.some((p) => upper.startsWith(p));
52
+ env[key] = safe ? (source[key] ?? '') : '';
53
+ }
54
+ return { ...env, ...extra };
55
+ }
56
+ export class AcpDriver {
57
+ name;
58
+ defaultModel;
59
+ config;
60
+ logger;
61
+ confirmation;
62
+ env;
63
+ cachedModels = new Map();
64
+ providers = new Set();
65
+ permissionPolicy;
66
+ constructor(name, config, deps = {}) {
67
+ this.name = name;
68
+ this.config = config;
69
+ this.logger = deps.logger;
70
+ this.confirmation = deps.confirmation;
71
+ this.env = deps.env ?? process.env;
72
+ this.defaultModel = config.agentId ?? config.defaultModel ?? 'claude-code';
73
+ this.permissionPolicy = config.permissionPolicy ?? 'ask';
74
+ if (this.permissionPolicy === 'allow') {
75
+ this.logger?.warn?.(`[AcpDriver] Provider "${name}" auto-approves every agent action (permissionPolicy: 'allow').`);
76
+ }
77
+ }
78
+ /**
79
+ * Lazily loads and instantiates an AI SDK language model backed by the ACP agent.
80
+ * `modelName` selects among the built-in agents; it is never executed as a command.
81
+ */
82
+ async getModel(modelName) {
83
+ const agentId = modelName ?? this.defaultModel;
84
+ const runtimeConfig = this.resolveRuntimeConfig(agentId);
85
+ const cacheKey = `${runtimeConfig.command}::${runtimeConfig.cwd}`;
86
+ let model = this.cachedModels.get(cacheKey);
87
+ if (!model) {
88
+ model = this.createModel(runtimeConfig);
89
+ this.cachedModels.set(cacheKey, model);
90
+ // Do not cache failures
91
+ model.catch(() => this.cachedModels.delete(cacheKey));
92
+ }
93
+ return model;
94
+ }
95
+ /**
96
+ * Tests whether the ACP agent can be resolved and its model instantiated.
97
+ */
98
+ async ping() {
99
+ const startTime = Date.now();
100
+ try {
101
+ const runtimeConfig = this.resolveRuntimeConfig(this.defaultModel);
102
+ this.logger?.debug?.(`[AcpDriver] Pinging ACP agent command: ${runtimeConfig.command}`);
103
+ await this.getModel(this.defaultModel);
104
+ return { ok: true, latencyMs: Date.now() - startTime };
105
+ }
106
+ catch (err) {
107
+ return {
108
+ ok: false,
109
+ latencyMs: Date.now() - startTime,
110
+ error: err instanceof Error ? err.message : String(err),
111
+ };
112
+ }
113
+ }
114
+ /**
115
+ * Terminates every agent process started by this driver.
116
+ */
117
+ async shutdown() {
118
+ const providers = [...this.providers];
119
+ this.providers.clear();
120
+ this.cachedModels.clear();
121
+ for (const provider of providers) {
122
+ try {
123
+ provider.cleanup();
124
+ }
125
+ catch (err) {
126
+ this.logger?.warn?.(`[AcpDriver] Failed to clean up ACP provider: ${String(err)}`);
127
+ }
128
+ }
129
+ }
130
+ resolveRuntimeConfig(agentId) {
131
+ const predefined = getAcpAgentConfig(agentId);
132
+ const explicitCommand = this.config.command;
133
+ // A command is only ever taken from config or from the built-in agent table.
134
+ if (!explicitCommand && !predefined) {
135
+ throw new ProviderConfigError(this.name, `Unknown ACP agent "${agentId}". Use one of the built-in agents or set "command" explicitly in the provider config.`);
136
+ }
137
+ const builtFromEnv = predefined
138
+ ? buildAcpRuntimeConfig(agentId, (key) => this.env[key], this.env, this.logger)
139
+ : null;
140
+ const command = explicitCommand ?? builtFromEnv?.command ?? predefined.command;
141
+ const args = this.config.args ?? (explicitCommand ? [] : (builtFromEnv?.args ?? predefined.args));
142
+ const cwd = this.config.cwd ?? builtFromEnv?.cwd ?? process.cwd();
143
+ if (!path.isAbsolute(cwd)) {
144
+ throw new ProviderConfigError(this.name, `ACP "cwd" must be an absolute path, got "${cwd}"`);
145
+ }
146
+ const env = buildAgentEnv(this.env, { ...(builtFromEnv?.env ?? {}), ...(this.config.env ?? {}) }, this.config.inheritEnv);
147
+ const mcpServers = [...(builtFromEnv?.mcpServers ?? [])];
148
+ for (const server of this.config.mcpServers ?? []) {
149
+ const normalized = normalizeMcpServer(server);
150
+ if (normalized)
151
+ mcpServers.push(normalized);
152
+ else
153
+ this.logger?.warn?.(`[AcpDriver] Ignoring invalid MCP server in provider "${this.name}"`);
154
+ }
155
+ if (this.config.enableProjectMcp) {
156
+ if (this.config.projectMcp) {
157
+ const project = buildProjectMcpServer(this.config.projectMcp, this.logger);
158
+ if (project)
159
+ mcpServers.push(project);
160
+ }
161
+ else {
162
+ this.logger?.warn?.(`[AcpDriver] enableProjectMcp is set on "${this.name}" but "projectMcp.path" is missing; skipping.`);
163
+ }
164
+ }
165
+ return {
166
+ command,
167
+ args,
168
+ cwd,
169
+ env,
170
+ mcpServers,
171
+ authMethodId: this.config.authMethodId ?? builtFromEnv?.authMethodId ?? predefined?.authMethodId,
172
+ };
173
+ }
174
+ async createModel(runtimeConfig) {
175
+ this.logger?.info?.(`[ACP] Starting ACP agent session: ${runtimeConfig.command} in ${runtimeConfig.cwd}`);
176
+ let acpModule;
177
+ try {
178
+ acpModule = await import('@mcpc-tech/acp-ai-provider');
179
+ }
180
+ catch (err) {
181
+ throw new AiException(`Package "@mcpc-tech/acp-ai-provider" is required to use ACP drivers: ${err instanceof Error ? err.message : String(err)}`, 'E_AI_MISSING_DEPENDENCY', err);
182
+ }
183
+ const provider = acpModule.createACPProvider({
184
+ command: runtimeConfig.command,
185
+ args: runtimeConfig.args,
186
+ env: runtimeConfig.env,
187
+ authMethodId: runtimeConfig.authMethodId,
188
+ session: {
189
+ cwd: runtimeConfig.cwd,
190
+ mcpServers: runtimeConfig.mcpServers,
191
+ },
192
+ });
193
+ this.providers.add(provider);
194
+ const model = provider.languageModel();
195
+ this.installPermissionHandler(model, runtimeConfig.command);
196
+ return model;
197
+ }
198
+ /**
199
+ * The ACP provider auto-selects the first permission option when no handler is set, and offers
200
+ * no public API to set one. The handler is installed on the model's client right after every
201
+ * connection is established. If it cannot be installed the model refuses to connect (fail-closed).
202
+ */
203
+ installPermissionHandler(model, agentLabel) {
204
+ const connect = model.connectClient.bind(model);
205
+ const handler = (params) => this.answerPermission(params, agentLabel);
206
+ model.connectClient = async () => {
207
+ await connect();
208
+ const client = model.client;
209
+ if (!client || typeof client.setPermissionRequestHandler !== 'function') {
210
+ throw new AiException('Unable to install the ACP permission handler (unsupported @mcpc-tech/acp-ai-provider version); refusing to run the agent without permission control.', 'E_AI_ACP_UNSAFE');
211
+ }
212
+ client.setPermissionRequestHandler(handler);
213
+ };
214
+ }
215
+ async answerPermission(params, agentLabel) {
216
+ const options = params.options ?? [];
217
+ const select = (kinds) => {
218
+ const option = options.find((o) => kinds.includes(o.kind));
219
+ return option ? { outcome: { outcome: 'selected', optionId: option.optionId } } : null;
220
+ };
221
+ const reject = () => select(['reject_once', 'reject_always']) ?? { outcome: { outcome: 'cancelled' } };
222
+ // Never answer with `allow_always`: a single approval must not become a standing grant.
223
+ const allow = () => select(['allow_once']) ?? reject();
224
+ const title = params.toolCall?.title ?? params.toolCall?.kind ?? 'agent action';
225
+ if (this.permissionPolicy === 'deny') {
226
+ this.logger?.warn?.(`[ACP] Denied "${title}" requested by ${agentLabel} (policy: deny)`);
227
+ return reject();
228
+ }
229
+ if (this.permissionPolicy === 'allow') {
230
+ return allow();
231
+ }
232
+ if (!this.confirmation) {
233
+ this.logger?.warn?.(`[ACP] Denied "${title}" requested by ${agentLabel}: no ConfirmationService to ask a human`);
234
+ return reject();
235
+ }
236
+ const response = await this.confirmation.waitForResponse({
237
+ sessionId: params.sessionId,
238
+ toolName: `acp:${agentLabel}`,
239
+ action: String(title),
240
+ params: {
241
+ kind: params.toolCall?.kind ?? null,
242
+ rawInput: params.toolCall?.rawInput ?? null,
243
+ locations: params.toolCall?.locations ?? null,
244
+ },
245
+ }, this.config.permissionTimeoutMs);
246
+ return response.status === 'approved' ? allow() : reject();
247
+ }
248
+ }
249
+ /**
250
+ * Factory for creating an AcpDriver instance.
251
+ */
252
+ export function createAcpDriver(name, config, deps = {}) {
253
+ return new AcpDriver(name, config, deps);
254
+ }
255
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/acp/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import type { BaseProviderConfig } from '../types.js';
2
+ /** `{ name, value }` pair as required by the ACP schema for `env` and `headers`. */
3
+ export interface AcpNameValue {
4
+ name: string;
5
+ value: string;
6
+ }
7
+ /** Stdio MCP server, exactly as in the ACP schema (`McpServerStdio`: no `type`, `env` is an array). */
8
+ export interface AcpStdioMcpServer {
9
+ type?: 'stdio';
10
+ name: string;
11
+ command: string;
12
+ args?: string[];
13
+ env?: AcpNameValue[];
14
+ }
15
+ /** Remote MCP server (`McpServerHttp` / `McpServerSse`), `headers` is an array of `{name,value}`. */
16
+ export interface AcpRemoteMcpServer {
17
+ type: 'http' | 'sse';
18
+ name: string;
19
+ url: string;
20
+ headers?: AcpNameValue[];
21
+ }
22
+ export type AcpMcpServerConfig = AcpStdioMcpServer | AcpRemoteMcpServer;
23
+ /**
24
+ * What to do when the ACP agent asks for permission (shell commands, file writes, ...).
25
+ * - `ask` (default) require a human decision via the ConfirmationService; denied if none
26
+ * - `deny` refuse everything
27
+ * - `allow` auto-approve (once). Only for fully trusted, sandboxed setups.
28
+ */
29
+ export type AcpPermissionPolicy = 'ask' | 'deny' | 'allow';
30
+ export interface AcpAgentConfig {
31
+ id: string;
32
+ name: string;
33
+ description: string;
34
+ command: string;
35
+ args: string[];
36
+ envVarPrefix: string;
37
+ supportsMcpServers: boolean;
38
+ authMethodId?: string;
39
+ }
40
+ export interface AcpAgentRuntimeConfig {
41
+ command: string;
42
+ args: string[];
43
+ cwd: string;
44
+ env: Record<string, string>;
45
+ mcpServers: AcpMcpServerConfig[];
46
+ authMethodId?: string;
47
+ }
48
+ export interface AcpProjectMcpConfig {
49
+ /** Absolute or cwd-relative path to the MCP server entry file. */
50
+ path: string;
51
+ /** Executable used to run it. Default: `node` */
52
+ command?: string;
53
+ /** Server name reported to the agent. Default: `project-tools` */
54
+ name?: string;
55
+ }
56
+ export interface AcpProviderConfig extends BaseProviderConfig {
57
+ driver: 'acp';
58
+ /**
59
+ * Predefined agent ID (e.g. 'claude-code', 'gemini', 'codex', 'opencode', 'qwen-code').
60
+ * Defaults to 'claude-code'. Must be a known agent unless `command` is set.
61
+ */
62
+ agentId?: string;
63
+ /**
64
+ * Explicit executable for a custom agent. Only values written in config are ever executed;
65
+ * a model name coming from a request is never treated as a command.
66
+ */
67
+ command?: string;
68
+ /**
69
+ * Override CLI command arguments
70
+ */
71
+ args?: string[];
72
+ /**
73
+ * Custom working directory for the agent process (must be an absolute path)
74
+ */
75
+ cwd?: string;
76
+ /**
77
+ * Extra environment variables passed to the agent CLI
78
+ */
79
+ env?: Record<string, string>;
80
+ /**
81
+ * Forward the complete server environment to the agent (secrets included).
82
+ * Default: false - only a safe allowlist plus the agent's own credentials is forwarded.
83
+ */
84
+ inheritEnv?: boolean;
85
+ /**
86
+ * MCP servers to attach to the ACP agent session
87
+ */
88
+ mcpServers?: AcpMcpServerConfig[];
89
+ /**
90
+ * Optional authentication method identifier
91
+ */
92
+ authMethodId?: string;
93
+ /**
94
+ * Attach the project's own MCP server (requires `projectMcp.path`).
95
+ */
96
+ enableProjectMcp?: boolean;
97
+ projectMcp?: AcpProjectMcpConfig;
98
+ /**
99
+ * How permission requests from the agent are answered. Default: 'ask'.
100
+ */
101
+ permissionPolicy?: AcpPermissionPolicy;
102
+ /**
103
+ * How long to wait for a human to answer a permission request, in ms. Default: 60000
104
+ */
105
+ permissionTimeoutMs?: number;
106
+ }
107
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/acp/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,uGAAuG;AACvG,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,YAAY,EAAE,CAAA;CACrB;AAED,qGAAqG;AACrG,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;CACzB;AAED,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;AAEvE;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;AAE1D,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,UAAU,EAAE,kBAAkB,EAAE,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAA;IACZ,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D,MAAM,EAAE,KAAK,CAAA;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAA;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAChC;;OAEG;IACH,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;IACtC;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/acp/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import type { z } from 'zod';
2
+ import type { ToolSet } from 'ai';
3
+ import type { GenerateObjectOptions, GenerateObjectResult, GenerateTextOptions, GenerateTextResult, StreamTextOptions, StreamTextResult } from '../types.js';
4
+ import type { AiManager } from '../ai_manager.js';
5
+ import type { AgentPromptConfig } from './loader.js';
6
+ import type { ToolPermission } from './manifest.js';
7
+ export interface AgentRunnerOptions {
8
+ tools?: ToolSet;
9
+ system?: string;
10
+ model?: string;
11
+ provider?: string;
12
+ temperature?: number;
13
+ maxOutputTokens?: number;
14
+ /** @deprecated Use `maxOutputTokens`. */
15
+ maxTokens?: number;
16
+ sessionId?: string;
17
+ toolGuard?: GenerateTextOptions['toolGuard'];
18
+ /**
19
+ * Permission of tools the agent manifest does not mention. Default: 'allow' (the manifest then
20
+ * acts as a deny/ask list). Use 'deny' for strict allow-list mode.
21
+ */
22
+ defaultToolPermission?: ToolPermission;
23
+ }
24
+ export declare class AgentRunner {
25
+ private manager;
26
+ private config;
27
+ private defaultOptions;
28
+ constructor(manager: AiManager, config: AgentPromptConfig, options?: AgentRunnerOptions);
29
+ getId(): string;
30
+ getDescription(): string;
31
+ getSystemPrompt(): string;
32
+ getConfig(): AgentPromptConfig;
33
+ getPermissions(): Record<string, ToolPermission>;
34
+ private permissionFor;
35
+ /**
36
+ * Filters tools according to the agent manifest. `deny` tools are removed; the permissions map is
37
+ * returned so the manager enforces `ask` (human confirmation) and the tool guard at call time.
38
+ */
39
+ private prepareTools;
40
+ private mergedSystem;
41
+ /**
42
+ * Executes a text generation step with agent instructions, budget tracking, and tool permissions.
43
+ *
44
+ * Security: `tools`, `toolPermissions`, `system` and `toolGuard` are spread AFTER the caller's
45
+ * options so a caller can neither re-introduce a denied tool nor replace the agent's prompt.
46
+ */
47
+ run(promptOrOptions: string | GenerateTextOptions): Promise<GenerateTextResult>;
48
+ /**
49
+ * Streams responses with agent instructions, skills, and budget attribution.
50
+ */
51
+ runStream(promptOrOptions: string | StreamTextOptions): Promise<StreamTextResult>;
52
+ /** Alias of `runStream()`. */
53
+ stream(promptOrOptions: string | StreamTextOptions): Promise<StreamTextResult>;
54
+ /**
55
+ * Generates structured output conforming to a Zod schema or the agent's outputSchema.
56
+ */
57
+ runStructured<T>(schema?: z.ZodType<T>, promptOrOptions?: string | Partial<GenerateObjectOptions<T>>): Promise<GenerateObjectResult<T>>;
58
+ private maxOutputTokens;
59
+ }
60
+ //# sourceMappingURL=agent_runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent_runner.d.ts","sourceRoot":"","sources":["../../../src/agents/agent_runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAC5C;;;OAGG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAA;CACvC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,cAAc,CAAoB;gBAGxC,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,kBAAuB;IAOlC,KAAK,IAAI,MAAM;IAIf,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,MAAM;IAIzB,SAAS,IAAI,iBAAiB;IAI9B,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAIhD,OAAO,CAAC,aAAa;IAOrB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,YAAY;IAIpB;;;;;OAKG;IACG,GAAG,CAAC,eAAe,EAAE,MAAM,GAAG,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqBrF;;OAEG;IACG,SAAS,CAAC,eAAe,EAAE,MAAM,GAAG,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqBvF,8BAA8B;IAC9B,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI9E;;OAEG;IACG,aAAa,CAAC,CAAC,EACnB,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACrB,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAC3D,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAsBnC,OAAO,CAAC,eAAe;CAWxB"}
@@ -0,0 +1,134 @@
1
+ export class AgentRunner {
2
+ manager;
3
+ config;
4
+ defaultOptions;
5
+ constructor(manager, config, options = {}) {
6
+ this.manager = manager;
7
+ this.config = config;
8
+ this.defaultOptions = options;
9
+ }
10
+ getId() {
11
+ return this.config.id;
12
+ }
13
+ getDescription() {
14
+ return this.config.description;
15
+ }
16
+ getSystemPrompt() {
17
+ return this.config.systemPrompt;
18
+ }
19
+ getConfig() {
20
+ return this.config;
21
+ }
22
+ getPermissions() {
23
+ return this.config.permissions;
24
+ }
25
+ permissionFor(toolName) {
26
+ const own = Object.hasOwn(this.config.permissions, toolName)
27
+ ? this.config.permissions[toolName]
28
+ : undefined;
29
+ return own ?? this.defaultOptions.defaultToolPermission ?? 'allow';
30
+ }
31
+ /**
32
+ * Filters tools according to the agent manifest. `deny` tools are removed; the permissions map is
33
+ * returned so the manager enforces `ask` (human confirmation) and the tool guard at call time.
34
+ */
35
+ prepareTools(runtimeTools) {
36
+ const rawTools = runtimeTools ?? this.defaultOptions.tools;
37
+ const toolPermissions = {};
38
+ if (!rawTools || Object.keys(rawTools).length === 0) {
39
+ return { tools: undefined, toolPermissions };
40
+ }
41
+ const filtered = {};
42
+ for (const [name, tool] of Object.entries(rawTools)) {
43
+ const permission = this.permissionFor(name);
44
+ if (permission === 'deny') {
45
+ continue;
46
+ }
47
+ filtered[name] = tool;
48
+ toolPermissions[name] = permission;
49
+ }
50
+ return {
51
+ tools: Object.keys(filtered).length > 0 ? filtered : undefined,
52
+ toolPermissions,
53
+ };
54
+ }
55
+ mergedSystem(extra) {
56
+ return [this.config.systemPrompt, this.defaultOptions.system, extra].filter(Boolean).join('\n\n');
57
+ }
58
+ /**
59
+ * Executes a text generation step with agent instructions, budget tracking, and tool permissions.
60
+ *
61
+ * Security: `tools`, `toolPermissions`, `system` and `toolGuard` are spread AFTER the caller's
62
+ * options so a caller can neither re-introduce a denied tool nor replace the agent's prompt.
63
+ */
64
+ async run(promptOrOptions) {
65
+ const baseOpts = typeof promptOrOptions === 'string' ? { prompt: promptOrOptions } : { ...promptOrOptions };
66
+ const { tools, toolPermissions } = this.prepareTools(baseOpts.tools);
67
+ return this.manager.generateText({
68
+ ...baseOpts,
69
+ agentName: this.config.id,
70
+ system: this.mergedSystem(baseOpts.system),
71
+ model: baseOpts.model ?? this.defaultOptions.model ?? this.config.model,
72
+ provider: baseOpts.provider ?? this.defaultOptions.provider ?? this.config.provider,
73
+ temperature: baseOpts.temperature ?? this.defaultOptions.temperature ?? this.config.temperature,
74
+ maxOutputTokens: this.maxOutputTokens(baseOpts),
75
+ maxSteps: baseOpts.maxSteps ?? this.config.stopSteps,
76
+ tools,
77
+ toolPermissions,
78
+ toolGuard: baseOpts.toolGuard ?? this.defaultOptions.toolGuard,
79
+ });
80
+ }
81
+ /**
82
+ * Streams responses with agent instructions, skills, and budget attribution.
83
+ */
84
+ async runStream(promptOrOptions) {
85
+ const baseOpts = typeof promptOrOptions === 'string' ? { prompt: promptOrOptions } : { ...promptOrOptions };
86
+ const { tools, toolPermissions } = this.prepareTools(baseOpts.tools);
87
+ return this.manager.streamText({
88
+ ...baseOpts,
89
+ agentName: this.config.id,
90
+ system: this.mergedSystem(baseOpts.system),
91
+ model: baseOpts.model ?? this.defaultOptions.model ?? this.config.model,
92
+ provider: baseOpts.provider ?? this.defaultOptions.provider ?? this.config.provider,
93
+ temperature: baseOpts.temperature ?? this.defaultOptions.temperature ?? this.config.temperature,
94
+ maxOutputTokens: this.maxOutputTokens(baseOpts),
95
+ maxSteps: baseOpts.maxSteps ?? this.config.stopSteps,
96
+ tools,
97
+ toolPermissions,
98
+ toolGuard: baseOpts.toolGuard ?? this.defaultOptions.toolGuard,
99
+ });
100
+ }
101
+ /** Alias of `runStream()`. */
102
+ stream(promptOrOptions) {
103
+ return this.runStream(promptOrOptions);
104
+ }
105
+ /**
106
+ * Generates structured output conforming to a Zod schema or the agent's outputSchema.
107
+ */
108
+ async runStructured(schema, promptOrOptions) {
109
+ const targetSchema = schema ?? this.config.outputSchema;
110
+ if (!targetSchema) {
111
+ throw new Error(`No schema provided for structured output in agent "${this.config.id}"`);
112
+ }
113
+ const baseOpts = typeof promptOrOptions === 'string' ? { prompt: promptOrOptions } : (promptOrOptions ?? {});
114
+ return this.manager.generateObject({
115
+ ...baseOpts,
116
+ schema: targetSchema,
117
+ schemaName: baseOpts.schemaName ?? this.config.outputSchemaName ?? this.config.id,
118
+ agentName: this.config.id,
119
+ system: this.mergedSystem(baseOpts.system),
120
+ model: baseOpts.model ?? this.defaultOptions.model ?? this.config.model,
121
+ provider: baseOpts.provider ?? this.defaultOptions.provider ?? this.config.provider,
122
+ temperature: baseOpts.temperature ?? this.defaultOptions.temperature ?? this.config.temperature,
123
+ maxOutputTokens: this.maxOutputTokens(baseOpts),
124
+ });
125
+ }
126
+ maxOutputTokens(opts) {
127
+ return (opts.maxOutputTokens ??
128
+ opts.maxTokens ??
129
+ this.defaultOptions.maxOutputTokens ??
130
+ this.defaultOptions.maxTokens ??
131
+ this.config.maxTokens);
132
+ }
133
+ }
134
+ //# sourceMappingURL=agent_runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent_runner.js","sourceRoot":"","sources":["../../../src/agents/agent_runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './manifest.js';
2
+ export * from './loader.js';
3
+ export * from './agent_runner.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './manifest.js';
2
+ export * from './loader.js';
3
+ export * from './agent_runner.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA"}