@ciq-dev/neoiq-foundation-node 1.0.1-beta.2 → 1.0.1-beta.3
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/dist/bootstrap.d.mts +1 -0
- package/dist/bootstrap.d.ts +1 -0
- package/dist/bootstrap.js +31 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/bootstrap.mjs +30 -0
- package/dist/bootstrap.mjs.map +1 -0
- package/dist/index.d.mts +77 -60
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +77 -60
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +154 -300
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +116 -244
- package/dist/index.mjs.map +1 -1
- package/dist/tracing-Cv-Y3fZx.mjs +196 -0
- package/dist/tracing-Cv-Y3fZx.mjs.map +1 -0
- package/dist/tracing-DM5OFo7l.js +316 -0
- package/dist/tracing-DM5OFo7l.js.map +1 -0
- package/package.json +13 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const require_tracing = require('./tracing-DM5OFo7l.js');
|
|
3
|
+
|
|
4
|
+
//#region src/bootstrap.ts
|
|
5
|
+
const VALID_ENVIRONMENTS = [
|
|
6
|
+
"development",
|
|
7
|
+
"staging",
|
|
8
|
+
"qa",
|
|
9
|
+
"production"
|
|
10
|
+
];
|
|
11
|
+
function resolveEnvironment() {
|
|
12
|
+
const env = process.env.NODE_ENV;
|
|
13
|
+
if (env && VALID_ENVIRONMENTS.includes(env)) return env;
|
|
14
|
+
return "development";
|
|
15
|
+
}
|
|
16
|
+
const serviceName = process.env.FOUNDATION_SERVICE_NAME || process.env.SERVICE_NAME;
|
|
17
|
+
if (!serviceName) console.warn("[neoiq-foundation/bootstrap] FOUNDATION_SERVICE_NAME or SERVICE_NAME env var not set. Skipping tracing bootstrap. Set the env var or use createFoundation() directly.");
|
|
18
|
+
else try {
|
|
19
|
+
require_tracing.setupTracing({
|
|
20
|
+
serviceName,
|
|
21
|
+
serviceVersion: process.env.SERVICE_VERSION || "1.0.0",
|
|
22
|
+
environment: resolveEnvironment(),
|
|
23
|
+
endpoint: require_tracing.getDefaultOtelEndpoint()
|
|
24
|
+
});
|
|
25
|
+
console.log(`[neoiq-foundation/bootstrap] Tracing initialized for "${serviceName}"`);
|
|
26
|
+
} catch (err) {
|
|
27
|
+
console.error("[neoiq-foundation/bootstrap] Failed to initialize tracing:", err);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","names":[],"sources":["../src/bootstrap.ts"],"sourcesContent":["/**\n * Bootstrap entry point for OTEL auto-instrumentation.\n *\n * Usage: node -r @ciq-dev/neoiq-foundation-node/bootstrap app.js\n *\n * Ensures tracing is initialized BEFORE any target libraries (pg, http,\n * ioredis, etc.) are imported, which is required for monkey-patching\n * to work. Reads config from environment variables.\n */\n\nimport { setupTracing } from './features/tracing';\nimport { getDefaultOtelEndpoint } from './config';\n\nconst VALID_ENVIRONMENTS = ['development', 'staging', 'qa', 'production'] as const;\n\nfunction resolveEnvironment(): string {\n const env = process.env.NODE_ENV;\n if (env && (VALID_ENVIRONMENTS as readonly string[]).includes(env)) return env;\n return 'development';\n}\n\nconst serviceName = process.env.FOUNDATION_SERVICE_NAME || process.env.SERVICE_NAME;\n\nif (!serviceName) {\n console.warn(\n '[neoiq-foundation/bootstrap] FOUNDATION_SERVICE_NAME or SERVICE_NAME env var not set. ' +\n 'Skipping tracing bootstrap. Set the env var or use createFoundation() directly.',\n );\n} else {\n try {\n setupTracing({\n serviceName,\n serviceVersion: process.env.SERVICE_VERSION || '1.0.0',\n environment: resolveEnvironment(),\n endpoint: getDefaultOtelEndpoint(),\n });\n console.log(`[neoiq-foundation/bootstrap] Tracing initialized for \"${serviceName}\"`);\n } catch (err) {\n console.error('[neoiq-foundation/bootstrap] Failed to initialize tracing:', err);\n }\n}\n"],"mappings":";;;;AAaA,MAAM,qBAAqB;CAAC;CAAe;CAAW;CAAM;AAAa;AAEzE,SAAS,qBAA6B;CACpC,MAAM,MAAM,QAAQ,IAAI;AACxB,KAAI,OAAO,mBAA0C,SAAS,IAAI,CAAE,QAAO;AAC3E,QAAO;AACR;AAED,MAAM,cAAc,QAAQ,IAAI,2BAA2B,QAAQ,IAAI;AAEvE,KAAK,YACH,SAAQ,KACN,wKAED;IAED,KAAI;AACF,8BAAa;EACX;EACA,gBAAgB,QAAQ,IAAI,mBAAmB;EAC/C,aAAa,oBAAoB;EACjC,UAAU,wCAAwB;CACnC,EAAC;AACF,SAAQ,KAAK,wDAAwD,YAAY,GAAG;AACrF,SAAQ,KAAK;AACZ,SAAQ,MAAM,8DAA8D,IAAI;AACjF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { getDefaultOtelEndpoint, setupTracing } from "./tracing-Cv-Y3fZx.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/bootstrap.ts
|
|
4
|
+
const VALID_ENVIRONMENTS = [
|
|
5
|
+
"development",
|
|
6
|
+
"staging",
|
|
7
|
+
"qa",
|
|
8
|
+
"production"
|
|
9
|
+
];
|
|
10
|
+
function resolveEnvironment() {
|
|
11
|
+
const env = process.env.NODE_ENV;
|
|
12
|
+
if (env && VALID_ENVIRONMENTS.includes(env)) return env;
|
|
13
|
+
return "development";
|
|
14
|
+
}
|
|
15
|
+
const serviceName = process.env.FOUNDATION_SERVICE_NAME || process.env.SERVICE_NAME;
|
|
16
|
+
if (!serviceName) console.warn("[neoiq-foundation/bootstrap] FOUNDATION_SERVICE_NAME or SERVICE_NAME env var not set. Skipping tracing bootstrap. Set the env var or use createFoundation() directly.");
|
|
17
|
+
else try {
|
|
18
|
+
setupTracing({
|
|
19
|
+
serviceName,
|
|
20
|
+
serviceVersion: process.env.SERVICE_VERSION || "1.0.0",
|
|
21
|
+
environment: resolveEnvironment(),
|
|
22
|
+
endpoint: getDefaultOtelEndpoint()
|
|
23
|
+
});
|
|
24
|
+
console.log(`[neoiq-foundation/bootstrap] Tracing initialized for "${serviceName}"`);
|
|
25
|
+
} catch (err) {
|
|
26
|
+
console.error("[neoiq-foundation/bootstrap] Failed to initialize tracing:", err);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
//# sourceMappingURL=bootstrap.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.mjs","names":[],"sources":["../src/bootstrap.ts"],"sourcesContent":["/**\n * Bootstrap entry point for OTEL auto-instrumentation.\n *\n * Usage: node -r @ciq-dev/neoiq-foundation-node/bootstrap app.js\n *\n * Ensures tracing is initialized BEFORE any target libraries (pg, http,\n * ioredis, etc.) are imported, which is required for monkey-patching\n * to work. Reads config from environment variables.\n */\n\nimport { setupTracing } from './features/tracing';\nimport { getDefaultOtelEndpoint } from './config';\n\nconst VALID_ENVIRONMENTS = ['development', 'staging', 'qa', 'production'] as const;\n\nfunction resolveEnvironment(): string {\n const env = process.env.NODE_ENV;\n if (env && (VALID_ENVIRONMENTS as readonly string[]).includes(env)) return env;\n return 'development';\n}\n\nconst serviceName = process.env.FOUNDATION_SERVICE_NAME || process.env.SERVICE_NAME;\n\nif (!serviceName) {\n console.warn(\n '[neoiq-foundation/bootstrap] FOUNDATION_SERVICE_NAME or SERVICE_NAME env var not set. ' +\n 'Skipping tracing bootstrap. Set the env var or use createFoundation() directly.',\n );\n} else {\n try {\n setupTracing({\n serviceName,\n serviceVersion: process.env.SERVICE_VERSION || '1.0.0',\n environment: resolveEnvironment(),\n endpoint: getDefaultOtelEndpoint(),\n });\n console.log(`[neoiq-foundation/bootstrap] Tracing initialized for \"${serviceName}\"`);\n } catch (err) {\n console.error('[neoiq-foundation/bootstrap] Failed to initialize tracing:', err);\n }\n}\n"],"mappings":";;;AAaA,MAAM,qBAAqB;CAAC;CAAe;CAAW;CAAM;AAAa;AAEzE,SAAS,qBAA6B;CACpC,MAAM,MAAM,QAAQ,IAAI;AACxB,KAAI,OAAO,mBAA0C,SAAS,IAAI,CAAE,QAAO;AAC3E,QAAO;AACR;AAED,MAAM,cAAc,QAAQ,IAAI,2BAA2B,QAAQ,IAAI;AAEvE,KAAK,YACH,SAAQ,KACN,wKAED;IAED,KAAI;AACF,cAAa;EACX;EACA,gBAAgB,QAAQ,IAAI,mBAAmB;EAC/C,aAAa,oBAAoB;EACjC,UAAU,wBAAwB;CACnC,EAAC;AACF,SAAQ,KAAK,wDAAwD,YAAY,GAAG;AACrF,SAAQ,KAAK;AACZ,SAAQ,MAAM,8DAA8D,IAAI;AACjF"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
+
import { Meter, Meter as Meter$1, Span, SpanStatusCode, Tracer, Tracer as Tracer$1, context, metrics, propagation, trace } from "@opentelemetry/api";
|
|
1
2
|
import { z } from "zod";
|
|
2
|
-
import * as _opentelemetry_api1 from "@opentelemetry/api";
|
|
3
|
-
import { Meter, SpanStatusCode, Tracer, context, metrics, propagation, trace } from "@opentelemetry/api";
|
|
4
3
|
import { Logger as Logger$1 } from "pino";
|
|
5
|
-
import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from "axios";
|
|
4
|
+
import { AxiosInstance, AxiosInstance as AxiosInstance$1, AxiosRequestConfig, AxiosResponse } from "axios";
|
|
6
5
|
import { Readable } from "node:stream";
|
|
7
6
|
import { FastifyPluginAsync } from "fastify";
|
|
8
7
|
|
|
@@ -123,13 +122,13 @@ declare const FeaturesConfigSchema: z.ZodObject<{
|
|
|
123
122
|
}>;
|
|
124
123
|
type FeaturesConfig = z.infer<typeof FeaturesConfigSchema>;
|
|
125
124
|
declare const OtelConfigSchema: z.ZodObject<{
|
|
126
|
-
endpoint: z.
|
|
127
|
-
metricsIntervalMs: z.
|
|
128
|
-
traceSampleRate: z.
|
|
125
|
+
endpoint: z.ZodDefault<z.ZodString>;
|
|
126
|
+
metricsIntervalMs: z.ZodDefault<z.ZodNumber>;
|
|
127
|
+
traceSampleRate: z.ZodDefault<z.ZodNumber>;
|
|
129
128
|
}, "strip", z.ZodTypeAny, {
|
|
130
|
-
endpoint
|
|
131
|
-
metricsIntervalMs
|
|
132
|
-
traceSampleRate
|
|
129
|
+
endpoint: string;
|
|
130
|
+
metricsIntervalMs: number;
|
|
131
|
+
traceSampleRate: number;
|
|
133
132
|
}, {
|
|
134
133
|
endpoint?: string | undefined;
|
|
135
134
|
metricsIntervalMs?: number | undefined;
|
|
@@ -267,13 +266,13 @@ declare const FoundationConfigSchema: z.ZodObject<{
|
|
|
267
266
|
} | undefined;
|
|
268
267
|
}>>;
|
|
269
268
|
otel: z.ZodDefault<z.ZodObject<{
|
|
270
|
-
endpoint: z.
|
|
271
|
-
metricsIntervalMs: z.
|
|
272
|
-
traceSampleRate: z.
|
|
269
|
+
endpoint: z.ZodDefault<z.ZodString>;
|
|
270
|
+
metricsIntervalMs: z.ZodDefault<z.ZodNumber>;
|
|
271
|
+
traceSampleRate: z.ZodDefault<z.ZodNumber>;
|
|
273
272
|
}, "strip", z.ZodTypeAny, {
|
|
274
|
-
endpoint
|
|
275
|
-
metricsIntervalMs
|
|
276
|
-
traceSampleRate
|
|
273
|
+
endpoint: string;
|
|
274
|
+
metricsIntervalMs: number;
|
|
275
|
+
traceSampleRate: number;
|
|
277
276
|
}, {
|
|
278
277
|
endpoint?: string | undefined;
|
|
279
278
|
metricsIntervalMs?: number | undefined;
|
|
@@ -352,9 +351,9 @@ declare const FoundationConfigSchema: z.ZodObject<{
|
|
|
352
351
|
} | undefined;
|
|
353
352
|
};
|
|
354
353
|
otel: {
|
|
355
|
-
endpoint
|
|
356
|
-
metricsIntervalMs
|
|
357
|
-
traceSampleRate
|
|
354
|
+
endpoint: string;
|
|
355
|
+
metricsIntervalMs: number;
|
|
356
|
+
traceSampleRate: number;
|
|
358
357
|
};
|
|
359
358
|
requestLogging: {
|
|
360
359
|
logHeaders?: boolean | undefined;
|
|
@@ -417,7 +416,7 @@ declare const FoundationConfigSchema: z.ZodObject<{
|
|
|
417
416
|
} | undefined;
|
|
418
417
|
}>;
|
|
419
418
|
type FoundationConfig = z.infer<typeof FoundationConfigSchema>;
|
|
420
|
-
type FoundationConfigInput =
|
|
419
|
+
type FoundationConfigInput = z.input<typeof FoundationConfigSchema> & {
|
|
421
420
|
serviceName: string;
|
|
422
421
|
};
|
|
423
422
|
/** Parse and validate configuration */
|
|
@@ -484,7 +483,7 @@ interface Logger {
|
|
|
484
483
|
/** Create a structured logger with automatic trace context injection */
|
|
485
484
|
declare function createLogger(options: LoggerOptions): Logger;
|
|
486
485
|
/** Fallback logger when Pino is not available */
|
|
487
|
-
declare function createFallbackLogger(serviceName?: string): Logger;
|
|
486
|
+
declare function createFallbackLogger(serviceName?: string, baseBindings?: object): Logger;
|
|
488
487
|
declare function setGlobalLogger(logger: Logger): void;
|
|
489
488
|
declare function getGlobalLogger(): Logger;
|
|
490
489
|
|
|
@@ -504,7 +503,7 @@ declare function setupTracing(options: TracingOptions): void;
|
|
|
504
503
|
/** Shutdown tracing gracefully */
|
|
505
504
|
declare function shutdownTracing(): Promise<void>;
|
|
506
505
|
declare function getTracer(name: string): Tracer;
|
|
507
|
-
declare function getActiveSpan():
|
|
506
|
+
declare function getActiveSpan(): ReturnType<typeof trace.getActiveSpan>;
|
|
508
507
|
declare function getTraceContext(): {
|
|
509
508
|
traceId?: string;
|
|
510
509
|
spanId?: string;
|
|
@@ -562,30 +561,7 @@ declare module 'fastify' {
|
|
|
562
561
|
declare function createObservabilityPlugin(options: FastifyPluginOptions): FastifyPluginAsync<Partial<FastifyPluginOptions>>;
|
|
563
562
|
|
|
564
563
|
//#endregion
|
|
565
|
-
//#region src/
|
|
566
|
-
interface HttpClientOptions {
|
|
567
|
-
baseURL: string;
|
|
568
|
-
serviceName: string;
|
|
569
|
-
timeout?: number;
|
|
570
|
-
retry?: {
|
|
571
|
-
retries?: number;
|
|
572
|
-
retryDelay?: number;
|
|
573
|
-
retryStatusCodes?: number[];
|
|
574
|
-
};
|
|
575
|
-
circuitBreaker?: {
|
|
576
|
-
enabled?: boolean;
|
|
577
|
-
resetTimeout?: number;
|
|
578
|
-
errorThresholdPercentage?: number;
|
|
579
|
-
};
|
|
580
|
-
headers?: Record<string, string>;
|
|
581
|
-
foundation?: FoundationInstance;
|
|
582
|
-
}
|
|
583
|
-
type HttpClient = AxiosInstance;
|
|
584
|
-
/** Create a configured HTTP client with full observability */
|
|
585
|
-
declare function createHttpClient(options: HttpClientOptions): HttpClient;
|
|
586
|
-
|
|
587
|
-
//#endregion
|
|
588
|
-
//#region src/foundation.d.ts
|
|
564
|
+
//#region src/types.d.ts
|
|
589
565
|
interface HealthStatus {
|
|
590
566
|
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
591
567
|
timestamp: string;
|
|
@@ -605,17 +581,36 @@ interface ComponentHealth {
|
|
|
605
581
|
}
|
|
606
582
|
interface ObservabilityModule {
|
|
607
583
|
readonly logger: Logger;
|
|
608
|
-
readonly tracer: Tracer | null;
|
|
609
|
-
readonly meter: Meter | null;
|
|
610
|
-
getTracer(name?: string): Tracer;
|
|
611
|
-
getMeter(name: string, version?: string): Meter;
|
|
584
|
+
readonly tracer: Tracer$1 | null;
|
|
585
|
+
readonly meter: Meter$1 | null;
|
|
586
|
+
getTracer(name?: string): Tracer$1;
|
|
587
|
+
getMeter(name: string, version?: string): Meter$1;
|
|
612
588
|
getTraceContext(): {
|
|
613
589
|
traceId?: string;
|
|
614
590
|
spanId?: string;
|
|
615
591
|
};
|
|
616
|
-
getActiveSpan():
|
|
592
|
+
getActiveSpan(): Span | undefined;
|
|
617
593
|
trace<T>(name: string, fn: () => T | Promise<T>): Promise<T>;
|
|
618
594
|
}
|
|
595
|
+
type HttpClient = AxiosInstance$1;
|
|
596
|
+
interface HttpClientOptions {
|
|
597
|
+
baseURL: string;
|
|
598
|
+
serviceName: string;
|
|
599
|
+
timeout?: number;
|
|
600
|
+
retry?: {
|
|
601
|
+
enabled?: boolean;
|
|
602
|
+
retries?: number;
|
|
603
|
+
retryDelay?: number;
|
|
604
|
+
retryStatusCodes?: number[];
|
|
605
|
+
};
|
|
606
|
+
circuitBreaker?: {
|
|
607
|
+
enabled?: boolean;
|
|
608
|
+
resetTimeout?: number;
|
|
609
|
+
errorThresholdPercentage?: number;
|
|
610
|
+
};
|
|
611
|
+
headers?: Record<string, string>;
|
|
612
|
+
foundation?: FoundationInstance;
|
|
613
|
+
}
|
|
619
614
|
interface HttpModule {
|
|
620
615
|
createClient(options: Omit<HttpClientOptions, 'foundation'>): HttpClient;
|
|
621
616
|
}
|
|
@@ -637,22 +632,22 @@ interface FoundationInstance {
|
|
|
637
632
|
readonly lifecycle: LifecycleModule;
|
|
638
633
|
readonly logger: Logger;
|
|
639
634
|
readonly context: ContextManager;
|
|
640
|
-
readonly fastifyPlugin:
|
|
635
|
+
readonly fastifyPlugin: FastifyPluginAsync;
|
|
641
636
|
/** @deprecated Use `foundation.observability.tracer` */
|
|
642
|
-
readonly tracer: Tracer | null;
|
|
637
|
+
readonly tracer: Tracer$1 | null;
|
|
643
638
|
/** @deprecated Use `foundation.observability.meter` */
|
|
644
|
-
readonly meter: Meter | null;
|
|
639
|
+
readonly meter: Meter$1 | null;
|
|
645
640
|
/** @deprecated Use `foundation.observability.getTracer()` */
|
|
646
|
-
getTracer: (name?: string) => Tracer;
|
|
641
|
+
getTracer: (name?: string) => Tracer$1;
|
|
647
642
|
/** @deprecated Use `foundation.observability.getMeter()` */
|
|
648
|
-
getMeter: (name: string, version?: string) => Meter;
|
|
643
|
+
getMeter: (name: string, version?: string) => Meter$1;
|
|
649
644
|
/** @deprecated Use `foundation.observability.getTraceContext()` */
|
|
650
645
|
getTraceContext: () => {
|
|
651
646
|
traceId?: string;
|
|
652
647
|
spanId?: string;
|
|
653
648
|
};
|
|
654
649
|
/** @deprecated Use `foundation.observability.getActiveSpan()` */
|
|
655
|
-
getActiveSpan: () =>
|
|
650
|
+
getActiveSpan: () => Span | undefined;
|
|
656
651
|
/** @deprecated Use `foundation.http.createClient()` */
|
|
657
652
|
createHttpClient: (options: Omit<HttpClientOptions, 'foundation'>) => HttpClient;
|
|
658
653
|
/** @deprecated Use `foundation.lifecycle.shutdown()` */
|
|
@@ -666,6 +661,10 @@ interface FoundationInstance {
|
|
|
666
661
|
/** @deprecated Use `foundation.lifecycle.safeRun()` */
|
|
667
662
|
safeRun: <T>(fn: () => T | Promise<T>, fallback?: T) => Promise<T | undefined>;
|
|
668
663
|
}
|
|
664
|
+
|
|
665
|
+
//#endregion
|
|
666
|
+
//#region src/foundation.d.ts
|
|
667
|
+
//# sourceMappingURL=types.d.ts.map
|
|
669
668
|
/** Create a fully configured observability foundation */
|
|
670
669
|
declare function createFoundation(input: FoundationConfigInput): FoundationInstance;
|
|
671
670
|
/** Alias for createFoundation */
|
|
@@ -700,8 +699,13 @@ declare function buildPinoRedactConfig(additionalPaths?: string[]): {
|
|
|
700
699
|
};
|
|
701
700
|
|
|
702
701
|
//#endregion
|
|
703
|
-
//#region src/integrations/
|
|
702
|
+
//#region src/integrations/http-client.d.ts
|
|
704
703
|
//# sourceMappingURL=redaction.d.ts.map
|
|
704
|
+
/** Create a configured HTTP client with full observability */
|
|
705
|
+
declare function createHttpClient(options: HttpClientOptions): HttpClient;
|
|
706
|
+
|
|
707
|
+
//#endregion
|
|
708
|
+
//#region src/integrations/object-store/types.d.ts
|
|
705
709
|
type ObjectStoreProvider = 'aws-s3' | 'gcp-gcs' | 'azure-blob' | 'in-memory';
|
|
706
710
|
interface ObjectRef {
|
|
707
711
|
bucket: string;
|
|
@@ -781,10 +785,16 @@ interface ObjectStore {
|
|
|
781
785
|
//#endregion
|
|
782
786
|
//#region src/integrations/object-store/aws-s3.d.ts
|
|
783
787
|
//# sourceMappingURL=object-store.d.ts.map
|
|
784
|
-
|
|
788
|
+
/**
|
|
789
|
+
* Minimal interface for the subset of AWS S3Client we use.
|
|
790
|
+
* Keeps the module free of `any` while the SDK is dynamically imported.
|
|
791
|
+
*/
|
|
792
|
+
interface S3ClientLike {
|
|
793
|
+
send(command: unknown): Promise<Record<string, unknown>>;
|
|
794
|
+
}
|
|
785
795
|
interface AwsS3ObjectStoreOptions {
|
|
786
796
|
/** Provide an existing S3 client instance (advanced use). */
|
|
787
|
-
client?:
|
|
797
|
+
client?: S3ClientLike;
|
|
788
798
|
/** Options forwarded to `new S3Client(...)` when `client` isn't provided. */
|
|
789
799
|
clientOptions?: Record<string, unknown>;
|
|
790
800
|
}
|
|
@@ -810,6 +820,10 @@ declare class AwsS3ObjectStore implements ObjectStore {
|
|
|
810
820
|
|
|
811
821
|
//#endregion
|
|
812
822
|
//#region src/integrations/object-store/in-memory.d.ts
|
|
823
|
+
interface InMemoryObjectStoreOptions {
|
|
824
|
+
/** Maximum number of objects across all buckets. Throws when exceeded. */
|
|
825
|
+
maxObjects?: number;
|
|
826
|
+
}
|
|
813
827
|
/**
|
|
814
828
|
* InMemoryObjectStore - useful for local dev, unit tests, and as a safe default.
|
|
815
829
|
* NOTE: presign* methods are not meaningful here and will throw.
|
|
@@ -817,6 +831,9 @@ declare class AwsS3ObjectStore implements ObjectStore {
|
|
|
817
831
|
declare class InMemoryObjectStore implements ObjectStore {
|
|
818
832
|
readonly provider = "in-memory";
|
|
819
833
|
private readonly buckets;
|
|
834
|
+
private readonly maxObjects;
|
|
835
|
+
private objectCount;
|
|
836
|
+
constructor(options?: InMemoryObjectStoreOptions);
|
|
820
837
|
private bucketMap;
|
|
821
838
|
putObject(ref: ObjectRef, body: ObjectBody, options?: PutObjectOptions): Promise<PutObjectResult>;
|
|
822
839
|
getObject(ref: ObjectRef): Promise<GetObjectResult>;
|
|
@@ -830,5 +847,5 @@ declare class InMemoryObjectStore implements ObjectStore {
|
|
|
830
847
|
//#endregion
|
|
831
848
|
//# sourceMappingURL=in-memory.d.ts.map
|
|
832
849
|
|
|
833
|
-
export { AutoInstrumentationConfig, AutoInstrumentationConfigSchema, AwsS3ObjectStore, AwsS3ObjectStoreOptions, AxiosInstance, AxiosRequestConfig, AxiosResponse, ComponentHealth, ContextManager, FastifyPluginOptions, FeaturesConfig, FeaturesConfigSchema, FoundationConfig, FoundationConfigInput, FoundationConfigSchema, FoundationInstance, GetObjectResult, HeadObjectResult, HealthStatus, HttpClient, HttpClientOptions, HttpModule, InMemoryObjectStore, LifecycleModule, ListObjectsOptions, ListObjectsResult, Logger, LoggerOptions, LoggingConfig, LoggingConfigSchema, Meter, MetricsOptions, ObjectBody, ObjectRef, ObjectStore, ObjectStoreProvider, ObservabilityModule, OtelConfig, OtelConfigSchema, PresignGetObjectOptions, PresignPutObjectOptions, PutObjectOptions, PutObjectResult, REDACT_PATHS, RedactionConfig, RedactionConfigSchema, RequestContext, RequestLoggingConfig, RequestLoggingConfigSchema, ShutdownConfig, ShutdownConfigSchema, SpanStatusCode, Tracer, TracingOptions, buildPinoRedactConfig, context, createContextManager, createFallbackLogger, createFoundation, createHttpClient, createLogger, createObservabilityPlugin, getActiveSpan, getDefaultOtelEndpoint, getGlobalLogger, getMeter, getTraceContext, getTracer, isMetricsEnabled, isTracingEnabled, metrics, parseConfig, propagation, sanitizeBody, setGlobalLogger, setupMetrics, setupObservability, setupTracing, shutdownMetrics, shutdownTracing, trace };
|
|
850
|
+
export { AutoInstrumentationConfig, AutoInstrumentationConfigSchema, AwsS3ObjectStore, AwsS3ObjectStoreOptions, AxiosInstance, AxiosRequestConfig, AxiosResponse, ComponentHealth, ContextManager, FastifyPluginOptions, FeaturesConfig, FeaturesConfigSchema, FoundationConfig, FoundationConfigInput, FoundationConfigSchema, FoundationInstance, GetObjectResult, HeadObjectResult, HealthStatus, HttpClient, HttpClientOptions, HttpModule, InMemoryObjectStore, LifecycleModule, ListObjectsOptions, ListObjectsResult, Logger, LoggerOptions, LoggingConfig, LoggingConfigSchema, Meter, MetricsOptions, ObjectBody, ObjectRef, ObjectStore, ObjectStoreProvider, ObservabilityModule, OtelConfig, OtelConfigSchema, PresignGetObjectOptions, PresignPutObjectOptions, PutObjectOptions, PutObjectResult, REDACT_PATHS, RedactionConfig, RedactionConfigSchema, RequestContext, RequestLoggingConfig, RequestLoggingConfigSchema, RequestLoggingOptions, ShutdownConfig, ShutdownConfigSchema, SpanStatusCode, Tracer, TracingOptions, buildPinoRedactConfig, context, createContextManager, createFallbackLogger, createFoundation, createHttpClient, createLogger, createObservabilityPlugin, getActiveSpan, getDefaultOtelEndpoint, getGlobalLogger, getMeter, getTraceContext, getTracer, isMetricsEnabled, isTracingEnabled, metrics, parseConfig, propagation, sanitizeBody, setGlobalLogger, setupMetrics, setupObservability, setupTracing, shutdownMetrics, shutdownTracing, trace };
|
|
834
851
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/config.ts","../src/features/context.ts","../src/features/logging.ts","../src/features/tracing.ts","../src/features/metrics.ts","../src/integrations/fastify-plugin.ts","../src/
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/config.ts","../src/features/context.ts","../src/features/logging.ts","../src/features/tracing.ts","../src/features/metrics.ts","../src/integrations/fastify-plugin.ts","../src/types.ts","../src/foundation.ts","../src/features/redaction.ts","../src/integrations/http-client.ts","../src/integrations/object-store/types.ts","../src/integrations/object-store/object-store.ts","../src/integrations/object-store/aws-s3.ts","../src/integrations/object-store/in-memory.ts"],"sourcesContent":null,"mappings":"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"}
|