@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/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
@@ -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,CASxD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAYtG"}
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: ambient identity and delegation context propagated across async boundaries.
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
@@ -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;AAerD,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAkB,CAAC;AAExD,MAAM,UAAU,OAAO;IACrB,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,IAAI,CAAI,GAAmB,EAAE,EAAwB;IACnE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAA8B,EAC9B,EAAwB;IAExB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACjF,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAmB;IAC5C,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,EAAE,GAAG,CAAC,GAAG;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAa,EAAE,IAA0C;IACpF,IAAI,CAAC,GAAG,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACzE,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,EAAE,GAAG,CAAC,GAAG;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -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
- sessionSid?: string;
25
+ subjectSessionId?: string;
21
26
  parentId?: string;
22
27
  kind?: AgentKind;
23
28
  ttlSeconds?: number;
24
- metadata?: Record<string, unknown>;
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":"AASA,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,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,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,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,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,CAoBxB;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,CAoB7B"}
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"}
@@ -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
- session_sid: req.sessionSid,
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 in that case the caller's retry would still require a
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.sessionSid && !req.parentId)
50
+ if (!req.subjectSessionId && !req.parentId)
53
51
  return undefined;
54
52
  const seed = [
55
53
  req.applicationId,
56
- req.sessionSid ?? "",
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
- const res = await call(client, "POST", `/zones/${encodeURIComponent(req.zoneId)}/delegations`, bearer, {
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
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
@@ -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
  }
@@ -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,CAiB1D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAWrE;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"}
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
- const subjectToken = auth && /^Bearer\s+/i.test(auth) ? auth.replace(/^Bearer\s+/i, "").trim() : undefined;
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)
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"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"}
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 caracalHttpMiddleware(caracal: Caracal): ConnectMiddleware;
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
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,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,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAQzE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,IACnC,KAAK,YAAY,mBAGhC"}
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
- * Generic HTTP server middleware: extracts the wire envelope from incoming requests
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 caracalHttpMiddleware(caracal) {
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;;;;;;;GAOG;AAgBH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,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,CAAC;aACD,KAAK,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO,KAAK,EAAE,GAAiB,EAAE,EAAE;QACjC,MAAM,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC;AACJ,CAAC"}
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 type { CaracalContext } from "./context.js";
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
@@ -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;AAChH,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,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"}
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
@@ -5,5 +5,6 @@
5
5
  * Public surface of the Caracal SDK.
6
6
  */
7
7
  export { Caracal } from "./client.js";
8
+ export { captureContext, describeAuthority } from "./context.js";
8
9
  export { AgentKind } from "./coordinator.js";
9
10
  //# 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;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,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,7 @@
1
+ export type JsonPrimitive = string | number | boolean | null;
2
+ export type JsonValue = JsonPrimitive | JsonObject | JsonArray;
3
+ export type JsonObject = {
4
+ [key: string]: JsonValue;
5
+ };
6
+ export type JsonArray = JsonValue[];
7
+ //# sourceMappingURL=json.d.ts.map
@@ -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
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (C) 2026 Garudex Labs. All Rights Reserved.
3
+ * Caracal, a product of Garudex Labs
4
+ *
5
+ * JSON value types used by the SDK public API.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -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
- sessionSid?: string;
9
+ subjectSessionId?: string;
9
10
  parentId?: string;
10
11
  kind?: AgentKind;
11
12
  ttlSeconds?: number;
12
- metadata?: Record<string, unknown>;
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
- sessionSid?: string;
38
+ subjectSessionId?: string;
36
39
  kind?: AgentKind;
37
40
  ttlSeconds?: number;
38
- metadata?: Record<string, unknown>;
41
+ metadata?: JsonObject;
39
42
  traceId?: string;
40
43
  onAgentStart?: (ctx: CaracalContext) => void | Promise<void>;
41
44
  onAgentEnd?: (ctx: CaracalContext) => void | Promise<void>;
@@ -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;AAE1B,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,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,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,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,CAuBZ;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,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,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,CAqDZ"}
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"}
@@ -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
- sessionSid: input.sessionSid,
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.sessionSid ?? parent?.sessionId,
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
- sessionSid: input.sessionSid,
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.sessionSid ?? parent.sessionId,
120
+ sessionId: input.subjectSessionId ?? parent.sessionId,
119
121
  traceId: input.traceId ?? parent.traceId,
120
122
  hop: parent.hop + 1,
121
123
  };
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"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"}