@caracalai/core 0.1.0 → 0.1.2
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/cliconfig.d.ts +2 -1
- package/dist/cliconfig.d.ts.map +1 -1
- package/dist/cliconfig.js +6 -3
- package/dist/cliconfig.js.map +1 -1
- package/dist/config.d.ts +0 -8
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -10
- package/dist/config.js.map +1 -1
- package/dist/env.d.ts +4 -2
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +21 -5
- package/dist/env.js.map +1 -1
- package/dist/errors.d.ts +11 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +10 -4
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/url.d.ts +3 -0
- package/dist/url.d.ts.map +1 -0
- package/dist/url.js +10 -0
- package/dist/url.js.map +1 -0
- package/package.json +18 -7
package/dist/cliconfig.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CaracalError } from './errors.js';
|
|
1
2
|
export declare const DEFAULT_API_URL = "http://localhost:3000";
|
|
2
3
|
export declare const DEFAULT_COORDINATOR_URL = "http://localhost:4000";
|
|
3
4
|
export interface Credential {
|
|
@@ -21,7 +22,7 @@ export interface CliConfig {
|
|
|
21
22
|
mcp_governance?: McpGovernance;
|
|
22
23
|
}
|
|
23
24
|
export declare function resolveCliConfigPath(env?: NodeJS.ProcessEnv): string | undefined;
|
|
24
|
-
export declare class ServiceUrlMissingError extends
|
|
25
|
+
export declare class ServiceUrlMissingError extends CaracalError {
|
|
25
26
|
readonly envKey: string;
|
|
26
27
|
readonly nodeEnv: string;
|
|
27
28
|
constructor(envKey: string, nodeEnv: string);
|
package/dist/cliconfig.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliconfig.d.ts","sourceRoot":"","sources":["../src/cliconfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cliconfig.d.ts","sourceRoot":"","sources":["../src/cliconfig.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,eAAO,MAAM,eAAe,0BAA0B,CAAC;AACvD,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC5C,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAKD,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAc7F;AAED,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBACb,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAQ5C;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ5E"}
|
package/dist/cliconfig.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { existsSync } from 'node:fs';
|
|
6
6
|
import { homedir } from 'node:os';
|
|
7
7
|
import { join } from 'node:path';
|
|
8
|
+
import { CaracalError } from './errors.js';
|
|
8
9
|
export const DEFAULT_API_URL = 'http://localhost:3000';
|
|
9
10
|
export const DEFAULT_COORDINATOR_URL = 'http://localhost:4000';
|
|
10
11
|
// Resolves the path to caracal.toml using the documented precedence:
|
|
@@ -28,14 +29,16 @@ export function resolveCliConfigPath(env = process.env) {
|
|
|
28
29
|
}
|
|
29
30
|
return undefined;
|
|
30
31
|
}
|
|
31
|
-
export class ServiceUrlMissingError extends
|
|
32
|
+
export class ServiceUrlMissingError extends CaracalError {
|
|
32
33
|
envKey;
|
|
33
34
|
nodeEnv;
|
|
34
35
|
constructor(envKey, nodeEnv) {
|
|
35
|
-
super(`${envKey} is required when NODE_ENV=${nodeEnv}
|
|
36
|
+
super('config_missing', `${envKey} is required when NODE_ENV=${nodeEnv}`, {
|
|
37
|
+
details: { envKey, nodeEnv },
|
|
38
|
+
});
|
|
39
|
+
this.name = 'ServiceUrlMissingError';
|
|
36
40
|
this.envKey = envKey;
|
|
37
41
|
this.nodeEnv = nodeEnv;
|
|
38
|
-
this.name = 'ServiceUrlMissingError';
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
// Returns the env-var override or the dev default. Throws ServiceUrlMissingError
|
package/dist/cliconfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliconfig.js","sourceRoot":"","sources":["../src/cliconfig.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,6EAA6E;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cliconfig.js","sourceRoot":"","sources":["../src/cliconfig.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,6EAA6E;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAC;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AA0B/D,qEAAqE;AACrE,sGAAsG;AACtG,sDAAsD;AACtD,MAAM,UAAU,oBAAoB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACvE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,GAAG,CAAC,cAAc;QAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,IAAI,GAAG;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QAC/D,CAAC,CAAC,GAAG,CAAC,eAAe;QACrB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC/B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IACtD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACpC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IAC7C,MAAM,CAAS;IACf,OAAO,CAAS;IACzB,YAAY,MAAc,EAAE,OAAe;QACzC,KAAK,CAAC,gBAAgB,EAAE,GAAG,MAAM,8BAA8B,OAAO,EAAE,EAAE;YACxE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,iFAAiF;AACjF,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,UAAkB;IAClE,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAChB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;IAClD,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
export interface BaseConfig {
|
|
2
|
-
port: number;
|
|
3
|
-
databaseUrl: string;
|
|
4
|
-
redisUrl: string;
|
|
5
|
-
stsUrl: string;
|
|
6
|
-
logLevel: string;
|
|
7
|
-
}
|
|
8
1
|
export declare function mustGetenv(key: string): string;
|
|
9
2
|
export declare function getenv(key: string, fallback: string): string;
|
|
10
|
-
export declare function loadBaseConfig(): BaseConfig;
|
|
11
3
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D"}
|
package/dist/config.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
2
2
|
// Caracal, a product of Garudex Labs
|
|
3
3
|
//
|
|
4
|
-
// Shared
|
|
4
|
+
// Shared environment variable accessors for TypeScript services.
|
|
5
5
|
export function mustGetenv(key) {
|
|
6
6
|
const v = process.env[key];
|
|
7
7
|
if (!v)
|
|
@@ -11,13 +11,4 @@ export function mustGetenv(key) {
|
|
|
11
11
|
export function getenv(key, fallback) {
|
|
12
12
|
return process.env[key] ?? fallback;
|
|
13
13
|
}
|
|
14
|
-
export function loadBaseConfig() {
|
|
15
|
-
return {
|
|
16
|
-
port: parseInt(mustGetenv('PORT'), 10),
|
|
17
|
-
databaseUrl: mustGetenv('DATABASE_URL'),
|
|
18
|
-
redisUrl: mustGetenv('REDIS_URL'),
|
|
19
|
-
stsUrl: getenv('STS_URL', 'http://localhost:8080'),
|
|
20
|
-
logLevel: getenv('LOG_LEVEL', 'info'),
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
14
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,iEAAiE;AAEjE,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"}
|
package/dist/env.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare function
|
|
1
|
+
export type CaracalMode = 'dev' | 'runtime';
|
|
2
|
+
export declare function caracalMode(): CaracalMode;
|
|
3
|
+
export declare function isRuntime(): boolean;
|
|
4
|
+
export declare function assertRuntimeSafe(): void;
|
|
3
5
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAKA,wBAAgB,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,CAAC;AAE5C,wBAAgB,WAAW,IAAI,WAAW,CAKzC;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAUxC"}
|
package/dist/env.js
CHANGED
|
@@ -2,11 +2,27 @@
|
|
|
2
2
|
// Caracal, a product of Garudex Labs
|
|
3
3
|
//
|
|
4
4
|
// Shared environment classification for TypeScript services.
|
|
5
|
-
export function
|
|
6
|
-
|
|
5
|
+
export function caracalMode() {
|
|
6
|
+
const raw = (process.env.CARACAL_MODE ?? '').trim().toLowerCase();
|
|
7
|
+
if (raw === '' || raw === 'runtime')
|
|
8
|
+
return 'runtime';
|
|
9
|
+
if (raw === 'dev')
|
|
10
|
+
return 'dev';
|
|
11
|
+
throw new Error(`CARACAL_MODE must be 'dev' or 'runtime' (got '${raw}')`);
|
|
7
12
|
}
|
|
8
|
-
export function
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
export function isRuntime() {
|
|
14
|
+
return caracalMode() === 'runtime';
|
|
15
|
+
}
|
|
16
|
+
export function assertRuntimeSafe() {
|
|
17
|
+
if (caracalMode() !== 'runtime')
|
|
18
|
+
return;
|
|
19
|
+
const forbidden = ['INSECURE_STS', 'INSECURE_HTTP', 'CARACAL_LOCAL_BOOTSTRAP_ENABLED'];
|
|
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=runtime forbids: ${set.join(', ')}`);
|
|
26
|
+
}
|
|
11
27
|
}
|
|
12
28
|
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,6DAA6D;
|
|
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,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,WAAW,EAAE,KAAK,SAAS,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,IAAI,WAAW,EAAE,KAAK,SAAS;QAAE,OAAO;IACxC,MAAM,SAAS,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,iCAAiC,CAAC,CAAC;IACvF,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,iCAAiC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
export type
|
|
1
|
+
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' | 'agent_identity_required' | 'delegation_required' | 'chain_mismatch' | 'hop_count_exceeded' | 'http_request_failed' | 'config_missing';
|
|
2
|
+
export type ErrorCode = WellKnownErrorCode | (string & {});
|
|
3
|
+
export interface CaracalErrorOptions {
|
|
4
|
+
requestId?: string;
|
|
5
|
+
details?: Record<string, unknown>;
|
|
6
|
+
cause?: unknown;
|
|
7
|
+
}
|
|
2
8
|
export declare class CaracalError extends Error {
|
|
3
9
|
readonly code: ErrorCode;
|
|
4
|
-
readonly requestId?: string
|
|
5
|
-
|
|
10
|
+
readonly requestId?: string;
|
|
11
|
+
readonly details?: Record<string, unknown>;
|
|
12
|
+
constructor(code: ErrorCode, message: string, opts?: CaracalErrorOptions | string);
|
|
6
13
|
toJSON(): {
|
|
14
|
+
details?: Record<string, unknown> | undefined;
|
|
7
15
|
requestId?: string | undefined;
|
|
8
16
|
error: ErrorCode;
|
|
9
17
|
error_description: string;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,eAAe,GACf,oBAAoB,GACpB,gBAAgB,GAChB,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,iBAAiB,GACjB,kCAAkC,GAClC,mBAAmB,GACnB,cAAc,GACd,oBAAoB,GACpB,yBAAyB,GACzB,qBAAqB,GACrB,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,gBAAgB,CAAC;AAIrB,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE/B,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAmB,GAAG,MAAW;IASrF,MAAM;;;;;;CAQP"}
|
package/dist/errors.js
CHANGED
|
@@ -5,17 +5,23 @@
|
|
|
5
5
|
export class CaracalError extends Error {
|
|
6
6
|
code;
|
|
7
7
|
requestId;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
details;
|
|
9
|
+
constructor(code, message, opts = {}) {
|
|
10
|
+
const options = typeof opts === 'string' ? { requestId: opts } : opts;
|
|
11
|
+
super(message, options.cause !== undefined ? { cause: options.cause } : undefined);
|
|
12
12
|
this.name = 'CaracalError';
|
|
13
|
+
this.code = code;
|
|
14
|
+
if (options.requestId)
|
|
15
|
+
this.requestId = options.requestId;
|
|
16
|
+
if (options.details)
|
|
17
|
+
this.details = options.details;
|
|
13
18
|
}
|
|
14
19
|
toJSON() {
|
|
15
20
|
return {
|
|
16
21
|
error: this.code,
|
|
17
22
|
error_description: this.message,
|
|
18
23
|
...(this.requestId ? { requestId: this.requestId } : {}),
|
|
24
|
+
...(this.details ? { details: this.details } : {}),
|
|
19
25
|
};
|
|
20
26
|
}
|
|
21
27
|
}
|
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;AAgCxD,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAY;IAChB,SAAS,CAAU;IACnB,OAAO,CAA2B;IAE3C,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,CAAC;QAC3F,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1D,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACtD,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,CAAC;IACJ,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
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,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
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,gFAAgF;AAEhF,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,gFAAgF;AAEhF,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
|
package/dist/url.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
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
ADDED
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@caracalai/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Caracal SDK foundation: logging, config, errors.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/Garudex-Labs/caracal",
|
|
@@ -9,7 +9,12 @@
|
|
|
9
9
|
"url": "https://github.com/Garudex-Labs/caracal.git",
|
|
10
10
|
"directory": "packages/core/ts"
|
|
11
11
|
},
|
|
12
|
-
"keywords": [
|
|
12
|
+
"keywords": [
|
|
13
|
+
"caracal",
|
|
14
|
+
"agent",
|
|
15
|
+
"identity",
|
|
16
|
+
"sdk"
|
|
17
|
+
],
|
|
13
18
|
"type": "module",
|
|
14
19
|
"main": "./dist/index.js",
|
|
15
20
|
"types": "./dist/index.d.ts",
|
|
@@ -23,8 +28,14 @@
|
|
|
23
28
|
"types": "./dist/cliconfig.d.ts"
|
|
24
29
|
}
|
|
25
30
|
},
|
|
26
|
-
"files": [
|
|
27
|
-
|
|
31
|
+
"files": [
|
|
32
|
+
"dist",
|
|
33
|
+
"README.md",
|
|
34
|
+
"LICENSE"
|
|
35
|
+
],
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public"
|
|
38
|
+
},
|
|
28
39
|
"scripts": {
|
|
29
40
|
"build": "tsc",
|
|
30
41
|
"dev": "tsc --watch",
|
|
@@ -33,8 +44,8 @@
|
|
|
33
44
|
"prepublishOnly": "tsc"
|
|
34
45
|
},
|
|
35
46
|
"devDependencies": {
|
|
36
|
-
"@types/node": "^24.
|
|
37
|
-
"typescript": "^
|
|
38
|
-
"vitest": "^
|
|
47
|
+
"@types/node": "^24.12.2",
|
|
48
|
+
"typescript": "^6.0.3",
|
|
49
|
+
"vitest": "^4.1.6"
|
|
39
50
|
}
|
|
40
51
|
}
|