@bendyline/docblocks 2.0.0 → 2.1.1

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 (278) hide show
  1. package/README.md +2 -2
  2. package/dist/{chunk-2D7Y4IR3.js → chunk-4437YWLE.js} +123 -67
  3. package/dist/{chunk-5MYAICRE.js → chunk-45T5AFCN.js} +44 -57
  4. package/dist/{chunk-PGR7LK6D.js → chunk-6L3JRDE7.js} +14 -6
  5. package/dist/{chunk-RVQHY3XU.js → chunk-6XHOOBYF.js} +0 -1
  6. package/dist/chunk-73OOROXH.js +8 -0
  7. package/dist/{chunk-SI2LU2RP.js → chunk-AYWKIZLD.js} +1 -1
  8. package/dist/{chunk-GCPBEMMH.js → chunk-BVY7GGNV.js} +10 -21
  9. package/dist/{chunk-AEHCVWU5.js → chunk-DZB666V7.js} +0 -1
  10. package/dist/{chunk-75UUF6C4.js → chunk-HI7QEWL6.js} +18 -10
  11. package/dist/chunk-KQ6756AJ.js +28 -0
  12. package/dist/chunk-LMMOFRGQ.js +148 -0
  13. package/dist/{chunk-FNW556FN.js → chunk-M2PUNKHS.js} +0 -1
  14. package/dist/chunk-M5ZNQGR5.js +19 -0
  15. package/dist/chunk-M62ZGJ5I.js +51 -0
  16. package/dist/chunk-OQCPBOQA.js +168 -0
  17. package/dist/{chunk-EGNDADXB.js → chunk-QI6YKTQV.js} +2 -3
  18. package/dist/chunk-SJBB5OD7.js +227 -0
  19. package/dist/{chunk-EZKJZUNJ.js → chunk-XAMILHQP.js} +0 -1
  20. package/dist/{chunk-J32GU3F3.js → chunk-YM7O3PWO.js} +249 -222
  21. package/dist/{chunk-RQJRQF46.js → chunk-ZO7G53QP.js} +41 -49
  22. package/dist/document/index.d.ts +358 -6
  23. package/dist/document/index.js +24 -4
  24. package/dist/filesystem/electron.d.ts +73 -4
  25. package/dist/filesystem/electron.js +16 -4
  26. package/dist/filesystem/index.d.ts +228 -22
  27. package/dist/filesystem/index.js +133 -20
  28. package/dist/filesystem/indexeddb.d.ts +284 -5
  29. package/dist/filesystem/indexeddb.js +22 -5
  30. package/dist/filesystem/memory.d.ts +152 -4
  31. package/dist/filesystem/memory.js +12 -4
  32. package/dist/filesystem/native.d.ts +136 -4
  33. package/dist/filesystem/native.js +27 -4
  34. package/dist/host/index.d.ts +32 -9
  35. package/dist/host/index.js +26 -30
  36. package/dist/index.d.ts +14 -10
  37. package/dist/index.js +204 -10
  38. package/dist/mcp/index.d.ts +33 -4
  39. package/dist/mcp/index.js +31 -4
  40. package/dist/mcp/zod.d.ts +645 -643
  41. package/dist/mcp/zod.js +700 -885
  42. package/dist/share/index.d.ts +43 -0
  43. package/dist/share/index.js +12 -0
  44. package/dist/{types-CsX6EN2t.d.ts → types-BEg5SQ1_.d.ts} +1 -1
  45. package/dist/{types-eOlt9J7n.d.ts → types-CueK0tvU.d.ts} +34 -11
  46. package/dist/vscode/index.d.ts +225 -3
  47. package/dist/vscode/index.js +389 -3
  48. package/dist/workspace/index.d.ts +141 -4
  49. package/dist/workspace/index.js +28 -3
  50. package/package.json +10 -5
  51. package/dist/chunk-2D7Y4IR3.js.map +0 -1
  52. package/dist/chunk-5MYAICRE.js.map +0 -1
  53. package/dist/chunk-75UUF6C4.js.map +0 -1
  54. package/dist/chunk-AEHCVWU5.js.map +0 -1
  55. package/dist/chunk-AYZ4HN5M.js +0 -20
  56. package/dist/chunk-AYZ4HN5M.js.map +0 -1
  57. package/dist/chunk-EGNDADXB.js.map +0 -1
  58. package/dist/chunk-EZKJZUNJ.js.map +0 -1
  59. package/dist/chunk-FNW556FN.js.map +0 -1
  60. package/dist/chunk-GCPBEMMH.js.map +0 -1
  61. package/dist/chunk-J32GU3F3.js.map +0 -1
  62. package/dist/chunk-PGR7LK6D.js.map +0 -1
  63. package/dist/chunk-RQJRQF46.js.map +0 -1
  64. package/dist/chunk-RVQHY3XU.js.map +0 -1
  65. package/dist/chunk-SI2LU2RP.js.map +0 -1
  66. package/dist/chunk-W5UUUII5.js +0 -142
  67. package/dist/chunk-W5UUUII5.js.map +0 -1
  68. package/dist/document/document-session.d.ts +0 -127
  69. package/dist/document/document-session.d.ts.map +0 -1
  70. package/dist/document/document-session.js +0 -749
  71. package/dist/document/document-session.js.map +0 -1
  72. package/dist/document/filesystem-target.d.ts +0 -17
  73. package/dist/document/filesystem-target.d.ts.map +0 -1
  74. package/dist/document/filesystem-target.js +0 -70
  75. package/dist/document/filesystem-target.js.map +0 -1
  76. package/dist/document/index.d.ts.map +0 -1
  77. package/dist/document/index.js.map +0 -1
  78. package/dist/document/recovery-journal.d.ts +0 -125
  79. package/dist/document/recovery-journal.d.ts.map +0 -1
  80. package/dist/document/recovery-journal.js +0 -385
  81. package/dist/document/recovery-journal.js.map +0 -1
  82. package/dist/document/types.d.ts +0 -89
  83. package/dist/document/types.d.ts.map +0 -1
  84. package/dist/document/types.js +0 -9
  85. package/dist/document/types.js.map +0 -1
  86. package/dist/filesystem/commit-lock.d.ts +0 -3
  87. package/dist/filesystem/commit-lock.d.ts.map +0 -1
  88. package/dist/filesystem/commit-lock.js +0 -20
  89. package/dist/filesystem/commit-lock.js.map +0 -1
  90. package/dist/filesystem/dbk-workspace.d.ts +0 -34
  91. package/dist/filesystem/dbk-workspace.d.ts.map +0 -1
  92. package/dist/filesystem/dbk-workspace.js +0 -85
  93. package/dist/filesystem/dbk-workspace.js.map +0 -1
  94. package/dist/filesystem/electron-provider-v2.d.ts +0 -36
  95. package/dist/filesystem/electron-provider-v2.d.ts.map +0 -1
  96. package/dist/filesystem/electron-provider-v2.js +0 -503
  97. package/dist/filesystem/electron-provider-v2.js.map +0 -1
  98. package/dist/filesystem/electron-provider.d.ts +0 -35
  99. package/dist/filesystem/electron-provider.d.ts.map +0 -1
  100. package/dist/filesystem/electron-provider.js +0 -69
  101. package/dist/filesystem/electron-provider.js.map +0 -1
  102. package/dist/filesystem/electron.d.ts.map +0 -1
  103. package/dist/filesystem/electron.js.map +0 -1
  104. package/dist/filesystem/file-media-provider.d.ts +0 -23
  105. package/dist/filesystem/file-media-provider.d.ts.map +0 -1
  106. package/dist/filesystem/file-media-provider.js +0 -85
  107. package/dist/filesystem/file-media-provider.js.map +0 -1
  108. package/dist/filesystem/filesystem-content-container.d.ts +0 -24
  109. package/dist/filesystem/filesystem-content-container.d.ts.map +0 -1
  110. package/dist/filesystem/filesystem-content-container.js +0 -153
  111. package/dist/filesystem/filesystem-content-container.js.map +0 -1
  112. package/dist/filesystem/fs-error.d.ts +0 -46
  113. package/dist/filesystem/fs-error.d.ts.map +0 -1
  114. package/dist/filesystem/fs-error.js +0 -170
  115. package/dist/filesystem/fs-error.js.map +0 -1
  116. package/dist/filesystem/index.d.ts.map +0 -1
  117. package/dist/filesystem/index.js.map +0 -1
  118. package/dist/filesystem/indexeddb-content-container.d.ts +0 -22
  119. package/dist/filesystem/indexeddb-content-container.d.ts.map +0 -1
  120. package/dist/filesystem/indexeddb-content-container.js +0 -100
  121. package/dist/filesystem/indexeddb-content-container.js.map +0 -1
  122. package/dist/filesystem/indexeddb-provider-v2.d.ts +0 -96
  123. package/dist/filesystem/indexeddb-provider-v2.d.ts.map +0 -1
  124. package/dist/filesystem/indexeddb-provider-v2.js +0 -1241
  125. package/dist/filesystem/indexeddb-provider-v2.js.map +0 -1
  126. package/dist/filesystem/indexeddb-provider.d.ts +0 -39
  127. package/dist/filesystem/indexeddb-provider.d.ts.map +0 -1
  128. package/dist/filesystem/indexeddb-provider.js +0 -145
  129. package/dist/filesystem/indexeddb-provider.js.map +0 -1
  130. package/dist/filesystem/indexeddb-store.d.ts +0 -34
  131. package/dist/filesystem/indexeddb-store.d.ts.map +0 -1
  132. package/dist/filesystem/indexeddb-store.js +0 -165
  133. package/dist/filesystem/indexeddb-store.js.map +0 -1
  134. package/dist/filesystem/indexeddb.d.ts.map +0 -1
  135. package/dist/filesystem/indexeddb.js.map +0 -1
  136. package/dist/filesystem/legacy-v2-adapter.d.ts +0 -62
  137. package/dist/filesystem/legacy-v2-adapter.d.ts.map +0 -1
  138. package/dist/filesystem/legacy-v2-adapter.js +0 -499
  139. package/dist/filesystem/legacy-v2-adapter.js.map +0 -1
  140. package/dist/filesystem/memory-provider-v2.d.ts +0 -92
  141. package/dist/filesystem/memory-provider-v2.d.ts.map +0 -1
  142. package/dist/filesystem/memory-provider-v2.js +0 -615
  143. package/dist/filesystem/memory-provider-v2.js.map +0 -1
  144. package/dist/filesystem/memory-provider.d.ts +0 -54
  145. package/dist/filesystem/memory-provider.d.ts.map +0 -1
  146. package/dist/filesystem/memory-provider.js +0 -132
  147. package/dist/filesystem/memory-provider.js.map +0 -1
  148. package/dist/filesystem/memory.d.ts.map +0 -1
  149. package/dist/filesystem/memory.js.map +0 -1
  150. package/dist/filesystem/move-entry.d.ts +0 -9
  151. package/dist/filesystem/move-entry.d.ts.map +0 -1
  152. package/dist/filesystem/move-entry.js +0 -103
  153. package/dist/filesystem/move-entry.js.map +0 -1
  154. package/dist/filesystem/move-error.d.ts +0 -53
  155. package/dist/filesystem/move-error.d.ts.map +0 -1
  156. package/dist/filesystem/move-error.js +0 -99
  157. package/dist/filesystem/move-error.js.map +0 -1
  158. package/dist/filesystem/native-provider-v2.d.ts +0 -75
  159. package/dist/filesystem/native-provider-v2.d.ts.map +0 -1
  160. package/dist/filesystem/native-provider-v2.js +0 -849
  161. package/dist/filesystem/native-provider-v2.js.map +0 -1
  162. package/dist/filesystem/native-provider.d.ts +0 -53
  163. package/dist/filesystem/native-provider.d.ts.map +0 -1
  164. package/dist/filesystem/native-provider.js +0 -471
  165. package/dist/filesystem/native-provider.js.map +0 -1
  166. package/dist/filesystem/native.d.ts.map +0 -1
  167. package/dist/filesystem/native.js.map +0 -1
  168. package/dist/filesystem/types.d.ts +0 -83
  169. package/dist/filesystem/types.d.ts.map +0 -1
  170. package/dist/filesystem/types.js +0 -16
  171. package/dist/filesystem/types.js.map +0 -1
  172. package/dist/filesystem/v2.d.ts +0 -172
  173. package/dist/filesystem/v2.d.ts.map +0 -1
  174. package/dist/filesystem/v2.js +0 -16
  175. package/dist/filesystem/v2.js.map +0 -1
  176. package/dist/filesystem/workspace-path.d.ts +0 -21
  177. package/dist/filesystem/workspace-path.d.ts.map +0 -1
  178. package/dist/filesystem/workspace-path.js +0 -80
  179. package/dist/filesystem/workspace-path.js.map +0 -1
  180. package/dist/host/filesystem-v2.d.ts +0 -45
  181. package/dist/host/filesystem-v2.d.ts.map +0 -1
  182. package/dist/host/filesystem-v2.js +0 -13
  183. package/dist/host/filesystem-v2.js.map +0 -1
  184. package/dist/host/git.d.ts +0 -200
  185. package/dist/host/git.d.ts.map +0 -1
  186. package/dist/host/git.js +0 -15
  187. package/dist/host/git.js.map +0 -1
  188. package/dist/host/index.d.ts.map +0 -1
  189. package/dist/host/index.js.map +0 -1
  190. package/dist/host/types.d.ts +0 -232
  191. package/dist/host/types.d.ts.map +0 -1
  192. package/dist/host/types.js +0 -10
  193. package/dist/host/types.js.map +0 -1
  194. package/dist/host/wire-policy.d.ts +0 -22
  195. package/dist/host/wire-policy.d.ts.map +0 -1
  196. package/dist/host/wire-policy.js +0 -92
  197. package/dist/host/wire-policy.js.map +0 -1
  198. package/dist/index.d.ts.map +0 -1
  199. package/dist/index.js.map +0 -1
  200. package/dist/mcp/index.d.ts.map +0 -1
  201. package/dist/mcp/index.js.map +0 -1
  202. package/dist/mcp/types.d.ts +0 -466
  203. package/dist/mcp/types.d.ts.map +0 -1
  204. package/dist/mcp/types.js +0 -25
  205. package/dist/mcp/types.js.map +0 -1
  206. package/dist/mcp/wire.d.ts +0 -29
  207. package/dist/mcp/wire.d.ts.map +0 -1
  208. package/dist/mcp/wire.js +0 -1046
  209. package/dist/mcp/wire.js.map +0 -1
  210. package/dist/mcp/zod.d.ts.map +0 -1
  211. package/dist/mcp/zod.js.map +0 -1
  212. package/dist/vscode/index.d.ts.map +0 -1
  213. package/dist/vscode/index.js.map +0 -1
  214. package/dist/vscode/messages.d.ts +0 -204
  215. package/dist/vscode/messages.d.ts.map +0 -1
  216. package/dist/vscode/messages.js +0 -494
  217. package/dist/vscode/messages.js.map +0 -1
  218. package/dist/workspace/index.d.ts.map +0 -1
  219. package/dist/workspace/index.js.map +0 -1
  220. package/dist/workspace/reconcile-electron.d.ts +0 -19
  221. package/dist/workspace/reconcile-electron.d.ts.map +0 -1
  222. package/dist/workspace/reconcile-electron.js +0 -42
  223. package/dist/workspace/reconcile-electron.js.map +0 -1
  224. package/dist/workspace/types.d.ts +0 -69
  225. package/dist/workspace/types.d.ts.map +0 -1
  226. package/dist/workspace/types.js +0 -2
  227. package/dist/workspace/types.js.map +0 -1
  228. package/dist/workspace/workspace-manager.d.ts +0 -47
  229. package/dist/workspace/workspace-manager.d.ts.map +0 -1
  230. package/dist/workspace/workspace-manager.js +0 -126
  231. package/dist/workspace/workspace-manager.js.map +0 -1
  232. package/src/document/document-session.ts +0 -834
  233. package/src/document/filesystem-target.ts +0 -109
  234. package/src/document/index.ts +0 -41
  235. package/src/document/recovery-journal.ts +0 -536
  236. package/src/document/types.ts +0 -116
  237. package/src/filesystem/commit-lock.ts +0 -29
  238. package/src/filesystem/dbk-workspace.ts +0 -135
  239. package/src/filesystem/electron-provider-v2.ts +0 -630
  240. package/src/filesystem/electron-provider.ts +0 -99
  241. package/src/filesystem/electron.ts +0 -3
  242. package/src/filesystem/file-media-provider.ts +0 -103
  243. package/src/filesystem/filesystem-content-container.ts +0 -164
  244. package/src/filesystem/fs-error.ts +0 -234
  245. package/src/filesystem/index.ts +0 -143
  246. package/src/filesystem/indexeddb-content-container.ts +0 -112
  247. package/src/filesystem/indexeddb-provider-v2.ts +0 -1740
  248. package/src/filesystem/indexeddb-provider.ts +0 -171
  249. package/src/filesystem/indexeddb-store.ts +0 -207
  250. package/src/filesystem/indexeddb.ts +0 -12
  251. package/src/filesystem/legacy-v2-adapter.ts +0 -779
  252. package/src/filesystem/memory-provider-v2.ts +0 -896
  253. package/src/filesystem/memory-provider.ts +0 -180
  254. package/src/filesystem/memory.ts +0 -15
  255. package/src/filesystem/move-entry.ts +0 -142
  256. package/src/filesystem/move-error.ts +0 -159
  257. package/src/filesystem/native-provider-v2.ts +0 -1165
  258. package/src/filesystem/native-provider.ts +0 -537
  259. package/src/filesystem/native.ts +0 -16
  260. package/src/filesystem/types.ts +0 -114
  261. package/src/filesystem/v2.ts +0 -231
  262. package/src/filesystem/workspace-path.ts +0 -92
  263. package/src/host/filesystem-v2.ts +0 -104
  264. package/src/host/git.ts +0 -246
  265. package/src/host/index.ts +0 -93
  266. package/src/host/types.ts +0 -274
  267. package/src/host/wire-policy.ts +0 -103
  268. package/src/index.ts +0 -10
  269. package/src/mcp/index.ts +0 -3
  270. package/src/mcp/types.ts +0 -594
  271. package/src/mcp/wire.ts +0 -1280
  272. package/src/mcp/zod.ts +0 -1000
  273. package/src/vscode/index.ts +0 -2
  274. package/src/vscode/messages.ts +0 -704
  275. package/src/workspace/index.ts +0 -17
  276. package/src/workspace/reconcile-electron.ts +0 -65
  277. package/src/workspace/types.ts +0 -67
  278. package/src/workspace/workspace-manager.ts +0 -151
@@ -1,170 +0,0 @@
1
- const FS_ERROR_CODES = new Set([
2
- 'invalid-path',
3
- 'path-escape',
4
- 'not-found',
5
- 'already-exists',
6
- 'type-mismatch',
7
- 'not-empty',
8
- 'permission-denied',
9
- 'conflict',
10
- 'quota-exceeded',
11
- 'not-supported',
12
- 'busy',
13
- 'disposed',
14
- 'closed',
15
- 'aborted',
16
- 'io',
17
- ]);
18
- const FS_OPERATIONS = new Set([
19
- 'parse-path',
20
- 'read',
21
- 'stat',
22
- 'list',
23
- 'write',
24
- 'create-directory',
25
- 'remove',
26
- 'move',
27
- 'snapshot',
28
- 'watch',
29
- 'dispose',
30
- ]);
31
- /** Error with a stable code and a deliberately serializable public shape. */
32
- export class FsError extends Error {
33
- constructor(code, message, context = {}) {
34
- super(message);
35
- this.name = 'FsError';
36
- this.code = code;
37
- this.operation = context.operation ?? null;
38
- this.path = context.path ?? null;
39
- this.destinationPath = context.destinationPath ?? null;
40
- this.retryable = context.retryable ?? (code === 'io' || code === 'aborted' || code === 'busy');
41
- }
42
- toJSON() {
43
- return {
44
- name: 'FsError',
45
- code: this.code,
46
- message: this.message,
47
- operation: this.operation,
48
- path: this.path,
49
- destinationPath: this.destinationPath,
50
- retryable: this.retryable,
51
- };
52
- }
53
- }
54
- export function mapDomExceptionToFsErrorCode(name) {
55
- switch (name) {
56
- case 'NotFoundError':
57
- return 'not-found';
58
- case 'ConstraintError':
59
- return 'already-exists';
60
- case 'TypeMismatchError':
61
- return 'type-mismatch';
62
- case 'InvalidModificationError':
63
- return 'not-empty';
64
- case 'NotAllowedError':
65
- case 'SecurityError':
66
- case 'NoModificationAllowedError':
67
- return 'permission-denied';
68
- case 'QuotaExceededError':
69
- return 'quota-exceeded';
70
- case 'NotSupportedError':
71
- return 'not-supported';
72
- case 'InvalidStateError':
73
- return 'disposed';
74
- case 'AbortError':
75
- return 'aborted';
76
- default:
77
- return 'io';
78
- }
79
- }
80
- export function mapNodeErrorCodeToFsErrorCode(code) {
81
- switch (code) {
82
- case 'ENOENT':
83
- return 'not-found';
84
- case 'ENOTDIR':
85
- return 'type-mismatch';
86
- case 'EEXIST':
87
- return 'already-exists';
88
- case 'EISDIR':
89
- return 'type-mismatch';
90
- case 'ENOTEMPTY':
91
- return 'not-empty';
92
- case 'EACCES':
93
- case 'EPERM':
94
- return 'permission-denied';
95
- case 'ENOSPC':
96
- case 'EDQUOT':
97
- return 'quota-exceeded';
98
- case 'EBUSY':
99
- return 'busy';
100
- case 'EXDEV':
101
- case 'ENOTSUP':
102
- case 'EOPNOTSUPP':
103
- return 'not-supported';
104
- default:
105
- return 'io';
106
- }
107
- }
108
- export function isSerializedFsError(value) {
109
- if (!value || typeof value !== 'object')
110
- return false;
111
- const candidate = value;
112
- return (candidate.name === 'FsError' &&
113
- typeof candidate.code === 'string' &&
114
- FS_ERROR_CODES.has(candidate.code) &&
115
- typeof candidate.message === 'string' &&
116
- (candidate.operation === null ||
117
- (typeof candidate.operation === 'string' && FS_OPERATIONS.has(candidate.operation))) &&
118
- (candidate.path === null || typeof candidate.path === 'string') &&
119
- (candidate.destinationPath === null || typeof candidate.destinationPath === 'string') &&
120
- typeof candidate.retryable === 'boolean');
121
- }
122
- export function deserializeFsError(value) {
123
- return new FsError(value.code, value.message, {
124
- operation: value.operation ?? undefined,
125
- path: value.path ?? undefined,
126
- destinationPath: value.destinationPath ?? undefined,
127
- retryable: value.retryable,
128
- });
129
- }
130
- export function fsErrorFromUnknown(error, context = {}) {
131
- if (error instanceof FsError)
132
- return error;
133
- if (isSerializedFsError(error))
134
- return deserializeFsError(error);
135
- const name = getErrorStringField(error, 'name');
136
- const nodeCode = getErrorStringField(error, 'code');
137
- const message = getErrorStringField(error, 'message') ?? String(error);
138
- const code = context.defaultCode ??
139
- (nodeCode
140
- ? mapNodeErrorCodeToFsErrorCode(nodeCode)
141
- : name
142
- ? mapDomExceptionToFsErrorCode(name)
143
- : 'io');
144
- return new FsError(code, message, context);
145
- }
146
- export function serializeFsError(error, context = {}) {
147
- return fsErrorFromUnknown(error, context).toJSON();
148
- }
149
- /**
150
- * True when a storage backend rejected an operation because the origin or
151
- * device is out of space. Covers typed `FsError`s (`'quota-exceeded'`, from
152
- * DOMException `QuotaExceededError` or Node `ENOSPC`/`EDQUOT`), serialized
153
- * transport copies, and raw DOMExceptions from backends that do not wrap
154
- * their errors (e.g. the File System Access API) — including cross-realm
155
- * instances where `instanceof DOMException` would fail.
156
- */
157
- export function isQuotaExceededError(error) {
158
- if (error instanceof FsError)
159
- return error.code === 'quota-exceeded';
160
- if (isSerializedFsError(error))
161
- return error.code === 'quota-exceeded';
162
- return getErrorStringField(error, 'name') === 'QuotaExceededError';
163
- }
164
- function getErrorStringField(error, key) {
165
- if (!error || typeof error !== 'object')
166
- return null;
167
- const value = error[key];
168
- return typeof value === 'string' ? value : null;
169
- }
170
- //# sourceMappingURL=fs-error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fs-error.js","sourceRoot":"","sources":["../../src/filesystem/fs-error.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filesystem/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/filesystem/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,OAAO,EACP,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GAKnB,MAAM,eAAe,CAAC;AAkCvB,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EACL,0BAA0B,GAO3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,6BAA6B,GAO9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,iCAAiC,GAGlC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EACL,wBAAwB,GAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAI9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,GAKpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,GAGlC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * IndexedDBContentContainer — a ContentContainer backed by IndexedDB.
3
- *
4
- * Uses a dedicated IndexedDBFileSystemProvider instance (separate store)
5
- * to persist media files across page refreshes.
6
- */
7
- import type { ContentContainer, ContentEntry } from '@bendyline/squisq/storage';
8
- export declare class IndexedDBContentContainer implements ContentContainer {
9
- private readonly provider;
10
- constructor(workspaceId: string);
11
- readFile(path: string): Promise<ArrayBuffer | null>;
12
- writeFile(path: string, data: ArrayBuffer | Uint8Array, _mimeType?: string): Promise<void>;
13
- removeFile(path: string): Promise<void>;
14
- listFiles(prefix?: string): Promise<ContentEntry[]>;
15
- exists(path: string): Promise<boolean>;
16
- getDocumentPath(): Promise<string | null>;
17
- readDocument(): Promise<string | null>;
18
- writeDocument(markdown: string, filename?: string): Promise<void>;
19
- /** Release the IndexedDB connection when a long-lived container is retired. */
20
- dispose(): Promise<void>;
21
- }
22
- //# sourceMappingURL=indexeddb-content-container.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexeddb-content-container.d.ts","sourceRoot":"","sources":["../../src/filesystem/indexeddb-content-container.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAkChF,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAE7C,WAAW,EAAE,MAAM;IAIzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAInD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1F,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsBnD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzC,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQtC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvE,+EAA+E;IACzE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -1,100 +0,0 @@
1
- /**
2
- * IndexedDBContentContainer — a ContentContainer backed by IndexedDB.
3
- *
4
- * Uses a dedicated IndexedDBFileSystemProvider instance (separate store)
5
- * to persist media files across page refreshes.
6
- */
7
- import { findDocumentPath } from '@bendyline/squisq/storage';
8
- import { IndexedDBFileSystemProviderV2 } from './indexeddb-provider-v2.js';
9
- import { parseWorkspacePath, WORKSPACE_ROOT } from './workspace-path.js';
10
- // ── MIME type guessing ─────────────────────────────────────────────
11
- const EXTENSION_MIME_MAP = {
12
- '.md': 'text/markdown',
13
- '.txt': 'text/plain',
14
- '.json': 'application/json',
15
- '.jpg': 'image/jpeg',
16
- '.jpeg': 'image/jpeg',
17
- '.png': 'image/png',
18
- '.gif': 'image/gif',
19
- '.svg': 'image/svg+xml',
20
- '.webp': 'image/webp',
21
- '.avif': 'image/avif',
22
- '.mp4': 'video/mp4',
23
- '.webm': 'video/webm',
24
- '.mp3': 'audio/mpeg',
25
- '.wav': 'audio/wav',
26
- '.ogg': 'audio/ogg',
27
- };
28
- function guessMimeType(path) {
29
- const dot = path.lastIndexOf('.');
30
- if (dot === -1)
31
- return 'application/octet-stream';
32
- const ext = path.slice(dot).toLowerCase();
33
- return EXTENSION_MIME_MAP[ext] ?? 'application/octet-stream';
34
- }
35
- // ── Implementation ─────────────────────────────────────────────────
36
- export class IndexedDBContentContainer {
37
- constructor(workspaceId) {
38
- this.provider = new IndexedDBFileSystemProviderV2(`${workspaceId}-media`, 'Media Storage');
39
- }
40
- async readFile(path) {
41
- return (await this.provider.readFile(parseWorkspacePath(path)))?.data ?? null;
42
- }
43
- async writeFile(path, data, _mimeType) {
44
- await this.provider.writeFile(parseWorkspacePath(path), data, {
45
- mode: 'upsert',
46
- createParents: true,
47
- });
48
- }
49
- async removeFile(path) {
50
- await this.provider.remove(parseWorkspacePath(path), { missing: 'ignore' });
51
- }
52
- async listFiles(prefix) {
53
- const entries = [];
54
- const walk = async (dir) => {
55
- const children = await this.provider.readDirectory(parseWorkspacePath(dir));
56
- for (const child of children) {
57
- if (child.kind === 'directory') {
58
- await walk(child.path);
59
- }
60
- else {
61
- const filePath = child.path;
62
- if (prefix && !filePath.startsWith(prefix))
63
- continue;
64
- entries.push({
65
- path: filePath,
66
- mimeType: guessMimeType(filePath),
67
- size: child.size,
68
- });
69
- }
70
- }
71
- };
72
- await walk(WORKSPACE_ROOT);
73
- return entries;
74
- }
75
- async exists(path) {
76
- return (await this.provider.stat(parseWorkspacePath(path))) !== null;
77
- }
78
- async getDocumentPath() {
79
- return findDocumentPath(await this.listFiles());
80
- }
81
- async readDocument() {
82
- const docPath = await this.getDocumentPath();
83
- if (!docPath)
84
- return null;
85
- const data = await this.readFile(docPath);
86
- if (!data)
87
- return null;
88
- return new TextDecoder().decode(data);
89
- }
90
- async writeDocument(markdown, filename) {
91
- const name = filename ?? 'index.md';
92
- const data = new TextEncoder().encode(markdown);
93
- await this.writeFile(name, data, 'text/markdown');
94
- }
95
- /** Release the IndexedDB connection when a long-lived container is retired. */
96
- async dispose() {
97
- await this.provider.dispose();
98
- }
99
- }
100
- //# sourceMappingURL=indexeddb-content-container.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexeddb-content-container.js","sourceRoot":"","sources":["../../src/filesystem/indexeddb-content-container.ts"],"names":[],"mappings":"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"}
@@ -1,96 +0,0 @@
1
- import { type IndexedDBFileSystemStore } from './indexeddb-store.js';
2
- import { type FileSystemCreateDirectoryOptions, type FileSystemDirectorySnapshot, type FileSystemEntrySnapshot, type FileSystemFileRead, type FileSystemFileSnapshot, type FileSystemMoveOptions, type FileSystemProviderCapabilities, type FileSystemProviderV2, type FileSystemRemoveOptions, type FileSystemRemoveResult, type FileSystemSnapshot, type FileSystemWatchListener, type FileSystemWatchOptions, type FileSystemWatchSubscription, type FileSystemWriteOptions } from './v2.js';
3
- import { type WorkspacePath } from './workspace-path.js';
4
- import type { FileMeta } from './types.js';
5
- export type IndexedDBLegacyConflictReason = 'dual-payload' | 'kind-collision' | 'authority-collision' | 'stale-client-write';
6
- export type IndexedDBLegacyRecoveryKind = 'file' | 'directory';
7
- export interface IndexedDBLegacyRecoveryCandidate {
8
- readonly kind: IndexedDBLegacyRecoveryKind;
9
- readonly reason: IndexedDBLegacyConflictReason;
10
- readonly text: string | null;
11
- readonly binary: ArrayBuffer | null;
12
- readonly metadata: FileMeta | null;
13
- readonly detectedAt: string;
14
- }
15
- export interface IndexedDBLegacyMigrationConflict {
16
- readonly path: WorkspacePath;
17
- /** Backward-compatible projection of the newest quarantined candidate. */
18
- readonly reason: IndexedDBLegacyConflictReason;
19
- readonly kind: IndexedDBLegacyRecoveryKind;
20
- readonly text: string | null;
21
- readonly binary: ArrayBuffer | null;
22
- readonly metadata: FileMeta | null;
23
- readonly detectedAt: string;
24
- readonly candidates: readonly IndexedDBLegacyRecoveryCandidate[];
25
- }
26
- export type IndexedDBLegacyConflictResolution = 'v2' | 'text' | 'binary' | {
27
- readonly candidate: number;
28
- readonly payload: 'text' | 'binary' | 'directory';
29
- };
30
- export interface IndexedDBFileSystemProviderV2Options {
31
- /** Injectable store for fault, migration, and concurrency tests. */
32
- readonly store?: IndexedDBFileSystemStore;
33
- readonly now?: () => Date;
34
- /** Shared-store owners can retain the connection when this facade is disposed. */
35
- readonly closeStoreOnDispose?: boolean;
36
- }
37
- /**
38
- * IndexedDB implementation of the correctness-first filesystem contract.
39
- *
40
- * Each canonical path has one authoritative structured-clone record containing
41
- * its kind, owned bytes (for files), version, and metadata. Every mutation and
42
- * snapshot is one IndexedDB transaction. Legacy v1 keys are imported once;
43
- * ambiguous or stale branches move into durable recovery records before the
44
- * legacy namespace is deleted, leaving one live authority.
45
- */
46
- export declare class IndexedDBFileSystemProviderV2 implements FileSystemProviderV2 {
47
- readonly id: string;
48
- readonly label: string;
49
- readonly capabilities: FileSystemProviderCapabilities;
50
- private readonly store;
51
- private readonly now;
52
- private readonly closeStoreOnDispose;
53
- private readonly versionPrefix;
54
- private readonly subscriptions;
55
- private readonly inFlight;
56
- private initialization;
57
- private disposePromise;
58
- private storeClosed;
59
- private disposed;
60
- constructor(id: string, label: string, options?: IndexedDBFileSystemProviderV2Options);
61
- /** Track accepted storage work so disposal can join it before closing. */
62
- private runSharedTransaction;
63
- stat(path: WorkspacePath): Promise<FileSystemEntrySnapshot | null>;
64
- readFile(path: WorkspacePath): Promise<FileSystemFileRead | null>;
65
- readDirectory(path: WorkspacePath): Promise<readonly FileSystemEntrySnapshot[]>;
66
- writeFile(path: WorkspacePath, data: ArrayBuffer | Uint8Array, options?: FileSystemWriteOptions): Promise<FileSystemFileSnapshot>;
67
- createDirectory(path: WorkspacePath, options?: FileSystemCreateDirectoryOptions): Promise<FileSystemDirectorySnapshot>;
68
- remove(path: WorkspacePath, options?: FileSystemRemoveOptions): Promise<FileSystemRemoveResult>;
69
- move(oldPath: WorkspacePath, newPath: WorkspacePath, options?: FileSystemMoveOptions): Promise<FileSystemEntrySnapshot>;
70
- snapshot(): Promise<FileSystemSnapshot>;
71
- /** IndexedDB has no reliable cross-browser external-change observer. */
72
- watch(_listener: FileSystemWatchListener, options?: FileSystemWatchOptions): FileSystemWatchSubscription;
73
- dispose(): Promise<void>;
74
- /** List unresolved, byte-preserving conflicts found during v1 migration. */
75
- listLegacyMigrationConflicts(): Promise<readonly IndexedDBLegacyMigrationConflict[]>;
76
- /** Resolve quarantined legacy data by choosing v2 or one legacy byte payload. */
77
- resolveLegacyMigrationConflict(path: WorkspacePath, resolution: IndexedDBLegacyConflictResolution): Promise<FileSystemEntrySnapshot>;
78
- /** Explicitly discard every quarantined legacy candidate at a path. */
79
- discardLegacyMigrationConflict(path: WorkspacePath): Promise<boolean>;
80
- private ensureInitialized;
81
- private migrateLegacy;
82
- private quarantineExistingLegacy;
83
- private transaction;
84
- private withMutationLock;
85
- private nextMutationVersion;
86
- private advanceState;
87
- private makeVersion;
88
- private planParents;
89
- private addDirectories;
90
- private touchParents;
91
- private canonicalNonRoot;
92
- private assertExpectedVersion;
93
- private assertOpen;
94
- private error;
95
- }
96
- //# sourceMappingURL=indexeddb-provider-v2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexeddb-provider-v2.d.ts","sourceRoot":"","sources":["../../src/filesystem/indexeddb-provider-v2.ts"],"names":[],"mappings":"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"}