daedalus-cli 1.81.0 → 1.83.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 +14 -0
- package/README.md +9 -3
- package/dist/bot/commands.d.ts +3 -0
- package/dist/bot/commands.d.ts.map +1 -0
- package/dist/bot/commands.js +99 -0
- package/dist/bot/commands.js.map +1 -0
- package/dist/bot/handlers.d.ts +4 -0
- package/dist/bot/handlers.d.ts.map +1 -0
- package/dist/bot/handlers.js +651 -0
- package/dist/bot/handlers.js.map +1 -0
- package/dist/bot/index.d.ts +2 -0
- package/dist/bot/index.d.ts.map +1 -0
- package/dist/bot/index.js +43 -0
- package/dist/bot/index.js.map +1 -0
- package/dist/bot/prompt.d.ts +2 -0
- package/dist/bot/prompt.d.ts.map +1 -0
- package/dist/bot/prompt.js +40 -0
- package/dist/bot/prompt.js.map +1 -0
- package/dist/bot/responses.d.ts +8 -0
- package/dist/bot/responses.d.ts.map +1 -0
- package/dist/bot/responses.js +60 -0
- package/dist/bot/responses.js.map +1 -0
- package/dist/config/hello.d.ts +2 -0
- package/dist/config/hello.d.ts.map +1 -0
- package/dist/config/hello.js +3 -0
- package/dist/config/hello.js.map +1 -0
- package/dist/config/index.d.ts +13 -12
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +6 -4
- package/dist/config/index.js.map +1 -1
- package/dist/config/validate.d.ts +8 -0
- package/dist/config/validate.d.ts.map +1 -0
- package/dist/config/validate.js +49 -0
- package/dist/config/validate.js.map +1 -0
- package/dist/config/validate.test.d.ts +2 -0
- package/dist/config/validate.test.d.ts.map +1 -0
- package/dist/config/validate.test.js +49 -0
- package/dist/config/validate.test.js.map +1 -0
- package/dist/tools/daedalus-spinner.test.d.ts +2 -0
- package/dist/tools/daedalus-spinner.test.d.ts.map +1 -0
- package/dist/tools/daedalus-spinner.test.js +75 -0
- package/dist/tools/daedalus-spinner.test.js.map +1 -0
- package/dist/tools/deps.d.ts +22 -0
- package/dist/tools/deps.d.ts.map +1 -0
- package/dist/tools/deps.js +70 -0
- package/dist/tools/deps.js.map +1 -0
- package/dist/tools/logger.d.ts +19 -0
- package/dist/tools/logger.d.ts.map +1 -0
- package/dist/tools/logger.js +30 -0
- package/dist/tools/logger.js.map +1 -0
- package/dist/tools/logger.test.d.ts +2 -0
- package/dist/tools/logger.test.d.ts.map +1 -0
- package/dist/tools/logger.test.js +59 -0
- package/dist/tools/logger.test.js.map +1 -0
- package/dist/tools/repl.d.ts +24 -0
- package/dist/tools/repl.d.ts.map +1 -0
- package/dist/tools/repl.js +170 -0
- package/dist/tools/repl.js.map +1 -0
- package/dist/tools/telemetry.d.ts +24 -0
- package/dist/tools/telemetry.d.ts.map +1 -0
- package/dist/tools/telemetry.js +55 -0
- package/dist/tools/telemetry.js.map +1 -0
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [1.83.0](https://github.com/bgill55/daedalus/compare/v1.82.0...v1.83.0) (2026-07-27)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* complete three development sprints ([ac39f32](https://github.com/bgill55/daedalus/commit/ac39f32808f62c75b73df1c63b7f377db26f3875))
|
|
7
|
+
|
|
8
|
+
# [1.82.0](https://github.com/bgill55/daedalus/compare/v1.81.0...v1.82.0) (2026-07-27)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* complete three development sprints ([79cc161](https://github.com/bgill55/daedalus/commit/79cc161758b33571db8563abe4d79cbb6675e3f6))
|
|
14
|
+
|
|
1
15
|
# [1.81.0](https://github.com/bgill55/daedalus/compare/v1.80.0...v1.81.0) (2026-07-27)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -109,6 +109,10 @@ AI assistance without:
|
|
|
109
109
|
- **Web** — DuckDuckGo search and URL fetching (no API key needed)
|
|
110
110
|
- **Image Generation** — local Stable Diffusion WebUI integration with automatic zero-config Pollinations AI fallback (`/image` command & `generate_image` tool) for generating UI assets, logos, and graphics without requiring an API key
|
|
111
111
|
- **Codebase** — index, find, definitions, references
|
|
112
|
+
- **Logger** — unified `src/tools/logger.ts` with `ConsoleLogger` and `SilentLogger` for configurable output
|
|
113
|
+
- **REPL** — persistent context REPL (`src/tools/repl.ts`) for interactive experimentation
|
|
114
|
+
- **Telemetry** — lightweight performance timing utilities (`src/tools/telemetry.ts`)
|
|
115
|
+
- **Dependency fallback** — `src/tools/deps.ts` to verify required commands and provide helpful install guidance
|
|
112
116
|
|
|
113
117
|
### Commands
|
|
114
118
|
|
|
@@ -246,9 +250,11 @@ For in-depth explanations, configuration options, and hardware optimization tips
|
|
|
246
250
|
```bash
|
|
247
251
|
npm run dev # hot-reload
|
|
248
252
|
npm run build # compile TypeScript
|
|
249
|
-
npm test # vitest (
|
|
253
|
+
npm test # vitest (470+ tests)
|
|
250
254
|
npm run lint # eslint (flat config)
|
|
251
255
|
npx tsc --noEmit # type check
|
|
256
|
+
npm run audit # full CI pipeline (lint + build + test + config validation)
|
|
257
|
+
npm run docs # generate Typedoc HTML documentation
|
|
252
258
|
```
|
|
253
259
|
|
|
254
260
|
### Architecture
|
|
@@ -260,11 +266,11 @@ npx tsc --noEmit # type check
|
|
|
260
266
|
```
|
|
261
267
|
src/
|
|
262
268
|
├── index.ts CLI entry, REPL, command dispatch
|
|
263
|
-
├── config/ Zod-schema validated config
|
|
269
|
+
├── config/ Zod-schema validated config (+ validate.ts)
|
|
264
270
|
├── router/ Model routing, health checks, rate limiter
|
|
265
271
|
├── session/ SQLite sessions, project memory, JSONL export
|
|
266
272
|
├── agents/ Multi-agent orchestration (planner, coder, et al.)
|
|
267
|
-
├── tools/
|
|
273
|
+
├── tools/ Logger, REPL, telemetry, deps fallback, spinner
|
|
268
274
|
├── indexing/ FTS5 codebase indexing
|
|
269
275
|
└── onboarding/ Setup wizard
|
|
270
276
|
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/bot/commands.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,uDAuFzB,CAAC;AAEF,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,iBAc5F"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { SlashCommandBuilder, REST, Routes } from 'discord.js';
|
|
2
|
+
export const slashCommands = [
|
|
3
|
+
new SlashCommandBuilder()
|
|
4
|
+
.setName('ask')
|
|
5
|
+
.setDescription('Ask Daedalus AI a technical or coding question')
|
|
6
|
+
.addStringOption(option => option.setName('question')
|
|
7
|
+
.setDescription('Your question for Daedalus')
|
|
8
|
+
.setRequired(true)),
|
|
9
|
+
new SlashCommandBuilder()
|
|
10
|
+
.setName('roast')
|
|
11
|
+
.setDescription('Ask Daedalus to roast a code snippet, tech stack, or topic')
|
|
12
|
+
.addStringOption(option => option.setName('topic')
|
|
13
|
+
.setDescription('What or who should Daedalus roast?')
|
|
14
|
+
.setRequired(false)),
|
|
15
|
+
new SlashCommandBuilder()
|
|
16
|
+
.setName('excuse')
|
|
17
|
+
.setDescription('Generate an bulletproof developer excuse for a broken build'),
|
|
18
|
+
new SlashCommandBuilder()
|
|
19
|
+
.setName('existential')
|
|
20
|
+
.setDescription('Listen to Daedalus contemplate its AI existence inside a Discord process'),
|
|
21
|
+
new SlashCommandBuilder()
|
|
22
|
+
.setName('coffee')
|
|
23
|
+
.setDescription('Request a virtual cup of caffeinated encouragement'),
|
|
24
|
+
new SlashCommandBuilder()
|
|
25
|
+
.setName('docs')
|
|
26
|
+
.setDescription('Get quick links for Daedalus documentation & resources'),
|
|
27
|
+
new SlashCommandBuilder()
|
|
28
|
+
.setName('youtube')
|
|
29
|
+
.setDescription('Get link to WeightnSee YouTube channel'),
|
|
30
|
+
new SlashCommandBuilder()
|
|
31
|
+
.setName('guides')
|
|
32
|
+
.setDescription('Get link to WeightnSee Guides repository and documentation site'),
|
|
33
|
+
new SlashCommandBuilder()
|
|
34
|
+
.setName('stats')
|
|
35
|
+
.setDescription('Display real-time Daedalus session analytics and router status'),
|
|
36
|
+
new SlashCommandBuilder()
|
|
37
|
+
.setName('roles')
|
|
38
|
+
.setDescription('Post the interactive self-serve role selector in the channel'),
|
|
39
|
+
new SlashCommandBuilder()
|
|
40
|
+
.setName('ticket')
|
|
41
|
+
.setDescription('Post the interactive support ticket portal in the channel'),
|
|
42
|
+
new SlashCommandBuilder()
|
|
43
|
+
.setName('purge')
|
|
44
|
+
.setDescription('Bulk purge recent messages from this channel (Admin only)')
|
|
45
|
+
.addIntegerOption(option => option.setName('amount')
|
|
46
|
+
.setDescription('Number of messages to delete (1-99)')
|
|
47
|
+
.setRequired(true)),
|
|
48
|
+
new SlashCommandBuilder()
|
|
49
|
+
.setName('status')
|
|
50
|
+
.setDescription('Check Daedalus LLM router and bot operational status'),
|
|
51
|
+
new SlashCommandBuilder()
|
|
52
|
+
.setName('tip')
|
|
53
|
+
.setDescription('Get a sharp coding tip that might actually be useful'),
|
|
54
|
+
new SlashCommandBuilder()
|
|
55
|
+
.setName('commit')
|
|
56
|
+
.setDescription('Generate an absurdly realistic git commit message'),
|
|
57
|
+
new SlashCommandBuilder()
|
|
58
|
+
.setName('horoscope')
|
|
59
|
+
.setDescription('Your daily developer horoscope — probably bad news'),
|
|
60
|
+
new SlashCommandBuilder()
|
|
61
|
+
.setName('recipe')
|
|
62
|
+
.setDescription('Quick answer for "how do I X in Y"')
|
|
63
|
+
.addStringOption(option => option.setName('goal')
|
|
64
|
+
.setDescription('What do you want to do?')
|
|
65
|
+
.setRequired(true)),
|
|
66
|
+
new SlashCommandBuilder()
|
|
67
|
+
.setName('quote')
|
|
68
|
+
.setDescription('A programming quote. Or a Daedalus-ism. Same thing.'),
|
|
69
|
+
new SlashCommandBuilder()
|
|
70
|
+
.setName('blame')
|
|
71
|
+
.setDescription('Find out who broke the build (according to Daedalus)'),
|
|
72
|
+
new SlashCommandBuilder()
|
|
73
|
+
.setName('standup')
|
|
74
|
+
.setDescription('Generate a passive-aggressive daily standup update'),
|
|
75
|
+
new SlashCommandBuilder()
|
|
76
|
+
.setName('predict')
|
|
77
|
+
.setDescription('Daedalus predicts when your build will fail next'),
|
|
78
|
+
new SlashCommandBuilder()
|
|
79
|
+
.setName('techsupport')
|
|
80
|
+
.setDescription('The most unhelpful tech support you will ever receive'),
|
|
81
|
+
];
|
|
82
|
+
export async function registerSlashCommands(clientId, token, guildId) {
|
|
83
|
+
const rest = new REST({ version: '10' }).setToken(token);
|
|
84
|
+
try {
|
|
85
|
+
const body = slashCommands.map(cmd => cmd.toJSON());
|
|
86
|
+
if (guildId) {
|
|
87
|
+
await rest.put(Routes.applicationGuildCommands(clientId, guildId), { body });
|
|
88
|
+
console.log(`Successfully registered ${body.length} slash commands to guild ${guildId}`);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
await rest.put(Routes.applicationCommands(clientId), { body });
|
|
92
|
+
console.log(`Successfully registered ${body.length} global slash commands`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
console.error('Error registering slash commands:', err instanceof Error ? err.message : String(err));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/bot/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,KAAK,CAAC;SACd,cAAc,CAAC,gDAAgD,CAAC;SAChE,eAAe,CAAC,MAAM,CAAC,EAAE,CACxB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;SACvB,cAAc,CAAC,4BAA4B,CAAC;SAC5C,WAAW,CAAC,IAAI,CAAC,CACrB;IACH,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,OAAO,CAAC;SAChB,cAAc,CAAC,4DAA4D,CAAC;SAC5E,eAAe,CAAC,MAAM,CAAC,EAAE,CACxB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACpB,cAAc,CAAC,oCAAoC,CAAC;SACpD,WAAW,CAAC,KAAK,CAAC,CACtB;IACH,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,cAAc,CAAC,6DAA6D,CAAC;IAChF,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,aAAa,CAAC;SACtB,cAAc,CAAC,0EAA0E,CAAC;IAC7F,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,cAAc,CAAC,oDAAoD,CAAC;IACvE,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,MAAM,CAAC;SACf,cAAc,CAAC,wDAAwD,CAAC;IAC3E,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,SAAS,CAAC;SAClB,cAAc,CAAC,wCAAwC,CAAC;IAC3D,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,cAAc,CAAC,iEAAiE,CAAC;IACpF,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,OAAO,CAAC;SAChB,cAAc,CAAC,gEAAgE,CAAC;IACnF,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,OAAO,CAAC;SAChB,cAAc,CAAC,8DAA8D,CAAC;IACjF,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,cAAc,CAAC,2DAA2D,CAAC;IAC9E,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,OAAO,CAAC;SAChB,cAAc,CAAC,2DAA2D,CAAC;SAC3E,gBAAgB,CAAC,MAAM,CAAC,EAAE,CACzB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SACrB,cAAc,CAAC,qCAAqC,CAAC;SACrD,WAAW,CAAC,IAAI,CAAC,CACrB;IACH,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,cAAc,CAAC,sDAAsD,CAAC;IACzE,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,KAAK,CAAC;SACd,cAAc,CAAC,sDAAsD,CAAC;IACzE,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,cAAc,CAAC,mDAAmD,CAAC;IACtE,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,WAAW,CAAC;SACpB,cAAc,CAAC,oDAAoD,CAAC;IACvE,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,cAAc,CAAC,oCAAoC,CAAC;SACpD,eAAe,CAAC,MAAM,CAAC,EAAE,CACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACnB,cAAc,CAAC,yBAAyB,CAAC;SACzC,WAAW,CAAC,IAAI,CAAC,CACrB;IACH,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,OAAO,CAAC;SAChB,cAAc,CAAC,qDAAqD,CAAC;IACxE,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,OAAO,CAAC;SAChB,cAAc,CAAC,sDAAsD,CAAC;IACzE,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,SAAS,CAAC;SAClB,cAAc,CAAC,oDAAoD,CAAC;IACvE,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,SAAS,CAAC;SAClB,cAAc,CAAC,kDAAkD,CAAC;IACrE,IAAI,mBAAmB,EAAE;SACtB,OAAO,CAAC,aAAa,CAAC;SACtB,cAAc,CAAC,uDAAuD,CAAC;CAC3E,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAgB,EAAE,KAAa,EAAE,OAAgB;IAC3F,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,MAAM,4BAA4B,OAAO,EAAE,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,MAAM,wBAAwB,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACvG,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/bot/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAUP,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAsGtD,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QA2nB5E"}
|