@qing3a/flow-rpa-app 0.5.12 → 0.7.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.js CHANGED
@@ -2,8 +2,10 @@ 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';
6
5
  import { queueState } from './runner.js';
6
+ import { currentRotation, rotationDetail } from './session-rotation.js';
7
+ /** 兜底率回看窗口(最近 N 次 run;与 ANTI-BAN-PRINCIPLES §四 的「兜底率读法」同一口径) */
8
+ const FALLBACK_WINDOW_RUNS = 20;
7
9
  /** HTML 转义(防注入) */
8
10
  function esc(s) {
9
11
  return s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
@@ -28,20 +30,64 @@ async function browserProbe(ctx) {
28
30
  return false;
29
31
  }
30
32
  }
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();
33
+ /**
34
+ * 兜底率聚合(T034-2 / S4):纯函数——给定「窗口内的 run id」与台账原文,算事件数/占比/种类。
35
+ * 台账行 = 一次含兜底的 run:`{at, runId, flowId, hits:[{stepId, kind, selector}]}`(runner 在 run
36
+ * 结束后追加;**0 兜底的 run 不写行**)。窗口外的行、坏行、空 hits 一律不计(旁路数据不污染主聚合)。
37
+ * 抽成纯函数是为了让「0 兜底 → 0%」「有兜底 → 正确计数」可被直测(不经 ctx/fs)。
38
+ */
39
+ export function fallbackRateFrom(runIds, ledgerRaw) {
40
+ const window = new Set(runIds);
41
+ const withFallback = new Set();
42
+ const kinds = {};
43
+ let events = 0;
44
+ for (const line of ledgerRaw.split('\n')) {
45
+ if (line.trim() === '')
46
+ continue;
47
+ let entry;
48
+ try {
49
+ entry = JSON.parse(line);
50
+ }
51
+ catch {
52
+ continue; // 坏行跳过(旁路数据不影响主聚合)
53
+ }
54
+ if (typeof entry.runId !== 'string' || !window.has(entry.runId))
55
+ continue;
56
+ const hits = Array.isArray(entry.hits) ? entry.hits : [];
57
+ if (hits.length === 0)
58
+ continue;
59
+ events += hits.length;
60
+ withFallback.add(entry.runId);
61
+ for (const hit of hits) {
62
+ const kind = hit !== null && typeof hit === 'object' && typeof hit.kind === 'string'
63
+ ? hit.kind
64
+ : 'unknown';
65
+ kinds[kind] = (kinds[kind] ?? 0) + 1;
66
+ }
67
+ }
68
+ const runsWithFallback = withFallback.size;
69
+ const rate = runIds.length > 0 ? runsWithFallback / runIds.length : 0;
70
+ // 「目标 0」是唯一文案源:状态页 HTML / status.json / get_status 三处同文
71
+ const detail = runIds.length === 0
72
+ ? '最近 0 次 run(无运行记录):未观测到非拟人兜底——目标 0(B 类捷径,见 docs/ANTI-BAN-PRINCIPLES.md ②)'
73
+ : `最近 ${runIds.length} 次 run 兜底率 ${(rate * 100).toFixed(0)}%(${runsWithFallback}/${runIds.length} 次 run 发生兜底,事件 ${events} 次${events > 0 ? `:${Object.entries(kinds).map(([k, n]) => `${k}×${n}`).join('、')}` : ''})——目标 0(B 类捷径只应收敛、不新增)`;
74
+ return { windowRuns: runIds.length, events, runsWithFallback, rate, kinds, detail };
36
75
  }
37
- /** 上传台账摘要 */
38
- function ledgerSummary(ctx) {
39
- const entries = ctx.store.loadLedger().entries;
40
- return {
41
- uploaded: entries.filter((e) => e.state === 'uploaded').length,
42
- pending: entries.filter((e) => e.state === 'pending').length,
43
- failed: entries.filter((e) => e.state === 'failed').length,
44
- };
76
+ /**
77
+ * 兜底率聚合(T034-2 / S4,只读):窗口 = 最近 N 次 run(`data/runs/`),台账 = 旁路
78
+ * `data/behavior/fallback-events.jsonl`。台账缺失/损坏 → 视为 0 兜底(只读聚合,绝不因旁路
79
+ * 数据坏掉而让状态页失败)。
80
+ */
81
+ function fallbackRate(ctx) {
82
+ const windowIds = ctx.store.listRunIds().reverse().slice(0, FALLBACK_WINDOW_RUNS);
83
+ let raw = '';
84
+ try {
85
+ raw = readFileSync(join(ctx.store.root, 'behavior', 'fallback-events.jsonl'), 'utf8');
86
+ }
87
+ catch {
88
+ raw = ''; // 无台账 = 从无兜底(不是错误态)
89
+ }
90
+ return fallbackRateFrom(windowIds, raw);
45
91
  }
46
92
  /** 应用(app 包)版本:读包根 package.json(src/ 或 dist/ → 上一级即包根) */
47
93
  function appVersion() {
@@ -83,7 +129,10 @@ function lockState(ctx) {
83
129
  /** 聚合引擎当前状态(自描述;/status.json 与 get_status 共用同一数据源) */
84
130
  export async function collectStatus(ctx) {
85
131
  const version = appVersion();
86
- const ledger = ledgerSummary(ctx);
132
+ // T033-2(S5):读本轮运行观测(executeRun/doctor 刷新;只读,不改 ctx
133
+ const rotation = currentRotation();
134
+ // T035-2(S6):流程列表带来源标注(list() 一次拿到,warnings 紧随其后同一轮扫描)
135
+ const flows = ctx.registry.list();
87
136
  return {
88
137
  version,
89
138
  skillVersion: `v${version}`,
@@ -95,15 +144,12 @@ export async function collectStatus(ctx) {
95
144
  },
96
145
  queue: queueState(),
97
146
  lock: lockState(ctx),
98
- flows: ctx.registry.list().map((f) => ({ id: f.id, name: f.name, version: f.version, inputs: f.inputs })),
147
+ flows: flows.map((f) => ({ id: f.id, name: f.name, version: f.version, inputs: f.inputs, origin: f.origin })),
99
148
  flowWarnings: ctx.registry.warnings(),
100
- runs: { recent: ctx.store.listRunIds().length, pendingUploads: ctx.store.pendingUploads().length },
101
- ledger,
102
- platform: {
103
- configured: ctx.config.platformUrl.length > 0,
104
- url: ctx.config.platformUrl,
105
- connected: await platformProbe(ctx),
106
- },
149
+ sessionRotation: { ...rotation, detail: rotationDetail(rotation) },
150
+ runs: { recent: ctx.store.listRunIds().length },
151
+ // T034-2(S4):兜底率只读呈现(读旁路台账,0 兜底 → 0%)
152
+ fallbacks: fallbackRate(ctx),
107
153
  };
108
154
  }
109
155
  /** 生成状态页 HTML(内嵌数据,只读;数据源 = collectStatus) */
@@ -111,7 +157,6 @@ export async function renderStatusHtml(ctx) {
111
157
  const s = await collectStatus(ctx);
112
158
  const runs = recentRuns(ctx, 10);
113
159
  const browser = s.browser;
114
- const ledger = s.ledger;
115
160
  const rows = runs
116
161
  .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>`)
117
162
  .join('\n');
@@ -119,48 +164,54 @@ export async function renderStatusHtml(ctx) {
119
164
  ? `<div class="card" style="color:#b35900"><strong>流程加载警告</strong>(${s.flowWarnings.length})<ul>${s.flowWarnings.map((w) => `<li>${esc(w)}</li>`).join('')}</ul></div>`
120
165
  : '';
121
166
  const flowItems = s.flows
122
- .map((f) => `<li>${esc(f.id)}(v${f.version}): ${esc(f.name)}</li>`)
167
+ .map((f) => `<li>${esc(f.id)}(v${f.version}): ${esc(f.name)} <span style="color:#888">[来源: ${esc(f.origin)}]</span>${f.origin === 'builtin-modified'
168
+ ? ' <span style="color:#b35900">⚠️ 与内置基线不一致(本地已改动)</span>'
169
+ : ''}</li>`)
123
170
  .join('\n');
124
- return `<!DOCTYPE html>
125
- <html lang="zh">
126
- <head>
127
- <meta charset="utf-8">
128
- <title>flow-rpa 状态页</title>
129
- <style>
130
- body { font-family: system-ui, sans-serif; margin: 2rem; color: #222; }
131
- h1 { border-bottom: 2px solid #eee; padding-bottom: .5rem; }
132
- .card { border: 1px solid #ddd; border-radius: 8px; padding: 1rem 1.2rem; margin-bottom: 1.2rem; }
133
- table { border-collapse: collapse; width: 100%; font-size: .9rem; }
134
- th, td { border: 1px solid #eee; padding: .4rem .6rem; text-align: left; }
135
- .st-done { color: #1a7f37; } .st-failed { color: #cf222e; } .st-running { color: #9a6700; }
136
- ul { margin: 0; padding-left: 1.2rem; }
137
- .badge-up { color: #1a7f37; font-weight: bold; } .badge-down { color: #cf222e; font-weight: bold; }
138
- </style>
139
- </head>
140
- <body>
141
- <h1>flow-rpa 状态</h1>
142
- <div class="card">
143
- <strong>浏览器</strong>:<span class="${browser.connected ? 'badge-up' : 'badge-down'}">${browser.connected ? '运行中' : '未连接'}</span>
144
- <span style="color:#888">(端口 ${browser.port})</span>
145
- &nbsp;&nbsp;<strong>上传台账</strong>:uploaded ${ledger.uploaded} / pending ${ledger.pending} / failed ${ledger.failed}
146
- </div>
147
- <div class="card">
148
- <strong>流程列表</strong>(${s.flows.length}
149
- <ul>${flowItems || '<li>(无流程)</li>'}</ul>
150
- </div>
151
- ${warnBlock}
152
- <div class="card">
153
- <strong>最近运行</strong>(${runs.length}
154
- <table>
155
- <tr><th>runId</th><th>flowId</th><th>status</th><th>startedAt</th><th>error</th></tr>
156
- ${rows || '<tr><td colspan="5">(无运行记录)</td></tr>'}
157
- </table>
158
- </div>
159
- <div class="card" style="color:#888;font-size:.8rem">
160
- 只读状态页:无编辑/执行/管理动作。数据来源 data/(runs/、flows/、台账)。
161
- </div>
162
- </body>
163
- </html>
171
+ return `<!DOCTYPE html>
172
+ <html lang="zh">
173
+ <head>
174
+ <meta charset="utf-8">
175
+ <title>flow-rpa 状态页</title>
176
+ <style>
177
+ body { font-family: system-ui, sans-serif; margin: 2rem; color: #222; }
178
+ h1 { border-bottom: 2px solid #eee; padding-bottom: .5rem; }
179
+ .card { border: 1px solid #ddd; border-radius: 8px; padding: 1rem 1.2rem; margin-bottom: 1.2rem; }
180
+ table { border-collapse: collapse; width: 100%; font-size: .9rem; }
181
+ th, td { border: 1px solid #eee; padding: .4rem .6rem; text-align: left; }
182
+ .st-done { color: #1a7f37; } .st-failed { color: #cf222e; } .st-running { color: #9a6700; }
183
+ ul { margin: 0; padding-left: 1.2rem; }
184
+ .badge-up { color: #1a7f37; font-weight: bold; } .badge-down { color: #cf222e; font-weight: bold; }
185
+ </style>
186
+ </head>
187
+ <body>
188
+ <h1>flow-rpa 状态</h1>
189
+ <div class="card">
190
+ <strong>浏览器</strong>:<span class="${browser.connected ? 'badge-up' : 'badge-down'}">${browser.connected ? '运行中' : '未连接'}</span>
191
+ <span style="color:#888">(端口 ${browser.port})</span>
192
+ <div style="margin-top:.4rem"><strong>会话轮换</strong>:<span class="${s.sessionRotation.enabled ? 'badge-up' : 'badge-down'}">${s.sessionRotation.enabled ? '已启用' : '未启用'}</span> <span style="color:#888">${esc(s.sessionRotation.detail)}</span></div>
193
+ </div>
194
+ <div class="card">
195
+ <strong>兜底率</strong>:<span class="${s.fallbacks.rate === 0 ? 'badge-up' : 'badge-down'}">${(s.fallbacks.rate * 100).toFixed(0)}%</span>
196
+ <span style="color:#888">${esc(s.fallbacks.detail)}</span>
197
+ </div>
198
+ <div class="card">
199
+ <strong>流程列表</strong>(${s.flows.length})
200
+ <ul>${flowItems || '<li>(无流程)</li>'}</ul>
201
+ </div>
202
+ ${warnBlock}
203
+ <div class="card">
204
+ <strong>最近运行</strong>(${runs.length})
205
+ <table>
206
+ <tr><th>runId</th><th>flowId</th><th>status</th><th>startedAt</th><th>error</th></tr>
207
+ ${rows || '<tr><td colspan="5">(无运行记录)</td></tr>'}
208
+ </table>
209
+ </div>
210
+ <div class="card" style="color:#888;font-size:.8rem">
211
+ 只读状态页:无编辑/执行/管理动作。数据来源 data/(runs/、flows/)。
212
+ </div>
213
+ </body>
214
+ </html>
164
215
  `;
165
216
  }
166
217
  //# sourceMappingURL=status.js.map
@@ -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.5.12",
3
+ "version": "0.7.0",
4
4
  "engines": { "node": ">=20" },
5
5
  "type": "module",
6
6
  "description": "flow-rpa 应用壳(原 app crate):MCP server + CLI",
@@ -26,7 +26,7 @@
26
26
  "typecheck": "tsc --noEmit"
27
27
  },
28
28
  "dependencies": {
29
- "@qing3a/flow-rpa-engine": "^0.5.12",
29
+ "@qing3a/flow-rpa-engine": "^0.7.0",
30
30
  "@modelcontextprotocol/sdk": "^1.30.0",
31
31
  "zod": "^4.4.3"
32
32
  }