@qing3a/flow-rpa-app 0.1.0 → 0.3.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/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.3.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.3.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
  ### 学习与建议