agentfootprint
Version:
The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.
91 lines • 6.58 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.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.githubDeviceSignIn = exports.githubBugReporter = exports.CANONICAL_JSON_VERSION = exports.canonicalJson = exports.AUDIT_ZERO_HASH = exports.AUDIT_GENESIS_EVENT_TYPE = exports.AUDIT_BUNDLE_FORMAT = exports.verifyAuditBundle = exports.auditExport = exports.fileObservability = exports.otelObservability = exports.xrayObservability = exports.cloudwatchObservability = exports.AGENTCORE_EVALUATIONS_SCOPE_NAME = exports.agentCoreEvaluationSpans = exports.agentcoreObservability = void 0;
var agentcore_js_1 = require("./adapters/observability/agentcore.js");
Object.defineProperty(exports, "agentcoreObservability", { enumerable: true, get: function () { return agentcore_js_1.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.
Object.defineProperty(exports, "agentCoreEvaluationSpans", { enumerable: true, get: function () { return agentcore_js_1.agentCoreEvaluationSpans; } });
Object.defineProperty(exports, "AGENTCORE_EVALUATIONS_SCOPE_NAME", { enumerable: true, get: function () { return agentcore_js_1.AGENTCORE_EVALUATIONS_SCOPE_NAME; } });
var cloudwatch_js_1 = require("./adapters/observability/cloudwatch.js");
Object.defineProperty(exports, "cloudwatchObservability", { enumerable: true, get: function () { return cloudwatch_js_1.cloudwatchObservability; } });
var xray_js_1 = require("./adapters/observability/xray.js");
Object.defineProperty(exports, "xrayObservability", { enumerable: true, get: function () { return xray_js_1.xrayObservability; } });
var otel_js_1 = require("./adapters/observability/otel.js");
Object.defineProperty(exports, "otelObservability", { enumerable: true, get: function () { return otel_js_1.otelObservability; } });
// 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.
var file_js_1 = require("./adapters/observability/file.js");
Object.defineProperty(exports, "fileObservability", { enumerable: true, get: function () { return file_js_1.fileObservability; } });
// 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).
var audit_js_1 = require("./adapters/observability/audit.js");
Object.defineProperty(exports, "auditExport", { enumerable: true, get: function () { return audit_js_1.auditExport; } });
Object.defineProperty(exports, "verifyAuditBundle", { enumerable: true, get: function () { return audit_js_1.verifyAuditBundle; } });
Object.defineProperty(exports, "AUDIT_BUNDLE_FORMAT", { enumerable: true, get: function () { return audit_js_1.AUDIT_BUNDLE_FORMAT; } });
Object.defineProperty(exports, "AUDIT_GENESIS_EVENT_TYPE", { enumerable: true, get: function () { return audit_js_1.AUDIT_GENESIS_EVENT_TYPE; } });
Object.defineProperty(exports, "AUDIT_ZERO_HASH", { enumerable: true, get: function () { return audit_js_1.AUDIT_ZERO_HASH; } });
var canonicalJson_js_1 = require("./lib/canonicalJson.js");
Object.defineProperty(exports, "canonicalJson", { enumerable: true, get: function () { return canonicalJson_js_1.canonicalJson; } });
Object.defineProperty(exports, "CANONICAL_JSON_VERSION", { enumerable: true, get: function () { return canonicalJson_js_1.CANONICAL_JSON_VERSION; } });
// 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).
var githubBugReporter_js_1 = require("./adapters/observability/githubBugReporter.js");
Object.defineProperty(exports, "githubBugReporter", { enumerable: true, get: function () { return githubBugReporter_js_1.githubBugReporter; } });
var githubDeviceSignIn_js_1 = require("./adapters/observability/githubDeviceSignIn.js");
Object.defineProperty(exports, "githubDeviceSignIn", { enumerable: true, get: function () { return githubDeviceSignIn_js_1.githubDeviceSignIn; } });
//# sourceMappingURL=observability-providers.js.map