@wenathlan/saddle 2.0.155 → 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 +147 -1385
- package/README.md +3 -3
- package/biome.jsonc +3 -3
- package/docs/architecture1819.md +31 -68
- package/docs/features.md +5 -0
- package/index.ts +7 -13
- package/modalityregistry.ts +189 -145
- package/package.json +27 -26
- package/sandbox.ts +1185 -0
- package/scheduler.ts +1 -1
- package/tsconfig.json +2 -2
- package/virtual.ts +6428 -5
- package/docs/.gitkeep +0 -0
- package/docs/architecture1819.mmd +0 -33
- package/docs/logs/examplesession.json +0 -54
- package/docs/repoanalysis1821.json +0 -2617
- package/docs/repocandidates1821.jsonl +0 -666
- package/docs/reposelected1821.json +0 -786
- package/virtualcpu.ts +0 -1274
- package/virtualgpu.ts +0 -1182
- package/virtualization.ts +0 -1628
- package/virtualmemory.ts +0 -2303
package/README.md
CHANGED
|
@@ -30,8 +30,8 @@ domain modules land beside the saddle domains:
|
|
|
30
30
|
| `scheduler.ts`, `compute.ts`, `performance.ts` | job queues, batch compute and benchmark planning |
|
|
31
31
|
| `media.ts`, `render.ts`, `quantum.ts`, `tiers.ts` | media pipeline, GPU registry, quantum simulation, tier policy |
|
|
32
32
|
| `security.ts`, `alternatives.ts` | hardening gates and the alternative-stack catalog |
|
|
33
|
-
| `index.html`, `App.tsx`, `
|
|
34
|
-
| `server.ts`, `sandbox.ts` | the zero-dependency self-hosted API of the 2.0.
|
|
33
|
+
| `index.html`, `App.tsx`, `sol/` | the single SPA shell and the Sol theme (one tsx app with one stylesheet per theme) |
|
|
34
|
+
| `server.ts`, `sandbox.ts` | the zero-dependency self-hosted API of the 2.0.156 grand-merge envelope (`node server.ts`; the api answers its version at `/api/v1/health`) and the browser-pure engine port |
|
|
35
35
|
| `vercel.json`, `netlify.toml` | the platform deploy adapters beside the surface they publish (the caddy ghost stays out of the tree) |
|
|
36
36
|
| `specs/*` package exports | processors, gpus, cores, boards and the qemu/mttg/passage/docker envelopes |
|
|
37
37
|
|
|
@@ -282,7 +282,7 @@ intelligence.ts, modes.ts
|
|
|
282
282
|
the saddle domain routing barrel files (bot, browser, delivery, integrations, profiles)
|
|
283
283
|
server.ts, webserver.ts, api.ts, cli.ts
|
|
284
284
|
the self-hosted api surfaces, the web console and the stable cli
|
|
285
|
-
|
|
285
|
+
sol/ the Sol theme — the platform's web surface (one tsx app, one stylesheet per theme)
|
|
286
286
|
specs processors.json, gpus.json, cores.json, boards.json and the qemu/mttg/passage/docker/vm envelopes
|
|
287
287
|
tests/ deterministic engine and extension coverage
|
|
288
288
|
docs/ architecture, API, security, release and registry notes
|
package/biome.jsonc
CHANGED
package/docs/architecture1819.md
CHANGED
|
@@ -1,76 +1,39 @@
|
|
|
1
|
-
#
|
|
1
|
+
# architecture 1819
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
This reorganization preserves every existing capability while making ownership and dependency direction easier to inspect. The root entry point remains a thin universal router. Public contracts remain additive and stable. Existing package subpaths remain compatible. Generated `dist/` output remains untracked.
|
|
6
|
-
|
|
7
|
-
> A domain groups correlated behavior, contracts and tests. It is not a claim that unrelated code is removed or that an infrastructure adapter is activated.
|
|
8
|
-
|
|
9
|
-
## Twenty correlated domains
|
|
10
|
-
|
|
11
|
-
| ID | Domain | Current ownership | Allowed direction |
|
|
12
|
-
| --- | --- | --- | --- |
|
|
13
|
-
| 01 | Public surface | `index.ts`, `library/` | Re-exports domain façades only. |
|
|
14
|
-
| 02 | Foundation | `core/` | Defines errors, identifiers, hashing, events and serializable nouns. |
|
|
15
|
-
| 03 | Isolation policy | `isolation/`, API policy helpers | Evaluates approval, denial, handoff and receipt boundaries. |
|
|
16
|
-
| 04 | Execution planning | `runtime/`, `runners/` | Plans and observes work through caller-owned adapters. |
|
|
17
|
-
| 05 | Memory planning | `memory/` | Defines internal working-set, targets, transforms and bounded plans. |
|
|
18
|
-
| 06 | Storage planning | `storage/` | Defines adapter-owned content, cache, chunk and synchronization contracts. |
|
|
19
|
-
| 07 | Persistence | `persistence/` | Defines optional schema, migration and provider-neutral persistence adapters. |
|
|
20
|
-
| 08 | Browser | `browser/`, `extension/` | Defines browser, virtual-browser, extension and session contracts without user-profile access. |
|
|
21
|
-
| 09 | Acquisition | `scrape/`, `captcha/` | Defines request, crawl, extract, proxy and challenge contracts. |
|
|
22
|
-
| 10 | Communication | `api/` | Defines authenticated envelopes, transports, rate policy and event serialization. |
|
|
23
|
-
| 11 | External adapters | `adapters/` | Defines replaceable forge, socket, app and MCP adapters. |
|
|
24
|
-
| 12 | Automation | `automation/`, `surfaces/` | Defines automation manifests, permissions, triggers and surface requirements. |
|
|
25
|
-
| 13 | Intelligence | `ai/` | Defines token, chunk, retrieval, provenance and metric contracts. |
|
|
26
|
-
| 14 | Binary handling | `binary/` | Defines archive, build and transformation plans without execution. |
|
|
27
|
-
| 15 | Distribution | `packager/`, `release/` | Defines package, artifact, delivery, readiness and evidence contracts; filesystem-backed asset verification remains an explicit subpath. |
|
|
28
|
-
| 16 | Modes | `modes/`, `server/` | Defines target modes, surface profiles and host-neutral service/deployment adapters; the Node server remains an explicit subpath only. |
|
|
29
|
-
| 17 | Commands | `cli/` | Defines command parsing, presentation and command-level integration. |
|
|
30
|
-
| 18 | Web application | `web/` | Defines static routes, UI components, visual assets and build boundaries. |
|
|
31
|
-
| 19 | Native modes | `desktop/`, `android/`, `ios/`, `extension/` | Defines platform packaging metadata and calls library contracts. |
|
|
32
|
-
| 20 | Quality and operations | `tests/`, `.github/`, `docs/` | Defines deterministic evidence, build checks, release operations and architecture records. |
|
|
33
|
-
|
|
34
|
-
## Dependency flow
|
|
35
|
-
|
|
36
|
-

|
|
3
|
+
The architecture flowchart of the saddle engine layers (mermaid source, formerly architecture1819.mmd):
|
|
37
4
|
|
|
38
5
|
```mermaid
|
|
39
6
|
flowchart TD
|
|
40
|
-
public[Public surface] --> foundation[Foundation]
|
|
41
|
-
public --> policy[Isolation policy]
|
|
42
|
-
public --> execution[Execution
|
|
43
|
-
public --> memory[Memory
|
|
44
|
-
public --> storage[Storage
|
|
45
|
-
public -->
|
|
46
|
-
public -->
|
|
47
|
-
public -->
|
|
48
|
-
public -->
|
|
49
|
-
public -->
|
|
50
|
-
public -->
|
|
51
|
-
public -->
|
|
52
|
-
public -->
|
|
7
|
+
public[01 Public surface] --> foundation[02 Foundation]
|
|
8
|
+
public --> policy[03 Isolation policy]
|
|
9
|
+
public --> execution[04 Execution]
|
|
10
|
+
public --> memory[05 Memory]
|
|
11
|
+
public --> storage[06 Storage]
|
|
12
|
+
public --> persistence[07 Persistence]
|
|
13
|
+
public --> browser[08 Browser]
|
|
14
|
+
public --> acquisition[09 Acquisition]
|
|
15
|
+
public --> communication[10 Communication]
|
|
16
|
+
public --> integration[11 External adapters]
|
|
17
|
+
public --> automation[12 Automation]
|
|
18
|
+
public --> intelligence[13 Intelligence]
|
|
19
|
+
public --> binary[14 Binary]
|
|
20
|
+
public --> distribution[15 Distribution]
|
|
21
|
+
public --> modes[16 Modes]
|
|
22
|
+
public --> commands[17 Commands]
|
|
23
|
+
public --> web[18 Web application]
|
|
24
|
+
public --> native[19 Native modes]
|
|
25
|
+
public --> quality[20 Quality operations]
|
|
53
26
|
foundation --> policy
|
|
54
27
|
policy --> execution
|
|
55
|
-
memory --> storage
|
|
56
|
-
storage --> persistence[Persistence]
|
|
28
|
+
memory --> storage --> persistence
|
|
57
29
|
acquisition --> browser
|
|
58
|
-
automation --> communication
|
|
59
|
-
execution -->
|
|
60
|
-
browser -->
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
modes -->
|
|
64
|
-
|
|
65
|
-
|
|
30
|
+
automation --> communication --> integration
|
|
31
|
+
execution --> integration
|
|
32
|
+
browser --> integration
|
|
33
|
+
binary --> distribution --> quality
|
|
34
|
+
modes --> commands
|
|
35
|
+
modes --> web
|
|
36
|
+
modes --> native
|
|
37
|
+
web --> quality
|
|
38
|
+
native --> quality
|
|
66
39
|
```
|
|
67
|
-
|
|
68
|
-
The root may import only domain façades. Each façade may import its owned modules and lower-level contracts. Runtime, browser, storage, binary and remote-provider behavior remain adapter-owned: no domain may add implicit host, filesystem, browser-profile, network or provider effects.
|
|
69
|
-
|
|
70
|
-
## Compatibility rules
|
|
71
|
-
|
|
72
|
-
Existing module paths referenced by package exports remain valid. A module may be moved only after a compatibility shim or an equivalent export is in place, all relative imports are updated, and the package dry-run includes the expected output. Native mode metadata, workflow paths, CLI command paths and static web routing are release boundaries and therefore move only with corresponding validation.
|
|
73
|
-
|
|
74
|
-
## Implementation order
|
|
75
|
-
|
|
76
|
-
The first reorganization block groups the public root exports behind domain façades. The second groups adjacent library modules where no package subpath or native workflow depends on their exact location. The final block aligns tests and documentation with the same 20 domains. Each block must pass the engine build, active tests, legacy tests, formatting, package inspection, web checks and native-flat validation before the next block begins.
|
package/docs/features.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# saddle features
|
|
2
|
+
|
|
3
|
+
## Dependencies
|
|
4
|
+
|
|
5
|
+
- synchronized dependency union — the eleven family apps share one dependency tree: identical `dependencies`, `devDependencies` and `peerDependencies` (same keys, same versions, nothing removed, highest semver wins on conflicts) and one `engines` catalog with node as maestro and the V 0.5.2 seat as catalog annotation (@family wave/depssync).
|
package/index.ts
CHANGED
|
@@ -21,7 +21,7 @@ import { randomInt, randomUUID } from 'node:crypto';
|
|
|
21
21
|
import { EventEmitter } from 'node:events';
|
|
22
22
|
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
23
23
|
import { join } from 'node:path';
|
|
24
|
-
import type { migprofileid } from './
|
|
24
|
+
import type { migprofileid } from './virtual.ts';
|
|
25
25
|
|
|
26
26
|
/* ------------------------------------------------------------------ */
|
|
27
27
|
/* Section 1: reference versions */
|
|
@@ -1446,18 +1446,12 @@ export {
|
|
|
1446
1446
|
tmpfsrecipe,
|
|
1447
1447
|
zramrecipe,
|
|
1448
1448
|
} from './tiers.ts';
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
export * from
|
|
1453
|
-
|
|
1454
|
-
*
|
|
1455
|
-
* bridge). */
|
|
1456
|
-
export * from './virtualization.ts';
|
|
1457
|
-
/** Re-exports the MIG profile union declared by the memory module. */
|
|
1458
|
-
export type { migprofileid } from './virtualmemory.ts';
|
|
1459
|
-
/** Re-exports the memory tier catalog and virtual memory manager. */
|
|
1460
|
-
export * from './virtualmemory.ts';
|
|
1449
|
+
/* the virtual family fold (the edgelandes law, wave/virtualfold): the
|
|
1450
|
+
* four arm modules — virtualcpu.ts, virtualgpu.ts, virtualization.ts and
|
|
1451
|
+
* virtualmemory.ts — retired into the one keyword file virtual.ts, so
|
|
1452
|
+
* their star re-exports retire with them: the `export * from
|
|
1453
|
+
* './virtual.ts'` of the routing barrel below carries every one of their
|
|
1454
|
+
* names (plus the MIG profile type union) through the single seat. */
|
|
1461
1455
|
|
|
1462
1456
|
/* ── Section 2: the saddle domain routing barrel ── */
|
|
1463
1457
|
|