@ai-setting/roy-agent-core 1.7.59 → 1.7.62

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 (138) hide show
  1. package/dist/config/index.js +8 -8
  2. package/dist/env/agent/agent-component.js +41 -0
  3. package/dist/env/agent/index.js +18 -16
  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/error-reply.js +18 -0
  8. package/dist/env/event-source/cli-command-handler.d.ts +90 -0
  9. package/dist/env/event-source/cli-command-handler.js +17 -0
  10. package/dist/env/event-source/event-source-handlers.d.ts +1 -0
  11. package/dist/env/event-source/event-source-handlers.js +58 -0
  12. package/dist/env/event-source/event-store.js +18 -0
  13. package/dist/env/event-source/idempotency-key.js +20 -0
  14. package/dist/env/event-source/index.d.ts +3 -1
  15. package/dist/env/event-source/index.js +37 -22
  16. package/dist/env/event-source/types.d.ts +21 -1
  17. package/dist/env/hook/index.js +6 -6
  18. package/dist/env/index.js +54 -48
  19. package/dist/env/lark-mention-utils.js +9 -0
  20. package/dist/env/llm/index.js +9 -9
  21. package/dist/env/log-trace/index.d.ts +1 -1
  22. package/dist/env/log-trace/index.js +12 -8
  23. package/dist/env/log-trace/logger.d.ts +2 -0
  24. package/dist/env/log-trace/logger.js +39 -0
  25. package/dist/env/mcp/index.js +9 -9
  26. package/dist/env/mcp/tool/index.js +2 -2
  27. package/dist/env/memory/index.js +9 -9
  28. package/dist/env/memory/plugin/index.js +2 -2
  29. package/dist/env/plugin/index.js +9 -9
  30. package/dist/env/prompt/index.js +8 -8
  31. package/dist/env/session/index.js +11 -11
  32. package/dist/env/session/storage/index.js +5 -5
  33. package/dist/env/skill/index.js +8 -8
  34. package/dist/env/task/delegate/delegate-tool.js +42 -0
  35. package/dist/env/task/delegate/index.js +13 -11
  36. package/dist/env/task/index.js +17 -16
  37. package/dist/env/task/mcp/index.d.ts +16 -0
  38. package/dist/env/task/mcp/index.js +222 -0
  39. package/dist/env/task/mcp/task-mcp-server.d.ts +142 -0
  40. package/dist/env/task/plugins/index.d.ts +1 -0
  41. package/dist/env/task/plugins/index.js +47 -12
  42. package/dist/env/task/plugins/lark-card-patch-notifier.js +42 -0
  43. package/dist/env/task/storage/index.js +4 -4
  44. package/dist/env/task/storage/migrations/log-migration.d.ts +19 -0
  45. package/dist/env/task/storage/sqlite-task-store.d.ts +29 -0
  46. package/dist/env/task/task-component.d.ts +48 -3
  47. package/dist/env/task/tools/index.js +4 -4
  48. package/dist/env/task/tools/task-types.d.ts +60 -11
  49. package/dist/env/tool/built-in/index.js +4 -4
  50. package/dist/env/tool/index.js +12 -11
  51. package/dist/env/tool/types.js +1 -0
  52. package/dist/env/workflow/engine/index.js +13 -13
  53. package/dist/env/workflow/hooks/index.js +8 -8
  54. package/dist/env/workflow/index.js +23 -23
  55. package/dist/env/workflow/nodes/index.js +3 -3
  56. package/dist/env/workflow/plugins/index.js +9 -9
  57. package/dist/env/workflow/service/index.js +3 -3
  58. package/dist/env/workflow/storage/index.js +4 -4
  59. package/dist/env/workflow/tools/index.js +15 -15
  60. package/dist/env/workflow/tools/run-workflow.d.ts +30 -0
  61. package/dist/env/workflow/utils/index.js +5 -5
  62. package/dist/env/workflow/utils/session-recovery.d.ts +27 -0
  63. package/dist/index.js +91 -73
  64. package/dist/shared/@ai-setting/{roy-agent-core-ygn5tzt1.js → roy-agent-core-06jakebr.js} +2 -2
  65. package/dist/shared/@ai-setting/{roy-agent-core-m68z3pw1.js → roy-agent-core-084zthqx.js} +1 -1
  66. package/dist/shared/@ai-setting/{roy-agent-core-cyefe8z5.js → roy-agent-core-2hkyp51n.js} +1 -1
  67. package/dist/shared/@ai-setting/{roy-agent-core-029r8kdw.js → roy-agent-core-2pma868e.js} +4 -4
  68. package/dist/shared/@ai-setting/{roy-agent-core-c7w2h47a.js → roy-agent-core-2veqhrxa.js} +3 -3
  69. package/dist/shared/@ai-setting/{roy-agent-core-t64nmayv.js → roy-agent-core-32ck9rqt.js} +2 -2
  70. package/dist/shared/@ai-setting/{roy-agent-core-m97jn2ra.js → roy-agent-core-33hn1beg.js} +1 -1
  71. package/dist/shared/@ai-setting/{roy-agent-core-8p63s836.js → roy-agent-core-386wa4wy.js} +1 -1
  72. package/dist/shared/@ai-setting/{roy-agent-core-kq9pz2a7.js → roy-agent-core-48h4zh60.js} +4 -4
  73. package/dist/shared/@ai-setting/{roy-agent-core-eanq305k.js → roy-agent-core-5bj0xfjk.js} +13 -27
  74. package/dist/shared/@ai-setting/{roy-agent-core-7q4wdze2.js → roy-agent-core-5mrynf9g.js} +1 -1
  75. package/dist/shared/@ai-setting/{roy-agent-core-rt115qfc.js → roy-agent-core-6awgfh3x.js} +14 -4
  76. package/dist/shared/@ai-setting/{roy-agent-core-9zhkdg6w.js → roy-agent-core-6wxww10t.js} +2 -2
  77. package/dist/shared/@ai-setting/{roy-agent-core-baaa4wtp.js → roy-agent-core-79gyka2q.js} +2 -2
  78. package/dist/shared/@ai-setting/{roy-agent-core-ytd5eztz.js → roy-agent-core-7tce05jt.js} +1 -1
  79. package/dist/shared/@ai-setting/{roy-agent-core-x6c45yqd.js → roy-agent-core-99nwgj84.js} +1 -1
  80. package/dist/shared/@ai-setting/roy-agent-core-9nvyffxg.js +414 -0
  81. package/dist/shared/@ai-setting/{roy-agent-core-e1w17tht.js → roy-agent-core-9qgrc9dy.js} +158 -158
  82. package/dist/shared/@ai-setting/{roy-agent-core-2ctyjy62.js → roy-agent-core-a08dpf71.js} +17 -2
  83. package/dist/shared/@ai-setting/{roy-agent-core-e250355z.js → roy-agent-core-a6cz4d23.js} +3 -3
  84. package/dist/shared/@ai-setting/{roy-agent-core-tze5596n.js → roy-agent-core-anb53t3v.js} +3 -3
  85. package/dist/shared/@ai-setting/{roy-agent-core-caevk7xd.js → roy-agent-core-arx535cs.js} +30 -8
  86. package/dist/shared/@ai-setting/{roy-agent-core-vh0qzb24.js → roy-agent-core-as0dd70m.js} +36 -15
  87. package/dist/shared/@ai-setting/{roy-agent-core-w93z6a42.js → roy-agent-core-bpvz1dqr.js} +12 -12
  88. package/dist/shared/@ai-setting/{roy-agent-core-ck60j1q9.js → roy-agent-core-bxkjk7zx.js} +2 -1
  89. package/dist/shared/@ai-setting/{roy-agent-core-hs41gx9w.js → roy-agent-core-c4t4y18j.js} +5 -5
  90. package/dist/shared/@ai-setting/{roy-agent-core-t4x089js.js → roy-agent-core-c57278kx.js} +1 -1
  91. package/dist/shared/@ai-setting/{roy-agent-core-em4hks9t.js → roy-agent-core-c8xvy6hj.js} +4 -4
  92. package/dist/shared/@ai-setting/{roy-agent-core-991pk4ss.js → roy-agent-core-cqpd41gf.js} +18 -16
  93. package/dist/shared/@ai-setting/{roy-agent-core-psg6f1v6.js → roy-agent-core-cxpgd415.js} +6 -6
  94. package/dist/shared/@ai-setting/{roy-agent-core-vgdhxbx3.js → roy-agent-core-dfqhc9ey.js} +2 -2
  95. package/dist/shared/@ai-setting/{roy-agent-core-6bradb0j.js → roy-agent-core-fqandv0a.js} +9 -107
  96. package/dist/shared/@ai-setting/{roy-agent-core-en2xqxs9.js → roy-agent-core-fr296a53.js} +39 -14
  97. package/dist/shared/@ai-setting/{roy-agent-core-rcgvmtms.js → roy-agent-core-gc6wcd7z.js} +1 -1
  98. package/dist/shared/@ai-setting/{roy-agent-core-7nb23tdd.js → roy-agent-core-gjsvehfs.js} +1 -1
  99. package/dist/shared/@ai-setting/{roy-agent-core-0kn3zt1t.js → roy-agent-core-gtdtzbs7.js} +2 -2
  100. package/dist/shared/@ai-setting/{roy-agent-core-84rs0c8d.js → roy-agent-core-gz2jnaan.js} +7 -7
  101. package/dist/shared/@ai-setting/{roy-agent-core-0yn7a78e.js → roy-agent-core-h3fwjbhp.js} +14 -14
  102. package/dist/shared/@ai-setting/{roy-agent-core-4096f575.js → roy-agent-core-hczj1ryh.js} +4 -4
  103. package/dist/shared/@ai-setting/{roy-agent-core-syyw58p9.js → roy-agent-core-hfyxv2kx.js} +2 -2
  104. package/dist/shared/@ai-setting/{roy-agent-core-d75t8gea.js → roy-agent-core-hwkc0bg2.js} +1 -1
  105. package/dist/shared/@ai-setting/{roy-agent-core-vath15kt.js → roy-agent-core-ja4sr63d.js} +6 -6
  106. package/dist/shared/@ai-setting/roy-agent-core-jagkferh.js +16 -0
  107. package/dist/shared/@ai-setting/roy-agent-core-jm136jzh.js +99 -0
  108. package/dist/shared/@ai-setting/{roy-agent-core-14bq77wr.js → roy-agent-core-jw63js86.js} +1 -1
  109. package/dist/shared/@ai-setting/{roy-agent-core-89sxsrc7.js → roy-agent-core-kmvw6b4v.js} +1 -1
  110. package/dist/shared/@ai-setting/{roy-agent-core-47s81t6g.js → roy-agent-core-kvq4a4p6.js} +2 -2
  111. package/dist/shared/@ai-setting/{roy-agent-core-c36335nw.js → roy-agent-core-m3w3ytxt.js} +15 -3
  112. package/dist/shared/@ai-setting/{roy-agent-core-64f22h1g.js → roy-agent-core-m880qz3y.js} +7 -1
  113. package/dist/shared/@ai-setting/{roy-agent-core-2fk8c9ax.js → roy-agent-core-mbwaxqs0.js} +3 -3
  114. package/dist/shared/@ai-setting/{roy-agent-core-jjhw9am6.js → roy-agent-core-mkpsz128.js} +4 -4
  115. package/dist/shared/@ai-setting/{roy-agent-core-20m8je6e.js → roy-agent-core-mrrv80jy.js} +1 -1
  116. package/dist/shared/@ai-setting/{roy-agent-core-6q5m1qk5.js → roy-agent-core-nmn853z0.js} +333 -1183
  117. package/dist/shared/@ai-setting/roy-agent-core-p37kh0kt.js +155 -0
  118. package/dist/shared/@ai-setting/{roy-agent-core-08njdcpj.js → roy-agent-core-p6a4v4fq.js} +1 -1
  119. package/dist/shared/@ai-setting/{roy-agent-core-gksw1gjb.js → roy-agent-core-p8rf4z89.js} +1 -1
  120. package/dist/shared/@ai-setting/roy-agent-core-pnj0zh25.js +0 -0
  121. package/dist/shared/@ai-setting/{roy-agent-core-q4gdfypk.js → roy-agent-core-prnry2mw.js} +3 -3
  122. package/dist/shared/@ai-setting/{roy-agent-core-84xtww7d.js → roy-agent-core-qmqe8ds3.js} +3 -3
  123. package/dist/shared/@ai-setting/{roy-agent-core-txwptxk1.js → roy-agent-core-sj4y3wdm.js} +3 -3
  124. package/dist/shared/@ai-setting/{roy-agent-core-fbjd7bt6.js → roy-agent-core-th92f833.js} +64 -29
  125. package/dist/shared/@ai-setting/{roy-agent-core-yphwdm9x.js → roy-agent-core-v7mwj8eq.js} +2 -2
  126. package/dist/shared/@ai-setting/{roy-agent-core-5f7myqnb.js → roy-agent-core-vvb4cyyy.js} +11 -5
  127. package/dist/shared/@ai-setting/{roy-agent-core-jjxdmedn.js → roy-agent-core-vwzan9v0.js} +2 -2
  128. package/dist/shared/@ai-setting/{roy-agent-core-fw6k4w1h.js → roy-agent-core-w2ev3z5q.js} +12 -14
  129. package/dist/shared/@ai-setting/roy-agent-core-w2h6xt6k.js +473 -0
  130. package/dist/shared/@ai-setting/{roy-agent-core-n0p0hwgd.js → roy-agent-core-wzp4tbsn.js} +1 -1
  131. package/dist/shared/@ai-setting/{roy-agent-core-ge87xbas.js → roy-agent-core-x1d6edkh.js} +1 -1
  132. package/dist/shared/@ai-setting/{roy-agent-core-8bngppw0.js → roy-agent-core-ye4bfzqg.js} +13 -13
  133. package/dist/shared/@ai-setting/{roy-agent-core-geh6j7bw.js → roy-agent-core-zjgckbdd.js} +2 -2
  134. package/dist/shared/@ai-setting/{roy-agent-core-hefarcp0.js → roy-agent-core-zy8vkbnk.js} +1 -1
  135. package/dist/test-utils/child-process-mock.js +23 -0
  136. package/dist/utils/temp-file-manager/index.js +2 -2
  137. package/package.json +76 -1
  138. /package/dist/shared/@ai-setting/{roy-agent-core-3ztzc83c.js → roy-agent-core-5enxfga2.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  exports_node_registry_helper,
3
3
  init_node_registry_helper
4
- } from "./roy-agent-core-vgdhxbx3.js";
4
+ } from "./roy-agent-core-dfqhc9ey.js";
5
5
  import {
6
6
  askUserTool,
7
7
  createRunWorkflowTool,
@@ -13,22 +13,22 @@ import {
13
13
  createWorkflowSearchTool,
14
14
  createWorkflowTagListTool,
15
15
  createWorkflowValidateTool
16
- } from "./roy-agent-core-en2xqxs9.js";
16
+ } from "./roy-agent-core-fr296a53.js";
17
17
  import {
18
18
  WorkflowService
19
- } from "./roy-agent-core-9zhkdg6w.js";
19
+ } from "./roy-agent-core-6wxww10t.js";
20
20
  import {
21
21
  WorkflowEngine,
22
22
  exports_engine,
23
23
  init_engine
24
- } from "./roy-agent-core-w93z6a42.js";
24
+ } from "./roy-agent-core-bpvz1dqr.js";
25
25
  import {
26
26
  BaseComponent
27
- } from "./roy-agent-core-0kn3zt1t.js";
27
+ } from "./roy-agent-core-gtdtzbs7.js";
28
28
  import {
29
29
  createLogger,
30
30
  init_logger
31
- } from "./roy-agent-core-rt115qfc.js";
31
+ } from "./roy-agent-core-6awgfh3x.js";
32
32
  import {
33
33
  __require,
34
34
  __toCommonJS
@@ -104,7 +104,7 @@ class WorkflowComponent extends BaseComponent {
104
104
  return;
105
105
  try {
106
106
  const { NodeRegistry } = await import("../../env/workflow/engine/index.js");
107
- const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-2fk8c9ax.js");
107
+ const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-mbwaxqs0.js");
108
108
  this.nodeRegistry = new NodeRegistry;
109
109
  registerDecoratorNodeType2(this.nodeRegistry);
110
110
  this.decoratorsRegistered = true;
@@ -134,14 +134,14 @@ class WorkflowComponent extends BaseComponent {
134
134
  }
135
135
  async runWorkflow(definition, input, options) {
136
136
  const { NodeRegistry } = await import("../../env/workflow/engine/index.js");
137
- const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-2fk8c9ax.js");
137
+ const { registerDecoratorNodeType: registerDecoratorNodeType2 } = await import("./roy-agent-core-mbwaxqs0.js");
138
138
  const toolComponent = this.toolComponent || this._workflowEnv?.getComponent("tool");
139
139
  const skillComponent = this._workflowEnv?.getComponent("skill");
140
140
  let agentRunner = this.agentRunner;
141
141
  if (!agentRunner && this._workflowEnv) {
142
142
  const agentComponent = this._workflowEnv.getComponent("agent");
143
143
  if (agentComponent) {
144
- const { AgentComponentAdapter } = await import("./roy-agent-core-vath15kt.js");
144
+ const { AgentComponentAdapter } = await import("./roy-agent-core-ja4sr63d.js");
145
145
  agentRunner = new AgentComponentAdapter(agentComponent, {}, this.sessionComponent);
146
146
  }
147
147
  }
@@ -163,7 +163,7 @@ class WorkflowComponent extends BaseComponent {
163
163
  if (this.workflowService) {
164
164
  this.workflowService = null;
165
165
  try {
166
- const { closeDatabase } = await import("./roy-agent-core-4096f575.js");
166
+ const { closeDatabase } = await import("./roy-agent-core-hczj1ryh.js");
167
167
  closeDatabase();
168
168
  componentLogger.info("[WorkflowComponent] SQLite database closed");
169
169
  } catch (error) {
@@ -241,9 +241,9 @@ class WorkflowComponent extends BaseComponent {
241
241
  }
242
242
  async initSqliteService() {
243
243
  try {
244
- const { getDatabase, initializeTables } = await import("./roy-agent-core-4096f575.js");
245
- const { WorkflowRepository } = await import("./roy-agent-core-jjhw9am6.js");
246
- const { TagRepository } = await import("./roy-agent-core-e250355z.js");
244
+ const { getDatabase, initializeTables } = await import("./roy-agent-core-hczj1ryh.js");
245
+ const { WorkflowRepository } = await import("./roy-agent-core-mkpsz128.js");
246
+ const { TagRepository } = await import("./roy-agent-core-a6cz4d23.js");
247
247
  const db = getDatabase();
248
248
  initializeTables();
249
249
  const workflowRepository = new WorkflowRepository(db);
@@ -309,7 +309,7 @@ class WorkflowComponent extends BaseComponent {
309
309
  this.workflowService = null;
310
310
  this.nodeRegistry = null;
311
311
  try {
312
- const { closeDatabase } = await import("./roy-agent-core-4096f575.js");
312
+ const { closeDatabase } = await import("./roy-agent-core-hczj1ryh.js");
313
313
  closeDatabase();
314
314
  } catch {}
315
315
  this._status = "stopped";
@@ -5,11 +5,11 @@ import {
5
5
  initDatabase,
6
6
  initializeTables,
7
7
  resetDatabase
8
- } from "./roy-agent-core-jjxdmedn.js";
9
- import"./roy-agent-core-rcgvmtms.js";
8
+ } from "./roy-agent-core-vwzan9v0.js";
9
+ import"./roy-agent-core-gc6wcd7z.js";
10
10
  import"./roy-agent-core-rvxg1wps.js";
11
- import"./roy-agent-core-8p63s836.js";
12
- import"./roy-agent-core-rt115qfc.js";
11
+ import"./roy-agent-core-386wa4wy.js";
12
+ import"./roy-agent-core-6awgfh3x.js";
13
13
  import"./roy-agent-core-jnszp0jq.js";
14
14
  import"./roy-agent-core-fs0mn2jk.js";
15
15
  export {
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  init_decorator,
3
3
  wrapFunction
4
- } from "./roy-agent-core-8p63s836.js";
4
+ } from "./roy-agent-core-386wa4wy.js";
5
5
  import {
6
6
  createLogger,
7
7
  init_logger
8
- } from "./roy-agent-core-rt115qfc.js";
8
+ } from "./roy-agent-core-6awgfh3x.js";
9
9
  import {
10
10
  __esm
11
11
  } 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-8p63s836.js";
4
+ } from "./roy-agent-core-386wa4wy.js";
5
5
  import {
6
6
  __esm,
7
7
  __legacyDecorateClassTS
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  AgentComponentAdapter,
3
3
  init_agent_component_adapter
4
- } from "./roy-agent-core-txwptxk1.js";
4
+ } from "./roy-agent-core-sj4y3wdm.js";
5
5
  import"./roy-agent-core-1db4vpc6.js";
6
6
  import"./roy-agent-core-ze068vc9.js";
7
7
  import"./roy-agent-core-e25xkv53.js";
8
- import"./roy-agent-core-yphwdm9x.js";
9
- import"./roy-agent-core-m97jn2ra.js";
10
- import"./roy-agent-core-syyw58p9.js";
11
- import"./roy-agent-core-8p63s836.js";
12
- import"./roy-agent-core-rt115qfc.js";
8
+ import"./roy-agent-core-v7mwj8eq.js";
9
+ import"./roy-agent-core-33hn1beg.js";
10
+ import"./roy-agent-core-hfyxv2kx.js";
11
+ import"./roy-agent-core-386wa4wy.js";
12
+ import"./roy-agent-core-6awgfh3x.js";
13
13
  import"./roy-agent-core-jnszp0jq.js";
14
14
  import"./roy-agent-core-fs0mn2jk.js";
15
15
  init_agent_component_adapter();
@@ -0,0 +1,16 @@
1
+ // src/env/agent/summary-agent.ts
2
+ class SummaryAgent {
3
+ llmComponent;
4
+ config;
5
+ constructor(_promptComponent, llmComponent, config) {
6
+ this.llmComponent = llmComponent;
7
+ this.config = {
8
+ type: "summary",
9
+ promptName: "session/compact",
10
+ maxIterations: 1,
11
+ model: undefined,
12
+ ...config
13
+ };
14
+ }
15
+ }
16
+ export { SummaryAgent };
@@ -0,0 +1,99 @@
1
+ // src/env/task/delegate/stop-tool.ts
2
+ import { z } from "zod";
3
+ var StopTaskToolParameters = z.object({
4
+ task_id: z.string().describe("The ID of the background task to stop")
5
+ });
6
+ var STOP_TASK_DESCRIPTION = `Stop a running background task.
7
+
8
+ Use this tool to stop a background task that is currently running. This is useful when:
9
+ - The user wants to cancel a long-running task
10
+ - The task is taking too long and needs to be stopped
11
+ - The user wants to change direction and doesn't need the task result anymore
12
+
13
+ When stopped, the task will be terminated immediately and you will receive a confirmation.
14
+
15
+ Parameters:
16
+ - task_id: The ID of the background task to stop (obtained from the delegate_task response)`;
17
+ function formatDuration(ms) {
18
+ const seconds = Math.floor(ms / 1000);
19
+ const minutes = Math.floor(seconds / 60);
20
+ const hours = Math.floor(minutes / 60);
21
+ if (hours > 0) {
22
+ return `${hours}h ${minutes % 60}m ${seconds % 60}s`;
23
+ } else if (minutes > 0) {
24
+ return `${minutes}m ${seconds % 60}s`;
25
+ } else {
26
+ return `${seconds}s`;
27
+ }
28
+ }
29
+ function createStopTool(taskManager) {
30
+ return {
31
+ name: "stop_task",
32
+ description: STOP_TASK_DESCRIPTION,
33
+ parameters: StopTaskToolParameters,
34
+ execute: async (args, ctx) => {
35
+ const startTime = Date.now();
36
+ const params = StopTaskToolParameters.parse(args);
37
+ const { task_id } = params;
38
+ const result = await taskManager.stopTask(task_id);
39
+ if (result.success) {
40
+ const task = result.task;
41
+ const elapsedMs = task.startedAt ? Date.now() - task.startedAt : Date.now() - task.createdAt;
42
+ const output = [
43
+ `✅ Task stopped successfully`,
44
+ "",
45
+ `\uD83D\uDCCB Task ID: ${task_id}`,
46
+ `\uD83D\uDCDD Description: ${task.description}`,
47
+ `\uD83D\uDD04 Status: ${task.status} → stopped`,
48
+ `⏱️ Elapsed Time: ${formatDuration(elapsedMs)}`,
49
+ "",
50
+ result.message
51
+ ].join(`
52
+ `);
53
+ return {
54
+ success: true,
55
+ output,
56
+ metadata: {
57
+ execution_time_ms: Date.now() - startTime,
58
+ task_id,
59
+ previous_status: task.status
60
+ }
61
+ };
62
+ } else {
63
+ const task = result.task;
64
+ let output;
65
+ if (task) {
66
+ output = [
67
+ `⚠️ Cannot stop task`,
68
+ "",
69
+ `\uD83D\uDCCB Task ID: ${task_id}`,
70
+ `\uD83D\uDCDD Description: ${task.description}`,
71
+ `\uD83D\uDD04 Current Status: ${task.status}`,
72
+ "",
73
+ result.message
74
+ ].join(`
75
+ `);
76
+ } else {
77
+ output = [
78
+ `❌ Task not found`,
79
+ "",
80
+ `\uD83D\uDCCB Task ID: ${task_id}`,
81
+ "",
82
+ result.message
83
+ ].join(`
84
+ `);
85
+ }
86
+ return {
87
+ success: false,
88
+ output,
89
+ error: result.message,
90
+ metadata: {
91
+ execution_time_ms: Date.now() - startTime,
92
+ task_id
93
+ }
94
+ };
95
+ }
96
+ }
97
+ };
98
+ }
99
+ export { createStopTool };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createLogger,
3
3
  init_logger
4
- } from "./roy-agent-core-rt115qfc.js";
4
+ } from "./roy-agent-core-6awgfh3x.js";
5
5
  import {
6
6
  __require
7
7
  } from "./roy-agent-core-fs0mn2jk.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DAGManager,
3
3
  init_dag_manager
4
- } from "./roy-agent-core-08njdcpj.js";
4
+ } from "./roy-agent-core-p6a4v4fq.js";
5
5
 
6
6
  // src/env/workflow/utils/node-output-contracts.ts
7
7
  var VIRTUAL_OUTPUT_FIELD = "output";
@@ -6,11 +6,11 @@ import {
6
6
  } from "./roy-agent-core-7hh0brvs.js";
7
7
  import {
8
8
  BaseComponent
9
- } from "./roy-agent-core-0kn3zt1t.js";
9
+ } from "./roy-agent-core-gtdtzbs7.js";
10
10
  import {
11
11
  createLogger,
12
12
  init_logger
13
- } from "./roy-agent-core-rt115qfc.js";
13
+ } from "./roy-agent-core-6awgfh3x.js";
14
14
 
15
15
  // src/env/skill/skill-component.ts
16
16
  init_logger();
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  TracedAs,
3
3
  init_decorator
4
- } from "./roy-agent-core-8p63s836.js";
4
+ } from "./roy-agent-core-386wa4wy.js";
5
5
  import {
6
6
  createLogger,
7
7
  init_logger
8
- } from "./roy-agent-core-rt115qfc.js";
8
+ } from "./roy-agent-core-6awgfh3x.js";
9
9
  import {
10
10
  __legacyDecorateClassTS
11
11
  } from "./roy-agent-core-fs0mn2jk.js";
@@ -88,6 +88,18 @@ function renderProgressBar(progress) {
88
88
  const bar = "▓".repeat(filled) + "░".repeat(PROGRESS_BAR_CELLS - filled);
89
89
  return `${bar} ${Math.round(clamped)}%`;
90
90
  }
91
+ function resolveTaskTitleForDisplay(opts) {
92
+ if (opts.taskTitle && opts.taskTitle.trim().length > 0) {
93
+ return opts.taskTitle;
94
+ }
95
+ if (opts.taskId !== undefined && opts.title) {
96
+ return `#${opts.taskId} ${opts.title}`;
97
+ }
98
+ if (opts.taskId !== undefined) {
99
+ return `#${opts.taskId}`;
100
+ }
101
+ return "Task";
102
+ }
91
103
  function humanizeValue(value, maxLen = 200) {
92
104
  const truncate = (t) => t.length <= maxLen ? t : `${t.slice(0, maxLen)}…`;
93
105
  if (value === null || value === undefined)
@@ -1155,4 +1167,4 @@ function sanitize(text) {
1155
1167
  return `${trimmed.slice(0, 500)}…`;
1156
1168
  }
1157
1169
 
1158
- export { humanizeValue, buildTaskCard, formatDurationMs, LarkCardPatchNotifier };
1170
+ export { formatTimestampForDisplay, sanitizeInlineText, formatDateTimeForDisplay, renderProgressBar, resolveTaskTitleForDisplay, humanizeValue, renderTaskInfoLines, renderContextAsLines, renderMilestones, renderProcessSteps, buildTaskCard, buildChatAppLink, DEFAULT_APP_LINK_BASE, formatDurationMs, renderWorkflowInfoLines, buildWorkflowCard, LarkCardPatchNotifier };
@@ -20,5 +20,11 @@ function escapeXmlAttr(value) {
20
20
  function escapeXmlText(value) {
21
21
  return value.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
22
22
  }
23
+ function countLarkMentions(content) {
24
+ if (!content)
25
+ return 0;
26
+ const matches = content.match(/<at\s+user_id\s*=\s*(?:"[^"]+"|'[^']+'|[^\s>]+)/g);
27
+ return matches ? matches.length : 0;
28
+ }
23
29
 
24
- export { normalizeLarkAtMentions };
30
+ export { normalizeLarkAtMentions, countLarkMentions };
@@ -3,11 +3,11 @@ import {
3
3
  hasDecoratorNodes,
4
4
  init_node_registry_helper,
5
5
  registerDecoratorNodeType
6
- } from "./roy-agent-core-vgdhxbx3.js";
6
+ } from "./roy-agent-core-dfqhc9ey.js";
7
7
  import"./roy-agent-core-1ce3fqrk.js";
8
8
  import"./roy-agent-core-ddwa0n6h.js";
9
- import"./roy-agent-core-8p63s836.js";
10
- import"./roy-agent-core-rt115qfc.js";
9
+ import"./roy-agent-core-386wa4wy.js";
10
+ import"./roy-agent-core-6awgfh3x.js";
11
11
  import"./roy-agent-core-jnszp0jq.js";
12
12
  import"./roy-agent-core-fs0mn2jk.js";
13
13
  init_node_registry_helper();
@@ -2,11 +2,11 @@ import {
2
2
  WorkflowRepository,
3
3
  migrateEmptyTagsToDefault,
4
4
  rowToWorkflow
5
- } from "./roy-agent-core-jjxdmedn.js";
6
- import"./roy-agent-core-rcgvmtms.js";
5
+ } from "./roy-agent-core-vwzan9v0.js";
6
+ import"./roy-agent-core-gc6wcd7z.js";
7
7
  import"./roy-agent-core-rvxg1wps.js";
8
- import"./roy-agent-core-8p63s836.js";
9
- import"./roy-agent-core-rt115qfc.js";
8
+ import"./roy-agent-core-386wa4wy.js";
9
+ import"./roy-agent-core-6awgfh3x.js";
10
10
  import"./roy-agent-core-jnszp0jq.js";
11
11
  import"./roy-agent-core-fs0mn2jk.js";
12
12
  export {
@@ -8,7 +8,7 @@ import {
8
8
  } from "./roy-agent-core-qxnbvgwe.js";
9
9
  import {
10
10
  BaseComponent
11
- } from "./roy-agent-core-0kn3zt1t.js";
11
+ } from "./roy-agent-core-gtdtzbs7.js";
12
12
  import {
13
13
  __require
14
14
  } from "./roy-agent-core-fs0mn2jk.js";