@okrlinkhub/agent-factory 3.0.2 → 3.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 (55) hide show
  1. package/README.md +235 -31
  2. package/dist/client/bridge.d.ts +1 -0
  3. package/dist/client/bridge.d.ts.map +1 -1
  4. package/dist/client/bridge.js.map +1 -1
  5. package/dist/client/index.d.ts +29 -3
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/index.js +59 -3
  8. package/dist/client/index.js.map +1 -1
  9. package/dist/component/_generated/api.d.ts +2 -0
  10. package/dist/component/_generated/api.d.ts.map +1 -1
  11. package/dist/component/_generated/api.js.map +1 -1
  12. package/dist/component/_generated/component.d.ts +140 -2
  13. package/dist/component/_generated/component.d.ts.map +1 -1
  14. package/dist/component/flyCleanup.d.ts +32 -0
  15. package/dist/component/flyCleanup.d.ts.map +1 -0
  16. package/dist/component/flyCleanup.js +272 -0
  17. package/dist/component/flyCleanup.js.map +1 -0
  18. package/dist/component/identity.d.ts +60 -2
  19. package/dist/component/identity.d.ts.map +1 -1
  20. package/dist/component/identity.js +372 -32
  21. package/dist/component/identity.js.map +1 -1
  22. package/dist/component/lib.d.ts +2 -1
  23. package/dist/component/lib.d.ts.map +1 -1
  24. package/dist/component/lib.js +2 -1
  25. package/dist/component/lib.js.map +1 -1
  26. package/dist/component/providers/fly.d.ts +23 -2
  27. package/dist/component/providers/fly.d.ts.map +1 -1
  28. package/dist/component/providers/fly.js +15 -3
  29. package/dist/component/providers/fly.js.map +1 -1
  30. package/dist/component/pushing.d.ts +4 -4
  31. package/dist/component/queue.d.ts +12 -7
  32. package/dist/component/queue.d.ts.map +1 -1
  33. package/dist/component/queue.js +9 -0
  34. package/dist/component/queue.js.map +1 -1
  35. package/dist/component/scheduler.d.ts +8 -8
  36. package/dist/component/scheduler.d.ts.map +1 -1
  37. package/dist/component/scheduler.js +22 -2
  38. package/dist/component/scheduler.js.map +1 -1
  39. package/dist/component/schema.d.ts +16 -4
  40. package/dist/component/schema.d.ts.map +1 -1
  41. package/dist/component/schema.js +16 -0
  42. package/dist/component/schema.js.map +1 -1
  43. package/package.json +1 -1
  44. package/src/client/bridge.ts +1 -0
  45. package/src/client/index.ts +68 -3
  46. package/src/component/_generated/api.ts +2 -0
  47. package/src/component/_generated/component.ts +188 -8
  48. package/src/component/flyCleanup.ts +386 -0
  49. package/src/component/identity.ts +425 -31
  50. package/src/component/lib.test.ts +197 -3
  51. package/src/component/lib.ts +3 -0
  52. package/src/component/providers/fly.ts +39 -5
  53. package/src/component/queue.ts +11 -0
  54. package/src/component/scheduler.ts +23 -2
  55. package/src/component/schema.ts +16 -0
@@ -0,0 +1,272 @@
1
+ import { v } from "convex/values";
2
+ import { api, internal } from "./_generated/api.js";
3
+ import { action } from "./_generated/server.js";
4
+ import { DEFAULT_CONFIG, providerConfigValidator } from "./config.js";
5
+ const DEFAULT_MACHINE_CONCURRENCY = 6;
6
+ const DEFAULT_VOLUME_CONCURRENCY = 16;
7
+ const cleanupReportValidator = v.object({
8
+ appName: v.string(),
9
+ machinesFound: v.number(),
10
+ machinesDeleted: v.number(),
11
+ machinesRemaining: v.number(),
12
+ machineIdsDeleted: v.array(v.string()),
13
+ machineIdsRemaining: v.array(v.string()),
14
+ volumesFound: v.number(),
15
+ volumesDeleted: v.number(),
16
+ volumesRemaining: v.number(),
17
+ volumeIdsDeleted: v.array(v.string()),
18
+ volumeIdsRemaining: v.array(v.string()),
19
+ warnings: v.array(v.string()),
20
+ errors: v.array(v.string()),
21
+ });
22
+ export const runFlyCleanup = action({
23
+ args: {
24
+ flyApiToken: v.optional(v.string()),
25
+ machineConcurrency: v.optional(v.number()),
26
+ providerConfig: v.optional(providerConfigValidator),
27
+ volumeConcurrency: v.optional(v.number()),
28
+ },
29
+ returns: cleanupReportValidator,
30
+ handler: async (ctx, args) => {
31
+ const providerConfig = await resolveProviderConfig(ctx, args.providerConfig);
32
+ if (providerConfig.kind !== "fly") {
33
+ throw new Error("Fly cleanup requires a Fly provider configuration.");
34
+ }
35
+ const appName = providerConfig.appName.trim();
36
+ if (appName.length === 0) {
37
+ throw new Error("Fly cleanup requires a non-empty Fly app name.");
38
+ }
39
+ const flyApiToken = await resolveFlyApiToken(ctx, args.flyApiToken);
40
+ const client = new FlyApiClient(flyApiToken);
41
+ const machineConcurrency = normalizeConcurrency(args.machineConcurrency, DEFAULT_MACHINE_CONCURRENCY);
42
+ const volumeConcurrency = normalizeConcurrency(args.volumeConcurrency, DEFAULT_VOLUME_CONCURRENCY);
43
+ await client.verifyAppAccess(appName);
44
+ const warnings = [];
45
+ const errors = [];
46
+ const initialMachines = await client.listMachines(appName);
47
+ const machineResults = await runWithConcurrency(initialMachines, machineConcurrency, async (machine) => cleanupMachine(client, appName, machine));
48
+ for (const result of machineResults) {
49
+ warnings.push(...result.warnings);
50
+ if (result.error) {
51
+ errors.push(result.error);
52
+ }
53
+ }
54
+ const remainingMachines = await client.listMachines(appName);
55
+ if (remainingMachines.length > 0) {
56
+ warnings.push(`Fly cleanup left ${remainingMachines.length} machine(s) after verification: ${remainingMachines
57
+ .map((machine) => machine.id)
58
+ .join(", ")}`);
59
+ }
60
+ const initialVolumes = await client.listVolumes(appName);
61
+ const volumeResults = await runWithConcurrency(initialVolumes, volumeConcurrency, async (volume) => cleanupVolume(client, appName, volume));
62
+ for (const result of volumeResults) {
63
+ warnings.push(...result.warnings);
64
+ if (result.error) {
65
+ errors.push(result.error);
66
+ }
67
+ }
68
+ const remainingVolumes = await client.listVolumes(appName);
69
+ if (remainingVolumes.length > 0) {
70
+ warnings.push(`Fly cleanup left ${remainingVolumes.length} volume(s) after verification: ${remainingVolumes
71
+ .map((volume) => volume.id)
72
+ .join(", ")}`);
73
+ }
74
+ return {
75
+ appName,
76
+ machinesFound: initialMachines.length,
77
+ machinesDeleted: machineResults.filter((result) => result.deleted).length,
78
+ machinesRemaining: remainingMachines.length,
79
+ machineIdsDeleted: machineResults
80
+ .filter((result) => result.deleted)
81
+ .map((result) => result.machineId),
82
+ machineIdsRemaining: remainingMachines.map((machine) => machine.id),
83
+ volumesFound: initialVolumes.length,
84
+ volumesDeleted: volumeResults.filter((result) => result.deleted).length,
85
+ volumesRemaining: remainingVolumes.length,
86
+ volumeIdsDeleted: volumeResults
87
+ .filter((result) => result.deleted)
88
+ .map((result) => result.volumeId),
89
+ volumeIdsRemaining: remainingVolumes.map((volume) => volume.id),
90
+ warnings,
91
+ errors,
92
+ };
93
+ },
94
+ });
95
+ async function resolveProviderConfig(ctx, providerConfigOverride) {
96
+ if (providerConfigOverride) {
97
+ return providerConfigOverride;
98
+ }
99
+ const runtimeConfig = await ctx.runQuery(api.queue.providerRuntimeConfig, {});
100
+ return runtimeConfig ?? DEFAULT_CONFIG.provider;
101
+ }
102
+ async function resolveFlyApiToken(ctx, flyApiTokenOverride) {
103
+ const inlineToken = flyApiTokenOverride?.trim();
104
+ if (inlineToken) {
105
+ return inlineToken;
106
+ }
107
+ const storedToken = await ctx.runQuery(internal.queue.getActiveSecretPlaintext, {
108
+ secretRef: "fly.apiToken",
109
+ });
110
+ const normalized = storedToken?.trim();
111
+ if (!normalized) {
112
+ throw new Error("Missing active 'fly.apiToken' secret. Import it before running Fly cleanup.");
113
+ }
114
+ return normalized;
115
+ }
116
+ async function cleanupMachine(client, appName, machine) {
117
+ const warnings = [];
118
+ try {
119
+ await client.cordonMachine(appName, machine.id);
120
+ }
121
+ catch (error) {
122
+ if (isFlyNotFoundError(error)) {
123
+ return { machineId: machine.id, deleted: true, warnings, error: null };
124
+ }
125
+ warnings.push(`Machine ${machine.id}: cordon warning (${describeError(error)})`);
126
+ }
127
+ try {
128
+ await client.stopMachine(appName, machine.id);
129
+ }
130
+ catch (error) {
131
+ if (isFlyNotFoundError(error)) {
132
+ return { machineId: machine.id, deleted: true, warnings, error: null };
133
+ }
134
+ warnings.push(`Machine ${machine.id}: stop warning (${describeError(error)})`);
135
+ }
136
+ try {
137
+ await client.deleteMachine(appName, machine.id);
138
+ return { machineId: machine.id, deleted: true, warnings, error: null };
139
+ }
140
+ catch (error) {
141
+ if (isFlyNotFoundError(error)) {
142
+ return { machineId: machine.id, deleted: true, warnings, error: null };
143
+ }
144
+ return {
145
+ machineId: machine.id,
146
+ deleted: false,
147
+ warnings,
148
+ error: `Machine ${machine.id}: destroy failed (${describeError(error)})`,
149
+ };
150
+ }
151
+ }
152
+ async function cleanupVolume(client, appName, volume) {
153
+ try {
154
+ await client.deleteVolume(appName, volume.id);
155
+ return { volumeId: volume.id, deleted: true, warnings: [], error: null };
156
+ }
157
+ catch (error) {
158
+ if (isFlyNotFoundError(error)) {
159
+ return { volumeId: volume.id, deleted: true, warnings: [], error: null };
160
+ }
161
+ return {
162
+ volumeId: volume.id,
163
+ deleted: false,
164
+ warnings: [],
165
+ error: `Volume ${volume.id}: destroy failed (${describeError(error)})`,
166
+ };
167
+ }
168
+ }
169
+ async function runWithConcurrency(items, concurrency, worker) {
170
+ if (items.length === 0) {
171
+ return [];
172
+ }
173
+ const results = new Array(items.length);
174
+ let nextIndex = 0;
175
+ const workerCount = Math.min(concurrency, items.length);
176
+ await Promise.all(Array.from({ length: workerCount }, async () => {
177
+ while (nextIndex < items.length) {
178
+ const currentIndex = nextIndex;
179
+ nextIndex += 1;
180
+ results[currentIndex] = await worker(items[currentIndex], currentIndex);
181
+ }
182
+ }));
183
+ return results;
184
+ }
185
+ function normalizeConcurrency(value, fallback) {
186
+ if (value === undefined || !Number.isFinite(value)) {
187
+ return fallback;
188
+ }
189
+ return Math.max(1, Math.floor(value));
190
+ }
191
+ class FlyApiClient {
192
+ apiToken;
193
+ constructor(apiToken) {
194
+ this.apiToken = apiToken;
195
+ }
196
+ async verifyAppAccess(appName) {
197
+ await this.request({
198
+ method: "GET",
199
+ path: `/apps/${encodeURIComponent(appName)}`,
200
+ });
201
+ }
202
+ async listMachines(appName) {
203
+ return await this.request({
204
+ method: "GET",
205
+ path: `/apps/${encodeURIComponent(appName)}/machines`,
206
+ });
207
+ }
208
+ async listVolumes(appName) {
209
+ return await this.request({
210
+ method: "GET",
211
+ path: `/apps/${encodeURIComponent(appName)}/volumes`,
212
+ });
213
+ }
214
+ async cordonMachine(appName, machineId) {
215
+ await this.request({
216
+ method: "POST",
217
+ path: `/apps/${encodeURIComponent(appName)}/machines/${encodeURIComponent(machineId)}/cordon`,
218
+ });
219
+ }
220
+ async stopMachine(appName, machineId) {
221
+ await this.request({
222
+ method: "POST",
223
+ path: `/apps/${encodeURIComponent(appName)}/machines/${encodeURIComponent(machineId)}/stop`,
224
+ });
225
+ }
226
+ async deleteMachine(appName, machineId) {
227
+ await this.request({
228
+ method: "DELETE",
229
+ path: `/apps/${encodeURIComponent(appName)}/machines/${encodeURIComponent(machineId)}`,
230
+ });
231
+ }
232
+ async deleteVolume(appName, volumeId) {
233
+ await this.request({
234
+ method: "DELETE",
235
+ path: `/apps/${encodeURIComponent(appName)}/volumes/${encodeURIComponent(volumeId)}`,
236
+ });
237
+ }
238
+ async request(input) {
239
+ const response = await fetch(`https://api.machines.dev/v1${input.path}`, {
240
+ method: input.method,
241
+ headers: {
242
+ Authorization: `Bearer ${this.apiToken}`,
243
+ "Content-Type": "application/json",
244
+ },
245
+ });
246
+ if (!response.ok) {
247
+ const body = await response.text();
248
+ throw new Error(`Fly API ${input.method} ${input.path} failed: ${body || response.statusText}`);
249
+ }
250
+ if (response.status === 204 || input.method === "DELETE") {
251
+ return undefined;
252
+ }
253
+ const text = await response.text();
254
+ if (!text) {
255
+ return undefined;
256
+ }
257
+ return JSON.parse(text);
258
+ }
259
+ }
260
+ function isFlyNotFoundError(error) {
261
+ if (!(error instanceof Error)) {
262
+ return false;
263
+ }
264
+ return /not found|unknown machine|does not exist/i.test(error.message);
265
+ }
266
+ function describeError(error) {
267
+ if (error instanceof Error) {
268
+ return error.message;
269
+ }
270
+ return String(error);
271
+ }
272
+ //# sourceMappingURL=flyCleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flyCleanup.js","sourceRoot":"","sources":["../../src/component/flyCleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACtC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC5B,CAAC,CAAC;AA4CH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;IAClC,IAAI,EAAE;QACJ,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACnC,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1C,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACnD,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC1C;IACD,OAAO,EAAE,sBAAsB;IAC/B,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAA0B,EAAE;QACnD,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7E,IAAI,cAAc,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,kBAAkB,GAAG,oBAAoB,CAC7C,IAAI,CAAC,kBAAkB,EACvB,2BAA2B,CAC5B,CAAC;QACF,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,IAAI,CAAC,iBAAiB,EACtB,0BAA0B,CAC3B,CAAC;QAEF,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAC7C,eAAe,EACf,kBAAkB,EAClB,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAC5D,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CACX,oBAAoB,iBAAiB,CAAC,MAAM,mCAAmC,iBAAiB;iBAC7F,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;iBAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAC5C,cAAc,EACd,iBAAiB,EACjB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CACzD,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CACX,oBAAoB,gBAAgB,CAAC,MAAM,kCAAkC,gBAAgB;iBAC1F,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;iBAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO;YACP,aAAa,EAAE,eAAe,CAAC,MAAM;YACrC,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM;YACzE,iBAAiB,EAAE,iBAAiB,CAAC,MAAM;YAC3C,iBAAiB,EAAE,cAAc;iBAC9B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;iBAClC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;YACpC,mBAAmB,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,YAAY,EAAE,cAAc,CAAC,MAAM;YACnC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM;YACvE,gBAAgB,EAAE,gBAAgB,CAAC,MAAM;YACzC,gBAAgB,EAAE,aAAa;iBAC5B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;iBAClC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;YACnC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,QAAQ;YACR,MAAM;SACP,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,KAAK,UAAU,qBAAqB,CAClC,GAAgC,EAChC,sBAAkD;IAElD,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO,aAAa,IAAI,cAAc,CAAC,QAAQ,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,GAAgC,EAChC,mBAAuC;IAEvC,MAAM,WAAW,GAAG,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,EAAE;QAC9E,SAAS,EAAE,cAAc;KAC1B,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,WAAW,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAAoB,EACpB,OAAe,EACf,OAAmB;IAEnB,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,EAAE,qBAAqB,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,EAAE,mBAAmB,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzE,CAAC;QACD,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,OAAO,EAAE,KAAK;YACd,QAAQ;YACR,KAAK,EAAE,WAAW,OAAO,CAAC,EAAE,qBAAqB,aAAa,CAAC,KAAK,CAAC,GAAG;SACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAoB,EACpB,OAAe,EACf,MAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3E,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,UAAU,MAAM,CAAC,EAAE,qBAAqB,aAAa,CAAC,KAAK,CAAC,GAAG;SACvE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,KAAoB,EACpB,WAAmB,EACnB,MAAyD;IAEzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,KAAK,CAAU,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAExD,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,IAAI,EAAE;QAC7C,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,SAAS,CAAC;YAC/B,SAAS,IAAI,CAAC,CAAC;YACf,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAyB,EAAE,QAAgB;IACvE,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,YAAY;IACa;IAA7B,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,MAAM,IAAI,CAAC,OAAO,CAAO;YACvB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS,kBAAkB,CAAC,OAAO,CAAC,EAAE;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAoB;YAC3C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS,kBAAkB,CAAC,OAAO,CAAC,WAAW;SACtD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAmB;YAC1C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS,kBAAkB,CAAC,OAAO,CAAC,UAAU;SACrD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,SAAiB;QACpD,MAAM,IAAI,CAAC,OAAO,CAAO;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS,kBAAkB,CAAC,OAAO,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,SAAS;SAC9F,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,SAAiB;QAClD,MAAM,IAAI,CAAC,OAAO,CAAO;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS,kBAAkB,CAAC,OAAO,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,OAAO;SAC5F,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,SAAiB;QACpD,MAAM,IAAI,CAAC,OAAO,CAAO;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,SAAS,kBAAkB,CAAC,OAAO,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,EAAE;SACvF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,QAAgB;QAClD,MAAM,IAAI,CAAC,OAAO,CAAO;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,SAAS,kBAAkB,CAAC,OAAO,CAAC,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE;SACrF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO,CAAI,KAGxB;QACC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,8BAA8B,KAAK,CAAC,IAAI,EAAE,EAAE;YACvE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,QAAQ,EAAE;gBACxC,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,YAAY,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzD,OAAO,SAAc,CAAC;QACxB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAc,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;IAC/B,CAAC;CACF;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,2CAA2C,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { Id } from "./_generated/dataModel.js";
1
2
  type UserAgentStatus = "draft" | "pairing" | "active" | "disabled" | "failed";
2
3
  type PairingStatus = "pending" | "used" | "expired" | null;
3
4
  type UserAgentView = {
@@ -24,6 +25,7 @@ type OnboardingNextAction = "import_token" | "configure_webhook" | "create_pairi
24
25
  type OnboardingState = {
25
26
  agentKey: string;
26
27
  telegramUsername: string | null;
28
+ botIdentity: string | null;
27
29
  tokenSecretRef: string | null;
28
30
  tokenImported: boolean;
29
31
  webhookReady: boolean;
@@ -33,12 +35,15 @@ type OnboardingState = {
33
35
  nextAction: OnboardingNextAction;
34
36
  };
35
37
  export declare const configureTelegramWebhook: import("convex/server").RegisteredAction<"public", {
38
+ agentKey?: string | undefined;
36
39
  secretRef?: string | undefined;
37
40
  convexSiteUrl: string;
38
41
  }, Promise<{
39
42
  ok: boolean;
40
43
  webhookUrl: string;
41
44
  currentUrl: string | null;
45
+ botIdentity: string;
46
+ secretTokenConfigured: boolean;
42
47
  isReady: boolean;
43
48
  pendingUpdateCount: number;
44
49
  lastErrorMessage: string | null;
@@ -54,6 +59,7 @@ export declare const createPairingCode: import("convex/server").RegisteredMutati
54
59
  code: string;
55
60
  consumerUserId: string;
56
61
  agentKey: string;
62
+ botIdentity: string;
57
63
  status: "pending";
58
64
  createdAt: number;
59
65
  expiresAt: number;
@@ -62,6 +68,7 @@ export declare const createPairingCode: import("convex/server").RegisteredMutati
62
68
  telegramChatId: null;
63
69
  }>>;
64
70
  export declare const consumePairingCode: import("convex/server").RegisteredMutation<"public", {
71
+ botIdentity?: string | undefined;
65
72
  nowMs?: number | undefined;
66
73
  telegramChatId: string;
67
74
  telegramUserId: string;
@@ -70,6 +77,7 @@ export declare const consumePairingCode: import("convex/server").RegisteredMutat
70
77
  code: string;
71
78
  consumerUserId: string;
72
79
  agentKey: string;
80
+ botIdentity: string;
73
81
  status: "used";
74
82
  createdAt: number;
75
83
  expiresAt: number;
@@ -84,6 +92,7 @@ export declare const getPairingCodeStatus: import("convex/server").RegisteredQue
84
92
  code: string;
85
93
  consumerUserId: string;
86
94
  agentKey: string;
95
+ botIdentity: string | null;
87
96
  status: "pending" | "used" | "expired";
88
97
  createdAt: number;
89
98
  expiresAt: number;
@@ -92,6 +101,7 @@ export declare const getPairingCodeStatus: import("convex/server").RegisteredQue
92
101
  telegramChatId: string | null;
93
102
  } | null>>;
94
103
  export declare const bindUserAgent: import("convex/server").RegisteredMutation<"public", {
104
+ botIdentity?: string | undefined;
95
105
  metadata?: Record<string, string> | undefined;
96
106
  nowMs?: number | undefined;
97
107
  source?: "manual" | "telegram_pairing" | "api" | undefined;
@@ -103,6 +113,7 @@ export declare const bindUserAgent: import("convex/server").RegisteredMutation<"
103
113
  consumerUserId: string;
104
114
  agentKey: string;
105
115
  conversationId: string;
116
+ botIdentity: string | null;
106
117
  status: "active" | "revoked";
107
118
  source: "manual" | "telegram_pairing" | "api";
108
119
  telegramUserId: string | null;
@@ -124,6 +135,7 @@ export declare const resolveAgentForUser: import("convex/server").RegisteredQuer
124
135
  agentKey: string | null;
125
136
  }>>;
126
137
  export declare const resolveAgentForTelegram: import("convex/server").RegisteredQuery<"public", {
138
+ botIdentity?: string | undefined;
127
139
  telegramChatId?: string | undefined;
128
140
  telegramUserId?: string | undefined;
129
141
  }, Promise<{
@@ -137,6 +149,7 @@ export declare const getUserAgentBinding: import("convex/server").RegisteredQuer
137
149
  consumerUserId: string;
138
150
  agentKey: string;
139
151
  conversationId: string;
152
+ botIdentity: string | null;
140
153
  status: "active" | "revoked";
141
154
  source: "manual" | "telegram_pairing" | "api";
142
155
  telegramUserId: string | null;
@@ -173,6 +186,7 @@ export declare const createUserAgentPairing: import("convex/server").RegisteredM
173
186
  code: string;
174
187
  consumerUserId: string;
175
188
  agentKey: string;
189
+ botIdentity: string;
176
190
  status: "pending";
177
191
  createdAt: number;
178
192
  expiresAt: number;
@@ -190,6 +204,7 @@ export declare const getUserAgentPairingStatus: import("convex/server").Register
190
204
  code: string;
191
205
  consumerUserId: string;
192
206
  agentKey: string;
207
+ botIdentity: string | null;
193
208
  status: "pending" | "used" | "expired";
194
209
  createdAt: number;
195
210
  expiresAt: number;
@@ -197,15 +212,17 @@ export declare const getUserAgentPairingStatus: import("convex/server").Register
197
212
  telegramUserId: string | null;
198
213
  telegramChatId: string | null;
199
214
  } | null>>;
200
- export declare const importTelegramTokenForAgent: import("convex/server").RegisteredMutation<"public", {
215
+ export declare const importTelegramTokenForAgent: import("convex/server").RegisteredAction<"public", {
201
216
  metadata?: Record<string, string> | undefined;
202
217
  agentKey: string;
203
218
  consumerUserId: string;
204
219
  plaintextValue: string;
205
220
  }, Promise<{
206
- secretId: import("convex/values").GenericId<"secrets">;
221
+ secretId: Id<"secrets">;
207
222
  secretRef: string;
208
223
  version: number;
224
+ botIdentity: string;
225
+ telegramUsername: string | null;
209
226
  }>>;
210
227
  export declare const getRequiredSecretRefs: import("convex/server").RegisteredQuery<"public", {
211
228
  agentKey?: string | undefined;
@@ -261,5 +278,46 @@ export declare const getWebhookReadiness: import("convex/server").RegisteredActi
261
278
  lastErrorDate: number | null;
262
279
  webhookReady: boolean;
263
280
  }>>;
281
+ export declare const syncAgentProfileTelegramBotIdentity: import("convex/server").RegisteredMutation<"internal", {
282
+ telegramUsername?: string | undefined;
283
+ agentKey: string;
284
+ botIdentity: string;
285
+ }, Promise<null>>;
286
+ export declare const persistImportedTelegramTokenForAgent: import("convex/server").RegisteredMutation<"internal", {
287
+ metadata?: Record<string, string> | undefined;
288
+ telegramUsername?: string | undefined;
289
+ agentKey: string;
290
+ botIdentity: string;
291
+ consumerUserId: string;
292
+ plaintextValue: string;
293
+ }, Promise<{
294
+ botIdentity: string;
295
+ telegramUsername: string | null;
296
+ secretId: import("convex/values").GenericId<"secrets">;
297
+ secretRef: string;
298
+ version: number;
299
+ }>>;
300
+ export declare const reconcileTelegramBotIdentityForAgent: import("convex/server").RegisteredAction<"public", {
301
+ secretRef?: string | undefined;
302
+ agentKey: string;
303
+ }, Promise<{
304
+ agentKey: string;
305
+ secretRef: string;
306
+ botIdentity: string;
307
+ telegramUsername: string | null;
308
+ }>>;
309
+ export declare const softResetTelegramBindingsMissingBotIdentity: import("convex/server").RegisteredMutation<"public", {
310
+ nowMs?: number | undefined;
311
+ expirePendingPairings?: boolean | undefined;
312
+ revokeActiveBindings?: boolean | undefined;
313
+ }, Promise<{
314
+ revokedBindings: number;
315
+ annotatedBindings: number;
316
+ expiredPairings: number;
317
+ pendingPairingsMissingBotIdentity: number;
318
+ legacyBindingsMissingBotIdentity: number;
319
+ profilesMissingBotIdentity: number;
320
+ }>>;
321
+ export declare function parseTelegramWebhookSecretToken(secretToken: string | null | undefined): string | null;
264
322
  export {};
265
323
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/component/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/component/identity.ts"],"names":[],"mappings":"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"}