@relayplane/proxy 1.9.23 → 1.9.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/anomaly.d.ts +1 -1
- package/dist/anomaly.d.ts.map +1 -1
- package/dist/anomaly.js.map +1 -1
- package/dist/save-recommendation.d.ts +11 -0
- package/dist/save-recommendation.d.ts.map +1 -0
- package/dist/save-recommendation.js +53 -0
- package/dist/save-recommendation.js.map +1 -0
- package/dist/session-tracker.d.ts +10 -0
- package/dist/session-tracker.d.ts.map +1 -1
- package/dist/session-tracker.js +22 -0
- package/dist/session-tracker.js.map +1 -1
- package/package.json +1 -1
package/dist/anomaly.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface AnomalyConfig {
|
|
|
23
23
|
/** Window size in ms for analysis (default: 300000 = 5 min) */
|
|
24
24
|
windowMs: number;
|
|
25
25
|
}
|
|
26
|
-
export type AnomalyType = 'velocity_spike' | 'cost_acceleration' | 'repetition' | 'token_explosion';
|
|
26
|
+
export type AnomalyType = 'velocity_spike' | 'cost_acceleration' | 'repetition' | 'token_explosion' | 'stuck_agent';
|
|
27
27
|
export interface AnomalyResult {
|
|
28
28
|
detected: boolean;
|
|
29
29
|
anomalies: AnomalyDetail[];
|
package/dist/anomaly.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anomaly.d.ts","sourceRoot":"","sources":["../src/anomaly.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"anomaly.d.ts","sourceRoot":"","sources":["../src/anomaly.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GACnB,gBAAgB,GAChB,mBAAmB,GACnB,YAAY,GACZ,iBAAiB,GACjB,aAAa,CAAC;AAElB,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACvC;AAYD,eAAO,MAAM,sBAAsB,EAAE,aAMpC,CAAC;AAIF,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAO;IAGrC,OAAO,CAAC,aAAa,CAAkC;gBAE3C,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAI3C,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAIlD,SAAS,IAAI,aAAa;IAI1B;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,aAAa;IA4BjB,4CAA4C;IAC5C,aAAa,IAAI,MAAM;IAIvB,uBAAuB;IACvB,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,OAAO;IA+Ff,OAAO,CAAC,cAAc;CAQvB;AAMD,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,eAAe,CAKnF;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
package/dist/anomaly.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anomaly.js","sourceRoot":"","sources":["../src/anomaly.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;
|
|
1
|
+
{"version":3,"file":"anomaly.js","sourceRoot":"","sources":["../src/anomaly.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RoutingLogEntry } from './routing-log.js';
|
|
2
|
+
export interface SaveRecommendation {
|
|
3
|
+
opusCount: number;
|
|
4
|
+
avgComplexityScore: number;
|
|
5
|
+
sonnetThresholdScore: number;
|
|
6
|
+
estimatedDailySavings: number;
|
|
7
|
+
windowSize: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function computeSaveRecommendation(entries: RoutingLogEntry[]): SaveRecommendation | null;
|
|
10
|
+
export declare function formatSaveRecommendationTip(rec: SaveRecommendation): string;
|
|
11
|
+
//# sourceMappingURL=save-recommendation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save-recommendation.d.ts","sourceRoot":"","sources":["../src/save-recommendation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAkBD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,EAAE,GACzB,kBAAkB,GAAG,IAAI,CAiC3B;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAO3E"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeSaveRecommendation = computeSaveRecommendation;
|
|
4
|
+
exports.formatSaveRecommendationTip = formatSaveRecommendationTip;
|
|
5
|
+
const WINDOW_SIZE = 20;
|
|
6
|
+
const MIN_ENTRIES = 10;
|
|
7
|
+
const SONNET_THRESHOLD = 0.5;
|
|
8
|
+
// $/token pricing: Opus vs Sonnet
|
|
9
|
+
const OPUS_INPUT_PRICE = 15 / 1_000_000;
|
|
10
|
+
const OPUS_OUTPUT_PRICE = 75 / 1_000_000;
|
|
11
|
+
const SONNET_INPUT_PRICE = 3 / 1_000_000;
|
|
12
|
+
const SONNET_OUTPUT_PRICE = 15 / 1_000_000;
|
|
13
|
+
function complexityToScore(complexity) {
|
|
14
|
+
if (complexity === 'simple')
|
|
15
|
+
return 0.2;
|
|
16
|
+
if (complexity === 'moderate')
|
|
17
|
+
return 0.35;
|
|
18
|
+
return 0.7; // complex or unknown
|
|
19
|
+
}
|
|
20
|
+
function computeSaveRecommendation(entries) {
|
|
21
|
+
if (entries.length < MIN_ENTRIES)
|
|
22
|
+
return null;
|
|
23
|
+
const window = entries.slice(-WINDOW_SIZE);
|
|
24
|
+
const opusCalls = window.filter(e => e.resolvedModel.toLowerCase().includes('opus'));
|
|
25
|
+
if (opusCalls.length === 0)
|
|
26
|
+
return null;
|
|
27
|
+
const avgComplexityScore = opusCalls.reduce((sum, e) => sum + complexityToScore(e.complexity), 0) /
|
|
28
|
+
opusCalls.length;
|
|
29
|
+
if (avgComplexityScore >= SONNET_THRESHOLD)
|
|
30
|
+
return null;
|
|
31
|
+
const avgInput = opusCalls.reduce((sum, e) => sum + (e.inputTokens ?? 0), 0) / opusCalls.length;
|
|
32
|
+
const avgOutput = opusCalls.reduce((sum, e) => sum + (e.outputTokens ?? 0), 0) / opusCalls.length;
|
|
33
|
+
let estimatedDailySavings = 0;
|
|
34
|
+
if (avgInput > 0 || avgOutput > 0) {
|
|
35
|
+
const savingsPerRequest = (OPUS_INPUT_PRICE - SONNET_INPUT_PRICE) * avgInput +
|
|
36
|
+
(OPUS_OUTPUT_PRICE - SONNET_OUTPUT_PRICE) * avgOutput;
|
|
37
|
+
estimatedDailySavings = savingsPerRequest * opusCalls.length;
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
opusCount: opusCalls.length,
|
|
41
|
+
avgComplexityScore,
|
|
42
|
+
sonnetThresholdScore: SONNET_THRESHOLD,
|
|
43
|
+
estimatedDailySavings,
|
|
44
|
+
windowSize: window.length,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function formatSaveRecommendationTip(rec) {
|
|
48
|
+
const savings = `$${rec.estimatedDailySavings.toFixed(2)}/day`;
|
|
49
|
+
return (`TIP: Last ${rec.opusCount} Opus requests averaged complexity ` +
|
|
50
|
+
`${rec.avgComplexityScore} (Sonnet threshold: ${rec.sonnetThresholdScore}). ` +
|
|
51
|
+
`Estimated savings if routed to Sonnet: ${savings}.`);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=save-recommendation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save-recommendation.js","sourceRoot":"","sources":["../src/save-recommendation.ts"],"names":[],"mappings":";;AA0BA,8DAmCC;AAED,kEAOC;AA5DD,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,kCAAkC;AAClC,MAAM,gBAAgB,GAAG,EAAE,GAAG,SAAS,CAAC;AACxC,MAAM,iBAAiB,GAAG,EAAE,GAAG,SAAS,CAAC;AACzC,MAAM,kBAAkB,GAAG,CAAC,GAAG,SAAS,CAAC;AACzC,MAAM,mBAAmB,GAAG,EAAE,GAAG,SAAS,CAAC;AAE3C,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,UAAU,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,GAAG,CAAC,CAAC,qBAAqB;AACnC,CAAC;AAED,SAAgB,yBAAyB,CACvC,OAA0B;IAE1B,IAAI,OAAO,CAAC,MAAM,GAAG,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACrF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,MAAM,kBAAkB,GACtB,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACtE,SAAS,CAAC,MAAM,CAAC;IAEnB,IAAI,kBAAkB,IAAI,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAExD,MAAM,QAAQ,GACZ,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;IACjF,MAAM,SAAS,GACb,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;IAElF,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,IAAI,QAAQ,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,iBAAiB,GACrB,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,QAAQ;YAClD,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,SAAS,CAAC;QACxD,qBAAqB,GAAG,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,MAAM;QAC3B,kBAAkB;QAClB,oBAAoB,EAAE,gBAAgB;QACtC,qBAAqB;QACrB,UAAU,EAAE,MAAM,CAAC,MAAM;KAC1B,CAAC;AACJ,CAAC;AAED,SAAgB,2BAA2B,CAAC,GAAuB;IACjE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/D,OAAO,CACL,aAAa,GAAG,CAAC,SAAS,qCAAqC;QAC/D,GAAG,GAAG,CAAC,kBAAkB,uBAAuB,GAAG,CAAC,oBAAoB,KAAK;QAC7E,0CAA0C,OAAO,GAAG,CACrD,CAAC;AACJ,CAAC"}
|
|
@@ -56,6 +56,16 @@ export declare function getActiveSessions(): SessionEntry[];
|
|
|
56
56
|
* last_seen_at filters, so this is a no-op exposed for API symmetry.
|
|
57
57
|
*/
|
|
58
58
|
export declare function markStaleSessionsComplete(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Remove a session from the tracker store.
|
|
61
|
+
*
|
|
62
|
+
* Used by the Phase 0 kill switch: when `relayplane status` detects a
|
|
63
|
+
* `stuck_agent` or `token_explosion` anomaly, the CLI prompts the user to
|
|
64
|
+
* kill the offending session. The local proxy's DELETE /v1/sessions/:id
|
|
65
|
+
* handler invokes this to drop the session from both SQLite and the
|
|
66
|
+
* in-memory fallback store. Silent on unknown IDs.
|
|
67
|
+
*/
|
|
68
|
+
export declare function killSession(sessionId: string): void;
|
|
59
69
|
/** Exposed for testing — reset singleton state. */
|
|
60
70
|
export declare function _resetStore(): void;
|
|
61
71
|
//# sourceMappingURL=session-tracker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-tracker.d.ts","sourceRoot":"","sources":["../src/session-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,aAAa,GAAG,WAAW,CAAC;CAC7C;AAoED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,EAC1C,KAAK,CAAC,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,aAAa,GAAG,WAAW,CAAA;CAAE,CAoBnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,aAAa,GAAG,WAAW,EAC1C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,IAAI,CAwCN;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,EAAE,CA4B7E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAwBlD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,mDAAmD;AACnD,wBAAgB,WAAW,IAAI,IAAI,CAWlC"}
|
|
1
|
+
{"version":3,"file":"session-tracker.d.ts","sourceRoot":"","sources":["../src/session-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,aAAa,GAAG,WAAW,CAAC;CAC7C;AAoED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,EAC1C,KAAK,CAAC,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,aAAa,GAAG,WAAW,CAAA;CAAE,CAoBnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,aAAa,GAAG,WAAW,EAC1C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,IAAI,CAwCN;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,EAAE,CA4B7E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAwBlD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAUnD;AAED,mDAAmD;AACnD,wBAAgB,WAAW,IAAI,IAAI,CAWlC"}
|
package/dist/session-tracker.js
CHANGED
|
@@ -50,6 +50,7 @@ exports.upsertSession = upsertSession;
|
|
|
50
50
|
exports.getSessions = getSessions;
|
|
51
51
|
exports.getActiveSessions = getActiveSessions;
|
|
52
52
|
exports.markStaleSessionsComplete = markStaleSessionsComplete;
|
|
53
|
+
exports.killSession = killSession;
|
|
53
54
|
exports._resetStore = _resetStore;
|
|
54
55
|
const crypto = __importStar(require("node:crypto"));
|
|
55
56
|
const fs = __importStar(require("node:fs"));
|
|
@@ -251,6 +252,27 @@ function getActiveSessions() {
|
|
|
251
252
|
function markStaleSessionsComplete() {
|
|
252
253
|
// No-op: staleness determined dynamically in getActiveSessions()
|
|
253
254
|
}
|
|
255
|
+
/**
|
|
256
|
+
* Remove a session from the tracker store.
|
|
257
|
+
*
|
|
258
|
+
* Used by the Phase 0 kill switch: when `relayplane status` detects a
|
|
259
|
+
* `stuck_agent` or `token_explosion` anomaly, the CLI prompts the user to
|
|
260
|
+
* kill the offending session. The local proxy's DELETE /v1/sessions/:id
|
|
261
|
+
* handler invokes this to drop the session from both SQLite and the
|
|
262
|
+
* in-memory fallback store. Silent on unknown IDs.
|
|
263
|
+
*/
|
|
264
|
+
function killSession(sessionId) {
|
|
265
|
+
try {
|
|
266
|
+
const db = getDb();
|
|
267
|
+
if (db) {
|
|
268
|
+
db.prepare('DELETE FROM sessions WHERE id = ?').run(sessionId);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
/* ignore */
|
|
273
|
+
}
|
|
274
|
+
_memStore.delete(sessionId);
|
|
275
|
+
}
|
|
254
276
|
/** Exposed for testing — reset singleton state. */
|
|
255
277
|
function _resetStore() {
|
|
256
278
|
if (_db) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-tracker.js","sourceRoot":"","sources":["../src/session-tracker.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4FH,oCAuBC;AAMD,sCA8CC;AAWD,kCA4BC;AAMD,8CAwBC;AAMD,8DAEC;AAGD,kCAWC;
|
|
1
|
+
{"version":3,"file":"session-tracker.js","sourceRoot":"","sources":["../src/session-tracker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@relayplane/proxy",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.25",
|
|
4
4
|
"description": "Open source cost intelligence proxy for AI agents. Cut LLM costs ~80% with smart model routing. Dashboard, policy engine, 11 providers. MIT licensed.",
|
|
5
5
|
"homepage": "https://relayplane.com",
|
|
6
6
|
"repository": {
|