causantic 0.9.1 → 0.9.4
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/cli/skill-templates.d.ts.map +1 -1
- package/dist/cli/skill-templates.js +12 -10
- package/dist/cli/skill-templates.js.map +1 -1
- package/dist/retrieval/chain-assembler.d.ts.map +1 -1
- package/dist/retrieval/chain-assembler.js +23 -8
- package/dist/retrieval/chain-assembler.js.map +1 -1
- package/dist/retrieval/chain-walker.d.ts.map +1 -1
- package/dist/retrieval/chain-walker.js +19 -8
- package/dist/retrieval/chain-walker.js.map +1 -1
- package/dist/retrieval/mmr.d.ts +12 -1
- package/dist/retrieval/mmr.d.ts.map +1 -1
- package/dist/retrieval/mmr.js +35 -2
- package/dist/retrieval/mmr.js.map +1 -1
- package/dist/retrieval/search-assembler.d.ts.map +1 -1
- package/dist/retrieval/search-assembler.js +14 -3
- package/dist/retrieval/search-assembler.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-templates.d.ts","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,gBAAgB,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"skill-templates.d.ts","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAq6C3C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CA4FhD"}
|
|
@@ -47,11 +47,11 @@ Pass these to the \`recall\` MCP tool:
|
|
|
47
47
|
|
|
48
48
|
## Guidelines
|
|
49
49
|
|
|
50
|
+
- **Always pass the \`project\` parameter** scoped to the current project (derive from the working directory) unless the user explicitly asks for cross-project results
|
|
50
51
|
- \`recall\` walks causal chains to reconstruct narrative — use it when you need the story of how something happened
|
|
51
52
|
- \`recall\` is semantic, NOT time-ordered — it returns whatever matches best regardless of recency
|
|
52
53
|
- \`search\` ranks results by semantic relevance — use it for broad discovery ("what do I know about X?")
|
|
53
54
|
- For temporal queries ("recently", "last session", "yesterday"), always use \`reconstruct\` or \`resume\`
|
|
54
|
-
- Use the \`project\` parameter to scope results to the current project when relevant
|
|
55
55
|
`,
|
|
56
56
|
},
|
|
57
57
|
{
|
|
@@ -91,6 +91,7 @@ Pass these to the \`search\` MCP tool:
|
|
|
91
91
|
|
|
92
92
|
## Guidelines
|
|
93
93
|
|
|
94
|
+
- **Always pass the \`project\` parameter** scoped to the current project (derive from the working directory) unless the user explicitly asks for cross-project results
|
|
94
95
|
- Returns ranked results by semantic relevance (vector + keyword fusion)
|
|
95
96
|
- Use \`search\` for discovery, \`recall\` for narrative reconstruction
|
|
96
97
|
- Combine with \`/causantic-recall\` when you need causal chain context (how things led to outcomes)
|
|
@@ -132,6 +133,7 @@ Pass these to the \`predict\` MCP tool:
|
|
|
132
133
|
|
|
133
134
|
## Guidelines
|
|
134
135
|
|
|
136
|
+
- **Always pass the \`project\` parameter** scoped to the current project (derive from the working directory) unless the user explicitly asks for cross-project results
|
|
135
137
|
- Always provide a concise summary of the current task as the \`context\` parameter
|
|
136
138
|
- Use early in a task to front-load relevant context
|
|
137
139
|
- Especially useful when starting unfamiliar work — past sessions may have covered it
|
|
@@ -404,11 +406,11 @@ The lead agent has MCP access to Causantic tools — subagents do not. Gather al
|
|
|
404
406
|
|
|
405
407
|
### 1.5.1 Query Memory
|
|
406
408
|
|
|
407
|
-
Run these queries **sequentially** (do NOT delegate to subagents, do NOT run in parallel)
|
|
409
|
+
Run these queries **sequentially** (do NOT delegate to subagents, do NOT run in parallel). **Always pass \`project\` scoped to the current project** (derive from the working directory) to avoid pulling in memories from other projects.
|
|
408
410
|
|
|
409
|
-
1. \`search\` with query: "architecture decisions", \`max_tokens: 4000\`
|
|
410
|
-
2. \`search\` with query: "tech debt", \`max_tokens: 4000\`
|
|
411
|
-
3. \`search\` with query: "past cleanup findings", \`max_tokens: 4000\`
|
|
411
|
+
1. \`search\` with query: "architecture decisions", \`project: "<current-project>"\`, \`max_tokens: 4000\`
|
|
412
|
+
2. \`search\` with query: "tech debt", \`project: "<current-project>"\`, \`max_tokens: 4000\`
|
|
413
|
+
3. \`search\` with query: "past cleanup findings", \`project: "<current-project>"\`, \`max_tokens: 4000\`
|
|
412
414
|
|
|
413
415
|
After each query, discard any results that duplicate earlier findings. Stop querying early if accumulated memory exceeds the total cap of 12K tokens.
|
|
414
416
|
|
|
@@ -1170,11 +1172,11 @@ Run memory queries **sequentially** in the lead agent context. Do not delegate m
|
|
|
1170
1172
|
|
|
1171
1173
|
After each query, discard any results that duplicate earlier findings. Stop querying early if accumulated memory exceeds the total cap of 16K tokens.
|
|
1172
1174
|
|
|
1173
|
-
Use the causantic MCP tools to surface deferred and aspirational work
|
|
1174
|
-
1. \`search\` query: "deferred TODO future work", \`max_tokens: 4000\`
|
|
1175
|
-
2. \`search\` query: "roadmap milestone release plan", \`max_tokens: 4000\`
|
|
1176
|
-
3. \`recall\` query: "features we want to build", \`max_tokens: 4000\`
|
|
1177
|
-
4. \`predict\` context: "project roadmap and future work", \`max_tokens: 4000\`
|
|
1175
|
+
Use the causantic MCP tools to surface deferred and aspirational work. **Always pass \`project\` scoped to the current project** (derive from the working directory) to avoid pulling in memories from other projects.
|
|
1176
|
+
1. \`search\` query: "deferred TODO future work", \`project: "<current-project>"\`, \`max_tokens: 4000\`
|
|
1177
|
+
2. \`search\` query: "roadmap milestone release plan", \`project: "<current-project>"\`, \`max_tokens: 4000\`
|
|
1178
|
+
3. \`recall\` query: "features we want to build", \`project: "<current-project>"\`, \`max_tokens: 4000\`
|
|
1179
|
+
4. \`predict\` context: "project roadmap and future work", \`project: "<current-project>"\`, \`max_tokens: 4000\`
|
|
1178
1180
|
- Tag each with source: "memory"
|
|
1179
1181
|
|
|
1180
1182
|
If causantic MCP tools are unavailable or return nothing, note the gap and proceed with other sources.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-templates.js","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C;QACE,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CZ;KACE;IACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"skill-templates.js","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-assembler.d.ts","sourceRoot":"","sources":["../../src/retrieval/chain-assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"chain-assembler.d.ts","sourceRoot":"","sources":["../../src/retrieval/chain-assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,uDAAuD;IACvD,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAClC,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE;QACZ,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEvF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAExF"}
|
|
@@ -110,8 +110,8 @@ async function runEpisodicPipeline(request, direction) {
|
|
|
110
110
|
},
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
|
-
// 4. Format chain as narrative
|
|
114
|
-
const formatted = formatChain(bestChain, direction);
|
|
113
|
+
// 4. Format chain as narrative (budget-aware: drops chunks that exceed remaining budget)
|
|
114
|
+
const formatted = formatChain(bestChain, direction, maxTokens);
|
|
115
115
|
return {
|
|
116
116
|
text: formatted.text,
|
|
117
117
|
tokenCount: formatted.tokenCount,
|
|
@@ -130,21 +130,36 @@ async function runEpisodicPipeline(request, direction) {
|
|
|
130
130
|
/**
|
|
131
131
|
* Format a chain as ordered narrative.
|
|
132
132
|
* Backward chains are reversed for chronological output (problem → solution).
|
|
133
|
+
*
|
|
134
|
+
* Budget-aware: iterates through chunks in order, accepting only those that fit
|
|
135
|
+
* within the remaining token budget. Chunks that would exceed the budget are
|
|
136
|
+
* dropped entirely (no partial chunks).
|
|
133
137
|
*/
|
|
134
|
-
function formatChain(chain, direction) {
|
|
138
|
+
function formatChain(chain, direction, maxTokens) {
|
|
135
139
|
// Backward chains need reversal for chronological order
|
|
136
140
|
const orderedChunks = direction === 'backward' ? [...chain.chunks].reverse() : chain.chunks;
|
|
137
141
|
const orderedIds = direction === 'backward' ? [...chain.chunkIds].reverse() : chain.chunkIds;
|
|
138
|
-
|
|
139
|
-
const
|
|
140
|
-
let
|
|
142
|
+
// First pass: select chunks that fit within budget
|
|
143
|
+
const included = [];
|
|
144
|
+
let budgetRemaining = maxTokens;
|
|
141
145
|
for (let i = 0; i < orderedChunks.length; i++) {
|
|
142
146
|
const chunk = orderedChunks[i];
|
|
143
147
|
const chunkTokens = chunk.approxTokens || approximateTokens(chunk.content);
|
|
144
|
-
|
|
148
|
+
if (chunkTokens > budgetRemaining)
|
|
149
|
+
continue;
|
|
150
|
+
included.push({ chunk, id: orderedIds[i], chunkTokens });
|
|
151
|
+
budgetRemaining -= chunkTokens;
|
|
152
|
+
}
|
|
153
|
+
// Second pass: format included chunks with correct step numbering
|
|
154
|
+
const parts = [];
|
|
155
|
+
const resultChunks = [];
|
|
156
|
+
let totalTokens = 0;
|
|
157
|
+
for (let i = 0; i < included.length; i++) {
|
|
158
|
+
const { chunk, id, chunkTokens } = included[i];
|
|
159
|
+
parts.push(formatChainChunk(chunk, chunk.content, i + 1, included.length));
|
|
145
160
|
totalTokens += chunkTokens;
|
|
146
161
|
resultChunks.push({
|
|
147
|
-
id
|
|
162
|
+
id,
|
|
148
163
|
sessionSlug: chunk.sessionSlug,
|
|
149
164
|
weight: chain.medianScore,
|
|
150
165
|
preview: chunk.content.slice(0, 100) + (chunk.content.length > 100 ? '...' : ''),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-assembler.js","sourceRoot":"","sources":["../../src/retrieval/chain-assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAsB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAc,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"chain-assembler.js","sourceRoot":"","sources":["../../src/retrieval/chain-assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAsB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAc,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAoDnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAwB;IAC1D,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAwB;IAC3D,OAAO,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAChC,OAAwB,EACxB,SAAiC;IAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,EACJ,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,SAAS,GAAG,KAAK,EACjB,iBAAiB,EACjB,WAAW,GACZ,GAAG,OAAO,CAAC;IAEZ,oEAAoE;IACpE,MAAM,aAAa,GAAkB;QACnC,KAAK;QACL,gBAAgB;QAChB,aAAa;QACb,SAAS;QACT,iBAAiB;QACjB,WAAW;KACZ,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC;IAExD,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;IACrD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;IAE9C,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,cAAc,GAClB,iBAAiB,KAAK,CAAC;YACrB,CAAC,CAAC,8BAA8B;YAChC,CAAC,CAAC,sDAAsD,CAAC;QAE7D,OAAO;YACL,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,WAAW,EAAE;gBACX,iBAAiB;gBACjB,SAAS;gBACT,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,EAAE;gBAChB,cAAc;aACf;SACF,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE;QACpD,SAAS;QACT,WAAW,EAAE,SAAS;QACtB,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,WAAW;KACZ,CAAC,CAAC;IAEH,uBAAuB;IACvB,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,cAAsB,CAAC;QAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,cAAc,GAAG,iCAAiC,CAAC;QACrD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;YACvD,cAAc,GAAG,kDAAkD,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,uCAAuC,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,WAAW,EAAE;gBACX,iBAAiB;gBACjB,SAAS;gBACT,eAAe,EAAE,MAAM,CAAC,MAAM;gBAC9B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAClD,cAAc;aACf;SACF,CAAC;IACJ,CAAC;IAED,yFAAyF;IACzF,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAE/D,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;QACtC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QAClC,WAAW,EAAE;YACX,iBAAiB;YACjB,SAAS;YACT,eAAe,EAAE,MAAM,CAAC,MAAM;YAC9B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;SACnD;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAClB,KAAY,EACZ,SAAiC,EACjC,SAAiB;IAWjB,wDAAwD;IACxD,MAAM,aAAa,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAC5F,MAAM,UAAU,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IAE7F,mDAAmD;IACnD,MAAM,QAAQ,GAAmE,EAAE,CAAC;IACpF,IAAI,eAAe,GAAG,SAAS,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3E,IAAI,WAAW,GAAG,eAAe;YAAE,SAAS;QAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACzD,eAAe,IAAI,WAAW,CAAC;IACjC,CAAC;IAED,kEAAkE;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,YAAY,GAKb,EAAE,CAAC;IACR,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,WAAW,IAAI,WAAW,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC;YAChB,EAAE;YACF,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,KAAK,CAAC,WAAW;YACzB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;QAC/B,UAAU,EAAE,WAAW;QACvB,MAAM,EAAE,YAAY;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-walker.d.ts","sourceRoot":"","sources":["../../src/retrieval/chain-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAClC,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sBAAsB;IACtB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA8BjG;
|
|
1
|
+
{"version":3,"file":"chain-walker.d.ts","sourceRoot":"","sources":["../../src/retrieval/chain-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAClC,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sBAAsB;IACtB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA8BjG;AA4KD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,IAAI,CAM7D"}
|
|
@@ -101,8 +101,17 @@ async function walkAllPaths(seedId, direction, queryEmbedding, tokenBudget, maxD
|
|
|
101
101
|
pathVisited.delete(nextId);
|
|
102
102
|
continue;
|
|
103
103
|
}
|
|
104
|
-
const nodeScore = await scoreMemo(nextId);
|
|
105
104
|
const chunkTokens = chunk.approxTokens || 100;
|
|
105
|
+
// Oversized chunk (exceeds total budget on its own): pass through without
|
|
106
|
+
// adding to path. The chain doesn't break — we continue traversing — but
|
|
107
|
+
// this node won't appear in the output or affect the median score.
|
|
108
|
+
if (chunkTokens > tokenBudget) {
|
|
109
|
+
await dfs(nextId, depth + 1, 0);
|
|
110
|
+
anyChildEmitted = true;
|
|
111
|
+
pathVisited.delete(nextId);
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
const nodeScore = await scoreMemo(nextId);
|
|
106
115
|
// Token budget: emit current path, don't extend
|
|
107
116
|
if (pathTokens + chunkTokens > tokenBudget && pathChunkIds.length > 0) {
|
|
108
117
|
emitCandidate();
|
|
@@ -131,15 +140,17 @@ async function walkAllPaths(seedId, direction, queryEmbedding, tokenBudget, maxD
|
|
|
131
140
|
emitCandidate();
|
|
132
141
|
}
|
|
133
142
|
}
|
|
134
|
-
// Initialize with seed
|
|
135
|
-
const seedScore = await scoreMemo(seedId);
|
|
143
|
+
// Initialize with seed (oversized seeds are traversed but excluded from path)
|
|
136
144
|
const seedTokens = seedChunk.approxTokens || 100;
|
|
137
145
|
pathVisited.add(seedId);
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
146
|
+
if (seedTokens <= tokenBudget) {
|
|
147
|
+
const seedScore = await scoreMemo(seedId);
|
|
148
|
+
pathChunkIds.push(seedId);
|
|
149
|
+
pathChunks.push(seedChunk);
|
|
150
|
+
pathScores.push(seedScore);
|
|
151
|
+
pathScore = seedScore;
|
|
152
|
+
pathTokens = seedTokens;
|
|
153
|
+
}
|
|
143
154
|
await dfs(seedId, 1, 0);
|
|
144
155
|
// If DFS produced no candidates (expansion budget exhausted before any terminal), emit current
|
|
145
156
|
if (candidates.length === 0 && pathChunkIds.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-walker.js","sourceRoot":"","sources":["../../src/retrieval/chain-walker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chain-walker.js","sourceRoot":"","sources":["../../src/retrieval/chain-walker.ts"],"names":[],"mappings":"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"}
|
package/dist/retrieval/mmr.d.ts
CHANGED
|
@@ -12,6 +12,13 @@ export interface MMRConfig {
|
|
|
12
12
|
/** 0 = pure diversity, 1 = pure relevance. Default: 0.7 */
|
|
13
13
|
lambda: number;
|
|
14
14
|
}
|
|
15
|
+
/** Optional token budget for budget-aware MMR selection. */
|
|
16
|
+
export interface MMRBudgetOptions {
|
|
17
|
+
/** Total token budget for selected results. */
|
|
18
|
+
tokenBudget: number;
|
|
19
|
+
/** Token count per chunk ID. */
|
|
20
|
+
chunkTokenCounts: Map<string, number>;
|
|
21
|
+
}
|
|
15
22
|
/**
|
|
16
23
|
* Reorder candidates using Maximal Marginal Relevance.
|
|
17
24
|
*
|
|
@@ -21,6 +28,10 @@ export interface MMRConfig {
|
|
|
21
28
|
* Short-circuits when fewer than 10 candidates (too few for diversity to matter).
|
|
22
29
|
* Candidates without embeddings are treated as novel (diversity = 0).
|
|
23
30
|
* Original RRF scores are preserved — only order changes.
|
|
31
|
+
*
|
|
32
|
+
* When `budget` is provided, candidates that would exceed the remaining token
|
|
33
|
+
* budget are excluded from consideration at each step. This prevents large chunks
|
|
34
|
+
* from consuming diversity slots when they can't fit in the response.
|
|
24
35
|
*/
|
|
25
|
-
export declare function reorderWithMMR(candidates: RankedItem[], queryEmbedding: number[], config: MMRConfig): Promise<RankedItem[]>;
|
|
36
|
+
export declare function reorderWithMMR(candidates: RankedItem[], queryEmbedding: number[], config: MMRConfig, budget?: MMRBudgetOptions): Promise<RankedItem[]>;
|
|
26
37
|
//# sourceMappingURL=mmr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mmr.d.ts","sourceRoot":"","sources":["../../src/retrieval/mmr.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD
|
|
1
|
+
{"version":3,"file":"mmr.d.ts","sourceRoot":"","sources":["../../src/retrieval/mmr.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAKD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,UAAU,EAAE,EACxB,cAAc,EAAE,MAAM,EAAE,EACxB,MAAM,EAAE,SAAS,EACjB,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,UAAU,EAAE,CAAC,CAiFvB"}
|
package/dist/retrieval/mmr.js
CHANGED
|
@@ -20,10 +20,17 @@ const MMR_THRESHOLD = 10;
|
|
|
20
20
|
* Short-circuits when fewer than 10 candidates (too few for diversity to matter).
|
|
21
21
|
* Candidates without embeddings are treated as novel (diversity = 0).
|
|
22
22
|
* Original RRF scores are preserved — only order changes.
|
|
23
|
+
*
|
|
24
|
+
* When `budget` is provided, candidates that would exceed the remaining token
|
|
25
|
+
* budget are excluded from consideration at each step. This prevents large chunks
|
|
26
|
+
* from consuming diversity slots when they can't fit in the response.
|
|
23
27
|
*/
|
|
24
|
-
export async function reorderWithMMR(candidates, queryEmbedding, config) {
|
|
28
|
+
export async function reorderWithMMR(candidates, queryEmbedding, config, budget) {
|
|
25
29
|
if (candidates.length < MMR_THRESHOLD) {
|
|
26
|
-
|
|
30
|
+
if (!budget)
|
|
31
|
+
return candidates;
|
|
32
|
+
// Still apply budget filtering even without MMR reranking
|
|
33
|
+
return applyBudgetFilter(candidates, budget);
|
|
27
34
|
}
|
|
28
35
|
const { lambda } = config;
|
|
29
36
|
// Fetch embeddings for all candidates
|
|
@@ -43,11 +50,18 @@ export async function reorderWithMMR(candidates, queryEmbedding, config) {
|
|
|
43
50
|
const selected = [];
|
|
44
51
|
const selectedEmbeddings = [];
|
|
45
52
|
const remaining = new Set(candidates.map((_, i) => i));
|
|
53
|
+
let budgetRemaining = budget?.tokenBudget ?? Infinity;
|
|
46
54
|
while (remaining.size > 0) {
|
|
47
55
|
let bestIdx = -1;
|
|
48
56
|
let bestMMR = -Infinity;
|
|
49
57
|
for (const idx of remaining) {
|
|
50
58
|
const c = candidates[idx];
|
|
59
|
+
// Skip candidates that exceed remaining budget
|
|
60
|
+
if (budget) {
|
|
61
|
+
const tokens = budget.chunkTokenCounts.get(c.chunkId) ?? 0;
|
|
62
|
+
if (tokens > budgetRemaining)
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
51
65
|
const rel = normalizedScores.get(c.chunkId);
|
|
52
66
|
// Compute max similarity to already-selected items
|
|
53
67
|
let div = 0;
|
|
@@ -66,9 +80,15 @@ export async function reorderWithMMR(candidates, queryEmbedding, config) {
|
|
|
66
80
|
bestIdx = idx;
|
|
67
81
|
}
|
|
68
82
|
}
|
|
83
|
+
// No candidate fits remaining budget
|
|
84
|
+
if (bestIdx === -1)
|
|
85
|
+
break;
|
|
69
86
|
remaining.delete(bestIdx);
|
|
70
87
|
const picked = candidates[bestIdx];
|
|
71
88
|
selected.push(picked);
|
|
89
|
+
if (budget) {
|
|
90
|
+
budgetRemaining -= budget.chunkTokenCounts.get(picked.chunkId) ?? 0;
|
|
91
|
+
}
|
|
72
92
|
const pickedEmb = embeddings.get(picked.chunkId);
|
|
73
93
|
if (pickedEmb) {
|
|
74
94
|
selectedEmbeddings.push(pickedEmb);
|
|
@@ -76,4 +96,17 @@ export async function reorderWithMMR(candidates, queryEmbedding, config) {
|
|
|
76
96
|
}
|
|
77
97
|
return selected;
|
|
78
98
|
}
|
|
99
|
+
/** Budget-only filter for below-threshold candidate lists (no MMR reranking). */
|
|
100
|
+
function applyBudgetFilter(candidates, budget) {
|
|
101
|
+
const result = [];
|
|
102
|
+
let remaining = budget.tokenBudget;
|
|
103
|
+
for (const c of candidates) {
|
|
104
|
+
const tokens = budget.chunkTokenCounts.get(c.chunkId) ?? 0;
|
|
105
|
+
if (tokens <= remaining) {
|
|
106
|
+
result.push(c);
|
|
107
|
+
remaining -= tokens;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
79
112
|
//# sourceMappingURL=mmr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mmr.js","sourceRoot":"","sources":["../../src/retrieval/mmr.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"mmr.js","sourceRoot":"","sources":["../../src/retrieval/mmr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-assembler.d.ts","sourceRoot":"","sources":["../../src/retrieval/search-assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;KAC3C,CAAC,CAAC;IACH,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gDAAgD;IAChD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAgCD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"search-assembler.d.ts","sourceRoot":"","sources":["../../src/retrieval/search-assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;KAC3C,CAAC,CAAC;IACH,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gDAAgD;IAChD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAgCD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAsMnF;AAgGD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA6BhC;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAMnD"}
|
|
@@ -139,10 +139,13 @@ export async function searchContext(request) {
|
|
|
139
139
|
const { recency } = config;
|
|
140
140
|
const now = Date.now();
|
|
141
141
|
const ln2 = Math.LN2;
|
|
142
|
+
const chunkTokenMap = new Map();
|
|
142
143
|
for (const item of deduped) {
|
|
143
144
|
const chunk = getChunkById(item.chunkId);
|
|
144
145
|
if (!chunk)
|
|
145
146
|
continue;
|
|
147
|
+
const chunkTokens = chunk.approxTokens || 500;
|
|
148
|
+
chunkTokenMap.set(item.chunkId, chunkTokens);
|
|
146
149
|
// Time-decay boost: 1 + decayFactor * exp(-ageHours * ln2 / halfLifeHours)
|
|
147
150
|
const ageMs = now - new Date(chunk.startTime).getTime();
|
|
148
151
|
const ageHours = Math.max(0, ageMs / (1000 * 60 * 60));
|
|
@@ -152,15 +155,23 @@ export async function searchContext(request) {
|
|
|
152
155
|
// Length penalty: logarithmic penalty for large, keyword-rich chunks
|
|
153
156
|
let lengthFactor = 1.0;
|
|
154
157
|
if (config.lengthPenalty.enabled) {
|
|
155
|
-
const chunkTokens = chunk.approxTokens || 500;
|
|
156
158
|
lengthFactor =
|
|
157
159
|
1 / (1 + Math.log2(Math.max(1, chunkTokens / config.lengthPenalty.referenceTokens)));
|
|
158
160
|
}
|
|
159
161
|
item.score *= timeBoost * sessionBoost * lengthFactor;
|
|
160
162
|
}
|
|
161
163
|
deduped.sort((a, b) => b.score - a.score);
|
|
162
|
-
// 7.
|
|
163
|
-
|
|
164
|
+
// 7.1. Exclude oversized chunks (larger than the response budget).
|
|
165
|
+
// These can never be fully returned and would waste MMR diversity slots.
|
|
166
|
+
const sizeBounded = deduped.filter((item) => {
|
|
167
|
+
const tokens = chunkTokenMap.get(item.chunkId);
|
|
168
|
+
return tokens !== undefined && tokens <= maxTokens;
|
|
169
|
+
});
|
|
170
|
+
// 7.5. MMR reranking (diversity-aware, budget-aware ordering)
|
|
171
|
+
const reordered = await reorderWithMMR(sizeBounded, queryResult.embedding, mmrReranking, {
|
|
172
|
+
tokenBudget: maxTokens,
|
|
173
|
+
chunkTokenCounts: chunkTokenMap,
|
|
174
|
+
});
|
|
164
175
|
// 7.6. Normalize scores for display (top result = 1.0)
|
|
165
176
|
if (reordered.length > 0) {
|
|
166
177
|
const maxScore = reordered[0].score;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-assembler.js","sourceRoot":"","sources":["../../src/retrieval/search-assembler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search-assembler.js","sourceRoot":"","sources":["../../src/retrieval/search-assembler.ts"],"names":[],"mappings":"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"}
|