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.
- package/dist/agents/audit.js +1 -1
- package/dist/agents/audit.js.map +1 -1
- package/dist/agents/diagnostic.d.ts.map +1 -1
- package/dist/agents/diagnostic.js +1 -1
- package/dist/agents/diagnostic.js.map +1 -1
- package/dist/agents/fan-out-lenses.js +1 -1
- package/dist/agents/fan-out-lenses.js.map +1 -1
- package/dist/agents/prompts.js +1 -1
- package/dist/agents/prompts.js.map +1 -1
- package/dist/agents/simple.d.ts.map +1 -1
- package/dist/agents/simple.js +1 -1
- package/dist/agents/simple.js.map +1 -1
- package/dist/embed.d.ts +140 -0
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.js +288 -0
- package/dist/embed.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/backfill.d.ts +58 -0
- package/dist/memory/backfill.d.ts.map +1 -0
- package/dist/memory/backfill.js +85 -0
- package/dist/memory/backfill.js.map +1 -0
- package/dist/memory/sqlite.d.ts +78 -12
- package/dist/memory/sqlite.d.ts.map +1 -1
- package/dist/memory/sqlite.js +265 -85
- package/dist/memory/sqlite.js.map +1 -1
- package/dist/pipeline/gather-context.d.ts.map +1 -1
- package/dist/pipeline/gather-context.js +4 -2
- package/dist/pipeline/gather-context.js.map +1 -1
- package/dist/pipeline/gather-safe.d.ts +24 -4
- package/dist/pipeline/gather-safe.d.ts.map +1 -1
- package/dist/pipeline/gather-safe.js +42 -6
- package/dist/pipeline/gather-safe.js.map +1 -1
- package/dist/pipeline/prepare.d.ts.map +1 -1
- package/dist/pipeline/prepare.js +26 -0
- package/dist/pipeline/prepare.js.map +1 -1
- package/dist/pipeline/providers.d.ts.map +1 -1
- package/dist/pipeline/providers.js +1 -0
- package/dist/pipeline/providers.js.map +1 -1
- package/dist/pipeline/state.d.ts +3 -1
- package/dist/pipeline/state.d.ts.map +1 -1
- package/dist/providers/cli-bridge.d.ts +5 -0
- package/dist/providers/cli-bridge.d.ts.map +1 -1
- package/dist/providers/cli-bridge.js +65 -5
- package/dist/providers/cli-bridge.js.map +1 -1
- package/dist/providers/gateway-discovery.d.ts +60 -0
- package/dist/providers/gateway-discovery.d.ts.map +1 -0
- package/dist/providers/gateway-discovery.js +118 -0
- package/dist/providers/gateway-discovery.js.map +1 -0
- package/dist/providers/gateway.d.ts +95 -0
- package/dist/providers/gateway.d.ts.map +1 -1
- package/dist/providers/gateway.js +391 -9
- package/dist/providers/gateway.js.map +1 -1
- package/dist/providers/generate-fn.d.ts +1 -0
- package/dist/providers/generate-fn.d.ts.map +1 -1
- package/dist/providers/generate-fn.js.map +1 -1
- package/dist/tools/cpd.js +2 -2
- package/dist/tools/cpd.js.map +1 -1
- package/dist/tools/execution.d.ts +3 -1
- package/dist/tools/execution.d.ts.map +1 -1
- package/dist/tools/execution.js +10 -2
- package/dist/tools/execution.js.map +1 -1
- package/dist/tools/gitleaks-config.toml +23 -0
- package/dist/tools/runner.d.ts.map +1 -1
- package/dist/tools/runner.js +2 -1
- package/dist/tools/runner.js.map +1 -1
- package/dist/tools/semgrep.js +2 -2
- package/dist/tools/semgrep.js.map +1 -1
- package/dist/types.d.ts +47 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/concurrency.d.ts.map +1 -1
- package/dist/utils/concurrency.js +37 -1
- package/dist/utils/concurrency.js.map +1 -1
- package/dist/utils/llm-timeout.d.ts +1 -1
- package/dist/utils/llm-timeout.d.ts.map +1 -1
- 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
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,YAAY,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EAEb,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,aAAa,EAEb,eAAe,EAEf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,aAAa,EAEb,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EAEV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EACpB,UAAU,EACV,UAAU,EAEV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIvE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI9E,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,GACX,MAAM,4BAA4B,CAAC;AACpC,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;AAIpC,YAAY,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAIpB,YAAY,EACV,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpG,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,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;AAIjC,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAIvB,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,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,aAAa,EACb,KAAK,gBAAgB,EACrB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAIhC,YAAY,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzE,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;AAI5F,YAAY,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,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;AAI1B,YAAY,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,YAAY,EACV,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAI9B,YAAY,EACV,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIzE,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAI9B,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,SAAS,EACT,UAAU,EACV,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,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;AAI1B,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAI3B,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAE3F,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAInC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAIlF,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iCAAiC,EACjC,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIrF,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIjF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIjG,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI1E,YAAY,EAAE,iBAAiB,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAOxF,YAAY,EACV,YAAY,IAAI,oBAAoB,EACpC,gBAAgB,IAAI,wBAAwB,EAC5C,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D,YAAY,EACV,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,aAAa,EACb,UAAU,EACV,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,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;AAI1B,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIzE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjF,YAAY,EACV,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,cAAc,GACf,MAAM,yBAAyB,CAAC;AAIjC,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAI/D,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIpF,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,eAAe,EACf,UAAU,EACV,WAAW,EACX,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAI5E,YAAY,EACV,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,qBAAqB,EACrB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAI7B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAI7B,YAAY,EACV,UAAU,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
|
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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|