devframe 0.1.22 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -77
- package/dist/{_shared-DcJX9-Az.mjs → _shared-C_yZKUmx.mjs} +3 -3
- package/dist/adapters/build.d.mts +1 -1
- package/dist/adapters/build.mjs +5 -6
- package/dist/adapters/cli.d.mts +3 -3
- package/dist/adapters/cli.mjs +2 -2
- package/dist/adapters/dev.d.mts +7 -7
- package/dist/adapters/dev.mjs +1 -1
- package/dist/adapters/embedded.d.mts +1 -1
- package/dist/adapters/mcp.d.mts +2 -2
- package/dist/adapters/mcp.mjs +73 -18
- package/dist/client/index.d.mts +5 -7
- package/dist/client/index.mjs +10 -23
- package/dist/colors-DS7k8ljB.mjs +123 -0
- package/dist/{context-DBd794Rn.d.mts → context-BaX-SZti.d.mts} +1 -1
- package/dist/{dev-BGpTpYiR.mjs → dev-CA0-8Amw.mjs} +14 -18
- package/dist/{devframe-DulcIxwu.d.mts → devframe-BXZUBuy6.d.mts} +12 -28
- package/dist/{diagnostics-BFhNNmST.mjs → diagnostics-Cg9ycFIM.mjs} +2 -2
- package/dist/hash-CIBte1yS.mjs +263 -0
- package/dist/{adapters → helpers}/vite.d.mts +7 -8
- package/dist/{adapters → helpers}/vite.mjs +8 -9
- package/dist/{context-DUibxhrR.mjs → host-h3-CpYkiCIU.mjs} +36 -14
- package/dist/{index-DB2Ie0Or.d.mts → index-BO4daMzR.d.mts} +51 -3
- package/dist/index.d.mts +4 -4
- package/dist/{launch-editor-KA_21J1T.mjs → launch-editor-1dAC7Uk5.mjs} +9 -9
- package/dist/node/auth.d.mts +2 -2
- package/dist/node/auth.mjs +2 -2
- package/dist/node/index.d.mts +12 -44
- package/dist/node/index.mjs +4 -6
- package/dist/node/internal.d.mts +5 -5
- package/dist/node/internal.mjs +4 -4
- package/dist/{open-DmFp0qZA.mjs → open-CWL4Zasd.mjs} +26 -21
- package/dist/recipes/open-helpers.d.mts +1 -1
- package/dist/recipes/open-helpers.mjs +2 -2
- package/dist/rpc/index.d.mts +3 -3
- package/dist/rpc/index.mjs +2 -2
- package/dist/rpc/transports/ws-client.d.mts +1 -1
- package/dist/rpc/transports/ws-client.mjs +2 -2
- package/dist/rpc/transports/ws-server.d.mts +1 -1
- package/dist/rpc/transports/ws-server.mjs +2 -2
- package/dist/{rpc-CkZuoz-m.mjs → rpc-BlVCyk9W.mjs} +138 -14
- package/dist/{server-zKEDxgqD.d.mts → server-CgqyJG9m.d.mts} +5 -5
- package/dist/{server-ma8-ZVyX.mjs → server-G1ymmN3_.mjs} +3 -3
- package/dist/{shared-state-DCDs0e7y.mjs → shared-state-q9-1EOSX.mjs} +1 -1
- package/dist/{storage-CNC38eU-.mjs → storage-BaLJK6e_.mjs} +3 -3
- package/dist/{structured-clone-DcDc2Dds.mjs → structured-clone-CD2l4fI3.mjs} +1 -1
- package/dist/{transports-BnCs4rj9.mjs → transports-BLwT342H.mjs} +1 -1
- package/dist/types/index.d.mts +4 -4
- package/dist/types/index.mjs +1 -10
- package/dist/{types-4rdUEi2R.d.mts → types-ip8THGH1.d.mts} +21 -5
- package/dist/utils/colors.mjs +1 -1
- package/dist/utils/events.d.mts +1 -1
- package/dist/utils/hash.mjs +1 -1
- package/dist/utils/human-id.mjs +1 -1
- package/dist/utils/launch-editor.mjs +1 -1
- package/dist/utils/open.mjs +1 -1
- package/dist/utils/serve-static.d.mts +13 -3
- package/dist/utils/serve-static.mjs +41 -20
- package/dist/utils/shared-state.d.mts +1 -1
- package/dist/utils/shared-state.mjs +1 -1
- package/dist/utils/streaming-channel.d.mts +1 -1
- package/dist/utils/structured-clone.mjs +1 -1
- package/dist/utils/when.d.mts +1 -1
- package/dist/utils/when.mjs +1 -1
- package/dist/{ws-client-Bavoya6-.d.mts → ws-client-DFUf-xgm.d.mts} +1 -1
- package/dist/{ws-server-DjvlwLuM.d.mts → ws-server-kW8RZXTw.d.mts} +1 -1
- package/package.json +18 -11
- package/skills/devframe/SKILL.md +24 -21
- package/skills/devframe/templates/spa-devframe.ts +2 -2
- package/dist/colors-Bl4W18Mh.mjs +0 -123
- package/dist/hash-BHZbo80D.mjs +0 -126
- package/dist/host-h3-Dz8YnFgu.mjs +0 -24
- package/dist/static-dump-D7AvjrgL.mjs +0 -80
- /package/dist/{human-id-adtUWQLr.mjs → human-id-mPh1HcFO.mjs} +0 -0
- /package/dist/{revoke-DIMz1r7-.mjs → revoke-CWSPBbJH.mjs} +0 -0
package/dist/index.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
import {
|
|
3
|
-
import { t as DevToolsNodeRpcSessionMeta } from "./ws-server-
|
|
1
|
+
import { $ as AgentResourceContent, B as EntriesToObject, G as DevToolsRpcSharedStates, H as Thenable, J as DevToolsDiagnosticsHost, K as DevToolsHost, Q as AgentResource, U as DevToolsRpcClientFunctions, V as PartialWithoutId, W as DevToolsRpcServerFunctions, X as AgentHandle, Y as DevToolsDiagnosticsLogger, Z as AgentManifest, _ as RpcStreamingChannel, a as DevframeRuntime, at as EventEmitter, c as defineDevframe, d as DevToolsNodeContext, et as AgentResourceInput, f as DevToolsNodeRpcSession, g as RpcSharedStateHost, h as RpcSharedStateGetOptions, i as DevframeDeploymentKind, it as DevToolsAgentHostEvents, l as ConnectionMeta, m as RpcFunctionsHost, n as DevframeCliOptions, nt as AgentToolInput, o as DevframeSetupInfo, ot as EventUnsubscribe, p as RpcBroadcastOptions, q as DevToolsDiagnosticsDefinition, r as DevframeDefinition, rt as DevToolsAgentHost, s as DevframeSpaOptions, st as EventsMap, t as DevframeBrowserContext, tt as AgentTool, u as DevToolsCapabilities, v as RpcStreamingChannelOptions, y as RpcStreamingHost, z as DevToolsViewHost } from "./devframe-BXZUBuy6.mjs";
|
|
2
|
+
import { S as RpcFunctionType, g as RpcFunctionDefinition, h as RpcFunctionAgentOptions, i as RpcArgsSchema, w as RpcReturnSchema } from "./types-ip8THGH1.mjs";
|
|
3
|
+
import { t as DevToolsNodeRpcSessionMeta } from "./ws-server-kW8RZXTw.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
|
//#endregion
|
|
8
|
-
export { AgentHandle, AgentManifest, AgentResource, AgentResourceContent, AgentResourceInput, AgentTool, AgentToolInput, ConnectionMeta, DevToolsAgentHost, DevToolsAgentHostEvents, DevToolsCapabilities, DevToolsDiagnosticsDefinition, DevToolsDiagnosticsHost, DevToolsDiagnosticsLogger, DevToolsHost, DevToolsNodeContext, DevToolsNodeRpcSession, DevToolsNodeRpcSessionMeta, DevToolsRpcClientFunctions, DevToolsRpcServerFunctions, DevToolsRpcSharedStates, DevToolsViewHost, DevframeBrowserContext, DevframeCliOptions, DevframeDefinition, DevframeDeploymentKind, DevframeRuntime, DevframeSetupInfo, DevframeSpaOptions,
|
|
8
|
+
export { AgentHandle, AgentManifest, AgentResource, AgentResourceContent, AgentResourceInput, AgentTool, AgentToolInput, ConnectionMeta, DevToolsAgentHost, DevToolsAgentHostEvents, DevToolsCapabilities, DevToolsDiagnosticsDefinition, DevToolsDiagnosticsHost, DevToolsDiagnosticsLogger, DevToolsHost, DevToolsNodeContext, DevToolsNodeRpcSession, DevToolsNodeRpcSessionMeta, DevToolsRpcClientFunctions, DevToolsRpcServerFunctions, DevToolsRpcSharedStates, DevToolsViewHost, DevframeBrowserContext, DevframeCliOptions, DevframeDefinition, DevframeDeploymentKind, DevframeRuntime, DevframeSetupInfo, DevframeSpaOptions, EntriesToObject, EventEmitter, EventUnsubscribe, EventsMap, PartialWithoutId, RpcBroadcastOptions, RpcFunctionAgentOptions, RpcFunctionsHost, RpcSharedStateGetOptions, RpcSharedStateHost, RpcStreamingChannel, RpcStreamingChannelOptions, RpcStreamingHost, Thenable, defineDevframe, defineRpcFunction };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __require, r as __toESM, t as __commonJSMin } from "./chunk-e9Ob2GDo.mjs";
|
|
2
|
-
//#region
|
|
2
|
+
//#region ../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js
|
|
3
3
|
var require_picocolors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
4
4
|
let p = process || {}, argv = p.argv || [], env = p.env || {};
|
|
5
5
|
let isColorSupported = !(!!env.NO_COLOR || argv.includes("--no-color")) && (!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env.TERM !== "dumb" || !!env.CI);
|
|
@@ -67,7 +67,7 @@ var require_picocolors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
67
67
|
module.exports.createColors = createColors;
|
|
68
68
|
}));
|
|
69
69
|
//#endregion
|
|
70
|
-
//#region
|
|
70
|
+
//#region ../../node_modules/.pnpm/shell-quote@1.8.3/node_modules/shell-quote/quote.js
|
|
71
71
|
var require_quote = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
72
72
|
module.exports = function quote(xs) {
|
|
73
73
|
return xs.map(function(s) {
|
|
@@ -80,7 +80,7 @@ var require_quote = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
80
80
|
};
|
|
81
81
|
}));
|
|
82
82
|
//#endregion
|
|
83
|
-
//#region
|
|
83
|
+
//#region ../../node_modules/.pnpm/shell-quote@1.8.3/node_modules/shell-quote/parse.js
|
|
84
84
|
var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
85
85
|
var CONTROL = "(?:" + [
|
|
86
86
|
"\\|\\|",
|
|
@@ -219,13 +219,13 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
219
219
|
};
|
|
220
220
|
}));
|
|
221
221
|
//#endregion
|
|
222
|
-
//#region
|
|
222
|
+
//#region ../../node_modules/.pnpm/shell-quote@1.8.3/node_modules/shell-quote/index.js
|
|
223
223
|
var require_shell_quote = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
224
224
|
exports.quote = require_quote();
|
|
225
225
|
exports.parse = require_parse();
|
|
226
226
|
}));
|
|
227
227
|
//#endregion
|
|
228
|
-
//#region
|
|
228
|
+
//#region ../../node_modules/.pnpm/launch-editor@2.13.2/node_modules/launch-editor/editor-info/macos.js
|
|
229
229
|
var require_macos = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
230
230
|
module.exports = {
|
|
231
231
|
"/Applications/Atom.app/Contents/MacOS/Atom": "atom",
|
|
@@ -260,7 +260,7 @@ var require_macos = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
260
260
|
};
|
|
261
261
|
}));
|
|
262
262
|
//#endregion
|
|
263
|
-
//#region
|
|
263
|
+
//#region ../../node_modules/.pnpm/launch-editor@2.13.2/node_modules/launch-editor/editor-info/linux.js
|
|
264
264
|
var require_linux = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
265
265
|
module.exports = {
|
|
266
266
|
atom: "atom",
|
|
@@ -294,7 +294,7 @@ var require_linux = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
294
294
|
};
|
|
295
295
|
}));
|
|
296
296
|
//#endregion
|
|
297
|
-
//#region
|
|
297
|
+
//#region ../../node_modules/.pnpm/launch-editor@2.13.2/node_modules/launch-editor/editor-info/windows.js
|
|
298
298
|
var require_windows = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
299
299
|
module.exports = [
|
|
300
300
|
"Brackets.exe",
|
|
@@ -327,7 +327,7 @@ var require_windows = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
327
327
|
];
|
|
328
328
|
}));
|
|
329
329
|
//#endregion
|
|
330
|
-
//#region
|
|
330
|
+
//#region ../../node_modules/.pnpm/launch-editor@2.13.2/node_modules/launch-editor/guess.js
|
|
331
331
|
var require_guess = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
332
332
|
const path$2 = __require("path");
|
|
333
333
|
const shellQuote = require_shell_quote();
|
|
@@ -388,7 +388,7 @@ var require_guess = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
388
388
|
};
|
|
389
389
|
}));
|
|
390
390
|
//#endregion
|
|
391
|
-
//#region
|
|
391
|
+
//#region ../../node_modules/.pnpm/launch-editor@2.13.2/node_modules/launch-editor/get-args.js
|
|
392
392
|
var require_get_args = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
393
393
|
const path$1 = __require("path");
|
|
394
394
|
module.exports = function getArgumentsForPosition(editor, fileName, lineNumber, columnNumber = 1) {
|
package/dist/node/auth.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as InternalAnonymousAuthStorage } from "../context-
|
|
1
|
+
import { P as SharedState, d as DevToolsNodeContext, f as DevToolsNodeRpcSession } from "../devframe-BXZUBuy6.mjs";
|
|
2
|
+
import { n as InternalAnonymousAuthStorage } from "../context-BaX-SZti.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/node/auth/revoke.d.ts
|
|
5
5
|
/**
|
package/dist/node/auth.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as revokeAuthToken, t as revokeActiveConnectionsForToken } from "../revoke-
|
|
2
|
-
import { t as humanId } from "../human-id-
|
|
1
|
+
import { n as revokeAuthToken, t as revokeActiveConnectionsForToken } from "../revoke-CWSPBbJH.mjs";
|
|
2
|
+
import { t as humanId } from "../human-id-mPh1HcFO.mjs";
|
|
3
3
|
//#region src/node/auth/state.ts
|
|
4
4
|
let pendingAuth = null;
|
|
5
5
|
let tempAuthToken = generateTempId();
|
package/dist/node/index.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { t as DevToolsNodeRpcSessionMeta } from "../ws-server-
|
|
5
|
-
import { n as StartedServer, r as startHttpAndWs, t as StartHttpAndWsOptions } from "../server-
|
|
1
|
+
import { $ as AgentResourceContent, J as DevToolsDiagnosticsHost$1, K as DevToolsHost, P as SharedState, Q as AgentResource, U as DevToolsRpcClientFunctions, W as DevToolsRpcServerFunctions, X as AgentHandle, Y as DevToolsDiagnosticsLogger, Z as AgentManifest, at as EventEmitter, d as DevToolsNodeContext, et as AgentResourceInput, f as DevToolsNodeRpcSession, g as RpcSharedStateHost, it as DevToolsAgentHostEvents, m as RpcFunctionsHost$1, nt as AgentToolInput, p as RpcBroadcastOptions, rt as DevToolsAgentHost$1, tt as AgentTool, y as RpcStreamingHost, z as DevToolsViewHost$1 } from "../devframe-BXZUBuy6.mjs";
|
|
2
|
+
import { S as RpcFunctionsCollectorBase } from "../index-BO4daMzR.mjs";
|
|
3
|
+
import { _ as RpcFunctionDefinitionAny } from "../types-ip8THGH1.mjs";
|
|
4
|
+
import { t as DevToolsNodeRpcSessionMeta } from "../ws-server-kW8RZXTw.mjs";
|
|
5
|
+
import { n as StartedServer, r as startHttpAndWs, t as StartHttpAndWsOptions } from "../server-CgqyJG9m.mjs";
|
|
6
6
|
import { createLogger, defineDiagnostics } from "logs-sdk";
|
|
7
7
|
import { BirpcGroup } from "birpc";
|
|
8
8
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
@@ -21,13 +21,12 @@ interface CreateHostContextOptions {
|
|
|
21
21
|
builtinRpcDeclarations?: readonly RpcFunctionDefinitionAny[];
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
* Framework-
|
|
25
|
-
* host, view (HTTP file-serving) host, diagnostics, and
|
|
26
|
-
* subsystems.
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* hub.
|
|
24
|
+
* Framework- and build-tool-agnostic core of the DevTools node context.
|
|
25
|
+
* Wires the RPC host, view (HTTP file-serving) host, diagnostics, and
|
|
26
|
+
* agent subsystems. Host adapters can wrap this to augment `ctx` with
|
|
27
|
+
* extra surfaces — for example, `@vitejs/devtools-kit`'s
|
|
28
|
+
* `createKitContext` attaches `docks`, `terminals`, `messages`,
|
|
29
|
+
* `commands`, and `createJsonRenderer` when mounted into Vite DevTools.
|
|
31
30
|
*/
|
|
32
31
|
declare function createHostContext(options: CreateHostContextOptions): Promise<DevToolsNodeContext>;
|
|
33
32
|
//#endregion
|
|
@@ -161,37 +160,6 @@ declare function createRpcSharedStateServerHost(rpc: RpcFunctionsHost$1): RpcSha
|
|
|
161
160
|
*/
|
|
162
161
|
declare function createRpcStreamingServerHost(rpc: RpcFunctionsHost$1): RpcStreamingHost;
|
|
163
162
|
//#endregion
|
|
164
|
-
//#region src/node/static-dump.d.ts
|
|
165
|
-
type StaticRpcDumpSerialization = 'json' | 'structured-clone';
|
|
166
|
-
interface StaticRpcDumpManifestStaticEntry {
|
|
167
|
-
type: 'static';
|
|
168
|
-
path: string;
|
|
169
|
-
/** Encoder used when this entry's file was written. Default: `'json'`. */
|
|
170
|
-
serialization?: StaticRpcDumpSerialization;
|
|
171
|
-
}
|
|
172
|
-
interface StaticRpcDumpManifestQueryEntry {
|
|
173
|
-
type: 'query';
|
|
174
|
-
records: Record<string, string>;
|
|
175
|
-
fallback?: string;
|
|
176
|
-
/** Encoder used when each record/fallback file was written. Default: `'json'`. */
|
|
177
|
-
serialization?: StaticRpcDumpSerialization;
|
|
178
|
-
}
|
|
179
|
-
type StaticRpcDumpManifestValue = StaticRpcDumpManifestStaticEntry | StaticRpcDumpManifestQueryEntry | any;
|
|
180
|
-
type StaticRpcDumpManifest = Record<string, StaticRpcDumpManifestValue>;
|
|
181
|
-
interface StaticRpcDumpFile {
|
|
182
|
-
/** Whether this file was written via `JSON.stringify` or `structured-clone-es.stringify`. */
|
|
183
|
-
serialization: StaticRpcDumpSerialization;
|
|
184
|
-
/** Function name the file belongs to — used to scope `DF0019` errors during write. */
|
|
185
|
-
fnName: string;
|
|
186
|
-
/** Payload to encode. */
|
|
187
|
-
data: unknown;
|
|
188
|
-
}
|
|
189
|
-
interface StaticRpcDumpCollection {
|
|
190
|
-
manifest: StaticRpcDumpManifest;
|
|
191
|
-
files: Record<string, StaticRpcDumpFile>;
|
|
192
|
-
}
|
|
193
|
-
declare function collectStaticRpcDump(definitions: Iterable<RpcFunctionDefinitionAny>, context: any): Promise<StaticRpcDumpCollection>;
|
|
194
|
-
//#endregion
|
|
195
163
|
//#region src/node/storage.d.ts
|
|
196
164
|
interface CreateStorageOptions<T extends object> {
|
|
197
165
|
filepath: string;
|
|
@@ -205,4 +173,4 @@ declare function createStorage<T extends object>(options: CreateStorageOptions<T
|
|
|
205
173
|
declare function isObject(value: unknown): value is Record<string, any>;
|
|
206
174
|
declare function normalizeHttpServerUrl(host: string, port: number | string): string;
|
|
207
175
|
//#endregion
|
|
208
|
-
export { CreateH3DevToolsHostOptions, CreateHostContextOptions, CreateStorageOptions, DevToolsAgentHost, DevToolsDiagnosticsHost, DevToolsViewHost, RpcFunctionsHost, StartHttpAndWsOptions, StartedServer,
|
|
176
|
+
export { CreateH3DevToolsHostOptions, CreateHostContextOptions, CreateStorageOptions, DevToolsAgentHost, DevToolsDiagnosticsHost, DevToolsViewHost, RpcFunctionsHost, StartHttpAndWsOptions, StartedServer, createH3DevToolsHost, createHostContext, createRpcSharedStateServerHost, createRpcStreamingServerHost, createStorage, isObject, normalizeHttpServerUrl, startHttpAndWs };
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as collectStaticRpcDump } from "../static-dump-D7AvjrgL.mjs";
|
|
5
|
-
import { t as createStorage } from "../storage-CNC38eU-.mjs";
|
|
1
|
+
import { a as createRpcStreamingServerHost, c as DevToolsAgentHost, i as RpcFunctionsHost, n as createHostContext, o as createRpcSharedStateServerHost, r as DevToolsViewHost, s as DevToolsDiagnosticsHost, t as createH3DevToolsHost } from "../host-h3-CpYkiCIU.mjs";
|
|
2
|
+
import { t as startHttpAndWs } from "../server-G1ymmN3_.mjs";
|
|
3
|
+
import { t as createStorage } from "../storage-BaLJK6e_.mjs";
|
|
6
4
|
import { isIP } from "node:net";
|
|
7
5
|
//#region src/node/utils.ts
|
|
8
6
|
function isObject(value) {
|
|
@@ -12,4 +10,4 @@ function normalizeHttpServerUrl(host, port) {
|
|
|
12
10
|
return `http://${host === "127.0.0.1" ? "localhost" : isIP(host) === 6 ? `[${host}]` : host}:${port}`;
|
|
13
11
|
}
|
|
14
12
|
//#endregion
|
|
15
|
-
export { DevToolsAgentHost, DevToolsDiagnosticsHost, DevToolsViewHost, RpcFunctionsHost,
|
|
13
|
+
export { DevToolsAgentHost, DevToolsDiagnosticsHost, DevToolsViewHost, RpcFunctionsHost, createH3DevToolsHost, createHostContext, createRpcSharedStateServerHost, createRpcStreamingServerHost, createStorage, isObject, normalizeHttpServerUrl, startHttpAndWs };
|
package/dist/node/internal.d.mts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { i as DevframeDeploymentKind, r as DevframeDefinition } from "../devframe-
|
|
2
|
-
import { a as internalContextMap, i as getInternalContext, n as InternalAnonymousAuthStorage, r as RemoteTokenRecord, t as DevToolsInternalContext } from "../context-
|
|
1
|
+
import { i as DevframeDeploymentKind, r as DevframeDefinition } from "../devframe-BXZUBuy6.mjs";
|
|
2
|
+
import { a as internalContextMap, i as getInternalContext, n as InternalAnonymousAuthStorage, r as RemoteTokenRecord, t as DevToolsInternalContext } from "../context-BaX-SZti.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/adapters/_shared.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Resolve the mount base path for a devframe's SPA. Hosted adapters
|
|
7
|
-
* (`vite`, `
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* (`vite`, `embedded`) default to `/__<id>/` so they don't collide
|
|
8
|
+
* with the host app; standalone adapters (`cli`, `spa`, `build`)
|
|
9
|
+
* default to `/` because they own the origin.
|
|
10
10
|
*
|
|
11
11
|
* The devframe author can override with `basePath` on the definition.
|
|
12
12
|
*/
|
package/dist/node/internal.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as createStorage } from "../storage-
|
|
2
|
-
import { n as revokeAuthToken, t as revokeActiveConnectionsForToken } from "../revoke-
|
|
3
|
-
import { t as humanId } from "../human-id-
|
|
4
|
-
import { n as resolveBasePath, t as normalizeBasePath } from "../_shared-
|
|
1
|
+
import { t as createStorage } from "../storage-BaLJK6e_.mjs";
|
|
2
|
+
import { n as revokeAuthToken, t as revokeActiveConnectionsForToken } from "../revoke-CWSPBbJH.mjs";
|
|
3
|
+
import { t as humanId } from "../human-id-mPh1HcFO.mjs";
|
|
4
|
+
import { n as resolveBasePath, t as normalizeBasePath } from "../_shared-C_yZKUmx.mjs";
|
|
5
5
|
import { join } from "pathe";
|
|
6
6
|
//#region src/node/internal/context.ts
|
|
7
7
|
const internalContextMap = /* @__PURE__ */ new WeakMap();
|
|
@@ -7,7 +7,7 @@ import { fileURLToPath } from "node:url";
|
|
|
7
7
|
import childProcess, { execFile } from "node:child_process";
|
|
8
8
|
import fs$1, { constants } from "node:fs/promises";
|
|
9
9
|
import { Buffer } from "node:buffer";
|
|
10
|
-
//#region
|
|
10
|
+
//#region ../../node_modules/.pnpm/is-docker@3.0.0/node_modules/is-docker/index.js
|
|
11
11
|
let isDockerCached;
|
|
12
12
|
function hasDockerEnv() {
|
|
13
13
|
try {
|
|
@@ -29,7 +29,7 @@ function isDocker() {
|
|
|
29
29
|
return isDockerCached;
|
|
30
30
|
}
|
|
31
31
|
//#endregion
|
|
32
|
-
//#region
|
|
32
|
+
//#region ../../node_modules/.pnpm/is-inside-container@1.0.0/node_modules/is-inside-container/index.js
|
|
33
33
|
let cachedResult;
|
|
34
34
|
const hasContainerEnv = () => {
|
|
35
35
|
try {
|
|
@@ -44,7 +44,7 @@ function isInsideContainer() {
|
|
|
44
44
|
return cachedResult;
|
|
45
45
|
}
|
|
46
46
|
//#endregion
|
|
47
|
-
//#region
|
|
47
|
+
//#region ../../node_modules/.pnpm/is-wsl@3.1.1/node_modules/is-wsl/index.js
|
|
48
48
|
const isWsl = () => {
|
|
49
49
|
if (process.platform !== "linux") return false;
|
|
50
50
|
if (os.release().toLowerCase().includes("microsoft")) {
|
|
@@ -52,14 +52,14 @@ const isWsl = () => {
|
|
|
52
52
|
return true;
|
|
53
53
|
}
|
|
54
54
|
try {
|
|
55
|
-
|
|
56
|
-
} catch {
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
if (fs.readFileSync("/proc/version", "utf8").toLowerCase().includes("microsoft")) return !isInsideContainer();
|
|
56
|
+
} catch {}
|
|
57
|
+
if (fs.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop") || fs.existsSync("/run/WSL")) return !isInsideContainer();
|
|
58
|
+
return false;
|
|
59
59
|
};
|
|
60
60
|
var is_wsl_default = process.env.__IS_WSL_TEST__ ? isWsl : isWsl();
|
|
61
61
|
//#endregion
|
|
62
|
-
//#region
|
|
62
|
+
//#region ../../node_modules/.pnpm/powershell-utils@0.1.0/node_modules/powershell-utils/index.js
|
|
63
63
|
const execFile$2 = promisify(childProcess.execFile);
|
|
64
64
|
const powerShellPath$1 = () => `${process.env.SYSTEMROOT || process.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
|
|
65
65
|
const executePowerShell = async (command, options = {}) => {
|
|
@@ -80,7 +80,7 @@ executePowerShell.argumentsPrefix = [
|
|
|
80
80
|
executePowerShell.encodeCommand = (command) => Buffer.from(command, "utf16le").toString("base64");
|
|
81
81
|
executePowerShell.escapeArgument = (value) => `'${String(value).replaceAll("'", "''")}'`;
|
|
82
82
|
//#endregion
|
|
83
|
-
//#region
|
|
83
|
+
//#region ../../node_modules/.pnpm/wsl-utils@0.3.1/node_modules/wsl-utils/utilities.js
|
|
84
84
|
function parseMountPointFromConfig(content) {
|
|
85
85
|
for (const line of content.split("\n")) {
|
|
86
86
|
if (/^\s*#/.test(line)) continue;
|
|
@@ -90,7 +90,7 @@ function parseMountPointFromConfig(content) {
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
//#endregion
|
|
93
|
-
//#region
|
|
93
|
+
//#region ../../node_modules/.pnpm/wsl-utils@0.3.1/node_modules/wsl-utils/index.js
|
|
94
94
|
const execFile$1 = promisify(childProcess.execFile);
|
|
95
95
|
const wslDrivesMountPoint = (() => {
|
|
96
96
|
const defaultMountPoint = "/mnt/";
|
|
@@ -143,7 +143,7 @@ const convertWslPathToWindows = async (path) => {
|
|
|
143
143
|
}
|
|
144
144
|
};
|
|
145
145
|
//#endregion
|
|
146
|
-
//#region
|
|
146
|
+
//#region ../../node_modules/.pnpm/define-lazy-prop@3.0.0/node_modules/define-lazy-prop/index.js
|
|
147
147
|
function defineLazyProperty(object, propertyName, valueGetter) {
|
|
148
148
|
const define = (value) => Object.defineProperty(object, propertyName, {
|
|
149
149
|
value,
|
|
@@ -165,7 +165,7 @@ function defineLazyProperty(object, propertyName, valueGetter) {
|
|
|
165
165
|
return object;
|
|
166
166
|
}
|
|
167
167
|
//#endregion
|
|
168
|
-
//#region
|
|
168
|
+
//#region ../../node_modules/.pnpm/default-browser-id@5.0.1/node_modules/default-browser-id/index.js
|
|
169
169
|
const execFileAsync$3 = promisify(execFile);
|
|
170
170
|
async function defaultBrowserId() {
|
|
171
171
|
if (process.platform !== "darwin") throw new Error("macOS only");
|
|
@@ -179,7 +179,7 @@ async function defaultBrowserId() {
|
|
|
179
179
|
return browserId;
|
|
180
180
|
}
|
|
181
181
|
//#endregion
|
|
182
|
-
//#region
|
|
182
|
+
//#region ../../node_modules/.pnpm/run-applescript@7.1.0/node_modules/run-applescript/index.js
|
|
183
183
|
const execFileAsync$2 = promisify(execFile);
|
|
184
184
|
async function runAppleScript(script, { humanReadableOutput = true, signal } = {}) {
|
|
185
185
|
if (process.platform !== "darwin") throw new Error("macOS only");
|
|
@@ -194,12 +194,12 @@ async function runAppleScript(script, { humanReadableOutput = true, signal } = {
|
|
|
194
194
|
return stdout.trim();
|
|
195
195
|
}
|
|
196
196
|
//#endregion
|
|
197
|
-
//#region
|
|
197
|
+
//#region ../../node_modules/.pnpm/bundle-name@4.1.0/node_modules/bundle-name/index.js
|
|
198
198
|
async function bundleName(bundleId) {
|
|
199
199
|
return runAppleScript(`tell application "Finder" to set app_path to application file id "${bundleId}" as string\ntell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`);
|
|
200
200
|
}
|
|
201
201
|
//#endregion
|
|
202
|
-
//#region
|
|
202
|
+
//#region ../../node_modules/.pnpm/default-browser@5.5.0/node_modules/default-browser/windows.js
|
|
203
203
|
const execFileAsync$1 = promisify(execFile);
|
|
204
204
|
const windowsBrowserProgIds = {
|
|
205
205
|
MSEdgeHTM: {
|
|
@@ -279,12 +279,17 @@ async function defaultBrowser$1(_execFileAsync = execFileAsync$1) {
|
|
|
279
279
|
const match = /ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(stdout);
|
|
280
280
|
if (!match) throw new UnknownBrowserError(`Cannot find Windows browser in stdout: ${JSON.stringify(stdout)}`);
|
|
281
281
|
const { id } = match.groups;
|
|
282
|
-
const
|
|
283
|
-
|
|
284
|
-
|
|
282
|
+
const dotIndex = id.lastIndexOf(".");
|
|
283
|
+
const hyphenIndex = id.lastIndexOf("-");
|
|
284
|
+
const baseIdByDot = dotIndex === -1 ? void 0 : id.slice(0, dotIndex);
|
|
285
|
+
const baseIdByHyphen = hyphenIndex === -1 ? void 0 : id.slice(0, hyphenIndex);
|
|
286
|
+
return windowsBrowserProgIds[id] ?? windowsBrowserProgIds[baseIdByDot] ?? windowsBrowserProgIds[baseIdByHyphen] ?? {
|
|
287
|
+
name: id,
|
|
288
|
+
id
|
|
289
|
+
};
|
|
285
290
|
}
|
|
286
291
|
//#endregion
|
|
287
|
-
//#region
|
|
292
|
+
//#region ../../node_modules/.pnpm/default-browser@5.5.0/node_modules/default-browser/index.js
|
|
288
293
|
const execFileAsync = promisify(execFile);
|
|
289
294
|
const titleize = (string) => string.toLowerCase().replaceAll(/(?:^|\s|-)\S/g, (x) => x.toUpperCase());
|
|
290
295
|
async function defaultBrowser() {
|
|
@@ -311,10 +316,10 @@ async function defaultBrowser() {
|
|
|
311
316
|
throw new Error("Only macOS, Linux, and Windows are supported");
|
|
312
317
|
}
|
|
313
318
|
//#endregion
|
|
314
|
-
//#region
|
|
319
|
+
//#region ../../node_modules/.pnpm/is-in-ssh@1.0.0/node_modules/is-in-ssh/index.js
|
|
315
320
|
const isInSsh = Boolean(process.env.SSH_CONNECTION || process.env.SSH_CLIENT || process.env.SSH_TTY);
|
|
316
321
|
//#endregion
|
|
317
|
-
//#region
|
|
322
|
+
//#region ../../node_modules/.pnpm/open@11.0.0/node_modules/open/index.js
|
|
318
323
|
const fallbackAttemptSymbol = Symbol("fallbackAttempt");
|
|
319
324
|
const __dirname = import.meta.url ? path.dirname(fileURLToPath(import.meta.url)) : "";
|
|
320
325
|
const localXdgOpenPath = path.join(__dirname, "xdg-open");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { T as Thenable, h as RpcFunctionAgentOptions, s as RpcDump, x as RpcFunctionSetupResult } from "../types-ip8THGH1.mjs";
|
|
2
2
|
import * as v from "valibot";
|
|
3
3
|
|
|
4
4
|
//#region src/recipes/open-helpers.d.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as defineRpcFunction } from "../define-CW9gLnyG.mjs";
|
|
2
|
-
import { t as launchEditor } from "../launch-editor-
|
|
3
|
-
import { t as open } from "../open-
|
|
2
|
+
import { t as launchEditor } from "../launch-editor-1dAC7Uk5.mjs";
|
|
3
|
+
import { t as open } from "../open-CWL4Zasd.mjs";
|
|
4
4
|
import * as v from "valibot";
|
|
5
5
|
//#region src/recipes/open-helpers.ts
|
|
6
6
|
/**
|
package/dist/rpc/index.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as getRpcHandler, c as
|
|
2
|
-
import { C as
|
|
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, validateDefinition, validateDefinitions };
|
|
1
|
+
import { C as RpcCacheManager, S as RpcFunctionsCollectorBase, _ as createClientFromDump, a as getRpcHandler, b as createDefineWrapperWithContext, c as StaticRpcDumpFile, d as StaticRpcDumpManifestStaticEntry, f as StaticRpcDumpManifestValue, g as serializeDumpError, h as reviveDumpError, i as strictJsonStringify, l as StaticRpcDumpManifest, m as collectStaticRpcDump, n as validateDefinitions, o as getRpcResolvedSetupResult, p as StaticRpcDumpSerialization, r as STRUCTURED_CLONE_PREFIX, s as StaticRpcDumpCollection, t as validateDefinition, u as StaticRpcDumpManifestQueryEntry, v as dumpFunctions, w as RpcCacheOptions, x as defineRpcFunction, y as getDefinitionsWithDumps } from "../index-BO4daMzR.mjs";
|
|
2
|
+
import { C as RpcFunctionsCollector, S as RpcFunctionType, T as Thenable, _ as RpcFunctionDefinitionAny, a as RpcDefinitionsFilter, b as RpcFunctionDefinitionToFunction, c as RpcDumpClientOptions, d as RpcDumpGetter, f as RpcDumpRecord, g as RpcFunctionDefinition, h as RpcFunctionAgentOptions, i as RpcArgsSchema, l as RpcDumpCollectionOptions, m as RpcDumpStore, n as BirpcReturn, o as RpcDefinitionsToFunctions, p as RpcDumpRecordError, r as EntriesToObject, s as RpcDump, t as BirpcFn, u as RpcDumpDefinition, v as RpcFunctionDefinitionAnyWithContext, w as RpcReturnSchema, x as RpcFunctionSetupResult, y as RpcFunctionDefinitionBase } from "../types-ip8THGH1.mjs";
|
|
3
|
+
export { BirpcFn, BirpcReturn, EntriesToObject, RpcArgsSchema, RpcCacheManager, RpcCacheOptions, RpcDefinitionsFilter, RpcDefinitionsToFunctions, RpcDump, RpcDumpClientOptions, RpcDumpCollectionOptions, RpcDumpDefinition, RpcDumpGetter, RpcDumpRecord, RpcDumpRecordError, RpcDumpStore, RpcFunctionAgentOptions, RpcFunctionDefinition, RpcFunctionDefinitionAny, RpcFunctionDefinitionAnyWithContext, RpcFunctionDefinitionBase, RpcFunctionDefinitionToFunction, RpcFunctionSetupResult, RpcFunctionType, RpcFunctionsCollector, RpcFunctionsCollectorBase, RpcReturnSchema, STRUCTURED_CLONE_PREFIX, StaticRpcDumpCollection, StaticRpcDumpFile, StaticRpcDumpManifest, StaticRpcDumpManifestQueryEntry, StaticRpcDumpManifestStaticEntry, StaticRpcDumpManifestValue, StaticRpcDumpSerialization, Thenable, collectStaticRpcDump, createClientFromDump, createDefineWrapperWithContext, defineRpcFunction, dumpFunctions, getDefinitionsWithDumps, getRpcHandler, getRpcResolvedSetupResult, reviveDumpError, serializeDumpError, strictJsonStringify, validateDefinition, validateDefinitions };
|
package/dist/rpc/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as reviveDumpError, c as validateDefinitions, d as getRpcResolvedSetupResult, f as RpcCacheManager, i as getDefinitionsWithDumps, l as RpcFunctionsCollectorBase, n as createClientFromDump, o as serializeDumpError, r as dumpFunctions, s as validateDefinition, t as collectStaticRpcDump, u as getRpcHandler } from "../rpc-BlVCyk9W.mjs";
|
|
2
2
|
import { n as strictJsonStringify, t as STRUCTURED_CLONE_PREFIX } from "../serialization-CwO31axa.mjs";
|
|
3
3
|
import { n as defineRpcFunction, t as createDefineWrapperWithContext } from "../define-CW9gLnyG.mjs";
|
|
4
|
-
export { RpcCacheManager, RpcFunctionsCollectorBase, STRUCTURED_CLONE_PREFIX, createClientFromDump, createDefineWrapperWithContext, defineRpcFunction, dumpFunctions, getDefinitionsWithDumps, getRpcHandler, getRpcResolvedSetupResult, strictJsonStringify, validateDefinition, validateDefinitions };
|
|
4
|
+
export { RpcCacheManager, RpcFunctionsCollectorBase, STRUCTURED_CLONE_PREFIX, collectStaticRpcDump, createClientFromDump, createDefineWrapperWithContext, defineRpcFunction, dumpFunctions, getDefinitionsWithDumps, getRpcHandler, getRpcResolvedSetupResult, reviveDumpError, serializeDumpError, strictJsonStringify, validateDefinition, validateDefinitions };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as createWsRpcChannel, t as WsRpcChannelOptions } from "../../ws-client-
|
|
1
|
+
import { n as createWsRpcChannel, t as WsRpcChannelOptions } from "../../ws-client-DFUf-xgm.mjs";
|
|
2
2
|
export { WsRpcChannelOptions, createWsRpcChannel };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as strictJsonStringify } from "../../serialization-CwO31axa.mjs";
|
|
2
|
-
import { i as structuredCloneStringify, n as structuredCloneParse } from "../../structured-clone-
|
|
2
|
+
import { i as structuredCloneStringify, n as structuredCloneParse } from "../../structured-clone-CD2l4fI3.mjs";
|
|
3
3
|
//#region src/rpc/transports/ws-client.ts
|
|
4
4
|
function NOOP() {}
|
|
5
5
|
const EMPTY_DEFS = /* @__PURE__ */ new Map();
|
|
@@ -45,7 +45,7 @@ function createWsRpcChannel(options) {
|
|
|
45
45
|
method = pendingRequestMethods.get(msg.i);
|
|
46
46
|
pendingRequestMethods.delete(msg.i);
|
|
47
47
|
}
|
|
48
|
-
if (!!method && definitions.get(method)?.jsonSerializable === true) return strictJsonStringify(msg, method ?? "");
|
|
48
|
+
if (!(msg.t === "s" && "e" in msg) && !!method && definitions.get(method)?.jsonSerializable === true) return strictJsonStringify(msg, method ?? "");
|
|
49
49
|
return `s:${structuredCloneStringify(msg)}`;
|
|
50
50
|
},
|
|
51
51
|
deserialize: (raw) => {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as WsRpcTransportOptions, r as attachWsRpcTransport, t as DevToolsNodeRpcSessionMeta } from "../../ws-server-
|
|
1
|
+
import { n as WsRpcTransportOptions, r as attachWsRpcTransport, t as DevToolsNodeRpcSessionMeta } from "../../ws-server-kW8RZXTw.mjs";
|
|
2
2
|
export { DevToolsNodeRpcSessionMeta, WsRpcTransportOptions, attachWsRpcTransport };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as strictJsonStringify } from "../../serialization-CwO31axa.mjs";
|
|
2
|
-
import { i as structuredCloneStringify, n as structuredCloneParse } from "../../structured-clone-
|
|
2
|
+
import { i as structuredCloneStringify, n as structuredCloneParse } from "../../structured-clone-CD2l4fI3.mjs";
|
|
3
3
|
import { createServer } from "node:https";
|
|
4
4
|
import { WebSocketServer } from "ws";
|
|
5
5
|
//#region src/rpc/transports/ws-server.ts
|
|
@@ -46,7 +46,7 @@ function attachWsRpcTransport(rpcGroup, options = {}) {
|
|
|
46
46
|
method = pendingRequestMethods.get(msg.i);
|
|
47
47
|
pendingRequestMethods.delete(msg.i);
|
|
48
48
|
}
|
|
49
|
-
if (!!method && definitions.get(method)?.jsonSerializable === true) return strictJsonStringify(msg, method ?? "");
|
|
49
|
+
if (!(msg.t === "s" && "e" in msg) && !!method && definitions.get(method)?.jsonSerializable === true) return strictJsonStringify(msg, method ?? "");
|
|
50
50
|
return `s:${structuredCloneStringify(msg)}`;
|
|
51
51
|
}),
|
|
52
52
|
deserialize: deserializeOverride ?? ((raw) => {
|