agent-gear 2.4.0 → 2.5.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.
- package/AGENTS.md +64 -5
- package/dist/cloud-host/supervisor.d.ts +92 -0
- package/dist/cloud-host/supervisor.d.ts.map +1 -0
- package/dist/cloud-host/supervisor.js +216 -0
- package/dist/cloud-host/supervisor.js.map +1 -0
- package/dist/cloud-host/supervisor.test.d.ts +2 -0
- package/dist/cloud-host/supervisor.test.d.ts.map +1 -0
- package/dist/cloud-host/supervisor.test.js +296 -0
- package/dist/cloud-host/supervisor.test.js.map +1 -0
- package/dist/commands/harness.d.ts +17 -0
- package/dist/commands/harness.d.ts.map +1 -0
- package/dist/commands/harness.js +35 -0
- package/dist/commands/harness.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -3
- package/dist/config.js.map +1 -1
- package/dist/harness/env.d.ts +36 -0
- package/dist/harness/env.d.ts.map +1 -0
- package/dist/harness/env.js +78 -0
- package/dist/harness/env.js.map +1 -0
- package/dist/harness/env.test.d.ts +2 -0
- package/dist/harness/env.test.d.ts.map +1 -0
- package/dist/harness/env.test.js +70 -0
- package/dist/harness/env.test.js.map +1 -0
- package/dist/harness/opencode-cli.d.ts +24 -0
- package/dist/harness/opencode-cli.d.ts.map +1 -0
- package/dist/harness/opencode-cli.js +74 -0
- package/dist/harness/opencode-cli.js.map +1 -0
- package/dist/harness/opencode-cli.test.d.ts +2 -0
- package/dist/harness/opencode-cli.test.d.ts.map +1 -0
- package/dist/harness/opencode-cli.test.js +62 -0
- package/dist/harness/opencode-cli.test.js.map +1 -0
- package/dist/harness/opencode-config.atomic-failure.test.d.ts +2 -0
- package/dist/harness/opencode-config.atomic-failure.test.d.ts.map +1 -0
- package/dist/harness/opencode-config.atomic-failure.test.js +35 -0
- package/dist/harness/opencode-config.atomic-failure.test.js.map +1 -0
- package/dist/harness/opencode-config.d.ts +54 -0
- package/dist/harness/opencode-config.d.ts.map +1 -0
- package/dist/harness/opencode-config.js +130 -0
- package/dist/harness/opencode-config.js.map +1 -0
- package/dist/harness/opencode-config.test.d.ts +2 -0
- package/dist/harness/opencode-config.test.d.ts.map +1 -0
- package/dist/harness/opencode-config.test.js +183 -0
- package/dist/harness/opencode-config.test.js.map +1 -0
- package/dist/harness/prepare.d.ts +34 -0
- package/dist/harness/prepare.d.ts.map +1 -0
- package/dist/harness/prepare.js +46 -0
- package/dist/harness/prepare.js.map +1 -0
- package/dist/harness/prepare.test.d.ts +2 -0
- package/dist/harness/prepare.test.d.ts.map +1 -0
- package/dist/harness/prepare.test.js +96 -0
- package/dist/harness/prepare.test.js.map +1 -0
- package/dist/heartbeat.d.ts.map +1 -1
- package/dist/heartbeat.js +2 -0
- package/dist/heartbeat.js.map +1 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/socketio-client.d.ts +62 -3
- package/dist/socketio-client.d.ts.map +1 -1
- package/dist/socketio-client.js +155 -16
- package/dist/socketio-client.js.map +1 -1
- package/dist/socketio-client.test.d.ts +2 -0
- package/dist/socketio-client.test.d.ts.map +1 -0
- package/dist/socketio-client.test.js +132 -0
- package/dist/socketio-client.test.js.map +1 -0
- package/dist/workload-executor.d.ts +24 -1
- package/dist/workload-executor.d.ts.map +1 -1
- package/dist/workload-executor.js +78 -16
- package/dist/workload-executor.js.map +1 -1
- package/dist/workload-executor.test.js +99 -1
- package/dist/workload-executor.test.js.map +1 -1
- package/package.json +2 -1
- package/src/cloud-host/supervisor.test.ts +367 -0
- package/src/cloud-host/supervisor.ts +289 -0
- package/src/commands/harness.ts +44 -0
- package/src/config.ts +9 -3
- package/src/harness/env.test.ts +79 -0
- package/src/harness/env.ts +89 -0
- package/src/harness/opencode-cli.test.ts +82 -0
- package/src/harness/opencode-cli.ts +99 -0
- package/src/harness/opencode-config.atomic-failure.test.ts +51 -0
- package/src/harness/opencode-config.test.ts +238 -0
- package/src/harness/opencode-config.ts +176 -0
- package/src/harness/prepare.test.ts +117 -0
- package/src/harness/prepare.ts +69 -0
- package/src/heartbeat.ts +2 -0
- package/src/index.ts +22 -0
- package/src/socketio-client.test.ts +155 -0
- package/src/socketio-client.ts +204 -18
- package/src/workload-executor.test.ts +120 -0
- package/src/workload-executor.ts +100 -17
- package/tests/commands/harness.test.ts +90 -0
- package/tests/socketio-client.test.ts +140 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-config.test.js","sourceRoot":"","sources":["../../src/harness/opencode-config.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type HarnessEnv } from './env.js';
|
|
2
|
+
import { type CommandRunner } from './opencode-cli.js';
|
|
3
|
+
import { type WriteOpencodeConfigResult } from './opencode-config.js';
|
|
4
|
+
/** `harness prepare` 结果摘要(不含任何 secret)。 */
|
|
5
|
+
export interface HarnessPrepareResult {
|
|
6
|
+
opencodeVersion: string;
|
|
7
|
+
env: Pick<HarnessEnv, 'modelBaseUrl' | 'defaultWorkspace'> & {
|
|
8
|
+
modelCount: number;
|
|
9
|
+
};
|
|
10
|
+
config: WriteOpencodeConfigResult;
|
|
11
|
+
}
|
|
12
|
+
export interface PrepareHarnessOptions {
|
|
13
|
+
env?: NodeJS.ProcessEnv;
|
|
14
|
+
/** 命令执行器(测试注入)。 */
|
|
15
|
+
runner?: CommandRunner;
|
|
16
|
+
/** 覆盖 OpenCode 配置目录(测试/定制场景)。 */
|
|
17
|
+
configDir?: string;
|
|
18
|
+
/** 创建工作区的实现(测试注入)。 */
|
|
19
|
+
makeDir?: (path: string) => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 准备 OpenCode harness 环境(契约/计划 Phase 6):
|
|
23
|
+
*
|
|
24
|
+
* 1. 校验 harness env(缺失项明确报错);
|
|
25
|
+
* 2. `opencode --version` 硬校验(不通过即失败);
|
|
26
|
+
* 3. `mkdir -p ZAG_DEFAULT_WORKSPACE`(幂等);
|
|
27
|
+
* 4. 写入/合并 `opencode.jsonc` 的 `provider.zag`(权限 0600)。
|
|
28
|
+
*
|
|
29
|
+
* secret 只写入配置文件,不进入日志/错误/返回值。
|
|
30
|
+
*/
|
|
31
|
+
export declare function prepareHarness(options?: PrepareHarnessOptions): Promise<HarnessPrepareResult>;
|
|
32
|
+
/** 输出一行摘要(不含 `ZAG_MODEL_API_KEY` / provider apiKey)。 */
|
|
33
|
+
export declare function formatPrepareSummary(result: HarnessPrepareResult): string;
|
|
34
|
+
//# sourceMappingURL=prepare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../src/harness/prepare.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAuB,KAAK,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAE3F,2CAA2C;AAC3C,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,GAAG,kBAAkB,CAAC,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACpF,MAAM,EAAE,yBAAyB,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,mBAAmB;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAuB/B;AAED,wDAAwD;AACxD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAQzE"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { mkdir } from 'node:fs/promises';
|
|
2
|
+
import { readHarnessEnv } from './env.js';
|
|
3
|
+
import { verifyOpencodeCli } from './opencode-cli.js';
|
|
4
|
+
import { writeOpencodeConfig } from './opencode-config.js';
|
|
5
|
+
/**
|
|
6
|
+
* 准备 OpenCode harness 环境(契约/计划 Phase 6):
|
|
7
|
+
*
|
|
8
|
+
* 1. 校验 harness env(缺失项明确报错);
|
|
9
|
+
* 2. `opencode --version` 硬校验(不通过即失败);
|
|
10
|
+
* 3. `mkdir -p ZAG_DEFAULT_WORKSPACE`(幂等);
|
|
11
|
+
* 4. 写入/合并 `opencode.jsonc` 的 `provider.zag`(权限 0600)。
|
|
12
|
+
*
|
|
13
|
+
* secret 只写入配置文件,不进入日志/错误/返回值。
|
|
14
|
+
*/
|
|
15
|
+
export async function prepareHarness(options = {}) {
|
|
16
|
+
const env = readHarnessEnv(options.env ?? process.env);
|
|
17
|
+
// init 脚本 export OPENCODE_CLI_VERSION:agent-gear 侧做二次硬校验(C-5,缺省不启用)。
|
|
18
|
+
const expectedOpencodeVersion = (options.env ?? process.env).OPENCODE_CLI_VERSION;
|
|
19
|
+
const opencodeVersion = await verifyOpencodeCli(options.runner, expectedOpencodeVersion);
|
|
20
|
+
const makeDir = options.makeDir ?? ((path) => mkdir(path, { recursive: true }).then(() => undefined));
|
|
21
|
+
await makeDir(env.defaultWorkspace);
|
|
22
|
+
const config = await writeOpencodeConfig({
|
|
23
|
+
env,
|
|
24
|
+
configDir: options.configDir,
|
|
25
|
+
});
|
|
26
|
+
return {
|
|
27
|
+
opencodeVersion,
|
|
28
|
+
env: {
|
|
29
|
+
modelBaseUrl: env.modelBaseUrl,
|
|
30
|
+
defaultWorkspace: env.defaultWorkspace,
|
|
31
|
+
modelCount: env.modelIds.length,
|
|
32
|
+
},
|
|
33
|
+
config,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/** 输出一行摘要(不含 `ZAG_MODEL_API_KEY` / provider apiKey)。 */
|
|
37
|
+
export function formatPrepareSummary(result) {
|
|
38
|
+
const created = result.config.created ? 'created' : 'updated';
|
|
39
|
+
return [
|
|
40
|
+
`OpenCode harness prepared: version=${result.opencodeVersion}`,
|
|
41
|
+
`models=${result.env.modelCount}`,
|
|
42
|
+
`workspace=${result.env.defaultWorkspace}`,
|
|
43
|
+
`config=${result.config.path} (${created})`,
|
|
44
|
+
].join(' ');
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=prepare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/harness/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAmB,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAsB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAkC,MAAM,sBAAsB,CAAC;AAmB3F;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAiC,EAAE;IAEnC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACvD,qEAAqE;IACrE,MAAM,uBAAuB,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;IAClF,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAEzF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9G,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAEpC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;QACvC,GAAG;QACH,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,OAAO;QACL,eAAe;QACf,GAAG,EAAE;YACH,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM;SAChC;QACD,MAAM;KACP,CAAC;AACJ,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,oBAAoB,CAAC,MAA4B;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,OAAO;QACL,sCAAsC,MAAM,CAAC,eAAe,EAAE;QAC9D,UAAU,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE;QACjC,aAAa,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE;QAC1C,UAAU,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,GAAG;KAC5C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare.test.d.ts","sourceRoot":"","sources":["../../src/harness/prepare.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { describe, it, expect, afterEach, vi } from 'vitest';
|
|
2
|
+
import { mkdir, mkdtemp, readFile, rm, stat } from 'node:fs/promises';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { parse } from 'jsonc-parser';
|
|
5
|
+
import { formatPrepareSummary, prepareHarness } from './prepare.js';
|
|
6
|
+
import { HarnessEnvError } from './env.js';
|
|
7
|
+
import { OpencodeCliError } from './opencode-cli.js';
|
|
8
|
+
const TMP_BASE = '/tmp/opencode';
|
|
9
|
+
const VALID_ENV = {
|
|
10
|
+
ZAG_MODEL_BASE_URL: 'http://admin-api:8002/v1',
|
|
11
|
+
ZAG_MODEL_API_KEY: 'zag_sk_super_secret',
|
|
12
|
+
ZAG_MODEL_IDS: '["model-a","model-a"," model-b ",""]',
|
|
13
|
+
ZAG_DEFAULT_WORKSPACE: '/root/workspace',
|
|
14
|
+
};
|
|
15
|
+
async function makeDir() {
|
|
16
|
+
await mkdir(TMP_BASE, { recursive: true });
|
|
17
|
+
return mkdtemp(join(TMP_BASE, 'prepare-'));
|
|
18
|
+
}
|
|
19
|
+
describe('prepareHarness (T-AG7..T-AG12)', () => {
|
|
20
|
+
const dirs = [];
|
|
21
|
+
afterEach(async () => {
|
|
22
|
+
await Promise.all(dirs.splice(0).map((dir) => rm(dir, { recursive: true, force: true })));
|
|
23
|
+
});
|
|
24
|
+
it('validates env, verifies OpenCode, creates the workspace and writes the config', async () => {
|
|
25
|
+
const dir = await makeDir();
|
|
26
|
+
dirs.push(dir);
|
|
27
|
+
const workspace = join(dir, 'workspace');
|
|
28
|
+
const configDir = join(dir, 'config');
|
|
29
|
+
const runner = vi.fn(async () => ({ stdout: '1.2.3\n', stderr: '' }));
|
|
30
|
+
const result = await prepareHarness({
|
|
31
|
+
env: { ...VALID_ENV, ZAG_DEFAULT_WORKSPACE: workspace },
|
|
32
|
+
runner,
|
|
33
|
+
configDir,
|
|
34
|
+
makeDir: async (path) => {
|
|
35
|
+
await mkdir(path, { recursive: true });
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
expect(runner).toHaveBeenCalledWith('opencode', ['--version']);
|
|
39
|
+
expect(result.opencodeVersion).toBe('1.2.3');
|
|
40
|
+
expect(result.env).toMatchObject({
|
|
41
|
+
modelBaseUrl: 'http://admin-api:8002/v1',
|
|
42
|
+
defaultWorkspace: workspace,
|
|
43
|
+
modelCount: 2,
|
|
44
|
+
});
|
|
45
|
+
expect((await stat(workspace)).isDirectory()).toBe(true);
|
|
46
|
+
const config = parse(await readFile(join(configDir, 'opencode.jsonc'), 'utf-8'));
|
|
47
|
+
expect(Object.keys(config.provider.zag.models)).toEqual(['model-a', 'model-b']);
|
|
48
|
+
expect(config.provider.zag.options.apiKey).toBe('zag_sk_super_secret');
|
|
49
|
+
});
|
|
50
|
+
it('fails on missing env before touching OpenCode or the filesystem', async () => {
|
|
51
|
+
const runner = vi.fn(async () => ({ stdout: '1.2.3', stderr: '' }));
|
|
52
|
+
const makeDirSpy = vi.fn(async () => { });
|
|
53
|
+
await expect(prepareHarness({
|
|
54
|
+
env: { ...VALID_ENV, ZAG_MODEL_IDS: '' },
|
|
55
|
+
runner,
|
|
56
|
+
makeDir: makeDirSpy,
|
|
57
|
+
})).rejects.toBeInstanceOf(HarnessEnvError);
|
|
58
|
+
expect(runner).not.toHaveBeenCalled();
|
|
59
|
+
expect(makeDirSpy).not.toHaveBeenCalled();
|
|
60
|
+
});
|
|
61
|
+
it('fails with a version-check error before writing config when OpenCode is unavailable', async () => {
|
|
62
|
+
const dir = await makeDir();
|
|
63
|
+
dirs.push(dir);
|
|
64
|
+
const runner = vi.fn(async () => {
|
|
65
|
+
throw new Error('spawn opencode ENOENT');
|
|
66
|
+
});
|
|
67
|
+
const configDir = join(dir, 'config');
|
|
68
|
+
await expect(prepareHarness({
|
|
69
|
+
env: VALID_ENV,
|
|
70
|
+
runner,
|
|
71
|
+
configDir,
|
|
72
|
+
makeDir: async (path) => {
|
|
73
|
+
await mkdir(path, { recursive: true });
|
|
74
|
+
},
|
|
75
|
+
})).rejects.toBeInstanceOf(OpencodeCliError);
|
|
76
|
+
await expect(stat(configDir)).rejects.toThrow();
|
|
77
|
+
});
|
|
78
|
+
it('formats a summary without any secret', async () => {
|
|
79
|
+
const dir = await makeDir();
|
|
80
|
+
dirs.push(dir);
|
|
81
|
+
const result = await prepareHarness({
|
|
82
|
+
env: VALID_ENV,
|
|
83
|
+
runner: async () => ({ stdout: '1.2.3', stderr: '' }),
|
|
84
|
+
configDir: join(dir, 'config'),
|
|
85
|
+
makeDir: async () => { },
|
|
86
|
+
});
|
|
87
|
+
const summary = formatPrepareSummary(result);
|
|
88
|
+
expect(summary).toContain('OpenCode harness prepared');
|
|
89
|
+
expect(summary).toContain('version=1.2.3');
|
|
90
|
+
expect(summary).toContain('models=2');
|
|
91
|
+
expect(summary).toContain('workspace=/root/workspace');
|
|
92
|
+
expect(summary).not.toContain('zag_sk_super_secret');
|
|
93
|
+
expect(summary).not.toContain('admin-api');
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=prepare.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare.test.js","sourceRoot":"","sources":["../../src/harness/prepare.test.ts"],"names":[],"mappings":"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"}
|
package/dist/heartbeat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAS;IACpB,OAAO,CAAC,UAAU,CAA+C;IAEjE,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAS;IACpB,OAAO,CAAC,UAAU,CAA+C;IAEjE,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI;IAQ/B,IAAI,IAAI,IAAI;CAMb"}
|
package/dist/heartbeat.js
CHANGED
package/dist/heartbeat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAErC,MAAM,OAAO,SAAS;IACZ,UAAU,GAA0C,IAAI,CAAC;IAEjE,KAAK,CAAC,MAAkB;QACtB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,CAAC;QACX,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAErC,MAAM,OAAO,SAAS;IACZ,UAAU,GAA0C,IAAI,CAAC;IAEjE,KAAK,CAAC,MAAkB;QACtB,kDAAkD;QAClD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,CAAC;QACX,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,8 @@ import { connectToServer } from './socketio-client.js';
|
|
|
7
7
|
import { writePid, removePid, isRunning } from './daemon.js';
|
|
8
8
|
import { startMcpRegistration } from './commands/mcp-proxy.js';
|
|
9
9
|
import { startMcpProxy } from './commands/mcp.js';
|
|
10
|
+
import { registerHarnessCommands } from './commands/harness.js';
|
|
11
|
+
import { isCloudHostMode, startCloudHostSupervisor } from './cloud-host/supervisor.js';
|
|
10
12
|
import { processRegistry, isProcessAlive } from './acp/process-registry.js';
|
|
11
13
|
// 版本号唯一事实源为 package.json(`--version` 与 npm 发布版本保持一致,避免手工同步漂移)。
|
|
12
14
|
const { version: CLI_VERSION } = createRequire(import.meta.url)('../package.json');
|
|
@@ -23,6 +25,23 @@ program
|
|
|
23
25
|
console.error('Controller is already running. Stop it first or remove the PID file.');
|
|
24
26
|
process.exit(1);
|
|
25
27
|
}
|
|
28
|
+
// 云电脑模式(`ZAG_HOST_ENDPOINT` + `ZAG_HOST_KEY` + `ZAG_CONTROLLER_KEY` 同时存在):
|
|
29
|
+
// 双连接编排(/worker 初始化 → controller-api 标准连接),不读取/写入本地 key 配置。
|
|
30
|
+
if (isCloudHostMode()) {
|
|
31
|
+
writePid();
|
|
32
|
+
process.on('exit', () => {
|
|
33
|
+
removePid();
|
|
34
|
+
});
|
|
35
|
+
try {
|
|
36
|
+
await startCloudHostSupervisor();
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
console.error(`Cloud host supervisor failed: ${error.message}`);
|
|
40
|
+
removePid();
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
26
45
|
const key = resolveKey(options.key);
|
|
27
46
|
if (!key) {
|
|
28
47
|
console.error('No key provided. Use --key, ZAG_CONTROLLER_KEY env, or configure in ~/.zag/config.toml');
|
|
@@ -106,5 +125,7 @@ program
|
|
|
106
125
|
token: options.token,
|
|
107
126
|
});
|
|
108
127
|
});
|
|
128
|
+
// 云电脑 harness 初始化子命令:`agent-gear harness prepare`(init 脚本调用)。
|
|
129
|
+
registerHarnessCommands(program);
|
|
109
130
|
program.parse();
|
|
110
131
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,59 @@
|
|
|
1
1
|
import { type Socket } from 'socket.io-client';
|
|
2
|
+
interface RegisteredPayload {
|
|
3
|
+
controllerId: string;
|
|
4
|
+
resumeToken?: string;
|
|
5
|
+
/** 云电脑场景:是否存在待执行的初始化脚本(缺省/false 立即建立标准连接)。 */
|
|
6
|
+
initializing?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/** `workload:run` 批次结束摘要(成功/失败/被打断都会回调)。 */
|
|
9
|
+
export interface WorkloadBatchSummary {
|
|
10
|
+
phase: 'init' | 'post';
|
|
11
|
+
itemCount: number;
|
|
12
|
+
/** 批次正常结束且无失败项为 completed;有失败/超时为 failed;被打断为 cancelled。 */
|
|
13
|
+
status: 'completed' | 'failed' | 'cancelled';
|
|
14
|
+
/** 失败/超时条目数。 */
|
|
15
|
+
failedCount?: number;
|
|
16
|
+
/** 批次是否被新批次/销毁流程打断(打断不得视为初始化完成)。 */
|
|
17
|
+
cancelled?: boolean;
|
|
18
|
+
error?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ConnectToServerOptions {
|
|
21
|
+
serverName?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Socket.IO 握手 `auth.token`:
|
|
24
|
+
* - `string`:显式使用(controller-api 标准连接传 `ZAG_HOST_KEY`,worker 连接传一次性 token);
|
|
25
|
+
* - `false`:不发送 `auth.token`(既有本地控制器 legacy 行为由缺省值处理,通常无需使用);
|
|
26
|
+
* - 缺省:endpoint query `?token=`(兼容旧注入)否则用 `key`(cloud-controller 场景 key=token)。
|
|
27
|
+
*/
|
|
28
|
+
handshakeToken?: string | false;
|
|
29
|
+
/** `registered` 回调(云电脑 supervisor 据此判断 `initializing`)。 */
|
|
30
|
+
onRegistered?: (payload: RegisteredPayload) => void;
|
|
31
|
+
/** `workload:run` 批次结束回调(成功/失败都回调;用于 init 完成后建立标准连接)。 */
|
|
32
|
+
onWorkloadBatchComplete?: (summary: WorkloadBatchSummary) => void;
|
|
33
|
+
/**
|
|
34
|
+
* 不启动本地 MCP 回环服务(双连接时仅由 controller-api 标准连接启动一次,
|
|
35
|
+
* 避免 worker 连接重复监听同一端口)。
|
|
36
|
+
*/
|
|
37
|
+
skipLocalMcpStart?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 是否处理 `workload:run` / 重连重放(默认 true)。云电脑的 controller-api 标准连接
|
|
40
|
+
* 不处理工作负载事件,避免结果被重放到非 cloud-controller 侧。
|
|
41
|
+
*/
|
|
42
|
+
handleWorkload?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* 是否持久化本地配置(resumeToken/清除 Key)。云电脑模式必须为 false:
|
|
45
|
+
* 容器内不读写 `~/.zag/config.toml`,避免凭据落盘。
|
|
46
|
+
*/
|
|
47
|
+
persistConfig?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* 自定义 `shutdown` 处理(云电脑双连接需同时关闭两端)。缺省保持既有行为:
|
|
50
|
+
* 清理本地 Key、关闭 socket、退出进程。
|
|
51
|
+
*/
|
|
52
|
+
onShutdown?: (payload: ShutdownPayload) => void;
|
|
53
|
+
}
|
|
54
|
+
interface ShutdownPayload {
|
|
55
|
+
reason: string;
|
|
56
|
+
}
|
|
2
57
|
export interface ParsedEndpoint {
|
|
3
58
|
/** 服务源(协议 + host + port),不含 path/query,例如 `wss://cloud.example.com`。 */
|
|
4
59
|
origin: string;
|
|
@@ -30,8 +85,12 @@ export declare function stripTokenFromEndpoint(endpoint: string): string;
|
|
|
30
85
|
* 而 `message` 常常只有 "websocket error",不足以定位问题。
|
|
31
86
|
*/
|
|
32
87
|
export declare function describeConnectError(err: Error): string;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
88
|
+
/**
|
|
89
|
+
* 云电脑模式重连退避:`1s → 2s → 4s → …`,封顶 30s(C-3)。
|
|
90
|
+
* `attempt` 从 0 开始(首次断开后等待 1s)。
|
|
91
|
+
*/
|
|
92
|
+
export declare function cloudHostReconnectDelay(attempt: number): number;
|
|
93
|
+
export declare function connectToServer(endpoint: string, key: string, options?: ConnectToServerOptions): Socket;
|
|
36
94
|
export declare function unregister(socket: Socket): void;
|
|
95
|
+
export {};
|
|
37
96
|
//# sourceMappingURL=socketio-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socketio-client.d.ts","sourceRoot":"","sources":["../src/socketio-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"socketio-client.d.ts","sourceRoot":"","sources":["../src/socketio-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAuD3E,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC7C,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC,2DAA2D;IAC3D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACpD,yDAAyD;IACzD,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAClE;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CACjD;AAOD,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AA8JD,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAc9D;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM1E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS/D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAavD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,CA8/BR;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE/C"}
|