devframe 0.1.17 → 0.1.19

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 (58) hide show
  1. package/dist/{_shared-Bxa2_kq7.mjs → _shared-BcPXmcjq.mjs} +1 -1
  2. package/dist/adapters/build.d.mts +1 -1
  3. package/dist/adapters/build.mjs +5 -4
  4. package/dist/adapters/cli.d.mts +2 -2
  5. package/dist/adapters/cli.mjs +78 -292
  6. package/dist/adapters/dev.d.mts +83 -0
  7. package/dist/adapters/dev.mjs +2 -0
  8. package/dist/adapters/embedded.d.mts +1 -1
  9. package/dist/adapters/kit.d.mts +1 -1
  10. package/dist/adapters/mcp.d.mts +1 -1
  11. package/dist/adapters/mcp.mjs +2 -2
  12. package/dist/adapters/vite.d.mts +1 -1
  13. package/dist/adapters/vite.mjs +1 -1
  14. package/dist/client/index.d.mts +5 -5
  15. package/dist/client/index.mjs +1 -1
  16. package/dist/{client-CsR1_h3o.mjs → client-C6w_NshP.mjs} +2 -2
  17. package/dist/constants.d.mts +1 -1
  18. package/dist/{context-xQo1FcxX.mjs → context-BsNZMCnr.mjs} +4 -4
  19. package/dist/dev-Djy5hbgs.mjs +324 -0
  20. package/dist/{devtool-CHT-4_OU.d.mts → devtool-CIqONpYU.d.mts} +9 -4
  21. package/dist/helpers/nuxt/runtime/plugin.client.mjs +1 -1
  22. package/dist/host-h3-w3c0t8ZO.mjs +18 -0
  23. package/dist/{index-Cei8vVcd.d.mts → index-BwrLhNmz.d.mts} +1 -1
  24. package/dist/index.d.mts +4 -4
  25. package/dist/index.mjs +11 -2
  26. package/dist/node/index.d.mts +4 -53
  27. package/dist/node/index.mjs +4 -3
  28. package/dist/recipes/open-helpers.d.mts +1 -1
  29. package/dist/recipes/open-helpers.mjs +2 -2
  30. package/dist/rpc/index.d.mts +2 -2
  31. package/dist/rpc/index.mjs +3 -3
  32. package/dist/rpc/transports/ws-client.d.mts +1 -1
  33. package/dist/rpc/transports/ws-client.mjs +1 -1
  34. package/dist/rpc/transports/ws-server.d.mts +1 -1
  35. package/dist/rpc/transports/ws-server.mjs +1 -1
  36. package/dist/{rpc-hbRk8qtt.mjs → rpc-D7LxIh8t.mjs} +1 -1
  37. package/dist/server-CaUeMcAh.d.mts +54 -0
  38. package/dist/{static-dump-DwFfj4U_.mjs → static-dump-cyGfMmRf.mjs} +2 -19
  39. package/dist/types/index.d.mts +3 -3
  40. package/dist/{types-BkyzI9r4.d.mts → types-gWbe-b2R.d.mts} +1 -1
  41. package/dist/utils/events.d.mts +1 -1
  42. package/dist/utils/shared-state.d.mts +1 -1
  43. package/dist/utils/shared-state.mjs +1 -1
  44. package/dist/utils/state.d.mts +1 -1
  45. package/dist/utils/state.mjs +1 -1
  46. package/dist/utils/when.d.mts +1 -1
  47. package/dist/{ws-client-CDGmViwt.d.mts → ws-client-DOYwYluO.d.mts} +1 -1
  48. package/dist/{ws-server-Cu8tmZcF.d.mts → ws-server-DHMeNOY_.d.mts} +1 -1
  49. package/package.json +2 -1
  50. package/dist/src-DIKqQIjp.mjs +0 -85
  51. /package/dist/{define-CW9gLnyG.mjs → define-Bb4zh-Dc.mjs} +0 -0
  52. /package/dist/{immer-DEqg5kOd.mjs → immer-HjMAm3b6.mjs} +0 -0
  53. /package/dist/{main-BJD9t8dk.mjs → main-CuGOfqoX.mjs} +0 -0
  54. /package/dist/{open-BMO2_-wC.mjs → open-JfacLHs0.mjs} +0 -0
  55. /package/dist/{serialization-CWcWE7x7.mjs → serialization-BN2ZQEE9.mjs} +0 -0
  56. /package/dist/{server-DkJ2-s0Y.mjs → server-DrBxa6ZV.mjs} +0 -0
  57. /package/dist/{transports-4bqw6Fqg.mjs → transports-DSV5_5QM.mjs} +0 -0
  58. /package/dist/{when-aBBXAEh5.d.mts → when-BAE663Hv.d.mts} +0 -0
@@ -0,0 +1,324 @@
1
+ import { t as createHostContext } from "./context-BsNZMCnr.mjs";
2
+ import { DEVTOOLS_CONNECTION_META_FILENAME } from "./constants.mjs";
3
+ import { t as createH3DevToolsHost } from "./host-h3-w3c0t8ZO.mjs";
4
+ import { t as startHttpAndWs } from "./server-DrBxa6ZV.mjs";
5
+ import { n as resolveBasePath, t as normalizeBasePath } from "./_shared-BcPXmcjq.mjs";
6
+ import { resolve } from "pathe";
7
+ import process$1 from "node:process";
8
+ import { networkInterfaces } from "node:os";
9
+ import { createApp, eventHandler, fromNodeMiddleware } from "h3";
10
+ import { createServer } from "node:net";
11
+ import sirv from "sirv";
12
+ //#region ../../../node_modules/.pnpm/get-port-please@3.2.0/node_modules/get-port-please/dist/index.mjs
13
+ const unsafePorts = /* @__PURE__ */ new Set([
14
+ 1,
15
+ 7,
16
+ 9,
17
+ 11,
18
+ 13,
19
+ 15,
20
+ 17,
21
+ 19,
22
+ 20,
23
+ 21,
24
+ 22,
25
+ 23,
26
+ 25,
27
+ 37,
28
+ 42,
29
+ 43,
30
+ 53,
31
+ 69,
32
+ 77,
33
+ 79,
34
+ 87,
35
+ 95,
36
+ 101,
37
+ 102,
38
+ 103,
39
+ 104,
40
+ 109,
41
+ 110,
42
+ 111,
43
+ 113,
44
+ 115,
45
+ 117,
46
+ 119,
47
+ 123,
48
+ 135,
49
+ 137,
50
+ 139,
51
+ 143,
52
+ 161,
53
+ 179,
54
+ 389,
55
+ 427,
56
+ 465,
57
+ 512,
58
+ 513,
59
+ 514,
60
+ 515,
61
+ 526,
62
+ 530,
63
+ 531,
64
+ 532,
65
+ 540,
66
+ 548,
67
+ 554,
68
+ 556,
69
+ 563,
70
+ 587,
71
+ 601,
72
+ 636,
73
+ 989,
74
+ 990,
75
+ 993,
76
+ 995,
77
+ 1719,
78
+ 1720,
79
+ 1723,
80
+ 2049,
81
+ 3659,
82
+ 4045,
83
+ 5060,
84
+ 5061,
85
+ 6e3,
86
+ 6566,
87
+ 6665,
88
+ 6666,
89
+ 6667,
90
+ 6668,
91
+ 6669,
92
+ 6697,
93
+ 10080
94
+ ]);
95
+ function isUnsafePort(port) {
96
+ return unsafePorts.has(port);
97
+ }
98
+ function isSafePort(port) {
99
+ return !isUnsafePort(port);
100
+ }
101
+ var GetPortError = class extends Error {
102
+ constructor(message, opts) {
103
+ super(message, opts);
104
+ this.message = message;
105
+ }
106
+ name = "GetPortError";
107
+ };
108
+ function _log(verbose, message) {
109
+ if (verbose) console.log(`[get-port] ${message}`);
110
+ }
111
+ function _generateRange(from, to) {
112
+ if (to < from) return [];
113
+ const r = [];
114
+ for (let index = from; index <= to; index++) r.push(index);
115
+ return r;
116
+ }
117
+ function _tryPort(port, host) {
118
+ return new Promise((resolve) => {
119
+ const server = createServer();
120
+ server.unref();
121
+ server.on("error", () => {
122
+ resolve(false);
123
+ });
124
+ server.listen({
125
+ port,
126
+ host
127
+ }, () => {
128
+ const { port: port2 } = server.address();
129
+ server.close(() => {
130
+ resolve(isSafePort(port2) && port2);
131
+ });
132
+ });
133
+ });
134
+ }
135
+ function _getLocalHosts(additional) {
136
+ const hosts = new Set(additional);
137
+ for (const _interface of Object.values(networkInterfaces())) for (const config of _interface || []) if (config.address && !config.internal && !config.address.startsWith("fe80::") && !config.address.startsWith("169.254")) hosts.add(config.address);
138
+ return [...hosts];
139
+ }
140
+ async function _findPort(ports, host) {
141
+ for (const port of ports) {
142
+ const r = await _tryPort(port, host);
143
+ if (r) return r;
144
+ }
145
+ }
146
+ function _fmtOnHost(hostname) {
147
+ return hostname ? `on host ${JSON.stringify(hostname)}` : "on any host";
148
+ }
149
+ const HOSTNAME_RE = /^(?!-)[\d.:A-Za-z-]{1,63}(?<!-)$/;
150
+ function _validateHostname(hostname, _public, verbose) {
151
+ if (hostname && !HOSTNAME_RE.test(hostname)) {
152
+ const fallbackHost = _public ? "0.0.0.0" : "127.0.0.1";
153
+ _log(verbose, `Invalid hostname: ${JSON.stringify(hostname)}. Using ${JSON.stringify(fallbackHost)} as fallback.`);
154
+ return fallbackHost;
155
+ }
156
+ return hostname;
157
+ }
158
+ async function getPort(_userOptions = {}) {
159
+ if (typeof _userOptions === "number" || typeof _userOptions === "string") _userOptions = { port: Number.parseInt(_userOptions + "") || 0 };
160
+ const _port = Number(_userOptions.port ?? process.env.PORT);
161
+ const _userSpecifiedAnyPort = Boolean(_userOptions.port || _userOptions.ports?.length || _userOptions.portRange?.length);
162
+ const options = {
163
+ random: _port === 0,
164
+ ports: [],
165
+ portRange: [],
166
+ alternativePortRange: _userSpecifiedAnyPort ? [] : [3e3, 3100],
167
+ verbose: false,
168
+ ..._userOptions,
169
+ port: _port,
170
+ host: _validateHostname(_userOptions.host ?? process.env.HOST, _userOptions.public, _userOptions.verbose)
171
+ };
172
+ if (options.random && !_userSpecifiedAnyPort) return getRandomPort(options.host);
173
+ const portsToCheck = [
174
+ options.port,
175
+ ...options.ports,
176
+ ..._generateRange(...options.portRange)
177
+ ].filter((port) => {
178
+ if (!port) return false;
179
+ if (!isSafePort(port)) {
180
+ _log(options.verbose, `Ignoring unsafe port: ${port}`);
181
+ return false;
182
+ }
183
+ return true;
184
+ });
185
+ if (portsToCheck.length === 0) portsToCheck.push(3e3);
186
+ let availablePort = await _findPort(portsToCheck, options.host);
187
+ if (!availablePort && options.alternativePortRange.length > 0) {
188
+ availablePort = await _findPort(_generateRange(...options.alternativePortRange), options.host);
189
+ if (portsToCheck.length > 0) {
190
+ let message = `Unable to find an available port (tried ${portsToCheck.join("-")} ${_fmtOnHost(options.host)}).`;
191
+ if (availablePort) message += ` Using alternative port ${availablePort}.`;
192
+ _log(options.verbose, message);
193
+ }
194
+ }
195
+ if (!availablePort && _userOptions.random !== false) {
196
+ availablePort = await getRandomPort(options.host);
197
+ if (availablePort) _log(options.verbose, `Using random port ${availablePort}`);
198
+ }
199
+ if (!availablePort) {
200
+ const triedRanges = [
201
+ options.port,
202
+ options.portRange.join("-"),
203
+ options.alternativePortRange.join("-")
204
+ ].filter(Boolean).join(", ");
205
+ throw new GetPortError(`Unable to find an available port ${_fmtOnHost(options.host)} (tried ${triedRanges})`);
206
+ }
207
+ return availablePort;
208
+ }
209
+ async function getRandomPort(host) {
210
+ const port = await checkPort(0, host);
211
+ if (port === false) throw new GetPortError(`Unable to find a random port ${_fmtOnHost(host)}`);
212
+ return port;
213
+ }
214
+ async function checkPort(port, host = process.env.HOST, verbose) {
215
+ if (!host) host = _getLocalHosts([void 0, "0.0.0.0"]);
216
+ if (!Array.isArray(host)) return _tryPort(port, host);
217
+ for (const _host of host) {
218
+ const _port = await _tryPort(port, _host);
219
+ if (_port === false) {
220
+ if (port < 1024 && verbose) _log(verbose, `Unable to listen to the privileged port ${port} ${_fmtOnHost(_host)}`);
221
+ return false;
222
+ }
223
+ if (port === 0 && _port !== 0) port = _port;
224
+ }
225
+ return port;
226
+ }
227
+ //#endregion
228
+ //#region src/adapters/dev.ts
229
+ const DEFAULT_PORT = 9999;
230
+ /**
231
+ * Resolve the listening port for {@link createDevServer}, honoring the
232
+ * definition's `cli.port` / `cli.portRange` / `cli.random` settings.
233
+ * Exposed separately so authors who run their own argv parsing can
234
+ * resolve a port up-front (to print it, log it, etc.) before starting
235
+ * the server.
236
+ */
237
+ async function resolveDevServerPort(def, options = {}) {
238
+ const host = options.host ?? def.cli?.host ?? "localhost";
239
+ const portOptions = {
240
+ port: options.defaultPort ?? def.cli?.port ?? DEFAULT_PORT,
241
+ host
242
+ };
243
+ if (def.cli?.portRange) portOptions.portRange = def.cli.portRange;
244
+ if (def.cli?.random) portOptions.random = def.cli.random;
245
+ return getPort(portOptions);
246
+ }
247
+ /**
248
+ * Start a devframe dev server for a {@link DevtoolDefinition} —
249
+ * h3 + WebSocket RPC + the author's SPA mounted at the resolved base
250
+ * path.
251
+ *
252
+ * Returns the underlying {@link StartedServer} handle so callers can
253
+ * close it gracefully (SIGINT, hot-reload, test teardown).
254
+ *
255
+ * Use this directly when integrating devframe into an existing CLI
256
+ * framework (commander, yargs, hand-rolled CAC). For the all-in-one
257
+ * `dev` / `build` / `mcp` shell, reach for {@link createCli} instead.
258
+ */
259
+ async function createDevServer(def, options = {}) {
260
+ const distDir = options.distDir ?? def.cli?.distDir;
261
+ if (!distDir) throw new Error(`[devframe] createDevServer: no distDir for "${def.id}". Set \`cli.distDir\` on the definition or pass it as an option.`);
262
+ const host = options.host ?? def.cli?.host ?? "localhost";
263
+ const port = options.port ?? await resolveDevServerPort(def, { host });
264
+ const flags = options.flags ?? {};
265
+ const basePath = options.basePath ? normalizeBasePath(options.basePath) : resolveBasePath(def, "standalone");
266
+ const app = options.app ?? createApp();
267
+ const h3Host = createH3DevToolsHost({
268
+ origin: `http://${host}:${port}`,
269
+ mount: (base, dir) => {
270
+ app.use(base, fromNodeMiddleware(sirv(dir, {
271
+ dev: true,
272
+ single: true
273
+ })));
274
+ }
275
+ });
276
+ const ctx = await createHostContext({
277
+ cwd: process$1.cwd(),
278
+ mode: "dev",
279
+ host: h3Host
280
+ });
281
+ const setupInfo = { flags };
282
+ await def.setup(ctx, setupInfo);
283
+ const connectionMetaPath = `${basePath}${DEVTOOLS_CONNECTION_META_FILENAME}`;
284
+ app.use(connectionMetaPath, eventHandler((event) => {
285
+ event.node.res.setHeader("Content-Type", "application/json");
286
+ return event.node.res.end(JSON.stringify({
287
+ backend: "websocket",
288
+ websocket: port
289
+ }));
290
+ }));
291
+ app.use(basePath, fromNodeMiddleware(sirv(resolve(distDir), {
292
+ dev: true,
293
+ single: true
294
+ })));
295
+ return startHttpAndWs({
296
+ context: ctx,
297
+ host,
298
+ port,
299
+ app,
300
+ auth: def.cli?.auth,
301
+ onReady: async (info) => {
302
+ await options.onReady?.(info);
303
+ await maybeOpenBrowser(def, flags, `${info.origin}${basePath}`, options.openBrowser);
304
+ }
305
+ });
306
+ }
307
+ async function maybeOpenBrowser(def, flags, origin, override) {
308
+ const flagsOpen = flags.open;
309
+ const cliOpen = def.cli?.open;
310
+ const resolved = override ?? flagsOpen ?? cliOpen;
311
+ if (resolved === void 0 || resolved === false) return;
312
+ const target = typeof resolved === "string" ? resolveOpenTarget(origin, resolved) : origin;
313
+ try {
314
+ const { default: open } = await import("./open-JfacLHs0.mjs");
315
+ await open(target);
316
+ } catch {}
317
+ }
318
+ function resolveOpenTarget(origin, target) {
319
+ if (/^https?:/.test(target)) return target;
320
+ if (target.startsWith("/")) return origin.replace(/\/$/, "") + target;
321
+ return origin.replace(/\/$/, "") + (target ? `/${target}` : "");
322
+ }
323
+ //#endregion
324
+ export { resolveDevServerPort as n, createDevServer as t };
@@ -1,9 +1,9 @@
1
- import { g as RpcFunctionsCollectorBase } from "./index-Cei8vVcd.mjs";
2
- import { t as DevToolsNodeRpcSessionMeta } from "./ws-server-Cu8tmZcF.mjs";
3
- import { GenericSchema, InferOutput } from "valibot";
1
+ import { g as RpcFunctionsCollectorBase } from "./index-BwrLhNmz.mjs";
2
+ import { t as DevToolsNodeRpcSessionMeta } from "./ws-server-DHMeNOY_.mjs";
4
3
  import { Logger, createLogger, defineDiagnostics } from "logs-sdk";
5
4
  import { BirpcReturn } from "birpc";
6
5
  import { CAC } from "cac";
6
+ import { GenericSchema, InferOutput } from "valibot";
7
7
  import { ChildProcess } from "node:child_process";
8
8
 
9
9
  //#region src/adapters/flags.d.ts
@@ -38,6 +38,11 @@ type CliFlagsSchema = Record<string, GenericSchema>;
38
38
  declare function defineCliFlags<T extends CliFlagsSchema>(flags: T): T;
39
39
  /** Extract the parsed-output type from a {@link CliFlagsSchema}. */
40
40
  type InferCliFlags<T extends CliFlagsSchema> = { [K in keyof T]: InferOutput<T[K]> };
41
+ /** Validate and coerce the raw cac-parsed bag against a {@link CliFlagsSchema}. */
42
+ declare function parseCliFlags(schema: CliFlagsSchema, raw: Record<string, unknown>): {
43
+ flags: Record<string, unknown>;
44
+ issues?: string[];
45
+ };
41
46
  //#endregion
42
47
  //#region src/types/events.d.ts
43
48
  interface EventsMap {
@@ -1230,4 +1235,4 @@ interface DevtoolDefinition {
1230
1235
  }
1231
1236
  declare function defineDevtool(d: DevtoolDefinition): DevtoolDefinition;
1232
1237
  //#endregion
1233
- export { DevToolsLogsHost as $, EventsMap as $t, DevToolsViewHost as A, DevToolsDiagnosticsHost as At, DevToolsTerminalStatus as B, DevToolsServerCommandEntry as Bt, ImmutableSet as C, DevToolsViewLauncher as Ct, createSharedState as D, JsonRenderer as Dt, SharedStateOptions as E, JsonRenderSpec as Et, DevToolsChildProcessTerminalSession as F, DevToolsCommandHandle as Ft, DevToolsLogElementPosition as G, AgentResourceContent as Gt, DevToolsRpcClientFunctions as H, AgentHandle as Ht, DevToolsTerminalHost as I, DevToolsCommandKeybinding as It, DevToolsLogEntryInput as J, AgentToolInput as Jt, DevToolsLogEntry as K, AgentResourceInput as Kt, DevToolsTerminalSession as L, DevToolsCommandShortcutOverrides as Lt, PartialWithoutId as M, DevToolsClientCommand as Mt, Thenable as N, DevToolsCommandBase as Nt, Objectish as O, RemoteDockOptions as Ot, DevToolsChildProcessExecuteOptions as P, DevToolsCommandEntry as Pt, DevToolsLogsClient as Q, EventUnsubscribe as Qt, DevToolsTerminalSessionBase as R, DevToolsCommandsHost as Rt, ImmutableObject as S, DevToolsViewJsonRender as St, SharedStateEvents as T, JsonRenderElement as Tt, DevToolsRpcServerFunctions as U, AgentManifest as Ut, DevToolsDocksUserSettings as V, DevToolsServerCommandInput as Vt, DevToolsRpcSharedStates as W, AgentResource as Wt, DevToolsLogHandle as X, DevToolsAgentHostEvents as Xt, DevToolsLogFilePosition as Y, DevToolsAgentHost as Yt, DevToolsLogLevel as Z, EventEmitter as Zt, RpcSharedStateGetOptions as _, DevToolsDockUserEntry as _t, DevtoolRuntime as a, DevToolsMessageHandle as at, ImmutableArray as b, DevToolsViewCustomRender as bt, defineDevtool as c, DevToolsMessagesHost as ct, DevToolsNodeContext as d, DevToolsDockEntriesGrouped as dt, CliFlagsSchema as en, DevToolsMessageElementPosition as et, DevToolsNodeUtils as f, DevToolsDockEntry as ft, RpcFunctionsHost as g, DevToolsDockHost as gt, RpcBroadcastOptions as h, DevToolsDockEntryIcon as ht, DevtoolDeploymentKind as i, DevToolsMessageFilePosition as it, EntriesToObject as j, DevToolsDiagnosticsLogger as jt, Patch as k, DevToolsDiagnosticsDefinition as kt, ConnectionMeta as l, DevToolsHost as lt, DevToolsNodeRpcSession as m, DevToolsDockEntryCategory as mt, DevtoolCliOptions as n, defineCliFlags as nn, DevToolsMessageEntryFrom as nt, DevtoolSetupInfo as o, DevToolsMessageLevel as ot, RemoteConnectionInfo as p, DevToolsDockEntryBase as pt, DevToolsLogEntryFrom as q, AgentTool as qt, DevtoolDefinition as r, DevToolsMessageEntryInput as rt, DevtoolSpaOptions as s, DevToolsMessagesClient as st, DevtoolBrowserContext as t, InferCliFlags as tn, DevToolsMessageEntry as tt, DevToolsCapabilities as u, ClientScriptEntry as ut, RpcSharedStateHost as v, DevToolsViewAction as vt, SharedState as w, DevToolsViewLauncherStatus as wt, ImmutableMap as x, DevToolsViewIframe as xt, Immutable as y, DevToolsViewBuiltin as yt, DevToolsTerminalSessionStreamChunkEvent as z, DevToolsCommandsHostEvents as zt };
1238
+ export { DevToolsLogsHost as $, EventsMap as $t, DevToolsViewHost as A, DevToolsDiagnosticsHost as At, DevToolsTerminalStatus as B, DevToolsServerCommandEntry as Bt, ImmutableSet as C, DevToolsViewLauncher as Ct, createSharedState as D, JsonRenderer as Dt, SharedStateOptions as E, JsonRenderSpec as Et, DevToolsChildProcessTerminalSession as F, DevToolsCommandHandle as Ft, DevToolsLogElementPosition as G, AgentResourceContent as Gt, DevToolsRpcClientFunctions as H, AgentHandle as Ht, DevToolsTerminalHost as I, DevToolsCommandKeybinding as It, DevToolsLogEntryInput as J, AgentToolInput as Jt, DevToolsLogEntry as K, AgentResourceInput as Kt, DevToolsTerminalSession as L, DevToolsCommandShortcutOverrides as Lt, PartialWithoutId as M, DevToolsClientCommand as Mt, Thenable as N, DevToolsCommandBase as Nt, Objectish as O, RemoteDockOptions as Ot, DevToolsChildProcessExecuteOptions as P, DevToolsCommandEntry as Pt, DevToolsLogsClient as Q, EventUnsubscribe as Qt, DevToolsTerminalSessionBase as R, DevToolsCommandsHost as Rt, ImmutableObject as S, DevToolsViewJsonRender as St, SharedStateEvents as T, JsonRenderElement as Tt, DevToolsRpcServerFunctions as U, AgentManifest as Ut, DevToolsDocksUserSettings as V, DevToolsServerCommandInput as Vt, DevToolsRpcSharedStates as W, AgentResource as Wt, DevToolsLogHandle as X, DevToolsAgentHostEvents as Xt, DevToolsLogFilePosition as Y, DevToolsAgentHost as Yt, DevToolsLogLevel as Z, EventEmitter as Zt, RpcSharedStateGetOptions as _, DevToolsDockUserEntry as _t, DevtoolRuntime as a, DevToolsMessageHandle as at, ImmutableArray as b, DevToolsViewCustomRender as bt, defineDevtool as c, DevToolsMessagesHost as ct, DevToolsNodeContext as d, DevToolsDockEntriesGrouped as dt, CliFlagsSchema as en, DevToolsMessageElementPosition as et, DevToolsNodeUtils as f, DevToolsDockEntry as ft, RpcFunctionsHost as g, DevToolsDockHost as gt, RpcBroadcastOptions as h, DevToolsDockEntryIcon as ht, DevtoolDeploymentKind as i, DevToolsMessageFilePosition as it, EntriesToObject as j, DevToolsDiagnosticsLogger as jt, Patch as k, DevToolsDiagnosticsDefinition as kt, ConnectionMeta as l, DevToolsHost as lt, DevToolsNodeRpcSession as m, DevToolsDockEntryCategory as mt, DevtoolCliOptions as n, defineCliFlags as nn, DevToolsMessageEntryFrom as nt, DevtoolSetupInfo as o, DevToolsMessageLevel as ot, RemoteConnectionInfo as p, DevToolsDockEntryBase as pt, DevToolsLogEntryFrom as q, AgentTool as qt, DevtoolDefinition as r, parseCliFlags as rn, DevToolsMessageEntryInput as rt, DevtoolSpaOptions as s, DevToolsMessagesClient as st, DevtoolBrowserContext as t, InferCliFlags as tn, DevToolsMessageEntry as tt, DevToolsCapabilities as u, ClientScriptEntry as ut, RpcSharedStateHost as v, DevToolsViewAction as vt, SharedState as w, DevToolsViewLauncherStatus as wt, ImmutableMap as x, DevToolsViewIframe as xt, Immutable as y, DevToolsViewBuiltin as yt, DevToolsTerminalSessionStreamChunkEvent as z, DevToolsCommandsHostEvents as zt };
@@ -1,4 +1,4 @@
1
- import { t as getDevToolsRpcClient } from "../../../client-CsR1_h3o.mjs";
1
+ import { t as getDevToolsRpcClient } from "../../../client-C6w_NshP.mjs";
2
2
  import { defineNuxtPlugin, useRuntimeConfig } from "#app";
3
3
  //#region src/helpers/nuxt/runtime/plugin.client.ts
4
4
  /**
@@ -0,0 +1,18 @@
1
+ //#region src/node/host-h3.ts
2
+ /**
3
+ * h3-backed {@link DevToolsHost} — used by the standalone CLI adapter.
4
+ * This commit adds the shell; the CLI adapter in commit 5 wires it up
5
+ * with a real h3 app and sirv handler.
6
+ */
7
+ function createH3DevToolsHost(options) {
8
+ return {
9
+ mountStatic(base, distDir) {
10
+ return options.mount?.(base, distDir);
11
+ },
12
+ resolveOrigin() {
13
+ return options.origin;
14
+ }
15
+ };
16
+ }
17
+ //#endregion
18
+ export { createH3DevToolsHost as t };
@@ -1,4 +1,4 @@
1
- import { C as RpcReturnSchema, S as RpcFunctionsCollector, b as RpcFunctionSetupResult, c as RpcDumpClientOptions, g as RpcFunctionDefinitionAny, h as RpcFunctionDefinition, i as RpcArgsSchema, l as RpcDumpCollectionOptions, n as BirpcReturn, o as RpcDefinitionsToFunctions, p as RpcDumpStore, x as RpcFunctionType } from "./types-BkyzI9r4.mjs";
1
+ import { C as RpcReturnSchema, S as RpcFunctionsCollector, b as RpcFunctionSetupResult, c as RpcDumpClientOptions, g as RpcFunctionDefinitionAny, h as RpcFunctionDefinition, i as RpcArgsSchema, l as RpcDumpCollectionOptions, n as BirpcReturn, o as RpcDefinitionsToFunctions, p as RpcDumpStore, x as RpcFunctionType } from "./types-gWbe-b2R.mjs";
2
2
  import { deserialize as structuredCloneDeserialize, parse as structuredCloneParse, serialize as structuredCloneSerialize, stringify as structuredCloneStringify } from "structured-clone-es";
3
3
 
4
4
  //#region src/rpc/cache.d.ts
package/dist/index.d.mts CHANGED
@@ -1,10 +1,10 @@
1
- import { $ as DevToolsLogsHost, $t as EventsMap, A as DevToolsViewHost, At as DevToolsDiagnosticsHost, B as DevToolsTerminalStatus, Bt as DevToolsServerCommandEntry, Ct as DevToolsViewLauncher, Dt as JsonRenderer, Et as JsonRenderSpec, F as DevToolsChildProcessTerminalSession, Ft as DevToolsCommandHandle, G as DevToolsLogElementPosition, Gt as AgentResourceContent, H as DevToolsRpcClientFunctions, Ht as AgentHandle, I as DevToolsTerminalHost, It as DevToolsCommandKeybinding, J as DevToolsLogEntryInput, Jt as AgentToolInput, K as DevToolsLogEntry, Kt as AgentResourceInput, L as DevToolsTerminalSession, Lt as DevToolsCommandShortcutOverrides, M as PartialWithoutId, Mt as DevToolsClientCommand, N as Thenable, Nt as DevToolsCommandBase, Ot as RemoteDockOptions, P as DevToolsChildProcessExecuteOptions, Pt as DevToolsCommandEntry, Q as DevToolsLogsClient, Qt as EventUnsubscribe, R as DevToolsTerminalSessionBase, Rt as DevToolsCommandsHost, St as DevToolsViewJsonRender, Tt as JsonRenderElement, U as DevToolsRpcServerFunctions, Ut as AgentManifest, V as DevToolsDocksUserSettings, Vt as DevToolsServerCommandInput, W as DevToolsRpcSharedStates, Wt as AgentResource, X as DevToolsLogHandle, Xt as DevToolsAgentHostEvents, Y as DevToolsLogFilePosition, Yt as DevToolsAgentHost, Z as DevToolsLogLevel, Zt as EventEmitter, _ as RpcSharedStateGetOptions, _t as DevToolsDockUserEntry, a as DevtoolRuntime, at as DevToolsMessageHandle, bt as DevToolsViewCustomRender, c as defineDevtool, ct as DevToolsMessagesHost, d as DevToolsNodeContext, dt as DevToolsDockEntriesGrouped, en as CliFlagsSchema, et as DevToolsMessageElementPosition, f as DevToolsNodeUtils, ft as DevToolsDockEntry, g as RpcFunctionsHost, gt as DevToolsDockHost, h as RpcBroadcastOptions, ht as DevToolsDockEntryIcon, i as DevtoolDeploymentKind, it as DevToolsMessageFilePosition, j as EntriesToObject, jt as DevToolsDiagnosticsLogger, kt as DevToolsDiagnosticsDefinition, l as ConnectionMeta, lt as DevToolsHost, m as DevToolsNodeRpcSession, mt as DevToolsDockEntryCategory, n as DevtoolCliOptions, nn as defineCliFlags, nt as DevToolsMessageEntryFrom, o as DevtoolSetupInfo, ot as DevToolsMessageLevel, p as RemoteConnectionInfo, pt as DevToolsDockEntryBase, q as DevToolsLogEntryFrom, qt as AgentTool, r as DevtoolDefinition, rt as DevToolsMessageEntryInput, s as DevtoolSpaOptions, st as DevToolsMessagesClient, t as DevtoolBrowserContext, tn as InferCliFlags, tt as DevToolsMessageEntry, u as DevToolsCapabilities, ut as ClientScriptEntry, v as RpcSharedStateHost, vt as DevToolsViewAction, wt as DevToolsViewLauncherStatus, xt as DevToolsViewIframe, yt as DevToolsViewBuiltin, z as DevToolsTerminalSessionStreamChunkEvent, zt as DevToolsCommandsHostEvents } from "./devtool-CHT-4_OU.mjs";
2
- import { C as RpcReturnSchema, h as RpcFunctionDefinition, i as RpcArgsSchema, m as RpcFunctionAgentOptions, x as RpcFunctionType } from "./types-BkyzI9r4.mjs";
3
- import { t as DevToolsNodeRpcSessionMeta } from "./ws-server-Cu8tmZcF.mjs";
1
+ import { $ as DevToolsLogsHost, $t as EventsMap, A as DevToolsViewHost, At as DevToolsDiagnosticsHost, B as DevToolsTerminalStatus, Bt as DevToolsServerCommandEntry, Ct as DevToolsViewLauncher, Dt as JsonRenderer, Et as JsonRenderSpec, F as DevToolsChildProcessTerminalSession, Ft as DevToolsCommandHandle, G as DevToolsLogElementPosition, Gt as AgentResourceContent, H as DevToolsRpcClientFunctions, Ht as AgentHandle, I as DevToolsTerminalHost, It as DevToolsCommandKeybinding, J as DevToolsLogEntryInput, Jt as AgentToolInput, K as DevToolsLogEntry, Kt as AgentResourceInput, L as DevToolsTerminalSession, Lt as DevToolsCommandShortcutOverrides, M as PartialWithoutId, Mt as DevToolsClientCommand, N as Thenable, Nt as DevToolsCommandBase, Ot as RemoteDockOptions, P as DevToolsChildProcessExecuteOptions, Pt as DevToolsCommandEntry, Q as DevToolsLogsClient, Qt as EventUnsubscribe, R as DevToolsTerminalSessionBase, Rt as DevToolsCommandsHost, St as DevToolsViewJsonRender, Tt as JsonRenderElement, U as DevToolsRpcServerFunctions, Ut as AgentManifest, V as DevToolsDocksUserSettings, Vt as DevToolsServerCommandInput, W as DevToolsRpcSharedStates, Wt as AgentResource, X as DevToolsLogHandle, Xt as DevToolsAgentHostEvents, Y as DevToolsLogFilePosition, Yt as DevToolsAgentHost, Z as DevToolsLogLevel, Zt as EventEmitter, _ as RpcSharedStateGetOptions, _t as DevToolsDockUserEntry, a as DevtoolRuntime, at as DevToolsMessageHandle, bt as DevToolsViewCustomRender, c as defineDevtool, ct as DevToolsMessagesHost, d as DevToolsNodeContext, dt as DevToolsDockEntriesGrouped, et as DevToolsMessageElementPosition, f as DevToolsNodeUtils, ft as DevToolsDockEntry, g as RpcFunctionsHost, gt as DevToolsDockHost, h as RpcBroadcastOptions, ht as DevToolsDockEntryIcon, i as DevtoolDeploymentKind, it as DevToolsMessageFilePosition, j as EntriesToObject, jt as DevToolsDiagnosticsLogger, kt as DevToolsDiagnosticsDefinition, l as ConnectionMeta, lt as DevToolsHost, m as DevToolsNodeRpcSession, mt as DevToolsDockEntryCategory, n as DevtoolCliOptions, nt as DevToolsMessageEntryFrom, o as DevtoolSetupInfo, ot as DevToolsMessageLevel, p as RemoteConnectionInfo, pt as DevToolsDockEntryBase, q as DevToolsLogEntryFrom, qt as AgentTool, r as DevtoolDefinition, rt as DevToolsMessageEntryInput, s as DevtoolSpaOptions, st as DevToolsMessagesClient, t as DevtoolBrowserContext, tt as DevToolsMessageEntry, u as DevToolsCapabilities, ut as ClientScriptEntry, v as RpcSharedStateHost, vt as DevToolsViewAction, wt as DevToolsViewLauncherStatus, xt as DevToolsViewIframe, yt as DevToolsViewBuiltin, z as DevToolsTerminalSessionStreamChunkEvent, zt as DevToolsCommandsHostEvents } from "./devtool-CIqONpYU.mjs";
2
+ import { C as RpcReturnSchema, h as RpcFunctionDefinition, i as RpcArgsSchema, m as RpcFunctionAgentOptions, x as RpcFunctionType } from "./types-gWbe-b2R.mjs";
3
+ import { t as DevToolsNodeRpcSessionMeta } from "./ws-server-DHMeNOY_.mjs";
4
4
 
5
5
  //#region src/define.d.ts
6
6
  declare const defineRpcFunction: <NAME extends string, TYPE extends RpcFunctionType, ARGS extends any[], RETURN = void, const AS extends RpcArgsSchema | undefined = undefined, const RS extends RpcReturnSchema | undefined = undefined>(definition: RpcFunctionDefinition<NAME, TYPE, ARGS, RETURN, AS, RS, DevToolsNodeContext>) => RpcFunctionDefinition<NAME, TYPE, ARGS, RETURN, AS, RS, DevToolsNodeContext>;
7
7
  declare function defineCommand(command: DevToolsServerCommandInput): DevToolsServerCommandInput;
8
8
  declare function defineJsonRenderSpec(spec: JsonRenderSpec): JsonRenderSpec;
9
9
  //#endregion
10
- export { AgentHandle, AgentManifest, AgentResource, AgentResourceContent, AgentResourceInput, AgentTool, AgentToolInput, type CliFlagsSchema, ClientScriptEntry, ConnectionMeta, DevToolsAgentHost, DevToolsAgentHostEvents, DevToolsCapabilities, DevToolsChildProcessExecuteOptions, DevToolsChildProcessTerminalSession, DevToolsClientCommand, DevToolsCommandBase, DevToolsCommandEntry, DevToolsCommandHandle, DevToolsCommandKeybinding, DevToolsCommandShortcutOverrides, DevToolsCommandsHost, DevToolsCommandsHostEvents, DevToolsDiagnosticsDefinition, DevToolsDiagnosticsHost, DevToolsDiagnosticsLogger, DevToolsDockEntriesGrouped, DevToolsDockEntry, DevToolsDockEntryBase, DevToolsDockEntryCategory, DevToolsDockEntryIcon, DevToolsDockHost, DevToolsDockUserEntry, DevToolsDocksUserSettings, DevToolsHost, DevToolsLogElementPosition, DevToolsLogEntry, DevToolsLogEntryFrom, DevToolsLogEntryInput, DevToolsLogFilePosition, DevToolsLogHandle, DevToolsLogLevel, DevToolsLogsClient, DevToolsLogsHost, DevToolsMessageElementPosition, DevToolsMessageEntry, DevToolsMessageEntryFrom, DevToolsMessageEntryInput, DevToolsMessageFilePosition, DevToolsMessageHandle, DevToolsMessageLevel, DevToolsMessagesClient, DevToolsMessagesHost, DevToolsNodeContext, DevToolsNodeRpcSession, DevToolsNodeRpcSessionMeta, DevToolsNodeUtils, DevToolsRpcClientFunctions, DevToolsRpcServerFunctions, DevToolsRpcSharedStates, DevToolsServerCommandEntry, DevToolsServerCommandInput, DevToolsTerminalHost, DevToolsTerminalSession, DevToolsTerminalSessionBase, DevToolsTerminalSessionStreamChunkEvent, DevToolsTerminalStatus, DevToolsViewAction, DevToolsViewBuiltin, DevToolsViewCustomRender, DevToolsViewHost, DevToolsViewIframe, DevToolsViewJsonRender, DevToolsViewLauncher, DevToolsViewLauncherStatus, DevtoolBrowserContext, DevtoolCliOptions, DevtoolDefinition, DevtoolDeploymentKind, DevtoolRuntime, DevtoolSetupInfo, DevtoolSpaOptions, EntriesToObject, EventEmitter, EventUnsubscribe, EventsMap, type InferCliFlags, JsonRenderElement, JsonRenderSpec, JsonRenderer, PartialWithoutId, RemoteConnectionInfo, RemoteDockOptions, RpcBroadcastOptions, RpcFunctionAgentOptions, RpcFunctionsHost, RpcSharedStateGetOptions, RpcSharedStateHost, Thenable, defineCliFlags, defineCommand, defineDevtool, defineJsonRenderSpec, defineRpcFunction };
10
+ export { AgentHandle, AgentManifest, AgentResource, AgentResourceContent, AgentResourceInput, AgentTool, AgentToolInput, ClientScriptEntry, ConnectionMeta, DevToolsAgentHost, DevToolsAgentHostEvents, DevToolsCapabilities, DevToolsChildProcessExecuteOptions, DevToolsChildProcessTerminalSession, DevToolsClientCommand, DevToolsCommandBase, DevToolsCommandEntry, DevToolsCommandHandle, DevToolsCommandKeybinding, DevToolsCommandShortcutOverrides, DevToolsCommandsHost, DevToolsCommandsHostEvents, DevToolsDiagnosticsDefinition, DevToolsDiagnosticsHost, DevToolsDiagnosticsLogger, DevToolsDockEntriesGrouped, DevToolsDockEntry, DevToolsDockEntryBase, DevToolsDockEntryCategory, DevToolsDockEntryIcon, DevToolsDockHost, DevToolsDockUserEntry, DevToolsDocksUserSettings, DevToolsHost, DevToolsLogElementPosition, DevToolsLogEntry, DevToolsLogEntryFrom, DevToolsLogEntryInput, DevToolsLogFilePosition, DevToolsLogHandle, DevToolsLogLevel, DevToolsLogsClient, DevToolsLogsHost, DevToolsMessageElementPosition, DevToolsMessageEntry, DevToolsMessageEntryFrom, DevToolsMessageEntryInput, DevToolsMessageFilePosition, DevToolsMessageHandle, DevToolsMessageLevel, DevToolsMessagesClient, DevToolsMessagesHost, DevToolsNodeContext, DevToolsNodeRpcSession, DevToolsNodeRpcSessionMeta, DevToolsNodeUtils, DevToolsRpcClientFunctions, DevToolsRpcServerFunctions, DevToolsRpcSharedStates, DevToolsServerCommandEntry, DevToolsServerCommandInput, DevToolsTerminalHost, DevToolsTerminalSession, DevToolsTerminalSessionBase, DevToolsTerminalSessionStreamChunkEvent, DevToolsTerminalStatus, DevToolsViewAction, DevToolsViewBuiltin, DevToolsViewCustomRender, DevToolsViewHost, DevToolsViewIframe, DevToolsViewJsonRender, DevToolsViewLauncher, DevToolsViewLauncherStatus, DevtoolBrowserContext, DevtoolCliOptions, DevtoolDefinition, DevtoolDeploymentKind, DevtoolRuntime, DevtoolSetupInfo, DevtoolSpaOptions, EntriesToObject, EventEmitter, EventUnsubscribe, EventsMap, JsonRenderElement, JsonRenderSpec, JsonRenderer, PartialWithoutId, RemoteConnectionInfo, RemoteDockOptions, RpcBroadcastOptions, RpcFunctionAgentOptions, RpcFunctionsHost, RpcSharedStateGetOptions, RpcSharedStateHost, Thenable, defineCommand, defineDevtool, defineJsonRenderSpec, defineRpcFunction };
package/dist/index.mjs CHANGED
@@ -1,2 +1,11 @@
1
- import { i as defineCliFlags, n as defineJsonRenderSpec, r as defineRpcFunction, t as defineCommand } from "./src-DIKqQIjp.mjs";
2
- export { defineCliFlags, defineCommand, defineJsonRenderSpec, defineRpcFunction };
1
+ import { t as createDefineWrapperWithContext } from "./define-Bb4zh-Dc.mjs";
2
+ //#region src/define.ts
3
+ const defineRpcFunction = createDefineWrapperWithContext();
4
+ function defineCommand(command) {
5
+ return command;
6
+ }
7
+ function defineJsonRenderSpec(spec) {
8
+ return spec;
9
+ }
10
+ //#endregion
11
+ export { defineCommand, defineJsonRenderSpec, defineRpcFunction };
@@ -1,11 +1,10 @@
1
- import { A as DevToolsViewHost$1, At as DevToolsDiagnosticsHost$1, Bt as DevToolsServerCommandEntry, F as DevToolsChildProcessTerminalSession, Ft as DevToolsCommandHandle, Gt as AgentResourceContent, H as DevToolsRpcClientFunctions, Ht as AgentHandle, I as DevToolsTerminalHost$1, Jt as AgentToolInput, Kt as AgentResourceInput, L as DevToolsTerminalSession, M as PartialWithoutId, P as DevToolsChildProcessExecuteOptions, R as DevToolsTerminalSessionBase, Rt as DevToolsCommandsHost$1, U as DevToolsRpcServerFunctions, Ut as AgentManifest, V as DevToolsDocksUserSettings, Vt as DevToolsServerCommandInput, Wt as AgentResource, Xt as DevToolsAgentHostEvents, Yt as DevToolsAgentHost$1, Zt as EventEmitter, _t as DevToolsDockUserEntry, at as DevToolsMessageHandle, ct as DevToolsMessagesHost$1, d as DevToolsNodeContext, ft as DevToolsDockEntry, g as RpcFunctionsHost$1, gt as DevToolsDockHost$1, h as RpcBroadcastOptions, jt as DevToolsDiagnosticsLogger, lt as DevToolsHost, m as DevToolsNodeRpcSession, qt as AgentTool, rt as DevToolsMessageEntryInput, tt as DevToolsMessageEntry, ut as ClientScriptEntry, v as RpcSharedStateHost, w as SharedState } from "../devtool-CHT-4_OU.mjs";
2
- import { g as RpcFunctionsCollectorBase } from "../index-Cei8vVcd.mjs";
3
- import { g as RpcFunctionDefinitionAny } from "../types-BkyzI9r4.mjs";
1
+ import { A as DevToolsViewHost$1, At as DevToolsDiagnosticsHost$1, Bt as DevToolsServerCommandEntry, F as DevToolsChildProcessTerminalSession, Ft as DevToolsCommandHandle, Gt as AgentResourceContent, H as DevToolsRpcClientFunctions, Ht as AgentHandle, I as DevToolsTerminalHost$1, Jt as AgentToolInput, Kt as AgentResourceInput, L as DevToolsTerminalSession, M as PartialWithoutId, P as DevToolsChildProcessExecuteOptions, R as DevToolsTerminalSessionBase, Rt as DevToolsCommandsHost$1, U as DevToolsRpcServerFunctions, Ut as AgentManifest, V as DevToolsDocksUserSettings, Vt as DevToolsServerCommandInput, Wt as AgentResource, Xt as DevToolsAgentHostEvents, Yt as DevToolsAgentHost$1, Zt as EventEmitter, _t as DevToolsDockUserEntry, at as DevToolsMessageHandle, ct as DevToolsMessagesHost$1, d as DevToolsNodeContext, ft as DevToolsDockEntry, g as RpcFunctionsHost$1, gt as DevToolsDockHost$1, h as RpcBroadcastOptions, jt as DevToolsDiagnosticsLogger, lt as DevToolsHost, m as DevToolsNodeRpcSession, qt as AgentTool, rt as DevToolsMessageEntryInput, tt as DevToolsMessageEntry, ut as ClientScriptEntry, v as RpcSharedStateHost, w as SharedState } from "../devtool-CIqONpYU.mjs";
2
+ import { g as RpcFunctionsCollectorBase } from "../index-BwrLhNmz.mjs";
3
+ import { g as RpcFunctionDefinitionAny } from "../types-gWbe-b2R.mjs";
4
+ import { n as StartedServer, r as startHttpAndWs, t as StartHttpAndWsOptions } from "../server-CaUeMcAh.mjs";
4
5
  import { createLogger, defineDiagnostics } from "logs-sdk";
5
6
  import { BirpcGroup } from "birpc";
6
- import { WebSocketServer } from "ws";
7
7
  import { AsyncLocalStorage } from "node:async_hooks";
8
- import { App } from "h3";
9
8
 
10
9
  //#region src/node/context-internal.d.ts
11
10
  interface InternalAnonymousAuthStorage {
@@ -298,54 +297,6 @@ declare class DevToolsViewHost implements DevToolsViewHost$1 {
298
297
  //#region src/node/rpc-shared-state.d.ts
299
298
  declare function createRpcSharedStateServerHost(rpc: RpcFunctionsHost$1): RpcSharedStateHost;
300
299
  //#endregion
301
- //#region src/node/server.d.ts
302
- interface StartHttpAndWsOptions {
303
- context: DevToolsNodeContext;
304
- host?: string;
305
- port: number;
306
- /**
307
- * Optional h3 app to mount on. When omitted a fresh one is created;
308
- * when provided, callers can add their own routes (sirv etc.) first.
309
- */
310
- app?: App;
311
- /**
312
- * When `false`, the RPC server is started without a trust handshake.
313
- * Intended for single-user localhost tools where an auth round-trip
314
- * would only get in the way. The Vite-flavoured auth layer in
315
- * `@vitejs/devtools` already honors the equivalent
316
- * `devtools.clientAuth` setting; devframe records the intent here so
317
- * future auth plumbing can consult it without another API change.
318
- *
319
- * Default: `true`.
320
- */
321
- auth?: boolean;
322
- /**
323
- * Called once the WS server is bound so callers can mount static
324
- * handlers whose origin depends on the resolved port, or print their
325
- * own startup banner. Devframe does not print one itself.
326
- */
327
- onReady?: (info: {
328
- origin: string;
329
- port: number;
330
- app: App;
331
- }) => void | Promise<void>;
332
- }
333
- interface StartedServer {
334
- /** Listening origin, e.g. `http://localhost:9999`. */
335
- origin: string;
336
- port: number;
337
- app: App;
338
- wss: WebSocketServer;
339
- rpcGroup: BirpcGroup<DevToolsRpcClientFunctions, DevToolsRpcServerFunctions, false>;
340
- close: () => Promise<void>;
341
- }
342
- /**
343
- * Compose an h3 + WebSocket server for a devtool context. The RPC
344
- * group is bound to `context.rpc.functions`; the WS endpoint lives on
345
- * the same port as the HTTP server.
346
- */
347
- declare function startHttpAndWs(options: StartHttpAndWsOptions): Promise<StartedServer>;
348
- //#endregion
349
300
  //#region src/node/static-dump.d.ts
350
301
  type StaticRpcDumpSerialization = 'json' | 'structured-clone';
351
302
  interface StaticRpcDumpManifestStaticEntry {
@@ -1,7 +1,8 @@
1
1
  import { t as import_dist } from "../human-id-CHS0s28X.mjs";
2
- import { _ as revokeAuthToken, a as RpcFunctionsHost, c as getInternalContext, d as DevToolsDiagnosticsHost, f as DevToolsCommandsHost, g as revokeActiveConnectionsForToken, h as ContextUtils, i as DevToolsMessagesHost, l as internalContextMap, n as DevToolsViewHost, o as createRpcSharedStateServerHost, p as DevToolsAgentHost, r as DevToolsTerminalHost, s as DevToolsDockHost, t as createHostContext, u as createStorage } from "../context-xQo1FcxX.mjs";
3
- import { n as createH3DevToolsHost, t as collectStaticRpcDump } from "../static-dump-DwFfj4U_.mjs";
4
- import { t as startHttpAndWs } from "../server-DkJ2-s0Y.mjs";
2
+ import { _ as revokeAuthToken, a as RpcFunctionsHost, c as getInternalContext, d as DevToolsDiagnosticsHost, f as DevToolsCommandsHost, g as revokeActiveConnectionsForToken, h as ContextUtils, i as DevToolsMessagesHost, l as internalContextMap, n as DevToolsViewHost, o as createRpcSharedStateServerHost, p as DevToolsAgentHost, r as DevToolsTerminalHost, s as DevToolsDockHost, t as createHostContext, u as createStorage } from "../context-BsNZMCnr.mjs";
3
+ import { t as createH3DevToolsHost } from "../host-h3-w3c0t8ZO.mjs";
4
+ import { t as startHttpAndWs } from "../server-DrBxa6ZV.mjs";
5
+ import { t as collectStaticRpcDump } from "../static-dump-cyGfMmRf.mjs";
5
6
  import { isIP } from "node:net";
6
7
  //#region src/node/auth-state.ts
7
8
  let pendingAuth = null;
@@ -1,4 +1,4 @@
1
- import { b as RpcFunctionSetupResult, m as RpcFunctionAgentOptions, s as RpcDump, w as Thenable } from "../types-BkyzI9r4.mjs";
1
+ import { b as RpcFunctionSetupResult, m as RpcFunctionAgentOptions, s as RpcDump, w as Thenable } from "../types-gWbe-b2R.mjs";
2
2
  import * as v from "valibot";
3
3
 
4
4
  //#region src/recipes/open-helpers.d.ts
@@ -1,4 +1,4 @@
1
- import { n as defineRpcFunction } from "../define-CW9gLnyG.mjs";
1
+ import { n as defineRpcFunction } from "../define-Bb4zh-Dc.mjs";
2
2
  import * as v from "valibot";
3
3
  //#region src/recipes/open-helpers.ts
4
4
  /**
@@ -50,7 +50,7 @@ const openInFinder = defineRpcFunction({
50
50
  args: [v.string()],
51
51
  returns: v.void(),
52
52
  async handler(path) {
53
- const { default: open } = await import("../open-BMO2_-wC.mjs");
53
+ const { default: open } = await import("../open-JfacLHs0.mjs");
54
54
  await open(path);
55
55
  }
56
56
  });
@@ -1,3 +1,3 @@
1
- import { _ as RpcCacheManager, a as structuredCloneDeserialize, c as structuredCloneStringify, d as createClientFromDump, f as dumpFunctions, g as RpcFunctionsCollectorBase, h as defineRpcFunction, i as strictJsonStringify, l as getRpcHandler, m as createDefineWrapperWithContext, n as validateDefinitions, o as structuredCloneParse, p as getDefinitionsWithDumps, r as STRUCTURED_CLONE_PREFIX, s as structuredCloneSerialize, t as validateDefinition, u as getRpcResolvedSetupResult, v as RpcCacheOptions } from "../index-Cei8vVcd.mjs";
2
- import { C as RpcReturnSchema, S as RpcFunctionsCollector, _ as RpcFunctionDefinitionAnyWithContext, a as RpcDefinitionsFilter, b as RpcFunctionSetupResult, c as RpcDumpClientOptions, d as RpcDumpGetter, f as RpcDumpRecord, g as RpcFunctionDefinitionAny, h as RpcFunctionDefinition, i as RpcArgsSchema, l as RpcDumpCollectionOptions, m as RpcFunctionAgentOptions, n as BirpcReturn, o as RpcDefinitionsToFunctions, p as RpcDumpStore, r as EntriesToObject, s as RpcDump, t as BirpcFn, u as RpcDumpDefinition, v as RpcFunctionDefinitionBase, w as Thenable, x as RpcFunctionType, y as RpcFunctionDefinitionToFunction } from "../types-BkyzI9r4.mjs";
1
+ import { _ as RpcCacheManager, a as structuredCloneDeserialize, c as structuredCloneStringify, d as createClientFromDump, f as dumpFunctions, g as RpcFunctionsCollectorBase, h as defineRpcFunction, i as strictJsonStringify, l as getRpcHandler, m as createDefineWrapperWithContext, n as validateDefinitions, o as structuredCloneParse, p as getDefinitionsWithDumps, r as STRUCTURED_CLONE_PREFIX, s as structuredCloneSerialize, t as validateDefinition, u as getRpcResolvedSetupResult, v as RpcCacheOptions } from "../index-BwrLhNmz.mjs";
2
+ import { C as RpcReturnSchema, S as RpcFunctionsCollector, _ as RpcFunctionDefinitionAnyWithContext, a as RpcDefinitionsFilter, b as RpcFunctionSetupResult, c as RpcDumpClientOptions, d as RpcDumpGetter, f as RpcDumpRecord, g as RpcFunctionDefinitionAny, h as RpcFunctionDefinition, i as RpcArgsSchema, l as RpcDumpCollectionOptions, m as RpcFunctionAgentOptions, n as BirpcReturn, o as RpcDefinitionsToFunctions, p as RpcDumpStore, r as EntriesToObject, s as RpcDump, t as BirpcFn, u as RpcDumpDefinition, v as RpcFunctionDefinitionBase, w as Thenable, x as RpcFunctionType, y as RpcFunctionDefinitionToFunction } from "../types-gWbe-b2R.mjs";
3
3
  export { BirpcFn, BirpcReturn, EntriesToObject, RpcArgsSchema, RpcCacheManager, RpcCacheOptions, RpcDefinitionsFilter, RpcDefinitionsToFunctions, RpcDump, RpcDumpClientOptions, RpcDumpCollectionOptions, RpcDumpDefinition, RpcDumpGetter, RpcDumpRecord, RpcDumpStore, RpcFunctionAgentOptions, RpcFunctionDefinition, RpcFunctionDefinitionAny, RpcFunctionDefinitionAnyWithContext, RpcFunctionDefinitionBase, RpcFunctionDefinitionToFunction, RpcFunctionSetupResult, RpcFunctionType, RpcFunctionsCollector, RpcFunctionsCollectorBase, RpcReturnSchema, STRUCTURED_CLONE_PREFIX, Thenable, createClientFromDump, createDefineWrapperWithContext, defineRpcFunction, dumpFunctions, getDefinitionsWithDumps, getRpcHandler, getRpcResolvedSetupResult, strictJsonStringify, structuredCloneDeserialize, structuredCloneParse, structuredCloneSerialize, structuredCloneStringify, validateDefinition, validateDefinitions };
@@ -1,4 +1,4 @@
1
- import { a as validateDefinitions, c as getRpcResolvedSetupResult, i as validateDefinition, l as RpcCacheManager, n as dumpFunctions, o as RpcFunctionsCollectorBase, r as getDefinitionsWithDumps, s as getRpcHandler, t as createClientFromDump } from "../rpc-hbRk8qtt.mjs";
2
- import { a as structuredCloneSerialize, i as structuredCloneParse, n as strictJsonStringify, o as structuredCloneStringify, r as structuredCloneDeserialize, t as STRUCTURED_CLONE_PREFIX } from "../serialization-CWcWE7x7.mjs";
3
- import { n as defineRpcFunction, t as createDefineWrapperWithContext } from "../define-CW9gLnyG.mjs";
1
+ import { a as validateDefinitions, c as getRpcResolvedSetupResult, i as validateDefinition, l as RpcCacheManager, n as dumpFunctions, o as RpcFunctionsCollectorBase, r as getDefinitionsWithDumps, s as getRpcHandler, t as createClientFromDump } from "../rpc-D7LxIh8t.mjs";
2
+ import { a as structuredCloneSerialize, i as structuredCloneParse, n as strictJsonStringify, o as structuredCloneStringify, r as structuredCloneDeserialize, t as STRUCTURED_CLONE_PREFIX } from "../serialization-BN2ZQEE9.mjs";
3
+ import { n as defineRpcFunction, t as createDefineWrapperWithContext } from "../define-Bb4zh-Dc.mjs";
4
4
  export { RpcCacheManager, RpcFunctionsCollectorBase, STRUCTURED_CLONE_PREFIX, createClientFromDump, createDefineWrapperWithContext, defineRpcFunction, dumpFunctions, getDefinitionsWithDumps, getRpcHandler, getRpcResolvedSetupResult, strictJsonStringify, structuredCloneDeserialize, structuredCloneParse, structuredCloneSerialize, structuredCloneStringify, validateDefinition, validateDefinitions };
@@ -1,2 +1,2 @@
1
- import { n as createWsRpcChannel, t as WsRpcChannelOptions } from "../../ws-client-CDGmViwt.mjs";
1
+ import { n as createWsRpcChannel, t as WsRpcChannelOptions } from "../../ws-client-DOYwYluO.mjs";
2
2
  export { WsRpcChannelOptions, createWsRpcChannel };
@@ -1,4 +1,4 @@
1
- import { i as structuredCloneParse, n as strictJsonStringify, o as structuredCloneStringify } from "../../serialization-CWcWE7x7.mjs";
1
+ import { i as structuredCloneParse, n as strictJsonStringify, o as structuredCloneStringify } from "../../serialization-BN2ZQEE9.mjs";
2
2
  //#region src/rpc/transports/ws-client.ts
3
3
  function NOOP() {}
4
4
  const EMPTY_DEFS = /* @__PURE__ */ new Map();
@@ -1,2 +1,2 @@
1
- import { n as WsRpcTransportOptions, r as attachWsRpcTransport, t as DevToolsNodeRpcSessionMeta } from "../../ws-server-Cu8tmZcF.mjs";
1
+ import { n as WsRpcTransportOptions, r as attachWsRpcTransport, t as DevToolsNodeRpcSessionMeta } from "../../ws-server-DHMeNOY_.mjs";
2
2
  export { DevToolsNodeRpcSessionMeta, WsRpcTransportOptions, attachWsRpcTransport };
@@ -1,4 +1,4 @@
1
- import { i as structuredCloneParse, n as strictJsonStringify, o as structuredCloneStringify } from "../../serialization-CWcWE7x7.mjs";
1
+ import { i as structuredCloneParse, n as strictJsonStringify, o as structuredCloneStringify } from "../../serialization-BN2ZQEE9.mjs";
2
2
  import { createServer } from "node:https";
3
3
  import { WebSocketServer } from "ws";
4
4
  //#region src/rpc/transports/ws-server.ts
@@ -1,4 +1,4 @@
1
- import { c as logger } from "./serialization-CWcWE7x7.mjs";
1
+ import { c as logger } from "./serialization-BN2ZQEE9.mjs";
2
2
  import { hash } from "ohash";
3
3
  //#region src/rpc/cache.ts
4
4
  /**