gitx.do 0.1.1 → 0.1.2

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 (356) hide show
  1. package/README.md +40 -353
  2. package/dist/do/logger.d.ts +50 -0
  3. package/dist/do/logger.d.ts.map +1 -0
  4. package/dist/do/logger.js +122 -0
  5. package/dist/do/logger.js.map +1 -0
  6. package/dist/{durable-object → do}/schema.d.ts +3 -3
  7. package/dist/do/schema.d.ts.map +1 -0
  8. package/dist/{durable-object → do}/schema.js +4 -3
  9. package/dist/do/schema.js.map +1 -0
  10. package/dist/do/types.d.ts +267 -0
  11. package/dist/do/types.d.ts.map +1 -0
  12. package/dist/do/types.js +62 -0
  13. package/dist/do/types.js.map +1 -0
  14. package/dist/index.d.ts +14 -469
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +31 -483
  17. package/dist/index.js.map +1 -1
  18. package/package.json +13 -21
  19. package/dist/cli/commands/add.d.ts +0 -176
  20. package/dist/cli/commands/add.d.ts.map +0 -1
  21. package/dist/cli/commands/add.js +0 -979
  22. package/dist/cli/commands/add.js.map +0 -1
  23. package/dist/cli/commands/blame.d.ts +0 -259
  24. package/dist/cli/commands/blame.d.ts.map +0 -1
  25. package/dist/cli/commands/blame.js +0 -609
  26. package/dist/cli/commands/blame.js.map +0 -1
  27. package/dist/cli/commands/branch.d.ts +0 -249
  28. package/dist/cli/commands/branch.d.ts.map +0 -1
  29. package/dist/cli/commands/branch.js +0 -693
  30. package/dist/cli/commands/branch.js.map +0 -1
  31. package/dist/cli/commands/checkout.d.ts +0 -73
  32. package/dist/cli/commands/checkout.d.ts.map +0 -1
  33. package/dist/cli/commands/checkout.js +0 -725
  34. package/dist/cli/commands/checkout.js.map +0 -1
  35. package/dist/cli/commands/commit.d.ts +0 -182
  36. package/dist/cli/commands/commit.d.ts.map +0 -1
  37. package/dist/cli/commands/commit.js +0 -457
  38. package/dist/cli/commands/commit.js.map +0 -1
  39. package/dist/cli/commands/diff.d.ts +0 -464
  40. package/dist/cli/commands/diff.d.ts.map +0 -1
  41. package/dist/cli/commands/diff.js +0 -959
  42. package/dist/cli/commands/diff.js.map +0 -1
  43. package/dist/cli/commands/log.d.ts +0 -239
  44. package/dist/cli/commands/log.d.ts.map +0 -1
  45. package/dist/cli/commands/log.js +0 -535
  46. package/dist/cli/commands/log.js.map +0 -1
  47. package/dist/cli/commands/merge.d.ts +0 -106
  48. package/dist/cli/commands/merge.d.ts.map +0 -1
  49. package/dist/cli/commands/merge.js +0 -852
  50. package/dist/cli/commands/merge.js.map +0 -1
  51. package/dist/cli/commands/review.d.ts +0 -457
  52. package/dist/cli/commands/review.d.ts.map +0 -1
  53. package/dist/cli/commands/review.js +0 -558
  54. package/dist/cli/commands/review.js.map +0 -1
  55. package/dist/cli/commands/stash.d.ts +0 -157
  56. package/dist/cli/commands/stash.d.ts.map +0 -1
  57. package/dist/cli/commands/stash.js +0 -655
  58. package/dist/cli/commands/stash.js.map +0 -1
  59. package/dist/cli/commands/status.d.ts +0 -269
  60. package/dist/cli/commands/status.d.ts.map +0 -1
  61. package/dist/cli/commands/status.js +0 -492
  62. package/dist/cli/commands/status.js.map +0 -1
  63. package/dist/cli/commands/web.d.ts +0 -199
  64. package/dist/cli/commands/web.d.ts.map +0 -1
  65. package/dist/cli/commands/web.js +0 -697
  66. package/dist/cli/commands/web.js.map +0 -1
  67. package/dist/cli/fs-adapter.d.ts +0 -656
  68. package/dist/cli/fs-adapter.d.ts.map +0 -1
  69. package/dist/cli/fs-adapter.js +0 -1177
  70. package/dist/cli/fs-adapter.js.map +0 -1
  71. package/dist/cli/fsx-cli-adapter.d.ts +0 -359
  72. package/dist/cli/fsx-cli-adapter.d.ts.map +0 -1
  73. package/dist/cli/fsx-cli-adapter.js +0 -619
  74. package/dist/cli/fsx-cli-adapter.js.map +0 -1
  75. package/dist/cli/index.d.ts +0 -387
  76. package/dist/cli/index.d.ts.map +0 -1
  77. package/dist/cli/index.js +0 -579
  78. package/dist/cli/index.js.map +0 -1
  79. package/dist/cli/ui/components/DiffView.d.ts +0 -12
  80. package/dist/cli/ui/components/DiffView.d.ts.map +0 -1
  81. package/dist/cli/ui/components/DiffView.js +0 -11
  82. package/dist/cli/ui/components/DiffView.js.map +0 -1
  83. package/dist/cli/ui/components/ErrorDisplay.d.ts +0 -10
  84. package/dist/cli/ui/components/ErrorDisplay.d.ts.map +0 -1
  85. package/dist/cli/ui/components/ErrorDisplay.js +0 -11
  86. package/dist/cli/ui/components/ErrorDisplay.js.map +0 -1
  87. package/dist/cli/ui/components/FuzzySearch.d.ts +0 -15
  88. package/dist/cli/ui/components/FuzzySearch.d.ts.map +0 -1
  89. package/dist/cli/ui/components/FuzzySearch.js +0 -12
  90. package/dist/cli/ui/components/FuzzySearch.js.map +0 -1
  91. package/dist/cli/ui/components/LoadingSpinner.d.ts +0 -10
  92. package/dist/cli/ui/components/LoadingSpinner.d.ts.map +0 -1
  93. package/dist/cli/ui/components/LoadingSpinner.js +0 -10
  94. package/dist/cli/ui/components/LoadingSpinner.js.map +0 -1
  95. package/dist/cli/ui/components/NavigationList.d.ts +0 -14
  96. package/dist/cli/ui/components/NavigationList.d.ts.map +0 -1
  97. package/dist/cli/ui/components/NavigationList.js +0 -11
  98. package/dist/cli/ui/components/NavigationList.js.map +0 -1
  99. package/dist/cli/ui/components/ScrollableContent.d.ts +0 -13
  100. package/dist/cli/ui/components/ScrollableContent.d.ts.map +0 -1
  101. package/dist/cli/ui/components/ScrollableContent.js +0 -11
  102. package/dist/cli/ui/components/ScrollableContent.js.map +0 -1
  103. package/dist/cli/ui/components/index.d.ts +0 -7
  104. package/dist/cli/ui/components/index.d.ts.map +0 -1
  105. package/dist/cli/ui/components/index.js +0 -9
  106. package/dist/cli/ui/components/index.js.map +0 -1
  107. package/dist/cli/ui/terminal-ui.d.ts +0 -85
  108. package/dist/cli/ui/terminal-ui.d.ts.map +0 -1
  109. package/dist/cli/ui/terminal-ui.js +0 -121
  110. package/dist/cli/ui/terminal-ui.js.map +0 -1
  111. package/dist/do/BashModule.d.ts +0 -871
  112. package/dist/do/BashModule.d.ts.map +0 -1
  113. package/dist/do/BashModule.js +0 -1143
  114. package/dist/do/BashModule.js.map +0 -1
  115. package/dist/do/FsModule.d.ts +0 -612
  116. package/dist/do/FsModule.d.ts.map +0 -1
  117. package/dist/do/FsModule.js +0 -1120
  118. package/dist/do/FsModule.js.map +0 -1
  119. package/dist/do/GitModule.d.ts +0 -635
  120. package/dist/do/GitModule.d.ts.map +0 -1
  121. package/dist/do/GitModule.js +0 -784
  122. package/dist/do/GitModule.js.map +0 -1
  123. package/dist/do/GitRepoDO.d.ts +0 -281
  124. package/dist/do/GitRepoDO.d.ts.map +0 -1
  125. package/dist/do/GitRepoDO.js +0 -479
  126. package/dist/do/GitRepoDO.js.map +0 -1
  127. package/dist/do/bash-ast.d.ts +0 -246
  128. package/dist/do/bash-ast.d.ts.map +0 -1
  129. package/dist/do/bash-ast.js +0 -888
  130. package/dist/do/bash-ast.js.map +0 -1
  131. package/dist/do/container-executor.d.ts +0 -491
  132. package/dist/do/container-executor.d.ts.map +0 -1
  133. package/dist/do/container-executor.js +0 -731
  134. package/dist/do/container-executor.js.map +0 -1
  135. package/dist/do/index.d.ts +0 -53
  136. package/dist/do/index.d.ts.map +0 -1
  137. package/dist/do/index.js +0 -91
  138. package/dist/do/index.js.map +0 -1
  139. package/dist/do/tiered-storage.d.ts +0 -403
  140. package/dist/do/tiered-storage.d.ts.map +0 -1
  141. package/dist/do/tiered-storage.js +0 -689
  142. package/dist/do/tiered-storage.js.map +0 -1
  143. package/dist/do/withBash.d.ts +0 -231
  144. package/dist/do/withBash.d.ts.map +0 -1
  145. package/dist/do/withBash.js +0 -244
  146. package/dist/do/withBash.js.map +0 -1
  147. package/dist/do/withFs.d.ts +0 -237
  148. package/dist/do/withFs.d.ts.map +0 -1
  149. package/dist/do/withFs.js +0 -387
  150. package/dist/do/withFs.js.map +0 -1
  151. package/dist/do/withGit.d.ts +0 -180
  152. package/dist/do/withGit.d.ts.map +0 -1
  153. package/dist/do/withGit.js +0 -271
  154. package/dist/do/withGit.js.map +0 -1
  155. package/dist/durable-object/object-store.d.ts +0 -633
  156. package/dist/durable-object/object-store.d.ts.map +0 -1
  157. package/dist/durable-object/object-store.js +0 -1164
  158. package/dist/durable-object/object-store.js.map +0 -1
  159. package/dist/durable-object/schema.d.ts.map +0 -1
  160. package/dist/durable-object/schema.js.map +0 -1
  161. package/dist/durable-object/wal.d.ts +0 -416
  162. package/dist/durable-object/wal.d.ts.map +0 -1
  163. package/dist/durable-object/wal.js +0 -445
  164. package/dist/durable-object/wal.js.map +0 -1
  165. package/dist/mcp/adapter.d.ts +0 -772
  166. package/dist/mcp/adapter.d.ts.map +0 -1
  167. package/dist/mcp/adapter.js +0 -895
  168. package/dist/mcp/adapter.js.map +0 -1
  169. package/dist/mcp/sandbox/miniflare-evaluator.d.ts +0 -22
  170. package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +0 -1
  171. package/dist/mcp/sandbox/miniflare-evaluator.js +0 -140
  172. package/dist/mcp/sandbox/miniflare-evaluator.js.map +0 -1
  173. package/dist/mcp/sandbox/object-store-proxy.d.ts +0 -32
  174. package/dist/mcp/sandbox/object-store-proxy.d.ts.map +0 -1
  175. package/dist/mcp/sandbox/object-store-proxy.js +0 -30
  176. package/dist/mcp/sandbox/object-store-proxy.js.map +0 -1
  177. package/dist/mcp/sandbox/template.d.ts +0 -17
  178. package/dist/mcp/sandbox/template.d.ts.map +0 -1
  179. package/dist/mcp/sandbox/template.js +0 -71
  180. package/dist/mcp/sandbox/template.js.map +0 -1
  181. package/dist/mcp/sandbox.d.ts +0 -764
  182. package/dist/mcp/sandbox.d.ts.map +0 -1
  183. package/dist/mcp/sandbox.js +0 -1362
  184. package/dist/mcp/sandbox.js.map +0 -1
  185. package/dist/mcp/sdk-adapter.d.ts +0 -835
  186. package/dist/mcp/sdk-adapter.d.ts.map +0 -1
  187. package/dist/mcp/sdk-adapter.js +0 -974
  188. package/dist/mcp/sdk-adapter.js.map +0 -1
  189. package/dist/mcp/tools/do.d.ts +0 -32
  190. package/dist/mcp/tools/do.d.ts.map +0 -1
  191. package/dist/mcp/tools/do.js +0 -117
  192. package/dist/mcp/tools/do.js.map +0 -1
  193. package/dist/mcp/tools.d.ts +0 -548
  194. package/dist/mcp/tools.d.ts.map +0 -1
  195. package/dist/mcp/tools.js +0 -3170
  196. package/dist/mcp/tools.js.map +0 -1
  197. package/dist/ops/blame.d.ts +0 -551
  198. package/dist/ops/blame.d.ts.map +0 -1
  199. package/dist/ops/blame.js +0 -1037
  200. package/dist/ops/blame.js.map +0 -1
  201. package/dist/ops/branch.d.ts +0 -766
  202. package/dist/ops/branch.d.ts.map +0 -1
  203. package/dist/ops/branch.js +0 -950
  204. package/dist/ops/branch.js.map +0 -1
  205. package/dist/ops/commit-traversal.d.ts +0 -349
  206. package/dist/ops/commit-traversal.d.ts.map +0 -1
  207. package/dist/ops/commit-traversal.js +0 -821
  208. package/dist/ops/commit-traversal.js.map +0 -1
  209. package/dist/ops/commit.d.ts +0 -555
  210. package/dist/ops/commit.d.ts.map +0 -1
  211. package/dist/ops/commit.js +0 -826
  212. package/dist/ops/commit.js.map +0 -1
  213. package/dist/ops/merge-base.d.ts +0 -397
  214. package/dist/ops/merge-base.d.ts.map +0 -1
  215. package/dist/ops/merge-base.js +0 -691
  216. package/dist/ops/merge-base.js.map +0 -1
  217. package/dist/ops/merge.d.ts +0 -855
  218. package/dist/ops/merge.d.ts.map +0 -1
  219. package/dist/ops/merge.js +0 -1551
  220. package/dist/ops/merge.js.map +0 -1
  221. package/dist/ops/tag.d.ts +0 -247
  222. package/dist/ops/tag.d.ts.map +0 -1
  223. package/dist/ops/tag.js +0 -649
  224. package/dist/ops/tag.js.map +0 -1
  225. package/dist/ops/tree-builder.d.ts +0 -178
  226. package/dist/ops/tree-builder.d.ts.map +0 -1
  227. package/dist/ops/tree-builder.js +0 -271
  228. package/dist/ops/tree-builder.js.map +0 -1
  229. package/dist/ops/tree-diff.d.ts +0 -291
  230. package/dist/ops/tree-diff.d.ts.map +0 -1
  231. package/dist/ops/tree-diff.js +0 -705
  232. package/dist/ops/tree-diff.js.map +0 -1
  233. package/dist/pack/delta.d.ts +0 -248
  234. package/dist/pack/delta.d.ts.map +0 -1
  235. package/dist/pack/delta.js +0 -740
  236. package/dist/pack/delta.js.map +0 -1
  237. package/dist/pack/format.d.ts +0 -446
  238. package/dist/pack/format.d.ts.map +0 -1
  239. package/dist/pack/format.js +0 -572
  240. package/dist/pack/format.js.map +0 -1
  241. package/dist/pack/full-generation.d.ts +0 -612
  242. package/dist/pack/full-generation.d.ts.map +0 -1
  243. package/dist/pack/full-generation.js +0 -1378
  244. package/dist/pack/full-generation.js.map +0 -1
  245. package/dist/pack/generation.d.ts +0 -441
  246. package/dist/pack/generation.d.ts.map +0 -1
  247. package/dist/pack/generation.js +0 -707
  248. package/dist/pack/generation.js.map +0 -1
  249. package/dist/pack/index.d.ts +0 -502
  250. package/dist/pack/index.d.ts.map +0 -1
  251. package/dist/pack/index.js +0 -833
  252. package/dist/pack/index.js.map +0 -1
  253. package/dist/refs/branch.d.ts +0 -683
  254. package/dist/refs/branch.d.ts.map +0 -1
  255. package/dist/refs/branch.js +0 -881
  256. package/dist/refs/branch.js.map +0 -1
  257. package/dist/refs/storage.d.ts +0 -833
  258. package/dist/refs/storage.d.ts.map +0 -1
  259. package/dist/refs/storage.js +0 -1023
  260. package/dist/refs/storage.js.map +0 -1
  261. package/dist/refs/tag.d.ts +0 -860
  262. package/dist/refs/tag.d.ts.map +0 -1
  263. package/dist/refs/tag.js +0 -996
  264. package/dist/refs/tag.js.map +0 -1
  265. package/dist/storage/backend.d.ts +0 -425
  266. package/dist/storage/backend.d.ts.map +0 -1
  267. package/dist/storage/backend.js +0 -41
  268. package/dist/storage/backend.js.map +0 -1
  269. package/dist/storage/fsx-adapter.d.ts +0 -204
  270. package/dist/storage/fsx-adapter.d.ts.map +0 -1
  271. package/dist/storage/fsx-adapter.js +0 -518
  272. package/dist/storage/fsx-adapter.js.map +0 -1
  273. package/dist/storage/lru-cache.d.ts +0 -691
  274. package/dist/storage/lru-cache.d.ts.map +0 -1
  275. package/dist/storage/lru-cache.js +0 -813
  276. package/dist/storage/lru-cache.js.map +0 -1
  277. package/dist/storage/object-index.d.ts +0 -585
  278. package/dist/storage/object-index.d.ts.map +0 -1
  279. package/dist/storage/object-index.js +0 -532
  280. package/dist/storage/object-index.js.map +0 -1
  281. package/dist/storage/r2-pack.d.ts +0 -1257
  282. package/dist/storage/r2-pack.d.ts.map +0 -1
  283. package/dist/storage/r2-pack.js +0 -1773
  284. package/dist/storage/r2-pack.js.map +0 -1
  285. package/dist/tiered/cdc-pipeline.d.ts +0 -1888
  286. package/dist/tiered/cdc-pipeline.d.ts.map +0 -1
  287. package/dist/tiered/cdc-pipeline.js +0 -1880
  288. package/dist/tiered/cdc-pipeline.js.map +0 -1
  289. package/dist/tiered/migration.d.ts +0 -1104
  290. package/dist/tiered/migration.d.ts.map +0 -1
  291. package/dist/tiered/migration.js +0 -1217
  292. package/dist/tiered/migration.js.map +0 -1
  293. package/dist/tiered/parquet-writer.d.ts +0 -1145
  294. package/dist/tiered/parquet-writer.d.ts.map +0 -1
  295. package/dist/tiered/parquet-writer.js +0 -1183
  296. package/dist/tiered/parquet-writer.js.map +0 -1
  297. package/dist/tiered/read-path.d.ts +0 -835
  298. package/dist/tiered/read-path.d.ts.map +0 -1
  299. package/dist/tiered/read-path.js +0 -487
  300. package/dist/tiered/read-path.js.map +0 -1
  301. package/dist/types/capability.d.ts +0 -1385
  302. package/dist/types/capability.d.ts.map +0 -1
  303. package/dist/types/capability.js +0 -36
  304. package/dist/types/capability.js.map +0 -1
  305. package/dist/types/index.d.ts +0 -13
  306. package/dist/types/index.d.ts.map +0 -1
  307. package/dist/types/index.js +0 -18
  308. package/dist/types/index.js.map +0 -1
  309. package/dist/types/interfaces.d.ts +0 -673
  310. package/dist/types/interfaces.d.ts.map +0 -1
  311. package/dist/types/interfaces.js +0 -26
  312. package/dist/types/interfaces.js.map +0 -1
  313. package/dist/types/objects.d.ts +0 -692
  314. package/dist/types/objects.d.ts.map +0 -1
  315. package/dist/types/objects.js +0 -837
  316. package/dist/types/objects.js.map +0 -1
  317. package/dist/types/storage.d.ts +0 -603
  318. package/dist/types/storage.d.ts.map +0 -1
  319. package/dist/types/storage.js +0 -191
  320. package/dist/types/storage.js.map +0 -1
  321. package/dist/types/worker-loader.d.ts +0 -60
  322. package/dist/types/worker-loader.d.ts.map +0 -1
  323. package/dist/types/worker-loader.js +0 -62
  324. package/dist/types/worker-loader.js.map +0 -1
  325. package/dist/utils/hash.d.ts +0 -198
  326. package/dist/utils/hash.d.ts.map +0 -1
  327. package/dist/utils/hash.js +0 -272
  328. package/dist/utils/hash.js.map +0 -1
  329. package/dist/utils/sha1.d.ts +0 -325
  330. package/dist/utils/sha1.d.ts.map +0 -1
  331. package/dist/utils/sha1.js +0 -635
  332. package/dist/utils/sha1.js.map +0 -1
  333. package/dist/wire/capabilities.d.ts +0 -1044
  334. package/dist/wire/capabilities.d.ts.map +0 -1
  335. package/dist/wire/capabilities.js +0 -941
  336. package/dist/wire/capabilities.js.map +0 -1
  337. package/dist/wire/path-security.d.ts +0 -157
  338. package/dist/wire/path-security.d.ts.map +0 -1
  339. package/dist/wire/path-security.js +0 -307
  340. package/dist/wire/path-security.js.map +0 -1
  341. package/dist/wire/pkt-line.d.ts +0 -345
  342. package/dist/wire/pkt-line.d.ts.map +0 -1
  343. package/dist/wire/pkt-line.js +0 -381
  344. package/dist/wire/pkt-line.js.map +0 -1
  345. package/dist/wire/receive-pack.d.ts +0 -1059
  346. package/dist/wire/receive-pack.d.ts.map +0 -1
  347. package/dist/wire/receive-pack.js +0 -1414
  348. package/dist/wire/receive-pack.js.map +0 -1
  349. package/dist/wire/smart-http.d.ts +0 -799
  350. package/dist/wire/smart-http.d.ts.map +0 -1
  351. package/dist/wire/smart-http.js +0 -945
  352. package/dist/wire/smart-http.js.map +0 -1
  353. package/dist/wire/upload-pack.d.ts +0 -727
  354. package/dist/wire/upload-pack.d.ts.map +0 -1
  355. package/dist/wire/upload-pack.js +0 -1141
  356. package/dist/wire/upload-pack.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiered-storage.js","sourceRoot":"","sources":["../../src/do/tiered-storage.ts"],"names":[],"mappings":"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"}
@@ -1,231 +0,0 @@
1
- /**
2
- * @fileoverview withBash Mixin for DO Composition
3
- *
4
- * This module provides a mixin function that adds bash execution capability
5
- * to any Durable Object class. The mixin follows the TypeScript mixin pattern
6
- * and supports lazy initialization of the BashModule.
7
- *
8
- * @module do/withBash
9
- *
10
- * @example
11
- * ```typescript
12
- * import { withBash } from 'gitx.do/do'
13
- * import { DO } from 'dotdo'
14
- *
15
- * // Basic usage with defaults
16
- * class MyDO extends withBash(DO) {
17
- * async runCommand() {
18
- * const result = await this.bash.exec('ls', ['-la'])
19
- * return new Response(result.stdout)
20
- * }
21
- * }
22
- *
23
- * // With custom options
24
- * class SecureDO extends withBash(DO, {
25
- * cwd: '/app',
26
- * defaultTimeout: 60000,
27
- * blockedCommands: ['rm', 'wget'],
28
- * requireConfirmation: true
29
- * }) {
30
- * async buildProject() {
31
- * const result = await this.bash.exec('npm', ['run', 'build'])
32
- * if (result.exitCode !== 0) {
33
- * throw new Error(`Build failed: ${result.stderr}`)
34
- * }
35
- * return new Response('Build successful')
36
- * }
37
- * }
38
- * ```
39
- */
40
- import { BashModule, type BashModuleOptions, type BashExecutor, type FsCapability, type BashStorage } from './BashModule';
41
- /**
42
- * Type for a class constructor.
43
- * Used as the base constraint for mixin composition.
44
- */
45
- export type Constructor<T = object> = new (...args: any[]) => T;
46
- /**
47
- * Interface for DOs that have bash capability.
48
- * Classes extended with withBash will implement this interface.
49
- */
50
- export interface WithBashCapability {
51
- /**
52
- * The BashModule instance providing bash execution functionality.
53
- * Lazily initialized on first access.
54
- */
55
- readonly bash: BashModule;
56
- }
57
- /**
58
- * Options for the withBash mixin.
59
- * These options configure the BashModule that will be created.
60
- */
61
- export interface WithBashOptions {
62
- /**
63
- * Default working directory for commands.
64
- * @default '/'
65
- */
66
- cwd?: string;
67
- /**
68
- * Default timeout for commands in milliseconds.
69
- * @default 30000
70
- */
71
- defaultTimeout?: number;
72
- /**
73
- * List of commands that are blocked from execution.
74
- */
75
- blockedCommands?: string[];
76
- /**
77
- * Whether to require confirmation for dangerous commands.
78
- * @default true
79
- */
80
- requireConfirmation?: boolean;
81
- /**
82
- * Whether to use AST-based safety analysis.
83
- * @default true
84
- */
85
- useAST?: boolean;
86
- /**
87
- * Policy name to use when persisting settings to database.
88
- * @default 'default'
89
- */
90
- policyName?: string;
91
- /**
92
- * Factory function to get the executor from the DO instance.
93
- * This enables lazy binding of the executor based on the DO's environment.
94
- *
95
- * @param instance - The DO instance
96
- * @returns The BashExecutor to use, or undefined if none available
97
- *
98
- * @example
99
- * ```typescript
100
- * withBash(DO, {
101
- * getExecutor: (instance) => instance.env?.CONTAINER_EXECUTOR
102
- * })
103
- * ```
104
- */
105
- getExecutor?: (instance: object) => BashExecutor | undefined;
106
- /**
107
- * Factory function to get the filesystem capability from the DO instance.
108
- * This enables lazy binding of the fs capability based on the DO's context.
109
- *
110
- * @param instance - The DO instance
111
- * @returns The FsCapability to use, or undefined if none available
112
- *
113
- * @example
114
- * ```typescript
115
- * withBash(DO, {
116
- * getFs: (instance) => instance.$?.fs
117
- * })
118
- * ```
119
- */
120
- getFs?: (instance: object) => FsCapability | undefined;
121
- /**
122
- * Factory function to get the storage from the DO instance.
123
- * This enables lazy binding of storage for persistent settings.
124
- *
125
- * @param instance - The DO instance
126
- * @returns The BashStorage to use, or undefined if none available
127
- *
128
- * @example
129
- * ```typescript
130
- * withBash(DO, {
131
- * getStorage: (instance) => instance.state?.storage
132
- * })
133
- * ```
134
- */
135
- getStorage?: (instance: object) => BashStorage | undefined;
136
- }
137
- /**
138
- * Mixin function to add bash capability to a DO class.
139
- *
140
- * @description
141
- * Composes bash execution functionality into a Durable Object class.
142
- * The resulting class will have a `bash` property that provides
143
- * BashModule functionality for executing shell commands.
144
- *
145
- * The BashModule is lazily initialized on first access to the `bash`
146
- * property. This means:
147
- * - No overhead if bash is never used
148
- * - Factory functions (getExecutor, getFs, getStorage) are called at first access
149
- * - The module can be properly initialized with DO-specific context
150
- *
151
- * The mixin supports:
152
- * - Command execution via exec() and run()
153
- * - Streaming execution via spawn()
154
- * - Safety analysis and command blocking
155
- * - Configurable timeouts and working directory
156
- * - Database persistence for execution policies
157
- *
158
- * @param Base - Base class to extend
159
- * @param options - Bash configuration options (optional)
160
- * @returns Extended class with bash capability
161
- *
162
- * @example
163
- * ```typescript
164
- * import { withBash } from 'gitx.do/do'
165
- * import { DO } from 'dotdo'
166
- *
167
- * // Basic usage with defaults
168
- * class MyDO extends withBash(DO) {
169
- * async runCommand() {
170
- * const result = await this.bash.exec('ls', ['-la'])
171
- * return new Response(result.stdout)
172
- * }
173
- * }
174
- *
175
- * // With custom options and lazy binding
176
- * class SecureDO extends withBash(DO, {
177
- * cwd: '/app',
178
- * defaultTimeout: 60000,
179
- * blockedCommands: ['rm', 'wget'],
180
- * requireConfirmation: true,
181
- * getExecutor: (instance) => (instance as any).env?.CONTAINER_EXECUTOR,
182
- * getFs: (instance) => (instance as any).$?.fs,
183
- * getStorage: (instance) => (instance as any).state?.storage
184
- * }) {
185
- * async buildProject() {
186
- * const result = await this.bash.exec('npm', ['run', 'build'])
187
- * if (result.exitCode !== 0) {
188
- * throw new Error(`Build failed: ${result.stderr}`)
189
- * }
190
- * return new Response('Build successful')
191
- * }
192
- * }
193
- * ```
194
- *
195
- * @example
196
- * ```typescript
197
- * // Combining with withGit
198
- * import { withGit, withBash } from 'gitx.do/do'
199
- * import { DO } from 'dotdo'
200
- *
201
- * class DevDO extends withBash(withGit(DO, { repo: 'org/repo' }), {
202
- * cwd: '/workspace'
203
- * }) {
204
- * async setupAndBuild() {
205
- * // Sync git repository
206
- * await this.git.sync()
207
- *
208
- * // Run build commands
209
- * await this.bash.exec('npm', ['install'])
210
- * await this.bash.exec('npm', ['run', 'build'])
211
- * }
212
- * }
213
- * ```
214
- */
215
- export declare function withBash<TBase extends Constructor>(Base: TBase, options?: WithBashOptions): TBase & Constructor<WithBashCapability>;
216
- /**
217
- * Check if a value has bash capability.
218
- *
219
- * @param value - Value to check
220
- * @returns True if value has the bash property
221
- *
222
- * @example
223
- * ```typescript
224
- * if (hasBashCapability(instance)) {
225
- * const result = await instance.bash.exec('ls')
226
- * }
227
- * ```
228
- */
229
- export declare function hasBashCapability(value: unknown): value is WithBashCapability;
230
- export { BashModule, type BashModuleOptions, type BashExecutor, type FsCapability, type BashStorage, };
231
- //# sourceMappingURL=withBash.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"withBash.d.ts","sourceRoot":"","sources":["../../src/do/withBash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,cAAc,CAAA;AAMrB;;;GAGG;AAEH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAE/D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAA;IAE5D;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAA;IAEtD;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAA;CAC3D;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,wBAAgB,QAAQ,CAAC,KAAK,SAAS,WAAW,EAChD,IAAI,EAAE,KAAK,EACX,OAAO,GAAE,eAAoB,GAC5B,KAAK,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAgGzC;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAO7E;AAMD,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,CAAA"}
@@ -1,244 +0,0 @@
1
- /**
2
- * @fileoverview withBash Mixin for DO Composition
3
- *
4
- * This module provides a mixin function that adds bash execution capability
5
- * to any Durable Object class. The mixin follows the TypeScript mixin pattern
6
- * and supports lazy initialization of the BashModule.
7
- *
8
- * @module do/withBash
9
- *
10
- * @example
11
- * ```typescript
12
- * import { withBash } from 'gitx.do/do'
13
- * import { DO } from 'dotdo'
14
- *
15
- * // Basic usage with defaults
16
- * class MyDO extends withBash(DO) {
17
- * async runCommand() {
18
- * const result = await this.bash.exec('ls', ['-la'])
19
- * return new Response(result.stdout)
20
- * }
21
- * }
22
- *
23
- * // With custom options
24
- * class SecureDO extends withBash(DO, {
25
- * cwd: '/app',
26
- * defaultTimeout: 60000,
27
- * blockedCommands: ['rm', 'wget'],
28
- * requireConfirmation: true
29
- * }) {
30
- * async buildProject() {
31
- * const result = await this.bash.exec('npm', ['run', 'build'])
32
- * if (result.exitCode !== 0) {
33
- * throw new Error(`Build failed: ${result.stderr}`)
34
- * }
35
- * return new Response('Build successful')
36
- * }
37
- * }
38
- * ```
39
- */
40
- import { BashModule, } from './BashModule';
41
- // ============================================================================
42
- // Mixin Implementation
43
- // ============================================================================
44
- /**
45
- * Symbol used to store the BashModule instance for lazy initialization.
46
- * Using a symbol prevents name collisions with user-defined properties.
47
- */
48
- const BASH_MODULE_SYMBOL = Symbol('bashModule');
49
- /**
50
- * Symbol used to store the options for lazy initialization.
51
- */
52
- const BASH_OPTIONS_SYMBOL = Symbol('bashOptions');
53
- /**
54
- * Symbol to track if the module has been initialized.
55
- */
56
- const BASH_INITIALIZED_SYMBOL = Symbol('bashInitialized');
57
- /**
58
- * Mixin function to add bash capability to a DO class.
59
- *
60
- * @description
61
- * Composes bash execution functionality into a Durable Object class.
62
- * The resulting class will have a `bash` property that provides
63
- * BashModule functionality for executing shell commands.
64
- *
65
- * The BashModule is lazily initialized on first access to the `bash`
66
- * property. This means:
67
- * - No overhead if bash is never used
68
- * - Factory functions (getExecutor, getFs, getStorage) are called at first access
69
- * - The module can be properly initialized with DO-specific context
70
- *
71
- * The mixin supports:
72
- * - Command execution via exec() and run()
73
- * - Streaming execution via spawn()
74
- * - Safety analysis and command blocking
75
- * - Configurable timeouts and working directory
76
- * - Database persistence for execution policies
77
- *
78
- * @param Base - Base class to extend
79
- * @param options - Bash configuration options (optional)
80
- * @returns Extended class with bash capability
81
- *
82
- * @example
83
- * ```typescript
84
- * import { withBash } from 'gitx.do/do'
85
- * import { DO } from 'dotdo'
86
- *
87
- * // Basic usage with defaults
88
- * class MyDO extends withBash(DO) {
89
- * async runCommand() {
90
- * const result = await this.bash.exec('ls', ['-la'])
91
- * return new Response(result.stdout)
92
- * }
93
- * }
94
- *
95
- * // With custom options and lazy binding
96
- * class SecureDO extends withBash(DO, {
97
- * cwd: '/app',
98
- * defaultTimeout: 60000,
99
- * blockedCommands: ['rm', 'wget'],
100
- * requireConfirmation: true,
101
- * getExecutor: (instance) => (instance as any).env?.CONTAINER_EXECUTOR,
102
- * getFs: (instance) => (instance as any).$?.fs,
103
- * getStorage: (instance) => (instance as any).state?.storage
104
- * }) {
105
- * async buildProject() {
106
- * const result = await this.bash.exec('npm', ['run', 'build'])
107
- * if (result.exitCode !== 0) {
108
- * throw new Error(`Build failed: ${result.stderr}`)
109
- * }
110
- * return new Response('Build successful')
111
- * }
112
- * }
113
- * ```
114
- *
115
- * @example
116
- * ```typescript
117
- * // Combining with withGit
118
- * import { withGit, withBash } from 'gitx.do/do'
119
- * import { DO } from 'dotdo'
120
- *
121
- * class DevDO extends withBash(withGit(DO, { repo: 'org/repo' }), {
122
- * cwd: '/workspace'
123
- * }) {
124
- * async setupAndBuild() {
125
- * // Sync git repository
126
- * await this.git.sync()
127
- *
128
- * // Run build commands
129
- * await this.bash.exec('npm', ['install'])
130
- * await this.bash.exec('npm', ['run', 'build'])
131
- * }
132
- * }
133
- * ```
134
- */
135
- export function withBash(Base, options = {}) {
136
- // Create the extended class
137
- class WithBashClass extends Base {
138
- /**
139
- * Internal storage for the lazily initialized BashModule.
140
- */
141
- [BASH_MODULE_SYMBOL];
142
- /**
143
- * Internal storage for the options.
144
- */
145
- [BASH_OPTIONS_SYMBOL];
146
- /**
147
- * Tracks whether initialization has been attempted.
148
- */
149
- [BASH_INITIALIZED_SYMBOL] = false;
150
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
151
- constructor(...args) {
152
- super(...args);
153
- this[BASH_OPTIONS_SYMBOL] = options;
154
- }
155
- /**
156
- * Get the BashModule instance, creating it lazily on first access.
157
- *
158
- * @returns The BashModule instance
159
- */
160
- get bash() {
161
- if (!this[BASH_MODULE_SYMBOL]) {
162
- this[BASH_MODULE_SYMBOL] = this._createBashModule();
163
- }
164
- return this[BASH_MODULE_SYMBOL];
165
- }
166
- /**
167
- * Create the BashModule instance with resolved options.
168
- *
169
- * @returns A new BashModule instance
170
- * @private
171
- */
172
- _createBashModule() {
173
- const opts = this[BASH_OPTIONS_SYMBOL];
174
- // Build module options, resolving lazy factories
175
- const moduleOptions = {
176
- cwd: opts.cwd,
177
- defaultTimeout: opts.defaultTimeout,
178
- blockedCommands: opts.blockedCommands,
179
- requireConfirmation: opts.requireConfirmation,
180
- useAST: opts.useAST,
181
- policyName: opts.policyName,
182
- };
183
- // Resolve executor if factory provided
184
- if (opts.getExecutor) {
185
- moduleOptions.executor = opts.getExecutor(this);
186
- }
187
- // Resolve filesystem if factory provided
188
- if (opts.getFs) {
189
- moduleOptions.fs = opts.getFs(this);
190
- }
191
- // Resolve storage if factory provided
192
- if (opts.getStorage) {
193
- moduleOptions.storage = opts.getStorage(this);
194
- }
195
- return new BashModule(moduleOptions);
196
- }
197
- /**
198
- * Initialize the bash module asynchronously.
199
- * This should be called if you need database-backed settings to be loaded.
200
- *
201
- * @returns Promise that resolves when initialization is complete
202
- */
203
- async initializeBash() {
204
- if (this[BASH_INITIALIZED_SYMBOL])
205
- return;
206
- // Ensure bash module is created
207
- const bash = this.bash;
208
- // Initialize if storage is configured
209
- if (bash.hasStorage()) {
210
- await bash.initialize();
211
- }
212
- this[BASH_INITIALIZED_SYMBOL] = true;
213
- }
214
- }
215
- // Return the class with proper typing
216
- return WithBashClass;
217
- }
218
- // ============================================================================
219
- // Type Guards
220
- // ============================================================================
221
- /**
222
- * Check if a value has bash capability.
223
- *
224
- * @param value - Value to check
225
- * @returns True if value has the bash property
226
- *
227
- * @example
228
- * ```typescript
229
- * if (hasBashCapability(instance)) {
230
- * const result = await instance.bash.exec('ls')
231
- * }
232
- * ```
233
- */
234
- export function hasBashCapability(value) {
235
- return (typeof value === 'object' &&
236
- value !== null &&
237
- 'bash' in value &&
238
- value.bash instanceof BashModule);
239
- }
240
- // ============================================================================
241
- // Re-exports for Convenience
242
- // ============================================================================
243
- export { BashModule, };
244
- //# sourceMappingURL=withBash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"withBash.js","sourceRoot":"","sources":["../../src/do/withBash.ts"],"names":[],"mappings":"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"}