@eliware/elera-lib 0.1.10 → 0.1.11

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/README.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  The alternative SQL client for Eliware applications. It provides generic
4
4
  primary/balanced MySQL or MariaDB routing without embedding Elera, HAProxy,
5
- backup, or GitOps policy. It is a v0.1.10 alternative to `@eliware/mysql`; the
5
+ backup, or GitOps policy. It is a v0.1.11 alternative to `@eliware/mysql`; the
6
6
  existing package is intentionally unchanged. The current package version is
7
- 0.1.10.
7
+ 0.1.11.
8
8
 
9
9
  `primary` is the preferred connection path. `balanced` is an optional alternate
10
10
  path. Both may accept writes; automatic routing sends only conservative,
package/RELEASE_NOTES.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Release notes
2
2
 
3
+ ## 0.1.11 — Public runtime declarations
4
+
5
+ ### Changed
6
+
7
+ - Publishes declarations for the existing `profilesFromBundle`,
8
+ `createDbFromBundle`, and `validateTokenContext` exports.
9
+ - Keeps runtime behavior unchanged while aligning declarations with the
10
+ supported JavaScript entry point.
11
+
12
+ ### Validation
13
+
14
+ - Typecheck, tests, lint, syntax, contract, and package checks pass.
15
+ - Maintains 100% statements, branches, functions, and lines coverage.
16
+
3
17
  ## 0.1.10 — Token-bound routing context
4
18
 
5
19
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eliware/elera-lib",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "Generic MySQL and MariaDB client with resilient routing, telemetry, client-side drains, and failover",
5
5
  "keywords": [
6
6
  "eliware",
package/src/index.d.ts CHANGED
@@ -65,6 +65,9 @@ export type RoutingEvent = { type: 'routing.update' | 'routing.resync' | 'routin
65
65
  export function validateRoutingEvent(event: unknown): RoutingEvent;
66
66
 
67
67
  export function createDb(options: { primary: ConnectionProfile; balanced?: Partial<ConnectionProfile>; bundle?: RoutingBundle; tokenContext?: { application?: string; database?: string; credentialName?: string; identity?: string; scopes?: string[] }; credentialProvider?: CredentialProvider; identity?: string; mysqlLib?: unknown; log?: unknown; routing?: 'auto' | 'primary' | 'balanced'; quarantineMs?: number; drainTimeoutMs?: number; now?: () => number; telemetry?: true | Telemetry }): Promise<DbClient>;
68
+ export function profilesFromBundle(bundle: RoutingBundle): { primary: ConnectionProfile; balanced?: ConnectionProfile };
69
+ export function createDbFromBundle(options: { bundle: RoutingBundle; createClient?: typeof createDb; credentialProvider?: CredentialProvider; tokenContext?: { application?: string; database?: string; credentialName?: string; identity?: string; scopes?: string[] }; mysqlLib?: unknown; log?: unknown; routing?: 'auto' | 'primary' | 'balanced'; quarantineMs?: number; drainTimeoutMs?: number; now?: () => number; telemetry?: true | Telemetry }): Promise<DbClient>;
70
+ export function validateTokenContext(bundle: RoutingBundle, tokenContext?: { application?: string; database?: string; credentialName?: string; identity?: string; scopes?: string[] }): RoutingBundle;
68
71
  export function createDbFromEnvironment(options?: { env?: Record<string, string | undefined>; mysqlLib?: unknown; log?: unknown; routing?: 'auto' | 'primary' | 'balanced'; bundle?: RoutingBundle; credentialProvider?: CredentialProvider; identity?: string; telemetry?: true | Telemetry }): Promise<DbClient>;
69
72
  export function classifyQuery(sql: unknown): 'primary' | 'balanced';
70
73
  export function routeFor(sql: unknown, requested?: 'auto' | 'primary' | 'balanced'): 'primary' | 'balanced';