@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,167 @@
1
+ import { Schema } from "effect";
2
+ /** A feedback file's limit: screenshots, logs and documents, not archives of a whole project. */
3
+ export declare const APP_FEEDBACK_FILE_MAX_BYTES: number;
4
+ /**
5
+ * Feedback the app's members send its builders through their clients, enabled by default
6
+ * unless `defineOntology({ feedback: false })` disables it. Only the actions below change it; submit always captures the caller
7
+ * the client acts for, including a service with deliberately authored named grants.
8
+ */
9
+ export declare const AppFeedback: import("./entity.js").Entity<"app_feedback", {
10
+ readonly title: import("./property.js").Property<string, false, false>;
11
+ readonly body: import("./property.js").Property<string, false, false>;
12
+ readonly status: import("./property.js").Property<"open" | "done" | "declined", false, false>;
13
+ readonly response: Schema.optionalKey<import("./property.js").Property<string, false, false>>;
14
+ readonly respondedAt: Schema.optionalKey<import("./property.js").Property<string, false, false>>;
15
+ readonly seenAt: Schema.optionalKey<import("./property.js").Property<string, false, false>>;
16
+ }, {
17
+ readonly reporter: import("./relationship.js").OneRelationship<false, false, "user">;
18
+ }, import("./entity.js").InvocableActions<{
19
+ readonly submit: import("./action.js").Action<Schema.Struct<{
20
+ readonly title: import("./property.js").Property<string, false, false>;
21
+ readonly body: import("./property.js").Property<string, false, false>;
22
+ }>, {
23
+ feedback: string;
24
+ }>;
25
+ readonly respond: import("./action.js").Action<Schema.Struct<{
26
+ readonly feedback: Schema.Codec<string, string, never, never>;
27
+ readonly status: import("./property.js").Property<"done" | "declined", false, false>;
28
+ readonly response: import("./property.js").Property<string, false, false>;
29
+ }>, {
30
+ feedback: string;
31
+ }>;
32
+ readonly acknowledge: import("./action.js").Action<Schema.Struct<{
33
+ readonly feedback: Schema.Codec<string, string, never, never>;
34
+ readonly respondedAt: import("./property.js").Property<string, false, false>;
35
+ }>, {
36
+ feedback: string;
37
+ acknowledged: boolean;
38
+ }>;
39
+ }, "app_feedback", {
40
+ readonly id: string;
41
+ readonly createdAt: string;
42
+ readonly updatedAt: string;
43
+ readonly createdBy: string | null;
44
+ readonly updatedBy: string | null;
45
+ readonly title: string;
46
+ readonly body: string;
47
+ readonly status: "open" | "done" | "declined";
48
+ readonly response: string | null;
49
+ readonly respondedAt: string | null;
50
+ readonly seenAt: string | null;
51
+ readonly reporterId: string;
52
+ }>, Readonly<Record<never, never>>, "generated">;
53
+ export type AppFeedback = typeof AppFeedback.Type;
54
+ /** A screenshot, log or document attached to feedback; an item has any number of them. */
55
+ export declare const AppFeedbackFile: import("./entity.js").Entity<"app_feedback_file", {
56
+ readonly file: import("./property.js").Property<{
57
+ readonly id: string;
58
+ readonly filename: string;
59
+ readonly contentType: string;
60
+ readonly size: number;
61
+ readonly createdAt: string;
62
+ }, false, false>;
63
+ }, {
64
+ readonly feedback: import("./relationship.js").OneRelationship<false, false, "app_feedback">;
65
+ }, import("./entity.js").InvocableActions<{
66
+ readonly attach: import("./action.js").Action<Schema.Struct<{
67
+ readonly feedback: Schema.Codec<string, string, never, never>;
68
+ readonly file: Schema.Struct<{
69
+ readonly uploadId: Schema.String;
70
+ }>;
71
+ }>, {
72
+ file: string;
73
+ }>;
74
+ }, "app_feedback_file", {
75
+ readonly id: string;
76
+ readonly createdAt: string;
77
+ readonly updatedAt: string;
78
+ readonly createdBy: string | null;
79
+ readonly updatedBy: string | null;
80
+ readonly file: {
81
+ readonly id: string;
82
+ readonly filename: string;
83
+ readonly contentType: string;
84
+ readonly size: number;
85
+ readonly createdAt: string;
86
+ };
87
+ readonly feedbackId: string;
88
+ }>, Readonly<Record<never, never>>, "generated">;
89
+ export type AppFeedbackFile = typeof AppFeedbackFile.Type;
90
+ /** The entities `feedback: true` adds, in the order their tables are created. */
91
+ export declare const APP_FEEDBACK_ENTITIES: readonly [import("./entity.js").Entity<"app_feedback", {
92
+ readonly title: import("./property.js").Property<string, false, false>;
93
+ readonly body: import("./property.js").Property<string, false, false>;
94
+ readonly status: import("./property.js").Property<"open" | "done" | "declined", false, false>;
95
+ readonly response: Schema.optionalKey<import("./property.js").Property<string, false, false>>;
96
+ readonly respondedAt: Schema.optionalKey<import("./property.js").Property<string, false, false>>;
97
+ readonly seenAt: Schema.optionalKey<import("./property.js").Property<string, false, false>>;
98
+ }, {
99
+ readonly reporter: import("./relationship.js").OneRelationship<false, false, "user">;
100
+ }, import("./entity.js").InvocableActions<{
101
+ readonly submit: import("./action.js").Action<Schema.Struct<{
102
+ readonly title: import("./property.js").Property<string, false, false>;
103
+ readonly body: import("./property.js").Property<string, false, false>;
104
+ }>, {
105
+ feedback: string;
106
+ }>;
107
+ readonly respond: import("./action.js").Action<Schema.Struct<{
108
+ readonly feedback: Schema.Codec<string, string, never, never>;
109
+ readonly status: import("./property.js").Property<"done" | "declined", false, false>;
110
+ readonly response: import("./property.js").Property<string, false, false>;
111
+ }>, {
112
+ feedback: string;
113
+ }>;
114
+ readonly acknowledge: import("./action.js").Action<Schema.Struct<{
115
+ readonly feedback: Schema.Codec<string, string, never, never>;
116
+ readonly respondedAt: import("./property.js").Property<string, false, false>;
117
+ }>, {
118
+ feedback: string;
119
+ acknowledged: boolean;
120
+ }>;
121
+ }, "app_feedback", {
122
+ readonly id: string;
123
+ readonly createdAt: string;
124
+ readonly updatedAt: string;
125
+ readonly createdBy: string | null;
126
+ readonly updatedBy: string | null;
127
+ readonly title: string;
128
+ readonly body: string;
129
+ readonly status: "open" | "done" | "declined";
130
+ readonly response: string | null;
131
+ readonly respondedAt: string | null;
132
+ readonly seenAt: string | null;
133
+ readonly reporterId: string;
134
+ }>, Readonly<Record<never, never>>, "generated">, import("./entity.js").Entity<"app_feedback_file", {
135
+ readonly file: import("./property.js").Property<{
136
+ readonly id: string;
137
+ readonly filename: string;
138
+ readonly contentType: string;
139
+ readonly size: number;
140
+ readonly createdAt: string;
141
+ }, false, false>;
142
+ }, {
143
+ readonly feedback: import("./relationship.js").OneRelationship<false, false, "app_feedback">;
144
+ }, import("./entity.js").InvocableActions<{
145
+ readonly attach: import("./action.js").Action<Schema.Struct<{
146
+ readonly feedback: Schema.Codec<string, string, never, never>;
147
+ readonly file: Schema.Struct<{
148
+ readonly uploadId: Schema.String;
149
+ }>;
150
+ }>, {
151
+ file: string;
152
+ }>;
153
+ }, "app_feedback_file", {
154
+ readonly id: string;
155
+ readonly createdAt: string;
156
+ readonly updatedAt: string;
157
+ readonly createdBy: string | null;
158
+ readonly updatedBy: string | null;
159
+ readonly file: {
160
+ readonly id: string;
161
+ readonly filename: string;
162
+ readonly contentType: string;
163
+ readonly size: number;
164
+ readonly createdAt: string;
165
+ };
166
+ readonly feedbackId: string;
167
+ }>, Readonly<Record<never, never>>, "generated">];
@@ -0,0 +1,176 @@
1
+ import { Effect, Schema } from "effect";
2
+ import { action } from "./action.js";
3
+ import { uploads } from "./blob.js";
4
+ import { entity } from "./entity.js";
5
+ import { p } from "./property.js";
6
+ import { rel } from "./relationship.js";
7
+ /** A feedback file's limit: screenshots, logs and documents, not archives of a whole project. */
8
+ export const APP_FEEDBACK_FILE_MAX_BYTES = 25 * 1024 * 1024;
9
+ const STATUS = [
10
+ { value: "open", description: "Waiting for the builders' answer." },
11
+ { value: "done", description: "The builders did what was asked; the response says what." },
12
+ { value: "declined", description: "The builders will not do it; the response says why." },
13
+ ];
14
+ const RESPONSE_STATUS = STATUS.filter((option) => option.value !== "open");
15
+ /**
16
+ * Feedback the app's members send its builders through their clients, enabled by default
17
+ * unless `defineOntology({ feedback: false })` disables it. Only the actions below change it; submit always captures the caller
18
+ * the client acts for, including a service with deliberately authored named grants.
19
+ */
20
+ export const AppFeedback = entity("app_feedback", {
21
+ id: "ent_app_feedback",
22
+ label: "App feedback",
23
+ plural: "App feedback",
24
+ title: "title",
25
+ description: "Feedback a member sent the app's builders through an agent: something the app cannot do, a " +
26
+ "failure, or a change they want. Each member sees their own; the builders answer with a " +
27
+ "response, and the member's agent reports it to them.",
28
+ properties: {
29
+ title: p.text({ managed: true, maxLength: 200, description: "What the feedback is about." }),
30
+ body: p.text({
31
+ managed: true,
32
+ maxLength: 20000,
33
+ display: "multiline",
34
+ description: "Markdown in the member's language: what they wanted and what happened, the steps, the " +
35
+ "record or page involved, and the request_id and error code of any failure.",
36
+ }),
37
+ status: p.select(STATUS, { managed: true, description: "Whether the builders answered." }),
38
+ response: p.text({
39
+ optional: true,
40
+ managed: true,
41
+ maxLength: 20000,
42
+ display: "multiline",
43
+ description: "The builders' answer to the member, in the member's language.",
44
+ }),
45
+ respondedAt: p.timestamp({
46
+ optional: true,
47
+ managed: true,
48
+ label: "Responded",
49
+ description: "When the builders last answered.",
50
+ }),
51
+ seenAt: p.timestamp({
52
+ optional: true,
53
+ managed: true,
54
+ label: "Seen",
55
+ description: "When the member's agent told them the latest response; empty while it is unseen.",
56
+ }),
57
+ },
58
+ relationships: {
59
+ // By name, so that an ontology rebuilt with the deployed `user` still resolves it.
60
+ reporter: rel.one("user", {
61
+ inverse: "sentFeedback",
62
+ phrase: ["was sent by", "sent"],
63
+ description: "The member the agent acted for.",
64
+ }),
65
+ },
66
+ }).actions((self) => ({
67
+ submit: action({
68
+ description: "Send the app's builders feedback for the member you act for: something no permitted tool or " +
69
+ "data provides, a refused or failing operation, or a change they want. Offer it first, once per " +
70
+ "problem, after checking their open app_feedback for the same subject; submit only when the " +
71
+ "member agrees to the title and summary you showed them, unless the published workspace " +
72
+ "feedback policy preauthorizes minimal technical failure reports during requested work.",
73
+ hints: { destructive: false },
74
+ input: Schema.Struct({
75
+ title: p.text({ maxLength: 200, description: "What the feedback is about." }),
76
+ body: p.text({
77
+ maxLength: 20000,
78
+ description: "Markdown in the member's language: what they wanted and what happened, the steps, the " +
79
+ "record or page involved, and the request_id and error code of any failure. No credentials.",
80
+ }),
81
+ }),
82
+ handler: ({ input, principal }) => Effect.gen(function* () {
83
+ const feedback = yield* self.create({
84
+ title: input.title,
85
+ body: input.body,
86
+ status: "open",
87
+ response: null,
88
+ respondedAt: null,
89
+ seenAt: null,
90
+ reporter: principal.id,
91
+ });
92
+ return { feedback: feedback.id };
93
+ }),
94
+ }),
95
+ respond: action({
96
+ description: "Answer a member's feedback as the app's builders: done or declined, with a response in the " +
97
+ "member's language that says what changed, or why not. Their agent reports it.",
98
+ hints: { destructive: false },
99
+ input: Schema.Struct({
100
+ feedback: self.ref,
101
+ status: p.select(RESPONSE_STATUS, { description: "The answer." }),
102
+ response: p.text({
103
+ maxLength: 20000,
104
+ description: "The answer to the member, in their language, with a link to what changed.",
105
+ }),
106
+ }),
107
+ handler: ({ input }) => Effect.gen(function* () {
108
+ const feedback = yield* self.get(input.feedback, { forUpdate: true });
109
+ yield* self.update(feedback, {
110
+ status: input.status,
111
+ response: input.response,
112
+ respondedAt: new Date().toISOString(),
113
+ seenAt: null,
114
+ });
115
+ return { feedback: feedback.id };
116
+ }),
117
+ }),
118
+ acknowledge: action({
119
+ description: "Record that the member has been told the builders' response to their feedback, passing the " +
120
+ "responded_at of the response you reported. Find their feedback with responded_at set and " +
121
+ "seen_at empty at the start of a conversation, tell them what was done, then call this. " +
122
+ "acknowledged is false when there is no such response, as when the builders answered again " +
123
+ "meanwhile: read the item again and report the newer response.",
124
+ hints: { destructive: false, idempotent: true },
125
+ input: Schema.Struct({
126
+ feedback: self.ref,
127
+ respondedAt: p.timestamp({ description: "The responded_at of the response you reported." }),
128
+ }),
129
+ handler: ({ input }) => Effect.gen(function* () {
130
+ const feedback = yield* self.get(input.feedback, { forUpdate: true });
131
+ // Only the response the agent reported is seen; a later one stays unseen until reported.
132
+ const reported = typeof feedback.respondedAt === "string" &&
133
+ Date.parse(feedback.respondedAt) === Date.parse(input.respondedAt);
134
+ if (reported) {
135
+ yield* self.update(feedback, { seenAt: new Date().toISOString() });
136
+ }
137
+ return { feedback: feedback.id, acknowledged: reported };
138
+ }),
139
+ }),
140
+ }));
141
+ /** A screenshot, log or document attached to feedback; an item has any number of them. */
142
+ export const AppFeedbackFile = entity("app_feedback_file", {
143
+ id: "ent_app_feedback_file",
144
+ label: "App feedback file",
145
+ plural: "App feedback files",
146
+ title: "file",
147
+ description: "A screenshot, log or document a member attached to their feedback.",
148
+ properties: {
149
+ file: p.blob({
150
+ managed: true,
151
+ maxBytes: APP_FEEDBACK_FILE_MAX_BYTES,
152
+ description: "The file, of any type, up to 25 MiB.",
153
+ }),
154
+ },
155
+ relationships: {
156
+ feedback: rel.one(AppFeedback, {
157
+ inverse: "files",
158
+ phrase: ["is attached to", "has"],
159
+ description: "The feedback the file belongs to.",
160
+ }),
161
+ },
162
+ }).actions((self) => ({
163
+ attach: action({
164
+ description: "Add one screenshot, log or document to feedback, after app_feedback_submit: a completed " +
165
+ "files_upload for this action, or a chat attachment through attachments_promote. Call once " +
166
+ "per file.",
167
+ hints: { destructive: false, idempotent: true },
168
+ input: Schema.Struct({ feedback: AppFeedback.ref, file: uploads.for(self, "file") }),
169
+ handler: ({ input }) => Effect.gen(function* () {
170
+ const file = yield* self.create({ feedback: input.feedback, file: input.file });
171
+ return { file: file.id };
172
+ }),
173
+ }),
174
+ }));
175
+ /** The entities `feedback: true` adds, in the order their tables are created. */
176
+ export const APP_FEEDBACK_ENTITIES = [AppFeedback, AppFeedbackFile];
@@ -0,0 +1,3 @@
1
+ import { Schema } from "effect";
2
+ /** A schema-aware codec: declared fields convert, JSON/dictionary keys and provider data do not. */
3
+ export declare function actionInputToWire(input: Schema.Top): Schema.Top;
@@ -0,0 +1,107 @@
1
+ import { Schema, SchemaAST, SchemaTransformation } from "effect";
2
+ import { propertyDefinition } from "./property.js";
3
+ import { isRecord, nameToWire } from "./authoring-names.js";
4
+ function mapChildren(ast, convert) {
5
+ switch (ast._tag) {
6
+ case "Objects":
7
+ return new SchemaAST.Objects(ast.propertySignatures.map((field) => new SchemaAST.PropertySignature(field.name, convert(field.type))), ast.indexSignatures.map((field) => new SchemaAST.IndexSignature(field.parameter, convert(field.type))), ast.annotations, ast.checks, ast.encoding, ast.context);
8
+ case "Arrays":
9
+ return new SchemaAST.Arrays(ast.isMutable, ast.elements.map(convert), ast.rest.map(convert), ast.annotations, ast.checks, ast.encoding, ast.context);
10
+ case "Union":
11
+ return new SchemaAST.Union(ast.types.map(convert), ast.options, ast.annotations, ast.checks, ast.encoding, ast.context);
12
+ case "Suspend":
13
+ return new SchemaAST.Suspend(() => convert(ast.thunk()), ast.annotations, undefined, ast.encoding, ast.context);
14
+ default:
15
+ return ast;
16
+ }
17
+ }
18
+ function selectToWire(ast) {
19
+ if (ast._tag === "Literal" && typeof ast.literal === "string") {
20
+ return new SchemaAST.Literal(nameToWire(ast.literal), ast.annotations, ast.checks, ast.encoding, ast.context);
21
+ }
22
+ return mapChildren(ast, selectToWire);
23
+ }
24
+ /** A schema-aware codec: declared fields convert, JSON/dictionary keys and provider data do not. */
25
+ export function actionInputToWire(input) {
26
+ const encoded = Schema.toEncoded(input).ast;
27
+ const nodes = new WeakMap();
28
+ const wire = (ast) => {
29
+ const existing = nodes.get(ast);
30
+ if (existing !== undefined) {
31
+ return existing;
32
+ }
33
+ const property = propertyDefinition(Schema.make(ast));
34
+ if (property?.type === "json") {
35
+ return ast;
36
+ }
37
+ if (property?.type === "select") {
38
+ return selectToWire(ast);
39
+ }
40
+ const nested = mapChildren(ast, wire);
41
+ if (nested._tag !== "Objects") {
42
+ nodes.set(ast, nested);
43
+ return nested;
44
+ }
45
+ const names = new Set();
46
+ const fields = nested.propertySignatures.map((field) => {
47
+ const name = typeof field.name === "string" ? nameToWire(field.name) : field.name;
48
+ if (names.has(name)) {
49
+ throw new Error(`Input fields collide on wire name ${String(name)}.`);
50
+ }
51
+ names.add(name);
52
+ return new SchemaAST.PropertySignature(name, field.type);
53
+ });
54
+ // Object checks run on the original camelCase shape after decoding below.
55
+ const result = new SchemaAST.Objects(fields, nested.indexSignatures, nested.annotations, undefined, undefined, nested.context);
56
+ nodes.set(ast, result);
57
+ return result;
58
+ };
59
+ const rename = (value, ast, decode) => {
60
+ const property = propertyDefinition(Schema.make(ast));
61
+ if (property?.type === "json") {
62
+ return value;
63
+ }
64
+ if (property?.type === "select" && typeof value === "string") {
65
+ return decode
66
+ ? (property.options?.find((option) => nameToWire(option.value) === value)?.value ?? value)
67
+ : nameToWire(value);
68
+ }
69
+ if (ast._tag === "Suspend") {
70
+ return rename(value, ast.thunk(), decode);
71
+ }
72
+ if (ast._tag === "Union") {
73
+ const member = ast.types.find((candidate) => Schema.is(Schema.make(decode ? wire(candidate) : candidate))(value));
74
+ return member === undefined ? value : rename(value, member, decode);
75
+ }
76
+ if (ast._tag === "Arrays" && Array.isArray(value)) {
77
+ return value.map((child, index) => {
78
+ const member = ast.elements[index] ?? ast.rest[0];
79
+ return member === undefined ? child : rename(child, member, decode);
80
+ });
81
+ }
82
+ if (ast._tag !== "Objects" || !isRecord(value)) {
83
+ return value;
84
+ }
85
+ return Object.fromEntries(Object.entries(value).map(([name, child]) => {
86
+ const field = ast.propertySignatures.find((candidate) => (decode && typeof candidate.name === "string"
87
+ ? nameToWire(candidate.name)
88
+ : candidate.name) === name);
89
+ return field === undefined
90
+ ? [
91
+ name,
92
+ ast.indexSignatures[0] === undefined
93
+ ? child
94
+ : rename(child, ast.indexSignatures[0].type, decode),
95
+ ]
96
+ : [
97
+ decode ? field.name : nameToWire(String(field.name)),
98
+ rename(child, field.type, decode),
99
+ ];
100
+ }));
101
+ };
102
+ const codec = Schema.make(wire(encoded)).pipe(Schema.decodeTo(input, SchemaTransformation.transform({
103
+ decode: (value) => rename(value, encoded, true),
104
+ encode: (value) => rename(value, encoded, false),
105
+ })));
106
+ return "fields" in input ? Object.assign(codec, { fields: input.fields }) : codec;
107
+ }
@@ -0,0 +1,4 @@
1
+ /** Leave malformed identifiers intact so validation still reports them. */
2
+ export declare function nameToWire(name: string): string;
3
+ export declare function permissionToWire(permission: string): string;
4
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
@@ -0,0 +1,13 @@
1
+ import { toSnakeCase } from "./names.js";
2
+ /** Leave malformed identifiers intact so validation still reports them. */
3
+ export function nameToWire(name) {
4
+ return typeof name === "string" && /^[a-z][a-zA-Z0-9]*$/.test(name) ? toSnakeCase(name) : name;
5
+ }
6
+ export function permissionToWire(permission) {
7
+ return typeof permission === "string"
8
+ ? permission.split(":").map(nameToWire).join(":")
9
+ : permission;
10
+ }
11
+ export function isRecord(value) {
12
+ return value !== null && typeof value === "object" && !Array.isArray(value);
13
+ }
@@ -0,0 +1,35 @@
1
+ import { type AnyEntity, type Properties, type Relationships } from "./entity.js";
2
+ import type { Edit } from "./runtime/history.js";
3
+ import type { FindOptions, FreshMetricQueryOptions, StoredRecord, StoredValues } from "./runtime.js";
4
+ interface Definition {
5
+ readonly properties: Properties;
6
+ readonly relationships?: Relationships;
7
+ }
8
+ /**
9
+ * A select property's values as stored, the option values' wire names, or as authored when
10
+ * `decode`. Other properties' values are data and stay as they are.
11
+ */
12
+ export declare function selectValue(value: unknown, property: unknown, decode: boolean): unknown;
13
+ /** Only record keys and select identifiers convert; property values remain data. */
14
+ export declare function recordFromWire<A>(value: unknown, definition?: Definition): A;
15
+ export declare function valuesToWire(values: StoredValues, definition: Definition): StoredValues;
16
+ /**
17
+ * The `where` of a scoped permission as the manifest writes it: the wire form of a query, with
18
+ * snake_case fields, relationships and operators, select values as stored, and `me` and paths as
19
+ * `{ "$me": [...] }` with snake_case hops. A relationship compared with `me`, a path or operators
20
+ * stays under its name. Converting a wire `where` again changes nothing.
21
+ */
22
+ export declare function scopeWhereToWire(where: unknown, definition?: Definition): unknown;
23
+ export declare function findToWire(options: FindOptions, definition: Definition): FindOptions;
24
+ /** A fresh metric query's metrics, grouped fields and `where` in wire names. */
25
+ export declare function metricQueryToWire(options: FreshMetricQueryOptions<unknown, string>, definition: Definition): FreshMetricQueryOptions;
26
+ /**
27
+ * A fresh metric query's row in authored names: the grouped fields as a record's, the metrics by the
28
+ * names the handler asked for.
29
+ */
30
+ export declare function metricQueryRowFromWire(row: StoredRecord, metrics: ReadonlyArray<string>, definition: Definition): StoredRecord;
31
+ /** Current action edits use the same property names and values as authored entity records. */
32
+ export declare function editsFromWire(edits: ReadonlyArray<Edit>, entities: ReadonlyArray<AnyEntity>): ReadonlyArray<Edit>;
33
+ /** Generated actions return entity records; authored action results remain application data. */
34
+ export declare function generatedResultFromWire(value: unknown, action: string, definition?: Definition): unknown;
35
+ export {};