@qing3a/flow-rpa-engine 0.5.2 → 0.5.7

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.
@@ -21,6 +21,8 @@ export type { Flow } from './schema.js';
21
21
  * - **extract 有 verify 时按标准流程检查**(Rust 版提前 return 不查 verify;EXECUTION-SPEC
22
22
  * 验收断言 3 要求 verify 生效)。
23
23
  */
24
+ /** T015 P0-1:默认暂停类别(人工接管场景——登录区/验证码/风险弹窗;命中 → paused 而非 failed) */
25
+ export declare const DEFAULT_PAUSE_CATEGORIES: readonly string[];
24
26
  export type ExecErrorKind = 'page' | 'step_action' | 'verify' | 'unknown_step';
25
27
  /**
26
28
  * 执行错误。`message` 为完整文案(与 Rust `ExecError::to_string()` 一致,测试断言依赖)。
@@ -125,6 +127,8 @@ export interface StepResult {
125
127
  inputValueMasked?: string;
126
128
  /** 冷却锚点(D-C1:wait 步骤 coolKey;server 层据此记账 key=flow#step#coolKey) */
127
129
  cooldownKey?: string;
130
+ /** T014 P0-1:本步自动判定的页面/目标区域(旁路观察;无规则/失败 → 缺省;登录区中止时=登录区) */
131
+ region?: string;
128
132
  }
129
133
  /** D6 步骤事件(append-only 事件流:StepResult 全字段 + 失败类别;index_out_of_range = 列表耗尽终止信号) */
130
134
  export type StepEvent = StepResult & {
@@ -133,9 +137,20 @@ export type StepEvent = StepResult & {
133
137
  /** 流程执行结果 */
134
138
  export interface FlowResult {
135
139
  flowId: string;
136
- status: 'done' | 'failed';
140
+ /** done / failed / paused(T015 P0-1:人工接管场景暂停——登录区/验证码/确认弹窗,等用户处理后 resume_run 继续) */
141
+ status: 'done' | 'failed' | 'paused';
137
142
  error?: string;
138
143
  steps: StepResult[];
144
+ /** T015 P0-1:暂停时刻(ISO;status=paused 时) */
145
+ pausedAt?: string;
146
+ /** T015 P0-1:暂停原因(login / env_check / paused;status=paused 时) */
147
+ pauseReason?: 'login' | 'env_check' | 'paused';
148
+ /** T015 P0-2:resume 起点——暂停时当前顶层步骤索引(含 loop 内偏移),resume_run 从该点继续不重跑已完成步骤 */
149
+ resumeStepIndex?: number;
150
+ /** T015 P0-2:resume 起点——loop 内迭代偏移(暂停点在 loop 子步骤内时) */
151
+ resumeLoopIter?: number;
152
+ /** T015 P0-2:resume 起点——loop 内子步骤偏移 */
153
+ resumeLoopSub?: number;
139
154
  }
140
155
  export interface RunFlowOptions {
141
156
  /** extract 明细落盘(D-E2);缺省则 save:true 不落盘但记录 saved=false */
@@ -160,15 +175,35 @@ export interface RunFlowOptions {
160
175
  */
161
176
  behaviorRules?: string;
162
177
  /**
163
- * 增强层·语义锚点(docs/BEHAVIOR-SPACE-V2.md P3):
178
+ * 增强层·语义锚点(docs/BEHAVIOR-SPACE-V2.md P3;T014 P1-4 区域约束):
164
179
  * 选择器链全部失败时,用档案命中指纹生成替代选择器(失败恢复备选)。
180
+ * region 可选:提供时只复用同区域锚点(跨区域不误用;HitFingerprint.region)。
165
181
  * 建议级(铁律1):返回空数组/undefined → 不尝试,走原错误路径;
166
182
  * 主流程不依赖(铁律2/3):不注入 → 行为完全不变。异步可(查 profile 走互斥锁)。
167
183
  */
168
- anchorSelectors?: (stepId: string, actionType: string) => string[] | undefined | Promise<string[] | undefined>;
184
+ anchorSelectors?: (stepId: string, actionType: string, region?: string) => string[] | undefined | Promise<string[] | undefined>;
185
+ /**
186
+ * T015 P0-1:暂停类别集合——命中这些失败类别的步骤不直接 failed,转为 paused(等用户人工处理
187
+ * 后 resume_run 继续)。缺省 ['login', 'env_check'](登录区/验证码页/风险弹窗 = 人工接管场景)。
188
+ * 暂停 ≠ 自动重试(防封不变):只是把「中止+失败」变成「中止+暂停等人工」。
189
+ */
190
+ pauseCategories?: string[];
191
+ /**
192
+ * T015 P0-2:resume 起点——从 flow.steps[resumeStepIndex] 继续执行(跳过已完成步骤,不重跑)。
193
+ * loop 内精确恢复用 resumeLoopIter/resumeLoopSub(暂停点在 loop 子步骤内时)。
194
+ * 缺省 undefined = 从头执行(与旧行为一致)。
195
+ */
196
+ resumeStepIndex?: number;
197
+ /** T015 P0-2:resume 起点——loop 内迭代偏移(0 起;暂停点在 loop 子步骤内时) */
198
+ resumeLoopIter?: number;
199
+ /** T015 P0-2:resume 起点——loop 内子步骤偏移(0 起) */
200
+ resumeLoopSub?: number;
169
201
  }
170
202
  /**
171
- * 执行整个流程(失败即中止)。等价 Rust `run_flow`(全 async)。
203
+ * 执行整个流程(失败即中止;T015 起暂停类别错误 paused 等人工 resume)。
204
+ * 等价 Rust `run_flow`(全 async)。
172
205
  * vars 接受 Map 或 Record({keyword} / {i} 等插值来源)。
206
+ * opts.resumeStepIndex:从该顶层步骤索引继续(跳过已完成步骤,不重跑)——
207
+ * resume_run 语义(P0-2);缺省 undefined = 从头执行(与旧行为一致)。
173
208
  */
174
209
  export declare function runFlow(flow: Flow, page: PageOps, vars: Map<string, string> | Record<string, string>, opts?: RunFlowOptions): Promise<FlowResult>;
package/dist/executor.js CHANGED
@@ -3,6 +3,30 @@ import { maskInputValue } from './mask.js';
3
3
  import { StepSchema } from './schema.js';
4
4
  import { XorShift32 } from './simprofile.js';
5
5
  import { textHash, routeKey } from './behavior.js';
6
+ import { isLoginSignal, REGION_LOGIN_LABEL } from './region.js';
7
+ /**
8
+ * 执行器 —— 解释执行流程定义(移植自 Rust `executor.rs`,按 EXECUTION-SPEC M4 扩展)。
9
+ *
10
+ * 设计核心:
11
+ * - 引擎唯一代码层,流程是数据:执行器只按 `Flow.steps` 解释执行,不含任何平台逻辑。
12
+ * - **页面抽象(`PageOps`,全 async)**:执行器不直接碰 CDP/DOM,通过接口驱动页面。
13
+ * 真实浏览器用 CDP 实现(M8),测试用 mock 实现 —— 执行逻辑可单测,引擎与浏览器控制解耦。
14
+ * - 验证点(verify)是成败判定的唯一依据:每步执行后按 verify 检查,失败即中止流程。
15
+ *
16
+ * EXECUTION-SPEC M4 扩展(相对 Rust 版):
17
+ * - **loop 循环语义(D-L1~D-L5)**:`{i}` 注入循环上下文;click 索引越界 = 列表耗尽
18
+ * 自然终止(非错误);maxIterations 默认 50;禁止嵌套 loop(validate 层拒绝)。
19
+ * - **extract field/save(D-E1~D-E3)**:field = 结构化记录标签;save:true 经 ExtractSink
20
+ * 落盘 `data/extracted/<runId>/<stepId>.json`(原始数据不进 run.json/观察包);
21
+ * extract 返回 {content, count}。
22
+ * - **A3 选择器链(D-S1~D-S2)**:selector 支持 string | string[],依次尝试、第一个命中生效,
23
+ * 记录 `selector_hit`。
24
+ * - **extract 有 verify 时按标准流程检查**(Rust 版提前 return 不查 verify;EXECUTION-SPEC
25
+ * 验收断言 3 要求 verify 生效)。
26
+ */
27
+ // ---- 错误类型 ----
28
+ /** T015 P0-1:默认暂停类别(人工接管场景——登录区/验证码/风险弹窗;命中 → paused 而非 failed) */
29
+ export const DEFAULT_PAUSE_CATEGORIES = ['login', 'env_check'];
6
30
  function execErrorMessage(kind, detail, stepId) {
7
31
  switch (kind) {
8
32
  case 'page':
@@ -139,15 +163,16 @@ async function runSelectorChain(selectors, op, isHit, anchor) {
139
163
  err.lastTried = tried[tried.length - 1];
140
164
  throw err;
141
165
  }
142
- /** P3 语义锚点降级回调(由 RunFlowOptions.anchorSelectors 构造;未注入 → undefined 不降级) */
143
- function anchorFallback(opts, stepId, actionType) {
166
+ /** P3 语义锚点降级回调(由 RunFlowOptions.anchorSelectors 构造;未注入 → undefined 不降级)。
167
+ * T014 P1-4:region 可选——区域约束(只复用同区域锚点)由 BehaviorArchive 侧执行。 */
168
+ function anchorFallback(opts, stepId, actionType, region) {
144
169
  if (!opts?.anchorSelectors)
145
170
  return undefined;
146
171
  return {
147
- getSelectors: () => opts.anchorSelectors?.(stepId, actionType),
172
+ getSelectors: () => opts.anchorSelectors?.(stepId, actionType, region),
148
173
  onHit: (sel) => {
149
174
  // 可观测(铁律4):记录增强使用(console.info 走引擎日志)
150
- console.log(`[flow-rpa] 增强·语义锚点: ${stepId} ${actionType} 选择器失效 → ${sel} 命中(档案指纹恢复)`);
175
+ console.log(`[flow-rpa] 增强·语义锚点: ${stepId} ${actionType} 选择器失效 → ${sel} 命中(档案指纹恢复${region ? `,区域 ${region}` : ''})`);
151
176
  },
152
177
  };
153
178
  }
@@ -191,6 +216,45 @@ function getMaxCandidates(step) {
191
216
  return v;
192
217
  return 10;
193
218
  }
219
+ /**
220
+ * T014 P0-2:登录区判定(双重特征统一实现——路由特征 + 页面文本强标记;失败静默 → false)。
221
+ * 与 CdpPage 点击后突变检查共用 isLoginRoute(region.ts 统一实现,防双实现漂移)。
222
+ */
223
+ async function detectLogin(page) {
224
+ try {
225
+ const url = await page.currentUrl().catch(() => '');
226
+ const text = await page.pageText().catch(() => '');
227
+ return isLoginSignal(url, text);
228
+ }
229
+ catch {
230
+ return false;
231
+ }
232
+ }
233
+ /**
234
+ * T014 P0-1:步骤区域判定(旁路观察,失败静默不阻断):
235
+ * 步骤显式 region 参数(P0-3)→ 直接用;否则有目标选择器 → page.identifyRegion(首个选择器)。
236
+ * 返回区域标签;无规则/无选择器/判定失败 → undefined。
237
+ */
238
+ async function determineStepRegion(page, step, rulesJson, vars) {
239
+ const regionParam = typeof step.params.region === 'string' ? step.params.region : undefined;
240
+ if (regionParam)
241
+ return regionParam;
242
+ if (!rulesJson)
243
+ return undefined;
244
+ const selectors = getSelectors(step, 'selector', vars);
245
+ if (!selectors || selectors.length === 0 || typeof page.identifyRegion !== 'function')
246
+ return undefined;
247
+ try {
248
+ const index = parseIndex(step, vars);
249
+ const r = await page.identifyRegion(selectors[0], index, rulesJson);
250
+ if (r && typeof r.label === 'string' && r.label.length > 0)
251
+ return r.label;
252
+ return undefined;
253
+ }
254
+ catch {
255
+ return undefined; // 旁路:判定失败不阻断
256
+ }
257
+ }
194
258
  // 任务内冷却区间(防封铁律;M5 gate.ts 正式落地时移入,避免建半成品模块)
195
259
  const COOLDOWN_MIN_SECS = 30;
196
260
  const COOLDOWN_MAX_SECS = 60;
@@ -287,23 +351,57 @@ async function runStep(ctx, step) {
287
351
  // 用该标志跳过 runStep 的失败记录(Rust 语义:loop 无独立失败记录)。
288
352
  let loopChildFailed = false;
289
353
  let coolKey;
354
+ // T014 P0-1:本步区域判定(旁路;登录区中止时 = 登录区)
355
+ let regionLabel;
290
356
  try {
357
+ // T014 P0-2 + T015 P0-1:登录区暂停——任一步执行前判定(双重特征:路由 + 页面文本强标记;
358
+ // 与验证码红线同级 = 执行树级中止,绝不自动重试)。T015 起命中 → category='login' 上抛,
359
+ // runFlow 按 pauseCategories 转 paused(人工接管场景),不再直接 failed。
360
+ if (await detectLogin(page)) {
361
+ regionLabel = REGION_LOGIN_LABEL;
362
+ throw ExecError.page('未登录:引擎已暂停,请在已弹出的引擎浏览器中登录目标平台后调用 resume_run 继续', { category: 'login' });
363
+ }
364
+ // T014 P0-1:动作步骤区域判定(旁路:identifyRegion 失败/无规则/无选择器 → 缺省,不阻断)
365
+ if (step.type === 'click' || step.type === 'input' || step.type === 'extract') {
366
+ regionLabel = await determineStepRegion(page, step, opts?.behaviorRules, vars);
367
+ }
368
+ else if (step.type === 'wait' && typeof step.params.region === 'string') {
369
+ regionLabel = step.params.region;
370
+ }
291
371
  switch (step.type) {
292
372
  case 'navigate': {
293
373
  const url = getParam(step, 'url');
294
374
  if (url === undefined)
295
375
  throw ExecError.stepAction(step.id, 'navigate 缺 params.url');
296
376
  await page.navigate(interpolate(url, vars));
377
+ // T014 P0-2:导航后复查登录区(冷导航重定向到登录页时立即友好中止,不等 verify 超时)
378
+ if (await detectLogin(page)) {
379
+ regionLabel = REGION_LOGIN_LABEL;
380
+ throw ExecError.page('未登录:引擎已暂停,请在已弹出的引擎浏览器中登录目标平台后调用 resume_run 继续', { category: 'login' });
381
+ }
297
382
  break;
298
383
  }
299
384
  case 'click': {
300
- const selectors = getSelectors(step, 'selector', vars);
301
- if (!selectors)
302
- throw ExecError.stepAction(step.id, 'click params.selector');
385
+ // T014 阶段 2:click 支持 region 寻址(区域内第 i 个可交互元素;与 selector 互斥)。
386
+ // 引擎内部表达式 `region:<标签> >>` = 区域内全部可交互元素,index 参数选第 i 个
387
+ // (越界走 index_out_of_range 列表耗尽语义——复用现有 loop 终止)。
388
+ const regionParam = typeof step.params.region === 'string' ? step.params.region : undefined;
389
+ if (regionParam !== undefined && getParam(step, 'selector') !== undefined) {
390
+ throw ExecError.stepAction(step.id, 'click 的 region 与 selector 互斥(只提供一个)');
391
+ }
392
+ let selectors;
393
+ if (regionParam !== undefined) {
394
+ selectors = [`region:${regionParam} >>`];
395
+ }
396
+ else {
397
+ selectors = getSelectors(step, 'selector', vars);
398
+ if (!selectors)
399
+ throw ExecError.stepAction(step.id, 'click 缺 params.selector(或 region)');
400
+ }
303
401
  const index = parseIndex(step, vars);
304
402
  // 行为档案观察(记忆层·旁路):click 前后页面状态 → BehaviorEntry
305
403
  const obs = opts?.onBehavior ? await observePageState(page) : null;
306
- const { hit } = await runSelectorChain(selectors, (sel) => page.click(sel, index), () => true, anchorFallback(opts, step.id, 'click'));
404
+ const { hit } = await runSelectorChain(selectors, (sel) => page.click(sel, index), () => true, anchorFallback(opts, step.id, 'click', regionLabel));
307
405
  selectorHit = hit;
308
406
  if (obs && opts?.onBehavior) {
309
407
  await emitBehavior(ctx.flowId, opts, step.id, 'click', selectors, hit, obs, page, t0, index);
@@ -320,7 +418,7 @@ async function runStep(ctx, step) {
320
418
  maskedValue = maskInputValue(value);
321
419
  // 行为档案观察(记忆层·旁路):input 前后页面状态 → BehaviorEntry
322
420
  const obs = opts?.onBehavior ? await observePageState(page) : null;
323
- const { hit } = await runSelectorChain(selectors, (sel) => page.input(sel, value), () => true, anchorFallback(opts, step.id, 'input'));
421
+ const { hit } = await runSelectorChain(selectors, (sel) => page.input(sel, value), () => true, anchorFallback(opts, step.id, 'input', regionLabel));
324
422
  selectorHit = hit;
325
423
  if (obs && opts?.onBehavior) {
326
424
  await emitBehavior(ctx.flowId, opts, step.id, 'input', selectors, hit, obs, page, t0, 0);
@@ -328,9 +426,20 @@ async function runStep(ctx, step) {
328
426
  break;
329
427
  }
330
428
  case 'extract': {
331
- const selectors = getSelectors(step, 'selector', vars);
332
- if (!selectors)
333
- throw ExecError.stepAction(step.id, 'extract 缺 params.selector');
429
+ // T014 P0-3:extract 支持 region 寻址(引擎内部 region:<标签> 表达式;与 selector 互斥)
430
+ const regionParam = typeof step.params.region === 'string' ? step.params.region : undefined;
431
+ if (regionParam !== undefined && getParam(step, 'selector') !== undefined) {
432
+ throw ExecError.stepAction(step.id, 'extract 的 region 与 selector 互斥(只提供一个)');
433
+ }
434
+ let selectors;
435
+ if (regionParam !== undefined) {
436
+ selectors = [`region:${regionParam}`];
437
+ }
438
+ else {
439
+ selectors = getSelectors(step, 'selector', vars);
440
+ if (!selectors)
441
+ throw ExecError.stepAction(step.id, 'extract 缺 params.selector(或 region)');
442
+ }
334
443
  const field = typeof step.params.field === 'string' ? step.params.field : undefined;
335
444
  const save = step.params.save === true;
336
445
  const { value, hit } = await runSelectorChain(selectors, (sel) => page.extract(sel), (v) => v.count > 0);
@@ -372,6 +481,16 @@ async function runStep(ctx, step) {
372
481
  break;
373
482
  }
374
483
  case 'wait': {
484
+ // T014 P0-3:wait+region = 等区域就绪(引擎内部 region:<标签> 表达式;与 ms/coolMs 互斥)
485
+ const regionParam = typeof step.params.region === 'string' ? step.params.region : undefined;
486
+ if (regionParam !== undefined) {
487
+ if (step.params.ms !== undefined || step.params.coolMs !== undefined) {
488
+ throw ExecError.stepAction(step.id, 'wait 的 region 与 ms/coolMs 互斥(只提供一个)');
489
+ }
490
+ const timeoutMs = typeof step.params.timeoutMs === 'number' ? step.params.timeoutMs : 15000;
491
+ await page.waitSelector(`region:${regionParam}`, timeoutMs);
492
+ break;
493
+ }
375
494
  // 任务内冷却(防封铁律):wait 支持固定 ms 或 coolMs 区间随机;coolKey 锚点(D-C1 M5 接通)
376
495
  const ms = typeof step.params.ms === 'number' ? step.params.ms : undefined;
377
496
  const cool = Array.isArray(step.params.coolMs) ? step.params.coolMs : undefined;
@@ -413,6 +532,12 @@ async function runStep(ctx, step) {
413
532
  selectorHit = lastTried;
414
533
  }
415
534
  if (actionError) {
535
+ // T015 P0-1:暂停类别错误(login/env_check)不 push failed 记录——这不是步骤失败,
536
+ // 是执行级暂停信号(runFlow 转 paused)。记录保持「已执行步骤」干净(resume 后追加新步骤)。
537
+ const pauseCats = opts?.pauseCategories ?? DEFAULT_PAUSE_CATEGORIES;
538
+ if (actionError.category !== undefined && pauseCats.includes(actionError.category)) {
539
+ throw actionError;
540
+ }
416
541
  // loop 子步骤失败:子步骤已记录,loop 步骤本身不 push(避免重复失败记录)
417
542
  if (!loopChildFailed) {
418
543
  const rec = {
@@ -429,6 +554,7 @@ async function runStep(ctx, step) {
429
554
  durationMs: elapsed(t0),
430
555
  inputValueMasked: maskedValue,
431
556
  cooldownKey: coolKey,
557
+ region: regionLabel,
432
558
  };
433
559
  results.push(rec);
434
560
  // D6 事件流:每步事件(含失败类别,越界=列表耗尽终止信号)
@@ -472,6 +598,7 @@ async function runStep(ctx, step) {
472
598
  durationMs: elapsed(t0),
473
599
  inputValueMasked: maskedValue,
474
600
  cooldownKey: coolKey,
601
+ region: regionLabel,
475
602
  };
476
603
  results.push(rec);
477
604
  opts?.onStepEvent?.({ ...rec, category: verr.category });
@@ -492,6 +619,7 @@ async function runStep(ctx, step) {
492
619
  durationMs: elapsed(t0),
493
620
  inputValueMasked: maskedValue,
494
621
  cooldownKey: coolKey,
622
+ region: regionLabel,
495
623
  };
496
624
  results.push(rec);
497
625
  opts?.onStepEvent?.(rec);
@@ -511,12 +639,20 @@ async function runLoop(ctx, step) {
511
639
  const limitVar = Number(ctx.vars.get('limit'));
512
640
  const limit = Number.isInteger(limitVar) && limitVar > 0 ? limitVar : Number.POSITIVE_INFINITY;
513
641
  const cap = Math.min(maxIters, maxCand, limit);
514
- for (let i = 0; i < cap; i++) {
642
+ // T015 P0-2:resume 起点(暂停点在 loop 内时跳过已完成迭代/子步骤,不重跑)
643
+ const resumeIter = ctx.opts?.resumeLoopIter ?? 0;
644
+ const resumeSub = ctx.opts?.resumeLoopSub ?? 0;
645
+ for (let i = resumeIter; i < cap; i++) {
515
646
  const loopVars = new Map(ctx.vars);
516
647
  loopVars.set('i', String(i));
517
- for (const sub of subs) {
648
+ for (let s = 0; s < subs.length; s++) {
649
+ // 仅首个恢复迭代跳过已完成的子步骤
650
+ if (i === resumeIter && s < resumeSub)
651
+ continue;
652
+ ctx.pausePoint.loopIter = i;
653
+ ctx.pausePoint.loopSub = s;
518
654
  try {
519
- await runStep({ ...ctx, vars: loopVars }, sub);
655
+ await runStep({ ...ctx, vars: loopVars }, subs[s]);
520
656
  }
521
657
  catch (e) {
522
658
  if (e instanceof ExecError && e.category === 'index_out_of_range') {
@@ -531,23 +667,55 @@ async function runLoop(ctx, step) {
531
667
  }
532
668
  // ---- 流程执行 ----
533
669
  /**
534
- * 执行整个流程(失败即中止)。等价 Rust `run_flow`(全 async)。
670
+ * 执行整个流程(失败即中止;T015 起暂停类别错误 paused 等人工 resume)。
671
+ * 等价 Rust `run_flow`(全 async)。
535
672
  * vars 接受 Map 或 Record({keyword} / {i} 等插值来源)。
673
+ * opts.resumeStepIndex:从该顶层步骤索引继续(跳过已完成步骤,不重跑)——
674
+ * resume_run 语义(P0-2);缺省 undefined = 从头执行(与旧行为一致)。
536
675
  */
537
676
  export async function runFlow(flow, page, vars, opts) {
538
677
  const results = [];
539
678
  const varMap = vars instanceof Map ? vars : new Map(Object.entries(vars));
540
679
  let err;
541
- const ctx = { flowId: flow.id, page, vars: varMap, results, opts };
542
- for (const step of flow.steps) {
680
+ let paused;
681
+ const pauseCats = opts?.pauseCategories ?? DEFAULT_PAUSE_CATEGORIES;
682
+ const ctx = { flowId: flow.id, page, vars: varMap, results, opts, pausePoint: { stepIndex: 0 } };
683
+ const startIdx = opts?.resumeStepIndex ?? 0;
684
+ for (let i = startIdx; i < flow.steps.length; i++) {
685
+ ctx.pausePoint = { stepIndex: i };
543
686
  try {
544
- await runStep(ctx, step);
687
+ await runStep(ctx, flow.steps[i]);
545
688
  }
546
689
  catch (e) {
690
+ // T015 P0-1:暂停类别错误(login/env_check)→ 转 paused(保留已执行步骤 + resume 起点)
691
+ if (e instanceof ExecError && e.category !== undefined && pauseCats.includes(e.category)) {
692
+ err = e.message;
693
+ paused = {
694
+ reason: e.category,
695
+ at: new Date().toISOString(),
696
+ stepIndex: ctx.pausePoint.stepIndex,
697
+ loopIter: ctx.pausePoint.loopIter,
698
+ loopSub: ctx.pausePoint.loopSub,
699
+ };
700
+ break;
701
+ }
547
702
  err = e instanceof Error ? e.message : String(e);
548
703
  break;
549
704
  }
550
705
  }
706
+ if (paused) {
707
+ return {
708
+ flowId: flow.id,
709
+ status: 'paused',
710
+ error: err, // 暂停文案(未登录:引擎已暂停…)
711
+ steps: results,
712
+ pausedAt: paused.at,
713
+ pauseReason: paused.reason,
714
+ resumeStepIndex: paused.stepIndex,
715
+ resumeLoopIter: paused.loopIter,
716
+ resumeLoopSub: paused.loopSub,
717
+ };
718
+ }
551
719
  return { flowId: flow.id, status: err ? 'failed' : 'done', error: err, steps: results };
552
720
  }
553
721
  const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
package/dist/mask.d.ts CHANGED
@@ -28,5 +28,9 @@ export declare function maskKeywordInText(text: string, keyword: string): string
28
28
  * - 只替换关键词原文,不动类别短语(「不含」/「超时」/「未命中」等)——
29
29
  * 失败类别判定不受影响
30
30
  * - 空串/空列表跳过(无关键词上下文时原样返回)
31
+ * - T016 P0-2:**短关键词(<3 字)跳过**——猎头 0.5.6 验收发现 limit='3' 被当关键词,
32
+ * 把误开公司页 URL 里的普通字符 `3` 替换成 `<keyword>`(`gongsi/...d3afa1nd_3du9...`
33
+ * → `<keyword>` 污染 URL)。单/双字符值太通用,掩码会破坏 URL/ID 可读性;敏感输入
34
+ * (搜索词等)通常 ≥3 字。
31
35
  */
32
36
  export declare function maskKeywords(text: string, keywords: string[]): string;
package/dist/mask.js CHANGED
@@ -53,11 +53,15 @@ export function maskKeywordInText(text, keyword) {
53
53
  * - 只替换关键词原文,不动类别短语(「不含」/「超时」/「未命中」等)——
54
54
  * 失败类别判定不受影响
55
55
  * - 空串/空列表跳过(无关键词上下文时原样返回)
56
+ * - T016 P0-2:**短关键词(<3 字)跳过**——猎头 0.5.6 验收发现 limit='3' 被当关键词,
57
+ * 把误开公司页 URL 里的普通字符 `3` 替换成 `<keyword>`(`gongsi/...d3afa1nd_3du9...`
58
+ * → `<keyword>` 污染 URL)。单/双字符值太通用,掩码会破坏 URL/ID 可读性;敏感输入
59
+ * (搜索词等)通常 ≥3 字。
56
60
  */
57
61
  export function maskKeywords(text, keywords) {
58
62
  if (keywords.length === 0)
59
63
  return text;
60
- const ks = keywords.filter((k) => k.length > 0);
64
+ const ks = keywords.filter((k) => k.length > 0 && [...k].length >= 3);
61
65
  if (ks.length === 0)
62
66
  return text;
63
67
  ks.sort((a, b) => b.length - a.length);
package/dist/mask.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mask.js","sourceRoot":"","sources":["../src/mask.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,uBAAuB;AACvB,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAA;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAA;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAA;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAA;AAEtC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACpB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAA;IACpC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,EAAE,CAAA;AACrD,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,IAAI,GAAG,GAAG,GAAG,CAAA;IACb,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI;QACnB,CAAC,WAAW,EAAE,OAAO,CAAC;QACtB,CAAC,SAAS,EAAE,OAAO,CAAC;QACpB,CAAC,QAAQ,EAAE,SAAS,CAAC;KACb,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;YACtC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAA;YAC1D,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAe;IAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAkB;IAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC/C,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAChC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;IACtC,IAAI,GAAG,GAAG,IAAI,CAAA;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACnB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"mask.js","sourceRoot":"","sources":["../src/mask.ts"],"names":[],"mappings":"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"}
package/dist/record.d.ts CHANGED
@@ -8,14 +8,25 @@ export interface RunRecord {
8
8
  runId: string;
9
9
  flowId: string;
10
10
  flowVersion: number;
11
- /** done / failed / interrupted(D6 阶段5:中断落盘,已执行步骤不丢) */
12
- status: 'done' | 'failed' | 'interrupted';
11
+ /** done / failed / interrupted(D6 阶段5:中断落盘,已执行步骤不丢)/ paused(T015 P0-1:人工接管暂停,resume_run 继续) */
12
+ status: 'done' | 'failed' | 'interrupted' | 'paused';
13
13
  error?: string;
14
14
  /** D7:发起者标识(run_flow owner 参数,缺省 'local';多 Agent 问责用) */
15
15
  owner?: string;
16
16
  /** ISO 时间(如 2026-08-24T00:00:00Z) */
17
17
  startedAt: string;
18
18
  steps: StepRecord[];
19
+ /** T015 P0-1:暂停时刻(ISO;status=paused 时) */
20
+ pausedAt?: string;
21
+ /** T015 P0-1:暂停原因(login / env_check / paused;status=paused 时) */
22
+ pauseReason?: 'login' | 'env_check' | 'paused';
23
+ /** T015 P0-2:resume 起点——顶层步骤索引(resume_run 从该点继续,不重跑已完成步骤) */
24
+ resumeStepIndex?: number;
25
+ /** T015 P0-2:resume 起点——loop 内迭代/子步骤偏移(暂停点在 loop 子步骤内时) */
26
+ resumeLoopIter?: number;
27
+ resumeLoopSub?: number;
28
+ /** T015 P0-2:本次运行的变量({keyword} 等插值来源;paused 时持久化,resume_run 复用——RunRecord 原本不存 vars,暂停恢复必须带上) */
29
+ vars?: Record<string, string>;
19
30
  }
20
31
  export interface StepRecord {
21
32
  stepId: string;
@@ -36,6 +47,8 @@ export interface StepRecord {
36
47
  selectorHit?: string;
37
48
  /** 冷却锚点(D-C1:wait 步骤 coolKey;server 层据此记账) */
38
49
  cooldownKey?: string;
50
+ /** T014 P0-1:本步自动判定的区域标签(旁路观察;run.json 新增可选字段) */
51
+ region?: string;
39
52
  }
40
53
  export interface VerifyRecord {
41
54
  waitSelector?: string;
@@ -54,9 +67,17 @@ export declare function fromFlowResult(runId: string, flowId: string, flowVersio
54
67
  * 掩码前移与 fromFlowResult 同(error/verify.detail 落盘时刻脱敏)。
55
68
  */
56
69
  export declare function fromEvents(runId: string, flowId: string, flowVersion: number, events: StepEvent[], meta: {
57
- status: 'done' | 'failed' | 'interrupted';
70
+ status: 'done' | 'failed' | 'interrupted' | 'paused';
58
71
  error?: string;
59
72
  startedAt: string;
60
73
  owner?: string;
61
74
  keywords: string[];
75
+ /** T015 P0-1:暂停信息(status=paused 时落盘;resume_run 据此继续) */
76
+ pausedAt?: string;
77
+ pauseReason?: 'login' | 'env_check' | 'paused';
78
+ resumeStepIndex?: number;
79
+ resumeLoopIter?: number;
80
+ resumeLoopSub?: number;
81
+ /** T015 P0-2:本次运行变量(暂停时持久化,resume_run 复用插值上下文) */
82
+ vars?: Record<string, string>;
62
83
  }): RunRecord;