pageqa 0.5.0 → 0.6.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/agent.js CHANGED
@@ -153,12 +153,14 @@ export async function runAgent(input, opts = {}) {
153
153
  closeSession(holder.id);
154
154
  }
155
155
  }
156
- /** runAgent 的实际编排逻辑;session 记录到 holder 供调用方兜底清理。 */
157
- async function runAgentCore(input, opts, holder) {
156
+ /**
157
+ * 阶段一:准备运行环境。
158
+ * 完成 LLM 后端创建、bsk 就绪检查、session 创建、工具组装、Agent 实例化与事件订阅。
159
+ */
160
+ async function initializeAgent(input, opts, holder) {
158
161
  const debug = opts.debug ?? false;
159
- setDebug(debug);
160
162
  const log = debugLog;
161
- const t0 = Date.now();
163
+ const startedAt = Date.now();
162
164
  log("[runAgent] 开始,输入长度=" + input.length);
163
165
  // 由 pageqa 统一给用例的每行编号后再交给模型:模型输出的「步骤完成:k/n」
164
166
  // 就能映射回用例原文,报告可直接指出「停在哪一步、下一步该做什么」。
@@ -175,8 +177,7 @@ async function runAgentCore(input, opts, holder) {
175
177
  holder.id = session;
176
178
  log("[runAgent] bsk session=" + session);
177
179
  info(`[pageqa] bsk session=${session}`);
178
- const jevCfg = loadConfig().jev;
179
- const jevClient = new JevClient(jevCfg, debug);
180
+ const jevClient = new JevClient(loadConfig().jev, debug);
180
181
  log("[runAgent] Jev enabled=" + jevClient.enabled);
181
182
  info(`[pageqa] 语义断言(Jev)${jevClient.enabled ? "已启用" : "未启用"}`);
182
183
  const tools = createBskTools({ session, jevClient });
@@ -209,8 +210,17 @@ async function runAgentCore(input, opts, holder) {
209
210
  return trimmed;
210
211
  },
211
212
  });
212
- // 工具执行进度始终打印(默认可见),让长流程每跑一步都有回显;
213
- // 避免出现「终端长时间无输出、不知道卡在哪一步」的观感。
213
+ subscribeProgress(agent, events);
214
+ return { agent, events, numbered, steps, startedAt };
215
+ }
216
+ /**
217
+ * 订阅 agent 事件,把工具调用与模型输出记入 events,并把进度回显到 stderr。
218
+ *
219
+ * 工具执行进度始终打印(默认可见),让长流程每跑一步都有回显;
220
+ * 避免出现「终端长时间无输出、不知道卡在哪一步」的观感。
221
+ */
222
+ function subscribeProgress(agent, events) {
223
+ const log = debugLog;
214
224
  let toolCount = 0;
215
225
  let toolStartedAt = 0;
216
226
  let firstTextLogged = false;
@@ -239,13 +249,19 @@ async function runAgentCore(input, opts, holder) {
239
249
  events.push(e.assistantMessageEvent.delta);
240
250
  }
241
251
  });
252
+ }
253
+ /**
254
+ * 阶段二:发首次用例,并在「有明确证据表明还没执行完」时续跑。
255
+ * 证据 = agent 自报进度未满,或用例中断言数还没跑够;进度无推进则提前停止。
256
+ */
257
+ async function executeWithContinuations(session, input) {
258
+ const { agent, events, numbered } = session;
259
+ const log = debugLog;
242
260
  log("[runAgent] 发送 prompt...");
243
261
  info("[pageqa] 已提交用例,等待模型与浏览器执行…");
244
262
  await agent.prompt(numbered);
245
263
  log("[runAgent] prompt 完成,等待 idle...");
246
264
  await agent.waitForIdle();
247
- // 续跑:只在「有明确证据表明还没执行完」时才追问,避免正常用例被多余打扰。
248
- // 证据 = agent 自报进度未满,或用例中断言数还没跑够。
249
265
  const expectedAssertions = countAssertions(input);
250
266
  let lastSignature = null;
251
267
  for (let round = 0; round < MAX_CONTINUATIONS; round++) {
@@ -282,7 +298,15 @@ async function runAgentCore(input, opts, holder) {
282
298
  await agent.prompt(continuePrompt(progress));
283
299
  await agent.waitForIdle();
284
300
  }
285
- log("[runAgent] idle 完成,耗时=" + (Date.now() - t0) + "ms");
301
+ log("[runAgent] idle 完成,耗时=" + (Date.now() - session.startedAt) + "ms");
302
+ }
303
+ /**
304
+ * 阶段三:根据执行轨迹整理报告。
305
+ * agent 因错误/上下文超限中断时,绝不当作「正常跑完」,而是显式追加强制失败断言。
306
+ */
307
+ function finalizeResult(session, input) {
308
+ const { agent, events, startedAt } = session;
309
+ const log = debugLog;
286
310
  // 循环可能因模型报错/上下文超限而提前结束;此时绝不能当成「正常跑完」。
287
311
  const agentError = agent.state.errorMessage;
288
312
  log("[runAgent] 消息数=" +
@@ -307,7 +331,7 @@ async function runAgentCore(input, opts, holder) {
307
331
  report.usage = usage;
308
332
  log("[runAgent] " + formatUsage(usage));
309
333
  info(`[pageqa] 用例结束:${report.status === "pass" ? "PASS" : "FAIL"},` +
310
- `断言 ${report.assertions.length} 条,耗时 ${((Date.now() - t0) / 1000).toFixed(1)}s`);
334
+ `断言 ${report.assertions.length} 条,耗时 ${((Date.now() - startedAt) / 1000).toFixed(1)}s`);
311
335
  return {
312
336
  report,
313
337
  text: renderText(report),
@@ -316,6 +340,13 @@ async function runAgentCore(input, opts, holder) {
316
340
  usage,
317
341
  };
318
342
  }
343
+ /** runAgent 的实际编排逻辑;session 记录到 holder 供调用方兜底清理。 */
344
+ async function runAgentCore(input, opts, holder) {
345
+ setDebug(opts.debug ?? false);
346
+ const session = await initializeAgent(input, opts, holder);
347
+ await executeWithContinuations(session, input);
348
+ return finalizeResult(session, input);
349
+ }
319
350
  /** 把一个脚本拆分为多个场景(按 `## ` 二级标题分隔)。无标题则整体作为一个场景。 */
320
351
  export function splitScenarios(script) {
321
352
  const lines = script.split(/\r?\n/);
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,eAAe,EACf,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,GAGd,MAAM,aAAa,CAAC;AAqBrB,MAAM,qBAAqB,GAAG;IAC5B,6CAA6C;IAC7C,EAAE;IACF,OAAO;IACP,uBAAuB;IACvB,oDAAoD;IACpD,sFAAsF;IACtF,uEAAuE;IACvE,oCAAoC;IACpC,uDAAuD;IACvD,EAAE;IACF,eAAe;IACf,yCAAyC;IACzC,sDAAsD;IACtD,yCAAyC;IACzC,oEAAoE;IACpE,iDAAiD;IACjD,EAAE;IACF,iBAAiB;IACjB,qFAAqF;IACrF,mEAAmE;IACnE,+CAA+C;IAC/C,uDAAuD;IACvD,8DAA8D;IAC9D,sEAAsE;IACtE,gFAAgF;IAChF,EAAE;IACF,oBAAoB;IACpB,qEAAqE;IACrE,yFAAyF;IACzF,uFAAuF;IACvF,yHAAyH;IACzH,8EAA8E;IAC9E,EAAE;IACF,kBAAkB;IAClB,wDAAwD;IACxD,kFAAkF;IAClF,gDAAgD;IAChD,uCAAuC;IACvC,8DAA8D;IAC9D,EAAE;IACF,sBAAsB;CACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,qCAAqC;AACrC,4CAA4C;AAC5C,qBAAqB;AACrB,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,YAAY,GAAG,WAAW,CAAC;AAEjC,0CAA0C;AAC1C,8CAA8C;AAC9C,wBAAwB;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,yCAAyC;AACzC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,0CAA0C;AAC1C,SAAS,cAAc,CACrB,QAAgD;IAEhD,MAAM,IAAI,GACR,qEAAqE,CAAC;IACxE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CACL,gBAAgB,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,WAAW;YAC1D,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAC,eAAe;YACvC,IAAI,CACL,CAAC;IACJ,CAAC;IACD,OAAO,CACL,oDAAoD;QACpD,YAAY;QACZ,IAAI;QACJ,wBAAwB,CACzB,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,SAAS,YAAY,CAAC,QAAwB;IAC5C,IAAI,GAAG,GAAG,UAAU,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QACrC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sCAAsC;AACtC,SAAS,OAAO,CAAC,KAAa,EAAE,GAAG,GAAG,EAAE;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AACtE,CAAC;AAED,oBAAoB;AACpB,SAAS,aAAa,CAAC,QAAwB;IAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,OAAO,GAAI,CAA2B,CAAC,OAAO,CAAC;QACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,OAA8B,EAAE,CAAC;gBAClD,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ;oBAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,uCAAuC;AACvC,SAAS,kBAAkB,CACzB,QAAwB,EACxB,UAAkB,EAClB,QAAgB;IAEhB,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;IACzC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,GAAG;YAAE,OAAO,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,CAAyC,CAAC;QACtD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,CAAC;QACvE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,OAAO,GAAI,GAAG,CAAC,OAA8C,CAAC,GAAG,CACrE,CAAC,IAAI,EAAE,EAAE;YACP,IACE,IAAI,EAAE,IAAI,KAAK,MAAM;gBACrB,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ;gBAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAChC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;oBAC5B,KAAK,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,uBAAuB;aACzE,CAAC;QACJ,CAAC,CACF,CAAC;QACF,OAAO,OAAO,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,EAAE,OAAO,EAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAa,EACb,OAAqB,EAAE;IAEvB,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;YAAS,CAAC;QACT,IAAI,MAAM,CAAC,EAAE;YAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,KAAK,UAAU,YAAY,CACzB,KAAa,EACb,IAAkB,EAClB,MAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChB,MAAM,GAAG,GAAG,QAAQ,CAAC;IAErB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,4CAA4C;IAC5C,oCAAoC;IACpC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,CACF,iBAAiB,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,CAC1E,CAAC;IAEF,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC7C,GAAG,CAAC,6BAA6B,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,0BAA0B,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3C,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACvC,MAAM,cAAc,EAAE,CAAC;IACvB,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC;IACpB,GAAG,CAAC,yBAAyB,GAAG,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/C,GAAG,CAAC,yBAAyB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,qBAAqB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,GAAG,CACD,iBAAiB;QACf,KAAK,CAAC,MAAM;QACZ,GAAG;QACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACtC,CAAC;IACF,IAAI,CACF,kBAAkB,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,MAAM,gBAAgB,CACxE,CAAC;IAEF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,YAAY,EAAE;YACZ,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,qBAAqB;YACxD,KAAK;YACL,KAAK;SACN;QACD,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1C,qCAAqC;QACrC,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,MAAM,IAAI,kBAAkB;gBAAE,OAAO,QAAQ,CAAC;YAClD,MAAM,OAAO,GAAG,kBAAkB,CAChC,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;YACF,GAAG,CACD,mBAAmB;gBACjB,MAAM;gBACN,MAAM;gBACN,aAAa,CAAC,OAAO,CAAC;gBACtB,SAAS;gBACT,QAAQ,CAAC,MAAM;gBACf,KAAK,CACR,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC,CAAC;IAEH,iCAAiC;IACjC,8BAA8B;IAC9B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YACpC,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YACrC,SAAS,IAAI,CAAC,CAAC;YACf,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC3C,+BAA+B;YAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvE,GAAG,CACD,cAAc,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAC/D,CAAC;YACF,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,IAAI,CACF,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE;gBAC7D,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAChD,CAAC;QACJ,CAAC;aAAM,IACL,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAC3B,CAAC,CAAC,qBAAqB,EAAE,IAAI,KAAK,YAAY,EAC9C,CAAC;YACD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,eAAe,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC/B,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACnC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACvC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;IAE1B,uCAAuC;IACvC,iCAAiC;IACjC,MAAM,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY;YAAE,MAAM;QACpC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;QACvD,MAAM,UAAU,GAAG,QAAQ;YACzB,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK;YAChC,CAAC,CAAC,kBAAkB,GAAG,CAAC,IAAI,MAAM,GAAG,kBAAkB,CAAC;QAC1D,IAAI,CAAC,UAAU;YAAE,MAAM;QAEvB,MAAM,SAAS,GACb,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC;QACzE,IAAI,KAAK,GAAG,CAAC,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;YAC7C,GAAG,CAAC,sBAAsB,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;YACnD,MAAM;QACR,CAAC;QACD,aAAa,GAAG,SAAS,CAAC;QAC1B,MAAM,IAAI,GACR,eAAe;YACf,CAAC,KAAK,GAAG,CAAC,CAAC;YACX,UAAU;YACV,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACzD,MAAM;YACN,MAAM;YACN,GAAG;YACH,kBAAkB;YAClB,KAAK,CAAC;QACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,CACF,sBAAsB,KAAK,GAAG,CAAC,UAAU;YACvC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG;YAC7D,MAAM,MAAM,IAAI,kBAAkB,GAAG,CACxC,CAAC;QACF,MAAM,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,wBAAwB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAEzD,sCAAsC;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;IAC5C,GAAG,CACD,iBAAiB;QACf,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;QAC3B,MAAM;QACN,CAAC,UAAU,IAAI,GAAG,CAAC,CACtB,CAAC;IACF,IAAI,UAAU;QAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YACrB,WAAW,EAAE,sBAAsB;YACnC,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;IACL,CAAC;IACD,GAAG,CACD,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CACtE,CAAC;IAEF,+CAA+C;IAC/C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,GAAG,CAAC,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,IAAI,CACF,iBAAiB,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG;QAC5D,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAClF,CAAC;IAEF,OAAO;QACL,MAAM;QACN,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,UAAU;QACV,KAAK;KACN,CAAC;AACJ,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,YAAY,GAAG,EAAE,CAAC;IACpB,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC;YACN,KAAK,EAAE,CAAC;YACR,UAAU,GAAG,IAAI,CAAC;YAClB,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,8BAA8B;IAChC,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,SAAS,CAAC,MAAM;QACrB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,+BAA+B;AAC/B,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAc,EACd,OAAqB,EAAE;IAEvB,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,CACF,gBAAgB,SAAS,CAAC,MAAM,OAAO;QACrC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAC3C,CAAC;IACF,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,IAAI,CACF,mBAAmB,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,MAAM,CAC9D,CAAC;QACF,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CACF,mBAAmB,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,MAAM;YAChD,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CACxD,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;QAC9D,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACjF,MAAM,OAAO,GAAe;QAC1B,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,GAAG,CAAC;YACJ,WAAW,EACT,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW;SACrE,CAAC,CAAC,CACJ;QACD,OAAO,EACL,IAAI;YACJ,OAAO,CAAC,MAAM;YACd,UAAU;YACV,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;YACxD,IAAI;QACN,UAAU,EAAE,OAAO;aAChB,GAAG,CACF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,KAAK;YACL,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI;YACJ,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CACtB;aACA,IAAI,CAAC,MAAM,CAAC;QACf,mDAAmD;QACnD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;YACvB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU;SAChC,CAAC,CAAC;QACH,KAAK;KACN,CAAC;IACF,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;QAClD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,CAAkB;IACpC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACxC,CAAC;AAED,SAAS,aAAa,CAAC,CAItB;IACC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,OAAO,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,UAAU,CAAC,CAAa;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,OAAO;QAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CACtB,OAAmB,EACnB,OAAyB,EACzB,SAA2C;IAE3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,SAAS;YACP,CAAC,CAAC,GAAG,CAAC,CAAC;YACP,GAAG;YACH,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI;YACJ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9C,OAAO,CACV,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9D,0CAA0C;QAC1C,2BAA2B;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC;YAC5D,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,eAAe,EACf,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,GAGd,MAAM,aAAa,CAAC;AAqBrB,MAAM,qBAAqB,GAAG;IAC5B,6CAA6C;IAC7C,EAAE;IACF,OAAO;IACP,uBAAuB;IACvB,oDAAoD;IACpD,sFAAsF;IACtF,uEAAuE;IACvE,oCAAoC;IACpC,uDAAuD;IACvD,EAAE;IACF,eAAe;IACf,yCAAyC;IACzC,sDAAsD;IACtD,yCAAyC;IACzC,oEAAoE;IACpE,iDAAiD;IACjD,EAAE;IACF,iBAAiB;IACjB,qFAAqF;IACrF,mEAAmE;IACnE,+CAA+C;IAC/C,uDAAuD;IACvD,8DAA8D;IAC9D,sEAAsE;IACtE,gFAAgF;IAChF,EAAE;IACF,oBAAoB;IACpB,qEAAqE;IACrE,yFAAyF;IACzF,uFAAuF;IACvF,yHAAyH;IACzH,8EAA8E;IAC9E,EAAE;IACF,kBAAkB;IAClB,wDAAwD;IACxD,kFAAkF;IAClF,gDAAgD;IAChD,uCAAuC;IACvC,8DAA8D;IAC9D,EAAE;IACF,sBAAsB;CACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,qCAAqC;AACrC,4CAA4C;AAC5C,qBAAqB;AACrB,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,YAAY,GAAG,WAAW,CAAC;AAEjC,0CAA0C;AAC1C,8CAA8C;AAC9C,wBAAwB;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,yCAAyC;AACzC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,0CAA0C;AAC1C,SAAS,cAAc,CACrB,QAAgD;IAEhD,MAAM,IAAI,GACR,qEAAqE,CAAC;IACxE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CACL,gBAAgB,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,WAAW;YAC1D,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAC,eAAe;YACvC,IAAI,CACL,CAAC;IACJ,CAAC;IACD,OAAO,CACL,oDAAoD;QACpD,YAAY;QACZ,IAAI;QACJ,wBAAwB,CACzB,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,SAAS,YAAY,CAAC,QAAwB;IAC5C,IAAI,GAAG,GAAG,UAAU,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QACrC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sCAAsC;AACtC,SAAS,OAAO,CAAC,KAAa,EAAE,GAAG,GAAG,EAAE;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AACtE,CAAC;AAED,oBAAoB;AACpB,SAAS,aAAa,CAAC,QAAwB;IAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,OAAO,GAAI,CAA2B,CAAC,OAAO,CAAC;QACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC;QACtB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,OAA8B,EAAE,CAAC;gBAClD,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ;oBAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,uCAAuC;AACvC,SAAS,kBAAkB,CACzB,QAAwB,EACxB,UAAkB,EAClB,QAAgB;IAEhB,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;IACzC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,GAAG;YAAE,OAAO,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,CAAyC,CAAC;QACtD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,CAAC;QACvE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,OAAO,GAAI,GAAG,CAAC,OAA8C,CAAC,GAAG,CACrE,CAAC,IAAI,EAAE,EAAE;YACP,IACE,IAAI,EAAE,IAAI,KAAK,MAAM;gBACrB,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ;gBAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAChC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;oBAC5B,KAAK,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,uBAAuB;aACzE,CAAC;QACJ,CAAC,CACF,CAAC;QACF,OAAO,OAAO,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,EAAE,OAAO,EAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAa,EACb,OAAqB,EAAE;IAEvB,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;YAAS,CAAC;QACT,IAAI,MAAM,CAAC,EAAE;YAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAcD;;;GAGG;AACH,KAAK,UAAU,eAAe,CAC5B,KAAa,EACb,IAAkB,EAClB,MAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAClC,MAAM,GAAG,GAAG,QAAQ,CAAC;IACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,4CAA4C;IAC5C,oCAAoC;IACpC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,CACF,iBAAiB,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,CAC1E,CAAC;IAEF,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC7C,GAAG,CAAC,6BAA6B,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,0BAA0B,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3C,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACvC,MAAM,cAAc,EAAE,CAAC;IACvB,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC;IACpB,GAAG,CAAC,yBAAyB,GAAG,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;IAExC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzD,GAAG,CAAC,yBAAyB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,qBAAqB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,GAAG,CACD,iBAAiB;QACf,KAAK,CAAC,MAAM;QACZ,GAAG;QACH,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACtC,CAAC;IACF,IAAI,CACF,kBAAkB,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,MAAM,gBAAgB,CACxE,CAAC;IAEF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,YAAY,EAAE;YACZ,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,qBAAqB;YACxD,KAAK;YACL,KAAK;SACN;QACD,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1C,qCAAqC;QACrC,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,MAAM,IAAI,kBAAkB;gBAAE,OAAO,QAAQ,CAAC;YAClD,MAAM,OAAO,GAAG,kBAAkB,CAChC,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;YACF,GAAG,CACD,mBAAmB;gBACjB,MAAM;gBACN,MAAM;gBACN,aAAa,CAAC,OAAO,CAAC;gBACtB,SAAS;gBACT,QAAQ,CAAC,MAAM;gBACf,KAAK,CACR,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC,CAAC;IAEH,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,KAAY,EAAE,MAAgB;IACvD,MAAM,GAAG,GAAG,QAAQ,CAAC;IACrB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YACpC,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YACrC,SAAS,IAAI,CAAC,CAAC;YACf,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC3C,+BAA+B;YAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvE,GAAG,CACD,cAAc,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAC/D,CAAC;YACF,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,IAAI,CACF,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE;gBAC7D,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAChD,CAAC;QACJ,CAAC;aAAM,IACL,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAC3B,CAAC,CAAC,qBAAqB,EAAE,IAAI,KAAK,YAAY,EAC9C,CAAC;YACD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,eAAe,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,wBAAwB,CACrC,OAAqB,EACrB,KAAa;IAEb,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC;IAErB,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC/B,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACnC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACvC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;IAE1B,MAAM,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY;YAAE,MAAM;QACpC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;QACvD,MAAM,UAAU,GAAG,QAAQ;YACzB,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK;YAChC,CAAC,CAAC,kBAAkB,GAAG,CAAC,IAAI,MAAM,GAAG,kBAAkB,CAAC;QAC1D,IAAI,CAAC,UAAU;YAAE,MAAM;QAEvB,MAAM,SAAS,GACb,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC;QACzE,IAAI,KAAK,GAAG,CAAC,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;YAC7C,GAAG,CAAC,sBAAsB,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;YACnD,MAAM;QACR,CAAC;QACD,aAAa,GAAG,SAAS,CAAC;QAC1B,MAAM,IAAI,GACR,eAAe;YACf,CAAC,KAAK,GAAG,CAAC,CAAC;YACX,UAAU;YACV,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACzD,MAAM;YACN,MAAM;YACN,GAAG;YACH,kBAAkB;YAClB,KAAK,CAAC;QACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,CACF,sBAAsB,KAAK,GAAG,CAAC,UAAU;YACvC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG;YAC7D,MAAM,MAAM,IAAI,kBAAkB,GAAG,CACxC,CAAC;QACF,MAAM,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,wBAAwB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,OAAqB,EAAE,KAAa;IAC1D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC;IAErB,sCAAsC;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;IAC5C,GAAG,CACD,iBAAiB;QACf,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;QAC3B,MAAM;QACN,CAAC,UAAU,IAAI,GAAG,CAAC,CACtB,CAAC;IACF,IAAI,UAAU;QAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YACrB,WAAW,EAAE,sBAAsB;YACnC,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;IACL,CAAC;IACD,GAAG,CACD,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CACtE,CAAC;IAEF,+CAA+C;IAC/C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,GAAG,CAAC,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,IAAI,CACF,iBAAiB,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG;QAC5D,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzF,CAAC;IAEF,OAAO;QACL,MAAM;QACN,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,UAAU;QACV,KAAK;KACN,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,KAAK,UAAU,YAAY,CACzB,KAAa,EACb,IAAkB,EAClB,MAAqB;IAErB,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,wBAAwB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,YAAY,GAAG,EAAE,CAAC;IACpB,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,CAAC;YACN,KAAK,EAAE,CAAC;YACR,UAAU,GAAG,IAAI,CAAC;YAClB,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,8BAA8B;IAChC,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,SAAS,CAAC,MAAM;QACrB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,+BAA+B;AAC/B,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAc,EACd,OAAqB,EAAE;IAEvB,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,CACF,gBAAgB,SAAS,CAAC,MAAM,OAAO;QACrC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAC3C,CAAC;IACF,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,IAAI,CACF,mBAAmB,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,MAAM,CAC9D,CAAC;QACF,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CACF,mBAAmB,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,MAAM;YAChD,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CACxD,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;QAC9D,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACjF,MAAM,OAAO,GAAe;QAC1B,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,GAAG,CAAC;YACJ,WAAW,EACT,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW;SACrE,CAAC,CAAC,CACJ;QACD,OAAO,EACL,IAAI;YACJ,OAAO,CAAC,MAAM;YACd,UAAU;YACV,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;YACxD,IAAI;QACN,UAAU,EAAE,OAAO;aAChB,GAAG,CACF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,KAAK;YACL,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI;YACJ,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CACtB;aACA,IAAI,CAAC,MAAM,CAAC;QACf,mDAAmD;QACnD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;YACvB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU;SAChC,CAAC,CAAC;QACH,KAAK;KACN,CAAC;IACF,OAAO;QACL,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;QAClD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,CAAkB;IACpC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACxC,CAAC;AAED,SAAS,aAAa,CAAC,CAItB;IACC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,OAAO,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,UAAU,CAAC,CAAa;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,OAAO;QAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CACtB,OAAmB,EACnB,OAAyB,EACzB,SAA2C;IAE3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,SAAS;YACP,CAAC,CAAC,GAAG,CAAC,CAAC;YACP,GAAG;YACH,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI;YACJ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9C,OAAO,CACV,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9D,0CAA0C;QAC1C,2BAA2B;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC;YAC5D,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
package/dist/bsk/tools.js CHANGED
@@ -1,4 +1,4 @@
1
- import { execFileSync, spawn } from "node:child_process";
1
+ import { execFile, execFileSync, spawn } from "node:child_process";
2
2
  import { existsSync } from "node:fs";
3
3
  import { debugLog, info, timer } from "../log.js";
4
4
  /**
@@ -35,23 +35,37 @@ function bsk(args) {
35
35
  throw err;
36
36
  }
37
37
  }
38
- /** 运行 `bsk status --json`,成功返回解析后的对象;daemon 未运行/其他错误返回 null。
39
- * 注意:bsk 未安装(ENOENT)是致命错误,会向上抛出。 */
40
- function bskStatusJson() {
41
- try {
42
- const out = bsk(["status", "--json"]);
43
- return JSON.parse(out);
44
- }
45
- catch (err) {
46
- const e = err;
47
- if (e.code === "ENOENT")
48
- throw err;
49
- return null;
50
- }
38
+ /**
39
+ * `bsk status --json` 的异步版本。
40
+ *
41
+ * 与同步版返回语义一致:daemon 未运行/解析失败返回 null;bsk 未安装(ENOENT)抛出致命错误。
42
+ * 用于 daemon 启动轮询:轮询期间必须让出事件循环,否则同步子进程调用会阻塞
43
+ * 整个进程,导致启动等待期(最长 30s)无法响应 Ctrl+C 等信号。
44
+ */
45
+ function bskStatusJsonAsync() {
46
+ return new Promise((resolve, reject) => {
47
+ execFile("bsk", ["status", "--json"], { encoding: "utf-8", timeout: BSK_TIMEOUT_MS, windowsHide: true }, (err, stdout) => {
48
+ if (err) {
49
+ const e = err;
50
+ if (e.code === "ENOENT") {
51
+ reject(new Error("未找到 bsk 命令:请先安装 browserskill 并确认 bsk 在 PATH 中"));
52
+ return;
53
+ }
54
+ resolve(null);
55
+ return;
56
+ }
57
+ try {
58
+ resolve(JSON.parse(stdout));
59
+ }
60
+ catch {
61
+ resolve(null);
62
+ }
63
+ });
64
+ });
51
65
  }
52
- /** 当前是否已连接至少一个浏览器(从 status 解析)。 */
53
- function connectedBrowserCount() {
54
- const status = bskStatusJson();
66
+ /** 当前是否已连接至少一个浏览器(从 status 解析,异步)。 */
67
+ async function connectedBrowserCount() {
68
+ const status = (await bskStatusJsonAsync());
55
69
  if (!status || !Array.isArray(status.browsers))
56
70
  return 0;
57
71
  return status.browsers.length;
@@ -67,7 +81,7 @@ function startDaemon() {
67
81
  });
68
82
  child.unref();
69
83
  const deadline = Date.now() + 30_000;
70
- const poll = () => {
84
+ const poll = async () => {
71
85
  try {
72
86
  if (child.exitCode !== null && child.exitCode !== 0) {
73
87
  reject(new Error(`bsk daemon 启动失败,退出码 ${child.exitCode}`));
@@ -77,7 +91,16 @@ function startDaemon() {
77
91
  catch {
78
92
  // 子进程状态读取失败,继续轮询
79
93
  }
80
- if (bskStatusJson() !== null) {
94
+ let status;
95
+ try {
96
+ status = await bskStatusJsonAsync();
97
+ }
98
+ catch (err) {
99
+ // bsk 未安装(ENOENT):致命错误,直接失败而不是空等 30s
100
+ reject(err instanceof Error ? err : new Error(String(err)));
101
+ return;
102
+ }
103
+ if (status !== null) {
81
104
  info(`[pageqa] bsk daemon 已就绪(${((Date.now() - started) / 1000).toFixed(1)}s)`);
82
105
  resolve();
83
106
  return;
@@ -102,13 +125,13 @@ export function ensureBskReady() {
102
125
  return readyPromise;
103
126
  readyPromise = (async () => {
104
127
  debugLog("[bsk] 查询 daemon 状态…");
105
- if (bskStatusJson() === null) {
128
+ if ((await bskStatusJsonAsync()) === null) {
106
129
  await startDaemon();
107
130
  }
108
131
  else {
109
132
  debugLog("[bsk] daemon 已在运行,跳过启动");
110
133
  }
111
- const n = connectedBrowserCount();
134
+ const n = await connectedBrowserCount();
112
135
  if (n === 0) {
113
136
  throw new Error("bsk 未连接任何浏览器:pageqa 无法自动连接物理浏览器。\n" +
114
137
  "请在浏览器中安装 bsk 扩展并完成连接(或运行 `bsk session start` 按其提示连接),再重试。");
@@ -121,6 +144,21 @@ export function ensureBskReady() {
121
144
  function ok(text) {
122
145
  return { content: [{ type: "text", text }], details: {} };
123
146
  }
147
+ /**
148
+ * 构造 AgentTool 的 parameters 声明。
149
+ * pi-agent-core 的 parameters 类型与 JSON Schema 子集不完全兼容,
150
+ * 这里集中做一次类型断言,避免在每个工具定义里重复 `as unknown as ...`。
151
+ */
152
+ function paramsOf(properties, required = []) {
153
+ // SAFETY: pi-agent-core 的 AgentTool["parameters"] 类型是 JSON Schema 的受限子集,
154
+ // 与这里构造的 {type, properties, required} 结构在运行时兼容,但静态类型无法推导,
155
+ // 因此集中在此处断言一次(工具定义处不再重复断言)。
156
+ return {
157
+ type: "object",
158
+ properties,
159
+ required,
160
+ };
161
+ }
124
162
  /** 构造一组浏览器操作工具,供 page-test agent 调用。 */
125
163
  export function createBskTools(opts) {
126
164
  const s = opts.session;
@@ -130,12 +168,9 @@ export function createBskTools(opts) {
130
168
  name: "navigate",
131
169
  label: "Navigate",
132
170
  description: "在浏览器标签页打开一个 URL(支持 http/https/about: 等)。导航完成后页面 DOM 就绪。",
133
- // SAFETY: AgentTool["parameters"] 在此上下文中与 {type, properties, required} 结构兼容
134
- parameters: {
135
- type: "object",
136
- properties: { url: { type: "string", description: "目标 URL" } },
137
- required: ["url"],
138
- },
171
+ parameters: paramsOf({ url: { type: "string", description: "目标 URL" } }, [
172
+ "url",
173
+ ]),
139
174
  execute: async (_id, params) => {
140
175
  const p = params;
141
176
  const out = bsk([
@@ -152,11 +187,7 @@ export function createBskTools(opts) {
152
187
  name: "snapshot",
153
188
  label: "Snapshot",
154
189
  description: "读取当前页面的 aria 语义树与可见文本(标题、段落、链接、按钮等)。用于读取内容、标题、文本并定位元素。",
155
- // SAFETY: 空对象在此上下文中与 AgentTool["parameters"] 兼容
156
- parameters: {
157
- type: "object",
158
- properties: {},
159
- },
190
+ parameters: paramsOf({}),
160
191
  execute: async () => {
161
192
  const out = bsk(["snapshot", ...quiet]);
162
193
  // 快照体积直接决定上下文压力(长流程易因上下文超限被中断)
@@ -168,14 +199,7 @@ export function createBskTools(opts) {
168
199
  name: "click",
169
200
  label: "Click",
170
201
  description: "点击一个元素。可用快照里的 @eN 引用或 CSS 选择器。",
171
- // SAFETY: 结构匹配 AgentTool["parameters"]
172
- parameters: {
173
- type: "object",
174
- properties: {
175
- target: { type: "string", description: "@eN 引用或 CSS 选择器" },
176
- },
177
- required: ["target"],
178
- },
202
+ parameters: paramsOf({ target: { type: "string", description: "@eN 引用或 CSS 选择器" } }, ["target"]),
179
203
  execute: async (_id, params) => {
180
204
  const p = params;
181
205
  const out = bsk(["click", p.target, ...quiet]);
@@ -186,15 +210,10 @@ export function createBskTools(opts) {
186
210
  name: "fill",
187
211
  label: "Fill",
188
212
  description: "在输入框/文本域中填入文本(会先清空原有内容)。",
189
- // SAFETY: 结构匹配 AgentTool["parameters"]
190
- parameters: {
191
- type: "object",
192
- properties: {
193
- target: { type: "string", description: "@eN 引用或 CSS 选择器" },
194
- value: { type: "string", description: "要输入的文本" },
195
- },
196
- required: ["target", "value"],
197
- },
213
+ parameters: paramsOf({
214
+ target: { type: "string", description: "@eN 引用或 CSS 选择器" },
215
+ value: { type: "string", description: "要输入的文本" },
216
+ }, ["target", "value"]),
198
217
  execute: async (_id, params) => {
199
218
  const p = params;
200
219
  const out = bsk(["fill", p.target, "--value", p.value, ...quiet]);
@@ -209,18 +228,13 @@ export function createBskTools(opts) {
209
228
  "不传 target 时 bsk 自动在页面中查找文件输入框。" +
210
229
  "注意:原生文件选择框无法被自动化点击,因此不要先 click 触发按钮再调用本工具," +
211
230
  "直接调用 upload 并指定该按钮为 target 即可。",
212
- // SAFETY: 结构匹配 AgentTool["parameters"]
213
- parameters: {
214
- type: "object",
215
- properties: {
216
- target: {
217
- type: "string",
218
- description: "触发文件选择器的元素(@eN 引用或 CSS 选择器),或 file input 本身",
219
- },
220
- file: { type: "string", description: "待上传的本地文件绝对路径" },
231
+ parameters: paramsOf({
232
+ target: {
233
+ type: "string",
234
+ description: "触发文件选择器的元素(@eN 引用或 CSS 选择器),或 file input 本身",
221
235
  },
222
- required: ["file"],
223
- },
236
+ file: { type: "string", description: "待上传的本地文件绝对路径" },
237
+ }, ["file"]),
224
238
  execute: async (_id, params) => {
225
239
  const p = params;
226
240
  if (!existsSync(p.file)) {
@@ -238,14 +252,7 @@ export function createBskTools(opts) {
238
252
  name: "hover",
239
253
  label: "Hover",
240
254
  description: "悬停在一个元素上,用于触发悬停菜单/提示。",
241
- // SAFETY: 结构匹配 AgentTool["parameters"]
242
- parameters: {
243
- type: "object",
244
- properties: {
245
- target: { type: "string", description: "@eN 引用或 CSS 选择器" },
246
- },
247
- required: ["target"],
248
- },
255
+ parameters: paramsOf({ target: { type: "string", description: "@eN 引用或 CSS 选择器" } }, ["target"]),
249
256
  execute: async (_id, params) => {
250
257
  const p = params;
251
258
  const out = bsk(["hover", p.target, ...quiet]);
@@ -256,14 +263,7 @@ export function createBskTools(opts) {
256
263
  name: "scroll",
257
264
  label: "Scroll",
258
265
  description: "滚动到指定元素使其进入视口。",
259
- // SAFETY: 结构匹配 AgentTool["parameters"]
260
- parameters: {
261
- type: "object",
262
- properties: {
263
- target: { type: "string", description: "@eN 引用或 CSS 选择器" },
264
- },
265
- required: ["target"],
266
- },
266
+ parameters: paramsOf({ target: { type: "string", description: "@eN 引用或 CSS 选择器" } }, ["target"]),
267
267
  execute: async (_id, params) => {
268
268
  const p = params;
269
269
  const js = `(() => { const el = document.querySelector(${JSON.stringify(p.target)}); if (el) el.scrollIntoView({block:'center'}); return el ? 'scrolled' : 'element-not-found'; })()`;
@@ -275,12 +275,7 @@ export function createBskTools(opts) {
275
275
  name: "wait",
276
276
  label: "Wait",
277
277
  description: "等待一段时间(毫秒)或等待页面导航完成。",
278
- // SAFETY: 结构匹配 AgentTool["parameters"]
279
- parameters: {
280
- type: "object",
281
- properties: { ms: { type: "number", description: "等待毫秒数" } },
282
- required: [],
283
- },
278
+ parameters: paramsOf({ ms: { type: "number", description: "等待毫秒数" } }),
284
279
  execute: async (_id, params) => {
285
280
  const p = params ?? {};
286
281
  const ms = p.ms ?? 1000;
@@ -293,14 +288,9 @@ export function createBskTools(opts) {
293
288
  name: "assert_text",
294
289
  label: "Assert Text",
295
290
  description: "断言当前页面是否包含指定文本。返回「成立」或「不成立」并附上证据(命中片段)。用于校验测试结果。",
296
- // SAFETY: 结构匹配 AgentTool["parameters"]
297
- parameters: {
298
- type: "object",
299
- properties: {
300
- expectation: { type: "string", description: "期望在页面中出现的文本" },
301
- },
302
- required: ["expectation"],
303
- },
291
+ parameters: paramsOf({
292
+ expectation: { type: "string", description: "期望在页面中出现的文本" },
293
+ }, ["expectation"]),
304
294
  execute: async (_id, params) => {
305
295
  const p = params;
306
296
  const snap = bsk(["snapshot", ...quiet]);
@@ -323,8 +313,12 @@ export function createBskTools(opts) {
323
313
  : `语义匹配度 ${(prob * 100).toFixed(1)}%,未达到阈值 ${(jevClient.threshold * 100).toFixed(0)}%`;
324
314
  return ok(`断言「${p.expectation}」:${verdict}。${evidence}`);
325
315
  }
326
- catch {
327
- // Jev 调用失败:回退到原有的字符串包含逻辑
316
+ catch (err) {
317
+ // Jev 调用失败:回退到原有的字符串包含逻辑。
318
+ // 必须记录失败原因(超时/鉴权/网络等),否则用户只看到「Jev 不可用,已回退」,
319
+ // 却无法从 --debug 日志判断到底是哪一类故障。
320
+ debugLog("[bsk] Jev 断言失败,回退到字符串匹配:" +
321
+ (err instanceof Error ? err.message : String(err)));
328
322
  const hit = snap.includes(p.expectation);
329
323
  const verdict = hit ? "成立" : "不成立";
330
324
  const evidence = hit
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/bsk/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/bsk/tools.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -46,9 +46,7 @@ export function loadConfig() {
46
46
  /** 读取用户配置文件;不存在则创建默认文件并返回默认值。 */
47
47
  function readConfigFile() {
48
48
  if (!existsSync(CONFIG_PATH)) {
49
- ensureConfigDir();
50
- writeFileSync(CONFIG_PATH, JSON.stringify(DEFAULTS, null, 2), "utf8");
51
- return { ...DEFAULTS };
49
+ return createDefaultConfigFile();
52
50
  }
53
51
  try {
54
52
  const raw = readFileSync(CONFIG_PATH, "utf8");
@@ -64,6 +62,17 @@ function readConfigFile() {
64
62
  return { ...DEFAULTS };
65
63
  }
66
64
  }
65
+ /**
66
+ * 写出带默认值的配置文件(首次运行时调用)。
67
+ *
68
+ * 从 readConfigFile 中拆出,使“读配置的副作用会在磁盘上建文件”这件事显式可见,
69
+ * 而不是隐藏在名为“读取”的函数里。
70
+ */
71
+ function createDefaultConfigFile() {
72
+ ensureConfigDir();
73
+ writeFileSync(CONFIG_PATH, JSON.stringify(DEFAULTS, null, 2), "utf8");
74
+ return { ...DEFAULTS };
75
+ }
67
76
  /** 确保配置目录存在(首次运行时创建 ~/.pageqa)。 */
68
77
  export function ensureConfigDir() {
69
78
  if (!existsSync(CONFIG_DIR)) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { existsSync, readFileSync } from "node:fs";
3
+ import { fileURLToPath } from "node:url";
3
4
  import { runAgent, runSuite } from "./agent.js";
4
5
  import { ensureConfigDir, CONFIG_PATH, loadConfig } from "./config.js";
5
6
  import { expandVars, VAR_HELP } from "./vars.js";
@@ -19,9 +20,15 @@ function parseArgs(argv) {
19
20
  case "--help":
20
21
  args.help = true;
21
22
  break;
22
- case "--session":
23
- args.session = argv[++i];
23
+ case "--session": {
24
+ const v = argv[++i];
25
+ if (v === undefined) {
26
+ args.error = "--session 需要一个 session id 参数";
27
+ return args;
28
+ }
29
+ args.session = v;
24
30
  break;
31
+ }
25
32
  case "--json":
26
33
  args.json = true;
27
34
  break;
@@ -31,9 +38,15 @@ function parseArgs(argv) {
31
38
  case "--init-config":
32
39
  args.initConfig = true;
33
40
  break;
34
- case "--out":
35
- args.out = argv[++i];
41
+ case "--out": {
42
+ const v = argv[++i];
43
+ if (v === undefined) {
44
+ args.error = "--out 需要一个文件路径参数";
45
+ return args;
46
+ }
47
+ args.out = v;
36
48
  break;
49
+ }
37
50
  case "--debug":
38
51
  args.debug = true;
39
52
  break;
@@ -49,8 +62,11 @@ const HELP = `pageqa - 自然语言驱动的页面测试工具(pi-agent-core +
49
62
  用法:
50
63
  pageqa [options] <input>
51
64
 
52
- <input> 自然语言脚本文件(.md/.txt),或用引号包裹的内联文本
65
+ <input> 自然语言脚本文件(.md/.txt,路径含空格请用引号包裹)
66
+ 或用引号包裹的内联文本
53
67
  脚本中可用『## 场景名』分隔多个测试场景,自动批量运行
68
+ 路径中粘贴带来的不可见字符(Bidi/零宽)会被自动清理;
69
+ 若路径以 .md/.txt 结尾但文件不存在,会直接报错而非当作内联文本
54
70
 
55
71
  选项:
56
72
  --session <id> 指定已存在的 bsk session(默认自动创建)
@@ -94,20 +110,39 @@ ${VAR_HELP}
94
110
  pageqa examples/smoke.md --json
95
111
  pageqa examples/smoke.md --debug
96
112
  `;
97
- function readInput(input) {
98
- if (!input.includes("\n") &&
99
- (input.endsWith(".md") || input.endsWith(".txt"))) {
113
+ /**
114
+ * 从资源管理器「复制文件路径」或聊天工具粘贴路径时,常会夹带不可见的
115
+ * Bidi 控制符 / 零宽字符(如 U+202A LEFT-TO-RIGHT EMBEDDING、U+200B、U+FEFF)。
116
+ * 它们肉眼不可见,却会让 readFileSync 找不到文件,进而把路径误判成内联文本。
117
+ */
118
+ const INVISIBLE_CHARS = /[\u200B-\u200F\u202A-\u202E\u2066-\u2069\uFEFF]/g;
119
+ /** 清洗命令行传入的 <input>:去不可见字符、去首尾空白、去成对引号、去 file:// 前缀。 */
120
+ function cleanInput(raw) {
121
+ let s = raw.replace(INVISIBLE_CHARS, "").trim();
122
+ const quoted = s.match(/^(["'])([\s\S]*)\1$/);
123
+ if (quoted)
124
+ s = quoted[2].replace(INVISIBLE_CHARS, "").trim();
125
+ if (/^file:\/\//i.test(s)) {
100
126
  try {
101
- return expandVars(readFileSync(input, "utf8"));
127
+ s = fileURLToPath(s);
102
128
  }
103
129
  catch {
104
- // 不是文件:视为内联文本
130
+ // 非法 file URL:保持原样,后续按不存在处理
105
131
  }
106
132
  }
107
- return expandVars(input);
133
+ return s;
134
+ }
135
+ /** 是否"看起来"是一个脚本文件路径:单行且以 .md/.txt 结尾(大小写不敏感)。 */
136
+ function looksLikeScriptFile(input) {
137
+ return !/[\r\n]/.test(input) && /\.(md|txt)$/i.test(input);
108
138
  }
109
139
  async function main() {
110
140
  const args = parseArgs(process.argv.slice(2));
141
+ if (args.error) {
142
+ process.stderr.write(`参数错误:${args.error}\n\n`);
143
+ process.stdout.write(HELP + "\n");
144
+ return 1;
145
+ }
111
146
  if (args.help) {
112
147
  process.stdout.write(HELP + "\n");
113
148
  return 0;
@@ -124,14 +159,23 @@ async function main() {
124
159
  return 1;
125
160
  }
126
161
  setDebug(args.debug);
127
- const isFile = !args.input.includes("\n") &&
128
- (args.input.endsWith(".md") || args.input.endsWith(".txt")) &&
129
- existsSync(args.input);
130
- const input = readInput(args.input);
162
+ const rawInput = cleanInput(args.input);
163
+ const isFile = looksLikeScriptFile(rawInput) && existsSync(rawInput);
164
+ if (!isFile && looksLikeScriptFile(rawInput)) {
165
+ // 看起来是脚本文件路径但打不开:明确报错,避免把路径本身当成用例去"测试"
166
+ process.stderr.write(`找不到脚本文件:${rawInput}\n` +
167
+ ` - 请确认路径存在且拼写正确\n` +
168
+ ` - 若路径含空格,请用引号包裹(如 "C:\\dir\\my case.md")\n` +
169
+ ` - 若只想跑内联文本,请不要让文本以 .md/.txt 结尾\n`);
170
+ return 1;
171
+ }
172
+ const input = isFile
173
+ ? expandVars(readFileSync(rawInput, "utf8"))
174
+ : expandVars(rawInput);
131
175
  const hasScenarios = /^##\s+/m.test(input);
132
176
  const suiteMode = hasScenarios || args.suite;
133
177
  info("[pageqa] ===== 启动 =====");
134
- info(`[pageqa] 已读取${isFile ? `脚本文件 ${args.input}` : "内联用例"}(${input.length} 字符)`);
178
+ info(`[pageqa] 已读取${isFile ? `脚本文件 ${rawInput}` : "内联用例"}(${input.length} 字符)`);
135
179
  info(`[pageqa] 运行模式:${suiteMode ? "多场景套件" : "单场景"}` +
136
180
  `${args.session ? `,session=${args.session}` : ""}` +
137
181
  `${args.debug ? ",debug=on(stderr 含调试明细)" : ""}`);
@@ -158,4 +202,15 @@ main()
158
202
  process.stderr.write(`执行失败: ${err instanceof Error ? err.stack : String(err)}\n`);
159
203
  process.exit(1);
160
204
  });
205
+ // 兜底:main() 的 catch 只能捕获其 Promise 链内的错误。
206
+ // 工具执行、事件订阅回调等异步路径上抛出的异常不会被它捕获,
207
+ // 若不处理会直接静默崩溃(进程退出码非 0 但无任何报错信息)。
208
+ process.on("uncaughtException", (err) => {
209
+ process.stderr.write(`执行失败(未捕获异常): ${err instanceof Error ? err.stack : String(err)}\n`);
210
+ process.exit(1);
211
+ });
212
+ process.on("unhandledRejection", (reason) => {
213
+ process.stderr.write(`执行失败(未处理的 Promise rejection): ${reason instanceof Error ? reason.stack : String(reason)}\n`);
214
+ process.exit(1);
215
+ });
161
216
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/llm.js CHANGED
@@ -13,6 +13,27 @@ const MODELS = [
13
13
  { id: "hy3", name: "Hy3", contextWindow: 192000, maxOutput: 64000 },
14
14
  { id: "deepseek-v4.1-flash", name: "Deepseek-V4.1-Flash", contextWindow: 1_000_000, maxOutput: 128_000 },
15
15
  ];
16
+ /** 预设之外的模型使用的保守上下文窗口/输出上限(未知模型按最小预设处理,避免超出端点实际限制)。 */
17
+ const FALLBACK_CONTEXT_WINDOW = 32_000;
18
+ const FALLBACK_MAX_OUTPUT = 64_000;
19
+ /**
20
+ * 解析实际要注册的模型清单:预设模型沿用精确的 contextWindow/maxOutput;
21
+ * 用户配置了预设之外的模型时,动态补一条保守条目,使「改配置即用」成立
22
+ * (README 承诺 baseUrl/apiKey/model 均可配置、无需改代码)。
23
+ */
24
+ function resolveModels(modelId) {
25
+ if (MODELS.some((m) => m.id === modelId))
26
+ return MODELS;
27
+ return [
28
+ ...MODELS,
29
+ {
30
+ id: modelId,
31
+ name: modelId,
32
+ contextWindow: FALLBACK_CONTEXT_WINDOW,
33
+ maxOutput: FALLBACK_MAX_OUTPUT,
34
+ },
35
+ ];
36
+ }
16
37
  /** 构造一个静态解析的 ApiKeyAuth(避免交互式 env 探测)。 */
17
38
  function staticApiKeyAuth(apiKey, baseUrl) {
18
39
  return {
@@ -26,11 +47,12 @@ export function createLlmBackend() {
26
47
  const DEFAULT_API_KEY = cfg.apiKey;
27
48
  const DEFAULT_MODEL = cfg.model;
28
49
  const models = createModels();
50
+ const registered = resolveModels(DEFAULT_MODEL);
29
51
  const provider = createProvider({
30
52
  id: PROVIDER_ID,
31
53
  name: "OpenAI Compatible (自定义端点)",
32
54
  auth: { apiKey: staticApiKeyAuth(DEFAULT_API_KEY, DEFAULT_BASE_URL) },
33
- models: MODELS.map((m) => ({
55
+ models: registered.map((m) => ({
34
56
  id: m.id,
35
57
  name: m.name,
36
58
  api: "openai-completions",
package/dist/llm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAC3F,OAAO,KAAK,iBAAiB,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;GAKG;AAEH,MAAM,WAAW,GAAG,QAAQ,CAAC;AAS7B,MAAM,MAAM,GAAqB;IAC/B,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;IACpG,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;IACnE,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;CACzG,CAAC;AAEF,0CAA0C;AAC1C,SAAS,gBAAgB,CAAC,MAAc,EAAE,OAAe;IACvD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACvE,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC;IACrC,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC;IACnC,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC;IAChC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC9B,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,EAAE,MAAM,EAAE,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE;QACrE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,EAAE,oBAAoB;YACzB,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,CAAC,MAAM,CAAC;YACf,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;YAC1D,MAAM,EAAE;gBACN,aAAa,EAAE,KAAK;gBACpB,qBAAqB,EAAE,KAAK;gBAC5B,uBAAuB,EAAE,KAAK;gBAC9B,cAAc,EAAE,YAAY;gBAC5B,0BAA0B,EAAE,KAAK;aAClC;SACF,CAAC,CAAC;QACH,GAAG,EAAE,iBAAiB;KACvB,CAAC,CAAC;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,SAAS,aAAa,aAAa,WAAW,oDAAoD,CACnG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":"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"}
package/dist/report.d.ts CHANGED
@@ -62,7 +62,15 @@ export declare function formatUsage(usage?: TokenUsage): string;
62
62
  * 并用「断言「X」:成立。证据...」句式。无法解析时降级为基于 PASS/FAIL 关键字的整体判断。
63
63
  */
64
64
  export declare function buildReport(input: string, transcript: string): TestReport;
65
- /** 统计用例(自然语言测试步骤)中的断言数量,用于校验执行完整性。 */
65
+ /** 统计用例(自然语言测试步骤)中的断言数量,用于校验执行完整性。
66
+ *
67
+ * 只统计「断言 <描述>」这类真正的断言行,排除「断言」被当作讨论对象的叙述用法
68
+ * (如「断言失败时记录日志」「请检查断言结果」「断言的写法」)。
69
+ *
70
+ * 早期实现直接统计「断言」二字出现次数,会把叙述性文字也算成断言,
71
+ * 使期望断言数虚高,进而把实际已全部通过的正常用例误判为
72
+ * 「用例中的断言全部执行(实际 N/M)」,造成假失败。
73
+ */
66
74
  export declare function countAssertions(script: string): number;
67
75
  /**
68
76
  * 把用例按非空行编号,得到确定性的步骤序列(`### 步骤 k:<原文>`)。
package/dist/report.js CHANGED
@@ -120,10 +120,24 @@ export function buildReport(input, transcript) {
120
120
  const summary = extractSummary(transcript);
121
121
  return { status, assertions, summary, transcript, trace, steps };
122
122
  }
123
- /** 统计用例(自然语言测试步骤)中的断言数量,用于校验执行完整性。 */
123
+ /** 统计用例(自然语言测试步骤)中的断言数量,用于校验执行完整性。
124
+ *
125
+ * 只统计「断言 <描述>」这类真正的断言行,排除「断言」被当作讨论对象的叙述用法
126
+ * (如「断言失败时记录日志」「请检查断言结果」「断言的写法」)。
127
+ *
128
+ * 早期实现直接统计「断言」二字出现次数,会把叙述性文字也算成断言,
129
+ * 使期望断言数虚高,进而把实际已全部通过的正常用例误判为
130
+ * 「用例中的断言全部执行(实际 N/M)」,造成假失败。
131
+ */
124
132
  export function countAssertions(script) {
125
- return (script.match(/断言/g) ?? []).length;
133
+ return (script.match(ASSERTION_PATTERN) ?? []).length;
126
134
  }
135
+ /**
136
+ * 断言行匹配:命中「断言」但排除其后紧跟叙述性词汇的用法。
137
+ * 排除词覆盖「断言失败/未通过/未成立/不成立/结果/的/写法/类型/覆盖/次数/用于」等
138
+ * 把「断言」当作被讨论对象的语境;未列出的普通描述(如「断言页面包含 A」)仍计入。
139
+ */
140
+ const ASSERTION_PATTERN = /断言(?!失败|未通过|未成立|不成立|结果|的|写法|类型|覆盖|次数|用于)/g;
127
141
  /**
128
142
  * 把用例按非空行编号,得到确定性的步骤序列(`### 步骤 k:<原文>`)。
129
143
  *
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pageqa",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/klren0312/pageqa.git"
@@ -38,8 +38,8 @@
38
38
  "node": ">=18"
39
39
  },
40
40
  "dependencies": {
41
- "@earendil-works/pi-agent-core": "^0.85.1",
42
- "@earendil-works/pi-ai": "^0.85.1"
41
+ "@earendil-works/pi-agent-core": "^0.86.1",
42
+ "@earendil-works/pi-ai": "^0.86.1"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^20.0.0",