@ai-setting/roy-agent-core 1.7.85 → 1.7.88

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 (135) hide show
  1. package/dist/config/index.js +7 -7
  2. package/dist/env/agent/agent-component.d.ts +1 -1
  3. package/dist/env/agent/agent-component.js +13 -12
  4. package/dist/env/agent/index.js +13 -12
  5. package/dist/env/agent/types.d.ts +14 -0
  6. package/dist/env/commands/index.js +7 -7
  7. package/dist/env/context/index.js +3 -3
  8. package/dist/env/debug/index.js +7 -7
  9. package/dist/env/error-reply.js +1 -1
  10. package/dist/env/event-source/event-source-handlers.d.ts +18 -2
  11. package/dist/env/event-source/event-source-handlers.js +26 -21
  12. package/dist/env/event-source/event-store.js +2 -2
  13. package/dist/env/event-source/index.js +25 -22
  14. package/dist/env/event-source/timer-handler.d.ts +98 -0
  15. package/dist/env/event-source/types.d.ts +53 -1
  16. package/dist/env/event-source/wecom-card-action-handler.d.ts +235 -3
  17. package/dist/env/event-source/wecom-card-builder.d.ts +207 -1
  18. package/dist/env/event-source/wecom-cli-handler.d.ts +25 -0
  19. package/dist/{shared/@ai-setting/roy-agent-core-vyr6svt6.js → env/event-source/wecom-respond-registry.js} +8 -6
  20. package/dist/env/event-source/wecom-session-card-sender.d.ts +135 -0
  21. package/dist/env/event-source/wecom-session-card-sender.js +153 -0
  22. package/dist/env/hook/index.js +5 -5
  23. package/dist/env/index.js +49 -45
  24. package/dist/env/llm/index.js +9 -8
  25. package/dist/env/log-trace/index.js +7 -7
  26. package/dist/env/log-trace/trace-filters.d.ts +6 -1
  27. package/dist/env/mcp/index.js +7 -7
  28. package/dist/env/memory/index.js +7 -7
  29. package/dist/env/plugin/index.js +7 -7
  30. package/dist/env/prompt/index.js +8 -8
  31. package/dist/env/prompt/prompts-index.d.ts +1 -1
  32. package/dist/env/session/group-session-link.d.ts +99 -0
  33. package/dist/env/session/index.js +11 -10
  34. package/dist/env/session/session-component.d.ts +89 -0
  35. package/dist/env/session/storage/index.js +5 -4
  36. package/dist/env/session/types.d.ts +10 -0
  37. package/dist/env/skill/index.js +7 -7
  38. package/dist/env/task/delegate/delegate-channel-hint.d.ts +39 -0
  39. package/dist/env/task/delegate/delegate-tool.d.ts +71 -6
  40. package/dist/env/task/delegate/delegate-tool.js +11 -9
  41. package/dist/env/task/delegate/index.js +8 -8
  42. package/dist/env/task/index.js +18 -18
  43. package/dist/env/task/mcp/index.js +4 -4
  44. package/dist/env/task/plugins/card-subject.d.ts +117 -0
  45. package/dist/env/task/plugins/index.js +19 -17
  46. package/dist/env/task/plugins/lark-card-action-handler.d.ts +261 -6
  47. package/dist/env/task/plugins/lark-card-patch-notifier.d.ts +501 -0
  48. package/dist/env/task/plugins/lark-card-patch-notifier.js +12 -2
  49. package/dist/env/task/plugins/lark-card-state-store.d.ts +60 -0
  50. package/dist/env/task/plugins/lark-cli-task-notify-plugin.d.ts +45 -0
  51. package/dist/env/task/plugins/sub-session-activity.d.ts +415 -0
  52. package/dist/env/task/plugins/wecom-session-card-store.d.ts +134 -0
  53. package/dist/env/task/plugins/wecom-session-card-store.js +23 -0
  54. package/dist/env/task/plugins/wecom-task-notify-plugin.d.ts +40 -0
  55. package/dist/env/task/storage/index.js +3 -3
  56. package/dist/env/task/tools/index.js +4 -4
  57. package/dist/env/tool/built-in/index.js +6 -4
  58. package/dist/env/tool/index.js +14 -10
  59. package/dist/env/tool/types.d.ts +25 -0
  60. package/dist/env/tool/validator.d.ts +8 -0
  61. package/dist/env/workflow/engine/index.js +12 -12
  62. package/dist/env/workflow/hooks/index.js +7 -7
  63. package/dist/env/workflow/index.js +24 -23
  64. package/dist/env/workflow/nodes/index.js +2 -2
  65. package/dist/env/workflow/plugins/index.js +10 -8
  66. package/dist/env/workflow/service/index.js +2 -2
  67. package/dist/env/workflow/storage/index.js +3 -3
  68. package/dist/env/workflow/tools/index.js +16 -15
  69. package/dist/env/workflow/utils/index.js +4 -4
  70. package/dist/index.js +65 -60
  71. package/dist/shared/@ai-setting/{roy-agent-core-dc9zq75z.js → roy-agent-core-0crmsc12.js} +3 -3
  72. package/dist/shared/@ai-setting/{roy-agent-core-cha0jc7n.js → roy-agent-core-0sbmdz8d.js} +137 -16
  73. package/dist/shared/@ai-setting/{roy-agent-core-87942bw4.js → roy-agent-core-1mhyh4c5.js} +1 -1
  74. package/dist/shared/@ai-setting/{roy-agent-core-v6vr6za7.js → roy-agent-core-1vv4fx15.js} +4 -4
  75. package/dist/shared/@ai-setting/{roy-agent-core-nwbfepba.js → roy-agent-core-3e040tc5.js} +1 -1
  76. package/dist/shared/@ai-setting/roy-agent-core-418zc9ha.js +288 -0
  77. package/dist/shared/@ai-setting/{roy-agent-core-r5wt1h3c.js → roy-agent-core-4fkxy2gv.js} +1 -1
  78. package/dist/shared/@ai-setting/{roy-agent-core-na18zwj0.js → roy-agent-core-4t3yskp8.js} +1 -1
  79. package/dist/shared/@ai-setting/{roy-agent-core-5pr4zp88.js → roy-agent-core-5kzhaap1.js} +1 -1
  80. package/dist/shared/@ai-setting/{roy-agent-core-qq96p0tj.js → roy-agent-core-5s2t8z00.js} +22 -1
  81. package/dist/shared/@ai-setting/{roy-agent-core-6rh8k6ba.js → roy-agent-core-6gj1hc5z.js} +7 -7
  82. package/dist/shared/@ai-setting/{roy-agent-core-ezvpreqz.js → roy-agent-core-6k8mb7zx.js} +1 -1
  83. package/dist/shared/@ai-setting/{roy-agent-core-g8htfwxj.js → roy-agent-core-7f10p7m2.js} +1 -1
  84. package/dist/shared/@ai-setting/roy-agent-core-7kvpc0w5.js +177 -0
  85. package/dist/shared/@ai-setting/{roy-agent-core-h21gngxf.js → roy-agent-core-7yh5wps0.js} +1 -1
  86. package/dist/shared/@ai-setting/{roy-agent-core-efkjyh69.js → roy-agent-core-9710zwwz.js} +1 -1
  87. package/dist/shared/@ai-setting/{roy-agent-core-rykf7c04.js → roy-agent-core-9c565frx.js} +1 -1
  88. package/dist/shared/@ai-setting/{roy-agent-core-fghc2m8z.js → roy-agent-core-aa8kv18f.js} +34 -2
  89. package/dist/shared/@ai-setting/{roy-agent-core-p6ks90tb.js → roy-agent-core-an35dzbf.js} +6 -6
  90. package/dist/shared/@ai-setting/{roy-agent-core-7bpj859q.js → roy-agent-core-azyz78ky.js} +7 -7
  91. package/dist/shared/@ai-setting/{roy-agent-core-264qexac.js → roy-agent-core-b7h39vrc.js} +4 -4
  92. package/dist/shared/@ai-setting/{roy-agent-core-dqxec05w.js → roy-agent-core-bjtc9d35.js} +2 -2
  93. package/dist/shared/@ai-setting/roy-agent-core-c4ec7k0p.js +426 -0
  94. package/dist/shared/@ai-setting/{roy-agent-core-ddyk1rc0.js → roy-agent-core-cre2y2ct.js} +160 -4
  95. package/dist/shared/@ai-setting/{roy-agent-core-tr3ep81v.js → roy-agent-core-d6zdbgtc.js} +1 -1
  96. package/dist/shared/@ai-setting/{roy-agent-core-0qyrk5k0.js → roy-agent-core-ds6qzmf8.js} +14 -5
  97. package/dist/shared/@ai-setting/{roy-agent-core-cgtq6427.js → roy-agent-core-e08bvpaq.js} +1 -1
  98. package/dist/shared/@ai-setting/{roy-agent-core-12n08pg5.js → roy-agent-core-e69qxdyy.js} +1 -1
  99. package/dist/shared/@ai-setting/{roy-agent-core-qk9hd89p.js → roy-agent-core-fan8g0z1.js} +10 -10
  100. package/dist/shared/@ai-setting/{roy-agent-core-xcp8vwax.js → roy-agent-core-fepm835e.js} +2 -2
  101. package/dist/shared/@ai-setting/{roy-agent-core-6j02sbee.js → roy-agent-core-fhg03v43.js} +1 -1
  102. package/dist/shared/@ai-setting/{roy-agent-core-dvtg4sn0.js → roy-agent-core-g8yr733d.js} +1 -1
  103. package/dist/shared/@ai-setting/{roy-agent-core-xf6z96qy.js → roy-agent-core-gr5h1dyr.js} +818 -346
  104. package/dist/shared/@ai-setting/{roy-agent-core-m3vjepzz.js → roy-agent-core-h1e1fm9b.js} +38 -202
  105. package/dist/shared/@ai-setting/{roy-agent-core-c2gbt68e.js → roy-agent-core-h83zdsrq.js} +2 -2
  106. package/dist/shared/@ai-setting/{roy-agent-core-tk98f92b.js → roy-agent-core-k3gcvybs.js} +2 -2
  107. package/dist/shared/@ai-setting/{roy-agent-core-pgvcf91v.js → roy-agent-core-m39v7qpx.js} +2 -2
  108. package/dist/shared/@ai-setting/{roy-agent-core-tm1mxttk.js → roy-agent-core-mf5p38yf.js} +2 -2
  109. package/dist/shared/@ai-setting/{roy-agent-core-83bewqx8.js → roy-agent-core-mvh0td7p.js} +2 -2
  110. package/dist/shared/@ai-setting/{roy-agent-core-ze5cqpf2.js → roy-agent-core-mx855td4.js} +17 -38
  111. package/dist/shared/@ai-setting/{roy-agent-core-0dh8npnz.js → roy-agent-core-n197medr.js} +13 -13
  112. package/dist/shared/@ai-setting/{roy-agent-core-cmprygrp.js → roy-agent-core-nqkfkpf4.js} +4 -4
  113. package/dist/shared/@ai-setting/{roy-agent-core-7cbpmk4q.js → roy-agent-core-p31ftgq9.js} +1 -1
  114. package/dist/shared/@ai-setting/{roy-agent-core-vffccgf6.js → roy-agent-core-qwd2dq5q.js} +10 -3
  115. package/dist/shared/@ai-setting/{roy-agent-core-b31v3qpv.js → roy-agent-core-ra66sf50.js} +990 -211
  116. package/dist/shared/@ai-setting/{roy-agent-core-1v4g0d4x.js → roy-agent-core-rm7seqwb.js} +1 -1
  117. package/dist/shared/@ai-setting/{roy-agent-core-7dd0s3xb.js → roy-agent-core-shb1qsyg.js} +1027 -14
  118. package/dist/shared/@ai-setting/{roy-agent-core-ax9e9szb.js → roy-agent-core-smf94h73.js} +1 -1
  119. package/dist/shared/@ai-setting/{roy-agent-core-acj8ag08.js → roy-agent-core-tjnabyvq.js} +1 -1
  120. package/dist/shared/@ai-setting/{roy-agent-core-qqaak24r.js → roy-agent-core-tkpp1ba0.js} +1 -1
  121. package/dist/shared/@ai-setting/{roy-agent-core-dkrvmjsh.js → roy-agent-core-tpm1dd1g.js} +23 -15
  122. package/dist/shared/@ai-setting/{roy-agent-core-ed233k5z.js → roy-agent-core-v1n0106v.js} +1 -1
  123. package/dist/shared/@ai-setting/{roy-agent-core-zxz5fkwj.js → roy-agent-core-v6yshv0z.js} +1 -1
  124. package/dist/shared/@ai-setting/{roy-agent-core-mcy5apay.js → roy-agent-core-vf9sp6s3.js} +1 -1
  125. package/dist/shared/@ai-setting/{roy-agent-core-q813vafd.js → roy-agent-core-vpcxv1ty.js} +1 -1
  126. package/dist/shared/@ai-setting/{roy-agent-core-xvt7kf7p.js → roy-agent-core-w9ryeg2p.js} +3 -3
  127. package/dist/shared/@ai-setting/{roy-agent-core-es203w7p.js → roy-agent-core-wqs6yypq.js} +1 -1
  128. package/dist/shared/@ai-setting/{roy-agent-core-d1n4jbza.js → roy-agent-core-wr1qexzq.js} +5 -5
  129. package/dist/shared/@ai-setting/roy-agent-core-wxrkcb17.js +56 -0
  130. package/dist/shared/@ai-setting/{roy-agent-core-0snm5hc5.js → roy-agent-core-y6shd91r.js} +1 -1
  131. package/dist/shared/@ai-setting/{roy-agent-core-9vxh6f8h.js → roy-agent-core-y7fqtzk2.js} +7 -7
  132. package/dist/shared/@ai-setting/{roy-agent-core-cpcd24n2.js → roy-agent-core-yet36q5k.js} +2 -2
  133. package/dist/shared/@ai-setting/{roy-agent-core-3fh1f7s7.js → roy-agent-core-yfpnkc4z.js} +5 -5
  134. package/dist/shared/@ai-setting/{roy-agent-core-begm7ytz.js → roy-agent-core-yh68z1bg.js} +3 -3
  135. package/package.json +9 -1
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_global_hook_manager,
3
3
  init_hook_manager
4
- } from "./roy-agent-core-cpcd24n2.js";
4
+ } from "./roy-agent-core-yet36q5k.js";
5
5
  import {
6
6
  __esm
7
7
  } from "./roy-agent-core-fs0mn2jk.js";
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  TracedAs,
13
13
  init_decorator
14
- } from "./roy-agent-core-qq96p0tj.js";
14
+ } from "./roy-agent-core-5s2t8z00.js";
15
15
  import {
16
16
  __esm,
17
17
  __legacyDecorateClassTS
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_env_context,
3
3
  init_env_event
4
- } from "./roy-agent-core-7cbpmk4q.js";
4
+ } from "./roy-agent-core-p31ftgq9.js";
5
5
  import {
6
6
  __esm
7
7
  } from "./roy-agent-core-fs0mn2jk.js";
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  isToolUnavailableError,
3
3
  truncateOutputInline
4
- } from "./roy-agent-core-ze5cqpf2.js";
4
+ } from "./roy-agent-core-mx855td4.js";
5
5
  import {
6
6
  AgentRegistry
7
- } from "./roy-agent-core-ed233k5z.js";
7
+ } from "./roy-agent-core-v1n0106v.js";
8
8
  import {
9
9
  createTaskOpWatermarkPlugin,
10
10
  enqueueToAddFakeUserMessage
11
- } from "./roy-agent-core-h21gngxf.js";
11
+ } from "./roy-agent-core-7yh5wps0.js";
12
12
  import {
13
13
  SessionMessageConverter
14
- } from "./roy-agent-core-0snm5hc5.js";
14
+ } from "./roy-agent-core-y6shd91r.js";
15
15
  import {
16
16
  parseToolArgsStrict,
17
17
  safeParseToolArgs,
18
18
  withTimeout
19
- } from "./roy-agent-core-fghc2m8z.js";
19
+ } from "./roy-agent-core-aa8kv18f.js";
20
20
  import {
21
21
  getCurrentBgTaskId
22
22
  } from "./roy-agent-core-c1v263jn.js";
@@ -32,20 +32,20 @@ import {
32
32
  } from "./roy-agent-core-7hh0brvs.js";
33
33
  import {
34
34
  BaseComponent
35
- } from "./roy-agent-core-pgvcf91v.js";
35
+ } from "./roy-agent-core-m39v7qpx.js";
36
36
  import {
37
37
  globalHookManager,
38
38
  init_global_hook_manager
39
- } from "./roy-agent-core-cpcd24n2.js";
39
+ } from "./roy-agent-core-yet36q5k.js";
40
40
  import {
41
41
  init_context
42
- } from "./roy-agent-core-qqaak24r.js";
42
+ } from "./roy-agent-core-tkpp1ba0.js";
43
43
  import {
44
44
  getCurrentTaskId,
45
45
  getEnvContext,
46
46
  resolveEnvParentTaskId,
47
47
  runWithEnvContextAsync
48
- } from "./roy-agent-core-7cbpmk4q.js";
48
+ } from "./roy-agent-core-p31ftgq9.js";
49
49
  import {
50
50
  TracedAs,
51
51
  agentRunParamFilter,
@@ -57,7 +57,7 @@ import {
57
57
  recordSessionMessagesParamFilter,
58
58
  toolExecParamFilter,
59
59
  toolExecResultFilter
60
- } from "./roy-agent-core-qq96p0tj.js";
60
+ } from "./roy-agent-core-5s2t8z00.js";
61
61
  import {
62
62
  createLogger,
63
63
  init_logger
@@ -554,10 +554,16 @@ var AgentInstanceSchema = z.object({
554
554
  var AgentComponentConfigSchema = z.object({
555
555
  defaultAgent: AgentInstanceSchema
556
556
  });
557
- function filterToolsByAgent(tools, agent) {
557
+ function filterToolsByAgent(tools, agent, extendTools) {
558
558
  if (!tools?.length)
559
559
  return tools ?? [];
560
560
  return tools.filter((t) => {
561
+ if (t.metadata?.channelOnly === true) {
562
+ if (!extendTools || extendTools.length === 0)
563
+ return false;
564
+ if (!extendTools.includes(t.name))
565
+ return false;
566
+ }
561
567
  const allowedList = t.metadata?.allowedAgentTypes;
562
568
  if (!allowedList || allowedList.length === 0)
563
569
  return true;
@@ -957,7 +963,8 @@ class AgentComponent extends BaseComponent {
957
963
  this.defaultTools = tools;
958
964
  }
959
965
  getAvailableTools(agent, context) {
960
- let tools = filterToolsByAgent([...this.defaultTools], agent);
966
+ const extendTools = context?.extendTools;
967
+ let tools = filterToolsByAgent([...this.defaultTools], agent, extendTools);
961
968
  logger2.debug(`[getAvailableTools] After defaultTools (filtered): ${tools.length} tools`, {
962
969
  toolNames: tools.map((t) => t.name)
963
970
  });
@@ -965,7 +972,7 @@ class AgentComponent extends BaseComponent {
965
972
  const componentTools = this.toolComponent.listTools({
966
973
  allowedAgent: agent.name
967
974
  });
968
- const filteredComponentTools = filterToolsByAgent(componentTools, agent);
975
+ const filteredComponentTools = filterToolsByAgent(componentTools, agent, extendTools);
969
976
  tools = [...tools, ...filteredComponentTools];
970
977
  logger2.debug(`[getAvailableTools] After adding componentTools: ${tools.length} tools`, {
971
978
  componentToolNames: filteredComponentTools.map((t) => t.name)
@@ -987,7 +994,7 @@ class AgentComponent extends BaseComponent {
987
994
  });
988
995
  }
989
996
  if (context?.extraTools?.length) {
990
- const filteredExtraTools = filterToolsByAgent(context.extraTools, agent);
997
+ const filteredExtraTools = filterToolsByAgent(context.extraTools, agent, extendTools);
991
998
  tools = [...tools, ...filteredExtraTools];
992
999
  logger2.debug(`[getAvailableTools] After extraTools (filtered): ${tools.length} tools`, {
993
1000
  extraToolNames: filteredExtraTools.map((t) => t.name)
@@ -1929,7 +1936,8 @@ class AgentComponent extends BaseComponent {
1929
1936
  ...ctx._runId ? { runId: ctx._runId } : {},
1930
1937
  ...ctx.context.sessionId ? { sessionId: ctx.context.sessionId } : {},
1931
1938
  ...ctx.context.agentType ? { agentType: ctx.context.agentType } : {},
1932
- ...ctx.agent?.name ? { agentName: ctx.agent.name } : {}
1939
+ ...ctx.agent?.name ? { agentName: ctx.agent.name } : {},
1940
+ ...ctx.context.extendTools?.length ? { extendTools: ctx.context.extendTools } : {}
1933
1941
  }
1934
1942
  };
1935
1943
  const request = {
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  TracedAs,
6
6
  init_decorator
7
- } from "./roy-agent-core-qq96p0tj.js";
7
+ } from "./roy-agent-core-5s2t8z00.js";
8
8
  import {
9
9
  createLogger,
10
10
  init_logger
@@ -8,7 +8,7 @@ import {
8
8
  } from "./roy-agent-core-qxnbvgwe.js";
9
9
  import {
10
10
  BaseComponent
11
- } from "./roy-agent-core-pgvcf91v.js";
11
+ } from "./roy-agent-core-m39v7qpx.js";
12
12
  import {
13
13
  __require
14
14
  } 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-qq96p0tj.js";
4
+ } from "./roy-agent-core-5s2t8z00.js";
5
5
  import {
6
6
  __legacyDecorateClassTS
7
7
  } from "./roy-agent-core-fs0mn2jk.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_sqlite_task_store
3
- } from "./roy-agent-core-ezvpreqz.js";
3
+ } from "./roy-agent-core-6k8mb7zx.js";
4
4
 
5
5
  // src/env/task/storage/index.ts
6
6
  init_sqlite_task_store();
@@ -2,10 +2,10 @@ import {
2
2
  WorkflowRepository,
3
3
  migrateEmptyTagsToDefault,
4
4
  rowToWorkflow
5
- } from "./roy-agent-core-r5wt1h3c.js";
6
- import"./roy-agent-core-mcy5apay.js";
5
+ } from "./roy-agent-core-4fkxy2gv.js";
6
+ import"./roy-agent-core-vf9sp6s3.js";
7
7
  import"./roy-agent-core-rvxg1wps.js";
8
- import"./roy-agent-core-qq96p0tj.js";
8
+ import"./roy-agent-core-5s2t8z00.js";
9
9
  import"./roy-agent-core-7f7t9wwp.js";
10
10
  import"./roy-agent-core-85xyctnb.js";
11
11
  import"./roy-agent-core-fs0mn2jk.js";
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  TracedAs,
11
11
  init_decorator
12
- } from "./roy-agent-core-qq96p0tj.js";
12
+ } from "./roy-agent-core-5s2t8z00.js";
13
13
  import {
14
14
  createLogger,
15
15
  init_logger
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  LarkCardPatchNotifier,
3
3
  formatDurationMs
4
- } from "./roy-agent-core-7dd0s3xb.js";
4
+ } from "./roy-agent-core-shb1qsyg.js";
5
5
  import {
6
6
  WorkflowHookPoints,
7
7
  init_workflow_hook_points
8
- } from "./roy-agent-core-c2gbt68e.js";
8
+ } from "./roy-agent-core-h83zdsrq.js";
9
9
  import {
10
10
  init_context
11
- } from "./roy-agent-core-qqaak24r.js";
11
+ } from "./roy-agent-core-tkpp1ba0.js";
12
12
  import {
13
13
  getEnvContextOrEmpty
14
- } from "./roy-agent-core-7cbpmk4q.js";
14
+ } from "./roy-agent-core-p31ftgq9.js";
15
15
  import {
16
16
  TracedAs,
17
17
  init_decorator
18
- } from "./roy-agent-core-qq96p0tj.js";
18
+ } from "./roy-agent-core-5s2t8z00.js";
19
19
  import {
20
20
  createLogger,
21
21
  init_logger
@@ -0,0 +1,56 @@
1
+ // src/env/tool/validator.ts
2
+ import { ZodError } from "zod";
3
+ var REASON_REQUIRED_CONFIG_KEY = "tool.reason.required";
4
+ var moduleLevelReasonRequired = true;
5
+ var configComponentRef = null;
6
+ function setToolReasonConfigComponent(component) {
7
+ configComponentRef = component;
8
+ }
9
+ function isToolReasonRequired() {
10
+ if (configComponentRef) {
11
+ const v = configComponentRef.get(REASON_REQUIRED_CONFIG_KEY);
12
+ if (typeof v === "boolean")
13
+ return v;
14
+ if (typeof v === "string")
15
+ return v !== "false";
16
+ }
17
+ return moduleLevelReasonRequired;
18
+ }
19
+
20
+ class ToolValidator {
21
+ async validate(tool, args) {
22
+ if (isToolReasonRequired()) {
23
+ const reason = args?.["reason"];
24
+ if (typeof reason !== "string" || reason.trim() === "") {
25
+ return {
26
+ success: false,
27
+ error: `Missing or empty required parameter 'reason' for tool '${tool.name}': ` + `provide a one-sentence explanation of why you are calling this tool.`
28
+ };
29
+ }
30
+ }
31
+ try {
32
+ const parsed = await tool.parameters.parseAsync(args);
33
+ return {
34
+ success: true,
35
+ data: parsed
36
+ };
37
+ } catch (error) {
38
+ if (error instanceof ZodError) {
39
+ const errorMessage = tool.formatValidationError ? tool.formatValidationError(error) : this.formatError(error);
40
+ return {
41
+ success: false,
42
+ error: `Invalid arguments for tool '${tool.name}': ${errorMessage}`
43
+ };
44
+ }
45
+ return {
46
+ success: false,
47
+ error: `Validation error: ${error}`
48
+ };
49
+ }
50
+ }
51
+ formatError(error) {
52
+ return error.errors.map((e) => `${e.path.join(".")}: ${e.message}`).join("; ");
53
+ }
54
+ }
55
+
56
+ export { setToolReasonConfigComponent, isToolReasonRequired, ToolValidator };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  safeParseToolArgs
3
- } from "./roy-agent-core-fghc2m8z.js";
3
+ } from "./roy-agent-core-aa8kv18f.js";
4
4
 
5
5
  // src/env/session/session-message-converter.ts
6
6
  import { randomUUID } from "crypto";
@@ -439,7 +439,7 @@ subSessionId: sub-session-xyz
439
439
  | session 规模 | 建议处置 |
440
440
  |---|---|
441
441
  | **小**(超限比例 < 30%,消息数不多) | 直接 \`compact_session\` → 压缩成功后用 \`sub_session_id\` 续跑 |
442
- | **大**(超限比例很高 / 消息数很多) | \`compact_session\` **可能要跑很久甚至撞 120s 工具超时** → **不要在同一个 session 上死磕**,直接**开新 session** + 明确列出「已完成项 / 断点 / 小目标」 |
442
+ | **大**(超限比例很高 / 消息数很多) | \`compact_session\` **可能要跑很久甚至撞 120s 工具超时** → **不要在同一个 session 上死磕**,走下面的**兜底路径**(压缩复查 → 仍无效才开新 session)+ 明确列出「已完成项 / 断点 / 小目标」 |
443
443
 
444
444
  **为什么必须先评估**(实测数据):
445
445
 
@@ -474,7 +474,7 @@ const r = await compact_session({ session_id: "sub-session-xyz" });
474
474
  2. **再检查一次**该 session 的**消息数 / checkpoint** —— \`compact_session\` 成功会返回 \`checkpointId\`,也可以用 session 相关工具确认消息是否已被 archived
475
475
  3. 再决定走哪条路:
476
476
  - **压缩其实成功了** → 用 \`sub_session_id\` 续跑(上下文已经变小,安全)
477
- - **压缩确实没生效** → 才走下面的「开新 session」路径
477
+ - **压缩确实没生效** → 才走下面的兜底路径(换新 session)
478
478
 
479
479
  **第 3 步:带同一个 \`sub_session_id\` 续跑**
480
480
 
@@ -502,9 +502,9 @@ delegate_task({
502
502
 
503
503
  \`\`\`typescript
504
504
  delegate_task({
505
- description: "接续工作(上下文已超限,改用新 session)",
505
+ description: "接续工作(上下文已超限,压缩复查后仍不可救,换新 session)",
506
506
  prompt: "【已完成】... \\n【断点】... \\n【小目标】... \\n【相关文件路径】... \\n【已知结论】...",
507
- // 不传 sub_session_id —— 开新 session
507
+ sub_session_id: "sub-session-xyz", // ⚠️ 兜底路径:仅在 compact_session 也无效时才省略
508
508
  });
509
509
  \`\`\`
510
510
 
@@ -512,9 +512,9 @@ delegate_task({
512
512
 
513
513
  #### ❌ 反模式警示
514
514
 
515
- - ❌ **不要从头重新委托**(不传 \`sub_session_id\` 直接 \`delegate_task\`)—— 丢掉全部上下文,前面的调研和代码全白做,还可能重复踩已解决过的坑。
516
- - ❌ **不要在压缩失败时反复用同一个 session 续跑** —— 同样的超限会再发生一次,徒增 token 消耗。压缩失败就走"开新 session + 明确列出已完成项/断点/小目标"的兜底路径。
517
- - ❌ **不要在 session 规模很大时死磕 \`compact_session\`** —— 先按第 0 步评估,message 数很多就直接开新 session。
515
+ - ❌ **不要从头重新委托** —— 不传 \`sub_session_id\` 直接 \`delegate_task\` 是**最后手段**,只在旧 session 上下文已确认不可救(compact_session 后仍超限 / 迭代上限且无可复用断点)时才允许。其余情况一律带 \`sub_session_id\` 续跑(不传才会丢掉全部上下文,前面的调研和代码全白做,还可能重复踩已解决过的坑)。
516
+ - ❌ **不要在压缩失败时反复用同一个 session 续跑** —— 同样的超限会再发生一次,徒增 token 消耗。压缩失败就走"换新 session(不传 \`sub_session_id\`)+ 明确列出已完成项/断点/小目标"的兜底路径。
517
+ - ❌ **不要在 session 规模很大时死磕 \`compact_session\`** —— 先按第 0 步评估,message 数很多就走兜底路径(压缩复查 → 仍无效才换新 session)。
518
518
  - ❌ **不要用 \`compact_session\` 压缩当前会话自己** —— 工具会直接拒绝(自毁)。
519
519
  - ❌ **不要压缩还在 running/pending 的后台任务** —— 先 \`stop_task\`。
520
520
 
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  init_context
3
- } from "./roy-agent-core-qqaak24r.js";
3
+ } from "./roy-agent-core-tkpp1ba0.js";
4
4
  import {
5
5
  getEnvContext
6
- } from "./roy-agent-core-7cbpmk4q.js";
6
+ } from "./roy-agent-core-p31ftgq9.js";
7
7
  import {
8
8
  __esm
9
9
  } from "./roy-agent-core-fs0mn2jk.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  AgentComponentAdapter,
3
3
  init_agent_component_adapter
4
- } from "./roy-agent-core-dqxec05w.js";
4
+ } from "./roy-agent-core-bjtc9d35.js";
5
5
  import"./roy-agent-core-1db4vpc6.js";
6
6
  import"./roy-agent-core-mkc3zshb.js";
7
- import"./roy-agent-core-cpcd24n2.js";
8
- import"./roy-agent-core-qqaak24r.js";
9
- import"./roy-agent-core-7cbpmk4q.js";
10
- import"./roy-agent-core-qq96p0tj.js";
7
+ import"./roy-agent-core-yet36q5k.js";
8
+ import"./roy-agent-core-tkpp1ba0.js";
9
+ import"./roy-agent-core-p31ftgq9.js";
10
+ import"./roy-agent-core-5s2t8z00.js";
11
11
  import"./roy-agent-core-7f7t9wwp.js";
12
12
  import"./roy-agent-core-85xyctnb.js";
13
13
  import"./roy-agent-core-fs0mn2jk.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  builtInHandlers
3
- } from "./roy-agent-core-xf6z96qy.js";
3
+ } from "./roy-agent-core-gr5h1dyr.js";
4
4
  import {
5
5
  appendAuditLog,
6
6
  checkSourceCountDrop,
@@ -12,11 +12,11 @@ import {
12
12
  } from "./roy-agent-core-7hh0brvs.js";
13
13
  import {
14
14
  BaseComponent
15
- } from "./roy-agent-core-pgvcf91v.js";
15
+ } from "./roy-agent-core-m39v7qpx.js";
16
16
  import {
17
17
  TracedAs,
18
18
  init_decorator
19
- } from "./roy-agent-core-qq96p0tj.js";
19
+ } from "./roy-agent-core-5s2t8z00.js";
20
20
  import {
21
21
  createLogger,
22
22
  init_logger
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-setting/roy-agent-core",
3
- "version": "1.7.85",
3
+ "version": "1.7.88",
4
4
  "type": "module",
5
5
  "description": "Core SDK for roy-agent - Environment, Components, Tools, Sessions, Tasks",
6
6
  "main": "./dist/index.js",
@@ -72,6 +72,14 @@
72
72
  "types": "./dist/env/event-source/wecom-respond-registry.d.ts",
73
73
  "default": "./dist/env/event-source/wecom-respond-registry.js"
74
74
  },
75
+ "./env/event-source/wecom-session-card-sender": {
76
+ "import": "./dist/env/event-source/wecom-session-card-sender.js",
77
+ "types": "./dist/env/event-source/wecom-session-card-sender.d.ts"
78
+ },
79
+ "./env/task/plugins/wecom-session-card-store": {
80
+ "import": "./dist/env/task/plugins/wecom-session-card-store.js",
81
+ "types": "./dist/env/task/plugins/wecom-session-card-store.d.ts"
82
+ },
75
83
  "./env/event-source/idempotency-key": {
76
84
  "import": "./dist/env/event-source/idempotency-key.js",
77
85
  "types": "./dist/env/event-source/idempotency-key.d.ts",