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
JavaScript
/**
* 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