dotdo 0.0.2 → 0.1.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 (313) hide show
  1. package/cli/README.md +238 -0
  2. package/cli/agent.ts +72 -0
  3. package/cli/bin.js +44 -0
  4. package/cli/bin.ts +38 -0
  5. package/cli/build.ts +157 -0
  6. package/cli/commands/auth/login.ts +14 -0
  7. package/cli/commands/auth/logout.ts +6 -0
  8. package/cli/commands/auth/whoami.ts +16 -0
  9. package/cli/commands/deploy-multi.ts +245 -0
  10. package/cli/commands/dev/deploy.ts +100 -0
  11. package/cli/commands/dev/dev.ts +95 -0
  12. package/cli/commands/dev/logs.ts +91 -0
  13. package/cli/commands/dev-local.ts +88 -0
  14. package/cli/commands/do-ops.ts +314 -0
  15. package/cli/commands/index.ts +100 -0
  16. package/cli/commands/init.ts +247 -0
  17. package/cli/commands/introspect/emitter.ts +315 -0
  18. package/cli/commands/introspect/index.ts +193 -0
  19. package/cli/commands/link.ts +598 -0
  20. package/cli/commands/snippets.ts +415 -0
  21. package/cli/commands/tunnel.ts +239 -0
  22. package/cli/device-auth.ts +289 -0
  23. package/cli/fallback.ts +12 -0
  24. package/cli/index.ts +121 -0
  25. package/cli/main.ts +246 -0
  26. package/cli/mcp-stdio.ts +790 -0
  27. package/cli/package.json +62 -0
  28. package/cli/runtime/do-registry.ts +193 -0
  29. package/cli/runtime/embedded-db.ts +344 -0
  30. package/cli/runtime/index.ts +9 -0
  31. package/cli/runtime/miniflare-adapter.ts +162 -0
  32. package/cli/sandbox.ts +82 -0
  33. package/cli/src/args.ts +174 -0
  34. package/cli/src/auth.ts +55 -0
  35. package/cli/src/commands/call.ts +84 -0
  36. package/cli/src/commands/charge.ts +96 -0
  37. package/cli/src/commands/config.ts +115 -0
  38. package/cli/src/commands/email.ts +112 -0
  39. package/cli/src/commands/llm.ts +115 -0
  40. package/cli/src/commands/queue.ts +134 -0
  41. package/cli/src/commands/text.ts +86 -0
  42. package/cli/src/config.ts +185 -0
  43. package/cli/src/output.ts +246 -0
  44. package/cli/src/rpc.ts +192 -0
  45. package/cli/utils/config.ts +282 -0
  46. package/cli/utils/detect.ts +73 -0
  47. package/cli/utils/index.ts +15 -0
  48. package/cli/utils/logger.ts +232 -0
  49. package/dist/ai/template-literals.js +2 -2
  50. package/dist/ai/template-literals.js.map +1 -1
  51. package/dist/api/middleware/auth.js +3 -2
  52. package/dist/api/middleware/auth.js.map +1 -1
  53. package/dist/db/iceberg/inverted-index.js +1 -1
  54. package/dist/db/iceberg/inverted-index.js.map +1 -1
  55. package/dist/db/iceberg/puffin.js.map +1 -1
  56. package/dist/db/json-indexes.js.map +1 -1
  57. package/dist/db/objects.js.map +1 -1
  58. package/dist/db/primitives/dag-scheduler/index.js +1 -1
  59. package/dist/db/primitives/dag-scheduler/index.js.map +1 -1
  60. package/dist/db/primitives/observability.js.map +1 -1
  61. package/dist/db/primitives/schema-evolution.js.map +1 -1
  62. package/dist/db/primitives/temporal-store.js.map +1 -1
  63. package/dist/db/primitives/typed-column-store.js.map +1 -1
  64. package/dist/db/primitives/utils/duration.js.map +1 -1
  65. package/dist/db/primitives/utils/murmur3.js +12 -14
  66. package/dist/db/primitives/utils/murmur3.js.map +1 -1
  67. package/dist/db/primitives/window-manager.js.map +1 -1
  68. package/dist/db/stores.js.map +1 -1
  69. package/dist/db/things.js.map +1 -1
  70. package/dist/lib/DODispatcher.js +2 -2
  71. package/dist/lib/DODispatcher.js.map +1 -1
  72. package/dist/lib/auto-wiring.js.map +1 -1
  73. package/dist/lib/channels/email.js +1 -1
  74. package/dist/lib/channels/email.js.map +1 -1
  75. package/dist/lib/channels/slack-blockkit.js.map +1 -1
  76. package/dist/lib/cloudflare/ai.js +1 -1
  77. package/dist/lib/cloudflare/ai.js.map +1 -1
  78. package/dist/lib/cloudflare/kv.js +1 -1
  79. package/dist/lib/cloudflare/kv.js.map +1 -1
  80. package/dist/lib/cloudflare/r2.js +3 -3
  81. package/dist/lib/cloudflare/r2.js.map +1 -1
  82. package/dist/lib/cloudflare/vectorize.js.map +1 -1
  83. package/dist/lib/cloudflare/workflows.js.map +1 -1
  84. package/dist/lib/executors/AgenticFunctionExecutor.js.map +1 -1
  85. package/dist/lib/executors/CodeFunctionExecutor.js.map +1 -1
  86. package/dist/lib/executors/GenerativeFunctionExecutor.js.map +1 -1
  87. package/dist/lib/executors/HumanFunctionExecutor.js +1 -1
  88. package/dist/lib/executors/HumanFunctionExecutor.js.map +1 -1
  89. package/dist/lib/executors/ParallelStepExecutor.js.map +1 -1
  90. package/dist/lib/experiments.js.map +1 -1
  91. package/dist/lib/flags/store.js.map +1 -1
  92. package/dist/lib/functions/FunctionComposition.js.map +1 -1
  93. package/dist/lib/functions/FunctionMiddleware.js.map +1 -1
  94. package/dist/lib/functions/FunctionRegistry.js.map +1 -1
  95. package/dist/lib/humans/templates.js.map +1 -1
  96. package/dist/lib/identity.js +2 -2
  97. package/dist/lib/identity.js.map +1 -1
  98. package/dist/lib/logging/index.js.map +1 -1
  99. package/dist/lib/mixins/bash.js +1 -73
  100. package/dist/lib/mixins/bash.js.map +1 -1
  101. package/dist/lib/mixins/git.js +0 -5
  102. package/dist/lib/mixins/git.js.map +1 -1
  103. package/dist/lib/mixins/npm.js.map +1 -1
  104. package/dist/lib/noun-id.js.map +1 -1
  105. package/dist/lib/rate-limit/sliding-window.js.map +1 -1
  106. package/dist/lib/rpc/bindings.js.map +1 -1
  107. package/dist/lib/safe-stringify.js.map +1 -1
  108. package/dist/lib/sandbox/miniflare-sandbox.js.map +1 -1
  109. package/dist/lib/sqids.js.map +1 -1
  110. package/dist/lib/sql/adapters/node-sql-parser.js.map +1 -1
  111. package/dist/lib/sql/adapters/pgsql-parser.js +19 -18
  112. package/dist/lib/sql/adapters/pgsql-parser.js.map +1 -1
  113. package/dist/metrics/hunch.js.map +1 -1
  114. package/dist/objects/API.js +1 -1
  115. package/dist/objects/API.js.map +1 -1
  116. package/dist/objects/Agent.js.map +1 -1
  117. package/dist/objects/Browser.js.map +1 -1
  118. package/dist/objects/CLI.js.map +1 -1
  119. package/dist/objects/DOBase.js.map +1 -1
  120. package/dist/objects/DOCache.js +153 -0
  121. package/dist/objects/DOCache.js.map +1 -0
  122. package/dist/objects/DOFull.js.map +1 -1
  123. package/dist/objects/Entity.js.map +1 -1
  124. package/dist/objects/Human.js.map +1 -1
  125. package/dist/objects/IcebergMetadataDO.js.map +1 -1
  126. package/dist/objects/IntegrationsDO.js.map +1 -1
  127. package/dist/objects/ObservabilityBroadcaster.js.map +1 -1
  128. package/dist/objects/Package.js.map +1 -1
  129. package/dist/objects/Product.js +1 -1
  130. package/dist/objects/Product.js.map +1 -1
  131. package/dist/objects/SaaS.js.map +1 -1
  132. package/dist/objects/SandboxDO.js.map +1 -1
  133. package/dist/objects/Service.js.map +1 -1
  134. package/dist/objects/VectorShardDO.js +9 -7
  135. package/dist/objects/VectorShardDO.js.map +1 -1
  136. package/dist/objects/Workflow.js.map +1 -1
  137. package/dist/objects/WorkflowFactory.js.map +1 -1
  138. package/dist/objects/WorkflowRuntime.js.map +1 -1
  139. package/dist/objects/lifecycle/Branch.js.map +1 -1
  140. package/dist/objects/lifecycle/Clone.js +1 -1
  141. package/dist/objects/lifecycle/Clone.js.map +1 -1
  142. package/dist/objects/lifecycle/Compact.js.map +1 -1
  143. package/dist/objects/lifecycle/Shard.js.map +1 -1
  144. package/dist/objects/persistence/checkpoint-manager.js.map +1 -1
  145. package/dist/objects/persistence/migration-runner.js.map +1 -1
  146. package/dist/objects/persistence/replication-manager.js +2 -2
  147. package/dist/objects/persistence/replication-manager.js.map +1 -1
  148. package/dist/objects/persistence/tiered-storage-manager.js.map +1 -1
  149. package/dist/objects/persistence/wal-manager.js.map +1 -1
  150. package/dist/objects/transport/auth-layer.js.map +1 -1
  151. package/dist/objects/transport/chain.js.map +1 -1
  152. package/dist/objects/transport/mcp-server.js +7 -6
  153. package/dist/objects/transport/mcp-server.js.map +1 -1
  154. package/dist/objects/transport/rest-autowire.js +3 -2
  155. package/dist/objects/transport/rest-autowire.js.map +1 -1
  156. package/dist/objects/transport/rest-router.js.map +1 -1
  157. package/dist/objects/transport/rpc-server.js +18 -15
  158. package/dist/objects/transport/rpc-server.js.map +1 -1
  159. package/dist/objects/transport/shared.js +2 -1
  160. package/dist/objects/transport/shared.js.map +1 -1
  161. package/dist/snippets/artifacts-ingest.js.map +1 -1
  162. package/dist/snippets/artifacts-serve.js.map +1 -1
  163. package/dist/snippets/search.js.map +1 -1
  164. package/dist/workflows/ScheduleManager.js.map +1 -1
  165. package/dist/workflows/StepResultStorage.js.map +1 -1
  166. package/dist/workflows/WaitForEventManager.js.map +1 -1
  167. package/dist/workflows/compat/backends/cloudflare-workflows.js.map +1 -1
  168. package/dist/workflows/compat/inngest/index.js.map +1 -1
  169. package/dist/workflows/compat/qstash/index.js.map +1 -1
  170. package/dist/workflows/compat/temporal/client.js.map +1 -1
  171. package/dist/workflows/compat/temporal/index.js.map +1 -1
  172. package/dist/workflows/compat/trigger/index.js.map +1 -1
  173. package/dist/workflows/compat/utils/index.js.map +1 -1
  174. package/dist/workflows/context/correlation.js +2 -2
  175. package/dist/workflows/context/correlation.js.map +1 -1
  176. package/dist/workflows/context/experiment.js +1 -1
  177. package/dist/workflows/context/experiment.js.map +1 -1
  178. package/dist/workflows/context/flag.js +1 -1
  179. package/dist/workflows/context/flag.js.map +1 -1
  180. package/dist/workflows/context/measure.js +1 -1
  181. package/dist/workflows/context/measure.js.map +1 -1
  182. package/dist/workflows/context/rate-limit.js.map +1 -1
  183. package/dist/workflows/data/entity-events/entity-events.js.map +1 -1
  184. package/dist/workflows/data/experiment/index.js.map +1 -1
  185. package/dist/workflows/data/goal/context.js +1 -1
  186. package/dist/workflows/data/goal/context.js.map +1 -1
  187. package/dist/workflows/data/measure/index.js +1 -1
  188. package/dist/workflows/data/measure/index.js.map +1 -1
  189. package/dist/workflows/data/stream/index.js +10 -76
  190. package/dist/workflows/data/stream/index.js.map +1 -1
  191. package/dist/workflows/data/track/context.js.map +1 -1
  192. package/dist/workflows/data/view/context.js.map +1 -1
  193. package/dist/workflows/domain.js.map +1 -1
  194. package/dist/workflows/flags.js +1 -1
  195. package/dist/workflows/flags.js.map +1 -1
  196. package/dist/workflows/hash.js.map +1 -1
  197. package/dist/workflows/on.js +1 -1
  198. package/dist/workflows/on.js.map +1 -1
  199. package/dist/workflows/schedule-builder.js.map +1 -1
  200. package/dist/workflows/visibility/index.js +0 -2
  201. package/dist/workflows/visibility/index.js.map +1 -1
  202. package/dist/workflows/visibility/query-parser.js.map +1 -1
  203. package/package.json +18 -3
  204. package/dist/api/analytics/router.js +0 -601
  205. package/dist/api/analytics/router.js.map +0 -1
  206. package/dist/api/index.js +0 -158
  207. package/dist/api/index.js.map +0 -1
  208. package/dist/api/middleware/error-handling.js +0 -176
  209. package/dist/api/middleware/error-handling.js.map +0 -1
  210. package/dist/api/middleware/request-id.js +0 -21
  211. package/dist/api/middleware/request-id.js.map +0 -1
  212. package/dist/api/pages.js +0 -1180
  213. package/dist/api/pages.js.map +0 -1
  214. package/dist/api/routes/api.js +0 -612
  215. package/dist/api/routes/api.js.map +0 -1
  216. package/dist/api/routes/browsers.js +0 -471
  217. package/dist/api/routes/browsers.js.map +0 -1
  218. package/dist/api/routes/do.js +0 -188
  219. package/dist/api/routes/do.js.map +0 -1
  220. package/dist/api/routes/mcp.js +0 -459
  221. package/dist/api/routes/mcp.js.map +0 -1
  222. package/dist/api/routes/obs.js +0 -445
  223. package/dist/api/routes/obs.js.map +0 -1
  224. package/dist/api/routes/openapi.js +0 -794
  225. package/dist/api/routes/openapi.js.map +0 -1
  226. package/dist/api/routes/rpc.js +0 -1103
  227. package/dist/api/routes/rpc.js.map +0 -1
  228. package/dist/api/routes/sandboxes.js +0 -389
  229. package/dist/api/routes/sandboxes.js.map +0 -1
  230. package/dist/api/test-do.js +0 -38
  231. package/dist/api/test-do.js.map +0 -1
  232. package/dist/api/types.js +0 -11
  233. package/dist/api/types.js.map +0 -1
  234. package/dist/cli/bin.js +0 -2
  235. package/dist/cli/main.js +0 -52342
  236. package/dist/do/bash.js +0 -35
  237. package/dist/do/bash.js.map +0 -1
  238. package/dist/do/fs.js +0 -25
  239. package/dist/do/fs.js.map +0 -1
  240. package/dist/do/full.js +0 -61
  241. package/dist/do/full.js.map +0 -1
  242. package/dist/do/git.js +0 -28
  243. package/dist/do/git.js.map +0 -1
  244. package/dist/do/index.js +0 -52
  245. package/dist/do/index.js.map +0 -1
  246. package/dist/lib/agent/tools/bash.js +0 -336
  247. package/dist/lib/agent/tools/bash.js.map +0 -1
  248. package/dist/lib/agent/tools/edit.js +0 -157
  249. package/dist/lib/agent/tools/edit.js.map +0 -1
  250. package/dist/lib/agent/tools/glob.js +0 -137
  251. package/dist/lib/agent/tools/glob.js.map +0 -1
  252. package/dist/lib/agent/tools/grep.js +0 -315
  253. package/dist/lib/agent/tools/grep.js.map +0 -1
  254. package/dist/lib/agent/tools/index.js +0 -71
  255. package/dist/lib/agent/tools/index.js.map +0 -1
  256. package/dist/lib/agent/tools/read.js +0 -212
  257. package/dist/lib/agent/tools/read.js.map +0 -1
  258. package/dist/lib/agent/tools/types.js +0 -197
  259. package/dist/lib/agent/tools/types.js.map +0 -1
  260. package/dist/lib/agent/tools/write.js +0 -159
  261. package/dist/lib/agent/tools/write.js.map +0 -1
  262. package/dist/lib/mixins/index.js +0 -29
  263. package/dist/lib/mixins/index.js.map +0 -1
  264. package/dist/primitives/bashx/src/ast/analyze.js +0 -1472
  265. package/dist/primitives/bashx/src/ast/analyze.js.map +0 -1
  266. package/dist/primitives/bashx/src/ast/parser.js +0 -1488
  267. package/dist/primitives/bashx/src/ast/parser.js.map +0 -1
  268. package/dist/primitives/bashx/src/do/commands/crypto.js +0 -1954
  269. package/dist/primitives/bashx/src/do/commands/crypto.js.map +0 -1
  270. package/dist/primitives/bashx/src/do/commands/data-processing.js +0 -1812
  271. package/dist/primitives/bashx/src/do/commands/data-processing.js.map +0 -1
  272. package/dist/primitives/bashx/src/do/commands/extended-utils.js +0 -804
  273. package/dist/primitives/bashx/src/do/commands/extended-utils.js.map +0 -1
  274. package/dist/primitives/bashx/src/do/commands/math-control.js +0 -1122
  275. package/dist/primitives/bashx/src/do/commands/math-control.js.map +0 -1
  276. package/dist/primitives/bashx/src/do/commands/posix-utils.js +0 -1015
  277. package/dist/primitives/bashx/src/do/commands/posix-utils.js.map +0 -1
  278. package/dist/primitives/bashx/src/do/commands/system-utils.js +0 -687
  279. package/dist/primitives/bashx/src/do/commands/system-utils.js.map +0 -1
  280. package/dist/primitives/bashx/src/do/commands/test-command.js +0 -523
  281. package/dist/primitives/bashx/src/do/commands/test-command.js.map +0 -1
  282. package/dist/primitives/bashx/src/do/commands/text-processing.js +0 -1550
  283. package/dist/primitives/bashx/src/do/commands/text-processing.js.map +0 -1
  284. package/dist/primitives/bashx/src/do/container-executor.js +0 -429
  285. package/dist/primitives/bashx/src/do/container-executor.js.map +0 -1
  286. package/dist/primitives/bashx/src/do/index.js +0 -668
  287. package/dist/primitives/bashx/src/do/index.js.map +0 -1
  288. package/dist/primitives/bashx/src/do/tiered-executor.js +0 -2647
  289. package/dist/primitives/bashx/src/do/tiered-executor.js.map +0 -1
  290. package/dist/primitives/bashx/src/do/worker.js +0 -352
  291. package/dist/primitives/bashx/src/do/worker.js.map +0 -1
  292. package/dist/primitives/bashx/src/types.js +0 -10
  293. package/dist/primitives/bashx/src/types.js.map +0 -1
  294. package/dist/primitives/fsx/core/backend.js +0 -480
  295. package/dist/primitives/fsx/core/backend.js.map +0 -1
  296. package/dist/primitives/fsx/core/constants.js +0 -140
  297. package/dist/primitives/fsx/core/constants.js.map +0 -1
  298. package/dist/primitives/fsx/core/fsx.js +0 -1184
  299. package/dist/primitives/fsx/core/fsx.js.map +0 -1
  300. package/dist/primitives/fsx/core/glob/glob.js +0 -438
  301. package/dist/primitives/fsx/core/glob/glob.js.map +0 -1
  302. package/dist/primitives/fsx/core/glob/index.js +0 -8
  303. package/dist/primitives/fsx/core/glob/index.js.map +0 -1
  304. package/dist/primitives/fsx/core/glob/match.js +0 -392
  305. package/dist/primitives/fsx/core/glob/match.js.map +0 -1
  306. package/dist/primitives/fsx/core/types.js +0 -307
  307. package/dist/primitives/fsx/core/types.js.map +0 -1
  308. package/dist/sdk/capnweb-compat.js +0 -42
  309. package/dist/sdk/capnweb-compat.js.map +0 -1
  310. package/dist/sdk/client.js +0 -20
  311. package/dist/sdk/client.js.map +0 -1
  312. package/dist/sdk/index.js +0 -17
  313. package/dist/sdk/index.js.map +0 -1
package/dist/do/bash.js DELETED
@@ -1,35 +0,0 @@
1
- /**
2
- * dotdo/bash - DO with Bash Capability
3
- *
4
- * Exports a DO class with filesystem and shell operations via $.fs and $.bash
5
- *
6
- * @example
7
- * ```typescript
8
- * import { DO } from 'dotdo/bash'
9
- *
10
- * class MyDO extends DO {
11
- * async runTests() {
12
- * const result = await this.$.bash.exec('npm test')
13
- * if (result.exitCode !== 0) {
14
- * throw new Error(`Tests failed: ${result.stderr}`)
15
- * }
16
- * return result.stdout
17
- * }
18
- * }
19
- * ```
20
- */
21
- import { DO as BaseDO } from '../objects/DO';
22
- import { withFs } from '../lib/mixins/fs';
23
- import { withBash } from '../lib/mixins/bash';
24
- // TODO: Configure executor and fs properly - these are placeholders
25
- export const DO = withBash(withFs(BaseDO), {
26
- executor: () => {
27
- throw new Error('Bash executor not configured - provide executor in withBash options');
28
- }
29
- });
30
- /**
31
- * Capabilities included in this entry point
32
- */
33
- export const capabilities = ['fs', 'bash'];
34
- export { withFs, withBash };
35
- //# sourceMappingURL=bash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../do/bash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,oEAAoE;AACpE,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;IACzC,QAAQ,EAAE,GAAG,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAA;IACxF,CAAC;CACF,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAE1C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA"}
package/dist/do/fs.js DELETED
@@ -1,25 +0,0 @@
1
- /**
2
- * dotdo/fs - DO with Filesystem Capability
3
- *
4
- * Exports a DO class with filesystem operations via $.fs
5
- *
6
- * @example
7
- * ```typescript
8
- * import { DO } from 'dotdo/fs'
9
- *
10
- * class MyDO extends DO {
11
- * async readConfig() {
12
- * return this.$.fs.read('/config.json')
13
- * }
14
- * }
15
- * ```
16
- */
17
- import { DO as BaseDO } from '../objects/DO';
18
- import { withFs } from '../lib/mixins/fs';
19
- export const DO = withFs(BaseDO);
20
- /**
21
- * Capabilities included in this entry point
22
- */
23
- export const capabilities = ['fs'];
24
- export { withFs };
25
- //# sourceMappingURL=fs.js.map
package/dist/do/fs.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../do/fs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,CAAA;AAElC,OAAO,EAAE,MAAM,EAAE,CAAA"}
package/dist/do/full.js DELETED
@@ -1,61 +0,0 @@
1
- /**
2
- * dotdo/full - DO with All Capabilities
3
- *
4
- * Exports a DO class (~120KB) with all available capabilities:
5
- * - WorkflowContext ($) with event handlers, scheduling
6
- * - Stores (things, rels, actions, events, search, objects, dlq)
7
- * - Lifecycle (fork, clone, compact, move)
8
- * - Sharding (shard, unshard, routing)
9
- * - Branching (branch, checkout, merge)
10
- * - Promotion (promote, demote)
11
- * - $.fs - Filesystem operations
12
- * - $.git - Git version control
13
- * - $.bash - Shell execution
14
- *
15
- * Note: The bash capability uses a stub executor by default.
16
- * Override by providing a custom executor in your subclass.
17
- *
18
- * @example
19
- * ```typescript
20
- * import { DO } from 'dotdo/full'
21
- *
22
- * class MyDO extends DO {
23
- * async deploy() {
24
- * await this.$.fs.write('/config.json', JSON.stringify(config))
25
- * await this.$.git.add('.')
26
- * await this.$.git.commit('chore: update config')
27
- * await this.$.git.push()
28
- * await this.$.bash.run('npm run deploy')
29
- * }
30
- *
31
- * async backup() {
32
- * // Full lifecycle operations available
33
- * await this.clone('https://backup.example.com.ai')
34
- * await this.branch('feature-x')
35
- * }
36
- * }
37
- * ```
38
- */
39
- import { DO as BaseDO } from '../objects/DOFull';
40
- import { withFs, withGit, withBash } from '../lib/mixins';
41
- /**
42
- * Stub executor that throws when used.
43
- * Users should configure a real executor via environment bindings.
44
- */
45
- const stubExecutor = {
46
- async execute(command, options) {
47
- throw new Error(`Bash execution not configured. ` +
48
- `Attempted to run: ${command}\n` +
49
- `Configure a real executor (e.g., Cloudflare Container, RPC) in your DO class.`);
50
- }
51
- };
52
- const DOWithFsGit = withGit(withFs(BaseDO));
53
- export const DO = withBash(DOWithFsGit, {
54
- executor: () => stubExecutor
55
- });
56
- /**
57
- * Capabilities included in this entry point
58
- */
59
- export const capabilities = ['fs', 'git', 'bash'];
60
- export { withFs, withGit, withBash };
61
- //# sourceMappingURL=full.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"full.js","sourceRoot":"","sources":["../../do/full.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAwD,MAAM,eAAe,CAAA;AAE/G;;;GAGG;AACH,MAAM,YAAY,GAAiB;IACjC,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,OAAqB;QAClD,MAAM,IAAI,KAAK,CACb,iCAAiC;YACjC,qBAAqB,OAAO,IAAI;YAChC,+EAA+E,CAChF,CAAA;IACH,CAAC;CACF,CAAA;AAED,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;AAE3C,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE;IACtC,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY;CAC7B,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA"}
package/dist/do/git.js DELETED
@@ -1,28 +0,0 @@
1
- /**
2
- * dotdo/git - DO with Git Capability
3
- *
4
- * Exports a DO class with filesystem and git operations via $.fs and $.git
5
- *
6
- * @example
7
- * ```typescript
8
- * import { DO } from 'dotdo/git'
9
- *
10
- * class MyDO extends DO {
11
- * async commitChanges() {
12
- * await this.$.git.add('.')
13
- * await this.$.git.commit('feat: add feature')
14
- * await this.$.git.push()
15
- * }
16
- * }
17
- * ```
18
- */
19
- import { DO as BaseDO } from '../objects/DO';
20
- import { withFs } from '../lib/mixins/fs';
21
- import { withGit } from '../lib/mixins/git';
22
- export const DO = withGit(withFs(BaseDO));
23
- /**
24
- * Capabilities included in this entry point
25
- */
26
- export const capabilities = ['fs', 'git'];
27
- export { withFs, withGit };
28
- //# sourceMappingURL=git.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../do/git.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE3C,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAEzC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA"}
package/dist/do/index.js DELETED
@@ -1,52 +0,0 @@
1
- /**
2
- * dotdo - Durable Object Framework
3
- *
4
- * A comprehensive framework for building applications with Cloudflare Durable Objects.
5
- *
6
- * ## DO Class Hierarchy
7
- *
8
- * ```
9
- * DOTiny (~15KB) - Identity, db, fetch, toJSON
10
- * |
11
- * v
12
- * DO (~80KB) - + WorkflowContext, stores, events, scheduling
13
- * |
14
- * v
15
- * DOFull (~120KB) - + Lifecycle, sharding, branching, promotion
16
- * ```
17
- *
18
- * ## Entry Points (by size)
19
- *
20
- * - `dotdo/tiny` - Minimal DO (DOTiny, ~15KB)
21
- * - `dotdo/base` - Core DO with workflow context (DO, ~80KB)
22
- * - `dotdo` - Full DO with fs/git/bash mixins (DOFull + mixins)
23
- * - `dotdo/full` - Same as default (all capabilities)
24
- *
25
- * @example
26
- * ```ts
27
- * // Full capabilities (default)
28
- * import { DO, Agent, Workflow } from 'dotdo'
29
- *
30
- * // Minimal footprint
31
- * import { DO } from 'dotdo/tiny'
32
- *
33
- * // Core without lifecycle ops
34
- * import { DO } from 'dotdo/base'
35
- * ```
36
- */
37
- // Re-export DO from full.ts (includes all capabilities)
38
- export { DO, capabilities, withFs, withGit, withBash } from './full';
39
- // Core Durable Object classes (excluding base DO which is overridden above)
40
- export { Agent, Human, Worker } from '../objects';
41
- export { Entity, Collection, Directory, Package, Product } from '../objects';
42
- export { Business, App, Site, SaaS } from '../objects';
43
- export { Workflow } from '../objects';
44
- export { Function } from '../objects';
45
- export { Service, API, SDK, CLI } from '../objects';
46
- // Type definitions
47
- export * from '../types';
48
- // Code snippets for common patterns
49
- export * from '../snippets';
50
- // Client SDK - $() function for Cap'n Web RPC
51
- export { $ } from '../sdk/index.js';
52
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../do/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,wDAAwD;AACxD,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEpE,4EAA4E;AAC5E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEnD,mBAAmB;AACnB,cAAc,UAAU,CAAA;AAExB,oCAAoC;AACpC,cAAc,aAAa,CAAA;AAE3B,8CAA8C;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA"}
@@ -1,336 +0,0 @@
1
- /**
2
- * Bash Tool Adapter
3
- *
4
- * Maps Claude SDK Bash tool to bashx.do tiered execution.
5
- * Includes AST-based safety analysis and tiered execution model.
6
- *
7
- * @module lib/agent/tools/bash
8
- */
9
- import { TimeoutError } from './types';
10
- /**
11
- * Default timeout for bash commands (2 minutes)
12
- */
13
- const DEFAULT_TIMEOUT = 120000;
14
- /**
15
- * Maximum timeout (10 minutes)
16
- */
17
- const MAX_TIMEOUT = 600000;
18
- /**
19
- * Dangerous commands that require confirmation
20
- */
21
- const DANGEROUS_COMMANDS = new Set([
22
- 'rm',
23
- 'rmdir',
24
- 'mv',
25
- 'dd',
26
- 'mkfs',
27
- 'fdisk',
28
- 'parted',
29
- 'mount',
30
- 'umount',
31
- 'chmod',
32
- 'chown',
33
- 'sudo',
34
- 'su',
35
- 'kill',
36
- 'killall',
37
- 'pkill',
38
- 'shutdown',
39
- 'reboot',
40
- 'halt',
41
- 'poweroff',
42
- 'init',
43
- ]);
44
- /**
45
- * Dangerous patterns that should be blocked or require confirmation
46
- */
47
- const DANGEROUS_PATTERNS = [
48
- /rm\s+(-[a-zA-Z]*r[a-zA-Z]*\s+)?(-[a-zA-Z]*f[a-zA-Z]*\s+)?\//, // rm -rf /
49
- /rm\s+(-[a-zA-Z]*f[a-zA-Z]*\s+)?(-[a-zA-Z]*r[a-zA-Z]*\s+)?\//, // rm -fr /
50
- />\s*\/dev\/sd[a-z]/, // write to disk device
51
- /dd\s+.*of=\/dev\//, // dd to device
52
- /mkfs/, // format filesystem
53
- /:\(\)\{\s*:\|:&\s*\};:/, // fork bomb
54
- /chmod\s+(-[a-zA-Z]*\s+)?777\s+\//, // chmod 777 /
55
- /curl.*\|\s*(ba)?sh/, // curl | sh
56
- /wget.*\|\s*(ba)?sh/, // wget | sh
57
- ];
58
- /**
59
- * Commands that map to Tier 1 (native fsx operations)
60
- */
61
- const TIER1_COMMANDS = new Set([
62
- 'cat',
63
- 'ls',
64
- 'head',
65
- 'tail',
66
- 'echo',
67
- 'printf',
68
- 'pwd',
69
- 'wc',
70
- 'stat',
71
- 'file',
72
- 'basename',
73
- 'dirname',
74
- 'realpath',
75
- 'readlink',
76
- 'test',
77
- '[',
78
- '[[',
79
- ]);
80
- /**
81
- * Commands that map to Tier 2 (RPC services)
82
- */
83
- const TIER2_COMMANDS = new Set([
84
- 'git',
85
- 'jq',
86
- 'yq',
87
- 'curl',
88
- 'wget',
89
- ]);
90
- /**
91
- * Commands that map to Tier 3 (dynamic npm loading)
92
- */
93
- const TIER3_COMMANDS = new Set([
94
- 'npm',
95
- 'npx',
96
- 'pnpm',
97
- 'yarn',
98
- 'node',
99
- 'tsx',
100
- 'ts-node',
101
- 'esbuild',
102
- 'tsc',
103
- ]);
104
- /**
105
- * Simple command parser to extract command name
106
- */
107
- function extractCommandName(command) {
108
- // Remove leading whitespace and environment variables
109
- const trimmed = command.trim();
110
- // Handle environment variable assignments at the start
111
- let cmd = trimmed;
112
- while (/^[A-Za-z_][A-Za-z0-9_]*=\S*\s+/.test(cmd)) {
113
- cmd = cmd.replace(/^[A-Za-z_][A-Za-z0-9_]*=\S*\s+/, '');
114
- }
115
- // Handle command substitution, subshells, etc.
116
- if (cmd.startsWith('(') || cmd.startsWith('$(') || cmd.startsWith('`')) {
117
- return null; // Complex command
118
- }
119
- // Extract the command name (first word)
120
- const match = cmd.match(/^([a-zA-Z_][a-zA-Z0-9_\-.]*)/);
121
- return match ? match[1] : null;
122
- }
123
- /**
124
- * Check if command is dangerous
125
- */
126
- function isDangerousCommand(command) {
127
- const cmdName = extractCommandName(command);
128
- // Check dangerous command names
129
- if (cmdName && DANGEROUS_COMMANDS.has(cmdName)) {
130
- return {
131
- dangerous: true,
132
- reason: `Command '${cmdName}' can modify system state and requires confirmation`,
133
- };
134
- }
135
- // Check dangerous patterns
136
- for (const pattern of DANGEROUS_PATTERNS) {
137
- if (pattern.test(command)) {
138
- return {
139
- dangerous: true,
140
- reason: 'Command matches a dangerous pattern and requires confirmation',
141
- };
142
- }
143
- }
144
- return { dangerous: false };
145
- }
146
- /**
147
- * Determine execution tier for a command
148
- */
149
- function determineExecutionTier(command) {
150
- const cmdName = extractCommandName(command);
151
- if (cmdName && TIER1_COMMANDS.has(cmdName)) {
152
- return 1;
153
- }
154
- if (cmdName && TIER2_COMMANDS.has(cmdName)) {
155
- return 2;
156
- }
157
- if (cmdName && TIER3_COMMANDS.has(cmdName)) {
158
- return 3;
159
- }
160
- // Default to sandbox for unknown commands
161
- return 4;
162
- }
163
- /**
164
- * Execute a Tier 1 command using fsx
165
- */
166
- async function executeTier1(command, context) {
167
- const { fs, cwd } = context;
168
- const cmdName = extractCommandName(command);
169
- // Parse the command for basic shell operations
170
- // This is a simplified implementation - full shell parsing would use bashx AST
171
- try {
172
- if (cmdName === 'cat') {
173
- // Extract file path from command
174
- const args = command.replace(/^cat\s+/, '').trim();
175
- const filePath = args.startsWith('/') ? args : `${cwd}/${args}`;
176
- const content = await fs.readFile(filePath);
177
- return { stdout: content, stderr: '', exit_code: 0 };
178
- }
179
- if (cmdName === 'ls') {
180
- const args = command.replace(/^ls\s*/, '').trim();
181
- const targetPath = args || cwd;
182
- const fullPath = targetPath.startsWith('/') ? targetPath : `${cwd}/${targetPath}`;
183
- const entries = await fs.readdir(fullPath);
184
- const entryNames = Array.isArray(entries)
185
- ? entries.map(e => typeof e === 'string' ? e : e.name)
186
- : entries;
187
- return { stdout: entryNames.join('\n'), stderr: '', exit_code: 0 };
188
- }
189
- if (cmdName === 'pwd') {
190
- return { stdout: cwd, stderr: '', exit_code: 0 };
191
- }
192
- if (cmdName === 'echo') {
193
- const args = command.replace(/^echo\s*/, '');
194
- return { stdout: args, stderr: '', exit_code: 0 };
195
- }
196
- // For other Tier 1 commands, fall through to a not implemented error
197
- throw new Error(`Tier 1 command '${cmdName}' not yet implemented`);
198
- }
199
- catch (error) {
200
- const err = error;
201
- return {
202
- stdout: '',
203
- stderr: err.message,
204
- exit_code: 1,
205
- };
206
- }
207
- }
208
- /**
209
- * Execute a command using the tiered executor
210
- */
211
- async function executeCommand(command, context, options) {
212
- const startTime = Date.now();
213
- // Check if command is dangerous
214
- const danger = isDangerousCommand(command);
215
- if (danger.dangerous && !options.confirm) {
216
- return {
217
- stdout: '',
218
- stderr: '',
219
- exit_code: 0,
220
- blocked: true,
221
- block_reason: danger.reason,
222
- duration_ms: Date.now() - startTime,
223
- };
224
- }
225
- // Determine execution tier
226
- const tier = determineExecutionTier(command);
227
- // If we have a bash executor, use it
228
- if (context.bash) {
229
- try {
230
- const result = await context.bash.exec(command, {
231
- timeout: options.timeout,
232
- cwd: options.cwd || context.cwd,
233
- });
234
- return {
235
- stdout: result.stdout,
236
- stderr: result.stderr,
237
- exit_code: result.exitCode,
238
- tier,
239
- duration_ms: Date.now() - startTime,
240
- };
241
- }
242
- catch (error) {
243
- const err = error;
244
- if (err.message.includes('timeout')) {
245
- throw new TimeoutError(command, options.timeout);
246
- }
247
- throw error;
248
- }
249
- }
250
- // Otherwise, try Tier 1 execution
251
- if (tier === 1) {
252
- try {
253
- const result = await executeTier1(command, context);
254
- return {
255
- ...result,
256
- tier: 1,
257
- duration_ms: Date.now() - startTime,
258
- };
259
- }
260
- catch (error) {
261
- // Fall through to error handling
262
- }
263
- }
264
- // No executor available
265
- return {
266
- stdout: '',
267
- stderr: `No bash executor available for tier ${tier} command: ${command}`,
268
- exit_code: 127,
269
- tier,
270
- duration_ms: Date.now() - startTime,
271
- };
272
- }
273
- /**
274
- * Bash Tool Adapter
275
- *
276
- * Executes bash commands with AST-based safety analysis and tiered execution.
277
- * Tiers:
278
- * - Tier 1: Native (cat/ls via fsx) - <1ms
279
- * - Tier 2: RPC (git/jq) - <5ms
280
- * - Tier 3: Loader (npm via esm.sh) - <10ms
281
- * - Tier 4: Sandbox (fallback) - 2-3s cold
282
- */
283
- export class BashToolAdapter {
284
- name = 'Bash';
285
- description = `Executes a given bash command in a persistent shell session with optional timeout.
286
-
287
- IMPORTANT: This tool is for terminal operations like git, npm, docker, etc. DO NOT use it for file operations (reading, writing, editing, searching, finding files) - use the specialized tools for this instead.
288
-
289
- Usage notes:
290
- - The command argument is required.
291
- - You can specify an optional timeout in milliseconds (up to 600000ms / 10 minutes). If not specified, commands will timeout after 120000ms (2 minutes).
292
- - If the output exceeds 30000 characters, output will be truncated.`;
293
- inputSchema = {
294
- type: 'object',
295
- properties: {
296
- command: {
297
- type: 'string',
298
- description: 'The command to execute',
299
- },
300
- timeout: {
301
- type: 'number',
302
- description: 'Optional timeout in milliseconds (max 600000)',
303
- },
304
- cwd: {
305
- type: 'string',
306
- description: 'Working directory for the command',
307
- },
308
- confirm: {
309
- type: 'boolean',
310
- description: 'Confirm execution of dangerous commands',
311
- },
312
- run_in_background: {
313
- type: 'boolean',
314
- description: 'Run the command in the background',
315
- },
316
- description: {
317
- type: 'string',
318
- description: 'Clear, concise description of what this command does',
319
- },
320
- },
321
- required: ['command'],
322
- additionalProperties: false,
323
- };
324
- async execute(input, context) {
325
- const { command, timeout = DEFAULT_TIMEOUT, cwd, confirm = false, } = input;
326
- // Validate timeout
327
- const effectiveTimeout = Math.min(Math.max(timeout, 0), MAX_TIMEOUT);
328
- // Execute command
329
- return executeCommand(command, context, {
330
- timeout: effectiveTimeout,
331
- cwd,
332
- confirm,
333
- });
334
- }
335
- }
336
- //# sourceMappingURL=bash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../../../lib/agent/tools/bash.ts"],"names":[],"mappings":"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"}