@lifo-sh/core 0.5.0 → 0.5.6

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 (292) hide show
  1. package/dist/args-BhoL0JcG.js +58 -0
  2. package/dist/awk-DahiO6Jl.js +170 -0
  3. package/dist/base64-Dj_AnQAH.js +92 -0
  4. package/dist/basename-D8sjWfzX.js +14 -0
  5. package/dist/bc-CCuJi0IY.js +230 -0
  6. package/dist/browser-B0dadKCA.js +43 -0
  7. package/dist/cal-DQsLvArw.js +85 -0
  8. package/dist/cat-KYGveROo.js +32 -0
  9. package/dist/chmod-gYZdg3Kv.js +81 -0
  10. package/dist/chown-DoPi7NLO.js +32 -0
  11. package/dist/commands/net/curl.d.ts +2 -2
  12. package/dist/commands/net/curl.d.ts.map +1 -1
  13. package/dist/commands/net/forward.d.ts +14 -0
  14. package/dist/commands/net/forward.d.ts.map +1 -0
  15. package/dist/commands/net/host.d.ts +14 -0
  16. package/dist/commands/net/host.d.ts.map +1 -0
  17. package/dist/commands/net/ifconfig.d.ts +8 -0
  18. package/dist/commands/net/ifconfig.d.ts.map +1 -0
  19. package/dist/commands/net/ip.d.ts +14 -0
  20. package/dist/commands/net/ip.d.ts.map +1 -0
  21. package/dist/commands/net/netstat.d.ts +8 -0
  22. package/dist/commands/net/netstat.d.ts.map +1 -0
  23. package/dist/commands/net/ports.d.ts +8 -0
  24. package/dist/commands/net/ports.d.ts.map +1 -0
  25. package/dist/commands/net/route.d.ts +8 -0
  26. package/dist/commands/net/route.d.ts.map +1 -0
  27. package/dist/commands/net/test-registry.d.ts +8 -0
  28. package/dist/commands/net/test-registry.d.ts.map +1 -0
  29. package/dist/commands/net/tunnel-v2.d.ts +4 -0
  30. package/dist/commands/net/tunnel-v2.d.ts.map +1 -0
  31. package/dist/commands/net/tunnel.d.ts +6 -0
  32. package/dist/commands/net/tunnel.d.ts.map +1 -0
  33. package/dist/commands/registry.d.ts +1 -0
  34. package/dist/commands/registry.d.ts.map +1 -1
  35. package/dist/commands/system/kill.d.ts +2 -2
  36. package/dist/commands/system/kill.d.ts.map +1 -1
  37. package/dist/commands/system/lifo.d.ts +19 -2
  38. package/dist/commands/system/lifo.d.ts.map +1 -1
  39. package/dist/commands/system/newtab.d.ts +8 -0
  40. package/dist/commands/system/newtab.d.ts.map +1 -0
  41. package/dist/commands/system/node.d.ts +3 -2
  42. package/dist/commands/system/node.d.ts.map +1 -1
  43. package/dist/commands/system/npm.d.ts +20 -7
  44. package/dist/commands/system/npm.d.ts.map +1 -1
  45. package/dist/commands/system/ps.d.ts +3 -2
  46. package/dist/commands/system/ps.d.ts.map +1 -1
  47. package/dist/commands/system/systemctl.d.ts +4 -0
  48. package/dist/commands/system/systemctl.d.ts.map +1 -0
  49. package/dist/commands/system/top.d.ts +2 -2
  50. package/dist/commands/system/top.d.ts.map +1 -1
  51. package/dist/commands/system/watch.d.ts.map +1 -1
  52. package/dist/commands/system/whoami.d.ts.map +1 -1
  53. package/dist/commands/types.d.ts +3 -2
  54. package/dist/commands/types.d.ts.map +1 -1
  55. package/dist/cp-BP7-nkZi.js +29 -0
  56. package/dist/cut-Dg3Sxlw_.js +84 -0
  57. package/dist/date-DqL4oCg8.js +91 -0
  58. package/dist/df-CEHqyq91.js +47 -0
  59. package/dist/diff-aYLFp43G.js +250 -0
  60. package/dist/dig-0_V5UoWW.js +91 -0
  61. package/dist/dirname-ByojkmnI.js +14 -0
  62. package/dist/du-feoEC53Q.js +89 -0
  63. package/dist/env-CIcDulqw.js +10 -0
  64. package/dist/fastfetch-CRfsfb4t.js +378 -0
  65. package/dist/file-BHHCgjt9.js +79 -0
  66. package/dist/find-C-pGJyTZ.js +63 -0
  67. package/dist/free-DCkGta9v.js +33 -0
  68. package/dist/grep-Bv7fu1qw.js +179 -0
  69. package/dist/gunzip-BZk2000a.js +57 -0
  70. package/dist/gzip-D55LwDu8.js +70 -0
  71. package/dist/head-CQQ8pAha.js +66 -0
  72. package/dist/hostname-Ba0tnCzG.js +8 -0
  73. package/dist/index-GLjTMF7C.js +22717 -0
  74. package/dist/index.d.ts +44 -17
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +99 -72
  77. package/dist/less-C-8XcQ_A.js +294 -0
  78. package/dist/ln-CpXREm6e.js +15 -0
  79. package/dist/ls-Ce1mcASB.js +132 -0
  80. package/dist/{man-Dg26tZ-a.js → man-DjxHeM01.js} +46 -27
  81. package/dist/mime-B5knsVEw.js +101 -0
  82. package/dist/mkdir-CtDdaiaM.js +31 -0
  83. package/dist/mktemp-DwAY8Lz2.js +44 -0
  84. package/dist/mv-vS020rcy.js +29 -0
  85. package/dist/nano-DKfqXthq.js +445 -0
  86. package/dist/nl-DHh-MmKX.js +66 -0
  87. package/dist/ping-BQO3Z9CT.js +72 -0
  88. package/dist/pkg/PackageManager.d.ts +2 -2
  89. package/dist/pkg/PackageManager.d.ts.map +1 -1
  90. package/dist/pkg/lifo-dev.d.ts +6 -6
  91. package/dist/pkg/lifo-dev.d.ts.map +1 -1
  92. package/dist/pkg/lifo-runtime.d.ts +3 -3
  93. package/dist/pkg/lifo-runtime.d.ts.map +1 -1
  94. package/dist/pkg/loader.d.ts +2 -2
  95. package/dist/pkg/loader.d.ts.map +1 -1
  96. package/dist/printf-CdBVx2dT.js +81 -0
  97. package/dist/realpath-CZ_ja3FL.js +27 -0
  98. package/dist/rev-KZ9O5vNS.js +42 -0
  99. package/dist/rm-dW7YB25j.js +48 -0
  100. package/dist/rmdir-Db2wctQ6.js +42 -0
  101. package/dist/runtime/ContextSerialization.d.ts +7 -0
  102. package/dist/runtime/ContextSerialization.d.ts.map +1 -0
  103. package/dist/runtime/ProcessExecutor.d.ts +14 -0
  104. package/dist/runtime/ProcessExecutor.d.ts.map +1 -0
  105. package/dist/runtime/command-worker.d.ts +9 -0
  106. package/dist/runtime/command-worker.d.ts.map +1 -0
  107. package/dist/sandbox/Sandbox.d.ts +1 -2
  108. package/dist/sandbox/Sandbox.d.ts.map +1 -1
  109. package/dist/sandbox/SandboxFs.d.ts +2 -2
  110. package/dist/sandbox/SandboxFs.d.ts.map +1 -1
  111. package/dist/sandbox/types.d.ts +1 -2
  112. package/dist/sandbox/types.d.ts.map +1 -1
  113. package/dist/sed-BK_pjM2M.js +142 -0
  114. package/dist/seq-B0yurkx9.js +64 -0
  115. package/dist/sha256sum-BP0l9D35.js +85 -0
  116. package/dist/shell/ProcessRegistry.d.ts +152 -0
  117. package/dist/shell/ProcessRegistry.d.ts.map +1 -0
  118. package/dist/shell/ProcessRegistry.example.d.ts +8 -0
  119. package/dist/shell/ProcessRegistry.example.d.ts.map +1 -0
  120. package/dist/shell/ProcessRegistry.test.d.ts +2 -0
  121. package/dist/shell/ProcessRegistry.test.d.ts.map +1 -0
  122. package/dist/shell/Shell.d.ts +13 -4
  123. package/dist/shell/Shell.d.ts.map +1 -1
  124. package/dist/shell/completer.d.ts +2 -2
  125. package/dist/shell/completer.d.ts.map +1 -1
  126. package/dist/shell/expander.d.ts +2 -2
  127. package/dist/shell/expander.d.ts.map +1 -1
  128. package/dist/shell/history.d.ts +2 -2
  129. package/dist/shell/history.d.ts.map +1 -1
  130. package/dist/shell/interpreter.d.ts +8 -2
  131. package/dist/shell/interpreter.d.ts.map +1 -1
  132. package/dist/shell/test-builtin.d.ts +2 -2
  133. package/dist/shell/test-builtin.d.ts.map +1 -1
  134. package/dist/sl-BmMNz7ir.js +200 -0
  135. package/dist/sleep-C_3mjcFi.js +25 -0
  136. package/dist/sort-DYZuiMaO.js +87 -0
  137. package/dist/stat-CXSSmsrA.js +38 -0
  138. package/dist/strings-BwqQy-zL.js +63 -0
  139. package/dist/tac-CuZSbu_c.js +32 -0
  140. package/dist/tail-DH7xR0rW.js +62 -0
  141. package/dist/tar-AnR03GXP.js +155 -0
  142. package/dist/tee-ByHsMExU.js +29 -0
  143. package/dist/touch-CcmnMpg5.js +26 -0
  144. package/dist/tr-D_cg13q8.js +92 -0
  145. package/dist/tree-Ck1ymlSv.js +64 -0
  146. package/dist/uname-07bQ7DTD.js +50 -0
  147. package/dist/uniq-BHkwpex3.js +76 -0
  148. package/dist/unzip-DVjk3GA4.js +91 -0
  149. package/dist/uptime-ujk4Nb77.js +17 -0
  150. package/dist/utils/archive.d.ts +2 -2
  151. package/dist/utils/archive.d.ts.map +1 -1
  152. package/dist/utils/glob.d.ts +2 -2
  153. package/dist/utils/glob.d.ts.map +1 -1
  154. package/dist/wc-CK9Flybx.js +98 -0
  155. package/dist/wget-Cww1uNE2.js +84 -0
  156. package/dist/{which-D3u0cwyh.js → which-CJwCjtVK.js} +25 -14
  157. package/dist/whoami-EHyrQ1q-.js +25 -0
  158. package/dist/xargs-I1ZWqhOp.js +40 -0
  159. package/dist/yes-XolnW6bp.js +11 -0
  160. package/dist/zip-BTmRwUYQ.js +40 -0
  161. package/package.json +16 -10
  162. package/dist/args-CG6b9cZt.js +0 -43
  163. package/dist/awk-CC_Qo0hQ.js +0 -123
  164. package/dist/base64-BBckAmkE.js +0 -72
  165. package/dist/basename-BIICW06y.js +0 -12
  166. package/dist/bc-BYiKVTNg.js +0 -200
  167. package/dist/cal-DPULSAhj.js +0 -56
  168. package/dist/cat-Jv35D4BV.js +0 -29
  169. package/dist/chmod-Bh-u8XOr.js +0 -56
  170. package/dist/chown-Dv7xfl2a.js +0 -28
  171. package/dist/cp-CB-sGTRH.js +0 -19
  172. package/dist/cut-B79kgCm4.js +0 -65
  173. package/dist/date-C8NB8v8G.js +0 -86
  174. package/dist/df-CeZb4WOr.js +0 -34
  175. package/dist/diff-D5Ej-JEe.js +0 -150
  176. package/dist/dig-BEJ8Ky96.js +0 -69
  177. package/dist/dirname-w2Y6csox.js +0 -13
  178. package/dist/du-UupzdKc_.js +0 -77
  179. package/dist/env-DXzvDKsN.js +0 -9
  180. package/dist/fastfetch-aPM9Z3ym.js +0 -310
  181. package/dist/file-DOl4Wjtc.js +0 -70
  182. package/dist/find-C0T-P7sl.js +0 -36
  183. package/dist/free-DAxE4b2U.js +0 -23
  184. package/dist/grep-Blwrv9k5.js +0 -147
  185. package/dist/gunzip-R7EtgP15.js +0 -47
  186. package/dist/gzip-BxF7M1np.js +0 -57
  187. package/dist/head-CJwcsX18.js +0 -53
  188. package/dist/hostname-BxU2S3nT.js +0 -8
  189. package/dist/index-BjKSFBDg.js +0 -8640
  190. package/dist/kernel/index.d.ts +0 -26
  191. package/dist/kernel/index.d.ts.map +0 -1
  192. package/dist/kernel/persistence/PersistenceManager.d.ts +0 -12
  193. package/dist/kernel/persistence/PersistenceManager.d.ts.map +0 -1
  194. package/dist/kernel/persistence/backends.d.ts +0 -22
  195. package/dist/kernel/persistence/backends.d.ts.map +0 -1
  196. package/dist/kernel/persistence/index.d.ts +0 -6
  197. package/dist/kernel/persistence/index.d.ts.map +0 -1
  198. package/dist/kernel/persistence/serializer.d.ts +0 -21
  199. package/dist/kernel/persistence/serializer.d.ts.map +0 -1
  200. package/dist/kernel/samples.d.ts +0 -3
  201. package/dist/kernel/samples.d.ts.map +0 -1
  202. package/dist/kernel/storage/BlobStore.d.ts +0 -31
  203. package/dist/kernel/storage/BlobStore.d.ts.map +0 -1
  204. package/dist/kernel/storage/ContentStore.d.ts +0 -52
  205. package/dist/kernel/storage/ContentStore.d.ts.map +0 -1
  206. package/dist/kernel/storage/index.d.ts +0 -7
  207. package/dist/kernel/storage/index.d.ts.map +0 -1
  208. package/dist/kernel/vfs/VFS.d.ts +0 -64
  209. package/dist/kernel/vfs/VFS.d.ts.map +0 -1
  210. package/dist/kernel/vfs/index.d.ts +0 -7
  211. package/dist/kernel/vfs/index.d.ts.map +0 -1
  212. package/dist/kernel/vfs/providers/DevProvider.d.ts +0 -11
  213. package/dist/kernel/vfs/providers/DevProvider.d.ts.map +0 -1
  214. package/dist/kernel/vfs/providers/NativeFsProvider.d.ts +0 -63
  215. package/dist/kernel/vfs/providers/NativeFsProvider.d.ts.map +0 -1
  216. package/dist/kernel/vfs/providers/ProcProvider.d.ts +0 -14
  217. package/dist/kernel/vfs/providers/ProcProvider.d.ts.map +0 -1
  218. package/dist/kernel/vfs/types.d.ts +0 -70
  219. package/dist/kernel/vfs/types.d.ts.map +0 -1
  220. package/dist/less-B0gFLJ_7.js +0 -230
  221. package/dist/ln-Bf3f3jVA.js +0 -11
  222. package/dist/ls-YnhMRefh.js +0 -106
  223. package/dist/mkdir-DY1P3Jxj.js +0 -27
  224. package/dist/mktemp-BRzo2c8y.js +0 -31
  225. package/dist/mv-bH08L-F_.js +0 -19
  226. package/dist/nano-CueO2oS0.js +0 -304
  227. package/dist/nl-D26SSOD4.js +0 -51
  228. package/dist/node-compat/buffer.d.ts +0 -44
  229. package/dist/node-compat/buffer.d.ts.map +0 -1
  230. package/dist/node-compat/child_process.d.ts +0 -10
  231. package/dist/node-compat/child_process.d.ts.map +0 -1
  232. package/dist/node-compat/console.d.ts +0 -21
  233. package/dist/node-compat/console.d.ts.map +0 -1
  234. package/dist/node-compat/crypto.d.ts +0 -17
  235. package/dist/node-compat/crypto.d.ts.map +0 -1
  236. package/dist/node-compat/events.d.ts +0 -19
  237. package/dist/node-compat/events.d.ts.map +0 -1
  238. package/dist/node-compat/fs.d.ts +0 -175
  239. package/dist/node-compat/fs.d.ts.map +0 -1
  240. package/dist/node-compat/http.d.ts +0 -87
  241. package/dist/node-compat/http.d.ts.map +0 -1
  242. package/dist/node-compat/index.d.ts +0 -19
  243. package/dist/node-compat/index.d.ts.map +0 -1
  244. package/dist/node-compat/os.d.ts +0 -39
  245. package/dist/node-compat/os.d.ts.map +0 -1
  246. package/dist/node-compat/path.d.ts +0 -58
  247. package/dist/node-compat/path.d.ts.map +0 -1
  248. package/dist/node-compat/process.d.ts +0 -62
  249. package/dist/node-compat/process.d.ts.map +0 -1
  250. package/dist/node-compat/stream.d.ts +0 -36
  251. package/dist/node-compat/stream.d.ts.map +0 -1
  252. package/dist/node-compat/string_decoder.d.ts +0 -11
  253. package/dist/node-compat/string_decoder.d.ts.map +0 -1
  254. package/dist/node-compat/timers.d.ts +0 -16
  255. package/dist/node-compat/timers.d.ts.map +0 -1
  256. package/dist/node-compat/url.d.ts +0 -53
  257. package/dist/node-compat/url.d.ts.map +0 -1
  258. package/dist/node-compat/util.d.ts +0 -27
  259. package/dist/node-compat/util.d.ts.map +0 -1
  260. package/dist/node-compat/zlib.d.ts +0 -66
  261. package/dist/node-compat/zlib.d.ts.map +0 -1
  262. package/dist/ping-DtVEwwda.js +0 -50
  263. package/dist/printf-Cc2o7KZx.js +0 -70
  264. package/dist/realpath-BH29Lem_.js +0 -24
  265. package/dist/rev-ySwmRf_K.js +0 -39
  266. package/dist/rm-D7iWUUE2.js +0 -37
  267. package/dist/rmdir-BLtdNjt1.js +0 -35
  268. package/dist/sed-DwBPYYFb.js +0 -95
  269. package/dist/seq-B01YKIbO.js +0 -37
  270. package/dist/sha256sum-DED6ePiU.js +0 -64
  271. package/dist/sl-Dv4iPBN6.js +0 -138
  272. package/dist/sleep-B4C3fZiR.js +0 -19
  273. package/dist/sort-OXqZY83v.js +0 -64
  274. package/dist/stat-BvwNpE5B.js +0 -29
  275. package/dist/strings-BesRwUt_.js +0 -42
  276. package/dist/tac-D4BMSdj9.js +0 -31
  277. package/dist/tail-xVmLkzJK.js +0 -52
  278. package/dist/tar-BHRJ0-4j.js +0 -120
  279. package/dist/tee-DxygINEJ.js +0 -17
  280. package/dist/touch-DCb9Qn5q.js +0 -23
  281. package/dist/tr-DsCiwSIu.js +0 -60
  282. package/dist/tree-4QpgsnA0.js +0 -46
  283. package/dist/uname-BCn8HlJD.js +0 -37
  284. package/dist/uniq-xmgE0zRj.js +0 -54
  285. package/dist/unzip-CDKcoB0B.js +0 -81
  286. package/dist/uptime-CgBJegqU.js +0 -8
  287. package/dist/wc-B-jNRfLa.js +0 -69
  288. package/dist/wget-CO-45JoL.js +0 -53
  289. package/dist/whoami-Y18wqme3.js +0 -25
  290. package/dist/xargs-DfbCRFFd.js +0 -35
  291. package/dist/yes-DXEyHHD2.js +0 -10
  292. package/dist/zip-Cu1DzbAu.js +0 -33
@@ -1,26 +0,0 @@
1
- import { VFS } from './vfs/index.js';
2
- import { PersistenceBackend } from './persistence/backends.js';
3
- export interface VirtualRequest {
4
- method: string;
5
- url: string;
6
- headers: Record<string, string>;
7
- body: string;
8
- }
9
- export interface VirtualResponse {
10
- statusCode: number;
11
- headers: Record<string, string>;
12
- body: string;
13
- }
14
- export type VirtualRequestHandler = (req: VirtualRequest, res: VirtualResponse) => void;
15
- export declare class Kernel {
16
- vfs: VFS;
17
- portRegistry: Map<number, VirtualRequestHandler>;
18
- private persistence;
19
- constructor(backend?: PersistenceBackend);
20
- boot(options?: {
21
- persist?: boolean;
22
- }): Promise<void>;
23
- initFilesystem(): void;
24
- getDefaultEnv(): Record<string, string>;
25
- }
26
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAKrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAwCpE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;AAExF,qBAAa,MAAM;IACjB,GAAG,EAAE,GAAG,CAAC;IACT,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAa;IAC7D,OAAO,CAAC,WAAW,CAAqB;gBAE5B,OAAO,CAAC,EAAE,kBAAkB;IAOlC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B1D,cAAc,IAAI,IAAI;IAgDtB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAWxC"}
@@ -1,12 +0,0 @@
1
- import { INode } from '../vfs/types.js';
2
- import { PersistenceBackend } from './backends.js';
3
- export declare class PersistenceManager {
4
- private backend;
5
- private timer;
6
- constructor(backend: PersistenceBackend);
7
- open(): Promise<void>;
8
- load(): Promise<INode | null>;
9
- save(root: INode): Promise<void>;
10
- scheduleSave(root: INode): void;
11
- }
12
- //# sourceMappingURL=PersistenceManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PersistenceManager.d.ts","sourceRoot":"","sources":["../../../src/kernel/persistence/PersistenceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,KAAK,CAA8C;gBAEvC,OAAO,EAAE,kBAAkB;IAEzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,IAAI,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAgB7B,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAStC,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;CAShC"}
@@ -1,22 +0,0 @@
1
- import { SerializedNode } from './serializer.js';
2
- export interface PersistenceBackend {
3
- open(): Promise<void>;
4
- loadTree(): Promise<SerializedNode | null>;
5
- saveTree(root: SerializedNode): Promise<void>;
6
- close?(): Promise<void>;
7
- }
8
- export declare class IndexedDBPersistenceBackend implements PersistenceBackend {
9
- private db;
10
- open(): Promise<void>;
11
- loadTree(): Promise<SerializedNode | null>;
12
- saveTree(root: SerializedNode): Promise<void>;
13
- close(): Promise<void>;
14
- }
15
- export declare class MemoryPersistenceBackend implements PersistenceBackend {
16
- private tree;
17
- open(): Promise<void>;
18
- loadTree(): Promise<SerializedNode | null>;
19
- saveTree(root: SerializedNode): Promise<void>;
20
- close(): Promise<void>;
21
- }
22
- //# sourceMappingURL=backends.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backends.d.ts","sourceRoot":"","sources":["../../../src/kernel/persistence/backends.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMtD,MAAM,WAAW,kBAAkB;IACjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAUD,qBAAa,2BAA4B,YAAW,kBAAkB;IACpE,OAAO,CAAC,EAAE,CAA4B;IAEhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBrB,QAAQ,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAwB1C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B;AAMD,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,OAAO,CAAC,IAAI,CAA+B;IAErC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,QAAQ,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAI1C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -1,6 +0,0 @@
1
- export { PersistenceManager } from './PersistenceManager.js';
2
- export type { PersistenceBackend } from './backends.js';
3
- export { IndexedDBPersistenceBackend, MemoryPersistenceBackend } from './backends.js';
4
- export { serialize, deserialize } from './serializer.js';
5
- export type { SerializedNode } from './serializer.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kernel/persistence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,21 +0,0 @@
1
- import { INode } from '../vfs/types.js';
2
- export interface SerializedChunkRef {
3
- h: string;
4
- s: number;
5
- }
6
- export interface SerializedNode {
7
- t: 'f' | 'd';
8
- n: string;
9
- d?: string;
10
- c?: SerializedNode[];
11
- ct: number;
12
- mt: number;
13
- m: number;
14
- mi?: string;
15
- br?: string;
16
- ch?: SerializedChunkRef[];
17
- sz?: number;
18
- }
19
- export declare function serialize(root: INode): SerializedNode;
20
- export declare function deserialize(data: SerializedNode): INode;
21
- //# sourceMappingURL=serializer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../src/kernel/persistence/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAqBD,wBAAgB,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,cAAc,CAErD;AAiDD,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,KAAK,CAEvD"}
@@ -1,3 +0,0 @@
1
- import { VFS } from './vfs/index.js';
2
- export declare function installSamples(vfs: VFS): void;
3
- //# sourceMappingURL=samples.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"samples.d.ts","sourceRoot":"","sources":["../../src/kernel/samples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAmB7C"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Compute a 64-bit FNV-1a hash of the given bytes and return it as a
3
- * 16-character lowercase hex string.
4
- *
5
- * We split the 64-bit state into two 32-bit halves (high, low) and apply
6
- * the FNV-1a algorithm byte-by-byte: xor then multiply by the prime.
7
- */
8
- export declare function hashBytes(data: Uint8Array): string;
9
- export interface BlobStore {
10
- get(hash: string): Promise<Uint8Array | null>;
11
- put(data: Uint8Array): Promise<string>;
12
- delete(hash: string): Promise<void>;
13
- has(hash: string): Promise<boolean>;
14
- }
15
- export declare class MemoryBlobStore implements BlobStore {
16
- private blobs;
17
- get(hash: string): Promise<Uint8Array | null>;
18
- put(data: Uint8Array): Promise<string>;
19
- delete(hash: string): Promise<void>;
20
- has(hash: string): Promise<boolean>;
21
- }
22
- export declare class IndexedDBBlobStore implements BlobStore {
23
- private db;
24
- /** Open (or create) the IndexedDB database. Call before using other methods. */
25
- open(): Promise<void>;
26
- get(hash: string): Promise<Uint8Array | null>;
27
- put(data: Uint8Array): Promise<string>;
28
- delete(hash: string): Promise<void>;
29
- has(hash: string): Promise<boolean>;
30
- }
31
- //# sourceMappingURL=BlobStore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlobStore.d.ts","sourceRoot":"","sources":["../../../src/kernel/storage/BlobStore.ts"],"names":[],"mappings":"AAeA;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgDlD;AAMD,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC9C,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrC;AAMD,qBAAa,eAAgB,YAAW,SAAS;IAC/C,OAAO,CAAC,KAAK,CAAiC;IAExC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAO7C,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAStC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAG1C;AASD,qBAAa,kBAAmB,YAAW,SAAS;IAClD,OAAO,CAAC,EAAE,CAA4B;IAEtC,gFAAgF;IAC1E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBrB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAwB7C,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBtC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAgB1C"}
@@ -1,52 +0,0 @@
1
- /**
2
- * Synchronous, in-memory content-addressable store with LRU eviction.
3
- *
4
- * The VFS API is fully synchronous, so we need a sync cache for file content.
5
- * Large files (>= CHUNK_THRESHOLD) are split into fixed-size chunks and stored
6
- * here, keeping INodes lightweight (metadata-only, no inline data).
7
- *
8
- * The LRU eviction removes least-recently-accessed entries when the total
9
- * stored bytes exceed the configured budget.
10
- */
11
- /** Files at or above this size are chunked rather than stored inline. */
12
- export declare const CHUNK_THRESHOLD: number;
13
- /** Size of each chunk for large files. */
14
- export declare const CHUNK_SIZE: number;
15
- export interface ChunkRef {
16
- hash: string;
17
- size: number;
18
- }
19
- export declare class ContentStore {
20
- private cache;
21
- private accessCounter;
22
- private totalBytes;
23
- private maxBytes;
24
- constructor(maxBytes?: number);
25
- /** Retrieve a blob by hash. Returns null if not in cache. */
26
- get(hash: string): Uint8Array | null;
27
- /** Store a blob. Returns its content hash. Deduplicates by hash. */
28
- put(data: Uint8Array): string;
29
- /** Remove a blob from the cache. */
30
- delete(hash: string): void;
31
- /** Check if a hash exists in the cache. */
32
- has(hash: string): boolean;
33
- /** Current total bytes in cache. */
34
- get size(): number;
35
- /** Number of entries in cache. */
36
- get count(): number;
37
- /**
38
- * Split data into chunks, store each, and return the chunk manifest.
39
- */
40
- storeChunked(data: Uint8Array): ChunkRef[];
41
- /**
42
- * Reassemble data from a chunk manifest.
43
- * Returns null if any chunk is missing from cache.
44
- */
45
- loadChunked(chunks: ChunkRef[]): Uint8Array | null;
46
- /**
47
- * Remove all chunks in a manifest from the cache.
48
- */
49
- deleteChunked(chunks: ChunkRef[]): void;
50
- private evict;
51
- }
52
- //# sourceMappingURL=ContentStore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContentStore.d.ts","sourceRoot":"","sources":["../../../src/kernel/storage/ContentStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,yEAAyE;AACzE,eAAO,MAAM,eAAe,QAAkB,CAAC;AAE/C,0CAA0C;AAC1C,eAAO,MAAM,UAAU,QAAa,CAAC;AAIrC,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AASD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,GAAE,MAAyB;IAI/C,6DAA6D;IAC7D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAOpC,oEAAoE;IACpE,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAY7B,oCAAoC;IACpC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ1B,2CAA2C;IAC3C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,oCAAoC;IACpC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,kCAAkC;IAClC,IAAI,KAAK,IAAI,MAAM,CAElB;IAID;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,EAAE;IAW1C;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,GAAG,IAAI;IAalD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;IAQvC,OAAO,CAAC,KAAK;CAad"}
@@ -1,7 +0,0 @@
1
- export { hashBytes } from './BlobStore.js';
2
- export type { BlobStore } from './BlobStore.js';
3
- export { MemoryBlobStore } from './BlobStore.js';
4
- export { IndexedDBBlobStore } from './BlobStore.js';
5
- export { ContentStore, CHUNK_THRESHOLD, CHUNK_SIZE } from './ContentStore.js';
6
- export type { ChunkRef } from './ContentStore.js';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kernel/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,64 +0,0 @@
1
- import { INode, Stat, Dirent, VirtualProvider, MountProvider, VFSWatchListener } from './types.js';
2
- import { ContentStore } from '../storage/ContentStore.js';
3
- export declare class VFS {
4
- private root;
5
- /**
6
- * Mount table -- kept sorted longest-prefix-first so that the first match
7
- * during lookup is always the most specific.
8
- */
9
- private mounts;
10
- private emitter;
11
- onChange?: () => void;
12
- /** Content store for chunked large files. Optional -- without it all data stays inline. */
13
- readonly contentStore: ContentStore;
14
- constructor(contentStore?: ContentStore);
15
- watch(listener: VFSWatchListener): () => void;
16
- watch(path: string, listener: VFSWatchListener): () => void;
17
- private notify;
18
- /**
19
- * Mount a provider at an arbitrary path.
20
- * The path is normalised to an absolute path (e.g. "/mnt/project").
21
- */
22
- mount(path: string, provider: VirtualProvider | MountProvider): void;
23
- /**
24
- * Unmount the provider at the given path.
25
- */
26
- unmount(path: string): void;
27
- /**
28
- * Backward-compatible alias for `mount`.
29
- * Previously the only way to register a VirtualProvider at a root-level prefix.
30
- */
31
- registerProvider(prefix: string, provider: VirtualProvider): void;
32
- getRoot(): INode;
33
- loadFromSerialized(root: INode): void;
34
- private getProvider;
35
- private createNode;
36
- private resolveNode;
37
- private resolveParent;
38
- private toAbsolute;
39
- readFile(path: string): Uint8Array;
40
- readFileString(path: string): string;
41
- writeFile(path: string, content: string | Uint8Array): void;
42
- /**
43
- * Store file content -- inline for small files, chunked for large files.
44
- */
45
- private applyFileContent;
46
- appendFile(path: string, content: string | Uint8Array): void;
47
- exists(path: string): boolean;
48
- stat(path: string): Stat;
49
- unlink(path: string): void;
50
- rename(oldPath: string, newPath: string): void;
51
- copyFile(src: string, dest: string): void;
52
- touch(path: string): void;
53
- mkdir(path: string, options?: {
54
- recursive?: boolean;
55
- }): void;
56
- rmdir(path: string): void;
57
- readdir(path: string): Dirent[];
58
- readdirStat(path: string): Array<Dirent & Stat>;
59
- /**
60
- * Recursively remove a directory and all its contents.
61
- */
62
- rmdirRecursive(path: string): void;
63
- }
64
- //# sourceMappingURL=VFS.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VFS.d.ts","sourceRoot":"","sources":["../../../src/kernel/vfs/VFS.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAuB,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACtG,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAC;AAmB3E,qBAAa,GAAG;IACd,OAAO,CAAC,IAAI,CAAQ;IACpB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,OAAO,CAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,2FAA2F;IAC3F,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;gBAExB,YAAY,CAAC,EAAE,YAAY;IAOvC,KAAK,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,IAAI;IAC7C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM,IAAI;IAwB3D,OAAO,CAAC,MAAM;IAOd;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,aAAa,GAAG,IAAI;IAepE;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIjE,OAAO,IAAI,KAAK;IAIhB,kBAAkB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAMrC,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,UAAU;IAMlB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAoBlC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAOpC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAqC3D;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAmC5D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAY7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkBxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA8B1B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAqC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBzC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBzB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IA2C5D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA4BzB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IA0C/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IA+B/C;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAiBnC"}
@@ -1,7 +0,0 @@
1
- export { VFS } from './VFS.js';
2
- export { VFSError, ErrorCode } from './types.js';
3
- export type { INode, ChunkRef, Stat, Dirent, FileType, ErrorCodeType, VirtualProvider, MountProvider, VFSWatchEvent, VFSWatchListener, VFSEventType } from './types.js';
4
- export { NativeFsProvider } from './providers/NativeFsProvider.js';
5
- export type { NativeFsModule } from './providers/NativeFsProvider.js';
6
- export { getMimeType, getFileCategory, isBinaryMime } from '../../utils/mime.js';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kernel/vfs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxK,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,11 +0,0 @@
1
- import { VirtualProvider, Stat, Dirent } from '../types.js';
2
- export declare class DevProvider implements VirtualProvider {
3
- private clipboardCache;
4
- readFile(subpath: string): Uint8Array;
5
- readFileString(subpath: string): string;
6
- writeFile(subpath: string, content: string | Uint8Array): void;
7
- exists(subpath: string): boolean;
8
- stat(subpath: string): Stat;
9
- readdir(subpath: string): Dirent[];
10
- }
11
- //# sourceMappingURL=DevProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DevProvider.d.ts","sourceRoot":"","sources":["../../../../src/kernel/vfs/providers/DevProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAMjE,qBAAa,WAAY,YAAW,eAAe;IACjD,OAAO,CAAC,cAAc,CAAM;IAE5B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAuBrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAuBvC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAuB9D,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMhC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAY3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;CAOnC"}
@@ -1,63 +0,0 @@
1
- import { MountProvider, Stat, Dirent } from '../types.js';
2
- /**
3
- * Minimal interface for the subset of Node.js `fs` sync methods we need.
4
- * Consumers pass this in so we avoid a hard dependency on `node:fs`.
5
- */
6
- export interface NativeFsModule {
7
- readFileSync(path: string): Uint8Array;
8
- writeFileSync(path: string, data: string | Uint8Array): void;
9
- existsSync(path: string): boolean;
10
- statSync(path: string): {
11
- isFile(): boolean;
12
- isDirectory(): boolean;
13
- size: number;
14
- mtimeMs: number;
15
- ctimeMs: number;
16
- mode: number;
17
- };
18
- readdirSync(path: string, options: {
19
- withFileTypes: true;
20
- }): Array<{
21
- name: string;
22
- isFile(): boolean;
23
- isDirectory(): boolean;
24
- }>;
25
- unlinkSync(path: string): void;
26
- mkdirSync(path: string, options?: {
27
- recursive?: boolean;
28
- }): void;
29
- rmdirSync(path: string): void;
30
- renameSync(oldPath: string, newPath: string): void;
31
- copyFileSync(src: string, dest: string): void;
32
- }
33
- /**
34
- * A MountProvider that delegates to a native filesystem via sync Node.js APIs.
35
- *
36
- * All subpaths are sandboxed to `rootPath` -- any attempt to escape via `..`
37
- * is rejected with EINVAL.
38
- */
39
- export declare class NativeFsProvider implements MountProvider {
40
- private rootPath;
41
- private fs;
42
- private readOnly;
43
- constructor(rootPath: string, fsModule: NativeFsModule, options?: {
44
- readOnly?: boolean;
45
- });
46
- private resolveSafe;
47
- private assertWritable;
48
- readFile(subpath: string): Uint8Array;
49
- readFileString(subpath: string): string;
50
- exists(subpath: string): boolean;
51
- stat(subpath: string): Stat;
52
- readdir(subpath: string): Dirent[];
53
- writeFile(subpath: string, content: string | Uint8Array): void;
54
- unlink(subpath: string): void;
55
- mkdir(subpath: string, options?: {
56
- recursive?: boolean;
57
- }): void;
58
- rmdir(subpath: string): void;
59
- rename(oldSubpath: string, newSubpath: string): void;
60
- copyFile(srcSubpath: string, destSubpath: string): void;
61
- private wrapError;
62
- }
63
- //# sourceMappingURL=NativeFsProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NativeFsProvider.d.ts","sourceRoot":"","sources":["../../../../src/kernel/vfs/providers/NativeFsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG/D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC7D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,MAAM,IAAI,OAAO,CAAC;QAAC,WAAW,IAAI,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,aAAa,EAAE,IAAI,CAAA;KAAE,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,IAAI,OAAO,CAAC;QAAC,WAAW,IAAI,OAAO,CAAA;KAAE,CAAC,CAAC;IAChI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,QAAQ,CAAU;gBAEd,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;IAWxF,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,cAAc;IAQtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IASrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAKvC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKhC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAgB3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAelC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAU9D,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAU/D,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU5B,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAWpD,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAavD,OAAO,CAAC,SAAS;CAWlB"}
@@ -1,14 +0,0 @@
1
- import { VirtualProvider, Stat, Dirent } from '../types.js';
2
- export declare class ProcProvider implements VirtualProvider {
3
- private generators;
4
- constructor();
5
- private isNetPath;
6
- private getNetInfo;
7
- private generate;
8
- readFile(subpath: string): Uint8Array;
9
- readFileString(subpath: string): string;
10
- exists(subpath: string): boolean;
11
- stat(subpath: string): Stat;
12
- readdir(subpath: string): Dirent[];
13
- }
14
- //# sourceMappingURL=ProcProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProcProvider.d.ts","sourceRoot":"","sources":["../../../../src/kernel/vfs/providers/ProcProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIjE,qBAAa,YAAa,YAAW,eAAe;IAClD,OAAO,CAAC,UAAU,CAAmC;;IAqDrD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,QAAQ;IAehB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAIrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIvC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOhC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAmB3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;CAgBnC"}
@@ -1,70 +0,0 @@
1
- export type FileType = 'file' | 'directory';
2
- export type VFSEventType = 'create' | 'modify' | 'delete' | 'rename';
3
- export interface VFSWatchEvent {
4
- type: VFSEventType;
5
- path: string;
6
- oldPath?: string;
7
- fileType: FileType;
8
- }
9
- export type VFSWatchListener = (event: VFSWatchEvent) => void;
10
- export interface ChunkRef {
11
- hash: string;
12
- size: number;
13
- }
14
- export interface INode {
15
- type: FileType;
16
- name: string;
17
- data: Uint8Array;
18
- children: Map<string, INode>;
19
- ctime: number;
20
- mtime: number;
21
- mode: number;
22
- mime?: string;
23
- blobRef?: string;
24
- chunks?: ChunkRef[];
25
- storedSize?: number;
26
- }
27
- export interface Stat {
28
- type: FileType;
29
- size: number;
30
- ctime: number;
31
- mtime: number;
32
- mode: number;
33
- mime?: string;
34
- }
35
- export interface Dirent {
36
- name: string;
37
- type: FileType;
38
- }
39
- export declare const ErrorCode: {
40
- readonly ENOENT: "ENOENT";
41
- readonly EEXIST: "EEXIST";
42
- readonly ENOTDIR: "ENOTDIR";
43
- readonly EISDIR: "EISDIR";
44
- readonly ENOTEMPTY: "ENOTEMPTY";
45
- readonly EINVAL: "EINVAL";
46
- };
47
- export type ErrorCodeType = (typeof ErrorCode)[keyof typeof ErrorCode];
48
- export interface VirtualProvider {
49
- readFile(subpath: string): Uint8Array;
50
- readFileString(subpath: string): string;
51
- writeFile?(subpath: string, content: string | Uint8Array): void;
52
- exists(subpath: string): boolean;
53
- stat(subpath: string): Stat;
54
- readdir(subpath: string): Dirent[];
55
- }
56
- export interface MountProvider extends VirtualProvider {
57
- writeFile(subpath: string, content: string | Uint8Array): void;
58
- unlink(subpath: string): void;
59
- mkdir(subpath: string, options?: {
60
- recursive?: boolean;
61
- }): void;
62
- rmdir(subpath: string): void;
63
- rename(oldSubpath: string, newSubpath: string): void;
64
- copyFile(srcSubpath: string, destSubpath: string): void;
65
- }
66
- export declare class VFSError extends Error {
67
- code: ErrorCodeType;
68
- constructor(code: ErrorCodeType, message: string);
69
- }
70
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/kernel/vfs/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,eAAO,MAAM,SAAS;;;;;;;CAOZ,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEvE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IACtC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAChE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC/D,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAChE,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACzD;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,aAAa,CAAC;gBAER,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM;CAKjD"}