@vibesdotdev/kernel-rpc 1.0.0-rc.4 → 1.0.0-rc.7

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 (130) hide show
  1. package/dist/cli/daemon/runtime.daemon.serve.impl.consumer.d.ts +2 -2
  2. package/dist/cli/daemon/runtime.daemon.serve.impl.consumer.d.ts.map +1 -1
  3. package/dist/cli/daemon/runtime.daemon.serve.impl.consumer.js +6 -0
  4. package/dist/cli/daemon/runtime.daemon.serve.impl.consumer.js.map +1 -1
  5. package/dist/core/helper.d.ts +1 -1
  6. package/dist/core/helper.d.ts.map +1 -1
  7. package/dist/core/helper.js +14 -0
  8. package/dist/core/helper.js.map +1 -1
  9. package/dist/daemon/client/contracts1/connection.d.ts +6 -2
  10. package/dist/daemon/client/contracts1/connection.d.ts.map +1 -1
  11. package/dist/daemon/client/contracts1/connection.js +43 -11
  12. package/dist/daemon/client/contracts1/connection.js.map +1 -1
  13. package/dist/daemon/client/contracts1/responses.d.ts.map +1 -1
  14. package/dist/daemon/client/contracts1/responses.js +3 -1
  15. package/dist/daemon/client/contracts1/responses.js.map +1 -1
  16. package/dist/daemon/client/contracts2/unix-client.d.ts.map +1 -1
  17. package/dist/daemon/client/contracts2/unix-client.js +2 -2
  18. package/dist/daemon/client/contracts2/unix-client.js.map +1 -1
  19. package/dist/daemon/commands/data/write.d.ts.map +1 -1
  20. package/dist/daemon/commands/data/write.js +118 -3
  21. package/dist/daemon/commands/data/write.js.map +1 -1
  22. package/dist/daemon/commands/invoke/tool.d.ts +1 -1
  23. package/dist/daemon/commands/invoke/tool.d.ts.map +1 -1
  24. package/dist/daemon/commands/invoke/tool.js +21 -4
  25. package/dist/daemon/commands/invoke/tool.js.map +1 -1
  26. package/dist/daemon/commands/invoke.d.ts.map +1 -1
  27. package/dist/daemon/commands/invoke.js +3 -1
  28. package/dist/daemon/commands/invoke.js.map +1 -1
  29. package/dist/daemon/hosting/execution/daemon-execution-host.consumer.d.ts.map +1 -1
  30. package/dist/daemon/hosting/execution/daemon-execution-host.consumer.js +6 -1
  31. package/dist/daemon/hosting/execution/daemon-execution-host.consumer.js.map +1 -1
  32. package/dist/daemon/hosting/execution/session-workspace-locator.d.ts +96 -0
  33. package/dist/daemon/hosting/execution/session-workspace-locator.d.ts.map +1 -0
  34. package/dist/daemon/hosting/execution/session-workspace-locator.js +162 -0
  35. package/dist/daemon/hosting/execution/session-workspace-locator.js.map +1 -0
  36. package/dist/daemon/hosting/execution/workspace-execution-hosts.d.ts +60 -0
  37. package/dist/daemon/hosting/execution/workspace-execution-hosts.d.ts.map +1 -0
  38. package/dist/daemon/hosting/execution/workspace-execution-hosts.js +134 -0
  39. package/dist/daemon/hosting/execution/workspace-execution-hosts.js.map +1 -0
  40. package/dist/daemon/hosting/execution/workspace-routing-connection.d.ts +60 -0
  41. package/dist/daemon/hosting/execution/workspace-routing-connection.d.ts.map +1 -0
  42. package/dist/daemon/hosting/execution/workspace-routing-connection.js +153 -0
  43. package/dist/daemon/hosting/execution/workspace-routing-connection.js.map +1 -0
  44. package/dist/daemon/runtime/io/execution.js +2 -2
  45. package/dist/daemon/runtime/io/execution.js.map +1 -1
  46. package/dist/daemon/runtime/lifecycle/shutdown.d.ts.map +1 -1
  47. package/dist/daemon/runtime/lifecycle/shutdown.js +1 -0
  48. package/dist/daemon/runtime/lifecycle/shutdown.js.map +1 -1
  49. package/dist/daemon/runtime/lifecycle/startup.d.ts.map +1 -1
  50. package/dist/daemon/runtime/lifecycle/startup.js +18 -1
  51. package/dist/daemon/runtime/lifecycle/startup.js.map +1 -1
  52. package/dist/daemon/runtime/state.d.ts +3 -0
  53. package/dist/daemon/runtime/state.d.ts.map +1 -1
  54. package/dist/daemon/runtime/state.js +2 -0
  55. package/dist/daemon/runtime/state.js.map +1 -1
  56. package/dist/daemon/services/api/rpc-root.d.ts +1 -0
  57. package/dist/daemon/services/api/rpc-root.d.ts.map +1 -1
  58. package/dist/daemon/services/api/rpc-root.js +1 -0
  59. package/dist/daemon/services/api/rpc-root.js.map +1 -1
  60. package/dist/schemas/contracts/cli/daemon-execution.worker.entry.d.ts +16 -65
  61. package/dist/schemas/contracts/cli/daemon-execution.worker.entry.d.ts.map +1 -1
  62. package/dist/schemas/contracts/core/helper.d.ts +23 -0
  63. package/dist/schemas/contracts/core/helper.d.ts.map +1 -1
  64. package/dist/schemas/contracts/core/helper.js.map +1 -1
  65. package/dist/schemas/contracts/daemon/commands/write.d.ts +1 -0
  66. package/dist/schemas/contracts/daemon/commands/write.d.ts.map +1 -1
  67. package/dist/schemas/contracts/daemon/commands/write.js +2 -1
  68. package/dist/schemas/contracts/daemon/commands/write.js.map +1 -1
  69. package/dist/schemas/contracts/daemon/hosting/contracts1/daemon-execution-host.consumer.d.ts +6 -0
  70. package/dist/schemas/contracts/daemon/hosting/contracts1/daemon-execution-host.consumer.d.ts.map +1 -1
  71. package/dist/schemas/contracts/daemon/hosting/contracts1/daemon-execution-host.consumer.js.map +1 -1
  72. package/dist/schemas/contracts/daemon/hosting/contracts1/daemon.consumer.d.ts +3 -3
  73. package/dist/schemas/contracts/daemon/hosting/contracts1/daemon.consumer.d.ts.map +1 -1
  74. package/dist/schemas/contracts/daemon/hosting/contracts1/daemon.consumer.js.map +1 -1
  75. package/dist/schemas/contracts/daemon/hosting/contracts1/execution-host.schemas.d.ts +36 -245
  76. package/dist/schemas/contracts/daemon/hosting/contracts1/execution-host.schemas.d.ts.map +1 -1
  77. package/dist/schemas/contracts/daemon/hosting/contracts1/execution-host.schemas.js +2 -2
  78. package/dist/schemas/contracts/daemon/hosting/contracts1/execution-host.schemas.js.map +1 -1
  79. package/dist/schemas/contracts/transports/messageport/messageport-listener.d.ts +2 -0
  80. package/dist/schemas/contracts/transports/messageport/messageport-listener.d.ts.map +1 -1
  81. package/dist/schemas/contracts/transports/relay/wire.d.ts +24 -0
  82. package/dist/schemas/contracts/transports/relay/wire.d.ts.map +1 -1
  83. package/dist/schemas/contracts/transports/relay/wire.js +17 -1
  84. package/dist/schemas/contracts/transports/relay/wire.js.map +1 -1
  85. package/dist/schemas/daemon/daemon-client.d.ts +10 -1
  86. package/dist/schemas/daemon/daemon-client.d.ts.map +1 -1
  87. package/dist/schemas/daemon/daemon-client.js +2 -0
  88. package/dist/schemas/daemon/daemon-client.js.map +1 -1
  89. package/dist/schemas/invoke.d.ts +2 -0
  90. package/dist/schemas/invoke.d.ts.map +1 -1
  91. package/dist/transports/http/http-implementation.js +1 -1
  92. package/dist/transports/http/http-implementation.js.map +1 -1
  93. package/dist/transports/relay/broker/index.d.ts +10 -0
  94. package/dist/transports/relay/broker/index.d.ts.map +1 -0
  95. package/dist/transports/relay/broker/index.js +10 -0
  96. package/dist/transports/relay/broker/index.js.map +1 -0
  97. package/dist/transports/relay/broker/relay-broker.d.ts +352 -0
  98. package/dist/transports/relay/broker/relay-broker.d.ts.map +1 -0
  99. package/dist/transports/relay/broker/relay-broker.js +1417 -0
  100. package/dist/transports/relay/broker/relay-broker.js.map +1 -0
  101. package/dist/transports/relay/endpoint.d.ts +36 -0
  102. package/dist/transports/relay/endpoint.d.ts.map +1 -0
  103. package/dist/transports/relay/endpoint.js +54 -0
  104. package/dist/transports/relay/endpoint.js.map +1 -0
  105. package/dist/transports/relay/index.d.ts +2 -1
  106. package/dist/transports/relay/index.d.ts.map +1 -1
  107. package/dist/transports/relay/index.js +3 -1
  108. package/dist/transports/relay/index.js.map +1 -1
  109. package/dist/transports/relay/listener/relay-caller.d.ts +16 -0
  110. package/dist/transports/relay/listener/relay-caller.d.ts.map +1 -0
  111. package/dist/transports/relay/listener/relay-caller.js +34 -0
  112. package/dist/transports/relay/listener/relay-caller.js.map +1 -0
  113. package/dist/transports/relay/listener/relay-consumers.d.ts +2 -1
  114. package/dist/transports/relay/listener/relay-consumers.d.ts.map +1 -1
  115. package/dist/transports/relay/listener/relay-consumers.js +15 -10
  116. package/dist/transports/relay/listener/relay-consumers.js.map +1 -1
  117. package/dist/transports/relay/listener/relay-listen-session.d.ts.map +1 -1
  118. package/dist/transports/relay/listener/relay-listen-session.js +21 -1
  119. package/dist/transports/relay/listener/relay-listen-session.js.map +1 -1
  120. package/dist/transports/relay/testing/broker-routing.d.ts +9 -0
  121. package/dist/transports/relay/testing/broker-routing.d.ts.map +1 -1
  122. package/dist/transports/relay/testing/broker-routing.js +13 -1
  123. package/dist/transports/relay/testing/broker-routing.js.map +1 -1
  124. package/dist/transports/relay/testing/fake-broker.js +1 -1
  125. package/dist/transports/relay/testing/fake-broker.js.map +1 -1
  126. package/dist/transports/relay/wire.d.ts +18 -1
  127. package/dist/transports/relay/wire.d.ts.map +1 -1
  128. package/dist/transports/relay/wire.js +22 -1
  129. package/dist/transports/relay/wire.js.map +1 -1
  130. package/package.json +59 -22
@@ -0,0 +1,134 @@
1
+ /**
2
+ * One daemon execution host per admitted workspace (ADR-0020 decision 3, Phase 2–3
3
+ * design §2 "Workspace runtime threads").
4
+ *
5
+ * The daemon's own execution host serves its boot workspace and every call that
6
+ * names no workspace, as before. A call that names a root reaches the host of the
7
+ * innermost admitted workspace containing it: that workspace's own worker, booted on
8
+ * its own resolution root R(root) with its own composition, so its tools, storage and
9
+ * writes are that workspace's.
10
+ *
11
+ * - Admission: `pm/admitted-workspace`, resolved with the call's root as the invocation
12
+ * workspace, answers the innermost admitted record. The boot workspace keeps today's
13
+ * behavior: its root, and an unadmitted path inside it, stay on the daemon's own host. An unadmitted root is refused
14
+ * `PERMISSION_DENIED workspace-not-admitted` by that owner. A runtime that composes no
15
+ * admission owner refuses `UNAVAILABLE workspace-admission-unavailable`; nothing
16
+ * spawns a worker for a root nobody admitted.
17
+ * - Lifecycle: spawned on first use, with a single flight per admitted root. A host whose
18
+ * worker failed or exited is dropped, so the next call starts a fresh one. A failed
19
+ * start is not kept.
20
+ * - Workspace hosts take no HTTP and no hot reload: those listeners belong to the
21
+ * daemon's own host, and a second one would collide (isolation audit, fixed-port
22
+ * listeners).
23
+ * - Idle retirement and config-change respawn are not here yet; a host lives until the
24
+ * daemon disposes it.
25
+ */
26
+ import { CapabilityError } from '@vibesdotdev/kernel';
27
+ import { resolveWorkspaceIdentity } from '@vibesdotdev/identity';
28
+ import * as z from 'zod/v4';
29
+ import { attemptAsync, rethrow } from "../../../core/protocol/lifecycle/attempt.js";
30
+ import { startDaemonExecutionHost } from "./daemon-execution-host.consumer.js";
31
+ /** PM's admission context. kernel-rpc reads it by id; it never imports PM. */
32
+ export const PM_ADMITTED_WORKSPACE_CONTEXT_ID = 'pm/admitted-workspace';
33
+ /** The one field this owner reads from PM's admitted record. */
34
+ const AdmittedRootSchema = z.object({ root: z.string().min(1) });
35
+ function normalizeRoot(root) {
36
+ return resolveWorkspaceIdentity(root).workspacePath;
37
+ }
38
+ /** Whether normalized `path` is `root` or inside it, segment by segment. */
39
+ function isWithin(root, path) {
40
+ return path === root || path.startsWith(root.endsWith('/') ? root : `${root}/`);
41
+ }
42
+ function isNotAdmitted(failure) {
43
+ return failure instanceof CapabilityError && failure.reason === 'workspace-not-admitted';
44
+ }
45
+ /** The innermost admitted root containing `root`, through PM's admission owner. */
46
+ export async function admittedWorkspaceRoot(runtime, root) {
47
+ if (!runtime.hasContext(PM_ADMITTED_WORKSPACE_CONTEXT_ID)) {
48
+ throw new CapabilityError('Workspace admission is not composed in this runtime, so no workspace thread can be started.', 'UNAVAILABLE', {
49
+ reason: 'workspace-admission-unavailable',
50
+ details: { context: PM_ADMITTED_WORKSPACE_CONTEXT_ID }
51
+ });
52
+ }
53
+ const admitted = await runtime.runInvocation(() => runtime.context(PM_ADMITTED_WORKSPACE_CONTEXT_ID), { workspace: { root } });
54
+ return AdmittedRootSchema.parse(admitted).root;
55
+ }
56
+ export function createWorkspaceExecutionHosts(options) {
57
+ const { runtime, defaultHost } = options;
58
+ const defaultRoot = normalizeRoot(options.defaultRoot);
59
+ const admit = options.admit ?? ((root) => admittedWorkspaceRoot(runtime, root));
60
+ const start = options.start ?? ((root) => startDaemonExecutionHost(runtime, {}, { root }));
61
+ // One start per admitted root, carried as an attempt: every caller waiting on it gets its
62
+ // failure, and disposal sees exactly which starts produced a host.
63
+ const hosts = new Map();
64
+ let disposed = false;
65
+ const draining = () => new CapabilityError('Workspace execution hosts are disposed.', 'UNAVAILABLE', { reason: 'daemon-execution-draining' });
66
+ const hostFor = async (root) => {
67
+ // Checked here, not only on entry: admission awaited in between, and a start begun
68
+ // after disposal would have no owner left to dispose it.
69
+ if (disposed)
70
+ throw draining();
71
+ let starting = hosts.get(root);
72
+ if (!starting) {
73
+ const attempt = attemptAsync(() => start(root));
74
+ starting = attempt;
75
+ hosts.set(root, attempt);
76
+ void attempt.then(started => {
77
+ // A failed start is not kept; a host whose worker ended serves nothing more. Either
78
+ // way the next call starts a fresh one.
79
+ if (!started.ok) {
80
+ if (hosts.get(root) === attempt)
81
+ hosts.delete(root);
82
+ return;
83
+ }
84
+ void started.value.ended.then(() => { if (hosts.get(root) === attempt)
85
+ hosts.delete(root); });
86
+ });
87
+ }
88
+ const started = await starting;
89
+ if (!started.ok)
90
+ rethrow(started.failure);
91
+ return started.value;
92
+ };
93
+ const admittedRoot = async (root) => {
94
+ if (disposed)
95
+ throw draining();
96
+ const named = normalizeRoot(root);
97
+ if (named === defaultRoot)
98
+ return defaultRoot;
99
+ const admitted = await attemptAsync(() => admit(named));
100
+ // The boot workspace is served as it is today, admitted or not: an unadmitted path
101
+ // inside it stays on the daemon's own host. Anywhere else the refusal stands.
102
+ if (!admitted.ok && !(isNotAdmitted(admitted.failure) && isWithin(defaultRoot, named)))
103
+ rethrow(admitted.failure);
104
+ return admitted.ok ? normalizeRoot(admitted.value) : defaultRoot;
105
+ };
106
+ return {
107
+ admittedRoot,
108
+ async targetFor(root) {
109
+ if (disposed)
110
+ throw draining();
111
+ if (root === undefined)
112
+ return { host: defaultHost };
113
+ const admitted = await admittedRoot(root);
114
+ if (admitted === defaultRoot)
115
+ return { host: defaultHost };
116
+ return { host: await hostFor(admitted), root: admitted };
117
+ },
118
+ async dispose() {
119
+ disposed = true;
120
+ const started = [...hosts.values()];
121
+ hosts.clear();
122
+ // A failed start produced no host; its failure already went to every caller that waited on it.
123
+ const outcomes = await Promise.allSettled(started.map(async (starting) => {
124
+ const attempt = await starting;
125
+ if (attempt.ok)
126
+ await attempt.value.dispose();
127
+ }));
128
+ const failures = outcomes.filter(outcome => outcome.status === 'rejected').map(outcome => outcome.reason);
129
+ if (failures.length)
130
+ throw new AggregateError(failures, 'Workspace execution host disposal failed.');
131
+ }
132
+ };
133
+ }
134
+ //# sourceMappingURL=workspace-execution-hosts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-execution-hosts.js","sourceRoot":"","sources":["../../../../src/daemon/hosting/execution/workspace-execution-hosts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Per-call workspace routing of one client's control connection (ADR-0020 decision 3,
3
+ * Phase 2–3 design §4 "Routing", Codex review blocker 3: routing is per call, not per
4
+ * connection).
5
+ *
6
+ * The listener hands this connection to its `forward` once per accepted client, with
7
+ * the peer identity the transport verified. Every root call (`invoke`, `command`,
8
+ * `query` and the rest) is read for the workspace it names (`params.workspace.root`):
9
+ * - no root, or the daemon's boot workspace: the daemon's own execution host, exactly
10
+ * as before this router existed;
11
+ * - another admitted workspace: that workspace's own host, attached for this client
12
+ * once, with the same verified peer, so the worker admits the call's declared caller
13
+ * against what this transport verified. Identity is never re-declared here.
14
+ *
15
+ * One client connection can carry calls for several workspaces. Each attachment is
16
+ * kept per (this connection, workspace host) and released when the connection closes.
17
+ * An attachment whose worker ended is dropped; its in-flight calls fail with the
18
+ * transport's typed disconnect, and the next call for that workspace attaches to a
19
+ * fresh host.
20
+ *
21
+ * Not routed here yet: calls on refs other than the root, stream opens and owner
22
+ * callbacks stay on the daemon's own host, because the control surface answers inline
23
+ * and mints no refs.
24
+ *
25
+ * A call that names only a session (`params.workspace.sessionId`, no root) runs in the
26
+ * workspace the session locator answers (session index, reconciled once on a miss by asking
27
+ * each admitted workspace `session.holds` over this connection's own attachment); one it
28
+ * cannot place runs on the daemon's own host, as before. A call that names both a root and
29
+ * a session is refused `CONFLICT session-workspace-mismatch` when the index holds that
30
+ * session in another workspace. With no locator (no session index composed) neither applies.
31
+ */
32
+ import { type RemotePeerInfo } from '@vibesdotdev/kernel';
33
+ import { RuntimeInvokeWorkspaceSchema } from '@vibesdotdev/kernel/schemas';
34
+ import type { RpcConnection, RpcInvoke } from '@vibesdotdev/kernel-rpc';
35
+ import * as z from 'zod/v4';
36
+ import type { DaemonExecutionHost } from "../../../schemas/contracts/daemon/hosting/contracts1/daemon-execution-host.consumer.ts";
37
+ import { type SessionWorkspaceLocator } from './session-workspace-locator.ts';
38
+ import type { WorkspaceExecutionHosts } from './workspace-execution-hosts.ts';
39
+ /** What a root call names for routing: a workspace root, a session, both or neither. */
40
+ export interface RoutedWorkspace {
41
+ readonly root?: string;
42
+ readonly sessionId?: string;
43
+ }
44
+ /** The workspace root and session a root call names, if any. Anything unreadable names neither. */
45
+ export declare function routedWorkspace(request: RpcInvoke): RoutedWorkspace;
46
+ /** The workspace root a root call names, if any. Anything unreadable names none. */
47
+ export declare function routedWorkspaceRoot(request: RpcInvoke): string | undefined;
48
+ export interface WorkspaceRoutingConnectionOptions {
49
+ /** The peer the listener verified for this client. */
50
+ readonly peer: RemotePeerInfo;
51
+ readonly hosts: WorkspaceExecutionHosts;
52
+ /** The daemon's own host, attached as it always was. */
53
+ readonly defaultHost: DaemonExecutionHost;
54
+ /** The admission the daemon's own host is attached with (its declared workspace). */
55
+ readonly defaultWorkspace?: z.input<typeof RuntimeInvokeWorkspaceSchema>;
56
+ /** Places a call that names only a session; absent, such a call runs on the daemon's own host. */
57
+ readonly sessions?: SessionWorkspaceLocator;
58
+ }
59
+ export declare function createWorkspaceRoutingConnection(options: WorkspaceRoutingConnectionOptions): Promise<RpcConnection>;
60
+ //# sourceMappingURL=workspace-routing-connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-routing-connection.d.ts","sourceRoot":"","sources":["../../../../src/daemon/hosting/execution/workspace-routing-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAA2B,MAAM,yBAAyB,CAAC;AACjG,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,KAAK,EAA6B,mBAAmB,EAAE,MAAM,wFAAwF,CAAC;AAC7J,OAAO,EAAqB,KAAK,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAO9E,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,eAAe,CAMnE;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED,MAAM,WAAW,iCAAiC;IACjD,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;IACxC,wDAAwD;IACxD,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,qFAAqF;IACrF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;IACzE,kGAAkG;IAClG,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;CAC5C;AAID,wBAAsB,gCAAgC,CAAC,OAAO,EAAE,iCAAiC,GAAG,OAAO,CAAC,aAAa,CAAC,CAqFzH"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Per-call workspace routing of one client's control connection (ADR-0020 decision 3,
3
+ * Phase 2–3 design §4 "Routing", Codex review blocker 3: routing is per call, not per
4
+ * connection).
5
+ *
6
+ * The listener hands this connection to its `forward` once per accepted client, with
7
+ * the peer identity the transport verified. Every root call (`invoke`, `command`,
8
+ * `query` and the rest) is read for the workspace it names (`params.workspace.root`):
9
+ * - no root, or the daemon's boot workspace: the daemon's own execution host, exactly
10
+ * as before this router existed;
11
+ * - another admitted workspace: that workspace's own host, attached for this client
12
+ * once, with the same verified peer, so the worker admits the call's declared caller
13
+ * against what this transport verified. Identity is never re-declared here.
14
+ *
15
+ * One client connection can carry calls for several workspaces. Each attachment is
16
+ * kept per (this connection, workspace host) and released when the connection closes.
17
+ * An attachment whose worker ended is dropped; its in-flight calls fail with the
18
+ * transport's typed disconnect, and the next call for that workspace attaches to a
19
+ * fresh host.
20
+ *
21
+ * Not routed here yet: calls on refs other than the root, stream opens and owner
22
+ * callbacks stay on the daemon's own host, because the control surface answers inline
23
+ * and mints no refs.
24
+ *
25
+ * A call that names only a session (`params.workspace.sessionId`, no root) runs in the
26
+ * workspace the session locator answers (session index, reconciled once on a miss by asking
27
+ * each admitted workspace `session.holds` over this connection's own attachment); one it
28
+ * cannot place runs on the daemon's own host, as before. A call that names both a root and
29
+ * a session is refused `CONFLICT session-workspace-mismatch` when the index holds that
30
+ * session in another workspace. With no locator (no session index composed) neither applies.
31
+ */
32
+ import { CapabilityError } from '@vibesdotdev/kernel';
33
+ import { RuntimeInvokeWorkspaceSchema } from '@vibesdotdev/kernel/schemas';
34
+ import * as z from 'zod/v4';
35
+ import { attemptAsync, rethrow } from "../../../core/protocol/lifecycle/attempt.js";
36
+ import { toRpcError } from "../../../core/protocol/wire/verbs.js";
37
+ import { sessionHoldsProbe } from "./session-workspace-locator.js";
38
+ /** A root call's params, read only for the workspace they name. */
39
+ const RoutedParamsSchema = z.looseObject({
40
+ workspace: RuntimeInvokeWorkspaceSchema.partial().loose().optional()
41
+ });
42
+ /** The workspace root and session a root call names, if any. Anything unreadable names neither. */
43
+ export function routedWorkspace(request) {
44
+ const first = request.args[0];
45
+ if (first === undefined || first.t !== 'json')
46
+ return {};
47
+ const params = RoutedParamsSchema.safeParse(first.v);
48
+ const workspace = params.success ? params.data.workspace : undefined;
49
+ return { root: workspace?.root, sessionId: workspace?.sessionId };
50
+ }
51
+ /** The workspace root a root call names, if any. Anything unreadable names none. */
52
+ export function routedWorkspaceRoot(request) {
53
+ return routedWorkspace(request).root;
54
+ }
55
+ export async function createWorkspaceRoutingConnection(options) {
56
+ const { peer, hosts, defaultHost, sessions } = options;
57
+ const verifiedPeer = peer.verified;
58
+ const primary = await defaultHost.attach({ verifiedPeer, workspace: options.defaultWorkspace });
59
+ const control = primary.controlTransport;
60
+ // One attachment per workspace host for this client, carried as an attempt: each waiting
61
+ // call gets its failure, and close sees exactly which attachments exist.
62
+ const attachments = new Map();
63
+ let callback;
64
+ let closing;
65
+ const attachmentFor = async (host, root) => {
66
+ // An attachment begun after close would have no owner left to release it.
67
+ if (closing)
68
+ throw new CapabilityError('The routed connection is closing.', 'CANCELLED', { reason: 'rpc-connection-closed' });
69
+ let attaching = attachments.get(host);
70
+ if (!attaching) {
71
+ const attempt = attemptAsync(() => host.attach({ verifiedPeer, workspace: { root } }));
72
+ attaching = attempt;
73
+ attachments.set(host, attempt);
74
+ void attempt.then(attached => {
75
+ // A failed attach is not kept; a workspace whose worker ended is attached afresh on its next call.
76
+ if (!attached.ok) {
77
+ if (attachments.get(host) === attempt)
78
+ attachments.delete(host);
79
+ return;
80
+ }
81
+ if (callback)
82
+ attached.value.controlTransport.onRequest?.(callback);
83
+ void attached.value.controlTransport.closed.then(() => { if (attachments.get(host) === attempt)
84
+ attachments.delete(host); });
85
+ });
86
+ }
87
+ const attached = await attaching;
88
+ if (!attached.ok)
89
+ rethrow(attached.failure);
90
+ return attached.value;
91
+ };
92
+ // A workspace is asked whether it holds a session over this client's own attachment to it,
93
+ // so the question runs on the peer this transport verified.
94
+ const holds = sessionHoldsProbe(async (target) => target.host === defaultHost || target.root === undefined ? control : (await attachmentFor(target.host, target.root)).controlTransport);
95
+ const route = async (request) => {
96
+ if (request.verb !== 'invoke' || request.targetRef !== control.rootRef)
97
+ return control.send(request);
98
+ const named = routedWorkspace(request);
99
+ let root = named.root;
100
+ if (sessions && named.sessionId !== undefined) {
101
+ if (root === undefined)
102
+ root = await sessions.locate(named.sessionId, holds);
103
+ else
104
+ await sessions.verifyClaim(named.sessionId, root);
105
+ }
106
+ if (root === undefined)
107
+ return control.send(request);
108
+ const target = await hosts.targetFor(root);
109
+ if (target.host === defaultHost || target.root === undefined)
110
+ return control.send(request);
111
+ const attached = await attachmentFor(target.host, target.root);
112
+ const transport = attached.controlTransport;
113
+ return transport.send({ ...request, targetRef: transport.rootRef });
114
+ };
115
+ return {
116
+ rootRef: control.rootRef,
117
+ closed: control.closed,
118
+ async send(request) {
119
+ // A refusal (an unadmitted root, a worker that could not start) answers this call
120
+ // alone; the connection and its other workspaces carry on.
121
+ const routed = await attemptAsync(() => route(request));
122
+ return routed.ok ? routed.value : { id: request.id, error: toRpcError(routed.failure) };
123
+ },
124
+ openStream: (ref, channel) => control.openStream(ref, channel),
125
+ onRequest(handler) {
126
+ callback = handler;
127
+ control.onRequest?.(handler);
128
+ // Attachments still starting take the handler when they settle (see attachmentFor).
129
+ for (const attaching of attachments.values())
130
+ void attaching.then(attached => { if (attached.ok)
131
+ attached.value.controlTransport.onRequest?.(handler); });
132
+ },
133
+ close() {
134
+ return closing ??= (async () => {
135
+ const pending = [...attachments.values()];
136
+ attachments.clear();
137
+ const outcomes = await Promise.allSettled([
138
+ // A failed attach left nothing to release; its failure already went to its call.
139
+ ...pending.map(async (attaching) => {
140
+ const attached = await attaching;
141
+ if (attached.ok)
142
+ await attached.value.dispose();
143
+ }),
144
+ primary.dispose()
145
+ ]);
146
+ const failures = outcomes.filter(outcome => outcome.status === 'rejected').map(outcome => outcome.reason);
147
+ if (failures.length)
148
+ throw new AggregateError(failures, 'Workspace routing connection cleanup failed.');
149
+ })();
150
+ }
151
+ };
152
+ }
153
+ //# sourceMappingURL=workspace-routing-connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-routing-connection.js","sourceRoot":"","sources":["../../../../src/daemon/hosting/execution/workspace-routing-connection.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,8 @@ export async function prepareExecution(state, traceBoot = () => undefined) {
32
32
  state.runtimeDaemonLogger.info('serve host prepared');
33
33
  if (state.config.registerCommands) {
34
34
  traceBoot('register-commands-start');
35
- await state.config.registerCommands((command, handler) => {
36
- state.runtimeCommands.register(command, handler);
35
+ await state.config.registerCommands((command, handler, registration) => {
36
+ state.runtimeCommands.register(command, handler, registration);
37
37
  });
38
38
  traceBoot('register-commands-complete');
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../../src/daemon/runtime/io/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../../src/daemon/runtime/io/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EACP,eAAe,EAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,eAAe,EAA6B,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAEtF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAyB,EAAE,YAAqC,GAAG,EAAE,CAAC,SAAS;IACpH,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;IAC7B,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC;QAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACxD,8DAA8D;IAC9D,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACvD,SAAS,CAAC,4BAA4B,CAAC,CAAC;IACxC,MAAM,WAAW,GAA6B;QAC7C,OAAO,EAAE,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC;KACrE,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa;QAAE,WAAW,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;IACvF,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACtE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,SAAS,CAAC,+BAA+B,CAAC,CAAC;IAE3C,iDAAiD;IACjD,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC/B,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAEtD,IAAI,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACnC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACrC,MAAM,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;YACtE,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,4BAA4B,CAAC,CAAC;IACzC,CAAC;IAED,qEAAqE;IACrE,yEAAyE;IACzE,8BAA8B;IAC9B,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,uBAAuB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzE,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,wBAAwB,CAC5C,OAAO,CAAC,YAAY,CACpB,CAAC;QACF,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,uEAAuE;IACvE,sEAAsE;IACtE,kDAAkD;IAClD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAE9B,iDAAiD;IACjD,MAAM,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClE,KAAK,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB,EAAE;QAC7E,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC;KACtC,CAAC,CAAC;IACH,KAAK,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB,EAAE;QAC3E,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;KACrC,CAAC,CAAC;IACH,MAAM,aAAa,GAAyB;QAC3C,aAAa,EAAE,KAAK,CAAC,mBAAmB;QACxC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,aAAa,EAAE,KAAK,CAAC,aAAa;KAClC,CAAC;IACF,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;IACpC,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC7B,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC5B,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE5B,4EAA4E;IAC5E,gFAAgF;IAChF,0EAA0E;IAC1E,8EAA8E;IAC9E,yEAAyE;IACzE,kCAAkC;IAClC,MAAM,OAAO,GAA6B,GAAG,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO;QAChB,mBAAmB,EAAE;YACpB,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,cAAc,EAAE;YAC7D,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE;YACpD,eAAe,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC;YACtE,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAC7B,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACvF;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;KACjC,CAAC,CAAC;IAEH,wEAAwE;IACxE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAEvE,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3C,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,eAAe,CAAC,iDAAiD,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACvJ,sEAAsE;IACtE,qEAAqE;IACrE,mEAAmE;IACnE,mEAAmE;IACnE,8DAA8D;IAC9D,mEAAmE;IACnE,IAAI,mBAAuD,CAAC;IAC5D,IAAI,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACjD,kEAAkE;QAClE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAA6F,uBAAuB,CAAC,CAAC;QAC9J,mBAAmB,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,+BAA+B,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,UAAU,GAAG,2BAA2B,CAAC,OAAO,EAAE;QACvD,SAAS,EAAE,mBAAmB,KAAK,CAAC,WAAW,EAAE;QACjD,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,cAAc,GAAG,EAAE;YACvB,KAAK,EAAE,CAAC,aAAa,CAAC;SACtB;QACD,QAAQ,EAAE,mBAAmB;QAC7B,cAAc,EAAE,CAAC;KACjB,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AAC/E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../../../src/daemon/runtime/lifecycle/shutdown.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAsB,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAEF,wBAAsB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDtE;AAEF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E;AAEF,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF"}
1
+ {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../../../src/daemon/runtime/lifecycle/shutdown.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAsB,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAEF,wBAAsB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDtE;AAEF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E;AAEF,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBlF"}
@@ -68,6 +68,7 @@ export async function disposeExecutionOnce(state) {
68
68
  await teardown(() => state.tcpServer?.stop());
69
69
  if (state.tcpServer)
70
70
  await teardown(() => removeHttpEndpointFile(state));
71
+ await teardown(() => state.workspaceExecutionHosts?.dispose());
71
72
  await teardown(() => state.executionHost?.dispose());
72
73
  await teardown(() => state.storageWatcher?.stop());
73
74
  await teardown(() => state.configWatcher?.stop());
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../../../src/daemon/runtime/lifecycle/shutdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../../../src/daemon/runtime/lifecycle/shutdown.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../../../../src/daemon/runtime/lifecycle/startup.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAsB,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+GnE"}
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../../../../src/daemon/runtime/lifecycle/startup.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAsB,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgInE"}
@@ -50,11 +50,28 @@ export async function start(state) {
50
50
  });
51
51
  const executionHost = state.executionHost;
52
52
  const invokePipeline = host.invoke;
53
+ // ADR-0020 decision 3: one execution host per admitted workspace. A control call that
54
+ // names another admitted workspace runs on that workspace's own worker; a call naming
55
+ // none, or this daemon's boot workspace, runs on the daemon's own host as before.
56
+ const { createWorkspaceExecutionHosts } = await import("../../hosting/execution/workspace-execution-hosts.js");
57
+ const { createWorkspaceRoutingConnection } = await import("../../hosting/execution/workspace-routing-connection.js");
58
+ state.workspaceExecutionHosts = createWorkspaceExecutionHosts({ runtime: host, defaultHost: executionHost, defaultRoot: state.workspaceRoot });
59
+ const workspaceHosts = state.workspaceExecutionHosts;
60
+ // ADR-0020 slice 3: a call naming only a session runs in the workspace session's index
61
+ // places it. A miss is reconciled over PM's admitted list: each routed connection asks
62
+ // every workspace `session.holds` over its own attachment.
63
+ const { admittedRootsOf, createSessionWorkspaceLocator, sessionIndexOf } = await import("../../hosting/execution/session-workspace-locator.js");
64
+ const sessionIndex = await sessionIndexOf(host);
65
+ const sessions = sessionIndex ? createSessionWorkspaceLocator({ index: sessionIndex, hosts: workspaceHosts, admittedRoots: admittedRootsOf(host) }) : undefined;
53
66
  const forward = (surface) => ({
54
67
  lifecycle: host.lifecycle, localMethods: surface === 'control' ? ['health'] : ['snapshot'],
55
68
  connect: async (peer) => {
69
+ if (surface === 'control') {
70
+ return createWorkspaceRoutingConnection({ peer, hosts: workspaceHosts, defaultHost: executionHost, defaultWorkspace: host.declaredScope.workspace, sessions });
71
+ }
72
+ // The projection stays on the daemon's own host: per-workspace projection is a later slice.
56
73
  const attached = await executionHost.attach({ verifiedPeer: peer.verified, workspace: host.declaredScope.workspace });
57
- const connection = surface === 'control' ? attached.controlTransport : attached.projectionTransport;
74
+ const connection = attached.projectionTransport;
58
75
  return { rootRef: connection.rootRef, closed: connection.closed, send: (request) => connection.send(request),
59
76
  openStream: connection.openStream.bind(connection), onRequest: connection.onRequest?.bind(connection), close: () => attached.dispose() };
60
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../../src/daemon/runtime/lifecycle/startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../../src/daemon/runtime/lifecycle/startup.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { CorsPolicy } from '../auth/cors.ts';
10
10
  import { type SubscribeHandlerDeps } from '../commands/subscribe.ts';
11
11
  import type { HostHotReload } from '../hosting/daemon-host/host-hot-reload.consumer.ts';
12
12
  import type { DaemonExecutionHost } from '../hosting/execution/daemon-execution-host.consumer.ts';
13
+ import type { WorkspaceExecutionHosts } from '../hosting/execution/workspace-execution-hosts.ts';
13
14
  import { PairingCodes } from '../pairing/pairing.ts';
14
15
  import { RuntimeCommandRegistry } from '../services/api/command-handler.ts';
15
16
  import { ConfigWatcher } from '../subscriptions/config-watcher.ts';
@@ -19,6 +20,8 @@ export declare class RuntimeDaemonState {
19
20
  runtimeDaemonLogger: LoggerInterface;
20
21
  tcpServer?: FetchServer;
21
22
  executionHost?: DaemonExecutionHost;
23
+ /** Transport mode: the admitted workspaces' own execution hosts, started per call (ADR-0020 decision 3). */
24
+ workspaceExecutionHosts?: WorkspaceExecutionHosts;
22
25
  unixRpcListener?: UnixListener;
23
26
  unixProjectionListener?: UnixListener;
24
27
  attestation?: LocalAttestationHandle;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/daemon/runtime/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/daemon/runtime/state.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ export class RuntimeDaemonState {
21
21
  runtimeDaemonLogger = createNoopLogger('runtime-daemon');
22
22
  tcpServer;
23
23
  executionHost;
24
+ /** Transport mode: the admitted workspaces' own execution hosts, started per call (ADR-0020 decision 3). */
25
+ workspaceExecutionHosts;
24
26
  unixRpcListener;
25
27
  unixProjectionListener;
26
28
  attestation;
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/daemon/runtime/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/daemon/runtime/state.ts"],"names":[],"mappings":"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"}
@@ -38,4 +38,5 @@ export declare class RuntimeRpcRoot {
38
38
  * runtime-rpc's one list of runtime-root methods, never a copy.
39
39
  */
40
40
  export { RUNTIME_ROOT_METHODS as RPC_ROOT_METHODS } from '@vibesdotdev/kernel-rpc';
41
+ export { getRuntimeHealth } from '../health.ts';
41
42
  //# sourceMappingURL=rpc-root.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-root.d.ts","sourceRoot":"","sources":["../../../../src/daemon/services/api/rpc-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAmBhF,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAQ3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE5F;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,MAAM,kBAAkB,EACjC,QAAQ,yBAA+B,EACvC,SAAS,GAAE,uBAAiC,GAC1C,cAAc,CAEhB;AASD,KAAK,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAEjD,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;gBAG3C,OAAO,EAAE,MAAM,kBAAkB,EACjC,QAAQ,yBAA+B,EACvC,SAAS,GAAE,uBAAiC;IAKvC,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAWzD,KAAK,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI5D,OAAO,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI9D,IAAI,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI3D,KAAK,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI5D,MAAM,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI7D,MAAM,CAAC,OAAO,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI9D,MAAM,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAGnE;AAED;;;GAGG;AACH,OAAO,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"rpc-root.d.ts","sourceRoot":"","sources":["../../../../src/daemon/services/api/rpc-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAmBhF,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAQ3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE5F;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,MAAM,kBAAkB,EACjC,QAAQ,yBAA+B,EACvC,SAAS,GAAE,uBAAiC,GAC1C,cAAc,CAEhB;AASD,KAAK,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAEjD,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;gBAG3C,OAAO,EAAE,MAAM,kBAAkB,EACjC,QAAQ,yBAA+B,EACvC,SAAS,GAAE,uBAAiC;IAKvC,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAWzD,KAAK,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI5D,OAAO,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI9D,IAAI,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI3D,KAAK,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI5D,MAAM,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI7D,MAAM,CAAC,OAAO,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI9D,MAAM,CAAC,MAAM,GAAE,SAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAGnE;AAED;;;GAGG;AACH,OAAO,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -82,6 +82,7 @@ export class RuntimeRpcRoot {
82
82
  * runtime-rpc's one list of runtime-root methods, never a copy.
83
83
  */
84
84
  export { RUNTIME_ROOT_METHODS as RPC_ROOT_METHODS } from '@vibesdotdev/kernel-rpc';
85
+ export { getRuntimeHealth } from "../health.js";
85
86
  async function withInvocation(getDeps, run) {
86
87
  const deps = getDeps();
87
88
  const lease = deps.runtime.acquireInvocation();