sema-core 2.0.15 → 2.0.16

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.
Files changed (85) hide show
  1. package/README.md +1 -31
  2. package/dist/core/Conversation.d.ts.map +1 -1
  3. package/dist/core/Conversation.js +6 -3
  4. package/dist/core/Conversation.js.map +1 -1
  5. package/dist/core/SemaCore.d.ts +4 -2
  6. package/dist/core/SemaCore.d.ts.map +1 -1
  7. package/dist/core/SemaCore.js +4 -2
  8. package/dist/core/SemaCore.js.map +1 -1
  9. package/dist/core/SemaEngine.d.ts.map +1 -1
  10. package/dist/core/SemaEngine.js +23 -3
  11. package/dist/core/SemaEngine.js.map +1 -1
  12. package/dist/events/types.d.ts +9 -0
  13. package/dist/events/types.d.ts.map +1 -1
  14. package/dist/manager/ConfManager.d.ts.map +1 -1
  15. package/dist/manager/ConfManager.js +2 -16
  16. package/dist/manager/ConfManager.js.map +1 -1
  17. package/dist/manager/PermissionManager.d.ts.map +1 -1
  18. package/dist/manager/PermissionManager.js +55 -5
  19. package/dist/manager/PermissionManager.js.map +1 -1
  20. package/dist/prompt/compact.d.ts +15 -1
  21. package/dist/prompt/compact.d.ts.map +1 -1
  22. package/dist/prompt/compact.js +59 -18
  23. package/dist/prompt/compact.js.map +1 -1
  24. package/dist/prompt/inputPredict.d.ts +2 -0
  25. package/dist/prompt/inputPredict.d.ts.map +1 -0
  26. package/dist/prompt/inputPredict.js +44 -0
  27. package/dist/prompt/inputPredict.js.map +1 -0
  28. package/dist/prompt/permission.d.ts +1 -1
  29. package/dist/prompt/permission.d.ts.map +1 -1
  30. package/dist/prompt/permission.js +38 -5
  31. package/dist/prompt/permission.js.map +1 -1
  32. package/dist/services/agents/genSystemReminder.d.ts +10 -1
  33. package/dist/services/agents/genSystemReminder.d.ts.map +1 -1
  34. package/dist/services/agents/genSystemReminder.js +48 -2
  35. package/dist/services/agents/genSystemReminder.js.map +1 -1
  36. package/dist/services/commands/runCommand.d.ts.map +1 -1
  37. package/dist/services/commands/runCommand.js +13 -3
  38. package/dist/services/commands/runCommand.js.map +1 -1
  39. package/dist/services/mcp/MCPManager.d.ts +19 -5
  40. package/dist/services/mcp/MCPManager.d.ts.map +1 -1
  41. package/dist/services/mcp/MCPManager.js +71 -22
  42. package/dist/services/mcp/MCPManager.js.map +1 -1
  43. package/dist/services/plugins/pluginsManager.d.ts.map +1 -1
  44. package/dist/services/plugins/pluginsManager.js +12 -0
  45. package/dist/services/plugins/pluginsManager.js.map +1 -1
  46. package/dist/services/skills/skillsManager.d.ts +18 -3
  47. package/dist/services/skills/skillsManager.d.ts.map +1 -1
  48. package/dist/services/skills/skillsManager.js +49 -4
  49. package/dist/services/skills/skillsManager.js.map +1 -1
  50. package/dist/tools/Skill.d.ts.map +1 -1
  51. package/dist/tools/Skill.js +3 -2
  52. package/dist/tools/Skill.js.map +1 -1
  53. package/dist/types/index.d.ts +3 -1
  54. package/dist/types/index.d.ts.map +1 -1
  55. package/dist/types/index.js +1 -0
  56. package/dist/types/index.js.map +1 -1
  57. package/dist/types/settings.d.ts +3 -1
  58. package/dist/types/settings.d.ts.map +1 -1
  59. package/dist/types/skill.d.ts +2 -0
  60. package/dist/types/skill.d.ts.map +1 -1
  61. package/dist/util/autoRunContext.d.ts +2 -0
  62. package/dist/util/autoRunContext.d.ts.map +1 -1
  63. package/dist/util/autoRunContext.js +2 -0
  64. package/dist/util/autoRunContext.js.map +1 -1
  65. package/dist/util/compact.d.ts +16 -1
  66. package/dist/util/compact.d.ts.map +1 -1
  67. package/dist/util/compact.js +117 -4
  68. package/dist/util/compact.js.map +1 -1
  69. package/dist/util/history.d.ts +1 -1
  70. package/dist/util/history.d.ts.map +1 -1
  71. package/dist/util/history.js +21 -5
  72. package/dist/util/history.js.map +1 -1
  73. package/dist/util/inputPredict.d.ts +15 -0
  74. package/dist/util/inputPredict.d.ts.map +1 -0
  75. package/dist/util/inputPredict.js +135 -0
  76. package/dist/util/inputPredict.js.map +1 -0
  77. package/dist/util/message.d.ts +1 -1
  78. package/dist/util/message.d.ts.map +1 -1
  79. package/dist/util/message.js +2 -2
  80. package/dist/util/message.js.map +1 -1
  81. package/dist/util/shellSafety.d.ts +26 -2
  82. package/dist/util/shellSafety.d.ts.map +1 -1
  83. package/dist/util/shellSafety.js +245 -5
  84. package/dist/util/shellSafety.js.map +1 -1
  85. package/package.json +1 -1
@@ -4,6 +4,7 @@ exports.NULL_TOOL = exports.__compactTestHooks = void 0;
4
4
  exports.needsAutoCompact = needsAutoCompact;
5
5
  exports.applyMicroCompact = applyMicroCompact;
6
6
  exports.compactMessages = compactMessages;
7
+ exports.collectSkillActivations = collectSkillActivations;
7
8
  exports.autoCompact = autoCompact;
8
9
  const tokens_1 = require("./tokens");
9
10
  const message_1 = require("./message");
@@ -15,6 +16,9 @@ const microcompact_1 = require("./microcompact");
15
16
  const zod_1 = require("zod");
16
17
  const tokens_2 = require("./tokens");
17
18
  const compact_1 = require("../prompt/compact");
19
+ const genSystemReminder_1 = require("../services/agents/genSystemReminder");
20
+ const tool_1 = require("../prompt/tool");
21
+ const define_1 = require("../prompt/define");
18
22
  const defaultCompactDependencies = {
19
23
  queryLLM: queryLLM_1.queryLLM,
20
24
  getModelManager: ModelManager_1.getModelManager,
@@ -309,6 +313,99 @@ async function compactMessages(messages, abortController, sessionId, options = {
309
313
  }
310
314
  }
311
315
  }
316
+ /**
317
+ * 扫描消息列表中 skill 工具的成功激活:tool_use(skill) 配对非报错 tool_result,
318
+ * 且同消息内有当时注入的 skill 全文 text 块。同名多次调用取最后一次。
319
+ * 全文从历史原样取:天然证明激活成功、参数已替换、与模型当时所见一致
320
+ * (microCompact 只清 tool_result 不碰 text 块,该块必然还在)。
321
+ */
322
+ function collectSkillActivations(messages) {
323
+ // tool_use_id -> skill 名
324
+ const toolUseNames = new Map();
325
+ for (const msg of messages) {
326
+ if (msg.type !== 'assistant' || !Array.isArray(msg.message.content))
327
+ continue;
328
+ for (const block of msg.message.content) {
329
+ if (block.type === 'tool_use' && block.name === tool_1.TOOL_NAME_SKILL) {
330
+ const skillName = block.input?.skill;
331
+ if (skillName)
332
+ toolUseNames.set(block.id, skillName);
333
+ }
334
+ }
335
+ }
336
+ const byName = new Map();
337
+ for (const msg of messages) {
338
+ if (msg.type !== 'user' || !Array.isArray(msg.message.content))
339
+ continue;
340
+ const content = msg.message.content;
341
+ for (let i = 0; i < content.length; i++) {
342
+ const block = content[i];
343
+ // 上一次压缩注入的 skill 原文块:解析后接力,保证 skill 上下文可跨多次压缩存续;
344
+ // 同名后续真实激活按消息序覆盖接力内容
345
+ if (block.type === 'text' && block.text.startsWith(`${define_1.REMINDER_SYS_OPEN}\n${compact_1.SKILL_CONTEXT_NOTICE}`)) {
346
+ for (const activation of parseSkillContextBlock(block.text, msg.uuid)) {
347
+ byName.set(activation.name, activation);
348
+ }
349
+ continue;
350
+ }
351
+ if (block.type !== 'tool_result')
352
+ continue;
353
+ const name = toolUseNames.get(block.tool_use_id);
354
+ if (!name || block.is_error === true)
355
+ continue;
356
+ // skill 全文(additionalBlocks)紧随 tool_result 之后;
357
+ // 跳过 reminder-sys 开头的块(注入的用户消息、hook 上下文等非 skill 正文)
358
+ for (let j = i + 1; j < content.length; j++) {
359
+ const next = content[j];
360
+ if (next.type === 'tool_result')
361
+ break;
362
+ if (next.type === 'text' && !next.text.startsWith(define_1.REMINDER_SYS_OPEN)) {
363
+ byName.set(name, { name, text: next.text, uuid: msg.uuid });
364
+ break;
365
+ }
366
+ }
367
+ }
368
+ }
369
+ return [...byName.values()];
370
+ }
371
+ /**
372
+ * 解析压缩后注入的 skill 原文块(格式见 generatePostCompactReminders 的 sections 拼装),
373
+ * 还原为激活列表。skill 正文若恰好含 "### Skill: " 行会造成误切分,风险极低且
374
+ * 伪名称会被后续的存在性过滤剔除。
375
+ */
376
+ function parseSkillContextBlock(text, uuid) {
377
+ let body = text;
378
+ if (body.startsWith(define_1.REMINDER_SYS_OPEN))
379
+ body = body.slice(define_1.REMINDER_SYS_OPEN.length);
380
+ if (body.endsWith(define_1.REMINDER_SYS_CLOSE))
381
+ body = body.slice(0, -define_1.REMINDER_SYS_CLOSE.length);
382
+ return body.split(/^### Skill: /m).slice(1).map(section => {
383
+ const newlineIdx = section.indexOf('\n');
384
+ const name = (newlineIdx === -1 ? section : section.slice(0, newlineIdx)).trim();
385
+ const skillText = (newlineIdx === -1 ? '' : section.slice(newlineIdx + 1)).trim();
386
+ return { name, text: skillText, uuid };
387
+ }).filter(a => a.name && a.text);
388
+ }
389
+ /**
390
+ * 把 reminder 块插入首条 user 消息(压缩通知/截断通知)的通知文本之前:
391
+ * 阅读序为 [reminders..., 通知文本, 摘要(assistant)],通知文本紧邻其引出的摘要。
392
+ * 首条消息非 user 时原样返回(截断兜底未删任何消息的罕见场景),不做强行注入。
393
+ */
394
+ function prependBlocksToLeadingUserMsg(messages, blocks) {
395
+ const first = messages[0];
396
+ if (!first || first.type !== 'user') {
397
+ return messages;
398
+ }
399
+ const content = first.message.content;
400
+ const contentBlocks = typeof content === 'string'
401
+ ? [{ type: 'text', text: content }]
402
+ : [...content];
403
+ const nextFirst = {
404
+ ...first,
405
+ message: { ...first.message, content: [...blocks, ...contentBlocks] },
406
+ };
407
+ return [nextFirst, ...messages.slice(1)];
408
+ }
312
409
  /**
313
410
  * 自动上下文压缩的主要入口函数
314
411
  *
@@ -321,7 +418,7 @@ async function compactMessages(messages, abortController, sessionId, options = {
321
418
  *
322
419
  * 执行自动压缩(调用前应先通过 needsAutoCompact 判断是否需要压缩)
323
420
  */
324
- async function autoCompact(messages, abortController, sessionId) {
421
+ async function autoCompact(messages, abortController, sessionId, options = {}) {
325
422
  // 从后往前找最后一条真实用户消息(非 tool_result)的索引
326
423
  let lastRealUserIdx = -1;
327
424
  for (let i = messages.length - 1; i >= 0; i--) {
@@ -348,14 +445,31 @@ async function autoCompact(messages, abortController, sessionId) {
348
445
  // 历史消息太少,不值得压缩
349
446
  return { changed: false, messages };
350
447
  }
448
+ // 收集将被压掉的 skill 激活;保留区仍有同名激活的不补(原文还在)
449
+ let compactedSkills = collectSkillActivations(messagesToCompact);
450
+ if (compactedSkills.length > 0) {
451
+ const keptNames = new Set(collectSkillActivations(messagesToKeep).map(a => a.name));
452
+ compactedSkills = compactedSkills.filter(a => !keptNames.has(a.name));
453
+ }
351
454
  const compactResult = await compactMessages(messagesToCompact, abortController, sessionId);
352
455
  if (compactResult.kind === 'summary' || compactResult.kind === 'truncated') {
456
+ // 截断兜底会保留部分历史:激活消息幸存的不补注,避免重复
457
+ if (compactResult.kind === 'truncated' && compactedSkills.length > 0) {
458
+ const survivedUuids = new Set(compactResult.messages.map(m => m.uuid));
459
+ compactedSkills = compactedSkills.filter(a => !survivedUuids.has(a.uuid));
460
+ }
461
+ // 压缩后重新注入被压掉的 skill 原文与 skills/rules reminder(原注入随历史被摘要替换而丢失),
462
+ // 前置拼进首条通知 user 消息,不新增消息以避免连续 user 消息的顺序问题
463
+ const reminders = await (0, genSystemReminder_1.generatePostCompactReminders)(options.hasSkillTool ?? false, compactedSkills);
464
+ const compactedMessages = reminders.length > 0
465
+ ? prependBlocksToLeadingUserMsg(compactResult.messages, reminders)
466
+ : compactResult.messages;
353
467
  // 组合结果示例(工具调用场景):
354
468
  // [compactNotice(user), summaryMsg(assistant), lastRealUserMsg(user), assistantMsg(assistant), toolResult(user)]
355
469
  // 组合结果示例(新查询场景):
356
470
  // [compactNotice(user), summaryMsg(assistant), newUserQuery(user)]
357
471
  // 两种场景均以 user 消息结尾,API 调用合法
358
- const finalMessages = [...compactResult.messages, ...messagesToKeep];
472
+ const finalMessages = [...compactedMessages, ...messagesToKeep];
359
473
  (0, log_1.logDebug)(`[Compact] Final messages count: ${finalMessages.length}, kept current turn: ${messagesToKeep.length} messages`);
360
474
  return {
361
475
  changed: true,
@@ -432,8 +546,7 @@ async function executeAutoCompact(messages, abortController, sessionId, customIn
432
546
  // 注意:新用户消息的添加由 checkAutoCompact 统一处理,这里不需要处理
433
547
  // 重要:summaryResponse 的 usage 包含了整个压缩过程的 token 数(历史对话 + 压缩指令)
434
548
  // 需要修正为压缩后消息的实际 token 数(压缩通知 + 摘要)
435
- const compactNoticeMessage = (0, message_1.buildUserMsg)(`[Context Compression Notice]
436
- The conversation has been automatically compressed due to token limit. Below is a comprehensive summary.`);
549
+ const compactNoticeMessage = (0, message_1.buildUserMsg)(compact_1.COMPACT_RESUME_NOTICE);
437
550
  // 修正 usage:压缩后的实际 token 数应该是压缩通知 + 摘要内容
438
551
  // 估算:压缩通知约 30 tokens,摘要使用 completion_tokens
439
552
  const originalUsage = summaryResponse.message.usage;
@@ -1 +1 @@
1
- {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/util/compact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/util/compact.ts"],"names":[],"mappings":";;;AAmRA,4CAOC;AAmBD,8CAmCC;AAeD,0CA2EC;AAeD,0DA6CC;AA0DD,kCAiFC;AA/mBD,qCAAsC;AACtC,uCAA+D;AAC/D,uDAAmD;AACnD,0DAAyD;AACzD,+BAA0C;AAC1C,uDAAmD;AAEnD,iDAAqD;AAErD,6BAAuB;AACvB,qCAAoC;AACpC,+CAAuG;AACvG,4EAAmF;AACnF,yCAAgD;AAChD,6CAAwE;AAExE,MAAM,0BAA0B,GAAG;IACjC,QAAQ,EAAR,mBAAQ;IACR,eAAe,EAAf,8BAAe;IACf,WAAW,EAAX,yBAAW;CACZ,CAAA;AAED,MAAM,mBAAmB,GAAG,EAAE,GAAG,0BAA0B,EAAE,CAAA;AAEhD,QAAA,kBAAkB,GAAG;IAChC,eAAe,CAAC,YAAwD;QACtE,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAA;IAClD,CAAC;IACD,iBAAiB;QACf,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAA;IAChE,CAAC;CACF,CAAA;AAED;;;;GAIG;AACH,MAAM,4BAA4B,GAAG,IAAI,CAAA;AAkDzC,SAAS,eAAe,CAAC,SAAkB;IACzC,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,IAAI,OAAO,CAAA;IACpG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,KAAU;IACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;QAC5B,eAAe;QACf,OAAO,KAAK,CAAC,YAAY;YACvB,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC;YACxC,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC;SAAM,IAAI,eAAe,IAAI,KAAK,EAAE,CAAC;QACpC,YAAY;QACZ,OAAO,KAAK,CAAC,aAAa,CAAA;IAC5B,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,QAAmB,EAAE,gBAAwB;IACrE,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,4CAA4C;IAC5C,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,QAAQ,CAAC,CAAA;IACzC,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,CAAA;IAEhD,yBAAyB;IACzB,IAAI,gBAAgB,IAAI,gBAAgB,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,gBAAgB;IAChB,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;IAE1D,IAAA,cAAQ,EAAC,+BAA+B,gBAAgB,YAAY,gBAAgB,cAAc,cAAc,EAAE,CAAC,CAAA;IAEnH,mDAAmD;IACnD,iDAAiD;IACjD,kDAAkD;IAClD,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/D,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAElE,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;gBAClC,aAAa;gBACb,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChC,QAAQ,GAAG,CAAC,CAAA;gBACZ,MAAK;YACP,CAAC;QACH,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEvC,aAAa;IACb,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,cAAc;IACd,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,IAAA,sBAAY,EACnC,yCAAyC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,2DAA2D,CACpI,CAAA;QACD,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAClC,CAAC;IAED,IAAA,cAAQ,EAAC,qCAAqC,MAAM,CAAC,MAAM,OAAO,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAA;IAE7F,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,WAAmB,EAAE,UAAkB;IACnE,OAAO,UAAU,GAAG,WAAW,CAAC;AAClC,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAmB;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAY,CAAA;IAC3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,CAAA;IAClE,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAA;IAExE,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IACrD,IAAI,WAAW,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAExD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAc,CAAA;IAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;IAC5D,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;AACxD,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAmB;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAc,CAAA;IAE/C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;QACrE,OAAO,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IACzD,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,gBAAgB,CACvB,cAAyB,EACzB,aAA+B,EAC/B,SAA6B,EAC7B,IAAwC,EACxC,MAAe,EACf,KAAe;IAEf,IAAI,CAAC;QACH,sEAAsE;QACtE,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,OAAM;QACR,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAA,oBAAW,EAAC,cAAc,CAAC,CAAA;QACpD,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAA;QAChF,MAAM,KAAK,GAAG,IAAA,kBAAS,EAAC,aAAa,EAAE,SAAS,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAA;QAClD,MAAM,eAAe,GAAoB;YACvC,WAAW;YACX,YAAY,EAAE,KAAK,CAAC,SAAS;YAC7B,WAAW,EAAE,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;YAC/D,IAAI;YACJ,MAAM;YACN,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SACnF,CAAA;QAED,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,SAAS,CAAC,CAAA;QACzD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,UAAU,EAAE,CAAC;QACpB,IAAA,cAAQ,EAAC,iCAAiC,UAAU,EAAE,CAAC,CAAA;IACzD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,QAAmB,EAAE,cAAc,GAAG,CAAC,EAAE,SAAkB;IAC1F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAErC,MAAM,eAAe,GAAG,IAAA,oBAAW,EAAC,QAAQ,CAAC,CAAC,WAAW,CAAA;IACzD,MAAM,oBAAoB,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,4BAA4B,CAAA;IAEtF,OAAO,CAAC,eAAe,GAAG,cAAc,CAAC,IAAI,oBAAoB,CAAA;AACnE,CAAC;AAUD;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,QAAmB,EAAE,SAAkB;IACvE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,mCAAoB,EAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QAC5D,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;QAE3F,qEAAqE;QACrE,wDAAwD;QACxD,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAA;QAC5D,MAAM,SAAS,GAAqB;YAClC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC;YAC3E,kBAAkB,EAAE,CAAC,SAAS;SAC/B,CAAA;QAED,4DAA4D;QAC5D,IAAI,CAAC;YACH,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC/E,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,IAAA,cAAQ,EAAC,gDAAgD,SAAS,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,IAAA,cAAQ,EACN,0BAA0B,SAAS,CAAC,YAAY,2BAA2B,SAAS,CAAC,oBAAoB,gCAAgC,SAAS,CAAC,mBAAmB,wBAAwB,SAAS,CAAC,kBAAkB,EAAE,CAC7N,CAAA;QAED,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;IACnG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,cAAQ,EAAC,wDAAwD,KAAK,EAAE,CAAC,CAAA;QACzE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC5D,CAAC;AACH,CAAC;AAGD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,eAAe,CACnC,QAAmB,EACnB,eAAgC,EAChC,SAAkB,EAClB,UAA8E,EAAE;IAEhF,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,IAAI,IAAI,CAAA;IAEvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;IACxC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAEhH,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;YACxE,OAAO,aAAa,CAAA;QACtB,CAAC;QAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;YAC3E,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,KAAK,CAAC,4CAA4C,aAAa,CAAC,MAAM,EAAE,CAAC;aACrF,CAAA;QACH,CAAC;QAED,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;QAC/C,MAAM,WAAW,GAAG,YAAY,GAAG,GAAG,CAAA,CAAC,WAAW;QAClD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QACjE,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QAE3F,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,iBAAiB;YAC3B,MAAM,EAAE,aAAa,CAAC,MAAM;SAC7B,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;YAC7E,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,KAAK;aACN,CAAA;QACH,CAAC;QAED,sBAAsB;QACtB,IAAA,cAAQ,EAAC,mDAAmD,KAAK,EAAE,CAAC,CAAA;QAEpE,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;YAC/C,MAAM,WAAW,GAAG,YAAY,GAAG,GAAG,CAAA,CAAC,WAAW;YAElD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;YAEjE,IAAA,cAAQ,EAAC,0DAA0D,QAAQ,CAAC,MAAM,OAAO,iBAAiB,CAAC,MAAM,WAAW,CAAC,CAAA;YAC7H,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;YAE7F,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,iBAAiB;gBAC3B,MAAM,EAAE,eAAe;aACxB,CAAA;QACH,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACzB,kBAAkB;YAClB,IAAA,cAAQ,EAAC,oCAAoC,eAAe,EAAE,CAAC,CAAA;YAC/D,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;YAEvF,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,eAAe;aACvB,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AASD;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,QAAmB;IACzD,yBAAyB;IACzB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC9C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAQ;QAC7E,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAe,EAAE,CAAC;gBAChE,MAAM,SAAS,GAAI,KAAK,CAAC,KAAwC,EAAE,KAAK,CAAA;gBACxE,IAAI,SAAS;oBAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoC,CAAA;IAC1D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAQ;QACxE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAwC,CAAA;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAExB,iDAAiD;YACjD,qBAAqB;YACrB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,0BAAiB,KAAK,8BAAoB,EAAE,CAAC,EAAE,CAAC;gBACpG,KAAK,MAAM,UAAU,IAAI,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;gBACzC,CAAC;gBACD,SAAQ;YACV,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;gBAAE,SAAQ;YAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAChD,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;gBAAE,SAAQ;YAC9C,+CAA+C;YAC/C,oDAAoD;YACpD,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;gBACvB,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;oBAAE,MAAK;gBACtC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,0BAAiB,CAAC,EAAE,CAAC;oBACrE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;oBAC3D,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,IAAY,EAAE,IAAY;IACxD,IAAI,IAAI,GAAG,IAAI,CAAA;IACf,IAAI,IAAI,CAAC,UAAU,CAAC,0BAAiB,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,0BAAiB,CAAC,MAAM,CAAC,CAAA;IACnF,IAAI,IAAI,CAAC,QAAQ,CAAC,2BAAkB,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,2BAAkB,CAAC,MAAM,CAAC,CAAA;IAEvF,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAChF,MAAM,SAAS,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACjF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IACxC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAS,6BAA6B,CACpC,QAAmB,EACnB,MAAqC;IAErC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAA;IACrC,MAAM,aAAa,GAAkC,OAAO,OAAO,KAAK,QAAQ;QAC9E,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;IAEhB,MAAM,SAAS,GAAY;QACzB,GAAG,KAAK;QACR,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE;KACtE,CAAA;IACD,OAAO,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,WAAW,CAC/B,QAAmB,EACnB,eAAgC,EAChC,SAAkB,EAClB,UAAsC,EAAE;IAExC,oCAAoC;IACpC,IAAI,eAAe,GAAG,CAAC,CAAC,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;YAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACzC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAClB,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,aAAa,CAAA;YACpC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,eAAe,GAAG,CAAC,CAAA;gBACnB,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3B,kBAAkB;QAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IACrC,CAAC;IAED,qBAAqB;IACrB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;IAC5D,+BAA+B;IAC/B,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAEtD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,eAAe;QACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IACrC,CAAC;IAED,sCAAsC;IACtC,IAAI,eAAe,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;IAChE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QACnF,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,iBAAiB,EAAE,eAAe,EAAE,SAAS,CAAC,CAAA;IAE1F,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC3E,8BAA8B;QAC9B,IAAI,aAAa,CAAC,IAAI,KAAK,WAAW,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YAC9E,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3E,CAAC;QAED,+DAA+D;QAC/D,2CAA2C;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAA,gDAA4B,EAAC,OAAO,CAAC,YAAY,IAAI,KAAK,EAAE,eAAe,CAAC,CAAA;QACpG,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YAC5C,CAAC,CAAC,6BAA6B,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC;YAClE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAA;QAE1B,kBAAkB;QAClB,mHAAmH;QACnH,iBAAiB;QACjB,qEAAqE;QACrE,4BAA4B;QAC5B,MAAM,aAAa,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,cAAc,CAAC,CAAA;QAE/D,IAAA,cAAQ,EAAC,mCAAmC,aAAa,CAAC,MAAM,wBAAwB,cAAc,CAAC,MAAM,WAAW,CAAC,CAAA;QAEzH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,aAAa,CAAC,IAAI;SACzB,CAAA;IACH,CAAC;IAED,IAAI,aAAa,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IACrC,CAAC;IAED,IAAA,cAAQ,EAAC,mCAAmC,aAAa,CAAC,KAAK,qCAAqC,CAAC,CAAA;IACrG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAA;AACjE,CAAC;AAED;;;;GAIG;AACU,QAAA,SAAS,GAAS;IAC7B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,uCAAuC;IACpD,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI;IAClB,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAE;IAC/B,IAAI,EAAE,KAAK,SAAS,CAAC;QACnB,MAAM,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAC/C,CAAC;CACF,CAAA;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,kBAAkB,CAC/B,QAAmB,EACnB,eAAgC,EAChC,SAAkB,EAClB,kBAA2B;IAE3B,+BAA+B;IAC/B,MAAM,KAAK,GAAG,CAAC,iBAAS,CAAC,CAAA;IAEzB,oCAAoC;IACpC,qEAAqE;IACrE,MAAM,kBAAkB,GAAG;QACzB,GAAG,IAAA,+BAAqB,EAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;QACvC,IAAA,sBAAY,EAAC,IAAA,gCAAsB,EAAC,kBAAkB,CAAC,CAAC;KACzD,CAAA;IAED,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CACxD,kBAAkB,EAClB;QACE;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,4DAA4D;SACnE;KACF,EACD,eAAe,CAAC,MAAM,EACtB,KAAK;IACL,uDAAuD;IACvD,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,CAC9D,CAAA;IAED,IAAI,wBAAwB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,0BAA0B;SACnC,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAA;IAEnD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,eAAe;SACxB,CAAA;IACH,CAAC;IAED,YAAY;IACZ,gBAAgB;IAChB,kDAAkD;IAClD,EAAE;IACF,6CAA6C;IAC7C,6DAA6D;IAC7D,mCAAmC;IACnC,MAAM,oBAAoB,GAAG,IAAA,sBAAY,EAAC,+BAAqB,CAAC,CAAA;IAEhE,wCAAwC;IACxC,4CAA4C;IAC5C,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,KAAY,CAAA;IAC1D,MAAM,qBAAqB,GAAG,EAAE,CAAA;IAChC,MAAM,aAAa,GAAG,aAAa,CAAC,iBAAiB,IAAI,aAAa,CAAC,aAAa,IAAI,CAAC,CAAA;IACzF,MAAM,oBAAoB,GAAG,qBAAqB,GAAG,aAAa,CAAA;IAClE,MAAM,mBAAmB,GAAG,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,aAAa,IAAI,CAAC,CAAA;IAC1F,MAAM,oBAAoB,GAAG,aAAa,CAAC,aAAa,IAAI,aAAa,CAAC,iBAAiB,IAAI,CAAC,CAAA;IAEhG,yBAAyB;IACzB,MAAM,uBAAuB,GAA2B;QACtD,GAAG,eAAe;QAClB,OAAO,EAAE;YACP,GAAG,eAAe,CAAC,OAAO;YAC1B,KAAK,EAAE;gBACL,GAAG,aAAa;gBAChB,8BAA8B;gBAC9B,YAAY,EAAE,oBAAoB;gBAClC,wBAAwB;gBACxB,aAAa,EAAE,aAAa;gBAC5B,qBAAqB;gBACrB,aAAa,EAAE,oBAAoB;gBACnC,iBAAiB,EAAE,aAAa;aACjC;SACF;KACF,CAAA;IAED,IAAA,cAAQ,EACN,oDAAoD,mBAAmB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,qBAAqB,aAAa,EAAE,CAC5L,CAAA;IAED,kCAAkC;IAClC,MAAM,iBAAiB,GAAc,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAA;IAEpF,OAAO;QACL,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,iBAAiB;QAC3B,OAAO;KACR,CAAA;AACH,CAAC"}
@@ -29,7 +29,7 @@ export declare function cleanupOldHistoryFiles(projectPath?: string): Promise<vo
29
29
  * 删除指定项目的全部历史与快照目录(~/.sema/history/<项目目录名> + ~/.sema/snapshots/<项目目录名>)。
30
30
  * 供外部(如 webui 会话级项目退场)主动清理使用。
31
31
  */
32
- export declare function deleteProjectHistory(projectPath: string): void;
32
+ export declare function deleteProjectHistory(projectPath?: string): void;
33
33
  /**
34
34
  * 删除单个会话的历史文件(无日期 会话id.json 与任意日期 日期_会话id.json 全部清理)。
35
35
  * 供外部(如 webui 项目内会话退场)主动清理使用。
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/util/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAiB7C,UAAU,WAAW;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CA4B9H;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAsBhG;AAwHD;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAqB9D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAsBlF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCxN;AAGD,YAAY,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/util/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAkB7C,UAAU,WAAW;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CA4B9H;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAsBhG;AAwHD;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF;AAYD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAuB/D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAwBlF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCxN;AAGD,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -46,6 +46,7 @@ const savePath_1 = require("./savePath");
46
46
  const snapshotStore_1 = require("./snapshotStore");
47
47
  const config_1 = require("../conf/config");
48
48
  const time_1 = require("./time");
49
+ const ConfManager_1 = require("../manager/ConfManager");
49
50
  // 清理历史文件的时间间隔(毫秒)
50
51
  let lastHistoryCleanupTime = 0;
51
52
  /**
@@ -220,14 +221,27 @@ async function cleanupOldHistoryFiles(projectPath) {
220
221
  }
221
222
  cleanupInactiveProjects();
222
223
  }
224
+ /**
225
+ * 删除类接口的项目路径解析:显式传入优先,缺省回落到 core 配置的 workingDir;
226
+ * 仍为空则返回 undefined 并告警,调用方跳过不操作(不碰全局目录)。
227
+ */
228
+ function resolveProjectPath(projectPath, caller) {
229
+ const target = projectPath || (0, ConfManager_1.getConfManager)().getCoreConfig()?.workingDir;
230
+ if (!target)
231
+ (0, log_1.logWarn)(`${caller}: 未指定项目路径且 core 无 workingDir,跳过`);
232
+ return target || undefined;
233
+ }
223
234
  /**
224
235
  * 删除指定项目的全部历史与快照目录(~/.sema/history/<项目目录名> + ~/.sema/snapshots/<项目目录名>)。
225
236
  * 供外部(如 webui 会话级项目退场)主动清理使用。
226
237
  */
227
238
  function deleteProjectHistory(projectPath) {
239
+ const target = resolveProjectPath(projectPath, 'deleteProjectHistory');
240
+ if (!target)
241
+ return;
228
242
  const targets = [
229
- { dir: (0, savePath_1.getProjectHistoryDir)(projectPath), root: (0, savePath_1.getHistoryDir)(), label: '历史' },
230
- { dir: (0, savePath_1.getProjectSnapshotsDir)(projectPath), root: (0, savePath_1.getSnapshotsDir)(), label: '快照' }
243
+ { dir: (0, savePath_1.getProjectHistoryDir)(target), root: (0, savePath_1.getHistoryDir)(), label: '历史' },
244
+ { dir: (0, savePath_1.getProjectSnapshotsDir)(target), root: (0, savePath_1.getSnapshotsDir)(), label: '快照' }
231
245
  ];
232
246
  for (const { dir, root, label } of targets) {
233
247
  // 护栏:目标必须严格位于对应根目录之内,防止异常路径误删
@@ -252,7 +266,10 @@ function deleteProjectHistory(projectPath) {
252
266
  * 供外部(如 webui 项目内会话退场)主动清理使用。
253
267
  */
254
268
  function deleteSessionHistory(sessionId, projectPath) {
255
- const historyDir = projectPath ? (0, savePath_1.getProjectHistoryDir)(projectPath) : (0, savePath_1.getHistoryDir)();
269
+ const target = resolveProjectPath(projectPath, 'deleteSessionHistory');
270
+ if (!target)
271
+ return;
272
+ const historyDir = (0, savePath_1.getProjectHistoryDir)(target);
256
273
  try {
257
274
  if (fs.existsSync(historyDir)) {
258
275
  const targets = fs.readdirSync(historyDir).filter(file => file === `${sessionId}.json` ||
@@ -268,8 +285,7 @@ function deleteSessionHistory(sessionId, projectPath) {
268
285
  }
269
286
  }
270
287
  // 项目级快照按剩余 history 做标记清除,会同步移除该会话的 editlog 和无引用 blobs。
271
- if (projectPath)
272
- (0, snapshotStore_1.cleanupProjectSnapshots)(projectPath);
288
+ (0, snapshotStore_1.cleanupProjectSnapshots)(target);
273
289
  }
274
290
  catch (error) {
275
291
  (0, log_1.logWarn)(`删除会话历史失败 ${sessionId}: ${error instanceof Error ? error.message : String(error)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/util/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/util/history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import Anthropic from '@anthropic-ai/sdk';
2
+ import { Message } from '../types/message';
3
+ /**
4
+ * 将会话历史压缩成一串纯 text 块,供输入预测作为上下文。
5
+ * 与 extractAutoRunContext 的差异:保留 assistant 文本摘要(用户往往在回应
6
+ * assistant 的提问/结论,丢掉它预测信号不足),并只取最近 RECENT_USER_TURNS 轮。
7
+ */
8
+ export declare function extractPredictionContext(messages: Message[]): Anthropic.TextBlockParam[];
9
+ /**
10
+ * 后台异步预测用户下一句输入,不阻塞主流程。
11
+ * 一轮回复自然结束后调用;结果以 input:predict 事件发出,
12
+ * prediction 为空串表示"预计不回复"(UI 据此清空提示)。
13
+ */
14
+ export declare function predictNextInputInBackground(sessionId: string): Promise<void>;
15
+ //# sourceMappingURL=inputPredict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputPredict.d.ts","sourceRoot":"","sources":["../../src/util/inputPredict.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAuB1C;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,cAAc,EAAE,CAuDxF;AAQD;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCnF"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractPredictionContext = extractPredictionContext;
4
+ exports.predictNextInputInBackground = predictNextInputInBackground;
5
+ const queryLLM_1 = require("../services/api/queryLLM");
6
+ const message_1 = require("./message");
7
+ const StateManager_1 = require("../manager/StateManager");
8
+ const EventSystem_1 = require("../events/EventSystem");
9
+ const autoRunContext_1 = require("./autoRunContext");
10
+ const inputPredict_1 = require("../prompt/inputPredict");
11
+ const errors_1 = require("../types/errors");
12
+ const log_1 = require("./log");
13
+ // assistant 文本截断上限:预测只需要结论/提问,长篇正文是噪声
14
+ const MAX_ASSISTANT_TEXT_LEN = 500;
15
+ // 历史窗口:只取最近 N 条真实用户输入起的切片,控制 token
16
+ const RECENT_USER_TURNS = 4;
17
+ // 真实用户输入消息:user 类型且不含 tool_result(含 tool_result 的是工具结果载体/合成消息)
18
+ function isRealUserMsg(msg) {
19
+ if (msg.type !== 'user')
20
+ return false;
21
+ const content = msg.message.content;
22
+ if (typeof content === 'string')
23
+ return true;
24
+ return !content.some(b => b.type === 'tool_result');
25
+ }
26
+ /**
27
+ * 将会话历史压缩成一串纯 text 块,供输入预测作为上下文。
28
+ * 与 extractAutoRunContext 的差异:保留 assistant 文本摘要(用户往往在回应
29
+ * assistant 的提问/结论,丢掉它预测信号不足),并只取最近 RECENT_USER_TURNS 轮。
30
+ */
31
+ function extractPredictionContext(messages) {
32
+ let start = 0;
33
+ let seen = 0;
34
+ for (let i = messages.length - 1; i >= 0; i--) {
35
+ if (isRealUserMsg(messages[i])) {
36
+ seen++;
37
+ if (seen >= RECENT_USER_TURNS) {
38
+ start = i;
39
+ break;
40
+ }
41
+ }
42
+ }
43
+ const blocks = [];
44
+ const pushUserText = (raw) => {
45
+ const text = (0, autoRunContext_1.stripReminderSys)(raw).trim();
46
+ if (text)
47
+ blocks.push({ type: 'text', text: `User: ${text}` });
48
+ };
49
+ // 截断保尾:提问/待决事项通常在文本末尾
50
+ const pushAssistantText = (raw) => {
51
+ const text = raw.trim();
52
+ if (!text)
53
+ return;
54
+ const t = text.length > MAX_ASSISTANT_TEXT_LEN ? `…${text.slice(-MAX_ASSISTANT_TEXT_LEN)}` : text;
55
+ blocks.push({ type: 'text', text: `Assistant: ${t}` });
56
+ };
57
+ for (const msg of messages.slice(start)) {
58
+ const content = msg.message.content;
59
+ if (msg.type === 'user') {
60
+ if (typeof content === 'string') {
61
+ pushUserText(content);
62
+ continue;
63
+ }
64
+ if (content.some(b => b.type === 'tool_result'))
65
+ continue;
66
+ for (const b of content) {
67
+ if (b.type === 'text')
68
+ pushUserText(b.text);
69
+ }
70
+ continue;
71
+ }
72
+ // assistant 消息:文本摘要 + 副作用工具紧凑行,丢弃 thinking / 只读工具
73
+ if (typeof content === 'string') {
74
+ pushAssistantText(content);
75
+ continue;
76
+ }
77
+ for (const b of content) {
78
+ if (b.type === 'text') {
79
+ pushAssistantText(b.text);
80
+ }
81
+ else if (b.type === 'tool_use') {
82
+ const line = (0, autoRunContext_1.summarizeToolUse)(b);
83
+ if (line)
84
+ blocks.push({ type: 'text', text: line });
85
+ }
86
+ }
87
+ }
88
+ return blocks;
89
+ }
90
+ // 解析输出契约:<predict>…</predict> 取内容;<none/> 或任何不合规输出均视为"不回复"
91
+ function parsePrediction(content) {
92
+ const m = content.match(/<predict>([\s\S]*?)<\/predict>/);
93
+ return m ? m[1].trim() : '';
94
+ }
95
+ /**
96
+ * 后台异步预测用户下一句输入,不阻塞主流程。
97
+ * 一轮回复自然结束后调用;结果以 input:predict 事件发出,
98
+ * prediction 为空串表示"预计不回复"(UI 据此清空提示)。
99
+ */
100
+ async function predictNextInputInBackground(sessionId) {
101
+ try {
102
+ const runtime = (0, StateManager_1.getStateManager)().session(sessionId);
103
+ const history = runtime.forAgent(StateManager_1.MAIN_AGENT_ID).getMessageHistory();
104
+ const context = extractPredictionContext(history);
105
+ if (context.length === 0)
106
+ return;
107
+ // 与 AutoRun 裁决同构:历史压缩进单条 user 消息的多个 text 块(无 tool 块),tools 传 []
108
+ const response = await (0, queryLLM_1.queryLLM)([(0, message_1.buildUserMsg)(context)], [{ type: 'text', text: inputPredict_1.INPUT_PREDICT_SYSTEM_PROMPT }], new AbortController().signal, [], {
109
+ modelPointer: 'quick',
110
+ disableChunkEvents: true,
111
+ disableErrorEvents: true,
112
+ disableThinking: true,
113
+ sessionId,
114
+ });
115
+ const content = response.message.content
116
+ .filter(b => b.type === 'text')
117
+ .map(b => b.text)
118
+ .join('\n');
119
+ if (content.startsWith(message_1.API_ERR_PREFIX))
120
+ return;
121
+ // 迟到校验:会话已进入新一轮则丢弃(新一轮结束时会重新预测)
122
+ if (runtime.getCurrentState() !== 'idle')
123
+ return;
124
+ const prediction = parsePrediction(content);
125
+ (0, log_1.logDebug)(`[inputPredict] 预测结果: ${prediction || '<none>'}`);
126
+ (0, EventSystem_1.getEventBus)().emit('input:predict', { prediction }, sessionId);
127
+ }
128
+ catch (error) {
129
+ // 预测失败不影响主流程,只记录调试日志
130
+ if (!(0, errors_1.isInterruptedException)(error)) {
131
+ (0, log_1.logDebug)(`[inputPredict] 预测失败: ${error}`);
132
+ }
133
+ }
134
+ }
135
+ //# sourceMappingURL=inputPredict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputPredict.js","sourceRoot":"","sources":["../../src/util/inputPredict.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,6 @@ export declare function buildUserMsg(content: string | Anthropic.ContentBlockPar
12
12
  /**
13
13
  * 构建 additionalReminders:文件引用、首次查询、Plan 模式信息、skill信息
14
14
  */
15
- export declare function buildAdditionalReminders(systemReminders: Anthropic.ContentBlockParam[], messageHistory: Message[], agentMode: AgentMode, sessionId: string, hasSkillTool?: boolean): Anthropic.ContentBlockParam[];
15
+ export declare function buildAdditionalReminders(systemReminders: Anthropic.ContentBlockParam[], messageHistory: Message[], agentMode: AgentMode, sessionId: string, hasSkillTool?: boolean): Promise<Anthropic.ContentBlockParam[]>;
16
16
  export declare function prepareMessagesForApi(messages: Message[]): (UserMsg | AiMessage)[];
17
17
  //# sourceMappingURL=message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/util/message.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAA;AAGzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAMzC,eAAO,MAAM,iBAAiB,kCAAkC,CAAA;AAChE,eAAO,MAAM,kBAAkB,mCACG,CAAA;AAClC,eAAO,MAAM,UAAU,2EAA2E,CAAA;AAClG,eAAO,MAAM,UAAU,2EAA2E,CAAA;AAGlG,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,eAAO,MAAM,cAAc,cAAc,CAAA;AAKzC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAGD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,iBAAiB,EAAE,EAC/C,aAAa,CAAC,EAAE,iBAAiB,EACjC,aAAa,CAAC,EAAE,iBAAiB,GAChC,OAAO,CAQT;AAGD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,SAAS,CAAC,iBAAiB,EAAE,EAC9C,cAAc,EAAE,OAAO,EAAE,EACzB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,OAAe,GAC5B,SAAS,CAAC,iBAAiB,EAAE,CA6B/B;AAuBD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EAAE,GAClB,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAkHzB"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/util/message.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAA;AAGzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAMzC,eAAO,MAAM,iBAAiB,kCAAkC,CAAA;AAChE,eAAO,MAAM,kBAAkB,mCACG,CAAA;AAClC,eAAO,MAAM,UAAU,2EAA2E,CAAA;AAClG,eAAO,MAAM,UAAU,2EAA2E,CAAA;AAGlG,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,eAAO,MAAM,cAAc,cAAc,CAAA;AAKzC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAGD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,iBAAiB,EAAE,EAC/C,aAAa,CAAC,EAAE,iBAAiB,EACjC,aAAa,CAAC,EAAE,iBAAiB,GAChC,OAAO,CAQT;AAGD;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,eAAe,EAAE,SAAS,CAAC,iBAAiB,EAAE,EAC9C,cAAc,EAAE,OAAO,EAAE,EACzB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,CA6BxC;AAuBD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EAAE,GAClB,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAkHzB"}
@@ -39,14 +39,14 @@ function buildUserMsg(content, toolUseResult, controlSignal) {
39
39
  /**
40
40
  * 构建 additionalReminders:文件引用、首次查询、Plan 模式信息、skill信息
41
41
  */
42
- function buildAdditionalReminders(systemReminders, messageHistory, agentMode, sessionId, hasSkillTool = false) {
42
+ async function buildAdditionalReminders(systemReminders, messageHistory, agentMode, sessionId, hasSkillTool = false) {
43
43
  // 文件引用 每次输入均添加
44
44
  const reminders = [...systemReminders];
45
45
  // 判断是否为首次查询(消息历史为空),添加首次查询的额外信息 skills\rules
46
46
  if (messageHistory.length === 0) {
47
47
  // 添加 skills 信息(仅当工具集中包含 Skill 工具时)
48
48
  if (hasSkillTool) {
49
- reminders.push(...(0, genSystemReminder_1.generateSkillsReminder)());
49
+ reminders.push(...await (0, genSystemReminder_1.generateSkillsReminder)());
50
50
  }
51
51
  // 添加 rules 信息
52
52
  reminders.push(...(0, genSystemReminder_1.generateRulesReminders)());
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/util/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/util/message.ts"],"names":[],"mappings":"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"}