dotdo 0.0.1 → 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 (667) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +446 -315
  3. package/cli/README.md +238 -0
  4. package/cli/agent.ts +72 -0
  5. package/cli/bin.js +44 -0
  6. package/cli/bin.ts +38 -0
  7. package/cli/build.ts +157 -0
  8. package/cli/commands/auth/login.ts +14 -0
  9. package/cli/commands/auth/logout.ts +6 -0
  10. package/cli/commands/auth/whoami.ts +16 -0
  11. package/cli/commands/deploy-multi.ts +245 -0
  12. package/cli/commands/dev/deploy.ts +100 -0
  13. package/cli/commands/dev/dev.ts +95 -0
  14. package/cli/commands/dev/logs.ts +91 -0
  15. package/cli/commands/dev-local.ts +88 -0
  16. package/cli/commands/do-ops.ts +314 -0
  17. package/cli/commands/index.ts +100 -0
  18. package/cli/commands/init.ts +247 -0
  19. package/cli/commands/introspect/emitter.ts +315 -0
  20. package/cli/commands/introspect/index.ts +193 -0
  21. package/cli/commands/link.ts +598 -0
  22. package/cli/commands/snippets.ts +415 -0
  23. package/cli/commands/tunnel.ts +239 -0
  24. package/cli/device-auth.ts +289 -0
  25. package/cli/fallback.ts +12 -0
  26. package/cli/index.ts +121 -0
  27. package/cli/main.ts +246 -0
  28. package/cli/mcp-stdio.ts +790 -0
  29. package/cli/package.json +62 -0
  30. package/cli/runtime/do-registry.ts +193 -0
  31. package/cli/runtime/embedded-db.ts +344 -0
  32. package/cli/runtime/index.ts +9 -0
  33. package/cli/runtime/miniflare-adapter.ts +162 -0
  34. package/cli/sandbox.ts +82 -0
  35. package/cli/src/args.ts +174 -0
  36. package/cli/src/auth.ts +55 -0
  37. package/cli/src/commands/call.ts +84 -0
  38. package/cli/src/commands/charge.ts +96 -0
  39. package/cli/src/commands/config.ts +115 -0
  40. package/cli/src/commands/email.ts +112 -0
  41. package/cli/src/commands/llm.ts +115 -0
  42. package/cli/src/commands/queue.ts +134 -0
  43. package/cli/src/commands/text.ts +86 -0
  44. package/cli/src/config.ts +185 -0
  45. package/cli/src/output.ts +246 -0
  46. package/cli/src/rpc.ts +192 -0
  47. package/cli/utils/config.ts +282 -0
  48. package/cli/utils/detect.ts +73 -0
  49. package/cli/utils/index.ts +15 -0
  50. package/cli/utils/logger.ts +232 -0
  51. package/dist/ai/index.js +19 -0
  52. package/dist/ai/index.js.map +1 -0
  53. package/dist/ai/template-literals.js +852 -0
  54. package/dist/ai/template-literals.js.map +1 -0
  55. package/dist/api/middleware/auth-federation.js +573 -0
  56. package/dist/api/middleware/auth-federation.js.map +1 -0
  57. package/dist/api/middleware/auth.js +545 -0
  58. package/dist/api/middleware/auth.js.map +1 -0
  59. package/dist/db/actions.js +212 -0
  60. package/dist/db/actions.js.map +1 -0
  61. package/dist/db/auth.js +506 -0
  62. package/dist/db/auth.js.map +1 -0
  63. package/dist/db/branches.js +65 -0
  64. package/dist/db/branches.js.map +1 -0
  65. package/dist/db/clickhouse.js +1074 -0
  66. package/dist/db/clickhouse.js.map +1 -0
  67. package/dist/db/dlq.js +39 -0
  68. package/dist/db/dlq.js.map +1 -0
  69. package/dist/db/events.js +28 -0
  70. package/dist/db/events.js.map +1 -0
  71. package/dist/db/exec.js +64 -0
  72. package/dist/db/exec.js.map +1 -0
  73. package/dist/db/files.js +85 -0
  74. package/dist/db/files.js.map +1 -0
  75. package/dist/db/flags.js +24 -0
  76. package/dist/db/flags.js.map +1 -0
  77. package/dist/db/git.js +116 -0
  78. package/dist/db/git.js.map +1 -0
  79. package/dist/db/iceberg/inverted-index.js +862 -0
  80. package/dist/db/iceberg/inverted-index.js.map +1 -0
  81. package/dist/db/iceberg/puffin.js +878 -0
  82. package/dist/db/iceberg/puffin.js.map +1 -0
  83. package/dist/db/iceberg/search-manifest.js +422 -0
  84. package/dist/db/iceberg/search-manifest.js.map +1 -0
  85. package/dist/db/iceberg/types.js +8 -0
  86. package/dist/db/iceberg/types.js.map +1 -0
  87. package/dist/db/index.js +121 -0
  88. package/dist/db/index.js.map +1 -0
  89. package/dist/db/integrations.js +368 -0
  90. package/dist/db/integrations.js.map +1 -0
  91. package/dist/db/json-indexes.js +332 -0
  92. package/dist/db/json-indexes.js.map +1 -0
  93. package/dist/db/linked-accounts.js +287 -0
  94. package/dist/db/linked-accounts.js.map +1 -0
  95. package/dist/db/nouns.js +183 -0
  96. package/dist/db/nouns.js.map +1 -0
  97. package/dist/db/objects.js +170 -0
  98. package/dist/db/objects.js.map +1 -0
  99. package/dist/db/primitives/dag-scheduler/index.js +869 -0
  100. package/dist/db/primitives/dag-scheduler/index.js.map +1 -0
  101. package/dist/db/primitives/exactly-once-context.js +237 -0
  102. package/dist/db/primitives/exactly-once-context.js.map +1 -0
  103. package/dist/db/primitives/index.js +62 -0
  104. package/dist/db/primitives/index.js.map +1 -0
  105. package/dist/db/primitives/keyed-router.js +145 -0
  106. package/dist/db/primitives/keyed-router.js.map +1 -0
  107. package/dist/db/primitives/observability.js +162 -0
  108. package/dist/db/primitives/observability.js.map +1 -0
  109. package/dist/db/primitives/schema-evolution.js +643 -0
  110. package/dist/db/primitives/schema-evolution.js.map +1 -0
  111. package/dist/db/primitives/stateful-operator/index.js +770 -0
  112. package/dist/db/primitives/stateful-operator/index.js.map +1 -0
  113. package/dist/db/primitives/temporal-store.js +306 -0
  114. package/dist/db/primitives/temporal-store.js.map +1 -0
  115. package/dist/db/primitives/typed-column-store.js +1229 -0
  116. package/dist/db/primitives/typed-column-store.js.map +1 -0
  117. package/dist/db/primitives/utils/duration.js +162 -0
  118. package/dist/db/primitives/utils/duration.js.map +1 -0
  119. package/dist/db/primitives/utils/murmur3.js +116 -0
  120. package/dist/db/primitives/utils/murmur3.js.map +1 -0
  121. package/dist/db/primitives/watermark-service.js +136 -0
  122. package/dist/db/primitives/watermark-service.js.map +1 -0
  123. package/dist/db/primitives/window-manager.js +764 -0
  124. package/dist/db/primitives/window-manager.js.map +1 -0
  125. package/dist/db/relationships.js +66 -0
  126. package/dist/db/relationships.js.map +1 -0
  127. package/dist/db/schema-minimal.js +61 -0
  128. package/dist/db/schema-minimal.js.map +1 -0
  129. package/dist/db/search.js +28 -0
  130. package/dist/db/search.js.map +1 -0
  131. package/dist/db/stores.js +1665 -0
  132. package/dist/db/stores.js.map +1 -0
  133. package/dist/db/things.js +297 -0
  134. package/dist/db/things.js.map +1 -0
  135. package/dist/db/vault.js +171 -0
  136. package/dist/db/vault.js.map +1 -0
  137. package/dist/db/verbs.js +102 -0
  138. package/dist/db/verbs.js.map +1 -0
  139. package/dist/do/base.js +48 -0
  140. package/dist/do/base.js.map +1 -0
  141. package/dist/do/tiny.js +31 -0
  142. package/dist/do/tiny.js.map +1 -0
  143. package/dist/lib/DOAuth.js +261 -0
  144. package/dist/lib/DOAuth.js.map +1 -0
  145. package/dist/lib/DODispatcher.js +72 -0
  146. package/dist/lib/DODispatcher.js.map +1 -0
  147. package/dist/lib/Modifier.js +189 -0
  148. package/dist/lib/Modifier.js.map +1 -0
  149. package/dist/lib/StateStorage.js +403 -0
  150. package/dist/lib/StateStorage.js.map +1 -0
  151. package/dist/lib/TypeRegistry.js +122 -0
  152. package/dist/lib/TypeRegistry.js.map +1 -0
  153. package/dist/lib/ai/gateway.js +247 -0
  154. package/dist/lib/ai/gateway.js.map +1 -0
  155. package/dist/lib/ai/tool-loop-agent.js +591 -0
  156. package/dist/lib/ai/tool-loop-agent.js.map +1 -0
  157. package/dist/lib/auto-wiring.js +439 -0
  158. package/dist/lib/auto-wiring.js.map +1 -0
  159. package/dist/lib/browse/browserbase.js +163 -0
  160. package/dist/lib/browse/browserbase.js.map +1 -0
  161. package/dist/lib/browse/cloudflare.js +144 -0
  162. package/dist/lib/browse/cloudflare.js.map +1 -0
  163. package/dist/lib/browse/index.js +62 -0
  164. package/dist/lib/browse/index.js.map +1 -0
  165. package/dist/lib/browse/types.js +13 -0
  166. package/dist/lib/browse/types.js.map +1 -0
  167. package/dist/lib/cache/index.js +37 -0
  168. package/dist/lib/cache/index.js.map +1 -0
  169. package/dist/lib/cache/visibility.js +638 -0
  170. package/dist/lib/cache/visibility.js.map +1 -0
  171. package/dist/lib/capabilities.js +268 -0
  172. package/dist/lib/capabilities.js.map +1 -0
  173. package/dist/lib/channels/base.js +106 -0
  174. package/dist/lib/channels/base.js.map +1 -0
  175. package/dist/lib/channels/discord.js +94 -0
  176. package/dist/lib/channels/discord.js.map +1 -0
  177. package/dist/lib/channels/email.js +204 -0
  178. package/dist/lib/channels/email.js.map +1 -0
  179. package/dist/lib/channels/index.js +90 -0
  180. package/dist/lib/channels/index.js.map +1 -0
  181. package/dist/lib/channels/mdxui-chat.js +95 -0
  182. package/dist/lib/channels/mdxui-chat.js.map +1 -0
  183. package/dist/lib/channels/slack-blockkit.js +121 -0
  184. package/dist/lib/channels/slack-blockkit.js.map +1 -0
  185. package/dist/lib/channels/types.js +7 -0
  186. package/dist/lib/channels/types.js.map +1 -0
  187. package/dist/lib/cloudflare/ai.js +654 -0
  188. package/dist/lib/cloudflare/ai.js.map +1 -0
  189. package/dist/lib/cloudflare/index.js +88 -0
  190. package/dist/lib/cloudflare/index.js.map +1 -0
  191. package/dist/lib/cloudflare/kv.js +342 -0
  192. package/dist/lib/cloudflare/kv.js.map +1 -0
  193. package/dist/lib/cloudflare/queues.js +434 -0
  194. package/dist/lib/cloudflare/queues.js.map +1 -0
  195. package/dist/lib/cloudflare/r2.js +604 -0
  196. package/dist/lib/cloudflare/r2.js.map +1 -0
  197. package/dist/lib/cloudflare/vectorize.js +494 -0
  198. package/dist/lib/cloudflare/vectorize.js.map +1 -0
  199. package/dist/lib/cloudflare/workflows.js +569 -0
  200. package/dist/lib/cloudflare/workflows.js.map +1 -0
  201. package/dist/lib/colo/caching.js +196 -0
  202. package/dist/lib/colo/caching.js.map +1 -0
  203. package/dist/lib/colo/detection.js +194 -0
  204. package/dist/lib/colo/detection.js.map +1 -0
  205. package/dist/lib/colo/external-data.js +219 -0
  206. package/dist/lib/colo/external-data.js.map +1 -0
  207. package/dist/lib/colo/globe-data.js +179 -0
  208. package/dist/lib/colo/globe-data.js.map +1 -0
  209. package/dist/lib/colo/index.js +16 -0
  210. package/dist/lib/colo/index.js.map +1 -0
  211. package/dist/lib/decorators.js +37 -0
  212. package/dist/lib/decorators.js.map +1 -0
  213. package/dist/lib/discovery.js +81 -0
  214. package/dist/lib/discovery.js.map +1 -0
  215. package/dist/lib/executors/AgenticFunctionExecutor.js +619 -0
  216. package/dist/lib/executors/AgenticFunctionExecutor.js.map +1 -0
  217. package/dist/lib/executors/BaseFunctionExecutor.js +328 -0
  218. package/dist/lib/executors/BaseFunctionExecutor.js.map +1 -0
  219. package/dist/lib/executors/CascadeExecutor.js +418 -0
  220. package/dist/lib/executors/CascadeExecutor.js.map +1 -0
  221. package/dist/lib/executors/CodeFunctionExecutor.js +904 -0
  222. package/dist/lib/executors/CodeFunctionExecutor.js.map +1 -0
  223. package/dist/lib/executors/GenerativeFunctionExecutor.js +904 -0
  224. package/dist/lib/executors/GenerativeFunctionExecutor.js.map +1 -0
  225. package/dist/lib/executors/HumanFunctionExecutor.js +884 -0
  226. package/dist/lib/executors/HumanFunctionExecutor.js.map +1 -0
  227. package/dist/lib/executors/ParallelStepExecutor.js +308 -0
  228. package/dist/lib/executors/ParallelStepExecutor.js.map +1 -0
  229. package/dist/lib/executors/types.js +12 -0
  230. package/dist/lib/executors/types.js.map +1 -0
  231. package/dist/lib/experiments.js +89 -0
  232. package/dist/lib/experiments.js.map +1 -0
  233. package/dist/lib/flags/store.js +262 -0
  234. package/dist/lib/flags/store.js.map +1 -0
  235. package/dist/lib/functions/FunctionComposition.js +467 -0
  236. package/dist/lib/functions/FunctionComposition.js.map +1 -0
  237. package/dist/lib/functions/FunctionMiddleware.js +457 -0
  238. package/dist/lib/functions/FunctionMiddleware.js.map +1 -0
  239. package/dist/lib/functions/FunctionRegistry.js +426 -0
  240. package/dist/lib/functions/FunctionRegistry.js.map +1 -0
  241. package/dist/lib/functions/createFunction.js +1048 -0
  242. package/dist/lib/functions/createFunction.js.map +1 -0
  243. package/dist/lib/humans/index.js +68 -0
  244. package/dist/lib/humans/index.js.map +1 -0
  245. package/dist/lib/humans/templates.js +117 -0
  246. package/dist/lib/humans/templates.js.map +1 -0
  247. package/dist/lib/identity.js +98 -0
  248. package/dist/lib/identity.js.map +1 -0
  249. package/dist/lib/index.js +9 -0
  250. package/dist/lib/index.js.map +1 -0
  251. package/dist/lib/logging/error-logger.js +163 -0
  252. package/dist/lib/logging/error-logger.js.map +1 -0
  253. package/dist/lib/logging/index.js +160 -0
  254. package/dist/lib/logging/index.js.map +1 -0
  255. package/dist/lib/mixins/bash.js +753 -0
  256. package/dist/lib/mixins/bash.js.map +1 -0
  257. package/dist/lib/mixins/fs.js +648 -0
  258. package/dist/lib/mixins/fs.js.map +1 -0
  259. package/dist/lib/mixins/git.js +1006 -0
  260. package/dist/lib/mixins/git.js.map +1 -0
  261. package/dist/lib/mixins/npm.js +662 -0
  262. package/dist/lib/mixins/npm.js.map +1 -0
  263. package/dist/lib/noun-id.js +278 -0
  264. package/dist/lib/noun-id.js.map +1 -0
  265. package/dist/lib/rate-limit/sliding-window.js +148 -0
  266. package/dist/lib/rate-limit/sliding-window.js.map +1 -0
  267. package/dist/lib/rate-limit.js +110 -0
  268. package/dist/lib/rate-limit.js.map +1 -0
  269. package/dist/lib/rpc/bindings.js +548 -0
  270. package/dist/lib/rpc/bindings.js.map +1 -0
  271. package/dist/lib/rpc/index.js +64 -0
  272. package/dist/lib/rpc/index.js.map +1 -0
  273. package/dist/lib/safe-stringify.js +223 -0
  274. package/dist/lib/safe-stringify.js.map +1 -0
  275. package/dist/lib/sandbox/miniflare-sandbox.js +1007 -0
  276. package/dist/lib/sandbox/miniflare-sandbox.js.map +1 -0
  277. package/dist/lib/sqids.js +110 -0
  278. package/dist/lib/sqids.js.map +1 -0
  279. package/dist/lib/sql/adapters/index.js +10 -0
  280. package/dist/lib/sql/adapters/index.js.map +1 -0
  281. package/dist/lib/sql/adapters/node-sql-parser.js +552 -0
  282. package/dist/lib/sql/adapters/node-sql-parser.js.map +1 -0
  283. package/dist/lib/sql/adapters/pgsql-parser.js +1190 -0
  284. package/dist/lib/sql/adapters/pgsql-parser.js.map +1 -0
  285. package/dist/lib/sql/index.js +277 -0
  286. package/dist/lib/sql/index.js.map +1 -0
  287. package/dist/lib/sql/types.js +56 -0
  288. package/dist/lib/sql/types.js.map +1 -0
  289. package/dist/lib/type-classifier.js +126 -0
  290. package/dist/lib/type-classifier.js.map +1 -0
  291. package/dist/lib/utils/html.js +47 -0
  292. package/dist/lib/utils/html.js.map +1 -0
  293. package/dist/lib/validation.js +48 -0
  294. package/dist/lib/validation.js.map +1 -0
  295. package/dist/lib/vault/store.js +411 -0
  296. package/dist/lib/vault/store.js.map +1 -0
  297. package/dist/metrics/hunch.js +739 -0
  298. package/dist/metrics/hunch.js.map +1 -0
  299. package/dist/objects/API.js +302 -0
  300. package/dist/objects/API.js.map +1 -0
  301. package/dist/objects/Agent.js +179 -0
  302. package/dist/objects/Agent.js.map +1 -0
  303. package/dist/objects/AgenticFunctionExecutor.js +8 -0
  304. package/dist/objects/AgenticFunctionExecutor.js.map +1 -0
  305. package/dist/objects/App.js +83 -0
  306. package/dist/objects/App.js.map +1 -0
  307. package/dist/objects/Browser.js +884 -0
  308. package/dist/objects/Browser.js.map +1 -0
  309. package/dist/objects/Business.js +107 -0
  310. package/dist/objects/Business.js.map +1 -0
  311. package/dist/objects/CLI.js +221 -0
  312. package/dist/objects/CLI.js.map +1 -0
  313. package/dist/objects/CodeFunctionExecutor.js +8 -0
  314. package/dist/objects/CodeFunctionExecutor.js.map +1 -0
  315. package/dist/objects/Collection.js +161 -0
  316. package/dist/objects/Collection.js.map +1 -0
  317. package/dist/objects/DO.js +41 -0
  318. package/dist/objects/DO.js.map +1 -0
  319. package/dist/objects/DOBase.js +2309 -0
  320. package/dist/objects/DOBase.js.map +1 -0
  321. package/dist/objects/DOCache.js +153 -0
  322. package/dist/objects/DOCache.js.map +1 -0
  323. package/dist/objects/DOFull.js +1676 -0
  324. package/dist/objects/DOFull.js.map +1 -0
  325. package/dist/objects/DOTiny.js +207 -0
  326. package/dist/objects/DOTiny.js.map +1 -0
  327. package/dist/objects/Directory.js +199 -0
  328. package/dist/objects/Directory.js.map +1 -0
  329. package/dist/objects/Entity.js +413 -0
  330. package/dist/objects/Entity.js.map +1 -0
  331. package/dist/objects/Function.js +116 -0
  332. package/dist/objects/Function.js.map +1 -0
  333. package/dist/objects/Human.js +231 -0
  334. package/dist/objects/Human.js.map +1 -0
  335. package/dist/objects/HumanFunctionExecutor.js +8 -0
  336. package/dist/objects/HumanFunctionExecutor.js.map +1 -0
  337. package/dist/objects/IcebergMetadataDO.js +938 -0
  338. package/dist/objects/IcebergMetadataDO.js.map +1 -0
  339. package/dist/objects/IntegrationsDO.js +1174 -0
  340. package/dist/objects/IntegrationsDO.js.map +1 -0
  341. package/dist/objects/ObservabilityBroadcaster.js +149 -0
  342. package/dist/objects/ObservabilityBroadcaster.js.map +1 -0
  343. package/dist/objects/Package.js +154 -0
  344. package/dist/objects/Package.js.map +1 -0
  345. package/dist/objects/Product.js +193 -0
  346. package/dist/objects/Product.js.map +1 -0
  347. package/dist/objects/SDK.js +152 -0
  348. package/dist/objects/SDK.js.map +1 -0
  349. package/dist/objects/SaaS.js +235 -0
  350. package/dist/objects/SaaS.js.map +1 -0
  351. package/dist/objects/SandboxDO.js +759 -0
  352. package/dist/objects/SandboxDO.js.map +1 -0
  353. package/dist/objects/Service.js +337 -0
  354. package/dist/objects/Service.js.map +1 -0
  355. package/dist/objects/Site.js +80 -0
  356. package/dist/objects/Site.js.map +1 -0
  357. package/dist/objects/Startup.js +479 -0
  358. package/dist/objects/Startup.js.map +1 -0
  359. package/dist/objects/ThingsDO.js +170 -0
  360. package/dist/objects/ThingsDO.js.map +1 -0
  361. package/dist/objects/VectorShardDO.js +650 -0
  362. package/dist/objects/VectorShardDO.js.map +1 -0
  363. package/dist/objects/Worker.js +144 -0
  364. package/dist/objects/Worker.js.map +1 -0
  365. package/dist/objects/Workflow.js +196 -0
  366. package/dist/objects/Workflow.js.map +1 -0
  367. package/dist/objects/WorkflowFactory.js +313 -0
  368. package/dist/objects/WorkflowFactory.js.map +1 -0
  369. package/dist/objects/WorkflowRuntime.js +863 -0
  370. package/dist/objects/WorkflowRuntime.js.map +1 -0
  371. package/dist/objects/circuit-breaker-bulkhead.js +178 -0
  372. package/dist/objects/circuit-breaker-bulkhead.js.map +1 -0
  373. package/dist/objects/createFunction.js +934 -0
  374. package/dist/objects/createFunction.js.map +1 -0
  375. package/dist/objects/index.js +80 -0
  376. package/dist/objects/index.js.map +1 -0
  377. package/dist/objects/lifecycle/Branch.js +275 -0
  378. package/dist/objects/lifecycle/Branch.js.map +1 -0
  379. package/dist/objects/lifecycle/Clone.js +1499 -0
  380. package/dist/objects/lifecycle/Clone.js.map +1 -0
  381. package/dist/objects/lifecycle/Compact.js +237 -0
  382. package/dist/objects/lifecycle/Compact.js.map +1 -0
  383. package/dist/objects/lifecycle/Promote.js +476 -0
  384. package/dist/objects/lifecycle/Promote.js.map +1 -0
  385. package/dist/objects/lifecycle/Shard.js +560 -0
  386. package/dist/objects/lifecycle/Shard.js.map +1 -0
  387. package/dist/objects/lifecycle/index.js +15 -0
  388. package/dist/objects/lifecycle/index.js.map +1 -0
  389. package/dist/objects/lifecycle/types.js +33 -0
  390. package/dist/objects/lifecycle/types.js.map +1 -0
  391. package/dist/objects/mixins/infrastructure.js +171 -0
  392. package/dist/objects/mixins/infrastructure.js.map +1 -0
  393. package/dist/objects/modules/StoresModule.js +153 -0
  394. package/dist/objects/modules/StoresModule.js.map +1 -0
  395. package/dist/objects/persistence/checkpoint-manager.js +606 -0
  396. package/dist/objects/persistence/checkpoint-manager.js.map +1 -0
  397. package/dist/objects/persistence/index.js +72 -0
  398. package/dist/objects/persistence/index.js.map +1 -0
  399. package/dist/objects/persistence/migration-runner.js +562 -0
  400. package/dist/objects/persistence/migration-runner.js.map +1 -0
  401. package/dist/objects/persistence/replication-manager.js +501 -0
  402. package/dist/objects/persistence/replication-manager.js.map +1 -0
  403. package/dist/objects/persistence/tiered-storage-manager.js +595 -0
  404. package/dist/objects/persistence/tiered-storage-manager.js.map +1 -0
  405. package/dist/objects/persistence/types.js +14 -0
  406. package/dist/objects/persistence/types.js.map +1 -0
  407. package/dist/objects/persistence/wal-manager.js +653 -0
  408. package/dist/objects/persistence/wal-manager.js.map +1 -0
  409. package/dist/objects/presets/index.js +20 -0
  410. package/dist/objects/presets/index.js.map +1 -0
  411. package/dist/objects/presets/primitives.js +188 -0
  412. package/dist/objects/presets/primitives.js.map +1 -0
  413. package/dist/objects/primitives/alarm-adapter.js +141 -0
  414. package/dist/objects/primitives/alarm-adapter.js.map +1 -0
  415. package/dist/objects/primitives/index.js +337 -0
  416. package/dist/objects/primitives/index.js.map +1 -0
  417. package/dist/objects/primitives/storage-adapter.js +182 -0
  418. package/dist/objects/primitives/storage-adapter.js.map +1 -0
  419. package/dist/objects/primitives/with-primitives.js +102 -0
  420. package/dist/objects/primitives/with-primitives.js.map +1 -0
  421. package/dist/objects/services/StoreManager.js +227 -0
  422. package/dist/objects/services/StoreManager.js.map +1 -0
  423. package/dist/objects/services/index.js +13 -0
  424. package/dist/objects/services/index.js.map +1 -0
  425. package/dist/objects/transport/auth-layer.js +1451 -0
  426. package/dist/objects/transport/auth-layer.js.map +1 -0
  427. package/dist/objects/transport/capnweb-target.js +355 -0
  428. package/dist/objects/transport/capnweb-target.js.map +1 -0
  429. package/dist/objects/transport/chain.js +441 -0
  430. package/dist/objects/transport/chain.js.map +1 -0
  431. package/dist/objects/transport/handler.js +58 -0
  432. package/dist/objects/transport/handler.js.map +1 -0
  433. package/dist/objects/transport/index.js +53 -0
  434. package/dist/objects/transport/index.js.map +1 -0
  435. package/dist/objects/transport/mcp-server.js +691 -0
  436. package/dist/objects/transport/mcp-server.js.map +1 -0
  437. package/dist/objects/transport/rest-autowire.js +1508 -0
  438. package/dist/objects/transport/rest-autowire.js.map +1 -0
  439. package/dist/objects/transport/rest-router.js +440 -0
  440. package/dist/objects/transport/rest-router.js.map +1 -0
  441. package/dist/objects/transport/rpc-server.js +1539 -0
  442. package/dist/objects/transport/rpc-server.js.map +1 -0
  443. package/dist/objects/transport/shared.js +576 -0
  444. package/dist/objects/transport/shared.js.map +1 -0
  445. package/dist/objects/transport/sync-engine.js +291 -0
  446. package/dist/objects/transport/sync-engine.js.map +1 -0
  447. package/dist/objects/transport/types.js +8 -0
  448. package/dist/objects/transport/types.js.map +1 -0
  449. package/dist/sandbox/index.js +258 -0
  450. package/dist/sandbox/index.js.map +1 -0
  451. package/dist/snippets/artifacts-config.js +241 -0
  452. package/dist/snippets/artifacts-config.js.map +1 -0
  453. package/dist/snippets/artifacts-ingest.js +832 -0
  454. package/dist/snippets/artifacts-ingest.js.map +1 -0
  455. package/dist/snippets/artifacts-serve.js +1035 -0
  456. package/dist/snippets/artifacts-serve.js.map +1 -0
  457. package/dist/snippets/artifacts-types.js +161 -0
  458. package/dist/snippets/artifacts-types.js.map +1 -0
  459. package/dist/snippets/cache-probe.js +376 -0
  460. package/dist/snippets/cache-probe.js.map +1 -0
  461. package/dist/snippets/cache.js +10 -0
  462. package/dist/snippets/cache.js.map +1 -0
  463. package/dist/snippets/events.js +469 -0
  464. package/dist/snippets/events.js.map +1 -0
  465. package/dist/snippets/index.js +7 -0
  466. package/dist/snippets/index.js.map +1 -0
  467. package/dist/snippets/proxy.js +495 -0
  468. package/dist/snippets/proxy.js.map +1 -0
  469. package/dist/snippets/search.js +1759 -0
  470. package/dist/snippets/search.js.map +1 -0
  471. package/dist/streams/index.js +30 -0
  472. package/dist/streams/index.js.map +1 -0
  473. package/dist/streams/observability.js +68 -0
  474. package/dist/streams/observability.js.map +1 -0
  475. package/dist/types/AI.js +92 -0
  476. package/dist/types/AI.js.map +1 -0
  477. package/dist/types/AIFunction.js +171 -0
  478. package/dist/types/AIFunction.js.map +1 -0
  479. package/dist/types/BrowseVerb.js +89 -0
  480. package/dist/types/BrowseVerb.js.map +1 -0
  481. package/dist/types/Browser.js +31 -0
  482. package/dist/types/Browser.js.map +1 -0
  483. package/dist/types/Chaos.js +15 -0
  484. package/dist/types/Chaos.js.map +1 -0
  485. package/dist/types/CloudflareBindings.js +109 -0
  486. package/dist/types/CloudflareBindings.js.map +1 -0
  487. package/dist/types/Collection.js +50 -0
  488. package/dist/types/Collection.js.map +1 -0
  489. package/dist/types/DO.js +2 -0
  490. package/dist/types/DO.js.map +1 -0
  491. package/dist/types/DOLocation.js +63 -0
  492. package/dist/types/DOLocation.js.map +1 -0
  493. package/dist/types/EventHandler.js +57 -0
  494. package/dist/types/EventHandler.js.map +1 -0
  495. package/dist/types/Experiment.js +33 -0
  496. package/dist/types/Experiment.js.map +1 -0
  497. package/dist/types/Flag.js +57 -0
  498. package/dist/types/Flag.js.map +1 -0
  499. package/dist/types/Lifecycle.js +13 -0
  500. package/dist/types/Lifecycle.js.map +1 -0
  501. package/dist/types/Location.js +169 -0
  502. package/dist/types/Location.js.map +1 -0
  503. package/dist/types/Noun.js +66 -0
  504. package/dist/types/Noun.js.map +1 -0
  505. package/dist/types/SessionEvent.js +194 -0
  506. package/dist/types/SessionEvent.js.map +1 -0
  507. package/dist/types/Thing.js +55 -0
  508. package/dist/types/Thing.js.map +1 -0
  509. package/dist/types/ThingDO.js +153 -0
  510. package/dist/types/ThingDO.js.map +1 -0
  511. package/dist/types/Things.js +2 -0
  512. package/dist/types/Things.js.map +1 -0
  513. package/dist/types/Verb.js +119 -0
  514. package/dist/types/Verb.js.map +1 -0
  515. package/dist/types/WorkflowContext.js +70 -0
  516. package/dist/types/WorkflowContext.js.map +1 -0
  517. package/dist/types/analytics-api.js +13 -0
  518. package/dist/types/analytics-api.js.map +1 -0
  519. package/dist/types/capabilities.js +135 -0
  520. package/dist/types/capabilities.js.map +1 -0
  521. package/dist/types/drizzle.js +12 -0
  522. package/dist/types/drizzle.js.map +1 -0
  523. package/dist/types/event.js +201 -0
  524. package/dist/types/event.js.map +1 -0
  525. package/dist/types/fn.js +12 -0
  526. package/dist/types/fn.js.map +1 -0
  527. package/dist/types/iceberg.js +48 -0
  528. package/dist/types/iceberg.js.map +1 -0
  529. package/dist/types/ids.js +170 -0
  530. package/dist/types/ids.js.map +1 -0
  531. package/dist/types/index.js +41 -0
  532. package/dist/types/index.js.map +1 -0
  533. package/dist/types/introspect.js +54 -0
  534. package/dist/types/introspect.js.map +1 -0
  535. package/dist/types/observability.js +124 -0
  536. package/dist/types/observability.js.map +1 -0
  537. package/dist/types/sync-protocol.js +175 -0
  538. package/dist/types/sync-protocol.js.map +1 -0
  539. package/dist/types/vector.js +13 -0
  540. package/dist/types/vector.js.map +1 -0
  541. package/dist/workflows/ScheduleManager.js +473 -0
  542. package/dist/workflows/ScheduleManager.js.map +1 -0
  543. package/dist/workflows/StepDOBridge.js +149 -0
  544. package/dist/workflows/StepDOBridge.js.map +1 -0
  545. package/dist/workflows/StepResultStorage.js +232 -0
  546. package/dist/workflows/StepResultStorage.js.map +1 -0
  547. package/dist/workflows/WaitForEventManager.js +461 -0
  548. package/dist/workflows/WaitForEventManager.js.map +1 -0
  549. package/dist/workflows/analyzer.js +332 -0
  550. package/dist/workflows/analyzer.js.map +1 -0
  551. package/dist/workflows/compat/activity-router.js +484 -0
  552. package/dist/workflows/compat/activity-router.js.map +1 -0
  553. package/dist/workflows/compat/backends/cloudflare-workflows.js +431 -0
  554. package/dist/workflows/compat/backends/cloudflare-workflows.js.map +1 -0
  555. package/dist/workflows/compat/backends/index.js +14 -0
  556. package/dist/workflows/compat/backends/index.js.map +1 -0
  557. package/dist/workflows/compat/errors/index.js +375 -0
  558. package/dist/workflows/compat/errors/index.js.map +1 -0
  559. package/dist/workflows/compat/index.js +79 -0
  560. package/dist/workflows/compat/index.js.map +1 -0
  561. package/dist/workflows/compat/inngest/index.js +989 -0
  562. package/dist/workflows/compat/inngest/index.js.map +1 -0
  563. package/dist/workflows/compat/qstash/index.js +1263 -0
  564. package/dist/workflows/compat/qstash/index.js.map +1 -0
  565. package/dist/workflows/compat/temporal/activities.js +739 -0
  566. package/dist/workflows/compat/temporal/activities.js.map +1 -0
  567. package/dist/workflows/compat/temporal/child-workflows.js +154 -0
  568. package/dist/workflows/compat/temporal/child-workflows.js.map +1 -0
  569. package/dist/workflows/compat/temporal/client.js +381 -0
  570. package/dist/workflows/compat/temporal/client.js.map +1 -0
  571. package/dist/workflows/compat/temporal/context.js +309 -0
  572. package/dist/workflows/compat/temporal/context.js.map +1 -0
  573. package/dist/workflows/compat/temporal/determinism.js +216 -0
  574. package/dist/workflows/compat/temporal/determinism.js.map +1 -0
  575. package/dist/workflows/compat/temporal/errors.js +128 -0
  576. package/dist/workflows/compat/temporal/errors.js.map +1 -0
  577. package/dist/workflows/compat/temporal/index.js +2464 -0
  578. package/dist/workflows/compat/temporal/index.js.map +1 -0
  579. package/dist/workflows/compat/temporal/saga.js +504 -0
  580. package/dist/workflows/compat/temporal/saga.js.map +1 -0
  581. package/dist/workflows/compat/temporal/signals.js +364 -0
  582. package/dist/workflows/compat/temporal/signals.js.map +1 -0
  583. package/dist/workflows/compat/temporal/storage.js +271 -0
  584. package/dist/workflows/compat/temporal/storage.js.map +1 -0
  585. package/dist/workflows/compat/temporal/timers.js +347 -0
  586. package/dist/workflows/compat/temporal/timers.js.map +1 -0
  587. package/dist/workflows/compat/temporal/types.js +7 -0
  588. package/dist/workflows/compat/temporal/types.js.map +1 -0
  589. package/dist/workflows/compat/temporal/unified-primitives.js +339 -0
  590. package/dist/workflows/compat/temporal/unified-primitives.js.map +1 -0
  591. package/dist/workflows/compat/trigger/index.js +468 -0
  592. package/dist/workflows/compat/trigger/index.js.map +1 -0
  593. package/dist/workflows/compat/utils/index.js +69 -0
  594. package/dist/workflows/compat/utils/index.js.map +1 -0
  595. package/dist/workflows/context/correlation-capability.js +266 -0
  596. package/dist/workflows/context/correlation-capability.js.map +1 -0
  597. package/dist/workflows/context/correlation.js +484 -0
  598. package/dist/workflows/context/correlation.js.map +1 -0
  599. package/dist/workflows/context/experiment.js +289 -0
  600. package/dist/workflows/context/experiment.js.map +1 -0
  601. package/dist/workflows/context/flag.js +244 -0
  602. package/dist/workflows/context/flag.js.map +1 -0
  603. package/dist/workflows/context/foundation.js +648 -0
  604. package/dist/workflows/context/foundation.js.map +1 -0
  605. package/dist/workflows/context/human-base.js +106 -0
  606. package/dist/workflows/context/human-base.js.map +1 -0
  607. package/dist/workflows/context/human.js +368 -0
  608. package/dist/workflows/context/human.js.map +1 -0
  609. package/dist/workflows/context/measure.js +354 -0
  610. package/dist/workflows/context/measure.js.map +1 -0
  611. package/dist/workflows/context/rate-limit.js +358 -0
  612. package/dist/workflows/context/rate-limit.js.map +1 -0
  613. package/dist/workflows/context/user.js +117 -0
  614. package/dist/workflows/context/user.js.map +1 -0
  615. package/dist/workflows/context/vault.js +360 -0
  616. package/dist/workflows/context/vault.js.map +1 -0
  617. package/dist/workflows/data/entity-events/entity-events.js +489 -0
  618. package/dist/workflows/data/entity-events/entity-events.js.map +1 -0
  619. package/dist/workflows/data/experiment/index.js +599 -0
  620. package/dist/workflows/data/experiment/index.js.map +1 -0
  621. package/dist/workflows/data/goal/context.js +558 -0
  622. package/dist/workflows/data/goal/context.js.map +1 -0
  623. package/dist/workflows/data/goal/index.js +32 -0
  624. package/dist/workflows/data/goal/index.js.map +1 -0
  625. package/dist/workflows/data/measure/index.js +840 -0
  626. package/dist/workflows/data/measure/index.js.map +1 -0
  627. package/dist/workflows/data/stream/index.js +1149 -0
  628. package/dist/workflows/data/stream/index.js.map +1 -0
  629. package/dist/workflows/data/track/context.js +883 -0
  630. package/dist/workflows/data/track/context.js.map +1 -0
  631. package/dist/workflows/data/track/index.js +15 -0
  632. package/dist/workflows/data/track/index.js.map +1 -0
  633. package/dist/workflows/data/view/context.js +864 -0
  634. package/dist/workflows/data/view/context.js.map +1 -0
  635. package/dist/workflows/domain.js +93 -0
  636. package/dist/workflows/domain.js.map +1 -0
  637. package/dist/workflows/flag.js +176 -0
  638. package/dist/workflows/flag.js.map +1 -0
  639. package/dist/workflows/flags.js +217 -0
  640. package/dist/workflows/flags.js.map +1 -0
  641. package/dist/workflows/hash.js +209 -0
  642. package/dist/workflows/hash.js.map +1 -0
  643. package/dist/workflows/index.js +50 -0
  644. package/dist/workflows/index.js.map +1 -0
  645. package/dist/workflows/on.js +378 -0
  646. package/dist/workflows/on.js.map +1 -0
  647. package/dist/workflows/pipeline-promise.js +481 -0
  648. package/dist/workflows/pipeline-promise.js.map +1 -0
  649. package/dist/workflows/pipeline-types.js +20 -0
  650. package/dist/workflows/pipeline-types.js.map +1 -0
  651. package/dist/workflows/proxy.js +76 -0
  652. package/dist/workflows/proxy.js.map +1 -0
  653. package/dist/workflows/runtime.js +310 -0
  654. package/dist/workflows/runtime.js.map +1 -0
  655. package/dist/workflows/schedule-builder.js +327 -0
  656. package/dist/workflows/schedule-builder.js.map +1 -0
  657. package/dist/workflows/visibility/index.js +146 -0
  658. package/dist/workflows/visibility/index.js.map +1 -0
  659. package/dist/workflows/visibility/query-parser.js +150 -0
  660. package/dist/workflows/visibility/query-parser.js.map +1 -0
  661. package/dist/workflows/visibility/store.js +223 -0
  662. package/dist/workflows/visibility/store.js.map +1 -0
  663. package/dist/workflows/visibility/types.js +30 -0
  664. package/dist/workflows/visibility/types.js.map +1 -0
  665. package/dist/workflows/workflow.js +53 -0
  666. package/dist/workflows/workflow.js.map +1 -0
  667. package/package.json +294 -46
@@ -0,0 +1,347 @@
1
+ /**
2
+ * Timers Module
3
+ *
4
+ * Timer management with coalescing optimization and cleanup.
5
+ * Includes sleep, createTimer, and cancelTimer functions.
6
+ */
7
+ import { WaitCancelledError } from '../../WaitForEventManager';
8
+ import { parseDuration } from '../utils';
9
+ import { getCurrentContext, getCurrentWorkflow, getCurrentStorageStrategy, generateTimerId, formatDurationForCF, generateSleepStepId, } from './context';
10
+ // ============================================================================
11
+ // TIMER STATE
12
+ // ============================================================================
13
+ // Timer tracking - global for cancel operations by ID
14
+ const activeTimers = new Map();
15
+ // Timer coalescing: Group timers that fire within the same 10ms window
16
+ const TIMER_COALESCE_WINDOW_MS = 10;
17
+ const coalescedTimerBuckets = new Map();
18
+ // Store bucket timeouts separately to avoid "cancelled leader" bug
19
+ // When the first timer in a bucket is cancelled, other timers still need the timeout
20
+ const bucketTimeouts = new Map();
21
+ // Periodic cleanup for stale timer buckets (memory leak prevention)
22
+ // Timers are considered stale if they haven't fired 5 minutes past their expected time
23
+ const TIMER_STALE_THRESHOLD_MS = 5 * 60 * 1000; // 5 minutes
24
+ const TIMER_CLEANUP_INTERVAL_MS = 5 * 60 * 1000; // Run cleanup every 5 minutes
25
+ let timerCleanupIntervalId = null;
26
+ // ============================================================================
27
+ // CLEANUP MANAGEMENT
28
+ // ============================================================================
29
+ // Track whether cleanup intervals have been auto-started.
30
+ // This enables lazy initialization - cleanup only starts when actually needed.
31
+ let cleanupStarted = false;
32
+ // Callbacks for workflow cleanup (set by client module to avoid circular deps)
33
+ let startWorkflowCleanupFn = null;
34
+ /**
35
+ * Set the workflow cleanup function (called by client module)
36
+ */
37
+ export function setWorkflowCleanupFn(fn) {
38
+ startWorkflowCleanupFn = fn;
39
+ }
40
+ /**
41
+ * Ensure cleanup intervals are started (lazy initialization).
42
+ *
43
+ * This function is called automatically when:
44
+ * - A workflow is started (WorkflowClient.start, startChild)
45
+ * - A timer is created (createTimer)
46
+ *
47
+ * This eliminates the need to manually call __startWorkflowCleanup() and
48
+ * __startTimerCleanup(), preventing memory leaks from accumulated workflows
49
+ * and timers even when the manual calls are forgotten.
50
+ *
51
+ * The cleanup intervals are idempotent - calling this multiple times is safe.
52
+ */
53
+ export function ensureCleanupStarted() {
54
+ if (cleanupStarted)
55
+ return;
56
+ cleanupStarted = true;
57
+ startWorkflowCleanupFn?.();
58
+ __startTimerCleanup();
59
+ }
60
+ /**
61
+ * Reset the cleanup started flag (for testing only).
62
+ * This allows tests to verify the lazy initialization behavior.
63
+ */
64
+ export function __resetCleanupStarted() {
65
+ cleanupStarted = false;
66
+ }
67
+ /**
68
+ * Check if cleanup has been auto-started (for testing only).
69
+ */
70
+ export function __isCleanupStarted() {
71
+ return cleanupStarted;
72
+ }
73
+ // ============================================================================
74
+ // TIMER CLEANUP
75
+ // ============================================================================
76
+ /**
77
+ * Clean up stale timer buckets that haven't fired.
78
+ * This handles cases where:
79
+ * - Workflows terminate without cancelling their timers
80
+ * - setTimeout fails to fire for some reason
81
+ * - Timers are orphaned due to errors
82
+ */
83
+ function cleanupStaleTimerBuckets() {
84
+ const now = Date.now();
85
+ const bucketsToDelete = [];
86
+ for (const [bucket, timers] of coalescedTimerBuckets) {
87
+ // Filter out stale timers from this bucket
88
+ const activeTimersInBucket = timers.filter((timer) => {
89
+ // Timer is stale if it's past its expected fire time + threshold
90
+ const isStale = timer.pending && now > timer.expectedFireAt + TIMER_STALE_THRESHOLD_MS;
91
+ if (isStale) {
92
+ // Clean up the stale timer
93
+ timer.pending = false;
94
+ activeTimers.delete(timer.id);
95
+ }
96
+ return !isStale;
97
+ });
98
+ if (activeTimersInBucket.length === 0) {
99
+ bucketsToDelete.push(bucket);
100
+ }
101
+ else if (activeTimersInBucket.length !== timers.length) {
102
+ // Update the bucket with only active timers
103
+ coalescedTimerBuckets.set(bucket, activeTimersInBucket);
104
+ }
105
+ }
106
+ // Delete empty buckets and their timeouts
107
+ for (const bucket of bucketsToDelete) {
108
+ coalescedTimerBuckets.delete(bucket);
109
+ const timeoutId = bucketTimeouts.get(bucket);
110
+ if (timeoutId) {
111
+ clearTimeout(timeoutId);
112
+ bucketTimeouts.delete(bucket);
113
+ }
114
+ }
115
+ }
116
+ /**
117
+ * Start the periodic timer cleanup (for production use).
118
+ * This should be called once when the module is loaded in a long-running process.
119
+ */
120
+ export function __startTimerCleanup() {
121
+ if (timerCleanupIntervalId === null) {
122
+ timerCleanupIntervalId = setInterval(cleanupStaleTimerBuckets, TIMER_CLEANUP_INTERVAL_MS);
123
+ // Unref the interval so it doesn't prevent process exit
124
+ if (typeof timerCleanupIntervalId === 'object' && 'unref' in timerCleanupIntervalId) {
125
+ timerCleanupIntervalId.unref();
126
+ }
127
+ }
128
+ }
129
+ /**
130
+ * Stop the periodic timer cleanup.
131
+ */
132
+ export function __stopTimerCleanup() {
133
+ if (timerCleanupIntervalId !== null) {
134
+ clearInterval(timerCleanupIntervalId);
135
+ timerCleanupIntervalId = null;
136
+ }
137
+ }
138
+ // ============================================================================
139
+ // CREATE TIMER
140
+ // ============================================================================
141
+ /**
142
+ * Create a cancellable timer with optional coalescing
143
+ *
144
+ * OPTIMIZATION: Timers firing within 10ms of each other are coalesced
145
+ * into a single setTimeout call, reducing system call overhead.
146
+ */
147
+ export function createTimer(duration) {
148
+ // Auto-start cleanup on first timer creation
149
+ ensureCleanupStarted();
150
+ const ms = parseDuration(duration);
151
+ const id = generateTimerId();
152
+ const now = Date.now();
153
+ let resolveTimer;
154
+ let rejectTimer;
155
+ const promise = new Promise((resolve, reject) => {
156
+ resolveTimer = resolve;
157
+ rejectTimer = reject;
158
+ });
159
+ const timerState = {
160
+ id,
161
+ pending: true,
162
+ resolve: resolveTimer,
163
+ reject: rejectTimer,
164
+ createdAt: now,
165
+ expectedFireAt: now + ms,
166
+ };
167
+ activeTimers.set(id, timerState);
168
+ // Calculate coalesce bucket (round to nearest TIMER_COALESCE_WINDOW_MS)
169
+ const bucket = Math.floor(ms / TIMER_COALESCE_WINDOW_MS) * TIMER_COALESCE_WINDOW_MS;
170
+ // Check if we can coalesce with an existing timer
171
+ const existingBucket = coalescedTimerBuckets.get(bucket);
172
+ if (existingBucket && existingBucket.length > 0) {
173
+ // Coalesce: add to existing bucket
174
+ existingBucket.push(timerState);
175
+ }
176
+ else {
177
+ // Create new bucket with single timer
178
+ const newBucket = [timerState];
179
+ coalescedTimerBuckets.set(bucket, newBucket);
180
+ // Set the actual timeout - stored on bucket, not individual timer
181
+ // This prevents the "cancelled leader" bug where cancelling the first timer
182
+ // in a bucket would leave other timers without a scheduled callback
183
+ const timeoutId = setTimeout(() => {
184
+ bucketTimeouts.delete(bucket);
185
+ // Fire all timers in this bucket
186
+ const timersToFire = coalescedTimerBuckets.get(bucket) || [];
187
+ coalescedTimerBuckets.delete(bucket);
188
+ for (const timer of timersToFire) {
189
+ if (timer.pending) {
190
+ timer.pending = false;
191
+ timer.resolve();
192
+ activeTimers.delete(timer.id);
193
+ const workflow = getCurrentWorkflow();
194
+ if (workflow) {
195
+ workflow.historyLength++;
196
+ }
197
+ }
198
+ }
199
+ }, ms);
200
+ bucketTimeouts.set(bucket, timeoutId);
201
+ }
202
+ // Create a TimerHandle with additional properties
203
+ const handle = promise;
204
+ Object.defineProperty(handle, 'id', { value: id, writable: false });
205
+ Object.defineProperty(handle, 'pending', {
206
+ get: () => timerState.pending,
207
+ });
208
+ return handle;
209
+ }
210
+ // ============================================================================
211
+ // CANCEL TIMER
212
+ // ============================================================================
213
+ /**
214
+ * Cancel a timer
215
+ *
216
+ * OPTIMIZATION: Also removes from coalesced bucket to prevent
217
+ * unnecessary processing of cancelled timers.
218
+ *
219
+ * FIX: Timeouts are now stored on the bucket (bucketTimeouts), not on individual
220
+ * timers. This prevents the "cancelled leader" bug where cancelling the first timer
221
+ * in a bucket would leave other timers without a scheduled callback.
222
+ * When cancelling, we only clear the bucket timeout if this was the last timer.
223
+ */
224
+ export function cancelTimer(timer) {
225
+ const timerState = activeTimers.get(timer.id);
226
+ if (timerState && timerState.pending) {
227
+ timerState.pending = false;
228
+ // Remove from coalesced bucket if present
229
+ for (const [bucket, timers] of coalescedTimerBuckets) {
230
+ const index = timers.findIndex(t => t.id === timer.id);
231
+ if (index !== -1) {
232
+ timers.splice(index, 1);
233
+ if (timers.length === 0) {
234
+ // Only clear the bucket timeout when the last timer is cancelled
235
+ coalescedTimerBuckets.delete(bucket);
236
+ const timeoutId = bucketTimeouts.get(bucket);
237
+ if (timeoutId) {
238
+ clearTimeout(timeoutId);
239
+ bucketTimeouts.delete(bucket);
240
+ }
241
+ }
242
+ // If other timers remain in the bucket, leave the timeout running
243
+ // so those timers will fire when the timeout expires
244
+ break;
245
+ }
246
+ }
247
+ timerState.reject(new WaitCancelledError('Timer cancelled'));
248
+ activeTimers.delete(timer.id);
249
+ }
250
+ }
251
+ // ============================================================================
252
+ // SLEEP
253
+ // ============================================================================
254
+ /**
255
+ * Sleep for a duration (durable)
256
+ *
257
+ * This implementation integrates with both CF Workflows native sleep and
258
+ * the Temporal compat layer's durable storage:
259
+ *
260
+ * 1. If WorkflowStep context is available (CF Workflows), use step.sleep()
261
+ * - FREE: doesn't use billable DO time
262
+ * - DURABLE: survives worker restarts
263
+ *
264
+ * 2. Otherwise, fall back to setTimeout with durable storage
265
+ * - Persists sleep state to storage (in case of crash)
266
+ * - On replay, completed sleeps are skipped immediately
267
+ */
268
+ export async function sleep(duration) {
269
+ const ctx = getCurrentContext();
270
+ const workflow = ctx?.workflow ?? null;
271
+ if (!workflow) {
272
+ throw new Error('sleep can only be called within a workflow');
273
+ }
274
+ const ms = parseDuration(duration);
275
+ const durationStr = typeof duration === 'string' ? duration : formatDurationForCF(ms);
276
+ const stepId = generateSleepStepId(ms);
277
+ // Use the unified storage strategy pattern
278
+ // - CFWorkflowsStorageStrategy: Uses step.sleep() - FREE, doesn't consume wall-clock time
279
+ // - InMemoryStorageStrategy: Uses setTimeout with durable storage - BILLABLE
280
+ const strategy = getCurrentStorageStrategy();
281
+ await strategy.sleep(stepId, ms, durationStr);
282
+ // Update in-memory cache for replay within same execution
283
+ workflow.stepResults.set(stepId, true);
284
+ workflow.historyLength++;
285
+ }
286
+ // ============================================================================
287
+ // CONDITION
288
+ // ============================================================================
289
+ /**
290
+ * Wait for a condition to be true
291
+ */
292
+ export async function condition(fn, timeout) {
293
+ const workflow = getCurrentWorkflow();
294
+ if (!workflow) {
295
+ throw new Error('condition can only be called within a workflow');
296
+ }
297
+ const timeoutMs = timeout ? parseDuration(timeout) : undefined;
298
+ const startTime = Date.now();
299
+ while (true) {
300
+ try {
301
+ if (fn()) {
302
+ break;
303
+ }
304
+ }
305
+ catch (error) {
306
+ // Log the error for debugging but let it propagate
307
+ const err = error instanceof Error ? error : new Error(String(error));
308
+ console.error(`[condition] Error in condition function: ${err.message}`);
309
+ throw err;
310
+ }
311
+ // Check timeout
312
+ if (timeoutMs && Date.now() - startTime >= timeoutMs) {
313
+ return false;
314
+ }
315
+ // Poll every 100ms
316
+ await new Promise((resolve) => setTimeout(resolve, 100));
317
+ }
318
+ return true;
319
+ }
320
+ // ============================================================================
321
+ // STATE CLEARING
322
+ // ============================================================================
323
+ /**
324
+ * Clear all timer state (for testing)
325
+ */
326
+ export function clearTimerState() {
327
+ // Properly cancel all active timers to prevent memory leaks
328
+ for (const timer of activeTimers.values()) {
329
+ timer.pending = false;
330
+ }
331
+ activeTimers.clear();
332
+ // Clear bucket timeouts (timeouts are stored on buckets, not individual timers)
333
+ for (const timeoutId of bucketTimeouts.values()) {
334
+ clearTimeout(timeoutId);
335
+ }
336
+ bucketTimeouts.clear();
337
+ // Clear coalesced timer buckets
338
+ for (const timers of coalescedTimerBuckets.values()) {
339
+ for (const timer of timers) {
340
+ timer.pending = false;
341
+ }
342
+ }
343
+ coalescedTimerBuckets.clear();
344
+ // Stop the periodic cleanup interval
345
+ __stopTimerCleanup();
346
+ }
347
+ //# sourceMappingURL=timers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timers.js","sourceRoot":"","sources":["../../../../workflows/compat/temporal/timers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Type definitions for Temporal Compat Layer
3
+ *
4
+ * These types match the Temporal SDK exactly for API compatibility.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../workflows/compat/temporal/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}