@bendyline/docblocks 1.1.2 → 2.0.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 (270) hide show
  1. package/README.md +76 -11
  2. package/dist/chunk-2D7Y4IR3.js +1293 -0
  3. package/dist/chunk-2D7Y4IR3.js.map +1 -0
  4. package/dist/chunk-5MYAICRE.js +957 -0
  5. package/dist/chunk-5MYAICRE.js.map +1 -0
  6. package/dist/chunk-75UUF6C4.js +802 -0
  7. package/dist/chunk-75UUF6C4.js.map +1 -0
  8. package/dist/chunk-AEHCVWU5.js +25 -0
  9. package/dist/chunk-AEHCVWU5.js.map +1 -0
  10. package/dist/chunk-AYZ4HN5M.js +20 -0
  11. package/dist/chunk-AYZ4HN5M.js.map +1 -0
  12. package/dist/chunk-EGNDADXB.js +111 -0
  13. package/dist/chunk-EGNDADXB.js.map +1 -0
  14. package/dist/chunk-EZKJZUNJ.js +13 -0
  15. package/dist/chunk-EZKJZUNJ.js.map +1 -0
  16. package/dist/chunk-FNW556FN.js +75 -0
  17. package/dist/chunk-FNW556FN.js.map +1 -0
  18. package/dist/chunk-GCPBEMMH.js +563 -0
  19. package/dist/chunk-GCPBEMMH.js.map +1 -0
  20. package/dist/chunk-J32GU3F3.js +1664 -0
  21. package/dist/chunk-J32GU3F3.js.map +1 -0
  22. package/dist/chunk-PGR7LK6D.js +1062 -0
  23. package/dist/chunk-PGR7LK6D.js.map +1 -0
  24. package/dist/chunk-RQJRQF46.js +787 -0
  25. package/dist/chunk-RQJRQF46.js.map +1 -0
  26. package/dist/{chunk-ME76RUMR.js → chunk-RVQHY3XU.js} +15 -1
  27. package/dist/chunk-RVQHY3XU.js.map +1 -0
  28. package/dist/chunk-SI2LU2RP.js +224 -0
  29. package/dist/chunk-SI2LU2RP.js.map +1 -0
  30. package/dist/chunk-W5UUUII5.js +142 -0
  31. package/dist/chunk-W5UUUII5.js.map +1 -0
  32. package/dist/document/document-session.d.ts +127 -0
  33. package/dist/document/document-session.d.ts.map +1 -0
  34. package/dist/document/document-session.js +749 -0
  35. package/dist/document/document-session.js.map +1 -0
  36. package/dist/document/filesystem-target.d.ts +17 -0
  37. package/dist/document/filesystem-target.d.ts.map +1 -0
  38. package/dist/document/filesystem-target.js +70 -0
  39. package/dist/document/filesystem-target.js.map +1 -0
  40. package/dist/document/index.d.ts +6 -0
  41. package/dist/document/index.d.ts.map +1 -0
  42. package/dist/document/index.js +4 -0
  43. package/dist/document/index.js.map +1 -0
  44. package/dist/document/recovery-journal.d.ts +125 -0
  45. package/dist/document/recovery-journal.d.ts.map +1 -0
  46. package/dist/document/recovery-journal.js +385 -0
  47. package/dist/document/recovery-journal.js.map +1 -0
  48. package/dist/document/types.d.ts +89 -0
  49. package/dist/document/types.d.ts.map +1 -0
  50. package/dist/document/types.js +9 -0
  51. package/dist/document/types.js.map +1 -0
  52. package/dist/filesystem/commit-lock.d.ts +3 -0
  53. package/dist/filesystem/commit-lock.d.ts.map +1 -0
  54. package/dist/filesystem/commit-lock.js +20 -0
  55. package/dist/filesystem/commit-lock.js.map +1 -0
  56. package/dist/filesystem/dbk-workspace.d.ts +34 -0
  57. package/dist/filesystem/dbk-workspace.d.ts.map +1 -0
  58. package/dist/filesystem/dbk-workspace.js +85 -0
  59. package/dist/filesystem/dbk-workspace.js.map +1 -0
  60. package/dist/filesystem/electron-provider-v2.d.ts +36 -0
  61. package/dist/filesystem/electron-provider-v2.d.ts.map +1 -0
  62. package/dist/filesystem/electron-provider-v2.js +503 -0
  63. package/dist/filesystem/electron-provider-v2.js.map +1 -0
  64. package/dist/filesystem/electron-provider.d.ts +6 -3
  65. package/dist/filesystem/electron-provider.d.ts.map +1 -1
  66. package/dist/filesystem/electron-provider.js +18 -13
  67. package/dist/filesystem/electron-provider.js.map +1 -1
  68. package/dist/filesystem/electron.d.ts +4 -0
  69. package/dist/filesystem/electron.d.ts.map +1 -0
  70. package/dist/filesystem/electron.js +4 -0
  71. package/dist/filesystem/electron.js.map +1 -0
  72. package/dist/filesystem/filesystem-content-container.d.ts +1 -1
  73. package/dist/filesystem/filesystem-content-container.d.ts.map +1 -1
  74. package/dist/filesystem/filesystem-content-container.js +50 -13
  75. package/dist/filesystem/filesystem-content-container.js.map +1 -1
  76. package/dist/filesystem/fs-error.d.ts +46 -0
  77. package/dist/filesystem/fs-error.d.ts.map +1 -0
  78. package/dist/filesystem/fs-error.js +170 -0
  79. package/dist/filesystem/fs-error.js.map +1 -0
  80. package/dist/filesystem/index.d.ts +15 -1
  81. package/dist/filesystem/index.d.ts.map +1 -1
  82. package/dist/filesystem/index.js +13 -0
  83. package/dist/filesystem/index.js.map +1 -1
  84. package/dist/filesystem/indexeddb-content-container.d.ts +3 -1
  85. package/dist/filesystem/indexeddb-content-container.d.ts.map +1 -1
  86. package/dist/filesystem/indexeddb-content-container.js +18 -11
  87. package/dist/filesystem/indexeddb-content-container.js.map +1 -1
  88. package/dist/filesystem/indexeddb-provider-v2.d.ts +96 -0
  89. package/dist/filesystem/indexeddb-provider-v2.d.ts.map +1 -0
  90. package/dist/filesystem/indexeddb-provider-v2.js +1241 -0
  91. package/dist/filesystem/indexeddb-provider-v2.js.map +1 -0
  92. package/dist/filesystem/indexeddb-provider.d.ts +21 -14
  93. package/dist/filesystem/indexeddb-provider.d.ts.map +1 -1
  94. package/dist/filesystem/indexeddb-provider.js +111 -261
  95. package/dist/filesystem/indexeddb-provider.js.map +1 -1
  96. package/dist/filesystem/indexeddb-store.d.ts +34 -0
  97. package/dist/filesystem/indexeddb-store.d.ts.map +1 -0
  98. package/dist/filesystem/indexeddb-store.js +165 -0
  99. package/dist/filesystem/indexeddb-store.js.map +1 -0
  100. package/dist/filesystem/indexeddb.d.ts +5 -0
  101. package/dist/filesystem/indexeddb.d.ts.map +1 -0
  102. package/dist/filesystem/indexeddb.js +5 -0
  103. package/dist/filesystem/indexeddb.js.map +1 -0
  104. package/dist/filesystem/legacy-v2-adapter.d.ts +62 -0
  105. package/dist/filesystem/legacy-v2-adapter.d.ts.map +1 -0
  106. package/dist/filesystem/legacy-v2-adapter.js +499 -0
  107. package/dist/filesystem/legacy-v2-adapter.js.map +1 -0
  108. package/dist/filesystem/memory-provider-v2.d.ts +92 -0
  109. package/dist/filesystem/memory-provider-v2.d.ts.map +1 -0
  110. package/dist/filesystem/memory-provider-v2.js +615 -0
  111. package/dist/filesystem/memory-provider-v2.js.map +1 -0
  112. package/dist/filesystem/memory-provider.d.ts +54 -0
  113. package/dist/filesystem/memory-provider.d.ts.map +1 -0
  114. package/dist/filesystem/memory-provider.js +132 -0
  115. package/dist/filesystem/memory-provider.js.map +1 -0
  116. package/dist/filesystem/memory.d.ts +4 -0
  117. package/dist/filesystem/memory.d.ts.map +1 -0
  118. package/dist/filesystem/memory.js +4 -0
  119. package/dist/filesystem/memory.js.map +1 -0
  120. package/dist/filesystem/move-entry.d.ts +9 -0
  121. package/dist/filesystem/move-entry.d.ts.map +1 -0
  122. package/dist/filesystem/move-entry.js +103 -0
  123. package/dist/filesystem/move-entry.js.map +1 -0
  124. package/dist/filesystem/move-error.d.ts +53 -0
  125. package/dist/filesystem/move-error.d.ts.map +1 -0
  126. package/dist/filesystem/move-error.js +99 -0
  127. package/dist/filesystem/move-error.js.map +1 -0
  128. package/dist/filesystem/native-provider-v2.d.ts +75 -0
  129. package/dist/filesystem/native-provider-v2.d.ts.map +1 -0
  130. package/dist/filesystem/native-provider-v2.js +849 -0
  131. package/dist/filesystem/native-provider-v2.js.map +1 -0
  132. package/dist/filesystem/native-provider.d.ts +9 -1
  133. package/dist/filesystem/native-provider.d.ts.map +1 -1
  134. package/dist/filesystem/native-provider.js +172 -37
  135. package/dist/filesystem/native-provider.js.map +1 -1
  136. package/dist/filesystem/native.d.ts +4 -0
  137. package/dist/filesystem/native.d.ts.map +1 -0
  138. package/dist/filesystem/native.js +4 -0
  139. package/dist/filesystem/native.js.map +1 -0
  140. package/dist/filesystem/types.d.ts +37 -4
  141. package/dist/filesystem/types.d.ts.map +1 -1
  142. package/dist/filesystem/types.js +11 -3
  143. package/dist/filesystem/types.js.map +1 -1
  144. package/dist/filesystem/v2.d.ts +172 -0
  145. package/dist/filesystem/v2.d.ts.map +1 -0
  146. package/dist/filesystem/v2.js +16 -0
  147. package/dist/filesystem/v2.js.map +1 -0
  148. package/dist/filesystem/workspace-path.d.ts +21 -0
  149. package/dist/filesystem/workspace-path.d.ts.map +1 -0
  150. package/dist/filesystem/workspace-path.js +80 -0
  151. package/dist/filesystem/workspace-path.js.map +1 -0
  152. package/dist/host/filesystem-v2.d.ts +45 -0
  153. package/dist/host/filesystem-v2.d.ts.map +1 -0
  154. package/dist/host/filesystem-v2.js +13 -0
  155. package/dist/host/filesystem-v2.js.map +1 -0
  156. package/dist/host/git.d.ts +200 -0
  157. package/dist/host/git.d.ts.map +1 -0
  158. package/dist/host/git.js +15 -0
  159. package/dist/host/git.js.map +1 -0
  160. package/dist/host/index.d.ts +4 -1
  161. package/dist/host/index.d.ts.map +1 -1
  162. package/dist/host/index.js +2 -0
  163. package/dist/host/index.js.map +1 -1
  164. package/dist/host/types.d.ts +114 -31
  165. package/dist/host/types.d.ts.map +1 -1
  166. package/dist/host/wire-policy.d.ts +22 -0
  167. package/dist/host/wire-policy.d.ts.map +1 -0
  168. package/dist/host/wire-policy.js +92 -0
  169. package/dist/host/wire-policy.js.map +1 -0
  170. package/dist/index.d.ts +2 -1
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +2 -1
  173. package/dist/index.js.map +1 -1
  174. package/dist/mcp/index.d.ts +4 -0
  175. package/dist/mcp/index.d.ts.map +1 -0
  176. package/dist/mcp/index.js +4 -0
  177. package/dist/mcp/index.js.map +1 -0
  178. package/dist/mcp/types.d.ts +466 -0
  179. package/dist/mcp/types.d.ts.map +1 -0
  180. package/dist/mcp/types.js +25 -0
  181. package/dist/mcp/types.js.map +1 -0
  182. package/dist/mcp/wire.d.ts +29 -0
  183. package/dist/mcp/wire.d.ts.map +1 -0
  184. package/dist/mcp/wire.js +1046 -0
  185. package/dist/mcp/wire.js.map +1 -0
  186. package/dist/mcp/zod.d.ts +5763 -0
  187. package/dist/mcp/zod.d.ts.map +1 -0
  188. package/dist/mcp/zod.js +908 -0
  189. package/dist/mcp/zod.js.map +1 -0
  190. package/dist/types-CX893hgH.d.ts +468 -0
  191. package/dist/types-CsX6EN2t.d.ts +301 -0
  192. package/dist/types-eOlt9J7n.d.ts +478 -0
  193. package/dist/vscode/index.d.ts +3 -0
  194. package/dist/vscode/index.d.ts.map +1 -0
  195. package/dist/vscode/index.js +3 -0
  196. package/dist/vscode/index.js.map +1 -0
  197. package/dist/vscode/messages.d.ts +204 -0
  198. package/dist/vscode/messages.d.ts.map +1 -0
  199. package/dist/vscode/messages.js +494 -0
  200. package/dist/vscode/messages.js.map +1 -0
  201. package/dist/workspace/index.d.ts +3 -2
  202. package/dist/workspace/index.d.ts.map +1 -1
  203. package/dist/workspace/index.js +2 -1
  204. package/dist/workspace/index.js.map +1 -1
  205. package/dist/workspace/reconcile-electron.d.ts +19 -0
  206. package/dist/workspace/reconcile-electron.d.ts.map +1 -0
  207. package/dist/workspace/reconcile-electron.js +42 -0
  208. package/dist/workspace/reconcile-electron.js.map +1 -0
  209. package/dist/workspace/types.d.ts +41 -1
  210. package/dist/workspace/types.d.ts.map +1 -1
  211. package/dist/workspace/types.js +0 -4
  212. package/dist/workspace/types.js.map +1 -1
  213. package/dist/workspace/workspace-manager.d.ts +17 -5
  214. package/dist/workspace/workspace-manager.d.ts.map +1 -1
  215. package/dist/workspace/workspace-manager.js +55 -11
  216. package/dist/workspace/workspace-manager.js.map +1 -1
  217. package/dist/workspace-path-CWVrcuPL.d.ts +21 -0
  218. package/package.json +43 -2
  219. package/src/document/document-session.ts +834 -0
  220. package/src/document/filesystem-target.ts +109 -0
  221. package/src/document/index.ts +41 -0
  222. package/src/document/recovery-journal.ts +536 -0
  223. package/src/document/types.ts +116 -0
  224. package/src/filesystem/commit-lock.ts +29 -0
  225. package/src/filesystem/dbk-workspace.ts +135 -0
  226. package/src/filesystem/electron-provider-v2.ts +630 -0
  227. package/src/filesystem/electron-provider.ts +25 -14
  228. package/src/filesystem/electron.ts +3 -0
  229. package/src/filesystem/filesystem-content-container.ts +53 -15
  230. package/src/filesystem/fs-error.ts +234 -0
  231. package/src/filesystem/index.ts +119 -0
  232. package/src/filesystem/indexeddb-content-container.ts +20 -12
  233. package/src/filesystem/indexeddb-provider-v2.ts +1740 -0
  234. package/src/filesystem/indexeddb-provider.ts +126 -300
  235. package/src/filesystem/indexeddb-store.ts +207 -0
  236. package/src/filesystem/indexeddb.ts +12 -0
  237. package/src/filesystem/legacy-v2-adapter.ts +779 -0
  238. package/src/filesystem/memory-provider-v2.ts +896 -0
  239. package/src/filesystem/memory-provider.ts +180 -0
  240. package/src/filesystem/memory.ts +15 -0
  241. package/src/filesystem/move-entry.ts +142 -0
  242. package/src/filesystem/move-error.ts +159 -0
  243. package/src/filesystem/native-provider-v2.ts +1165 -0
  244. package/src/filesystem/native-provider.ts +194 -41
  245. package/src/filesystem/native.ts +16 -0
  246. package/src/filesystem/types.ts +49 -4
  247. package/src/filesystem/v2.ts +231 -0
  248. package/src/filesystem/workspace-path.ts +92 -0
  249. package/src/host/filesystem-v2.ts +104 -0
  250. package/src/host/git.ts +246 -0
  251. package/src/host/index.ts +46 -0
  252. package/src/host/types.ts +155 -34
  253. package/src/host/wire-policy.ts +103 -0
  254. package/src/index.ts +2 -1
  255. package/src/mcp/index.ts +3 -0
  256. package/src/mcp/types.ts +594 -0
  257. package/src/mcp/wire.ts +1280 -0
  258. package/src/mcp/zod.ts +1000 -0
  259. package/src/vscode/index.ts +2 -0
  260. package/src/vscode/messages.ts +704 -0
  261. package/src/workspace/index.ts +8 -1
  262. package/src/workspace/reconcile-electron.ts +65 -0
  263. package/src/workspace/types.ts +39 -1
  264. package/src/workspace/workspace-manager.ts +71 -10
  265. package/dist/chunk-GUNM43XZ.js +0 -63
  266. package/dist/chunk-GUNM43XZ.js.map +0 -1
  267. package/dist/chunk-IM7LCQJ6.js +0 -850
  268. package/dist/chunk-IM7LCQJ6.js.map +0 -1
  269. package/dist/chunk-ME76RUMR.js.map +0 -1
  270. package/dist/index-pgBHBQ9G.d.ts +0 -213
@@ -1,3 +1,38 @@
1
+ /**
2
+ * Origin of a transient workspace — records where its contents came from and
3
+ * how to save them back. Set only on `type: 'transient'` workspaces.
4
+ * - 'loose-file' — a single markdown file opened from the OS (Electron);
5
+ * edits write back through an owner-scoped `resourceId` grant.
6
+ * - 'dbk' — a `.dbk`/zip bundle unpacked into memory (Electron); edits are
7
+ * re-zipped and written back through an owner-scoped resource grant.
8
+ * - 'web-file' — a single markdown file launched into the installed web app
9
+ * (File Handling API); edits write back through `handle`.
10
+ * - 'web-dbk' — a `.dbk`/zip bundle launched into the installed web app;
11
+ * edits are re-zipped and written back through `handle`.
12
+ *
13
+ * The web variants hold a live `FileSystemFileHandle`. That is safe because
14
+ * transient descriptors are never persisted — they live only in the
15
+ * in-memory registry (see workspace-manager) for the current page session.
16
+ */
17
+ export type TransientOrigin = {
18
+ kind: 'loose-file';
19
+ resourceId: string;
20
+ } | {
21
+ kind: 'dbk';
22
+ resourceId: string;
23
+ /** SHA-256 of the last bundle version acknowledged by the host. */
24
+ version: string | null;
25
+ } | {
26
+ kind: 'web-file';
27
+ handle: FileSystemFileHandle;
28
+ name: string;
29
+ } | {
30
+ kind: 'web-dbk';
31
+ handle: FileSystemFileHandle;
32
+ name: string;
33
+ /** SHA-256 of the last bundle version observed on disk. */
34
+ version: string | null;
35
+ };
1
36
  /**
2
37
  * Workspace — a named binding to a FileSystemProvider, representing
3
38
  * the user's current working context (a folder of markdown files).
@@ -12,12 +47,17 @@ export interface WorkspaceDescriptor {
12
47
  * - 'indexeddb' — browser-local storage (web only)
13
48
  * - 'native' — File System Access API (web Chrome/Edge only)
14
49
  * - 'electron-native' — Electron main-process native filesystem
50
+ * - 'transient' — session-only, in-memory (a loose file or `.dbk` opened
51
+ * from the OS). Never persisted; its provider lives in an in-memory
52
+ * registry (see workspace-manager) and it saves back to `origin`.
15
53
  */
16
- type: 'indexeddb' | 'native' | 'electron-native';
54
+ type: 'indexeddb' | 'native' | 'electron-native' | 'transient';
17
55
  /** ISO timestamp of last access. */
18
56
  lastOpened: string;
19
57
  /** Absolute filesystem path for 'electron-native' workspaces. */
20
58
  rootPath?: string;
59
+ /** For 'transient' workspaces: where the contents came from / save back to. */
60
+ origin?: TransientOrigin;
21
61
  /**
22
62
  * Per-workspace override for the global versioning preference. When
23
63
  * `'inherit'` (or absent), the global preference applies. `'on'` /
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,iBAAiB,CAAC;IACjD,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;CAC/C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC1C;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChE;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEN;;;GAGG;AAEH,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,iBAAiB,GAAG,WAAW,CAAC;IAC/D,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;CAC/C"}
@@ -1,6 +1,2 @@
1
- /**
2
- * Workspace — a named binding to a FileSystemProvider, representing
3
- * the user's current working context (a folder of markdown files).
4
- */
5
1
  export {};
6
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":""}
@@ -5,26 +5,38 @@
5
5
  * The actual FileSystemProvider instances are created by the caller
6
6
  * (since native providers need a DirectoryHandle from user interaction).
7
7
  */
8
+ import { type FileSystemProvider } from '../filesystem/types.js';
8
9
  import type { WorkspaceDescriptor } from './types.js';
10
+ /** Register a transient workspace and its (already-built) provider. */
11
+ export declare function registerTransientWorkspace(descriptor: WorkspaceDescriptor, provider: FileSystemProvider): void;
12
+ /** Look up a transient workspace (descriptor + provider) by id, if any. */
13
+ export declare function getTransientWorkspace(id: string): {
14
+ descriptor: WorkspaceDescriptor;
15
+ provider: FileSystemProvider;
16
+ } | null;
17
+ /** Forget a transient workspace (e.g. when it is closed). */
18
+ export declare function unregisterTransientWorkspace(id: string): Promise<void>;
9
19
  /**
10
- * Get the list of all known workspace descriptors.
20
+ * Get all known workspace descriptors — persisted plus any session-only
21
+ * transient ones (so they show in the picker and resolve for the session).
11
22
  */
12
23
  export declare function listWorkspaces(): Promise<WorkspaceDescriptor[]>;
13
24
  /**
14
- * Get a specific workspace descriptor by id.
25
+ * Get a specific workspace descriptor by id (transient or persisted).
15
26
  */
16
27
  export declare function getWorkspace(id: string): Promise<WorkspaceDescriptor | null>;
17
28
  /**
18
29
  * Add or update a workspace descriptor. If a workspace with the same id
19
- * already exists, it is replaced.
30
+ * already exists, it is replaced. Transient workspaces are never persisted.
20
31
  */
21
32
  export declare function saveWorkspace(workspace: WorkspaceDescriptor): Promise<void>;
22
33
  /**
23
- * Remove a workspace descriptor by id.
34
+ * Remove a workspace descriptor by id (transient or persisted).
24
35
  */
25
36
  export declare function removeWorkspace(id: string): Promise<void>;
26
37
  /**
27
- * Touch the lastOpened timestamp on a workspace.
38
+ * Touch the lastOpened timestamp on a workspace. For transient workspaces this
39
+ * updates the in-memory descriptor only (nothing is persisted).
28
40
  */
29
41
  export declare function touchWorkspace(id: string): Promise<void>;
30
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-manager.d.ts","sourceRoot":"","sources":["../../src/workspace/workspace-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAYtD;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAGrE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAGlF;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9D;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAY3E"}
1
+ {"version":3,"file":"workspace-manager.d.ts","sourceRoot":"","sources":["../../src/workspace/workspace-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAwBtD,uEAAuE;AACvE,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE,kBAAkB,GAC3B,IAAI,CAMN;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,GACT;IAAE,UAAU,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,kBAAkB,CAAA;CAAE,GAAG,IAAI,CAE1E;AAED,6DAA6D;AAC7D,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5E;AAQD;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAIrE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAKlF;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUjF;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/D;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9D;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAY3E"}
@@ -6,6 +6,7 @@
6
6
  * (since native providers need a DirectoryHandle from user interaction).
7
7
  */
8
8
  import { LocalForageAdapter } from '@bendyline/squisq/storage';
9
+ import { getFileSystemProviderV2 } from '../filesystem/types.js';
9
10
  const DB_NAME = 'docblocks-workspaces';
10
11
  const STORE_NAME = 'workspaces';
11
12
  const LIST_KEY = 'workspace-list';
@@ -14,26 +15,59 @@ const store = new LocalForageAdapter({
14
15
  name: DB_NAME,
15
16
  storeName: STORE_NAME,
16
17
  });
18
+ const transientWorkspaces = new Map();
19
+ /** Register a transient workspace and its (already-built) provider. */
20
+ export function registerTransientWorkspace(descriptor, provider) {
21
+ const previous = transientWorkspaces.get(descriptor.id);
22
+ if (previous && previous.provider !== provider) {
23
+ void getFileSystemProviderV2(previous.provider)?.dispose();
24
+ }
25
+ transientWorkspaces.set(descriptor.id, { descriptor, provider });
26
+ }
27
+ /** Look up a transient workspace (descriptor + provider) by id, if any. */
28
+ export function getTransientWorkspace(id) {
29
+ return transientWorkspaces.get(id) ?? null;
30
+ }
31
+ /** Forget a transient workspace (e.g. when it is closed). */
32
+ export async function unregisterTransientWorkspace(id) {
33
+ const entry = transientWorkspaces.get(id);
34
+ if (!entry)
35
+ return;
36
+ transientWorkspaces.delete(id);
37
+ await getFileSystemProviderV2(entry.provider)?.dispose();
38
+ }
39
+ /** The persisted (on-disk) workspace list only — excludes transient ones. */
40
+ async function listPersisted() {
41
+ const list = await store.get(LIST_KEY);
42
+ return list ?? [];
43
+ }
17
44
  /**
18
- * Get the list of all known workspace descriptors.
45
+ * Get all known workspace descriptors — persisted plus any session-only
46
+ * transient ones (so they show in the picker and resolve for the session).
19
47
  */
20
48
  export async function listWorkspaces() {
21
- const list = await store.get(LIST_KEY);
22
- return list ?? [];
49
+ const persisted = await listPersisted();
50
+ const transient = [...transientWorkspaces.values()].map((t) => t.descriptor);
51
+ return [...persisted, ...transient];
23
52
  }
24
53
  /**
25
- * Get a specific workspace descriptor by id.
54
+ * Get a specific workspace descriptor by id (transient or persisted).
26
55
  */
27
56
  export async function getWorkspace(id) {
28
- const list = await listWorkspaces();
57
+ const transient = transientWorkspaces.get(id);
58
+ if (transient)
59
+ return transient.descriptor;
60
+ const list = await listPersisted();
29
61
  return list.find((w) => w.id === id) ?? null;
30
62
  }
31
63
  /**
32
64
  * Add or update a workspace descriptor. If a workspace with the same id
33
- * already exists, it is replaced.
65
+ * already exists, it is replaced. Transient workspaces are never persisted.
34
66
  */
35
67
  export async function saveWorkspace(workspace) {
36
- const list = await listWorkspaces();
68
+ if (workspace.type === 'transient')
69
+ return;
70
+ const list = await listPersisted();
37
71
  const idx = list.findIndex((w) => w.id === workspace.id);
38
72
  if (idx >= 0) {
39
73
  list[idx] = workspace;
@@ -44,18 +78,28 @@ export async function saveWorkspace(workspace) {
44
78
  await store.set(LIST_KEY, list);
45
79
  }
46
80
  /**
47
- * Remove a workspace descriptor by id.
81
+ * Remove a workspace descriptor by id (transient or persisted).
48
82
  */
49
83
  export async function removeWorkspace(id) {
50
- const list = await listWorkspaces();
84
+ if (transientWorkspaces.has(id)) {
85
+ await unregisterTransientWorkspace(id);
86
+ return;
87
+ }
88
+ const list = await listPersisted();
51
89
  const filtered = list.filter((w) => w.id !== id);
52
90
  await store.set(LIST_KEY, filtered);
53
91
  }
54
92
  /**
55
- * Touch the lastOpened timestamp on a workspace.
93
+ * Touch the lastOpened timestamp on a workspace. For transient workspaces this
94
+ * updates the in-memory descriptor only (nothing is persisted).
56
95
  */
57
96
  export async function touchWorkspace(id) {
58
- const list = await listWorkspaces();
97
+ const transient = transientWorkspaces.get(id);
98
+ if (transient) {
99
+ transient.descriptor.lastOpened = new Date().toISOString();
100
+ return;
101
+ }
102
+ const list = await listPersisted();
59
103
  const workspace = list.find((w) => w.id === id);
60
104
  if (workspace) {
61
105
  workspace.lastOpened = new Date().toISOString();
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-manager.js","sourceRoot":"","sources":["../../src/workspace/workspace-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-manager.js","sourceRoot":"","sources":["../../src/workspace/workspace-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ declare const workspacePathBrand: unique symbol;
2
+ /** Canonical, root-relative, forward-slash path within one workspace. */
3
+ type WorkspacePath = string & {
4
+ readonly [workspacePathBrand]: 'WorkspacePath';
5
+ };
6
+ declare const WORKSPACE_ROOT: WorkspacePath;
7
+ /**
8
+ * Parse a legacy/user path into its one canonical workspace representation.
9
+ * Leading/trailing and repeated separators are normalized; traversal and NUL
10
+ * segments are rejected rather than resolved.
11
+ */
12
+ declare function parseWorkspacePath(input: string): WorkspacePath;
13
+ declare function tryParseWorkspacePath(input: unknown): WorkspacePath | null;
14
+ /** Convert a canonical path to the slash-prefixed form accepted by v1 providers. */
15
+ declare function workspacePathToLegacy(path: WorkspacePath): string;
16
+ declare function workspacePathJoin(parent: WorkspacePath, child: string): WorkspacePath;
17
+ declare function workspacePathDirname(path: WorkspacePath): WorkspacePath;
18
+ declare function workspacePathBasename(path: WorkspacePath): string;
19
+ declare function workspacePathContains(parent: WorkspacePath, candidate: WorkspacePath, inclusive?: boolean): boolean;
20
+
21
+ export { WORKSPACE_ROOT as W, type WorkspacePath as a, workspacePathContains as b, workspacePathDirname as c, workspacePathJoin as d, workspacePathToLegacy as e, parseWorkspacePath as p, tryParseWorkspacePath as t, workspacePathBasename as w };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/docblocks",
3
- "version": "1.1.2",
3
+ "version": "2.0.0",
4
4
  "description": "Core data structures and filesystem abstractions for DocBlocks",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
@@ -38,6 +38,31 @@
38
38
  "import": "./dist/filesystem/index.js",
39
39
  "default": "./dist/filesystem/index.js"
40
40
  },
41
+ "./filesystem/indexeddb": {
42
+ "types": "./dist/filesystem/indexeddb.d.ts",
43
+ "import": "./dist/filesystem/indexeddb.js",
44
+ "default": "./dist/filesystem/indexeddb.js"
45
+ },
46
+ "./filesystem/memory": {
47
+ "types": "./dist/filesystem/memory.d.ts",
48
+ "import": "./dist/filesystem/memory.js",
49
+ "default": "./dist/filesystem/memory.js"
50
+ },
51
+ "./filesystem/native": {
52
+ "types": "./dist/filesystem/native.d.ts",
53
+ "import": "./dist/filesystem/native.js",
54
+ "default": "./dist/filesystem/native.js"
55
+ },
56
+ "./filesystem/electron": {
57
+ "types": "./dist/filesystem/electron.d.ts",
58
+ "import": "./dist/filesystem/electron.js",
59
+ "default": "./dist/filesystem/electron.js"
60
+ },
61
+ "./document": {
62
+ "types": "./dist/document/index.d.ts",
63
+ "import": "./dist/document/index.js",
64
+ "default": "./dist/document/index.js"
65
+ },
41
66
  "./workspace": {
42
67
  "types": "./dist/workspace/index.d.ts",
43
68
  "import": "./dist/workspace/index.js",
@@ -47,6 +72,21 @@
47
72
  "types": "./dist/host/index.d.ts",
48
73
  "import": "./dist/host/index.js",
49
74
  "default": "./dist/host/index.js"
75
+ },
76
+ "./vscode": {
77
+ "types": "./dist/vscode/index.d.ts",
78
+ "import": "./dist/vscode/index.js",
79
+ "default": "./dist/vscode/index.js"
80
+ },
81
+ "./mcp": {
82
+ "types": "./dist/mcp/index.d.ts",
83
+ "import": "./dist/mcp/index.js",
84
+ "default": "./dist/mcp/index.js"
85
+ },
86
+ "./mcp/zod": {
87
+ "types": "./dist/mcp/zod.d.ts",
88
+ "import": "./dist/mcp/zod.js",
89
+ "default": "./dist/mcp/zod.js"
50
90
  }
51
91
  },
52
92
  "scripts": {
@@ -54,6 +94,7 @@
54
94
  "typecheck": "tsc --noEmit"
55
95
  },
56
96
  "dependencies": {
57
- "@bendyline/squisq": "1.5.1"
97
+ "@bendyline/squisq": "2.0.1",
98
+ "zod": "3.25.76"
58
99
  }
59
100
  }