@relaycast/engine 8.8.0 → 8.9.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 +13 -4
- package/dist/adapters/node/realtime.js.map +1 -1
- package/dist/db/migrations/0053_agent_retention_indexes.sql +8 -0
- package/dist/db/migrations/0054_node_status_heartbeat_index.sql +8 -0
- package/dist/db/migrations/0055_session_event_idempotency.sql +8 -0
- package/dist/db/migrations/0056_session_event_status_completion.sql +38 -0
- package/dist/db/schema.d.ts +89 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +27 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/engine/action.d.ts +4 -0
- package/dist/engine/action.d.ts.map +1 -1
- package/dist/engine/action.js +104 -35
- package/dist/engine/action.js.map +1 -1
- package/dist/engine/agentRetention.d.ts +39 -0
- package/dist/engine/agentRetention.d.ts.map +1 -0
- package/dist/engine/agentRetention.js +117 -0
- package/dist/engine/agentRetention.js.map +1 -0
- package/dist/engine/delivery.d.ts.map +1 -1
- package/dist/engine/delivery.js +6 -1
- package/dist/engine/delivery.js.map +1 -1
- package/dist/engine/node.d.ts +51 -28
- package/dist/engine/node.d.ts.map +1 -1
- package/dist/engine/node.js +140 -10
- package/dist/engine/node.js.map +1 -1
- package/dist/engine/retention.d.ts +12 -0
- package/dist/engine/retention.d.ts.map +1 -1
- package/dist/engine/retention.js +3 -0
- package/dist/engine/retention.js.map +1 -1
- package/dist/engine/rowidRetention.d.ts +33 -0
- package/dist/engine/rowidRetention.d.ts.map +1 -0
- package/dist/engine/rowidRetention.js +190 -0
- package/dist/engine/rowidRetention.js.map +1 -0
- package/dist/engine/sessionEvent.d.ts +54 -1
- package/dist/engine/sessionEvent.d.ts.map +1 -1
- package/dist/engine/sessionEvent.js +195 -2
- package/dist/engine/sessionEvent.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ports/realtime.d.ts +7 -2
- package/dist/ports/realtime.d.ts.map +1 -1
- package/dist/ports/realtime.js.map +1 -1
- package/dist/routes/agent.d.ts.map +1 -1
- package/dist/routes/agent.js +113 -10
- package/dist/routes/agent.js.map +1 -1
- package/dist/routes/deliveryRouting.d.ts +1 -0
- package/dist/routes/deliveryRouting.d.ts.map +1 -1
- package/dist/routes/deliveryRouting.js +8 -4
- package/dist/routes/deliveryRouting.js.map +1 -1
- package/dist/routes/node.js +39 -15
- package/dist/routes/node.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/ports/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,kFAAkF;AAClF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,wBAAwB,CAAC,IAAI,EAAE;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,WAAW,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAEnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,iBAAiB,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,+EAA+E;AAC/E,MAAM,
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/ports/realtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/ports/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/ports/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAoQH,oFAAoF;AACpF,MAAM,UAAU,4BAA4B,CAC1C,QAAgC,EAChC,WAAmB,EACnB,MAAc,EACd,YAAoB,EACpB,OAAe;IAEf,OAAO,QAAQ,CAAC,4BAA4B,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;AACrG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/routes/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/routes/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAmCxC,eAAO,MAAM,WAAW,qDAAqB,CAAC"}
|
package/dist/routes/agent.js
CHANGED
|
@@ -2,9 +2,10 @@ import { Hono } from 'hono';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { and, eq } from 'drizzle-orm';
|
|
4
4
|
import { AGENT_TOKEN_HASH_PATTERN, AgentTypeSchema, CliTypeSchema } from '@relaycast/types';
|
|
5
|
-
import { requireWorkspaceKey, requireAuth, requireAgentToken, requireWorkspaceRead } from '../middleware/auth.js';
|
|
5
|
+
import { requireWorkspaceKey, requireAuth, requireAgentToken, requireSender, requireWorkspaceRead } from '../middleware/auth.js';
|
|
6
6
|
import { rateLimit } from '../middleware/rateLimit.js';
|
|
7
7
|
import * as agentEngine from '../engine/agent.js';
|
|
8
|
+
import { agentRetentionSchema, retainAgents } from '../engine/agentRetention.js';
|
|
8
9
|
import * as agentIdentityEngine from '../engine/agentIdentity.js';
|
|
9
10
|
import * as nodeEngine from '../engine/node.js';
|
|
10
11
|
import * as actionEngine from '../engine/action.js';
|
|
@@ -15,11 +16,30 @@ import { fanoutPresence, fanoutToAgents, fanoutToWorkspace } from './fanout.js';
|
|
|
15
16
|
import { runInBackground } from './background.js';
|
|
16
17
|
import { sendWebhookEvent } from './webhookOutbox.js';
|
|
17
18
|
import { emitServerEvent } from '../lib/serverTelemetry.js';
|
|
19
|
+
import { jsonIdempotentOk, parseIdempotencyKey } from '../middleware/idempotency.js';
|
|
18
20
|
import { errorResponse } from '../lib/httpError.js';
|
|
21
|
+
import { D1WriteRetryExhaustedError } from '../lib/d1Retry.js';
|
|
19
22
|
import { jsonCreated, jsonError, jsonNoContent, jsonNotFound, jsonOk, parseJsonBody, parseQueryParams, } from '../lib/httpResponse.js';
|
|
20
23
|
import { positiveIntQueryParam } from '../lib/httpQuery.js';
|
|
21
24
|
import { agents } from '../db/schema.js';
|
|
22
25
|
export const agentRoutes = new Hono();
|
|
26
|
+
// Explicit workspace-admin maintenance; never run implicitly on roster reads.
|
|
27
|
+
agentRoutes.post('/agents/retention', requireWorkspaceKey, rateLimit, async (c) => {
|
|
28
|
+
try {
|
|
29
|
+
const parsed = await parseJsonBody(c, agentRetentionSchema, 'invalid agent retention body');
|
|
30
|
+
if (!parsed.ok)
|
|
31
|
+
return parsed.response;
|
|
32
|
+
const cursor = parsed.data.cursor;
|
|
33
|
+
if (cursor && (cursor.workspace_id !== c.get('workspace').id
|
|
34
|
+
|| cursor.cutoff > Math.max(0, Math.floor(Date.now() / 1000) - parsed.data.retention_days * 86400))) {
|
|
35
|
+
return jsonError(c, 'invalid_request', 'Retention cursor does not match workspace or policy', 400);
|
|
36
|
+
}
|
|
37
|
+
return jsonOk(c, await retainAgents(c.get('db'), c.get('workspace').id, parsed.data));
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
return errorResponse(c, err);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
23
43
|
const skillSchema = z.object({
|
|
24
44
|
id: z.string().min(1).optional(),
|
|
25
45
|
name: z.string().min(1),
|
|
@@ -95,6 +115,9 @@ const releaseAgentSchema = z.object({
|
|
|
95
115
|
delete_agent: z.boolean().optional(),
|
|
96
116
|
expected_token_hash: z.string().regex(AGENT_TOKEN_HASH_PATTERN).optional(),
|
|
97
117
|
});
|
|
118
|
+
const exactReleaseAgentSchema = releaseAgentSchema.extend({
|
|
119
|
+
expected_agent_id: z.string().min(1),
|
|
120
|
+
});
|
|
98
121
|
const listSessionEventsQuerySchema = z.object({
|
|
99
122
|
type: z.string().optional(),
|
|
100
123
|
limit: positiveIntQueryParam({ defaultValue: 100, max: 500 }),
|
|
@@ -635,6 +658,9 @@ agentRoutes.post('/agents/:name/events', requireAuth, rateLimit, async (c) => {
|
|
|
635
658
|
return parsed.response;
|
|
636
659
|
}
|
|
637
660
|
const { type, payload } = parsed.data;
|
|
661
|
+
const { key: idempotencyKey, error: idempotencyError } = parseIdempotencyKey(c.req.header('Idempotency-Key'));
|
|
662
|
+
if (idempotencyError)
|
|
663
|
+
return jsonError(c, 'invalid_idempotency_key', idempotencyError, 400);
|
|
638
664
|
if (!sessionEventEngine.isValidEventType(type)) {
|
|
639
665
|
return jsonError(c, 'invalid_event_type', `Unknown event type: ${type}`, 400);
|
|
640
666
|
}
|
|
@@ -660,15 +686,26 @@ agentRoutes.post('/agents/:name/events', requireAuth, rateLimit, async (c) => {
|
|
|
660
686
|
return jsonError(c, 'invalid_request', `Invalid status value: "${newStatus}". Must be one of: ${[...VALID_STATUSES].join(', ')}`, 400);
|
|
661
687
|
}
|
|
662
688
|
}
|
|
663
|
-
const
|
|
664
|
-
type,
|
|
665
|
-
payload
|
|
666
|
-
}
|
|
667
|
-
//
|
|
668
|
-
|
|
689
|
+
const recorded = idempotencyKey
|
|
690
|
+
? await sessionEventEngine.recordSessionEventWithIdempotency(db, workspace.id, agentRecord.id, { type, payload }, idempotencyKey)
|
|
691
|
+
: await sessionEventEngine.recordSessionEvent(db, workspace.id, agentRecord.id, { type, payload });
|
|
692
|
+
const { event, replayed, pendingStatusApplication } = recorded;
|
|
693
|
+
// Apply the agent status mutation and durably mark it complete as one
|
|
694
|
+
// atomic unit (see `applyStatusEventEffect`). `pendingStatusApplication`
|
|
695
|
+
// is true both for a fresh event and for a replay whose status write
|
|
696
|
+
// never completed (crash between the durable event claim and the agent
|
|
697
|
+
// update) — either way this finishes the interrupted mutation instead
|
|
698
|
+
// of returning 201 against a stale agent row.
|
|
699
|
+
let statusApplied = false;
|
|
700
|
+
if (pendingStatusApplication && type.startsWith('status.')) {
|
|
701
|
+
const resolved = sessionEventEngine.resolveStatusFromEvent(type);
|
|
702
|
+
const newStatus = resolved ?? payload.status;
|
|
703
|
+
const effect = await sessionEventEngine.applyStatusEventEffect(db, workspace.id, agentRecord.id, event.id, newStatus);
|
|
704
|
+
statusApplied = effect.mutated;
|
|
705
|
+
}
|
|
706
|
+
if (statusApplied) {
|
|
669
707
|
const resolved = sessionEventEngine.resolveStatusFromEvent(type);
|
|
670
708
|
const newStatus = resolved ?? payload.status;
|
|
671
|
-
await agentEngine.updateAgent(db, workspace.id, name, { status: newStatus });
|
|
672
709
|
const eventType = type === 'status.changed' ? 'agent.status.changed' : `agent.status.${canonicalStatus(newStatus) ?? newStatus}`;
|
|
673
710
|
const eventData = {
|
|
674
711
|
agent_id: agentRecord.id,
|
|
@@ -684,7 +721,7 @@ agentRoutes.post('/agents/:name/events', requireAuth, rateLimit, async (c) => {
|
|
|
684
721
|
data: eventData,
|
|
685
722
|
});
|
|
686
723
|
}
|
|
687
|
-
if (!type.startsWith('status.')) {
|
|
724
|
+
if (!replayed && !type.startsWith('status.')) {
|
|
688
725
|
const { type: _sessionEventType, ...eventWithoutType } = event;
|
|
689
726
|
const eventData = { agent_name: name, ...eventWithoutType };
|
|
690
727
|
runInBackground(c, fanoutToWorkspace(c, `harness.${type}`, eventData), `fanout harness.${type}`);
|
|
@@ -694,7 +731,7 @@ agentRoutes.post('/agents/:name/events', requireAuth, rateLimit, async (c) => {
|
|
|
694
731
|
data: eventData,
|
|
695
732
|
});
|
|
696
733
|
}
|
|
697
|
-
return
|
|
734
|
+
return jsonIdempotentOk(c, { status: 201, data: event, replayed });
|
|
698
735
|
}
|
|
699
736
|
catch (err) {
|
|
700
737
|
return errorResponse(c, err);
|
|
@@ -778,4 +815,70 @@ agentRoutes.post('/agents/release', requireAuth, rateLimit, async (c) => {
|
|
|
778
815
|
return errorResponse(c, err);
|
|
779
816
|
}
|
|
780
817
|
});
|
|
818
|
+
// POST /v1/agents/release-exact - durable, immutable-identity release reconciliation.
|
|
819
|
+
//
|
|
820
|
+
// This intentionally does not alter the legacy name-only route. A broker that
|
|
821
|
+
// has lost its local process handle must opt into the stricter contract and
|
|
822
|
+
// persist this idempotency key before it starts retrying.
|
|
823
|
+
agentRoutes.post('/agents/release-exact', requireSender, rateLimit, async (c) => {
|
|
824
|
+
try {
|
|
825
|
+
const db = c.get('db');
|
|
826
|
+
const workspace = c.get('workspace');
|
|
827
|
+
const callerAgent = c.get('agent');
|
|
828
|
+
const callerNode = c.get('node');
|
|
829
|
+
const parsed = await parseJsonBody(c, exactReleaseAgentSchema, 'name and expected_agent_id are required');
|
|
830
|
+
if (!parsed.ok)
|
|
831
|
+
return parsed.response;
|
|
832
|
+
const { key: idempotencyKey, error: idempotencyError } = parseIdempotencyKey(c.req.header('Idempotency-Key'));
|
|
833
|
+
if (idempotencyError)
|
|
834
|
+
return jsonError(c, 'invalid_idempotency_key', idempotencyError, 400);
|
|
835
|
+
if (!idempotencyKey)
|
|
836
|
+
return jsonError(c, 'idempotency_key_required', 'Idempotency-Key is required for exact agent release', 400);
|
|
837
|
+
if (callerAgent?.id === parsed.data.expected_agent_id && parsed.data.delete_agent === true) {
|
|
838
|
+
return jsonError(c, 'agent_self_release_requires_workspace_key', 'Self-release with delete_agent requires a workspace or node credential', 400);
|
|
839
|
+
}
|
|
840
|
+
const result = await actionEngine.dispatchAgentRelease(db, workspace.id, {
|
|
841
|
+
input: {
|
|
842
|
+
name: parsed.data.name,
|
|
843
|
+
reason: parsed.data.reason ?? null,
|
|
844
|
+
delete_agent: parsed.data.delete_agent === true,
|
|
845
|
+
expected_agent_id: parsed.data.expected_agent_id,
|
|
846
|
+
...(parsed.data.expected_token_hash ? { expected_token_hash: parsed.data.expected_token_hash } : {}),
|
|
847
|
+
},
|
|
848
|
+
// A workspace key has no agent FK. Keep the audit caller null while
|
|
849
|
+
// the separate durable scope below owns its idempotency namespace.
|
|
850
|
+
caller_id: callerAgent?.id,
|
|
851
|
+
caller_name: callerAgent?.name ?? callerNode?.name ?? 'workspace',
|
|
852
|
+
}, {
|
|
853
|
+
nodeConnections: c.get('engine').nodeConnections,
|
|
854
|
+
completionDeps: c.get('engine'),
|
|
855
|
+
idempotencyKey,
|
|
856
|
+
idempotencyActorId: callerAgent?.id ?? callerNode?.id ?? 'workspace-key',
|
|
857
|
+
});
|
|
858
|
+
const replayed = actionEngine.wasInvocationReplayed(result);
|
|
859
|
+
if (!replayed) {
|
|
860
|
+
await sendWebhookEvent(c, {
|
|
861
|
+
type: 'action.invoked',
|
|
862
|
+
workspaceId: workspace.id,
|
|
863
|
+
data: {
|
|
864
|
+
invocation_id: result.invocation_id,
|
|
865
|
+
action_name: result.action_name,
|
|
866
|
+
caller_name: callerAgent?.name ?? callerNode?.name ?? 'workspace',
|
|
867
|
+
handler_agent_id: result.handler_agent_id,
|
|
868
|
+
handler_node_id: result.handler_node_id,
|
|
869
|
+
},
|
|
870
|
+
});
|
|
871
|
+
}
|
|
872
|
+
return jsonIdempotentOk(c, { status: 201, data: result, replayed });
|
|
873
|
+
}
|
|
874
|
+
catch (err) {
|
|
875
|
+
if (err instanceof D1WriteRetryExhaustedError) {
|
|
876
|
+
// The storage layer has already spent its bounded retry budget. An
|
|
877
|
+
// exact keyed operation is safe to retry only after this delay.
|
|
878
|
+
c.header('Retry-After', '1');
|
|
879
|
+
return jsonError(c, 'database_overloaded', 'Release database is temporarily overloaded', 503);
|
|
880
|
+
}
|
|
881
|
+
return errorResponse(c, err);
|
|
882
|
+
}
|
|
883
|
+
});
|
|
781
884
|
//# sourceMappingURL=agent.js.map
|
package/dist/routes/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/routes/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/routes/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ export declare function sweepDueNodeDeliveries(engine: EngineDeps, opts?: {
|
|
|
24
24
|
workspaceId?: string;
|
|
25
25
|
now?: Date;
|
|
26
26
|
limit?: number;
|
|
27
|
+
wsBacklogLimit?: number;
|
|
27
28
|
}): Promise<number>;
|
|
28
29
|
/**
|
|
29
30
|
* @deprecated Renamed to {@link sweepDueNodeDeliveries}, which also sweeps queued
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveryRouting.d.ts","sourceRoot":"","sources":["../../src/routes/deliveryRouting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,WAAW,CAAC;AAGvD,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAA+C,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGjG,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAsBnC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AA2b9C,wBAAsB,qBAAqB,CACzC,CAAC,EAAE,WAAW,EACd,UAAU,EAAE,oBAAoB,EAAE,EAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,IAAI,CAAC,CAEf;
|
|
1
|
+
{"version":3,"file":"deliveryRouting.d.ts","sourceRoot":"","sources":["../../src/routes/deliveryRouting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,WAAW,CAAC;AAGvD,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAA+C,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGjG,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAsBnC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AA2b9C,wBAAsB,qBAAqB,CACzC,CAAC,EAAE,WAAW,EACd,UAAU,EAAE,oBAAoB,EAAE,EAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,IAAI,CAAC,CAEf;AAkDD;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GACvF,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,+BAAyB,CAAC;AAiCjE;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACnE,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,wBAAwB,CAC5C,CAAC,EAAE,WAAW,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,uBAAuB,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAaf"}
|
|
@@ -373,8 +373,8 @@ export async function routeDeliveryOutcomes(c, deliveries, eventType, eventData,
|
|
|
373
373
|
* `routeOneDeliveryOutcome` has already stamped it for the next retry) we stop,
|
|
374
374
|
* so a later seq can never outrun an earlier undelivered one.
|
|
375
375
|
*/
|
|
376
|
-
async function redriveWsBacklogForAgent(ctx, agentId, now) {
|
|
377
|
-
const backlog = await deliveryEngine.fetchQueuedWsBacklogEvents(ctx.db, ctx.workspaceId, agentId, { now });
|
|
376
|
+
async function redriveWsBacklogForAgent(ctx, agentId, now, wsBacklogLimit) {
|
|
377
|
+
const backlog = await deliveryEngine.fetchQueuedWsBacklogEvents(ctx.db, ctx.workspaceId, agentId, { now, limit: wsBacklogLimit });
|
|
378
378
|
if (backlog.length === 0)
|
|
379
379
|
return;
|
|
380
380
|
const backlogDeliveries = backlog.map((event) => event.delivery);
|
|
@@ -401,7 +401,11 @@ async function redriveWsBacklogForAgent(ctx, agentId, now) {
|
|
|
401
401
|
*/
|
|
402
402
|
export async function sweepDueNodeDeliveries(engine, opts = {}) {
|
|
403
403
|
const now = opts.now ?? new Date();
|
|
404
|
-
const due = await deliveryEngine.fetchDueNodeDeliveryEvents(engine.db, {
|
|
404
|
+
const due = await deliveryEngine.fetchDueNodeDeliveryEvents(engine.db, {
|
|
405
|
+
workspaceId: opts.workspaceId,
|
|
406
|
+
limit: opts.limit,
|
|
407
|
+
now,
|
|
408
|
+
});
|
|
405
409
|
const httpPushEvents = [];
|
|
406
410
|
const wsAgents = [];
|
|
407
411
|
const seenWsAgents = new Set();
|
|
@@ -420,7 +424,7 @@ export async function sweepDueNodeDeliveries(engine, opts = {}) {
|
|
|
420
424
|
}
|
|
421
425
|
const tasks = [
|
|
422
426
|
...httpPushEvents.map((event) => () => (routeDeliveryOutcomesForContext({ db: engine.db, workspaceId: event.workspaceId, engine }, [event.delivery], event.eventType, event.eventData))),
|
|
423
|
-
...wsAgents.map((agent) => () => (redriveWsBacklogForAgent({ db: engine.db, workspaceId: agent.workspaceId, engine }, agent.agentId, now))),
|
|
427
|
+
...wsAgents.map((agent) => () => (redriveWsBacklogForAgent({ db: engine.db, workspaceId: agent.workspaceId, engine }, agent.agentId, now, opts.wsBacklogLimit))),
|
|
424
428
|
];
|
|
425
429
|
// A single cron must not fan out up to 50 simultaneous D1-heavy dispatch
|
|
426
430
|
// pipelines. Preserve independent failure handling and per-agent ordering.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveryRouting.js","sourceRoot":"","sources":["../../src/routes/deliveryRouting.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deliveryRouting.js","sourceRoot":"","sources":["../../src/routes/deliveryRouting.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/node.js
CHANGED
|
@@ -86,18 +86,11 @@ function observerHasAgentFilter(observer) {
|
|
|
86
86
|
function filterNodeAgentsForObserver(observer, bindings) {
|
|
87
87
|
return bindings.filter((binding) => observerAllowsAgent(observer, binding.agent_id));
|
|
88
88
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const bindings = await nodeEngine.listNodeAgents(db, workspaceId, node.name);
|
|
95
|
-
const visibleBindings = bindings ? filterNodeAgentsForObserver(observer, bindings) : [];
|
|
96
|
-
if (visibleBindings.length > 0) {
|
|
97
|
-
visible.push({ ...node, active_agents: visibleBindings.length });
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return visible;
|
|
89
|
+
/** The observer's authorized agent ids, or `undefined` when unfiltered/absent. */
|
|
90
|
+
function observerAgentIdsFilter(observer) {
|
|
91
|
+
if (!observer)
|
|
92
|
+
return undefined;
|
|
93
|
+
return normalizeObserverFilters(observer.filters).agent_ids;
|
|
101
94
|
}
|
|
102
95
|
// POST /v1/nodes - enroll or rotate a node token (workspace-key only)
|
|
103
96
|
nodeRoutes.post('/nodes', requireWorkspaceKey, rateLimit, async (c) => {
|
|
@@ -159,16 +152,47 @@ async function enrollNode(c, data) {
|
|
|
159
152
|
return errorResponse(c, err);
|
|
160
153
|
}
|
|
161
154
|
}
|
|
162
|
-
|
|
155
|
+
const nodeStatusSchema = z.enum(['online', 'offline']);
|
|
156
|
+
// GET /v1/nodes?capability=&name=&status=&history=&cursor=&limit= - node roster
|
|
157
|
+
//
|
|
158
|
+
// Default (no `history`): a bare array, matching every caller written before
|
|
159
|
+
// this selector existed. `status=online` (or `offline`) now pushes a
|
|
160
|
+
// liveness predicate into SQL instead of fetching the whole table and
|
|
161
|
+
// filtering in JS — this is the server-filtered live-Fleet path a default
|
|
162
|
+
// `fleet nodes` call should use so it never downloads history.
|
|
163
|
+
//
|
|
164
|
+
// `history=true`: switches to the bounded, paginated contract
|
|
165
|
+
// (`{ nodes, next_cursor }`) for an explicit full-roster read (`--all`).
|
|
166
|
+
// `cursor`/`limit` page through it without silent truncation, however many
|
|
167
|
+
// historical rows the workspace has retained.
|
|
163
168
|
nodeRoutes.get('/nodes', requireWorkspaceRead('nodes:read'), rateLimit, async (c) => {
|
|
164
169
|
try {
|
|
165
170
|
const db = c.get('db');
|
|
166
171
|
const workspace = c.get('workspace');
|
|
167
|
-
const
|
|
172
|
+
const statusRaw = c.req.query('status');
|
|
173
|
+
if (statusRaw !== undefined && !nodeStatusSchema.safeParse(statusRaw).success) {
|
|
174
|
+
return jsonError(c, 'invalid_request', "status must be 'online' or 'offline'", 400);
|
|
175
|
+
}
|
|
176
|
+
const history = c.req.query('history') === 'true';
|
|
177
|
+
const limitRaw = c.req.query('limit');
|
|
178
|
+
const limit = limitRaw !== undefined ? Number(limitRaw) : undefined;
|
|
179
|
+
if (limit !== undefined && (!Number.isInteger(limit) || limit < 1)) {
|
|
180
|
+
return jsonError(c, 'invalid_request', 'limit must be a positive integer', 400);
|
|
181
|
+
}
|
|
182
|
+
const page = await nodeEngine.listNodes(db, workspace.id, {
|
|
168
183
|
capability: c.req.query('capability'),
|
|
169
184
|
name: c.req.query('name'),
|
|
185
|
+
status: statusRaw,
|
|
186
|
+
history,
|
|
187
|
+
cursor: c.req.query('cursor') ?? null,
|
|
188
|
+
limit,
|
|
189
|
+
// Pushed into the same SQL query as every other filter, so hidden nodes
|
|
190
|
+
// are excluded from row selection before the page/cursor is computed —
|
|
191
|
+
// see `observerNodeVisibilityCondition` — instead of one
|
|
192
|
+
// `listNodeAgents` query per roster row followed by an app-side filter.
|
|
193
|
+
observerAgentIds: observerAgentIdsFilter(getObserverTokenFromContext(c)),
|
|
170
194
|
});
|
|
171
|
-
return jsonOk(c,
|
|
195
|
+
return jsonOk(c, history ? { nodes: page.nodes, next_cursor: page.nextCursor } : page.nodes);
|
|
172
196
|
}
|
|
173
197
|
catch (err) {
|
|
174
198
|
return errorResponse(c, err);
|