daedalus-cli 1.52.2 → 1.53.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.
@@ -1,112 +1,43 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- We as members, contributors, and leaders pledge to make participation in our
1
+ # Contributor Covenant Code of Conduct ## Our Pledge We as members, contributors, and leaders pledge to make participation in our
6
2
  community a harassment-free experience for everyone, regardless of age, body
7
3
  size, visible or invisible disability, ethnicity, sex characteristics, gender
8
4
  identity and expression, level of experience, education, socio-economic status,
9
5
  nationality, personal appearance, race, religion, or sexual identity
10
- and orientation.
11
-
12
- We pledge to act and interact in ways that contribute to an open, welcoming,
13
- diverse, inclusive, and healthy community.
14
-
15
- ## Our Standards
16
-
17
- Examples of behavior that contributes to a positive environment for our
18
- community include:
19
-
20
- - Demonstrating empathy and kindness toward other people
6
+ and orientation. We pledge to act and interact in ways that contribute to an open, welcoming,
7
+ diverse, inclusive, and healthy community. ## Our Standards Examples of behavior that contributes to a positive environment for our
8
+ community include: - Demonstrating empathy and kindness toward other people
21
9
  - Being respectful of differing opinions, viewpoints, and experiences
22
10
  - Giving and gracefully accepting constructive feedback
23
- - Accepting responsibility and apologizing to those affected by our mistakes,
24
- and learning from the experience
25
- - Focusing on what is best not just for us as individuals, but for the
26
- overall community
27
-
28
- Examples of unacceptable behavior include:
29
-
30
- - The use of sexualized language or imagery, and sexual attention or
31
- advances of any kind
11
+ - Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
12
+ - Focusing on what is best not just for us as individuals, but for the overall community Examples of unacceptable behavior include: - The use of sexualized language or imagery, and sexual attention or advances of any kind
32
13
  - Trolling, insulting or derogatory comments, and personal or political attacks
33
14
  - Public or private harassment
34
- - Publishing others' private information, such as a physical or email
35
- address, without their explicit permission
36
- - Other conduct which could reasonably be considered inappropriate in a
37
- professional setting
38
-
39
- ## Enforcement Responsibilities
40
-
41
- Community leaders are responsible for clarifying and enforcing our standards of
15
+ - Publishing others' private information, such as a physical or email address, without their explicit permission
16
+ - Other conduct which could reasonably be considered inappropriate in a professional setting ## Enforcement Responsibilities Community leaders are responsible for clarifying and enforcing our standards of
42
17
  acceptable behavior and will take appropriate and fair corrective action in
43
18
  response to any behavior that they deem inappropriate, threatening, offensive,
44
- or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies within all community spaces, and also applies when
49
- an individual is officially representing the community in public spaces.
50
-
51
- ## Enforcement
52
-
53
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
19
+ or harmful. ## Scope This Code of Conduct applies within all community spaces, and also applies when
20
+ an individual is officially representing the community in public spaces. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be
54
21
  reported to the community leaders responsible for enforcement at
55
22
  bgill55_dev@voxvivid.com. All complaints will be reviewed and investigated
56
- promptly and fairly.
57
-
58
- ## Enforcement Guidelines
59
-
60
- Community leaders will follow these Community Impact Guidelines in determining
61
- the consequences for any action they deem in violation of this Code of Conduct:
62
-
63
- ### 1. Correction
64
-
65
- **Community Impact:** Use of inappropriate language or other behavior deemed
66
- unprofessional or unwelcome in the community.
67
-
68
- **Consequence:** A private, written warning from community leaders, providing
23
+ promptly and fairly. ## Enforcement Guidelines Community leaders will follow these Community Impact Guidelines in determining
24
+ the consequences for any action they deem in violation of this Code of Conduct: ### 1. Correction **Community Impact:** Use of inappropriate language or other behavior deemed
25
+ unprofessional or unwelcome in the community. **Consequence:** A private, written warning from community leaders, providing
69
26
  clarity around the nature of the violation and an explanation of why the
70
- behavior was inappropriate. A public apology may be requested.
71
-
72
- ### 2. Warning
73
-
74
- **Community Impact:** A violation through a single incident or series of actions.
75
-
76
- **Consequence:** A warning with consequences for continued behavior. No
27
+ behavior was inappropriate. A public apology may be requested. ### 2. Warning **Community Impact:** A violation through a single incident or series of actions. **Consequence:** A warning with consequences for continued behavior. No
77
28
  interaction with the people involved, including unsolicited interaction with
78
29
  those enforcing the Code of Conduct, for a specified period of time. This
79
30
  includes avoiding interactions in community spaces as well as external channels
80
31
  like social media. Violating these terms may lead to a temporary or
81
- permanent ban.
82
-
83
- ### 3. Temporary Ban
84
-
85
- **Community Impact:** A serious violation of community standards, including
86
- sustained inappropriate behavior.
87
-
88
- **Consequence:** A temporary ban from any sort of interaction or public
32
+ permanent ban. ### 3. Temporary Ban **Community Impact:** A serious violation of community standards, including
33
+ sustained inappropriate behavior. **Consequence:** A temporary ban from any sort of interaction or public
89
34
  communication with the community for a specified period of time. No public or
90
35
  private interaction with the people involved, including unsolicited interaction
91
36
  with those enforcing the Code of Conduct, is allowed during this period.
92
- Violating these terms may lead to a permanent ban.
93
-
94
- ### 4. Permanent Ban
95
-
96
- **Community Impact:** Demonstrating a pattern of violation of community
37
+ Violating these terms may lead to a permanent ban. ### 4. Permanent Ban **Community Impact:** Demonstrating a pattern of violation of community
97
38
  standards, including sustained inappropriate behavior, harassment of an
98
- individual, or aggression toward or disparagement of classes of individuals.
99
-
100
- **Consequence:** A permanent ban from any sort of public interaction within
101
- the community.
102
-
103
- ## Attribution
104
-
105
- This Code of Conduct is adapted from the [Contributor Covenant][homepage],
39
+ individual, or aggression toward or disparagement of classes of individuals. **Consequence:** A permanent ban from any sort of public interaction within
40
+ the community. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage],
106
41
  version 2.1, available at
107
- https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
108
-
109
- [homepage]: https://www.contributor-covenant.org
110
-
111
- For answers to common questions about this code of conduct, see the FAQ at
42
+ https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. [homepage]: https://www.contributor-covenant.org For answers to common questions about this code of conduct, see the FAQ at
112
43
  https://www.contributor-covenant.org/faq.
package/CONTRIBUTING.md CHANGED
@@ -1,10 +1,4 @@
1
- # Contributing to Daedalus
2
-
3
- Thanks for your interest in contributing! Daedalus is a local-first AI coding CLI, and we welcome contributions of all kinds — bug fixes, features, documentation, and more.
4
-
5
- ## Table of Contents
6
-
7
- - [Code of Conduct](#code-of-conduct)
1
+ # Contributing to Daedalus Thanks for your interest in contributing! Daedalus is a local-first AI coding CLI, and we welcome contributions of all kinds — bug fixes, features, documentation, and more. ## Table of Contents - [Code of Conduct](#code-of-conduct)
8
2
  - [Getting Started](#getting-started)
9
3
  - [Development Setup](#development-setup)
10
4
  - [Project Structure](#project-structure)
@@ -12,155 +6,65 @@ Thanks for your interest in contributing! Daedalus is a local-first AI coding CL
12
6
  - [Commit Guidelines](#commit-guidelines)
13
7
  - [Pull Request Process](#pull-request-process)
14
8
  - [Testing](#testing)
15
- - [Reporting Issues](#reporting-issues)
16
-
17
- ## Code of Conduct
18
-
19
- This project is governed by the [Contributor Covenant](CODE_OF_CONDUCT.md). By participating, you agree to uphold its terms.
20
-
21
- ## Getting Started
22
-
23
- 1. Fork the repository
9
+ - [Reporting Issues](#reporting-issues) ## Code of Conduct This project is governed by the [Contributor Covenant](CODE_OF_CONDUCT.md). By participating, you agree to uphold its terms. ## Getting Started 1. Fork the repository
24
10
  2. Clone your fork: `git clone https://github.com/<your-username>/daedalus.git`
25
- 3. Create a feature branch: `git checkout -b feat/your-feature-name`
26
-
27
- ## Development Setup
28
-
29
- ```bash
11
+ 3. Create a feature branch: `git checkout -b feat/your-feature-name` ## Development Setup ```bash
30
12
  # Install dependencies
31
- npm install
32
-
33
- # Run in dev mode (hot reload)
34
- npm run dev
35
-
36
- # Build
37
- npm run build
38
-
39
- # Type check
13
+ npm install # Run in dev mode (hot reload)
14
+ npm run dev # Build
15
+ npm run build # Type check
40
16
  npx tsc --noEmit
41
- ```
42
-
43
- ### Prerequisites
44
-
45
- - Node.js 20+
46
- - A local LLM server (LM Studio, Ollama, llama.cpp, vLLM) or a remote API key
47
-
48
- ## Project Structure
49
-
50
- ```
17
+ ``` ### Prerequisites - Node.js 20+
18
+ - A local LLM server (LM Studio, Ollama, llama.cpp, vLLM) or a remote API key ## Project Structure ```
51
19
  src/
52
- ├── index.ts # CLI entry point, REPL, command dispatch
53
- ├── types.ts # Shared type definitions
54
- ├── highlight.ts # Syntax highlighting
55
- ├── config/ # Configuration loading, schema, discovery
56
- ├── router/ # Model routing engine
57
- ├── session/ # Session persistence (SQLite, JSONL)
58
- ├── agents/ # Multi-agent system
59
- ├── tools/ # Tool system (16 built-in tools + MCP)
60
- ├── builtin/ # File, terminal, git, web, todo, etc.
61
- └── mcp/ # MCP transport (stdio, HTTP/SSE)
62
- ├── indexing/ # FTS5 codebase indexing
63
- └── onboarding/ # Setup wizard
64
- ```
65
-
66
- ## Coding Standards
67
-
68
- ### Language & Runtime
69
-
70
- - **TypeScript** with strict mode
20
+ ├── index.ts # CLI entry point, REPL, command dispatch
21
+ ├── types.ts # Shared type definitions
22
+ ├── highlight.ts # Syntax highlighting
23
+ ├── config/ # Configuration loading, schema, discovery
24
+ ├── router/ # Model routing engine
25
+ ├── session/ # Session persistence (SQLite, JSONL)
26
+ ├── agents/ # Multi-agent system
27
+ ├── tools/ # Tool system (16 built-in tools + MCP)
28
+ ├── builtin/ # File, terminal, git, web, todo, etc.
29
+ └── mcp/ # MCP transport (stdio, HTTP/SSE)
30
+ ├── indexing/ # FTS5 codebase indexing
31
+ └── onboarding/ # Setup wizard
32
+ ``` ## Coding Standards ### Language & Runtime - **TypeScript** with strict mode
71
33
  - **ESM** only (`"type": "module"`) — always use `.js` extension in local imports
72
- - **Node.js 20+** target
73
-
74
- ### Style
75
-
76
- - **No comments** in source code unless the logic is non-obvious
34
+ - **Node.js 20+** target ### Style - **No comments** in source code unless the logic is non-obvious
77
35
  - **No default exports** — use named exports everywhere
78
36
  - **No emoji** in code or documentation
79
- - **Descriptive names** — prefer clarity over brevity
80
-
81
- ### Imports
82
-
83
- ```typescript
37
+ - **Descriptive names** — prefer clarity over brevity ### Imports ```typescript
84
38
  // Local imports must include .js extension
85
- import { RouterConfig } from '../router/types.js';
86
-
87
- // npm imports need no extension
39
+ import { RouterConfig } from '../router/types.js'; // npm imports need no extension
88
40
  import { z } from 'zod';
89
- ```
90
-
91
- ### Error Handling
92
-
93
- - Throw typed errors with descriptive messages
94
- - Tools return `{ success: boolean, content: string, error?: string }`
95
-
96
- ## Commit Guidelines
97
-
98
- We follow [Conventional Commits](https://www.conventionalcommits.org/):
99
-
100
- ```
101
- <type>(<scope>): <description>
102
-
103
- [optional body]
104
- ```
105
-
106
- ### Types
107
-
108
- | Type | Usage |
41
+ ``` ### Error Handling - Throw typed errors with descriptive messages
42
+ - Tools return `{ success: boolean, content: string, error?: string }` ## Commit Guidelines We follow [Conventional Commits](https://www.conventionalcommits.org/): ```
43
+ <type>(<scope>): <description> [optional body]
44
+ ``` ### Types | Type | Usage |
109
45
  |----------|------------------------------|
110
- | feat | New feature |
111
- | fix | Bug fix |
112
- | docs | Documentation only |
113
- | style | Formatting, missing semicolons |
46
+ | feat | New feature |
47
+ | fix | Bug fix |
48
+ | docs | Documentation only |
49
+ | style | Formatting, missing semicolons |
114
50
  | refactor | Code change that fixes neither bug nor adds feature |
115
- | perf | Performance improvement |
116
- | test | Adding or updating tests |
117
- | chore | Build process, tooling, CI |
118
-
119
- ### Examples
120
-
121
- ```
51
+ | perf | Performance improvement |
52
+ | test | Adding or updating tests |
53
+ | chore | Build process, tooling, CI | ### Examples ```
122
54
  feat(router): add temperature-per-model support
123
55
  fix(indexing): handle symlinked directories
124
56
  docs: add contributing guide
125
57
  test(session): add SQLite CRUD tests
126
- ```
127
-
128
- ## Pull Request Process
129
-
130
- 1. **Small PRs are better** — keep each PR focused on one concern
58
+ ``` ## Pull Request Process 1. **Small PRs are better** — keep each PR focused on one concern
131
59
  2. **Update the CHANGELOG** — add your change under the `[Unreleased]` section
132
60
  3. **Include tests** — new features should include tests; bug fixes should add a regression test
133
61
  4. **Pass CI** — CI runs `npm run lint` (ubuntu) and `npm test` (win/ubuntu/macos). Ensure all pass before requesting review
134
62
  5. **Auto-release on merge** — when a PR merges to `main`, semantic-release publishes a new version to npm and creates a GitHub release automatically. The version bump is determined by commit messages (conventional commits)
135
- 6. **Request review** — tag a maintainer or mention `@bgill55`
136
-
137
- ### PR Title Format
138
-
139
- Same as commit messages: `type(scope): description`
140
-
141
- ## Testing
142
-
143
- ```bash
63
+ 6. **Request review** — tag a maintainer or mention `@bgill55` ### PR Title Format Same as commit messages: `type(scope): description` ## Testing ```bash
144
64
  # Run all tests
145
- npm test
146
-
147
- # Watch mode
148
- npx vitest
149
-
150
- # With coverage
65
+ npm test # Watch mode
66
+ npx vitest # With coverage
151
67
  npx vitest --coverage
152
- ```
153
-
154
- Tests are written with [vitest](https://vitest.dev/) and co-located with source files as `*.test.ts`.
155
-
156
- ## Reporting Issues
157
-
158
- - **Bug reports** — use the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md)
68
+ ``` Tests are written with [vitest](https://vitest.dev/) and co-located with source files as `*.test.ts`. ## Reporting Issues - **Bug reports** — use the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md)
159
69
  - **Feature requests** — use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md)
160
- - **Security issues** — see [SECURITY.md](SECURITY.md)
161
-
162
- Before filing, please search [existing issues](https://github.com/bgill55/daedalus/issues) to avoid duplicates.
163
-
164
- ## Questions?
165
-
166
- Open a [Discussion](https://github.com/bgill55/daedalus/discussions) or reach out to the maintainer.
70
+ - **Security issues** — see [SECURITY.md](SECURITY.md) Before filing, please search [existing issues](https://github.com/bgill55/daedalus/issues) to avoid duplicates. ## Questions? Open a [Discussion](https://github.com/bgill55/daedalus/discussions) or reach out to the maintainer.
package/README.md CHANGED
@@ -45,6 +45,13 @@ For full guides, configuration reference, and examples, visit the documentation
45
45
 
46
46
  ---
47
47
 
48
+ > ### Looking to build and sell your own AI CLI?
49
+ > Check out **[Daedalus-Lite](https://bgill55.github.io/daedalus-lite/)** — the zero-dependency, rebrandable TypeScript starter template designed for developers to build, rebrand, and sell their own custom AI coding tools! [Visit Daedalus-Lite →](https://bgill55.github.io/daedalus-lite/)
50
+ >
51
+ > **Fun fact**: Daedalus itself was built using Daedalus-Lite as a starting point, then extended with advanced features like multi-agent orchestration, codebase indexing, and autonomous workflows. See [what's possible with Daedalus-Lite](https://bgill55.github.io/daedalus-lite/#what-is-possible) for inspiration.
52
+
53
+ ---
54
+
48
55
  ## Quick Start
49
56
 
50
57
  ```bash
@@ -98,6 +105,7 @@ AI assistance without:
98
105
  - **Terminal** — cross-platform shell execution (bash/cmd/powershell) with custom preference support, timeout, and abort
99
106
  - **Git** — status, diff, stage-all-and-commit, undo
100
107
  - **Web** — DuckDuckGo search and URL fetching (no API key needed)
108
+ - **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
101
109
  - **Codebase** — index, find, definitions, references
102
110
 
103
111
  ### Commands
@@ -143,6 +151,7 @@ AI assistance without:
143
151
  | `/mcp` | Manage MCP servers: explore, search, install, list, remove, info |
144
152
  | `/onboard` | First-time setup — discover local models, configure, and test |
145
153
  | `/tui` | Toggle the Terminal User Interface (TUI) dashboard |
154
+ | `/image` | Generate an image using local Stable Diffusion WebUI or Pollinations AI |
146
155
  | `exit` / `/exit` / `/quit` / `quit` | Save session and exit |
147
156
  <!-- END_COMMANDS_TABLE -->
148
157
 
@@ -207,7 +216,7 @@ npx tsc --noEmit # type check
207
216
  ### Architecture
208
217
 
209
218
  <p align="center">
210
- <img src="docs/images/Daedalus_AI_Coding_Architect_Overview.png" alt="Daedalus AI Coding Architect Overview" width="100%" />
219
+ <img src="docs/images/daedalus_evolution_infographic.jpg" alt="Daedalus Evolution: From Foundation to Fortress" width="100%" />
211
220
  </p>
212
221
 
213
222
  ```
@@ -231,7 +240,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines, coding standards, and the
231
240
  ---
232
241
 
233
242
  <p align="center">
234
- <sub>Daedalus is open source and free. If it helps you build cooler things faster, consider buying me a coffee! ☕</sub>
243
+ <sub>Daedalus is open source and free. If it helps you build cooler things faster, consider buying me a coffee!</sub>
235
244
  </p>
236
245
 
237
246
  <p align="center">
package/SECURITY.md CHANGED
@@ -1,52 +1,16 @@
1
- # Security Policy
2
-
3
- ## Supported Versions
4
-
5
- We release patches for security vulnerabilities. This table shows which versions are currently supported:
6
-
7
- | Version | Supported |
1
+ # Security Policy ## Supported Versions We release patches for security vulnerabilities. This table shows which versions are currently supported: | Version | Supported |
8
2
  |---------|--------------------|
9
- | 0.4.x | :white_check_mark: |
10
- | < 0.4 | :x: |
11
-
12
- ## Reporting a Vulnerability
13
-
14
- We take security seriously. If you discover a security vulnerability in Daedalus, please **do not** open a public issue.
15
-
16
- Instead, send a private report to **bgill55_dev@voxvivid.com** with:
17
-
18
- - A description of the vulnerability
3
+ | 0.4.x | :white_check_mark: |
4
+ | < 0.4 | :x: | ## Reporting a Vulnerability We take security seriously. If you discover a security vulnerability in Daedalus, please **do not** open a public issue. Instead, send a private report to **bgill55_dev@voxvivid.com** with: - A description of the vulnerability
19
5
  - Steps to reproduce it
20
6
  - Affected versions
21
- - Any potential mitigations you've identified
22
-
23
- You should receive a response within 48 hours. If you don't, please follow up to ensure we received your message.
24
-
25
- ### What to expect
26
-
27
- 1. **Acknowledgment** — we'll confirm receipt within 48 hours
7
+ - Any potential mitigations you've identified You should receive a response within 48 hours. If you don't, please follow up to ensure we received your message. ### What to expect 1. **Acknowledgment** — we'll confirm receipt within 48 hours
28
8
  2. **Assessment** — we'll investigate and determine impact and severity
29
9
  3. **Fix** — we'll develop and test a patch
30
- 4. **Release** — we'll publish a security advisory and a patched release
31
-
32
- ### Disclosure
33
-
34
- We ask that you allow us reasonable time to fix and release a patch before publicly disclosing the vulnerability.
35
-
36
- ## Security Best Practices
37
-
38
- When using Daedalus:
39
-
40
- - **API keys** are stored in `~/.daedalus/config.json` — keep this file secure
10
+ 4. **Release** — we'll publish a security advisory and a patched release ### Disclosure We ask that you allow us reasonable time to fix and release a patch before publicly disclosing the vulnerability. ## Security Best Practices When using Daedalus: - **API keys** are stored in `~/.daedalus/config.json` — keep this file secure
41
11
  - **Local LLM servers** should be bound to localhost (127.0.0.1) to avoid network exposure
42
12
  - **Review tool execution** — Daedalus runs terminal commands you approve; review them before confirming
43
- - Keep Daedalus updated to the latest version to receive security patches
44
-
45
- ## Scope
46
-
47
- The following are **out of scope**:
48
-
49
- - Social engineering attacks against Daedalus maintainers
13
+ - Keep Daedalus updated to the latest version to receive security patches ## Scope The following are **out of scope**: - Social engineering attacks against Daedalus maintainers
50
14
  - Attacks requiring physical access to the victim's machine
51
15
  - Vulnerabilities in third-party LLM servers or providers
52
16
  - Denial of service against local services
@@ -128,7 +128,7 @@ GUIDELINES:
128
128
  - 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.
129
129
 
130
130
  Use tools: read_file, write_file, patch, search_files, terminal, find_symbol, get_definition, get_references, index_codebase. Do NOT use git_diff or git_status — checking git state is the reviewer's job.`,
131
- allowedTools: ['read_file', 'write_file', 'patch', 'search_files', 'list_files', 'terminal', 'web_search', 'fetch_url', 'index_codebase', 'find_symbol', 'get_definition', 'get_references'],
131
+ allowedTools: ['read_file', 'write_file', 'patch', 'search_files', 'list_files', 'terminal', 'web_search', 'fetch_url', 'index_codebase', 'find_symbol', 'get_definition', 'get_references', 'generate_image'],
132
132
  canDelegate: false,
133
133
  temperature: 0.1,
134
134
  maxTurns: 12,
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/agents/roles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/agents/roles.ts"],"names":[],"mappings":"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"}
@@ -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,GAAG,CAAC;IACZ,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,EAw+DjC,CAAC;AAEF,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAqCzF"}
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,GAAG,CAAC;IACZ,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,EA0hEjC,CAAC;AAEF,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAqCzF"}
package/dist/commands.js CHANGED
@@ -1954,6 +1954,52 @@ Once you have finished making changes, I will automatically re-run the command t
1954
1954
  }
1955
1955
  }
1956
1956
  },
1957
+ {
1958
+ name: '/image',
1959
+ description: 'Generate an image using local Stable Diffusion WebUI or Pollinations AI',
1960
+ usage: '/image <prompt> [--output path] [--provider auto|sd-webui|pollinations] [--width 512] [--height 512] [--steps 20]',
1961
+ helpText: 'Generate an image using a local Stable Diffusion WebUI instance (http://127.0.0.1:7860) or free Pollinations AI.\n\nArguments:\n <prompt> Detailed description of the image to generate\n --provider <engine> Engine: auto (local SD with Pollinations fallback), sd-webui, or pollinations\n --output <path> Filepath to save PNG (default: ./assets/images/img_<timestamp>.png)\n --width <pixels> Image width (default: 512)\n --height <pixels> Image height (default: 512)\n --steps <count> Sampling steps for local SD (default: 20)',
1962
+ execute: async (args, _ctx) => {
1963
+ const promptText = args.trim();
1964
+ if (!promptText) {
1965
+ console.log(pc.yellow('Usage: /image <prompt> [--provider auto|sd-webui|pollinations] [--output path] [--width 512] [--height 512] [--steps 20]'));
1966
+ return;
1967
+ }
1968
+ console.log(pc.cyan(`\n Generating image...`));
1969
+ const { generateImage } = await import('./tools/builtin/image.js');
1970
+ let width;
1971
+ let height;
1972
+ let steps;
1973
+ let provider;
1974
+ let output_path;
1975
+ const cleanedPrompt = promptText
1976
+ .replace(/--provider\s+([^\s]+)/i, (_, pr) => {
1977
+ if (['auto', 'sd-webui', 'pollinations'].includes(pr.toLowerCase())) {
1978
+ provider = pr.toLowerCase();
1979
+ }
1980
+ return '';
1981
+ })
1982
+ .replace(/--output\s+([^\s]+)/i, (_, p) => { output_path = p; return ''; })
1983
+ .replace(/--width\s+(\d+)/i, (_, w) => { width = parseInt(w, 10); return ''; })
1984
+ .replace(/--height\s+(\d+)/i, (_, h) => { height = parseInt(h, 10); return ''; })
1985
+ .replace(/--steps\s+(\d+)/i, (_, s) => { steps = parseInt(s, 10); return ''; })
1986
+ .trim();
1987
+ const res = await generateImage({
1988
+ prompt: cleanedPrompt || promptText,
1989
+ width,
1990
+ height,
1991
+ steps,
1992
+ provider,
1993
+ output_path,
1994
+ });
1995
+ if (res.success) {
1996
+ console.log(pc.green(`\n✔ ${res.content}`));
1997
+ }
1998
+ else {
1999
+ console.log(pc.red(`\n✗ Image generation failed: ${res.error}`));
2000
+ }
2001
+ }
2002
+ },
1957
2003
  {
1958
2004
  name: 'exit',
1959
2005
  aliases: ['/exit', '/quit', 'quit'],