@okrlinkhub/agent-bridge 3.0.0 → 3.0.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.
Files changed (38) hide show
  1. package/README.md +85 -0
  2. package/dist/client/index.d.ts +5 -1
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js +48 -0
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/client/userAuth.d.ts +47 -0
  7. package/dist/client/userAuth.d.ts.map +1 -0
  8. package/dist/client/userAuth.js +122 -0
  9. package/dist/client/userAuth.js.map +1 -0
  10. package/dist/component/_generated/api.d.ts +2 -0
  11. package/dist/component/_generated/api.d.ts.map +1 -1
  12. package/dist/component/_generated/api.js.map +1 -1
  13. package/dist/component/_generated/component.d.ts +92 -0
  14. package/dist/component/_generated/component.d.ts.map +1 -1
  15. package/dist/component/agents.d.ts +2 -2
  16. package/dist/component/gateway.d.ts +12 -0
  17. package/dist/component/gateway.d.ts.map +1 -1
  18. package/dist/component/gateway.js +36 -0
  19. package/dist/component/gateway.js.map +1 -1
  20. package/dist/component/linking.d.ts +106 -0
  21. package/dist/component/linking.d.ts.map +1 -0
  22. package/dist/component/linking.js +322 -0
  23. package/dist/component/linking.js.map +1 -0
  24. package/dist/component/permissions.d.ts +1 -1
  25. package/dist/component/schema.d.ts +66 -6
  26. package/dist/component/schema.d.ts.map +1 -1
  27. package/dist/component/schema.js +35 -0
  28. package/dist/component/schema.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/client/index.ts +87 -0
  31. package/src/client/linking.test.ts +145 -0
  32. package/src/client/userAuth.test.ts +77 -0
  33. package/src/client/userAuth.ts +192 -0
  34. package/src/component/_generated/api.ts +2 -0
  35. package/src/component/_generated/component.ts +114 -0
  36. package/src/component/gateway.ts +36 -0
  37. package/src/component/linking.ts +377 -0
  38. package/src/component/schema.ts +37 -0
package/README.md CHANGED
@@ -55,9 +55,12 @@ Configura auth strict multi-service in `registerRoutes`:
55
55
  registerRoutes(http, components.agentBridge, bridgeConfig, {
56
56
  pathPrefix: "/agent",
57
57
  serviceKeysEnvVar: "AGENT_BRIDGE_SERVICE_KEYS_JSON",
58
+ linkingMode: "component_api_only",
58
59
  });
59
60
  ```
60
61
 
62
+ `linkingMode: "component_api_only"` e il default e mantiene il linking su API Convex del componente (niente endpoint HTTP di linking esposti dal bridge).
63
+
61
64
  ### 4) Configura funzioni esposte in `agent-bridge.config.ts`
62
65
 
63
66
  ```ts
@@ -93,6 +96,22 @@ Header richiesti (strict-only):
93
96
  - `X-Agent-Service-Key: <service-key>`
94
97
  - `X-Agent-App: <app-key>` (es. `crm`, `billing`)
95
98
 
99
+ Header opzionale per contesto utente Convex:
100
+
101
+ - `Authorization: Bearer <user-jwt>`
102
+
103
+ Header opzionali per audit linking (hashati nel log bridge):
104
+
105
+ - `X-Agent-Link-Provider`
106
+ - `X-Agent-Link-Provider-User-Id`
107
+ - `X-Agent-Link-User-Subject`
108
+ - `X-Agent-Link-Status`
109
+
110
+ Quando usarlo:
111
+
112
+ - Se la funzione target usa `ctx.auth.getUserIdentity()`, invia sempre `Authorization`.
113
+ - Se la funzione e service-only, `Authorization` puo essere omesso.
114
+
96
115
  Body richiesto:
97
116
 
98
117
  ```json
@@ -109,12 +128,64 @@ Risposta:
109
128
 
110
129
  Codici principali: `401`, `403`, `404`, `429`, `500`.
111
130
 
131
+ ## User context cross-app (best practice)
132
+
133
+ Per usare Agent Bridge in app Convex con stack auth diversi, mantieni questo contratto:
134
+
135
+ 1. **Service auth** (sempre): `X-Agent-Service-Id`, `X-Agent-Service-Key`, `X-Agent-App`
136
+ 2. **User auth** (quando serve): `Authorization: Bearer <user-jwt>`
137
+
138
+ Token source comuni:
139
+
140
+ - `nextauth_convex`: leggi `session.convexToken` lato server
141
+ - `auth0`: usa access token Auth0 valido per Convex
142
+ - `custom_oidc`: usa token OIDC del provider dell'app
143
+
144
+ Il package include helper riusabili:
145
+
146
+ ```ts
147
+ import {
148
+ buildAgentBridgeStrictHeaders,
149
+ createAuth0TokenAdapter,
150
+ createCustomOidcTokenAdapter,
151
+ createNextAuthConvexTokenAdapter,
152
+ resolveUserToken,
153
+ validateJwtClaims,
154
+ } from "@okrlinkhub/agent-bridge";
155
+ ```
156
+
157
+ Esempio rapido:
158
+
159
+ ```ts
160
+ const tokenAdapter = createNextAuthConvexTokenAdapter({
161
+ getSession: async () => session,
162
+ });
163
+
164
+ const userToken = await resolveUserToken(tokenAdapter);
165
+ const validation = userToken
166
+ ? validateJwtClaims(userToken, { expectedAudience: "convex" })
167
+ : { valid: false };
168
+
169
+ const headers = buildAgentBridgeStrictHeaders({
170
+ serviceId: process.env.OPENCLAW_SERVICE_ID!,
171
+ serviceKey: process.env.OPENCLAW_SERVICE_KEY!,
172
+ appKey: "crm",
173
+ userToken: validation.valid ? userToken : null,
174
+ });
175
+ ```
176
+
177
+ Note:
178
+
179
+ - `validateJwtClaims` controlla solo claim (`exp`, `iss`, `aud`) e non sostituisce la validazione crittografica di Convex.
180
+ - Non loggare mai token utente o service key.
181
+
112
182
  ## Setup OpenClaw multi-app (semplice su Railway)
113
183
 
114
184
  Per piu istanze OpenClaw che gestiscono piu applicativi:
115
185
 
116
186
  1. In Convex imposta:
117
187
  - `AGENT_BRIDGE_SERVICE_KEYS_JSON={"openclaw-prod":"<key>","openclaw-staging":"<key>"}`
188
+ - `AGENT_BRIDGE_AUDIT_HASH_SALT="<random-long-secret>"` (raccomandata per hashing audit)
118
189
  2. In Convex registra un agente per app con `appKey` univoco:
119
190
  - `crm`, `billing`, `warehouse`, ecc.
120
191
  3. OpenClaw invia per ogni chiamata:
@@ -149,6 +220,20 @@ Mutation/query del componente disponibili in `components.agentBridge`:
149
220
  - `permissions.setFunctionOverrides` (batch)
150
221
  - `permissions.listFunctionOverrides`
151
222
  - `gateway.queryAccessLog`
223
+ - `linking.upsertLink`
224
+ - `linking.resolveLink`
225
+ - `linking.revokeLink`
226
+ - `linking.listLinks`
227
+
228
+ ### Link Registry nel componente (per-app)
229
+
230
+ Il registro link utente e persistito nel DB Convex del componente:
231
+
232
+ - chiave logica: `provider + providerUserId + appKey`
233
+ - target: `appUserSubject`
234
+ - stato: `active | revoked | expired`
235
+
236
+ In questo modo ogni app che installa il componente mantiene il proprio registry nel proprio deployment Convex, senza un database centralizzato cross-app.
152
237
 
153
238
  ### Esempio permessi batch
154
239
 
@@ -1,5 +1,7 @@
1
1
  import type { GenericDataModel, GenericMutationCtx, HttpRouter } from "convex/server";
2
2
  import type { ComponentApi } from "../component/_generated/component.js";
3
+ export { buildAgentBridgeStrictHeaders, createAuth0TokenAdapter, createCustomOidcTokenAdapter, createNextAuthConvexTokenAdapter, decodeJwtClaims, resolveUserToken, validateJwtClaims, } from "./userAuth.js";
4
+ export type { AgentBridgeStrictHeadersInput, JwtClaimValidationOptions, JwtClaimValidationResult, JwtClaims, NextAuthSessionLike, TokenSource, TokenSourceAdapter, } from "./userAuth.js";
3
5
  export type AgentBridgeFunctionType = "query" | "mutation" | "action";
4
6
  type UnknownFunctionReference = unknown;
5
7
  export interface AgentBridgeFunctionDefinition {
@@ -10,6 +12,7 @@ export interface AgentBridgeFunctionMetadata {
10
12
  description?: string;
11
13
  riskLevel?: "low" | "medium" | "high";
12
14
  category?: string;
15
+ authMode?: "service" | "user";
13
16
  }
14
17
  export interface AgentBridgeConfig {
15
18
  functions: Record<string, UnknownFunctionReference | AgentBridgeFunctionDefinition>;
@@ -32,6 +35,8 @@ type RegisterRoutesOptions = {
32
35
  pathPrefix?: string;
33
36
  serviceKeys?: Record<string, string>;
34
37
  serviceKeysEnvVar?: string;
38
+ auditHashSaltEnvVar?: string;
39
+ linkingMode?: "component_api_only";
35
40
  };
36
41
  export declare function registerRoutes(http: HttpRouter, component: ComponentApi, bridgeConfig: AgentBridgeConfig, options?: RegisterRoutesOptions): void;
37
42
  type PermissionRule = {
@@ -61,5 +66,4 @@ export declare function listConfiguredFunctions(config: AgentBridgeConfig): {
61
66
  type: AgentBridgeFunctionType;
62
67
  metadata: AgentBridgeFunctionMetadata | undefined;
63
68
  }[];
64
- export {};
65
69
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { httpActionGeneric } from "convex/server";
2
+ export { buildAgentBridgeStrictHeaders, createAuth0TokenAdapter, createCustomOidcTokenAdapter, createNextAuthConvexTokenAdapter, decodeJwtClaims, resolveUserToken, validateJwtClaims, } from "./userAuth.js";
2
3
  export function defineAgentBridgeConfig(config) {
3
4
  return config;
4
5
  }
@@ -63,10 +64,16 @@ export function normalizeAgentBridgeConfig(config) {
63
64
  }
64
65
  export function registerRoutes(http, component, bridgeConfig, options) {
65
66
  const prefix = options?.pathPrefix ?? "/agent";
67
+ const linkingMode = options?.linkingMode ?? "component_api_only";
68
+ if (linkingMode !== "component_api_only") {
69
+ throw new Error(`Unsupported linkingMode: ${linkingMode}`);
70
+ }
66
71
  const configuredServiceKeys = resolveConfiguredServiceKeys({
67
72
  serviceKeys: options?.serviceKeys,
68
73
  serviceKeysEnvVar: options?.serviceKeysEnvVar ?? "AGENT_BRIDGE_SERVICE_KEYS_JSON",
69
74
  });
75
+ const auditHashSalt = readRuntimeEnv(options?.auditHashSaltEnvVar ?? "AGENT_BRIDGE_AUDIT_HASH_SALT") ??
76
+ "";
70
77
  const normalizedConfig = normalizeAgentBridgeConfig(bridgeConfig);
71
78
  const availableFunctionKeys = Object.keys(normalizedConfig.functions);
72
79
  http.route({
@@ -108,6 +115,10 @@ export function registerRoutes(http, component, bridgeConfig, options) {
108
115
  return response;
109
116
  }
110
117
  const startTime = Date.now();
118
+ const linkAuditContext = await extractLinkAuditContextFromRequest({
119
+ request,
120
+ auditHashSalt,
121
+ });
111
122
  try {
112
123
  const args = body.args ?? {};
113
124
  let result;
@@ -128,6 +139,7 @@ export function registerRoutes(http, component, bridgeConfig, options) {
128
139
  result,
129
140
  duration: Date.now() - startTime,
130
141
  timestamp: Date.now(),
142
+ ...linkAuditContext,
131
143
  });
132
144
  return jsonResponse({ success: true, result }, 200);
133
145
  }
@@ -141,8 +153,10 @@ export function registerRoutes(http, component, bridgeConfig, options) {
141
153
  functionKey,
142
154
  args: body.args ?? {},
143
155
  error: errorMessage,
156
+ errorCode: "bridge_execution_error",
144
157
  duration: Date.now() - startTime,
145
158
  timestamp: Date.now(),
159
+ ...linkAuditContext,
146
160
  });
147
161
  return jsonResponse({ success: false, error: errorMessage }, 500);
148
162
  }
@@ -255,6 +269,40 @@ function readRuntimeEnv(name) {
255
269
  const trimmed = value.trim();
256
270
  return trimmed.length > 0 ? trimmed : undefined;
257
271
  }
272
+ async function extractLinkAuditContextFromRequest(args) {
273
+ const linkedProvider = args.request.headers.get("X-Agent-Link-Provider")?.trim().toLowerCase() || undefined;
274
+ const providerUserIdRaw = args.request.headers.get("X-Agent-Link-Provider-User-Id")?.trim() || undefined;
275
+ const appUserSubjectRaw = args.request.headers.get("X-Agent-Link-User-Subject")?.trim() || undefined;
276
+ const linkStatus = args.request.headers.get("X-Agent-Link-Status")?.trim() || undefined;
277
+ const providerUserIdHash = providerUserIdRaw
278
+ ? await hashAuditIdentifier(providerUserIdRaw, args.auditHashSalt)
279
+ : undefined;
280
+ const appUserSubjectHash = appUserSubjectRaw
281
+ ? await hashAuditIdentifier(appUserSubjectRaw, args.auditHashSalt)
282
+ : undefined;
283
+ const auditContext = {};
284
+ if (linkedProvider) {
285
+ auditContext.linkedProvider = linkedProvider;
286
+ }
287
+ if (providerUserIdHash) {
288
+ auditContext.providerUserIdHash = providerUserIdHash;
289
+ }
290
+ if (appUserSubjectHash) {
291
+ auditContext.appUserSubjectHash = appUserSubjectHash;
292
+ }
293
+ if (linkStatus) {
294
+ auditContext.linkStatus = linkStatus;
295
+ }
296
+ return auditContext;
297
+ }
298
+ async function hashAuditIdentifier(value, salt) {
299
+ const encoder = new TextEncoder();
300
+ const input = encoder.encode(`${salt}:${value}`);
301
+ const digest = await crypto.subtle.digest("SHA-256", input);
302
+ return Array.from(new Uint8Array(digest))
303
+ .map((byte) => byte.toString(16).padStart(2, "0"))
304
+ .join("");
305
+ }
258
306
  function resolveConfiguredServiceKeys(args) {
259
307
  if (args.serviceKeys) {
260
308
  return sanitizeServiceKeysMap(args.serviceKeys);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAgClD,MAAM,UAAU,uBAAuB,CACrC,MAAyB;IAEzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB,UAAU;IAC7D,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,SAAiB,UAAU;IAE3B,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACjD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;AAC9B,CAAC;AAYD,MAAM,UAAU,kBAAkB,CAChC,KAA+B;IAE/B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,MAAM,SAAS,GAAI,KAA6B,CAAC,KAAK,CAAC;QACvD,IACE,SAAS,KAAK,OAAO;YACrB,SAAS,KAAK,UAAU;YACxB,SAAS,KAAK,QAAQ,EACtB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAyB;IAEzB,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,mBAAmB,GAAiD,EAAE,CAAC;IAC7E,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,iBAAiB,GACrB,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAK,KAAgB,CAAC;QACnE,MAAM,GAAG,GAAG,iBAAiB;YAC3B,CAAC,CAAE,KAAuC,CAAC,GAAG;YAC9C,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,YAAY,GAAG,iBAAiB;YACpC,CAAC,CAAE,KAAuC,CAAC,IAAI;YAC/C,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,YAAY,IAAI,YAAY,CAAC;QAClD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,oCAAoC,WAAW,yDAAyD,CACzG,CAAC;QACJ,CAAC;QAED,mBAAmB,CAAC,WAAW,CAAC,GAAG;YACjC,GAAG;YACH,IAAI,EAAE,YAAY;YAClB,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;AAC5C,CAAC;AAcD,MAAM,UAAU,cAAc,CAC5B,IAAgB,EAChB,SAAuB,EACvB,YAA+B,EAC/B,OAA+B;IAE/B,MAAM,MAAM,GAAG,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC;IAC/C,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;QACzD,WAAW,EAAE,OAAO,EAAE,WAAW;QACjC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,gCAAgC;KAClF,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAClE,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAEtE,IAAI,CAAC,KAAK,CAAC;QACT,IAAI,EAAE,GAAG,MAAM,UAAU;QACzB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;YAChD,IAAI,IAAwB,CAAC;YAC7B,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,YAAY,CACjB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAC9C,GAAG,CACJ,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,YAAY,CACjB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qCAAqC,EAAE,EAChE,GAAG,CACJ,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,YAAY,CACjB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,WAAW,aAAa,EAAE,EAChE,GAAG,CACJ,CAAC;YACJ,CAAC;YAED,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;gBACpD,OAAO;gBACP,qBAAqB;aACtB,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC5B,OAAO,YAAY,CACjB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,EACjD,gBAAgB,CAAC,UAAU,CAC5B,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBAC5E,MAAM,EAAE,gBAAgB,CAAC,MAAM;gBAC/B,WAAW;gBACX,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,YAAY,CAC3B,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,EAC3C,UAAU,CAAC,UAAU,CACtB,CAAC;gBACF,IAAI,UAAU,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAClB,aAAa,EACb,MAAM,CAAC,UAAU,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAC7C,CAAC;gBACJ,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC7B,IAAI,MAAe,CAAC;gBACpB,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACjC,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CACzB,WAAW,CAAC,GAA8B,EAC1C,IAAI,CACL,CAAC;gBACJ,CAAC;qBAAM,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC3C,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAC5B,WAAW,CAAC,GAAiC,EAC7C,IAAI,CACL,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAC1B,WAAW,CAAC,GAA+B,EAC3C,IAAI,CACL,CAAC;gBACJ,CAAC;gBAED,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE;oBACjD,OAAO,EAAE,UAAU,CAAC,OAAgB;oBACpC,SAAS,EAAE,gBAAgB,CAAC,SAAS;oBACrC,WAAW;oBACX,IAAI;oBACJ,MAAM;oBACN,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,GAChB,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK;oBACtD,CAAC,CAAE,KAAK,CAAC,OAAkB;oBAC3B,CAAC,CAAC,eAAe,CAAC;gBAEtB,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE;oBACjD,OAAO,EAAE,UAAU,CAAC,OAAgB;oBACpC,SAAS,EAAE,gBAAgB,CAAC,SAAS;oBACrC,WAAW;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACrB,KAAK,EAAE,YAAY;oBACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC;QACT,IAAI,EAAE,GAAG,MAAM,YAAY;QAC3B,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC5D,WAAW;gBACX,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI;gBAClD,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,QAAQ;aAC3D,CAAC,CAAC,CAAC;YACJ,OAAO,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAgB,EAChB,SAAuB,EACvB,IAIC;IAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjE,OAAO,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,mBAAmB,EAAE;QACtE,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,qBAAqB;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAgB,EAChB,SAAuB,EACvB,IAOC;IAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjE,OAAO,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,oBAAoB,EAAE;QACvE,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,qBAAqB;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAyB;IAC/D,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,GAAG,CACnD,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,WAAW;QACX,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,QAAQ,EAAE,WAAW,CAAC,QAAQ;KAC/B,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAa,EAAE,MAAc;IACjD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CAAC,IAKrC;IAGC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC;IACzE,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;SAC5C,GAAG,CAAC,qBAAqB,CAAC;QAC3B,EAAE,IAAI,EAAE,CAAC;IACX,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IAE/D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,6CAA6C;YACpD,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,8CAA8C;YACrD,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,sCAAsC;YAC7C,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC;QACnC,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK;YACvC,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACjF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,uBAAuB,SAAS,EAAE;YACzC,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IACD,IAAI,kBAAkB,KAAK,kBAAkB,EAAE,CAAC;QAC9C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,qBAAqB;YAC5B,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI;QACX,SAAS;QACT,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,YAAY,GAAI,UAA6D;SAChF,OAAO,CAAC;IACX,MAAM,KAAK,GAAG,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,4BAA4B,CAAC,IAGrC;IAGC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,OAAO,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,0FAA0F,IAAI,CAAC,iBAAiB,EAAE;SAC1H,CAAC;IACJ,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,mBAAmB,IAAI,CAAC,iBAAiB,EAAE;SACnD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,wDAAwD;SACzF,CAAC;IACJ,CAAC;IAED,OAAO,sBAAsB,CAAC,MAAiC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAA8B;IAE9B,MAAM,eAAe,GAA2B,EAAE,CAAC;IACnD,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,kCAAkC,YAAY,GAAG;aACzD,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,8CAA8C;aACtD,CAAC;QACJ,CAAC;QACD,eAAe,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,6CAA6C;SACrD,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ export type TokenSource = "nextauth_convex" | "auth0" | "custom_oidc";
2
+ export type JwtAudience = string | Array<string>;
3
+ export interface JwtClaims {
4
+ sub?: string;
5
+ iss?: string;
6
+ aud?: JwtAudience;
7
+ exp?: number;
8
+ [key: string]: unknown;
9
+ }
10
+ export interface JwtClaimValidationOptions {
11
+ expectedIssuer?: string;
12
+ expectedAudience?: string;
13
+ nowMs?: number;
14
+ }
15
+ export interface JwtClaimValidationResult {
16
+ valid: boolean;
17
+ reason?: "malformed_token" | "expired" | "issuer_mismatch" | "audience_mismatch";
18
+ claims: JwtClaims | null;
19
+ }
20
+ export interface AgentBridgeStrictHeadersInput {
21
+ serviceId: string;
22
+ serviceKey: string;
23
+ appKey: string;
24
+ userToken?: string | null;
25
+ }
26
+ export interface NextAuthSessionLike {
27
+ convexToken?: string | null;
28
+ }
29
+ export type UserTokenResolver = () => Promise<string | null>;
30
+ export interface TokenSourceAdapter {
31
+ tokenSource: TokenSource;
32
+ resolveUserToken: UserTokenResolver;
33
+ }
34
+ export declare function buildAgentBridgeStrictHeaders(input: AgentBridgeStrictHeadersInput): Record<string, string>;
35
+ export declare function decodeJwtClaims(token: string): JwtClaims | null;
36
+ export declare function validateJwtClaims(token: string, options?: JwtClaimValidationOptions): JwtClaimValidationResult;
37
+ export declare function createNextAuthConvexTokenAdapter(args: {
38
+ getSession: () => Promise<NextAuthSessionLike | null | undefined>;
39
+ }): TokenSourceAdapter;
40
+ export declare function createAuth0TokenAdapter(args: {
41
+ getAccessToken: () => Promise<string | null | undefined>;
42
+ }): TokenSourceAdapter;
43
+ export declare function createCustomOidcTokenAdapter(args: {
44
+ getToken: () => Promise<string | null | undefined>;
45
+ }): TokenSourceAdapter;
46
+ export declare function resolveUserToken(adapter: TokenSourceAdapter): Promise<string | null>;
47
+ //# sourceMappingURL=userAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userAuth.d.ts","sourceRoot":"","sources":["../../src/client/userAuth.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,OAAO,GAAG,aAAa,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAEjD,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;IACjF,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,iBAAiB,CAAC;CACrC;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,6BAA6B,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAa/D;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,yBAAyB,GAClC,wBAAwB,CAiD1B;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE;IACrD,UAAU,EAAE,MAAM,OAAO,CAAC,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACnE,GAAG,kBAAkB,CAYrB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CAC1D,GAAG,kBAAkB,CAWrB;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACpD,GAAG,kBAAkB,CAWrB;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB"}
@@ -0,0 +1,122 @@
1
+ export function buildAgentBridgeStrictHeaders(input) {
2
+ const headers = {
3
+ "Content-Type": "application/json",
4
+ "X-Agent-Service-Id": input.serviceId,
5
+ "X-Agent-Service-Key": input.serviceKey,
6
+ "X-Agent-App": input.appKey,
7
+ };
8
+ if (input.userToken) {
9
+ headers.Authorization = `Bearer ${input.userToken}`;
10
+ }
11
+ return headers;
12
+ }
13
+ export function decodeJwtClaims(token) {
14
+ const parts = token.split(".");
15
+ if (parts.length !== 3 || !parts[1]) {
16
+ return null;
17
+ }
18
+ try {
19
+ const payload = decodeBase64Url(parts[1]);
20
+ const claims = JSON.parse(payload);
21
+ return claims;
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ }
27
+ export function validateJwtClaims(token, options) {
28
+ const claims = decodeJwtClaims(token);
29
+ if (!claims) {
30
+ return {
31
+ valid: false,
32
+ reason: "malformed_token",
33
+ claims: null,
34
+ };
35
+ }
36
+ const nowMs = options?.nowMs ?? Date.now();
37
+ if (typeof claims.exp === "number") {
38
+ const expiresAtMs = claims.exp * 1000;
39
+ if (expiresAtMs <= nowMs) {
40
+ return {
41
+ valid: false,
42
+ reason: "expired",
43
+ claims,
44
+ };
45
+ }
46
+ }
47
+ if (options?.expectedIssuer && claims.iss !== options.expectedIssuer) {
48
+ return {
49
+ valid: false,
50
+ reason: "issuer_mismatch",
51
+ claims,
52
+ };
53
+ }
54
+ if (options?.expectedAudience) {
55
+ const audience = claims.aud;
56
+ const hasAudienceMatch = Array.isArray(audience)
57
+ ? audience.includes(options.expectedAudience)
58
+ : audience === options.expectedAudience;
59
+ if (!hasAudienceMatch) {
60
+ return {
61
+ valid: false,
62
+ reason: "audience_mismatch",
63
+ claims,
64
+ };
65
+ }
66
+ }
67
+ return {
68
+ valid: true,
69
+ claims,
70
+ };
71
+ }
72
+ export function createNextAuthConvexTokenAdapter(args) {
73
+ return {
74
+ tokenSource: "nextauth_convex",
75
+ resolveUserToken: async () => {
76
+ const session = await args.getSession();
77
+ const token = session?.convexToken;
78
+ if (typeof token !== "string" || token.trim().length === 0) {
79
+ return null;
80
+ }
81
+ return token;
82
+ },
83
+ };
84
+ }
85
+ export function createAuth0TokenAdapter(args) {
86
+ return {
87
+ tokenSource: "auth0",
88
+ resolveUserToken: async () => {
89
+ const token = await args.getAccessToken();
90
+ if (typeof token !== "string" || token.trim().length === 0) {
91
+ return null;
92
+ }
93
+ return token;
94
+ },
95
+ };
96
+ }
97
+ export function createCustomOidcTokenAdapter(args) {
98
+ return {
99
+ tokenSource: "custom_oidc",
100
+ resolveUserToken: async () => {
101
+ const token = await args.getToken();
102
+ if (typeof token !== "string" || token.trim().length === 0) {
103
+ return null;
104
+ }
105
+ return token;
106
+ },
107
+ };
108
+ }
109
+ export async function resolveUserToken(adapter) {
110
+ return await adapter.resolveUserToken();
111
+ }
112
+ function decodeBase64Url(value) {
113
+ const normalized = value.replace(/-/g, "+").replace(/_/g, "/");
114
+ const paddingLength = (4 - (normalized.length % 4)) % 4;
115
+ const padded = normalized + "=".repeat(paddingLength);
116
+ if (typeof atob === "function") {
117
+ return atob(padded);
118
+ }
119
+ const buffer = Buffer.from(padded, "base64");
120
+ return buffer.toString("utf-8");
121
+ }
122
+ //# sourceMappingURL=userAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userAuth.js","sourceRoot":"","sources":["../../src/client/userAuth.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,14 @@
9
9
  import type * as agentBridgeUtils from "../agentBridgeUtils.js";
10
10
  import type * as agents from "../agents.js";
11
11
  import type * as gateway from "../gateway.js";
12
+ import type * as linking from "../linking.js";
12
13
  import type * as permissions from "../permissions.js";
13
14
  import type { ApiFromModules, FilterApi, FunctionReference } from "convex/server";
14
15
  declare const fullApi: ApiFromModules<{
15
16
  agentBridgeUtils: typeof agentBridgeUtils;
16
17
  agents: typeof agents;
17
18
  gateway: typeof gateway;
19
+ linking: typeof linking;
18
20
  permissions: typeof permissions;
19
21
  }>;
20
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,QAAA,MAAM,OAAO,EAAE,cAAc,CAAC;IAC5B,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,WAAW,CAAC;CACjC,CAAiB,CAAC;AAEnB;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE,SAAS,CACzB,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CACjB,CAAC;AAElB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAC9B,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CACnB,CAAC;AAElB,eAAO,MAAM,UAAU,EAAqC,EAAE,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,QAAA,MAAM,OAAO,EAAE,cAAc,CAAC;IAC5B,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,WAAW,CAAC;CACjC,CAAiB,CAAC;AAEnB;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE,SAAS,CACzB,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CACjB,CAAC;AAElB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAC9B,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CACnB,CAAC;AAElB,eAAO,MAAM,UAAU,EAAqC,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG;AAYH,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,OAAO,GAKR,MAAa,CAAC;AAEnB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,GAAG,GAGZ,MAAa,CAAC;AAElB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAGjB,MAAa,CAAC;AAElB,MAAM,CAAC,MAAM,UAAU,GAAG,iBAAiB,EAAmB,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG;AAaH,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,OAAO,GAMR,MAAa,CAAC;AAEnB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,GAAG,GAGZ,MAAa,CAAC;AAElB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAGjB,MAAa,CAAC;AAElB,MAAM,CAAC,MAAM,UAAU,GAAG,iBAAiB,EAAmB,CAAC"}
@@ -81,10 +81,16 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
81
81
  }, Name>;
82
82
  logAccess: FunctionReference<"mutation", "internal", {
83
83
  agentId: string;
84
+ appUserSubjectHash?: string;
84
85
  args: any;
85
86
  duration: number;
86
87
  error?: string;
88
+ errorCode?: string;
87
89
  functionKey: string;
90
+ linkStatus?: string;
91
+ linkedProvider?: string;
92
+ providerUserIdHash?: string;
93
+ rateLimited?: boolean;
88
94
  result?: any;
89
95
  serviceId?: string;
90
96
  timestamp: number;
@@ -97,15 +103,101 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
97
103
  }, Array<{
98
104
  _id: string;
99
105
  agentId: string;
106
+ appUserSubjectHash?: string;
100
107
  args: any;
101
108
  duration: number;
102
109
  error?: string;
110
+ errorCode?: string;
103
111
  functionKey: string;
112
+ linkStatus?: string;
113
+ linkedProvider?: string;
114
+ providerUserIdHash?: string;
115
+ rateLimited?: boolean;
104
116
  result?: any;
105
117
  serviceId?: string;
106
118
  timestamp: number;
107
119
  }>, Name>;
108
120
  };
121
+ linking: {
122
+ listLinks: FunctionReference<"query", "internal", {
123
+ appKey?: string;
124
+ limit?: number;
125
+ provider?: string;
126
+ status?: "active" | "revoked" | "expired";
127
+ }, Array<{
128
+ _id: string;
129
+ appKey: string;
130
+ appUserSubject: string;
131
+ createdAt: number;
132
+ expiresAt?: number;
133
+ lastUsedAt?: number;
134
+ metadata?: any;
135
+ provider: string;
136
+ providerUserId: string;
137
+ refreshTokenCiphertext?: string;
138
+ refreshTokenExpiresAt?: number;
139
+ revokedAt?: number;
140
+ status: "active" | "revoked" | "expired";
141
+ tokenVersion?: number;
142
+ updatedAt: number;
143
+ }>, Name>;
144
+ resolveLink: FunctionReference<"mutation", "internal", {
145
+ appKey: string;
146
+ extendExpiryDaysOnUse?: number;
147
+ maxRequestsPerWindow?: number;
148
+ provider: string;
149
+ providerUserId: string;
150
+ windowSeconds?: number;
151
+ }, {
152
+ link: {
153
+ _id: string;
154
+ appKey: string;
155
+ appUserSubject: string;
156
+ createdAt: number;
157
+ expiresAt?: number;
158
+ lastUsedAt?: number;
159
+ metadata?: any;
160
+ provider: string;
161
+ providerUserId: string;
162
+ refreshTokenCiphertext?: string;
163
+ refreshTokenExpiresAt?: number;
164
+ revokedAt?: number;
165
+ status: "active" | "revoked" | "expired";
166
+ tokenVersion?: number;
167
+ updatedAt: number;
168
+ };
169
+ ok: true;
170
+ } | {
171
+ errorCode: "link_not_found" | "link_revoked" | "link_expired" | "link_rate_limited";
172
+ ok: false;
173
+ retryAfterSeconds?: number;
174
+ statusCode: number;
175
+ }, Name>;
176
+ revokeLink: FunctionReference<"mutation", "internal", {
177
+ appKey?: string;
178
+ linkId?: string;
179
+ provider?: string;
180
+ providerUserId?: string;
181
+ }, {
182
+ linkId?: string;
183
+ revoked: boolean;
184
+ }, Name>;
185
+ upsertLink: FunctionReference<"mutation", "internal", {
186
+ appKey: string;
187
+ appUserSubject: string;
188
+ expiresInDays?: number;
189
+ metadata?: any;
190
+ provider: string;
191
+ providerUserId: string;
192
+ refreshTokenCiphertext?: string;
193
+ refreshTokenExpiresAt?: number;
194
+ tokenVersion?: number;
195
+ }, {
196
+ created: boolean;
197
+ expiresAt?: number;
198
+ linkId: string;
199
+ }, Name>;
200
+ };
109
201
  permissions: {
110
202
  listAgentPermissions: FunctionReference<"query", "internal", {
111
203
  agentId: string;