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,150 @@
1
+ const LOCK_KEY_SQL = `('x' || substr(md5($1::text), 1, 16))::bit(64)::bigint`;
2
+ export class PostgresCodeMetaStore {
3
+ pool;
4
+ constructor(pool) {
5
+ this.pool = pool;
6
+ }
7
+ async registerProject(project) {
8
+ await this.pool.query(`INSERT INTO code_projects (id, name, root_path, language, layer_config, excludes, created_at, last_indexed_at)
9
+ VALUES ($1, $2, $3, $4, $5::jsonb, $6, COALESCE($7, NOW()), $8)
10
+ ON CONFLICT (id) DO UPDATE SET
11
+ name = EXCLUDED.name,
12
+ root_path = EXCLUDED.root_path,
13
+ language = EXCLUDED.language,
14
+ layer_config = EXCLUDED.layer_config,
15
+ excludes = EXCLUDED.excludes`, [
16
+ project.id,
17
+ project.name,
18
+ project.root,
19
+ project.language,
20
+ project.layerConfig ? JSON.stringify(project.layerConfig) : null,
21
+ project.excludes ?? null,
22
+ project.createdAt ?? null,
23
+ project.lastIndexedAt ?? null,
24
+ ]);
25
+ }
26
+ async unregisterProject(projectId) {
27
+ await this.pool.query(`DELETE FROM code_index_jobs WHERE project_id = $1`, [projectId]);
28
+ await this.pool.query(`DELETE FROM code_projects WHERE id = $1`, [projectId]);
29
+ }
30
+ async listProjects() {
31
+ const { rows } = await this.pool.query(`SELECT id, name, root_path, language, layer_config, excludes, created_at, last_indexed_at
32
+ FROM code_projects ORDER BY name`);
33
+ return rows.map(rowToCodeProject);
34
+ }
35
+ async getProjectByRoot(root) {
36
+ const { rows } = await this.pool.query(`SELECT id, name, root_path, language, layer_config, excludes, created_at, last_indexed_at
37
+ FROM code_projects WHERE root_path = $1 LIMIT 1`, [root]);
38
+ return rows[0] ? rowToCodeProject(rows[0]) : null;
39
+ }
40
+ async getProjectById(projectId) {
41
+ const { rows } = await this.pool.query(`SELECT id, name, root_path, language, layer_config, excludes, created_at, last_indexed_at
42
+ FROM code_projects WHERE id = $1 LIMIT 1`, [projectId]);
43
+ return rows[0] ? rowToCodeProject(rows[0]) : null;
44
+ }
45
+ async upsertFileHashes(projectId, hashes) {
46
+ if (hashes.length === 0) {
47
+ return;
48
+ }
49
+ const client = await this.pool.connect();
50
+ try {
51
+ await client.query('BEGIN');
52
+ for (const h of hashes) {
53
+ await client.query(`INSERT INTO code_files (project_id, path, hash, git_sha, indexed_at)
54
+ VALUES ($1, $2, $3, $4, NOW())
55
+ ON CONFLICT (project_id, path) DO UPDATE SET
56
+ hash = EXCLUDED.hash,
57
+ git_sha = EXCLUDED.git_sha,
58
+ indexed_at = NOW()`, [projectId, h.path, h.hash, h.gitSha ?? null]);
59
+ }
60
+ await client.query(`UPDATE code_projects SET last_indexed_at = NOW() WHERE id = $1`, [projectId]);
61
+ await client.query('COMMIT');
62
+ }
63
+ catch (error) {
64
+ await client.query('ROLLBACK');
65
+ throw error;
66
+ }
67
+ finally {
68
+ client.release();
69
+ }
70
+ }
71
+ async getFileHashes(projectId) {
72
+ const { rows } = await this.pool.query(`SELECT path, hash FROM code_files WHERE project_id = $1`, [projectId]);
73
+ const map = new Map();
74
+ for (const row of rows) {
75
+ map.set(row.path, row.hash);
76
+ }
77
+ return map;
78
+ }
79
+ async startIndexJob(projectId, type) {
80
+ const { rows } = await this.pool.query(`INSERT INTO code_index_jobs (project_id, type, status, started_at)
81
+ VALUES ($1, $2, 'running', NOW()) RETURNING id`, [projectId, type]);
82
+ return Number(rows[0]?.id ?? 0);
83
+ }
84
+ async completeIndexJob(jobId, stats) {
85
+ await this.pool.query(`UPDATE code_index_jobs
86
+ SET status = 'completed', completed_at = NOW(), stats = $2::jsonb, error = NULL
87
+ WHERE id = $1`, [jobId, JSON.stringify(stats)]);
88
+ }
89
+ async failIndexJob(jobId, error) {
90
+ await this.pool.query(`UPDATE code_index_jobs
91
+ SET status = 'failed', completed_at = NOW(), error = $2
92
+ WHERE id = $1`, [jobId, error]);
93
+ }
94
+ async getLatestJob(projectId) {
95
+ const { rows } = await this.pool.query(`SELECT id, project_id, type, status, started_at, completed_at, stats, error
96
+ FROM code_index_jobs
97
+ WHERE project_id = $1
98
+ ORDER BY started_at DESC
99
+ LIMIT 1`, [projectId]);
100
+ return rows[0] ? rowToIndexJob(rows[0]) : null;
101
+ }
102
+ async tryAcquireLock(projectId) {
103
+ const { rows } = await this.pool.query(`SELECT pg_try_advisory_lock(${LOCK_KEY_SQL}) AS locked`, [projectId]);
104
+ return rows[0]?.locked === true;
105
+ }
106
+ async releaseLock(projectId) {
107
+ await this.pool.query(`SELECT pg_advisory_unlock(${LOCK_KEY_SQL})`, [projectId]);
108
+ }
109
+ }
110
+ function rowToCodeProject(row) {
111
+ const project = {
112
+ id: row.id,
113
+ name: row.name,
114
+ root: row.root_path,
115
+ language: row.language,
116
+ };
117
+ if (row.layer_config) {
118
+ project.layerConfig = row.layer_config;
119
+ }
120
+ if (row.excludes) {
121
+ project.excludes = row.excludes;
122
+ }
123
+ if (row.created_at) {
124
+ project.createdAt = row.created_at.toISOString();
125
+ }
126
+ if (row.last_indexed_at) {
127
+ project.lastIndexedAt = row.last_indexed_at.toISOString();
128
+ }
129
+ return project;
130
+ }
131
+ function rowToIndexJob(row) {
132
+ const job = {
133
+ id: Number(row.id),
134
+ projectId: row.project_id,
135
+ type: row.type,
136
+ status: row.status,
137
+ startedAt: row.started_at.toISOString(),
138
+ };
139
+ if (row.completed_at) {
140
+ job.completedAt = row.completed_at.toISOString();
141
+ }
142
+ if (row.stats) {
143
+ job.stats = row.stats;
144
+ }
145
+ if (row.error) {
146
+ job.error = row.error;
147
+ }
148
+ return job;
149
+ }
150
+ //# sourceMappingURL=code-meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-meta.js","sourceRoot":"","sources":["../../../src/adapters/postgres/code-meta.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export { PostgresStorage } from './storage.js';
2
+ export { PostgresCodeMetaStore } from './code-meta.js';
2
3
  export { createPool, type DbConfig } from './connection.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { PostgresStorage } from './storage.js';
2
+ export { PostgresCodeMetaStore } from './code-meta.js';
2
3
  export { createPool } from './connection.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/postgres/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAiB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/postgres/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAiB,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAyX/D"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAma/D"}
@@ -304,6 +304,41 @@ export async function ensureSchema(pool) {
304
304
  is_primary BOOLEAN DEFAULT FALSE,
305
305
  UNIQUE(source_name, table_name, index_name)
306
306
  )
307
+ `);
308
+ await pool.query(`
309
+ CREATE TABLE IF NOT EXISTS code_projects (
310
+ id TEXT PRIMARY KEY,
311
+ name TEXT NOT NULL,
312
+ root_path TEXT NOT NULL,
313
+ language TEXT NOT NULL,
314
+ layer_config JSONB,
315
+ excludes TEXT[],
316
+ created_at TIMESTAMPTZ DEFAULT NOW(),
317
+ last_indexed_at TIMESTAMPTZ
318
+ )
319
+ `);
320
+ await pool.query(`CREATE UNIQUE INDEX IF NOT EXISTS idx_code_projects_root ON code_projects(root_path)`);
321
+ await pool.query(`
322
+ CREATE TABLE IF NOT EXISTS code_files (
323
+ project_id TEXT NOT NULL REFERENCES code_projects(id) ON DELETE CASCADE,
324
+ path TEXT NOT NULL,
325
+ hash TEXT NOT NULL,
326
+ git_sha TEXT,
327
+ indexed_at TIMESTAMPTZ DEFAULT NOW(),
328
+ PRIMARY KEY (project_id, path)
329
+ )
330
+ `);
331
+ await pool.query(`
332
+ CREATE TABLE IF NOT EXISTS code_index_jobs (
333
+ id BIGSERIAL PRIMARY KEY,
334
+ project_id TEXT NOT NULL,
335
+ type TEXT NOT NULL,
336
+ status TEXT NOT NULL,
337
+ started_at TIMESTAMPTZ DEFAULT NOW(),
338
+ completed_at TIMESTAMPTZ,
339
+ stats JSONB,
340
+ error TEXT
341
+ )
307
342
  `);
308
343
  const indexes = [
309
344
  'CREATE INDEX IF NOT EXISTS idx_issues_project ON issues(project_key)',
@@ -348,6 +383,9 @@ export async function ensureSchema(pool) {
348
383
  'CREATE INDEX IF NOT EXISTS idx_db_columns_table ON db_columns(source_name, table_name)',
349
384
  'CREATE INDEX IF NOT EXISTS idx_db_fk_source ON db_foreign_keys(source_name)',
350
385
  'CREATE INDEX IF NOT EXISTS idx_db_indexes_source ON db_indexes(source_name)',
386
+ 'CREATE INDEX IF NOT EXISTS idx_code_files_project ON code_files(project_id)',
387
+ 'CREATE INDEX IF NOT EXISTS idx_code_jobs_project_status ON code_index_jobs(project_id, status)',
388
+ 'CREATE INDEX IF NOT EXISTS idx_code_jobs_started ON code_index_jobs(started_at DESC)',
351
389
  ];
352
390
  for (const idx of indexes) {
353
391
  await pool.query(idx);
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/adapters/postgres/schema.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAa;IAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAE1D,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqChB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;IAClG,MAAM,IAAI,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;IACvG,MAAM,IAAI,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACtF,MAAM,IAAI,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACvF,MAAM,IAAI,CAAC,KAAK,CAAC,mHAAmH,CAAC,CAAC;IAEtI,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;GAShB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;GAYhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;GAQhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;IAChG,MAAM,IAAI,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;IAChG,MAAM,IAAI,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;IACvG,MAAM,IAAI,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;IACvG,MAAM,IAAI,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;IAChG,MAAM,IAAI,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACpG,MAAM,IAAI,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAC;IAEtG,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;GAQhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;GAYhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;GAShB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;GAMhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;GAWhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;GAahB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;GAOhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;GAiBhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC1F,MAAM,IAAI,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC3F,MAAM,IAAI,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACnF,MAAM,IAAI,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACjF,MAAM,IAAI,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACjF,MAAM,IAAI,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACvF,MAAM,IAAI,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACxF,MAAM,IAAI,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC9F,MAAM,IAAI,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAEzF,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;GAWhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;GAchB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;GAWhB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG;QACd,sEAAsE;QACtE,gEAAgE;QAChE,kEAAkE;QAClE,oEAAoE;QACpE,kEAAkE;QAClE,kEAAkE;QAClE,gEAAgE;QAChE,iFAAiF;QACjF,iFAAiF;QACjF,yEAAyE;QACzE,0EAA0E;QAC1E,8EAA8E;QAC9E,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,kEAAkE;QAClE,sEAAsE;QACtE,mEAAmE;QACnE,mFAAmF;QACnF,+EAA+E;QAC/E,6EAA6E;QAC7E,kFAAkF;QAClF,0EAA0E;QAC1E,kEAAkE;QAClE,oEAAoE;QACpE,uEAAuE;QACvE,yEAAyE;QACzE,iFAAiF;QACjF,qFAAqF;QACrF,uFAAuF;QACvF,yFAAyF;QACzF,mFAAmF;QACnF,qEAAqE;QACrE,0EAA0E;QAC1E,0EAA0E;QAC1E,mEAAmE;QACnE,qFAAqF;QACrF,2EAA2E;QAC3E,6EAA6E;QAC7E,wFAAwF;QACxF,6EAA6E;QAC7E,6EAA6E;KAC9E,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/adapters/postgres/schema.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,14 @@ import type { CommitBatch } from '../../core/types/git.js';
4
4
  import type { GitHubBatch, Release } from '../../core/types/github.js';
5
5
  import type { DbSchemaBatch } from '../../core/types/database.js';
6
6
  import { type DbConfig } from './connection.js';
7
+ import { PostgresCodeMetaStore } from './code-meta.js';
7
8
  /**
8
- * PostgreSQL adapter — implements IStorage.
9
+ * PostgreSQL adapter — implements IStorage + ICodeMetaStore (via base class).
9
10
  *
10
11
  * Uses UPSERT (ON CONFLICT) so re-pulling is safe and idempotent.
11
12
  */
12
- export declare class PostgresStorage implements IStorage {
13
+ export declare class PostgresStorage extends PostgresCodeMetaStore implements IStorage {
13
14
  readonly name = "PostgreSQL";
14
- private readonly pool;
15
15
  constructor(config: DbConfig);
16
16
  initialize(): Promise<void>;
17
17
  saveBatch(batch: IssueBatch): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/storage.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  import { createPool } from './connection.js';
2
2
  import { ensureSchema } from './schema.js';
3
3
  import { adfToMarkdown } from '../../workspace/adf.js';
4
+ import { PostgresCodeMetaStore } from './code-meta.js';
4
5
  /**
5
- * PostgreSQL adapter — implements IStorage.
6
+ * PostgreSQL adapter — implements IStorage + ICodeMetaStore (via base class).
6
7
  *
7
8
  * Uses UPSERT (ON CONFLICT) so re-pulling is safe and idempotent.
8
9
  */
9
- export class PostgresStorage {
10
+ export class PostgresStorage extends PostgresCodeMetaStore {
10
11
  name = 'PostgreSQL';
11
- pool;
12
12
  constructor(config) {
13
- this.pool = createPool(config);
13
+ super(createPool(config));
14
14
  }
15
15
  async initialize() {
16
16
  await ensureSchema(this.pool);
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/adapters/postgres/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/adapters/postgres/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { QdrantClient } from '@qdrant/js-client-rest';
2
+ export interface QdrantAdapterConfig {
3
+ url: string;
4
+ apiKey?: string;
5
+ }
6
+ export declare function createQdrantClient(config: QdrantAdapterConfig): QdrantClient;
7
+ export declare function collectionName(projectId: string): string;
8
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/adapters/qdrant/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,YAAY,CAK5E;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGxD"}
@@ -0,0 +1,12 @@
1
+ import { QdrantClient } from '@qdrant/js-client-rest';
2
+ export function createQdrantClient(config) {
3
+ if (config.apiKey) {
4
+ return new QdrantClient({ url: config.url, apiKey: config.apiKey });
5
+ }
6
+ return new QdrantClient({ url: config.url });
7
+ }
8
+ export function collectionName(projectId) {
9
+ const safe = projectId.replace(/[^a-zA-Z0-9_-]/g, '_');
10
+ return `code_${safe}`;
11
+ }
12
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/adapters/qdrant/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAOtD,MAAM,UAAU,kBAAkB,CAAC,MAA2B;IAC5D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACvD,OAAO,QAAQ,IAAI,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { QdrantCodeVectorStore } from './vector-store.js';
2
+ export { createQdrantClient, collectionName } from './client.js';
3
+ export type { QdrantAdapterConfig } from './client.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/qdrant/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { QdrantCodeVectorStore } from './vector-store.js';
2
+ export { createQdrantClient, collectionName } from './client.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/qdrant/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { CodeChunk, SemanticHit } from '../../core/types/code.js';
2
+ export interface QdrantPoint {
3
+ id: string;
4
+ vector: number[];
5
+ payload: Record<string, unknown>;
6
+ }
7
+ export declare function chunkToPoint(chunk: CodeChunk, vector: number[]): QdrantPoint;
8
+ interface QdrantSearchPoint {
9
+ id: string | number;
10
+ score: number;
11
+ payload?: Record<string, unknown> | null;
12
+ }
13
+ export declare function pointToHit(point: QdrantSearchPoint): SemanticHit;
14
+ declare function hashId(input: string): string;
15
+ export { hashId };
16
+ //# sourceMappingURL=mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../src/adapters/qdrant/mapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAsB,MAAM,0BAA0B,CAAC;AAE3F,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAgB5E;AAED,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1C;AAOD,wBAAgB,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW,CAwBhE;AAED,iBAAS,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { createHash } from 'node:crypto';
2
+ export function chunkToPoint(chunk, vector) {
3
+ return {
4
+ id: hashId(`${chunk.projectId}:${chunk.symbolId}`),
5
+ vector,
6
+ payload: {
7
+ symbolId: chunk.symbolId,
8
+ projectId: chunk.projectId,
9
+ filePath: chunk.filePath,
10
+ layer: chunk.layer,
11
+ kind: chunk.kind,
12
+ name: chunk.name,
13
+ startLine: chunk.startLine,
14
+ endLine: chunk.endLine,
15
+ content: chunk.content,
16
+ },
17
+ };
18
+ }
19
+ function readString(payload, key, fallback = '') {
20
+ const value = payload[key];
21
+ return typeof value === 'string' ? value : fallback;
22
+ }
23
+ export function pointToHit(point) {
24
+ const payload = point.payload ?? {};
25
+ const symbolIdValue = payload['symbolId'];
26
+ const symbolId = typeof symbolIdValue === 'string'
27
+ ? symbolIdValue
28
+ : typeof point.id === 'string' ? point.id : String(point.id);
29
+ const hitPayload = {
30
+ projectId: readString(payload, 'projectId'),
31
+ filePath: readString(payload, 'filePath'),
32
+ layer: payload['layer'] ?? null,
33
+ kind: readString(payload, 'kind', 'function'),
34
+ name: readString(payload, 'name'),
35
+ startLine: Number(payload['startLine'] ?? 0),
36
+ endLine: Number(payload['endLine'] ?? 0),
37
+ };
38
+ const content = readString(payload, 'content');
39
+ if (content) {
40
+ hitPayload.content = content;
41
+ }
42
+ return {
43
+ symbolId,
44
+ score: point.score,
45
+ payload: hitPayload,
46
+ };
47
+ }
48
+ function hashId(input) {
49
+ return createHash('sha256').update(input).digest('hex').slice(0, 32);
50
+ }
51
+ export { hashId };
52
+ //# sourceMappingURL=mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/adapters/qdrant/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASzC,MAAM,UAAU,YAAY,CAAC,KAAgB,EAAE,MAAgB;IAC7D,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM;QACN,OAAO,EAAE;YACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB;KACF,CAAC;AACJ,CAAC;AAQD,SAAS,UAAU,CAAC,OAAgC,EAAE,GAAW,EAAE,QAAQ,GAAG,EAAE;IAC9E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAwB;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IACpC,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,OAAO,aAAa,KAAK,QAAQ;QAChD,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAuB;QACrC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC;QAC3C,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;QACzC,KAAK,EAAG,OAAO,CAAC,OAAO,CAAiC,IAAI,IAAI;QAChE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAA+B;QAC3E,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;QACjC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KACzC,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,OAAO,EAAE,CAAC;QACZ,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,CAAC;IACD,OAAO;QACL,QAAQ;QACR,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,UAAU;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ICodeVectorStore, SearchSemanticOptions, CollectionStats } from '../../core/ports/code-vector-store.js';
2
+ import type { CodeChunk, SemanticHit } from '../../core/types/code.js';
3
+ import { type QdrantAdapterConfig } from './client.js';
4
+ export declare class QdrantCodeVectorStore implements ICodeVectorStore {
5
+ readonly name = "QdrantCodeVectorStore";
6
+ private readonly client;
7
+ constructor(config: QdrantAdapterConfig);
8
+ initialize(): Promise<void>;
9
+ ensureCollection(projectId: string, dim: number): Promise<void>;
10
+ upsertChunks(projectId: string, chunks: CodeChunk[], vectors: number[][]): Promise<void>;
11
+ deleteByFile(projectId: string, filePath: string): Promise<void>;
12
+ deleteBySymbol(projectId: string, symbolId: string): Promise<void>;
13
+ searchSemantic(projectId: string, vector: number[], opts: SearchSemanticOptions): Promise<SemanticHit[]>;
14
+ findSimilar(projectId: string, symbolId: string, topK: number): Promise<SemanticHit[]>;
15
+ getCollectionStats(projectId: string): Promise<CollectionStats>;
16
+ deleteCollection(projectId: string): Promise<void>;
17
+ close(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=vector-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../../src/adapters/qdrant/vector-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAKrB,qBAAa,qBAAsB,YAAW,gBAAgB;IAC5D,QAAQ,CAAC,IAAI,2BAA2B;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,EAAE,mBAAmB;IAIjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB/D,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,MAAM,EAAE,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC;IAeV,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlE,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,WAAW,EAAE,CAAC;IAmBnB,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,EAAE,CAAC;IAWnB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAc/D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAC7B"}