@plurnk/plurnk-service 1.6.0 → 1.7.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/.env.defaults +7 -21
- package/INSTALL.md +18 -17
- package/README.md +1 -1
- package/SPEC.md +209 -136
- package/dist/build-info.json +1 -1
- package/dist/core/ChannelWrite.sql +3 -3
- package/dist/core/ClientInteractions.d.ts +19 -0
- package/dist/core/ClientInteractions.d.ts.map +1 -0
- package/dist/core/ClientInteractions.js +124 -0
- package/dist/core/ClientInteractions.js.map +1 -0
- package/dist/core/ClientInteractions.sql +34 -0
- package/dist/core/CoreSchemeServices.d.ts +9 -3
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +8 -2
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +4 -2
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +116 -1149
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/Engine.d.ts +24 -34
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +137 -1672
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Engine.sql +46 -32
- package/dist/core/ExecutableTools.d.ts +1 -0
- package/dist/core/ExecutableTools.d.ts.map +1 -1
- package/dist/core/ExecutableTools.js +17 -9
- package/dist/core/ExecutableTools.js.map +1 -1
- package/dist/core/ExecutorRegistry.d.ts +11 -3
- package/dist/core/ExecutorRegistry.d.ts.map +1 -1
- package/dist/core/ExecutorRegistry.js +139 -16
- package/dist/core/ExecutorRegistry.js.map +1 -1
- package/dist/core/LogBody.d.ts +1 -0
- package/dist/core/LogBody.d.ts.map +1 -1
- package/dist/core/LogBody.js +4 -0
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/ModelCall.d.ts +2 -2
- package/dist/core/ModelCall.d.ts.map +1 -1
- package/dist/core/ModelCall.js +4 -2
- package/dist/core/ModelCall.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +11 -22
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +90 -180
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/ProblemLog.d.ts +1 -1
- package/dist/core/ProblemLog.d.ts.map +1 -1
- package/dist/core/ProblemLog.js +14 -3
- package/dist/core/ProblemLog.js.map +1 -1
- package/dist/core/ProposalLifecycle.d.ts +4 -2
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +19 -7
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProviderInstantiate.js +2 -2
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/ResourceMutations.d.ts +73 -0
- package/dist/core/ResourceMutations.d.ts.map +1 -0
- package/dist/core/ResourceMutations.js +1142 -0
- package/dist/core/ResourceMutations.js.map +1 -0
- package/dist/core/SchemeRegistry.d.ts +18 -10
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +195 -43
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/StoredPacket.d.ts +2 -2
- package/dist/core/StoredPacket.js +7 -7
- package/dist/core/TurnRunner.d.ts +74 -0
- package/dist/core/TurnRunner.d.ts.map +1 -0
- package/dist/core/TurnRunner.js +1733 -0
- package/dist/core/TurnRunner.js.map +1 -0
- package/dist/core/WorkspaceGate.d.ts +1 -0
- package/dist/core/WorkspaceGate.d.ts.map +1 -1
- package/dist/core/WorkspaceGate.js +39 -0
- package/dist/core/WorkspaceGate.js.map +1 -1
- package/dist/core/caps/CoreInteractionCaps.d.ts +9 -0
- package/dist/core/caps/CoreInteractionCaps.d.ts.map +1 -0
- package/dist/core/caps/CoreInteractionCaps.js +14 -0
- package/dist/core/caps/CoreInteractionCaps.js.map +1 -0
- package/dist/core/caps/DbChannelCaps.js +4 -4
- package/dist/core/caps/DbChannelCaps.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +2 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +3 -0
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/content-hash.js +2 -2
- package/dist/core/content-hash.js.map +1 -1
- package/dist/core/content-weight.d.ts +2 -0
- package/dist/core/content-weight.d.ts.map +1 -0
- package/dist/core/content-weight.js +4 -0
- package/dist/core/content-weight.js.map +1 -0
- package/dist/core/content_weight.d.ts +4 -0
- package/dist/core/content_weight.d.ts.map +1 -0
- package/dist/core/content_weight.js +6 -0
- package/dist/core/content_weight.js.map +1 -0
- package/dist/core/fork.sql +5 -5
- package/dist/core/packet-wire.d.ts +4 -4
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +21 -21
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/scheme-types.d.ts +3 -2
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/digest/Digest.js +1 -1
- package/dist/digest/Digest.js.map +1 -1
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +53 -15
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecOutputScheme.js +1 -1
- package/dist/schemes/ExecOutputScheme.js.map +1 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +1 -1
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +2 -2
- package/dist/schemes/Log.sql +2 -2
- package/dist/schemes/Worker.js +2 -2
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.js +4 -4
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +2 -2
- package/dist/schemes/_entry-find.d.ts +5 -5
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +29 -28
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-manifest.js +4 -4
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +3 -3
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-ops.sql +3 -3
- package/dist/server/Daemon.d.ts +20 -49
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +311 -908
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DaemonModule.d.ts +31 -3
- package/dist/server/DaemonModule.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +117 -0
- package/dist/server/DrainSupervisor.d.ts.map +1 -0
- package/dist/server/DrainSupervisor.js +802 -0
- package/dist/server/DrainSupervisor.js.map +1 -0
- package/dist/server/client-input.d.ts +2 -0
- package/dist/server/client-input.d.ts.map +1 -1
- package/dist/server/client-input.js +12 -0
- package/dist/server/client-input.js.map +1 -1
- package/dist/server/lifecycle-recovery.sql +9 -0
- package/dist/server/logEntry.d.ts +1 -1
- package/dist/server/logEntry.js +1 -1
- package/dist/server/loopDocs.d.ts +1 -0
- package/dist/server/loopDocs.d.ts.map +1 -1
- package/dist/server/loopDocs.js +37 -8
- package/dist/server/loopDocs.js.map +1 -1
- package/dist/server/loopDocs.sql +10 -0
- package/dist/server/seam-entry-read.sql +2 -2
- package/dist/server/workspace-capabilities.sql +19 -0
- package/dist/service.js +1 -1
- package/dist/service.js.map +1 -1
- package/migrations/001_schema.sql +51 -10
- package/package.json +34 -33
- package/dist/core/ruler_count.d.ts +0 -4
- package/dist/core/ruler_count.d.ts.map +0 -1
- package/dist/core/ruler_count.js +0 -7
- package/dist/core/ruler_count.js.map +0 -1
- package/dist/core/token-ruler.d.ts +0 -2
- package/dist/core/token-ruler.d.ts.map +0 -1
- package/dist/core/token-ruler.js +0 -5
- package/dist/core/token-ruler.js.map +0 -1
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"package":"@plurnk/plurnk-service","version":"1.
|
|
1
|
+
{"package":"@plurnk/plurnk-service","version":"1.7.0","revision":"b77596d160fcca8ef1ca6cce3b68d2b3e4c2494e","dirty":false}
|
|
@@ -9,7 +9,7 @@ WHERE ec.entry_id = $entry_id AND ec.name = $channel;
|
|
|
9
9
|
-- PREP: append_to_channel
|
|
10
10
|
UPDATE entry_channels
|
|
11
11
|
SET content = content || $chunk,
|
|
12
|
-
|
|
12
|
+
weight = content_weight(content || $chunk),
|
|
13
13
|
producer_result = NULL
|
|
14
14
|
WHERE entry_id = $entry_id AND name = $channel;
|
|
15
15
|
|
|
@@ -27,9 +27,9 @@ WHERE entry_id = $entry_id AND name = $channel AND mimetype != $mimetype;
|
|
|
27
27
|
|
|
28
28
|
-- PREP: replace_channel_content
|
|
29
29
|
-- Full content swap for one channel (ChannelCaps.replace). The caller binds
|
|
30
|
-
-- the same
|
|
30
|
+
-- the same curation weight append_to_channel computes inside its atomic update.
|
|
31
31
|
UPDATE entry_channels
|
|
32
|
-
SET content = $content,
|
|
32
|
+
SET content = $content, weight = $weight, producer_result = NULL
|
|
33
33
|
WHERE entry_id = $entry_id AND name = $channel;
|
|
34
34
|
|
|
35
35
|
-- PREP: open_subscription
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ClientInteractionProjection, type ClientInteractionRequest, type ClientInteractionResolution } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import type { Db } from "./Db.ts";
|
|
3
|
+
export interface ClientInteractionPendingEvent extends ClientInteractionProjection {
|
|
4
|
+
readonly workspaceId: number;
|
|
5
|
+
}
|
|
6
|
+
export default class ClientInteractions {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(db: Db);
|
|
9
|
+
onPending(listener: (event: ClientInteractionPendingEvent) => void): void;
|
|
10
|
+
request(request: ClientInteractionRequest, ids: {
|
|
11
|
+
workspaceId: number;
|
|
12
|
+
workerId: number;
|
|
13
|
+
loopId: number;
|
|
14
|
+
turnId: number;
|
|
15
|
+
}, signal?: AbortSignal): Promise<ClientInteractionResolution>;
|
|
16
|
+
resolve(interactionId: number, resolution: ClientInteractionResolution): Promise<void>;
|
|
17
|
+
list(workspaceId: number): Promise<ClientInteractionProjection[]>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=ClientInteractions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientInteractions.d.ts","sourceRoot":"","sources":["../../src/core/ClientInteractions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAGlC,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;IAC9E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC;AAmCD,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IAKnC,YAAY,EAAE,EAAE,EAAE,EAEjB;IAED,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,GAAG,IAAI,CAExE;IAEK,OAAO,CACT,OAAO,EAAE,wBAAwB,EACjC,GAAG,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC9E,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,2BAA2B,CAAC,CAqEtC;IAEK,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3F;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAKtE;CAiBJ"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Validator, } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import Results, { OperationFailureError } from "./results.js";
|
|
3
|
+
const pendingFailure = (interactionId) => new OperationFailureError(Results.failure("interaction:resolution", "interaction-not-pending", 409, `Client interaction ${interactionId} is not pending.`, {}, {
|
|
4
|
+
interactionId,
|
|
5
|
+
stage: "interaction-resolution",
|
|
6
|
+
recovery: "Refresh pending interactions before resolving one.",
|
|
7
|
+
retryable: false,
|
|
8
|
+
}));
|
|
9
|
+
export default class ClientInteractions {
|
|
10
|
+
#db;
|
|
11
|
+
#pending = new Map();
|
|
12
|
+
#listeners = [];
|
|
13
|
+
constructor(db) {
|
|
14
|
+
this.#db = db;
|
|
15
|
+
}
|
|
16
|
+
onPending(listener) {
|
|
17
|
+
this.#listeners.push(listener);
|
|
18
|
+
}
|
|
19
|
+
async request(request, ids, signal) {
|
|
20
|
+
const exact = structuredClone(Validator.assertClientInteractionRequest(request));
|
|
21
|
+
signal?.throwIfAborted();
|
|
22
|
+
const inserted = await this.#db.client_interaction_insert.get({
|
|
23
|
+
workspace_id: ids.workspaceId,
|
|
24
|
+
worker_id: ids.workerId,
|
|
25
|
+
loop_id: ids.loopId,
|
|
26
|
+
turn_id: ids.turnId,
|
|
27
|
+
request: JSON.stringify(exact),
|
|
28
|
+
});
|
|
29
|
+
if (inserted === undefined) {
|
|
30
|
+
throw new Error(`Client interaction coordinates do not identify one operation: worker ${ids.workerId}, loop ${ids.loopId}, turn ${ids.turnId}.`);
|
|
31
|
+
}
|
|
32
|
+
const deferred = Promise.withResolvers();
|
|
33
|
+
const interactionId = inserted.id;
|
|
34
|
+
let settled = false;
|
|
35
|
+
const onAbort = () => {
|
|
36
|
+
void waiter.settle({
|
|
37
|
+
rejection: signal?.reason ?? new DOMException("Operation aborted", "AbortError"),
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
const waiter = {
|
|
41
|
+
settle: async (settlement) => {
|
|
42
|
+
if (settled)
|
|
43
|
+
return pendingFailure(interactionId);
|
|
44
|
+
settled = true;
|
|
45
|
+
this.#pending.delete(interactionId);
|
|
46
|
+
signal?.removeEventListener("abort", onAbort);
|
|
47
|
+
try {
|
|
48
|
+
const deleted = await this.#db.client_interaction_delete.get({
|
|
49
|
+
interaction_id: interactionId,
|
|
50
|
+
});
|
|
51
|
+
if (deleted === undefined) {
|
|
52
|
+
throw new Error(`Pending client interaction ${interactionId} lost its durable row.`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (cause) {
|
|
56
|
+
deferred.reject(cause);
|
|
57
|
+
return cause;
|
|
58
|
+
}
|
|
59
|
+
if (settlement.rejection !== undefined)
|
|
60
|
+
deferred.reject(settlement.rejection);
|
|
61
|
+
else if (settlement.resolution !== undefined)
|
|
62
|
+
deferred.resolve(settlement.resolution);
|
|
63
|
+
else
|
|
64
|
+
deferred.reject(new Error(`Client interaction ${interactionId} settled without an outcome.`));
|
|
65
|
+
return null;
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
this.#pending.set(interactionId, waiter);
|
|
69
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
70
|
+
const event = {
|
|
71
|
+
...Validator.assertClientInteractionProjection({
|
|
72
|
+
interactionId,
|
|
73
|
+
workerId: ids.workerId,
|
|
74
|
+
loopId: ids.loopId,
|
|
75
|
+
turnId: ids.turnId,
|
|
76
|
+
request: exact,
|
|
77
|
+
}),
|
|
78
|
+
workspaceId: ids.workspaceId,
|
|
79
|
+
};
|
|
80
|
+
for (const listener of this.#listeners) {
|
|
81
|
+
try {
|
|
82
|
+
listener(event);
|
|
83
|
+
}
|
|
84
|
+
catch (cause) {
|
|
85
|
+
console.error("client interaction pending observer failed:", cause);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (signal?.aborted)
|
|
89
|
+
onAbort();
|
|
90
|
+
return deferred.promise;
|
|
91
|
+
}
|
|
92
|
+
async resolve(interactionId, resolution) {
|
|
93
|
+
const waiter = this.#pending.get(interactionId);
|
|
94
|
+
if (waiter === undefined)
|
|
95
|
+
throw pendingFailure(interactionId);
|
|
96
|
+
const exact = structuredClone(Validator.assertClientInteractionResolution(resolution));
|
|
97
|
+
const failure = await waiter.settle({ resolution: exact });
|
|
98
|
+
if (failure !== null)
|
|
99
|
+
throw failure;
|
|
100
|
+
}
|
|
101
|
+
async list(workspaceId) {
|
|
102
|
+
const rows = await this.#db.client_interaction_list.all({ workspace_id: workspaceId });
|
|
103
|
+
return rows
|
|
104
|
+
.filter((row) => this.#pending.has(row.interactionId))
|
|
105
|
+
.map((row) => ClientInteractions.#project(row));
|
|
106
|
+
}
|
|
107
|
+
static #project(row) {
|
|
108
|
+
let request;
|
|
109
|
+
try {
|
|
110
|
+
request = JSON.parse(row.request);
|
|
111
|
+
}
|
|
112
|
+
catch (cause) {
|
|
113
|
+
throw new Error(`Pending client interaction ${row.interactionId} has invalid request JSON.`, { cause });
|
|
114
|
+
}
|
|
115
|
+
return Validator.assertClientInteractionProjection({
|
|
116
|
+
interactionId: row.interactionId,
|
|
117
|
+
workerId: row.workerId,
|
|
118
|
+
loopId: row.loopId,
|
|
119
|
+
turnId: row.turnId,
|
|
120
|
+
request: Validator.assertClientInteractionRequest(request),
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=ClientInteractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientInteractions.js","sourceRoot":"","sources":["../../src/core/ClientInteractions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
-- Durable pending client interactions. {§client-interactions}
|
|
2
|
+
|
|
3
|
+
-- PREP: client_interaction_insert
|
|
4
|
+
-- Insert only when all supplied coordinates describe one existing operation.
|
|
5
|
+
INSERT INTO client_interactions (worker_id, loop_id, turn_id, request)
|
|
6
|
+
SELECT $worker_id, $loop_id, $turn_id, $request
|
|
7
|
+
WHERE EXISTS (
|
|
8
|
+
SELECT 1
|
|
9
|
+
FROM turns t
|
|
10
|
+
JOIN loops l ON l.id = t.loop_id
|
|
11
|
+
JOIN workers w ON w.id = l.worker_id
|
|
12
|
+
WHERE t.id = $turn_id
|
|
13
|
+
AND l.id = $loop_id
|
|
14
|
+
AND l.worker_id = $worker_id
|
|
15
|
+
AND w.workspace_id = $workspace_id
|
|
16
|
+
)
|
|
17
|
+
RETURNING id;
|
|
18
|
+
|
|
19
|
+
-- PREP: client_interaction_list
|
|
20
|
+
SELECT i.id AS interactionId,
|
|
21
|
+
w.workspace_id AS workspaceId,
|
|
22
|
+
i.worker_id AS workerId,
|
|
23
|
+
i.loop_id AS loopId,
|
|
24
|
+
i.turn_id AS turnId,
|
|
25
|
+
i.request
|
|
26
|
+
FROM client_interactions i
|
|
27
|
+
JOIN workers w ON w.id = i.worker_id
|
|
28
|
+
WHERE w.workspace_id = $workspace_id
|
|
29
|
+
ORDER BY i.id;
|
|
30
|
+
|
|
31
|
+
-- PREP: client_interaction_delete
|
|
32
|
+
DELETE FROM client_interactions
|
|
33
|
+
WHERE id = $interaction_id
|
|
34
|
+
RETURNING id;
|
|
@@ -2,7 +2,7 @@ import type { Db } from "./Db.ts";
|
|
|
2
2
|
import type { Mimetypes } from "@plurnk/plurnk-mimetypes";
|
|
3
3
|
import type ExecutorRegistry from "./ExecutorRegistry.ts";
|
|
4
4
|
import type { InjectWorkerNotify, StreamEventNotify, WakeWorkerNotify } from "./ChannelWrite.ts";
|
|
5
|
-
import type { Notice, ParsedPath, ReadStatement } from "@plurnk/plurnk-contracts";
|
|
5
|
+
import type { ClientInteractionRequest, ClientInteractionResolution, Notice, ParsedPath, ReadStatement } from "@plurnk/plurnk-contracts";
|
|
6
6
|
import type { PlurnkSchemeContext } from "./scheme-types.ts";
|
|
7
7
|
import type { SchemeCtx, SchemeResult, StoredEntryData } from "@plurnk/plurnk-schemes";
|
|
8
8
|
import type LiveSubscriptions from "./LiveSubscriptions.ts";
|
|
@@ -10,13 +10,19 @@ export interface CoreSchemeServices {
|
|
|
10
10
|
readonly db: Db;
|
|
11
11
|
readonly mimetypes: Mimetypes;
|
|
12
12
|
readonly executors: () => ExecutorRegistry | undefined;
|
|
13
|
-
readonly
|
|
13
|
+
readonly weigh: (text: string) => number;
|
|
14
14
|
readonly streamEventNotify: StreamEventNotify | undefined;
|
|
15
15
|
readonly wakeWorkerNotify: WakeWorkerNotify | undefined;
|
|
16
16
|
readonly injectWorker: InjectWorkerNotify | undefined;
|
|
17
17
|
readonly pushNotice: (workspaceId: number, loopId: number, notice: Notice) => void;
|
|
18
|
-
readonly defaultChannelFor: (scheme: string) => string;
|
|
18
|
+
readonly defaultChannelFor: (scheme: string, workspaceId: number) => string;
|
|
19
19
|
readonly readExecSource: (statement: ReadStatement, ctx: PlurnkSchemeContext) => Promise<SchemeResult>;
|
|
20
|
+
readonly requestInteraction: (request: ClientInteractionRequest, ids: {
|
|
21
|
+
workspaceId: number;
|
|
22
|
+
workerId: number;
|
|
23
|
+
loopId: number;
|
|
24
|
+
turnId: number;
|
|
25
|
+
}, signal?: AbortSignal) => Promise<ClientInteractionResolution>;
|
|
20
26
|
readonly liveSubscriptions: LiveSubscriptions;
|
|
21
27
|
}
|
|
22
28
|
export interface CoreSchemeAdapter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreSchemeServices.d.ts","sourceRoot":"","sources":["../../src/core/CoreSchemeServices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"CoreSchemeServices.d.ts","sourceRoot":"","sources":["../../src/core/CoreSchemeServices.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,9 +22,15 @@ export class CoreSchemeAdapterBase {
|
|
|
22
22
|
injectWorker: services.injectWorker,
|
|
23
23
|
mimetypes: services.mimetypes,
|
|
24
24
|
executors: services.executors(),
|
|
25
|
-
|
|
26
|
-
defaultChannelFor: services.defaultChannelFor,
|
|
25
|
+
weigh: services.weigh,
|
|
26
|
+
defaultChannelFor: (scheme) => services.defaultChannelFor(scheme, ctx.workspaceId),
|
|
27
27
|
pushNotice: (notice) => services.pushNotice(ctx.workspaceId, ctx.loopId, notice),
|
|
28
|
+
requestInteraction: (request) => services.requestInteraction(request, {
|
|
29
|
+
workspaceId: ctx.workspaceId,
|
|
30
|
+
workerId: ctx.workerId,
|
|
31
|
+
loopId: ctx.loopId,
|
|
32
|
+
turnId: ctx.turnId,
|
|
33
|
+
}, ctx.signal),
|
|
28
34
|
};
|
|
29
35
|
}
|
|
30
36
|
liveSubscriptions() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreSchemeServices.js","sourceRoot":"","sources":["../../src/core/CoreSchemeServices.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CoreSchemeServices.js","sourceRoot":"","sources":["../../src/core/CoreSchemeServices.ts"],"names":[],"mappings":"AAiEA,MAAM,OAAgB,qBAAqB;IACvC,SAAS,CAAiC;IAE1C,QAAQ,CAAC,QAA4B;QACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAES,WAAW,CAAC,GAA0B;QAC5C,IAAI,IAAI,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,+BAA+B,CAAC,CAAC;QACrG,OAAO;YACH,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE;YAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC;YAClF,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;YAChF,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBAClE,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;aACrB,EAAE,GAAG,CAAC,MAAM,CAAC;SACjB,CAAC;IACN,CAAC;IAES,iBAAiB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,+BAA+B,CAAC,CAAC;QACrG,OAAO,QAAQ,CAAC,iBAAiB,CAAC;IACtC,CAAC;IAES,cAAc,CAAC,SAAwB,EAAE,GAA0B;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,+BAA+B,CAAC,CAAC;QACrG,OAAO,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;CACJ"}
|
|
@@ -5,6 +5,7 @@ import type SchemeRegistry from "./SchemeRegistry.ts";
|
|
|
5
5
|
import type ExecutorRegistry from "./ExecutorRegistry.ts";
|
|
6
6
|
import type NoticeChannel from "./NoticeChannel.ts";
|
|
7
7
|
import type ProposalLifecycle from "./ProposalLifecycle.ts";
|
|
8
|
+
import type ClientInteractions from "./ClientInteractions.ts";
|
|
8
9
|
import type { WriterTier, PlurnkSchemeContext } from "./scheme-types.ts";
|
|
9
10
|
import { type StreamEventNotify, type WakeWorkerNotify, type InjectWorkerNotify, type BranchWorkerNotify, type BranchCompletionGate, type CancelWorkerNotify, type CancelDescendantsNotify } from "./ChannelWrite.ts";
|
|
10
11
|
import type LiveSubscriptions from "./LiveSubscriptions.ts";
|
|
@@ -29,13 +30,14 @@ export interface ResolvedClientEntryAddress {
|
|
|
29
30
|
}
|
|
30
31
|
export default class Dispatcher {
|
|
31
32
|
#private;
|
|
32
|
-
constructor({ db, schemes, mimetypes,
|
|
33
|
+
constructor({ db, schemes, mimetypes, weigh, notices, proposals, interactions, executors, loopSignal, streamEventNotify, wakeWorkerNotify, injectWorker, branchWorker, branchCompletionGate, cancelWorker, cancelDescendants, searchGate, parkDeadlines, joinTargets, liveSubscriptions }: {
|
|
33
34
|
db: Db;
|
|
34
35
|
schemes: SchemeRegistry;
|
|
35
36
|
mimetypes: Mimetypes;
|
|
36
|
-
|
|
37
|
+
weigh: (text: string) => number;
|
|
37
38
|
notices: NoticeChannel;
|
|
38
39
|
proposals: ProposalLifecycle;
|
|
40
|
+
interactions: ClientInteractions;
|
|
39
41
|
executors: () => ExecutorRegistry | undefined;
|
|
40
42
|
loopSignal: (loopId: number) => AbortSignal | undefined;
|
|
41
43
|
streamEventNotify?: StreamEventNotify;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dispatcher.d.ts","sourceRoot":"","sources":["../../src/core/Dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,
|
|
1
|
+
{"version":3,"file":"Dispatcher.d.ts","sourceRoot":"","sources":["../../src/core/Dispatcher.ts"],"names":[],"mappings":"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"}
|