Fixapp-sdk
@revenexx/app-sdk@0.4.2
@revenexx/app-sdk
0.4.1
Patch Changes
- 9901d93: OpenTelemetry now auto-starts as a side effect of importing
@revenexx/app-sdk/router— noNODE_OPTIONS=--requirepreload (which crashes open-runtimes, since the runtime server process can't resolve the app's node_modules). The bootstrap is lazy (heavy OTel packages load only when an OTLP endpoint is configured), idempotent, and never throws — a telemetry failure can no longer take the function down.
0.4.0
Minor Changes
80cbf31: Add opt-in OpenTelemetry tracing for App functions.
- New
@revenexx/app-sdk/instrumentpreload: start it viaNODE_OPTIONS=--require @revenexx/app-sdk/instrument. Lean (undici/fetch only, OTLP/proto), fullyOTEL_*-env driven, and a no-op when no OTLP endpoint is set. - The router (
createApp) now wraps each invocation in a SERVER span with W3C trace-context extraction, so a forwardedtraceparentcontinues the caller's trace and outbound PostgREST fetches show up as child CLIENT spans.
Set
OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_HEADERS,OTEL_SERVICE_NAMEandOTEL_RESOURCE_ATTRIBUTESas function variables to enable it; leave them unset for zero overhead.- New
0.3.2
Patch Changes
- acb355f: runtime adapter: default the data-plane endpoint to
https://apps.api.revenexx.comwhenREVENEXX_DATA_ENDPOINTis unset — deployed apps reach their data with zero configuration. The env var still overrides (dev tenants, staging). Exported asDEFAULT_DATA_ENDPOINT.
0.3.1
Patch Changes
- 3bdf2ae: router/mountCrud: the nested-parent filter from the path always wins — a
?parent_column=...query param can no longer widen a nested list beyond its parent resource.
0.3.0
Minor Changes
6c34488: Add
@revenexx/app-sdk/router— declarative HTTP routing for App functions.createApp()with literal-first route matching (/markets/defaultsbeats/markets/{id}),{param}/:paramtemplates, parsed bodies/queries, tenant extraction, built-in health route and 404/405 handling.mountCrud()mounts the standard five REST routes for an entity in one call, including?column=valuefilters, pagination metadata and nested resources scoped to their parent (/markets/{marketId}/locales).HttpErrorplusnotFound/badRequest/forbidden/conflicthelpers; data-client permission errors map to 403.- Public-facing READMEs for the package and repo.
0.2.1
Patch Changes
- 581e8e1: Publish to npmjs (private, scope
@revenexx) via OIDC trusted publishing. No API changes — version parity with@revenexx/app-sdk-cli.
0.2.0
Minor Changes
- 87864e7: Add count-aware pagination via
page(). Each entity client now exposespage(query)returning{ items, total, limit, offset }— the remote adapter asks PostgREST forPrefer: count=exactand reads the total fromContent-Rangein a single request; the mock adapter reports the filtered total.list()is unchanged. Generated clients (appsdk generate) now typepage()alongsidelist().