kiri-mcp-server 0.10.0 → 0.11.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 (86) hide show
  1. package/README.md +10 -1
  2. package/config/scoring-profiles.yml +82 -35
  3. package/dist/config/scoring-profiles.yml +82 -35
  4. package/dist/package.json +9 -1
  5. package/dist/src/indexer/cli.d.ts.map +1 -1
  6. package/dist/src/indexer/cli.js +712 -98
  7. package/dist/src/indexer/cli.js.map +1 -1
  8. package/dist/src/indexer/git.d.ts.map +1 -1
  9. package/dist/src/indexer/git.js +41 -3
  10. package/dist/src/indexer/git.js.map +1 -1
  11. package/dist/src/indexer/migrations/repo-merger.d.ts +33 -0
  12. package/dist/src/indexer/migrations/repo-merger.d.ts.map +1 -0
  13. package/dist/src/indexer/migrations/repo-merger.js +67 -0
  14. package/dist/src/indexer/migrations/repo-merger.js.map +1 -0
  15. package/dist/src/indexer/schema.d.ts +66 -0
  16. package/dist/src/indexer/schema.d.ts.map +1 -1
  17. package/dist/src/indexer/schema.js +337 -0
  18. package/dist/src/indexer/schema.js.map +1 -1
  19. package/dist/src/server/boost-profiles.d.ts +1 -1
  20. package/dist/src/server/boost-profiles.d.ts.map +1 -1
  21. package/dist/src/server/boost-profiles.js +116 -0
  22. package/dist/src/server/boost-profiles.js.map +1 -1
  23. package/dist/src/server/config.d.ts +45 -0
  24. package/dist/src/server/config.d.ts.map +1 -0
  25. package/dist/src/server/config.js +146 -0
  26. package/dist/src/server/config.js.map +1 -0
  27. package/dist/src/server/context.d.ts +29 -0
  28. package/dist/src/server/context.d.ts.map +1 -1
  29. package/dist/src/server/context.js +26 -1
  30. package/dist/src/server/context.js.map +1 -1
  31. package/dist/src/server/handlers/snippets-get.d.ts +36 -0
  32. package/dist/src/server/handlers/snippets-get.d.ts.map +1 -0
  33. package/dist/src/server/handlers/snippets-get.js +120 -0
  34. package/dist/src/server/handlers/snippets-get.js.map +1 -0
  35. package/dist/src/server/handlers.d.ts +32 -20
  36. package/dist/src/server/handlers.d.ts.map +1 -1
  37. package/dist/src/server/handlers.js +1554 -338
  38. package/dist/src/server/handlers.js.map +1 -1
  39. package/dist/src/server/indexBootstrap.d.ts.map +1 -1
  40. package/dist/src/server/indexBootstrap.js +49 -2
  41. package/dist/src/server/indexBootstrap.js.map +1 -1
  42. package/dist/src/server/main.d.ts.map +1 -1
  43. package/dist/src/server/main.js +7 -0
  44. package/dist/src/server/main.js.map +1 -1
  45. package/dist/src/server/profile-selector.d.ts +33 -0
  46. package/dist/src/server/profile-selector.d.ts.map +1 -0
  47. package/dist/src/server/profile-selector.js +291 -0
  48. package/dist/src/server/profile-selector.js.map +1 -0
  49. package/dist/src/server/rpc.d.ts.map +1 -1
  50. package/dist/src/server/rpc.js +36 -6
  51. package/dist/src/server/rpc.js.map +1 -1
  52. package/dist/src/server/runtime.d.ts.map +1 -1
  53. package/dist/src/server/runtime.js +14 -4
  54. package/dist/src/server/runtime.js.map +1 -1
  55. package/dist/src/server/scoring.d.ts +7 -1
  56. package/dist/src/server/scoring.d.ts.map +1 -1
  57. package/dist/src/server/scoring.js +121 -21
  58. package/dist/src/server/scoring.js.map +1 -1
  59. package/dist/src/server/services/index.d.ts +24 -0
  60. package/dist/src/server/services/index.d.ts.map +1 -0
  61. package/dist/src/server/services/index.js +20 -0
  62. package/dist/src/server/services/index.js.map +1 -0
  63. package/dist/src/server/services/repo-repository.d.ts +61 -0
  64. package/dist/src/server/services/repo-repository.d.ts.map +1 -0
  65. package/dist/src/server/services/repo-repository.js +93 -0
  66. package/dist/src/server/services/repo-repository.js.map +1 -0
  67. package/dist/src/server/services/repo-resolver.d.ts +28 -0
  68. package/dist/src/server/services/repo-resolver.d.ts.map +1 -0
  69. package/dist/src/server/services/repo-resolver.js +62 -0
  70. package/dist/src/server/services/repo-resolver.js.map +1 -0
  71. package/dist/src/shared/duckdb.d.ts.map +1 -1
  72. package/dist/src/shared/duckdb.js +21 -1
  73. package/dist/src/shared/duckdb.js.map +1 -1
  74. package/dist/src/shared/fs/safePath.d.ts +7 -0
  75. package/dist/src/shared/fs/safePath.d.ts.map +1 -0
  76. package/dist/src/shared/fs/safePath.js +23 -0
  77. package/dist/src/shared/fs/safePath.js.map +1 -0
  78. package/dist/src/shared/utils/glob.d.ts +5 -0
  79. package/dist/src/shared/utils/glob.d.ts.map +1 -0
  80. package/dist/src/shared/utils/glob.js +22 -0
  81. package/dist/src/shared/utils/glob.js.map +1 -0
  82. package/dist/src/shared/utils/retry.d.ts +8 -0
  83. package/dist/src/shared/utils/retry.d.ts.map +1 -0
  84. package/dist/src/shared/utils/retry.js +20 -0
  85. package/dist/src/shared/utils/retry.js.map +1 -0
  86. package/package.json +28 -22
@@ -1,3 +1,84 @@
1
+ import { normalizeRepoPath } from "../shared/utils/path.js";
2
+ import { mergeRepoRecords } from "./migrations/repo-merger.js";
3
+ /**
4
+ * Document metadata tables migration error
5
+ * Provides detailed information about which migration step failed
6
+ */
7
+ class MigrationError extends Error {
8
+ step;
9
+ cause;
10
+ constructor(message, step, cause) {
11
+ super(message);
12
+ this.step = step;
13
+ this.cause = cause;
14
+ this.name = "MigrationError";
15
+ // Set cause for better error chaining (Node.js 16.9.0+)
16
+ if (cause) {
17
+ this.cause = cause;
18
+ }
19
+ // Capture stack trace for debugging
20
+ if (Error.captureStackTrace) {
21
+ Error.captureStackTrace(this, MigrationError);
22
+ }
23
+ }
24
+ }
25
+ /**
26
+ * Execute a migration step with error wrapping
27
+ * Catches errors and wraps them in MigrationError with step context
28
+ */
29
+ async function executeStep(step, fn) {
30
+ try {
31
+ return await fn();
32
+ }
33
+ catch (error) {
34
+ const stepName = step.replace(/_/g, " ");
35
+ throw new MigrationError(`Failed to create ${stepName}. Re-run migration or check database permissions.`, step, error instanceof Error ? error : undefined);
36
+ }
37
+ }
38
+ /**
39
+ * Validate table schema using PRAGMA table_info
40
+ * Compares actual schema with expected column definitions
41
+ *
42
+ * @param db DuckDB client
43
+ * @param tableName Table name to validate
44
+ * @param expectedColumns Expected column definitions
45
+ * @throws MigrationError if schema doesn't match expectations
46
+ */
47
+ async function validateTableSchema(db, tableName, expectedColumns, step) {
48
+ try {
49
+ // Get actual schema using PRAGMA table_info
50
+ const actualColumns = await db.all(`PRAGMA table_info('${tableName}')`);
51
+ // Build map of actual columns for lookup
52
+ const actualMap = new Map(actualColumns.map((col) => [col.name, { type: col.type.toUpperCase(), pk: col.pk > 0 }]));
53
+ // Validate each expected column
54
+ for (const expected of expectedColumns) {
55
+ const actual = actualMap.get(expected.name);
56
+ if (!actual) {
57
+ throw new Error(`Column '${expected.name}' missing in table '${tableName}'`);
58
+ }
59
+ // Normalize types for comparison (e.g., "INTEGER" vs "INT", "TEXT" vs "VARCHAR")
60
+ const expectedTypeNorm = expected.type.toUpperCase();
61
+ const actualTypeNorm = actual.type;
62
+ // Type validation with normalization
63
+ const typeMatches = expectedTypeNorm === actualTypeNorm ||
64
+ (expectedTypeNorm === "INTEGER" &&
65
+ (actualTypeNorm === "INT" || actualTypeNorm === "BIGINT")) ||
66
+ (expectedTypeNorm === "TEXT" &&
67
+ (actualTypeNorm === "VARCHAR" || actualTypeNorm === "STRING"));
68
+ if (!typeMatches) {
69
+ throw new Error(`Column '${expected.name}' in table '${tableName}' has type '${actual.type}', expected '${expected.type}'`);
70
+ }
71
+ // PRIMARY KEY validation
72
+ if (expected.pk && !actual.pk) {
73
+ throw new Error(`Column '${expected.name}' in table '${tableName}' should be PRIMARY KEY`);
74
+ }
75
+ }
76
+ }
77
+ catch (error) {
78
+ const stepName = step.replace(/_/g, " ");
79
+ throw new MigrationError(`Schema validation failed for ${stepName}. ${error instanceof Error ? error.message : "Unknown error"}`, step, error instanceof Error ? error : undefined);
80
+ }
81
+ }
1
82
  export async function ensureBaseSchema(db) {
2
83
  await db.run(`
3
84
  CREATE SEQUENCE IF NOT EXISTS repo_id_seq START 1
@@ -6,6 +87,7 @@ export async function ensureBaseSchema(db) {
6
87
  CREATE TABLE IF NOT EXISTS repo (
7
88
  id INTEGER PRIMARY KEY DEFAULT nextval('repo_id_seq'),
8
89
  root TEXT NOT NULL UNIQUE,
90
+ normalized_root TEXT,
9
91
  default_branch TEXT,
10
92
  indexed_at TIMESTAMP,
11
93
  fts_last_indexed_at TIMESTAMP,
@@ -101,6 +183,51 @@ export async function ensureBaseSchema(db) {
101
183
  PRIMARY KEY (repo_id, path)
102
184
  )
103
185
  `);
186
+ // Document metadata tables (delegated to dedicated migration function)
187
+ await ensureDocumentMetadataTables(db);
188
+ await db.run(`
189
+ CREATE TABLE IF NOT EXISTS markdown_link (
190
+ repo_id INTEGER,
191
+ src_path TEXT,
192
+ target TEXT,
193
+ resolved_path TEXT,
194
+ anchor_text TEXT,
195
+ kind TEXT,
196
+ PRIMARY KEY (repo_id, src_path, target, anchor_text)
197
+ )
198
+ `);
199
+ await db.run(`
200
+ CREATE INDEX IF NOT EXISTS idx_markdown_link_target
201
+ ON markdown_link(repo_id, resolved_path)
202
+ `);
203
+ await db.run(`
204
+ CREATE TABLE IF NOT EXISTS hint_expansion (
205
+ repo_id INTEGER,
206
+ hint_value TEXT,
207
+ expansion_kind TEXT,
208
+ target_path TEXT,
209
+ payload JSON,
210
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
211
+ )
212
+ `);
213
+ await db.run(`
214
+ CREATE INDEX IF NOT EXISTS idx_hint_expansion_repo
215
+ ON hint_expansion(repo_id, created_at)
216
+ `);
217
+ await db.run(`
218
+ CREATE TABLE IF NOT EXISTS hint_dictionary (
219
+ repo_id INTEGER,
220
+ hint_value TEXT,
221
+ target_path TEXT,
222
+ freq INTEGER DEFAULT 1,
223
+ updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
224
+ PRIMARY KEY (repo_id, hint_value, target_path)
225
+ )
226
+ `);
227
+ await db.run(`
228
+ CREATE INDEX IF NOT EXISTS idx_hint_dictionary_repo_hint
229
+ ON hint_dictionary(repo_id, hint_value)
230
+ `);
104
231
  }
105
232
  /**
106
233
  * repoテーブルにFTSメタデータ列を追加(Phase 3マイグレーション)
@@ -148,6 +275,102 @@ export async function ensureRepoMetaColumns(db) {
148
275
  WHERE fts_last_indexed_at IS NULL
149
276
  `);
150
277
  }
278
+ /**
279
+ * Adds normalized_root column with UNIQUE index to the repo table (Phase 1: Critical #1)
280
+ *
281
+ * Migration Strategy:
282
+ * 1. Adds normalized_root column (nullable initially for backward compatibility)
283
+ * 2. Populates normalized_root from existing root values using normalizeRepoPath()
284
+ * 3. Deduplicates repos with same normalized_root (keeps lowest ID)
285
+ * 4. Creates UNIQUE index on normalized_root
286
+ *
287
+ * Deduplication Behavior:
288
+ * - When multiple repos have the same normalized_root: keeps repo with lowest ID
289
+ * - Deleted repos: All dependent data is automatically handled by foreign key constraints
290
+ * - Example: /Users/foo and /users/foo normalize to same path → keeps lower ID, deletes higher ID
291
+ * - Rationale: Lowest ID is typically the oldest/first indexed, most likely to be correct
292
+ *
293
+ * Safety Guarantees:
294
+ * - Transaction-based: All operations are atomic, rollback on failure
295
+ * - Backward compatible: Old code without normalized_root column awareness still works
296
+ * - Idempotent: Safe to run multiple times (checks for existing column and index)
297
+ * - Non-destructive: Only removes duplicate entries after careful validation
298
+ *
299
+ * Performance:
300
+ * - Backfill: O(n) where n = number of repos (typically small, <100)
301
+ * - Deduplication: O(m log m) where m = number of duplicate groups (typically 0-5)
302
+ * - Index creation: O(n log n)
303
+ *
304
+ * @param db - DuckDBクライアント
305
+ * @throws Error if migration fails (except when repo table doesn't exist yet)
306
+ */
307
+ export async function ensureNormalizedRootColumn(db) {
308
+ // Check if repo table exists first
309
+ const tables = await db.all(`SELECT table_name FROM duckdb_tables() WHERE table_name = 'repo'`);
310
+ if (tables.length === 0) {
311
+ // repo table doesn't exist yet - will be created by ensureBaseSchema()
312
+ return;
313
+ }
314
+ // 列の存在確認
315
+ const columns = await db.all(`SELECT column_name FROM duckdb_columns()
316
+ WHERE table_name = 'repo' AND column_name = 'normalized_root'`);
317
+ const hasNormalizedRoot = columns.length > 0;
318
+ // normalized_rootの追加
319
+ if (!hasNormalizedRoot) {
320
+ await db.run(`ALTER TABLE repo ADD COLUMN normalized_root TEXT`);
321
+ }
322
+ // 既存レコードのbackfill(トランザクション内で実行)
323
+ await db.transaction(async () => {
324
+ const needsBackfill = await db.all(`SELECT id, root FROM repo WHERE normalized_root IS NULL`);
325
+ if (needsBackfill.length > 0) {
326
+ // バッチ更新で高速化
327
+ for (const row of needsBackfill) {
328
+ const normalized = normalizeRepoPath(row.root);
329
+ await db.run(`UPDATE repo SET normalized_root = ? WHERE id = ?`, [normalized, row.id]);
330
+ }
331
+ }
332
+ });
333
+ // 重複排除: UNIQUE index 作成前に重複する normalized_root を統合
334
+ await db.transaction(async () => {
335
+ const duplicates = await db.all(`SELECT normalized_root, STRING_AGG(CAST(id AS VARCHAR), ',') as ids
336
+ FROM repo
337
+ WHERE normalized_root IS NOT NULL
338
+ GROUP BY normalized_root
339
+ HAVING COUNT(*) > 1`);
340
+ if (duplicates.length > 0) {
341
+ // 各重複グループについて、最小IDのレコードを残して他を削除
342
+ for (const dup of duplicates) {
343
+ const ids = dup.ids
344
+ .split(",")
345
+ .map((value) => Number.parseInt(value, 10))
346
+ .filter((id) => Number.isFinite(id))
347
+ .sort((a, b) => a - b);
348
+ if (ids.length === 0) {
349
+ continue;
350
+ }
351
+ const keepId = ids[0];
352
+ if (keepId === undefined) {
353
+ continue;
354
+ }
355
+ const deleteIds = ids.slice(1);
356
+ if (deleteIds.length === 0) {
357
+ continue;
358
+ }
359
+ await mergeRepoRecords(db, keepId, deleteIds);
360
+ }
361
+ }
362
+ });
363
+ // インデックスの存在確認
364
+ const indexes = await db.all(`SELECT index_name FROM duckdb_indexes() WHERE index_name = 'repo_normalized_root_idx'`);
365
+ // UNIQUE インデックスの作成
366
+ if (indexes.length === 0) {
367
+ // NOTE: UNIQUE制約により、同じ正規化パスを持つ複数のrepoは登録不可
368
+ // 衝突時は既存のrepoを使用するか、mergeLegacyRepoRowsで統合する
369
+ await db.run(`
370
+ CREATE UNIQUE INDEX repo_normalized_root_idx ON repo(normalized_root)
371
+ `);
372
+ }
373
+ }
151
374
  /**
152
375
  * FTS(全文検索)インデックスの作成を試行
153
376
  * @param db - DuckDBクライアント
@@ -355,6 +578,120 @@ export async function rebuildGlobalFTS(db, options = {}) {
355
578
  return false;
356
579
  }
357
580
  }
581
+ /**
582
+ * Check if document_metadata table is empty
583
+ * Used to detect if migration needs to trigger a full reindex
584
+ *
585
+ * @param db - DuckDB client
586
+ * @returns true if table exists but is empty, false otherwise
587
+ */
588
+ export async function isDocumentMetadataEmpty(db) {
589
+ // Check if document_metadata table exists
590
+ const tables = await db.all(`SELECT table_name FROM duckdb_tables() WHERE table_name = 'document_metadata'`);
591
+ if (tables.length === 0) {
592
+ // Table doesn't exist yet
593
+ return false;
594
+ }
595
+ // Count records in document_metadata table
596
+ const result = await db.all(`SELECT COUNT(*) as count FROM document_metadata`);
597
+ // Defensive: check array element exists and has valid count
598
+ const firstRow = result[0];
599
+ if (!firstRow || typeof firstRow.count !== "number") {
600
+ return false;
601
+ }
602
+ return firstRow.count === 0;
603
+ }
604
+ /**
605
+ * document_metadata関連テーブルを追加(マイグレーション+新規DB用)
606
+ * 既存DBとの互換性のため、テーブルが存在しない場合のみ作成
607
+ *
608
+ * Usage:
609
+ * - Called by ensureBaseSchema() for new databases (replaces duplicate DDL)
610
+ * - Called by CLI migration for existing databases
611
+ *
612
+ * Migration Strategy:
613
+ * 1. Check if document_metadata table exists
614
+ * 2. Create document_metadata table if missing
615
+ * 3. Create document_metadata_kv table if missing
616
+ * 4. Create index on document_metadata_kv if missing
617
+ *
618
+ * Safety Guarantees:
619
+ * - Idempotent: Safe to run multiple times (checks for existing tables/indexes)
620
+ * - Non-destructive: Only creates missing schema objects, never modifies existing data
621
+ * - Backward compatible: Old code without metadata awareness still works
622
+ *
623
+ * Performance:
624
+ * - O(1) for existence checks
625
+ * - O(1) for table creation (no data migration needed)
626
+ * - O(1) for index creation (table is initially empty)
627
+ *
628
+ * @param db - DuckDBクライアント
629
+ * @throws Error if migration fails
630
+ */
631
+ export async function ensureDocumentMetadataTables(db) {
632
+ // トランザクション境界: 3つのDDL操作を単一のatomic操作として実行
633
+ // 失敗時は自動的にロールバックされ、部分的な状態が残らない
634
+ await db.transaction(async () => {
635
+ // 1. document_metadataテーブルの存在確認
636
+ const metadataTableExists = await db.all(`SELECT table_name FROM duckdb_tables() WHERE table_name = 'document_metadata'`);
637
+ if (metadataTableExists.length === 0) {
638
+ await executeStep("metadata_table", async () => {
639
+ await db.run(`
640
+ CREATE TABLE document_metadata (
641
+ repo_id INTEGER,
642
+ path TEXT,
643
+ source TEXT,
644
+ data JSON,
645
+ updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
646
+ PRIMARY KEY (repo_id, path, source)
647
+ )
648
+ `);
649
+ });
650
+ }
651
+ // 2. document_metadata_kvテーブルの存在確認
652
+ const kvTableExists = await db.all(`SELECT table_name FROM duckdb_tables() WHERE table_name = 'document_metadata_kv'`);
653
+ if (kvTableExists.length === 0) {
654
+ await executeStep("metadata_kv_table", async () => {
655
+ await db.run(`
656
+ CREATE TABLE document_metadata_kv (
657
+ repo_id INTEGER,
658
+ path TEXT,
659
+ source TEXT,
660
+ key TEXT,
661
+ value TEXT,
662
+ PRIMARY KEY (repo_id, path, source, key, value)
663
+ )
664
+ `);
665
+ });
666
+ }
667
+ // 3. インデックスの存在確認と作成
668
+ const indexExists = await db.all(`SELECT index_name FROM duckdb_indexes() WHERE index_name = 'idx_document_metadata_key'`);
669
+ if (indexExists.length === 0) {
670
+ await executeStep("index", async () => {
671
+ await db.run(`
672
+ CREATE INDEX idx_document_metadata_key
673
+ ON document_metadata_kv(repo_id, key)
674
+ `);
675
+ });
676
+ }
677
+ // 4. スキーマ検証: 作成されたテーブルが期待通りの構造を持つことを確認
678
+ // 検証はトランザクション内で行い、不整合があればロールバック
679
+ await validateTableSchema(db, "document_metadata", [
680
+ { name: "repo_id", type: "INTEGER" },
681
+ { name: "path", type: "TEXT" },
682
+ { name: "source", type: "TEXT" },
683
+ { name: "data", type: "JSON" },
684
+ { name: "updated_at", type: "TIMESTAMP" },
685
+ ], "metadata_table");
686
+ await validateTableSchema(db, "document_metadata_kv", [
687
+ { name: "repo_id", type: "INTEGER" },
688
+ { name: "path", type: "TEXT" },
689
+ { name: "source", type: "TEXT" },
690
+ { name: "key", type: "TEXT" },
691
+ { name: "value", type: "TEXT" },
692
+ ], "metadata_kv_table");
693
+ });
694
+ }
358
695
  /**
359
696
  * FTS dirty flagを設定(Phase 3: ウォッチモード用)
360
697
  * Note: 現在は rebuildFTSIfNeeded() の使用を推奨。この関数は将来のウォッチモード実装用に保持。
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/indexer/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/indexer/schema.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export interface BoostProfileConfig {
45
45
  */
46
46
  skipConfigAdditivePenalty?: boolean;
47
47
  }
48
- export type BoostProfileName = "default" | "docs" | "none" | "balanced";
48
+ export type BoostProfileName = "default" | "docs" | "none" | "balanced" | "feature" | "bugfix" | "debug" | "api" | "editor" | "testfail" | "typeerror";
49
49
  /**
50
50
  * Boost profile definitions
51
51
  * Centralized configuration for all boost profiles
@@ -1 +1 @@
1
- {"version":3,"file":"boost-profiles.d.ts","sourceRoot":"","sources":["../../../src/server/boost-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,sDAAsD;IACtD,mBAAmB,EAAE;QACnB,mDAAmD;QACnD,GAAG,EAAE,MAAM,CAAC;QACZ,oCAAoC;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,8DAA8D;QAC9D,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF;;;OAGG;IACH,eAAe,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/D;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAqDvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,CAS1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,gBAAgB,CAE1E"}
1
+ {"version":3,"file":"boost-profiles.d.ts","sourceRoot":"","sources":["../../../src/server/boost-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,sDAAsD;IACtD,mBAAmB,EAAE;QACnB,mDAAmD;QACnD,GAAG,EAAE,MAAM,CAAC;QACZ,oCAAoC;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,8DAA8D;QAC9D,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF;;;OAGG;IACH,eAAe,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/D;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,MAAM,GACN,MAAM,GACN,UAAU,GACV,SAAS,GACT,QAAQ,GACR,OAAO,GACP,KAAK,GACL,QAAQ,GACR,UAAU,GACV,WAAW,CAAC;AAEhB;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAgLvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,CAS1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,gBAAgB,CAE1E"}
@@ -64,6 +64,122 @@ export const BOOST_PROFILES = {
64
64
  },
65
65
  pathMultipliers: [],
66
66
  },
67
+ feature: {
68
+ denylistOverrides: [],
69
+ fileTypeMultipliers: {
70
+ doc: 0.65, // Docs penalty
71
+ impl: 1.25, // Implementation boost
72
+ config: 0.05, // Config penalty
73
+ },
74
+ pathMultipliers: [
75
+ { prefix: "src/server/handlers/", multiplier: 2.5 }, // 新機能ハンドラー
76
+ { prefix: "src/indexer/pipeline/", multiplier: 2.3 }, // パイプライン機能
77
+ { prefix: "src/server/", multiplier: 2.0 },
78
+ { prefix: "src/indexer/", multiplier: 1.8 },
79
+ { prefix: "src/shared/", multiplier: 1.6 },
80
+ { prefix: "scripts/assay/", multiplier: 1.5 }, // 評価スクリプト
81
+ { prefix: "src/", multiplier: 0.7 }, // 抑制: 0.8 → 0.7
82
+ ],
83
+ },
84
+ bugfix: {
85
+ denylistOverrides: [],
86
+ fileTypeMultipliers: {
87
+ doc: 0.65, // Docs penalty
88
+ impl: 1.2, // Implementation boost
89
+ config: 0.05, // Config penalty
90
+ },
91
+ pathMultipliers: [
92
+ { prefix: "src/shared/security/", multiplier: 2.5 }, // セキュリティ修正
93
+ { prefix: "src/shared/utils/", multiplier: 2.3 }, // ユーティリティ修正
94
+ { prefix: "src/server/fallbacks/", multiplier: 2.2 }, // フォールバック
95
+ { prefix: "src/shared/", multiplier: 2.0 },
96
+ { prefix: "src/server/", multiplier: 1.8 },
97
+ { prefix: "src/indexer/", multiplier: 1.6 },
98
+ { prefix: "tests/", multiplier: 1.5 }, // バグ再現テスト
99
+ { prefix: "src/", multiplier: 0.7 }, // 抑制: 0.8 → 0.7
100
+ ],
101
+ },
102
+ debug: {
103
+ denylistOverrides: [],
104
+ fileTypeMultipliers: {
105
+ doc: 0.65, // Docs penalty
106
+ impl: 1.25, // Implementation boost
107
+ config: 0.05, // Config penalty
108
+ },
109
+ pathMultipliers: [
110
+ { prefix: "src/server/observability/", multiplier: 2.5 }, // 監視・トレース
111
+ { prefix: "src/shared/utils/retry.ts", multiplier: 2.4 }, // リトライロジック
112
+ { prefix: "src/server/fallbacks/", multiplier: 2.3 }, // デグレード制御
113
+ { prefix: "src/shared/utils/", multiplier: 2.0 },
114
+ { prefix: "scripts/diag/", multiplier: 1.8 }, // 診断スクリプト
115
+ { prefix: "src/server/", multiplier: 1.6 },
116
+ { prefix: "tests/", multiplier: 1.5 },
117
+ { prefix: "src/", multiplier: 0.7 }, // 抑制: 0.8 → 0.7
118
+ ],
119
+ },
120
+ api: {
121
+ denylistOverrides: ["docs/"],
122
+ fileTypeMultipliers: {
123
+ doc: 0.65, // Docs penalty
124
+ impl: 1.2, // Implementation boost
125
+ config: 0.05, // Config penalty
126
+ },
127
+ pathMultipliers: [
128
+ { prefix: "src/api/", multiplier: 2.5 }, // 強化: 1.4 → 2.5
129
+ { prefix: "src/routes/", multiplier: 2.3 },
130
+ { prefix: "src/controllers/", multiplier: 2.0 },
131
+ { prefix: "src/middleware/", multiplier: 1.8 },
132
+ { prefix: "src/app/", multiplier: 1.3 },
133
+ { prefix: "src/", multiplier: 0.7 }, // 抑制: 1.0 → 0.7
134
+ ],
135
+ },
136
+ editor: {
137
+ denylistOverrides: [],
138
+ fileTypeMultipliers: {
139
+ doc: 0.65, // Docs penalty
140
+ impl: 1.2, // Implementation boost
141
+ config: 0.05, // Config penalty
142
+ },
143
+ pathMultipliers: [
144
+ { prefix: "src/components/", multiplier: 2.2 }, // 強化: 1.3 → 2.2
145
+ { prefix: "src/editor/", multiplier: 2.5 },
146
+ { prefix: "src/ui/", multiplier: 2.0 },
147
+ { prefix: "src/views/", multiplier: 2.0 },
148
+ { prefix: "src/app/", multiplier: 1.5 },
149
+ { prefix: "src/", multiplier: 0.7 }, // 抑制: 1.0 → 0.7
150
+ ],
151
+ },
152
+ testfail: {
153
+ denylistOverrides: [],
154
+ fileTypeMultipliers: {
155
+ doc: 0.65, // Docs penalty
156
+ impl: 1.2, // Implementation boost
157
+ config: 0.05, // Config penalty
158
+ },
159
+ pathMultipliers: [
160
+ { prefix: "tests/", multiplier: 2.5 }, // 強化: 1.5 → 2.5
161
+ { prefix: "test/", multiplier: 2.5 }, // 強化: 1.5 → 2.5
162
+ { prefix: "__tests__/", multiplier: 2.5 },
163
+ { prefix: "spec/", multiplier: 2.3 },
164
+ { prefix: "src/", multiplier: 0.5 }, // 大幅抑制: 1.0 → 0.5
165
+ ],
166
+ },
167
+ typeerror: {
168
+ denylistOverrides: [],
169
+ fileTypeMultipliers: {
170
+ doc: 0.65, // Docs penalty
171
+ impl: 1.2, // Implementation boost
172
+ config: 0.05, // Config penalty
173
+ },
174
+ pathMultipliers: [
175
+ { prefix: "src/types/", multiplier: 3.0 }, // 強化: 1.4 → 3.0
176
+ { prefix: "types/", multiplier: 3.0 }, // 強化: 1.4 → 3.0
177
+ { prefix: "@types/", multiplier: 2.8 },
178
+ { prefix: "src/interfaces/", multiplier: 2.5 },
179
+ { prefix: "src/models/", multiplier: 1.8 },
180
+ { prefix: "src/", multiplier: 0.6 }, // 抑制: 1.0 → 0.6
181
+ ],
182
+ },
67
183
  };
68
184
  /**
69
185
  * Get boost profile configuration by name
@@ -1 +1 @@
1
- {"version":3,"file":"boost-profiles.js","sourceRoot":"","sources":["../../../src/server/boost-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAwCH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiD;IAC1E,OAAO,EAAE;QACP,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,uBAAuB;YACjC,IAAI,EAAE,GAAG,EAAE,+BAA+B;YAC1C,MAAM,EAAE,IAAI,EAAE,+BAA+B;SAC9C;QACD,0EAA0E;QAC1E,eAAe,EAAE;YACf,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE;YAC9C,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE;YACvC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE;YACvC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE;SACpC;KACF;IAED,IAAI,EAAE;QACJ,iBAAiB,EAAE,CAAC,OAAO,CAAC;QAC5B,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,qBAAqB;YAC/B,IAAI,EAAE,GAAG,EAAE,iCAAiC;YAC5C,MAAM,EAAE,IAAI,EAAE,+BAA+B;SAC9C;QACD,eAAe,EAAE,EAAE,EAAE,uCAAuC;KAC7D;IAED,QAAQ,EAAE;QACR,iBAAiB,EAAE,CAAC,OAAO,CAAC;QAC5B,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,sBAAsB;YAChC,IAAI,EAAE,GAAG,EAAE,8BAA8B;YACzC,+EAA+E;YAC/E,yEAAyE;YACzE,wEAAwE;YACxE,MAAM,EAAE,GAAG;SACZ;QACD,eAAe,EAAE,EAAE,EAAE,2CAA2C;QAChE,kFAAkF;QAClF,sFAAsF;QACtF,wEAAwE;QACxE,yBAAyB,EAAE,IAAI;KAChC;IAED,IAAI,EAAE;QACJ,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,mBAAmB;YAC7B,IAAI,EAAE,GAAG,EAAE,mBAAmB;YAC9B,MAAM,EAAE,GAAG,EAAE,mBAAmB;SACjC;QACD,eAAe,EAAE,EAAE;KACpB;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,KAAK;YAClC,uBAAuB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,IAAI,cAAc,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"boost-profiles.js","sourceRoot":"","sources":["../../../src/server/boost-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmDH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiD;IAC1E,OAAO,EAAE;QACP,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,uBAAuB;YACjC,IAAI,EAAE,GAAG,EAAE,+BAA+B;YAC1C,MAAM,EAAE,IAAI,EAAE,+BAA+B;SAC9C;QACD,0EAA0E;QAC1E,eAAe,EAAE;YACf,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE;YAC9C,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE;YACvC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE;YACvC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE;SACpC;KACF;IAED,IAAI,EAAE;QACJ,iBAAiB,EAAE,CAAC,OAAO,CAAC;QAC5B,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,qBAAqB;YAC/B,IAAI,EAAE,GAAG,EAAE,iCAAiC;YAC5C,MAAM,EAAE,IAAI,EAAE,+BAA+B;SAC9C;QACD,eAAe,EAAE,EAAE,EAAE,uCAAuC;KAC7D;IAED,QAAQ,EAAE;QACR,iBAAiB,EAAE,CAAC,OAAO,CAAC;QAC5B,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,sBAAsB;YAChC,IAAI,EAAE,GAAG,EAAE,8BAA8B;YACzC,+EAA+E;YAC/E,yEAAyE;YACzE,wEAAwE;YACxE,MAAM,EAAE,GAAG;SACZ;QACD,eAAe,EAAE,EAAE,EAAE,2CAA2C;QAChE,kFAAkF;QAClF,sFAAsF;QACtF,wEAAwE;QACxE,yBAAyB,EAAE,IAAI;KAChC;IAED,IAAI,EAAE;QACJ,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,mBAAmB;YAC7B,IAAI,EAAE,GAAG,EAAE,mBAAmB;YAC9B,MAAM,EAAE,GAAG,EAAE,mBAAmB;SACjC;QACD,eAAe,EAAE,EAAE;KACpB;IAED,OAAO,EAAE;QACP,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,IAAI,EAAE,eAAe;YAC1B,IAAI,EAAE,IAAI,EAAE,uBAAuB;YACnC,MAAM,EAAE,IAAI,EAAE,iBAAiB;SAChC;QACD,eAAe,EAAE;YACf,EAAE,MAAM,EAAE,sBAAsB,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,WAAW;YAChE,EAAE,MAAM,EAAE,uBAAuB,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,WAAW;YACjE,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;YAC1C,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE;YAC3C,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;YAC1C,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,UAAU;YACzD,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;SACtD;KACF;IAED,MAAM,EAAE;QACN,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,IAAI,EAAE,eAAe;YAC1B,IAAI,EAAE,GAAG,EAAE,uBAAuB;YAClC,MAAM,EAAE,IAAI,EAAE,iBAAiB;SAChC;QACD,eAAe,EAAE;YACf,EAAE,MAAM,EAAE,sBAAsB,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,WAAW;YAChE,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,YAAY;YAC9D,EAAE,MAAM,EAAE,uBAAuB,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,UAAU;YAChE,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;YAC1C,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;YAC1C,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE;YAC3C,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,UAAU;YACjD,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;SACtD;KACF;IAED,KAAK,EAAE;QACL,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,IAAI,EAAE,eAAe;YAC1B,IAAI,EAAE,IAAI,EAAE,uBAAuB;YACnC,MAAM,EAAE,IAAI,EAAE,iBAAiB;SAChC;QACD,eAAe,EAAE;YACf,EAAE,MAAM,EAAE,2BAA2B,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,UAAU;YACpE,EAAE,MAAM,EAAE,2BAA2B,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,WAAW;YACrE,EAAE,MAAM,EAAE,uBAAuB,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,UAAU;YAChE,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,GAAG,EAAE;YAChD,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,UAAU;YACxD,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;YAC1C,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE;YACrC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;SACtD;KACF;IAED,GAAG,EAAE;QACH,iBAAiB,EAAE,CAAC,OAAO,CAAC;QAC5B,mBAAmB,EAAE;YACnB,GAAG,EAAE,IAAI,EAAE,eAAe;YAC1B,IAAI,EAAE,GAAG,EAAE,uBAAuB;YAClC,MAAM,EAAE,IAAI,EAAE,iBAAiB;SAChC;QACD,eAAe,EAAE;YACf,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;YACzD,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;YAC1C,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,EAAE;YAC/C,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE;YAC9C,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE;YACvC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;SACtD;KACF;IAED,MAAM,EAAE;QACN,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,IAAI,EAAE,eAAe;YAC1B,IAAI,EAAE,GAAG,EAAE,uBAAuB;YAClC,MAAM,EAAE,IAAI,EAAE,iBAAiB;SAChC;QACD,eAAe,EAAE;YACf,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;YAChE,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;YAC1C,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE;YACtC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE;YACzC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE;YACvC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;SACtD;KACF;IAED,QAAQ,EAAE;QACR,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,IAAI,EAAE,eAAe;YAC1B,IAAI,EAAE,GAAG,EAAE,uBAAuB;YAClC,MAAM,EAAE,IAAI,EAAE,iBAAiB;SAChC;QACD,eAAe,EAAE;YACf,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;YACvD,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;YACtD,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE;YACzC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE;YACpC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,kBAAkB;SACxD;KACF;IAED,SAAS,EAAE;QACT,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,IAAI,EAAE,eAAe;YAC1B,IAAI,EAAE,GAAG,EAAE,uBAAuB;YAClC,MAAM,EAAE,IAAI,EAAE,iBAAiB;SAChC;QACD,eAAe,EAAE;YACf,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;YAC3D,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;YACvD,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE;YACtC,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE;YAC9C,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;YAC1C,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,gBAAgB;SACtD;KACF;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,KAAK;YAClC,uBAAuB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,IAAI,cAAc,CAAC;AAChC,CAAC"}
@@ -0,0 +1,45 @@
1
+ export interface ServerConfig {
2
+ features: {
3
+ suppressNonCode: boolean;
4
+ suppressFinalResults: boolean;
5
+ clampSnippets: boolean;
6
+ snippetWindow: number;
7
+ };
8
+ hints: {
9
+ enabled: boolean;
10
+ priority: {
11
+ textMultiplier: number;
12
+ pathMultiplier: number;
13
+ baseBonus: number;
14
+ };
15
+ directory: {
16
+ enabled: boolean;
17
+ limit: number;
18
+ maxFiles: number;
19
+ };
20
+ dependency: {
21
+ enabled: boolean;
22
+ outLimit: number;
23
+ inLimit: number;
24
+ };
25
+ semantic: {
26
+ enabled: boolean;
27
+ limit: number;
28
+ dirCandidateLimit: number;
29
+ threshold: number;
30
+ };
31
+ substring: {
32
+ enabled: boolean;
33
+ limit: number;
34
+ boost: number;
35
+ };
36
+ perHintLimit: number;
37
+ dbQueryLimit: number;
38
+ };
39
+ penalties: {
40
+ pathMissDelta: number;
41
+ largeFileDelta: number;
42
+ };
43
+ }
44
+ export declare function loadServerConfig(): ServerConfig;
45
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE;QACR,eAAe,EAAE,OAAO,CAAC;QACzB,oBAAoB,EAAE,OAAO,CAAC;QAC9B,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,KAAK,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE;YACR,cAAc,EAAE,MAAM,CAAC;YACvB,cAAc,EAAE,MAAM,CAAC;YACvB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,UAAU,EAAE;YACV,OAAO,EAAE,OAAO,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,iBAAiB,EAAE,MAAM,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AA6ED,wBAAgB,gBAAgB,IAAI,YAAY,CAiF/C"}