@wenathlan/saddle 2.0.150 → 2.0.152

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.
Files changed (296) hide show
  1. package/Dockerfile +43 -23
  2. package/README.md +4 -4
  3. package/biome.jsonc +134 -0
  4. package/dist/App.d.ts +3 -0
  5. package/dist/App.js +50 -0
  6. package/dist/Sol/Sol.d.ts +3 -0
  7. package/dist/Sol/Sol.js +46 -0
  8. package/dist/Sol/agentbrowser/agentbrowser.d.ts +9 -0
  9. package/dist/Sol/agentbrowser/agentbrowser.js +121 -0
  10. package/dist/Sol/architecture/architecture.d.ts +9 -0
  11. package/dist/Sol/architecture/architecture.js +93 -0
  12. package/dist/Sol/compute/compute.d.ts +9 -0
  13. package/dist/Sol/compute/compute.js +22 -0
  14. package/dist/Sol/console/console.d.ts +15 -0
  15. package/dist/Sol/console/console.js +292 -0
  16. package/dist/Sol/dashboard/dashboard.d.ts +10 -0
  17. package/dist/Sol/dashboard/dashboard.js +181 -0
  18. package/dist/Sol/docs/docs.d.ts +9 -0
  19. package/dist/Sol/docs/docs.js +28 -0
  20. package/dist/Sol/home/home.d.ts +35 -0
  21. package/dist/Sol/home/home.js +239 -0
  22. package/dist/Sol/integrations/integrations.d.ts +9 -0
  23. package/dist/Sol/integrations/integrations.js +83 -0
  24. package/dist/Sol/intro/intro.d.ts +7 -0
  25. package/dist/Sol/intro/intro.js +102 -0
  26. package/dist/Sol/login/login.d.ts +16 -0
  27. package/dist/Sol/login/login.js +49 -0
  28. package/dist/Sol/notfound/notfound.d.ts +9 -0
  29. package/dist/Sol/notfound/notfound.js +15 -0
  30. package/dist/Sol/onboarding/onboarding.d.ts +25 -0
  31. package/dist/Sol/onboarding/onboarding.js +60 -0
  32. package/dist/Sol/playground/playground.d.ts +9 -0
  33. package/dist/Sol/playground/playground.js +127 -0
  34. package/dist/Sol/register/register.d.ts +16 -0
  35. package/dist/Sol/register/register.js +193 -0
  36. package/dist/Sol/shell/Shell.d.ts +124 -0
  37. package/dist/Sol/shell/Shell.js +335 -0
  38. package/dist/Sol/wingets/ComputeBootladder.d.ts +6 -0
  39. package/dist/Sol/wingets/ComputeBootladder.js +71 -0
  40. package/dist/Sol/wingets/ComputeModalitycatalog.d.ts +7 -0
  41. package/dist/Sol/wingets/ComputeModalitycatalog.js +71 -0
  42. package/dist/Sol/wingets/ConsoleApibadge.d.ts +7 -0
  43. package/dist/Sol/wingets/ConsoleApibadge.js +5 -0
  44. package/dist/Sol/wingets/ConsoleEdgelaw.d.ts +6 -0
  45. package/dist/Sol/wingets/ConsoleEdgelaw.js +36 -0
  46. package/dist/Sol/wingets/ConsoleEventstimeline.d.ts +19 -0
  47. package/dist/Sol/wingets/ConsoleEventstimeline.js +12 -0
  48. package/dist/Sol/wingets/ConsoleSnapshotcontrols.d.ts +8 -0
  49. package/dist/Sol/wingets/ConsoleSnapshotcontrols.js +8 -0
  50. package/dist/Sol/wingets/ConsoleSpecpanel.d.ts +21 -0
  51. package/dist/Sol/wingets/ConsoleSpecpanel.js +75 -0
  52. package/dist/Sol/wingets/ConsoleTerminal.d.ts +22 -0
  53. package/dist/Sol/wingets/ConsoleTerminal.js +77 -0
  54. package/dist/Sol/wingets/DashboardAccountpanel.d.ts +18 -0
  55. package/dist/Sol/wingets/DashboardAccountpanel.js +65 -0
  56. package/dist/Sol/wingets/DashboardAdminpanel.d.ts +6 -0
  57. package/dist/Sol/wingets/DashboardAdminpanel.js +90 -0
  58. package/dist/Sol/wingets/DashboardAuditlog.d.ts +8 -0
  59. package/dist/Sol/wingets/DashboardAuditlog.js +50 -0
  60. package/dist/Sol/wingets/DashboardCreatesandboxform.d.ts +10 -0
  61. package/dist/Sol/wingets/DashboardCreatesandboxform.js +71 -0
  62. package/dist/Sol/wingets/DashboardEventstimeline.d.ts +8 -0
  63. package/dist/Sol/wingets/DashboardEventstimeline.js +83 -0
  64. package/dist/Sol/wingets/DashboardGlobalsandboxestable.d.ts +8 -0
  65. package/dist/Sol/wingets/DashboardGlobalsandboxestable.js +57 -0
  66. package/dist/Sol/wingets/DashboardMeshnodestable.d.ts +8 -0
  67. package/dist/Sol/wingets/DashboardMeshnodestable.js +103 -0
  68. package/dist/Sol/wingets/DashboardSandboxlist.d.ts +10 -0
  69. package/dist/Sol/wingets/DashboardSandboxlist.js +163 -0
  70. package/dist/Sol/wingets/DashboardUserstable.d.ts +8 -0
  71. package/dist/Sol/wingets/DashboardUserstable.js +78 -0
  72. package/dist/Sol/wingets/HomeEntrygate.d.ts +23 -0
  73. package/dist/Sol/wingets/HomeEntrygate.js +73 -0
  74. package/dist/Sol/wingets/HomeMetricstrip.d.ts +9 -0
  75. package/dist/Sol/wingets/HomeMetricstrip.js +4 -0
  76. package/dist/Sol/wingets/HomeRuntimediagram.d.ts +1 -0
  77. package/dist/Sol/wingets/HomeRuntimediagram.js +22 -0
  78. package/dist/Sol/wingets/LoginForm.d.ts +19 -0
  79. package/dist/Sol/wingets/LoginForm.js +141 -0
  80. package/dist/Sol/wingets/RegisterPasswordconfirm.d.ts +13 -0
  81. package/dist/Sol/wingets/RegisterPasswordconfirm.js +16 -0
  82. package/dist/Sol/wingets/RegisterPasswordmeter.d.ts +19 -0
  83. package/dist/Sol/wingets/RegisterPasswordmeter.js +65 -0
  84. package/dist/Sol/wingets/RegisterUsernamerules.d.ts +11 -0
  85. package/dist/Sol/wingets/RegisterUsernamerules.js +16 -0
  86. package/dist/Sol/wingets/index.d.ts +39 -0
  87. package/dist/Sol/wingets/index.js +39 -0
  88. package/dist/alternatives.d.ts +508 -0
  89. package/dist/alternatives.js +950 -0
  90. package/dist/api.d.ts +154 -0
  91. package/dist/api.js +174 -0
  92. package/dist/auth.d.ts +268 -0
  93. package/dist/auth.js +476 -0
  94. package/dist/automation.d.ts +425 -0
  95. package/dist/automation.js +566 -0
  96. package/dist/browser.d.ts +561 -0
  97. package/dist/browser.js +1058 -0
  98. package/dist/capacitor.config.d.ts +45 -0
  99. package/dist/capacitor.config.js +48 -0
  100. package/dist/catalog.d.ts +43 -0
  101. package/dist/catalog.js +44 -0
  102. package/dist/cli.d.ts +16 -0
  103. package/dist/cli.js +168 -0
  104. package/dist/communication.d.ts +181 -0
  105. package/dist/communication.js +376 -0
  106. package/dist/compute.d.ts +1160 -0
  107. package/dist/compute.js +2272 -0
  108. package/dist/dashboardlib.d.ts +58 -0
  109. package/dist/dashboardlib.js +161 -0
  110. package/dist/db.d.ts +569 -0
  111. package/dist/db.js +1080 -0
  112. package/dist/distribution.d.ts +528 -0
  113. package/dist/distribution.js +810 -0
  114. package/dist/drizzle.config.d.ts +20 -0
  115. package/dist/drizzle.config.js +18 -0
  116. package/dist/edgelandes.d.ts +70 -0
  117. package/dist/edgelandes.host.d.ts +26 -0
  118. package/dist/edgelandes.host.js +1089 -0
  119. package/dist/edgelandes.inproc.d.ts +27 -0
  120. package/dist/edgelandes.inproc.js +952 -0
  121. package/dist/edgelandes.js +1133 -0
  122. package/dist/edgelandes.ninety.d.ts +31 -0
  123. package/dist/edgelandes.ninety.js +174 -0
  124. package/dist/edgelandes.virtual.d.ts +25 -0
  125. package/dist/edgelandes.virtual.js +629 -0
  126. package/dist/edgeplane.d.ts +114 -0
  127. package/dist/edgeplane.js +305 -0
  128. package/dist/examplelocaljob.d.ts +1 -0
  129. package/{docs/example-localjob.ts → dist/examplelocaljob.js} +0 -1
  130. package/dist/execution.d.ts +529 -0
  131. package/dist/execution.js +760 -0
  132. package/dist/family.d.ts +16 -0
  133. package/dist/family.js +42 -0
  134. package/dist/familyurl.d.ts +21 -0
  135. package/dist/familyurl.js +24 -0
  136. package/dist/format.d.ts +18 -0
  137. package/dist/format.js +59 -0
  138. package/dist/foundation.d.ts +172 -0
  139. package/dist/foundation.js +312 -0
  140. package/dist/index.d.ts +735 -0
  141. package/dist/index.js +1020 -0
  142. package/dist/integration.d.ts +235 -0
  143. package/dist/integration.js +228 -0
  144. package/dist/intelligence.d.ts +93 -0
  145. package/dist/intelligence.js +144 -0
  146. package/dist/isolation.d.ts +128 -0
  147. package/dist/isolation.js +95 -0
  148. package/dist/labels.d.ts +665 -0
  149. package/dist/labels.js +751 -0
  150. package/dist/localauth.d.ts +127 -0
  151. package/dist/localauth.js +413 -0
  152. package/dist/media.d.ts +343 -0
  153. package/dist/media.js +985 -0
  154. package/dist/mesh.d.ts +177 -0
  155. package/dist/mesh.js +468 -0
  156. package/dist/modalityregistry.d.ts +109 -0
  157. package/dist/modalityregistry.js +1386 -0
  158. package/dist/modes.d.ts +358 -0
  159. package/dist/modes.js +133 -0
  160. package/dist/onboardingstate.d.ts +79 -0
  161. package/dist/onboardingstate.js +282 -0
  162. package/dist/orchestrator.d.ts +1338 -0
  163. package/dist/orchestrator.js +4310 -0
  164. package/dist/packager/targetcli.js +4 -0
  165. package/dist/paths.d.ts +2 -0
  166. package/dist/paths.js +14 -0
  167. package/dist/performance.d.ts +415 -0
  168. package/dist/performance.js +826 -0
  169. package/dist/quantum.d.ts +809 -0
  170. package/dist/quantum.js +2072 -0
  171. package/dist/render.d.ts +380 -0
  172. package/dist/render.js +1072 -0
  173. package/dist/runall.d.ts +2 -0
  174. package/dist/runall.js +39 -0
  175. package/dist/runtimeprobe.d.ts +4 -0
  176. package/dist/runtimeprobe.js +8 -0
  177. package/dist/sandbox.d.ts +355 -0
  178. package/dist/sandbox.js +1721 -0
  179. package/dist/sandboxenvprofile.d.ts +29 -0
  180. package/dist/sandboxenvprofile.js +89 -0
  181. package/dist/sandboxprofile.d.ts +137 -0
  182. package/dist/sandboxprofile.js +241 -0
  183. package/dist/sandboxqueue.d.ts +108 -0
  184. package/dist/sandboxqueue.js +201 -0
  185. package/dist/sandboxquota.d.ts +121 -0
  186. package/dist/sandboxquota.js +236 -0
  187. package/dist/scheduler.d.ts +595 -0
  188. package/dist/scheduler.js +1258 -0
  189. package/dist/scriptlanes.d.ts +182 -0
  190. package/dist/scriptlanes.js +660 -0
  191. package/dist/scripts.buildengine.d.ts +1 -0
  192. package/dist/scripts.buildengine.js +39 -0
  193. package/dist/scripts.securitygate.d.ts +1 -0
  194. package/dist/scripts.securitygate.js +68 -0
  195. package/dist/scripts.validateflatnative.d.ts +1 -0
  196. package/dist/scripts.validateflatnative.js +72 -0
  197. package/dist/security.d.ts +500 -0
  198. package/dist/security.js +1169 -0
  199. package/dist/seedcatalog.d.ts +13 -0
  200. package/dist/seedcatalog.js +46 -0
  201. package/dist/server.d.ts +20 -0
  202. package/dist/server.js +53 -0
  203. package/dist/speccatalog.d.ts +31 -0
  204. package/dist/speccatalog.js +163 -0
  205. package/dist/tiers.d.ts +1001 -0
  206. package/dist/tiers.js +2169 -0
  207. package/dist/utils.d.ts +2 -0
  208. package/dist/utils.js +5 -0
  209. package/dist/vaulthandoff.d.ts +141 -0
  210. package/dist/vaulthandoff.js +444 -0
  211. package/dist/virtual.d.ts +640 -0
  212. package/dist/virtual.js +1284 -0
  213. package/dist/virtualcpu.d.ts +315 -0
  214. package/dist/virtualcpu.js +1180 -0
  215. package/dist/virtualgpu.d.ts +344 -0
  216. package/dist/virtualgpu.js +1000 -0
  217. package/dist/virtualization.d.ts +606 -0
  218. package/dist/virtualization.js +1186 -0
  219. package/dist/virtualmemory.d.ts +817 -0
  220. package/dist/virtualmemory.js +1795 -0
  221. package/dist/vite.config.d.ts +3 -0
  222. package/dist/vite.config.js +43 -0
  223. package/dist/vitest.config.d.ts +2 -0
  224. package/dist/vitest.config.js +25 -0
  225. package/dist/webserver.d.ts +166 -0
  226. package/dist/webserver.js +2226 -0
  227. package/dist/workloadlaw.d.ts +133 -0
  228. package/dist/workloadlaw.js +193 -0
  229. package/docker.config +13 -6
  230. package/docs/artifactavailability.md +2 -2
  231. package/docs/{containerplatforms-2.1.0.md → containerplatforms.2.1.0.md} +1 -1
  232. package/docs/{documentmap-1.8.12.md → documentmap.1.8.12.md} +1 -1
  233. package/docs/ninety.modalities.md +108 -0
  234. package/docs/planning.ninety.md +391 -0
  235. package/docs/{releasenotes-1.8.13.md → releasenotes.1.8.13.md} +2 -2
  236. package/docs/{releasenotes-1.8.14.md → releasenotes.1.8.14.md} +1 -1
  237. package/docs/{repo-synthesis-1.8.16.md → repo.synthesis.1.8.16.md} +1 -1
  238. package/docs/{todo-1.8.15.md → todo.1.8.15.md} +1 -1
  239. package/docs/{todo-1.8.16.md → todo.1.8.16.md} +5 -5
  240. package/docs/todo.md +2 -2
  241. package/docs/workloadlaw.md +104 -0
  242. package/index.ts +4 -3
  243. package/manifest.json +1 -1
  244. package/modalityregistry.ts +1493 -0
  245. package/orchestrator.ts +1 -1
  246. package/package.json +76 -37
  247. package/docs/CONVERSA.txt +0 -1523
  248. package/docs/architecture-1.8.19.png +0 -0
  249. package/docs/assets/architecture.svg +0 -45
  250. package/docs/assets/saddle-browser-trace.webp +0 -0
  251. package/docs/assets/saddle-hero-bridge.webp +0 -0
  252. package/docs/assets/saddle-mark.webp +0 -0
  253. package/docs/assets/saddle-runtime-map.webp +0 -0
  254. package/docs/assets/saddlemark.svg +0 -13
  255. package/docs/example-publicapi.ts +0 -7
  256. package/docs/saddle.archive.1.8.17.tar.gz.gpg +0 -0
  257. /package/docs/{architecture-1.8.19.md → architecture.1.8.19.md} +0 -0
  258. /package/docs/{architecture-1.8.19.mmd → architecture.1.8.19.mmd} +0 -0
  259. /package/docs/{artifactresearch-1.8.9.md → artifactresearch.1.8.9.md} +0 -0
  260. /package/docs/{batches-1816-1820.md → batches.1816.to.1820.md} +0 -0
  261. /package/docs/{brancharchive-2026-08-18.md → brancharchive.2026.08.18.md} +0 -0
  262. /package/docs/{containerplatforms-1.8.17.md → containerplatforms.1.8.17.md} +0 -0
  263. /package/docs/{e2ugh-engine.md → e2ugh.engine.md} +0 -0
  264. /package/docs/{flatbuildresearch-1.8.11.md → flatbuildresearch.1.8.11.md} +0 -0
  265. /package/docs/{licenseaudit-1.8.12.md → licenseaudit.1.8.12.md} +0 -0
  266. /package/docs/{mobileconversionresearch-1.8.10.md → mobileconversionresearch.1.8.10.md} +0 -0
  267. /package/docs/{native-wrappers.md → native.wrappers.md} +0 -0
  268. /package/docs/{nativeidentityresearch-1.8.11.md → nativeidentityresearch.1.8.11.md} +0 -0
  269. /package/docs/{releasenotes-1.8.12.md → releasenotes.1.8.12.md} +0 -0
  270. /package/docs/{releasenotes-1.8.15.md → releasenotes.1.8.15.md} +0 -0
  271. /package/docs/{releasenotes-1.8.16.md → releasenotes.1.8.16.md} +0 -0
  272. /package/docs/{releasenotes-1.8.17.md → releasenotes.1.8.17.md} +0 -0
  273. /package/docs/{releasenotes-1.8.18.md → releasenotes.1.8.18.md} +0 -0
  274. /package/docs/{releasenotes-1.8.19.md → releasenotes.1.8.19.md} +0 -0
  275. /package/docs/{reorganization-1.8.8.md → reorganization.1.8.8.md} +0 -0
  276. /package/docs/{reorganization-1.8.9.md → reorganization.1.8.9.md} +0 -0
  277. /package/docs/{repo-analysis-1.8.21.json → repo.analysis.1.8.21.json} +0 -0
  278. /package/docs/{repo-candidates-1.8.21.jsonl → repo.candidates.1.8.21.jsonl} +0 -0
  279. /package/docs/{repo-research-1.8.16.md → repo.research.1.8.16.md} +0 -0
  280. /package/docs/{repo-research-1.8.21.md → repo.research.1.8.21.md} +0 -0
  281. /package/docs/{repo-selected-1.8.21.json → repo.selected.1.8.21.json} +0 -0
  282. /package/docs/{repo-synthesis-1.8.21.md → repo.synthesis.1.8.21.md} +0 -0
  283. /package/docs/{research-1.8.18-isolation.md → research.1.8.18.isolation.md} +0 -0
  284. /package/docs/{research-1.8.19-virtual-browser.md → research.1.8.19.virtual.browser.md} +0 -0
  285. /package/docs/{scanningresearch-1.8.11.md → scanningresearch.1.8.11.md} +0 -0
  286. /package/docs/{securityaudit-1.8.7.md → securityaudit.1.8.7.md} +0 -0
  287. /package/docs/{securityreferences-1.8.11.md → securityreferences.1.8.11.md} +0 -0
  288. /package/docs/{securityresearch-1.8.11.md → securityresearch.1.8.11.md} +0 -0
  289. /package/docs/{signingresearch-1.8.12.md → signingresearch.1.8.12.md} +0 -0
  290. /package/docs/{tauri-glib-risk-1.8.11.md → tauri.glib.risk.1.8.11.md} +0 -0
  291. /package/docs/{todo-1.8.18.md → todo.1.8.18.md} +0 -0
  292. /package/docs/{todo-1.8.19.md → todo.1.8.19.md} +0 -0
  293. /package/docs/{toolchainresearch-1.8.9.md → toolchainresearch.1.8.9.md} +0 -0
  294. /package/docs/{web-duplicatecleanup.md → web.duplicatecleanup.md} +0 -0
  295. /package/docs/{web-ideas.md → web.ideas.md} +0 -0
  296. /package/docs/{workflowimprovements-2026-08-19.md → workflowimprovements.2026.08.19.md} +0 -0
@@ -0,0 +1,16 @@
1
+ /** the sibling deploy units beside saddle, rail order (saddle itself is not
2
+ * listed — the row links OUT, never back). */
3
+ export declare const FAMILY_SLUGS: readonly string[];
4
+ /** one family member: the slug, the display accent and the dot ink that rides
5
+ * on the accent (the spec's accent-ink column). */
6
+ export type FamilyMember = {
7
+ slug: string;
8
+ accent: string;
9
+ dotInk: string;
10
+ };
11
+ /** the spec §12 accent table for the eight siblings (saddle's own ember
12
+ * #e86f2d lives in the theme tokens, never in this row). */
13
+ export declare const FAMILY_ACCENTS: Readonly<Record<string, FamilyMember>>;
14
+ /** the family row in rail order, each with its accent; unknown slugs are
15
+ * skipped (the row only ever links real deploy units). */
16
+ export declare function familyrow(): readonly FamilyMember[];
package/dist/family.js ADDED
@@ -0,0 +1,42 @@
1
+ // # family — the family table of saddle (root layer, beside familyurl.ts).
2
+ // The deploy units of the wenathlan family with the one accent each carries
3
+ // (the spec §12 table, mirrored from the devthink familyidentity wave and
4
+ // from the cadria contract) and the slugs in rail order. Pure data, no
5
+ // imports: the chrome (the shell rail foot), the landing footer and the
6
+ // node:test suite all consume this one table, so the family row can never
7
+ // drift between surfaces.
8
+ /** the sibling deploy units beside saddle, rail order (saddle itself is not
9
+ * listed — the row links OUT, never back). */
10
+ export const FAMILY_SLUGS = [
11
+ 'argan',
12
+ 'cadria',
13
+ 'debonair',
14
+ 'forge',
15
+ 'foundry',
16
+ 'getry',
17
+ 'stealthhead',
18
+ 'vault',
19
+ ];
20
+ /** the spec §12 accent table for the eight siblings (saddle's own ember
21
+ * #e86f2d lives in the theme tokens, never in this row). */
22
+ export const FAMILY_ACCENTS = {
23
+ argan: { slug: 'argan', accent: '#34d8a8', dotInk: '#04231a' },
24
+ cadria: { slug: 'cadria', accent: '#f472b6', dotInk: '#2a0715' },
25
+ debonair: { slug: 'debonair', accent: '#d9962e', dotInk: '#241703' },
26
+ forge: { slug: 'forge', accent: '#a2cb3a', dotInk: '#161d03' },
27
+ foundry: { slug: 'foundry', accent: '#2fb8b5', dotInk: '#03211f' },
28
+ getry: { slug: 'getry', accent: '#8b5cf6', dotInk: '#120533' },
29
+ stealthhead: { slug: 'stealthhead', accent: '#e8563f', dotInk: '#2c0703' },
30
+ vault: { slug: 'vault', accent: '#a3d7e6', dotInk: '#072330' },
31
+ };
32
+ /** the family row in rail order, each with its accent; unknown slugs are
33
+ * skipped (the row only ever links real deploy units). */
34
+ export function familyrow() {
35
+ const row = [];
36
+ for (const slug of FAMILY_SLUGS) {
37
+ const member = FAMILY_ACCENTS[slug];
38
+ if (member)
39
+ row.push(member);
40
+ }
41
+ return row;
42
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * familyurl.ts — the url of a family application beside this one (root
3
+ * layer).
4
+ *
5
+ * the family deploys as sibling folders on one host: saddle lives at
6
+ * /saddle/, the other deploy units at /<slug>/, and every cross-application
7
+ * link must survive any mount point (project pages, self-hosted domains,
8
+ * bare local preview servers) without trusting a build constant or reading
9
+ * the live location. the helper therefore builds a RELATIVE url — one level
10
+ * up from the current deploy unit, then into the sibling folder — so the
11
+ * chrome of the window resolves the family from wherever the app is
12
+ * mounted. pure and multi-mode: the same call runs in the browser and in
13
+ * node (the unit tests), with zero storage.
14
+ */
15
+ /** resolves the url of a family deploy unit that shares this host.
16
+ *
17
+ * @param slug the deploy unit segment (the app folder name); decorative
18
+ * slashes are stripped.
19
+ * @returns the relative path of the family application, slash-terminated.
20
+ */
21
+ export declare function familyurl(slug: string): string;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * familyurl.ts — the url of a family application beside this one (root
3
+ * layer).
4
+ *
5
+ * the family deploys as sibling folders on one host: saddle lives at
6
+ * /saddle/, the other deploy units at /<slug>/, and every cross-application
7
+ * link must survive any mount point (project pages, self-hosted domains,
8
+ * bare local preview servers) without trusting a build constant or reading
9
+ * the live location. the helper therefore builds a RELATIVE url — one level
10
+ * up from the current deploy unit, then into the sibling folder — so the
11
+ * chrome of the window resolves the family from wherever the app is
12
+ * mounted. pure and multi-mode: the same call runs in the browser and in
13
+ * node (the unit tests), with zero storage.
14
+ */
15
+ /** resolves the url of a family deploy unit that shares this host.
16
+ *
17
+ * @param slug the deploy unit segment (the app folder name); decorative
18
+ * slashes are stripped.
19
+ * @returns the relative path of the family application, slash-terminated.
20
+ */
21
+ export function familyurl(slug) {
22
+ // biome-ignore lint/style/useTemplate: the family contract body stays verbatim — every app of the family copies this exact line
23
+ return "../" + slug.replace(/^\/+|\/+$/g, "") + "/";
24
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * format.ts — the formatting gate used by the check pipeline.
3
+ *
4
+ * This file is the v2.0.0 grand-merge consolidation of the former nested
5
+ * folders of the repository (format) 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
+ /** Finds domain files that do not follow the skill formatting contract. */
13
+ export declare function formatissues(root?: string): Promise<any[]>;
14
+ /** Runs the check as a CLI and throws a short diagnostic on failure. */
15
+ export declare function runformatcheck(): Promise<{
16
+ ok: boolean;
17
+ checked: number;
18
+ }>;
package/dist/format.js ADDED
@@ -0,0 +1,59 @@
1
+ /**
2
+ * format.ts — the formatting gate used by the check pipeline.
3
+ *
4
+ * This file is the v2.0.0 grand-merge consolidation of the former nested
5
+ * folders of the repository (format) 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
+ import { readFile, readdir } from "node:fs/promises";
13
+ import { join } from "node:path";
14
+ /* ════════════════════════════════════════════════════════════════════ */
15
+ /* Section 1: format/check.ts — format check validates the public root based JavaScript layout before release. */
16
+ /* ════════════════════════════════════════════════════════════════════ */
17
+ /**
18
+ * format check validates the public root based JavaScript layout before release.
19
+ */
20
+ /* the grand-merge layout: the public logic surface is the flat set of root
21
+ domain TypeScript files; the formatting contract checks each of them. */
22
+ const domains = ["index", "foundation", "isolation", "virtual", "execution", "browser", "communication", "integration", "automation", "intelligence", "distribution", "modes", "cli", "server", "format", "alternatives", "compute", "media", "orchestrator", "performance", "quantum", "render", "scheduler", "security", "tiers", "virtualcpu", "virtualgpu", "virtualization", "virtualmemory"];
23
+ /** Finds domain files that do not follow the skill formatting contract. */
24
+ export async function formatissues(root = process.cwd()) {
25
+ const issues = [];
26
+ for (const domain of domains) {
27
+ const file = join(root, `${domain}.ts`);
28
+ let source;
29
+ try {
30
+ source = await readFile(file, "utf8");
31
+ }
32
+ catch {
33
+ issues.push(`${domain}.ts: missing domain file`);
34
+ continue;
35
+ }
36
+ if (/[A-Z_-]/.test(domain))
37
+ issues.push(`${domain}.ts: invalid path format`);
38
+ if (!source.includes("/**"))
39
+ issues.push(`${domain}.ts: missing jsdoc`);
40
+ }
41
+ return issues;
42
+ }
43
+ /** Runs the check as a CLI and throws a short diagnostic on failure. */
44
+ export async function runformatcheck() { const issues = await formatissues(); if (issues.length)
45
+ throw new Error(issues.join("\n")); return { ok: true, checked: domains.length }; }
46
+ async function javascriptfiles(directory) { let entries; try {
47
+ entries = await readdir(directory, { withFileTypes: true });
48
+ }
49
+ catch {
50
+ return [];
51
+ } const files = []; for (const entry of entries) {
52
+ const file = join(directory, entry.name);
53
+ if (entry.isDirectory())
54
+ files.push(...await javascriptfiles(file));
55
+ else if (entry.name.endsWith(".js"))
56
+ files.push(file);
57
+ } return files; }
58
+ if (import.meta.url === `file://${process.argv[1]}`)
59
+ runformatcheck().then((result) => console.log(JSON.stringify(result))).catch((error) => { console.error(error.message); process.exitCode = 1; });
@@ -0,0 +1,172 @@
1
+ /**
2
+ * foundation.ts — foundation errors, events, identifiers, hashing and serializable domain nouns.
3
+ *
4
+ * This file is the v2.0.0 grand-merge consolidation of the former nested
5
+ * folders of the repository (core) 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
+ * typed engine errors keep recovery decisions explicit.
14
+ */
15
+ export declare const errorcodes: Readonly<{
16
+ invalidinput: "INVALID_INPUT";
17
+ artifactnotfound: "ARTIFACT_NOT_FOUND";
18
+ storagefailure: "STORAGE_FAILURE";
19
+ runnerunavailable: "RUNNER_UNAVAILABLE";
20
+ jobfailed: "JOB_FAILED";
21
+ sessioninvalid: "SESSION_INVALID";
22
+ }>;
23
+ export declare function saddleerror(message: any, options?: {}): Error;
24
+ export declare function validationerror(message: any, details?: {}): Error;
25
+ export declare function artifactnotfound(key: any): Error;
26
+ export declare function runnerunavailable(jobid: any): Error;
27
+ export declare function aserror(error: any, jobid: any): any;
28
+ /** Operational error presets keep status, recovery and retry decisions
29
+ * explicit for the engine's outbound lanes (registry pulls, runner
30
+ * handshakes, package fetches); the presets answer the sandbox engine
31
+ * only — the scrape lanes that once consumed them left the package. */
32
+ export declare const errorcatalog: Readonly<{
33
+ timeout: {
34
+ code: string;
35
+ statuscode: number;
36
+ retryable: boolean;
37
+ recovery: string;
38
+ };
39
+ connectionrefused: {
40
+ code: string;
41
+ statuscode: number;
42
+ retryable: boolean;
43
+ recovery: string;
44
+ };
45
+ dns: {
46
+ code: string;
47
+ statuscode: number;
48
+ retryable: boolean;
49
+ recovery: string;
50
+ };
51
+ ratelimited: {
52
+ code: string;
53
+ statuscode: number;
54
+ retryable: boolean;
55
+ recovery: string;
56
+ };
57
+ forbidden: {
58
+ code: string;
59
+ statuscode: number;
60
+ retryable: boolean;
61
+ recovery: string;
62
+ };
63
+ notfound: {
64
+ code: string;
65
+ statuscode: number;
66
+ retryable: boolean;
67
+ recovery: string;
68
+ };
69
+ parse: {
70
+ code: string;
71
+ statuscode: number;
72
+ retryable: boolean;
73
+ recovery: string;
74
+ };
75
+ session: {
76
+ code: string;
77
+ statuscode: number;
78
+ retryable: boolean;
79
+ recovery: string;
80
+ };
81
+ config: {
82
+ code: string;
83
+ statuscode: number;
84
+ retryable: boolean;
85
+ recovery: string;
86
+ };
87
+ }>;
88
+ /** Creates a stable operational error with recovery metadata. */
89
+ export declare function operationerror(kind: any, message: any, options?: {}): Error;
90
+ /** Converts unknown failures into the stable operational taxonomy. */
91
+ export declare function classifyerror(error: any): any;
92
+ /**
93
+ * append only events are the small protocol shared by adapters.
94
+ */
95
+ export declare const eventtypes: readonly string[];
96
+ export declare function eventbus(): {
97
+ emit(event: any): void;
98
+ all(): any[];
99
+ };
100
+ /**
101
+ * injectable time and id factories make every engine path reproducible.
102
+ */
103
+ export declare function systemclock(): {
104
+ now: () => number;
105
+ };
106
+ export declare function idfactory(randomuuid?: any): {
107
+ next(prefix: any): string;
108
+ };
109
+ /** Returns a SHA-256 hexadecimal digest for bytes or text. */
110
+ export declare function sha256(value: any): string;
111
+ /** Returns an HMAC-SHA-256 hexadecimal digest for bytes or text. */
112
+ export declare function hmacsha256(value: any, secret: any): string;
113
+ /** Compares hexadecimal values without early exit based on content. */
114
+ export declare function constanttimeequal(left: any, right: any): boolean;
115
+ /**
116
+ * artifacts are serializable manifests with content checksums.
117
+ */
118
+ export declare function artifactmanifest(input: any): {
119
+ key: any;
120
+ sizebytes: any;
121
+ sha256: any;
122
+ contenttype: any;
123
+ createdat: any;
124
+ metadata: any;
125
+ };
126
+ /**
127
+ * job creation is kept small and side effect free.
128
+ */
129
+ export declare const jobstatuses: readonly string[];
130
+ export declare function createjob(spec: any, ids: any, clock: any): {
131
+ id: any;
132
+ name: any;
133
+ input: any;
134
+ priority: any;
135
+ outputkey: any;
136
+ metadata: any;
137
+ status: string;
138
+ createdat: any;
139
+ };
140
+ /**
141
+ * providers declare capacity while scheduling remains a runtime decision.
142
+ */
143
+ export declare const runnerstatuses: readonly string[];
144
+ export declare function runnercontext(job: any, workingset: any, signal: any): {
145
+ job: any;
146
+ workingset: any;
147
+ signal: any;
148
+ };
149
+ /**
150
+ * runtime records describe temporary process space without claiming physical vram.
151
+ */
152
+ export declare function workingset(jobid: any, location: any, resultpath: any, createdat?: number): {
153
+ jobid: any;
154
+ location: any;
155
+ resultpath: any;
156
+ createdat: number;
157
+ };
158
+ export declare function syncresult(bytes: any, location: any): {
159
+ bytes: any;
160
+ location: any;
161
+ };
162
+ export declare function validatesession(value: any): {
163
+ version: number;
164
+ id: any;
165
+ agentname: any;
166
+ originurl: any;
167
+ seed: any;
168
+ status: any;
169
+ startedat: any;
170
+ finishedat: any;
171
+ events: any;
172
+ };