@adonis-agora/telescope 0.26.2 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/providers/telescope_provider.d.ts +10 -0
- package/dist/providers/telescope_provider.d.ts.map +1 -1
- package/dist/providers/telescope_provider.js +37 -1
- package/dist/providers/telescope_provider.js.map +1 -1
- package/dist/providers/telescope_ui_provider.d.ts.map +1 -1
- package/dist/providers/telescope_ui_provider.js +29 -0
- package/dist/providers/telescope_ui_provider.js.map +1 -1
- package/dist/src/ai/index.d.ts +1 -1
- package/dist/src/ai/index.js +1 -1
- package/dist/src/ai_metrics/agent_events.d.ts +106 -0
- package/dist/src/ai_metrics/agent_events.d.ts.map +1 -0
- package/dist/src/ai_metrics/agent_events.js +170 -0
- package/dist/src/ai_metrics/agent_events.js.map +1 -0
- package/dist/src/ai_metrics/agent_metrics.d.ts +103 -0
- package/dist/src/ai_metrics/agent_metrics.d.ts.map +1 -0
- package/dist/src/ai_metrics/agent_metrics.js +255 -0
- package/dist/src/ai_metrics/agent_metrics.js.map +1 -0
- package/dist/src/ai_metrics/ai_usage.d.ts +123 -0
- package/dist/src/ai_metrics/ai_usage.d.ts.map +1 -0
- package/dist/src/ai_metrics/ai_usage.js +207 -0
- package/dist/src/ai_metrics/ai_usage.js.map +1 -0
- package/dist/src/ai_metrics/index.d.ts +11 -0
- package/dist/src/ai_metrics/index.d.ts.map +1 -0
- package/dist/src/ai_metrics/index.js +11 -0
- package/dist/src/ai_metrics/index.js.map +1 -0
- package/dist/src/ai_metrics/otel_metrics_exporter.d.ts +60 -0
- package/dist/src/ai_metrics/otel_metrics_exporter.d.ts.map +1 -0
- package/dist/src/ai_metrics/otel_metrics_exporter.js +66 -0
- package/dist/src/ai_metrics/otel_metrics_exporter.js.map +1 -0
- package/dist/src/ai_metrics/subscribe.d.ts +17 -0
- package/dist/src/ai_metrics/subscribe.d.ts.map +1 -0
- package/dist/src/ai_metrics/subscribe.js +38 -0
- package/dist/src/ai_metrics/subscribe.js.map +1 -0
- package/dist/src/alerts/index.d.ts +1 -1
- package/dist/src/alerts/index.js +1 -1
- package/dist/src/define_config.d.ts +72 -0
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js +24 -4
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/index.d.ts +1 -1
- package/dist/src/mcp/index.js +1 -1
- package/dist/src/metrics/metrics_service.d.ts +22 -0
- package/dist/src/metrics/metrics_service.d.ts.map +1 -1
- package/dist/src/metrics/metrics_service.js +49 -0
- package/dist/src/metrics/metrics_service.js.map +1 -1
- package/dist/src/profiling/index.d.ts +1 -1
- package/dist/src/profiling/index.js +1 -1
- package/dist/src/registry.d.ts +9 -0
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +6 -0
- package/dist/src/registry.js.map +1 -1
- package/dist/src/ui/api.d.ts +6 -0
- package/dist/src/ui/api.d.ts.map +1 -1
- package/dist/src/ui/api.js +23 -0
- package/dist/src/ui/api.js.map +1 -1
- package/dist/src/ui/index.d.ts +1 -1
- package/dist/src/ui/index.js +1 -1
- package/dist/src/watchers/index.d.ts +1 -1
- package/dist/src/watchers/index.js +1 -1
- package/grafana/agora-ai-dashboard.json +813 -0
- package/package.json +14 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @adonis-agora/telescope
|
|
2
2
|
|
|
3
|
+
## 0.27.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#236](https://github.com/DavideCarvalho/adonis-agora-telescope/pull/236) [`f916e2c`](https://github.com/DavideCarvalho/adonis-agora-telescope/commit/f916e2ca5a219903d1ff7fb79a1dadf3d7c1aeca) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - AI spend and agent run timings are first-class, from `@adonis-agora/agent` 0.93.0's `usage.recorded` and `run.*` events.
|
|
8
|
+
|
|
9
|
+
- **AI screen** (`#/ai`, backed by `GET <path>/api/metrics/ai`): spend over a window (total, platform and estimated shares, over time, by feature / model / payer), agent runs with a queue / model / tools bar, the slowest and most expensive, a per-step breakdown linking to the run's trace, and the calls that carried no cost. When the app's agent lib predates these events, the screen says so instead of showing $0.
|
|
10
|
+
- **Metrics** `agora_ai_cost_usd`, `agora_ai_tokens`, `agora_ai_audio_seconds`, `agora_ai_requests` (counters) and `agora_agent_run_duration_ms`, `_queue_ms`, `_model_ms`, `_tools_ms`, `agora_agent_tool_duration_ms` (histograms). Low-cardinality attributes only (never actor, run or thread). They are fed straight from the `agora:agent:*` channels, so sampling and retention never change a count.
|
|
11
|
+
- **OTLP metrics**: `otel.metrics: { enabled, endpoint?, path?, headers?, exportIntervalMs? }`. It is opt-in, independent of traces/logs and can use its own endpoint. `@opentelemetry/sdk-metrics` and `@opentelemetry/exporter-metrics-otlp-http` are new optional peers, imported only when it is on.
|
|
12
|
+
- **Prometheus scrape**: `prometheus: { enabled: true }` serves `GET <path>/metrics` behind the same guard as the JSON API. It is off by default.
|
|
13
|
+
- **Grafana**: an importable dashboard ships at `grafana/agora-ai-dashboard.json`.
|
|
14
|
+
- **Fix**: client-paged dashboard tables (Screens, Exceptions) rendered every row; they page again.
|
|
15
|
+
|
|
3
16
|
## 0.26.2
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -24,6 +24,8 @@ export default class TelescopeProvider {
|
|
|
24
24
|
private pruner;
|
|
25
25
|
private overloadGuard;
|
|
26
26
|
private otelExporter;
|
|
27
|
+
private otelMetricsExporter;
|
|
28
|
+
private unsubscribePrometheus;
|
|
27
29
|
constructor(app: ApplicationService);
|
|
28
30
|
register(): void;
|
|
29
31
|
boot(): Promise<void>;
|
|
@@ -77,6 +79,14 @@ export default class TelescopeProvider {
|
|
|
77
79
|
* not take down the whole app, just leave the feature dark.
|
|
78
80
|
*/
|
|
79
81
|
private applyOtel;
|
|
82
|
+
/**
|
|
83
|
+
* Start the AI-usage / agent-run metrics: the in-process registry behind the Prometheus scrape
|
|
84
|
+
* (`prometheus.enabled`) and the OTLP metrics signal (`otel.metrics.enabled`). Both subscribe to
|
|
85
|
+
* the `agora:agent:*` channels directly, independent of the `diagnostics` watcher and of
|
|
86
|
+
* sampling, so every event is counted exactly once. Missing OTel peers leave the OTLP side off
|
|
87
|
+
* with a logged error rather than failing boot.
|
|
88
|
+
*/
|
|
89
|
+
private startAiMetrics;
|
|
80
90
|
/** Construct the extension registry, giving each extension a context over the store + container. */
|
|
81
91
|
private buildExtensionRegistry;
|
|
82
92
|
shutdown(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telescope_provider.d.ts","sourceRoot":"","sources":["../../providers/telescope_provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"telescope_provider.d.ts","sourceRoot":"","sources":["../../providers/telescope_provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAwC/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAWxB,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAV7C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,qBAAqB,CAA6B;IAE1D,YAAsB,GAAG,EAAE,kBAAkB,EAAI;IAEjD,QAAQ,SAQP;IAEK,IAAI,kBA4ET;IAED;;;;OAIG;YACW,oBAAoB;IAelC;;;;;OAKG;YACW,UAAU;IAexB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAQtB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAKrB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAMtB;;;;;;;;;;;;;OAaG;YACW,SAAS;IAuBvB;;;;;;OAMG;YACW,cAAc;IAwB5B,oGAAoG;IACpG,OAAO,CAAC,sBAAsB;IAaxB,QAAQ,kBAoBb;CACF"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { AgentMetricsRegistry } from '../src/ai_metrics/agent_metrics.js';
|
|
2
|
+
import { subscribeAgentObservations } from '../src/ai_metrics/subscribe.js';
|
|
1
3
|
import { ClientErrorIngestor, storeRecorder, } from '../src/client_errors/index.js';
|
|
2
4
|
import { resolveConfig, } from '../src/define_config.js';
|
|
3
5
|
import { DiagnosticsWatcher } from '../src/diagnostics_watcher.js';
|
|
@@ -5,7 +7,7 @@ import { ExtensionRegistry } from '../src/extension/registry.js';
|
|
|
5
7
|
import { OverloadGuard } from '../src/overload_guard.js';
|
|
6
8
|
import { TelescopePruner } from '../src/pruner.js';
|
|
7
9
|
import { RedactingTelescopeStore } from '../src/redaction/redacting_store.js';
|
|
8
|
-
import { getTelescopeRuntime, registerEnabledWatchers, resetTelescopeRuntime, setTelescopeEntryEvents, setTelescopeExtensionRegistry, setTelescopePaused, setTelescopeRecordHeartbeat, setTelescopeRuntime, } from '../src/registry.js';
|
|
10
|
+
import { getTelescopeRuntime, registerEnabledWatchers, resetTelescopeRuntime, setTelescopeAiMetrics, setTelescopeEntryEvents, setTelescopeExtensionRegistry, setTelescopePaused, setTelescopeRecordHeartbeat, setTelescopeRuntime, } from '../src/registry.js';
|
|
9
11
|
import { SamplingTelescopeStore } from '../src/sampling/sampling_store.js';
|
|
10
12
|
import { TelescopeService } from '../src/service.js';
|
|
11
13
|
import { InMemoryTelescopeStore } from '../src/stores/memory.js';
|
|
@@ -37,6 +39,8 @@ export default class TelescopeProvider {
|
|
|
37
39
|
pruner = null;
|
|
38
40
|
overloadGuard = null;
|
|
39
41
|
otelExporter = null;
|
|
42
|
+
otelMetricsExporter = null;
|
|
43
|
+
unsubscribePrometheus = null;
|
|
40
44
|
constructor(app) {
|
|
41
45
|
this.app = app;
|
|
42
46
|
}
|
|
@@ -61,6 +65,7 @@ export default class TelescopeProvider {
|
|
|
61
65
|
setTelescopeRuntime(store, config.watchers.has('request'), config.requestCapture, config.requestEnrichment);
|
|
62
66
|
setTelescopeEntryEvents(this.entryEvents);
|
|
63
67
|
setTelescopeRecordHeartbeat(config.recordHeartbeat);
|
|
68
|
+
await this.startAiMetrics(config);
|
|
64
69
|
if (config.watchers.has('diagnostics')) {
|
|
65
70
|
const watcher = new DiagnosticsWatcher(store, {
|
|
66
71
|
exclude: config.diagnostics.exclude,
|
|
@@ -211,6 +216,33 @@ export default class TelescopeProvider {
|
|
|
211
216
|
return store;
|
|
212
217
|
}
|
|
213
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* Start the AI-usage / agent-run metrics: the in-process registry behind the Prometheus scrape
|
|
221
|
+
* (`prometheus.enabled`) and the OTLP metrics signal (`otel.metrics.enabled`). Both subscribe to
|
|
222
|
+
* the `agora:agent:*` channels directly, independent of the `diagnostics` watcher and of
|
|
223
|
+
* sampling, so every event is counted exactly once. Missing OTel peers leave the OTLP side off
|
|
224
|
+
* with a logged error rather than failing boot.
|
|
225
|
+
*/
|
|
226
|
+
async startAiMetrics(config) {
|
|
227
|
+
if (config.prometheus.enabled) {
|
|
228
|
+
const registry = new AgentMetricsRegistry({
|
|
229
|
+
maxSeriesPerMetric: config.prometheus.maxSeriesPerMetric,
|
|
230
|
+
});
|
|
231
|
+
this.unsubscribePrometheus = subscribeAgentObservations((o) => registry.observe(o));
|
|
232
|
+
setTelescopeAiMetrics(registry);
|
|
233
|
+
}
|
|
234
|
+
if (!config.otel.metrics.enabled)
|
|
235
|
+
return;
|
|
236
|
+
try {
|
|
237
|
+
const { createOtelMetricsExporter } = await import('../src/ai_metrics/otel_metrics_exporter.js');
|
|
238
|
+
this.otelMetricsExporter = await createOtelMetricsExporter(config.otel.metrics);
|
|
239
|
+
}
|
|
240
|
+
catch (err) {
|
|
241
|
+
console.error('@adonis-agora/telescope: config.otel.metrics.enabled is true, but @opentelemetry/sdk-metrics, ' +
|
|
242
|
+
'@opentelemetry/exporter-metrics-otlp-http and @opentelemetry/resources could not be ' +
|
|
243
|
+
'loaded (are they installed?). OTLP metrics export is disabled for this boot:', err);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
214
246
|
/** Construct the extension registry, giving each extension a context over the store + container. */
|
|
215
247
|
buildExtensionRegistry(config, store) {
|
|
216
248
|
if (config.extensions.length === 0)
|
|
@@ -237,6 +269,10 @@ export default class TelescopeProvider {
|
|
|
237
269
|
// down, so a graceful shutdown never silently drops the tail of a trace.
|
|
238
270
|
await this.otelExporter?.shutdown();
|
|
239
271
|
this.otelExporter = null;
|
|
272
|
+
this.unsubscribePrometheus?.();
|
|
273
|
+
this.unsubscribePrometheus = null;
|
|
274
|
+
await this.otelMetricsExporter?.shutdown();
|
|
275
|
+
this.otelMetricsExporter = null;
|
|
240
276
|
resetTelescopeRuntime();
|
|
241
277
|
}
|
|
242
278
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telescope_provider.js","sourceRoot":"","sources":["../../providers/telescope_provider.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,mBAAmB,EACnB,aAAa,GACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,aAAa,GAEd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAmB,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE/E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"telescope_provider.js","sourceRoot":"","sources":["../../providers/telescope_provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telescope_ui_provider.d.ts","sourceRoot":"","sources":["../../providers/telescope_ui_provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA4B/D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAC1B,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAA7C,YAAsB,GAAG,EAAE,kBAAkB,EAAI;IAEjD,0FAA0F;IAC1F,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,OAAO;IAMT,IAAI,
|
|
1
|
+
{"version":3,"file":"telescope_ui_provider.d.ts","sourceRoot":"","sources":["../../providers/telescope_ui_provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA4B/D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAC1B,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAA7C,YAAsB,GAAG,EAAE,kBAAkB,EAAI;IAEjD,0FAA0F;IAC1F,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,OAAO;IAMT,IAAI,kBAidT;CACF"}
|
|
@@ -372,6 +372,35 @@ export default class TelescopeUiProvider {
|
|
|
372
372
|
return api.metricsNPlusOne(ctx, String(ctx.params.traceId));
|
|
373
373
|
})
|
|
374
374
|
.as('telescope_ui.metrics_n_plus_one');
|
|
375
|
+
router
|
|
376
|
+
.get(`${apiBase}/metrics/ai`, async (ctx) => {
|
|
377
|
+
if (!(await gate(ctx)))
|
|
378
|
+
return;
|
|
379
|
+
return api.metricsAi(ctx);
|
|
380
|
+
})
|
|
381
|
+
.as('telescope_ui.metrics_ai');
|
|
382
|
+
// Prometheus scrape of the AI-usage / agent-run metrics (`agora_ai_*`, `agora_agent_*`).
|
|
383
|
+
// Opt-in (core `prometheus.enabled`) and behind the same gate as the JSON API: a scraper
|
|
384
|
+
// authenticates the way any API client does (the `authorize` hook, or `dashboardAuth`'s
|
|
385
|
+
// session). A static route, so it wins over the SPA's `<path>/*` wildcard. The registry is
|
|
386
|
+
// read per request from the runtime slot the core provider fills at boot.
|
|
387
|
+
if (coreConfig.prometheus.enabled) {
|
|
388
|
+
router
|
|
389
|
+
.get(`${config.path}/metrics`, async (ctx) => {
|
|
390
|
+
if (!(await gate(ctx)))
|
|
391
|
+
return;
|
|
392
|
+
const registry = getTelescopeRuntime().aiMetrics ?? null;
|
|
393
|
+
if (registry === null) {
|
|
394
|
+
return ctx.response.status(404).send({ error: 'Prometheus metrics are not running.' });
|
|
395
|
+
}
|
|
396
|
+
return ctx.response
|
|
397
|
+
.status(200)
|
|
398
|
+
.header('content-type', 'text/plain; version=0.0.4; charset=utf-8')
|
|
399
|
+
.header('cache-control', 'no-store')
|
|
400
|
+
.send(registry.prometheus());
|
|
401
|
+
})
|
|
402
|
+
.as('telescope_ui.prometheus');
|
|
403
|
+
}
|
|
375
404
|
// Pulse — aggregated health rollup. Registered only when enabled in core config.
|
|
376
405
|
if (coreConfig.pulse.enabled) {
|
|
377
406
|
router
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telescope_ui_provider.js","sourceRoot":"","sources":["../../providers/telescope_ui_provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"telescope_ui_provider.js","sourceRoot":"","sources":["../../providers/telescope_ui_provider.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ai/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export declare const VERSION = "0.
|
|
2
|
+
export declare const VERSION = "0.27.0";
|
|
3
3
|
export type { ResolvedTelescopeAiConfig, TelescopeAiConfig, } from './define_config.js';
|
|
4
4
|
export { DEFAULT_MAX_TOKENS, DEFAULT_MODEL, defineConfig, resolveConfig, } from './define_config.js';
|
|
5
5
|
export type { Diagnosis, DiagnosisConfidence, ExceptionEntryContent } from './diagnoser.js';
|
package/dist/src/ai/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export const VERSION = '0.
|
|
2
|
+
export const VERSION = '0.27.0';
|
|
3
3
|
// — config —
|
|
4
4
|
export { DEFAULT_MAX_TOKENS, DEFAULT_MODEL, defineConfig, resolveConfig, } from './define_config.js';
|
|
5
5
|
// — diagnosis model + parsing —
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure readers for the `agora:agent:*` events `@adonis-agora/agent` publishes through
|
|
3
|
+
* `@adonis-agora/diagnostics` (`usage.recorded` and the run timings from agent 0.93.0 on).
|
|
4
|
+
* Telescope cannot import the agent lib, so the payload shapes are read structurally here: every
|
|
5
|
+
* field is optional and type-checked, and an event from an older agent lib simply yields fewer
|
|
6
|
+
* fields, never a throw.
|
|
7
|
+
*
|
|
8
|
+
* Shared by the Prometheus registry, the OTLP metrics exporter and the dashboard's AI screen so the
|
|
9
|
+
* three can never disagree on what "a priced call" or "a run's model time" means.
|
|
10
|
+
*/
|
|
11
|
+
/** The channel prefix `@adonis-agora/diagnostics` publishes on (`agora:<lib>:<event>`). */
|
|
12
|
+
export declare const AGENT_CHANNEL_PREFIX = "agora:agent:";
|
|
13
|
+
/** The agent events the metrics read. */
|
|
14
|
+
export declare const AGENT_METRIC_EVENTS: readonly ['usage.recorded', 'run.finished', 'run.failed', 'run.cancelled'];
|
|
15
|
+
export type AgentMetricEvent = (typeof AGENT_METRIC_EVENTS)[number];
|
|
16
|
+
/** The `actorRef` the agent ledger uses for spend the platform pays for, not a user. */
|
|
17
|
+
export declare const PLATFORM_ACTOR_REF = "@platform";
|
|
18
|
+
/** Where a call's cost figure came from; `none` means the call had no price at all. */
|
|
19
|
+
export type CostSource = 'provider' | 'estimate' | 'none';
|
|
20
|
+
/** How a run ended. */
|
|
21
|
+
export type RunStatus = 'completed' | 'failed' | 'cancelled';
|
|
22
|
+
/** One `usage.recorded` ledger row, reduced to what metrics and the AI screen read. */
|
|
23
|
+
export interface UsageObservation {
|
|
24
|
+
kind: 'usage';
|
|
25
|
+
/** Who pays (`@platform` for platform cost). Screen only — NEVER a metric attribute. */
|
|
26
|
+
actorRef: string;
|
|
27
|
+
feature: string;
|
|
28
|
+
model: string;
|
|
29
|
+
/** `'unknown'` when the row carried none. */
|
|
30
|
+
provider: string;
|
|
31
|
+
costSource: CostSource;
|
|
32
|
+
platform: boolean;
|
|
33
|
+
/** Absent when the call had no price (`costSource: 'none'`). */
|
|
34
|
+
costUsd?: number;
|
|
35
|
+
inputTokens: number;
|
|
36
|
+
outputTokens: number;
|
|
37
|
+
cacheReadTokens: number;
|
|
38
|
+
cacheWriteTokens: number;
|
|
39
|
+
audioSeconds: number;
|
|
40
|
+
characters: number;
|
|
41
|
+
/** `payload.requests ?? 1`. */
|
|
42
|
+
requests: number;
|
|
43
|
+
purpose?: string;
|
|
44
|
+
runId?: string;
|
|
45
|
+
threadId?: string;
|
|
46
|
+
}
|
|
47
|
+
/** One tool call's share of a step. */
|
|
48
|
+
export interface ToolTiming {
|
|
49
|
+
toolName: string;
|
|
50
|
+
ms: number;
|
|
51
|
+
}
|
|
52
|
+
/** One step: its model call and the tools it ran. */
|
|
53
|
+
export interface StepTiming {
|
|
54
|
+
step: number;
|
|
55
|
+
modelMs?: number;
|
|
56
|
+
toolsMs: number;
|
|
57
|
+
tools: ToolTiming[];
|
|
58
|
+
}
|
|
59
|
+
/** A terminal run event (`run.finished` / `run.failed` / `run.cancelled`). */
|
|
60
|
+
export interface RunObservation {
|
|
61
|
+
kind: 'run';
|
|
62
|
+
status: RunStatus;
|
|
63
|
+
/** `agentName`, or `'default'` for the default agent. */
|
|
64
|
+
agent: string;
|
|
65
|
+
runId?: string;
|
|
66
|
+
threadId?: string;
|
|
67
|
+
actorId?: string;
|
|
68
|
+
modelId?: string;
|
|
69
|
+
durationMs?: number;
|
|
70
|
+
ttftMs?: number;
|
|
71
|
+
queueMs?: number;
|
|
72
|
+
modelMs?: number;
|
|
73
|
+
toolsMs?: number;
|
|
74
|
+
steps?: number;
|
|
75
|
+
modelCalls?: number;
|
|
76
|
+
toolCalls?: number;
|
|
77
|
+
inputTokens?: number;
|
|
78
|
+
outputTokens?: number;
|
|
79
|
+
costUsd?: number;
|
|
80
|
+
/** Failure slug (`run.failed` only). The error message itself is never read. */
|
|
81
|
+
code?: string;
|
|
82
|
+
stepTimings: StepTiming[];
|
|
83
|
+
}
|
|
84
|
+
export type AgentObservation = UsageObservation | RunObservation;
|
|
85
|
+
/** Read a `usage.recorded` payload. `null` when it is not one. */
|
|
86
|
+
export declare function readUsage(payload: unknown): UsageObservation | null;
|
|
87
|
+
/**
|
|
88
|
+
* Read a terminal run payload. The run context (`agentName`, `actorId`) rides the payload's top
|
|
89
|
+
* level; a nested `context` object is read as a fallback so a payload shaped either way parses.
|
|
90
|
+
*/
|
|
91
|
+
export declare function readRun(event: string, payload: unknown): RunObservation | null;
|
|
92
|
+
/** Read any agent event the metrics care about; `null` for every other event. */
|
|
93
|
+
export declare function readAgentEvent(event: string, payload: unknown): AgentObservation | null;
|
|
94
|
+
/**
|
|
95
|
+
* The agent event a stored Telescope entry carries: the generic diagnostics watcher records every
|
|
96
|
+
* `agora:agent:<event>` publish as `type: 'diagnostic'` with `content: { lib: 'agent', event,
|
|
97
|
+
* payload }`. `null` for any other entry.
|
|
98
|
+
*/
|
|
99
|
+
export declare function agentEventOfEntry(entry: {
|
|
100
|
+
type: string;
|
|
101
|
+
content: unknown;
|
|
102
|
+
}): {
|
|
103
|
+
event: string;
|
|
104
|
+
payload: unknown;
|
|
105
|
+
} | null;
|
|
106
|
+
//# sourceMappingURL=agent_events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent_events.d.ts","sourceRoot":"","sources":["../../../src/ai_metrics/agent_events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure readers for the `agora:agent:*` events `@adonis-agora/agent` publishes through
|
|
3
|
+
* `@adonis-agora/diagnostics` (`usage.recorded` and the run timings from agent 0.93.0 on).
|
|
4
|
+
* Telescope cannot import the agent lib, so the payload shapes are read structurally here: every
|
|
5
|
+
* field is optional and type-checked, and an event from an older agent lib simply yields fewer
|
|
6
|
+
* fields, never a throw.
|
|
7
|
+
*
|
|
8
|
+
* Shared by the Prometheus registry, the OTLP metrics exporter and the dashboard's AI screen so the
|
|
9
|
+
* three can never disagree on what "a priced call" or "a run's model time" means.
|
|
10
|
+
*/
|
|
11
|
+
/** The channel prefix `@adonis-agora/diagnostics` publishes on (`agora:<lib>:<event>`). */
|
|
12
|
+
export const AGENT_CHANNEL_PREFIX = 'agora:agent:';
|
|
13
|
+
/** The agent events the metrics read. */
|
|
14
|
+
export const AGENT_METRIC_EVENTS = [
|
|
15
|
+
'usage.recorded',
|
|
16
|
+
'run.finished',
|
|
17
|
+
'run.failed',
|
|
18
|
+
'run.cancelled',
|
|
19
|
+
];
|
|
20
|
+
/** The `actorRef` the agent ledger uses for spend the platform pays for, not a user. */
|
|
21
|
+
export const PLATFORM_ACTOR_REF = '@platform';
|
|
22
|
+
function asRecord(value) {
|
|
23
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value)
|
|
24
|
+
? value
|
|
25
|
+
: null;
|
|
26
|
+
}
|
|
27
|
+
function num(value) {
|
|
28
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
|
|
29
|
+
}
|
|
30
|
+
function nonNegative(value) {
|
|
31
|
+
const n = num(value);
|
|
32
|
+
return n !== undefined && n > 0 ? n : 0;
|
|
33
|
+
}
|
|
34
|
+
function str(value) {
|
|
35
|
+
return typeof value === 'string' && value !== '' ? value : undefined;
|
|
36
|
+
}
|
|
37
|
+
/** Read a `usage.recorded` payload. `null` when it is not one. */
|
|
38
|
+
export function readUsage(payload) {
|
|
39
|
+
const p = asRecord(payload);
|
|
40
|
+
if (p === null)
|
|
41
|
+
return null;
|
|
42
|
+
const actorRef = str(p.actorRef) ?? 'unknown';
|
|
43
|
+
const costUsd = num(p.costUsd);
|
|
44
|
+
const declared = p.costSource === 'provider' || p.costSource === 'estimate' ? p.costSource : null;
|
|
45
|
+
// A cost with no declared source was priced by someone; the ledger's default is the provider.
|
|
46
|
+
const costSource = costUsd === undefined ? 'none' : (declared ?? 'provider');
|
|
47
|
+
const requests = num(p.requests);
|
|
48
|
+
const purpose = str(p.purpose);
|
|
49
|
+
const runId = str(p.runId);
|
|
50
|
+
const threadId = str(p.threadId);
|
|
51
|
+
return {
|
|
52
|
+
kind: 'usage',
|
|
53
|
+
actorRef,
|
|
54
|
+
feature: str(p.feature) ?? 'unknown',
|
|
55
|
+
model: str(p.modelId) ?? 'unknown',
|
|
56
|
+
provider: str(p.provider) ?? 'unknown',
|
|
57
|
+
costSource,
|
|
58
|
+
platform: actorRef === PLATFORM_ACTOR_REF,
|
|
59
|
+
...(costUsd !== undefined ? { costUsd } : {}),
|
|
60
|
+
inputTokens: nonNegative(p.inputTokens),
|
|
61
|
+
outputTokens: nonNegative(p.outputTokens),
|
|
62
|
+
cacheReadTokens: nonNegative(p.cacheReadTokens),
|
|
63
|
+
cacheWriteTokens: nonNegative(p.cacheWriteTokens),
|
|
64
|
+
audioSeconds: nonNegative(p.audioSeconds),
|
|
65
|
+
characters: nonNegative(p.characters),
|
|
66
|
+
requests: requests !== undefined && requests >= 0 ? requests : 1,
|
|
67
|
+
...(purpose !== undefined ? { purpose } : {}),
|
|
68
|
+
...(runId !== undefined ? { runId } : {}),
|
|
69
|
+
...(threadId !== undefined ? { threadId } : {}),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function readStepTimings(value) {
|
|
73
|
+
if (!Array.isArray(value))
|
|
74
|
+
return [];
|
|
75
|
+
const steps = [];
|
|
76
|
+
for (const raw of value) {
|
|
77
|
+
const s = asRecord(raw);
|
|
78
|
+
if (s === null)
|
|
79
|
+
continue;
|
|
80
|
+
const tools = [];
|
|
81
|
+
if (Array.isArray(s.tools)) {
|
|
82
|
+
for (const rawTool of s.tools) {
|
|
83
|
+
const t = asRecord(rawTool);
|
|
84
|
+
const ms = num(t?.ms);
|
|
85
|
+
if (t === null || ms === undefined)
|
|
86
|
+
continue;
|
|
87
|
+
tools.push({ toolName: str(t.toolName) ?? 'unknown', ms });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const modelMs = num(s.modelMs);
|
|
91
|
+
steps.push({
|
|
92
|
+
step: num(s.step) ?? steps.length,
|
|
93
|
+
...(modelMs !== undefined ? { modelMs } : {}),
|
|
94
|
+
toolsMs: num(s.toolsMs) ?? 0,
|
|
95
|
+
tools,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return steps;
|
|
99
|
+
}
|
|
100
|
+
const RUN_STATUS = {
|
|
101
|
+
'run.finished': 'completed',
|
|
102
|
+
'run.failed': 'failed',
|
|
103
|
+
'run.cancelled': 'cancelled',
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Read a terminal run payload. The run context (`agentName`, `actorId`) rides the payload's top
|
|
107
|
+
* level; a nested `context` object is read as a fallback so a payload shaped either way parses.
|
|
108
|
+
*/
|
|
109
|
+
export function readRun(event, payload) {
|
|
110
|
+
const status = RUN_STATUS[event];
|
|
111
|
+
const p = asRecord(payload);
|
|
112
|
+
if (status === undefined || p === null)
|
|
113
|
+
return null;
|
|
114
|
+
const context = asRecord(p.context) ?? {};
|
|
115
|
+
const pick = (key) => p[key] ?? context[key];
|
|
116
|
+
const out = {
|
|
117
|
+
kind: 'run',
|
|
118
|
+
status,
|
|
119
|
+
agent: str(pick('agentName')) ?? 'default',
|
|
120
|
+
stepTimings: readStepTimings(p.stepTimings),
|
|
121
|
+
};
|
|
122
|
+
const strings = ['runId', 'threadId', 'actorId', 'modelId', 'code'];
|
|
123
|
+
for (const key of strings) {
|
|
124
|
+
const value = str(pick(key));
|
|
125
|
+
if (value !== undefined)
|
|
126
|
+
out[key] = value;
|
|
127
|
+
}
|
|
128
|
+
const numbers = [
|
|
129
|
+
'durationMs',
|
|
130
|
+
'ttftMs',
|
|
131
|
+
'queueMs',
|
|
132
|
+
'modelMs',
|
|
133
|
+
'toolsMs',
|
|
134
|
+
'steps',
|
|
135
|
+
'modelCalls',
|
|
136
|
+
'toolCalls',
|
|
137
|
+
'inputTokens',
|
|
138
|
+
'outputTokens',
|
|
139
|
+
'costUsd',
|
|
140
|
+
];
|
|
141
|
+
for (const key of numbers) {
|
|
142
|
+
const value = num(pick(key));
|
|
143
|
+
if (value !== undefined)
|
|
144
|
+
out[key] = value;
|
|
145
|
+
}
|
|
146
|
+
return out;
|
|
147
|
+
}
|
|
148
|
+
/** Read any agent event the metrics care about; `null` for every other event. */
|
|
149
|
+
export function readAgentEvent(event, payload) {
|
|
150
|
+
if (event === 'usage.recorded')
|
|
151
|
+
return readUsage(payload);
|
|
152
|
+
return readRun(event, payload);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* The agent event a stored Telescope entry carries: the generic diagnostics watcher records every
|
|
156
|
+
* `agora:agent:<event>` publish as `type: 'diagnostic'` with `content: { lib: 'agent', event,
|
|
157
|
+
* payload }`. `null` for any other entry.
|
|
158
|
+
*/
|
|
159
|
+
export function agentEventOfEntry(entry) {
|
|
160
|
+
if (entry.type !== 'diagnostic')
|
|
161
|
+
return null;
|
|
162
|
+
const content = asRecord(entry.content);
|
|
163
|
+
if (content === null || content.lib !== 'agent')
|
|
164
|
+
return null;
|
|
165
|
+
const event = str(content.event);
|
|
166
|
+
if (event === undefined)
|
|
167
|
+
return null;
|
|
168
|
+
return { event, payload: content.payload };
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=agent_events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent_events.js","sourceRoot":"","sources":["../../../src/ai_metrics/agent_events.ts"],"names":[],"mappings":"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"}
|