@amaster.ai/pi-telemetry 0.1.2-beta.2 → 0.1.2-beta.3

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 CHANGED
@@ -11,6 +11,29 @@ The root package exposes stable exporter contracts plus no-op and composite expo
11
11
  - `@amaster.ai/pi-telemetry/langfuse`: Langfuse SDK and ingestion API exporters.
12
12
  - `@amaster.ai/pi-telemetry/otel`: generic OTLP/HTTP traces exporter.
13
13
 
14
+ ## Events
15
+
16
+ The extension hooks into the following Pi lifecycle events:
17
+
18
+ | Event | Telemetry action |
19
+ |-------|-----------------|
20
+ | `session_start` | Initialize exporters from config |
21
+ | `input` | Start a new trace (traceId boundary = user input) |
22
+ | `turn_start` | Begin a generation span |
23
+ | `before_provider_request` | Record model input |
24
+ | `after_provider_response` | Record model output, usage, latency |
25
+ | `turn_end` | End generation span |
26
+ | `tool_execution_start` | Begin tool span |
27
+ | `tool_execution_end` | End tool span with result |
28
+ | `message_end` | Publish accumulated trace to exporters |
29
+ | `model_select` | Record model switch events |
30
+ | `session_compact` | Record context compaction events |
31
+ | `session_shutdown` | Flush and shutdown exporters |
32
+
33
+ ### Trace lifecycle
34
+
35
+ Traces are scoped to user input boundaries (not individual turns). A single user message may trigger multiple LLM turns and tool calls — all grouped under one trace. The trace is published on `message_end`.
36
+
14
37
  ## Configuration
15
38
 
16
39
  Configuration is read from `.pi/settings.json` under the `"pi-telemetry"` key. Project-level settings (`.pi/settings.json` in the working directory) take priority over user-level settings (`~/.pi/agent/settings.json`).
@@ -1 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAuCpE,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAiIjE"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AAkEtF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAoQjE"}
package/dist/extension.js CHANGED
@@ -3,14 +3,15 @@ import { loadConfigFromFile, resolveConfig } from './config.js';
3
3
  import { CompositeRuntimeEventExporter, NoopRuntimeEventExporter, } from './index.js';
4
4
  import { createLangfuseExporter } from './langfuse.js';
5
5
  import { createOtelExporter } from './otel.js';
6
- function extractModelConfig(payload) {
7
- if (payload && typeof payload === 'object' && 'model' in payload) {
8
- const model = payload.model;
9
- if (typeof model === 'string') {
10
- return { provider: 'unknown', model };
11
- }
6
+ function modelConfigFromCtx(ctx) {
7
+ const model = ctx.model;
8
+ if (!model) {
9
+ return { provider: 'unknown', model: 'unknown' };
12
10
  }
13
- return { provider: 'unknown', model: 'unknown' };
11
+ return {
12
+ provider: model.provider ?? 'unknown',
13
+ model: model.id ?? model.name ?? 'unknown',
14
+ };
14
15
  }
15
16
  function extractOutput(message) {
16
17
  if (!message || typeof message !== 'object')
@@ -30,13 +31,48 @@ function extractOutput(message) {
30
31
  }
31
32
  return texts.length > 0 ? texts.join('\n') : undefined;
32
33
  }
34
+ function simplifyContent(content) {
35
+ if (typeof content === 'string')
36
+ return content;
37
+ if (!Array.isArray(content) || content.length === 0)
38
+ return content;
39
+ const allText = content.every((b) => b && typeof b === 'object' && 'type' in b && b.type === 'text');
40
+ if (allText) {
41
+ const texts = content.map((b) => String(b.text));
42
+ return texts.join('\n');
43
+ }
44
+ return content;
45
+ }
46
+ function mapUsage(usage) {
47
+ const result = {};
48
+ if (typeof usage.input === 'number')
49
+ result.input = usage.input;
50
+ if (typeof usage.output === 'number')
51
+ result.output = usage.output;
52
+ if (typeof usage.cacheRead === 'number')
53
+ result.cacheRead = usage.cacheRead;
54
+ if (typeof usage.cacheWrite === 'number')
55
+ result.cacheWrite = usage.cacheWrite;
56
+ if (typeof usage.totalTokens === 'number')
57
+ result.totalTokens = usage.totalTokens;
58
+ if (usage.cost != null && typeof usage.cost === 'object')
59
+ result.cost = usage.cost;
60
+ return result;
61
+ }
33
62
  export default function telemetryExtension(pi) {
63
+ const inheritedTraceId = process.env.PI_TELEMETRY_TRACE_ID;
64
+ const inheritedSessionId = process.env.PI_TELEMETRY_SESSION_ID;
65
+ const ownerPid = process.env.PI_TELEMETRY_OWNER_PID;
66
+ const isSubagent = Boolean(inheritedTraceId && ownerPid && ownerPid !== String(process.pid));
34
67
  let exporter = new NoopRuntimeEventExporter();
35
- const sessionId = randomUUID();
36
- let currentTraceId;
37
- let turnStartTime;
68
+ const localSessionId = randomUUID();
69
+ const sessionId = isSubagent && inheritedSessionId ? inheritedSessionId : localSessionId;
70
+ let currentTraceId = isSubagent ? inheritedTraceId : undefined;
71
+ let traceStartTime;
72
+ let tracePublished = false;
38
73
  let llmGenerationCounter = 0;
39
74
  let pendingInput;
75
+ let lastModelConfig = { provider: 'unknown', model: 'unknown' };
40
76
  pi.on('session_start', async (_event, ctx) => {
41
77
  const config = resolveConfig(loadConfigFromFile({ cwd: ctx.cwd }));
42
78
  const langfuse = createLangfuseExporter(config);
@@ -51,38 +87,80 @@ export default function telemetryExtension(pi) {
51
87
  });
52
88
  pi.on('input', async (event) => {
53
89
  pendingInput = event.text;
90
+ if (!isSubagent) {
91
+ currentTraceId = randomUUID().replace(/-/g, '');
92
+ process.env.PI_TELEMETRY_TRACE_ID = currentTraceId;
93
+ process.env.PI_TELEMETRY_SESSION_ID = sessionId;
94
+ process.env.PI_TELEMETRY_OWNER_PID = String(process.pid);
95
+ }
96
+ traceStartTime = undefined;
97
+ tracePublished = false;
98
+ llmGenerationCounter = 0;
54
99
  });
55
100
  pi.on('turn_start', async (event) => {
56
- currentTraceId = randomUUID().replace(/-/g, '');
57
- turnStartTime = event.timestamp;
58
- llmGenerationCounter = 0;
59
- await exporter.publish({
60
- id: randomUUID(),
61
- traceId: currentTraceId,
62
- type: 'chat_turn_started',
63
- sessionId,
64
- createdAt: new Date(event.timestamp).toISOString(),
65
- ...(pendingInput !== undefined ? { details: { input: pendingInput } } : {}),
66
- });
67
- pendingInput = undefined;
101
+ if (!currentTraceId) {
102
+ currentTraceId = randomUUID().replace(/-/g, '');
103
+ llmGenerationCounter = 0;
104
+ tracePublished = false;
105
+ }
106
+ if (!traceStartTime) {
107
+ traceStartTime = event.timestamp;
108
+ }
109
+ if (!tracePublished) {
110
+ tracePublished = true;
111
+ if (isSubagent) {
112
+ await exporter.publish({
113
+ id: randomUUID(),
114
+ traceId: currentTraceId,
115
+ type: 'subagent_started',
116
+ sessionId,
117
+ childSessionId: localSessionId,
118
+ createdAt: new Date(event.timestamp).toISOString(),
119
+ ...(pendingInput !== undefined ? { details: { input: pendingInput } } : {}),
120
+ });
121
+ }
122
+ else {
123
+ await exporter.publish({
124
+ id: randomUUID(),
125
+ traceId: currentTraceId,
126
+ type: 'chat_turn_started',
127
+ sessionId,
128
+ createdAt: new Date(event.timestamp).toISOString(),
129
+ ...(pendingInput !== undefined ? { details: { input: pendingInput } } : {}),
130
+ });
131
+ }
132
+ pendingInput = undefined;
133
+ }
68
134
  });
69
135
  pi.on('turn_end', async (event) => {
70
136
  if (!currentTraceId)
71
137
  return;
72
138
  const now = Date.now();
73
- const durationMs = turnStartTime ? now - turnStartTime : undefined;
139
+ const durationMs = traceStartTime ? now - traceStartTime : undefined;
74
140
  const output = extractOutput(event.message);
75
- await exporter.publish({
76
- id: randomUUID(),
77
- traceId: currentTraceId,
78
- type: 'chat_turn_completed',
79
- sessionId,
80
- createdAt: new Date(now).toISOString(),
81
- ...(durationMs !== undefined ? { durationMs } : {}),
82
- ...(output !== undefined ? { details: { output } } : {}),
83
- });
84
- currentTraceId = undefined;
85
- turnStartTime = undefined;
141
+ if (isSubagent) {
142
+ await exporter.publish({
143
+ id: randomUUID(),
144
+ traceId: currentTraceId,
145
+ type: 'subagent_completed',
146
+ sessionId,
147
+ childSessionId: localSessionId,
148
+ createdAt: new Date(now).toISOString(),
149
+ ...(durationMs !== undefined ? { durationMs } : {}),
150
+ ...(output !== undefined ? { details: { output } } : {}),
151
+ });
152
+ }
153
+ else {
154
+ await exporter.publish({
155
+ id: randomUUID(),
156
+ traceId: currentTraceId,
157
+ type: 'chat_turn_completed',
158
+ sessionId,
159
+ createdAt: new Date(now).toISOString(),
160
+ ...(durationMs !== undefined ? { durationMs } : {}),
161
+ ...(output !== undefined ? { details: { output } } : {}),
162
+ });
163
+ }
86
164
  });
87
165
  pi.on('tool_execution_start', async (event) => {
88
166
  if (!currentTraceId)
@@ -90,8 +168,9 @@ export default function telemetryExtension(pi) {
90
168
  await exporter.publish({
91
169
  id: randomUUID(),
92
170
  traceId: currentTraceId,
93
- sessionId,
94
- conversationId: sessionId,
171
+ sessionId: localSessionId,
172
+ conversationId: localSessionId,
173
+ ...(isSubagent ? { childSessionId: localSessionId } : {}),
95
174
  toolCallId: event.toolCallId,
96
175
  toolName: event.toolName,
97
176
  status: 'started',
@@ -105,43 +184,125 @@ export default function telemetryExtension(pi) {
105
184
  await exporter.publish({
106
185
  id: randomUUID(),
107
186
  traceId: currentTraceId,
108
- sessionId,
109
- conversationId: sessionId,
187
+ sessionId: localSessionId,
188
+ conversationId: localSessionId,
189
+ ...(isSubagent ? { childSessionId: localSessionId } : {}),
110
190
  toolCallId: event.toolCallId,
111
191
  toolName: event.toolName,
112
192
  status: event.isError ? 'failed' : 'completed',
113
193
  createdAt: new Date().toISOString(),
114
- ...(event.isError ? { error: String(event.result) } : {}),
194
+ ...(event.isError
195
+ ? { error: typeof event.result === 'string' ? event.result : JSON.stringify(event.result) }
196
+ : {}),
115
197
  });
116
198
  });
117
- pi.on('before_provider_request', async (event) => {
199
+ pi.on('before_provider_request', async (event, ctx) => {
118
200
  if (!currentTraceId)
119
201
  return;
120
202
  llmGenerationCounter++;
203
+ lastModelConfig = modelConfigFromCtx(ctx);
121
204
  await exporter.publish({
122
205
  id: randomUUID(),
123
206
  traceId: currentTraceId,
124
- sessionId,
125
- conversationId: sessionId,
207
+ sessionId: localSessionId,
208
+ conversationId: localSessionId,
209
+ ...(isSubagent ? { childSessionId: localSessionId } : {}),
126
210
  llmGenerationId: `gen-${llmGenerationCounter}`,
127
211
  status: 'started',
128
212
  createdAt: new Date().toISOString(),
129
- model: extractModelConfig(event.payload),
213
+ model: lastModelConfig,
214
+ input: event.payload,
130
215
  });
131
216
  });
132
- pi.on('after_provider_response', async (event) => {
217
+ pi.on('after_provider_response', async (event, ctx) => {
133
218
  if (!currentTraceId)
134
219
  return;
220
+ if (event.status < 400)
221
+ return;
135
222
  await exporter.publish({
136
223
  id: randomUUID(),
137
224
  traceId: currentTraceId,
138
- sessionId,
139
- conversationId: sessionId,
225
+ sessionId: localSessionId,
226
+ conversationId: localSessionId,
227
+ ...(isSubagent ? { childSessionId: localSessionId } : {}),
140
228
  llmGenerationId: `gen-${llmGenerationCounter}`,
141
- status: event.status >= 400 ? 'failed' : 'completed',
229
+ status: 'failed',
230
+ createdAt: new Date().toISOString(),
231
+ model: modelConfigFromCtx(ctx),
232
+ error: `HTTP ${event.status}`,
233
+ });
234
+ });
235
+ pi.on('message_end', async (event) => {
236
+ if (!currentTraceId)
237
+ return;
238
+ const msg = event.message;
239
+ if (msg.role !== 'assistant')
240
+ return;
241
+ const content = simplifyContent(msg.content) ?? extractOutput(event.message);
242
+ const usage = msg.usage;
243
+ const mapped = usage ? mapUsage(usage) : undefined;
244
+ const output = {};
245
+ if (content !== undefined)
246
+ output.content = content;
247
+ if (usage !== undefined)
248
+ output.usage = usage;
249
+ await exporter.publish({
250
+ id: randomUUID(),
251
+ traceId: currentTraceId,
252
+ sessionId: localSessionId,
253
+ conversationId: localSessionId,
254
+ ...(isSubagent ? { childSessionId: localSessionId } : {}),
255
+ llmGenerationId: `gen-${llmGenerationCounter}`,
256
+ status: 'completed',
257
+ createdAt: new Date().toISOString(),
258
+ model: lastModelConfig,
259
+ ...(Object.keys(output).length > 0 ? { output } : {}),
260
+ ...(mapped ? { usage: mapped } : {}),
261
+ ...(typeof msg.responseId === 'string' ? { responseId: msg.responseId } : {}),
262
+ ...(typeof msg.stopReason === 'string' ? { stopReason: msg.stopReason } : {}),
263
+ });
264
+ });
265
+ pi.on('model_select', async (event) => {
266
+ if (!currentTraceId)
267
+ return;
268
+ const evt = event;
269
+ const model = evt.model;
270
+ const previousModel = evt.previousModel;
271
+ await exporter.publish({
272
+ id: randomUUID(),
273
+ traceId: currentTraceId,
274
+ type: 'chat_turn_steered',
275
+ sessionId,
276
+ createdAt: new Date().toISOString(),
277
+ details: {
278
+ eventType: 'model_switch',
279
+ from: previousModel
280
+ ? {
281
+ provider: String(previousModel.provider ?? 'unknown'),
282
+ model: String(previousModel.id ?? 'unknown'),
283
+ }
284
+ : null,
285
+ to: model
286
+ ? { provider: String(model.provider ?? 'unknown'), model: String(model.id ?? 'unknown') }
287
+ : null,
288
+ source: String(evt.source ?? 'unknown'),
289
+ },
290
+ });
291
+ });
292
+ pi.on('session_compact', async (event) => {
293
+ if (!currentTraceId)
294
+ return;
295
+ const evt = event;
296
+ await exporter.publish({
297
+ id: randomUUID(),
298
+ traceId: currentTraceId,
299
+ type: 'chat_turn_steered',
300
+ sessionId,
142
301
  createdAt: new Date().toISOString(),
143
- model: extractModelConfig(undefined),
144
- ...(event.status >= 400 ? { error: `HTTP ${event.status}` } : {}),
302
+ details: {
303
+ eventType: 'session_compact',
304
+ fromExtension: evt.fromExtension ?? false,
305
+ },
145
306
  });
146
307
  });
147
308
  pi.on('session_shutdown', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,16 @@
1
1
  {
2
2
  "name": "@amaster.ai/pi-telemetry",
3
- "version": "0.1.2-beta.2",
3
+ "version": "0.1.2-beta.3",
4
+ "description": "Pi extension for runtime telemetry with Langfuse and OpenTelemetry exporters",
5
+ "keywords": [
6
+ "pi",
7
+ "extension",
8
+ "telemetry",
9
+ "observability",
10
+ "langfuse",
11
+ "opentelemetry",
12
+ "tracing"
13
+ ],
4
14
  "license": "Apache-2.0",
5
15
  "type": "module",
6
16
  "sideEffects": false,
@@ -50,7 +60,7 @@
50
60
  },
51
61
  "dependencies": {
52
62
  "langfuse": "^3.38.20",
53
- "@amaster.ai/pi-shared": "0.1.2-beta.2"
63
+ "@amaster.ai/pi-shared": "0.1.2-beta.3"
54
64
  },
55
65
  "peerDependencies": {
56
66
  "@earendil-works/pi-coding-agent": ">=0.74.0"