@okrlinkhub/agent-factory 0.2.6 → 0.2.7

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.
@@ -71,7 +71,37 @@ export const checkIdleShutdowns = action({
71
71
  async function runReconcileWorkerPool(ctx, args) {
72
72
  const nowMs = args.nowMs ?? Date.now();
73
73
  const scaling = args.scalingPolicy ?? DEFAULT_CONFIG.scaling;
74
- const providerConfig = ensureProviderConfig(args.providerConfig ?? DEFAULT_CONFIG.provider);
74
+ // Always recover expired leases before scaling decisions.
75
+ // This prevents stale "processing" jobs from blocking queue drain forever.
76
+ try {
77
+ await ctx.runMutation(internal.queue.releaseExpiredLeases, {
78
+ nowMs,
79
+ limit: 500,
80
+ });
81
+ }
82
+ catch (error) {
83
+ console.warn(`[scheduler] releaseExpiredLeases failed: ${error instanceof Error ? error.message : String(error)}`);
84
+ }
85
+ const activeConversationCount = await ctx.runQuery(internal.queue.getActiveConversationCountForScheduler, { nowMs, limit: 1000 });
86
+ let workerRows = await ctx.runQuery(internal.queue.listWorkersForScheduler, {});
87
+ const staleHeartbeatCutoff = nowMs - DEFAULT_CONFIG.lease.staleAfterMs;
88
+ const healthyActiveWorkers = workerRows.filter((worker) => worker.status === "active" && worker.heartbeatAt > staleHeartbeatCutoff).length;
89
+ let providerConfig;
90
+ try {
91
+ providerConfig = ensureProviderConfig(args.providerConfig ?? DEFAULT_CONFIG.provider);
92
+ }
93
+ catch (error) {
94
+ if (isMissingProviderConfigError(error)) {
95
+ // Best-effort mode: avoid noisy warnings when providerConfig is not passed on enqueue.
96
+ // Existing healthy workers can still drain the queue.
97
+ return {
98
+ activeWorkers: healthyActiveWorkers,
99
+ spawned: 0,
100
+ terminated: 0,
101
+ };
102
+ }
103
+ throw error;
104
+ }
75
105
  const flyApiToken = args.flyApiToken ??
76
106
  (await ctx.runQuery(internal.queue.getActiveSecretPlaintext, {
77
107
  secretRef: "fly.apiToken",
@@ -88,19 +118,6 @@ async function runReconcileWorkerPool(ctx, args) {
88
118
  }
89
119
  const workspaceId = args.workspaceId ?? "default";
90
120
  const provider = resolveProvider(providerConfig.kind, flyApiToken);
91
- // Always recover expired leases before scaling decisions.
92
- // This prevents stale "processing" jobs from blocking queue drain forever.
93
- try {
94
- await ctx.runMutation(internal.queue.releaseExpiredLeases, {
95
- nowMs,
96
- limit: 500,
97
- });
98
- }
99
- catch (error) {
100
- console.warn(`[scheduler] releaseExpiredLeases failed: ${error instanceof Error ? error.message : String(error)}`);
101
- }
102
- const activeConversationCount = await ctx.runQuery(internal.queue.getActiveConversationCountForScheduler, { nowMs, limit: 1000 });
103
- let workerRows = await ctx.runQuery(internal.queue.listWorkersForScheduler, {});
104
121
  const localWorkersWithMachine = workerRows.filter((worker) => worker.machineId &&
105
122
  (worker.appName === null || worker.appName === providerConfig.appName));
106
123
  const liveMachineIds = new Set();
@@ -151,7 +168,6 @@ async function runReconcileWorkerPool(ctx, args) {
151
168
  if (dedicatedVolumeMode && unconstrainedTargetWorkers > 1) {
152
169
  console.warn(`[scheduler] dedicated volume mode enabled for ${providerConfig.volumeName}; clamping desired workers to 1`);
153
170
  }
154
- const staleHeartbeatCutoff = nowMs - DEFAULT_CONFIG.lease.staleAfterMs;
155
171
  const activeWorkers = workerRows.filter((worker) => worker.status === "active" && worker.heartbeatAt > staleHeartbeatCutoff).length;
156
172
  if (targetActiveWorkers > activeWorkers) {
157
173
  const toSpawn = Math.min(scaling.spawnStep, targetActiveWorkers - activeWorkers);
@@ -235,7 +251,21 @@ async function runReconcileWorkerPool(ctx, args) {
235
251
  }
236
252
  async function runEnforceIdleShutdowns(ctx, args) {
237
253
  const nowMs = args.nowMs ?? Date.now();
238
- const providerConfig = ensureProviderConfig(args.providerConfig ?? DEFAULT_CONFIG.provider);
254
+ let providerConfig;
255
+ try {
256
+ providerConfig = ensureProviderConfig(args.providerConfig ?? DEFAULT_CONFIG.provider);
257
+ }
258
+ catch (error) {
259
+ if (isMissingProviderConfigError(error)) {
260
+ return {
261
+ checked: 0,
262
+ stopped: 0,
263
+ pending: 0,
264
+ nextCheckScheduled: false,
265
+ };
266
+ }
267
+ throw error;
268
+ }
239
269
  const flyApiToken = args.flyApiToken ??
240
270
  (await ctx.runQuery(internal.queue.getActiveSecretPlaintext, {
241
271
  secretRef: "fly.apiToken",
@@ -348,6 +378,10 @@ function ensureProviderConfig(providerConfig) {
348
378
  }
349
379
  return providerConfig;
350
380
  }
381
+ function isMissingProviderConfigError(error) {
382
+ const message = error instanceof Error ? error.message : String(error);
383
+ return message.includes("Missing providerConfig.");
384
+ }
351
385
  function clamp(value, min, max) {
352
386
  return Math.max(min, Math.min(max, value));
353
387
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/component/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/component/scheduler.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": "0.2.6",
12
+ "version": "0.2.7",
13
13
  "license": "Apache-2.0",
14
14
  "keywords": [
15
15
  "convex",
@@ -99,30 +99,6 @@ async function runReconcileWorkerPool(
99
99
  ) {
100
100
  const nowMs = args.nowMs ?? Date.now();
101
101
  const scaling = args.scalingPolicy ?? DEFAULT_CONFIG.scaling;
102
- const providerConfig = ensureProviderConfig(args.providerConfig ?? DEFAULT_CONFIG.provider);
103
- const flyApiToken =
104
- args.flyApiToken ??
105
- (await ctx.runQuery(internal.queue.getActiveSecretPlaintext, {
106
- secretRef: "fly.apiToken",
107
- }));
108
- if (!flyApiToken) {
109
- throw new Error(
110
- "Missing Fly API token. Import an active 'fly.apiToken' secret or pass flyApiToken explicitly.",
111
- );
112
- }
113
- const convexUrl =
114
- args.convexUrl ??
115
- (await ctx.runQuery(internal.queue.getActiveSecretPlaintext, {
116
- secretRef: "convex.url",
117
- }));
118
- if (!convexUrl) {
119
- throw new Error(
120
- "Missing Convex URL. Import an active 'convex.url' secret or pass convexUrl explicitly.",
121
- );
122
- }
123
- const workspaceId = args.workspaceId ?? "default";
124
- const provider = resolveProvider(providerConfig.kind, flyApiToken);
125
-
126
102
  // Always recover expired leases before scaling decisions.
127
103
  // This prevents stale "processing" jobs from blocking queue drain forever.
128
104
  try {
@@ -154,6 +130,49 @@ async function runReconcileWorkerPool(
154
130
  appName: string | null;
155
131
  region: string | null;
156
132
  }> = await ctx.runQuery((internal.queue as any).listWorkersForScheduler, {});
133
+ const staleHeartbeatCutoff = nowMs - DEFAULT_CONFIG.lease.staleAfterMs;
134
+ const healthyActiveWorkers = workerRows.filter(
135
+ (worker) => worker.status === "active" && worker.heartbeatAt > staleHeartbeatCutoff,
136
+ ).length;
137
+
138
+ let providerConfig: typeof DEFAULT_CONFIG.provider;
139
+ try {
140
+ providerConfig = ensureProviderConfig(args.providerConfig ?? DEFAULT_CONFIG.provider);
141
+ } catch (error) {
142
+ if (isMissingProviderConfigError(error)) {
143
+ // Best-effort mode: avoid noisy warnings when providerConfig is not passed on enqueue.
144
+ // Existing healthy workers can still drain the queue.
145
+ return {
146
+ activeWorkers: healthyActiveWorkers,
147
+ spawned: 0,
148
+ terminated: 0,
149
+ };
150
+ }
151
+ throw error;
152
+ }
153
+
154
+ const flyApiToken =
155
+ args.flyApiToken ??
156
+ (await ctx.runQuery(internal.queue.getActiveSecretPlaintext, {
157
+ secretRef: "fly.apiToken",
158
+ }));
159
+ if (!flyApiToken) {
160
+ throw new Error(
161
+ "Missing Fly API token. Import an active 'fly.apiToken' secret or pass flyApiToken explicitly.",
162
+ );
163
+ }
164
+ const convexUrl =
165
+ args.convexUrl ??
166
+ (await ctx.runQuery(internal.queue.getActiveSecretPlaintext, {
167
+ secretRef: "convex.url",
168
+ }));
169
+ if (!convexUrl) {
170
+ throw new Error(
171
+ "Missing Convex URL. Import an active 'convex.url' secret or pass convexUrl explicitly.",
172
+ );
173
+ }
174
+ const workspaceId = args.workspaceId ?? "default";
175
+ const provider = resolveProvider(providerConfig.kind, flyApiToken);
157
176
 
158
177
  const localWorkersWithMachine = workerRows.filter(
159
178
  (worker) =>
@@ -219,7 +238,6 @@ async function runReconcileWorkerPool(
219
238
  `[scheduler] dedicated volume mode enabled for ${providerConfig.volumeName}; clamping desired workers to 1`,
220
239
  );
221
240
  }
222
- const staleHeartbeatCutoff = nowMs - DEFAULT_CONFIG.lease.staleAfterMs;
223
241
  const activeWorkers = workerRows.filter(
224
242
  (worker) => worker.status === "active" && worker.heartbeatAt > staleHeartbeatCutoff,
225
243
  ).length;
@@ -320,7 +338,20 @@ async function runEnforceIdleShutdowns(
320
338
  },
321
339
  ) {
322
340
  const nowMs = args.nowMs ?? Date.now();
323
- const providerConfig = ensureProviderConfig(args.providerConfig ?? DEFAULT_CONFIG.provider);
341
+ let providerConfig: typeof DEFAULT_CONFIG.provider;
342
+ try {
343
+ providerConfig = ensureProviderConfig(args.providerConfig ?? DEFAULT_CONFIG.provider);
344
+ } catch (error) {
345
+ if (isMissingProviderConfigError(error)) {
346
+ return {
347
+ checked: 0,
348
+ stopped: 0,
349
+ pending: 0,
350
+ nextCheckScheduled: false,
351
+ };
352
+ }
353
+ throw error;
354
+ }
324
355
  const flyApiToken =
325
356
  args.flyApiToken ??
326
357
  (await ctx.runQuery(internal.queue.getActiveSecretPlaintext, {
@@ -468,6 +499,11 @@ function ensureProviderConfig(providerConfig: typeof DEFAULT_CONFIG.provider) {
468
499
  return providerConfig;
469
500
  }
470
501
 
502
+ function isMissingProviderConfigError(error: unknown): boolean {
503
+ const message = error instanceof Error ? error.message : String(error);
504
+ return message.includes("Missing providerConfig.");
505
+ }
506
+
471
507
  function clamp(value: number, min: number, max: number): number {
472
508
  return Math.max(min, Math.min(max, value));
473
509
  }