@jmtrin/opencode-kevin 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -35
- package/dist/migrations/004_v03_knowledge.sql +138 -0
- package/dist/migrations/005_v04_signal.sql +57 -0
- package/dist/plugin/CausalChain.d.ts +22 -0
- package/dist/plugin/CausalChain.js +179 -0
- package/dist/plugin/CausalChain.js.map +1 -0
- package/dist/plugin/ContextInjector.d.ts +89 -1
- package/dist/plugin/ContextInjector.js +276 -71
- package/dist/plugin/ContextInjector.js.map +1 -1
- package/dist/plugin/InjectionLedger.d.ts +85 -0
- package/dist/plugin/InjectionLedger.js +189 -0
- package/dist/plugin/InjectionLedger.js.map +1 -0
- package/dist/plugin/LessonFixer.d.ts +44 -0
- package/dist/plugin/LessonFixer.js +46 -0
- package/dist/plugin/LessonFixer.js.map +1 -0
- package/dist/plugin/MemoryService.d.ts +123 -2
- package/dist/plugin/MemoryService.js +439 -31
- package/dist/plugin/MemoryService.js.map +1 -1
- package/dist/plugin/Migrate.js +22 -0
- package/dist/plugin/Migrate.js.map +1 -1
- package/dist/plugin/QualityGate.d.ts +71 -0
- package/dist/plugin/QualityGate.js +78 -0
- package/dist/plugin/QualityGate.js.map +1 -0
- package/dist/plugin/Reflector.d.ts +33 -0
- package/dist/plugin/Reflector.js +126 -32
- package/dist/plugin/Reflector.js.map +1 -1
- package/dist/plugin/Retrospective.js +10 -1
- package/dist/plugin/Retrospective.js.map +1 -1
- package/dist/plugin/ToolCallObserver.d.ts +1 -0
- package/dist/plugin/ToolCallObserver.js +16 -9
- package/dist/plugin/ToolCallObserver.js.map +1 -1
- package/dist/plugin/confidence.d.ts +6 -0
- package/dist/plugin/confidence.js +23 -0
- package/dist/plugin/confidence.js.map +1 -0
- package/dist/plugin/index.d.ts +5 -0
- package/dist/plugin/index.js +336 -44
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/kevin_why.d.ts +23 -0
- package/dist/plugin/kevin_why.js +108 -0
- package/dist/plugin/kevin_why.js.map +1 -0
- package/dist/plugin/memory-format.d.ts +12 -0
- package/dist/plugin/memory-format.js +45 -5
- package/dist/plugin/memory-format.js.map +1 -1
- package/dist/plugin/metrics.d.ts +7 -1
- package/dist/plugin/metrics.js +19 -0
- package/dist/plugin/metrics.js.map +1 -1
- package/dist/plugin/okf-export.d.ts +3 -0
- package/dist/plugin/okf-export.js +127 -0
- package/dist/plugin/okf-export.js.map +1 -0
- package/dist/plugin/okf-import.d.ts +76 -0
- package/dist/plugin/okf-import.js +272 -0
- package/dist/plugin/okf-import.js.map +1 -0
- package/dist/plugin/query-tokenizer.d.ts +13 -0
- package/dist/plugin/query-tokenizer.js +86 -0
- package/dist/plugin/query-tokenizer.js.map +1 -0
- package/migrations/004_v03_knowledge.sql +138 -0
- package/migrations/005_v04_signal.sql +57 -0
- package/package.json +1 -1
package/dist/plugin/index.js
CHANGED
|
@@ -3,7 +3,9 @@ import { homedir } from "node:os";
|
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { tool } from "@opencode-ai/plugin";
|
|
6
|
+
import { CausalChain } from "./CausalChain.js";
|
|
6
7
|
import { ContextInjector } from "./ContextInjector.js";
|
|
8
|
+
import { InjectionLedger } from "./InjectionLedger.js";
|
|
7
9
|
import { MemoryService, } from "./MemoryService.js";
|
|
8
10
|
import { Migrate } from "./Migrate.js";
|
|
9
11
|
import { PatternMiner } from "./PatternMiner.js";
|
|
@@ -11,10 +13,23 @@ import { ERROR_LINE_RE, Reflector, STRONG_ERROR_RE } from "./Reflector.js";
|
|
|
11
13
|
import { Retrospective } from "./Retrospective.js";
|
|
12
14
|
import { Store } from "./Store.js";
|
|
13
15
|
import { ToolCallObserver } from "./ToolCallObserver.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
import { fingerprint } from "./fingerprint.js";
|
|
17
|
+
import { kevinWhy } from "./kevin_why.js";
|
|
18
|
+
import { Metrics } from "./metrics.js";
|
|
19
|
+
import { exportMarkdown, exportOkf } from "./okf-export.js";
|
|
20
|
+
import { importOkf } from "./okf-import.js";
|
|
21
|
+
/**
|
|
22
|
+
* v0.4.0 (K4-021) — settings surfaced by `kevin_config` (plan §8.8).
|
|
23
|
+
* Unknown keys are rejected on `set` unless `strict: false`.
|
|
24
|
+
*/
|
|
25
|
+
export const KEVIN_CONFIG_KEYS = [
|
|
26
|
+
"quality_gate_enabled",
|
|
27
|
+
"lesson_snippet_injection",
|
|
28
|
+
"patternminer_enabled",
|
|
29
|
+
"cross_project_enabled",
|
|
30
|
+
"llm_reflection_enabled",
|
|
31
|
+
"tool_calls_dedup_enabled",
|
|
32
|
+
];
|
|
18
33
|
function resolveMigrationsDir() {
|
|
19
34
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
20
35
|
return join(here, "..", "migrations");
|
|
@@ -31,16 +46,48 @@ export const KevinPlugin = async (input, options) => {
|
|
|
31
46
|
const migrationsDir = opts.migrationsDir ?? resolveMigrationsDir();
|
|
32
47
|
await new Migrate(store, migrationsDir).run();
|
|
33
48
|
const metrics = new Metrics(store);
|
|
49
|
+
// v0.4.0 (K4-019): the plugin hooks expose no project field, so the
|
|
50
|
+
// project id is derived once from the plugin host's working directory
|
|
51
|
+
// (plan §5.7 fallback; D2-11 project scoping wired into the live path).
|
|
52
|
+
const projectId = fingerprint(process.cwd());
|
|
34
53
|
const memoryService = new MemoryService(store, metrics);
|
|
35
54
|
const observer = new ToolCallObserver(store, metrics);
|
|
36
|
-
|
|
37
|
-
|
|
55
|
+
// v0.3.0 fix — Prepared UPDATE used by Reflector.onLinkError to stamp
|
|
56
|
+
// tool_calls.error_fingerprint with the stderr-based fingerprint the
|
|
57
|
+
// matching error memory uses. Closes the feedback-loop fingerprint
|
|
58
|
+
// mismatch (plan §B6.10 / bug #2): without this, the recurrence
|
|
59
|
+
// queries in boostPositiveReflectors / penalizeRecurringReflectors
|
|
60
|
+
// never match because tool_calls.fingerprint is keyed on
|
|
61
|
+
// `${tool}|${args}|${success}` (set by ToolCallObserver) while error
|
|
62
|
+
// memories use a hash of stderr/stdout (set by Reflector). The
|
|
63
|
+
// callback is a no-op for legacy rows without an id column.
|
|
64
|
+
const linkErrorStmt = store.prepare("UPDATE tool_calls SET error_fingerprint = ? WHERE id = ?");
|
|
65
|
+
const reflector = new Reflector(memoryService, {
|
|
66
|
+
throttleMs: opts.throttleMs,
|
|
67
|
+
onLinkError: (callID, fp) => {
|
|
68
|
+
linkErrorStmt.run(fp, callID);
|
|
69
|
+
},
|
|
70
|
+
}, metrics);
|
|
71
|
+
// v0.4.0 (K4-017): the single injection path. The inline transform/
|
|
72
|
+
// compacting logic was removed; the ContextInjector now owns the whole
|
|
73
|
+
// pipeline (QualityGate admission + snippet payload + ledger rows),
|
|
74
|
+
// so ledger and injector share the same store.
|
|
75
|
+
const ledger = new InjectionLedger(store, metrics);
|
|
76
|
+
const injector = new ContextInjector(memoryService, metrics, ledger);
|
|
38
77
|
const retrospective = new Retrospective(store, memoryService, {
|
|
39
78
|
dir: opts.retrospectivesDir,
|
|
40
79
|
}, metrics);
|
|
41
80
|
const patternMiner = new PatternMiner(store, memoryService, metrics);
|
|
81
|
+
const causalChain = new CausalChain(store, memoryService, metrics);
|
|
42
82
|
let currentSessionId = null;
|
|
83
|
+
// BUG-011 — process-global last derived query. Cleared on
|
|
84
|
+
// `session.idle`; the per-session map below is the preferred source.
|
|
43
85
|
let lastUserQuery = null;
|
|
86
|
+
// v0.4.0 (K4-018) — compaction may fire without a recent chat.message
|
|
87
|
+
// (auto-compact after a long tool turn, resumed sessions). Keep the
|
|
88
|
+
// last derived query PER SESSION so the compacting hook can always
|
|
89
|
+
// resolve a query for the session it runs in.
|
|
90
|
+
const lastUserQueryBySession = new Map();
|
|
44
91
|
const pending = new Set();
|
|
45
92
|
const toolCache = new Map();
|
|
46
93
|
const TOOL_CACHE_MAX = 500;
|
|
@@ -84,6 +131,8 @@ export const KevinPlugin = async (input, options) => {
|
|
|
84
131
|
exitCode: undefined,
|
|
85
132
|
errorType,
|
|
86
133
|
sessionId: sessionID,
|
|
134
|
+
callID,
|
|
135
|
+
projectId,
|
|
87
136
|
}));
|
|
88
137
|
}
|
|
89
138
|
return {
|
|
@@ -91,7 +140,14 @@ export const KevinPlugin = async (input, options) => {
|
|
|
91
140
|
kevin_save: tool({
|
|
92
141
|
description: "Guarda una memoria en el conocimiento persistente de Kevin (error, pattern, decision o context).",
|
|
93
142
|
args: {
|
|
94
|
-
type: tool.schema.enum([
|
|
143
|
+
type: tool.schema.enum([
|
|
144
|
+
"error",
|
|
145
|
+
"pattern",
|
|
146
|
+
"decision",
|
|
147
|
+
"context",
|
|
148
|
+
"rule",
|
|
149
|
+
"solution",
|
|
150
|
+
]),
|
|
95
151
|
content: tool.schema.string().min(1),
|
|
96
152
|
scope: tool.schema.enum(["project", "session"]).default("project"),
|
|
97
153
|
metadata: tool.schema
|
|
@@ -119,13 +175,24 @@ export const KevinPlugin = async (input, options) => {
|
|
|
119
175
|
args: {
|
|
120
176
|
query: tool.schema.string().min(1),
|
|
121
177
|
type: tool.schema
|
|
122
|
-
.enum([
|
|
178
|
+
.enum([
|
|
179
|
+
"error",
|
|
180
|
+
"pattern",
|
|
181
|
+
"decision",
|
|
182
|
+
"context",
|
|
183
|
+
"rule",
|
|
184
|
+
"solution",
|
|
185
|
+
])
|
|
123
186
|
.optional(),
|
|
124
187
|
limit: tool.schema.number().int().positive().default(10),
|
|
125
188
|
full: tool.schema
|
|
126
189
|
.boolean()
|
|
127
190
|
.optional()
|
|
128
191
|
.describe("Cuando true, retorna el contenido completo (v0.1.x). Default false (slim)."),
|
|
192
|
+
evidence: tool.schema
|
|
193
|
+
.boolean()
|
|
194
|
+
.optional()
|
|
195
|
+
.describe("Cuando true, incluye confidence, evidence_count y last_verified_at en el payload slim (v0.3.0)."),
|
|
129
196
|
},
|
|
130
197
|
async execute(args) {
|
|
131
198
|
const memories = memoryService.query({
|
|
@@ -133,6 +200,10 @@ export const KevinPlugin = async (input, options) => {
|
|
|
133
200
|
type: args.type,
|
|
134
201
|
limit: args.limit,
|
|
135
202
|
full: args.full === true,
|
|
203
|
+
// BUG-001 — pass the flag through so the slim mapper
|
|
204
|
+
// can include the evidence fields (the old code cast
|
|
205
|
+
// SlimMemory rows to Memory and read undefined fields).
|
|
206
|
+
evidence: args.evidence === true,
|
|
136
207
|
});
|
|
137
208
|
const rows = args.full === true
|
|
138
209
|
? memories.map((m) => ({
|
|
@@ -141,13 +212,27 @@ export const KevinPlugin = async (input, options) => {
|
|
|
141
212
|
content: m.content,
|
|
142
213
|
scope: m.scope,
|
|
143
214
|
}))
|
|
144
|
-
: memories.map((m) =>
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
215
|
+
: memories.map((m) => {
|
|
216
|
+
const base = {
|
|
217
|
+
id: m.id,
|
|
218
|
+
type: m.type,
|
|
219
|
+
scope: m.scope,
|
|
220
|
+
score: m.score,
|
|
221
|
+
snippet: m.snippet,
|
|
222
|
+
};
|
|
223
|
+
if (args.evidence === true) {
|
|
224
|
+
// SlimMemoryWithEvidence — carried by the
|
|
225
|
+
// mapper, no per-row getById needed.
|
|
226
|
+
const ev = m;
|
|
227
|
+
return {
|
|
228
|
+
...base,
|
|
229
|
+
confidence: ev.confidence ?? null,
|
|
230
|
+
evidence_count: ev.evidence_count ?? null,
|
|
231
|
+
last_verified_at: ev.last_verified_at ?? null,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
return base;
|
|
235
|
+
});
|
|
151
236
|
return {
|
|
152
237
|
title: "Resultados query",
|
|
153
238
|
output: JSON.stringify(rows),
|
|
@@ -187,6 +272,15 @@ export const KevinPlugin = async (input, options) => {
|
|
|
187
272
|
fingerprint: mem.fingerprint ?? null,
|
|
188
273
|
origin: mem.origin ?? null,
|
|
189
274
|
metadata: mem.metadata ?? null,
|
|
275
|
+
// BUG-010 — v0.3/v0.4 evidence fields so kevin_get
|
|
276
|
+
// is the full-fidelity read path (mapRow already
|
|
277
|
+
// computes confidence via computeConfidence).
|
|
278
|
+
confidence: mem.confidence ?? null,
|
|
279
|
+
evidence_count: mem.evidenceCount ?? null,
|
|
280
|
+
recurrence_count: mem.recurrenceCount ?? null,
|
|
281
|
+
last_verified_at: mem.lastVerifiedAt ?? null,
|
|
282
|
+
status: mem.status ?? "active",
|
|
283
|
+
fix_args: mem.fixArgs ?? null,
|
|
190
284
|
}),
|
|
191
285
|
};
|
|
192
286
|
},
|
|
@@ -244,6 +338,26 @@ export const KevinPlugin = async (input, options) => {
|
|
|
244
338
|
const memoriesReflector = byOrigin.reflector ?? 0;
|
|
245
339
|
const memoriesAgent = byOrigin.agent ?? 0;
|
|
246
340
|
const memoriesPattern = byOrigin.pattern ?? 0;
|
|
341
|
+
const memoriesCausal = byOrigin.causal ?? 0;
|
|
342
|
+
// v0.4.0 (K4-024): per-origin recurrence_count totals
|
|
343
|
+
// (plan §8.8 — honest negative-evidence breakdown).
|
|
344
|
+
// Best-effort: DBs pre-005 lack the column; the rest of
|
|
345
|
+
// the block must still work (same pattern as
|
|
346
|
+
// ledger.settle in session.idle).
|
|
347
|
+
let recurrenceByOrigin = {};
|
|
348
|
+
try {
|
|
349
|
+
const recRows = store
|
|
350
|
+
.prepare(`SELECT origin, SUM(recurrence_count) as c
|
|
351
|
+
FROM memories
|
|
352
|
+
GROUP BY origin`)
|
|
353
|
+
.all();
|
|
354
|
+
for (const r of recRows) {
|
|
355
|
+
recurrenceByOrigin[r.origin ?? "agent"] = r.c;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
catch {
|
|
359
|
+
recurrenceByOrigin = {};
|
|
360
|
+
}
|
|
247
361
|
return {
|
|
248
362
|
title: "Estado de Kevin",
|
|
249
363
|
output: JSON.stringify({
|
|
@@ -251,9 +365,22 @@ export const KevinPlugin = async (input, options) => {
|
|
|
251
365
|
memories_reflector: memoriesReflector,
|
|
252
366
|
memories_agent: memoriesAgent,
|
|
253
367
|
memories_pattern: memoriesPattern,
|
|
368
|
+
memories_causal: memoriesCausal,
|
|
254
369
|
tool_calls: toolCallCount.c,
|
|
255
370
|
retrospectives: retroCount.c,
|
|
256
371
|
metrics: metrics.snapshot(),
|
|
372
|
+
// v0.4.0 (K4-008): precision block. The
|
|
373
|
+
// human-facing "patterns promoted" reading is
|
|
374
|
+
// `patterns_promoted_new` (K4-009 corrected the
|
|
375
|
+
// inflated `patterns_causal` counter; its key
|
|
376
|
+
// stays frozen in metrics for compatibility).
|
|
377
|
+
precision_rate: metrics.precisionRate(),
|
|
378
|
+
injections_total: metrics.get("injections_total"),
|
|
379
|
+
injections_effective: metrics.get("injections_effective"),
|
|
380
|
+
injections_ineffective: metrics.get("injections_ineffective"),
|
|
381
|
+
patterns_promoted_new: metrics.get("patterns_promoted_new"),
|
|
382
|
+
// v0.4.0 (K4-024): per-origin recurrence totals.
|
|
383
|
+
recurrence_by_origin: recurrenceByOrigin,
|
|
257
384
|
}),
|
|
258
385
|
};
|
|
259
386
|
},
|
|
@@ -287,6 +414,120 @@ export const KevinPlugin = async (input, options) => {
|
|
|
287
414
|
};
|
|
288
415
|
},
|
|
289
416
|
}),
|
|
417
|
+
kevin_why: tool({
|
|
418
|
+
description: "Explica por que Kevin recuerda un hecho (v0.3.0). Retorna summary, confidence, trace de eventos y related_rules.",
|
|
419
|
+
args: {
|
|
420
|
+
query: tool.schema.string().min(1),
|
|
421
|
+
},
|
|
422
|
+
async execute(args) {
|
|
423
|
+
const result = kevinWhy(store, args.query);
|
|
424
|
+
if (!result) {
|
|
425
|
+
return {
|
|
426
|
+
title: "Sin explicacion",
|
|
427
|
+
output: JSON.stringify({
|
|
428
|
+
message: `No causal patterns found for "${args.query}".`,
|
|
429
|
+
}),
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
return {
|
|
433
|
+
title: "Explicacion causal",
|
|
434
|
+
output: JSON.stringify(result),
|
|
435
|
+
};
|
|
436
|
+
},
|
|
437
|
+
}),
|
|
438
|
+
kevin_export: tool({
|
|
439
|
+
description: "Exporta memorias curadas (decision, rule, pattern) como markdown o formato OKF. v0.3.0.",
|
|
440
|
+
args: {
|
|
441
|
+
format: tool.schema
|
|
442
|
+
.enum(["okf", "markdown"])
|
|
443
|
+
.default("okf")
|
|
444
|
+
.describe("okf | markdown"),
|
|
445
|
+
},
|
|
446
|
+
async execute(args) {
|
|
447
|
+
const output = args.format === "markdown"
|
|
448
|
+
? exportMarkdown(store)
|
|
449
|
+
: exportOkf(store);
|
|
450
|
+
return {
|
|
451
|
+
title: "Export completado",
|
|
452
|
+
output,
|
|
453
|
+
};
|
|
454
|
+
},
|
|
455
|
+
}),
|
|
456
|
+
kevin_import: tool({
|
|
457
|
+
description: "Importa un bundle markdown de conocimiento (v0.3.0). Cada entrada se guarda como context con origin='imported'.",
|
|
458
|
+
args: {
|
|
459
|
+
bundle: tool.schema.string().min(1),
|
|
460
|
+
},
|
|
461
|
+
async execute(args) {
|
|
462
|
+
const result = importOkf(args.bundle, memoryService);
|
|
463
|
+
return {
|
|
464
|
+
title: "Import completado",
|
|
465
|
+
output: JSON.stringify(result),
|
|
466
|
+
};
|
|
467
|
+
},
|
|
468
|
+
}),
|
|
469
|
+
kevin_config: tool({
|
|
470
|
+
description: "Lee o modifica settings de Kevin sin SQL (v0.4.0). list: todas las settings de kevin_settings. set: upsert de una key conocida (rechaza keys desconocidas salvo strict:false).",
|
|
471
|
+
args: {
|
|
472
|
+
action: tool.schema.enum(["list", "set"]).describe("list | set"),
|
|
473
|
+
key: tool.schema
|
|
474
|
+
.string()
|
|
475
|
+
.optional()
|
|
476
|
+
.describe("Clave a modificar (action=set)."),
|
|
477
|
+
value: tool.schema
|
|
478
|
+
.string()
|
|
479
|
+
.optional()
|
|
480
|
+
.describe("Nuevo valor (action=set). Default '1'."),
|
|
481
|
+
strict: tool.schema
|
|
482
|
+
.boolean()
|
|
483
|
+
.default(true)
|
|
484
|
+
.optional()
|
|
485
|
+
.describe("Con strict=true (default) se rechazan keys desconocidas."),
|
|
486
|
+
},
|
|
487
|
+
async execute(args) {
|
|
488
|
+
if (args.action === "list") {
|
|
489
|
+
const rows = store
|
|
490
|
+
.prepare("SELECT key, value FROM kevin_settings ORDER BY key")
|
|
491
|
+
.all();
|
|
492
|
+
const settings = {};
|
|
493
|
+
for (const r of rows)
|
|
494
|
+
settings[r.key] = r.value;
|
|
495
|
+
return {
|
|
496
|
+
title: "Configuracion de Kevin",
|
|
497
|
+
output: JSON.stringify(settings),
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
if (!args.key) {
|
|
501
|
+
return {
|
|
502
|
+
title: "kevin_config",
|
|
503
|
+
output: JSON.stringify({
|
|
504
|
+
error: "missing_key",
|
|
505
|
+
action: "set",
|
|
506
|
+
}),
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
const known = KEVIN_CONFIG_KEYS.includes(args.key);
|
|
510
|
+
if (!known && args.strict !== false) {
|
|
511
|
+
return {
|
|
512
|
+
title: "kevin_config",
|
|
513
|
+
output: JSON.stringify({
|
|
514
|
+
error: "unknown_key",
|
|
515
|
+
key: args.key,
|
|
516
|
+
known_keys: [...KEVIN_CONFIG_KEYS],
|
|
517
|
+
}),
|
|
518
|
+
};
|
|
519
|
+
}
|
|
520
|
+
const value = args.value ?? "1";
|
|
521
|
+
store
|
|
522
|
+
.prepare(`INSERT INTO kevin_settings (key, value) VALUES (?, ?)
|
|
523
|
+
ON CONFLICT(key) DO UPDATE SET value = excluded.value`)
|
|
524
|
+
.run(args.key, value);
|
|
525
|
+
return {
|
|
526
|
+
title: "kevin_config",
|
|
527
|
+
output: JSON.stringify({ ok: true, key: args.key, value }),
|
|
528
|
+
};
|
|
529
|
+
},
|
|
530
|
+
}),
|
|
290
531
|
},
|
|
291
532
|
"tool.execute.before": async (hookInput, output) => {
|
|
292
533
|
rememberToolCall(hookInput.callID, hookInput.tool, output.args);
|
|
@@ -295,6 +536,7 @@ export const KevinPlugin = async (input, options) => {
|
|
|
295
536
|
args: output.args,
|
|
296
537
|
sessionId: hookInput.sessionID,
|
|
297
538
|
callID: hookInput.callID,
|
|
539
|
+
projectId,
|
|
298
540
|
}, {});
|
|
299
541
|
},
|
|
300
542
|
"tool.execute.after": async (hookInput, output) => {
|
|
@@ -322,6 +564,7 @@ export const KevinPlugin = async (input, options) => {
|
|
|
322
564
|
args: hookInput.args,
|
|
323
565
|
sessionId: hookInput.sessionID,
|
|
324
566
|
callID: hookInput.callID,
|
|
567
|
+
projectId,
|
|
325
568
|
}, { success, stdout, stderr, exitCode });
|
|
326
569
|
if (!success) {
|
|
327
570
|
const errorType = observer.inferErrorType(stderr, stdout, exitCode);
|
|
@@ -333,10 +576,15 @@ export const KevinPlugin = async (input, options) => {
|
|
|
333
576
|
exitCode,
|
|
334
577
|
errorType,
|
|
335
578
|
sessionId: hookInput.sessionID,
|
|
579
|
+
callID: hookInput.callID,
|
|
580
|
+
projectId,
|
|
336
581
|
}));
|
|
337
582
|
}
|
|
583
|
+
else {
|
|
584
|
+
causalChain.onSuccess(hookInput.tool, hookInput.args, projectId, hookInput.sessionID);
|
|
585
|
+
}
|
|
338
586
|
},
|
|
339
|
-
"chat.message": async (
|
|
587
|
+
"chat.message": async (hookInput, output) => {
|
|
340
588
|
const text = output.parts
|
|
341
589
|
.map((p) => p)
|
|
342
590
|
.filter((p) => p.type === "text")
|
|
@@ -345,52 +593,96 @@ export const KevinPlugin = async (input, options) => {
|
|
|
345
593
|
if (text.trim()) {
|
|
346
594
|
const derived = injector.deriveQuery([{ role: "user", content: text }]);
|
|
347
595
|
lastUserQuery = derived.length > 0 ? derived : null;
|
|
596
|
+
if (hookInput.sessionID && lastUserQuery) {
|
|
597
|
+
lastUserQueryBySession.set(hookInput.sessionID, lastUserQuery);
|
|
598
|
+
}
|
|
348
599
|
}
|
|
349
600
|
},
|
|
350
|
-
"experimental.chat.system.transform": async (
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
maxTokens: SYSTEM_TRANSFORM_TOKENS,
|
|
356
|
-
scope: "project",
|
|
357
|
-
});
|
|
358
|
-
const block = formatMemories(memories, "context");
|
|
359
|
-
if (block) {
|
|
360
|
-
output.system.push(block);
|
|
361
|
-
metrics.incr("tokens_injected_pre_prompt", estimateTokens(block));
|
|
362
|
-
}
|
|
363
|
-
},
|
|
364
|
-
"experimental.session.compacting": async (_hookInput, output) => {
|
|
365
|
-
const query = lastUserQuery;
|
|
601
|
+
"experimental.chat.system.transform": async (hookInput, output) => {
|
|
602
|
+
// BUG-011 — prefer the per-session query so a new session whose
|
|
603
|
+
// first transform fires before any chat.message cannot reuse the
|
|
604
|
+
// previous session's query (the global is cleared on idle).
|
|
605
|
+
const query = lastUserQueryBySession.get(hookInput.sessionID ?? "") ?? lastUserQuery;
|
|
366
606
|
if (!query)
|
|
367
607
|
return;
|
|
368
|
-
const
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
608
|
+
const suggestion = injector.generateSuggestion();
|
|
609
|
+
if (suggestion)
|
|
610
|
+
output.system.push(suggestion);
|
|
611
|
+
injector.onSystemTransform({
|
|
612
|
+
sessionID: hookInput.sessionID ?? undefined,
|
|
613
|
+
messages: [{ role: "user", content: query }],
|
|
614
|
+
}, output);
|
|
615
|
+
},
|
|
616
|
+
"experimental.session.compacting": async (hookInput, output) => {
|
|
617
|
+
// v0.4.0 (K4-018) — plan §5.6: compaction often fires with no
|
|
618
|
+
// recent chat.message (auto-compact after a long tool turn,
|
|
619
|
+
// resumed sessions). Resolve a query per session first, then
|
|
620
|
+
// the global fallback, then any messages the runtime may
|
|
621
|
+
// provide (defensive — the current SDK contract only exposes
|
|
622
|
+
// sessionID).
|
|
623
|
+
// BUG-012 — the HITL suggestion fires AT MOST ONCE per session:
|
|
624
|
+
// whichever hook (transform or compacting) runs first consumes
|
|
625
|
+
// the pending recurrence signal (generateSuggestion resets it).
|
|
626
|
+
const suggestion = injector.generateSuggestion();
|
|
627
|
+
if (suggestion)
|
|
628
|
+
output.context.push(suggestion);
|
|
629
|
+
const sid = hookInput.sessionID;
|
|
630
|
+
const sessionQuery = lastUserQueryBySession.get(sid) ?? lastUserQuery;
|
|
631
|
+
const runtimeMessages = hookInput
|
|
632
|
+
.messages;
|
|
633
|
+
const messages = sessionQuery != null
|
|
634
|
+
? [{ role: "user", content: sessionQuery }]
|
|
635
|
+
: (runtimeMessages ?? []);
|
|
636
|
+
injector.onCompacting({
|
|
637
|
+
sessionID: sid,
|
|
638
|
+
messages,
|
|
639
|
+
}, output);
|
|
378
640
|
},
|
|
379
641
|
event: async ({ event }) => {
|
|
380
642
|
const type = event.type;
|
|
381
643
|
const props = event.properties ?? {};
|
|
382
644
|
if (type === "session.created") {
|
|
383
645
|
const info = props.info;
|
|
384
|
-
if (info?.id)
|
|
646
|
+
if (info?.id) {
|
|
385
647
|
currentSessionId = info.id;
|
|
648
|
+
// BUG-011 — a fresh session must not inherit the
|
|
649
|
+
// previous session's derived query (the global may
|
|
650
|
+
// still hold it if no idle fired).
|
|
651
|
+
lastUserQueryBySession.delete(info.id);
|
|
652
|
+
// v0.4.0 (K4-017) — plan §5.1 rule 3: the per-session
|
|
653
|
+
// seen-set resets when a session is created.
|
|
654
|
+
injector.onSessionCreated(info.id);
|
|
655
|
+
}
|
|
386
656
|
}
|
|
387
657
|
else if (type === "session.idle") {
|
|
388
658
|
const sid = props.sessionID;
|
|
389
659
|
if (sid) {
|
|
390
660
|
toolCache.clear();
|
|
661
|
+
// BUG-011 — the session is done: drop the global query
|
|
662
|
+
// so the next session cannot reuse it.
|
|
663
|
+
lastUserQuery = null;
|
|
664
|
+
// v0.4.0 (K4-024) — plan §5.2: settle the session's
|
|
665
|
+
// unmeasured injections (effective/ineffective +
|
|
666
|
+
// recurrence_count charges) at idle. Best-effort: a
|
|
667
|
+
// legacy DB without migration 005 has no ledger table.
|
|
668
|
+
try {
|
|
669
|
+
ledger.settle(sid);
|
|
670
|
+
}
|
|
671
|
+
catch {
|
|
672
|
+
// best-effort: a legacy DB without the ledger
|
|
673
|
+
// table must not break the idle path
|
|
674
|
+
}
|
|
391
675
|
fireAndForget(retrospective.generate(sid));
|
|
392
676
|
memoryService.boostPositiveReflectors(sid);
|
|
393
|
-
|
|
677
|
+
const recurred = memoryService.penalizeRecurringReflectors(sid);
|
|
678
|
+
injector.setRecurrences(recurred, sid);
|
|
679
|
+
patternMiner.mine(projectId);
|
|
680
|
+
fireAndForget(Promise.resolve()
|
|
681
|
+
.then(() => causalChain.onSessionIdle(sid))
|
|
682
|
+
// non-blocking — promote is a best-effort pass
|
|
683
|
+
// (legacy DBs pre-005 lack the recurrence_count
|
|
684
|
+
// column)
|
|
685
|
+
.catch(() => { }));
|
|
394
686
|
}
|
|
395
687
|
metrics.flush();
|
|
396
688
|
}
|
package/dist/plugin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../plugin/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../plugin/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Store } from "./Store.js";
|
|
2
|
+
export interface WhyInput {
|
|
3
|
+
query: string;
|
|
4
|
+
}
|
|
5
|
+
export interface WhyTraceEvent {
|
|
6
|
+
event: "failure" | "fix";
|
|
7
|
+
fingerprint: string;
|
|
8
|
+
session: string;
|
|
9
|
+
ts: string;
|
|
10
|
+
}
|
|
11
|
+
export interface WhyResult {
|
|
12
|
+
summary: string;
|
|
13
|
+
confidence: number;
|
|
14
|
+
evidence_count: number;
|
|
15
|
+
/** v0.4.0 (K4-020) — negative evidence for the honest phrasing. */
|
|
16
|
+
recurrence_count: number;
|
|
17
|
+
/** v0.4.0 (K4-020) — deterministic "Fixed by:" raw material, if any. */
|
|
18
|
+
fix_args: string | null;
|
|
19
|
+
last_verified: string | null;
|
|
20
|
+
trace: WhyTraceEvent[];
|
|
21
|
+
related_rules: string[];
|
|
22
|
+
}
|
|
23
|
+
export declare function kevinWhy(store: Store, query: string): WhyResult | null;
|