@segmentstream/ontology 0.0.0-stage → 0.92.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +2 -0
  3. package/README.md +1655 -2
  4. package/dist/action.d.ts +193 -0
  5. package/dist/action.js +41 -0
  6. package/dist/agent-chat.d.ts +44 -0
  7. package/dist/agent-chat.js +91 -0
  8. package/dist/agent-task-contract.d.ts +64 -0
  9. package/dist/agent-task-contract.js +15 -0
  10. package/dist/agent-task.d.ts +39 -0
  11. package/dist/agent-task.js +112 -0
  12. package/dist/analyze.d.ts +215 -0
  13. package/dist/analyze.js +2438 -0
  14. package/dist/app-feedback.d.ts +167 -0
  15. package/dist/app-feedback.js +176 -0
  16. package/dist/authoring-input.d.ts +3 -0
  17. package/dist/authoring-input.js +107 -0
  18. package/dist/authoring-names.d.ts +4 -0
  19. package/dist/authoring-names.js +13 -0
  20. package/dist/authoring-records.d.ts +35 -0
  21. package/dist/authoring-records.js +264 -0
  22. package/dist/authoring.d.ts +15 -0
  23. package/dist/authoring.js +331 -0
  24. package/dist/bin/check.d.ts +30 -0
  25. package/dist/bin/check.js +99 -0
  26. package/dist/bin/load.d.ts +48 -0
  27. package/dist/bin/load.js +139 -0
  28. package/dist/bin/main.d.ts +31 -0
  29. package/dist/bin/main.js +121 -0
  30. package/dist/bin/migrate.d.ts +57 -0
  31. package/dist/bin/migrate.js +170 -0
  32. package/dist/bin/output.d.ts +31 -0
  33. package/dist/bin/output.js +84 -0
  34. package/dist/bin.d.ts +2 -0
  35. package/dist/bin.js +31 -0
  36. package/dist/blob.d.ts +52 -0
  37. package/dist/blob.js +87 -0
  38. package/dist/channel-session.d.ts +16 -0
  39. package/dist/channel-session.js +16 -0
  40. package/dist/chat.d.ts +43 -0
  41. package/dist/chat.js +34 -0
  42. package/dist/confirmation.d.ts +46 -0
  43. package/dist/confirmation.js +41 -0
  44. package/dist/connection.d.ts +213 -0
  45. package/dist/connection.js +289 -0
  46. package/dist/deployment.d.ts +35 -0
  47. package/dist/deployment.js +76 -0
  48. package/dist/diagnostics.d.ts +27 -0
  49. package/dist/diagnostics.js +106 -0
  50. package/dist/emails.d.ts +70 -0
  51. package/dist/emails.js +221 -0
  52. package/dist/entity.d.ts +331 -0
  53. package/dist/entity.js +153 -0
  54. package/dist/errors.d.ts +154 -0
  55. package/dist/errors.js +109 -0
  56. package/dist/feedback-config.d.ts +24 -0
  57. package/dist/feedback-config.js +126 -0
  58. package/dist/files.d.ts +39 -0
  59. package/dist/files.js +4 -0
  60. package/dist/groups.d.ts +95 -0
  61. package/dist/groups.js +280 -0
  62. package/dist/index.d.ts +109 -0
  63. package/dist/index.js +70 -0
  64. package/dist/internal/diagnostics.js +594 -0
  65. package/dist/legacy.d.ts +160 -0
  66. package/dist/legacy.js +270 -0
  67. package/dist/manifest-compatibility.d.ts +8 -0
  68. package/dist/manifest-compatibility.js +87 -0
  69. package/dist/manifest.d.ts +3329 -0
  70. package/dist/manifest.js +757 -0
  71. package/dist/me.d.ts +46 -0
  72. package/dist/me.js +109 -0
  73. package/dist/metric-filters.d.ts +48 -0
  74. package/dist/metric-filters.js +252 -0
  75. package/dist/metric-routes.d.ts +132 -0
  76. package/dist/metric-routes.js +498 -0
  77. package/dist/metric.d.ts +172 -0
  78. package/dist/metric.js +132 -0
  79. package/dist/migrate/apply.d.ts +94 -0
  80. package/dist/migrate/apply.js +526 -0
  81. package/dist/migrate/errors.d.ts +46 -0
  82. package/dist/migrate/errors.js +38 -0
  83. package/dist/migrate/index.d.ts +10 -0
  84. package/dist/migrate/index.js +7 -0
  85. package/dist/migrate/model.d.ts +2311 -0
  86. package/dist/migrate/model.js +148 -0
  87. package/dist/migrate/plan.d.ts +51 -0
  88. package/dist/migrate/plan.js +1856 -0
  89. package/dist/migrate/preview.d.ts +13 -0
  90. package/dist/migrate/preview.js +65 -0
  91. package/dist/migrate/storage.d.ts +226 -0
  92. package/dist/migrate/storage.js +774 -0
  93. package/dist/model-metrics.d.ts +22 -0
  94. package/dist/model-metrics.js +545 -0
  95. package/dist/names.d.ts +49 -0
  96. package/dist/names.js +110 -0
  97. package/dist/navigation-artifact.d.ts +13 -0
  98. package/dist/navigation-artifact.js +11 -0
  99. package/dist/navigation-catalog.d.ts +55 -0
  100. package/dist/navigation-catalog.js +297 -0
  101. package/dist/nitro-navigation.d.ts +3 -0
  102. package/dist/nitro-navigation.js +64 -0
  103. package/dist/nitro-workflows.d.ts +108 -0
  104. package/dist/nitro-workflows.js +286 -0
  105. package/dist/nitro.d.ts +40 -0
  106. package/dist/nitro.js +50 -0
  107. package/dist/ontology.d.ts +41 -0
  108. package/dist/ontology.js +46 -0
  109. package/dist/permissions.d.ts +198 -0
  110. package/dist/permissions.js +272 -0
  111. package/dist/property.d.ts +188 -0
  112. package/dist/property.js +301 -0
  113. package/dist/query.d.ts +245 -0
  114. package/dist/query.js +615 -0
  115. package/dist/relationship.d.ts +99 -0
  116. package/dist/relationship.js +33 -0
  117. package/dist/render.d.ts +81 -0
  118. package/dist/render.js +512 -0
  119. package/dist/replication/baseline.d.ts +51 -0
  120. package/dist/replication/baseline.js +215 -0
  121. package/dist/replication/bigquery.d.ts +37 -0
  122. package/dist/replication/bigquery.js +211 -0
  123. package/dist/replication/coverage.d.ts +14 -0
  124. package/dist/replication/coverage.js +53 -0
  125. package/dist/replication/evolution.d.ts +25 -0
  126. package/dist/replication/evolution.js +184 -0
  127. package/dist/replication/identities.d.ts +6 -0
  128. package/dist/replication/identities.js +47 -0
  129. package/dist/replication/legacy-baseline.d.ts +27 -0
  130. package/dist/replication/legacy-baseline.js +109 -0
  131. package/dist/replication/legacy-store.d.ts +19 -0
  132. package/dist/replication/legacy-store.js +63 -0
  133. package/dist/replication/lineage.d.ts +36 -0
  134. package/dist/replication/lineage.js +72 -0
  135. package/dist/replication/migrate.d.ts +21 -0
  136. package/dist/replication/migrate.js +84 -0
  137. package/dist/replication/model.d.ts +52 -0
  138. package/dist/replication/model.js +99 -0
  139. package/dist/replication/scans.d.ts +34 -0
  140. package/dist/replication/scans.js +158 -0
  141. package/dist/replication/schema.d.ts +11 -0
  142. package/dist/replication/schema.js +226 -0
  143. package/dist/replication/shadow-schema.d.ts +4 -0
  144. package/dist/replication/shadow-schema.js +61 -0
  145. package/dist/replication/shadow.d.ts +127 -0
  146. package/dist/replication/shadow.js +614 -0
  147. package/dist/replication/source-replacement.d.ts +33 -0
  148. package/dist/replication/source-replacement.js +76 -0
  149. package/dist/replication/store.d.ts +36 -0
  150. package/dist/replication/store.js +382 -0
  151. package/dist/replication/transaction.d.ts +23 -0
  152. package/dist/replication/transaction.js +88 -0
  153. package/dist/role.d.ts +61 -0
  154. package/dist/role.js +76 -0
  155. package/dist/runtime/action-deadlocks.d.ts +21 -0
  156. package/dist/runtime/action-deadlocks.js +130 -0
  157. package/dist/runtime/action-transactions.d.ts +35 -0
  158. package/dist/runtime/action-transactions.js +54 -0
  159. package/dist/runtime/agent-counters.d.ts +26 -0
  160. package/dist/runtime/agent-counters.js +98 -0
  161. package/dist/runtime/agent-tasks.d.ts +63 -0
  162. package/dist/runtime/agent-tasks.js +120 -0
  163. package/dist/runtime/agents.d.ts +15 -0
  164. package/dist/runtime/agents.js +457 -0
  165. package/dist/runtime/batch-diagnostics.d.ts +22 -0
  166. package/dist/runtime/batch-diagnostics.js +89 -0
  167. package/dist/runtime/batch.d.ts +52 -0
  168. package/dist/runtime/batch.js +534 -0
  169. package/dist/runtime/channel-session-revocation.d.ts +3 -0
  170. package/dist/runtime/channel-session-revocation.js +5 -0
  171. package/dist/runtime/channel-sessions.d.ts +4 -0
  172. package/dist/runtime/channel-sessions.js +61 -0
  173. package/dist/runtime/confirmations.d.ts +29 -0
  174. package/dist/runtime/confirmations.js +57 -0
  175. package/dist/runtime/cursor.d.ts +23 -0
  176. package/dist/runtime/cursor.js +100 -0
  177. package/dist/runtime/deployment.d.ts +7 -0
  178. package/dist/runtime/deployment.js +4 -0
  179. package/dist/runtime/errors.d.ts +118 -0
  180. package/dist/runtime/errors.js +109 -0
  181. package/dist/runtime/federation-tables.d.ts +2 -0
  182. package/dist/runtime/federation-tables.js +20 -0
  183. package/dist/runtime/federation.d.ts +42 -0
  184. package/dist/runtime/federation.js +222 -0
  185. package/dist/runtime/files.d.ts +39 -0
  186. package/dist/runtime/files.js +44 -0
  187. package/dist/runtime/generated-actions.d.ts +37 -0
  188. package/dist/runtime/generated-actions.js +307 -0
  189. package/dist/runtime/history.d.ts +91 -0
  190. package/dist/runtime/history.js +77 -0
  191. package/dist/runtime/ids.d.ts +6 -0
  192. package/dist/runtime/ids.js +39 -0
  193. package/dist/runtime/member-tables.d.ts +8 -0
  194. package/dist/runtime/member-tables.js +33 -0
  195. package/dist/runtime/member-writes.d.ts +78 -0
  196. package/dist/runtime/member-writes.js +202 -0
  197. package/dist/runtime/metric-query.d.ts +19 -0
  198. package/dist/runtime/metric-query.js +411 -0
  199. package/dist/runtime/model.d.ts +67 -0
  200. package/dist/runtime/model.js +150 -0
  201. package/dist/runtime/new-user-hook.d.ts +6 -0
  202. package/dist/runtime/new-user-hook.js +37 -0
  203. package/dist/runtime/oauth.d.ts +9 -0
  204. package/dist/runtime/oauth.js +299 -0
  205. package/dist/runtime/pipeline.d.ts +155 -0
  206. package/dist/runtime/pipeline.js +597 -0
  207. package/dist/runtime/postgres-tls.d.ts +10 -0
  208. package/dist/runtime/postgres-tls.js +14 -0
  209. package/dist/runtime/principals.d.ts +302 -0
  210. package/dist/runtime/principals.js +1307 -0
  211. package/dist/runtime/reads.d.ts +55 -0
  212. package/dist/runtime/reads.js +313 -0
  213. package/dist/runtime/records.d.ts +42 -0
  214. package/dist/runtime/records.js +245 -0
  215. package/dist/runtime/resolve-agent-identity.d.ts +6 -0
  216. package/dist/runtime/resolve-agent-identity.js +181 -0
  217. package/dist/runtime/service-binding.d.ts +18 -0
  218. package/dist/runtime/service-binding.js +266 -0
  219. package/dist/runtime/sign-in-links.d.ts +68 -0
  220. package/dist/runtime/sign-in-links.js +147 -0
  221. package/dist/runtime/sql-runtime.d.ts +131 -0
  222. package/dist/runtime/sql-runtime.js +362 -0
  223. package/dist/runtime/statement.d.ts +18 -0
  224. package/dist/runtime/statement.js +31 -0
  225. package/dist/runtime/user-identities.d.ts +66 -0
  226. package/dist/runtime/user-identities.js +106 -0
  227. package/dist/runtime/user-identity-sql.d.ts +86 -0
  228. package/dist/runtime/user-identity-sql.js +297 -0
  229. package/dist/runtime/user-roles.d.ts +16 -0
  230. package/dist/runtime/user-roles.js +32 -0
  231. package/dist/runtime/validation.d.ts +16 -0
  232. package/dist/runtime/validation.js +26 -0
  233. package/dist/runtime/where.d.ts +57 -0
  234. package/dist/runtime/where.js +404 -0
  235. package/dist/runtime/workflow-admission.d.ts +49 -0
  236. package/dist/runtime/workflow-admission.js +92 -0
  237. package/dist/runtime/workflow-argument-codec.d.ts +10 -0
  238. package/dist/runtime/workflow-argument-codec.js +120 -0
  239. package/dist/runtime/workflow-arguments.d.ts +17 -0
  240. package/dist/runtime/workflow-arguments.js +99 -0
  241. package/dist/runtime/workflow-starts.d.ts +203 -0
  242. package/dist/runtime/workflow-starts.js +493 -0
  243. package/dist/runtime/workflow-users.d.ts +9 -0
  244. package/dist/runtime/workflow-users.js +17 -0
  245. package/dist/runtime/workload.d.ts +25 -0
  246. package/dist/runtime/workload.js +24 -0
  247. package/dist/runtime/writes.d.ts +108 -0
  248. package/dist/runtime/writes.js +491 -0
  249. package/dist/runtime-source.d.ts +22 -0
  250. package/dist/runtime-source.js +28 -0
  251. package/dist/runtime.d.ts +310 -0
  252. package/dist/runtime.js +31 -0
  253. package/dist/server.d.ts +23 -0
  254. package/dist/server.js +107 -0
  255. package/dist/service/agent/attachments.d.ts +33 -0
  256. package/dist/service/agent/attachments.js +228 -0
  257. package/dist/service/agent/authentication.d.ts +22 -0
  258. package/dist/service/agent/authentication.js +58 -0
  259. package/dist/service/agent/confirmations.d.ts +5 -0
  260. package/dist/service/agent/confirmations.js +73 -0
  261. package/dist/service/agent/conversation-routes.d.ts +14 -0
  262. package/dist/service/agent/conversation-routes.js +45 -0
  263. package/dist/service/agent/conversations.d.ts +40 -0
  264. package/dist/service/agent/conversations.js +69 -0
  265. package/dist/service/agent/files.d.ts +12 -0
  266. package/dist/service/agent/files.js +69 -0
  267. package/dist/service/agent/protocol.d.ts +90 -0
  268. package/dist/service/agent/protocol.js +114 -0
  269. package/dist/service/agent/server.d.ts +28 -0
  270. package/dist/service/agent/server.js +374 -0
  271. package/dist/service/agent/task-caller.d.ts +21 -0
  272. package/dist/service/agent/task-caller.js +35 -0
  273. package/dist/service/agent/task-start.d.ts +53 -0
  274. package/dist/service/agent/task-start.js +161 -0
  275. package/dist/service/agent/tasks.d.ts +40 -0
  276. package/dist/service/agent/tasks.js +155 -0
  277. package/dist/service/api.d.ts +50 -0
  278. package/dist/service/api.js +288 -0
  279. package/dist/service/authentication.d.ts +227 -0
  280. package/dist/service/authentication.js +767 -0
  281. package/dist/service/caller-context.d.ts +24 -0
  282. package/dist/service/caller-context.js +6 -0
  283. package/dist/service/catalog.d.ts +42 -0
  284. package/dist/service/catalog.js +66 -0
  285. package/dist/service/channel/provider.d.ts +10 -0
  286. package/dist/service/channel/provider.js +1 -0
  287. package/dist/service/channel/providers/telegram.d.ts +18 -0
  288. package/dist/service/channel/providers/telegram.js +108 -0
  289. package/dist/service/channel/sessions.d.ts +5 -0
  290. package/dist/service/channel/sessions.js +53 -0
  291. package/dist/service/channel/sign-in.d.ts +7 -0
  292. package/dist/service/channel/sign-in.js +78 -0
  293. package/dist/service/chat/archive.d.ts +64 -0
  294. package/dist/service/chat/archive.js +62 -0
  295. package/dist/service/chat/attribution.d.ts +26 -0
  296. package/dist/service/chat/attribution.js +28 -0
  297. package/dist/service/chat/delivery.d.ts +18 -0
  298. package/dist/service/chat/delivery.js +251 -0
  299. package/dist/service/chat/diagnostics.d.ts +2 -0
  300. package/dist/service/chat/diagnostics.js +35 -0
  301. package/dist/service/chat/envelope.d.ts +96 -0
  302. package/dist/service/chat/envelope.js +39 -0
  303. package/dist/service/chat/idempotency.d.ts +19 -0
  304. package/dist/service/chat/idempotency.js +37 -0
  305. package/dist/service/chat/providers/telegram.d.ts +36 -0
  306. package/dist/service/chat/providers/telegram.js +133 -0
  307. package/dist/service/chat/reads.d.ts +25 -0
  308. package/dist/service/chat/reads.js +75 -0
  309. package/dist/service/chat/resolve.d.ts +34 -0
  310. package/dist/service/chat/resolve.js +150 -0
  311. package/dist/service/chat/routes.d.ts +23 -0
  312. package/dist/service/chat/routes.js +75 -0
  313. package/dist/service/chat/schemas.d.ts +43 -0
  314. package/dist/service/chat/schemas.js +31 -0
  315. package/dist/service/config.d.ts +218 -0
  316. package/dist/service/config.js +265 -0
  317. package/dist/service/connection-stream.d.ts +10 -0
  318. package/dist/service/connection-stream.js +191 -0
  319. package/dist/service/connections.d.ts +60 -0
  320. package/dist/service/connections.js +271 -0
  321. package/dist/service/decisions.d.ts +35 -0
  322. package/dist/service/decisions.js +63 -0
  323. package/dist/service/descriptions.d.ts +8 -0
  324. package/dist/service/descriptions.js +20 -0
  325. package/dist/service/discovery-schemas.d.ts +92 -0
  326. package/dist/service/discovery-schemas.js +59 -0
  327. package/dist/service/discovery-search.d.ts +30 -0
  328. package/dist/service/discovery-search.js +95 -0
  329. package/dist/service/discovery.d.ts +37 -0
  330. package/dist/service/discovery.js +436 -0
  331. package/dist/service/docs.d.ts +9 -0
  332. package/dist/service/docs.js +197 -0
  333. package/dist/service/errors.d.ts +145 -0
  334. package/dist/service/errors.js +704 -0
  335. package/dist/service/federation-provider.d.ts +36 -0
  336. package/dist/service/federation-provider.js +110 -0
  337. package/dist/service/federation-server.d.ts +20 -0
  338. package/dist/service/federation-server.js +249 -0
  339. package/dist/service/federation-status.d.ts +40 -0
  340. package/dist/service/federation-status.js +151 -0
  341. package/dist/service/handlers.d.ts +18 -0
  342. package/dist/service/handlers.js +287 -0
  343. package/dist/service/mcp/confirmation.d.ts +68 -0
  344. package/dist/service/mcp/confirmation.js +178 -0
  345. package/dist/service/mcp/find-input.d.ts +12 -0
  346. package/dist/service/mcp/find-input.js +122 -0
  347. package/dist/service/mcp/input-schema.d.ts +6 -0
  348. package/dist/service/mcp/input-schema.js +126 -0
  349. package/dist/service/mcp/listing.d.ts +26 -0
  350. package/dist/service/mcp/listing.js +92 -0
  351. package/dist/service/mcp/metric-tools.d.ts +85 -0
  352. package/dist/service/mcp/metric-tools.js +258 -0
  353. package/dist/service/mcp/request-log.d.ts +5 -0
  354. package/dist/service/mcp/request-log.js +53 -0
  355. package/dist/service/mcp/runtime-policy.d.ts +27 -0
  356. package/dist/service/mcp/runtime-policy.js +62 -0
  357. package/dist/service/mcp/server.d.ts +52 -0
  358. package/dist/service/mcp/server.js +861 -0
  359. package/dist/service/mcp/tools.d.ts +99 -0
  360. package/dist/service/mcp/tools.js +938 -0
  361. package/dist/service/member-file-routes.d.ts +22 -0
  362. package/dist/service/member-file-routes.js +52 -0
  363. package/dist/service/member-files.d.ts +245 -0
  364. package/dist/service/member-files.js +258 -0
  365. package/dist/service/metric-query-platform.d.ts +77 -0
  366. package/dist/service/metric-query-platform.js +198 -0
  367. package/dist/service/metric-query-scopes.d.ts +43 -0
  368. package/dist/service/metric-query-scopes.js +147 -0
  369. package/dist/service/metric-query.d.ts +48 -0
  370. package/dist/service/metric-query.js +200 -0
  371. package/dist/service/name-suggestions.d.ts +3 -0
  372. package/dist/service/name-suggestions.js +38 -0
  373. package/dist/service/navigation-schemas.d.ts +80 -0
  374. package/dist/service/navigation-schemas.js +49 -0
  375. package/dist/service/navigation.d.ts +20 -0
  376. package/dist/service/navigation.js +165 -0
  377. package/dist/service/oauth/protocol.d.ts +70 -0
  378. package/dist/service/oauth/protocol.js +157 -0
  379. package/dist/service/oauth/refresh-replay.d.ts +2 -0
  380. package/dist/service/oauth/refresh-replay.js +20 -0
  381. package/dist/service/oauth/server.d.ts +28 -0
  382. package/dist/service/oauth/server.js +769 -0
  383. package/dist/service/operations.d.ts +170 -0
  384. package/dist/service/operations.js +392 -0
  385. package/dist/service/plan.d.ts +57 -0
  386. package/dist/service/plan.js +96 -0
  387. package/dist/service/rate-limit.d.ts +22 -0
  388. package/dist/service/rate-limit.js +52 -0
  389. package/dist/service/record-reads.d.ts +21 -0
  390. package/dist/service/record-reads.js +155 -0
  391. package/dist/service/replication.d.ts +5 -0
  392. package/dist/service/replication.js +39 -0
  393. package/dist/service/runtime-contract.d.ts +508 -0
  394. package/dist/service/runtime-contract.js +18 -0
  395. package/dist/service/runtime-identity.d.ts +71 -0
  396. package/dist/service/runtime-identity.js +122 -0
  397. package/dist/service/schemas.d.ts +961 -0
  398. package/dist/service/schemas.js +639 -0
  399. package/dist/service/service.d.ts +21 -0
  400. package/dist/service/service.js +526 -0
  401. package/dist/service/warehouse-platform.d.ts +17 -0
  402. package/dist/service/warehouse-platform.js +122 -0
  403. package/dist/service/warehouse-query.d.ts +24 -0
  404. package/dist/service/warehouse-query.js +280 -0
  405. package/dist/service/webhooks.d.ts +106 -0
  406. package/dist/service/webhooks.js +233 -0
  407. package/dist/service/workflow-admission-provider.d.ts +31 -0
  408. package/dist/service/workflow-admission-provider.js +205 -0
  409. package/dist/service/workflow-argument-serialization.d.ts +2 -0
  410. package/dist/service/workflow-argument-serialization.js +14 -0
  411. package/dist/service/workflow-callback.d.ts +22 -0
  412. package/dist/service/workflow-callback.js +75 -0
  413. package/dist/service/workflow-deployment.d.ts +8 -0
  414. package/dist/service/workflow-deployment.js +131 -0
  415. package/dist/service/workflow-diagnostics.d.ts +23 -0
  416. package/dist/service/workflow-diagnostics.js +263 -0
  417. package/dist/service/workflow-errors.d.ts +26 -0
  418. package/dist/service/workflow-errors.js +181 -0
  419. package/dist/service/workflow-logging.d.ts +2 -0
  420. package/dist/service/workflow-logging.js +50 -0
  421. package/dist/service/workflow-queue-fence.d.ts +6 -0
  422. package/dist/service/workflow-queue-fence.js +66 -0
  423. package/dist/service/workflows.d.ts +200 -0
  424. package/dist/service/workflows.js +1549 -0
  425. package/dist/sign-in.d.ts +58 -0
  426. package/dist/sign-in.js +57 -0
  427. package/dist/source.d.ts +30 -0
  428. package/dist/source.js +107 -0
  429. package/dist/start-recovery-contract.d.ts +49 -0
  430. package/dist/start-recovery-contract.js +26 -0
  431. package/dist/start-recovery.d.ts +27 -0
  432. package/dist/start-recovery.js +81 -0
  433. package/dist/storage/api.d.ts +4 -0
  434. package/dist/storage/api.js +40 -0
  435. package/dist/storage/attachments.d.ts +146 -0
  436. package/dist/storage/attachments.js +733 -0
  437. package/dist/storage/authorization.d.ts +38 -0
  438. package/dist/storage/authorization.js +83 -0
  439. package/dist/storage/file-access.d.ts +17 -0
  440. package/dist/storage/file-access.js +8 -0
  441. package/dist/storage/limits.d.ts +12 -0
  442. package/dist/storage/limits.js +17 -0
  443. package/dist/storage/maintenance-auth.d.ts +20 -0
  444. package/dist/storage/maintenance-auth.js +24 -0
  445. package/dist/storage/maintenance.d.ts +11 -0
  446. package/dist/storage/maintenance.js +67 -0
  447. package/dist/storage/neon.d.ts +4 -0
  448. package/dist/storage/neon.js +318 -0
  449. package/dist/storage/operator.d.ts +11 -0
  450. package/dist/storage/operator.js +30 -0
  451. package/dist/storage/provider.d.ts +93 -0
  452. package/dist/storage/provider.js +36 -0
  453. package/dist/storage/sessions.d.ts +184 -0
  454. package/dist/storage/sessions.js +688 -0
  455. package/dist/storage/tables.d.ts +54 -0
  456. package/dist/storage/tables.js +205 -0
  457. package/dist/storage/transfers.d.ts +16 -0
  458. package/dist/storage/transfers.js +153 -0
  459. package/dist/storage/writes.d.ts +7 -0
  460. package/dist/storage/writes.js +88 -0
  461. package/dist/telegram.d.ts +35 -0
  462. package/dist/telegram.js +173 -0
  463. package/dist/user-identity.d.ts +28 -0
  464. package/dist/user-identity.js +106 -0
  465. package/dist/user.d.ts +75 -0
  466. package/dist/user.js +111 -0
  467. package/dist/warehouse-backed.d.ts +6 -0
  468. package/dist/warehouse-backed.js +495 -0
  469. package/dist/webhook-token.d.ts +11 -0
  470. package/dist/webhook-token.js +18 -0
  471. package/dist/webhooks.d.ts +40 -0
  472. package/dist/webhooks.js +55 -0
  473. package/dist/wire.d.ts +10 -0
  474. package/dist/wire.js +35 -0
  475. package/dist/workflow-runtime.d.ts +116 -0
  476. package/dist/workflow-runtime.js +109 -0
  477. package/dist/workflow-topics.d.ts +28 -0
  478. package/dist/workflow-topics.js +28 -0
  479. package/dist/workflow.d.ts +284 -0
  480. package/dist/workflow.js +259 -0
  481. package/dist/workflows.d.ts +24 -0
  482. package/dist/workflows.js +18 -0
  483. package/package.json +127 -4
@@ -0,0 +1,205 @@
1
+ import { createHash } from "node:crypto";
2
+ import { importKey } from "@workflow/core/encryption";
3
+ import { start } from "@workflow/core/runtime";
4
+ import { hydrateWorkflowArguments } from "@workflow/core/serialization";
5
+ import { EntityConflictError, WorkflowRunNotFoundError } from "@workflow/errors";
6
+ import { getQueueTopicPrefix, isTerminalWorkflowRunStatus, workflowRunIdSchema, } from "@workflow/world";
7
+ import { ulid } from "ulid";
8
+ import { canonicalJson } from "../manifest.js";
9
+ import { decodeWorkflowArguments, encodeWorkflowArguments, legacyWorkflowArgumentsJson, } from "../runtime/workflow-arguments.js";
10
+ const ADMISSION = "$segmentstream.admission";
11
+ const BINDING = "$segmentstream.binding";
12
+ export class WorkflowAdmissionBindingError extends Error {
13
+ runId;
14
+ reason;
15
+ name = "WorkflowAdmissionBindingError";
16
+ constructor(runId, reason) {
17
+ super(`workflow_admission_binding_${reason}`);
18
+ this.runId = runId;
19
+ this.reason = reason;
20
+ }
21
+ }
22
+ /** Preserve class getters, private fields, optional capabilities and method receivers. */
23
+ function override(target, replacements) {
24
+ return new Proxy(target, {
25
+ get(original, property) {
26
+ if (Object.hasOwn(replacements, property)) {
27
+ return Reflect.get(replacements, property);
28
+ }
29
+ const value = Reflect.get(original, property, original);
30
+ return typeof value === "function" ? value.bind(original) : value;
31
+ },
32
+ });
33
+ }
34
+ function validateTarget(target) {
35
+ if (!target.deploymentId || target.deploymentId === "latest") {
36
+ throw new TypeError("workflow_admission_exact_deployment_required");
37
+ }
38
+ if (!target.namespace) {
39
+ throw new TypeError("workflow_admission_namespace_required");
40
+ }
41
+ getQueueTopicPrefix("workflow", target.namespace);
42
+ }
43
+ /** Allocate once, then persist the entire result before any call to startReservedWorkflowRun. */
44
+ export async function allocateWorkflowRun(world, options) {
45
+ validateTarget(options);
46
+ const target = {
47
+ deploymentId: options.deploymentId,
48
+ namespace: options.namespace,
49
+ ...(options.region !== undefined ? { region: options.region } : {}),
50
+ };
51
+ const runId = workflowRunIdSchema.parse(`wrun_${world.createRunId?.(target) ?? ulid()}`);
52
+ const description = await world.describeRun?.({ runId });
53
+ const region = description?.region ?? target.region;
54
+ if (description?.region === null || (target.region && region !== target.region)) {
55
+ throw new WorkflowAdmissionBindingError(runId, "region");
56
+ }
57
+ return { ...target, runId, ...(region ? { region } : {}) };
58
+ }
59
+ async function existingRun(world, runId) {
60
+ try {
61
+ return await world.runs.get(runId, { resolveData: "all" });
62
+ }
63
+ catch (error) {
64
+ if (WorkflowRunNotFoundError.is(error)) {
65
+ return undefined;
66
+ }
67
+ throw error;
68
+ }
69
+ }
70
+ /**
71
+ * Dispatch the database's immutable reservation through the public World override.
72
+ * A failed acknowledgement is uncertain: callers must retry this same reservation.
73
+ * This helper supplies neither a reservation store nor permission to cross a cutover fence.
74
+ */
75
+ export async function startReservedWorkflowRun(world, workflow, args, options) {
76
+ const reservation = {
77
+ runId: options.reservation.runId,
78
+ deploymentId: options.reservation.deploymentId,
79
+ namespace: options.reservation.namespace,
80
+ ...(options.reservation.region !== undefined ? { region: options.reservation.region } : {}),
81
+ };
82
+ const { runId } = reservation;
83
+ const workflowId = workflow.workflowId;
84
+ validateTarget(reservation);
85
+ workflowRunIdSchema.parse(runId);
86
+ if (!options.admissionId || !workflowId) {
87
+ throw new WorkflowAdmissionBindingError(runId, "identity");
88
+ }
89
+ const input = encodeWorkflowArguments(args);
90
+ const snapshot = decodeWorkflowArguments(input);
91
+ const attributes = { ...options.attributes };
92
+ if (Object.hasOwn(attributes, ADMISSION) || Object.hasOwn(attributes, BINDING)) {
93
+ throw new WorkflowAdmissionBindingError(runId, "reserved_attributes");
94
+ }
95
+ if (Object.values(attributes).some((value) => typeof value !== "string")) {
96
+ throw new WorkflowAdmissionBindingError(runId, "attributes");
97
+ }
98
+ const digest = createHash("sha256")
99
+ .update(canonicalJson({ version: 2, reservation, workflowId, input, attributes }))
100
+ .digest("hex");
101
+ const legacyInput = legacyWorkflowArgumentsJson(snapshot);
102
+ // @legacy ontology.workflow-run-legacy-encodings
103
+ const legacyDigest = legacyInput === undefined
104
+ ? undefined
105
+ : createHash("sha256")
106
+ .update(canonicalJson({ version: 1, reservation, workflowId, input: legacyInput, attributes }))
107
+ .digest("hex");
108
+ const expectedAttributes = {
109
+ ...attributes,
110
+ [ADMISSION]: options.admissionId,
111
+ [BINDING]: digest,
112
+ };
113
+ const verify = async (run) => {
114
+ const mismatch = run.runId !== runId ||
115
+ run.deploymentId !== reservation.deploymentId ||
116
+ run.workflowName !== workflowId ||
117
+ run.executionContext?.queueNamespace !== reservation.namespace ||
118
+ Object.entries(expectedAttributes).some(([key, value]) => run.attributes[key] !== value &&
119
+ !(key === BINDING && legacyDigest !== undefined && run.attributes[key] === legacyDigest));
120
+ if (mismatch) {
121
+ throw new WorkflowAdmissionBindingError(runId, "identity");
122
+ }
123
+ const rawKey = await world.getEncryptionKeyForRun?.(run);
124
+ const key = rawKey ? await importKey(rawKey) : undefined;
125
+ const hydrated = await hydrateWorkflowArguments(run.input, runId, key);
126
+ if (encodeWorkflowArguments(hydrated).data !== input.data) {
127
+ throw new WorkflowAdmissionBindingError(runId, "input");
128
+ }
129
+ return run;
130
+ };
131
+ const previous = await existingRun(world, runId);
132
+ if (previous) {
133
+ await verify(previous);
134
+ if (isTerminalWorkflowRunStatus(previous.status)) {
135
+ return { runId };
136
+ }
137
+ }
138
+ let creation;
139
+ const events = override(world.events, {
140
+ create: ((requestedId, event, parameters) => {
141
+ const operation = requestedId === runId && event.eventType === "run_created" && previous
142
+ ? Promise.reject(new EntityConflictError("workflow_admission_existing"))
143
+ : event.eventType === "run_created"
144
+ ? world.events.create(requestedId, event, parameters)
145
+ : world.events.create(requestedId, event, parameters);
146
+ if (requestedId === runId && event.eventType === "run_created") {
147
+ creation = operation.then(async () => {
148
+ const persisted = await existingRun(world, runId);
149
+ if (!persisted) {
150
+ throw new WorkflowAdmissionBindingError(runId, "creation_unconfirmed");
151
+ }
152
+ return verify(persisted);
153
+ }, async (creationError) => {
154
+ let persisted;
155
+ try {
156
+ persisted = await existingRun(world, runId);
157
+ }
158
+ catch (readError) {
159
+ throw new AggregateError([creationError, readError], "workflow_admission_unconfirmed", { cause: readError });
160
+ }
161
+ if (!persisted) {
162
+ throw creationError;
163
+ }
164
+ return verify(persisted);
165
+ });
166
+ }
167
+ return operation;
168
+ }),
169
+ });
170
+ const admitted = override(world, {
171
+ events,
172
+ createRunId: () => runId.slice("wrun_".length),
173
+ queue: async (queueName, message, queueOptions) => {
174
+ if ("runId" in message && message.runId === runId) {
175
+ if (!creation) {
176
+ throw new WorkflowAdmissionBindingError(runId, "creation_unconfirmed");
177
+ }
178
+ const persisted = await creation;
179
+ if (isTerminalWorkflowRunStatus(persisted.status)) {
180
+ return { messageId: null };
181
+ }
182
+ // A fresh runInput message enables core 5.2.2's optimistic first delivery,
183
+ // which can execute a step before checking existing/terminal history.
184
+ // Persistence was verified above: pointer-only dispatch forces history
185
+ // loading even when an ambiguous acknowledgement requires a new message.
186
+ const pointer = { ...message };
187
+ if ("runInput" in pointer) {
188
+ delete pointer.runInput;
189
+ }
190
+ return world.queue(queueName, pointer, queueOptions);
191
+ }
192
+ return world.queue(queueName, message, queueOptions);
193
+ },
194
+ });
195
+ await start({ workflowId }, snapshot, {
196
+ world: admitted,
197
+ deploymentId: reservation.deploymentId,
198
+ namespace: reservation.namespace,
199
+ ...(reservation.region ? { region: reservation.region } : {}),
200
+ attributes: expectedAttributes,
201
+ allowReservedAttributes: true,
202
+ ...(previous?.specVersion !== undefined ? { specVersion: previous.specVersion } : {}),
203
+ });
204
+ return { runId };
205
+ }
@@ -0,0 +1,2 @@
1
+ /** Only the server entry reaches the installed Workflow SDK's public serialization API. */
2
+ export declare function installWorkflowArgumentCodecs(): void;
@@ -0,0 +1,14 @@
1
+ import { getCommonRevivers, getExternalReducers } from "@workflow/core/serialization";
2
+ import { setWorkflowArgumentCodecs } from "../runtime/workflow-argument-codec.js";
3
+ /** Only the server entry reaches the installed Workflow SDK's public serialization API. */
4
+ export function installWorkflowArgumentCodecs() {
5
+ const revivers = getCommonRevivers();
6
+ delete revivers.WorkflowFunction;
7
+ const external = getExternalReducers(globalThis, [], "", undefined);
8
+ // Runtime handles/functions have no common synchronous reviver. Never invoke their reducers:
9
+ // they can start provider I/O, and admission must reject them before its journal commits.
10
+ setWorkflowArgumentCodecs({
11
+ reducers: Object.fromEntries(Object.entries(external).filter(([name]) => Object.hasOwn(revivers, name))),
12
+ revivers,
13
+ });
14
+ }
@@ -0,0 +1,22 @@
1
+ /** The OIDC token of the callback request whose step is running, if it carried one. */
2
+ export declare function callbackIdentityToken(): string | undefined;
3
+ /** The ontology service of this instance could not be started before a step. */
4
+ export declare class WorkflowServiceUnavailable extends Error {
5
+ constructor(status: number, requestId: string | null);
6
+ }
7
+ export interface WorkflowCallbackOptions {
8
+ /** The handler's exact route; any other path, a trailing slash included, is refused. */
9
+ readonly route: string;
10
+ /** The topic prefix of the ontology's queue, such as `__ontology_wkf_workflow_`. */
11
+ readonly queuePrefix: string;
12
+ /** Builds this instance's ontology service when nothing has bound the runtime yet. */
13
+ readonly warm?: () => Promise<Response>;
14
+ }
15
+ /**
16
+ * Answers one Workflow SDK queue delivery with the SDK's flow handler, as `ontologyWorkflows()`
17
+ * mounts it. A request that is not a delivery of the ontology's queue to the exact route is
18
+ * answered 404 without reaching the SDK. Before the handler runs, `warm` builds this instance's
19
+ * ontology service if nothing has bound the runtime yet; a failure to start throws, so the
20
+ * delivery fails and the queue retries it. The request's OIDC token stays available to the steps.
21
+ */
22
+ export declare function serveWorkflowCallback(request: Request, handler: (request: Request) => Promise<Response>, options: WorkflowCallbackOptions): Promise<Response>;
@@ -0,0 +1,75 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ import { deploymentFromEnv, DeploymentAdmissionError, requireDeploymentCapability, } from "../deployment.js";
3
+ import { workflowBinding, workflowSdk } from "../workflow-runtime.js";
4
+ import { OIDC_TOKEN_HEADER } from "./connections.js";
5
+ const STORAGE = Symbol.for("@segmentstream/ontology/workflow-callback");
6
+ /** One storage per process, whatever copies of this module a bundler makes. */
7
+ const storage = (globalThis[STORAGE] ??= new AsyncLocalStorage());
8
+ /** The OIDC token of the callback request whose step is running, if it carried one. */
9
+ export function callbackIdentityToken() {
10
+ return storage.getStore()?.identityToken;
11
+ }
12
+ /**
13
+ * The queue a delivery came from: Vercel Queues name it in the CloudEvent header
14
+ * `ce-vqsqueuename`, the SDK's local world in `x-vqs-queue-name`.
15
+ */
16
+ function deliveredQueue(request) {
17
+ return (request.headers.get("ce-vqsqueuename") ?? request.headers.get("x-vqs-queue-name") ?? undefined);
18
+ }
19
+ /** The ontology service of this instance could not be started before a step. */
20
+ export class WorkflowServiceUnavailable extends Error {
21
+ constructor(status, requestId) {
22
+ super(`The ontology service did not start for a workflow step (status ${status}` +
23
+ `${requestId === null ? "" : `, request ${requestId}`}); the queue retries the delivery.`);
24
+ this.name = "WorkflowServiceUnavailable";
25
+ }
26
+ }
27
+ let warming;
28
+ async function warmOnce(warm) {
29
+ warming ??= (async () => {
30
+ const response = await warm();
31
+ if (!response.ok) {
32
+ throw new WorkflowServiceUnavailable(response.status, response.headers.get("x-request-id"));
33
+ }
34
+ })().finally(() => {
35
+ warming = undefined;
36
+ });
37
+ await warming;
38
+ }
39
+ /**
40
+ * Answers one Workflow SDK queue delivery with the SDK's flow handler, as `ontologyWorkflows()`
41
+ * mounts it. A request that is not a delivery of the ontology's queue to the exact route is
42
+ * answered 404 without reaching the SDK. Before the handler runs, `warm` builds this instance's
43
+ * ontology service if nothing has bound the runtime yet; a failure to start throws, so the
44
+ * delivery fails and the queue retries it. The request's OIDC token stays available to the steps.
45
+ */
46
+ export async function serveWorkflowCallback(request, handler, options) {
47
+ try {
48
+ requireDeploymentCapability(deploymentFromEnv(), "workflows");
49
+ }
50
+ catch (error) {
51
+ if (!(error instanceof DeploymentAdmissionError)) {
52
+ throw error;
53
+ }
54
+ return Response.json({ error: error.code }, { status: error.status, headers: { "cache-control": "no-store" } });
55
+ }
56
+ const queue = deliveredQueue(request);
57
+ if (request.method !== "POST" ||
58
+ new URL(request.url).pathname !== options.route ||
59
+ queue === undefined ||
60
+ !queue.startsWith(options.queuePrefix)) {
61
+ return new Response(null, { status: 404 });
62
+ }
63
+ if (options.warm !== undefined && workflowBinding() === undefined) {
64
+ await warmOnce(options.warm);
65
+ }
66
+ const prepare = workflowSdk()?.prepareCallback;
67
+ if (deploymentFromEnv().target === "preview" && prepare === undefined) {
68
+ throw new WorkflowServiceUnavailable(503, null);
69
+ }
70
+ await prepare?.();
71
+ // Warmup and provider reads may cross the deadline on a warm instance.
72
+ requireDeploymentCapability(deploymentFromEnv(), "workflows");
73
+ const token = request.headers.get(OIDC_TOKEN_HEADER) ?? undefined;
74
+ return storage.run({ identityToken: token === "" ? undefined : token }, () => handler(request));
75
+ }
@@ -0,0 +1,8 @@
1
+ import { type DeploymentObservation } from "../deployment.js";
2
+ import type { WorkflowEngine, WorkflowRunRecord } from "./workflows.js";
3
+ /** Immutable run provenance, separate from the Workflow SDK's provider deployment id. */
4
+ export declare function workflowDeploymentAttributes(deployment: DeploymentObservation): Readonly<Record<string, string>>;
5
+ /** Older production runs have no attributes; a preview never admits such a run. */
6
+ export declare function workflowRunBelongsToDeployment(deployment: DeploymentObservation, run: Pick<WorkflowRunRecord, "attributes" | "deploymentId">): boolean;
7
+ /** Fence injected engines as well as the default world, at every read and start. */
8
+ export declare function deploymentWorkflowEngine(engine: WorkflowEngine, observe: DeploymentObservation | (() => DeploymentObservation)): WorkflowEngine;
@@ -0,0 +1,131 @@
1
+ import { DeploymentAdmissionError, requireDeploymentCapability, } from "../deployment.js";
2
+ const TARGET = "segmentstream.deploymentTarget";
3
+ const DEPLOYMENT = "segmentstream.deploymentId";
4
+ /** The Workflow SDK's local world records every run under `dpl_local@<its version>`. */
5
+ const LOCAL_WORLD_DEPLOYMENT = /^dpl_local@/;
6
+ /**
7
+ * The physical deployment whose runs a preview admits. A hosted preview admits only its own
8
+ * Vercel deployment's runs. A local preview has no Vercel deployment: it must not claim one, and
9
+ * it admits only runs its machine's local world recorded, which the session id binds as well.
10
+ */
11
+ function previewProviderDeployment(deployment) {
12
+ const id = process.env.VERCEL_DEPLOYMENT_ID?.trim();
13
+ if (deployment.host === "local") {
14
+ if (id) {
15
+ throw new DeploymentAdmissionError("preview_configuration_invalid");
16
+ }
17
+ return LOCAL_WORLD_DEPLOYMENT;
18
+ }
19
+ if (!id) {
20
+ throw new DeploymentAdmissionError("preview_configuration_invalid");
21
+ }
22
+ return id;
23
+ }
24
+ /** Immutable run provenance, separate from the Workflow SDK's provider deployment id. */
25
+ export function workflowDeploymentAttributes(deployment) {
26
+ if (deployment.target === "production") {
27
+ return {};
28
+ }
29
+ return {
30
+ [TARGET]: deployment.target,
31
+ ...(deployment.deploymentId ? { [DEPLOYMENT]: deployment.deploymentId } : {}),
32
+ };
33
+ }
34
+ /** Older production runs have no attributes; a preview never admits such a run. */
35
+ export function workflowRunBelongsToDeployment(deployment, run) {
36
+ requireDeploymentCapability(deployment, "workflows");
37
+ if (deployment.target === "production") {
38
+ return run.attributes?.[TARGET] !== "preview";
39
+ }
40
+ const providerDeployment = previewProviderDeployment(deployment);
41
+ return (run.attributes?.[TARGET] === "preview" &&
42
+ run.attributes[DEPLOYMENT] === deployment.deploymentId &&
43
+ (typeof providerDeployment === "string"
44
+ ? run.deploymentId === providerDeployment
45
+ : providerDeployment.test(run.deploymentId ?? "")));
46
+ }
47
+ /** Fence injected engines as well as the default world, at every read and start. */
48
+ export function deploymentWorkflowEngine(engine, observe) {
49
+ const observation = () => (typeof observe === "function" ? observe() : observe);
50
+ const getRun = async (runId) => {
51
+ const deployment = observation();
52
+ requireDeploymentCapability(deployment, "workflows");
53
+ if (deployment.target === "preview") {
54
+ previewProviderDeployment(deployment);
55
+ }
56
+ const run = await engine.getRun(runId);
57
+ return run && workflowRunBelongsToDeployment(deployment, run) ? run : undefined;
58
+ };
59
+ const requireRun = async (runId) => {
60
+ const run = await getRun(runId);
61
+ if (!run) {
62
+ throw Object.assign(new Error("WorkflowRunNotFound"), { status: 404 });
63
+ }
64
+ return run;
65
+ };
66
+ return {
67
+ start: async (workflow, args, options) => {
68
+ const deployment = observation();
69
+ requireDeploymentCapability(deployment, "workflows");
70
+ if (deployment.target === "preview") {
71
+ previewProviderDeployment(deployment);
72
+ }
73
+ return engine.start(workflow, args, deployment.target === "production"
74
+ ? options
75
+ : {
76
+ ...options,
77
+ attributes: { ...options?.attributes, ...workflowDeploymentAttributes(deployment) },
78
+ });
79
+ },
80
+ ...(engine.allocateRun ? { allocateRun: engine.allocateRun } : {}),
81
+ getRun,
82
+ listRuns: async (input) => {
83
+ const deployment = observation();
84
+ requireDeploymentCapability(deployment, "workflows");
85
+ if (deployment.target === "preview") {
86
+ previewProviderDeployment(deployment);
87
+ }
88
+ const page = await engine.listRuns(input);
89
+ return {
90
+ ...page,
91
+ data: page.data.filter((run) => workflowRunBelongsToDeployment(deployment, run)),
92
+ };
93
+ },
94
+ listSteps: async (runId, options) => {
95
+ await requireRun(runId);
96
+ return engine.listSteps(runId, options);
97
+ },
98
+ ...(engine.diagnostics
99
+ ? {
100
+ diagnostics: async (run, steps) => engine.diagnostics(await requireRun(run.runId), steps),
101
+ }
102
+ : {}),
103
+ ...(engine.getHookRunId
104
+ ? {
105
+ getHookRunId: async (token) => {
106
+ requireDeploymentCapability(observation(), "workflows");
107
+ const runId = await engine.getHookRunId(token);
108
+ return runId && (await getRun(runId)) ? runId : undefined;
109
+ },
110
+ }
111
+ : {}),
112
+ ...(engine.resumeHook
113
+ ? {
114
+ resumeHook: async (token, payload) => {
115
+ const deployment = observation();
116
+ requireDeploymentCapability(deployment, "workflows");
117
+ if (deployment.target === "preview" && !engine.getHookRunId) {
118
+ throw new DeploymentAdmissionError("preview_configuration_invalid");
119
+ }
120
+ if (engine.getHookRunId) {
121
+ const runId = await engine.getHookRunId(token);
122
+ if (!runId || !(await getRun(runId))) {
123
+ return "not_found";
124
+ }
125
+ }
126
+ return engine.resumeHook(token, payload);
127
+ },
128
+ }
129
+ : {}),
130
+ };
131
+ }
@@ -0,0 +1,23 @@
1
+ import type { WorkflowSdk } from "../workflow-runtime.js";
2
+ import type { WorkflowDiagnostics, WorkflowPage, WorkflowRunRecord, WorkflowStepRecord, WorldLike } from "./workflows.js";
3
+ /** The largest page accepted by the Vercel world. */
4
+ export declare const WORLD_PAGE_SIZE = 100;
5
+ export declare const MAX_LISTED_WORKFLOW_EVENTS = 10000;
6
+ type HydrateError = NonNullable<WorkflowSdk["hydrateError"]>;
7
+ /** Current errors are bytes; spec-version 1 stored flattened devalue arrays. */
8
+ export declare function isSerializedWorkflowError(value: unknown): boolean;
9
+ /** Lazy world-vercel errorRef descriptors are opaque, never public error objects. */
10
+ export declare function hasWorkflowError(value: unknown): boolean;
11
+ /** Resolve only an error, retaining readable metadata when decryption/provider access fails. */
12
+ export declare function hydrateWorkflowError(value: unknown, run: {
13
+ readonly runId: string;
14
+ readonly deploymentId?: string;
15
+ }, kind: "run" | "step", hydrate: HydrateError): Promise<unknown>;
16
+ export declare function hydrateWorkflowStepPage(world: WorldLike, runId: string, page: WorkflowPage<WorkflowStepRecord>, hydrate: HydrateError): Promise<WorkflowPage<WorkflowStepRecord>>;
17
+ /**
18
+ * Events are the attempt source of truth. Lazy references are resolved by reading ONLY failure
19
+ * events with resolveData:all: run_created/step_created/completed payloads are never hydrated.
20
+ * Each scan keeps partial results when a later page or individual error cannot be read.
21
+ */
22
+ export declare function readWorkflowDiagnostics(world: WorldLike, run: WorkflowRunRecord, steps: ReadonlyArray<WorkflowStepRecord> | undefined, hydrate: HydrateError): Promise<WorkflowDiagnostics>;
23
+ export {};