@cosmicdrift/kumiko-framework 0.389.0 → 0.390.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 (617) 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/driver-value-preparation.js +23 -2
  98. package/dist/db/eagerload.d.ts +2 -1
  99. package/dist/db/entity-field-encryption.d.ts +1 -1
  100. package/dist/db/entity-table-meta.d.ts +1 -1
  101. package/dist/db/event-store-executor-context.d.ts +3 -1
  102. package/dist/db/event-store-executor-context.js +4 -3
  103. package/dist/db/event-store-executor-read-filter.d.ts +1 -1
  104. package/dist/db/event-store-executor-read-rows.d.ts +2 -1
  105. package/dist/db/event-store-executor-read-search.d.ts +2 -1
  106. package/dist/db/event-store-executor-read-sort.d.ts +2 -1
  107. package/dist/db/event-store-executor-read.js +2 -2
  108. package/dist/db/event-store-executor-write-atomic.js +8 -7
  109. package/dist/db/event-store-executor-write-steps.d.ts +3 -2
  110. package/dist/db/event-store-executor-write.js +7 -4
  111. package/dist/db/event-store-executor.d.ts +1 -1
  112. package/dist/db/executor-managed-tables.d.ts +7 -1
  113. package/dist/db/executor-managed-tables.js +11 -2
  114. package/dist/db/index.d.ts +29 -28
  115. package/dist/db/index.js +22 -20
  116. package/dist/db/known-table-names.d.ts +6 -0
  117. package/dist/db/known-table-names.js +21 -0
  118. package/dist/db/list-aggregate-labels.d.ts +1 -1
  119. package/dist/db/located-timestamp.d.ts +1 -1
  120. package/dist/db/located-timestamp.js +0 -5
  121. package/dist/db/migrate-generator.d.ts +17 -1
  122. package/dist/db/migrate-generator.js +50 -20
  123. package/dist/db/migrate-primary-key.d.ts +12 -0
  124. package/dist/db/migrate-primary-key.js +45 -0
  125. package/dist/db/migrate-rls-diff.d.ts +20 -0
  126. package/dist/db/migrate-rls-diff.js +61 -0
  127. package/dist/db/migrate-runner.js +4 -0
  128. package/dist/db/money.d.ts +1 -1
  129. package/dist/db/money.js +1 -1
  130. package/dist/db/parent-ref-clause.d.ts +2 -1
  131. package/dist/db/pg-error.d.ts +2 -0
  132. package/dist/db/pg-error.js +11 -0
  133. package/dist/db/queries/ddl.d.ts +3 -0
  134. package/dist/db/queries/ddl.js +34 -1
  135. package/dist/db/queries/event-store.js +4 -2
  136. package/dist/db/queries/event-tenants.d.ts +2 -0
  137. package/dist/db/queries/event-tenants.js +17 -0
  138. package/dist/db/queries/rebuild-rls-guard.d.ts +2 -0
  139. package/dist/db/queries/rebuild-rls-guard.js +29 -0
  140. package/dist/db/queries/rls-boot-catalog.d.ts +16 -0
  141. package/dist/db/queries/rls-boot-catalog.js +39 -0
  142. package/dist/db/queries/rls-catalog.d.ts +6 -0
  143. package/dist/db/queries/rls-catalog.js +82 -0
  144. package/dist/db/queries/rls-scope.d.ts +3 -0
  145. package/dist/db/queries/rls-scope.js +17 -0
  146. package/dist/db/queries/rls-shape.d.ts +10 -0
  147. package/dist/db/queries/rls-shape.js +42 -0
  148. package/dist/db/queries/session-advisory-lock.d.ts +2 -0
  149. package/dist/db/queries/session-advisory-lock.js +23 -0
  150. package/dist/db/queries/shadow-swap.d.ts +1 -2
  151. package/dist/db/queries/shadow-swap.js +9 -25
  152. package/dist/db/queries/test-stack.d.ts +4 -1
  153. package/dist/db/queries/test-stack.js +84 -2
  154. package/dist/db/query.js +11 -7
  155. package/dist/db/reference-data.d.ts +1 -1
  156. package/dist/db/reference-data.js +6 -1
  157. package/dist/db/render-ddl.d.ts +6 -2
  158. package/dist/db/render-ddl.js +7 -7
  159. package/dist/db/render-rls-ddl.d.ts +35 -0
  160. package/dist/db/render-rls-ddl.js +127 -0
  161. package/dist/db/replay-migration-sql.d.ts +3 -1
  162. package/dist/db/replay-migration-sql.js +22 -5
  163. package/dist/db/replay-rls.d.ts +25 -0
  164. package/dist/db/replay-rls.js +156 -0
  165. package/dist/db/row-level-security-boot-check.d.ts +6 -0
  166. package/dist/db/row-level-security-boot-check.js +86 -0
  167. package/dist/db/row-level-security-connection.d.ts +3 -0
  168. package/dist/db/row-level-security-connection.js +213 -0
  169. package/dist/db/row-level-security-scope.d.ts +33 -0
  170. package/dist/db/row-level-security-scope.js +127 -0
  171. package/dist/db/scope-tenant-db-to-tenant.d.ts +3 -0
  172. package/dist/db/scope-tenant-db-to-tenant.js +14 -0
  173. package/dist/db/sql-identifier.d.ts +1 -0
  174. package/dist/db/sql-identifier.js +3 -0
  175. package/dist/db/table-builder.d.ts +2 -1
  176. package/dist/db/table-builder.js +1 -1
  177. package/dist/db/table-info.js +1 -1
  178. package/dist/db/table-push.d.ts +11 -2
  179. package/dist/db/table-push.js +15 -2
  180. package/dist/db/tenant-db-runner.d.ts +3 -1
  181. package/dist/db/tenant-db-runner.js +4 -3
  182. package/dist/db/tenant-db-scoped-rebind.d.ts +10 -0
  183. package/dist/db/tenant-db-scoped-rebind.js +33 -0
  184. package/dist/db/tenant-db-statement-runner.d.ts +13 -0
  185. package/dist/db/tenant-db-statement-runner.js +48 -0
  186. package/dist/db/tenant-db.d.ts +17 -12
  187. package/dist/db/tenant-db.js +49 -120
  188. package/dist/db/tenant-id-filter.d.ts +3 -0
  189. package/dist/db/tenant-id-filter.js +30 -0
  190. package/dist/db/transaction-serialization.d.ts +6 -0
  191. package/dist/db/transaction-serialization.js +60 -0
  192. package/dist/derivatives/delete-stored-file.js +1 -1
  193. package/dist/derivatives/index.d.ts +2 -5
  194. package/dist/derivatives/index.js +2 -3
  195. package/dist/engine/access.d.ts +2 -1
  196. package/dist/engine/access.js +1 -1
  197. package/dist/engine/boot-validator/entity-handler.d.ts +2 -1
  198. package/dist/engine/boot-validator/entity-handler.js +1 -1
  199. package/dist/engine/boot-validator/entity-list-aggregate-options.d.ts +1 -1
  200. package/dist/engine/boot-validator/list-table-aggregate-options.d.ts +1 -1
  201. package/dist/engine/boot-validator/list-table-aggregate-query.d.ts +2 -1
  202. package/dist/engine/boot-validator/nav.d.ts +3 -1
  203. package/dist/engine/boot-validator/nav.js +1 -1
  204. package/dist/engine/boot-validator/ownership.d.ts +2 -1
  205. package/dist/engine/boot-validator/parent-ref.d.ts +2 -1
  206. package/dist/engine/boot-validator/projection-list-screens.d.ts +2 -1
  207. package/dist/engine/boot-validator/query-refs.d.ts +2 -1
  208. package/dist/engine/boot-validator/screens-forms.d.ts +2 -1
  209. package/dist/engine/boot-validator/screens-kind-shared.d.ts +3 -1
  210. package/dist/engine/boot-validator/screens.d.ts +2 -1
  211. package/dist/engine/boot-validator/workspaces.d.ts +3 -1
  212. package/dist/engine/bridge-stub.d.ts +5 -2
  213. package/dist/engine/bridge-stub.js +39 -24
  214. package/dist/engine/config-helpers.d.ts +2 -2
  215. package/dist/engine/config-helpers.js +0 -9
  216. package/dist/engine/constants.d.ts +0 -10
  217. package/dist/engine/constants.js +0 -8
  218. package/dist/engine/create-app.js +1 -1
  219. package/dist/engine/define-feature.d.ts +2 -1
  220. package/dist/engine/define-feature.js +1 -2
  221. package/dist/engine/define-handler.d.ts +1 -1
  222. package/dist/engine/define-step.d.ts +0 -1
  223. package/dist/engine/define-step.js +0 -3
  224. package/dist/engine/embedded-derived.d.ts +1 -1
  225. package/dist/engine/entity-handlers.d.ts +2 -1
  226. package/dist/engine/entity-handlers.js +7 -7
  227. package/dist/engine/entity-list-runtime-options.js +3 -1
  228. package/dist/engine/entity-list-searchability.d.ts +2 -1
  229. package/dist/engine/event-def.d.ts +2 -1
  230. package/dist/engine/event-helpers.d.ts +3 -1
  231. package/dist/engine/event-helpers.js +3 -3
  232. package/dist/engine/extension-names.d.ts +2 -8
  233. package/dist/engine/extension-names.js +2 -2
  234. package/dist/engine/extension-selector-plugins.d.ts +1 -1
  235. package/dist/engine/extensions/storage-provider.d.ts +1 -2
  236. package/dist/engine/extensions/user-data.d.ts +0 -8
  237. package/dist/engine/factories.d.ts +2 -1
  238. package/dist/engine/feature-builder-state.d.ts +8 -1
  239. package/dist/engine/feature-changelog.d.ts +1 -1
  240. package/dist/engine/feature-config-events-jobs.d.ts +4 -1
  241. package/dist/engine/feature-entity-handlers.d.ts +5 -1
  242. package/dist/engine/feature-manifest.js +1 -1
  243. package/dist/engine/feature-ui-extensions.d.ts +7 -1
  244. package/dist/engine/feature-ui-extensions.js +6 -4
  245. package/dist/engine/field-access.d.ts +2 -1
  246. package/dist/engine/handler-field-references.d.ts +0 -4
  247. package/dist/engine/index.d.ts +57 -54
  248. package/dist/engine/index.js +22 -27
  249. package/dist/engine/instruction-fields.d.ts +1 -1
  250. package/dist/engine/personal-data-fields.d.ts +1 -1
  251. package/dist/engine/qualified-name.d.ts +0 -1
  252. package/dist/engine/read-claim.d.ts +2 -1
  253. package/dist/engine/registry-facade.js +0 -3
  254. package/dist/engine/registry-ingest.d.ts +2 -1
  255. package/dist/engine/registry-ingest.js +1 -2
  256. package/dist/engine/registry-state.d.ts +12 -2
  257. package/dist/engine/registry-state.js +2 -3
  258. package/dist/engine/registry-validate.d.ts +3 -1
  259. package/dist/engine/registry-validate.js +7 -7
  260. package/dist/engine/run-in.d.ts +1 -1
  261. package/dist/engine/run-in.js +0 -1
  262. package/dist/engine/schema-builder.d.ts +1 -1
  263. package/dist/engine/schema-builder.js +1 -1
  264. package/dist/engine/screen-filter-ops.d.ts +2 -1
  265. package/dist/engine/screen-filter-ops.js +0 -5
  266. package/dist/engine/soft-delete-cleanup.d.ts +1 -1
  267. package/dist/engine/soft-delete-cleanup.js +4 -4
  268. package/dist/engine/state-machine.js +2 -1
  269. package/dist/engine/steps/_read-source.js +1 -1
  270. package/dist/engine/steps/aggregate-append-event.js +2 -2
  271. package/dist/engine/steps/call-feature.js +2 -2
  272. package/dist/engine/steps/mail-send.js +1 -1
  273. package/dist/engine/steps/retry.js +1 -1
  274. package/dist/engine/steps/wait-for-event.js +1 -1
  275. package/dist/engine/steps/wait.js +1 -1
  276. package/dist/engine/steps/webhook-send.js +1 -1
  277. package/dist/engine/template-variables.d.ts +2 -1
  278. package/dist/engine/transfer-adjacency.d.ts +1 -1
  279. package/dist/engine/types/index.d.ts +8 -31
  280. package/dist/engine/types/index.js +2 -10
  281. package/dist/engine/validation.d.ts +2 -1
  282. package/dist/entrypoint/index.d.ts +7 -35
  283. package/dist/entrypoint/index.js +7 -1
  284. package/dist/entrypoint/internals.d.ts +40 -0
  285. package/dist/entrypoint/internals.js +1 -0
  286. package/dist/entrypoint/row-level-security-mode-check.d.ts +3 -0
  287. package/dist/entrypoint/row-level-security-mode-check.js +19 -0
  288. package/dist/env/dry-run-internals.d.ts +10 -0
  289. package/dist/env/dry-run-internals.js +1 -0
  290. package/dist/env/dry-run.d.ts +1 -10
  291. package/dist/env/dry-run.js +2 -1
  292. package/dist/env/index.d.ts +1 -85
  293. package/dist/env/index.js +6 -50
  294. package/dist/env/internals.d.ts +87 -0
  295. package/dist/env/internals.js +53 -0
  296. package/dist/errors/classes.js +2 -2
  297. package/dist/errors/index.d.ts +5 -14
  298. package/dist/errors/index.js +4 -9
  299. package/dist/errors/member-resolution.js +1 -1
  300. package/dist/errors/reasons.d.ts +0 -1
  301. package/dist/errors/reasons.js +7 -7
  302. package/dist/errors/serialize.d.ts +0 -18
  303. package/dist/errors/serialize.js +0 -27
  304. package/dist/es-ops/index.d.ts +4 -4
  305. package/dist/es-ops/index.js +2 -2
  306. package/dist/es-ops/operations-schema.d.ts +1 -1
  307. package/dist/es-ops/types.d.ts +4 -5
  308. package/dist/event-store/admin-api-internals.d.ts +14 -0
  309. package/dist/event-store/admin-api-internals.js +1 -0
  310. package/dist/event-store/admin-api.d.ts +1 -14
  311. package/dist/event-store/admin-api.js +11 -6
  312. package/dist/event-store/archive.js +4 -2
  313. package/dist/event-store/errors.js +2 -2
  314. package/dist/event-store/event-store.js +41 -34
  315. package/dist/event-store/events-schema.js +4 -1
  316. package/dist/event-store/index.d.ts +11 -13
  317. package/dist/event-store/index.js +7 -9
  318. package/dist/event-store/rebuild-dead-letter.js +4 -2
  319. package/dist/event-store/snapshot.js +4 -3
  320. package/dist/event-store/stream-scope.d.ts +2 -0
  321. package/dist/event-store/stream-scope.js +6 -0
  322. package/dist/event-store/upcaster-dead-letter.js +4 -2
  323. package/dist/event-store/upcaster.d.ts +2 -1
  324. package/dist/files/action-form-upload.d.ts +2 -1
  325. package/dist/files/action-form-upload.js +1 -1
  326. package/dist/files/assert-file-refs-belong-to-tenant.d.ts +2 -1
  327. package/dist/files/assert-file-refs-belong-to-tenant.js +1 -1
  328. package/dist/files/bind-pending-file-refs.d.ts +2 -1
  329. package/dist/files/bind-pending-file-refs.js +2 -1
  330. package/dist/files/bind-referenced-files.write.js +1 -1
  331. package/dist/files/create-file-ref-from-bytes.d.ts +6 -3
  332. package/dist/files/create-file-ref-from-bytes.js +3 -3
  333. package/dist/files/create-file-ref.d.ts +3 -2
  334. package/dist/files/create-file-ref.js +2 -2
  335. package/dist/files/dispose-removed-file-refs.d.ts +2 -1
  336. package/dist/files/dispose-removed-file-refs.js +1 -1
  337. package/dist/files/feature.js +2 -2
  338. package/dist/files/file-handle.js +1 -1
  339. package/dist/files/file-routes.d.ts +1 -1
  340. package/dist/files/file-routes.js +12 -2
  341. package/dist/files/index.d.ts +11 -13
  342. package/dist/files/index.js +5 -7
  343. package/dist/files/load-save-file-refs.d.ts +2 -1
  344. package/dist/files/load-save-file-refs.js +1 -1
  345. package/dist/files/provider-resolver.d.ts +5 -4
  346. package/dist/files/provider-resolver.js +4 -4
  347. package/dist/files/storage-tracking.js +4 -2
  348. package/dist/files/sweep-orphaned-uploads.d.ts +1 -1
  349. package/dist/files/sweep-orphaned-uploads.js +1 -1
  350. package/dist/i18n/index.d.ts +2 -8
  351. package/dist/i18n/index.js +1 -1
  352. package/dist/i18n/internals.d.ts +7 -0
  353. package/dist/i18n/internals.js +1 -0
  354. package/dist/i18n/required-surface-keys.d.ts +4 -1
  355. package/dist/internal/row-level-security.d.ts +3 -0
  356. package/dist/internal/row-level-security.js +3 -0
  357. package/dist/internal/stack-support.d.ts +1 -1
  358. package/dist/internal/stack-support.js +1 -1
  359. package/dist/internal/testing.d.ts +1 -0
  360. package/dist/internal/testing.js +9 -5
  361. package/dist/jobs/index.d.ts +1 -1
  362. package/dist/jobs/job-append-event.d.ts +12 -0
  363. package/dist/jobs/job-append-event.js +30 -0
  364. package/dist/jobs/job-runner-context.d.ts +2 -2
  365. package/dist/jobs/job-runner-context.js +46 -16
  366. package/dist/jobs/job-runner-execution.d.ts +1 -1
  367. package/dist/jobs/job-runner-execution.js +6 -4
  368. package/dist/jobs/job-runner-gates.d.ts +1 -1
  369. package/dist/jobs/job-runner-gates.js +0 -1
  370. package/dist/jobs/job-runner-helpers.d.ts +11 -4
  371. package/dist/jobs/job-runner-helpers.js +10 -1
  372. package/dist/jobs/job-runner-scope.d.ts +5 -2
  373. package/dist/jobs/job-runner-types.d.ts +2 -1
  374. package/dist/jobs/job-runner.js +19 -6
  375. package/dist/jobs/max-per-tenant.d.ts +1 -1
  376. package/dist/logging/index.d.ts +1 -2
  377. package/dist/logging/index.js +1 -1
  378. package/dist/logging/pino-logger.js +1 -1
  379. package/dist/logging/utils.d.ts +1 -0
  380. package/dist/logging/utils.js +6 -0
  381. package/dist/migrations/index.d.ts +3 -3
  382. package/dist/migrations/index.js +3 -3
  383. package/dist/migrations/pending-rebuilds.d.ts +1 -1
  384. package/dist/migrations/pending-rebuilds.js +1 -1
  385. package/dist/migrations/pii-event-backfill.js +4 -1
  386. package/dist/observability/escape-hatch-report.d.ts +2 -1
  387. package/dist/observability/index.d.ts +7 -15
  388. package/dist/observability/index.js +4 -12
  389. package/dist/observability/metric-validator.js +1 -1
  390. package/dist/observability/metrics-handle.d.ts +0 -1
  391. package/dist/observability/metrics-handle.js +2 -15
  392. package/dist/observability/recording-tracer.d.ts +1 -2
  393. package/dist/observability/recording-tracer.js +0 -6
  394. package/dist/observability/sensitive-filter.d.ts +0 -2
  395. package/dist/observability/sensitive-filter.js +0 -29
  396. package/dist/pipeline/active-membership.d.ts +2 -1
  397. package/dist/pipeline/active-membership.js +6 -2
  398. package/dist/pipeline/append-event-core.d.ts +2 -1
  399. package/dist/pipeline/append-event-core.js +2 -2
  400. package/dist/pipeline/attach-outside-transaction.d.ts +3 -0
  401. package/dist/pipeline/attach-outside-transaction.js +13 -0
  402. package/dist/pipeline/auth-claims-resolver.d.ts +2 -1
  403. package/dist/pipeline/cascade-handler.d.ts +2 -1
  404. package/dist/pipeline/cascade-handler.js +3 -2
  405. package/dist/pipeline/config-accessor-factory.d.ts +1 -1
  406. package/dist/pipeline/config-accessor-factory.js +1 -1
  407. package/dist/pipeline/context-services.d.ts +56 -0
  408. package/dist/pipeline/context-services.js +73 -0
  409. package/dist/pipeline/dispatch-batch.d.ts +2 -1
  410. package/dist/pipeline/dispatch-batch.js +31 -18
  411. package/dist/pipeline/dispatch-query.js +5 -4
  412. package/dist/pipeline/dispatch-scope.d.ts +6 -0
  413. package/dist/pipeline/dispatch-scope.js +27 -0
  414. package/dist/pipeline/dispatch-shared.d.ts +13 -9
  415. package/dist/pipeline/dispatch-shared.js +75 -198
  416. package/dist/pipeline/dispatch-stream.js +8 -4
  417. package/dist/pipeline/dispatch-write.d.ts +2 -1
  418. package/dist/pipeline/dispatch-write.js +10 -8
  419. package/dist/pipeline/dispatcher-utils.d.ts +3 -1
  420. package/dist/pipeline/dispatcher-utils.js +8 -2
  421. package/dist/pipeline/dispatcher.d.ts +3 -2
  422. package/dist/pipeline/dispatcher.js +4 -3
  423. package/dist/pipeline/event-consumer-state.d.ts +0 -1
  424. package/dist/pipeline/event-dispatcher-delivery.d.ts +1 -1
  425. package/dist/pipeline/event-dispatcher-delivery.js +4 -2
  426. package/dist/pipeline/event-dispatcher.d.ts +2 -2
  427. package/dist/pipeline/event-dispatcher.js +7 -3
  428. package/dist/pipeline/event-retention.js +59 -56
  429. package/dist/pipeline/handler-access-error.js +2 -1
  430. package/dist/pipeline/handler-context-auth.d.ts +5 -6
  431. package/dist/pipeline/handler-context-auth.js +7 -4
  432. package/dist/pipeline/handler-context-config.d.ts +2 -5
  433. package/dist/pipeline/handler-context-config.js +2 -2
  434. package/dist/pipeline/handler-context-db.d.ts +32 -7
  435. package/dist/pipeline/handler-context-db.js +26 -17
  436. package/dist/pipeline/handler-context-dispatch.d.ts +13 -7
  437. package/dist/pipeline/handler-context-dispatch.js +9 -8
  438. package/dist/pipeline/handler-context-events.d.ts +22 -36
  439. package/dist/pipeline/handler-context-events.js +36 -31
  440. package/dist/pipeline/handler-context-member-resolution.d.ts +2 -0
  441. package/dist/pipeline/handler-context-member-resolution.js +110 -0
  442. package/dist/pipeline/handler-context-notify.d.ts +3 -2
  443. package/dist/pipeline/handler-context-notify.js +1 -1
  444. package/dist/pipeline/handler-context-observability.d.ts +2 -4
  445. package/dist/pipeline/handler-context-observability.js +7 -5
  446. package/dist/pipeline/handler-context-phase-denials.d.ts +11 -0
  447. package/dist/pipeline/handler-context-phase-denials.js +98 -0
  448. package/dist/pipeline/handler-context-scope.d.ts +7 -10
  449. package/dist/pipeline/handler-context-scope.js +18 -20
  450. package/dist/pipeline/index.d.ts +9 -21
  451. package/dist/pipeline/index.js +5 -7
  452. package/dist/pipeline/irreversible-operation-gate.d.ts +1 -1
  453. package/dist/pipeline/irreversible-operation-gate.js +2 -2
  454. package/dist/pipeline/lifecycle-pipeline.d.ts +8 -7
  455. package/dist/pipeline/lifecycle-pipeline.js +9 -15
  456. package/dist/pipeline/member-read-only-transaction.js +11 -3
  457. package/dist/pipeline/member-reader.d.ts +1 -1
  458. package/dist/pipeline/member-reader.js +2 -2
  459. package/dist/pipeline/msp-rebuild.js +5 -3
  460. package/dist/pipeline/multi-stream-apply-context.js +3 -2
  461. package/dist/pipeline/notify-scope.d.ts +2 -1
  462. package/dist/pipeline/pre-handler-gates.d.ts +2 -1
  463. package/dist/pipeline/pre-transaction-reservations.d.ts +3 -3
  464. package/dist/pipeline/pre-transaction-reservations.js +9 -7
  465. package/dist/pipeline/projection-rebuild.js +12 -5
  466. package/dist/pipeline/projection-state.d.ts +0 -6
  467. package/dist/pipeline/projection-state.js +0 -5
  468. package/dist/pipeline/projections-runner.d.ts +2 -1
  469. package/dist/pipeline/projections-runner.js +10 -6
  470. package/dist/pipeline/system-hooks.d.ts +3 -1
  471. package/dist/pipeline/system-hooks.js +6 -4
  472. package/dist/pipeline/system-identity-switch.d.ts +4 -2
  473. package/dist/pipeline/system-identity-switch.js +51 -36
  474. package/dist/pipeline/typed-append-event.d.ts +2 -0
  475. package/dist/pipeline/typed-append-event.js +4 -0
  476. package/dist/pipeline/write-origin.js +2 -2
  477. package/dist/pipeline/write-result-masking.d.ts +1 -1
  478. package/dist/random/index.d.ts +1 -2
  479. package/dist/random/index.js +1 -2
  480. package/dist/rate-limit/bucket.d.ts +2 -1
  481. package/dist/rate-limit/middleware.js +2 -1
  482. package/dist/redis/index.d.ts +3 -4
  483. package/dist/redis/index.js +2 -2
  484. package/dist/schema-cli/apply-command.js +5 -2
  485. package/dist/schema-cli/baseline-command.js +7 -2
  486. package/dist/schema-cli/generate-command.js +7 -9
  487. package/dist/schema-cli/shared.d.ts +12 -2
  488. package/dist/schema-cli/shared.js +24 -2
  489. package/dist/schema-cli/status-command.js +8 -2
  490. package/dist/schema-cli/validate-command.js +48 -4
  491. package/dist/schema-cli.d.ts +0 -1
  492. package/dist/search/configure-tenant-index.d.ts +1 -3
  493. package/dist/search/configure-tenant-index.js +0 -4
  494. package/dist/search/index.d.ts +1 -4
  495. package/dist/search/index.js +0 -2
  496. package/dist/search/meilisearch-adapter-internals.d.ts +8 -0
  497. package/dist/search/meilisearch-adapter-internals.js +9 -0
  498. package/dist/search/meilisearch-adapter.d.ts +1 -8
  499. package/dist/search/meilisearch-adapter.js +6 -7
  500. package/dist/search/meilisearch-peer.d.ts +2 -0
  501. package/dist/search/meilisearch-peer.js +5 -0
  502. package/dist/search/reindex-entity.js +93 -87
  503. package/dist/secrets/index.d.ts +3 -4
  504. package/dist/secrets/index.js +2 -3
  505. package/dist/seeding/index.d.ts +2 -2
  506. package/dist/seeding/index.js +1 -2
  507. package/dist/time/index.d.ts +2 -2
  508. package/dist/time/index.js +1 -1
  509. package/dist/time/tz-context.d.ts +0 -5
  510. package/dist/time/tz-context.js +0 -9
  511. package/dist/ui-types/index.d.ts +8 -11
  512. package/dist/ui-types/index.js +3 -3
  513. package/dist/upgrade-changelog.d.ts +3 -2
  514. package/dist/upgrade-changelog.js +12 -8
  515. package/dist/upgrade-cli-internals.d.ts +8 -0
  516. package/dist/upgrade-cli-internals.js +63 -0
  517. package/dist/upgrade-cli.d.ts +2 -9
  518. package/dist/upgrade-cli.js +28 -70
  519. package/dist/utils/import-optional-peer.d.ts +6 -0
  520. package/dist/utils/import-optional-peer.js +19 -0
  521. package/dist/utils/index.d.ts +1 -4
  522. package/dist/utils/index.js +1 -4
  523. package/package.json +23 -19
  524. package/src/changes.json +236 -0
  525. package/dist/crypto/request-kms-cache.d.ts +0 -8
  526. package/dist/crypto/request-kms-cache.js +0 -21
  527. package/dist/engine/codemod/index.d.ts +0 -2
  528. package/dist/engine/codemod/index.js +0 -1
  529. package/dist/engine/codemod/pipeline-codemod.d.ts +0 -50
  530. package/dist/engine/codemod/pipeline-codemod.js +0 -536
  531. package/dist/engine/feature-ast/entity-field-types.d.ts +0 -13
  532. package/dist/engine/feature-ast/entity-field-types.js +0 -35
  533. package/dist/engine/feature-ast/extractors/ai-steps.d.ts +0 -6
  534. package/dist/engine/feature-ast/extractors/ai-steps.js +0 -254
  535. package/dist/engine/feature-ast/extractors/events.d.ts +0 -5
  536. package/dist/engine/feature-ast/extractors/events.js +0 -275
  537. package/dist/engine/feature-ast/extractors/handlers.d.ts +0 -24
  538. package/dist/engine/feature-ast/extractors/handlers.js +0 -358
  539. package/dist/engine/feature-ast/extractors/hooks.d.ts +0 -24
  540. package/dist/engine/feature-ast/extractors/hooks.js +0 -248
  541. package/dist/engine/feature-ast/extractors/index.d.ts +0 -14
  542. package/dist/engine/feature-ast/extractors/index.js +0 -13
  543. package/dist/engine/feature-ast/extractors/jobs-routes.d.ts +0 -7
  544. package/dist/engine/feature-ast/extractors/jobs-routes.js +0 -145
  545. package/dist/engine/feature-ast/extractors/projections-screens.d.ts +0 -10
  546. package/dist/engine/feature-ast/extractors/projections-screens.js +0 -195
  547. package/dist/engine/feature-ast/extractors/resolve-import.d.ts +0 -21
  548. package/dist/engine/feature-ast/extractors/resolve-import.js +0 -180
  549. package/dist/engine/feature-ast/extractors/round1.d.ts +0 -11
  550. package/dist/engine/feature-ast/extractors/round1.js +0 -87
  551. package/dist/engine/feature-ast/extractors/round2.d.ts +0 -7
  552. package/dist/engine/feature-ast/extractors/round2.js +0 -191
  553. package/dist/engine/feature-ast/extractors/round3.d.ts +0 -23
  554. package/dist/engine/feature-ast/extractors/round3.js +0 -292
  555. package/dist/engine/feature-ast/extractors/round5.d.ts +0 -9
  556. package/dist/engine/feature-ast/extractors/round5.js +0 -68
  557. package/dist/engine/feature-ast/extractors/round6.d.ts +0 -4
  558. package/dist/engine/feature-ast/extractors/round6.js +0 -17
  559. package/dist/engine/feature-ast/extractors/shared.d.ts +0 -94
  560. package/dist/engine/feature-ast/extractors/shared.js +0 -343
  561. package/dist/engine/feature-ast/index.d.ts +0 -16
  562. package/dist/engine/feature-ast/index.js +0 -10
  563. package/dist/engine/feature-ast/parse.d.ts +0 -31
  564. package/dist/engine/feature-ast/parse.js +0 -485
  565. package/dist/engine/feature-ast/patch.d.ts +0 -212
  566. package/dist/engine/feature-ast/patch.js +0 -611
  567. package/dist/engine/feature-ast/patcher.d.ts +0 -217
  568. package/dist/engine/feature-ast/patcher.js +0 -281
  569. package/dist/engine/feature-ast/pattern-change-schema.d.ts +0 -1238
  570. package/dist/engine/feature-ast/pattern-change-schema.js +0 -1072
  571. package/dist/engine/feature-ast/pattern-id-matchers.d.ts +0 -7
  572. package/dist/engine/feature-ast/pattern-id-matchers.js +0 -211
  573. package/dist/engine/feature-ast/pattern-id-schema.d.ts +0 -251
  574. package/dist/engine/feature-ast/pattern-id-schema.js +0 -166
  575. package/dist/engine/feature-ast/patterns.d.ts +0 -322
  576. package/dist/engine/feature-ast/patterns.js +0 -107
  577. package/dist/engine/feature-ast/render.d.ts +0 -47
  578. package/dist/engine/feature-ast/render.js +0 -666
  579. package/dist/engine/feature-ast/source-location.d.ts +0 -17
  580. package/dist/engine/feature-ast/source-location.js +0 -27
  581. package/dist/engine/pattern-library/index.d.ts +0 -2
  582. package/dist/engine/pattern-library/index.js +0 -3
  583. package/dist/engine/pattern-library/library.d.ts +0 -14
  584. package/dist/engine/pattern-library/library.js +0 -94
  585. package/dist/engine/pattern-library/mixed-schemas.d.ts +0 -16
  586. package/dist/engine/pattern-library/mixed-schemas.js +0 -559
  587. package/dist/engine/pattern-library/opaque-schemas.d.ts +0 -7
  588. package/dist/engine/pattern-library/opaque-schemas.js +0 -115
  589. package/dist/engine/pattern-library/shared-fields.d.ts +0 -122
  590. package/dist/engine/pattern-library/shared-fields.js +0 -88
  591. package/dist/engine/pattern-library/static-schemas.d.ts +0 -21
  592. package/dist/engine/pattern-library/static-schemas.js +0 -487
  593. package/dist/engine/pattern-library/types.d.ts +0 -158
  594. package/dist/engine/pattern-library/types.js +0 -36
  595. package/dist/engine/resolve-config-or-param.d.ts +0 -18
  596. package/dist/engine/resolve-config-or-param.js +0 -76
  597. package/src/scripts/codemod/README.md +0 -187
  598. package/src/scripts/codemod/codemod-support.ts +0 -334
  599. package/src/scripts/codemod/collect-source-files.ts +0 -48
  600. package/src/scripts/codemod/crypto-shredding-testing-move.ts +0 -119
  601. package/src/scripts/codemod/db-factory.ts +0 -810
  602. package/src/scripts/codemod/feature-factory.ts +0 -429
  603. package/src/scripts/codemod/feature-layout.ts +0 -424
  604. package/src/scripts/codemod/import-extensions.ts +0 -118
  605. package/src/scripts/codemod/migrate-cross-tenant.ts +0 -328
  606. package/src/scripts/codemod/migrate-db-raw.ts +0 -401
  607. package/src/scripts/codemod/migrate-open-to-all.ts +0 -235
  608. package/src/scripts/codemod/object-form.ts +0 -746
  609. package/src/scripts/codemod/package-merge.ts +0 -299
  610. package/src/scripts/codemod/pii-personal-migration.ts +0 -816
  611. package/src/scripts/codemod/remove-engine-payload-casts.ts +0 -318
  612. package/src/scripts/codemod/s3-imports.ts +0 -236
  613. package/src/scripts/codemod/tenant-db-options.ts +0 -454
  614. package/src/scripts/codemod/testing-injection.ts +0 -215
  615. package/src/scripts/codemod/testing-move-targets.ts +0 -161
  616. package/src/scripts/codemod/testing-move.ts +0 -542
  617. 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 = " ";