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,146 @@
1
+ /**
2
+ * Workflow Visibility API
3
+ *
4
+ * Temporal-like visibility for listing and querying workflows.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { listWorkflows, createWorkflowVisibilityStore } from './visibility'
9
+ *
10
+ * const store = createWorkflowVisibilityStore()
11
+ *
12
+ * // List all running order workflows
13
+ * const result = await listWorkflows(store, {
14
+ * query: 'WorkflowType = "orderWorkflow" AND Status = "RUNNING"',
15
+ * pageSize: 100,
16
+ * })
17
+ *
18
+ * for (const workflow of result.workflows) {
19
+ * console.log(workflow.workflowId, workflow.status)
20
+ * }
21
+ * ```
22
+ */
23
+ // Re-export store
24
+ export { createWorkflowVisibilityStore, InMemoryWorkflowVisibilityStore, } from './store';
25
+ // Re-export query parser
26
+ export { parseQuery, buildQuery } from './query-parser';
27
+ // ============================================================================
28
+ // LIST WORKFLOWS
29
+ // ============================================================================
30
+ /**
31
+ * List workflows with optional query filter.
32
+ *
33
+ * @param store Visibility store instance
34
+ * @param options List options including query string and pagination
35
+ * @returns List of matching workflows with pagination info
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * // List all workflows
40
+ * const all = await listWorkflows(store, {})
41
+ *
42
+ * // List running order workflows
43
+ * const running = await listWorkflows(store, {
44
+ * query: 'WorkflowType = "orderWorkflow" AND Status = "RUNNING"',
45
+ * })
46
+ *
47
+ * // Paginate through results
48
+ * let result = await listWorkflows(store, { pageSize: 10 })
49
+ * while (result.nextPageToken) {
50
+ * result = await listWorkflows(store, {
51
+ * pageSize: 10,
52
+ * nextPageToken: result.nextPageToken,
53
+ * })
54
+ * }
55
+ * ```
56
+ */
57
+ export async function listWorkflows(store, options = {}) {
58
+ return store.list(options);
59
+ }
60
+ // ============================================================================
61
+ // QUERY WORKFLOWS
62
+ // ============================================================================
63
+ /**
64
+ * Query workflows with structured filters.
65
+ *
66
+ * @param store Visibility store instance
67
+ * @param query Structured query with filter conditions
68
+ * @param options Pagination options
69
+ * @returns List of matching workflows with pagination info
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * const result = await queryWorkflows(store, {
74
+ * filters: [
75
+ * { field: 'WorkflowType', operator: '=', value: 'orderWorkflow' },
76
+ * { field: 'Status', operator: '=', value: 'RUNNING' },
77
+ * ],
78
+ * })
79
+ * ```
80
+ */
81
+ export async function queryWorkflows(store, query, options = {}) {
82
+ return store.query(query, options);
83
+ }
84
+ // ============================================================================
85
+ // WORKFLOW VISIBILITY CLIENT
86
+ // ============================================================================
87
+ /**
88
+ * Workflow visibility client for convenient access to visibility APIs.
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * const client = new WorkflowVisibilityClient(store)
93
+ *
94
+ * // List with query string
95
+ * const result = await client.list({
96
+ * query: 'WorkflowType = "orderWorkflow" AND Status = "RUNNING"',
97
+ * pageSize: 100,
98
+ * })
99
+ *
100
+ * // Iterate with async iterator
101
+ * for await (const workflow of client.iterate({ query: 'Status = "RUNNING"' })) {
102
+ * console.log(workflow.workflowId)
103
+ * }
104
+ * ```
105
+ */
106
+ export class WorkflowVisibilityClient {
107
+ store;
108
+ constructor(store) {
109
+ this.store = store;
110
+ }
111
+ /**
112
+ * List workflows with optional query
113
+ */
114
+ async list(options = {}) {
115
+ return listWorkflows(this.store, options);
116
+ }
117
+ /**
118
+ * Query workflows with structured filters
119
+ */
120
+ async query(query, options = {}) {
121
+ return queryWorkflows(this.store, query, options);
122
+ }
123
+ /**
124
+ * Async iterator for paginating through all matching workflows
125
+ */
126
+ async *iterate(options = {}) {
127
+ let nextPageToken;
128
+ do {
129
+ const result = await this.list({
130
+ ...options,
131
+ nextPageToken,
132
+ });
133
+ for (const workflow of result.workflows) {
134
+ yield workflow;
135
+ }
136
+ nextPageToken = result.nextPageToken;
137
+ } while (nextPageToken);
138
+ }
139
+ }
140
+ /**
141
+ * Create a new workflow visibility client
142
+ */
143
+ export function createWorkflowVisibilityClient(store) {
144
+ return new WorkflowVisibilityClient(store);
145
+ }
146
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../workflows/visibility/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAgBH,kBAAkB;AAClB,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,SAAS,CAAA;AAEhB,yBAAyB;AACzB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAUvD,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAA8B,EAC9B,UAAgC,EAAE;IAElC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAA8B,EAC9B,KAAoB,EACpB,UAAyD,EAAE;IAE3D,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC;AAED,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,wBAAwB;IACN;IAA7B,YAA6B,KAA8B;QAA9B,UAAK,GAAL,KAAK,CAAyB;IAAG,CAAC;IAE/D;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,UAAgC,EAAE;QAC3C,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,KAAoB,EACpB,UAAyD,EAAE;QAE3D,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,OAAO,CAAC,UAAgC,EAAE;QAC/C,IAAI,aAAiC,CAAA;QAErC,GAAG,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;gBAC7B,GAAG,OAAO;gBACV,aAAa;aACd,CAAC,CAAA;YAEF,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxC,MAAM,QAAQ,CAAA;YAChB,CAAC;YAED,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;QACtC,CAAC,QAAQ,aAAa,EAAC;IACzB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAA8B;IAC3E,OAAO,IAAI,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAC5C,CAAC"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Workflow Query Parser
3
+ *
4
+ * Parses Temporal-like SQL query strings into structured filters.
5
+ * Supports basic syntax: Field = "value" AND Field2 = "value2"
6
+ */
7
+ // ============================================================================
8
+ // QUERY PARSING
9
+ // ============================================================================
10
+ /**
11
+ * Parse a query string into structured filters.
12
+ *
13
+ * Supported syntax:
14
+ * - Simple equality: `WorkflowType = "orderWorkflow"`
15
+ * - Status filter: `Status = "RUNNING"`
16
+ * - Combined (AND): `WorkflowType = "orderWorkflow" AND Status = "RUNNING"`
17
+ * - Search attributes: `customerId = "cust-123"`
18
+ *
19
+ * @param query Query string in Temporal-like SQL syntax
20
+ * @returns Array of QueryFilter objects
21
+ */
22
+ export function parseQuery(query) {
23
+ if (!query || query.trim() === '') {
24
+ return [];
25
+ }
26
+ const filters = [];
27
+ // Split by AND (case insensitive)
28
+ const conditions = query.split(/\s+AND\s+/i);
29
+ for (const condition of conditions) {
30
+ const filter = parseCondition(condition.trim());
31
+ if (filter) {
32
+ filters.push(filter);
33
+ }
34
+ }
35
+ return filters;
36
+ }
37
+ /**
38
+ * Parse a single condition into a QueryFilter
39
+ */
40
+ function parseCondition(condition) {
41
+ // Match patterns like: Field = "value" or Field = 'value'
42
+ // Also supports: Field != "value", Field > 123, etc.
43
+ const operatorPattern = /^(\w+)\s*(=|!=|>=|<=|>|<|IN|NOT\s+IN)\s*(.+)$/i;
44
+ const match = condition.match(operatorPattern);
45
+ if (!match) {
46
+ return null;
47
+ }
48
+ const [, field, operatorRaw, valueRaw] = match;
49
+ const operator = normalizeOperator(operatorRaw.trim());
50
+ const value = parseValue(valueRaw.trim());
51
+ if (!field || !operator || value === undefined) {
52
+ return null;
53
+ }
54
+ return {
55
+ field,
56
+ operator,
57
+ value,
58
+ };
59
+ }
60
+ /**
61
+ * Normalize operator string to QueryOperator
62
+ */
63
+ function normalizeOperator(op) {
64
+ const normalized = op.toUpperCase().replace(/\s+/g, ' ');
65
+ switch (normalized) {
66
+ case '=':
67
+ return '=';
68
+ case '!=':
69
+ return '!=';
70
+ case '>':
71
+ return '>';
72
+ case '<':
73
+ return '<';
74
+ case '>=':
75
+ return '>=';
76
+ case '<=':
77
+ return '<=';
78
+ case 'IN':
79
+ return 'IN';
80
+ case 'NOT IN':
81
+ return 'NOT IN';
82
+ default:
83
+ return '=';
84
+ }
85
+ }
86
+ /**
87
+ * Parse a value string into the appropriate type
88
+ */
89
+ function parseValue(valueStr) {
90
+ // Handle quoted strings (double or single quotes)
91
+ const doubleQuoteMatch = valueStr.match(/^"([^"]*)"$/);
92
+ if (doubleQuoteMatch) {
93
+ return doubleQuoteMatch[1];
94
+ }
95
+ const singleQuoteMatch = valueStr.match(/^'([^']*)'$/);
96
+ if (singleQuoteMatch) {
97
+ return singleQuoteMatch[1];
98
+ }
99
+ // Handle array values for IN operator: (value1, value2, value3)
100
+ const arrayMatch = valueStr.match(/^\(([^)]+)\)$/);
101
+ if (arrayMatch) {
102
+ return arrayMatch[1].split(',').map(v => parseValue(v.trim()));
103
+ }
104
+ // Handle numbers
105
+ if (/^-?\d+\.?\d*$/.test(valueStr)) {
106
+ return parseFloat(valueStr);
107
+ }
108
+ // Handle booleans
109
+ if (valueStr.toLowerCase() === 'true')
110
+ return true;
111
+ if (valueStr.toLowerCase() === 'false')
112
+ return false;
113
+ // Return as-is (unquoted string)
114
+ return valueStr;
115
+ }
116
+ // ============================================================================
117
+ // QUERY BUILDING
118
+ // ============================================================================
119
+ /**
120
+ * Build a query string from structured filters
121
+ */
122
+ export function buildQuery(filters) {
123
+ if (filters.length === 0) {
124
+ return '';
125
+ }
126
+ return filters.map(filter => buildCondition(filter)).join(' AND ');
127
+ }
128
+ /**
129
+ * Build a single condition string
130
+ */
131
+ function buildCondition(filter) {
132
+ const value = formatValue(filter.value);
133
+ return `${filter.field} ${filter.operator} ${value}`;
134
+ }
135
+ /**
136
+ * Format a value for query string
137
+ */
138
+ function formatValue(value) {
139
+ if (Array.isArray(value)) {
140
+ return `(${value.map(v => formatValue(v)).join(', ')})`;
141
+ }
142
+ if (typeof value === 'string') {
143
+ return `"${value}"`;
144
+ }
145
+ if (value instanceof Date) {
146
+ return `"${value.toISOString()}"`;
147
+ }
148
+ return String(value);
149
+ }
150
+ //# sourceMappingURL=query-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-parser.js","sourceRoot":"","sources":["../../../workflows/visibility/query-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Workflow Visibility Store
3
+ *
4
+ * Storage implementation for workflow metadata.
5
+ * Provides in-memory storage for testing and base implementation
6
+ * that can be extended for D1/KV backends.
7
+ */
8
+ import { parseQuery } from './query-parser';
9
+ // ============================================================================
10
+ // IN-MEMORY STORE
11
+ // ============================================================================
12
+ /**
13
+ * In-memory implementation of WorkflowVisibilityStore.
14
+ * Used for testing and development.
15
+ */
16
+ export class InMemoryWorkflowVisibilityStore {
17
+ workflows = new Map();
18
+ async upsert(metadata) {
19
+ this.workflows.set(metadata.workflowId, { ...metadata });
20
+ }
21
+ async get(workflowId) {
22
+ const metadata = this.workflows.get(workflowId);
23
+ return metadata ? { ...metadata } : null;
24
+ }
25
+ async delete(workflowId) {
26
+ this.workflows.delete(workflowId);
27
+ }
28
+ async list(options) {
29
+ // Parse query string into structured filters
30
+ const filters = options.query ? parseQuery(options.query) : [];
31
+ // Get all workflows and apply filters
32
+ let workflows = Array.from(this.workflows.values());
33
+ // Apply filters
34
+ if (filters.length > 0) {
35
+ workflows = workflows.filter(w => matchesAllFilters(w, filters));
36
+ }
37
+ // Sort by startTime descending (most recent first)
38
+ workflows.sort((a, b) => b.startTime.getTime() - a.startTime.getTime());
39
+ // Apply pagination
40
+ return applyPagination(workflows, options);
41
+ }
42
+ async query(query, options = {}) {
43
+ // Get all workflows and apply filters
44
+ let workflows = Array.from(this.workflows.values());
45
+ if (query.filters.length > 0) {
46
+ workflows = workflows.filter(w => matchesAllFilters(w, query.filters));
47
+ }
48
+ // Sort by startTime descending
49
+ workflows.sort((a, b) => b.startTime.getTime() - a.startTime.getTime());
50
+ return applyPagination(workflows, options);
51
+ }
52
+ /**
53
+ * Clear all stored workflows (for testing)
54
+ */
55
+ clear() {
56
+ this.workflows.clear();
57
+ }
58
+ /**
59
+ * Get count of stored workflows (for testing)
60
+ */
61
+ count() {
62
+ return this.workflows.size;
63
+ }
64
+ }
65
+ // ============================================================================
66
+ // FILTER MATCHING
67
+ // ============================================================================
68
+ /**
69
+ * Check if a workflow matches all filters (AND logic)
70
+ */
71
+ function matchesAllFilters(workflow, filters) {
72
+ return filters.every(filter => matchesFilter(workflow, filter));
73
+ }
74
+ /**
75
+ * Check if a workflow matches a single filter
76
+ */
77
+ function matchesFilter(workflow, filter) {
78
+ const value = getFieldValue(workflow, filter.field);
79
+ switch (filter.operator) {
80
+ case '=':
81
+ return compareEqual(value, filter.value);
82
+ case '!=':
83
+ return !compareEqual(value, filter.value);
84
+ case '>':
85
+ return compareGreater(value, filter.value);
86
+ case '<':
87
+ return compareLess(value, filter.value);
88
+ case '>=':
89
+ return compareEqual(value, filter.value) || compareGreater(value, filter.value);
90
+ case '<=':
91
+ return compareEqual(value, filter.value) || compareLess(value, filter.value);
92
+ case 'IN':
93
+ return Array.isArray(filter.value) && filter.value.some(v => compareEqual(value, v));
94
+ case 'NOT IN':
95
+ return !Array.isArray(filter.value) || !filter.value.some(v => compareEqual(value, v));
96
+ default:
97
+ return false;
98
+ }
99
+ }
100
+ /**
101
+ * Get a field value from workflow metadata
102
+ */
103
+ function getFieldValue(workflow, field) {
104
+ // Standard fields (case-insensitive matching for common fields)
105
+ const normalizedField = field.toLowerCase();
106
+ switch (normalizedField) {
107
+ case 'workflowtype':
108
+ return workflow.workflowType;
109
+ case 'status':
110
+ return workflow.status;
111
+ case 'workflowid':
112
+ return workflow.workflowId;
113
+ case 'runid':
114
+ return workflow.runId;
115
+ case 'taskqueue':
116
+ return workflow.taskQueue;
117
+ case 'namespace':
118
+ return workflow.namespace;
119
+ case 'starttime':
120
+ return workflow.startTime;
121
+ case 'closetime':
122
+ return workflow.closeTime;
123
+ default:
124
+ // Check search attributes
125
+ return workflow.searchAttributes?.[field];
126
+ }
127
+ }
128
+ /**
129
+ * Compare two values for equality
130
+ */
131
+ function compareEqual(a, b) {
132
+ if (a === undefined)
133
+ return false;
134
+ if (Array.isArray(b))
135
+ return false; // Single value comparison
136
+ // Handle Date comparison
137
+ if (a instanceof Date && b instanceof Date) {
138
+ return a.getTime() === b.getTime();
139
+ }
140
+ // String comparison (case-sensitive)
141
+ return String(a) === String(b);
142
+ }
143
+ /**
144
+ * Compare if a > b
145
+ */
146
+ function compareGreater(a, b) {
147
+ if (a === undefined || Array.isArray(b))
148
+ return false;
149
+ // Handle Date comparison
150
+ if (a instanceof Date && b instanceof Date) {
151
+ return a.getTime() > b.getTime();
152
+ }
153
+ // Numeric comparison
154
+ if (typeof a === 'number' && typeof b === 'number') {
155
+ return a > b;
156
+ }
157
+ // String comparison
158
+ return String(a) > String(b);
159
+ }
160
+ /**
161
+ * Compare if a < b
162
+ */
163
+ function compareLess(a, b) {
164
+ if (a === undefined || Array.isArray(b))
165
+ return false;
166
+ // Handle Date comparison
167
+ if (a instanceof Date && b instanceof Date) {
168
+ return a.getTime() < b.getTime();
169
+ }
170
+ // Numeric comparison
171
+ if (typeof a === 'number' && typeof b === 'number') {
172
+ return a < b;
173
+ }
174
+ // String comparison
175
+ return String(a) < String(b);
176
+ }
177
+ // ============================================================================
178
+ // PAGINATION
179
+ // ============================================================================
180
+ /**
181
+ * Apply pagination to a list of workflows
182
+ */
183
+ function applyPagination(workflows, options) {
184
+ const pageSize = options.pageSize ?? 100;
185
+ let startIndex = 0;
186
+ // Decode cursor (simple offset-based pagination)
187
+ if (options.nextPageToken) {
188
+ try {
189
+ const decoded = JSON.parse(atob(options.nextPageToken));
190
+ startIndex = decoded.offset ?? 0;
191
+ }
192
+ catch (error) {
193
+ // Log pagination token errors so users see why pagination might be wrong
194
+ console.warn('[workflows] Invalid pagination token - starting from beginning:', {
195
+ token: options.nextPageToken.slice(0, 50) + '...',
196
+ error: error instanceof Error ? error.message : 'unknown',
197
+ });
198
+ startIndex = 0;
199
+ }
200
+ }
201
+ // Slice results
202
+ const endIndex = startIndex + pageSize;
203
+ const pageWorkflows = workflows.slice(startIndex, endIndex);
204
+ // Generate next page token if there are more results
205
+ let nextPageToken;
206
+ if (endIndex < workflows.length) {
207
+ nextPageToken = btoa(JSON.stringify({ offset: endIndex }));
208
+ }
209
+ return {
210
+ workflows: pageWorkflows,
211
+ nextPageToken,
212
+ };
213
+ }
214
+ // ============================================================================
215
+ // FACTORY
216
+ // ============================================================================
217
+ /**
218
+ * Create a new in-memory workflow visibility store
219
+ */
220
+ export function createWorkflowVisibilityStore() {
221
+ return new InMemoryWorkflowVisibilityStore();
222
+ }
223
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../workflows/visibility/store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,OAAO,+BAA+B;IAClC,SAAS,GAAkC,IAAI,GAAG,EAAE,CAAA;IAE5D,KAAK,CAAC,MAAM,CAAC,QAA0B;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAAkB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC/C,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA6B;QACtC,6CAA6C;QAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAE9D,sCAAsC;QACtC,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;QAEnD,gBAAgB;QAChB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QAClE,CAAC;QAED,mDAAmD;QACnD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;QAEvE,mBAAmB;QACnB,OAAO,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK,CACT,KAAoB,EACpB,UAAyD,EAAE;QAE3D,sCAAsC;QACtC,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;QAEnD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;QACxE,CAAC;QAED,+BAA+B;QAC/B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;QAEvE,OAAO,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA;IAC5B,CAAC;CACF;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAA0B,EAAE,OAAsB;IAC3E,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;AACjE,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAA0B,EAAE,MAAmB;IACpE,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAEnD,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1C,KAAK,IAAI;YACP,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3C,KAAK,GAAG;YACN,OAAO,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAC5C,KAAK,GAAG;YACN,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACzC,KAAK,IAAI;YACP,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACjF,KAAK,IAAI;YACP,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9E,KAAK,IAAI;YACP,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;QACtF,KAAK,QAAQ;YACX,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;QACxF;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAA0B,EAAE,KAAa;IAC9D,gEAAgE;IAChE,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IAE3C,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,cAAc;YACjB,OAAO,QAAQ,CAAC,YAAY,CAAA;QAC9B,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC,MAAM,CAAA;QACxB,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC,UAAU,CAAA;QAC5B,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,KAAK,CAAA;QACvB,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,SAAS,CAAA;QAC3B,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,SAAS,CAAA;QAC3B,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,SAAS,CAAA;QAC3B,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,SAAS,CAAA;QAC3B;YACE,0BAA0B;YAC1B,OAAO,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,CAAmC,EAAE,CAAgD;IACzG,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA,CAAC,0BAA0B;IAE7D,yBAAyB;IACzB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;IACpC,CAAC;IAED,qCAAqC;IACrC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,CAAmC,EAAE,CAAgD;IAC3G,IAAI,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAErD,yBAAyB;IACzB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IAClC,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IAED,oBAAoB;IACpB,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAC9B,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,CAAmC,EAAE,CAAgD;IACxG,IAAI,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAErD,yBAAyB;IACzB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IAClC,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IAED,oBAAoB;IACpB,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAC9B,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;GAEG;AACH,SAAS,eAAe,CACtB,SAA6B,EAC7B,OAAsD;IAEtD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAA;IACxC,IAAI,UAAU,GAAG,CAAC,CAAA;IAElB,iDAAiD;IACjD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;YACvD,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yEAAyE;YACzE,OAAO,CAAC,IAAI,CAAC,iEAAiE,EAAE;gBAC9E,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;gBACjD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;aAC1D,CAAC,CAAA;YACF,UAAU,GAAG,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAA;IACtC,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAE3D,qDAAqD;IACrD,IAAI,aAAiC,CAAA;IACrC,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAChC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC5D,CAAC;IAED,OAAO;QACL,SAAS,EAAE,aAAa;QACxB,aAAa;KACd,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO,IAAI,+BAA+B,EAAE,CAAA;AAC9C,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Workflow Visibility Types
3
+ *
4
+ * Type definitions for Temporal-like workflow visibility API.
5
+ * Enables listing and querying running workflows.
6
+ */
7
+ // ============================================================================
8
+ // WORKFLOW STATUS
9
+ // ============================================================================
10
+ /**
11
+ * Workflow execution status
12
+ */
13
+ export var WorkflowStatus;
14
+ (function (WorkflowStatus) {
15
+ /** Workflow is currently running */
16
+ WorkflowStatus["RUNNING"] = "RUNNING";
17
+ /** Workflow completed successfully */
18
+ WorkflowStatus["COMPLETED"] = "COMPLETED";
19
+ /** Workflow failed with an error */
20
+ WorkflowStatus["FAILED"] = "FAILED";
21
+ /** Workflow was cancelled */
22
+ WorkflowStatus["CANCELLED"] = "CANCELLED";
23
+ /** Workflow was terminated */
24
+ WorkflowStatus["TERMINATED"] = "TERMINATED";
25
+ /** Workflow timed out */
26
+ WorkflowStatus["TIMED_OUT"] = "TIMED_OUT";
27
+ /** Workflow continued as new */
28
+ WorkflowStatus["CONTINUED_AS_NEW"] = "CONTINUED_AS_NEW";
29
+ })(WorkflowStatus || (WorkflowStatus = {}));
30
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../workflows/visibility/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAN,IAAY,cAeX;AAfD,WAAY,cAAc;IACxB,oCAAoC;IACpC,qCAAmB,CAAA;IACnB,sCAAsC;IACtC,yCAAuB,CAAA;IACvB,oCAAoC;IACpC,mCAAiB,CAAA;IACjB,6BAA6B;IAC7B,yCAAuB,CAAA;IACvB,8BAA8B;IAC9B,2CAAyB,CAAA;IACzB,yBAAyB;IACzB,yCAAuB,CAAA;IACvB,gCAAgC;IAChC,uDAAqC,CAAA;AACvC,CAAC,EAfW,cAAc,KAAd,cAAc,QAezB"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Workflow - Define durable workflows with magic syntax
3
+ *
4
+ * Provides a DSL for defining workflows that:
5
+ * - Use proxy-based domain resolution ($.Noun(id).verb())
6
+ * - Support conditional execution ($.when)
7
+ * - Enable batch processing via magic map
8
+ */
9
+ /**
10
+ * Define a workflow
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const MyWorkflow = Workflow('my-workflow', ($, input: MyInput) => {
15
+ * const result = $.Service(input.id).doSomething()
16
+ * $.when(result.success, {
17
+ * then: () => $.Notification.send({ message: 'Success!' }),
18
+ * else: () => $.Alert.trigger({ error: result.error })
19
+ * })
20
+ * return { processed: true }
21
+ * })
22
+ * ```
23
+ */
24
+ export function Workflow(name, definition) {
25
+ return {
26
+ name,
27
+ execute: (context, input) => {
28
+ // Extend context with workflow helpers
29
+ const extendedContext = createExtendedContext(context);
30
+ return definition(extendedContext, input);
31
+ },
32
+ };
33
+ }
34
+ /**
35
+ * Create extended workflow context with helpers
36
+ */
37
+ function createExtendedContext(baseContext) {
38
+ return new Proxy(baseContext, {
39
+ get(target, prop) {
40
+ if (prop === 'when') {
41
+ return (condition, branches) => {
42
+ // In real implementation, this would be recorded and replayed
43
+ // For now, just evaluate synchronously
44
+ return condition ? branches.then() : branches.else();
45
+ };
46
+ }
47
+ // Delegate to base context
48
+ return target[prop];
49
+ },
50
+ });
51
+ }
52
+ export default Workflow;
53
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../workflows/workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4BH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,QAAQ,CACtB,IAAY,EACZ,UAAkE;IAElE,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,CAAC,OAAwB,EAAE,KAAa,EAAE,EAAE;YACnD,uCAAuC;YACvC,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;YACtD,OAAO,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;QAC3C,CAAC;KACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,WAA4B;IACzD,OAAO,IAAI,KAAK,CAAC,WAAsC,EAAE;QACvD,GAAG,CAAC,MAAM,EAAE,IAAY;YACtB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAO,SAAkB,EAAE,QAA0C,EAAS,EAAE;oBACrF,8DAA8D;oBAC9D,uCAAuC;oBACvC,OAAO,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACtD,CAAC,CAAA;YACH,CAAC;YAED,2BAA2B;YAC3B,OAAQ,MAA6C,CAAC,IAAI,CAAC,CAAA;QAC7D,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,eAAe,QAAQ,CAAA"}