ghagga-core 3.3.0 → 3.5.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/README.md +16 -14
- package/dist/acp/adapter.d.ts.map +1 -1
- package/dist/acp/adapter.js +8 -1
- package/dist/acp/adapter.js.map +1 -1
- package/dist/adversarial-qa.js.map +1 -1
- package/dist/agents/consensus.d.ts +2 -2
- package/dist/agents/consensus.d.ts.map +1 -1
- package/dist/agents/consensus.js +13 -5
- package/dist/agents/consensus.js.map +1 -1
- package/dist/agents/fan-out-lenses.d.ts +33 -2
- package/dist/agents/fan-out-lenses.d.ts.map +1 -1
- package/dist/agents/fan-out-lenses.js +245 -8
- package/dist/agents/fan-out-lenses.js.map +1 -1
- package/dist/agents/issue-code-discovery.d.ts +58 -0
- package/dist/agents/issue-code-discovery.d.ts.map +1 -0
- package/dist/agents/issue-code-discovery.js +144 -0
- package/dist/agents/issue-code-discovery.js.map +1 -0
- package/dist/agents/issue-triage.d.ts +11 -1
- package/dist/agents/issue-triage.d.ts.map +1 -1
- package/dist/agents/issue-triage.js +53 -4
- package/dist/agents/issue-triage.js.map +1 -1
- package/dist/agents/prompts.d.ts +12 -3
- package/dist/agents/prompts.d.ts.map +1 -1
- package/dist/agents/prompts.js +21 -2
- 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/agents/voice-validation.d.ts +34 -0
- package/dist/agents/voice-validation.d.ts.map +1 -0
- package/dist/agents/voice-validation.js +64 -0
- package/dist/agents/voice-validation.js.map +1 -0
- package/dist/agents/workflow.d.ts.map +1 -1
- package/dist/agents/workflow.js +8 -0
- package/dist/agents/workflow.js.map +1 -1
- package/dist/aisvs.js.map +1 -1
- package/dist/code-intel/client.d.ts.map +1 -1
- package/dist/critique/critique.js +1 -1
- package/dist/critique/critique.js.map +1 -1
- package/dist/critique/prompts.d.ts +1 -1
- package/dist/critique/prompts.d.ts.map +1 -1
- package/dist/critique/prompts.js +1 -1
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.js.map +1 -1
- package/dist/enhance/prompt.d.ts +1 -1
- package/dist/enhance/prompt.d.ts.map +1 -1
- package/dist/explanation.d.ts +69 -0
- package/dist/explanation.d.ts.map +1 -0
- package/dist/explanation.js +16 -0
- package/dist/explanation.js.map +1 -0
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +1 -0
- package/dist/format.js.map +1 -1
- package/dist/graph/loader.d.ts +1 -1
- package/dist/graph/loader.d.ts.map +1 -1
- package/dist/graph/loader.js.map +1 -1
- package/dist/index.d.ts +11 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/memory/backfill.js.map +1 -1
- package/dist/memory/contradiction.js.map +1 -1
- package/dist/memory/decay.d.ts +40 -0
- package/dist/memory/decay.d.ts.map +1 -1
- package/dist/memory/decay.js +57 -0
- package/dist/memory/decay.js.map +1 -1
- package/dist/memory/engram-client.d.ts.map +1 -1
- package/dist/memory/engram.d.ts.map +1 -1
- package/dist/memory/engram.js +15 -3
- package/dist/memory/engram.js.map +1 -1
- package/dist/memory/pageindex/chunker.d.ts.map +1 -1
- package/dist/memory/pageindex/example.js.map +1 -1
- package/dist/memory/pageindex/service.d.ts.map +1 -1
- package/dist/memory/pageindex/service.js.map +1 -1
- package/dist/memory/search.d.ts +157 -0
- package/dist/memory/search.d.ts.map +1 -1
- package/dist/memory/search.js +420 -0
- package/dist/memory/search.js.map +1 -1
- package/dist/memory/sqlite.d.ts.map +1 -1
- package/dist/memory/sqlite.js +11 -3
- package/dist/memory/sqlite.js.map +1 -1
- package/dist/memory/versioning.d.ts.map +1 -1
- package/dist/memory/versioning.js.map +1 -1
- package/dist/pipeline/execute.d.ts.map +1 -1
- package/dist/pipeline/execute.js +14 -0
- package/dist/pipeline/execute.js.map +1 -1
- package/dist/providers/cli-bridge.d.ts +13 -11
- package/dist/providers/cli-bridge.d.ts.map +1 -1
- package/dist/providers/cli-bridge.js +155 -40
- package/dist/providers/cli-bridge.js.map +1 -1
- package/dist/providers/explanation-generate-fn.d.ts +28 -0
- package/dist/providers/explanation-generate-fn.d.ts.map +1 -0
- package/dist/providers/explanation-generate-fn.js +122 -0
- package/dist/providers/explanation-generate-fn.js.map +1 -0
- package/dist/providers/gateway.js.map +1 -1
- package/dist/sanitize.js.map +1 -1
- package/dist/scope/parser.js.map +1 -1
- package/dist/scope/types.d.ts +3 -3
- package/dist/scope/types.d.ts.map +1 -1
- package/dist/search/indexer.d.ts.map +1 -1
- package/dist/search/searcher.d.ts.map +1 -1
- package/dist/search/searcher.js.map +1 -1
- package/dist/tools/budget.js.map +1 -1
- package/dist/tools/cpd.js.map +1 -1
- package/dist/tools/orchestrator.js.map +1 -1
- package/dist/tools/plugins/gitleaks.js.map +1 -1
- package/dist/tools/plugins/semgrep.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/semgrep.js.map +1 -1
- package/dist/trajectory.d.ts.map +1 -1
- package/dist/types.d.ts +43 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/concurrency.js.map +1 -1
- package/package.json +16 -16
package/dist/memory/decay.d.ts
CHANGED
|
@@ -18,6 +18,46 @@ import { type DecayConfig } from '../types.js';
|
|
|
18
18
|
* @returns A number between 0.0 and 1.0
|
|
19
19
|
*/
|
|
20
20
|
export declare function computeStrength(lastAccessedAt: Date, now?: Date, config?: DecayConfig): number;
|
|
21
|
+
/**
|
|
22
|
+
* Normalize an FTS5 `bm25()` score into [0,1] relevance.
|
|
23
|
+
*
|
|
24
|
+
* SQLite's `bm25()` returns MORE-NEGATIVE = BETTER match (typically ~ -0.5 to
|
|
25
|
+
* -15 for real matches, 0 for non-matches). We negate to get a positive
|
|
26
|
+
* "goodness" magnitude, then apply a saturating map `m/(m+k)`:
|
|
27
|
+
* - non-match (bm25 ≈ 0) → ~0.0
|
|
28
|
+
* - weak match (bm25 ≈ -1) → 1/(1+k)
|
|
29
|
+
* - strong match (bm25 ≪ 0) → → 1.0 (saturates, never exceeds 1)
|
|
30
|
+
*
|
|
31
|
+
* Monotonic in match quality and bounded — a single absolute threshold is
|
|
32
|
+
* therefore meaningful, unlike a per-query min/max rescale.
|
|
33
|
+
*
|
|
34
|
+
* @param bm25 - Raw `bm25(memory_observations_fts)` value (≤ 0 for matches).
|
|
35
|
+
* @param k - Saturation constant. Default 4: bm25 ≈ -4 → 0.5.
|
|
36
|
+
*/
|
|
37
|
+
export declare function normalizeBm25Relevance(bm25: number, k?: number): number;
|
|
38
|
+
/**
|
|
39
|
+
* Normalize a 0-based positional rank (0 = best keyword match) into [0,1]
|
|
40
|
+
* relevance via a saturating decay `k/(rank+k)`:
|
|
41
|
+
* - rank 0 (top) → 1.0
|
|
42
|
+
* - rank k → 0.5
|
|
43
|
+
* - rank → ∞ → → 0.0
|
|
44
|
+
*
|
|
45
|
+
* INTENDED FOR A FUTURE Postgres adapter — one that would return rows already
|
|
46
|
+
* ordered by `ts_rank` DESC without exposing the raw rank value, so a 0-based
|
|
47
|
+
* position becomes a stable, bounded proxy COMPARABLE to the SQLite bm25 mapping
|
|
48
|
+
* for a shared `relevanceScore` field (both saturate, both monotonic). NOTE: no
|
|
49
|
+
* such Postgres adapter exists in this package yet, so this function currently
|
|
50
|
+
* has NO callers — it is scaffolding, NOT live. Dedup relevance is not wired on
|
|
51
|
+
* Postgres today; do not read this as evidence that it is.
|
|
52
|
+
*
|
|
53
|
+
* NOTE: position 0 maps to 1.0 here, but this is NOT the per-query-top trap —
|
|
54
|
+
* relevanceScore is observability only and is NOT the dedup gate (see
|
|
55
|
+
* findIssueDuplicates, which gates on backend-agnostic keyword overlap).
|
|
56
|
+
*
|
|
57
|
+
* @param rank0 - Zero-based position in the relevance-ordered result set.
|
|
58
|
+
* @param k - Decay constant. Default 4: rank 4 → 0.5.
|
|
59
|
+
*/
|
|
60
|
+
export declare function normalizeRankRelevance(rank0: number, k?: number): number;
|
|
21
61
|
/**
|
|
22
62
|
* Determine the decay phase label for display purposes.
|
|
23
63
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decay.d.ts","sourceRoot":"","sources":["../../src/memory/decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAErE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,cAAc,EAAE,IAAI,EACpB,GAAG,GAAE,IAAiB,EACtB,MAAM,GAAE,WAAkC,GACzC,MAAM,CAsBR;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAK1F"}
|
|
1
|
+
{"version":3,"file":"decay.d.ts","sourceRoot":"","sources":["../../src/memory/decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAErE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,cAAc,EAAE,IAAI,EACpB,GAAG,GAAE,IAAiB,EACtB,MAAM,GAAE,WAAkC,GACzC,MAAM,CAsBR;AAWD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,MAAM,CAIlE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,MAAM,CAGnE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAK1F"}
|
package/dist/memory/decay.js
CHANGED
|
@@ -36,6 +36,63 @@ export function computeStrength(lastAccessedAt, now = new Date(), config = DEFAU
|
|
|
36
36
|
const strength = 1.0 - daysSinceDormancy / decayWindow;
|
|
37
37
|
return Math.max(0, Math.min(1, strength));
|
|
38
38
|
}
|
|
39
|
+
// ─── Relevance normalization (keyword ranking → [0,1]) ──────────
|
|
40
|
+
//
|
|
41
|
+
// These map a backend's NATIVE keyword-ranking score into a bounded [0,1]
|
|
42
|
+
// RELEVANCE signal for the `relevanceScore` field on MemoryObservationRow.
|
|
43
|
+
// They are SATURATING / monotonic — they deliberately do NOT use per-query
|
|
44
|
+
// normalization (which would force the top candidate to 1.0 and is the
|
|
45
|
+
// false-positive trap for dedup). This score is telemetry/observability only;
|
|
46
|
+
// issue dedup gates on a separate backend-agnostic keyword overlap.
|
|
47
|
+
/**
|
|
48
|
+
* Normalize an FTS5 `bm25()` score into [0,1] relevance.
|
|
49
|
+
*
|
|
50
|
+
* SQLite's `bm25()` returns MORE-NEGATIVE = BETTER match (typically ~ -0.5 to
|
|
51
|
+
* -15 for real matches, 0 for non-matches). We negate to get a positive
|
|
52
|
+
* "goodness" magnitude, then apply a saturating map `m/(m+k)`:
|
|
53
|
+
* - non-match (bm25 ≈ 0) → ~0.0
|
|
54
|
+
* - weak match (bm25 ≈ -1) → 1/(1+k)
|
|
55
|
+
* - strong match (bm25 ≪ 0) → → 1.0 (saturates, never exceeds 1)
|
|
56
|
+
*
|
|
57
|
+
* Monotonic in match quality and bounded — a single absolute threshold is
|
|
58
|
+
* therefore meaningful, unlike a per-query min/max rescale.
|
|
59
|
+
*
|
|
60
|
+
* @param bm25 - Raw `bm25(memory_observations_fts)` value (≤ 0 for matches).
|
|
61
|
+
* @param k - Saturation constant. Default 4: bm25 ≈ -4 → 0.5.
|
|
62
|
+
*/
|
|
63
|
+
export function normalizeBm25Relevance(bm25, k = 4) {
|
|
64
|
+
const magnitude = Math.max(0, -bm25); // negate; non-matches/positive → 0
|
|
65
|
+
if (magnitude === 0)
|
|
66
|
+
return 0;
|
|
67
|
+
return magnitude / (magnitude + k);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Normalize a 0-based positional rank (0 = best keyword match) into [0,1]
|
|
71
|
+
* relevance via a saturating decay `k/(rank+k)`:
|
|
72
|
+
* - rank 0 (top) → 1.0
|
|
73
|
+
* - rank k → 0.5
|
|
74
|
+
* - rank → ∞ → → 0.0
|
|
75
|
+
*
|
|
76
|
+
* INTENDED FOR A FUTURE Postgres adapter — one that would return rows already
|
|
77
|
+
* ordered by `ts_rank` DESC without exposing the raw rank value, so a 0-based
|
|
78
|
+
* position becomes a stable, bounded proxy COMPARABLE to the SQLite bm25 mapping
|
|
79
|
+
* for a shared `relevanceScore` field (both saturate, both monotonic). NOTE: no
|
|
80
|
+
* such Postgres adapter exists in this package yet, so this function currently
|
|
81
|
+
* has NO callers — it is scaffolding, NOT live. Dedup relevance is not wired on
|
|
82
|
+
* Postgres today; do not read this as evidence that it is.
|
|
83
|
+
*
|
|
84
|
+
* NOTE: position 0 maps to 1.0 here, but this is NOT the per-query-top trap —
|
|
85
|
+
* relevanceScore is observability only and is NOT the dedup gate (see
|
|
86
|
+
* findIssueDuplicates, which gates on backend-agnostic keyword overlap).
|
|
87
|
+
*
|
|
88
|
+
* @param rank0 - Zero-based position in the relevance-ordered result set.
|
|
89
|
+
* @param k - Decay constant. Default 4: rank 4 → 0.5.
|
|
90
|
+
*/
|
|
91
|
+
export function normalizeRankRelevance(rank0, k = 4) {
|
|
92
|
+
if (rank0 <= 0)
|
|
93
|
+
return 1;
|
|
94
|
+
return k / (rank0 + k);
|
|
95
|
+
}
|
|
39
96
|
/**
|
|
40
97
|
* Determine the decay phase label for display purposes.
|
|
41
98
|
*/
|
package/dist/memory/decay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decay.js","sourceRoot":"","sources":["../../src/memory/decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,oBAAoB,EAAoB,MAAM,aAAa,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,cAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"decay.js","sourceRoot":"","sources":["../../src/memory/decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,oBAAoB,EAAoB,MAAM,aAAa,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,cAAoB,EACpB,GAAG,GAAS,IAAI,IAAI,EAAE,EACtB,MAAM,GAAgB,oBAAoB;IAE1C,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;IAC3D,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAEtD,gCAAgC;IAChC,IAAI,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,6BAA6B;IAC7B,IAAI,WAAW,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,2DAA2D;IAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;IAC/D,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAEjC,MAAM,iBAAiB,GAAG,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;IAC5D,MAAM,QAAQ,GAAG,GAAG,GAAG,iBAAiB,GAAG,WAAW,CAAC;IAEvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,mEAAmE;AACnE,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,2EAA2E;AAC3E,uEAAuE;AACvE,8EAA8E;AAC9E,oEAAoE;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,CAAC,GAAG,CAAC;IACxD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAmC;IACzE,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,SAAS,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,CAAC,GAAG,CAAC;IACzD,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,QAAQ,CAAC;IACrC,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,SAAS,CAAC;IACtC,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engram-client.d.ts","sourceRoot":"","sources":["../../src/memory/engram-client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEtF,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;
|
|
1
|
+
{"version":3,"file":"engram-client.d.ts","sourceRoot":"","sources":["../../src/memory/engram-client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEtF,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IAExB,YAAY,MAAM,EAAE,YAAY,EAI/B;IAID,yEAAyE;IACnE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CASpC;IAED,uEAAuE;IACjE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA8B1F;IAED,0CAA0C;IACpC,IAAI,CAAC,IAAI,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAgBpC;IAED,gEAAgE;IAC1D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAa3E;IAED,gEAAgE;IAC1D,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY7D;IAED,0CAA0C;IACpC,QAAQ,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAa5C;IAED,+CAA+C;IACzC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiB3D;IAED,mEAAmE;IAC7D,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW3D;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engram.d.ts","sourceRoot":"","sources":["../../src/memory/engram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,MAAM,CAAe;IAE7B;;;;OAIG;IACH,OAAO,CAAC,KAAK,CAAsC;IAEnD,OAAO;
|
|
1
|
+
{"version":3,"file":"engram.d.ts","sourceRoot":"","sources":["../../src/memory/engram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,MAAM,CAAe;IAE7B;;;;OAIG;IACH,OAAO,CAAC,KAAK,CAAsC;IAEnD,OAAO,eAEN;IAID;;;;;;;;;OASG;IACH,OAAa,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAkBvF;IAIK,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9C,OAAO,CAAC,oBAAoB,EAAE,CAAC,CA8BjC;IAEK,eAAe,CAAC,IAAI,EAAE;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAoBhC;IAIK,aAAa,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CASzF;IAEK,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlE;IAED,4DAA4D;IACtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAIK,gBAAgB,CACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAuBpC;IAEK,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAgBxE;IAEK,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAapD;IAEK,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CA4BrC;IAED;;;OAGG;IACG,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAMxE;IAID;;;OAGG;IACH,OAAO,CAAC,OAAO;CAKhB"}
|
package/dist/memory/engram.js
CHANGED
|
@@ -50,15 +50,27 @@ export class EngramMemoryStorage {
|
|
|
50
50
|
// ─── Hot-path methods ───────────────────────────────────────────
|
|
51
51
|
async searchObservations(project, query, options = {}) {
|
|
52
52
|
const { limit = 10, type } = options;
|
|
53
|
-
|
|
53
|
+
// The `type` filter is applied CLIENT-SIDE (Engram's REST search exposes no
|
|
54
|
+
// server-side type predicate). If we only fetched `limit` rows, a real
|
|
55
|
+
// type-matched duplicate sitting at position limit+1 — behind `limit`
|
|
56
|
+
// keyword matches of OTHER types — would be silently dropped before the
|
|
57
|
+
// filter ever sees it. So when a type filter is present we OVER-FETCH from
|
|
58
|
+
// the server (limit * 3, mirroring the Postgres/SQLite adapters'
|
|
59
|
+
// fetchLimit = limit*3 over-fetch), then filter by type and slice back to
|
|
60
|
+
// `limit`. Without a type filter there is nothing to drop, so we fetch
|
|
61
|
+
// exactly `limit`.
|
|
62
|
+
const fetchLimit = type ? limit * 3 : limit;
|
|
63
|
+
const results = await this.client.search(query, project, fetchLimit);
|
|
54
64
|
let mapped = results.map((obs) => {
|
|
55
65
|
const row = toMemoryObservationRow(obs);
|
|
56
66
|
this.trackId(row.id, obs.id);
|
|
57
67
|
return row;
|
|
58
68
|
});
|
|
59
|
-
// Client-side type filter (Engram may not support it natively)
|
|
69
|
+
// Client-side type filter (Engram may not support it natively), then slice
|
|
70
|
+
// back to the caller's requested `limit` — we over-fetched only to absorb
|
|
71
|
+
// other-typed rows ahead of the matches, never to return MORE than asked.
|
|
60
72
|
if (type) {
|
|
61
|
-
mapped = mapped.filter((r) => r.type === type);
|
|
73
|
+
mapped = mapped.filter((r) => r.type === type).slice(0, limit);
|
|
62
74
|
}
|
|
63
75
|
return mapped;
|
|
64
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engram.js","sourceRoot":"","sources":["../../src/memory/engram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,OAAO,mBAAmB;IACtB,MAAM,CAAe;IAE7B;;;;OAIG;IACK,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEnD,YAAoB,MAAoB;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,mEAAmE;IAEnE;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAA8B;QAChD,MAAM,UAAU,GAAiB;YAC/B,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,uBAAuB;YAC/E,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,GAAG,CAAC,GAAG,IAAI;SACpF,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,4EAA4E,EAC5E,UAAU,CAAC,IAAI,CAChB,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,mEAAmE;IAEnE,KAAK,CAAC,kBAAkB,CACtB,OAAe,EACf,KAAa,EACb,
|
|
1
|
+
{"version":3,"file":"engram.js","sourceRoot":"","sources":["../../src/memory/engram.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/memory/pageindex/chunker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/memory/pageindex/chunker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE,eAAO,MAAM,mBAAmB;IAC9B,gBAAgB;IAChB,aAAa;IACb,cAAc;CACf,CAAC;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM;;;;CAAsB,GAC3B,IAAI,CAAC,gBAAgB,EAAE,IAAI,GAAG,WAAW,CAAC,EAAE,CAoC9C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,YAAY,SAAM,GACjB,eAAe,CAajB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../../src/memory/pageindex/example.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAgC,MAAM,YAAY,CAAC;AAEzE,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAkC,EAClC,SAAiB,EACjB,EAA2D,EAC3D,
|
|
1
|
+
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../../src/memory/pageindex/example.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/memory/pageindex/service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,CACF,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,GAC3C,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;CACtD;AAID,qBAAa,uBAAuB;IAClC,OAAO,CAAC,EAAE,CAAqB;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/memory/pageindex/service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,IAAI,CACF,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,GAC3C,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;CACtD;AAID,qBAAa,uBAAuB;IAClC,OAAO,CAAC,EAAE,CAAqB;IAE/B,YAAY,EAAE,EAAE,kBAAkB,EAGjC;IAED,OAAO,CAAC,UAAU;IA4BlB;;OAEG;IACG,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAsD5C;IAED;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAWnE;IAED;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,CA+B3D;IAED;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,IAAI,CAiBhE;IAED;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,gBAAgB,EAAE,CA0ClE;IAED;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,eAAe,CAK1E;IAED;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAkBpE;IAED;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEvC;IAED,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,gBAAgB;CAMzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/memory/pageindex/service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/memory/pageindex/service.ts"],"names":[],"mappings":"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"}
|
package/dist/memory/search.d.ts
CHANGED
|
@@ -44,4 +44,161 @@ export declare function buildSearchQuery(fileList: string[], ignoredSegments?: S
|
|
|
44
44
|
* @returns Formatted memory context string, or null
|
|
45
45
|
*/
|
|
46
46
|
export declare function searchMemoryForContext(storage: MemoryStorage, project: string, fileList: string[]): Promise<string | null>;
|
|
47
|
+
/** Maximum number of keyword terms to include in an issue dedup query. */
|
|
48
|
+
export declare const MAX_ISSUE_SEARCH_TERMS = 12;
|
|
49
|
+
/**
|
|
50
|
+
* Hard cap on the length of untrusted issue text fed into keyword extraction.
|
|
51
|
+
*
|
|
52
|
+
* Issue title+body is attacker-controlled (anyone can open an issue) and enters
|
|
53
|
+
* {@link stripCode} / {@link extractIssueTerms} / {@link tokenizeIssueText} with
|
|
54
|
+
* no natural bound. Keyword extraction only needs a small prefix to find salient
|
|
55
|
+
* terms, so we truncate before ANY scanning runs — this is a defense-in-depth
|
|
56
|
+
* DoS guard (paired with the linear-time fence stripper) so no pathological
|
|
57
|
+
* input can pin the event loop. 10k chars is far more than enough signal for a
|
|
58
|
+
* keyword query; the excess is dropped.
|
|
59
|
+
*/
|
|
60
|
+
export declare const MAX_ISSUE_TEXT_LENGTH = 10000;
|
|
61
|
+
/**
|
|
62
|
+
* Observation type under which triaged issues are persisted in memory.
|
|
63
|
+
*
|
|
64
|
+
* SHARED CONSTANT — dedup scopes its memory search to THIS type so it only
|
|
65
|
+
* matches prior issue-origin observations, not arbitrary memory (patterns,
|
|
66
|
+
* bugfixes, PR notes). Phase 4's save-path MUST persist every triaged issue
|
|
67
|
+
* under EXACTLY this `type`, or dedup will find nothing.
|
|
68
|
+
*
|
|
69
|
+
* CARRY-FORWARD NOTE (Phase 4): when the ingestion worker saves a triaged issue
|
|
70
|
+
* via `storage.saveObservation`, set `type: ISSUE_TRIAGE_OBSERVATION_TYPE`.
|
|
71
|
+
* Until that save-path lands, `findIssueDuplicates` will correctly return an
|
|
72
|
+
* empty, non-duplicate result (there is nothing of this type to match) — that
|
|
73
|
+
* is EXPECTED, not a bug.
|
|
74
|
+
*/
|
|
75
|
+
export declare const ISSUE_TRIAGE_OBSERVATION_TYPE = "issue-triage";
|
|
76
|
+
/**
|
|
77
|
+
* Conservative dedup similarity threshold, in [0,1].
|
|
78
|
+
*
|
|
79
|
+
* A candidate is treated as a hard DUPLICATE only when its KEYWORD-OVERLAP
|
|
80
|
+
* similarity to the issue (see {@link issueOverlapScore}) is at or above this
|
|
81
|
+
* value. Weak matches are still surfaced as candidates (they become
|
|
82
|
+
* `memoryContext` for the agent + `dedupMatches` on the draft) but MUST NOT
|
|
83
|
+
* block: a false-positive dedup would silently bury a legitimate new issue.
|
|
84
|
+
*
|
|
85
|
+
* WHY KEYWORD OVERLAP (not the adapter's bm25/ts_rank `relevanceScore`):
|
|
86
|
+
* the three storage backends expose incomparable native signals — SQLite bm25
|
|
87
|
+
* (unbounded), Postgres ts_rank (small positive), and Engram NONE at all
|
|
88
|
+
* (its REST search returns no score). Gating on `relevanceScore` would give a
|
|
89
|
+
* single threshold three different meanings and silently DISABLE dedup on
|
|
90
|
+
* Engram. Instead we gate on a backend-AGNOSTIC Jaccard overlap of the dedup
|
|
91
|
+
* query terms against the candidate's title+content — identical math for all
|
|
92
|
+
* three backends, so one absolute threshold is genuinely meaningful and
|
|
93
|
+
* comparable. (The adapter `relevanceScore` is still surfaced on rows as
|
|
94
|
+
* telemetry and could graduate to the gate if Engram ever exposes scores.)
|
|
95
|
+
*
|
|
96
|
+
* 0.6 = "≥60% of the issue's distinctive keywords also appear in the prior
|
|
97
|
+
* observation". This is intentionally conservative: it prefers FALSE NEGATIVES
|
|
98
|
+
* (miss a dup → the agent/human still sees the candidate as context) over
|
|
99
|
+
* FALSE POSITIVES (wrongly suppress analysis of a real new issue). Tune with
|
|
100
|
+
* real issues. NOTE: re-picked from the old 0.6-on-decay-`strength` value,
|
|
101
|
+
* which gated on pure recency and was meaningless as relevance.
|
|
102
|
+
*
|
|
103
|
+
* SHORT-QUERY DEGRADATION (known v1 limitation): the overlap score is a COARSE
|
|
104
|
+
* step function when the query has few distinctive terms. With a 1-term query a
|
|
105
|
+
* single shared token yields score 1.0 (a guaranteed false-positive on the
|
|
106
|
+
* gate); with 2 terms the only scores possible are 0 / 0.5 / 1.0, so 0.6
|
|
107
|
+
* collapses to "share both terms". To avoid auto-suppressing a real issue on too
|
|
108
|
+
* little signal, {@link findIssueDuplicates} additionally requires the query to
|
|
109
|
+
* carry at least {@link MIN_DEDUP_QUERY_TERMS} distinctive terms before it will
|
|
110
|
+
* EVER set `isDuplicate`. A 1-term query therefore never auto-flags — it still
|
|
111
|
+
* SURFACES candidates (they appear in `matches` as context for the agent/human),
|
|
112
|
+
* it just never hard-blocks. (The proper fix is IDF/semantic similarity in a
|
|
113
|
+
* later phase; the term-count floor is the conservative v1 guard.)
|
|
114
|
+
*/
|
|
115
|
+
export declare const DEDUP_SCORE_THRESHOLD = 0.6;
|
|
116
|
+
/**
|
|
117
|
+
* Minimum number of distinctive query terms required before issue dedup will set
|
|
118
|
+
* `isDuplicate` (hard-block). Below this floor the keyword-overlap score carries
|
|
119
|
+
* too little signal — a 1-term query flags on a single shared token (1.0) — so
|
|
120
|
+
* dedup only SURFACES candidates as context and never auto-suppresses. See the
|
|
121
|
+
* SHORT-QUERY DEGRADATION note on {@link DEDUP_SCORE_THRESHOLD}.
|
|
122
|
+
*/
|
|
123
|
+
export declare const MIN_DEDUP_QUERY_TERMS = 2;
|
|
124
|
+
/**
|
|
125
|
+
* Build a keyword search query from an issue's title + body.
|
|
126
|
+
*
|
|
127
|
+
* Pipeline: strip code → lowercase → split on non-word chars → drop stopwords
|
|
128
|
+
* and short tokens → dedupe (preserving first-seen order) → cap at
|
|
129
|
+
* {@link MAX_ISSUE_SEARCH_TERMS}. Title terms come first so the most salient
|
|
130
|
+
* keywords survive the cap.
|
|
131
|
+
*
|
|
132
|
+
* @param issueTitle - The issue title (untrusted prose).
|
|
133
|
+
* @param issueBody - The issue body (untrusted markdown prose).
|
|
134
|
+
* @returns A space-joined keyword query, or '' when no useful terms remain.
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* buildIssueSearchQuery('Login button throws TypeError on Safari', '…')
|
|
138
|
+
* → "login button throws typeerror safari …"
|
|
139
|
+
*/
|
|
140
|
+
export declare function buildIssueSearchQuery(issueTitle: string, issueBody: string): string;
|
|
141
|
+
/**
|
|
142
|
+
* A candidate duplicate surfaced by issue dedup.
|
|
143
|
+
*
|
|
144
|
+
* NOTE: structurally identical to `IssueDedupMatch` in the db package
|
|
145
|
+
* (`ghagga-db` schema.ts:189). We do NOT import that type — `packages/core`
|
|
146
|
+
* has no dependency on the db package, and adding one for a 3-field shape would
|
|
147
|
+
* introduce a new core→db coupling edge (mirrors the Phase 2 `IssueTriageSource`
|
|
148
|
+
* decision). TypeScript's structural typing makes `IssueDedupMatch[]` here
|
|
149
|
+
* assignable to the db `IssueDedupMatch[]` at the Phase 4 worker boundary.
|
|
150
|
+
*/
|
|
151
|
+
export interface IssueDedupMatch {
|
|
152
|
+
/** Matched memory observation id. */
|
|
153
|
+
observationId: number;
|
|
154
|
+
/** Matched observation title (for the draft's "likely duplicate" citation). */
|
|
155
|
+
title: string;
|
|
156
|
+
/**
|
|
157
|
+
* Match score in [0,1] — the backend-AGNOSTIC keyword-overlap similarity
|
|
158
|
+
* between the issue's dedup query terms and this observation's title+content
|
|
159
|
+
* (see {@link issueOverlapScore}). This is the signal {@link DEDUP_SCORE_THRESHOLD}
|
|
160
|
+
* gates on. It is NOT the adapter's `relevanceScore` (bm25/ts_rank), which is
|
|
161
|
+
* incomparable across backends and absent on Engram.
|
|
162
|
+
*/
|
|
163
|
+
score: number;
|
|
164
|
+
/**
|
|
165
|
+
* The adapter's native keyword RELEVANCE for this row (saturating bm25/ts_rank
|
|
166
|
+
* → [0,1]), passed through for observability/telemetry. Undefined on backends
|
|
167
|
+
* that expose no relevance score (Engram). NOT used by the dedup gate.
|
|
168
|
+
*/
|
|
169
|
+
relevanceScore?: number;
|
|
170
|
+
}
|
|
171
|
+
/** Result of an issue dedup pass. */
|
|
172
|
+
export interface IssueDedupResult {
|
|
173
|
+
/** The keyword query that was searched ('' when issue text was degenerate). */
|
|
174
|
+
query: string;
|
|
175
|
+
/** Candidate matches, ordered by score descending. May be empty. */
|
|
176
|
+
matches: IssueDedupMatch[];
|
|
177
|
+
/**
|
|
178
|
+
* True ONLY when the top match's keyword-overlap score ≥
|
|
179
|
+
* {@link DEDUP_SCORE_THRESHOLD} AND the query carried at least
|
|
180
|
+
* {@link MIN_DEDUP_QUERY_TERMS} distinctive terms (the short-query guard — a
|
|
181
|
+
* 1-term query never auto-flags). Weak/under-signalled matches are still
|
|
182
|
+
* returned in `matches` but never set this flag — the worker uses this to
|
|
183
|
+
* decide a DUPLICATE draft vs. continuing to full analysis.
|
|
184
|
+
*/
|
|
185
|
+
isDuplicate: boolean;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Search memory for issues similar to the given one, using a keyword query
|
|
189
|
+
* built from the issue title + body.
|
|
190
|
+
*
|
|
191
|
+
* Conservative by design: it NEVER hard-blocks on weak similarity. It returns
|
|
192
|
+
* all candidate matches (so the agent can cite them as context), but only flags
|
|
193
|
+
* `isDuplicate` when the strongest match clears {@link DEDUP_SCORE_THRESHOLD}.
|
|
194
|
+
* Like {@link searchMemoryForContext}, it degrades gracefully — storage errors
|
|
195
|
+
* or a missing backend yield an empty, non-duplicate result rather than throwing
|
|
196
|
+
* (the triage pipeline must never crash on optional memory).
|
|
197
|
+
*
|
|
198
|
+
* @param storage - Memory storage backend (may be null/undefined → empty result).
|
|
199
|
+
* @param project - Project identifier (e.g., "owner/repo").
|
|
200
|
+
* @param issueTitle - Issue title (untrusted).
|
|
201
|
+
* @param issueBody - Issue body (untrusted).
|
|
202
|
+
*/
|
|
203
|
+
export declare function findIssueDuplicates(storage: MemoryStorage, project: string, issueTitle: string, issueBody: string): Promise<IssueDedupResult>;
|
|
47
204
|
//# sourceMappingURL=search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/memory/search.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/memory/search.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAKvE,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAKnC;;;GAGG;AACH,eAAO,MAAM,wBAAwB,aAqBnC,CAAC;AAaH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAAE,EAClB,eAAe,GAAE,GAAG,CAAC,MAAM,CAA4B,GACtD,MAAM,CAsBR;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6BxB;AAgBD,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAKzC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,6BAA6B,iBAAiB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAoJvC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CASnF;AAgFD;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B;;;;;;;OAOG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAgBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAwD3B"}
|