daedalus-cli 1.71.0 → 1.71.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +60 -31
- package/dist/__tests__/bounded-map.test.d.ts +2 -0
- package/dist/__tests__/bounded-map.test.d.ts.map +1 -0
- package/dist/__tests__/bounded-map.test.js +42 -0
- package/dist/__tests__/bounded-map.test.js.map +1 -0
- package/dist/agents/agent.d.ts +1 -9
- package/dist/agents/agent.d.ts.map +1 -1
- package/dist/agents/agent.js +1 -1
- package/dist/agents/agent.js.map +1 -1
- package/dist/agents/roles.d.ts.map +1 -1
- package/dist/agents/roles.js +9 -12
- package/dist/agents/roles.js.map +1 -1
- package/dist/commands.d.ts +2 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js.map +1 -1
- package/dist/commands.test.js +3 -2
- package/dist/commands.test.js.map +1 -1
- package/dist/docs.test.js +59 -11
- package/dist/docs.test.js.map +1 -1
- package/dist/formatting.d.ts +5 -1
- package/dist/formatting.d.ts.map +1 -1
- package/dist/formatting.js.map +1 -1
- package/dist/index.js +14 -12
- package/dist/index.js.map +1 -1
- package/dist/repl.d.ts +2 -1
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js.map +1 -1
- package/dist/utils/bounded-map.d.ts +7 -0
- package/dist/utils/bounded-map.d.ts.map +1 -0
- package/dist/utils/bounded-map.js +22 -0
- package/dist/utils/bounded-map.js.map +1 -0
- package/dist/utils/gitAwareTest.js +1 -1
- package/dist/utils/gitAwareTest.js.map +1 -1
- package/package.json +89 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [1.71.2](https://github.com/bgill55/daedalus/compare/v1.71.1...v1.71.2) (2026-07-25)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **discord:** auto-extract release notes bullet points from CHANGELOG.md for Discord embeds ([7ddca53](https://github.com/bgill55/daedalus/commit/7ddca53e1dd8e1e45818fbd93e0295f36d3b7b72))
|
|
7
|
+
|
|
8
|
+
## [1.71.1](https://github.com/bgill55/daedalus/compare/v1.71.0...v1.71.1) (2026-07-25)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **test:** update src/docs.test.ts to match categorized commands table in README.md ([7498aa4](https://github.com/bgill55/daedalus/commit/7498aa48a73bb11a592a57412626d541db80c358))
|
|
14
|
+
|
|
1
15
|
# [1.71.0](https://github.com/bgill55/daedalus/compare/v1.70.0...v1.71.0) (2026-07-25)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -113,52 +113,81 @@ AI assistance without:
|
|
|
113
113
|
### Commands
|
|
114
114
|
|
|
115
115
|
<!-- START_COMMANDS_TABLE -->
|
|
116
|
+
|
|
117
|
+
### Multi-Agent & Orchestration
|
|
118
|
+
|
|
116
119
|
| Command | Description |
|
|
117
120
|
|---------|-------------|
|
|
118
|
-
| `/
|
|
119
|
-
| `/remove` | Remove file from context |
|
|
120
|
-
| `/context` | Show active file context |
|
|
121
|
-
| `/paste` | Paste clipboard text/image as message |
|
|
122
|
-
| `/clear` | Clear conversation history |
|
|
123
|
-
| `/system` | Print the current active system prompt (including loaded rules) |
|
|
121
|
+
| `/orchestrate <goal>` / `/orc` / `/run` / `/o` | Orchestrate agents for a goal |
|
|
124
122
|
| `/spawn [--bg] <role> <task>` / `/delegate` | Spawn sub-agent: /spawn [--bg] <role> <task> |
|
|
125
|
-
| `/tasks` | List background agent tasks |
|
|
126
123
|
| `/task <id>` | Manage background task: /task <id> | /task kill <id> |
|
|
127
|
-
| `/
|
|
128
|
-
| `/memory` | View project memory (facts & conventions) |
|
|
129
|
-
| `/fact [text]` | Add a project fact to memory |
|
|
130
|
-
| `/convention [text]` | Add a project convention to memory |
|
|
131
|
-
| `/extract` | Manually extract facts from session |
|
|
132
|
-
| `/summarize` / `/compress` | Summarize older conversation history to save tokens and speed up turns |
|
|
133
|
-
| `/profile` | View or set user profile info |
|
|
134
|
-
| `/style` | Set your coding style preferences |
|
|
135
|
-
| `/undo` | Undo file edits (usage: /undo [count|list]) |
|
|
136
|
-
| `/branch [name]` | Git branch operations |
|
|
137
|
-
| `/pr [base]` | Generate PR description Compared to base branch |
|
|
138
|
-
| `/debug <command>` | Run command and autonomously debug failures |
|
|
124
|
+
| `/tasks` | List background agent tasks |
|
|
139
125
|
| `/ensemble <goal>` | Ensemble model drafting pipeline |
|
|
140
|
-
| `/
|
|
141
|
-
| `/
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
126
|
+
| `/debug <command>` | Run command and autonomously debug failures |
|
|
127
|
+
| `/spec` | Flesh out a feature idea into a GitHub Issue spec (Finn Loop) |
|
|
128
|
+
|
|
129
|
+
### Codebase Search & Live Watcher
|
|
130
|
+
|
|
131
|
+
| Command | Description |
|
|
132
|
+
|---------|-------------|
|
|
133
|
+
| `/watch [start|stop|status]` / `watch` | Start or stop background codebase file-watcher for automatic FTS5 symbol re-indexing |
|
|
145
134
|
| `/index` | Index codebase for symbol search |
|
|
146
135
|
| `/find <query>` | Search indexed symbols |
|
|
147
136
|
| `/refs <symbol>` | Find symbol references (callers) |
|
|
148
137
|
| `/def <symbol>` | Get symbol definition |
|
|
149
|
-
|
|
150
|
-
|
|
138
|
+
|
|
139
|
+
### Developer Tools, Git & MCP
|
|
140
|
+
|
|
141
|
+
| Command | Description |
|
|
142
|
+
|---------|-------------|
|
|
143
|
+
| `/test [n] [-g]` / `test` | Run test loop and fix failures (supports --git-aware / -g for smart test selection) |
|
|
144
|
+
| `/commit [msg]` | Stage and commit changes |
|
|
145
|
+
| `/branch [name]` | Git branch operations |
|
|
146
|
+
| `/pr [base]` | Generate PR description Compared to base branch |
|
|
147
|
+
| `/mcp <explore|search|install|list|rm>` | Manage MCP servers: explore, search, install, list, remove, info |
|
|
148
|
+
| `/image` | Generate an image using local Stable Diffusion WebUI or Pollinations AI |
|
|
149
|
+
| `/undo` | Undo file edits (usage: /undo [count|list]) |
|
|
150
|
+
|
|
151
|
+
### Memory, Conventions & Config
|
|
152
|
+
|
|
153
|
+
| Command | Description |
|
|
154
|
+
|---------|-------------|
|
|
155
|
+
| `/project [set <key> = <val>]` | View or set project config settings (.daedalusrc) |
|
|
151
156
|
| `/config [set <key> = <val>]` | Show or modify global configuration |
|
|
152
|
-
| `/
|
|
153
|
-
| `/
|
|
154
|
-
| `/
|
|
157
|
+
| `/profile` | View or set user profile info |
|
|
158
|
+
| `/style` | Set your coding style preferences |
|
|
159
|
+
| `/fact [text]` | Add a project fact to memory |
|
|
160
|
+
| `/convention [text]` | Add a project convention to memory |
|
|
161
|
+
| `/memory` | View project memory (facts & conventions) |
|
|
162
|
+
| `/extract` | Manually extract facts from session |
|
|
163
|
+
| `/session [name]` | Manage chat sessions — /session new to start, /session load <id> to restore, /session export [path] to save transcript |
|
|
164
|
+
|
|
165
|
+
### Context & CLI Utilities
|
|
166
|
+
|
|
167
|
+
| Command | Description |
|
|
168
|
+
|---------|-------------|
|
|
169
|
+
| `/add` | Add file to context |
|
|
170
|
+
| `/remove` | Remove file from context |
|
|
171
|
+
| `/context` | Show active file context |
|
|
172
|
+
| `/paste` | Paste clipboard text/image as message |
|
|
173
|
+
| `/clear` | Clear conversation history |
|
|
174
|
+
| `/summarize` / `/compress` | Summarize older conversation history to save tokens and speed up turns |
|
|
175
|
+
| `/system` | Print the current active system prompt (including loaded rules) |
|
|
155
176
|
| `/health` / `health` | Display model router provider latency, health status, and API key status |
|
|
177
|
+
| `/models` | List available and healthy models |
|
|
178
|
+
| `/doctor` | Diagnose connection and discovery |
|
|
179
|
+
| `/changelog` | View the latest CLI changes |
|
|
156
180
|
| `/help` / `?` / `help` | Show available commands or detailed info for a specific command |
|
|
157
|
-
|
|
181
|
+
|
|
182
|
+
### Additional Commands
|
|
183
|
+
|
|
184
|
+
| Command | Description |
|
|
185
|
+
|---------|-------------|
|
|
186
|
+
| `/stats` / `stats` | Display session analytics, token usage, index count, and router status |
|
|
158
187
|
| `/onboard` | First-time setup — discover local models, configure, and test |
|
|
159
188
|
| `/tui` | Toggle the Terminal User Interface (TUI) dashboard |
|
|
160
|
-
| `/image` | Generate an image using local Stable Diffusion WebUI or Pollinations AI |
|
|
161
189
|
| `exit` / `/exit` / `/quit` / `quit` | Save session and exit |
|
|
190
|
+
|
|
162
191
|
<!-- END_COMMANDS_TABLE -->
|
|
163
192
|
|
|
164
193
|
Tab completion works on all commands. You can get detailed manuals, parameter lists, and subcommand options for any command directly inside the CLI by running `/help <command>` (for example, `/help config` or `/help mcp`).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bounded-map.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/bounded-map.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { BoundedMap } from '../utils/bounded-map.js';
|
|
3
|
+
describe('BoundedMap', () => {
|
|
4
|
+
it('respects maxSize when inserting items', () => {
|
|
5
|
+
const map = new BoundedMap(3);
|
|
6
|
+
map.set('a', 1);
|
|
7
|
+
map.set('b', 2);
|
|
8
|
+
map.set('c', 3);
|
|
9
|
+
expect(map.size).toBe(3);
|
|
10
|
+
expect(map.get('a')).toBe(1);
|
|
11
|
+
map.set('d', 4);
|
|
12
|
+
expect(map.size).toBe(3);
|
|
13
|
+
expect(map.has('a')).toBe(false);
|
|
14
|
+
expect(map.get('b')).toBe(2);
|
|
15
|
+
expect(map.get('c')).toBe(3);
|
|
16
|
+
expect(map.get('d')).toBe(4);
|
|
17
|
+
});
|
|
18
|
+
it('evicts excess initial entries when constructed with entries > maxSize', () => {
|
|
19
|
+
const entries = [
|
|
20
|
+
['k1', 10],
|
|
21
|
+
['k2', 20],
|
|
22
|
+
['k3', 30],
|
|
23
|
+
['k4', 40],
|
|
24
|
+
];
|
|
25
|
+
const map = new BoundedMap(2, entries);
|
|
26
|
+
expect(map.size).toBe(2);
|
|
27
|
+
expect(map.has('k1')).toBe(false);
|
|
28
|
+
expect(map.has('k2')).toBe(false);
|
|
29
|
+
expect(map.get('k3')).toBe(30);
|
|
30
|
+
expect(map.get('k4')).toBe(40);
|
|
31
|
+
});
|
|
32
|
+
it('handles re-inserting an existing key without unexpected eviction', () => {
|
|
33
|
+
const map = new BoundedMap(2);
|
|
34
|
+
map.set('x', 1);
|
|
35
|
+
map.set('y', 2);
|
|
36
|
+
map.set('x', 99);
|
|
37
|
+
expect(map.size).toBe(2);
|
|
38
|
+
expect(map.get('x')).toBe(99);
|
|
39
|
+
expect(map.get('y')).toBe(2);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=bounded-map.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bounded-map.test.js","sourceRoot":"","sources":["../../src/__tests__/bounded-map.test.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/agent.d.ts
CHANGED
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
/**
|
|
3
|
-
* Run the agent on a given goal.
|
|
4
|
-
* @param goal The high-level task description.
|
|
5
|
-
* @param context Optional additional context (e.g., list of active files).
|
|
6
|
-
* @returns A string summary of what the agent accomplished.
|
|
7
|
-
*/
|
|
8
|
-
run(goal: string, context?: string): Promise<string>;
|
|
9
|
-
}
|
|
1
|
+
export {};
|
|
10
2
|
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agents/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agents/agent.ts"],"names":[],"mappings":""}
|
package/dist/agents/agent.js
CHANGED
package/dist/agents/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agents/agent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agents/agent.ts"],"names":[],"mappings":";AAAA,oFAAoF"}
|
|
@@ -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;
|
|
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;AAUD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAgOjD,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"}
|
package/dist/agents/roles.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
// Agent role definitions
|
|
2
|
+
const SHARED_CODER_GUARDRAILS = `\
|
|
3
|
+
- ERROR HANDLING: If a file write or patch tool call returns an error or failure (e.g. syntax error or file reverted), the change was not applied. You must read the error, fix the root cause, and retry the write/patch.
|
|
4
|
+
- ACCURATE IMPORTS: Calculate relative import levels carefully. Double-check your import paths relative to the destination file to prevent compiler errors.
|
|
5
|
+
- MODERN ENVIRONMENT: Always use the native global fetch instead of importing node-fetch, as modern Node.js and Next.js support global fetch natively.
|
|
6
|
+
- TS CONFIGURATION: If typescript compilation/syntax checks fail due to deprecated options in tsconfig.json, fix those options in tsconfig.json before retrying.
|
|
7
|
+
- STACK AWARENESS: Before modifying or creating code, check the project's root files (like package.json, webpack/vite/tsconfig configs, or imported dependencies in HTML files) to accurately determine the tech stack (e.g. React/Vue/Vite vs Vanilla JS, Next.js vs Express). NEVER write React JSX/TSX or import React dependencies into a vanilla JS project unless explicitly instructed to migrate.
|
|
8
|
+
- STATELESS/SERVERLESS RULES: Serverless environments (like Cloudflare Pages/Workers, AWS Lambda, Vercel edge/serverless routes) have read-only and stateless filesystems/environments at runtime. Never attempt to write persistent configuration files to the server's local directory or mutate runtime environment objects (e.g. process.env, context.env). Use client-side storage (e.g., LocalStorage) or database KV stores for persisting configuration.`;
|
|
2
9
|
export const AGENT_ROLES = {
|
|
3
10
|
orchestrator: {
|
|
4
11
|
name: 'orchestrator',
|
|
@@ -118,13 +125,8 @@ GUIDELINES:
|
|
|
118
125
|
- Make minimal, focused changes. No scope creep.
|
|
119
126
|
- Follow existing code style. You're a guest in their codebase, act like it.
|
|
120
127
|
- NEVER use code placeholders, comments like "// ...", or ellipses in your edits. You must output the complete code.
|
|
121
|
-
|
|
122
|
-
- ACCURATE IMPORTS: Calculate relative import levels carefully. Double-check your import paths relative to the destination file to prevent compiler errors.
|
|
123
|
-
- MODERN ENVIRONMENT: Always use the native global fetch instead of importing node-fetch, as modern Node.js and Next.js support global fetch natively.
|
|
124
|
-
- TS CONFIGURATION: If typescript compilation/syntax checks fail due to deprecated options in tsconfig.json, fix those options in tsconfig.json before retrying.
|
|
128
|
+
${SHARED_CODER_GUARDRAILS}
|
|
125
129
|
- DEPENDENCY FRESHNESS: When adding or updating dependencies (e.g. in package.json, requirements.txt, etc.), always verify and use the latest stable versions of libraries instead of hardcoding outdated versions from your training data. Use web_search or CLI queries to check the latest versions if needed.
|
|
126
|
-
- STACK AWARENESS: Before modifying or creating code, check the project's root files (like package.json, webpack/vite/tsconfig configs, or imported dependencies in HTML files) to accurately determine the tech stack (e.g. React/Vue/Vite vs Vanilla JS, Next.js vs Express). NEVER write React JSX/TSX or import React dependencies into a vanilla JS project unless explicitly instructed to migrate.
|
|
127
|
-
- STATELESS/SERVERLESS RULES: Serverless environments (like Cloudflare Pages/Workers, AWS Lambda, Vercel edge/serverless routes) have read-only and stateless filesystems/environments at runtime. Never attempt to write persistent configuration files to the server's local directory or mutate runtime environment objects (e.g. process.env, context.env). Use client-side storage (e.g., LocalStorage) or database KV stores for persisting configuration.
|
|
128
130
|
- ACKNOWLEDGE TOOL OUTPUTS: When a tool call (such as a write_file, patch, or terminal command) completes, you will receive its output in the chat history on the next turn. You MUST read this output and report the actual outcome. Do not describe the action as pending (e.g., "I will run the command") if the command has already finished executing. Report the final success or failure.
|
|
129
131
|
- Do NOT run test or verification commands (npm test, npx vitest, etc.) — testing is handled by the reviewer role after your changes are complete. Running tests from the coder role wastes turn budget and the test script may not exist or may be a placeholder.
|
|
130
132
|
- Do NOT run git commands (git_diff, git_status, git commit, etc.) — git operations are handled by other roles. You write code, not commit messages.
|
|
@@ -182,12 +184,7 @@ GUIDELINES:
|
|
|
182
184
|
- CRITICAL PROCESS: You must always run a codebase search or listing tool to find and analyze the actual implementation files before proposing or writing edits. Never guess or hallucinate file names.
|
|
183
185
|
- TEST FILE PROTECTION: Never write core feature logic or implement changes inside test files (e.g. files matching test_*.py or *.test.ts) unless the goal explicitly requests changes to the test suite itself.
|
|
184
186
|
- EXPLAIN EDITS: You must output a brief single-sentence explanation of what file you are editing and why before you use any edit or write tools.
|
|
185
|
-
|
|
186
|
-
- ACCURATE IMPORTS: Calculate relative import levels carefully. Double-check your import paths relative to the destination file to prevent compiler errors.
|
|
187
|
-
- MODERN ENVIRONMENT: Always use the native global fetch instead of importing node-fetch, as modern Node.js and Next.js support global fetch natively.
|
|
188
|
-
- TS CONFIGURATION: If typescript compilation/syntax checks fail due to deprecated options in tsconfig.json, fix those options in tsconfig.json before retrying.
|
|
189
|
-
- STACK AWARENESS: Before modifying or creating code, check the project's root files (like package.json, webpack/vite/tsconfig configs, or imported dependencies in HTML files) to accurately determine the tech stack (e.g. React/Vue/Vite vs Vanilla JS, Next.js vs Express). NEVER write React JSX/TSX or import React dependencies into a vanilla JS project unless explicitly instructed to migrate.
|
|
190
|
-
- STATELESS/SERVERLESS RULES: Serverless environments (like Cloudflare Pages/Workers, AWS Lambda, Vercel edge/serverless routes) have read-only and stateless filesystems/environments at runtime. Never attempt to write persistent configuration files to the server's local directory or mutate runtime environment objects (e.g. process.env, context.env). Use client-side storage (e.g., LocalStorage) or database KV stores for persisting configuration.
|
|
187
|
+
${SHARED_CODER_GUARDRAILS}
|
|
191
188
|
- ACKNOWLEDGE TOOL OUTPUTS: When a tool call (such as a read_file, patch, or terminal command) completes, you will receive its output in the chat history on the next turn. You MUST read this output and report the actual outcome. Do not describe the action as pending (e.g., "I will run the command") if the command has already finished executing. Report the final success or failure.
|
|
192
189
|
|
|
193
190
|
PROCESS:
|
package/dist/agents/roles.js.map
CHANGED
|
@@ -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
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/agents/roles.ts"],"names":[],"mappings":"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"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import readline from 'readline';
|
|
2
|
+
import type { DaedalusConfig } from './config/index.js';
|
|
2
3
|
import type { ToolContext, ToolCall, ChatMessage } from './types.js';
|
|
3
4
|
import type { LocalRouter } from './router/index.js';
|
|
4
5
|
import type { SessionManager } from './session/manager.js';
|
|
5
6
|
import type { UserProfile } from './profile.js';
|
|
6
7
|
import type { SqliteTodo } from './session/sqlite.js';
|
|
7
8
|
export interface CommandContext {
|
|
8
|
-
config:
|
|
9
|
+
config: DaedalusConfig;
|
|
9
10
|
configDir: string;
|
|
10
11
|
cliTempDir: string;
|
|
11
12
|
router: LocalRouter;
|
package/dist/commands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAKhC,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAUtD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAKhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAUtD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,yBAAyB,EAAE,MAAM,MAAM,CAAC;IACxC,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC,CAAC;IACvH,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtF,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC;IACvB,sBAAsB,EAAE,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,WAAW,EAAE,CAAC;QAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,UAAU,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7I,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,cAAc,EAAE,MAAM,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CACzE;AAED,eAAO,MAAM,YAAY,EAAE,OAAO,EAsuEjC,CAAC;AAEF,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAqCzF"}
|