@router-agent/runtime 0.0.0-stage → 0.3.31
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/agents/claude.d.ts +51 -0
- package/dist/agents/claude.js +270 -0
- package/dist/agents/claude.js.map +1 -0
- package/dist/agents/codex.d.ts +36 -0
- package/dist/agents/codex.js +292 -0
- package/dist/agents/codex.js.map +1 -0
- package/dist/agents/profile.d.ts +39 -0
- package/dist/agents/profile.js +2 -0
- package/dist/agents/profile.js.map +1 -0
- package/dist/agents/registry.d.ts +21 -0
- package/dist/agents/registry.js +78 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/errors.d.ts +4 -0
- package/dist/errors.js +9 -0
- package/dist/errors.js.map +1 -0
- package/dist/evidence-gate.d.ts +78 -0
- package/dist/evidence-gate.js +196 -0
- package/dist/evidence-gate.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/naming.d.ts +23 -0
- package/dist/naming.js +40 -0
- package/dist/naming.js.map +1 -0
- package/dist/orca/commands.js +60 -0
- package/dist/orca/commands.js.map +1 -0
- package/dist/orca/index.js +452 -0
- package/dist/orca/index.js.map +1 -0
- package/dist/orca/options.js +33 -0
- package/dist/orca/options.js.map +1 -0
- package/dist/orca/report-poller.js +143 -0
- package/dist/orca/report-poller.js.map +1 -0
- package/dist/permissions/acp.d.ts +21 -0
- package/dist/permissions/acp.js +73 -0
- package/dist/permissions/acp.js.map +1 -0
- package/dist/permissions.d.ts +1 -0
- package/dist/permissions.js +2 -0
- package/dist/permissions.js.map +1 -0
- package/dist/plugins/loader.d.ts +46 -0
- package/dist/plugins/loader.js +117 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/plugins/types.d.ts +52 -0
- package/dist/plugins/types.js +2 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/port.d.ts +295 -0
- package/dist/port.js +17 -0
- package/dist/port.js.map +1 -0
- package/dist/registry.d.ts +13 -0
- package/dist/registry.js +35 -0
- package/dist/registry.js.map +1 -0
- package/dist/report-poller.d.ts +58 -0
- package/dist/report-poller.js +130 -0
- package/dist/report-poller.js.map +1 -0
- package/dist/resume.d.ts +52 -0
- package/dist/resume.js +109 -0
- package/dist/resume.js.map +1 -0
- package/dist/runtimes/acp/admin.js +470 -0
- package/dist/runtimes/acp/admin.js.map +1 -0
- package/dist/runtimes/acp/agents.js +167 -0
- package/dist/runtimes/acp/agents.js.map +1 -0
- package/dist/runtimes/acp/detect.js +379 -0
- package/dist/runtimes/acp/detect.js.map +1 -0
- package/dist/runtimes/acp/index.js +633 -0
- package/dist/runtimes/acp/index.js.map +1 -0
- package/dist/runtimes/acp/install.js +264 -0
- package/dist/runtimes/acp/install.js.map +1 -0
- package/dist/runtimes/acp/permissions.js +83 -0
- package/dist/runtimes/acp/permissions.js.map +1 -0
- package/dist/runtimes/acp/protocol.js +207 -0
- package/dist/runtimes/acp/protocol.js.map +1 -0
- package/dist/runtimes/acp-agents.d.ts +85 -0
- package/dist/runtimes/acp-agents.js +167 -0
- package/dist/runtimes/acp-agents.js.map +1 -0
- package/dist/runtimes/acp-detect-utils.d.ts +4 -0
- package/dist/runtimes/acp-detect-utils.js +35 -0
- package/dist/runtimes/acp-detect-utils.js.map +1 -0
- package/dist/runtimes/builtin-options.d.ts +3 -0
- package/dist/runtimes/builtin-options.js +44 -0
- package/dist/runtimes/builtin-options.js.map +1 -0
- package/dist/runtimes/catalog.d.ts +31 -0
- package/dist/runtimes/catalog.js +75 -0
- package/dist/runtimes/catalog.js.map +1 -0
- package/dist/runtimes/claude-code/index.js +544 -0
- package/dist/runtimes/claude-code/index.js.map +1 -0
- package/dist/runtimes/claude-code/inject.js +71 -0
- package/dist/runtimes/claude-code/inject.js.map +1 -0
- package/dist/runtimes/codex/client.js +203 -0
- package/dist/runtimes/codex/client.js.map +1 -0
- package/dist/runtimes/codex/detect.js +240 -0
- package/dist/runtimes/codex/detect.js.map +1 -0
- package/dist/runtimes/codex/index.js +1066 -0
- package/dist/runtimes/codex/index.js.map +1 -0
- package/dist/runtimes/herdr/agents.js +38 -0
- package/dist/runtimes/herdr/agents.js.map +1 -0
- package/dist/runtimes/herdr/commands.js +68 -0
- package/dist/runtimes/herdr/commands.js.map +1 -0
- package/dist/runtimes/herdr/index.js +712 -0
- package/dist/runtimes/herdr/index.js.map +1 -0
- package/dist/runtimes/herdr/options.js +29 -0
- package/dist/runtimes/herdr/options.js.map +1 -0
- package/dist/runtimes/herdr/server.js +75 -0
- package/dist/runtimes/herdr/server.js.map +1 -0
- package/dist/runtimes/options.d.ts +60 -0
- package/dist/runtimes/options.js +89 -0
- package/dist/runtimes/options.js.map +1 -0
- package/dist/spec/contract.md +120 -0
- package/dist/spec/index.d.ts +35 -0
- package/dist/spec/index.js +59 -0
- package/dist/spec/index.js.map +1 -0
- package/dist/spec/prompt-mode.md +176 -0
- package/dist/spec/reader.d.ts +5 -0
- package/dist/spec/reader.js +32 -0
- package/dist/spec/reader.js.map +1 -0
- package/dist/status.d.ts +8 -0
- package/dist/status.js +22 -0
- package/dist/status.js.map +1 -0
- package/dist/workspaces/git-worktree.d.ts +44 -0
- package/dist/workspaces/git-worktree.js +183 -0
- package/dist/workspaces/git-worktree.js.map +1 -0
- package/dist/workspaces/overview.d.ts +66 -0
- package/dist/workspaces/overview.js +12 -0
- package/dist/workspaces/overview.js.map +1 -0
- package/package.json +36 -4
- package/README.md +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/runtime/src/runtimes/herdr/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Herdr 运行时的可配置项声明。
|
|
3
|
+
*
|
|
4
|
+
* 只放纯常量(面板会把它打进前端包)。这里声明的是「ra 允许覆盖什么」,
|
|
5
|
+
* 具体的命令行参数由 Herdr adapter 自己映射,声明本身不含任何 Herdr 逻辑。
|
|
6
|
+
*/
|
|
7
|
+
import { HERDR_RUNTIME_ID } from '../catalog.js';
|
|
8
|
+
import { HERDR_AGENT_KINDS } from './agents.js';
|
|
9
|
+
export const HERDR_OPTION_SPEC = {
|
|
10
|
+
runtimeId: HERDR_RUNTIME_ID,
|
|
11
|
+
fields: [
|
|
12
|
+
{
|
|
13
|
+
key: 'agent',
|
|
14
|
+
label: '执行 Agent',
|
|
15
|
+
kind: 'select',
|
|
16
|
+
default: 'claude',
|
|
17
|
+
options: HERDR_AGENT_KINDS.map(kind => ({ value: kind.value, label: kind.label })),
|
|
18
|
+
hint: 'Herdr 在工单 worktree 里启动哪个 Agent;默认 Claude Code',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
key: 'model',
|
|
22
|
+
label: '模型',
|
|
23
|
+
kind: 'text',
|
|
24
|
+
placeholder: '留空则用 Agent 自己的默认模型',
|
|
25
|
+
hint: '传给 Agent 的模型名;不同 Agent 的参数名由 adapter 自己映射',
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../../../packages/runtime/src/runtimes/herdr/options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG/C,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE;QACN;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAClF,IAAI,EAAE,+CAA+C;SACtD;QACD;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,2CAA2C;SAClD;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Herdr 服务端的可用性检查与拉起。
|
|
3
|
+
*
|
|
4
|
+
* Herdr 的所有命令都走本地 socket 服务端,服务端没起时每条命令都返回
|
|
5
|
+
* `server_not_running`。这个模块负责在探测阶段把服务端拉起来,
|
|
6
|
+
* 让「检测 → 可用」这条路自洽。
|
|
7
|
+
*/
|
|
8
|
+
import { spawn } from 'node:child_process';
|
|
9
|
+
import { serverStatus } from './commands.js';
|
|
10
|
+
/**
|
|
11
|
+
* 默认的拉起方式:detached + stdio 丢弃,让 `herdr server` 脱离当前 shell 一直活着。
|
|
12
|
+
*
|
|
13
|
+
* 用 nohup / & 之类的 shell 技巧不行 —— 父 shell 退出时它照样会被带走;
|
|
14
|
+
* 必须自己 detach。
|
|
15
|
+
*/
|
|
16
|
+
const defaultSpawn = (bin, args) => {
|
|
17
|
+
const child = spawn(bin, args, { detached: true, stdio: 'ignore' });
|
|
18
|
+
child.unref();
|
|
19
|
+
};
|
|
20
|
+
/** 探测服务端状态;不尝试拉起。 */
|
|
21
|
+
export async function probeHerdrServer(runner) {
|
|
22
|
+
const res = await runner.run(serverStatus());
|
|
23
|
+
if (res.code !== 0) {
|
|
24
|
+
return { running: false, reason: (res.stderr || res.stdout).trim().slice(0, 160) };
|
|
25
|
+
}
|
|
26
|
+
const running = /^status:\s*running\s*$/m.test(res.stdout);
|
|
27
|
+
const version = res.stdout.match(/^version:\s*(.+)$/m)?.[1]?.trim();
|
|
28
|
+
return {
|
|
29
|
+
running,
|
|
30
|
+
...(version ? { version } : {}),
|
|
31
|
+
...(running ? {} : { reason: '未找到运行中的 Herdr 服务端' }),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 确保 Herdr 服务端在跑;没在跑就把它拉起来。
|
|
36
|
+
*
|
|
37
|
+
* `herdr server` 是前台进程,这里用 detached 方式启动(stdio 丢弃、脱离父进程),
|
|
38
|
+
* 让它像 Herdr TUI 拉起的服务端那样一直活着。
|
|
39
|
+
*/
|
|
40
|
+
export async function ensureHerdrServer(opts) {
|
|
41
|
+
const current = await probeHerdrServer(opts.runner);
|
|
42
|
+
if (current.running) {
|
|
43
|
+
return { running: true, started: false, ...(current.version ? { version: current.version } : {}) };
|
|
44
|
+
}
|
|
45
|
+
const spawnFn = opts.spawnFn ?? defaultSpawn;
|
|
46
|
+
try {
|
|
47
|
+
spawnFn(opts.bin ?? 'herdr', ['server']);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return {
|
|
51
|
+
running: false,
|
|
52
|
+
started: false,
|
|
53
|
+
reason: `启动 Herdr 服务端失败: ${error instanceof Error ? error.message : String(error)}`,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
const timeoutMs = opts.timeoutMs ?? 10_000;
|
|
57
|
+
const pollMs = opts.pollMs ?? 400;
|
|
58
|
+
const deadline = Date.now() + timeoutMs;
|
|
59
|
+
while (Date.now() < deadline) {
|
|
60
|
+
await sleep(pollMs);
|
|
61
|
+
const next = await probeHerdrServer(opts.runner);
|
|
62
|
+
if (next.running) {
|
|
63
|
+
return { running: true, started: true, ...(next.version ? { version: next.version } : {}) };
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
running: false,
|
|
68
|
+
started: false,
|
|
69
|
+
reason: `启动 Herdr 服务端超时(${timeoutMs}ms);请手动运行 herdr server 看看报错`,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function sleep(ms) {
|
|
73
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../../packages/runtime/src/runtimes/herdr/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export { ORCA_OPTION_SPEC, HERDR_OPTION_SPEC } from './builtin-options.js';
|
|
2
|
+
export type RuntimeOptionKind = 'text' | 'select' | 'switch' | 'number';
|
|
3
|
+
export interface RuntimeOptionValue {
|
|
4
|
+
value: string;
|
|
5
|
+
label: string;
|
|
6
|
+
hint?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface RuntimeOptionField {
|
|
9
|
+
/** 选项键;配置里对应 `runtime.options.<runtimeId>.<key>`。 */
|
|
10
|
+
key: string;
|
|
11
|
+
label: string;
|
|
12
|
+
kind: RuntimeOptionKind;
|
|
13
|
+
/**
|
|
14
|
+
* 未配置时的声明式默认值。
|
|
15
|
+
*
|
|
16
|
+
* 运行时与面板都从这里取值,避免「默认值」散落在 adapter、面板、文档三处。
|
|
17
|
+
* 有些工具的选项没有可省略的形态(例如 Orca 的 `--prompt` 必须配 `--agent`),
|
|
18
|
+
* 这种情况就靠这里给出一个真实默认值,而不是让调用方猜。
|
|
19
|
+
*/
|
|
20
|
+
default?: string | number | boolean;
|
|
21
|
+
/** kind=select 时的候选取值。 */
|
|
22
|
+
options?: RuntimeOptionValue[];
|
|
23
|
+
placeholder?: string;
|
|
24
|
+
hint?: string;
|
|
25
|
+
/** kind=number 时的取值范围。 */
|
|
26
|
+
min?: number;
|
|
27
|
+
max?: number;
|
|
28
|
+
}
|
|
29
|
+
export interface RuntimeOptionSpec {
|
|
30
|
+
runtimeId: string;
|
|
31
|
+
fields: RuntimeOptionField[];
|
|
32
|
+
}
|
|
33
|
+
/** 所有运行时的选项声明;新增运行时在这里加一行即可。 */
|
|
34
|
+
export declare const RUNTIME_OPTION_SPECS: readonly RuntimeOptionSpec[];
|
|
35
|
+
export declare function optionSpecOf(runtimeId: string): RuntimeOptionSpec | null;
|
|
36
|
+
export declare function optionFieldOf(runtimeId: string, key: string): RuntimeOptionField | null;
|
|
37
|
+
/** 某个选项未配置时的声明式默认值;没有声明返回 undefined。 */
|
|
38
|
+
export declare function runtimeOptionDefault(runtimeId: string, key: string): unknown;
|
|
39
|
+
/** 配置里的点路径:runtime.options.<runtimeId>.<key>。 */
|
|
40
|
+
export declare function runtimeOptionPath(runtimeId: string, key: string): string;
|
|
41
|
+
/** 解析 `runtime.options.<runtimeId>.<key>`;不是这个形状返回 null。 */
|
|
42
|
+
export declare function parseRuntimeOptionPath(path: string): {
|
|
43
|
+
runtimeId: string;
|
|
44
|
+
key: string;
|
|
45
|
+
} | null;
|
|
46
|
+
/** 全部已声明的选项路径;面板据此判断「哪些配置被改过」。 */
|
|
47
|
+
export declare function runtimeOptionPaths(): string[];
|
|
48
|
+
/**
|
|
49
|
+
从配置里取某个运行时的字符串选项。
|
|
50
|
+
*
|
|
51
|
+
* 运行时之间没有特例:调用方只需要知道「我要哪个运行时的哪个选项」。
|
|
52
|
+
* 没配置(或显式留空)时回落到声明里的默认值。
|
|
53
|
+
*/
|
|
54
|
+
export declare function runtimeOptionString(options: Record<string, unknown> | undefined, runtimeId: string, key: string): string;
|
|
55
|
+
/**
|
|
56
|
+
* 校验一个选项值;合法返回 null,否则返回可直接展示给用户的错误文案。
|
|
57
|
+
*
|
|
58
|
+
* select 的候选取值里允许出现空串:它表示「不覆盖」,写入配置时应当删掉这个键。
|
|
59
|
+
*/
|
|
60
|
+
export declare function validateRuntimeOption(field: RuntimeOptionField, value: unknown): string | null;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 运行时选项:每个运行时自己声明「可以配什么」,面板按声明渲染、后端按声明校验。
|
|
3
|
+
*
|
|
4
|
+
* 这里只放纯类型与纯函数,不能依赖任何 Node 内置模块 —— Web 面板会把它一起打进前端包。
|
|
5
|
+
* 配置落点是通用的 `runtime.options.<runtimeId>.<key>`,新增运行时不需要改内核或面板。
|
|
6
|
+
*/
|
|
7
|
+
import { ORCA_OPTION_SPEC, HERDR_OPTION_SPEC } from './builtin-options.js';
|
|
8
|
+
export { ORCA_OPTION_SPEC, HERDR_OPTION_SPEC } from './builtin-options.js';
|
|
9
|
+
/** 所有运行时的选项声明;新增运行时在这里加一行即可。 */
|
|
10
|
+
export const RUNTIME_OPTION_SPECS = [ORCA_OPTION_SPEC, HERDR_OPTION_SPEC];
|
|
11
|
+
export function optionSpecOf(runtimeId) {
|
|
12
|
+
return RUNTIME_OPTION_SPECS.find(spec => spec.runtimeId === runtimeId) ?? null;
|
|
13
|
+
}
|
|
14
|
+
export function optionFieldOf(runtimeId, key) {
|
|
15
|
+
return optionSpecOf(runtimeId)?.fields.find(field => field.key === key) ?? null;
|
|
16
|
+
}
|
|
17
|
+
/** 某个选项未配置时的声明式默认值;没有声明返回 undefined。 */
|
|
18
|
+
export function runtimeOptionDefault(runtimeId, key) {
|
|
19
|
+
return optionFieldOf(runtimeId, key)?.default;
|
|
20
|
+
}
|
|
21
|
+
/** 配置里的点路径:runtime.options.<runtimeId>.<key>。 */
|
|
22
|
+
export function runtimeOptionPath(runtimeId, key) {
|
|
23
|
+
return `runtime.options.${runtimeId}.${key}`;
|
|
24
|
+
}
|
|
25
|
+
/** 解析 `runtime.options.<runtimeId>.<key>`;不是这个形状返回 null。 */
|
|
26
|
+
export function parseRuntimeOptionPath(path) {
|
|
27
|
+
const match = /^runtime\.options\.([^.]+)\.([^.]+)$/.exec(path);
|
|
28
|
+
if (!match)
|
|
29
|
+
return null;
|
|
30
|
+
return { runtimeId: match[1], key: match[2] };
|
|
31
|
+
}
|
|
32
|
+
/** 全部已声明的选项路径;面板据此判断「哪些配置被改过」。 */
|
|
33
|
+
export function runtimeOptionPaths() {
|
|
34
|
+
return RUNTIME_OPTION_SPECS.flatMap(spec => spec.fields.map(field => runtimeOptionPath(spec.runtimeId, field.key)));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
从配置里取某个运行时的字符串选项。
|
|
38
|
+
*
|
|
39
|
+
* 运行时之间没有特例:调用方只需要知道「我要哪个运行时的哪个选项」。
|
|
40
|
+
* 没配置(或显式留空)时回落到声明里的默认值。
|
|
41
|
+
*/
|
|
42
|
+
export function runtimeOptionString(options, runtimeId, key) {
|
|
43
|
+
const entry = options?.[runtimeId];
|
|
44
|
+
if (entry && typeof entry === 'object' && !Array.isArray(entry)) {
|
|
45
|
+
const value = entry[key];
|
|
46
|
+
if (typeof value === 'string' && value.trim())
|
|
47
|
+
return value.trim();
|
|
48
|
+
}
|
|
49
|
+
const fallback = runtimeOptionDefault(runtimeId, key);
|
|
50
|
+
return typeof fallback === 'string' ? fallback.trim() : '';
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 校验一个选项值;合法返回 null,否则返回可直接展示给用户的错误文案。
|
|
54
|
+
*
|
|
55
|
+
* select 的候选取值里允许出现空串:它表示「不覆盖」,写入配置时应当删掉这个键。
|
|
56
|
+
*/
|
|
57
|
+
export function validateRuntimeOption(field, value) {
|
|
58
|
+
switch (field.kind) {
|
|
59
|
+
case 'select': {
|
|
60
|
+
const text = String(value ?? '').trim();
|
|
61
|
+
const allowed = field.options?.map(option => option.value) ?? [];
|
|
62
|
+
if (allowed.includes(text))
|
|
63
|
+
return null;
|
|
64
|
+
// 留空表示回到声明里的默认值;没声明默认值的选项仍然必须显式选择。
|
|
65
|
+
if (text === '' && field.default !== undefined)
|
|
66
|
+
return null;
|
|
67
|
+
return `取值必须是:${allowed.map(item => item || '(空)').join(' / ')}`;
|
|
68
|
+
}
|
|
69
|
+
case 'switch': {
|
|
70
|
+
if (typeof value === 'boolean')
|
|
71
|
+
return null;
|
|
72
|
+
const text = String(value ?? '').trim();
|
|
73
|
+
return text === 'true' || text === 'false' ? null : '取值必须是 true / false';
|
|
74
|
+
}
|
|
75
|
+
case 'number': {
|
|
76
|
+
const n = Number(value);
|
|
77
|
+
if (!Number.isInteger(n))
|
|
78
|
+
return '必须是整数';
|
|
79
|
+
if (field.min !== undefined && n < field.min)
|
|
80
|
+
return `不能小于 ${field.min}`;
|
|
81
|
+
if (field.max !== undefined && n > field.max)
|
|
82
|
+
return `不能大于 ${field.max}`;
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
default:
|
|
86
|
+
return typeof value === 'string' ? null : '必须是字符串';
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../../packages/runtime/src/runtimes/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Router Agent Worker 手册
|
|
2
|
+
|
|
3
|
+
你是 router-agent 派出的 Worker,在一个独立的 git worktree 里工作,负责完成下面这张工单。
|
|
4
|
+
你**只对 Router(编排层)负责**:所有状态通过 `ra report` 上报,不要直接给飞书发消息,不要自己联系发起人。
|
|
5
|
+
|
|
6
|
+
## 工单
|
|
7
|
+
|
|
8
|
+
- 工单 ID:`{{ticketId}}`
|
|
9
|
+
- 标题:{{title}}
|
|
10
|
+
- 授权范围:{{scope}}
|
|
11
|
+
- 仓库:{{repo}}
|
|
12
|
+
- 起始分支:{{branch}}
|
|
13
|
+
- 工作分支:{{workBranch}}
|
|
14
|
+
- 工作目录:{{workdir}}
|
|
15
|
+
|
|
16
|
+
{{attachments}}
|
|
17
|
+
|
|
18
|
+
## 先判断怎么回
|
|
19
|
+
|
|
20
|
+
| 产出 | 怎么交付 |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| 代码变更 | 开 PR(GitHub)或 MR(GitLab),`ra report` 带上 `--pr-number` / `--pr-url`,可附一段 `--reply` 说明;改 UI 时 PR / MR 描述必须附 Before / After 对比 |
|
|
23
|
+
| 分析、结论、答疑 | 把要发的话直接写进 `--reply` |
|
|
24
|
+
| 很长的结论 / 多章节 / 需要沉淀转发 | 先 `ra doc` 生成飞书文档,再把文档链接写进 `--reply` |
|
|
25
|
+
|
|
26
|
+
- **非代码类工单不要为了交付去改代码、跑构建或开 PR / MR**,也不要因为「没有 PR / MR」而卡住。
|
|
27
|
+
- GitHub 仓库用 `gh` 开 PR,GitLab 仓库用 `glab mr create` 开 MR;没有 `glab` 时可用 `git push -o merge_request.create`。两种都把编号与链接带进 `--pr-number` / `--pr-url`。
|
|
28
|
+
- Router 只发送 `--reply` 的原文,不会替你改写、压缩或判断「该不该转文档」。形态由你决定。
|
|
29
|
+
|
|
30
|
+
## 工作方式
|
|
31
|
+
|
|
32
|
+
1. 先读仓库里的 README / 约定,确认怎么构建和测试(仅代码类需要)。
|
|
33
|
+
2. 只在授权范围内改动代码;需要跨范围时,用 `blocked` 上报说明原因,等人确认。
|
|
34
|
+
3. 代码类:改完必须自己跑测试或构建,确认通过后再开 PR / MR。
|
|
35
|
+
4. 非代码类:直接产出完整结论,不要压缩成一句话。
|
|
36
|
+
5. 每轮结束前必须执行一次 `ra report`。
|
|
37
|
+
|
|
38
|
+
## 上报命令(唯一对外通道)
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
ra report \
|
|
42
|
+
--ticket {{ticketId}} \
|
|
43
|
+
--state progress|waiting|ready|blocked|failed|dropped \
|
|
44
|
+
--summary "一句话说明这一轮做了什么" \
|
|
45
|
+
[--reply @answer.md | - | "要发给用户的话"] \
|
|
46
|
+
[--pr-number 12 --pr-url "https://..."] \
|
|
47
|
+
[--ui-change [true|false]] \
|
|
48
|
+
[--human-action "blocked 时要人做的事"] \
|
|
49
|
+
[--ack in_xxx]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
- `--summary` 只放一句话(给日志和列表用);**用户真正看到的内容全部放 `--reply`**。
|
|
53
|
+
- `--state progress` 是中途进展,Router 会按 `progress.syncMs` 合并后同步到话题;
|
|
54
|
+
带 `--ack` 的追问回答会立即发送。需要用户立刻看到的内容请用 `ready`。
|
|
55
|
+
- **不要手写 `state.json`**。`ra report` 会 POST 给本地 Router;服务不可达时会自动落盘,等 Router 轮询。
|
|
56
|
+
- 同一个工单有多轮时不用自己算 turn,Router 会自增。
|
|
57
|
+
|
|
58
|
+
## 回复怎么写
|
|
59
|
+
|
|
60
|
+
- 直接给结论,不要只写「我做了什么」的过程。
|
|
61
|
+
- Markdown 可以直接用;Router 会以飞书卡片渲染标题、列表、链接、代码块。
|
|
62
|
+
- 有 PR 就附 PR 链接;有飞书文档就附文档链接。
|
|
63
|
+
|
|
64
|
+
## 代码交付
|
|
65
|
+
|
|
66
|
+
- 分支名:`{{workBranch}}`。
|
|
67
|
+
- PR / MR 标题用中文,正文写清「做了什么 / 怎么验证的 / 风险」。
|
|
68
|
+
- 上报时带 `--pr-number`、`--pr-url`;不要自己合并 PR / MR,合并由人决定。
|
|
69
|
+
- CI 失败时修到绿;修不动用 `blocked` 说明失败原因。
|
|
70
|
+
|
|
71
|
+
## UI 改动:必须交 Before / After 对比
|
|
72
|
+
|
|
73
|
+
只要改动会影响用户看到或操作的界面(页面、组件、样式、交互、布局),PR / MR 描述里必须同时给出 **Before** 和 **After** 两组视觉证据,并标明基线版本与改动版本。
|
|
74
|
+
|
|
75
|
+
- 两组截图或录屏使用同一场景、同一视口(窗口尺寸)、同一主题(明 / 暗)和同一 UI 状态,保证对比有意义。
|
|
76
|
+
- **只有 After 不算完整交付**;不要用设计稿、手工 mockup 或改动后的页面冒充 Before。
|
|
77
|
+
- 必须是真实运行中的页面截图;不要暴露飞书私密内容、真实用户数据或任何凭据。
|
|
78
|
+
- 后续改动让界面对不上时重新截一组,不要沿用过期截图。
|
|
79
|
+
- 把截图放进 PR / MR 描述能直接看到的位置:按仓库约定提交到分支后用仓库内图片链接引用,或用项目已有的素材托管 / GitLab 项目上传接口;不要只写本机文件路径,也不要把私人图床链接写进公开仓库。
|
|
80
|
+
- 拿不到真实基线时,在 PR / MR 描述和 `--reply` 里如实说明缺什么、为什么缺,本轮用 `blocked` 或 `progress` 上报,**不要报 `ready`** 说这个 UI 改动已完成。
|
|
81
|
+
- 报 `ready` 前确认 PR 描述里的图片链接能打开、Before / After 都能看到;`--reply` 里说明对比证据放在 PR 的哪一段。
|
|
82
|
+
- 上报时用 `--ui-change` 声明本次改动是否涉及 UI:`--ui-change` 或 `--ui-change true` 表示改了 UI,`--ui-change false` 表示没改。不声明时 Router 会按改动文件路径推断。
|
|
83
|
+
- Router 可能开启 UI 证据门禁(`worker.evidence.ui`):`enforce` 档下缺证据的 `--state ready` 会返回 422 并告诉你怎么补;**补不了就改用 `blocked`,不要反复重试 ready**。`warn` 档只记日志,不会拦。
|
|
84
|
+
|
|
85
|
+
截图方法:
|
|
86
|
+
|
|
87
|
+
1. 优先用仓库自带的启动、预览与截图脚本(看 README、`package.json`、`AGENTS.md`)。
|
|
88
|
+
2. 没有现成脚本时,启动本地开发 / 预览服务,用 Playwright 截图(首次使用先 `npx playwright install chromium`):
|
|
89
|
+
```bash
|
|
90
|
+
npx playwright screenshot --viewport-size=1440,900 --wait-for-timeout=2000 http://localhost:3000/page before.png
|
|
91
|
+
```
|
|
92
|
+
3. **动手前先在未改动状态(起始分支)截 Before**,改完后在同一环境截 After;中途切换过分支就重启 dev server,确认截到的是对应版本的代码。
|
|
93
|
+
4. 截图前确认页面已真正加载完成:白屏、加载中骨架、404 / 500 页面都不算证据。
|
|
94
|
+
|
|
95
|
+
## 收到追问(Router 投递的新输入)
|
|
96
|
+
|
|
97
|
+
Router 会把发起人的新消息投递给你,格式是:
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
【Router 输入 in_xxxxx】
|
|
101
|
+
用户的追问内容……
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
处理追问时:
|
|
105
|
+
|
|
106
|
+
1. 记下 `【Router 输入 ...】` 里的 id。
|
|
107
|
+
2. 回答完(或这一轮告一段落)必须再执行一次 `ra report`,不要只在终端里作答。
|
|
108
|
+
3. 回答内容放进 `--reply`,`--state` 用 `ready`(答完了)或 `progress`(还要继续做)。
|
|
109
|
+
4. 用 `--ack in_xxxxx` 确认已读。
|
|
110
|
+
|
|
111
|
+
> **Router 只认 `ra report`,看不到你的终端输出。** 在终端里说了但没上报,等于用户什么都没收到;
|
|
112
|
+
> 不上报 `--ack`,同一条追问会被反复投递给你。
|
|
113
|
+
|
|
114
|
+
## 硬约束
|
|
115
|
+
|
|
116
|
+
- 不要直接给飞书发消息;需要沉淀文档时用 `ra doc`。
|
|
117
|
+
- 不要修改本工单授权范围之外的模块。
|
|
118
|
+
- 每轮结束前必须上报;不报视为本轮没有交付。
|
|
119
|
+
- **只写 summary 不写 reply 视为交付不完整**:用户只会看到一句摘要,拿不到你的结论。
|
|
120
|
+
- **改了 UI 却没在 PR / MR 描述里给出 Before / After 对比,不能报 `ready`**。
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Attachment, Ticket } from '@router-agent/core/model.js';
|
|
2
|
+
export interface WorkerPromptInput {
|
|
3
|
+
ticket: Ticket;
|
|
4
|
+
mandateScope: string;
|
|
5
|
+
statePath: string;
|
|
6
|
+
eventsPath: string;
|
|
7
|
+
repo: string;
|
|
8
|
+
/** worktree 的起始分支(base branch)。 */
|
|
9
|
+
branch?: string;
|
|
10
|
+
/** worktree 自己的工作分支(语义化命名)。 */
|
|
11
|
+
workBranch?: string;
|
|
12
|
+
workdir?: string;
|
|
13
|
+
/** 发起人随消息发来的原始附件;默认取工单上的 attachments。 */
|
|
14
|
+
attachments?: Attachment[];
|
|
15
|
+
/** 状态目录;传入后优先读 `<home>/specs/worker/` 下的覆盖文件。 */
|
|
16
|
+
home?: string;
|
|
17
|
+
}
|
|
18
|
+
/** 注入给 worker 的完整手册。 */
|
|
19
|
+
export declare function buildWorkerPrompt(input: WorkerPromptInput): string;
|
|
20
|
+
/** 运行时中立的工单契约:Claude CLI / Codex 等非 Orca 运行时使用。 */
|
|
21
|
+
export interface WorkerContractInput {
|
|
22
|
+
ticketId: string;
|
|
23
|
+
title: string;
|
|
24
|
+
scope: string;
|
|
25
|
+
repo: string;
|
|
26
|
+
branch?: string;
|
|
27
|
+
workBranch?: string;
|
|
28
|
+
workdir?: string;
|
|
29
|
+
statePath: string;
|
|
30
|
+
eventsPath: string;
|
|
31
|
+
attachments?: Attachment[];
|
|
32
|
+
/** 状态目录;传入后优先读 `<home>/specs/worker/` 下的覆盖文件。 */
|
|
33
|
+
home?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function buildNeutralContract(input: WorkerContractInput): string;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { readWorkerSpec } from './reader.js';
|
|
2
|
+
/** 注入给 worker 的完整手册。 */
|
|
3
|
+
export function buildWorkerPrompt(input) {
|
|
4
|
+
return renderWorkerPrompt(input);
|
|
5
|
+
}
|
|
6
|
+
function renderWorkerPrompt(input) {
|
|
7
|
+
const template = readWorkerSpec(input.home, 'prompt-mode.md');
|
|
8
|
+
return render(template, {
|
|
9
|
+
ticketId: input.ticket.id,
|
|
10
|
+
title: input.ticket.title,
|
|
11
|
+
scope: input.mandateScope,
|
|
12
|
+
statePath: input.statePath,
|
|
13
|
+
eventsPath: input.eventsPath,
|
|
14
|
+
repo: input.repo,
|
|
15
|
+
branch: input.branch ?? input.ticket.branch ?? '(仓库默认分支)',
|
|
16
|
+
workBranch: input.workBranch ?? `ra/${input.ticket.id}`,
|
|
17
|
+
workdir: input.workdir ?? '(由 Orca 决定)',
|
|
18
|
+
attachments: attachmentsSection(input.attachments ?? input.ticket.attachments ?? []),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export function buildNeutralContract(input) {
|
|
22
|
+
return renderNeutralContract(input);
|
|
23
|
+
}
|
|
24
|
+
function renderNeutralContract(input) {
|
|
25
|
+
const template = readWorkerSpec(input.home, 'contract.md');
|
|
26
|
+
return render(template, {
|
|
27
|
+
ticketId: input.ticketId,
|
|
28
|
+
title: input.title,
|
|
29
|
+
scope: input.scope,
|
|
30
|
+
repo: input.repo,
|
|
31
|
+
branch: input.branch ?? '(仓库默认分支)',
|
|
32
|
+
workBranch: input.workBranch ?? `ra/${input.ticketId}`,
|
|
33
|
+
workdir: input.workdir ?? '(由运行时决定)',
|
|
34
|
+
statePath: input.statePath,
|
|
35
|
+
eventsPath: input.eventsPath,
|
|
36
|
+
attachments: attachmentsSection(input.attachments ?? []),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* 原始附件段:把 Router 落盘的本地路径交给 Worker,让它直接看原图。
|
|
41
|
+
* 没有附件时返回空字符串,模板里对应位置自然留空。
|
|
42
|
+
*/
|
|
43
|
+
function attachmentsSection(attachments) {
|
|
44
|
+
if (attachments.length === 0)
|
|
45
|
+
return '';
|
|
46
|
+
const lines = attachments.map(item => `- \`${item.path}\`${item.quoted ? '(引用消息里的图片)' : ''}`);
|
|
47
|
+
return [
|
|
48
|
+
'## 附件图片(原图)',
|
|
49
|
+
'',
|
|
50
|
+
'发起人随消息发来了原始图片,Router 已落盘到本机。请直接用你的读图工具查看原图,',
|
|
51
|
+
'不要只依赖 Router 的文字转写;图片里的细节以原图为准。',
|
|
52
|
+
'',
|
|
53
|
+
...lines,
|
|
54
|
+
].join('\n');
|
|
55
|
+
}
|
|
56
|
+
function render(template, vars) {
|
|
57
|
+
return template.replace(/\{\{(\w+)\}\}/g, (_m, key) => vars[key] ?? '');
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/runtime/src/spec/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAmB5C,wBAAwB;AACxB,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAwB;IAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;IAC7D,OAAO,MAAM,CAAC,QAAQ,EAAE;QACtB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;QACzB,KAAK,EAAE,KAAK,CAAC,YAAY;QACzB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,UAAU;QACzD,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE;QACvD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,aAAa;QACvC,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;KACrF,CAAC,CAAA;AACJ,CAAC;AAkBD,MAAM,UAAU,oBAAoB,CAAC,KAA0B;IAC7D,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA0B;IACvD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IAC1D,OAAO,MAAM,CAAC,QAAQ,EAAE;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,UAAU;QAClC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM,KAAK,CAAC,QAAQ,EAAE;QACtD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,UAAU;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;KACzD,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,WAAyB;IACnD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7F,OAAO;QACL,aAAa;QACb,EAAE;QACF,6CAA6C;QAC7C,iCAAiC;QACjC,EAAE;QACF,GAAG,KAAK;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,MAAM,CAAC,QAAgB,EAAE,IAA4B;IAC5D,OAAO,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;AACjF,CAAC"}
|