@meetquinn/animactl 0.1.19-canary.552.1.de9e2d4 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/provider-cli/provider-inspection.d.ts +2 -1
- package/dist/server/provider-cli/provider-inspection.d.ts.map +1 -1
- package/dist/server/provider-cli/provider-inspection.js +6 -5
- package/dist/server/providers/claude-launch.d.ts +0 -1
- package/dist/server/providers/claude-launch.d.ts.map +1 -1
- package/dist/server/providers/claude-launch.js +0 -2
- package/dist/server/providers/claude.d.ts +2 -1
- package/dist/server/providers/claude.d.ts.map +1 -1
- package/dist/server/providers/claude.js +6 -4
- package/dist/server/providers/codex.d.ts +2 -1
- package/dist/server/providers/codex.d.ts.map +1 -1
- package/dist/server/providers/codex.js +5 -4
- package/dist/server/providers/factory.d.ts +3 -1
- package/dist/server/providers/factory.d.ts.map +1 -1
- package/dist/server/providers/factory.js +8 -6
- package/dist/server/providers/grok.d.ts +2 -1
- package/dist/server/providers/grok.d.ts.map +1 -1
- package/dist/server/providers/grok.js +5 -4
- package/dist/server/providers/kimi.d.ts +2 -1
- package/dist/server/providers/kimi.d.ts.map +1 -1
- package/dist/server/providers/kimi.js +5 -4
- package/dist/server/providers/opencode.d.ts +2 -1
- package/dist/server/providers/opencode.d.ts.map +1 -1
- package/dist/server/providers/opencode.js +5 -4
- package/dist/server/providers/runtime-command.service.d.ts +24 -0
- package/dist/server/providers/runtime-command.service.d.ts.map +1 -0
- package/dist/server/providers/runtime-command.service.js +41 -0
- package/dist/server/runtime/host.d.ts +4 -0
- package/dist/server/runtime/host.d.ts.map +1 -1
- package/dist/server/runtime/host.js +36 -16
- package/dist/server/settings/settings.service.d.ts +4 -1
- package/dist/server/settings/settings.service.d.ts.map +1 -1
- package/dist/server/settings/settings.service.js +20 -0
- package/dist/server/storage/schema/server.store.d.ts +7 -0
- package/dist/server/storage/schema/server.store.d.ts.map +1 -1
- package/dist/server/storage/schema/server.store.js +2 -1
- package/dist/server/tests/agent-runtime-codex.test.js +4 -3
- package/dist/server/tests/provider-launch.test.js +14 -0
- package/dist/server/tests/provider-runtime-commands.test.d.ts +2 -0
- package/dist/server/tests/provider-runtime-commands.test.d.ts.map +1 -0
- package/dist/server/tests/provider-runtime-commands.test.js +63 -0
- package/dist/server/tests/read-only-runtime.test.js +2 -0
- package/dist/server/tests/runtime-host-config-watch.test.js +18 -1
- package/dist/server/tests/runtime.test.js +30 -0
- package/dist/server/tests/web-api-server.test.js +61 -0
- package/dist/server/web/read-only.d.ts.map +1 -1
- package/dist/server/web/read-only.js +6 -0
- package/dist/server/web/system-routes.d.ts.map +1 -1
- package/dist/server/web/system-routes.js +19 -0
- package/dist/shared/provider-cli.d.ts +2 -2
- package/dist/shared/provider-runtime-commands.d.ts +52 -0
- package/dist/shared/provider-runtime-commands.d.ts.map +1 -0
- package/dist/shared/provider-runtime-commands.js +31 -0
- package/dist/shared/server-settings.d.ts +2 -1
- package/dist/shared/server-settings.d.ts.map +1 -1
- package/dist/shared/server-settings.js +2 -1
- package/dist/web/assets/{FileViewer-DUAZEOwI.js → FileViewer-BYdxHD7u.js} +8 -8
- package/dist/web/assets/SlackTimeline-61A7PsxU.js +2 -0
- package/dist/web/assets/activity-C5eAT_MT.js +7 -0
- package/dist/web/assets/{arc-DGIM4NRY.js → arc-CoAP_Xmj.js} +1 -1
- package/dist/web/assets/architecture-7EHR7CIX-CgubtNxa.js +1 -0
- package/dist/web/assets/{architectureDiagram-3BPJPVTR-DfYOnwdo.js → architectureDiagram-3BPJPVTR-hpUAwPGq.js} +1 -1
- package/dist/web/assets/{blockDiagram-GPEHLZMM-k4quhuub.js → blockDiagram-GPEHLZMM-CEPj_i9L.js} +1 -1
- package/dist/web/assets/{c4Diagram-AAUBKEIU-oaugjRXz.js → c4Diagram-AAUBKEIU-BMylajR_.js} +1 -1
- package/dist/web/assets/channel-SzP04_KC.js +1 -0
- package/dist/web/assets/{channels-D5_LA12e.js → channels-Ca2gL1b4.js} +1 -1
- package/dist/web/assets/{chunk-2J33WTMH-D1M7UzVc.js → chunk-2J33WTMH-BUrK-RcA.js} +1 -1
- package/dist/web/assets/{chunk-3OPIFGDE-R0KEJFqi.js → chunk-3OPIFGDE-DzGNV6kP.js} +1 -1
- package/dist/web/assets/{chunk-4BX2VUAB-BuFU0nlj.js → chunk-4BX2VUAB-DSY6ovBF.js} +1 -1
- package/dist/web/assets/{chunk-55IACEB6-CjGIcvcZ.js → chunk-55IACEB6-lVEX5X5W.js} +1 -1
- package/dist/web/assets/{chunk-5ZQYHXKU-bVWk8T5t.js → chunk-5ZQYHXKU-COFZFnZa.js} +1 -1
- package/dist/web/assets/{chunk-727SXJPM-rykzPcJ1.js → chunk-727SXJPM-B4iwh9kr.js} +1 -1
- package/dist/web/assets/{chunk-AQP2D5EJ-AtLjA-xB.js → chunk-AQP2D5EJ-B1WCxI8M.js} +1 -1
- package/dist/web/assets/{chunk-BSJP7CBP-Dm0DrP-2.js → chunk-BSJP7CBP-BZtdmbHz.js} +1 -1
- package/dist/web/assets/{chunk-CSCIHK7Q-D0DU5LMP.js → chunk-CSCIHK7Q-wuTTTmpv.js} +3 -3
- package/dist/web/assets/{chunk-FMBD7UC4-BPsNa2eP.js → chunk-FMBD7UC4-y_uRv74R.js} +1 -1
- package/dist/web/assets/{chunk-KSCS5N6A-DgtmUjr-.js → chunk-KSCS5N6A-B_CiHn_v.js} +1 -1
- package/dist/web/assets/{chunk-L5ZTLDWV-bEfbaazD.js → chunk-L5ZTLDWV-DfHf7xpI.js} +1 -1
- package/dist/web/assets/{chunk-LZXEDZCA-DKLdcjl-.js → chunk-LZXEDZCA-CfEiMrbC.js} +2 -2
- package/dist/web/assets/{chunk-ND2GUHAM-DlBtBi8n.js → chunk-ND2GUHAM-D4zCAC_m.js} +1 -1
- package/dist/web/assets/{chunk-NZK2D7GU-CofGjA_n.js → chunk-NZK2D7GU-QYDqUA7R.js} +1 -1
- package/dist/web/assets/{chunk-O5CBEL6O-sJOCBwPf.js → chunk-O5CBEL6O-QJxe7y7w.js} +1 -1
- package/dist/web/assets/chunk-QZHKN3VN-2WvQaSEF.js +1 -0
- package/dist/web/assets/chunk-WU5MYG2G-DSKk0cVv.js +1 -0
- package/dist/web/assets/{chunk-XPW4576I-LJI36SQ0.js → chunk-XPW4576I-DAqWy3qj.js} +1 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-y0DDTM5k.js +1 -0
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-y0DDTM5k.js +1 -0
- package/dist/web/assets/{cose-bilkent-S5V4N54A-PkPq4QBd.js → cose-bilkent-S5V4N54A-BKp-UJVq.js} +1 -1
- package/dist/web/assets/{dagre-BM42HDAG-CniX0ruv.js → dagre-BM42HDAG-Dh94Fs4e.js} +1 -1
- package/dist/web/assets/{diagram-2AECGRRQ-Cc7zHrio.js → diagram-2AECGRRQ-rNf0Nq5Z.js} +1 -1
- package/dist/web/assets/{diagram-5GNKFQAL-CljcB6x5.js → diagram-5GNKFQAL-D3-J9_y-.js} +1 -1
- package/dist/web/assets/{diagram-KO2AKTUF-CDINvEf6.js → diagram-KO2AKTUF-DI9pVVaD.js} +1 -1
- package/dist/web/assets/{diagram-LMA3HP47-COmTyIzn.js → diagram-LMA3HP47-BE3SR4Vb.js} +1 -1
- package/dist/web/assets/{diagram-OG6HWLK6-CNc2Z2iK.js → diagram-OG6HWLK6-D1O4t2DC.js} +1 -1
- package/dist/web/assets/{dist-BE3iZ01Q.js → dist-NyWIM_09.js} +1 -1
- package/dist/web/assets/{erDiagram-TEJ5UH35-DpBRItLC.js → erDiagram-TEJ5UH35-Ga5PYN-H.js} +1 -1
- package/dist/web/assets/eventmodeling-FCH6USID-C28zcEr2.js +1 -0
- package/dist/web/assets/{files-5cfrJmpE.js → files-RVkE0Nqo.js} +1 -1
- package/dist/web/assets/{flowDiagram-I6XJVG4X-BenQZSZS.js → flowDiagram-I6XJVG4X-Ci2fLeJq.js} +1 -1
- package/dist/web/assets/{ganttDiagram-6RSMTGT7-DaHvI5Rm.js → ganttDiagram-6RSMTGT7-DmCGbaIH.js} +1 -1
- package/dist/web/assets/gitGraph-WXDBUCRP-DMJT_1eV.js +1 -0
- package/dist/web/assets/{gitGraphDiagram-PVQCEYII-BQ4RdSG2.js → gitGraphDiagram-PVQCEYII-CAn3Qd7A.js} +1 -1
- package/dist/web/assets/index-B4hQBMfk.css +2 -0
- package/dist/web/assets/index-BKAW2ewu.js +80 -0
- package/dist/web/assets/info-J43DQDTF-AqxNB3f0.js +1 -0
- package/dist/web/assets/{infoDiagram-5YYISTIA-BsZWc4iH.js → infoDiagram-5YYISTIA-Bz1Z579f.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-D2mTEmCj.js → ishikawaDiagram-YF4QCWOH-Dexza3AN.js} +1 -1
- package/dist/web/assets/{journeyDiagram-JHISSGLW-BUfiGEPZ.js → journeyDiagram-JHISSGLW-CjYjzr4c.js} +1 -1
- package/dist/web/assets/{kanban-definition-UN3LZRKU-CpOVmLvS.js → kanban-definition-UN3LZRKU-BmIYd15q.js} +1 -1
- package/dist/web/assets/kb-Dn5ZTO10.js +1 -0
- package/dist/web/assets/{lightbulb-BbrFzBbD.js → lightbulb-F9Soj4n4.js} +1 -1
- package/dist/web/assets/{line-C87DWM3i.js → line-CEVDb_6t.js} +1 -1
- package/dist/web/assets/{linear-C4BaMBV9.js → linear-3w6sajxf.js} +1 -1
- package/dist/web/assets/{login-HxqlHiCH.js → login-D0jp5DFD.js} +1 -1
- package/dist/web/assets/{mermaid-parser.core-CWA9nNBB.js → mermaid-parser.core-DOinGEhh.js} +2 -2
- package/dist/web/assets/{mermaid.core-B7bUDfwD.js → mermaid.core-BIoT0z-k.js} +3 -3
- package/dist/web/assets/{mindmap-definition-RKZ34NQL-DB_5a7Cw.js → mindmap-definition-RKZ34NQL-CU3IXeRo.js} +1 -1
- package/dist/web/assets/packet-YPE3B663-CGUKEa26.js +1 -0
- package/dist/web/assets/pie-LRSECV5Y-CLF6KD4x.js +1 -0
- package/dist/web/assets/{pieDiagram-4H26LBE5-BFC8RhPt.js → pieDiagram-4H26LBE5-BiLNBtuA.js} +1 -1
- package/dist/web/assets/profile--bucGOaT.js +1 -0
- package/dist/web/assets/{quadrantDiagram-W4KKPZXB-B7vOKAso.js → quadrantDiagram-W4KKPZXB-1rTWBryw.js} +1 -1
- package/dist/web/assets/radar-GUYGQ44K-BAaia3Bs.js +1 -0
- package/dist/web/assets/{reminders-bT_kjiX1.js → reminders-B4jM2Hzl.js} +1 -1
- package/dist/web/assets/{requirementDiagram-4Y6WPE33-Do9CLcKR.js → requirementDiagram-4Y6WPE33-IX5kXRec.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-5OEKKPKP-PO1jqIXZ.js → sankeyDiagram-5OEKKPKP-B1P5rKV8.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-3UESZ5HK-CV6M-CAe.js → sequenceDiagram-3UESZ5HK-CIfDs8Y4.js} +1 -1
- package/dist/web/assets/{src-CkgzkpiL.js → src-BTHXJqv6.js} +1 -1
- package/dist/web/assets/{stateDiagram-AJRCARHV-CYlqSVo2.js → stateDiagram-AJRCARHV-BAT_-bZD.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-DIv8tPXH.js +1 -0
- package/dist/web/assets/{timeline-definition-PNZ67QCA-9SZsVq8Z.js → timeline-definition-PNZ67QCA-CzVjQCaB.js} +1 -1
- package/dist/web/assets/treeView-BLDUP644-Cdfd7TqZ.js +1 -0
- package/dist/web/assets/treemap-LRROVOQU-D4I3UY3p.js +1 -0
- package/dist/web/assets/{useInfiniteQuery-CtBv0zZL.js → useInfiniteQuery-COBF4MPg.js} +1 -1
- package/dist/web/assets/{vennDiagram-CIIHVFJN-BivicvpG.js → vennDiagram-CIIHVFJN-deBr-b8Z.js} +1 -1
- package/dist/web/assets/wardley-L42UT6IY-DhB9QW1f.js +1 -0
- package/dist/web/assets/{wardleyDiagram-YWT4CUSO-24_X5PDx.js → wardleyDiagram-YWT4CUSO-DBBjEz9P.js} +1 -1
- package/dist/web/assets/{xychartDiagram-2RQKCTM6-Djg-_Uu5.js → xychartDiagram-2RQKCTM6-CuCOdPrn.js} +1 -1
- package/dist/web/index.html +2 -2
- package/docs/guide/providers.md +16 -0
- package/package.json +1 -1
- package/dist/web/assets/SlackTimeline-C9qNg89R.js +0 -2
- package/dist/web/assets/activity-HL7rzXSF.js +0 -7
- package/dist/web/assets/architecture-7EHR7CIX-C7zOBT8j.js +0 -1
- package/dist/web/assets/channel-CYBLq-eR.js +0 -1
- package/dist/web/assets/chunk-QZHKN3VN-Dno798dp.js +0 -1
- package/dist/web/assets/chunk-WU5MYG2G-BfXOA77m.js +0 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-CNWRmOYd.js +0 -1
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-CNWRmOYd.js +0 -1
- package/dist/web/assets/eventmodeling-FCH6USID-Db_aoAz2.js +0 -1
- package/dist/web/assets/gitGraph-WXDBUCRP-oKEcjHui.js +0 -1
- package/dist/web/assets/index-CXjWMSsh.js +0 -80
- package/dist/web/assets/index-DEU_Xt5T.css +0 -2
- package/dist/web/assets/info-J43DQDTF-C0U8ewE4.js +0 -1
- package/dist/web/assets/kb-CALjdJWN.js +0 -1
- package/dist/web/assets/packet-YPE3B663-BGqqh4e4.js +0 -1
- package/dist/web/assets/pie-LRSECV5Y-C9Mp1e2E.js +0 -1
- package/dist/web/assets/profile-CaCb70B6.js +0 -1
- package/dist/web/assets/radar-GUYGQ44K-DUOb7Lfx.js +0 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-CL8FTNEn.js +0 -1
- package/dist/web/assets/treeView-BLDUP644-FUeuBG1s.js +0 -1
- package/dist/web/assets/treemap-LRROVOQU-DbD76vSG.js +0 -1
- package/dist/web/assets/wardley-L42UT6IY-CuYKqjaV.js +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ProviderKind } from '../../shared/provider-catalog.js';
|
|
2
|
-
import type { ProviderCliCommandRunner, ProviderInspection } from './types.js';
|
|
2
|
+
import type { ProviderCliCommandRunner, ProviderInspection, ResolvedExecutable } from './types.js';
|
|
3
3
|
export declare function inspectProvider(provider: ProviderKind, env: NodeJS.ProcessEnv, runCommand: ProviderCliCommandRunner): Promise<ProviderInspection>;
|
|
4
|
+
export declare function resolveProviderExecutable(command: string, env: NodeJS.ProcessEnv): Promise<ResolvedExecutable | undefined>;
|
|
4
5
|
//# sourceMappingURL=provider-inspection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-inspection.d.ts","sourceRoot":"","sources":["../../../server/provider-cli/provider-inspection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,KAAK,EAAE,wBAAwB,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"provider-inspection.d.ts","sourceRoot":"","sources":["../../../server/provider-cli/provider-inspection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,KAAK,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAInG,wBAAsB,eAAe,CACnC,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,UAAU,EAAE,wBAAwB,GACnC,OAAO,CAAC,kBAAkB,CAAC,CA2D7B;AA+ND,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAiBzC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { constants } from 'node:fs';
|
|
2
2
|
import { access, readFile, realpath } from 'node:fs/promises';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
|
-
import { delimiter, dirname, join, resolve } from 'node:path';
|
|
4
|
+
import { delimiter, dirname, isAbsolute, join, resolve } from 'node:path';
|
|
5
5
|
import { PROVIDER_CATALOG } from '../../shared/provider-catalog.js';
|
|
6
6
|
import { errorMessage } from '../ids.js';
|
|
7
7
|
const CHECK_TIMEOUT_MS = 10_000;
|
|
@@ -9,7 +9,7 @@ export async function inspectProvider(provider, env, runCommand) {
|
|
|
9
9
|
const catalog = PROVIDER_CATALOG.find((entry) => entry.kind === provider);
|
|
10
10
|
if (!catalog)
|
|
11
11
|
throw new Error(`Unknown provider ${provider}`);
|
|
12
|
-
const executable = await
|
|
12
|
+
const executable = await resolveProviderExecutable(catalog.command, env);
|
|
13
13
|
if (!executable) {
|
|
14
14
|
return {
|
|
15
15
|
installSource: 'unknown',
|
|
@@ -247,13 +247,14 @@ async function inspectGrok(executable, installedVersion, label, env, runCommand)
|
|
|
247
247
|
updateMode: native ? 'managed' : 'manual',
|
|
248
248
|
};
|
|
249
249
|
}
|
|
250
|
-
async function
|
|
250
|
+
export async function resolveProviderExecutable(command, env) {
|
|
251
251
|
const candidates = [];
|
|
252
252
|
const seenPaths = new Set();
|
|
253
|
-
|
|
253
|
+
const entries = isAbsolute(command) ? [command] : (env.PATH ?? '').split(delimiter);
|
|
254
|
+
for (const entry of entries) {
|
|
254
255
|
if (!entry)
|
|
255
256
|
continue;
|
|
256
|
-
const path = resolve(entry, command);
|
|
257
|
+
const path = isAbsolute(command) ? entry : resolve(entry, command);
|
|
257
258
|
if (seenPaths.has(path) || !(await isAccessible(path, constants.X_OK)))
|
|
258
259
|
continue;
|
|
259
260
|
seenPaths.add(path);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { AgentRuntimeInput, ClaudeCodeAgentProviderConfig } from './contract.js';
|
|
2
|
-
export declare const CLAUDE_COMMAND = "claude";
|
|
3
2
|
export declare const CLAUDE_DEFAULT_AUTO_COMPACT_WINDOW = 272000;
|
|
4
3
|
export declare const CLAUDE_DISALLOWED_TOOLS: string[];
|
|
5
4
|
export declare function claudeProviderEnv(config: ClaudeCodeAgentProviderConfig): Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-launch.d.ts","sourceRoot":"","sources":["../../../server/providers/claude-launch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-launch.d.ts","sourceRoot":"","sources":["../../../server/providers/claude-launch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAEtF,eAAO,MAAM,kCAAkC,SAAS,CAAC;AACzD,eAAO,MAAM,uBAAuB,UAQnC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,6BAA6B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK/F;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,6BAA6B,EACrC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACvC,MAAM,EAAE,CASV;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC7C,MAAM,GAAG,SAAS,CAQpB;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,cAAc,GAAG,sBAAsB,CAAC,GACtE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAK7B"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { mkdir, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { dirname } from 'node:path';
|
|
3
|
-
// Launch surface for the Claude Code stream-json transport.
|
|
4
|
-
export const CLAUDE_COMMAND = 'claude';
|
|
5
3
|
export const CLAUDE_DEFAULT_AUTO_COMPACT_WINDOW = 272000;
|
|
6
4
|
export const CLAUDE_DISALLOWED_TOOLS = [
|
|
7
5
|
'AskUserQuestion',
|
|
@@ -3,10 +3,11 @@ import { createClaudeJsonlActivityMapper } from './claude-events.js';
|
|
|
3
3
|
import { ControllerAgentRuntime } from './provider-runtime.js';
|
|
4
4
|
import { AgentRuntimeFollowupInput, AgentRuntimeFollowupResult, AgentRuntimeInput, AgentRuntimeResult, ClaudeCodeAgentProviderConfig } from './contract.js';
|
|
5
5
|
export declare class ClaudeCodeAgentRuntime extends ControllerAgentRuntime<ClaudeStreamJsonController> {
|
|
6
|
+
readonly command: string;
|
|
6
7
|
readonly env: Record<string, string>;
|
|
7
8
|
readonly kind = "claude-code";
|
|
8
9
|
private readonly config;
|
|
9
|
-
constructor(config: ClaudeCodeAgentProviderConfig);
|
|
10
|
+
constructor(config: ClaudeCodeAgentProviderConfig, command: string);
|
|
10
11
|
run(input: AgentRuntimeInput): Promise<AgentRuntimeResult>;
|
|
11
12
|
appendToActiveRun(input: AgentRuntimeFollowupInput): Promise<AgentRuntimeFollowupResult>;
|
|
12
13
|
private ensureController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../server/providers/claude.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../server/providers/claude.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAM9D,OAAO,EAAE,+BAA+B,EAA4B,MAAM,oBAAoB,CAAC;AAE/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EAGL,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,eAAe,CAAC;AAKvB,qBAAa,sBAAuB,SAAQ,sBAAsB,CAAC,0BAA0B,CAAC;IAC5F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAE3C,MAAM,EAAE,6BAA6B,EAAE,OAAO,EAAE,MAAM;IAO5D,GAAG,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwF1D,iBAAiB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;YAQhF,gBAAgB;YAmBhB,OAAO;IAoBrB,OAAO,CAAC,UAAU;CAYnB;AAoCD,cAAM,0BAA0B;IAsBlB,OAAO,CAAC,QAAQ,CAAC,KAAK;IArBlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,WAAW,CAAC,CAOlB;IACF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAIvB;IACR,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4B;IAC7D,OAAO,CAAC,cAAc,CAAS;gBAEF,KAAK,EAAE,mBAAmB;IAoBvD,IAAI,UAAU,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAE5D;IAED,iBAAiB,IAAI,OAAO;IAI5B,QAAQ;IAIR,SAAS,CACP,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,UAAU,CAAC,OAAO,+BAA+B,CAAC,GAC9D,OAAO,CAAC,MAAM,CAAC;IAalB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAItC,OAAO,CAAC,eAAe;IAUvB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;IAInC,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,WAAW,IAAI,OAAO;IAIhB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/C,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrD,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,8BAA8B;IAItC,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;CAM7B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isRecord, stringField } from '../json.js';
|
|
2
2
|
import { classifyProviderFailureReason } from './provider-failure.js';
|
|
3
|
-
import {
|
|
3
|
+
import { claudeCommonArgs, claudeProviderEnv, writeSystemPromptFile, } from './claude-launch.js';
|
|
4
4
|
import { createClaudeJsonlActivityMapper, parseClaudeRuntimeOutput } from './claude-events.js';
|
|
5
5
|
import { LineBuffer } from './line-buffer.js';
|
|
6
6
|
import { ControllerAgentRuntime } from './provider-runtime.js';
|
|
@@ -9,12 +9,14 @@ import { withProviderCliLaunchPermit } from '../provider-cli/launch-gate.js';
|
|
|
9
9
|
import { providerSessionPayload, } from './contract.js';
|
|
10
10
|
const CLAUDE_TRANSIENT_CONTINUE_PROMPT = 'The previous provider turn ended with a transient API or transport error after partial progress. Continue from the current conversation state. Do not repeat completed tool calls, chat messages, file sends, or file edits; inspect state first if needed, then finish the requested task.';
|
|
11
11
|
export class ClaudeCodeAgentRuntime extends ControllerAgentRuntime {
|
|
12
|
+
command;
|
|
12
13
|
env;
|
|
13
14
|
kind = 'claude-code';
|
|
14
15
|
config;
|
|
15
|
-
constructor(config) {
|
|
16
|
+
constructor(config, command) {
|
|
16
17
|
super({ providerChildIdleTimeoutMs: config.providerChildIdleTimeoutMs });
|
|
17
18
|
this.config = config;
|
|
19
|
+
this.command = command;
|
|
18
20
|
this.env = claudeProviderEnv(config);
|
|
19
21
|
}
|
|
20
22
|
async run(input) {
|
|
@@ -36,7 +38,7 @@ export class ClaudeCodeAgentRuntime extends ControllerAgentRuntime {
|
|
|
36
38
|
},
|
|
37
39
|
label: 'Claude Code',
|
|
38
40
|
startedPayload: {
|
|
39
|
-
command:
|
|
41
|
+
command: this.command,
|
|
40
42
|
inputFormat: 'stream-json',
|
|
41
43
|
},
|
|
42
44
|
turn: async () => {
|
|
@@ -119,7 +121,7 @@ export class ClaudeCodeAgentRuntime extends ControllerAgentRuntime {
|
|
|
119
121
|
const systemPromptFilePath = await writeSystemPromptFile(input);
|
|
120
122
|
return withProviderCliLaunchPermit(this.kind, input.signal, () => this.slot.get() ?? this.spawnController({
|
|
121
123
|
args: this.claudeArgs(input.providerSession, systemPromptFilePath),
|
|
122
|
-
command:
|
|
124
|
+
command: this.command,
|
|
123
125
|
label: 'Claude Code runtime',
|
|
124
126
|
}, input, (child) => new ClaudeStreamJsonController(child)));
|
|
125
127
|
}
|
|
@@ -4,12 +4,13 @@ import { type AgentRuntimeFollowupInput, type AgentRuntimeFollowupResult, type A
|
|
|
4
4
|
export declare const CODEX_AUTO_COMPACT_TOKEN_LIMIT_ENV = "ANIMA_CODEX_AUTO_COMPACT_TOKEN_LIMIT";
|
|
5
5
|
export declare const CODEX_AUTO_COMPACT_TOKEN_LIMIT_SCOPE = "total";
|
|
6
6
|
export declare class CodexCliAgentRuntime extends ControllerAgentRuntime<CodexAppServerController> {
|
|
7
|
+
readonly command: string;
|
|
7
8
|
readonly env: Record<string, string> | undefined;
|
|
8
9
|
readonly kind = "codex-cli";
|
|
9
10
|
private readonly config;
|
|
10
11
|
private pendingSessionCorruption?;
|
|
11
12
|
private resumedProviderSessionId?;
|
|
12
|
-
constructor(config: CodexCliAgentProviderConfig);
|
|
13
|
+
constructor(config: CodexCliAgentProviderConfig, command: string);
|
|
13
14
|
run(input: AgentRuntimeInput): Promise<AgentRuntimeResult>;
|
|
14
15
|
appendToActiveRun(input: AgentRuntimeFollowupInput): Promise<AgentRuntimeFollowupResult>;
|
|
15
16
|
private ensureController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../server/providers/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EACjC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../server/providers/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EACjC,MAAM,eAAe,CAAC;AAMvB,eAAO,MAAM,kCAAkC,yCAAyC,CAAC;AACzF,eAAO,MAAM,oCAAoC,UAAU,CAAC;AAkB5D,qBAAa,oBAAqB,SAAQ,sBAAsB,CAAC,wBAAwB,CAAC;IACxF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,IAAI,eAAe;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,wBAAwB,CAAC,CAAkC;IACnE,OAAO,CAAC,wBAAwB,CAAC,CAAS;gBAE9B,MAAM,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM;IAO1D,GAAG,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwC1D,iBAAiB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;YAuBhF,gBAAgB;IAuB9B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,YAAY;CAqBrB;AAED,8FAA8F;AAC9F,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GACtC,MAAM,GAAG,SAAS,CAWpB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,CAYpF;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,CAKzF"}
|
|
@@ -3,7 +3,6 @@ import { CodexAppServerController } from './codex-app-server.js';
|
|
|
3
3
|
import { ControllerAgentRuntime } from './provider-runtime.js';
|
|
4
4
|
import { withProviderCliLaunchPermit } from '../provider-cli/launch-gate.js';
|
|
5
5
|
import { ProviderSessionCorruptionError, } from './session-corruption.js';
|
|
6
|
-
const CODEX_COMMAND = 'codex';
|
|
7
6
|
export const CODEX_AUTO_COMPACT_TOKEN_LIMIT_ENV = 'ANIMA_CODEX_AUTO_COMPACT_TOKEN_LIMIT';
|
|
8
7
|
export const CODEX_AUTO_COMPACT_TOKEN_LIMIT_SCOPE = 'total';
|
|
9
8
|
const CODEX_TOOL_ENV_BASE_INCLUDE = [
|
|
@@ -23,14 +22,16 @@ const CODEX_TOOL_ENV_BASE_INCLUDE = [
|
|
|
23
22
|
'USER',
|
|
24
23
|
];
|
|
25
24
|
export class CodexCliAgentRuntime extends ControllerAgentRuntime {
|
|
25
|
+
command;
|
|
26
26
|
env;
|
|
27
27
|
kind = 'codex-cli';
|
|
28
28
|
config;
|
|
29
29
|
pendingSessionCorruption;
|
|
30
30
|
resumedProviderSessionId;
|
|
31
|
-
constructor(config) {
|
|
31
|
+
constructor(config, command) {
|
|
32
32
|
super({ providerChildIdleTimeoutMs: config.providerChildIdleTimeoutMs });
|
|
33
33
|
this.config = config;
|
|
34
|
+
this.command = command;
|
|
34
35
|
this.env = config.env;
|
|
35
36
|
}
|
|
36
37
|
async run(input) {
|
|
@@ -41,7 +42,7 @@ export class CodexCliAgentRuntime extends ControllerAgentRuntime {
|
|
|
41
42
|
beforeFinishRun: () => this.slot.get()?.detachRun(input),
|
|
42
43
|
label: 'Codex',
|
|
43
44
|
startedPayload: {
|
|
44
|
-
command:
|
|
45
|
+
command: this.command,
|
|
45
46
|
transport: 'app-server',
|
|
46
47
|
},
|
|
47
48
|
turn: async () => {
|
|
@@ -105,7 +106,7 @@ export class CodexCliAgentRuntime extends ControllerAgentRuntime {
|
|
|
105
106
|
return existing;
|
|
106
107
|
return withProviderCliLaunchPermit(this.kind, input.signal, () => this.slot.get() ?? this.spawnController({
|
|
107
108
|
args: codexAppServerArgs(this.env),
|
|
108
|
-
command:
|
|
109
|
+
command: this.command,
|
|
109
110
|
label: 'Codex app-server runtime',
|
|
110
111
|
}, input, (child) => new CodexAppServerController(child, this.kind, this.config.model, (reason) => this.markSessionCorruption(reason))));
|
|
111
112
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { AgentRuntime, AgentProviderConfig } from './contract.js';
|
|
2
|
-
export declare function createAgentRuntime(config: AgentProviderConfig
|
|
2
|
+
export declare function createAgentRuntime(config: AgentProviderConfig, options?: {
|
|
3
|
+
command?: string;
|
|
4
|
+
}): AgentRuntime;
|
|
3
5
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../server/providers/factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../server/providers/factory.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEvE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACjC,YAAY,CAQd"}
|
|
@@ -3,16 +3,18 @@ import { CodexCliAgentRuntime } from './codex.js';
|
|
|
3
3
|
import { GrokCliAgentRuntime } from './grok.js';
|
|
4
4
|
import { KimiCliAgentRuntime } from './kimi.js';
|
|
5
5
|
import { OpenCodeCliAgentRuntime } from './opencode.js';
|
|
6
|
-
|
|
6
|
+
import { effectiveProviderRuntimeCommand } from '../../shared/provider-runtime-commands.js';
|
|
7
|
+
export function createAgentRuntime(config, options = {}) {
|
|
8
|
+
const command = options.command ?? effectiveProviderRuntimeCommand(config.kind, {});
|
|
7
9
|
if (config.kind === 'codex-cli')
|
|
8
|
-
return new CodexCliAgentRuntime(config);
|
|
10
|
+
return new CodexCliAgentRuntime(config, command);
|
|
9
11
|
if (config.kind === 'claude-code')
|
|
10
|
-
return new ClaudeCodeAgentRuntime(config);
|
|
12
|
+
return new ClaudeCodeAgentRuntime(config, command);
|
|
11
13
|
if (config.kind === 'grok-cli')
|
|
12
|
-
return new GrokCliAgentRuntime(config);
|
|
14
|
+
return new GrokCliAgentRuntime(config, command);
|
|
13
15
|
if (config.kind === 'kimi-cli')
|
|
14
|
-
return new KimiCliAgentRuntime(config);
|
|
16
|
+
return new KimiCliAgentRuntime(config, command);
|
|
15
17
|
if (config.kind === 'opencode-cli')
|
|
16
|
-
return new OpenCodeCliAgentRuntime(config);
|
|
18
|
+
return new OpenCodeCliAgentRuntime(config, command);
|
|
17
19
|
throw new Error(`Unsupported agent provider kind: ${config.kind ?? 'missing'}`);
|
|
18
20
|
}
|
|
@@ -9,11 +9,12 @@ import { type AgentRuntimeFollowupInput, type AgentRuntimeFollowupResult, type A
|
|
|
9
9
|
*/
|
|
10
10
|
export declare function grokAcpLaunchArgs(config: GrokCliAgentProviderConfig): string[];
|
|
11
11
|
export declare class GrokCliAgentRuntime extends ControllerAgentRuntime<GrokAcpController> {
|
|
12
|
+
readonly command: string;
|
|
12
13
|
readonly env: Record<string, string> | undefined;
|
|
13
14
|
readonly kind = "grok-cli";
|
|
14
15
|
private readonly config;
|
|
15
16
|
private retainedFollowups?;
|
|
16
|
-
constructor(config: GrokCliAgentProviderConfig);
|
|
17
|
+
constructor(config: GrokCliAgentProviderConfig, command: string);
|
|
17
18
|
run(input: AgentRuntimeInput): Promise<AgentRuntimeResult>;
|
|
18
19
|
appendToActiveRun(input: AgentRuntimeFollowupInput): Promise<AgentRuntimeFollowupResult>;
|
|
19
20
|
private followupsForItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grok.d.ts","sourceRoot":"","sources":["../../../server/providers/grok.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAChC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"grok.d.ts","sourceRoot":"","sources":["../../../server/providers/grok.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ import { withProviderCliLaunchPermit } from '../provider-cli/launch-gate.js';
|
|
|
10
10
|
import { defaultProviderContextLimitService } from '../provider-context/provider-context-limit.service.js';
|
|
11
11
|
import { providerUsageFromStats } from './provider-usage.js';
|
|
12
12
|
import { providerSessionPayload, } from './contract.js';
|
|
13
|
-
const GROK_COMMAND = 'grok';
|
|
14
13
|
const GROK_RUNTIME_KIND = 'grok-cli';
|
|
15
14
|
/**
|
|
16
15
|
* Launch args for ACP. Never carries `--effort`: reasoning effort is applied after
|
|
@@ -40,21 +39,23 @@ class GrokJsonRpcError extends Error {
|
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
41
|
export class GrokCliAgentRuntime extends ControllerAgentRuntime {
|
|
42
|
+
command;
|
|
43
43
|
env;
|
|
44
44
|
kind = GROK_RUNTIME_KIND;
|
|
45
45
|
config;
|
|
46
46
|
// Keep accepted prompts outside the child controller so same-item crash retry can replay them.
|
|
47
47
|
retainedFollowups;
|
|
48
|
-
constructor(config) {
|
|
48
|
+
constructor(config, command) {
|
|
49
49
|
super({ providerChildIdleTimeoutMs: config.providerChildIdleTimeoutMs });
|
|
50
50
|
this.config = config;
|
|
51
|
+
this.command = command;
|
|
51
52
|
this.env = config.env;
|
|
52
53
|
}
|
|
53
54
|
async run(input) {
|
|
54
55
|
return this.runTurnLifecycle(input, {
|
|
55
56
|
label: 'Grok',
|
|
56
57
|
startedPayload: {
|
|
57
|
-
command:
|
|
58
|
+
command: this.command,
|
|
58
59
|
transport: 'acp',
|
|
59
60
|
},
|
|
60
61
|
abort: async (signal) => {
|
|
@@ -108,7 +109,7 @@ export class GrokCliAgentRuntime extends ControllerAgentRuntime {
|
|
|
108
109
|
await defaultProviderContextLimitService.applyForLaunch(this.kind, this.config.model, input.env);
|
|
109
110
|
return this.spawnController({
|
|
110
111
|
args: grokAcpLaunchArgs(this.config),
|
|
111
|
-
command:
|
|
112
|
+
command: this.command,
|
|
112
113
|
label: 'Grok ACP runtime',
|
|
113
114
|
}, input, (child) => new GrokAcpController(child, this.config.reasoningEffort?.trim() || undefined, this.config.model));
|
|
114
115
|
}));
|
|
@@ -2,10 +2,11 @@ import { type RunningChildProcess } from './child-process.js';
|
|
|
2
2
|
import { ControllerAgentRuntime } from './provider-runtime.js';
|
|
3
3
|
import { type AgentRuntimeFollowupInput, type AgentRuntimeFollowupResult, type AgentRuntimeInput, type AgentRuntimeResult, type KimiCliAgentProviderConfig } from './contract.js';
|
|
4
4
|
export declare class KimiCliAgentRuntime extends ControllerAgentRuntime<KimiAcpController> {
|
|
5
|
+
readonly command: string;
|
|
5
6
|
readonly env: Record<string, string> | undefined;
|
|
6
7
|
readonly kind = "kimi-cli";
|
|
7
8
|
private readonly config;
|
|
8
|
-
constructor(config: KimiCliAgentProviderConfig);
|
|
9
|
+
constructor(config: KimiCliAgentProviderConfig, command: string);
|
|
9
10
|
run(input: AgentRuntimeInput): Promise<AgentRuntimeResult>;
|
|
10
11
|
appendToActiveRun(input: AgentRuntimeFollowupInput): Promise<AgentRuntimeFollowupResult>;
|
|
11
12
|
private ensureController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kimi.d.ts","sourceRoot":"","sources":["../../../server/providers/kimi.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAChC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"kimi.d.ts","sourceRoot":"","sources":["../../../server/providers/kimi.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAChC,MAAM,eAAe,CAAC;AAIvB,qBAAa,mBAAoB,SAAQ,sBAAsB,CAAC,iBAAiB,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,IAAI,cAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBAExC,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,MAAM;IAOzD,GAAG,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmB1D,iBAAiB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;YAQhF,gBAAgB;CAuC/B;AAkBD,cAAM,iBAAiB;IAcT,OAAO,CAAC,QAAQ,CAAC,KAAK;IAblC,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,WAAW,CAAC,CAAW;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4B;IAC7D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,OAAO,CAAC,WAAW,CAAC,CAA0B;IAC9C,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,aAAa,CAAK;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,SAAS,SAAM;gBAEc,KAAK,EAAE,mBAAmB;IA0BjD,aAAa,CACjB,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,OAAO,CAAC,IAAI,CAAC;IAWV,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB1E,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAQ/B,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,IAAI,CAAC,MAAM,GAAE,MAAM,CAAC,OAAmB,GAAG,IAAI;IAI9C,QAAQ;IAIR,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAIvC,iBAAiB;YAqDjB,aAAa;YAUb,YAAY;YAYZ,YAAY;IA+C1B,OAAO,CAAC,kBAAkB;YAgBZ,kBAAkB;YAoDlB,mBAAmB;YAqBnB,oBAAoB;YA2CpB,uBAAuB;YAevB,eAAe;IAqB7B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;YAOV,iBAAiB;IAmB/B,OAAO,CAAC,8BAA8B;IAItC,OAAO,CAAC,sBAAsB;CAI/B"}
|
|
@@ -10,22 +10,23 @@ import { withProviderCliLaunchPermit } from '../provider-cli/launch-gate.js';
|
|
|
10
10
|
import { defaultProviderContextLimitService } from '../provider-context/provider-context-limit.service.js';
|
|
11
11
|
import { providerUsageFromStats } from './provider-usage.js';
|
|
12
12
|
import { providerSessionPayload, } from './contract.js';
|
|
13
|
-
const KIMI_COMMAND = 'kimi';
|
|
14
13
|
const KIMI_RUNTIME_KIND = 'kimi-cli';
|
|
15
14
|
export class KimiCliAgentRuntime extends ControllerAgentRuntime {
|
|
15
|
+
command;
|
|
16
16
|
env;
|
|
17
17
|
kind = KIMI_RUNTIME_KIND;
|
|
18
18
|
config;
|
|
19
|
-
constructor(config) {
|
|
19
|
+
constructor(config, command) {
|
|
20
20
|
super({ providerChildIdleTimeoutMs: config.providerChildIdleTimeoutMs });
|
|
21
21
|
this.config = config;
|
|
22
|
+
this.command = command;
|
|
22
23
|
this.env = config.env;
|
|
23
24
|
}
|
|
24
25
|
async run(input) {
|
|
25
26
|
return this.runTurnLifecycle(input, {
|
|
26
27
|
label: 'Kimi',
|
|
27
28
|
startedPayload: {
|
|
28
|
-
command:
|
|
29
|
+
command: this.command,
|
|
29
30
|
transport: 'acp',
|
|
30
31
|
},
|
|
31
32
|
turn: async () => {
|
|
@@ -65,7 +66,7 @@ export class KimiCliAgentRuntime extends ControllerAgentRuntime {
|
|
|
65
66
|
await defaultProviderContextLimitService.applyForLaunch(this.kind, this.config.model, input.env);
|
|
66
67
|
return this.spawnController({
|
|
67
68
|
args: ['--yolo', 'acp'],
|
|
68
|
-
command:
|
|
69
|
+
command: this.command,
|
|
69
70
|
label: 'Kimi ACP runtime',
|
|
70
71
|
}, input, (child) => new KimiAcpController(child));
|
|
71
72
|
});
|
|
@@ -4,10 +4,11 @@ import { type AgentRuntimeFollowupInput, type AgentRuntimeFollowupResult, type A
|
|
|
4
4
|
export declare function openCodeAcpLaunchArgs(): string[];
|
|
5
5
|
export declare function openCodeLaunchEnvironment(env: NodeJS.ProcessEnv, machineEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
6
6
|
export declare class OpenCodeCliAgentRuntime extends ControllerAgentRuntime<OpenCodeAcpController> {
|
|
7
|
+
readonly command: string;
|
|
7
8
|
readonly env: Record<string, string> | undefined;
|
|
8
9
|
readonly kind = "opencode-cli";
|
|
9
10
|
private readonly config;
|
|
10
|
-
constructor(config: OpenCodeCliAgentProviderConfig);
|
|
11
|
+
constructor(config: OpenCodeCliAgentProviderConfig, command: string);
|
|
11
12
|
run(input: AgentRuntimeInput): Promise<AgentRuntimeResult>;
|
|
12
13
|
appendToActiveRun(input: AgentRuntimeFollowupInput): Promise<AgentRuntimeFollowupResult>;
|
|
13
14
|
private ensureController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../server/providers/opencode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACpC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../server/providers/opencode.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ import { ControllerAgentRuntime } from './provider-runtime.js';
|
|
|
9
9
|
import { QuiescentWaiterSet } from './quiescent-waiters.js';
|
|
10
10
|
import { withProviderCliLaunchPermit } from '../provider-cli/launch-gate.js';
|
|
11
11
|
import { providerSessionPayload, } from './contract.js';
|
|
12
|
-
const OPENCODE_COMMAND = 'opencode';
|
|
13
12
|
const OPENCODE_RUNTIME_KIND = 'opencode-cli';
|
|
14
13
|
export function openCodeAcpLaunchArgs() {
|
|
15
14
|
// `--pure` disables external OpenCode plugins. Anima supplies the orchestration
|
|
@@ -39,19 +38,21 @@ export function openCodeLaunchEnvironment(env, machineEnv = process.env) {
|
|
|
39
38
|
return next;
|
|
40
39
|
}
|
|
41
40
|
export class OpenCodeCliAgentRuntime extends ControllerAgentRuntime {
|
|
41
|
+
command;
|
|
42
42
|
env;
|
|
43
43
|
kind = OPENCODE_RUNTIME_KIND;
|
|
44
44
|
config;
|
|
45
|
-
constructor(config) {
|
|
45
|
+
constructor(config, command) {
|
|
46
46
|
super({ providerChildIdleTimeoutMs: config.providerChildIdleTimeoutMs });
|
|
47
47
|
this.config = config;
|
|
48
|
+
this.command = command;
|
|
48
49
|
this.env = config.env;
|
|
49
50
|
}
|
|
50
51
|
async run(input) {
|
|
51
52
|
return this.runTurnLifecycle(input, {
|
|
52
53
|
label: 'OpenCode',
|
|
53
54
|
startedPayload: {
|
|
54
|
-
command:
|
|
55
|
+
command: this.command,
|
|
55
56
|
transport: 'acp',
|
|
56
57
|
},
|
|
57
58
|
abort: async (signal) => {
|
|
@@ -104,7 +105,7 @@ export class OpenCodeCliAgentRuntime extends ControllerAgentRuntime {
|
|
|
104
105
|
return current;
|
|
105
106
|
return this.spawnController({
|
|
106
107
|
args: openCodeAcpLaunchArgs(),
|
|
107
|
-
command:
|
|
108
|
+
command: this.command,
|
|
108
109
|
label: 'OpenCode ACP runtime',
|
|
109
110
|
}, {
|
|
110
111
|
...input,
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type ProviderRuntimeCommandRequest, type ProviderRuntimeCommandsConfig, type ProviderRuntimeCommandsResponse } from '../../shared/provider-runtime-commands.js';
|
|
2
|
+
import type { ProviderUsageKind } from '../../shared/provider-usage.js';
|
|
3
|
+
interface ProviderRuntimeCommandSettings {
|
|
4
|
+
getProviderRuntimeCommands(): Promise<ProviderRuntimeCommandsConfig>;
|
|
5
|
+
setProviderRuntimeCommand(provider: ProviderUsageKind, command: string | null): Promise<ProviderRuntimeCommandsConfig>;
|
|
6
|
+
}
|
|
7
|
+
interface ProviderRuntimeCommandServiceOptions {
|
|
8
|
+
env?: NodeJS.ProcessEnv;
|
|
9
|
+
settings?: ProviderRuntimeCommandSettings;
|
|
10
|
+
}
|
|
11
|
+
export declare class ProviderRuntimeCommandError extends Error {
|
|
12
|
+
readonly statusCode: 409;
|
|
13
|
+
constructor(statusCode: 409, message: string);
|
|
14
|
+
}
|
|
15
|
+
export declare class ProviderRuntimeCommandService {
|
|
16
|
+
private readonly env;
|
|
17
|
+
private readonly settings;
|
|
18
|
+
constructor(options?: ProviderRuntimeCommandServiceOptions);
|
|
19
|
+
status(): Promise<ProviderRuntimeCommandsResponse>;
|
|
20
|
+
set(input: ProviderRuntimeCommandRequest): Promise<ProviderRuntimeCommandsResponse>;
|
|
21
|
+
}
|
|
22
|
+
export declare const defaultProviderRuntimeCommandService: ProviderRuntimeCommandService;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=runtime-command.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-command.service.d.ts","sourceRoot":"","sources":["../../../server/providers/runtime-command.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACrC,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAIxE,UAAU,8BAA8B;IACtC,0BAA0B,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACrE,yBAAyB,CACvB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,6BAA6B,CAAC,CAAC;CAC3C;AAED,UAAU,oCAAoC;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,8BAA8B,CAAC;CAC3C;AAED,qBAAa,2BAA4B,SAAQ,KAAK;IAElD,QAAQ,CAAC,UAAU,EAAE,GAAG;gBAAf,UAAU,EAAE,GAAG,EACxB,OAAO,EAAE,MAAM;CAKlB;AAED,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;gBAE9C,OAAO,GAAE,oCAAyC;IAKxD,MAAM,IAAI,OAAO,CAAC,+BAA+B,CAAC;IAMlD,GAAG,CACP,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,+BAA+B,CAAC;CA8B5C;AAED,eAAO,MAAM,oCAAoC,+BACZ,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { isAbsolute } from 'node:path';
|
|
2
|
+
import { providerRuntimeCommandsResponse, } from '../../shared/provider-runtime-commands.js';
|
|
3
|
+
import { providerCatalogEntry } from '../../shared/provider-catalog.js';
|
|
4
|
+
import { resolveProviderExecutable } from '../provider-cli/provider-inspection.js';
|
|
5
|
+
import { defaultServerSettingsService } from '../settings/settings.service.js';
|
|
6
|
+
export class ProviderRuntimeCommandError extends Error {
|
|
7
|
+
statusCode;
|
|
8
|
+
constructor(statusCode, message) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.statusCode = statusCode;
|
|
11
|
+
this.name = 'ProviderRuntimeCommandError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class ProviderRuntimeCommandService {
|
|
15
|
+
env;
|
|
16
|
+
settings;
|
|
17
|
+
constructor(options = {}) {
|
|
18
|
+
this.env = options.env ?? process.env;
|
|
19
|
+
this.settings = options.settings ?? defaultServerSettingsService;
|
|
20
|
+
}
|
|
21
|
+
async status() {
|
|
22
|
+
return providerRuntimeCommandsResponse(await this.settings.getProviderRuntimeCommands());
|
|
23
|
+
}
|
|
24
|
+
async set(input) {
|
|
25
|
+
const command = input.command === providerCatalogEntry(input.provider)?.command
|
|
26
|
+
? null
|
|
27
|
+
: input.command;
|
|
28
|
+
if (command !== null &&
|
|
29
|
+
(command.includes('/') || command.includes('\\')) &&
|
|
30
|
+
!isAbsolute(command)) {
|
|
31
|
+
throw new ProviderRuntimeCommandError(409, 'Runtime command paths must be absolute');
|
|
32
|
+
}
|
|
33
|
+
if (command !== null &&
|
|
34
|
+
!(await resolveProviderExecutable(command, this.env))) {
|
|
35
|
+
throw new ProviderRuntimeCommandError(409, `Runtime command was not found or is not executable: ${command}`);
|
|
36
|
+
}
|
|
37
|
+
const commands = await this.settings.setProviderRuntimeCommand(input.provider, command);
|
|
38
|
+
return providerRuntimeCommandsResponse(commands);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export const defaultProviderRuntimeCommandService = new ProviderRuntimeCommandService();
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MemoryCoherenceScheduler } from '../memory/memory-coherence-scheduler.js';
|
|
2
2
|
import { type FeishuTenantAccessToken } from '../feishu/client.js';
|
|
3
3
|
import type { AgentConfig } from '../../shared/agent-config.js';
|
|
4
|
+
import { type ProviderRuntimeCommandsConfig } from '../../shared/provider-runtime-commands.js';
|
|
4
5
|
import { AgentRestartCommandStore } from './agent-restart-command.store.js';
|
|
5
6
|
import { AgentHealthStore } from './agent-health.store.js';
|
|
6
7
|
import { type RunningAgentHandle } from './agent-runner.js';
|
|
@@ -13,6 +14,7 @@ export interface RuntimeHostOptions {
|
|
|
13
14
|
export type { RunningAgentHandle } from './agent-runner.js';
|
|
14
15
|
export interface StartAgentOptions {
|
|
15
16
|
forceStopAfterMs: number;
|
|
17
|
+
providerCommand: string;
|
|
16
18
|
runLimiter: TeamRunLimiter;
|
|
17
19
|
startTimeoutMs: number;
|
|
18
20
|
}
|
|
@@ -20,6 +22,7 @@ export interface RuntimeHostDependencies {
|
|
|
20
22
|
animaHome?: string;
|
|
21
23
|
forceRestartTimeoutMs?: number;
|
|
22
24
|
loadAgents?: (opts: RuntimeHostOptions) => Promise<AgentConfig[]>;
|
|
25
|
+
loadProviderCommands?: () => Promise<ProviderRuntimeCommandsConfig>;
|
|
23
26
|
ensureDefaultSkills?: () => Promise<void>;
|
|
24
27
|
healthIntervalMs?: number;
|
|
25
28
|
healthStore?: AgentHealthStore;
|
|
@@ -37,6 +40,7 @@ export declare class RuntimeHost {
|
|
|
37
40
|
private readonly agents;
|
|
38
41
|
private readonly animaHome;
|
|
39
42
|
private readonly loadAgents;
|
|
43
|
+
private readonly loadProviderCommands;
|
|
40
44
|
private readonly ensureDefaultSkills;
|
|
41
45
|
private readonly logger;
|
|
42
46
|
private readonly memoryCoherenceScheduler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../server/runtime/host.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAWnF,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EACL,wBAAwB,EAEzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAS3D,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMtD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../server/runtime/host.ts"],"names":[],"mappings":"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"}
|