@chozzz/vargos 2.0.14 → 2.2.0

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 (214) hide show
  1. package/README.md +1 -1
  2. package/dist/.templates/agents/subagent.md +36 -0
  3. package/dist/.templates/{vargos/workspace → workspace}/AGENTS.md +2 -18
  4. package/dist/boot.d.ts +2 -0
  5. package/dist/boot.d.ts.map +1 -0
  6. package/dist/boot.js +111 -0
  7. package/dist/boot.js.map +1 -0
  8. package/dist/cli/channels.d.ts +27 -0
  9. package/dist/cli/channels.d.ts.map +1 -0
  10. package/dist/cli/channels.js +116 -0
  11. package/dist/cli/channels.js.map +1 -0
  12. package/dist/cli/onboard.d.ts.map +1 -1
  13. package/dist/cli/onboard.js +181 -109
  14. package/dist/cli/onboard.js.map +1 -1
  15. package/dist/cli.js +92 -3
  16. package/dist/cli.js.map +1 -1
  17. package/dist/edge/webhooks/index.js +1 -1
  18. package/dist/edge/webhooks/index.js.map +1 -1
  19. package/dist/gateway/bus.d.ts +2 -0
  20. package/dist/gateway/bus.d.ts.map +1 -1
  21. package/dist/gateway/emitter.d.ts +10 -0
  22. package/dist/gateway/emitter.d.ts.map +1 -1
  23. package/dist/gateway/emitter.js +48 -3
  24. package/dist/gateway/emitter.js.map +1 -1
  25. package/dist/gateway/events.d.ts +26 -55
  26. package/dist/gateway/events.d.ts.map +1 -1
  27. package/dist/gateway/tcp-server.js +3 -0
  28. package/dist/gateway/tcp-server.js.map +1 -1
  29. package/dist/index.js +44 -69
  30. package/dist/index.js.map +1 -1
  31. package/dist/lib/{glob.d.ts → glob-match.d.ts} +1 -1
  32. package/dist/lib/glob-match.d.ts.map +1 -0
  33. package/dist/lib/{glob.js → glob-match.js} +1 -1
  34. package/dist/lib/glob-match.js.map +1 -0
  35. package/dist/lib/media.js +1 -1
  36. package/dist/lib/media.js.map +1 -1
  37. package/dist/lib/mime.d.ts +10 -3
  38. package/dist/lib/mime.d.ts.map +1 -1
  39. package/dist/lib/mime.js +48 -67
  40. package/dist/lib/mime.js.map +1 -1
  41. package/dist/lib/session-key.d.ts +21 -0
  42. package/dist/lib/session-key.d.ts.map +1 -0
  43. package/dist/lib/session-key.js +44 -0
  44. package/dist/lib/session-key.js.map +1 -0
  45. package/dist/lib/templates.d.ts +2 -2
  46. package/dist/lib/templates.d.ts.map +1 -1
  47. package/dist/lib/templates.js +7 -14
  48. package/dist/lib/templates.js.map +1 -1
  49. package/dist/scripts/migrate-templates.d.ts +14 -0
  50. package/dist/scripts/migrate-templates.d.ts.map +1 -0
  51. package/dist/scripts/migrate-templates.js +98 -0
  52. package/dist/scripts/migrate-templates.js.map +1 -0
  53. package/dist/{lib → services/agent}/error-store.d.ts +1 -1
  54. package/dist/services/agent/error-store.d.ts.map +1 -0
  55. package/dist/{lib → services/agent}/error-store.js +2 -2
  56. package/dist/services/agent/error-store.js.map +1 -0
  57. package/dist/services/agent/index.d.ts +19 -20
  58. package/dist/services/agent/index.d.ts.map +1 -1
  59. package/dist/services/agent/index.js +70 -93
  60. package/dist/services/agent/index.js.map +1 -1
  61. package/dist/services/agent/persona.d.ts +6 -0
  62. package/dist/services/agent/persona.d.ts.map +1 -1
  63. package/dist/services/agent/persona.js +19 -0
  64. package/dist/services/agent/persona.js.map +1 -1
  65. package/dist/services/agent/prompt-interpolate.d.ts +3 -3
  66. package/dist/services/agent/prompt-interpolate.js +10 -15
  67. package/dist/services/agent/prompt-interpolate.js.map +1 -1
  68. package/dist/services/agent/skills.d.ts.map +1 -0
  69. package/dist/services/agent/skills.js.map +1 -0
  70. package/dist/services/agent/tools.d.ts +11 -4
  71. package/dist/services/agent/tools.d.ts.map +1 -1
  72. package/dist/services/agent/tools.js +30 -8
  73. package/dist/services/agent/tools.js.map +1 -1
  74. package/dist/services/agent/{schema.d.ts → types.d.ts} +1 -1
  75. package/dist/services/agent/types.d.ts.map +1 -0
  76. package/dist/services/agent/{schema.js → types.js} +1 -1
  77. package/dist/services/agent/types.js.map +1 -0
  78. package/dist/services/channels/base-adapter.d.ts +22 -7
  79. package/dist/services/channels/base-adapter.d.ts.map +1 -1
  80. package/dist/services/channels/base-adapter.js +56 -73
  81. package/dist/services/channels/base-adapter.js.map +1 -1
  82. package/dist/services/channels/debounce.d.ts +1 -1
  83. package/dist/services/channels/debounce.d.ts.map +1 -1
  84. package/dist/services/channels/index.d.ts +1 -1
  85. package/dist/services/channels/index.d.ts.map +1 -1
  86. package/dist/services/channels/index.js +64 -25
  87. package/dist/services/channels/index.js.map +1 -1
  88. package/dist/services/channels/{media-extract.d.ts → media-paths.d.ts} +1 -1
  89. package/dist/services/channels/media-paths.d.ts.map +1 -0
  90. package/dist/services/channels/{media-extract.js → media-paths.js} +2 -2
  91. package/dist/services/channels/media-paths.js.map +1 -0
  92. package/dist/services/channels/pipeline.d.ts +2 -7
  93. package/dist/services/channels/pipeline.d.ts.map +1 -1
  94. package/dist/services/channels/pipeline.js +29 -48
  95. package/dist/services/channels/pipeline.js.map +1 -1
  96. package/dist/services/channels/provider-loader.d.ts +1 -1
  97. package/dist/services/channels/provider-loader.d.ts.map +1 -1
  98. package/dist/services/channels/providers/telegram/adapter.d.ts +5 -5
  99. package/dist/services/channels/providers/telegram/adapter.d.ts.map +1 -1
  100. package/dist/services/channels/providers/telegram/adapter.js +4 -6
  101. package/dist/services/channels/providers/telegram/adapter.js.map +1 -1
  102. package/dist/services/channels/providers/telegram/index.d.ts +1 -1
  103. package/dist/services/channels/providers/telegram/index.d.ts.map +1 -1
  104. package/dist/services/channels/providers/telegram/index.js +1 -1
  105. package/dist/services/channels/providers/telegram/index.js.map +1 -1
  106. package/dist/services/channels/providers/telegram/normalizer.d.ts +1 -1
  107. package/dist/services/channels/providers/telegram/normalizer.d.ts.map +1 -1
  108. package/dist/services/channels/providers/telegram/normalizer.js +9 -5
  109. package/dist/services/channels/providers/telegram/normalizer.js.map +1 -1
  110. package/dist/services/channels/providers/whatsapp/adapter.d.ts +6 -9
  111. package/dist/services/channels/providers/whatsapp/adapter.d.ts.map +1 -1
  112. package/dist/services/channels/providers/whatsapp/adapter.js +43 -59
  113. package/dist/services/channels/providers/whatsapp/adapter.js.map +1 -1
  114. package/dist/services/channels/providers/whatsapp/index.d.ts +1 -1
  115. package/dist/services/channels/providers/whatsapp/index.d.ts.map +1 -1
  116. package/dist/services/channels/providers/whatsapp/index.js +1 -1
  117. package/dist/services/channels/providers/whatsapp/index.js.map +1 -1
  118. package/dist/services/channels/providers/whatsapp/normalizer.d.ts +2 -1
  119. package/dist/services/channels/providers/whatsapp/normalizer.d.ts.map +1 -1
  120. package/dist/services/channels/providers/whatsapp/normalizer.js +17 -12
  121. package/dist/services/channels/providers/whatsapp/normalizer.js.map +1 -1
  122. package/dist/services/channels/providers/whatsapp/session.d.ts.map +1 -1
  123. package/dist/services/channels/providers/whatsapp/session.js +15 -7
  124. package/dist/services/channels/providers/whatsapp/session.js.map +1 -1
  125. package/dist/services/channels/providers/whatsapp/types.d.ts +1 -0
  126. package/dist/services/channels/providers/whatsapp/types.d.ts.map +1 -1
  127. package/dist/services/channels/types.d.ts +68 -3
  128. package/dist/services/channels/types.d.ts.map +1 -1
  129. package/dist/services/channels/types.js +4 -0
  130. package/dist/services/channels/types.js.map +1 -1
  131. package/dist/services/config/index.d.ts +3 -3
  132. package/dist/services/config/schemas/auth.d.ts +2 -2
  133. package/dist/services/config/schemas/channels.d.ts +2 -0
  134. package/dist/services/config/schemas/channels.d.ts.map +1 -1
  135. package/dist/services/config/schemas/channels.js +2 -0
  136. package/dist/services/config/schemas/channels.js.map +1 -1
  137. package/dist/services/config/schemas/index.d.ts +3 -3
  138. package/dist/services/config/schemas/index.d.ts.map +1 -1
  139. package/dist/services/config/schemas/index.js +2 -2
  140. package/dist/services/config/schemas/index.js.map +1 -1
  141. package/dist/services/config/schemas/primitives.d.ts +0 -2
  142. package/dist/services/config/schemas/primitives.d.ts.map +1 -1
  143. package/dist/services/config/schemas/primitives.js +0 -1
  144. package/dist/services/config/schemas/primitives.js.map +1 -1
  145. package/dist/services/cron/heartbeat.d.ts.map +1 -0
  146. package/dist/services/cron/heartbeat.js.map +1 -0
  147. package/dist/services/cron/index.d.ts.map +1 -1
  148. package/dist/services/cron/index.js +10 -5
  149. package/dist/services/cron/index.js.map +1 -1
  150. package/dist/services/media/index.d.ts +1 -0
  151. package/dist/services/media/index.d.ts.map +1 -1
  152. package/dist/services/media/index.js +61 -5
  153. package/dist/services/media/index.js.map +1 -1
  154. package/dist/services/media/providers/anthropic.js +1 -1
  155. package/dist/services/media/providers/anthropic.js.map +1 -1
  156. package/dist/services/media/{extract-document.d.ts → providers/document.d.ts} +1 -1
  157. package/dist/services/media/providers/document.d.ts.map +1 -0
  158. package/dist/services/media/{extract-document.js → providers/document.js} +4 -4
  159. package/dist/services/media/providers/document.js.map +1 -0
  160. package/dist/services/media/providers/openai.d.ts.map +1 -1
  161. package/dist/services/media/providers/openai.js +5 -1
  162. package/dist/services/media/providers/openai.js.map +1 -1
  163. package/package.json +16 -16
  164. package/dist/lib/async-handlers.d.ts +0 -13
  165. package/dist/lib/async-handlers.d.ts.map +0 -1
  166. package/dist/lib/async-handlers.js +0 -6
  167. package/dist/lib/async-handlers.js.map +0 -1
  168. package/dist/lib/error-store.d.ts.map +0 -1
  169. package/dist/lib/error-store.js.map +0 -1
  170. package/dist/lib/glob.d.ts.map +0 -1
  171. package/dist/lib/glob.js.map +0 -1
  172. package/dist/lib/heartbeat.d.ts.map +0 -1
  173. package/dist/lib/heartbeat.js.map +0 -1
  174. package/dist/lib/media-transcribe.d.ts +0 -57
  175. package/dist/lib/media-transcribe.d.ts.map +0 -1
  176. package/dist/lib/media-transcribe.js +0 -98
  177. package/dist/lib/media-transcribe.js.map +0 -1
  178. package/dist/lib/safe-async.d.ts +0 -27
  179. package/dist/lib/safe-async.d.ts.map +0 -1
  180. package/dist/lib/safe-async.js +0 -38
  181. package/dist/lib/safe-async.js.map +0 -1
  182. package/dist/lib/skills.d.ts.map +0 -1
  183. package/dist/lib/skills.js.map +0 -1
  184. package/dist/lib/subagent.d.ts +0 -14
  185. package/dist/lib/subagent.d.ts.map +0 -1
  186. package/dist/lib/subagent.js +0 -25
  187. package/dist/lib/subagent.js.map +0 -1
  188. package/dist/services/agent/schema.d.ts.map +0 -1
  189. package/dist/services/agent/schema.js.map +0 -1
  190. package/dist/services/channels/contracts.d.ts +0 -75
  191. package/dist/services/channels/contracts.d.ts.map +0 -1
  192. package/dist/services/channels/contracts.js +0 -6
  193. package/dist/services/channels/contracts.js.map +0 -1
  194. package/dist/services/channels/media-extract.d.ts.map +0 -1
  195. package/dist/services/channels/media-extract.js.map +0 -1
  196. package/dist/services/media/extract-document.d.ts.map +0 -1
  197. package/dist/services/media/extract-document.js.map +0 -1
  198. /package/dist/.templates/{vargos/agent → agent}/extensions/.gitkeep +0 -0
  199. /package/dist/.templates/{vargos/agent → agent}/mcp.json +0 -0
  200. /package/dist/.templates/{vargos/agent → agent}/skills/skill-creator/SKILL.md +0 -0
  201. /package/dist/.templates/{vargos/agent → agent}/skills/token-capture/SKILL.md +0 -0
  202. /package/dist/.templates/{vargos/agent → agent}/skills/token-capture/scripts/capture-bearer-token.sh +0 -0
  203. /package/dist/.templates/{vargos/agents → agents}/README +0 -0
  204. /package/dist/.templates/{vargos/agents → agents}/default.md +0 -0
  205. /package/dist/.templates/{vargos/config.json → config.json} +0 -0
  206. /package/dist/.templates/{vargos/cron → cron}/heartbeat.md +0 -0
  207. /package/dist/.templates/{vargos/workspace → workspace}/HEARTBEAT.md +0 -0
  208. /package/dist/.templates/{vargos/workspace → workspace}/MEMORY.md +0 -0
  209. /package/dist/.templates/{vargos/workspace → workspace}/SOUL.md +0 -0
  210. /package/dist/.templates/{vargos/workspace → workspace}/TOOLS.md +0 -0
  211. /package/dist/{lib → services/agent}/skills.d.ts +0 -0
  212. /package/dist/{lib → services/agent}/skills.js +0 -0
  213. /package/dist/{lib → services/cron}/heartbeat.d.ts +0 -0
  214. /package/dist/{lib → services/cron}/heartbeat.js +0 -0
@@ -51,13 +51,13 @@ import { interpolatePrompt } from './prompt-interpolate.js';
51
51
  import { truncate } from '../../lib/truncate.js';
52
52
  import { existsSync, promises as fs } from 'node:fs';
53
53
  import { getDataPaths } from '../../lib/paths.js';
54
- import { parseSessionKey } from '../../lib/subagent.js';
54
+ import { parseSessionKey, isSubagentSession } from '../../lib/session-key.js';
55
55
  // Pi SDK imports
56
56
  import { createAgentSession, SessionManager, SettingsManager, AuthStorage, ModelRegistry, DefaultResourceLoader, } from '@mariozechner/pi-coding-agent';
57
57
  import { createCustomTools } from './tools.js';
58
- import { loadChannelPersona } from './persona.js';
59
- import { resolveSkillPaths } from '../../lib/skills.js';
60
- import { matchesGlob } from '../../lib/glob.js';
58
+ import { loadChannelPersona, loadSubagentPersona } from './persona.js';
59
+ import { resolveSkillPaths } from './skills.js';
60
+ import { matchesGlob } from '../../lib/glob-match.js';
61
61
  const log = createLogger('agent');
62
62
  // Hardcoded agent execution constants
63
63
  const EXECUTION_TIMEOUT_MS = 30 * 60 * 1000; // 30 minutes
@@ -69,7 +69,7 @@ let AgentService = (() => {
69
69
  let _status_decorators;
70
70
  return class AgentService {
71
71
  static {
72
- const _metadata_1 = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
72
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
73
73
  _execute_decorators = [register('agent.execute', {
74
74
  description: 'Executes a task with the agent, optionally delegating to a subagent.',
75
75
  schema: z.object({
@@ -78,25 +78,19 @@ let AgentService = (() => {
78
78
  * @see wrapEventAsToolDefinition in tools.ts for how `sessionKey` is injected when called as a tool.
79
79
  */
80
80
  task: z.string().describe('The task to execute.'),
81
- metadata: z.object({
82
- cwd: z.string().optional().describe('The current working directory to use for the agent.'),
83
- model: z.string().optional().describe('Model override in format provider:modelId.'),
84
- /**
85
- * Not all metadata fields need to be registered into MCP schemas, since they're primarily for internal use.
86
- * If one needs to see what else is in metadata, @see AgentExecuteParams in schema.ts and the debug metadata.json file stored in session's debug directory.
87
- */
88
- }).optional().describe('Optional metadata for the execution context.'),
89
- }).passthrough(),
81
+ cwd: z.string().optional().describe('Working directory for the agent — defaults to workspace dir.'),
82
+ model: z.string().optional().describe('Model override in format provider:modelId (e.g., "claude-opus-4").'),
83
+ }),
90
84
  })];
91
85
  _appendMessage_decorators = [register('agent.appendMessage')];
92
86
  _status_decorators = [register('agent.status', {
93
87
  description: 'Return currently active agent session keys.',
94
88
  schema: z.object({ sessionKey: z.string().optional() }),
95
89
  })];
96
- __esDecorate(this, null, _execute_decorators, { kind: "method", name: "execute", static: false, private: false, access: { has: obj => "execute" in obj, get: obj => obj.execute }, metadata: _metadata_1 }, null, _instanceExtraInitializers);
97
- __esDecorate(this, null, _appendMessage_decorators, { kind: "method", name: "appendMessage", static: false, private: false, access: { has: obj => "appendMessage" in obj, get: obj => obj.appendMessage }, metadata: _metadata_1 }, null, _instanceExtraInitializers);
98
- __esDecorate(this, null, _status_decorators, { kind: "method", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status }, metadata: _metadata_1 }, null, _instanceExtraInitializers);
99
- if (_metadata_1) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata_1 });
90
+ __esDecorate(this, null, _execute_decorators, { kind: "method", name: "execute", static: false, private: false, access: { has: obj => "execute" in obj, get: obj => obj.execute }, metadata: _metadata }, null, _instanceExtraInitializers);
91
+ __esDecorate(this, null, _appendMessage_decorators, { kind: "method", name: "appendMessage", static: false, private: false, access: { has: obj => "appendMessage" in obj, get: obj => obj.appendMessage }, metadata: _metadata }, null, _instanceExtraInitializers);
92
+ __esDecorate(this, null, _status_decorators, { kind: "method", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status }, metadata: _metadata }, null, _instanceExtraInitializers);
93
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
100
94
  }
101
95
  bus = __runInitializers(this, _instanceExtraInitializers);
102
96
  config;
@@ -172,55 +166,46 @@ let AgentService = (() => {
172
166
  * Note: sessionKey is declared optional here because it's auto-injected by
173
167
  * wrapEventAsToolDefinition() when the agent calls this as a tool. Direct callers
174
168
  * (channels, cron, webhooks, TCP) still provide sessionKey via EventMap.
175
- *
176
- * Schema for bus event is different than runtime types AgentExecuteParams.
177
- * e.g. metadata is not injected here on purpose.
178
169
  */
179
170
  async execute(params) {
180
171
  if (!params.sessionKey) {
181
172
  throw new Error('sessionKey is required for agent.execute');
182
173
  }
183
- log.info(`execute: START ${params.sessionKey}`);
184
- const metadata = params.metadata ?? {};
185
- // Validate model override if provided
186
- if (metadata?.model) {
187
- log.debug(`Validating metadata model: ${metadata.model}`);
188
- this.validateModel(metadata.model);
174
+ log.debug(`execute: START ${params.sessionKey}`);
175
+ if (params.model) {
176
+ this.validateModel(params.model);
189
177
  }
190
178
  const directives = parseDirectives(params.task);
191
179
  const task = interpolatePrompt(directives.cleaned || params.task);
192
- const session = await this.getOrCreateSession(params.sessionKey, params.metadata);
193
- // Set thinking level from task directives if present
180
+ const session = await this.getOrCreateSession(params.sessionKey, { cwd: params.cwd, model: params.model });
194
181
  if (directives.thinkingLevel) {
195
182
  session.setThinkingLevel(directives.thinkingLevel);
196
183
  }
197
- // Log model being used by session
198
- log.info(`Using model: ${session.model?.provider}:${session.model?.id} (${session.model?.name})`);
199
184
  this.activeRuns.add(params.sessionKey);
200
185
  const startTime = Date.now();
186
+ const modelTag = `${session.model?.provider}:${session.model?.id}`;
201
187
  try {
202
- log.debug(`execute: calling session.prompt() for ${params.sessionKey}`);
203
188
  await withTimeout(session.prompt(task, { streamingBehavior: 'steer' }), EXECUTION_TIMEOUT_MS, `Agent execution timeout after ${EXECUTION_TIMEOUT_MS}ms`);
204
- log.debug(`execute: session.prompt() completed in ${Date.now() - startTime}ms`);
205
189
  }
206
190
  finally {
207
191
  this.activeRuns.delete(params.sessionKey);
208
192
  }
209
193
  const { content, error } = this.extractFinalAssistant(session);
210
194
  if (error) {
211
- log.error(`execute: ${params.sessionKey} ended with error: ${error}`);
195
+ log.error(`execute: ${params.sessionKey} ended with error [model=${modelTag}]: ${error}`);
212
196
  throw new Error(error);
213
197
  }
214
- log.info(`execute: END ${params.sessionKey} (${content.length} chars, ${Date.now() - startTime}ms)`);
198
+ const elapsed = Date.now() - startTime;
199
+ log.info(`${params.sessionKey} → ${content.length} chars in ${elapsed}ms (${modelTag})`);
215
200
  return { response: content };
216
201
  }
217
202
  /**
218
203
  * agent.appendMessage — Append message to session JSONL without executing agent.
219
- * Used for non-whitelisted messages (skipAgent=true) to record in history silently.
204
+ * Records inbound messages in session history (observe-only for non-whitelisted).
220
205
  * Internal only — not exposed as an agent tool.
221
206
  */
222
207
  async appendMessage(params) {
223
- const session = await this.getOrCreateSession(params.sessionKey, params.metadata);
208
+ const session = await this.getOrCreateSession(params.sessionKey);
224
209
  const sessionFile = session.sessionManager.getSessionFile();
225
210
  if (!sessionFile) {
226
211
  log.debug(`No session file for ${params.sessionKey}, skipping append`);
@@ -242,23 +227,27 @@ let AgentService = (() => {
242
227
  }
243
228
  /**
244
229
  * Get or create AgentSession for sessionKey.
230
+ * Uses SessionManager.continueRecent() to load the latest session file,
231
+ * preserving conversation history across restarts.
245
232
  */
246
- async getOrCreateSession(sessionKey, metadata) {
233
+ async getOrCreateSession(sessionKey, options) {
247
234
  const cached = this.sessions.get(sessionKey);
248
235
  if (cached) {
249
236
  return cached;
250
237
  }
251
238
  const paths = getDataPaths();
252
- const effectiveCwd = metadata?.cwd ?? paths.dataDir;
239
+ const effectiveCwd = options?.cwd ?? paths.dataDir;
253
240
  const sessionDir = path.join(paths.sessionsDir, sessionKey.replace(/:/g, path.sep));
241
+ // Use continueRecent to find and load the latest session file (preserves history).
242
+ // Falls back to create() if no existing session file is found.
254
243
  const sessionManager = SessionManager.create(effectiveCwd, sessionDir);
255
244
  await fs.mkdir(sessionDir, { recursive: true });
256
245
  await fs.mkdir(this.agentDir, { recursive: true });
257
246
  const persona = await this.loadPersonaIfChannel(sessionKey);
258
247
  const customTools = await this.getCustomTools(sessionKey, persona?.meta.allowedTools);
259
- const rawSystemPrompt = await this.getSystemPrompt(sessionKey, metadata, persona?.body);
248
+ const rawSystemPrompt = await this.getSystemPrompt(sessionKey, persona?.body);
260
249
  const resourceLoader = await this.createResourceLoader(rawSystemPrompt, effectiveCwd);
261
- log.debug(`Creating agent session for ${sessionKey} in ${effectiveCwd}. (with ${customTools.length} tools and ${rawSystemPrompt?.length} chars system prompt).`);
250
+ log.debug(`session: ${sessionKey} created (${customTools.length} tools, ${rawSystemPrompt?.length ?? 0} chars prompt)`);
262
251
  const { session } = await createAgentSession({
263
252
  cwd: effectiveCwd,
264
253
  agentDir: this.agentDir,
@@ -269,18 +258,13 @@ let AgentService = (() => {
269
258
  customTools,
270
259
  resourceLoader,
271
260
  });
272
- // Store system prompt in session directory
273
261
  if (process.env.LOG_LEVEL === 'debug') {
274
- // Create a new debug directory under the session directory to avoid cluttering the main session files
275
262
  const debugDir = path.join(sessionDir, '.debug');
276
263
  if (!existsSync(debugDir)) {
277
264
  await fs.mkdir(debugDir, { recursive: true });
278
265
  }
279
266
  log.debug(`Storing debug files in session's debug directory: ${debugDir}`);
280
- await Promise.all([
281
- fs.writeFile(path.join(debugDir, `systemPrompt.md`), session.systemPrompt ?? '', 'utf-8'),
282
- fs.writeFile(path.join(debugDir, `metadata.json`), JSON.stringify(metadata ?? {}, null, 2), 'utf-8'),
283
- ]);
267
+ await fs.writeFile(path.join(debugDir, `systemPrompt.md`), session.systemPrompt ?? '', 'utf-8');
284
268
  }
285
269
  this.subscribeToSessionEvents(session, sessionKey);
286
270
  this.sessions.set(sessionKey, session);
@@ -289,7 +273,7 @@ let AgentService = (() => {
289
273
  /**
290
274
  * Subscribe to PiAgent sessionsubscription - emit to bus for streaming + debug logging.
291
275
  */
292
- subscribeToSessionEvents(session, sessionKey, _metadata) {
276
+ subscribeToSessionEvents(session, sessionKey) {
293
277
  session.subscribe((event) => {
294
278
  const eventType = event.type;
295
279
  // log.debug(` --- :: Agent Lifecycle = ${eventType} --- :: ${sessionKey} --- :: `);
@@ -338,7 +322,9 @@ let AgentService = (() => {
338
322
  case 'agent_end': {
339
323
  const { content, error } = this.extractFinalAssistant(session);
340
324
  if (error) {
341
- log.error(`agent_end with error for ${sessionKey}: ${error}`);
325
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
326
+ const model = session.model ?? 'unknown';
327
+ log.error(`agent_end with error for ${sessionKey} [model=${model}]: ${error}`);
342
328
  this.bus.emit('agent.onCompleted', { sessionKey, success: false, error });
343
329
  }
344
330
  else {
@@ -377,11 +363,14 @@ let AgentService = (() => {
377
363
  return resourceLoader;
378
364
  }
379
365
  /**
380
- * Load persona for the given sessionKey if it maps to a configured channel. Subagent
381
- * sessionKeys naturally inherit because parseSessionKey strips the `:subagent:` suffix.
382
- * Cron / CLI / other types return null (no persona override applied).
366
+ * Load persona for the given sessionKey.
367
+ * - Subagent sessions: load `agents/subagent.md` (preamble + allowedTools whitelist).
368
+ * - Channel sessions: load `agents/<channelId>.md` (persona + tool filter).
369
+ * - Cron / CLI / other types: return null (no persona override applied).
383
370
  */
384
371
  async loadPersonaIfChannel(sessionKey) {
372
+ if (isSubagentSession(sessionKey))
373
+ return loadSubagentPersona();
385
374
  const { type } = parseSessionKey(sessionKey);
386
375
  const isChannel = this.config.channels.some(c => c.id === type);
387
376
  if (!isChannel)
@@ -389,13 +378,20 @@ let AgentService = (() => {
389
378
  return loadChannelPersona(type);
390
379
  }
391
380
  /**
392
- * Build system prompt by merging bootstrap files from workspace and optional cwd, then
393
- * appending the channel persona body if provided.
381
+ * Build system prompt.
382
+ * - Subagent sessions: return the persona body from `agents/subagent.md`.
383
+ * No bootstrap files (AGENTS.md, SOUL.md, TOOLS.md) are loaded — the parent's
384
+ * task description is the subagent's sole context.
385
+ * - Parent/other sessions: merge AGENTS.md + SOUL.md + TOOLS.md from workspace/cwd,
386
+ * then append channel persona body if provided.
394
387
  */
395
- async getSystemPrompt(sessionKey, metadata, personaBody) {
388
+ async getSystemPrompt(sessionKey, personaBody) {
389
+ if (isSubagentSession(sessionKey)) {
390
+ return personaBody?.trim() || undefined;
391
+ }
396
392
  const bootstrapFiles = ['AGENTS.md', 'SOUL.md', 'TOOLS.md'];
397
393
  const maxCharsPerFile = 6000;
398
- const dirs = this.collectBootstrapDirs(metadata);
394
+ const dirs = [getDataPaths().workspaceDir];
399
395
  const filePathsToLoad = [];
400
396
  for (const dir of dirs) {
401
397
  for (const filename of bootstrapFiles) {
@@ -422,6 +418,8 @@ let AgentService = (() => {
422
418
  if (result)
423
419
  sections.push(result.label, result.content, '');
424
420
  }
421
+ // Also log bootstrap files loaded
422
+ log.debug(`session: ${sessionKey} bootstrap ${sections.filter(s => s.startsWith('<!--')).length} files, ${sections.join('\n').length} chars`);
425
423
  if (personaBody) {
426
424
  sections.push('<!-- channel persona -->', '<channel-persona>', personaBody.trim(), '</channel-persona>');
427
425
  }
@@ -430,8 +428,7 @@ let AgentService = (() => {
430
428
  return undefined;
431
429
  }
432
430
  const prompt = sections.join('\n');
433
- const context = this.buildPromptContext(sessionKey, metadata);
434
- return interpolatePrompt(prompt, context);
431
+ return interpolatePrompt(prompt, { SESSION_KEY: sessionKey });
435
432
  }
436
433
  /**
437
434
  * Load custom tools from bus callable events. When `allowedPatterns` is provided
@@ -442,7 +439,10 @@ let AgentService = (() => {
442
439
  const tools = await createCustomTools(sessionKey, this.bus);
443
440
  if (!allowedPatterns?.length)
444
441
  return tools;
445
- return tools.filter(t => allowedPatterns.some(p => matchesGlob(p, t.name)));
442
+ // Match on `label` (original event name with dots, e.g. "memory.search")
443
+ // rather than `name` (sanitized with dashes, e.g. "memory-search"),
444
+ // so that frontmatter patterns like "memory.*" work as expected.
445
+ return tools.filter(t => allowedPatterns.some(p => matchesGlob(p, t.label)));
446
446
  }
447
447
  /**
448
448
  * Validate model override if provided.
@@ -454,37 +454,6 @@ let AgentService = (() => {
454
454
  throw new Error(`Model not found: ${modelSpec}. Expected format: provider:modelId`);
455
455
  }
456
456
  }
457
- /**
458
- * Build context variables for prompt interpolation from sessionKey and metadata.
459
- */
460
- buildPromptContext(sessionKey, metadata) {
461
- const { type: channelId, id: chatId } = parseSessionKey(sessionKey);
462
- return {
463
- SESSION_KEY: sessionKey,
464
- CHANNEL_ID: channelId,
465
- CHAT_ID: chatId,
466
- ...(metadata?.channelType && { CHANNEL_TYPE: metadata.channelType }),
467
- ...(metadata?.fromUserId && { USER_ID: metadata.fromUserId }),
468
- ...(metadata?.fromUser && { USER_NAME: metadata.fromUser }),
469
- ...(metadata?.fromUserHandle && { USER_HANDLE: metadata.fromUserHandle }),
470
- ...(metadata?.botUserId && { BOT_ID: metadata.botUserId }),
471
- ...(metadata?.botName && { BOT_NAME: metadata.botName }),
472
- ...(metadata?.botHandle && { BOT_HANDLE: metadata.botHandle }),
473
- };
474
- }
475
- /**
476
- * Collect directory paths in order: workspace first, then cwd if different.
477
- */
478
- collectBootstrapDirs(metadata) {
479
- const paths = getDataPaths();
480
- const workspaceDir = paths.workspaceDir;
481
- const dirs = [workspaceDir];
482
- if (metadata?.cwd && path.resolve(metadata.cwd) !== path.resolve(workspaceDir)) {
483
- dirs.push(metadata.cwd);
484
- }
485
- // Filter dirs that do not exist
486
- return dirs.filter(dir => existsSync(dir));
487
- }
488
457
  // ── Private Helpers ────────────────────────────────────────────────────────
489
458
  /**
490
459
  * Extract the final assistant message: text content + error (when stopReason === 'error').
@@ -499,9 +468,17 @@ let AgentService = (() => {
499
468
  const msg = messages[i];
500
469
  if (msg?.role !== 'assistant')
501
470
  continue;
502
- const error = msg.stopReason === 'error'
503
- ? (msg.errorMessage ?? 'unknown inference error')
504
- : undefined;
471
+ let error;
472
+ if (msg.stopReason === 'error') {
473
+ error = msg.errorMessage ?? 'unknown inference error';
474
+ // Log full message details for debugging connection/auth issues
475
+ log.debug('agent error details:', {
476
+ stopReason: msg.stopReason,
477
+ errorMessage: msg.errorMessage,
478
+ model: session.model,
479
+ messageCount: messages.length,
480
+ });
481
+ }
505
482
  let content = '';
506
483
  if (typeof msg.content === 'string') {
507
484
  content = msg.content;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../services/agent/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../services/agent/index.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,10 @@ export interface Persona {
12
12
  * or has neither frontmatter nor body content.
13
13
  */
14
14
  export declare function loadChannelPersona(channelId: string): Promise<Persona | null>;
15
+ /**
16
+ * Load the subagent persona from `~/.vargos/agents/subagent.md`.
17
+ * Seeded from `.templates/agents/subagent.md` on startup (copy-missing).
18
+ * Returns null if the file is missing or empty.
19
+ */
20
+ export declare function loadSubagentPersona(): Promise<Persona | null>;
15
21
  //# sourceMappingURL=persona.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../../services/agent/persona.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAmCnF"}
1
+ {"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../../services/agent/persona.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAmCnF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAanE"}
@@ -37,6 +37,25 @@ export async function loadChannelPersona(channelId) {
37
37
  }
38
38
  return { meta: parsed.meta, body };
39
39
  }
40
+ /**
41
+ * Load the subagent persona from `~/.vargos/agents/subagent.md`.
42
+ * Seeded from `.templates/agents/subagent.md` on startup (copy-missing).
43
+ * Returns null if the file is missing or empty.
44
+ */
45
+ export async function loadSubagentPersona() {
46
+ const file = path.join(getDataPaths().dataDir, 'agents', 'subagent.md');
47
+ if (!existsSync(file)) {
48
+ log.warn('agents/subagent.md not found — subagent running without preamble or tool restrictions');
49
+ return null;
50
+ }
51
+ const content = await fs.readFile(file, 'utf-8');
52
+ if (!content.trim())
53
+ return null;
54
+ const parsed = parseFrontmatter(content);
55
+ if (!parsed)
56
+ return { meta: {}, body: content.trim() };
57
+ return { meta: parsed.meta, body: parsed.body.trim() };
58
+ }
40
59
  /**
41
60
  * Ensure a persona file exists for each channel id. Copies `default.md` to
42
61
  * `~/.vargos/agents/<id>.md` if missing. Idempotent — runs at every startup.
@@ -1 +1 @@
1
- {"version":3,"file":"persona.js","sourceRoot":"","sources":["../../../services/agent/persona.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persona.js","sourceRoot":"","sources":["../../../services/agent/persona.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,9 @@
10
10
  * - ${CHANNELS_DIR} → ~/.vargos/channels
11
11
  * - ${HOME} → user's home directory
12
12
  * - ${PWD} → current working directory
13
- * - ${SESSION_KEY}, ${CHANNEL_ID}, ${CHANNEL_TYPE}, ${CHAT_ID} → session identity
14
- * - ${USER_ID}, ${USER_NAME}, ${USER_HANDLE} message sender (from agent metadata)
15
- * - ${BOT_ID}, ${BOT_NAME}, ${BOT_HANDLE} bot identity (from agent metadata)
13
+ * - ${SESSION_KEY} → session identity
14
+ * - ${PROVIDER} → provider name (empty used in docs for ${PROVIDER}_API_KEY pattern)
15
+ * - ${VAR} → generic placeholder (empty used in docs for ${VAR:-default} pattern)
16
16
  *
17
17
  * Default values use bash-style syntax: ${VAR:-default}
18
18
  * - Used when VAR is missing OR an empty string.
@@ -10,9 +10,9 @@
10
10
  * - ${CHANNELS_DIR} → ~/.vargos/channels
11
11
  * - ${HOME} → user's home directory
12
12
  * - ${PWD} → current working directory
13
- * - ${SESSION_KEY}, ${CHANNEL_ID}, ${CHANNEL_TYPE}, ${CHAT_ID} → session identity
14
- * - ${USER_ID}, ${USER_NAME}, ${USER_HANDLE} message sender (from agent metadata)
15
- * - ${BOT_ID}, ${BOT_NAME}, ${BOT_HANDLE} bot identity (from agent metadata)
13
+ * - ${SESSION_KEY} → session identity
14
+ * - ${PROVIDER} → provider name (empty used in docs for ${PROVIDER}_API_KEY pattern)
15
+ * - ${VAR} → generic placeholder (empty used in docs for ${VAR:-default} pattern)
16
16
  *
17
17
  * Default values use bash-style syntax: ${VAR:-default}
18
18
  * - Used when VAR is missing OR an empty string.
@@ -68,18 +68,13 @@ function interpolatePromptWithMissing(prompt, context) {
68
68
  timeZoneName: 'short',
69
69
  }),
70
70
  CURRENT_TIMEZONE: currentTimezone,
71
- // Channel context variables — fall back to 'unknown' when not provided.
72
- // Handles default to '' so templates can override with ${VAR:-fallback}.
73
- CHANNEL_TYPE: context?.CHANNEL_TYPE || 'unknown',
74
- CHANNEL_ID: context?.CHANNEL_ID || 'unknown',
75
- CHAT_ID: context?.CHAT_ID || 'unknown',
76
- USER_ID: context?.USER_ID || 'unknown',
77
- USER_NAME: context?.USER_NAME || 'unknown',
78
- USER_HANDLE: context?.USER_HANDLE || '',
79
- BOT_ID: context?.BOT_ID || 'unknown',
80
- BOT_NAME: context?.BOT_NAME || 'unknown',
81
- BOT_HANDLE: context?.BOT_HANDLE || '',
82
- // Just in case context is provided, but not all variables are present.
71
+ // Session identity.
72
+ SESSION_KEY: context?.SESSION_KEY || 'unknown',
73
+ // Known documentation variables — referenced in bootstrap docs but not runtime values.
74
+ // These prevent spurious "Missing interpolation keys" warnings.
75
+ PROVIDER: '',
76
+ VAR: '',
77
+ // Merge any additional context variables (e.g., custom vars from tests or callers).
83
78
  ...context,
84
79
  };
85
80
  const missing = [];
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-interpolate.js","sourceRoot":"","sources":["../../../services/agent/prompt-interpolate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-interpolate.js","sourceRoot":"","sources":["../../../services/agent/prompt-interpolate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAOxC,MAAM,OAAO,GAAG,iCAAiC,CAAC;AAElD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAgC;IAChF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,4BAA4B,CAAC,MAAc,EAAE,OAAgC;IACpF,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAEzE,MAAM,SAAS,GAA2B;QACxC,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,aAAa,EAAE,KAAK,CAAC,YAAY;QACjC,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE;YACjD,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS;YAC9C,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;YACrD,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,OAAO;SACtB,CAAC;QACF,gBAAgB,EAAE,eAAe;QAEjC,oBAAoB;QACpB,WAAW,EAAI,OAAO,EAAE,WAAW,IAAM,SAAS;QAElD,uFAAuF;QACvF,gEAAgE;QAChE,QAAQ,EAAE,EAAE;QACZ,GAAG,EAAE,EAAE;QAEP,oFAAoF;QACpF,GAAG,OAAO;KACX,CAAC;IAEF,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAW,EAAE,YAAqB,EAAE,EAAE;QAClF,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../services/agent/skills.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAI9D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../services/agent/skills.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAG,KAAe;IAClD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC"}
@@ -5,10 +5,13 @@
5
5
  *
6
6
  * Session key injection:
7
7
  * - Every tool closes over the parent sessionKey from getCustomTools().
8
- * - For agent.execute specifically, sessionKey is injected as ':subagent' suffix
9
- * so the agent doesn't need to (and can't) provide its own session key.
10
- * - Other tools inherit the parent sessionKey for context-aware operations
11
- * (e.g. channel.send delivers to the right recipient).
8
+ * - For agent.execute specifically, a unique `:subagent:<id>` suffix is generated
9
+ * so each delegation gets its own isolated session (supports parallel subagents).
10
+ * - Other tools inherit the parent sessionKey for context-aware operations.
11
+ *
12
+ * Subagent tool filtering:
13
+ * - Controlled by the `allowedTools` glob whitelist in `agents/subagent.md` frontmatter.
14
+ * - Applied by `AgentService.getCustomTools()` via `matchesGlob` — not enforced here.
12
15
  *
13
16
  * Schema vs EventMap gap:
14
17
  * - The agent.execute schema omits sessionKey (it's injected here before bus.call).
@@ -21,6 +24,10 @@ import type { ToolDefinition } from '@mariozechner/pi-coding-agent';
21
24
  import type { Bus } from '../../gateway/bus.js';
22
25
  /**
23
26
  * Create PiAgent custom tools from bus callable events.
27
+ *
28
+ * Subagent tool filtering (agent.execute, channel.send, etc.) is handled by the
29
+ * `allowedTools` glob whitelist in `agents/subagent.md` frontmatter, applied
30
+ * by `AgentService.getCustomTools()` via `matchesGlob`.
24
31
  */
25
32
  export declare function createCustomTools(sessionKey: string, bus: Bus): Promise<ToolDefinition[]>;
26
33
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../services/agent/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAgFhD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAK/F"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../services/agent/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AA+FhD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAO/F"}