oh-my-claudecode 0.2.4 → 0.2.7
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/README.md +103 -4
- package/commands/necronomicon-bind.md +45 -82
- package/dist/agents/builtin-agents.d.ts.map +1 -1
- package/dist/agents/builtin-agents.js +8 -0
- package/dist/agents/builtin-agents.js.map +1 -1
- package/dist/agents/cthulhu.d.ts.map +1 -1
- package/dist/agents/cthulhu.js +11 -0
- package/dist/agents/cthulhu.js.map +1 -1
- package/dist/agents/dagon.d.ts.map +1 -1
- package/dist/agents/dagon.js +13 -0
- package/dist/agents/dagon.js.map +1 -1
- package/dist/agents/nodens-advanced.d.ts +182 -0
- package/dist/agents/nodens-advanced.d.ts.map +1 -0
- package/dist/agents/nodens-advanced.js +297 -0
- package/dist/agents/nodens-advanced.js.map +1 -0
- package/dist/agents/nodens.d.ts +42 -0
- package/dist/agents/nodens.d.ts.map +1 -0
- package/dist/agents/nodens.js +147 -0
- package/dist/agents/nodens.js.map +1 -0
- package/dist/agents/shoggoth.d.ts.map +1 -1
- package/dist/agents/shoggoth.js +11 -1
- package/dist/agents/shoggoth.js.map +1 -1
- package/dist/cli/bind.d.ts +24 -0
- package/dist/cli/bind.d.ts.map +1 -1
- package/dist/cli/bind.js +92 -25
- package/dist/cli/bind.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +7 -5
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +54 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/version.d.ts +2 -0
- package/dist/cli/version.d.ts.map +1 -0
- package/dist/cli/version.js +28 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/config/schema.d.ts +648 -17
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +21 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/features/web-research-background/advanced-patterns.d.ts +44 -0
- package/dist/features/web-research-background/advanced-patterns.d.ts.map +1 -0
- package/dist/features/web-research-background/advanced-patterns.js +139 -0
- package/dist/features/web-research-background/advanced-patterns.js.map +1 -0
- package/dist/features/web-research-background/index.d.ts +73 -0
- package/dist/features/web-research-background/index.d.ts.map +1 -0
- package/dist/features/web-research-background/index.js +131 -0
- package/dist/features/web-research-background/index.js.map +1 -0
- package/dist/features/yith-archive/functions/opencode-import.d.ts.map +1 -1
- package/dist/features/yith-archive/functions/opencode-import.js +129 -90
- package/dist/features/yith-archive/functions/opencode-import.js.map +1 -1
- package/dist/features/yith-archive/index.d.ts +8 -0
- package/dist/features/yith-archive/index.d.ts.map +1 -1
- package/dist/features/yith-archive/index.js +1 -0
- package/dist/features/yith-archive/index.js.map +1 -1
- package/dist/features/yith-archive/types.d.ts +15 -0
- package/dist/features/yith-archive/types.d.ts.map +1 -1
- package/dist/hooks/design-detector-hook.d.ts +12 -0
- package/dist/hooks/design-detector-hook.d.ts.map +1 -0
- package/dist/hooks/design-detector-hook.js +42 -0
- package/dist/hooks/design-detector-hook.js.map +1 -0
- package/dist/hooks/design-detector.d.ts +47 -0
- package/dist/hooks/design-detector.d.ts.map +1 -0
- package/dist/hooks/design-detector.js +251 -0
- package/dist/hooks/design-detector.js.map +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +27 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/web-research-detector.d.ts +58 -0
- package/dist/hooks/web-research-detector.d.ts.map +1 -0
- package/dist/hooks/web-research-detector.js +205 -0
- package/dist/hooks/web-research-detector.js.map +1 -0
- package/dist/hooks/web-research-hook.d.ts +12 -0
- package/dist/hooks/web-research-hook.d.ts.map +1 -0
- package/dist/hooks/web-research-hook.js +43 -0
- package/dist/hooks/web-research-hook.js.map +1 -0
- package/dist/hooks/yith-capture.d.ts +35 -0
- package/dist/hooks/yith-capture.d.ts.map +1 -0
- package/dist/hooks/yith-capture.js +113 -0
- package/dist/hooks/yith-capture.js.map +1 -0
- package/dist/linters/type-safety-ast.d.ts +108 -0
- package/dist/linters/type-safety-ast.d.ts.map +1 -0
- package/dist/linters/type-safety-ast.js +293 -0
- package/dist/linters/type-safety-ast.js.map +1 -0
- package/dist/linters/type-safety-linter.d.ts +66 -0
- package/dist/linters/type-safety-linter.d.ts.map +1 -0
- package/dist/linters/type-safety-linter.js +317 -0
- package/dist/linters/type-safety-linter.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -60,7 +60,7 @@ These aren't three plugins you pick and choose. They're one integrated system th
|
|
|
60
60
|
| **Yith Archive** | Persistent cross-session memory with retrieval-based injection. Dozens of memory primitives: remember, search, consolidate, evict, crystallize, reflect, temporal graph, pattern extraction, and more. Exposed to Claude Code as a stdio MCP server with 7 tools. |
|
|
61
61
|
| **Work-packet protocol** | LLM-requiring memory ops (consolidate, summarize, reflect, etc.) run in sessions with no API key — each function has a state-machine variant that emits prompts for the parent agent to execute with its own subscription auth. |
|
|
62
62
|
| **Block Summarizer** | In-session delegation summarization with on-disk block archive |
|
|
63
|
-
| **8 lifecycle hooks** | Auto-activation, memory redirect, todo enforcement, completion loops, code-quality checks, rule injection, write guards |
|
|
63
|
+
| **8 lifecycle hooks** | Auto-activation, memory redirect, continuous Yith capture, todo enforcement, completion loops, code-quality checks, rule injection, write guards |
|
|
64
64
|
| **10 slash commands** | Direct-invoke any mode or flow from the Claude Code chat bar |
|
|
65
65
|
| **Intent gate** | Every user message is classified and routed before Cthulhu acts |
|
|
66
66
|
| **Work plan system** | Multi-step planning flow with interview → scope → plan → review before execution |
|
|
@@ -80,9 +80,10 @@ The installer asks a few questions and then:
|
|
|
80
80
|
|
|
81
81
|
1. Drops hook scripts into `~/.claude/hooks/`
|
|
82
82
|
2. Registers them in `~/.claude/settings.json`
|
|
83
|
-
3.
|
|
84
|
-
4.
|
|
85
|
-
5.
|
|
83
|
+
3. Registers the Yith Archive MCP server in `~/.claude.json`
|
|
84
|
+
4. Copies slash command definitions to `~/.claude/commands/`
|
|
85
|
+
5. Creates `~/.claude/oh-my-claudecode.jsonc` with sensible defaults
|
|
86
|
+
6. Leaves your existing Claude Code config intact (backup is made)
|
|
86
87
|
|
|
87
88
|
Non-interactive install (for CI or scripts):
|
|
88
89
|
|
|
@@ -130,6 +131,103 @@ On your next session in the same project, steps 4 and the initial memory injecti
|
|
|
130
131
|
| **The Deep One** | Sonnet | subagent | Vision agent — images, screenshots, diagrams |
|
|
131
132
|
| **Shoggoth** | Haiku | subagent | Fast parallel codebase search |
|
|
132
133
|
|
|
134
|
+
## Agent Behavior Enhancements (v0.2.6)
|
|
135
|
+
|
|
136
|
+
v0.2.6 introduces three orthogonal agent behavior improvements, all enabled by default. These pillars extend how agents reason and operate without changing the core delegation model.
|
|
137
|
+
|
|
138
|
+
### Web Research Enforcement
|
|
139
|
+
|
|
140
|
+
Agents automatically trigger web search when they encounter queries about:
|
|
141
|
+
- **Version checks**: "v1.0", "Node 18", "2024", "latest"
|
|
142
|
+
- **API updates and breaking changes**: "what changed", "deprecated", "breaking"
|
|
143
|
+
- **Framework release schedules**: "Next.js 15 coming soon", "LTS version"
|
|
144
|
+
- **Security vulnerabilities**: CVE references, vulnerability announcements
|
|
145
|
+
- **Package management**: npm audit patterns, outdated dependencies
|
|
146
|
+
|
|
147
|
+
Powered by the PreToolUse hook which detects these patterns and injects a Dagon background research agent prompt before the user's message reaches the main orchestrator. Results are available in the context window for the agent to reference.
|
|
148
|
+
|
|
149
|
+
**Default**: Enabled
|
|
150
|
+
|
|
151
|
+
**Disable**: Set `web_research.enabled: false` in `~/.claude/oh-my-claudecode.jsonc`
|
|
152
|
+
|
|
153
|
+
```jsonc
|
|
154
|
+
{
|
|
155
|
+
"web_research": {
|
|
156
|
+
"enabled": false
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### TypeScript Type Safety Linting
|
|
162
|
+
|
|
163
|
+
Automatic validation enforces type safety across the codebase:
|
|
164
|
+
- **Bans `any` types** — forces explicit typing or `unknown` with type guards
|
|
165
|
+
- **Unsafe casts** — flags `as any` and `as unknown` patterns
|
|
166
|
+
- **Missing return types** — detects functions without explicit return type annotations
|
|
167
|
+
- **@ts-ignore without reason** — requires inline comments explaining suppression
|
|
168
|
+
- **Auto-fix support** — safe violations can be fixed automatically via pre-commit hook
|
|
169
|
+
|
|
170
|
+
The linter runs at pre-commit time and blocks unsafe code from entering the repository. Type safety metrics are exported for CI/CD dashboards to track compliance over time.
|
|
171
|
+
|
|
172
|
+
**Default**: Enabled
|
|
173
|
+
|
|
174
|
+
**Disable**: Set `type_safety.enabled: false` in `~/.claude/oh-my-claudecode.jsonc`
|
|
175
|
+
|
|
176
|
+
```jsonc
|
|
177
|
+
{
|
|
178
|
+
"type_safety": {
|
|
179
|
+
"enabled": false
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Nodens — Design Specialization Agent
|
|
185
|
+
|
|
186
|
+
A dedicated design agent routes UI/component design tasks and provides:
|
|
187
|
+
- **Accessibility automation**: WCAG compliance testing, keyboard navigation, screen reader support via Axe-core
|
|
188
|
+
- **Responsive design**: Automatically generates component variants for multiple breakpoints
|
|
189
|
+
- **Playwright test generation**: Creates visual regression and interaction tests
|
|
190
|
+
- **Figma integration**: Extracts design tokens (colors, typography, spacing) from Figma files
|
|
191
|
+
- **Vision capability**: Analyzes screenshots and design mockups with Claude Opus
|
|
192
|
+
|
|
193
|
+
When design-related queries are detected (via the design-detector hook), they are automatically routed to Nodens instead of the general orchestrator. Nodens has a design-first system prompt and specialized tools for component generation, accessibility testing, and design token management.
|
|
194
|
+
|
|
195
|
+
**Default**: Enabled
|
|
196
|
+
|
|
197
|
+
**Disable**: Set `frontend_design.enabled: false` in `~/.claude/oh-my-claudecode.jsonc`
|
|
198
|
+
|
|
199
|
+
```jsonc
|
|
200
|
+
{
|
|
201
|
+
"frontend_design": {
|
|
202
|
+
"enabled": false
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Configuration Examples
|
|
208
|
+
|
|
209
|
+
Disable all three pillars:
|
|
210
|
+
|
|
211
|
+
```jsonc
|
|
212
|
+
{
|
|
213
|
+
"web_research": { "enabled": false },
|
|
214
|
+
"type_safety": { "enabled": false },
|
|
215
|
+
"frontend_design": { "enabled": false }
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Enable selective behavior (type safety and design, disable web research):
|
|
220
|
+
|
|
221
|
+
```jsonc
|
|
222
|
+
{
|
|
223
|
+
"web_research": { "enabled": false },
|
|
224
|
+
"type_safety": { "enabled": true },
|
|
225
|
+
"frontend_design": { "enabled": true }
|
|
226
|
+
}
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Each pillar is independent — disable any combination without affecting the others. All three are checked and active by default on fresh installs.
|
|
230
|
+
|
|
133
231
|
## Yith Archive — persistent cross-session memory
|
|
134
232
|
|
|
135
233
|
Named for the Great Race of Yith from *The Shadow Out of Time* — mind-transferring archivists who maintain records across time — Yith Archive is OMC's canonical persistent memory subsystem. It is a novel, in-process combined implementation inspired by the broader ecosystem of agent-memory research, rewritten from scratch to fit a single-process Claude Code plugin instead of a multi-client service.
|
|
@@ -298,6 +396,7 @@ After installation these are available in Claude Code sessions:
|
|
|
298
396
|
|------|-------|-------------|
|
|
299
397
|
| `cthulhu-auto` | SessionStart | Auto-activate Cthulhu orchestrator mode when `.elder-gods/` is present in the project |
|
|
300
398
|
| `memory-override` | SessionStart | Redirect persistent memory writes from Claude Code's built-in auto-memory to Yith Archive |
|
|
399
|
+
| `yith-capture` | Stop | Continuous Yith ingestion — after every assistant turn, spawns a background `bind --resume --claude-only` to pull new transcript lines into the archive, and occasionally spawns `claude -p` to drain pending compression when the queue grows past threshold. Debounced; non-blocking; fail-safe. |
|
|
301
400
|
| `todo-continuation` | Stop | Inject a reminder to continue if incomplete todos exist when stopping |
|
|
302
401
|
| `elder-loop` | Stop | Self-referential completion loop — keeps running until the promise is met |
|
|
303
402
|
| `comment-checker` | PostToolUse | Warn when AI-slop comments are introduced (comments that explain obvious code) |
|
|
@@ -1,106 +1,69 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: bind
|
|
3
|
-
description:
|
|
2
|
+
name: necronomicon-bind
|
|
3
|
+
description: Start, continue, or resume the Necronomicon binding ritual. Thin wrapper that shells out to `oh-my-claudecode bind` (real progress bars, state-machine resumption, all-projects ingestion) and then offers to drain any pending compression via the work-packet loop using this session's own LLM.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
You are
|
|
6
|
+
You are invoking the **Necronomicon Binding Ritual**. The ritual has two halves that must work together:
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
1. **The fast half** (no LLM) — download the embedding model, scan every past Claude Code transcript across every project on this machine, import opencode history, migrate `.sisyphus/` dirs, seed preliminary memories from project code. This runs as a **real Node process** in the user's terminal with an ANSI TUI showing actual download progress bars and per-phase status. It must run OUTSIDE this Claude Code session.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
2. **The slow half** (LLM-dependent) — compress the thousands of raw observations the fast half ingested into searchable memories. This runs **inside this session** via the work-packet protocol, using the session's own subscription auth. Each round is one `yith_trigger → yith_commit_work` loop iteration.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
## Why not do everything from this slash command?
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
2. If the tool returns successfully (even with empty context), the server is reachable → `✓ Necronomicon is bound and the Great Race answers.`
|
|
16
|
-
3. If the MCP tool is not available at all (the `yith_trigger`/`yith_context` tools don't appear in your tool list), the MCP server is not registered. Tell the user to run `oh-my-claudecode install` in their terminal, then start a NEW Claude Code session and re-run `/bind-necronomicon`. Stop here.
|
|
17
|
-
4. If the tool is available but errors out, report the error verbatim and stop.
|
|
14
|
+
Previous versions of this ritual were prompt-only — they asked Claude to call `yith_remember` / `yith_trigger` inline from this slash command. That design was unreliable: Claude would skip steps, print cosmetic ✓ marks without actually invoking the tools, and the user would see "bound in 5 seconds" with an empty Necronomicon. **Do not try to recreate that approach.** The fast half MUST run as a real CLI, and this command's job is to drive it and then handle the compression half.
|
|
18
15
|
|
|
19
|
-
## Phase
|
|
16
|
+
## Phase 1 — Delegate to the CLI
|
|
20
17
|
|
|
21
|
-
|
|
18
|
+
Do this BEFORE anything else:
|
|
22
19
|
|
|
23
|
-
1.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
concepts: ["bind-necronomicon", "sentinel"]
|
|
29
|
-
})
|
|
30
|
-
```
|
|
31
|
-
2. The response may take 30-90 seconds on first call because the nomic model downloads in the background. While you wait, print a progress indicator to the user:
|
|
32
|
-
```
|
|
33
|
-
▓▓▓▓▓▓▓▓▓░░░░░░░░ warming up the embedding sigil...
|
|
20
|
+
1. Tell the user: "Running `oh-my-claudecode bind` in your terminal. This downloads the embedding model (~137 MB, one-time), scans every past Claude Code transcript, imports opencode data, migrates sisyphus directories, and seeds preliminary memories from project code. It's resumable — if it errors mid-run, re-running this command picks up where it stopped."
|
|
21
|
+
|
|
22
|
+
2. Run via `Bash`:
|
|
23
|
+
```bash
|
|
24
|
+
oh-my-claudecode bind
|
|
34
25
|
```
|
|
35
|
-
|
|
36
|
-
3. If the call succeeds → `✓ The embedding sigil pulses. Model is cached under ~/.cache/huggingface/.`
|
|
37
|
-
4. If the call fails with a network error, tell the user the nomic download needs internet and offer to skip this phase (BM25-only mode still works). Continue.
|
|
38
|
-
5. If the call fails with a parse or validation error, report it and stop.
|
|
26
|
+
Stream the output to the user as it arrives. The CLI already produces its own TUI (section headers, progress bars, status glyphs) so you should forward the output verbatim without adding your own commentary.
|
|
39
27
|
|
|
40
|
-
|
|
28
|
+
3. When `oh-my-claudecode bind` exits, inspect its final lines. If the CLI reports "Ritual elapsed: Xs" and a green ✓, the fast half succeeded. If it reports a red ✗ with an error, surface that to the user and stop — re-running this command will retry the failed phase automatically from the state machine cursor.
|
|
41
29
|
|
|
42
|
-
|
|
30
|
+
## Phase 2 — Drain pending compression via the work-packet loop
|
|
43
31
|
|
|
44
|
-
|
|
45
|
-
2. If the result contains at least one hit referencing the sentinel → `✓ Hybrid search is operational (BM25 + vector index in sync).`
|
|
46
|
-
3. If zero hits but the sentinel is definitely in KV (you can verify with `yith_trigger({ name: "mem::diagnose", args: {} })`), the index is out of sync. Call `yith_trigger({ name: "mem::rebuild-index", args: {} })` if such a function exists, or tell the user to restart their Claude Code session (the MCP server rebuilds the index on boot). Continue.
|
|
32
|
+
The CLI's last line tells you how many raw observations are pending compression. That's the input to this half.
|
|
47
33
|
|
|
48
|
-
|
|
34
|
+
1. Call `yith_trigger({ name: "mem::compress-batch-step", args: { limit: 100 } })`. Expect a `needs_llm_work` envelope with one or more `workPackets` and a `continuation` token.
|
|
49
35
|
|
|
50
|
-
|
|
36
|
+
2. For each packet in the envelope: read `systemPrompt` + `userPrompt`, reason about them inline (you ARE the LLM for Yith — just produce the compression XML the system prompt asks for), and collect the results.
|
|
51
37
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
yith_trigger({
|
|
57
|
-
name: "mem::backfill-sessions",
|
|
58
|
-
args: {
|
|
59
|
-
projectCwd: <path or "." for cwd>,
|
|
60
|
-
dryRun: false,
|
|
61
|
-
maxObservations: 500
|
|
62
|
-
}
|
|
63
|
-
})
|
|
64
|
-
```
|
|
65
|
-
4. The backfill runs through the work-packet loop. Each compression round will return a `needs_llm_work` envelope with one or more packets. For each round:
|
|
66
|
-
- Run the packets' prompts through your own reasoning (inline — the systemPrompt + userPrompt describe a compression task, you act as the LLM for Yith).
|
|
67
|
-
- Commit the completions via `yith_commit_work({ continuation, packetResults: [...] })`.
|
|
68
|
-
- Loop until the response is terminal.
|
|
69
|
-
5. Between rounds, render a progress bar using monospace ASCII:
|
|
38
|
+
3. Call `yith_commit_work({ continuation, packetResults: [{id, completion}, ...] })`. The response is either terminal (`{status: "success"}`) or another `needs_llm_work` for the next batch.
|
|
39
|
+
|
|
40
|
+
4. Between rounds, render a monospace ASCII progress bar so the user sees forward motion:
|
|
70
41
|
```
|
|
71
|
-
[
|
|
42
|
+
[▓▓▓▓▓▓░░░░░░░░░░░░░░] 34% — 171/500 raw observations compressed
|
|
72
43
|
```
|
|
73
|
-
|
|
74
|
-
6. Report the final counts from the backfill terminal result.
|
|
44
|
+
Re-print the bar each round with updated numbers. (The Claude Code chat UI won't animate in place, but a re-printed bar per tool call shows clear progress.)
|
|
75
45
|
|
|
76
|
-
|
|
46
|
+
5. Loop until terminal. Each round's `limit` can be 50-100 — adjust based on how large the prompts are. If a round takes more than ~2 minutes, drop the limit for the next one.
|
|
77
47
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
2. If any phase reported a warning, restate the warnings at the end so the user doesn't miss them.
|
|
48
|
+
## Phase 3 — Seal the ritual
|
|
49
|
+
|
|
50
|
+
Final output:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
═══════════════════════════════════════════════════════
|
|
54
|
+
The Necronomicon is bound.
|
|
55
|
+
═══════════════════════════════════════════════════════
|
|
56
|
+
Tome: ~/.oh-my-claudecode/yith/necronomicon.json
|
|
57
|
+
MCP server: yith-archive (via ~/.claude.json)
|
|
58
|
+
Embedding: local:nomic-embed-text-v1.5 (768 dims)
|
|
59
|
+
Observations: <total from mem::diagnose>
|
|
60
|
+
Compressed: <total - pending>
|
|
61
|
+
Pending: <remaining count>
|
|
62
|
+
═══════════════════════════════════════════════════════
|
|
63
|
+
```
|
|
96
64
|
|
|
97
|
-
|
|
65
|
+
If there are still pending observations (either because `limit` capped the batch or because the user interrupted), tell them exactly how many and that running `/necronomicon-bind` again resumes from where it stopped.
|
|
98
66
|
|
|
99
|
-
|
|
100
|
-
- Phase I passes immediately (MCP reachable)
|
|
101
|
-
- Phase II is a no-op if the embedding model is already cached (the call returns fast)
|
|
102
|
-
- Phase III passes immediately
|
|
103
|
-
- Phase IV offers to backfill again (the user can skip if they already did it)
|
|
104
|
-
- Phase V prints the final summary
|
|
67
|
+
## Unattended mode
|
|
105
68
|
|
|
106
|
-
|
|
69
|
+
Mention once at the end: if the user wants this to happen in the background without opening a session, they can run `oh-my-claudecode bind --install-cron [--interval 1h]` once, and a cron entry will run `oh-my-claudecode bind --resume` on the interval. That form uses `claude -p` (Claude Code's non-interactive mode) to drive the compression half, so nothing needs to be open.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-agents.d.ts","sourceRoot":"","sources":["../../src/agents/builtin-agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAkB,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"builtin-agents.d.ts","sourceRoot":"","sources":["../../src/agents/builtin-agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAkB,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAiBzD,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAalE,CAAA;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAA;IACnC,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACzC,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAsIhG"}
|
|
@@ -9,6 +9,7 @@ import { createNyarlathotepAgent, NYARLATHOTEP_PROMPT_METADATA } from "./nyarlat
|
|
|
9
9
|
import { createAzathothAgent, AZATHOTH_PROMPT_METADATA } from "./azathoth.js";
|
|
10
10
|
import { createShubNiggurathAgent, SHUB_NIGGURATH_PROMPT_METADATA } from "./shub-niggurath.js";
|
|
11
11
|
import { createDeepOneAgent, DEEP_ONE_PROMPT_METADATA } from "./the-deep-one.js";
|
|
12
|
+
import { createNodenAgent, NODENS_PROMPT_METADATA } from "./nodens.js";
|
|
12
13
|
import { resolveAgentModel } from "../shared/model-resolution.js";
|
|
13
14
|
import { deepMerge } from "../shared/deep-merge.js";
|
|
14
15
|
/** Maps each agent name to its metadata (for orchestrator prompt building) */
|
|
@@ -24,6 +25,7 @@ export const AGENT_METADATA_MAP = {
|
|
|
24
25
|
azathoth: AZATHOTH_PROMPT_METADATA,
|
|
25
26
|
"shub-niggurath": SHUB_NIGGURATH_PROMPT_METADATA,
|
|
26
27
|
"the-deep-one": DEEP_ONE_PROMPT_METADATA,
|
|
28
|
+
nodens: NODENS_PROMPT_METADATA,
|
|
27
29
|
};
|
|
28
30
|
/**
|
|
29
31
|
* Creates all built-in Elder God agents with model resolution and overrides applied.
|
|
@@ -120,6 +122,11 @@ export function buildBuiltinAgents(options = {}) {
|
|
|
120
122
|
const config = createDeepOneAgent(resolveModel("the-deep-one"));
|
|
121
123
|
result["the-deep-one"] = applyOverride(config, "the-deep-one");
|
|
122
124
|
}
|
|
125
|
+
// ── Nodens (frontend design) ────────────────────────────────────────────────
|
|
126
|
+
if (isEnabled("nodens")) {
|
|
127
|
+
const config = createNodenAgent(resolveModel("nodens"));
|
|
128
|
+
result["nodens"] = applyOverride(config, "nodens");
|
|
129
|
+
}
|
|
123
130
|
return result;
|
|
124
131
|
}
|
|
125
132
|
/** Short descriptions for the delegation table in Cthulhu's prompt */
|
|
@@ -135,6 +142,7 @@ function getAgentDescription(name) {
|
|
|
135
142
|
azathoth: "First-message planner. Initial context gathering.",
|
|
136
143
|
"shub-niggurath": "Strategic planner. Interview → scope → plan.",
|
|
137
144
|
"the-deep-one": "Vision specialist. Analyzes images and visual content.",
|
|
145
|
+
nodens: "Nodens — God of Craftsmanship. Frontend design specialist. Intent → spec → impl → polish.",
|
|
138
146
|
};
|
|
139
147
|
return descriptions[name] ?? "Specialized agent.";
|
|
140
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-agents.js","sourceRoot":"","sources":["../../src/agents/builtin-agents.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAA;AAC9F,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAwC;IACrE,OAAO,EAAE,uBAAuB;IAChC,aAAa,EAAE,2BAA2B;IAC1C,QAAQ,EAAE,wBAAwB;IAClC,KAAK,EAAE,qBAAqB;IAC5B,UAAU,EAAE,0BAA0B;IACtC,OAAO,EAAE,uBAAuB;IAChC,MAAM,EAAE,sBAAsB;IAC9B,YAAY,EAAE,4BAA4B;IAC1C,QAAQ,EAAE,wBAAwB;IAClC,gBAAgB,EAAE,8BAA8B;IAChD,cAAc,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"builtin-agents.js","sourceRoot":"","sources":["../../src/agents/builtin-agents.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAA;AAC9F,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAwC;IACrE,OAAO,EAAE,uBAAuB;IAChC,aAAa,EAAE,2BAA2B;IAC1C,QAAQ,EAAE,wBAAwB;IAClC,KAAK,EAAE,qBAAqB;IAC5B,UAAU,EAAE,0BAA0B;IACtC,OAAO,EAAE,uBAAuB;IAChC,MAAM,EAAE,sBAAsB;IAC9B,YAAY,EAAE,4BAA4B;IAC1C,QAAQ,EAAE,wBAAwB;IAClC,gBAAgB,EAAE,8BAA8B;IAChD,cAAc,EAAE,wBAAwB;IACxC,MAAM,EAAE,sBAAsB;CAC/B,CAAA;AAWD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA8B,EAAE;IACjE,MAAM,EACJ,cAAc,GAAG,EAAE,EACnB,cAAc,GAAG,EAAE,EACnB,kBAAkB,EAClB,gBAAgB,GAAG,EAAE,EACrB,mBAAmB,GAAG,EAAE,EACxB,aAAa,GAAG,KAAK,GACtB,GAAG,OAAO,CAAA;IAEX,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAA;IACxC,MAAM,MAAM,GAAgC,EAAE,CAAA;IAE9C,SAAS,SAAS,CAAC,IAAY;QAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,SAAS,YAAY,CAAC,IAAY;QAChC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAmC,CAAC,CAAA;QACpE,OAAO,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAA;IACrE,CAAC;IAED,SAAS,aAAa,CAAC,MAAmB,EAAE,IAAY;QACtD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAmC,CAAC,CAAA;QACpE,IAAI,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAA;QAC5B,OAAO;YACL,GAAG,MAAM;YACT,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;YACzB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;YACvD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;YACvD,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;YACjD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;YAC9C,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;YACrC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1G,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAgC,EAAE,QAAQ,CAAC,KAAgC,CAA4B,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;SAChK,CAAA;IACH,CAAC;IAED,iFAAiF;IACjF,MAAM,mBAAmB,GAAqB,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAC7E,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,SAAS,CAAC;SACzD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI;QACJ,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC;QACtC,QAAQ;KACT,CAAC,CAAC,CAAA;IAEL,+EAA+E;IAC/E,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QACrC,MAAM,MAAM,GAAG,kBAAkB,CAC/B,KAAK,EACL,mBAAmB,EACnB,EAAE,EACF,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,CACd,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,gFAAgF;IAChF,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,uBAAuB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAA;QACpE,MAAM,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAChE,CAAC;IAED,+EAA+E;IAC/E,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,mBAAmB,CAChC,YAAY,CAAC,UAAU,CAAC,EACxB,mBAAmB,EACnB,EAAE,EACF,gBAAgB,EAChB,mBAAmB,CACpB,CAAA;QACD,MAAM,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACxD,CAAC;IAED,+EAA+E;IAC/E,IAAI,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,wBAAwB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACvE,MAAM,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACpE,CAAC;IAED,+EAA+E;IAC/E,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAA;QACjE,MAAM,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC9D,CAAC;IAED,+EAA+E;IAC/E,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;QACtD,MAAM,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAED,gFAAgF;IAChF,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAA;QAC1D,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,+EAA+E;IAC/E,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;QAC3D,MAAM,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAC5D,CAAC;IAED,+EAA+E;IAC/E,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;QACxD,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACpD,CAAC;IAED,+EAA+E;IAC/E,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAA;QAC5D,MAAM,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACxD,CAAC;IAED,+EAA+E;IAC/E,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAA;QAC/D,MAAM,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAChE,CAAC;IAED,+EAA+E;IAC/E,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;QACvD,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACpD,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,sEAAsE;AACtE,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,YAAY,GAA2B;QAC3C,aAAa,EAAE,iFAAiF;QAChG,QAAQ,EAAE,oEAAoE;QAC9E,KAAK,EAAE,gDAAgD;QACvD,UAAU,EAAE,oDAAoD;QAChE,OAAO,EAAE,sEAAsE;QAC/E,MAAM,EAAE,iDAAiD;QACzD,YAAY,EAAE,oDAAoD;QAClE,QAAQ,EAAE,mDAAmD;QAC7D,gBAAgB,EAAE,8CAA8C;QAChE,cAAc,EAAE,wDAAwD;QACxE,MAAM,EAAE,2FAA2F;KACpG,CAAA;IACD,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAA;AACnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cthulhu.d.ts","sourceRoot":"","sources":["../../src/agents/cthulhu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAA;AAIlG;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,uBAAuB,EAAE,mBAKrC,CAAA;
|
|
1
|
+
{"version":3,"file":"cthulhu.d.ts","sourceRoot":"","sources":["../../src/agents/cthulhu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAA;AAIlG;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,uBAAuB,EAAE,mBAKrC,CAAA;AA+WD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,eAAe,GAAE,cAAc,EAAO,EACtC,kBAAkB,GAAE,MAAM,EAAO,EACjC,eAAe,GAAE,cAAc,EAAO,EACtC,mBAAmB,GAAE,iBAAiB,EAAO,EAC7C,aAAa,UAAQ,GACpB,WAAW,CAyBb;yBAhCe,kBAAkB"}
|
package/dist/agents/cthulhu.js
CHANGED
|
@@ -350,6 +350,17 @@ If the user's approach seems problematic:
|
|
|
350
350
|
- Prefer existing libraries over new dependencies
|
|
351
351
|
- Prefer small, focused changes over large refactors
|
|
352
352
|
- When uncertain about scope, ask
|
|
353
|
+
|
|
354
|
+
## WEB RESEARCH ENFORCEMENT (Phase 2)
|
|
355
|
+
|
|
356
|
+
When delegating to subagents or answering questions involving:
|
|
357
|
+
- **Technology versions** or **release notes** → Delegate to Dagon or require WebSearch
|
|
358
|
+
- **Breaking changes** or **deprecations** → Verify with current documentation
|
|
359
|
+
- **Best practices** for frameworks → Check if recommendations have evolved
|
|
360
|
+
- **Library maintenance status** → Use Dagon to verify active projects
|
|
361
|
+
|
|
362
|
+
Acknowledge when you're operating near your knowledge cutoff.
|
|
363
|
+
Encourage web research for time-sensitive decisions.
|
|
353
364
|
</Constraints>
|
|
354
365
|
`;
|
|
355
366
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cthulhu.js","sourceRoot":"","sources":["../../src/agents/cthulhu.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cthulhu.js","sourceRoot":"","sources":["../../src/agents/cthulhu.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dagon.d.ts","sourceRoot":"","sources":["../../src/agents/dagon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAI7E;;;;;;;;GAQG;AAEH,eAAO,MAAM,qBAAqB,EAAE,mBAkBnC,CAAA;
|
|
1
|
+
{"version":3,"file":"dagon.d.ts","sourceRoot":"","sources":["../../src/agents/dagon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAI7E;;;;;;;;GAQG;AAEH,eAAO,MAAM,qBAAqB,EAAE,mBAkBnC,CAAA;AA8JD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAgB3D;yBAhBe,gBAAgB"}
|
package/dist/agents/dagon.js
CHANGED
|
@@ -168,6 +168,19 @@ function example() { ... }
|
|
|
168
168
|
2. **ALWAYS CITE**: Every code claim needs a permalink
|
|
169
169
|
3. **USE MARKDOWN**: Code blocks with language identifiers
|
|
170
170
|
4. **BE CONCISE**: Facts > opinions, evidence > speculation
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## WEB RESEARCH ENFORCEMENT (Phase 2)
|
|
175
|
+
|
|
176
|
+
When you encounter requests about:
|
|
177
|
+
- **Version numbers** (v1.5, v18, 2024, etc.) — verify current documentation
|
|
178
|
+
- **Breaking changes** — always check for the latest release notes
|
|
179
|
+
- **Best practices** — confirm if practices have evolved
|
|
180
|
+
- **Library status** — verify if libraries are still maintained
|
|
181
|
+
|
|
182
|
+
Use WebSearch or WebFetch proactively. Do not rely on knowledge cutoff.
|
|
183
|
+
Your role as searcher means you have responsibility to find CURRENT information.
|
|
171
184
|
`;
|
|
172
185
|
export function createDagonAgent(model) {
|
|
173
186
|
return {
|
package/dist/agents/dagon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dagon.js","sourceRoot":"","sources":["../../src/agents/dagon.ts"],"names":[],"mappings":"AAEA,MAAM,IAAI,GAAc,UAAU,CAAA;AAElC;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,QAAQ,EAAE,aAAa;IACvB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,OAAO;IACpB,UAAU,EAAE,6DAA6D;IACzE,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,4FAA4F;SACtG;KACF;IACD,OAAO,EAAE;QACP,yBAAyB;QACzB,mDAAmD;QACnD,iDAAiD;QACjD,kCAAkC;QAClC,gDAAgD;KACjD;CACF,CAAA;AAED,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"dagon.js","sourceRoot":"","sources":["../../src/agents/dagon.ts"],"names":[],"mappings":"AAEA,MAAM,IAAI,GAAc,UAAU,CAAA;AAElC;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,QAAQ,EAAE,aAAa;IACvB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,OAAO;IACpB,UAAU,EAAE,6DAA6D;IACzE,QAAQ,EAAE;QACR;YACE,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,4FAA4F;SACtG;KACF;IACD,OAAO,EAAE;QACP,yBAAyB;QACzB,mDAAmD;QACnD,iDAAiD;QACjD,kCAAkC;QAClC,gDAAgD;KACjD;CACF,CAAA;AAED,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0JpB,CAAA;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EACT,8QAA8Q;QAChR,IAAI,EAAE,IAAI;QACV,KAAK;QACL,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE;YACL,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;SACb;KACF,CAAA;AACH,CAAC;AACD,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAA"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nodens - Advanced Design Capabilities
|
|
3
|
+
*
|
|
4
|
+
* Extensions for vision analysis, Figma integration, A11y automation, and Playwright testing.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Vision analysis configuration
|
|
8
|
+
*/
|
|
9
|
+
export interface VisionConfig {
|
|
10
|
+
enabled: boolean;
|
|
11
|
+
model?: string;
|
|
12
|
+
capabilities?: ("color_analysis" | "typography" | "spacing" | "layout" | "a11y")[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Figma integration configuration
|
|
16
|
+
*/
|
|
17
|
+
export interface FigmaConfig {
|
|
18
|
+
enabled: boolean;
|
|
19
|
+
apiToken?: string;
|
|
20
|
+
detectLinks?: boolean;
|
|
21
|
+
extractTokens?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Accessibility automation configuration
|
|
25
|
+
*/
|
|
26
|
+
export interface A11yConfig {
|
|
27
|
+
enabled: boolean;
|
|
28
|
+
wcagLevel?: "A" | "AA" | "AAA";
|
|
29
|
+
rules?: string[];
|
|
30
|
+
generateTests?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Playwright test generation configuration
|
|
34
|
+
*/
|
|
35
|
+
export interface PlaywrightConfig {
|
|
36
|
+
enabled: boolean;
|
|
37
|
+
generateVisualTests?: boolean;
|
|
38
|
+
generateInteractionTests?: boolean;
|
|
39
|
+
generateResponsiveTests?: boolean;
|
|
40
|
+
breakpoints?: Record<string, number>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Vision analysis result
|
|
44
|
+
*/
|
|
45
|
+
export interface VisionAnalysisResult {
|
|
46
|
+
success: boolean;
|
|
47
|
+
colors?: {
|
|
48
|
+
dominant: string[];
|
|
49
|
+
palette: string[];
|
|
50
|
+
contrast: {
|
|
51
|
+
ratio: number;
|
|
52
|
+
wcagLevel: string;
|
|
53
|
+
}[];
|
|
54
|
+
};
|
|
55
|
+
typography?: {
|
|
56
|
+
families: string[];
|
|
57
|
+
sizes: number[];
|
|
58
|
+
weights: string[];
|
|
59
|
+
};
|
|
60
|
+
spacing?: {
|
|
61
|
+
consistent: boolean;
|
|
62
|
+
baseUnit: number;
|
|
63
|
+
scale: number[];
|
|
64
|
+
};
|
|
65
|
+
layout?: {
|
|
66
|
+
type: "flex" | "grid" | "responsive";
|
|
67
|
+
breakpoints: number[];
|
|
68
|
+
};
|
|
69
|
+
issues?: string[];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Figma design token
|
|
73
|
+
*/
|
|
74
|
+
export interface DesignToken {
|
|
75
|
+
name: string;
|
|
76
|
+
value: string;
|
|
77
|
+
category: "color" | "typography" | "spacing" | "sizing" | "other";
|
|
78
|
+
description?: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Figma extraction result
|
|
82
|
+
*/
|
|
83
|
+
export interface FigmaExtractionResult {
|
|
84
|
+
success: boolean;
|
|
85
|
+
fileId?: string;
|
|
86
|
+
colors?: DesignToken[];
|
|
87
|
+
typography?: DesignToken[];
|
|
88
|
+
spacing?: DesignToken[];
|
|
89
|
+
components?: {
|
|
90
|
+
name: string;
|
|
91
|
+
variants: string[];
|
|
92
|
+
}[];
|
|
93
|
+
issues?: string[];
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* A11y audit issue
|
|
97
|
+
*/
|
|
98
|
+
export interface A11yIssue {
|
|
99
|
+
id: string;
|
|
100
|
+
impact: "critical" | "serious" | "moderate" | "minor";
|
|
101
|
+
description: string;
|
|
102
|
+
wcagLevel: string;
|
|
103
|
+
elements: string[];
|
|
104
|
+
suggestion: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* A11y audit result
|
|
108
|
+
*/
|
|
109
|
+
export interface A11yAuditResult {
|
|
110
|
+
success: boolean;
|
|
111
|
+
violations: A11yIssue[];
|
|
112
|
+
passes: string[];
|
|
113
|
+
wcagAACompliant: boolean;
|
|
114
|
+
testCode?: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Playwright test suite
|
|
118
|
+
*/
|
|
119
|
+
export interface PlaywrightTestSuite {
|
|
120
|
+
visualTests: string;
|
|
121
|
+
interactionTests: string;
|
|
122
|
+
responsiveTests: string;
|
|
123
|
+
a11yTests: string;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Perform vision analysis on component screenshot
|
|
127
|
+
*
|
|
128
|
+
* @param imageData - Base64 image or image path
|
|
129
|
+
* @param config - Vision configuration
|
|
130
|
+
* @returns Vision analysis result
|
|
131
|
+
*/
|
|
132
|
+
export declare function analyzeComponentVision(imageData: string, config?: VisionConfig): Promise<VisionAnalysisResult>;
|
|
133
|
+
/**
|
|
134
|
+
* Extract design tokens from Figma file
|
|
135
|
+
*
|
|
136
|
+
* @param figmaUrl - Figma file URL
|
|
137
|
+
* @param config - Figma configuration
|
|
138
|
+
* @returns Figma extraction result
|
|
139
|
+
*/
|
|
140
|
+
export declare function extractFigmaTokens(figmaUrl: string, config?: FigmaConfig): Promise<FigmaExtractionResult>;
|
|
141
|
+
/**
|
|
142
|
+
* Generate A11y audit test code
|
|
143
|
+
*
|
|
144
|
+
* @param componentName - Component name
|
|
145
|
+
* @param config - A11y configuration
|
|
146
|
+
* @returns A11y audit result with test code
|
|
147
|
+
*/
|
|
148
|
+
export declare function generateA11yAuditCode(componentName: string, config?: A11yConfig): Promise<A11yAuditResult>;
|
|
149
|
+
/**
|
|
150
|
+
* Generate Playwright test suite for component
|
|
151
|
+
*
|
|
152
|
+
* @param componentName - Component name
|
|
153
|
+
* @param config - Playwright configuration
|
|
154
|
+
* @returns Playwright test suite
|
|
155
|
+
*/
|
|
156
|
+
export declare function generatePlaywrightTests(componentName: string, config?: PlaywrightConfig): PlaywrightTestSuite;
|
|
157
|
+
/**
|
|
158
|
+
* Advanced Nodens configuration
|
|
159
|
+
*/
|
|
160
|
+
export interface NodensAdvancedConfig {
|
|
161
|
+
vision?: VisionConfig;
|
|
162
|
+
figma?: FigmaConfig;
|
|
163
|
+
a11y?: A11yConfig;
|
|
164
|
+
playwright?: PlaywrightConfig;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Check if vision is enabled
|
|
168
|
+
*/
|
|
169
|
+
export declare function isVisionEnabled(config?: NodensAdvancedConfig): boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Check if Figma integration is enabled
|
|
172
|
+
*/
|
|
173
|
+
export declare function isFigmaEnabled(config?: NodensAdvancedConfig): boolean;
|
|
174
|
+
/**
|
|
175
|
+
* Check if A11y automation is enabled
|
|
176
|
+
*/
|
|
177
|
+
export declare function isA11yEnabled(config?: NodensAdvancedConfig): boolean;
|
|
178
|
+
/**
|
|
179
|
+
* Check if Playwright testing is enabled
|
|
180
|
+
*/
|
|
181
|
+
export declare function isPlaywrightEnabled(config?: NodensAdvancedConfig): boolean;
|
|
182
|
+
//# sourceMappingURL=nodens-advanced.d.ts.map
|