@okrlinkhub/agent-bridge 0.1.0

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 (70) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +183 -0
  3. package/dist/client/_generated/_ignore.d.ts +1 -0
  4. package/dist/client/_generated/_ignore.d.ts.map +1 -0
  5. package/dist/client/_generated/_ignore.js +3 -0
  6. package/dist/client/_generated/_ignore.js.map +1 -0
  7. package/dist/client/index.d.ts +184 -0
  8. package/dist/client/index.d.ts.map +1 -0
  9. package/dist/client/index.js +312 -0
  10. package/dist/client/index.js.map +1 -0
  11. package/dist/component/_generated/api.d.ts +40 -0
  12. package/dist/component/_generated/api.d.ts.map +1 -0
  13. package/dist/component/_generated/api.js +31 -0
  14. package/dist/component/_generated/api.js.map +1 -0
  15. package/dist/component/_generated/component.d.ts +224 -0
  16. package/dist/component/_generated/component.d.ts.map +1 -0
  17. package/dist/component/_generated/component.js +11 -0
  18. package/dist/component/_generated/component.js.map +1 -0
  19. package/dist/component/_generated/dataModel.d.ts +46 -0
  20. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  21. package/dist/component/_generated/dataModel.js +11 -0
  22. package/dist/component/_generated/dataModel.js.map +1 -0
  23. package/dist/component/_generated/server.d.ts +121 -0
  24. package/dist/component/_generated/server.d.ts.map +1 -0
  25. package/dist/component/_generated/server.js +78 -0
  26. package/dist/component/_generated/server.js.map +1 -0
  27. package/dist/component/convex.config.d.ts +3 -0
  28. package/dist/component/convex.config.d.ts.map +1 -0
  29. package/dist/component/convex.config.js +3 -0
  30. package/dist/component/convex.config.js.map +1 -0
  31. package/dist/component/gateway.d.ts +87 -0
  32. package/dist/component/gateway.d.ts.map +1 -0
  33. package/dist/component/gateway.js +231 -0
  34. package/dist/component/gateway.js.map +1 -0
  35. package/dist/component/permissions.d.ts +93 -0
  36. package/dist/component/permissions.d.ts.map +1 -0
  37. package/dist/component/permissions.js +241 -0
  38. package/dist/component/permissions.js.map +1 -0
  39. package/dist/component/provisioning.d.ts +87 -0
  40. package/dist/component/provisioning.d.ts.map +1 -0
  41. package/dist/component/provisioning.js +343 -0
  42. package/dist/component/provisioning.js.map +1 -0
  43. package/dist/component/registry.d.ts +46 -0
  44. package/dist/component/registry.d.ts.map +1 -0
  45. package/dist/component/registry.js +121 -0
  46. package/dist/component/registry.js.map +1 -0
  47. package/dist/component/schema.d.ts +176 -0
  48. package/dist/component/schema.d.ts.map +1 -0
  49. package/dist/component/schema.js +92 -0
  50. package/dist/component/schema.js.map +1 -0
  51. package/dist/react/index.d.ts +3 -0
  52. package/dist/react/index.d.ts.map +1 -0
  53. package/dist/react/index.js +5 -0
  54. package/dist/react/index.js.map +1 -0
  55. package/package.json +103 -0
  56. package/src/client/_generated/_ignore.ts +1 -0
  57. package/src/client/index.ts +481 -0
  58. package/src/client/setup.test.ts +26 -0
  59. package/src/component/_generated/api.ts +56 -0
  60. package/src/component/_generated/component.ts +281 -0
  61. package/src/component/_generated/dataModel.ts +60 -0
  62. package/src/component/_generated/server.ts +156 -0
  63. package/src/component/convex.config.ts +3 -0
  64. package/src/component/gateway.ts +282 -0
  65. package/src/component/permissions.ts +321 -0
  66. package/src/component/provisioning.ts +402 -0
  67. package/src/component/registry.ts +152 -0
  68. package/src/component/schema.ts +116 -0
  69. package/src/react/index.ts +11 -0
  70. package/src/test.ts +18 -0
@@ -0,0 +1,312 @@
1
+ import { httpActionGeneric } from "convex/server";
2
+ // --- AgentBridge Client Class ---
3
+ /**
4
+ * Client class that wraps component calls for ergonomic use in the host app.
5
+ *
6
+ * Usage:
7
+ * ```ts
8
+ * import { AgentBridge } from "@okrlinkhub/agent-bridge";
9
+ * import { components } from "./_generated/api";
10
+ *
11
+ * const bridge = new AgentBridge(components.agentBridge, { appName: "okr" });
12
+ * ```
13
+ */
14
+ export class AgentBridge {
15
+ component;
16
+ appName;
17
+ defaultPermissions;
18
+ constructor(component, config) {
19
+ this.component = component;
20
+ this.appName = config.appName;
21
+ this.defaultPermissions = config.defaultPermissions ?? [
22
+ { pattern: "*", permission: "deny" },
23
+ ];
24
+ }
25
+ /**
26
+ * Initialize the component configuration.
27
+ * Should be called once during app setup (e.g. in a seed/setup mutation).
28
+ */
29
+ async configure(ctx) {
30
+ await ctx.runMutation(this.component.provisioning.configure, {
31
+ appName: this.appName,
32
+ defaultPermissions: this.defaultPermissions,
33
+ });
34
+ }
35
+ /**
36
+ * Register a function that agents can call.
37
+ * The host app must create the function handle via createFunctionHandle().
38
+ */
39
+ async registerFunction(ctx, fn) {
40
+ return await ctx.runMutation(this.component.registry.register, {
41
+ appName: this.appName,
42
+ functionName: fn.name,
43
+ functionHandle: fn.handle,
44
+ functionType: fn.type,
45
+ description: fn.description,
46
+ });
47
+ }
48
+ /**
49
+ * Register multiple functions in bulk.
50
+ */
51
+ async registerFunctions(ctx, functions) {
52
+ const ids = [];
53
+ for (const fn of functions) {
54
+ const id = await this.registerFunction(ctx, fn);
55
+ ids.push(id);
56
+ }
57
+ return ids;
58
+ }
59
+ /**
60
+ * Unregister a function.
61
+ */
62
+ async unregisterFunction(ctx, functionName) {
63
+ return await ctx.runMutation(this.component.registry.unregister, {
64
+ appName: this.appName,
65
+ functionName,
66
+ });
67
+ }
68
+ /**
69
+ * List all registered functions for this app.
70
+ */
71
+ async listFunctions(ctx) {
72
+ return await ctx.runQuery(this.component.registry.listFunctions, {
73
+ appName: this.appName,
74
+ });
75
+ }
76
+ /**
77
+ * Generate a provisioning token (admin operation).
78
+ * Returns the plaintext token -- store/communicate securely!
79
+ */
80
+ async generateProvisioningToken(ctx, opts) {
81
+ return await ctx.runMutation(this.component.provisioning.generateProvisioningToken, opts);
82
+ }
83
+ /**
84
+ * List all registered agents.
85
+ */
86
+ async listAgents(ctx, activeOnly) {
87
+ return await ctx.runQuery(this.component.provisioning.listAgents, {
88
+ activeOnly,
89
+ });
90
+ }
91
+ /**
92
+ * Revoke an agent globally.
93
+ */
94
+ async revokeAgent(ctx, opts) {
95
+ return await ctx.runMutation(this.component.provisioning.revokeAgent, opts);
96
+ }
97
+ /**
98
+ * Revoke a specific app instance for an agent.
99
+ */
100
+ async revokeAppInstance(ctx, opts) {
101
+ return await ctx.runMutation(this.component.provisioning.revokeAppInstance, {
102
+ agentId: opts.agentId,
103
+ appName: this.appName,
104
+ });
105
+ }
106
+ /**
107
+ * Set a permission for an agent.
108
+ */
109
+ async setPermission(ctx, opts) {
110
+ return await ctx.runMutation(this.component.permissions.setPermission, {
111
+ agentId: opts.agentId,
112
+ appName: this.appName,
113
+ functionPattern: opts.functionPattern,
114
+ permission: opts.permission,
115
+ rateLimitConfig: opts.rateLimitConfig,
116
+ createdBy: opts.createdBy,
117
+ });
118
+ }
119
+ /**
120
+ * Remove a permission for an agent.
121
+ */
122
+ async removePermission(ctx, opts) {
123
+ return await ctx.runMutation(this.component.permissions.removePermission, {
124
+ agentId: opts.agentId,
125
+ appName: this.appName,
126
+ functionPattern: opts.functionPattern,
127
+ });
128
+ }
129
+ /**
130
+ * List permissions for an agent on this app.
131
+ */
132
+ async listPermissions(ctx, agentId) {
133
+ return await ctx.runQuery(this.component.permissions.listPermissions, {
134
+ agentId,
135
+ appName: this.appName,
136
+ });
137
+ }
138
+ /**
139
+ * Query access logs.
140
+ */
141
+ async queryAccessLog(ctx, opts) {
142
+ return await ctx.runQuery(this.component.gateway.queryAccessLog, {
143
+ agentId: opts?.agentId,
144
+ appName: this.appName,
145
+ limit: opts?.limit,
146
+ });
147
+ }
148
+ }
149
+ // --- HTTP Route Registration ---
150
+ /**
151
+ * Register HTTP routes for the agent bridge component.
152
+ * This exposes endpoints that OpenClaw agents call to execute functions,
153
+ * provision themselves, and check health.
154
+ *
155
+ * Must be called in the host app's `convex/http.ts` file.
156
+ *
157
+ * @example
158
+ * ```ts
159
+ * import { httpRouter } from "convex/server";
160
+ * import { registerRoutes } from "@okrlinkhub/agent-bridge";
161
+ * import { components } from "./_generated/api";
162
+ *
163
+ * const http = httpRouter();
164
+ * registerRoutes(http, components.agentBridge, { appName: "okr" });
165
+ * export default http;
166
+ * ```
167
+ */
168
+ export function registerRoutes(http, component, config) {
169
+ const prefix = config.pathPrefix ?? "/agent-bridge";
170
+ // --- POST /agent-bridge/execute ---
171
+ // Gateway: execute a registered function on behalf of an agent
172
+ http.route({
173
+ path: `${prefix}/execute`,
174
+ method: "POST",
175
+ handler: httpActionGeneric(async (ctx, request) => {
176
+ let body;
177
+ try {
178
+ body = await request.json();
179
+ }
180
+ catch {
181
+ return jsonResponse({ error: "Invalid JSON body" }, 400);
182
+ }
183
+ const { instanceToken, functionName, args } = body;
184
+ if (!instanceToken || !functionName) {
185
+ return jsonResponse({ error: "Missing required fields: instanceToken, functionName" }, 400);
186
+ }
187
+ // Step 1: Authorize the request (mutation -- validates token, checks permissions,
188
+ // updates counters, returns function handle)
189
+ const authResult = await ctx.runMutation(component.gateway.authorizeRequest, {
190
+ instanceToken,
191
+ functionName,
192
+ appName: config.appName,
193
+ });
194
+ if (!authResult.authorized) {
195
+ const detailSuffix = authResult.matchedPattern && authResult.matchedPermission
196
+ ? ` (matchedPattern="${authResult.matchedPattern}", permission="${authResult.matchedPermission}")`
197
+ : "";
198
+ // Log the denied access
199
+ await ctx.runMutation(component.gateway.logAccess, {
200
+ agentId: authResult.agentId ?? "unknown",
201
+ appName: config.appName,
202
+ functionCalled: functionName,
203
+ permission: "deny",
204
+ errorMessage: authResult.error + detailSuffix,
205
+ });
206
+ return jsonResponse({ error: authResult.error }, authResult.statusCode);
207
+ }
208
+ // Step 2: Execute the function via the registered handle
209
+ const startTime = Date.now();
210
+ try {
211
+ let result;
212
+ switch (authResult.functionType) {
213
+ case "query":
214
+ result = await ctx.runQuery(authResult.functionHandle, args ?? {});
215
+ break;
216
+ case "mutation":
217
+ result = await ctx.runMutation(authResult.functionHandle, args ?? {});
218
+ break;
219
+ case "action":
220
+ result = await ctx.runAction(authResult.functionHandle, args ?? {});
221
+ break;
222
+ }
223
+ const durationMs = Date.now() - startTime;
224
+ // Step 3: Log successful access
225
+ await ctx.runMutation(component.gateway.logAccess, {
226
+ agentId: authResult.agentId,
227
+ appName: config.appName,
228
+ functionCalled: functionName,
229
+ permission: "allow",
230
+ durationMs,
231
+ });
232
+ return jsonResponse({ result, durationMs }, 200);
233
+ }
234
+ catch (error) {
235
+ const durationMs = Date.now() - startTime;
236
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
237
+ // Log the failed execution
238
+ await ctx.runMutation(component.gateway.logAccess, {
239
+ agentId: authResult.agentId,
240
+ appName: config.appName,
241
+ functionCalled: functionName,
242
+ permission: "allow",
243
+ errorMessage,
244
+ durationMs,
245
+ });
246
+ return jsonResponse({ error: errorMessage }, 500);
247
+ }
248
+ }),
249
+ });
250
+ // --- POST /agent-bridge/provision ---
251
+ // Agent self-provisioning endpoint
252
+ http.route({
253
+ path: `${prefix}/provision`,
254
+ method: "POST",
255
+ handler: httpActionGeneric(async (ctx, request) => {
256
+ let body;
257
+ try {
258
+ body = await request.json();
259
+ }
260
+ catch {
261
+ return jsonResponse({ error: "Invalid JSON body" }, 400);
262
+ }
263
+ const { provisioningToken } = body;
264
+ if (!provisioningToken) {
265
+ return jsonResponse({ error: "Missing required field: provisioningToken" }, 400);
266
+ }
267
+ try {
268
+ const result = await ctx.runMutation(component.provisioning.provisionAgent, {
269
+ provisioningToken,
270
+ appName: config.appName,
271
+ });
272
+ return jsonResponse(result, 200);
273
+ }
274
+ catch (error) {
275
+ const errorMessage = error instanceof Error ? error.message : "Provisioning failed";
276
+ return jsonResponse({ error: errorMessage }, 400);
277
+ }
278
+ }),
279
+ });
280
+ // --- GET /agent-bridge/health ---
281
+ // Health check endpoint
282
+ http.route({
283
+ path: `${prefix}/health`,
284
+ method: "GET",
285
+ handler: httpActionGeneric(async (ctx) => {
286
+ try {
287
+ const functions = await ctx.runQuery(component.registry.listFunctions, { appName: config.appName });
288
+ return jsonResponse({
289
+ status: "ok",
290
+ appName: config.appName,
291
+ registeredFunctions: functions.length,
292
+ timestamp: Date.now(),
293
+ }, 200);
294
+ }
295
+ catch {
296
+ return jsonResponse({
297
+ status: "error",
298
+ appName: config.appName,
299
+ timestamp: Date.now(),
300
+ }, 500);
301
+ }
302
+ }),
303
+ });
304
+ }
305
+ // --- Helper ---
306
+ function jsonResponse(data, status) {
307
+ return new Response(JSON.stringify(data), {
308
+ status,
309
+ headers: { "Content-Type": "application/json" },
310
+ });
311
+ }
312
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Generated `api` utility.
3
+ *
4
+ * THIS CODE IS AUTOMATICALLY GENERATED.
5
+ *
6
+ * To regenerate, run `npx convex dev`.
7
+ * @module
8
+ */
9
+ import type * as gateway from "../gateway.js";
10
+ import type * as permissions from "../permissions.js";
11
+ import type * as provisioning from "../provisioning.js";
12
+ import type * as registry from "../registry.js";
13
+ import type { ApiFromModules, FilterApi, FunctionReference } from "convex/server";
14
+ declare const fullApi: ApiFromModules<{
15
+ gateway: typeof gateway;
16
+ permissions: typeof permissions;
17
+ provisioning: typeof provisioning;
18
+ registry: typeof registry;
19
+ }>;
20
+ /**
21
+ * A utility for referencing Convex functions in your app's public API.
22
+ *
23
+ * Usage:
24
+ * ```js
25
+ * const myFunctionReference = api.myModule.myFunction;
26
+ * ```
27
+ */
28
+ export declare const api: FilterApi<typeof fullApi, FunctionReference<any, "public">>;
29
+ /**
30
+ * A utility for referencing Convex functions in your app's internal API.
31
+ *
32
+ * Usage:
33
+ * ```js
34
+ * const myFunctionReference = internal.myModule.myFunction;
35
+ * ```
36
+ */
37
+ export declare const internal: FilterApi<typeof fullApi, FunctionReference<any, "internal">>;
38
+ export declare const components: {};
39
+ export {};
40
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,QAAA,MAAM,OAAO,EAAE,cAAc,CAAC;IAC5B,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,QAAQ,EAAE,OAAO,QAAQ,CAAC;CAC3B,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"}
@@ -0,0 +1,31 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * Generated `api` utility.
4
+ *
5
+ * THIS CODE IS AUTOMATICALLY GENERATED.
6
+ *
7
+ * To regenerate, run `npx convex dev`.
8
+ * @module
9
+ */
10
+ import { anyApi, componentsGeneric } from "convex/server";
11
+ const fullApi = anyApi;
12
+ /**
13
+ * A utility for referencing Convex functions in your app's public API.
14
+ *
15
+ * Usage:
16
+ * ```js
17
+ * const myFunctionReference = api.myModule.myFunction;
18
+ * ```
19
+ */
20
+ export const api = anyApi;
21
+ /**
22
+ * A utility for referencing Convex functions in your app's internal API.
23
+ *
24
+ * Usage:
25
+ * ```js
26
+ * const myFunctionReference = internal.myModule.myFunction;
27
+ * ```
28
+ */
29
+ export const internal = anyApi;
30
+ export const components = componentsGeneric();
31
+ //# sourceMappingURL=api.js.map
@@ -0,0 +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"}
@@ -0,0 +1,224 @@
1
+ /**
2
+ * Generated `ComponentApi` utility.
3
+ *
4
+ * THIS CODE IS AUTOMATICALLY GENERATED.
5
+ *
6
+ * To regenerate, run `npx convex dev`.
7
+ * @module
8
+ */
9
+ import type { FunctionReference } from "convex/server";
10
+ /**
11
+ * A utility for referencing a Convex component's exposed API.
12
+ *
13
+ * Useful when expecting a parameter like `components.myComponent`.
14
+ * Usage:
15
+ * ```ts
16
+ * async function myFunction(ctx: QueryCtx, component: ComponentApi) {
17
+ * return ctx.runQuery(component.someFile.someQuery, { ...args });
18
+ * }
19
+ * ```
20
+ */
21
+ export type ComponentApi<Name extends string | undefined = string | undefined> = {
22
+ gateway: {
23
+ authorizeRequest: FunctionReference<"mutation", "internal", {
24
+ appName: string;
25
+ functionName: string;
26
+ instanceToken: string;
27
+ }, {
28
+ agentId: string;
29
+ appName: string;
30
+ authorized: true;
31
+ functionHandle: string;
32
+ functionType: "query" | "mutation" | "action";
33
+ } | {
34
+ agentId?: string;
35
+ authorized: false;
36
+ error: string;
37
+ matchedPattern?: string;
38
+ matchedPermission?: "allow" | "deny" | "rate_limited";
39
+ statusCode: number;
40
+ }, Name>;
41
+ logAccess: FunctionReference<"mutation", "internal", {
42
+ agentId: string;
43
+ appName: string;
44
+ durationMs?: number;
45
+ errorMessage?: string;
46
+ functionCalled: string;
47
+ permission: string;
48
+ }, null, Name>;
49
+ queryAccessLog: FunctionReference<"query", "internal", {
50
+ agentId?: string;
51
+ appName?: string;
52
+ limit?: number;
53
+ }, Array<{
54
+ agentId: string;
55
+ appName: string;
56
+ durationMs?: number;
57
+ errorMessage?: string;
58
+ functionCalled: string;
59
+ permission: string;
60
+ timestamp: number;
61
+ }>, Name>;
62
+ };
63
+ permissions: {
64
+ checkPermission: FunctionReference<"query", "internal", {
65
+ agentId: string;
66
+ appName: string;
67
+ functionName: string;
68
+ }, {
69
+ matchedPattern?: string;
70
+ permission: "allow" | "deny" | "rate_limited";
71
+ rateLimitConfig?: {
72
+ requestsPerHour: number;
73
+ tokenBudget: number;
74
+ };
75
+ }, Name>;
76
+ clearPermissions: FunctionReference<"mutation", "internal", {
77
+ agentId: string;
78
+ appName: string;
79
+ }, number, Name>;
80
+ debugMatchPermission: FunctionReference<"query", "internal", {
81
+ agentId: string;
82
+ appName: string;
83
+ functionName: string;
84
+ }, {
85
+ bestMatch?: {
86
+ functionPattern: string;
87
+ permission: "allow" | "deny" | "rate_limited";
88
+ specificity: number;
89
+ };
90
+ functionName: string;
91
+ matches: Array<{
92
+ functionPattern: string;
93
+ permission: "allow" | "deny" | "rate_limited";
94
+ specificity: number;
95
+ }>;
96
+ permissions: Array<{
97
+ functionPattern: string;
98
+ permission: "allow" | "deny" | "rate_limited";
99
+ specificity: number;
100
+ }>;
101
+ }, Name>;
102
+ listPermissions: FunctionReference<"query", "internal", {
103
+ agentId: string;
104
+ appName: string;
105
+ }, Array<{
106
+ createdAt: number;
107
+ createdBy: string;
108
+ functionPattern: string;
109
+ permission: "allow" | "deny" | "rate_limited";
110
+ rateLimitConfig?: {
111
+ requestsPerHour: number;
112
+ tokenBudget: number;
113
+ };
114
+ }>, Name>;
115
+ removePermission: FunctionReference<"mutation", "internal", {
116
+ agentId: string;
117
+ appName: string;
118
+ functionPattern: string;
119
+ }, boolean, Name>;
120
+ setPermission: FunctionReference<"mutation", "internal", {
121
+ agentId: string;
122
+ appName: string;
123
+ createdBy: string;
124
+ functionPattern: string;
125
+ permission: "allow" | "deny" | "rate_limited";
126
+ rateLimitConfig?: {
127
+ requestsPerHour: number;
128
+ tokenBudget: number;
129
+ };
130
+ }, string, Name>;
131
+ };
132
+ provisioning: {
133
+ configure: FunctionReference<"mutation", "internal", {
134
+ appName: string;
135
+ defaultPermissions: Array<{
136
+ pattern: string;
137
+ permission: "allow" | "deny" | "rate_limited";
138
+ rateLimitConfig?: {
139
+ requestsPerHour: number;
140
+ tokenBudget: number;
141
+ };
142
+ }>;
143
+ }, null, Name>;
144
+ generateProvisioningToken: FunctionReference<"mutation", "internal", {
145
+ createdBy: string;
146
+ department: string;
147
+ employeeEmail: string;
148
+ expiresInDays?: number;
149
+ maxApps?: number;
150
+ }, {
151
+ expiresAt: number;
152
+ token: string;
153
+ }, Name>;
154
+ listAgents: FunctionReference<"query", "internal", {
155
+ activeOnly?: boolean;
156
+ }, Array<{
157
+ agentId: string;
158
+ department: string;
159
+ employeeEmail: string;
160
+ firstRegisteredAt: number;
161
+ isActive: boolean;
162
+ lastSeenAt: number;
163
+ revokedAt?: number;
164
+ revokedBy?: string;
165
+ }>, Name>;
166
+ provisionAgent: FunctionReference<"mutation", "internal", {
167
+ appName: string;
168
+ provisioningToken: string;
169
+ }, {
170
+ agentId: string;
171
+ appName: string;
172
+ expiresAt: number;
173
+ instanceToken: string;
174
+ message: string;
175
+ }, Name>;
176
+ refreshInstanceToken: FunctionReference<"mutation", "internal", {
177
+ agentId: string;
178
+ appName: string;
179
+ currentTokenHash: string;
180
+ }, {
181
+ expiresAt: number;
182
+ instanceToken: string;
183
+ }, Name>;
184
+ revokeAgent: FunctionReference<"mutation", "internal", {
185
+ agentId: string;
186
+ revokedBy: string;
187
+ }, boolean, Name>;
188
+ revokeAppInstance: FunctionReference<"mutation", "internal", {
189
+ agentId: string;
190
+ appName: string;
191
+ }, boolean, Name>;
192
+ };
193
+ registry: {
194
+ getHandle: FunctionReference<"query", "internal", {
195
+ appName: string;
196
+ functionName: string;
197
+ }, null | {
198
+ description?: string;
199
+ functionHandle: string;
200
+ functionName: string;
201
+ functionType: "query" | "mutation" | "action";
202
+ }, Name>;
203
+ listFunctions: FunctionReference<"query", "internal", {
204
+ appName: string;
205
+ }, Array<{
206
+ description?: string;
207
+ functionName: string;
208
+ functionType: "query" | "mutation" | "action";
209
+ registeredAt: number;
210
+ }>, Name>;
211
+ register: FunctionReference<"mutation", "internal", {
212
+ appName: string;
213
+ description?: string;
214
+ functionHandle: string;
215
+ functionName: string;
216
+ functionType: "query" | "mutation" | "action";
217
+ }, string, Name>;
218
+ unregister: FunctionReference<"mutation", "internal", {
219
+ appName: string;
220
+ functionName: string;
221
+ }, boolean, Name>;
222
+ };
223
+ };
224
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * Generated `ComponentApi` utility.
4
+ *
5
+ * THIS CODE IS AUTOMATICALLY GENERATED.
6
+ *
7
+ * To regenerate, run `npx convex dev`.
8
+ * @module
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/component/_generated/component.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG"}