@adonis-agora/telescope 0.18.0 → 0.20.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 +67 -0
- package/dist/providers/telescope_provider.d.ts +16 -0
- package/dist/providers/telescope_provider.d.ts.map +1 -1
- package/dist/providers/telescope_provider.js +39 -1
- package/dist/providers/telescope_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/alerts/index.d.ts +1 -1
- package/dist/src/alerts/index.js +1 -1
- package/dist/src/define_config.d.ts +64 -0
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js +18 -0
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/diagnostics_registry.d.ts +9 -0
- package/dist/src/diagnostics_registry.d.ts.map +1 -1
- package/dist/src/diagnostics_registry.js +2 -1
- package/dist/src/diagnostics_registry.js.map +1 -1
- package/dist/src/diagnostics_watcher.d.ts +5 -0
- package/dist/src/diagnostics_watcher.d.ts.map +1 -1
- package/dist/src/diagnostics_watcher.js +6 -0
- package/dist/src/diagnostics_watcher.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/mcp/index.d.ts +1 -1
- package/dist/src/mcp/index.js +1 -1
- package/dist/src/otel/index.d.ts +11 -0
- package/dist/src/otel/index.d.ts.map +1 -0
- package/dist/src/otel/index.js +11 -0
- package/dist/src/otel/index.js.map +1 -0
- package/dist/src/otel/mapper.d.ts +118 -0
- package/dist/src/otel/mapper.d.ts.map +1 -0
- package/dist/src/otel/mapper.js +205 -0
- package/dist/src/otel/mapper.js.map +1 -0
- package/dist/src/otel/otel_exporter.d.ts +17 -0
- package/dist/src/otel/otel_exporter.d.ts.map +1 -0
- package/dist/src/otel/otel_exporter.js +107 -0
- package/dist/src/otel/otel_exporter.js.map +1 -0
- package/dist/src/otel/otel_exporting_store.d.ts +49 -0
- package/dist/src/otel/otel_exporting_store.d.ts.map +1 -0
- package/dist/src/otel/otel_exporting_store.js +83 -0
- package/dist/src/otel/otel_exporting_store.js.map +1 -0
- package/dist/src/profiling/index.d.ts +1 -1
- package/dist/src/profiling/index.js +1 -1
- package/dist/src/ui/define_config.d.ts +40 -4
- package/dist/src/ui/define_config.d.ts.map +1 -1
- package/dist/src/ui/define_config.js.map +1 -1
- package/dist/src/ui/guard.d.ts +13 -4
- package/dist/src/ui/guard.d.ts.map +1 -1
- package/dist/src/ui/guard.js +21 -6
- package/dist/src/ui/guard.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/package.json +40 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,72 @@
|
|
|
1
1
|
# @adonis-agora/telescope
|
|
2
2
|
|
|
3
|
+
## 0.20.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#85](https://github.com/DavideCarvalho/adonis-agora-telescope/pull/85) [`810e7ca`](https://github.com/DavideCarvalho/adonis-agora-telescope/commit/810e7cad2a30ae55cde4a985e84201be33f55bfe) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - Dashboard `authorize` hook can now return a richer `{ allowed, reason }` decision to get an
|
|
8
|
+
exact `401` vs `403`, instead of always falling back to the guard's request-shape heuristic
|
|
9
|
+
|
|
10
|
+
The guard's `401`-vs-`403` heuristic ("did this request present an `Authorization` header or
|
|
11
|
+
`?token=`?") was built for this library's own `credentials: { token, basic }` gate. A host
|
|
12
|
+
`authorize` hook authenticating some OTHER way — most commonly a session cookie, e.g.
|
|
13
|
+
`@adonis-agora/authz`'s `authorizeByRoles` — is invisible to that heuristic, so BOTH a
|
|
14
|
+
genuinely-anonymous request and an authenticated-but-wrong-role request came back `401`, when
|
|
15
|
+
the latter should be `403`.
|
|
16
|
+
|
|
17
|
+
`authorize` may now return `{ allowed: boolean, reason?: 'unauthenticated' | 'forbidden' }`
|
|
18
|
+
instead of a bare `boolean`. An explicit `reason` bypasses the request-shape heuristic outright
|
|
19
|
+
(`'unauthenticated'` → `401`, `'forbidden'` → `403`); omitting it falls back to the same
|
|
20
|
+
heuristic a bare `false` always has. Fully backward compatible — every existing
|
|
21
|
+
`(ctx) => boolean` hook keeps behaving byte-for-byte the same.
|
|
22
|
+
|
|
23
|
+
See the "Bare `boolean` vs the enriched `{ allowed, reason }` return" section of
|
|
24
|
+
[Dashboard auth](/docs/telescope/dashboard/auth) for the full `authorizeByRoles` composition
|
|
25
|
+
example.
|
|
26
|
+
|
|
27
|
+
## 0.19.0
|
|
28
|
+
|
|
29
|
+
### Minor Changes
|
|
30
|
+
|
|
31
|
+
- [#68](https://github.com/DavideCarvalho/adonis-agora-telescope/pull/68) [`f853b76`](https://github.com/DavideCarvalho/adonis-agora-telescope/commit/f853b76aad555676455aaf98c275dd53a28f93d5) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - Exportar para Grafana o que o Telescope já captura, sem código novo em nenhuma lib
|
|
32
|
+
|
|
33
|
+
O pedido era: "seria incrível se todo lib do ecossistema já saísse com OTel export
|
|
34
|
+
pronto para Grafana, sem ninguém precisar fazer nada." A resposta não é instrumentar
|
|
35
|
+
lib por lib — é notar que o watcher genérico de diagnostics já captura TODO
|
|
36
|
+
`agora:<lib>:<event>` que qualquer lib emite, e transformar o que ele já grava em
|
|
37
|
+
spans/logs OTLP é um problema resolvido uma vez só, aqui, e não N vezes.
|
|
38
|
+
|
|
39
|
+
`config/telescope.ts` ganha um bloco `otel` (`enabled`, `endpoint`, `headers`,
|
|
40
|
+
`serviceName`, `entryTypes`, `timeoutMs`), desligado por padrão. Ligado, cada entry
|
|
41
|
+
`diagnostic` já persistida (redigida, pós-sampling) vira ou um SPAN — quando carrega
|
|
42
|
+
uma duração (`durationMs` no envelope, ou dentro de `payload.durationMs`, a
|
|
43
|
+
convenção que a ponte de diagnostics do `@adonis-agora/durable` já usa) — ou um LOG,
|
|
44
|
+
quando é um evento pontual. Correlação de trace usa o `traceId` que
|
|
45
|
+
`@adonis-agora/context` já resolve (inclusive de um `traceparent` W3C de entrada).
|
|
46
|
+
|
|
47
|
+
O decorator de export entra na MESMA cadeia de redação/sampling/streaming que já
|
|
48
|
+
existe: chama o store interno primeiro e exporta a partir da entry JÁ redigida e
|
|
49
|
+
JÁ pós-decisão-de-sampling — nunca do input cru. Não existe uma taxa de sampling
|
|
50
|
+
separada para OTel de propósito: uma entry descartada do armazenamento local quase
|
|
51
|
+
sempre deveria ser descartada do export também. O guard de sobrecarga também é
|
|
52
|
+
respeitado: pausado, nenhum trabalho de export novo começa.
|
|
53
|
+
|
|
54
|
+
Os seis pacotes `@opentelemetry/*` (api, sdk-trace-base, sdk-logs,
|
|
55
|
+
exporter-trace-otlp-http, exporter-logs-otlp-http, resources) são peers OPCIONAIS,
|
|
56
|
+
importados dinamicamente só quando `otel.enabled` é `true` — ninguém que não ligar
|
|
57
|
+
o recurso precisa instalá-los, e nenhum bundle carrega o SDK OTel à toa. Um
|
|
58
|
+
`@adonis-agora/telescope/otel` novo expõe só a função pura de mapeamento
|
|
59
|
+
(`mapEntryToOtel`), sem nenhum pacote OTel — testável e reutilizável isoladamente.
|
|
60
|
+
|
|
61
|
+
Métricas ficam de fora desta primeira versão (documentado como trabalho futuro): o
|
|
62
|
+
mapeamento de span/log é razoável para qualquer evento, mas transformar payloads
|
|
63
|
+
heterogêneos em contadores/histogramas exige saber a semântica de cada um, o que
|
|
64
|
+
pede uma convenção própria (`payload.metric`?) em vez de adivinhação. A ponte
|
|
65
|
+
bespoke do `@adonis-agora/durable` (`otel/durable-otel.ts`) também é uma candidata a
|
|
66
|
+
simplificação futura, já que os eventos que ela consome hoje passam pela MESMA
|
|
67
|
+
ponte de diagnostics que este recurso genérico já lê — fora de escopo aqui, só
|
|
68
|
+
sinalizado.
|
|
69
|
+
|
|
3
70
|
## 0.18.0
|
|
4
71
|
|
|
5
72
|
### Minor Changes
|
|
@@ -23,6 +23,7 @@ export default class TelescopeProvider {
|
|
|
23
23
|
private entryEvents;
|
|
24
24
|
private pruner;
|
|
25
25
|
private overloadGuard;
|
|
26
|
+
private otelExporter;
|
|
26
27
|
constructor(app: ApplicationService);
|
|
27
28
|
register(): void;
|
|
28
29
|
boot(): Promise<void>;
|
|
@@ -61,6 +62,21 @@ export default class TelescopeProvider {
|
|
|
61
62
|
* no client is connected, so it stays zero-overhead by default.
|
|
62
63
|
*/
|
|
63
64
|
private applyStreaming;
|
|
65
|
+
/**
|
|
66
|
+
* Wrap the store with the OTel-export decorator, PLACED AFTER redaction +
|
|
67
|
+
* sampling (mirroring {@link applyStreaming}'s positioning) so it only ever
|
|
68
|
+
* exports the final, already-scrubbed, post-sampling entry — see
|
|
69
|
+
* {@link OtelExportingTelescopeStore}'s doc for exactly why that ordering
|
|
70
|
+
* matters. Skipped entirely when `config.otel.enabled` is `false` (the
|
|
71
|
+
* default): the dynamic `import()` below is the ONLY place any
|
|
72
|
+
* `@opentelemetry/*` package is ever loaded, so a host who never opts in never
|
|
73
|
+
* needs those peers installed.
|
|
74
|
+
*
|
|
75
|
+
* A missing/incompatible OTel package degrades to a LOGGED NO-OP rather than a
|
|
76
|
+
* boot crash — turning on `otel.enabled` without `npm i`-ing its peers should
|
|
77
|
+
* not take down the whole app, just leave the feature dark.
|
|
78
|
+
*/
|
|
79
|
+
private applyOtel;
|
|
64
80
|
/** Construct the extension registry, giving each extension a context over the store + container. */
|
|
65
81
|
private buildExtensionRegistry;
|
|
66
82
|
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;AAoC/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IASxB,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAR7C,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;IAEjD,YAAsB,GAAG,EAAE,kBAAkB,EAAI;IAEjD,QAAQ,SAQP;IAEK,IAAI,kBA0ET;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,oGAAoG;IACpG,OAAO,CAAC,sBAAsB;IAaxB,QAAQ,kBAgBb;CACF"}
|
|
@@ -36,6 +36,7 @@ export default class TelescopeProvider {
|
|
|
36
36
|
entryEvents = null;
|
|
37
37
|
pruner = null;
|
|
38
38
|
overloadGuard = null;
|
|
39
|
+
otelExporter = null;
|
|
39
40
|
constructor(app) {
|
|
40
41
|
this.app = app;
|
|
41
42
|
}
|
|
@@ -50,7 +51,8 @@ export default class TelescopeProvider {
|
|
|
50
51
|
}
|
|
51
52
|
async boot() {
|
|
52
53
|
const config = resolveConfig(this.app.config.get('telescope', {}));
|
|
53
|
-
const
|
|
54
|
+
const sampled = this.applySampling(this.applyRedaction(await this.buildStore(config), config), config);
|
|
55
|
+
const store = this.applyStreaming(await this.applyOtel(sampled, config), config);
|
|
54
56
|
this.store = store;
|
|
55
57
|
if (!config.enabled) {
|
|
56
58
|
resetTelescopeRuntime();
|
|
@@ -177,6 +179,38 @@ export default class TelescopeProvider {
|
|
|
177
179
|
this.entryEvents = new EntryEvents();
|
|
178
180
|
return new StreamingTelescopeStore(store, this.entryEvents);
|
|
179
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Wrap the store with the OTel-export decorator, PLACED AFTER redaction +
|
|
184
|
+
* sampling (mirroring {@link applyStreaming}'s positioning) so it only ever
|
|
185
|
+
* exports the final, already-scrubbed, post-sampling entry — see
|
|
186
|
+
* {@link OtelExportingTelescopeStore}'s doc for exactly why that ordering
|
|
187
|
+
* matters. Skipped entirely when `config.otel.enabled` is `false` (the
|
|
188
|
+
* default): the dynamic `import()` below is the ONLY place any
|
|
189
|
+
* `@opentelemetry/*` package is ever loaded, so a host who never opts in never
|
|
190
|
+
* needs those peers installed.
|
|
191
|
+
*
|
|
192
|
+
* A missing/incompatible OTel package degrades to a LOGGED NO-OP rather than a
|
|
193
|
+
* boot crash — turning on `otel.enabled` without `npm i`-ing its peers should
|
|
194
|
+
* not take down the whole app, just leave the feature dark.
|
|
195
|
+
*/
|
|
196
|
+
async applyOtel(store, config) {
|
|
197
|
+
if (!config.otel.enabled)
|
|
198
|
+
return store;
|
|
199
|
+
try {
|
|
200
|
+
const [{ createOtelExporter }, { OtelExportingTelescopeStore }] = await Promise.all([
|
|
201
|
+
import('../src/otel/otel_exporter.js'),
|
|
202
|
+
import('../src/otel/otel_exporting_store.js'),
|
|
203
|
+
]);
|
|
204
|
+
const exporter = createOtelExporter(config.otel);
|
|
205
|
+
this.otelExporter = exporter;
|
|
206
|
+
return new OtelExportingTelescopeStore(store, exporter, config.otel.entryTypes);
|
|
207
|
+
}
|
|
208
|
+
catch (err) {
|
|
209
|
+
console.error('@adonis-agora/telescope: config.otel.enabled is true, but its @opentelemetry/* peers ' +
|
|
210
|
+
'could not be loaded (are they installed?). OTel export is disabled for this boot:', err);
|
|
211
|
+
return store;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
180
214
|
/** Construct the extension registry, giving each extension a context over the store + container. */
|
|
181
215
|
buildExtensionRegistry(config, store) {
|
|
182
216
|
if (config.extensions.length === 0)
|
|
@@ -199,6 +233,10 @@ export default class TelescopeProvider {
|
|
|
199
233
|
this.logsWatcher = null;
|
|
200
234
|
this.entryEvents?.clear();
|
|
201
235
|
this.entryEvents = null;
|
|
236
|
+
// Flush any batched-but-unsent spans/logs before the process (or test) tears
|
|
237
|
+
// down, so a graceful shutdown never silently drops the tail of a trace.
|
|
238
|
+
await this.otelExporter?.shutdown();
|
|
239
|
+
this.otelExporter = null;
|
|
202
240
|
resetTelescopeRuntime();
|
|
203
241
|
}
|
|
204
242
|
}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"telescope_provider.js","sourceRoot":"","sources":["../../providers/telescope_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.20.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.20.0';
|
|
3
3
|
// — config —
|
|
4
4
|
export { DEFAULT_MAX_TOKENS, DEFAULT_MODEL, defineConfig, resolveConfig, } from './define_config.js';
|
|
5
5
|
// — diagnosis model + parsing —
|
|
@@ -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.20.0";
|
|
3
3
|
export type { AlertChannel, ChannelFetch, ConsoleSink } from './alert_channel.js';
|
|
4
4
|
export { consoleChannel, customChannel, slackChannel, webhookChannel, } from './alert_channel.js';
|
|
5
5
|
export type { AlertDiagnosis, AlertGeoLocation, AlertMetric, AlertPayload, AlertRule, ExceptionAlertContext, GeoLookup, ResolvedAlerts, } from './alert_rule.js';
|
package/dist/src/alerts/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.20.0';
|
|
3
3
|
// — channels —
|
|
4
4
|
export { consoleChannel, customChannel, slackChannel, webhookChannel, } from './alert_channel.js';
|
|
5
5
|
// — alerter (exception source → tracker → channels) —
|
|
@@ -187,6 +187,57 @@ export interface TelescopeConfig {
|
|
|
187
187
|
* overload guard's shed flag. See {@link ClientErrorsConfig}.
|
|
188
188
|
*/
|
|
189
189
|
clientErrors?: ClientErrorsConfig;
|
|
190
|
+
/**
|
|
191
|
+
* OTel export: converts recorded entries into OTLP spans/logs shipped to a
|
|
192
|
+
* self-hosted OTel Collector (→ Tempo/Loki/Grafana or any OTLP-compatible
|
|
193
|
+
* backend). OFF by default — set `enabled: true` (plus an `endpoint`, unless the
|
|
194
|
+
* Collector default `http://localhost:4318` is right) to turn it on. When
|
|
195
|
+
* disabled, none of the `@opentelemetry/*` packages are ever imported: they stay
|
|
196
|
+
* genuinely optional peers. See {@link OtelConfig} and the `otel` docs page for
|
|
197
|
+
* the exact diagnostics-entry → span/log mapping.
|
|
198
|
+
*/
|
|
199
|
+
otel?: OtelConfig;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* OTel export configuration (see {@link TelescopeConfig.otel}). Exports already
|
|
203
|
+
* REDACTED, post-SAMPLING `diagnostic` entries (by default) as OTLP spans (for
|
|
204
|
+
* entries carrying a duration) or logs (point-in-time entries), correlated by the
|
|
205
|
+
* entry's resolved trace id. See `packages/core/src/otel/mapper.ts` for the
|
|
206
|
+
* mapping rules and `docs/packages/otel.mdx` for a receiving-end Collector config.
|
|
207
|
+
*/
|
|
208
|
+
export interface OtelConfig {
|
|
209
|
+
/** Master switch. Default `false` — genuinely opt-in, and zero-cost while off. */
|
|
210
|
+
enabled?: boolean;
|
|
211
|
+
/**
|
|
212
|
+
* Base URL of the OTLP HTTP receiver (an OTel Collector, or any OTLP-compatible
|
|
213
|
+
* backend). Default `'http://localhost:4318'` — the Collector's own default OTLP/HTTP
|
|
214
|
+
* port. `tracesPath`/`logsPath` are appended to it.
|
|
215
|
+
*/
|
|
216
|
+
endpoint?: string;
|
|
217
|
+
/** Path appended to `endpoint` for the traces signal. Default `'/v1/traces'`. */
|
|
218
|
+
tracesPath?: string;
|
|
219
|
+
/** Path appended to `endpoint` for the logs signal. Default `'/v1/logs'`. */
|
|
220
|
+
logsPath?: string;
|
|
221
|
+
/**
|
|
222
|
+
* Extra HTTP headers sent with every export request — e.g. an `Authorization`
|
|
223
|
+
* bearer token for a hosted Collector ingress. Default `{}`.
|
|
224
|
+
*/
|
|
225
|
+
headers?: Record<string, string>;
|
|
226
|
+
/**
|
|
227
|
+
* The `service.name` resource attribute stamped on every exported span/log, so
|
|
228
|
+
* Grafana can filter/group by which app produced them. Defaults to
|
|
229
|
+
* `process.env.OTEL_SERVICE_NAME`, else `'adonis-app'`.
|
|
230
|
+
*/
|
|
231
|
+
serviceName?: string;
|
|
232
|
+
/**
|
|
233
|
+
* Which recorded entry TYPES are exported. Default `['diagnostic']` — the
|
|
234
|
+
* generic diagnostics watcher's entries, per the mapping this feature exists
|
|
235
|
+
* for. Widen it (e.g. add `'request'`) once you also want those exported; the
|
|
236
|
+
* mapper degrades any entry without an interpretable shape to a plain log.
|
|
237
|
+
*/
|
|
238
|
+
entryTypes?: string[];
|
|
239
|
+
/** Per-export HTTP timeout, in ms. Default `5000`. */
|
|
240
|
+
timeoutMs?: number;
|
|
190
241
|
}
|
|
191
242
|
/** Diagnostics-watcher configuration (see {@link TelescopeConfig.diagnostics}). */
|
|
192
243
|
export interface DiagnosticsConfig {
|
|
@@ -340,6 +391,19 @@ export interface ResolvedTelescopeConfig {
|
|
|
340
391
|
};
|
|
341
392
|
/** Resolved client-error ingestion settings (always present; `enabled` defaults `false`). */
|
|
342
393
|
clientErrors: ResolvedClientErrorsConfig;
|
|
394
|
+
/** Resolved OTel-export settings (always present; `enabled` defaults `false`). */
|
|
395
|
+
otel: ResolvedOtelConfig;
|
|
396
|
+
}
|
|
397
|
+
/** The fully-resolved OTel-export config (see {@link OtelConfig}). */
|
|
398
|
+
export interface ResolvedOtelConfig {
|
|
399
|
+
enabled: boolean;
|
|
400
|
+
endpoint: string;
|
|
401
|
+
tracesPath: string;
|
|
402
|
+
logsPath: string;
|
|
403
|
+
headers: Record<string, string>;
|
|
404
|
+
serviceName: string;
|
|
405
|
+
entryTypes: string[];
|
|
406
|
+
timeoutMs: number;
|
|
343
407
|
}
|
|
344
408
|
/**
|
|
345
409
|
* Identity helper giving `config/telescope.ts` full type-checking. Mirrors the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAEhC,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,10 @@ const DEFAULT_PRUNE_INTERVAL_MS = 60_000;
|
|
|
11
11
|
const DEFAULT_MAX_EVENT_LOOP_LAG_MS = 200;
|
|
12
12
|
/** Default startup grace (ms) the overload guard discards before it can pause. */
|
|
13
13
|
const DEFAULT_STARTUP_GRACE_MS = 5_000;
|
|
14
|
+
/** Default OTel Collector OTLP/HTTP endpoint (the Collector's own default port). */
|
|
15
|
+
const DEFAULT_OTEL_ENDPOINT = 'http://localhost:4318';
|
|
16
|
+
/** Default per-export OTLP HTTP timeout (ms). */
|
|
17
|
+
const DEFAULT_OTEL_TIMEOUT_MS = 5_000;
|
|
14
18
|
/**
|
|
15
19
|
* Identity helper giving `config/telescope.ts` full type-checking. Mirrors the
|
|
16
20
|
* AdonisJS `defineConfig` convention.
|
|
@@ -79,6 +83,20 @@ export function resolveConfig(config = {}) {
|
|
|
79
83
|
startupGraceMs: Math.max(0, config.overload?.startupGraceMs ?? DEFAULT_STARTUP_GRACE_MS),
|
|
80
84
|
},
|
|
81
85
|
clientErrors: resolveClientErrors(config.clientErrors),
|
|
86
|
+
otel: resolveOtel(config.otel),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/** Resolve the (optional) OTel-export block. Absent/`enabled: false` ⇒ disabled. */
|
|
90
|
+
function resolveOtel(otel) {
|
|
91
|
+
return {
|
|
92
|
+
enabled: otel?.enabled ?? false,
|
|
93
|
+
endpoint: otel?.endpoint ?? DEFAULT_OTEL_ENDPOINT,
|
|
94
|
+
tracesPath: otel?.tracesPath ?? '/v1/traces',
|
|
95
|
+
logsPath: otel?.logsPath ?? '/v1/logs',
|
|
96
|
+
headers: otel?.headers ?? {},
|
|
97
|
+
serviceName: otel?.serviceName ?? process.env.OTEL_SERVICE_NAME ?? 'adonis-app',
|
|
98
|
+
entryTypes: otel?.entryTypes ?? ['diagnostic'],
|
|
99
|
+
timeoutMs: otel?.timeoutMs ?? DEFAULT_OTEL_TIMEOUT_MS,
|
|
82
100
|
};
|
|
83
101
|
}
|
|
84
102
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAGL,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAsB,MAAM,oBAAoB,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAuB,MAAM,wBAAwB,CAAC;AAE9E,OAAO,EAAsB,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGlE,0EAA0E;AAC1E,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,4DAA4D;AAC5D,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,iFAAiF;AACjF,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAC1C,kFAAkF;AAClF,MAAM,wBAAwB,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,15 @@ export interface DiagnosticEvent<TPayload = unknown> {
|
|
|
55
55
|
traceId?: string;
|
|
56
56
|
/** The library-defined payload. */
|
|
57
57
|
payload: TPayload;
|
|
58
|
+
/**
|
|
59
|
+
* Wall-clock duration of the operation this event describes, in milliseconds,
|
|
60
|
+
* when known — stamped by `@adonis-agora/diagnostics`'s `emit(..., { durationMs })`.
|
|
61
|
+
* Absent on a point-in-time event with no associated duration, and on envelopes
|
|
62
|
+
* from an `@adonis-agora/diagnostics` version that predates this field. Read by the
|
|
63
|
+
* OTel bridge ({@link ../otel/mapper.js}) to decide span-vs-log; see its docs for
|
|
64
|
+
* the full mapping (including the `payload.durationMs` fallback some libs use).
|
|
65
|
+
*/
|
|
66
|
+
durationMs?: number;
|
|
58
67
|
}
|
|
59
68
|
/** Strict structural validation of a diagnostics envelope. */
|
|
60
69
|
export declare function isDiagnosticEvent(msg: unknown): msg is DiagnosticEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics_registry.d.ts","sourceRoot":"","sources":["../../src/diagnostics_registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,iEAAiE;IACjE,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;CACxC;AAKD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,GAAG,SAAS,CAExE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKvE;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,GAAG,OAAO;IACjD,gFAAgF;IAChF,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,OAAO,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics_registry.d.ts","sourceRoot":"","sources":["../../src/diagnostics_registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,iEAAiE;IACjE,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;CACxC;AAKD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,GAAG,SAAS,CAExE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKvE;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,GAAG,OAAO;IACjD,gFAAgF;IAChF,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,OAAO,EAAE,QAAQ,CAAC;IAClB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe,CAatE"}
|
|
@@ -48,6 +48,7 @@ export function isDiagnosticEvent(msg) {
|
|
|
48
48
|
'payload' in m &&
|
|
49
49
|
(m.traceId === undefined || typeof m.traceId === 'string') &&
|
|
50
50
|
// Tolerate legacy envelopes without `v`; reject a malformed (non-number) one.
|
|
51
|
-
(m.v === undefined || typeof m.v === 'number')
|
|
51
|
+
(m.v === undefined || typeof m.v === 'number') &&
|
|
52
|
+
(m.durationMs === undefined || typeof m.durationMs === 'number'));
|
|
52
53
|
}
|
|
53
54
|
//# sourceMappingURL=diagnostics_registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics_registry.js","sourceRoot":"","sources":["../../src/diagnostics_registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAQ,UAAsC,CAAC,YAAY,CAAoC,CAAC;AAClG,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,KAAa;IAC5D,MAAM,MAAM,GAAI,UAAsC,CAAC,UAAU,CAEpD,CAAC;IACd,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC;AACjD,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics_registry.js","sourceRoot":"","sources":["../../src/diagnostics_registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAQ,UAAsC,CAAC,YAAY,CAAoC,CAAC;AAClG,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,KAAa;IAC5D,MAAM,MAAM,GAAI,UAAsC,CAAC,UAAU,CAEpD,CAAC;IACd,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,CAAC;AACjD,CAAC;AA+BD,8DAA8D;AAC9D,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,OAAO,CACL,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;QACzB,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAC3B,SAAS,IAAI,CAAC;QACd,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;QAC1D,8EAA8E;QAC9E,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;QAC9C,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CACjE,CAAC;AACJ,CAAC"}
|
|
@@ -44,6 +44,11 @@ export interface DiagnosticEntryContent {
|
|
|
44
44
|
traceId: string | null;
|
|
45
45
|
/** The library-defined payload, recorded as-is. */
|
|
46
46
|
payload: unknown;
|
|
47
|
+
/**
|
|
48
|
+
* Wall-clock duration of the operation this event describes, in milliseconds, or
|
|
49
|
+
* `null` when absent. See {@link DiagnosticEvent.durationMs}.
|
|
50
|
+
*/
|
|
51
|
+
durationMs: number | null;
|
|
47
52
|
}
|
|
48
53
|
/**
|
|
49
54
|
* The ONE generic watcher behind `@adonis-agora/telescope`'s diagnostics integration. It
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics_watcher.d.ts","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,cAAuB,CAAC;AAE1D,2DAA2D;AAC3D,MAAM,WAAW,yBAAyB;IACxC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics_watcher.d.ts","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,cAAuB,CAAC;AAE1D,2DAA2D;AAC3D,MAAM,WAAW,yBAAyB;IACxC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,kBAAkB;IAa3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAZxB,QAAQ,CAAC,IAAI,eAAyB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,gFAAgF;IAChF,OAAO,CAAC,gBAAgB,CAAyC;IACjE,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAC3E,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,YACmB,KAAK,EAAE,cAAc,EACtC,OAAO,GAAE,yBAA8B,EAIxC;IAED;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAWZ;IAED,qEAAqE;IACrE,IAAI,IAAI,IAAI,CAUX;IAED,gFAAgF;IAChF,OAAO,CAAC,SAAS;IAQjB,+EAA+E;IAC/E,OAAO,CAAC,UAAU;CAqBnB;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,WAAW,CAAC,sBAAsB,CAAC,CA0B9F"}
|
|
@@ -112,6 +112,7 @@ export class DiagnosticsWatcher {
|
|
|
112
112
|
/** Map a {@link DiagnosticEvent} envelope to a Telescope {@link RecordInput}. */
|
|
113
113
|
export function buildDiagnosticEntry(msg) {
|
|
114
114
|
const traceId = msg.traceId ?? null;
|
|
115
|
+
const durationMs = msg.durationMs ?? null;
|
|
115
116
|
const content = {
|
|
116
117
|
// Tolerate envelopes from emitters that predate schema versioning.
|
|
117
118
|
v: msg.v ?? null,
|
|
@@ -120,6 +121,7 @@ export function buildDiagnosticEntry(msg) {
|
|
|
120
121
|
ts: msg.ts,
|
|
121
122
|
traceId,
|
|
122
123
|
payload: msg.payload,
|
|
124
|
+
durationMs,
|
|
123
125
|
};
|
|
124
126
|
return {
|
|
125
127
|
type: DIAGNOSTIC_ENTRY_TYPE,
|
|
@@ -129,6 +131,10 @@ export function buildDiagnosticEntry(msg) {
|
|
|
129
131
|
content,
|
|
130
132
|
// Carry the producer-resolved trace id (it knows the emitting context best).
|
|
131
133
|
traceId,
|
|
134
|
+
// Surface on the standard cross-type field too, so the dashboard's duration
|
|
135
|
+
// sort/filter and the OTel bridge (packages/core/src/otel/mapper.ts) both read
|
|
136
|
+
// ONE place regardless of entry type, instead of digging into `content`.
|
|
137
|
+
durationMs,
|
|
132
138
|
};
|
|
133
139
|
}
|
|
134
140
|
//# sourceMappingURL=diagnostics_watcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics_watcher.js","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAqC,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAEL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAoB,MAAM,YAAY,CAAC;AAGzD,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics_watcher.js","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"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"}
|
package/dist/src/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.20.0";
|
|
3
3
|
export { configure } from '../configure.js';
|
|
4
4
|
export type { DiagnoserLike, DiagnosisCoordinatorOptions, DiagnosisSummary, } from './ai/diagnosis_coordinator.js';
|
|
5
5
|
export { DiagnosisCoordinator, formatDiagnosisMarkdown, } from './ai/diagnosis_coordinator.js';
|
package/dist/src/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.20.0';
|
|
3
3
|
// Re-export the configure hook from the package root so `node ace configure` finds it
|
|
4
4
|
export { configure } from '../configure.js';
|
|
5
5
|
// — AI diagnosis coordinator (wires the MCP tool + the alerter; SDK-free) —
|
package/dist/src/mcp/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.20.0";
|
|
3
3
|
export type { McpToolName, ResolvedTelescopeMcpConfig, TelescopeMcpConfig, } from './define_config.js';
|
|
4
4
|
export { defineConfig, MCP_TOOL_NAMES, resolveConfig } from './define_config.js';
|
|
5
5
|
export type { DiagnoseExceptionHook, JsonRpcRequest, McpToolSpec, TelescopeMcpServerOptions, } from './server.js';
|
package/dist/src/mcp/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.20.0';
|
|
3
3
|
// — config —
|
|
4
4
|
export { defineConfig, MCP_TOOL_NAMES, resolveConfig } from './define_config.js';
|
|
5
5
|
// — server (plain, testable JSON-RPC surface) —
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public surface of `@adonis-agora/telescope/otel` — the PURE mapping pieces only.
|
|
3
|
+
* `otel_exporter.ts` (the real `@opentelemetry/*` SDK wiring) and
|
|
4
|
+
* `otel_exporting_store.ts` are intentionally NOT re-exported here: they are
|
|
5
|
+
* loaded exclusively via the dynamic `import()` in `telescope_provider.ts`'s
|
|
6
|
+
* `applyOtel`, so merely importing this module (or `@adonis-agora/telescope` itself)
|
|
7
|
+
* never pulls in an OTel package. Import this subpath to unit-test or reuse the
|
|
8
|
+
* mapping logic itself.
|
|
9
|
+
*/
|
|
10
|
+
export { type AttributeMap, type AttributeValue, isValidW3cTraceId, type LogExportInput, type MappedEntry, mapEntryToOtel, resolveDurationMs, type SpanExportInput, } from './mapper.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/otel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public surface of `@adonis-agora/telescope/otel` — the PURE mapping pieces only.
|
|
3
|
+
* `otel_exporter.ts` (the real `@opentelemetry/*` SDK wiring) and
|
|
4
|
+
* `otel_exporting_store.ts` are intentionally NOT re-exported here: they are
|
|
5
|
+
* loaded exclusively via the dynamic `import()` in `telescope_provider.ts`'s
|
|
6
|
+
* `applyOtel`, so merely importing this module (or `@adonis-agora/telescope` itself)
|
|
7
|
+
* never pulls in an OTel package. Import this subpath to unit-test or reuse the
|
|
8
|
+
* mapping logic itself.
|
|
9
|
+
*/
|
|
10
|
+
export { isValidW3cTraceId, mapEntryToOtel, resolveDurationMs, } from './mapper.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/otel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAGL,iBAAiB,EAGjB,cAAc,EACd,iBAAiB,GAElB,MAAM,aAAa,CAAC"}
|