@segmentstream/ontology 0.0.0-stage → 0.92.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 (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,302 @@
1
+ import { Effect, Schema } from "effect";
2
+ import { SqlClient } from "effect/unstable/sql";
3
+ import { type SqlError } from "effect/unstable/sql/SqlError";
4
+ import { type ResolvedFeedback } from "../feedback-config.js";
5
+ import { type ScopeManifest, type WorkflowManifest } from "../manifest.js";
6
+ import { type Ontology } from "../ontology.js";
7
+ import type { Principal, StoredRecord } from "../runtime.js";
8
+ import type { SignInCheck } from "../sign-in.js";
9
+ import { MemberNotFound, PrincipalRejected, UnknownRole } from "./errors.js";
10
+ import { type WorkloadExecution } from "./workload.js";
11
+ export { WORKFLOW_USER_PROVIDER, workflowSubject } from "./workflow-users.js";
12
+ export { revokeMemberSessions } from "./member-tables.js";
13
+ /** API keys are `ssk_<key id>.<secret>`. */
14
+ export declare const API_KEY_PREFIX = "ssk_";
15
+ /**
16
+ * PBKDF2-SHA256 iterations for a key's secret: about 5 ms per verification on Node. The secret
17
+ * already carries 256 bits of entropy, so the KDF is not what protects it; it exists so that stored
18
+ * secrets are handled like any password storage, and it must stay cheap because it runs on every
19
+ * request authenticated with an API key.
20
+ */
21
+ export declare const API_KEY_ITERATIONS = 10000;
22
+ export interface ApiKeyParts {
23
+ /** Stored in clear, to find the key's row. */
24
+ readonly keyId: string;
25
+ /** Stored only as a salted hash. */
26
+ readonly secret: string;
27
+ }
28
+ /** A new API key: 8 random bytes of key id and 32 of secret. Show it once; it is not stored. */
29
+ export declare function generateApiKey(): string;
30
+ /** The key id and secret of a key, or `undefined` when it is not one. */
31
+ export declare function parseApiKey(key: string): ApiKeyParts | undefined;
32
+ /** PBKDF2-SHA256 of a secret with its salt, in hex: what `_api_keys.hash` holds. */
33
+ export declare function hashApiKeySecret(secret: string, salt: string): Promise<string>;
34
+ /** The claims of a verified sign-in token that identify and describe a member. */
35
+ export interface IdentityClaims {
36
+ /** Who signed the member in, for example `neon-auth`. */
37
+ readonly identityProvider: string;
38
+ /** The token's subject. */
39
+ readonly identitySubject: string;
40
+ /** Verified by the trusted issuer; never an unverified address from a sign-in form. */
41
+ readonly email?: string;
42
+ readonly name?: string;
43
+ }
44
+ /**
45
+ * Every request authenticates, so recording each one would write a history row per request. A
46
+ * returning member's sign-in is recorded once the last one is older than a Neon Auth token's
47
+ * lifetime: about once per token, which is how often an active member authenticates afresh.
48
+ */
49
+ export declare const SIGN_IN_RECORD_INTERVAL_MS: number;
50
+ /** User rows as principal resolution reads them. */
51
+ declare const UserRow: Schema.Struct<{
52
+ readonly id: Schema.String;
53
+ readonly kind: Schema.Literals<readonly ["member", "service"]>;
54
+ readonly active: Schema.Boolean;
55
+ }>;
56
+ type UserRow = typeof UserRow.Type;
57
+ /** The history actions of member role changes, as the generated `user` actions name them. */
58
+ export declare const MEMBER_HISTORY_ACTIONS: {
59
+ readonly invite: "user.invite";
60
+ readonly grantRoles: "user.grant_roles";
61
+ readonly revokeRoles: "user.revoke_roles";
62
+ readonly deactivate: "user.deactivate";
63
+ readonly reactivate: "user.reactivate";
64
+ };
65
+ /** The SQL projection also used by transactional storage permission rechecks. */
66
+ export interface PrincipalRolesSql {
67
+ readonly unsafe: (text: string, args: ReadonlyArray<unknown>) => Effect.Effect<ReadonlyArray<Readonly<Record<string, unknown>>>, SqlError>;
68
+ }
69
+ export declare function rolesOf(ontology: Ontology, sql: PrincipalRolesSql, user: UserRow): Effect.Effect<Principal, SqlError>;
70
+ /** Resolve a workspace-owned identity/session by user id, with current activity and roles. */
71
+ export declare function resolvePrincipalById(ontology: Ontology, sql: SqlClient.SqlClient, id: string): Effect.Effect<Principal, SqlError | PrincipalRejected, never>;
72
+ /**
73
+ * The principal of a member signed in with a verified token. On first sign-in the member's `user`
74
+ * is linked by email when someone invited them; a person nobody invited is rejected as
75
+ * `not_invited` under the `invited` policy and becomes a member holding only `member` under
76
+ * `open`. Every sign-in that lets the member in sets `lastSignInAt`, at most once per
77
+ * {@link SIGN_IN_RECORD_INTERVAL_MS}, so history keeps it. If the User row is busy, recording is
78
+ * deferred to a later request instead of delaying authentication. Inactive users are rejected.
79
+ */
80
+ export declare function resolvePrincipalByIdentity(ontology: Ontology, claims: IdentityClaims): Effect.Effect<Principal, PrincipalRejected, SqlClient.SqlClient>;
81
+ /** Resolve the workspace's stable keyless pipeline service, without customer roles or sign-in. */
82
+ export declare function resolvePipelineWorker(ontology: Ontology, execution: WorkloadExecution): Effect.Effect<Principal, PrincipalRejected, SqlClient.SqlClient>;
83
+ /** A keyless hook actor with only the workspace's opted-in role; deactivated actors stay inactive. */
84
+ export declare function resolveHookService(ontology: Ontology, heldRole: string): Effect.Effect<Principal, PrincipalRejected, SqlClient.SqlClient>;
85
+ /**
86
+ * A workflow user's permissions: what `member` and the workflow's role grant, as `check` verified.
87
+ * A `*:*` of member's is spelled out per entity, so that it covers what a named grant covers and
88
+ * never the pipeline worker's workload wildcard; `check` refuses a workflow role holding `*:*`. An
89
+ * entity a wildcard covers only some verbs of, the user, is spelled out with those verbs.
90
+ */
91
+ export declare function workflowPermissions(ontology: Ontology, role: string): ReadonlyArray<string>;
92
+ /**
93
+ * Resolve the keyless service user a workflow's runs act as: one per declared workflow, holding
94
+ * exactly the workflow's role, named by `workflows:<workspace id>:<workflow name>`. Deploy creates
95
+ * it; a run before that creates it here. It never rewrites roles: a user whose roles are not
96
+ * exactly the declared role is rejected (`role_mismatch`) until a deploy reconciles it. A workflow
97
+ * the serving ontology does not declare is rejected, as is an inactive user. Its permissions are
98
+ * what `member` and its role grant, and every action checks them as for any caller.
99
+ */
100
+ export declare function resolveWorkflowUser(ontology: Ontology, input: {
101
+ readonly workspaceId: string;
102
+ readonly workflow: string;
103
+ }): Effect.Effect<Principal, PrincipalRejected, SqlClient.SqlClient>;
104
+ /**
105
+ * Brings the workflow users of the workspace in line with the ontology's workflows, as deploy does
106
+ * in the migration's transaction: each declared workflow's user is created if missing, reactivated
107
+ * and given exactly the workflow's role; a user whose workflow is no longer declared is
108
+ * deactivated, so its runs are refused and history keeps its name. Repeating it changes nothing.
109
+ * Database failures, including those of the history writes, fail with their `SqlError`.
110
+ */
111
+ export declare function reconcileWorkflowUsers(ontology: Ontology, input: {
112
+ readonly workspaceId: string;
113
+ }): Effect.Effect<void, SqlError, SqlClient.SqlClient>;
114
+ /**
115
+ * The principal of an API key, with the permissions its roles have in the ontology. Unknown and
116
+ * revoked keys and inactive users are rejected.
117
+ */
118
+ export declare function resolvePrincipalByApiKey(ontology: Ontology, key: string): Effect.Effect<Principal, PrincipalRejected, SqlClient.SqlClient>;
119
+ /**
120
+ * A member by user id, with the roles they hold now: whom an OAuth grant acts for. `undefined` for
121
+ * an unknown user, a service and an inactive member.
122
+ */
123
+ export declare function resolveMemberById(ontology: Ontology, userId: string): Effect.Effect<Principal | undefined, never, SqlClient.SqlClient>;
124
+ export interface CreatedApiKey {
125
+ readonly id: string;
126
+ /** The key itself. It is not stored and cannot be shown again. */
127
+ readonly key: string;
128
+ }
129
+ /** Issues an API key for a user. */
130
+ export declare function createApiKey(input: {
131
+ readonly userId: string;
132
+ readonly label: string;
133
+ }): Effect.Effect<CreatedApiKey, never, SqlClient.SqlClient>;
134
+ /** Revokes an API key. Revoking it again changes nothing. */
135
+ export declare function revokeApiKey(input: {
136
+ readonly id: string;
137
+ }): Effect.Effect<void, never, SqlClient.SqlClient>;
138
+ /** Replaces the roles a user was given. Members hold `member` whatever is assigned. */
139
+ export declare function setUserRoles(ontology: Ontology, input: {
140
+ readonly userId: string;
141
+ readonly roles: ReadonlyArray<string>;
142
+ }): Effect.Effect<void, UnknownRole, SqlClient.SqlClient>;
143
+ /**
144
+ * Creates a service user with roles and a first API key, as the app or the CLI does for the
145
+ * website's intake key.
146
+ */
147
+ export declare function createServiceUser(ontology: Ontology, input: {
148
+ readonly name: string;
149
+ readonly roles: ReadonlyArray<string>;
150
+ readonly keyLabel: string;
151
+ }): Effect.Effect<{
152
+ readonly user: StoredRecord;
153
+ readonly apiKey: CreatedApiKey;
154
+ }, UnknownRole, SqlClient.SqlClient>;
155
+ /** The roles and the built-in user of a deployed ontology, as its manifest lists them. */
156
+ export interface PrincipalsManifest {
157
+ readonly feedback?: ResolvedFeedback;
158
+ readonly roles: ReadonlyArray<{
159
+ readonly name: string;
160
+ readonly description: string;
161
+ readonly builtIn: boolean;
162
+ /** Absent from version 1 manifests: such a role grants nothing here. */
163
+ readonly permissions?: ReadonlyArray<string> | undefined;
164
+ /** Since version 10, the scoped ones with their `where`. Absent reads as none. */
165
+ readonly scopes?: ReadonlyArray<ScopeManifest> | undefined;
166
+ }>;
167
+ /**
168
+ * The deployed entities, of which only the built-in user's property names are read. Without them,
169
+ * the deployed user is taken to have every property of this SDK's `User`.
170
+ */
171
+ readonly entities?: ReadonlyArray<{
172
+ readonly builtIn: boolean;
173
+ readonly properties: ReadonlyArray<{
174
+ readonly name: string;
175
+ }>;
176
+ }>;
177
+ /** The deployed workflows, whose users this ontology resolves and reconciles. Absent reads as none. */
178
+ readonly workflows?: ReadonlyArray<WorkflowManifest> | undefined;
179
+ }
180
+ /**
181
+ * An ontology with only the built-in `User` and the manifest's roles, with their permissions: what
182
+ * managing principals needs. The platform holds a deployed ontology's manifest, not its code, and
183
+ * users, roles and API keys live in tables the ontology's own entities do not shape. The roles'
184
+ * permissions name entities this ontology does not have; they were checked when the manifest was
185
+ * built, so they are not checked again, and neither are its workflows, which it carries for their
186
+ * users. The user keeps only the properties the deployed table has.
187
+ */
188
+ export declare function principalsOntology(manifest: PrincipalsManifest): Ontology;
189
+ /** An API key as the platform lists it: everything but the secret. */
190
+ export interface ApiKeySummary {
191
+ readonly id: string;
192
+ readonly keyId: string;
193
+ readonly label: string;
194
+ readonly createdAt: string;
195
+ readonly revokedAt: string | undefined;
196
+ readonly user: {
197
+ readonly id: string;
198
+ readonly name: string;
199
+ readonly active: boolean;
200
+ };
201
+ readonly roles: ReadonlyArray<string>;
202
+ }
203
+ /** Every API key, oldest first, revoked ones included. */
204
+ export declare function listApiKeys(): Effect.Effect<ReadonlyArray<ApiKeySummary>, never, SqlClient.SqlClient>;
205
+ /** One API key by its id, or undefined. */
206
+ export declare function findApiKey(input: {
207
+ readonly id: string;
208
+ }): Effect.Effect<ApiKeySummary | undefined, never, SqlClient.SqlClient>;
209
+ /** Where a member stands: invited and not signed in yet, signed in, or deactivated. */
210
+ export type MemberStatus = "invited" | "active" | "inactive";
211
+ /** A member as the platform lists it: a person's `user`, with the roles assigned to it. */
212
+ export interface MemberSummary {
213
+ readonly id: string;
214
+ /** Members created at sign-in without a usable email have none. */
215
+ readonly email: string | undefined;
216
+ readonly name: string;
217
+ readonly active: boolean;
218
+ readonly blocked?: true;
219
+ readonly identities?: ReadonlyArray<{
220
+ readonly provider: string;
221
+ readonly subject: string;
222
+ readonly username?: string;
223
+ }>;
224
+ /** `invited` until the member first signs in, `inactive` once deactivated. */
225
+ readonly status: MemberStatus;
226
+ /** The roles assigned to the member, sorted. `member` is implicit and not listed. */
227
+ readonly roles: ReadonlyArray<string>;
228
+ /** When the member last signed in, ISO 8601 in UTC; none before their first sign-in. */
229
+ readonly lastSignInAt: string | undefined;
230
+ }
231
+ /** A member by user id, or by the email they sign in with, in any case. */
232
+ export type MemberKey = {
233
+ readonly id: string;
234
+ } | {
235
+ readonly email: string;
236
+ };
237
+ /** Every member, signed in or not, by email. */
238
+ export declare function listMembers(): Effect.Effect<ReadonlyArray<MemberSummary>, never, SqlClient.SqlClient>;
239
+ /**
240
+ * Whether a person may sign in with this address, and how; it reads and changes nothing else.
241
+ * Under `invited`, an active member who signed in with Neon Auth before gets `code`, an active
242
+ * member who has not gets `link`, and anyone else is not allowed: a deactivated member is answered
243
+ * like an unknown address. Under `open`, unblocked addresses get `link`.
244
+ */
245
+ export declare function checkSignIn(ontology: Ontology, email: string): Effect.Effect<SignInCheck, never, SqlClient.SqlClient>;
246
+ /** A change to one member's roles, by id or email. Only an email can invite a new member. */
247
+ export type MemberRolesChange = MemberKey & {
248
+ /** The name of a member this change creates; defaults to the email. */
249
+ readonly name?: string | undefined;
250
+ /**
251
+ * Roles to add. When no user has the email, a change with `grant` creates the member, even with
252
+ * no roles (they then hold only `member`); a change without it fails with MemberNotFound.
253
+ */
254
+ readonly grant?: ReadonlyArray<string> | undefined;
255
+ /** Roles to remove, or every assigned role. A role also in `grant` stays assigned. */
256
+ readonly revoke?: ReadonlyArray<string> | "all" | undefined;
257
+ };
258
+ /**
259
+ * Adds and removes a member's roles in one transaction. Creates a member only for an unknown email
260
+ * when `grant` is given. Granting a role the member holds, or revoking one they do not, changes
261
+ * nothing. A member created here is linked to their identity by email on first sign-in. The writes
262
+ * are the `user` actions' own, as platform writes: history names `user.invite`,
263
+ * `user.revoke_roles` and `user.grant_roles`, without a principal.
264
+ */
265
+ export declare function updateMemberRoles(ontology: Ontology, change: MemberRolesChange): Effect.Effect<MemberSummary, UnknownRole | MemberNotFound, SqlClient.SqlClient>;
266
+ /**
267
+ * Grants roles of the ontology to the member with this email, creating the member when no user has
268
+ * it; their name defaults to the email. Granting a role they hold changes nothing.
269
+ */
270
+ export declare function grantMemberRoles(ontology: Ontology, input: {
271
+ readonly email: string;
272
+ readonly name?: string | undefined;
273
+ readonly roles: ReadonlyArray<string>;
274
+ }): Effect.Effect<MemberSummary, UnknownRole | MemberNotFound, SqlClient.SqlClient>;
275
+ /**
276
+ * Removes roles from the member with this email, or every assigned role. The member stays, so
277
+ * history keeps their name. Roles the ontology no longer declares can be removed too.
278
+ */
279
+ export declare function revokeMemberRoles(ontology: Ontology, input: {
280
+ readonly email: string;
281
+ readonly roles: ReadonlyArray<string> | "all";
282
+ }): Effect.Effect<MemberSummary, UnknownRole | MemberNotFound, SqlClient.SqlClient>;
283
+ /**
284
+ * Deactivates or reactivates a member, as `user.deactivate` and `user.reactivate` do, as a platform
285
+ * write. An inactive member keeps their roles and history, and the service rejects their requests.
286
+ * Deactivation also revokes sessions, including repeated requests.
287
+ */
288
+ export declare function setMemberActive(ontology: Ontology, input: MemberKey & {
289
+ readonly active: boolean;
290
+ }): Effect.Effect<MemberSummary, MemberNotFound, SqlClient.SqlClient>;
291
+ export declare function isMemberBlocked(sql: SqlClient.SqlClient, userId: string): Effect.Effect<boolean, SqlError, never>;
292
+ /** Must run in the issuance transaction; the shared User lock serializes insertion with revocation. */
293
+ export declare function lockSessionMember(sql: SqlClient.SqlClient, userId: string): Effect.Effect<undefined, SqlError, never>;
294
+ /** Sticky blocking is independent of activation and survives unpairing or another identity. */
295
+ export declare function setMemberBlocked(ontology: Ontology, input: {
296
+ readonly id: string;
297
+ readonly blocked: boolean;
298
+ }): Effect.Effect<MemberSummary, MemberNotFound, SqlClient.SqlClient>;
299
+ /** Active admitted OIDC members who would lose browser access if email were their only method. */
300
+ export declare function countUsersWithoutEmailIdentity(): Effect.Effect<number, SqlError, SqlClient.SqlClient>;
301
+ /** Established email members who would lose access if SegmentStream became their only method. */
302
+ export declare function countUsersWithoutSegmentStreamIdentity(issuer?: string): Effect.Effect<number, SqlError, SqlClient.SqlClient>;