@deepnoodle/mobius 0.0.26 → 0.0.29

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.
package/dist/worker.js CHANGED
@@ -69,9 +69,25 @@ export class Worker {
69
69
  this.config = config;
70
70
  this.actions = new Map();
71
71
  this.generators = new Map();
72
+ // Concrete provider/model pairs passed to registerGenerator (wildcards
73
+ // excluded). Merged with config.models when advertising so a registered
74
+ // generator is always announced — the advertised set and the handler set
75
+ // cannot drift.
76
+ this.registeredModels = [];
72
77
  this.sessionToken = "";
73
78
  this.stopping = false;
74
79
  this.stopController = new AbortController();
80
+ // claimResponseTimeoutMs bounds how long an outstanding jobs.claim may go
81
+ // unanswered before the worker abandons the socket and reconnects. The server
82
+ // answers a claim within its long-poll window (tens of seconds) even when
83
+ // idle — returning an empty jobs.claimed — so a claim unanswered well past
84
+ // that means the frame or its response was lost, or a server-side handler
85
+ // wedged. Without this bound a single lost claim/response strands the worker:
86
+ // claimOutstanding stays set, work.available and post-job re-claims both
87
+ // no-op, no further claims are sent, and Mobius Cloud's dead-worker reaper
88
+ // eventually fails the run's pending jobs as environment_worker_unavailable.
89
+ // Overridable in tests.
90
+ this.claimResponseTimeoutMs = 60000;
75
91
  this.logger =
76
92
  config.logger === null ? silentLogger : (config.logger ?? defaultLogger);
77
93
  if (actions) {
@@ -85,6 +101,13 @@ export class Worker {
85
101
  }
86
102
  registerGenerator(provider, model, fn) {
87
103
  this.generators.set(`${provider}/${model}`, fn);
104
+ // A concrete provider/model is advertised automatically (as if added to
105
+ // config.models) so it appears in the worker-model catalog and is routable.
106
+ // A "*" wildcard has no concrete model id to advertise; pair it with an
107
+ // explicit config.models entry to make it routable.
108
+ if (model !== "*") {
109
+ this.registeredModels.push({ provider, model });
110
+ }
88
111
  return this;
89
112
  }
90
113
  stop() {
@@ -118,71 +141,149 @@ export class Worker {
118
141
  }
119
142
  }
120
143
  }
144
+ // openSocket dials the worker WebSocket. Isolated so tests can substitute a
145
+ // fake socket and drive the frame loop deterministically.
146
+ openSocket() {
147
+ return new WebSocket(this.client.workerSocketURL());
148
+ }
121
149
  async runSocket(signal) {
122
- const ws = new WebSocket(this.client.workerSocketURL());
150
+ const ws = this.openSocket();
123
151
  const concurrency = this.config.concurrency && this.config.concurrency > 0
124
152
  ? this.config.concurrency
125
153
  : 1;
126
154
  const running = new Map();
127
155
  let claimOutstanding = false;
128
- await waitForOpen(ws, signal);
129
- ws.send(JSON.stringify(this.registerFrame(concurrency)));
130
- for await (const frame of socketFrames(ws, signal)) {
131
- switch (frame.type) {
132
- case "worker.registered":
133
- this.sessionToken = String(frame.worker_session_token ?? "");
134
- this.claim(ws, concurrency, running.size, claimOutstanding);
135
- claimOutstanding = true;
136
- break;
137
- case "jobs.claimed":
138
- claimOutstanding = false;
139
- for (const job of (frame.jobs ?? [])) {
140
- if (running.size >= concurrency)
141
- break;
142
- const ctrl = new AbortController();
143
- running.set(job.id, ctrl);
144
- void this.executeJob(ws, job, ctrl.signal).finally(() => {
145
- running.delete(job.id);
146
- this.claim(ws, concurrency, running.size, claimOutstanding);
147
- claimOutstanding = true;
148
- });
149
- }
150
- break;
151
- case "work.available":
152
- this.claim(ws, concurrency, running.size, claimOutstanding);
153
- claimOutstanding = true;
154
- break;
155
- case "job.cancel": {
156
- const ctrl = running.get(String(frame.job_id));
157
- ctrl?.abort();
158
- break;
159
- }
160
- case "job.heartbeat.ack": {
161
- const cancel = frame.cancel;
162
- if (cancel?.job_id)
163
- running.get(cancel.job_id)?.abort();
164
- break;
156
+ let outstandingClaimId;
157
+ // claimDeadline drops the socket when an outstanding jobs.claim goes
158
+ // unanswered for claimResponseTimeoutMs, forcing run() to reconnect for a
159
+ // clean slate (re-register + fresh claim). See the field doc.
160
+ let claimTimer;
161
+ let claimTimedOut = false;
162
+ const disarmClaimDeadline = () => {
163
+ if (claimTimer !== undefined) {
164
+ clearTimeout(claimTimer);
165
+ claimTimer = undefined;
166
+ }
167
+ };
168
+ const armClaimDeadline = () => {
169
+ disarmClaimDeadline();
170
+ claimTimer = setTimeout(() => {
171
+ claimTimer = undefined;
172
+ claimTimedOut = true;
173
+ try {
174
+ ws.close();
165
175
  }
166
- case "worker.drain":
167
- this.stopping = true;
168
- ws.send(JSON.stringify({ type: "worker.draining", message_id: msgID() }));
169
- break;
170
- case "keepalive":
171
- ws.send(JSON.stringify({ type: "keepalive", message_id: msgID() }));
172
- break;
173
- case "error": {
174
- const terminal = this.terminalProtocolError(frame.error);
175
- if (terminal)
176
- throw terminal;
177
- this.logger.error("[mobius] worker socket protocol error", frame.error);
178
- break;
176
+ catch {
177
+ // ignore
179
178
  }
180
- }
181
- if (this.stopping && running.size === 0) {
182
- ws.close();
179
+ }, this.claimResponseTimeoutMs);
180
+ };
181
+ const claim = () => {
182
+ if (claimOutstanding || this.stopping)
183
+ return;
184
+ const available = concurrency - running.size;
185
+ if (available <= 0)
183
186
  return;
187
+ const messageId = msgID();
188
+ const actions = this.config.actions?.length
189
+ ? this.config.actions
190
+ : [...this.actions.keys()].sort();
191
+ const frame = removeUndefined({
192
+ type: "jobs.claim",
193
+ message_id: messageId,
194
+ available_slots: available,
195
+ queues: this.config.queues?.length ? this.config.queues : undefined,
196
+ action_names: actions.length ? actions : undefined,
197
+ models: this.modelCapabilities(),
198
+ });
199
+ claimOutstanding = true;
200
+ outstandingClaimId = messageId;
201
+ ws.send(JSON.stringify(frame));
202
+ // Bound how long this claim may go unanswered; a lost claim/response
203
+ // would otherwise strand the worker until the connection's max-age.
204
+ armClaimDeadline();
205
+ };
206
+ try {
207
+ await waitForOpen(ws, signal);
208
+ ws.send(JSON.stringify(this.registerFrame(concurrency)));
209
+ for await (const frame of socketFrames(ws, signal)) {
210
+ switch (frame.type) {
211
+ case "worker.registered":
212
+ this.sessionToken = String(frame.worker_session_token ?? "");
213
+ claim();
214
+ break;
215
+ case "jobs.claimed":
216
+ claimOutstanding = false;
217
+ disarmClaimDeadline();
218
+ for (const job of (frame.jobs ?? [])) {
219
+ if (running.size >= concurrency)
220
+ break;
221
+ const ctrl = new AbortController();
222
+ running.set(job.id, ctrl);
223
+ void this.executeJob(ws, job, ctrl.signal).finally(() => {
224
+ running.delete(job.id);
225
+ claim();
226
+ });
227
+ }
228
+ // An empty jobs.claimed does not re-claim here: the per-job
229
+ // re-claim above drains any backlog, and there is no hot-poll to
230
+ // guard against (cf. the Go worker's ticker-driven claim loop).
231
+ break;
232
+ case "work.available":
233
+ claim();
234
+ break;
235
+ case "job.cancel": {
236
+ const ctrl = running.get(String(frame.job_id));
237
+ ctrl?.abort();
238
+ break;
239
+ }
240
+ case "job.heartbeat.ack": {
241
+ const cancel = frame.cancel;
242
+ if (cancel?.job_id)
243
+ running.get(cancel.job_id)?.abort();
244
+ break;
245
+ }
246
+ case "worker.drain":
247
+ this.stopping = true;
248
+ ws.send(JSON.stringify({ type: "worker.draining", message_id: msgID() }));
249
+ break;
250
+ case "keepalive":
251
+ ws.send(JSON.stringify({ type: "keepalive", message_id: msgID() }));
252
+ break;
253
+ case "error": {
254
+ const terminal = this.terminalProtocolError(frame.error);
255
+ if (terminal)
256
+ throw terminal;
257
+ // If this nonterminal error answers our outstanding claim (matched
258
+ // by message id), clear claimOutstanding so the next work.available
259
+ // or post-job re-claim issues a fresh claim. Otherwise a claim the
260
+ // server rejects with a recoverable error would stay "in flight"
261
+ // forever and silently stop the worker from claiming.
262
+ if (claimOutstanding &&
263
+ outstandingClaimId &&
264
+ String(frame.message_id ?? "") === outstandingClaimId) {
265
+ claimOutstanding = false;
266
+ disarmClaimDeadline();
267
+ }
268
+ this.logger.error("[mobius] worker socket protocol error", frame.error);
269
+ break;
270
+ }
271
+ }
272
+ if (this.stopping && running.size === 0) {
273
+ ws.close();
274
+ return;
275
+ }
184
276
  }
185
277
  }
278
+ finally {
279
+ disarmClaimDeadline();
280
+ }
281
+ // A fired claim deadline means this socket is a dead work channel; surface
282
+ // it as an error so run() logs and reconnects, rather than treating the
283
+ // closed socket as a clean shutdown.
284
+ if (claimTimedOut && !this.stopping && !signal?.aborted) {
285
+ throw new Error(`[mobius] jobs.claim went unanswered for ${this.claimResponseTimeoutMs}ms; reconnecting`);
286
+ }
186
287
  }
187
288
  // terminalProtocolError maps a worker-socket protocol error frame to a
188
289
  // terminal error the worker must not reconnect through, or undefined for
@@ -217,30 +318,22 @@ export class Worker {
217
318
  models: this.modelCapabilities(),
218
319
  });
219
320
  }
220
- claim(ws, concurrency, running, outstanding) {
221
- if (outstanding || this.stopping)
222
- return;
223
- const available = concurrency - running;
224
- if (available <= 0)
225
- return;
226
- const actions = this.config.actions?.length
227
- ? this.config.actions
228
- : [...this.actions.keys()].sort();
229
- const frame = removeUndefined({
230
- type: "jobs.claim",
231
- message_id: msgID(),
232
- available_slots: available,
233
- queues: this.config.queues?.length ? this.config.queues : undefined,
234
- action_names: actions.length ? actions : undefined,
235
- models: this.modelCapabilities(),
236
- });
237
- ws.send(JSON.stringify(frame));
238
- }
321
+ // modelCapabilities is the set of models the worker announces to Mobius Cloud:
322
+ // the explicit config.models plus every concrete model registered via
323
+ // registerGenerator, deduplicated and with wildcards excluded.
239
324
  modelCapabilities() {
240
- const models = this.config.models
241
- ?.filter((m) => m.provider && m.model)
242
- .map((m) => ({ provider: m.provider, model: m.model }));
243
- return models && models.length > 0 ? models : undefined;
325
+ const seen = new Set();
326
+ const models = [];
327
+ for (const m of [...(this.config.models ?? []), ...this.registeredModels]) {
328
+ if (!m.provider || !m.model || m.model === "*")
329
+ continue;
330
+ const key = `${m.provider}/${m.model}`;
331
+ if (seen.has(key))
332
+ continue;
333
+ seen.add(key);
334
+ models.push({ provider: m.provider, model: m.model });
335
+ }
336
+ return models.length > 0 ? models : undefined;
244
337
  }
245
338
  async executeJob(ws, job, signal) {
246
339
  const heartbeat = setInterval(() => {
@@ -359,7 +452,11 @@ export class WorkerPool {
359
452
  const workers = Array.from({ length: count }, (_, i) => {
360
453
  const worker = new Worker(this.client, { ...this.config, workerInstanceId: `${prefix}-${i + 1}` }, this.actions);
361
454
  for (const [key, fn] of this.generators) {
362
- const [provider, model] = key.split("/", 2);
455
+ // Split on the first "/" only: model ids may contain slashes
456
+ // (e.g. "meta-llama/Llama-3"), which "/".split(key, 2) would truncate.
457
+ const slash = key.indexOf("/");
458
+ const provider = key.slice(0, slash);
459
+ const model = key.slice(slash + 1);
363
460
  worker.registerGenerator(provider, model, fn);
364
461
  }
365
462
  return worker.run(signal);
@@ -402,7 +499,10 @@ function mergeSignals(...signals) {
402
499
  }
403
500
  function waitForOpen(ws, signal) {
404
501
  return new Promise((resolve, reject) => {
405
- if (ws.readyState === WebSocket.OPEN) {
502
+ // Use the instance OPEN constant, not the global WebSocket.OPEN: the global
503
+ // WebSocket is not defined on Node < 22, which would throw a ReferenceError
504
+ // here (and breaks tests that substitute a fake socket via openSocket).
505
+ if (ws.readyState === ws.OPEN) {
406
506
  resolve();
407
507
  return;
408
508
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@deepnoodle/mobius",
3
- "version": "0.0.26",
3
+ "version": "0.0.29",
4
4
  "type": "module",
5
- "description": "TypeScript SDK for Mobius agent automations and workers",
5
+ "description": "TypeScript SDK for Mobius agent loops and workers",
6
6
  "license": "Apache-2.0",
7
7
  "author": "Deepnoodle",
8
8
  "homepage": "https://github.com/deepnoodle-ai/mobius#readme",
@@ -39,7 +39,7 @@
39
39
  ],
40
40
  "sideEffects": false,
41
41
  "engines": {
42
- "node": ">=18"
42
+ "node": ">=22"
43
43
  },
44
44
  "publishConfig": {
45
45
  "access": "public"