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
|
@@ -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.
|
|
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
|
-
"
|
|
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"
|