moderado 0.3.8 → 0.3.10

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 (95) hide show
  1. package/README.md +217 -215
  2. package/dist/args.d.ts +2 -0
  3. package/dist/args.d.ts.map +1 -1
  4. package/dist/args.js +40 -29
  5. package/dist/args.js.map +1 -1
  6. package/dist/commands/chat.d.ts.map +1 -1
  7. package/dist/commands/chat.js +31 -9
  8. package/dist/commands/chat.js.map +1 -1
  9. package/dist/commands/run.d.ts.map +1 -1
  10. package/dist/commands/run.js +6 -3
  11. package/dist/commands/run.js.map +1 -1
  12. package/dist/commands/skills.d.ts +1 -1
  13. package/dist/commands/skills.d.ts.map +1 -1
  14. package/dist/commands/skills.js +25 -7
  15. package/dist/commands/skills.js.map +1 -1
  16. package/dist/config.d.ts +5 -73
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +3 -96
  19. package/dist/config.js.map +1 -1
  20. package/dist/index.d.ts +2 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +10 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/injected_version.d.ts +2 -0
  25. package/dist/injected_version.d.ts.map +1 -0
  26. package/dist/injected_version.js +5 -0
  27. package/dist/injected_version.js.map +1 -0
  28. package/dist/model_pricing.d.ts +2 -14
  29. package/dist/model_pricing.d.ts.map +1 -1
  30. package/dist/model_pricing.js +1 -52
  31. package/dist/model_pricing.js.map +1 -1
  32. package/dist/skills.d.ts +5 -1
  33. package/dist/skills.d.ts.map +1 -1
  34. package/dist/skills.js +99 -8
  35. package/dist/skills.js.map +1 -1
  36. package/dist/ui/help_modal.js +1 -1
  37. package/dist/ui/help_modal.js.map +1 -1
  38. package/dist/ui/welcome.js +2 -2
  39. package/dist/vendor/core/agent.d.ts +5 -0
  40. package/dist/vendor/core/agent.d.ts.map +1 -1
  41. package/dist/vendor/core/agent.js +45 -24
  42. package/dist/vendor/core/agent.js.map +1 -1
  43. package/dist/vendor/providers/index.d.ts +1 -0
  44. package/dist/vendor/providers/index.d.ts.map +1 -1
  45. package/dist/vendor/providers/index.js +1 -0
  46. package/dist/vendor/providers/index.js.map +1 -1
  47. package/dist/vendor/providers/presets.d.ts +87 -0
  48. package/dist/vendor/providers/presets.d.ts.map +1 -0
  49. package/dist/vendor/providers/presets.js +149 -0
  50. package/dist/vendor/providers/presets.js.map +1 -0
  51. package/package.json +28 -28
  52. package/dist/chat_mode.d.ts +0 -14
  53. package/dist/chat_mode.d.ts.map +0 -1
  54. package/dist/chat_mode.js +0 -13
  55. package/dist/chat_mode.js.map +0 -1
  56. package/dist/commands/host.d.ts +0 -4
  57. package/dist/commands/host.d.ts.map +0 -1
  58. package/dist/commands/host.js +0 -30
  59. package/dist/commands/host.js.map +0 -1
  60. package/dist/host/approval_queue.d.ts +0 -9
  61. package/dist/host/approval_queue.d.ts.map +0 -1
  62. package/dist/host/approval_queue.js +0 -63
  63. package/dist/host/approval_queue.js.map +0 -1
  64. package/dist/host/auto_approve.d.ts +0 -22
  65. package/dist/host/auto_approve.d.ts.map +0 -1
  66. package/dist/host/auto_approve.js +0 -36
  67. package/dist/host/auto_approve.js.map +0 -1
  68. package/dist/host/ndjson.d.ts +0 -3
  69. package/dist/host/ndjson.d.ts.map +0 -1
  70. package/dist/host/ndjson.js +0 -68
  71. package/dist/host/ndjson.js.map +0 -1
  72. package/dist/host/protocol_server.d.ts +0 -9
  73. package/dist/host/protocol_server.d.ts.map +0 -1
  74. package/dist/host/protocol_server.js +0 -101
  75. package/dist/host/protocol_server.js.map +0 -1
  76. package/dist/host/runtime.d.ts +0 -30
  77. package/dist/host/runtime.d.ts.map +0 -1
  78. package/dist/host/runtime.js +0 -603
  79. package/dist/host/runtime.js.map +0 -1
  80. package/dist/ui/session_screen.d.ts +0 -32
  81. package/dist/ui/session_screen.d.ts.map +0 -1
  82. package/dist/ui/session_screen.js +0 -148
  83. package/dist/ui/session_screen.js.map +0 -1
  84. package/dist/ui/session_terminal.d.ts +0 -46
  85. package/dist/ui/session_terminal.d.ts.map +0 -1
  86. package/dist/ui/session_terminal.js +0 -342
  87. package/dist/ui/session_terminal.js.map +0 -1
  88. package/dist/vendor/contracts/host_protocol.d.ts +0 -3545
  89. package/dist/vendor/contracts/host_protocol.d.ts.map +0 -1
  90. package/dist/vendor/contracts/host_protocol.js +0 -292
  91. package/dist/vendor/contracts/host_protocol.js.map +0 -1
  92. package/dist/web_search_route.d.ts +0 -16
  93. package/dist/web_search_route.d.ts.map +0 -1
  94. package/dist/web_search_route.js +0 -60
  95. package/dist/web_search_route.js.map +0 -1
package/README.md CHANGED
@@ -1,215 +1,217 @@
1
- # Moderado
2
-
3
- > **A lightweight, provider-independent CLI coding agent with dynamic NVIDIA NIM discovery, free-first AUTO routing, and an uncompromised human-in-the-loop approval boundary.**
4
-
5
- [![Version](https://img.shields.io/badge/version-v0.3.0%2B2609221-blue.svg)](file:///d:/projects/moderado/VERSION)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](file:///d:/projects/moderado/LICENSE)
7
- [![Standards: Alfazen](https://img.shields.io/badge/standard-alfazen--coding-green.svg)](https://github.com/marcuz-apl/alfazen-skills)
8
-
9
- ---
10
-
11
- ## Highlights
12
-
13
- - **Clean-Room & Original**: Built from scratch in TypeScript on Node.js (>= 20 LTS). No code copied from Cline, OpenCode, or legacy wrappers.
14
- - **Provider-Independent Core**: Core agent loops, tool dispatching, and routing depend on pure contracts (`packages/contracts`) using Dependency Injection.
15
- - **Dynamic NVIDIA Discovery**: Queries live `/v1/models` from NVIDIA NIM hosted catalog or local NIM instances; never relies on stale static lists.
16
- - **Free-First AUTO Routing**: Intelligently ranks and selects verified free/trial tool-capable models before any paid endpoints. Paid models and unverified pricing require explicit user opt-in.
17
- - **Strict Approval Boundary**: Auto-approved reads; interactive human approval for file writes, edits, and command executions. Non-interactive sessions fail closed.
18
- - **Minimalist & Bloat-Free (`ponytail`)**: Follows the Decision Ladder: YAGNI, standard library first (native Node `fetch`, `AbortController`, `child_process.spawn`), and zero unnecessary dependencies.
19
- - **Alfazen Versioning (`versioning-alfazen`)**: SemVer 2.0.0 with high-traceability connected UTC build prefixes (`v<m.n.p>+<yymmddc>`) and mandatory owner advisory gates for major releases.
20
-
21
- ---
22
-
23
- ## Documentation Index
24
-
25
- | Document | Purpose |
26
- |---|---|
27
- | [**PRD.md**](file:///d:/projects/moderado/PRD.md) | **Product Requirements Document**: Personas, requirements, CLI specs, and acceptance criteria |
28
- | [**AGENTS.md**](file:///d:/projects/moderado/AGENTS.md) | **Agent Operational Manual**: Rules of engagement, Ponytail Decision Ladder, and subagent patterns |
29
- | [**docs/ARCHITECTURE.md**](file:///d:/projects/moderado/docs/ARCHITECTURE.md) | **System Architecture**: Workspaces, Dependency Injection, state machines, and event streams |
30
- | [**docs/TOOLS.md**](file:///d:/projects/moderado/docs/TOOLS.md) | **Tool Specifications**: Schemas, limits, atomic writes, and validation rules for the 7 tools |
31
- | [**docs/ROUTING.md**](file:///d:/projects/moderado/docs/ROUTING.md) | **Discovery & Routing**: Classification taxonomy, AUTO selection algorithm, and retry/fallback cascades |
32
- | [**docs/SECURITY.md**](file:///d:/projects/moderado/docs/SECURITY.md) | **Security Model**: Workspace jail, `shell: false` isolation, environment cleansing, and injection defense |
33
- | [**HANDOFF.md**](file:///d:/projects/moderado/HANDOFF.md) | **Project Handoff Snapshot**: Real-time status, decisions, blockers, and next implementation milestones |
34
-
35
- ---
36
-
37
- ## Workspace Layout
38
-
39
- Moderado is organized as an npm workspace:
40
-
41
- ```text
42
- moderado/
43
- ├── apps/
44
- │ └── cli/ # v0.1 CLI application and terminal event rendering
45
- ├── packages/
46
- │ ├── contracts/ # Pure TypeScript interfaces, Zod schemas, events
47
- │ ├── core/ # Agent loop, routing policy, session state machine
48
- │ ├── providers/ # NVIDIA NIM HTTP adapter and mock/fake providers
49
- │ └── tools/ # Workspace file jail and process execution engine
50
- ├── tests/ # Cross-package and CLI integration tests
51
- ├── docs/ # Architectural and subsystem specifications
52
- ├── VERSION # Alfazen connected version identifier
53
- ├── PRD.md # Product requirements document
54
- ├── AGENTS.md # Agent operational guide
55
- └── HANDOFF.md # Resumption and state ledger
56
- ```
57
-
58
- ---
59
-
60
- ## CLI Command Quick Reference
61
-
62
- ```bash
63
- # Discover live models and display access/capability classifications
64
- moderado models
65
-
66
- # Run a bounded coding task in the current workspace (default AUTO routing)
67
- moderado run "Add unit tests for user authentication"
68
-
69
- # Pin a specific model (disables fallback)
70
- moderado run "Refactor database client" --model meta/llama-3.3-70b-instruct
71
-
72
- # Run against a local NIM container
73
- moderado run "Audit codebase" --profile local-nim
74
-
75
- # Run in read-only audit mode (denies all writes and commands)
76
- moderado run "Analyze security boundaries" --read-only
77
- ```
78
-
79
- ---
80
-
81
- ## Install Moderado
82
-
83
- Moderado requires **Node.js 20 or newer**.
84
-
85
- ```bash
86
- npm install -g moderado
87
- moderado --help
88
- ```
89
-
90
- moderado@0.3.0 is live on the public npm registry (latest tag points at 0.3.0).
91
- Any npm-compatible installer works (bun add -g moderado,
92
- pnpm add -g moderado, npx -y moderado@latest --help), and prebuilt
93
- dependency-free binaries (moderado-win-x64.exe, moderado-macos-arm64,
94
- moderado-linux-x64) are attached to the
95
- GitHub Release v0.3.0 at https://github.com/marcuz-apl/moderado/releases/tag/v0.3.0.
96
- The curl installer (`scripts/install.sh`, Linux x64 + macOS arm64), the
97
- Homebrew tap, and the Scoop bucket are available; the winget and AUR
98
- submissions are pending. See docs/DISTRIBUTION.md in the repository.
99
- To build from source instead:
100
-
101
- ```bash
102
- git clone https://github.com/marcuz-apl/moderado.git
103
- cd moderado
104
- npm install
105
- npm run build
106
- node apps/cli/dist/index.js
107
- ```
108
-
109
- Maintainers can install a verified release artifact directly with
110
- `npm install -g ./moderado-<version>.tgz`. See
111
- [docs/RELEASING.md](docs/RELEASING.md) for the review procedure.
112
-
113
- ### Connect a provider
114
-
115
- Open Moderado and use `/connect`. NVIDIA NIM is the default free-first provider;
116
- OpenRouter, Agnes AI, and compatible OpenAI-style endpoints are also supported.
117
- On Windows, newly saved provider keys go to Windows Credential Manager and
118
- `~/.moderado/config.json` retains only a credential reference. On other
119
- platforms, use an environment variable such as `NVIDIA_API_KEY` or
120
- `OPENROUTER_API_KEY`.
121
-
122
- Run `moderado doctor` to inspect local setup without exposing secrets. Add
123
- `--connectivity` only when you want an optional live model-catalog check.
124
- `npm test` never performs live provider calls.
125
- ## Getting Started & Development
126
-
127
- ### Connect a provider in the TUI
128
-
129
- Run `moderado` to open the TUI immediately. A fresh installation does not require
130
- an API key or a preselected model. The welcome card shows **No model connected —
131
- use `/connect`** until you add one.
132
-
133
- Use `/connect` to add NVIDIA NIM. NVIDIA NIM starts with `AUTO` free-first
134
- routing, so choosing a model is optional; use `/model` later to pin one. Obtain
135
- an NVIDIA key from [build.nvidia.com](https://build.nvidia.com), or set it as
136
- `NVIDIA_API_KEY` before launching Moderado.
137
-
138
- ### Sessions and usage
139
-
140
- Moderado stores sessions per workspace in `~/.moderado/sessions/`. Use
141
- `/session` to create, resume, export, or compact a local conversation. Session
142
- exports redact recognized API-key prefixes. The status line uses only
143
- provider-reported token usage. It shows the calculated cost when the selected
144
- model exposes prompt and completion prices, and **Cost unknown** otherwise.
145
-
146
- `/connect` also accepts an OpenAI-compatible base URL, API key, and explicit
147
- model ID for providers such as OpenRouter, Z.AI, DeepSeek, Moonshot, and
148
- Mistral. Compatibility depends on each provider supporting `/v1/models` and
149
- streaming `/v1/chat/completions` with tool calls. Provider credentials are saved
150
- in `~/.moderado/config.json`; protect that file and never commit it.
151
-
152
- ### 1. Build & Test
153
- ```bash
154
- # Install workspace dependencies
155
- npm install
156
-
157
- # Build all packages via TypeScript project references
158
- npm run build
159
-
160
- # Run full automated test suite (100% offline, zero API keys required)
161
- npm test
162
- ```
163
-
164
- ### 2. Manual Live Smoke Test (Optional)
165
- To test live model discovery and chat against NVIDIA NIM with real credentials:
166
- ```bash
167
- # PowerShell
168
- $env:NVIDIA_API_KEY="nvapi-..."
169
- node scripts/smoke_test.js
170
-
171
- # POSIX (bash/zsh)
172
- export NVIDIA_API_KEY="nvapi-..."
173
- node scripts/smoke_test.js
174
- ```
175
-
176
- ---
177
-
178
- ## License
179
-
180
- This project is licensed under the MIT License.
181
- *NVIDIA NIM, NGC, and model weights/APIs are subject to their respective terms and licenses. Moderado is independent and not endorsed by NVIDIA.*
182
-
183
- ### Practical coding workflow
184
-
185
- Use `/workflow` from the TUI to work through a change safely:
186
-
187
- - **Git status** shows the current branch and changed files without using a shell.
188
- - **Review diff** shows the bounded working-tree diff.
189
- - In **Plan** mode, Moderado asks the model for a concise checklist and cannot make workspace changes. Choose **Build plan** and confirm to send that checklist to Execute mode.
190
- - File writes, exact edits, and multi-file patches show their change preview and still require approval. Moderado records a byte-preserving checkpoint immediately before an approved file mutation.
191
- - **Undo latest agent change** requires its own approval. It restores the latest completed checkpoint from `~/.moderado/checkpoints/` only when every affected file still has the expected post-change digest. If a file changed externally, it reports the conflict and restores nothing.
192
-
193
- ### Diagnostics evidence
194
-
195
- Ask Moderado to run diagnostics, typecheck, lint, or tests in a TypeScript or JavaScript workspace. It may run only the direct `typecheck`, `lint`, or `test` script defined in that workspace�s `package.json`, and every run requires approval. A non-zero exit returns parsed TypeScript errors as repair evidence; it does not bypass the safety boundary.
196
-
197
- ### TypeScript language intelligence
198
-
199
- Install `typescript-language-server` yourself, then set `typescriptLanguageServer` in `~/.moderado/config.json` to its executable path. Moderado can then use read-only definition and reference lookup for TypeScript/JavaScript files. When the executable is unavailable, it reports how to configure it and leaves normal tools available.
200
-
201
- ### Local MCP tools
202
-
203
- Configure trusted local stdio MCP servers under `mcpServers` in `~/.moderado/config.json`, with an executable and fixed `args` list. Moderado discovers server tools at session startup, namespaces them as `mcp.<server>.<tool>`, and requires approval for every call. MCP network transports and automatic server installation are not supported.
204
-
205
- ### Host event protocol
206
-
207
- Moderado exposes a versioned host-event envelope with session identity and monotonic sequence numbers. The CLI continues to render the contained agent event, while a future desktop host can consume the same protocol without importing CLI code.
208
-
209
- ### Doctor command
210
-
211
- Run `moderado doctor` to check the local Node runtime, workspace, Moderado home directory, provider/key presence, Git, and npm without exposing credentials. Run `moderado doctor --connectivity` only when you want an explicit live provider catalog check.
212
-
213
- ## Windows credential storage
214
-
215
- On Windows, /connect saves provider API keys in Windows Credential Manager and stores only a provider credential reference in ~/.moderado/config.json. Existing plaintext keys remain usable for compatibility. Migrate them explicitly with moderado doctor --migrate-credentials; a failed migration leaves the existing configuration unchanged. On other platforms, set the provider environment variable (for example, NVIDIA_API_KEY or OPENROUTER_API_KEY).
1
+ # Moderado
2
+
3
+ > **A lightweight, provider-independent CLI coding agent with dynamic NVIDIA NIM discovery, free-first AUTO routing, and an uncompromised human-in-the-loop approval boundary.**
4
+
5
+ [![Version](https://img.shields.io/badge/version-v0.3.10-blue.svg)](file:///d:/projects/moderado/VERSION)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](file:///d:/projects/moderado/LICENSE)
7
+ [![Standards: Alfazen](https://img.shields.io/badge/standard-alfazen--coding-green.svg)](https://github.com/marcuz-apl/alfazen-skills)
8
+
9
+ ---
10
+
11
+ ## Highlights
12
+
13
+ - **Clean-Room & Original**: Built from scratch in TypeScript on Node.js (>= 20 LTS). No code copied from Cline, OpenCode, or legacy wrappers.
14
+ - **Provider-Independent Core**: Core agent loops, tool dispatching, and routing depend on pure contracts (`packages/contracts`) using Dependency Injection.
15
+ - **Dynamic NVIDIA Discovery**: Queries live `/v1/models` from NVIDIA NIM hosted catalog or local NIM instances; never relies on stale static lists.
16
+ - **Free-First AUTO Routing**: Intelligently ranks and selects verified free/trial tool-capable models before any paid endpoints. Paid models and unverified pricing require explicit user opt-in.
17
+ - **Strict Approval Boundary**: Auto-approved reads; interactive human approval for file writes, edits, and command executions. Non-interactive sessions fail closed.
18
+ - **Minimalist & Bloat-Free (`ponytail`)**: Follows the Decision Ladder: YAGNI, standard library first (native Node `fetch`, `AbortController`, `child_process.spawn`), and zero unnecessary dependencies.
19
+ - **Alfazen Versioning (`versioning-alfazen`)**: SemVer 2.0.0 with high-traceability connected UTC build prefixes (`v<m.n.p>+<yymmddc>`) and mandatory owner advisory gates for major releases.
20
+
21
+ ---
22
+
23
+ ## Documentation Index
24
+
25
+ | Document | Purpose |
26
+ |---|---|
27
+ | [**PRD.md**](file:///d:/projects/moderado/PRD.md) | **Product Requirements Document**: Personas, requirements, CLI specs, and acceptance criteria |
28
+ | [**AGENTS.md**](file:///d:/projects/moderado/AGENTS.md) | **Agent Operational Manual**: Rules of engagement, Ponytail Decision Ladder, and subagent patterns |
29
+ | [**docs/ARCHITECTURE.md**](file:///d:/projects/moderado/docs/ARCHITECTURE.md) | **System Architecture**: Workspaces, Dependency Injection, state machines, and event streams |
30
+ | [**docs/TOOLS.md**](file:///d:/projects/moderado/docs/TOOLS.md) | **Tool Specifications**: Schemas, limits, atomic writes, and validation rules for the workspace tools |
31
+ | [**docs/ROUTING.md**](file:///d:/projects/moderado/docs/ROUTING.md) | **Discovery & Routing**: Classification taxonomy, AUTO selection algorithm, and retry/fallback cascades |
32
+ | [**docs/SECURITY.md**](file:///d:/projects/moderado/docs/SECURITY.md) | **Security Model**: Workspace jail, `shell: false` isolation, environment cleansing, and injection defense |
33
+ | [**docs/COMPETITIVE_ANALYSIS.md**](../../docs/COMPETITIVE_ANALYSIS.md) | **Competitive Analysis**: Verified Cline CLI and OpenCode CLI feature survey, gap analysis, and deliberate non-goals |
34
+ | [**HANDOFF.md**](file:///d:/projects/moderado/HANDOFF.md) | **Project Handoff Snapshot**: Real-time status, decisions, blockers, and next implementation milestones |
35
+
36
+ ---
37
+
38
+ ## Workspace Layout
39
+
40
+ Moderado is organized as an npm workspace:
41
+
42
+ ```text
43
+ moderado/
44
+ ├── apps/
45
+ │ └── cli/ # v0.1 CLI application and terminal event rendering
46
+ ├── packages/
47
+ │ ├── contracts/ # Pure TypeScript interfaces, Zod schemas, events
48
+ │ ├── core/ # Agent loop, routing policy, session state machine
49
+ │ ├── providers/ # NVIDIA NIM HTTP adapter and mock/fake providers
50
+ │ └── tools/ # Workspace file jail and process execution engine
51
+ ├── tests/ # Cross-package and CLI integration tests
52
+ ├── docs/ # Architectural and subsystem specifications
53
+ ├── VERSION # Alfazen connected version identifier
54
+ ├── PRD.md # Product requirements document
55
+ ├── AGENTS.md # Agent operational guide
56
+ └── HANDOFF.md # Resumption and state ledger
57
+ ```
58
+
59
+ ---
60
+
61
+ ## CLI Command Quick Reference
62
+
63
+ ```bash
64
+ # Discover live models and display access/capability classifications
65
+ moderado models
66
+
67
+ # Run a bounded coding task in the current workspace (default AUTO routing)
68
+ moderado run "Add unit tests for user authentication"
69
+
70
+ # Pin a specific model (disables fallback)
71
+ moderado run "Refactor database client" --model meta/llama-3.3-70b-instruct
72
+
73
+ # Run against a local NIM container
74
+ moderado run "Audit codebase" --profile local-nim
75
+
76
+ # Run in read-only audit mode (denies all writes and commands)
77
+ moderado run "Analyze security boundaries" --read-only
78
+ ```
79
+
80
+ ---
81
+
82
+ ## Install Moderado
83
+
84
+ Moderado requires **Node.js 20 or newer**.
85
+
86
+ ```bash
87
+ npm install -g moderado
88
+ moderado --help
89
+ ```
90
+
91
+ moderado@0.3.10 is live on the public npm registry (latest tag points at 0.3.10).
92
+ Any npm-compatible installer works (bun add -g moderado,
93
+ pnpm add -g moderado, npx -y moderado@latest --help), and prebuilt
94
+ dependency-free binaries (moderado-win-x64.exe, moderado-macos-arm64,
95
+ moderado-linux-x64) are attached to the
96
+ GitHub Release v0.3.10 at https://github.com/marcuz-apl/moderado/releases/tag/v0.3.10.
97
+ The curl installer (`scripts/install.sh`, Linux x64 + macOS arm64), the
98
+ Homebrew tap, and the Scoop bucket are available; the winget submission is
99
+ pending merge and AUR has not been uploaded yet. See docs/DISTRIBUTION.md in
100
+ the repository.
101
+ To build from source instead:
102
+
103
+ ```bash
104
+ git clone https://github.com/marcuz-apl/moderado.git
105
+ cd moderado
106
+ npm install
107
+ npm run build
108
+ node apps/cli/dist/index.js
109
+ ```
110
+
111
+ Maintainers can install a verified release artifact directly with
112
+ `npm install -g ./moderado-<version>.tgz`. See
113
+ [docs/RELEASING.md](../../docs/RELEASING.md) for the review procedure.
114
+
115
+ ### Connect a provider
116
+
117
+ Open Moderado and use `/connect`. NVIDIA NIM is the default free-first provider;
118
+ OpenRouter, Agnes AI, and compatible OpenAI-style endpoints are also supported.
119
+ On Windows, newly saved provider keys go to Windows Credential Manager and
120
+ `~/.moderado/config.json` retains only a credential reference. On other
121
+ platforms, use an environment variable such as `NVIDIA_API_KEY` or
122
+ `OPENROUTER_API_KEY`.
123
+
124
+ Run `moderado doctor` to inspect local setup without exposing secrets. Add
125
+ `--connectivity` only when you want an optional live model-catalog check.
126
+ `npm test` never performs live provider calls.
127
+ ## Getting Started & Development
128
+
129
+ ### Connect a provider in the TUI
130
+
131
+ Run `moderado` to open the TUI immediately. A fresh installation does not require
132
+ an API key or a preselected model. The welcome card shows **No model connected —
133
+ use `/connect`** until you add one.
134
+
135
+ Use `/connect` to add NVIDIA NIM. NVIDIA NIM starts with `AUTO` free-first
136
+ routing, so choosing a model is optional; use `/model` later to pin one. Obtain
137
+ an NVIDIA key from [build.nvidia.com](https://build.nvidia.com), or set it as
138
+ `NVIDIA_API_KEY` before launching Moderado.
139
+
140
+ ### Sessions and usage
141
+
142
+ Moderado stores sessions per workspace in `~/.moderado/sessions/`. Use
143
+ `/session` to create, resume, export, or compact a local conversation. Session
144
+ exports redact recognized API-key prefixes. The status line uses only
145
+ provider-reported token usage. It shows the calculated cost when the selected
146
+ model exposes prompt and completion prices, and **Cost unknown** otherwise.
147
+
148
+ `/connect` also accepts an OpenAI-compatible base URL, API key, and explicit
149
+ model ID for providers such as OpenRouter, Z.AI, DeepSeek, Moonshot, and
150
+ Mistral. Compatibility depends on each provider supporting `/v1/models` and
151
+ streaming `/v1/chat/completions` with tool calls. Provider credentials are saved
152
+ in `~/.moderado/config.json`; protect that file and never commit it.
153
+
154
+ ### 1. Build & Test
155
+ ```bash
156
+ # Install workspace dependencies
157
+ npm install
158
+
159
+ # Build all packages via TypeScript project references
160
+ npm run build
161
+
162
+ # Run full automated test suite (100% offline, zero API keys required)
163
+ npm test
164
+ ```
165
+
166
+ ### 2. Manual Live Smoke Test (Optional)
167
+ To test live model discovery and chat against NVIDIA NIM with real credentials:
168
+ ```bash
169
+ # PowerShell
170
+ $env:NVIDIA_API_KEY="nvapi-..."
171
+ node scripts/smoke_test.js
172
+
173
+ # POSIX (bash/zsh)
174
+ export NVIDIA_API_KEY="nvapi-..."
175
+ node scripts/smoke_test.js
176
+ ```
177
+
178
+ ---
179
+
180
+ ## License
181
+
182
+ This project is licensed under the MIT License.
183
+ *NVIDIA NIM, NGC, and model weights/APIs are subject to their respective terms and licenses. Moderado is independent and not endorsed by NVIDIA.*
184
+
185
+ ### Practical coding workflow
186
+
187
+ Use `/workflow` from the TUI to work through a change safely:
188
+
189
+ - **Git status** shows the current branch and changed files without using a shell.
190
+ - **Review diff** shows the bounded working-tree diff.
191
+ - In **Plan** mode, Moderado asks the model for a concise checklist and cannot make workspace changes. Choose **Build plan** and confirm to send that checklist to Execute mode.
192
+ - File writes, exact edits, and multi-file patches show their change preview and still require approval. Moderado records a byte-preserving checkpoint immediately before an approved file mutation.
193
+ - **Undo latest agent change** requires its own approval. It restores the latest completed checkpoint from `~/.moderado/checkpoints/` only when every affected file still has the expected post-change digest. If a file changed externally, it reports the conflict and restores nothing.
194
+
195
+ ### Diagnostics evidence
196
+
197
+ Ask Moderado to run diagnostics, typecheck, lint, or tests in a TypeScript or JavaScript workspace. It may run only the direct `typecheck`, `lint`, or `test` script defined in that workspace’s `package.json`, and every run requires approval. A non-zero exit returns parsed TypeScript errors as repair evidence; it does not bypass the safety boundary.
198
+
199
+ ### TypeScript language intelligence
200
+
201
+ Install `typescript-language-server` yourself, then set `typescriptLanguageServer` in `~/.moderado/config.json` to its executable path. Moderado can then use read-only definition and reference lookup for TypeScript/JavaScript files. When the executable is unavailable, it reports how to configure it and leaves normal tools available.
202
+
203
+ ### Local MCP tools
204
+
205
+ Configure trusted local stdio MCP servers under `mcpServers` in `~/.moderado/config.json`, with an executable and fixed `args` list. Moderado discovers server tools at session startup, namespaces them as `mcp.<server>.<tool>`, and requires approval for every call. MCP network transports and automatic server installation are not supported.
206
+
207
+ ### Host event protocol
208
+
209
+ Moderado exposes a versioned host-event envelope with session identity and monotonic sequence numbers. The CLI continues to render the contained agent event, while a future desktop host can consume the same protocol without importing CLI code.
210
+
211
+ ### Doctor command
212
+
213
+ Run `moderado doctor` to check the local Node runtime, workspace, Moderado home directory, provider/key presence, Git, and npm without exposing credentials. Run `moderado doctor --connectivity` only when you want an explicit live provider catalog check.
214
+
215
+ ## Windows credential storage
216
+
217
+ On Windows, /connect saves provider API keys in Windows Credential Manager and stores only a provider credential reference in ~/.moderado/config.json. Existing plaintext keys remain usable for compatibility. Migrate them explicitly with moderado doctor --migrate-credentials; a failed migration leaves the existing configuration unchanged. On other platforms, set the provider environment variable (for example, NVIDIA_API_KEY or OPENROUTER_API_KEY).
package/dist/args.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export interface CliParsedArgs {
2
2
  command?: 'models' | 'run' | 'doctor' | 'skills';
3
3
  task?: string;
4
+ skillAction?: 'on' | 'off';
5
+ skillName?: string;
4
6
  workspace: string;
5
7
  model?: string;
6
8
  provider?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,aAAa,CA0ElF;AAED,wBAAgB,WAAW,IAAI,MAAM,CA+BpC"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,aAAa,CAoFlF;AAED,wBAAgB,WAAW,IAAI,MAAM,CAgCpC"}
package/dist/args.js CHANGED
@@ -29,6 +29,8 @@ export function parseCliArgs(args = process.argv.slice(2)) {
29
29
  const positionals = parsed.positionals;
30
30
  let command;
31
31
  let task;
32
+ let skillAction;
33
+ let skillName;
32
34
  if (positionals.length > 0) {
33
35
  const first = positionals[0].toLowerCase();
34
36
  if (first === 'doctor') {
@@ -36,6 +38,12 @@ export function parseCliArgs(args = process.argv.slice(2)) {
36
38
  }
37
39
  else if (first === 'skills') {
38
40
  command = 'skills';
41
+ if (positionals[1] === 'on' || positionals[1] === 'off') {
42
+ skillAction = positionals[1];
43
+ skillName = positionals[2];
44
+ }
45
+ else
46
+ skillName = positionals[1];
39
47
  }
40
48
  else if (first === 'models') {
41
49
  command = 'models';
@@ -56,6 +64,8 @@ export function parseCliArgs(args = process.argv.slice(2)) {
56
64
  return {
57
65
  command,
58
66
  task: task?.trim() || undefined,
67
+ skillAction,
68
+ skillName,
59
69
  workspace: parsed.values.workspace,
60
70
  model: parsed.values.model,
61
71
  provider: parsed.values.provider,
@@ -78,35 +88,36 @@ export function parseCliArgs(args = process.argv.slice(2)) {
78
88
  };
79
89
  }
80
90
  export function getHelpText() {
81
- return `Moderado - Lightweight CLI coding agent with NVIDIA NIM discovery and free-first routing.
82
-
83
- USAGE:
84
- moderado models [options]
85
- moderado run "<task>" [options]
86
- moderado "<task>" [options]
87
-
88
- COMMANDS:
89
- models Discover live models, capability & access tiers
90
- run "<task>" Execute a bounded coding task in the workspace\n skills List installed user skills
91
- doctor Check local Moderado setup
92
-
93
- OPTIONS:
94
- -w, --workspace <path> Target workspace directory (default: current directory)
95
- -m, --model <id> Pin a specific model (disables AUTO fallback)
96
- -p, --profile <name> Target configured profile (default: hosted-nvidia)
97
- --max-steps <int> Upper bound on tool interaction cycles (default: 25)
98
- --max-tokens <int> Hard limit on generated output tokens per response (default: 1024)
99
- --timeout <seconds> Global session execution timeout (default: 600s)
100
- --read-only Enforce read-only mode (blocks writes & commands)
101
- -y, --auto-approve Automatically approve all tool operations
102
- --non-interactive Fail closed on operations requiring approval
103
- --allow-paid Permit paid models during AUTO routing
104
- --allow-unknown Permit unverified/unknown access models in AUTO
105
- --verbose Display raw tool inputs and event logs
106
- --json Output results in structured JSON (models command)
107
- --migrate-credentials Move legacy Windows config keys into Credential Manager
108
- -h, --help Show this help screen
109
- -v, --version Show version identifier
91
+ return `Moderado - Lightweight CLI coding agent with NVIDIA NIM discovery and free-first routing.
92
+
93
+ USAGE:
94
+ moderado models [options]
95
+ moderado run "<task>" [options]
96
+ moderado "<task>" [options]
97
+
98
+ COMMANDS:
99
+ models Discover live models, capability & access tiers
100
+ run "<task>" Execute a bounded coding task in the workspace\n skills List built-in and user skills
101
+ skills on|off NAME Enable or disable a user skill
102
+ doctor Check local Moderado setup
103
+
104
+ OPTIONS:
105
+ -w, --workspace <path> Target workspace directory (default: current directory)
106
+ -m, --model <id> Pin a specific model (disables AUTO fallback)
107
+ -p, --profile <name> Target configured profile (default: hosted-nvidia)
108
+ --max-steps <int> Upper bound on tool interaction cycles (default: 25)
109
+ --max-tokens <int> Hard limit on generated output tokens per response (default: 1024)
110
+ --timeout <seconds> Global session execution timeout (default: 600s)
111
+ --read-only Enforce read-only mode (blocks writes & commands)
112
+ -y, --auto-approve Automatically approve all tool operations
113
+ --non-interactive Fail closed on operations requiring approval
114
+ --allow-paid Permit paid models during AUTO routing
115
+ --allow-unknown Permit unverified/unknown access models in AUTO
116
+ --verbose Display raw tool inputs and event logs
117
+ --json Output results in structured JSON (models command)
118
+ --migrate-credentials Move legacy Windows config keys into Credential Manager
119
+ -h, --help Show this help screen
120
+ -v, --version Show version identifier
110
121
  `;
111
122
  }
112
123
  //# sourceMappingURL=args.js.map
package/dist/args.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAkG,kBAAkB,EAA0D,MAAM,iBAAiB,CAAC;AAC7M,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAoB,aAAa,EAAE,eAAe,EAAyB,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAC3L,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAmC,cAAc,EAAkK,MAAM,cAAc,CAAC;AAU/O,OAAO,EAAyH,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtK,OAAO,EAAkC,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAQrG,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAazF;AASD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGjF;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAE/D;AAED,wBAAgB,wBAAwB,IAAI,aAAa,CAQxD;AAED,eAAO,MAAM,uBAAuB,2KAiB1B,CAAC;AAEX,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAuBhE;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CA6D3E;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAC1D,OAAO,EAAE,MAAM,EACf,gBAAgB,GAAE,MAAM,EAAO,GAC9B,MAAM,CASR;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EACnF,qBAAqB,EAAE,MAAM,EAC7B,cAAc,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACnD,cAAc,SAAK,EACnB,YAAY,SAAY,EACxB,gBAAgB,GAAE,MAAM,EAAO,GAC9B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAiBtC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGzF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/F;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAM;IAEnB,IAAI,KAAK,IAAI,SAAS,MAAM,EAAE,CAE7B;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO3B,KAAK,IAAI,MAAM,GAAG,SAAS;IAI3B,KAAK,IAAI,IAAI;IAKb,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B,cAAc,IAAI,IAAI;IAMtB,WAAW,IAAI,MAAM,GAAG,SAAS;CASlC;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,EACnF,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,GACA,IAAI,CAiDN;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,cAAc,CAAC,GAAG,OAAO,CAIrG;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAEpF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAaxD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAa3D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAM3D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIxD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAK1D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI5D;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CA6BvG;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAS/D;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CASnF;AAKD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAQtE;AACD,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,qBAAqB,GAAG,SAAS,CAGlG;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB,CAEpF;AAED,8GAA8G;AAC9G,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAMlF;AAID,2GAA2G;AAC3G,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAElH;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,0BAA0B,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC3G;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,qBAAqB,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,EAAE,SAAS,GAAE,oBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC,CAE9J;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5D,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,eAAe,CAAC,EAAE,OAAO,eAAe,CAAC;IACzC,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;CAChD;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,EACzC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Hf;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC9F,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,UAAU,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1E,MAAM,CAAC,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,IAAI,CAAC,CAoGf;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAy4BnH"}