@chatpanel/gateway 0.6.83 → 0.6.84
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/package.json +1 -1
- package/src/server.js +1 -1
- package/src/toolrelay.js +5 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chatpanel/gateway",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.84",
|
|
4
4
|
"description": "Local privacy gateway \u2014 redacts PII out of OpenAI/Anthropic API traffic before it reaches a model, then restores it in the reply. Point opencode, codex, aider, Claude Code, etc. at it.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/src/server.js
CHANGED
|
@@ -58,7 +58,7 @@ import * as openai from './openai.js';
|
|
|
58
58
|
import * as responses from './responses.js';
|
|
59
59
|
import * as anthropic from './anthropic.js';
|
|
60
60
|
|
|
61
|
-
export const VERSION = '0.6.
|
|
61
|
+
export const VERSION = '0.6.84';
|
|
62
62
|
|
|
63
63
|
// WARM search tier — SQLite + FTS5 record store (falls back to an encrypted-JSON
|
|
64
64
|
// store if SQLite can't load), fed by the extension's ingest sync + backup-ingest.
|
package/src/toolrelay.js
CHANGED
|
@@ -40,7 +40,7 @@ export function toolsToSpecs(tools) {
|
|
|
40
40
|
// not time since the turn began: a flat 135 s from the start killed every relayed turn
|
|
41
41
|
// with more than a handful of tool rounds, at 135.1 s exactly, and the client read the
|
|
42
42
|
// empty resume as "the model returned no answer". A team member's turn is many rounds.
|
|
43
|
-
export const RELAY_IDLE_MS =
|
|
43
|
+
export const RELAY_IDLE_MS = 200_000; // longer than the bridge's own idle (180 s), which is the authority
|
|
44
44
|
|
|
45
45
|
export function createRelaySession({ vault, redactOpts, bridgeUrl, token, harness = null, idleMs = RELAY_IDLE_MS }) {
|
|
46
46
|
const id = randomUUID().slice(0, 8);
|
|
@@ -81,6 +81,10 @@ export async function pumpBridgeStream(s, handlers) {
|
|
|
81
81
|
const payload = t.slice(5).trim();
|
|
82
82
|
if (!payload || payload === '[DONE]') continue;
|
|
83
83
|
let evt; try { evt = JSON.parse(payload); } catch { continue; }
|
|
84
|
+
// Anything the bridge sends is life: an agent running its own tools for two minutes
|
|
85
|
+
// sends only status events, and a session that counts only text and tool requests
|
|
86
|
+
// as activity ended those turns mid-work.
|
|
87
|
+
touchRelaySession(s.id);
|
|
84
88
|
if (evt.type === 'delta' && typeof evt.text === 'string') {
|
|
85
89
|
handlers.onText(evt.text);
|
|
86
90
|
} else if (evt.type === 'tool_request') {
|