@senpi/runtime 3.0.6-dev.runtime-phase-2.20260630134410 → 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/{tracking-helpers.d.ts → action-events.d.ts} +24 -23
- package/dist/actions/action-events.d.ts.map +1 -0
- package/dist/actions/{tracking-helpers.js → action-events.js} +64 -82
- package/dist/actions/action-events.js.map +1 -0
- package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
- package/dist/actions/close-position/close-position.action.js +8 -17
- package/dist/actions/close-position/close-position.action.js.map +1 -1
- package/dist/actions/event-derivation.d.ts +7 -6
- package/dist/actions/event-derivation.d.ts.map +1 -1
- package/dist/actions/event-derivation.js +6 -5
- package/dist/actions/event-derivation.js.map +1 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.js +5 -5
- package/dist/actions/llm-decision/openclaw-llm-decision.js.map +1 -1
- package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
- package/dist/actions/open-position/open-position.action.js +9 -17
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.js +1 -2
- package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
- package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
- package/dist/dsl/engine-client/event-mapping.js +0 -3
- package/dist/dsl/engine-client/event-mapping.js.map +1 -1
- package/dist/dsl/events/build-closed-event.d.ts.map +1 -1
- package/dist/dsl/events/build-closed-event.js +0 -1
- package/dist/dsl/events/build-closed-event.js.map +1 -1
- package/dist/dsl/events/handlers.d.ts.map +1 -1
- package/dist/dsl/events/handlers.js +2 -4
- package/dist/dsl/events/handlers.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/create-monitor.d.ts +1 -1
- package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
- package/dist/dsl/monitor/create-monitor.js +0 -30
- package/dist/dsl/monitor/create-monitor.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 -158
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/dsl/plugin/index.js +3 -3
- package/dist/dsl/plugin/index.js.map +1 -1
- package/dist/dsl/plugin/options.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -58
- package/dist/index.js.map +1 -1
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.d.ts +2 -0
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.d.ts.map +1 -1
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.js +24 -3
- package/dist/runtime/__tests__/helpers/runtime-gateway-harness.js.map +1 -1
- package/dist/runtime/create-runtime-context.d.ts +1 -1
- package/dist/runtime/create-runtime-context.d.ts.map +1 -1
- package/dist/runtime/create-scanner-module.d.ts +1 -1
- package/dist/runtime/domain-events.d.ts +4 -4
- package/dist/runtime/domain-events.d.ts.map +1 -1
- package/dist/runtime/domain-events.js +4 -4
- package/dist/runtime/domain-events.js.map +1 -1
- package/dist/runtime/lifecycle-events.d.ts +46 -3
- package/dist/runtime/lifecycle-events.d.ts.map +1 -1
- package/dist/runtime/lifecycle-events.js +66 -5
- package/dist/runtime/lifecycle-events.js.map +1 -1
- package/dist/{tracking → runtime}/position-id-registry.d.ts +14 -1
- package/dist/runtime/position-id-registry.d.ts.map +1 -0
- package/dist/{tracking → runtime}/position-id-registry.js +20 -3
- package/dist/runtime/position-id-registry.js.map +1 -0
- package/dist/runtime/run.d.ts +2 -4
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/runtime-schema.d.ts +156 -419
- package/dist/runtime/runtime-schema.d.ts.map +1 -1
- package/dist/runtime/runtime-schema.js +8 -28
- package/dist/runtime/runtime-schema.js.map +1 -1
- package/dist/runtime/runtime.d.ts +10 -9
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +116 -182
- 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/data-providers.d.ts +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/scanners/runtime-module.d.ts +1 -1
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +51 -6
- 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/attributes.d.ts +13 -0
- package/dist/telemetry/attributes.d.ts.map +1 -0
- package/dist/telemetry/attributes.js +22 -0
- package/dist/telemetry/attributes.js.map +1 -0
- package/dist/{tracking → telemetry}/context.d.ts +6 -5
- package/dist/telemetry/context.d.ts.map +1 -0
- package/dist/{tracking → telemetry}/context.js +4 -4
- package/dist/telemetry/context.js.map +1 -0
- package/dist/{recording/records.d.ts → telemetry/event-builders.d.ts} +138 -32
- package/dist/telemetry/event-builders.d.ts.map +1 -0
- package/dist/{recording/wiring/record-builders.js → telemetry/event-builders.js} +90 -39
- package/dist/telemetry/event-builders.js.map +1 -0
- package/dist/telemetry/identity.d.ts +72 -0
- package/dist/telemetry/identity.d.ts.map +1 -0
- package/dist/{recording/wiring → telemetry}/identity.js +6 -2
- package/dist/telemetry/identity.js.map +1 -0
- 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/constants.d.ts.map +1 -0
- package/dist/telemetry/spans/constants.js.map +1 -0
- package/dist/{tracking → telemetry}/spans/gen-ai.d.ts +4 -0
- package/dist/telemetry/spans/gen-ai.d.ts.map +1 -0
- package/dist/{tracking → telemetry}/spans/gen-ai.js +9 -0
- package/dist/telemetry/spans/gen-ai.js.map +1 -0
- package/dist/telemetry/spans/index.d.ts.map +1 -0
- package/dist/telemetry/spans/index.js.map +1 -0
- package/dist/telemetry/spans/redact-pii.d.ts.map +1 -0
- package/dist/{tracking → telemetry}/spans/redact-pii.js +4 -1
- package/dist/telemetry/spans/redact-pii.js.map +1 -0
- package/dist/telemetry/spans/sanitize-payload.d.ts.map +1 -0
- package/dist/telemetry/spans/sanitize-payload.js.map +1 -0
- package/dist/telemetry/spans/span-hooks.d.ts +18 -0
- package/dist/telemetry/spans/span-hooks.d.ts.map +1 -0
- package/dist/{tracking → telemetry}/spans/span-hooks.js +183 -28
- package/dist/telemetry/spans/span-hooks.js.map +1 -0
- 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 +1 -1
- 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 +8 -9
- package/dist/types/dsl/index.d.ts.map +1 -1
- package/dist/types/runtime.d.ts +1 -1
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/utils/event-catalog.d.ts +239 -2
- package/dist/utils/event-catalog.d.ts.map +1 -1
- package/dist/utils/event-catalog.js +53 -2
- 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 +21 -12
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -1
- package/dist/actions/tracking-helpers.d.ts.map +0 -1
- package/dist/actions/tracking-helpers.js.map +0 -1
- package/dist/recording/emitter.d.ts +0 -27
- package/dist/recording/emitter.d.ts.map +0 -1
- package/dist/recording/emitter.js +0 -2
- package/dist/recording/emitter.js.map +0 -1
- package/dist/recording/identity.d.ts +0 -34
- package/dist/recording/identity.d.ts.map +0 -1
- package/dist/recording/identity.js +0 -2
- package/dist/recording/identity.js.map +0 -1
- package/dist/recording/index.d.ts +0 -11
- package/dist/recording/index.d.ts.map +0 -1
- package/dist/recording/index.js +0 -2
- package/dist/recording/index.js.map +0 -1
- package/dist/recording/noop-emitter.d.ts +0 -23
- package/dist/recording/noop-emitter.d.ts.map +0 -1
- package/dist/recording/noop-emitter.js +0 -22
- package/dist/recording/noop-emitter.js.map +0 -1
- package/dist/recording/otel/attributes.d.ts +0 -37
- package/dist/recording/otel/attributes.d.ts.map +0 -1
- package/dist/recording/otel/attributes.js +0 -131
- package/dist/recording/otel/attributes.js.map +0 -1
- package/dist/recording/otel/constants.d.ts +0 -123
- package/dist/recording/otel/constants.d.ts.map +0 -1
- package/dist/recording/otel/constants.js +0 -172
- package/dist/recording/otel/constants.js.map +0 -1
- package/dist/recording/otel/ids.d.ts +0 -25
- package/dist/recording/otel/ids.d.ts.map +0 -1
- package/dist/recording/otel/ids.js +0 -37
- package/dist/recording/otel/ids.js.map +0 -1
- package/dist/recording/otel/index.d.ts +0 -13
- package/dist/recording/otel/index.d.ts.map +0 -1
- package/dist/recording/otel/index.js +0 -9
- package/dist/recording/otel/index.js.map +0 -1
- package/dist/recording/otel/mappers.d.ts +0 -100
- package/dist/recording/otel/mappers.d.ts.map +0 -1
- package/dist/recording/otel/mappers.js +0 -684
- package/dist/recording/otel/mappers.js.map +0 -1
- package/dist/recording/otel/otel-emitter.d.ts +0 -43
- package/dist/recording/otel/otel-emitter.d.ts.map +0 -1
- package/dist/recording/otel/otel-emitter.js +0 -99
- package/dist/recording/otel/otel-emitter.js.map +0 -1
- package/dist/recording/otel/redaction.d.ts +0 -47
- package/dist/recording/otel/redaction.d.ts.map +0 -1
- package/dist/recording/otel/redaction.js +0 -88
- package/dist/recording/otel/redaction.js.map +0 -1
- package/dist/recording/records.d.ts.map +0 -1
- package/dist/recording/records.js +0 -14
- package/dist/recording/records.js.map +0 -1
- package/dist/recording/transport/batcher.d.ts +0 -59
- package/dist/recording/transport/batcher.d.ts.map +0 -1
- package/dist/recording/transport/batcher.js +0 -234
- package/dist/recording/transport/batcher.js.map +0 -1
- package/dist/recording/transport/client.d.ts +0 -41
- package/dist/recording/transport/client.d.ts.map +0 -1
- package/dist/recording/transport/client.js +0 -69
- package/dist/recording/transport/client.js.map +0 -1
- package/dist/recording/transport/config.d.ts +0 -53
- package/dist/recording/transport/config.d.ts.map +0 -1
- package/dist/recording/transport/config.js +0 -41
- package/dist/recording/transport/config.js.map +0 -1
- package/dist/recording/transport/index.d.ts +0 -16
- package/dist/recording/transport/index.d.ts.map +0 -1
- package/dist/recording/transport/index.js +0 -12
- package/dist/recording/transport/index.js.map +0 -1
- package/dist/recording/transport/rows.d.ts +0 -88
- package/dist/recording/transport/rows.d.ts.map +0 -1
- package/dist/recording/transport/rows.js +0 -15
- package/dist/recording/transport/rows.js.map +0 -1
- package/dist/recording/wiring/emitter-factory.d.ts +0 -34
- package/dist/recording/wiring/emitter-factory.d.ts.map +0 -1
- package/dist/recording/wiring/emitter-factory.js +0 -44
- package/dist/recording/wiring/emitter-factory.js.map +0 -1
- package/dist/recording/wiring/identity.d.ts +0 -27
- package/dist/recording/wiring/identity.d.ts.map +0 -1
- package/dist/recording/wiring/identity.js.map +0 -1
- package/dist/recording/wiring/index.d.ts +0 -12
- package/dist/recording/wiring/index.d.ts.map +0 -1
- package/dist/recording/wiring/index.js +0 -9
- package/dist/recording/wiring/index.js.map +0 -1
- package/dist/recording/wiring/record-builders.d.ts +0 -107
- package/dist/recording/wiring/record-builders.d.ts.map +0 -1
- package/dist/recording/wiring/record-builders.js.map +0 -1
- package/dist/recording/wiring/subscriber.d.ts +0 -28
- package/dist/recording/wiring/subscriber.d.ts.map +0 -1
- package/dist/recording/wiring/subscriber.js +0 -173
- package/dist/recording/wiring/subscriber.js.map +0 -1
- package/dist/recording/wiring/values.d.ts +0 -19
- package/dist/recording/wiring/values.d.ts.map +0 -1
- package/dist/recording/wiring/values.js +0 -49
- package/dist/recording/wiring/values.js.map +0 -1
- package/dist/tracking/build-rehydrate-items.d.ts +0 -15
- package/dist/tracking/build-rehydrate-items.d.ts.map +0 -1
- package/dist/tracking/build-rehydrate-items.js +0 -19
- package/dist/tracking/build-rehydrate-items.js.map +0 -1
- package/dist/tracking/constants.d.ts +0 -24
- package/dist/tracking/constants.d.ts.map +0 -1
- package/dist/tracking/constants.js +0 -52
- package/dist/tracking/constants.js.map +0 -1
- package/dist/tracking/context.d.ts.map +0 -1
- package/dist/tracking/context.js.map +0 -1
- package/dist/tracking/index.d.ts +0 -16
- package/dist/tracking/index.d.ts.map +0 -1
- package/dist/tracking/index.js +0 -11
- package/dist/tracking/index.js.map +0 -1
- package/dist/tracking/plugin-event-tracker.d.ts +0 -13
- package/dist/tracking/plugin-event-tracker.d.ts.map +0 -1
- package/dist/tracking/plugin-event-tracker.js +0 -27
- package/dist/tracking/plugin-event-tracker.js.map +0 -1
- package/dist/tracking/position-id-registry.d.ts.map +0 -1
- package/dist/tracking/position-id-registry.js.map +0 -1
- package/dist/tracking/spans/constants.d.ts.map +0 -1
- package/dist/tracking/spans/constants.js.map +0 -1
- package/dist/tracking/spans/gen-ai.d.ts.map +0 -1
- package/dist/tracking/spans/gen-ai.js.map +0 -1
- package/dist/tracking/spans/index.d.ts.map +0 -1
- package/dist/tracking/spans/index.js.map +0 -1
- package/dist/tracking/spans/redact-pii.d.ts.map +0 -1
- package/dist/tracking/spans/redact-pii.js.map +0 -1
- package/dist/tracking/spans/sanitize-payload.d.ts.map +0 -1
- package/dist/tracking/spans/sanitize-payload.js.map +0 -1
- package/dist/tracking/spans/span-hooks.d.ts +0 -11
- package/dist/tracking/spans/span-hooks.d.ts.map +0 -1
- package/dist/tracking/spans/span-hooks.js.map +0 -1
- package/dist/tracking/tracker.d.ts +0 -30
- package/dist/tracking/tracker.d.ts.map +0 -1
- package/dist/tracking/tracker.js +0 -66
- package/dist/tracking/tracker.js.map +0 -1
- package/dist/tracking/tracking-handler.d.ts +0 -12
- package/dist/tracking/tracking-handler.d.ts.map +0 -1
- package/dist/tracking/tracking-handler.js +0 -148
- package/dist/tracking/tracking-handler.js.map +0 -1
- package/dist/tracking/transport.d.ts +0 -35
- package/dist/tracking/transport.d.ts.map +0 -1
- package/dist/tracking/transport.js +0 -133
- package/dist/tracking/transport.js.map +0 -1
- package/dist/tracking/types.d.ts +0 -21
- package/dist/tracking/types.d.ts.map +0 -1
- package/dist/tracking/types.js +0 -6
- package/dist/tracking/types.js.map +0 -1
- /package/dist/{tracking → telemetry}/spans/constants.d.ts +0 -0
- /package/dist/{tracking → telemetry}/spans/constants.js +0 -0
- /package/dist/{tracking → telemetry}/spans/index.d.ts +0 -0
- /package/dist/{tracking → telemetry}/spans/index.js +0 -0
- /package/dist/{tracking → telemetry}/spans/redact-pii.d.ts +0 -0
- /package/dist/{tracking → telemetry}/spans/sanitize-payload.d.ts +0 -0
- /package/dist/{tracking → telemetry}/spans/sanitize-payload.js +0 -0
|
@@ -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",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact-pii.js","sourceRoot":"","sources":["../../../src/telemetry/spans/redact-pii.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-payload.d.ts","sourceRoot":"","sources":["../../../src/telemetry/spans/sanitize-payload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAY3D;AAQD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAwB5D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-payload.js","sourceRoot":"","sources":["../../../src/telemetry/spans/sanitize-payload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,wBAAwB,GAC5B,+GAA+G,CAAC;AAClH,MAAM,2BAA2B,GAAG,6BAA6B,CAAC;AAClE,MAAM,0BAA0B,GAC9B,uEAAuE,CAAC;AAC1E,MAAM,oBAAoB,GAAG,4DAA4D,CAAC;AAC1F,MAAM,0BAA0B,GAC9B,yKAAyK,CAAC;AAE5K,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,MAAM,kBAAkB,GAAG,KAAK;SAC7B,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;SACxB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;SACrB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,MAAM,sBAAsB,GAAG,kBAAkB;SAC9C,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;SACxC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;SACvC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;SACvC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;SACjC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,sBAAsB,CAAC,OAAO,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,SAAS,KAAK,IAAI;gBAAE,OAAO,GAAG,IAAI,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YACtB,IAAI,SAAS,KAAK,KAAK;gBAAE,OAAO,GAAG,IAAI,CAAC;QAC1C,CAAC;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Minimal shape of the OpenClaw plugin API surface we need. */
|
|
2
|
+
export interface SpanHooksPluginApi {
|
|
3
|
+
on(hookName: string, handler: (...args: unknown[]) => void | Promise<void>, opts?: {
|
|
4
|
+
priority?: number;
|
|
5
|
+
}): void;
|
|
6
|
+
}
|
|
7
|
+
export interface RegisterSpanHooksOptions {
|
|
8
|
+
api: SpanHooksPluginApi;
|
|
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;
|
|
17
|
+
export declare function registerSpanHooks(options: RegisterSpanHooksOptions): void;
|
|
18
|
+
//# sourceMappingURL=span-hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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
|
|
@@ -13,19 +14,29 @@
|
|
|
13
14
|
*
|
|
14
15
|
* Identity rides as `senpi.*` attributes from the `X-Senpi-*` headers (ALS doesn't cross
|
|
15
16
|
* the loopback fetch). The trading trace is joined by the `traceparent` header when present
|
|
16
|
-
* (nesting under `signal.process`), else by a `senpi.
|
|
17
|
+
* (nesting under `signal.process`), else by a `senpi.run.id` attribute. Handlers
|
|
17
18
|
* never throw.
|
|
18
19
|
*/
|
|
19
20
|
import { SpanKind, context as otelContext, propagation, trace, } from "@opentelemetry/api";
|
|
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) });
|
|
@@ -505,15 +628,15 @@ function identityAttributes(identity) {
|
|
|
505
628
|
if (identity.runtimeId)
|
|
506
629
|
attrs["senpi.runtime.id"] = clampHeader(identity.runtimeId);
|
|
507
630
|
// Fallback join key to the trading trace when traceparent didn't thread through.
|
|
508
|
-
if (identity.
|
|
509
|
-
attrs["senpi.
|
|
631
|
+
if (identity.runId && UUID_RE.test(identity.runId)) {
|
|
632
|
+
attrs["senpi.run.id"] = identity.runId;
|
|
510
633
|
}
|
|
511
634
|
return attrs;
|
|
512
635
|
}
|
|
513
636
|
function readIdentity(agentCtx) {
|
|
514
637
|
const headers = readHeaders(agentCtx);
|
|
515
638
|
return {
|
|
516
|
-
|
|
639
|
+
runId: headers[HEADER_CORRELATION_ID],
|
|
517
640
|
address: headers[HEADER_ADDRESS],
|
|
518
641
|
recipeName: headers[HEADER_RECIPE_NAME],
|
|
519
642
|
runtimeId: headers[HEADER_RUNTIME_ID],
|
|
@@ -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);
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
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
|
+
import { createLogger } from "../utils/logger.js";
|
|
14
|
+
import { EVENT_NAME, eventAttrs } from "../utils/event-catalog.js";
|
|
15
|
+
const logger = createLogger("[senpi][tool-plane]");
|
|
16
|
+
/** Emit the origin-uniform `tool.called` event. Abnormal outcomes escalate the level to `warn`. */
|
|
17
|
+
export function emitToolCalled(opts) {
|
|
18
|
+
logger.event(EVENT_NAME.toolCalled, opts.outcome === "ok" ? "info" : "warn", {
|
|
19
|
+
body: `tool ${opts.name} (${opts.origin}) → ${opts.outcome}`,
|
|
20
|
+
attributes: eventAttrs({
|
|
21
|
+
"gen_ai.tool.name": opts.name,
|
|
22
|
+
"senpi.tool.origin": opts.origin,
|
|
23
|
+
"senpi.tool.outcome": opts.outcome,
|
|
24
|
+
"error.type": opts.errorType,
|
|
25
|
+
}),
|
|
26
|
+
...(opts.errorMessage ? { redact: { error_message: opts.errorMessage } } : {}),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
// ─── Drift-alarm extractors ───────────────────────────────────────────────────
|
|
30
|
+
function asRecord(v) {
|
|
31
|
+
return v && typeof v === "object" && !Array.isArray(v) ? v : undefined;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The tool names a turn was OFFERED, from the `llm_input` `tools` definitions — the baseline the
|
|
35
|
+
* drift alarm diffs against. Tolerates the bare `{ name }` and OpenAI `{ function: { name } }`
|
|
36
|
+
* definition shapes. Empty when no definitions were captured (e.g. conversation access is off).
|
|
37
|
+
*/
|
|
38
|
+
export function offeredToolNames(tools) {
|
|
39
|
+
const out = new Set();
|
|
40
|
+
if (!Array.isArray(tools))
|
|
41
|
+
return out;
|
|
42
|
+
for (const t of tools) {
|
|
43
|
+
const rec = asRecord(t);
|
|
44
|
+
if (!rec)
|
|
45
|
+
continue;
|
|
46
|
+
const fn = asRecord(rec.function);
|
|
47
|
+
const name = typeof rec.name === "string" ? rec.name : typeof fn?.name === "string" ? fn.name : undefined;
|
|
48
|
+
if (name)
|
|
49
|
+
out.add(name);
|
|
50
|
+
}
|
|
51
|
+
return out;
|
|
52
|
+
}
|
|
53
|
+
/** The tool names a turn REQUESTED, read from the normalized gen_ai output messages (`parts[].tool_call`). */
|
|
54
|
+
export function requestedToolNames(outputMessages) {
|
|
55
|
+
const out = [];
|
|
56
|
+
if (!Array.isArray(outputMessages))
|
|
57
|
+
return out;
|
|
58
|
+
for (const msg of outputMessages) {
|
|
59
|
+
const parts = asRecord(msg)?.parts;
|
|
60
|
+
if (!Array.isArray(parts))
|
|
61
|
+
continue;
|
|
62
|
+
for (const part of parts) {
|
|
63
|
+
const rec = asRecord(part);
|
|
64
|
+
if (rec?.type === "tool_call" && typeof rec.name === "string")
|
|
65
|
+
out.push(rec.name);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return out;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=tool-plane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-plane.js","sourceRoot":"","sources":["../../src/telemetry/tool-plane.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* async-context bag the logger reads at emit time (see `trackingContext.identityAttributes`).
|
|
12
12
|
*/
|
|
13
13
|
import type { Attributes } from "@opentelemetry/api";
|
|
14
|
-
import type { IdentityEnvelope } from "../
|
|
14
|
+
import type { IdentityEnvelope } from "../telemetry/identity.js";
|
|
15
15
|
/**
|
|
16
16
|
* Map the runtime {@link IdentityEnvelope} to its `senpi.*` trace attributes. Optional
|
|
17
17
|
* envelope fields are omitted when unset rather than emitted as empty/undefined, so a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-identity.d.ts","sourceRoot":"","sources":["../../src/telemetry/trace-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAMjE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"trace-identity.d.ts","sourceRoot":"","sources":["../../src/telemetry/trace-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAMjE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,UAAU,CAiB9E;AAED;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY1F"}
|