@soleri/core 9.4.0 → 9.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hooks/candidate-scorer.d.ts +28 -0
- package/dist/hooks/candidate-scorer.d.ts.map +1 -0
- package/dist/hooks/candidate-scorer.js +20 -0
- package/dist/hooks/candidate-scorer.js.map +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/planning/plan-lifecycle.d.ts.map +1 -1
- package/dist/planning/plan-lifecycle.js +6 -1
- package/dist/planning/plan-lifecycle.js.map +1 -1
- package/package.json +1 -1
- package/src/brain/brain.ts +120 -46
- package/src/brain/intelligence.ts +42 -34
- package/src/chat/agent-loop.ts +1 -1
- package/src/chat/notifications.ts +4 -0
- package/src/control/intent-router.ts +10 -8
- package/src/curator/curator.ts +145 -29
- package/src/hooks/candidate-scorer.test.ts +76 -0
- package/src/hooks/candidate-scorer.ts +39 -0
- package/src/hooks/index.ts +6 -0
- package/src/index.ts +2 -0
- package/src/llm/llm-client.ts +1 -0
- package/src/persistence/sqlite-provider.ts +1 -0
- package/src/planning/github-projection.ts +48 -44
- package/src/planning/plan-lifecycle.ts +14 -1
- package/src/queue/pipeline-runner.ts +4 -0
- package/src/runtime/curator-extra-ops.test.ts +7 -0
- package/src/runtime/curator-extra-ops.ts +10 -1
- package/src/runtime/facades/curator-facade.test.ts +7 -0
- package/src/runtime/facades/memory-facade.ts +187 -0
- package/src/runtime/orchestrate-ops.ts +3 -3
- package/src/runtime/runtime.test.ts +50 -2
- package/src/runtime/runtime.ts +117 -89
- package/src/runtime/shutdown-registry.test.ts +151 -0
- package/src/runtime/shutdown-registry.ts +85 -0
- package/src/runtime/types.ts +4 -1
- package/src/transport/http-server.ts +50 -3
- package/src/transport/ws-server.ts +8 -0
- package/src/vault/linking.test.ts +12 -0
- package/src/vault/linking.ts +90 -44
- package/src/vault/vault-maintenance.ts +11 -18
- package/src/vault/vault-memories.ts +21 -13
- package/src/vault/vault-schema.ts +21 -0
- package/src/vault/vault.ts +8 -3
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Candidate scoring rubric for skill-to-hook conversion.
|
|
3
|
+
* 4-dimension scoring: frequency, eventCorrelation, determinism, autonomy.
|
|
4
|
+
* Threshold: >= 3 HIGH dimensions = candidate for conversion.
|
|
5
|
+
*/
|
|
6
|
+
export type DimensionLevel = 'HIGH' | 'LOW';
|
|
7
|
+
export interface CandidateDimensions {
|
|
8
|
+
/** 3+ manual calls per session for same event type → HIGH */
|
|
9
|
+
frequency: DimensionLevel;
|
|
10
|
+
/** Skill consistently triggers on a recognizable hook event → HIGH */
|
|
11
|
+
eventCorrelation: DimensionLevel;
|
|
12
|
+
/** Skill produces consistent, non-exploratory guidance → HIGH */
|
|
13
|
+
determinism: DimensionLevel;
|
|
14
|
+
/** Skill requires no interactive user decisions mid-execution → HIGH */
|
|
15
|
+
autonomy: DimensionLevel;
|
|
16
|
+
}
|
|
17
|
+
export interface CandidateScore {
|
|
18
|
+
dimensions: CandidateDimensions;
|
|
19
|
+
highCount: number;
|
|
20
|
+
candidate: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Score a skill for hook conversion candidacy.
|
|
24
|
+
* @param dimensions - The 4 scored dimensions (each HIGH or LOW)
|
|
25
|
+
* @returns Score with candidate boolean (true if >= 3 HIGH)
|
|
26
|
+
*/
|
|
27
|
+
export declare function scoreCandidateForConversion(dimensions: CandidateDimensions): CandidateScore;
|
|
28
|
+
//# sourceMappingURL=candidate-scorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candidate-scorer.d.ts","sourceRoot":"","sources":["../../src/hooks/candidate-scorer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,CAAC;AAE5C,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,SAAS,EAAE,cAAc,CAAC;IAC1B,sEAAsE;IACtE,gBAAgB,EAAE,cAAc,CAAC;IACjC,iEAAiE;IACjE,WAAW,EAAE,cAAc,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,mBAAmB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,mBAAmB,GAAG,cAAc,CAQ3F"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Candidate scoring rubric for skill-to-hook conversion.
|
|
3
|
+
* 4-dimension scoring: frequency, eventCorrelation, determinism, autonomy.
|
|
4
|
+
* Threshold: >= 3 HIGH dimensions = candidate for conversion.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Score a skill for hook conversion candidacy.
|
|
8
|
+
* @param dimensions - The 4 scored dimensions (each HIGH or LOW)
|
|
9
|
+
* @returns Score with candidate boolean (true if >= 3 HIGH)
|
|
10
|
+
*/
|
|
11
|
+
export function scoreCandidateForConversion(dimensions) {
|
|
12
|
+
const values = Object.values(dimensions);
|
|
13
|
+
const highCount = values.filter((v) => v === 'HIGH').length;
|
|
14
|
+
return {
|
|
15
|
+
dimensions,
|
|
16
|
+
highCount,
|
|
17
|
+
candidate: highCount >= 3,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=candidate-scorer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candidate-scorer.js","sourceRoot":"","sources":["../../src/hooks/candidate-scorer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqBH;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAA+B;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAC5D,OAAO;QACL,UAAU;QACV,SAAS;QACT,SAAS,EAAE,SAAS,IAAI,CAAC;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,GAI5B,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-lifecycle.d.ts","sourceRoot":"","sources":["../../src/planning/plan-lifecycle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plan-lifecycle.d.ts","sourceRoot":"","sources":["../../src/planning/plan-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -298,7 +298,12 @@ export function createPlanObject(params) {
|
|
|
298
298
|
scope: params.scope,
|
|
299
299
|
status: params.initialStatus ?? 'draft',
|
|
300
300
|
decisions: params.decisions ?? [],
|
|
301
|
-
tasks: (params.tasks ?? []).map((t, i) =>
|
|
301
|
+
tasks: (params.tasks ?? []).map((t, i) => Object.assign({
|
|
302
|
+
id: `task-${i + 1}`,
|
|
303
|
+
title: t.title,
|
|
304
|
+
description: t.description,
|
|
305
|
+
status: `pending`,
|
|
306
|
+
}, t.phase !== undefined && { phase: t.phase }, t.milestone !== undefined && { milestone: t.milestone }, t.parentTaskId !== undefined && { parentTaskId: t.parentTaskId }, { updatedAt: now })),
|
|
302
307
|
...(params.approach !== undefined && { approach: params.approach }),
|
|
303
308
|
...(params.context !== undefined && { context: params.context }),
|
|
304
309
|
...(params.success_criteria !== undefined && { success_criteria: params.success_criteria }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-lifecycle.js","sourceRoot":"","sources":["../../src/planning/plan-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan-lifecycle.js","sourceRoot":"","sources":["../../src/planning/plan-lifecycle.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/brain/brain.ts
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
cosineSimilarity,
|
|
11
11
|
jaccardSimilarity,
|
|
12
12
|
} from '../text/similarity.js';
|
|
13
|
+
import { rowToEntry } from '../vault/vault-entries.js';
|
|
13
14
|
import type {
|
|
14
15
|
ScoringWeights,
|
|
15
16
|
ScoreBreakdown,
|
|
@@ -58,7 +59,7 @@ export class Brain {
|
|
|
58
59
|
constructor(vault: Vault, vaultManager?: VaultManager) {
|
|
59
60
|
this.vault = vault;
|
|
60
61
|
this.vaultManager = vaultManager;
|
|
61
|
-
this.
|
|
62
|
+
this.loadVocabularyFromDb();
|
|
62
63
|
this.recomputeWeights();
|
|
63
64
|
}
|
|
64
65
|
|
|
@@ -98,9 +99,15 @@ export class Brain {
|
|
|
98
99
|
const queryDomain = options?.domain;
|
|
99
100
|
const now = Math.floor(Date.now() / 1000);
|
|
100
101
|
|
|
102
|
+
// Compute queryVec once for all entries (was previously recomputed per entry in scoreEntry)
|
|
103
|
+
const queryVec =
|
|
104
|
+
this.vocabulary.size > 0 && queryTokens.length > 0
|
|
105
|
+
? calculateTfIdf(queryTokens, this.vocabulary)
|
|
106
|
+
: null;
|
|
107
|
+
|
|
101
108
|
const ranked = rawResults.map((result) => {
|
|
102
109
|
const entry = result.entry;
|
|
103
|
-
const breakdown = this.scoreEntry(entry, queryTokens, queryTags, queryDomain, now);
|
|
110
|
+
const breakdown = this.scoreEntry(entry, queryTokens, queryTags, queryDomain, now, queryVec);
|
|
104
111
|
return { entry, score: breakdown.total, breakdown };
|
|
105
112
|
});
|
|
106
113
|
|
|
@@ -142,14 +149,17 @@ export class Brain {
|
|
|
142
149
|
/**
|
|
143
150
|
* Two-pass retrieval — Pass 2: Load.
|
|
144
151
|
* Returns full entries for specific IDs (from a previous scan).
|
|
152
|
+
* Uses a single WHERE id IN (...) query instead of per-ID lookups.
|
|
145
153
|
*/
|
|
146
154
|
loadEntries(ids: string[]): IntelligenceEntry[] {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
155
|
+
if (ids.length === 0) return [];
|
|
156
|
+
const provider = this.vault.getProvider();
|
|
157
|
+
const placeholders = ids.map(() => '?').join(',');
|
|
158
|
+
const rows = provider.all<Record<string, unknown>>(
|
|
159
|
+
`SELECT * FROM entries WHERE id IN (${placeholders})`,
|
|
160
|
+
ids,
|
|
161
|
+
);
|
|
162
|
+
return rows.map(rowToEntry);
|
|
153
163
|
}
|
|
154
164
|
|
|
155
165
|
/** Rough token estimate for an entry (chars / 4). */
|
|
@@ -345,22 +355,57 @@ export class Brain {
|
|
|
345
355
|
}
|
|
346
356
|
|
|
347
357
|
rebuildVocabulary(): void {
|
|
358
|
+
const BATCH_SIZE = 100;
|
|
359
|
+
const termDocFreq = new Map<string, number>();
|
|
360
|
+
let docCount = 0;
|
|
361
|
+
|
|
362
|
+
// Helper to process a batch of entries into the term-doc-frequency map
|
|
363
|
+
const processBatch = (entries: IntelligenceEntry[]): void => {
|
|
364
|
+
for (const entry of entries) {
|
|
365
|
+
const text = [
|
|
366
|
+
entry.title,
|
|
367
|
+
entry.description,
|
|
368
|
+
entry.context ?? '',
|
|
369
|
+
entry.tags.join(' '),
|
|
370
|
+
].join(' ');
|
|
371
|
+
const tokens = new Set(tokenize(text));
|
|
372
|
+
for (const token of tokens) {
|
|
373
|
+
termDocFreq.set(token, (termDocFreq.get(token) ?? 0) + 1);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
docCount += entries.length;
|
|
377
|
+
};
|
|
378
|
+
|
|
379
|
+
// Helper to iterate a single vault in batches
|
|
380
|
+
const iterateVault = (vault: Vault, seen: Set<string> | null): void => {
|
|
381
|
+
let offset = 0;
|
|
382
|
+
while (true) {
|
|
383
|
+
const batch = vault.list({ limit: BATCH_SIZE, offset });
|
|
384
|
+
if (batch.length === 0) break;
|
|
385
|
+
if (seen) {
|
|
386
|
+
const unique = batch.filter((e) => {
|
|
387
|
+
if (seen.has(e.id)) return false;
|
|
388
|
+
seen.add(e.id);
|
|
389
|
+
return true;
|
|
390
|
+
});
|
|
391
|
+
processBatch(unique);
|
|
392
|
+
} else {
|
|
393
|
+
processBatch(batch);
|
|
394
|
+
}
|
|
395
|
+
if (batch.length < BATCH_SIZE) break;
|
|
396
|
+
offset += BATCH_SIZE;
|
|
397
|
+
}
|
|
398
|
+
};
|
|
399
|
+
|
|
348
400
|
// Collect entries from all connected sources when VaultManager is available
|
|
349
|
-
let entries: IntelligenceEntry[];
|
|
350
401
|
if (this.vaultManager) {
|
|
351
402
|
const seen = new Set<string>();
|
|
352
|
-
entries = [];
|
|
353
403
|
// Gather entries from all tier vaults and connected sources via manager
|
|
354
404
|
for (const tierInfo of this.vaultManager.listTiers()) {
|
|
355
405
|
if (!tierInfo.connected) continue;
|
|
356
406
|
try {
|
|
357
407
|
const tierVault = this.vaultManager.getTier(tierInfo.tier);
|
|
358
|
-
|
|
359
|
-
if (!seen.has(e.id)) {
|
|
360
|
-
seen.add(e.id);
|
|
361
|
-
entries.push(e);
|
|
362
|
-
}
|
|
363
|
-
}
|
|
408
|
+
iterateVault(tierVault, seen);
|
|
364
409
|
} catch {
|
|
365
410
|
/* tier not connected */
|
|
366
411
|
}
|
|
@@ -369,44 +414,28 @@ export class Brain {
|
|
|
369
414
|
const cv = this.vaultManager.getConnected(name);
|
|
370
415
|
if (!cv) continue;
|
|
371
416
|
try {
|
|
372
|
-
|
|
373
|
-
if (!seen.has(e.id)) {
|
|
374
|
-
seen.add(e.id);
|
|
375
|
-
entries.push(e);
|
|
376
|
-
}
|
|
377
|
-
}
|
|
417
|
+
iterateVault(cv.vault, seen);
|
|
378
418
|
} catch {
|
|
379
419
|
/* source not accessible */
|
|
380
420
|
}
|
|
381
421
|
}
|
|
382
422
|
} else {
|
|
383
|
-
|
|
423
|
+
iterateVault(this.vault, null);
|
|
384
424
|
}
|
|
385
|
-
|
|
425
|
+
|
|
386
426
|
if (docCount === 0) {
|
|
387
427
|
this.vocabulary.clear();
|
|
388
|
-
this.
|
|
428
|
+
this.persistVocabularyFull();
|
|
389
429
|
return;
|
|
390
430
|
}
|
|
391
431
|
|
|
392
|
-
const termDocFreq = new Map<string, number>();
|
|
393
|
-
for (const entry of entries) {
|
|
394
|
-
const text = [entry.title, entry.description, entry.context ?? '', entry.tags.join(' ')].join(
|
|
395
|
-
' ',
|
|
396
|
-
);
|
|
397
|
-
const tokens = new Set(tokenize(text));
|
|
398
|
-
for (const token of tokens) {
|
|
399
|
-
termDocFreq.set(token, (termDocFreq.get(token) ?? 0) + 1);
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
|
|
403
432
|
this.vocabulary.clear();
|
|
404
433
|
for (const [term, df] of termDocFreq) {
|
|
405
434
|
const idf = Math.log((docCount + 1) / (df + 1)) + 1;
|
|
406
435
|
this.vocabulary.set(term, idf);
|
|
407
436
|
}
|
|
408
437
|
|
|
409
|
-
this.
|
|
438
|
+
this.persistVocabularyFull();
|
|
410
439
|
}
|
|
411
440
|
|
|
412
441
|
getStats(): BrainStats {
|
|
@@ -469,11 +498,12 @@ export class Brain {
|
|
|
469
498
|
queryTags: string[],
|
|
470
499
|
queryDomain: string | undefined,
|
|
471
500
|
now: number,
|
|
501
|
+
queryVec: Map<string, number> | null = null,
|
|
472
502
|
): ScoreBreakdown {
|
|
473
503
|
const w = this.weights;
|
|
474
504
|
|
|
475
505
|
let semantic = 0;
|
|
476
|
-
if (
|
|
506
|
+
if (queryVec && queryVec.size > 0) {
|
|
477
507
|
const entryText = [
|
|
478
508
|
entry.title,
|
|
479
509
|
entry.description,
|
|
@@ -481,7 +511,6 @@ export class Brain {
|
|
|
481
511
|
entry.tags.join(' '),
|
|
482
512
|
].join(' ');
|
|
483
513
|
const entryTokens = tokenize(entryText);
|
|
484
|
-
const queryVec = calculateTfIdf(queryTokens, this.vocabulary);
|
|
485
514
|
const entryVec = calculateTfIdf(entryTokens, this.vocabulary);
|
|
486
515
|
semantic = cosineSimilarity(queryVec, entryVec);
|
|
487
516
|
}
|
|
@@ -572,27 +601,72 @@ export class Brain {
|
|
|
572
601
|
const tokens = new Set(tokenize(text));
|
|
573
602
|
const totalDocs = this.vault.stats().totalEntries;
|
|
574
603
|
|
|
604
|
+
const changedTerms = new Map<string, number>();
|
|
575
605
|
for (const token of tokens) {
|
|
576
606
|
const currentDocCount = this.vocabulary.has(token)
|
|
577
607
|
? Math.round(totalDocs / Math.exp(this.vocabulary.get(token)! - 1)) + 1
|
|
578
608
|
: 1;
|
|
579
609
|
const newIdf = Math.log((totalDocs + 1) / (currentDocCount + 1)) + 1;
|
|
580
610
|
this.vocabulary.set(token, newIdf);
|
|
611
|
+
changedTerms.set(token, newIdf);
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
this.persistVocabularyPartial(changedTerms);
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
private persistVocabularyPartial(terms: Map<string, number>): void {
|
|
618
|
+
if (terms.size === 0) return;
|
|
619
|
+
const db = this.vault.getDb();
|
|
620
|
+
const upsert = db.prepare(
|
|
621
|
+
'INSERT OR REPLACE INTO brain_vocabulary (term, idf, doc_count, updated_at) VALUES (?, ?, 1, unixepoch())',
|
|
622
|
+
);
|
|
623
|
+
const tx = db.transaction(() => {
|
|
624
|
+
for (const [term, idf] of terms) {
|
|
625
|
+
upsert.run(term, idf);
|
|
626
|
+
}
|
|
627
|
+
});
|
|
628
|
+
tx();
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
/**
|
|
632
|
+
* Fast startup path: load vocabulary from the brain_vocabulary table.
|
|
633
|
+
* If the table is empty (first boot or after corruption), trigger a full rebuild.
|
|
634
|
+
*/
|
|
635
|
+
private loadVocabularyFromDb(): void {
|
|
636
|
+
const db = this.vault.getDb();
|
|
637
|
+
const rows = db.prepare('SELECT term, idf FROM brain_vocabulary').all() as Array<{
|
|
638
|
+
term: string;
|
|
639
|
+
idf: number;
|
|
640
|
+
}>;
|
|
641
|
+
|
|
642
|
+
if (rows.length === 0) {
|
|
643
|
+
this.rebuildVocabulary();
|
|
644
|
+
return;
|
|
581
645
|
}
|
|
582
646
|
|
|
583
|
-
this.
|
|
647
|
+
this.vocabulary.clear();
|
|
648
|
+
for (const row of rows) {
|
|
649
|
+
this.vocabulary.set(row.term, row.idf);
|
|
650
|
+
}
|
|
584
651
|
}
|
|
585
652
|
|
|
586
|
-
|
|
653
|
+
/**
|
|
654
|
+
* Full persist: DELETE all rows then re-INSERT. Used by rebuildVocabulary() which
|
|
655
|
+
* replaces the entire vocabulary and needs to remove stale terms.
|
|
656
|
+
*/
|
|
657
|
+
private persistVocabularyFull(): void {
|
|
587
658
|
const db = this.vault.getDb();
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
659
|
+
if (this.vocabulary.size === 0) {
|
|
660
|
+
db.prepare('DELETE FROM brain_vocabulary').run();
|
|
661
|
+
return;
|
|
662
|
+
}
|
|
663
|
+
const upsert = db.prepare(
|
|
664
|
+
'INSERT OR REPLACE INTO brain_vocabulary (term, idf, doc_count, updated_at) VALUES (?, ?, 1, unixepoch())',
|
|
592
665
|
);
|
|
593
666
|
const tx = db.transaction(() => {
|
|
667
|
+
db.prepare('DELETE FROM brain_vocabulary').run();
|
|
594
668
|
for (const [term, idf] of this.vocabulary) {
|
|
595
|
-
|
|
669
|
+
upsert.run(term, idf);
|
|
596
670
|
}
|
|
597
671
|
});
|
|
598
672
|
tx();
|
|
@@ -499,7 +499,7 @@ export class BrainIntelligence {
|
|
|
499
499
|
// ─── Strength Scoring ─────────────────────────────────────────────
|
|
500
500
|
|
|
501
501
|
computeStrengths(): PatternStrength[] {
|
|
502
|
-
// Gather feedback data grouped by entry_id
|
|
502
|
+
// Gather feedback data grouped by entry_id, JOIN with entries to avoid N+1 vault.get() calls
|
|
503
503
|
const feedbackRows = this.provider.all<{
|
|
504
504
|
entry_id: string;
|
|
505
505
|
total: number;
|
|
@@ -508,16 +508,21 @@ export class BrainIntelligence {
|
|
|
508
508
|
modified: number;
|
|
509
509
|
failed: number;
|
|
510
510
|
last_used: string;
|
|
511
|
+
entry_title: string | null;
|
|
512
|
+
entry_domain: string | null;
|
|
511
513
|
}>(
|
|
512
|
-
`SELECT entry_id,
|
|
514
|
+
`SELECT bf.entry_id,
|
|
513
515
|
COUNT(*) as total,
|
|
514
|
-
SUM(CASE WHEN action = 'accepted' THEN 1 ELSE 0 END) as accepted,
|
|
515
|
-
SUM(CASE WHEN action = 'dismissed' THEN 1 ELSE 0 END) as dismissed,
|
|
516
|
-
SUM(CASE WHEN action = 'modified' THEN 1 ELSE 0 END) as modified,
|
|
517
|
-
SUM(CASE WHEN action = 'failed' THEN 1 ELSE 0 END) as failed,
|
|
518
|
-
MAX(created_at) as last_used
|
|
519
|
-
|
|
520
|
-
|
|
516
|
+
SUM(CASE WHEN bf.action = 'accepted' THEN 1 ELSE 0 END) as accepted,
|
|
517
|
+
SUM(CASE WHEN bf.action = 'dismissed' THEN 1 ELSE 0 END) as dismissed,
|
|
518
|
+
SUM(CASE WHEN bf.action = 'modified' THEN 1 ELSE 0 END) as modified,
|
|
519
|
+
SUM(CASE WHEN bf.action = 'failed' THEN 1 ELSE 0 END) as failed,
|
|
520
|
+
MAX(bf.created_at) as last_used,
|
|
521
|
+
e.title as entry_title,
|
|
522
|
+
e.domain as entry_domain
|
|
523
|
+
FROM brain_feedback bf
|
|
524
|
+
LEFT JOIN entries e ON e.id = bf.entry_id
|
|
525
|
+
GROUP BY bf.entry_id`,
|
|
521
526
|
);
|
|
522
527
|
|
|
523
528
|
// Count unique session domains as spread proxy
|
|
@@ -530,10 +535,9 @@ export class BrainIntelligence {
|
|
|
530
535
|
const strengths: PatternStrength[] = [];
|
|
531
536
|
|
|
532
537
|
for (const row of feedbackRows) {
|
|
533
|
-
//
|
|
534
|
-
const
|
|
535
|
-
const
|
|
536
|
-
const pattern = entry?.title ?? row.entry_id;
|
|
538
|
+
// Use JOINed entry data — no per-row vault.get() needed
|
|
539
|
+
const domain = row.entry_domain ?? 'unknown';
|
|
540
|
+
const pattern = row.entry_title ?? row.entry_id;
|
|
537
541
|
|
|
538
542
|
// Usage score: min(25, (count / USAGE_MAX) * 25)
|
|
539
543
|
const usageScore = Math.min(25, (row.total / USAGE_MAX) * 25);
|
|
@@ -571,29 +575,33 @@ export class BrainIntelligence {
|
|
|
571
575
|
};
|
|
572
576
|
|
|
573
577
|
strengths.push(ps);
|
|
574
|
-
|
|
575
|
-
// Persist
|
|
576
|
-
this.provider.run(
|
|
577
|
-
`INSERT OR REPLACE INTO brain_strengths
|
|
578
|
-
(pattern, domain, strength, usage_score, spread_score, success_score, recency_score,
|
|
579
|
-
usage_count, unique_contexts, success_rate, last_used, updated_at)
|
|
580
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now'))`,
|
|
581
|
-
[
|
|
582
|
-
ps.pattern,
|
|
583
|
-
ps.domain,
|
|
584
|
-
ps.strength,
|
|
585
|
-
ps.usageScore,
|
|
586
|
-
ps.spreadScore,
|
|
587
|
-
ps.successScore,
|
|
588
|
-
ps.recencyScore,
|
|
589
|
-
ps.usageCount,
|
|
590
|
-
ps.uniqueContexts,
|
|
591
|
-
ps.successRate,
|
|
592
|
-
ps.lastUsed,
|
|
593
|
-
],
|
|
594
|
-
);
|
|
595
578
|
}
|
|
596
579
|
|
|
580
|
+
// Persist all strengths in a single transaction to avoid N fsync calls
|
|
581
|
+
this.provider.transaction(() => {
|
|
582
|
+
for (const ps of strengths) {
|
|
583
|
+
this.provider.run(
|
|
584
|
+
`INSERT OR REPLACE INTO brain_strengths
|
|
585
|
+
(pattern, domain, strength, usage_score, spread_score, success_score, recency_score,
|
|
586
|
+
usage_count, unique_contexts, success_rate, last_used, updated_at)
|
|
587
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now'))`,
|
|
588
|
+
[
|
|
589
|
+
ps.pattern,
|
|
590
|
+
ps.domain,
|
|
591
|
+
ps.strength,
|
|
592
|
+
ps.usageScore,
|
|
593
|
+
ps.spreadScore,
|
|
594
|
+
ps.successScore,
|
|
595
|
+
ps.recencyScore,
|
|
596
|
+
ps.usageCount,
|
|
597
|
+
ps.uniqueContexts,
|
|
598
|
+
ps.successRate,
|
|
599
|
+
ps.lastUsed,
|
|
600
|
+
],
|
|
601
|
+
);
|
|
602
|
+
}
|
|
603
|
+
});
|
|
604
|
+
|
|
597
605
|
return strengths;
|
|
598
606
|
}
|
|
599
607
|
|
package/src/chat/agent-loop.ts
CHANGED
|
@@ -292,7 +292,7 @@ async function callAnthropic(params: AnthropicCallParams): Promise<AnthropicResp
|
|
|
292
292
|
'anthropic-version': API_VERSION,
|
|
293
293
|
},
|
|
294
294
|
body: JSON.stringify(body),
|
|
295
|
-
signal: params.signal,
|
|
295
|
+
signal: params.signal ?? AbortSignal.timeout(120_000),
|
|
296
296
|
});
|
|
297
297
|
|
|
298
298
|
if (!response.ok) {
|
|
@@ -88,6 +88,10 @@ export class NotificationEngine {
|
|
|
88
88
|
setTimeout(() => this.poll(), 10_000);
|
|
89
89
|
|
|
90
90
|
this.timer = setInterval(() => this.poll(), this.intervalMs);
|
|
91
|
+
// Don't prevent process exit for background notification polling
|
|
92
|
+
if (this.timer && typeof this.timer === 'object' && 'unref' in this.timer) {
|
|
93
|
+
(this.timer as NodeJS.Timeout).unref();
|
|
94
|
+
}
|
|
91
95
|
}
|
|
92
96
|
|
|
93
97
|
/**
|
|
@@ -162,6 +162,7 @@ export class IntentRouter {
|
|
|
162
162
|
private vault: Vault;
|
|
163
163
|
private provider: PersistenceProvider;
|
|
164
164
|
private currentMode: OperationalMode = 'GENERAL-MODE';
|
|
165
|
+
private modesCache: ModeConfig[] | null = null;
|
|
165
166
|
|
|
166
167
|
constructor(vault: Vault) {
|
|
167
168
|
this.vault = vault;
|
|
@@ -322,6 +323,7 @@ export class IntentRouter {
|
|
|
322
323
|
|
|
323
324
|
const previousMode = this.currentMode;
|
|
324
325
|
this.currentMode = resolvedMode;
|
|
326
|
+
this.modesCache = null; // Invalidate cache on mode change
|
|
325
327
|
const behaviorRules = JSON.parse(row.behavior_rules) as string[];
|
|
326
328
|
|
|
327
329
|
return { previousMode, currentMode: resolvedMode, behaviorRules };
|
|
@@ -333,18 +335,16 @@ export class IntentRouter {
|
|
|
333
335
|
|
|
334
336
|
getBehaviorRules(mode?: OperationalMode): string[] {
|
|
335
337
|
const target = mode ?? this.currentMode;
|
|
336
|
-
const
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
);
|
|
340
|
-
|
|
341
|
-
if (!row) return [];
|
|
342
|
-
return JSON.parse(row.behavior_rules) as string[];
|
|
338
|
+
const modes = this.getModes();
|
|
339
|
+
const found = modes.find((m) => m.mode === target);
|
|
340
|
+
return found ? found.behaviorRules : [];
|
|
343
341
|
}
|
|
344
342
|
|
|
345
343
|
getModes(): ModeConfig[] {
|
|
344
|
+
if (this.modesCache) return this.modesCache;
|
|
346
345
|
const rows = this.provider.all<ModeRow>('SELECT * FROM agent_modes ORDER BY mode');
|
|
347
|
-
|
|
346
|
+
this.modesCache = rows.map(rowToModeConfig);
|
|
347
|
+
return this.modesCache;
|
|
348
348
|
}
|
|
349
349
|
|
|
350
350
|
registerMode(config: ModeConfig): void {
|
|
@@ -359,6 +359,7 @@ export class IntentRouter {
|
|
|
359
359
|
JSON.stringify(config.keywords),
|
|
360
360
|
],
|
|
361
361
|
);
|
|
362
|
+
this.modesCache = null;
|
|
362
363
|
}
|
|
363
364
|
|
|
364
365
|
updateModeRules(mode: OperationalMode, rules: string[]): void {
|
|
@@ -369,6 +370,7 @@ export class IntentRouter {
|
|
|
369
370
|
if (result.changes === 0) {
|
|
370
371
|
throw new Error(`Unknown mode: ${mode}`);
|
|
371
372
|
}
|
|
373
|
+
this.modesCache = null;
|
|
372
374
|
}
|
|
373
375
|
|
|
374
376
|
// ─── Routing Feedback ─────────────────────────────────────────────
|