@devframes/hub 0.9.18 → 0.9.20

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.
@@ -1,5 +1,5 @@
1
1
  import { a as resolveClientModuleSpecifier } from "./remote-url-UClKLQ5_.mjs";
2
- import { v as prepareDevframe, y as diagnostics } from "./context-C7AFekjP.mjs";
2
+ import { v as prepareDevframe, y as diagnostics } from "./context-BqvN40CU.mjs";
3
3
  import { joinURL, withTrailingSlash } from "ufo";
4
4
  import { DEVFRAME_CONNECTION_META_FILENAME, DEVFRAME_DOCK_IMPORTS_FILENAME, DEVFRAME_MCP_ROUTE, DEVFRAME_WS_ROUTE } from "devframe/constants";
5
5
  import { existsSync } from "node:fs";
@@ -36,6 +36,15 @@ function resolveResourceUrl(value, connection) {
36
36
  }
37
37
  function resolveIconUrl(value, connection) {
38
38
  const url = value.trim();
39
+ if (url.startsWith("mask:")) {
40
+ const maskUrl = url.slice(5).trim();
41
+ if (!maskUrl) return "mask:";
42
+ try {
43
+ return `mask:${new URL(maskUrl, connection.metaBaseUrl).href}`;
44
+ } catch {
45
+ return url;
46
+ }
47
+ }
39
48
  if (!url || URL_SCHEME_RE.test(url) || url.startsWith("//")) return url;
40
49
  if (!url.includes("/") && !url.includes(".")) return url;
41
50
  try {
@@ -5,7 +5,7 @@ import { joinURL, withTrailingSlash } from "ufo";
5
5
  import { createEventEmitter } from "devframe/utils/events";
6
6
  import { existsSync } from "node:fs";
7
7
  import process from "node:process";
8
- import { coerceAgentPositionalArgs, resolveClientAssets } from "devframe/internal";
8
+ import { resolveClientAssets, toolInputToCommandArgs } from "devframe/internal";
9
9
  import { basename, dirname, isAbsolute, join, resolve } from "pathe";
10
10
  import { defineDiagnostics } from "devframe/utils/nostics";
11
11
  import { getInternalContext, resolveBasePath } from "devframe/node/hub-internals";
@@ -371,7 +371,7 @@ var DevframeCommandsHost = class {
371
371
  * A command handler's positional parameters come solely from its
372
372
  * declared `agent.args` schemas; undeclared payload is dropped.
373
373
  */
374
- handler: async (args) => this.execute(command.id, ...coerceAgentPositionalArgs(args, agent.args, "drop"))
374
+ handler: async (args) => this.execute(command.id, ...toolInputToCommandArgs(args, agent.args?.length))
375
375
  });
376
376
  for (const child of command.children ?? []) walk(child);
377
377
  };
@@ -1,6 +1,6 @@
1
1
  import { a as normalizeHubBase, i as DOCK_RENDERERS_STATE_KEY } from "../constants-Da23JxCZ.mjs";
2
- import { t as createHubContext, y as diagnostics } from "../context-C7AFekjP.mjs";
3
- import { i as resolveRendererRegistrations, n as renderClientImportsModule, r as resolveDevframesInput, t as mountDevframes } from "../assemble-B-ISfDe5.mjs";
2
+ import { t as createHubContext, y as diagnostics } from "../context-BqvN40CU.mjs";
3
+ import { i as resolveRendererRegistrations, n as renderClientImportsModule, r as resolveDevframesInput, t as mountDevframes } from "../assemble-C_sd1y1C.mjs";
4
4
  import { joinURL } from "ufo";
5
5
  import { DEVFRAME_CONNECTION_META_FILENAME, DEVFRAME_DOCK_IMPORTS_FILENAME } from "devframe/constants";
6
6
  import { existsSync } from "node:fs";
@@ -144,21 +144,7 @@ export declare class DevframeTerminalsHost implements DevframeTerminalsHost$1 {
144
144
  * Pairs with the `devframe:commands` shared state: clients read the list
145
145
  * from the shared state and dispatch by id via this RPC.
146
146
  */
147
- export declare const hubCommandsExecute: {
148
- name: "hub:commands:execute";
149
- type?: "action" | undefined;
150
- cacheable?: boolean;
151
- args?: undefined;
152
- returns?: undefined;
153
- jsonSerializable?: boolean;
154
- agent?: import("devframe").RpcFunctionAgentOptions;
155
- setup?: ((context: DevframeHubContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, ...args: any[]], Promise<unknown>>>) | undefined;
156
- handler?: ((id: string, ...args: any[]) => Promise<unknown>) | undefined;
157
- dump?: import("devframe/rpc").RpcDump<[id: string, ...args: any[]], Promise<unknown>, DevframeHubContext> | undefined;
158
- snapshot?: boolean;
159
- __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, ...args: any[]], Promise<unknown>>>> | undefined;
160
- __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, ...args: any[]], Promise<unknown>>> | undefined;
161
- };
147
+ export declare const hubCommandsExecute: import("devframe/rpc").RpcFunctionDefinitionWithoutSchemas<"hub:commands:execute", "action", [id: string, ...args: any[]], Promise<unknown>, undefined, undefined, DevframeHubContext>;
162
148
  /**
163
149
  * `hub:messages:add`: Add a message from a browser client into the hub's
164
150
  * messages subsystem. Marked `from: 'browser'`. Returns the serializable
@@ -168,166 +154,40 @@ export declare const hubCommandsExecute: {
168
154
  * context, whose `messages` client dispatches through these built-ins so a
169
155
  * dock client script can report into the same feed the server writes to.
170
156
  */
171
- export declare const hubMessagesAdd: {
172
- name: "hub:messages:add";
173
- type?: "action" | undefined;
174
- cacheable?: boolean;
175
- args?: undefined;
176
- returns?: undefined;
177
- jsonSerializable?: boolean;
178
- agent?: import("devframe").RpcFunctionAgentOptions;
179
- setup?: ((context: DevframeHubContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[input: DevframeMessageEntryInput], Promise<DevframeMessageEntry>>>) | undefined;
180
- handler?: ((input: DevframeMessageEntryInput) => Promise<DevframeMessageEntry>) | undefined;
181
- dump?: import("devframe/rpc").RpcDump<[input: DevframeMessageEntryInput], Promise<DevframeMessageEntry>, DevframeHubContext> | undefined;
182
- snapshot?: boolean;
183
- __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[input: DevframeMessageEntryInput], Promise<DevframeMessageEntry>>>> | undefined;
184
- __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[input: DevframeMessageEntryInput], Promise<DevframeMessageEntry>>> | undefined;
185
- };
157
+ export declare const hubMessagesAdd: import("devframe/rpc").RpcFunctionDefinitionWithoutSchemas<"hub:messages:add", "action", [input: DevframeMessageEntryInput], Promise<DevframeMessageEntry>, undefined, undefined, DevframeHubContext>;
186
158
  /** `hub:messages:update`: Patch a message by id; returns the updated entry (or `undefined`). */
187
- export declare const hubMessagesUpdate: {
188
- name: "hub:messages:update";
189
- type?: "action" | undefined;
190
- cacheable?: boolean;
191
- args?: undefined;
192
- returns?: undefined;
193
- jsonSerializable?: boolean;
194
- agent?: import("devframe").RpcFunctionAgentOptions;
195
- setup?: ((context: DevframeHubContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, patch: Partial<DevframeMessageEntryInput>], Promise<DevframeMessageEntry | undefined>>>) | undefined;
196
- handler?: ((id: string, patch: Partial<DevframeMessageEntryInput>) => Promise<DevframeMessageEntry | undefined>) | undefined;
197
- dump?: import("devframe/rpc").RpcDump<[id: string, patch: Partial<DevframeMessageEntryInput>], Promise<DevframeMessageEntry | undefined>, DevframeHubContext> | undefined;
198
- snapshot?: boolean;
199
- __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, patch: Partial<DevframeMessageEntryInput>], Promise<DevframeMessageEntry | undefined>>>> | undefined;
200
- __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, patch: Partial<DevframeMessageEntryInput>], Promise<DevframeMessageEntry | undefined>>> | undefined;
201
- };
159
+ export declare const hubMessagesUpdate: import("devframe/rpc").RpcFunctionDefinitionWithoutSchemas<"hub:messages:update", "action", [id: string, patch: Partial<DevframeMessageEntryInput>], Promise<DevframeMessageEntry | undefined>, undefined, undefined, DevframeHubContext>;
202
160
  /** `hub:messages:remove`: Remove a message by id. */
203
- export declare const hubMessagesRemove: {
204
- name: "hub:messages:remove";
205
- type?: "action" | undefined;
206
- cacheable?: boolean;
207
- args?: undefined;
208
- returns?: undefined;
209
- jsonSerializable?: boolean;
210
- agent?: import("devframe").RpcFunctionAgentOptions;
211
- setup?: ((context: DevframeHubContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>>) | undefined;
212
- handler?: ((id: string) => Promise<void>) | undefined;
213
- dump?: import("devframe/rpc").RpcDump<[id: string], Promise<void>, DevframeHubContext> | undefined;
214
- snapshot?: boolean;
215
- __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>>> | undefined;
216
- __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>> | undefined;
217
- };
161
+ export declare const hubMessagesRemove: import("devframe/rpc").RpcFunctionDefinitionWithoutSchemas<"hub:messages:remove", "action", [id: string], Promise<void>, undefined, undefined, DevframeHubContext>;
218
162
  /** `hub:messages:clear`: Remove every message. */
219
- export declare const hubMessagesClear: {
220
- name: "hub:messages:clear";
221
- type?: "action" | undefined;
222
- cacheable?: boolean;
223
- args?: undefined;
224
- returns?: undefined;
225
- jsonSerializable?: boolean;
226
- agent?: import("devframe").RpcFunctionAgentOptions;
227
- setup?: ((context: DevframeHubContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], Promise<void>>>) | undefined;
228
- handler?: (() => Promise<void>) | undefined;
229
- dump?: import("devframe/rpc").RpcDump<[], Promise<void>, DevframeHubContext> | undefined;
230
- snapshot?: boolean;
231
- __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], Promise<void>>>> | undefined;
232
- __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], Promise<void>>> | undefined;
233
- };
163
+ export declare const hubMessagesClear: import("devframe/rpc").RpcFunctionDefinitionWithoutSchemas<"hub:messages:clear", "action", [], Promise<void>, undefined, undefined, DevframeHubContext>;
234
164
  /**
235
165
  * `hub:terminals:write`: Send input to an interactive PTY session spawned
236
166
  * via `ctx.terminals.startPtySession`. Lets a hub-aware terminal UI (e.g. the
237
167
  * terminals plugin) drive a session owned by another plugin.
238
168
  */
239
- export declare const hubTerminalsWrite: {
240
- name: "hub:terminals:write";
241
- type?: "action" | undefined;
242
- cacheable?: boolean;
243
- args?: undefined;
244
- returns?: undefined;
245
- jsonSerializable?: boolean;
246
- agent?: import("devframe").RpcFunctionAgentOptions;
247
- setup?: ((context: DevframeHubContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, data: string], Promise<void>>>) | undefined;
248
- handler?: ((id: string, data: string) => Promise<void>) | undefined;
249
- dump?: import("devframe/rpc").RpcDump<[id: string, data: string], Promise<void>, DevframeHubContext> | undefined;
250
- snapshot?: boolean;
251
- __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, data: string], Promise<void>>>> | undefined;
252
- __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, data: string], Promise<void>>> | undefined;
253
- };
169
+ export declare const hubTerminalsWrite: import("devframe/rpc").RpcFunctionDefinitionWithoutSchemas<"hub:terminals:write", "action", [id: string, data: string], Promise<void>, undefined, undefined, DevframeHubContext>;
254
170
  /** `hub:terminals:resize`: Resize an interactive PTY session by id. */
255
- export declare const hubTerminalsResize: {
256
- name: "hub:terminals:resize";
257
- type?: "action" | undefined;
258
- cacheable?: boolean;
259
- args?: undefined;
260
- returns?: undefined;
261
- jsonSerializable?: boolean;
262
- agent?: import("devframe").RpcFunctionAgentOptions;
263
- setup?: ((context: DevframeHubContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, cols: number, rows: number], Promise<void>>>) | undefined;
264
- handler?: ((id: string, cols: number, rows: number) => Promise<void>) | undefined;
265
- dump?: import("devframe/rpc").RpcDump<[id: string, cols: number, rows: number], Promise<void>, DevframeHubContext> | undefined;
266
- snapshot?: boolean;
267
- __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, cols: number, rows: number], Promise<void>>>> | undefined;
268
- __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string, cols: number, rows: number], Promise<void>>> | undefined;
269
- };
171
+ export declare const hubTerminalsResize: import("devframe/rpc").RpcFunctionDefinitionWithoutSchemas<"hub:terminals:resize", "action", [id: string, cols: number, rows: number], Promise<void>, undefined, undefined, DevframeHubContext>;
270
172
  /**
271
173
  * `hub:terminals:terminate`: Kill a session's process while keeping the
272
174
  * session registered (its output/scrollback stays). Works for both read-only
273
175
  * child-process and interactive PTY sessions, letting a hub-aware terminal UI
274
176
  * force-kill a session owned by another plugin.
275
177
  */
276
- export declare const hubTerminalsTerminate: {
277
- name: "hub:terminals:terminate";
278
- type?: "action" | undefined;
279
- cacheable?: boolean;
280
- args?: undefined;
281
- returns?: undefined;
282
- jsonSerializable?: boolean;
283
- agent?: import("devframe").RpcFunctionAgentOptions;
284
- setup?: ((context: DevframeHubContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>>) | undefined;
285
- handler?: ((id: string) => Promise<void>) | undefined;
286
- dump?: import("devframe/rpc").RpcDump<[id: string], Promise<void>, DevframeHubContext> | undefined;
287
- snapshot?: boolean;
288
- __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>>> | undefined;
289
- __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>> | undefined;
290
- };
178
+ export declare const hubTerminalsTerminate: import("devframe/rpc").RpcFunctionDefinitionWithoutSchemas<"hub:terminals:terminate", "action", [id: string], Promise<void>, undefined, undefined, DevframeHubContext>;
291
179
  /**
292
180
  * `hub:terminals:restart`: Re-run a session's command in place. Rejected for
293
181
  * sessions registered with `restartable: false`, whose lifecycle is owned
294
182
  * elsewhere.
295
183
  */
296
- export declare const hubTerminalsRestart: {
297
- name: "hub:terminals:restart";
298
- type?: "action" | undefined;
299
- cacheable?: boolean;
300
- args?: undefined;
301
- returns?: undefined;
302
- jsonSerializable?: boolean;
303
- agent?: import("devframe").RpcFunctionAgentOptions;
304
- setup?: ((context: DevframeHubContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>>) | undefined;
305
- handler?: ((id: string) => Promise<void>) | undefined;
306
- dump?: import("devframe/rpc").RpcDump<[id: string], Promise<void>, DevframeHubContext> | undefined;
307
- snapshot?: boolean;
308
- __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>>> | undefined;
309
- __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>> | undefined;
310
- };
184
+ export declare const hubTerminalsRestart: import("devframe/rpc").RpcFunctionDefinitionWithoutSchemas<"hub:terminals:restart", "action", [id: string], Promise<void>, undefined, undefined, DevframeHubContext>;
311
185
  /**
312
186
  * `hub:terminals:remove`: Kill a session's process (when it still owns one)
313
187
  * and drop it from the registry, disposing its output stream. Lets a hub-aware
314
188
  * terminal UI discard a stopped aggregated session.
315
189
  */
316
- export declare const hubTerminalsRemove: {
317
- name: "hub:terminals:remove";
318
- type?: "action" | undefined;
319
- cacheable?: boolean;
320
- args?: undefined;
321
- returns?: undefined;
322
- jsonSerializable?: boolean;
323
- agent?: import("devframe").RpcFunctionAgentOptions;
324
- setup?: ((context: DevframeHubContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>>) | undefined;
325
- handler?: ((id: string) => Promise<void>) | undefined;
326
- dump?: import("devframe/rpc").RpcDump<[id: string], Promise<void>, DevframeHubContext> | undefined;
327
- snapshot?: boolean;
328
- __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>>> | undefined;
329
- __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[id: string], Promise<void>>> | undefined;
330
- };
190
+ export declare const hubTerminalsRemove: import("devframe/rpc").RpcFunctionDefinitionWithoutSchemas<"hub:terminals:remove", "action", [id: string], Promise<void>, undefined, undefined, DevframeHubContext>;
331
191
  /**
332
192
  * `hub:docks:activate`: Ask the active viewer to switch its focused dock to
333
193
  * `dockId`, optionally carrying `params` for the target dock to interpret
@@ -340,36 +200,10 @@ export declare const hubTerminalsRemove: {
340
200
  * and mirrors it into the `devframe:docks:active` shared state (a dock that
341
201
  * mounts in response still converges on it).
342
202
  */
343
- export declare const hubDocksActivate: {
344
- name: "hub:docks:activate";
345
- type?: "action" | undefined;
346
- cacheable?: boolean;
347
- args?: undefined;
348
- returns?: undefined;
349
- jsonSerializable?: boolean;
350
- agent?: import("devframe").RpcFunctionAgentOptions;
351
- setup?: ((context: DevframeHubContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[input: {
352
- dockId: string;
353
- params?: Record<string, unknown>;
354
- }], Promise<void>>>) | undefined;
355
- handler?: ((input: {
356
- dockId: string;
357
- params?: Record<string, unknown>;
358
- }) => Promise<void>) | undefined;
359
- dump?: import("devframe/rpc").RpcDump<[input: {
360
- dockId: string;
361
- params?: Record<string, unknown>;
362
- }], Promise<void>, DevframeHubContext> | undefined;
363
- snapshot?: boolean;
364
- __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[input: {
365
- dockId: string;
366
- params?: Record<string, unknown>;
367
- }], Promise<void>>>> | undefined;
368
- __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[input: {
369
- dockId: string;
370
- params?: Record<string, unknown>;
371
- }], Promise<void>>> | undefined;
372
- };
203
+ export declare const hubDocksActivate: import("devframe/rpc").RpcFunctionDefinitionWithoutSchemas<"hub:docks:activate", "action", [input: {
204
+ dockId: string;
205
+ params?: Record<string, unknown>;
206
+ }], Promise<void>, undefined, undefined, DevframeHubContext>;
373
207
  /**
374
208
  * Framework-neutral RPC declarations auto-registered by
375
209
  * {@link createHubContext}. Provide additional RPCs by passing your own
@@ -1,4 +1,4 @@
1
- import { _ as DevframeCommandsHost, a as hubMessagesAdd, c as hubMessagesUpdate, d as hubTerminalsRestart, f as hubTerminalsTerminate, g as DevframeDocksHost, h as DevframeMessagesHost, i as hubDocksActivate, l as hubTerminalsRemove, m as DevframeTerminalsHost, n as builtinHubRpcDeclarations, o as hubMessagesClear, p as hubTerminalsWrite, r as hubCommandsExecute, s as hubMessagesRemove, t as createHubContext, u as hubTerminalsResize } from "../context-C7AFekjP.mjs";
1
+ import { _ as DevframeCommandsHost, a as hubMessagesAdd, c as hubMessagesUpdate, d as hubTerminalsRestart, f as hubTerminalsTerminate, g as DevframeDocksHost, h as DevframeMessagesHost, i as hubDocksActivate, l as hubTerminalsRemove, m as DevframeTerminalsHost, n as builtinHubRpcDeclarations, o as hubMessagesClear, p as hubTerminalsWrite, r as hubCommandsExecute, s as hubMessagesRemove, t as createHubContext, u as hubTerminalsResize } from "../context-BqvN40CU.mjs";
2
2
  import "ufo";
3
3
  import "node:fs";
4
4
  import "node:process";
@@ -1,6 +1,6 @@
1
1
  import { a as normalizeHubBase, i as DOCK_RENDERERS_STATE_KEY, r as DEVFRAMES_HUB_BASE } from "../constants-Da23JxCZ.mjs";
2
- import { t as createHubContext, y as diagnostics } from "../context-C7AFekjP.mjs";
3
- import { i as resolveRendererRegistrations, n as renderClientImportsModule, r as resolveDevframesInput, t as mountDevframes } from "../assemble-B-ISfDe5.mjs";
2
+ import { t as createHubContext, y as diagnostics } from "../context-BqvN40CU.mjs";
3
+ import { i as resolveRendererRegistrations, n as renderClientImportsModule, r as resolveDevframesInput, t as mountDevframes } from "../assemble-C_sd1y1C.mjs";
4
4
  import { joinURL, withoutLeadingSlash } from "ufo";
5
5
  import { DEVFRAME_CONNECTION_META_FILENAME, DEVFRAME_DOCK_IMPORTS_FILENAME, DEVFRAME_MCP_ROUTE } from "devframe/constants";
6
6
  import { readFile } from "node:fs/promises";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@devframes/hub",
3
3
  "type": "module",
4
- "version": "0.9.18",
4
+ "version": "0.9.20",
5
5
  "description": "Hub layer that orchestrates devframe docks, terminals, messages, and commands on any host.",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -35,7 +35,7 @@
35
35
  "dist"
36
36
  ],
37
37
  "peerDependencies": {
38
- "devframe": "0.9.18"
38
+ "devframe": "0.9.20"
39
39
  },
40
40
  "dependencies": {
41
41
  "@standard-schema/spec": "^1.1.0",
@@ -48,12 +48,12 @@
48
48
  "zigpty": "^0.2.1"
49
49
  },
50
50
  "devDependencies": {
51
- "@types/node": "^26.5.0",
52
- "devframe": "0.9.18",
51
+ "@types/node": "^26.5.1",
52
+ "devframe": "0.9.20",
53
53
  "get-port-please": "^3.2.0",
54
54
  "mlly": "^1.8.2",
55
55
  "tsdown": "^0.23.0",
56
- "valibot": "^1.4.2"
56
+ "valibot": "^1.5.0"
57
57
  },
58
58
  "scripts": {
59
59
  "build": "tsdown",