@cleocode/core 2026.8.2 → 2026.8.3
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/check/pr-gate.d.ts.map +1 -1
- package/dist/check/pr-gate.js +9 -0
- package/dist/check/pr-gate.js.map +1 -1
- package/dist/docs/export-document.js +66 -16
- package/dist/docs/export-document.js.map +3 -3
- package/dist/hooks/registry.d.ts +2 -2
- package/dist/hooks/registry.d.ts.map +1 -1
- package/dist/hooks/registry.js +5 -0
- package/dist/hooks/registry.js.map +1 -1
- package/dist/hooks/types.d.ts +59 -0
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/init/scaffold-workflows.d.ts +12 -0
- package/dist/init/scaffold-workflows.d.ts.map +1 -1
- package/dist/init/scaffold-workflows.js +16 -0
- package/dist/init/scaffold-workflows.js.map +1 -1
- package/dist/init/upgrade-workflows.d.ts.map +1 -1
- package/dist/init/upgrade-workflows.js +16 -0
- package/dist/init/upgrade-workflows.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +16 -1
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -0
- package/dist/internal.js.map +1 -1
- package/dist/llm/credentials.d.ts +16 -1
- package/dist/llm/credentials.d.ts.map +1 -1
- package/dist/llm/credentials.js.map +1 -1
- package/dist/llm/cross-provider-selector.d.ts +25 -0
- package/dist/llm/cross-provider-selector.d.ts.map +1 -1
- package/dist/llm/cross-provider-selector.js +76 -3
- package/dist/llm/cross-provider-selector.js.map +1 -1
- package/dist/llm/local-inference-probe.d.ts +101 -0
- package/dist/llm/local-inference-probe.d.ts.map +1 -0
- package/dist/llm/local-inference-probe.js +174 -0
- package/dist/llm/local-inference-probe.js.map +1 -0
- package/dist/llm/plugin-facade.js +199 -21
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/role-executor.d.ts.map +1 -1
- package/dist/llm/role-executor.js +95 -9
- package/dist/llm/role-executor.js.map +1 -1
- package/dist/llm/role-resolver.d.ts +10 -0
- package/dist/llm/role-resolver.d.ts.map +1 -1
- package/dist/llm/role-resolver.js +92 -1
- package/dist/llm/role-resolver.js.map +1 -1
- package/dist/llm/system-resolver.d.ts.map +1 -1
- package/dist/llm/system-resolver.js +2 -0
- package/dist/llm/system-resolver.js.map +1 -1
- package/dist/memory/brain-search.d.ts +109 -0
- package/dist/memory/brain-search.d.ts.map +1 -1
- package/dist/memory/brain-search.js +149 -37
- package/dist/memory/brain-search.js.map +1 -1
- package/dist/memory/brain-stub-prune.d.ts +109 -0
- package/dist/memory/brain-stub-prune.d.ts.map +1 -0
- package/dist/memory/brain-stub-prune.js +155 -0
- package/dist/memory/brain-stub-prune.js.map +1 -0
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +61 -3
- package/dist/memory/engine-compat.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +28 -0
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/context.d.ts.map +1 -1
- package/dist/nexus/context.js +3 -3
- package/dist/nexus/context.js.map +1 -1
- package/dist/nexus/impact.d.ts.map +1 -1
- package/dist/nexus/impact.js +3 -3
- package/dist/nexus/impact.js.map +1 -1
- package/dist/nexus/symbol-miss.d.ts +132 -0
- package/dist/nexus/symbol-miss.d.ts.map +1 -0
- package/dist/nexus/symbol-miss.js +168 -0
- package/dist/nexus/symbol-miss.js.map +1 -0
- package/dist/orchestrate/spawn-ops.d.ts +21 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +39 -2
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestrate/worker-verify.d.ts.map +1 -1
- package/dist/orchestrate/worker-verify.js +22 -0
- package/dist/orchestrate/worker-verify.js.map +1 -1
- package/dist/release/changesets-aggregator.d.ts.map +1 -1
- package/dist/release/changesets-aggregator.js +15 -1
- package/dist/release/changesets-aggregator.js.map +1 -1
- package/dist/release/open.d.ts +29 -2
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +48 -11
- package/dist/release/open.js.map +1 -1
- package/dist/resources/governor.d.ts +12 -2
- package/dist/resources/governor.d.ts.map +1 -1
- package/dist/resources/governor.js +12 -3
- package/dist/resources/governor.js.map +1 -1
- package/dist/scaffold/ensure-dirs.d.ts.map +1 -1
- package/dist/scaffold/ensure-dirs.js +14 -2
- package/dist/scaffold/ensure-dirs.js.map +1 -1
- package/dist/scaffold/project-detection.d.ts.map +1 -1
- package/dist/scaffold/project-detection.js +2 -1
- package/dist/scaffold/project-detection.js.map +1 -1
- package/dist/selfimprove/draft-pr.d.ts +14 -1
- package/dist/selfimprove/draft-pr.d.ts.map +1 -1
- package/dist/selfimprove/draft-pr.js.map +1 -1
- package/dist/selfimprove/fix-gen.d.ts +0 -21
- package/dist/selfimprove/fix-gen.d.ts.map +1 -1
- package/dist/selfimprove/fix-gen.js +276 -76
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/selfimprove/run-loop.d.ts.map +1 -1
- package/dist/selfimprove/run-loop.js +50 -19
- package/dist/selfimprove/run-loop.js.map +1 -1
- package/dist/selfimprove/scenarios/dhq-replay-find/golden.json +114 -4
- package/dist/selfimprove/scenarios/dhq-replay-find/scenario.json +3 -3
- package/dist/sentient/dream-cycle.d.ts +20 -19
- package/dist/sentient/dream-cycle.d.ts.map +1 -1
- package/dist/sentient/dream-cycle.js +322 -11
- package/dist/sentient/dream-cycle.js.map +1 -1
- package/dist/sentient/dream-watermark.d.ts +134 -0
- package/dist/sentient/dream-watermark.d.ts.map +1 -0
- package/dist/sentient/dream-watermark.js +156 -0
- package/dist/sentient/dream-watermark.js.map +1 -0
- package/dist/sentient/state.d.ts +17 -0
- package/dist/sentient/state.d.ts.map +1 -1
- package/dist/sentient/state.js +22 -3
- package/dist/sentient/state.js.map +1 -1
- package/dist/sentient/tick.d.ts.map +1 -1
- package/dist/sentient/tick.js +79 -2
- package/dist/sentient/tick.js.map +1 -1
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +5 -1
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/snapshot.d.ts.map +1 -1
- package/dist/sessions/snapshot.js +6 -3
- package/dist/sessions/snapshot.js.map +1 -1
- package/dist/store/checkpoint-git-dir.d.ts +95 -0
- package/dist/store/checkpoint-git-dir.d.ts.map +1 -0
- package/dist/store/checkpoint-git-dir.js +111 -0
- package/dist/store/checkpoint-git-dir.js.map +1 -0
- package/dist/store/git-checkpoint.d.ts.map +1 -1
- package/dist/store/git-checkpoint.js +6 -5
- package/dist/store/git-checkpoint.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +2 -1
- package/dist/system/health.js.map +1 -1
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +40 -4
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/collection.d.ts +51 -0
- package/dist/tasks/collection.d.ts.map +1 -0
- package/dist/tasks/collection.js +81 -0
- package/dist/tasks/collection.js.map +1 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +8 -3
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +17 -0
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/find.d.ts +50 -0
- package/dist/tasks/find.d.ts.map +1 -1
- package/dist/tasks/find.js +63 -2
- package/dist/tasks/find.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +1 -1
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +83 -0
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-semaphore.d.ts +82 -12
- package/dist/tasks/tool-semaphore.d.ts.map +1 -1
- package/dist/tasks/tool-semaphore.js +79 -17
- package/dist/tasks/tool-semaphore.js.map +1 -1
- package/package.json +13 -13
- package/templates/CLEO-INJECTION.md +40 -25
- package/templates/workflows/release-prepare.yml.tmpl +73 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-executor.d.ts","sourceRoot":"","sources":["../../src/llm/role-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAsB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AASxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAqDxD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,EAAE,eAAe,CAAC;IACvB,uDAAuD;IACvD,QAAQ,EAAE,cAAc,CAAC;IACzB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;CACf;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"role-executor.d.ts","sourceRoot":"","sources":["../../src/llm/role-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAsB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AASxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAqDxD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,EAAE,eAAe,CAAC;IACvB,uDAAuD;IACvD,QAAQ,EAAE,cAAc,CAAC;IACzB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;CACf;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAsBtC"}
|
|
@@ -116,7 +116,70 @@ const DEFAULT_MAX_TOKENS = 1024;
|
|
|
116
116
|
* @task T9320
|
|
117
117
|
*/
|
|
118
118
|
export async function executeForRole(role, systemPrompt, userContent, opts = {}) {
|
|
119
|
-
|
|
119
|
+
// T12082: one broken provider must not take the role down.
|
|
120
|
+
//
|
|
121
|
+
// This path drives the whole brain layer — consolidation, extraction,
|
|
122
|
+
// hygiene, the dream cycle. It resolved ONE provider and returned null on
|
|
123
|
+
// any failure, so a credential that is present but rejected (here: an
|
|
124
|
+
// openai Codex OAuth answering `400 'gpt-5.5-pro' is not supported when
|
|
125
|
+
// using Codex with a ChatGPT account`) disabled every background capability
|
|
126
|
+
// while other usable providers sat unconsulted. `shouldFallback` was already
|
|
127
|
+
// computed by the classifier and then thrown away.
|
|
128
|
+
//
|
|
129
|
+
// Failing over costs one extra resolution on an already-failed call, and the
|
|
130
|
+
// excluded provider is remembered only for the duration of this call — no
|
|
131
|
+
// persistent state, so a provider that recovers is picked again immediately.
|
|
132
|
+
const excludeProviders = [];
|
|
133
|
+
for (let attempt = 0;; attempt++) {
|
|
134
|
+
const outcome = await attemptRoleCall(role, systemPrompt, userContent, opts, excludeProviders);
|
|
135
|
+
if (outcome.kind === 'ok')
|
|
136
|
+
return outcome.result;
|
|
137
|
+
if (outcome.kind === 'give-up' || attempt >= MAX_ROLE_FAILOVERS)
|
|
138
|
+
return null;
|
|
139
|
+
excludeProviders.push(outcome.provider);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* How many alternate providers {@link executeForRole} may try after the first
|
|
144
|
+
* one fails.
|
|
145
|
+
*
|
|
146
|
+
* Two, not unbounded: each attempt costs a resolution plus a wire call, and a
|
|
147
|
+
* background pass that walks eleven providers to fail eleven times is worse
|
|
148
|
+
* than one that fails fast.
|
|
149
|
+
*
|
|
150
|
+
* @task T12082
|
|
151
|
+
*/
|
|
152
|
+
const MAX_ROLE_FAILOVERS = 2;
|
|
153
|
+
/**
|
|
154
|
+
* Execute the role call against exactly one resolved provider.
|
|
155
|
+
*
|
|
156
|
+
* Extracted from {@link executeForRole} so the failover loop has a single
|
|
157
|
+
* attempt to drive; the body is unchanged apart from returning a discriminated
|
|
158
|
+
* outcome instead of `null`.
|
|
159
|
+
*
|
|
160
|
+
* @param role - semantic role.
|
|
161
|
+
* @param systemPrompt - system instruction.
|
|
162
|
+
* @param userContent - user message.
|
|
163
|
+
* @param opts - caller options.
|
|
164
|
+
* @param excludeProviders - providers that already failed this call.
|
|
165
|
+
* @returns the outcome of this single attempt.
|
|
166
|
+
*
|
|
167
|
+
* @task T9320
|
|
168
|
+
* @task T12082
|
|
169
|
+
*/
|
|
170
|
+
async function attemptRoleCall(role, systemPrompt, userContent, opts, excludeProviders) {
|
|
171
|
+
const llm = await resolveLLMForRole(role, {
|
|
172
|
+
projectRoot: opts.projectRoot,
|
|
173
|
+
// Snapshot: the loop appends to this array between attempts, and handing
|
|
174
|
+
// the live reference out would let a resolver observe a list that changes
|
|
175
|
+
// under it after the call.
|
|
176
|
+
excludeProviders: [...excludeProviders],
|
|
177
|
+
});
|
|
178
|
+
// The resolver could not honour the exclusion — nothing else is provisioned.
|
|
179
|
+
// Calling the same failed provider a second time would repeat its failure and
|
|
180
|
+
// its side effects (a 401 would quarantine the same credential twice).
|
|
181
|
+
if (excludeProviders.includes(llm.provider))
|
|
182
|
+
return { kind: 'give-up' };
|
|
120
183
|
if (!llm.sealedCredential || !llm.credential) {
|
|
121
184
|
// No usable credential for this role's resolved provider. Surface ONE
|
|
122
185
|
// actionable re-auth hint per (role, provider) tuple instead of a silent
|
|
@@ -124,10 +187,20 @@ export async function executeForRole(role, systemPrompt, userContent, opts = {})
|
|
|
124
187
|
warnOnceForRole(`${role}|${llm.provider}|<none>`, `[role-executor] role=${role} provider=${llm.provider}: no usable credential. ` +
|
|
125
188
|
`Run 'cleo llm login' (or 'cleo llm add ${llm.provider}') to authenticate, ` +
|
|
126
189
|
`or 'cleo llm profile ${role} <provider>' to bind this role to a configured provider.`);
|
|
127
|
-
|
|
190
|
+
// Another provider may well have a credential — that is worth one more
|
|
191
|
+
// resolution before the whole capability goes dark.
|
|
192
|
+
return { kind: 'failover', provider: llm.provider };
|
|
128
193
|
}
|
|
129
194
|
const credentialLabel = llm.credentialLabel ?? '<default>';
|
|
130
|
-
|
|
195
|
+
// T12085: a model id belongs to ONE provider. Carrying the caller's
|
|
196
|
+
// `modelOverride` across a failover asks the substitute provider for a model
|
|
197
|
+
// it has never heard of — measured: an anthropic 429 failed over and then
|
|
198
|
+
// asked openai for `claude-fable-5` (400) and ollama for `claude-fable-5`
|
|
199
|
+
// (404 "model not found"), so failover was guaranteed to fail for exactly the
|
|
200
|
+
// callers who pinned a model. After a failover the substitute's OWN resolved
|
|
201
|
+
// model wins; the override applies only to the caller's first-choice provider.
|
|
202
|
+
const isFailover = excludeProviders.length > 0;
|
|
203
|
+
const model = isFailover ? llm.model : (opts.modelOverride ?? llm.model);
|
|
131
204
|
const request = {
|
|
132
205
|
model,
|
|
133
206
|
system: systemPrompt,
|
|
@@ -169,7 +242,11 @@ export async function executeForRole(role, systemPrompt, userContent, opts = {})
|
|
|
169
242
|
expiresAt: null,
|
|
170
243
|
refreshToken: null,
|
|
171
244
|
extraHeaders: {},
|
|
172
|
-
|
|
245
|
+
// T12081: the credential's OWN endpoint wins. Using `wire.baseUrl`
|
|
246
|
+
// unconditionally rewrote every custom endpoint (Ollama, LM Studio,
|
|
247
|
+
// vLLM, OpenRouter, Azure) to the provider's public API, which then
|
|
248
|
+
// rejected the local key with 401.
|
|
249
|
+
baseUrl: llm.credential?.baseUrl ?? wire.baseUrl,
|
|
173
250
|
awsProfile: null,
|
|
174
251
|
};
|
|
175
252
|
const transport = ModelRunner.buildTransportFromCredential(llm.provider, resolvedCredential, wire.apiMode);
|
|
@@ -185,10 +262,13 @@ export async function executeForRole(role, systemPrompt, userContent, opts = {})
|
|
|
185
262
|
await llmQueueAdmit(llm.provider, resolveQueuePriorityClass(), opts.maxTokens ?? DEFAULT_MAX_TOKENS, `role:${role}:pid-${process.pid}`);
|
|
186
263
|
const resp = await transport.complete(request);
|
|
187
264
|
return {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
265
|
+
kind: 'ok',
|
|
266
|
+
result: {
|
|
267
|
+
content: resp.content ?? '',
|
|
268
|
+
usage: resp.usage,
|
|
269
|
+
provider: llm.provider,
|
|
270
|
+
model: resp.model,
|
|
271
|
+
},
|
|
192
272
|
};
|
|
193
273
|
}
|
|
194
274
|
catch (err) {
|
|
@@ -218,7 +298,13 @@ export async function executeForRole(role, systemPrompt, userContent, opts = {})
|
|
|
218
298
|
// persistently-failing backend does not spam every background tick.
|
|
219
299
|
warnOnceForRole(latchKey, `[role-executor] role=${role} provider=${llm.provider} model=${model} call failed: ${message}`);
|
|
220
300
|
}
|
|
221
|
-
|
|
301
|
+
// An abort is the CALLER's decision — retrying elsewhere would ignore it.
|
|
302
|
+
// Everything else (auth, rate limit, 4xx, 5xx, network) is a property of
|
|
303
|
+
// this provider, so another one is worth trying.
|
|
304
|
+
if (classified.reason === 'timeout' && opts.signal?.aborted === true) {
|
|
305
|
+
return { kind: 'give-up' };
|
|
306
|
+
}
|
|
307
|
+
return { kind: 'failover', provider: llm.provider };
|
|
222
308
|
}
|
|
223
309
|
}
|
|
224
310
|
//# sourceMappingURL=role-executor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-executor.js","sourceRoot":"","sources":["../../src/llm/role-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAQH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;GAQG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE/C;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,GAAW,EAAE,OAAe;IACnD,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IAC1C,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,yBAAyB;IAChC,QAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC;QACZ,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,YAAY,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B;IACzC,oBAAoB,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC;AA0CD,uEAAuE;AACvE,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAc,EACd,YAAoB,EACpB,WAAmB,EACnB,OAA8B,EAAE;IAEhC,MAAM,GAAG,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"role-executor.js","sourceRoot":"","sources":["../../src/llm/role-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,16 @@ export { IMPLICIT_FALLBACK_MODEL };
|
|
|
50
50
|
* @task T9255
|
|
51
51
|
*/
|
|
52
52
|
export declare const IMPLICIT_FALLBACK_PROVIDER: ModelTransport;
|
|
53
|
+
/**
|
|
54
|
+
* Placeholder bearer token used for a keyless local inference daemon (T12082).
|
|
55
|
+
*
|
|
56
|
+
* Not a secret and not validated by anything: local servers accept any bearer
|
|
57
|
+
* value. It exists because the transport contract requires a token field, and
|
|
58
|
+
* because every consumer in this layer gates on `credential != null` — without
|
|
59
|
+
* a placeholder, a perfectly usable daemon is indistinguishable from an
|
|
60
|
+
* unconfigured provider.
|
|
61
|
+
*/
|
|
62
|
+
export declare const LOCAL_PLACEHOLDER_TOKEN = "local";
|
|
53
63
|
/**
|
|
54
64
|
* Implicit fallback model for the `hygiene` role.
|
|
55
65
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-resolver.d.ts","sourceRoot":"","sources":["../../src/llm/role-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EACV,OAAO,EAEP,sBAAsB,EAKtB,SAAS,EACT,gBAAgB,EAChB,wBAAwB,EACxB,QAAQ,EACR,gBAAgB,EAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"role-resolver.d.ts","sourceRoot":"","sources":["../../src/llm/role-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EACV,OAAO,EAEP,sBAAsB,EAKtB,SAAS,EACT,gBAAgB,EAChB,wBAAwB,EACxB,QAAQ,EACR,gBAAgB,EAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,cAA4B,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAKrE,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,QAAQ,EAAE,cAAc,CAAC;IACzB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB;;;;;;;OAOG;IACH,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC1C;;;;;;;;OAQG;IACH,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,kDAAkD;IAClD,MAAM,EAAE,gBAAgB,CAAC;IACzB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;OAQG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;OAIG;IACH,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAmaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAgItB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC;IACT,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,CAwBR"}
|
|
@@ -32,6 +32,7 @@ import { resolveCredentials } from './credentials.js';
|
|
|
32
32
|
import { getCredentialByLabel, pickCredentialForProvider } from './credentials-store.js';
|
|
33
33
|
import { selectBestProvisioned } from './cross-provider-selector.js';
|
|
34
34
|
import { IMPLICIT_FALLBACK_MODEL } from './fallback-model.js';
|
|
35
|
+
import { detectLocalInference } from './local-inference-probe.js';
|
|
35
36
|
import { makeSealedCredential, tokenPreview } from './sealed-credential.js';
|
|
36
37
|
import { getRegisteredSystemDefault } from './system-of-use-registry.js';
|
|
37
38
|
import { buildAnthropicClient } from './transports/anthropic-client-factory.js';
|
|
@@ -55,6 +56,16 @@ export { IMPLICIT_FALLBACK_MODEL };
|
|
|
55
56
|
* @task T9255
|
|
56
57
|
*/
|
|
57
58
|
export const IMPLICIT_FALLBACK_PROVIDER = 'anthropic';
|
|
59
|
+
/**
|
|
60
|
+
* Placeholder bearer token used for a keyless local inference daemon (T12082).
|
|
61
|
+
*
|
|
62
|
+
* Not a secret and not validated by anything: local servers accept any bearer
|
|
63
|
+
* value. It exists because the transport contract requires a token field, and
|
|
64
|
+
* because every consumer in this layer gates on `credential != null` — without
|
|
65
|
+
* a placeholder, a perfectly usable daemon is indistinguishable from an
|
|
66
|
+
* unconfigured provider.
|
|
67
|
+
*/
|
|
68
|
+
export const LOCAL_PLACEHOLDER_TOKEN = 'local';
|
|
58
69
|
/**
|
|
59
70
|
* Implicit fallback model for the `hygiene` role.
|
|
60
71
|
*
|
|
@@ -300,6 +311,42 @@ async function selectProviderModel(llm, role, systemKey, profileOverride, projec
|
|
|
300
311
|
source: 'implicit-fallback',
|
|
301
312
|
};
|
|
302
313
|
}
|
|
314
|
+
/**
|
|
315
|
+
* Re-route a resolution away from providers the caller has excluded (T12082).
|
|
316
|
+
*
|
|
317
|
+
* Called only when `excludeProviders` is non-empty, which happens only after
|
|
318
|
+
* that provider has already failed the current call. The replacement comes
|
|
319
|
+
* from the provisioning-aware selector rather than the config cascade, because
|
|
320
|
+
* every config tier would just name the same excluded pin again.
|
|
321
|
+
*
|
|
322
|
+
* When no substitute is provisioned, the original selection is returned
|
|
323
|
+
* unchanged: the caller is about to fail either way, and preserving the
|
|
324
|
+
* original keeps its error message pointed at the provider actually
|
|
325
|
+
* configured.
|
|
326
|
+
*
|
|
327
|
+
* @param selected - the resolution produced by the normal cascade.
|
|
328
|
+
* @param role - logical role being resolved.
|
|
329
|
+
* @param projectRoot - project root for provisioning lookups.
|
|
330
|
+
* @param exclude - providers that must not be returned.
|
|
331
|
+
* @returns the original selection, or a substitute that is not excluded.
|
|
332
|
+
*
|
|
333
|
+
* @task T12082
|
|
334
|
+
*/
|
|
335
|
+
async function applyProviderExclusions(selected, role, projectRoot, exclude) {
|
|
336
|
+
if (exclude === undefined || exclude.length === 0)
|
|
337
|
+
return selected;
|
|
338
|
+
if (!exclude.includes(selected.provider))
|
|
339
|
+
return selected;
|
|
340
|
+
try {
|
|
341
|
+
const substitute = await selectBestProvisioned(role, { projectRoot, exclude });
|
|
342
|
+
if (substitute !== null)
|
|
343
|
+
return substitute;
|
|
344
|
+
}
|
|
345
|
+
catch {
|
|
346
|
+
// Non-fatal — fall through to the original selection.
|
|
347
|
+
}
|
|
348
|
+
return selected;
|
|
349
|
+
}
|
|
303
350
|
/**
|
|
304
351
|
* Try the credentials-store first (with `preferLabel` when pinned), then fall
|
|
305
352
|
* back to the 6-tier `resolveCredentials()` chain. Returns `null` only when
|
|
@@ -336,6 +383,8 @@ async function resolveCredentialForRole(provider, credentialLabel, projectRoot)
|
|
|
336
383
|
apiKey: stored.accessToken,
|
|
337
384
|
source: 'cred-file',
|
|
338
385
|
authType: wireAuthType,
|
|
386
|
+
// T12081: preserve the stored endpoint (Ollama/LM Studio/vLLM/…).
|
|
387
|
+
baseUrl: stored.baseUrl ?? null,
|
|
339
388
|
},
|
|
340
389
|
usedLabel: stored.label,
|
|
341
390
|
};
|
|
@@ -361,6 +410,8 @@ async function resolveCredentialForRole(provider, credentialLabel, projectRoot)
|
|
|
361
410
|
apiKey: picked.accessToken,
|
|
362
411
|
source: 'cred-file',
|
|
363
412
|
authType: wireAuthType,
|
|
413
|
+
// T12081: preserve the stored endpoint (Ollama/LM Studio/vLLM/…).
|
|
414
|
+
baseUrl: picked.baseUrl ?? null,
|
|
364
415
|
},
|
|
365
416
|
usedLabel: picked.label,
|
|
366
417
|
};
|
|
@@ -374,6 +425,35 @@ async function resolveCredentialForRole(provider, credentialLabel, projectRoot)
|
|
|
374
425
|
if (cred.apiKey) {
|
|
375
426
|
return { credential: cred, usedLabel: undefined };
|
|
376
427
|
}
|
|
428
|
+
// T12082: a keyless local daemon has no credential to find, and demanding
|
|
429
|
+
// one is what kept it unusable.
|
|
430
|
+
//
|
|
431
|
+
// Every caller of this resolver gates on `credential != null`, so the
|
|
432
|
+
// selector could admit a live Ollama, score it, and pick it — and then the
|
|
433
|
+
// call died one step later with "no usable credential. Run 'cleo llm login'
|
|
434
|
+
// … to authenticate", advice that is meaningless for a server that accepts
|
|
435
|
+
// any bearer token. The provider profile already documents the empty-string
|
|
436
|
+
// placeholder; this is where that placeholder has to be produced.
|
|
437
|
+
//
|
|
438
|
+
// Synthesised ONLY when the daemon actually answers, so this never invents a
|
|
439
|
+
// credential for a provider that is not there.
|
|
440
|
+
if (provider === 'ollama') {
|
|
441
|
+
const local = await detectLocalInference();
|
|
442
|
+
if (local !== null && local.name === 'ollama') {
|
|
443
|
+
return {
|
|
444
|
+
credential: {
|
|
445
|
+
provider,
|
|
446
|
+
apiKey: LOCAL_PLACEHOLDER_TOKEN,
|
|
447
|
+
source: 'local-daemon',
|
|
448
|
+
authType: 'api_key',
|
|
449
|
+
// ROOT url, not the `/v1` form: `deriveApiWire('ollama')` selects the
|
|
450
|
+
// NATIVE transport, which appends `/api/chat` itself.
|
|
451
|
+
baseUrl: local.baseUrl,
|
|
452
|
+
},
|
|
453
|
+
usedLabel: undefined,
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
}
|
|
377
457
|
return { credential: null, usedLabel: undefined };
|
|
378
458
|
}
|
|
379
459
|
/**
|
|
@@ -434,7 +514,13 @@ export async function resolveLLMForRole(role, opts) {
|
|
|
434
514
|
// `projectRoot` is threaded to tier 7 (cross-provider selector) for any
|
|
435
515
|
// credential resolution that may need the project context (DHQ-081 · T11978).
|
|
436
516
|
const llmBlock = readLlmBlock(config);
|
|
437
|
-
const
|
|
517
|
+
const selected = await selectProviderModel(llmBlock, role, opts?.systemKey, opts?.profileOverride, projectRoot);
|
|
518
|
+
// T12082: honour caller-supplied exclusions. A provider is excluded only
|
|
519
|
+
// because it already failed this very call, so a config pin naming it is no
|
|
520
|
+
// longer the best answer — re-run the provisioning-aware selection without
|
|
521
|
+
// it. Without this, one broken provider takes down the role even when other
|
|
522
|
+
// credentials (and a live local daemon) are sitting right there.
|
|
523
|
+
const { provider, model, credentialLabel, source } = await applyProviderExclusions(selected, role, projectRoot, opts?.excludeProviders);
|
|
438
524
|
// Step 3 — resolve credential.
|
|
439
525
|
const { credential, usedLabel } = await resolveCredentialForRole(provider, credentialLabel, projectRoot);
|
|
440
526
|
// Step 4 — construct SDK client if we have a credential.
|
|
@@ -483,6 +569,11 @@ export async function resolveLLMForRole(role, opts) {
|
|
|
483
569
|
provider: credential.provider,
|
|
484
570
|
source: credential.source,
|
|
485
571
|
authType: wireAuthType,
|
|
572
|
+
// T12081: carry the credential's OWN endpoint. Without it a consumer
|
|
573
|
+
// building a transport cannot tell that this credential targets a local
|
|
574
|
+
// or proxied host, and falls back to the provider's public API — which
|
|
575
|
+
// rejected every Ollama / LM Studio / vLLM / OpenRouter credential 401.
|
|
576
|
+
baseUrl: credential.baseUrl ?? null,
|
|
486
577
|
};
|
|
487
578
|
sealedCredential = makeSealedCredential({
|
|
488
579
|
provider: credential.provider,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-resolver.js","sourceRoot":"","sources":["../../src/llm/role-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"role-resolver.js","sourceRoot":"","sources":["../../src/llm/role-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-resolver.d.ts","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAC1B,QAAQ,EAER,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAI5B;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD;;;;;;OAMG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAE5B;;;;;OAKG;IACH,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC/B;AA4ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,IAAI,CAAC,EAAE,0BAA0B,GAChC,OAAO,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"system-resolver.d.ts","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAC1B,QAAQ,EAER,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAI5B;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD;;;;;;OAMG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAE5B;;;;;OAKG;IACH,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC/B;AA4ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,IAAI,CAAC,EAAE,0BAA0B,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAyE/B"}
|
|
@@ -235,6 +235,8 @@ export async function resolveLLMForSystem(system, opts) {
|
|
|
235
235
|
// T11759: pin a named profile (e.g. a `.cantbook` stage's `profile:`) as
|
|
236
236
|
// the highest-priority resolution tier. Absent/incomplete → falls through.
|
|
237
237
|
...(opts?.profile !== undefined ? { profileOverride: opts.profile } : {}),
|
|
238
|
+
// T12084: carry exclusions through to the provisioning-aware tier.
|
|
239
|
+
...(opts?.excludeProviders !== undefined ? { excludeProviders: opts.excludeProviders } : {}),
|
|
238
240
|
});
|
|
239
241
|
}
|
|
240
242
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-resolver.js","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"system-resolver.js","sourceRoot":"","sources":["../../src/llm/system-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,96 @@ export declare function rebuildFts5Index(nativeDb: DatabaseSync): void;
|
|
|
69
69
|
* @task T5130
|
|
70
70
|
*/
|
|
71
71
|
export declare function searchBrain(projectRoot: string, query: string, options?: BrainSearchOptions): Promise<BrainMemorySearchResult>;
|
|
72
|
+
/**
|
|
73
|
+
* Escape special FTS5 characters in query string.
|
|
74
|
+
*
|
|
75
|
+
* Wraps each meaningful token in double quotes and joins with OR so that
|
|
76
|
+
* partial matches are returned even when some tokens are not indexable
|
|
77
|
+
* (e.g. task prefixes like "EPIC:", em-dashes "—", or short stop-words).
|
|
78
|
+
*
|
|
79
|
+
* Strategy:
|
|
80
|
+
* 1. Split on whitespace.
|
|
81
|
+
* 2. Keep only tokens that contain at least one word character (\w), which
|
|
82
|
+
* ensures punctuation-only tokens (em dashes, colons standalone, etc.)
|
|
83
|
+
* are dropped before they zero-out the entire result set.
|
|
84
|
+
* 3. Deduplicate case-insensitively.
|
|
85
|
+
* 4. Join with OR so the query broadens rather than requiring ALL tokens.
|
|
86
|
+
*
|
|
87
|
+
* Using AND (implicit FTS5 join) caused empty results whenever a task title
|
|
88
|
+
* contained non-word tokens such as em dashes ("—") or trailing colons
|
|
89
|
+
* ("EPIC:"), because FTS5's default tokenizer cannot index them and the
|
|
90
|
+
* AND semantics then guaranteed zero matches for the whole query. (T553 bug fix)
|
|
91
|
+
*/
|
|
92
|
+
export declare function escapeFts5Query(query: string): string;
|
|
93
|
+
/**
|
|
94
|
+
* The two MATCH expressions used by the conjunctive-first retrieval strategy.
|
|
95
|
+
*
|
|
96
|
+
* @task T12073
|
|
97
|
+
*/
|
|
98
|
+
export interface Fts5QueryPair {
|
|
99
|
+
/** All terms required — high precision, may return nothing. */
|
|
100
|
+
readonly and: string;
|
|
101
|
+
/** Any term matches — high recall, used only as a fallback. */
|
|
102
|
+
readonly or: string;
|
|
103
|
+
/** Number of usable terms extracted from the query. */
|
|
104
|
+
readonly termCount: number;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Build the AND and OR MATCH expressions for a natural-language query.
|
|
108
|
+
*
|
|
109
|
+
* ## Why both, and why prefixes (T12073)
|
|
110
|
+
*
|
|
111
|
+
* The previous builder emitted `"tok1" OR "tok2"` — quoted terms joined by OR.
|
|
112
|
+
* Measured against the live 6,985-observation corpus, that has two failure
|
|
113
|
+
* modes that together make recall useless for anything but an exact rare token:
|
|
114
|
+
*
|
|
115
|
+
* **Quoted terms are exact, so morphological variants are invisible.** A search
|
|
116
|
+
* for `orphan` matched 113 documents; `orphan*` matched 189. Seventy-six
|
|
117
|
+
* documents saying "orphaned" or "orphans" could not be found by searching for
|
|
118
|
+
* "orphan". SQLite FTS5 has no stemmer on the `unicode61` tokenizer, so a
|
|
119
|
+
* prefix wildcard is the available substitute — and it is a good one, because
|
|
120
|
+
* it costs nothing on a prefix-indexed b-tree.
|
|
121
|
+
*
|
|
122
|
+
* **Pure OR plus BM25 ranks by term rarity, not by term coverage.** A short
|
|
123
|
+
* document matching ONE query term outranks a long one matching ALL of them,
|
|
124
|
+
* because BM25 normalises for length. On this corpus that is catastrophic:
|
|
125
|
+
* 30% of observations are sub-60-character auto-capture stubs, so the
|
|
126
|
+
* shortest, emptiest records win. Searching `nexus_symbols_fts orphan` under
|
|
127
|
+
* the old builder returned *"Consolidated: change observations (5 entries)"*
|
|
128
|
+
* as the top hit — a record with no content at all — while the conjunctive
|
|
129
|
+
* form returns only documents about orphans in nexus.
|
|
130
|
+
*
|
|
131
|
+
* So: require all terms first, and fall back to ANY only when the conjunction
|
|
132
|
+
* finds nothing. That preserves the recall the OR form was introduced for
|
|
133
|
+
* (T553: non-word tokens like em dashes zeroing out an implicit-AND query)
|
|
134
|
+
* without letting it dominate the common case.
|
|
135
|
+
*
|
|
136
|
+
* @param query - the raw user query.
|
|
137
|
+
* @returns AND/OR MATCH expressions and the usable term count.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* const q = buildFts5Queries('nexus_symbols_fts orphan');
|
|
142
|
+
* // q.and === 'nexus_symbols_fts* AND orphan*'
|
|
143
|
+
* // q.or === 'nexus_symbols_fts* OR orphan*'
|
|
144
|
+
* ```
|
|
145
|
+
*
|
|
146
|
+
* @task T553
|
|
147
|
+
* @task T12073
|
|
148
|
+
*/
|
|
149
|
+
export declare function buildFts5Queries(query: string): Fts5QueryPair;
|
|
150
|
+
/**
|
|
151
|
+
* Run an FTS5-backed query conjunctively, falling back to disjunctive.
|
|
152
|
+
*
|
|
153
|
+
* Single-term queries skip the fallback entirely (AND and OR are identical).
|
|
154
|
+
*
|
|
155
|
+
* @param run - executes one MATCH expression and returns its rows.
|
|
156
|
+
* @param queries - the pair from {@link buildFts5Queries}.
|
|
157
|
+
* @returns conjunctive rows when non-empty, else disjunctive rows.
|
|
158
|
+
*
|
|
159
|
+
* @task T12073
|
|
160
|
+
*/
|
|
161
|
+
export declare function matchConjunctiveFirst<T>(run: (matchExpr: string) => T[], queries: Fts5QueryPair): T[];
|
|
72
162
|
/**
|
|
73
163
|
* Reset the cached FTS5 availability flag.
|
|
74
164
|
* Used in tests to force re-detection.
|
|
@@ -89,6 +179,25 @@ export interface RrfHit {
|
|
|
89
179
|
title: string;
|
|
90
180
|
text: string;
|
|
91
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Round-robin interleave several independently-ranked lists.
|
|
184
|
+
*
|
|
185
|
+
* Takes rank 1 from every list, then rank 2 from every list, and so on, so a
|
|
186
|
+
* downstream consumer that scores by array position does not systematically
|
|
187
|
+
* favour whichever list happened to be concatenated first.
|
|
188
|
+
*
|
|
189
|
+
* @param lists - per-source lists, each already ordered best-first.
|
|
190
|
+
* @returns a single list preserving each source's internal order.
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```ts
|
|
194
|
+
* interleaveRanked([['a1', 'a2'], ['b1'], ['c1', 'c2', 'c3']]);
|
|
195
|
+
* // ['a1', 'b1', 'c1', 'a2', 'c2', 'c3']
|
|
196
|
+
* ```
|
|
197
|
+
*
|
|
198
|
+
* @task T12073
|
|
199
|
+
*/
|
|
200
|
+
export declare function interleaveRanked<T>(lists: ReadonlyArray<readonly T[]>): T[];
|
|
92
201
|
/** Fused result produced by reciprocalRankFusion. */
|
|
93
202
|
export interface RrfResult {
|
|
94
203
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-search.d.ts","sourceRoot":"","sources":["../../src/memory/brain-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAM1C,qDAAqD;AACrD,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,YAAY,EAAE,mBAAmB,EAAE,CAAC;CACrC;AAED,sBAAsB;AACtB,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,MAAM,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC,CAAC;IACxE;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAgCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAsKhE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAiB7D;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,uBAAuB,CAAC,CAgClC;
|
|
1
|
+
{"version":3,"file":"brain-search.d.ts","sourceRoot":"","sources":["../../src/memory/brain-search.ts"],"names":[],"mappings":"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"}
|