@velarscript/desktop 0.10.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export declare const VELAR_DESKTOP_API_VERSION = "0.10";
2
+ export declare const DEFAULT_DESKTOP_SIZE_BUDGET_BYTES: number;
3
+ export interface DesktopWindowConfig {
4
+ readonly title: string;
5
+ readonly width: number;
6
+ readonly height: number;
7
+ readonly minWidth: number;
8
+ readonly minHeight: number;
9
+ }
10
+ export interface DesktopPermissionConfig {
11
+ readonly files: readonly ("app-data" | "project")[];
12
+ readonly processes: readonly string[];
13
+ readonly terminal: boolean;
14
+ readonly network: readonly string[];
15
+ readonly environment: readonly string[];
16
+ readonly secrets: readonly string[];
17
+ }
18
+ export interface VelarDesktopConfig {
19
+ readonly productName: string;
20
+ readonly identifier: string;
21
+ readonly window: DesktopWindowConfig;
22
+ readonly permissions: DesktopPermissionConfig;
23
+ readonly build: {
24
+ readonly outDir: string;
25
+ readonly sizeBudgetBytes: number;
26
+ };
27
+ }
28
+ export declare const velarProjectExtension: Readonly<{
29
+ id: "@velarscript/desktop";
30
+ manifestKey: "desktop";
31
+ parse(value: unknown, manifestPath: string): VelarDesktopConfig;
32
+ }>;
33
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,SAAS,CAAC;AAKhD,eAAO,MAAM,iCAAiC,QAAmB,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;KAClC,CAAC;CACH;AAED,eAAO,MAAM,qBAAqB;;;iBAGnB,OAAO,gBAAgB,MAAM,GAAG,kBAAkB;EAG/D,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,140 @@
1
+ export const VELAR_DESKTOP_API_VERSION = "0.10";
2
+ // The complete Project transaction owner adds about 4.39 MiB to the mandatory
3
+ // capability Worker. 32 MiB is the current default accounting threshold, not
4
+ // an architectural ceiling: projects may raise it explicitly when their
5
+ // measured application payload justifies the increase.
6
+ export const DEFAULT_DESKTOP_SIZE_BUDGET_BYTES = 32 * 1024 * 1024;
7
+ export const velarProjectExtension = Object.freeze({
8
+ id: "@velarscript/desktop",
9
+ manifestKey: "desktop",
10
+ parse(value, manifestPath) {
11
+ return desktopConfig(value, manifestPath);
12
+ },
13
+ });
14
+ function desktopConfig(value, manifestPath) {
15
+ const desktop = objectField(value, "desktop", manifestPath);
16
+ knownFields(desktop, new Set(["productName", "identifier", "window", "permissions", "build"]), "desktop", manifestPath);
17
+ const productName = stringField(desktop.productName, "desktop.productName");
18
+ if (!/^[^/:\0]{1,80}$/u.test(productName) || productName === "." || productName === "..") {
19
+ throw new Error(`${manifestPath}: 'desktop.productName' must be a safe application name of at most 80 characters`);
20
+ }
21
+ const identifier = stringField(desktop.identifier, "desktop.identifier");
22
+ if (!/^[A-Za-z0-9-]+(?:\.[A-Za-z0-9-]+)+$/u.test(identifier)) {
23
+ throw new Error(`${manifestPath}: 'desktop.identifier' must be a reverse-DNS application identifier`);
24
+ }
25
+ return Object.freeze({
26
+ productName,
27
+ identifier,
28
+ window: windowConfig(desktop.window, productName, manifestPath),
29
+ permissions: permissionConfig(desktop.permissions, manifestPath),
30
+ build: buildConfig(desktop.build, manifestPath),
31
+ });
32
+ }
33
+ function windowConfig(value, productName, manifestPath) {
34
+ const window = value === undefined ? {} : objectField(value, "desktop.window", manifestPath);
35
+ knownFields(window, new Set(["title", "width", "height", "minWidth", "minHeight"]), "desktop.window", manifestPath);
36
+ const width = integerField(window.width, "desktop.window.width", 1180, 480, 8192);
37
+ const height = integerField(window.height, "desktop.window.height", 760, 320, 8192);
38
+ return Object.freeze({
39
+ title: window.title === undefined ? productName : stringField(window.title, "desktop.window.title"),
40
+ width,
41
+ height,
42
+ minWidth: integerField(window.minWidth, "desktop.window.minWidth", 720, 320, width),
43
+ minHeight: integerField(window.minHeight, "desktop.window.minHeight", 520, 240, height),
44
+ });
45
+ }
46
+ function permissionConfig(value, manifestPath) {
47
+ const permissions = value === undefined ? {} : objectField(value, "desktop.permissions", manifestPath);
48
+ knownFields(permissions, new Set(["files", "processes", "terminal", "network", "environment", "secrets"]), "desktop.permissions", manifestPath);
49
+ const files = stringList(permissions.files, "desktop.permissions.files", 3);
50
+ const validFileScopes = new Set(["app-data", "project"]);
51
+ for (const scope of files)
52
+ if (!validFileScopes.has(scope))
53
+ throw new Error(`${manifestPath}: unknown desktop file scope '${scope}'`);
54
+ const processes = stringList(permissions.processes, "desktop.permissions.processes", 64);
55
+ for (const command of processes) {
56
+ if (!/^[A-Za-z0-9._+-]{1,128}$/u.test(command))
57
+ throw new Error(`${manifestPath}: desktop process permissions must be executable names, not paths or shell text`);
58
+ }
59
+ const terminal = booleanField(permissions.terminal, "desktop.permissions.terminal", false);
60
+ const network = stringList(permissions.network, "desktop.permissions.network", 64);
61
+ for (const origin of network) {
62
+ let parsed;
63
+ try {
64
+ parsed = new URL(origin);
65
+ }
66
+ catch {
67
+ throw new Error(`${manifestPath}: desktop network permission '${origin}' must be an absolute origin`);
68
+ }
69
+ const loopback = parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1" || parsed.hostname === "[::1]";
70
+ if ((parsed.protocol !== "https:" && !(parsed.protocol === "http:" && loopback))
71
+ || parsed.username || parsed.password || parsed.pathname !== "/" || parsed.search || parsed.hash) {
72
+ throw new Error(`${manifestPath}: desktop network permission '${origin}' must be an HTTPS origin or exact loopback origin`);
73
+ }
74
+ }
75
+ const environment = stringList(permissions.environment, "desktop.permissions.environment", 64);
76
+ for (const name of environment) {
77
+ if (!/^[A-Z_][A-Z0-9_]{0,127}$/u.test(name))
78
+ throw new Error(`${manifestPath}: desktop environment permissions must be uppercase variable names`);
79
+ }
80
+ const secrets = stringList(permissions.secrets, "desktop.permissions.secrets", 64);
81
+ for (const name of secrets) {
82
+ if (!/^[A-Z_][A-Z0-9_]{0,127}$/u.test(name))
83
+ throw new Error(`${manifestPath}: desktop secret permissions must be uppercase variable names`);
84
+ if (environment.includes(name))
85
+ throw new Error(`${manifestPath}: desktop secret '${name}' cannot also be exposed through desktop.permissions.environment`);
86
+ }
87
+ return Object.freeze({ files: files, processes, terminal, network, environment, secrets });
88
+ }
89
+ function buildConfig(value, manifestPath) {
90
+ const build = value === undefined ? {} : objectField(value, "desktop.build", manifestPath);
91
+ knownFields(build, new Set(["outDir", "sizeBudgetBytes"]), "desktop.build", manifestPath);
92
+ const outDir = build.outDir === undefined ? "dist/desktop" : stringField(build.outDir, "desktop.build.outDir");
93
+ if (outDir.startsWith("/") || outDir.split(/[\\/]/u).includes(".."))
94
+ throw new Error(`${manifestPath}: 'desktop.build.outDir' must stay inside the project`);
95
+ return Object.freeze({
96
+ outDir,
97
+ sizeBudgetBytes: integerField(build.sizeBudgetBytes, "desktop.build.sizeBudgetBytes", DEFAULT_DESKTOP_SIZE_BUDGET_BYTES, 64 * 1024, 1024 * 1024 * 1024),
98
+ });
99
+ }
100
+ function stringList(value, field, maximum) {
101
+ if (value === undefined)
102
+ return Object.freeze([]);
103
+ if (!Array.isArray(value) || value.length > maximum || value.some((item) => typeof item !== "string" || !item || item.includes("\0"))) {
104
+ throw new Error(`'${field}' must be a list of at most ${maximum} non-empty strings`);
105
+ }
106
+ if (new Set(value).size !== value.length)
107
+ throw new Error(`'${field}' cannot contain duplicates`);
108
+ return Object.freeze([...value]);
109
+ }
110
+ function objectField(value, field, manifestPath) {
111
+ if (!value || typeof value !== "object" || Array.isArray(value))
112
+ throw new Error(`${manifestPath}: '${field}' must be an object`);
113
+ return value;
114
+ }
115
+ function stringField(value, field) {
116
+ if (typeof value !== "string" || value.trim().length === 0 || value.includes("\0"))
117
+ throw new Error(`'${field}' must be a non-empty string without NUL bytes`);
118
+ return value;
119
+ }
120
+ function integerField(value, field, fallback, minimum, maximum) {
121
+ if (value === undefined)
122
+ return fallback;
123
+ if (!Number.isSafeInteger(value) || value < minimum || value > maximum) {
124
+ throw new Error(`'${field}' must be an integer from ${minimum} through ${maximum}`);
125
+ }
126
+ return value;
127
+ }
128
+ function booleanField(value, field, fallback) {
129
+ if (value === undefined)
130
+ return fallback;
131
+ if (typeof value !== "boolean")
132
+ throw new Error(`'${field}' must be a boolean`);
133
+ return value;
134
+ }
135
+ function knownFields(value, allowed, field, manifestPath) {
136
+ for (const key of Object.keys(value))
137
+ if (!allowed.has(key))
138
+ throw new Error(`${manifestPath}: unknown '${field}' field '${key}'`);
139
+ }
140
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/host.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { type FrameworkHostExtension } from "@velarscript/compiler/framework-host";
2
+ export declare const velarFrameworkHost: FrameworkHostExtension;
3
+ //# sourceMappingURL=host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,sBAAsB,EAC5B,MAAM,sCAAsC,CAAC;AAK9C,eAAO,MAAM,kBAAkB,EAAE,sBAmD/B,CAAC"}
package/dist/host.js ADDED
@@ -0,0 +1,71 @@
1
+ import { VELAR_FRAMEWORK_HOST_PROTOCOL_VERSION, } from "@velarscript/compiler/framework-host";
2
+ import { createWebArtifacts, createWebErrorDocument, velarFrameworkHost as webHost, webStaticDeployment } from "@velarscript/web/host";
3
+ import { VELAR_DESKTOP_API_VERSION } from "./config.js";
4
+ import { desktopBrowserTestController } from "./test-runtime.js";
5
+ export const velarFrameworkHost = Object.freeze({
6
+ protocolVersion: VELAR_FRAMEWORK_HOST_PROTOCOL_VERSION,
7
+ id: "@velarscript/desktop",
8
+ capability: "desktop",
9
+ displayName: "Desktop",
10
+ target: "browser",
11
+ apiVersion: VELAR_DESKTOP_API_VERSION,
12
+ artifactKind: "velar-desktop-renderer",
13
+ base() {
14
+ return "/";
15
+ },
16
+ sourceMaps() {
17
+ return false;
18
+ },
19
+ prepareStyles(_config, styles) {
20
+ return webHost.prepareStyles?.(webConfig(_config), styles) ?? styles;
21
+ },
22
+ createArtifacts(input) {
23
+ return createWebArtifacts({ ...input, config: webConfig(input.config) });
24
+ },
25
+ createErrorDocument(input) {
26
+ return createWebErrorDocument({ ...input, config: webConfig(input.config) });
27
+ },
28
+ staticDeployment(config) {
29
+ return webStaticDeployment(webConfig(config));
30
+ },
31
+ browserTests: Object.freeze({
32
+ sourceSuffix: ".browser.test.vel",
33
+ runtimeKey: "velar.browser.test.v1",
34
+ createController(config) {
35
+ return desktopBrowserTestController(config);
36
+ },
37
+ }),
38
+ validateProject(input) {
39
+ const config = input.config;
40
+ const imports = new Set(input.modules.flatMap((module) => module.imports));
41
+ const failures = [];
42
+ if (imports.has("velar/fs") && config.permissions.files.length === 0) {
43
+ failures.push("Desktop source imports 'velar/fs' but desktop.permissions.files grants no file root");
44
+ }
45
+ if (imports.has("velar/process") && config.permissions.processes.length === 0) {
46
+ failures.push("Desktop source imports 'velar/process' but desktop.permissions.processes grants no executable");
47
+ }
48
+ if (imports.has("velar/http") && config.permissions.network.length === 0) {
49
+ failures.push("Desktop source imports 'velar/http' but desktop.permissions.network grants no origin");
50
+ }
51
+ if (imports.has("velar/env") && config.permissions.environment.length === 0) {
52
+ failures.push("Desktop source imports 'velar/env' but desktop.permissions.environment grants no variable");
53
+ }
54
+ return Object.freeze(failures);
55
+ },
56
+ });
57
+ function webConfig(value) {
58
+ const config = value;
59
+ return {
60
+ title: config.window.title,
61
+ base: "/",
62
+ // A desktop window has no browser tab; its icon is the packaged
63
+ // application icon, not a document `rel="icon"`.
64
+ icon: null,
65
+ publicConfig: Object.freeze({ desktop: Object.freeze({ identifier: config.identifier }) }),
66
+ build: Object.freeze({ sourceMaps: false }),
67
+ security: Object.freeze({ contentSecurityPolicy: true, connectSources: Object.freeze([]), imageSources: Object.freeze([]) }),
68
+ deployment: Object.freeze({ spaFallback: true, adapter: "neutral" }),
69
+ };
70
+ }
71
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export { VELAR_DESKTOP_API_VERSION } from "./config.ts";
2
+ export type { DesktopPermissionConfig, DesktopWindowConfig, VelarDesktopConfig } from "./config.ts";
3
+ export declare const VELAR_DESKTOP_MODULES: readonly ["velar/desktop", "velar/desktop-test", "velar/fs", "velar/path", "velar/process", "velar/http", "velar/env"];
4
+ export declare const velarDesktopFramework: Readonly<{
5
+ name: "@velarscript/desktop";
6
+ apiVersion: "0.10";
7
+ modules: readonly ["velar/desktop", "velar/desktop-test", "velar/fs", "velar/path", "velar/process", "velar/http", "velar/env"];
8
+ programmingModel: "single-project";
9
+ renderer: "@velarscript/web";
10
+ capabilityHost: "@velarscript/node";
11
+ }>;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEpG,eAAO,MAAM,qBAAqB,wHAQvB,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;sBAId,gBAAgB;cACxB,kBAAkB;oBACZ,mBAAmB;EACnC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ import { VELAR_DESKTOP_API_VERSION } from "./config.js";
2
+ export { VELAR_DESKTOP_API_VERSION } from "./config.js";
3
+ export const VELAR_DESKTOP_MODULES = Object.freeze([
4
+ "velar/desktop",
5
+ "velar/desktop-test",
6
+ "velar/fs",
7
+ "velar/path",
8
+ "velar/process",
9
+ "velar/http",
10
+ "velar/env",
11
+ ]);
12
+ export const velarDesktopFramework = Object.freeze({
13
+ name: "@velarscript/desktop",
14
+ apiVersion: VELAR_DESKTOP_API_VERSION,
15
+ modules: VELAR_DESKTOP_MODULES,
16
+ programmingModel: "single-project",
17
+ renderer: "@velarscript/web",
18
+ capabilityHost: "@velarscript/node",
19
+ });
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,eAAe;IACf,oBAAoB;IACpB,UAAU;IACV,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,WAAW;CACH,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,sBAAsB;IAC5B,UAAU,EAAE,yBAAyB;IACrC,OAAO,EAAE,qBAAqB;IAC9B,gBAAgB,EAAE,gBAAyB;IAC3C,QAAQ,EAAE,kBAA2B;IACrC,cAAc,EAAE,mBAA4B;CAC7C,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ApplicationPackageHost } from "@velarscript/compiler/application-package-host";
2
+ export declare const velarApplicationPackageHost: ApplicationPackageHost;
3
+ //# sourceMappingURL=package-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-host.d.ts","sourceRoot":"","sources":["../src/package-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,gDAAgD,CAAC;AAIxD,eAAO,MAAM,2BAA2B,EAAE,sBAoBxC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { VELAR_APPLICATION_PACKAGE_HOST_PROTOCOL_VERSION, } from "@velarscript/compiler/application-package-host";
2
+ import { buildDesktopApplication, formatDesktopBytes as formatBytes } from "./build.js";
3
+ import { VELAR_DESKTOP_API_VERSION } from "./config.js";
4
+ export const velarApplicationPackageHost = Object.freeze({
5
+ protocolVersion: VELAR_APPLICATION_PACKAGE_HOST_PROTOCOL_VERSION,
6
+ id: "@velarscript/desktop",
7
+ apiVersion: VELAR_DESKTOP_API_VERSION,
8
+ async packageApplication(input) {
9
+ const result = await buildDesktopApplication(input.projectRoot, input.config, input.buildFramework, input.buildTool);
10
+ const sizes = result.manifest.sizes;
11
+ return Object.freeze({
12
+ artifactPath: result.applicationBundle,
13
+ details: Object.freeze([
14
+ `Size ${formatBytes(sizes.totalBytes)} / ${formatBytes(result.manifest.sizeBudgetBytes)} (host ${formatBytes(sizes.hostBytes)}, renderer ${formatBytes(sizes.rendererBytes)}, capabilities ${formatBytes(sizes.capabilityHostBytes)}, language ${formatBytes(sizes.languageServerBytes)}, tasks ${formatBytes(sizes.projectTaskBytes)}, build engine ${formatBytes(sizes.buildEngineBytes)}, terminal ${formatBytes(sizes.terminalHostBytes)})`,
15
+ `Runtime external Node.js >=${result.manifest.runtime.minimumMajor} (not embedded)`,
16
+ ]),
17
+ });
18
+ },
19
+ });
20
+ //# sourceMappingURL=package-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-host.js","sourceRoot":"","sources":["../src/package-host.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+CAA+C,GAGhD,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAA2B,MAAM,aAAa,CAAC;AAEjF,MAAM,CAAC,MAAM,2BAA2B,GAA2B,MAAM,CAAC,MAAM,CAAC;IAC/E,eAAe,EAAE,+CAA+C;IAChE,EAAE,EAAE,sBAAsB;IAC1B,UAAU,EAAE,yBAAyB;IACrC,KAAK,CAAC,kBAAkB,CAAC,KAA8B;QACrD,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,MAA4B,EAClC,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,SAAS,CAChB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,YAAY,EAAE,MAAM,CAAC,iBAAiB;YACtC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;gBACrB,QAAQ,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,cAAc,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,WAAW,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG;gBAC/a,8BAA8B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,iBAAiB;aACpF,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { VelarDesktopConfig } from "./config.ts";
2
+ import type { FrameworkBrowserTestController } from "@velarscript/compiler/framework-host";
3
+ export type DesktopTestPlatform = "macos" | "test";
4
+ /**
5
+ * Owns the one pre-navigation choice a Desktop browser test may make. Each
6
+ * test receives a fresh controller, and the choice is sealed when its first
7
+ * `browser.open()` requests the application init script.
8
+ */
9
+ export declare function desktopBrowserTestController(config: VelarDesktopConfig): FrameworkBrowserTestController;
10
+ /**
11
+ * Creates the deterministic capability host used by `velar test --browser`.
12
+ * It is intentionally an in-memory filesystem, not a browser polyfill for the
13
+ * operating system. The native worker has a separate integration suite.
14
+ */
15
+ export declare function desktopBrowserTestInitScript(config: VelarDesktopConfig, platform?: DesktopTestPlatform): string;
16
+ //# sourceMappingURL=test-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-runtime.d.ts","sourceRoot":"","sources":["../src/test-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAE3F,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,kBAAkB,GAAG,8BAA8B,CAkBvG;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,GAAE,mBAA4B,GAAG,MAAM,CA0bvH"}