@caracalai/sdk 0.1.2 → 0.1.3-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/advanced.d.ts +1 -1
- package/dist/advanced.d.ts.map +1 -1
- package/dist/advanced.js +2 -2
- package/dist/client.d.ts +49 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +380 -27
- package/dist/client.js.map +1 -1
- package/dist/context.d.ts +13 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +31 -1
- package/dist/context.js.map +1 -1
- package/dist/coordinator.d.ts +9 -5
- package/dist/coordinator.d.ts.map +1 -1
- package/dist/coordinator.js +11 -11
- package/dist/coordinator.js.map +1 -1
- package/dist/envelope.d.ts +2 -0
- package/dist/envelope.d.ts.map +1 -1
- package/dist/envelope.js +12 -2
- package/dist/envelope.js.map +1 -1
- package/dist/http.d.ts +3 -3
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +5 -7
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/json.d.ts +7 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +8 -0
- package/dist/json.js.map +1 -0
- package/dist/primitives.d.ts +7 -4
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +6 -4
- package/dist/primitives.js.map +1 -1
- package/package.json +11 -5
package/dist/context.d.ts
CHANGED
|
@@ -10,7 +10,19 @@ export interface CaracalContext {
|
|
|
10
10
|
traceId?: string;
|
|
11
11
|
hop: number;
|
|
12
12
|
}
|
|
13
|
+
export interface AuthoritySummary {
|
|
14
|
+
zoneId: string;
|
|
15
|
+
applicationId: string;
|
|
16
|
+
authoritySessionId?: string;
|
|
17
|
+
agentRunId?: string;
|
|
18
|
+
delegatedPermissionId?: string;
|
|
19
|
+
parentDelegatedPermissionId?: string;
|
|
20
|
+
traceId?: string;
|
|
21
|
+
hop: number;
|
|
22
|
+
chain: string[];
|
|
23
|
+
}
|
|
13
24
|
export declare function current(): CaracalContext | undefined;
|
|
25
|
+
export declare function captureContext(): CaracalContext | undefined;
|
|
14
26
|
export declare function bind<T>(ctx: CaracalContext, fn: () => T | Promise<T>): T | Promise<T>;
|
|
15
27
|
export declare function withOverrides<T>(patch: Partial<CaracalContext>, fn: () => T | Promise<T>): T | Promise<T>;
|
|
16
28
|
export declare function toEnvelope(ctx: CaracalContext): Envelope;
|
|
@@ -18,4 +30,5 @@ export declare function fromEnvelope(env: Envelope, base: {
|
|
|
18
30
|
zoneId: string;
|
|
19
31
|
clientId: string;
|
|
20
32
|
}): CaracalContext;
|
|
33
|
+
export declare function describeAuthority(ctx?: CaracalContext | undefined): AuthoritySummary | undefined;
|
|
21
34
|
//# sourceMappingURL=context.d.ts.map
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAID,wBAAgB,OAAO,IAAI,cAAc,GAAG,SAAS,CAEpD;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAErF;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,EAC9B,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAIhB;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAID,wBAAgB,OAAO,IAAI,cAAc,GAAG,SAAS,CAEpD;AAED,wBAAgB,cAAc,IAAI,cAAc,GAAG,SAAS,CAG3D;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAErF;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,EAC9B,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAIhB;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,QAAQ,CAUxD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAatG;AAED,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,cAAc,GAAG,SAAqB,GAAG,gBAAgB,GAAG,SAAS,CAkB3G"}
|
package/dist/context.js
CHANGED
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
* Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
3
3
|
* Caracal, a product of Garudex Labs
|
|
4
4
|
*
|
|
5
|
-
* CaracalContext:
|
|
5
|
+
* CaracalContext: bound identity and delegation context propagated across async boundaries.
|
|
6
6
|
*/
|
|
7
7
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
8
8
|
const storage = new AsyncLocalStorage();
|
|
9
9
|
export function current() {
|
|
10
10
|
return storage.getStore();
|
|
11
11
|
}
|
|
12
|
+
export function captureContext() {
|
|
13
|
+
const ctx = current();
|
|
14
|
+
return ctx ? { ...ctx } : undefined;
|
|
15
|
+
}
|
|
12
16
|
export function bind(ctx, fn) {
|
|
13
17
|
return storage.run(ctx, fn);
|
|
14
18
|
}
|
|
@@ -24,6 +28,7 @@ export function toEnvelope(ctx) {
|
|
|
24
28
|
agentSessionId: ctx.agentSessionId,
|
|
25
29
|
delegationEdgeId: ctx.delegationEdgeId,
|
|
26
30
|
parentEdgeId: ctx.parentEdgeId,
|
|
31
|
+
sessionId: ctx.sessionId,
|
|
27
32
|
traceId: ctx.traceId,
|
|
28
33
|
hop: ctx.hop,
|
|
29
34
|
};
|
|
@@ -38,8 +43,33 @@ export function fromEnvelope(env, base) {
|
|
|
38
43
|
agentSessionId: env.agentSessionId,
|
|
39
44
|
delegationEdgeId: env.delegationEdgeId,
|
|
40
45
|
parentEdgeId: env.parentEdgeId,
|
|
46
|
+
sessionId: env.sessionId,
|
|
41
47
|
traceId: env.traceId,
|
|
42
48
|
hop: env.hop,
|
|
43
49
|
};
|
|
44
50
|
}
|
|
51
|
+
export function describeAuthority(ctx = current()) {
|
|
52
|
+
if (!ctx)
|
|
53
|
+
return undefined;
|
|
54
|
+
const chain = [];
|
|
55
|
+
if (ctx.sessionId)
|
|
56
|
+
chain.push(`authority:${ctx.sessionId}`);
|
|
57
|
+
if (ctx.agentSessionId)
|
|
58
|
+
chain.push(`agent-run:${ctx.agentSessionId}`);
|
|
59
|
+
if (ctx.parentEdgeId)
|
|
60
|
+
chain.push(`parent-delegated-permission:${ctx.parentEdgeId}`);
|
|
61
|
+
if (ctx.delegationEdgeId)
|
|
62
|
+
chain.push(`delegated-permission:${ctx.delegationEdgeId}`);
|
|
63
|
+
return {
|
|
64
|
+
zoneId: ctx.zoneId,
|
|
65
|
+
applicationId: ctx.clientId,
|
|
66
|
+
authoritySessionId: ctx.sessionId,
|
|
67
|
+
agentRunId: ctx.agentSessionId,
|
|
68
|
+
delegatedPermissionId: ctx.delegationEdgeId,
|
|
69
|
+
parentDelegatedPermissionId: ctx.parentEdgeId,
|
|
70
|
+
traceId: ctx.traceId,
|
|
71
|
+
hop: ctx.hop,
|
|
72
|
+
chain,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
45
75
|
//# sourceMappingURL=context.js.map
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/coordinator.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { JsonObject } from "./json.js";
|
|
1
2
|
export interface CoordinatorClient {
|
|
2
3
|
baseUrl: string;
|
|
3
4
|
fetchImpl?: typeof fetch;
|
|
@@ -10,22 +11,25 @@ export declare const AgentKind: {
|
|
|
10
11
|
export type AgentKind = typeof AgentKind[keyof typeof AgentKind];
|
|
11
12
|
export interface DelegationConstraints {
|
|
12
13
|
resources?: string[];
|
|
13
|
-
actions?: string[];
|
|
14
14
|
maxDepth?: number;
|
|
15
|
+
maxHops?: number;
|
|
16
|
+
ttlSeconds?: number;
|
|
17
|
+
budget?: number;
|
|
18
|
+
policyApproved?: boolean;
|
|
15
19
|
expiresAt?: string;
|
|
20
|
+
broadReason?: string;
|
|
16
21
|
}
|
|
17
22
|
export interface SpawnRequest {
|
|
18
23
|
zoneId: string;
|
|
19
24
|
applicationId: string;
|
|
20
|
-
|
|
25
|
+
subjectSessionId?: string;
|
|
21
26
|
parentId?: string;
|
|
22
27
|
kind?: AgentKind;
|
|
23
28
|
ttlSeconds?: number;
|
|
24
|
-
metadata?:
|
|
29
|
+
metadata?: JsonObject;
|
|
25
30
|
idempotencyKey?: string;
|
|
26
31
|
}
|
|
27
32
|
export interface SpawnResponse {
|
|
28
|
-
id?: string;
|
|
29
33
|
agent_session_id: string;
|
|
30
34
|
}
|
|
31
35
|
export interface DelegationRequest {
|
|
@@ -34,12 +38,12 @@ export interface DelegationRequest {
|
|
|
34
38
|
sourceSessionId: string;
|
|
35
39
|
targetSessionId: string;
|
|
36
40
|
receiverApplicationId: string;
|
|
41
|
+
resourceId?: string;
|
|
37
42
|
scopes: string[];
|
|
38
43
|
constraints?: DelegationConstraints;
|
|
39
44
|
ttlSeconds?: number;
|
|
40
45
|
}
|
|
41
46
|
export interface DelegationResponse {
|
|
42
|
-
id?: string;
|
|
43
47
|
delegation_edge_id: string;
|
|
44
48
|
}
|
|
45
49
|
export declare function spawnAgent(client: CoordinatorClient, bearer: string, req: SpawnRequest): Promise<SpawnResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,eAAO,MAAM,SAAS;;;;CAIZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEjE,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AA4BD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,aAAa,CAAC,CAmBxB;AAsBD,wBAAsB,cAAc,CAClC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAuB7B"}
|
package/dist/coordinator.js
CHANGED
|
@@ -33,27 +33,25 @@ export async function spawnAgent(client, bearer, req) {
|
|
|
33
33
|
const headers = key ? { "idempotency-key": key } : undefined;
|
|
34
34
|
const res = await call(client, "POST", `/zones/${encodeURIComponent(req.zoneId)}/agents`, bearer, {
|
|
35
35
|
application_id: req.applicationId,
|
|
36
|
-
|
|
36
|
+
subject_session_id: req.subjectSessionId,
|
|
37
37
|
parent_id: req.parentId,
|
|
38
38
|
kind: req.kind ?? AgentKind.Instance,
|
|
39
39
|
ttl_seconds: req.ttlSeconds,
|
|
40
40
|
metadata: req.metadata,
|
|
41
41
|
}, headers);
|
|
42
|
-
if (!res.agent_session_id && res.id)
|
|
43
|
-
res.agent_session_id = res.id;
|
|
44
42
|
return res;
|
|
45
43
|
}
|
|
46
44
|
/**
|
|
47
45
|
* Stable key for SDK-issued spawn retries. Returns undefined when no stable
|
|
48
|
-
* inputs are present
|
|
46
|
+
* inputs are present: in that case the caller's retry would still require a
|
|
49
47
|
* fresh session.
|
|
50
48
|
*/
|
|
51
49
|
function deriveIdempotencyKey(req) {
|
|
52
|
-
if (!req.
|
|
50
|
+
if (!req.subjectSessionId && !req.parentId)
|
|
53
51
|
return undefined;
|
|
54
52
|
const seed = [
|
|
55
53
|
req.applicationId,
|
|
56
|
-
req.
|
|
54
|
+
req.subjectSessionId ?? "",
|
|
57
55
|
req.parentId ?? "",
|
|
58
56
|
String(req.kind ?? AgentKind.Instance),
|
|
59
57
|
].join("|");
|
|
@@ -77,22 +75,24 @@ export async function createDelegation(client, bearer, req) {
|
|
|
77
75
|
const constraints = req.constraints
|
|
78
76
|
? {
|
|
79
77
|
resources: req.constraints.resources,
|
|
80
|
-
actions: req.constraints.actions,
|
|
81
78
|
max_depth: req.constraints.maxDepth,
|
|
79
|
+
max_hops: req.constraints.maxHops,
|
|
80
|
+
ttl_seconds: req.constraints.ttlSeconds,
|
|
81
|
+
budget: req.constraints.budget,
|
|
82
|
+
policy_approved: req.constraints.policyApproved,
|
|
82
83
|
expires_at: req.constraints.expiresAt,
|
|
84
|
+
broad_reason: req.constraints.broadReason,
|
|
83
85
|
}
|
|
84
86
|
: undefined;
|
|
85
|
-
|
|
87
|
+
return call(client, "POST", `/zones/${encodeURIComponent(req.zoneId)}/delegations`, bearer, {
|
|
86
88
|
issuer_application_id: req.issuerApplicationId,
|
|
87
89
|
source_session_id: req.sourceSessionId,
|
|
88
90
|
target_session_id: req.targetSessionId,
|
|
89
91
|
receiver_application_id: req.receiverApplicationId,
|
|
92
|
+
resource_id: req.resourceId ?? null,
|
|
90
93
|
scopes: req.scopes,
|
|
91
94
|
constraints,
|
|
92
95
|
ttl_seconds: req.ttlSeconds,
|
|
93
96
|
});
|
|
94
|
-
if (!res.delegation_edge_id && res.id)
|
|
95
|
-
res.delegation_edge_id = res.id;
|
|
96
|
-
return res;
|
|
97
97
|
}
|
|
98
98
|
//# sourceMappingURL=coordinator.js.map
|
package/dist/coordinator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
|
package/dist/envelope.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare const HeaderBaggage = "baggage";
|
|
|
4
4
|
export declare const BaggageAgentSession = "caracal.agent_session";
|
|
5
5
|
export declare const BaggageDelegationEdge = "caracal.delegation_edge";
|
|
6
6
|
export declare const BaggageParentEdge = "caracal.parent_edge";
|
|
7
|
+
export declare const BaggageSession = "caracal.session";
|
|
7
8
|
export declare const BaggageHop = "caracal.hop";
|
|
8
9
|
export declare const MaxHop = 32;
|
|
9
10
|
export interface Envelope {
|
|
@@ -11,6 +12,7 @@ export interface Envelope {
|
|
|
11
12
|
agentSessionId?: string;
|
|
12
13
|
delegationEdgeId?: string;
|
|
13
14
|
parentEdgeId?: string;
|
|
15
|
+
sessionId?: string;
|
|
14
16
|
traceId?: string;
|
|
15
17
|
hop: number;
|
|
16
18
|
}
|
package/dist/envelope.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAC3D,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAC/D,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,UAAU,gBAAgB,CAAC;AAExC,eAAO,MAAM,MAAM,KAAK,CAAC;AAEzB,MAAM,WAAW,QAAQ;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAqBjE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAK/E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAOjF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgB9E;AAaD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,QAAQ,CAE5F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAC3D,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAC/D,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD,eAAO,MAAM,UAAU,gBAAgB,CAAC;AAExC,eAAO,MAAM,MAAM,KAAK,CAAC;AAEzB,MAAM,WAAW,QAAQ;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAqBjE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAK/E;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAOjF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgB9E;AAaD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,QAAQ,CAE5F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,CAwB1D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAYrE;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM/D;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAI3E;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,QAAQ,CAExF"}
|
package/dist/envelope.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Wire envelope using W3C Trace Context (traceparent) and W3C Baggage.
|
|
6
6
|
*
|
|
7
7
|
* Subject token rides in Authorization. Caracal-specific cross-cutting fields
|
|
8
|
-
* (agent_session, delegation_edge, parent_edge, hop) ride in Baggage under the
|
|
8
|
+
* (session, agent_session, delegation_edge, parent_edge, hop) ride in Baggage under the
|
|
9
9
|
* caracal.* namespace. Trace identifiers ride in traceparent so any
|
|
10
10
|
* OpenTelemetry-aware client/server propagates them transparently.
|
|
11
11
|
*/
|
|
@@ -15,6 +15,7 @@ export const HeaderBaggage = "baggage";
|
|
|
15
15
|
export const BaggageAgentSession = "caracal.agent_session";
|
|
16
16
|
export const BaggageDelegationEdge = "caracal.delegation_edge";
|
|
17
17
|
export const BaggageParentEdge = "caracal.parent_edge";
|
|
18
|
+
export const BaggageSession = "caracal.session";
|
|
18
19
|
export const BaggageHop = "caracal.hop";
|
|
19
20
|
export const MaxHop = 32;
|
|
20
21
|
const TRACEPARENT_RE = /^([0-9a-f]{2})-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/;
|
|
@@ -87,7 +88,14 @@ export function fromHeaders(headers) {
|
|
|
87
88
|
}
|
|
88
89
|
export function decodeEnvelope(get) {
|
|
89
90
|
const auth = get(HeaderAuthorization);
|
|
90
|
-
|
|
91
|
+
let subjectToken;
|
|
92
|
+
if (auth && auth.slice(0, 6).toLowerCase() === "bearer") {
|
|
93
|
+
const value = auth.slice(6);
|
|
94
|
+
if (value.length !== value.trimStart().length) {
|
|
95
|
+
const token = value.trim();
|
|
96
|
+
subjectToken = token === "" ? undefined : token;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
91
99
|
const tp = get(HeaderTraceparent);
|
|
92
100
|
const traceId = tp ? parseTraceparent(tp)?.traceId : undefined;
|
|
93
101
|
const bag = parseBaggage(get(HeaderBaggage));
|
|
@@ -98,6 +106,7 @@ export function decodeEnvelope(get) {
|
|
|
98
106
|
agentSessionId: bag[BaggageAgentSession] || undefined,
|
|
99
107
|
delegationEdgeId: bag[BaggageDelegationEdge] || undefined,
|
|
100
108
|
parentEdgeId: bag[BaggageParentEdge] || undefined,
|
|
109
|
+
sessionId: bag[BaggageSession] || undefined,
|
|
101
110
|
traceId,
|
|
102
111
|
hop,
|
|
103
112
|
};
|
|
@@ -111,6 +120,7 @@ export function encodeEnvelope(env, set) {
|
|
|
111
120
|
[BaggageAgentSession]: env.agentSessionId,
|
|
112
121
|
[BaggageDelegationEdge]: env.delegationEdgeId,
|
|
113
122
|
[BaggageParentEdge]: env.parentEdgeId,
|
|
123
|
+
[BaggageSession]: env.sessionId,
|
|
114
124
|
[BaggageHop]: String(env.hop),
|
|
115
125
|
});
|
|
116
126
|
if (baggage)
|
package/dist/envelope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAC/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AACvD,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAC/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAChD,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC;AAezB,MAAM,cAAc,GAClB,6DAA6D,CAAC;AAEhE,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,MAAM,OAAO,IAAI,SAAS,EAAE,KAAK,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,kCAAkC;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA2C;IACvE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;YAAE,SAAS;QAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAyB;IACpD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC;IACvB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC;YAAE,SAAS;QACtB,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpF,IAAI,CAAC;YACH,GAAG,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAgD,EAAE,IAAY,EAAE,EAAE;IACnF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAAsD;IAChF,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAiB;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACtC,IAAI,YAAgC,CAAC;IACrC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3B,YAAY,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAClD,CAAC;IACH,CAAC;IACD,MAAM,EAAE,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,OAAO;QACL,YAAY;QACZ,cAAc,EAAE,GAAG,CAAC,mBAAmB,CAAC,IAAI,SAAS;QACrD,gBAAgB,EAAE,GAAG,CAAC,qBAAqB,CAAC,IAAI,SAAS;QACzD,YAAY,EAAE,GAAG,CAAC,iBAAiB,CAAC,IAAI,SAAS;QACjD,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS;QAC3C,OAAO;QACP,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAa,EAAE,GAAiB;IAC7D,IAAI,GAAG,CAAC,YAAY;QAAE,GAAG,CAAC,mBAAmB,EAAE,UAAU,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/F,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,cAAc;QACzC,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC,gBAAgB;QAC7C,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,YAAY;QACrC,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,SAAS;QAC/B,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;KAC9B,CAAC,CAAC;IACH,IAAI,OAAO;QAAE,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAa;IACrC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAa,EAAE,OAA+B;IACnE,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAsD;IAC5E,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC"}
|
package/dist/http.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Caracal } from "./client.js";
|
|
1
|
+
import { Caracal, type RootOptions } from "./client.js";
|
|
2
2
|
export interface IncomingLike {
|
|
3
3
|
headers: Record<string, string | string[] | undefined>;
|
|
4
4
|
}
|
|
5
5
|
export type FastifyRequestLike = IncomingLike;
|
|
6
6
|
export type ConnectMiddleware = (req: IncomingLike, res: unknown, next: (err?: unknown) => void) => void;
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function caracalFastifyHook(caracal: Caracal): (req: IncomingLike) => Promise<void>;
|
|
7
|
+
export declare function caracalContextMiddleware(caracal: Caracal, opts?: RootOptions): ConnectMiddleware;
|
|
8
|
+
export declare function caracalFastifyHook(caracal: Caracal, opts?: RootOptions): (req: IncomingLike) => Promise<void>;
|
|
9
9
|
//# sourceMappingURL=http.d.ts.map
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;CACxD;AAED,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAA;AAE7C,MAAM,MAAM,iBAAiB,GAAG,CAC9B,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,KAC1B,IAAI,CAAC;AAEV,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,WAAgB,GAAG,iBAAiB,CAQpG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,WAAgB,IAC3D,KAAK,YAAY,mBAGhC"}
|
package/dist/http.js
CHANGED
|
@@ -2,22 +2,20 @@
|
|
|
2
2
|
* Copyright (C) 2026 Garudex Labs. All Rights Reserved.
|
|
3
3
|
* Caracal, a product of Garudex Labs
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* and binds a CaracalContext for the handler scope. Works with Express, Connect,
|
|
7
|
-
* Fastify (via preHandler), and any framework exposing (req, res, next).
|
|
5
|
+
* HTTP server middleware that binds Caracal context after a verifier boundary.
|
|
8
6
|
*/
|
|
9
|
-
export function
|
|
7
|
+
export function caracalContextMiddleware(caracal, opts = {}) {
|
|
10
8
|
return (req, _res, next) => {
|
|
11
9
|
caracal
|
|
12
10
|
.bindFromHeaders(req.headers, async () => {
|
|
13
11
|
next();
|
|
14
|
-
})
|
|
12
|
+
}, opts)
|
|
15
13
|
.catch(next);
|
|
16
14
|
};
|
|
17
15
|
}
|
|
18
|
-
export function caracalFastifyHook(caracal) {
|
|
16
|
+
export function caracalFastifyHook(caracal, opts = {}) {
|
|
19
17
|
return async (req) => {
|
|
20
|
-
await caracal.bindFromHeaders(req.headers, async () => undefined);
|
|
18
|
+
await caracal.bindFromHeaders(req.headers, async () => undefined, opts);
|
|
21
19
|
};
|
|
22
20
|
}
|
|
23
21
|
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,MAAM,UAAU,wBAAwB,CAAC,OAAgB,EAAE,OAAoB,EAAE;IAC/E,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACzB,OAAO;aACJ,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YACvC,IAAI,EAAE,CAAC;QACT,CAAC,EAAE,IAAI,CAAC;aACP,KAAK,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,OAAoB,EAAE;IACzE,OAAO,KAAK,EAAE,GAAiB,EAAE,EAAE;QACjC,MAAM,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { Caracal } from "./client.js";
|
|
2
|
-
export type { CaracalConfig, SpawnOptions, DelegateOptions, ResourceBinding, LifecycleHook } from "./client.js";
|
|
3
|
-
export
|
|
2
|
+
export type { CaracalConfig, SpawnOptions, DelegateOptions, ResourceBinding, GatewayRequest, LifecycleHook, RootOptions, TokenSource, ClientSecretOptions, ConnectOptions } from "./client.js";
|
|
3
|
+
export { captureContext, describeAuthority } from "./context.js";
|
|
4
|
+
export type { AuthoritySummary, CaracalContext } from "./context.js";
|
|
4
5
|
export type { CoordinatorClient } from "./coordinator.js";
|
|
5
6
|
export { AgentKind } from "./coordinator.js";
|
|
6
7
|
export type { DelegationConstraints } from "./coordinator.js";
|
|
7
8
|
export type { Envelope } from "./envelope.js";
|
|
9
|
+
export type { JsonArray, JsonObject, JsonPrimitive, JsonValue } from "./json.js";
|
|
8
10
|
//# 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":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC/L,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACrE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,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;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/json.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;AAC/D,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC"}
|
package/dist/json.js
ADDED
package/dist/json.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/primitives.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { CaracalContext } from "./context.js";
|
|
2
2
|
import { CoordinatorClient, AgentKind, DelegationConstraints } from "./coordinator.js";
|
|
3
|
+
import type { JsonObject } from "./json.js";
|
|
3
4
|
export interface SpawnInput {
|
|
4
5
|
coordinator: CoordinatorClient;
|
|
5
6
|
zoneId: string;
|
|
6
7
|
applicationId: string;
|
|
7
8
|
subjectToken: string;
|
|
8
|
-
|
|
9
|
+
subjectSessionId?: string;
|
|
9
10
|
parentId?: string;
|
|
10
11
|
kind?: AgentKind;
|
|
11
12
|
ttlSeconds?: number;
|
|
12
|
-
metadata?:
|
|
13
|
+
metadata?: JsonObject;
|
|
13
14
|
traceId?: string;
|
|
14
15
|
onAgentStart?: (ctx: CaracalContext) => void | Promise<void>;
|
|
15
16
|
onAgentEnd?: (ctx: CaracalContext) => void | Promise<void>;
|
|
@@ -19,6 +20,7 @@ export interface DelegateInput {
|
|
|
19
20
|
coordinator: CoordinatorClient;
|
|
20
21
|
toAgentSessionId: string;
|
|
21
22
|
toApplicationId: string;
|
|
23
|
+
resourceId?: string;
|
|
22
24
|
scopes: string[];
|
|
23
25
|
constraints?: DelegationConstraints;
|
|
24
26
|
ttlSeconds?: number;
|
|
@@ -29,13 +31,14 @@ export interface DelegateToSpawnInput {
|
|
|
29
31
|
zoneId: string;
|
|
30
32
|
applicationId: string;
|
|
31
33
|
subjectToken: string;
|
|
34
|
+
resourceId?: string;
|
|
32
35
|
scopes: string[];
|
|
33
36
|
constraints?: DelegationConstraints;
|
|
34
37
|
delegationTtlSeconds?: number;
|
|
35
|
-
|
|
38
|
+
subjectSessionId?: string;
|
|
36
39
|
kind?: AgentKind;
|
|
37
40
|
ttlSeconds?: number;
|
|
38
|
-
metadata?:
|
|
41
|
+
metadata?: JsonObject;
|
|
39
42
|
traceId?: string;
|
|
40
43
|
onAgentStart?: (ctx: CaracalContext) => void | Promise<void>;
|
|
41
44
|
onAgentEnd?: (ctx: CaracalContext) => void | Promise<void>;
|
package/dist/primitives.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiB,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EACL,iBAAiB,EAIjB,SAAS,EACT,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiB,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EACL,iBAAiB,EAIjB,SAAS,EACT,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAiClF;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,KAAK,EAAE,aAAa,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,KAAK,EAAE,oBAAoB,EAC3B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAsDZ"}
|
package/dist/primitives.js
CHANGED
|
@@ -14,7 +14,7 @@ export async function spawn(input, fn) {
|
|
|
14
14
|
const res = await spawnAgent(input.coordinator, bearer, {
|
|
15
15
|
zoneId: input.zoneId,
|
|
16
16
|
applicationId: input.applicationId,
|
|
17
|
-
|
|
17
|
+
subjectSessionId: input.subjectSessionId,
|
|
18
18
|
parentId,
|
|
19
19
|
kind,
|
|
20
20
|
ttlSeconds: input.ttlSeconds,
|
|
@@ -26,7 +26,7 @@ export async function spawn(input, fn) {
|
|
|
26
26
|
clientId: input.applicationId,
|
|
27
27
|
agentSessionId: res.agent_session_id,
|
|
28
28
|
parentEdgeId: parent?.delegationEdgeId,
|
|
29
|
-
sessionId: input.
|
|
29
|
+
sessionId: input.subjectSessionId ?? parent?.sessionId,
|
|
30
30
|
traceId: input.traceId ?? parent?.traceId,
|
|
31
31
|
hop: parent?.hop ?? 0,
|
|
32
32
|
};
|
|
@@ -56,6 +56,7 @@ export async function delegate(input, fn) {
|
|
|
56
56
|
sourceSessionId: ctx.agentSessionId,
|
|
57
57
|
targetSessionId: input.toAgentSessionId,
|
|
58
58
|
receiverApplicationId: input.toApplicationId,
|
|
59
|
+
resourceId: input.resourceId,
|
|
59
60
|
scopes: input.scopes,
|
|
60
61
|
constraints: input.constraints,
|
|
61
62
|
ttlSeconds: input.ttlSeconds,
|
|
@@ -83,7 +84,7 @@ export async function delegateToSpawn(input, fn) {
|
|
|
83
84
|
const spawnRes = await spawnAgent(input.coordinator, input.subjectToken, {
|
|
84
85
|
zoneId: input.zoneId,
|
|
85
86
|
applicationId: input.applicationId,
|
|
86
|
-
|
|
87
|
+
subjectSessionId: input.subjectSessionId,
|
|
87
88
|
parentId: parent.agentSessionId,
|
|
88
89
|
kind,
|
|
89
90
|
ttlSeconds: input.ttlSeconds,
|
|
@@ -97,6 +98,7 @@ export async function delegateToSpawn(input, fn) {
|
|
|
97
98
|
sourceSessionId: parent.agentSessionId,
|
|
98
99
|
targetSessionId: spawnRes.agent_session_id,
|
|
99
100
|
receiverApplicationId: input.applicationId,
|
|
101
|
+
resourceId: input.resourceId,
|
|
100
102
|
scopes: input.scopes,
|
|
101
103
|
constraints: input.constraints,
|
|
102
104
|
ttlSeconds: input.delegationTtlSeconds,
|
|
@@ -115,7 +117,7 @@ export async function delegateToSpawn(input, fn) {
|
|
|
115
117
|
agentSessionId: spawnRes.agent_session_id,
|
|
116
118
|
delegationEdgeId: delRes.delegation_edge_id,
|
|
117
119
|
parentEdgeId: parent.delegationEdgeId,
|
|
118
|
-
sessionId: input.
|
|
120
|
+
sessionId: input.subjectSessionId ?? parent.sessionId,
|
|
119
121
|
traceId: input.traceId ?? parent.traceId,
|
|
120
122
|
hop: parent.hop + 1,
|
|
121
123
|
};
|
package/dist/primitives.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAEL,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,SAAS,GAEV,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"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"}
|