@relaycast/engine 8.3.0 → 8.4.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.map +1 -1
- package/dist/adapters/node/realtime.js +18 -13
- package/dist/adapters/node/realtime.js.map +1 -1
- package/dist/db/migrations/0043_node_machine_id_index.sql +10 -0
- package/dist/db/migrations/0044_node_proven_live_at.sql +16 -0
- package/dist/db/migrations/0045_workspace_create_idempotency.sql +16 -0
- package/dist/db/schema.d.ts +158 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +26 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/engine/action.d.ts.map +1 -1
- package/dist/engine/action.js +100 -9
- package/dist/engine/action.js.map +1 -1
- package/dist/engine/node.d.ts +100 -3
- package/dist/engine/node.d.ts.map +1 -1
- package/dist/engine/node.js +115 -4
- package/dist/engine/node.js.map +1 -1
- package/dist/engine/nodeLock.d.ts +15 -0
- package/dist/engine/nodeLock.d.ts.map +1 -1
- package/dist/engine/nodeLock.js +24 -4
- package/dist/engine/nodeLock.js.map +1 -1
- package/dist/engine/placement.d.ts +27 -0
- package/dist/engine/placement.d.ts.map +1 -1
- package/dist/engine/placement.js +43 -0
- package/dist/engine/placement.js.map +1 -1
- package/dist/engine/workspace.d.ts +9 -0
- package/dist/engine/workspace.d.ts.map +1 -1
- package/dist/engine/workspace.js +110 -4
- package/dist/engine/workspace.js.map +1 -1
- package/dist/routes/node.d.ts.map +1 -1
- package/dist/routes/node.js +30 -10
- package/dist/routes/node.js.map +1 -1
- package/dist/routes/workspace.d.ts.map +1 -1
- package/dist/routes/workspace.js +23 -0
- package/dist/routes/workspace.js.map +1 -1
- package/package.json +3 -3
package/dist/engine/node.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { and, eq, inArray, ne, or, sql } from 'drizzle-orm';
|
|
1
|
+
import { and, asc, eq, inArray, isNotNull, isNull, lt, lte, ne, or, sql } from 'drizzle-orm';
|
|
2
2
|
import { FLEET_DELIVERY_CURSOR_CAPABILITY, parseFleetBrokerToRelaycastMessage, } from '@relaycast/types';
|
|
3
3
|
import { actionInvocations, agents, agentNodeBindings, channelMembers, channels, nodeProviders, nodes } from '../db/schema.js';
|
|
4
4
|
import { randomHex, sha256Hex } from '../lib/crypto.js';
|
|
@@ -8,7 +8,7 @@ import { isProviderAgentDeliveryReady } from '../ports/realtime.js';
|
|
|
8
8
|
import { generateId } from './snowflake.js';
|
|
9
9
|
import { assertRegistrableAgentName } from './agent.js';
|
|
10
10
|
import { rotateAgentIdentity } from './agentIdentity.js';
|
|
11
|
-
import { isNodeLive, nodeHasCapacity, nodeHasCapability } from './placement.js';
|
|
11
|
+
import { isNodeLive, isReusableForMachineMatch, nodeHasCapacity, nodeHasCapability, NODE_LIVENESS_TTL_MS } from './placement.js';
|
|
12
12
|
import { DEFAULT_PROVIDER_NAME, capabilityKind, heartbeatProvider, isProviderLive, markProviderOffline, materializeProviderActions, recomputeNodeAggregate, removeProvider, upsertProvider, } from './nodeProvider.js';
|
|
13
13
|
import { serializeNodeOp } from './nodeLock.js';
|
|
14
14
|
import { completeNodeInvocation, dispatchCapacitySpawn, rescheduleInvocationsForLostNode, rescheduleNodeInvocation, } from './action.js';
|
|
@@ -65,6 +65,7 @@ function publicNode(row) {
|
|
|
65
65
|
name: row.name,
|
|
66
66
|
kind: row.kind,
|
|
67
67
|
role: row.role,
|
|
68
|
+
machine_id: row.machineId,
|
|
68
69
|
delivery_adapter: row.deliveryAdapter,
|
|
69
70
|
delivery: redactDeliveryConfig(row.deliveryConfig),
|
|
70
71
|
capabilities: row.capabilities,
|
|
@@ -191,6 +192,12 @@ export async function createNodeToken(db, workspaceId, data) {
|
|
|
191
192
|
deliveryAdapter,
|
|
192
193
|
deliveryConfig,
|
|
193
194
|
capabilities: normalizeCapabilities(data.capabilities ?? existing.capabilities),
|
|
195
|
+
machineId: data.machine_id ?? existing.machineId,
|
|
196
|
+
// The credential just changed, so whatever the previous holder proved
|
|
197
|
+
// no longer applies to this row. Without clearing it, a row reused once
|
|
198
|
+
// still looks proven and could be reused again immediately, revoking
|
|
199
|
+
// the token this call is handing out.
|
|
200
|
+
provenLiveAt: null,
|
|
194
201
|
maxAgents,
|
|
195
202
|
tags: data.tags ?? existing.tags,
|
|
196
203
|
version: data.version ?? existing.version,
|
|
@@ -215,6 +222,7 @@ export async function createNodeToken(db, workspaceId, data) {
|
|
|
215
222
|
deliveryAdapter,
|
|
216
223
|
deliveryConfig,
|
|
217
224
|
capabilities: normalizeCapabilities(data.capabilities ?? []),
|
|
225
|
+
machineId: data.machine_id ?? null,
|
|
218
226
|
maxAgents,
|
|
219
227
|
tags: data.tags ?? [],
|
|
220
228
|
version: data.version ?? 'unknown',
|
|
@@ -247,15 +255,108 @@ export async function getNodeById(db, workspaceId, nodeId) {
|
|
|
247
255
|
.where(and(eq(nodes.workspaceId, workspaceId), eq(nodes.id, nodeId)));
|
|
248
256
|
return node ?? null;
|
|
249
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* How many *reusable* rows sharing one machine_id the enroll lookup will
|
|
260
|
+
* consider. Live rows are excluded in SQL before this bound applies, so a
|
|
261
|
+
* machine with many live brokers cannot push its one offline row out of range.
|
|
262
|
+
*/
|
|
263
|
+
const MACHINE_MATCH_SCAN_LIMIT = 20;
|
|
264
|
+
/**
|
|
265
|
+
* The broker a machine already has on the roster and is no longer running.
|
|
266
|
+
*
|
|
267
|
+
* Scoped to `broker` deliberately: a broker is the node-of-many fleet host and
|
|
268
|
+
* a machine runs one, so machine_id identifies it. A `direct` node is a
|
|
269
|
+
* node-of-one delivery host and a single machine legitimately runs many of
|
|
270
|
+
* them, so machine_id is not a key there and must never collapse them.
|
|
271
|
+
*
|
|
272
|
+
* A LIVE incumbent is never returned. Adopting one would rename a running
|
|
273
|
+
* broker and rotate its token out from under it — the caller cannot be that
|
|
274
|
+
* host coming back, because that host has not left. Only a node that is gone
|
|
275
|
+
* can be the one re-enrolling. Skipping the live row lets the caller fall
|
|
276
|
+
* through to a new node instead, which is the right answer for the legitimate
|
|
277
|
+
* duplicate too: a VM cloned from a snapshot, or containers baked from one
|
|
278
|
+
* image, carry the same machine_id and run CONCURRENTLY, so they are genuinely
|
|
279
|
+
* separate nodes. Declining the match costs an extra roster row; rejecting the
|
|
280
|
+
* enrollment outright would break a whole fleet booted from one image.
|
|
281
|
+
*
|
|
282
|
+
* Ordered oldest-first so a roster that already holds several rows for one
|
|
283
|
+
* machine converges onto its earliest reusable row instead of picking
|
|
284
|
+
* arbitrarily.
|
|
285
|
+
*/
|
|
286
|
+
export async function getBrokerNodeByMachineId(db, workspaceId, machineId) {
|
|
287
|
+
// Exclude live rows in SQL so the bound below counts only reusable
|
|
288
|
+
// candidates. Bounding first and filtering after would let a machine with
|
|
289
|
+
// enough live brokers hide its one offline row past the limit, and enrollment
|
|
290
|
+
// would insert a new row instead of reusing it.
|
|
291
|
+
const now = new Date();
|
|
292
|
+
const liveCutoff = new Date(now.getTime() - NODE_LIVENESS_TTL_MS);
|
|
293
|
+
const candidates = await db
|
|
294
|
+
.select()
|
|
295
|
+
.from(nodes)
|
|
296
|
+
.where(and(eq(nodes.workspaceId, workspaceId), eq(nodes.machineId, machineId), eq(nodes.role, 'broker'),
|
|
297
|
+
// Mirrors isReusableForMachineMatch in full, so the scan bound below
|
|
298
|
+
// counts only rows that are actually reusable. A stale proof alone is not
|
|
299
|
+
// enough: a broker that registered recently has a fresh lastHeartbeatAt
|
|
300
|
+
// and is therefore live, and admitting those here would let them crowd
|
|
301
|
+
// the window and hide the one reusable row behind them.
|
|
302
|
+
isNotNull(nodes.provenLiveAt), lt(nodes.provenLiveAt, liveCutoff),
|
|
303
|
+
// not live — mirrors isNodeLive
|
|
304
|
+
or(ne(nodes.status, 'online'), isNull(nodes.lastHeartbeatAt), lt(nodes.lastHeartbeatAt, liveCutoff)),
|
|
305
|
+
// no future-dated heartbeat — server clock rollback
|
|
306
|
+
or(isNull(nodes.lastHeartbeatAt), lte(nodes.lastHeartbeatAt, now))))
|
|
307
|
+
.orderBy(asc(nodes.createdAt), asc(nodes.id))
|
|
308
|
+
.limit(MACHINE_MATCH_SCAN_LIMIT);
|
|
309
|
+
// The SQL above is a pre-filter for `isReusableForMachineMatch`, which is the
|
|
310
|
+
// single definition of reusability and mirrors it exactly — including
|
|
311
|
+
// treating an `online` row with a future heartbeat as live. Re-checking here
|
|
312
|
+
// keeps that definition authoritative rather than trusting the query alone.
|
|
313
|
+
return candidates.find((node) => isReusableForMachineMatch(node)) ?? null;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* The role an enroll is asking for, derived from the request alone.
|
|
317
|
+
*
|
|
318
|
+
* Enrollment's role default depends on `kind` (`ws` is a broker; `http_push`
|
|
319
|
+
* and `poll` are direct) and on `max_agents`, and the machine lookup has to
|
|
320
|
+
* know it *before* it runs. Otherwise a machine that already has a broker has
|
|
321
|
+
* that broker rotated -- and its transport rewritten to http_push or poll --
|
|
322
|
+
* by a node enrolling alongside it without an explicit `role`. That failure
|
|
323
|
+
* would be silent and would move a live node's identity, which is worse than
|
|
324
|
+
* the roster growth this dedupe exists to stop.
|
|
325
|
+
*/
|
|
326
|
+
export function requestedNodeRole(data) {
|
|
327
|
+
if (data.role)
|
|
328
|
+
return data.role;
|
|
329
|
+
return normalizeLegacyNodeShape(data.kind ?? 'ws', data.max_agents !== undefined && data.max_agents > 1 ? 'broker' : undefined).role;
|
|
330
|
+
}
|
|
250
331
|
/**
|
|
251
332
|
* Resolve the node an enroll (POST /v1/nodes) targets: by node_id when
|
|
252
|
-
* supplied, by name
|
|
333
|
+
* supplied, then by name, then by machine_id.
|
|
334
|
+
*
|
|
335
|
+
* The machine_id step is what stops the roster refilling. A host that enrolls
|
|
336
|
+
* without a persisted node_id arrives under a fresh name on every boot, and
|
|
337
|
+
* each of those names used to mint a brand-new row that nothing ever reclaimed.
|
|
338
|
+
* Falling back to the machine's existing broker turns re-enrollment into a
|
|
339
|
+
* token rotation on the row that is already there.
|
|
340
|
+
*
|
|
341
|
+
* node_id and name still win, so a caller that pins either keeps the exact
|
|
342
|
+
* identity it asked for; passing node_id is the way to opt out of machine
|
|
343
|
+
* grouping and run two brokers on one host.
|
|
344
|
+
*
|
|
345
|
+
* The machine step only ever matches a node that is not live — see
|
|
346
|
+
* getBrokerNodeByMachineId — so a running broker is never adopted by another
|
|
347
|
+
* caller presenting its machine_id.
|
|
253
348
|
*/
|
|
254
349
|
export async function resolveNodeForEnroll(db, workspaceId, data) {
|
|
255
350
|
if (data.node_id !== undefined) {
|
|
256
351
|
return getNodeById(db, workspaceId, data.node_id);
|
|
257
352
|
}
|
|
258
|
-
|
|
353
|
+
const byName = await getNodeByName(db, workspaceId, data.name);
|
|
354
|
+
if (byName)
|
|
355
|
+
return byName;
|
|
356
|
+
if (data.machine_id !== undefined && requestedNodeRole(data) === 'broker') {
|
|
357
|
+
return getBrokerNodeByMachineId(db, workspaceId, data.machine_id);
|
|
358
|
+
}
|
|
359
|
+
return null;
|
|
259
360
|
}
|
|
260
361
|
export async function registerNode(db, workspaceId, authenticatedNodeId, message, provider) {
|
|
261
362
|
if (message.node_id !== authenticatedNodeId) {
|
|
@@ -370,6 +471,9 @@ export async function heartbeatNode(db, workspaceId, nodeId, providerName, messa
|
|
|
370
471
|
activeAgents: 1,
|
|
371
472
|
handlersLive: false,
|
|
372
473
|
lastHeartbeatAt: new Date(),
|
|
474
|
+
// A heartbeat frame arrived: this is proof of life, unlike the
|
|
475
|
+
// registration and disconnect writes that also touch lastHeartbeatAt.
|
|
476
|
+
provenLiveAt: new Date(),
|
|
373
477
|
})
|
|
374
478
|
.where(and(eq(nodes.workspaceId, workspaceId), eq(nodes.id, nodeId)))
|
|
375
479
|
.returning();
|
|
@@ -410,6 +514,13 @@ export async function heartbeatNode(db, workspaceId, nodeId, providerName, messa
|
|
|
410
514
|
await tx.update(nodes).set({ name: message.name }).where(and(eq(nodes.workspaceId, workspaceId), eq(nodes.id, nodeId)));
|
|
411
515
|
}
|
|
412
516
|
await recomputeNodeAggregate(tx, workspaceId, nodeId, message.version !== undefined ? { version: message.version } : {});
|
|
517
|
+
// Stamped after the aggregate so it cannot be overwritten by it: the
|
|
518
|
+
// aggregate derives lastHeartbeatAt from provider rows, which registration
|
|
519
|
+
// also writes, whereas this column is only ever set by an arriving frame.
|
|
520
|
+
await tx
|
|
521
|
+
.update(nodes)
|
|
522
|
+
.set({ provenLiveAt: new Date() })
|
|
523
|
+
.where(and(eq(nodes.workspaceId, workspaceId), eq(nodes.id, nodeId)));
|
|
413
524
|
});
|
|
414
525
|
const [updated] = await db
|
|
415
526
|
.select()
|
package/dist/engine/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/engine/node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/engine/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,17 @@
|
|
|
1
1
|
export declare function serializeNodeOp<T>(workspaceId: string, nodeId: string, fn: () => Promise<T>): Promise<T>;
|
|
2
|
+
/**
|
|
3
|
+
* Serialize enrollments that key on the same machine.
|
|
4
|
+
*
|
|
5
|
+
* `resolveNodeForEnroll`'s machine lookup and the insert that follows are not
|
|
6
|
+
* one atomic step, and the supporting index is deliberately non-unique (the
|
|
7
|
+
* roster already holds many rows per machine, and direct nodes are meant to
|
|
8
|
+
* repeat), so two concurrent first-enrollments of one machine could each miss
|
|
9
|
+
* the lookup and each insert.
|
|
10
|
+
*
|
|
11
|
+
* Same-process only, exactly like `serializeNodeOp`: it closes the race within
|
|
12
|
+
* an isolate, not across them. A duplicate that still slips through is
|
|
13
|
+
* self-correcting rather than harmful -- the machine lookup resolves
|
|
14
|
+
* oldest-first, so the next enrollment converges on the earliest row.
|
|
15
|
+
*/
|
|
16
|
+
export declare function serializeMachineEnroll<T>(workspaceId: string, machineId: string, fn: () => Promise<T>): Promise<T>;
|
|
2
17
|
//# sourceMappingURL=nodeLock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeLock.d.ts","sourceRoot":"","sources":["../../src/engine/nodeLock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nodeLock.d.ts","sourceRoot":"","sources":["../../src/engine/nodeLock.ts"],"names":[],"mappings":"AA4BA,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAKxG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAElH"}
|
package/dist/engine/nodeLock.js
CHANGED
|
@@ -14,10 +14,7 @@
|
|
|
14
14
|
* per-node Durable Object) and the ordering guarantee self-hosting needs.
|
|
15
15
|
*/
|
|
16
16
|
const chains = new Map();
|
|
17
|
-
|
|
18
|
-
// Collision-safe key: ids are free-form and may contain any separator, so
|
|
19
|
-
// encode the tuple rather than joining on a character.
|
|
20
|
-
const key = JSON.stringify([workspaceId, nodeId]);
|
|
17
|
+
function runSerialized(key, fn) {
|
|
21
18
|
const prev = chains.get(key) ?? Promise.resolve();
|
|
22
19
|
const run = prev.then(fn, fn);
|
|
23
20
|
const tail = run.then(() => undefined, () => undefined);
|
|
@@ -28,4 +25,27 @@ export function serializeNodeOp(workspaceId, nodeId, fn) {
|
|
|
28
25
|
});
|
|
29
26
|
return run;
|
|
30
27
|
}
|
|
28
|
+
export function serializeNodeOp(workspaceId, nodeId, fn) {
|
|
29
|
+
// Collision-safe key: ids are free-form and may contain any separator, so
|
|
30
|
+
// encode the tuple rather than joining on a character. The leading tag keeps
|
|
31
|
+
// node keys and machine keys in separate namespaces.
|
|
32
|
+
return runSerialized(JSON.stringify(['node', workspaceId, nodeId]), fn);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Serialize enrollments that key on the same machine.
|
|
36
|
+
*
|
|
37
|
+
* `resolveNodeForEnroll`'s machine lookup and the insert that follows are not
|
|
38
|
+
* one atomic step, and the supporting index is deliberately non-unique (the
|
|
39
|
+
* roster already holds many rows per machine, and direct nodes are meant to
|
|
40
|
+
* repeat), so two concurrent first-enrollments of one machine could each miss
|
|
41
|
+
* the lookup and each insert.
|
|
42
|
+
*
|
|
43
|
+
* Same-process only, exactly like `serializeNodeOp`: it closes the race within
|
|
44
|
+
* an isolate, not across them. A duplicate that still slips through is
|
|
45
|
+
* self-correcting rather than harmful -- the machine lookup resolves
|
|
46
|
+
* oldest-first, so the next enrollment converges on the earliest row.
|
|
47
|
+
*/
|
|
48
|
+
export function serializeMachineEnroll(workspaceId, machineId, fn) {
|
|
49
|
+
return runSerialized(JSON.stringify(['machine', workspaceId, machineId]), fn);
|
|
50
|
+
}
|
|
31
51
|
//# sourceMappingURL=nodeLock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeLock.js","sourceRoot":"","sources":["../../src/engine/nodeLock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;AAEnD,
|
|
1
|
+
{"version":3,"file":"nodeLock.js","sourceRoot":"","sources":["../../src/engine/nodeLock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;AAEnD,SAAS,aAAa,CAAI,GAAW,EAAE,EAAoB;IACzD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;QACrB,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAI,WAAmB,EAAE,MAAc,EAAE,EAAoB;IAC1F,0EAA0E;IAC1E,6EAA6E;IAC7E,qDAAqD;IACrD,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CAAI,WAAmB,EAAE,SAAiB,EAAE,EAAoB;IACpG,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -52,6 +52,33 @@ export type ProviderAttachDecision = {
|
|
|
52
52
|
*/
|
|
53
53
|
export declare function providerAttachDecision(input: ProviderAttachDecisionInput): ProviderAttachDecision;
|
|
54
54
|
export declare function isNodeLive(node: Pick<NodeRow, 'status' | 'lastHeartbeatAt'>, now?: number): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Whether a row sharing a machine_id may be reused by a new enrollment.
|
|
57
|
+
*
|
|
58
|
+
* Reads `provenLiveAt`, NOT `lastHeartbeatAt`. That distinction is the whole
|
|
59
|
+
* point: `lastHeartbeatAt` is written by registration (`registerNode`,
|
|
60
|
+
* `upsertProvider`, `recomputeNodeAggregate`) and by disconnect cleanup
|
|
61
|
+
* (`markNodeOffline`, `markProviderOffline`, `markDirectNodeOfflineForAgent`)
|
|
62
|
+
* as well as by real heartbeats, so a node that registered and never sent one
|
|
63
|
+
* carries a timestamp indistinguishable from a node that did. Gating reuse on
|
|
64
|
+
* it would let a host that merely connected be treated as proven, and reuse
|
|
65
|
+
* rotates the row's token — a wrong answer silently revokes a credential
|
|
66
|
+
* another host is holding.
|
|
67
|
+
*
|
|
68
|
+
* `provenLiveAt` is written only by an arriving heartbeat frame, and cleared
|
|
69
|
+
* whenever enrollment re-issues the row's token, so a row that was just reused
|
|
70
|
+
* cannot be reused again until its new holder has proved itself.
|
|
71
|
+
*
|
|
72
|
+
* Reuse therefore needs all of: the node is not live; it has proved life at
|
|
73
|
+
* least once since its current credential was issued; and that proof is old
|
|
74
|
+
* enough that the host is gone. A proof timestamped in the future is rejected —
|
|
75
|
+
* it means the server clock moved backwards, and the node may still be running.
|
|
76
|
+
*
|
|
77
|
+
* Cost: a host that enrolls, or even registers, but never heartbeats is never
|
|
78
|
+
* deduped. Those rows have no proven holder to protect and are reclaimed by the
|
|
79
|
+
* roster reaper instead.
|
|
80
|
+
*/
|
|
81
|
+
export declare function isReusableForMachineMatch(node: Pick<NodeRow, 'status' | 'lastHeartbeatAt' | 'provenLiveAt'>, now?: number): boolean;
|
|
55
82
|
export declare function nodeHasCapability(node: Pick<NodeRow, 'capabilities'>, capability: string): boolean;
|
|
56
83
|
export declare function nodeHasCapacity(node: Pick<NodeRow, 'maxAgents' | 'activeAgents' | 'reservedAgents'>): boolean;
|
|
57
84
|
export interface PlacementRequest {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placement.d.ts","sourceRoot":"","sources":["../../src/engine/placement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAU,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIhD,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACnC,KAAK,OAAO,GAAG,OAAO,KAAK,CAAC,YAAY,CAAC;AAEzC,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAElD,uFAAuF;AACvF,MAAM,MAAM,0BAA0B,GAAG,4BAA4B,CAAC;AAEtE,0FAA0F;AAC1F,MAAM,WAAW,2BAA2B;IAC1C,iFAAiF;IACjF,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,sDAAsD;IACtD,gBAAgB,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qDAAqD;AACrD,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,EAAE,KAAK,CAAA;CAAE,GACnB;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,0BAA0B,CAAA;CAAE,CAAC;AAEzD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,sBAAsB,CAQjG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,iBAAiB,CAAC,EAAE,GAAG,SAAa,GAAG,OAAO,CAQvG;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAMlG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,GAAG,gBAAgB,CAAC,GAAG,OAAO,CAE7G;AAyBD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAezB;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,SAAI,GACR,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAsG1B;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CA8F1B"}
|
|
1
|
+
{"version":3,"file":"placement.d.ts","sourceRoot":"","sources":["../../src/engine/placement.ts"],"names":[],"mappings":"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"}
|