daycare-cli 2026.2.22 → 2026.2.23

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 (163) hide show
  1. package/dist/engine/agents/agent.d.ts.map +1 -1
  2. package/dist/engine/agents/agent.js +13 -10
  3. package/dist/engine/agents/agent.js.map +1 -1
  4. package/dist/engine/agents/agentSystem.d.ts +6 -1
  5. package/dist/engine/agents/agentSystem.d.ts.map +1 -1
  6. package/dist/engine/agents/agentSystem.js +14 -0
  7. package/dist/engine/agents/agentSystem.js.map +1 -1
  8. package/dist/engine/agents/ops/agentHistoryLoadAll.d.ts +3 -2
  9. package/dist/engine/agents/ops/agentHistoryLoadAll.d.ts.map +1 -1
  10. package/dist/engine/agents/ops/agentHistoryLoadAll.js +4 -3
  11. package/dist/engine/agents/ops/agentHistoryLoadAll.js.map +1 -1
  12. package/dist/engine/agents/ops/agentLoopRun.d.ts +1 -0
  13. package/dist/engine/agents/ops/agentLoopRun.d.ts.map +1 -1
  14. package/dist/engine/agents/ops/agentLoopRun.js +9 -1
  15. package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
  16. package/dist/engine/agents/ops/agentLoopRun.spec.js +1 -0
  17. package/dist/engine/agents/ops/agentLoopRun.spec.js.map +1 -1
  18. package/dist/engine/agents/ops/agentModelOverrideApply.d.ts +10 -0
  19. package/dist/engine/agents/ops/agentModelOverrideApply.d.ts.map +1 -0
  20. package/dist/engine/agents/ops/agentModelOverrideApply.js +48 -0
  21. package/dist/engine/agents/ops/agentModelOverrideApply.js.map +1 -0
  22. package/dist/engine/agents/ops/agentModelOverrideApply.spec.d.ts +2 -0
  23. package/dist/engine/agents/ops/agentModelOverrideApply.spec.d.ts.map +1 -0
  24. package/dist/engine/agents/ops/agentModelOverrideApply.spec.js +43 -0
  25. package/dist/engine/agents/ops/agentModelOverrideApply.spec.js.map +1 -0
  26. package/dist/engine/agents/ops/agentTypes.d.ts +8 -0
  27. package/dist/engine/agents/ops/agentTypes.d.ts.map +1 -1
  28. package/dist/engine/agents/ops/inferenceErrorAnthropicPromptOverflowTokensExtract.d.ts +6 -0
  29. package/dist/engine/agents/ops/inferenceErrorAnthropicPromptOverflowTokensExtract.d.ts.map +1 -0
  30. package/dist/engine/agents/ops/inferenceErrorAnthropicPromptOverflowTokensExtract.js +21 -0
  31. package/dist/engine/agents/ops/inferenceErrorAnthropicPromptOverflowTokensExtract.js.map +1 -0
  32. package/dist/engine/agents/ops/inferenceErrorAnthropicPromptOverflowTokensExtract.spec.d.ts +2 -0
  33. package/dist/engine/agents/ops/inferenceErrorAnthropicPromptOverflowTokensExtract.spec.d.ts.map +1 -0
  34. package/dist/engine/agents/ops/inferenceErrorAnthropicPromptOverflowTokensExtract.spec.js +17 -0
  35. package/dist/engine/agents/ops/inferenceErrorAnthropicPromptOverflowTokensExtract.spec.js.map +1 -0
  36. package/dist/engine/agents/ops/messageContextReset.js +1 -1
  37. package/dist/engine/agents/ops/messageContextReset.js.map +1 -1
  38. package/dist/engine/agents/ops/messageContextReset.spec.js +1 -1
  39. package/dist/engine/agents/ops/messageContextReset.spec.js.map +1 -1
  40. package/dist/engine/engine.d.ts.map +1 -1
  41. package/dist/engine/engine.js +2 -0
  42. package/dist/engine/engine.js.map +1 -1
  43. package/dist/engine/ipc/server.d.ts.map +1 -1
  44. package/dist/engine/ipc/server.js +7 -2
  45. package/dist/engine/ipc/server.js.map +1 -1
  46. package/dist/engine/memory/infer/inferObservations.d.ts +3 -0
  47. package/dist/engine/memory/infer/inferObservations.d.ts.map +1 -1
  48. package/dist/engine/memory/infer/inferObservations.js +7 -3
  49. package/dist/engine/memory/infer/inferObservations.js.map +1 -1
  50. package/dist/engine/memory/infer/utils/formatHistoryMessages.d.ts +3 -1
  51. package/dist/engine/memory/infer/utils/formatHistoryMessages.d.ts.map +1 -1
  52. package/dist/engine/memory/infer/utils/formatHistoryMessages.js +7 -3
  53. package/dist/engine/memory/infer/utils/formatHistoryMessages.js.map +1 -1
  54. package/dist/engine/memory/infer/utils/formatHistoryMessages.spec.js +20 -0
  55. package/dist/engine/memory/infer/utils/formatHistoryMessages.spec.js.map +1 -1
  56. package/dist/engine/memory/memorySessionObserve.d.ts +1 -0
  57. package/dist/engine/memory/memorySessionObserve.d.ts.map +1 -1
  58. package/dist/engine/memory/memorySessionObserve.js +3 -2
  59. package/dist/engine/memory/memorySessionObserve.js.map +1 -1
  60. package/dist/engine/memory/memorySessionObserve.spec.js +54 -0
  61. package/dist/engine/memory/memorySessionObserve.spec.js.map +1 -1
  62. package/dist/engine/memory/memoryWorker.d.ts.map +1 -1
  63. package/dist/engine/memory/memoryWorker.js +8 -2
  64. package/dist/engine/memory/memoryWorker.js.map +1 -1
  65. package/dist/engine/memory/memoryWorker.spec.js +41 -0
  66. package/dist/engine/memory/memoryWorker.spec.js.map +1 -1
  67. package/dist/engine/modules/rlm/rlmResultTextBuild.d.ts.map +1 -1
  68. package/dist/engine/modules/rlm/rlmResultTextBuild.js +12 -3
  69. package/dist/engine/modules/rlm/rlmResultTextBuild.js.map +1 -1
  70. package/dist/engine/modules/rlm/rlmResultTextBuild.spec.d.ts +2 -0
  71. package/dist/engine/modules/rlm/rlmResultTextBuild.spec.d.ts.map +1 -0
  72. package/dist/engine/modules/rlm/rlmResultTextBuild.spec.js +32 -0
  73. package/dist/engine/modules/rlm/rlmResultTextBuild.spec.js.map +1 -0
  74. package/dist/engine/modules/rlm/rlmToolResultBuild.d.ts.map +1 -1
  75. package/dist/engine/modules/rlm/rlmToolResultBuild.js +5 -2
  76. package/dist/engine/modules/rlm/rlmToolResultBuild.js.map +1 -1
  77. package/dist/engine/modules/rlm/rlmToolResultBuild.spec.d.ts +2 -0
  78. package/dist/engine/modules/rlm/rlmToolResultBuild.spec.d.ts.map +1 -0
  79. package/dist/engine/modules/rlm/rlmToolResultBuild.spec.js +25 -0
  80. package/dist/engine/modules/rlm/rlmToolResultBuild.spec.js.map +1 -0
  81. package/dist/engine/modules/tools/agentModelSetToolBuild.d.ts +10 -0
  82. package/dist/engine/modules/tools/agentModelSetToolBuild.d.ts.map +1 -0
  83. package/dist/engine/modules/tools/agentModelSetToolBuild.js +94 -0
  84. package/dist/engine/modules/tools/agentModelSetToolBuild.js.map +1 -0
  85. package/dist/engine/modules/tools/agentModelSetToolBuild.spec.d.ts +2 -0
  86. package/dist/engine/modules/tools/agentModelSetToolBuild.spec.d.ts.map +1 -0
  87. package/dist/engine/modules/tools/agentModelSetToolBuild.spec.js +45 -0
  88. package/dist/engine/modules/tools/agentModelSetToolBuild.spec.js.map +1 -0
  89. package/dist/engine/modules/tools/toolResultTruncate.d.ts +1 -1
  90. package/dist/engine/modules/tools/toolResultTruncate.d.ts.map +1 -1
  91. package/dist/engine/modules/tools/toolResultTruncate.js +46 -22
  92. package/dist/engine/modules/tools/toolResultTruncate.js.map +1 -1
  93. package/dist/engine/modules/tools/toolResultTruncate.spec.js +28 -2
  94. package/dist/engine/modules/tools/toolResultTruncate.spec.js.map +1 -1
  95. package/dist/engine/processes/processes.spec.js +5 -3
  96. package/dist/engine/processes/processes.spec.js.map +1 -1
  97. package/dist/plugins/dashboard/site/404.html +1 -1
  98. package/dist/plugins/dashboard/site/_next/static/chunks/app/agent/{page-e7a20c5ef1f769e6.js → page-2d345f6346edc077.js} +1 -1
  99. package/dist/plugins/dashboard/site/_next/static/chunks/app/agents/{page-b997df519e071e45.js → page-326ff3cf564198c7.js} +1 -1
  100. package/dist/plugins/dashboard/site/_next/static/chunks/app/automations/{page-fed8c9eb1cef42df.js → page-6a39540c21d6b25b.js} +1 -1
  101. package/dist/plugins/dashboard/site/_next/static/chunks/app/connectors/{page-a8a3b434a1ed7bda.js → page-92a732501885071f.js} +1 -1
  102. package/dist/plugins/dashboard/site/_next/static/chunks/app/memory/{page-c2c16e7623a0377d.js → page-74c0b70421c567ab.js} +1 -1
  103. package/dist/plugins/dashboard/site/_next/static/chunks/app/{page-5ebf2aeece51aed8.js → page-c4cbe1c7aca2ecd7.js} +1 -1
  104. package/dist/plugins/dashboard/site/_next/static/chunks/app/processes/{page-e6bdb861ae8bd14b.js → page-bf7900fe583d361e.js} +1 -1
  105. package/dist/plugins/dashboard/site/_next/static/chunks/app/providers/{page-d3743fe243237b22.js → page-b2e79cb03244c267.js} +1 -1
  106. package/dist/plugins/dashboard/site/_next/static/chunks/app/signals/{page-b817ca434cd43c0f.js → page-2992aa1807b6fdab.js} +1 -1
  107. package/dist/plugins/dashboard/site/_next/static/chunks/app/tools/{page-ce22e00b61861083.js → page-4a2e5a16190af659.js} +1 -1
  108. package/dist/plugins/dashboard/site/agent.html +1 -1
  109. package/dist/plugins/dashboard/site/agent.txt +2 -2
  110. package/dist/plugins/dashboard/site/agents.html +1 -1
  111. package/dist/plugins/dashboard/site/agents.txt +2 -2
  112. package/dist/plugins/dashboard/site/automations.html +1 -1
  113. package/dist/plugins/dashboard/site/automations.txt +2 -2
  114. package/dist/plugins/dashboard/site/connectors.html +1 -1
  115. package/dist/plugins/dashboard/site/connectors.txt +2 -2
  116. package/dist/plugins/dashboard/site/index.html +2 -2
  117. package/dist/plugins/dashboard/site/index.txt +2 -2
  118. package/dist/plugins/dashboard/site/memory.html +1 -1
  119. package/dist/plugins/dashboard/site/memory.txt +2 -2
  120. package/dist/plugins/dashboard/site/processes.html +1 -1
  121. package/dist/plugins/dashboard/site/processes.txt +2 -2
  122. package/dist/plugins/dashboard/site/providers.html +1 -1
  123. package/dist/plugins/dashboard/site/providers.txt +2 -2
  124. package/dist/plugins/dashboard/site/signals.html +1 -1
  125. package/dist/plugins/dashboard/site/signals.txt +2 -2
  126. package/dist/plugins/dashboard/site/telemetry.html +1 -1
  127. package/dist/plugins/dashboard/site/telemetry.txt +1 -1
  128. package/dist/plugins/dashboard/site/tools.html +1 -1
  129. package/dist/plugins/dashboard/site/tools.txt +2 -2
  130. package/dist/plugins/shell/tool.d.ts +1 -0
  131. package/dist/plugins/shell/tool.d.ts.map +1 -1
  132. package/dist/plugins/shell/tool.js +16 -5
  133. package/dist/plugins/shell/tool.js.map +1 -1
  134. package/dist/plugins/shell/tool.spec.js +33 -6
  135. package/dist/plugins/shell/tool.spec.js.map +1 -1
  136. package/dist/prompts/memory/OBSERVE.md +4 -0
  137. package/dist/sandbox/runtime.spec.js +3 -1
  138. package/dist/sandbox/runtime.spec.js.map +1 -1
  139. package/dist/storage/historyRepository.d.ts +1 -1
  140. package/dist/storage/historyRepository.d.ts.map +1 -1
  141. package/dist/storage/historyRepository.js +5 -5
  142. package/dist/storage/historyRepository.js.map +1 -1
  143. package/dist/types.d.ts +1 -1
  144. package/dist/types.d.ts.map +1 -1
  145. package/dist/utils/stringTruncateHeadTail.d.ts +6 -0
  146. package/dist/utils/stringTruncateHeadTail.d.ts.map +1 -0
  147. package/dist/utils/stringTruncateHeadTail.js +18 -0
  148. package/dist/utils/stringTruncateHeadTail.js.map +1 -0
  149. package/dist/utils/stringTruncateHeadTail.spec.d.ts +2 -0
  150. package/dist/utils/stringTruncateHeadTail.spec.d.ts.map +1 -0
  151. package/dist/utils/stringTruncateHeadTail.spec.js +20 -0
  152. package/dist/utils/stringTruncateHeadTail.spec.js.map +1 -0
  153. package/dist/utils/stringTruncateTail.d.ts +6 -0
  154. package/dist/utils/stringTruncateTail.d.ts.map +1 -0
  155. package/dist/utils/stringTruncateTail.js +15 -0
  156. package/dist/utils/stringTruncateTail.js.map +1 -0
  157. package/dist/utils/stringTruncateTail.spec.d.ts +2 -0
  158. package/dist/utils/stringTruncateTail.spec.d.ts.map +1 -0
  159. package/dist/utils/stringTruncateTail.spec.js +19 -0
  160. package/dist/utils/stringTruncateTail.spec.js.map +1 -0
  161. package/package.json +1 -1
  162. /package/dist/plugins/dashboard/site/_next/static/{Xz8Kc-P2fnMqmm-AsS7Ui → 9-NVJBP-YwBbxw-w3gjmQ}/_buildManifest.js +0 -0
  163. /package/dist/plugins/dashboard/site/_next/static/{Xz8Kc-P2fnMqmm-AsS7Ui → 9-NVJBP-YwBbxw-w3gjmQ}/_ssgManifest.js +0 -0
@@ -84,6 +84,60 @@ describe("memorySessionObserve", () => {
84
84
  storage.close();
85
85
  }
86
86
  });
87
+ it("passes isForeground to inferObservations and uses background labels", async () => {
88
+ const storage = Storage.open(":memory:");
89
+ try {
90
+ const owner = (await storage.users.findMany())[0];
91
+ if (!owner) {
92
+ throw new Error("Owner user missing");
93
+ }
94
+ await storage.agents.create({
95
+ id: "agent-bg",
96
+ userId: owner.id,
97
+ type: "cron",
98
+ descriptor: { type: "cron", id: "agent-bg", name: "job" },
99
+ activeSessionId: null,
100
+ permissions,
101
+ tokens: null,
102
+ stats: {},
103
+ lifecycle: "active",
104
+ createdAt: 1,
105
+ updatedAt: 1
106
+ });
107
+ const sessionId = await storage.sessions.create({ agentId: "agent-bg", createdAt: 1000 });
108
+ await storage.history.append(sessionId, {
109
+ type: "user_message",
110
+ at: 1001,
111
+ text: "run cleanup",
112
+ files: []
113
+ });
114
+ const ctx = new Context("agent-bg", owner.id);
115
+ const records = await storage.history.findBySessionId(sessionId);
116
+ const xml = "<observations></observations>";
117
+ const router = mockInferenceRouter(xml);
118
+ await memorySessionObserve({
119
+ sessionNumber: 1,
120
+ ctx,
121
+ records,
122
+ storage,
123
+ inferenceRouter: router,
124
+ providers: [],
125
+ isForeground: false
126
+ });
127
+ // Verify the transcript sent to inference uses background labels
128
+ const calls = router.complete.mock.calls;
129
+ expect(calls.length).toBeGreaterThan(0);
130
+ const context = calls[0][0];
131
+ expect(context.messages[0].content).toContain("## System Message");
132
+ expect(context.messages[0].content).not.toContain("## User");
133
+ // Verify the system prompt uses the background variant
134
+ expect(context.systemPrompt).toContain("automated agent");
135
+ expect(context.systemPrompt).not.toContain("between a person and an AI assistant");
136
+ }
137
+ finally {
138
+ storage.close();
139
+ }
140
+ });
87
141
  it("returns empty array when no records", async () => {
88
142
  const storage = Storage.open(":memory:");
89
143
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"memorySessionObserve.spec.js","sourceRoot":"","sources":["../../../sources/engine/memory/memorySessionObserve.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memorySessionObserve.spec.js","sourceRoot":"","sources":["../../../sources/engine/memory/memorySessionObserve.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memoryWorker.d.ts","sourceRoot":"","sources":["../../../sources/engine/memory/memoryWorker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQ9D,MAAM,MAAM,kBAAkB,GAAG,CAC7B,MAAM,EAAE;IAAE,UAAU,EAAE,eAAe,CAAA;CAAE,EACvC,IAAI,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KAC7D,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,mBAAmB;IAMxC;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,kBAAkB,GAAG,IAAI;IAIvC,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IAYZ,OAAO,CAAC,gBAAgB;YAYV,IAAI;CA6ErB"}
1
+ {"version":3,"file":"memoryWorker.d.ts","sourceRoot":"","sources":["../../../sources/engine/memory/memoryWorker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQ9D,MAAM,MAAM,kBAAkB,GAAG,CAC7B,MAAM,EAAE;IAAE,UAAU,EAAE,eAAe,CAAA;CAAE,EACvC,IAAI,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KAC7D,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,mBAAmB;IAMxC;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,kBAAkB,GAAG,IAAI;IAIvC,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IAYZ,OAAO,CAAC,gBAAgB;YAYV,IAAI;CAoFrB"}
@@ -95,15 +95,21 @@ export class MemoryWorker {
95
95
  await this.storage.sessions.markProcessed(session.id, invalidatedAt, invalidatedAt);
96
96
  continue;
97
97
  }
98
- const transcript = formatHistoryMessages(records);
98
+ const isForeground = agent.descriptor.type === "user";
99
+ const transcript = formatHistoryMessages(records, isForeground);
99
100
  if (transcript.trim().length === 0) {
100
101
  await this.storage.sessions.markProcessed(session.id, invalidatedAt, invalidatedAt);
101
102
  continue;
102
103
  }
104
+ // Prepend source context for background agents so the memory model
105
+ // knows this is automated task execution, not a human conversation.
106
+ const text = isForeground
107
+ ? transcript
108
+ : `> Source: This transcript is from an automated agent performing background work. There is no human participant. Extract facts about what was done, what succeeded/failed, and what was learned about systems and processes.\n\n${transcript}`;
103
109
  const descriptor = { type: "memory-agent", id: session.agentId };
104
110
  await this.postToAgent({ descriptor }, {
105
111
  type: "system_message",
106
- text: transcript,
112
+ text,
107
113
  origin: `memory-worker:${session.id}`
108
114
  });
109
115
  const maxHistoryId = await this.storage.history.maxId(session.id);
@@ -1 +1 @@
1
- {"version":3,"file":"memoryWorker.js","sourceRoot":"","sources":["../../../sources/engine/memory/memoryWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryWorker.js","sourceRoot":"","sources":["../../../sources/engine/memory/memoryWorker.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,9 @@ describe("MemoryWorker", () => {
62
62
  expect(target.descriptor).toEqual({ type: "memory-agent", id: "agent-1" });
63
63
  expect(item.type).toBe("system_message");
64
64
  expect(item.text).toContain("hello");
65
+ // Background agent (cron) gets preamble and background labels
66
+ expect(item.text).toContain("## System Message");
67
+ expect(item.text).toContain("> Source:");
65
68
  expect(item.origin).toContain(sessionId);
66
69
  const session = await storage.sessions.findById(sessionId);
67
70
  expect(session?.invalidatedAt).toBeNull();
@@ -72,6 +75,44 @@ describe("MemoryWorker", () => {
72
75
  storage.close();
73
76
  }
74
77
  });
78
+ it("uses foreground labels and no preamble for user agents", async () => {
79
+ vi.useFakeTimers();
80
+ const { storage, ownerId } = await createTestStorage();
81
+ try {
82
+ await storage.agents.create({
83
+ id: "user-agent-1",
84
+ userId: ownerId,
85
+ type: "user",
86
+ descriptor: { type: "user", connector: "web", userId: "u1", channelId: "ch1" },
87
+ activeSessionId: null,
88
+ permissions,
89
+ tokens: null,
90
+ stats: {},
91
+ lifecycle: "active",
92
+ createdAt: 1,
93
+ updatedAt: 1
94
+ });
95
+ const sessionId = await storage.sessions.create({ agentId: "user-agent-1", createdAt: 1000 });
96
+ await storage.agents.update("user-agent-1", { activeSessionId: sessionId });
97
+ await storage.history.append(sessionId, { type: "user_message", at: 1001, text: "hi", files: [] });
98
+ const maxId = await storage.history.maxId(sessionId);
99
+ await storage.sessions.invalidate(sessionId, maxId);
100
+ const postFn = vi.fn().mockResolvedValue(undefined);
101
+ const worker = createWorker(storage, postFn);
102
+ worker.start();
103
+ await vi.advanceTimersByTimeAsync(150);
104
+ expect(postFn).toHaveBeenCalledOnce();
105
+ const [, item] = postFn.mock.calls[0];
106
+ // Foreground agent (user) gets standard labels and no preamble
107
+ expect(item.text).toContain("## User");
108
+ expect(item.text).not.toContain("## System Message");
109
+ expect(item.text).not.toContain("> Source:");
110
+ worker.stop();
111
+ }
112
+ finally {
113
+ storage.close();
114
+ }
115
+ });
75
116
  it("skips sessions belonging to memory-agent descriptors", async () => {
76
117
  vi.useFakeTimers();
77
118
  const { storage, ownerId } = await createTestStorage();
@@ -1 +1 @@
1
- {"version":3,"file":"memoryWorker.spec.js","sourceRoot":"","sources":["../../../sources/engine/memory/memoryWorker.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryWorker.spec.js","sourceRoot":"","sources":["../../../sources/engine/memory/memoryWorker.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rlmResultTextBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmResultTextBuild.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAOnE"}
1
+ {"version":3,"file":"rlmResultTextBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmResultTextBuild.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMxD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAcnE"}
@@ -1,13 +1,22 @@
1
+ import { stringTruncateHeadTail } from "../../../utils/stringTruncateHeadTail.js";
2
+ const RLM_PRINT_OUTPUT_MAX_CHARS = 8_000;
3
+ const RLM_OUTPUT_MAX_CHARS = 8_000;
4
+ const RLM_RESULT_TEXT_MAX_CHARS = 16_000;
1
5
  /**
2
6
  * Formats a successful run_python execution summary for tool-result delivery.
3
7
  * Expects: result is returned from rlmExecute or rlmRestore.
4
8
  */
5
9
  export function rlmResultTextBuild(result) {
6
- return [
10
+ const printOutputText = result.printOutput.length > 0
11
+ ? stringTruncateHeadTail(result.printOutput.join("\n"), RLM_PRINT_OUTPUT_MAX_CHARS, "print output")
12
+ : "(none)";
13
+ const outputText = result.output.length > 0 ? stringTruncateHeadTail(result.output, RLM_OUTPUT_MAX_CHARS, "output") : "(empty)";
14
+ const text = [
7
15
  "Python execution completed.",
8
16
  `Tool calls: ${result.toolCallCount}`,
9
- result.printOutput.length > 0 ? `Print output:\n${result.printOutput.join("\n")}` : "Print output: (none)",
10
- `Output:\n${result.output.length > 0 ? result.output : "(empty)"}`
17
+ `Print output:\n${printOutputText}`,
18
+ `Output:\n${outputText}`
11
19
  ].join("\n\n");
20
+ return stringTruncateHeadTail(text, RLM_RESULT_TEXT_MAX_CHARS, "python result");
12
21
  }
13
22
  //# sourceMappingURL=rlmResultTextBuild.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rlmResultTextBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmResultTextBuild.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAwB;IACvD,OAAO;QACH,6BAA6B;QAC7B,eAAe,MAAM,CAAC,aAAa,EAAE;QACrC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB;QAC1G,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE;KACrE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"rlmResultTextBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmResultTextBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAGlF,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAwB;IACvD,MAAM,eAAe,GACjB,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACzB,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,0BAA0B,EAAE,cAAc,CAAC;QACnG,CAAC,CAAC,QAAQ,CAAC;IACnB,MAAM,UAAU,GACZ,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjH,MAAM,IAAI,GAAG;QACT,6BAA6B;QAC7B,eAAe,MAAM,CAAC,aAAa,EAAE;QACrC,kBAAkB,eAAe,EAAE;QACnC,YAAY,UAAU,EAAE;KAC3B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,OAAO,sBAAsB,CAAC,IAAI,EAAE,yBAAyB,EAAE,eAAe,CAAC,CAAC;AACpF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rlmResultTextBuild.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rlmResultTextBuild.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmResultTextBuild.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { rlmResultTextBuild } from "./rlmResultTextBuild.js";
3
+ describe("rlmResultTextBuild", () => {
4
+ it("formats a compact result without truncation", () => {
5
+ const text = rlmResultTextBuild({
6
+ output: "done",
7
+ printOutput: ["hello"],
8
+ toolCallCount: 1
9
+ });
10
+ expect(text).toContain("Python execution completed.");
11
+ expect(text).toContain("Print output:\nhello");
12
+ expect(text).toContain("Output:\ndone");
13
+ });
14
+ it("truncates oversized print output and output sections", () => {
15
+ const text = rlmResultTextBuild({
16
+ output: `${"a".repeat(100)}${"b".repeat(9_000)}`,
17
+ printOutput: [`${"x".repeat(100)}${"y".repeat(9_000)}`],
18
+ toolCallCount: 2
19
+ });
20
+ expect(text).toContain("chars truncated from print output");
21
+ expect(text).toContain("chars truncated from output");
22
+ });
23
+ it("applies a total result-level truncation when body is still large", () => {
24
+ const text = rlmResultTextBuild({
25
+ output: `${"o".repeat(8_000)}`,
26
+ printOutput: [`${"p".repeat(8_000)}`],
27
+ toolCallCount: 3
28
+ });
29
+ expect(text).toContain("chars truncated from python result");
30
+ });
31
+ });
32
+ //# sourceMappingURL=rlmResultTextBuild.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rlmResultTextBuild.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmResultTextBuild.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC5B,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,CAAC,OAAO,CAAC;YACtB,aAAa,EAAE,CAAC;SACnB,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAChD,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,aAAa,EAAE,CAAC;SACnB,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QACxE,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,aAAa,EAAE,CAAC;SACnB,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rlmToolResultBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmToolResultBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEvE,eAAO,MAAM,mBAAmB;;;EAM/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE/D,eAAO,MAAM,cAAc,EAAE,kBAAkB,CAAC,aAAa,CAG5D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACjB,mBAAmB,CAiBrB"}
1
+ {"version":3,"file":"rlmToolResultBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmToolResultBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKvE,eAAO,MAAM,mBAAmB;;;EAM/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE/D,eAAO,MAAM,cAAc,EAAE,kBAAkB,CAAC,aAAa,CAG5D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACjB,mBAAmB,CAkBrB"}
@@ -1,4 +1,6 @@
1
1
  import { Type } from "@sinclair/typebox";
2
+ import { stringTruncateHeadTail } from "../../../utils/stringTruncateHeadTail.js";
3
+ const RLM_TOOL_RESULT_MAX_CHARS = 16_000;
2
4
  export const rlmToolResultSchema = Type.Object({
3
5
  summary: Type.String(),
4
6
  isError: Type.Boolean()
@@ -12,18 +14,19 @@ export const rlmToolReturns = {
12
14
  * Expects: toolCall references the outer run_python call id/name.
13
15
  */
14
16
  export function rlmToolResultBuild(toolCall, text, isError) {
17
+ const boundedText = stringTruncateHeadTail(text, RLM_TOOL_RESULT_MAX_CHARS, "python result");
15
18
  const toolMessage = {
16
19
  role: "toolResult",
17
20
  toolCallId: toolCall.id,
18
21
  toolName: toolCall.name,
19
- content: [{ type: "text", text }],
22
+ content: [{ type: "text", text: boundedText }],
20
23
  isError,
21
24
  timestamp: Date.now()
22
25
  };
23
26
  return {
24
27
  toolMessage,
25
28
  typedResult: {
26
- summary: text,
29
+ summary: boundedText,
27
30
  isError
28
31
  }
29
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"rlmToolResultBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmToolResultBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAItD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAC1C;IACI,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;IACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;CAC1B,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAIF,MAAM,CAAC,MAAM,cAAc,GAAsC;IAC7D,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAC9B,QAAsC,EACtC,IAAY,EACZ,OAAgB;IAEhB,MAAM,WAAW,GAAsB;QACnC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC;IAEF,OAAO;QACH,WAAW;QACX,WAAW,EAAE;YACT,OAAO,EAAE,IAAI;YACb,OAAO;SACV;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"rlmToolResultBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmToolResultBuild.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAC1C;IACI,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;IACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;CAC1B,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AAIF,MAAM,CAAC,MAAM,cAAc,GAAsC;IAC7D,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAC9B,QAAsC,EACtC,IAAY,EACZ,OAAgB;IAEhB,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,EAAE,yBAAyB,EAAE,eAAe,CAAC,CAAC;IAC7F,MAAM,WAAW,GAAsB;QACnC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC9C,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC;IAEF,OAAO;QACH,WAAW;QACX,WAAW,EAAE;YACT,OAAO,EAAE,WAAW;YACpB,OAAO;SACV;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rlmToolResultBuild.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rlmToolResultBuild.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmToolResultBuild.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { rlmToolResultBuild } from "./rlmToolResultBuild.js";
3
+ describe("rlmToolResultBuild", () => {
4
+ it("preserves short content", () => {
5
+ const result = rlmToolResultBuild({ id: "call-1", name: "run_python" }, "ok", false);
6
+ const text = toolMessageText(result);
7
+ expect(text).toBe("ok");
8
+ expect(result.typedResult.summary).toBe("ok");
9
+ });
10
+ it("truncates oversized content for tool message and summary", () => {
11
+ const longText = `${"a".repeat(8_000)}${"b".repeat(12_000)}`;
12
+ const result = rlmToolResultBuild({ id: "call-2", name: "run_python" }, longText, false);
13
+ const text = toolMessageText(result);
14
+ expect(text).toContain("chars truncated from python result");
15
+ expect(result.typedResult.summary).toBe(text);
16
+ });
17
+ });
18
+ function toolMessageText(result) {
19
+ if (!Array.isArray(result.toolMessage.content)) {
20
+ return "";
21
+ }
22
+ const textPart = result.toolMessage.content.find((part) => part.type === "text");
23
+ return textPart?.type === "text" ? textPart.text : "";
24
+ }
25
+ //# sourceMappingURL=rlmToolResultBuild.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rlmToolResultBuild.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/rlm/rlmToolResultBuild.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAErF,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAChE,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEzF,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,MAA6C;IAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACjF,OAAO,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ToolDefinition } from "@/types";
2
+ import type { InferenceRouter } from "../inference/router.js";
3
+ /**
4
+ * Builds the set_agent_model tool.
5
+ * Lets a foreground agent change any agent's inference model.
6
+ *
7
+ * Expects: inferenceRouter is available for model validation calls.
8
+ */
9
+ export declare function agentModelSetToolBuild(inferenceRouter: InferenceRouter): ToolDefinition;
10
+ //# sourceMappingURL=agentModelSetToolBuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentModelSetToolBuild.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/agentModelSetToolBuild.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,SAAS,CAAC;AAIlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA4B9D;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,eAAe,GAAG,cAAc,CA0DvF"}
@@ -0,0 +1,94 @@
1
+ import { createId } from "@paralleldrive/cuid2";
2
+ import { Type } from "@sinclair/typebox";
3
+ import { listActiveInferenceProviders } from "../../../providers/catalog.js";
4
+ const SELECTORS = new Set(["small", "normal", "big"]);
5
+ const schema = Type.Object({
6
+ agentId: Type.String({ minLength: 1 }),
7
+ model: Type.String({ minLength: 1 })
8
+ }, { additionalProperties: false });
9
+ const resultSchema = Type.Object({
10
+ summary: Type.String()
11
+ }, { additionalProperties: false });
12
+ const returns = {
13
+ schema: resultSchema,
14
+ toLLMText: (result) => result.summary
15
+ };
16
+ /**
17
+ * Builds the set_agent_model tool.
18
+ * Lets a foreground agent change any agent's inference model.
19
+ *
20
+ * Expects: inferenceRouter is available for model validation calls.
21
+ */
22
+ export function agentModelSetToolBuild(inferenceRouter) {
23
+ return {
24
+ tool: {
25
+ name: "set_agent_model",
26
+ description: 'Set the inference model for an agent. Use a selector ("small", "normal", "big") or a direct model name. Direct model names are validated before applying.',
27
+ parameters: schema
28
+ },
29
+ returns,
30
+ visibleByDefault: (context) => context.descriptor.type === "user",
31
+ execute: async (args, toolContext, toolCall) => {
32
+ const payload = args;
33
+ const targetAgentId = payload.agentId;
34
+ const model = payload.model.trim();
35
+ if (!model) {
36
+ throw new Error("Model value is required");
37
+ }
38
+ let override;
39
+ if (SELECTORS.has(model)) {
40
+ override = { type: "selector", value: model };
41
+ }
42
+ else {
43
+ // Validate direct model name with a micro inference call
44
+ const providers = listActiveInferenceProviders(toolContext.agentSystem.config.current.settings);
45
+ if (providers.length === 0) {
46
+ throw new Error("No inference provider available for model validation");
47
+ }
48
+ await validateModelName(inferenceRouter, providers[0], model);
49
+ override = { type: "model", value: model };
50
+ }
51
+ const updated = await toolContext.agentSystem.updateAgentModelOverride(targetAgentId, override);
52
+ if (!updated) {
53
+ throw new Error(`Agent not found or not loaded: ${targetAgentId}`);
54
+ }
55
+ const summary = override.type === "selector"
56
+ ? `Model set to "${override.value}" selector for agent ${targetAgentId}.`
57
+ : `Model set to "${override.value}" for agent ${targetAgentId}.`;
58
+ const toolMessage = {
59
+ role: "toolResult",
60
+ toolCallId: toolCall.id,
61
+ toolName: toolCall.name,
62
+ content: [{ type: "text", text: summary }],
63
+ isError: false,
64
+ timestamp: Date.now()
65
+ };
66
+ return {
67
+ toolMessage,
68
+ typedResult: { summary }
69
+ };
70
+ }
71
+ };
72
+ }
73
+ /**
74
+ * Validates a direct model name by performing a micro inference call.
75
+ * Uses the first active provider with the model name overridden.
76
+ *
77
+ * Throws if the model is not reachable.
78
+ */
79
+ async function validateModelName(inferenceRouter, provider, model) {
80
+ const sessionId = `model-validation:${createId()}`;
81
+ try {
82
+ await inferenceRouter.complete({
83
+ messages: [{ role: "user", content: "hi", timestamp: Date.now() }],
84
+ systemPrompt: "Reply with 'ok'."
85
+ }, sessionId, {
86
+ providersOverride: [{ ...provider, model }]
87
+ });
88
+ }
89
+ catch (error) {
90
+ const message = error instanceof Error ? error.message : String(error);
91
+ throw new Error(`Model validation failed for "${model}": ${message}`);
92
+ }
93
+ }
94
+ //# sourceMappingURL=agentModelSetToolBuild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentModelSetToolBuild.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/agentModelSetToolBuild.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agentModelSetToolBuild.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentModelSetToolBuild.spec.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/agentModelSetToolBuild.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { agentModelSetToolBuild } from "./agentModelSetToolBuild.js";
3
+ // Minimal mock router — tests only check tool structure and visibility
4
+ const mockRouter = {};
5
+ describe("agentModelSetToolBuild", () => {
6
+ const tool = agentModelSetToolBuild(mockRouter);
7
+ it("has the correct tool name", () => {
8
+ expect(tool.tool.name).toBe("set_agent_model");
9
+ });
10
+ it("is visible only to user (foreground) agents", () => {
11
+ expect(tool.visibleByDefault?.({
12
+ userId: "user-1",
13
+ agentId: "agent-1",
14
+ descriptor: { type: "user", connector: "telegram", userId: "user-1", channelId: "channel-1" }
15
+ })).toBe(true);
16
+ });
17
+ it("is not visible to subagent descriptors", () => {
18
+ expect(tool.visibleByDefault?.({
19
+ userId: "user-1",
20
+ agentId: "agent-1",
21
+ descriptor: { type: "subagent", id: "sub-1", parentAgentId: "parent-1", name: "sub" }
22
+ })).toBe(false);
23
+ });
24
+ it("is not visible to permanent agent descriptors", () => {
25
+ expect(tool.visibleByDefault?.({
26
+ userId: "user-1",
27
+ agentId: "agent-1",
28
+ descriptor: {
29
+ type: "permanent",
30
+ id: "perm-1",
31
+ name: "bot",
32
+ description: "test",
33
+ systemPrompt: "you are a bot"
34
+ }
35
+ })).toBe(false);
36
+ });
37
+ it("is not visible to cron descriptors", () => {
38
+ expect(tool.visibleByDefault?.({
39
+ userId: "user-1",
40
+ agentId: "agent-1",
41
+ descriptor: { type: "cron", id: "cron-1" }
42
+ })).toBe(false);
43
+ });
44
+ });
45
+ //# sourceMappingURL=agentModelSetToolBuild.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentModelSetToolBuild.spec.js","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/agentModelSetToolBuild.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,uEAAuE;AACvE,MAAM,UAAU,GAAG,EAAqB,CAAC;AAEzC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACpC,MAAM,IAAI,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAEhD,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,CACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE;SAChG,CAAC,CACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,CACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;SACxF,CAAC,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,CACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE;gBACR,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,MAAM;gBACnB,YAAY,EAAE,eAAe;aAChC;SACJ,CAAC,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE;SAC7C,CAAC,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { ToolExecutionResult } from "@/types";
2
2
  /**
3
3
  * Truncates long tool result text payloads and appends a notice.
4
- * Expects: content is a single text block or a string.
4
+ * Expects: content is a string or block array with optional text parts.
5
5
  */
6
6
  export declare function toolResultTruncate(result: ToolExecutionResult): ToolExecutionResult;
7
7
  //# sourceMappingURL=toolResultTruncate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolResultTruncate.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/toolResultTruncate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAKnD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CA2BnF"}
1
+ {"version":3,"file":"toolResultTruncate.d.ts","sourceRoot":"","sources":["../../../../sources/engine/modules/tools/toolResultTruncate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAKnD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAmDnF"}