@cosmicdrift/kumiko-framework 0.389.0 → 0.390.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 (616) hide show
  1. package/AGENTS.md +9 -4
  2. package/README.md +1 -1
  3. package/agents/examples/apex-surface-auth.md +2 -3
  4. package/agents/examples/api-worker-split.md +9 -2
  5. package/agents/examples/auth-claims.md +1 -1
  6. package/agents/examples/cross-feature-events.md +12 -12
  7. package/agents/examples/crypto-shredding-hr.md +2 -2
  8. package/agents/examples/encrypted-tenant-config.md +1 -1
  9. package/agents/examples/error-contract.md +12 -7
  10. package/agents/examples/event-sourcing.md +29 -29
  11. package/agents/examples/files-post-processing.md +10 -8
  12. package/agents/examples/inbound-mail-triage.md +1 -0
  13. package/agents/examples/lane-routing.md +2 -1
  14. package/agents/examples/legal-pages.md +2 -2
  15. package/agents/examples/lifecycle-hooks.md +3 -3
  16. package/agents/examples/managed-config.md +4 -4
  17. package/agents/examples/managed-pages.md +1 -1
  18. package/agents/examples/relations.md +19 -4
  19. package/agents/examples/search.md +4 -4
  20. package/agents/examples/secrets-demo.md +9 -6
  21. package/agents/examples/state-machine.md +2 -2
  22. package/agents/examples/tenant-settings.md +1 -1
  23. package/agents/examples/user-data-rights.md +3 -6
  24. package/agents/examples/workflow-engine.md +53 -47
  25. package/agents/examples.md +4 -4
  26. package/agents/features.md +1 -1
  27. package/dist/api/auth-middleware.js +1 -1
  28. package/dist/api/auth-routes-invite.js +2 -1
  29. package/dist/api/entity-read-access.d.ts +3 -1
  30. package/dist/api/export/export-columns.d.ts +3 -1
  31. package/dist/api/export/export-route.js +3 -2
  32. package/dist/api/export/export-screen.d.ts +2 -1
  33. package/dist/api/extra-route.d.ts +3 -1
  34. package/dist/api/index.d.ts +23 -27
  35. package/dist/api/index.js +13 -15
  36. package/dist/api/jwt.js +1 -1
  37. package/dist/api/observability-middleware.d.ts +1 -1
  38. package/dist/api/observability-middleware.js +2 -1
  39. package/dist/api/request-context-internals.d.ts +31 -0
  40. package/dist/api/request-context-internals.js +11 -0
  41. package/dist/api/request-context-scopes.d.ts +14 -0
  42. package/dist/api/request-context-scopes.js +69 -0
  43. package/dist/api/request-context.d.ts +1 -40
  44. package/dist/api/request-context.js +22 -51
  45. package/dist/api/request-id-middleware.d.ts +1 -1
  46. package/dist/api/route-registrars.d.ts +2 -1
  47. package/dist/api/route-registrars.js +1 -1
  48. package/dist/api/routes.js +7 -3
  49. package/dist/api/server-boot-checks.d.ts +1 -1
  50. package/dist/api/server-boot-checks.js +2 -2
  51. package/dist/api/server-event-dispatcher.d.ts +6 -1
  52. package/dist/api/server-event-dispatcher.js +3 -4
  53. package/dist/api/server-extra-routes.d.ts +1 -1
  54. package/dist/api/server-extra-routes.js +2 -1
  55. package/dist/api/server-middleware.js +3 -1
  56. package/dist/api/server-routes.d.ts +2 -1
  57. package/dist/api/server-wiring.js +6 -4
  58. package/dist/api/server.d.ts +2 -1
  59. package/dist/api/sse-route.d.ts +2 -1
  60. package/dist/api/tenant-scoped-secrets.d.ts +2 -0
  61. package/dist/api/tenant-scoped-secrets.js +13 -0
  62. package/dist/api/websocket-route.d.ts +1 -1
  63. package/dist/auth/index.d.ts +0 -1
  64. package/dist/auth/roles.d.ts +0 -5
  65. package/dist/compliance/duration-spec.d.ts +0 -1
  66. package/dist/compliance/duration-spec.js +0 -5
  67. package/dist/compliance/index.d.ts +4 -4
  68. package/dist/compliance/index.js +2 -2
  69. package/dist/compliance/profiles.d.ts +0 -15
  70. package/dist/compliance/profiles.js +0 -23
  71. package/dist/config/index.d.ts +10 -10
  72. package/dist/config/index.js +13 -1
  73. package/dist/config/internals.d.ts +9 -0
  74. package/dist/config/internals.js +1 -0
  75. package/dist/consumer-cli-internals.d.ts +4 -0
  76. package/dist/consumer-cli-internals.js +1 -0
  77. package/dist/consumer-cli.d.ts +1 -4
  78. package/dist/consumer-cli.js +5 -1
  79. package/dist/crypto/event-pii.js +1 -1
  80. package/dist/crypto/index.d.ts +8 -9
  81. package/dist/crypto/index.js +7 -8
  82. package/dist/crypto/pg-kms-adapter.js +6 -1
  83. package/dist/db/apply-entity-event.d.ts +1 -1
  84. package/dist/db/apply-entity-event.js +15 -47
  85. package/dist/db/blind-index-cleanup.js +91 -77
  86. package/dist/db/collect-table-metas.js +1 -1
  87. package/dist/db/compound-types.d.ts +1 -1
  88. package/dist/db/compound-types.js +0 -7
  89. package/dist/db/config-seed.d.ts +2 -1
  90. package/dist/db/config-seed.js +6 -1
  91. package/dist/db/connection.d.ts +3 -1
  92. package/dist/db/connection.js +15 -5
  93. package/dist/db/cross-tenant-reads.d.ts +1 -1
  94. package/dist/db/cross-tenant-reads.js +1 -1
  95. package/dist/db/dialect.d.ts +0 -5
  96. package/dist/db/dialect.js +0 -3
  97. package/dist/db/eagerload.d.ts +2 -1
  98. package/dist/db/entity-field-encryption.d.ts +1 -1
  99. package/dist/db/entity-table-meta.d.ts +1 -1
  100. package/dist/db/event-store-executor-context.d.ts +3 -1
  101. package/dist/db/event-store-executor-context.js +4 -3
  102. package/dist/db/event-store-executor-read-filter.d.ts +1 -1
  103. package/dist/db/event-store-executor-read-rows.d.ts +2 -1
  104. package/dist/db/event-store-executor-read-search.d.ts +2 -1
  105. package/dist/db/event-store-executor-read-sort.d.ts +2 -1
  106. package/dist/db/event-store-executor-read.js +2 -2
  107. package/dist/db/event-store-executor-write-atomic.js +8 -7
  108. package/dist/db/event-store-executor-write-steps.d.ts +3 -2
  109. package/dist/db/event-store-executor-write.js +7 -4
  110. package/dist/db/event-store-executor.d.ts +1 -1
  111. package/dist/db/executor-managed-tables.d.ts +7 -1
  112. package/dist/db/executor-managed-tables.js +11 -2
  113. package/dist/db/index.d.ts +29 -28
  114. package/dist/db/index.js +22 -20
  115. package/dist/db/known-table-names.d.ts +6 -0
  116. package/dist/db/known-table-names.js +21 -0
  117. package/dist/db/list-aggregate-labels.d.ts +1 -1
  118. package/dist/db/located-timestamp.d.ts +1 -1
  119. package/dist/db/located-timestamp.js +0 -5
  120. package/dist/db/migrate-generator.d.ts +17 -1
  121. package/dist/db/migrate-generator.js +50 -20
  122. package/dist/db/migrate-primary-key.d.ts +12 -0
  123. package/dist/db/migrate-primary-key.js +45 -0
  124. package/dist/db/migrate-rls-diff.d.ts +20 -0
  125. package/dist/db/migrate-rls-diff.js +61 -0
  126. package/dist/db/migrate-runner.js +4 -0
  127. package/dist/db/money.d.ts +1 -1
  128. package/dist/db/money.js +1 -1
  129. package/dist/db/parent-ref-clause.d.ts +2 -1
  130. package/dist/db/pg-error.d.ts +2 -0
  131. package/dist/db/pg-error.js +11 -0
  132. package/dist/db/queries/ddl.d.ts +3 -0
  133. package/dist/db/queries/ddl.js +34 -1
  134. package/dist/db/queries/event-store.js +4 -2
  135. package/dist/db/queries/event-tenants.d.ts +2 -0
  136. package/dist/db/queries/event-tenants.js +17 -0
  137. package/dist/db/queries/rebuild-rls-guard.d.ts +2 -0
  138. package/dist/db/queries/rebuild-rls-guard.js +29 -0
  139. package/dist/db/queries/rls-boot-catalog.d.ts +16 -0
  140. package/dist/db/queries/rls-boot-catalog.js +39 -0
  141. package/dist/db/queries/rls-catalog.d.ts +6 -0
  142. package/dist/db/queries/rls-catalog.js +82 -0
  143. package/dist/db/queries/rls-scope.d.ts +3 -0
  144. package/dist/db/queries/rls-scope.js +17 -0
  145. package/dist/db/queries/rls-shape.d.ts +10 -0
  146. package/dist/db/queries/rls-shape.js +42 -0
  147. package/dist/db/queries/session-advisory-lock.d.ts +2 -0
  148. package/dist/db/queries/session-advisory-lock.js +23 -0
  149. package/dist/db/queries/shadow-swap.d.ts +1 -2
  150. package/dist/db/queries/shadow-swap.js +9 -25
  151. package/dist/db/queries/test-stack.d.ts +4 -1
  152. package/dist/db/queries/test-stack.js +83 -2
  153. package/dist/db/query.js +11 -7
  154. package/dist/db/reference-data.d.ts +1 -1
  155. package/dist/db/reference-data.js +6 -1
  156. package/dist/db/render-ddl.d.ts +6 -2
  157. package/dist/db/render-ddl.js +7 -7
  158. package/dist/db/render-rls-ddl.d.ts +35 -0
  159. package/dist/db/render-rls-ddl.js +127 -0
  160. package/dist/db/replay-migration-sql.d.ts +3 -1
  161. package/dist/db/replay-migration-sql.js +22 -5
  162. package/dist/db/replay-rls.d.ts +25 -0
  163. package/dist/db/replay-rls.js +156 -0
  164. package/dist/db/row-level-security-boot-check.d.ts +5 -0
  165. package/dist/db/row-level-security-boot-check.js +85 -0
  166. package/dist/db/row-level-security-connection.d.ts +3 -0
  167. package/dist/db/row-level-security-connection.js +213 -0
  168. package/dist/db/row-level-security-scope.d.ts +33 -0
  169. package/dist/db/row-level-security-scope.js +127 -0
  170. package/dist/db/scope-tenant-db-to-tenant.d.ts +3 -0
  171. package/dist/db/scope-tenant-db-to-tenant.js +14 -0
  172. package/dist/db/sql-identifier.d.ts +1 -0
  173. package/dist/db/sql-identifier.js +3 -0
  174. package/dist/db/table-builder.d.ts +2 -1
  175. package/dist/db/table-builder.js +1 -1
  176. package/dist/db/table-info.js +1 -1
  177. package/dist/db/table-push.d.ts +11 -2
  178. package/dist/db/table-push.js +15 -2
  179. package/dist/db/tenant-db-runner.d.ts +3 -1
  180. package/dist/db/tenant-db-runner.js +4 -3
  181. package/dist/db/tenant-db-scoped-rebind.d.ts +10 -0
  182. package/dist/db/tenant-db-scoped-rebind.js +33 -0
  183. package/dist/db/tenant-db-statement-runner.d.ts +13 -0
  184. package/dist/db/tenant-db-statement-runner.js +48 -0
  185. package/dist/db/tenant-db.d.ts +17 -12
  186. package/dist/db/tenant-db.js +49 -120
  187. package/dist/db/tenant-id-filter.d.ts +3 -0
  188. package/dist/db/tenant-id-filter.js +30 -0
  189. package/dist/db/transaction-serialization.d.ts +6 -0
  190. package/dist/db/transaction-serialization.js +60 -0
  191. package/dist/derivatives/delete-stored-file.js +1 -1
  192. package/dist/derivatives/index.d.ts +2 -5
  193. package/dist/derivatives/index.js +2 -3
  194. package/dist/engine/access.d.ts +2 -1
  195. package/dist/engine/access.js +1 -1
  196. package/dist/engine/boot-validator/entity-handler.d.ts +2 -1
  197. package/dist/engine/boot-validator/entity-handler.js +1 -1
  198. package/dist/engine/boot-validator/entity-list-aggregate-options.d.ts +1 -1
  199. package/dist/engine/boot-validator/list-table-aggregate-options.d.ts +1 -1
  200. package/dist/engine/boot-validator/list-table-aggregate-query.d.ts +2 -1
  201. package/dist/engine/boot-validator/nav.d.ts +3 -1
  202. package/dist/engine/boot-validator/nav.js +1 -1
  203. package/dist/engine/boot-validator/ownership.d.ts +2 -1
  204. package/dist/engine/boot-validator/parent-ref.d.ts +2 -1
  205. package/dist/engine/boot-validator/projection-list-screens.d.ts +2 -1
  206. package/dist/engine/boot-validator/query-refs.d.ts +2 -1
  207. package/dist/engine/boot-validator/screens-forms.d.ts +2 -1
  208. package/dist/engine/boot-validator/screens-kind-shared.d.ts +3 -1
  209. package/dist/engine/boot-validator/screens.d.ts +2 -1
  210. package/dist/engine/boot-validator/workspaces.d.ts +3 -1
  211. package/dist/engine/bridge-stub.d.ts +5 -2
  212. package/dist/engine/bridge-stub.js +39 -24
  213. package/dist/engine/config-helpers.d.ts +2 -2
  214. package/dist/engine/config-helpers.js +0 -9
  215. package/dist/engine/constants.d.ts +0 -10
  216. package/dist/engine/constants.js +0 -8
  217. package/dist/engine/create-app.js +1 -1
  218. package/dist/engine/define-feature.d.ts +2 -1
  219. package/dist/engine/define-feature.js +1 -2
  220. package/dist/engine/define-handler.d.ts +1 -1
  221. package/dist/engine/define-step.d.ts +0 -1
  222. package/dist/engine/define-step.js +0 -3
  223. package/dist/engine/embedded-derived.d.ts +1 -1
  224. package/dist/engine/entity-handlers.d.ts +2 -1
  225. package/dist/engine/entity-handlers.js +7 -7
  226. package/dist/engine/entity-list-runtime-options.js +3 -1
  227. package/dist/engine/entity-list-searchability.d.ts +2 -1
  228. package/dist/engine/event-def.d.ts +2 -1
  229. package/dist/engine/event-helpers.d.ts +3 -1
  230. package/dist/engine/event-helpers.js +3 -3
  231. package/dist/engine/extension-names.d.ts +2 -8
  232. package/dist/engine/extension-names.js +2 -2
  233. package/dist/engine/extension-selector-plugins.d.ts +1 -1
  234. package/dist/engine/extensions/storage-provider.d.ts +1 -2
  235. package/dist/engine/extensions/user-data.d.ts +0 -8
  236. package/dist/engine/factories.d.ts +2 -1
  237. package/dist/engine/feature-builder-state.d.ts +8 -1
  238. package/dist/engine/feature-changelog.d.ts +1 -1
  239. package/dist/engine/feature-config-events-jobs.d.ts +4 -1
  240. package/dist/engine/feature-entity-handlers.d.ts +5 -1
  241. package/dist/engine/feature-manifest.js +1 -1
  242. package/dist/engine/feature-ui-extensions.d.ts +7 -1
  243. package/dist/engine/feature-ui-extensions.js +6 -4
  244. package/dist/engine/field-access.d.ts +2 -1
  245. package/dist/engine/handler-field-references.d.ts +0 -4
  246. package/dist/engine/index.d.ts +57 -54
  247. package/dist/engine/index.js +22 -27
  248. package/dist/engine/instruction-fields.d.ts +1 -1
  249. package/dist/engine/personal-data-fields.d.ts +1 -1
  250. package/dist/engine/qualified-name.d.ts +0 -1
  251. package/dist/engine/read-claim.d.ts +2 -1
  252. package/dist/engine/registry-facade.js +0 -3
  253. package/dist/engine/registry-ingest.d.ts +2 -1
  254. package/dist/engine/registry-ingest.js +1 -2
  255. package/dist/engine/registry-state.d.ts +12 -2
  256. package/dist/engine/registry-state.js +2 -3
  257. package/dist/engine/registry-validate.d.ts +3 -1
  258. package/dist/engine/registry-validate.js +7 -7
  259. package/dist/engine/run-in.d.ts +1 -1
  260. package/dist/engine/run-in.js +0 -1
  261. package/dist/engine/schema-builder.d.ts +1 -1
  262. package/dist/engine/schema-builder.js +1 -1
  263. package/dist/engine/screen-filter-ops.d.ts +2 -1
  264. package/dist/engine/screen-filter-ops.js +0 -5
  265. package/dist/engine/soft-delete-cleanup.d.ts +1 -1
  266. package/dist/engine/soft-delete-cleanup.js +4 -4
  267. package/dist/engine/state-machine.js +2 -1
  268. package/dist/engine/steps/_read-source.js +1 -1
  269. package/dist/engine/steps/aggregate-append-event.js +2 -2
  270. package/dist/engine/steps/call-feature.js +2 -2
  271. package/dist/engine/steps/mail-send.js +1 -1
  272. package/dist/engine/steps/retry.js +1 -1
  273. package/dist/engine/steps/wait-for-event.js +1 -1
  274. package/dist/engine/steps/wait.js +1 -1
  275. package/dist/engine/steps/webhook-send.js +1 -1
  276. package/dist/engine/template-variables.d.ts +2 -1
  277. package/dist/engine/transfer-adjacency.d.ts +1 -1
  278. package/dist/engine/types/index.d.ts +8 -31
  279. package/dist/engine/types/index.js +2 -10
  280. package/dist/engine/validation.d.ts +2 -1
  281. package/dist/entrypoint/index.d.ts +7 -35
  282. package/dist/entrypoint/index.js +7 -1
  283. package/dist/entrypoint/internals.d.ts +40 -0
  284. package/dist/entrypoint/internals.js +1 -0
  285. package/dist/entrypoint/row-level-security-mode-check.d.ts +3 -0
  286. package/dist/entrypoint/row-level-security-mode-check.js +19 -0
  287. package/dist/env/dry-run-internals.d.ts +10 -0
  288. package/dist/env/dry-run-internals.js +1 -0
  289. package/dist/env/dry-run.d.ts +1 -10
  290. package/dist/env/dry-run.js +2 -1
  291. package/dist/env/index.d.ts +1 -85
  292. package/dist/env/index.js +6 -50
  293. package/dist/env/internals.d.ts +87 -0
  294. package/dist/env/internals.js +53 -0
  295. package/dist/errors/classes.js +2 -2
  296. package/dist/errors/index.d.ts +5 -14
  297. package/dist/errors/index.js +4 -9
  298. package/dist/errors/member-resolution.js +1 -1
  299. package/dist/errors/reasons.d.ts +0 -1
  300. package/dist/errors/reasons.js +7 -7
  301. package/dist/errors/serialize.d.ts +0 -18
  302. package/dist/errors/serialize.js +0 -27
  303. package/dist/es-ops/index.d.ts +4 -4
  304. package/dist/es-ops/index.js +2 -2
  305. package/dist/es-ops/operations-schema.d.ts +1 -1
  306. package/dist/es-ops/types.d.ts +4 -5
  307. package/dist/event-store/admin-api-internals.d.ts +14 -0
  308. package/dist/event-store/admin-api-internals.js +1 -0
  309. package/dist/event-store/admin-api.d.ts +1 -14
  310. package/dist/event-store/admin-api.js +11 -6
  311. package/dist/event-store/archive.js +4 -2
  312. package/dist/event-store/errors.js +2 -2
  313. package/dist/event-store/event-store.js +41 -34
  314. package/dist/event-store/events-schema.js +4 -1
  315. package/dist/event-store/index.d.ts +11 -13
  316. package/dist/event-store/index.js +7 -9
  317. package/dist/event-store/rebuild-dead-letter.js +4 -2
  318. package/dist/event-store/snapshot.js +4 -3
  319. package/dist/event-store/stream-scope.d.ts +2 -0
  320. package/dist/event-store/stream-scope.js +6 -0
  321. package/dist/event-store/upcaster-dead-letter.js +4 -2
  322. package/dist/event-store/upcaster.d.ts +2 -1
  323. package/dist/files/action-form-upload.d.ts +2 -1
  324. package/dist/files/action-form-upload.js +1 -1
  325. package/dist/files/assert-file-refs-belong-to-tenant.d.ts +2 -1
  326. package/dist/files/assert-file-refs-belong-to-tenant.js +1 -1
  327. package/dist/files/bind-pending-file-refs.d.ts +2 -1
  328. package/dist/files/bind-pending-file-refs.js +2 -1
  329. package/dist/files/bind-referenced-files.write.js +1 -1
  330. package/dist/files/create-file-ref-from-bytes.d.ts +6 -3
  331. package/dist/files/create-file-ref-from-bytes.js +3 -3
  332. package/dist/files/create-file-ref.d.ts +3 -2
  333. package/dist/files/create-file-ref.js +2 -2
  334. package/dist/files/dispose-removed-file-refs.d.ts +2 -1
  335. package/dist/files/dispose-removed-file-refs.js +1 -1
  336. package/dist/files/feature.js +2 -2
  337. package/dist/files/file-handle.js +1 -1
  338. package/dist/files/file-routes.d.ts +1 -1
  339. package/dist/files/file-routes.js +12 -2
  340. package/dist/files/index.d.ts +11 -13
  341. package/dist/files/index.js +5 -7
  342. package/dist/files/load-save-file-refs.d.ts +2 -1
  343. package/dist/files/load-save-file-refs.js +1 -1
  344. package/dist/files/provider-resolver.d.ts +5 -4
  345. package/dist/files/provider-resolver.js +4 -4
  346. package/dist/files/storage-tracking.js +4 -2
  347. package/dist/files/sweep-orphaned-uploads.d.ts +1 -1
  348. package/dist/files/sweep-orphaned-uploads.js +1 -1
  349. package/dist/i18n/index.d.ts +2 -8
  350. package/dist/i18n/index.js +1 -1
  351. package/dist/i18n/internals.d.ts +7 -0
  352. package/dist/i18n/internals.js +1 -0
  353. package/dist/i18n/required-surface-keys.d.ts +4 -1
  354. package/dist/internal/row-level-security.d.ts +3 -0
  355. package/dist/internal/row-level-security.js +3 -0
  356. package/dist/internal/stack-support.d.ts +1 -1
  357. package/dist/internal/stack-support.js +1 -1
  358. package/dist/internal/testing.d.ts +1 -0
  359. package/dist/internal/testing.js +9 -5
  360. package/dist/jobs/index.d.ts +1 -1
  361. package/dist/jobs/job-append-event.d.ts +12 -0
  362. package/dist/jobs/job-append-event.js +30 -0
  363. package/dist/jobs/job-runner-context.d.ts +2 -2
  364. package/dist/jobs/job-runner-context.js +46 -16
  365. package/dist/jobs/job-runner-execution.d.ts +1 -1
  366. package/dist/jobs/job-runner-execution.js +6 -4
  367. package/dist/jobs/job-runner-gates.d.ts +1 -1
  368. package/dist/jobs/job-runner-gates.js +0 -1
  369. package/dist/jobs/job-runner-helpers.d.ts +11 -4
  370. package/dist/jobs/job-runner-helpers.js +10 -1
  371. package/dist/jobs/job-runner-scope.d.ts +5 -2
  372. package/dist/jobs/job-runner-types.d.ts +2 -1
  373. package/dist/jobs/job-runner.js +19 -6
  374. package/dist/jobs/max-per-tenant.d.ts +1 -1
  375. package/dist/logging/index.d.ts +1 -2
  376. package/dist/logging/index.js +1 -1
  377. package/dist/logging/pino-logger.js +1 -1
  378. package/dist/logging/utils.d.ts +1 -0
  379. package/dist/logging/utils.js +6 -0
  380. package/dist/migrations/index.d.ts +3 -3
  381. package/dist/migrations/index.js +3 -3
  382. package/dist/migrations/pending-rebuilds.d.ts +1 -1
  383. package/dist/migrations/pending-rebuilds.js +1 -1
  384. package/dist/migrations/pii-event-backfill.js +4 -1
  385. package/dist/observability/escape-hatch-report.d.ts +2 -1
  386. package/dist/observability/index.d.ts +7 -15
  387. package/dist/observability/index.js +4 -12
  388. package/dist/observability/metric-validator.js +1 -1
  389. package/dist/observability/metrics-handle.d.ts +0 -1
  390. package/dist/observability/metrics-handle.js +2 -15
  391. package/dist/observability/recording-tracer.d.ts +1 -2
  392. package/dist/observability/recording-tracer.js +0 -6
  393. package/dist/observability/sensitive-filter.d.ts +0 -2
  394. package/dist/observability/sensitive-filter.js +0 -29
  395. package/dist/pipeline/active-membership.d.ts +2 -1
  396. package/dist/pipeline/active-membership.js +6 -2
  397. package/dist/pipeline/append-event-core.d.ts +2 -1
  398. package/dist/pipeline/append-event-core.js +2 -2
  399. package/dist/pipeline/attach-outside-transaction.d.ts +3 -0
  400. package/dist/pipeline/attach-outside-transaction.js +13 -0
  401. package/dist/pipeline/auth-claims-resolver.d.ts +2 -1
  402. package/dist/pipeline/cascade-handler.d.ts +2 -1
  403. package/dist/pipeline/cascade-handler.js +3 -2
  404. package/dist/pipeline/config-accessor-factory.d.ts +1 -1
  405. package/dist/pipeline/config-accessor-factory.js +1 -1
  406. package/dist/pipeline/context-services.d.ts +56 -0
  407. package/dist/pipeline/context-services.js +73 -0
  408. package/dist/pipeline/dispatch-batch.d.ts +2 -1
  409. package/dist/pipeline/dispatch-batch.js +31 -18
  410. package/dist/pipeline/dispatch-query.js +5 -4
  411. package/dist/pipeline/dispatch-scope.d.ts +6 -0
  412. package/dist/pipeline/dispatch-scope.js +27 -0
  413. package/dist/pipeline/dispatch-shared.d.ts +13 -9
  414. package/dist/pipeline/dispatch-shared.js +75 -198
  415. package/dist/pipeline/dispatch-stream.js +8 -4
  416. package/dist/pipeline/dispatch-write.d.ts +2 -1
  417. package/dist/pipeline/dispatch-write.js +10 -8
  418. package/dist/pipeline/dispatcher-utils.d.ts +3 -1
  419. package/dist/pipeline/dispatcher-utils.js +8 -2
  420. package/dist/pipeline/dispatcher.d.ts +3 -2
  421. package/dist/pipeline/dispatcher.js +4 -3
  422. package/dist/pipeline/event-consumer-state.d.ts +0 -1
  423. package/dist/pipeline/event-dispatcher-delivery.d.ts +1 -1
  424. package/dist/pipeline/event-dispatcher-delivery.js +4 -2
  425. package/dist/pipeline/event-dispatcher.d.ts +2 -2
  426. package/dist/pipeline/event-dispatcher.js +7 -3
  427. package/dist/pipeline/event-retention.js +59 -56
  428. package/dist/pipeline/handler-access-error.js +2 -1
  429. package/dist/pipeline/handler-context-auth.d.ts +5 -6
  430. package/dist/pipeline/handler-context-auth.js +7 -4
  431. package/dist/pipeline/handler-context-config.d.ts +2 -5
  432. package/dist/pipeline/handler-context-config.js +2 -2
  433. package/dist/pipeline/handler-context-db.d.ts +32 -7
  434. package/dist/pipeline/handler-context-db.js +26 -17
  435. package/dist/pipeline/handler-context-dispatch.d.ts +13 -7
  436. package/dist/pipeline/handler-context-dispatch.js +9 -8
  437. package/dist/pipeline/handler-context-events.d.ts +22 -36
  438. package/dist/pipeline/handler-context-events.js +36 -31
  439. package/dist/pipeline/handler-context-member-resolution.d.ts +2 -0
  440. package/dist/pipeline/handler-context-member-resolution.js +110 -0
  441. package/dist/pipeline/handler-context-notify.d.ts +3 -2
  442. package/dist/pipeline/handler-context-notify.js +1 -1
  443. package/dist/pipeline/handler-context-observability.d.ts +2 -4
  444. package/dist/pipeline/handler-context-observability.js +7 -5
  445. package/dist/pipeline/handler-context-phase-denials.d.ts +11 -0
  446. package/dist/pipeline/handler-context-phase-denials.js +98 -0
  447. package/dist/pipeline/handler-context-scope.d.ts +7 -10
  448. package/dist/pipeline/handler-context-scope.js +18 -20
  449. package/dist/pipeline/index.d.ts +9 -21
  450. package/dist/pipeline/index.js +5 -7
  451. package/dist/pipeline/irreversible-operation-gate.d.ts +1 -1
  452. package/dist/pipeline/irreversible-operation-gate.js +2 -2
  453. package/dist/pipeline/lifecycle-pipeline.d.ts +8 -7
  454. package/dist/pipeline/lifecycle-pipeline.js +9 -15
  455. package/dist/pipeline/member-read-only-transaction.js +11 -3
  456. package/dist/pipeline/member-reader.d.ts +1 -1
  457. package/dist/pipeline/member-reader.js +2 -2
  458. package/dist/pipeline/msp-rebuild.js +5 -3
  459. package/dist/pipeline/multi-stream-apply-context.js +3 -2
  460. package/dist/pipeline/notify-scope.d.ts +2 -1
  461. package/dist/pipeline/pre-handler-gates.d.ts +2 -1
  462. package/dist/pipeline/pre-transaction-reservations.d.ts +3 -3
  463. package/dist/pipeline/pre-transaction-reservations.js +9 -7
  464. package/dist/pipeline/projection-rebuild.js +12 -5
  465. package/dist/pipeline/projection-state.d.ts +0 -6
  466. package/dist/pipeline/projection-state.js +0 -5
  467. package/dist/pipeline/projections-runner.d.ts +2 -1
  468. package/dist/pipeline/projections-runner.js +10 -6
  469. package/dist/pipeline/system-hooks.d.ts +3 -1
  470. package/dist/pipeline/system-hooks.js +6 -4
  471. package/dist/pipeline/system-identity-switch.d.ts +4 -2
  472. package/dist/pipeline/system-identity-switch.js +51 -36
  473. package/dist/pipeline/typed-append-event.d.ts +2 -0
  474. package/dist/pipeline/typed-append-event.js +4 -0
  475. package/dist/pipeline/write-origin.js +2 -2
  476. package/dist/pipeline/write-result-masking.d.ts +1 -1
  477. package/dist/random/index.d.ts +1 -2
  478. package/dist/random/index.js +1 -2
  479. package/dist/rate-limit/bucket.d.ts +2 -1
  480. package/dist/rate-limit/middleware.js +2 -1
  481. package/dist/redis/index.d.ts +3 -4
  482. package/dist/redis/index.js +2 -2
  483. package/dist/schema-cli/apply-command.js +5 -2
  484. package/dist/schema-cli/baseline-command.js +7 -2
  485. package/dist/schema-cli/generate-command.js +7 -9
  486. package/dist/schema-cli/shared.d.ts +4 -0
  487. package/dist/schema-cli/shared.js +21 -2
  488. package/dist/schema-cli/status-command.js +8 -2
  489. package/dist/schema-cli/validate-command.js +52 -4
  490. package/dist/schema-cli.d.ts +0 -1
  491. package/dist/search/configure-tenant-index.d.ts +1 -3
  492. package/dist/search/configure-tenant-index.js +0 -4
  493. package/dist/search/index.d.ts +1 -4
  494. package/dist/search/index.js +0 -2
  495. package/dist/search/meilisearch-adapter-internals.d.ts +8 -0
  496. package/dist/search/meilisearch-adapter-internals.js +9 -0
  497. package/dist/search/meilisearch-adapter.d.ts +1 -8
  498. package/dist/search/meilisearch-adapter.js +6 -7
  499. package/dist/search/meilisearch-peer.d.ts +2 -0
  500. package/dist/search/meilisearch-peer.js +5 -0
  501. package/dist/search/reindex-entity.js +93 -87
  502. package/dist/secrets/index.d.ts +3 -4
  503. package/dist/secrets/index.js +2 -3
  504. package/dist/seeding/index.d.ts +2 -2
  505. package/dist/seeding/index.js +1 -2
  506. package/dist/time/index.d.ts +2 -2
  507. package/dist/time/index.js +1 -1
  508. package/dist/time/tz-context.d.ts +0 -5
  509. package/dist/time/tz-context.js +0 -9
  510. package/dist/ui-types/index.d.ts +8 -11
  511. package/dist/ui-types/index.js +3 -3
  512. package/dist/upgrade-changelog.d.ts +3 -2
  513. package/dist/upgrade-changelog.js +12 -8
  514. package/dist/upgrade-cli-internals.d.ts +8 -0
  515. package/dist/upgrade-cli-internals.js +63 -0
  516. package/dist/upgrade-cli.d.ts +1 -9
  517. package/dist/upgrade-cli.js +10 -64
  518. package/dist/utils/import-optional-peer.d.ts +6 -0
  519. package/dist/utils/import-optional-peer.js +19 -0
  520. package/dist/utils/index.d.ts +1 -4
  521. package/dist/utils/index.js +1 -4
  522. package/package.json +22 -18
  523. package/src/changes.json +206 -0
  524. package/dist/crypto/request-kms-cache.d.ts +0 -8
  525. package/dist/crypto/request-kms-cache.js +0 -21
  526. package/dist/engine/codemod/index.d.ts +0 -2
  527. package/dist/engine/codemod/index.js +0 -1
  528. package/dist/engine/codemod/pipeline-codemod.d.ts +0 -50
  529. package/dist/engine/codemod/pipeline-codemod.js +0 -536
  530. package/dist/engine/feature-ast/entity-field-types.d.ts +0 -13
  531. package/dist/engine/feature-ast/entity-field-types.js +0 -35
  532. package/dist/engine/feature-ast/extractors/ai-steps.d.ts +0 -6
  533. package/dist/engine/feature-ast/extractors/ai-steps.js +0 -254
  534. package/dist/engine/feature-ast/extractors/events.d.ts +0 -5
  535. package/dist/engine/feature-ast/extractors/events.js +0 -275
  536. package/dist/engine/feature-ast/extractors/handlers.d.ts +0 -24
  537. package/dist/engine/feature-ast/extractors/handlers.js +0 -358
  538. package/dist/engine/feature-ast/extractors/hooks.d.ts +0 -24
  539. package/dist/engine/feature-ast/extractors/hooks.js +0 -248
  540. package/dist/engine/feature-ast/extractors/index.d.ts +0 -14
  541. package/dist/engine/feature-ast/extractors/index.js +0 -13
  542. package/dist/engine/feature-ast/extractors/jobs-routes.d.ts +0 -7
  543. package/dist/engine/feature-ast/extractors/jobs-routes.js +0 -145
  544. package/dist/engine/feature-ast/extractors/projections-screens.d.ts +0 -10
  545. package/dist/engine/feature-ast/extractors/projections-screens.js +0 -195
  546. package/dist/engine/feature-ast/extractors/resolve-import.d.ts +0 -21
  547. package/dist/engine/feature-ast/extractors/resolve-import.js +0 -180
  548. package/dist/engine/feature-ast/extractors/round1.d.ts +0 -11
  549. package/dist/engine/feature-ast/extractors/round1.js +0 -87
  550. package/dist/engine/feature-ast/extractors/round2.d.ts +0 -7
  551. package/dist/engine/feature-ast/extractors/round2.js +0 -191
  552. package/dist/engine/feature-ast/extractors/round3.d.ts +0 -23
  553. package/dist/engine/feature-ast/extractors/round3.js +0 -292
  554. package/dist/engine/feature-ast/extractors/round5.d.ts +0 -9
  555. package/dist/engine/feature-ast/extractors/round5.js +0 -68
  556. package/dist/engine/feature-ast/extractors/round6.d.ts +0 -4
  557. package/dist/engine/feature-ast/extractors/round6.js +0 -17
  558. package/dist/engine/feature-ast/extractors/shared.d.ts +0 -94
  559. package/dist/engine/feature-ast/extractors/shared.js +0 -343
  560. package/dist/engine/feature-ast/index.d.ts +0 -16
  561. package/dist/engine/feature-ast/index.js +0 -10
  562. package/dist/engine/feature-ast/parse.d.ts +0 -31
  563. package/dist/engine/feature-ast/parse.js +0 -485
  564. package/dist/engine/feature-ast/patch.d.ts +0 -212
  565. package/dist/engine/feature-ast/patch.js +0 -611
  566. package/dist/engine/feature-ast/patcher.d.ts +0 -217
  567. package/dist/engine/feature-ast/patcher.js +0 -281
  568. package/dist/engine/feature-ast/pattern-change-schema.d.ts +0 -1238
  569. package/dist/engine/feature-ast/pattern-change-schema.js +0 -1072
  570. package/dist/engine/feature-ast/pattern-id-matchers.d.ts +0 -7
  571. package/dist/engine/feature-ast/pattern-id-matchers.js +0 -211
  572. package/dist/engine/feature-ast/pattern-id-schema.d.ts +0 -251
  573. package/dist/engine/feature-ast/pattern-id-schema.js +0 -166
  574. package/dist/engine/feature-ast/patterns.d.ts +0 -322
  575. package/dist/engine/feature-ast/patterns.js +0 -107
  576. package/dist/engine/feature-ast/render.d.ts +0 -47
  577. package/dist/engine/feature-ast/render.js +0 -666
  578. package/dist/engine/feature-ast/source-location.d.ts +0 -17
  579. package/dist/engine/feature-ast/source-location.js +0 -27
  580. package/dist/engine/pattern-library/index.d.ts +0 -2
  581. package/dist/engine/pattern-library/index.js +0 -3
  582. package/dist/engine/pattern-library/library.d.ts +0 -14
  583. package/dist/engine/pattern-library/library.js +0 -94
  584. package/dist/engine/pattern-library/mixed-schemas.d.ts +0 -16
  585. package/dist/engine/pattern-library/mixed-schemas.js +0 -559
  586. package/dist/engine/pattern-library/opaque-schemas.d.ts +0 -7
  587. package/dist/engine/pattern-library/opaque-schemas.js +0 -115
  588. package/dist/engine/pattern-library/shared-fields.d.ts +0 -122
  589. package/dist/engine/pattern-library/shared-fields.js +0 -88
  590. package/dist/engine/pattern-library/static-schemas.d.ts +0 -21
  591. package/dist/engine/pattern-library/static-schemas.js +0 -487
  592. package/dist/engine/pattern-library/types.d.ts +0 -158
  593. package/dist/engine/pattern-library/types.js +0 -36
  594. package/dist/engine/resolve-config-or-param.d.ts +0 -18
  595. package/dist/engine/resolve-config-or-param.js +0 -76
  596. package/src/scripts/codemod/README.md +0 -187
  597. package/src/scripts/codemod/codemod-support.ts +0 -334
  598. package/src/scripts/codemod/collect-source-files.ts +0 -48
  599. package/src/scripts/codemod/crypto-shredding-testing-move.ts +0 -119
  600. package/src/scripts/codemod/db-factory.ts +0 -810
  601. package/src/scripts/codemod/feature-factory.ts +0 -429
  602. package/src/scripts/codemod/feature-layout.ts +0 -424
  603. package/src/scripts/codemod/import-extensions.ts +0 -118
  604. package/src/scripts/codemod/migrate-cross-tenant.ts +0 -328
  605. package/src/scripts/codemod/migrate-db-raw.ts +0 -401
  606. package/src/scripts/codemod/migrate-open-to-all.ts +0 -235
  607. package/src/scripts/codemod/object-form.ts +0 -746
  608. package/src/scripts/codemod/package-merge.ts +0 -299
  609. package/src/scripts/codemod/pii-personal-migration.ts +0 -816
  610. package/src/scripts/codemod/remove-engine-payload-casts.ts +0 -318
  611. package/src/scripts/codemod/s3-imports.ts +0 -236
  612. package/src/scripts/codemod/tenant-db-options.ts +0 -454
  613. package/src/scripts/codemod/testing-injection.ts +0 -215
  614. package/src/scripts/codemod/testing-move-targets.ts +0 -161
  615. package/src/scripts/codemod/testing-move.ts +0 -542
  616. package/src/scripts/codemod/unprocessable-error-details-reason.ts +0 -411
@@ -1,322 +0,0 @@
1
- import type { LifecycleHookType } from "../constants.ts";
2
- import type { ConfigKeyDefinition, ConfigKeyType, JobDefinition, ReferenceDataDef, RunIn, TranslationKeys } from "../types/config.ts";
3
- import type { MetricOptions, SecretNamespaceOptions, SecretOptions } from "../types/feature.ts";
4
- import type { EntityDefinition } from "../types/fields.ts";
5
- import type { AccessRule, AgentHandlerHints, ClaimKeyType, EscapeHatchDeclaration, PayloadRateLimitOption, RateLimitDeclaration } from "../types/handlers.ts";
6
- import type { HookPhase } from "../types/hooks.ts";
7
- import type { HttpRouteMethod } from "../types/http-route.ts";
8
- import type { NavDefinition } from "../types/nav.ts";
9
- import type { MspErrorMode } from "../types/projection.ts";
10
- import type { RelationDefinition } from "../types/relations.ts";
11
- import type { ScreenDefinition } from "../types/screen.ts";
12
- import type { TreeActionDef } from "../types/tree-node.ts";
13
- import type { WorkspaceDefinition } from "../types/workspace.ts";
14
- import type { RawRefSentinel } from "./extractors/shared.ts";
15
- import type { SourceLocation } from "./source-location.ts";
16
- export type EntityPattern = {
17
- readonly kind: "entity";
18
- readonly source: SourceLocation;
19
- readonly entityName: string;
20
- readonly definition: EntityDefinition;
21
- readonly backingTable?: RawRefSentinel;
22
- };
23
- export type RelationPattern = {
24
- readonly kind: "relation";
25
- readonly source: SourceLocation;
26
- readonly entityName: string;
27
- readonly relationName: string;
28
- readonly definition: RelationDefinition;
29
- };
30
- export type NavPattern = {
31
- readonly kind: "nav";
32
- readonly source: SourceLocation;
33
- readonly definition: NavDefinition;
34
- };
35
- export type WorkspacePattern = {
36
- readonly kind: "workspace";
37
- readonly source: SourceLocation;
38
- readonly definition: WorkspaceDefinition;
39
- };
40
- export type ConfigPattern = {
41
- readonly kind: "config";
42
- readonly source: SourceLocation;
43
- readonly keys: Readonly<Record<string, ConfigKeyDefinition<ConfigKeyType>>>;
44
- };
45
- export type TranslationsPattern = {
46
- readonly kind: "translations";
47
- readonly source: SourceLocation;
48
- readonly keys: TranslationKeys;
49
- };
50
- export type RequiresPattern = {
51
- readonly kind: "requires";
52
- readonly source: SourceLocation;
53
- readonly featureNames: readonly string[];
54
- };
55
- export type OptionalRequiresPattern = {
56
- readonly kind: "optionalRequires";
57
- readonly source: SourceLocation;
58
- readonly featureNames: readonly string[];
59
- };
60
- export type SystemScopePattern = {
61
- readonly kind: "systemScope";
62
- readonly source: SourceLocation;
63
- };
64
- export type AdoptsBundledListsPattern = {
65
- readonly kind: "adoptsBundledLists";
66
- readonly source: SourceLocation;
67
- };
68
- export type ToggleablePattern = {
69
- readonly kind: "toggleable";
70
- readonly source: SourceLocation;
71
- readonly default: boolean;
72
- };
73
- export type DescribePattern = {
74
- readonly kind: "describe";
75
- readonly source: SourceLocation;
76
- readonly text: string;
77
- };
78
- export type UiHintsPattern = {
79
- readonly kind: "uiHints";
80
- readonly source: SourceLocation;
81
- };
82
- export type MetricPattern = {
83
- readonly kind: "metric";
84
- readonly source: SourceLocation;
85
- readonly shortName: string;
86
- readonly options: MetricOptions;
87
- };
88
- export type SecretPattern = {
89
- readonly kind: "secret";
90
- readonly source: SourceLocation;
91
- readonly shortName: string;
92
- readonly options: SecretOptions;
93
- };
94
- export type SecretNamespacePattern = {
95
- readonly kind: "secretNamespace";
96
- readonly source: SourceLocation;
97
- readonly shortName: string;
98
- readonly options: SecretNamespaceOptions;
99
- };
100
- export type ClaimKeyPattern = {
101
- readonly kind: "claimKey";
102
- readonly source: SourceLocation;
103
- readonly shortName: string;
104
- readonly claimType: ClaimKeyType;
105
- };
106
- export type ReferenceDataPattern = {
107
- readonly kind: "referenceData";
108
- readonly source: SourceLocation;
109
- readonly entityName: string;
110
- readonly data: ReferenceDataDef["data"];
111
- readonly upsertKey?: string;
112
- };
113
- export type ReadsConfigPattern = {
114
- readonly kind: "readsConfig";
115
- readonly source: SourceLocation;
116
- readonly qualifiedKeys: readonly string[];
117
- };
118
- export type UseExtensionPattern = {
119
- readonly kind: "useExtension";
120
- readonly source: SourceLocation;
121
- readonly extensionName: string;
122
- readonly extensionNameRaw?: string;
123
- readonly entityName: string;
124
- readonly options?: Readonly<Record<string, unknown>>;
125
- };
126
- export type TreeActionsPattern = {
127
- readonly kind: "treeActions";
128
- readonly source: SourceLocation;
129
- readonly definitions: Readonly<Record<string, TreeActionDef>>;
130
- };
131
- export type OpaquePropMap = Readonly<Record<string, SourceLocation>>;
132
- export declare const SCREEN_OPAQUE_MARKER: "$opaque";
133
- export type ScreenOpaqueMarker = typeof SCREEN_OPAQUE_MARKER;
134
- export type ScreenPattern = {
135
- readonly kind: "screen";
136
- readonly source: SourceLocation;
137
- readonly definition: ScreenDefinition;
138
- readonly opaqueProps: OpaquePropMap;
139
- };
140
- export type WriteHandlerPattern = {
141
- readonly kind: "writeHandler";
142
- readonly source: SourceLocation;
143
- readonly handlerName?: string;
144
- readonly schemaSource?: SourceLocation;
145
- readonly handlerBody?: SourceLocation;
146
- readonly access?: AccessRule | RawRefSentinel;
147
- readonly description?: string;
148
- readonly agent?: AgentHandlerHints | RawRefSentinel;
149
- readonly rateLimit?: RateLimitDeclaration | RawRefSentinel;
150
- readonly additionalRateLimits?: readonly PayloadRateLimitOption[] | RawRefSentinel;
151
- readonly unsafeSkipTransitionGuard?: boolean;
152
- readonly escapeHatch?: EscapeHatchDeclaration | RawRefSentinel;
153
- };
154
- export type QueryHandlerPattern = {
155
- readonly kind: "queryHandler";
156
- readonly source: SourceLocation;
157
- readonly handlerName?: string;
158
- readonly schemaSource?: SourceLocation;
159
- readonly handlerBody?: SourceLocation;
160
- readonly access?: AccessRule | RawRefSentinel;
161
- readonly description?: string;
162
- readonly agent?: AgentHandlerHints | RawRefSentinel;
163
- readonly rateLimit?: RateLimitDeclaration | RawRefSentinel;
164
- readonly escapeHatch?: EscapeHatchDeclaration | RawRefSentinel;
165
- };
166
- export type StreamHandlerPattern = {
167
- readonly kind: "streamHandler";
168
- readonly source: SourceLocation;
169
- readonly handlerName?: string;
170
- readonly schemaSource?: SourceLocation;
171
- readonly handlerBody?: SourceLocation;
172
- readonly access?: AccessRule | RawRefSentinel;
173
- readonly rateLimit?: RateLimitDeclaration | RawRefSentinel;
174
- readonly escapeHatch?: EscapeHatchDeclaration | RawRefSentinel;
175
- };
176
- export type HookPattern = {
177
- readonly kind: "hook";
178
- readonly source: SourceLocation;
179
- readonly hookType: LifecycleHookType | "validation";
180
- readonly target: string | readonly string[] | {
181
- readonly allOf: string;
182
- };
183
- readonly fnBody: SourceLocation;
184
- readonly phase?: HookPhase;
185
- readonly escapeHatch?: EscapeHatchDeclaration | RawRefSentinel;
186
- };
187
- export type JobPattern = {
188
- readonly kind: "job";
189
- readonly source: SourceLocation;
190
- readonly jobName: string;
191
- readonly options: Omit<JobDefinition, "name" | "handler">;
192
- readonly handlerBody: SourceLocation;
193
- };
194
- export type NotificationPattern = {
195
- readonly kind: "notification";
196
- readonly source: SourceLocation;
197
- readonly notificationName: string;
198
- readonly trigger?: {
199
- readonly on: string;
200
- };
201
- readonly recipientBody?: SourceLocation;
202
- readonly dataBody?: SourceLocation;
203
- readonly templates?: Readonly<Record<string, SourceLocation>>;
204
- };
205
- export type AuthClaimsPattern = {
206
- readonly kind: "authClaims";
207
- readonly source: SourceLocation;
208
- readonly fnBody: SourceLocation;
209
- };
210
- export type HttpRoutePattern = {
211
- readonly kind: "httpRoute";
212
- readonly source: SourceLocation;
213
- readonly method: HttpRouteMethod;
214
- readonly path: string;
215
- readonly anonymous: boolean;
216
- readonly handlerBody: SourceLocation;
217
- };
218
- export type ProjectionPattern = {
219
- readonly kind: "projection";
220
- readonly source: SourceLocation;
221
- readonly name: string;
222
- readonly sourceEntity: string | readonly string[];
223
- readonly applyBodies: Readonly<Record<string, SourceLocation>>;
224
- };
225
- export type MultiStreamProjectionPattern = {
226
- readonly kind: "multiStreamProjection";
227
- readonly source: SourceLocation;
228
- readonly name: string;
229
- readonly applyBodies: Readonly<Record<string, SourceLocation>>;
230
- readonly errorMode?: MspErrorMode;
231
- readonly runIn?: RunIn;
232
- readonly delivery?: "shared" | "per-instance";
233
- };
234
- export type DefineEventPattern = {
235
- readonly kind: "defineEvent";
236
- readonly source: SourceLocation;
237
- readonly eventName: string;
238
- readonly eventNameRaw?: string;
239
- readonly schemaSource: SourceLocation;
240
- readonly version?: number;
241
- readonly piiFields: SourceLocation;
242
- readonly migrations?: Readonly<Record<string, SourceLocation>>;
243
- };
244
- export type ExtendsRegistrarPattern = {
245
- readonly kind: "extendsRegistrar";
246
- readonly source: SourceLocation;
247
- readonly extensionName: string;
248
- readonly extensionNameRaw?: string;
249
- readonly defBody: SourceLocation;
250
- };
251
- export type UsesApiPattern = {
252
- readonly kind: "usesApi";
253
- readonly source: SourceLocation;
254
- readonly apiName: string;
255
- };
256
- export type ExposesApiPattern = {
257
- readonly kind: "exposesApi";
258
- readonly source: SourceLocation;
259
- readonly apiName: string;
260
- };
261
- export type EnvSchemaPattern = {
262
- readonly kind: "envSchema";
263
- readonly source: SourceLocation;
264
- readonly schemaBody: SourceLocation;
265
- };
266
- /** Live-editable policy defaults for an AI pipeline step instance. */
267
- export type AiStepPolicy = {
268
- readonly enabled: boolean;
269
- readonly providerId?: string;
270
- readonly model?: string;
271
- readonly params: Record<string, unknown>;
272
- };
273
- /** Preserves an unresolvable argument reference across parse → render. */
274
- export type AiStepOpaqueArgs = {
275
- readonly __raw: string;
276
- };
277
- type AiStepCommonPatternFields = {
278
- readonly source: SourceLocation;
279
- /** Whole-args reference when the spec is not an inline/same-file object. */
280
- readonly argsSource?: AiStepOpaqueArgs;
281
- readonly stepKey?: string | AiStepOpaqueArgs;
282
- readonly promptKey?: string | AiStepOpaqueArgs;
283
- readonly promptFallback?: string | AiStepOpaqueArgs;
284
- readonly defaults?: AiStepPolicy | AiStepOpaqueArgs;
285
- readonly paramsSchemaSource?: SourceLocation;
286
- };
287
- export type AiGeneratePattern = AiStepCommonPatternFields & {
288
- readonly kind: "ai.generate";
289
- readonly inputBody?: SourceLocation;
290
- };
291
- export type AiExtractPattern = AiStepCommonPatternFields & {
292
- readonly kind: "ai.extract";
293
- readonly outputSchemaSource?: SourceLocation;
294
- readonly instructionsBody?: SourceLocation;
295
- readonly documentBody?: SourceLocation;
296
- };
297
- export type AiClassifyPattern = AiStepCommonPatternFields & {
298
- readonly kind: "ai.classify";
299
- readonly actions?: readonly {
300
- readonly type: string;
301
- readonly description: string;
302
- }[];
303
- readonly inputBody?: SourceLocation;
304
- };
305
- export type UnknownPattern = {
306
- readonly kind: "unknown";
307
- readonly source: SourceLocation;
308
- readonly methodName: string;
309
- };
310
- export type FeaturePattern = EntityPattern | RelationPattern | NavPattern | WorkspacePattern | ConfigPattern | TranslationsPattern | RequiresPattern | OptionalRequiresPattern | SystemScopePattern | AdoptsBundledListsPattern | ToggleablePattern | DescribePattern | UiHintsPattern | MetricPattern | SecretPattern | SecretNamespacePattern | ClaimKeyPattern | ReferenceDataPattern | ReadsConfigPattern | UseExtensionPattern | UsesApiPattern | ExposesApiPattern | TreeActionsPattern | ScreenPattern | WriteHandlerPattern | QueryHandlerPattern | StreamHandlerPattern | HookPattern | JobPattern | NotificationPattern | AuthClaimsPattern | HttpRoutePattern | ProjectionPattern | MultiStreamProjectionPattern | DefineEventPattern | ExtendsRegistrarPattern | EnvSchemaPattern | AiGeneratePattern | AiExtractPattern | AiClassifyPattern | UnknownPattern;
311
- export type FeaturePatternKind = FeaturePattern["kind"];
312
- export type MembersByKind<U extends {
313
- readonly kind: string;
314
- }> = {
315
- readonly [K in U["kind"]]: Extract<U, {
316
- readonly kind: K;
317
- }>;
318
- };
319
- export type FeaturePatternOfKind = MembersByKind<FeaturePattern>;
320
- export type Editability = "static" | "mixed" | "opaque";
321
- export declare function getEditability(pattern: FeaturePattern): Editability;
322
- export {};
@@ -1,107 +0,0 @@
1
- // FeaturePattern — typed representation of an `r.*` call inside a
2
- // feature file. The AST visitor (parse.ts) walks the
3
- // `defineFeature(name, (r) => { ... })` setup callback and yields one
4
- // FeaturePattern per recognised call.
5
- //
6
- // **Doc single-source:** THIS file is the canonical pattern reference
7
- // (mirrored into docs/corpus). The FeatureRegistrar JSDoc in
8
- // types/feature.ts stays a short pointer — duplicating semantics there
9
- // has already drifted once; verify any "checks at boot" claim against
10
- // engine/boot-validator/* before writing it down.
11
- //
12
- // **Design principle:**
13
- //
14
- // - Whatever the Designer/AI can edit declaratively → typed static
15
- // fields, reusing the existing engine/types definitions so the
16
- // pattern shape never drifts from the runtime contract.
17
- // - Whatever carries closures/code → SourceLocation pointing at the
18
- // opaque region. The Designer renders that as a read-only code
19
- // block; the AI patcher overwrites the span verbatim.
20
- //
21
- // **Coverage = 100%.** Calls we don't recognise become UnknownPattern
22
- // (the Designer shows "custom call", AI leaves them alone). Custom
23
- // TypeScript code BETWEEN `r.*` calls (helpers, local consts, imports)
24
- // is not extracted — it stays in the file buffer and survives every
25
- // patch unchanged.
26
- //
27
- // **Extension point.** Adding a new r.* API → new pattern type here +
28
- // new extractor in parse.ts. The discriminated union forces every
29
- // consumer (Designer, AI patcher, MCP server) to handle the new kind
30
- // at compile time.
31
- //
32
- // **Naming convention.** Pattern `kind` matches the r.* method name
33
- // 1:1 (e.g. `r.writeHandler` → `kind: "writeHandler"`). No kebab/camel
34
- // translation layer.
35
- //
36
- // **Adding a new FeaturePattern kind — full consumer cascade.** The
37
- // extension-point is wider than just this file + the parser. Update
38
- // ALL of these when introducing a new r.* API, otherwise tests/checks
39
- // catch the drift but the call-site jumps across files:
40
- // 1. patterns.ts (this file): Pattern type + add to FeaturePattern
41
- // union + getEditability switch
42
- // 2. feature-ast/extractors.ts: extract<Kind> function + import in
43
- // patterns-import-block
44
- // 3. feature-ast/parse.ts: dispatcher case + import
45
- // 4. feature-ast/render.ts: render<Kind> function + import + switch
46
- // case
47
- // 5. feature-ast/patch.ts: PatternId variant; if singleton-per-feature
48
- // add to SINGLETON_KINDS; callMatchesId case
49
- // 6. pattern-library/library.ts: <kind>Schema + entry in
50
- // PATTERN_LIBRARY map
51
- // 7. pattern-library/__tests__/library.test.ts: ALL_KINDS array +
52
- // makePlaceholderPattern case
53
- // TS-exhaustiveness catches most omissions automatically (1, 3, 4, 5,
54
- // 7-via-makePlaceholderPattern), but the runtime-checked maps in 6 +
55
- // the ALL_KINDS array in 7 are silent if forgotten — pin them with the
56
- // library.test.ts coverage tests.
57
- // Marker emitted in `ScreenPattern.definition` wherever a closure or
58
- // unresolvable identifier sat in the source. Designer renderers compare
59
- // against this constant to decide "form vs read-only span" — the actual
60
- // SourceLocation lives at the matching path in `opaqueProps`.
61
- export const SCREEN_OPAQUE_MARKER = "$opaque";
62
- const EDITABILITY_BY_KIND = {
63
- entity: "static",
64
- relation: "static",
65
- nav: "static",
66
- workspace: "static",
67
- config: "static",
68
- translations: "static",
69
- requires: "static",
70
- optionalRequires: "static",
71
- systemScope: "static",
72
- toggleable: "static",
73
- describe: "static",
74
- metric: "static",
75
- secret: "static",
76
- secretNamespace: "static",
77
- claimKey: "static",
78
- referenceData: "static",
79
- readsConfig: "static",
80
- useExtension: "static",
81
- usesApi: "static",
82
- exposesApi: "static",
83
- treeActions: "static",
84
- screen: "mixed",
85
- writeHandler: "mixed",
86
- queryHandler: "mixed",
87
- streamHandler: "mixed",
88
- hook: "mixed",
89
- job: "mixed",
90
- notification: "mixed",
91
- httpRoute: "mixed",
92
- projection: "mixed",
93
- multiStreamProjection: "mixed",
94
- defineEvent: "mixed",
95
- "ai.generate": "mixed",
96
- "ai.extract": "mixed",
97
- "ai.classify": "mixed",
98
- authClaims: "opaque",
99
- extendsRegistrar: "opaque",
100
- envSchema: "opaque",
101
- uiHints: "opaque",
102
- adoptsBundledLists: "opaque",
103
- unknown: "opaque",
104
- };
105
- export function getEditability(pattern) {
106
- return EDITABILITY_BY_KIND[pattern.kind];
107
- }
@@ -1,47 +0,0 @@
1
- import type { FeaturePattern } from "./patterns.ts";
2
- export declare const FEATURE_FILE_VERSION: 1;
3
- export declare const VERSION_HEADER: string;
4
- /**
5
- * Render a single FeaturePattern back to TypeScript source — a `r.<kind>(...)`
6
- * call in canonical Object-Form. The result is a single statement WITHOUT a
7
- * trailing newline; callers compose statements with their own joiner.
8
- */
9
- export declare function renderPattern(pattern: FeaturePattern): string;
10
- /**
11
- * Render a JSON-compatible value as TypeScript source. Matches what
12
- * `readDataLiteralNode` accepts on the parser side: strings, numbers,
13
- * booleans, null, arrays, plain objects. Unsupported values (functions,
14
- * undefined) throw — they should never reach here for a static pattern.
15
- *
16
- * Keys are quoted only when they are not valid JS identifiers. The
17
- * renderer prefers single-line output for short arrays/objects (≤80
18
- * chars including indent and no nested newlines) and falls back to
19
- * multi-line otherwise — biome-stable in both branches.
20
- */
21
- export declare function renderValue(value: unknown, indent?: number): string;
22
- export type RenderFeatureFileInput = {
23
- readonly featureName: string;
24
- readonly patterns: readonly FeaturePattern[];
25
- /** Extra import lines emitted between the version header and defineFeature.
26
- * Defaults to the minimum: defineFeature + zod. */
27
- readonly imports?: readonly string[];
28
- };
29
- /**
30
- * Render a complete feature-file: schema-version header, imports, the
31
- * defineFeature call wrapping every pattern in source order. The output
32
- * is biome-format-stable so callers can persist it directly.
33
- */
34
- export declare function renderFeatureFile(input: RenderFeatureFileInput): string;
35
- /**
36
- * Prefix every non-empty line of `text` with `prefix`. Re-used from the
37
- * patcher (patch.ts imports this) so indent helpers stay in one place
38
- * — when canonical-form indentation conventions ever change, only this
39
- * function needs to follow.
40
- */
41
- export declare function indent(text: string, prefix: string): string;
42
- /**
43
- * Indentation prefix used inside `defineFeature((r) => { ... })` for
44
- * every top-level r.* statement. Two-space convention matches biome's
45
- * default and the parse-happy-path test fixture.
46
- */
47
- export declare const PATTERN_INDENT = " ";