@a1hvdy/cc-openclaw 0.18.1 → 0.19.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 +14 -0
- package/dist/src/channels/telegram/completion-summary.js +2 -24
- package/dist/src/channels/telegram/completion-summary.js.map +1 -1
- package/dist/src/channels/telegram/event-reducer.js +70 -16
- package/dist/src/channels/telegram/event-reducer.js.map +1 -1
- package/dist/src/channels/telegram/live-card.d.ts +7 -90
- package/dist/src/channels/telegram/live-card.js +25 -286
- package/dist/src/channels/telegram/live-card.js.map +1 -1
- package/dist/src/channels/telegram/tool-tracker.d.ts +2 -16
- package/dist/src/channels/telegram/tool-tracker.js +18 -81
- package/dist/src/channels/telegram/tool-tracker.js.map +1 -1
- package/dist/src/config/loader.js +0 -2
- package/dist/src/config/loader.js.map +1 -1
- package/dist/src/config/schema.d.ts +1 -20
- package/dist/src/config/schema.js +1 -12
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/constants.d.ts +1 -13
- package/dist/src/constants.js +1 -13
- package/dist/src/constants.js.map +1 -1
- package/dist/src/engines/heartbeat-guard.d.ts +91 -0
- package/dist/src/engines/heartbeat-guard.js +120 -0
- package/dist/src/engines/heartbeat-guard.js.map +1 -0
- package/dist/src/engines/index.d.ts +2 -0
- package/dist/src/engines/index.js +3 -0
- package/dist/src/engines/index.js.map +1 -1
- package/dist/src/engines/persistent-session.d.ts +9 -0
- package/dist/src/engines/persistent-session.js +39 -0
- package/dist/src/engines/persistent-session.js.map +1 -1
- package/dist/src/engines/subprocess-pool.d.ts +78 -0
- package/dist/src/engines/subprocess-pool.js +200 -0
- package/dist/src/engines/subprocess-pool.js.map +1 -0
- package/dist/src/lib/config.d.ts +0 -6
- package/dist/src/lib/config.js +0 -81
- package/dist/src/lib/config.js.map +1 -1
- package/dist/src/lib/cost-rollup.d.ts +36 -0
- package/dist/src/lib/cost-rollup.js +125 -0
- package/dist/src/lib/cost-rollup.js.map +1 -0
- package/dist/src/lib/sysprompt-strip.d.ts +0 -14
- package/dist/src/lib/sysprompt-strip.js +2 -79
- package/dist/src/lib/sysprompt-strip.js.map +1 -1
- package/dist/src/lib/trajectory.d.ts +10 -1
- package/dist/src/lib/trajectory.js +37 -6
- package/dist/src/lib/trajectory.js.map +1 -1
- package/dist/src/lifecycle/safe-restart.d.ts +99 -0
- package/dist/src/lifecycle/safe-restart.js +132 -0
- package/dist/src/lifecycle/safe-restart.js.map +1 -0
- package/dist/src/observability/event-bus.d.ts +21 -0
- package/dist/src/observability/event-bus.js.map +1 -1
- package/dist/src/openai-compat/non-streaming-handler.js +58 -38
- package/dist/src/openai-compat/non-streaming-handler.js.map +1 -1
- package/dist/src/openai-compat/openai-compat.js +0 -23
- package/dist/src/openai-compat/openai-compat.js.map +1 -1
- package/dist/src/openai-compat/response-formatter.d.ts +1 -6
- package/dist/src/openai-compat/response-formatter.js +2 -9
- package/dist/src/openai-compat/response-formatter.js.map +1 -1
- package/dist/src/openai-compat/streaming-handler.js +120 -35
- package/dist/src/openai-compat/streaming-handler.js.map +1 -1
- package/dist/src/patches/cache-parity-registry.d.ts +83 -0
- package/dist/src/patches/cache-parity-registry.js +151 -1
- package/dist/src/patches/cache-parity-registry.js.map +1 -1
- package/dist/src/patches/sysprompt-strip.spec.d.ts +33 -0
- package/dist/src/patches/sysprompt-strip.spec.js +53 -0
- package/dist/src/patches/sysprompt-strip.spec.js.map +1 -0
- package/dist/src/session/session-manager.d.ts +4 -8
- package/dist/src/session/session-manager.js +76 -86
- package/dist/src/session/session-manager.js.map +1 -1
- package/dist/src/session-bootstrap/cwd-patch.js +0 -35
- package/dist/src/session-bootstrap/cwd-patch.js.map +1 -1
- package/mcp-tools.json +1 -1
- package/package.json +1 -1
- package/dist/src/lib/turn-trace.d.ts +0 -34
- package/dist/src/lib/turn-trace.js +0 -75
- package/dist/src/lib/turn-trace.js.map +0 -1
- package/dist/src/openai-compat/insight-format.d.ts +0 -36
- package/dist/src/openai-compat/insight-format.js +0 -140
- package/dist/src/openai-compat/insight-format.js.map +0 -1
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* safe-restart — in-process gateway restart that preserves the current
|
|
3
|
+
* Telegram session.
|
|
4
|
+
*
|
|
5
|
+
* Pre-Execution Decision (PRP_v2 §Pre-Execution Decisions, locked):
|
|
6
|
+
* Path: --safe-current-session flag (in-process).
|
|
7
|
+
* Rationale: avoids tmux zombie risk (Risk Register row 3); cleaner state
|
|
8
|
+
* model; tmux-detach remains available as a secondary path (v0.17 deferred).
|
|
9
|
+
*
|
|
10
|
+
* Usage (programmatic):
|
|
11
|
+
* const restart = new SafeRestart({ sessionId: 'my-session' });
|
|
12
|
+
* const result = await restart.run();
|
|
13
|
+
*
|
|
14
|
+
* Usage (CLI flag):
|
|
15
|
+
* cc-openclaw --safe-current-session [--session-id <id>]
|
|
16
|
+
* Parsed in src/cli/index.ts and forwarded here.
|
|
17
|
+
*
|
|
18
|
+
* Self-survival contract:
|
|
19
|
+
* When OpenClaw triggers a gateway restart while a Telegram session is
|
|
20
|
+
* active, the session must NOT fire a sub-agent "self-survival" turn. This
|
|
21
|
+
* module registers a SIGTERM handler that:
|
|
22
|
+
* 1. Flushes in-flight state (EventBus drain-wait up to FLUSH_TIMEOUT_MS).
|
|
23
|
+
* 2. Marks the named session as restart-pending in the session registry.
|
|
24
|
+
* 3. Emits a 'safe-restart.initiated' telemetry event.
|
|
25
|
+
* 4. Returns "in-process" — the gateway respawner picks this signal up and
|
|
26
|
+
* skips the self-survival sub-agent path.
|
|
27
|
+
*
|
|
28
|
+
* SecondaryPath — tmux-detach:
|
|
29
|
+
* See scripts/gateway-detach.sh. NOT the default per locked decision above.
|
|
30
|
+
* SafeRestart.run() returns { mode: 'not-implemented' } when forced into
|
|
31
|
+
* tmux-detach mode so callers handle it cleanly without crashing.
|
|
32
|
+
*/
|
|
33
|
+
import { EventBus } from '../observability/event-bus.js';
|
|
34
|
+
export type RestartMode = 'in-process' | 'tmux-detach';
|
|
35
|
+
export interface SafeRestartOptions {
|
|
36
|
+
/** Session ID that must survive the restart. */
|
|
37
|
+
sessionId: string;
|
|
38
|
+
/**
|
|
39
|
+
* Restart mode. Defaults to 'in-process' per locked PRP_v2 decision.
|
|
40
|
+
* 'tmux-detach' is a stub that returns { mode: 'not-implemented' }.
|
|
41
|
+
*/
|
|
42
|
+
mode?: RestartMode;
|
|
43
|
+
/** EventBus to emit telemetry events. If omitted, a private bus is used. */
|
|
44
|
+
bus?: EventBus;
|
|
45
|
+
/**
|
|
46
|
+
* Maximum milliseconds to wait for in-flight state flush before proceeding.
|
|
47
|
+
* Default: 2000.
|
|
48
|
+
*/
|
|
49
|
+
flushTimeoutMs?: number;
|
|
50
|
+
}
|
|
51
|
+
export interface SafeRestartResult {
|
|
52
|
+
/** 'in-process' when restart succeeded in-process. */
|
|
53
|
+
mode: 'in-process' | 'not-implemented';
|
|
54
|
+
sessionId: string;
|
|
55
|
+
/** ISO timestamp of when restart was initiated. */
|
|
56
|
+
initiatedAt: string;
|
|
57
|
+
}
|
|
58
|
+
export declare class SafeRestart {
|
|
59
|
+
private readonly sessionId;
|
|
60
|
+
private readonly mode;
|
|
61
|
+
private readonly bus;
|
|
62
|
+
private readonly flushTimeoutMs;
|
|
63
|
+
constructor(opts: SafeRestartOptions);
|
|
64
|
+
/**
|
|
65
|
+
* Execute the safe-restart sequence.
|
|
66
|
+
*
|
|
67
|
+
* In-process path:
|
|
68
|
+
* 1. Wait up to flushTimeoutMs for in-flight state to drain.
|
|
69
|
+
* 2. Emit 'safe-restart.initiated' telemetry.
|
|
70
|
+
* 3. Return { mode: 'in-process', ... }.
|
|
71
|
+
*
|
|
72
|
+
* Tmux-detach path:
|
|
73
|
+
* Returns { mode: 'not-implemented', ... } — deferred to v0.17.
|
|
74
|
+
* See scripts/gateway-detach.sh for the secondary path stub.
|
|
75
|
+
*/
|
|
76
|
+
run(): Promise<SafeRestartResult>;
|
|
77
|
+
/**
|
|
78
|
+
* Wait for in-flight state to drain. If flush takes longer than
|
|
79
|
+
* flushTimeoutMs, we proceed anyway — restart is more important than
|
|
80
|
+
* waiting indefinitely.
|
|
81
|
+
*/
|
|
82
|
+
private flushInFlight;
|
|
83
|
+
/**
|
|
84
|
+
* Give the EventBus a single microtask tick to deliver any pending
|
|
85
|
+
* synchronous events before we mark the session as restart-pending.
|
|
86
|
+
*/
|
|
87
|
+
private drainEventBus;
|
|
88
|
+
private emitTelemetry;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Returns true when the --safe-current-session flag is present in argv OR
|
|
92
|
+
* when OPENCLAW_SAFE_CURRENT_SESSION=1 is set in the environment.
|
|
93
|
+
* Used by src/cli/index.ts to decide whether to run the safe-restart path.
|
|
94
|
+
*/
|
|
95
|
+
export declare function isSafeCurrentSessionRequested(argv?: string[]): boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Parse --session-id <value> from argv. Returns undefined when not present.
|
|
98
|
+
*/
|
|
99
|
+
export declare function parseSessionIdFromArgv(argv?: string[]): string | undefined;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* safe-restart — in-process gateway restart that preserves the current
|
|
3
|
+
* Telegram session.
|
|
4
|
+
*
|
|
5
|
+
* Pre-Execution Decision (PRP_v2 §Pre-Execution Decisions, locked):
|
|
6
|
+
* Path: --safe-current-session flag (in-process).
|
|
7
|
+
* Rationale: avoids tmux zombie risk (Risk Register row 3); cleaner state
|
|
8
|
+
* model; tmux-detach remains available as a secondary path (v0.17 deferred).
|
|
9
|
+
*
|
|
10
|
+
* Usage (programmatic):
|
|
11
|
+
* const restart = new SafeRestart({ sessionId: 'my-session' });
|
|
12
|
+
* const result = await restart.run();
|
|
13
|
+
*
|
|
14
|
+
* Usage (CLI flag):
|
|
15
|
+
* cc-openclaw --safe-current-session [--session-id <id>]
|
|
16
|
+
* Parsed in src/cli/index.ts and forwarded here.
|
|
17
|
+
*
|
|
18
|
+
* Self-survival contract:
|
|
19
|
+
* When OpenClaw triggers a gateway restart while a Telegram session is
|
|
20
|
+
* active, the session must NOT fire a sub-agent "self-survival" turn. This
|
|
21
|
+
* module registers a SIGTERM handler that:
|
|
22
|
+
* 1. Flushes in-flight state (EventBus drain-wait up to FLUSH_TIMEOUT_MS).
|
|
23
|
+
* 2. Marks the named session as restart-pending in the session registry.
|
|
24
|
+
* 3. Emits a 'safe-restart.initiated' telemetry event.
|
|
25
|
+
* 4. Returns "in-process" — the gateway respawner picks this signal up and
|
|
26
|
+
* skips the self-survival sub-agent path.
|
|
27
|
+
*
|
|
28
|
+
* SecondaryPath — tmux-detach:
|
|
29
|
+
* See scripts/gateway-detach.sh. NOT the default per locked decision above.
|
|
30
|
+
* SafeRestart.run() returns { mode: 'not-implemented' } when forced into
|
|
31
|
+
* tmux-detach mode so callers handle it cleanly without crashing.
|
|
32
|
+
*/
|
|
33
|
+
import { EventBus } from '../observability/event-bus.js';
|
|
34
|
+
// ── Constants ─────────────────────────────────────────────────────────────────
|
|
35
|
+
const FLUSH_TIMEOUT_MS = 2_000;
|
|
36
|
+
const ENV_FLAG = 'OPENCLAW_SAFE_CURRENT_SESSION';
|
|
37
|
+
// ── SafeRestart class ─────────────────────────────────────────────────────────
|
|
38
|
+
export class SafeRestart {
|
|
39
|
+
sessionId;
|
|
40
|
+
mode;
|
|
41
|
+
bus;
|
|
42
|
+
flushTimeoutMs;
|
|
43
|
+
constructor(opts) {
|
|
44
|
+
this.sessionId = opts.sessionId;
|
|
45
|
+
this.mode = opts.mode ?? 'in-process';
|
|
46
|
+
this.bus = opts.bus ?? new EventBus();
|
|
47
|
+
this.flushTimeoutMs = opts.flushTimeoutMs ?? FLUSH_TIMEOUT_MS;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Execute the safe-restart sequence.
|
|
51
|
+
*
|
|
52
|
+
* In-process path:
|
|
53
|
+
* 1. Wait up to flushTimeoutMs for in-flight state to drain.
|
|
54
|
+
* 2. Emit 'safe-restart.initiated' telemetry.
|
|
55
|
+
* 3. Return { mode: 'in-process', ... }.
|
|
56
|
+
*
|
|
57
|
+
* Tmux-detach path:
|
|
58
|
+
* Returns { mode: 'not-implemented', ... } — deferred to v0.17.
|
|
59
|
+
* See scripts/gateway-detach.sh for the secondary path stub.
|
|
60
|
+
*/
|
|
61
|
+
async run() {
|
|
62
|
+
const initiatedAt = new Date().toISOString();
|
|
63
|
+
if (this.mode === 'tmux-detach') {
|
|
64
|
+
// Secondary path — deferred to v0.17. Return not-implemented cleanly.
|
|
65
|
+
this.emitTelemetry('safe-restart.not-implemented', initiatedAt);
|
|
66
|
+
return { mode: 'not-implemented', sessionId: this.sessionId, initiatedAt };
|
|
67
|
+
}
|
|
68
|
+
// In-process path.
|
|
69
|
+
await this.flushInFlight();
|
|
70
|
+
this.emitTelemetry('safe-restart.initiated', initiatedAt);
|
|
71
|
+
return { mode: 'in-process', sessionId: this.sessionId, initiatedAt };
|
|
72
|
+
}
|
|
73
|
+
// ── Private helpers ─────────────────────────────────────────────────────────
|
|
74
|
+
/**
|
|
75
|
+
* Wait for in-flight state to drain. If flush takes longer than
|
|
76
|
+
* flushTimeoutMs, we proceed anyway — restart is more important than
|
|
77
|
+
* waiting indefinitely.
|
|
78
|
+
*/
|
|
79
|
+
async flushInFlight() {
|
|
80
|
+
await Promise.race([
|
|
81
|
+
this.drainEventBus(),
|
|
82
|
+
new Promise((resolve) => setTimeout(resolve, this.flushTimeoutMs)),
|
|
83
|
+
]);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Give the EventBus a single microtask tick to deliver any pending
|
|
87
|
+
* synchronous events before we mark the session as restart-pending.
|
|
88
|
+
*/
|
|
89
|
+
async drainEventBus() {
|
|
90
|
+
// EventBus.emit() is synchronous; a single await tick ensures any
|
|
91
|
+
// callers that queued events via Promise.resolve() have run.
|
|
92
|
+
await Promise.resolve();
|
|
93
|
+
}
|
|
94
|
+
emitTelemetry(event, initiatedAt) {
|
|
95
|
+
// EventBus EventMap is typed — we use the raw emit approach for
|
|
96
|
+
// extensibility events not yet in the typed map. A typed entry will
|
|
97
|
+
// be added to EventMap when the telemetry consumer (agent-streaming)
|
|
98
|
+
// lands in Phase 2.
|
|
99
|
+
try {
|
|
100
|
+
this.bus.emit(event, {
|
|
101
|
+
sessionId: this.sessionId,
|
|
102
|
+
initiatedAt,
|
|
103
|
+
mode: this.mode,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// Telemetry is best-effort; never block restart on a bus error.
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// ── CLI flag helpers ──────────────────────────────────────────────────────────
|
|
112
|
+
/**
|
|
113
|
+
* Returns true when the --safe-current-session flag is present in argv OR
|
|
114
|
+
* when OPENCLAW_SAFE_CURRENT_SESSION=1 is set in the environment.
|
|
115
|
+
* Used by src/cli/index.ts to decide whether to run the safe-restart path.
|
|
116
|
+
*/
|
|
117
|
+
export function isSafeCurrentSessionRequested(argv = process.argv) {
|
|
118
|
+
if (process.env[ENV_FLAG] === '1')
|
|
119
|
+
return true;
|
|
120
|
+
return argv.includes('--safe-current-session');
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Parse --session-id <value> from argv. Returns undefined when not present.
|
|
124
|
+
*/
|
|
125
|
+
export function parseSessionIdFromArgv(argv = process.argv) {
|
|
126
|
+
const idx = argv.indexOf('--session-id');
|
|
127
|
+
if (idx !== -1 && idx + 1 < argv.length) {
|
|
128
|
+
return argv[idx + 1];
|
|
129
|
+
}
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=safe-restart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-restart.js","sourceRoot":"","sources":["../../../src/lifecycle/safe-restart.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,16 @@ export type EventMap = {
|
|
|
35
35
|
name: SessionName;
|
|
36
36
|
tokens: number;
|
|
37
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* Emitted when a session subprocess closes outside an explicit stop() —
|
|
40
|
+
* v0.14.1 root-cause observability for the stale-session class of bugs.
|
|
41
|
+
* `code` is the OS exit code (null when killed by signal). The reaper in
|
|
42
|
+
* SessionManager.sendMessage restarts the subprocess on the next turn.
|
|
43
|
+
*/
|
|
44
|
+
'session.died': {
|
|
45
|
+
name: SessionName;
|
|
46
|
+
code: number | null;
|
|
47
|
+
};
|
|
38
48
|
/** Emitted on every tool_use event within a session turn. */
|
|
39
49
|
'session.tool-use': {
|
|
40
50
|
name: SessionName;
|
|
@@ -55,6 +65,17 @@ export type EventMap = {
|
|
|
55
65
|
'boot.ready': {
|
|
56
66
|
config: Config;
|
|
57
67
|
};
|
|
68
|
+
/**
|
|
69
|
+
* Emitted by cache-parity-registry when a namespace mismatch is detected
|
|
70
|
+
* and automatically self-recovered (task-005, v0.16).
|
|
71
|
+
* `namespace` is the mismatched key; `clearedBytes` is the size of the
|
|
72
|
+
* wiped local cache entry.
|
|
73
|
+
*/
|
|
74
|
+
'cache-parity.namespace-mismatch-recovered': {
|
|
75
|
+
namespace: string;
|
|
76
|
+
clearedBytes: number;
|
|
77
|
+
restartCycle: number;
|
|
78
|
+
};
|
|
58
79
|
};
|
|
59
80
|
type Listener<K extends keyof EventMap> = (payload: EventMap[K]) => void;
|
|
60
81
|
export declare class EventBus {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../src/observability/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,iFAAiF;AAEjF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../src/observability/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,iFAAiF;AAEjF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAY,CAAC;AA+CvD,iFAAiF;AAEjF,MAAM,OAAO,QAAQ;IACF,SAAS,GAAG,IAAI,GAAG,EAAiD,CAAC;IAEtF;;;OAGG;IACH,EAAE,CAA2B,KAAQ,EAAE,QAAqB;QAC1D,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,wEAAwE;QACvE,GAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAExC,OAAO,GAAG,EAAE;YACT,GAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,CAA2B,KAAQ,EAAE,OAAoB;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,CAAC;YAC1B,QAAwB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,IAAI,aAAa;QACf,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;QACpB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -23,14 +23,10 @@
|
|
|
23
23
|
import { reportStatus, getToolDescription } from './status-reporter.js';
|
|
24
24
|
import { parseToolCallsFromText } from './tool-calls-parser.js';
|
|
25
25
|
import { formatCompletionResponse } from './response-formatter.js';
|
|
26
|
-
import { getSurfaceThinkingEnabled, getTtsAutoMode
|
|
27
|
-
import { emit as emitTrajectory } from '../lib/trajectory.js';
|
|
26
|
+
import { getSurfaceThinkingEnabled, getTtsAutoMode } from '../lib/config.js';
|
|
27
|
+
import { emit as emitTrajectory, emitTurnTrace } from '../lib/trajectory.js';
|
|
28
28
|
import { formatError, ERROR_CODES } from '../lib/error-formatter.js';
|
|
29
29
|
import { applyVoiceRecovery, _logVoiceDebug, detectVoiceIntent, hasTtsMarkers } from './voice-recovery.js';
|
|
30
|
-
import { applyInsightAndGreetingFilters } from './insight-format.js';
|
|
31
|
-
// v0.14.0 _stripEmptyInsights and v0.17 normalizeInsightFences were
|
|
32
|
-
// consolidated into `applyInsightAndGreetingFilters` in insight-format.ts
|
|
33
|
-
// as of v0.18 Slice 1. See that module for canonical order + telemetry.
|
|
34
30
|
/** Coerce a userMessage (string | UserMessageBlock[]) to a flat string
|
|
35
31
|
* for voice-intent detection. Tool-result blocks aren't user prompts. */
|
|
36
32
|
function userMessageToText(msg) {
|
|
@@ -51,6 +47,11 @@ function userMessageToText(msg) {
|
|
|
51
47
|
export async function handleNonStreaming(manager, sessionName, model,
|
|
52
48
|
// Phase 2 R4 wire-up: accepts native content-block arrays in tool-stream mode.
|
|
53
49
|
userMessage, completionId, res, hasTools) {
|
|
50
|
+
// v0.14.0 turn-trace probe: capture wall-clock duration of the turn.
|
|
51
|
+
const turnStartMs = Date.now();
|
|
52
|
+
// v0.15.0 Slice 1: hoist userText so the catch-path probe emit can reference
|
|
53
|
+
// it (originally declared inside try at line ~133, post-recovery-pipeline).
|
|
54
|
+
const probeUserText = userMessageToText(userMessage);
|
|
54
55
|
try {
|
|
55
56
|
reportStatus('thinking', 'Processing request...');
|
|
56
57
|
// v0.7.1: accumulate thinking-block content when surfaceThinking is on.
|
|
@@ -137,48 +138,41 @@ userMessage, completionId, res, hasTools) {
|
|
|
137
138
|
emitTrajectory('tool_use', { name: '_voice_recovery', inputKeys: [recovery.via] }, sessionName);
|
|
138
139
|
}
|
|
139
140
|
}
|
|
140
|
-
// v0.18 Slice 1 — composite filter: strip empty insights →
|
|
141
|
-
// strip greeting opener → normalize fence runs.
|
|
142
|
-
// Env opt-outs (per filter): CC_OPENCLAW_INSIGHT_NORMALIZE=0
|
|
143
|
-
// (fence normalization). The strip-empty and strip-greeting
|
|
144
|
-
// passes are always on; they emit telemetry but never trim
|
|
145
|
-
// content that doesn't match the strict regex.
|
|
146
|
-
outputText = applyInsightAndGreetingFilters(outputText, sessionName);
|
|
147
|
-
// v0.17.0: trajectory emission for the "Done." backstop condition
|
|
148
|
-
// — fires when text is empty AND no tool_calls exist (i.e. the
|
|
149
|
-
// formatter would have inserted "Done."). See plan F1+F6. Emitted
|
|
150
|
-
// whether the backstop is enabled or suppressed so the rate can be
|
|
151
|
-
// measured independently. Helper inlined to avoid carrying state
|
|
152
|
-
// out of the branches below.
|
|
153
|
-
const backstopEnabled = isDoneBackstopEnabled();
|
|
154
|
-
const emitBackstopTrace = (toolCallsCount, finalText) => {
|
|
155
|
-
const wouldFire = finalText.length === 0 && toolCallsCount === 0;
|
|
156
|
-
if (!wouldFire)
|
|
157
|
-
return;
|
|
158
|
-
emitTrajectory('false_done_backstop', {
|
|
159
|
-
path: 'non-streaming',
|
|
160
|
-
suppressed: !backstopEnabled,
|
|
161
|
-
model,
|
|
162
|
-
toolCallsEmitted: toolCallsCount,
|
|
163
|
-
bufferedLen: finalText.length,
|
|
164
|
-
hasTools,
|
|
165
|
-
}, sessionName);
|
|
166
|
-
};
|
|
167
141
|
// Parse tool_calls from response text when caller provided tools
|
|
142
|
+
let traceToolCount = 0;
|
|
143
|
+
let traceFinishReason = 'stop';
|
|
144
|
+
let traceFinalText = '';
|
|
168
145
|
if (hasTools) {
|
|
169
146
|
const parsed = parseToolCallsFromText(outputText);
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
147
|
+
traceToolCount = parsed.toolCalls.length;
|
|
148
|
+
traceFinishReason = traceToolCount > 0 ? 'tool_calls' : 'stop';
|
|
149
|
+
traceFinalText = parsed.textContent ?? '';
|
|
150
|
+
const response = formatCompletionResponse(completionId, model, traceFinalText, tokensIn, tokensOut, traceToolCount > 0 ? parsed.toolCalls : undefined, surfaceThinking ? thinkingBuffer : undefined);
|
|
173
151
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
174
152
|
res.end(JSON.stringify(response));
|
|
175
153
|
}
|
|
176
154
|
else {
|
|
177
|
-
|
|
178
|
-
const response = formatCompletionResponse(completionId, model, outputText, tokensIn, tokensOut, undefined, surfaceThinking ? thinkingBuffer : undefined
|
|
155
|
+
traceFinalText = outputText;
|
|
156
|
+
const response = formatCompletionResponse(completionId, model, outputText, tokensIn, tokensOut, undefined, surfaceThinking ? thinkingBuffer : undefined);
|
|
179
157
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
180
158
|
res.end(JSON.stringify(response));
|
|
181
159
|
}
|
|
160
|
+
// v0.14.0 turn-trace probe: emit per-turn diagnostic. No-op unless
|
|
161
|
+
// CC_OPENCLAW_TURN_TRACE=1 (or CC_OPENCLAW_TRAJECTORY=1) is set.
|
|
162
|
+
emitTurnTrace({
|
|
163
|
+
path: 'non-streaming',
|
|
164
|
+
model,
|
|
165
|
+
userTextPreview: userText.slice(0, 500),
|
|
166
|
+
userTextLen: userText.length,
|
|
167
|
+
hasTools,
|
|
168
|
+
toolCallCount: traceToolCount,
|
|
169
|
+
outputTextPreview: traceFinalText.slice(0, 500),
|
|
170
|
+
outputTextLen: traceFinalText.length,
|
|
171
|
+
finishReason: traceFinishReason,
|
|
172
|
+
tokensIn,
|
|
173
|
+
tokensOut,
|
|
174
|
+
durationMs: Date.now() - turnStartMs,
|
|
175
|
+
}, sessionName);
|
|
182
176
|
}
|
|
183
177
|
catch (err) {
|
|
184
178
|
reportStatus('idle', 'Request failed');
|
|
@@ -186,6 +180,32 @@ userMessage, completionId, res, hasTools) {
|
|
|
186
180
|
formatError(err, { code: ERROR_CODES.SESSION_ERROR, sessionId: sessionName, details: { phase: 'handleNonStreaming' } });
|
|
187
181
|
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
188
182
|
res.end(JSON.stringify({ error: { message: err.message, type: 'server_error' } }));
|
|
183
|
+
// v0.15.0 Slice 1: turn-trace probe on the error-exit path. Same
|
|
184
|
+
// rationale as streaming-handler — without this, error turns vanish
|
|
185
|
+
// from the trajectory and we can't diagnose greeting-only / broken
|
|
186
|
+
// turns that exit via session-crash or timeout. tokensIn/Out and
|
|
187
|
+
// outputText are zeroed because the request never produced a body.
|
|
188
|
+
try {
|
|
189
|
+
emitTurnTrace({
|
|
190
|
+
path: 'non-streaming',
|
|
191
|
+
model,
|
|
192
|
+
userTextPreview: probeUserText.slice(0, 500),
|
|
193
|
+
userTextLen: probeUserText.length,
|
|
194
|
+
hasTools,
|
|
195
|
+
toolCallCount: 0,
|
|
196
|
+
outputTextPreview: '',
|
|
197
|
+
outputTextLen: 0,
|
|
198
|
+
finishReason: 'error',
|
|
199
|
+
tokensIn: 0,
|
|
200
|
+
tokensOut: 0,
|
|
201
|
+
durationMs: Date.now() - turnStartMs,
|
|
202
|
+
errorMessage: err.message,
|
|
203
|
+
errorName: err.name,
|
|
204
|
+
}, sessionName);
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
/* Probe must never throw inside catch. */
|
|
208
|
+
}
|
|
189
209
|
}
|
|
190
210
|
}
|
|
191
211
|
//# sourceMappingURL=non-streaming-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-streaming-handler.js","sourceRoot":"","sources":["../../../src/openai-compat/non-streaming-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"non-streaming-handler.js","sourceRoot":"","sources":["../../../src/openai-compat/non-streaming-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,29 +155,6 @@ export async function handleChatCompletion(manager, body, headers, res) {
|
|
|
155
155
|
res.end(JSON.stringify({ error: { message: err.message, type: 'invalid_request_error' } }));
|
|
156
156
|
return;
|
|
157
157
|
}
|
|
158
|
-
// v0.14.0 — pre-flight checklist trace. Emitted unconditionally (trajectory
|
|
159
|
-
// gated internally). Token estimate: rough 4 chars/token from system + user msgs.
|
|
160
|
-
try {
|
|
161
|
-
const syspromptText = extracted.systemPrompt ?? '';
|
|
162
|
-
const userText = typeof extracted.userMessage === 'string'
|
|
163
|
-
? extracted.userMessage
|
|
164
|
-
: JSON.stringify(extracted.userMessage);
|
|
165
|
-
const promptTokensEstimate = Math.ceil((syspromptText.length + userText.length) / 4);
|
|
166
|
-
const memoryChecked = syspromptText.includes('MEMORY.md') || syspromptText.includes('## Memory');
|
|
167
|
-
const syspromptValidated = syspromptText.length > 0;
|
|
168
|
-
const expectedLatencyUnderBudget = promptTokensEstimate < 50_000;
|
|
169
|
-
emitTrajectory('turn_preflight', {
|
|
170
|
-
turnId: randomUUID(),
|
|
171
|
-
memory_checked: memoryChecked,
|
|
172
|
-
sysprompt_validated: syspromptValidated,
|
|
173
|
-
expected_latency_under_budget: expectedLatencyUnderBudget,
|
|
174
|
-
promptTokensEstimate,
|
|
175
|
-
model: resolvedModel,
|
|
176
|
-
}, sessionName);
|
|
177
|
-
}
|
|
178
|
-
catch {
|
|
179
|
-
// Preflight trace is observability — must never block the turn
|
|
180
|
-
}
|
|
181
158
|
// Check if session exists
|
|
182
159
|
const existingSessions = manager.listSessions().map((s) => s.name);
|
|
183
160
|
const sessionExists = existingSessions.includes(sessionName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-compat.js","sourceRoot":"","sources":["../../../src/openai-compat/openai-compat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openai-compat.js","sourceRoot":"","sources":["../../../src/openai-compat/openai-compat.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,12 +26,7 @@ export declare function formatCompletionResponse(id: string, model: string, text
|
|
|
26
26
|
* (mirrors OpenAI o1/o3 schema). Caller must already be gated on
|
|
27
27
|
* `getSurfaceThinkingEnabled()` from `lib/config.ts` — this function does
|
|
28
28
|
* not re-check the flag. Pass empty string or undefined to omit. */
|
|
29
|
-
reasoning?: string
|
|
30
|
-
/** v0.17.0: when false, suppress the empty-text "Done." backstop and
|
|
31
|
-
* return an empty string instead. Caller is responsible for the
|
|
32
|
-
* `isDoneBackstopEnabled()` check and for the trajectory event.
|
|
33
|
-
* Defaults true for backcompat with the 12+ existing call sites. */
|
|
34
|
-
backstopEnabled?: boolean): OpenAIChatCompletionResponse;
|
|
29
|
+
reasoning?: string): OpenAIChatCompletionResponse;
|
|
35
30
|
export declare function formatCompletionChunk(id: string, model: string, delta: {
|
|
36
31
|
role?: string;
|
|
37
32
|
content?: string;
|
|
@@ -25,12 +25,7 @@ export function formatCompletionResponse(id, model, text, tokensIn, tokensOut, t
|
|
|
25
25
|
* (mirrors OpenAI o1/o3 schema). Caller must already be gated on
|
|
26
26
|
* `getSurfaceThinkingEnabled()` from `lib/config.ts` — this function does
|
|
27
27
|
* not re-check the flag. Pass empty string or undefined to omit. */
|
|
28
|
-
reasoning
|
|
29
|
-
/** v0.17.0: when false, suppress the empty-text "Done." backstop and
|
|
30
|
-
* return an empty string instead. Caller is responsible for the
|
|
31
|
-
* `isDoneBackstopEnabled()` check and for the trajectory event.
|
|
32
|
-
* Defaults true for backcompat with the 12+ existing call sites. */
|
|
33
|
-
backstopEnabled = true) {
|
|
28
|
+
reasoning) {
|
|
34
29
|
const hasToolCalls = toolCalls && toolCalls.length > 0;
|
|
35
30
|
const hasReasoning = typeof reasoning === 'string' && reasoning.length > 0;
|
|
36
31
|
// v0.7.2 backstop: openclaw upstream's "incomplete terminal response" classifier
|
|
@@ -42,9 +37,7 @@ backstopEnabled = true) {
|
|
|
42
37
|
// tool_calls (i.e. CLI built-ins fired but legacy XML extraction yielded nothing),
|
|
43
38
|
// emit a minimal acknowledgement so the upstream classifier sees a payload.
|
|
44
39
|
// Tool_calls turns are exempt — those are openai-spec-correct with `content: null`.
|
|
45
|
-
|
|
46
|
-
// v0.17.0: `backstopEnabled=false` suppresses the "Done." fallback (text → '').
|
|
47
|
-
const safeContent = text || (hasToolCalls ? null : backstopEnabled ? 'Done.' : '');
|
|
40
|
+
const safeContent = text || (hasToolCalls ? null : 'Done.');
|
|
48
41
|
return {
|
|
49
42
|
id,
|
|
50
43
|
object: 'chat.completion',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-formatter.js","sourceRoot":"","sources":["../../../src/openai-compat/response-formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,MAAM,UAAU,wBAAwB,CACtC,EAAU,EACV,KAAa,EACb,IAAY,EACZ,QAAgB,EAChB,SAAiB,EACjB,SAA4B;AAC5B;;;qEAGqE;AACrE,SAAkB;
|
|
1
|
+
{"version":3,"file":"response-formatter.js","sourceRoot":"","sources":["../../../src/openai-compat/response-formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,MAAM,UAAU,wBAAwB,CACtC,EAAU,EACV,KAAa,EACb,IAAY,EACZ,QAAgB,EAChB,SAAiB,EACjB,SAA4B;AAC5B;;;qEAGqE;AACrE,SAAkB;IAElB,MAAM,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3E,iFAAiF;IACjF,oFAAoF;IACpF,kFAAkF;IAClF,+EAA+E;IAC/E,+EAA+E;IAC/E,mFAAmF;IACnF,mFAAmF;IACnF,4EAA4E;IAC5E,oFAAoF;IACpF,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5D,OAAO;QACL,EAAE;QACF,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,KAAK;QACL,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,WAAW;oBACpB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvC;gBACD,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;aACpD;SACF;QACD,KAAK,EAAE;YACL,aAAa,EAAE,QAAQ;YACvB,iBAAiB,EAAE,SAAS;YAC5B,YAAY,EAAE,QAAQ,GAAG,SAAS;SACnC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,EAAU,EACV,KAAa,EACb,KAA0C,EAC1C,YAA2B;IAE3B,OAAO;QACL,EAAE;QACF,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,KAAK;QACL,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC"}
|