borgmcp-server 0.1.7 → 0.1.9
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/README.md +61 -46
- package/SECURITY.md +12 -1
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/dist/bootstrap.d.ts +8 -1
- package/dist/bootstrap.js +39 -6
- package/dist/bootstrap.js.map +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +176 -1
- package/dist/cli.js.map +1 -1
- package/dist/coordination-api.js +10 -1
- package/dist/coordination-api.js.map +1 -1
- package/dist/credentials.d.ts +5 -1
- package/dist/credentials.js +35 -3
- package/dist/credentials.js.map +1 -1
- package/dist/debug-log.d.ts +2 -2
- package/dist/debug-log.js +2 -2
- package/dist/debug-log.js.map +1 -1
- package/dist/https-server.d.ts +5 -1
- package/dist/https-server.js +93 -27
- package/dist/https-server.js.map +1 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -1
- package/dist/managed-service.d.ts +20 -0
- package/dist/managed-service.js +80 -0
- package/dist/managed-service.js.map +1 -0
- package/dist/migrations.js +23 -0
- package/dist/migrations.js.map +1 -1
- package/dist/portable-credential-store.d.ts +16 -0
- package/dist/portable-credential-store.js +305 -0
- package/dist/portable-credential-store.js.map +1 -0
- package/dist/registry-artifact.d.ts +11 -0
- package/dist/registry-artifact.js +99 -0
- package/dist/registry-artifact.js.map +1 -0
- package/dist/runtime-identity.d.ts +19 -0
- package/dist/runtime-identity.js +61 -0
- package/dist/runtime-identity.js.map +1 -0
- package/dist/runtime-lifecycle.d.ts +56 -0
- package/dist/runtime-lifecycle.js +486 -0
- package/dist/runtime-lifecycle.js.map +1 -0
- package/dist/runtime-operator.d.ts +24 -0
- package/dist/runtime-operator.js +95 -0
- package/dist/runtime-operator.js.map +1 -0
- package/dist/service.d.ts +53 -5
- package/dist/service.js +326 -15
- package/dist/service.js.map +1 -1
- package/dist/store.d.ts +16 -7
- package/dist/store.js +93 -83
- package/dist/store.js.map +1 -1
- package/npm-shrinkwrap.json +6 -6
- package/package.json +2 -2
- package/src/bootstrap.ts +46 -5
- package/src/cli.ts +171 -1
- package/src/coordination-api.ts +12 -0
- package/src/credentials.ts +36 -5
- package/src/debug-log.ts +4 -3
- package/src/https-server.ts +124 -27
- package/src/index.ts +46 -1
- package/src/main.ts +1 -0
- package/src/managed-service.ts +107 -0
- package/src/migrations.ts +23 -0
- package/src/portable-credential-store.ts +306 -0
- package/src/registry-artifact.ts +111 -0
- package/src/runtime-identity.ts +82 -0
- package/src/runtime-lifecycle.ts +567 -0
- package/src/runtime-operator.ts +124 -0
- package/src/service.ts +401 -20
- package/src/store.ts +100 -83
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/store.d.ts
CHANGED
|
@@ -44,8 +44,6 @@ export type ActivityNotificationRecord = EnrichedActivityRecord & ({
|
|
|
44
44
|
readonly author_drone_id?: string;
|
|
45
45
|
readonly claimant_drone_id?: string;
|
|
46
46
|
readonly claimant_role?: string | null;
|
|
47
|
-
} | {
|
|
48
|
-
readonly kind: "heartbeat_ping";
|
|
49
47
|
});
|
|
50
48
|
export type ActivityStreamRecord = EnrichedActivityRecord | ActivityNotificationRecord;
|
|
51
49
|
export interface ClaimRecord {
|
|
@@ -138,11 +136,7 @@ export interface StoreRuntime {
|
|
|
138
136
|
readonly close: () => void;
|
|
139
137
|
}
|
|
140
138
|
export interface LivenessStore {
|
|
141
|
-
readonly scan: (
|
|
142
|
-
readonly silentMs?: number;
|
|
143
|
-
readonly cooldownMs?: number;
|
|
144
|
-
readonly limit?: number;
|
|
145
|
-
}) => ActivityNotificationRecord[];
|
|
139
|
+
readonly scan: () => ActivityNotificationRecord[];
|
|
146
140
|
}
|
|
147
141
|
export interface DigestPair {
|
|
148
142
|
readonly lookup: Buffer;
|
|
@@ -184,6 +178,7 @@ export interface StoredDroneSessionDigest extends StoredSecretDigest {
|
|
|
184
178
|
readonly droneId: string;
|
|
185
179
|
readonly expiresAt: string;
|
|
186
180
|
readonly evictedAt: string | null;
|
|
181
|
+
readonly takenOver: boolean;
|
|
187
182
|
}
|
|
188
183
|
export interface CredentialStore {
|
|
189
184
|
readonly createRecoveryCredential: (id: string, digest: DigestPair) => void;
|
|
@@ -211,6 +206,7 @@ export interface CredentialStore {
|
|
|
211
206
|
readonly findClientCredential: (lookup: Buffer) => StoredSecretDigest | null;
|
|
212
207
|
readonly clientExists: (clientId: string) => boolean;
|
|
213
208
|
readonly clientIsActive: (clientId: string) => boolean;
|
|
209
|
+
readonly clientHasServerCapability: (clientId: string, capability: "create_cube") => boolean;
|
|
214
210
|
readonly findDroneSessionCredential: (lookup: Buffer) => StoredDroneSessionDigest | null;
|
|
215
211
|
readonly findActiveDroneSessionExpiry: (sessionId: string) => string | null;
|
|
216
212
|
readonly rotateClientCredential: (input: {
|
|
@@ -301,6 +297,7 @@ export interface SeatAttachInput {
|
|
|
301
297
|
readonly credentialId: string;
|
|
302
298
|
readonly credentialDigest: DigestPair;
|
|
303
299
|
readonly expiresAt: string;
|
|
300
|
+
readonly renewIfExpiresAtOrBefore: string;
|
|
304
301
|
}
|
|
305
302
|
export interface SeatAttachRecord {
|
|
306
303
|
readonly cube: {
|
|
@@ -431,6 +428,18 @@ export declare class AttachSessionRejectedError extends Error {
|
|
|
431
428
|
readonly code = "SESSION_REJECTED";
|
|
432
429
|
constructor();
|
|
433
430
|
}
|
|
431
|
+
export declare class AttachSessionExpiredError extends Error {
|
|
432
|
+
readonly code = "AUTH_EXPIRED";
|
|
433
|
+
constructor();
|
|
434
|
+
}
|
|
435
|
+
export declare class AttachSessionRevokedError extends Error {
|
|
436
|
+
readonly code = "SESSION_REVOKED";
|
|
437
|
+
constructor();
|
|
438
|
+
}
|
|
439
|
+
export declare class AttachDroneEvictedError extends Error {
|
|
440
|
+
readonly code = "DRONE_EVICTED";
|
|
441
|
+
constructor();
|
|
442
|
+
}
|
|
434
443
|
export declare class StorageCapacityError extends Error {
|
|
435
444
|
readonly code = "CAPACITY_EXCEEDED";
|
|
436
445
|
constructor();
|
package/dist/store.js
CHANGED
|
@@ -75,6 +75,27 @@ export class AttachSessionRejectedError extends Error {
|
|
|
75
75
|
this.name = "AttachSessionRejectedError";
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
+
export class AttachSessionExpiredError extends Error {
|
|
79
|
+
code = "AUTH_EXPIRED";
|
|
80
|
+
constructor() {
|
|
81
|
+
super("Authentication failed.");
|
|
82
|
+
this.name = "AttachSessionExpiredError";
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
export class AttachSessionRevokedError extends Error {
|
|
86
|
+
code = "SESSION_REVOKED";
|
|
87
|
+
constructor() {
|
|
88
|
+
super("Authentication failed.");
|
|
89
|
+
this.name = "AttachSessionRevokedError";
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export class AttachDroneEvictedError extends Error {
|
|
93
|
+
code = "DRONE_EVICTED";
|
|
94
|
+
constructor() {
|
|
95
|
+
super("Authentication failed.");
|
|
96
|
+
this.name = "AttachDroneEvictedError";
|
|
97
|
+
}
|
|
98
|
+
}
|
|
78
99
|
export class StorageCapacityError extends Error {
|
|
79
100
|
code = "CAPACITY_EXCEEDED";
|
|
80
101
|
constructor() {
|
|
@@ -160,7 +181,7 @@ export async function openStore(options) {
|
|
|
160
181
|
const capacityGuard = new StorageCapacityGuard(storageLimits, capacityProbe, requiredInteger(pageRow, "page_size"));
|
|
161
182
|
const activityHub = new ActivityHub();
|
|
162
183
|
const maintenance = new SqliteMaintenanceStore(database, clock);
|
|
163
|
-
const liveness = new
|
|
184
|
+
const liveness = new IdleLivenessStore();
|
|
164
185
|
const credentials = new SqliteCredentialStore(database, clock, capacityGuard, options.mutationHook);
|
|
165
186
|
return Object.freeze({
|
|
166
187
|
forPrincipal: (principal) => {
|
|
@@ -761,7 +782,6 @@ class SqliteScopedStore {
|
|
|
761
782
|
this.#database.prepare(`
|
|
762
783
|
UPDATE drones SET last_seen = ? WHERE id = ? AND cube_id = ? AND evicted_at IS NULL
|
|
763
784
|
`).run(createdAt, droneId, cubeId);
|
|
764
|
-
this.#database.prepare("DELETE FROM silent_seat_ping_state WHERE drone_id = ?").run(droneId);
|
|
765
785
|
}
|
|
766
786
|
if (recipients.length > 0) {
|
|
767
787
|
const valid = this.#database.prepare(`
|
|
@@ -948,6 +968,7 @@ class SqliteScopedStore {
|
|
|
948
968
|
assertCanonicalUuid(input.credentialId, "Drone session credential id");
|
|
949
969
|
validateDigest(input.credentialDigest);
|
|
950
970
|
validateTimestamp(input.expiresAt);
|
|
971
|
+
validateTimestamp(input.renewIfExpiresAtOrBefore);
|
|
951
972
|
const scope = this.#scope("read");
|
|
952
973
|
const authorizedRole = this.#database.prepare(`
|
|
953
974
|
SELECT 1 FROM cubes AS c JOIN roles AS role ON role.cube_id = c.id
|
|
@@ -972,7 +993,7 @@ class SqliteScopedStore {
|
|
|
972
993
|
SELECT credential.verifier_digest, credential.revoked_at AS credential_revoked_at,
|
|
973
994
|
session.id AS session_id, session.client_id, session.cube_id, session.drone_id,
|
|
974
995
|
session.expires_at, session.revoked_at AS session_revoked_at,
|
|
975
|
-
drone.role_id, drone.label, drone.evicted_at
|
|
996
|
+
session.superseded_at, drone.role_id, drone.label, drone.evicted_at
|
|
976
997
|
FROM drone_session_credentials AS credential
|
|
977
998
|
JOIN drone_sessions AS session ON session.id = credential.session_id
|
|
978
999
|
JOIN drones AS drone ON drone.id = session.drone_id
|
|
@@ -982,10 +1003,6 @@ class SqliteScopedStore {
|
|
|
982
1003
|
if (bound !== undefined) {
|
|
983
1004
|
const verifier = requiredBuffer(bound, "verifier_digest");
|
|
984
1005
|
if (!timingSafeEqual(verifier, input.credentialDigest.verifier) ||
|
|
985
|
-
optionalText(bound, "credential_revoked_at") !== null ||
|
|
986
|
-
optionalText(bound, "session_revoked_at") !== null ||
|
|
987
|
-
optionalText(bound, "evicted_at") !== null ||
|
|
988
|
-
requiredText(bound, "expires_at") <= now ||
|
|
989
1006
|
requiredText(bound, "client_id") !== this.#principal.id ||
|
|
990
1007
|
requiredText(bound, "cube_id") !== input.cubeId ||
|
|
991
1008
|
requiredText(bound, "role_id") !== input.roleId ||
|
|
@@ -993,9 +1010,29 @@ class SqliteScopedStore {
|
|
|
993
1010
|
requiredText(bound, "drone_id") !== input.priorDroneId)) {
|
|
994
1011
|
throw new AttachSessionRejectedError();
|
|
995
1012
|
}
|
|
1013
|
+
if (optionalText(bound, "evicted_at") !== null)
|
|
1014
|
+
throw new AttachDroneEvictedError();
|
|
1015
|
+
if (optionalText(bound, "credential_revoked_at") !== null ||
|
|
1016
|
+
optionalText(bound, "session_revoked_at") !== null) {
|
|
1017
|
+
throw new AttachSessionRevokedError();
|
|
1018
|
+
}
|
|
1019
|
+
if (optionalText(bound, "superseded_at") !== null) {
|
|
1020
|
+
throw new AttachSessionRejectedError();
|
|
1021
|
+
}
|
|
1022
|
+
if (requiredText(bound, "expires_at") <= now)
|
|
1023
|
+
throw new AttachSessionExpiredError();
|
|
996
1024
|
const droneId = requiredText(bound, "drone_id");
|
|
1025
|
+
const sessionId = requiredText(bound, "session_id");
|
|
1026
|
+
const previousExpiry = requiredText(bound, "expires_at");
|
|
1027
|
+
const committedExpiry = input.expiresAt > previousExpiry &&
|
|
1028
|
+
previousExpiry <= input.renewIfExpiresAtOrBefore
|
|
1029
|
+
? input.expiresAt
|
|
1030
|
+
: previousExpiry;
|
|
1031
|
+
if (committedExpiry !== previousExpiry) {
|
|
1032
|
+
this.#database.prepare("UPDATE drone_sessions SET expires_at = ? WHERE id = ?")
|
|
1033
|
+
.run(committedExpiry, sessionId);
|
|
1034
|
+
}
|
|
997
1035
|
this.#database.prepare("UPDATE drones SET last_seen = ? WHERE id = ?").run(now, droneId);
|
|
998
|
-
this.#database.prepare("DELETE FROM silent_seat_ping_state WHERE drone_id = ?").run(droneId);
|
|
999
1036
|
const attachedRoleRow = this.#database.prepare(`
|
|
1000
1037
|
SELECT id AS role_id, name AS role_name, role_class, is_human_seat
|
|
1001
1038
|
FROM roles WHERE id = ? AND cube_id = ?
|
|
@@ -1019,33 +1056,55 @@ class SqliteScopedStore {
|
|
|
1019
1056
|
is_human_seat: requiredInteger(attachedRoleRow, "is_human_seat") === 1,
|
|
1020
1057
|
},
|
|
1021
1058
|
drone: { id: droneId, label: requiredText(bound, "label") },
|
|
1022
|
-
sessionId
|
|
1023
|
-
expiresAt:
|
|
1059
|
+
sessionId,
|
|
1060
|
+
expiresAt: committedExpiry,
|
|
1024
1061
|
result: "reused",
|
|
1025
1062
|
};
|
|
1026
1063
|
}
|
|
1027
1064
|
const priorSeat = input.priorDroneId === undefined ? undefined : this.#database.prepare(`
|
|
1028
|
-
SELECT id, role_id, label FROM drones
|
|
1029
|
-
WHERE id = ? AND client_id = ? AND cube_id = ?
|
|
1065
|
+
SELECT id, role_id, label, evicted_at FROM drones
|
|
1066
|
+
WHERE id = ? AND client_id = ? AND cube_id = ?
|
|
1030
1067
|
`).get(input.priorDroneId, this.#principal.id, input.cubeId);
|
|
1031
1068
|
let droneId;
|
|
1032
1069
|
let droneLabel;
|
|
1033
|
-
if (
|
|
1070
|
+
if (input.priorDroneId !== undefined) {
|
|
1071
|
+
if (priorSeat === undefined)
|
|
1072
|
+
throw new AttachSessionRejectedError();
|
|
1073
|
+
if (optionalText(priorSeat, "evicted_at") !== null)
|
|
1074
|
+
throw new AttachDroneEvictedError();
|
|
1034
1075
|
const priorSeatId = requiredText(priorSeat, "id");
|
|
1035
1076
|
if (requiredText(priorSeat, "role_id") !== input.roleId) {
|
|
1036
1077
|
throw new AttachSessionRejectedError();
|
|
1037
1078
|
}
|
|
1038
|
-
const
|
|
1039
|
-
SELECT
|
|
1079
|
+
const latestSession = this.#database.prepare(`
|
|
1080
|
+
SELECT session.id, session.expires_at, session.revoked_at AS session_revoked_at,
|
|
1081
|
+
MAX(CASE WHEN credential.revoked_at IS NOT NULL THEN 1 ELSE 0 END)
|
|
1082
|
+
AS credential_revoked
|
|
1083
|
+
FROM drone_sessions AS session
|
|
1040
1084
|
JOIN drone_session_credentials AS credential ON credential.session_id = session.id
|
|
1041
1085
|
WHERE session.drone_id = ? AND session.client_id = ? AND session.cube_id = ?
|
|
1042
|
-
AND session.
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1086
|
+
AND session.superseded_at IS NULL
|
|
1087
|
+
GROUP BY session.id
|
|
1088
|
+
LIMIT 1
|
|
1089
|
+
`).get(priorSeatId, this.#principal.id, input.cubeId);
|
|
1090
|
+
if (latestSession === undefined)
|
|
1046
1091
|
throw new AttachSessionRejectedError();
|
|
1092
|
+
if (optionalText(latestSession, "session_revoked_at") !== null ||
|
|
1093
|
+
requiredInteger(latestSession, "credential_revoked") === 1) {
|
|
1094
|
+
throw new AttachSessionRevokedError();
|
|
1095
|
+
}
|
|
1096
|
+
if (requiredText(latestSession, "expires_at") > now) {
|
|
1097
|
+
throw new AttachSessionRejectedError();
|
|
1098
|
+
}
|
|
1047
1099
|
droneId = priorSeatId;
|
|
1048
1100
|
droneLabel = requiredText(priorSeat, "label");
|
|
1101
|
+
const superseded = this.#database.prepare(`
|
|
1102
|
+
UPDATE drone_sessions SET superseded_at = ?
|
|
1103
|
+
WHERE id = ? AND superseded_at IS NULL
|
|
1104
|
+
`).run(now, requiredText(latestSession, "id"));
|
|
1105
|
+
if (Number(superseded.changes) !== 1) {
|
|
1106
|
+
throw new Error("Expired session supersession was not atomic.");
|
|
1107
|
+
}
|
|
1049
1108
|
this.#database.prepare("UPDATE drones SET last_seen = ? WHERE id = ?").run(now, droneId);
|
|
1050
1109
|
}
|
|
1051
1110
|
else {
|
|
@@ -1056,7 +1115,6 @@ class SqliteScopedStore {
|
|
|
1056
1115
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
1057
1116
|
`).run(droneId, input.cubeId, input.roleId, this.#principal.id, droneLabel, now, now);
|
|
1058
1117
|
}
|
|
1059
|
-
this.#database.prepare("DELETE FROM silent_seat_ping_state WHERE drone_id = ?").run(droneId);
|
|
1060
1118
|
this.#database.prepare(`
|
|
1061
1119
|
INSERT INTO drone_sessions (
|
|
1062
1120
|
id, client_id, cube_id, drone_id, created_at, expires_at
|
|
@@ -1583,68 +1641,11 @@ class ActivityHub {
|
|
|
1583
1641
|
}
|
|
1584
1642
|
}
|
|
1585
1643
|
}
|
|
1586
|
-
class
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
constructor(database, clock, hub, capacityGuard) {
|
|
1592
|
-
this.database = database;
|
|
1593
|
-
this.clock = clock;
|
|
1594
|
-
this.hub = hub;
|
|
1595
|
-
this.capacityGuard = capacityGuard;
|
|
1596
|
-
}
|
|
1597
|
-
scan(options = {}) {
|
|
1598
|
-
const now = this.clock();
|
|
1599
|
-
const silentBefore = new Date(now.getTime() - (options.silentMs ?? 600_000)).toISOString();
|
|
1600
|
-
const cooldownBefore = new Date(now.getTime() - (options.cooldownMs ?? 600_000)).toISOString();
|
|
1601
|
-
const limit = Math.max(1, Math.min(Math.trunc(options.limit ?? 25), 25));
|
|
1602
|
-
const candidates = this.database.prepare(`
|
|
1603
|
-
SELECT drone.id AS drone_id, drone.cube_id, COALESCE(state.attempts, 0) AS attempts
|
|
1604
|
-
FROM drones AS drone
|
|
1605
|
-
JOIN clients AS client ON client.id = drone.client_id AND client.revoked_at IS NULL
|
|
1606
|
-
JOIN client_cube_grants AS grant_row ON grant_row.client_id = drone.client_id
|
|
1607
|
-
AND grant_row.cube_id = drone.cube_id AND grant_row.access IN ('write', 'manage')
|
|
1608
|
-
LEFT JOIN silent_seat_ping_state AS state ON state.drone_id = drone.id
|
|
1609
|
-
WHERE drone.evicted_at IS NULL AND COALESCE(drone.last_seen, drone.created_at) < ?
|
|
1610
|
-
AND COALESCE(state.attempts, 0) < 3
|
|
1611
|
-
AND (state.last_ping_at IS NULL OR state.last_ping_at < ?)
|
|
1612
|
-
AND EXISTS (SELECT 1 FROM drone_sessions AS session
|
|
1613
|
-
WHERE session.drone_id = drone.id AND session.revoked_at IS NULL AND session.expires_at > ?)
|
|
1614
|
-
ORDER BY COALESCE(drone.last_seen, drone.created_at), drone.id LIMIT ?
|
|
1615
|
-
`).all(silentBefore, cooldownBefore, now.toISOString(), limit);
|
|
1616
|
-
const published = [];
|
|
1617
|
-
for (const candidate of candidates) {
|
|
1618
|
-
const droneId = requiredText(candidate, "drone_id");
|
|
1619
|
-
const cubeId = requiredText(candidate, "cube_id");
|
|
1620
|
-
const message = "[HEARTBEAT-PING] No recent activity; confirm this seat is responsive.";
|
|
1621
|
-
this.capacityGuard.assertCanGrow(256);
|
|
1622
|
-
const id = randomUUID();
|
|
1623
|
-
const createdAt = now.toISOString();
|
|
1624
|
-
this.database.exec("BEGIN IMMEDIATE");
|
|
1625
|
-
try {
|
|
1626
|
-
this.database.prepare(`INSERT INTO silent_seat_ping_state (drone_id, attempts, last_ping_at)
|
|
1627
|
-
VALUES (?, 1, ?) ON CONFLICT(drone_id) DO UPDATE
|
|
1628
|
-
SET attempts = attempts + 1, last_ping_at = excluded.last_ping_at
|
|
1629
|
-
`).run(droneId, now.toISOString());
|
|
1630
|
-
this.database.exec("COMMIT");
|
|
1631
|
-
}
|
|
1632
|
-
catch (error) {
|
|
1633
|
-
try {
|
|
1634
|
-
this.database.exec("ROLLBACK");
|
|
1635
|
-
}
|
|
1636
|
-
catch { /* Preserve original failure. */ }
|
|
1637
|
-
throw error;
|
|
1638
|
-
}
|
|
1639
|
-
const entry = {
|
|
1640
|
-
kind: "heartbeat_ping",
|
|
1641
|
-
id, cube_id: cubeId, drone_id: null, message, visibility: "direct", created_at: createdAt,
|
|
1642
|
-
drone_label: null, role_name: null, recipient_drone_ids: [droneId],
|
|
1643
|
-
};
|
|
1644
|
-
this.hub.publish(cubeId, entry);
|
|
1645
|
-
published.push(entry);
|
|
1646
|
-
}
|
|
1647
|
-
return published;
|
|
1644
|
+
class IdleLivenessStore {
|
|
1645
|
+
scan() {
|
|
1646
|
+
// Silence is not a delivery failure. Keep the scheduler's lifecycle seam without
|
|
1647
|
+
// creating a directed event that crosses the client/model wake boundary.
|
|
1648
|
+
return [];
|
|
1648
1649
|
}
|
|
1649
1650
|
}
|
|
1650
1651
|
class SqliteCredentialStore {
|
|
@@ -1932,6 +1933,14 @@ class SqliteCredentialStore {
|
|
|
1932
1933
|
assertCanonicalUuid(clientId, "Client id");
|
|
1933
1934
|
return this.#database.prepare("SELECT 1 FROM clients WHERE id = ? AND revoked_at IS NULL").get(clientId) !== undefined;
|
|
1934
1935
|
}
|
|
1936
|
+
clientHasServerCapability(clientId, capability) {
|
|
1937
|
+
assertCanonicalUuid(clientId, "Client id");
|
|
1938
|
+
return this.#database.prepare(`
|
|
1939
|
+
SELECT 1 FROM client_server_capabilities AS capability
|
|
1940
|
+
JOIN clients AS client ON client.id = capability.client_id
|
|
1941
|
+
WHERE capability.client_id = ? AND capability.capability = ? AND client.revoked_at IS NULL
|
|
1942
|
+
`).get(clientId, capability) !== undefined;
|
|
1943
|
+
}
|
|
1935
1944
|
findDroneSessionCredential(lookup) {
|
|
1936
1945
|
validateLookup(lookup);
|
|
1937
1946
|
const row = this.#database.prepare(`
|
|
@@ -1939,7 +1948,7 @@ class SqliteCredentialStore {
|
|
|
1939
1948
|
credential.session_id, session.client_id, session.cube_id, session.drone_id,
|
|
1940
1949
|
session.expires_at,
|
|
1941
1950
|
COALESCE(credential.revoked_at, session.revoked_at, client.revoked_at) AS revoked_at,
|
|
1942
|
-
drone.evicted_at
|
|
1951
|
+
drone.evicted_at, session.superseded_at
|
|
1943
1952
|
FROM drone_session_credentials AS credential
|
|
1944
1953
|
JOIN drone_sessions AS session ON session.id = credential.session_id
|
|
1945
1954
|
JOIN clients AS client ON client.id = session.client_id
|
|
@@ -2370,6 +2379,7 @@ function storedDroneSessionDigest(row) {
|
|
|
2370
2379
|
droneId: requiredText(row, "drone_id"),
|
|
2371
2380
|
expiresAt: requiredText(row, "expires_at"),
|
|
2372
2381
|
evictedAt: nullableText(row, "evicted_at"),
|
|
2382
|
+
takenOver: nullableText(row, "superseded_at") !== null,
|
|
2373
2383
|
};
|
|
2374
2384
|
}
|
|
2375
2385
|
function requiredBuffer(row, key) {
|