argustack 0.1.34 → 0.2.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.
Files changed (232) hide show
  1. package/README.md +29 -12
  2. package/dist/adapters/lmstudio/embedding-provider.d.ts +37 -0
  3. package/dist/adapters/lmstudio/embedding-provider.d.ts.map +1 -0
  4. package/dist/adapters/lmstudio/embedding-provider.js +174 -0
  5. package/dist/adapters/lmstudio/embedding-provider.js.map +1 -0
  6. package/dist/adapters/lmstudio/index.d.ts +3 -0
  7. package/dist/adapters/lmstudio/index.d.ts.map +1 -0
  8. package/dist/adapters/lmstudio/index.js +2 -0
  9. package/dist/adapters/lmstudio/index.js.map +1 -0
  10. package/dist/adapters/lsp/index.d.ts +4 -0
  11. package/dist/adapters/lsp/index.d.ts.map +1 -0
  12. package/dist/adapters/lsp/index.js +3 -0
  13. package/dist/adapters/lsp/index.js.map +1 -0
  14. package/dist/adapters/lsp/jsonrpc.d.ts +12 -0
  15. package/dist/adapters/lsp/jsonrpc.d.ts.map +1 -0
  16. package/dist/adapters/lsp/jsonrpc.js +30 -0
  17. package/dist/adapters/lsp/jsonrpc.js.map +1 -0
  18. package/dist/adapters/lsp/typescript-lsp.d.ts +25 -0
  19. package/dist/adapters/lsp/typescript-lsp.d.ts.map +1 -0
  20. package/dist/adapters/lsp/typescript-lsp.js +131 -0
  21. package/dist/adapters/lsp/typescript-lsp.js.map +1 -0
  22. package/dist/adapters/neo4j/client.d.ts +11 -0
  23. package/dist/adapters/neo4j/client.d.ts.map +1 -0
  24. package/dist/adapters/neo4j/client.js +14 -0
  25. package/dist/adapters/neo4j/client.js.map +1 -0
  26. package/dist/adapters/neo4j/cypher.d.ts +23 -0
  27. package/dist/adapters/neo4j/cypher.d.ts.map +1 -0
  28. package/dist/adapters/neo4j/cypher.js +138 -0
  29. package/dist/adapters/neo4j/cypher.js.map +1 -0
  30. package/dist/adapters/neo4j/graph-store.d.ts +33 -0
  31. package/dist/adapters/neo4j/graph-store.d.ts.map +1 -0
  32. package/dist/adapters/neo4j/graph-store.js +282 -0
  33. package/dist/adapters/neo4j/graph-store.js.map +1 -0
  34. package/dist/adapters/neo4j/index.d.ts +4 -0
  35. package/dist/adapters/neo4j/index.d.ts.map +1 -0
  36. package/dist/adapters/neo4j/index.js +3 -0
  37. package/dist/adapters/neo4j/index.js.map +1 -0
  38. package/dist/adapters/neo4j/mapper.d.ts +5 -0
  39. package/dist/adapters/neo4j/mapper.d.ts.map +1 -0
  40. package/dist/adapters/neo4j/mapper.js +49 -0
  41. package/dist/adapters/neo4j/mapper.js.map +1 -0
  42. package/dist/adapters/postgres/code-meta.d.ts +21 -0
  43. package/dist/adapters/postgres/code-meta.d.ts.map +1 -0
  44. package/dist/adapters/postgres/code-meta.js +150 -0
  45. package/dist/adapters/postgres/code-meta.js.map +1 -0
  46. package/dist/adapters/postgres/index.d.ts +1 -0
  47. package/dist/adapters/postgres/index.d.ts.map +1 -1
  48. package/dist/adapters/postgres/index.js +1 -0
  49. package/dist/adapters/postgres/index.js.map +1 -1
  50. package/dist/adapters/postgres/schema.d.ts.map +1 -1
  51. package/dist/adapters/postgres/schema.js +38 -0
  52. package/dist/adapters/postgres/schema.js.map +1 -1
  53. package/dist/adapters/postgres/storage.d.ts +3 -3
  54. package/dist/adapters/postgres/storage.d.ts.map +1 -1
  55. package/dist/adapters/postgres/storage.js +4 -4
  56. package/dist/adapters/postgres/storage.js.map +1 -1
  57. package/dist/adapters/qdrant/client.d.ts +8 -0
  58. package/dist/adapters/qdrant/client.d.ts.map +1 -0
  59. package/dist/adapters/qdrant/client.js +12 -0
  60. package/dist/adapters/qdrant/client.js.map +1 -0
  61. package/dist/adapters/qdrant/index.d.ts +4 -0
  62. package/dist/adapters/qdrant/index.d.ts.map +1 -0
  63. package/dist/adapters/qdrant/index.js +3 -0
  64. package/dist/adapters/qdrant/index.js.map +1 -0
  65. package/dist/adapters/qdrant/mapper.d.ts +16 -0
  66. package/dist/adapters/qdrant/mapper.d.ts.map +1 -0
  67. package/dist/adapters/qdrant/mapper.js +52 -0
  68. package/dist/adapters/qdrant/mapper.js.map +1 -0
  69. package/dist/adapters/qdrant/vector-store.d.ts +19 -0
  70. package/dist/adapters/qdrant/vector-store.d.ts.map +1 -0
  71. package/dist/adapters/qdrant/vector-store.js +114 -0
  72. package/dist/adapters/qdrant/vector-store.js.map +1 -0
  73. package/dist/adapters/tree-sitter/index.d.ts +4 -0
  74. package/dist/adapters/tree-sitter/index.d.ts.map +1 -0
  75. package/dist/adapters/tree-sitter/index.js +3 -0
  76. package/dist/adapters/tree-sitter/index.js.map +1 -0
  77. package/dist/adapters/tree-sitter/parser.d.ts +15 -0
  78. package/dist/adapters/tree-sitter/parser.d.ts.map +1 -0
  79. package/dist/adapters/tree-sitter/parser.js +186 -0
  80. package/dist/adapters/tree-sitter/parser.js.map +1 -0
  81. package/dist/adapters/tree-sitter/queries.d.ts +14 -0
  82. package/dist/adapters/tree-sitter/queries.d.ts.map +1 -0
  83. package/dist/adapters/tree-sitter/queries.js +14 -0
  84. package/dist/adapters/tree-sitter/queries.js.map +1 -0
  85. package/dist/adapters/voyage/embedding-provider.d.ts +25 -0
  86. package/dist/adapters/voyage/embedding-provider.d.ts.map +1 -0
  87. package/dist/adapters/voyage/embedding-provider.js +105 -0
  88. package/dist/adapters/voyage/embedding-provider.js.map +1 -0
  89. package/dist/adapters/voyage/index.d.ts +3 -0
  90. package/dist/adapters/voyage/index.d.ts.map +1 -0
  91. package/dist/adapters/voyage/index.js +2 -0
  92. package/dist/adapters/voyage/index.js.map +1 -0
  93. package/dist/cli/code.d.ts +3 -0
  94. package/dist/cli/code.d.ts.map +1 -0
  95. package/dist/cli/code.js +565 -0
  96. package/dist/cli/code.js.map +1 -0
  97. package/dist/cli/index.js +2 -0
  98. package/dist/cli/index.js.map +1 -1
  99. package/dist/cli/init/index.d.ts.map +1 -1
  100. package/dist/cli/init/index.js +5 -2
  101. package/dist/cli/init/index.js.map +1 -1
  102. package/dist/cli/sync.d.ts.map +1 -1
  103. package/dist/cli/sync.js +3 -0
  104. package/dist/cli/sync.js.map +1 -1
  105. package/dist/code-intel/chunker.d.ts +15 -0
  106. package/dist/code-intel/chunker.d.ts.map +1 -0
  107. package/dist/code-intel/chunker.js +39 -0
  108. package/dist/code-intel/chunker.js.map +1 -0
  109. package/dist/code-intel/file-discovery.d.ts +19 -0
  110. package/dist/code-intel/file-discovery.d.ts.map +1 -0
  111. package/dist/code-intel/file-discovery.js +80 -0
  112. package/dist/code-intel/file-discovery.js.map +1 -0
  113. package/dist/code-intel/hash.d.ts +2 -0
  114. package/dist/code-intel/hash.d.ts.map +1 -0
  115. package/dist/code-intel/hash.js +5 -0
  116. package/dist/code-intel/hash.js.map +1 -0
  117. package/dist/code-intel/index.d.ts +17 -0
  118. package/dist/code-intel/index.d.ts.map +1 -0
  119. package/dist/code-intel/index.js +11 -0
  120. package/dist/code-intel/index.js.map +1 -0
  121. package/dist/code-intel/indexer.d.ts +43 -0
  122. package/dist/code-intel/indexer.d.ts.map +1 -0
  123. package/dist/code-intel/indexer.js +234 -0
  124. package/dist/code-intel/indexer.js.map +1 -0
  125. package/dist/code-intel/job-lock.d.ts +7 -0
  126. package/dist/code-intel/job-lock.d.ts.map +1 -0
  127. package/dist/code-intel/job-lock.js +18 -0
  128. package/dist/code-intel/job-lock.js.map +1 -0
  129. package/dist/code-intel/layer-detector.d.ts +9 -0
  130. package/dist/code-intel/layer-detector.d.ts.map +1 -0
  131. package/dist/code-intel/layer-detector.js +31 -0
  132. package/dist/code-intel/layer-detector.js.map +1 -0
  133. package/dist/code-intel/lsp-resolver.d.ts +24 -0
  134. package/dist/code-intel/lsp-resolver.d.ts.map +1 -0
  135. package/dist/code-intel/lsp-resolver.js +125 -0
  136. package/dist/code-intel/lsp-resolver.js.map +1 -0
  137. package/dist/code-intel/ranker.d.ts +28 -0
  138. package/dist/code-intel/ranker.d.ts.map +1 -0
  139. package/dist/code-intel/ranker.js +69 -0
  140. package/dist/code-intel/ranker.js.map +1 -0
  141. package/dist/code-intel/resolver.d.ts +14 -0
  142. package/dist/code-intel/resolver.d.ts.map +1 -0
  143. package/dist/code-intel/resolver.js +59 -0
  144. package/dist/code-intel/resolver.js.map +1 -0
  145. package/dist/code-intel/tsconfig-paths.d.ts +11 -0
  146. package/dist/code-intel/tsconfig-paths.d.ts.map +1 -0
  147. package/dist/code-intel/tsconfig-paths.js +67 -0
  148. package/dist/code-intel/tsconfig-paths.js.map +1 -0
  149. package/dist/code-intel/watcher.d.ts +27 -0
  150. package/dist/code-intel/watcher.d.ts.map +1 -0
  151. package/dist/code-intel/watcher.js +93 -0
  152. package/dist/code-intel/watcher.js.map +1 -0
  153. package/dist/core/ports/code-embedding.d.ts +42 -0
  154. package/dist/core/ports/code-embedding.d.ts.map +1 -0
  155. package/dist/core/ports/code-embedding.js +2 -0
  156. package/dist/core/ports/code-embedding.js.map +1 -0
  157. package/dist/core/ports/code-graph.d.ts +56 -0
  158. package/dist/core/ports/code-graph.d.ts.map +1 -0
  159. package/dist/core/ports/code-graph.js +2 -0
  160. package/dist/core/ports/code-graph.js.map +1 -0
  161. package/dist/core/ports/code-meta.d.ts +33 -0
  162. package/dist/core/ports/code-meta.d.ts.map +1 -0
  163. package/dist/core/ports/code-meta.js +2 -0
  164. package/dist/core/ports/code-meta.js.map +1 -0
  165. package/dist/core/ports/code-parser.d.ts +13 -0
  166. package/dist/core/ports/code-parser.d.ts.map +1 -0
  167. package/dist/core/ports/code-parser.js +2 -0
  168. package/dist/core/ports/code-parser.js.map +1 -0
  169. package/dist/core/ports/code-vector-store.d.ts +37 -0
  170. package/dist/core/ports/code-vector-store.d.ts.map +1 -0
  171. package/dist/core/ports/code-vector-store.js +2 -0
  172. package/dist/core/ports/code-vector-store.js.map +1 -0
  173. package/dist/core/ports/index.d.ts +6 -0
  174. package/dist/core/ports/index.d.ts.map +1 -1
  175. package/dist/core/ports/lsp-client.d.ts +22 -0
  176. package/dist/core/ports/lsp-client.d.ts.map +1 -0
  177. package/dist/core/ports/lsp-client.js +2 -0
  178. package/dist/core/ports/lsp-client.js.map +1 -0
  179. package/dist/core/types/code.d.ts +153 -0
  180. package/dist/core/types/code.d.ts.map +1 -0
  181. package/dist/core/types/code.js +2 -0
  182. package/dist/core/types/code.js.map +1 -0
  183. package/dist/core/types/config.d.ts +1 -1
  184. package/dist/core/types/config.d.ts.map +1 -1
  185. package/dist/core/types/config.js +8 -1
  186. package/dist/core/types/config.js.map +1 -1
  187. package/dist/core/types/index.d.ts +1 -0
  188. package/dist/core/types/index.d.ts.map +1 -1
  189. package/dist/mcp/helpers.d.ts +21 -0
  190. package/dist/mcp/helpers.d.ts.map +1 -1
  191. package/dist/mcp/helpers.js +157 -3
  192. package/dist/mcp/helpers.js.map +1 -1
  193. package/dist/mcp/server.d.ts.map +1 -1
  194. package/dist/mcp/server.js +6 -0
  195. package/dist/mcp/server.js.map +1 -1
  196. package/dist/mcp/tools/code-graph.d.ts +3 -0
  197. package/dist/mcp/tools/code-graph.d.ts.map +1 -0
  198. package/dist/mcp/tools/code-graph.js +295 -0
  199. package/dist/mcp/tools/code-graph.js.map +1 -0
  200. package/dist/mcp/tools/code-hybrid.d.ts +3 -0
  201. package/dist/mcp/tools/code-hybrid.d.ts.map +1 -0
  202. package/dist/mcp/tools/code-hybrid.js +118 -0
  203. package/dist/mcp/tools/code-hybrid.js.map +1 -0
  204. package/dist/mcp/tools/code-search.d.ts +3 -0
  205. package/dist/mcp/tools/code-search.d.ts.map +1 -0
  206. package/dist/mcp/tools/code-search.js +95 -0
  207. package/dist/mcp/tools/code-search.js.map +1 -0
  208. package/dist/mcp/tools/workspace.js +1 -1
  209. package/dist/mcp/tools/workspace.js.map +1 -1
  210. package/dist/use-cases/code-search.d.ts +36 -0
  211. package/dist/use-cases/code-search.d.ts.map +1 -0
  212. package/dist/use-cases/code-search.js +74 -0
  213. package/dist/use-cases/code-search.js.map +1 -0
  214. package/dist/use-cases/index-code.d.ts +24 -0
  215. package/dist/use-cases/index-code.d.ts.map +1 -0
  216. package/dist/use-cases/index-code.js +43 -0
  217. package/dist/use-cases/index-code.js.map +1 -0
  218. package/dist/use-cases/register-code-project.d.ts +21 -0
  219. package/dist/use-cases/register-code-project.d.ts.map +1 -0
  220. package/dist/use-cases/register-code-project.js +19 -0
  221. package/dist/use-cases/register-code-project.js.map +1 -0
  222. package/dist/use-cases/unregister-code-project.d.ts +11 -0
  223. package/dist/use-cases/unregister-code-project.d.ts.map +1 -0
  224. package/dist/use-cases/unregister-code-project.js +19 -0
  225. package/dist/use-cases/unregister-code-project.js.map +1 -0
  226. package/dist/use-cases/watch-code.d.ts +33 -0
  227. package/dist/use-cases/watch-code.d.ts.map +1 -0
  228. package/dist/use-cases/watch-code.js +52 -0
  229. package/dist/use-cases/watch-code.js.map +1 -0
  230. package/package.json +10 -3
  231. package/templates/code-docker-compose.yml +51 -0
  232. package/templates/env.example +16 -0
@@ -0,0 +1,565 @@
1
+ import { resolve, join, dirname } from 'node:path';
2
+ import { fileURLToPath } from 'node:url';
3
+ import { homedir } from 'node:os';
4
+ import { mkdirSync, writeFileSync, existsSync, readFileSync, unlinkSync, openSync, copyFileSync } from 'node:fs';
5
+ import { spawn, spawnSync } from 'node:child_process';
6
+ import chalk from 'chalk';
7
+ import ora from 'ora';
8
+ import dotenv from 'dotenv';
9
+ import { requireWorkspace } from '../workspace/resolver.js';
10
+ import { PostgresStorage } from '../adapters/postgres/index.js';
11
+ import { Neo4jCodeGraphStore } from '../adapters/neo4j/index.js';
12
+ import { QdrantCodeVectorStore } from '../adapters/qdrant/index.js';
13
+ import { TreeSitterParser } from '../adapters/tree-sitter/index.js';
14
+ import { TypeScriptLspClient } from '../adapters/lsp/index.js';
15
+ import { VoyageCodeEmbeddingProvider } from '../adapters/voyage/index.js';
16
+ import { LmStudioCodeEmbeddingProvider } from '../adapters/lmstudio/index.js';
17
+ import { RegisterCodeProjectUseCase } from '../use-cases/register-code-project.js';
18
+ import { UnregisterCodeProjectUseCase } from '../use-cases/unregister-code-project.js';
19
+ import { IndexCodeUseCase } from '../use-cases/index-code.js';
20
+ import { WatchCodeUseCase } from '../use-cases/watch-code.js';
21
+ const HUB_DIR = join(homedir(), '.argustack', 'code');
22
+ const HUB_COMPOSE_FILE = join(HUB_DIR, 'docker-compose.yml');
23
+ const WATCHERS_DIR = join(HUB_DIR, 'watchers');
24
+ function findTemplateFile() {
25
+ const here = dirname(fileURLToPath(import.meta.url));
26
+ const candidates = [
27
+ join(here, '..', '..', 'templates', 'code-docker-compose.yml'),
28
+ join(here, '..', '..', '..', 'templates', 'code-docker-compose.yml'),
29
+ join(here, '..', 'templates', 'code-docker-compose.yml'),
30
+ ];
31
+ for (const path of candidates) {
32
+ if (existsSync(path)) {
33
+ return path;
34
+ }
35
+ }
36
+ return null;
37
+ }
38
+ function ensureHubCompose() {
39
+ if (!existsSync(HUB_DIR)) {
40
+ mkdirSync(HUB_DIR, { recursive: true });
41
+ }
42
+ if (existsSync(HUB_COMPOSE_FILE)) {
43
+ return { created: false, path: HUB_COMPOSE_FILE };
44
+ }
45
+ const template = findTemplateFile();
46
+ if (!template) {
47
+ throw new Error(`code-docker-compose.yml template not found. Expected near package root.`);
48
+ }
49
+ copyFileSync(template, HUB_COMPOSE_FILE);
50
+ return { created: true, path: HUB_COMPOSE_FILE };
51
+ }
52
+ function dockerComposeUp() {
53
+ const result = spawnSync('docker', ['compose', '-f', HUB_COMPOSE_FILE, 'up', '-d'], {
54
+ stdio: 'inherit',
55
+ });
56
+ if (result.status !== 0) {
57
+ throw new Error(`docker compose up exited with code ${String(result.status)}`);
58
+ }
59
+ }
60
+ function watcherPaths(projectId) {
61
+ return {
62
+ pidFile: join(WATCHERS_DIR, `${projectId}.pid`),
63
+ logFile: join(WATCHERS_DIR, `${projectId}.log`),
64
+ };
65
+ }
66
+ function readWatcherPid(projectId) {
67
+ const { pidFile } = watcherPaths(projectId);
68
+ if (!existsSync(pidFile)) {
69
+ return null;
70
+ }
71
+ const pid = parseInt(readFileSync(pidFile, 'utf8').trim(), 10);
72
+ if (!pid) {
73
+ return null;
74
+ }
75
+ try {
76
+ process.kill(pid, 0);
77
+ return pid;
78
+ }
79
+ catch {
80
+ try {
81
+ unlinkSync(pidFile);
82
+ }
83
+ catch { /* ignore */ }
84
+ return null;
85
+ }
86
+ }
87
+ function loadEnv() {
88
+ const workspaceRoot = requireWorkspace();
89
+ dotenv.config({ path: `${workspaceRoot}/.env`, quiet: true });
90
+ }
91
+ function readDbConfig() {
92
+ return {
93
+ host: process.env['DB_HOST'] ?? 'localhost',
94
+ port: parseInt(process.env['DB_PORT'] ?? '5434', 10),
95
+ database: process.env['DB_NAME'] ?? 'argustack',
96
+ user: process.env['DB_USER'] ?? 'argustack',
97
+ password: process.env['DB_PASSWORD'] ?? 'argustack_local',
98
+ };
99
+ }
100
+ function buildAdapters() {
101
+ const uri = process.env['NEO4J_URI'];
102
+ const qdrantUrl = process.env['QDRANT_URL'];
103
+ if (!uri || !qdrantUrl) {
104
+ throw new Error('Code intelligence requires NEO4J_URI and QDRANT_URL in workspace .env');
105
+ }
106
+ const provider = (process.env['CODE_EMBEDDING_PROVIDER'] ?? 'lmstudio').toLowerCase();
107
+ if (provider === 'voyage' && !process.env['VOYAGE_API_KEY']) {
108
+ throw new Error('CODE_EMBEDDING_PROVIDER=voyage requires VOYAGE_API_KEY in workspace .env');
109
+ }
110
+ const storage = new PostgresStorage(readDbConfig());
111
+ const graph = new Neo4jCodeGraphStore({
112
+ uri,
113
+ user: process.env['NEO4J_USER'] ?? 'neo4j',
114
+ password: process.env['NEO4J_PASSWORD'] ?? 'argustack_local',
115
+ });
116
+ const qdrantOpts = {
117
+ url: qdrantUrl,
118
+ };
119
+ if (process.env['QDRANT_API_KEY']) {
120
+ qdrantOpts.apiKey = process.env['QDRANT_API_KEY'];
121
+ }
122
+ const vec = new QdrantCodeVectorStore(qdrantOpts);
123
+ let embedding;
124
+ if (provider === 'voyage') {
125
+ embedding = new VoyageCodeEmbeddingProvider({
126
+ apiKey: process.env['VOYAGE_API_KEY'] ?? '',
127
+ });
128
+ }
129
+ else {
130
+ const lmsOpts = {};
131
+ if (process.env['LMSTUDIO_URL']) {
132
+ lmsOpts.url = process.env['LMSTUDIO_URL'];
133
+ }
134
+ if (process.env['EMBEDDING_MODEL']) {
135
+ lmsOpts.model = process.env['EMBEDDING_MODEL'];
136
+ }
137
+ if (process.env['EMBEDDING_DIMS']) {
138
+ lmsOpts.dimensions = parseInt(process.env['EMBEDDING_DIMS'], 10);
139
+ }
140
+ if (process.env['RERANK_MODEL']) {
141
+ lmsOpts.rerankModel = process.env['RERANK_MODEL'];
142
+ }
143
+ embedding = new LmStudioCodeEmbeddingProvider(lmsOpts);
144
+ }
145
+ return { storage, graph, vec, embedding };
146
+ }
147
+ async function closeAdapters(adapters) {
148
+ await adapters.graph.close();
149
+ await adapters.vec.close();
150
+ await adapters.storage.close();
151
+ }
152
+ function projectIdFromName(name) {
153
+ return name.toLowerCase().replace(/[^a-z0-9-]/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');
154
+ }
155
+ export function registerCodeCommands(program) {
156
+ const code = program
157
+ .command('code')
158
+ .description('Local code intelligence — graph + semantic search of your codebase');
159
+ code
160
+ .command('init')
161
+ .description('Generate ~/.argustack/code/docker-compose.yml, start containers, apply schemas')
162
+ .option('--skip-docker', 'Skip docker compose up (assumes containers already running)')
163
+ .action(async (options) => {
164
+ loadEnv();
165
+ const composeSpinner = ora('Preparing hub docker-compose.yml...').start();
166
+ try {
167
+ const { created, path } = ensureHubCompose();
168
+ composeSpinner.succeed(created
169
+ ? `Created ${path}`
170
+ : `Using existing ${path}`);
171
+ }
172
+ catch (err) {
173
+ composeSpinner.fail('Failed to prepare docker-compose.yml');
174
+ console.error(chalk.red(` ${err instanceof Error ? err.message : String(err)}`));
175
+ process.exitCode = 1;
176
+ return;
177
+ }
178
+ if (!options.skipDocker) {
179
+ const dockerSpinner = ora('Starting Neo4j + Qdrant containers...').start();
180
+ try {
181
+ dockerSpinner.stop();
182
+ dockerComposeUp();
183
+ console.log(chalk.green(' Containers up'));
184
+ }
185
+ catch (err) {
186
+ dockerSpinner.fail('docker compose up failed');
187
+ console.error(chalk.red(` ${err instanceof Error ? err.message : String(err)}`));
188
+ console.error(chalk.dim(' Tip: re-run with --skip-docker if containers are managed elsewhere.'));
189
+ process.exitCode = 1;
190
+ return;
191
+ }
192
+ }
193
+ const spinner = ora('Initializing code intelligence stores...').start();
194
+ const adapters = buildAdapters();
195
+ try {
196
+ await adapters.storage.initialize();
197
+ await adapters.graph.initialize();
198
+ await adapters.vec.initialize();
199
+ spinner.succeed('Code intelligence ready');
200
+ }
201
+ catch (err) {
202
+ spinner.fail('Init failed');
203
+ console.error(chalk.red(` ${err instanceof Error ? err.message : String(err)}`));
204
+ process.exitCode = 1;
205
+ }
206
+ finally {
207
+ await closeAdapters(adapters);
208
+ }
209
+ });
210
+ code
211
+ .command('register')
212
+ .description('Register a code project for indexing')
213
+ .requiredOption('--name <name>', 'Project name')
214
+ .option('--root <path>', 'Project root (default: CWD)')
215
+ .option('--language <lang>', 'Primary language (typescript|tsx|javascript|jsx)', 'typescript')
216
+ .action(async (options) => {
217
+ loadEnv();
218
+ const root = resolve(options.root ?? process.cwd());
219
+ const project = {
220
+ id: projectIdFromName(options.name),
221
+ name: options.name,
222
+ root,
223
+ language: options.language,
224
+ };
225
+ const adapters = buildAdapters();
226
+ try {
227
+ await adapters.storage.initialize();
228
+ await adapters.graph.initialize();
229
+ await adapters.vec.initialize();
230
+ const useCase = new RegisterCodeProjectUseCase(adapters.storage, adapters.graph, adapters.vec, adapters.embedding);
231
+ await useCase.execute(project);
232
+ console.log(chalk.green(`\n Registered '${project.name}' at ${project.root}`));
233
+ console.log(chalk.dim(` projectId: ${project.id}\n`));
234
+ }
235
+ finally {
236
+ await closeAdapters(adapters);
237
+ }
238
+ });
239
+ code
240
+ .command('unregister')
241
+ .description('Remove a code project and its indexed data')
242
+ .argument('<name>', 'Project name or id')
243
+ .action(async (name) => {
244
+ loadEnv();
245
+ const projectId = projectIdFromName(name);
246
+ const adapters = buildAdapters();
247
+ try {
248
+ const useCase = new UnregisterCodeProjectUseCase(adapters.storage, adapters.graph, adapters.vec);
249
+ await useCase.execute(projectId);
250
+ console.log(chalk.yellow(` Unregistered '${name}' (id: ${projectId})`));
251
+ }
252
+ finally {
253
+ await closeAdapters(adapters);
254
+ }
255
+ });
256
+ code
257
+ .command('index')
258
+ .description('Index code (incremental by hash; --full forces full reindex; --status shows last job)')
259
+ .option('--project <id>', 'Project id (default: auto-detect from CWD)')
260
+ .option('--full', 'Full reindex, ignore hashes')
261
+ .option('--status', 'Print latest index job + stats and exit (no indexing)')
262
+ .option('--lsp', 'Use typescript-language-server for cross-file call resolution (slower, more accurate)')
263
+ .action(async (options) => {
264
+ loadEnv();
265
+ const adapters = buildAdapters();
266
+ const spinner = ora('Resolving project...').start();
267
+ let lspClient = null;
268
+ try {
269
+ const project = options.project
270
+ ? await adapters.storage.getProjectById(options.project)
271
+ : await adapters.storage.getProjectByRoot(process.cwd());
272
+ if (!project) {
273
+ spinner.fail('Project not registered. Run `argustack code register --name <name>`.');
274
+ process.exitCode = 1;
275
+ return;
276
+ }
277
+ if (options.status) {
278
+ spinner.stop();
279
+ const job = await adapters.storage.getLatestJob(project.id);
280
+ console.log('');
281
+ console.log(` ${chalk.bold(project.name)} ${chalk.dim(`(${project.id})`)}`);
282
+ console.log(chalk.dim(` root: ${project.root}`));
283
+ if (!job) {
284
+ console.log(chalk.yellow(' No index jobs recorded yet. Run `argustack code index`.'));
285
+ console.log('');
286
+ return;
287
+ }
288
+ const statusColor = job.status === 'completed'
289
+ ? chalk.green
290
+ : job.status === 'failed' ? chalk.red : chalk.yellow;
291
+ console.log(` last job: ${statusColor(job.status)} (${job.type}) #${String(job.id)}`);
292
+ console.log(chalk.dim(` started: ${job.startedAt}`));
293
+ if (job.completedAt) {
294
+ console.log(chalk.dim(` completed: ${job.completedAt}`));
295
+ }
296
+ if (job.stats) {
297
+ console.log(chalk.dim(` stats: files=${String(job.stats.filesIndexed)} symbols=${String(job.stats.symbolsCreated)} chunks=${String(job.stats.chunksCreated)} edges=${String(job.stats.edgesCreated)} duration=${String(job.stats.durationMs)}ms`));
298
+ }
299
+ if (job.error) {
300
+ console.log(chalk.red(` error: ${job.error}`));
301
+ }
302
+ console.log('');
303
+ return;
304
+ }
305
+ spinner.text = `Indexing '${project.name}'...`;
306
+ const parser = new TreeSitterParser({ projectRoot: project.root });
307
+ if (options.lsp) {
308
+ const client = new TypeScriptLspClient();
309
+ try {
310
+ await client.start(project.root);
311
+ lspClient = client;
312
+ console.log(chalk.dim(' LSP enabled (typescript-language-server)'));
313
+ }
314
+ catch (err) {
315
+ console.warn(chalk.yellow(` LSP unavailable, falling back to heuristic resolver: ${err instanceof Error ? err.message : String(err)}`));
316
+ }
317
+ }
318
+ const useCase = new IndexCodeUseCase(parser, adapters.graph, adapters.vec, adapters.embedding, adapters.storage, lspClient);
319
+ const execInput = {
320
+ project,
321
+ onProgress: (event) => {
322
+ if (event.type === 'started') {
323
+ spinner.text = `Discovering files...`;
324
+ }
325
+ else if (event.type === 'fileIndexed') {
326
+ spinner.text = `Indexing ${event.relPath} (${String(event.index)}/${String(event.total)})`;
327
+ }
328
+ else if (event.type === 'fileSkipped') {
329
+ spinner.text = `Skipping ${event.relPath} (unchanged)`;
330
+ }
331
+ else {
332
+ spinner.text = `Finalizing...`;
333
+ }
334
+ },
335
+ };
336
+ if (options.full !== undefined) {
337
+ execInput.full = options.full;
338
+ }
339
+ const stats = await useCase.execute(execInput);
340
+ spinner.succeed(`Indexed ${String(stats.filesIndexed)} files / ${String(stats.symbolsCreated)} symbols / ${String(stats.chunksCreated)} chunks in ${String(stats.durationMs)}ms`);
341
+ console.log(chalk.dim(` edges: ${String(stats.edgesCreated)} | tokens: ~${String(stats.embeddingTokens)}`));
342
+ }
343
+ catch (err) {
344
+ spinner.fail('Index failed');
345
+ console.error(chalk.red(` ${err instanceof Error ? err.message : String(err)}`));
346
+ if (err instanceof Error && err.stack) {
347
+ console.error(chalk.dim(err.stack));
348
+ }
349
+ process.exitCode = 1;
350
+ }
351
+ finally {
352
+ if (lspClient) {
353
+ try {
354
+ await lspClient.stop();
355
+ }
356
+ catch { /* ignore lsp stop errors */ }
357
+ }
358
+ await closeAdapters(adapters);
359
+ }
360
+ });
361
+ code
362
+ .command('list')
363
+ .description('List registered code projects')
364
+ .action(async () => {
365
+ loadEnv();
366
+ const adapters = buildAdapters();
367
+ try {
368
+ const projects = await adapters.storage.listProjects();
369
+ if (projects.length === 0) {
370
+ console.log(chalk.dim('\n No code projects registered. Run `argustack code register --name <name>`.\n'));
371
+ return;
372
+ }
373
+ console.log('');
374
+ for (const p of projects) {
375
+ const lastIndexed = p.lastIndexedAt
376
+ ? new Date(p.lastIndexedAt).toLocaleString()
377
+ : chalk.dim('never');
378
+ console.log(` ${chalk.green('●')} ${chalk.bold(p.name)} ${chalk.dim(`(${p.id})`)}`);
379
+ console.log(chalk.dim(` ${p.root}`));
380
+ console.log(chalk.dim(` language: ${p.language} | last indexed: ${lastIndexed}`));
381
+ }
382
+ console.log('');
383
+ }
384
+ finally {
385
+ await closeAdapters(adapters);
386
+ }
387
+ });
388
+ code
389
+ .command('status')
390
+ .description('Show status of code intelligence stores and projects')
391
+ .action(async () => {
392
+ loadEnv();
393
+ const adapters = buildAdapters();
394
+ try {
395
+ const projects = await adapters.storage.listProjects();
396
+ console.log('');
397
+ console.log(chalk.bold(' Containers:'));
398
+ console.log(` Neo4j: ${process.env['NEO4J_URI'] ?? 'not set'}`);
399
+ console.log(` Qdrant: ${process.env['QDRANT_URL'] ?? 'not set'}`);
400
+ console.log(` Postgres: ${process.env['DB_HOST'] ?? 'localhost'}:${process.env['DB_PORT'] ?? '5434'}`);
401
+ console.log('');
402
+ console.log(chalk.bold(` Projects (${String(projects.length)}):`));
403
+ for (const p of projects) {
404
+ const job = await adapters.storage.getLatestJob(p.id);
405
+ const jobInfo = job
406
+ ? `${job.status} (${job.type})`
407
+ : chalk.dim('no jobs');
408
+ const watcherPid = readWatcherPid(p.id);
409
+ const watcherInfo = watcherPid
410
+ ? chalk.cyan(` ⟳ watching (pid ${String(watcherPid)})`)
411
+ : '';
412
+ console.log(` ${chalk.green('●')} ${p.name} — ${jobInfo}${watcherInfo}`);
413
+ }
414
+ console.log('');
415
+ }
416
+ finally {
417
+ await closeAdapters(adapters);
418
+ }
419
+ });
420
+ code
421
+ .command('stats')
422
+ .description('Show stats for a project')
423
+ .argument('<projectId>', 'Project id')
424
+ .action(async (projectId) => {
425
+ loadEnv();
426
+ const adapters = buildAdapters();
427
+ try {
428
+ const id = projectIdFromName(projectId);
429
+ const project = await adapters.storage.getProjectById(id);
430
+ if (!project) {
431
+ console.log(chalk.red(`\n Project '${id}' not found.\n`));
432
+ process.exitCode = 1;
433
+ return;
434
+ }
435
+ const vecStats = await adapters.vec.getCollectionStats(project.id);
436
+ const lastJob = await adapters.storage.getLatestJob(project.id);
437
+ console.log('');
438
+ console.log(` ${chalk.bold(project.name)} ${chalk.dim(`(${project.id})`)}`);
439
+ console.log(` root: ${project.root}`);
440
+ console.log(` vectors: ${String(vecStats.pointCount)} (dim ${String(vecStats.vectorDim)})`);
441
+ if (lastJob) {
442
+ console.log(` last job: ${lastJob.status} ${lastJob.type} @ ${lastJob.startedAt}`);
443
+ if (lastJob.stats) {
444
+ console.log(chalk.dim(` files=${String(lastJob.stats.filesIndexed)} symbols=${String(lastJob.stats.symbolsCreated)} chunks=${String(lastJob.stats.chunksCreated)} tokens=${String(lastJob.stats.embeddingTokens)}`));
445
+ }
446
+ }
447
+ console.log('');
448
+ }
449
+ finally {
450
+ await closeAdapters(adapters);
451
+ }
452
+ });
453
+ code
454
+ .command('watch')
455
+ .description('Watch project for real-time indexing (chokidar + debounce)')
456
+ .option('--project <id>', 'Project id (default: auto-detect from CWD)')
457
+ .option('--daemon', 'Run in background, write PID file')
458
+ .option('--stop', 'Stop running daemon for this project')
459
+ .action(async (options) => {
460
+ loadEnv();
461
+ mkdirSync(WATCHERS_DIR, { recursive: true });
462
+ const adapters = buildAdapters();
463
+ try {
464
+ const project = options.project
465
+ ? await adapters.storage.getProjectById(options.project)
466
+ : await adapters.storage.getProjectByRoot(process.cwd());
467
+ if (!project) {
468
+ console.log(chalk.red('\n Project not registered. Run `argustack code register --name <name>`.\n'));
469
+ process.exitCode = 1;
470
+ return;
471
+ }
472
+ if (options.stop) {
473
+ const pid = readWatcherPid(project.id);
474
+ if (!pid) {
475
+ console.log(chalk.yellow(` No running watcher for '${project.id}'.`));
476
+ return;
477
+ }
478
+ try {
479
+ process.kill(pid, 'SIGTERM');
480
+ const { pidFile } = watcherPaths(project.id);
481
+ try {
482
+ unlinkSync(pidFile);
483
+ }
484
+ catch { /* ignore */ }
485
+ console.log(chalk.green(` Stopped watcher (pid ${String(pid)}) for '${project.id}'.`));
486
+ }
487
+ catch (err) {
488
+ console.error(chalk.red(` Failed to stop: ${err instanceof Error ? err.message : String(err)}`));
489
+ }
490
+ return;
491
+ }
492
+ const existingPid = readWatcherPid(project.id);
493
+ if (existingPid) {
494
+ console.log(chalk.yellow(` Watcher already running (pid ${String(existingPid)}) for '${project.id}'.`));
495
+ console.log(chalk.dim(` Use --stop to stop it, or check ${watcherPaths(project.id).logFile}`));
496
+ return;
497
+ }
498
+ if (options.daemon) {
499
+ const { pidFile, logFile } = watcherPaths(project.id);
500
+ const logFd = openSync(logFile, 'a');
501
+ const child = spawn(process.execPath, [process.argv[1] ?? '', 'code', 'watch', '--project', project.id], {
502
+ detached: true,
503
+ stdio: ['ignore', logFd, logFd],
504
+ env: process.env,
505
+ });
506
+ child.unref();
507
+ if (child.pid) {
508
+ writeFileSync(pidFile, String(child.pid));
509
+ console.log(chalk.green(` Watcher started in background for '${project.id}'`));
510
+ console.log(chalk.dim(` pid: ${String(child.pid)}`));
511
+ console.log(chalk.dim(` log: ${logFile}`));
512
+ console.log(chalk.dim(` stop: argustack code watch --project ${project.id} --stop`));
513
+ }
514
+ else {
515
+ console.error(chalk.red(' Failed to spawn daemon.'));
516
+ process.exitCode = 1;
517
+ }
518
+ return;
519
+ }
520
+ const useCase = new WatchCodeUseCase(new TreeSitterParser({ projectRoot: project.root }), adapters.graph, adapters.vec, adapters.embedding, adapters.storage);
521
+ const controller = new AbortController();
522
+ const cleanup = (sig) => {
523
+ console.log(chalk.dim(`\n ${sig} received, stopping watcher...`));
524
+ controller.abort();
525
+ };
526
+ process.on('SIGINT', cleanup);
527
+ process.on('SIGTERM', cleanup);
528
+ const { pidFile } = watcherPaths(project.id);
529
+ writeFileSync(pidFile, String(process.pid));
530
+ console.log(chalk.green(` Watching '${project.name}' at ${project.root}`));
531
+ console.log(chalk.dim(' Save any TS file — change should propagate in ~2 sec. Ctrl+C to stop.\n'));
532
+ try {
533
+ await useCase.start({
534
+ project,
535
+ signal: controller.signal,
536
+ onEvent: (event) => {
537
+ const ts = new Date().toLocaleTimeString();
538
+ if (event.type === 'ready') {
539
+ console.log(chalk.dim(` [${ts}] ready`));
540
+ }
541
+ else if (event.type === 'fileIndexed') {
542
+ console.log(chalk.green(` [${ts}] indexed: ${event.path}`));
543
+ }
544
+ else if (event.type === 'fileRemoved') {
545
+ console.log(chalk.yellow(` [${ts}] removed: ${event.path}`));
546
+ }
547
+ else {
548
+ console.error(chalk.red(` [${ts}] error: ${event.error.message}`));
549
+ }
550
+ },
551
+ });
552
+ }
553
+ finally {
554
+ try {
555
+ unlinkSync(pidFile);
556
+ }
557
+ catch { /* ignore */ }
558
+ }
559
+ }
560
+ finally {
561
+ await closeAdapters(adapters);
562
+ }
563
+ });
564
+ }
565
+ //# sourceMappingURL=code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/cli/code.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -9,6 +9,7 @@ import { registerEmbedCommand } from './embed.js';
9
9
  import { registerPushCommand } from './push.js';
10
10
  import { registerWorkspacesCommand } from './workspaces.js';
11
11
  import { registerGraphCommand } from './graph.js';
12
+ import { registerCodeCommands } from './code.js';
12
13
  import { runInit } from './init/index.js';
13
14
  const require = createRequire(import.meta.url);
14
15
  const { version } = require('../../package.json');
@@ -64,6 +65,7 @@ registerEmbedCommand(program);
64
65
  registerPushCommand(program);
65
66
  registerWorkspacesCommand(program);
66
67
  registerGraphCommand(program);
68
+ registerCodeCommands(program);
67
69
  const mcpCmd = program
68
70
  .command('mcp')
69
71
  .description('MCP server for Claude Desktop / Claude Code');
@@ -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":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;AAEzE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,QAAQ,EAAE,uCAAuC,CAAC;KAC3D,MAAM,CAAC,wBAAwB,EAAE,6CAA6C,CAAC;KAC/E,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;KAC/C,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;KACjD,MAAM,CAAC,sBAAsB,EAAE,gBAAgB,CAAC;KAChD,MAAM,CAAC,wBAAwB,EAAE,yCAAyC,CAAC;KAC3E,MAAM,CAAC,oBAAoB,EAAE,uCAAuC,CAAC;KACrE,MAAM,CAAC,wBAAwB,EAAE,8BAA8B,CAAC;KAChE,MAAM,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;KAC3D,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;KACxD,MAAM,CAAC,6BAA6B,EAAE,+DAA+D,CAAC;KACtG,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;KACnD,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;KACnD,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;KACnD,MAAM,CAAC,iCAAiC,EAAE,oBAAoB,CAAC;KAC/D,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;KACnD,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;KAC3D,MAAM,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;KACvD,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC;KAC9C,MAAM,CAAC,kBAAkB,EAAE,6CAA6C,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,OAAgB,EAAE,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAoB,CAAC;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAEhC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAE7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAE/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAE7B,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAEnC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,MAAM,MAAM,GAAG,OAAO;KACnB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,6CAA6C,CAAC,CAAC;AAE9D,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAE5B,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAc,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,OAAO,KAAK,EACV,SAAS,EAOV,MAAM,YAAY,CAAC;AASpB,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CA8B3D;AAyYD,wBAAsB,OAAO,CAAC,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAc,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,OAAO,KAAK,EACV,SAAS,EAOV,MAAM,YAAY,CAAC;AASpB,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CA8B3D;AA4YD,wBAAsB,OAAO,CAAC,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlE"}