UNPKG

agentfootprint

Version:

The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.

73 lines • 3.96 kB
/** * observability-providers — vendor observability strategies. * * Grouped subpath following the parallel-providers pattern v2.5 * established for `llm-providers` / `tool-providers` / * `memory-providers`. Adding a new vendor adds an export here, NOT * a new subpath — keeps `package.json#exports` from sprawling. * * Each adapter lazy-imports its vendor SDK via `lib/lazyRequire.ts`, * so consumers who never call a particular factory don't have to * install that SDK. Peer-deps are declared in package.json with * `peerDependenciesMeta.{name}.optional = true`. * * @example * ```ts * import { agentcoreObservability } from 'agentfootprint/observe'; * import { microtaskBatchDriver } from 'footprintjs/detach'; * * agent.enable.observability({ * strategy: agentcoreObservability({ * region: 'us-east-1', * logGroupName: '/agentfootprint/my-agent', * }), * // Recommended — keeps the agent loop unblocked by network latency. * detach: { driver: microtaskBatchDriver, mode: 'forget' }, * }); * ``` * * Roadmap: * - agentcoreObservability ← v2.8.1 * - cloudwatchObservability ← v2.8.2 * - xrayObservability ← v2.8.3 * - otelObservability ← v2.9.0 * - fileObservability ← 9.8.0 (no vendor at all — NDJSON on disk, * for the on-premises shop with no collector) * * Note: `datadogObservability` was on the v2.9 roadmap, but Datadog * APM accepts OTLP — point your OTel SDK at Datadog's OTLP endpoint * and `otelObservability` covers the Datadog use case. We'll ship a * dedicated `dd-trace`-based adapter only if real-world feedback * demands the native Datadog APM client. * * Not an import path of its own since 9.0.0. This is the implementation barrel * behind `agentfootprint/observe`, which re-exports every name here — same * symbols, one door. Import from the door. */ export { agentcoreObservability, // Spans shaped for AgentCore Evaluations (9.66.0) — a configuration of // `otelObservability`, kept in the vendor's file because the requirement // (the scope name their classifier routes on) is the vendor's. agentCoreEvaluationSpans, AGENTCORE_EVALUATIONS_SCOPE_NAME, } from './adapters/observability/agentcore.js'; export { cloudwatchObservability, } from './adapters/observability/cloudwatch.js'; export { xrayObservability, } from './adapters/observability/xray.js'; export { otelObservability, } from './adapters/observability/otel.js'; // NDJSON to a local file (9.8.0) — the sink for a deployment with no // collector to ship to. Vendor-free: `node:fs`, lazily required the same // way the vendor SDKs are, so importing this barrel stays browser-safe. export { fileObservability, } from './adapters/observability/file.js'; // Tamper-evident audit export (#20) — the one vendor-free strategy in // this subpath (its only runtime requirement is `node:crypto`, lazily // imported the same way the vendor SDKs are). export { auditExport, verifyAuditBundle, AUDIT_BUNDLE_FORMAT, AUDIT_GENESIS_EVENT_TYPE, AUDIT_ZERO_HASH, } from './adapters/observability/audit.js'; export { canonicalJson, CANONICAL_JSON_VERSION } from './lib/canonicalJson.js'; // File a bug report WITH the run attached (9.9.0). Two vendor-free adapters // over plain `fetch` — no SDK, `apiBase` for GitHub Enterprise Server, and a // `_fetch` seam so the whole path is testable without a network: // • `githubBugReporter` — commits the evidence zip and files the issue. // TWIN TARGETS: the issue and the evidence may live in different repos. // • `githubDeviceSignIn` — the reporter signs in as themselves, so the issue // carries their name (OAuth device flow; browser-safe). export { githubBugReporter, } from './adapters/observability/githubBugReporter.js'; export { githubDeviceSignIn, } from './adapters/observability/githubDeviceSignIn.js'; //# sourceMappingURL=observability-providers.js.map