ghagga-core 3.0.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/agents/audit.js +1 -1
  2. package/dist/agents/audit.js.map +1 -1
  3. package/dist/agents/diagnostic.d.ts.map +1 -1
  4. package/dist/agents/diagnostic.js +1 -1
  5. package/dist/agents/diagnostic.js.map +1 -1
  6. package/dist/agents/fan-out-lenses.js +1 -1
  7. package/dist/agents/fan-out-lenses.js.map +1 -1
  8. package/dist/agents/prompts.js +1 -1
  9. package/dist/agents/prompts.js.map +1 -1
  10. package/dist/agents/simple.d.ts.map +1 -1
  11. package/dist/agents/simple.js +1 -1
  12. package/dist/agents/simple.js.map +1 -1
  13. package/dist/embed.d.ts +140 -0
  14. package/dist/embed.d.ts.map +1 -1
  15. package/dist/embed.js +288 -0
  16. package/dist/embed.js.map +1 -1
  17. package/dist/index.d.ts +6 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/memory/backfill.d.ts +58 -0
  22. package/dist/memory/backfill.d.ts.map +1 -0
  23. package/dist/memory/backfill.js +85 -0
  24. package/dist/memory/backfill.js.map +1 -0
  25. package/dist/memory/sqlite.d.ts +78 -12
  26. package/dist/memory/sqlite.d.ts.map +1 -1
  27. package/dist/memory/sqlite.js +265 -85
  28. package/dist/memory/sqlite.js.map +1 -1
  29. package/dist/pipeline/gather-context.d.ts.map +1 -1
  30. package/dist/pipeline/gather-context.js +4 -2
  31. package/dist/pipeline/gather-context.js.map +1 -1
  32. package/dist/pipeline/gather-safe.d.ts +24 -4
  33. package/dist/pipeline/gather-safe.d.ts.map +1 -1
  34. package/dist/pipeline/gather-safe.js +42 -6
  35. package/dist/pipeline/gather-safe.js.map +1 -1
  36. package/dist/pipeline/prepare.d.ts.map +1 -1
  37. package/dist/pipeline/prepare.js +26 -0
  38. package/dist/pipeline/prepare.js.map +1 -1
  39. package/dist/pipeline/providers.d.ts.map +1 -1
  40. package/dist/pipeline/providers.js +1 -0
  41. package/dist/pipeline/providers.js.map +1 -1
  42. package/dist/pipeline/state.d.ts +3 -1
  43. package/dist/pipeline/state.d.ts.map +1 -1
  44. package/dist/providers/cli-bridge.d.ts +5 -0
  45. package/dist/providers/cli-bridge.d.ts.map +1 -1
  46. package/dist/providers/cli-bridge.js +65 -5
  47. package/dist/providers/cli-bridge.js.map +1 -1
  48. package/dist/providers/gateway-discovery.d.ts +60 -0
  49. package/dist/providers/gateway-discovery.d.ts.map +1 -0
  50. package/dist/providers/gateway-discovery.js +118 -0
  51. package/dist/providers/gateway-discovery.js.map +1 -0
  52. package/dist/providers/gateway.d.ts +95 -0
  53. package/dist/providers/gateway.d.ts.map +1 -1
  54. package/dist/providers/gateway.js +391 -9
  55. package/dist/providers/gateway.js.map +1 -1
  56. package/dist/providers/generate-fn.d.ts +1 -0
  57. package/dist/providers/generate-fn.d.ts.map +1 -1
  58. package/dist/providers/generate-fn.js.map +1 -1
  59. package/dist/tools/cpd.js +2 -2
  60. package/dist/tools/cpd.js.map +1 -1
  61. package/dist/tools/execution.d.ts +3 -1
  62. package/dist/tools/execution.d.ts.map +1 -1
  63. package/dist/tools/execution.js +10 -2
  64. package/dist/tools/execution.js.map +1 -1
  65. package/dist/tools/gitleaks-config.toml +23 -0
  66. package/dist/tools/runner.d.ts.map +1 -1
  67. package/dist/tools/runner.js +2 -1
  68. package/dist/tools/runner.js.map +1 -1
  69. package/dist/tools/semgrep.js +2 -2
  70. package/dist/tools/semgrep.js.map +1 -1
  71. package/dist/types.d.ts +47 -2
  72. package/dist/types.d.ts.map +1 -1
  73. package/dist/types.js.map +1 -1
  74. package/dist/utils/concurrency.d.ts.map +1 -1
  75. package/dist/utils/concurrency.js +37 -1
  76. package/dist/utils/concurrency.js.map +1 -1
  77. package/dist/utils/llm-timeout.d.ts +1 -1
  78. package/dist/utils/llm-timeout.d.ts.map +1 -1
  79. package/package.json +9 -9
package/dist/embed.js CHANGED
@@ -5,7 +5,295 @@
5
5
  * - Feature #4: Hybrid search (BM25 + semantic vector search)
6
6
  * - Feature #12: Semantic ranking of findings
7
7
  * - Feature #13: Negative example filtering
8
+ *
9
+ * Also provides config resolution + a provider registry/factory
10
+ * (`resolveEmbeddingConfig` / `createEmbeddingProvider`) so every
11
+ * construction site (server, CLI, Action) can share one config surface.
12
+ * Default provider is `none` — no behavior change until a context opts in.
13
+ */
14
+ import { z } from 'zod';
15
+ /**
16
+ * Thrown by provider implementations when an embed/embedBatch call fails
17
+ * (network error, non-2xx response, unparseable body). Callers at the
18
+ * search/save layer are responsible for catching this and degrading
19
+ * gracefully (spec: "Graceful Degradation on Provider/API Failure") —
20
+ * this module never swallows the failure itself.
8
21
  */
22
+ export class EmbeddingProviderError extends Error {
23
+ constructor(message, options) {
24
+ super(message, options);
25
+ this.name = 'EmbeddingProviderError';
26
+ }
27
+ }
28
+ // ─── Config Resolution ─────────────────────────────────────────
29
+ const embeddingConfigSchema = z.object({
30
+ /** Provider id, e.g. `none` | `openai-compatible` | `local`. Not enum-restricted here — unknown ids are handled (fallback + warn) by createEmbeddingProvider, not by config parsing. */
31
+ provider: z.string().trim().min(1).default('none'),
32
+ model: z.string().trim().min(1).optional(),
33
+ baseUrl: z.string().trim().min(1).optional(),
34
+ apiKey: z.string().trim().min(1).optional(),
35
+ dimension: z.coerce.number().int().positive().optional(),
36
+ /** Bounded cosine candidate set size (design D4). Read by later PRs. */
37
+ candidateK: z.coerce.number().int().positive().default(200),
38
+ });
39
+ /**
40
+ * Resolve embedding config from an env-like record (design D2).
41
+ * Server reads `process.env` directly; CLI/Action map their own
42
+ * config/inputs onto these same keys before calling this.
43
+ */
44
+ export function resolveEmbeddingConfig(env) {
45
+ return embeddingConfigSchema.parse({
46
+ provider: env.EMBEDDING_PROVIDER,
47
+ model: env.EMBEDDING_MODEL,
48
+ baseUrl: env.EMBEDDING_BASE_URL,
49
+ apiKey: env.EMBEDDING_API_KEY,
50
+ dimension: env.EMBEDDING_DIMENSION,
51
+ candidateK: env.EMBEDDING_CANDIDATE_K,
52
+ });
53
+ }
54
+ /**
55
+ * Registry of known provider ids. `local` (design D7) never throws or
56
+ * requires config: it falls back to `DEFAULT_LOCAL_MODEL`/`DEFAULT_LOCAL_DIMENSION`
57
+ * when `EMBEDDING_MODEL`/`EMBEDDING_DIMENSION` are unset, and the underlying
58
+ * `@xenova/transformers` package is loaded lazily on first use — a missing
59
+ * or failing optional dependency degrades the provider instance itself
60
+ * (never the factory) to keyword-only output. The GitHub Action never
61
+ * reaches this branch: its own config resolver coerces `local` → `none`
62
+ * before calling `createEmbeddingProvider` (task 5.3), and its `ncc` build
63
+ * excludes `@xenova/transformers` from the bundle entirely (task 7.3).
64
+ */
65
+ const providerRegistry = {
66
+ none: () => null,
67
+ 'openai-compatible': (config) => {
68
+ if (!config.baseUrl || !config.model || !config.dimension) {
69
+ console.warn('[ghagga] embedding provider "openai-compatible" requires baseUrl, model, and dimension — falling back to none.');
70
+ return null;
71
+ }
72
+ return new OpenAICompatibleEmbeddingProvider({
73
+ baseUrl: config.baseUrl,
74
+ model: config.model,
75
+ dimension: config.dimension,
76
+ apiKey: config.apiKey,
77
+ });
78
+ },
79
+ local: (config) => new LocalEmbeddingProvider({
80
+ model: config.model ?? DEFAULT_LOCAL_MODEL,
81
+ dimension: config.dimension ?? DEFAULT_LOCAL_DIMENSION,
82
+ }),
83
+ };
84
+ /**
85
+ * Resolve a concrete EmbeddingProvider from config (spec: "Provider
86
+ * Selection via Registry/Factory"). Unknown provider ids fall back to
87
+ * `none` and log a warning instead of throwing.
88
+ */
89
+ export function createEmbeddingProvider(config) {
90
+ const build = providerRegistry[config.provider];
91
+ if (!build) {
92
+ console.warn(`[ghagga] Unknown embedding provider id "${config.provider}" — falling back to none.`);
93
+ return null;
94
+ }
95
+ return build(config);
96
+ }
97
+ /**
98
+ * Generic `/v1/embeddings`-shaped HTTP provider (design D1). Covers
99
+ * OpenAI, Voyage-compatible endpoints, and self-hosted servers (Ollama,
100
+ * LM Studio, text-embeddings-inference) by base URL alone.
101
+ */
102
+ export class OpenAICompatibleEmbeddingProvider {
103
+ dimension;
104
+ baseUrl;
105
+ model;
106
+ apiKey;
107
+ constructor(config) {
108
+ this.baseUrl = config.baseUrl.replace(/\/+$/, '');
109
+ this.model = config.model;
110
+ this.dimension = config.dimension;
111
+ this.apiKey = config.apiKey;
112
+ }
113
+ async embed(text) {
114
+ const vectors = await this.embedBatch([text]);
115
+ const [vector] = vectors;
116
+ return vector;
117
+ }
118
+ /** Issues ONE request for all inputs (spec: "Batched Embedding Calls"). */
119
+ async embedBatch(texts) {
120
+ let response;
121
+ try {
122
+ response = await fetch(`${this.baseUrl}/embeddings`, {
123
+ method: 'POST',
124
+ headers: {
125
+ 'Content-Type': 'application/json',
126
+ ...(this.apiKey ? { Authorization: `Bearer ${this.apiKey}` } : {}),
127
+ },
128
+ body: JSON.stringify({ model: this.model, input: texts }),
129
+ });
130
+ }
131
+ catch (error) {
132
+ throw new EmbeddingProviderError(`Embedding request to ${this.baseUrl}/embeddings failed: ${error.message}`, { cause: error });
133
+ }
134
+ if (!response.ok) {
135
+ throw new EmbeddingProviderError(`Embedding API returned ${response.status} ${response.statusText}`);
136
+ }
137
+ let body;
138
+ try {
139
+ body = (await response.json());
140
+ }
141
+ catch (error) {
142
+ throw new EmbeddingProviderError(`Failed to parse embedding API response: ${error.message}`, { cause: error });
143
+ }
144
+ if (!Array.isArray(body.data)) {
145
+ throw new EmbeddingProviderError('Embedding API response is missing a "data" array');
146
+ }
147
+ return body.data.map((item, index) => {
148
+ if (!Array.isArray(item.embedding)) {
149
+ throw new EmbeddingProviderError(`Embedding API response is missing "embedding" at data[${index}]`);
150
+ }
151
+ return item.embedding;
152
+ });
153
+ }
154
+ }
155
+ // ─── Local Transformers.js Provider (Optional) ─────────────────
156
+ /**
157
+ * Default local model + dimension used when `EMBEDDING_PROVIDER=local` is
158
+ * selected without an explicit `EMBEDDING_MODEL`/`EMBEDDING_DIMENSION`
159
+ * (design D7, task 7.2).
160
+ */
161
+ export const DEFAULT_LOCAL_MODEL = 'Xenova/all-MiniLM-L6-v2';
162
+ export const DEFAULT_LOCAL_DIMENSION = 384;
163
+ const LOCAL_MODULE_SPECIFIER = '@xenova/transformers';
164
+ async function defaultLoadLocalPipeline(model) {
165
+ // Lazy + dynamic on purpose (design D7): `@xenova/transformers` is an
166
+ // undeclared user-installed optional peer, never statically imported, and the
167
+ // Action's `ncc` build excludes it from the bundle entirely (task 7.3). Routing the
168
+ // specifier through a `string`-typed local (rather than passing the
169
+ // string literal directly to `import()`) also stops TypeScript from
170
+ // trying to resolve the module's types at compile time, which would
171
+ // fail whenever the optional dependency isn't installed.
172
+ const specifier = LOCAL_MODULE_SPECIFIER;
173
+ const transformers = (await import(specifier));
174
+ return transformers.pipeline('feature-extraction', model);
175
+ }
176
+ /**
177
+ * Local, offline embedding provider backed by `@xenova/transformers`
178
+ * (Transformers.js) running entirely in-process — no network calls, no
179
+ * API key required.
180
+ *
181
+ * Optional dependency handling (design D7, task 7.2): the underlying
182
+ * pipeline is loaded lazily on first `embed`/`embedBatch` call, not in
183
+ * the constructor or the factory. If the dynamic import fails (package
184
+ * not installed) OR the pipeline itself throws during initialization
185
+ * (bad model id, unsupported runtime), this provider logs a warning once
186
+ * and permanently degrades — from then on every `embed`/`embedBatch`
187
+ * call THROWS an {@link EmbeddingProviderError} rather than producing a
188
+ * vector. It must NOT return zero vectors: a zero vector persisted on the
189
+ * save path is an indistinguishable-but-useless "valid" embedding (it
190
+ * passes the read guard, contributes cosine 0 forever, and is invisible
191
+ * to backfill because its model/dim MATCH). Throwing instead routes the
192
+ * caller to the correct fallback: the save path catches it and persists a
193
+ * NULL embedding (backfillable later once the dependency is fixed), and
194
+ * the search path catches it and degrades to keyword-only for that query.
195
+ * The "warn once, never crash the caller" intent is preserved — the warn
196
+ * fires a single time on first failure, and the throw is always caught by
197
+ * the save/search layers.
198
+ */
199
+ export class LocalEmbeddingProvider {
200
+ dimension;
201
+ model;
202
+ loadPipeline;
203
+ pipelinePromise = null;
204
+ degraded = false;
205
+ constructor(config, loadPipeline = defaultLoadLocalPipeline) {
206
+ this.model = config.model;
207
+ this.dimension = config.dimension;
208
+ this.loadPipeline = loadPipeline;
209
+ }
210
+ async embed(text) {
211
+ const vectors = await this.embedBatch([text]);
212
+ const [vector] = vectors;
213
+ return vector;
214
+ }
215
+ async embedBatch(texts) {
216
+ const pipe = await this.getPipeline();
217
+ if (!pipe) {
218
+ // Degraded (import/init failed): throw instead of returning zero
219
+ // vectors so the save path persists NULL (backfillable) and the
220
+ // search path degrades to keyword-only. See class-level docstring.
221
+ throw new EmbeddingProviderError(`Local embedding provider "${this.model}" is degraded ` +
222
+ `(@xenova/transformers missing or pipeline init failed) — no embedding produced.`);
223
+ }
224
+ const output = await pipe(texts, { pooling: 'mean', normalize: true });
225
+ return output.tolist();
226
+ }
227
+ /**
228
+ * Lazily loads and memoizes the pipeline. On failure, warns once and
229
+ * permanently marks this instance as degraded (`getPipeline` returns
230
+ * `null` from then on) — the loader is never retried on later calls.
231
+ */
232
+ async getPipeline() {
233
+ if (this.degraded) {
234
+ return null;
235
+ }
236
+ if (!this.pipelinePromise) {
237
+ this.pipelinePromise = this.loadPipeline(this.model);
238
+ }
239
+ try {
240
+ return await this.pipelinePromise;
241
+ }
242
+ catch (error) {
243
+ this.degraded = true;
244
+ console.warn(`[ghagga] local embedding provider "${this.model}" failed to load ` +
245
+ `(@xenova/transformers missing or pipeline init failed) — degrading ` +
246
+ `to keyword-only ranking for the rest of this process: ${error.message}`);
247
+ return null;
248
+ }
249
+ }
250
+ }
251
+ // ─── Fake Provider (Testing) ───────────────────────────────────
252
+ /**
253
+ * Deterministic hash-of-tokens provider for tests (design D8). No network
254
+ * calls, no randomness: the same text always yields the same unit vector,
255
+ * enabling reproducible cosine-similarity assertions across suites.
256
+ */
257
+ export class FakeEmbeddingProvider {
258
+ dimension;
259
+ constructor(dimension = 8) {
260
+ this.dimension = dimension;
261
+ }
262
+ async embed(text) {
263
+ return hashTokensToUnitVector(text, this.dimension);
264
+ }
265
+ async embedBatch(texts) {
266
+ return texts.map((text) => hashTokensToUnitVector(text, this.dimension));
267
+ }
268
+ }
269
+ function hashTokensToUnitVector(text, dimension) {
270
+ const vector = new Array(dimension).fill(0);
271
+ const tokens = text.toLowerCase().split(/\s+/).filter(Boolean);
272
+ for (const token of tokens) {
273
+ let hash = 0;
274
+ for (let i = 0; i < token.length; i++) {
275
+ hash = (hash * 31 + token.charCodeAt(i)) >>> 0;
276
+ }
277
+ vector[hash % dimension] += 1;
278
+ }
279
+ // Degenerate input (empty string / all-whitespace) still needs a valid
280
+ // unit vector rather than a NaN-producing zero-norm division.
281
+ // Note: a manual loop (not `.every(x => x === 0)`) avoids TS's inferred
282
+ // array-literal-type narrowing, which would otherwise narrow `vector` to
283
+ // `0[]` inside the branch and reject the `vector[0] = 1` assignment.
284
+ let hasNonZeroComponent = false;
285
+ for (const component of vector) {
286
+ if (component !== 0) {
287
+ hasNonZeroComponent = true;
288
+ break;
289
+ }
290
+ }
291
+ if (!hasNonZeroComponent) {
292
+ vector[0] = 1;
293
+ }
294
+ const norm = Math.sqrt(vector.reduce((sum, component) => sum + component * component, 0));
295
+ return vector.map((component) => component / norm);
296
+ }
9
297
  // ─── Vector Math ───────────────────────────────────────────────
10
298
  /**
11
299
  * Cosine similarity between two vectors of equal length.
package/dist/embed.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,kEAAkE;AAElE;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAW,EAAE,CAAW;IACvD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;AACvC,CAAC;AAED,kEAAkE;AAElE;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAa;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAwB;IAC3D,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/F,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,MAAM,GAAG,GAAa,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -26,6 +26,8 @@ export type { CLIBridgeOptions, CLIToolName } from './providers/cli-bridge.js';
26
26
  export { CLIConfigurationError, generateViaCLI, getAvailableCLIs, OPENCODE_ENV_BY_PREFIX, sanitizeErrorMessage, } from './providers/cli-bridge.js';
27
27
  export type { GatewayOptions, GatewayResponse } from './providers/gateway.js';
28
28
  export { generateViaGateway } from './providers/gateway.js';
29
+ export type { ChainValidationResult, GatewayModelEntry, GatewayProviderStatus, } from './providers/gateway-discovery.js';
30
+ export { fetchGatewayModels, fetchGatewayProviders, validateProviderChain, } from './providers/gateway-discovery.js';
29
31
  export type { GenerateResult, GenerateTextFn } from './providers/generate-fn.js';
30
32
  export { createCLIBridgeGenerateFn, createGatewayGenerateFn, createOllamaGenerateFn, } from './providers/generate-fn.js';
31
33
  export { fingerprintContext, fingerprintFinding, formatNegativeExamplesPrompt, } from './negative.js';
@@ -58,9 +60,11 @@ export type { ExploitabilityDetail, ExploitabilityLabel } from './exploitability
58
60
  export { analyzeExploitability, checkReachability, extractVulnPackages, findEntryPoints, tracePackageImports, } from './exploitability/index.js';
59
61
  export type { CodeIntelMetadata, CodeIntelProvider, CodeIntelResult, SymbolReference, } from './code-intel/index.js';
60
62
  export { buildCodeIntelContext, McpCodeIntelClient } from './code-intel/index.js';
61
- export type { EmbeddingProvider, EmbeddingProviderFactory } from './embed.js';
62
- export { cosineSimilarity, deserializeEmbedding, serializeEmbedding } from './embed.js';
63
+ export type { EmbeddingConfig, EmbeddingProvider, EmbeddingProviderFactory } from './embed.js';
64
+ export { cosineSimilarity, createEmbeddingProvider, deserializeEmbedding, EmbeddingProviderError, FakeEmbeddingProvider, OpenAICompatibleEmbeddingProvider, resolveEmbeddingConfig, serializeEmbedding, } from './embed.js';
63
65
  export type { AuthorTrustScore, AuthorTrustTier, NegativeExample } from './types.js';
66
+ export type { BackfillOptions, BackfillResult } from './memory/backfill.js';
67
+ export { backfillEmbeddings } from './memory/backfill.js';
64
68
  export type { TrustScoringOptions } from './trust/index.js';
65
69
  export { computeAuthorTrustScore, getReviewModeForTier } from './trust/index.js';
66
70
  export { rankFindings } from './ranking/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ export { detectStacks } from './utils/stack-detect.js';
18
18
  export { calculateRateSchedule, calculateTokenBudget, getContextWindow, } from './utils/token-budget.js';
19
19
  export { CLIConfigurationError, generateViaCLI, getAvailableCLIs, OPENCODE_ENV_BY_PREFIX, sanitizeErrorMessage, } from './providers/cli-bridge.js';
20
20
  export { generateViaGateway } from './providers/gateway.js';
21
+ export { fetchGatewayModels, fetchGatewayProviders, validateProviderChain, } from './providers/gateway-discovery.js';
21
22
  export { createCLIBridgeGenerateFn, createGatewayGenerateFn, createOllamaGenerateFn, } from './providers/generate-fn.js';
22
23
  // ─── Negative Examples ──────────────────────────────────────────
23
24
  export { fingerprintContext, fingerprintFinding, formatNegativeExamplesPrompt, } from './negative.js';
@@ -41,7 +42,8 @@ export { buildGraph, buildGraphIncremental, buildReverseIndex, computeBlastRadiu
41
42
  export { computeHealthScore, computeTrend, formatTopIssues, generateRecommendations, getScoreColor, loadHistory, SEVERITY_WEIGHTS, saveHistory, } from './health/index.js';
42
43
  export { analyzeExploitability, checkReachability, extractVulnPackages, findEntryPoints, tracePackageImports, } from './exploitability/index.js';
43
44
  export { buildCodeIntelContext, McpCodeIntelClient } from './code-intel/index.js';
44
- export { cosineSimilarity, deserializeEmbedding, serializeEmbedding } from './embed.js';
45
+ export { cosineSimilarity, createEmbeddingProvider, deserializeEmbedding, EmbeddingProviderError, FakeEmbeddingProvider, OpenAICompatibleEmbeddingProvider, resolveEmbeddingConfig, serializeEmbedding, } from './embed.js';
46
+ export { backfillEmbeddings } from './memory/backfill.js';
45
47
  export { computeAuthorTrustScore, getReviewModeForTier } from './trust/index.js';
46
48
  // ─── Semantic Ranking (Intelligence v2 — Feature #12) ──────────
47
49
  export { rankFindings } from './ranking/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA6C/C,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMnD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAS9E,OAAO,EACL,cAAc,EACd,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,MAAM,4BAA4B,CAAC;AAYpC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AASpB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpG,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAEpC,mEAAmE;AAEnE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAEvB,mEAAmE;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,sBAAsB,EAGtB,aAAa,EAEb,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAiB5F,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAa9C,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAY9B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAczE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAkB9B,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAWnC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAKlF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMxF,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEjF,kEAAkE;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKjG,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK1E,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAYxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAiB/D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKzE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AASjF,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,cAAc,GACf,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAkBpF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAY5E,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,qBAAqB,EACrB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAe7B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA6C/C,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMnD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAS9E,OAAO,EACL,cAAc,EACd,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,MAAM,4BAA4B,CAAC;AAYpC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AASpB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpG,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAM5D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAEpC,mEAAmE;AAEnE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAEvB,mEAAmE;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,sBAAsB,EAGtB,aAAa,EAEb,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAiB5F,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAa9C,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAY9B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAczE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAkB9B,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAWnC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAKlF,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iCAAiC,EACjC,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEjF,kEAAkE;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKjG,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK1E,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAYxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAiB/D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKzE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AASjF,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,cAAc,GACf,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAkBpF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAY5E,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,qBAAqB,EACrB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAe7B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Backfill mechanism for per-row embeddings (design D6, spec: "Backfill of
3
+ * NULL-Embedding Observations").
4
+ *
5
+ * Reusable across every storage backend that implements the backfill
6
+ * extension of `MemoryStorage` (`SqliteMemoryStorage`, `PostgresMemoryStorage`).
7
+ * Iterates observations needing an embedding in id-ordered batches, calls
8
+ * the active provider's `embedBatch` ONCE per batch (never N `embed()` calls
9
+ * — spec: "Batched Embedding Calls"), and persists the result.
10
+ *
11
+ * Idempotent + resumable: each batch is selected fresh from storage via
12
+ * `listObservationsNeedingEmbedding`, which only ever matches NULL-embedding
13
+ * rows (plus model/dimension-mismatched rows when `reEmbed` is set) — a row
14
+ * already embedded with a matching model/dimension is never re-selected. A
15
+ * failure mid-run (network error, process crash) leaves all rows updated
16
+ * before the failure committed (SQLite: flushed to disk after each
17
+ * successfully completed batch via `storage.flush()`; PostgreSQL: each
18
+ * `UPDATE` commits per-statement, no explicit transaction) — re-running this
19
+ * function picks up exactly where it left off with no duplicate work.
20
+ */
21
+ import type { EmbeddingProvider } from '../embed.js';
22
+ import type { MemoryStorage } from '../types.js';
23
+ export interface BackfillOptions {
24
+ /** Rows processed per `embedBatch()` call. Defaults to 100 (design D6). */
25
+ batchSize?: number;
26
+ /** Max total rows to process across the whole run. Unlimited when omitted. */
27
+ limit?: number;
28
+ /**
29
+ * Also re-embed rows whose stored `embedding_model`/`embedding_dim`
30
+ * mismatches the active provider — not just NULL-embedding rows. Use
31
+ * after a provider/model swap (design D6, task 8.3 rollout note).
32
+ * Defaults to false.
33
+ */
34
+ reEmbed?: boolean;
35
+ /** Delay (ms) between batches — rate/cost control for paid API providers. Defaults to 0. */
36
+ delayMs?: number;
37
+ /** Optional progress callback, invoked after each successfully committed batch. */
38
+ onProgress?: (progress: {
39
+ batch: number;
40
+ batchSize: number;
41
+ totalProcessed: number;
42
+ }) => void;
43
+ }
44
+ export interface BackfillResult {
45
+ totalProcessed: number;
46
+ totalBatches: number;
47
+ }
48
+ /**
49
+ * Run the backfill against `storage`, using `provider` as the active
50
+ * embedding provider and `activeModel` as the model id to persist alongside
51
+ * each embedding.
52
+ *
53
+ * Throws if `storage` doesn't implement the backfill extension methods
54
+ * (`listObservationsNeedingEmbedding` / `updateObservationEmbedding`) — e.g.
55
+ * `EngramMemoryStorage`, which has no local embedding column to backfill.
56
+ */
57
+ export declare function backfillEmbeddings(storage: MemoryStorage, provider: EmbeddingProvider, activeModel: string, options?: BackfillOptions): Promise<BackfillResult>;
58
+ //# sourceMappingURL=backfill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill.d.ts","sourceRoot":"","sources":["../../src/memory/backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC/F;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,iBAAiB,EAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAuEzB"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Backfill mechanism for per-row embeddings (design D6, spec: "Backfill of
3
+ * NULL-Embedding Observations").
4
+ *
5
+ * Reusable across every storage backend that implements the backfill
6
+ * extension of `MemoryStorage` (`SqliteMemoryStorage`, `PostgresMemoryStorage`).
7
+ * Iterates observations needing an embedding in id-ordered batches, calls
8
+ * the active provider's `embedBatch` ONCE per batch (never N `embed()` calls
9
+ * — spec: "Batched Embedding Calls"), and persists the result.
10
+ *
11
+ * Idempotent + resumable: each batch is selected fresh from storage via
12
+ * `listObservationsNeedingEmbedding`, which only ever matches NULL-embedding
13
+ * rows (plus model/dimension-mismatched rows when `reEmbed` is set) — a row
14
+ * already embedded with a matching model/dimension is never re-selected. A
15
+ * failure mid-run (network error, process crash) leaves all rows updated
16
+ * before the failure committed (SQLite: flushed to disk after each
17
+ * successfully completed batch via `storage.flush()`; PostgreSQL: each
18
+ * `UPDATE` commits per-statement, no explicit transaction) — re-running this
19
+ * function picks up exactly where it left off with no duplicate work.
20
+ */
21
+ const DEFAULT_BATCH_SIZE = 100;
22
+ /**
23
+ * Run the backfill against `storage`, using `provider` as the active
24
+ * embedding provider and `activeModel` as the model id to persist alongside
25
+ * each embedding.
26
+ *
27
+ * Throws if `storage` doesn't implement the backfill extension methods
28
+ * (`listObservationsNeedingEmbedding` / `updateObservationEmbedding`) — e.g.
29
+ * `EngramMemoryStorage`, which has no local embedding column to backfill.
30
+ */
31
+ export async function backfillEmbeddings(storage, provider, activeModel, options = {}) {
32
+ const listNeeding = storage.listObservationsNeedingEmbedding;
33
+ const updateEmbedding = storage.updateObservationEmbedding;
34
+ if (!listNeeding || !updateEmbedding) {
35
+ throw new Error('[ghagga] This memory storage backend does not support backfill (no local embedding columns).');
36
+ }
37
+ // Bind after the presence check so TS narrows the optional methods to
38
+ // defined function types for the rest of this function.
39
+ const listObservationsNeedingEmbedding = listNeeding.bind(storage);
40
+ const updateObservationEmbedding = updateEmbedding.bind(storage);
41
+ const { batchSize = DEFAULT_BATCH_SIZE, limit, reEmbed = false, delayMs = 0, onProgress, } = options;
42
+ let afterId = 0;
43
+ let totalProcessed = 0;
44
+ let totalBatches = 0;
45
+ while (true) {
46
+ if (limit !== undefined && totalProcessed >= limit)
47
+ break;
48
+ const remaining = limit !== undefined ? limit - totalProcessed : batchSize;
49
+ const currentBatchSize = Math.min(batchSize, remaining);
50
+ if (currentBatchSize <= 0)
51
+ break;
52
+ const rows = await listObservationsNeedingEmbedding({
53
+ afterId,
54
+ limit: currentBatchSize,
55
+ activeModel,
56
+ activeDim: provider.dimension,
57
+ includeMismatched: reEmbed,
58
+ });
59
+ if (rows.length === 0)
60
+ break;
61
+ const embeddings = await provider.embedBatch(rows.map((row) => row.text));
62
+ if (embeddings.length !== rows.length) {
63
+ throw new Error(`[ghagga] embedBatch returned ${embeddings.length} vectors for ${rows.length} inputs — mismatched batch response.`);
64
+ }
65
+ for (let i = 0; i < rows.length; i++) {
66
+ const row = rows[i];
67
+ const embedding = embeddings[i];
68
+ await updateObservationEmbedding(row.id, embedding, activeModel, provider.dimension);
69
+ afterId = row.id;
70
+ }
71
+ if (typeof storage.flush === 'function') {
72
+ await storage.flush();
73
+ }
74
+ totalBatches += 1;
75
+ totalProcessed += rows.length;
76
+ onProgress?.({ batch: totalBatches, batchSize: rows.length, totalProcessed });
77
+ if (rows.length < currentBatchSize)
78
+ break; // drained — fewer rows than requested
79
+ if (delayMs > 0) {
80
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
81
+ }
82
+ }
83
+ return { totalProcessed, totalBatches };
84
+ }
85
+ //# sourceMappingURL=backfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../src/memory/backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA4BH,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAsB,EACtB,QAA2B,EAC3B,WAAmB,EACnB,UAA2B,EAAE;IAE7B,MAAM,WAAW,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAC7D,MAAM,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAC3D,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IACD,sEAAsE;IACtE,wDAAwD;IACxD,MAAM,gCAAgC,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,0BAA0B,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjE,MAAM,EACJ,SAAS,GAAG,kBAAkB,EAC9B,KAAK,EACL,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,CAAC,EACX,UAAU,GACX,GAAG,OAAO,CAAC;IAEZ,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,KAAK,KAAK,SAAS,IAAI,cAAc,IAAI,KAAK;YAAE,MAAM;QAC1D,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,gBAAgB,IAAI,CAAC;YAAE,MAAM;QAEjC,MAAM,IAAI,GAAG,MAAM,gCAAgC,CAAC;YAClD,OAAO;YACP,KAAK,EAAE,gBAAgB;YACvB,WAAW;YACX,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,iBAAiB,EAAE,OAAO;SAC3B,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;QAE7B,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,gCAAgC,UAAU,CAAC,MAAM,gBAAgB,IAAI,CAAC,MAAM,sCAAsC,CACnH,CAAC;QACJ,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,0BAA0B,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YACrF,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACxC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QAED,YAAY,IAAI,CAAC,CAAC;QAClB,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC;QAC9B,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QAE9E,IAAI,IAAI,CAAC,MAAM,GAAG,gBAAgB;YAAE,MAAM,CAAC,sCAAsC;QAEjF,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAC1C,CAAC"}