@countly/ai-sdk-mastra 0.0.3 → 0.0.4
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 +77 -0
- package/dist/adapter.d.ts +9 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +18 -10
- package/dist/adapter.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/span-aggregator.d.ts.map +1 -1
- package/dist/span-aggregator.js +121 -4
- package/dist/span-aggregator.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -90,9 +90,52 @@ agent.stream(msg, { ↓
|
|
|
90
90
|
- Automatic trace completion when the root span ends (no `parentSpanId`)
|
|
91
91
|
- Token usage, cost, and latency aggregated across all spans of a trace
|
|
92
92
|
- Tool calls within agent workflows (`function_call` and `mcp_tool_call` types)
|
|
93
|
+
- **Workflow steps** — each `createStep` node's `inputData` captured as tool params (see below)
|
|
93
94
|
- Error reporting for failed traces
|
|
94
95
|
- Per-user aggregation across agent runs
|
|
95
96
|
|
|
97
|
+
## Capturing workflow steps
|
|
98
|
+
|
|
99
|
+
If you orchestrate agents with Mastra **workflows** (`createWorkflow` / `createStep`),
|
|
100
|
+
the steps only reach the exporter when the workflow is **registered on the Mastra
|
|
101
|
+
instance** and run **through that instance**. A workflow imported and run standalone
|
|
102
|
+
(`myWorkflow.createRun()`) has no observability wired to it — only the agent runs it
|
|
103
|
+
invokes are traced, and the step decisions (routing, handoffs, gathered inputs) are
|
|
104
|
+
invisible.
|
|
105
|
+
|
|
106
|
+
Register the workflow and run it via `getWorkflow`:
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
const mastra = new Mastra({
|
|
110
|
+
agents: { intentAgent, pluginsAgent },
|
|
111
|
+
workflows: { myWorkflow }, // ← register it
|
|
112
|
+
observability: new Observability({ /* … exporter … */ }),
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// Run THROUGH the instance so its spans inherit observability:
|
|
116
|
+
const run = await mastra.getWorkflow("myWorkflow").createRun();
|
|
117
|
+
await run.stream({ inputData, requestContext: ctx });
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Once registered, each **leaf** `createStep` surfaces as a tool row:
|
|
121
|
+
|
|
122
|
+
- `tool_name` = the step's `entityId` (hyphens normalized to underscores, e.g.
|
|
123
|
+
`potential-handoff` → `potential_handoff`), so it aggregates with function/MCP
|
|
124
|
+
tool rows of the same name.
|
|
125
|
+
- `[CLY]_llm_tool_usage_parameter` rows are emitted per key of the step's
|
|
126
|
+
`inputData` — `{ handoff_to, confidence, user_input, … }` become named params
|
|
127
|
+
you can break down in analytics.
|
|
128
|
+
- **Structural wrapper steps are skipped.** A `.then(nestedWorkflow)` /
|
|
129
|
+
`.branch([… nestedWorkflow])` surfaces as a `workflow_step` whose `entityId`
|
|
130
|
+
is that nested workflow's id; those are excluded so only real decision steps
|
|
131
|
+
become rows.
|
|
132
|
+
- The **`workflow_run` root** interaction (which carries no agent and no model)
|
|
133
|
+
is labelled with `workflow_name` = the root workflow's `entityName`, so it is
|
|
134
|
+
attributable rather than an unlabelled "unknown" row.
|
|
135
|
+
|
|
136
|
+
> Nested workflows are traced too: register only the top-level workflow you run —
|
|
137
|
+
> its `.then()` / `.branch()` children are traced automatically as part of the run.
|
|
138
|
+
|
|
96
139
|
## Configuration
|
|
97
140
|
|
|
98
141
|
All adapters accept the same `CountlyAIConfig` object:
|
|
@@ -111,6 +154,40 @@ All adapters accept the same `CountlyAIConfig` object:
|
|
|
111
154
|
| `debug` | `false` | Log transport errors |
|
|
112
155
|
| `disabled` | `false` | Disable all telemetry |
|
|
113
156
|
|
|
157
|
+
## Feedback
|
|
158
|
+
|
|
159
|
+
User feedback (thumbs up/down, ratings, comments) is not auto-collected — wire it from your UI. Capture the `prompt_id` of each tracked interaction via the `onPrompt` callback, then record feedback against it with `createFeedbackTracker` (re-exported from this package, so no extra install is needed):
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
import { CountlyMastraExporter, createFeedbackTracker, type PromptInfo } from "@countly/ai-sdk-mastra";
|
|
163
|
+
|
|
164
|
+
const countly = { appKey: "YOUR_APP_KEY", url: "https://your-countly-server.com" };
|
|
165
|
+
|
|
166
|
+
let lastPrompt: PromptInfo | undefined;
|
|
167
|
+
const exporter = new CountlyMastraExporter({
|
|
168
|
+
...countly,
|
|
169
|
+
requestContextDeviceIdKey: "countlyDeviceId",
|
|
170
|
+
onPrompt: (info) => { lastPrompt = info; }, // fires after every exported LLM interaction
|
|
171
|
+
});
|
|
172
|
+
// wire the exporter into new Observability({...}) as shown in Quick Start
|
|
173
|
+
|
|
174
|
+
const feedback = createFeedbackTracker(countly, { sdk_adapter: "mastra" });
|
|
175
|
+
|
|
176
|
+
await mastra.getAgent("intent").generate(messages, { requestContext: ctx });
|
|
177
|
+
|
|
178
|
+
// ...later, when the user rates the answer:
|
|
179
|
+
feedback.track({
|
|
180
|
+
prompt_id: lastPrompt!.prompt_id,
|
|
181
|
+
rating: "thumbs_up", // or "thumbs_down", or any custom string
|
|
182
|
+
score: 0.9, // optional 0-1 numeric score
|
|
183
|
+
category: "helpful", // optional: hallucination, irrelevant, harmful, ...
|
|
184
|
+
comment: "Great answer", // optional free-form text
|
|
185
|
+
deviceId: user.id, // attribute to the same user as the interaction
|
|
186
|
+
});
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Each `track()` call emits a `[CLY]_llm_interaction_feedback` event whose `prompt_id` links back to the `[CLY]_llm_interaction` event — powering prompt → feedback funnels and per-model satisfaction breakdowns in Countly. In a real app, store `prompt_id` alongside the rendered message (or return it to your client) and read it back when the user rates the answer. Feedback is batched like interaction events; call `feedback.flush()` to send immediately, or `feedback.shutdown()` on process exit.
|
|
190
|
+
|
|
114
191
|
## Full documentation
|
|
115
192
|
|
|
116
193
|
See the [Countly AI SDK repository](https://github.com/Countly/countly-ai-sdk) for the unified data model, observability levels, cost calculation, privacy controls, and Countly plugin integration (Drill, Funnels, Cohorts, APM, Crash Analytics).
|
package/dist/adapter.d.ts
CHANGED
|
@@ -19,6 +19,14 @@ export interface CountlyMastraExporterConfig extends CountlyAIConfig {
|
|
|
19
19
|
* Default: "threadId". Set null to disable.
|
|
20
20
|
*/
|
|
21
21
|
requestContextThreadIdKey?: string | null;
|
|
22
|
+
/**
|
|
23
|
+
* Key under requestContext for a caller-supplied prompt_id. When set and
|
|
24
|
+
* present on the root span's requestContext, that id is stamped on the
|
|
25
|
+
* interaction event instead of an auto-generated one — letting the host app
|
|
26
|
+
* correlate its own request (and later user feedback via createFeedbackTracker)
|
|
27
|
+
* with the exported interaction. Default: null (always auto-generate).
|
|
28
|
+
*/
|
|
29
|
+
requestContextPromptIdKey?: string | null;
|
|
22
30
|
}
|
|
23
31
|
/**
|
|
24
32
|
* TracingEvent mirrors the Mastra v1 ObservabilityExporter event type.
|
|
@@ -108,6 +116,7 @@ export declare class CountlyMastraExporter implements ObservabilityExporter {
|
|
|
108
116
|
private readonly contextKey;
|
|
109
117
|
private readonly workflowKey;
|
|
110
118
|
private readonly threadKey;
|
|
119
|
+
private readonly promptKey;
|
|
111
120
|
constructor(userConfig: CountlyMastraExporterConfig);
|
|
112
121
|
exportTracingEvent(event: TracingEvent): Promise<void>;
|
|
113
122
|
flush(): Promise<void>;
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,eAAe,EAGrB,MAAM,sBAAsB,CAAC;AAG9B;;;GAGG;AACH,MAAM,WAAW,2BAA4B,SAAQ,eAAe;IAClE,+FAA+F;IAC/F,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,cAAc,GAAG,cAAc,GAAG,YAAY,CAAC;IACrD,YAAY,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;QAC1B,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE,GAAG,CAAC;QACZ,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,SAAS,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QACnF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED;;;;GAIG;AACH,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IAC1B,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,eAAe,CAAC,CAAC,MAAM,EAAE;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,qBAAsB,YAAW,qBAAqB;IACjE,QAAQ,CAAC,IAAI,aAAa;IAE1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;gBAE9B,UAAU,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter.js
CHANGED
|
@@ -37,6 +37,7 @@ export class CountlyMastraExporter {
|
|
|
37
37
|
contextKey;
|
|
38
38
|
workflowKey;
|
|
39
39
|
threadKey;
|
|
40
|
+
promptKey;
|
|
40
41
|
constructor(userConfig) {
|
|
41
42
|
this.config = resolveConfig(userConfig);
|
|
42
43
|
this.transport = createTransport(this.config);
|
|
@@ -49,6 +50,8 @@ export class CountlyMastraExporter {
|
|
|
49
50
|
this.threadKey = userConfig.requestContextThreadIdKey === null
|
|
50
51
|
? null
|
|
51
52
|
: (userConfig.requestContextThreadIdKey ?? "threadId");
|
|
53
|
+
// Opt-in only: no default key, so existing users keep auto-generated ids.
|
|
54
|
+
this.promptKey = userConfig.requestContextPromptIdKey ?? null;
|
|
52
55
|
}
|
|
53
56
|
async exportTracingEvent(event) {
|
|
54
57
|
const traceId = event.exportedSpan.traceId;
|
|
@@ -83,18 +86,24 @@ export class CountlyMastraExporter {
|
|
|
83
86
|
}
|
|
84
87
|
processTrace(events) {
|
|
85
88
|
const raw = aggregateSpans(events, { contextKey: this.contextKey, workflowKey: this.workflowKey });
|
|
86
|
-
//
|
|
87
|
-
|
|
88
|
-
|
|
89
|
+
// Read thread_id and a caller-supplied prompt_id from the root span's
|
|
90
|
+
// requestContext (mirrors the device/workflow pattern). Resolve the root
|
|
91
|
+
// context once and reuse for both keys.
|
|
92
|
+
let rootContext;
|
|
93
|
+
if (this.threadKey || this.promptKey) {
|
|
89
94
|
const rootEnded = events.find((e) => e.type === "span_ended" && (e.exportedSpan.isRootSpan === true || !e.exportedSpan.parentSpanId));
|
|
90
|
-
|
|
91
|
-
const candidate = rc?.[this.threadKey];
|
|
92
|
-
if (typeof candidate === "string" && candidate.length > 0) {
|
|
93
|
-
threadId = candidate;
|
|
94
|
-
}
|
|
95
|
+
rootContext = rootEnded?.exportedSpan.requestContext;
|
|
95
96
|
}
|
|
97
|
+
const readContextString = (key) => {
|
|
98
|
+
if (!key || !rootContext)
|
|
99
|
+
return undefined;
|
|
100
|
+
const candidate = rootContext[key];
|
|
101
|
+
return typeof candidate === "string" && candidate.length > 0 ? candidate : undefined;
|
|
102
|
+
};
|
|
103
|
+
const threadId = readContextString(this.threadKey);
|
|
104
|
+
const providedPromptId = readContextString(this.promptKey);
|
|
96
105
|
const context = {
|
|
97
|
-
prompt_id: generatePromptId(),
|
|
106
|
+
prompt_id: providedPromptId ?? generatePromptId(),
|
|
98
107
|
sdk_adapter: "mastra",
|
|
99
108
|
};
|
|
100
109
|
if (threadId) {
|
|
@@ -105,7 +114,6 @@ export class CountlyMastraExporter {
|
|
|
105
114
|
this.transport.enqueue(builtEvents);
|
|
106
115
|
}
|
|
107
116
|
this.transport.reportTrace(raw, context);
|
|
108
|
-
this.transport.reportUserData(raw);
|
|
109
117
|
if (raw.status === "error" && raw.error) {
|
|
110
118
|
this.transport.reportError(raw.error, raw);
|
|
111
119
|
}
|
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,GAIjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { CountlyMastraExporter } from "./adapter";
|
|
2
2
|
export type { TracingEvent, CountlyMastraExporterConfig } from "./adapter";
|
|
3
3
|
export { aggregateSpans } from "./span-aggregator";
|
|
4
|
+
export { createFeedbackTracker } from "@countly/ai-sdk-core";
|
|
5
|
+
export type { FeedbackInput, FeedbackTracker, PromptInfo } from "@countly/ai-sdk-core";
|
|
4
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
export { CountlyMastraExporter } from "./adapter";
|
|
2
2
|
export { aggregateSpans } from "./span-aggregator";
|
|
3
|
+
// Feedback pipeline — re-exported from core so user feedback (thumbs up/down,
|
|
4
|
+
// ratings, comments) can be wired without importing @countly/ai-sdk-core
|
|
5
|
+
// directly. Correlate via the `onPrompt` config callback, which exposes the
|
|
6
|
+
// `prompt_id` stamped on every `[CLY]_llm_interaction` event.
|
|
7
|
+
export { createFeedbackTracker } from "@countly/ai-sdk-core";
|
|
3
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,8EAA8E;AAC9E,yEAAyE;AACzE,4EAA4E;AAC5E,8DAA8D;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-aggregator.d.ts","sourceRoot":"","sources":["../src/span-aggregator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"span-aggregator.d.ts","sourceRoot":"","sources":["../src/span-aggregator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAyG9C,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EAAE,EACtB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACpE,mBAAmB,CAiQrB"}
|
package/dist/span-aggregator.js
CHANGED
|
@@ -63,6 +63,50 @@ function extractPreviewText(value) {
|
|
|
63
63
|
return undefined;
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Normalize a Mastra tool_call span's `input` into a flat arguments object so
|
|
68
|
+
* every named parameter becomes its own [CLY]_llm_tool_usage_parameter row.
|
|
69
|
+
*
|
|
70
|
+
* Mastra hands an executing tool its PARSED arguments object (e.g. docs_tool →
|
|
71
|
+
* { input_message }), which already flattens correctly. But for many agent /
|
|
72
|
+
* routing / decision tools (potential_handoff, transfer_to_*, general_knowledge,
|
|
73
|
+
* match_filter_or_*, …) the model's arguments reach the span as a raw JSON
|
|
74
|
+
* STRING — the AI-SDK `function.arguments` shape. Left as a string, core
|
|
75
|
+
* collapses the whole blob into ONE opaque "input" param, which is why every
|
|
76
|
+
* non-docs tool surfaced "TOP ARG = undefined". Parse JSON object/array strings
|
|
77
|
+
* back into structure so each field becomes its own param.
|
|
78
|
+
*
|
|
79
|
+
* Null/undefined fields are pruned (optional handoff args like threadId:null
|
|
80
|
+
* must not emit param rows), while false / 0 / "" are preserved — they are
|
|
81
|
+
* meaningful tool arguments. Non-object results (a plain non-JSON string,
|
|
82
|
+
* an array, or a scalar) pass through unchanged for core to collapse into a
|
|
83
|
+
* single "input" param.
|
|
84
|
+
*/
|
|
85
|
+
function normalizeToolArgs(input) {
|
|
86
|
+
if (input == null)
|
|
87
|
+
return undefined;
|
|
88
|
+
let value = input;
|
|
89
|
+
if (typeof value === "string") {
|
|
90
|
+
const trimmed = value.trim();
|
|
91
|
+
if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
|
|
92
|
+
try {
|
|
93
|
+
value = JSON.parse(trimmed);
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
// Not JSON — leave as the original string; core emits a single "input" param.
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (value != null && typeof value === "object" && !Array.isArray(value)) {
|
|
101
|
+
const pruned = {};
|
|
102
|
+
for (const [k, v] of Object.entries(value)) {
|
|
103
|
+
if (v !== null && v !== undefined)
|
|
104
|
+
pruned[k] = v;
|
|
105
|
+
}
|
|
106
|
+
return pruned;
|
|
107
|
+
}
|
|
108
|
+
return value;
|
|
109
|
+
}
|
|
66
110
|
export function aggregateSpans(events, options) {
|
|
67
111
|
let totalInputTokens = 0;
|
|
68
112
|
let totalOutputTokens = 0;
|
|
@@ -71,7 +115,15 @@ export function aggregateSpans(events, options) {
|
|
|
71
115
|
let finishReason;
|
|
72
116
|
let hasError = false;
|
|
73
117
|
let errorMessage;
|
|
74
|
-
|
|
118
|
+
// Tool calls keyed by span id so a single call's span_started + span_ended
|
|
119
|
+
// (and any span_updated) lifecycle events collapse into ONE RawToolCall —
|
|
120
|
+
// last write wins, i.e. the ended span's final input/output/status. Distinct
|
|
121
|
+
// invocations carry distinct span ids, so genuine repeat tool calls survive.
|
|
122
|
+
// Without this dedupe every tool, and every one of its arguments, was emitted
|
|
123
|
+
// 2-3x (once per lifecycle event) — inflating tools_used, tool_call_count,
|
|
124
|
+
// [CLY]_llm_tool_used and [CLY]_llm_tool_usage_parameter alike.
|
|
125
|
+
const toolCalls = new Map();
|
|
126
|
+
let toollessSeq = 0;
|
|
75
127
|
let stepCount = 0;
|
|
76
128
|
let responseId;
|
|
77
129
|
let responseModel;
|
|
@@ -81,6 +133,19 @@ export function aggregateSpans(events, options) {
|
|
|
81
133
|
let providerMetadata;
|
|
82
134
|
// Extract spans from events
|
|
83
135
|
const spans = events.map((e) => e.exportedSpan);
|
|
136
|
+
// Ids of workflows that ran as their own `workflow_run` span. A `.then()` /
|
|
137
|
+
// `.branch()` that invokes a NESTED workflow surfaces as a `workflow_step`
|
|
138
|
+
// whose `entityId` is that nested workflow's id — a structural wrapper, not a
|
|
139
|
+
// decision step. Collecting the run-ids here lets the step loop skip those
|
|
140
|
+
// wrappers so only leaf `createStep` nodes (potential-handoff, intent-determine,
|
|
141
|
+
// execute-plugins-agent, …) become tool rows.
|
|
142
|
+
const workflowRunIds = new Set();
|
|
143
|
+
for (const s of spans) {
|
|
144
|
+
const st = s.type ?? s.attributes?.["mastra.span.type"] ?? s.name;
|
|
145
|
+
if (st === "workflow_run" && typeof s.entityName === "string" && s.entityName.length > 0) {
|
|
146
|
+
workflowRunIds.add(s.entityName);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
84
149
|
// Find the span_ended event for the root span (has both startTime and endTime)
|
|
85
150
|
const rootEndedEvent = events.find((e) => e.type === "span_ended" && (e.exportedSpan.isRootSpan === true || !e.exportedSpan.parentSpanId));
|
|
86
151
|
const rootSpan = rootEndedEvent?.exportedSpan ??
|
|
@@ -136,13 +201,55 @@ export function aggregateSpans(events, options) {
|
|
|
136
201
|
if (spanType === "tool_call" ||
|
|
137
202
|
spanType === "mcp_tool_call") {
|
|
138
203
|
const toolType = spanType === "mcp_tool_call" ? "mcp_tool_call" : "function_call";
|
|
139
|
-
|
|
204
|
+
// Dedupe lifecycle events by span id; fall back to a unique key when a
|
|
205
|
+
// span somehow lacks an id so distinct tools are never merged together.
|
|
206
|
+
const key = span.id != null ? String(span.id) : `__tool_${toollessSeq++}`;
|
|
207
|
+
const existing = toolCalls.get(key);
|
|
208
|
+
const args = normalizeToolArgs(span.input);
|
|
209
|
+
const built = {
|
|
140
210
|
name: String(span.entityName ?? span.name ?? "unknown"),
|
|
141
211
|
type: toolType,
|
|
142
|
-
arguments: span.input ?? undefined,
|
|
143
212
|
status: span.errorInfo != null ? "error" : "success",
|
|
144
213
|
...(span.errorInfo && { error: String(span.errorInfo.message) }),
|
|
145
|
-
}
|
|
214
|
+
};
|
|
215
|
+
// Prefer this span's args; if it carries none (e.g. a bare span_ended),
|
|
216
|
+
// retain whatever an earlier lifecycle event captured for the same call.
|
|
217
|
+
const finalArgs = args !== undefined ? args : existing?.arguments;
|
|
218
|
+
if (finalArgs !== undefined)
|
|
219
|
+
built.arguments = finalArgs;
|
|
220
|
+
toolCalls.set(key, built);
|
|
221
|
+
}
|
|
222
|
+
// Workflow steps as tool usage. A registered Mastra workflow traces each
|
|
223
|
+
// `createStep` execute as a `workflow_step` span whose `input` is the
|
|
224
|
+
// step's parsed inputData — the same shape a function-tool's arguments
|
|
225
|
+
// take. Emitting them as tool calls is what surfaces the per-step params
|
|
226
|
+
// (handoff_to, user_input, event_name, …) for agents/workflows that route
|
|
227
|
+
// through steps rather than model-invoked tools. Structural wrapper steps
|
|
228
|
+
// (those whose entityId is itself a workflow run) are skipped so only leaf
|
|
229
|
+
// decision steps become rows.
|
|
230
|
+
if (spanType === "workflow_step") {
|
|
231
|
+
const stepId = typeof span.entityId === "string" && span.entityId.length > 0
|
|
232
|
+
? span.entityId
|
|
233
|
+
: undefined;
|
|
234
|
+
if (stepId && !workflowRunIds.has(stepId)) {
|
|
235
|
+
const key = span.id != null ? String(span.id) : `__wf_${toollessSeq++}`;
|
|
236
|
+
const existing = toolCalls.get(key);
|
|
237
|
+
const args = normalizeToolArgs(span.input);
|
|
238
|
+
const built = {
|
|
239
|
+
// Normalize the hyphenated step id ("potential-handoff") to the
|
|
240
|
+
// underscore convention used by function/MCP tool rows and legacy
|
|
241
|
+
// data ("potential_handoff", "docs_tool"), so a step and its
|
|
242
|
+
// historical tool-era rows aggregate under one name in the UI.
|
|
243
|
+
name: stepId.replace(/-/g, "_"),
|
|
244
|
+
type: "function_call",
|
|
245
|
+
status: span.errorInfo != null ? "error" : "success",
|
|
246
|
+
...(span.errorInfo && { error: String(span.errorInfo.message) }),
|
|
247
|
+
};
|
|
248
|
+
const finalArgs = args !== undefined ? args : existing?.arguments;
|
|
249
|
+
if (finalArgs !== undefined)
|
|
250
|
+
built.arguments = finalArgs;
|
|
251
|
+
toolCalls.set(key, built);
|
|
252
|
+
}
|
|
146
253
|
}
|
|
147
254
|
// Check for error via errorInfo on any span
|
|
148
255
|
if (span.errorInfo != null) {
|
|
@@ -152,6 +259,8 @@ export function aggregateSpans(events, options) {
|
|
|
152
259
|
}
|
|
153
260
|
}
|
|
154
261
|
}
|
|
262
|
+
// Materialize deduped tool calls (one entry per distinct span id).
|
|
263
|
+
const tools = Array.from(toolCalls.values());
|
|
155
264
|
// Count model_step span_ended events (multi-step LLM generations).
|
|
156
265
|
for (const e of events) {
|
|
157
266
|
if (e.type === "span_ended" && e.exportedSpan.type === "model_step") {
|
|
@@ -193,6 +302,14 @@ export function aggregateSpans(events, options) {
|
|
|
193
302
|
workflowName = candidate;
|
|
194
303
|
}
|
|
195
304
|
}
|
|
305
|
+
// A `workflow_run` root names the interaction directly: when the whole turn
|
|
306
|
+
// is a registered workflow, its root span carries no agent and no model, so
|
|
307
|
+
// without this the interaction would surface as an unlabelled "unknown" row.
|
|
308
|
+
// Falling back to the root workflow's entityName labels it (e.g. "test-workflow")
|
|
309
|
+
// and keeps its `workflow_step` tool rows attributable.
|
|
310
|
+
if (!workflowName && rootSpan && rootSpan.type === "workflow_run" && typeof rootSpan.entityName === "string" && rootSpan.entityName.length > 0) {
|
|
311
|
+
workflowName = rootSpan.entityName;
|
|
312
|
+
}
|
|
196
313
|
return {
|
|
197
314
|
model: modelName,
|
|
198
315
|
provider: modelProvider,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-aggregator.js","sourceRoot":"","sources":["../src/span-aggregator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"span-aggregator.js","sourceRoot":"","sources":["../src/span-aggregator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@countly/ai-sdk-mastra",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "Countly AI observability adapter for Mastra",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"access": "public"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@countly/ai-sdk-core": "0.0.
|
|
19
|
+
"@countly/ai-sdk-core": "0.0.4"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"@mastra/core": ">=1.0.0",
|