codesift-mcp 0.8.7 → 0.8.11

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 (107) hide show
  1. package/README.md +8 -0
  2. package/dist/cli/help.d.ts.map +1 -1
  3. package/dist/cli/help.js +6 -0
  4. package/dist/cli/help.js.map +1 -1
  5. package/dist/cli/hooks.d.ts.map +1 -1
  6. package/dist/cli/hooks.js +4 -3
  7. package/dist/cli/hooks.js.map +1 -1
  8. package/dist/cli/setup.d.ts +4 -0
  9. package/dist/cli/setup.d.ts.map +1 -1
  10. package/dist/cli/setup.js +97 -7
  11. package/dist/cli/setup.js.map +1 -1
  12. package/dist/config.d.ts +1 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +1 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/formatters-shortening.d.ts +7 -0
  17. package/dist/formatters-shortening.d.ts.map +1 -1
  18. package/dist/formatters-shortening.js +48 -0
  19. package/dist/formatters-shortening.js.map +1 -1
  20. package/dist/formatters.d.ts.map +1 -1
  21. package/dist/formatters.js +14 -2
  22. package/dist/formatters.js.map +1 -1
  23. package/dist/instructions.d.ts +1 -1
  24. package/dist/instructions.d.ts.map +1 -1
  25. package/dist/instructions.js +2 -2
  26. package/dist/register-tool-loaders.d.ts +1 -0
  27. package/dist/register-tool-loaders.d.ts.map +1 -1
  28. package/dist/register-tool-loaders.js +1 -0
  29. package/dist/register-tool-loaders.js.map +1 -1
  30. package/dist/register-tools.d.ts +2 -0
  31. package/dist/register-tools.d.ts.map +1 -1
  32. package/dist/register-tools.js +80 -18
  33. package/dist/register-tools.js.map +1 -1
  34. package/dist/search/model2vec-tokenize.d.ts +22 -0
  35. package/dist/search/model2vec-tokenize.d.ts.map +1 -0
  36. package/dist/search/model2vec-tokenize.js +140 -0
  37. package/dist/search/model2vec-tokenize.js.map +1 -0
  38. package/dist/search/semantic.d.ts.map +1 -1
  39. package/dist/search/semantic.js +7 -0
  40. package/dist/search/semantic.js.map +1 -1
  41. package/dist/search/static-embedding-provider.d.ts +24 -0
  42. package/dist/search/static-embedding-provider.d.ts.map +1 -0
  43. package/dist/search/static-embedding-provider.js +149 -0
  44. package/dist/search/static-embedding-provider.js.map +1 -0
  45. package/dist/server-helpers.d.ts.map +1 -1
  46. package/dist/server-helpers.js +7 -3
  47. package/dist/server-helpers.js.map +1 -1
  48. package/dist/storage/_shared.d.ts.map +1 -1
  49. package/dist/storage/_shared.js +4 -1
  50. package/dist/storage/_shared.js.map +1 -1
  51. package/dist/storage/hash-snapshot.d.ts +36 -0
  52. package/dist/storage/hash-snapshot.d.ts.map +1 -0
  53. package/dist/storage/hash-snapshot.js +101 -0
  54. package/dist/storage/hash-snapshot.js.map +1 -0
  55. package/dist/storage/registry.d.ts.map +1 -1
  56. package/dist/storage/registry.js +35 -1
  57. package/dist/storage/registry.js.map +1 -1
  58. package/dist/storage/usage-stats.d.ts +8 -0
  59. package/dist/storage/usage-stats.d.ts.map +1 -1
  60. package/dist/storage/usage-stats.js +74 -24
  61. package/dist/storage/usage-stats.js.map +1 -1
  62. package/dist/storage/usage-tracker.d.ts +29 -5
  63. package/dist/storage/usage-tracker.d.ts.map +1 -1
  64. package/dist/storage/usage-tracker.js +41 -5
  65. package/dist/storage/usage-tracker.js.map +1 -1
  66. package/dist/tools/conversation-tools.d.ts +8 -1
  67. package/dist/tools/conversation-tools.d.ts.map +1 -1
  68. package/dist/tools/conversation-tools.js +61 -15
  69. package/dist/tools/conversation-tools.js.map +1 -1
  70. package/dist/tools/index-tools.d.ts +33 -2
  71. package/dist/tools/index-tools.d.ts.map +1 -1
  72. package/dist/tools/index-tools.js +524 -40
  73. package/dist/tools/index-tools.js.map +1 -1
  74. package/dist/tools/pg-introspect-tools.d.ts +147 -0
  75. package/dist/tools/pg-introspect-tools.d.ts.map +1 -0
  76. package/dist/tools/pg-introspect-tools.js +396 -0
  77. package/dist/tools/pg-introspect-tools.js.map +1 -0
  78. package/dist/tools/plan-turn-tools.d.ts.map +1 -1
  79. package/dist/tools/plan-turn-tools.js +88 -1
  80. package/dist/tools/plan-turn-tools.js.map +1 -1
  81. package/dist/tools/search-tools.d.ts +12 -0
  82. package/dist/tools/search-tools.d.ts.map +1 -1
  83. package/dist/tools/search-tools.js +120 -6
  84. package/dist/tools/search-tools.js.map +1 -1
  85. package/dist/types.d.ts +27 -0
  86. package/dist/types.d.ts.map +1 -1
  87. package/dist/utils/hf-download-stream.d.ts +21 -0
  88. package/dist/utils/hf-download-stream.d.ts.map +1 -0
  89. package/dist/utils/hf-download-stream.js +101 -0
  90. package/dist/utils/hf-download-stream.js.map +1 -0
  91. package/dist/utils/hf-hub-download.d.ts +8 -0
  92. package/dist/utils/hf-hub-download.d.ts.map +1 -0
  93. package/dist/utils/hf-hub-download.js +149 -0
  94. package/dist/utils/hf-hub-download.js.map +1 -0
  95. package/dist/utils/safetensors-loader.d.ts +9 -0
  96. package/dist/utils/safetensors-loader.d.ts.map +1 -0
  97. package/dist/utils/safetensors-loader.js +95 -0
  98. package/dist/utils/safetensors-loader.js.map +1 -0
  99. package/dist/utils/safetensors-meta-guard.d.ts +7 -0
  100. package/dist/utils/safetensors-meta-guard.d.ts.map +1 -0
  101. package/dist/utils/safetensors-meta-guard.js +50 -0
  102. package/dist/utils/safetensors-meta-guard.js.map +1 -0
  103. package/package.json +3 -1
  104. package/rules/codesift.md +1 -1
  105. package/rules/codesift.mdc +1 -1
  106. package/rules/codex.md +1 -1
  107. package/rules/gemini.md +1 -1
@@ -0,0 +1,396 @@
1
+ /**
2
+ * PostgreSQL introspection tools.
3
+ * `pg` is an optional dependency — all imports are dynamic so the module
4
+ * loads cleanly even when `pg` is not installed.
5
+ */
6
+ export async function loadPgClient() {
7
+ try {
8
+ // Dynamic import keeps pg entirely optional at the type level.
9
+ // We use a specifier string stored in a variable so tsc does not attempt
10
+ // to resolve "pg" as a static module (avoids TS2307 when @types/pg is
11
+ // absent from node_modules at type-check time).
12
+ const pgSpecifier = "pg";
13
+ const mod = (await import(/* @vite-ignore */ pgSpecifier));
14
+ // Handle both ESM default-export and CJS named-export shapes.
15
+ const ClientCtor = mod.default?.Client ?? mod.Client;
16
+ if (!ClientCtor)
17
+ return { error: "pg not installed. Run: npm install pg" };
18
+ return { ClientCtor };
19
+ }
20
+ catch {
21
+ return { error: "pg not installed. Run: npm install pg" };
22
+ }
23
+ }
24
+ /** Whole-call wall-clock cap (ms). Overridable via opts.timeoutMs. */
25
+ const DEFAULT_TIMEOUT_MS = 10_000;
26
+ /** Per-connection + per-statement cap (ms). */
27
+ const STATEMENT_TIMEOUT_MS = 5000;
28
+ const COLUMNS_SQL = `
29
+ SELECT table_name, column_name, data_type, is_nullable
30
+ FROM information_schema.columns
31
+ WHERE table_schema = $1
32
+ ORDER BY table_name, ordinal_position`;
33
+ const PK_SQL = `
34
+ SELECT kcu.table_name, kcu.column_name
35
+ FROM information_schema.table_constraints tc
36
+ JOIN information_schema.key_column_usage kcu
37
+ ON tc.constraint_name = kcu.constraint_name
38
+ AND tc.table_schema = kcu.table_schema
39
+ WHERE tc.constraint_type = 'PRIMARY KEY'
40
+ AND tc.table_schema = $1
41
+ ORDER BY kcu.table_name, kcu.ordinal_position`;
42
+ const INDEX_SQL = `
43
+ SELECT tablename AS table_name, indexname AS index_name
44
+ FROM pg_catalog.pg_indexes
45
+ WHERE schemaname = $1
46
+ ORDER BY tablename, indexname`;
47
+ const FK_SQL = `
48
+ SELECT
49
+ kcu.table_name AS from_table,
50
+ kcu.column_name AS from_column,
51
+ ccu.table_name AS to_table,
52
+ ccu.column_name AS to_column
53
+ FROM information_schema.referential_constraints rc
54
+ JOIN information_schema.key_column_usage kcu
55
+ ON rc.constraint_name = kcu.constraint_name
56
+ AND rc.constraint_schema = kcu.table_schema
57
+ JOIN information_schema.key_column_usage ccu
58
+ ON rc.unique_constraint_name = ccu.constraint_name
59
+ AND rc.unique_constraint_schema = ccu.table_schema
60
+ AND kcu.ordinal_position = ccu.ordinal_position
61
+ WHERE rc.constraint_schema = $1
62
+ ORDER BY kcu.table_name, kcu.column_name`;
63
+ /**
64
+ * Replace every occurrence of the connection string — and, separately, its
65
+ * password component — with "[REDACTED]" inside arbitrary text.
66
+ *
67
+ * Why password-separately: a thrown driver error often echoes only the host
68
+ * portion or a re-assembled URL with the password but a different surrounding
69
+ * shape, so a single full-string replace can miss the secret. Parsing the URL
70
+ * and replacing the password token independently closes that gap.
71
+ *
72
+ * Never throws — a malformed connStr just falls back to the full-string replace.
73
+ */
74
+ export function redactConnStr(text, connStr) {
75
+ let out = text;
76
+ if (connStr) {
77
+ // 1. Replace the whole connection string verbatim.
78
+ out = out.split(connStr).join("[REDACTED]");
79
+ // 2. Replace the password component on its own (covers re-assembled forms).
80
+ try {
81
+ const url = new URL(connStr);
82
+ if (url.password) {
83
+ out = out.split(url.password).join("[REDACTED]");
84
+ }
85
+ // Also scrub a bare user:pass@ authority fragment if present in text.
86
+ if (url.username && url.password) {
87
+ out = out.split(`${url.username}:${url.password}`).join("[REDACTED]");
88
+ }
89
+ }
90
+ catch {
91
+ // Non-URL conn string (e.g. libpq keyword form). Best-effort: pull a
92
+ // password=... token out and scrub its value.
93
+ const m = /password=([^\s]+)/i.exec(connStr);
94
+ if (m?.[1])
95
+ out = out.split(m[1]).join("[REDACTED]");
96
+ }
97
+ }
98
+ return out;
99
+ }
100
+ /** Coerce any thrown value to a message string, then redact it. */
101
+ function redactError(err, connStr) {
102
+ const raw = err instanceof Error ? (err.message ?? String(err)) : String(err);
103
+ return redactConnStr(raw, connStr);
104
+ }
105
+ /**
106
+ * Introspect a live PostgreSQL database's schema over a fresh connection.
107
+ *
108
+ * Opens a new Client, sets a statement timeout, reads columns / primary keys /
109
+ * indexes / foreign keys from information_schema + pg_catalog, and maps them to
110
+ * {@link PgTableInfo}[] / {@link PgRelationship}[]. The whole call is bounded by
111
+ * a wall-clock race (default 10s). The connection is always closed in a finally
112
+ * block. No connection-string material ever appears in the returned object, a
113
+ * warning, an error message, or a log.
114
+ *
115
+ * @returns {@link PgIntrospectResult} on success, or {@link PgIntrospectError}
116
+ * (with a redacted message) on any failure. Never throws, never logs secrets.
117
+ */
118
+ export async function introspectPgSchema(connStr, opts = {}) {
119
+ // ── Input validation (CQ3) — before ANY Client construction ──────────────
120
+ if (typeof connStr !== "string" || connStr.trim() === "") {
121
+ return { error: "connStr is required and must be a non-empty string" };
122
+ }
123
+ const schema = opts.schema && opts.schema.trim() !== "" ? opts.schema : "public";
124
+ const timeoutMs = typeof opts.timeoutMs === "number" && opts.timeoutMs > 0 ? opts.timeoutMs : DEFAULT_TIMEOUT_MS;
125
+ // Resolve the Client constructor (injected seam or real pg).
126
+ let ClientCtor;
127
+ if (opts._clientCtor) {
128
+ ClientCtor = opts._clientCtor;
129
+ }
130
+ else {
131
+ const loaded = await loadPgClient();
132
+ if ("error" in loaded)
133
+ return { error: loaded.error };
134
+ ClientCtor = loaded.ClientCtor;
135
+ }
136
+ // Construct the client up-front so the timeout path can also close it.
137
+ // (runIntrospection's own finally cannot run while it is hung on a query —
138
+ // so the wall-clock race owns cleanup for the timeout case.)
139
+ const client = new ClientCtor({
140
+ connectionString: connStr,
141
+ connectionTimeoutMillis: STATEMENT_TIMEOUT_MS,
142
+ });
143
+ // Race the whole introspection against a wall-clock timeout.
144
+ let timer;
145
+ let timedOut = false;
146
+ const timeout = new Promise((_resolve, reject) => {
147
+ timer = setTimeout(() => {
148
+ timedOut = true;
149
+ // Static message (no secret), but redact defensively anyway.
150
+ reject(new Error("pg introspection timed out"));
151
+ }, timeoutMs);
152
+ });
153
+ // Hold a reference so we can silence any late rejection on the orphaned
154
+ // promise when timeout wins the race (otherwise Node fires unhandledRejection
155
+ // when the hung query later rejects — e.g. after client.end() tears the socket).
156
+ const introspectionPromise = runIntrospection(client, connStr, schema);
157
+ try {
158
+ const result = await Promise.race([introspectionPromise, timeout]);
159
+ return result;
160
+ }
161
+ catch (err) {
162
+ return { error: redactError(err, connStr) };
163
+ }
164
+ finally {
165
+ if (timer)
166
+ clearTimeout(timer);
167
+ // On the timeout path runIntrospection is still hung, so its finally never
168
+ // ran — close the client here. On the normal path runIntrospection already
169
+ // closed it; a second end() is harmless (and swallowed).
170
+ if (timedOut) {
171
+ // Swallow any future rejection from the orphaned introspection promise so
172
+ // Node never fires unhandledRejection after client.end() destroys the socket.
173
+ introspectionPromise.catch(() => undefined);
174
+ try {
175
+ await client.end();
176
+ }
177
+ catch {
178
+ /* best-effort cleanup; never leak the conn string */
179
+ }
180
+ }
181
+ }
182
+ }
183
+ /**
184
+ * The actual connect → query → map flow. Split out so the timeout race in
185
+ * {@link introspectPgSchema} stays readable. Always closes the client on the
186
+ * non-timeout paths (success / connect-failure / query-failure).
187
+ */
188
+ async function runIntrospection(client, connStr, schema) {
189
+ try {
190
+ await client.connect();
191
+ // FIRST query after connect — bound every subsequent statement.
192
+ await client.query(`SET statement_timeout = ${STATEMENT_TIMEOUT_MS}`);
193
+ const [columnsRes, pkRes, indexRes, fkRes] = await Promise.all([
194
+ client.query(COLUMNS_SQL, [schema]),
195
+ client.query(PK_SQL, [schema]),
196
+ client.query(INDEX_SQL, [schema]),
197
+ client.query(FK_SQL, [schema]),
198
+ ]);
199
+ const tables = buildTables(columnsRes.rows, pkRes.rows, indexRes.rows);
200
+ const relationships = buildRelationships(fkRes.rows);
201
+ return { tables, relationships, warnings: [] };
202
+ }
203
+ catch (err) {
204
+ // Redact before the error escapes runIntrospection so the caller's catch
205
+ // (and the timeout race) never sees raw connection material.
206
+ throw new Error(redactError(err, connStr));
207
+ }
208
+ finally {
209
+ // Always close — connect-success, query-failure, or connect-failure paths.
210
+ // end() itself may throw; swallow + redact so cleanup never leaks secrets.
211
+ try {
212
+ await client.end();
213
+ }
214
+ catch {
215
+ /* best-effort cleanup; nothing actionable, never leak the conn string */
216
+ }
217
+ }
218
+ }
219
+ /** Map raw column/pk/index rows into {@link PgTableInfo}[], deterministically ordered. */
220
+ function buildTables(columnRows, pkRows, indexRows) {
221
+ const pkByTable = new Map();
222
+ for (const r of pkRows) {
223
+ const t = String(r["table_name"]);
224
+ const c = String(r["column_name"]);
225
+ const list = pkByTable.get(t) ?? [];
226
+ list.push(c);
227
+ pkByTable.set(t, list);
228
+ }
229
+ const idxByTable = new Map();
230
+ for (const r of indexRows) {
231
+ const t = String(r["table_name"]);
232
+ const i = String(r["index_name"]);
233
+ const list = idxByTable.get(t) ?? [];
234
+ list.push(i);
235
+ idxByTable.set(t, list);
236
+ }
237
+ const tableOrder = [];
238
+ const colsByTable = new Map();
239
+ for (const r of columnRows) {
240
+ const t = String(r["table_name"]);
241
+ if (!colsByTable.has(t)) {
242
+ colsByTable.set(t, []);
243
+ tableOrder.push(t);
244
+ }
245
+ colsByTable.get(t).push({
246
+ name: String(r["column_name"]),
247
+ type: String(r["data_type"]),
248
+ nullable: String(r["is_nullable"]).toUpperCase() === "YES",
249
+ });
250
+ }
251
+ return tableOrder.map((name) => ({
252
+ name,
253
+ columns: colsByTable.get(name) ?? [],
254
+ primary_key: pkByTable.get(name) ?? [],
255
+ indexes: idxByTable.get(name) ?? [],
256
+ }));
257
+ }
258
+ /** Map raw FK rows into {@link PgRelationship}[]. */
259
+ function buildRelationships(fkRows) {
260
+ return fkRows.map((r) => ({
261
+ from_table: String(r["from_table"]),
262
+ from_column: String(r["from_column"]),
263
+ to_table: String(r["to_table"]),
264
+ to_column: String(r["to_column"]),
265
+ }));
266
+ }
267
+ /**
268
+ * Compare a live {@link PgIntrospectResult} against the migration-derived
269
+ * schema stored in the code index for `repo`.
270
+ *
271
+ * Instead of calling `getCodeIndex` directly (which would import index-tools
272
+ * and drag in the whole storage layer), callers inject the raw symbol array.
273
+ * This keeps pgDriftCheck pure and easily testable.
274
+ *
275
+ * The SQL schema is reconstructed from `kind === "table"` symbols and their
276
+ * `kind === "field"` children — the same shape that `analyzeSchemaDrift`
277
+ * consumes internally. We do NOT call `analyzeSchemaDrift` (different concern:
278
+ * that function compares ORM models vs SQL files, not live DB vs migrations).
279
+ *
280
+ * @param live Result from {@link introspectPgSchema}.
281
+ * @param symbols `index.symbols` from `getCodeIndex(repo)`.
282
+ * @returns {@link PgDriftResult} — never throws.
283
+ */
284
+ export function pgDriftCheck(live, symbols) {
285
+ // Build migration-schema view from SQL symbols ─────────────────────────────
286
+ // Tables: kind === "table"; columns: kind === "field" with parent === table.id
287
+ const migrationTables = new Map();
288
+ for (const sym of symbols) {
289
+ if (sym.kind !== "table")
290
+ continue;
291
+ migrationTables.set(sym.name.toLowerCase(), {
292
+ id: sym.id,
293
+ columns: new Map(),
294
+ });
295
+ }
296
+ if (migrationTables.size === 0) {
297
+ return {
298
+ missing_tables_live_only: [],
299
+ missing_tables_migrations_only: [],
300
+ column_mismatches: [],
301
+ note: "no migration-derived schema: no SQL table symbols found in index",
302
+ };
303
+ }
304
+ for (const sym of symbols) {
305
+ if (sym.kind !== "field" || !sym.parent)
306
+ continue;
307
+ // Find the parent table entry by matching the parent id against the id we stored
308
+ for (const [, tbl] of migrationTables) {
309
+ if (tbl.id === sym.parent) {
310
+ tbl.columns.set(sym.name.toLowerCase(), sym.signature ?? "unknown");
311
+ break;
312
+ }
313
+ }
314
+ }
315
+ // Build live-schema lookup ─────────────────────────────────────────────────
316
+ const liveTables = new Map();
317
+ for (const tbl of live.tables) {
318
+ const cols = new Map();
319
+ for (const col of tbl.columns) {
320
+ cols.set(col.name.toLowerCase(), col.type);
321
+ }
322
+ liveTables.set(tbl.name.toLowerCase(), cols);
323
+ }
324
+ // Compare ──────────────────────────────────────────────────────────────────
325
+ const missing_tables_live_only = [];
326
+ const missing_tables_migrations_only = [];
327
+ const column_mismatches = [];
328
+ // Tables in live but not in migrations
329
+ for (const [tableName] of liveTables) {
330
+ if (!migrationTables.has(tableName)) {
331
+ missing_tables_live_only.push(tableName);
332
+ }
333
+ }
334
+ // Tables in migrations but not in live + column-level diff for shared tables
335
+ for (const [tableName, migTbl] of migrationTables) {
336
+ const liveCols = liveTables.get(tableName);
337
+ if (!liveCols) {
338
+ missing_tables_migrations_only.push(tableName);
339
+ continue;
340
+ }
341
+ // Columns in migrations but missing in live
342
+ for (const [colName, migType] of migTbl.columns) {
343
+ if (!liveCols.has(colName)) {
344
+ column_mismatches.push({
345
+ table: tableName,
346
+ column: colName,
347
+ kind: "missing_live",
348
+ migrations_type: migType,
349
+ });
350
+ }
351
+ else {
352
+ // Both sides have the column — check type compatibility
353
+ const liveType = liveCols.get(colName);
354
+ if (normalizeSimpleType(liveType) !== normalizeSimpleType(migType)) {
355
+ column_mismatches.push({
356
+ table: tableName,
357
+ column: colName,
358
+ kind: "type_mismatch",
359
+ live_type: liveType,
360
+ migrations_type: migType,
361
+ });
362
+ }
363
+ }
364
+ }
365
+ // Columns in live but missing in migrations
366
+ for (const [colName, liveType] of liveCols) {
367
+ if (!migTbl.columns.has(colName)) {
368
+ column_mismatches.push({
369
+ table: tableName,
370
+ column: colName,
371
+ kind: "missing_migrations",
372
+ live_type: liveType,
373
+ });
374
+ }
375
+ }
376
+ }
377
+ return {
378
+ missing_tables_live_only,
379
+ missing_tables_migrations_only,
380
+ column_mismatches,
381
+ };
382
+ }
383
+ /**
384
+ * Minimal type normalisation: strips modifiers like `NOT NULL`, `DEFAULT …`,
385
+ * parenthesised sizes, and lowercases. Enough for gross-mismatch detection
386
+ * (e.g. `integer` vs `text`) without false-positives from vendor decoration.
387
+ */
388
+ function normalizeSimpleType(raw) {
389
+ return raw
390
+ .toLowerCase()
391
+ .replace(/\s*not\s+null/gi, "")
392
+ .replace(/\s*default\s+\S+/gi, "")
393
+ .replace(/\([^)]*\)/g, "")
394
+ .trim();
395
+ }
396
+ //# sourceMappingURL=pg-introspect-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-introspect-tools.js","sourceRoot":"","sources":["../../src/tools/pg-introspect-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan-turn-tools.d.ts","sourceRoot":"","sources":["../../src/tools/plan-turn-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-turn-tools.d.ts","sourceRoot":"","sources":["../../src/tools/plan-turn-tools.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@
19
19
  * 8. Populates metadata flags (stale_index, framework_mismatch, cold_start…)
20
20
  */
21
21
  import { execFileSync } from "node:child_process";
22
+ import { basename, relative } from "node:path";
22
23
  import { getCodeIndex } from "./index-tools.js";
23
24
  import { getToolDefinitions, CORE_TOOL_NAMES, detectAutoLoadToolsCached, } from "../register-tools.js";
24
25
  import { rankTools, getToolEmbeddings, } from "../search/tool-ranker.js";
@@ -385,7 +386,7 @@ export async function planTurn(repo, query, options) {
385
386
  // `workspaces` populated (gemini fix in plan rev 5) so flat-repo searches
386
387
  // for the word "package" don't suddenly rank workspace tools above
387
388
  // search/symbol tools.
388
- const frameworkTools = augmentFrameworkToolsForMonorepo(baseFrameworkTools, parsed.normalized, index);
389
+ const frameworkTools = augmentFrameworkToolsForMonorepo(filterWorkspaceFrameworkTools(baseFrameworkTools, parsed.normalized, index), parsed.normalized, index);
389
390
  const embeddingAvailable = embeddings !== null && embeddings.size > 0;
390
391
  // --- 5. Run ranker per intent, merge results ---------------------------
391
392
  const intents = parsed.intents.length > 0 ? parsed.intents : [parsed.normalized];
@@ -599,6 +600,92 @@ const MONOREPO_TOOL_NAMES = [
599
600
  "affected_workspaces",
600
601
  "workspace_boundaries",
601
602
  ];
603
+ const FRAMEWORK_TOOL_OWNERS = {
604
+ astro_actions_audit: "astro",
605
+ astro_analyze_islands: "astro",
606
+ astro_audit: "astro",
607
+ astro_config_analyze: "astro",
608
+ astro_content_collections: "astro",
609
+ astro_db_audit: "astro",
610
+ astro_env_validator: "astro",
611
+ astro_image_audit: "astro",
612
+ astro_middleware: "astro",
613
+ astro_migration_check: "astro",
614
+ astro_route_map: "astro",
615
+ astro_sessions: "astro",
616
+ astro_svg_components: "astro",
617
+ analyze_context_graph: "react",
618
+ analyze_hooks: "react",
619
+ analyze_renders: "react",
620
+ audit_compiler_readiness: "react",
621
+ react_quickstart: "react",
622
+ trace_component_tree: "react",
623
+ analyze_hono_app: "hono",
624
+ analyze_inline_handler: "hono",
625
+ audit_hono_security: "hono",
626
+ detect_hono_modules: "hono",
627
+ extract_api_contract: "hono",
628
+ extract_response_types: "hono",
629
+ find_dead_hono_routes: "hono",
630
+ trace_context_flow: "hono",
631
+ trace_middleware_chain: "hono",
632
+ trace_rpc_types: "hono",
633
+ visualize_hono_routes: "hono",
634
+ };
635
+ function queryMentionsFramework(query, framework) {
636
+ const keywords = KNOWN_FRAMEWORK_KEYWORDS[framework] ?? [framework];
637
+ return keywords.some((kw) => {
638
+ const escaped = kw.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
639
+ return new RegExp(`\\b${escaped}\\b`, "i").test(query);
640
+ });
641
+ }
642
+ function workspaceQueryTokens(workspace, index) {
643
+ const relRoot = relative(index.root, workspace.root).replace(/\\/g, "/");
644
+ const raw = [
645
+ workspace.id,
646
+ workspace.name ?? "",
647
+ relRoot,
648
+ basename(workspace.root),
649
+ ];
650
+ if (workspace.name?.includes("/"))
651
+ raw.push(workspace.name.split("/").pop() ?? "");
652
+ if (workspace.id.includes("/"))
653
+ raw.push(workspace.id.split("/").pop() ?? "");
654
+ return [...new Set(raw.map((v) => v.toLowerCase().trim()).filter((v) => v.length > 1))];
655
+ }
656
+ function queryMentionsWorkspace(query, workspace, index) {
657
+ return workspaceQueryTokens(workspace, index).some((token) => {
658
+ if (token.includes("/") || token.includes("@"))
659
+ return query.includes(token);
660
+ const escaped = token.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
661
+ return new RegExp(`\\b${escaped}\\b`, "i").test(query);
662
+ });
663
+ }
664
+ function filterWorkspaceFrameworkTools(base, query, index) {
665
+ const workspaces = index.workspaces ?? [];
666
+ if (workspaces.length === 0)
667
+ return base;
668
+ const frameworksFromMentionedWorkspaces = new Set();
669
+ const frameworksInWorkspaces = new Set();
670
+ for (const ws of workspaces) {
671
+ for (const fw of ws.detected_frameworks)
672
+ frameworksInWorkspaces.add(fw);
673
+ if (queryMentionsWorkspace(query, ws, index)) {
674
+ for (const fw of ws.detected_frameworks)
675
+ frameworksFromMentionedWorkspaces.add(fw);
676
+ }
677
+ }
678
+ return base.filter((tool) => {
679
+ const framework = FRAMEWORK_TOOL_OWNERS[tool];
680
+ if (!framework)
681
+ return true;
682
+ if (!frameworksInWorkspaces.has(framework))
683
+ return true;
684
+ if (queryMentionsFramework(query, framework))
685
+ return true;
686
+ return frameworksFromMentionedWorkspaces.has(framework);
687
+ });
688
+ }
602
689
  function augmentFrameworkToolsForMonorepo(base, query, index) {
603
690
  // Gate: only boost when the active index has workspaces populated.
604
691
  if (!index.workspaces || index.workspaces.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"plan-turn-tools.js","sourceRoot":"","sources":["../../src/tools/plan-turn-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-turn-tools.js","sourceRoot":"","sources":["../../src/tools/plan-turn-tools.ts"],"names":[],"mappings":"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"}
@@ -50,4 +50,16 @@ export declare function semanticSearch(repo: string, query: string, options?: {
50
50
  exclude_tests?: boolean;
51
51
  rerank?: boolean;
52
52
  }): Promise<string>;
53
+ export interface ZeroHitFallbackResult {
54
+ /** Near-miss symbol names from the index vocabulary ("did you mean"). */
55
+ suggestions?: string[];
56
+ /** Formatted semantic-search results — present only when an embeddings
57
+ * index already existed and the query embedded within the time cap. */
58
+ semantic_results?: string;
59
+ }
60
+ /**
61
+ * Build fallback guidance after a zero-hit text search. Both branches are
62
+ * best-effort: any failure degrades to an empty object, never an error.
63
+ */
64
+ export declare function zeroHitFallback(repo: string, query: string): Promise<ZeroHitFallbackResult>;
53
65
  //# sourceMappingURL=search-tools.d.ts.map