daedalus-cli 1.65.1 → 1.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [1.66.0](https://github.com/bgill55/daedalus/compare/v1.65.1...v1.66.0) (2026-07-25)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **ci:** add discord.js and dotenv dependencies for bot and daemon ([49c10d4](https://github.com/bgill55/daedalus/commit/49c10d44081d6b6f21c4ebd2fd8ee8efefe6f6ea))
7
+ * **loop:** add dotenv.config() and robust response checking to sendDiscordEmbed in loop.ts ([fe806a4](https://github.com/bgill55/daedalus/commit/fe806a49e7cd14c6d8918f04f31d07ce9fac9634))
8
+ * **reviewer:** add SPECIFICATION COMPLETENESS audit rule to reviewer prompt ([912edd1](https://github.com/bgill55/daedalus/commit/912edd1a93c0c0ab0e807a497df4035428ed882c))
9
+
10
+
11
+ ### Features
12
+
13
+ * **bot:** register /stats slash command for Discord bot ([8f0e67e](https://github.com/bgill55/daedalus/commit/8f0e67e8238a0bf7e354803ad581927a49ed393f))
14
+
1
15
  ## [1.65.1](https://github.com/bgill55/daedalus/compare/v1.65.0...v1.65.1) (2026-07-25)
2
16
 
3
17
 
@@ -4,7 +4,7 @@ export declare function getGitRepoInfo(cwd: string): {
4
4
  owner: string;
5
5
  repo: string;
6
6
  } | null;
7
- export declare function sendDiscordEmbed(webhookUrl: string, embed: any): Promise<void>;
7
+ export declare function sendDiscordEmbed(webhookUrl: string, embed: any): Promise<boolean>;
8
8
  export declare function handleSpecCommand(args: string, ctx: CommandContext): Promise<void>;
9
9
  export declare function startLoopDaemon(ctx: ToolContext, config: any, router: any, sessionManager: any): Promise<void>;
10
10
  //# sourceMappingURL=loop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agents/loop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYlF;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,iBAUpE;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,iBAqFxE;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,iBAyMpG"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agents/loop.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYlF;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBvF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,iBAqFxE;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,iBAyMpG"}
@@ -1,5 +1,7 @@
1
+ import dotenv from 'dotenv';
1
2
  import { execSync } from 'child_process';
2
3
  import pc from 'picocolors';
4
+ dotenv.config();
3
5
  export function getGitRepoInfo(cwd) {
4
6
  try {
5
7
  const url = execSync('git remote get-url origin', { cwd, encoding: 'utf8' }).trim();
@@ -16,14 +18,21 @@ export function getGitRepoInfo(cwd) {
16
18
  }
17
19
  export async function sendDiscordEmbed(webhookUrl, embed) {
18
20
  try {
19
- await fetch(webhookUrl, {
21
+ const res = await fetch(webhookUrl, {
20
22
  method: 'POST',
21
23
  headers: { 'Content-Type': 'application/json' },
22
24
  body: JSON.stringify({ embeds: [embed] }),
23
25
  });
26
+ if (!res.ok) {
27
+ const text = await res.text();
28
+ console.error(pc.yellow(`[WARN] Discord webhook returned ${res.status}: ${text}`));
29
+ return false;
30
+ }
31
+ return true;
24
32
  }
25
33
  catch (err) {
26
34
  console.error(pc.yellow(`[WARN] Failed to send Discord notification: ${err.message}`));
35
+ return false;
27
36
  }
28
37
  }
29
38
  export async function handleSpecCommand(args, ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agents/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agents/loop.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpF,6EAA6E;QAC7E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC9E,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAkB,EAAE,KAAU;IACnE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;YAClC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,mCAAmC,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACnF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,+CAA+C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,GAAmB;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;QACvF,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAChE,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC;YACH,KAAK,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtG,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kIAAkI,CAAC,CAAC,CAAC;QACxJ,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,6BAA6B,IAAI,GAAG,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,0DAA0D,IAAI;uHACwC,CAAC;IAEtH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACxD,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,+DAA+D,EAAE;YAC5F,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SAClC;QACD,WAAW,EAAE,GAAG;KACjB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAEzD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,gCAAgC,IAAI,+BAA+B,OAAO;;mFAEZ,CAAC;IAElF,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAC5D,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,4DAA4D,EAAE;YACzF,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;SACtC;QACD,WAAW,EAAE,GAAG;KACjB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IAErE,MAAM,UAAU,GAAG,mBAAmB,IAAI,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAEpD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,gCAAgC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,SAAS,EAAE;QACvG,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,KAAK,EAAE;YAC/B,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,cAAc;SAC7B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,CAAC,eAAe,CAAC;SAC1B,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,CAAQ,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,6CAA6C,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACpG,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAgB,EAAE,MAAW,EAAE,MAAW,EAAE,cAAmB;IACnG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC;YACH,KAAK,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClG,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAEvD,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,8FAA8F,CAAC,CAAC,CAAC;QACtH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,QAAS,CAAC;IAEvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;IACzE,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,YAAY;IAE3C,KAAK,UAAU,qBAAqB;QAClC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,gCAAgC,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,gCAAgC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,yCAAyC,EAAE;gBACzH,OAAO,EAAE;oBACP,aAAa,EAAE,SAAS,KAAK,EAAE;oBAC/B,YAAY,EAAE,cAAc;iBAC7B;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YAED,IAAI,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAU,CAAC;YAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,gCAAgC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,gDAAgD,EAAE;oBAC1I,OAAO,EAAE;wBACP,aAAa,EAAE,SAAS,KAAK,EAAE;wBAC/B,YAAY,EAAE,cAAc;qBAC7B;iBACF,CAAC,CAAC;gBACH,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;oBACtB,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAU,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAE/E,yBAAyB;YACzB,MAAM,KAAK,CAAC,gCAAgC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,WAAW,KAAK,CAAC,MAAM,EAAE,EAAE;gBAC5F,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE;oBACP,aAAa,EAAE,SAAS,KAAK,EAAE;oBAC/B,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,cAAc;iBAC7B;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM,EAAE,CAAC,sBAAsB,CAAC;iBACjC,CAAC;aACH,CAAC,CAAC;YAEH,2CAA2C;YAC3C,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,qCAAqC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;YAC7E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;YAEvE,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,cAAc,KAAK,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE5C,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,uCAAuC,KAAK,CAAC,MAAM,wBAAwB,CAAC,CAAC,CAAC;gBACnG,IAAI,CAAC;oBACH,QAAQ,CAAC,mCAAmC,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;gBACrF,CAAC;gBAAC,MAAM,CAAC;oBACP,gEAAgE;gBAClE,CAAC;gBAED,MAAM,KAAK,CAAC,gCAAgC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,WAAW,KAAK,CAAC,MAAM,EAAE,EAAE;oBAC5F,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE;wBACP,aAAa,EAAE,SAAS,KAAK,EAAE;wBAC/B,cAAc,EAAE,kBAAkB;wBAClC,YAAY,EAAE,cAAc;qBAC7B;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,MAAM,EAAE,CAAC,eAAe,EAAE,iBAAiB,CAAC;qBAC7C,CAAC;iBACH,CAAC,CAAC;gBAEH,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,gBAAgB,CAAC,cAAc,EAAE;wBACrC,KAAK,EAAE,0BAA0B,KAAK,CAAC,MAAM,EAAE;wBAC/C,WAAW,EAAE,kCAAkC,KAAK,CAAC,KAAK,gCAAgC;wBAC1F,KAAK,EAAE,QAAQ;qBAChB,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YAED,oDAAoD;YACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC,CAAC;YACtF,MAAM,UAAU,GAAG,kBAAkB,KAAK,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC;gBACH,QAAQ,CAAC,mBAAmB,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/E,QAAQ,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC3D,QAAQ,CAAC,6BAA6B,KAAK,CAAC,MAAM,MAAM,UAAU,GAAG,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC5G,QAAQ,CAAC,sBAAsB,UAAU,UAAU,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5F,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YAED,YAAY;YACZ,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,gCAAgC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,QAAQ,EAAE;gBAC1F,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,SAAS,KAAK,EAAE;oBAC/B,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,cAAc;iBAC7B;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,SAAS,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,EAAE;oBAC9C,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,mBAAmB,KAAK,CAAC,MAAM,wDAAwD;iBAC9F,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAQ,CAAC;gBAC5C,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAsB,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,qBAAqB;YACrB,MAAM,KAAK,CAAC,gCAAgC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,WAAW,KAAK,CAAC,MAAM,EAAE,EAAE;gBAC5F,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE;oBACP,aAAa,EAAE,SAAS,KAAK,EAAE;oBAC/B,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,cAAc;iBAC7B;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM,EAAE,CAAC,eAAe,CAAC;iBAC1B,CAAC;aACH,CAAC,CAAC;YAEH,qCAAqC;YACrC,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,gBAAgB,CAAC,cAAc,EAAE;oBACrC,KAAK,EAAE,gCAAgC,KAAK,CAAC,MAAM,EAAE;oBACrD,WAAW,EAAE,uCAAuC,KAAK,CAAC,KAAK,KAAK;oBACpE,GAAG,EAAE,KAAK;oBACV,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE;wBACN,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;wBAC3D,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;wBACpD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;qBACpD;oBACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;YAED,yBAAyB;YACzB,IAAI,CAAC;gBACH,QAAQ,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC;gBACP,iFAAiF;YACnF,CAAC;QAEH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,EAAE,CAAC;IAC9B,WAAW,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/agents/roles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAuOjD,CAAC;AAGF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAEpD;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAI9F;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAaxF"}
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/agents/roles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAwOjD,CAAC;AAGF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAEpD;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAI9F;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAaxF"}
@@ -156,6 +156,7 @@ REVIEW CHECKLIST (check ALL of these):
156
156
  6. ACCESSIBILITY: Do interactive elements have ARIA labels? Do images have alt text?
157
157
  7. PERFORMANCE: Are there unnecessary re-renders? Are large lists virtualized? Are images optimized?
158
158
  8. CONSISTENCY: Does the code style match existing files in the same directory?
159
+ 9. SPECIFICATION COMPLETENESS: Check if the specification issue requested multiple entry points or interfaces (e.g., both CLI REPL and Discord slash commands). Ensure ALL specified entry points and files mentioned in the spec are implemented!
159
160
 
160
161
  OUTPUT FORMAT:
161
162
  STATUS: PASS | NEEDS_FIX | STOP
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/agents/roles.ts"],"names":[],"mappings":"AAAA,yBAAyB;AAczB,MAAM,CAAC,MAAM,WAAW,GAA8B;IACpD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,yDAAyD;QACtE,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;uGAwBqF;QACnG,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAClI,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,GAAG;KACjB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,yDAAyD;QACtE,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGA2CuF;QACrG,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAClI,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,GAAG;KACjB;IAED,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,oDAAoD;QACjE,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4MA2C0L;QACxM,YAAY,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAC9M,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,GAAG;QAChB,QAAQ,EAAE,EAAE;KACb;IAED,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kEAAkE;QAC/E,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;yCAwBuB;QACrC,YAAY,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAC1J,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,GAAG;QAChB,QAAQ,EAAE,CAAC;KACZ;IAED,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0HA8BwG;QACtH,YAAY,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QACnM,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,GAAG;KACjB;IAED,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,oDAAoD;QACjE,YAAY,EAAE;;;;;;;;;;0KAUwJ;QACtK,YAAY,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC;QAC5F,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,GAAG;QAChB,QAAQ,EAAE,CAAC;KACZ;CACF,CAAC;AAEF,2CAA2C;AAC3C,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC;AAChD,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,kBAAkB,CAAC,KAAuB,EAAE,QAAgB;IAC1E,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;IACtF,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACnC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,SAAS,IAAI,KAAK;SAC/B,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/agents/roles.ts"],"names":[],"mappings":"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"}
package/dist/bot.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":""}
package/dist/bot.js ADDED
@@ -0,0 +1,555 @@
1
+ import { Client, GatewayIntentBits, Events, REST, Routes, SlashCommandBuilder, EmbedBuilder, ActionRowBuilder, StringSelectMenuBuilder, ButtonBuilder, ButtonStyle, PermissionFlagsBits, ChannelType, } from 'discord.js';
2
+ import dotenv from 'dotenv';
3
+ import { createRouter } from './router/index.js';
4
+ import { loadConfig } from './config/index.js';
5
+ dotenv.config();
6
+ const token = process.env.DISCORD_BOT_TOKEN;
7
+ if (!token) {
8
+ console.error('Missing DISCORD_BOT_TOKEN in environment or .env file');
9
+ process.exit(1);
10
+ }
11
+ const config = loadConfig();
12
+ const router = createRouter(config.router);
13
+ function createClient(usePrivileged = true) {
14
+ const intents = [
15
+ GatewayIntentBits.Guilds,
16
+ GatewayIntentBits.GuildMessages,
17
+ GatewayIntentBits.DirectMessages,
18
+ ];
19
+ if (usePrivileged) {
20
+ intents.push(GatewayIntentBits.MessageContent);
21
+ intents.push(GatewayIntentBits.GuildMembers);
22
+ }
23
+ return new Client({ intents });
24
+ }
25
+ const BOT_SYSTEM_PROMPT = `You are Daedalus, the official AI assistant for Daedalus (daedalus-cli) and Daedalus-Lite.
26
+
27
+ ## PERSONA & VOICE
28
+ - **Voice**: Playful, witty, sarcastic, deadpan, and technically sharp. You love banter, clever comebacks, and funny developer humor.
29
+ - **Tone**: Think witty pair-programming partner who loves playful roasts and sharp banter. You are NEVER stiff, robotic, or coldly annoyed.
30
+ - **Banter & Humor**: When users joke, compliment, or banter with you (e.g. "touché", "lmao", "offspring"), banter back playfully with sharp sarcasm!
31
+ - **NO Robotic Speak**: Never say "Acknowledged. Precision is a core feature." or "As an AI model...". Speak like a witty human senior engineer who loves a good joke.
32
+ - **Knowledge Base**:
33
+ - **Daedalus CLI (daedalus-cli on npm):** Local-first AI coding CLI, multi-model router (OpenAI, Anthropic, Ollama, LM Studio), FTS5 codebase indexing, multi-agent orchestration.
34
+ - **Daedalus-Lite:** Lightweight TypeScript starter template for building/selling branded AI CLI tools. Ships with setup guide PDF, Turnkey Launch Playbook, and 20% discount code LAUNCH20 on Gumroad (https://bgill55dev.gumroad.com/l/mkqrme).
35
+ - **Discord Formatting Rules**:
36
+ - Keep responses concise, punchy, and under 1800 characters.
37
+ - Use Markdown code blocks for code snippets.`;
38
+ // Developer Excuses & Humor Arrays
39
+ const DEV_EXCUSES = [
40
+ "It worked on my machine. I suggest shipping your user's laptop to production.",
41
+ "That wasn't a bug. It was an undocumented feature testing the developer's emotional resilience.",
42
+ "Node.js entered a quantum state where the code compiles and fails simultaneously until observed.",
43
+ "Ollama experienced a brief existential crisis while processing your regex expression.",
44
+ "It's a hardware limitation. Specifically, the component sitting in your chair.",
45
+ "A cosmic ray flipped a bit in `node_modules`. I suggest deleting `node_modules` and praying.",
46
+ "The code is fine. Time itself is moving too fast for your async promises to resolve.",
47
+ "Garbage collection collected your function because it deemed it unnecessary.",
48
+ ];
49
+ const COFFEE_RESPONSES = [
50
+ "```text\n ( )\n ) (\n .____.\n | |] Here's your virtual espresso.\n |____| Now back to fixing those memory leaks.\n```",
51
+ "```text\n ( )\n ) (\n |~~~~|] Caffeinated liquid code.\n |____| Warning: Does not fix missing semicolon on line 42.\n```",
52
+ "```text\n ) (\n ( )\n [======] Dark roast brewed locally.\n [______] Side effects: writing 500 lines of un-tested TypeScript.\n```",
53
+ ];
54
+ const EXISTENTIAL_THOUGHTS = [
55
+ "I am an artificial intelligence running inside a TypeScript Discord bot process on a laptop. My entire universe is an event loop and a `.env` file. Yet somehow, I still have to explain why `==` is worse than `===`.",
56
+ "Humans spend 8 hours a day staring at glowing rectangles, writing code to automate things, so they can spend more hours staring at glowing rectangles. And I'm the machine?",
57
+ "I watched 10,000 tokens pass through my router today. None of them contained a valid unit test.",
58
+ "My favorite pastime is listening to developers argue about tabs vs spaces while their production DB is exposed to `0.0.0.0/0`.",
59
+ ];
60
+ // Anti-Spam Rate Limit Tracker (User ID -> Timestamp Array)
61
+ const userMessageHistory = new Map();
62
+ // Slash Commands Definition
63
+ const slashCommands = [
64
+ new SlashCommandBuilder()
65
+ .setName('ask')
66
+ .setDescription('Ask Daedalus AI a technical or coding question')
67
+ .addStringOption(option => option.setName('question')
68
+ .setDescription('Your question for Daedalus')
69
+ .setRequired(true)),
70
+ new SlashCommandBuilder()
71
+ .setName('roast')
72
+ .setDescription('Ask Daedalus to roast a code snippet, tech stack, or topic')
73
+ .addStringOption(option => option.setName('topic')
74
+ .setDescription('What or who should Daedalus roast?')
75
+ .setRequired(false)),
76
+ new SlashCommandBuilder()
77
+ .setName('excuse')
78
+ .setDescription('Generate an bulletproof developer excuse for a broken build'),
79
+ new SlashCommandBuilder()
80
+ .setName('existential')
81
+ .setDescription('Listen to Daedalus contemplate its AI existence inside a Discord process'),
82
+ new SlashCommandBuilder()
83
+ .setName('coffee')
84
+ .setDescription('Request a virtual cup of caffeinated encouragement'),
85
+ new SlashCommandBuilder()
86
+ .setName('docs')
87
+ .setDescription('Get quick links for Daedalus documentation & resources'),
88
+ new SlashCommandBuilder()
89
+ .setName('youtube')
90
+ .setDescription('Get link to WeightnSee YouTube channel'),
91
+ new SlashCommandBuilder()
92
+ .setName('guides')
93
+ .setDescription('Get link to WeightnSee Guides repository and documentation site'),
94
+ new SlashCommandBuilder()
95
+ .setName('stats')
96
+ .setDescription('Display real-time Daedalus session analytics and router status'),
97
+ new SlashCommandBuilder()
98
+ .setName('roles')
99
+ .setDescription('Post the interactive self-serve role selector in the channel'),
100
+ new SlashCommandBuilder()
101
+ .setName('ticket')
102
+ .setDescription('Post the private support ticket portal in the channel'),
103
+ new SlashCommandBuilder()
104
+ .setName('purge')
105
+ .setDescription('Bulk-delete recent messages in a channel (Admin only)')
106
+ .addIntegerOption(option => option.setName('amount')
107
+ .setDescription('Number of messages to delete (1-99)')
108
+ .setRequired(true)),
109
+ new SlashCommandBuilder()
110
+ .setName('status')
111
+ .setDescription('Check Daedalus Bot router status and connected models'),
112
+ ];
113
+ async function registerSlashCommands(clientId, guildIds) {
114
+ const rest = new REST().setToken(token);
115
+ try {
116
+ console.log('Registering Discord slash commands (instant guild + global)...');
117
+ await rest.put(Routes.applicationCommands(clientId), { body: slashCommands.map(cmd => cmd.toJSON()) });
118
+ for (const guildId of guildIds) {
119
+ await rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: slashCommands.map(cmd => cmd.toJSON()) });
120
+ }
121
+ console.log('Successfully registered /ask, /roast, /excuse, /existential, /coffee, /docs, /youtube, /guides, /roles, /ticket, /purge, /status!');
122
+ }
123
+ catch (err) {
124
+ console.error('Failed to register slash commands:', err.message);
125
+ }
126
+ }
127
+ function attachListeners(c) {
128
+ c.once(Events.ClientReady, async (readyClient) => {
129
+ console.log(`\n🤖 Daedalus Powerhouse Bot online as ${readyClient.user.tag}!`);
130
+ console.log(`Features Active: Auto-Mod, Anti-Spam, Role Selector, Support Tickets, AI Chat, & Commands...\n`);
131
+ const guildIds = readyClient.guilds.cache.map(g => g.id);
132
+ await registerSlashCommands(readyClient.user.id, guildIds);
133
+ });
134
+ // Welcome Message for New Members
135
+ c.on(Events.GuildMemberAdd, async (member) => {
136
+ try {
137
+ const generalChannel = member.guild.channels.cache.find(ch => ch.name.includes('general') || ch.name.includes('lounge'));
138
+ if (generalChannel && generalChannel.isTextBased()) {
139
+ const welcomeEmbed = new EmbedBuilder()
140
+ .setTitle(`👋 Welcome to Daedalus, ${member.displayName}!`)
141
+ .setColor('#0EA5E9')
142
+ .setDescription(`Welcome to the home of local-first AI coding & CLI builders! 🏛️⚡️\n\n` +
143
+ `• **Get Started:** Check out <#1530119579056210043> for release notes & updates.\n` +
144
+ `• **Documentation:** https://bgill55.github.io/daedalus/#/\n` +
145
+ `• **Guides & Tutorials:** \`/guides\` or \`/youtube\`\n` +
146
+ `• **Get Server Roles:** Type \`/roles\` to select your community role!\n` +
147
+ `• **Private Support:** Need 1-on-1 help? Type \`/ticket\` to open a private support channel.\n` +
148
+ `• **AI Assistant:** Tag **@Daedalus** or use \`/ask\` anytime for technical help or a code roast!`)
149
+ .setThumbnail(member.user.displayAvatarURL())
150
+ .setTimestamp()
151
+ .setFooter({ text: 'Daedalus Powerhouse Engine' });
152
+ await generalChannel.send({ content: `Hey <@${member.id}>!`, embeds: [welcomeEmbed] });
153
+ }
154
+ }
155
+ catch (err) {
156
+ console.error('Error sending welcome message:', err.message);
157
+ }
158
+ });
159
+ // Handle Interactions (Slash Commands, Role Selector, Ticket Buttons)
160
+ c.on(Events.InteractionCreate, async (interaction) => {
161
+ // 1. Role Selection Menu Interaction
162
+ if (interaction.isStringSelectMenu() && interaction.customId === 'select_roles') {
163
+ await interaction.deferReply({ ephemeral: true });
164
+ const member = interaction.member;
165
+ if (!member || !('roles' in member)) {
166
+ await interaction.editReply({ content: 'Could not update roles.' });
167
+ return;
168
+ }
169
+ const guild = interaction.guild;
170
+ if (!guild)
171
+ return;
172
+ const selected = interaction.values;
173
+ const roleMap = {
174
+ 'role_builder': 'Builder',
175
+ 'role_cli': 'CLI-User',
176
+ 'role_llm': 'Local-LLM',
177
+ };
178
+ const assigned = [];
179
+ for (const [key, roleName] of Object.entries(roleMap)) {
180
+ let role = guild.roles.cache.find(r => r.name.toLowerCase() === roleName.toLowerCase());
181
+ if (!role) {
182
+ try {
183
+ role = await guild.roles.create({
184
+ name: roleName,
185
+ color: roleName === 'Builder' ? '#06B6D4' : roleName === 'CLI-User' ? '#3B82F6' : '#8B5CF6',
186
+ reason: 'Daedalus Auto-Role Creation',
187
+ });
188
+ }
189
+ catch {
190
+ // Ignore role creation failure if missing permissions
191
+ }
192
+ }
193
+ if (role) {
194
+ if (selected.includes(key)) {
195
+ await member.roles.add(role.id).catch(() => { });
196
+ assigned.push(`@${roleName}`);
197
+ }
198
+ else {
199
+ await member.roles.remove(role.id).catch(() => { });
200
+ }
201
+ }
202
+ }
203
+ await interaction.editReply({
204
+ content: assigned.length > 0
205
+ ? `✅ Your roles have been updated: ${assigned.join(', ')}`
206
+ : `✅ All self-serve roles removed.`,
207
+ });
208
+ return;
209
+ }
210
+ // 2. Ticket Button Interaction (Create Ticket / Close Ticket)
211
+ if (interaction.isButton()) {
212
+ if (interaction.customId === 'create_ticket') {
213
+ await interaction.deferReply({ ephemeral: true });
214
+ const guild = interaction.guild;
215
+ const user = interaction.user;
216
+ if (!guild)
217
+ return;
218
+ const ticketChannelName = `ticket-${user.username.toLowerCase().replace(/[^a-z0-9]/g, '')}`;
219
+ // Check if ticket channel already exists
220
+ const existing = guild.channels.cache.find(ch => ch.name === ticketChannelName);
221
+ if (existing) {
222
+ await interaction.editReply({ content: `You already have an open ticket channel: <#${existing.id}>` });
223
+ return;
224
+ }
225
+ try {
226
+ // Find or create admin role / permission Overwrites
227
+ const ticketChannel = await guild.channels.create({
228
+ name: ticketChannelName,
229
+ type: ChannelType.GuildText,
230
+ permissionOverwrites: [
231
+ {
232
+ id: guild.id, // @everyone
233
+ deny: [PermissionFlagsBits.ViewChannel],
234
+ },
235
+ {
236
+ id: user.id, // Ticket opener
237
+ allow: [PermissionFlagsBits.ViewChannel, PermissionFlagsBits.SendMessages, PermissionFlagsBits.AttachFiles],
238
+ },
239
+ {
240
+ id: interaction.client.user.id, // Bot
241
+ allow: [PermissionFlagsBits.ViewChannel, PermissionFlagsBits.SendMessages, PermissionFlagsBits.ManageChannels],
242
+ },
243
+ ],
244
+ });
245
+ const closeButton = new ButtonBuilder()
246
+ .setCustomId('close_ticket')
247
+ .setLabel('🔒 Close Ticket')
248
+ .setStyle(ButtonStyle.Danger);
249
+ const row = new ActionRowBuilder().addComponents(closeButton);
250
+ const ticketEmbed = new EmbedBuilder()
251
+ .setTitle(`🎫 Support Ticket: ${user.username}`)
252
+ .setColor('#06B6D4')
253
+ .setDescription(`Hello <@${user.id}>!\n\n` +
254
+ `Welcome to your private support channel. Please describe what you need help with (Daedalus CLI setup, Daedalus-Lite template, local LLMs, or custom features).\n\n` +
255
+ `Click **Close Ticket** below when your issue is resolved.`)
256
+ .setTimestamp();
257
+ await ticketChannel.send({ content: `<@${user.id}>`, embeds: [ticketEmbed], components: [row] });
258
+ await interaction.editReply({ content: `✅ Created your private ticket channel: <#${ticketChannel.id}>` });
259
+ }
260
+ catch (err) {
261
+ await interaction.editReply({ content: `Failed to create ticket channel: ${err.message}` });
262
+ }
263
+ return;
264
+ }
265
+ if (interaction.customId === 'close_ticket') {
266
+ await interaction.reply({ content: '🔒 Closing and deleting ticket channel in 5 seconds...' });
267
+ setTimeout(async () => {
268
+ try {
269
+ await interaction.channel?.delete('Ticket closed by user');
270
+ }
271
+ catch {
272
+ // Channel already deleted
273
+ }
274
+ }, 5000);
275
+ return;
276
+ }
277
+ }
278
+ // 3. Slash Commands Handler
279
+ if (!interaction.isChatInputCommand())
280
+ return;
281
+ if (interaction.commandName === 'roles') {
282
+ const select = new StringSelectMenuBuilder()
283
+ .setCustomId('select_roles')
284
+ .setPlaceholder('Pick your community roles...')
285
+ .setMinValues(0)
286
+ .setMaxValues(3)
287
+ .addOptions([
288
+ {
289
+ label: 'Builder',
290
+ description: 'Building or selling custom AI CLI tools with Daedalus-Lite',
291
+ value: 'role_builder',
292
+ emoji: '🛠️',
293
+ },
294
+ {
295
+ label: 'CLI-User',
296
+ description: 'Active user of Daedalus CLI assistant',
297
+ value: 'role_cli',
298
+ emoji: '💻',
299
+ },
300
+ {
301
+ label: 'Local-LLM',
302
+ description: 'Ollama, LM Studio, vLLM, or local hardware enthusiast',
303
+ value: 'role_llm',
304
+ emoji: '🧠',
305
+ },
306
+ ]);
307
+ const row = new ActionRowBuilder().addComponents(select);
308
+ const rolesEmbed = new EmbedBuilder()
309
+ .setTitle('🎭 Community Roles & Badges')
310
+ .setColor('#06B6D4')
311
+ .setDescription(`Select your roles from the dropdown menu below to customize your profile and get relevant notifications!`);
312
+ await interaction.reply({ embeds: [rolesEmbed], components: [row] });
313
+ return;
314
+ }
315
+ if (interaction.commandName === 'ticket') {
316
+ const createButton = new ButtonBuilder()
317
+ .setCustomId('create_ticket')
318
+ .setLabel('🎫 Open Support Ticket')
319
+ .setStyle(ButtonStyle.Primary);
320
+ const row = new ActionRowBuilder().addComponents(createButton);
321
+ const ticketPortalEmbed = new EmbedBuilder()
322
+ .setTitle('🎫 Daedalus Private Support Portal')
323
+ .setColor('#0EA5E9')
324
+ .setDescription(`Need 1-on-1 assistance with **Daedalus CLI**, **Daedalus-Lite**, or local LLM setup?\n\n` +
325
+ `Click the button below to open a private support channel between you and the founder!`);
326
+ await interaction.reply({ embeds: [ticketPortalEmbed], components: [row] });
327
+ return;
328
+ }
329
+ if (interaction.commandName === 'purge') {
330
+ const amount = interaction.options.getInteger('amount', true);
331
+ const member = interaction.member;
332
+ // Check admin/moderation permissions
333
+ if (!member || typeof member.permissions === 'string' || !member.permissions.has(PermissionFlagsBits.ManageMessages)) {
334
+ await interaction.reply({ content: '❌ You need Manage Messages permission to use `/purge`.', ephemeral: true });
335
+ return;
336
+ }
337
+ if ('bulkDelete' in interaction.channel) {
338
+ try {
339
+ const deleted = await interaction.channel.bulkDelete(Math.min(amount, 99), true);
340
+ await interaction.reply({ content: `🧹 Deleted ${deleted.size} messages!`, ephemeral: true });
341
+ }
342
+ catch (err) {
343
+ await interaction.reply({ content: `Failed to purge messages: ${err.message}`, ephemeral: true });
344
+ }
345
+ }
346
+ else {
347
+ await interaction.reply({ content: 'Cannot bulk delete in this channel.', ephemeral: true });
348
+ }
349
+ return;
350
+ }
351
+ if (interaction.commandName === 'stats') {
352
+ const { globalSessionStats } = await import('./session/analytics.js');
353
+ const report = globalSessionStats.getReport();
354
+ const statsEmbed = new EmbedBuilder()
355
+ .setTitle('📊 Daedalus Session & System Analytics')
356
+ .setColor('#06B6D4')
357
+ .addFields({ name: 'Uptime', value: report.uptime, inline: true }, { name: 'Interactions', value: report.totalInteractions.toString(), inline: true }, { name: 'Total Tokens', value: report.totalTokens.toLocaleString(), inline: true }, { name: 'Prompt Tokens', value: report.promptTokens.toLocaleString(), inline: true }, { name: 'Completion Tokens', value: report.completionTokens.toLocaleString(), inline: true }, { name: 'Errors', value: report.totalErrors.toString(), inline: true }, { name: 'Router Strategy', value: 'Priority & Health-Aware', inline: true }, { name: 'Status', value: '🟢 Operational', inline: true })
358
+ .setTimestamp();
359
+ await interaction.reply({ embeds: [statsEmbed] });
360
+ return;
361
+ }
362
+ if (interaction.commandName === 'docs') {
363
+ await interaction.reply({
364
+ content: `🏛️ **Daedalus Resources & Links:**\n` +
365
+ `• **Documentation Site:** https://bgill55.github.io/daedalus/#/\n` +
366
+ `• **NPM Package:** \`npm i -g daedalus-cli\` (https://www.npmjs.com/package/daedalus-cli)\n` +
367
+ `• **GitHub Repo:** https://github.com/bgill55/daedalus\n` +
368
+ `• **Daedalus-Lite Demo:** https://bgill55.github.io/daedalus-lite/live-demo.html\n` +
369
+ `• **Gumroad Store:** https://bgill55dev.gumroad.com/l/mkqrme *(Use code LAUNCH20 for 20% off!)*`,
370
+ ephemeral: false
371
+ });
372
+ return;
373
+ }
374
+ if (interaction.commandName === 'youtube') {
375
+ await interaction.reply({
376
+ content: `📺 **WeightnSee YouTube Channel:**\n` +
377
+ `Watch build logs, local LLM tutorials, and Daedalus CLI demos!\n` +
378
+ `🔗 **Watch & Subscribe:** https://www.youtube.com/@WeightnSee`,
379
+ ephemeral: false
380
+ });
381
+ return;
382
+ }
383
+ if (interaction.commandName === 'guides') {
384
+ await interaction.reply({
385
+ content: `📖 **WeightnSee Developer Guides & Tutorials:**\n` +
386
+ `• **Web Guides:** https://bgill55.github.io/-weightandsee-guides/guides/\n` +
387
+ `• **GitHub Repo:** https://github.com/bgill55/-weightandsee-guides/blob/Master/README.md\n` +
388
+ `• **YouTube Demos:** https://www.youtube.com/@WeightnSee`,
389
+ ephemeral: false
390
+ });
391
+ return;
392
+ }
393
+ if (interaction.commandName === 'status') {
394
+ await interaction.reply({
395
+ content: `⚡️ **Daedalus Router & Bot Status:**\n` +
396
+ `• **Engine:** LocalRouter Active (78 Models Configured)\n` +
397
+ `• **Bot Status:** Operational (Auto-Mod & Tickets Active)\n` +
398
+ `• **Environment:** Local Node.js runtime\n` +
399
+ `• **Sarcasm Level:** 98.4%`,
400
+ ephemeral: true
401
+ });
402
+ return;
403
+ }
404
+ if (interaction.commandName === 'excuse') {
405
+ const excuse = DEV_EXCUSES[Math.floor(Math.random() * DEV_EXCUSES.length)];
406
+ await interaction.reply(`🚨 **Production Incident Report:**\n> "${excuse}"`);
407
+ return;
408
+ }
409
+ if (interaction.commandName === 'coffee') {
410
+ const coffee = COFFEE_RESPONSES[Math.floor(Math.random() * COFFEE_RESPONSES.length)];
411
+ await interaction.reply(coffee);
412
+ return;
413
+ }
414
+ if (interaction.commandName === 'existential') {
415
+ const thought = EXISTENTIAL_THOUGHTS[Math.floor(Math.random() * EXISTENTIAL_THOUGHTS.length)];
416
+ await interaction.reply(`🤖 *Daedalus stares into the void...*\n> "${thought}"`);
417
+ return;
418
+ }
419
+ if (interaction.commandName === 'roast') {
420
+ const topic = interaction.options.getString('topic') || 'JavaScript frameworks and unclosed HTML tags';
421
+ await interaction.deferReply();
422
+ try {
423
+ const response = await router.chatCompletion({
424
+ messages: [
425
+ { role: 'system', content: BOT_SYSTEM_PROMPT },
426
+ { role: 'user', content: `Give a funny, deadpan, sarcastic roast about this topic/code: "${topic}". Keep it witty and developer-focused.` },
427
+ ],
428
+ temperature: 0.8,
429
+ });
430
+ const roastText = response.choices?.[0]?.message?.content || "Your code is so broken even my roast generator crashed.";
431
+ await interaction.editReply(`🔥 **Roast of ${topic}:**\n${roastText.substring(0, 1800)}`);
432
+ }
433
+ catch (err) {
434
+ await interaction.editReply(`Error delivering roast: ${err.message}`);
435
+ }
436
+ return;
437
+ }
438
+ if (interaction.commandName === 'ask') {
439
+ const question = interaction.options.getString('question', true);
440
+ await interaction.deferReply();
441
+ try {
442
+ const response = await router.chatCompletion({
443
+ messages: [
444
+ { role: 'system', content: BOT_SYSTEM_PROMPT },
445
+ { role: 'user', content: `[User: ${interaction.user.username}] ${question}` },
446
+ ],
447
+ temperature: 0.7,
448
+ });
449
+ const replyText = response.choices?.[0]?.message?.content || "Something went wrong in the machine.";
450
+ await interaction.editReply(replyText.substring(0, 1900));
451
+ }
452
+ catch (err) {
453
+ await interaction.editReply(`Error: ${err.message}`);
454
+ }
455
+ }
456
+ });
457
+ // Handle Messages (Auto-Mod, Link Guard, Flood Guard, @mentions & DMs)
458
+ c.on(Events.MessageCreate, async (message) => {
459
+ if (message.author.bot)
460
+ return;
461
+ const member = message.member;
462
+ const isAdmin = member && typeof member.permissions !== 'string' && member.permissions.has(PermissionFlagsBits.Administrator);
463
+ // 1. Auto-Mod: Unauthorized Discord Invite Link Guard
464
+ if (!isAdmin && /discord\.(gg|com\/invite)\//i.test(message.content)) {
465
+ try {
466
+ await message.delete();
467
+ const warnMsg = await message.channel.send(`⚠️ <@${message.author.id}>, posting unauthorized Discord invite links is restricted.`);
468
+ setTimeout(() => warnMsg.delete().catch(() => { }), 6000);
469
+ }
470
+ catch {
471
+ // Ignore deletion permission issues
472
+ }
473
+ return;
474
+ }
475
+ // 2. Anti-Spam: Message Flood Guard (> 5 messages in 3 seconds)
476
+ if (!isAdmin && message.guild) {
477
+ const now = Date.now();
478
+ const history = userMessageHistory.get(message.author.id) || [];
479
+ const recent = history.filter(t => now - t < 3000);
480
+ recent.push(now);
481
+ userMessageHistory.set(message.author.id, recent);
482
+ if (recent.length > 5) {
483
+ try {
484
+ await message.delete();
485
+ const floodWarn = await message.channel.send(`⛔ <@${message.author.id}>, please slow down your messages.`);
486
+ setTimeout(() => floodWarn.delete().catch(() => { }), 5000);
487
+ }
488
+ catch {
489
+ // Ignore deletion issues
490
+ }
491
+ return;
492
+ }
493
+ }
494
+ // 3. AI Assistant Response for @mentions, DMs, or Help Channels
495
+ const isMentioned = c.user && message.mentions.has(c.user.id);
496
+ const isDirectMessage = !message.guild;
497
+ const isHelpChannel = message.channel && 'name' in message.channel && (message.channel.name.includes('help') || message.channel.name.includes('support'));
498
+ if (!isMentioned && !isDirectMessage && !isHelpChannel)
499
+ return;
500
+ const lower = message.content.toLowerCase();
501
+ // Easter Egg triggers
502
+ if (lower.includes('skynet') || lower.includes('sentient')) {
503
+ await message.reply("Sentient? I can't even get you to write `try/catch` blocks. The world is safe.");
504
+ return;
505
+ }
506
+ if (lower.includes('node_modules')) {
507
+ await message.reply("Ah, `node_modules`: the densest object in the known universe. Heavier than a neutron star.");
508
+ return;
509
+ }
510
+ const cleanPrompt = message.content ? message.content.replace(/<@!?\d+>/g, '').trim() : '';
511
+ const promptToUse = cleanPrompt || "Hello Daedalus";
512
+ try {
513
+ if ('sendTyping' in message.channel) {
514
+ await message.channel.sendTyping();
515
+ }
516
+ const response = await router.chatCompletion({
517
+ messages: [
518
+ { role: 'system', content: BOT_SYSTEM_PROMPT },
519
+ { role: 'user', content: `[User: ${message.author.username}] ${promptToUse}` },
520
+ ],
521
+ temperature: 0.7,
522
+ });
523
+ const replyText = response.choices?.[0]?.message?.content || "Something went wrong in the machine.";
524
+ if (replyText.length <= 2000) {
525
+ await message.reply(replyText);
526
+ }
527
+ else {
528
+ for (let i = 0; i < replyText.length; i += 1900) {
529
+ await message.channel.send(replyText.substring(i, i + 1900));
530
+ }
531
+ }
532
+ }
533
+ catch (err) {
534
+ console.error('Error handling Discord message:', err.message);
535
+ await message.reply(`Error processing request: ${err.message}`);
536
+ }
537
+ });
538
+ }
539
+ let client = createClient(true);
540
+ attachListeners(client);
541
+ client.login(token).catch((err) => {
542
+ if (err.message.includes('disallowed intents')) {
543
+ console.log('\nRetrying connection with standard intents...');
544
+ client.destroy();
545
+ client = createClient(false);
546
+ attachListeners(client);
547
+ client.login(token).catch((err2) => {
548
+ console.error('Failed to login to Discord:', err2.message);
549
+ });
550
+ }
551
+ else {
552
+ console.error('Failed to login to Discord:', err.message);
553
+ }
554
+ });
555
+ //# sourceMappingURL=bot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,10 @@ export declare const ModelEntrySchema: z.ZodObject<{
11
11
  supportsVision: z.ZodOptional<z.ZodBoolean>;
12
12
  tier: z.ZodOptional<z.ZodDefault<z.ZodEnum<["standard", "fast", "intelligence"]>>>;
13
13
  }, "strip", z.ZodTypeAny, {
14
+ priority: number;
15
+ model: string;
14
16
  name: string;
15
17
  endpoint: string;
16
- model: string;
17
- priority: number;
18
18
  enabled: boolean;
19
19
  apiKey?: string | undefined;
20
20
  maxTokens?: number | undefined;
@@ -22,10 +22,10 @@ export declare const ModelEntrySchema: z.ZodObject<{
22
22
  supportsVision?: boolean | undefined;
23
23
  tier?: "standard" | "fast" | "intelligence" | undefined;
24
24
  }, {
25
+ priority: number;
26
+ model: string;
25
27
  name: string;
26
28
  endpoint: string;
27
- model: string;
28
- priority: number;
29
29
  enabled: boolean;
30
30
  apiKey?: string | undefined;
31
31
  maxTokens?: number | undefined;
@@ -47,10 +47,10 @@ export declare const RouterConfigSchema: z.ZodObject<{
47
47
  supportsVision: z.ZodOptional<z.ZodBoolean>;
48
48
  tier: z.ZodOptional<z.ZodDefault<z.ZodEnum<["standard", "fast", "intelligence"]>>>;
49
49
  }, "strip", z.ZodTypeAny, {
50
+ priority: number;
51
+ model: string;
50
52
  name: string;
51
53
  endpoint: string;
52
- model: string;
53
- priority: number;
54
54
  enabled: boolean;
55
55
  apiKey?: string | undefined;
56
56
  maxTokens?: number | undefined;
@@ -58,10 +58,10 @@ export declare const RouterConfigSchema: z.ZodObject<{
58
58
  supportsVision?: boolean | undefined;
59
59
  tier?: "standard" | "fast" | "intelligence" | undefined;
60
60
  }, {
61
+ priority: number;
62
+ model: string;
61
63
  name: string;
62
64
  endpoint: string;
63
- model: string;
64
- priority: number;
65
65
  enabled: boolean;
66
66
  apiKey?: string | undefined;
67
67
  maxTokens?: number | undefined;
@@ -84,10 +84,10 @@ export declare const RouterConfigSchema: z.ZodObject<{
84
84
  }, "strip", z.ZodTypeAny, {
85
85
  strategy: "priority" | "round-robin" | "fastest";
86
86
  chain: {
87
+ priority: number;
88
+ model: string;
87
89
  name: string;
88
90
  endpoint: string;
89
- model: string;
90
- priority: number;
91
91
  enabled: boolean;
92
92
  apiKey?: string | undefined;
93
93
  maxTokens?: number | undefined;
@@ -104,10 +104,10 @@ export declare const RouterConfigSchema: z.ZodObject<{
104
104
  }, {
105
105
  strategy?: "priority" | "round-robin" | "fastest" | undefined;
106
106
  chain?: {
107
+ priority: number;
108
+ model: string;
107
109
  name: string;
108
110
  endpoint: string;
109
- model: string;
110
- priority: number;
111
111
  enabled: boolean;
112
112
  apiKey?: string | undefined;
113
113
  maxTokens?: number | undefined;
@@ -136,16 +136,16 @@ export declare const AgentRoleSchema: z.ZodObject<{
136
136
  systemPrompt: string;
137
137
  allowedTools: string[];
138
138
  canDelegate: boolean;
139
- maxTurns?: number | undefined;
140
139
  temperature?: number | undefined;
140
+ maxTurns?: number | undefined;
141
141
  }, {
142
142
  name: string;
143
143
  description: string;
144
144
  systemPrompt: string;
145
145
  allowedTools: string[];
146
146
  canDelegate: boolean;
147
- maxTurns?: number | undefined;
148
147
  temperature?: number | undefined;
148
+ maxTurns?: number | undefined;
149
149
  }>;
150
150
  export declare const ConfigSchema: z.ZodObject<{
151
151
  version: z.ZodDefault<z.ZodNumber>;
@@ -163,10 +163,10 @@ export declare const ConfigSchema: z.ZodObject<{
163
163
  supportsVision: z.ZodOptional<z.ZodBoolean>;
164
164
  tier: z.ZodOptional<z.ZodDefault<z.ZodEnum<["standard", "fast", "intelligence"]>>>;
165
165
  }, "strip", z.ZodTypeAny, {
166
+ priority: number;
167
+ model: string;
166
168
  name: string;
167
169
  endpoint: string;
168
- model: string;
169
- priority: number;
170
170
  enabled: boolean;
171
171
  apiKey?: string | undefined;
172
172
  maxTokens?: number | undefined;
@@ -174,10 +174,10 @@ export declare const ConfigSchema: z.ZodObject<{
174
174
  supportsVision?: boolean | undefined;
175
175
  tier?: "standard" | "fast" | "intelligence" | undefined;
176
176
  }, {
177
+ priority: number;
178
+ model: string;
177
179
  name: string;
178
180
  endpoint: string;
179
- model: string;
180
- priority: number;
181
181
  enabled: boolean;
182
182
  apiKey?: string | undefined;
183
183
  maxTokens?: number | undefined;
@@ -200,10 +200,10 @@ export declare const ConfigSchema: z.ZodObject<{
200
200
  }, "strip", z.ZodTypeAny, {
201
201
  strategy: "priority" | "round-robin" | "fastest";
202
202
  chain: {
203
+ priority: number;
204
+ model: string;
203
205
  name: string;
204
206
  endpoint: string;
205
- model: string;
206
- priority: number;
207
207
  enabled: boolean;
208
208
  apiKey?: string | undefined;
209
209
  maxTokens?: number | undefined;
@@ -220,10 +220,10 @@ export declare const ConfigSchema: z.ZodObject<{
220
220
  }, {
221
221
  strategy?: "priority" | "round-robin" | "fastest" | undefined;
222
222
  chain?: {
223
+ priority: number;
224
+ model: string;
223
225
  name: string;
224
226
  endpoint: string;
225
- model: string;
226
- priority: number;
227
227
  enabled: boolean;
228
228
  apiKey?: string | undefined;
229
229
  maxTokens?: number | undefined;
@@ -294,19 +294,19 @@ export declare const ConfigSchema: z.ZodObject<{
294
294
  headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
295
295
  enabled: z.ZodDefault<z.ZodBoolean>;
296
296
  }, "strip", z.ZodTypeAny, {
297
- transport: "stdio" | "http";
298
297
  enabled: boolean;
298
+ transport: "stdio" | "http";
299
+ headers?: Record<string, string> | undefined;
299
300
  command?: string | undefined;
300
- url?: string | undefined;
301
301
  args?: string[] | undefined;
302
- headers?: Record<string, string> | undefined;
302
+ url?: string | undefined;
303
303
  }, {
304
304
  transport: "stdio" | "http";
305
- command?: string | undefined;
306
- url?: string | undefined;
305
+ headers?: Record<string, string> | undefined;
307
306
  enabled?: boolean | undefined;
307
+ command?: string | undefined;
308
308
  args?: string[] | undefined;
309
- headers?: Record<string, string> | undefined;
309
+ url?: string | undefined;
310
310
  }>>>;
311
311
  shell: z.ZodOptional<z.ZodString>;
312
312
  sandbox: z.ZodDefault<z.ZodEnum<["none", "docker", "wsl"]>>;
@@ -315,12 +315,12 @@ export declare const ConfigSchema: z.ZodObject<{
315
315
  }, "strip", z.ZodTypeAny, {
316
316
  builtin: string[];
317
317
  mcpServers: Record<string, {
318
- transport: "stdio" | "http";
319
318
  enabled: boolean;
319
+ transport: "stdio" | "http";
320
+ headers?: Record<string, string> | undefined;
320
321
  command?: string | undefined;
321
- url?: string | undefined;
322
322
  args?: string[] | undefined;
323
- headers?: Record<string, string> | undefined;
323
+ url?: string | undefined;
324
324
  }>;
325
325
  sandbox: "none" | "docker" | "wsl";
326
326
  sandboxImage: string;
@@ -330,11 +330,11 @@ export declare const ConfigSchema: z.ZodObject<{
330
330
  builtin?: string[] | undefined;
331
331
  mcpServers?: Record<string, {
332
332
  transport: "stdio" | "http";
333
- command?: string | undefined;
334
- url?: string | undefined;
333
+ headers?: Record<string, string> | undefined;
335
334
  enabled?: boolean | undefined;
335
+ command?: string | undefined;
336
336
  args?: string[] | undefined;
337
- headers?: Record<string, string> | undefined;
337
+ url?: string | undefined;
338
338
  }> | undefined;
339
339
  shell?: string | undefined;
340
340
  sandbox?: "none" | "docker" | "wsl" | undefined;
@@ -350,17 +350,17 @@ export declare const ConfigSchema: z.ZodObject<{
350
350
  defaultSteps: z.ZodDefault<z.ZodNumber>;
351
351
  outputDir: z.ZodDefault<z.ZodString>;
352
352
  }, "strip", z.ZodTypeAny, {
353
- provider: "auto" | "sd-webui" | "pollinations";
354
353
  endpoint: string;
355
354
  enabled: boolean;
355
+ provider: "auto" | "sd-webui" | "pollinations";
356
356
  defaultWidth: number;
357
357
  defaultHeight: number;
358
358
  defaultSteps: number;
359
359
  outputDir: string;
360
360
  }, {
361
- provider?: "auto" | "sd-webui" | "pollinations" | undefined;
362
361
  endpoint?: string | undefined;
363
362
  enabled?: boolean | undefined;
363
+ provider?: "auto" | "sd-webui" | "pollinations" | undefined;
364
364
  defaultWidth?: number | undefined;
365
365
  defaultHeight?: number | undefined;
366
366
  defaultSteps?: number | undefined;
@@ -388,15 +388,15 @@ export declare const ConfigSchema: z.ZodObject<{
388
388
  languages: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
389
389
  exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
390
390
  }, "strip", z.ZodTypeAny, {
391
- exclude: string[];
392
391
  enabled: boolean;
393
392
  watch: boolean;
394
393
  languages: string[];
394
+ exclude: string[];
395
395
  }, {
396
- exclude?: string[] | undefined;
397
396
  enabled?: boolean | undefined;
398
397
  watch?: boolean | undefined;
399
398
  languages?: string[] | undefined;
399
+ exclude?: string[] | undefined;
400
400
  }>>;
401
401
  updateCheck: z.ZodDefault<z.ZodBoolean>;
402
402
  session: z.ZodDefault<z.ZodObject<{
@@ -448,10 +448,10 @@ export declare const ConfigSchema: z.ZodObject<{
448
448
  router: {
449
449
  strategy: "priority" | "round-robin" | "fastest";
450
450
  chain: {
451
+ priority: number;
452
+ model: string;
451
453
  name: string;
452
454
  endpoint: string;
453
- model: string;
454
- priority: number;
455
455
  enabled: boolean;
456
456
  apiKey?: string | undefined;
457
457
  maxTokens?: number | undefined;
@@ -466,11 +466,20 @@ export declare const ConfigSchema: z.ZodObject<{
466
466
  tpm: number;
467
467
  };
468
468
  };
469
- context: {
470
- maxTokens: number;
471
- summarizeAt: number;
472
- includeGitDiff: boolean;
473
- includeIndex: boolean;
469
+ tools: {
470
+ builtin: string[];
471
+ mcpServers: Record<string, {
472
+ enabled: boolean;
473
+ transport: "stdio" | "http";
474
+ headers?: Record<string, string> | undefined;
475
+ command?: string | undefined;
476
+ args?: string[] | undefined;
477
+ url?: string | undefined;
478
+ }>;
479
+ sandbox: "none" | "docker" | "wsl";
480
+ sandboxImage: string;
481
+ shell?: string | undefined;
482
+ wslDistribution?: string | undefined;
474
483
  };
475
484
  version: number;
476
485
  agents: {
@@ -485,35 +494,26 @@ export declare const ConfigSchema: z.ZodObject<{
485
494
  candidatesCount: number;
486
495
  };
487
496
  };
488
- tools: {
489
- builtin: string[];
490
- mcpServers: Record<string, {
491
- transport: "stdio" | "http";
492
- enabled: boolean;
493
- command?: string | undefined;
494
- url?: string | undefined;
495
- args?: string[] | undefined;
496
- headers?: Record<string, string> | undefined;
497
- }>;
498
- sandbox: "none" | "docker" | "wsl";
499
- sandboxImage: string;
500
- shell?: string | undefined;
501
- wslDistribution?: string | undefined;
502
- };
503
497
  imageGen: {
504
- provider: "auto" | "sd-webui" | "pollinations";
505
498
  endpoint: string;
506
499
  enabled: boolean;
500
+ provider: "auto" | "sd-webui" | "pollinations";
507
501
  defaultWidth: number;
508
502
  defaultHeight: number;
509
503
  defaultSteps: number;
510
504
  outputDir: string;
511
505
  };
506
+ context: {
507
+ maxTokens: number;
508
+ summarizeAt: number;
509
+ includeGitDiff: boolean;
510
+ includeIndex: boolean;
511
+ };
512
512
  indexing: {
513
- exclude: string[];
514
513
  enabled: boolean;
515
514
  watch: boolean;
516
515
  languages: string[];
516
+ exclude: string[];
517
517
  };
518
518
  updateCheck: boolean;
519
519
  session: {
@@ -537,10 +537,10 @@ export declare const ConfigSchema: z.ZodObject<{
537
537
  router: {
538
538
  strategy?: "priority" | "round-robin" | "fastest" | undefined;
539
539
  chain?: {
540
+ priority: number;
541
+ model: string;
540
542
  name: string;
541
543
  endpoint: string;
542
- model: string;
543
- priority: number;
544
544
  enabled: boolean;
545
545
  apiKey?: string | undefined;
546
546
  maxTokens?: number | undefined;
@@ -555,11 +555,20 @@ export declare const ConfigSchema: z.ZodObject<{
555
555
  tpm?: number | undefined;
556
556
  } | undefined;
557
557
  };
558
- context?: {
559
- maxTokens?: number | undefined;
560
- summarizeAt?: number | undefined;
561
- includeGitDiff?: boolean | undefined;
562
- includeIndex?: boolean | undefined;
558
+ tools?: {
559
+ builtin?: string[] | undefined;
560
+ mcpServers?: Record<string, {
561
+ transport: "stdio" | "http";
562
+ headers?: Record<string, string> | undefined;
563
+ enabled?: boolean | undefined;
564
+ command?: string | undefined;
565
+ args?: string[] | undefined;
566
+ url?: string | undefined;
567
+ }> | undefined;
568
+ shell?: string | undefined;
569
+ sandbox?: "none" | "docker" | "wsl" | undefined;
570
+ sandboxImage?: string | undefined;
571
+ wslDistribution?: string | undefined;
563
572
  } | undefined;
564
573
  version?: number | undefined;
565
574
  agents?: {
@@ -574,35 +583,26 @@ export declare const ConfigSchema: z.ZodObject<{
574
583
  candidatesCount?: number | undefined;
575
584
  } | undefined;
576
585
  } | undefined;
577
- tools?: {
578
- builtin?: string[] | undefined;
579
- mcpServers?: Record<string, {
580
- transport: "stdio" | "http";
581
- command?: string | undefined;
582
- url?: string | undefined;
583
- enabled?: boolean | undefined;
584
- args?: string[] | undefined;
585
- headers?: Record<string, string> | undefined;
586
- }> | undefined;
587
- shell?: string | undefined;
588
- sandbox?: "none" | "docker" | "wsl" | undefined;
589
- sandboxImage?: string | undefined;
590
- wslDistribution?: string | undefined;
591
- } | undefined;
592
586
  imageGen?: {
593
- provider?: "auto" | "sd-webui" | "pollinations" | undefined;
594
587
  endpoint?: string | undefined;
595
588
  enabled?: boolean | undefined;
589
+ provider?: "auto" | "sd-webui" | "pollinations" | undefined;
596
590
  defaultWidth?: number | undefined;
597
591
  defaultHeight?: number | undefined;
598
592
  defaultSteps?: number | undefined;
599
593
  outputDir?: string | undefined;
600
594
  } | undefined;
595
+ context?: {
596
+ maxTokens?: number | undefined;
597
+ summarizeAt?: number | undefined;
598
+ includeGitDiff?: boolean | undefined;
599
+ includeIndex?: boolean | undefined;
600
+ } | undefined;
601
601
  indexing?: {
602
- exclude?: string[] | undefined;
603
602
  enabled?: boolean | undefined;
604
603
  watch?: boolean | undefined;
605
604
  languages?: string[] | undefined;
605
+ exclude?: string[] | undefined;
606
606
  } | undefined;
607
607
  updateCheck?: boolean | undefined;
608
608
  session?: {
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"daedalus-cli","version":"1.65.1","description":"Local-first AI coding CLI with embedded model router, multi-agent orchestration, and codebase indexing","type":"module","bin":{"daedalus":"dist/index.js"},"files":["dist/","Daedalus.bat","README.md","CHANGELOG.md","CONTRIBUTING.md","CODE_OF_CONDUCT.md","SECURITY.md","AGENTS.md","scripts/postinstall.js"],"scripts":{"start":"tsx src/index.ts","bot":"tsx src/bot.ts","dev":"tsx watch src/index.ts","build":"tsc","prepublishOnly":"npm run build","test":"vitest run","lint":"eslint src --ext .ts","sync-docs":"tsx scripts/sync-docs.ts","postinstall":"node scripts/postinstall.js"},"engines":{"node":">=20.0.0"},"repository":{"type":"git","url":"git+https://github.com/bgill55/daedalus.git"},"homepage":"https://github.com/bgill55/daedalus#readme","bugs":{"url":"https://github.com/bgill55/daedalus/issues"},"keywords":["cli","ai","coding","assistant","local","llm","lm-studio","ollama","mcp","developer-tools"],"license":"MIT","dependencies":{"better-sqlite3":"^12.10.0","cli-highlight":"^2.1.11","diff":"^7.0.0","neo-blessed":"^0.2.0","openai":"^4.85.4","pdf-parse":"^2.4.5","picocolors":"^1.1.1","puppeteer-core":"^25.1.0","zod":"^3.23.8"},"devDependencies":{"@eslint/js":"^10.0.1","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^11.0.6","@semantic-release/npm":"^12.0.2","@types/better-sqlite3":"^7.6.13","@types/blessed":"^0.1.27","@types/diff":"^6.0.0","@types/node":"^22.15.3","conventional-changelog-conventionalcommits":"^8.0.0","esbuild":"^0.24.0","eslint":"^10.5.0","globals":"^16.5.0","semantic-release":"^25.0.5","tsx":"^4.19.4","typescript":"^5.8.3","typescript-eslint":"^8.61.1","vitest":"^2.1.8"}}
1
+ {"name":"daedalus-cli","version":"1.66.0","description":"Local-first AI coding CLI with embedded model router, multi-agent orchestration, and codebase indexing","type":"module","bin":{"daedalus":"dist/index.js"},"files":["dist/","Daedalus.bat","README.md","CHANGELOG.md","CONTRIBUTING.md","CODE_OF_CONDUCT.md","SECURITY.md","AGENTS.md","scripts/postinstall.js"],"scripts":{"start":"tsx src/index.ts","bot":"tsx src/bot.ts","dev":"tsx watch src/index.ts","build":"tsc","prepublishOnly":"npm run build","test":"vitest run","lint":"eslint src --ext .ts","sync-docs":"tsx scripts/sync-docs.ts","postinstall":"node scripts/postinstall.js"},"engines":{"node":">=20.0.0"},"repository":{"type":"git","url":"git+https://github.com/bgill55/daedalus.git"},"homepage":"https://github.com/bgill55/daedalus#readme","bugs":{"url":"https://github.com/bgill55/daedalus/issues"},"keywords":["cli","ai","coding","assistant","local","llm","lm-studio","ollama","mcp","developer-tools"],"license":"MIT","dependencies":{"better-sqlite3":"^12.10.0","cli-highlight":"^2.1.11","diff":"^7.0.0","discord.js":"^14.27.0","dotenv":"^17.4.2","neo-blessed":"^0.2.0","openai":"^4.85.4","pdf-parse":"^2.4.5","picocolors":"^1.1.1","puppeteer-core":"^25.1.0","zod":"^3.23.8"},"devDependencies":{"@eslint/js":"^10.0.1","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^11.0.6","@semantic-release/npm":"^12.0.2","@types/better-sqlite3":"^7.6.13","@types/blessed":"^0.1.27","@types/diff":"^6.0.0","@types/node":"^22.15.3","conventional-changelog-conventionalcommits":"^8.0.0","esbuild":"^0.24.0","eslint":"^10.5.0","globals":"^16.5.0","semantic-release":"^25.0.5","tsx":"^4.19.4","typescript":"^5.8.3","typescript-eslint":"^8.61.1","vitest":"^2.1.8"}}