@ai-setting/roy-agent-core 1.7.55 → 1.7.57

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 (117) hide show
  1. package/dist/config/index.js +8 -8
  2. package/dist/env/agent/agent-component.d.ts +41 -0
  3. package/dist/env/agent/index.js +15 -14
  4. package/dist/env/commands/index.js +8 -8
  5. package/dist/env/context/index.js +4 -4
  6. package/dist/env/debug/index.js +8 -8
  7. package/dist/env/environment.d.ts +7 -0
  8. package/dist/env/event-source/event-source-handlers.d.ts +28 -0
  9. package/dist/env/event-source/index.js +18 -17
  10. package/dist/env/hook/index.js +6 -6
  11. package/dist/env/index.js +45 -43
  12. package/dist/env/llm/adapter-ai-sdk.d.ts +6 -0
  13. package/dist/env/llm/adapter-pi-ai.d.ts +5 -0
  14. package/dist/env/llm/index.js +11 -11
  15. package/dist/env/llm/invoke.d.ts +33 -1
  16. package/dist/env/llm/llm.d.ts +13 -0
  17. package/dist/env/llm/outbound-defense.d.ts +140 -0
  18. package/dist/env/log-trace/decorator.d.ts +46 -3
  19. package/dist/env/log-trace/index.d.ts +1 -0
  20. package/dist/env/log-trace/index.js +34 -8
  21. package/dist/env/log-trace/opentelemetry/tracer-provider.d.ts +86 -1
  22. package/dist/env/log-trace/trace-filters.d.ts +127 -0
  23. package/dist/env/mcp/index.js +9 -9
  24. package/dist/env/mcp/tool/index.js +2 -2
  25. package/dist/env/memory/index.js +9 -9
  26. package/dist/env/memory/plugin/index.js +2 -2
  27. package/dist/env/plugin/index.js +8 -8
  28. package/dist/env/prompt/index.js +8 -8
  29. package/dist/env/session/index.js +12 -11
  30. package/dist/env/session/session-component.d.ts +4 -0
  31. package/dist/env/session/storage/index.js +6 -4
  32. package/dist/env/skill/index.js +8 -8
  33. package/dist/env/task/delegate/index.js +9 -9
  34. package/dist/env/task/index.js +18 -17
  35. package/dist/env/task/plugins/index.js +11 -10
  36. package/dist/env/task/plugins/lark-card-patch-notifier.d.ts +109 -2
  37. package/dist/env/task/plugins/lark-card-state-store.d.ts +137 -0
  38. package/dist/env/task/plugins/lark-cli-task-notify-plugin.d.ts +154 -2
  39. package/dist/env/task/storage/index.js +4 -3
  40. package/dist/env/task/tools/index.js +4 -4
  41. package/dist/env/tool/built-in/index.js +5 -5
  42. package/dist/env/tool/index.js +12 -12
  43. package/dist/env/workflow/engine/index.js +13 -13
  44. package/dist/env/workflow/hooks/index.js +8 -8
  45. package/dist/env/workflow/index.js +24 -23
  46. package/dist/env/workflow/nodes/index.js +3 -3
  47. package/dist/env/workflow/plugins/index.js +9 -9
  48. package/dist/env/workflow/service/index.js +3 -3
  49. package/dist/env/workflow/storage/index.js +4 -4
  50. package/dist/env/workflow/tools/index.js +16 -15
  51. package/dist/env/workflow/utils/index.js +6 -6
  52. package/dist/index.d.ts +1 -1
  53. package/dist/index.js +90 -63
  54. package/dist/shared/@ai-setting/{roy-agent-core-k25gv86p.js → roy-agent-core-029r8kdw.js} +4 -4
  55. package/dist/shared/@ai-setting/{roy-agent-core-8s9jd2qy.js → roy-agent-core-08njdcpj.js} +1 -1
  56. package/dist/shared/@ai-setting/{roy-agent-core-tdbv7ff4.js → roy-agent-core-0kn3zt1t.js} +2 -2
  57. package/dist/shared/@ai-setting/{roy-agent-core-8eqngasy.js → roy-agent-core-0yn7a78e.js} +14 -14
  58. package/dist/shared/@ai-setting/{roy-agent-core-tbrn9wdm.js → roy-agent-core-14bq77wr.js} +1 -1
  59. package/dist/shared/@ai-setting/{roy-agent-core-mxdc756a.js → roy-agent-core-1sfbs57v.js} +9 -9
  60. package/dist/shared/@ai-setting/{roy-agent-core-qamktze3.js → roy-agent-core-20m8je6e.js} +1 -1
  61. package/dist/shared/@ai-setting/{roy-agent-core-yhsssn86.js → roy-agent-core-2ctyjy62.js} +1 -1
  62. package/dist/shared/@ai-setting/{roy-agent-core-9jzysq50.js → roy-agent-core-2fk8c9ax.js} +3 -3
  63. package/dist/shared/@ai-setting/{roy-agent-core-2k4xffaa.js → roy-agent-core-4096f575.js} +4 -4
  64. package/dist/shared/@ai-setting/{roy-agent-core-2gay3sjt.js → roy-agent-core-47s81t6g.js} +2 -2
  65. package/dist/shared/@ai-setting/{roy-agent-core-w527pcpe.js → roy-agent-core-5f7myqnb.js} +45 -494
  66. package/dist/shared/@ai-setting/{roy-agent-core-zjttt2y4.js → roy-agent-core-7nb23tdd.js} +1 -1
  67. package/dist/shared/@ai-setting/roy-agent-core-7q4wdze2.js +7 -0
  68. package/dist/shared/@ai-setting/{roy-agent-core-cd62e9p1.js → roy-agent-core-84rs0c8d.js} +23 -10
  69. package/dist/shared/@ai-setting/{roy-agent-core-dwx9hjwx.js → roy-agent-core-84xtww7d.js} +3 -3
  70. package/dist/shared/@ai-setting/{roy-agent-core-a4vzsn0g.js → roy-agent-core-89sxsrc7.js} +1 -1
  71. package/dist/shared/@ai-setting/{roy-agent-core-g36jevrk.js → roy-agent-core-8bngppw0.js} +580 -83
  72. package/dist/shared/@ai-setting/roy-agent-core-8p63s836.js +578 -0
  73. package/dist/shared/@ai-setting/{roy-agent-core-7evvpfwc.js → roy-agent-core-9zhkdg6w.js} +2 -2
  74. package/dist/shared/@ai-setting/{roy-agent-core-ak4dc3kg.js → roy-agent-core-baaa4wtp.js} +2 -2
  75. package/dist/shared/@ai-setting/{roy-agent-core-b5ew8t0k.js → roy-agent-core-c36335nw.js} +146 -8
  76. package/dist/shared/@ai-setting/{roy-agent-core-7qy3nffr.js → roy-agent-core-c7w2h47a.js} +3 -3
  77. package/dist/shared/@ai-setting/{roy-agent-core-j5c3chtn.js → roy-agent-core-cyefe8z5.js} +1 -1
  78. package/dist/shared/@ai-setting/{roy-agent-core-2bscfrr1.js → roy-agent-core-d75t8gea.js} +1 -1
  79. package/dist/shared/@ai-setting/{roy-agent-core-0hq21px2.js → roy-agent-core-e1w17tht.js} +632 -36
  80. package/dist/shared/@ai-setting/{roy-agent-core-ne2t1pay.js → roy-agent-core-e250355z.js} +3 -3
  81. package/dist/shared/@ai-setting/{roy-agent-core-ytr2w0vb.js → roy-agent-core-eanq305k.js} +69 -25
  82. package/dist/shared/@ai-setting/{roy-agent-core-12d2xap8.js → roy-agent-core-em4hks9t.js} +4 -4
  83. package/dist/shared/@ai-setting/{roy-agent-core-6qxh4xrm.js → roy-agent-core-en2xqxs9.js} +7 -7
  84. package/dist/shared/@ai-setting/{roy-agent-core-e2z1etk4.js → roy-agent-core-ewcc5qdt.js} +11 -11
  85. package/dist/shared/@ai-setting/{roy-agent-core-qm9jda8p.js → roy-agent-core-fbjd7bt6.js} +3 -7
  86. package/dist/shared/@ai-setting/{roy-agent-core-fvs48d38.js → roy-agent-core-fw6k4w1h.js} +14 -9
  87. package/dist/shared/@ai-setting/{roy-agent-core-2b8jtv7m.js → roy-agent-core-ge87xbas.js} +1 -1
  88. package/dist/shared/@ai-setting/{roy-agent-core-9csa89jx.js → roy-agent-core-geh6j7bw.js} +2 -2
  89. package/dist/shared/@ai-setting/{roy-agent-core-dv714bqh.js → roy-agent-core-gksw1gjb.js} +1 -1
  90. package/dist/shared/@ai-setting/{roy-agent-core-fs36xgcs.js → roy-agent-core-hefarcp0.js} +1 -1
  91. package/dist/shared/@ai-setting/{roy-agent-core-t37wbysj.js → roy-agent-core-hs41gx9w.js} +5 -5
  92. package/dist/shared/@ai-setting/{roy-agent-core-1cv9j4dg.js → roy-agent-core-jjhw9am6.js} +4 -4
  93. package/dist/shared/@ai-setting/{roy-agent-core-978b6wfx.js → roy-agent-core-jjxdmedn.js} +2 -2
  94. package/dist/shared/@ai-setting/{roy-agent-core-j2nvedt6.js → roy-agent-core-jw5ar4p0.js} +33 -38
  95. package/dist/shared/@ai-setting/{roy-agent-core-zvemdfx5.js → roy-agent-core-kq9pz2a7.js} +13 -6
  96. package/dist/shared/@ai-setting/{roy-agent-core-8t7wny6v.js → roy-agent-core-m68z3pw1.js} +1 -1
  97. package/dist/shared/@ai-setting/{roy-agent-core-k8b440n3.js → roy-agent-core-m97jn2ra.js} +1 -1
  98. package/dist/shared/@ai-setting/{roy-agent-core-kzg1jwt8.js → roy-agent-core-n0p0hwgd.js} +1 -1
  99. package/dist/shared/@ai-setting/{roy-agent-core-9h72sk1n.js → roy-agent-core-psg6f1v6.js} +6 -6
  100. package/dist/shared/@ai-setting/{roy-agent-core-athdr2m0.js → roy-agent-core-q4gdfypk.js} +12 -4
  101. package/dist/shared/@ai-setting/{roy-agent-core-nde5gzta.js → roy-agent-core-rcgvmtms.js} +1 -1
  102. package/dist/shared/@ai-setting/{roy-agent-core-8seq65bp.js → roy-agent-core-rt115qfc.js} +44 -1
  103. package/dist/shared/@ai-setting/{roy-agent-core-5apmk4qw.js → roy-agent-core-syyw58p9.js} +2 -2
  104. package/dist/shared/@ai-setting/{roy-agent-core-tjg71zqp.js → roy-agent-core-t4x089js.js} +1 -1
  105. package/dist/shared/@ai-setting/{roy-agent-core-zd3ddm4k.js → roy-agent-core-t64nmayv.js} +2 -2
  106. package/dist/shared/@ai-setting/{roy-agent-core-6167phd4.js → roy-agent-core-txwptxk1.js} +4 -4
  107. package/dist/shared/@ai-setting/{roy-agent-core-rnwr39b0.js → roy-agent-core-tze5596n.js} +6 -4
  108. package/dist/shared/@ai-setting/{roy-agent-core-skzjs973.js → roy-agent-core-vath15kt.js} +6 -6
  109. package/dist/shared/@ai-setting/{roy-agent-core-vrsxhw9e.js → roy-agent-core-vgdhxbx3.js} +2 -2
  110. package/dist/shared/@ai-setting/{roy-agent-core-7g03zkkb.js → roy-agent-core-vh0qzb24.js} +2 -2
  111. package/dist/shared/@ai-setting/{roy-agent-core-aer5kw1j.js → roy-agent-core-w93z6a42.js} +17 -17
  112. package/dist/shared/@ai-setting/{roy-agent-core-rx16h2m1.js → roy-agent-core-ygn5tzt1.js} +3 -3
  113. package/dist/shared/@ai-setting/{roy-agent-core-4z3rq5gw.js → roy-agent-core-yphwdm9x.js} +2 -2
  114. package/dist/shared/@ai-setting/{roy-agent-core-qcspfszy.js → roy-agent-core-ytd5eztz.js} +1 -1
  115. package/dist/utils/temp-file-manager/index.js +2 -2
  116. package/package.json +1 -1
  117. package/dist/shared/@ai-setting/roy-agent-core-dsevjbck.js +0 -245
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  TracedAs,
3
3
  init_decorator
4
- } from "./roy-agent-core-dsevjbck.js";
4
+ } from "./roy-agent-core-8p63s836.js";
5
5
  import {
6
6
  createLogger,
7
7
  init_logger
8
- } from "./roy-agent-core-8seq65bp.js";
8
+ } from "./roy-agent-core-rt115qfc.js";
9
9
  import {
10
10
  __legacyDecorateClassTS
11
11
  } from "./roy-agent-core-fs0mn2jk.js";
@@ -19,13 +19,25 @@ var HEADER_TEMPLATE = {
19
19
  running: "blue",
20
20
  completed: "green",
21
21
  failed: "red",
22
- stopped: "grey"
22
+ stopped: "grey",
23
+ cancelled: "grey",
24
+ deleted: "grey"
23
25
  };
24
26
  var STATUS_PHRASE = {
25
27
  running: "实时同步中",
26
28
  completed: "\uD83C\uDF89 全部完成!",
27
29
  failed: "\uD83D\uDEA8 任务失败",
28
- stopped: "⏹️ 已停止"
30
+ stopped: "⏹️ 已停止",
31
+ cancelled: "\uD83D\uDEAB 已取消",
32
+ deleted: "\uD83D\uDDD1️ 已删除"
33
+ };
34
+ var FINAL_MILESTONE_TITLE = {
35
+ running: "Task 进行中",
36
+ completed: "Task 完成",
37
+ failed: "Task 失败",
38
+ stopped: "Task 已暂停",
39
+ cancelled: "Task 已取消",
40
+ deleted: "Task 已删除"
29
41
  };
30
42
  var SPINNER_EMOJIS = ["⏳", "\uD83D\uDD04", "\uD83D\uDD03", "⌛", "⏰", "\uD83D\uDD01"];
31
43
  var PROGRESS_BAR_CELLS = 20;
@@ -265,9 +277,11 @@ function buildTaskCard(opts) {
265
277
  elements.push({ tag: "markdown", content: renderProcessSteps(processSteps) });
266
278
  elements.push({ tag: "hr" });
267
279
  const effectiveProgress = status === "completed" ? 100 : opts.progress;
280
+ const isTerminalStatus = status !== "running";
281
+ const terminalProgressText = status === "deleted" ? "任务已取消(删除),记录已归档" : status === "cancelled" ? "任务已取消" : status === "stopped" ? "任务已停止(可恢复)" : status === "failed" ? "任务失败" : "任务已完成";
268
282
  elements.push({
269
283
  tag: "markdown",
270
- content: effectiveProgress !== undefined ? `**\uD83D\uDCCA 进度**:${renderProgressBar(effectiveProgress)}` : `**\uD83D\uDCCA 进度**:进行中(第 ${updateCount} 次更新,尚未上报百分比)`
284
+ content: effectiveProgress !== undefined ? `**\uD83D\uDCCA 进度**:${renderProgressBar(effectiveProgress)}` : isTerminalStatus ? `**\uD83D\uDCCA 进度**:${terminalProgressText}` : `**\uD83D\uDCCA 进度**:进行中(第 ${updateCount} 次更新,尚未上报百分比)`
271
285
  });
272
286
  const taskLabel = opts.meta.id !== undefined ? `#${opts.meta.id}` : "任务";
273
287
  return {
@@ -291,13 +305,17 @@ var WORKFLOW_STATUS_LABEL = {
291
305
  running: "\uD83D\uDD04 运行中",
292
306
  completed: "✅ 已完成",
293
307
  failed: "\uD83D\uDEA8 已失败",
294
- stopped: "⏹️ 已停止"
308
+ stopped: "⏹️ 已停止",
309
+ cancelled: "\uD83D\uDEAB 已取消",
310
+ deleted: "\uD83D\uDDD1️ 已删除"
295
311
  };
296
312
  var WORKFLOW_STATUS_PHRASE = {
297
313
  running: "实时同步中",
298
314
  completed: "\uD83C\uDF89 流程跑完!",
299
315
  failed: "\uD83D\uDEA8 流程失败",
300
- stopped: "⏹️ 流程已停止"
316
+ stopped: "⏹️ 流程已停止",
317
+ cancelled: "\uD83D\uDEAB 流程已取消",
318
+ deleted: "\uD83D\uDDD1️ 流程已删除"
301
319
  };
302
320
  function formatDurationMs(ms) {
303
321
  if (ms === undefined || ms === null || Number.isNaN(ms))
@@ -519,6 +537,92 @@ class LarkCardPatchNotifier {
519
537
  });
520
538
  });
521
539
  }
540
+ exportState(messageId) {
541
+ const state = this.states.get(messageId);
542
+ if (!state)
543
+ return;
544
+ return {
545
+ meta: state.meta,
546
+ startedAt: state.startedAt,
547
+ updateCount: state.updateCount,
548
+ spinnerIndex: state.spinnerIndex,
549
+ milestones: state.milestones,
550
+ processSteps: state.processSteps,
551
+ progress: state.progress,
552
+ chatId: state.chatId,
553
+ profile: state.profile
554
+ };
555
+ }
556
+ hydrateState(messageId, snapshot) {
557
+ if (this.states.has(messageId))
558
+ return;
559
+ this.states.set(messageId, {
560
+ chatId: snapshot.chatId ?? "",
561
+ profile: snapshot.profile,
562
+ meta: snapshot.meta ?? { title: "任务" },
563
+ startedAt: snapshot.startedAt ?? new Date().toISOString(),
564
+ updateCount: snapshot.updateCount ?? 0,
565
+ spinnerIndex: snapshot.spinnerIndex ?? 0,
566
+ milestones: snapshot.milestones ?? [],
567
+ processSteps: snapshot.processSteps ?? [],
568
+ progress: snapshot.progress
569
+ });
570
+ }
571
+ async pauseTask(opts) {
572
+ await this.mutexFor(opts.messageId).run(async () => {
573
+ const state = this.states.get(opts.messageId);
574
+ const now = new Date().toISOString();
575
+ const updateCount = (state?.updateCount ?? 0) + 1;
576
+ const spinner = SPINNER_EMOJIS[updateCount % SPINNER_EMOJIS.length];
577
+ const pauseMilestone = {
578
+ title: opts.pausedMilestoneTitle ?? "Task 已暂停",
579
+ timestamp: now,
580
+ description: opts.finalStep
581
+ };
582
+ const card = buildTaskCard({
583
+ status: opts.status,
584
+ meta: mergeTaskMeta(state?.meta, opts.meta),
585
+ progress: opts.progress ?? state?.progress,
586
+ milestones: mergeUnique(state?.milestones ?? [], [pauseMilestone], milestoneKey),
587
+ processSteps: state?.processSteps ?? [],
588
+ updateCount,
589
+ spinner
590
+ });
591
+ await this.runLarkCli(this.buildPatchCardArgs({
592
+ messageId: opts.messageId,
593
+ profile: opts.profile ?? state?.profile,
594
+ card
595
+ }), "patch");
596
+ this.states.set(opts.messageId, {
597
+ chatId: opts.chatId ?? state?.chatId ?? "",
598
+ profile: opts.profile ?? state?.profile,
599
+ meta: mergeTaskMeta(state?.meta, opts.meta),
600
+ startedAt: state?.startedAt ?? now,
601
+ updateCount,
602
+ spinnerIndex: spinnerIndexFor(updateCount),
603
+ milestones: mergeUnique(state?.milestones ?? [], [pauseMilestone], milestoneKey),
604
+ processSteps: state?.processSteps ?? [],
605
+ progress: opts.progress ?? state?.progress
606
+ });
607
+ });
608
+ if (this.options.unpinOnFinish) {
609
+ const state = this.states.get(opts.messageId);
610
+ try {
611
+ await this.runLarkCli(this.buildUnpinArgs({
612
+ messageId: opts.messageId,
613
+ profile: opts.profile ?? state?.profile
614
+ }), "unpin");
615
+ } catch (unpinErr) {
616
+ logger.warn(`Unpin failed (non-fatal) for ${opts.messageId}: ${unpinErr.message}`);
617
+ }
618
+ }
619
+ }
620
+ async pinMessage(messageId, profile) {
621
+ await this.runLarkCli(this.buildPinArgs({ messageId, profile }), "pin");
622
+ }
623
+ async unpinMessage(messageId, profile) {
624
+ await this.runLarkCli(this.buildUnpinArgs({ messageId, profile }), "unpin");
625
+ }
522
626
  async finishTask(opts) {
523
627
  await this.mutexFor(opts.messageId).run(async () => {
524
628
  const state = this.states.get(opts.messageId);
@@ -526,7 +630,7 @@ class LarkCardPatchNotifier {
526
630
  const updateCount = (state?.updateCount ?? 0) + 1;
527
631
  const spinner = SPINNER_EMOJIS[updateCount % SPINNER_EMOJIS.length];
528
632
  const finalMilestone = {
529
- title: opts.status === "completed" ? "Task 完成" : "Task 失败",
633
+ title: FINAL_MILESTONE_TITLE[opts.status] ?? "Task 结束",
530
634
  timestamp: now,
531
635
  description: opts.finalStep
532
636
  };
@@ -881,6 +985,40 @@ __legacyDecorateClassTS([
881
985
  })
882
986
  })
883
987
  ], LarkCardPatchNotifier.prototype, "updateTask", null);
988
+ __legacyDecorateClassTS([
989
+ TracedAs("lark-card.pauseTask", {
990
+ recordParams: true,
991
+ recordResult: false,
992
+ flattenParamFilter: true,
993
+ paramFilter: (args) => ({
994
+ messageId: args[0]?.messageId,
995
+ profile: args[0]?.profile,
996
+ taskId: args[0]?.taskId
997
+ })
998
+ })
999
+ ], LarkCardPatchNotifier.prototype, "pauseTask", null);
1000
+ __legacyDecorateClassTS([
1001
+ TracedAs("lark-card.pinMessage", {
1002
+ recordParams: true,
1003
+ recordResult: false,
1004
+ flattenParamFilter: true,
1005
+ paramFilter: (args) => ({
1006
+ messageId: args[0],
1007
+ profile: args[1]
1008
+ })
1009
+ })
1010
+ ], LarkCardPatchNotifier.prototype, "pinMessage", null);
1011
+ __legacyDecorateClassTS([
1012
+ TracedAs("lark-card.unpinMessage", {
1013
+ recordParams: true,
1014
+ recordResult: false,
1015
+ flattenParamFilter: true,
1016
+ paramFilter: (args) => ({
1017
+ messageId: args[0],
1018
+ profile: args[1]
1019
+ })
1020
+ })
1021
+ ], LarkCardPatchNotifier.prototype, "unpinMessage", null);
884
1022
  __legacyDecorateClassTS([
885
1023
  TracedAs("lark-card.finishTask", {
886
1024
  recordParams: true,
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  SessionMessageConverter
3
- } from "./roy-agent-core-2b8jtv7m.js";
3
+ } from "./roy-agent-core-ge87xbas.js";
4
4
  import {
5
5
  canonicalizeParts
6
- } from "./roy-agent-core-0hq21px2.js";
6
+ } from "./roy-agent-core-e1w17tht.js";
7
7
  import {
8
8
  createLogger,
9
9
  init_logger
10
- } from "./roy-agent-core-8seq65bp.js";
10
+ } from "./roy-agent-core-rt115qfc.js";
11
11
  import {
12
12
  __require
13
13
  } from "./roy-agent-core-fs0mn2jk.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createLogger,
3
3
  init_logger
4
- } from "./roy-agent-core-8seq65bp.js";
4
+ } from "./roy-agent-core-rt115qfc.js";
5
5
  import {
6
6
  __require
7
7
  } from "./roy-agent-core-fs0mn2jk.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TracedAs,
3
3
  init_decorator
4
- } from "./roy-agent-core-dsevjbck.js";
4
+ } from "./roy-agent-core-8p63s836.js";
5
5
  import {
6
6
  __esm,
7
7
  __legacyDecorateClassTS