← All @molecule/* packages · App templates
@molecule/api-activity-httpProvider bond · activity · API (Node) · v1.0.1 · Apache-2.0
Generic HTTP activity sink — POSTs activity events to a configured ingest endpoint
npm install @molecule/api-activity-httpnpm · Source on GitHub · Implements @molecule/api-activity
@molecule/api-activity-http is a provider bond on the API (Node) side: it implements the activity core interface (@molecule/api-activity) with a concrete vendor or library behind it.
Your code calls the core; you wire this provider once at startup. Swapping vendors later is one line in that wiring, not a rewrite.
import { setSink } from '@molecule/api-activity'
import { createHttpSink } from '@molecule/api-activity-http'
setSink(createHttpSink({ url: 'https://my-app.example/v1/activity' }))Works with: @molecule/api-activity, @molecule/api-logger, @molecule/api-secrets
Secrets: MOLECULE_ACTIVITY_URL (optional)
Auto-generated, AI-first package reference for the molecule.dev ecosystem. It is written to be read by coding agents as much as by people, and is generated from this package's source — edit
src/index.tsJSDoc, not this file.
Generic HTTP activity sink.
POSTs captured activity events to a configured ingest endpoint (the url
option or the MOLECULE_ACTIVITY_URL env var). No endpoint is assumed — when
none is configured the sink no-ops, so an unconfigured consumer never
silently phones home. Best-effort — never throws on failure.
import { setSink } from '@molecule/api-activity'
import { createHttpSink } from '@molecule/api-activity-http'
setSink(createHttpSink({ url: 'https://my-app.example/v1/activity' }))
provider
npm install @molecule/api-activity-http @molecule/api-activity @molecule/api-logger @molecule/api-secrets
HttpActivitySinkOptionsOptions for the HTTP activity sink.
interface HttpActivitySinkOptions {
/**
* The activity endpoint URL. Falls back to the `MOLECULE_ACTIVITY_URL` env
* var. There is no built-in default — when neither is set the sink no-ops, so
* an unconfigured generic consumer never POSTs to an assumed destination.
*/
url?: string
/**
* The app's runtime vault token, sent as a bearer token.
* Defaults to the `MOLECULE_VAULT_TOKEN` env var.
*/
token?: string
/**
* The app id for the configured endpoint, sent as the `X-Molecule-App-Id`
* header (omitted when unset). Defaults to the `MOLECULE_APP_ID` env var.
*/
appId?: string
}
createHttpSink(options)Creates an HTTP activity sink that POSTs each event to the configured ingest endpoint.
Best-effort: an unconfigured endpoint is skipped (debug-logged), and a failed
POST (or a thrown fetch) is caught and logged, never rethrown, so capture
providers can record unconditionally.
function createHttpSink(options?: HttpActivitySinkOptions): ActivitySink
options — Endpoint URL, runtime token, and app id. Each falls back to its corresponding MOLECULE_* env var, resolved per-request. With no URL configured the sink does nothing — it never assumes a destination.Returns: An {@link ActivitySink} backed by an HTTP POST.
activityHttpSecretDefinitionsSecret definitions required by the HTTP activity sink bond.
const activityHttpSecretDefinitions: SecretDefinition[]
providerDefault HTTP activity sink instance, configured from environment variables.
const provider: ActivitySink
Implements @molecule/api-activity interface.
Setup function to register this provider with the core interface:
import { setSink } from '@molecule/api-activity'
import { provider } from '@molecule/api-activity-http'
export function setupActivityHttp(): void {
setSink(provider)
}
Peer dependencies:
@molecule/api-activity ^1.0.1@molecule/api-logger ^1.0.1@molecule/api-secrets ^1.0.1MOLECULE_ACTIVITY_URL (optional) — molecule.dev activity capture URL
@molecule/api-activity@molecule/api-logger@molecule/api-secrets