@wenathlan/saddle 2.0.154 → 2.0.159
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/Dockerfile +167 -1334
- package/README.md +59 -60
- package/biome.jsonc +3 -3
- package/browser.ts +482 -0
- package/cli.ts +274 -0
- package/distribution.ts +731 -0
- package/docker.config +29 -8
- package/docs/{architecture.1.8.19.mmd → architecture1819.md} +6 -0
- package/docs/artifactavailability.md +2 -2
- package/docs/browser.md +18 -1
- package/docs/{containerplatforms.2.1.0.md → containerplatforms210.md} +1 -1
- package/docs/{documentmap.1.8.12.md → documentmap1812.md} +1 -1
- package/docs/extension.md +13 -2
- package/docs/features.md +5 -0
- package/docs/libraryapi.md +1 -1
- package/docs/{ninety.modalities.md → ninetymodalities.md} +87 -4
- package/docs/{planning.ninety.md → planningninety.md} +6 -6
- package/docs/{releasenotes.1.8.13.md → releasenotes1813.md} +2 -2
- package/docs/{releasenotes.1.8.14.md → releasenotes1814.md} +1 -1
- package/docs/{repo.synthesis.1.8.16.md → reposynthesis1816.md} +1 -1
- package/docs/todo.md +2 -2
- package/docs/{todo.1.8.15.md → todo1815.md} +1 -1
- package/docs/{todo.1.8.16.md → todo1816.md} +5 -5
- package/execution.ts +677 -0
- package/foundation.ts +314 -0
- package/index.ts +36 -34
- package/isolation.ts +84 -0
- package/modalityregistry.ts +189 -145
- package/modes.ts +170 -0
- package/mttg.config +1 -1
- package/orchestrator.ts +49 -15
- package/package.json +105 -89
- package/qemu.config +2 -2
- package/sandbox.ts +3279 -0
- package/scheduler.ts +1 -1
- package/server.ts +52 -0
- package/tsconfig.json +12 -13
- package/virtual.ts +7528 -0
- package/workloadlaw.ts +293 -0
- package/dist/App.d.ts +0 -5
- package/dist/App.js +0 -52
- package/dist/Sol/Sol.d.ts +0 -3
- package/dist/Sol/Sol.js +0 -46
- package/dist/Sol/agentbrowser/agentbrowser.d.ts +0 -9
- package/dist/Sol/agentbrowser/agentbrowser.js +0 -121
- package/dist/Sol/architecture/architecture.d.ts +0 -9
- package/dist/Sol/architecture/architecture.js +0 -93
- package/dist/Sol/compute/compute.d.ts +0 -9
- package/dist/Sol/compute/compute.js +0 -22
- package/dist/Sol/console/console.d.ts +0 -15
- package/dist/Sol/console/console.js +0 -292
- package/dist/Sol/dashboard/dashboard.d.ts +0 -10
- package/dist/Sol/dashboard/dashboard.js +0 -181
- package/dist/Sol/docs/docs.d.ts +0 -9
- package/dist/Sol/docs/docs.js +0 -28
- package/dist/Sol/home/home.d.ts +0 -35
- package/dist/Sol/home/home.js +0 -239
- package/dist/Sol/integrations/integrations.d.ts +0 -9
- package/dist/Sol/integrations/integrations.js +0 -83
- package/dist/Sol/intro/intro.d.ts +0 -7
- package/dist/Sol/intro/intro.js +0 -102
- package/dist/Sol/login/login.d.ts +0 -16
- package/dist/Sol/login/login.js +0 -49
- package/dist/Sol/notfound/notfound.d.ts +0 -9
- package/dist/Sol/notfound/notfound.js +0 -15
- package/dist/Sol/onboarding/onboarding.d.ts +0 -25
- package/dist/Sol/onboarding/onboarding.js +0 -60
- package/dist/Sol/playground/playground.d.ts +0 -9
- package/dist/Sol/playground/playground.js +0 -127
- package/dist/Sol/register/register.d.ts +0 -16
- package/dist/Sol/register/register.js +0 -193
- package/dist/Sol/shell/Shell.d.ts +0 -124
- package/dist/Sol/shell/Shell.js +0 -335
- package/dist/Sol/wingets/ComputeBootladder.d.ts +0 -6
- package/dist/Sol/wingets/ComputeBootladder.js +0 -71
- package/dist/Sol/wingets/ComputeModalitycatalog.d.ts +0 -7
- package/dist/Sol/wingets/ComputeModalitycatalog.js +0 -71
- package/dist/Sol/wingets/ConsoleApibadge.d.ts +0 -7
- package/dist/Sol/wingets/ConsoleApibadge.js +0 -5
- package/dist/Sol/wingets/ConsoleEdgelaw.d.ts +0 -6
- package/dist/Sol/wingets/ConsoleEdgelaw.js +0 -36
- package/dist/Sol/wingets/ConsoleEventstimeline.d.ts +0 -19
- package/dist/Sol/wingets/ConsoleEventstimeline.js +0 -12
- package/dist/Sol/wingets/ConsoleSnapshotcontrols.d.ts +0 -8
- package/dist/Sol/wingets/ConsoleSnapshotcontrols.js +0 -8
- package/dist/Sol/wingets/ConsoleSpecpanel.d.ts +0 -21
- package/dist/Sol/wingets/ConsoleSpecpanel.js +0 -75
- package/dist/Sol/wingets/ConsoleTerminal.d.ts +0 -22
- package/dist/Sol/wingets/ConsoleTerminal.js +0 -77
- package/dist/Sol/wingets/DashboardAccountpanel.d.ts +0 -18
- package/dist/Sol/wingets/DashboardAccountpanel.js +0 -65
- package/dist/Sol/wingets/DashboardAdminpanel.d.ts +0 -6
- package/dist/Sol/wingets/DashboardAdminpanel.js +0 -90
- package/dist/Sol/wingets/DashboardAuditlog.d.ts +0 -8
- package/dist/Sol/wingets/DashboardAuditlog.js +0 -50
- package/dist/Sol/wingets/DashboardCreatesandboxform.d.ts +0 -10
- package/dist/Sol/wingets/DashboardCreatesandboxform.js +0 -71
- package/dist/Sol/wingets/DashboardEventstimeline.d.ts +0 -8
- package/dist/Sol/wingets/DashboardEventstimeline.js +0 -83
- package/dist/Sol/wingets/DashboardGlobalsandboxestable.d.ts +0 -8
- package/dist/Sol/wingets/DashboardGlobalsandboxestable.js +0 -57
- package/dist/Sol/wingets/DashboardMeshnodestable.d.ts +0 -8
- package/dist/Sol/wingets/DashboardMeshnodestable.js +0 -103
- package/dist/Sol/wingets/DashboardSandboxlist.d.ts +0 -10
- package/dist/Sol/wingets/DashboardSandboxlist.js +0 -163
- package/dist/Sol/wingets/DashboardUserstable.d.ts +0 -8
- package/dist/Sol/wingets/DashboardUserstable.js +0 -78
- package/dist/Sol/wingets/HomeEntrygate.d.ts +0 -23
- package/dist/Sol/wingets/HomeEntrygate.js +0 -73
- package/dist/Sol/wingets/HomeMetricstrip.d.ts +0 -9
- package/dist/Sol/wingets/HomeMetricstrip.js +0 -4
- package/dist/Sol/wingets/HomeRuntimediagram.d.ts +0 -1
- package/dist/Sol/wingets/HomeRuntimediagram.js +0 -22
- package/dist/Sol/wingets/LoginForm.d.ts +0 -19
- package/dist/Sol/wingets/LoginForm.js +0 -141
- package/dist/Sol/wingets/RegisterPasswordconfirm.d.ts +0 -13
- package/dist/Sol/wingets/RegisterPasswordconfirm.js +0 -16
- package/dist/Sol/wingets/RegisterPasswordmeter.d.ts +0 -19
- package/dist/Sol/wingets/RegisterPasswordmeter.js +0 -65
- package/dist/Sol/wingets/RegisterUsernamerules.d.ts +0 -11
- package/dist/Sol/wingets/RegisterUsernamerules.js +0 -16
- package/dist/Sol/wingets/index.d.ts +0 -39
- package/dist/Sol/wingets/index.js +0 -39
- package/dist/alternatives.d.ts +0 -508
- package/dist/alternatives.js +0 -950
- package/dist/api.d.ts +0 -154
- package/dist/api.js +0 -174
- package/dist/auth.d.ts +0 -268
- package/dist/auth.js +0 -476
- package/dist/automation.d.ts +0 -425
- package/dist/automation.js +0 -566
- package/dist/browser.d.ts +0 -561
- package/dist/browser.js +0 -1058
- package/dist/capacitor.config.d.ts +0 -45
- package/dist/capacitor.config.js +0 -48
- package/dist/catalog.d.ts +0 -43
- package/dist/catalog.js +0 -44
- package/dist/cli.d.ts +0 -16
- package/dist/cli.js +0 -168
- package/dist/communication.d.ts +0 -181
- package/dist/communication.js +0 -376
- package/dist/compute.d.ts +0 -1160
- package/dist/compute.js +0 -2272
- package/dist/dashboardlib.d.ts +0 -58
- package/dist/dashboardlib.js +0 -161
- package/dist/db.d.ts +0 -569
- package/dist/db.js +0 -1080
- package/dist/distribution.d.ts +0 -528
- package/dist/distribution.js +0 -810
- package/dist/drizzle.config.d.ts +0 -20
- package/dist/drizzle.config.js +0 -18
- package/dist/edgelandes.d.ts +0 -70
- package/dist/edgelandes.host.d.ts +0 -26
- package/dist/edgelandes.host.js +0 -1089
- package/dist/edgelandes.inproc.d.ts +0 -27
- package/dist/edgelandes.inproc.js +0 -952
- package/dist/edgelandes.js +0 -1133
- package/dist/edgelandes.ninety.d.ts +0 -31
- package/dist/edgelandes.ninety.js +0 -174
- package/dist/edgelandes.virtual.d.ts +0 -25
- package/dist/edgelandes.virtual.js +0 -629
- package/dist/edgeplane.d.ts +0 -121
- package/dist/edgeplane.js +0 -341
- package/dist/examplelocaljob.d.ts +0 -1
- package/dist/examplelocaljob.js +0 -14
- package/dist/execution.d.ts +0 -529
- package/dist/execution.js +0 -760
- package/dist/family.d.ts +0 -16
- package/dist/family.js +0 -42
- package/dist/familyurl.d.ts +0 -21
- package/dist/familyurl.js +0 -24
- package/dist/format.d.ts +0 -18
- package/dist/format.js +0 -59
- package/dist/foundation.d.ts +0 -172
- package/dist/foundation.js +0 -312
- package/dist/index.d.ts +0 -735
- package/dist/index.js +0 -1020
- package/dist/integration.d.ts +0 -235
- package/dist/integration.js +0 -228
- package/dist/intelligence.d.ts +0 -93
- package/dist/intelligence.js +0 -144
- package/dist/isolation.d.ts +0 -128
- package/dist/isolation.js +0 -95
- package/dist/labels.d.ts +0 -665
- package/dist/labels.js +0 -707
- package/dist/localauth.d.ts +0 -127
- package/dist/localauth.js +0 -413
- package/dist/media.d.ts +0 -343
- package/dist/media.js +0 -985
- package/dist/mesh.d.ts +0 -177
- package/dist/mesh.js +0 -468
- package/dist/modalityregistry.d.ts +0 -109
- package/dist/modalityregistry.js +0 -1386
- package/dist/modes.d.ts +0 -358
- package/dist/modes.js +0 -133
- package/dist/onboardingstate.d.ts +0 -79
- package/dist/onboardingstate.js +0 -282
- package/dist/orchestrator.d.ts +0 -1338
- package/dist/orchestrator.js +0 -4310
- package/dist/packager/targetcli.js +0 -4
- package/dist/paths.d.ts +0 -2
- package/dist/paths.js +0 -14
- package/dist/performance.d.ts +0 -415
- package/dist/performance.js +0 -826
- package/dist/quantum.d.ts +0 -809
- package/dist/quantum.js +0 -2072
- package/dist/render.d.ts +0 -380
- package/dist/render.js +0 -1072
- package/dist/runall.d.ts +0 -2
- package/dist/runall.js +0 -39
- package/dist/runtimeprobe.d.ts +0 -4
- package/dist/runtimeprobe.js +0 -8
- package/dist/sandbox.d.ts +0 -355
- package/dist/sandbox.js +0 -1721
- package/dist/sandboxenvprofile.d.ts +0 -29
- package/dist/sandboxenvprofile.js +0 -89
- package/dist/sandboxprofile.d.ts +0 -137
- package/dist/sandboxprofile.js +0 -241
- package/dist/sandboxqueue.d.ts +0 -108
- package/dist/sandboxqueue.js +0 -201
- package/dist/sandboxquota.d.ts +0 -121
- package/dist/sandboxquota.js +0 -236
- package/dist/scheduler.d.ts +0 -595
- package/dist/scheduler.js +0 -1258
- package/dist/scriptlanes.d.ts +0 -182
- package/dist/scriptlanes.js +0 -660
- package/dist/scripts.buildengine.d.ts +0 -1
- package/dist/scripts.buildengine.js +0 -39
- package/dist/scripts.securitygate.d.ts +0 -1
- package/dist/scripts.securitygate.js +0 -68
- package/dist/scripts.validateflatnative.d.ts +0 -1
- package/dist/scripts.validateflatnative.js +0 -72
- package/dist/security.d.ts +0 -500
- package/dist/security.js +0 -1169
- package/dist/seedcatalog.d.ts +0 -13
- package/dist/seedcatalog.js +0 -46
- package/dist/server.d.ts +0 -20
- package/dist/server.js +0 -53
- package/dist/speccatalog.d.ts +0 -31
- package/dist/speccatalog.js +0 -163
- package/dist/tiers.d.ts +0 -1001
- package/dist/tiers.js +0 -2169
- package/dist/utils.d.ts +0 -2
- package/dist/utils.js +0 -5
- package/dist/vaulthandoff.d.ts +0 -141
- package/dist/vaulthandoff.js +0 -444
- package/dist/virtual.d.ts +0 -640
- package/dist/virtual.js +0 -1284
- package/dist/virtualcpu.d.ts +0 -315
- package/dist/virtualcpu.js +0 -1180
- package/dist/virtualgpu.d.ts +0 -344
- package/dist/virtualgpu.js +0 -1000
- package/dist/virtualization.d.ts +0 -606
- package/dist/virtualization.js +0 -1186
- package/dist/virtualmemory.d.ts +0 -817
- package/dist/virtualmemory.js +0 -1795
- package/dist/vite.config.d.ts +0 -3
- package/dist/vite.config.js +0 -48
- package/dist/vitest.config.d.ts +0 -2
- package/dist/vitest.config.js +0 -25
- package/dist/webserver.d.ts +0 -166
- package/dist/webserver.js +0 -2226
- package/dist/workloadlaw.d.ts +0 -133
- package/dist/workloadlaw.js +0 -193
- package/docs/.gitkeep +0 -0
- package/docs/architecture.1.8.19.md +0 -76
- package/docs/logs/examplesession.json +0 -54
- package/docs/repo.analysis.1.8.21.json +0 -2617
- package/docs/repo.candidates.1.8.21.jsonl +0 -666
- package/docs/repo.selected.1.8.21.json +0 -786
- package/manifest.json +0 -20
- package/media.ts +0 -1337
- package/virtualcpu.ts +0 -1274
- package/virtualgpu.ts +0 -1182
- package/virtualization.ts +0 -1628
- package/virtualmemory.ts +0 -2303
- /package/docs/{artifactresearch.1.8.9.md → artifactresearch189.md} +0 -0
- /package/docs/{batches.1816.to.1820.md → batches1816to1820.md} +0 -0
- /package/docs/{brancharchive.2026.08.18.md → brancharchive20260818.md} +0 -0
- /package/docs/{containerplatforms.1.8.17.md → containerplatforms1817.md} +0 -0
- /package/docs/{e2ugh.engine.md → e2ughengine.md} +0 -0
- /package/docs/{flatbuildresearch.1.8.11.md → flatbuildresearch1811.md} +0 -0
- /package/docs/{licenseaudit.1.8.12.md → licenseaudit1812.md} +0 -0
- /package/docs/{mobileconversionresearch.1.8.10.md → mobileconversionresearch1810.md} +0 -0
- /package/docs/{nativeidentityresearch.1.8.11.md → nativeidentityresearch1811.md} +0 -0
- /package/docs/{native.wrappers.md → nativewrappers.md} +0 -0
- /package/docs/{planning.1.8.18.md → planning1818.md} +0 -0
- /package/docs/{planning.1.8.19.md → planning1819.md} +0 -0
- /package/docs/{planning.engine.md → planningengine.md} +0 -0
- /package/docs/{releasenotes.1.8.12.md → releasenotes1812.md} +0 -0
- /package/docs/{releasenotes.1.8.15.md → releasenotes1815.md} +0 -0
- /package/docs/{releasenotes.1.8.16.md → releasenotes1816.md} +0 -0
- /package/docs/{releasenotes.1.8.17.md → releasenotes1817.md} +0 -0
- /package/docs/{releasenotes.1.8.18.md → releasenotes1818.md} +0 -0
- /package/docs/{releasenotes.1.8.19.md → releasenotes1819.md} +0 -0
- /package/docs/{reorganization.1.8.8.md → reorganization188.md} +0 -0
- /package/docs/{reorganization.1.8.9.md → reorganization189.md} +0 -0
- /package/docs/{repo.research.1.8.16.md → reporesearch1816.md} +0 -0
- /package/docs/{repo.research.1.8.21.md → reporesearch1821.md} +0 -0
- /package/docs/{repo.synthesis.1.8.21.md → reposynthesis1821.md} +0 -0
- /package/docs/{research.1.8.18.isolation.md → research1818isolation.md} +0 -0
- /package/docs/{research.1.8.19.virtual.browser.md → research1819virtualbrowser.md} +0 -0
- /package/docs/{scanningresearch.1.8.11.md → scanningresearch1811.md} +0 -0
- /package/docs/{securityaudit.1.8.7.md → securityaudit187.md} +0 -0
- /package/docs/{securityreferences.1.8.11.md → securityreferences1811.md} +0 -0
- /package/docs/{securityresearch.1.8.11.md → securityresearch1811.md} +0 -0
- /package/docs/{signingresearch.1.8.12.md → signingresearch1812.md} +0 -0
- /package/docs/{tauri.glib.risk.1.8.11.md → tauriglibrisk1811.md} +0 -0
- /package/docs/{todo.1.8.18.md → todo1818.md} +0 -0
- /package/docs/{todo.1.8.19.md → todo1819.md} +0 -0
- /package/docs/{toolchainresearch.1.8.9.md → toolchainresearch189.md} +0 -0
- /package/docs/{web.duplicatecleanup.md → webduplicatecleanup.md} +0 -0
- /package/docs/{web.ideas.md → webideas.md} +0 -0
- /package/docs/{workflowimprovements.2026.08.19.md → workflowimprovements20260819.md} +0 -0
package/dist/modes.d.ts
DELETED
|
@@ -1,358 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* modes.ts — target mode resolution and host-neutral deployment contracts.
|
|
3
|
-
*
|
|
4
|
-
* This file is the v2.0.0 grand-merge consolidation of the former nested
|
|
5
|
-
* folders of the repository (modes) into the single
|
|
6
|
-
* root-level domain file of the saddle family standard: one optimized
|
|
7
|
-
* TypeScript file per correlated domain, ordinal sections, JSDoc on every
|
|
8
|
-
* block, intra-domain imports dissolved, cross-domain imports rewritten to
|
|
9
|
-
* ./<domain>.js. Every capability of every source file is preserved here;
|
|
10
|
-
* the pure re-export barrels (none in this domain) folded their surface into this file directly.
|
|
11
|
-
*/
|
|
12
|
-
export declare function modeprofile(options?: {}): {
|
|
13
|
-
[k: string]: {
|
|
14
|
-
name: string;
|
|
15
|
-
enabled: boolean;
|
|
16
|
-
paired: boolean;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
export declare function librarymode(factory: any): {
|
|
20
|
-
name: string;
|
|
21
|
-
start: any;
|
|
22
|
-
stop: () => Promise<any>;
|
|
23
|
-
};
|
|
24
|
-
export declare function climode(run: any): {
|
|
25
|
-
name: string;
|
|
26
|
-
run: any;
|
|
27
|
-
};
|
|
28
|
-
export declare function binarymode(run: any): {
|
|
29
|
-
name: string;
|
|
30
|
-
run: any;
|
|
31
|
-
};
|
|
32
|
-
export declare function browsermode(adapter: any): {
|
|
33
|
-
name: string;
|
|
34
|
-
adapter: any;
|
|
35
|
-
};
|
|
36
|
-
export declare function headlessmode(adapter: any): {
|
|
37
|
-
name: string;
|
|
38
|
-
adapter: any;
|
|
39
|
-
};
|
|
40
|
-
export declare function computemode(adapter: any): {
|
|
41
|
-
name: string;
|
|
42
|
-
adapter: any;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* mode matrix keeps supported execution choices in one grouped contract.
|
|
46
|
-
*/
|
|
47
|
-
export declare const modeaxes: Readonly<{
|
|
48
|
-
execution: string[];
|
|
49
|
-
runtime: string[];
|
|
50
|
-
memory: string[];
|
|
51
|
-
file: string[];
|
|
52
|
-
dependency: string[];
|
|
53
|
-
visibility: string[];
|
|
54
|
-
pair: string[];
|
|
55
|
-
}>;
|
|
56
|
-
export declare const operationmodes: readonly string[];
|
|
57
|
-
/** Returns true when the matrix contains the requested axis value. */
|
|
58
|
-
export declare function validatemode(axis: any, value: any): boolean;
|
|
59
|
-
/** Returns a serializable snapshot for documentation and diagnostics. */
|
|
60
|
-
export declare function modecatalog(): {
|
|
61
|
-
axes: {
|
|
62
|
-
[k: string]: string[];
|
|
63
|
-
};
|
|
64
|
-
operationmodes: string[];
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* mode resolver selects open defaults while preserving every caller choice.
|
|
68
|
-
*/
|
|
69
|
-
/** Resolves an execution profile without starting a process or opening a socket. */
|
|
70
|
-
export declare function resolvemode(options?: {}): {
|
|
71
|
-
execution: any;
|
|
72
|
-
runtime: any;
|
|
73
|
-
memory: any;
|
|
74
|
-
file: any;
|
|
75
|
-
dependency: any;
|
|
76
|
-
visibility: any;
|
|
77
|
-
pair: any;
|
|
78
|
-
capabilities: {
|
|
79
|
-
library: boolean;
|
|
80
|
-
browser: boolean;
|
|
81
|
-
cli: boolean;
|
|
82
|
-
physicalmemory: boolean;
|
|
83
|
-
vectorizedmemory: boolean;
|
|
84
|
-
externalmemory: boolean;
|
|
85
|
-
externalfile: boolean;
|
|
86
|
-
externaldependency: boolean;
|
|
87
|
-
visible: boolean;
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
/** Returns stable capabilities for adapters and diagnostics. */
|
|
91
|
-
export declare function modecapabilities(profile: any): {
|
|
92
|
-
library: boolean;
|
|
93
|
-
browser: boolean;
|
|
94
|
-
cli: boolean;
|
|
95
|
-
physicalmemory: boolean;
|
|
96
|
-
vectorizedmemory: boolean;
|
|
97
|
-
externalmemory: boolean;
|
|
98
|
-
externalfile: boolean;
|
|
99
|
-
externaldependency: boolean;
|
|
100
|
-
visible: boolean;
|
|
101
|
-
};
|
|
102
|
-
/** Returns a stable cross-runtime capability report without starting infrastructure. */
|
|
103
|
-
export declare function capabilityreport(options?: {}): {
|
|
104
|
-
version: number;
|
|
105
|
-
axes: {
|
|
106
|
-
[k: string]: string[];
|
|
107
|
-
};
|
|
108
|
-
overrides: {
|
|
109
|
-
runtime: any;
|
|
110
|
-
memory: any;
|
|
111
|
-
file: any;
|
|
112
|
-
dependency: any;
|
|
113
|
-
visibility: any;
|
|
114
|
-
pair: any;
|
|
115
|
-
};
|
|
116
|
-
profiles: {
|
|
117
|
-
mode: string;
|
|
118
|
-
capabilities: {
|
|
119
|
-
library: boolean;
|
|
120
|
-
browser: boolean;
|
|
121
|
-
cli: boolean;
|
|
122
|
-
physicalmemory: boolean;
|
|
123
|
-
vectorizedmemory: boolean;
|
|
124
|
-
externalmemory: boolean;
|
|
125
|
-
externalfile: boolean;
|
|
126
|
-
externaldependency: boolean;
|
|
127
|
-
visible: boolean;
|
|
128
|
-
};
|
|
129
|
-
profile: {
|
|
130
|
-
execution: any;
|
|
131
|
-
runtime: any;
|
|
132
|
-
memory: any;
|
|
133
|
-
file: any;
|
|
134
|
-
dependency: any;
|
|
135
|
-
visibility: any;
|
|
136
|
-
pair: any;
|
|
137
|
-
capabilities: {
|
|
138
|
-
library: boolean;
|
|
139
|
-
browser: boolean;
|
|
140
|
-
cli: boolean;
|
|
141
|
-
physicalmemory: boolean;
|
|
142
|
-
vectorizedmemory: boolean;
|
|
143
|
-
externalmemory: boolean;
|
|
144
|
-
externalfile: boolean;
|
|
145
|
-
externaldependency: boolean;
|
|
146
|
-
visible: boolean;
|
|
147
|
-
};
|
|
148
|
-
};
|
|
149
|
-
}[];
|
|
150
|
-
infrastructure: {
|
|
151
|
-
host: string;
|
|
152
|
-
port: string;
|
|
153
|
-
credentials: string;
|
|
154
|
-
provider: string;
|
|
155
|
-
};
|
|
156
|
-
};
|
|
157
|
-
/** Applies one profile to a caller supplied operation. */
|
|
158
|
-
export declare function withmode(options: any, operation: any): Promise<any>;
|
|
159
|
-
/**
|
|
160
|
-
* deploy surface exposes artifact planning without performing provider mutations.
|
|
161
|
-
*/
|
|
162
|
-
export { publishplan, registrymanifest } from "./distribution.js";
|
|
163
|
-
export { surfacemanifest, surfacebundle } from "./automation.js";
|
|
164
|
-
/**
|
|
165
|
-
* target profiles keep platform packaging open and describe capability boundaries.
|
|
166
|
-
*/
|
|
167
|
-
export declare const targetprofiles: Readonly<{
|
|
168
|
-
application: {
|
|
169
|
-
runtime: string;
|
|
170
|
-
entry: string;
|
|
171
|
-
capabilities: string[];
|
|
172
|
-
formats: string[];
|
|
173
|
-
};
|
|
174
|
-
computer: {
|
|
175
|
-
runtime: string;
|
|
176
|
-
entry: string;
|
|
177
|
-
capabilities: string[];
|
|
178
|
-
formats: string[];
|
|
179
|
-
};
|
|
180
|
-
desktopapp: {
|
|
181
|
-
runtime: string;
|
|
182
|
-
entry: string;
|
|
183
|
-
capabilities: string[];
|
|
184
|
-
formats: string[];
|
|
185
|
-
};
|
|
186
|
-
mobileapp: {
|
|
187
|
-
runtime: string;
|
|
188
|
-
entry: string;
|
|
189
|
-
capabilities: string[];
|
|
190
|
-
formats: string[];
|
|
191
|
-
};
|
|
192
|
-
android: {
|
|
193
|
-
runtime: string;
|
|
194
|
-
entry: string;
|
|
195
|
-
capabilities: string[];
|
|
196
|
-
formats: string[];
|
|
197
|
-
};
|
|
198
|
-
ios: {
|
|
199
|
-
runtime: string;
|
|
200
|
-
entry: string;
|
|
201
|
-
capabilities: string[];
|
|
202
|
-
formats: string[];
|
|
203
|
-
};
|
|
204
|
-
cli: {
|
|
205
|
-
runtime: string;
|
|
206
|
-
entry: string;
|
|
207
|
-
capabilities: string[];
|
|
208
|
-
formats: string[];
|
|
209
|
-
};
|
|
210
|
-
binary: {
|
|
211
|
-
runtime: string;
|
|
212
|
-
entry: string;
|
|
213
|
-
capabilities: string[];
|
|
214
|
-
formats: string[];
|
|
215
|
-
};
|
|
216
|
-
browser: {
|
|
217
|
-
runtime: string;
|
|
218
|
-
entry: string;
|
|
219
|
-
capabilities: string[];
|
|
220
|
-
formats: string[];
|
|
221
|
-
};
|
|
222
|
-
extension: {
|
|
223
|
-
runtime: string;
|
|
224
|
-
entry: string;
|
|
225
|
-
capabilities: string[];
|
|
226
|
-
formats: string[];
|
|
227
|
-
};
|
|
228
|
-
internet: {
|
|
229
|
-
runtime: string;
|
|
230
|
-
entry: string;
|
|
231
|
-
capabilities: string[];
|
|
232
|
-
formats: string[];
|
|
233
|
-
};
|
|
234
|
-
web: {
|
|
235
|
-
runtime: string;
|
|
236
|
-
entry: string;
|
|
237
|
-
capabilities: string[];
|
|
238
|
-
formats: string[];
|
|
239
|
-
};
|
|
240
|
-
libreoffice: {
|
|
241
|
-
runtime: string;
|
|
242
|
-
entry: string;
|
|
243
|
-
capabilities: string[];
|
|
244
|
-
formats: string[];
|
|
245
|
-
};
|
|
246
|
-
mcp: {
|
|
247
|
-
runtime: string;
|
|
248
|
-
entry: string;
|
|
249
|
-
capabilities: string[];
|
|
250
|
-
formats: string[];
|
|
251
|
-
};
|
|
252
|
-
vsix: {
|
|
253
|
-
runtime: string;
|
|
254
|
-
entry: string;
|
|
255
|
-
capabilities: string[];
|
|
256
|
-
formats: string[];
|
|
257
|
-
};
|
|
258
|
-
container: {
|
|
259
|
-
runtime: string;
|
|
260
|
-
entry: string;
|
|
261
|
-
capabilities: string[];
|
|
262
|
-
formats: string[];
|
|
263
|
-
};
|
|
264
|
-
}>;
|
|
265
|
-
/** Creates a surface target with caller supplied entry and capabilities. */
|
|
266
|
-
export declare function targetmanifest(target: any, options?: {}): {
|
|
267
|
-
target: any;
|
|
268
|
-
runtime: any;
|
|
269
|
-
entry: any;
|
|
270
|
-
formats: any;
|
|
271
|
-
capabilities: any;
|
|
272
|
-
permissions: any;
|
|
273
|
-
metadata: any;
|
|
274
|
-
};
|
|
275
|
-
/** Returns all supported target profiles for documentation and tooling. */
|
|
276
|
-
export declare function targetcatalog(): {
|
|
277
|
-
[k: string]: {
|
|
278
|
-
runtime: string;
|
|
279
|
-
entry: string;
|
|
280
|
-
formats: string[];
|
|
281
|
-
capabilities: string[];
|
|
282
|
-
} | {
|
|
283
|
-
runtime: string;
|
|
284
|
-
entry: string;
|
|
285
|
-
formats: string[];
|
|
286
|
-
capabilities: string[];
|
|
287
|
-
} | {
|
|
288
|
-
runtime: string;
|
|
289
|
-
entry: string;
|
|
290
|
-
formats: string[];
|
|
291
|
-
capabilities: string[];
|
|
292
|
-
} | {
|
|
293
|
-
runtime: string;
|
|
294
|
-
entry: string;
|
|
295
|
-
formats: string[];
|
|
296
|
-
capabilities: string[];
|
|
297
|
-
} | {
|
|
298
|
-
runtime: string;
|
|
299
|
-
entry: string;
|
|
300
|
-
formats: string[];
|
|
301
|
-
capabilities: string[];
|
|
302
|
-
} | {
|
|
303
|
-
runtime: string;
|
|
304
|
-
entry: string;
|
|
305
|
-
formats: string[];
|
|
306
|
-
capabilities: string[];
|
|
307
|
-
} | {
|
|
308
|
-
runtime: string;
|
|
309
|
-
entry: string;
|
|
310
|
-
formats: string[];
|
|
311
|
-
capabilities: string[];
|
|
312
|
-
} | {
|
|
313
|
-
runtime: string;
|
|
314
|
-
entry: string;
|
|
315
|
-
formats: string[];
|
|
316
|
-
capabilities: string[];
|
|
317
|
-
} | {
|
|
318
|
-
runtime: string;
|
|
319
|
-
entry: string;
|
|
320
|
-
formats: string[];
|
|
321
|
-
capabilities: string[];
|
|
322
|
-
} | {
|
|
323
|
-
runtime: string;
|
|
324
|
-
entry: string;
|
|
325
|
-
formats: string[];
|
|
326
|
-
capabilities: string[];
|
|
327
|
-
} | {
|
|
328
|
-
runtime: string;
|
|
329
|
-
entry: string;
|
|
330
|
-
formats: string[];
|
|
331
|
-
capabilities: string[];
|
|
332
|
-
} | {
|
|
333
|
-
runtime: string;
|
|
334
|
-
entry: string;
|
|
335
|
-
formats: string[];
|
|
336
|
-
capabilities: string[];
|
|
337
|
-
} | {
|
|
338
|
-
runtime: string;
|
|
339
|
-
entry: string;
|
|
340
|
-
formats: string[];
|
|
341
|
-
capabilities: string[];
|
|
342
|
-
} | {
|
|
343
|
-
runtime: string;
|
|
344
|
-
entry: string;
|
|
345
|
-
formats: string[];
|
|
346
|
-
capabilities: string[];
|
|
347
|
-
} | {
|
|
348
|
-
runtime: string;
|
|
349
|
-
entry: string;
|
|
350
|
-
formats: string[];
|
|
351
|
-
capabilities: string[];
|
|
352
|
-
} | {
|
|
353
|
-
runtime: string;
|
|
354
|
-
entry: string;
|
|
355
|
-
formats: string[];
|
|
356
|
-
capabilities: string[];
|
|
357
|
-
};
|
|
358
|
-
};
|
package/dist/modes.js
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* modes.ts — target mode resolution and host-neutral deployment contracts.
|
|
3
|
-
*
|
|
4
|
-
* This file is the v2.0.0 grand-merge consolidation of the former nested
|
|
5
|
-
* folders of the repository (modes) into the single
|
|
6
|
-
* root-level domain file of the saddle family standard: one optimized
|
|
7
|
-
* TypeScript file per correlated domain, ordinal sections, JSDoc on every
|
|
8
|
-
* block, intra-domain imports dissolved, cross-domain imports rewritten to
|
|
9
|
-
* ./<domain>.js. Every capability of every source file is preserved here;
|
|
10
|
-
* the pure re-export barrels (none in this domain) folded their surface into this file directly.
|
|
11
|
-
*/
|
|
12
|
-
/* ════════════════════════════════════════════════════════════════════ */
|
|
13
|
-
/* Section 1: modes/modes.ts — mode profiles describe paired operation surfaces without changing engine contracts. */
|
|
14
|
-
/* ════════════════════════════════════════════════════════════════════ */
|
|
15
|
-
/**
|
|
16
|
-
* mode profiles describe paired operation surfaces without changing engine contracts.
|
|
17
|
-
*/
|
|
18
|
-
const names = ["computer", "library", "application", "browser", "desktop", "mobile", "extension", "cli", "binary", "internet", "physicalfile", "vectorfile", "visible", "headless"];
|
|
19
|
-
export function modeprofile(options = {}) {
|
|
20
|
-
const enabled = new Set(options.enabled ?? ["library", "cli", "binary"]);
|
|
21
|
-
return Object.fromEntries(names.map((name) => [name, { name, enabled: enabled.has(name), paired: Boolean(options.paired?.includes(name)) }]));
|
|
22
|
-
}
|
|
23
|
-
export function librarymode(factory) { return { name: "library", start: factory, stop: async () => undefined }; }
|
|
24
|
-
export function climode(run) { return { name: "cli", run }; }
|
|
25
|
-
export function binarymode(run) { return { name: "binary", run }; }
|
|
26
|
-
export function browsermode(adapter) { return { name: "browser", adapter }; }
|
|
27
|
-
export function headlessmode(adapter) { return { name: "headless", adapter }; }
|
|
28
|
-
export function computemode(adapter) { return { name: "computer", adapter }; }
|
|
29
|
-
/* ════════════════════════════════════════════════════════════════════ */
|
|
30
|
-
/* Section 2: modes/matrix.ts — mode matrix keeps supported execution choices in one grouped contract. */
|
|
31
|
-
/* ════════════════════════════════════════════════════════════════════ */
|
|
32
|
-
/**
|
|
33
|
-
* mode matrix keeps supported execution choices in one grouped contract.
|
|
34
|
-
*/
|
|
35
|
-
export const modeaxes = Object.freeze({
|
|
36
|
-
execution: ["library", "application", "browser", "desktopapp", "mobileapp", "extension", "cli", "binary", "computer", "internet"],
|
|
37
|
-
runtime: ["node", "browser", "deno", "bun", "worker", "unknown"],
|
|
38
|
-
memory: ["internal", "external", "physical", "vectorized", "library"],
|
|
39
|
-
file: ["internal", "external", "physical", "vector"],
|
|
40
|
-
dependency: ["internal", "external", "dev"],
|
|
41
|
-
visibility: ["visible", "headless"],
|
|
42
|
-
pair: ["without", "with"]
|
|
43
|
-
});
|
|
44
|
-
export const operationmodes = Object.freeze(modeaxes.execution.flatMap((execution) => modeaxes.pair.map((pair) => `${execution}${pair}`)));
|
|
45
|
-
/** Returns true when the matrix contains the requested axis value. */
|
|
46
|
-
export function validatemode(axis, value) { return Boolean(modeaxes[axis]?.includes(value)); }
|
|
47
|
-
/** Returns a serializable snapshot for documentation and diagnostics. */
|
|
48
|
-
export function modecatalog() { return { axes: Object.fromEntries(Object.entries(modeaxes).map(([key, values]) => [key, [...values]])), operationmodes: [...operationmodes] }; }
|
|
49
|
-
/* ════════════════════════════════════════════════════════════════════ */
|
|
50
|
-
/* Section 3: modes/resolve.ts — mode resolver selects open defaults while preserving every caller choice. */
|
|
51
|
-
/* ════════════════════════════════════════════════════════════════════ */
|
|
52
|
-
/**
|
|
53
|
-
* mode resolver selects open defaults while preserving every caller choice.
|
|
54
|
-
*/
|
|
55
|
-
/** Resolves an execution profile without starting a process or opening a socket. */
|
|
56
|
-
export function resolvemode(options = {}) {
|
|
57
|
-
const profile = {
|
|
58
|
-
execution: options.execution ?? "library",
|
|
59
|
-
runtime: options.runtime ?? "unknown",
|
|
60
|
-
memory: options.memory ?? "internal",
|
|
61
|
-
file: options.file ?? "internal",
|
|
62
|
-
dependency: options.dependency ?? "internal",
|
|
63
|
-
visibility: options.visibility ?? "headless",
|
|
64
|
-
pair: options.pair ?? "without"
|
|
65
|
-
};
|
|
66
|
-
for (const [axis, value] of Object.entries(profile))
|
|
67
|
-
if (!validatemode(axis, value))
|
|
68
|
-
throw new TypeError(`unsupported mode ${axis}:${value}`);
|
|
69
|
-
return { ...profile, capabilities: modecapabilities(profile) };
|
|
70
|
-
}
|
|
71
|
-
/** Returns stable capabilities for adapters and diagnostics. */
|
|
72
|
-
export function modecapabilities(profile) {
|
|
73
|
-
return {
|
|
74
|
-
library: profile.execution === "library" || profile.execution === "application",
|
|
75
|
-
browser: profile.execution === "browser" || profile.execution === "extension" || profile.runtime === "browser" || profile.runtime === "worker",
|
|
76
|
-
cli: profile.execution === "cli" || profile.execution === "binary",
|
|
77
|
-
physicalmemory: profile.memory === "physical",
|
|
78
|
-
vectorizedmemory: profile.memory === "vectorized",
|
|
79
|
-
externalmemory: profile.memory === "external",
|
|
80
|
-
externalfile: profile.file === "external",
|
|
81
|
-
externaldependency: profile.dependency === "external",
|
|
82
|
-
visible: profile.visibility === "visible"
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
/** Returns a stable cross-runtime capability report without starting infrastructure. */
|
|
86
|
-
export function capabilityreport(options = {}) {
|
|
87
|
-
const overrides = { runtime: options.runtime ?? "unknown", memory: options.memory ?? "internal", file: options.file ?? "internal", dependency: options.dependency ?? "internal", visibility: options.visibility ?? "headless", pair: options.pair ?? "without" };
|
|
88
|
-
const profiles = modeaxes.execution.map((execution) => {
|
|
89
|
-
const profile = resolvemode({ ...overrides, execution });
|
|
90
|
-
return { mode: execution, capabilities: profile.capabilities, profile };
|
|
91
|
-
});
|
|
92
|
-
return { version: 1, axes: Object.fromEntries(Object.entries(modeaxes).map(([key, values]) => [key, [...values]])), overrides, profiles, infrastructure: { host: "caller-owned", port: "caller-owned", credentials: "caller-owned", provider: "caller-owned" } };
|
|
93
|
-
}
|
|
94
|
-
/** Applies one profile to a caller supplied operation. */
|
|
95
|
-
export async function withmode(options, operation) { if (typeof operation !== "function")
|
|
96
|
-
throw new TypeError("mode operation is required"); return operation(resolvemode(options)); }
|
|
97
|
-
/* ════════════════════════════════════════════════════════════════════ */
|
|
98
|
-
/* Section 4: modes/deploy.ts — deploy surface exposes artifact planning without performing provider mutations. */
|
|
99
|
-
/* ════════════════════════════════════════════════════════════════════ */
|
|
100
|
-
/**
|
|
101
|
-
* deploy surface exposes artifact planning without performing provider mutations.
|
|
102
|
-
*/
|
|
103
|
-
export { publishplan, registrymanifest } from "./distribution.js";
|
|
104
|
-
export { surfacemanifest, surfacebundle } from "./automation.js";
|
|
105
|
-
/* ════════════════════════════════════════════════════════════════════ */
|
|
106
|
-
/* Section 5: modes/targets.ts — target profiles keep platform packaging open and describe capability boundaries. */
|
|
107
|
-
/* ════════════════════════════════════════════════════════════════════ */
|
|
108
|
-
/**
|
|
109
|
-
* target profiles keep platform packaging open and describe capability boundaries.
|
|
110
|
-
*/
|
|
111
|
-
export const targetprofiles = Object.freeze({
|
|
112
|
-
application: { runtime: "caller", entry: "dist/index.js", capabilities: ["memory", "storage", "network"], formats: ["zip", "tarball"] },
|
|
113
|
-
computer: { runtime: "node", entry: "dist/index.js", capabilities: ["memory", "storage", "runner"], formats: ["node", "bun", "deno", "singlefile"] },
|
|
114
|
-
desktopapp: { runtime: "tauri", entry: "desktop/src-tauri", capabilities: ["memory", "file", "visible"], formats: ["appimage", "deb", "rpm", "snap", "flatpak", "dmg", "pkg", "exe", "msi", "msix"] },
|
|
115
|
-
mobileapp: { runtime: "capacitor", entry: "index.html", capabilities: ["memory", "network", "visible"], formats: ["apk", "aab", "ipa"] },
|
|
116
|
-
android: { runtime: "capacitor", entry: "android", capabilities: ["memory", "network", "visible"], formats: ["apk", "aab"] },
|
|
117
|
-
ios: { runtime: "capacitor", entry: "ios", capabilities: ["memory", "network", "visible"], formats: ["ipa"] },
|
|
118
|
-
cli: { runtime: "node", entry: "dist/cli/main.js", capabilities: ["memory", "storage", "network"], formats: ["node", "bun", "deno", "singlefile", "exe", "deb", "rpm"] },
|
|
119
|
-
binary: { runtime: "caller", entry: "dist/cli/main.js", capabilities: ["memory", "storage", "runner"], formats: ["sea", "singlefile", "wasm"] },
|
|
120
|
-
browser: { runtime: "tauri", entry: "desktop/src-tauri", capabilities: ["memory", "network", "visible"], formats: ["html", "pwa", "wasm", "appimage", "deb", "rpm", "dmg", "exe", "msi"] },
|
|
121
|
-
extension: { runtime: "browser", entry: "dist/extension/index.js", capabilities: ["browser", "network", "visible"], formats: ["crx", "xpi", "safariextz"] },
|
|
122
|
-
internet: { runtime: "caller", entry: "dist/index.js", capabilities: ["network", "webhook", "api"], formats: ["http", "websocket", "grpc", "rest"] },
|
|
123
|
-
web: { runtime: "browser", entry: "index.html", capabilities: ["network", "visible"], formats: ["html", "pwa", "ssg", "ssr", "wasm"] },
|
|
124
|
-
libreoffice: { runtime: "caller", entry: "dist/index.js", capabilities: ["file", "network"], formats: ["oxt", "zip"] },
|
|
125
|
-
mcp: { runtime: "caller", entry: "dist/adapters/mcpserver.js", capabilities: ["network", "api"], formats: ["stdio", "jsonrpc"] },
|
|
126
|
-
vsix: { runtime: "caller", entry: "dist/index.js", capabilities: ["network", "visible"], formats: ["vsix"] },
|
|
127
|
-
container: { runtime: "node", entry: "dist/index.js", capabilities: ["memory", "storage", "network"], formats: ["oci", "docker"] }
|
|
128
|
-
});
|
|
129
|
-
/** Creates a surface target with caller supplied entry and capabilities. */
|
|
130
|
-
export function targetmanifest(target, options = {}) { const profile = targetprofiles[target]; if (!profile)
|
|
131
|
-
throw new TypeError(`unsupported target: ${target}`); return { target, runtime: options.runtime ?? profile.runtime, entry: options.entry ?? profile.entry, formats: options.formats ?? [...profile.formats], capabilities: options.capabilities ?? [...profile.capabilities], permissions: options.permissions ?? [], metadata: options.metadata ?? {} }; }
|
|
132
|
-
/** Returns all supported target profiles for documentation and tooling. */
|
|
133
|
-
export function targetcatalog() { return Object.fromEntries(Object.entries(targetprofiles).map(([key, value]) => [key, { ...value, capabilities: [...value.capabilities] }])); }
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* onboardingstate.ts — the ONE writer of the visitor's first-run flags, the
|
|
3
|
-
* state of the entry-flow contract (intro → onboarding → the platform). The
|
|
4
|
-
* state is { introseen, onboardingseen } and it is catalogued, not just
|
|
5
|
-
* browser: the accessor consults the platform database over GET
|
|
6
|
-
* /api/v1/onboarding and writes it over POST /api/v1/onboarding, both HTTPS
|
|
7
|
-
* only — the base url arrives through VITE_ONBOARDING_URL and every
|
|
8
|
-
* candidate host is validated first (localhost, loopback, private,
|
|
9
|
-
* link-local, CGNAT and the reserved documentation ranges are refused, so
|
|
10
|
-
* the flags never ride a dev or internal endpoint; mapped IPv6 literals are
|
|
11
|
-
* normalized back to their embedded IPv4 before the public check). The
|
|
12
|
-
* localStorage key saddle.onboarding.seen is purely the offline cache of
|
|
13
|
-
* the database (the DB is the source of truth; the cache avoids replaying
|
|
14
|
-
* the flow offline) and module memory covers client-side re-navigation.
|
|
15
|
-
* Reads reconcile with a seen-wins merge — a stage seen anywhere stays
|
|
16
|
-
* seen, the flow is never forced twice. The page anchors never touch the
|
|
17
|
-
* flags directly: the intro marks introseen, the onboarding marks
|
|
18
|
-
* onboardingseen, the home entry gate only reads.
|
|
19
|
-
*/
|
|
20
|
-
/** the visitor state the entry flow consults (the two gates of the app). */
|
|
21
|
-
export type VisitorOnboarding = {
|
|
22
|
-
/** the animated intro was seen — the splash never replays */
|
|
23
|
-
introseen: boolean;
|
|
24
|
-
/** the first-run onboarding was seen (finish or skip) — never forced again */
|
|
25
|
-
onboardingseen: boolean;
|
|
26
|
-
};
|
|
27
|
-
/** the stages one call can mark seen. */
|
|
28
|
-
export type OnboardingStage = 'intro' | 'onboarding';
|
|
29
|
-
/**
|
|
30
|
-
* Validates a platform base url: HTTPS only, and the host must be public —
|
|
31
|
-
* localhost, loopback, private, link-local, CGNAT, benchmarking,
|
|
32
|
-
* unique-local and the reserved documentation ranges are refused; a mapped
|
|
33
|
-
* IPv6 literal is normalized to its embedded IPv4 first; any other IPv6
|
|
34
|
-
* literal is refused (the gateway rides a name).
|
|
35
|
-
*
|
|
36
|
-
* @param base the configured base url candidate.
|
|
37
|
-
* @returns true when the base may be consulted.
|
|
38
|
-
*/
|
|
39
|
-
export declare function hostallowed(base: string): boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Answers the flags after one stage was marked seen (pure: the writer and
|
|
42
|
-
* the tests share this merge — seen-wins, a stage never unsees).
|
|
43
|
-
*
|
|
44
|
-
* @param state the flags before the write.
|
|
45
|
-
* @param stage the stage being marked seen.
|
|
46
|
-
* @returns the flags after the write.
|
|
47
|
-
*/
|
|
48
|
-
export declare function mergeStage(state: VisitorOnboarding, stage: OnboardingStage): VisitorOnboarding;
|
|
49
|
-
/**
|
|
50
|
-
* Synchronous read of the known state: module memory first, then the
|
|
51
|
-
* localStorage cache. The entry gate uses this for the flash-free fast
|
|
52
|
-
* path; null means the state is still unknown and the caller must await
|
|
53
|
-
* loadOnboardingState.
|
|
54
|
-
*
|
|
55
|
-
* @returns the known flags, or null when nothing is known yet.
|
|
56
|
-
*/
|
|
57
|
-
export declare function readOnboardingState(): VisitorOnboarding | null;
|
|
58
|
-
/**
|
|
59
|
-
* Full resolve of the flags: memory/cache first, then the platform database
|
|
60
|
-
* over GET /api/v1/onboarding — reconciled with the seen-wins merge so a
|
|
61
|
-
* stage seen anywhere stays seen. The session answer is memoized;
|
|
62
|
-
* re-navigation never refetches.
|
|
63
|
-
*
|
|
64
|
-
* @returns the resolved visitor onboarding flags.
|
|
65
|
-
*/
|
|
66
|
-
export declare function loadOnboardingState(): Promise<VisitorOnboarding>;
|
|
67
|
-
/**
|
|
68
|
-
* Marks the intro stage seen and persists it everywhere: module memory, the
|
|
69
|
-
* localStorage cache and — when a platform base is configured — the
|
|
70
|
-
* database over POST /api/v1/onboarding. The ONLY writer of the intro flag.
|
|
71
|
-
*/
|
|
72
|
-
export declare function markIntroSeen(): void;
|
|
73
|
-
/**
|
|
74
|
-
* Marks the onboarding stage seen (finish or skip — both imply the intro)
|
|
75
|
-
* and persists it everywhere. The ONLY writer of the onboarding flag.
|
|
76
|
-
*/
|
|
77
|
-
export declare function markOnboardingSeen(): void;
|
|
78
|
-
/** Test seam: clears the module memory (the cache and the platform are untouched). */
|
|
79
|
-
export declare function resetOnboardingMemory(): void;
|