meridianjs 0.2.4 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/README.md +155 -530
- package/dist/analytics/collector.d.ts +16 -0
- package/dist/analytics/collector.d.ts.map +1 -1
- package/dist/analytics/collector.js +20 -0
- package/dist/analytics/collector.js.map +1 -1
- package/dist/capabilities/registry.d.ts.map +1 -1
- package/dist/capabilities/registry.js +7 -0
- package/dist/capabilities/registry.js.map +1 -1
- package/dist/core/pipeline.d.ts.map +1 -1
- package/dist/core/pipeline.js +18 -1
- package/dist/core/pipeline.js.map +1 -1
- package/dist/core/types.d.ts +9 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/generator/index.d.ts +2 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +2 -1
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/openapi-export.d.ts +51 -0
- package/dist/generator/openapi-export.d.ts.map +1 -0
- package/dist/generator/openapi-export.js +95 -0
- package/dist/generator/openapi-export.js.map +1 -0
- package/dist/generator/templates.d.ts.map +1 -1
- package/dist/generator/templates.js +89 -18
- package/dist/generator/templates.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/policies/builtin.d.ts +16 -0
- package/dist/policies/builtin.d.ts.map +1 -1
- package/dist/policies/builtin.js +92 -0
- package/dist/policies/builtin.js.map +1 -1
- package/dist/policies/index.d.ts +1 -1
- package/dist/policies/index.d.ts.map +1 -1
- package/dist/policies/index.js +1 -1
- package/dist/policies/index.js.map +1 -1
- package/dist/providers/billdesk/adapter.d.ts +36 -0
- package/dist/providers/billdesk/adapter.d.ts.map +1 -0
- package/dist/providers/billdesk/adapter.js +212 -0
- package/dist/providers/billdesk/adapter.js.map +1 -0
- package/dist/providers/billdesk/index.d.ts +3 -0
- package/dist/providers/billdesk/index.d.ts.map +1 -0
- package/dist/providers/billdesk/index.js +3 -0
- package/dist/providers/billdesk/index.js.map +1 -0
- package/dist/providers/billdesk/pagination.d.ts +15 -0
- package/dist/providers/billdesk/pagination.d.ts.map +1 -0
- package/dist/providers/billdesk/pagination.js +51 -0
- package/dist/providers/billdesk/pagination.js.map +1 -0
- package/dist/providers/ccavenue/adapter.d.ts +38 -0
- package/dist/providers/ccavenue/adapter.d.ts.map +1 -0
- package/dist/providers/ccavenue/adapter.js +181 -0
- package/dist/providers/ccavenue/adapter.js.map +1 -0
- package/dist/providers/ccavenue/index.d.ts +3 -0
- package/dist/providers/ccavenue/index.d.ts.map +1 -0
- package/dist/providers/ccavenue/index.js +3 -0
- package/dist/providers/ccavenue/index.js.map +1 -0
- package/dist/providers/ccavenue/pagination.d.ts +16 -0
- package/dist/providers/ccavenue/pagination.d.ts.map +1 -0
- package/dist/providers/ccavenue/pagination.js +20 -0
- package/dist/providers/ccavenue/pagination.js.map +1 -0
- package/dist/providers/datadog/adapter.d.ts +30 -0
- package/dist/providers/datadog/adapter.d.ts.map +1 -0
- package/dist/providers/datadog/adapter.js +163 -0
- package/dist/providers/datadog/adapter.js.map +1 -0
- package/dist/providers/datadog/index.d.ts +3 -0
- package/dist/providers/datadog/index.d.ts.map +1 -0
- package/dist/providers/datadog/index.js +3 -0
- package/dist/providers/datadog/index.js.map +1 -0
- package/dist/providers/datadog/pagination.d.ts +16 -0
- package/dist/providers/datadog/pagination.d.ts.map +1 -0
- package/dist/providers/datadog/pagination.js +41 -0
- package/dist/providers/datadog/pagination.js.map +1 -0
- package/dist/providers/s3/adapter.d.ts +37 -0
- package/dist/providers/s3/adapter.d.ts.map +1 -0
- package/dist/providers/s3/adapter.js +206 -0
- package/dist/providers/s3/adapter.js.map +1 -0
- package/dist/providers/s3/index.d.ts +4 -0
- package/dist/providers/s3/index.d.ts.map +1 -0
- package/dist/providers/s3/index.js +4 -0
- package/dist/providers/s3/index.js.map +1 -0
- package/dist/providers/s3/pagination.d.ts +18 -0
- package/dist/providers/s3/pagination.d.ts.map +1 -0
- package/dist/providers/s3/pagination.js +58 -0
- package/dist/providers/s3/pagination.js.map +1 -0
- package/dist/providers/s3/sigv4.d.ts +29 -0
- package/dist/providers/s3/sigv4.d.ts.map +1 -0
- package/dist/providers/s3/sigv4.js +101 -0
- package/dist/providers/s3/sigv4.js.map +1 -0
- package/dist/providers/sentry/adapter.d.ts +29 -0
- package/dist/providers/sentry/adapter.d.ts.map +1 -0
- package/dist/providers/sentry/adapter.js +154 -0
- package/dist/providers/sentry/adapter.js.map +1 -0
- package/dist/providers/sentry/index.d.ts +3 -0
- package/dist/providers/sentry/index.d.ts.map +1 -0
- package/dist/providers/sentry/index.js +3 -0
- package/dist/providers/sentry/index.js.map +1 -0
- package/dist/providers/sentry/pagination.d.ts +17 -0
- package/dist/providers/sentry/pagination.d.ts.map +1 -0
- package/dist/providers/sentry/pagination.js +54 -0
- package/dist/providers/sentry/pagination.js.map +1 -0
- package/dist/public.d.ts +14 -2
- package/dist/public.d.ts.map +1 -1
- package/dist/public.js +10 -2
- package/dist/public.js.map +1 -1
- package/dist/schema/monitor.d.ts +14 -1
- package/dist/schema/monitor.d.ts.map +1 -1
- package/dist/schema/monitor.js +24 -0
- package/dist/schema/monitor.js.map +1 -1
- package/dist/services/service-client.d.ts +8 -1
- package/dist/services/service-client.d.ts.map +1 -1
- package/dist/services/service-client.js +87 -0
- package/dist/services/service-client.js.map +1 -1
- package/dist/upi/index.d.ts +43 -0
- package/dist/upi/index.d.ts.map +1 -0
- package/dist/upi/index.js +57 -0
- package/dist/upi/index.js.map +1 -0
- package/package.json +9 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,48 @@ All notable changes to Meridian are documented here.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [0.2.5] — Adoption Sprint
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
**Service Routing — Weighted & Geo**
|
|
12
|
+
- `strategy: "weighted"` — probabilistic load distribution across providers using a `weights` map (e.g. `{ stripe: 70, razorpay: 30 }`)
|
|
13
|
+
- `strategy: "geo"` — region-aware routing via `MERIDIAN_REGION` env var or `defaultRegion`; `regions` maps region names to ordered provider lists
|
|
14
|
+
- Both strategies select a primary provider via `selectIndex()` and failover through remaining providers on retryable errors
|
|
15
|
+
|
|
16
|
+
**Policy Engine — Three New Built-ins**
|
|
17
|
+
- `redact(fields, providers?)` — redacts dot-notation field paths (e.g. `"user.ssn"`) from the request body before it reaches the provider; does not block the request
|
|
18
|
+
- `requireFields(fields, providers?)` — blocks requests missing required body fields; returns `MeridianError` with `category: "validation"`
|
|
19
|
+
- `denyCountries(codes, field?)` — blocks requests where `body.country`, `body.country_code`, or `body.countryCode` matches a denied ISO 3166-1 alpha-2 code
|
|
20
|
+
|
|
21
|
+
**Schema Monitor — Three New Methods**
|
|
22
|
+
- `meridian.schema.diff(provider, endpoint, data)` — returns drift between current data and stored schema baseline
|
|
23
|
+
- `meridian.schema.report(provider)` — returns structured `SchemaReport` with all snapshotted endpoints, field counts, and schemas
|
|
24
|
+
- `meridian.schema.alert(provider, endpoint, data, callback)` — runs drift check and invokes callback with drifts if any are detected; returns the drifts array
|
|
25
|
+
|
|
26
|
+
**Documentation**
|
|
27
|
+
- `docs/payments/` — Stripe/Razorpay/Cashfree unified interface, failover, analytics
|
|
28
|
+
- `docs/llms/` — OpenAI→Anthropic→Gemini failover, production chat endpoints
|
|
29
|
+
- `docs/communications/` — Twilio→MSG91 SMS fallback, email fallback patterns
|
|
30
|
+
- `docs/failover/` — all 7 routing strategies with runnable examples
|
|
31
|
+
- `docs/policies/` — all policy built-ins with fintech compliance example
|
|
32
|
+
- `docs/schema-drift/` — full snapshot→diff→report→alert workflow
|
|
33
|
+
- `docs/transactions/` — saga pattern with multi-step rollback example
|
|
34
|
+
|
|
35
|
+
**Cost Intelligence**
|
|
36
|
+
- `MeridianConfig.providerCosts` — declare per-request cost for each provider (e.g. `{ openai: 0.03, anthropic: 0.01 }`)
|
|
37
|
+
- `meridian.cost(currency?)` — returns `CostReport` with per-provider request counts, cost-per-request, estimated spend, and a total; resets with `analytics.reset()`
|
|
38
|
+
- `CostReport`, `CostEntry` exported from `meridianjs`
|
|
39
|
+
|
|
40
|
+
**Examples**
|
|
41
|
+
- `examples/nextjs-openai-failover/` — Next.js 14 App Router LLM endpoint with failover
|
|
42
|
+
- `examples/express-stripe/` — Express server with pagination, idempotency, health endpoint
|
|
43
|
+
- `examples/nestjs-payments/` — NestJS module with DI, weighted routing, saga transaction
|
|
44
|
+
- `examples/fastify-webhooks/` — Fastify webhook verification with raw body parsing
|
|
45
|
+
- `examples/multi-provider-llm/` — Node.js script demonstrating failover, cheapest routing, drift detection, analytics
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
7
49
|
## [0.2.4] — Operational Intelligence
|
|
8
50
|
|
|
9
51
|
This release transforms Meridian from an API normalisation SDK into an operational layer for third-party integrations. Every feature below works with zero configuration beyond what you already have.
|