lsp-intelligence 0.2.1 → 0.3.2

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 (149) hide show
  1. package/.claude-plugin/marketplace.json +18 -0
  2. package/.claude-plugin/plugin.json +11 -0
  3. package/CLAUDE.md +75 -0
  4. package/README.md +15 -38
  5. package/dist/adapters/express/index.d.ts +9 -0
  6. package/dist/adapters/express/index.js +46 -0
  7. package/dist/adapters/express/index.js.map +1 -0
  8. package/dist/adapters/next/index.d.ts +10 -0
  9. package/dist/adapters/next/index.js +67 -0
  10. package/dist/adapters/next/index.js.map +1 -0
  11. package/dist/adapters/react/index.d.ts +11 -0
  12. package/dist/adapters/react/index.js +133 -0
  13. package/dist/adapters/react/index.js.map +1 -0
  14. package/dist/adapters/registry.d.ts +22 -0
  15. package/dist/adapters/registry.js +101 -0
  16. package/dist/adapters/registry.js.map +1 -0
  17. package/dist/adapters/types.d.ts +97 -0
  18. package/dist/adapters/types.js +2 -0
  19. package/dist/adapters/types.js.map +1 -0
  20. package/dist/analysis/ts/applyVirtualEdit.d.ts +27 -0
  21. package/dist/analysis/ts/applyVirtualEdit.js +235 -0
  22. package/dist/analysis/ts/applyVirtualEdit.js.map +1 -0
  23. package/dist/analysis/ts/changeRecipes.d.ts +52 -0
  24. package/dist/analysis/ts/changeRecipes.js +14 -0
  25. package/dist/analysis/ts/changeRecipes.js.map +1 -0
  26. package/dist/analysis/ts/compatibility.d.ts +54 -0
  27. package/dist/analysis/ts/compatibility.js +113 -0
  28. package/dist/analysis/ts/compatibility.js.map +1 -0
  29. package/dist/analysis/ts/diffDeclarationShape.d.ts +26 -0
  30. package/dist/analysis/ts/diffDeclarationShape.js +114 -0
  31. package/dist/analysis/ts/diffDeclarationShape.js.map +1 -0
  32. package/dist/analysis/ts/exhaustiveness.d.ts +49 -0
  33. package/dist/analysis/ts/exhaustiveness.js +158 -0
  34. package/dist/analysis/ts/exhaustiveness.js.map +1 -0
  35. package/dist/analysis/ts/extractDeclarationShape.d.ts +30 -0
  36. package/dist/analysis/ts/extractDeclarationShape.js +127 -0
  37. package/dist/analysis/ts/extractDeclarationShape.js.map +1 -0
  38. package/dist/analysis/ts/extractExports.d.ts +19 -0
  39. package/dist/analysis/ts/extractExports.js +178 -0
  40. package/dist/analysis/ts/extractExports.js.map +1 -0
  41. package/dist/analysis/ts/extractRoutes.d.ts +12 -0
  42. package/dist/analysis/ts/extractRoutes.js +165 -0
  43. package/dist/analysis/ts/extractRoutes.js.map +1 -0
  44. package/dist/analysis/ts/parseSourceFile.d.ts +5 -1
  45. package/dist/analysis/ts/parseSourceFile.js +6 -2
  46. package/dist/analysis/ts/parseSourceFile.js.map +1 -1
  47. package/dist/analysis/ts/program/CheckerQueries.d.ts +56 -0
  48. package/dist/analysis/ts/program/CheckerQueries.js +187 -0
  49. package/dist/analysis/ts/program/CheckerQueries.js.map +1 -0
  50. package/dist/analysis/ts/program/ProgramManager.d.ts +27 -0
  51. package/dist/analysis/ts/program/ProgramManager.js +147 -0
  52. package/dist/analysis/ts/program/ProgramManager.js.map +1 -0
  53. package/dist/analysis/ts/program/TypeFacts.d.ts +58 -0
  54. package/dist/analysis/ts/program/TypeFacts.js +68 -0
  55. package/dist/analysis/ts/program/TypeFacts.js.map +1 -0
  56. package/dist/analysis/ts/typeState.d.ts +46 -0
  57. package/dist/analysis/ts/typeState.js +108 -0
  58. package/dist/analysis/ts/typeState.js.map +1 -0
  59. package/dist/ast/diffDeclarationShapes.js +25 -11
  60. package/dist/ast/diffDeclarationShapes.js.map +1 -1
  61. package/dist/ast/extractExportDeclarations.js +8 -3
  62. package/dist/ast/extractExportDeclarations.js.map +1 -1
  63. package/dist/cache/CacheSchema.d.ts +30 -0
  64. package/dist/cache/CacheSchema.js +9 -0
  65. package/dist/cache/CacheSchema.js.map +1 -0
  66. package/dist/cache/CacheStore.d.ts +22 -0
  67. package/dist/cache/CacheStore.js +111 -0
  68. package/dist/cache/CacheStore.js.map +1 -0
  69. package/dist/cache/SemanticCache.d.ts +38 -0
  70. package/dist/cache/SemanticCache.js +87 -0
  71. package/dist/cache/SemanticCache.js.map +1 -0
  72. package/dist/cache/SnapshotFingerprint.d.ts +17 -0
  73. package/dist/cache/SnapshotFingerprint.js +14 -0
  74. package/dist/cache/SnapshotFingerprint.js.map +1 -0
  75. package/dist/engine/DocumentManager.d.ts +16 -0
  76. package/dist/engine/DocumentManager.js +32 -0
  77. package/dist/engine/DocumentManager.js.map +1 -1
  78. package/dist/index.js +6 -0
  79. package/dist/index.js.map +1 -1
  80. package/dist/search/adapters/http.d.ts +9 -3
  81. package/dist/search/adapters/http.js +7 -52
  82. package/dist/search/adapters/http.js.map +1 -1
  83. package/dist/search/adapters/react.d.ts +8 -8
  84. package/dist/search/adapters/react.js +3 -88
  85. package/dist/search/adapters/react.js.map +1 -1
  86. package/dist/search/adapters/registry.d.ts +7 -4
  87. package/dist/search/adapters/registry.js +7 -17
  88. package/dist/search/adapters/registry.js.map +1 -1
  89. package/dist/search/expand/graphExpansion.js +47 -14
  90. package/dist/search/expand/graphExpansion.js.map +1 -1
  91. package/dist/search/index/declarationIndex.d.ts +3 -1
  92. package/dist/search/index/declarationIndex.js +4 -2
  93. package/dist/search/index/declarationIndex.js.map +1 -1
  94. package/dist/search/index/routeIndex.d.ts +6 -0
  95. package/dist/search/index/routeIndex.js +19 -0
  96. package/dist/search/index/routeIndex.js.map +1 -0
  97. package/dist/search/index/usageIndex.d.ts +3 -1
  98. package/dist/search/index/usageIndex.js +4 -2
  99. package/dist/search/index/usageIndex.js.map +1 -1
  100. package/dist/search/index/workspaceIndex.d.ts +7 -1
  101. package/dist/search/index/workspaceIndex.js +54 -14
  102. package/dist/search/index/workspaceIndex.js.map +1 -1
  103. package/dist/search/query/compileEffectiveSearchSpec.js +9 -0
  104. package/dist/search/query/compileEffectiveSearchSpec.js.map +1 -1
  105. package/dist/search/query/parseQuery.js +5 -1
  106. package/dist/search/query/parseQuery.js.map +1 -1
  107. package/dist/search/query/planQuery.js +14 -4
  108. package/dist/search/query/planQuery.js.map +1 -1
  109. package/dist/search/ranking/mergeCandidates.d.ts +1 -0
  110. package/dist/search/ranking/mergeCandidates.js +16 -0
  111. package/dist/search/ranking/mergeCandidates.js.map +1 -1
  112. package/dist/search/retrievers/routeRetriever.d.ts +7 -0
  113. package/dist/search/retrievers/routeRetriever.js +64 -0
  114. package/dist/search/retrievers/routeRetriever.js.map +1 -0
  115. package/dist/search/types.d.ts +16 -4
  116. package/dist/session/OverlayStore.d.ts +15 -0
  117. package/dist/session/OverlayStore.js +46 -0
  118. package/dist/session/OverlayStore.js.map +1 -0
  119. package/dist/session/SnapshotResolver.d.ts +31 -0
  120. package/dist/session/SnapshotResolver.js +50 -0
  121. package/dist/session/SnapshotResolver.js.map +1 -0
  122. package/dist/session/WorkspaceSnapshot.d.ts +21 -0
  123. package/dist/session/WorkspaceSnapshot.js +2 -0
  124. package/dist/session/WorkspaceSnapshot.js.map +1 -0
  125. package/dist/tools/composites/apiGuard.d.ts +4 -0
  126. package/dist/tools/composites/apiGuard.js +158 -24
  127. package/dist/tools/composites/apiGuard.js.map +1 -1
  128. package/dist/tools/composites/findCode.js +12 -2
  129. package/dist/tools/composites/findCode.js.map +1 -1
  130. package/dist/tools/composites/rootCauseTrace.js +89 -13
  131. package/dist/tools/composites/rootCauseTrace.js.map +1 -1
  132. package/dist/workflows/simulateChange.d.ts +44 -0
  133. package/dist/workflows/simulateChange.js +194 -0
  134. package/dist/workflows/simulateChange.js.map +1 -0
  135. package/dist/workflows/verifyChangeSet.d.ts +58 -0
  136. package/dist/workflows/verifyChangeSet.js +300 -0
  137. package/dist/workflows/verifyChangeSet.js.map +1 -0
  138. package/hooks/hooks.json +25 -0
  139. package/hooks/post-edit-check.sh +23 -0
  140. package/package.json +20 -4
  141. package/scripts/launch.mjs +29 -0
  142. package/skills/api-check/SKILL.md +34 -0
  143. package/skills/check/SKILL.md +25 -0
  144. package/skills/context/SKILL.md +24 -0
  145. package/skills/diff/SKILL.md +27 -0
  146. package/skills/find/SKILL.md +63 -0
  147. package/skills/impact/SKILL.md +21 -0
  148. package/skills/verify/SKILL.md +54 -0
  149. package/skills/why/SKILL.md +31 -0
@@ -1 +1 @@
1
- {"version":3,"file":"extractExportDeclarations.js","sourceRoot":"","sources":["../../src/ast/extractExportDeclarations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractExportDeclarations.js","sourceRoot":"","sources":["../../src/ast/extractExportDeclarations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { IndexedFile, DeclarationIndexEntry, UsageIndexEntry, DocIndexEntry, ConfigIndexEntry, RouteIndexEntry } from '../search/types.js';
2
+ /**
3
+ * Phase 4B — Persistent cache schema.
4
+ *
5
+ * This is the on-disk representation of a WorkspaceIndex.
6
+ * The `files` Map is serialized as an array of [key, value] pairs.
7
+ */
8
+ /** Bump when index format changes to auto-invalidate stale caches. */
9
+ export declare const CACHE_SCHEMA_VERSION = 1;
10
+ export interface PersistedIndex {
11
+ schemaVersion: number;
12
+ /** INDEX_VERSION from workspaceIndex — triggers rebuild on search logic changes */
13
+ indexVersion: number;
14
+ root: string;
15
+ builtAt: number;
16
+ scopeKey: string;
17
+ /** Serialized Map<string, IndexedFile> entries */
18
+ fileEntries: Array<[string, IndexedFile]>;
19
+ /** Per-file mtimes at time of build (for freshness validation) */
20
+ fileMtimes: Record<string, number>;
21
+ declarations: DeclarationIndexEntry[];
22
+ usages: UsageIndexEntry[];
23
+ docs: DocIndexEntry[];
24
+ configs: ConfigIndexEntry[];
25
+ routes: RouteIndexEntry[];
26
+ scopeCapped: boolean;
27
+ capReason?: string;
28
+ /** Cache build metadata */
29
+ buildMs: number;
30
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Phase 4B — Persistent cache schema.
3
+ *
4
+ * This is the on-disk representation of a WorkspaceIndex.
5
+ * The `files` Map is serialized as an array of [key, value] pairs.
6
+ */
7
+ /** Bump when index format changes to auto-invalidate stale caches. */
8
+ export const CACHE_SCHEMA_VERSION = 1;
9
+ //# sourceMappingURL=CacheSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheSchema.js","sourceRoot":"","sources":["../../src/cache/CacheSchema.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { WorkspaceIndex } from '../search/types.js';
2
+ import { type PersistedIndex } from './CacheSchema.js';
3
+ export declare class CacheStore {
4
+ private readonly cacheDir;
5
+ private readonly cacheFile;
6
+ constructor(fingerprint: string, indexVersion: number);
7
+ /**
8
+ * Load a persisted index from disk.
9
+ * Returns null if no cache exists, the schema is wrong, or the cache is too old.
10
+ */
11
+ load(): PersistedIndex | null;
12
+ /**
13
+ * Save a workspace index to disk.
14
+ * Serializes the files Map and stores file mtimes for freshness validation.
15
+ * Non-blocking: errors are silently swallowed (cache is best-effort).
16
+ */
17
+ save(index: WorkspaceIndex, scopeKey: string, indexVersion: number): void;
18
+ /** Remove the cache file for this workspace. */
19
+ evict(): void;
20
+ /** Remove all cache files older than MAX_CACHE_AGE_MS (for cleanup). */
21
+ static pruneOldCaches(): void;
22
+ }
@@ -0,0 +1,111 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import * as os from 'os';
4
+ import { CACHE_SCHEMA_VERSION } from './CacheSchema.js';
5
+ /**
6
+ * Phase 4B — Persistent cache store.
7
+ *
8
+ * Reads and writes the workspace index to disk as JSON.
9
+ * Location: <os.tmpdir()>/lsp-intelligence-cache/<fingerprint>/index-v<version>.json
10
+ *
11
+ * Positioned as ACCELERATION, not source of truth. The live semantic state
12
+ * (workspace snapshot, LSP, TypeScript checker) always wins.
13
+ */
14
+ const CACHE_BASE_DIR = path.join(os.tmpdir(), 'lsp-intelligence-cache');
15
+ const MAX_CACHE_AGE_MS = 7 * 24 * 60 * 60 * 1000; // 7 days
16
+ export class CacheStore {
17
+ cacheDir;
18
+ cacheFile;
19
+ constructor(fingerprint, indexVersion) {
20
+ this.cacheDir = path.join(CACHE_BASE_DIR, fingerprint);
21
+ this.cacheFile = path.join(this.cacheDir, `index-v${CACHE_SCHEMA_VERSION}-i${indexVersion}.json`);
22
+ }
23
+ /**
24
+ * Load a persisted index from disk.
25
+ * Returns null if no cache exists, the schema is wrong, or the cache is too old.
26
+ */
27
+ load() {
28
+ try {
29
+ if (!fs.existsSync(this.cacheFile))
30
+ return null;
31
+ const stat = fs.statSync(this.cacheFile);
32
+ if (Date.now() - stat.mtimeMs > MAX_CACHE_AGE_MS) {
33
+ this.evict();
34
+ return null;
35
+ }
36
+ const raw = fs.readFileSync(this.cacheFile, 'utf-8');
37
+ const parsed = JSON.parse(raw);
38
+ if (parsed.schemaVersion !== CACHE_SCHEMA_VERSION)
39
+ return null;
40
+ return parsed;
41
+ }
42
+ catch {
43
+ return null;
44
+ }
45
+ }
46
+ /**
47
+ * Save a workspace index to disk.
48
+ * Serializes the files Map and stores file mtimes for freshness validation.
49
+ * Non-blocking: errors are silently swallowed (cache is best-effort).
50
+ */
51
+ save(index, scopeKey, indexVersion) {
52
+ try {
53
+ fs.mkdirSync(this.cacheDir, { recursive: true });
54
+ const fileMtimes = {};
55
+ const fileEntries = [];
56
+ for (const [filePath, entry] of index.files) {
57
+ fileMtimes[filePath] = entry.mtimeMs;
58
+ fileEntries.push([filePath, entry]);
59
+ }
60
+ const buildStart = Date.now();
61
+ const persisted = {
62
+ schemaVersion: CACHE_SCHEMA_VERSION,
63
+ indexVersion,
64
+ root: index.root,
65
+ builtAt: index.builtAt,
66
+ scopeKey,
67
+ fileEntries,
68
+ fileMtimes,
69
+ declarations: index.declarations,
70
+ usages: index.usages,
71
+ docs: index.docs,
72
+ configs: index.configs,
73
+ routes: index.routes,
74
+ scopeCapped: index.scopeCapped,
75
+ capReason: index.capReason,
76
+ buildMs: Date.now() - buildStart,
77
+ };
78
+ fs.writeFileSync(this.cacheFile, JSON.stringify(persisted), 'utf-8');
79
+ }
80
+ catch {
81
+ // Cache writes are best-effort — never block on failure
82
+ }
83
+ }
84
+ /** Remove the cache file for this workspace. */
85
+ evict() {
86
+ try {
87
+ fs.rmSync(this.cacheFile, { force: true });
88
+ }
89
+ catch { }
90
+ }
91
+ /** Remove all cache files older than MAX_CACHE_AGE_MS (for cleanup). */
92
+ static pruneOldCaches() {
93
+ try {
94
+ if (!fs.existsSync(CACHE_BASE_DIR))
95
+ return;
96
+ const cutoff = Date.now() - MAX_CACHE_AGE_MS;
97
+ for (const dir of fs.readdirSync(CACHE_BASE_DIR)) {
98
+ const dirPath = path.join(CACHE_BASE_DIR, dir);
99
+ try {
100
+ const stat = fs.statSync(dirPath);
101
+ if (stat.isDirectory() && stat.mtimeMs < cutoff) {
102
+ fs.rmSync(dirPath, { recursive: true, force: true });
103
+ }
104
+ }
105
+ catch { }
106
+ }
107
+ }
108
+ catch { }
109
+ }
110
+ }
111
+ //# sourceMappingURL=CacheStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheStore.js","sourceRoot":"","sources":["../../src/cache/CacheStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { WorkspaceIndex, SearchScope } from '../search/types.js';
2
+ /**
3
+ * Phase 4B — Semantic cache main interface.
4
+ *
5
+ * Wraps the CacheStore to provide a higher-level API:
6
+ * - tryLoad: attempt to load and VALIDATE a persisted index
7
+ * - save: persist a freshly built index for the next session
8
+ *
9
+ * Validation: compares stored file mtimes against current disk state.
10
+ * If any file has changed since the cache was built, the cache is stale
11
+ * and returns null (caller rebuilds and saves a fresh cache).
12
+ *
13
+ * IMPORTANT: This cache is bypassed entirely when a SnapshotResolver
14
+ * is provided (overlay/unsaved edits can't be persisted).
15
+ */
16
+ export declare class SemanticCache {
17
+ private readonly store;
18
+ private readonly fingerprint;
19
+ constructor(scope: SearchScope, indexVersion: number);
20
+ /**
21
+ * Try to load a valid cached WorkspaceIndex.
22
+ * Returns null if:
23
+ * - No cache file exists
24
+ * - Cache schema version mismatch
25
+ * - Cache is older than 7 days
26
+ * - Any cached file's mtime differs from the current disk mtime
27
+ *
28
+ * Cache validation is O(N files) but uses only stat calls — fast for typical workspaces.
29
+ */
30
+ tryLoad(scopeKey: string): WorkspaceIndex | null;
31
+ /**
32
+ * Persist a freshly built WorkspaceIndex for future sessions.
33
+ * Called after a successful build. Never throws.
34
+ */
35
+ save(index: WorkspaceIndex, scopeKey: string, indexVersion: number): void;
36
+ /** Invalidate the cache for this workspace (e.g. after clearWorkspaceIndex). */
37
+ invalidate(): void;
38
+ }
@@ -0,0 +1,87 @@
1
+ import * as fs from 'fs';
2
+ import { CacheStore } from './CacheStore.js';
3
+ import { computeScopeFingerprint } from './SnapshotFingerprint.js';
4
+ /**
5
+ * Phase 4B — Semantic cache main interface.
6
+ *
7
+ * Wraps the CacheStore to provide a higher-level API:
8
+ * - tryLoad: attempt to load and VALIDATE a persisted index
9
+ * - save: persist a freshly built index for the next session
10
+ *
11
+ * Validation: compares stored file mtimes against current disk state.
12
+ * If any file has changed since the cache was built, the cache is stale
13
+ * and returns null (caller rebuilds and saves a fresh cache).
14
+ *
15
+ * IMPORTANT: This cache is bypassed entirely when a SnapshotResolver
16
+ * is provided (overlay/unsaved edits can't be persisted).
17
+ */
18
+ export class SemanticCache {
19
+ store;
20
+ fingerprint;
21
+ constructor(scope, indexVersion) {
22
+ const fp = computeScopeFingerprint(scope.roots[0] ?? '', scope.includeTests);
23
+ this.fingerprint = fp.key;
24
+ this.store = new CacheStore(fp.key, indexVersion);
25
+ }
26
+ /**
27
+ * Try to load a valid cached WorkspaceIndex.
28
+ * Returns null if:
29
+ * - No cache file exists
30
+ * - Cache schema version mismatch
31
+ * - Cache is older than 7 days
32
+ * - Any cached file's mtime differs from the current disk mtime
33
+ *
34
+ * Cache validation is O(N files) but uses only stat calls — fast for typical workspaces.
35
+ */
36
+ tryLoad(scopeKey) {
37
+ const persisted = this.store.load();
38
+ if (!persisted)
39
+ return null;
40
+ if (persisted.scopeKey !== scopeKey)
41
+ return null;
42
+ // Validate freshness: check every cached file's mtime
43
+ for (const [filePath, cachedMtime] of Object.entries(persisted.fileMtimes)) {
44
+ try {
45
+ const currentMtime = fs.statSync(filePath).mtimeMs;
46
+ if (currentMtime !== cachedMtime)
47
+ return null; // file changed
48
+ }
49
+ catch {
50
+ return null; // file deleted or inaccessible
51
+ }
52
+ }
53
+ // Cache is valid — reconstruct WorkspaceIndex
54
+ return deserializeIndex(persisted);
55
+ }
56
+ /**
57
+ * Persist a freshly built WorkspaceIndex for future sessions.
58
+ * Called after a successful build. Never throws.
59
+ */
60
+ save(index, scopeKey, indexVersion) {
61
+ this.store.save(index, scopeKey, indexVersion);
62
+ }
63
+ /** Invalidate the cache for this workspace (e.g. after clearWorkspaceIndex). */
64
+ invalidate() {
65
+ this.store.evict();
66
+ }
67
+ }
68
+ // ---------------------------------------------------------------------------
69
+ // Deserialization
70
+ // ---------------------------------------------------------------------------
71
+ function deserializeIndex(p) {
72
+ // Reconstruct the files Map from the serialized array
73
+ const files = new Map(p.fileEntries.map(([k, v]) => [k, v]));
74
+ return {
75
+ root: p.root,
76
+ builtAt: p.builtAt,
77
+ files,
78
+ declarations: p.declarations,
79
+ usages: p.usages,
80
+ docs: p.docs,
81
+ configs: p.configs,
82
+ routes: p.routes,
83
+ scopeCapped: p.scopeCapped,
84
+ capReason: p.capReason,
85
+ };
86
+ }
87
+ //# sourceMappingURL=SemanticCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SemanticCache.js","sourceRoot":"","sources":["../../src/cache/SemanticCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGnE;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,aAAa;IACP,KAAK,CAAa;IAClB,WAAW,CAAS;IAErC,YAAY,KAAkB,EAAE,YAAoB;QAClD,MAAM,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAgB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEjD,sDAAsD;QACtD,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3E,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBACnD,IAAI,YAAY,KAAK,WAAW;oBAAE,OAAO,IAAI,CAAC,CAAC,eAAe;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC,CAAC,+BAA+B;YAC9C,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,KAAqB,EAAE,QAAgB,EAAE,YAAoB;QAChE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,gFAAgF;IAChF,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,SAAS,gBAAgB,CAAC,CAAiB;IACzC,sDAAsD;IACtD,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACtC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,KAAK;QACL,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,SAAS,EAAE,CAAC,CAAC,SAAkD;KAChE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Phase 4B — Workspace fingerprinting.
3
+ *
4
+ * Computes a stable key for a workspace scope so the persistent cache
5
+ * can be partitioned by workspace + scope without collisions.
6
+ */
7
+ export interface ScopeFingerprint {
8
+ /** Stable key for cache file naming */
9
+ key: string;
10
+ /** Human-readable label for debugging */
11
+ label: string;
12
+ }
13
+ /**
14
+ * Compute a fingerprint for a search scope.
15
+ * Deterministic: same scope always produces the same key.
16
+ */
17
+ export declare function computeScopeFingerprint(workspaceRoot: string, includeTests: boolean): ScopeFingerprint;
@@ -0,0 +1,14 @@
1
+ import * as crypto from 'crypto';
2
+ import * as path from 'path';
3
+ /**
4
+ * Compute a fingerprint for a search scope.
5
+ * Deterministic: same scope always produces the same key.
6
+ */
7
+ export function computeScopeFingerprint(workspaceRoot, includeTests) {
8
+ const normalized = path.normalize(workspaceRoot).toLowerCase();
9
+ const content = `${normalized}:tests=${includeTests}`;
10
+ const key = crypto.createHash('sha1').update(content).digest('hex').slice(0, 16);
11
+ const label = path.basename(workspaceRoot);
12
+ return { key, label };
13
+ }
14
+ //# sourceMappingURL=SnapshotFingerprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SnapshotFingerprint.js","sourceRoot":"","sources":["../../src/cache/SnapshotFingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAgB7B;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,aAAqB,EACrB,YAAqB;IAErB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,MAAM,OAAO,GAAG,GAAG,UAAU,UAAU,YAAY,EAAE,CAAC;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACxB,CAAC"}
@@ -12,6 +12,22 @@ export declare class DocumentManager {
12
12
  * Re-read a file from disk and send didChange. For live diagnostics after edits.
13
13
  */
14
14
  refreshFromDisk(filePath: string, connection: MessageConnection): Promise<string>;
15
+ /**
16
+ * Apply an in-memory edit to an already-open document (e.g. from editor didChange).
17
+ * Updates the cached content and sends textDocument/didChange to the language server.
18
+ * If the file is not yet open, opens it first with the given content.
19
+ */
20
+ applyEdit(filePath: string, newContent: string, connection: MessageConnection): Promise<void>;
21
+ /**
22
+ * Return a snapshot of all currently open documents.
23
+ * Used by OverlayStore to build a WorkspaceSnapshot.
24
+ */
25
+ getOpenDocuments(): ReadonlyMap<string, Readonly<{
26
+ uri: string;
27
+ version: number;
28
+ content: string;
29
+ languageId: string;
30
+ }>>;
15
31
  getContent(uri: string): string | undefined;
16
32
  isOpen(uri: string): boolean;
17
33
  cacheDiagnostics(uri: string, diagnostics: Diagnostic[]): void;
@@ -46,6 +46,38 @@ export class DocumentManager {
46
46
  }
47
47
  return content;
48
48
  }
49
+ /**
50
+ * Apply an in-memory edit to an already-open document (e.g. from editor didChange).
51
+ * Updates the cached content and sends textDocument/didChange to the language server.
52
+ * If the file is not yet open, opens it first with the given content.
53
+ */
54
+ async applyEdit(filePath, newContent, connection) {
55
+ const uri = pathToUri(filePath);
56
+ const existing = this.openDocs.get(uri);
57
+ if (existing) {
58
+ existing.version++;
59
+ existing.content = newContent;
60
+ connection.sendNotification('textDocument/didChange', {
61
+ textDocument: { uri, version: existing.version },
62
+ contentChanges: [{ text: newContent }],
63
+ });
64
+ }
65
+ else {
66
+ const languageId = this.detectLanguage(filePath);
67
+ const doc = { uri, version: 1, content: newContent, languageId };
68
+ this.openDocs.set(uri, doc);
69
+ connection.sendNotification('textDocument/didOpen', {
70
+ textDocument: { uri, languageId, version: 1, text: newContent },
71
+ });
72
+ }
73
+ }
74
+ /**
75
+ * Return a snapshot of all currently open documents.
76
+ * Used by OverlayStore to build a WorkspaceSnapshot.
77
+ */
78
+ getOpenDocuments() {
79
+ return this.openDocs;
80
+ }
49
81
  getContent(uri) {
50
82
  return this.openDocs.get(uri)?.content;
51
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentManager.js","sourceRoot":"","sources":["../../src/engine/DocumentManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentManager.js","sourceRoot":"","sources":["../../src/engine/DocumentManager.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -39,6 +39,9 @@ import { liveDiagnostics } from './tools/live/liveDiagnostics.js';
39
39
  import { findUnusedExports } from './tools/live/findUnusedExports.js';
40
40
  import { autoImport } from './tools/live/autoImport.js';
41
41
  import { clearIndex } from './tools/live/clearIndex.js';
42
+ // Workflows
43
+ import { verifyChangeSet } from './workflows/verifyChangeSet.js';
44
+ import { simulateChange } from './workflows/simulateChange.js';
42
45
  const workspaceRoot = process.env.LSP_WORKSPACE_ROOT || process.cwd();
43
46
  async function main() {
44
47
  console.error(`[lsp-intelligence] Starting with workspace: ${workspaceRoot}`);
@@ -78,6 +81,9 @@ async function main() {
78
81
  findUnusedExports,
79
82
  autoImport,
80
83
  clearIndex,
84
+ // Workflows
85
+ verifyChangeSet,
86
+ simulateChange,
81
87
  ]);
82
88
  engine.initialize().catch((err) => {
83
89
  console.error(`[lsp-intelligence] Engine initialization failed: ${err.message}`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,aAAa;AACb,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO;AACP,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAEtE,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,KAAK,CAAC,+CAA+C,aAAa,EAAE,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EACrC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;IAEF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE;QAC1B,sBAAsB;QACtB,cAAc;QACd,cAAc;QACd,kBAAkB;QAClB,KAAK;QACL,mBAAmB;QACnB,eAAe;QACf,gBAAgB;QAChB,aAAa;QACb,MAAM;QACN,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,sBAAsB;QACtB,aAAa;QACb,UAAU;QACV,WAAW;QACX,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,WAAW;QACX,QAAQ;QACR,QAAQ;QACR,cAAc;QACd,mBAAmB;QACnB,OAAO;QACP,aAAa;QACb,gBAAgB;QAChB,eAAe;QACf,iBAAiB;QACjB,UAAU;QACV,UAAU;QACV,YAAY;QACZ,eAAe;QACf,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,OAAO,CAAC,KAAK,CAAC,oDAAoD,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEhE,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,6 +1,12 @@
1
- import type { SearchAdapter } from './types.js';
2
1
  /**
3
- * HTTP/API adapter emits recipes for endpoint, route, and fetch queries.
4
- * Distinguishes between route DEFINITIONS and outbound API CALLS.
2
+ * Phase 2E migration cutover: thin compatibility wrapper.
3
+ *
4
+ * HTTP/route detection has been distributed across:
5
+ * - src/adapters/next/index.ts (Next.js route patterns)
6
+ * - src/adapters/express/index.ts (Express/Fastify route patterns)
7
+ *
8
+ * The httpAdapter is kept here for backward compatibility with any code
9
+ * that still imports it from this path. It delegates to the v2 adapters.
5
10
  */
11
+ import type { SearchAdapter } from './types.js';
6
12
  export declare const httpAdapter: SearchAdapter;
@@ -1,58 +1,13 @@
1
- /**
2
- * HTTP/API adapter emits recipes for endpoint, route, and fetch queries.
3
- * Distinguishes between route DEFINITIONS and outbound API CALLS.
4
- */
1
+ import { nextAdapter } from '../../adapters/next/index.js';
2
+ import { expressAdapter } from '../../adapters/express/index.js';
5
3
  export const httpAdapter = {
6
4
  id: 'http',
7
5
  detect(ir) {
8
- if (!ir.traits.routeLike)
9
- return [];
10
- const recipes = [];
11
- const isDefinitionQuery = ir.nlTokens.some((t) => ['endpoint', 'route', 'handler', 'defined', 'registered'].includes(t));
12
- const isCallQuery = ir.nlTokens.some((t) => ['fetch', 'request', 'http', 'call', 'calls'].includes(t));
13
- // Route/endpoint DEFINITION queries — server-side handler registration
14
- if (isDefinitionQuery) {
15
- recipes.push({
16
- id: 'http.route-definition',
17
- adapter: 'http',
18
- retrievers: ['behavior', 'regex', 'config'],
19
- regexes: [
20
- // Express/Fastify/Koa-style route registration
21
- { id: 'express-route', pattern: '(?:app|router)\\.(get|post|put|delete|patch|use)\\s*\\(', flags: 'gi' },
22
- // Next.js API route handlers
23
- { id: 'next-api-handler', pattern: 'export\\s+(?:default\\s+)?(?:async\\s+)?function\\s+(?:GET|POST|PUT|DELETE|PATCH|handler)', flags: 'g' },
24
- // Route config objects
25
- { id: 'route-config', pattern: '(?:routes|endpoints)\\s*[:=]\\s*[\\[{]', flags: 'gi' },
26
- ],
27
- scoreBoost: 3,
28
- reasons: ['HTTP adapter: route/endpoint definition query'],
29
- });
30
- }
31
- // Outbound API CALL queries — client-side fetch/request
32
- if (isCallQuery && !isDefinitionQuery) {
33
- recipes.push({
34
- id: 'http.api-call',
35
- adapter: 'http',
36
- retrievers: ['behavior', 'regex'],
37
- regexes: [
38
- { id: 'fetch-call', pattern: '(?:fetch|axios|request)\\s*\\(', flags: 'g' },
39
- { id: 'http-method', pattern: '\\.(get|post|put|delete|patch)\\s*\\(', flags: 'g' },
40
- ],
41
- scoreBoost: 1,
42
- reasons: ['HTTP adapter: outbound API call query'],
43
- });
44
- }
45
- // Ambiguous — both definition and call traits
46
- if (!isDefinitionQuery && !isCallQuery) {
47
- recipes.push({
48
- id: 'http.general',
49
- adapter: 'http',
50
- retrievers: ['behavior', 'config'],
51
- scoreBoost: 1,
52
- reasons: ['HTTP adapter: general route/API query'],
53
- });
54
- }
55
- return recipes;
6
+ // Combine Next.js and Express route detection recipes
7
+ return [
8
+ ...(nextAdapter.detect?.(ir) ?? []),
9
+ ...(expressAdapter.detect?.(ir) ?? []),
10
+ ];
56
11
  },
57
12
  };
58
13
  //# sourceMappingURL=http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/search/adapters/http.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,EAAE,EAAE,MAAM;IAEV,MAAM,CAAC,EAAW;QAChB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAEpC,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,MAAM,iBAAiB,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzH,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvG,uEAAuE;QACvE,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,uBAAuB;gBAC3B,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;gBAC3C,OAAO,EAAE;oBACP,+CAA+C;oBAC/C,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,yDAAyD,EAAE,KAAK,EAAE,IAAI,EAAE;oBACxG,6BAA6B;oBAC7B,EAAE,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,2FAA2F,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC5I,uBAAuB;oBACvB,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,wCAAwC,EAAE,KAAK,EAAE,IAAI,EAAE;iBACvF;gBACD,UAAU,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,+CAA+C,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,IAAI,WAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,eAAe;gBACnB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;gBACjC,OAAO,EAAE;oBACP,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC3E,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,uCAAuC,EAAE,KAAK,EAAE,GAAG,EAAE;iBACpF;gBACD,UAAU,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,uCAAuC,CAAC;aACnD,CAAC,CAAC;QACL,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,cAAc;gBAClB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;gBAClC,UAAU,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC,uCAAuC,CAAC;aACnD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/search/adapters/http.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,EAAE,EAAE,MAAM;IACV,MAAM,CAAC,EAAW;QAChB,sDAAsD;QACtD,OAAO;YACL,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACnC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,12 +1,12 @@
1
- import type { SearchAdapter } from './types.js';
2
1
  /**
3
- * React adapter emits search recipes for React hook/component queries.
2
+ * Phase 2E migration cutover: thin compatibility wrapper.
3
+ *
4
+ * The React adapter has moved to src/adapters/react/index.ts.
5
+ * It now implements IntelligenceAdapter (v2) with graph.denylist intelligence
6
+ * in addition to search recipes.
4
7
  *
5
- * Recipes:
6
- * - react.useeffect.conditional-cleanup
7
- * - react.useeffect.functional-state-updater
8
- * - react.usememo.computation
9
- * - react.usecallback.memoized-handler
10
- * - react.hook.general (fallback for any hook query)
8
+ * Old consumers of this module still work via this re-export.
11
9
  */
10
+ import type { SearchAdapter } from './types.js';
11
+ /** Backward-compatible SearchAdapter wrapper around the v2 React adapter */
12
12
  export declare const reactAdapter: SearchAdapter;