@caracalai/core 0.1.6-rc.2 → 0.2.0-rc.1
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/audit.d.ts.map +1 -1
- package/dist/audit.js +4 -1
- package/dist/audit.js.map +1 -1
- package/dist/crypto.d.ts +0 -14
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +5 -67
- package/dist/crypto.js.map +1 -1
- package/dist/errors.d.ts +10 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +16 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -10
- package/dist/index.js.map +1 -1
- package/dist/json.d.ts.map +1 -1
- package/dist/logging.d.ts +5 -0
- package/dist/logging.d.ts.map +1 -1
- package/dist/logging.js +9 -0
- package/dist/logging.js.map +1 -1
- package/package.json +4 -11
- package/dist/async.d.ts +0 -2
- package/dist/async.d.ts.map +0 -1
- package/dist/async.js +0 -27
- package/dist/async.js.map +0 -1
- package/dist/config.d.ts +0 -6
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -60
- package/dist/config.js.map +0 -1
- package/dist/env.d.ts +0 -5
- package/dist/env.d.ts.map +0 -1
- package/dist/env.js +0 -28
- package/dist/env.js.map +0 -1
- package/dist/envfile.d.ts +0 -19
- package/dist/envfile.d.ts.map +0 -1
- package/dist/envfile.js +0 -165
- package/dist/envfile.js.map +0 -1
- package/dist/lifecycle.d.ts +0 -17
- package/dist/lifecycle.d.ts.map +0 -1
- package/dist/lifecycle.js +0 -66
- package/dist/lifecycle.js.map +0 -1
- package/dist/metrics.d.ts +0 -4
- package/dist/metrics.d.ts.map +0 -1
- package/dist/metrics.js +0 -43
- package/dist/metrics.js.map +0 -1
- package/dist/telemetry.d.ts +0 -10
- package/dist/telemetry.d.ts.map +0 -1
- package/dist/telemetry.js +0 -98
- package/dist/telemetry.js.map +0 -1
- package/dist/url.d.ts +0 -3
- package/dist/url.d.ts.map +0 -1
- package/dist/url.js +0 -10
- package/dist/url.js.map +0 -1
package/dist/audit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/audit.js
CHANGED
|
@@ -183,7 +183,10 @@ export class AuditClient {
|
|
|
183
183
|
this.logger.info('audit replay file drained', { path, count: drained });
|
|
184
184
|
}
|
|
185
185
|
catch (err) {
|
|
186
|
-
this.logger.error('audit replay file failed; will retry on next start', {
|
|
186
|
+
this.logger.error('audit replay file failed; will retry on next start', {
|
|
187
|
+
path,
|
|
188
|
+
err: err instanceof Error ? err.message : String(err),
|
|
189
|
+
});
|
|
187
190
|
}
|
|
188
191
|
}
|
|
189
192
|
}
|
package/dist/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,sGAAsG;AAEtG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/crypto.d.ts
CHANGED
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
export interface SealedSecret {
|
|
2
|
-
ciphertext: Buffer;
|
|
3
|
-
nonce: Buffer;
|
|
4
|
-
}
|
|
5
|
-
export declare function sha256(input: string | Buffer): Buffer;
|
|
6
|
-
export declare function sha256Hex(input: string | Buffer): string;
|
|
7
|
-
export declare function loadZoneKek(): Buffer;
|
|
8
|
-
export declare function seal(key: Buffer, plaintext: Buffer): SealedSecret;
|
|
9
|
-
export declare function open(key: Buffer, sealed: SealedSecret): Buffer;
|
|
10
1
|
export declare const STREAM_SIG_FIELD = "_sig";
|
|
11
2
|
export type StreamValue = string | number | boolean | null | undefined;
|
|
12
|
-
export declare function loadStreamsHmacKey(): Buffer | null;
|
|
13
3
|
export declare function signStream(key: Buffer, stream: string, values: Record<string, StreamValue>): string;
|
|
14
|
-
export declare const GATEWAY_TIMESTAMP_HEADER = "X-Caracal-Gateway-Timestamp";
|
|
15
|
-
export declare const GATEWAY_REQUEST_HEADER = "X-Caracal-Gateway-Request";
|
|
16
|
-
export declare const GATEWAY_SIGNATURE_HEADER = "X-Caracal-Gateway-Signature";
|
|
17
|
-
export declare function signGatewayExchange(key: Buffer, timestampUnix: number, requestId: string, method: string, path: string, body: Buffer | string): string;
|
|
18
4
|
//# sourceMappingURL=crypto.d.ts.map
|
package/dist/crypto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,gBAAgB,SAAS,CAAA;AAEtC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;AAkBtE,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAEnG"}
|
package/dist/crypto.js
CHANGED
|
@@ -1,65 +1,15 @@
|
|
|
1
1
|
// Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
2
2
|
// Caracal, a product of Garudex Labs
|
|
3
3
|
//
|
|
4
|
-
//
|
|
5
|
-
import {
|
|
6
|
-
const KEY_BYTES = 32;
|
|
7
|
-
const NONCE_BYTES = 12;
|
|
8
|
-
const TAG_BYTES = 16;
|
|
9
|
-
export function sha256(input) {
|
|
10
|
-
return createHash('sha256').update(input).digest();
|
|
11
|
-
}
|
|
12
|
-
export function sha256Hex(input) {
|
|
13
|
-
return createHash('sha256').update(input).digest('hex');
|
|
14
|
-
}
|
|
15
|
-
export function loadZoneKek() {
|
|
16
|
-
const raw = process.env.ZONE_KEK;
|
|
17
|
-
if (!raw)
|
|
18
|
-
throw new Error('ZONE_KEK is required');
|
|
19
|
-
const key = Buffer.from(raw, 'hex');
|
|
20
|
-
if (key.length !== KEY_BYTES) {
|
|
21
|
-
throw new Error(`ZONE_KEK must be ${KEY_BYTES} bytes, got ${key.length}`);
|
|
22
|
-
}
|
|
23
|
-
let allZero = 0;
|
|
24
|
-
for (const b of key)
|
|
25
|
-
allZero |= b;
|
|
26
|
-
if (allZero === 0)
|
|
27
|
-
throw new Error('ZONE_KEK must not be all zeros');
|
|
28
|
-
return key;
|
|
29
|
-
}
|
|
30
|
-
export function seal(key, plaintext) {
|
|
31
|
-
const nonce = randomBytes(NONCE_BYTES);
|
|
32
|
-
const cipher = createCipheriv('chacha20-poly1305', key, nonce, { authTagLength: TAG_BYTES });
|
|
33
|
-
const enc = Buffer.concat([cipher.update(plaintext), cipher.final()]);
|
|
34
|
-
const tag = cipher.getAuthTag();
|
|
35
|
-
return { ciphertext: Buffer.concat([enc, tag]), nonce };
|
|
36
|
-
}
|
|
37
|
-
export function open(key, sealed) {
|
|
38
|
-
if (sealed.ciphertext.length < TAG_BYTES)
|
|
39
|
-
throw new Error('ciphertext too short');
|
|
40
|
-
const tag = sealed.ciphertext.subarray(sealed.ciphertext.length - TAG_BYTES);
|
|
41
|
-
const body = sealed.ciphertext.subarray(0, sealed.ciphertext.length - TAG_BYTES);
|
|
42
|
-
const decipher = createDecipheriv('chacha20-poly1305', key, sealed.nonce, { authTagLength: TAG_BYTES });
|
|
43
|
-
decipher.setAuthTag(tag);
|
|
44
|
-
return Buffer.concat([decipher.update(body), decipher.final()]);
|
|
45
|
-
}
|
|
4
|
+
// HMAC-SHA256 stream signing that matches the Go shared crypto format.
|
|
5
|
+
import { createHmac } from 'node:crypto';
|
|
46
6
|
// STREAM_SIG_FIELD is the reserved key used to carry an HMAC-SHA256 origin signature
|
|
47
7
|
// on Redis stream messages. Mirrors `crypto.StreamSigField` in the Go shared package.
|
|
48
8
|
export const STREAM_SIG_FIELD = '_sig';
|
|
49
|
-
// loadStreamsHmacKey reads STREAMS_HMAC_KEY (hex) and enforces ≥32 bytes. Returns
|
|
50
|
-
// null when unset; callers in production paths must reject null themselves.
|
|
51
|
-
export function loadStreamsHmacKey() {
|
|
52
|
-
const raw = process.env.STREAMS_HMAC_KEY;
|
|
53
|
-
if (!raw)
|
|
54
|
-
return null;
|
|
55
|
-
const key = Buffer.from(raw, 'hex');
|
|
56
|
-
if (key.length < 32) {
|
|
57
|
-
throw new Error('STREAMS_HMAC_KEY must be hex-encoded with at least 32 bytes');
|
|
58
|
-
}
|
|
59
|
-
return key;
|
|
60
|
-
}
|
|
61
9
|
function canonicalizeStream(stream, values) {
|
|
62
|
-
const keys = Object.keys(values)
|
|
10
|
+
const keys = Object.keys(values)
|
|
11
|
+
.filter((k) => k !== STREAM_SIG_FIELD)
|
|
12
|
+
.sort();
|
|
63
13
|
let out = `${stream}\n`;
|
|
64
14
|
for (const k of keys) {
|
|
65
15
|
const v = values[k];
|
|
@@ -75,16 +25,4 @@ function canonicalizeStream(stream, values) {
|
|
|
75
25
|
export function signStream(key, stream, values) {
|
|
76
26
|
return createHmac('sha256', key).update(canonicalizeStream(stream, values)).digest('hex');
|
|
77
27
|
}
|
|
78
|
-
export const GATEWAY_TIMESTAMP_HEADER = 'X-Caracal-Gateway-Timestamp';
|
|
79
|
-
export const GATEWAY_REQUEST_HEADER = 'X-Caracal-Gateway-Request';
|
|
80
|
-
export const GATEWAY_SIGNATURE_HEADER = 'X-Caracal-Gateway-Signature';
|
|
81
|
-
// signGatewayExchange returns the hex HMAC-SHA256 over the canonical envelope:
|
|
82
|
-
// `${unix}\n${requestId}\n${METHOD}\n${path}\n${sha256(body)}`
|
|
83
|
-
// Method and path bind the signature to a specific endpoint so a signed
|
|
84
|
-
// envelope cannot be replayed against any other endpoint accepting the same key.
|
|
85
|
-
export function signGatewayExchange(key, timestampUnix, requestId, method, path, body) {
|
|
86
|
-
const digest = createHash('sha256').update(body).digest('hex');
|
|
87
|
-
const payload = `${timestampUnix}\n${requestId}\n${method.toUpperCase()}\n${path}\n${digest}`;
|
|
88
|
-
return createHmac('sha256', key).update(payload).digest('hex');
|
|
89
|
-
}
|
|
90
28
|
//# sourceMappingURL=crypto.js.map
|
package/dist/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,uEAAuE;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,qFAAqF;AACrF,sFAAsF;AACtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAItC,SAAS,kBAAkB,CAAC,MAAc,EAAE,MAAmC;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC;SACrC,IAAI,EAAE,CAAA;IACT,IAAI,GAAG,GAAG,GAAG,MAAM,IAAI,CAAA;IACvB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;YAAE,SAAQ;QAC3C,GAAG,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9B,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,oFAAoF;AACpF,kFAAkF;AAClF,qDAAqD;AACrD,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,MAAc,EAAE,MAAmC;IACzF,OAAO,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3F,CAAC"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
import type { JsonObject } from './json.js';
|
|
2
|
-
export type WellKnownErrorCode = 'access_denied' | 'invalid_token' | 'resource_not_found' | 'internal_error' | 'policy_eval_failed' | 'provider_rate_limited' | 'interaction_required' | 'sts_unavailable' | 'credential_expired_not_renewable' | 'payload_too_large' | 'zone_invalid' | 'scope_insufficient' | '
|
|
2
|
+
export type WellKnownErrorCode = 'access_denied' | 'invalid_request' | 'invalid_token' | 'operation_not_permitted' | 'resource_not_found' | 'internal_error' | 'policy_eval_failed' | 'provider_rate_limited' | 'interaction_required' | 'approval_consumed' | 'sts_unavailable' | 'credential_expired_not_renewable' | 'payload_too_large' | 'zone_invalid' | 'scope_insufficient' | 'session_required' | 'delegation_required' | 'chain_mismatch' | 'hop_count_exceeded' | 'http_request_failed' | 'config_missing';
|
|
3
3
|
export type ErrorCode = WellKnownErrorCode | (string & {});
|
|
4
4
|
export interface CaracalErrorOptions {
|
|
5
5
|
requestId?: string;
|
|
6
6
|
details?: JsonObject;
|
|
7
7
|
cause?: unknown;
|
|
8
|
+
httpStatus?: number;
|
|
8
9
|
}
|
|
9
10
|
export declare class CaracalError extends Error {
|
|
10
11
|
readonly code: ErrorCode;
|
|
11
12
|
readonly requestId?: string;
|
|
12
13
|
readonly details?: JsonObject;
|
|
14
|
+
readonly httpStatus?: number;
|
|
13
15
|
constructor(code: ErrorCode, message: string, opts?: CaracalErrorOptions | string);
|
|
16
|
+
/**
|
|
17
|
+
* Whether retrying the operation may succeed without any change on the
|
|
18
|
+
* caller's side: transport-level congestion and availability failures are
|
|
19
|
+
* retryable, policy and validation outcomes are not. A hint, not a
|
|
20
|
+
* guarantee - callers still own backoff and attempt budgets.
|
|
21
|
+
*/
|
|
22
|
+
get isRetryable(): boolean;
|
|
14
23
|
toJSON(): {
|
|
15
24
|
details?: JsonObject | undefined;
|
|
16
25
|
requestId?: string | undefined;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,yBAAyB,GACzB,oBAAoB,GACpB,gBAAgB,GAChB,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,mBAAmB,GACnB,iBAAiB,GACjB,kCAAkC,GAClC,mBAAmB,GACnB,cAAc,GACd,oBAAoB,GACpB,kBAAkB,GAClB,qBAAqB,GACrB,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,gBAAgB,CAAA;AAIpB,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAE1D,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;gBAEhB,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAmB,GAAG,MAAW;IAUrF;;;;;OAKG;IACH,IAAI,WAAW,IAAI,OAAO,CAIzB;IAED,MAAM;;;;;;CAQP"}
|
package/dist/errors.js
CHANGED
|
@@ -6,6 +6,7 @@ export class CaracalError extends Error {
|
|
|
6
6
|
code;
|
|
7
7
|
requestId;
|
|
8
8
|
details;
|
|
9
|
+
httpStatus;
|
|
9
10
|
constructor(code, message, opts = {}) {
|
|
10
11
|
const options = typeof opts === 'string' ? { requestId: opts } : opts;
|
|
11
12
|
super(message, options.cause !== undefined ? { cause: options.cause } : undefined);
|
|
@@ -15,6 +16,21 @@ export class CaracalError extends Error {
|
|
|
15
16
|
this.requestId = options.requestId;
|
|
16
17
|
if (options.details)
|
|
17
18
|
this.details = options.details;
|
|
19
|
+
if (options.httpStatus)
|
|
20
|
+
this.httpStatus = options.httpStatus;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Whether retrying the operation may succeed without any change on the
|
|
24
|
+
* caller's side: transport-level congestion and availability failures are
|
|
25
|
+
* retryable, policy and validation outcomes are not. A hint, not a
|
|
26
|
+
* guarantee - callers still own backoff and attempt budgets.
|
|
27
|
+
*/
|
|
28
|
+
get isRetryable() {
|
|
29
|
+
if (this.code === 'sts_unavailable' || this.code === 'provider_rate_limited')
|
|
30
|
+
return true;
|
|
31
|
+
if (this.httpStatus === undefined)
|
|
32
|
+
return false;
|
|
33
|
+
return this.httpStatus === 408 || this.httpStatus === 425 || this.httpStatus === 429 || this.httpStatus >= 500;
|
|
18
34
|
}
|
|
19
35
|
toJSON() {
|
|
20
36
|
return {
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,wDAAwD;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,wDAAwD;AAsCxD,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAW;IACf,SAAS,CAAS;IAClB,OAAO,CAAa;IACpB,UAAU,CAAS;IAE5B,YAAY,IAAe,EAAE,OAAe,EAAE,OAAqC,EAAE;QACnF,MAAM,OAAO,GAAwB,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1F,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAClF,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,OAAO,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QACzD,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QACnD,IAAI,OAAO,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IAC9D,CAAC;IAED;;;;;OAKG;IACH,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB;YAAE,OAAO,IAAI,CAAA;QACzF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QAC/C,OAAO,IAAI,CAAC,UAAU,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,CAAA;IAChH,CAAC;IAED,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,iBAAiB,EAAE,IAAI,CAAC,OAAO;YAC/B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAA;IACH,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './config.js';
|
|
1
|
+
export * from './audit.js';
|
|
3
2
|
export * from './crypto.js';
|
|
4
|
-
export * from './env.js';
|
|
5
|
-
export * from './envfile.js';
|
|
6
3
|
export * from './errors.js';
|
|
7
4
|
export * from './json.js';
|
|
8
|
-
export * from './lifecycle.js';
|
|
9
5
|
export * from './logging.js';
|
|
10
|
-
export * from './audit.js';
|
|
11
|
-
export * from './metrics.js';
|
|
12
|
-
export * from './telemetry.js';
|
|
13
6
|
export * from './scope.js';
|
|
14
|
-
export * from './url.js';
|
|
15
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,11 @@
|
|
|
1
1
|
// Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
2
2
|
// Caracal, a product of Garudex Labs
|
|
3
3
|
//
|
|
4
|
-
// @caracalai/core:
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './config.js';
|
|
4
|
+
// @caracalai/core: errors, scope, logging, audit, and stream signing for TypeScript SDKs.
|
|
5
|
+
export * from './audit.js';
|
|
7
6
|
export * from './crypto.js';
|
|
8
|
-
export * from './env.js';
|
|
9
|
-
export * from './envfile.js';
|
|
10
7
|
export * from './errors.js';
|
|
11
8
|
export * from './json.js';
|
|
12
|
-
export * from './lifecycle.js';
|
|
13
9
|
export * from './logging.js';
|
|
14
|
-
export * from './audit.js';
|
|
15
|
-
export * from './metrics.js';
|
|
16
|
-
export * from './telemetry.js';
|
|
17
10
|
export * from './scope.js';
|
|
18
|
-
export * from './url.js';
|
|
19
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,0FAA0F;AAE1F,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
package/dist/json.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAC5D,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAA;AAC9D,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AACrD,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,CAAA"}
|
package/dist/logging.d.ts
CHANGED
|
@@ -32,6 +32,11 @@ export declare function runWithTrace<R>(tc: TraceContext, fn: () => R): R;
|
|
|
32
32
|
export declare function bindTrace(tc: TraceContext): void;
|
|
33
33
|
/** Returns the trace context bound to the current async chain, or undefined. */
|
|
34
34
|
export declare function getTraceContext(): TraceContext | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Returns a fresh synthetic trace context for work that starts outside any request,
|
|
37
|
+
* such as background jobs, so its logs stay correlatable per run.
|
|
38
|
+
*/
|
|
39
|
+
export declare function newTraceContext(): TraceContext;
|
|
35
40
|
/** Parse a W3C traceparent header (`version-traceid-spanid-flags`). */
|
|
36
41
|
export declare function parseTraceparent(h: string | undefined): TraceContext;
|
|
37
42
|
/** Returns a pino-compatible mixin function that injects trace fields. */
|
package/dist/logging.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
|
package/dist/logging.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
// Structured JSON logger for TypeScript services.
|
|
5
5
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
6
|
+
import { randomUUID } from 'node:crypto';
|
|
6
7
|
import { hostname } from 'node:os';
|
|
7
8
|
const LEVEL_VALUE = { debug: 10, info: 20, warn: 30, error: 40, fatal: 50 };
|
|
8
9
|
/**
|
|
@@ -185,6 +186,14 @@ export function bindTrace(tc) {
|
|
|
185
186
|
export function getTraceContext() {
|
|
186
187
|
return traceStore.getStore();
|
|
187
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Returns a fresh synthetic trace context for work that starts outside any request,
|
|
191
|
+
* such as background jobs, so its logs stay correlatable per run.
|
|
192
|
+
*/
|
|
193
|
+
export function newTraceContext() {
|
|
194
|
+
const traceId = randomUUID().replace(/-/g, '');
|
|
195
|
+
return { traceId, spanId: traceId.slice(0, 16) };
|
|
196
|
+
}
|
|
188
197
|
/** Parse a W3C traceparent header (`version-traceid-spanid-flags`). */
|
|
189
198
|
export function parseTraceparent(h) {
|
|
190
199
|
if (!h)
|
package/dist/logging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,kDAAkD;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAKlC,MAAM,WAAW,GAA0B,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;AAElG;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC1D,UAAU;IACV,QAAQ;IACR,OAAO;IACP,cAAc;IACd,eAAe;IACf,UAAU;IACV,SAAS;IACT,eAAe;IACf,aAAa;IACb,SAAS;IACT,WAAW;IACX,eAAe;IACf,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,WAAW;CACZ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAA;AAEjC,MAAM,sBAAsB,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC9D,aAAa;IACb,iBAAiB;IACjB,aAAa;IACb,kBAAkB;IAClB,UAAU;IACV,cAAc;IACd,WAAW;IACX,eAAe;CAChB,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,mCAAmC,CAAA;AAC1D,MAAM,WAAW,GAAG,6DAA6D,CAAA;AACjF,MAAM,QAAQ,GAAG,mBAAmB,CAAA;AACpC,MAAM,QAAQ,GAAG,mBAAmB,CAAA;AACpC,MAAM,OAAO,GAAG,wBAAwB,CAAA;AACxC,MAAM,UAAU,GAAG,gCAAgC,CAAA;AACnD,MAAM,WAAW,GAAG,+BAA+B,CAAA;AACnD,MAAM,SAAS,GAAG,aAAa,CAAA;AAC/B,MAAM,OAAO,GAAG,WAAW,CAAA;AAC3B,MAAM,QAAQ,GAAG,OAAO,CAAA;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;IACnC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAA;IACjD,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAChC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,sBAAsB,EAAE,CAAC;YACvC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACzB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,CAAC,CAAA;IAC3B,IAAI,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;IAC5B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,YAAY,EAAE,CAAC,CAAA;IAC3D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAC5C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IACzC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IACzC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IACxC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IAC3C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAC5C,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,eAAe,CAAC,CAAS;IAChC,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,YAAY,GAAG,CAAC,CAAC,CAAA;IACrB,IAAI,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAChC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5B,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,OAAO,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;YACvD,IAAI,KAAK,IAAI,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC;gBAAE,YAAY,GAAG,KAAK,CAAA;YAC3F,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;YACpE,SAAQ;QACV,CAAC;QAED,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,KAAK,IAAI,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAA;YAC3D,SAAS,GAAG,KAAK,CAAC,GAAG,CAAA;YACrB,YAAY,GAAG,CAAC,CAAC,CAAA;QACnB,CAAC;QACD,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACjC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,YAAY,CAAC,CAAS,EAAE,KAAa;IAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACtC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3B,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAA;AACnE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAA;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;YAAE,OAAO,KAAK,CAAA;IAC3D,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,eAAe;QAAE,OAAO,CAAC,CAAA;IACjE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,cAAc,CAAA;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,GAAU;IAChC,MAAM,GAAG,GAA4B,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAA;IAC7E,IAAI,GAAG,CAAC,KAAK;QAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;IACpC,MAAM,IAAI,GAAI,GAAkC,CAAC,IAAI,CAAA;IACrD,IAAI,IAAI,KAAK,SAAS;QAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;IACvC,MAAM,KAAK,GAAI,GAAmC,CAAC,KAAK,CAAA;IACxD,IAAI,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC3F,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAI,KAAQ;IAChC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAiB,CAAA;IACzF,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,cAAc,CAAC,KAAK,CAAiB,CAAA;IACxE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAiB,CAAA;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,MAAM,GAAG,GAA4B,EAAE,CAAA;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,GAAQ,CAAA;AACjB,CAAC;AAID,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAgB,CAAA;AAExD,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAI,EAAgB,EAAE,EAAW;IAC3D,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;AAC/B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,EAAgB;IACxC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAC1B,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe;IAC7B,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAA;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;AAClD,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAAC,CAAqB;IACpD,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACjB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAC/B,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IAC/D,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAChD,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,UAAU;IACxB,OAAO,GAAG,EAAE;QACV,MAAM,EAAE,GAAG,eAAe,EAAE,CAAA;QAC5B,MAAM,GAAG,GAA4B,EAAE,CAAA;QACvC,IAAI,EAAE,EAAE,OAAO;YAAE,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAA;QAC1C,IAAI,EAAE,EAAE,MAAM;YAAE,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAA;QACvC,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;AACH,CAAC;AAmBD,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;AAE3D,MAAM,UAAU,aAAa;IAC3B,OAAO,EAAE,GAAG,YAAY,EAAE,CAAA;AAC5B,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;IAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAA;IAC9C,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAC,EAAE,CAAA;AAEJ,IAAI,YAAY,GAAG,CAAC,CAAA;AAWpB,IAAI,cAAc,GAAkB,IAAI,CAAA;AACxC,SAAS,IAAI;IACX,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,cAAc,GAAG,QAAQ,EAAE,CAAA;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,cAAc,GAAG,SAAS,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,QAAQ,EAAE,IAAI,EAAE;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,KAAK;QAChF,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;KACtE,CAAA;AACH,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACxF,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,GAAG,CAAA;IACzG,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,WAAyC;IACrF,MAAM,IAAI,GAAwB,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;IAChH,MAAM,KAAK,GAAU,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAA;IAC7C,MAAM,UAAU,GAA4B;QAC1C,OAAO;QACP,GAAG,iBAAiB,EAAE;QACtB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAA;IACD,OAAO,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B,EAAE,KAAY,EAAE,MAA6B;IAC7F,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,CAAC,QAAe,EAAE,GAAW,EAAE,MAAgC,EAAQ,EAAE;QACpF,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS;YAAE,OAAM;QAC7C,IAAI,QAAQ,KAAK,OAAO,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YAC/C,YAAY,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;YACvC,IAAI,YAAY,GAAG,cAAc,KAAK,CAAC,EAAE,CAAC;gBACxC,YAAY,CAAC,OAAO,EAAE,CAAA;gBACtB,OAAM;YACR,CAAC;QACH,CAAC;QACD,MAAM,EAAE,GAAG,eAAe,EAAE,CAAA;QAC5B,MAAM,WAAW,GAA4B,EAAE,CAAA;QAC/C,IAAI,EAAE,EAAE,OAAO;YAAE,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAA;QAClD,IAAI,EAAE,EAAE,MAAM;YAAE,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAA;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,MAAM,CAAC,MAAM,CAA6B,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7E,MAAM,IAAI,GACR,IAAI,CAAC,SAAS,CAAC;YACb,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,GAAG,KAAK;YACR,GAAG,WAAW;YACd,GAAG;YACH,GAAG,IAAI;SACR,CAAC,GAAG,IAAI,CAAA;QACX,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,EAAE;YAAE,YAAY,CAAC,OAAO,EAAE,CAAA;;YACzB,YAAY,CAAC,OAAO,EAAE,CAAA;IAC7B,CAAC,CAAA;IACD,OAAO;QACL,KAAK;QACL,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC;QAClD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC;QAChD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC;QAChD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC;QAClD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC;QAClD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,GAAI,MAAM,CAAC,MAAM,CAA6B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC;QACzG,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE;KAC/B,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@caracalai/core",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Caracal SDK
|
|
3
|
+
"version": "0.2.0-rc.1",
|
|
4
|
+
"description": "Caracal SDK kernel: errors, scope, logging, audit, and stream signing.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/Garudex-Labs/caracal",
|
|
7
7
|
"repository": {
|
|
@@ -41,15 +41,8 @@
|
|
|
41
41
|
"prepublishOnly": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@types/node": "^26.
|
|
44
|
+
"@types/node": "^26.1.0",
|
|
45
45
|
"typescript": "^6.0.3",
|
|
46
|
-
"vitest": "^4.1.
|
|
47
|
-
},
|
|
48
|
-
"dependencies": {
|
|
49
|
-
"@opentelemetry/api": "^1.9.1",
|
|
50
|
-
"@opentelemetry/exporter-trace-otlp-http": "^0.219.0",
|
|
51
|
-
"@opentelemetry/resources": "^2.8.0",
|
|
52
|
-
"@opentelemetry/sdk-trace-base": "^2.8.0",
|
|
53
|
-
"@opentelemetry/sdk-trace-node": "^2.8.0"
|
|
46
|
+
"vitest": "^4.1.10"
|
|
54
47
|
}
|
|
55
48
|
}
|
package/dist/async.d.ts
DELETED
package/dist/async.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AASA,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAerG"}
|
package/dist/async.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
2
|
-
// Caracal, a product of Garudex Labs
|
|
3
|
-
//
|
|
4
|
-
// Async control helpers for bounded runtime operations.
|
|
5
|
-
// Rejects with `message` after `timeoutMs` if `task` has not settled.
|
|
6
|
-
// The underlying `task` is not cancelled and may continue running; its
|
|
7
|
-
// later resolution/rejection is discarded. Pass only idempotent reads
|
|
8
|
-
// (e.g. SELECT 1, PING) or operations whose stray completion is safe.
|
|
9
|
-
export async function withTimeout(task, timeoutMs, message) {
|
|
10
|
-
let timeout;
|
|
11
|
-
try {
|
|
12
|
-
return await Promise.race([
|
|
13
|
-
task,
|
|
14
|
-
new Promise((_resolve, reject) => {
|
|
15
|
-
timeout = setTimeout(() => {
|
|
16
|
-
reject(new Error(message));
|
|
17
|
-
}, timeoutMs);
|
|
18
|
-
timeout.unref();
|
|
19
|
-
}),
|
|
20
|
-
]);
|
|
21
|
-
}
|
|
22
|
-
finally {
|
|
23
|
-
if (timeout)
|
|
24
|
-
clearTimeout(timeout);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=async.js.map
|
package/dist/async.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"async.js","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,wDAAwD;AAExD,sEAAsE;AACtE,uEAAuE;AACvE,sEAAsE;AACtE,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAI,IAAgB,EAAE,SAAiB,EAAE,OAAe;IACvF,IAAI,OAAmC,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,IAAI;YACJ,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;gBACtC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBACxB,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7B,CAAC,EAAE,SAAS,CAAC,CAAC;gBACd,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,OAAO;YAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
|
package/dist/config.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export declare function mustGetenv(key: string): string;
|
|
2
|
-
export declare function getenv(key: string, fallback: string): string;
|
|
3
|
-
export declare function intEnv(key: string, fallback: number, min?: number): number;
|
|
4
|
-
export declare function boolEnv(key: string, fallback: boolean): boolean;
|
|
5
|
-
export declare function resolveFileSecrets(keys: readonly string[]): void;
|
|
6
|
-
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAI,GAAG,MAAM,CAQrE;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAQ/D;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAWhE"}
|
package/dist/config.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
// Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
2
|
-
// Caracal, a product of Garudex Labs
|
|
3
|
-
//
|
|
4
|
-
// Shared environment variable accessors for TypeScript services.
|
|
5
|
-
import { readFileSync } from 'node:fs';
|
|
6
|
-
export function mustGetenv(key) {
|
|
7
|
-
const v = process.env[key];
|
|
8
|
-
if (!v)
|
|
9
|
-
throw new Error(`Required env var missing: ${key}`);
|
|
10
|
-
return v;
|
|
11
|
-
}
|
|
12
|
-
export function getenv(key, fallback) {
|
|
13
|
-
return process.env[key] ?? fallback;
|
|
14
|
-
}
|
|
15
|
-
export function intEnv(key, fallback, min = 0) {
|
|
16
|
-
const raw = process.env[key];
|
|
17
|
-
if (raw === undefined || raw === '')
|
|
18
|
-
return fallback;
|
|
19
|
-
const n = parseInt(raw, 10);
|
|
20
|
-
if (!Number.isFinite(n) || n < min) {
|
|
21
|
-
throw new Error(`Invalid integer env var ${key}: ${raw}`);
|
|
22
|
-
}
|
|
23
|
-
return n;
|
|
24
|
-
}
|
|
25
|
-
export function boolEnv(key, fallback) {
|
|
26
|
-
const raw = process.env[key];
|
|
27
|
-
if (raw === undefined || raw === '')
|
|
28
|
-
return fallback;
|
|
29
|
-
switch (raw.toLowerCase()) {
|
|
30
|
-
case '1':
|
|
31
|
-
case 'true':
|
|
32
|
-
case 'yes':
|
|
33
|
-
case 'on': return true;
|
|
34
|
-
case '0':
|
|
35
|
-
case 'false':
|
|
36
|
-
case 'no':
|
|
37
|
-
case 'off': return false;
|
|
38
|
-
default: throw new Error(`Invalid boolean env var ${key}: ${raw}`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
// resolveFileSecrets reads `${KEY}_FILE` for each given key and, when set,
|
|
42
|
-
// loads the file contents into `process.env[KEY]`. The `_FILE` variable is
|
|
43
|
-
// cleared so secrets do not appear in the process environment beyond what is
|
|
44
|
-
// actually needed at runtime. Existing values for `KEY` are preserved.
|
|
45
|
-
export function resolveFileSecrets(keys) {
|
|
46
|
-
for (const key of keys) {
|
|
47
|
-
if (process.env[key])
|
|
48
|
-
continue;
|
|
49
|
-
const fileVar = `${key}_FILE`;
|
|
50
|
-
const path = process.env[fileVar];
|
|
51
|
-
if (!path)
|
|
52
|
-
continue;
|
|
53
|
-
const value = readFileSync(path, 'utf8').replace(/\s+$/, '');
|
|
54
|
-
if (!value)
|
|
55
|
-
throw new Error(`Secret file empty: ${fileVar}=${path}`);
|
|
56
|
-
process.env[key] = value;
|
|
57
|
-
delete process.env[fileVar];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,iEAAiE;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,QAAgB;IAClD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,QAAgB,EAAE,GAAG,GAAG,CAAC;IAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACrD,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,QAAiB;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACrD,QAAQ,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1B,KAAK,GAAG,CAAC;QAAC,KAAK,MAAM,CAAC;QAAC,KAAK,KAAK,CAAC;QAAC,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC;QAC1D,KAAK,GAAG,CAAC;QAAC,KAAK,OAAO,CAAC;QAAC,KAAK,IAAI,CAAC;QAAC,KAAK,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC;QAC5D,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,2EAA2E;AAC3E,6EAA6E;AAC7E,uEAAuE;AACvE,MAAM,UAAU,kBAAkB,CAAC,IAAuB;IACxD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/B,MAAM,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
|
package/dist/env.d.ts
DELETED
package/dist/env.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAElD,wBAAgB,WAAW,IAAI,WAAW,CAKzC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAU1C"}
|
package/dist/env.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
// Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
2
|
-
// Caracal, a product of Garudex Labs
|
|
3
|
-
//
|
|
4
|
-
// Shared environment classification for TypeScript services.
|
|
5
|
-
export function caracalMode() {
|
|
6
|
-
const raw = (process.env.CARACAL_MODE ?? '').trim().toLowerCase();
|
|
7
|
-
if (raw === '')
|
|
8
|
-
return 'stable';
|
|
9
|
-
if (raw === 'dev' || raw === 'rc' || raw === 'stable')
|
|
10
|
-
return raw;
|
|
11
|
-
throw new Error(`CARACAL_MODE must be 'dev', 'rc', or 'stable' (got '${raw}')`);
|
|
12
|
-
}
|
|
13
|
-
export function isPublished() {
|
|
14
|
-
return caracalMode() !== 'dev';
|
|
15
|
-
}
|
|
16
|
-
export function assertPublishedSafe() {
|
|
17
|
-
if (!isPublished())
|
|
18
|
-
return;
|
|
19
|
-
const forbidden = ['INSECURE_STS', 'INSECURE_HTTP'];
|
|
20
|
-
const set = forbidden.filter((k) => {
|
|
21
|
-
const v = (process.env[k] ?? '').toLowerCase();
|
|
22
|
-
return v === 'true' || v === '1' || v === 'yes';
|
|
23
|
-
});
|
|
24
|
-
if (set.length > 0) {
|
|
25
|
-
throw new Error(`CARACAL_MODE=rc or CARACAL_MODE=stable forbids: ${set.join(', ')}`);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,6DAA6D;AAI7D,MAAM,UAAU,WAAW;IACzB,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClE,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAChC,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAClE,MAAM,IAAI,KAAK,CAAC,uDAAuD,GAAG,IAAI,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,WAAW,EAAE,KAAK,KAAK,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO;IAC3B,MAAM,SAAS,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACjC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;AACH,CAAC"}
|
package/dist/envfile.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export declare function readEnvFile(path: string): Record<string, string>;
|
|
2
|
-
/**
|
|
3
|
-
* Resolve the installed home written to by `caracal up`.
|
|
4
|
-
* Mirrors the layout in packages/engine/src/runtime.ts.
|
|
5
|
-
*/
|
|
6
|
-
export declare function installedHome(): string;
|
|
7
|
-
export declare function devSecretsHome(): string;
|
|
8
|
-
export interface DiscoverTokenOptions {
|
|
9
|
-
preferGenerated?: boolean;
|
|
10
|
-
}
|
|
11
|
-
export declare function discoverRepoRoot(): string | undefined;
|
|
12
|
-
export interface ManagedSecretDirOptions {
|
|
13
|
-
preferDev?: boolean;
|
|
14
|
-
}
|
|
15
|
-
export declare function managedSecretDirs(opts?: ManagedSecretDirOptions): string[];
|
|
16
|
-
export declare function discoverAdminToken(explicit?: string, opts?: DiscoverTokenOptions): string | undefined;
|
|
17
|
-
export declare function discoverCoordinatorToken(explicit?: string, opts?: DiscoverTokenOptions): string | undefined;
|
|
18
|
-
export declare function discoverMetricsBearer(explicit?: string, opts?: DiscoverTokenOptions): string | undefined;
|
|
19
|
-
//# sourceMappingURL=envfile.d.ts.map
|
package/dist/envfile.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"envfile.d.ts","sourceRoot":"","sources":["../src/envfile.ts"],"names":[],"mappings":"AASA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAahE;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAQtC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAQD,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAWrD;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,uBAA4B,GAAG,MAAM,EAAE,CAU9E;AAYD,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,MAAM,GAAG,SAAS,CAoBzG;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,MAAM,GAAG,SAAS,CAoB/G;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,MAAM,GAAG,SAAS,CAoB5G"}
|
package/dist/envfile.js
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
// Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
2
|
-
// Caracal, a product of Garudex Labs
|
|
3
|
-
//
|
|
4
|
-
// Helpers for reading dotenv files and discovering Caracal managed secrets.
|
|
5
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
6
|
-
import { homedir, platform } from 'node:os';
|
|
7
|
-
import { dirname, join } from 'node:path';
|
|
8
|
-
export function readEnvFile(path) {
|
|
9
|
-
if (!existsSync(path))
|
|
10
|
-
return {};
|
|
11
|
-
const out = {};
|
|
12
|
-
for (const line of readFileSync(path, 'utf8').split(/\r?\n/)) {
|
|
13
|
-
const m = line.match(/^\s*([A-Z_][A-Z0-9_]*)\s*=\s*(.*)\s*$/);
|
|
14
|
-
if (!m)
|
|
15
|
-
continue;
|
|
16
|
-
let value = m[2];
|
|
17
|
-
if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
|
|
18
|
-
value = value.slice(1, -1);
|
|
19
|
-
}
|
|
20
|
-
out[m[1]] = value;
|
|
21
|
-
}
|
|
22
|
-
return out;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Resolve the installed home written to by `caracal up`.
|
|
26
|
-
* Mirrors the layout in packages/engine/src/runtime.ts.
|
|
27
|
-
*/
|
|
28
|
-
export function installedHome() {
|
|
29
|
-
if (process.env.CARACAL_HOME)
|
|
30
|
-
return process.env.CARACAL_HOME;
|
|
31
|
-
if (platform() === 'darwin') {
|
|
32
|
-
return join(homedir(), 'Library', 'Application Support', 'caracal');
|
|
33
|
-
}
|
|
34
|
-
const xdg = process.env.XDG_DATA_HOME;
|
|
35
|
-
const base = xdg && xdg.length > 0 ? xdg : join(homedir(), '.local', 'share');
|
|
36
|
-
return join(base, 'caracal');
|
|
37
|
-
}
|
|
38
|
-
export function devSecretsHome() {
|
|
39
|
-
if (process.env.CARACAL_DEV_SECRETS_DIR)
|
|
40
|
-
return process.env.CARACAL_DEV_SECRETS_DIR;
|
|
41
|
-
return join(installedHome(), 'dev-secrets');
|
|
42
|
-
}
|
|
43
|
-
function readSecretFile(path) {
|
|
44
|
-
if (!existsSync(path))
|
|
45
|
-
return undefined;
|
|
46
|
-
const value = readFileSync(path, 'utf8').trim();
|
|
47
|
-
return value.length > 0 ? value : undefined;
|
|
48
|
-
}
|
|
49
|
-
export function discoverRepoRoot() {
|
|
50
|
-
if (process.env.CARACAL_REPO_ROOT)
|
|
51
|
-
return process.env.CARACAL_REPO_ROOT;
|
|
52
|
-
let dir = process.cwd();
|
|
53
|
-
while (true) {
|
|
54
|
-
if (existsSync(join(dir, 'pnpm-workspace.yaml')) && existsSync(join(dir, 'package.json'))) {
|
|
55
|
-
return dir;
|
|
56
|
-
}
|
|
57
|
-
const parent = dirname(dir);
|
|
58
|
-
if (parent === dir)
|
|
59
|
-
return undefined;
|
|
60
|
-
dir = parent;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
export function managedSecretDirs(opts = {}) {
|
|
64
|
-
const root = discoverRepoRoot();
|
|
65
|
-
const explicit = process.env.CARACAL_SECRETS_DIR;
|
|
66
|
-
const installedPath = join(installedHome(), 'secrets');
|
|
67
|
-
const devPath = devSecretsHome();
|
|
68
|
-
const workspacePath = process.env.CARACAL_ALLOW_WORKSPACE_SECRETS === 'true' && root
|
|
69
|
-
? join(root, 'infra', 'secrets', 'files')
|
|
70
|
-
: undefined;
|
|
71
|
-
const generated = opts.preferDev ? [devPath, installedPath] : [installedPath, devPath];
|
|
72
|
-
return [...new Set([explicit, ...generated, workspacePath].filter((path) => Boolean(path)))];
|
|
73
|
-
}
|
|
74
|
-
function readGeneratedSecret(fileName) {
|
|
75
|
-
const root = discoverRepoRoot();
|
|
76
|
-
const preferDev = process.env.CARACAL_MODE === 'dev' || (!process.env.CARACAL_HOME && root !== undefined);
|
|
77
|
-
for (const dir of managedSecretDirs({ preferDev })) {
|
|
78
|
-
const value = readSecretFile(join(dir, fileName));
|
|
79
|
-
if (value)
|
|
80
|
-
return value;
|
|
81
|
-
}
|
|
82
|
-
return undefined;
|
|
83
|
-
}
|
|
84
|
-
export function discoverAdminToken(explicit, opts = {}) {
|
|
85
|
-
if (explicit)
|
|
86
|
-
return explicit;
|
|
87
|
-
if (opts.preferGenerated) {
|
|
88
|
-
const generated = readGeneratedSecret('caracalAdminToken');
|
|
89
|
-
if (generated)
|
|
90
|
-
return generated;
|
|
91
|
-
}
|
|
92
|
-
if (process.env.CARACAL_ADMIN_TOKEN)
|
|
93
|
-
return process.env.CARACAL_ADMIN_TOKEN;
|
|
94
|
-
if (process.env.CARACAL_ADMIN_TOKEN_FILE) {
|
|
95
|
-
const value = readSecretFile(process.env.CARACAL_ADMIN_TOKEN_FILE);
|
|
96
|
-
if (value)
|
|
97
|
-
return value;
|
|
98
|
-
}
|
|
99
|
-
if (!opts.preferGenerated) {
|
|
100
|
-
const generated = readGeneratedSecret('caracalAdminToken');
|
|
101
|
-
if (generated)
|
|
102
|
-
return generated;
|
|
103
|
-
}
|
|
104
|
-
if (process.env.CARACAL_ENV_FILE) {
|
|
105
|
-
const env = readEnvFile(process.env.CARACAL_ENV_FILE);
|
|
106
|
-
if (env.CARACAL_ADMIN_TOKEN)
|
|
107
|
-
return env.CARACAL_ADMIN_TOKEN;
|
|
108
|
-
}
|
|
109
|
-
return undefined;
|
|
110
|
-
}
|
|
111
|
-
export function discoverCoordinatorToken(explicit, opts = {}) {
|
|
112
|
-
if (explicit)
|
|
113
|
-
return explicit;
|
|
114
|
-
if (opts.preferGenerated) {
|
|
115
|
-
const generated = readGeneratedSecret('caracalCoordinatorToken');
|
|
116
|
-
if (generated)
|
|
117
|
-
return generated;
|
|
118
|
-
}
|
|
119
|
-
if (process.env.CARACAL_COORDINATOR_TOKEN)
|
|
120
|
-
return process.env.CARACAL_COORDINATOR_TOKEN;
|
|
121
|
-
if (process.env.CARACAL_COORDINATOR_TOKEN_FILE) {
|
|
122
|
-
const value = readSecretFile(process.env.CARACAL_COORDINATOR_TOKEN_FILE);
|
|
123
|
-
if (value)
|
|
124
|
-
return value;
|
|
125
|
-
}
|
|
126
|
-
if (!opts.preferGenerated) {
|
|
127
|
-
const generated = readGeneratedSecret('caracalCoordinatorToken');
|
|
128
|
-
if (generated)
|
|
129
|
-
return generated;
|
|
130
|
-
}
|
|
131
|
-
if (process.env.CARACAL_ENV_FILE) {
|
|
132
|
-
const env = readEnvFile(process.env.CARACAL_ENV_FILE);
|
|
133
|
-
if (env.CARACAL_COORDINATOR_TOKEN)
|
|
134
|
-
return env.CARACAL_COORDINATOR_TOKEN;
|
|
135
|
-
}
|
|
136
|
-
return undefined;
|
|
137
|
-
}
|
|
138
|
-
export function discoverMetricsBearer(explicit, opts = {}) {
|
|
139
|
-
if (explicit)
|
|
140
|
-
return explicit;
|
|
141
|
-
if (opts.preferGenerated) {
|
|
142
|
-
const generated = readGeneratedSecret('metricsBearer');
|
|
143
|
-
if (generated)
|
|
144
|
-
return generated;
|
|
145
|
-
}
|
|
146
|
-
if (process.env.METRICS_BEARER)
|
|
147
|
-
return process.env.METRICS_BEARER;
|
|
148
|
-
if (process.env.METRICS_BEARER_FILE) {
|
|
149
|
-
const value = readSecretFile(process.env.METRICS_BEARER_FILE);
|
|
150
|
-
if (value)
|
|
151
|
-
return value;
|
|
152
|
-
}
|
|
153
|
-
if (!opts.preferGenerated) {
|
|
154
|
-
const generated = readGeneratedSecret('metricsBearer');
|
|
155
|
-
if (generated)
|
|
156
|
-
return generated;
|
|
157
|
-
}
|
|
158
|
-
if (process.env.CARACAL_ENV_FILE) {
|
|
159
|
-
const env = readEnvFile(process.env.CARACAL_ENV_FILE);
|
|
160
|
-
if (env.METRICS_BEARER)
|
|
161
|
-
return env.METRICS_BEARER;
|
|
162
|
-
}
|
|
163
|
-
return undefined;
|
|
164
|
-
}
|
|
165
|
-
//# sourceMappingURL=envfile.js.map
|
package/dist/envfile.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"envfile.js","sourceRoot":"","sources":["../src/envfile.ts"],"names":[],"mappings":"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"}
|
package/dist/lifecycle.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export type ShutdownFn = () => Promise<void> | void;
|
|
2
|
-
export declare class ShutdownRegistry {
|
|
3
|
-
private readonly opts;
|
|
4
|
-
private entries;
|
|
5
|
-
private installed;
|
|
6
|
-
private firing;
|
|
7
|
-
constructor(opts: {
|
|
8
|
-
timeoutMs: number;
|
|
9
|
-
log: (level: 'info' | 'warn' | 'error', msg: string, meta?: Record<string, unknown>) => void;
|
|
10
|
-
exit?: (code: number) => void;
|
|
11
|
-
});
|
|
12
|
-
register(name: string, fn: ShutdownFn): void;
|
|
13
|
-
get draining(): boolean;
|
|
14
|
-
install(signals?: NodeJS.Signals[]): void;
|
|
15
|
-
fire(reason: string, code?: number): Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=lifecycle.d.ts.map
|
package/dist/lifecycle.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAOpD,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;gBAGJ,IAAI,EAAE;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QAC7F,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/B;IAGH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,GAAG,IAAI;IAI5C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,CAAC,OAAO,GAAE,MAAM,CAAC,OAAO,EAA0B,GAAG,IAAI;IAU1D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAuCpD"}
|
package/dist/lifecycle.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
// Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
2
|
-
// Caracal, a product of Garudex Labs
|
|
3
|
-
//
|
|
4
|
-
// Shared graceful shutdown registry for TypeScript services.
|
|
5
|
-
import { withTimeout } from './async.js';
|
|
6
|
-
export class ShutdownRegistry {
|
|
7
|
-
opts;
|
|
8
|
-
entries = [];
|
|
9
|
-
installed = false;
|
|
10
|
-
firing = false;
|
|
11
|
-
constructor(opts) {
|
|
12
|
-
this.opts = opts;
|
|
13
|
-
}
|
|
14
|
-
register(name, fn) {
|
|
15
|
-
this.entries.push({ name, fn });
|
|
16
|
-
}
|
|
17
|
-
get draining() {
|
|
18
|
-
return this.firing;
|
|
19
|
-
}
|
|
20
|
-
install(signals = ['SIGTERM', 'SIGINT']) {
|
|
21
|
-
if (this.installed)
|
|
22
|
-
return;
|
|
23
|
-
this.installed = true;
|
|
24
|
-
for (const sig of signals) {
|
|
25
|
-
process.once(sig, () => {
|
|
26
|
-
void this.fire(sig, 0);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
async fire(reason, code = 0) {
|
|
31
|
-
if (this.firing)
|
|
32
|
-
return;
|
|
33
|
-
this.firing = true;
|
|
34
|
-
this.opts.log('info', 'shutdown initiated', { reason, entries: this.entries.length });
|
|
35
|
-
const exit = this.opts.exit ?? ((exitCode) => process.exit(exitCode));
|
|
36
|
-
const deadline = Date.now() + this.opts.timeoutMs;
|
|
37
|
-
const timeout = setTimeout(() => {
|
|
38
|
-
this.opts.log('error', 'shutdown timed out; forcing exit', { timeoutMs: this.opts.timeoutMs });
|
|
39
|
-
exit(1);
|
|
40
|
-
}, this.opts.timeoutMs);
|
|
41
|
-
timeout.unref();
|
|
42
|
-
let exitCode = code;
|
|
43
|
-
for (const entry of [...this.entries].reverse()) {
|
|
44
|
-
const remaining = deadline - Date.now();
|
|
45
|
-
if (remaining <= 0) {
|
|
46
|
-
this.opts.log('error', 'shutdown deadline exceeded; skipping remaining', { skipped: entry.name });
|
|
47
|
-
exitCode = 1;
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
try {
|
|
51
|
-
await withTimeout(Promise.resolve(entry.fn()), remaining, `shutdown step ${entry.name} did not complete within ${remaining}ms`);
|
|
52
|
-
this.opts.log('info', 'shutdown step completed', { entry: entry.name });
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
this.opts.log('error', 'shutdown step failed', {
|
|
56
|
-
entry: entry.name,
|
|
57
|
-
err: err.message,
|
|
58
|
-
});
|
|
59
|
-
exitCode = 1;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
clearTimeout(timeout);
|
|
63
|
-
exit(exitCode);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=lifecycle.js.map
|
package/dist/lifecycle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/metrics.d.ts
DELETED
package/dist/metrics.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAwB9C,4EAA4E;AAC5E,wBAAgB,0BAA0B,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,CAuBtE"}
|
package/dist/metrics.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
// Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
2
|
-
// Caracal, a product of Garudex Labs
|
|
3
|
-
//
|
|
4
|
-
// Prometheus text-format renderer for Caracal counter snapshots.
|
|
5
|
-
import { devLogMetrics } from './logging.js';
|
|
6
|
-
function renderCounters(counters) {
|
|
7
|
-
const lines = [];
|
|
8
|
-
for (const c of counters) {
|
|
9
|
-
lines.push(`# HELP ${c.name} ${c.help}`);
|
|
10
|
-
lines.push(`# TYPE ${c.name} counter`);
|
|
11
|
-
lines.push(`${c.name} ${c.value}`);
|
|
12
|
-
}
|
|
13
|
-
return lines.join('\n') + '\n';
|
|
14
|
-
}
|
|
15
|
-
function renderGauges(gauges) {
|
|
16
|
-
const lines = [];
|
|
17
|
-
for (const g of gauges) {
|
|
18
|
-
lines.push(`# HELP ${g.name} ${g.help}`);
|
|
19
|
-
lines.push(`# TYPE ${g.name} gauge`);
|
|
20
|
-
lines.push(`${g.name} ${g.value}`);
|
|
21
|
-
}
|
|
22
|
-
return lines.join('\n') + '\n';
|
|
23
|
-
}
|
|
24
|
-
/** Render dev-log + (optional) audit counters in Prometheus text format. */
|
|
25
|
-
export function renderObservabilityMetrics(audit) {
|
|
26
|
-
const log = devLogMetrics();
|
|
27
|
-
const counters = [
|
|
28
|
-
{ name: 'caracal_log_emitted_total', help: 'Dev log records emitted', value: log.emitted },
|
|
29
|
-
{ name: 'caracal_log_dropped_total', help: 'Dev log records dropped due to backpressure', value: log.dropped },
|
|
30
|
-
{ name: 'caracal_log_sampled_total', help: 'Debug log records dropped by sampler', value: log.sampled },
|
|
31
|
-
];
|
|
32
|
-
if (audit) {
|
|
33
|
-
const a = audit.snapshot();
|
|
34
|
-
counters.push({ name: 'caracal_audit_emitted_total', help: 'Audit events accepted into buffer', value: a.emitted }, { name: 'caracal_audit_dropped_total', help: 'Audit events dropped due to full buffer', value: a.dropped }, { name: 'caracal_audit_persisted_total', help: 'Audit events spilled to disk for later replay', value: a.persisted }, { name: 'caracal_audit_drained_total', help: 'Audit events replayed from disk', value: a.drained }, { name: 'caracal_audit_sink_errors_total', help: 'Audit sink (XADD) errors', value: a.sink_errors });
|
|
35
|
-
const gauges = [
|
|
36
|
-
{ name: 'caracal_audit_queue_depth', help: 'Audit buffer depth', value: a.queue_depth },
|
|
37
|
-
{ name: 'caracal_audit_queue_cap', help: 'Audit buffer capacity', value: a.queue_cap },
|
|
38
|
-
];
|
|
39
|
-
return renderCounters(counters) + renderGauges(gauges);
|
|
40
|
-
}
|
|
41
|
-
return renderCounters(counters);
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=metrics.js.map
|
package/dist/metrics.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/telemetry.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
type Log = {
|
|
2
|
-
error?: (msg: string, meta?: Record<string, unknown>) => void;
|
|
3
|
-
};
|
|
4
|
-
type FastifyLike = {
|
|
5
|
-
addHook: (name: string, handler: (...args: unknown[]) => unknown) => void;
|
|
6
|
-
};
|
|
7
|
-
export declare function initNodeTelemetry(serviceName: string, log?: Log): () => Promise<void>;
|
|
8
|
-
export declare function instrumentFastifyApp(app: FastifyLike, serviceName: string): void;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=telemetry.d.ts.map
|
package/dist/telemetry.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAWA,KAAK,GAAG,GAAG;IAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CAAE,CAAA;AAC5E,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,KAAK,IAAI,CAAA;CAC1E,CAAA;AAID,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAmBrF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAyChF"}
|
package/dist/telemetry.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
// Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
2
|
-
// Caracal, a product of Garudex Labs
|
|
3
|
-
//
|
|
4
|
-
// OpenTelemetry bootstrap helpers for Node.js services.
|
|
5
|
-
import { context, propagation, SpanKind, SpanStatusCode, trace } from '@opentelemetry/api';
|
|
6
|
-
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
7
|
-
import { resourceFromAttributes } from '@opentelemetry/resources';
|
|
8
|
-
import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
9
|
-
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
|
|
10
|
-
const spanKey = Symbol('caracal.otel.span');
|
|
11
|
-
export function initNodeTelemetry(serviceName, log) {
|
|
12
|
-
const endpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT?.trim();
|
|
13
|
-
if (!endpoint)
|
|
14
|
-
return async () => { };
|
|
15
|
-
const protocol = process.env.OTEL_EXPORTER_OTLP_PROTOCOL?.trim();
|
|
16
|
-
if (protocol && protocol !== 'http/protobuf') {
|
|
17
|
-
throw new Error(`unsupported OTEL_EXPORTER_OTLP_PROTOCOL ${protocol}`);
|
|
18
|
-
}
|
|
19
|
-
const provider = new NodeTracerProvider({
|
|
20
|
-
resource: resourceFromAttributes(resourceAttributes(serviceName)),
|
|
21
|
-
spanProcessors: [new BatchSpanProcessor(new OTLPTraceExporter({ url: traceUrl(endpoint) }))],
|
|
22
|
-
});
|
|
23
|
-
provider.register();
|
|
24
|
-
return async () => {
|
|
25
|
-
try {
|
|
26
|
-
await provider.shutdown();
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
log?.error?.('telemetry shutdown failed', { err });
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
export function instrumentFastifyApp(app, serviceName) {
|
|
34
|
-
const tracer = trace.getTracer(serviceName);
|
|
35
|
-
app.addHook('onRequest', async (req) => {
|
|
36
|
-
const request = req;
|
|
37
|
-
const method = request.method ?? 'GET';
|
|
38
|
-
const path = String(request.url ?? '/').split('?')[0] || '/';
|
|
39
|
-
const parent = propagation.extract(context.active(), normalizeHeaders(request.headers ?? {}));
|
|
40
|
-
request[spanKey] = tracer.startSpan(`${method} ${path}`, {
|
|
41
|
-
kind: SpanKind.SERVER,
|
|
42
|
-
attributes: {
|
|
43
|
-
'http.request.method': method,
|
|
44
|
-
'url.path': path,
|
|
45
|
-
},
|
|
46
|
-
}, parent);
|
|
47
|
-
});
|
|
48
|
-
app.addHook('onResponse', async (req, reply) => {
|
|
49
|
-
const request = req;
|
|
50
|
-
const response = reply;
|
|
51
|
-
const span = request[spanKey];
|
|
52
|
-
if (!span)
|
|
53
|
-
return;
|
|
54
|
-
const statusCode = response.statusCode ?? 200;
|
|
55
|
-
span.setAttribute('http.response.status_code', statusCode);
|
|
56
|
-
if (statusCode >= 500) {
|
|
57
|
-
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
58
|
-
}
|
|
59
|
-
span.end();
|
|
60
|
-
});
|
|
61
|
-
app.addHook('onError', async (req, _reply, err) => {
|
|
62
|
-
const request = req;
|
|
63
|
-
const span = request[spanKey];
|
|
64
|
-
if (!span)
|
|
65
|
-
return;
|
|
66
|
-
if (err instanceof Error) {
|
|
67
|
-
span.recordException(err);
|
|
68
|
-
}
|
|
69
|
-
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
function traceUrl(endpoint) {
|
|
73
|
-
const trimmed = endpoint.replace(/\/+$/, '');
|
|
74
|
-
return trimmed.endsWith('/v1/traces') ? trimmed : `${trimmed}/v1/traces`;
|
|
75
|
-
}
|
|
76
|
-
function normalizeHeaders(headers) {
|
|
77
|
-
const out = {};
|
|
78
|
-
for (const [key, value] of Object.entries(headers)) {
|
|
79
|
-
if (Array.isArray(value)) {
|
|
80
|
-
out[key] = value.join(',');
|
|
81
|
-
}
|
|
82
|
-
else if (typeof value === 'string') {
|
|
83
|
-
out[key] = value;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return out;
|
|
87
|
-
}
|
|
88
|
-
function resourceAttributes(serviceName) {
|
|
89
|
-
const attrs = { 'service.name': serviceName };
|
|
90
|
-
for (const raw of (process.env.OTEL_RESOURCE_ATTRIBUTES ?? '').split(',')) {
|
|
91
|
-
const [key, value] = raw.split('=', 2);
|
|
92
|
-
if (key?.trim() && value?.trim()) {
|
|
93
|
-
attrs[key.trim()] = value.trim();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return attrs;
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=telemetry.js.map
|
package/dist/telemetry.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/url.d.ts
DELETED
package/dist/url.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../src/url.ts"],"names":[],"mappings":"AAKA,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5C"}
|
package/dist/url.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
2
|
-
// Caracal, a product of Garudex Labs
|
|
3
|
-
//
|
|
4
|
-
// Minimal URL helpers for server `req.url`-style paths (pathname + optional query).
|
|
5
|
-
/** Strips the query string (`?…`) from a URL or path fragment. */
|
|
6
|
-
export function pathOnly(url) {
|
|
7
|
-
const q = url.indexOf('?');
|
|
8
|
-
return q === -1 ? url : url.slice(0, q);
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=url.js.map
|
package/dist/url.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","sourceRoot":"","sources":["../src/url.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,oFAAoF;AAEpF,kEAAkE;AAClE,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACzC,CAAC"}
|