@saccolabs/tars 1.7.0 → 1.7.2

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 (46) hide show
  1. package/README.md +10 -7
  2. package/dist/channels/channel-manager.d.ts +35 -0
  3. package/dist/channels/channel-manager.js +94 -0
  4. package/dist/channels/channel-manager.js.map +1 -0
  5. package/dist/channels/discord/discord-channel.d.ts +41 -0
  6. package/dist/channels/discord/discord-channel.js +203 -0
  7. package/dist/channels/discord/discord-channel.js.map +1 -0
  8. package/dist/channels/discord/message-formatter.d.ts +95 -0
  9. package/dist/channels/discord/message-formatter.js +482 -0
  10. package/dist/channels/discord/message-formatter.js.map +1 -0
  11. package/dist/channels/types.d.ts +36 -0
  12. package/dist/channels/types.js +2 -0
  13. package/dist/channels/types.js.map +1 -0
  14. package/dist/cli/commands/setup.js +92 -136
  15. package/dist/cli/commands/setup.js.map +1 -1
  16. package/dist/cli/commands/start.d.ts +4 -1
  17. package/dist/cli/commands/start.js +47 -37
  18. package/dist/cli/commands/start.js.map +1 -1
  19. package/dist/cli/commands/status.js +19 -0
  20. package/dist/cli/commands/status.js.map +1 -1
  21. package/dist/cli/index.js +2 -0
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/config/config.d.ts +11 -2
  24. package/dist/config/config.js +34 -13
  25. package/dist/config/config.js.map +1 -1
  26. package/dist/scripts/debug-cli.js +1 -1
  27. package/dist/scripts/debug-cli.js.map +1 -1
  28. package/dist/supervisor/cron-service.d.ts +3 -3
  29. package/dist/supervisor/cron-service.js +4 -4
  30. package/dist/supervisor/cron-service.js.map +1 -1
  31. package/dist/supervisor/gemini-engine.d.ts +4 -4
  32. package/dist/supervisor/gemini-engine.js +9 -9
  33. package/dist/supervisor/gemini-engine.js.map +1 -1
  34. package/dist/supervisor/heartbeat-service.js +1 -1
  35. package/dist/supervisor/heartbeat-service.js.map +1 -1
  36. package/dist/supervisor/main.js +59 -60
  37. package/dist/supervisor/main.js.map +1 -1
  38. package/dist/tools/send-discord-message.d.ts +9 -6
  39. package/dist/tools/send-discord-message.js +14 -21
  40. package/dist/tools/send-discord-message.js.map +1 -1
  41. package/dist/tools/send-notification.d.ts +15 -0
  42. package/dist/tools/send-notification.js +51 -0
  43. package/dist/tools/send-notification.js.map +1 -0
  44. package/dist/types/index.d.ts +1 -0
  45. package/package.json +12 -2
  46. package/src/prompts/system.md +4 -0
@@ -13,12 +13,17 @@ export class Config {
13
13
  sessionFilePath;
14
14
  configFilePath;
15
15
  memoryDbPath;
16
- // Discord
16
+ // Discord (Legacy support)
17
17
  discordToken;
18
18
  discordOwnerId;
19
+ // Multi-Channel
20
+ channels = {};
21
+ primaryChannel = 'discord';
19
22
  // Gemini
20
23
  geminiModel;
21
24
  assistantName;
25
+ instanceName;
26
+ instanceRole;
22
27
  heartbeatIntervalMs;
23
28
  // System Prompt
24
29
  systemPromptPath;
@@ -30,7 +35,6 @@ export class Config {
30
35
  const secretsManager = new SecretsManager(this.homeDir);
31
36
  const secrets = secretsManager.load();
32
37
  for (const [key, value] of Object.entries(secrets)) {
33
- // Load into process.env so they are available globally
34
38
  process.env[key] = value;
35
39
  }
36
40
  // 2. Load JSON Config if exists
@@ -44,20 +48,33 @@ export class Config {
44
48
  logger.warn(`Could not read config file: ${this.configFilePath}`);
45
49
  }
46
50
  // 3. Set values (Env vars override JSON config)
47
- this.discordToken = process.env.DISCORD_TOKEN || jsonConfig.discordToken || '';
48
- this.geminiModel = process.env.GEMINI_MODEL || jsonConfig.geminiModel || 'auto';
49
51
  this.assistantName = process.env.ASSISTANT_NAME || jsonConfig.assistantName || 'Tars';
50
- this.discordOwnerId = process.env.DISCORD_OWNER_ID || jsonConfig.discordOwnerId || null;
52
+ this.instanceName = process.env.TARS_INSTANCE_NAME || 'tars-supervisor';
53
+ this.instanceRole = process.env.TARS_INSTANCE_ROLE || 'General purpose';
54
+ this.geminiModel = process.env.GEMINI_MODEL || jsonConfig.geminiModel || 'auto';
51
55
  const hbSec = process.env.HEARTBEAT_INTERVAL_SEC || jsonConfig.heartbeatIntervalSec || '300';
52
56
  this.heartbeatIntervalMs = parseInt(String(hbSec), 10) * 1000;
53
- // 4. Derived Paths
57
+ // 4. Initialize Channels
58
+ this.channels = jsonConfig.channels || {};
59
+ this.primaryChannel = jsonConfig.primaryChannel || 'discord';
60
+ // 5. Legacy Mapping & Env Overrides
61
+ this.discordToken = process.env.DISCORD_TOKEN || jsonConfig.discordToken || '';
62
+ this.discordOwnerId = process.env.DISCORD_OWNER_ID || jsonConfig.discordOwnerId || null;
63
+ // Sync legacy to structured config if missing
64
+ if (this.discordToken && !this.channels.discord) {
65
+ this.channels.discord = {
66
+ enabled: true,
67
+ token: this.discordToken,
68
+ ownerId: this.discordOwnerId || undefined
69
+ };
70
+ }
71
+ // 6. Derived Paths
54
72
  this.taskFilePath = path.join(this.homeDir, 'data', 'tasks.json');
55
73
  this.sessionFilePath = path.join(this.homeDir, 'data', 'session.json');
56
74
  this.systemPromptPath = path.join(this.homeDir, '.gemini', 'system.md');
57
75
  this.memoryDbPath = path.join(this.homeDir, 'data', 'knowledge.db');
58
- // Note: validation happens in specific services if needed, but we can do a basic check
59
- if (!this.discordToken) {
60
- logger.warn('⚠️ No Discord Token found. Please run `tars setup`.');
76
+ if (!this.discordToken && !Object.values(this.channels).some((c) => c.enabled)) {
77
+ logger.warn('⚠️ No active communication channels found. Please run `tars setup`.');
61
78
  }
62
79
  }
63
80
  static getInstance() {
@@ -67,7 +84,7 @@ export class Config {
67
84
  return Config.instance;
68
85
  }
69
86
  /**
70
- * Persists runtime changes (like learned discordOwnerId) back to config.json
87
+ * Persists runtime changes back to config.json
71
88
  */
72
89
  saveSettings() {
73
90
  try {
@@ -75,10 +92,14 @@ export class Config {
75
92
  if (fs.existsSync(this.configFilePath)) {
76
93
  currentConfig = JSON.parse(fs.readFileSync(this.configFilePath, 'utf-8'));
77
94
  }
78
- // Update only fields manageable at runtime
79
- if (this.discordOwnerId) {
80
- currentConfig.discordOwnerId = this.discordOwnerId;
95
+ // Sync legacy discordOwnerId into structured config
96
+ if (this.channels.discord && this.discordOwnerId) {
97
+ this.channels.discord.ownerId = this.discordOwnerId;
81
98
  }
99
+ // Update fields
100
+ currentConfig.discordOwnerId = this.discordOwnerId;
101
+ currentConfig.channels = this.channels;
102
+ currentConfig.primaryChannel = this.primaryChannel;
82
103
  fs.writeFileSync(this.configFilePath, JSON.stringify(currentConfig, null, 2));
83
104
  logger.info('💾 Config updated successfully.');
84
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,OAAO,MAAM;IACP,MAAM,CAAC,QAAQ,CAAS;IAEhC,QAAQ;IACQ,OAAO,CAAS;IAChB,YAAY,CAAS;IACrB,eAAe,CAAS;IACxB,cAAc,CAAS;IACvB,YAAY,CAAS;IAErC,UAAU;IACM,YAAY,CAAS;IAC9B,cAAc,CAAgB;IAErC,SAAS;IACO,WAAW,CAAS;IACpB,aAAa,CAAS;IACtB,mBAAmB,CAAS;IAE5C,gBAAgB;IACA,gBAAgB,CAAS;IAEzC;QACI,8BAA8B;QAC9B,IAAI,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAE7D,oCAAoC;QACpC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,uDAAuD;YACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC7B,CAAC;QAED,gCAAgC;QAChC,IAAI,UAAU,GAAQ,EAAE,CAAC;QACzB,IAAI,CAAC;YACD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBACrC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC;QAC/E,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,UAAU,CAAC,WAAW,IAAI,MAAM,CAAC;QAChF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,UAAU,CAAC,aAAa,IAAI,MAAM,CAAC;QACtF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC;QAExF,MAAM,KAAK,GACP,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,UAAU,CAAC,oBAAoB,IAAI,KAAK,CAAC;QACnF,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;QAE9D,mBAAmB;QACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QACvE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QAEpE,uFAAuF;QACvF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,YAAY;QACf,IAAI,CAAC;YACD,IAAI,aAAa,GAAQ,EAAE,CAAC;YAC5B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBACrC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9E,CAAC;YAED,2CAA2C;YAC3C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACvD,CAAC;YAED,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ async function main() {
6
6
  console.log(`🏠 Home Dir: ${config.homeDir}`);
7
7
  const engine = new GeminiEngine(config);
8
8
  // Provide a mocked DiscordBot so the send_discord_message tool is injected
9
- engine.setDiscordBot({
9
+ engine.setChannelManager({
10
10
  config: config,
11
11
  notify: async (content) => {
12
12
  console.log(`\n\n📢 [MOCK DISCORD NOTIFICATION] -> ${content}\n\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"debug-cli.js","sourceRoot":"","sources":["../../src/scripts/debug-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAExC,2EAA2E;IAC3E,MAAM,CAAC,aAAa,CAAC;QACjB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,MAAM,CAAC,CAAC;QACxE,CAAC;KACG,CAAC,CAAC;IAEV,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAE1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,GAAG,CAAC,CAAC;IAE9C,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"debug-cli.js","sourceRoot":"","sources":["../../src/scripts/debug-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAExC,2EAA2E;IAC3E,MAAM,CAAC,iBAAiB,CAAC;QACrB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,MAAM,CAAC,CAAC;QACxE,CAAC;KACG,CAAC,CAAC;IAEV,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAE1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,GAAG,CAAC,CAAC;IAE9C,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Supervisor } from './supervisor.js';
2
2
  import { Config } from '../config/config.js';
3
- import { DiscordBot } from '../discord/discord-bot.js';
3
+ import { ChannelManager } from '../channels/channel-manager.js';
4
4
  /**
5
5
  * CronService - Dedicated operator for scheduled tasks.
6
6
  * Runs on a tight interval to ensure precisely timed execution.
@@ -8,11 +8,11 @@ import { DiscordBot } from '../discord/discord-bot.js';
8
8
  export declare class CronService {
9
9
  private readonly supervisor;
10
10
  private readonly config;
11
- private readonly discordBot;
11
+ private readonly channelManager;
12
12
  private interval;
13
13
  private isExecuting;
14
14
  private static readonly POLL_INTERVAL_MS;
15
- constructor(supervisor: Supervisor, config: Config, discordBot: DiscordBot);
15
+ constructor(supervisor: Supervisor, config: Config, channelManager: ChannelManager);
16
16
  start(): Promise<void>;
17
17
  stop(): void;
18
18
  private tick;
@@ -8,14 +8,14 @@ import { CronExpressionParser } from 'cron-parser';
8
8
  export class CronService {
9
9
  supervisor;
10
10
  config;
11
- discordBot;
11
+ channelManager;
12
12
  interval = null;
13
13
  isExecuting = false;
14
14
  static POLL_INTERVAL_MS = 60 * 1000; // Check every minute
15
- constructor(supervisor, config, discordBot) {
15
+ constructor(supervisor, config, channelManager) {
16
16
  this.supervisor = supervisor;
17
17
  this.config = config;
18
- this.discordBot = discordBot;
18
+ this.channelManager = channelManager;
19
19
  }
20
20
  async start() {
21
21
  const tasks = await this.loadTasks();
@@ -60,7 +60,7 @@ export class CronService {
60
60
  logger.info(`🚀 [CRON] Running task: ${task.title} (${task.id})`);
61
61
  try {
62
62
  // Tasks run in their own ephemeral session within the engine
63
- const contextualPrompt = `[SYSTEM: You are executing a scheduled background task. This is a NON-INTERACTIVE session. You CANNOT speak to the user using the ask_user tool. If you need to alert the user about the result of this task, you MUST use the send_discord_message tool. Execute the directive autonomously and output a summary of your actions.]\n\nTask Directive: ${task.prompt}`;
63
+ const contextualPrompt = `[SYSTEM: You are executing a scheduled background task. This is a NON-INTERACTIVE session. You CANNOT speak to the user using the ask_user tool. If you need to alert the user about the result of this task, you MUST use the send_notification tool. Execute the directive autonomously and output a summary of your actions.]\n\nTask Directive: ${task.prompt}`;
64
64
  const result = await this.supervisor.executeTask(contextualPrompt);
65
65
  logger.info(`✅ [CRON] Task ${task.id} completed. Result length: ${result.length}`);
66
66
  // Important: Reload tasks from disk to check if the AI tool deleted its own task during execution
@@ -1 +1 @@
1
- {"version":3,"file":"cron-service.js","sourceRoot":"","sources":["../../src/supervisor/cron-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cron-service.js","sourceRoot":"","sources":["../../src/supervisor/cron-service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from 'events';
2
2
  import { Config as TarsConfig } from '../config/config.js';
3
3
  import { AttachmentContext } from '../types/index.js';
4
- import { DiscordBot } from '../discord/discord-bot.js';
4
+ import { ChannelManager } from '../channels/channel-manager.js';
5
5
  export interface GeminiEngineEvent {
6
6
  type: string;
7
7
  role?: 'user' | 'assistant' | 'system';
@@ -29,12 +29,12 @@ export declare class GeminiEngine extends EventEmitter {
29
29
  private client;
30
30
  private initialized;
31
31
  private currentSessionId;
32
- private discordBot?;
32
+ private channelManager?;
33
33
  constructor(tarsConfig: TarsConfig);
34
34
  /**
35
- * Provide the DiscordBot instance to the engine so it can build the proactive message tool
35
+ * Provide the ChannelManager instance to the engine so it can build proactive notification tools
36
36
  */
37
- setDiscordBot(discordBot: DiscordBot): void;
37
+ setChannelManager(channelManager: ChannelManager): void;
38
38
  /**
39
39
  * Initializes the core Gemini client with proper auth and config.
40
40
  */
@@ -4,7 +4,7 @@ import logger from '../utils/logger.js';
4
4
  import { v4 as uuidv4 } from 'uuid';
5
5
  import fs from 'fs';
6
6
  import path from 'path';
7
- import { SendDiscordMessageTool } from '../tools/send-discord-message.js';
7
+ import { SendNotificationTool } from '../tools/send-notification.js';
8
8
  import { GetQuotaTool } from '../tools/get-quota.js';
9
9
  /**
10
10
  * Detects the best authentication type based on environment variables.
@@ -34,16 +34,16 @@ export class GeminiEngine extends EventEmitter {
34
34
  client;
35
35
  initialized = false;
36
36
  currentSessionId = null;
37
- discordBot;
37
+ channelManager;
38
38
  constructor(tarsConfig) {
39
39
  super();
40
40
  this.tarsConfig = tarsConfig;
41
41
  }
42
42
  /**
43
- * Provide the DiscordBot instance to the engine so it can build the proactive message tool
43
+ * Provide the ChannelManager instance to the engine so it can build proactive notification tools
44
44
  */
45
- setDiscordBot(discordBot) {
46
- this.discordBot = discordBot;
45
+ setChannelManager(channelManager) {
46
+ this.channelManager = channelManager;
47
47
  }
48
48
  /**
49
49
  * Initializes the core Gemini client with proper auth and config.
@@ -103,10 +103,10 @@ export class GeminiEngine extends EventEmitter {
103
103
  }
104
104
  // Inject native tools
105
105
  const toolRegistry = this.coreConfig.getToolRegistry();
106
- if (this.discordBot) {
107
- const sendDiscordTool = new SendDiscordMessageTool(this.discordBot);
108
- toolRegistry.registerTool(sendDiscordTool);
109
- logger.info('🔌 Registered native tool: send_discord_message');
106
+ if (this.channelManager) {
107
+ const notifyTool = new SendNotificationTool(this.channelManager);
108
+ toolRegistry.registerTool(notifyTool);
109
+ logger.info('🔌 Registered native tool: send_notification');
110
110
  }
111
111
  const getQuotaTool = new GetQuotaTool(this.coreConfig);
112
112
  toolRegistry.registerTool(getQuotaTool);
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-engine.js","sourceRoot":"","sources":["../../src/supervisor/gemini-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,MAAM,IAAI,UAAU,EAEpB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,SAAS,EAET,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,eAAe,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAmBrD;;;GAGG;AACH,SAAS,kBAAkB;IACvB,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC,iBAAiB,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,KAAK,MAAM,EAAE,CAAC;QACtD,OAAO,QAAQ,CAAC,aAAa,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC,UAAU,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,YAAY;IAOb;IANrB,UAAU,CAAc;IACxB,MAAM,CAAgB;IACtB,WAAW,GAAG,KAAK,CAAC;IACpB,gBAAgB,GAAkB,IAAI,CAAC;IACvC,UAAU,CAAc;IAEhC,YAA6B,UAAsB;QAC/C,KAAK,EAAE,CAAC;QADiB,eAAU,GAAV,UAAU,CAAY;IAEnD,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,UAAsB;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACnB,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAE9D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC;YACD,+BAA+B;YAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,uBAAuB;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAEtD,kEAAkE;YAClE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,YAAY,CAAC;YAE5C,MAAM,QAAQ,GAAG,kBAAkB,EAAE,IAAI,QAAQ,CAAC,iBAAiB,CAAC;YACpE,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7D,MAAM,eAAe,GAAG,IAAI,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;YAExE,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC;gBAC7B,SAAS,EAAE,MAAM,EAAE;gBACnB,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;gBAClC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;gBAC5B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;gBAClC,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,YAAY,CAAC,IAAI;gBAC/B,kBAAkB,EAAE;oBAChB,eAAe,EAAE,cAAc,CAAC,KAAK;iBACxC;gBACD,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,IAAI;gBAChB,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,IAAI;gBACnB,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,eAAe;aAClB,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAEnC,mDAAmD;YACnD,MAAM,cAAc,GAAI,IAAI,CAAC,UAAkB,CAAC,cAAc,CAAC;YAC/D,IAAI,cAAc,EAAE,CAAC;gBACjB,cAAc,CAAC,cAAc,CAAC,cAAc,EAAE;oBAC1C,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC;oBAChD,cAAc,EAAE,IAAI;oBACpB,YAAY,EAAE,IAAI;oBAClB,cAAc,EAAE,IAAI;iBACvB,CAAC,CAAC;YACP,CAAC;YAED,sBAAsB;YACtB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAEvD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM,eAAe,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpE,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvD,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,yCAAyC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;QACjC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAClF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,OAAO,EAAE,CAAC;QAE7C,MAAM,UAAU,GAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAEvE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;oBAAE,SAAS;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;gBAE/D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC;wBACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAEnC,6EAA6E;wBAC7E,MAAM,UAAU,GAAwB,EAAE,CAAC;wBAC3C,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;4BACpB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gCAC1D,MAAM,CAAC,GAAG,GAAU,CAAC;gCAErB,4EAA4E;gCAC5E,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAC7C,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAC7C,CAAC;gCACF,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC9C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;oCAC5B,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CACvC,oBAAoB,EACpB,OAAO,CACV,CAAC;gCACN,CAAC;gCAED,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,eAAe,CAClC,CAAC,CAAC,OAAO,EACT,YAAY,EACZ,WAAW,EACX,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAC7C,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAC7C,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,EACjD,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,GAAG,EACL,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,KAAK,CACV,CAAC;4BACN,CAAC;wBACL,CAAC;wBAED,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG,MAAM;4BACT,EAAE,EAAE,MAAM,CAAC,IAAI;4BACf,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,IAAI;4BACd,UAAU;4BACV,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;yBAC1C,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,MAAM,CAAC,KAAK,CAAC,gCAAgC,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC;oBAClE,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,GAAG,CACZ,MAAc,EACd,OAAkC,EAClC,SAAkB,EAClB,WAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,GAAG,GAAG,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAEnC,IAAI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAEtD,sCAAsC;YACtC,6EAA6E;YAC7E,6DAA6D;YAC7D,IAAI,IAAI,CAAC,gBAAgB,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,+CAA+C,GAAG,EAAE,CAAC,CAAC;gBACnE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAC3D,8CAA8C;gBAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,IAAI,SAAS,CAAC,CAAC;gBACjE,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;YAChC,CAAC;YAED,IAAI,mBAAmB,GAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAEpD,gCAAgC;YAChC,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACnC,IAAI,CAAC;wBACD,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACjE,mBAAmB,CAAC,IAAI,CAAC;4BACrB,UAAU,EAAE;gCACR,IAAI;gCACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ;6BAChC;yBACJ,CAAC,CAAC;wBACH,MAAM,CAAC,KAAK,CACR,+BAA+B,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,GAAG,CAC5E,CAAC;oBACN,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAChB,MAAM,CAAC,KAAK,CACR,6BAA6B,UAAU,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CACjE,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,+CAA+C;YACrE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YAC9C,IAAI,eAAe,GAAQ,SAAS,CAAC;YAErC,OAAO,SAAS,GAAG,QAAQ,EAAE,CAAC;gBAC1B,SAAS,EAAE,CAAC;gBACZ,MAAM,YAAY,GAAU,EAAE,CAAC;gBAC/B,IAAI,cAAc,GAAG,KAAK,CAAC;gBAE3B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAChC,mBAAmB,EACnB,eAAe,CAAC,MAAM,EACtB,cAAc,CAAC,kBAAkB;qBACpC,CAAC;gBACN,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,CACR,6BAA6B,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAC3F,CAAC;oBAEF,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,eAAe,EAAE,CAAC;wBACjD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnC,CAAC;oBAED,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;wBAC1C,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;wBAC5C,SAAS,CAAC,sBAAsB;oBACpC,CAAC;oBAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACnD,IAAI,UAAU,EAAE,CAAC;wBACb,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;4BACnD,cAAc,GAAG,IAAI,CAAC;wBAC1B,CAAC;wBACD,OAAO,CAAC,UAAU,CAAC,CAAC;oBACxB,CAAC;gBACL,CAAC;gBAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,MAAM,CAAC,KAAK,CAAC,gCAAgC,SAAS,SAAS,CAAC,CAAC;oBACjE,MAAM;gBACV,CAAC;gBAED,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CACP,oBAAoB,QAAQ,yCAAyC,CACxE,CAAC;oBACF,OAAO,CAAC;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,WAAW;wBACjB,OAAO,EACH,mGAAmG;wBACvG,SAAS,EAAE,GAAG;qBACjB,CAAC,CAAC;oBACH,MAAM;gBACV,CAAC;gBAED,2DAA2D;gBAC3D,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;oBACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;oBAC1B,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;oBAErE,IACI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;wBAC7B,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;wBAC3C,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC;4BAC9B,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EACvD,CAAC;wBACC,MAAM,CAAC,IAAI,CAAC,4CAA4C,WAAW,EAAE,CAAC,CAAC;wBACvE,OAAO,CAAC;4BACJ,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,2GAA2G,WAAW,6JAA6J;4BAC5R,SAAS,EAAE,GAAG;yBACjB,CAAC,CAAC;wBACH,OAAO,KAAK,CAAC;oBACjB,CAAC;oBACD,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAC,CAAC;gBAEH,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/D,0DAA0D;oBAC1D,MAAM;gBACV,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,oBAAoB,CAAC,MAAM,gBAAgB,CAAC,CAAC;gBAE3E,gCAAgC;gBAChC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;oBAC5B,MAAM,EAAE,IAAI,CAAC,UAAU;oBACvB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;oBAC3C,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;oBACnC,WAAW,EAAE,GAAG;iBACnB,CAAC,CAAC;gBAEH,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,QAAQ,CAC3C,oBAAoB,EACpB,eAAe,CAAC,MAAM,CACzB,CAAC;gBAEF,qDAAqD;gBACrD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAClC;wBACI,IAAI,EAAE,eAAe,CAAC,gBAAgB;wBACtC,KAAK,EAAE,IAAI;qBACP,EACR,GAAG,CACN,CAAC;oBACF,IAAI,UAAU;wBAAE,OAAO,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;gBAED,kEAAkE;gBAClE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBAEtE,yCAAyC;gBACzC,mBAAmB,GAAG,cAAc;qBAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACV,oCAAoC;oBACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,IAAK,CAAS,CACnC,CAAC;gBACb,CAAC,CAAC;qBACD,MAAM,CAAC,OAAO,CAAC,CAAC;gBAErB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;oBAC/D,MAAM;gBACV,CAAC;YACL,CAAC;YAED,qDAAqD;YACrD,OAAO,CAAC;gBACJ,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,eAAe;oBACvB,CAAC,CAAC;wBACI,WAAW,EAAE,eAAe,CAAC,gBAAgB,IAAI,CAAC;wBAClD,YAAY,EAAE,eAAe,CAAC,oBAAoB,IAAI,CAAC;wBACvD,YAAY,EAAE,eAAe,CAAC,uBAAuB,IAAI,CAAC;qBAC7D;oBACH,CAAC,CAAC,SAAS;gBACf,SAAS,EAAE,GAAG;aACjB,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;QACjC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,SAAkB;QACnD,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,GAAG,CACV,MAAM,EACN,CAAC,KAAK,EAAE,EAAE;YACN,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC9C,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC;YACjC,CAAC;QACL,CAAC,EACD,SAAS,CACZ,CAAC;QACF,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,cAAc,CAClB,KAA8B,EAC9B,SAAiB;QAEjB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,eAAe,CAAC,OAAO;gBACxB,OAAO;oBACH,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,KAAK,CAAC,KAAK;oBACpB,SAAS;iBACZ,CAAC;YAEN,KAAK,eAAe,CAAC,OAAO;gBACxB,6CAA6C;gBAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO;oBACnC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE;oBACzD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;gBAE9B,OAAO;oBACH,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,WAAW;oBACpB,SAAS;iBACZ,CAAC;YAEN,KAAK,eAAe,CAAC,eAAe;gBAChC,OAAO;oBACH,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;oBAC1B,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;oBAC1B,SAAS;iBACZ,CAAC;YAEN,KAAK,eAAe,CAAC,gBAAgB;gBACjC,iEAAiE;gBACjE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC1C,IAAI,OAAO,GAAG,EAAE,CAAC;gBAEjB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAC9B,OAAO,GAAG,OAAO,CAAC;gBACtB,CAAC;qBAAM,IAAI,OAAO,EAAE,CAAC;oBACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC3B,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;gBACxC,CAAC;gBAED,OAAO;oBACH,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;oBAC5B,OAAO;oBACP,SAAS;iBACZ,CAAC;YAEN,KAAK,eAAe,CAAC,QAAQ;gBACzB,OAAO;oBACH,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa;wBACjC,CAAC,CAAC;4BACI,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,IAAI,CAAC;4BAC5D,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,oBAAoB,IAAI,CAAC;4BACjE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,uBAAuB,IAAI,CAAC;yBACvE;wBACH,CAAC,CAAC,SAAS;oBACf,SAAS;iBACZ,CAAC;YAEN,KAAK,eAAe,CAAC,KAAK;gBACtB,OAAO;oBACH,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC/E,SAAS;iBACZ,CAAC;YAEN;gBACI,OAAO,IAAI,CAAC;QACpB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QAClD,IAAI,CAAC;YACD,yDAAyD;YACzD,kEAAkE;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAE3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YAExC,iEAAiE;YACjE,IAAI,iBAAiB,GAAkB,IAAI,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;oBACpE,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;gBAC/D,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;gBACzD,CAAC;YACL,CAAC;YAED,gDAAgD;YAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC3C,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnF,CAAC;YAED,0DAA0D;YAC1D,gEAAgE;YAChE,MAAM,UAAU,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACvC,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,iBAAiB;wBAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpD,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;YAEd,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBAEvC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC;gBAEtE,IAAI,WAAW,EAAE,CAAC;oBACd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC/D,OAAO;wBACH,YAAY,EAAE,OAAO;wBACrB,QAAQ;qBACX,CAAC;gBACN,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,EAAE,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,uBAAuB,CAChC,SAAiB,EACjB,UAAkB,EAClB,UAAkB;QAElB,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gBACrE,MAAM,CAAC,IAAI,CACP,oEAAoE,SAAS,EAAE,CAClF,CAAC;gBACF,OAAO;YACX,CAAC;YAED,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC;YAEzC,+DAA+D;YAC/D,kDAAkD;YAClD,MAAM,QAAQ,GAAG;gBACb,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,gCAAgC,UAAU,EAAE,EAAE,CAAC;aAClE,CAAC;YAEF,MAAM,SAAS,GAAG;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,6CAA6C,UAAU,EAAE,EAAE,CAAC;aAC/E,CAAC;YAEF,2CAA2C;YAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YAED,qBAAqB;YACrB,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CACP,kEAAkE,SAAS,EAAE,CAChF,CAAC;QACN,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"gemini-engine.js","sourceRoot":"","sources":["../../src/supervisor/gemini-engine.ts"],"names":[],"mappings":"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"}
@@ -82,7 +82,7 @@ export class HeartbeatService {
82
82
  const prompt = `Self-Correction and Autonomous Heartbeat:
83
83
  Review your current objectives using the 'tars-memory' tools (specifically 'memory_list_facts') and check for any pending tasks.
84
84
  If everything is on track and no immediate action is required, reply exactly with 'SILENT_ACK'.
85
- If you detect an issue, a missed deadline, or a high-priority task that needs starting: provide a short internal reasoning, execute the necessary tools, and then use the 'send_discord_message' tool to proactively alert the user of what you are doing.`;
85
+ If you detect an issue, a missed deadline, or a high-priority task that needs starting: provide a short internal reasoning, execute the necessary tools, and then use the 'send_notification' tool to proactively alert the user of what you are doing.`;
86
86
  try {
87
87
  const response = await this.supervisor.executeTask(prompt);
88
88
  if (response.includes('SILENT_ACK')) {
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat-service.js","sourceRoot":"","sources":["../../src/supervisor/heartbeat-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat-service.js","sourceRoot":"","sources":["../../src/supervisor/heartbeat-service.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { SessionManager } from './session-manager.js';
4
4
  import { Supervisor } from './supervisor.js';
5
5
  import { HeartbeatService } from './heartbeat-service.js';
6
6
  import { CronService } from './cron-service.js';
7
- import { DiscordBot } from '../discord/discord-bot.js';
7
+ import { ChannelManager } from '../channels/channel-manager.js';
8
8
  import logger from '../utils/logger.js';
9
9
  import fs from 'fs';
10
10
  import path from 'path';
@@ -45,13 +45,12 @@ function installSystemPrompt(config) {
45
45
  // Read the template and process placeholders
46
46
  let promptContent = fs.readFileSync(srcPrompt, 'utf-8');
47
47
  promptContent = promptContent.replace(/{{ASSISTANT_NAME}}/g, config.assistantName);
48
+ promptContent = promptContent.replace(/{{INSTANCE_NAME}}/g, config.instanceName);
49
+ promptContent = promptContent.replace(/{{INSTANCE_ROLE}}/g, config.instanceRole);
48
50
  // Always overwrite to ensure latest prompt is deployed
49
51
  fs.writeFileSync(config.systemPromptPath, promptContent);
50
52
  logger.info(`📝 System prompt installed: ${config.systemPromptPath}`);
51
53
  }
52
- /**
53
- * Install built-in skills into the Tars runtime directory.
54
- */
55
54
  /**
56
55
  * Install and sync built-in skills into the Tars runtime directory.
57
56
  * Safely updates built-in skills while preserving user-created ones.
@@ -98,7 +97,6 @@ function installSkills(config) {
98
97
  if (!fs.statSync(srcSkillPath).isDirectory())
99
98
  continue;
100
99
  // Remove existing destination (to ensure clean update - e.g. deleting old files)
101
- // This assumes built-in skills are managed entirely by the repo
102
100
  if (fs.existsSync(destSkillPath)) {
103
101
  fs.rmSync(destSkillPath, { recursive: true, force: true });
104
102
  }
@@ -160,7 +158,6 @@ function installAgents(config) {
160
158
  }
161
159
  /**
162
160
  * Automatically install/link extensions and enable them.
163
- * Verifies symlinks are valid and re-links if broken.
164
161
  */
165
162
  function installExtensions(config) {
166
163
  const repoExtensionsDir = path.join(__dirname, '..', '..', 'extensions');
@@ -206,20 +203,18 @@ function installExtensions(config) {
206
203
  catch (e) { }
207
204
  if (needsLink) {
208
205
  try {
209
- // Remove existing file/link if present to prevent EEXIST or to replace link with copy
210
206
  if (fs.existsSync(finalDestPath) ||
211
207
  (fs.existsSync(finalDestPath) && fs.lstatSync(finalDestPath).isSymbolicLink())) {
212
208
  fs.rmSync(finalDestPath, { recursive: true, force: true });
213
209
  }
214
- // Copy instead of symlink to ensure it stays within the workspace
215
- fs.cpSync(srcPath, finalDestPath, { recursive: true });
210
+ fs.symlinkSync(srcPath, finalDestPath);
216
211
  logger.info(`🔌 Integrated extension: ${finalExtName}`);
217
212
  }
218
213
  catch (error) {
219
214
  logger.error(`❌ Failed to integrate extension ${finalExtName}: ${error}`);
220
215
  }
221
216
  }
222
- // Hydration check (Heal missing dependencies on startup)
217
+ // Hydration check
223
218
  const nmPath = path.join(finalDestPath, 'node_modules');
224
219
  if (!fs.existsSync(nmPath)) {
225
220
  logger.info(`💧 Hydrating extension: ${finalExtName}...`);
@@ -247,7 +242,7 @@ function installExtensions(config) {
247
242
  }
248
243
  }
249
244
  }
250
- // 3. Scan installation directory for ALL extensions (including manually added ones)
245
+ // Update enablement
251
246
  const allInstalledExtensions = fs.readdirSync(targetExtensionsDir);
252
247
  for (const extName of allInstalledExtensions) {
253
248
  const extPath = path.join(targetExtensionsDir, extName);
@@ -255,9 +250,7 @@ function installExtensions(config) {
255
250
  continue;
256
251
  if (!fs.statSync(extPath).isDirectory())
257
252
  continue;
258
- // Resolve real path (critical for symlinks to satisfy Gemini workspace safety)
259
253
  const realPath = fs.realpathSync(extPath);
260
- // Ensure enabled with permissive overrides
261
254
  if (!enablement[extName]) {
262
255
  enablement[extName] = { overrides: [] };
263
256
  }
@@ -265,7 +258,6 @@ function installExtensions(config) {
265
258
  overrides.add(path.join(config.homeDir, '*'));
266
259
  overrides.add(path.join(realPath, '*'));
267
260
  enablement[extName].overrides = Array.from(overrides);
268
- logger.debug(`🔧 Configured safety overrides for ${extName}: ${enablement[extName].overrides.join(', ')}`);
269
261
  }
270
262
  fs.writeFileSync(enablementFile, JSON.stringify(enablement, null, 2));
271
263
  }
@@ -282,12 +274,9 @@ function installDefaultSettings(config) {
282
274
  fs.copyFileSync(settingsTemplate, targetSettings);
283
275
  logger.info(`⚙️ Default settings installed: ${targetSettings}`);
284
276
  }
285
- else {
286
- logger.warn('⚠️ Could not locate settings.json-template');
287
- }
288
277
  }
289
278
  /**
290
- * Ensure existing settings.json has required settings (like experimental and agents)
279
+ * Ensure existing settings.json has required settings
291
280
  */
292
281
  function patchSettings(config) {
293
282
  const targetSettings = path.join(config.homeDir, '.gemini', 'settings.json');
@@ -300,39 +289,12 @@ function patchSettings(config) {
300
289
  let modified = false;
301
290
  if (fs.existsSync(settingsTemplate)) {
302
291
  const template = JSON.parse(fs.readFileSync(settingsTemplate, 'utf-8'));
303
- // Shallow merge for each top-level section
304
292
  const sections = ['experimental', 'agents', 'model', 'general'];
305
293
  for (const section of sections) {
306
294
  if (template[section] && !settings[section]) {
307
295
  settings[section] = template[section];
308
296
  modified = true;
309
297
  }
310
- else if (template[section]) {
311
- for (const [key, value] of Object.entries(template[section])) {
312
- if (settings[section][key] === undefined) {
313
- settings[section][key] = value;
314
- modified = true;
315
- }
316
- }
317
- }
318
- }
319
- // Force-update compressionThreshold if it was set too aggressively
320
- if (settings.model?.compressionThreshold !== undefined &&
321
- settings.model.compressionThreshold < 0.5) {
322
- settings.model.compressionThreshold = 0.5;
323
- modified = true;
324
- logger.info('⚙️ Updated compressionThreshold to 0.5 (was too aggressive)');
325
- }
326
- }
327
- else {
328
- // Fallback
329
- if (!settings.experimental) {
330
- settings.experimental = {};
331
- modified = true;
332
- }
333
- if (settings.experimental.enableAgents !== true) {
334
- settings.experimental.enableAgents = true;
335
- modified = true;
336
298
  }
337
299
  }
338
300
  if (modified) {
@@ -354,33 +316,75 @@ async function main() {
354
316
  const config = Config.getInstance();
355
317
  const auditor = new BrainAuditor(config.homeDir);
356
318
  await auditor.audit({ silent: true });
357
- // 2. Install system prompt, skills, extensions and settings
319
+ // 2. Install components
358
320
  installSystemPrompt(config);
359
321
  installSkills(config);
360
322
  installAgents(config);
361
323
  installExtensions(config);
362
324
  installDefaultSettings(config);
363
325
  patchSettings(config);
364
- // 3. Initialize Core Services (without initializing engine yet)
326
+ // 3. Initialize Core Services
365
327
  const gemini = new GeminiEngine(config);
366
328
  const sessionManager = new SessionManager(config.sessionFilePath);
367
329
  const supervisor = new Supervisor(gemini, sessionManager);
368
- // 4. Initialize Interface (Discord)
369
- const discordBot = new DiscordBot(supervisor, config);
370
- // 5. Inject Interface into Engine and Initialize Core
371
- gemini.setDiscordBot(discordBot);
330
+ // 4. Initialize Multi-Channel Interface
331
+ const channelManager = new ChannelManager();
332
+ // 5. Inject Interface into Engine
333
+ gemini.setChannelManager(channelManager);
372
334
  await gemini.initialize();
373
- // 5. Initialize Background Services
335
+ // 6. Connect Routing
336
+ channelManager.onMessage(async (message) => {
337
+ let responseBuffer = '';
338
+ let replyCount = 0;
339
+ const flush = async () => {
340
+ const text = responseBuffer.trim();
341
+ if (!text)
342
+ return;
343
+ let finalContent = text;
344
+ // Prepend the binding alert to the first message if we just auto-bound
345
+ if (replyCount === 0 && message.metadata?.wasAutoBound) {
346
+ finalContent = `🔒 **System Alert:** I have permanently bound my background notification channel to your Discord account.\n\n${finalContent}`;
347
+ }
348
+ await message.reply(finalContent);
349
+ responseBuffer = '';
350
+ replyCount++;
351
+ };
352
+ try {
353
+ await supervisor.run(message.content, async (event) => {
354
+ if (event.type === 'text' && event.content && event.role !== 'user') {
355
+ responseBuffer += event.content;
356
+ }
357
+ else if (event.type === 'tool_call') {
358
+ // If the model had something to say before calling a tool, send it now
359
+ // so the user knows what's happening.
360
+ await flush();
361
+ }
362
+ else if (event.type === 'error') {
363
+ await flush();
364
+ await message.reply(`❌ **Error:** ${event.error}`);
365
+ }
366
+ else if (event.type === 'done') {
367
+ await flush();
368
+ }
369
+ }, undefined, message.attachments);
370
+ }
371
+ catch (error) {
372
+ logger.error(`Routing error: ${error.message}`);
373
+ await message.reply(`❌ **Supervisor Error:** ${error.message}`);
374
+ }
375
+ });
376
+ // 7. Initialize Background Services
374
377
  const heartbeat = new HeartbeatService(supervisor, config, sessionManager);
375
- const cron = new CronService(supervisor, config, discordBot);
376
- // Start Services
377
- await discordBot.start();
378
+ const cron = new CronService(supervisor, config, channelManager);
379
+ // Start everything
380
+ await channelManager.start();
378
381
  await heartbeat.start();
379
382
  await cron.start();
380
383
  logger.info('✨ Tars successfully initialized and running.');
381
384
  // Graceful shutdown
382
385
  process.on('SIGINT', async () => {
383
386
  logger.info('🛑 Shutting down...');
387
+ await channelManager.stop();
384
388
  heartbeat.stop();
385
389
  cron.stop();
386
390
  process.exit(0);
@@ -391,13 +395,8 @@ async function main() {
391
395
  process.exit(1);
392
396
  }
393
397
  }
394
- // 6. Run Main
395
- // Strict Safety Check: The supervisor must be explicitly activated via environment variable.
396
- // This prevents accidental execution via "node dist/supervisor/main.js" which can spawn zombie processes.
397
398
  if (process.env.TARS_SUPERVISOR_MODE !== 'true') {
398
399
  logger.error('❌ TARS_SUPERVISOR_MODE=true is required to start the supervisor.');
399
- logger.error(' This safety check prevents accidental multiple instances.');
400
- logger.error('👉 Use "tars start" or "npm run dev" instead.');
401
400
  process.exit(1);
402
401
  }
403
402
  main();