@chozzz/vargos 2.0.13 → 2.1.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 (63) hide show
  1. package/dist/.templates/vargos/agent/extensions/.gitkeep +0 -0
  2. package/dist/.templates/vargos/agents/subagent.md +36 -0
  3. package/dist/.templates/vargos/workspace/AGENTS.md +106 -41
  4. package/dist/.templates/vargos/workspace/HEARTBEAT.md +12 -0
  5. package/dist/cli/channels.d.ts +26 -0
  6. package/dist/cli/channels.d.ts.map +1 -0
  7. package/dist/cli/channels.js +116 -0
  8. package/dist/cli/channels.js.map +1 -0
  9. package/dist/cli/onboard.d.ts.map +1 -1
  10. package/dist/cli/onboard.js +213 -108
  11. package/dist/cli/onboard.js.map +1 -1
  12. package/dist/cli.js +116 -2
  13. package/dist/cli.js.map +1 -1
  14. package/dist/index.js +5 -4
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/subagent.d.ts +10 -3
  17. package/dist/lib/subagent.d.ts.map +1 -1
  18. package/dist/lib/subagent.js +20 -1
  19. package/dist/lib/subagent.js.map +1 -1
  20. package/dist/lib/templates.d.ts +2 -2
  21. package/dist/lib/templates.d.ts.map +1 -1
  22. package/dist/lib/templates.js +15 -7
  23. package/dist/lib/templates.js.map +1 -1
  24. package/dist/scripts/seed.js +1 -2
  25. package/dist/scripts/seed.js.map +1 -1
  26. package/dist/services/agent/index.d.ts +10 -5
  27. package/dist/services/agent/index.d.ts.map +1 -1
  28. package/dist/services/agent/index.js +46 -33
  29. package/dist/services/agent/index.js.map +1 -1
  30. package/dist/services/agent/persona.d.ts +6 -0
  31. package/dist/services/agent/persona.d.ts.map +1 -1
  32. package/dist/services/agent/persona.js +19 -0
  33. package/dist/services/agent/persona.js.map +1 -1
  34. package/dist/services/agent/tools.d.ts +11 -4
  35. package/dist/services/agent/tools.d.ts.map +1 -1
  36. package/dist/services/agent/tools.js +24 -7
  37. package/dist/services/agent/tools.js.map +1 -1
  38. package/dist/services/channels/index.d.ts.map +1 -1
  39. package/dist/services/channels/index.js +19 -12
  40. package/dist/services/channels/index.js.map +1 -1
  41. package/dist/services/channels/pipeline.js +2 -2
  42. package/dist/services/channels/pipeline.js.map +1 -1
  43. package/dist/services/channels/providers/telegram/normalizer.d.ts.map +1 -1
  44. package/dist/services/channels/providers/telegram/normalizer.js +9 -3
  45. package/dist/services/channels/providers/telegram/normalizer.js.map +1 -1
  46. package/dist/services/channels/providers/whatsapp/adapter.d.ts +0 -4
  47. package/dist/services/channels/providers/whatsapp/adapter.d.ts.map +1 -1
  48. package/dist/services/channels/providers/whatsapp/adapter.js +10 -33
  49. package/dist/services/channels/providers/whatsapp/adapter.js.map +1 -1
  50. package/dist/services/channels/providers/whatsapp/normalizer.d.ts.map +1 -1
  51. package/dist/services/channels/providers/whatsapp/normalizer.js +8 -9
  52. package/dist/services/channels/providers/whatsapp/normalizer.js.map +1 -1
  53. package/dist/services/channels/providers/whatsapp/session.d.ts.map +1 -1
  54. package/dist/services/channels/providers/whatsapp/session.js +13 -7
  55. package/dist/services/channels/providers/whatsapp/session.js.map +1 -1
  56. package/dist/services/config/index.d.ts +3 -3
  57. package/dist/services/config/schemas/auth.d.ts +2 -2
  58. package/dist/services/cron/index.d.ts.map +1 -1
  59. package/dist/services/cron/index.js +7 -1
  60. package/dist/services/cron/index.js.map +1 -1
  61. package/package.json +16 -15
  62. package/dist/.templates/vargos/agent/extensions/anthropic-custom-payload.patch.json +0 -34
  63. package/dist/.templates/vargos/agent/extensions/anthropic-custom-payload.ts +0 -74
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../lib/subagent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AASD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAGzE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG7F"}
1
+ {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../lib/subagent.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGlD;AASD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAGzE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG7F"}
@@ -1,12 +1,31 @@
1
1
  /**
2
2
  * Pure session key helpers — no domain dependencies.
3
3
  */
4
+ import { randomBytes } from 'node:crypto';
4
5
  export function cronSessionKey(taskId) {
5
6
  return `cron:${taskId}:${new Date().toISOString().slice(0, 10)}`;
6
7
  }
7
8
  export function webhookSessionKey(hookId) {
8
9
  return `webhook:${hookId}:${Date.now()}`;
9
10
  }
11
+ /**
12
+ * Generate a unique subagent session key from the parent key.
13
+ * Appends `:subagent:<shortId>` so each delegation gets its own session,
14
+ * enabling parallel subagents without collision.
15
+ */
16
+ export function subagentSessionKey(parentKey) {
17
+ const shortId = randomBytes(4).toString('hex');
18
+ return `${parentKey}:subagent:${shortId}`;
19
+ }
20
+ /** Check if a sessionKey belongs to any subagent (any depth). */
21
+ export function isSubagentSession(key) {
22
+ return key.includes(':subagent:');
23
+ }
24
+ /** Extract the root parent sessionKey by stripping all subagent suffixes. */
25
+ export function rootSessionKey(key) {
26
+ const idx = key.indexOf(':subagent:');
27
+ return idx === -1 ? key : key.slice(0, idx);
28
+ }
10
29
  /** Parse "type:id" format from a string, extracting first component. */
11
30
  function parseTypeIdFormat(str) {
12
31
  const sep = str.indexOf(':');
@@ -15,7 +34,7 @@ function parseTypeIdFormat(str) {
15
34
  return { type: str.slice(0, sep), id: str.slice(sep + 1) };
16
35
  }
17
36
  export function parseSessionKey(key) {
18
- const root = key.split(':subagent')[0];
37
+ const root = rootSessionKey(key);
19
38
  return parseTypeIdFormat(root);
20
39
  }
21
40
  export function parseChannelTarget(target) {
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../lib/subagent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,QAAQ,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,WAAW,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED,wEAAwE;AACxE,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC7C,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../lib/subagent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,QAAQ,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,WAAW,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,GAAG,SAAS,aAAa,OAAO,EAAE,CAAC;AAC5C,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,wEAAwE;AACxE,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC7C,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /** Walk up from this module to locate `.templates/vargos/`. Works in both dev and dist layouts. */
2
2
  export declare function findTemplatesRoot(): string | null;
3
- /** Seed `dataDir` from `.templates/vargos/` recursively copies any missing files. User edits are preserved; user deletes will be re-seeded on next boot. */
4
- export declare function seedDataDir(dataDir: string, logger: {
3
+ /** Seed the VARGOS data dir from `.templates/vargos/`. Workspace markdown is refreshed; other user edits are preserved. */
4
+ export declare function seedDataDir(logger: {
5
5
  info: (s: string) => void;
6
6
  warn: (s: string) => void;
7
7
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../lib/templates.ts"],"names":[],"mappings":"AAIA,mGAAmG;AACnG,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAQjD;AAqBD,8JAA8J;AAC9J,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC/D,OAAO,CAAC,IAAI,CAAC,CAOf"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../lib/templates.ts"],"names":[],"mappings":"AAKA,mGAAmG;AACnG,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAQjD;AA8BD,2HAA2H;AAC3H,wBAAsB,WAAW,CAC/B,MAAM,EAAE;IAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC/D,OAAO,CAAC,IAAI,CAAC,CAOf"}
@@ -1,6 +1,7 @@
1
1
  import { promises as fs, existsSync } from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
+ import { getDataPaths } from './paths.js';
4
5
  /** Walk up from this module to locate `.templates/vargos/`. Works in both dev and dist layouts. */
5
6
  export function findTemplatesRoot() {
6
7
  let dir = path.dirname(fileURLToPath(import.meta.url));
@@ -12,28 +13,35 @@ export function findTemplatesRoot() {
12
13
  }
13
14
  return null;
14
15
  }
15
- /** Walks both trees in parallel; copies only leaf files that don't exist on target. */
16
- async function copyMissing(srcDir, destDir, logger) {
16
+ /** Walks both trees in parallel; copies missing files, and refreshes workspace markdown templates. */
17
+ async function seedTree(srcDir, destDir, relativeDir, logger) {
17
18
  await fs.mkdir(destDir, { recursive: true });
18
19
  for (const entry of await fs.readdir(srcDir, { withFileTypes: true })) {
19
20
  const src = path.join(srcDir, entry.name);
20
21
  const dest = path.join(destDir, entry.name);
22
+ const relativePath = path.join(relativeDir, entry.name);
21
23
  if (entry.isDirectory()) {
22
- await copyMissing(src, dest, logger);
24
+ await seedTree(src, dest, relativePath, logger);
23
25
  }
24
- else if (!existsSync(dest)) {
26
+ else if (shouldReseed(relativePath) || !existsSync(dest)) {
25
27
  await fs.copyFile(src, dest);
26
28
  logger.info(`seeded ${dest}`);
27
29
  }
28
30
  }
29
31
  }
30
- /** Seed `dataDir` from `.templates/vargos/` — recursively copies any missing files. User edits are preserved; user deletes will be re-seeded on next boot. */
31
- export async function seedDataDir(dataDir, logger) {
32
+ function shouldReseed(relativePath) {
33
+ const parts = relativePath.split(path.sep);
34
+ return parts.length === 2
35
+ && parts[0] === 'workspace'
36
+ && path.extname(relativePath).toLowerCase() === '.md';
37
+ }
38
+ /** Seed the VARGOS data dir from `.templates/vargos/`. Workspace markdown is refreshed; other user edits are preserved. */
39
+ export async function seedDataDir(logger) {
32
40
  const root = findTemplatesRoot();
33
41
  if (!root) {
34
42
  logger.warn('.templates/vargos not found — skipping seed');
35
43
  return;
36
44
  }
37
- await copyMissing(root, dataDir, logger);
45
+ await seedTree(root, getDataPaths().dataDir, '', logger);
38
46
  }
39
47
  //# sourceMappingURL=templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../lib/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,mGAAmG;AACnG,MAAM,UAAU,iBAAiB;IAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uFAAuF;AACvF,KAAK,UAAU,WAAW,CACxB,MAAc,EACd,OAAe,EACf,MAAqC;IAErC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACtE,MAAM,GAAG,GAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,8JAA8J;AAC9J,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,MAAgE;IAEhE,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IACD,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../lib/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,mGAAmG;AACnG,MAAM,UAAU,iBAAiB;IAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sGAAsG;AACtG,KAAK,UAAU,QAAQ,CACrB,MAAc,EACd,OAAe,EACf,WAAmB,EACnB,MAAqC;IAErC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,YAAoB;IACxC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;WACpB,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW;WACxB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;AAC1D,CAAC;AAED,2HAA2H;AAC3H,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAgE;IAEhE,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,4 +1,3 @@
1
- import { getDataPaths } from '../lib/paths.js';
2
1
  import { seedDataDir } from '../lib/templates.js';
3
- await seedDataDir(getDataPaths().dataDir, console);
2
+ await seedDataDir(console);
4
3
  //# sourceMappingURL=seed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../scripts/seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../scripts/seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC"}
@@ -61,14 +61,19 @@ export declare class AgentService {
61
61
  */
62
62
  protected createResourceLoader(systemPromptOverride?: string, cwd?: string): Promise<DefaultResourceLoader>;
63
63
  /**
64
- * Load persona for the given sessionKey if it maps to a configured channel. Subagent
65
- * sessionKeys naturally inherit because parseSessionKey strips the `:subagent:` suffix.
66
- * Cron / CLI / other types return null (no persona override applied).
64
+ * Load persona for the given sessionKey.
65
+ * - Subagent sessions: load `agents/subagent.md` (preamble + allowedTools whitelist).
66
+ * - Channel sessions: load `agents/<channelId>.md` (persona + tool filter).
67
+ * - Cron / CLI / other types: return null (no persona override applied).
67
68
  */
68
69
  private loadPersonaIfChannel;
69
70
  /**
70
- * Build system prompt by merging bootstrap files from workspace and optional cwd, then
71
- * appending the channel persona body if provided.
71
+ * Build system prompt.
72
+ * - Subagent sessions: return the persona body from `agents/subagent.md`.
73
+ * No bootstrap files (AGENTS.md, SOUL.md, TOOLS.md) are loaded — the parent's
74
+ * task description is the subagent's sole context.
75
+ * - Parent/other sessions: merge AGENTS.md + SOUL.md + TOOLS.md from workspace/cwd,
76
+ * then append channel persona body if provided.
72
77
  */
73
78
  private getSystemPrompt;
74
79
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../services/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAMhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,OAAO,EAGL,eAAe,EACf,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AAiBvC,qBAAa,YAAY;IACvB,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,QAAQ,4BAAmC;IACrD,OAAO,CAAC,UAAU,CAAqB;IAEvC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;gBAExB,IAAI,EAAE,SAAS;IAuC3B;;OAEG;IACG,KAAK;IAyBX;;;;;;;;;OASG;IAkBG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;IA8CxG;;;;OAIG;IAEG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrF;;OAEG;IAKG,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC;IAItG;;OAEG;cACa,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAiDzI;;OAEG;IACH,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI;IAoEhJ;;;OAGG;cACa,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsBjH;;;;OAIG;YACW,oBAAoB;IAOlC;;;OAGG;YACW,eAAe;IAiD7B;;;;OAIG;cACa,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAMzG;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA+B7B,IAAI,IAAI,IAAI;CAMb;AAID,wBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,IAAI,IAAI,IAAI,CAAA;CAAE,CAAC,CAM9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../services/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAMhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,OAAO,EAGL,eAAe,EACf,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AAiBvC,qBAAa,YAAY;IACvB,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,QAAQ,4BAAmC;IACrD,OAAO,CAAC,UAAU,CAAqB;IAEvC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;gBAExB,IAAI,EAAE,SAAS;IAuC3B;;OAEG;IACG,KAAK;IAyBX;;;;;;;;;OASG;IAmBG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;IAwCxG;;;;OAIG;IAEG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrF;;OAEG;IAKG,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC;IAItG;;OAEG;cACa,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAqDzI;;OAEG;IACH,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI;IAoEhJ;;;OAGG;cACa,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsBjH;;;;;OAKG;YACW,oBAAoB;IAQlC;;;;;;;OAOG;YACW,eAAe;IAuD7B;;;;OAIG;cACa,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IASzG;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA+B7B,IAAI,IAAI,IAAI;CAMb;AAID,wBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,IAAI,IAAI,IAAI,CAAA;CAAE,CAAC,CAM9D"}
@@ -51,11 +51,11 @@ 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/subagent.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';
58
+ import { loadChannelPersona, loadSubagentPersona } from './persona.js';
59
59
  import { resolveSkillPaths } from '../../lib/skills.js';
60
60
  import { matchesGlob } from '../../lib/glob.js';
61
61
  const log = createLogger('agent');
@@ -73,17 +73,18 @@ let AgentService = (() => {
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({
76
+ /**
77
+ * `sessionKey` is intentionally not registered as schema here because when agent.execute is called as a tool from within an agent session, the `sessionKey` is auto-injected by wrapEventAsToolDefinition(). For direct calls from channels, cron, webhooks, TCP, the `sessionKey` is provided in the EventMap and is required for execution.
78
+ * @see wrapEventAsToolDefinition in tools.ts for how `sessionKey` is injected when called as a tool.
79
+ */
76
80
  task: z.string().describe('The task to execute.'),
77
81
  metadata: z.object({
78
82
  cwd: z.string().optional().describe('The current working directory to use for the agent.'),
79
83
  model: z.string().optional().describe('Model override in format provider:modelId.'),
80
- channelType: z.string().optional().describe('Type of channel (e.g., telegram, whatsapp).'),
81
- fromUserId: z.string().optional().describe('Sender user ID on the platform.'),
82
- fromUser: z.string().optional().describe('Sender display name.'),
83
- fromUserHandle: z.string().optional().describe('Sender @handle on the platform.'),
84
- botUserId: z.string().optional().describe('Bot user ID on the platform.'),
85
- botName: z.string().optional().describe('Bot display name.'),
86
- botHandle: z.string().optional().describe('Bot @handle on the platform.'),
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
+ */
87
88
  }).optional().describe('Optional metadata for the execution context.'),
88
89
  }).passthrough(),
89
90
  })];
@@ -179,28 +180,22 @@ let AgentService = (() => {
179
180
  if (!params.sessionKey) {
180
181
  throw new Error('sessionKey is required for agent.execute');
181
182
  }
182
- log.info(`execute: START ${params.sessionKey}`);
183
+ log.debug(`execute: START ${params.sessionKey}`);
183
184
  const metadata = params.metadata ?? {};
184
- // Validate model override if provided
185
185
  if (metadata?.model) {
186
- log.debug(`Validating metadata model: ${metadata.model}`);
187
186
  this.validateModel(metadata.model);
188
187
  }
189
188
  const directives = parseDirectives(params.task);
190
189
  const task = interpolatePrompt(directives.cleaned || params.task);
191
190
  const session = await this.getOrCreateSession(params.sessionKey, params.metadata);
192
- // Set thinking level from task directives if present
193
191
  if (directives.thinkingLevel) {
194
192
  session.setThinkingLevel(directives.thinkingLevel);
195
193
  }
196
- // Log model being used by session
197
- log.info(`Using model: ${session.model?.provider}:${session.model?.id} (${session.model?.name})`);
198
194
  this.activeRuns.add(params.sessionKey);
199
195
  const startTime = Date.now();
196
+ const modelTag = `${session.model?.provider}:${session.model?.id}`;
200
197
  try {
201
- log.debug(`execute: calling session.prompt() for ${params.sessionKey}`);
202
198
  await withTimeout(session.prompt(task, { streamingBehavior: 'steer' }), EXECUTION_TIMEOUT_MS, `Agent execution timeout after ${EXECUTION_TIMEOUT_MS}ms`);
203
- log.debug(`execute: session.prompt() completed in ${Date.now() - startTime}ms`);
204
199
  }
205
200
  finally {
206
201
  this.activeRuns.delete(params.sessionKey);
@@ -210,7 +205,8 @@ let AgentService = (() => {
210
205
  log.error(`execute: ${params.sessionKey} ended with error: ${error}`);
211
206
  throw new Error(error);
212
207
  }
213
- log.info(`execute: END ${params.sessionKey} (${content.length} chars, ${Date.now() - startTime}ms)`);
208
+ const elapsed = Date.now() - startTime;
209
+ log.info(`${params.sessionKey} → ${content.length} chars in ${elapsed}ms (${modelTag})`);
214
210
  return { response: content };
215
211
  }
216
212
  /**
@@ -244,8 +240,9 @@ let AgentService = (() => {
244
240
  */
245
241
  async getOrCreateSession(sessionKey, metadata) {
246
242
  const cached = this.sessions.get(sessionKey);
247
- if (cached)
243
+ if (cached) {
248
244
  return cached;
245
+ }
249
246
  const paths = getDataPaths();
250
247
  const effectiveCwd = metadata?.cwd ?? paths.dataDir;
251
248
  const sessionDir = path.join(paths.sessionsDir, sessionKey.replace(/:/g, path.sep));
@@ -256,7 +253,7 @@ let AgentService = (() => {
256
253
  const customTools = await this.getCustomTools(sessionKey, persona?.meta.allowedTools);
257
254
  const rawSystemPrompt = await this.getSystemPrompt(sessionKey, metadata, persona?.body);
258
255
  const resourceLoader = await this.createResourceLoader(rawSystemPrompt, effectiveCwd);
259
- log.debug(`Creating agent session for ${sessionKey} in ${effectiveCwd}. (with ${customTools.length} tools and ${rawSystemPrompt?.length} chars system prompt).`);
256
+ log.debug(`session: ${sessionKey} created (${customTools.length} tools, ${rawSystemPrompt?.length ?? 0} chars prompt)`);
260
257
  const { session } = await createAgentSession({
261
258
  cwd: effectiveCwd,
262
259
  agentDir: this.agentDir,
@@ -267,14 +264,15 @@ let AgentService = (() => {
267
264
  customTools,
268
265
  resourceLoader,
269
266
  });
270
- // Store system prompt in session directory
271
267
  if (process.env.LOG_LEVEL === 'debug') {
272
- log.debug(`Storing debug files (modelRegistry, settings, systemPrompt, customTools) in session directory: ${sessionDir}`);
268
+ const debugDir = path.join(sessionDir, '.debug');
269
+ if (!existsSync(debugDir)) {
270
+ await fs.mkdir(debugDir, { recursive: true });
271
+ }
272
+ log.debug(`Storing debug files in session's debug directory: ${debugDir}`);
273
273
  await Promise.all([
274
- fs.writeFile(path.join(sessionDir, `modelRegistry.json`), JSON.stringify(this.modelRegistry, null, 2), 'utf-8'),
275
- fs.writeFile(path.join(sessionDir, `settings.json`), JSON.stringify(this.settings, null, 2), 'utf-8'),
276
- fs.writeFile(path.join(sessionDir, `systemPrompt.md`), session.systemPrompt ?? '', 'utf-8'),
277
- fs.writeFile(path.join(sessionDir, `customTools.md`), customTools.map(tool => `- ${tool.name}: ${tool.description}`).join('\n'), 'utf-8'),
274
+ fs.writeFile(path.join(debugDir, `systemPrompt.md`), session.systemPrompt ?? '', 'utf-8'),
275
+ fs.writeFile(path.join(debugDir, `metadata.json`), JSON.stringify(metadata ?? {}, null, 2), 'utf-8'),
278
276
  ]);
279
277
  }
280
278
  this.subscribeToSessionEvents(session, sessionKey);
@@ -372,11 +370,14 @@ let AgentService = (() => {
372
370
  return resourceLoader;
373
371
  }
374
372
  /**
375
- * Load persona for the given sessionKey if it maps to a configured channel. Subagent
376
- * sessionKeys naturally inherit because parseSessionKey strips the `:subagent:` suffix.
377
- * Cron / CLI / other types return null (no persona override applied).
373
+ * Load persona for the given sessionKey.
374
+ * - Subagent sessions: load `agents/subagent.md` (preamble + allowedTools whitelist).
375
+ * - Channel sessions: load `agents/<channelId>.md` (persona + tool filter).
376
+ * - Cron / CLI / other types: return null (no persona override applied).
378
377
  */
379
378
  async loadPersonaIfChannel(sessionKey) {
379
+ if (isSubagentSession(sessionKey))
380
+ return loadSubagentPersona();
380
381
  const { type } = parseSessionKey(sessionKey);
381
382
  const isChannel = this.config.channels.some(c => c.id === type);
382
383
  if (!isChannel)
@@ -384,10 +385,17 @@ let AgentService = (() => {
384
385
  return loadChannelPersona(type);
385
386
  }
386
387
  /**
387
- * Build system prompt by merging bootstrap files from workspace and optional cwd, then
388
- * appending the channel persona body if provided.
388
+ * Build system prompt.
389
+ * - Subagent sessions: return the persona body from `agents/subagent.md`.
390
+ * No bootstrap files (AGENTS.md, SOUL.md, TOOLS.md) are loaded — the parent's
391
+ * task description is the subagent's sole context.
392
+ * - Parent/other sessions: merge AGENTS.md + SOUL.md + TOOLS.md from workspace/cwd,
393
+ * then append channel persona body if provided.
389
394
  */
390
395
  async getSystemPrompt(sessionKey, metadata, personaBody) {
396
+ if (isSubagentSession(sessionKey)) {
397
+ return personaBody?.trim() || undefined;
398
+ }
391
399
  const bootstrapFiles = ['AGENTS.md', 'SOUL.md', 'TOOLS.md'];
392
400
  const maxCharsPerFile = 6000;
393
401
  const dirs = this.collectBootstrapDirs(metadata);
@@ -417,8 +425,10 @@ let AgentService = (() => {
417
425
  if (result)
418
426
  sections.push(result.label, result.content, '');
419
427
  }
428
+ // Also log bootstrap files loaded
429
+ log.debug(`session: ${sessionKey} bootstrap ${sections.filter(s => s.startsWith('<!--')).length} files, ${sections.join('\n').length} chars`);
420
430
  if (personaBody) {
421
- sections.push('<!-- channel persona -->', personaBody.trim(), '');
431
+ sections.push('<!-- channel persona -->', '<channel-persona>', personaBody.trim(), '</channel-persona>');
422
432
  }
423
433
  if (sections.length === 0) {
424
434
  log.debug('No bootstrap files found, using PiAgent default');
@@ -437,7 +447,10 @@ let AgentService = (() => {
437
447
  const tools = await createCustomTools(sessionKey, this.bus);
438
448
  if (!allowedPatterns?.length)
439
449
  return tools;
440
- return tools.filter(t => allowedPatterns.some(p => matchesGlob(p, t.name)));
450
+ // Match on `label` (original event name with dots, e.g. "memory.search")
451
+ // rather than `name` (sanitized with dashes, e.g. "memory-search"),
452
+ // so that frontmatter patterns like "memory.*" work as expected.
453
+ return tools.filter(t => allowedPatterns.some(p => matchesGlob(p, t.label)));
441
454
  }
442
455
  /**
443
456
  * Validate model override if provided.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../services/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAIvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,iBAAiB;AACjB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,WAAW,EACX,aAAa,EACb,qBAAqB,GAGtB,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAElC,sCAAsC;AACtC,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAE1D,gFAAgF;IAEnE,YAAY;;;;;iBAAZ,YAAY;;;mCAwFtB,QAAQ,CAAC,eAAe,EAAE;oBACzB,WAAW,EAAE,sEAAsE;oBACnF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;wBACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;wBACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;4BACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;4BAC1F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;4BACnF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;4BAC1F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;4BAC7E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;4BAChE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;4BACjF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;4BACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;4BAC5D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;yBAC1E,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;qBACvE,CAAC,CAAC,WAAW,EAAE;iBACjB,CAAC;yCAoDD,QAAQ,CAAC,qBAAqB,CAAC;kCAuB/B,QAAQ,CAAC,cAAc,EAAE;oBACxB,WAAW,EAAE,6CAA6C;oBAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;iBACxD,CAAC;YA7EF,wKAAM,OAAO,+DA4CZ;YAQD,0LAAM,aAAa,+DAiBlB;YASD,qKAAM,MAAM,+DAEX;;;QAxLS,GAAG,GADF,mDAAY,CACJ;QACT,MAAM,CAAY;QAClB,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC7C,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAE7B,QAAQ,CAAS;QACjB,WAAW,CAAc;QACzB,aAAa,CAAgB;QAC7B,QAAQ,CAAkB;QAEpC,YAAY,IAAe;YACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAE1B,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAElD,sEAAsE;YACtE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAE/D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAE5E,+DAA+D;YAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YACjD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,cAAc,KAAK,UAAU,EAAE,CAAC,CAAC;YACjF,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrE,wEAAwE;YACxE,+EAA+E;YAE/E,oDAAoD;YACpD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC3B,KAAK,EAAE;oBACL,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,CAAC;oBACb,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE;wBACR,SAAS,EAAE,MAAM,EAAE,qBAAqB;wBACxC,UAAU,EAAE,CAAC;wBACb,eAAe,EAAE,KAAK,EAAE,gCAAgC;qBACzD;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,KAAK;YACT,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC/D,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAChD,MAAM,OAAO,GAAG;oBACd,GAAG,eAAe;oBAClB,KAAK,EAAE;wBACL,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,CAAC;wBACb,WAAW,EAAE,IAAI;wBACjB,QAAQ,EAAE;4BACR,SAAS,EAAE,MAAM;4BACjB,UAAU,EAAE,CAAC;4BACb,eAAe,EAAE,KAAK;yBACvB;qBACF;iBACF,CAAC;gBACF,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC5E,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;QAED;;;;;;;;;WASG;QAkBH,KAAK,CAAC,OAAO,CAAC,MAA2C;YACvD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YAEvC,sCAAsC;YACtC,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACpB,GAAG,CAAC,KAAK,CAAC,8BAA8B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;YAElE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAElF,qDAAqD;YACrD,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC7B,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACrD,CAAC;YAED,kCAAkC;YAClC,GAAG,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC;YAElG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,yCAAyC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBACxE,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,oBAAoB,EAAE,iCAAiC,oBAAoB,IAAI,CAAC,CAAC;gBACzJ,GAAG,CAAC,KAAK,CAAC,0CAA0C,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,CAAC,CAAC;YAClF,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,UAAU,sBAAsB,KAAK,EAAE,CAAC,CAAC;gBACtE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,MAAM,WAAW,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;YACrG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC/B,CAAC;QAED;;;;WAIG;QAEH,KAAK,CAAC,aAAa,CAAC,MAAiD;YACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClF,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;YAE5D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,GAAG,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,UAAU,mBAAmB,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,UAAU,iBAAiB,CAAC,CAAC;YAE9E,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC;gBACnC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;YACH,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAED;;WAEG;QAKH,KAAK,CAAC,MAAM,CAAC,OAA2C;YACtD,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,CAAC;QAED;;WAEG;QACO,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,QAA0D;YAC/G,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;YAE7B,MAAM,YAAY,GAAG,QAAQ,EAAE,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC;YAEpD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACpF,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAEvE,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACtF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACxF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAEtF,GAAG,CAAC,KAAK,CAAC,8BAA8B,UAAU,OAAO,YAAY,WAAW,WAAW,CAAC,MAAM,cAAc,eAAe,EAAE,MAAM,wBAAwB,CAAC,CAAC;YAEjK,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC;gBAC3C,GAAG,EAAE,YAAY;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,cAAc;gBACd,eAAe,EAAE,IAAI,CAAC,QAAQ;gBAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW;gBACX,cAAc;aACf,CAAC,CAAC;YAEH,2CAA2C;YAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;gBACtC,GAAG,CAAC,KAAK,CAAC,kGAAkG,UAAU,EAAE,CAAC,CAAC;gBAC1H,MAAM,OAAO,CAAC,GAAG,CAAC;oBAChB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;oBAC/G,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;oBACrG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,OAAO,CAAC;oBAC3F,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;iBAC1I,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAEnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED;;WAEG;QACO,wBAAwB,CAAC,OAAqB,EAAE,UAAkB,EAAE,SAA2D;YACvI,OAAO,CAAC,SAAS,CAAC,CAAC,KAAwB,EAAE,EAAE;gBAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;gBAE7B,qFAAqF;gBAErF,8FAA8F;gBAC9F,IAAI,SAAS,KAAK,kBAAkB,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;oBACvE,OAAO;gBACT,CAAC;gBAED,uCAAuC;gBACvC,iEAAiE;gBAEjE,QAAQ,SAAS,EAAE,CAAC;oBAClB,KAAK,sBAAsB,CAAC,CAAC,CAAC;wBAC5B,MAAM,CAAC,GAAG,KAA8C,CAAC;wBACzD,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;4BACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;gCAC5B,UAAU;gCACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;gCACpB,KAAK,EAAE,OAAO;gCACd,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAS;6BAC7B,CAAC,CAAC;wBACL,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;wBAC1B,MAAM,CAAC,GAAG,KAAgD,CAAC;wBAC3D,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;4BACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;gCAC5B,UAAU;gCACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;gCACpB,KAAK,EAAE,KAAK;gCACZ,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAS;6BACjC,CAAC,CAAC;wBACL,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;wBACtB,MAAM,CAAC,GAAG,KAA0C,CAAC;wBACrD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;wBACtC,IAAI,KAAK,EAAE,CAAC;4BACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC/D,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,KAAK,UAAU,CAAC,CAAC,CAAC;wBAChB,MAAM;oBACR,CAAC;oBACD,KAAK,WAAW,CAAC,CAAC,CAAC;wBACjB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;wBAC/D,IAAI,KAAK,EAAE,CAAC;4BACV,GAAG,CAAC,KAAK,CAAC,4BAA4B,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;4BAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC5E,CAAC;6BAAM,CAAC;4BACN,GAAG,CAAC,KAAK,CAAC,qCAAqC,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;4BACvE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;wBACvF,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;wBACR,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED;;;WAGG;QACO,KAAK,CAAC,oBAAoB,CAAC,oBAA6B,EAAE,GAAY;YAC9E,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC;YAC/C,gGAAgG;YAChG,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEhF,MAAM,cAAc,GAAG,IAAI,qBAAqB,CAAC;gBAC/C,GAAG,EAAE,YAAY;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,eAAe,EAAE,IAAI,CAAC,QAAQ;gBAC9B,kBAAkB,EAAE,EAAE;gBACtB,oBAAoB,EAAE,UAAU;gBAChC,QAAQ,EAAE,KAAK;gBACf,GAAG,CAAC,oBAAoB,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;aACpE,CAAC,CAAC;YAEH,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;YAC9C,GAAG,CAAC,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,UAAU,CAAC,CAAC;YAClE,OAAO,cAAc,CAAC;QACxB,CAAC;QAED;;;;WAIG;QACK,KAAK,CAAC,oBAAoB,CAAC,UAAkB;YACnD,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YAChE,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC5B,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED;;;WAGG;QACK,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,QAA0D,EAAE,WAAoB;YAChI,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC5D,MAAM,eAAe,GAAG,IAAI,CAAC;YAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAEjD,MAAM,eAAe,GAA2D,EAAE,CAAC;YACnF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;oBACtC,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACjC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;oBACrD,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,MAAM,QAAQ,CAAC,CAAC;oBAC5E,OAAO;wBACL,KAAK,EAAE,QAAQ,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,MAAM;wBAC9C,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE;qBAC1B,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,aAAa,CAAC,CAAC;oBACrD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,IAAI,MAAM;oBAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBAC7D,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC9D,OAAO,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED;;;;WAIG;QACO,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,eAA0B;YAC3E,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,EAAE,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED;;WAEG;QACK,aAAa,CAAC,SAAiB;YACrC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,qCAAqC,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED;;WAEG;QACK,kBAAkB,CACxB,UAAkB,EAClB,QAA0D;YAE1D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YACpE,OAAO;gBACL,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,MAAM;gBACf,GAAG,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACpE,GAAG,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC7D,GAAG,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC3D,GAAG,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACzE,GAAG,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC1D,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxD,GAAG,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;aAC/D,CAAC;QACJ,CAAC;QAED;;WAEG;QACK,oBAAoB,CAAC,QAA0D;YACrF,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YACxC,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YAE5B,IAAI,QAAQ,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAED,gCAAgC;YAChC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,8EAA8E;QAE9E;;;;;WAKG;QACK,qBAAqB,CAAC,OAAqB;YACjD,8DAA8D;YAC9D,MAAM,QAAQ,GAAI,OAAe,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;YAExD,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW;oBAAE,SAAS;gBAExC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,KAAK,OAAO;oBACtC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,IAAI,yBAAyB,CAAC;oBACjD,CAAC,CAAC,SAAS,CAAC;gBAEd,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACpC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBACxB,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,OAAO,GAAG,GAAG,CAAC,OAAO;wBACnB,8DAA8D;yBAC7D,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;wBAC9C,8DAA8D;yBAC7D,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;yBACrC,MAAM,CAAC,OAAO,CAAC;yBACf,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;gBAED,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YAClD,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACzB,CAAC;QAED,IAAI;YACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;;;SAzfU,YAAY;AA4fzB,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,GAAQ;IACjC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAClD,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,yBAAyB;IAChD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACxC,CAAC"}
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/vargos/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/vargos/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":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAY1C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACxD,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAE3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,UAAU,SAAS,6BAA6B,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,UAAU,SAAS,6CAA6C,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEjD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,UAAU,SAAS,2BAA2B,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAc,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACvG,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,UAAU,SAAS,mCAAmC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,yBAAyB,CAAC,UAAoB;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,WAAW,wDAAwD,CAAC,CAAC;QACjF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"persona.js","sourceRoot":"","sources":["../../../services/agent/persona.ts"],"names":[],"mappings":"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"}
@@ -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;AAyFhD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAO/F"}