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.
Files changed (63) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +9 -3
  3. package/dist/bot/commands.d.ts +3 -0
  4. package/dist/bot/commands.d.ts.map +1 -0
  5. package/dist/bot/commands.js +99 -0
  6. package/dist/bot/commands.js.map +1 -0
  7. package/dist/bot/handlers.d.ts +4 -0
  8. package/dist/bot/handlers.d.ts.map +1 -0
  9. package/dist/bot/handlers.js +651 -0
  10. package/dist/bot/handlers.js.map +1 -0
  11. package/dist/bot/index.d.ts +2 -0
  12. package/dist/bot/index.d.ts.map +1 -0
  13. package/dist/bot/index.js +43 -0
  14. package/dist/bot/index.js.map +1 -0
  15. package/dist/bot/prompt.d.ts +2 -0
  16. package/dist/bot/prompt.d.ts.map +1 -0
  17. package/dist/bot/prompt.js +40 -0
  18. package/dist/bot/prompt.js.map +1 -0
  19. package/dist/bot/responses.d.ts +8 -0
  20. package/dist/bot/responses.d.ts.map +1 -0
  21. package/dist/bot/responses.js +60 -0
  22. package/dist/bot/responses.js.map +1 -0
  23. package/dist/config/hello.d.ts +2 -0
  24. package/dist/config/hello.d.ts.map +1 -0
  25. package/dist/config/hello.js +3 -0
  26. package/dist/config/hello.js.map +1 -0
  27. package/dist/config/index.d.ts +13 -12
  28. package/dist/config/index.d.ts.map +1 -1
  29. package/dist/config/index.js +6 -4
  30. package/dist/config/index.js.map +1 -1
  31. package/dist/config/validate.d.ts +8 -0
  32. package/dist/config/validate.d.ts.map +1 -0
  33. package/dist/config/validate.js +49 -0
  34. package/dist/config/validate.js.map +1 -0
  35. package/dist/config/validate.test.d.ts +2 -0
  36. package/dist/config/validate.test.d.ts.map +1 -0
  37. package/dist/config/validate.test.js +49 -0
  38. package/dist/config/validate.test.js.map +1 -0
  39. package/dist/tools/daedalus-spinner.test.d.ts +2 -0
  40. package/dist/tools/daedalus-spinner.test.d.ts.map +1 -0
  41. package/dist/tools/daedalus-spinner.test.js +75 -0
  42. package/dist/tools/daedalus-spinner.test.js.map +1 -0
  43. package/dist/tools/deps.d.ts +22 -0
  44. package/dist/tools/deps.d.ts.map +1 -0
  45. package/dist/tools/deps.js +70 -0
  46. package/dist/tools/deps.js.map +1 -0
  47. package/dist/tools/logger.d.ts +19 -0
  48. package/dist/tools/logger.d.ts.map +1 -0
  49. package/dist/tools/logger.js +30 -0
  50. package/dist/tools/logger.js.map +1 -0
  51. package/dist/tools/logger.test.d.ts +2 -0
  52. package/dist/tools/logger.test.d.ts.map +1 -0
  53. package/dist/tools/logger.test.js +59 -0
  54. package/dist/tools/logger.test.js.map +1 -0
  55. package/dist/tools/repl.d.ts +24 -0
  56. package/dist/tools/repl.d.ts.map +1 -0
  57. package/dist/tools/repl.js +170 -0
  58. package/dist/tools/repl.js.map +1 -0
  59. package/dist/tools/telemetry.d.ts +24 -0
  60. package/dist/tools/telemetry.d.ts.map +1 -0
  61. package/dist/tools/telemetry.js +55 -0
  62. package/dist/tools/telemetry.js.map +1 -0
  63. package/package.json +5 -2
@@ -0,0 +1,55 @@
1
+ export class ExecutionTimer {
2
+ startTime;
3
+ elapsed = 0;
4
+ logger;
5
+ constructor(logger) {
6
+ this.logger = logger;
7
+ }
8
+ start() {
9
+ this.startTime = process.hrtime();
10
+ this.elapsed = 0;
11
+ }
12
+ stop() {
13
+ if (!this.startTime) {
14
+ throw new Error('Timer not started');
15
+ }
16
+ const [seconds, nanoseconds] = process.hrtime(this.startTime);
17
+ const ms = seconds * 1000 + nanoseconds / 1e6;
18
+ this.elapsed = Math.round(ms);
19
+ this.logger.debug(`Timer stopped: ${this.elapsed}ms`);
20
+ return this.elapsed;
21
+ }
22
+ reset() {
23
+ this.startTime = undefined;
24
+ this.elapsed = 0;
25
+ }
26
+ }
27
+ /**
28
+ * Wraps an async function and logs its execution time
29
+ */
30
+ export async function timed(fn, label, logger) {
31
+ const timer = new ExecutionTimer(logger);
32
+ timer.start();
33
+ try {
34
+ return await fn();
35
+ }
36
+ finally {
37
+ const duration = timer.stop();
38
+ logger.log(`${label}: ${duration}ms`);
39
+ }
40
+ }
41
+ /**
42
+ * Wraps a synchronous function and logs its execution time
43
+ */
44
+ export function timedSync(fn, label, logger) {
45
+ const timer = new ExecutionTimer(logger);
46
+ timer.start();
47
+ try {
48
+ return fn();
49
+ }
50
+ finally {
51
+ const duration = timer.stop();
52
+ logger.log(`${label}: ${duration}ms`);
53
+ }
54
+ }
55
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/tools/telemetry.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,cAAc;IACjB,SAAS,CAAoB;IAC7B,OAAO,GAAG,CAAC,CAAC;IACH,MAAM,CAAS;IAEhC,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,GAAG,WAAW,GAAG,GAAG,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,EAAoB,EACpB,KAAa,EACb,MAAc;IAEd,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,EAAW,EACX,KAAa,EACb,MAAc;IAEd,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC;IACxC,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "daedalus-cli",
3
- "version": "1.81.0",
3
+ "version": "1.83.0",
4
4
  "description": "Local-first AI coding CLI with embedded model router, multi-agent orchestration, and codebase indexing",
5
5
  "type": "module",
6
6
  "bin": {
@@ -22,9 +22,11 @@
22
22
  "bot": "tsx src/bot/index.ts",
23
23
  "dev": "tsx watch src/index.ts",
24
24
  "build": "tsc",
25
+ "lint": "eslint src --ext .ts",
25
26
  "prepublishOnly": "npm run build",
26
27
  "test": "vitest run",
27
- "lint": "eslint src --ext .ts",
28
+ "audit": "npm run lint && npm run build && npm run test && node -e \"const { validateConfig } = require('./dist/config/validate'); const { DEFAULT_CONFIG } = require('./dist/config/index'); validateConfig(DEFAULT_CONFIG); console.log('Config validation passed')\"",
29
+ "docs": "typedoc --out docs src",
28
30
  "sync-docs": "tsx scripts/sync-docs.ts",
29
31
  "post-infographic": "node scripts/post-infographic.js",
30
32
  "postinstall": "node scripts/postinstall.js"
@@ -83,6 +85,7 @@
83
85
  "globals": "^16.5.0",
84
86
  "semantic-release": "^25.0.5",
85
87
  "tsx": "^4.19.4",
88
+ "typedoc": "^0.28.20",
86
89
  "typescript": "^5.8.3",
87
90
  "typescript-eslint": "^8.61.1",
88
91
  "vitest": "^2.1.8"