pindex 1.4.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -23
- package/dist/cli/daemon.d.ts +1 -1
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +25 -6
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/federate.d.ts +6 -0
- package/dist/cli/federate.d.ts.map +1 -0
- package/dist/cli/federate.js +121 -0
- package/dist/cli/federate.js.map +1 -0
- package/dist/cli/index.js +46 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +14 -7
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/project-detector.d.ts +16 -3
- package/dist/cli/project-detector.d.ts.map +1 -1
- package/dist/cli/project-detector.js +83 -11
- package/dist/cli/project-detector.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +3 -5
- package/dist/cli/setup.js.map +1 -1
- package/dist/db/queries.d.ts +14 -0
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +22 -3
- package/dist/db/queries.js.map +1 -1
- package/dist/federation/merge.d.ts +4 -0
- package/dist/federation/merge.d.ts.map +1 -0
- package/dist/federation/merge.js +15 -0
- package/dist/federation/merge.js.map +1 -0
- package/dist/federation/registry-name.d.ts +6 -0
- package/dist/federation/registry-name.d.ts.map +1 -0
- package/dist/federation/registry-name.js +17 -0
- package/dist/federation/registry-name.js.map +1 -0
- package/dist/federation/repo-set.d.ts +27 -0
- package/dist/federation/repo-set.d.ts.map +1 -0
- package/dist/federation/repo-set.js +41 -0
- package/dist/federation/repo-set.js.map +1 -0
- package/dist/federation/repos-env.d.ts +16 -0
- package/dist/federation/repos-env.d.ts.map +1 -0
- package/dist/federation/repos-env.js +27 -0
- package/dist/federation/repos-env.js.map +1 -0
- package/dist/gui/server.d.ts.map +1 -1
- package/dist/gui/server.js +63 -23
- package/dist/gui/server.js.map +1 -1
- package/dist/index.js +36 -34
- package/dist/index.js.map +1 -1
- package/dist/indexer/detect-languages.d.ts +10 -0
- package/dist/indexer/detect-languages.d.ts.map +1 -0
- package/dist/indexer/detect-languages.js +36 -0
- package/dist/indexer/detect-languages.js.map +1 -0
- package/dist/indexer/index.d.ts +2 -0
- package/dist/indexer/index.d.ts.map +1 -1
- package/dist/indexer/index.js +21 -9
- package/dist/indexer/index.js.map +1 -1
- package/dist/indexer/parser.d.ts.map +1 -1
- package/dist/indexer/parser.js +36 -5
- package/dist/indexer/parser.js.map +1 -1
- package/dist/indexer/summarizer.d.ts.map +1 -1
- package/dist/indexer/summarizer.js +3 -0
- package/dist/indexer/summarizer.js.map +1 -1
- package/dist/memory/retention.d.ts +16 -0
- package/dist/memory/retention.d.ts.map +1 -0
- package/dist/memory/retention.js +32 -0
- package/dist/memory/retention.js.map +1 -0
- package/dist/monitoring/server.d.ts.map +1 -1
- package/dist/monitoring/server.js +22 -1
- package/dist/monitoring/server.js.map +1 -1
- package/dist/monitoring/ui/dashboard.js +83 -31
- package/dist/monitoring/ui/esc.js +17 -0
- package/dist/monitoring/ui/index.html +17 -11
- package/dist/monitoring/ui/styles.css +24 -4
- package/dist/server-config.d.ts +18 -0
- package/dist/server-config.d.ts.map +1 -0
- package/dist/server-config.js +41 -0
- package/dist/server-config.js.map +1 -0
- package/dist/server.d.ts +5 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +21 -14
- package/dist/server.js.map +1 -1
- package/dist/tools/find_usages.d.ts +2 -2
- package/dist/tools/find_usages.d.ts.map +1 -1
- package/dist/tools/find_usages.js +24 -10
- package/dist/tools/find_usages.js.map +1 -1
- package/dist/tools/get_context.d.ts +2 -2
- package/dist/tools/get_context.d.ts.map +1 -1
- package/dist/tools/get_context.js +54 -50
- package/dist/tools/get_context.js.map +1 -1
- package/dist/tools/get_dependencies.d.ts +2 -2
- package/dist/tools/get_dependencies.d.ts.map +1 -1
- package/dist/tools/get_dependencies.js +24 -11
- package/dist/tools/get_dependencies.js.map +1 -1
- package/dist/tools/get_doc_chunk.d.ts +2 -2
- package/dist/tools/get_doc_chunk.d.ts.map +1 -1
- package/dist/tools/get_doc_chunk.js +38 -29
- package/dist/tools/get_doc_chunk.js.map +1 -1
- package/dist/tools/get_file_summary.d.ts +2 -2
- package/dist/tools/get_file_summary.d.ts.map +1 -1
- package/dist/tools/get_file_summary.js +48 -37
- package/dist/tools/get_file_summary.js.map +1 -1
- package/dist/tools/get_project_overview.d.ts +2 -3
- package/dist/tools/get_project_overview.d.ts.map +1 -1
- package/dist/tools/get_project_overview.js +22 -22
- package/dist/tools/get_project_overview.js.map +1 -1
- package/dist/tools/get_symbol.d.ts +2 -2
- package/dist/tools/get_symbol.d.ts.map +1 -1
- package/dist/tools/get_symbol.js +33 -27
- package/dist/tools/get_symbol.js.map +1 -1
- package/dist/tools/schemas.d.ts +9 -0
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +20 -2
- package/dist/tools/schemas.js.map +1 -1
- package/dist/tools/search_docs.d.ts +2 -2
- package/dist/tools/search_docs.d.ts.map +1 -1
- package/dist/tools/search_docs.js +40 -28
- package/dist/tools/search_docs.js.map +1 -1
- package/dist/tools/search_symbols.d.ts +2 -3
- package/dist/tools/search_symbols.d.ts.map +1 -1
- package/dist/tools/search_symbols.js +35 -46
- package/dist/tools/search_symbols.js.map +1 -1
- package/dist/types.d.ts +24 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/util/net.d.ts +25 -0
- package/dist/util/net.d.ts.map +1 -0
- package/dist/util/net.js +50 -0
- package/dist/util/net.js.map +1 -0
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -63,25 +63,39 @@ Token savings are tracked per session and visible in a live web dashboard.
|
|
|
63
63
|
|
|
64
64
|
## When Is PindeX Worth Using?
|
|
65
65
|
|
|
66
|
-
PindeX adds a fixed overhead per API turn (tool definitions are sent with every request).
|
|
66
|
+
PindeX adds a fixed overhead per API turn (its 14 tool definitions are sent with every request). The overhead pays off when the project is large enough — and the questions complex enough — that the savings from targeted symbol lookups exceed that cost.
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
### Realism benchmark (Sonnet 4.6, N=1, 6 Q&A tasks per codebase)
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
|
73
|
-
|
|
70
|
+
A/B comparison: vanilla Claude Code (no PindeX MCP server, only native `Read`/`Grep`/`Glob`) vs. Claude Code with PindeX registered, on identical prompts.
|
|
71
|
+
|
|
72
|
+
| Codebase | Baseline tokens | PindeX tokens | Ratio | Reduction |
|
|
73
|
+
|---|---:|---:|---:|---|
|
|
74
|
+
| PindeX itself (~50 files) | 742 607 | 603 160 | 0.812 | **−19 %** |
|
|
75
|
+
| `microsoft/typescript-eslint` (~600 files) | 948 848 | 779 469 | 0.821 | **−18 %** |
|
|
76
|
+
|
|
77
|
+
**Where the savings come from**: multi-hop / dependency-graph queries (e.g. "which modules does `src/indexer/index.ts` import?", "explain how `processParsedFile` interacts with the AST diff engine") deliver per-task ratios of 0.55 / 0.65 — PindeX wins clearly. Single-symbol lookups (e.g. "where is class X defined?") wash to ratio ~1.0; Claude can read the project's `CLAUDE.md` from the prompt cache and answer directly without any file reads in either condition.
|
|
78
|
+
|
|
79
|
+
100 % cache-read share in both conditions means the 14-tool overhead is fully amortised by Anthropic's prompt cache after the first turn. There is no latency penalty.
|
|
74
80
|
|
|
75
|
-
|
|
81
|
+
Full report: [`benchmarks/results/2026-04-25-realism-3.md`](benchmarks/results/2026-04-25-realism-3.md). Re-run yourself with `npm run bench:realism`.
|
|
76
82
|
|
|
77
|
-
|
|
83
|
+
### Caveats
|
|
84
|
+
|
|
85
|
+
- **N=1 across 12 tasks total.** Stochastic variance means the headline number is in the 15–25 % range, not a precise 18.5 %. For marketing-grade numbers, repeat at N=3.
|
|
86
|
+
- **Q&A workload only.** Coding tasks ("implement feature X") are not measured; the cost profile is likely different and possibly less favourable.
|
|
87
|
+
- **TypeScript-heavy codebases.** Both targets are pure TS / TS-monorepo. PindeX' regex extractors for Python / Java / Go / Rust have lower symbol-extraction quality than tree-sitter-typescript; the benefit on those stacks may be smaller.
|
|
88
|
+
- **Older marketing copy claimed "80–90 % token reduction".** That number was aspirational and is not what the realism benchmark produces. The honest figure is ~18–19 %.
|
|
89
|
+
|
|
90
|
+
### Rule of thumb
|
|
91
|
+
|
|
92
|
+
PindeX is beneficial when:
|
|
78
93
|
|
|
79
94
|
| Condition | Threshold |
|
|
80
95
|
|---|---|
|
|
81
96
|
| Number of files | ≥ 40 |
|
|
82
97
|
| Average file length | ≥ 150 lines/file |
|
|
83
|
-
|
|
84
|
-
For projects above these thresholds (e.g. the PindeX codebase itself with 80+ files), targeted symbol lookups consistently return far less than a full-file read, and the fixed overhead amortises over many turns.
|
|
98
|
+
| Question type | Multi-hop / dependency / impact analysis (single-symbol lookups break even) |
|
|
85
99
|
|
|
86
100
|
**Built-in recommendation:** `get_project_overview` always returns an `index_recommendation` field:
|
|
87
101
|
|
|
@@ -96,7 +110,7 @@ For projects above these thresholds (e.g. the PindeX codebase itself with 80+ fi
|
|
|
96
110
|
}
|
|
97
111
|
```
|
|
98
112
|
|
|
99
|
-
> **
|
|
113
|
+
> **Where PindeX's value is largest:** sessions that bounce across many files (impact analysis, refactoring research, onboarding to an unfamiliar codebase). Sessions that are mostly editing one file get little benefit and may pay net overhead.
|
|
100
114
|
|
|
101
115
|
---
|
|
102
116
|
|
|
@@ -221,31 +235,47 @@ cd /project-b && pindex # registers project-b, different port + different DB
|
|
|
221
235
|
|
|
222
236
|
### Linking repos (federation)
|
|
223
237
|
|
|
224
|
-
|
|
238
|
+
Federate other indexed PindeX projects into the current project so all read-only tools can search across them in one query.
|
|
239
|
+
|
|
240
|
+
**CLI commands:**
|
|
225
241
|
|
|
226
242
|
```bash
|
|
227
|
-
cd /project
|
|
228
|
-
pindex add /
|
|
243
|
+
cd /my/main-project
|
|
244
|
+
pindex federate add /path/to/other-repo
|
|
245
|
+
pindex federate list
|
|
246
|
+
pindex federate remove other-repo
|
|
229
247
|
```
|
|
230
248
|
|
|
231
|
-
|
|
249
|
+
Federated repos appear under stable names (the directory basename, with a hash suffix on collision). Every search/lookup tool returns results tagged with `project: <name>`.
|
|
232
250
|
|
|
233
|
-
|
|
234
|
-
- `get_project_overview` shows stats for all linked projects
|
|
251
|
+
**Scoping queries to federated repos:**
|
|
235
252
|
|
|
236
|
-
|
|
253
|
+
To scope a query to a subset of federated repos, use the optional `repos` parameter in any read-only tool:
|
|
237
254
|
|
|
238
|
-
```
|
|
239
|
-
|
|
255
|
+
```jsonc
|
|
256
|
+
// MCP tool call (example)
|
|
257
|
+
search_symbols({ "query": "AuthService", "repos": ["main", "auth-service"] })
|
|
240
258
|
```
|
|
241
259
|
|
|
242
|
-
|
|
260
|
+
The `repos` parameter accepts a list of project names and restricts results to only those repos. Omit the parameter to search all federated repos + the main project.
|
|
261
|
+
|
|
262
|
+
**Which tools support federation:**
|
|
263
|
+
|
|
264
|
+
The 9 read-only tools (`search_symbols`, `find_usages`, `get_symbol`, `get_file_summary`, `get_context`, `get_dependencies`, `get_project_overview`, `search_docs`, `get_doc_chunk`) accept an optional `repos: string[]` param to scope to specific federated repos.
|
|
265
|
+
|
|
266
|
+
The 5 write/session tools (`reindex`, `save_context`, `get_session_memory`, `start_comparison`, `get_token_stats`) stay strictly local and do not accept the `repos` param.
|
|
267
|
+
|
|
268
|
+
**Legacy env var:**
|
|
269
|
+
|
|
270
|
+
The `FEDERATION_REPOS` env var (colon-separated paths) is still supported for backward compatibility and is what the CLI writes to `.mcp.json`:
|
|
243
271
|
|
|
244
272
|
```bash
|
|
245
|
-
|
|
273
|
+
FEDERATION_REPOS=/path/to/repo-a:/path/to/repo-b pindex-server
|
|
246
274
|
```
|
|
247
275
|
|
|
248
|
-
|
|
276
|
+
For new setups, prefer the CLI commands (`pindex federate add/remove/list`) over manually editing the env var.
|
|
277
|
+
|
|
278
|
+
**View all projects:**
|
|
249
279
|
|
|
250
280
|
```bash
|
|
251
281
|
pindex status
|
package/dist/cli/daemon.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export declare function getDaemonPid(projectHash?: string): number | null;
|
|
3
3
|
/** Returns true if the daemon is currently running for the given project. */
|
|
4
4
|
export declare function isDaemonRunning(projectHash?: string): boolean;
|
|
5
|
-
/** Writes the PID file for the given project. */
|
|
5
|
+
/** Writes the PID file for the given project (owner-only, SEC-14). */
|
|
6
6
|
export declare function writePidFile(pid: number, projectHash?: string): void;
|
|
7
7
|
/** Removes the PID file. */
|
|
8
8
|
export declare function removePidFile(projectHash?: string): void;
|
package/dist/cli/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAoBA,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUhE;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D;AAeD,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED,4BAA4B;AAC5B,wBAAgB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAGxD;AAED,yDAAyD;AACzD,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBpE;AAED,8DAA8D;AAC9D,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpE"}
|
package/dist/cli/daemon.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { existsSync, readFileSync,
|
|
1
|
+
import { existsSync, readFileSync, unlinkSync, mkdirSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
import {
|
|
3
|
+
import { getProjectsDir, hashProjectPath, ensurePindexHome, writeFileSecure, } from './project-detector.js';
|
|
4
4
|
/** Returns the PID file path for a given project (or the global fallback). */
|
|
5
5
|
function getPidFilePath(projectHash) {
|
|
6
6
|
if (projectHash) {
|
|
7
7
|
const dir = join(getProjectsDir(), projectHash);
|
|
8
8
|
if (!existsSync(dir))
|
|
9
|
-
mkdirSync(dir, { recursive: true });
|
|
9
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
10
10
|
return join(dir, 'daemon.pid');
|
|
11
11
|
}
|
|
12
|
-
return join(
|
|
12
|
+
return join(ensurePindexHome(), 'daemon.pid');
|
|
13
13
|
}
|
|
14
14
|
/** Returns the PID of the running daemon for the given project, or null. */
|
|
15
15
|
export function getDaemonPid(projectHash) {
|
|
@@ -29,9 +29,23 @@ export function getDaemonPid(projectHash) {
|
|
|
29
29
|
export function isDaemonRunning(projectHash) {
|
|
30
30
|
return getDaemonPid(projectHash) !== null;
|
|
31
31
|
}
|
|
32
|
-
/**
|
|
32
|
+
/** Best-effort check that a PID belongs to a pindex/node process before we signal
|
|
33
|
+
* it, guarding against PID reuse killing an unrelated process (SEC-14). On
|
|
34
|
+
* platforms without /proc (macOS/Windows) the check is skipped (returns true). */
|
|
35
|
+
function isLikelyPindexProcess(pid) {
|
|
36
|
+
try {
|
|
37
|
+
const cmdline = readFileSync(`/proc/${pid}/cmdline`, 'utf-8');
|
|
38
|
+
if (!cmdline)
|
|
39
|
+
return true; // empty — cannot tell, do not block
|
|
40
|
+
return /pindex|node/i.test(cmdline);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return true; // /proc unavailable or unreadable — do not block stop
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** Writes the PID file for the given project (owner-only, SEC-14). */
|
|
33
47
|
export function writePidFile(pid, projectHash) {
|
|
34
|
-
|
|
48
|
+
writeFileSecure(getPidFilePath(projectHash), String(pid));
|
|
35
49
|
}
|
|
36
50
|
/** Removes the PID file. */
|
|
37
51
|
export function removePidFile(projectHash) {
|
|
@@ -46,6 +60,11 @@ export async function stopDaemon(projectHash) {
|
|
|
46
60
|
console.log('No running daemon found.');
|
|
47
61
|
return;
|
|
48
62
|
}
|
|
63
|
+
if (!isLikelyPindexProcess(pid)) {
|
|
64
|
+
console.error('Refusing to stop: PID does not look like a pindex daemon (stale PID file?).');
|
|
65
|
+
removePidFile(projectHash);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
49
68
|
try {
|
|
50
69
|
process.kill(pid, 'SIGTERM');
|
|
51
70
|
removePidFile(projectHash);
|
package/dist/cli/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAEL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,8EAA8E;AAC9E,SAAS,cAAc,CAAC,WAAoB;IAC1C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,YAAY,CAAC,CAAC;AAChD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,YAAY,CAAC,WAAoB;IAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,kCAAkC;QACxD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,eAAe,CAAC,WAAoB;IAClD,OAAO,YAAY,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AAC5C,CAAC;AAED;;mFAEmF;AACnF,SAAS,qBAAqB,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,CAAC,oCAAoC;QAC/D,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,sDAAsD;IACrE,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,WAAoB;IAC5D,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,aAAa,CAAC,WAAoB;IAChD,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,UAAU,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,WAAoB;IACnD,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QAC7F,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7B,aAAa,CAAC,WAAW,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,WAAoB;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function federateAdd(cwd: string, targetPath: string, options: {
|
|
2
|
+
name?: string;
|
|
3
|
+
}): Promise<void>;
|
|
4
|
+
export declare function federateRemove(cwd: string, nameOrPath: string): Promise<void>;
|
|
5
|
+
export declare function federateList(cwd: string): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=federate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"federate.d.ts","sourceRoot":"","sources":["../../src/cli/federate.ts"],"names":[],"mappings":"AA8CA,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA6Df;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCnF;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB7D"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { join, resolve } from 'node:path';
|
|
3
|
+
import { GlobalRegistry, findProjectRoot, } from './project-detector.js';
|
|
4
|
+
import { assignName } from '../federation/registry-name.js';
|
|
5
|
+
import { parseFederationRepos, joinFederationRepos } from '../federation/repos-env.js';
|
|
6
|
+
function readMcpJson(projectRoot) {
|
|
7
|
+
const path = join(projectRoot, '.mcp.json');
|
|
8
|
+
if (!existsSync(path)) {
|
|
9
|
+
throw new Error(`.mcp.json not found at ${path}. Run 'pindex init' first.`);
|
|
10
|
+
}
|
|
11
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
12
|
+
}
|
|
13
|
+
function writeMcpJson(projectRoot, mcp) {
|
|
14
|
+
const path = join(projectRoot, '.mcp.json');
|
|
15
|
+
writeFileSync(path, JSON.stringify(mcp, null, 2));
|
|
16
|
+
}
|
|
17
|
+
function ensurePindexEnv(mcp) {
|
|
18
|
+
if (!mcp.mcpServers.pindex) {
|
|
19
|
+
mcp.mcpServers.pindex = { env: {} };
|
|
20
|
+
}
|
|
21
|
+
if (!mcp.mcpServers.pindex.env) {
|
|
22
|
+
mcp.mcpServers.pindex.env = {};
|
|
23
|
+
}
|
|
24
|
+
return mcp.mcpServers.pindex.env;
|
|
25
|
+
}
|
|
26
|
+
export async function federateAdd(cwd, targetPath, options) {
|
|
27
|
+
const projectRoot = findProjectRoot(resolve(cwd));
|
|
28
|
+
const targetRoot = resolve(targetPath);
|
|
29
|
+
if (!existsSync(targetRoot)) {
|
|
30
|
+
throw new Error(`Target path does not exist: ${targetRoot}`);
|
|
31
|
+
}
|
|
32
|
+
const registry = new GlobalRegistry();
|
|
33
|
+
const entries = registry.list();
|
|
34
|
+
const me = entries.find((e) => e.path === projectRoot);
|
|
35
|
+
if (!me) {
|
|
36
|
+
throw new Error(`Current project not registered: ${projectRoot}. Run 'pindex init'.`);
|
|
37
|
+
}
|
|
38
|
+
const target = entries.find((e) => e.path === targetRoot);
|
|
39
|
+
if (!target) {
|
|
40
|
+
throw new Error(`Target not registered: ${targetRoot}. Run 'pindex init' in that directory first.`);
|
|
41
|
+
}
|
|
42
|
+
// Check .mcp.json exists in target (validates it was pindex-init-ed)
|
|
43
|
+
if (!existsSync(join(targetRoot, '.mcp.json'))) {
|
|
44
|
+
throw new Error(`Target has no .mcp.json: ${targetRoot}. Run 'pindex init' in that directory first.`);
|
|
45
|
+
}
|
|
46
|
+
const existingFederated = (me.federatedRepos ?? []);
|
|
47
|
+
if (existingFederated.some((f) => f.path === targetRoot)) {
|
|
48
|
+
console.log(`Already federated: ${target.name} (${targetRoot})`);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
// Allocate a unique name within MY federation set (including my own name).
|
|
52
|
+
const used = new Set([me.name, ...existingFederated.map((f) => f.name)]);
|
|
53
|
+
const name = options.name ??
|
|
54
|
+
(used.has(target.name) ? assignName(targetRoot, used) : target.name);
|
|
55
|
+
if (options.name && used.has(options.name)) {
|
|
56
|
+
throw new Error(`Name '${options.name}' already in use in this federation. Provide a different --name.`);
|
|
57
|
+
}
|
|
58
|
+
const updated = {
|
|
59
|
+
...me,
|
|
60
|
+
federatedRepos: [...existingFederated, { path: targetRoot, name }],
|
|
61
|
+
};
|
|
62
|
+
registry.replace(updated);
|
|
63
|
+
const mcp = readMcpJson(projectRoot);
|
|
64
|
+
const env = ensurePindexEnv(mcp);
|
|
65
|
+
const list = parseFederationRepos(env.FEDERATION_REPOS);
|
|
66
|
+
if (!list.includes(targetRoot))
|
|
67
|
+
list.push(targetRoot);
|
|
68
|
+
env.FEDERATION_REPOS = joinFederationRepos(list);
|
|
69
|
+
writeMcpJson(projectRoot, mcp);
|
|
70
|
+
console.log(`federated '${name}' (path: ${targetRoot}). Restart the MCP server to pick up the change.`);
|
|
71
|
+
}
|
|
72
|
+
export async function federateRemove(cwd, nameOrPath) {
|
|
73
|
+
const projectRoot = findProjectRoot(resolve(cwd));
|
|
74
|
+
const registry = new GlobalRegistry();
|
|
75
|
+
const me = registry.list().find((e) => e.path === projectRoot);
|
|
76
|
+
if (!me) {
|
|
77
|
+
throw new Error(`Current project not registered: ${projectRoot}.`);
|
|
78
|
+
}
|
|
79
|
+
const existingFederated = (me.federatedRepos ?? []);
|
|
80
|
+
const match = existingFederated.find((f) => f.name === nameOrPath || f.path === nameOrPath);
|
|
81
|
+
if (!match) {
|
|
82
|
+
const known = existingFederated.map((f) => f.name).join(', ');
|
|
83
|
+
throw new Error(`No federated repo named '${nameOrPath}' (or matching path). Known: [${known}]`);
|
|
84
|
+
}
|
|
85
|
+
const updated = {
|
|
86
|
+
...me,
|
|
87
|
+
federatedRepos: existingFederated.filter((f) => f !== match),
|
|
88
|
+
};
|
|
89
|
+
registry.replace(updated);
|
|
90
|
+
const mcp = readMcpJson(projectRoot);
|
|
91
|
+
const env = ensurePindexEnv(mcp);
|
|
92
|
+
const list = parseFederationRepos(env.FEDERATION_REPOS).filter((p) => p !== match.path);
|
|
93
|
+
if (list.length > 0) {
|
|
94
|
+
env.FEDERATION_REPOS = joinFederationRepos(list);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
delete env.FEDERATION_REPOS;
|
|
98
|
+
}
|
|
99
|
+
writeMcpJson(projectRoot, mcp);
|
|
100
|
+
console.log(`removed federation '${match.name}' (${match.path}). Restart the MCP server.`);
|
|
101
|
+
}
|
|
102
|
+
export async function federateList(cwd) {
|
|
103
|
+
const projectRoot = findProjectRoot(resolve(cwd));
|
|
104
|
+
const registry = new GlobalRegistry();
|
|
105
|
+
const me = registry.list().find((e) => e.path === projectRoot);
|
|
106
|
+
if (!me) {
|
|
107
|
+
console.log(`Current project not registered: ${projectRoot}.`);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const existingFederated = (me.federatedRepos ?? []);
|
|
111
|
+
console.log(`Federated repos (in ${projectRoot}):`);
|
|
112
|
+
if (existingFederated.length === 0) {
|
|
113
|
+
console.log(` (none)`);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const longestName = existingFederated.reduce((m, f) => Math.max(m, f.name.length), 0);
|
|
117
|
+
for (const f of existingFederated) {
|
|
118
|
+
console.log(` ${f.name.padEnd(longestName)} ${f.path}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=federate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"federate.js","sourceRoot":"","sources":["../../src/cli/federate.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { runMigrations } from '../db/migrations.js';
|
|
|
9
9
|
import { Indexer } from '../indexer/index.js';
|
|
10
10
|
import { getProjectIndexPath, getProjectsDir, GlobalRegistry, findProjectRoot, hashProjectPath, } from './project-detector.js';
|
|
11
11
|
import { initProject, addFederatedRepo, removeFederatedRepo, injectClaudeMdSection, injectClaudeSettings, removeClaudeMdSection, removeClaudeSettings, removeMcpJson, writeMcpJson, injectGitignore } from './init.js';
|
|
12
|
+
import { federateAdd, federateRemove, federateList } from './federate.js';
|
|
12
13
|
import Database from 'better-sqlite3';
|
|
13
14
|
const BREAK_EVEN_FILES = 40;
|
|
14
15
|
const BREAK_EVEN_AVG_LINES = 150;
|
|
@@ -196,10 +197,14 @@ async function main() {
|
|
|
196
197
|
break;
|
|
197
198
|
}
|
|
198
199
|
const { spawn } = await import('node:child_process');
|
|
199
|
-
|
|
200
|
+
const os = await import('node:os');
|
|
201
|
+
// Spawn without shell:true to avoid a latent shell-injection sink if the
|
|
202
|
+
// arg list ever grows (SEC-15). On Windows the bin is a .cmd shim, which
|
|
203
|
+
// requires the explicit extension when not going through a shell.
|
|
204
|
+
const guiBin = os.platform() === 'win32' ? 'pindex-gui.cmd' : 'pindex-gui';
|
|
205
|
+
spawn(guiBin, ['--port', String(port)], {
|
|
200
206
|
detached: true,
|
|
201
207
|
stdio: 'ignore',
|
|
202
|
-
shell: true,
|
|
203
208
|
}).unref();
|
|
204
209
|
// Wait for server to be ready (max 3s)
|
|
205
210
|
for (let i = 0; i < 15; i++) {
|
|
@@ -272,6 +277,45 @@ async function main() {
|
|
|
272
277
|
console.log(`Done. You can remove ~/.pindex (registry) and each project's .pindex/ folder manually to wipe all data.`);
|
|
273
278
|
break;
|
|
274
279
|
}
|
|
280
|
+
case 'federate': {
|
|
281
|
+
const sub = args[0];
|
|
282
|
+
try {
|
|
283
|
+
switch (sub) {
|
|
284
|
+
case 'add': {
|
|
285
|
+
const targetPath = args[1];
|
|
286
|
+
if (!targetPath) {
|
|
287
|
+
console.error('Usage: pindex federate add <path> [--name <name>]');
|
|
288
|
+
process.exit(1);
|
|
289
|
+
}
|
|
290
|
+
const nameFlag = args.indexOf('--name');
|
|
291
|
+
const name = nameFlag !== -1 ? args[nameFlag + 1] : undefined;
|
|
292
|
+
await federateAdd(process.cwd(), targetPath, { name });
|
|
293
|
+
break;
|
|
294
|
+
}
|
|
295
|
+
case 'remove': {
|
|
296
|
+
const target = args[1];
|
|
297
|
+
if (!target) {
|
|
298
|
+
console.error('Usage: pindex federate remove <name|path>');
|
|
299
|
+
process.exit(1);
|
|
300
|
+
}
|
|
301
|
+
await federateRemove(process.cwd(), target);
|
|
302
|
+
break;
|
|
303
|
+
}
|
|
304
|
+
case 'list': {
|
|
305
|
+
await federateList(process.cwd());
|
|
306
|
+
break;
|
|
307
|
+
}
|
|
308
|
+
default:
|
|
309
|
+
console.error(`Unknown federate subcommand: ${sub ?? '(none)'}. Use add | remove | list.`);
|
|
310
|
+
process.exit(1);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
catch (err) {
|
|
314
|
+
console.error('Error:', err instanceof Error ? err.message : err);
|
|
315
|
+
process.exit(1);
|
|
316
|
+
}
|
|
317
|
+
break;
|
|
318
|
+
}
|
|
275
319
|
default:
|
|
276
320
|
console.log(`
|
|
277
321
|
pindex – MCP Codebase Indexer
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAK/B,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,aAAa,GACnB,IAAI,CA2BN;AA8BD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,EAAE,KAAa,EAAE;;CAAK,GACrB,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAqB7C;AAkCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,EAAE,KAAa,EAAE;;CAAK,GACrB,OAAO,GAAG,SAAS,GAAG,SAAS,CA4CjC;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAClB,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAczC;AAID;;;GAGG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C5D;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAQ9F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAyB7F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAKxE;AAID;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CnF;AAID,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBtF"}
|
package/dist/cli/init.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { writeFileSync, existsSync, mkdirSync, readFileSync, appendFileSync, unlinkSync } from 'node:fs';
|
|
2
|
-
import { resolve, join
|
|
2
|
+
import { resolve, join } from 'node:path';
|
|
3
3
|
import { findProjectRoot, getProjectIndexPath, GlobalRegistry, } from './project-detector.js';
|
|
4
|
+
import { joinFederationRepos } from '../federation/repos-env.js';
|
|
4
5
|
// ─── .mcp.json generation ─────────────────────────────────────────────────
|
|
5
6
|
export function writeMcpJson(projectRoot, entry) {
|
|
6
7
|
const federationEnv = entry.federatedRepos.length > 0
|
|
7
|
-
? { FEDERATION_REPOS: entry.federatedRepos.
|
|
8
|
+
? { FEDERATION_REPOS: joinFederationRepos(entry.federatedRepos.map((r) => r.path)) }
|
|
8
9
|
: {};
|
|
9
10
|
const config = {
|
|
10
11
|
mcpServers: {
|
|
@@ -225,7 +226,7 @@ export async function initProject(cwd) {
|
|
|
225
226
|
if (entry.federatedRepos.length > 0) {
|
|
226
227
|
console.log(`\n Federated repos (${entry.federatedRepos.length}):`);
|
|
227
228
|
for (const r of entry.federatedRepos)
|
|
228
|
-
console.log(` - ${r}`);
|
|
229
|
+
console.log(` - ${r.name} ${r.path}`);
|
|
229
230
|
}
|
|
230
231
|
console.log('\n ══════════════════════════════════════════\n');
|
|
231
232
|
}
|
|
@@ -314,16 +315,22 @@ export async function addFederatedRepo(cwd, repoPath) {
|
|
|
314
315
|
// Update current project's federated repos list
|
|
315
316
|
const currentEntry = registry.upsert(projectRoot);
|
|
316
317
|
const existing = currentEntry.federatedRepos;
|
|
317
|
-
if (existing.
|
|
318
|
+
if (existing.some((r) => r.path === resolvedRepo)) {
|
|
318
319
|
console.log(`Already linked: ${resolvedRepo}`);
|
|
319
320
|
return;
|
|
320
321
|
}
|
|
321
|
-
|
|
322
|
+
// Resolve a name for the newly federated repo
|
|
323
|
+
const targetEntry = registry.getByPath(resolvedRepo);
|
|
324
|
+
const usedNames = new Set([currentEntry.name, ...existing.map((r) => r.name)]);
|
|
325
|
+
const { assignName: _assignName } = await import('../federation/registry-name.js');
|
|
326
|
+
const repoName = targetEntry?.name && !usedNames.has(targetEntry.name)
|
|
327
|
+
? targetEntry.name
|
|
328
|
+
: _assignName(resolvedRepo, usedNames);
|
|
329
|
+
const updated = [...existing, { path: resolvedRepo, name: repoName }];
|
|
322
330
|
registry.setFederatedRepos(projectRoot, updated);
|
|
323
331
|
// Re-read to get the updated entry
|
|
324
332
|
const updatedEntry = registry.getByPath(projectRoot);
|
|
325
333
|
writeMcpJson(projectRoot, updatedEntry);
|
|
326
|
-
const repoName = basename(resolvedRepo);
|
|
327
334
|
console.log(`\n ✓ Linked: ${repoName} (${resolvedRepo})`);
|
|
328
335
|
console.log(' .mcp.json updated with FEDERATION_REPOS.\n');
|
|
329
336
|
console.log(' Restart Claude Code to activate cross-repo search.\n');
|
|
@@ -338,7 +345,7 @@ export async function removeFederatedRepo(cwd, repoPath) {
|
|
|
338
345
|
console.error('Project not registered. Run pindex first.');
|
|
339
346
|
process.exit(1);
|
|
340
347
|
}
|
|
341
|
-
const updated = entry.federatedRepos.filter((r) => r !== resolvedRepo);
|
|
348
|
+
const updated = entry.federatedRepos.filter((r) => r.path !== resolvedRepo);
|
|
342
349
|
registry.setFederatedRepos(projectRoot, updated);
|
|
343
350
|
const updatedEntry = registry.getByPath(projectRoot);
|
|
344
351
|
writeMcpJson(projectRoot, updatedEntry);
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|