@dxos/plugin-wnfs 0.9.1-staging.ee54ba693a → 0.11.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 (99) hide show
  1. package/PLUGIN.mdl +92 -46
  2. package/dist/lib/WnfsPlugin.mjs +28 -0
  3. package/dist/lib/WnfsPlugin.mjs.map +1 -0
  4. package/dist/lib/WnfsPlugin.node.mjs +8 -0
  5. package/dist/lib/WnfsPlugin.node.mjs.map +1 -0
  6. package/dist/lib/WnfsPlugin.workerd.mjs +8 -0
  7. package/dist/lib/WnfsPlugin.workerd.mjs.map +1 -0
  8. package/dist/lib/capabilities.mjs +8 -0
  9. package/dist/lib/capabilities.mjs.map +1 -0
  10. package/dist/lib/chunk-blob-backend.mjs +118 -0
  11. package/dist/lib/chunk-blob-backend.mjs.map +1 -0
  12. package/dist/lib/chunk-dependencies.mjs +146 -0
  13. package/dist/lib/chunk-dependencies.mjs.map +1 -0
  14. package/dist/lib/chunk-helpers.mjs +198 -0
  15. package/dist/lib/chunk-helpers.mjs.map +1 -0
  16. package/dist/lib/chunk-meta.mjs +38 -0
  17. package/dist/lib/chunk-meta.mjs.map +1 -0
  18. package/dist/lib/chunk-types.mjs +46 -0
  19. package/dist/lib/chunk-types.mjs.map +1 -0
  20. package/dist/lib/helpers.mjs +2 -0
  21. package/dist/lib/index.mjs +4 -0
  22. package/dist/lib/meta.mjs +2 -0
  23. package/dist/lib/plugin.mjs +8 -0
  24. package/dist/lib/plugin.mjs.map +1 -0
  25. package/dist/lib/translations.mjs +7 -0
  26. package/dist/lib/translations.mjs.map +1 -0
  27. package/dist/lib/types.mjs +2 -0
  28. package/dist/types/src/WnfsPlugin.d.ts.map +1 -1
  29. package/dist/types/src/capabilities/blob-backend.d.ts +22 -0
  30. package/dist/types/src/capabilities/blob-backend.d.ts.map +1 -0
  31. package/dist/types/src/capabilities/blob-backend.test.d.ts +2 -0
  32. package/dist/types/src/capabilities/blob-backend.test.d.ts.map +1 -0
  33. package/dist/types/src/capabilities/dependencies.d.ts +5 -0
  34. package/dist/types/src/capabilities/dependencies.d.ts.map +1 -0
  35. package/dist/types/src/capabilities/index.d.ts +2 -3
  36. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  37. package/dist/types/src/helpers/wnfs-url.d.ts +6 -0
  38. package/dist/types/src/helpers/wnfs-url.d.ts.map +1 -1
  39. package/dist/types/src/types/WnfsCapabilities.d.ts +7 -0
  40. package/dist/types/src/types/WnfsCapabilities.d.ts.map +1 -1
  41. package/dist/types/src/types/WnfsEvents.d.ts +11 -0
  42. package/dist/types/src/types/WnfsEvents.d.ts.map +1 -0
  43. package/dist/types/src/types/index.d.ts +1 -0
  44. package/dist/types/src/types/index.d.ts.map +1 -1
  45. package/dist/types/tsconfig.tsbuildinfo +1 -1
  46. package/dx.config.ts +4 -4
  47. package/package.json +34 -32
  48. package/src/WnfsPlugin.tsx +9 -24
  49. package/src/capabilities/blob-backend.test.ts +108 -0
  50. package/src/capabilities/blob-backend.ts +104 -0
  51. package/src/capabilities/{blockstore.ts → dependencies.ts} +6 -1
  52. package/src/capabilities/index.ts +2 -4
  53. package/src/helpers/wnfs-url.ts +22 -4
  54. package/src/types/WnfsCapabilities.ts +9 -0
  55. package/src/types/WnfsEvents.ts +19 -0
  56. package/src/types/index.ts +1 -0
  57. package/dist/lib/neutral/WnfsPlugin.mjs +0 -51
  58. package/dist/lib/neutral/WnfsPlugin.mjs.map +0 -7
  59. package/dist/lib/neutral/WnfsPlugin.node.mjs +0 -12
  60. package/dist/lib/neutral/WnfsPlugin.node.mjs.map +0 -7
  61. package/dist/lib/neutral/WnfsPlugin.workerd.mjs +0 -12
  62. package/dist/lib/neutral/WnfsPlugin.workerd.mjs.map +0 -7
  63. package/dist/lib/neutral/backend-4HPTHS33.mjs +0 -47
  64. package/dist/lib/neutral/backend-4HPTHS33.mjs.map +0 -7
  65. package/dist/lib/neutral/blockstore-U6SPNL2C.mjs +0 -190
  66. package/dist/lib/neutral/blockstore-U6SPNL2C.mjs.map +0 -7
  67. package/dist/lib/neutral/capabilities/index.mjs +0 -13
  68. package/dist/lib/neutral/capabilities/index.mjs.map +0 -7
  69. package/dist/lib/neutral/chunk-2WLTMUHV.mjs +0 -19
  70. package/dist/lib/neutral/chunk-2WLTMUHV.mjs.map +0 -7
  71. package/dist/lib/neutral/chunk-H2YCLSRI.mjs +0 -47
  72. package/dist/lib/neutral/chunk-H2YCLSRI.mjs.map +0 -7
  73. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
  74. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
  75. package/dist/lib/neutral/chunk-L33MOD23.mjs +0 -219
  76. package/dist/lib/neutral/chunk-L33MOD23.mjs.map +0 -7
  77. package/dist/lib/neutral/helpers/index.mjs +0 -26
  78. package/dist/lib/neutral/helpers/index.mjs.map +0 -7
  79. package/dist/lib/neutral/index.mjs +0 -36
  80. package/dist/lib/neutral/index.mjs.map +0 -7
  81. package/dist/lib/neutral/meta.json +0 -1
  82. package/dist/lib/neutral/meta.mjs +0 -8
  83. package/dist/lib/neutral/meta.mjs.map +0 -7
  84. package/dist/lib/neutral/plugin.mjs +0 -12
  85. package/dist/lib/neutral/plugin.mjs.map +0 -7
  86. package/dist/lib/neutral/translations.mjs +0 -17
  87. package/dist/lib/neutral/translations.mjs.map +0 -7
  88. package/dist/lib/neutral/types/index.mjs +0 -8
  89. package/dist/lib/neutral/types/index.mjs.map +0 -7
  90. package/dist/lib/neutral/url-resolver-BIRH7WHL.mjs +0 -47
  91. package/dist/lib/neutral/url-resolver-BIRH7WHL.mjs.map +0 -7
  92. package/dist/types/src/capabilities/backend.d.ts +0 -6
  93. package/dist/types/src/capabilities/backend.d.ts.map +0 -1
  94. package/dist/types/src/capabilities/blockstore.d.ts +0 -5
  95. package/dist/types/src/capabilities/blockstore.d.ts.map +0 -1
  96. package/dist/types/src/capabilities/url-resolver.d.ts +0 -6
  97. package/dist/types/src/capabilities/url-resolver.d.ts.map +0 -1
  98. package/src/capabilities/backend.ts +0 -43
  99. package/src/capabilities/url-resolver.ts +0 -44
@@ -1,43 +0,0 @@
1
- //
2
- // Copyright 2026 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
-
7
- import { Capability } from '@dxos/app-framework';
8
- import { invariant } from '@dxos/invariant';
9
- import { ClientCapabilities } from '@dxos/plugin-client';
10
- import { FileCapabilities } from '@dxos/plugin-file/types';
11
- import { File } from '@dxos/types';
12
-
13
- import { WnfsCapabilities } from '#types';
14
-
15
- import { upload } from '../helpers';
16
-
17
- export const WNFS_BACKEND_ID = 'wnfs';
18
-
19
- export default Capability.makeModule(
20
- Effect.fnUntraced(function* () {
21
- const capabilities = yield* Capability.Service;
22
-
23
- return Capability.contributes(FileCapabilities.Backend, {
24
- id: WNFS_BACKEND_ID,
25
- name: 'WNFS',
26
- description: 'Decentralized, end-to-end encrypted storage via Web Native File System.',
27
- upload: async (file, db) => {
28
- const client = capabilities.get(ClientCapabilities.Client);
29
- const blockstore = capabilities.get(WnfsCapabilities.Blockstore);
30
- const instances = capabilities.get(WnfsCapabilities.Instances);
31
- const space = client.spaces.get(db.spaceId);
32
- invariant(space, 'Space not found');
33
- const info = await upload({ file, blockstore, instances, space });
34
- return {
35
- name: info.name,
36
- type: info.type,
37
- size: file.size,
38
- data: File.externalData(info.url, info.cid),
39
- };
40
- },
41
- });
42
- }),
43
- );
@@ -1,44 +0,0 @@
1
- //
2
- // Copyright 2026 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
-
7
- import { Capability } from '@dxos/app-framework';
8
- import { FileCapabilities } from '@dxos/plugin-file/types';
9
-
10
- import { WnfsCapabilities } from '#types';
11
-
12
- import { getBlobUrl, loadWnfs } from '../helpers';
13
-
14
- export const WNFS_URL_RESOLVER_ID = 'wnfs';
15
-
16
- export default Capability.makeModule(
17
- Effect.fnUntraced(function* () {
18
- const capabilities = yield* Capability.Service;
19
-
20
- return Capability.contributes(FileCapabilities.UrlResolver, {
21
- id: WNFS_URL_RESOLVER_ID,
22
- test: (url) => url.startsWith('wnfs://'),
23
- resolve: async (wnfsUrl, file, space) => {
24
- if (!space) {
25
- return undefined;
26
- }
27
- try {
28
- const blockstore = capabilities.get(WnfsCapabilities.Blockstore);
29
- const instances = capabilities.get(WnfsCapabilities.Instances);
30
- const { directory, forest } = await loadWnfs({ blockstore, instances, space });
31
- return await getBlobUrl({
32
- wnfsUrl,
33
- blockstore,
34
- directory,
35
- forest,
36
- type: file.type,
37
- });
38
- } catch {
39
- return undefined;
40
- }
41
- },
42
- });
43
- }),
44
- );