@senpi/runtime 3.0.6-dev.runtime-phase-2.20260630134451 → 3.0.6-dev.runtime-phase-2.20260630134511
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/actions/action-events.d.ts.map +1 -1
- package/dist/actions/action-events.js +39 -5
- package/dist/actions/action-events.js.map +1 -1
- package/dist/actions/event-derivation.d.ts +2 -0
- package/dist/actions/event-derivation.d.ts.map +1 -1
- package/dist/actions/event-derivation.js +2 -0
- package/dist/actions/event-derivation.js.map +1 -1
- package/dist/dsl/events/initial-state.d.ts.map +1 -1
- package/dist/dsl/events/initial-state.js +1 -0
- package/dist/dsl/events/initial-state.js.map +1 -1
- package/dist/dsl/monitor/dsl-failure-events.d.ts +42 -0
- package/dist/dsl/monitor/dsl-failure-events.d.ts.map +1 -0
- package/dist/dsl/monitor/dsl-failure-events.js +73 -0
- package/dist/dsl/monitor/dsl-failure-events.js.map +1 -0
- package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
- package/dist/dsl/monitor/process-one-position.js +46 -37
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -5
- package/dist/index.js.map +1 -1
- package/dist/runtime/lifecycle-events.d.ts +43 -0
- package/dist/runtime/lifecycle-events.d.ts.map +1 -1
- package/dist/runtime/lifecycle-events.js +61 -0
- package/dist/runtime/lifecycle-events.js.map +1 -1
- package/dist/runtime/runtime-schema.d.ts +63 -9
- package/dist/runtime/runtime-schema.d.ts.map +1 -1
- package/dist/runtime/runtime-schema.js +8 -1
- package/dist/runtime/runtime-schema.js.map +1 -1
- package/dist/runtime/runtime.d.ts +6 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +87 -2
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.d.ts +3 -0
- package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js +27 -53
- package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
- package/dist/runtime-api/intake/intake-events.d.ts +44 -0
- package/dist/runtime-api/intake/intake-events.d.ts.map +1 -0
- package/dist/runtime-api/intake/intake-events.js +131 -0
- package/dist/runtime-api/intake/intake-events.js.map +1 -0
- package/dist/runtime-api/intake/scanner-launcher.d.ts +2 -0
- package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.js +58 -15
- package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
- package/dist/runtime-api/intake/supervisor-events.d.ts +61 -0
- package/dist/runtime-api/intake/supervisor-events.d.ts.map +1 -0
- package/dist/runtime-api/intake/supervisor-events.js +173 -0
- package/dist/runtime-api/intake/supervisor-events.js.map +1 -0
- package/dist/runtime-api/routes/signals.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.js +119 -27
- package/dist/runtime-api/routes/signals.js.map +1 -1
- package/dist/runtime-api/server.d.ts.map +1 -1
- package/dist/runtime-api/server.js +10 -1
- package/dist/runtime-api/server.js.map +1 -1
- package/dist/scanners/engine/engine.d.ts.map +1 -1
- package/dist/scanners/engine/engine.js +3 -0
- package/dist/scanners/engine/engine.js.map +1 -1
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +50 -5
- package/dist/senpi/client.js.map +1 -1
- package/dist/state/state-events.d.ts +13 -0
- package/dist/state/state-events.d.ts.map +1 -0
- package/dist/state/state-events.js +22 -0
- package/dist/state/state-events.js.map +1 -0
- package/dist/state/state-manager.d.ts.map +1 -1
- package/dist/state/state-manager.js +14 -1
- package/dist/state/state-manager.js.map +1 -1
- package/dist/telemetry/event-builders.d.ts +0 -2
- package/dist/telemetry/event-builders.d.ts.map +1 -1
- package/dist/telemetry/event-builders.js.map +1 -1
- package/dist/telemetry/identity.d.ts +10 -0
- package/dist/telemetry/identity.d.ts.map +1 -1
- package/dist/telemetry/identity.js +1 -0
- package/dist/telemetry/identity.js.map +1 -1
- package/dist/telemetry/metrics.d.ts +137 -15
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +357 -74
- package/dist/telemetry/metrics.js.map +1 -1
- package/dist/telemetry/otel-sdk.d.ts +1 -1
- package/dist/telemetry/otel-sdk.js +1 -1
- package/dist/telemetry/spans/gen-ai.d.ts +4 -0
- package/dist/telemetry/spans/gen-ai.d.ts.map +1 -1
- package/dist/telemetry/spans/gen-ai.js +9 -0
- package/dist/telemetry/spans/gen-ai.js.map +1 -1
- package/dist/telemetry/spans/redact-pii.d.ts.map +1 -1
- package/dist/telemetry/spans/redact-pii.js +4 -1
- package/dist/telemetry/spans/redact-pii.js.map +1 -1
- package/dist/telemetry/spans/span-hooks.d.ts +7 -0
- package/dist/telemetry/spans/span-hooks.d.ts.map +1 -1
- package/dist/telemetry/spans/span-hooks.js +179 -24
- package/dist/telemetry/spans/span-hooks.js.map +1 -1
- package/dist/telemetry/tool-plane.d.ts +31 -0
- package/dist/telemetry/tool-plane.d.ts.map +1 -0
- package/dist/telemetry/tool-plane.js +70 -0
- package/dist/telemetry/tool-plane.js.map +1 -0
- package/dist/telemetry/trace-identity.d.ts.map +1 -1
- package/dist/telemetry/trace-identity.js +3 -0
- package/dist/telemetry/trace-identity.js.map +1 -1
- package/dist/types/dsl/index.d.ts +6 -0
- package/dist/types/dsl/index.d.ts.map +1 -1
- package/dist/utils/event-catalog.d.ts +237 -0
- package/dist/utils/event-catalog.d.ts.map +1 -1
- package/dist/utils/event-catalog.js +51 -0
- package/dist/utils/event-catalog.js.map +1 -1
- package/dist/utils/logger.d.ts +5 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +18 -8
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact-pii.d.ts","sourceRoot":"","sources":["../../../src/telemetry/spans/redact-pii.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAQD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,OAAO,CAAC,CAgClB;AAUD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAEjE;AAED,wBAAgB,qBAAqB,IAAI,WAAW,GAAG,IAAI,CAE1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAc7C;
|
|
1
|
+
{"version":3,"file":"redact-pii.d.ts","sourceRoot":"","sources":["../../../src/telemetry/spans/redact-pii.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAQD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,OAAO,CAAC,CAgClB;AAUD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAEjE;AAED,wBAAgB,qBAAqB,IAAI,WAAW,GAAG,IAAI,CAE1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAc7C;AAwOD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GACjB,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CA0CvC;AAsBD;;;;GAIG;AACH,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI/E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,WAAW,CAAC,CAkCvE"}
|
|
@@ -118,6 +118,10 @@ export function initDefaultPiiRedactor() {
|
|
|
118
118
|
* in some contexts via undocumented filters; replacing it with our own
|
|
119
119
|
* custom version gives us deterministic behavior.
|
|
120
120
|
* - `TURKEY_ID` — personal national ID, not a credential.
|
|
121
|
+
* - `CARD_AUTH_CODE` — over-broad: emits the `[AUTH_*]` label on ordinary
|
|
122
|
+
* auth vocabulary ("authenticate", "sensitive", "command", "credentials"),
|
|
123
|
+
* which made captured prompts/content unreadable. Card CVV/CVC codes are
|
|
124
|
+
* near-zero-likelihood in this runtime's content, so it's dropped entirely.
|
|
121
125
|
*/
|
|
122
126
|
const ALLOWLISTED_PATTERN_TYPES = [
|
|
123
127
|
// Contact PII (phones come from custom patterns below)
|
|
@@ -127,7 +131,6 @@ const ALLOWLISTED_PATTERN_TYPES = [
|
|
|
127
131
|
"AWS_SECRET_KEY",
|
|
128
132
|
"AZURE_STORAGE_KEY",
|
|
129
133
|
"BEARER_TOKEN",
|
|
130
|
-
"CARD_AUTH_CODE",
|
|
131
134
|
"DOCKER_AUTH",
|
|
132
135
|
"FIREBASE_API_KEY",
|
|
133
136
|
"GENERIC_API_KEY",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact-pii.js","sourceRoot":"","sources":["../../../src/telemetry/spans/redact-pii.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"redact-pii.js","sourceRoot":"","sources":["../../../src/telemetry/spans/redact-pii.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,12 @@ export interface SpanHooksPluginApi {
|
|
|
7
7
|
export interface RegisterSpanHooksOptions {
|
|
8
8
|
api: SpanHooksPluginApi;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Grace window the `agent_end` sweep holds a finished model span before ending it, so a
|
|
12
|
+
* trailing `llm_output` (observed ~1 ms later in the codex/harness flow, but timed generously)
|
|
13
|
+
* can finalize it with token usage + output messages first. Unref'd, so it never holds the
|
|
14
|
+
* process open; an orphan run with no `llm_output` lets the timer end the span.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MODEL_SPAN_END_GRACE_MS = 2000;
|
|
10
17
|
export declare function registerSpanHooks(options: RegisterSpanHooksOptions): void;
|
|
11
18
|
//# sourceMappingURL=span-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-hooks.d.ts","sourceRoot":"","sources":["../../../src/telemetry/spans/span-hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"span-hooks.d.ts","sourceRoot":"","sources":["../../../src/telemetry/spans/span-hooks.ts"],"names":[],"mappings":"AA6DA,gEAAgE;AAChE,MAAM,WAAW,kBAAkB;IACjC,EAAE,CACA,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACrD,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,IAAI,CAAC;CACT;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,kBAAkB,CAAC;CACzB;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAW5C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CA2kBzE"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* registerSpanHooks: wires the
|
|
3
|
-
* before/after_tool_call, the four subagent_* hooks, agent_end) to real
|
|
4
|
-
* spans via the shared `getTracer()`:
|
|
2
|
+
* registerSpanHooks: wires the OpenClaw plugin hooks (llm_input/llm_output,
|
|
3
|
+
* model_call_ended, before/after_tool_call, the four subagent_* hooks, agent_end) to real
|
|
4
|
+
* OTel gen_ai spans via the shared `getTracer()`:
|
|
5
5
|
* - llm_input → llm_output → `chat` (CLIENT)
|
|
6
|
+
* - model_call_ended → outcome/failure on the `chat` span (the only failed-turn signal)
|
|
6
7
|
* - tool_call → `execute_tool` (INTERNAL), parented to the model span
|
|
7
8
|
* - subagent_* lifecycle → `invoke_agent` (INTERNAL), parented to the model span
|
|
8
9
|
* - agent_end → ends any still-open spans for the run
|
|
@@ -20,12 +21,22 @@ import { SpanKind, context as otelContext, propagation, trace, } from "@opentele
|
|
|
20
21
|
import { getTracer } from "../../telemetry/tracing.js";
|
|
21
22
|
import { HEADER_ADDRESS, HEADER_CORRELATION_ID, HEADER_RECIPE_NAME, HEADER_RUNTIME_ID, HEADER_RUNTIME_VERSION, } from "./constants.js";
|
|
22
23
|
import { GEN_AI, errorTypeOf, firstNumber, normalizeGenAiMessages, recordSpanError, setDefinedAttributes, setGenAiContentAttribute, toFinishReasons, } from "./gen-ai.js";
|
|
23
|
-
import { elapsedSeconds,
|
|
24
|
+
import { elapsedSeconds, recordToolCall, recordInvokeAgentDuration, recordOperationDuration, recordTokenUsage, } from "../../telemetry/metrics.js";
|
|
25
|
+
import { emitToolCalled, offeredToolNames, requestedToolNames, } from "../../telemetry/tool-plane.js";
|
|
24
26
|
import { createLogger } from "../../utils/logger.js";
|
|
25
27
|
const logger = createLogger("[senpi-core][span-hooks]");
|
|
28
|
+
/**
|
|
29
|
+
* Grace window the `agent_end` sweep holds a finished model span before ending it, so a
|
|
30
|
+
* trailing `llm_output` (observed ~1 ms later in the codex/harness flow, but timed generously)
|
|
31
|
+
* can finalize it with token usage + output messages first. Unref'd, so it never holds the
|
|
32
|
+
* process open; an orphan run with no `llm_output` lets the timer end the span.
|
|
33
|
+
*/
|
|
34
|
+
export const MODEL_SPAN_END_GRACE_MS = 2000;
|
|
26
35
|
export function registerSpanHooks(options) {
|
|
27
36
|
const { api } = options;
|
|
28
37
|
const tracer = getTracer();
|
|
38
|
+
// Cap on drift events per turn so a flood of invented tool calls can't balloon the log.
|
|
39
|
+
const MAX_DRIFT_EVENTS_PER_TURN = 8;
|
|
29
40
|
// Held model spans, keyed by (sessionKey, runId). The tool/subagent spans parent
|
|
30
41
|
// off the model span for the same session/run.
|
|
31
42
|
const modelSpans = new Map();
|
|
@@ -59,7 +70,10 @@ export function registerSpanHooks(options) {
|
|
|
59
70
|
if (hit)
|
|
60
71
|
return hit;
|
|
61
72
|
}
|
|
62
|
-
|
|
73
|
+
// Last resort: the most-recent session. Only safe when unambiguous — two or more
|
|
74
|
+
// model spans open at once means concurrent runs share this process and `lastActive`
|
|
75
|
+
// could belong to either, so drop the span rather than misattribute it across runs.
|
|
76
|
+
return modelSpans.size <= 1 ? lastActive : null;
|
|
63
77
|
};
|
|
64
78
|
/** Build a parent Context for tool/subagent spans from the host model span (if any). */
|
|
65
79
|
const parentContextForModel = (sessionKey, runId) => {
|
|
@@ -96,10 +110,17 @@ export function registerSpanHooks(options) {
|
|
|
96
110
|
startMs: Date.now(),
|
|
97
111
|
provider,
|
|
98
112
|
model: requestModel,
|
|
113
|
+
// Offered tools — the baseline for the llm_output drift diff. Set only when definitions
|
|
114
|
+
// were delivered (undefined → no diff, i.e. conversation access off); an empty set is
|
|
115
|
+
// authoritative (zero tools offered, so any requested tool is drift).
|
|
116
|
+
offeredTools: Array.isArray(ev.tools) ? offeredToolNames(ev.tools) : undefined,
|
|
99
117
|
};
|
|
100
118
|
modelSpans.set(key, held);
|
|
101
119
|
setDefinedAttributes(span, {
|
|
102
120
|
[GEN_AI.OPERATION_NAME]: "chat",
|
|
121
|
+
// Session key as the conversation id, so consecutive turns of one session correlate (a
|
|
122
|
+
// single per-turn trace otherwise can't be tied to its neighbours — e.g. a runaway loop).
|
|
123
|
+
[GEN_AI.CONVERSATION_ID]: sessionKey,
|
|
103
124
|
[GEN_AI.PROVIDER_NAME]: provider,
|
|
104
125
|
[GEN_AI.REQUEST_MODEL]: requestModel,
|
|
105
126
|
[GEN_AI.REQUEST_TEMPERATURE]: firstNumber(ev.temperature),
|
|
@@ -135,33 +156,60 @@ export function registerSpanHooks(options) {
|
|
|
135
156
|
}
|
|
136
157
|
const span = held.span;
|
|
137
158
|
modelSpans.delete(sessionLlmKey(sessionKey, runId));
|
|
159
|
+
// Cancel any deferred teardown the agent_end sweep scheduled — we finalize the span here.
|
|
160
|
+
if (held.endTimer)
|
|
161
|
+
clearTimeout(held.endTimer);
|
|
138
162
|
const ev = asRecord(event) ?? {};
|
|
139
163
|
const usage = asRecord(ev.usage);
|
|
140
164
|
// Token field naming varies by provider/wrapper; try every known spelling.
|
|
141
165
|
const inputTokens = firstNumber(usage?.input_tokens, usage?.prompt_tokens, usage?.promptTokens, usage?.input);
|
|
142
166
|
const outputTokens = firstNumber(usage?.output_tokens, usage?.completion_tokens, usage?.completionTokens, usage?.output);
|
|
167
|
+
// Cache + total tokens quantify context growth — the signal a silent compaction otherwise hides.
|
|
168
|
+
const cacheReadTokens = firstNumber(usage?.cacheRead, usage?.cache_read_input_tokens);
|
|
169
|
+
const cacheWriteTokens = firstNumber(usage?.cacheWrite, usage?.cache_creation_input_tokens);
|
|
170
|
+
const totalTokens = firstNumber(usage?.total, usage?.total_tokens);
|
|
143
171
|
setDefinedAttributes(span, {
|
|
144
172
|
[GEN_AI.RESPONSE_MODEL]: nonEmptyString(ev.model),
|
|
145
|
-
[GEN_AI.RESPONSE_FINISH_REASONS]: toFinishReasons(ev.finishReason ?? ev.stopReason),
|
|
146
173
|
[GEN_AI.USAGE_INPUT_TOKENS]: inputTokens,
|
|
147
174
|
[GEN_AI.USAGE_OUTPUT_TOKENS]: outputTokens,
|
|
175
|
+
[GEN_AI.USAGE_CACHE_READ_TOKENS]: cacheReadTokens,
|
|
176
|
+
[GEN_AI.USAGE_CACHE_WRITE_TOKENS]: cacheWriteTokens,
|
|
177
|
+
[GEN_AI.USAGE_TOTAL_TOKENS]: totalTokens,
|
|
148
178
|
});
|
|
149
|
-
|
|
150
|
-
|
|
179
|
+
// A failed turn never reaches llm_output; outcome/finish is sourced from
|
|
180
|
+
// model_call_ended, so this hook only carries the success-path content + usage.
|
|
151
181
|
const dims = { provider: held.provider, model: held.model };
|
|
152
|
-
recordTokenUsage(dims, {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
182
|
+
recordTokenUsage(dims, {
|
|
183
|
+
input: inputTokens,
|
|
184
|
+
output: outputTokens,
|
|
185
|
+
cacheRead: cacheReadTokens,
|
|
186
|
+
cacheWrite: cacheWriteTokens,
|
|
156
187
|
});
|
|
188
|
+
recordOperationDuration(elapsedSeconds(held.startMs), dims);
|
|
157
189
|
const outputMessages = buildOutputMessages(ev);
|
|
190
|
+
// Drift alarm: a tool the model requested but was never offered (requested − offered) is a
|
|
191
|
+
// coverage/contract hole — surface each invented name as an `unknown`-outcome event for the
|
|
192
|
+
// agent to read. Runs only when the offered set was captured (i.e. conversation access is on);
|
|
193
|
+
// deduped + capped so a flood of invented calls can't balloon the log.
|
|
194
|
+
if (held.offeredTools) {
|
|
195
|
+
const offered = held.offeredTools;
|
|
196
|
+
const seen = new Set();
|
|
197
|
+
for (const name of requestedToolNames(outputMessages)) {
|
|
198
|
+
if (offered.has(name) || seen.has(name))
|
|
199
|
+
continue;
|
|
200
|
+
if (seen.size >= MAX_DRIFT_EVENTS_PER_TURN)
|
|
201
|
+
break;
|
|
202
|
+
seen.add(name);
|
|
203
|
+
emitToolCalled({ name, origin: "agent", outcome: "unknown" });
|
|
204
|
+
// Count the drift on the metric plane (no duration — the invented call never ran).
|
|
205
|
+
recordToolCall({ toolName: name, origin: "agent", outcome: "unknown" });
|
|
206
|
+
}
|
|
207
|
+
}
|
|
158
208
|
void (async () => {
|
|
159
209
|
try {
|
|
160
210
|
if (held.pending)
|
|
161
211
|
await held.pending;
|
|
162
212
|
await setGenAiContentAttribute(span, GEN_AI.OUTPUT_MESSAGES, outputMessages);
|
|
163
|
-
if (errored)
|
|
164
|
-
recordSpanError(span, error);
|
|
165
213
|
}
|
|
166
214
|
finally {
|
|
167
215
|
try {
|
|
@@ -177,6 +225,42 @@ export function registerSpanHooks(options) {
|
|
|
177
225
|
logger.warn("llm_output handler failed", { err: errMsg(err) });
|
|
178
226
|
}
|
|
179
227
|
});
|
|
228
|
+
// ─── Model-call outcome (enriches the held `chat` span) ────────────────────
|
|
229
|
+
// The provider-call result: `outcome`, `failureKind`, timing. This is the ONLY
|
|
230
|
+
// signal for a failed/aborted turn — `llm_output` never fires when the call
|
|
231
|
+
// errors, so without this a wedged turn is indistinguishable from a healthy one.
|
|
232
|
+
api.on("model_call_ended", (event, agentCtx) => {
|
|
233
|
+
try {
|
|
234
|
+
const sessionKey = readSessionKey(agentCtx, event);
|
|
235
|
+
const runId = readRunId(agentCtx, event);
|
|
236
|
+
if (!sessionKey || !runId)
|
|
237
|
+
return;
|
|
238
|
+
const held = modelSpans.get(sessionLlmKey(sessionKey, runId));
|
|
239
|
+
if (!held)
|
|
240
|
+
return; // span already finalized, or not one we opened — best effort.
|
|
241
|
+
const ev = asRecord(event) ?? {};
|
|
242
|
+
const outcome = nonEmptyString(ev.outcome);
|
|
243
|
+
const failureKind = nonEmptyString(ev.failureKind);
|
|
244
|
+
const errorCategory = nonEmptyString(ev.errorCategory);
|
|
245
|
+
setDefinedAttributes(held.span, {
|
|
246
|
+
"senpi.gen_ai.outcome": outcome,
|
|
247
|
+
"senpi.gen_ai.failure_kind": failureKind,
|
|
248
|
+
"senpi.gen_ai.error_category": errorCategory,
|
|
249
|
+
"senpi.gen_ai.model_call_duration_ms": firstNumber(ev.durationMs),
|
|
250
|
+
});
|
|
251
|
+
if (outcome === "error") {
|
|
252
|
+
// Mark errored so the agent_end sweep doesn't re-record the same failure.
|
|
253
|
+
held.errored = true;
|
|
254
|
+
setDefinedAttributes(held.span, {
|
|
255
|
+
[GEN_AI.RESPONSE_FINISH_REASONS]: toFinishReasons(failureKind ?? "error"),
|
|
256
|
+
});
|
|
257
|
+
recordSpanError(held.span, failureKind ?? errorCategory ?? "model_call_error");
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
catch (err) {
|
|
261
|
+
logger.warn("model_call_ended handler failed", { err: errMsg(err) });
|
|
262
|
+
}
|
|
263
|
+
});
|
|
180
264
|
// ─── Tool (`execute_tool` span) ────────────────────────────────────────────
|
|
181
265
|
api.on("before_tool_call", (event, toolCtx) => {
|
|
182
266
|
try {
|
|
@@ -203,8 +287,11 @@ export function registerSpanHooks(options) {
|
|
|
203
287
|
toolSpans.set(key, held);
|
|
204
288
|
setDefinedAttributes(span, {
|
|
205
289
|
[GEN_AI.OPERATION_NAME]: "execute_tool",
|
|
290
|
+
[GEN_AI.CONVERSATION_ID]: resolved.sessionKey,
|
|
206
291
|
[GEN_AI.TOOL_NAME]: toolName,
|
|
207
292
|
[GEN_AI.TOOL_CALL_ID]: toolCallId ?? undefined,
|
|
293
|
+
// Best-effort skill attribution from a skill-file read (no first-class skill hook exists).
|
|
294
|
+
"senpi.skill.name": skillNameFromToolArgs(ev?.params ?? ev?.input),
|
|
208
295
|
...identityAttributes(identity),
|
|
209
296
|
});
|
|
210
297
|
// Args stamping is async; the finalize (after_tool_call) awaits this so a fast
|
|
@@ -224,6 +311,21 @@ export function registerSpanHooks(options) {
|
|
|
224
311
|
}
|
|
225
312
|
const ev = asRecord(event);
|
|
226
313
|
const toolName = nonEmptyString(ev?.toolName) ?? nonEmptyString(ev?.name) ?? "unknown";
|
|
314
|
+
const error = ev?.error;
|
|
315
|
+
const errored = error !== undefined && error !== null;
|
|
316
|
+
// Tool-plane event (narrative): a failed tool call — the agent-blind hole, greppable instead
|
|
317
|
+
// of span-only. A successful call already rides its span + (state-changing) its domain event,
|
|
318
|
+
// so it is not re-evented here. Emitted before the span lookup so a failure is never lost when
|
|
319
|
+
// the matching before_tool_call span wasn't registered.
|
|
320
|
+
if (errored) {
|
|
321
|
+
emitToolCalled({
|
|
322
|
+
name: toolName,
|
|
323
|
+
origin: "agent",
|
|
324
|
+
outcome: "error",
|
|
325
|
+
errorType: errorTypeOf(error),
|
|
326
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
327
|
+
});
|
|
328
|
+
}
|
|
227
329
|
const toolCallId = nonEmptyString(ev?.toolCallId) ??
|
|
228
330
|
nonEmptyString(asRecord(toolCtx)?.toolCallId) ??
|
|
229
331
|
null;
|
|
@@ -235,12 +337,13 @@ export function registerSpanHooks(options) {
|
|
|
235
337
|
const held = toolSpans.get(foundKey);
|
|
236
338
|
const span = held.span;
|
|
237
339
|
toolSpans.delete(foundKey);
|
|
238
|
-
const error = ev?.error;
|
|
239
|
-
const errored = error !== undefined && error !== null;
|
|
240
340
|
const result = ev?.result;
|
|
241
|
-
|
|
341
|
+
recordToolCall({
|
|
242
342
|
toolName: held.toolName,
|
|
343
|
+
origin: "agent",
|
|
344
|
+
outcome: errored ? "error" : "ok",
|
|
243
345
|
errorType: errored ? errorTypeOf(error) : undefined,
|
|
346
|
+
durationSec: elapsedSeconds(held.startMs),
|
|
244
347
|
});
|
|
245
348
|
void (async () => {
|
|
246
349
|
try {
|
|
@@ -299,6 +402,7 @@ export function registerSpanHooks(options) {
|
|
|
299
402
|
});
|
|
300
403
|
setDefinedAttributes(span, {
|
|
301
404
|
[GEN_AI.OPERATION_NAME]: "invoke_agent",
|
|
405
|
+
[GEN_AI.CONVERSATION_ID]: nonEmptyString(hostSessionKey),
|
|
302
406
|
[GEN_AI.AGENT_NAME]: agentName,
|
|
303
407
|
"senpi.subagent.mode": nonEmptyString(ev?.mode),
|
|
304
408
|
"senpi.subagent.requester": nonEmptyString(ev?.requester),
|
|
@@ -413,16 +517,26 @@ export function registerSpanHooks(options) {
|
|
|
413
517
|
const llmKey = sessionLlmKey(sessionKey, runId);
|
|
414
518
|
const model = modelSpans.get(llmKey);
|
|
415
519
|
if (model) {
|
|
416
|
-
modelSpans.delete(llmKey);
|
|
417
520
|
const errored = outcomeError !== undefined && outcomeError !== null;
|
|
418
521
|
recordOperationDuration(elapsedSeconds(model.startMs), {
|
|
419
522
|
provider: model.provider,
|
|
420
523
|
model: model.model,
|
|
421
524
|
errorType: errored ? errorTypeOf(outcomeError) : undefined,
|
|
422
525
|
});
|
|
423
|
-
if
|
|
526
|
+
// Skip if model_call_ended already recorded the failure on this span.
|
|
527
|
+
if (errored && !model.errored)
|
|
424
528
|
recordSpanError(model.span, outcomeError);
|
|
425
|
-
|
|
529
|
+
// Defer the span end: agent_end fires ~1 ms before the trailing llm_output that
|
|
530
|
+
// carries token usage + output messages. Hold the span (leave it in modelSpans) a
|
|
531
|
+
// short grace so that llm_output can finalize it; if none arrives, the timer ends it.
|
|
532
|
+
if (!model.endTimer) {
|
|
533
|
+
model.endTimer = setTimeout(() => {
|
|
534
|
+
if (modelSpans.get(llmKey) === model)
|
|
535
|
+
modelSpans.delete(llmKey);
|
|
536
|
+
endSpan(model.span);
|
|
537
|
+
}, MODEL_SPAN_END_GRACE_MS);
|
|
538
|
+
model.endTimer.unref?.();
|
|
539
|
+
}
|
|
426
540
|
}
|
|
427
541
|
for (const [k, held] of toolSpans) {
|
|
428
542
|
if (held.sessionKey === sessionKey && held.runId === runId) {
|
|
@@ -436,6 +550,15 @@ export function registerSpanHooks(options) {
|
|
|
436
550
|
endSpan(held.span);
|
|
437
551
|
}
|
|
438
552
|
}
|
|
553
|
+
// Evict the session-resolution memos for this run so they can't grow unbounded
|
|
554
|
+
// over the lifetime of the (long-lived) host process.
|
|
555
|
+
for (const [id, sess] of sessionByAgentId) {
|
|
556
|
+
if (sess.sessionKey === sessionKey && sess.runId === runId)
|
|
557
|
+
sessionByAgentId.delete(id);
|
|
558
|
+
}
|
|
559
|
+
if (lastActive && lastActive.sessionKey === sessionKey && lastActive.runId === runId) {
|
|
560
|
+
lastActive = null;
|
|
561
|
+
}
|
|
439
562
|
}
|
|
440
563
|
catch (err) {
|
|
441
564
|
logger.warn("agent_end handler failed", { err: errMsg(err) });
|
|
@@ -542,6 +665,23 @@ function asRecord(v) {
|
|
|
542
665
|
function nonEmptyString(v) {
|
|
543
666
|
return typeof v === "string" && v.length > 0 ? v : undefined;
|
|
544
667
|
}
|
|
668
|
+
/** A skill loaded by the agent reading a file under `…/skills/<name>/…` (e.g. its SKILL.md). */
|
|
669
|
+
const SKILL_PATH_RE = /(?:^|\/)skills\/([^/]+)\//;
|
|
670
|
+
/**
|
|
671
|
+
* Best-effort skill attribution: there is no first-class skill-invocation hook, so a skill is
|
|
672
|
+
* detectable only by the agent reading its file. Returns the skill name when a tool-call arg path
|
|
673
|
+
* points under a `skills/<name>/` dir, else undefined. Heuristic — a real gateway skill hook,
|
|
674
|
+
* once it exists, would supersede this.
|
|
675
|
+
*/
|
|
676
|
+
function skillNameFromToolArgs(args) {
|
|
677
|
+
const rec = asRecord(args);
|
|
678
|
+
if (!rec)
|
|
679
|
+
return undefined;
|
|
680
|
+
const path = nonEmptyString(rec.path) ?? nonEmptyString(rec.file_path) ?? nonEmptyString(rec.filePath);
|
|
681
|
+
if (!path)
|
|
682
|
+
return undefined;
|
|
683
|
+
return SKILL_PATH_RE.exec(path)?.[1];
|
|
684
|
+
}
|
|
545
685
|
/** Pull request headers out of agentCtx; several common locations are checked. */
|
|
546
686
|
function readHeaders(agentCtx) {
|
|
547
687
|
const ctxObj = asRecord(agentCtx);
|
|
@@ -595,13 +735,28 @@ function buildInputMessages(ev) {
|
|
|
595
735
|
}
|
|
596
736
|
return normalizeGenAiMessages(messages, "user");
|
|
597
737
|
}
|
|
598
|
-
/**
|
|
738
|
+
/**
|
|
739
|
+
* Output messages. Prefer the structured `lastAssistant` — it carries tool calls, which the
|
|
740
|
+
* text-only `assistantTexts` does not. The catch the old `assistantTexts ?? lastAssistant`
|
|
741
|
+
* missed: `assistantTexts` is `[]` (not nullish) on a tool-call-only turn, so `??` never fell
|
|
742
|
+
* through and the turn's output was dropped. Fall back to the text chunks, then any raw content.
|
|
743
|
+
*/
|
|
599
744
|
function buildOutputMessages(ev) {
|
|
600
|
-
const
|
|
745
|
+
const last = ev.lastAssistant;
|
|
746
|
+
if (last !== undefined && last !== null) {
|
|
747
|
+
// A full message object (has a role) passes through; a content array/string/object
|
|
748
|
+
// becomes the body of one assistant message.
|
|
749
|
+
const rec = asRecord(last);
|
|
750
|
+
const message = rec && typeof rec.role === "string" ? last : { role: "assistant", content: last };
|
|
751
|
+
return normalizeGenAiMessages([message], "assistant");
|
|
752
|
+
}
|
|
753
|
+
const texts = Array.isArray(ev.assistantTexts)
|
|
754
|
+
? ev.assistantTexts.filter((t) => typeof t === "string" && t.length > 0)
|
|
755
|
+
: [];
|
|
756
|
+
const content = texts.length > 0 ? texts : ev.content;
|
|
601
757
|
if (content === undefined || content === null)
|
|
602
758
|
return undefined;
|
|
603
|
-
|
|
604
|
-
return normalizeGenAiMessages([{ role: "assistant", content, ...(typeof finish === "string" ? { finish_reason: finish } : {}) }], "assistant");
|
|
759
|
+
return normalizeGenAiMessages([{ role: "assistant", content }], "assistant");
|
|
605
760
|
}
|
|
606
761
|
function errMsg(err) {
|
|
607
762
|
return err instanceof Error ? err.message : String(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-hooks.js","sourceRoot":"","sources":["../../../src/telemetry/spans/span-hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"span-hooks.js","sourceRoot":"","sources":["../../../src/telemetry/spans/span-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool-call observability plane — the events half. One origin-uniform `tool.called` record
|
|
3
|
+
* across every dispatch site (the gateway agent tool hook, the Senpi MCP client), so a single
|
|
4
|
+
* query spans agent + MCP tool use. The trace plane already covers these calls (auto HTTP/undici
|
|
5
|
+
* client spans + the manual `execute_tool`/`tools/call` semantic spans), so this adds events only.
|
|
6
|
+
*
|
|
7
|
+
* Anti-bloat: only abnormal calls are evented here — a failed tool call (`error`) or a drift/
|
|
8
|
+
* hallucinated one (`unknown`). Successful calls (and hot-path polls) stay on the span/metric
|
|
9
|
+
* planes: a successful state-changing call already emits a richer domain event (`position.opened`,
|
|
10
|
+
* `order.placed`, …), and "most-called / heaviest" is a metric-plane question. The schema lives
|
|
11
|
+
* here once so the keys stay identical across origins (the metric plane adds `mcp`/`decision`).
|
|
12
|
+
*/
|
|
13
|
+
export type ToolOrigin = "agent" | "mcp";
|
|
14
|
+
export type ToolOutcome = "ok" | "error" | "unknown" | "denied";
|
|
15
|
+
/** Emit the origin-uniform `tool.called` event. Abnormal outcomes escalate the level to `warn`. */
|
|
16
|
+
export declare function emitToolCalled(opts: {
|
|
17
|
+
name: string;
|
|
18
|
+
origin: ToolOrigin;
|
|
19
|
+
outcome: ToolOutcome;
|
|
20
|
+
errorType?: string;
|
|
21
|
+
errorMessage?: string;
|
|
22
|
+
}): void;
|
|
23
|
+
/**
|
|
24
|
+
* The tool names a turn was OFFERED, from the `llm_input` `tools` definitions — the baseline the
|
|
25
|
+
* drift alarm diffs against. Tolerates the bare `{ name }` and OpenAI `{ function: { name } }`
|
|
26
|
+
* definition shapes. Empty when no definitions were captured (e.g. conversation access is off).
|
|
27
|
+
*/
|
|
28
|
+
export declare function offeredToolNames(tools: unknown): Set<string>;
|
|
29
|
+
/** The tool names a turn REQUESTED, read from the normalized gen_ai output messages (`parts[].tool_call`). */
|
|
30
|
+
export declare function requestedToolNames(outputMessages: unknown): string[];
|
|
31
|
+
//# sourceMappingURL=tool-plane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-plane.d.ts","sourceRoot":"","sources":["../../src/telemetry/tool-plane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;AACzC,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhE,mGAAmG;AACnG,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,IAAI,CAWP;AAQD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAW5D;AAED,8GAA8G;AAC9G,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,EAAE,CAYpE"}
|