@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.
- package/README.md +1 -1
- package/dist/.templates/agents/subagent.md +36 -0
- package/dist/.templates/{vargos/workspace → workspace}/AGENTS.md +2 -18
- package/dist/boot.d.ts +2 -0
- package/dist/boot.d.ts.map +1 -0
- package/dist/boot.js +111 -0
- package/dist/boot.js.map +1 -0
- package/dist/cli/channels.d.ts +27 -0
- package/dist/cli/channels.d.ts.map +1 -0
- package/dist/cli/channels.js +116 -0
- package/dist/cli/channels.js.map +1 -0
- package/dist/cli/onboard.d.ts.map +1 -1
- package/dist/cli/onboard.js +181 -109
- package/dist/cli/onboard.js.map +1 -1
- package/dist/cli.js +92 -3
- package/dist/cli.js.map +1 -1
- package/dist/edge/webhooks/index.js +1 -1
- package/dist/edge/webhooks/index.js.map +1 -1
- package/dist/gateway/bus.d.ts +2 -0
- package/dist/gateway/bus.d.ts.map +1 -1
- package/dist/gateway/emitter.d.ts +10 -0
- package/dist/gateway/emitter.d.ts.map +1 -1
- package/dist/gateway/emitter.js +48 -3
- package/dist/gateway/emitter.js.map +1 -1
- package/dist/gateway/events.d.ts +26 -55
- package/dist/gateway/events.d.ts.map +1 -1
- package/dist/gateway/tcp-server.js +3 -0
- package/dist/gateway/tcp-server.js.map +1 -1
- package/dist/index.js +44 -69
- package/dist/index.js.map +1 -1
- package/dist/lib/{glob.d.ts → glob-match.d.ts} +1 -1
- package/dist/lib/glob-match.d.ts.map +1 -0
- package/dist/lib/{glob.js → glob-match.js} +1 -1
- package/dist/lib/glob-match.js.map +1 -0
- package/dist/lib/media.js +1 -1
- package/dist/lib/media.js.map +1 -1
- package/dist/lib/mime.d.ts +10 -3
- package/dist/lib/mime.d.ts.map +1 -1
- package/dist/lib/mime.js +48 -67
- package/dist/lib/mime.js.map +1 -1
- package/dist/lib/session-key.d.ts +21 -0
- package/dist/lib/session-key.d.ts.map +1 -0
- package/dist/lib/session-key.js +44 -0
- package/dist/lib/session-key.js.map +1 -0
- package/dist/lib/templates.d.ts +2 -2
- package/dist/lib/templates.d.ts.map +1 -1
- package/dist/lib/templates.js +7 -14
- package/dist/lib/templates.js.map +1 -1
- package/dist/scripts/migrate-templates.d.ts +14 -0
- package/dist/scripts/migrate-templates.d.ts.map +1 -0
- package/dist/scripts/migrate-templates.js +98 -0
- package/dist/scripts/migrate-templates.js.map +1 -0
- package/dist/{lib → services/agent}/error-store.d.ts +1 -1
- package/dist/services/agent/error-store.d.ts.map +1 -0
- package/dist/{lib → services/agent}/error-store.js +2 -2
- package/dist/services/agent/error-store.js.map +1 -0
- package/dist/services/agent/index.d.ts +19 -20
- package/dist/services/agent/index.d.ts.map +1 -1
- package/dist/services/agent/index.js +70 -93
- package/dist/services/agent/index.js.map +1 -1
- package/dist/services/agent/persona.d.ts +6 -0
- package/dist/services/agent/persona.d.ts.map +1 -1
- package/dist/services/agent/persona.js +19 -0
- package/dist/services/agent/persona.js.map +1 -1
- package/dist/services/agent/prompt-interpolate.d.ts +3 -3
- package/dist/services/agent/prompt-interpolate.js +10 -15
- package/dist/services/agent/prompt-interpolate.js.map +1 -1
- package/dist/services/agent/skills.d.ts.map +1 -0
- package/dist/services/agent/skills.js.map +1 -0
- package/dist/services/agent/tools.d.ts +11 -4
- package/dist/services/agent/tools.d.ts.map +1 -1
- package/dist/services/agent/tools.js +30 -8
- package/dist/services/agent/tools.js.map +1 -1
- package/dist/services/agent/{schema.d.ts → types.d.ts} +1 -1
- package/dist/services/agent/types.d.ts.map +1 -0
- package/dist/services/agent/{schema.js → types.js} +1 -1
- package/dist/services/agent/types.js.map +1 -0
- package/dist/services/channels/base-adapter.d.ts +22 -7
- package/dist/services/channels/base-adapter.d.ts.map +1 -1
- package/dist/services/channels/base-adapter.js +56 -73
- package/dist/services/channels/base-adapter.js.map +1 -1
- package/dist/services/channels/debounce.d.ts +1 -1
- package/dist/services/channels/debounce.d.ts.map +1 -1
- package/dist/services/channels/index.d.ts +1 -1
- package/dist/services/channels/index.d.ts.map +1 -1
- package/dist/services/channels/index.js +64 -25
- package/dist/services/channels/index.js.map +1 -1
- package/dist/services/channels/{media-extract.d.ts → media-paths.d.ts} +1 -1
- package/dist/services/channels/media-paths.d.ts.map +1 -0
- package/dist/services/channels/{media-extract.js → media-paths.js} +2 -2
- package/dist/services/channels/media-paths.js.map +1 -0
- package/dist/services/channels/pipeline.d.ts +2 -7
- package/dist/services/channels/pipeline.d.ts.map +1 -1
- package/dist/services/channels/pipeline.js +29 -48
- package/dist/services/channels/pipeline.js.map +1 -1
- package/dist/services/channels/provider-loader.d.ts +1 -1
- package/dist/services/channels/provider-loader.d.ts.map +1 -1
- package/dist/services/channels/providers/telegram/adapter.d.ts +5 -5
- package/dist/services/channels/providers/telegram/adapter.d.ts.map +1 -1
- package/dist/services/channels/providers/telegram/adapter.js +4 -6
- package/dist/services/channels/providers/telegram/adapter.js.map +1 -1
- package/dist/services/channels/providers/telegram/index.d.ts +1 -1
- package/dist/services/channels/providers/telegram/index.d.ts.map +1 -1
- package/dist/services/channels/providers/telegram/index.js +1 -1
- package/dist/services/channels/providers/telegram/index.js.map +1 -1
- package/dist/services/channels/providers/telegram/normalizer.d.ts +1 -1
- package/dist/services/channels/providers/telegram/normalizer.d.ts.map +1 -1
- package/dist/services/channels/providers/telegram/normalizer.js +9 -5
- package/dist/services/channels/providers/telegram/normalizer.js.map +1 -1
- package/dist/services/channels/providers/whatsapp/adapter.d.ts +6 -9
- package/dist/services/channels/providers/whatsapp/adapter.d.ts.map +1 -1
- package/dist/services/channels/providers/whatsapp/adapter.js +43 -59
- package/dist/services/channels/providers/whatsapp/adapter.js.map +1 -1
- package/dist/services/channels/providers/whatsapp/index.d.ts +1 -1
- package/dist/services/channels/providers/whatsapp/index.d.ts.map +1 -1
- package/dist/services/channels/providers/whatsapp/index.js +1 -1
- package/dist/services/channels/providers/whatsapp/index.js.map +1 -1
- package/dist/services/channels/providers/whatsapp/normalizer.d.ts +2 -1
- package/dist/services/channels/providers/whatsapp/normalizer.d.ts.map +1 -1
- package/dist/services/channels/providers/whatsapp/normalizer.js +17 -12
- package/dist/services/channels/providers/whatsapp/normalizer.js.map +1 -1
- package/dist/services/channels/providers/whatsapp/session.d.ts.map +1 -1
- package/dist/services/channels/providers/whatsapp/session.js +15 -7
- package/dist/services/channels/providers/whatsapp/session.js.map +1 -1
- package/dist/services/channels/providers/whatsapp/types.d.ts +1 -0
- package/dist/services/channels/providers/whatsapp/types.d.ts.map +1 -1
- package/dist/services/channels/types.d.ts +68 -3
- package/dist/services/channels/types.d.ts.map +1 -1
- package/dist/services/channels/types.js +4 -0
- package/dist/services/channels/types.js.map +1 -1
- package/dist/services/config/index.d.ts +3 -3
- package/dist/services/config/schemas/auth.d.ts +2 -2
- package/dist/services/config/schemas/channels.d.ts +2 -0
- package/dist/services/config/schemas/channels.d.ts.map +1 -1
- package/dist/services/config/schemas/channels.js +2 -0
- package/dist/services/config/schemas/channels.js.map +1 -1
- package/dist/services/config/schemas/index.d.ts +3 -3
- package/dist/services/config/schemas/index.d.ts.map +1 -1
- package/dist/services/config/schemas/index.js +2 -2
- package/dist/services/config/schemas/index.js.map +1 -1
- package/dist/services/config/schemas/primitives.d.ts +0 -2
- package/dist/services/config/schemas/primitives.d.ts.map +1 -1
- package/dist/services/config/schemas/primitives.js +0 -1
- package/dist/services/config/schemas/primitives.js.map +1 -1
- package/dist/services/cron/heartbeat.d.ts.map +1 -0
- package/dist/services/cron/heartbeat.js.map +1 -0
- package/dist/services/cron/index.d.ts.map +1 -1
- package/dist/services/cron/index.js +10 -5
- package/dist/services/cron/index.js.map +1 -1
- package/dist/services/media/index.d.ts +1 -0
- package/dist/services/media/index.d.ts.map +1 -1
- package/dist/services/media/index.js +61 -5
- package/dist/services/media/index.js.map +1 -1
- package/dist/services/media/providers/anthropic.js +1 -1
- package/dist/services/media/providers/anthropic.js.map +1 -1
- package/dist/services/media/{extract-document.d.ts → providers/document.d.ts} +1 -1
- package/dist/services/media/providers/document.d.ts.map +1 -0
- package/dist/services/media/{extract-document.js → providers/document.js} +4 -4
- package/dist/services/media/providers/document.js.map +1 -0
- package/dist/services/media/providers/openai.d.ts.map +1 -1
- package/dist/services/media/providers/openai.js +5 -1
- package/dist/services/media/providers/openai.js.map +1 -1
- package/package.json +16 -16
- package/dist/lib/async-handlers.d.ts +0 -13
- package/dist/lib/async-handlers.d.ts.map +0 -1
- package/dist/lib/async-handlers.js +0 -6
- package/dist/lib/async-handlers.js.map +0 -1
- package/dist/lib/error-store.d.ts.map +0 -1
- package/dist/lib/error-store.js.map +0 -1
- package/dist/lib/glob.d.ts.map +0 -1
- package/dist/lib/glob.js.map +0 -1
- package/dist/lib/heartbeat.d.ts.map +0 -1
- package/dist/lib/heartbeat.js.map +0 -1
- package/dist/lib/media-transcribe.d.ts +0 -57
- package/dist/lib/media-transcribe.d.ts.map +0 -1
- package/dist/lib/media-transcribe.js +0 -98
- package/dist/lib/media-transcribe.js.map +0 -1
- package/dist/lib/safe-async.d.ts +0 -27
- package/dist/lib/safe-async.d.ts.map +0 -1
- package/dist/lib/safe-async.js +0 -38
- package/dist/lib/safe-async.js.map +0 -1
- package/dist/lib/skills.d.ts.map +0 -1
- package/dist/lib/skills.js.map +0 -1
- package/dist/lib/subagent.d.ts +0 -14
- package/dist/lib/subagent.d.ts.map +0 -1
- package/dist/lib/subagent.js +0 -25
- package/dist/lib/subagent.js.map +0 -1
- package/dist/services/agent/schema.d.ts.map +0 -1
- package/dist/services/agent/schema.js.map +0 -1
- package/dist/services/channels/contracts.d.ts +0 -75
- package/dist/services/channels/contracts.d.ts.map +0 -1
- package/dist/services/channels/contracts.js +0 -6
- package/dist/services/channels/contracts.js.map +0 -1
- package/dist/services/channels/media-extract.d.ts.map +0 -1
- package/dist/services/channels/media-extract.js.map +0 -1
- package/dist/services/media/extract-document.d.ts.map +0 -1
- package/dist/services/media/extract-document.js.map +0 -1
- /package/dist/.templates/{vargos/agent → agent}/extensions/.gitkeep +0 -0
- /package/dist/.templates/{vargos/agent → agent}/mcp.json +0 -0
- /package/dist/.templates/{vargos/agent → agent}/skills/skill-creator/SKILL.md +0 -0
- /package/dist/.templates/{vargos/agent → agent}/skills/token-capture/SKILL.md +0 -0
- /package/dist/.templates/{vargos/agent → agent}/skills/token-capture/scripts/capture-bearer-token.sh +0 -0
- /package/dist/.templates/{vargos/agents → agents}/README +0 -0
- /package/dist/.templates/{vargos/agents → agents}/default.md +0 -0
- /package/dist/.templates/{vargos/config.json → config.json} +0 -0
- /package/dist/.templates/{vargos/cron → cron}/heartbeat.md +0 -0
- /package/dist/.templates/{vargos/workspace → workspace}/HEARTBEAT.md +0 -0
- /package/dist/.templates/{vargos/workspace → workspace}/MEMORY.md +0 -0
- /package/dist/.templates/{vargos/workspace → workspace}/SOUL.md +0 -0
- /package/dist/.templates/{vargos/workspace → workspace}/TOOLS.md +0 -0
- /package/dist/{lib → services/agent}/skills.d.ts +0 -0
- /package/dist/{lib → services/agent}/skills.js +0 -0
- /package/dist/{lib → services/cron}/heartbeat.d.ts +0 -0
- /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/
|
|
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 '
|
|
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
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
99
|
-
if (
|
|
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.
|
|
184
|
-
|
|
185
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
|
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,
|
|
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 =
|
|
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,
|
|
248
|
+
const rawSystemPrompt = await this.getSystemPrompt(sessionKey, persona?.body);
|
|
260
249
|
const resourceLoader = await this.createResourceLoader(rawSystemPrompt, effectiveCwd);
|
|
261
|
-
log.debug(`
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
381
|
-
*
|
|
382
|
-
*
|
|
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
|
|
393
|
-
*
|
|
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,
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
503
|
-
|
|
504
|
-
|
|
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}
|
|
14
|
-
* - ${
|
|
15
|
-
* - ${
|
|
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}
|
|
14
|
-
* - ${
|
|
15
|
-
* - ${
|
|
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
|
-
//
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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":"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,
|
|
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,
|
|
9
|
-
* so
|
|
10
|
-
* - Other tools inherit the parent sessionKey for context-aware operations
|
|
11
|
-
*
|
|
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
|
|
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"}
|