@okrlinkhub/agent-factory 3.0.2 → 3.0.3

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 (46) hide show
  1. package/README.md +185 -31
  2. package/dist/client/index.d.ts +11 -6
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js +16 -0
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/component/_generated/api.d.ts +2 -0
  7. package/dist/component/_generated/api.d.ts.map +1 -1
  8. package/dist/component/_generated/api.js.map +1 -1
  9. package/dist/component/_generated/component.d.ts +60 -0
  10. package/dist/component/_generated/component.d.ts.map +1 -1
  11. package/dist/component/flyCleanup.d.ts +32 -0
  12. package/dist/component/flyCleanup.d.ts.map +1 -0
  13. package/dist/component/flyCleanup.js +272 -0
  14. package/dist/component/flyCleanup.js.map +1 -0
  15. package/dist/component/lib.d.ts +1 -0
  16. package/dist/component/lib.d.ts.map +1 -1
  17. package/dist/component/lib.js +1 -0
  18. package/dist/component/lib.js.map +1 -1
  19. package/dist/component/providers/fly.d.ts +23 -2
  20. package/dist/component/providers/fly.d.ts.map +1 -1
  21. package/dist/component/providers/fly.js +15 -3
  22. package/dist/component/providers/fly.js.map +1 -1
  23. package/dist/component/pushing.d.ts +4 -4
  24. package/dist/component/queue.d.ts +19 -16
  25. package/dist/component/queue.d.ts.map +1 -1
  26. package/dist/component/queue.js +6 -0
  27. package/dist/component/queue.js.map +1 -1
  28. package/dist/component/scheduler.d.ts +8 -8
  29. package/dist/component/scheduler.d.ts.map +1 -1
  30. package/dist/component/scheduler.js +22 -2
  31. package/dist/component/scheduler.js.map +1 -1
  32. package/dist/component/schema.d.ts +30 -28
  33. package/dist/component/schema.d.ts.map +1 -1
  34. package/dist/component/schema.js +1 -0
  35. package/dist/component/schema.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/client/index.ts +16 -0
  38. package/src/component/_generated/api.ts +2 -0
  39. package/src/component/_generated/component.ts +72 -0
  40. package/src/component/flyCleanup.ts +386 -0
  41. package/src/component/lib.test.ts +189 -3
  42. package/src/component/lib.ts +1 -0
  43. package/src/component/providers/fly.ts +39 -5
  44. package/src/component/queue.ts +6 -0
  45. package/src/component/scheduler.ts +23 -2
  46. package/src/component/schema.ts +1 -0
@@ -89,6 +89,7 @@ export default defineSchema({
89
89
  workers: defineTable({
90
90
  workerId: v.string(),
91
91
  provider: v.string(),
92
+ volumeId: v.optional(v.string()),
92
93
  machineRef: v.optional(v.object({
93
94
  appName: v.string(),
94
95
  machineId: v.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "bugs": {
10
10
  "url": "https://github.com/okrlinkhub/agent-factory/issues"
11
11
  },
12
- "version": "3.0.2",
12
+ "version": "3.0.3",
13
13
  "license": "Apache-2.0",
14
14
  "keywords": [
15
15
  "convex",
@@ -555,6 +555,22 @@ export function exposeApi(
555
555
  return await ctx.runAction((component.lib as any).deleteFlyVolume, args);
556
556
  },
557
557
  }),
558
+ runFlyCleanup: actionGeneric({
559
+ args: {
560
+ flyApiToken: v.optional(v.string()),
561
+ machineConcurrency: v.optional(v.number()),
562
+ volumeConcurrency: v.optional(v.number()),
563
+ },
564
+ handler: async (ctx, args) => {
565
+ await options.auth(ctx, { type: "read" });
566
+ return await ctx.runAction((component.lib as any).runFlyCleanup, {
567
+ flyApiToken: args.flyApiToken,
568
+ machineConcurrency: args.machineConcurrency,
569
+ volumeConcurrency: args.volumeConcurrency,
570
+ providerConfig: options.providerConfig,
571
+ });
572
+ },
573
+ }),
558
574
  recoverQueue: actionGeneric({
559
575
  args: {
560
576
  nowMs: v.optional(v.number()),
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import type * as config from "../config.js";
12
+ import type * as flyCleanup from "../flyCleanup.js";
12
13
  import type * as identity from "../identity.js";
13
14
  import type * as lib from "../lib.js";
14
15
  import type * as messageTemplates from "../messageTemplates.js";
@@ -27,6 +28,7 @@ import { anyApi, componentsGeneric } from "convex/server";
27
28
 
28
29
  const fullApi: ApiFromModules<{
29
30
  config: typeof config;
31
+ flyCleanup: typeof flyCleanup;
30
32
  identity: typeof identity;
31
33
  lib: typeof lib;
32
34
  messageTemplates: typeof messageTemplates;
@@ -23,6 +23,43 @@ import type { FunctionReference } from "convex/server";
23
23
  */
24
24
  export type ComponentApi<Name extends string | undefined = string | undefined> =
25
25
  {
26
+ flyCleanup: {
27
+ runFlyCleanup: FunctionReference<
28
+ "action",
29
+ "internal",
30
+ {
31
+ flyApiToken?: string;
32
+ machineConcurrency?: number;
33
+ providerConfig?: {
34
+ appName: string;
35
+ image: string;
36
+ kind: "fly" | "runpod" | "ecs";
37
+ organizationSlug: string;
38
+ region: string;
39
+ volumeName: string;
40
+ volumePath: string;
41
+ volumeSizeGb: number;
42
+ };
43
+ volumeConcurrency?: number;
44
+ },
45
+ {
46
+ appName: string;
47
+ errors: Array<string>;
48
+ machineIdsDeleted: Array<string>;
49
+ machineIdsRemaining: Array<string>;
50
+ machinesDeleted: number;
51
+ machinesFound: number;
52
+ machinesRemaining: number;
53
+ volumeIdsDeleted: Array<string>;
54
+ volumeIdsRemaining: Array<string>;
55
+ volumesDeleted: number;
56
+ volumesFound: number;
57
+ volumesRemaining: number;
58
+ warnings: Array<string>;
59
+ },
60
+ Name
61
+ >;
62
+ };
26
63
  identity: {
27
64
  bindUserAgent: FunctionReference<
28
65
  "mutation",
@@ -1633,6 +1670,41 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1633
1670
  { revoked: number },
1634
1671
  Name
1635
1672
  >;
1673
+ runFlyCleanup: FunctionReference<
1674
+ "action",
1675
+ "internal",
1676
+ {
1677
+ flyApiToken?: string;
1678
+ machineConcurrency?: number;
1679
+ providerConfig?: {
1680
+ appName: string;
1681
+ image: string;
1682
+ kind: "fly" | "runpod" | "ecs";
1683
+ organizationSlug: string;
1684
+ region: string;
1685
+ volumeName: string;
1686
+ volumePath: string;
1687
+ volumeSizeGb: number;
1688
+ };
1689
+ volumeConcurrency?: number;
1690
+ },
1691
+ {
1692
+ appName: string;
1693
+ errors: Array<string>;
1694
+ machineIdsDeleted: Array<string>;
1695
+ machineIdsRemaining: Array<string>;
1696
+ machinesDeleted: number;
1697
+ machinesFound: number;
1698
+ machinesRemaining: number;
1699
+ volumeIdsDeleted: Array<string>;
1700
+ volumeIdsRemaining: Array<string>;
1701
+ volumesDeleted: number;
1702
+ volumesFound: number;
1703
+ volumesRemaining: number;
1704
+ warnings: Array<string>;
1705
+ },
1706
+ Name
1707
+ >;
1636
1708
  secretStatus: FunctionReference<
1637
1709
  "query",
1638
1710
  "internal",
@@ -0,0 +1,386 @@
1
+ import { v } from "convex/values";
2
+ import { api, internal } from "./_generated/api.js";
3
+ import { action } from "./_generated/server.js";
4
+ import type { ActionCtx } from "./_generated/server.js";
5
+ import { DEFAULT_CONFIG, providerConfigValidator } from "./config.js";
6
+
7
+ const DEFAULT_MACHINE_CONCURRENCY = 6;
8
+ const DEFAULT_VOLUME_CONCURRENCY = 16;
9
+
10
+ const cleanupReportValidator = v.object({
11
+ appName: v.string(),
12
+ machinesFound: v.number(),
13
+ machinesDeleted: v.number(),
14
+ machinesRemaining: v.number(),
15
+ machineIdsDeleted: v.array(v.string()),
16
+ machineIdsRemaining: v.array(v.string()),
17
+ volumesFound: v.number(),
18
+ volumesDeleted: v.number(),
19
+ volumesRemaining: v.number(),
20
+ volumeIdsDeleted: v.array(v.string()),
21
+ volumeIdsRemaining: v.array(v.string()),
22
+ warnings: v.array(v.string()),
23
+ errors: v.array(v.string()),
24
+ });
25
+
26
+ type CleanupReport = {
27
+ appName: string;
28
+ machinesFound: number;
29
+ machinesDeleted: number;
30
+ machinesRemaining: number;
31
+ machineIdsDeleted: Array<string>;
32
+ machineIdsRemaining: Array<string>;
33
+ volumesFound: number;
34
+ volumesDeleted: number;
35
+ volumesRemaining: number;
36
+ volumeIdsDeleted: Array<string>;
37
+ volumeIdsRemaining: Array<string>;
38
+ warnings: Array<string>;
39
+ errors: Array<string>;
40
+ };
41
+
42
+ type ProviderConfig = typeof DEFAULT_CONFIG.provider;
43
+
44
+ type FlyMachine = {
45
+ id: string;
46
+ name?: string;
47
+ };
48
+
49
+ type FlyVolume = {
50
+ id: string;
51
+ name?: string;
52
+ };
53
+
54
+ type MachineCleanupResult = {
55
+ machineId: string;
56
+ deleted: boolean;
57
+ warnings: Array<string>;
58
+ error: string | null;
59
+ };
60
+
61
+ type VolumeCleanupResult = {
62
+ volumeId: string;
63
+ deleted: boolean;
64
+ warnings: Array<string>;
65
+ error: string | null;
66
+ };
67
+
68
+ export const runFlyCleanup = action({
69
+ args: {
70
+ flyApiToken: v.optional(v.string()),
71
+ machineConcurrency: v.optional(v.number()),
72
+ providerConfig: v.optional(providerConfigValidator),
73
+ volumeConcurrency: v.optional(v.number()),
74
+ },
75
+ returns: cleanupReportValidator,
76
+ handler: async (ctx, args): Promise<CleanupReport> => {
77
+ const providerConfig = await resolveProviderConfig(ctx, args.providerConfig);
78
+ if (providerConfig.kind !== "fly") {
79
+ throw new Error("Fly cleanup requires a Fly provider configuration.");
80
+ }
81
+
82
+ const appName = providerConfig.appName.trim();
83
+ if (appName.length === 0) {
84
+ throw new Error("Fly cleanup requires a non-empty Fly app name.");
85
+ }
86
+
87
+ const flyApiToken = await resolveFlyApiToken(ctx, args.flyApiToken);
88
+ const client = new FlyApiClient(flyApiToken);
89
+ const machineConcurrency = normalizeConcurrency(
90
+ args.machineConcurrency,
91
+ DEFAULT_MACHINE_CONCURRENCY,
92
+ );
93
+ const volumeConcurrency = normalizeConcurrency(
94
+ args.volumeConcurrency,
95
+ DEFAULT_VOLUME_CONCURRENCY,
96
+ );
97
+
98
+ await client.verifyAppAccess(appName);
99
+
100
+ const warnings: Array<string> = [];
101
+ const errors: Array<string> = [];
102
+
103
+ const initialMachines = await client.listMachines(appName);
104
+ const machineResults = await runWithConcurrency(
105
+ initialMachines,
106
+ machineConcurrency,
107
+ async (machine) => cleanupMachine(client, appName, machine),
108
+ );
109
+ for (const result of machineResults) {
110
+ warnings.push(...result.warnings);
111
+ if (result.error) {
112
+ errors.push(result.error);
113
+ }
114
+ }
115
+
116
+ const remainingMachines = await client.listMachines(appName);
117
+ if (remainingMachines.length > 0) {
118
+ warnings.push(
119
+ `Fly cleanup left ${remainingMachines.length} machine(s) after verification: ${remainingMachines
120
+ .map((machine) => machine.id)
121
+ .join(", ")}`,
122
+ );
123
+ }
124
+
125
+ const initialVolumes = await client.listVolumes(appName);
126
+ const volumeResults = await runWithConcurrency(
127
+ initialVolumes,
128
+ volumeConcurrency,
129
+ async (volume) => cleanupVolume(client, appName, volume),
130
+ );
131
+ for (const result of volumeResults) {
132
+ warnings.push(...result.warnings);
133
+ if (result.error) {
134
+ errors.push(result.error);
135
+ }
136
+ }
137
+
138
+ const remainingVolumes = await client.listVolumes(appName);
139
+ if (remainingVolumes.length > 0) {
140
+ warnings.push(
141
+ `Fly cleanup left ${remainingVolumes.length} volume(s) after verification: ${remainingVolumes
142
+ .map((volume) => volume.id)
143
+ .join(", ")}`,
144
+ );
145
+ }
146
+
147
+ return {
148
+ appName,
149
+ machinesFound: initialMachines.length,
150
+ machinesDeleted: machineResults.filter((result) => result.deleted).length,
151
+ machinesRemaining: remainingMachines.length,
152
+ machineIdsDeleted: machineResults
153
+ .filter((result) => result.deleted)
154
+ .map((result) => result.machineId),
155
+ machineIdsRemaining: remainingMachines.map((machine) => machine.id),
156
+ volumesFound: initialVolumes.length,
157
+ volumesDeleted: volumeResults.filter((result) => result.deleted).length,
158
+ volumesRemaining: remainingVolumes.length,
159
+ volumeIdsDeleted: volumeResults
160
+ .filter((result) => result.deleted)
161
+ .map((result) => result.volumeId),
162
+ volumeIdsRemaining: remainingVolumes.map((volume) => volume.id),
163
+ warnings,
164
+ errors,
165
+ };
166
+ },
167
+ });
168
+
169
+ async function resolveProviderConfig(
170
+ ctx: Pick<ActionCtx, "runQuery">,
171
+ providerConfigOverride: ProviderConfig | undefined,
172
+ ): Promise<ProviderConfig> {
173
+ if (providerConfigOverride) {
174
+ return providerConfigOverride;
175
+ }
176
+ const runtimeConfig = await ctx.runQuery(api.queue.providerRuntimeConfig, {});
177
+ return runtimeConfig ?? DEFAULT_CONFIG.provider;
178
+ }
179
+
180
+ async function resolveFlyApiToken(
181
+ ctx: Pick<ActionCtx, "runQuery">,
182
+ flyApiTokenOverride: string | undefined,
183
+ ): Promise<string> {
184
+ const inlineToken = flyApiTokenOverride?.trim();
185
+ if (inlineToken) {
186
+ return inlineToken;
187
+ }
188
+ const storedToken = await ctx.runQuery(internal.queue.getActiveSecretPlaintext, {
189
+ secretRef: "fly.apiToken",
190
+ });
191
+ const normalized = storedToken?.trim();
192
+ if (!normalized) {
193
+ throw new Error("Missing active 'fly.apiToken' secret. Import it before running Fly cleanup.");
194
+ }
195
+ return normalized;
196
+ }
197
+
198
+ async function cleanupMachine(
199
+ client: FlyApiClient,
200
+ appName: string,
201
+ machine: FlyMachine,
202
+ ): Promise<MachineCleanupResult> {
203
+ const warnings: Array<string> = [];
204
+
205
+ try {
206
+ await client.cordonMachine(appName, machine.id);
207
+ } catch (error) {
208
+ if (isFlyNotFoundError(error)) {
209
+ return { machineId: machine.id, deleted: true, warnings, error: null };
210
+ }
211
+ warnings.push(`Machine ${machine.id}: cordon warning (${describeError(error)})`);
212
+ }
213
+
214
+ try {
215
+ await client.stopMachine(appName, machine.id);
216
+ } catch (error) {
217
+ if (isFlyNotFoundError(error)) {
218
+ return { machineId: machine.id, deleted: true, warnings, error: null };
219
+ }
220
+ warnings.push(`Machine ${machine.id}: stop warning (${describeError(error)})`);
221
+ }
222
+
223
+ try {
224
+ await client.deleteMachine(appName, machine.id);
225
+ return { machineId: machine.id, deleted: true, warnings, error: null };
226
+ } catch (error) {
227
+ if (isFlyNotFoundError(error)) {
228
+ return { machineId: machine.id, deleted: true, warnings, error: null };
229
+ }
230
+ return {
231
+ machineId: machine.id,
232
+ deleted: false,
233
+ warnings,
234
+ error: `Machine ${machine.id}: destroy failed (${describeError(error)})`,
235
+ };
236
+ }
237
+ }
238
+
239
+ async function cleanupVolume(
240
+ client: FlyApiClient,
241
+ appName: string,
242
+ volume: FlyVolume,
243
+ ): Promise<VolumeCleanupResult> {
244
+ try {
245
+ await client.deleteVolume(appName, volume.id);
246
+ return { volumeId: volume.id, deleted: true, warnings: [], error: null };
247
+ } catch (error) {
248
+ if (isFlyNotFoundError(error)) {
249
+ return { volumeId: volume.id, deleted: true, warnings: [], error: null };
250
+ }
251
+ return {
252
+ volumeId: volume.id,
253
+ deleted: false,
254
+ warnings: [],
255
+ error: `Volume ${volume.id}: destroy failed (${describeError(error)})`,
256
+ };
257
+ }
258
+ }
259
+
260
+ async function runWithConcurrency<TInput, TOutput>(
261
+ items: Array<TInput>,
262
+ concurrency: number,
263
+ worker: (item: TInput, index: number) => Promise<TOutput>,
264
+ ): Promise<Array<TOutput>> {
265
+ if (items.length === 0) {
266
+ return [];
267
+ }
268
+
269
+ const results = new Array<TOutput>(items.length);
270
+ let nextIndex = 0;
271
+ const workerCount = Math.min(concurrency, items.length);
272
+
273
+ await Promise.all(
274
+ Array.from({ length: workerCount }, async () => {
275
+ while (nextIndex < items.length) {
276
+ const currentIndex = nextIndex;
277
+ nextIndex += 1;
278
+ results[currentIndex] = await worker(items[currentIndex], currentIndex);
279
+ }
280
+ }),
281
+ );
282
+
283
+ return results;
284
+ }
285
+
286
+ function normalizeConcurrency(value: number | undefined, fallback: number): number {
287
+ if (value === undefined || !Number.isFinite(value)) {
288
+ return fallback;
289
+ }
290
+ return Math.max(1, Math.floor(value));
291
+ }
292
+
293
+ class FlyApiClient {
294
+ constructor(private readonly apiToken: string) {}
295
+
296
+ async verifyAppAccess(appName: string): Promise<void> {
297
+ await this.request<void>({
298
+ method: "GET",
299
+ path: `/apps/${encodeURIComponent(appName)}`,
300
+ });
301
+ }
302
+
303
+ async listMachines(appName: string): Promise<Array<FlyMachine>> {
304
+ return await this.request<Array<FlyMachine>>({
305
+ method: "GET",
306
+ path: `/apps/${encodeURIComponent(appName)}/machines`,
307
+ });
308
+ }
309
+
310
+ async listVolumes(appName: string): Promise<Array<FlyVolume>> {
311
+ return await this.request<Array<FlyVolume>>({
312
+ method: "GET",
313
+ path: `/apps/${encodeURIComponent(appName)}/volumes`,
314
+ });
315
+ }
316
+
317
+ async cordonMachine(appName: string, machineId: string): Promise<void> {
318
+ await this.request<void>({
319
+ method: "POST",
320
+ path: `/apps/${encodeURIComponent(appName)}/machines/${encodeURIComponent(machineId)}/cordon`,
321
+ });
322
+ }
323
+
324
+ async stopMachine(appName: string, machineId: string): Promise<void> {
325
+ await this.request<void>({
326
+ method: "POST",
327
+ path: `/apps/${encodeURIComponent(appName)}/machines/${encodeURIComponent(machineId)}/stop`,
328
+ });
329
+ }
330
+
331
+ async deleteMachine(appName: string, machineId: string): Promise<void> {
332
+ await this.request<void>({
333
+ method: "DELETE",
334
+ path: `/apps/${encodeURIComponent(appName)}/machines/${encodeURIComponent(machineId)}`,
335
+ });
336
+ }
337
+
338
+ async deleteVolume(appName: string, volumeId: string): Promise<void> {
339
+ await this.request<void>({
340
+ method: "DELETE",
341
+ path: `/apps/${encodeURIComponent(appName)}/volumes/${encodeURIComponent(volumeId)}`,
342
+ });
343
+ }
344
+
345
+ private async request<T>(input: {
346
+ method: "GET" | "POST" | "DELETE";
347
+ path: string;
348
+ }): Promise<T> {
349
+ const response = await fetch(`https://api.machines.dev/v1${input.path}`, {
350
+ method: input.method,
351
+ headers: {
352
+ Authorization: `Bearer ${this.apiToken}`,
353
+ "Content-Type": "application/json",
354
+ },
355
+ });
356
+
357
+ if (!response.ok) {
358
+ const body = await response.text();
359
+ throw new Error(`Fly API ${input.method} ${input.path} failed: ${body || response.statusText}`);
360
+ }
361
+
362
+ if (response.status === 204 || input.method === "DELETE") {
363
+ return undefined as T;
364
+ }
365
+
366
+ const text = await response.text();
367
+ if (!text) {
368
+ return undefined as T;
369
+ }
370
+ return JSON.parse(text) as T;
371
+ }
372
+ }
373
+
374
+ function isFlyNotFoundError(error: unknown): boolean {
375
+ if (!(error instanceof Error)) {
376
+ return false;
377
+ }
378
+ return /not found|unknown machine|does not exist/i.test(error.message);
379
+ }
380
+
381
+ function describeError(error: unknown): string {
382
+ if (error instanceof Error) {
383
+ return error.message;
384
+ }
385
+ return String(error);
386
+ }