@qing3a/flow-rpa-app 0.1.0 → 0.2.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/dist/cli.d.ts CHANGED
@@ -24,6 +24,8 @@ export interface CliOptions {
24
24
  httpPort?: number;
25
25
  /** --http-token(可选认证) */
26
26
  httpToken?: string;
27
+ /** D3:工具面角色(owner 缺省 / hunter 裁剪集) */
28
+ role?: string;
27
29
  /** 位置参数(list / validate <path> / install-skill <dir>) */
28
30
  positionals?: string[];
29
31
  }
@@ -33,7 +35,7 @@ export declare function defaultDirs(): {
33
35
  dataDir: string;
34
36
  };
35
37
  export declare function parseCli(argv: string[]): CliOptions;
36
- /** 从 CLI 选项构造 RunConfig(含环境变量兜底) */
38
+ /** 从 CLI 选项构造 RunConfig(含环境变量兜底 + 平台配置持久化自动加载) */
37
39
  export declare function configFromCli(opts: CliOptions): RunConfig;
38
40
  /**
39
41
  * M11c D-K2:install-skill —— 拷贝引擎级 skill 到 Agent 平台的 skills 目录。
package/dist/cli.js CHANGED
@@ -5,7 +5,7 @@ import { join, dirname } from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
6
6
  import { parseFlow } from '@qing3a/flow-rpa-engine/src/validate.js';
7
7
  import { FlowRegistry } from './registry.js';
8
- import { defaultRunConfig } from './config.js';
8
+ import { defaultRunConfig, resolvePlatformConfig } from './config.js';
9
9
  /** D-N3:缺省目录(本地开发 → 仓库根;全局 → ~/.flow-rpa) */
10
10
  export function defaultDirs() {
11
11
  const home = process.env.FLOW_RPA_HOME;
@@ -34,6 +34,7 @@ export function parseCli(argv) {
34
34
  http: { type: 'boolean', default: false },
35
35
  'http-port': { type: 'string' },
36
36
  'http-token': { type: 'string' },
37
+ role: { type: 'string' },
37
38
  },
38
39
  allowPositionals: true,
39
40
  strict: false,
@@ -51,18 +52,26 @@ export function parseCli(argv) {
51
52
  http: values.http === true,
52
53
  httpPort: str(values['http-port']) !== undefined ? Number(str(values['http-port'])) : undefined,
53
54
  httpToken: str(values['http-token']),
55
+ role: str(values.role),
54
56
  positionals,
55
57
  };
56
58
  }
57
- /** 从 CLI 选项构造 RunConfig(含环境变量兜底) */
59
+ /** 从 CLI 选项构造 RunConfig(含环境变量兜底 + 平台配置持久化自动加载) */
58
60
  export function configFromCli(opts) {
59
61
  const config = defaultRunConfig(opts.dataDir, opts.mock);
60
62
  if (opts.cdpPort !== undefined && !Number.isNaN(opts.cdpPort))
61
63
  config.cdpPort = opts.cdpPort;
62
64
  if (opts.edgePath !== undefined && opts.edgePath.length > 0)
63
65
  config.edgePath = opts.edgePath;
64
- config.platformUrl = opts.platformUrl ?? process.env.FLOW_PLATFORM_URL ?? '';
65
- config.platformToken = opts.platformToken ?? process.env.FLOW_PLATFORM_TOKEN ?? '';
66
+ // 平台配置:CLI/env 显式提供(并自动持久化)> data/platform.json 自动加载
67
+ const explicitUrl = opts.platformUrl ?? process.env.FLOW_PLATFORM_URL ?? '';
68
+ const explicitToken = opts.platformToken ?? process.env.FLOW_PLATFORM_TOKEN ?? '';
69
+ const resolved = resolvePlatformConfig(opts.dataDir, explicitUrl, explicitToken);
70
+ config.platformUrl = resolved.url;
71
+ config.platformToken = resolved.token;
72
+ // D3 角色:hunter 裁剪工具面;其它值(含缺省)→ owner(向后兼容)
73
+ if (opts.role === 'hunter')
74
+ config.role = 'hunter';
66
75
  return config;
67
76
  }
68
77
  /**
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -2,6 +2,8 @@ import { type SimProfile } from '@qing3a/flow-rpa-engine/src/simprofile.js';
2
2
  /**
3
3
  * 运行配置(浏览器/驱动选择;移植 Rust `server.rs` RunConfig)。
4
4
  */
5
+ /** 工具面角色(D3:owner 全量 12 工具;hunter 裁剪集,ARCHITECTURE #10 红线 4 代码化) */
6
+ export type ToolRole = 'owner' | 'hunter';
5
7
  export interface RunConfig {
6
8
  /** CDP 调试端口 */
7
9
  cdpPort: number;
@@ -17,8 +19,28 @@ export interface RunConfig {
17
19
  platformUrl: string;
18
20
  /** md-forge 共享令牌 */
19
21
  platformToken: string;
22
+ /** 工具面角色(D3;owner 缺省) */
23
+ role: ToolRole;
20
24
  }
21
25
  /** 探测本机 Edge 可执行文件(Windows 常见安装路径) */
22
26
  export declare function defaultEdgePath(): string;
23
27
  /** 默认配置:真实浏览器驱动,profile 与 sim 参数在 data 目录 */
24
28
  export declare function defaultRunConfig(dataDir: string, mock: boolean): RunConfig;
29
+ export interface PlatformConfig {
30
+ url: string;
31
+ token: string;
32
+ }
33
+ /** data/platform.json 路径 */
34
+ export declare function platformConfigFile(dataDir: string): string;
35
+ /** 读取持久化平台配置(文件不存在 → undefined) */
36
+ export declare function loadPlatformConfig(dataDir: string): PlatformConfig | undefined;
37
+ /** 保存平台配置(token 本地明文;data/ 目录 gitignore,文档注明) */
38
+ export declare function savePlatformConfig(dataDir: string, url: string, token: string): void;
39
+ /**
40
+ * 平台配置解析(优先级:CLI/env 显式提供 > 持久化 data/platform.json)。
41
+ * 显式提供且与持久化不同 → 自动持久化(下次启动免参,即「自动被 flow-rpa 注册」的配置面)。
42
+ */
43
+ export declare function resolvePlatformConfig(dataDir: string, explicitUrl: string, explicitToken: string): {
44
+ url: string;
45
+ token: string;
46
+ };
package/dist/config.js CHANGED
@@ -1,4 +1,4 @@
1
- import { existsSync } from 'node:fs';
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { CDP_PORT } from '@qing3a/flow-rpa-engine/src/cdp/client.js';
4
4
  import { defaultProfileFile, loadSimProfile } from '@qing3a/flow-rpa-engine/src/simprofile.js';
@@ -23,6 +23,47 @@ export function defaultRunConfig(dataDir, mock) {
23
23
  simProfile: loadSimProfile(defaultProfileFile(dataDir)).profile,
24
24
  platformUrl: '',
25
25
  platformToken: '',
26
+ role: 'owner',
26
27
  };
27
28
  }
29
+ /** data/platform.json 路径 */
30
+ export function platformConfigFile(dataDir) {
31
+ return join(dataDir, 'platform.json');
32
+ }
33
+ /** 读取持久化平台配置(文件不存在 → undefined) */
34
+ export function loadPlatformConfig(dataDir) {
35
+ const file = platformConfigFile(dataDir);
36
+ try {
37
+ const v = JSON.parse(readFileSync(file, 'utf8'));
38
+ if (typeof v.url === 'string' && v.url.length > 0 && typeof v.token === 'string' && v.token.length > 0) {
39
+ return { url: v.url, token: v.token };
40
+ }
41
+ }
42
+ catch {
43
+ // 文件缺失/损坏 → 未配置
44
+ }
45
+ return undefined;
46
+ }
47
+ /** 保存平台配置(token 本地明文;data/ 目录 gitignore,文档注明) */
48
+ export function savePlatformConfig(dataDir, url, token) {
49
+ mkdirSync(dataDir, { recursive: true });
50
+ writeFileSync(platformConfigFile(dataDir), JSON.stringify({ url, token, savedAt: new Date().toISOString() }, null, 2), 'utf8');
51
+ }
52
+ /**
53
+ * 平台配置解析(优先级:CLI/env 显式提供 > 持久化 data/platform.json)。
54
+ * 显式提供且与持久化不同 → 自动持久化(下次启动免参,即「自动被 flow-rpa 注册」的配置面)。
55
+ */
56
+ export function resolvePlatformConfig(dataDir, explicitUrl, explicitToken) {
57
+ if (explicitUrl.length > 0 && explicitToken.length > 0) {
58
+ const saved = loadPlatformConfig(dataDir);
59
+ if (!saved || saved.url !== explicitUrl || saved.token !== explicitToken) {
60
+ savePlatformConfig(dataDir, explicitUrl, explicitToken);
61
+ }
62
+ return { url: explicitUrl, token: explicitToken };
63
+ }
64
+ const saved = loadPlatformConfig(dataDir);
65
+ if (saved)
66
+ return saved;
67
+ return { url: '', token: '' };
68
+ }
28
69
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAmB,MAAM,2CAA2C,CAAA;AAuB/G,sCAAsC;AACtC,MAAM,UAAU,eAAe;IAC7B,KAAK,MAAM,CAAC,IAAI;QACd,mEAAmE;QACnE,6DAA6D;KAC9D,EAAE,CAAC;QACF,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAa;IAC7D,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,eAAe,EAAE;QAC3B,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;QAC1C,IAAI;QACJ,UAAU,EAAE,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;QAC/D,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;KAClB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/http.js CHANGED
@@ -2,7 +2,7 @@ import { createServer } from 'node:http';
2
2
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
3
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
4
4
  import { acquireInstanceLock, releaseInstanceLock } from './runner.js';
5
- import { buildCtx, registerTools } from './server.js';
5
+ import { buildCtx, bootstrapPlatform, registerTools } from './server.js';
6
6
  import { collectStatus, renderStatusHtml } from './status.js';
7
7
  /**
8
8
  * M11d D-H1/D-H2/D-H3:--http 常驻模式(StreamableHTTPServerTransport)。
@@ -30,6 +30,8 @@ export async function serveHttp(opts) {
30
30
  }
31
31
  const port = opts.port ?? DEFAULT_HTTP_PORT;
32
32
  const ctx = buildCtx(opts.flowsDir, opts.dataDir, opts.config, 'http');
33
+ // 启动自动注册(平台已配置时:健康探测 + 自动补传待上传台账;不阻断启动)
34
+ void bootstrapPlatform(ctx).catch(() => undefined);
33
35
  const transports = new Set();
34
36
  let closed = false;
35
37
  const closeAll = async () => {
@@ -75,7 +77,7 @@ export async function serveHttp(opts) {
75
77
  transports.delete(transport);
76
78
  };
77
79
  const sessionServer = new Server({ name: 'flow-rpa', version: '0.1.0-ts' }, { capabilities: { tools: {} } });
78
- registerTools(sessionServer, ctx);
80
+ registerTools(sessionServer, ctx, ctx.config.role);
79
81
  // 收集 body(POST JSON-RPC)
80
82
  let body = undefined;
81
83
  if (req.method === 'POST') {
@@ -107,6 +109,12 @@ export async function serveHttp(opts) {
107
109
  process.on('SIGINT', shutdown);
108
110
  process.on('SIGTERM', shutdown);
109
111
  await new Promise((resolve) => {
112
+ // D1 fail-loud(USAGE-ISSUES #3):端口占用等 listen 错误必须明确报错退出,
113
+ // 不得静默失败(进程存活但服务不可达)
114
+ httpServer.on('error', (err) => {
115
+ console.error(`[flow-rpa] HTTP 服务启动失败(端口 ${port}): ${err.message}`);
116
+ void closeAll().then(() => process.exit(1));
117
+ });
110
118
  httpServer.listen(port, () => {
111
119
  const addr = httpServer.address();
112
120
  const actual = typeof addr === 'object' && addr !== null ? addr.port : port;
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAA;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAClG,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAmB,MAAM,aAAa,CAAA;AACzF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG7D;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAerC,oDAAoD;AACpD,SAAS,UAAU,CAAC,GAAoB,EAAE,KAAa;IACrD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAA;IAC5C,OAAO,IAAI,KAAK,UAAU,KAAK,EAAE,CAAA;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAsB;IACpD,sBAAsB;IACtB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,iBAAiB,CAAA;IAC3C,MAAM,GAAG,GAAe,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClF,wCAAwC;IACxC,KAAK,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAElD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAA;IAC3D,IAAI,MAAM,GAAG,KAAK,CAAA;IAElB,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;QACzC,IAAI,MAAM;YAAE,OAAM;QAClB,MAAM,GAAG,IAAI,CAAA;QACb,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC/E,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,yBAAyB;QACzB,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAA;YAC1D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;YAClD,OAAM;QACR,CAAC;QACD,wBAAwB;QACxB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAA;YAC1D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACzD,OAAM;QACR,CAAC;QACD,sCAAsC;QACtC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;YACvD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE,CAAC,CAAA;YACzE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1D,OAAM;QACR,CAAC;QACD,8BAA8B;QAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAA;YAClE,GAAG,CAAC,GAAG,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;YACpC,OAAM;QACR,CAAC;QACD,qDAAqD;QACrD,wEAAwE;QACxE,IAAI,GAAG,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE,CAAC;YAC1E,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;gBAClD,kBAAkB,EAAE,SAAS;aAC9B,CAAC,CAAA;YACF,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACzB,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;gBACvB,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC9B,CAAC,CAAA;YACD,MAAM,aAAa,GAAG,IAAI,MAAM,CAC9B,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,EACzC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAA;YACD,aAAa,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAClD,yBAAyB;YACzB,IAAI,IAAI,GAAY,SAAS,CAAA;YAC7B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,IAAI,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACpD,MAAM,MAAM,GAAa,EAAE,CAAA;oBAC3B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC7C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACjB,IAAI,CAAC;4BACH,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;wBAC7F,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,MAAM,CAAC,CAAC,CAAC,CAAA;wBACX,CAAC;oBACH,CAAC,CAAC,CAAA;oBACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBACzB,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACtC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC7C,OAAM;QACR,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAA;QACpD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,yCAAyC;IACzC,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,KAAK,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IAChD,CAAC,CAAA;IACD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAE/B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,yDAAyD;QACzD,qBAAqB;QACrB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7B,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YACnE,KAAK,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QACF,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,CAAA;YACjC,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;YAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAA;YACvB,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import { type Flow } from '@qing3a/flow-rpa-engine/src/validate.js';
2
+ import { type FlowPatch } from '@qing3a/flow-rpa-engine/src/schema.js';
2
3
  /**
3
4
  * FlowRegistry —— 流程注册表(移植 Rust `server.rs` FlowRegistry)。
4
5
  * 扫描 flows/ 目录下各子目录的 flow.json,缓存解析结果。
6
+ * D5(2026-08-26):加载 flow.json 后合并用户覆盖层 flow.patch.json
7
+ * (按 stepId 定向整行替换 verify/params;patch 语法错误 → 警告不阻断,D1 fail-loud 复用)。
5
8
  */
6
9
  /** 流程参数声明(D-R6;list_flows 返回,供 Agent 组装 vars) */
7
10
  export interface FlowInputDecl {
@@ -18,12 +21,18 @@ export interface FlowSummary {
18
21
  path: string;
19
22
  inputs: FlowInputDecl[];
20
23
  }
24
+ /** D5 整行替换合并:patch.steps[id].verify / params 整体替换原值(dsh 整行语义) */
25
+ export declare function applyPatch(flow: Flow, patch: FlowPatch | undefined): Flow;
21
26
  export declare class FlowRegistry {
22
27
  private readonly flowsDir;
23
- /** flow_id → 已解析的流程定义(缓存) */
28
+ /** flow_id → 已解析的流程定义(缓存;flow 为 patch 合并后的最终形态) */
24
29
  private cache;
30
+ /** 最近一次扫描的流程加载警告(坏 flow.json / 坏 patch 等;fail-loud 警告态,get_status 呈现) */
31
+ private _warnings;
25
32
  constructor(flowsDir: string);
26
- /** 扫描 flows/ 下各子目录的 flow.json */
33
+ /** 最近一次扫描的警告(D1 fail-loud:坏流程启动即呈现,不静默跳过) */
34
+ warnings(): string[];
35
+ /** 扫描 flows/ 下各子目录的 flow.json(含 D5 patch 合并) */
27
36
  list(): FlowSummary[];
28
37
  get(flowId: string): {
29
38
  version: number;
package/dist/registry.js CHANGED
@@ -1,15 +1,58 @@
1
1
  import { readdirSync, readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { parseFlow } from '@qing3a/flow-rpa-engine/src/validate.js';
4
+ import { FlowPatchSchema } from '@qing3a/flow-rpa-engine/src/schema.js';
5
+ /** 读取用户覆盖层(flows/<name>/flow.patch.json;不存在 → undefined;解析失败 → 警告信息 + undefined) */
6
+ function loadPatch(flowDir, name, warnings) {
7
+ const patchPath = join(flowDir, 'flow.patch.json');
8
+ let raw;
9
+ try {
10
+ raw = readFileSync(patchPath, 'utf8');
11
+ }
12
+ catch {
13
+ return undefined; // 无 patch(正常)
14
+ }
15
+ try {
16
+ return FlowPatchSchema.parse(JSON.parse(raw));
17
+ }
18
+ catch (e) {
19
+ // D5/D1:patch 语法错误 → 警告(不阻断,原 flow 生效)
20
+ warnings.push(`${name}/flow.patch.json 解析失败,已忽略 patch: ${e instanceof Error ? e.message : String(e)}`);
21
+ return undefined;
22
+ }
23
+ }
24
+ /** D5 整行替换合并:patch.steps[id].verify / params 整体替换原值(dsh 整行语义) */
25
+ export function applyPatch(flow, patch) {
26
+ if (!patch)
27
+ return flow;
28
+ const steps = flow.steps.map((s) => {
29
+ const p = patch.steps[s.id];
30
+ if (!p)
31
+ return s;
32
+ return {
33
+ ...s,
34
+ ...(p.verify !== undefined ? { verify: p.verify } : {}),
35
+ ...(p.params !== undefined ? { params: p.params } : {}),
36
+ };
37
+ });
38
+ return { ...flow, steps };
39
+ }
4
40
  export class FlowRegistry {
5
41
  flowsDir;
6
- /** flow_id → 已解析的流程定义(缓存) */
42
+ /** flow_id → 已解析的流程定义(缓存;flow 为 patch 合并后的最终形态) */
7
43
  cache = new Map();
44
+ /** 最近一次扫描的流程加载警告(坏 flow.json / 坏 patch 等;fail-loud 警告态,get_status 呈现) */
45
+ _warnings = [];
8
46
  constructor(flowsDir) {
9
47
  this.flowsDir = flowsDir;
10
48
  }
11
- /** 扫描 flows/ 下各子目录的 flow.json */
49
+ /** 最近一次扫描的警告(D1 fail-loud:坏流程启动即呈现,不静默跳过) */
50
+ warnings() {
51
+ return this._warnings;
52
+ }
53
+ /** 扫描 flows/ 下各子目录的 flow.json(含 D5 patch 合并) */
12
54
  list() {
55
+ this._warnings = [];
13
56
  const out = [];
14
57
  let entries;
15
58
  try {
@@ -21,7 +64,8 @@ export class FlowRegistry {
21
64
  return [];
22
65
  }
23
66
  for (const name of entries) {
24
- const flowPath = join(this.flowsDir, name, 'flow.json');
67
+ const flowDir = join(this.flowsDir, name);
68
+ const flowPath = join(flowDir, 'flow.json');
25
69
  let raw;
26
70
  try {
27
71
  raw = readFileSync(flowPath, 'utf8');
@@ -30,7 +74,7 @@ export class FlowRegistry {
30
74
  continue;
31
75
  }
32
76
  try {
33
- const flow = parseFlow(raw);
77
+ const flow = applyPatch(parseFlow(raw), loadPatch(flowDir, name, this._warnings));
34
78
  out.push({
35
79
  id: flow.id,
36
80
  name: flow.name,
@@ -44,8 +88,10 @@ export class FlowRegistry {
44
88
  });
45
89
  this.cache.set(flow.id, { version: flow.version, raw, flow });
46
90
  }
47
- catch {
48
- // 解析失败跳过(list 不报错)
91
+ catch (e) {
92
+ // D1:解析失败不静默跳过——收集警告(启动/状态页呈现),等 run_flow 才暴露太晚
93
+ this._warnings.push(`${name}/flow.json 解析失败: ${e instanceof Error ? e.message : String(e)}`);
94
+ continue;
49
95
  }
50
96
  }
51
97
  out.sort((a, b) => (a.id < b.id ? -1 : a.id > b.id ? 1 : 0));
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
package/dist/runner.d.ts CHANGED
@@ -19,15 +19,19 @@ import type { RunConfig } from './config.js';
19
19
  /** 运行结果(内存态;running 期间 get_run 从这读) */
20
20
  export interface RunFlowResult {
21
21
  runId: string;
22
- /** running / done / failed */
23
- status: 'running' | 'done' | 'failed';
22
+ /** running / done / failed / cancelled(D7:排队中任务可取消) */
23
+ status: 'running' | 'done' | 'failed' | 'cancelled';
24
24
  error?: string;
25
25
  perfNote?: string;
26
+ /** D7:发起者标识(run_flow owner 参数,缺省 'local') */
27
+ owner?: string;
26
28
  }
27
29
  export interface RunFlowArgs {
28
30
  flowId: string;
29
31
  vars: Record<string, string>;
30
32
  wait: boolean;
33
+ /** D7:发起者标识(agent/session;缺省 'local') */
34
+ owner?: string;
31
35
  }
32
36
  /** 执行上下文(runner 持有全部共享状态) */
33
37
  export interface ExecCtx {
@@ -41,7 +45,10 @@ export interface ExecCtx {
41
45
  perf: PerfGate;
42
46
  config: RunConfig;
43
47
  }
44
- /** 生成 run_id(r_<毫秒时间戳>) */
48
+ /**
49
+ * 生成 run_id:r_<pid 36进制>_<毫秒>_<随机hex> —— 实例标识 + 时间戳 + 随机段
50
+ * (ARCHITECTURE #11 命名空间原则:多实例 pid 不同、同进程同毫秒随机段兜底,观察身份不碰撞)
51
+ */
45
52
  export declare function newRunId(): string;
46
53
  /**
47
54
  * D-S1:DOM 快照采集并落盘(snapshots/<runId>.json)。
@@ -86,7 +93,12 @@ export declare class MockPage implements PageOps {
86
93
  /** mock 的 snapshotDom(D-S1 验收:mock 模式不采集 → 返回 undefined 语义由 executeRun 跳过处理) */
87
94
  snapshotDom(): Promise<DomSnapshot>;
88
95
  }
89
- /** 同步执行一个 run(构造驱动 → 解释执行 → 落盘 → 更新运行状态) */
96
+ /**
97
+ * 自动上报(自动注册闭环):平台已配置时,run 结束后自动 deliver + 上传观察包到 md-forge。
98
+ * 失败记台账 Failed(sync_pending_uploads / 启动 bootstrap 可重试);平台未配置 → 零开销 no-op。
99
+ */
100
+ export declare function autoUploadRun(ctx: ExecCtx, runId: string): Promise<void>;
101
+ /** 同步执行一个 run(构造驱动 → 解释执行 → 落盘 → 自动上报 → 更新运行状态) */
90
102
  export declare function executeRun(ctx: ExecCtx, args: RunFlowArgs, runId: string): Promise<RunFlowResult>;
91
103
  /** 流程的目标站点 host(取首个 navigate 步骤的 url;无 navigate 返回 undefined —— 不节流 mock) */
92
104
  export declare function flowHost(ctx: ExecCtx, flowId: string): string | undefined;
@@ -94,7 +106,14 @@ export declare function flowHost(ctx: ExecCtx, flowId: string): string | undefin
94
106
  export declare function queueState(): {
95
107
  running: boolean;
96
108
  pending: number;
109
+ runningRunId?: string;
110
+ runningOwner?: string;
97
111
  };
112
+ /**
113
+ * D7 取消排队中的任务(执行中任务不支持——页面层 abort 留待阶段 4 后)。
114
+ * 返回结果文案(MCP 工具直接透传)。
115
+ */
116
+ export declare function cancelRun(ctx: ExecCtx, runId: string): string;
98
117
  /**
99
118
  * 启动异步 run:入串行 FIFO 队列。
100
119
  * wait=false → 立即返回 running(排队/后台执行);wait=true → 队列空闲则同步执行完返回,
package/dist/runner.js CHANGED
@@ -1,17 +1,22 @@
1
+ import { randomBytes } from 'node:crypto';
1
2
  import { existsSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
2
3
  import { join } from 'node:path';
3
4
  import { ExecError, runFlow } from '@qing3a/flow-rpa-engine/src/executor.js';
4
5
  import { snapshotFromText } from '@qing3a/flow-rpa-engine/src/export.js';
5
6
  import { fromFlowResult } from '@qing3a/flow-rpa-engine/src/record.js';
6
7
  import { learnFromRun, SuggestionStore } from '@qing3a/flow-rpa-engine/src/learning.js';
7
- import { nowIso, RunStore } from '@qing3a/flow-rpa-engine/src/storage.js';
8
+ import { nowIso, RunStore, extractSink } from '@qing3a/flow-rpa-engine/src/storage.js';
8
9
  import { LocalPlatform } from '@qing3a/flow-rpa-engine/src/export.js';
9
10
  import { PerfGate } from '@qing3a/flow-rpa-engine/src/bench.js';
10
11
  import { CooldownGate, hostOf, SiteGate } from '@qing3a/flow-rpa-engine/src/gate.js';
12
+ import { PlatformClient } from '@qing3a/flow-rpa-engine/src/platform.js';
11
13
  import { FlowRegistry } from './registry.js';
12
- /** 生成 run_id(r_<毫秒时间戳>) */
14
+ /**
15
+ * 生成 run_id:r_<pid 36进制>_<毫秒>_<随机hex> —— 实例标识 + 时间戳 + 随机段
16
+ * (ARCHITECTURE #11 命名空间原则:多实例 pid 不同、同进程同毫秒随机段兜底,观察身份不碰撞)
17
+ */
13
18
  export function newRunId() {
14
- return `r_${Date.now()}`;
19
+ return `r_${process.pid.toString(36)}_${Date.now()}_${randomBytes(2).toString('hex')}`;
15
20
  }
16
21
  /**
17
22
  * D-S1:DOM 快照采集并落盘(snapshots/<runId>.json)。
@@ -104,7 +109,34 @@ export class MockPage {
104
109
  return snapshotFromText(this.url);
105
110
  }
106
111
  }
107
- /** 同步执行一个 run(构造驱动 → 解释执行 → 落盘 → 更新运行状态) */
112
+ /**
113
+ * 自动上报(自动注册闭环):平台已配置时,run 结束后自动 deliver + 上传观察包到 md-forge。
114
+ * 失败记台账 Failed(sync_pending_uploads / 启动 bootstrap 可重试);平台未配置 → 零开销 no-op。
115
+ */
116
+ export async function autoUploadRun(ctx, runId) {
117
+ if (ctx.config.platformUrl.length === 0)
118
+ return;
119
+ const rec = ctx.store.loadRun(runId);
120
+ if (!rec)
121
+ return;
122
+ const allRuns = ctx.store
123
+ .listRunIds()
124
+ .map((id) => ctx.store.loadRun(id))
125
+ .filter((r) => !!r && r.flowId === rec.flowId);
126
+ try {
127
+ const snapshot = ctx.store.loadSnapshot(runId);
128
+ const dir = ctx.platform.deliver(rec, allRuns, undefined, snapshot);
129
+ const client = new PlatformClient(ctx.config.platformUrl, ctx.config.platformToken);
130
+ const up = await client.uploadObservation(dir);
131
+ ctx.store.markUploaded(runId, true);
132
+ console.log(`[flow-rpa] 观察已自动上报: ${up.dir}(${up.status})`);
133
+ }
134
+ catch (e) {
135
+ ctx.store.markUploaded(runId, false, e instanceof Error ? e.message : String(e));
136
+ console.log(`[flow-rpa] 观察自动上报失败(台账 Failed,可重试): ${e instanceof Error ? e.message : String(e)}`);
137
+ }
138
+ }
139
+ /** 同步执行一个 run(构造驱动 → 解释执行 → 落盘 → 自动上报 → 更新运行状态) */
108
140
  export async function executeRun(ctx, args, runId) {
109
141
  const cached = ctx.registry.get(args.flowId);
110
142
  if (!cached) {
@@ -130,7 +162,8 @@ export async function executeRun(ctx, args, runId) {
130
162
  setEnvCheck.call(page, flow.envCheck);
131
163
  }
132
164
  // 变量插值:vars 原样传执行器({keyword} 等由执行器插值;等价 Rust run_flow(&flow, &mut page, &args.vars))
133
- const result = await runFlow(flow, page, args.vars);
165
+ // D-E2 接线(USAGE-ISSUES #10):注入 ExtractSink,save:true extract 落盘 extracted/<runId>/<stepId>.json
166
+ const result = await runFlow(flow, page, args.vars, { sink: extractSink(ctx.store), runId });
134
167
  // D-S1:DOM 快照采集(真实浏览器分支;finalize 可能已关 tab → 捕获异常,失败不阻断 run 落盘)
135
168
  if (!ctx.config.mock) {
136
169
  await captureSnapshot(ctx, page, runId);
@@ -145,7 +178,7 @@ export async function executeRun(ctx, args, runId) {
145
178
  }
146
179
  }
147
180
  keywords.push(...Object.values(args.vars));
148
- const rec = fromFlowResult(runId, flow.id, version, result, nowIso(), keywords);
181
+ const rec = fromFlowResult(runId, flow.id, version, result, nowIso(), keywords, args.owner);
149
182
  ctx.store.saveRun(rec); // 落盘失败不阻断
150
183
  // L2 学习:执行记录 → 结构化信号 → 改进建议
151
184
  learnFromRun(rec, ctx.suggestions);
@@ -157,6 +190,7 @@ export async function executeRun(ctx, args, runId) {
157
190
  status: result.status,
158
191
  error: result.error,
159
192
  perfNote: perfCheck.message,
193
+ owner: args.owner,
160
194
  };
161
195
  ctx.runs.set(runId, r);
162
196
  // D-C2(M5 半成品 #3 接通):run 结束后对带 cooldownKey 的步骤记账(key=flow#step#coolKey)
@@ -165,6 +199,8 @@ export async function executeRun(ctx, args, runId) {
165
199
  ctx.coolGate.record(`${flow.id}#${step.stepId}#${step.cooldownKey}`);
166
200
  }
167
201
  }
202
+ // 自动上报(自动注册闭环):平台已配置时 run 结束即上传观察包(失败进台账可重试)
203
+ await autoUploadRun(ctx, runId);
168
204
  return r;
169
205
  }
170
206
  /** 流程的目标站点 host(取首个 navigate 步骤的 url;无 navigate 返回 undefined —— 不节流 mock) */
@@ -182,7 +218,27 @@ export function flowHost(ctx, flowId) {
182
218
  const queue = { running: false, pending: [] };
183
219
  /** 队列当前状态(自描述聚合用 D-S1;只读) */
184
220
  export function queueState() {
185
- return { running: queue.running, pending: queue.pending.length };
221
+ return { running: queue.running, pending: queue.pending.length, runningRunId: queue.runningRunId, runningOwner: queue.runningOwner };
222
+ }
223
+ /**
224
+ * D7 取消排队中的任务(执行中任务不支持——页面层 abort 留待阶段 4 后)。
225
+ * 返回结果文案(MCP 工具直接透传)。
226
+ */
227
+ export function cancelRun(ctx, runId) {
228
+ const idx = queue.pending.findIndex((p) => p.runId === runId);
229
+ if (idx !== -1) {
230
+ queue.pending.splice(idx, 1);
231
+ ctx.runs.set(runId, { runId, status: 'cancelled', error: undefined, perfNote: undefined });
232
+ return `已取消排队任务: ${runId}`;
233
+ }
234
+ if (queue.runningRunId === runId) {
235
+ return `任务执行中(${runId}),暂不支持取消(页面层 abort 留待后续)`;
236
+ }
237
+ const mem = ctx.runs.get(runId);
238
+ if (mem) {
239
+ return `任务已结束(${mem.status}),无法取消: ${runId}`;
240
+ }
241
+ return `执行记录不存在: ${runId}`;
186
242
  }
187
243
  /**
188
244
  * 启动异步 run:入串行 FIFO 队列。
@@ -190,6 +246,7 @@ export function queueState() {
190
246
  * 队列忙则拒绝(failed「队列忙」)。
191
247
  */
192
248
  export async function spawnRun(ctx, args, runId) {
249
+ const owner = args.owner && args.owner.length > 0 ? args.owner : 'local';
193
250
  const runTask = async () => {
194
251
  await executeRun(ctx, args, runId);
195
252
  };
@@ -206,24 +263,30 @@ export async function spawnRun(ctx, args, runId) {
206
263
  }
207
264
  // 队列空闲 + wait:true → 同步执行完再返回(等价 Rust execute_run)
208
265
  queue.running = true;
266
+ queue.runningRunId = runId;
267
+ queue.runningOwner = owner;
209
268
  try {
210
269
  await runTask();
211
270
  return ctx.runs.get(runId);
212
271
  }
213
272
  finally {
214
273
  queue.running = false;
274
+ queue.runningRunId = undefined;
275
+ queue.runningOwner = undefined;
215
276
  }
216
277
  }
217
278
  // wait:false → 立即返回 running(排队/后台执行)
218
279
  if (!queue.running) {
219
280
  queue.running = true;
281
+ queue.runningRunId = runId;
282
+ queue.runningOwner = owner;
220
283
  void runTask().then(drainQueue);
221
284
  }
222
285
  else {
223
- queue.pending.push(runTask);
286
+ queue.pending.push({ runId, owner, task: runTask });
224
287
  }
225
- ctx.runs.set(runId, { runId, status: 'running', error: undefined, perfNote: undefined });
226
- return { runId, status: 'running', error: undefined, perfNote: undefined };
288
+ ctx.runs.set(runId, { runId, status: 'running', error: undefined, perfNote: undefined, owner });
289
+ return { runId, status: 'running', error: undefined, perfNote: undefined, owner };
227
290
  }
228
291
  async function drainQueue() {
229
292
  // 循环取出 pending 依次执行;队列空时置 running=false
@@ -231,9 +294,13 @@ async function drainQueue() {
231
294
  const next = queue.pending.shift();
232
295
  if (!next) {
233
296
  queue.running = false;
297
+ queue.runningRunId = undefined;
298
+ queue.runningOwner = undefined;
234
299
  return;
235
300
  }
236
- await next();
301
+ queue.runningRunId = next.runId;
302
+ queue.runningOwner = next.owner;
303
+ await next.task();
237
304
  }
238
305
  }
239
306
  // ---- 单实例锁(D-R2) ----
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -35,6 +35,17 @@ export interface FlowMcpCtx {
35
35
  }
36
36
  /** 构造执行上下文(供 serveStdio 与测试复用) */
37
37
  export declare function buildCtx(flowsDir: string, dataDir: string, config: RunConfig, mode?: 'stdio' | 'http'): FlowMcpCtx;
38
+ /** 重试待上传台账(Pending/Failed)的观察包;返回成功数与失败列表(sync_pending_uploads 与启动 bootstrap 共用) */
39
+ export declare function syncUploads(ctx: FlowMcpCtx): Promise<{
40
+ ok: number;
41
+ failed: string[];
42
+ }>;
43
+ /**
44
+ * 启动自动注册(bootstrap):平台已配置时,
45
+ * 1) 健康探测(连接状态记录到日志/状态)2) 自动补传待上传台账。
46
+ * 平台不可达不阻断引擎启动(注册状态由 get_status platform.connected 反映)。
47
+ */
48
+ export declare function bootstrapPlatform(ctx: FlowMcpCtx): Promise<void>;
38
49
  /** 工具定义表(name/description/inputSchema → handler) */
39
50
  interface ToolDef {
40
51
  name: string;
@@ -51,9 +62,11 @@ interface ToolDef {
51
62
  }>;
52
63
  }>;
53
64
  }
54
- export declare function buildTools(ctx: FlowMcpCtx): ToolDef[];
65
+ /** D3 角色裁剪(ARCHITECTURE #10 红线 4 代码化):hunter 只暴露流程执行与建议处置工具 */
66
+ export declare const HUNTER_TOOL_NAMES: readonly string[];
67
+ export declare function buildTools(ctx: FlowMcpCtx, role?: 'owner' | 'hunter'): ToolDef[];
55
68
  /** 注册全部工具(tools/list + tools/call 两个 handler,SDK 1.30 setRequestHandler) */
56
- export declare function registerTools(server: Server, ctx: FlowMcpCtx): void;
69
+ export declare function registerTools(server: Server, ctx: FlowMcpCtx, role?: 'owner' | 'hunter'): void;
57
70
  /** 启动 MCP server(stdio 传输)。阻塞直到连接结束(EOF)→ 优雅退出。 */
58
71
  export declare function serveStdio(flowsDir: string, dataDir: string, config: RunConfig): Promise<void>;
59
72
  export {};
package/dist/server.js CHANGED
@@ -12,7 +12,7 @@ import { SiteGate, CooldownGate } from '@qing3a/flow-rpa-engine/src/gate.js';
12
12
  import { PerfGate } from '@qing3a/flow-rpa-engine/src/bench.js';
13
13
  import { collectStatus } from './status.js';
14
14
  import { FlowRegistry } from './registry.js';
15
- import { acquireInstanceLock, flowHost, newRunId, releaseInstanceLock, spawnRun } from './runner.js';
15
+ import { acquireInstanceLock, cancelRun, flowHost, newRunId, releaseInstanceLock, spawnRun } from './runner.js';
16
16
  import { readFileSync } from 'node:fs';
17
17
  /** 构造执行上下文(供 serveStdio 与测试复用) */
18
18
  export function buildCtx(flowsDir, dataDir, config, mode = 'stdio') {
@@ -33,8 +33,69 @@ export function buildCtx(flowsDir, dataDir, config, mode = 'stdio') {
33
33
  function text(text) {
34
34
  return { content: [{ type: 'text', text }] };
35
35
  }
36
- export function buildTools(ctx) {
37
- return [
36
+ /** 重试待上传台账(Pending/Failed)的观察包;返回成功数与失败列表(sync_pending_uploads 与启动 bootstrap 共用) */
37
+ export async function syncUploads(ctx) {
38
+ const pending = ctx.platform.pending();
39
+ if (pending.length === 0)
40
+ return { ok: 0, failed: [] };
41
+ let ok = 0;
42
+ const failed = [];
43
+ for (const runId of pending) {
44
+ const rec = ctx.store.loadRun(runId);
45
+ if (!rec)
46
+ continue;
47
+ const allRuns = ctx.store
48
+ .listRunIds()
49
+ .map((id) => ctx.store.loadRun(id))
50
+ .filter((r) => !!r && r.flowId === rec.flowId);
51
+ try {
52
+ // 配置了平台地址 → 真实上传(快照优先用落盘快照,避免空 textSummary 被平台拒);否则本地模拟(deliver)
53
+ if (ctx.config.platformUrl.length > 0) {
54
+ const client = new PlatformClient(ctx.config.platformUrl, ctx.config.platformToken);
55
+ const dir = ctx.platform.deliver(rec, allRuns, undefined, ctx.store.loadSnapshot(runId));
56
+ await client.uploadObservation(dir);
57
+ ctx.store.markUploaded(runId, true);
58
+ }
59
+ else {
60
+ ctx.platform.deliver(rec, allRuns);
61
+ }
62
+ ok++;
63
+ }
64
+ catch (e) {
65
+ // deliver 已把台账标 uploaded(本地导出语义),真实上传失败必须回写 failed(台账诚实性)
66
+ ctx.store.markUploaded(runId, false, e instanceof Error ? e.message : String(e));
67
+ failed.push(`${runId}: ${e instanceof Error ? e.message : String(e)}`);
68
+ }
69
+ }
70
+ return { ok, failed };
71
+ }
72
+ /**
73
+ * 启动自动注册(bootstrap):平台已配置时,
74
+ * 1) 健康探测(连接状态记录到日志/状态)2) 自动补传待上传台账。
75
+ * 平台不可达不阻断引擎启动(注册状态由 get_status platform.connected 反映)。
76
+ */
77
+ export async function bootstrapPlatform(ctx) {
78
+ if (ctx.config.platformUrl.length === 0)
79
+ return;
80
+ const client = new PlatformClient(ctx.config.platformUrl, ctx.config.platformToken);
81
+ const connected = await client.health();
82
+ console.log(`[flow-rpa] 平台注册探测: ${connected ? '已连接' : '不可达'}(${ctx.config.platformUrl})` +
83
+ (connected ? '' : '——引擎正常启动,观察上传将记台账 Failed 待重试'));
84
+ const r = await syncUploads(ctx);
85
+ if (r.ok > 0 || r.failed.length > 0) {
86
+ console.log(`[flow-rpa] 启动自动补传: 成功 ${r.ok}${r.failed.length > 0 ? `,失败 ${r.failed.length}(${r.failed.join('; ')})` : ''}`);
87
+ }
88
+ }
89
+ /** D3 角色裁剪(ARCHITECTURE #10 红线 4 代码化):hunter 只暴露流程执行与建议处置工具 */
90
+ export const HUNTER_TOOL_NAMES = [
91
+ 'run_flow',
92
+ 'get_run',
93
+ 'list_suggestions',
94
+ 'apply_suggestion',
95
+ 'dismiss_suggestion',
96
+ ];
97
+ export function buildTools(ctx, role = 'owner') {
98
+ const all = [
38
99
  {
39
100
  name: 'list_flows',
40
101
  description: '列出 flow-rpa 中可用的流程定义(id/name/version + inputs 参数声明,供 Agent 组装 vars)。无参数。',
@@ -58,13 +119,14 @@ export function buildTools(ctx) {
58
119
  },
59
120
  {
60
121
  name: 'run_flow',
61
- description: '执行流程,异步返回 run_id(流程含 30~60s 冷却,同步会撞 MCP 超时)。vars 为 {keyword} 等变量;wait=true 时同步执行(仅调试)。同站任务间隔 ≥10 分钟(server 侧强制),不足则拒绝;串行队列,wait:true 且队列忙则拒绝。',
122
+ description: '执行流程,异步返回 run_id(流程含 30~60s 冷却,同步会撞 MCP 超时)。vars 为 {keyword} 等变量;wait=true 时同步执行(仅调试)。同站任务间隔 ≥10 分钟(server 侧强制),不足则拒绝;串行队列,wait:true 且队列忙则拒绝。owner 为发起者标识(D7,缺省 local;多 Agent 问责用)。',
62
123
  inputSchema: {
63
124
  type: 'object',
64
125
  properties: {
65
126
  flowId: { type: 'string', description: '流程 id(flow.json 的 id 字段)' },
66
127
  vars: { type: 'object', additionalProperties: { type: 'string' }, description: '变量插值 {keyword} 等' },
67
128
  wait: { type: 'boolean', description: 'true=同步执行完返回(仅调试);缺省 false 异步排队' },
129
+ owner: { type: 'string', description: '发起者标识(D7;缺省 local)' },
68
130
  },
69
131
  required: ['flowId'],
70
132
  },
@@ -81,6 +143,7 @@ export function buildTools(ctx) {
81
143
  }
82
144
  }
83
145
  const wait = args.wait === true;
146
+ const owner = typeof args.owner === 'string' && args.owner.length > 0 ? args.owner : undefined;
84
147
  // 流程存在性检查:未知流程立即 failed(不等进队列)
85
148
  const cached = ctx.registry.get(flowId);
86
149
  if (!cached) {
@@ -104,27 +167,49 @@ export function buildTools(ctx) {
104
167
  }
105
168
  }
106
169
  const runId = newRunId();
107
- const result = await spawnRun(ctx, { flowId, vars, wait }, runId);
170
+ const result = await spawnRun(ctx, { flowId, vars, wait, owner }, runId);
108
171
  return text(JSON.stringify(result));
109
172
  },
110
173
  },
111
174
  {
112
175
  name: 'get_run',
113
- description: '查询执行记录(run.json 全量,含每步 verify 结果与耗时)。running 期间返回内存状态,完成后返回落盘记录。',
114
- inputSchema: { type: 'object', properties: { runId: { type: 'string' } }, required: ['runId'] },
176
+ description: '查询执行记录(run.json 全量,含每步 verify 结果与耗时)。running 期间返回内存状态,完成后返回落盘记录。owner 可选(D7:提供则只返回该 owner 的记录)。',
177
+ inputSchema: {
178
+ type: 'object',
179
+ properties: { runId: { type: 'string' }, owner: { type: 'string', description: '发起者过滤(D7;可选)' } },
180
+ required: ['runId'],
181
+ },
115
182
  handler: async (args) => {
116
183
  if (typeof args.runId !== 'string' || args.runId.length === 0) {
117
184
  return text('参数错误: runId 必填');
118
185
  }
186
+ const owner = typeof args.owner === 'string' && args.owner.length > 0 ? args.owner : undefined;
119
187
  const mem = ctx.runs.get(args.runId);
188
+ if (owner && mem && mem.owner !== owner) {
189
+ return text(`执行记录不存在: ${args.runId}(owner 不匹配)`);
190
+ }
120
191
  if (mem?.status === 'running')
121
192
  return text(JSON.stringify(mem));
122
193
  const rec = ctx.store.loadRun(args.runId);
123
- if (rec)
194
+ if (rec) {
195
+ if (owner && rec.owner !== owner)
196
+ return text(`执行记录不存在: ${args.runId}(owner 不匹配)`);
124
197
  return text(JSON.stringify(rec, null, 2));
198
+ }
125
199
  return text(`执行记录不存在: ${args.runId}(runs/ 目录下无对应文件)`);
126
200
  },
127
201
  },
202
+ {
203
+ name: 'cancel_run',
204
+ description: '取消排队中的任务(D7;执行中任务暂不支持——页面层 abort 留待后续)。返回取消结果。',
205
+ inputSchema: { type: 'object', properties: { runId: { type: 'string' } }, required: ['runId'] },
206
+ handler: async (args) => {
207
+ if (typeof args.runId !== 'string' || args.runId.length === 0) {
208
+ return text('参数错误: runId 必填');
209
+ }
210
+ return text(cancelRun(ctx, args.runId));
211
+ },
212
+ },
128
213
  {
129
214
  name: 'validate_flow',
130
215
  description: '校验流程定义(传 json 内容或 path 指向 flow.json),返回是否合法与错误信息。',
@@ -256,40 +341,13 @@ export function buildTools(ctx) {
256
341
  },
257
342
  {
258
343
  name: 'sync_pending_uploads',
259
- description: '重试上传台账中待上传(Pending/Failed)的观察包到本地模拟平台(断网重试入口)。',
344
+ description: '重试上传台账中待上传(Pending/Failed)的观察包到本地模拟平台(断网重试入口;启动时自动执行一次)。',
260
345
  inputSchema: { type: 'object', properties: {} },
261
346
  handler: async () => {
262
- const pending = ctx.platform.pending();
263
- if (pending.length === 0)
347
+ const r = await syncUploads(ctx);
348
+ if (r.ok === 0 && r.failed.length === 0)
264
349
  return text('没有待上传的观察包');
265
- let ok = 0;
266
- const failed = [];
267
- for (const runId of pending) {
268
- const rec = ctx.store.loadRun(runId);
269
- if (!rec)
270
- continue;
271
- const allRuns = ctx.store
272
- .listRunIds()
273
- .map((id) => ctx.store.loadRun(id))
274
- .filter((r) => !!r && r.flowId === rec.flowId);
275
- try {
276
- // M10 D-O1 接线:配置了平台地址 → 真实上传;否则本地模拟(deliver)
277
- if (ctx.config.platformUrl.length > 0) {
278
- const client = new PlatformClient(ctx.config.platformUrl, ctx.config.platformToken);
279
- const dir = ctx.platform.deliver(rec, allRuns);
280
- await client.uploadObservation(dir);
281
- ctx.store.markUploaded(runId, true);
282
- }
283
- else {
284
- ctx.platform.deliver(rec, allRuns);
285
- }
286
- ok++;
287
- }
288
- catch (e) {
289
- failed.push(`${runId}: ${e instanceof Error ? e.message : String(e)}`);
290
- }
291
- }
292
- return text(failed.length === 0 ? `已重试上传 ${ok} 个观察包` : `上传完成 ${ok} 个,失败 ${failed.length} 个: ${failed.join('; ')}`);
350
+ return text(r.failed.length === 0 ? `已重试上传 ${r.ok} 个观察包` : `上传完成 ${r.ok} 个,失败 ${r.failed.length} 个: ${r.failed.join('; ')}`);
293
351
  },
294
352
  },
295
353
  {
@@ -342,10 +400,14 @@ export function buildTools(ctx) {
342
400
  },
343
401
  },
344
402
  ];
403
+ // D3 角色裁剪:hunter 只暴露 HUNTER_TOOL_NAMES(ARCHITECTURE #10 红线 4)
404
+ if (role === 'hunter')
405
+ return all.filter((t) => HUNTER_TOOL_NAMES.includes(t.name));
406
+ return all;
345
407
  }
346
408
  /** 注册全部工具(tools/list + tools/call 两个 handler,SDK 1.30 setRequestHandler) */
347
- export function registerTools(server, ctx) {
348
- const tools = buildTools(ctx);
409
+ export function registerTools(server, ctx, role = 'owner') {
410
+ const tools = buildTools(ctx, role);
349
411
  const toolDefs = tools.map((t) => ({
350
412
  name: t.name,
351
413
  description: t.description,
@@ -373,8 +435,10 @@ export async function serveStdio(flowsDir, dataDir, config) {
373
435
  throw new Error('另一个 flow-rpa 实例正在运行(data/.lock 锁持有中);请先退出再启动');
374
436
  }
375
437
  const ctx = buildCtx(flowsDir, dataDir, config);
438
+ // 启动自动注册(平台已配置时:健康探测 + 自动补传待上传台账;不阻断启动)
439
+ void bootstrapPlatform(ctx).catch(() => undefined);
376
440
  const server = new Server({ name: 'flow-rpa', version: '0.1.0-ts' }, { capabilities: { tools: {} } });
377
- registerTools(server, ctx);
441
+ registerTools(server, ctx, config.role);
378
442
  const transport = new StdioServerTransport();
379
443
  await server.connect(transport);
380
444
  // D-R5:等连接关闭(EOF)→ 优雅退出
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/status.d.ts CHANGED
@@ -20,10 +20,12 @@ export interface StatusJson {
20
20
  /** 独立浏览器 profile 目录(config.userDataDir) */
21
21
  profile: string;
22
22
  };
23
- /** 串行 FIFO 队列状态(D-R1 */
23
+ /** 串行 FIFO 队列状态(D-R1 + D7:runningOwner 问责「谁发的 run」) */
24
24
  queue: {
25
25
  running: boolean;
26
26
  pending: number;
27
+ runningRunId?: string;
28
+ runningOwner?: string;
27
29
  };
28
30
  /** 单实例锁(data/.lock):held=当前进程持有;otherPid 存在=被其他实例持有 */
29
31
  lock: {
@@ -44,6 +46,8 @@ export interface StatusJson {
44
46
  description?: string;
45
47
  }>;
46
48
  }>;
49
+ /** D1 fail-loud:坏流程加载警告(registry.warnings;空数组 = 无警告) */
50
+ flowWarnings: string[];
47
51
  runs: {
48
52
  recent: number;
49
53
  pendingUploads: number;
@@ -53,10 +57,11 @@ export interface StatusJson {
53
57
  uploaded: number;
54
58
  failed: number;
55
59
  };
56
- /** 平台配置(脱敏口径:不含 token */
60
+ /** 平台配置(脱敏口径:不含 token)+ 注册连通状态(health 探测) */
57
61
  platform: {
58
62
  configured: boolean;
59
63
  url: string;
64
+ connected: boolean;
60
65
  };
61
66
  }
62
67
  /** 聚合引擎当前状态(自描述;/status.json 与 get_status 共用同一数据源) */
package/dist/status.js CHANGED
@@ -2,6 +2,7 @@ import { readFileSync } from 'node:fs';
2
2
  import { dirname, join } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
4
  import { listTargets } from '@qing3a/flow-rpa-engine/src/cdp/client.js';
5
+ import { PlatformClient } from '@qing3a/flow-rpa-engine/src/platform.js';
5
6
  import { queueState } from './runner.js';
6
7
  /** HTML 转义(防注入) */
7
8
  function esc(s) {
@@ -27,6 +28,12 @@ async function browserProbe(ctx) {
27
28
  return false;
28
29
  }
29
30
  }
31
+ /** 平台注册连通探测(health;未配置 → false) */
32
+ async function platformProbe(ctx) {
33
+ if (ctx.config.platformUrl.length === 0)
34
+ return false;
35
+ return new PlatformClient(ctx.config.platformUrl, ctx.config.platformToken).health();
36
+ }
30
37
  /** 上传台账摘要 */
31
38
  function ledgerSummary(ctx) {
32
39
  const entries = ctx.store.loadLedger().entries;
@@ -89,9 +96,14 @@ export async function collectStatus(ctx) {
89
96
  queue: queueState(),
90
97
  lock: lockState(ctx),
91
98
  flows: ctx.registry.list().map((f) => ({ id: f.id, name: f.name, version: f.version, inputs: f.inputs })),
99
+ flowWarnings: ctx.registry.warnings(),
92
100
  runs: { recent: ctx.store.listRunIds().length, pendingUploads: ctx.store.pendingUploads().length },
93
101
  ledger,
94
- platform: { configured: ctx.config.platformUrl.length > 0, url: ctx.config.platformUrl },
102
+ platform: {
103
+ configured: ctx.config.platformUrl.length > 0,
104
+ url: ctx.config.platformUrl,
105
+ connected: await platformProbe(ctx),
106
+ },
95
107
  };
96
108
  }
97
109
  /** 生成状态页 HTML(内嵌数据,只读;数据源 = collectStatus) */
@@ -103,6 +115,9 @@ export async function renderStatusHtml(ctx) {
103
115
  const rows = runs
104
116
  .map((r) => `<tr><td>${esc(r.runId)}</td><td>${esc(r.flowId)}</td><td class="st-${esc(r.status)}">${esc(r.status)}</td><td>${esc(r.startedAt)}</td><td>${esc(r.error ?? '')}</td></tr>`)
105
117
  .join('\n');
118
+ const warnBlock = s.flowWarnings.length > 0
119
+ ? `<div class="card" style="color:#b35900"><strong>流程加载警告</strong>(${s.flowWarnings.length})<ul>${s.flowWarnings.map((w) => `<li>${esc(w)}</li>`).join('')}</ul></div>`
120
+ : '';
106
121
  const flowItems = s.flows
107
122
  .map((f) => `<li>${esc(f.id)}(v${f.version}): ${esc(f.name)}</li>`)
108
123
  .join('\n');
@@ -133,6 +148,7 @@ ul { margin: 0; padding-left: 1.2rem; }
133
148
  <strong>流程列表</strong>(${s.flows.length})
134
149
  <ul>${flowItems || '<li>(无流程)</li>'}</ul>
135
150
  </div>
151
+ ${warnBlock}
136
152
  <div class="card">
137
153
  <strong>最近运行</strong>(${runs.length})
138
154
  <table>
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qing3a/flow-rpa-app",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "flow-rpa 应用壳(原 app crate):MCP server + CLI",
6
6
  "publishConfig": {
@@ -18,14 +18,17 @@
18
18
  },
19
19
  "./package.json": "./package.json"
20
20
  },
21
- "files": ["dist", "skill"],
21
+ "files": [
22
+ "dist",
23
+ "skill"
24
+ ],
22
25
  "scripts": {
23
26
  "build": "tsc -p tsconfig.build.json && node ../../scripts/build-skill.mjs",
24
27
  "test": "vitest run --root ../.. --project app",
25
28
  "typecheck": "tsc --noEmit"
26
29
  },
27
30
  "dependencies": {
28
- "@qing3a/flow-rpa-engine": "^0.1.0",
31
+ "@qing3a/flow-rpa-engine": "^0.2.0",
29
32
  "@modelcontextprotocol/sdk": "^1.30.0",
30
33
  "zod": "^4.4.3"
31
34
  }
@@ -15,7 +15,7 @@ flow-rpa 是本地 RPA 执行引擎:它解释执行**流程定义**(JSON 数
15
15
  - **接口是 MCP**:本引擎通过 MCP 工具被 Agent 调用(stdio 传输,进程由 Agent 拉起)。
16
16
  - **流程级工具面**:只提供「跑流程/查结果/管建议」等流程级工具,**不提供**页面原子操作(点击/输入/截图等),也不提供业务工具。
17
17
 
18
- ## 二、工具面(12 个,签名冻结;get_status 为第 12 个,2026-08-25)
18
+ ## 二、工具面(13 个,签名冻结;cancel_run 为第 13 个,2026-08-26 新增 D7;get_status 为第 12 个,2026-08-25)
19
19
 
20
20
  ### 核心执行
21
21
 
@@ -23,8 +23,9 @@ flow-rpa 是本地 RPA 执行引擎:它解释执行**流程定义**(JSON 数
23
23
  |---|---|---|---|
24
24
  | `get_status` | 无 | 引擎状态 JSON(版本/skill 版本/浏览器连接/队列/锁/流程列表/上传台账/platform) | **调用流程前预检环境**:浏览器是否连接、队列是否忙、锁是否被占、平台是否配置;platform 不含 token |
25
25
  | `list_flows` | 无 | 流程列表(id/name/version) | **调用任何流程前先查这里**,不要硬编码流程 id(流程包会更新) |
26
- | `run_flow` | `flow_id`(必填)、`vars`(可选,如 `{"keyword":"算法工程师"}`)、`wait`(可选,默认 false) | `{runId, status:'running'\|'done'\|'failed', error?}` | **异步**:wait=false 立即返回 runId,用 `get_run` 轮询;流程含 30~60s 冷却,同步等待会超时 |
27
- | `get_run` | `run_id` | run.json 全量(每步 verify/耗时/失败类别) | 轮询直到 status 为 done/failed;**步骤级**看哪步失败 |
26
+ | `run_flow` | `flow_id`(必填)、`vars`(可选,如 `{"keyword":"算法工程师"}`)、`wait`(可选,默认 false)、`owner`(可选,D7 发起者标识,缺省 local) | `{runId, status:'running'\|'done'\|'failed', error?}` | **异步**:wait=false 立即返回 runId,用 `get_run` 轮询;流程含 30~60s 冷却,同步等待会超时 |
27
+ | `get_run` | `run_id`、`owner`(可选,D7 过滤) | run.json 全量(每步 verify/耗时/失败类别) | 轮询直到 status 为 done/failed;**步骤级**看哪步失败 |
28
+ | `cancel_run` | `run_id` | 取消结果文案 | **D7**:取消排队中的任务(状态置 cancelled);执行中任务暂不支持取消(页面层 abort 留待后续) |
28
29
  | `validate_flow` | `json` 或 `path` | `{valid, flowId?, error?}` | 校验流程定义 |
29
30
 
30
31
  ### 学习与建议