@cachly-dev/mcp-server 0.10.129 → 0.10.131
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 +2 -2
- package/dist/index.js +1 -7
- package/dist/packages/telegram-notify/client.js +2 -75
- package/dist/src/ambient-cli.js +7 -253
- package/dist/src/ambient-deps.js +1 -55
- package/dist/src/ambient-hooks.js +5 -278
- package/dist/src/ambient-ledger.js +6 -95
- package/dist/src/ambient-memory.js +1 -67
- package/dist/src/ambient-recall.js +1 -221
- package/dist/src/aussetzer.js +1 -225
- package/dist/src/auth.js +9 -140
- package/dist/src/autor-abzeichen.js +1 -56
- package/dist/src/autor.js +1 -136
- package/dist/src/bauabdruck.js +1 -93
- package/dist/src/bedeutung.js +2 -323
- package/dist/src/bench/cachly-bench.js +4 -249
- package/dist/src/bench/external-corpus.js +4 -135
- package/dist/src/bench/fixtures.js +1 -225
- package/dist/src/brain-export.js +16 -119
- package/dist/src/brain-watch-hook.js +8 -86
- package/dist/src/cachly-url.js +1 -21
- package/dist/src/ckg.js +1 -108
- package/dist/src/cls-hook.js +8 -94
- package/dist/src/confidence.js +1 -50
- package/dist/src/credentials.js +1 -85
- package/dist/src/deutsch.js +1 -223
- package/dist/src/doctor.js +2 -248
- package/dist/src/editor.js +1 -63
- package/dist/src/eingaenge-nachruesten.js +1 -290
- package/dist/src/eingaenge.js +2 -260
- package/dist/src/embeddings.js +13 -223
- package/dist/src/feldreparatur.js +3 -113
- package/dist/src/first-contact.js +4 -108
- package/dist/src/first-recall-proof.js +4 -41
- package/dist/src/funnel-milestones.js +2 -48
- package/dist/src/geliefert.js +1 -114
- package/dist/src/handlers/advanced.js +38 -537
- package/dist/src/handlers/brain.js +69 -4397
- package/dist/src/handlers/cache.js +59 -638
- package/dist/src/handlers/context.js +17 -182
- package/dist/src/handlers/fedbrain.js +40 -1436
- package/dist/src/handlers/instances.js +16 -201
- package/dist/src/handlers/roadmap.js +13 -175
- package/dist/src/handlers/share.js +19 -530
- package/dist/src/handlers/syndicate.js +38 -904
- package/dist/src/handlers/team.js +89 -1865
- package/dist/src/handlers/viz.js +3 -148
- package/dist/src/index.js +321 -4281
- package/dist/src/interferenz.js +1 -141
- package/dist/src/kostprobe.js +7 -125
- package/dist/src/lesson-preview.js +2 -133
- package/dist/src/namespace.js +1 -128
- package/dist/src/notifier.js +1 -6
- package/dist/src/rangfolge-stellschrauben.js +1 -0
- package/dist/src/rangfolge.js +1 -249
- package/dist/src/raumkorrektur.js +1 -197
- package/dist/src/recall-tiefe.js +1 -42
- package/dist/src/rerank.js +1 -154
- package/dist/src/resonanz.js +1 -140
- package/dist/src/search.js +1 -2104
- package/dist/src/seltenheitsbestand.js +1 -92
- package/dist/src/speicherlage.js +1 -84
- package/dist/src/spuren.js +1 -150
- package/dist/src/starter-corpus.js +1 -165
- package/dist/src/telemetry-types.js +0 -13
- package/dist/src/tools.js +10 -2465
- package/dist/src/toolspecs.js +1 -121
- package/dist/src/upgrade-nudge.js +1 -29
- package/dist/src/utils.js +1 -89
- package/dist/src/versuch.js +1 -264
- package/dist/src/vorspann.js +1 -146
- package/dist/src/wartung/vektoren-verdichten.js +1 -200
- package/dist/src/werkzeug-nutzung.js +1 -72
- package/dist/src/wertbeitrag.js +1 -203
- package/dist/src/wirkungsspur.js +1 -0
- package/glama.json +1 -1
- package/package.json +8 -7
- package/server.json +3 -3
- package/dist/index.d.ts +0 -1
- package/dist/index.js.map +0 -1
- package/dist/packages/telegram-notify/client.d.ts +0 -19
- package/dist/packages/telegram-notify/client.js.map +0 -1
- package/dist/src/ambient-cli.d.ts +0 -101
- package/dist/src/ambient-cli.js.map +0 -1
- package/dist/src/ambient-deps.d.ts +0 -26
- package/dist/src/ambient-deps.js.map +0 -1
- package/dist/src/ambient-hooks.d.ts +0 -137
- package/dist/src/ambient-hooks.js.map +0 -1
- package/dist/src/ambient-ledger.d.ts +0 -19
- package/dist/src/ambient-ledger.js.map +0 -1
- package/dist/src/ambient-memory.d.ts +0 -12
- package/dist/src/ambient-memory.js.map +0 -1
- package/dist/src/ambient-recall.d.ts +0 -127
- package/dist/src/ambient-recall.js.map +0 -1
- package/dist/src/aussetzer.d.ts +0 -156
- package/dist/src/aussetzer.js.map +0 -1
- package/dist/src/auth.d.ts +0 -43
- package/dist/src/auth.js.map +0 -1
- package/dist/src/autor-abzeichen.d.ts +0 -41
- package/dist/src/autor-abzeichen.js.map +0 -1
- package/dist/src/autor.d.ts +0 -101
- package/dist/src/autor.js.map +0 -1
- package/dist/src/bauabdruck-daten.generiert.json +0 -5
- package/dist/src/bauabdruck.d.ts +0 -38
- package/dist/src/bauabdruck.js.map +0 -1
- package/dist/src/bedeutung.d.ts +0 -168
- package/dist/src/bedeutung.js.map +0 -1
- package/dist/src/bench/cachly-bench.d.ts +0 -61
- package/dist/src/bench/cachly-bench.js.map +0 -1
- package/dist/src/bench/external-corpus.d.ts +0 -44
- package/dist/src/bench/external-corpus.js.map +0 -1
- package/dist/src/bench/fixtures.d.ts +0 -37
- package/dist/src/bench/fixtures.js.map +0 -1
- package/dist/src/brain-export.d.ts +0 -64
- package/dist/src/brain-export.js.map +0 -1
- package/dist/src/brain-watch-hook.d.ts +0 -21
- package/dist/src/brain-watch-hook.js.map +0 -1
- package/dist/src/cachly-url.d.ts +0 -68
- package/dist/src/cachly-url.js.map +0 -1
- package/dist/src/ckg.d.ts +0 -54
- package/dist/src/ckg.js.map +0 -1
- package/dist/src/cls-hook.d.ts +0 -15
- package/dist/src/cls-hook.js.map +0 -1
- package/dist/src/confidence.d.ts +0 -19
- package/dist/src/confidence.js.map +0 -1
- package/dist/src/credentials.d.ts +0 -37
- package/dist/src/credentials.js.map +0 -1
- package/dist/src/deutsch.d.ts +0 -98
- package/dist/src/deutsch.js.map +0 -1
- package/dist/src/doctor.d.ts +0 -47
- package/dist/src/doctor.js.map +0 -1
- package/dist/src/editor.d.ts +0 -9
- package/dist/src/editor.js.map +0 -1
- package/dist/src/eingaenge-nachruesten.d.ts +0 -41
- package/dist/src/eingaenge-nachruesten.js.map +0 -1
- package/dist/src/eingaenge.d.ts +0 -159
- package/dist/src/eingaenge.js.map +0 -1
- package/dist/src/embeddings.d.ts +0 -48
- package/dist/src/embeddings.js.map +0 -1
- package/dist/src/feldreparatur.d.ts +0 -58
- package/dist/src/feldreparatur.js.map +0 -1
- package/dist/src/first-contact.d.ts +0 -56
- package/dist/src/first-contact.js.map +0 -1
- package/dist/src/first-recall-proof.d.ts +0 -19
- package/dist/src/first-recall-proof.js.map +0 -1
- package/dist/src/funnel-milestones.d.ts +0 -5
- package/dist/src/funnel-milestones.js.map +0 -1
- package/dist/src/geliefert.d.ts +0 -63
- package/dist/src/geliefert.js.map +0 -1
- package/dist/src/handlers/advanced.d.ts +0 -6
- package/dist/src/handlers/advanced.js.map +0 -1
- package/dist/src/handlers/brain.d.ts +0 -41
- package/dist/src/handlers/brain.js.map +0 -1
- package/dist/src/handlers/cache.d.ts +0 -6
- package/dist/src/handlers/cache.js.map +0 -1
- package/dist/src/handlers/context.d.ts +0 -6
- package/dist/src/handlers/context.js.map +0 -1
- package/dist/src/handlers/fedbrain.d.ts +0 -18
- package/dist/src/handlers/fedbrain.js.map +0 -1
- package/dist/src/handlers/instances.d.ts +0 -33
- package/dist/src/handlers/instances.js.map +0 -1
- package/dist/src/handlers/roadmap.d.ts +0 -6
- package/dist/src/handlers/roadmap.js.map +0 -1
- package/dist/src/handlers/share.d.ts +0 -8
- package/dist/src/handlers/share.js.map +0 -1
- package/dist/src/handlers/syndicate.d.ts +0 -6
- package/dist/src/handlers/syndicate.js.map +0 -1
- package/dist/src/handlers/team.d.ts +0 -45
- package/dist/src/handlers/team.js.map +0 -1
- package/dist/src/handlers/viz.d.ts +0 -6
- package/dist/src/handlers/viz.js.map +0 -1
- package/dist/src/index.d.ts +0 -93
- package/dist/src/index.js.map +0 -1
- package/dist/src/interferenz.d.ts +0 -111
- package/dist/src/interferenz.js.map +0 -1
- package/dist/src/kostprobe.d.ts +0 -25
- package/dist/src/kostprobe.js.map +0 -1
- package/dist/src/lesson-preview.d.ts +0 -81
- package/dist/src/lesson-preview.js.map +0 -1
- package/dist/src/namespace.d.ts +0 -20
- package/dist/src/namespace.js.map +0 -1
- package/dist/src/notifier.d.ts +0 -5
- package/dist/src/notifier.js.map +0 -1
- package/dist/src/rangfolge.d.ts +0 -205
- package/dist/src/rangfolge.js.map +0 -1
- package/dist/src/raumkorrektur.d.ts +0 -100
- package/dist/src/raumkorrektur.js.map +0 -1
- package/dist/src/recall-tiefe.d.ts +0 -48
- package/dist/src/recall-tiefe.js.map +0 -1
- package/dist/src/rerank.d.ts +0 -48
- package/dist/src/rerank.js.map +0 -1
- package/dist/src/resonanz.d.ts +0 -85
- package/dist/src/resonanz.js.map +0 -1
- package/dist/src/search.d.ts +0 -153
- package/dist/src/search.js.map +0 -1
- package/dist/src/seltenheitsbestand.d.ts +0 -53
- package/dist/src/seltenheitsbestand.js.map +0 -1
- package/dist/src/speicherlage.d.ts +0 -51
- package/dist/src/speicherlage.js.map +0 -1
- package/dist/src/spuren.d.ts +0 -97
- package/dist/src/spuren.js.map +0 -1
- package/dist/src/starter-corpus.d.ts +0 -28
- package/dist/src/starter-corpus.js.map +0 -1
- package/dist/src/telemetry-types.d.ts +0 -87
- package/dist/src/telemetry-types.js.map +0 -1
- package/dist/src/tools.d.ts +0 -2933
- package/dist/src/tools.js.map +0 -1
- package/dist/src/toolspecs.d.ts +0 -43
- package/dist/src/toolspecs.js.map +0 -1
- package/dist/src/upgrade-nudge.d.ts +0 -15
- package/dist/src/upgrade-nudge.js.map +0 -1
- package/dist/src/utils.d.ts +0 -34
- package/dist/src/utils.js.map +0 -1
- package/dist/src/versuch.d.ts +0 -187
- package/dist/src/versuch.js.map +0 -1
- package/dist/src/vorspann.d.ts +0 -73
- package/dist/src/vorspann.js.map +0 -1
- package/dist/src/wartung/vektoren-verdichten.d.ts +0 -50
- package/dist/src/wartung/vektoren-verdichten.js.map +0 -1
- package/dist/src/werkzeug-nutzung.d.ts +0 -62
- package/dist/src/werkzeug-nutzung.js.map +0 -1
- package/dist/src/wertbeitrag.d.ts +0 -148
- package/dist/src/wertbeitrag.js.map +0 -1
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { type RecallMemory, type LessonCandidate, type GateOptions } from './ambient-recall.js';
|
|
2
|
-
/** The subset of the Claude Code hook payload we care about. */
|
|
3
|
-
export interface HookPayload {
|
|
4
|
-
hook_event_name?: string;
|
|
5
|
-
/** Present on UserPromptSubmit — the text the user just typed. */
|
|
6
|
-
prompt?: string;
|
|
7
|
-
/** Present on SessionStart — 'startup' | 'resume' | 'clear' | 'compact'. */
|
|
8
|
-
source?: string;
|
|
9
|
-
/** Present on PreToolUse — the tool about to run and its input. */
|
|
10
|
-
tool_name?: string;
|
|
11
|
-
tool_input?: {
|
|
12
|
-
file_path?: string;
|
|
13
|
-
[k: string]: unknown;
|
|
14
|
-
};
|
|
15
|
-
/** Present on Stop — what the assistant just said (auto-learn signal). */
|
|
16
|
-
last_assistant_message?: string;
|
|
17
|
-
cwd?: string;
|
|
18
|
-
}
|
|
19
|
-
/** Parse the hook payload from stdin. Never throws — returns null on any problem. */
|
|
20
|
-
export declare function parseHookPayload(raw: string): HookPayload | null;
|
|
21
|
-
/**
|
|
22
|
-
* The query to recall on for a payload, or null when recall should be skipped
|
|
23
|
-
* before any brain call:
|
|
24
|
-
* • UserPromptSubmit → the prompt, unless it is trivial (§6.3 guardrail 2).
|
|
25
|
-
* • SessionStart → a fixed briefing query (there is no user prompt yet);
|
|
26
|
-
* skipped on 'compact'/'clear' resumes where a mid-session briefing is noise.
|
|
27
|
-
* • PreToolUse → a file-scoped query for Edit/Write-class tools only.
|
|
28
|
-
* • Stop → never recalls (it learns instead — see stopObservation).
|
|
29
|
-
*/
|
|
30
|
-
export declare function recallQueryFor(payload: HookPayload): string | null;
|
|
31
|
-
export interface StopObservation {
|
|
32
|
-
action: string;
|
|
33
|
-
outcome: 'success';
|
|
34
|
-
details: string;
|
|
35
|
-
severity: 'minor';
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Derive an auto-learn observation from a Stop payload, or null when the turn
|
|
39
|
-
* carries no clear fix signal. Pure — the caller feeds it to auto_learn_session.
|
|
40
|
-
*/
|
|
41
|
-
export declare function stopObservation(payload: HookPayload): StopObservation | null;
|
|
42
|
-
/** Truncate text to fit an estimated token budget (~4 chars/token), on a word edge. */
|
|
43
|
-
export declare function truncateToTokens(text: string, maxTokens: number): string;
|
|
44
|
-
/**
|
|
45
|
-
* Tiny footer that closes the net-token loop (§6.2): the agent self-reports
|
|
46
|
-
* prevented tokens via `ambient-credit` when a recalled lesson changed its path.
|
|
47
|
-
* Kept to one short line — its own token cost is counted as injected.
|
|
48
|
-
*/
|
|
49
|
-
export declare const CREDIT_FOOTER = "(If this memory just saved you from a wrong path, record it: `npx @cachly-dev/mcp-server@latest ambient-credit <tokens-saved>`)";
|
|
50
|
-
/**
|
|
51
|
-
* Der Beleg: WANN es gelernt wurde und WORAN.
|
|
52
|
-
*
|
|
53
|
-
* Ohne Beleg ist proaktive Erinnerung eine Behauptung — und Behauptungen einer
|
|
54
|
-
* Maschine prueft niemand nach, man glaubt sie oder ignoriert sie. Mit Datum
|
|
55
|
-
* und Datei wird daraus eine nachpruefbare Aussage: "am 24.07., in
|
|
56
|
-
* infra/backup.sh — ging damals schief". Genau das macht den Unterschied
|
|
57
|
-
* zwischen einem Hinweis, dem man folgt, und einem, den man wegklickt.
|
|
58
|
-
*
|
|
59
|
-
* Bewusst kurz gehalten (eine Zeile, hoechstens zwei Dateien): der Beleg wird
|
|
60
|
-
* bei JEDER Erinnerung mitgezahlt und darf das Token-Budget nicht sprengen.
|
|
61
|
-
*/
|
|
62
|
-
export declare function formatProvenance(l: LessonCandidate): string;
|
|
63
|
-
/**
|
|
64
|
-
* Render the gated lessons into a context block for the agent.
|
|
65
|
-
* • A single already-formatted briefing (multi-line summary — what smart_recall
|
|
66
|
-
* returns) is injected verbatim; it carries its own headings.
|
|
67
|
-
* • Multiple short lessons are rendered as a titled bullet list.
|
|
68
|
-
* `withCreditFooter` appends the self-report line (per-prompt events only —
|
|
69
|
-
* a SessionStart briefing is ambience, not a decision-changing recall).
|
|
70
|
-
*/
|
|
71
|
-
export declare function formatContextBlock(lessons: LessonCandidate[], withCreditFooter?: boolean): string;
|
|
72
|
-
/**
|
|
73
|
-
* Build the JSON Claude Code expects from a hook. `additionalContext` is spliced
|
|
74
|
-
* into the model's context for the turn. Empty context → empty string (no output),
|
|
75
|
-
* which Claude Code treats as "hook contributed nothing".
|
|
76
|
-
*/
|
|
77
|
-
export declare function buildHookOutput(event: string, additionalContext: string): string;
|
|
78
|
-
export interface AmbientDeps {
|
|
79
|
-
/** Optionales Trigger-Gedaechtnis (Dedupe + Ruhe-Budget). Fehlt es, bleibt das Verhalten zustandslos. */
|
|
80
|
-
loadMemory?: () => RecallMemory | null | undefined;
|
|
81
|
-
saveMemory?: (m: RecallMemory) => void;
|
|
82
|
-
/** Fetch candidate lessons for a query. Should already be scoped to the brain. */
|
|
83
|
-
recall: (query: string, event: string) => Promise<LessonCandidate[]>;
|
|
84
|
-
/** Overrides for the relevance gate. */
|
|
85
|
-
gate?: Partial<GateOptions>;
|
|
86
|
-
/** Hard latency budget for the whole recall step (ms). Default 3000. */
|
|
87
|
-
timeoutMs?: number;
|
|
88
|
-
/**
|
|
89
|
-
* Auto-backoff probe (§6.3 guardrail 3): return true when the recent ledger
|
|
90
|
-
* window is net-negative — recall is then skipped BEFORE any brain call.
|
|
91
|
-
*/
|
|
92
|
-
backoff?: () => boolean | Promise<boolean>;
|
|
93
|
-
/** Called with the estimated injected tokens whenever context is emitted. */
|
|
94
|
-
onInject?: (tokens: number, event: string) => void;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* The whole ambient-recall CLI flow, as a pure function of (stdin, deps).
|
|
98
|
-
* Returns the string to print on stdout — either the hookSpecificOutput JSON or
|
|
99
|
-
* '' (nothing to inject). Never throws.
|
|
100
|
-
*/
|
|
101
|
-
export declare function runAmbient(raw: string, deps: AmbientDeps): Promise<string>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ambient-cli.js","sourceRoot":"","sources":["../../src/ambient-cli.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,iFAAiF;AACjF,4EAA4E;AAC5E,EAAE;AACF,qCAAqC;AACrC,6EAA6E;AAC7E,uCAAuC;AACvC,kFAAkF;AAClF,mEAAmE;AACnE,gFAAgF;AAChF,gCAAgC;AAEhC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,WAAW,EAEX,eAAe,EACf,gBAAgB,EAChB,cAAc,GAGf,MAAM,qBAAqB,CAAC;AAiB7B,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;QACzC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAgB,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,wEAAwE;AACxE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;AAE3E;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,OAAoB;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,IAAI,kBAAkB,CAAC;IAC5D,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAC5E,OAAO,0FAA0F,CAAC;IACpG,CAAC;IACD,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC;QAC/C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAClE,OAAO,kDAAkD,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IAC7E,CAAC;IACD,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,MAAM,CAAC;AAChB,CAAC;AASD,4EAA4E;AAC5E,8EAA8E;AAC9E,6DAA6D;AAC7D,MAAM,aAAa,GACjB,4KAA4K,CAAC;AAE/K;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,OAAoB;IAClD,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC,CAAC,mCAAmC;IACrE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;IAClF,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC/B,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC1B,QAAQ,EAAE,OAAO;KAClB,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,SAAiB;IAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS;QAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,CAAC,SAAS,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;AACtF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,iIAAiI,CAAC;AAEpI;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAkB;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CACR,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SACzD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA0B,EAAE,gBAAgB,GAAG,KAAK;IACrF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,IAAI,GACR,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;QAC3B,CAAC,CAAC,8DAA8D;YAC9D,OAAO;iBACJ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAClC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,iBAAyB;IACtE,IAAI,CAAC,iBAAiB;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,kBAAkB,EAAE;YAClB,aAAa,EAAE,KAAK;YACpB,iBAAiB;SAClB;KACF,CAAC,CAAC;AACL,CAAC;AAqBD,yEAAyE;AACzE,KAAK,UAAU,WAAW,CAAI,CAAa,EAAE,EAAU,EAAE,QAAW;IAClE,IAAI,KAAgD,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,EAAE;QACrC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,IAAiB;IAC7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,IAAI,kBAAkB,CAAC;IAE5D,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC,CAAC,8DAA8D;IAE7F,4EAA4E;IAC5E,iEAAiE;IACjE,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,EAAE,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,iDAAiD;IACnD,CAAC;IAED,IAAI,UAAU,GAAsB,EAAE,CAAC;IACvC,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,uDAAuD;IACpE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErE,wEAAwE;IACxE,mFAAmF;IACnF,MAAM,SAAS,GAAG,KAAK,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnF,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,MAAM,GAAiB,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,WAAW,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU;QAC9B,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;QACxD,CAAC,CAAC;YACE,GAAG,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;YACrD,IAAI,EAAE,QAAiB;YACvB,oBAAoB,EAAE,EAAc;SACrC,CAAC;IAEN,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,mFAAmF;QACrF,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEhC,sEAAsE;IACtE,MAAM,UAAU,GAAG,KAAK,KAAK,kBAAkB,IAAI,KAAK,KAAK,YAAY,CAAC;IAC1E,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC;IACjF,IAAI,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type AmbientDeps } from './ambient-cli.js';
|
|
2
|
-
import { type RecallMemory } from './ambient-recall.js';
|
|
3
|
-
export interface BuildAmbientDepsOptions {
|
|
4
|
-
/** Brain instance to recall from. Missing/empty → recall is a no-op (never calls `smartRecall`). */
|
|
5
|
-
instanceId?: string;
|
|
6
|
-
/** The raw `smart_recall` call (already scoped to `instanceId` by the caller). */
|
|
7
|
-
smartRecall: (query: string) => Promise<string>;
|
|
8
|
-
/** Optional trigger memory (dedupe + quiet-budget). Stateless when omitted. */
|
|
9
|
-
loadMemory?: () => RecallMemory | null | undefined;
|
|
10
|
-
saveMemory?: (m: RecallMemory) => void;
|
|
11
|
-
/** Auto-backoff probe (§6.3 guardrail 3). */
|
|
12
|
-
backoff?: () => boolean | Promise<boolean>;
|
|
13
|
-
/** Called with the estimated injected tokens whenever context is emitted. */
|
|
14
|
-
onInject?: (tokens: number, event: string) => void;
|
|
15
|
-
/** Hard latency budget for the whole recall step (ms). Default 3000. */
|
|
16
|
-
timeoutMs?: number;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Builds the ONE production `AmbientDeps` used by the `ambient-recall` CLI
|
|
20
|
-
* entrypoint. This is the exact mapping that used to be inlined at the call
|
|
21
|
-
* site: a miss-detection heuristic, a token-truncated summary, and a
|
|
22
|
-
* content-derived candidate id — wrapped around whatever `smartRecall`
|
|
23
|
-
* implementation the caller passes in (production: `handleTool('smart_recall', ...)`;
|
|
24
|
-
* tests: a stub).
|
|
25
|
-
*/
|
|
26
|
-
export declare function buildAmbientDeps(opts: BuildAmbientDepsOptions): AmbientDeps;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ambient-deps.js","sourceRoot":"","sources":["../../src/ambient-deps.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,sEAAsE;AACtE,yEAAyE;AACzE,8EAA8E;AAC9E,2EAA2E;AAC3E,kEAAkE;AAClE,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,yEAAyE;AACzE,kBAAkB;AAElB,OAAO,EAAE,gBAAgB,EAAoB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAqB,MAAM,qBAAqB,CAAC;AAExE,kGAAkG;AAClG,MAAM,aAAa,GAAG,+CAA+C,CAAC;AAEtE,kFAAkF;AAClF,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,iFAAiF;AACjF,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAkB9B;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC5D,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC/F,OAAO;QACL,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,2DAA2D;QACzF,wEAAwE;QACxE,0EAA0E;QAC1E,6EAA6E;QAC7E,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE;QAC/C,UAAU;QACV,UAAU;QACV,OAAO;QACP,QAAQ;QACR,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,IAAI,CAAC,UAAU;gBAAE,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,gBAAgB,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAC1D,OAAO,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bumped whenever a hook script changes so installers can upgrade old hooks.
|
|
3
|
-
* v3: hooks became Node scripts (.mjs) invoked as `node "<path>"` — the
|
|
4
|
-
* cross-platform shape from the Claude Code hooks guide. The v1/v2 POSIX shell
|
|
5
|
-
* scripts silently never ran on native Windows (no /bin/sh); Node is already a
|
|
6
|
-
* hard requirement of this package, so the hook now runs identically on
|
|
7
|
-
* Windows, macOS and Linux.
|
|
8
|
-
* v4 (GROW-015): the script no longer embeds the caller's key as a string
|
|
9
|
-
* literal. It resolves CACHLY_JWT at run time from the environment instead,
|
|
10
|
-
* so a `.claude/hooks/` script that gets committed to a repo never leaks a
|
|
11
|
-
* secret. Bumping the version replaces old v1-v3 scripts (which DID embed
|
|
12
|
-
* the key) the next time setup/autopilot runs.
|
|
13
|
-
*/
|
|
14
|
-
export declare const AMBIENT_HOOK_VERSION = "v4";
|
|
15
|
-
/**
|
|
16
|
-
* The CLI subcommand the hooks pipe their payload to. It reads the hook JSON on
|
|
17
|
-
* stdin, runs smart_recall through the relevance gate (ambient-recall.ts), and
|
|
18
|
-
* prints the `hookSpecificOutput` JSON Claude Code injects as additionalContext.
|
|
19
|
-
* The CLI self-limits its latency budget (§6.3 guardrail 4). See ambient-cli.ts.
|
|
20
|
-
*/
|
|
21
|
-
export declare const AMBIENT_CLI_SUBCOMMAND = "ambient-recall";
|
|
22
|
-
export type AmbientHookEvent = 'SessionStart' | 'UserPromptSubmit' | 'PreToolUse' | 'Stop';
|
|
23
|
-
export interface AmbientHookOptions {
|
|
24
|
-
instanceId: string;
|
|
25
|
-
/**
|
|
26
|
-
* Accepted for backward compatibility but never embedded in the generated
|
|
27
|
-
* script (GROW-015): the hook resolves its key at run time from
|
|
28
|
-
* CACHLY_JWT/CACHLY_API_KEY in the environment instead.
|
|
29
|
-
*/
|
|
30
|
-
apiKey?: string;
|
|
31
|
-
/**
|
|
32
|
-
* Command that resolves the ambient-recall CLI. Defaults to the published
|
|
33
|
-
* package via npx; an installer SHOULD pass a resolved local binary to avoid
|
|
34
|
-
* npx resolution latency on every prompt (UserPromptSubmit runs per-turn).
|
|
35
|
-
*/
|
|
36
|
-
cliCommand?: string;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* SessionStart hook: emits the session briefing as additionalContext at the
|
|
40
|
-
* start of every session — the automatic replacement for "the agent should call
|
|
41
|
-
* session_start".
|
|
42
|
-
*/
|
|
43
|
-
export declare function buildSessionStartHook(opts: AmbientHookOptions): string;
|
|
44
|
-
/**
|
|
45
|
-
* UserPromptSubmit hook — the core of Ambient Recall. Runs before every user
|
|
46
|
-
* message, recalls on the prompt through the relevance gate, and pushes gated
|
|
47
|
-
* hits into context. This is the most-forgotten call, made automatic.
|
|
48
|
-
*/
|
|
49
|
-
export declare function buildUserPromptSubmitHook(opts: AmbientHookOptions): string;
|
|
50
|
-
/**
|
|
51
|
-
* PreToolUse hook (Ausbau) — file-open briefing. Fires before Edit/Write-class
|
|
52
|
-
* tools (settings matcher `Edit|Write|MultiEdit`); the CLI recalls file-scoped
|
|
53
|
-
* lessons and injects them as additionalContext — the automatic "prüf mal, ob's
|
|
54
|
-
* zu dieser Datei Lessons gibt" (roadmap §6.1).
|
|
55
|
-
*/
|
|
56
|
-
export declare function buildPreToolUseHook(opts: AmbientHookOptions): string;
|
|
57
|
-
/**
|
|
58
|
-
* Stop hook (Ausbau) — auto-learn. After a turn whose final message carries a
|
|
59
|
-
* clear fix signal, the CLI feeds one observation to auto_learn_session — the
|
|
60
|
-
* automatic replacement for the forgotten `learn_from_attempts` call.
|
|
61
|
-
*/
|
|
62
|
-
export declare function buildStopHook(opts: AmbientHookOptions): string;
|
|
63
|
-
export interface AmbientHookPaths {
|
|
64
|
-
sessionStart: string;
|
|
65
|
-
userPromptSubmit: string;
|
|
66
|
-
/** Ausbau hooks — optional so MVP-era (v1) callers keep working. */
|
|
67
|
-
preToolUse?: string;
|
|
68
|
-
stop?: string;
|
|
69
|
-
}
|
|
70
|
-
export interface HookCommand {
|
|
71
|
-
type: 'command';
|
|
72
|
-
command: string;
|
|
73
|
-
/** Per-hook timeout in seconds (Claude Code hooks config). */
|
|
74
|
-
timeout?: number;
|
|
75
|
-
}
|
|
76
|
-
export interface HookMatcherGroup {
|
|
77
|
-
/** Tool matcher — only meaningful for PreToolUse/PostToolUse. */
|
|
78
|
-
matcher?: string;
|
|
79
|
-
hooks: HookCommand[];
|
|
80
|
-
}
|
|
81
|
-
/** Matcher for the PreToolUse briefing: only file-mutating tools. */
|
|
82
|
-
export declare const PRE_TOOL_USE_MATCHER = "Edit|Write|MultiEdit|NotebookEdit";
|
|
83
|
-
/**
|
|
84
|
-
* Build the `.claude/settings.json` `hooks` fragment that wires the scripts.
|
|
85
|
-
* The caller merges this into the user's existing settings (never overwrites).
|
|
86
|
-
* Shape matches Claude Code's hooks config: an array of matcher groups, each
|
|
87
|
-
* with a list of `{ type: "command", command, timeout }` entries.
|
|
88
|
-
*/
|
|
89
|
-
export declare function buildAmbientSettingsHooks(paths: AmbientHookPaths): Record<string, HookMatcherGroup[]>;
|
|
90
|
-
export interface AmbientInstallResult {
|
|
91
|
-
sessionStartPath: string;
|
|
92
|
-
promptSubmitPath: string;
|
|
93
|
-
preToolUsePath: string;
|
|
94
|
-
stopPath: string;
|
|
95
|
-
scripts: 'written' | 'upgraded' | 'unchanged';
|
|
96
|
-
settings: 'written' | 'merged' | 'unchanged';
|
|
97
|
-
}
|
|
98
|
-
interface HookCommandEntry {
|
|
99
|
-
matcher?: string;
|
|
100
|
-
hooks?: Array<{
|
|
101
|
-
type?: string;
|
|
102
|
-
command?: string;
|
|
103
|
-
timeout?: number;
|
|
104
|
-
}>;
|
|
105
|
-
}
|
|
106
|
-
interface ClaudeSettings {
|
|
107
|
-
hooks?: Record<string, HookCommandEntry[]>;
|
|
108
|
-
[k: string]: unknown;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Merge our hook entries into an existing settings object without disturbing
|
|
112
|
-
* anything else. Idempotent AND upgrade-safe: existing cachly-ambient groups
|
|
113
|
-
* (from any prior version/paths) are replaced by the current fragment rather
|
|
114
|
-
* than accumulated; foreign groups are always preserved. Pure — unit-tested.
|
|
115
|
-
*/
|
|
116
|
-
export declare function mergeAmbientSettings(existing: ClaudeSettings, paths: AmbientHookPaths): {
|
|
117
|
-
settings: ClaudeSettings;
|
|
118
|
-
changed: boolean;
|
|
119
|
-
};
|
|
120
|
-
export interface AmbientInstallOptions {
|
|
121
|
-
/**
|
|
122
|
-
* Write `"$CLAUDE_PROJECT_DIR"/.claude/hooks/…` commands into settings.json
|
|
123
|
-
* instead of absolute paths. Use for hooks that are COMMITTED to a repo
|
|
124
|
-
* (dogfooding/team setups): the settings stay valid on every checkout
|
|
125
|
-
* location. Claude Code sets $CLAUDE_PROJECT_DIR when running hooks.
|
|
126
|
-
* NOTE: never pass an apiKey together with portable — committed scripts
|
|
127
|
-
* must not embed credentials; the CLI falls back to the env's CACHLY_JWT.
|
|
128
|
-
*/
|
|
129
|
-
portable?: boolean;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Install/upgrade the Ambient Recall hooks in `projectDir`. Best-effort:
|
|
133
|
-
* a filesystem error surfaces as a thrown error only for the top-level caller,
|
|
134
|
-
* which wraps it in try/catch (the git-hook feature is non-critical).
|
|
135
|
-
*/
|
|
136
|
-
export declare function installAmbientHooks(projectDir: string, instanceId: string, apiKey?: string, options?: AmbientInstallOptions): Promise<AmbientInstallResult>;
|
|
137
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ambient-hooks.js","sourceRoot":"","sources":["../../src/ambient-hooks.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,mEAAmE;AACnE,2EAA2E;AAC3E,yEAAyE;AACzE,4EAA4E;AAC5E,oCAAoC;AACpC,EAAE;AACF,8BAA8B;AAC9B,uDAAuD;AACvD,2EAA2E;AAC3E,6EAA6E;AAC7E,oCAAoC;AACpC,8DAA8D;AAC9D,gFAAgF;AAChF,+EAA+E;AAC/E,0BAA0B;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAoBvD,MAAM,WAAW,GAAG,qCAAqC,sBAAsB,EAAE,CAAC;AAElF,6EAA6E;AAC7E,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,KAAuB,EAAE,IAAwB;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC;IAC3C,OAAO;QACL,qBAAqB;QACrB,8BAA8B,KAAK,IAAI,oBAAoB,EAAE;QAC7D,gFAAgF;QAChF,8EAA8E;QAC9E,6EAA6E;QAC7E,6CAA6C;QAC7C,2CAA2C,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;QACxE,yEAAyE;QACzE,yEAAyE;QACzE,kEAAkE;QAClE,kDAAkD;QAClD,iHAAiH;QACjH,oCAAoC,QAAQ,CAAC,KAAK,CAAC,IAAI;QACvD,OAAO;QACP,0EAA0E;QAC1E,0EAA0E;QAC1E,sEAAsE;QACtE,uEAAuE;QACvE,gEAAgE;QAChE,0BAA0B,QAAQ,CAAC,GAAG,CAAC,+DAA+D;QACtG,6CAA6C;QAC7C,6CAA6C;QAC7C,WAAW;QACX,oBAAoB;QACpB,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAwB;IAC5D,OAAO,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAwB;IAChE,OAAO,SAAS,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IAC1D,OAAO,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAwB;IACpD,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAsBD,+EAA+E;AAC/E,4EAA4E;AAC5E,MAAM,cAAc,GAA2B;IAC7C,YAAY,EAAE,EAAE;IAChB,gBAAgB,EAAE,EAAE;IACpB,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,EAAE,EAAE,+DAA+D;CAC1E,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,mCAAmC,CAAC;AAExE;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAuB;IAC/D,0EAA0E;IAC1E,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,KAAK,GAAG,CAAC,KAAuB,EAAE,UAAkB,EAAE,OAAgB,EAAoB,EAAE,CAAC,CAAC;QAClG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,UAAU,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;KAC9F,CAAC,CAAC;IACH,MAAM,IAAI,GAAuC;QAC/C,YAAY,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACzD,gBAAgB,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACtE,CAAC;IACF,IAAI,KAAK,CAAC,UAAU;QAAE,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACtG,IAAI,KAAK,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,4EAA4E;AAC5E,yEAAyE;AACzE,0EAA0E;AAC1E,qEAAqE;AACrE,2EAA2E;AAC3E,6BAA6B;AAC7B,sDAAsD;AAEtD,MAAM,QAAQ,GAAG,eAAe,CAAC;AACjC,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAC9C,mFAAmF;AACnF,MAAM,YAAY,GAAqC;IACrD,YAAY,EAAE,kCAAkC;IAChD,gBAAgB,EAAE,kCAAkC;IACpD,UAAU,EAAE,6BAA6B;IACzC,IAAI,EAAE,yBAAyB;CAChC,CAAC;AACF,MAAM,qBAAqB,GAAG,+BAA+B,CAAC;AAoB9D,sEAAsE;AACtE,SAAS,cAAc,CAAC,CAAmB,EAAE,YAAyB;IACpE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;IAC5B,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAChB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;YAC5B,0EAA0E;YAC1E,oEAAoE;YACpE,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACnC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;gBACrB,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CACtD,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAwB,EACxB,KAAuB;IAEvB,MAAM,IAAI,GAAmB,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;IACnF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC;IAC1B,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAC/E,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CACxB,CACF,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CACtE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CACxC,CAAC;QACF,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC;AAcD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,UAAkB,EAClB,MAAe,EACf,UAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAuB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACxD,MAAM,MAAM,GAAuB,CAAC,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAqC;QAClD,YAAY,EAAE,qBAAqB,CAAC,IAAI,CAAC;QACzC,gBAAgB,EAAE,yBAAyB,CAAC,IAAI,CAAC;QACjD,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAC;QACrC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;KAC1B,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,CAAmB,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3E,MAAM,MAAM,GAAG,KAAK,EAAE,CAAS,EAAmB,EAAE;QAClD,IAAI,CAAC;YAAC,OAAO,MAAM,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;IACjE,CAAC,CAAC;IAEF,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,IAAI;YAAE,WAAW,GAAG,IAAI,CAAC;QAC7B,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;YAAE,UAAU,GAAG,KAAK,CAAC;IACvD,CAAC;IACD,MAAM,OAAO,GAAoC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjH,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,gBAAgB,GAAmB,EAAE,CAAC;IAC1C,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC;YAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAmB,CAAC;QAAC,CAAC;QAC/F,MAAM,CAAC;YAAC,gBAAgB,GAAG,EAAE,CAAC;QAAC,CAAC,CAAC,2EAA2E;IAC9G,CAAC;IACD,2EAA2E;IAC3E,6EAA6E;IAC7E,mEAAmE;IACnE,4EAA4E;IAC5E,sCAAsC;IACtC,MAAM,UAAU,GAAG,CAAC,CAAmB,EAAE,EAAE,CACzC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAuB,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,CAAC,gBAAgB,EAAE;QACnE,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC;QACxC,gBAAgB,EAAE,UAAU,CAAC,kBAAkB,CAAC;QAChD,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC;QACpC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,IAAI,cAAgD,CAAC;IACrD,IAAI,CAAC,eAAe;QAAE,cAAc,GAAG,SAAS,CAAC;SAC5C,IAAI,CAAC,OAAO;QAAE,cAAc,GAAG,WAAW,CAAC;;QAC3C,cAAc,GAAG,QAAQ,CAAC;IAC/B,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC;QACzC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,CAAC;QAC7C,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC;QACrC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;QACzB,OAAO;QACP,QAAQ,EAAE,cAAc;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { TurnRecord } from './ambient-recall.js';
|
|
2
|
-
export interface LedgerEntry extends TurnRecord {
|
|
3
|
-
/** ISO timestamp of the turn. */
|
|
4
|
-
ts: string;
|
|
5
|
-
/** Hook event (SessionStart/UserPromptSubmit/PreToolUse) or 'credit'. */
|
|
6
|
-
event: string;
|
|
7
|
-
/** Optional free-text note (e.g. what the credit was for). */
|
|
8
|
-
note?: string;
|
|
9
|
-
}
|
|
10
|
-
/** Default ledger location; overridable for tests via explicit path args. */
|
|
11
|
-
export declare function defaultLedgerPath(): string;
|
|
12
|
-
/** One JSONL line for an entry. Pure. */
|
|
13
|
-
export declare function serializeEntry(e: LedgerEntry): string;
|
|
14
|
-
/** Parse ledger text into entries, silently skipping corrupt lines. Pure. */
|
|
15
|
-
export declare function parseLedger(text: string): LedgerEntry[];
|
|
16
|
-
/** Append an entry; auto-creates the directory, auto-rotates. Never throws. */
|
|
17
|
-
export declare function appendLedgerEntry(entry: LedgerEntry, path?: string): Promise<void>;
|
|
18
|
-
/** Read all entries; missing/corrupt file → []. Never throws. */
|
|
19
|
-
export declare function readLedger(path?: string): Promise<LedgerEntry[]>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ambient-ledger.js","sourceRoot":"","sources":["../../src/ambient-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type RecallMemory } from './ambient-recall.js';
|
|
2
|
-
/**
|
|
3
|
-
* Loads the persisted {@link RecallMemory} from `<dir>/ambient-memory.json`.
|
|
4
|
-
* Falls back to {@link emptyMemory} when the file is missing, corrupt, larger
|
|
5
|
-
* than 64KB, or structurally invalid. Never throws.
|
|
6
|
-
*/
|
|
7
|
-
export declare function loadAmbientMemory(dir?: string): RecallMemory;
|
|
8
|
-
/**
|
|
9
|
-
* Persists `memory` to `<dir>/ambient-memory.json` via write-then-rename so a
|
|
10
|
-
* crash mid-write never corrupts the file for the next read. Never throws.
|
|
11
|
-
*/
|
|
12
|
-
export declare function saveAmbientMemory(memory: RecallMemory, dir?: string): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ambient-memory.js","sourceRoot":"","sources":["../../src/ambient-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
export interface LessonCandidate {
|
|
2
|
-
id: string;
|
|
3
|
-
/** The text that would be injected into context. */
|
|
4
|
-
summary: string;
|
|
5
|
-
/** Brain confidence in the lesson, [0,1]. */
|
|
6
|
-
confidence: number;
|
|
7
|
-
/** Semantic similarity of the lesson to the current prompt, [0,1]. */
|
|
8
|
-
score: number;
|
|
9
|
-
severity?: 'critical' | 'major' | 'minor';
|
|
10
|
-
/** Wann die Lektion gelernt wurde (ISO) — Grundlage des Belegs. */
|
|
11
|
-
learnedAt?: string;
|
|
12
|
-
/** Dateien, an denen sie entstand — der konkreteste Beleg. */
|
|
13
|
-
files?: string[];
|
|
14
|
-
/** Wie es damals ausging. */
|
|
15
|
-
outcome?: "success" | "failure" | "partial";
|
|
16
|
-
}
|
|
17
|
-
export interface GateOptions {
|
|
18
|
-
/** Minimum brain confidence to be eligible. */
|
|
19
|
-
minConfidence: number;
|
|
20
|
-
/** Minimum semantic similarity to the prompt. */
|
|
21
|
-
minScore: number;
|
|
22
|
-
/** Hard cap on how many lessons may be injected in one turn. */
|
|
23
|
-
topK: number;
|
|
24
|
-
/** Hard per-turn injection budget, in estimated tokens. */
|
|
25
|
-
maxTokens: number;
|
|
26
|
-
}
|
|
27
|
-
export declare const DEFAULT_GATE: GateOptions;
|
|
28
|
-
/**
|
|
29
|
-
* Derives a content-based candidate ID from a summary string. Enables
|
|
30
|
-
* ID-based deduplication to suppress "the same advice" while allowing
|
|
31
|
-
* "different advice" through. See PR #241.
|
|
32
|
-
*/
|
|
33
|
-
export declare function candidateIdFor(summary: string): string;
|
|
34
|
-
/** Rough token estimate (~4 chars/token) — good enough for a per-turn budget. */
|
|
35
|
-
export declare function estimateTokens(text: string): number;
|
|
36
|
-
/**
|
|
37
|
-
* A trivial prompt has ~zero expected wrong-path savings (§6.3 guardrail 2):
|
|
38
|
-
* too short to carry risk, a pure greeting, or chit-chat with no code signal.
|
|
39
|
-
* Injecting there is pure waste, so we skip recall entirely.
|
|
40
|
-
*/
|
|
41
|
-
export declare function isTrivialPrompt(prompt: string): boolean;
|
|
42
|
-
export type GateReason = 'trivial-skip' | 'no-candidate-passed-gate' | 'injected';
|
|
43
|
-
export interface GateDecision {
|
|
44
|
-
inject: boolean;
|
|
45
|
-
reason: GateReason;
|
|
46
|
-
selected: LessonCandidate[];
|
|
47
|
-
/** Estimated tokens the selection would inject (0 when nothing is injected). */
|
|
48
|
-
tokens: number;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* The §6.3 relevance gate: decide what (if anything) to push into context for a
|
|
52
|
-
* given prompt. Applies trivial-skip, a confidence AND semantic-score floor,
|
|
53
|
-
* a top-K cap, and a hard per-turn token budget — strongest candidates first.
|
|
54
|
-
*/
|
|
55
|
-
export declare function selectInjectable(prompt: string, candidates: LessonCandidate[], opts?: Partial<GateOptions>): GateDecision;
|
|
56
|
-
export interface TurnRecord {
|
|
57
|
-
injected: number;
|
|
58
|
-
prevented: number;
|
|
59
|
-
}
|
|
60
|
-
export interface NetBalance {
|
|
61
|
-
injected: number;
|
|
62
|
-
prevented: number;
|
|
63
|
-
net: number;
|
|
64
|
-
}
|
|
65
|
-
export declare function netBalance(records: TurnRecord[]): NetBalance;
|
|
66
|
-
/**
|
|
67
|
-
* Auto-backoff (§6.3 guardrail 3): if, over the recent window, Ambient Recall is
|
|
68
|
-
* net-negative, tell the caller to tighten the gate (or pause). Only fires once
|
|
69
|
-
* there is enough signal (>= minTurns) so early noise doesn't trip it.
|
|
70
|
-
*/
|
|
71
|
-
export declare function shouldBackoff(records: TurnRecord[], windowN?: number, minTurns?: number): boolean;
|
|
72
|
-
/** Wie riskant ist der Moment — bestimmt, wie eifrig erinnert werden darf. */
|
|
73
|
-
export type PromptRisk = 'high' | 'normal' | 'low';
|
|
74
|
-
/**
|
|
75
|
-
* Risikoeinschätzung des Auslösemoments. Sie verschiebt die Schwellen, statt
|
|
76
|
-
* eine zweite, konkurrierende Entscheidung zu treffen — eine Stellschraube
|
|
77
|
-
* weniger, und der Gate bleibt die einzige Wahrheit über Relevanz.
|
|
78
|
-
*/
|
|
79
|
-
export declare function promptRisk(prompt: string): PromptRisk;
|
|
80
|
-
/** Schwellen-Anpassung je Risiko (klein gehalten und bewusst begründet). */
|
|
81
|
-
export declare function gateForRisk(risk: PromptRisk, base?: GateOptions): GateOptions;
|
|
82
|
-
export interface TimingOptions {
|
|
83
|
-
/** Dieselbe Lektion frühestens nach so vielen Turns erneut. */
|
|
84
|
-
repeatCooldownTurns: number;
|
|
85
|
-
/** Höchstzahl Einwürfe im gleitenden Fenster. */
|
|
86
|
-
maxInjectionsPerWindow: number;
|
|
87
|
-
/** Größe des gleitenden Fensters in Turns. */
|
|
88
|
-
windowTurns: number;
|
|
89
|
-
/** Mindestruhe unmittelbar nach einem Einwurf (in Turns). */
|
|
90
|
-
minSilenceTurns: number;
|
|
91
|
-
}
|
|
92
|
-
export declare const DEFAULT_TIMING: TimingOptions;
|
|
93
|
-
/** Gedächtnis über die letzten Einwürfe — vom Aufrufer gehalten und übergeben. */
|
|
94
|
-
export interface RecallMemory {
|
|
95
|
-
/** Aktueller Turn-Zähler (monoton steigend). */
|
|
96
|
-
turn: number;
|
|
97
|
-
/** Lektions-ID → Turn des letzten Einwurfs. */
|
|
98
|
-
lastInjectedTurn: Record<string, number>;
|
|
99
|
-
/** Turns, in denen etwas eingeworfen wurde (aufsteigend). */
|
|
100
|
-
injectionTurns: number[];
|
|
101
|
-
}
|
|
102
|
-
export declare function emptyMemory(): RecallMemory;
|
|
103
|
-
export type TimingReason = 'quiet-budget' | 'silence-window' | 'all-duplicates';
|
|
104
|
-
export interface RecallDecision extends GateDecision {
|
|
105
|
-
risk: PromptRisk;
|
|
106
|
-
/** Kandidaten, die nur wegen der Abklingzeit entfielen (Diagnose/Telemetrie). */
|
|
107
|
-
suppressedDuplicates: string[];
|
|
108
|
-
timingReason?: TimingReason;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Die vollständige Entscheidung: Relevanz (Gate) UND Zeitpunkt (Timing).
|
|
112
|
-
*
|
|
113
|
-
* Reihenfolge ist Absicht: erst die billigen Ausschlüsse (Ruhe, Budget), dann
|
|
114
|
-
* Dedupe, erst zuletzt der teure Relevanz-Gate — so kostet ein unterdrückter
|
|
115
|
-
* Turn praktisch nichts.
|
|
116
|
-
*
|
|
117
|
-
* Die Funktion ist seiteneffektfrei; `commitInjection` schreibt das Gedächtnis
|
|
118
|
-
* fort, damit Aufrufer selbst entscheiden, ob ein Vorschlag wirklich gezeigt
|
|
119
|
-
* wurde (z. B. bei abgebrochenem Turn).
|
|
120
|
-
*/
|
|
121
|
-
export declare function decideRecall(prompt: string, candidates: LessonCandidate[], memory: RecallMemory, gateOverrides?: Partial<GateOptions>, timingOverrides?: Partial<TimingOptions>): RecallDecision;
|
|
122
|
-
/**
|
|
123
|
-
* Schreibt das Gedächtnis nach einem TATSÄCHLICH gezeigten Einwurf fort.
|
|
124
|
-
* Der Turn-Zähler wird immer erhöht — auch ohne Einwurf, sonst laufen
|
|
125
|
-
* Abklingzeit und Fenster nicht weiter.
|
|
126
|
-
*/
|
|
127
|
-
export declare function commitInjection(memory: RecallMemory, decision: RecallDecision, timingOverrides?: Partial<TimingOptions>): RecallMemory;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ambient-recall.js","sourceRoot":"","sources":["../../src/ambient-recall.ts"],"names":[],"mappings":"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"}
|