@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.
Files changed (124) hide show
  1. package/dist/agents/claude.d.ts +51 -0
  2. package/dist/agents/claude.js +270 -0
  3. package/dist/agents/claude.js.map +1 -0
  4. package/dist/agents/codex.d.ts +36 -0
  5. package/dist/agents/codex.js +292 -0
  6. package/dist/agents/codex.js.map +1 -0
  7. package/dist/agents/profile.d.ts +39 -0
  8. package/dist/agents/profile.js +2 -0
  9. package/dist/agents/profile.js.map +1 -0
  10. package/dist/agents/registry.d.ts +21 -0
  11. package/dist/agents/registry.js +78 -0
  12. package/dist/agents/registry.js.map +1 -0
  13. package/dist/errors.d.ts +4 -0
  14. package/dist/errors.js +9 -0
  15. package/dist/errors.js.map +1 -0
  16. package/dist/evidence-gate.d.ts +78 -0
  17. package/dist/evidence-gate.js +196 -0
  18. package/dist/evidence-gate.js.map +1 -0
  19. package/dist/index.d.ts +22 -0
  20. package/dist/index.js +21 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/naming.d.ts +23 -0
  23. package/dist/naming.js +40 -0
  24. package/dist/naming.js.map +1 -0
  25. package/dist/orca/commands.js +60 -0
  26. package/dist/orca/commands.js.map +1 -0
  27. package/dist/orca/index.js +452 -0
  28. package/dist/orca/index.js.map +1 -0
  29. package/dist/orca/options.js +33 -0
  30. package/dist/orca/options.js.map +1 -0
  31. package/dist/orca/report-poller.js +143 -0
  32. package/dist/orca/report-poller.js.map +1 -0
  33. package/dist/permissions/acp.d.ts +21 -0
  34. package/dist/permissions/acp.js +73 -0
  35. package/dist/permissions/acp.js.map +1 -0
  36. package/dist/permissions.d.ts +1 -0
  37. package/dist/permissions.js +2 -0
  38. package/dist/permissions.js.map +1 -0
  39. package/dist/plugins/loader.d.ts +46 -0
  40. package/dist/plugins/loader.js +117 -0
  41. package/dist/plugins/loader.js.map +1 -0
  42. package/dist/plugins/types.d.ts +52 -0
  43. package/dist/plugins/types.js +2 -0
  44. package/dist/plugins/types.js.map +1 -0
  45. package/dist/port.d.ts +295 -0
  46. package/dist/port.js +17 -0
  47. package/dist/port.js.map +1 -0
  48. package/dist/registry.d.ts +13 -0
  49. package/dist/registry.js +35 -0
  50. package/dist/registry.js.map +1 -0
  51. package/dist/report-poller.d.ts +58 -0
  52. package/dist/report-poller.js +130 -0
  53. package/dist/report-poller.js.map +1 -0
  54. package/dist/resume.d.ts +52 -0
  55. package/dist/resume.js +109 -0
  56. package/dist/resume.js.map +1 -0
  57. package/dist/runtimes/acp/admin.js +470 -0
  58. package/dist/runtimes/acp/admin.js.map +1 -0
  59. package/dist/runtimes/acp/agents.js +167 -0
  60. package/dist/runtimes/acp/agents.js.map +1 -0
  61. package/dist/runtimes/acp/detect.js +379 -0
  62. package/dist/runtimes/acp/detect.js.map +1 -0
  63. package/dist/runtimes/acp/index.js +633 -0
  64. package/dist/runtimes/acp/index.js.map +1 -0
  65. package/dist/runtimes/acp/install.js +264 -0
  66. package/dist/runtimes/acp/install.js.map +1 -0
  67. package/dist/runtimes/acp/permissions.js +83 -0
  68. package/dist/runtimes/acp/permissions.js.map +1 -0
  69. package/dist/runtimes/acp/protocol.js +207 -0
  70. package/dist/runtimes/acp/protocol.js.map +1 -0
  71. package/dist/runtimes/acp-agents.d.ts +85 -0
  72. package/dist/runtimes/acp-agents.js +167 -0
  73. package/dist/runtimes/acp-agents.js.map +1 -0
  74. package/dist/runtimes/acp-detect-utils.d.ts +4 -0
  75. package/dist/runtimes/acp-detect-utils.js +35 -0
  76. package/dist/runtimes/acp-detect-utils.js.map +1 -0
  77. package/dist/runtimes/builtin-options.d.ts +3 -0
  78. package/dist/runtimes/builtin-options.js +44 -0
  79. package/dist/runtimes/builtin-options.js.map +1 -0
  80. package/dist/runtimes/catalog.d.ts +31 -0
  81. package/dist/runtimes/catalog.js +75 -0
  82. package/dist/runtimes/catalog.js.map +1 -0
  83. package/dist/runtimes/claude-code/index.js +544 -0
  84. package/dist/runtimes/claude-code/index.js.map +1 -0
  85. package/dist/runtimes/claude-code/inject.js +71 -0
  86. package/dist/runtimes/claude-code/inject.js.map +1 -0
  87. package/dist/runtimes/codex/client.js +203 -0
  88. package/dist/runtimes/codex/client.js.map +1 -0
  89. package/dist/runtimes/codex/detect.js +240 -0
  90. package/dist/runtimes/codex/detect.js.map +1 -0
  91. package/dist/runtimes/codex/index.js +1066 -0
  92. package/dist/runtimes/codex/index.js.map +1 -0
  93. package/dist/runtimes/herdr/agents.js +38 -0
  94. package/dist/runtimes/herdr/agents.js.map +1 -0
  95. package/dist/runtimes/herdr/commands.js +68 -0
  96. package/dist/runtimes/herdr/commands.js.map +1 -0
  97. package/dist/runtimes/herdr/index.js +712 -0
  98. package/dist/runtimes/herdr/index.js.map +1 -0
  99. package/dist/runtimes/herdr/options.js +29 -0
  100. package/dist/runtimes/herdr/options.js.map +1 -0
  101. package/dist/runtimes/herdr/server.js +75 -0
  102. package/dist/runtimes/herdr/server.js.map +1 -0
  103. package/dist/runtimes/options.d.ts +60 -0
  104. package/dist/runtimes/options.js +89 -0
  105. package/dist/runtimes/options.js.map +1 -0
  106. package/dist/spec/contract.md +120 -0
  107. package/dist/spec/index.d.ts +35 -0
  108. package/dist/spec/index.js +59 -0
  109. package/dist/spec/index.js.map +1 -0
  110. package/dist/spec/prompt-mode.md +176 -0
  111. package/dist/spec/reader.d.ts +5 -0
  112. package/dist/spec/reader.js +32 -0
  113. package/dist/spec/reader.js.map +1 -0
  114. package/dist/status.d.ts +8 -0
  115. package/dist/status.js +22 -0
  116. package/dist/status.js.map +1 -0
  117. package/dist/workspaces/git-worktree.d.ts +44 -0
  118. package/dist/workspaces/git-worktree.js +183 -0
  119. package/dist/workspaces/git-worktree.js.map +1 -0
  120. package/dist/workspaces/overview.d.ts +66 -0
  121. package/dist/workspaces/overview.js +12 -0
  122. package/dist/workspaces/overview.js.map +1 -0
  123. package/package.json +36 -4
  124. 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":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AA6B5C;;;;;GAKG;AACH,MAAM,YAAY,GAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IACrD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;IACnE,KAAK,CAAC,KAAK,EAAE,CAAA;AACf,CAAC,CAAA;AAED,qBAAqB;AACrB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAqB;IAC1D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAA;IAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;IACpF,CAAC;IACD,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;IACnE,OAAO;QACL,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;KACpD,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAA8B;IACpE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACpG,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,YAAY,CAAA;IAC5C,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACpF,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAA;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAA;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;IACvC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;QACnB,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QAC7F,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,kBAAkB,SAAS,6BAA6B;KACjE,CAAA;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACxD,CAAC"}
@@ -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"}