@capsule-run/sdk 0.7.1 → 0.8.0

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 (62) hide show
  1. package/README.md +5 -1
  2. package/dist/app.d.ts +7 -0
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js +7 -0
  5. package/dist/app.js.map +1 -1
  6. package/dist/index.d.ts +1 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -2
  9. package/dist/index.js.map +1 -1
  10. package/dist/polyfills/fs.d.ts +148 -10
  11. package/dist/polyfills/fs.d.ts.map +1 -1
  12. package/dist/polyfills/fs.js +497 -17
  13. package/dist/polyfills/fs.js.map +1 -1
  14. package/dist/polyfills/process.d.ts +7 -2
  15. package/dist/polyfills/process.d.ts.map +1 -1
  16. package/dist/polyfills/process.js +78 -6
  17. package/dist/polyfills/process.js.map +1 -1
  18. package/dist/run.d.ts +4 -0
  19. package/dist/run.d.ts.map +1 -1
  20. package/dist/run.js +3 -2
  21. package/dist/run.js.map +1 -1
  22. package/dist/task.d.ts +11 -2
  23. package/dist/task.d.ts.map +1 -1
  24. package/dist/task.js +6 -3
  25. package/dist/task.js.map +1 -1
  26. package/package.json +4 -10
  27. package/src/app.ts +8 -0
  28. package/src/index.ts +1 -2
  29. package/src/polyfills/fs.ts +572 -20
  30. package/src/polyfills/process.ts +80 -6
  31. package/src/run.ts +7 -2
  32. package/src/task.ts +32 -14
  33. package/dist/polyfills/buffer.d.ts +0 -8
  34. package/dist/polyfills/buffer.d.ts.map +0 -1
  35. package/dist/polyfills/buffer.js +0 -9
  36. package/dist/polyfills/buffer.js.map +0 -1
  37. package/dist/polyfills/events.d.ts +0 -8
  38. package/dist/polyfills/events.d.ts.map +0 -1
  39. package/dist/polyfills/events.js +0 -9
  40. package/dist/polyfills/events.js.map +0 -1
  41. package/dist/polyfills/path.d.ts +0 -8
  42. package/dist/polyfills/path.d.ts.map +0 -1
  43. package/dist/polyfills/path.js +0 -8
  44. package/dist/polyfills/path.js.map +0 -1
  45. package/dist/polyfills/stream-web.d.ts +0 -74
  46. package/dist/polyfills/stream-web.d.ts.map +0 -1
  47. package/dist/polyfills/stream-web.js +0 -23
  48. package/dist/polyfills/stream-web.js.map +0 -1
  49. package/dist/polyfills/stream.d.ts +0 -16
  50. package/dist/polyfills/stream.d.ts.map +0 -1
  51. package/dist/polyfills/stream.js +0 -16
  52. package/dist/polyfills/stream.js.map +0 -1
  53. package/dist/polyfills/url.d.ts +0 -47
  54. package/dist/polyfills/url.d.ts.map +0 -1
  55. package/dist/polyfills/url.js +0 -68
  56. package/dist/polyfills/url.js.map +0 -1
  57. package/src/polyfills/buffer.ts +0 -11
  58. package/src/polyfills/events.ts +0 -11
  59. package/src/polyfills/path.ts +0 -21
  60. package/src/polyfills/stream-web.ts +0 -24
  61. package/src/polyfills/stream.ts +0 -28
  62. package/src/polyfills/url.ts +0 -73
@@ -39,10 +39,13 @@ function resolvePath(path) {
39
39
  if (preopens.length === 0)
40
40
  return null;
41
41
  const normalizedPath = normalizePath(path);
42
+ let catchAll = null;
42
43
  for (const { descriptor, guestPath } of preopens) {
43
44
  const normalizedGuest = normalizePath(guestPath);
44
45
  if (normalizedGuest === '.' || normalizedGuest === '') {
45
- return { dir: descriptor, relativePath: normalizedPath };
46
+ if (!catchAll)
47
+ catchAll = { dir: descriptor, relativePath: normalizedPath };
48
+ continue;
46
49
  }
47
50
  if (normalizedPath.startsWith(normalizedGuest + '/')) {
48
51
  const relativePath = normalizedPath.slice(normalizedGuest.length + 1);
@@ -52,7 +55,7 @@ function resolvePath(path) {
52
55
  return { dir: descriptor, relativePath: '.' };
53
56
  }
54
57
  }
55
- return { dir: preopens[0].descriptor, relativePath: normalizedPath };
58
+ return catchAll ?? { dir: preopens[0].descriptor, relativePath: normalizedPath };
56
59
  }
57
60
  /**
58
61
  * Read a file as text.
@@ -67,7 +70,7 @@ export async function readText(path) {
67
70
  export async function readBytes(path) {
68
71
  const resolved = resolvePath(path);
69
72
  if (!resolved) {
70
- throw new Error("Filesystem not available.");
73
+ throw new Error("File not found.");
71
74
  }
72
75
  try {
73
76
  const pathFlags = { symlinkFollow: false };
@@ -95,12 +98,12 @@ export async function writeText(path, content) {
95
98
  export async function writeBytes(path, data) {
96
99
  const resolved = resolvePath(path);
97
100
  if (!resolved) {
98
- throw new Error("Filesystem not available.");
101
+ throw new Error("File not found.");
99
102
  }
100
103
  try {
101
104
  const pathFlags = { symlinkFollow: false };
102
105
  const openFlags = { create: true, truncate: true };
103
- const descriptorFlags = { write: true };
106
+ const descriptorFlags = { write: true, mutateDirectory: true };
104
107
  const fd = resolved.dir.openAt(pathFlags, resolved.relativePath, openFlags, descriptorFlags);
105
108
  fd.write(data, BigInt(0));
106
109
  }
@@ -114,7 +117,7 @@ export async function writeBytes(path, data) {
114
117
  export async function list(path = ".") {
115
118
  const resolved = resolvePath(path);
116
119
  if (!resolved) {
117
- throw new Error("Filesystem not available.");
120
+ throw new Error("Path not found.");
118
121
  }
119
122
  try {
120
123
  let targetDir = resolved.dir;
@@ -202,12 +205,453 @@ export function readdir(path, optionsOrCallback, callback) {
202
205
  .then((files) => cb?.(null, files))
203
206
  .catch((err) => cb?.(err instanceof Error ? err : new Error(String(err))));
204
207
  }
208
+ // ---------------------------------------------------------------------------
209
+ // Sync implementations
210
+ // wasi:filesystem/types@0.2.0 descriptor methods (openAt, read, write, stat,
211
+ // readDirectory, etc.) are direct component-model imports — they are
212
+ // synchronous from JS's perspective. No asyncify, no event-loop blocking.
213
+ // ---------------------------------------------------------------------------
214
+ function enoent(path) {
215
+ return Object.assign(new Error(`ENOENT: no such file or directory, open '${path}'`), { code: 'ENOENT' });
216
+ }
217
+ /**
218
+ * Read file contents synchronously.
219
+ * Backed by wasi:filesystem/types@0.2.0 — fully synchronous.
220
+ */
221
+ export function readFileSync(path, options) {
222
+ const resolved = resolvePath(path);
223
+ if (!resolved)
224
+ throw enoent(path);
225
+ try {
226
+ const fd = resolved.dir.openAt({ symlinkFollow: false }, resolved.relativePath, {}, { read: true });
227
+ const stat = fd.stat();
228
+ const [data] = fd.read(stat.size, BigInt(0));
229
+ const encoding = typeof options === 'string' ? options : options?.encoding;
230
+ return (encoding === 'utf8' || encoding === 'utf-8') ? new TextDecoder().decode(data) : data;
231
+ }
232
+ catch (e) {
233
+ if (e instanceof Error && e.code)
234
+ throw e;
235
+ throw Object.assign(new Error(`ENOENT: no such file or directory, open '${path}'`), { code: 'ENOENT' });
236
+ }
237
+ }
238
+ /**
239
+ * Write data to a file synchronously.
240
+ * Backed by wasi:filesystem/types@0.2.0 — fully synchronous.
241
+ */
242
+ export function writeFileSync(path, data, _options) {
243
+ const resolved = resolvePath(path);
244
+ if (!resolved)
245
+ throw enoent(path);
246
+ const bytes = typeof data === 'string' ? new TextEncoder().encode(data) : data;
247
+ try {
248
+ const fd = resolved.dir.openAt({ symlinkFollow: false }, resolved.relativePath, { create: true, truncate: true }, { write: true, mutateDirectory: true });
249
+ fd.write(bytes, BigInt(0));
250
+ }
251
+ catch (e) {
252
+ throw new Error(`ENOENT: no such file or directory, open '${path}'`);
253
+ }
254
+ }
255
+ /**
256
+ * Append data to a file synchronously, creating it if it doesn't exist.
257
+ * Backed by wasi:filesystem/types@0.2.0 — fully synchronous.
258
+ */
259
+ export function appendFileSync(path, data, _options) {
260
+ const resolved = resolvePath(path);
261
+ if (!resolved)
262
+ throw enoent(path);
263
+ const bytes = typeof data === 'string' ? new TextEncoder().encode(data) : data;
264
+ try {
265
+ const fd = resolved.dir.openAt({ symlinkFollow: false }, resolved.relativePath, { create: true }, { write: true, mutateDirectory: true });
266
+ const stat = fd.stat();
267
+ fd.write(bytes, stat.size);
268
+ }
269
+ catch (e) {
270
+ throw new Error(`Failed to append to file '${path}': ${e}`);
271
+ }
272
+ }
273
+ /**
274
+ * Read directory contents synchronously.
275
+ * Backed by wasi:filesystem/types@0.2.0 — fully synchronous.
276
+ */
277
+ export function readdirSync(path, _options) {
278
+ const resolved = resolvePath(path);
279
+ if (!resolved)
280
+ throw enoent(path);
281
+ try {
282
+ let targetDir = resolved.dir;
283
+ if (resolved.relativePath !== '.') {
284
+ targetDir = resolved.dir.openAt({ symlinkFollow: false }, resolved.relativePath, { directory: true }, { read: true });
285
+ }
286
+ const stream = targetDir.readDirectory();
287
+ const entries = [];
288
+ let entry;
289
+ while ((entry = stream.readDirectoryEntry()) && entry) {
290
+ if (entry.name)
291
+ entries.push(entry.name);
292
+ }
293
+ return entries;
294
+ }
295
+ catch (e) {
296
+ throw Object.assign(new Error(`ENOENT: no such file or directory, scandir '${path}'`), { code: 'ENOENT' });
297
+ }
298
+ }
299
+ function makeStatResult(type, size = BigInt(0)) {
300
+ return {
301
+ isFile: () => type === 'file',
302
+ isDirectory: () => type === 'directory',
303
+ isSymbolicLink: () => false,
304
+ size: Number(size),
305
+ mtimeMs: 0,
306
+ atimeMs: 0,
307
+ ctimeMs: 0,
308
+ mode: type === 'directory' ? 0o40755 : 0o100644,
309
+ };
310
+ }
311
+ /**
312
+ * Get file stats synchronously.
313
+ * Backed by wasi:filesystem/types@0.2.0 — fully synchronous.
314
+ */
315
+ export function statSync(path) {
316
+ const resolved = resolvePath(path);
317
+ if (!resolved)
318
+ throw enoent(path);
319
+ try {
320
+ const fd = resolved.dir.openAt({ symlinkFollow: false }, resolved.relativePath, {}, { read: true });
321
+ const s = fd.stat();
322
+ const type = s.type === 'directory' ? 'directory' : 'file';
323
+ return makeStatResult(type, s.size);
324
+ }
325
+ catch (e) {
326
+ throw Object.assign(new Error(`ENOENT: no such file or directory, stat '${path}'`), { code: 'ENOENT' });
327
+ }
328
+ }
329
+ /**
330
+ * Get file stats synchronously (no symlink follow — same as stat in WASI 0.2).
331
+ */
332
+ export function lstatSync(path) {
333
+ return statSync(path);
334
+ }
335
+ /**
336
+ * Create a directory synchronously.
337
+ * Backed by wasi:filesystem/types@0.2.0 — fully synchronous.
338
+ */
339
+ export function mkdirSync(path, options) {
340
+ if (options?.recursive) {
341
+ const normalized = normalizePath(path);
342
+ const parts = normalized.split('/').filter(Boolean);
343
+ for (let i = 1; i <= parts.length; i++) {
344
+ const partial = parts.slice(0, i).join('/');
345
+ const resolved = resolvePath(partial);
346
+ if (!resolved)
347
+ continue;
348
+ try {
349
+ resolved.dir.createDirectoryAt(resolved.relativePath);
350
+ }
351
+ catch { /* already exists */ }
352
+ }
353
+ }
354
+ else {
355
+ const resolved = resolvePath(path);
356
+ if (!resolved)
357
+ throw enoent(path);
358
+ try {
359
+ resolved.dir.createDirectoryAt(resolved.relativePath);
360
+ }
361
+ catch (e) {
362
+ throw Object.assign(new Error(`EEXIST: file already exists, mkdir '${path}'`), { code: 'EEXIST' });
363
+ }
364
+ }
365
+ }
366
+ /**
367
+ * Remove a directory synchronously.
368
+ * Backed by wasi:filesystem/types@0.2.0 — fully synchronous.
369
+ */
370
+ export function rmdirSync(path, _options) {
371
+ const resolved = resolvePath(path);
372
+ if (!resolved)
373
+ throw enoent(path);
374
+ try {
375
+ resolved.dir.removeDirectoryAt(resolved.relativePath);
376
+ }
377
+ catch (e) {
378
+ throw Object.assign(new Error(`ENOENT: no such file or directory, rmdir '${path}'`), { code: 'ENOENT' });
379
+ }
380
+ }
381
+ /**
382
+ * Remove a file or directory synchronously.
383
+ * Backed by wasi:filesystem/types@0.2.0 — fully synchronous.
384
+ */
385
+ export function rmSync(path, options) {
386
+ const resolved = resolvePath(path);
387
+ if (!resolved) {
388
+ if (options?.force)
389
+ return;
390
+ throw enoent(path);
391
+ }
392
+ try {
393
+ const fd = resolved.dir.openAt({ symlinkFollow: false }, resolved.relativePath, {}, { read: true });
394
+ const s = fd.stat();
395
+ if (s.type === 'directory') {
396
+ if (!options?.recursive) {
397
+ throw Object.assign(new Error(`EISDIR: illegal operation on a directory, rm '${path}'`), { code: 'EISDIR' });
398
+ }
399
+ resolved.dir.removeDirectoryAt(resolved.relativePath);
400
+ }
401
+ else {
402
+ resolved.dir.unlinkFileAt(resolved.relativePath);
403
+ }
404
+ }
405
+ catch (e) {
406
+ if (options?.force)
407
+ return;
408
+ if (e instanceof Error && e.code)
409
+ throw e;
410
+ throw enoent(path);
411
+ }
412
+ }
413
+ /**
414
+ * Remove a file synchronously.
415
+ * Backed by wasi:filesystem/types@0.2.0 — fully synchronous.
416
+ */
417
+ export function unlinkSync(path) {
418
+ const resolved = resolvePath(path);
419
+ if (!resolved)
420
+ throw enoent(path);
421
+ try {
422
+ resolved.dir.unlinkFileAt(resolved.relativePath);
423
+ }
424
+ catch (e) {
425
+ throw Object.assign(new Error(`ENOENT: no such file or directory, unlink '${path}'`), { code: 'ENOENT' });
426
+ }
427
+ }
428
+ /**
429
+ * Copy a file synchronously.
430
+ * Backed by wasi:filesystem/types@0.2.0 — fully synchronous.
431
+ */
432
+ export function copyFileSync(src, dest) {
433
+ const data = readFileSync(src);
434
+ writeFileSync(dest, data);
435
+ }
436
+ /**
437
+ * Rename a file or directory synchronously.
438
+ * Falls back to copy+delete since wasi:filesystem/types@0.2.0
439
+ * does not expose a rename/link-at in the current WIT binding.
440
+ */
441
+ export function renameSync(oldPath, newPath) {
442
+ try {
443
+ const data = readFileSync(oldPath);
444
+ writeFileSync(newPath, data);
445
+ unlinkSync(oldPath);
446
+ }
447
+ catch (e) {
448
+ throw Object.assign(new Error(`ENOENT: no such file or directory, rename '${oldPath}' -> '${newPath}'`), { code: 'ENOENT' });
449
+ }
450
+ }
451
+ /**
452
+ * Check file accessibility synchronously.
453
+ * Throws if the path does not exist.
454
+ */
455
+ export function accessSync(path, _mode) {
456
+ const resolved = resolvePath(path);
457
+ if (!resolved)
458
+ throw enoent(path);
459
+ try {
460
+ resolved.dir.openAt({ symlinkFollow: false }, resolved.relativePath, {}, { read: true });
461
+ }
462
+ catch (e) {
463
+ throw Object.assign(new Error(`ENOENT: no such file or directory, access '${path}'`), { code: 'ENOENT' });
464
+ }
465
+ }
466
+ /**
467
+ * Check if a path exists synchronously.
468
+ * Backed by wasi:filesystem/types@0.2.0 — fully synchronous.
469
+ */
470
+ export function existsSync(path) {
471
+ const resolved = resolvePath(path);
472
+ if (!resolved)
473
+ return false;
474
+ try {
475
+ resolved.dir.openAt({ symlinkFollow: false }, resolved.relativePath, {}, { read: true });
476
+ return true;
477
+ }
478
+ catch {
479
+ return false;
480
+ }
481
+ }
482
+ /**
483
+ * Delete a file.
484
+ */
485
+ export async function unlink(path) {
486
+ const resolved = resolvePath(path);
487
+ if (!resolved) {
488
+ throw new Error("File not found.");
489
+ }
490
+ const fs = getFsBindings();
491
+ if (!fs) {
492
+ throw new Error("File not found.");
493
+ }
494
+ try {
495
+ resolved.dir.unlinkFileAt(resolved.relativePath);
496
+ }
497
+ catch (e) {
498
+ throw new Error(`Failed to delete file '${path}': ${e}`);
499
+ }
500
+ }
501
+ /**
502
+ * Returns 'file', 'directory', or 'notfound' for a given path.
503
+ */
504
+ async function statPath(path) {
505
+ const resolved = resolvePath(path);
506
+ if (!resolved)
507
+ return 'notfound';
508
+ try {
509
+ const fd = resolved.dir.openAt({ symlinkFollow: false }, resolved.relativePath, {}, { read: true });
510
+ const s = fd.stat();
511
+ if (s.type === 'directory')
512
+ return 'directory';
513
+ return 'file';
514
+ }
515
+ catch {
516
+ return 'notfound';
517
+ }
518
+ }
519
+ /**
520
+ * Recursively delete a directory and all its contents.
521
+ */
522
+ async function removeRecursive(path) {
523
+ const resolved = resolvePath(path);
524
+ if (!resolved)
525
+ throw new Error(`Path not found: '${path}'`);
526
+ const fd = resolved.dir.openAt({ symlinkFollow: false }, resolved.relativePath, { directory: true }, { read: true, mutateDirectory: true });
527
+ const stream = fd.readDirectory();
528
+ let entry;
529
+ while ((entry = stream.readDirectoryEntry()) && entry) {
530
+ if (!entry.name)
531
+ continue;
532
+ const childPath = path.replace(/\/$/, '') + '/' + entry.name;
533
+ if (entry.type === 'directory') {
534
+ await removeRecursive(childPath);
535
+ }
536
+ else {
537
+ await unlink(childPath);
538
+ }
539
+ }
540
+ resolved.dir.removeDirectoryAt(resolved.relativePath);
541
+ }
542
+ /**
543
+ * Delete a directory. Pass `{ recursive: true }` to remove it and all its contents.
544
+ */
545
+ export async function rmdir(path, options) {
546
+ const resolved = resolvePath(path);
547
+ if (!resolved) {
548
+ throw new Error("Folder not found.");
549
+ }
550
+ try {
551
+ if (options?.recursive) {
552
+ await removeRecursive(path);
553
+ }
554
+ else {
555
+ resolved.dir.removeDirectoryAt(resolved.relativePath);
556
+ }
557
+ }
558
+ catch (e) {
559
+ if (e instanceof Error && e.message.startsWith('Failed to remove'))
560
+ throw e;
561
+ throw new Error(`Failed to remove directory '${path}': ${e}`);
562
+ }
563
+ }
205
564
  /**
206
- * Check if file/directory exists (sync-style, limited in WASM)
565
+ * Remove a file or directory. Supports `{ recursive, force }` options.
207
566
  */
208
- export function existsSync(_path) {
209
- console.warn('fs.existsSync: Cannot implement true sync in WASM. Use fs.access instead.');
210
- return false;
567
+ export async function rm(path, options) {
568
+ const kind = await statPath(path);
569
+ if (kind === 'notfound') {
570
+ if (options?.force)
571
+ return;
572
+ throw new Error(`ENOENT: no such file or directory, rm '${path}'`);
573
+ }
574
+ if (kind === 'directory') {
575
+ if (!options?.recursive) {
576
+ throw new Error(`EISDIR: illegal operation on a directory, rm '${path}' (use { recursive: true })`);
577
+ }
578
+ await removeRecursive(path);
579
+ }
580
+ else {
581
+ await unlink(path);
582
+ }
583
+ }
584
+ /**
585
+ * Create a directory. Pass `{ recursive: true }` to create intermediate directories.
586
+ */
587
+ export async function mkdir(path, options) {
588
+ if (options?.recursive) {
589
+ const normalized = normalizePath(path);
590
+ const parts = normalized.split('/').filter(Boolean);
591
+ for (let i = 1; i <= parts.length; i++) {
592
+ const partial = parts.slice(0, i).join('/');
593
+ const resolved = resolvePath(partial);
594
+ if (!resolved)
595
+ continue;
596
+ try {
597
+ resolved.dir.createDirectoryAt(resolved.relativePath);
598
+ }
599
+ catch {
600
+ // Directory may already exist, continue
601
+ }
602
+ }
603
+ }
604
+ else {
605
+ const resolved = resolvePath(path);
606
+ if (!resolved)
607
+ throw new Error(`Cannot resolve path: '${path}'`);
608
+ try {
609
+ resolved.dir.createDirectoryAt(resolved.relativePath);
610
+ }
611
+ catch (e) {
612
+ throw new Error(`Failed to create directory '${path}': ${e}`);
613
+ }
614
+ }
615
+ }
616
+ /**
617
+ * Copy a file from src to dest.
618
+ */
619
+ export async function copyFile(src, dest) {
620
+ const data = await readBytes(src);
621
+ await writeBytes(dest, data);
622
+ }
623
+ async function copyDirRecursive(src, dest) {
624
+ await mkdir(dest, { recursive: true });
625
+ const entries = await list(src);
626
+ for (const entry of entries) {
627
+ const srcEntry = src.replace(/\/$/, '') + '/' + entry;
628
+ const destEntry = dest.replace(/\/$/, '') + '/' + entry;
629
+ const kind = await statPath(srcEntry);
630
+ if (kind === 'directory') {
631
+ await copyDirRecursive(srcEntry, destEntry);
632
+ }
633
+ else {
634
+ await copyFile(srcEntry, destEntry);
635
+ }
636
+ }
637
+ }
638
+ /**
639
+ * Copy a file or directory. Pass `{ recursive: true }` to copy directories.
640
+ */
641
+ export async function cp(src, dest, options) {
642
+ const kind = await statPath(src);
643
+ if (kind === 'notfound') {
644
+ throw new Error(`ENOENT: no such file or directory '${src}'`);
645
+ }
646
+ if (kind === 'directory') {
647
+ if (!options?.recursive) {
648
+ throw new Error(`EISDIR: illegal operation on a directory '${src}' (use { recursive: true })`);
649
+ }
650
+ await copyDirRecursive(src, dest);
651
+ }
652
+ else {
653
+ await copyFile(src, dest);
654
+ }
211
655
  }
212
656
  /**
213
657
  * Promises API
@@ -235,22 +679,58 @@ export const promises = {
235
679
  throw new Error(`ENOENT: no such file or directory, access '${path}'`);
236
680
  }
237
681
  },
682
+ async unlink(path) {
683
+ await unlink(path);
684
+ },
238
685
  async stat(path) {
239
- const fileExists = await exists(path);
240
- if (!fileExists) {
241
- throw new Error(`ENOENT: no such file or directory, stat '${path}'`);
686
+ const kind = await statPath(path);
687
+ if (kind === 'notfound') {
688
+ throw Object.assign(new Error(`ENOENT: no such file or directory, stat '${path}'`), { code: 'ENOENT' });
242
689
  }
243
- return {
244
- isFile: () => true,
245
- isDirectory: () => false,
246
- };
690
+ return makeStatResult(kind);
691
+ },
692
+ async rmdir(path, options) {
693
+ await rmdir(path, options);
694
+ },
695
+ async rm(path, options) {
696
+ await rm(path, options);
697
+ },
698
+ async mkdir(path, options) {
699
+ await mkdir(path, options);
700
+ },
701
+ async copyFile(src, dest) {
702
+ await copyFile(src, dest);
703
+ },
704
+ async cp(src, dest, options) {
705
+ await cp(src, dest, options);
247
706
  },
248
707
  };
249
708
  const fs = {
709
+ // Async / callback
250
710
  readFile,
251
711
  writeFile,
252
712
  readdir,
713
+ unlink,
714
+ rmdir,
715
+ rm,
716
+ mkdir,
717
+ copyFile,
718
+ cp,
719
+ readFileSync,
720
+ writeFileSync,
721
+ appendFileSync,
722
+ readdirSync,
723
+ statSync,
724
+ lstatSync,
725
+ mkdirSync,
726
+ rmdirSync,
727
+ rmSync,
728
+ unlinkSync,
729
+ copyFileSync,
730
+ renameSync,
731
+ accessSync,
253
732
  existsSync,
733
+ // Promises API
254
734
  promises,
255
735
  };
256
736
  export default fs;
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/polyfills/fs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/polyfills/fs.ts"],"names":[],"mappings":"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"}
@@ -60,11 +60,16 @@ declare const process: {
60
60
  */
61
61
  nextTick(callback: (...args: any[]) => void, ...args: any[]): void;
62
62
  /**
63
- * Standard streams (not fully implemented)
63
+ * Standard input backed by wasi:cli/stdin@0.2.0.
64
+ * Exposes a minimal EventEmitter-compatible Readable so that
65
+ * MCP's StdioServerTransport can call stdin.on('data', ...).
66
+ */
67
+ readonly stdin: any;
68
+ /**
69
+ * Standard output — backed by wasi:cli/stdout@0.2.0.
64
70
  */
65
71
  readonly stdout: any;
66
72
  readonly stderr: any;
67
- readonly stdin: any;
68
73
  /**
69
74
  * Memory usage (not available in WASI)
70
75
  */
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/polyfills/process.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2EH,QAAA,MAAM,OAAO;IACT;;OAEG;kBACQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC;;OAEG;mBACS,MAAM,EAAE;IAIpB;;OAEG;WACI,MAAM;IAIb;;OAEG;qBACc,MAAM,GAAG,IAAI;IAI9B;;OAEG;uBACa,OAAO;IAIvB;;OAEG;mBACS,QAAQ;IAIpB;;OAEG;kBACQ,MAAM;IAIjB;;OAEG;mBACS,MAAM;IAIlB;;OAEG;cACO,MAAM;IAIhB;;OAEG;sBACY,MAAM;IAIrB;;OAEG;uBACa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC;;OAEG;gBACS,MAAM,GAAG,KAAK;IAI1B;;OAEG;aACM,KAAK;IAId;;OAEG;uBACgB,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,WAAW,GAAG,EAAE,GAAG,IAAI;IAIlE;;OAEG;qBACW,GAAG;qBAOH,GAAG;oBAOJ,GAAG;IAMhB;;OAEG;mBACY;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;KACxB;IAUD;;OAEG;6BACsB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QACxD,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAClB;IAOD;;OAEG;;kBAEW,MAAM;;IAKpB;;OAEG;uBACa,MAAM;IAItB;;OAEG;uBACa,MAAM,EAAE;IAIxB;;OAEG;oBACU,MAAM;CAItB,CAAC;AAEF,eAAe,OAAO,CAAC;AAEvB,eAAO,MACH,GAAG,0BACH,IAAI,YACJ,GAAG,QA/KI,MAAM,EAgLb,QAAQ,WACR,IAAI,YACJ,GAAG,UACH,IAAI,UACJ,OAAO,UACP,QAAQ,0BACR,IAAI,UArHQ,MAAM,KAAG,KAAK,EAsH1B,QAAQ,aAxGW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,WAAW,GAAG,EAAE,KAAG,IAAI,EAyGlE,MAAM,OACN,MAAM,OACN,KAAK,KACE,CAAC"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/polyfills/process.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqFH,QAAA,MAAM,OAAO;IACT;;OAEG;kBACQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC;;OAEG;mBACS,MAAM,EAAE;IAIpB;;OAEG;WACI,MAAM;IAIb;;OAEG;qBACc,MAAM,GAAG,IAAI;IAI9B;;OAEG;uBACa,OAAO;IAIvB;;OAEG;mBACS,QAAQ;IAIpB;;OAEG;kBACQ,MAAM;IAIjB;;OAEG;mBACS,MAAM;IAIlB;;OAEG;cACO,MAAM;IAIhB;;OAEG;sBACY,MAAM;IAIrB;;OAEG;uBACa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC;;OAEG;gBACS,MAAM,GAAG,KAAK;IAI1B;;OAEG;aACM,KAAK;IAId;;OAEG;uBACgB,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,WAAW,GAAG,EAAE,GAAG,IAAI;IAIlE;;;;OAIG;oBACU,GAAG;IA+ChB;;OAEG;qBACW,GAAG;qBAyBH,GAAG;IAOjB;;OAEG;mBACY;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;KACxB;IAUD;;OAEG;6BACsB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QACxD,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAClB;IAOD;;OAEG;;kBAEW,MAAM;;IAKpB;;OAEG;uBACa,MAAM;IAItB;;OAEG;uBACa,MAAM,EAAE;IAIxB;;OAEG;oBACU,MAAM;CAItB,CAAC;AAEF,eAAe,OAAO,CAAC;AAEvB,eAAO,MACH,GAAG,0BACH,IAAI,YACJ,GAAG,QA/OI,MAAM,EAgPb,QAAQ,WACR,IAAI,YACJ,GAAG,UACH,IAAI,UACJ,OAAO,UACP,QAAQ,0BACR,IAAI,UArLQ,MAAM,KAAG,KAAK,EAsL1B,QAAQ,aAxKW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,WAAW,GAAG,EAAE,KAAG,IAAI,EAyKlE,MAAM,OACN,MAAM,OACN,KAAK,KACE,CAAC"}