@assemblyline-agents/otlp 5.0.10 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,18 +1,40 @@
1
1
  # @assemblyline-agents/otlp
2
2
 
3
- Official Assembly Line OTLP/HTTP instrumentation plugin for GenAI telemetry backends.
3
+ Official OTLP/HTTP observability plugin for GenAI telemetry backends.
4
4
 
5
- It provides `createOtlpSink` / `createOtlpSinkFromEnv`, which build an OTLP/HTTP `TelemetrySink` (with GenAI semantic conventions) for use inside an agent's `instrumentation.ts` via `defineInstrumentation`. Point it at any OTLP-compatible backend to collect run, turn, and model-usage telemetry from deployed agents.
5
+ ## Configure
6
6
 
7
- ## Install
7
+ Install and lock the typed plugin, then set `OTEL_EXPORTER_OTLP_ENDPOINT`:
8
8
 
9
9
  ```sh
10
- npm install @assemblyline-agents/otlp
10
+ assembly-line add otlp agent
11
11
  ```
12
12
 
13
- ## Part of Assembly Line
13
+ Select the default contribution in `agent.md`:
14
14
 
15
- This package is part of [Assembly Line](https://github.com/jasonbadeaux/assembly-line), a vendor-neutral, filesystem-first framework for durable AI agents. See the developer documentation in [docs/developers/](https://github.com/jasonbadeaux/assembly-line/tree/main/docs/developers) for setup, agent authoring, and deployment guides.
15
+ ```yaml
16
+ observability: otlp
17
+ ```
18
+
19
+ The default records usage telemetry without model content. Inputs and outputs
20
+ are not recorded.
21
+
22
+ Set only the exceptions you need:
23
+
24
+ ```yaml
25
+ observability:
26
+ otlp:
27
+ serviceName: coachgpt
28
+ captureContent:
29
+ level: usage
30
+ sampleRate: 0.25
31
+ redact: true
32
+ recordInputs: false
33
+ recordOutputs: false
34
+ ```
35
+
36
+ See the [Declarative Reference](../../docs/developers/declarative-reference.md#observability)
37
+ for every capture level and default.
16
38
 
17
39
  ## License
18
40
 
@@ -0,0 +1,45 @@
1
+ module.exports = {
2
+ instrumentation: {
3
+ otlp: {
4
+ definition: "@assemblyline-agents/otlp",
5
+ factory: "defineOtlpInstrumentation",
6
+ requiredConfig: ["OTEL_EXPORTER_OTLP_ENDPOINT"],
7
+ optionalConfig: ["OTEL_SERVICE_NAME", "OTEL_EXPORTER_OTLP_TIMEOUT", "ASSEMBLY_LINE_OTLP_BATCH_MAX", "ASSEMBLY_LINE_OTLP_FLUSH_MS"],
8
+ optionalCredentials: ["OTEL_EXPORTER_OTLP_HEADERS"],
9
+ captureContent: "usage",
10
+ recordInputs: false,
11
+ recordOutputs: false,
12
+ configSchema: {
13
+ type: "object",
14
+ additionalProperties: false,
15
+ properties: {
16
+ serviceName: { type: "string", minLength: 1 },
17
+ captureContent: {
18
+ anyOf: [
19
+ { enum: ["off", "usage", "content", "full"] },
20
+ {
21
+ type: "object",
22
+ additionalProperties: false,
23
+ required: ["level"],
24
+ properties: {
25
+ level: { enum: ["off", "usage", "content", "full"] },
26
+ maxChars: { type: "integer", minimum: 1 },
27
+ redact: { type: "boolean" },
28
+ redactKeys: {
29
+ type: "array",
30
+ items: { type: "string", minLength: 1 },
31
+ uniqueItems: true
32
+ },
33
+ sampleRate: { type: "number", minimum: 0, maximum: 1 },
34
+ includeToolIO: { type: "boolean" }
35
+ }
36
+ }
37
+ ]
38
+ },
39
+ recordInputs: { type: "boolean" },
40
+ recordOutputs: { type: "boolean" }
41
+ }
42
+ }
43
+ }
44
+ }
45
+ };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,16 @@
1
+ import { type InstrumentationDefinition } from "@assemblyline-agents/core";
1
2
  import type { TelemetrySink } from "@assemblyline-agents/runtime";
2
3
  import { type OtlpSinkOptions } from "./sink.js";
3
4
  export * from "./semconv.js";
4
5
  export * from "./sink.js";
6
+ export interface OtlpInstrumentationOptions {
7
+ serviceName?: string;
8
+ captureContent?: InstrumentationDefinition["captureContent"];
9
+ recordInputs?: boolean;
10
+ recordOutputs?: boolean;
11
+ }
12
+ /** Build the official package-owned instrumentation definition selected by `observability: otlp`. */
13
+ export declare function defineOtlpInstrumentation(options?: OtlpInstrumentationOptions): InstrumentationDefinition;
5
14
  /**
6
15
  * Build an OTLP/HTTP GenAI {@link TelemetrySink} for use inside
7
16
  * `agent/instrumentation.ts`. Wire it in the `setup` callback of
@@ -9,24 +18,22 @@ export * from "./sink.js";
9
18
  *
10
19
  * ```ts
11
20
  * import { defineInstrumentation } from "@assemblyline-agents/core";
12
- * import { createOtlpSinkFromEnv } from "@assemblyline-agents/otlp";
21
+ * import { createOtlpSinkFromConfig } from "@assemblyline-agents/otlp";
13
22
  *
14
23
  * export default defineInstrumentation({
15
24
  * serviceName: "my-agent",
16
25
  * captureContent: "usage",
17
- * requiredConfig: ["OTEL_EXPORTER_OTLP_ENDPOINT"],
18
- * optionalCredentials: ["OTEL_EXPORTER_OTLP_HEADERS"],
19
- * setup: ({ config, credentials }) => createOtlpSinkFromEnv({ ...config, ...credentials })
26
+ * setup: ({ config, credentials }) => createOtlpSinkFromConfig(config, credentials)
20
27
  * });
21
28
  * ```
22
29
  */
23
30
  export declare function createOtlpSink(options: OtlpSinkOptions): TelemetrySink;
24
31
  /**
25
- * Convenience factory that reads OTLP configuration from environment variables
32
+ * Convenience factory that reads scoped OTLP configuration and credentials
26
33
  * (`OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_HEADERS`,
27
34
  * `OTEL_SERVICE_NAME`, `OTEL_EXPORTER_OTLP_TIMEOUT`, `ASSEMBLY_LINE_OTLP_BATCH_MAX`,
28
- * `ASSEMBLY_LINE_OTLP_FLUSH_MS`). Pass the `env` handed to the instrumentation
29
- * `setup` callback so only declared values reach the sink.
35
+ * `ASSEMBLY_LINE_OTLP_FLUSH_MS`). Pass the separate `config` and `credentials`
36
+ * views handed to the instrumentation `setup` callback.
30
37
  */
31
- export declare function createOtlpSinkFromEnv(env?: Record<string, string | undefined>, overrides?: Partial<OtlpSinkOptions>): TelemetrySink;
38
+ export declare function createOtlpSinkFromConfig(config: Readonly<Record<string, string | undefined>>, credentials?: Readonly<Record<string, string | undefined>>, overrides?: Partial<OtlpSinkOptions>): TelemetrySink;
32
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAkC,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjF,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAE1B;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAEtE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,SAAS,GAAE,OAAO,CAAC,eAAe,CAAM,GACvC,aAAa,CAoBf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAkC,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjF,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAE1B,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC7D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qGAAqG;AACrG,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,yBAAyB,CAY3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAEtE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EACpD,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAM,EAC9D,SAAS,GAAE,OAAO,CAAC,eAAe,CAAM,GACvC,aAAa,CAoBf"}
package/dist/index.js CHANGED
@@ -1,6 +1,21 @@
1
+ import { defineInstrumentation } from "@assemblyline-agents/core";
1
2
  import { OtlpHttpSink, parseOtlpHeaders } from "./sink.js";
2
3
  export * from "./semconv.js";
3
4
  export * from "./sink.js";
5
+ /** Build the official package-owned instrumentation definition selected by `observability: otlp`. */
6
+ export function defineOtlpInstrumentation(options = {}) {
7
+ const sinkOptions = options.serviceName ? { serviceName: options.serviceName } : {};
8
+ return defineInstrumentation({
9
+ requiredConfig: ["OTEL_EXPORTER_OTLP_ENDPOINT"],
10
+ optionalConfig: ["OTEL_SERVICE_NAME", "OTEL_EXPORTER_OTLP_TIMEOUT", "ASSEMBLY_LINE_OTLP_BATCH_MAX", "ASSEMBLY_LINE_OTLP_FLUSH_MS"],
11
+ optionalCredentials: ["OTEL_EXPORTER_OTLP_HEADERS"],
12
+ captureContent: options.captureContent ?? "usage",
13
+ recordInputs: options.recordInputs ?? false,
14
+ recordOutputs: options.recordOutputs ?? false,
15
+ ...(options.serviceName ? { serviceName: options.serviceName } : {}),
16
+ setup: ({ config, credentials }) => createOtlpSinkFromConfig(config, credentials, sinkOptions)
17
+ });
18
+ }
4
19
  /**
5
20
  * Build an OTLP/HTTP GenAI {@link TelemetrySink} for use inside
6
21
  * `agent/instrumentation.ts`. Wire it in the `setup` callback of
@@ -8,14 +23,12 @@ export * from "./sink.js";
8
23
  *
9
24
  * ```ts
10
25
  * import { defineInstrumentation } from "@assemblyline-agents/core";
11
- * import { createOtlpSinkFromEnv } from "@assemblyline-agents/otlp";
26
+ * import { createOtlpSinkFromConfig } from "@assemblyline-agents/otlp";
12
27
  *
13
28
  * export default defineInstrumentation({
14
29
  * serviceName: "my-agent",
15
30
  * captureContent: "usage",
16
- * requiredConfig: ["OTEL_EXPORTER_OTLP_ENDPOINT"],
17
- * optionalCredentials: ["OTEL_EXPORTER_OTLP_HEADERS"],
18
- * setup: ({ config, credentials }) => createOtlpSinkFromEnv({ ...config, ...credentials })
31
+ * setup: ({ config, credentials }) => createOtlpSinkFromConfig(config, credentials)
19
32
  * });
20
33
  * ```
21
34
  */
@@ -23,31 +36,31 @@ export function createOtlpSink(options) {
23
36
  return new OtlpHttpSink(options);
24
37
  }
25
38
  /**
26
- * Convenience factory that reads OTLP configuration from environment variables
39
+ * Convenience factory that reads scoped OTLP configuration and credentials
27
40
  * (`OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_HEADERS`,
28
41
  * `OTEL_SERVICE_NAME`, `OTEL_EXPORTER_OTLP_TIMEOUT`, `ASSEMBLY_LINE_OTLP_BATCH_MAX`,
29
- * `ASSEMBLY_LINE_OTLP_FLUSH_MS`). Pass the `env` handed to the instrumentation
30
- * `setup` callback so only declared values reach the sink.
42
+ * `ASSEMBLY_LINE_OTLP_FLUSH_MS`). Pass the separate `config` and `credentials`
43
+ * views handed to the instrumentation `setup` callback.
31
44
  */
32
- export function createOtlpSinkFromEnv(env = process.env, overrides = {}) {
33
- const endpoint = overrides.endpoint ?? env.OTEL_EXPORTER_OTLP_ENDPOINT;
45
+ export function createOtlpSinkFromConfig(config, credentials = {}, overrides = {}) {
46
+ const endpoint = overrides.endpoint ?? config.OTEL_EXPORTER_OTLP_ENDPOINT;
34
47
  if (!endpoint) {
35
- throw new Error("createOtlpSinkFromEnv requires OTEL_EXPORTER_OTLP_ENDPOINT (or an endpoint override).");
48
+ throw new Error("createOtlpSinkFromConfig requires OTEL_EXPORTER_OTLP_ENDPOINT (or an endpoint override).");
36
49
  }
37
- const headers = { ...parseOtlpHeaders(env.OTEL_EXPORTER_OTLP_HEADERS), ...(overrides.headers ?? {}) };
50
+ const headers = { ...parseOtlpHeaders(credentials.OTEL_EXPORTER_OTLP_HEADERS), ...(overrides.headers ?? {}) };
38
51
  const options = { endpoint };
39
52
  if (Object.keys(headers).length > 0)
40
53
  options.headers = headers;
41
- const serviceName = overrides.serviceName ?? env.OTEL_SERVICE_NAME;
54
+ const serviceName = overrides.serviceName ?? config.OTEL_SERVICE_NAME;
42
55
  if (serviceName)
43
56
  options.serviceName = serviceName;
44
- const batchMax = overrides.batchMax ?? numberFromEnv(env.ASSEMBLY_LINE_OTLP_BATCH_MAX);
57
+ const batchMax = overrides.batchMax ?? numberFromEnv(config.ASSEMBLY_LINE_OTLP_BATCH_MAX);
45
58
  if (batchMax !== undefined)
46
59
  options.batchMax = batchMax;
47
- const flushIntervalMs = overrides.flushIntervalMs ?? numberFromEnv(env.ASSEMBLY_LINE_OTLP_FLUSH_MS);
60
+ const flushIntervalMs = overrides.flushIntervalMs ?? numberFromEnv(config.ASSEMBLY_LINE_OTLP_FLUSH_MS);
48
61
  if (flushIntervalMs !== undefined)
49
62
  options.flushIntervalMs = flushIntervalMs;
50
- const timeoutMs = overrides.timeoutMs ?? numberFromEnv(env.OTEL_EXPORTER_OTLP_TIMEOUT);
63
+ const timeoutMs = overrides.timeoutMs ?? numberFromEnv(config.OTEL_EXPORTER_OTLP_TIMEOUT);
51
64
  if (timeoutMs !== undefined)
52
65
  options.timeoutMs = timeoutMs;
53
66
  if (overrides.fetch)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAwB,MAAM,WAAW,CAAC;AAEjF,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAE1B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,cAAc,CAAC,OAAwB;IACrD,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA0C,OAAO,CAAC,GAAG,EACrD,YAAsC,EAAE;IAExC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,GAAG,CAAC,2BAA2B,CAAC;IACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;IACtG,MAAM,OAAO,GAAoB,EAAE,QAAQ,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/D,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,GAAG,CAAC,iBAAiB,CAAC;IACnE,IAAI,WAAW;QAAE,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;IACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACvF,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACxD,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,IAAI,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACpG,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;IAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACvF,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3D,IAAI,SAAS,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IACrD,IAAI,SAAS,CAAC,YAAY;QAAE,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IAC1E,IAAI,SAAS,CAAC,OAAO;QAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAC3D,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC9C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assemblyline-agents/otlp",
3
- "version": "5.0.10",
3
+ "version": "6.0.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -9,12 +9,14 @@
9
9
  }
10
10
  },
11
11
  "dependencies": {
12
- "@assemblyline-agents/core": "5.0.10",
13
- "@assemblyline-agents/runtime": "5.0.10"
12
+ "@assemblyline-agents/core": "6.0.1",
13
+ "@assemblyline-agents/runtime": "6.0.1"
14
14
  },
15
15
  "description": "Official Assembly Line OTLP/HTTP instrumentation plugin for GenAI telemetry backends.",
16
16
  "files": [
17
- "dist"
17
+ "dist",
18
+ "plugin.json",
19
+ "ai.assemblyline"
18
20
  ],
19
21
  "engines": {
20
22
  "node": ">=22.19.0"
package/plugin.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
+ "name": "otlp",
4
+ "version": "6.0.1",
5
+ "description": "Official Assembly Line OTLP observability plugin.",
6
+ "extensions": {
7
+ "ai.assemblyline": {
8
+ "entry": "./ai.assemblyline/index.cjs"
9
+ }
10
+ }
11
+ }