@relaycast/engine 5.1.1 → 6.0.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.
- package/dist/adapters/node/realtime.d.ts +28 -1
- package/dist/adapters/node/realtime.d.ts.map +1 -1
- package/dist/adapters/node/realtime.js +229 -50
- package/dist/adapters/node/realtime.js.map +1 -1
- package/dist/auth/tokenKind.d.ts +1 -1
- package/dist/auth/tokenKind.d.ts.map +1 -1
- package/dist/auth/tokenKind.js +4 -1
- package/dist/auth/tokenKind.js.map +1 -1
- package/dist/db/migrations/0028_node_providers.sql +55 -0
- package/dist/db/schema.d.ts +376 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +59 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/engine/action.d.ts +44 -1
- package/dist/engine/action.d.ts.map +1 -1
- package/dist/engine/action.js +237 -18
- package/dist/engine/action.js.map +1 -1
- package/dist/engine/delivery.d.ts.map +1 -1
- package/dist/engine/delivery.js +2 -1
- package/dist/engine/delivery.js.map +1 -1
- package/dist/engine/node.d.ts +71 -28
- package/dist/engine/node.d.ts.map +1 -1
- package/dist/engine/node.js +230 -106
- package/dist/engine/node.js.map +1 -1
- package/dist/engine/nodeContext.d.ts.map +1 -1
- package/dist/engine/nodeContext.js +17 -6
- package/dist/engine/nodeContext.js.map +1 -1
- package/dist/engine/nodeDeliver.d.ts.map +1 -1
- package/dist/engine/nodeDeliver.js +4 -1
- package/dist/engine/nodeDeliver.js.map +1 -1
- package/dist/engine/nodeProvider.d.ts +62 -0
- package/dist/engine/nodeProvider.d.ts.map +1 -0
- package/dist/engine/nodeProvider.js +256 -0
- package/dist/engine/nodeProvider.js.map +1 -0
- package/dist/middleware/auth.d.ts +6 -0
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +6 -0
- package/dist/middleware/auth.js.map +1 -1
- package/dist/node-control.d.ts +1 -1
- package/dist/node-control.d.ts.map +1 -1
- package/dist/node-control.js +11 -1
- package/dist/node-control.js.map +1 -1
- package/dist/ports/auth.d.ts +1 -1
- package/dist/ports/auth.d.ts.map +1 -1
- package/dist/ports/realtime.d.ts +24 -2
- package/dist/ports/realtime.d.ts.map +1 -1
- package/dist/routes/deliveryRouting.d.ts.map +1 -1
- package/dist/routes/deliveryRouting.js +6 -1
- package/dist/routes/deliveryRouting.js.map +1 -1
- package/dist/routes/message.d.ts.map +1 -1
- package/dist/routes/message.js +44 -14
- package/dist/routes/message.js.map +1 -1
- package/dist/routes/node.d.ts.map +1 -1
- package/dist/routes/node.js +89 -3
- package/dist/routes/node.js.map +1 -1
- package/package.json +3 -3
package/dist/engine/action.js
CHANGED
|
@@ -4,6 +4,7 @@ import { generateId } from './snowflake.js';
|
|
|
4
4
|
import { codedError } from '../lib/httpError.js';
|
|
5
5
|
import { toFleetWireJson } from './deliveryWire.js';
|
|
6
6
|
import { claimSpawnNode, chooseNodeForAction, isNodeLive, releaseNodeCapacity, reserveNodeCapacity } from './placement.js';
|
|
7
|
+
import { DEFAULT_PROVIDER_NAME, capacityProviderName, getProvider, isProviderLive } from './nodeProvider.js';
|
|
7
8
|
const OPEN_INVOCATION_STATUSES = ['pending', 'dispatched', 'invoked'];
|
|
8
9
|
export const ACTION_DISPATCH_TIMEOUT_MS = 30_000;
|
|
9
10
|
const ACTION_RETRY_BACKOFF_MS = 5_000;
|
|
@@ -84,11 +85,25 @@ function publicAction(row) {
|
|
|
84
85
|
created_at: row.createdAt.toISOString(),
|
|
85
86
|
};
|
|
86
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Resolve a workspace-scoped invoke (`POST /v1/actions/:name/invoke`). Only
|
|
90
|
+
* agent-hosted actions and node actions that claimed a workspace-global alias
|
|
91
|
+
* are reachable here; plain node-scoped actions are node-addressed. Agent-hosted
|
|
92
|
+
* actions win when both somehow exist for a name.
|
|
93
|
+
*/
|
|
87
94
|
async function fetchAction(db, workspaceId, actionName) {
|
|
95
|
+
const rows = await db
|
|
96
|
+
.select()
|
|
97
|
+
.from(actions)
|
|
98
|
+
.where(and(eq(actions.workspaceId, workspaceId), eq(actions.name, actionName), eq(actions.isActive, true), or(isNull(actions.handlerNodeId), eq(actions.isGlobal, true))));
|
|
99
|
+
return rows.sort((a, b) => Number(a.handlerNodeId !== null) - Number(b.handlerNodeId !== null))[0] ?? null;
|
|
100
|
+
}
|
|
101
|
+
/** Resolve a node-addressed action by its unique `(node, name)` key. */
|
|
102
|
+
async function fetchNodeAction(db, workspaceId, nodeId, actionName) {
|
|
88
103
|
const [action] = await db
|
|
89
104
|
.select()
|
|
90
105
|
.from(actions)
|
|
91
|
-
.where(and(eq(actions.workspaceId, workspaceId), eq(actions.name, actionName), eq(actions.isActive, true)));
|
|
106
|
+
.where(and(eq(actions.workspaceId, workspaceId), eq(actions.handlerNodeId, nodeId), eq(actions.name, actionName), eq(actions.isActive, true)));
|
|
92
107
|
return action ?? null;
|
|
93
108
|
}
|
|
94
109
|
export async function registerAction(db, workspaceId, data) {
|
|
@@ -224,6 +239,37 @@ async function createInvocation(db, workspaceId, action, data) {
|
|
|
224
239
|
.returning();
|
|
225
240
|
return invocation;
|
|
226
241
|
}
|
|
242
|
+
/** Is a node provider currently invokable — connection up AND heartbeat handlers_live. */
|
|
243
|
+
async function isNodeProviderLive(db, registry, workspaceId, nodeId, providerName) {
|
|
244
|
+
if (!registry.isProviderConnected(workspaceId, nodeId, providerName))
|
|
245
|
+
return false;
|
|
246
|
+
const provider = await getProvider(db, workspaceId, nodeId, providerName);
|
|
247
|
+
return !!provider && isProviderLive(provider);
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Dispatch an invoke to a specific provider on a node. When the provider is
|
|
251
|
+
* offline the invoke fails fast (the invocation is failed) unless it opted into
|
|
252
|
+
* the per-provider offline queue.
|
|
253
|
+
*/
|
|
254
|
+
async function dispatchNodeProviderInvocation(args) {
|
|
255
|
+
const live = await isNodeProviderLive(args.db, args.registry, args.workspaceId, args.nodeId, args.providerName);
|
|
256
|
+
if (!live) {
|
|
257
|
+
if (!args.queue) {
|
|
258
|
+
// Release any capacity reserved for this fail-fast spawn so the node's
|
|
259
|
+
// reserved-agent count doesn't stay inflated.
|
|
260
|
+
if (args.reservationHeld) {
|
|
261
|
+
await releaseNodeCapacity(args.db, args.workspaceId, args.nodeId);
|
|
262
|
+
}
|
|
263
|
+
await args.db
|
|
264
|
+
.update(actionInvocations)
|
|
265
|
+
.set({ status: 'failed', error: 'handler_unavailable', completedAt: new Date(), spawnReservedAt: null })
|
|
266
|
+
.where(and(eq(actionInvocations.workspaceId, args.workspaceId), eq(actionInvocations.id, args.invocationId), inArray(actionInvocations.status, OPEN_INVOCATION_STATUSES)));
|
|
267
|
+
throw codedError(`Provider "${args.providerName}" is offline for action "${args.action}"`, 'handler_unavailable', 503);
|
|
268
|
+
}
|
|
269
|
+
return dispatchNodeInvocation({ ...args, pending: true });
|
|
270
|
+
}
|
|
271
|
+
return dispatchNodeInvocation({ ...args });
|
|
272
|
+
}
|
|
227
273
|
async function dispatchRelease(args) {
|
|
228
274
|
if (!args.registry) {
|
|
229
275
|
throw codedError('Node dispatch is not available', 'node_dispatch_unavailable', 503);
|
|
@@ -249,12 +295,14 @@ async function dispatchRelease(args) {
|
|
|
249
295
|
caller_name: args.data.caller_name,
|
|
250
296
|
action_name: 'release',
|
|
251
297
|
});
|
|
298
|
+
// Release is a capacity operation handled by the provider hosting the agent.
|
|
252
299
|
const dispatched = await dispatchNodeInvocation({
|
|
253
300
|
db: args.db,
|
|
254
301
|
registry: args.registry,
|
|
255
302
|
workspaceId: args.workspaceId,
|
|
256
303
|
invocationId: invocation.id,
|
|
257
304
|
nodeId: agent.locationNodeId,
|
|
305
|
+
providerName: agent.providerName,
|
|
258
306
|
action: 'release',
|
|
259
307
|
input,
|
|
260
308
|
});
|
|
@@ -269,10 +317,24 @@ async function dispatchRelease(args) {
|
|
|
269
317
|
created_at: invocation.createdAt.toISOString(),
|
|
270
318
|
};
|
|
271
319
|
}
|
|
320
|
+
function spawnResult(invocation, nodeId, dispatched) {
|
|
321
|
+
return {
|
|
322
|
+
invocation_id: invocation.id,
|
|
323
|
+
action_name: 'spawn',
|
|
324
|
+
handler_agent_id: null,
|
|
325
|
+
handler_node_id: nodeId,
|
|
326
|
+
dispatched_node_id: dispatched.accepted ? nodeId : null,
|
|
327
|
+
input: recordInput(invocation.input),
|
|
328
|
+
status: dispatched.accepted ? (dispatched.pending ? 'pending' : 'dispatched') : 'pending',
|
|
329
|
+
created_at: invocation.createdAt.toISOString(),
|
|
330
|
+
};
|
|
331
|
+
}
|
|
272
332
|
async function dispatchSpawn(args) {
|
|
273
333
|
if (!args.registry) {
|
|
274
334
|
throw codedError('Node dispatch is not available', 'node_dispatch_unavailable', 503);
|
|
275
335
|
}
|
|
336
|
+
const input = recordInput(args.data.input);
|
|
337
|
+
const capability = dispatchActionNameForInvocation('spawn', input);
|
|
276
338
|
const invocation = await createInvocation(args.db, args.workspaceId, null, {
|
|
277
339
|
input: args.data.input,
|
|
278
340
|
caller_id: args.data.caller_id,
|
|
@@ -280,26 +342,119 @@ async function dispatchSpawn(args) {
|
|
|
280
342
|
});
|
|
281
343
|
const placement = await claimSpawnNode(args.db, args.workspaceId, {
|
|
282
344
|
actionName: 'spawn',
|
|
283
|
-
input
|
|
345
|
+
input,
|
|
284
346
|
callerId: args.data.caller_id,
|
|
347
|
+
preferredNodeId: args.targetNodeId,
|
|
285
348
|
});
|
|
349
|
+
const nodeId = placement.node.id;
|
|
350
|
+
// A registered `spawn:<harness>` action shadows native capacity on this node.
|
|
351
|
+
// Capacity-direct delegation (ctx.spawnAgent) bypasses the shadow so a handler
|
|
352
|
+
// that delegates cannot re-enter itself.
|
|
353
|
+
if (!args.bypassShadow) {
|
|
354
|
+
const shadow = await fetchNodeAction(args.db, args.workspaceId, nodeId, capability);
|
|
355
|
+
if (shadow && shadow.handlerProvider) {
|
|
356
|
+
if (!placement.queued)
|
|
357
|
+
await releaseNodeCapacity(args.db, args.workspaceId, nodeId);
|
|
358
|
+
const dispatched = await dispatchNodeProviderInvocation({
|
|
359
|
+
db: args.db,
|
|
360
|
+
registry: args.registry,
|
|
361
|
+
workspaceId: args.workspaceId,
|
|
362
|
+
invocationId: invocation.id,
|
|
363
|
+
nodeId,
|
|
364
|
+
providerName: shadow.handlerProvider,
|
|
365
|
+
action: capability,
|
|
366
|
+
input,
|
|
367
|
+
queue: shadow.queue,
|
|
368
|
+
});
|
|
369
|
+
return spawnResult(invocation, nodeId, dispatched);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
const capProvider = (await capacityProviderName(args.db, args.workspaceId, nodeId, capability)) ?? DEFAULT_PROVIDER_NAME;
|
|
286
373
|
const dispatched = await dispatchNodeInvocation({
|
|
287
374
|
db: args.db,
|
|
288
375
|
registry: args.registry,
|
|
289
376
|
workspaceId: args.workspaceId,
|
|
290
377
|
invocationId: invocation.id,
|
|
291
|
-
nodeId
|
|
292
|
-
|
|
293
|
-
|
|
378
|
+
nodeId,
|
|
379
|
+
providerName: capProvider,
|
|
380
|
+
action: capability,
|
|
381
|
+
input,
|
|
294
382
|
pending: placement.queued,
|
|
295
383
|
reservationHeld: !placement.queued,
|
|
296
384
|
});
|
|
385
|
+
return spawnResult(invocation, nodeId, dispatched);
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Capacity-direct spawn used by handler-context `ctx.spawnAgent`: it targets a
|
|
389
|
+
* node's capacity executor and never re-enters action dispatch, so a
|
|
390
|
+
* `spawn:<harness>` shadow handler that delegates cannot recurse into itself.
|
|
391
|
+
*/
|
|
392
|
+
export async function dispatchCapacitySpawn(db, workspaceId, data, options = {}) {
|
|
393
|
+
return dispatchSpawn({
|
|
394
|
+
db,
|
|
395
|
+
registry: options.nodeConnections,
|
|
396
|
+
workspaceId,
|
|
397
|
+
data,
|
|
398
|
+
targetNodeId: data.target_node_id,
|
|
399
|
+
bypassShadow: true,
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Invoke a node-addressed action: `POST /v1/nodes/:node/actions/:name/invoke`.
|
|
404
|
+
* Resolves capability -> provider -> socket on the given node. A `spawn:*` name
|
|
405
|
+
* with no shadow action falls through to native capacity on that node.
|
|
406
|
+
*/
|
|
407
|
+
export async function invokeNodeAction(db, workspaceId, nodeId, actionName, data, options = {}) {
|
|
408
|
+
if (!options.nodeConnections) {
|
|
409
|
+
throw codedError('Node dispatch is not available', 'node_dispatch_unavailable', 503);
|
|
410
|
+
}
|
|
411
|
+
const action = await fetchNodeAction(db, workspaceId, nodeId, actionName);
|
|
412
|
+
if (!action) {
|
|
413
|
+
if (isSpawnInvocation(actionName)) {
|
|
414
|
+
// Carry the harness from the URL (`spawn:<harness>`) into placement so the
|
|
415
|
+
// native fallback targets the right capacity even when the body omits it.
|
|
416
|
+
const harness = actionName.startsWith('spawn:') ? actionName.slice('spawn:'.length) : undefined;
|
|
417
|
+
const spawnInput = harness ? { ...(data.input ?? {}), capability: harness } : data.input;
|
|
418
|
+
return dispatchSpawn({ db, registry: options.nodeConnections, workspaceId, data: { ...data, input: spawnInput }, targetNodeId: nodeId });
|
|
419
|
+
}
|
|
420
|
+
if (isReleaseInvocation(actionName)) {
|
|
421
|
+
return dispatchRelease({ db, registry: options.nodeConnections, workspaceId, data });
|
|
422
|
+
}
|
|
423
|
+
throw codedError(`Action "${actionName}" not found on node`, 'action_not_found', 404);
|
|
424
|
+
}
|
|
425
|
+
if (action.availableTo && action.availableTo.length > 0) {
|
|
426
|
+
if (!data.caller_name || !action.availableTo.includes(data.caller_name)) {
|
|
427
|
+
const who = data.caller_name ? `Agent "${data.caller_name}"` : 'Caller';
|
|
428
|
+
throw codedError(`${who} is not authorized to invoke action "${actionName}"`, 'action_denied', 403);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
const invocation = await createInvocation(db, workspaceId, action, {
|
|
432
|
+
input: data.input,
|
|
433
|
+
caller_id: data.caller_id,
|
|
434
|
+
caller_name: data.caller_name,
|
|
435
|
+
});
|
|
436
|
+
const providerName = action.handlerProvider ?? DEFAULT_PROVIDER_NAME;
|
|
437
|
+
const reservedNode = isSpawnInvocation(action.name)
|
|
438
|
+
? await reserveNodeCapacity(db, workspaceId, nodeId)
|
|
439
|
+
: null;
|
|
440
|
+
const dispatched = await dispatchNodeProviderInvocation({
|
|
441
|
+
db,
|
|
442
|
+
registry: options.nodeConnections,
|
|
443
|
+
workspaceId,
|
|
444
|
+
invocationId: invocation.id,
|
|
445
|
+
nodeId,
|
|
446
|
+
providerName,
|
|
447
|
+
action: action.name,
|
|
448
|
+
input: recordInput(invocation.input),
|
|
449
|
+
queue: action.queue,
|
|
450
|
+
reservationHeld: !!reservedNode,
|
|
451
|
+
});
|
|
297
452
|
return {
|
|
298
453
|
invocation_id: invocation.id,
|
|
299
|
-
action_name:
|
|
454
|
+
action_name: actionName,
|
|
300
455
|
handler_agent_id: null,
|
|
301
|
-
handler_node_id:
|
|
302
|
-
dispatched_node_id: dispatched.accepted ?
|
|
456
|
+
handler_node_id: nodeId,
|
|
457
|
+
dispatched_node_id: dispatched.accepted ? nodeId : null,
|
|
303
458
|
input: recordInput(invocation.input),
|
|
304
459
|
status: dispatched.accepted ? (dispatched.pending ? 'pending' : 'dispatched') : 'pending',
|
|
305
460
|
created_at: invocation.createdAt.toISOString(),
|
|
@@ -349,14 +504,21 @@ export async function invokeAction(db, workspaceId, actionName, data, options =
|
|
|
349
504
|
const reservedNode = isSpawnInvocation(action.name)
|
|
350
505
|
? await reserveNodeCapacity(db, workspaceId, action.handlerNodeId)
|
|
351
506
|
: null;
|
|
352
|
-
const
|
|
507
|
+
const providerName = action.handlerProvider ?? DEFAULT_PROVIDER_NAME;
|
|
508
|
+
// Route through the per-provider liveness gate so an offline provider fails
|
|
509
|
+
// fast unless the capability opted into queue. The synthetic `default`
|
|
510
|
+
// provider keeps the legacy queue-on-offline behavior (broker reconnect
|
|
511
|
+
// resilience), so its aliases queue and drain on reconnect as before.
|
|
512
|
+
const dispatched = await dispatchNodeProviderInvocation({
|
|
353
513
|
db,
|
|
354
514
|
registry: options.nodeConnections,
|
|
355
515
|
workspaceId,
|
|
356
516
|
invocationId: invocation.id,
|
|
357
517
|
nodeId: action.handlerNodeId,
|
|
518
|
+
providerName,
|
|
358
519
|
action: action.name,
|
|
359
520
|
input: recordInput(invocation.input),
|
|
521
|
+
queue: action.queue || providerName === DEFAULT_PROVIDER_NAME,
|
|
360
522
|
reservationHeld: !!reservedNode,
|
|
361
523
|
});
|
|
362
524
|
return {
|
|
@@ -382,6 +544,7 @@ export async function invokeAction(db, workspaceId, actionName, data, options =
|
|
|
382
544
|
name: agents.name,
|
|
383
545
|
locationType: agents.locationType,
|
|
384
546
|
locationNodeId: agents.locationNodeId,
|
|
547
|
+
providerName: agents.providerName,
|
|
385
548
|
})
|
|
386
549
|
.from(agents)
|
|
387
550
|
.where(and(eq(agents.workspaceId, workspaceId), eq(agents.id, action.handlerAgentId)));
|
|
@@ -399,6 +562,7 @@ export async function invokeAction(db, workspaceId, actionName, data, options =
|
|
|
399
562
|
workspaceId,
|
|
400
563
|
invocationId: invocation.id,
|
|
401
564
|
nodeId: handlerAgent.locationNodeId,
|
|
565
|
+
providerName: handlerAgent.providerName,
|
|
402
566
|
action: action.name,
|
|
403
567
|
input: recordInput(invocation.input),
|
|
404
568
|
agent: { id: handlerAgent.id, name: handlerAgent.name },
|
|
@@ -526,15 +690,20 @@ export async function markDrainedInvocationDispatched(db, workspaceId, invocatio
|
|
|
526
690
|
return !!updated;
|
|
527
691
|
}
|
|
528
692
|
async function dispatchNodeInvocation(args) {
|
|
529
|
-
const
|
|
530
|
-
const sent = await args.registry.sendToNode(args.workspaceId, args.nodeId, {
|
|
693
|
+
const frame = {
|
|
531
694
|
v: 1,
|
|
532
695
|
type: 'action.invoke',
|
|
533
696
|
invocation_id: args.invocationId,
|
|
534
697
|
action: args.action,
|
|
535
698
|
...(args.agent ? { agent_id: args.agent.id, agent_name: args.agent.name } : {}),
|
|
536
699
|
input: toFleetWireJson(args.input),
|
|
537
|
-
}
|
|
700
|
+
};
|
|
701
|
+
const connectedBefore = args.providerName
|
|
702
|
+
? args.registry.isProviderConnected(args.workspaceId, args.nodeId, args.providerName)
|
|
703
|
+
: args.registry.isNodeConnected(args.workspaceId, args.nodeId);
|
|
704
|
+
const sent = args.providerName
|
|
705
|
+
? await args.registry.sendToProvider(args.workspaceId, args.nodeId, args.providerName, frame)
|
|
706
|
+
: await args.registry.sendToNode(args.workspaceId, args.nodeId, frame);
|
|
538
707
|
if (!sent)
|
|
539
708
|
return { accepted: false, pending: false };
|
|
540
709
|
const pending = !!args.pending || !connectedBefore;
|
|
@@ -576,6 +745,7 @@ async function targetAgentForInvocation(db, invocation) {
|
|
|
576
745
|
agentName: agents.name,
|
|
577
746
|
locationType: agents.locationType,
|
|
578
747
|
nodeId: agents.locationNodeId,
|
|
748
|
+
providerName: agents.providerName,
|
|
579
749
|
})
|
|
580
750
|
.from(actionInvocations)
|
|
581
751
|
.innerJoin(actions, eq(actionInvocations.actionId, actions.id))
|
|
@@ -583,7 +753,7 @@ async function targetAgentForInvocation(db, invocation) {
|
|
|
583
753
|
.where(and(eq(actionInvocations.workspaceId, invocation.workspaceId), eq(actionInvocations.id, invocation.id)));
|
|
584
754
|
if (!row || row.locationType !== 'via_node' || !row.nodeId)
|
|
585
755
|
return null;
|
|
586
|
-
return { agentId: row.agentId, agentName: row.agentName, nodeId: row.nodeId };
|
|
756
|
+
return { agentId: row.agentId, agentName: row.agentName, nodeId: row.nodeId, providerName: row.providerName };
|
|
587
757
|
}
|
|
588
758
|
export async function drainNodeInvocations(db, registry, workspaceId, nodeId) {
|
|
589
759
|
const now = new Date();
|
|
@@ -596,10 +766,12 @@ export async function drainNodeInvocations(db, registry, workspaceId, nodeId) {
|
|
|
596
766
|
spawnReservedAt: actionInvocations.spawnReservedAt,
|
|
597
767
|
dispatchedNodeId: actionInvocations.dispatchedNodeId,
|
|
598
768
|
handlerNodeId: actions.handlerNodeId,
|
|
769
|
+
handlerProvider: actions.handlerProvider,
|
|
599
770
|
handlerAgentId: agents.id,
|
|
600
771
|
handlerAgentName: agents.name,
|
|
601
772
|
handlerAgentLocationType: agents.locationType,
|
|
602
773
|
handlerAgentNodeId: agents.locationNodeId,
|
|
774
|
+
handlerAgentProvider: agents.providerName,
|
|
603
775
|
})
|
|
604
776
|
.from(actionInvocations)
|
|
605
777
|
.leftJoin(actions, eq(actionInvocations.actionId, actions.id))
|
|
@@ -617,11 +789,34 @@ export async function drainNodeInvocations(db, registry, workspaceId, nodeId) {
|
|
|
617
789
|
const targetNodeId = targetAgent?.nodeId ?? row.handlerNodeId ?? row.dispatchedNodeId;
|
|
618
790
|
if (targetNodeId !== nodeId)
|
|
619
791
|
continue;
|
|
792
|
+
const input = recordInput(row.input);
|
|
793
|
+
// Resolve the target provider so the offline queue drains per provider. A
|
|
794
|
+
// spawn with a registered shadow re-dispatches to the shadow (no capacity
|
|
795
|
+
// reservation); otherwise native capacity handles it.
|
|
796
|
+
let shadowProvider = null;
|
|
797
|
+
if (isSpawnInvocation(row.actionName)) {
|
|
798
|
+
const shadow = await fetchNodeAction(db, workspaceId, nodeId, dispatchActionNameForInvocation(row.actionName, input));
|
|
799
|
+
shadowProvider = shadow?.handlerProvider ?? null;
|
|
800
|
+
}
|
|
801
|
+
const providerName = targetAgent
|
|
802
|
+
? row.handlerAgentProvider ?? DEFAULT_PROVIDER_NAME
|
|
803
|
+
: row.handlerNodeId
|
|
804
|
+
? row.handlerProvider ?? DEFAULT_PROVIDER_NAME
|
|
805
|
+
: shadowProvider
|
|
806
|
+
?? (isSpawnInvocation(row.actionName)
|
|
807
|
+
? (await capacityProviderName(db, workspaceId, nodeId, dispatchActionNameForInvocation(row.actionName, input))) ?? DEFAULT_PROVIDER_NAME
|
|
808
|
+
: DEFAULT_PROVIDER_NAME);
|
|
809
|
+
const nativeSpawn = isSpawnInvocation(row.actionName) && !shadowProvider;
|
|
810
|
+
// Skip draining to a provider that isn't connected yet (e.g. a named
|
|
811
|
+
// provider reconnecting before it re-registers). Dispatching here would mark
|
|
812
|
+
// the frame delivered and push retryAfterAt out by the dispatch timeout,
|
|
813
|
+
// leaving it idle; leave it pending so the post-register drain re-sends it.
|
|
814
|
+
if (!registry.isProviderConnected(workspaceId, nodeId, providerName))
|
|
815
|
+
continue;
|
|
620
816
|
let reservedForDrain = false;
|
|
621
817
|
try {
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
if (isSpawnInvocation(row.actionName) && !reservationHeld) {
|
|
818
|
+
let reservationHeld = nativeSpawn && !!row.spawnReservedAt;
|
|
819
|
+
if (nativeSpawn && !reservationHeld) {
|
|
625
820
|
const reserved = await reserveNodeCapacity(db, workspaceId, nodeId);
|
|
626
821
|
if (!reserved) {
|
|
627
822
|
const [node] = await db
|
|
@@ -649,6 +844,7 @@ export async function drainNodeInvocations(db, registry, workspaceId, nodeId) {
|
|
|
649
844
|
workspaceId,
|
|
650
845
|
invocationId: row.id,
|
|
651
846
|
nodeId,
|
|
847
|
+
providerName,
|
|
652
848
|
action: dispatchActionNameForInvocation(row.actionName, input),
|
|
653
849
|
input,
|
|
654
850
|
agent: targetAgent ? { id: targetAgent.id, name: targetAgent.name } : null,
|
|
@@ -673,9 +869,27 @@ export async function drainNodeInvocations(db, registry, workspaceId, nodeId) {
|
|
|
673
869
|
return drained;
|
|
674
870
|
}
|
|
675
871
|
export async function rescheduleNodeInvocation(db, registry, invocation, opts = {}) {
|
|
676
|
-
|
|
872
|
+
// Only release capacity the invocation actually holds. A shadowed spawn
|
|
873
|
+
// dropped its native reservation at dispatch (spawnReservedAt is null), so it
|
|
874
|
+
// must not release capacity that now belongs to another spawn.
|
|
875
|
+
if (invocation.dispatchedNodeId && isSpawnInvocation(invocation.actionName) && invocation.spawnReservedAt) {
|
|
677
876
|
await releaseNodeCapacity(db, invocation.workspaceId, invocation.dispatchedNodeId);
|
|
678
877
|
}
|
|
878
|
+
// A shadowed spawn stays pinned to its node: while a `spawn:<harness>` shadow
|
|
879
|
+
// is registered there, native capacity for that harness is unreachable — even
|
|
880
|
+
// across a node loss — so it never falls through to generic placement (which
|
|
881
|
+
// would silently bypass the shadow). It re-drains when the provider returns.
|
|
882
|
+
if (invocation.dispatchedNodeId && isSpawnInvocation(invocation.actionName)) {
|
|
883
|
+
const capability = dispatchActionNameForInvocation(invocation.actionName, recordInput(invocation.input));
|
|
884
|
+
const shadow = await fetchNodeAction(db, invocation.workspaceId, invocation.dispatchedNodeId, capability);
|
|
885
|
+
if (shadow) {
|
|
886
|
+
await db
|
|
887
|
+
.update(actionInvocations)
|
|
888
|
+
.set({ status: 'pending', dispatchedAt: null, spawnReservedAt: null, retryAfterAt: null })
|
|
889
|
+
.where(and(eq(actionInvocations.workspaceId, invocation.workspaceId), eq(actionInvocations.id, invocation.id), inArray(actionInvocations.status, OPEN_INVOCATION_STATUSES)));
|
|
890
|
+
return false;
|
|
891
|
+
}
|
|
892
|
+
}
|
|
679
893
|
const targetAgent = await targetAgentForInvocation(db, invocation);
|
|
680
894
|
if (targetAgent) {
|
|
681
895
|
const dispatched = await dispatchNodeInvocation({
|
|
@@ -684,6 +898,7 @@ export async function rescheduleNodeInvocation(db, registry, invocation, opts =
|
|
|
684
898
|
workspaceId: invocation.workspaceId,
|
|
685
899
|
invocationId: invocation.id,
|
|
686
900
|
nodeId: targetAgent.nodeId,
|
|
901
|
+
providerName: targetAgent.providerName,
|
|
687
902
|
action: invocation.actionName,
|
|
688
903
|
input: recordInput(invocation.input),
|
|
689
904
|
agent: { id: targetAgent.agentId, name: targetAgent.agentName },
|
|
@@ -825,6 +1040,7 @@ export async function completeNodeInvocation(db, registry, workspaceId, nodeId,
|
|
|
825
1040
|
durationMs: actionInvocations.durationMs,
|
|
826
1041
|
dispatchedNodeId: actionInvocations.dispatchedNodeId,
|
|
827
1042
|
dispatchedAt: actionInvocations.dispatchedAt,
|
|
1043
|
+
spawnReservedAt: actionInvocations.spawnReservedAt,
|
|
828
1044
|
attemptedNodeIds: actionInvocations.attemptedNodeIds,
|
|
829
1045
|
dispatchAttempts: actionInvocations.dispatchAttempts,
|
|
830
1046
|
createdAt: actionInvocations.createdAt,
|
|
@@ -865,7 +1081,10 @@ export async function completeNodeInvocation(db, registry, workspaceId, nodeId,
|
|
|
865
1081
|
})
|
|
866
1082
|
.where(and(eq(actionInvocations.workspaceId, workspaceId), eq(actionInvocations.id, invocationId), eq(actionInvocations.dispatchedNodeId, nodeId), inArray(actionInvocations.status, OPEN_INVOCATION_STATUSES)))
|
|
867
1083
|
.returning();
|
|
868
|
-
|
|
1084
|
+
// Release only capacity this invocation actually reserved. A shadowed spawn
|
|
1085
|
+
// holds no native reservation (spawnReservedAt is null), so releasing here
|
|
1086
|
+
// would decrement capacity owned by another spawn.
|
|
1087
|
+
if (updated && isSpawnInvocation(updated.actionName) && updated.dispatchedNodeId && existing.spawnReservedAt) {
|
|
869
1088
|
await releaseNodeCapacity(db, workspaceId, updated.dispatchedNodeId);
|
|
870
1089
|
}
|
|
871
1090
|
if (updated) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/engine/action.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/engine/action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/engine/delivery.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/engine/delivery.ts"],"names":[],"mappings":"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"}
|