claude-all-hands 1.0.2 → 1.0.3
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/.claude/agents/curator.md +1 -5
- package/.claude/agents/documentation-taxonomist.md +255 -0
- package/.claude/agents/documentation-writer.md +366 -0
- package/.claude/agents/surveyor.md +1 -1
- package/.claude/commands/continue.md +12 -10
- package/.claude/commands/create-skill.md +2 -2
- package/.claude/commands/create-specialist.md +3 -3
- package/.claude/commands/debug.md +5 -5
- package/.claude/commands/docs-adjust.md +214 -0
- package/.claude/commands/docs-audit.md +172 -0
- package/.claude/commands/docs-init.md +210 -0
- package/.claude/commands/plan.md +6 -6
- package/.claude/commands/whats-next.md +2 -2
- package/.claude/envoy/README.md +5 -5
- package/.claude/envoy/package-lock.json +216 -10
- package/.claude/envoy/package.json +9 -0
- package/.claude/envoy/src/commands/docs.ts +881 -0
- package/.claude/envoy/src/commands/knowledge.ts +33 -42
- package/.claude/envoy/src/lib/ast-queries.ts +261 -0
- package/.claude/envoy/src/lib/knowledge.ts +176 -124
- package/.claude/envoy/src/lib/tree-sitter-utils.ts +301 -0
- package/.claude/envoy/src/types/tree-sitter.d.ts +76 -0
- package/.claude/hooks/scripts/enforce_research_fetch.py +1 -1
- package/.claude/protocols/bug-discovery.yaml +1 -1
- package/.claude/protocols/discovery.yaml +1 -1
- package/.claude/settings.json +4 -3
- package/.claude/skills/discovery-mode/SKILL.md +7 -7
- package/.claude/skills/documentation-taxonomy/SKILL.md +287 -0
- package/.claude/skills/implementation-mode/SKILL.md +7 -7
- package/.claude/skills/knowledge-discovery/SKILL.md +178 -0
- package/bin/cli.js +41 -1
- package/package.json +1 -1
- package/.claude/agents/documentor.md +0 -147
- package/.claude/commands/audit-docs.md +0 -94
- package/.claude/commands/create-docs.md +0 -100
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Initialize documentation for codebase (full documentation generation)
|
|
3
|
+
argument-hint: [...optional paths] [optional context]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<objective>
|
|
7
|
+
Create comprehensive documentation for the codebase from scratch. Uses taxonomy-based approach with parallel documentation writers. Taxonomist ensures non-overlapping output directories, so writers work directly on the branch without conflicts.
|
|
8
|
+
</objective>
|
|
9
|
+
|
|
10
|
+
<context>
|
|
11
|
+
Current branch: !`git branch --show-current`
|
|
12
|
+
Base branch: !`envoy git get-base-branch`
|
|
13
|
+
</context>
|
|
14
|
+
|
|
15
|
+
<main_agent_role>
|
|
16
|
+
Main agent is ORCHESTRATOR ONLY. Do NOT perform any codebase discovery, file analysis, or documentation planning. All discovery work is delegated to the taxonomist agent.
|
|
17
|
+
|
|
18
|
+
Main agent responsibilities:
|
|
19
|
+
1. Setup branch (create docs branch if on base)
|
|
20
|
+
2. Parse arguments (paths, context)
|
|
21
|
+
3. Verify clean git state
|
|
22
|
+
4. Delegate to taxonomist with raw inputs
|
|
23
|
+
5. Orchestrate writers based on taxonomist output
|
|
24
|
+
6. Handle merging, validation, and PR creation
|
|
25
|
+
</main_agent_role>
|
|
26
|
+
|
|
27
|
+
<process>
|
|
28
|
+
<step name="setup_branch">
|
|
29
|
+
Check if current branch equals base branch:
|
|
30
|
+
|
|
31
|
+
**If on base branch:**
|
|
32
|
+
1. Create docs branch: `docs/init-<timestamp>`
|
|
33
|
+
2. Document from fresh docs branch
|
|
34
|
+
|
|
35
|
+
**If on feature branch:**
|
|
36
|
+
1. Stay on current branch
|
|
37
|
+
2. Document from feature branch state (no branch switching)
|
|
38
|
+
</step>
|
|
39
|
+
|
|
40
|
+
<step name="parse_arguments">
|
|
41
|
+
Parse $ARGUMENTS:
|
|
42
|
+
- Extract paths (pass to taxonomist as scope)
|
|
43
|
+
- Extract optional user context (pass to taxonomist)
|
|
44
|
+
|
|
45
|
+
Do NOT run discovery commands - pass raw inputs to taxonomist.
|
|
46
|
+
</step>
|
|
47
|
+
|
|
48
|
+
<step name="ensure_committed_state">
|
|
49
|
+
Before delegating to taxonomist, verify clean git state:
|
|
50
|
+
|
|
51
|
+
1. Check for uncommitted changes:
|
|
52
|
+
```bash
|
|
53
|
+
git status --porcelain
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
2. If changes exist:
|
|
57
|
+
- Use AskUserQuestion: "Uncommitted changes detected. Documentation requires committed state for valid reference hashes."
|
|
58
|
+
- Options:
|
|
59
|
+
- "Commit now" - propose message, gate for approval
|
|
60
|
+
- "Stash and continue" - `git stash`
|
|
61
|
+
- "Cancel" - abort workflow
|
|
62
|
+
|
|
63
|
+
3. If "Commit now":
|
|
64
|
+
- Run `git diff --cached --stat` for context
|
|
65
|
+
- Propose commit message based on staged changes
|
|
66
|
+
- Gate for user approval
|
|
67
|
+
- Execute: `git add -A && git commit -m "<approved message>"`
|
|
68
|
+
|
|
69
|
+
4. If "Stash and continue":
|
|
70
|
+
- Execute: `git stash push -m "pre-docs stash"`
|
|
71
|
+
- Note: remind user to `git stash pop` after docs complete
|
|
72
|
+
|
|
73
|
+
5. Verify clean state before proceeding:
|
|
74
|
+
```bash
|
|
75
|
+
git status --porcelain
|
|
76
|
+
```
|
|
77
|
+
Must return empty.
|
|
78
|
+
</step>
|
|
79
|
+
|
|
80
|
+
<step name="delegate_to_taxonomist">
|
|
81
|
+
Delegate to **documentation-taxonomist agent** with init-workflow.
|
|
82
|
+
|
|
83
|
+
Taxonomist handles ALL discovery: analyzing codebase structure, checking existing docs, identifying products/features, creating directory structure, assigning writers.
|
|
84
|
+
|
|
85
|
+
**INPUTS:**
|
|
86
|
+
```yaml
|
|
87
|
+
mode: "init"
|
|
88
|
+
scope_paths: [<paths from arguments, or empty for full codebase>]
|
|
89
|
+
user_request: "<optional context from user>"
|
|
90
|
+
feature_branch: "<current_branch>"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**OUTPUTS:**
|
|
94
|
+
```yaml
|
|
95
|
+
success: true
|
|
96
|
+
segments:
|
|
97
|
+
- domain: "<domain-name>"
|
|
98
|
+
files: ["<glob-patterns>"]
|
|
99
|
+
output_path: "docs/<domain>/"
|
|
100
|
+
depth: "overview" | "detailed" | "comprehensive"
|
|
101
|
+
notes: "<guidance>"
|
|
102
|
+
```
|
|
103
|
+
</step>
|
|
104
|
+
|
|
105
|
+
<step name="parallel_writers">
|
|
106
|
+
For each segment from taxonomist, delegate to **documentation-writer agent** in parallel:
|
|
107
|
+
|
|
108
|
+
**INPUTS (per writer):**
|
|
109
|
+
```yaml
|
|
110
|
+
mode: "write"
|
|
111
|
+
domain: "<segment.domain>"
|
|
112
|
+
files: <segment.files>
|
|
113
|
+
output_path: "<segment.output_path>"
|
|
114
|
+
depth: "<segment.depth>"
|
|
115
|
+
notes: "<segment.notes>"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**OUTPUTS:**
|
|
119
|
+
```yaml
|
|
120
|
+
success: true
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Writers work directly on the branch. Taxonomist ensures non-overlapping output directories, so no conflicts occur.
|
|
124
|
+
</step>
|
|
125
|
+
|
|
126
|
+
<step name="validate_docs">
|
|
127
|
+
Run validation: `envoy docs validate`
|
|
128
|
+
|
|
129
|
+
If stale/invalid refs found:
|
|
130
|
+
- Present findings to user
|
|
131
|
+
- Delegate single writer with fix-workflow if user approves
|
|
132
|
+
</step>
|
|
133
|
+
|
|
134
|
+
<step name="commit_documentation">
|
|
135
|
+
Commit any uncommitted documentation changes (e.g., validation fixes):
|
|
136
|
+
|
|
137
|
+
1. Check for uncommitted changes in docs/:
|
|
138
|
+
```bash
|
|
139
|
+
git status --porcelain docs/
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
2. If changes exist:
|
|
143
|
+
```bash
|
|
144
|
+
git add docs/
|
|
145
|
+
git commit -m "docs: finalize documentation"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
3. Track documentation files for reindex:
|
|
149
|
+
- Get list of all doc files created/modified since branch diverged from base:
|
|
150
|
+
```bash
|
|
151
|
+
git diff --name-only $(git merge-base HEAD <base_branch>)..HEAD -- docs/
|
|
152
|
+
```
|
|
153
|
+
- Store this list for the reindex step
|
|
154
|
+
</step>
|
|
155
|
+
|
|
156
|
+
<step name="reindex_knowledge">
|
|
157
|
+
Update semantic search index with new documentation:
|
|
158
|
+
|
|
159
|
+
1. Build file changes JSON from tracked doc files:
|
|
160
|
+
```json
|
|
161
|
+
[
|
|
162
|
+
{"path": "docs/domain/index.md", "added": true},
|
|
163
|
+
{"path": "docs/domain/subdomain/index.md", "added": true}
|
|
164
|
+
]
|
|
165
|
+
```
|
|
166
|
+
- Use `added: true` for new files
|
|
167
|
+
- Use `modified: true` for updated files
|
|
168
|
+
|
|
169
|
+
2. Call reindex:
|
|
170
|
+
```bash
|
|
171
|
+
envoy knowledge reindex-from-changes docs --files '<json_array>'
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
3. If reindex reports missing references:
|
|
175
|
+
- Log warning but continue (docs may reference code not yet indexed)
|
|
176
|
+
- These will resolve on next full reindex
|
|
177
|
+
</step>
|
|
178
|
+
|
|
179
|
+
<step name="create_pr">
|
|
180
|
+
Create PR:
|
|
181
|
+
```bash
|
|
182
|
+
envoy git create-pr --title "docs: initialize codebase documentation" --body "<summary>"
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Report completion with PR link.
|
|
186
|
+
</step>
|
|
187
|
+
</process>
|
|
188
|
+
|
|
189
|
+
<success_criteria>
|
|
190
|
+
- Branch setup complete (docs branch from base OR stay on feature)
|
|
191
|
+
- Taxonomist segmented codebase with non-overlapping output directories
|
|
192
|
+
- Writers created docs in parallel
|
|
193
|
+
- Validation passed
|
|
194
|
+
- Documentation committed
|
|
195
|
+
- Knowledge index updated
|
|
196
|
+
- PR created
|
|
197
|
+
</success_criteria>
|
|
198
|
+
|
|
199
|
+
<constraints>
|
|
200
|
+
- MUST NOT perform codebase discovery - delegate ALL discovery to taxonomist
|
|
201
|
+
- MUST NOT run envoy docs tree, envoy docs complexity, or envoy knowledge search
|
|
202
|
+
- MUST verify clean git state before documentation (ensure_committed_state step)
|
|
203
|
+
- MUST only create docs branch if already on base branch
|
|
204
|
+
- MUST delegate to taxonomist for all segmentation and discovery
|
|
205
|
+
- MUST run writers in parallel
|
|
206
|
+
- MUST validate before PR
|
|
207
|
+
- MUST commit documentation changes before reindex (reindex reads from disk)
|
|
208
|
+
- MUST reindex knowledge base after documentation committed
|
|
209
|
+
- All delegations MUST follow INPUTS/OUTPUTS format
|
|
210
|
+
</constraints>
|
package/.claude/commands/plan.md
CHANGED
|
@@ -13,7 +13,7 @@ Modes:
|
|
|
13
13
|
</objective>
|
|
14
14
|
|
|
15
15
|
<context>
|
|
16
|
-
Plan status:
|
|
16
|
+
Plan status: !`envoy plan check`
|
|
17
17
|
</context>
|
|
18
18
|
|
|
19
19
|
<process>
|
|
@@ -30,14 +30,14 @@ Parse $ARGUMENTS for mode flags and user prompt:
|
|
|
30
30
|
|
|
31
31
|
1. Call `envoy plan check` to get status
|
|
32
32
|
2. **If plan exists (in_progress or completed)**:
|
|
33
|
-
- Append user prompt:
|
|
33
|
+
- Append user prompt: `envoy plan append-user-input "<user_prompt>"`
|
|
34
34
|
- Delegate to **planner agent**:
|
|
35
35
|
* "Run `envoy plan protocol implementation` and follow the steps. INPUTS: `{ mode: 'quick', workflow_type: 'feature', feature_branch: <current_branch>, plan_status: <status> }`"
|
|
36
36
|
- AskUserQuestion: "Quick plan created. Ready to implement?"
|
|
37
37
|
- If yes: call /continue command
|
|
38
38
|
3. **If no plan exists**:
|
|
39
39
|
- Create branch from user prompt context (infer name)
|
|
40
|
-
- Append user prompt:
|
|
40
|
+
- Append user prompt: `envoy plan append-user-input "<user_prompt>"`
|
|
41
41
|
- Delegate to **planner agent**:
|
|
42
42
|
* "Run `envoy plan protocol implementation` and follow the steps. INPUTS: `{ mode: 'quick', workflow_type: 'feature', feature_branch: <current_branch> }`"
|
|
43
43
|
- AskUserQuestion: "Quick plan created. Ready to implement?"
|
|
@@ -77,7 +77,7 @@ If user chooses "start fresh": create new branch off base, set mode = "create"
|
|
|
77
77
|
|
|
78
78
|
<step name="write_user_input">
|
|
79
79
|
Append all gathered context to user_input.md:
|
|
80
|
-
|
|
80
|
+
`envoy plan append-user-input "<all_gathered_context>"`
|
|
81
81
|
</step>
|
|
82
82
|
|
|
83
83
|
<step name="specialist_delegation">
|
|
@@ -93,7 +93,7 @@ Append all gathered context to user_input.md:
|
|
|
93
93
|
</step>
|
|
94
94
|
|
|
95
95
|
<step name="get_findings">
|
|
96
|
-
Call
|
|
96
|
+
Call `envoy plan get-findings` to get list of approaches
|
|
97
97
|
</step>
|
|
98
98
|
|
|
99
99
|
<step name="research_delegation">
|
|
@@ -107,7 +107,7 @@ For each distinct research objective identified from approaches:
|
|
|
107
107
|
1. Present all clarifying questions from approach documents to user
|
|
108
108
|
2. AskUserQuestion: "Want to redirect specialists with specific requirements? (clears all findings)"
|
|
109
109
|
- If yes: clear findings, return to specialist_delegation step
|
|
110
|
-
3. Call
|
|
110
|
+
3. Call `envoy plan block-findings-gate`
|
|
111
111
|
- Returns: `{ thoughts, affected_approaches: [{ specialist_name, approach_number }] }`
|
|
112
112
|
4. If affected_approaches exist:
|
|
113
113
|
- Re-delegate to affected specialists with thoughts context
|
|
@@ -7,7 +7,7 @@ Analyze completed plan and generate contextual next-step suggestions. Uses plan
|
|
|
7
7
|
</objective>
|
|
8
8
|
|
|
9
9
|
<context>
|
|
10
|
-
Plan status:
|
|
10
|
+
Plan status: !`envoy plan check`
|
|
11
11
|
</context>
|
|
12
12
|
|
|
13
13
|
<process>
|
|
@@ -22,7 +22,7 @@ Parse plan check result:
|
|
|
22
22
|
</step>
|
|
23
23
|
|
|
24
24
|
<step name="get_context">
|
|
25
|
-
Call
|
|
25
|
+
Call `envoy plan get-full-plan`
|
|
26
26
|
|
|
27
27
|
Parse returned context:
|
|
28
28
|
- user_input.md: original requirements, anticipated follow-ups, out-of-scope items
|
package/.claude/envoy/README.md
CHANGED
|
@@ -5,9 +5,9 @@ CLI for agent-scoped external tool access. Keeps file contents OUT of Claude's c
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
envoy <group> <command> [args]
|
|
9
|
+
envoy --help
|
|
10
|
+
envoy <group> --help
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
## Tools
|
|
@@ -69,8 +69,8 @@ These tools read files directly and pass to external LLMs. Claude only receives
|
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
71
|
# List all commands and API status
|
|
72
|
-
|
|
72
|
+
envoy info
|
|
73
73
|
|
|
74
74
|
# Get help for any command
|
|
75
|
-
|
|
75
|
+
envoy vertex ask --help
|
|
76
76
|
```
|
|
@@ -16,6 +16,15 @@
|
|
|
16
16
|
"gray-matter": "^4.0.3",
|
|
17
17
|
"onnxruntime-node": "1.15.1",
|
|
18
18
|
"pino": "^10.1.0",
|
|
19
|
+
"tree-sitter": "^0.22.1",
|
|
20
|
+
"tree-sitter-go": "^0.23.0",
|
|
21
|
+
"tree-sitter-java": "^0.23.0",
|
|
22
|
+
"tree-sitter-javascript": "^0.23.0",
|
|
23
|
+
"tree-sitter-python": "^0.23.0",
|
|
24
|
+
"tree-sitter-ruby": "^0.23.0",
|
|
25
|
+
"tree-sitter-rust": "^0.23.0",
|
|
26
|
+
"tree-sitter-swift": "^0.7.1",
|
|
27
|
+
"tree-sitter-typescript": "^0.23.0",
|
|
19
28
|
"usearch": "^2.21.4",
|
|
20
29
|
"yaml": "^2.3.4",
|
|
21
30
|
"zod": "^3.23.0"
|
|
@@ -514,8 +523,7 @@
|
|
|
514
523
|
"version": "0.1.5",
|
|
515
524
|
"resolved": "https://registry.npmjs.org/@visheratin/tokenizers-node/-/tokenizers-node-0.1.5.tgz",
|
|
516
525
|
"integrity": "sha512-deNd/auG7ynfp6KwQrXZc4IDI+lOx2CaiPOZa/FUxJtPVKLSv2BA3kB9+Oxz9G9SMlfgl8RmacBlNB/N7OksDQ==",
|
|
517
|
-
"license": "MIT"
|
|
518
|
-
"peer": true
|
|
526
|
+
"license": "MIT"
|
|
519
527
|
},
|
|
520
528
|
"node_modules/@visheratin/web-ai-node": {
|
|
521
529
|
"version": "1.4.5",
|
|
@@ -911,6 +919,12 @@
|
|
|
911
919
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
912
920
|
}
|
|
913
921
|
},
|
|
922
|
+
"node_modules/isexe": {
|
|
923
|
+
"version": "2.0.0",
|
|
924
|
+
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
|
925
|
+
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
|
926
|
+
"license": "ISC"
|
|
927
|
+
},
|
|
914
928
|
"node_modules/js-yaml": {
|
|
915
929
|
"version": "3.14.2",
|
|
916
930
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
|
|
@@ -1052,7 +1066,6 @@
|
|
|
1052
1066
|
"darwin",
|
|
1053
1067
|
"linux"
|
|
1054
1068
|
],
|
|
1055
|
-
"peer": true,
|
|
1056
1069
|
"dependencies": {
|
|
1057
1070
|
"onnxruntime-common": "~1.15.1"
|
|
1058
1071
|
}
|
|
@@ -1244,6 +1257,185 @@
|
|
|
1244
1257
|
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
|
|
1245
1258
|
"license": "MIT"
|
|
1246
1259
|
},
|
|
1260
|
+
"node_modules/tree-sitter": {
|
|
1261
|
+
"version": "0.22.4",
|
|
1262
|
+
"resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.22.4.tgz",
|
|
1263
|
+
"integrity": "sha512-usbHZP9/oxNsUY65MQUsduGRqDHQOou1cagUSwjhoSYAmSahjQDAVsh9s+SlZkn8X8+O1FULRGwHu7AFP3kjzg==",
|
|
1264
|
+
"hasInstallScript": true,
|
|
1265
|
+
"license": "MIT",
|
|
1266
|
+
"dependencies": {
|
|
1267
|
+
"node-addon-api": "^8.3.0",
|
|
1268
|
+
"node-gyp-build": "^4.8.4"
|
|
1269
|
+
}
|
|
1270
|
+
},
|
|
1271
|
+
"node_modules/tree-sitter-cli": {
|
|
1272
|
+
"version": "0.23.2",
|
|
1273
|
+
"resolved": "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.23.2.tgz",
|
|
1274
|
+
"integrity": "sha512-kPPXprOqREX+C/FgUp2Qpt9jd0vSwn+hOgjzVv/7hapdoWpa+VeWId53rf4oNNd29ikheF12BYtGD/W90feMbA==",
|
|
1275
|
+
"hasInstallScript": true,
|
|
1276
|
+
"license": "MIT",
|
|
1277
|
+
"bin": {
|
|
1278
|
+
"tree-sitter": "cli.js"
|
|
1279
|
+
},
|
|
1280
|
+
"engines": {
|
|
1281
|
+
"node": ">=12.0.0"
|
|
1282
|
+
}
|
|
1283
|
+
},
|
|
1284
|
+
"node_modules/tree-sitter-go": {
|
|
1285
|
+
"version": "0.23.4",
|
|
1286
|
+
"resolved": "https://registry.npmjs.org/tree-sitter-go/-/tree-sitter-go-0.23.4.tgz",
|
|
1287
|
+
"integrity": "sha512-iQaHEs4yMa/hMo/ZCGqLfG61F0miinULU1fFh+GZreCRtKylFLtvn798ocCZjO2r/ungNZgAY1s1hPFyAwkc7w==",
|
|
1288
|
+
"hasInstallScript": true,
|
|
1289
|
+
"license": "MIT",
|
|
1290
|
+
"dependencies": {
|
|
1291
|
+
"node-addon-api": "^8.2.1",
|
|
1292
|
+
"node-gyp-build": "^4.8.2"
|
|
1293
|
+
},
|
|
1294
|
+
"peerDependencies": {
|
|
1295
|
+
"tree-sitter": "^0.21.1"
|
|
1296
|
+
},
|
|
1297
|
+
"peerDependenciesMeta": {
|
|
1298
|
+
"tree-sitter": {
|
|
1299
|
+
"optional": true
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
},
|
|
1303
|
+
"node_modules/tree-sitter-java": {
|
|
1304
|
+
"version": "0.23.5",
|
|
1305
|
+
"resolved": "https://registry.npmjs.org/tree-sitter-java/-/tree-sitter-java-0.23.5.tgz",
|
|
1306
|
+
"integrity": "sha512-Yju7oQ0Xx7GcUT01mUglPP+bYfvqjNCGdxqigTnew9nLGoII42PNVP3bHrYeMxswiCRM0yubWmN5qk+zsg0zMA==",
|
|
1307
|
+
"hasInstallScript": true,
|
|
1308
|
+
"license": "MIT",
|
|
1309
|
+
"dependencies": {
|
|
1310
|
+
"node-addon-api": "^8.2.2",
|
|
1311
|
+
"node-gyp-build": "^4.8.2"
|
|
1312
|
+
},
|
|
1313
|
+
"peerDependencies": {
|
|
1314
|
+
"tree-sitter": "^0.21.1"
|
|
1315
|
+
},
|
|
1316
|
+
"peerDependenciesMeta": {
|
|
1317
|
+
"tree-sitter": {
|
|
1318
|
+
"optional": true
|
|
1319
|
+
}
|
|
1320
|
+
}
|
|
1321
|
+
},
|
|
1322
|
+
"node_modules/tree-sitter-javascript": {
|
|
1323
|
+
"version": "0.23.1",
|
|
1324
|
+
"resolved": "https://registry.npmjs.org/tree-sitter-javascript/-/tree-sitter-javascript-0.23.1.tgz",
|
|
1325
|
+
"integrity": "sha512-/bnhbrTD9frUYHQTiYnPcxyHORIw157ERBa6dqzaKxvR/x3PC4Yzd+D1pZIMS6zNg2v3a8BZ0oK7jHqsQo9fWA==",
|
|
1326
|
+
"hasInstallScript": true,
|
|
1327
|
+
"license": "MIT",
|
|
1328
|
+
"dependencies": {
|
|
1329
|
+
"node-addon-api": "^8.2.2",
|
|
1330
|
+
"node-gyp-build": "^4.8.2"
|
|
1331
|
+
},
|
|
1332
|
+
"peerDependencies": {
|
|
1333
|
+
"tree-sitter": "^0.21.1"
|
|
1334
|
+
},
|
|
1335
|
+
"peerDependenciesMeta": {
|
|
1336
|
+
"tree-sitter": {
|
|
1337
|
+
"optional": true
|
|
1338
|
+
}
|
|
1339
|
+
}
|
|
1340
|
+
},
|
|
1341
|
+
"node_modules/tree-sitter-python": {
|
|
1342
|
+
"version": "0.23.6",
|
|
1343
|
+
"resolved": "https://registry.npmjs.org/tree-sitter-python/-/tree-sitter-python-0.23.6.tgz",
|
|
1344
|
+
"integrity": "sha512-yIM9z0oxKIxT7bAtPOhgoVl6gTXlmlIhue7liFT4oBPF/lha7Ha4dQBS82Av6hMMRZoVnFJI8M6mL+SwWoLD3A==",
|
|
1345
|
+
"hasInstallScript": true,
|
|
1346
|
+
"license": "MIT",
|
|
1347
|
+
"dependencies": {
|
|
1348
|
+
"node-addon-api": "^8.3.0",
|
|
1349
|
+
"node-gyp-build": "^4.8.4"
|
|
1350
|
+
},
|
|
1351
|
+
"peerDependencies": {
|
|
1352
|
+
"tree-sitter": "^0.22.1"
|
|
1353
|
+
},
|
|
1354
|
+
"peerDependenciesMeta": {
|
|
1355
|
+
"tree-sitter": {
|
|
1356
|
+
"optional": true
|
|
1357
|
+
}
|
|
1358
|
+
}
|
|
1359
|
+
},
|
|
1360
|
+
"node_modules/tree-sitter-ruby": {
|
|
1361
|
+
"version": "0.23.1",
|
|
1362
|
+
"resolved": "https://registry.npmjs.org/tree-sitter-ruby/-/tree-sitter-ruby-0.23.1.tgz",
|
|
1363
|
+
"integrity": "sha512-d9/RXgWjR6HanN7wTYhS5bpBQLz1VkH048Vm3CodPGyJVnamXMGb8oEhDypVCBq4QnHui9sTXuJBBP3WtCw5RA==",
|
|
1364
|
+
"hasInstallScript": true,
|
|
1365
|
+
"license": "MIT",
|
|
1366
|
+
"dependencies": {
|
|
1367
|
+
"node-addon-api": "^8.2.2",
|
|
1368
|
+
"node-gyp-build": "^4.8.2"
|
|
1369
|
+
},
|
|
1370
|
+
"peerDependencies": {
|
|
1371
|
+
"tree-sitter": "^0.21.1"
|
|
1372
|
+
},
|
|
1373
|
+
"peerDependenciesMeta": {
|
|
1374
|
+
"tree-sitter": {
|
|
1375
|
+
"optional": true
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
},
|
|
1379
|
+
"node_modules/tree-sitter-rust": {
|
|
1380
|
+
"version": "0.23.3",
|
|
1381
|
+
"resolved": "https://registry.npmjs.org/tree-sitter-rust/-/tree-sitter-rust-0.23.3.tgz",
|
|
1382
|
+
"integrity": "sha512-uLdZJ1K26EuJTBMJlz1ltTlg7nJyAYThfouXgigf5ixKOasOL5wNrRCpuWTsl6rDcKlZK9UX+annFLqP/kchwQ==",
|
|
1383
|
+
"hasInstallScript": true,
|
|
1384
|
+
"license": "MIT",
|
|
1385
|
+
"dependencies": {
|
|
1386
|
+
"node-addon-api": "^8.2.2",
|
|
1387
|
+
"node-gyp-build": "^4.8.4"
|
|
1388
|
+
},
|
|
1389
|
+
"peerDependencies": {
|
|
1390
|
+
"tree-sitter": "^0.22.1"
|
|
1391
|
+
},
|
|
1392
|
+
"peerDependenciesMeta": {
|
|
1393
|
+
"tree-sitter": {
|
|
1394
|
+
"optional": true
|
|
1395
|
+
}
|
|
1396
|
+
}
|
|
1397
|
+
},
|
|
1398
|
+
"node_modules/tree-sitter-swift": {
|
|
1399
|
+
"version": "0.7.1",
|
|
1400
|
+
"resolved": "https://registry.npmjs.org/tree-sitter-swift/-/tree-sitter-swift-0.7.1.tgz",
|
|
1401
|
+
"integrity": "sha512-pneKVTuGamaBsqqqfB9BvNQjktzh/0IVPR54jLB5Fq/JTDQwYHd0Wo6pVyZ5jAYpbztzq+rJ/rpL9ruxTmSoKw==",
|
|
1402
|
+
"hasInstallScript": true,
|
|
1403
|
+
"license": "MIT",
|
|
1404
|
+
"dependencies": {
|
|
1405
|
+
"node-addon-api": "^8.0.0",
|
|
1406
|
+
"node-gyp-build": "^4.8.0",
|
|
1407
|
+
"tree-sitter-cli": "^0.23",
|
|
1408
|
+
"which": "2.0.2"
|
|
1409
|
+
},
|
|
1410
|
+
"peerDependencies": {
|
|
1411
|
+
"tree-sitter": "^0.22.1"
|
|
1412
|
+
},
|
|
1413
|
+
"peerDependenciesMeta": {
|
|
1414
|
+
"tree_sitter": {
|
|
1415
|
+
"optional": true
|
|
1416
|
+
}
|
|
1417
|
+
}
|
|
1418
|
+
},
|
|
1419
|
+
"node_modules/tree-sitter-typescript": {
|
|
1420
|
+
"version": "0.23.2",
|
|
1421
|
+
"resolved": "https://registry.npmjs.org/tree-sitter-typescript/-/tree-sitter-typescript-0.23.2.tgz",
|
|
1422
|
+
"integrity": "sha512-e04JUUKxTT53/x3Uq1zIL45DoYKVfHH4CZqwgZhPg5qYROl5nQjV+85ruFzFGZxu+QeFVbRTPDRnqL9UbU4VeA==",
|
|
1423
|
+
"hasInstallScript": true,
|
|
1424
|
+
"license": "MIT",
|
|
1425
|
+
"dependencies": {
|
|
1426
|
+
"node-addon-api": "^8.2.2",
|
|
1427
|
+
"node-gyp-build": "^4.8.2",
|
|
1428
|
+
"tree-sitter-javascript": "^0.23.1"
|
|
1429
|
+
},
|
|
1430
|
+
"peerDependencies": {
|
|
1431
|
+
"tree-sitter": "^0.21.0"
|
|
1432
|
+
},
|
|
1433
|
+
"peerDependenciesMeta": {
|
|
1434
|
+
"tree-sitter": {
|
|
1435
|
+
"optional": true
|
|
1436
|
+
}
|
|
1437
|
+
}
|
|
1438
|
+
},
|
|
1247
1439
|
"node_modules/tsx": {
|
|
1248
1440
|
"version": "4.21.0",
|
|
1249
1441
|
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz",
|
|
@@ -1329,10 +1521,25 @@
|
|
|
1329
1521
|
"webidl-conversions": "^3.0.0"
|
|
1330
1522
|
}
|
|
1331
1523
|
},
|
|
1524
|
+
"node_modules/which": {
|
|
1525
|
+
"version": "2.0.2",
|
|
1526
|
+
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
|
1527
|
+
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
|
1528
|
+
"license": "ISC",
|
|
1529
|
+
"dependencies": {
|
|
1530
|
+
"isexe": "^2.0.0"
|
|
1531
|
+
},
|
|
1532
|
+
"bin": {
|
|
1533
|
+
"node-which": "bin/node-which"
|
|
1534
|
+
},
|
|
1535
|
+
"engines": {
|
|
1536
|
+
"node": ">= 8"
|
|
1537
|
+
}
|
|
1538
|
+
},
|
|
1332
1539
|
"node_modules/ws": {
|
|
1333
|
-
"version": "8.
|
|
1334
|
-
"resolved": "https://registry.npmjs.org/ws/-/ws-8.
|
|
1335
|
-
"integrity": "sha512-
|
|
1540
|
+
"version": "8.19.0",
|
|
1541
|
+
"resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
|
|
1542
|
+
"integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==",
|
|
1336
1543
|
"license": "MIT",
|
|
1337
1544
|
"engines": {
|
|
1338
1545
|
"node": ">=10.0.0"
|
|
@@ -1370,15 +1577,14 @@
|
|
|
1370
1577
|
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
|
|
1371
1578
|
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
|
|
1372
1579
|
"license": "MIT",
|
|
1373
|
-
"peer": true,
|
|
1374
1580
|
"funding": {
|
|
1375
1581
|
"url": "https://github.com/sponsors/colinhacks"
|
|
1376
1582
|
}
|
|
1377
1583
|
},
|
|
1378
1584
|
"node_modules/zod-to-json-schema": {
|
|
1379
|
-
"version": "3.25.
|
|
1380
|
-
"resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.
|
|
1381
|
-
"integrity": "sha512-
|
|
1585
|
+
"version": "3.25.1",
|
|
1586
|
+
"resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz",
|
|
1587
|
+
"integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==",
|
|
1382
1588
|
"license": "ISC",
|
|
1383
1589
|
"peerDependencies": {
|
|
1384
1590
|
"zod": "^3.25 || ^4"
|
|
@@ -16,6 +16,15 @@
|
|
|
16
16
|
"gray-matter": "^4.0.3",
|
|
17
17
|
"onnxruntime-node": "1.15.1",
|
|
18
18
|
"pino": "^10.1.0",
|
|
19
|
+
"tree-sitter": "^0.22.1",
|
|
20
|
+
"tree-sitter-go": "^0.23.0",
|
|
21
|
+
"tree-sitter-java": "^0.23.0",
|
|
22
|
+
"tree-sitter-javascript": "^0.23.0",
|
|
23
|
+
"tree-sitter-python": "^0.23.0",
|
|
24
|
+
"tree-sitter-ruby": "^0.23.0",
|
|
25
|
+
"tree-sitter-rust": "^0.23.0",
|
|
26
|
+
"tree-sitter-swift": "^0.7.1",
|
|
27
|
+
"tree-sitter-typescript": "^0.23.0",
|
|
19
28
|
"usearch": "^2.21.4",
|
|
20
29
|
"yaml": "^2.3.4",
|
|
21
30
|
"zod": "^3.23.0"
|