gitx.do 0.0.3 → 0.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 (231) hide show
  1. package/README.md +319 -92
  2. package/dist/cli/commands/add.d.ts +176 -0
  3. package/dist/cli/commands/add.d.ts.map +1 -0
  4. package/dist/cli/commands/add.js +979 -0
  5. package/dist/cli/commands/add.js.map +1 -0
  6. package/dist/cli/commands/blame.d.ts +1 -1
  7. package/dist/cli/commands/blame.d.ts.map +1 -1
  8. package/dist/cli/commands/blame.js +1 -1
  9. package/dist/cli/commands/blame.js.map +1 -1
  10. package/dist/cli/commands/branch.d.ts +1 -1
  11. package/dist/cli/commands/branch.d.ts.map +1 -1
  12. package/dist/cli/commands/branch.js +2 -2
  13. package/dist/cli/commands/branch.js.map +1 -1
  14. package/dist/cli/commands/checkout.d.ts +73 -0
  15. package/dist/cli/commands/checkout.d.ts.map +1 -0
  16. package/dist/cli/commands/checkout.js +725 -0
  17. package/dist/cli/commands/checkout.js.map +1 -0
  18. package/dist/cli/commands/commit.d.ts.map +1 -1
  19. package/dist/cli/commands/commit.js +22 -2
  20. package/dist/cli/commands/commit.js.map +1 -1
  21. package/dist/cli/commands/diff.d.ts +4 -4
  22. package/dist/cli/commands/diff.d.ts.map +1 -1
  23. package/dist/cli/commands/diff.js +9 -8
  24. package/dist/cli/commands/diff.js.map +1 -1
  25. package/dist/cli/commands/log.d.ts +1 -1
  26. package/dist/cli/commands/log.d.ts.map +1 -1
  27. package/dist/cli/commands/log.js +1 -1
  28. package/dist/cli/commands/log.js.map +1 -1
  29. package/dist/cli/commands/merge.d.ts +106 -0
  30. package/dist/cli/commands/merge.d.ts.map +1 -0
  31. package/dist/cli/commands/merge.js +852 -0
  32. package/dist/cli/commands/merge.js.map +1 -0
  33. package/dist/cli/commands/review.d.ts +1 -1
  34. package/dist/cli/commands/review.d.ts.map +1 -1
  35. package/dist/cli/commands/review.js +26 -1
  36. package/dist/cli/commands/review.js.map +1 -1
  37. package/dist/cli/commands/stash.d.ts +157 -0
  38. package/dist/cli/commands/stash.d.ts.map +1 -0
  39. package/dist/cli/commands/stash.js +655 -0
  40. package/dist/cli/commands/stash.js.map +1 -0
  41. package/dist/cli/commands/status.d.ts.map +1 -1
  42. package/dist/cli/commands/status.js +1 -2
  43. package/dist/cli/commands/status.js.map +1 -1
  44. package/dist/cli/commands/web.d.ts.map +1 -1
  45. package/dist/cli/commands/web.js +3 -2
  46. package/dist/cli/commands/web.js.map +1 -1
  47. package/dist/cli/fs-adapter.d.ts.map +1 -1
  48. package/dist/cli/fs-adapter.js +3 -5
  49. package/dist/cli/fs-adapter.js.map +1 -1
  50. package/dist/cli/fsx-cli-adapter.d.ts +359 -0
  51. package/dist/cli/fsx-cli-adapter.d.ts.map +1 -0
  52. package/dist/cli/fsx-cli-adapter.js +619 -0
  53. package/dist/cli/fsx-cli-adapter.js.map +1 -0
  54. package/dist/cli/index.d.ts.map +1 -1
  55. package/dist/cli/index.js +68 -12
  56. package/dist/cli/index.js.map +1 -1
  57. package/dist/cli/ui/components/DiffView.d.ts +7 -2
  58. package/dist/cli/ui/components/DiffView.d.ts.map +1 -1
  59. package/dist/cli/ui/components/DiffView.js.map +1 -1
  60. package/dist/cli/ui/components/ErrorDisplay.d.ts +6 -2
  61. package/dist/cli/ui/components/ErrorDisplay.d.ts.map +1 -1
  62. package/dist/cli/ui/components/ErrorDisplay.js.map +1 -1
  63. package/dist/cli/ui/components/FuzzySearch.d.ts +8 -2
  64. package/dist/cli/ui/components/FuzzySearch.d.ts.map +1 -1
  65. package/dist/cli/ui/components/FuzzySearch.js.map +1 -1
  66. package/dist/cli/ui/components/LoadingSpinner.d.ts +6 -2
  67. package/dist/cli/ui/components/LoadingSpinner.d.ts.map +1 -1
  68. package/dist/cli/ui/components/LoadingSpinner.js.map +1 -1
  69. package/dist/cli/ui/components/NavigationList.d.ts +7 -2
  70. package/dist/cli/ui/components/NavigationList.d.ts.map +1 -1
  71. package/dist/cli/ui/components/NavigationList.js.map +1 -1
  72. package/dist/cli/ui/components/ScrollableContent.d.ts +7 -2
  73. package/dist/cli/ui/components/ScrollableContent.d.ts.map +1 -1
  74. package/dist/cli/ui/components/ScrollableContent.js.map +1 -1
  75. package/dist/cli/ui/terminal-ui.d.ts +42 -9
  76. package/dist/cli/ui/terminal-ui.d.ts.map +1 -1
  77. package/dist/cli/ui/terminal-ui.js.map +1 -1
  78. package/dist/do/BashModule.d.ts +871 -0
  79. package/dist/do/BashModule.d.ts.map +1 -0
  80. package/dist/do/BashModule.js +1143 -0
  81. package/dist/do/BashModule.js.map +1 -0
  82. package/dist/do/FsModule.d.ts +612 -0
  83. package/dist/do/FsModule.d.ts.map +1 -0
  84. package/dist/do/FsModule.js +1120 -0
  85. package/dist/do/FsModule.js.map +1 -0
  86. package/dist/do/GitModule.d.ts +635 -0
  87. package/dist/do/GitModule.d.ts.map +1 -0
  88. package/dist/do/GitModule.js +784 -0
  89. package/dist/do/GitModule.js.map +1 -0
  90. package/dist/do/GitRepoDO.d.ts +281 -0
  91. package/dist/do/GitRepoDO.d.ts.map +1 -0
  92. package/dist/do/GitRepoDO.js +479 -0
  93. package/dist/do/GitRepoDO.js.map +1 -0
  94. package/dist/do/bash-ast.d.ts +246 -0
  95. package/dist/do/bash-ast.d.ts.map +1 -0
  96. package/dist/do/bash-ast.js +888 -0
  97. package/dist/do/bash-ast.js.map +1 -0
  98. package/dist/do/container-executor.d.ts +491 -0
  99. package/dist/do/container-executor.d.ts.map +1 -0
  100. package/dist/do/container-executor.js +731 -0
  101. package/dist/do/container-executor.js.map +1 -0
  102. package/dist/do/index.d.ts +53 -0
  103. package/dist/do/index.d.ts.map +1 -0
  104. package/dist/do/index.js +91 -0
  105. package/dist/do/index.js.map +1 -0
  106. package/dist/do/tiered-storage.d.ts +403 -0
  107. package/dist/do/tiered-storage.d.ts.map +1 -0
  108. package/dist/do/tiered-storage.js +689 -0
  109. package/dist/do/tiered-storage.js.map +1 -0
  110. package/dist/do/withBash.d.ts +231 -0
  111. package/dist/do/withBash.d.ts.map +1 -0
  112. package/dist/do/withBash.js +244 -0
  113. package/dist/do/withBash.js.map +1 -0
  114. package/dist/do/withFs.d.ts +237 -0
  115. package/dist/do/withFs.d.ts.map +1 -0
  116. package/dist/do/withFs.js +387 -0
  117. package/dist/do/withFs.js.map +1 -0
  118. package/dist/do/withGit.d.ts +180 -0
  119. package/dist/do/withGit.d.ts.map +1 -0
  120. package/dist/do/withGit.js +271 -0
  121. package/dist/do/withGit.js.map +1 -0
  122. package/dist/durable-object/object-store.d.ts +157 -15
  123. package/dist/durable-object/object-store.d.ts.map +1 -1
  124. package/dist/durable-object/object-store.js +435 -47
  125. package/dist/durable-object/object-store.js.map +1 -1
  126. package/dist/durable-object/schema.d.ts +12 -1
  127. package/dist/durable-object/schema.d.ts.map +1 -1
  128. package/dist/durable-object/schema.js +87 -2
  129. package/dist/durable-object/schema.js.map +1 -1
  130. package/dist/index.d.ts +84 -1
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +34 -0
  133. package/dist/index.js.map +1 -1
  134. package/dist/mcp/sandbox/miniflare-evaluator.d.ts +22 -0
  135. package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +1 -0
  136. package/dist/mcp/sandbox/miniflare-evaluator.js +140 -0
  137. package/dist/mcp/sandbox/miniflare-evaluator.js.map +1 -0
  138. package/dist/mcp/sandbox/object-store-proxy.d.ts +32 -0
  139. package/dist/mcp/sandbox/object-store-proxy.d.ts.map +1 -0
  140. package/dist/mcp/sandbox/object-store-proxy.js +30 -0
  141. package/dist/mcp/sandbox/object-store-proxy.js.map +1 -0
  142. package/dist/mcp/sandbox/template.d.ts +17 -0
  143. package/dist/mcp/sandbox/template.d.ts.map +1 -0
  144. package/dist/mcp/sandbox/template.js +71 -0
  145. package/dist/mcp/sandbox/template.js.map +1 -0
  146. package/dist/mcp/sandbox.d.ts.map +1 -1
  147. package/dist/mcp/sandbox.js +16 -4
  148. package/dist/mcp/sandbox.js.map +1 -1
  149. package/dist/mcp/tools/do.d.ts +32 -0
  150. package/dist/mcp/tools/do.d.ts.map +1 -0
  151. package/dist/mcp/tools/do.js +117 -0
  152. package/dist/mcp/tools/do.js.map +1 -0
  153. package/dist/mcp/tools.d.ts.map +1 -1
  154. package/dist/mcp/tools.js +1258 -22
  155. package/dist/mcp/tools.js.map +1 -1
  156. package/dist/pack/delta.d.ts +8 -0
  157. package/dist/pack/delta.d.ts.map +1 -1
  158. package/dist/pack/delta.js +241 -30
  159. package/dist/pack/delta.js.map +1 -1
  160. package/dist/refs/branch.d.ts +38 -25
  161. package/dist/refs/branch.d.ts.map +1 -1
  162. package/dist/refs/branch.js +421 -94
  163. package/dist/refs/branch.js.map +1 -1
  164. package/dist/refs/storage.d.ts +77 -5
  165. package/dist/refs/storage.d.ts.map +1 -1
  166. package/dist/refs/storage.js +193 -43
  167. package/dist/refs/storage.js.map +1 -1
  168. package/dist/refs/tag.d.ts +44 -24
  169. package/dist/refs/tag.d.ts.map +1 -1
  170. package/dist/refs/tag.js +411 -70
  171. package/dist/refs/tag.js.map +1 -1
  172. package/dist/storage/backend.d.ts +425 -0
  173. package/dist/storage/backend.d.ts.map +1 -0
  174. package/dist/storage/backend.js +41 -0
  175. package/dist/storage/backend.js.map +1 -0
  176. package/dist/storage/fsx-adapter.d.ts +204 -0
  177. package/dist/storage/fsx-adapter.d.ts.map +1 -0
  178. package/dist/storage/fsx-adapter.js +518 -0
  179. package/dist/storage/fsx-adapter.js.map +1 -0
  180. package/dist/storage/r2-pack.d.ts.map +1 -1
  181. package/dist/storage/r2-pack.js +4 -1
  182. package/dist/storage/r2-pack.js.map +1 -1
  183. package/dist/tiered/cdc-pipeline.js +3 -3
  184. package/dist/tiered/cdc-pipeline.js.map +1 -1
  185. package/dist/tiered/migration.d.ts.map +1 -1
  186. package/dist/tiered/migration.js +4 -1
  187. package/dist/tiered/migration.js.map +1 -1
  188. package/dist/types/capability.d.ts +1385 -0
  189. package/dist/types/capability.d.ts.map +1 -0
  190. package/dist/types/capability.js +36 -0
  191. package/dist/types/capability.js.map +1 -0
  192. package/dist/types/index.d.ts +13 -0
  193. package/dist/types/index.d.ts.map +1 -0
  194. package/dist/types/index.js +18 -0
  195. package/dist/types/index.js.map +1 -0
  196. package/dist/types/interfaces.d.ts +673 -0
  197. package/dist/types/interfaces.d.ts.map +1 -0
  198. package/dist/types/interfaces.js +26 -0
  199. package/dist/types/interfaces.js.map +1 -0
  200. package/dist/types/objects.d.ts +182 -0
  201. package/dist/types/objects.d.ts.map +1 -1
  202. package/dist/types/objects.js +249 -4
  203. package/dist/types/objects.js.map +1 -1
  204. package/dist/types/storage.d.ts +114 -0
  205. package/dist/types/storage.d.ts.map +1 -1
  206. package/dist/types/storage.js +160 -1
  207. package/dist/types/storage.js.map +1 -1
  208. package/dist/types/worker-loader.d.ts +60 -0
  209. package/dist/types/worker-loader.d.ts.map +1 -0
  210. package/dist/types/worker-loader.js +62 -0
  211. package/dist/types/worker-loader.js.map +1 -0
  212. package/dist/utils/hash.d.ts +126 -80
  213. package/dist/utils/hash.d.ts.map +1 -1
  214. package/dist/utils/hash.js +191 -100
  215. package/dist/utils/hash.js.map +1 -1
  216. package/dist/utils/sha1.d.ts +206 -0
  217. package/dist/utils/sha1.d.ts.map +1 -1
  218. package/dist/utils/sha1.js +405 -0
  219. package/dist/utils/sha1.js.map +1 -1
  220. package/dist/wire/path-security.d.ts +157 -0
  221. package/dist/wire/path-security.d.ts.map +1 -0
  222. package/dist/wire/path-security.js +307 -0
  223. package/dist/wire/path-security.js.map +1 -0
  224. package/dist/wire/receive-pack.d.ts +7 -0
  225. package/dist/wire/receive-pack.d.ts.map +1 -1
  226. package/dist/wire/receive-pack.js +29 -1
  227. package/dist/wire/receive-pack.js.map +1 -1
  228. package/dist/wire/upload-pack.d.ts.map +1 -1
  229. package/dist/wire/upload-pack.js +4 -1
  230. package/dist/wire/upload-pack.js.map +1 -1
  231. package/package.json +10 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BashModule.js","sourceRoot":"","sources":["../../src/do/BashModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,612 @@
1
+ /**
2
+ * @fileoverview FsModule for Durable Object Integration
3
+ *
4
+ * This module provides a FsModule class that integrates with dotdo's $ WorkflowContext,
5
+ * providing $.fs.read(), $.fs.write(), and POSIX-like filesystem operations.
6
+ *
7
+ * The module uses SQLite for metadata storage and supports tiered blob storage
8
+ * with R2 integration. Implements lazy initialization - schema is only created
9
+ * on first use.
10
+ *
11
+ * @module do/FsModule
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { FsModule } from 'gitx.do/do'
16
+ *
17
+ * class MyDO extends DO {
18
+ * fs = new FsModule({
19
+ * sql: this.ctx.storage.sql
20
+ * })
21
+ *
22
+ * async loadConfig() {
23
+ * await this.fs.initialize()
24
+ * const content = await this.fs.readFile('/config.json')
25
+ * return JSON.parse(content)
26
+ * }
27
+ * }
28
+ * ```
29
+ */
30
+ /**
31
+ * SQL storage interface for FsModule.
32
+ * Matches Cloudflare Durable Object SQLite API.
33
+ */
34
+ export interface SqlStorage {
35
+ exec<T = unknown>(sql: string, ...params: unknown[]): SqlResult<T>;
36
+ }
37
+ /**
38
+ * Result from SQL execution.
39
+ */
40
+ export interface SqlResult<T> {
41
+ one(): T | null;
42
+ toArray(): T[];
43
+ }
44
+ /**
45
+ * R2 Bucket interface for tiered storage.
46
+ */
47
+ export interface R2BucketLike {
48
+ get(key: string): Promise<R2ObjectLike | null>;
49
+ put(key: string, value: ArrayBuffer | Uint8Array | string): Promise<R2ObjectLike>;
50
+ delete(key: string | string[]): Promise<void>;
51
+ }
52
+ /**
53
+ * R2 Object interface.
54
+ */
55
+ export interface R2ObjectLike {
56
+ key: string;
57
+ size: number;
58
+ arrayBuffer(): Promise<ArrayBuffer>;
59
+ text(): Promise<string>;
60
+ }
61
+ /**
62
+ * Configuration options for FsModule.
63
+ */
64
+ export interface FsModuleOptions {
65
+ /**
66
+ * SQLite storage instance from Durable Object context.
67
+ */
68
+ sql: SqlStorage;
69
+ /**
70
+ * Optional R2 bucket for warm tier storage.
71
+ */
72
+ r2?: R2BucketLike;
73
+ /**
74
+ * Optional R2 bucket for cold/archive tier storage.
75
+ */
76
+ archive?: R2BucketLike;
77
+ /**
78
+ * Base path prefix for all operations.
79
+ * @default '/'
80
+ */
81
+ basePath?: string;
82
+ /**
83
+ * Hot tier max size in bytes.
84
+ * Files larger than this are stored in R2 when available.
85
+ * @default 1048576 (1MB)
86
+ */
87
+ hotMaxSize?: number;
88
+ /**
89
+ * Default file mode.
90
+ * @default 0o644
91
+ */
92
+ defaultMode?: number;
93
+ /**
94
+ * Default directory mode.
95
+ * @default 0o755
96
+ */
97
+ defaultDirMode?: number;
98
+ }
99
+ /**
100
+ * Options for read operations.
101
+ */
102
+ export interface ReadOptions {
103
+ /**
104
+ * Encoding for text output.
105
+ * If set to 'utf-8', returns string instead of Uint8Array.
106
+ */
107
+ encoding?: 'utf-8' | 'utf8';
108
+ /**
109
+ * Start byte offset for partial reads.
110
+ */
111
+ start?: number;
112
+ /**
113
+ * End byte offset for partial reads (inclusive).
114
+ */
115
+ end?: number;
116
+ }
117
+ /**
118
+ * Options for write operations.
119
+ */
120
+ export interface WriteOptions {
121
+ /**
122
+ * File mode (permissions).
123
+ */
124
+ mode?: number;
125
+ /**
126
+ * Write flag.
127
+ * - 'w': Write/create (default)
128
+ * - 'wx' or 'ax': Exclusive create (fail if exists)
129
+ * - 'a': Append mode
130
+ */
131
+ flag?: 'w' | 'wx' | 'ax' | 'a';
132
+ /**
133
+ * Force specific storage tier.
134
+ */
135
+ tier?: 'hot' | 'warm' | 'cold';
136
+ }
137
+ /**
138
+ * Options for mkdir operations.
139
+ */
140
+ export interface MkdirOptions {
141
+ /**
142
+ * Create parent directories if they don't exist.
143
+ */
144
+ recursive?: boolean;
145
+ /**
146
+ * Directory mode (permissions).
147
+ */
148
+ mode?: number;
149
+ }
150
+ /**
151
+ * Options for rmdir operations.
152
+ */
153
+ export interface RmdirOptions {
154
+ /**
155
+ * Remove directory and all contents recursively.
156
+ */
157
+ recursive?: boolean;
158
+ }
159
+ /**
160
+ * Options for rm operations.
161
+ */
162
+ export interface RemoveOptions {
163
+ /**
164
+ * Remove directories and contents recursively.
165
+ */
166
+ recursive?: boolean;
167
+ /**
168
+ * Don't throw error if path doesn't exist.
169
+ */
170
+ force?: boolean;
171
+ }
172
+ /**
173
+ * Options for readdir operations.
174
+ */
175
+ export interface ReaddirOptions {
176
+ /**
177
+ * Return Dirent objects instead of strings.
178
+ */
179
+ withFileTypes?: boolean;
180
+ /**
181
+ * List subdirectories recursively.
182
+ */
183
+ recursive?: boolean;
184
+ }
185
+ /**
186
+ * Options for rename/move operations.
187
+ */
188
+ export interface MoveOptions {
189
+ /**
190
+ * Overwrite destination if it exists.
191
+ */
192
+ overwrite?: boolean;
193
+ }
194
+ /**
195
+ * Options for copy operations.
196
+ */
197
+ export interface CopyOptions {
198
+ /**
199
+ * Overwrite destination if it exists.
200
+ */
201
+ overwrite?: boolean;
202
+ }
203
+ /**
204
+ * Directory entry interface.
205
+ */
206
+ export interface Dirent {
207
+ name: string;
208
+ parentPath: string;
209
+ path: string;
210
+ isFile(): boolean;
211
+ isDirectory(): boolean;
212
+ isSymbolicLink(): boolean;
213
+ isBlockDevice(): boolean;
214
+ isCharacterDevice(): boolean;
215
+ isFIFO(): boolean;
216
+ isSocket(): boolean;
217
+ }
218
+ /**
219
+ * File stats interface.
220
+ */
221
+ export interface Stats {
222
+ dev: number;
223
+ ino: number;
224
+ mode: number;
225
+ nlink: number;
226
+ uid: number;
227
+ gid: number;
228
+ rdev: number;
229
+ size: number;
230
+ blksize: number;
231
+ blocks: number;
232
+ atimeMs: number;
233
+ mtimeMs: number;
234
+ ctimeMs: number;
235
+ birthtimeMs: number;
236
+ atime: Date;
237
+ mtime: Date;
238
+ ctime: Date;
239
+ birthtime: Date;
240
+ isFile(): boolean;
241
+ isDirectory(): boolean;
242
+ isSymbolicLink(): boolean;
243
+ isBlockDevice(): boolean;
244
+ isCharacterDevice(): boolean;
245
+ isFIFO(): boolean;
246
+ isSocket(): boolean;
247
+ }
248
+ /**
249
+ * Blob entry stored in SQLite.
250
+ * @internal Reserved for tiered storage implementation
251
+ */
252
+ type _BlobEntry = {
253
+ id: string;
254
+ data: ArrayBuffer | null;
255
+ size: number;
256
+ tier: 'hot' | 'warm' | 'cold';
257
+ created_at: number;
258
+ };
259
+ export type { _BlobEntry as BlobEntryInternal };
260
+ /**
261
+ * File type mode bits (POSIX).
262
+ */
263
+ export declare const S_IFMT = 61440;
264
+ export declare const S_IFREG = 32768;
265
+ export declare const S_IFDIR = 16384;
266
+ export declare const S_IFLNK = 40960;
267
+ /**
268
+ * Base class for filesystem errors.
269
+ */
270
+ declare class FsError extends Error {
271
+ code: string;
272
+ path?: string;
273
+ constructor(code: string, message: string, path?: string);
274
+ }
275
+ /**
276
+ * ENOENT: No such file or directory.
277
+ */
278
+ export declare class ENOENT extends FsError {
279
+ constructor(message?: string, path?: string);
280
+ }
281
+ /**
282
+ * EEXIST: File already exists.
283
+ */
284
+ export declare class EEXIST extends FsError {
285
+ constructor(message?: string, path?: string);
286
+ }
287
+ /**
288
+ * EISDIR: Illegal operation on a directory.
289
+ */
290
+ export declare class EISDIR extends FsError {
291
+ constructor(message?: string, path?: string);
292
+ }
293
+ /**
294
+ * ENOTDIR: Not a directory.
295
+ */
296
+ export declare class ENOTDIR extends FsError {
297
+ constructor(message?: string, path?: string);
298
+ }
299
+ /**
300
+ * ENOTEMPTY: Directory not empty.
301
+ */
302
+ export declare class ENOTEMPTY extends FsError {
303
+ constructor(message?: string, path?: string);
304
+ }
305
+ /**
306
+ * FsModule - Filesystem capability module for Durable Object integration.
307
+ *
308
+ * Implements POSIX-like file operations with lazy initialization.
309
+ * Uses SQLite for metadata and supports tiered storage with R2.
310
+ *
311
+ * @example
312
+ * ```typescript
313
+ * const fs = new FsModule({ sql: ctx.storage.sql })
314
+ *
315
+ * // First operation triggers initialization
316
+ * await fs.writeFile('/config.json', JSON.stringify(config))
317
+ *
318
+ * // Subsequent operations use existing schema
319
+ * const data = await fs.readFile('/config.json', { encoding: 'utf-8' })
320
+ * ```
321
+ */
322
+ export declare class FsModule {
323
+ /**
324
+ * Capability module name for identification.
325
+ */
326
+ readonly name: "fs";
327
+ private readonly sql;
328
+ private readonly r2?;
329
+ private readonly archive?;
330
+ private readonly basePath;
331
+ private readonly hotMaxSize;
332
+ private readonly defaultMode;
333
+ private readonly defaultDirMode;
334
+ private initialized;
335
+ /**
336
+ * Create a new FsModule instance.
337
+ *
338
+ * @param options - Configuration options
339
+ *
340
+ * @example
341
+ * ```typescript
342
+ * const fs = new FsModule({
343
+ * sql: ctx.storage.sql,
344
+ * r2: env.R2_BUCKET,
345
+ * hotMaxSize: 512 * 1024 // 512KB
346
+ * })
347
+ * ```
348
+ */
349
+ constructor(options: FsModuleOptions);
350
+ /**
351
+ * Initialize the module - creates schema and root directory.
352
+ * This is called automatically on first operation (lazy initialization).
353
+ */
354
+ initialize(): Promise<void>;
355
+ /**
356
+ * Cleanup hook for capability disposal.
357
+ */
358
+ dispose(): Promise<void>;
359
+ private normalizePath;
360
+ private getParentPath;
361
+ private getFileName;
362
+ private getFile;
363
+ private selectTier;
364
+ private storeBlob;
365
+ private getBlob;
366
+ private deleteBlob;
367
+ /**
368
+ * Read a file's contents.
369
+ *
370
+ * @param path - File path to read
371
+ * @param options - Read options
372
+ * @returns File contents as string or Uint8Array
373
+ *
374
+ * @example
375
+ * ```typescript
376
+ * // Read as bytes
377
+ * const bytes = await fs.readFile('/data.bin')
378
+ *
379
+ * // Read as string
380
+ * const text = await fs.readFile('/config.json', { encoding: 'utf-8' })
381
+ * ```
382
+ */
383
+ readFile(path: string, options?: ReadOptions): Promise<string | Uint8Array>;
384
+ /**
385
+ * Write data to a file.
386
+ *
387
+ * @param path - File path to write
388
+ * @param data - Data to write
389
+ * @param options - Write options
390
+ *
391
+ * @example
392
+ * ```typescript
393
+ * // Write string
394
+ * await fs.writeFile('/hello.txt', 'Hello, World!')
395
+ *
396
+ * // Write bytes
397
+ * await fs.writeFile('/data.bin', new Uint8Array([1, 2, 3]))
398
+ *
399
+ * // Append mode
400
+ * await fs.writeFile('/log.txt', 'New entry\n', { flag: 'a' })
401
+ * ```
402
+ */
403
+ writeFile(path: string, data: string | Uint8Array, options?: WriteOptions): Promise<void>;
404
+ /**
405
+ * Append data to a file.
406
+ *
407
+ * @param path - File path to append to
408
+ * @param data - Data to append
409
+ */
410
+ appendFile(path: string, data: string | Uint8Array): Promise<void>;
411
+ /**
412
+ * Delete a file.
413
+ *
414
+ * @param path - File path to delete
415
+ */
416
+ unlink(path: string): Promise<void>;
417
+ /**
418
+ * Rename/move a file or directory.
419
+ *
420
+ * @param oldPath - Current path
421
+ * @param newPath - New path
422
+ * @param options - Move options
423
+ */
424
+ rename(oldPath: string, newPath: string, options?: MoveOptions): Promise<void>;
425
+ /**
426
+ * Copy a file.
427
+ *
428
+ * @param src - Source file path
429
+ * @param dest - Destination file path
430
+ * @param options - Copy options
431
+ */
432
+ copyFile(src: string, dest: string, options?: CopyOptions): Promise<void>;
433
+ /**
434
+ * Truncate a file to a specified length.
435
+ *
436
+ * @param path - File path
437
+ * @param length - New length (default: 0)
438
+ */
439
+ truncate(path: string, length?: number): Promise<void>;
440
+ /**
441
+ * Create a directory.
442
+ *
443
+ * @param path - Directory path
444
+ * @param options - Mkdir options
445
+ */
446
+ mkdir(path: string, options?: MkdirOptions): Promise<void>;
447
+ /**
448
+ * Remove a directory.
449
+ *
450
+ * @param path - Directory path
451
+ * @param options - Rmdir options
452
+ */
453
+ rmdir(path: string, options?: RmdirOptions): Promise<void>;
454
+ private deleteRecursive;
455
+ /**
456
+ * Remove a file or directory.
457
+ *
458
+ * @param path - Path to remove
459
+ * @param options - Remove options
460
+ */
461
+ rm(path: string, options?: RemoveOptions): Promise<void>;
462
+ /**
463
+ * Read directory contents.
464
+ *
465
+ * @param path - Directory path
466
+ * @param options - Readdir options
467
+ * @returns Array of filenames or Dirent objects
468
+ */
469
+ readdir(path: string, options?: ReaddirOptions): Promise<string[] | Dirent[]>;
470
+ /**
471
+ * Get file stats (follows symlinks).
472
+ *
473
+ * @param path - File path
474
+ * @returns Stats object
475
+ */
476
+ stat(path: string): Promise<Stats>;
477
+ /**
478
+ * Get file stats (does not follow symlinks).
479
+ *
480
+ * @param path - File path
481
+ * @returns Stats object
482
+ */
483
+ lstat(path: string): Promise<Stats>;
484
+ private fileToStats;
485
+ /**
486
+ * Check if a path exists.
487
+ *
488
+ * @param path - Path to check
489
+ * @returns True if path exists
490
+ */
491
+ exists(path: string): Promise<boolean>;
492
+ /**
493
+ * Get the integer rowid (file_id) for a file path.
494
+ * This is useful for foreign key references from other tables.
495
+ *
496
+ * @param path - File path to look up
497
+ * @returns The file's integer rowid, or null if file doesn't exist
498
+ *
499
+ * @example
500
+ * ```typescript
501
+ * const fileId = await fs.getFileId('/config.json')
502
+ * if (fileId !== null) {
503
+ * // Use fileId as foreign key reference
504
+ * }
505
+ * ```
506
+ */
507
+ getFileId(path: string): Promise<number | null>;
508
+ /**
509
+ * Check access to a file.
510
+ *
511
+ * @param path - Path to check
512
+ * @param _mode - Access mode (not fully implemented)
513
+ */
514
+ access(path: string, _mode?: number): Promise<void>;
515
+ /**
516
+ * Change file mode.
517
+ *
518
+ * @param path - File path
519
+ * @param mode - New mode
520
+ */
521
+ chmod(path: string, mode: number): Promise<void>;
522
+ /**
523
+ * Change file ownership.
524
+ *
525
+ * @param path - File path
526
+ * @param uid - User ID
527
+ * @param gid - Group ID
528
+ */
529
+ chown(path: string, uid: number, gid: number): Promise<void>;
530
+ /**
531
+ * Update access and modification times.
532
+ *
533
+ * @param path - File path
534
+ * @param atime - Access time
535
+ * @param mtime - Modification time
536
+ */
537
+ utimes(path: string, atime: Date | number, mtime: Date | number): Promise<void>;
538
+ /**
539
+ * Create a symbolic link.
540
+ *
541
+ * @param target - Target path the symlink points to
542
+ * @param path - Path of the symlink
543
+ */
544
+ symlink(target: string, path: string): Promise<void>;
545
+ /**
546
+ * Create a hard link.
547
+ *
548
+ * @param existingPath - Path to existing file
549
+ * @param newPath - Path for new link
550
+ */
551
+ link(existingPath: string, newPath: string): Promise<void>;
552
+ /**
553
+ * Read a symbolic link's target.
554
+ *
555
+ * @param path - Symlink path
556
+ * @returns Target path
557
+ */
558
+ readlink(path: string): Promise<string>;
559
+ /**
560
+ * Get the real path (resolve symlinks).
561
+ *
562
+ * @param path - Path to resolve
563
+ * @returns Resolved path
564
+ */
565
+ realpath(path: string): Promise<string>;
566
+ /**
567
+ * Get the current storage tier of a file.
568
+ *
569
+ * @param path - File path
570
+ * @returns Current tier
571
+ */
572
+ getTier(path: string): Promise<'hot' | 'warm' | 'cold'>;
573
+ /**
574
+ * Promote a file to a hotter storage tier.
575
+ *
576
+ * @param path - File path
577
+ * @param tier - Target tier ('hot' or 'warm')
578
+ */
579
+ promote(path: string, tier: 'hot' | 'warm'): Promise<void>;
580
+ /**
581
+ * Demote a file to a colder storage tier.
582
+ *
583
+ * @param path - File path
584
+ * @param tier - Target tier ('warm' or 'cold')
585
+ */
586
+ demote(path: string, tier: 'warm' | 'cold'): Promise<void>;
587
+ }
588
+ /**
589
+ * Create an FsModule instance with the given options.
590
+ *
591
+ * @param options - Configuration options for the module
592
+ * @returns A new FsModule instance
593
+ *
594
+ * @example
595
+ * ```typescript
596
+ * import { createFsModule } from 'gitx.do/do'
597
+ *
598
+ * const fs = createFsModule({
599
+ * sql: ctx.storage.sql,
600
+ * r2: env.R2_BUCKET
601
+ * })
602
+ * ```
603
+ */
604
+ export declare function createFsModule(options: FsModuleOptions): FsModule;
605
+ /**
606
+ * Check if a value is an FsModule instance.
607
+ *
608
+ * @param value - Value to check
609
+ * @returns True if value is an FsModule
610
+ */
611
+ export declare function isFsModule(value: unknown): value is FsModule;
612
+ //# sourceMappingURL=FsModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FsModule.d.ts","sourceRoot":"","sources":["../../src/do/FsModule.ts"],"names":[],"mappings":"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"}