kiokuko 1.0.13 → 1.0.15
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.ja.md +35 -0
- package/README.ko.md +35 -0
- package/README.md +35 -0
- package/README.zh-CN.md +35 -0
- package/dist/akinator/agent-task.d.ts +10 -0
- package/dist/akinator/agent-task.d.ts.map +1 -1
- package/dist/akinator/agent-task.js +54 -11
- package/dist/akinator/agent-task.js.map +1 -1
- package/dist/assurance/codex-hooks.js +1 -1
- package/dist/assurance/codex-hooks.js.map +1 -1
- package/dist/assurance/contracts.d.ts +8 -1
- package/dist/assurance/contracts.d.ts.map +1 -1
- package/dist/assurance/contracts.js +2 -1
- package/dist/assurance/contracts.js.map +1 -1
- package/dist/assurance/refresh.d.ts.map +1 -1
- package/dist/assurance/refresh.js +25 -3
- package/dist/assurance/refresh.js.map +1 -1
- package/dist/assurance/service.d.ts +1 -1
- package/dist/chatgpt/memory-policy.d.ts +14 -0
- package/dist/chatgpt/memory-policy.d.ts.map +1 -0
- package/dist/chatgpt/memory-policy.js +23 -0
- package/dist/chatgpt/memory-policy.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +79 -9
- package/dist/cli.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +3 -0
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +3 -0
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/memory-index.d.ts +6 -0
- package/dist/commands/memory-index.d.ts.map +1 -0
- package/dist/commands/memory-index.js +30 -0
- package/dist/commands/memory-index.js.map +1 -0
- package/dist/commands/reranker.d.ts +9 -0
- package/dist/commands/reranker.d.ts.map +1 -0
- package/dist/commands/reranker.js +52 -0
- package/dist/commands/reranker.js.map +1 -0
- package/dist/config/paths.d.ts +2 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +10 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/context/broker.d.ts +14 -0
- package/dist/context/broker.d.ts.map +1 -1
- package/dist/context/broker.js +162 -15
- package/dist/context/broker.js.map +1 -1
- package/dist/context/ranking.d.ts +6 -2
- package/dist/context/ranking.d.ts.map +1 -1
- package/dist/context/ranking.js +23 -1
- package/dist/context/ranking.js.map +1 -1
- package/dist/context/scoped-broker.d.ts +20 -0
- package/dist/context/scoped-broker.d.ts.map +1 -1
- package/dist/context/scoped-broker.js +173 -10
- package/dist/context/scoped-broker.js.map +1 -1
- package/dist/context/selection-state.d.ts.map +1 -1
- package/dist/context/selection-state.js +2 -0
- package/dist/context/selection-state.js.map +1 -1
- package/dist/db/connection.js +1 -1
- package/dist/db/connection.js.map +1 -1
- package/dist/embedding/javascript-backend.d.ts.map +1 -1
- package/dist/embedding/javascript-backend.js +7 -1
- package/dist/embedding/javascript-backend.js.map +1 -1
- package/dist/embedding/model-download.d.ts +2 -2
- package/dist/embedding/model-download.d.ts.map +1 -1
- package/dist/embedding/model-download.js +23 -11
- package/dist/embedding/model-download.js.map +1 -1
- package/dist/embedding/model-installation.d.ts +3 -1
- package/dist/embedding/model-installation.d.ts.map +1 -1
- package/dist/embedding/model-installation.js +16 -9
- package/dist/embedding/model-installation.js.map +1 -1
- package/dist/embedding/model-manifest.d.ts +7 -7
- package/dist/embedding/model-manifest.d.ts.map +1 -1
- package/dist/embedding/model-manifest.js +28 -17
- package/dist/embedding/model-manifest.js.map +1 -1
- package/dist/embedding/presets/manifest.d.ts +20 -7
- package/dist/embedding/presets/manifest.d.ts.map +1 -1
- package/dist/embedding/presets/manifest.js.map +1 -1
- package/dist/embedding/sqlite-vec-backend.d.ts.map +1 -1
- package/dist/embedding/sqlite-vec-backend.js +7 -1
- package/dist/embedding/sqlite-vec-backend.js.map +1 -1
- package/dist/embedding/store.d.ts.map +1 -1
- package/dist/embedding/store.js +2 -0
- package/dist/embedding/store.js.map +1 -1
- package/dist/embedding/types.d.ts +2 -0
- package/dist/embedding/types.d.ts.map +1 -1
- package/dist/ledger/checkpoint-contract.d.ts +6 -6
- package/dist/mcp/chatgpt-contract.d.ts +156 -0
- package/dist/mcp/chatgpt-contract.d.ts.map +1 -0
- package/dist/mcp/chatgpt-contract.js +76 -0
- package/dist/mcp/chatgpt-contract.js.map +1 -0
- package/dist/mcp/chatgpt-runtime.d.ts +14 -0
- package/dist/mcp/chatgpt-runtime.d.ts.map +1 -0
- package/dist/mcp/chatgpt-runtime.js +106 -0
- package/dist/mcp/chatgpt-runtime.js.map +1 -0
- package/dist/mcp/chatgpt-server.d.ts +6 -0
- package/dist/mcp/chatgpt-server.d.ts.map +1 -0
- package/dist/mcp/chatgpt-server.js +81 -0
- package/dist/mcp/chatgpt-server.js.map +1 -0
- package/dist/mcp/request-deadline.d.ts +1 -1
- package/dist/mcp/request-deadline.d.ts.map +1 -1
- package/dist/mcp/request-deadline.js +3 -0
- package/dist/mcp/request-deadline.js.map +1 -1
- package/dist/mcp/runtime-owner.d.ts.map +1 -1
- package/dist/mcp/runtime-owner.js +7 -0
- package/dist/mcp/runtime-owner.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +35 -5
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/stdio-runner.d.ts +6 -0
- package/dist/mcp/stdio-runner.d.ts.map +1 -0
- package/dist/mcp/stdio-runner.js +41 -0
- package/dist/mcp/stdio-runner.js.map +1 -0
- package/dist/memory/checkpoint-contract.d.ts +9 -9
- package/dist/memory/curator.d.ts.map +1 -1
- package/dist/memory/curator.js +2 -0
- package/dist/memory/curator.js.map +1 -1
- package/dist/memory/entries.d.ts.map +1 -1
- package/dist/memory/entries.js +2 -0
- package/dist/memory/entries.js.map +1 -1
- package/dist/memory/federated-retrieval.d.ts +16 -2
- package/dist/memory/federated-retrieval.d.ts.map +1 -1
- package/dist/memory/federated-retrieval.js +229 -45
- package/dist/memory/federated-retrieval.js.map +1 -1
- package/dist/memory/global-conversation-query.d.ts +35 -0
- package/dist/memory/global-conversation-query.d.ts.map +1 -0
- package/dist/memory/global-conversation-query.js +60 -0
- package/dist/memory/global-conversation-query.js.map +1 -0
- package/dist/memory/hybrid-retrieval.d.ts +18 -2
- package/dist/memory/hybrid-retrieval.d.ts.map +1 -1
- package/dist/memory/hybrid-retrieval.js +180 -9
- package/dist/memory/hybrid-retrieval.js.map +1 -1
- package/dist/memory/index-service.d.ts +103 -0
- package/dist/memory/index-service.d.ts.map +1 -0
- package/dist/memory/index-service.js +196 -0
- package/dist/memory/index-service.js.map +1 -0
- package/dist/memory/index-state.d.ts +56 -0
- package/dist/memory/index-state.d.ts.map +1 -0
- package/dist/memory/index-state.js +100 -0
- package/dist/memory/index-state.js.map +1 -0
- package/dist/memory/interaction-capture.d.ts.map +1 -1
- package/dist/memory/interaction-capture.js +6 -3
- package/dist/memory/interaction-capture.js.map +1 -1
- package/dist/memory/interaction-contract.d.ts +30 -0
- package/dist/memory/interaction-contract.d.ts.map +1 -1
- package/dist/memory/interaction-contract.js +38 -0
- package/dist/memory/interaction-contract.js.map +1 -1
- package/dist/memory/interaction-recall.d.ts +14 -1
- package/dist/memory/interaction-recall.d.ts.map +1 -1
- package/dist/memory/interaction-recall.js +48 -42
- package/dist/memory/interaction-recall.js.map +1 -1
- package/dist/memory/lesson-derivation.d.ts +79 -0
- package/dist/memory/lesson-derivation.d.ts.map +1 -0
- package/dist/memory/lesson-derivation.js +302 -0
- package/dist/memory/lesson-derivation.js.map +1 -0
- package/dist/memory/lesson-reinforcement.d.ts.map +1 -1
- package/dist/memory/lesson-reinforcement.js +7 -4
- package/dist/memory/lesson-reinforcement.js.map +1 -1
- package/dist/memory/lifecycle.d.ts.map +1 -1
- package/dist/memory/lifecycle.js +4 -0
- package/dist/memory/lifecycle.js.map +1 -1
- package/dist/memory/retrieval.d.ts +14 -0
- package/dist/memory/retrieval.d.ts.map +1 -1
- package/dist/memory/retrieval.js +107 -13
- package/dist/memory/retrieval.js.map +1 -1
- package/dist/memory/scoped-memory.d.ts +5 -0
- package/dist/memory/scoped-memory.d.ts.map +1 -1
- package/dist/memory/scoped-memory.js +3 -0
- package/dist/memory/scoped-memory.js.map +1 -1
- package/dist/memory/search-extension-config.d.ts +5 -0
- package/dist/memory/search-extension-config.d.ts.map +1 -0
- package/dist/memory/search-extension-config.js +20 -0
- package/dist/memory/search-extension-config.js.map +1 -0
- package/dist/memory/temporal.d.ts +18 -0
- package/dist/memory/temporal.d.ts.map +1 -0
- package/dist/memory/temporal.js +128 -0
- package/dist/memory/temporal.js.map +1 -0
- package/dist/reranker/config.d.ts +15 -0
- package/dist/reranker/config.d.ts.map +1 -0
- package/dist/reranker/config.js +48 -0
- package/dist/reranker/config.js.map +1 -0
- package/dist/reranker/preset.d.ts +12 -0
- package/dist/reranker/preset.d.ts.map +1 -0
- package/dist/reranker/preset.js +102 -0
- package/dist/reranker/preset.js.map +1 -0
- package/dist/reranker/runtime.d.ts +40 -0
- package/dist/reranker/runtime.d.ts.map +1 -0
- package/dist/reranker/runtime.js +324 -0
- package/dist/reranker/runtime.js.map +1 -0
- package/dist/reranker/service.d.ts +36 -0
- package/dist/reranker/service.d.ts.map +1 -0
- package/dist/reranker/service.js +163 -0
- package/dist/reranker/service.js.map +1 -0
- package/dist/reranker/setup.d.ts +30 -0
- package/dist/reranker/setup.d.ts.map +1 -0
- package/dist/reranker/setup.js +50 -0
- package/dist/reranker/setup.js.map +1 -0
- package/dist/reranker/worker.d.ts +2 -0
- package/dist/reranker/worker.d.ts.map +1 -0
- package/dist/reranker/worker.js +115 -0
- package/dist/reranker/worker.js.map +1 -0
- package/dist/serialization/validate.d.ts.map +1 -1
- package/dist/serialization/validate.js +29 -1
- package/dist/serialization/validate.js.map +1 -1
- package/dist/server/routes/task-assurance.d.ts.map +1 -1
- package/dist/server/routes/task-assurance.js +11 -2
- package/dist/server/routes/task-assurance.js.map +1 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +47 -11
- package/dist/web/server.js.map +1 -1
- package/docs/README.ja.md +3 -0
- package/docs/README.md +3 -0
- package/docs/chatgpt-validation.md +40 -0
- package/docs/chatgpt.ja.md +41 -0
- package/docs/chatgpt.md +41 -0
- package/docs/cli-contract.md +11 -0
- package/docs/client-compatibility.md +9 -0
- package/docs/memory-assurance.md +5 -0
- package/docs/memory-index-evaluation-2026-09-30.md +50 -0
- package/docs/memory-index.md +138 -0
- package/migrations/007_revision_bound_lesson_sources.sql +33 -0
- package/migrations/008_memory_index.sql +39 -0
- package/package.json +3 -2
- package/skills/kiokuko-soul/SKILL.md +13 -0
- package/templates/chatgpt/memory-policy.json +4 -0
package/dist/context/broker.js
CHANGED
|
@@ -18,6 +18,11 @@ import { contextRetrievalStateHash } from './selection-state.js';
|
|
|
18
18
|
import { readContextRunRetrievalState } from './run-state.js';
|
|
19
19
|
import { prepareEmbeddingSearchRuntime } from '../embedding/runtime.js';
|
|
20
20
|
import { captureProjectManifestSnapshot, resolveProjectFingerprint, } from '../repository/project-fingerprint.js';
|
|
21
|
+
import { normalizeTemporalConstraint } from '../memory/temporal.js';
|
|
22
|
+
import { effectiveRelatedSearchMode } from '../memory/search-extension-config.js';
|
|
23
|
+
import { readRerankerConfig } from '../reranker/config.js';
|
|
24
|
+
import { scoreLocalReranker } from '../reranker/service.js';
|
|
25
|
+
import { deduplicateDeliverableLessonSources, formatLessonSourceReferences, readDeliverableLessonSourceReferences } from '../memory/lesson-derivation.js';
|
|
21
26
|
export const CONTEXT_BROKER_POLICY_VERSION = `${CONTEXT_RANKING_VERSION}+${RECOMMENDATION_POLICY_VERSION}`;
|
|
22
27
|
export const CONTEXT_BROKER_DEFAULT_LIMIT = 20;
|
|
23
28
|
export const CONTEXT_BROKER_MAX_LIMIT = 100;
|
|
@@ -125,7 +130,7 @@ function normalizeInput(input) {
|
|
|
125
130
|
if (typeof input !== 'object' || input === null || Array.isArray(input))
|
|
126
131
|
invalid();
|
|
127
132
|
const value = input;
|
|
128
|
-
const allowed = new Set(['apiVersion', 'workspace', 'runId', 'task', 'taskProfile', 'recommendedTags', 'changedPaths', 'errorSignatures', 'limit', 'characterBudget']);
|
|
133
|
+
const allowed = new Set(['apiVersion', 'workspace', 'runId', 'task', 'taskProfile', 'recommendedTags', 'changedPaths', 'errorSignatures', 'limit', 'characterBudget', 'temporal', 'relatedMode']);
|
|
129
134
|
if (Object.keys(value).some((key) => !allowed.has(key)))
|
|
130
135
|
invalid();
|
|
131
136
|
if (value.apiVersion !== undefined && value.apiVersion !== '1')
|
|
@@ -144,6 +149,9 @@ function normalizeInput(input) {
|
|
|
144
149
|
invalid();
|
|
145
150
|
if (value.characterBudget !== undefined && (typeof value.characterBudget !== 'number' || !Number.isSafeInteger(value.characterBudget) || value.characterBudget < 1 || value.characterBudget > CONTEXT_BROKER_MAX_CHARACTER_BUDGET))
|
|
146
151
|
invalid();
|
|
152
|
+
if (value.relatedMode !== undefined && value.relatedMode !== 'off' && value.relatedMode !== 'observe' && value.relatedMode !== 'active')
|
|
153
|
+
invalid();
|
|
154
|
+
const temporal = normalizeTemporalConstraint(value.temporal);
|
|
147
155
|
return {
|
|
148
156
|
...(value.workspace === undefined ? {} : { workspace: value.workspace }),
|
|
149
157
|
...(value.runId === undefined ? {} : { runId: value.runId }),
|
|
@@ -154,6 +162,8 @@ function normalizeInput(input) {
|
|
|
154
162
|
errorSignatures: boundedStringArray(value.errorSignatures, 500),
|
|
155
163
|
...(value.limit === undefined ? {} : { limit: value.limit }),
|
|
156
164
|
...(value.characterBudget === undefined ? {} : { characterBudget: value.characterBudget }),
|
|
165
|
+
...(temporal === undefined ? {} : { temporal }),
|
|
166
|
+
...(value.relatedMode === undefined ? {} : { relatedMode: value.relatedMode }),
|
|
157
167
|
};
|
|
158
168
|
}
|
|
159
169
|
function normalizePersistence(value) {
|
|
@@ -213,6 +223,11 @@ function preparedQuery(database, input) {
|
|
|
213
223
|
const taskProfileHash = runContext?.profileHash ?? canonicalContentHash(profile);
|
|
214
224
|
const recommendedTags = runContext?.recommendedTags ?? input.recommendedTags ?? [];
|
|
215
225
|
const workspace = runContext?.run.workspace ?? requestedWorkspace;
|
|
226
|
+
const temporal = normalizeTemporalConstraint(input.temporal);
|
|
227
|
+
const relatedMode = effectiveRelatedSearchMode(input.relatedMode);
|
|
228
|
+
const rerankerConfig = readRerankerConfig();
|
|
229
|
+
if (relatedMode !== 'off' && relatedMode !== 'observe' && relatedMode !== 'active')
|
|
230
|
+
invalid();
|
|
216
231
|
const project = projectForWorkspace(database, workspace);
|
|
217
232
|
const projectState = project === undefined
|
|
218
233
|
? null
|
|
@@ -238,6 +253,20 @@ function preparedQuery(database, input) {
|
|
|
238
253
|
throughSequence,
|
|
239
254
|
characterBudget: input.characterBudget ?? CONTEXT_BROKER_DEFAULT_CHARACTER_BUDGET,
|
|
240
255
|
limit: input.limit ?? CONTEXT_BROKER_DEFAULT_LIMIT,
|
|
256
|
+
...(temporal === undefined ? {} : { temporal }),
|
|
257
|
+
...(relatedMode === 'off' ? {} : { relatedMode }),
|
|
258
|
+
...(rerankerConfig.mode === 'active' ? { reranker: {
|
|
259
|
+
mode: rerankerConfig.mode,
|
|
260
|
+
presetId: rerankerConfig.presetId,
|
|
261
|
+
revision: rerankerConfig.revision,
|
|
262
|
+
dtype: rerankerConfig.dtype,
|
|
263
|
+
maxCandidates: rerankerConfig.maxCandidates,
|
|
264
|
+
maxInputBytes: rerankerConfig.maxInputBytes,
|
|
265
|
+
maxTokens: rerankerConfig.maxTokens,
|
|
266
|
+
timeoutMs: rerankerConfig.timeoutMs,
|
|
267
|
+
maxConcurrency: rerankerConfig.maxConcurrency,
|
|
268
|
+
queueLimit: rerankerConfig.queueLimit,
|
|
269
|
+
} } : {}),
|
|
241
270
|
projectState,
|
|
242
271
|
retrievalStateHash,
|
|
243
272
|
runStateHash: runContext?.stateHash ?? null,
|
|
@@ -256,6 +285,9 @@ function preparedQuery(database, input) {
|
|
|
256
285
|
task,
|
|
257
286
|
limit: input.limit ?? CONTEXT_BROKER_DEFAULT_LIMIT,
|
|
258
287
|
characterBudget: input.characterBudget ?? CONTEXT_BROKER_DEFAULT_CHARACTER_BUDGET,
|
|
288
|
+
...(temporal === undefined ? {} : { temporal }),
|
|
289
|
+
relatedMode,
|
|
290
|
+
rerankerConfig,
|
|
259
291
|
throughSequence,
|
|
260
292
|
intakeSessionId: runContext?.intakeSessionId ?? null,
|
|
261
293
|
projection: runContext?.projection ?? null,
|
|
@@ -269,7 +301,7 @@ function preparedQuery(database, input) {
|
|
|
269
301
|
deliveryId: null,
|
|
270
302
|
};
|
|
271
303
|
}
|
|
272
|
-
function entrySnapshot(entry, origin, selectionReasons = []) {
|
|
304
|
+
function entrySnapshot(entry, origin, selectionReasons = [], sourceReferences = '') {
|
|
273
305
|
return {
|
|
274
306
|
id: entry.id,
|
|
275
307
|
revision: entry.revision,
|
|
@@ -279,7 +311,7 @@ function entrySnapshot(entry, origin, selectionReasons = []) {
|
|
|
279
311
|
confidence: entry.confidence,
|
|
280
312
|
title: entry.title,
|
|
281
313
|
summary: entry.summary,
|
|
282
|
-
body: entry.body
|
|
314
|
+
body: `${entry.body}${sourceReferences}`,
|
|
283
315
|
tags: [...entry.tags],
|
|
284
316
|
scope: entry.scope,
|
|
285
317
|
updatedAt: entry.updatedAt,
|
|
@@ -339,6 +371,10 @@ async function retrieveEntries(database, query, runtime) {
|
|
|
339
371
|
.filter((value) => value !== null && value.length > 0)
|
|
340
372
|
.map((value) => value.slice(0, 2_000));
|
|
341
373
|
const queries = [retrievalQuery(query), ...terms];
|
|
374
|
+
const features = {
|
|
375
|
+
...(query.temporal === undefined ? {} : { temporal: query.temporal }),
|
|
376
|
+
relatedMode: query.relatedMode,
|
|
377
|
+
};
|
|
342
378
|
const entries = new Map();
|
|
343
379
|
for (const value of queries) {
|
|
344
380
|
if (query.projectState !== null) {
|
|
@@ -347,12 +383,13 @@ async function retrieveEntries(database, query, runtime) {
|
|
|
347
383
|
fingerprint: query.projectState.fingerprint,
|
|
348
384
|
query: value,
|
|
349
385
|
limit: 500,
|
|
386
|
+
...features,
|
|
350
387
|
}, runtime)) {
|
|
351
388
|
addRetrievedEntry(entries, { entry: hit.entry, origin: hit.origin, selectionReasons: hit.selectionReasons });
|
|
352
389
|
}
|
|
353
390
|
}
|
|
354
391
|
else {
|
|
355
|
-
for (const hit of rankedEntryHits(database, { workspace: query.workspace, query: value, limit: 500, includeSuperseded: false }, runtime).hits) {
|
|
392
|
+
for (const hit of rankedEntryHits(database, { workspace: query.workspace, query: value, limit: 500, includeSuperseded: false, ...features }, runtime).hits) {
|
|
356
393
|
addRetrievedEntry(entries, {
|
|
357
394
|
entry: readEntry(database, { workspace: query.workspace, entryId: hit.entryId }),
|
|
358
395
|
origin: 'project',
|
|
@@ -385,18 +422,111 @@ function assertPreparedProjectState(database, query) {
|
|
|
385
422
|
}
|
|
386
423
|
}
|
|
387
424
|
async function rank(database, query, prior, runtime) {
|
|
388
|
-
const
|
|
425
|
+
const retrievedEntries = await retrieveEntries(database, query, runtime);
|
|
426
|
+
const deduplicated = deduplicateDeliverableLessonSources(database, retrievedEntries.map(({ entry }) => entry), query.relatedMode);
|
|
427
|
+
query.lessonDeduplicationDiagnostics = deduplicated.diagnostics;
|
|
428
|
+
const suppressedForRetained = new Set(deduplicated.suppressed.map((item) => item.retainedEntryId));
|
|
429
|
+
const suppressedIds = new Set(deduplicated.suppressed.map((item) => item.entryId));
|
|
430
|
+
const sourceNotes = new Map();
|
|
431
|
+
if (query.relatedMode === 'active') {
|
|
432
|
+
for (const [entryId, references] of deduplicated.sourceReferences) {
|
|
433
|
+
sourceNotes.set(entryId, formatLessonSourceReferences(references));
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
const entries = retrievedEntries.filter(({ entry }) => !suppressedIds.has(entry.id)).map((value) => ({
|
|
437
|
+
...value,
|
|
438
|
+
selectionReasons: suppressedForRetained.has(value.entry.id)
|
|
439
|
+
? [...value.selectionReasons, 'duplicate_source_suppressed']
|
|
440
|
+
: value.selectionReasons,
|
|
441
|
+
}));
|
|
389
442
|
const feedback = entries.flatMap(({ entry }) => contextFeedbackSignals(database, entry.id).flatMap((signal) => Array.from({ length: signal.boundedInfluence }, () => ({ entryId: entry.id, verdict: signal.verdict }))));
|
|
390
|
-
|
|
443
|
+
const rankingInput = {
|
|
391
444
|
taskProfile: query.taskProfile,
|
|
392
445
|
recommendedTags: query.recommendedTags,
|
|
393
446
|
changedPaths: query.changedPaths,
|
|
394
447
|
errorSignatures: query.errorSignatures,
|
|
395
448
|
priorDelivered: prior.delivered,
|
|
396
449
|
feedback,
|
|
397
|
-
candidates: entries.map(({ entry, origin, selectionReasons }) => entrySnapshot(entry, origin, selectionReasons)),
|
|
450
|
+
candidates: entries.map(({ entry, origin, selectionReasons }) => entrySnapshot(entry, origin, selectionReasons, sourceNotes.get(entry.id))),
|
|
398
451
|
limit: query.limit,
|
|
399
452
|
characterBudget: query.characterBudget,
|
|
453
|
+
};
|
|
454
|
+
const baseline = rankContextCandidates(rankingInput);
|
|
455
|
+
const config = query.rerankerConfig;
|
|
456
|
+
if (config.mode === 'off')
|
|
457
|
+
return baseline.filter((candidate) => {
|
|
458
|
+
const sourceNote = sourceNotes.get(candidate.entryId);
|
|
459
|
+
return sourceNote === undefined || candidate.content.bodyPreview.endsWith(sourceNote);
|
|
460
|
+
});
|
|
461
|
+
const entriesById = new Map(entries.map(({ entry }) => [entry.id, entry]));
|
|
462
|
+
const candidates = baseline.slice(0, config.maxCandidates).flatMap((item) => {
|
|
463
|
+
const entry = entriesById.get(item.entryId);
|
|
464
|
+
return entry === undefined ? [] : [{
|
|
465
|
+
key: item.entryId,
|
|
466
|
+
title: entry.title,
|
|
467
|
+
summary: entry.summary,
|
|
468
|
+
body: `${entry.body}${sourceNotes.get(entry.id) ?? ''}`,
|
|
469
|
+
}];
|
|
470
|
+
});
|
|
471
|
+
if (candidates.length === 0) {
|
|
472
|
+
query.rerankerDiagnostics = {
|
|
473
|
+
mode: config.mode, state: 'no_candidates', candidateCount: 0, scoredCount: 0, unscoredCount: 0,
|
|
474
|
+
};
|
|
475
|
+
return baseline.filter((candidate) => {
|
|
476
|
+
const sourceNote = sourceNotes.get(candidate.entryId);
|
|
477
|
+
return sourceNote === undefined || candidate.content.bodyPreview.endsWith(sourceNote);
|
|
478
|
+
});
|
|
479
|
+
}
|
|
480
|
+
const selectionState = contextRetrievalStateHash(database, query.selectionWorkspaces, { includeEcosystem: query.includeEcosystem });
|
|
481
|
+
const assertSelectionStateUnchanged = () => {
|
|
482
|
+
assertPreparedProjectState(database, query);
|
|
483
|
+
if (contextRetrievalStateHash(database, query.selectionWorkspaces, { includeEcosystem: query.includeEcosystem }) !== selectionState) {
|
|
484
|
+
throw new KiokukoError('CONFLICT', 'Context selection state changed during reranker inference');
|
|
485
|
+
}
|
|
486
|
+
};
|
|
487
|
+
let scoring;
|
|
488
|
+
try {
|
|
489
|
+
scoring = await scoreLocalReranker(retrievalQuery(query), candidates, { config });
|
|
490
|
+
}
|
|
491
|
+
catch (error) {
|
|
492
|
+
if (config.mode === 'active'
|
|
493
|
+
|| error instanceof KiokukoError && ['INTEGRITY_ERROR', 'SECURITY_REJECTION', 'CONFLICT'].includes(error.code))
|
|
494
|
+
throw error;
|
|
495
|
+
assertSelectionStateUnchanged();
|
|
496
|
+
const reason = error instanceof KiokukoError ? error.code.toLowerCase() : 'inference_unavailable';
|
|
497
|
+
query.rerankerDiagnostics = {
|
|
498
|
+
mode: config.mode, state: 'unavailable', candidateCount: candidates.length, scoredCount: 0,
|
|
499
|
+
unscoredCount: candidates.length, reason,
|
|
500
|
+
};
|
|
501
|
+
return baseline.filter((candidate) => {
|
|
502
|
+
const sourceNote = sourceNotes.get(candidate.entryId);
|
|
503
|
+
return sourceNote === undefined || candidate.content.bodyPreview.endsWith(sourceNote);
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
assertSelectionStateUnchanged();
|
|
507
|
+
if (scoring.failed) {
|
|
508
|
+
query.rerankerDiagnostics = {
|
|
509
|
+
mode: config.mode, state: 'failed', candidateCount: candidates.length,
|
|
510
|
+
scoredCount: 0, unscoredCount: candidates.length, reason: scoring.failureReason ?? 'inference_failed',
|
|
511
|
+
};
|
|
512
|
+
return baseline.filter((candidate) => {
|
|
513
|
+
const sourceNote = sourceNotes.get(candidate.entryId);
|
|
514
|
+
return sourceNote === undefined || candidate.content.bodyPreview.endsWith(sourceNote);
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
const ranked = config.mode === 'active'
|
|
518
|
+
? rankContextCandidates(rankingInput, { scores: scoring.scores, maximumCandidates: config.maxCandidates })
|
|
519
|
+
: baseline;
|
|
520
|
+
query.rerankerDiagnostics = {
|
|
521
|
+
mode: config.mode,
|
|
522
|
+
state: config.mode === 'active' ? 'applied' : 'observed',
|
|
523
|
+
candidateCount: candidates.length,
|
|
524
|
+
scoredCount: scoring.scores.size,
|
|
525
|
+
unscoredCount: scoring.unscored.size,
|
|
526
|
+
};
|
|
527
|
+
return ranked.filter((candidate) => {
|
|
528
|
+
const sourceNote = sourceNotes.get(candidate.entryId);
|
|
529
|
+
return sourceNote === undefined || candidate.content.bodyPreview.endsWith(sourceNote);
|
|
400
530
|
});
|
|
401
531
|
}
|
|
402
532
|
function priorData(database, query, options = {}) {
|
|
@@ -597,18 +727,22 @@ function storedContext(database, query, delivery) {
|
|
|
597
727
|
workspace: current.workspace,
|
|
598
728
|
revision: item.entryRevision,
|
|
599
729
|
});
|
|
730
|
+
const sourceNote = query.relatedMode === 'active'
|
|
731
|
+
? formatLessonSourceReferences(readDeliverableLessonSourceReferences(database, current))
|
|
732
|
+
: '';
|
|
733
|
+
const fullBody = `${entry.body}${sourceNote}`;
|
|
600
734
|
const take = (value, budget) => Array.from(value).slice(0, Math.max(0, budget)).join('');
|
|
601
735
|
const count = (value) => Array.from(value).length;
|
|
602
736
|
const title = take(entry.title, remaining);
|
|
603
737
|
remaining -= count(title);
|
|
604
738
|
const summary = entry.summary === null ? null : take(entry.summary, remaining);
|
|
605
739
|
remaining -= count(summary ?? '');
|
|
606
|
-
const bodyPreview = take(
|
|
740
|
+
const bodyPreview = take(fullBody, remaining);
|
|
607
741
|
remaining -= count(bodyPreview);
|
|
608
742
|
const characterCount = count(title) + count(summary ?? '') + count(bodyPreview);
|
|
609
743
|
const truncated = count(title) < count(entry.title)
|
|
610
744
|
|| (entry.summary !== null && count(summary ?? '') < count(entry.summary))
|
|
611
|
-
|| count(bodyPreview) < count(
|
|
745
|
+
|| count(bodyPreview) < count(fullBody);
|
|
612
746
|
totalCharacterCount += characterCount;
|
|
613
747
|
anyTruncated ||= truncated;
|
|
614
748
|
return {
|
|
@@ -755,17 +889,18 @@ export class ContextBroker {
|
|
|
755
889
|
async execute(rawInput, persistence) {
|
|
756
890
|
const input = normalizeInput(rawInput);
|
|
757
891
|
const query = preparedQuery(this.database, input);
|
|
758
|
-
const
|
|
892
|
+
const inFlightKey = `${query.queryHash}\u0000${query.rerankerConfig.mode}`;
|
|
893
|
+
const previous = this.inFlight.get(inFlightKey);
|
|
759
894
|
if (previous !== undefined)
|
|
760
895
|
return previous;
|
|
761
896
|
const operation = this.queryPrepared(query, persistence);
|
|
762
|
-
this.inFlight.set(
|
|
897
|
+
this.inFlight.set(inFlightKey, operation);
|
|
763
898
|
try {
|
|
764
899
|
return await operation;
|
|
765
900
|
}
|
|
766
901
|
finally {
|
|
767
|
-
if (this.inFlight.get(
|
|
768
|
-
this.inFlight.delete(
|
|
902
|
+
if (this.inFlight.get(inFlightKey) === operation)
|
|
903
|
+
this.inFlight.delete(inFlightKey);
|
|
769
904
|
}
|
|
770
905
|
}
|
|
771
906
|
async queryPrepared(query, persistence) {
|
|
@@ -794,11 +929,17 @@ export class ContextBroker {
|
|
|
794
929
|
query.deliveryHistoryStateHash = prior.stateHash;
|
|
795
930
|
query.deliveryHistoryExcludeQueryHash = excludeDeliveredQueryHash ?? null;
|
|
796
931
|
if (replay.delivery !== null) {
|
|
932
|
+
if (query.rerankerConfig.mode === 'observe' || query.relatedMode !== 'off') {
|
|
933
|
+
const retrievalRuntime = await prepareEmbeddingSearchRuntime(this.embeddingRuntime, this.database, retrievalQuery(query));
|
|
934
|
+
await rank(this.database, query, prior, retrievalRuntime);
|
|
935
|
+
}
|
|
797
936
|
return {
|
|
798
937
|
result: {
|
|
799
938
|
...base,
|
|
800
939
|
context: storedContext(this.database, query, replay.delivery),
|
|
801
940
|
recommendations: query.projection === null ? [] : buildRecommendations({ projection: query.projection, broker: { staleDeliveredEntries: prior.stale } }),
|
|
941
|
+
...(query.rerankerDiagnostics === undefined ? {} : { rerankerDiagnostics: query.rerankerDiagnostics }),
|
|
942
|
+
...(query.lessonDeduplicationDiagnostics === undefined ? {} : { lessonDeduplicationDiagnostics: query.lessonDeduplicationDiagnostics }),
|
|
802
943
|
},
|
|
803
944
|
replayDelivery: replay.delivery,
|
|
804
945
|
pendingDelivery: null,
|
|
@@ -820,11 +961,17 @@ export class ContextBroker {
|
|
|
820
961
|
: buildRecommendations({ projection: query.projection, broker: { staleDeliveredEntries: prior.stale } });
|
|
821
962
|
const context = outputContext(deliveryQuery, ranked, null);
|
|
822
963
|
if (deliveryQuery.deliveryId === null || deliveryQuery.run === null) {
|
|
823
|
-
return { result: { ...base, context, recommendations
|
|
964
|
+
return { result: { ...base, context, recommendations,
|
|
965
|
+
...(query.rerankerDiagnostics === undefined ? {} : { rerankerDiagnostics: query.rerankerDiagnostics }),
|
|
966
|
+
...(query.lessonDeduplicationDiagnostics === undefined ? {} : { lessonDeduplicationDiagnostics: query.lessonDeduplicationDiagnostics }),
|
|
967
|
+
}, replayDelivery: null, pendingDelivery: null };
|
|
824
968
|
}
|
|
825
969
|
const deliveryRequest = deliveryInput(deliveryQuery, ranked);
|
|
826
970
|
return {
|
|
827
|
-
result: { ...base, context, recommendations
|
|
971
|
+
result: { ...base, context, recommendations,
|
|
972
|
+
...(query.rerankerDiagnostics === undefined ? {} : { rerankerDiagnostics: query.rerankerDiagnostics }),
|
|
973
|
+
...(query.lessonDeduplicationDiagnostics === undefined ? {} : { lessonDeduplicationDiagnostics: query.lessonDeduplicationDiagnostics }),
|
|
974
|
+
},
|
|
828
975
|
replayDelivery: null,
|
|
829
976
|
pendingDelivery: { query: deliveryQuery, ranked, input: deliveryRequest },
|
|
830
977
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../../src/context/broker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../../src/context/broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export declare const CONTEXT_RANKING_WEIGHTS: Readonly<{
|
|
|
22
22
|
export declare const CONTEXT_RANKING_COMPONENTS: readonly ["status", "trust", "confidence", "taskAffinity", "recommendedTags", "pathOverlap", "errorSignature", "feedback", "recency", "contradiction"];
|
|
23
23
|
/** Additive v2 delivery components; v1 rows continue to use the list above. */
|
|
24
24
|
export declare const CONTEXT_RANKING_COMPONENTS_V2: readonly ["status", "trust", "confidence", "retrieval", "taskAffinity", "recommendedTags", "scopeAffinity", "applicability", "pathOverlap", "errorSignature", "exactSignal", "feedback", "recency", "contradiction"];
|
|
25
|
-
export declare const CONTEXT_SELECTION_REASON_ORDER: readonly ["project_origin", "ecosystem_origin", "global_origin", "scope_affinity", "applicability_match", "applicability_unknown", "applicability_mismatch", "unscoped_global_prior", "exact_signal_match", "word_match", "semantic_match", "lexical_match", "cjk_window_match", "substring_match", "literal_fallback_match", "tag_match", "verified", "candidate", "repeated_lesson", "system_verified_trust", "source_verified_trust", "user_asserted_trust", "confidence", "task_kind_affinity", "task_tag_affinity", "recommended_tag_match", "target_match", "changed_path_match", "error_signature_match", "helpful_feedback", "irrelevant_feedback", "stale_feedback", "conflicting_feedback", "recent", "contradiction_warning", "revision_changed"];
|
|
25
|
+
export declare const CONTEXT_SELECTION_REASON_ORDER: readonly ["project_origin", "ecosystem_origin", "global_origin", "scope_affinity", "applicability_match", "applicability_unknown", "applicability_mismatch", "unscoped_global_prior", "exact_signal_match", "word_match", "semantic_match", "duplicate_source_suppressed", "lexical_match", "cjk_window_match", "substring_match", "literal_fallback_match", "tag_match", "verified", "candidate", "repeated_lesson", "system_verified_trust", "source_verified_trust", "user_asserted_trust", "confidence", "task_kind_affinity", "task_tag_affinity", "recommended_tag_match", "target_match", "changed_path_match", "error_signature_match", "helpful_feedback", "irrelevant_feedback", "stale_feedback", "conflicting_feedback", "recent", "contradiction_warning", "revision_changed"];
|
|
26
26
|
export type ContextRankingComponent = (typeof CONTEXT_RANKING_COMPONENTS)[number];
|
|
27
27
|
export type ContextRankingV2Component = (typeof CONTEXT_RANKING_COMPONENTS_V2)[number];
|
|
28
28
|
export type FeedbackVerdict = 'helpful' | 'irrelevant' | 'stale' | 'conflicting';
|
|
@@ -88,5 +88,9 @@ export interface RankedCandidate {
|
|
|
88
88
|
}
|
|
89
89
|
export declare const CONTEXT_RANKING_DEFAULT_CHARACTER_BUDGET = 8000;
|
|
90
90
|
export declare const CONTEXT_RANKING_MAX_CHARACTER_BUDGET = 100000;
|
|
91
|
-
export
|
|
91
|
+
export interface ContextRerankingOverride {
|
|
92
|
+
readonly scores: ReadonlyMap<string, number>;
|
|
93
|
+
readonly maximumCandidates?: number;
|
|
94
|
+
}
|
|
95
|
+
export declare function rankContextCandidates(input: unknown, reranking?: ContextRerankingOverride): RankedCandidate[];
|
|
92
96
|
//# sourceMappingURL=ranking.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../../src/context/ranking.ts"],"names":[],"mappings":"AACA,OAAO,EAA6C,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG5I,eAAO,MAAM,uBAAuB,EAAG,oBAA6B,CAAC;AAErE,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;EAiBzB,CAAC;AAEZ,eAAO,MAAM,0BAA0B,wJAW7B,CAAC;AAEX,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,sNAehC,CAAC;AAEX,eAAO,MAAM,8BAA8B,
|
|
1
|
+
{"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../../src/context/ranking.ts"],"names":[],"mappings":"AACA,OAAO,EAA6C,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG5I,eAAO,MAAM,uBAAuB,EAAG,oBAA6B,CAAC;AAErE,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;EAiBzB,CAAC;AAEZ,eAAO,MAAM,0BAA0B,wJAW7B,CAAC;AAEX,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,sNAehC,CAAC;AAEX,eAAO,MAAM,8BAA8B,6vBAsCjC,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAClF,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AACvF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,CAAC;AAEjF,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC7C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,qBAAqB,CAAC;IACvC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,sBAAsB,CAAC;IAChC,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC7C;AAaD,eAAO,MAAM,wCAAwC,OAAQ,CAAC;AAE9D,eAAO,MAAM,oCAAoC,SAAU,CAAC;AAga5D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAyBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,wBAAwB,GAAG,eAAe,EAAE,CA2B7G"}
|
package/dist/context/ranking.js
CHANGED
|
@@ -62,6 +62,7 @@ export const CONTEXT_SELECTION_REASON_ORDER = [
|
|
|
62
62
|
'exact_signal_match',
|
|
63
63
|
'word_match',
|
|
64
64
|
'semantic_match',
|
|
65
|
+
'duplicate_source_suppressed',
|
|
65
66
|
'lexical_match',
|
|
66
67
|
'cjk_window_match',
|
|
67
68
|
'substring_match',
|
|
@@ -530,7 +531,27 @@ function applyCharacterBudget(ranked, budget) {
|
|
|
530
531
|
}
|
|
531
532
|
return selected;
|
|
532
533
|
}
|
|
533
|
-
|
|
534
|
+
function reorderRerankedSlots(ranked, override) {
|
|
535
|
+
if (override === undefined)
|
|
536
|
+
return ranked;
|
|
537
|
+
const maximumCandidates = Math.min(32, Math.max(0, override.maximumCandidates ?? 32));
|
|
538
|
+
const indexes = [];
|
|
539
|
+
const scored = [];
|
|
540
|
+
const baselinePosition = new Map();
|
|
541
|
+
for (let index = 0; index < Math.min(ranked.length, maximumCandidates); index += 1) {
|
|
542
|
+
const candidate = ranked[index];
|
|
543
|
+
if (override.scores.has(candidate.entryId)) {
|
|
544
|
+
indexes.push(index);
|
|
545
|
+
scored.push(candidate);
|
|
546
|
+
baselinePosition.set(candidate.entryId, index);
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
scored.sort((left, right) => (override.scores.get(right.entryId) - override.scores.get(left.entryId))
|
|
550
|
+
|| baselinePosition.get(left.entryId) - baselinePosition.get(right.entryId));
|
|
551
|
+
indexes.forEach((slot, index) => { ranked[slot] = scored[index]; });
|
|
552
|
+
return ranked;
|
|
553
|
+
}
|
|
554
|
+
export function rankContextCandidates(input, reranking) {
|
|
534
555
|
const parsed = parseInput(input);
|
|
535
556
|
const priorDelivered = new Map();
|
|
536
557
|
for (const delivered of parsed.priorDelivered) {
|
|
@@ -556,6 +577,7 @@ export function rankContextCandidates(input) {
|
|
|
556
577
|
})
|
|
557
578
|
.map((candidate) => scoreCandidate(candidate, context))
|
|
558
579
|
.sort((left, right) => right.totalScore - left.totalScore || compareStrings(left.entryId, right.entryId));
|
|
580
|
+
reorderRerankedSlots(ranked, reranking);
|
|
559
581
|
return applyCharacterBudget(ranked.slice(0, parsed.limit), parsed.characterBudget);
|
|
560
582
|
}
|
|
561
583
|
//# sourceMappingURL=ranking.js.map
|