@okrlinkhub/agent-bridge 0.2.0 → 2.0.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.
Files changed (70) hide show
  1. package/README.md +132 -122
  2. package/dist/cli/init.d.ts +3 -0
  3. package/dist/cli/init.d.ts.map +1 -0
  4. package/dist/cli/init.js +108 -0
  5. package/dist/cli/init.js.map +1 -0
  6. package/dist/client/index.d.ts +54 -262
  7. package/dist/client/index.d.ts.map +1 -1
  8. package/dist/client/index.js +188 -539
  9. package/dist/client/index.js.map +1 -1
  10. package/dist/component/_generated/api.d.ts +4 -8
  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 +75 -257
  14. package/dist/component/_generated/component.d.ts.map +1 -1
  15. package/dist/component/agentBridgeUtils.d.ts +9 -0
  16. package/dist/component/agentBridgeUtils.d.ts.map +1 -0
  17. package/dist/component/agentBridgeUtils.js +36 -0
  18. package/dist/component/agentBridgeUtils.js.map +1 -0
  19. package/dist/component/agents.d.ts +30 -0
  20. package/dist/component/agents.d.ts.map +1 -0
  21. package/dist/component/agents.js +124 -0
  22. package/dist/component/agents.js.map +1 -0
  23. package/dist/component/gateway.d.ts +46 -51
  24. package/dist/component/gateway.d.ts.map +1 -1
  25. package/dist/component/gateway.js +176 -227
  26. package/dist/component/gateway.js.map +1 -1
  27. package/dist/component/permissions.d.ts +30 -84
  28. package/dist/component/permissions.d.ts.map +1 -1
  29. package/dist/component/permissions.js +80 -203
  30. package/dist/component/permissions.js.map +1 -1
  31. package/dist/component/schema.d.ts +58 -223
  32. package/dist/component/schema.d.ts.map +1 -1
  33. package/dist/component/schema.js +32 -126
  34. package/dist/component/schema.js.map +1 -1
  35. package/dist/react/index.d.ts +2 -2
  36. package/dist/react/index.d.ts.map +1 -1
  37. package/dist/react/index.js +2 -3
  38. package/dist/react/index.js.map +1 -1
  39. package/package.json +3 -2
  40. package/src/cli/init.ts +124 -0
  41. package/src/client/index.test.ts +147 -0
  42. package/src/client/index.ts +310 -790
  43. package/src/component/_generated/api.ts +4 -8
  44. package/src/component/_generated/component.ts +75 -310
  45. package/src/component/agentBridgeUtils.ts +56 -0
  46. package/src/component/agents.ts +138 -0
  47. package/src/component/gateway.ts +213 -279
  48. package/src/component/permissions.ts +89 -259
  49. package/src/component/schema.ts +34 -146
  50. package/src/react/index.ts +5 -6
  51. package/dist/component/channels.d.ts +0 -83
  52. package/dist/component/channels.d.ts.map +0 -1
  53. package/dist/component/channels.js +0 -288
  54. package/dist/component/channels.js.map +0 -1
  55. package/dist/component/circuitBreaker.d.ts +0 -73
  56. package/dist/component/circuitBreaker.d.ts.map +0 -1
  57. package/dist/component/circuitBreaker.js +0 -216
  58. package/dist/component/circuitBreaker.js.map +0 -1
  59. package/dist/component/provisioning.d.ts +0 -87
  60. package/dist/component/provisioning.d.ts.map +0 -1
  61. package/dist/component/provisioning.js +0 -343
  62. package/dist/component/provisioning.js.map +0 -1
  63. package/dist/component/registry.d.ts +0 -46
  64. package/dist/component/registry.d.ts.map +0 -1
  65. package/dist/component/registry.js +0 -121
  66. package/dist/component/registry.js.map +0 -1
  67. package/src/component/channels.ts +0 -374
  68. package/src/component/circuitBreaker.ts +0 -250
  69. package/src/component/provisioning.ts +0 -402
  70. package/src/component/registry.ts +0 -152
@@ -1,241 +1,118 @@
1
1
  import { v } from "convex/values";
2
- import { mutation, query, internalQuery } from "./_generated/server.js";
3
- // --- Permission result type ---
4
- const permissionResultValidator = v.object({
2
+ import { mutation, query } from "./_generated/server.js";
3
+ import { patternMatchesAvailableFunctions } from "./agentBridgeUtils.js";
4
+ const permissionRuleValidator = v.object({
5
+ pattern: v.string(),
5
6
  permission: v.union(v.literal("allow"), v.literal("deny"), v.literal("rate_limited")),
6
7
  rateLimitConfig: v.optional(v.object({
7
8
  requestsPerHour: v.number(),
8
- tokenBudget: v.number(),
9
+ tokenBudget: v.optional(v.number()),
9
10
  })),
10
- matchedPattern: v.optional(v.string()),
11
11
  });
12
- // --- Pattern matching utilities ---
13
- /**
14
- * Calculate specificity score for a pattern.
15
- * More specific patterns (longer fixed prefix before the first wildcard)
16
- * get higher scores.
17
- */
18
- function patternSpecificity(pattern) {
19
- const wildcardIndex = pattern.indexOf("*");
20
- if (wildcardIndex === -1)
21
- return pattern.length;
22
- return wildcardIndex;
23
- }
24
- /**
25
- * Check if a function name matches a permission pattern.
26
- * Supports "*" as a wildcard that matches any characters.
27
- * Examples: "okr:*" matches "okr:getObjectives", "*" matches anything.
28
- */
29
- function matchesPattern(functionName, pattern) {
30
- if (pattern === "*")
31
- return true;
32
- // Escape regex special chars except *, then replace * with .*
33
- const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, "\\$&");
34
- const regexStr = "^" + escaped.replace(/\*/g, ".*") + "$";
35
- const regex = new RegExp(regexStr);
36
- return regex.test(functionName);
37
- }
38
- // --- Public functions ---
39
- /**
40
- * Set a permission for an agent on a specific app.
41
- * If a permission with the same agentId + appName + functionPattern exists, it is updated.
42
- */
43
- export const setPermission = mutation({
12
+ export const setAgentPermissions = mutation({
44
13
  args: {
45
- agentId: v.string(),
46
- appName: v.string(),
47
- functionPattern: v.string(),
48
- permission: v.union(v.literal("allow"), v.literal("deny"), v.literal("rate_limited")),
49
- rateLimitConfig: v.optional(v.object({
50
- requestsPerHour: v.number(),
51
- tokenBudget: v.number(),
52
- })),
53
- createdBy: v.string(),
14
+ agentId: v.id("agents"),
15
+ rules: v.array(permissionRuleValidator),
16
+ availableFunctionKeys: v.array(v.string()),
54
17
  },
55
- returns: v.string(),
18
+ returns: v.number(),
56
19
  handler: async (ctx, args) => {
57
- // Check for existing permission with same pattern
58
- const existing = await ctx.db
59
- .query("functionPermissions")
60
- .withIndex("by_agent_and_app", (q) => q.eq("agentId", args.agentId).eq("appName", args.appName))
61
- .collect();
62
- const match = existing.find((p) => p.functionPattern === args.functionPattern);
63
- if (match) {
64
- await ctx.db.patch(match._id, {
65
- permission: args.permission,
66
- rateLimitConfig: args.rateLimitConfig,
67
- createdBy: args.createdBy,
68
- createdAt: Date.now(),
69
- });
70
- return match._id;
20
+ for (const rule of args.rules) {
21
+ const isValid = patternMatchesAvailableFunctions(rule.pattern, args.availableFunctionKeys);
22
+ if (!isValid) {
23
+ throw new Error(`Pattern "${rule.pattern}" does not match any configured function`);
24
+ }
71
25
  }
72
- const id = await ctx.db.insert("functionPermissions", {
73
- agentId: args.agentId,
74
- appName: args.appName,
75
- functionPattern: args.functionPattern,
76
- permission: args.permission,
77
- rateLimitConfig: args.rateLimitConfig,
78
- createdAt: Date.now(),
79
- createdBy: args.createdBy,
80
- });
81
- return id;
82
- },
83
- });
84
- /**
85
- * Remove a specific permission.
86
- */
87
- export const removePermission = mutation({
88
- args: {
89
- agentId: v.string(),
90
- appName: v.string(),
91
- functionPattern: v.string(),
92
- },
93
- returns: v.boolean(),
94
- handler: async (ctx, args) => {
95
- const perms = await ctx.db
96
- .query("functionPermissions")
97
- .withIndex("by_agent_and_app", (q) => q.eq("agentId", args.agentId).eq("appName", args.appName))
98
- .collect();
99
- const match = perms.find((p) => p.functionPattern === args.functionPattern);
100
- if (!match)
101
- return false;
102
- await ctx.db.delete(match._id);
103
- return true;
104
- },
105
- });
106
- /**
107
- * Check permission for a specific function call.
108
- * Applies pattern matching with specificity ordering (most specific pattern wins).
109
- * Default: deny if no matching pattern is found.
110
- */
111
- export const checkPermission = query({
112
- args: {
113
- agentId: v.string(),
114
- appName: v.string(),
115
- functionName: v.string(),
116
- },
117
- returns: permissionResultValidator,
118
- handler: async (ctx, args) => {
119
- const permissions = await ctx.db
120
- .query("functionPermissions")
121
- .withIndex("by_agent_and_app", (q) => q.eq("agentId", args.agentId).eq("appName", args.appName))
26
+ const existingRules = await ctx.db
27
+ .query("agentPermissions")
28
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
122
29
  .collect();
123
- // Find all matching patterns and sort by specificity (most specific first)
124
- const matches = permissions
125
- .filter((p) => matchesPattern(args.functionName, p.functionPattern))
126
- .sort((a, b) => patternSpecificity(b.functionPattern) -
127
- patternSpecificity(a.functionPattern));
128
- if (matches.length === 0) {
129
- // Default: deny
130
- return { permission: "deny" };
30
+ for (const existingRule of existingRules) {
31
+ await ctx.db.delete(existingRule._id);
32
+ }
33
+ for (const rule of args.rules) {
34
+ await ctx.db.insert("agentPermissions", {
35
+ agentId: args.agentId,
36
+ functionPattern: rule.pattern,
37
+ permission: rule.permission,
38
+ rateLimitConfig: rule.rateLimitConfig,
39
+ updatedAt: Date.now(),
40
+ });
131
41
  }
132
- // Most specific pattern wins
133
- const best = matches[0];
134
- return {
135
- permission: best.permission,
136
- rateLimitConfig: best.rateLimitConfig,
137
- matchedPattern: best.functionPattern,
138
- };
42
+ return args.rules.length;
139
43
  },
140
44
  });
141
- /**
142
- * List all permissions for an agent on a specific app.
143
- */
144
- export const listPermissions = query({
45
+ export const listAgentPermissions = query({
145
46
  args: {
146
- agentId: v.string(),
147
- appName: v.string(),
47
+ agentId: v.id("agents"),
148
48
  },
149
49
  returns: v.array(v.object({
150
50
  functionPattern: v.string(),
151
51
  permission: v.union(v.literal("allow"), v.literal("deny"), v.literal("rate_limited")),
152
52
  rateLimitConfig: v.optional(v.object({
153
53
  requestsPerHour: v.number(),
154
- tokenBudget: v.number(),
54
+ tokenBudget: v.optional(v.number()),
155
55
  })),
156
- createdAt: v.number(),
157
- createdBy: v.string(),
56
+ updatedAt: v.number(),
158
57
  })),
159
58
  handler: async (ctx, args) => {
160
- const perms = await ctx.db
161
- .query("functionPermissions")
162
- .withIndex("by_agent_and_app", (q) => q.eq("agentId", args.agentId).eq("appName", args.appName))
59
+ const rules = await ctx.db
60
+ .query("agentPermissions")
61
+ .withIndex("by_agentId", (q) => q.eq("agentId", args.agentId))
163
62
  .collect();
164
- return perms.map((p) => ({
165
- functionPattern: p.functionPattern,
166
- permission: p.permission,
167
- rateLimitConfig: p.rateLimitConfig,
168
- createdAt: p.createdAt,
169
- createdBy: p.createdBy,
63
+ return rules.map((rule) => ({
64
+ functionPattern: rule.functionPattern,
65
+ permission: rule.permission,
66
+ rateLimitConfig: rule.rateLimitConfig,
67
+ updatedAt: rule.updatedAt,
170
68
  }));
171
69
  },
172
70
  });
173
- /**
174
- * Remove all permissions for a specific agent on a specific app.
175
- */
176
- export const clearPermissions = mutation({
71
+ export const setFunctionOverrides = mutation({
177
72
  args: {
178
- agentId: v.string(),
179
- appName: v.string(),
73
+ overrides: v.array(v.object({
74
+ key: v.string(),
75
+ enabled: v.boolean(),
76
+ globalRateLimit: v.optional(v.number()),
77
+ })),
78
+ availableFunctionKeys: v.array(v.string()),
180
79
  },
181
80
  returns: v.number(),
182
81
  handler: async (ctx, args) => {
183
- const perms = await ctx.db
184
- .query("functionPermissions")
185
- .withIndex("by_agent_and_app", (q) => q.eq("agentId", args.agentId).eq("appName", args.appName))
186
- .collect();
187
- for (const perm of perms) {
188
- await ctx.db.delete(perm._id);
82
+ for (const override of args.overrides) {
83
+ if (!args.availableFunctionKeys.includes(override.key)) {
84
+ throw new Error(`Function "${override.key}" is not exposed in config`);
85
+ }
86
+ const existing = await ctx.db
87
+ .query("agentFunctions")
88
+ .withIndex("by_key", (q) => q.eq("key", override.key))
89
+ .unique();
90
+ if (existing) {
91
+ await ctx.db.patch(existing._id, {
92
+ enabled: override.enabled,
93
+ globalRateLimit: override.globalRateLimit,
94
+ });
95
+ }
96
+ else {
97
+ await ctx.db.insert("agentFunctions", {
98
+ key: override.key,
99
+ enabled: override.enabled,
100
+ globalRateLimit: override.globalRateLimit,
101
+ });
102
+ }
189
103
  }
190
- return perms.length;
104
+ return args.overrides.length;
191
105
  },
192
106
  });
193
- /**
194
- * Debug helper: show permission matching for a specific function call.
195
- */
196
- export const debugMatchPermission = query({
197
- args: {
198
- agentId: v.string(),
199
- appName: v.string(),
200
- functionName: v.string(),
201
- },
202
- returns: v.object({
203
- functionName: v.string(),
204
- permissions: v.array(v.object({
205
- functionPattern: v.string(),
206
- permission: v.union(v.literal("allow"), v.literal("deny"), v.literal("rate_limited")),
207
- specificity: v.number(),
208
- })),
209
- matches: v.array(v.object({
210
- functionPattern: v.string(),
211
- permission: v.union(v.literal("allow"), v.literal("deny"), v.literal("rate_limited")),
212
- specificity: v.number(),
213
- })),
214
- bestMatch: v.optional(v.object({
215
- functionPattern: v.string(),
216
- permission: v.union(v.literal("allow"), v.literal("deny"), v.literal("rate_limited")),
217
- specificity: v.number(),
218
- })),
219
- }),
220
- handler: async (ctx, args) => {
221
- const permissions = await ctx.db
222
- .query("functionPermissions")
223
- .withIndex("by_agent_and_app", (q) => q.eq("agentId", args.agentId).eq("appName", args.appName))
224
- .collect();
225
- const withSpecificity = permissions.map((p) => ({
226
- functionPattern: p.functionPattern,
227
- permission: p.permission,
228
- specificity: patternSpecificity(p.functionPattern),
229
- }));
230
- const matches = withSpecificity
231
- .filter((p) => matchesPattern(args.functionName, p.functionPattern))
232
- .sort((a, b) => b.specificity - a.specificity);
233
- return {
234
- functionName: args.functionName,
235
- permissions: withSpecificity,
236
- matches,
237
- bestMatch: matches[0],
238
- };
107
+ export const listFunctionOverrides = query({
108
+ args: {},
109
+ returns: v.array(v.object({
110
+ key: v.string(),
111
+ enabled: v.boolean(),
112
+ globalRateLimit: v.optional(v.number()),
113
+ })),
114
+ handler: async (ctx) => {
115
+ return await ctx.db.query("agentFunctions").collect();
239
116
  },
240
117
  });
241
118
  //# sourceMappingURL=permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/component/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/component/permissions.ts"],"names":[],"mappings":"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"}