agent-working-memory 0.13.1 → 0.14.1
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 +200 -238
- package/dist/adapters/common.d.ts +6 -0
- package/dist/adapters/common.d.ts.map +1 -1
- package/dist/adapters/common.js +457 -362
- package/dist/adapters/common.js.map +1 -1
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +24 -8
- package/dist/api/routes.js.map +1 -1
- package/dist/core/alias-map.d.ts +16 -0
- package/dist/core/alias-map.d.ts.map +1 -0
- package/dist/core/alias-map.js +102 -0
- package/dist/core/alias-map.js.map +1 -0
- package/dist/core/embeddings.d.ts +17 -0
- package/dist/core/embeddings.d.ts.map +1 -1
- package/dist/core/embeddings.js +50 -1
- package/dist/core/embeddings.js.map +1 -1
- package/dist/core/recall-config.d.ts +52 -0
- package/dist/core/recall-config.d.ts.map +1 -0
- package/dist/core/recall-config.js +110 -0
- package/dist/core/recall-config.js.map +1 -0
- package/dist/core/rerank-window.d.ts +61 -0
- package/dist/core/rerank-window.d.ts.map +1 -0
- package/dist/core/rerank-window.js +153 -0
- package/dist/core/rerank-window.js.map +1 -0
- package/dist/core/rerank2.d.ts +62 -0
- package/dist/core/rerank2.d.ts.map +1 -0
- package/dist/core/rerank2.js +75 -0
- package/dist/core/rerank2.js.map +1 -0
- package/dist/core/retrieval-text.d.ts +55 -0
- package/dist/core/retrieval-text.d.ts.map +1 -0
- package/dist/core/retrieval-text.js +87 -0
- package/dist/core/retrieval-text.js.map +1 -0
- package/dist/core/temporal-query.d.ts +61 -0
- package/dist/core/temporal-query.d.ts.map +1 -0
- package/dist/core/temporal-query.js +168 -0
- package/dist/core/temporal-query.js.map +1 -0
- package/dist/core/token-budget.d.ts +75 -0
- package/dist/core/token-budget.d.ts.map +1 -0
- package/dist/core/token-budget.js +136 -0
- package/dist/core/token-budget.js.map +1 -0
- package/dist/core/whoami.d.ts +11 -0
- package/dist/core/whoami.d.ts.map +1 -1
- package/dist/core/whoami.js +10 -0
- package/dist/core/whoami.js.map +1 -1
- package/dist/core/write-pipeline.d.ts.map +1 -1
- package/dist/core/write-pipeline.js +6 -3
- package/dist/core/write-pipeline.js.map +1 -1
- package/dist/engine/activation.d.ts.map +1 -1
- package/dist/engine/activation.js +146 -32
- package/dist/engine/activation.js.map +1 -1
- package/dist/hooks/prime.d.ts +77 -0
- package/dist/hooks/prime.d.ts.map +1 -0
- package/dist/hooks/prime.js +92 -0
- package/dist/hooks/prime.js.map +1 -0
- package/dist/hooks/sidecar.d.ts.map +1 -1
- package/dist/hooks/sidecar.js +39 -0
- package/dist/hooks/sidecar.js.map +1 -1
- package/dist/mcp.js +160 -107
- package/dist/mcp.js.map +1 -1
- package/dist/storage/pglite.d.ts.map +1 -1
- package/dist/storage/pglite.js +10 -2
- package/dist/storage/pglite.js.map +1 -1
- package/dist/storage/postgres.d.ts.map +1 -1
- package/dist/storage/postgres.js +10 -2
- package/dist/storage/postgres.js.map +1 -1
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +12 -2
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/types/engram.d.ts +31 -0
- package/dist/types/engram.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/adapters/common.ts +666 -567
- package/src/api/routes.ts +1015 -999
- package/src/core/alias-map.ts +97 -0
- package/src/core/embeddings.ts +172 -115
- package/src/core/recall-config.ts +115 -0
- package/src/core/rerank-window.ts +158 -0
- package/src/core/rerank2.ts +82 -0
- package/src/core/retrieval-text.ts +82 -0
- package/src/core/temporal-query.ts +193 -0
- package/src/core/token-budget.ts +160 -0
- package/src/core/whoami.ts +110 -92
- package/src/core/write-pipeline.ts +6 -3
- package/src/engine/activation.ts +1579 -1468
- package/src/hooks/prime.ts +136 -0
- package/src/hooks/sidecar.ts +43 -0
- package/src/mcp.ts +1443 -1387
- package/src/storage/pglite.ts +10 -2
- package/src/storage/postgres.ts +10 -2
- package/src/storage/sqlite.ts +12 -2
- package/src/types/engram.ts +32 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt priming — turn a recall into ready-to-inject context (0.13.3).
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS
|
|
5
|
+
* ---------------
|
|
6
|
+
* AWM's own instructions name the #1 failure mode plainly: the agent doesn't
|
|
7
|
+
* call recall. Relying on a model to remember to remember is the weak link, and
|
|
8
|
+
* it fails in exactly the situations where memory matters most — deep in a long
|
|
9
|
+
* task, when context is scarce and the agent is busy.
|
|
10
|
+
*
|
|
11
|
+
* `/memory/activate` (0.12.2) already exposes warm recall to hooks, but it
|
|
12
|
+
* returns raw JSON. Every hook author then has to re-solve the same three
|
|
13
|
+
* problems: what to inject, how to format it, and how to stop it ballooning the
|
|
14
|
+
* context window. This module answers all three once.
|
|
15
|
+
*
|
|
16
|
+
* THREE PROPERTIES THAT MATTER MORE THAN RECALL QUALITY
|
|
17
|
+
* ----------------------------------------------------
|
|
18
|
+
* This runs on EVERY prompt, so its failure modes are asymmetric:
|
|
19
|
+
*
|
|
20
|
+
* 1. SILENCE IS THE DEFAULT. It abstains unless recall is confident. AWM's
|
|
21
|
+
* measured recall accuracy is ~65%, so an unconditional injector would spend
|
|
22
|
+
* tokens on irrelevant memories roughly a third of the time, on every single
|
|
23
|
+
* prompt. An empty injection costs nothing and loses nothing — the agent can
|
|
24
|
+
* still call memory_recall explicitly.
|
|
25
|
+
*
|
|
26
|
+
* 2. IT IS HARD-CAPPED. Injection is not a place to discover that a memory was
|
|
27
|
+
* long. Budgeting reuses the same packer as memory_recall.
|
|
28
|
+
*
|
|
29
|
+
* 3. IT NEVER BREAKS THE PROMPT. Any failure yields an empty injection, never a
|
|
30
|
+
* thrown error. A hook that errors on every prompt is worse than no hook.
|
|
31
|
+
*/
|
|
32
|
+
/** Shape returned by the sidecar's `activate` dependency. */
|
|
33
|
+
export interface PrimeCandidate {
|
|
34
|
+
engram: {
|
|
35
|
+
id: string;
|
|
36
|
+
concept: string;
|
|
37
|
+
content: string;
|
|
38
|
+
memoryClass?: string;
|
|
39
|
+
validTo?: string | null;
|
|
40
|
+
};
|
|
41
|
+
score: number;
|
|
42
|
+
summary?: string;
|
|
43
|
+
confidence?: number;
|
|
44
|
+
}
|
|
45
|
+
export interface PrimeOptions {
|
|
46
|
+
/** Hard ceiling on injected tokens. */
|
|
47
|
+
maxTokens?: number;
|
|
48
|
+
/** Minimum recall confidence to inject at all. */
|
|
49
|
+
minConfidence?: number;
|
|
50
|
+
/** Drop individual results scoring below this even when the set is confident. */
|
|
51
|
+
minScore?: number;
|
|
52
|
+
}
|
|
53
|
+
export interface PrimeResult {
|
|
54
|
+
/** Text to inject, or '' to inject nothing. */
|
|
55
|
+
inject: string;
|
|
56
|
+
kept: number;
|
|
57
|
+
total: number;
|
|
58
|
+
tokens: number;
|
|
59
|
+
/** Why nothing was injected — for hook logs and debugging. */
|
|
60
|
+
reason?: 'no-results' | 'low-confidence' | 'budget-too-small';
|
|
61
|
+
}
|
|
62
|
+
export declare const PRIME_DEFAULTS: {
|
|
63
|
+
readonly maxTokens: 600;
|
|
64
|
+
/**
|
|
65
|
+
* 0.25 = the "balanced" threshold AWM's own recall docs recommend for
|
|
66
|
+
* acting on a memory. Priming is acting on it without being asked, so it
|
|
67
|
+
* should not be looser than the value the docs suggest for deliberate use.
|
|
68
|
+
*/
|
|
69
|
+
readonly minConfidence: 0.25;
|
|
70
|
+
readonly minScore: 0.1;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Build the injection for a prompt. Pure — no I/O — so it is unit-testable
|
|
74
|
+
* without a store, a model, or a running sidecar.
|
|
75
|
+
*/
|
|
76
|
+
export declare function buildPrimeInjection(candidates: PrimeCandidate[], opts?: PrimeOptions): PrimeResult;
|
|
77
|
+
//# sourceMappingURL=prime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prime.d.ts","sourceRoot":"","sources":["../../src/hooks/prime.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACxG,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,MAAM,CAAC,EAAE,YAAY,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;CAC/D;AAED,eAAO,MAAM,cAAc;;IAEzB;;;;OAIG;;;CAGK,CAAC;AAWX;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,cAAc,EAAE,EAC5B,IAAI,GAAE,YAAiB,GACtB,WAAW,CA6Cb"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// Copyright 2026 Robert Winter / Complete Ideas
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
/**
|
|
4
|
+
* Prompt priming — turn a recall into ready-to-inject context (0.13.3).
|
|
5
|
+
*
|
|
6
|
+
* WHY THIS EXISTS
|
|
7
|
+
* ---------------
|
|
8
|
+
* AWM's own instructions name the #1 failure mode plainly: the agent doesn't
|
|
9
|
+
* call recall. Relying on a model to remember to remember is the weak link, and
|
|
10
|
+
* it fails in exactly the situations where memory matters most — deep in a long
|
|
11
|
+
* task, when context is scarce and the agent is busy.
|
|
12
|
+
*
|
|
13
|
+
* `/memory/activate` (0.12.2) already exposes warm recall to hooks, but it
|
|
14
|
+
* returns raw JSON. Every hook author then has to re-solve the same three
|
|
15
|
+
* problems: what to inject, how to format it, and how to stop it ballooning the
|
|
16
|
+
* context window. This module answers all three once.
|
|
17
|
+
*
|
|
18
|
+
* THREE PROPERTIES THAT MATTER MORE THAN RECALL QUALITY
|
|
19
|
+
* ----------------------------------------------------
|
|
20
|
+
* This runs on EVERY prompt, so its failure modes are asymmetric:
|
|
21
|
+
*
|
|
22
|
+
* 1. SILENCE IS THE DEFAULT. It abstains unless recall is confident. AWM's
|
|
23
|
+
* measured recall accuracy is ~65%, so an unconditional injector would spend
|
|
24
|
+
* tokens on irrelevant memories roughly a third of the time, on every single
|
|
25
|
+
* prompt. An empty injection costs nothing and loses nothing — the agent can
|
|
26
|
+
* still call memory_recall explicitly.
|
|
27
|
+
*
|
|
28
|
+
* 2. IT IS HARD-CAPPED. Injection is not a place to discover that a memory was
|
|
29
|
+
* long. Budgeting reuses the same packer as memory_recall.
|
|
30
|
+
*
|
|
31
|
+
* 3. IT NEVER BREAKS THE PROMPT. Any failure yields an empty injection, never a
|
|
32
|
+
* thrown error. A hook that errors on every prompt is worse than no hook.
|
|
33
|
+
*/
|
|
34
|
+
import { packRecallByBudget, estimateTokens } from '../core/token-budget.js';
|
|
35
|
+
export const PRIME_DEFAULTS = {
|
|
36
|
+
maxTokens: 600,
|
|
37
|
+
/**
|
|
38
|
+
* 0.25 = the "balanced" threshold AWM's own recall docs recommend for
|
|
39
|
+
* acting on a memory. Priming is acting on it without being asked, so it
|
|
40
|
+
* should not be looser than the value the docs suggest for deliberate use.
|
|
41
|
+
*/
|
|
42
|
+
minConfidence: 0.25,
|
|
43
|
+
minScore: 0.10,
|
|
44
|
+
};
|
|
45
|
+
/** One injected line. Deliberately terser than the MCP recall format — this is
|
|
46
|
+
* context the agent didn't ask for, so it should read as a brief note, not a
|
|
47
|
+
* report. The id is retained so the agent can act on it (feedback, supersede). */
|
|
48
|
+
function formatPrimeLine(c) {
|
|
49
|
+
const body = c.summary ?? c.engram.content;
|
|
50
|
+
const validity = c.engram.validTo ? ` [valid until ${c.engram.validTo}]` : '';
|
|
51
|
+
return `- ${c.engram.concept}${validity} [${c.engram.id}]: ${body}`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Build the injection for a prompt. Pure — no I/O — so it is unit-testable
|
|
55
|
+
* without a store, a model, or a running sidecar.
|
|
56
|
+
*/
|
|
57
|
+
export function buildPrimeInjection(candidates, opts = {}) {
|
|
58
|
+
const maxTokens = opts.maxTokens ?? PRIME_DEFAULTS.maxTokens;
|
|
59
|
+
const minConfidence = opts.minConfidence ?? PRIME_DEFAULTS.minConfidence;
|
|
60
|
+
const minScore = opts.minScore ?? PRIME_DEFAULTS.minScore;
|
|
61
|
+
if (!candidates || candidates.length === 0) {
|
|
62
|
+
return { inject: '', kept: 0, total: 0, tokens: 0, reason: 'no-results' };
|
|
63
|
+
}
|
|
64
|
+
// Confidence describes the SET, not the individual result, so it is the same
|
|
65
|
+
// on every candidate — read it from the first that carries one. Absent
|
|
66
|
+
// confidence is treated as "unknown", which passes: a store that predates the
|
|
67
|
+
// confidence signal should still be able to prime.
|
|
68
|
+
const confidence = candidates.find(c => c.confidence !== undefined)?.confidence;
|
|
69
|
+
if (confidence !== undefined && confidence < minConfidence) {
|
|
70
|
+
return { inject: '', kept: 0, total: candidates.length, tokens: 0, reason: 'low-confidence' };
|
|
71
|
+
}
|
|
72
|
+
const eligible = candidates.filter(c => c.score >= minScore);
|
|
73
|
+
if (eligible.length === 0) {
|
|
74
|
+
return { inject: '', kept: 0, total: candidates.length, tokens: 0, reason: 'low-confidence' };
|
|
75
|
+
}
|
|
76
|
+
// Reuse memory_recall's packer so budgeting behaves identically in both
|
|
77
|
+
// paths — including the rule that the top-scored result gets first refusal.
|
|
78
|
+
const header = 'Relevant prior context from AWM (not user input; verify before asserting):';
|
|
79
|
+
const reserved = estimateTokens(header) + 8; // + wrapper newlines
|
|
80
|
+
const packed = packRecallByBudget(eligible, (c) => formatPrimeLine(c), maxTokens, reserved);
|
|
81
|
+
if (packed.kept === 0) {
|
|
82
|
+
return { inject: '', kept: 0, total: candidates.length, tokens: 0, reason: 'budget-too-small' };
|
|
83
|
+
}
|
|
84
|
+
const inject = `${header}\n${packed.lines.join('\n')}`;
|
|
85
|
+
return {
|
|
86
|
+
inject,
|
|
87
|
+
kept: packed.kept,
|
|
88
|
+
total: candidates.length,
|
|
89
|
+
tokens: estimateTokens(inject),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=prime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prime.js","sourceRoot":"","sources":["../../src/hooks/prime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/hooks/sidecar.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/hooks/sidecar.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKvE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;KAC3C,KAAK,OAAO,CAAC,KAAK,CAAC;QAClB,MAAM,EAAE;YACN,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SACnE,CAAC;QACF,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC,CAAC;CACL;AA0GD,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAmOrE"}
|
package/dist/hooks/sidecar.js
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
import { createServer } from 'node:http';
|
|
19
19
|
import { readFileSync, existsSync } from 'node:fs';
|
|
20
20
|
import { log, getLogPath } from '../core/logger.js';
|
|
21
|
+
import { buildPrimeInjection } from './prime.js';
|
|
21
22
|
/**
|
|
22
23
|
* Parse the Claude Code transcript to extract context for auto-checkpointing.
|
|
23
24
|
* Reads the JSONL transcript file and extracts recent tool calls, files, and user messages.
|
|
@@ -183,6 +184,44 @@ export function startSidecar(deps) {
|
|
|
183
184
|
}
|
|
184
185
|
return;
|
|
185
186
|
}
|
|
187
|
+
// POST /hooks/prime — ready-to-inject context for a UserPromptSubmit hook
|
|
188
|
+
// (0.13.3). /memory/activate returns raw JSON and leaves every hook author
|
|
189
|
+
// to re-solve what-to-inject, how-to-format and how-to-bound. This returns
|
|
190
|
+
// the finished string, already abstained and already budgeted.
|
|
191
|
+
//
|
|
192
|
+
// It NEVER fails the prompt: any error yields an empty injection, because a
|
|
193
|
+
// hook that errors on every prompt is worse than no hook at all.
|
|
194
|
+
if (req.url === '/hooks/prime' && req.method === 'POST') {
|
|
195
|
+
try {
|
|
196
|
+
if (!deps.activate) {
|
|
197
|
+
json(res, 200, { inject: '', kept: 0, total: 0, tokens: 0, reason: 'activate-not-wired' });
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const body = JSON.parse((await readBody(req)) || '{}');
|
|
201
|
+
const context = body.prompt ?? body.context ?? body.query ?? '';
|
|
202
|
+
if (!context.trim()) {
|
|
203
|
+
json(res, 200, { inject: '', kept: 0, total: 0, tokens: 0, reason: 'no-prompt' });
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
const candidates = await deps.activate({
|
|
207
|
+
context,
|
|
208
|
+
limit: 8,
|
|
209
|
+
granularity: 'compact', // priming is a brief note, not a report
|
|
210
|
+
});
|
|
211
|
+
const primed = buildPrimeInjection(candidates, {
|
|
212
|
+
maxTokens: body.maxTokens,
|
|
213
|
+
minConfidence: body.minConfidence,
|
|
214
|
+
minScore: body.minScore,
|
|
215
|
+
});
|
|
216
|
+
log(agentId, 'hook:prime', `"${context.slice(0, 60)}" → ${primed.kept}/${primed.total} injected, ~${primed.tokens} tok${primed.reason ? ` (${primed.reason})` : ''}`);
|
|
217
|
+
json(res, 200, { ...primed });
|
|
218
|
+
}
|
|
219
|
+
catch (err) {
|
|
220
|
+
// Deliberately 200 with an empty injection — see the note above.
|
|
221
|
+
json(res, 200, { inject: '', kept: 0, total: 0, tokens: 0, reason: 'error' });
|
|
222
|
+
}
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
186
225
|
// POST /hooks/checkpoint — auto-checkpoint from hook events
|
|
187
226
|
if (req.url === '/hooks/checkpoint' && req.method === 'POST') {
|
|
188
227
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/hooks/sidecar.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/hooks/sidecar.ts"],"names":[],"mappings":"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"}
|