@plurnk/plurnk-service 1.6.1 → 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.
Files changed (83) hide show
  1. package/SPEC.md +84 -21
  2. package/dist/build-info.json +1 -1
  3. package/dist/core/ClientInteractions.d.ts +19 -0
  4. package/dist/core/ClientInteractions.d.ts.map +1 -0
  5. package/dist/core/ClientInteractions.js +124 -0
  6. package/dist/core/ClientInteractions.js.map +1 -0
  7. package/dist/core/ClientInteractions.sql +34 -0
  8. package/dist/core/CoreSchemeServices.d.ts +8 -2
  9. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  10. package/dist/core/CoreSchemeServices.js +7 -1
  11. package/dist/core/CoreSchemeServices.js.map +1 -1
  12. package/dist/core/Dispatcher.d.ts +3 -1
  13. package/dist/core/Dispatcher.d.ts.map +1 -1
  14. package/dist/core/Dispatcher.js +41 -38
  15. package/dist/core/Dispatcher.js.map +1 -1
  16. package/dist/core/Engine.d.ts +15 -1
  17. package/dist/core/Engine.d.ts.map +1 -1
  18. package/dist/core/Engine.js +80 -17
  19. package/dist/core/Engine.js.map +1 -1
  20. package/dist/core/ExecutableTools.d.ts +1 -0
  21. package/dist/core/ExecutableTools.d.ts.map +1 -1
  22. package/dist/core/ExecutableTools.js +17 -9
  23. package/dist/core/ExecutableTools.js.map +1 -1
  24. package/dist/core/ExecutorRegistry.d.ts +11 -3
  25. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  26. package/dist/core/ExecutorRegistry.js +139 -16
  27. package/dist/core/ExecutorRegistry.js.map +1 -1
  28. package/dist/core/PacketBuilder.d.ts.map +1 -1
  29. package/dist/core/PacketBuilder.js +24 -12
  30. package/dist/core/PacketBuilder.js.map +1 -1
  31. package/dist/core/ProposalLifecycle.d.ts +3 -1
  32. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  33. package/dist/core/ProposalLifecycle.js +6 -3
  34. package/dist/core/ProposalLifecycle.js.map +1 -1
  35. package/dist/core/ResourceMutations.d.ts +2 -2
  36. package/dist/core/ResourceMutations.d.ts.map +1 -1
  37. package/dist/core/ResourceMutations.js +8 -8
  38. package/dist/core/ResourceMutations.js.map +1 -1
  39. package/dist/core/SchemeRegistry.d.ts +18 -10
  40. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  41. package/dist/core/SchemeRegistry.js +194 -42
  42. package/dist/core/SchemeRegistry.js.map +1 -1
  43. package/dist/core/TurnRunner.d.ts +3 -1
  44. package/dist/core/TurnRunner.d.ts.map +1 -1
  45. package/dist/core/TurnRunner.js +8 -5
  46. package/dist/core/TurnRunner.js.map +1 -1
  47. package/dist/core/WorkspaceGate.d.ts +1 -0
  48. package/dist/core/WorkspaceGate.d.ts.map +1 -1
  49. package/dist/core/WorkspaceGate.js +39 -0
  50. package/dist/core/WorkspaceGate.js.map +1 -1
  51. package/dist/core/caps/CoreInteractionCaps.d.ts +9 -0
  52. package/dist/core/caps/CoreInteractionCaps.d.ts.map +1 -0
  53. package/dist/core/caps/CoreInteractionCaps.js +14 -0
  54. package/dist/core/caps/CoreInteractionCaps.js.map +1 -0
  55. package/dist/core/caps/SchemeCtxImpl.d.ts +2 -1
  56. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  57. package/dist/core/caps/SchemeCtxImpl.js +3 -0
  58. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  59. package/dist/core/scheme-types.d.ts +2 -1
  60. package/dist/core/scheme-types.d.ts.map +1 -1
  61. package/dist/core/scheme-types.js.map +1 -1
  62. package/dist/schemes/Exec.d.ts.map +1 -1
  63. package/dist/schemes/Exec.js +27 -5
  64. package/dist/schemes/Exec.js.map +1 -1
  65. package/dist/server/Daemon.d.ts +13 -7
  66. package/dist/server/Daemon.d.ts.map +1 -1
  67. package/dist/server/Daemon.js +187 -21
  68. package/dist/server/Daemon.js.map +1 -1
  69. package/dist/server/DaemonModule.d.ts +31 -3
  70. package/dist/server/DaemonModule.d.ts.map +1 -1
  71. package/dist/server/client-input.d.ts +2 -0
  72. package/dist/server/client-input.d.ts.map +1 -1
  73. package/dist/server/client-input.js +12 -0
  74. package/dist/server/client-input.js.map +1 -1
  75. package/dist/server/lifecycle-recovery.sql +6 -0
  76. package/dist/server/loopDocs.d.ts +1 -0
  77. package/dist/server/loopDocs.d.ts.map +1 -1
  78. package/dist/server/loopDocs.js +37 -8
  79. package/dist/server/loopDocs.js.map +1 -1
  80. package/dist/server/loopDocs.sql +10 -0
  81. package/dist/server/workspace-capabilities.sql +19 -0
  82. package/migrations/001_schema.sql +31 -0
  83. package/package.json +34 -33
@@ -22,6 +22,7 @@ export default class SchemeRegistry {
22
22
  // Handler store. Dispatcher supplies one context implementation to bundled
23
23
  // and discovered schemes alike.
24
24
  #handlers = new Map();
25
+ #workspaceByOwner = new Map();
25
26
  #readiness = new Map();
26
27
  #closures = new Map();
27
28
  #coreServices;
@@ -115,7 +116,7 @@ export default class SchemeRegistry {
115
116
  }
116
117
  bindCore(services) {
117
118
  this.#coreServices = services;
118
- for (const handler of new Set(this.#handlers.values())) {
119
+ for (const handler of this.#allHandlers()) {
119
120
  const bindCore = handler.bindCore;
120
121
  if (typeof bindCore === "function")
121
122
  bindCore.call(handler, services);
@@ -138,46 +139,166 @@ export default class SchemeRegistry {
138
139
  // Cross-family arbitration lives here so boot and module paths share one
139
140
  // namespace. {§plugin-namespace-arbitration}
140
141
  registerRuntimeScheme(tag, executor, owner, facet, sameOwnerRescan = false) {
142
+ this.prepareRuntimeSchemes([{
143
+ tag,
144
+ executor,
145
+ owner,
146
+ facet,
147
+ }], sameOwnerRescan)();
148
+ }
149
+ // Validate and construct a complete set before exposing any scheme name.
150
+ // Returned commit mutates maps and sets only; all fallible manifest and
151
+ // core-binding work has already completed.
152
+ prepareRuntimeSchemes(registrations, sameOwnerRescan = false) {
141
153
  const exec = this.#handlers.get("exec");
142
154
  if (!(exec instanceof Exec))
143
155
  throw new Error("registerRuntimeScheme: the exec handler is not registered");
144
- const claim = SchemeRegistry.#runtimeClaim(owner);
145
- if (this.#assertClaim(tag, claim, sameOwnerRescan) === "same")
146
- return;
147
- this.#registerClaimed(tag, new ExecOutputScheme(executor, exec, facet), claim, sameOwnerRescan);
148
- this.#runtimeSchemes.add(tag);
149
- }
150
- assertRuntimeClaim(tag, owner) {
151
- this.#assertClaim(tag, SchemeRegistry.#runtimeClaim(owner), false);
152
- }
153
- get(name) { return this.#handlers.get(name); }
154
- has(name) { return this.#handlers.has(name); }
155
- manifestFor(name) {
156
- const handler = this.#handlers.get(name);
156
+ const tags = new Set();
157
+ const prepared = [];
158
+ for (const { tag, executor, owner, facet } of registrations) {
159
+ if (tags.has(tag)) {
160
+ throw new Error(`scheme name '${tag}' occurs more than once in one registration batch`);
161
+ }
162
+ tags.add(tag);
163
+ const claim = SchemeRegistry.#runtimeClaim(owner);
164
+ if (this.#assertClaim(tag, claim, sameOwnerRescan) === "same")
165
+ continue;
166
+ const handler = new ExecOutputScheme(executor, exec, facet);
167
+ Manifest.of(handler, tag);
168
+ const bindCore = handler.bindCore;
169
+ if (this.#coreServices !== undefined && typeof bindCore === "function") {
170
+ bindCore.call(handler, this.#coreServices);
171
+ }
172
+ prepared.push({ tag, handler, claim });
173
+ }
174
+ return () => {
175
+ for (const { tag, handler, claim } of prepared) {
176
+ this.#handlers.set(tag, handler);
177
+ this.#claims.set(tag, claim);
178
+ this.#runtimeSchemes.add(tag);
179
+ }
180
+ };
181
+ }
182
+ async prepareWorkspaceRuntimeSchemes(workspaceId, namespaceOwner, registrations) {
183
+ if (!Number.isSafeInteger(workspaceId) || workspaceId < 1) {
184
+ throw new Error("workspace scheme snapshot requires a positive workspace id");
185
+ }
186
+ if (namespaceOwner.length === 0) {
187
+ throw new Error("workspace scheme snapshot requires a non-empty namespace owner");
188
+ }
189
+ const exec = this.#handlers.get("exec");
190
+ if (!(exec instanceof Exec))
191
+ throw new Error("workspace runtime scheme: the exec handler is not registered");
192
+ const tags = new Set();
193
+ const handlers = new Map();
194
+ const claims = new Map();
195
+ const workspaceOwners = this.#workspaceByOwner.get(workspaceId);
196
+ for (const { tag, executor, owner, facet } of registrations) {
197
+ if (tags.has(tag)) {
198
+ throw new Error(`scheme name '${tag}' occurs more than once in one workspace snapshot`);
199
+ }
200
+ tags.add(tag);
201
+ if (owner.kind !== "module" || owner.name !== namespaceOwner) {
202
+ throw new Error(`workspace scheme '${tag}' must be owned by daemon module runtime '${namespaceOwner}'`);
203
+ }
204
+ const incoming = SchemeRegistry.#runtimeClaim(owner);
205
+ const base = this.#claims.get(tag);
206
+ if (base !== undefined)
207
+ this.#throwClaimCollision(tag, base, incoming);
208
+ for (const [peerOwner, snapshot] of workspaceOwners ?? []) {
209
+ if (peerOwner === namespaceOwner)
210
+ continue;
211
+ const peer = snapshot.claims.get(tag);
212
+ if (peer !== undefined)
213
+ this.#throwClaimCollision(tag, peer, incoming);
214
+ }
215
+ const handler = new ExecOutputScheme(executor, exec, facet);
216
+ Manifest.of(handler, tag);
217
+ const bindCore = handler.bindCore;
218
+ if (this.#coreServices !== undefined && typeof bindCore === "function") {
219
+ bindCore.call(handler, this.#coreServices);
220
+ }
221
+ await this.#readyHandler(handler);
222
+ handlers.set(tag, handler);
223
+ claims.set(tag, incoming);
224
+ }
225
+ const next = { handlers, claims };
226
+ const previous = workspaceOwners?.get(namespaceOwner);
227
+ return () => {
228
+ const owners = this.#workspaceByOwner.get(workspaceId)
229
+ ?? new Map();
230
+ if (handlers.size === 0)
231
+ owners.delete(namespaceOwner);
232
+ else
233
+ owners.set(namespaceOwner, next);
234
+ if (owners.size === 0)
235
+ this.#workspaceByOwner.delete(workspaceId);
236
+ else
237
+ this.#workspaceByOwner.set(workspaceId, owners);
238
+ let pending = true;
239
+ return () => {
240
+ if (!pending)
241
+ return;
242
+ pending = false;
243
+ const current = this.#workspaceByOwner.get(workspaceId)
244
+ ?? new Map();
245
+ if (previous === undefined)
246
+ current.delete(namespaceOwner);
247
+ else
248
+ current.set(namespaceOwner, previous);
249
+ if (current.size === 0)
250
+ this.#workspaceByOwner.delete(workspaceId);
251
+ else
252
+ this.#workspaceByOwner.set(workspaceId, current);
253
+ };
254
+ };
255
+ }
256
+ #throwClaimCollision(name, existing, incoming) {
257
+ if (existing.reserved) {
258
+ throw new Error(`scheme name '${name}' is reserved by ${existing.label}; ${incoming.label} cannot claim it`);
259
+ }
260
+ throw new Error(`scheme name '${name}' is claimed by both ${existing.label} and ${incoming.label}`);
261
+ }
262
+ get(name, workspaceId) {
263
+ if (workspaceId !== undefined) {
264
+ for (const snapshot of this.#workspaceByOwner.get(workspaceId)?.values() ?? []) {
265
+ const handler = snapshot.handlers.get(name);
266
+ if (handler !== undefined)
267
+ return handler;
268
+ }
269
+ }
270
+ return this.#handlers.get(name);
271
+ }
272
+ has(name, workspaceId) { return this.get(name, workspaceId) !== undefined; }
273
+ manifestFor(name, workspaceId) {
274
+ const handler = this.get(name, workspaceId);
157
275
  return handler === undefined ? undefined : Manifest.of(handler, name);
158
276
  }
159
- list() { return [...this.#handlers.keys()].toSorted(); }
277
+ list(workspaceId) {
278
+ return [...this.#effectiveHandlers(workspaceId).keys()].toSorted();
279
+ }
160
280
  // {§handler-lifecycle} — discovery proves importability; one successful
161
281
  // ready() per object identity proves advertised resources are usable.
162
282
  async ready() {
163
- const handlers = new Set(this.#handlers.values());
164
- for (const handler of handlers) {
165
- let readiness = this.#readiness.get(handler);
166
- if (readiness === undefined) {
167
- readiness = Promise.resolve().then(async () => {
168
- const ready = handler.ready;
169
- if (ready !== undefined)
170
- await ready.call(handler);
171
- });
172
- this.#readiness.set(handler, readiness);
173
- }
174
- await readiness;
283
+ for (const handler of this.#allHandlers())
284
+ await this.#readyHandler(handler);
285
+ }
286
+ #readyHandler(handler) {
287
+ let readiness = this.#readiness.get(handler);
288
+ if (readiness === undefined) {
289
+ readiness = Promise.resolve().then(async () => {
290
+ const ready = handler.ready;
291
+ if (ready !== undefined)
292
+ await ready.call(handler);
293
+ });
294
+ this.#readiness.set(handler, readiness);
175
295
  }
296
+ return readiness;
176
297
  }
177
298
  // {§handler-lifecycle} — aliases may share a handler. Attempt and await every
178
299
  // unique close once, then surface all failures together.
179
300
  async close() {
180
- const closures = [...new Set(this.#handlers.values())].map((handler) => {
301
+ const closures = [...this.#allHandlers()].map((handler) => {
181
302
  let closure = this.#closures.get(handler);
182
303
  if (closure === undefined) {
183
304
  closure = Promise.resolve().then(async () => {
@@ -200,8 +321,8 @@ export default class SchemeRegistry {
200
321
  }
201
322
  // A scheme's default channel (manifest.defaultChannel) — the channel a fragment-less
202
323
  // address targets. Drives the manifest's address-keyed channels (note 4).
203
- defaultChannelFor(scheme) {
204
- return this.manifestFor(scheme)?.defaultChannel ?? "body";
324
+ defaultChannelFor(scheme, workspaceId) {
325
+ return this.manifestFor(scheme, workspaceId)?.defaultChannel ?? "body";
205
326
  }
206
327
  // {§schemes-directory} The `schemes` packet section sits below tools. Language
207
328
  // teaching covers grammar and dialects, not the installed scheme set, so the
@@ -212,15 +333,15 @@ export default class SchemeRegistry {
212
333
  // in that pull doc, not here: terse pushes, depth pulls. Unlike the executor
213
334
  // contract table, these are complete operation examples. Insertion order; a scheme with no example
214
335
  // (provisional, e.g. skill) is omitted. The doc's curation weight rides its manifest entry.
215
- teach() {
336
+ teach(workspaceId) {
216
337
  const examples = [];
217
338
  const excluded = docsExcludeSet();
218
- for (const name of this.#handlers.keys()) {
219
- if (this.#runtimeSchemes.has(name))
339
+ for (const name of this.#effectiveHandlers(workspaceId).keys()) {
340
+ if (this.#isRuntimeScheme(name, workspaceId))
220
341
  continue; // {§exec} — runtime aliases route, but exec is taught once
221
342
  if (excluded.has(name))
222
343
  continue; // {§schemes-directory} — exclude drops the example and doc
223
- const manifest = this.manifestFor(name);
344
+ const manifest = this.manifestFor(name, workspaceId);
224
345
  const example = manifest?.example;
225
346
  if (typeof example !== "string" || example.length === 0)
226
347
  continue;
@@ -235,16 +356,16 @@ export default class SchemeRegistry {
235
356
  }
236
357
  // {§teaching-corpus} — exact meta-owned sources are required; manifest-owned
237
358
  // documentation is the deliberately optional fallback for every other scheme.
238
- async docs() {
359
+ async docs(workspaceId) {
239
360
  const schemeDocs = await this.#requiredSchemeDocs();
240
361
  const out = [];
241
362
  const excluded = docsExcludeSet();
242
- for (const name of this.#handlers.keys()) {
243
- if (this.#runtimeSchemes.has(name))
363
+ for (const name of this.#effectiveHandlers(workspaceId).keys()) {
364
+ if (this.#isRuntimeScheme(name, workspaceId))
244
365
  continue; // {§exec} — runtime aliases share exec's doc, not their own
245
366
  if (excluded.has(name))
246
367
  continue; // {§schemes-directory} — exclude drops the doc
247
- const inline = this.manifestFor(name)?.documentation;
368
+ const inline = this.manifestFor(name, workspaceId)?.documentation;
248
369
  const content = schemeDocs.get(name) ?? (typeof inline === "string" && inline.length > 0 ? inline : undefined);
249
370
  if (content !== undefined && content.length > 0)
250
371
  out.push({ name, content });
@@ -256,9 +377,9 @@ export default class SchemeRegistry {
256
377
  return this.#questionsDoc;
257
378
  }
258
379
  // {§scheme-packet-transform} {§packet-plugin-transform}.
259
- async transformSections(sections) {
380
+ async transformSections(sections, workspaceId) {
260
381
  let current = PacketSections.assertDrafts(sections, "core packet defaults");
261
- for (const [name, handler] of this.#handlers) {
382
+ for (const [name, handler] of this.#effectiveHandlers(workspaceId)) {
262
383
  const transform = handler.transformSections;
263
384
  if (typeof transform !== "function")
264
385
  continue;
@@ -312,8 +433,39 @@ export default class SchemeRegistry {
312
433
  }
313
434
  // Active set under the given loop flags (SPEC {§engine-rails}). Delegates to
314
435
  // the in-tree ResolveForLoop utility.
315
- resolveForLoop(flags) {
316
- return ResolveForLoop.resolveForLoop(this.#handlers, flags);
436
+ resolveForLoop(flags, workspaceId) {
437
+ return ResolveForLoop.resolveForLoop(this.#effectiveHandlers(workspaceId), flags);
438
+ }
439
+ #effectiveHandlers(workspaceId) {
440
+ const handlers = new Map(this.#handlers);
441
+ if (workspaceId !== undefined) {
442
+ for (const snapshot of this.#workspaceByOwner.get(workspaceId)?.values() ?? []) {
443
+ for (const [name, handler] of snapshot.handlers)
444
+ handlers.set(name, handler);
445
+ }
446
+ }
447
+ return handlers;
448
+ }
449
+ #isRuntimeScheme(name, workspaceId) {
450
+ if (this.#runtimeSchemes.has(name))
451
+ return true;
452
+ if (workspaceId === undefined)
453
+ return false;
454
+ for (const snapshot of this.#workspaceByOwner.get(workspaceId)?.values() ?? []) {
455
+ if (snapshot.handlers.has(name))
456
+ return true;
457
+ }
458
+ return false;
459
+ }
460
+ #allHandlers() {
461
+ const handlers = new Set(this.#handlers.values());
462
+ for (const owners of this.#workspaceByOwner.values()) {
463
+ for (const snapshot of owners.values()) {
464
+ for (const handler of snapshot.handlers.values())
465
+ handlers.add(handler);
466
+ }
467
+ }
468
+ return handlers;
317
469
  }
318
470
  }
319
471
  //# sourceMappingURL=SchemeRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemeRegistry.js","sourceRoot":"","sources":["../../src/core/SchemeRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemeRegistry.js","sourceRoot":"","sources":["../../src/core/SchemeRegistry.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import type ExecutorRegistry from "./ExecutorRegistry.ts";
6
6
  import type { StreamEventNotify, WakeWorkerNotify } from "./ChannelWrite.ts";
7
7
  import LiveSubscriptions from "./LiveSubscriptions.ts";
8
8
  import { type SchemeResult } from "./results.ts";
9
+ import type ClientInteractions from "./ClientInteractions.ts";
9
10
  import NoticeChannel from "./NoticeChannel.ts";
10
11
  import ProblemLog from "./ProblemLog.ts";
11
12
  import StrikeRail, { type StrikeOutcome } from "./StrikeRail.ts";
@@ -30,7 +31,7 @@ type TurnDispatch = (context: DispatchContext) => Promise<DispatchResult>;
30
31
  type WarmWorkspace = (context: PlurnkSchemeContext, invalidate?: boolean, materialize?: boolean) => Promise<void>;
31
32
  export default class TurnRunner {
32
33
  #private;
33
- constructor({ db, schemes, mimetypes, weigh, notices, problems, strikes, packets, dispatcher, liveSubscriptions, streamEventNotify, wakeWorkerNotify, executors, loopSignal, warmWorkspace, dispatch, resolveWorkerProviderIdentity, }: {
34
+ constructor({ db, schemes, mimetypes, weigh, notices, problems, strikes, packets, dispatcher, liveSubscriptions, streamEventNotify, wakeWorkerNotify, executors, loopSignal, interactions, warmWorkspace, dispatch, resolveWorkerProviderIdentity, }: {
34
35
  db: Db;
35
36
  schemes: SchemeRegistry;
36
37
  mimetypes: Mimetypes;
@@ -45,6 +46,7 @@ export default class TurnRunner {
45
46
  wakeWorkerNotify?: WakeWorkerNotify;
46
47
  executors: () => ExecutorRegistry | undefined;
47
48
  loopSignal: (loopId: number) => AbortSignal | undefined;
49
+ interactions: ClientInteractions;
48
50
  warmWorkspace: WarmWorkspace;
49
51
  dispatch: TurnDispatch;
50
52
  resolveWorkerProviderIdentity: (workerId: number) => Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"TurnRunner.d.ts","sourceRoot":"","sources":["../../src/core/TurnRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TurnRunner.d.ts","sourceRoot":"","sources":["../../src/core/TurnRunner.ts"],"names":[],"mappings":"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"}
@@ -162,11 +162,12 @@ class TurnRunner {
162
162
  #wakeWorkerNotify;
163
163
  #executors;
164
164
  #loopSignal;
165
+ #interactions;
165
166
  #warmWorkspace;
166
167
  #dispatch;
167
168
  #resolveWorkerProviderIdentity;
168
169
  #gbnfCache = new Map();
169
- constructor({ db, schemes, mimetypes, weigh, notices, problems, strikes, packets, dispatcher, liveSubscriptions, streamEventNotify, wakeWorkerNotify, executors, loopSignal, warmWorkspace, dispatch, resolveWorkerProviderIdentity, }) {
170
+ constructor({ db, schemes, mimetypes, weigh, notices, problems, strikes, packets, dispatcher, liveSubscriptions, streamEventNotify, wakeWorkerNotify, executors, loopSignal, interactions, warmWorkspace, dispatch, resolveWorkerProviderIdentity, }) {
170
171
  this.#db = db;
171
172
  this.#schemes = schemes;
172
173
  this.#mimetypes = mimetypes;
@@ -181,6 +182,7 @@ class TurnRunner {
181
182
  this.#wakeWorkerNotify = wakeWorkerNotify;
182
183
  this.#executors = executors;
183
184
  this.#loopSignal = loopSignal;
185
+ this.#interactions = interactions;
184
186
  this.#warmWorkspace = warmWorkspace;
185
187
  this.#dispatch = dispatch;
186
188
  this.#resolveWorkerProviderIdentity = resolveWorkerProviderIdentity;
@@ -407,8 +409,9 @@ class TurnRunner {
407
409
  wakeWorkerNotify: this.#wakeWorkerNotify,
408
410
  weigh: this.#weighContent,
409
411
  mimetypes: this.#mimetypes,
410
- defaultChannelFor: (s) => this.#schemes.defaultChannelFor(s),
412
+ defaultChannelFor: (s) => this.#schemes.defaultChannelFor(s, workspaceId),
411
413
  pushNotice: (notice) => this.#notices.push(workspaceId, loopId, notice),
414
+ requestInteraction: (request) => this.#interactions.request(request, { workspaceId, workerId, loopId, turnId }, this.#loopSignal(loopId)),
412
415
  };
413
416
  // Pre-model writes. Each prompt the model has not seen yet becomes an
414
417
  // actionless `prompt` log row whose target is its durable prompt:// entry:
@@ -635,7 +638,7 @@ class TurnRunner {
635
638
  // the subsequent turn. The terminal output then surfaces born-OPEN via the stream-delta path.
636
639
  await this.#reapTurnScopedStreams(workerId);
637
640
  nextActionIndex += await this.#materializeEnvironmentDeltas({ workspaceId, workerId, loopId, turnId, fromSequence: nextActionIndex });
638
- nextActionIndex += await this.#materializeStreamDeltas({ workerId, loopId, turnId, fromSequence: nextActionIndex });
641
+ nextActionIndex += await this.#materializeStreamDeltas({ workspaceId, workerId, loopId, turnId, fromSequence: nextActionIndex });
639
642
  // The post-reconciliation Git snapshot above is threaded into the packet
640
643
  // and every budget rebuild; overflow never shells again.
641
644
  // Notices are non-terminal observations, never operation-failure truth.
@@ -1517,7 +1520,7 @@ class TurnRunner {
1517
1520
  await Promise.all(open.map(({ id }) => this.#liveSubscriptions.cancel(id)));
1518
1521
  }
1519
1522
  async #materializeStreamDeltas(args) {
1520
- const { workerId, loopId, turnId, fromSequence } = args;
1523
+ const { workspaceId, workerId, loopId, turnId, fromSequence } = args;
1521
1524
  const channels = await this.#db.engine_worker_stream_channels.all({ worker_id: workerId });
1522
1525
  let written = 0;
1523
1526
  for (const ch of channels) {
@@ -1526,7 +1529,7 @@ class TurnRunner {
1526
1529
  // ordinary address to the model; only an explicitly non-default
1527
1530
  // channel earns a fragment in the log.
1528
1531
  const visibleFragment = ch.published_channel !== null
1529
- && ch.channel === this.#schemes.defaultChannelFor(ch.runtime)
1532
+ && ch.channel === this.#schemes.defaultChannelFor(ch.runtime, workspaceId)
1530
1533
  ? null
1531
1534
  : ch.channel;
1532
1535
  const prior = await this.#db.engine_stream_cursor.get({