@cosmicdrift/kumiko-framework 0.368.0 → 0.370.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 (453) hide show
  1. package/AGENTS.md +14 -1
  2. package/agents/examples/apex-surface-auth.md +2 -1
  3. package/agents/examples/app-config.md +98 -0
  4. package/agents/examples/auth-mfa.md +72 -0
  5. package/agents/examples/compose-stacks.md +188 -0
  6. package/agents/examples/env-composition.md +268 -0
  7. package/agents/examples/host-routing.md +181 -0
  8. package/agents/examples/legal-pages.md +52 -3
  9. package/agents/examples/managed-config.md +1 -0
  10. package/agents/examples/managed-pages.md +1 -0
  11. package/agents/examples/prod-boot-options.md +180 -0
  12. package/agents/examples/relations.md +4 -0
  13. package/agents/examples/secrets-demo.md +4 -2
  14. package/agents/examples/security-baseline.md +20 -17
  15. package/agents/examples.md +6 -1
  16. package/agents/features.md +17 -5
  17. package/dist/api/anonymous-cookie.d.ts +1 -1
  18. package/dist/api/anonymous-live-entities.d.ts +1 -1
  19. package/dist/api/auth-middleware.d.ts +2 -2
  20. package/dist/api/auth-routes.d.ts +7 -7
  21. package/dist/api/extra-route.d.ts +2 -2
  22. package/dist/api/index.d.ts +37 -37
  23. package/dist/api/jwt.d.ts +1 -1
  24. package/dist/api/observability-middleware.d.ts +1 -1
  25. package/dist/api/readiness.d.ts +1 -1
  26. package/dist/api/redis-sse-broker.d.ts +2 -2
  27. package/dist/api/request-context.d.ts +1 -1
  28. package/dist/api/request-id-middleware.d.ts +3 -3
  29. package/dist/api/route-registrars.d.ts +4 -4
  30. package/dist/api/routes.d.ts +1 -1
  31. package/dist/api/server.d.ts +16 -16
  32. package/dist/api/sse-broker.d.ts +1 -1
  33. package/dist/api/sse-route.d.ts +1 -1
  34. package/dist/api/websocket-route.d.ts +3 -3
  35. package/dist/auth/index.d.ts +2 -2
  36. package/dist/compliance/duration-spec.d.ts +2 -2
  37. package/dist/compliance/index.d.ts +6 -6
  38. package/dist/compliance/profiles.d.ts +1 -1
  39. package/dist/config/index.d.ts +44 -0
  40. package/dist/config/index.js +61 -0
  41. package/dist/crypto/blind-index.d.ts +1 -1
  42. package/dist/crypto/event-pii.d.ts +1 -1
  43. package/dist/crypto/in-memory-kms-adapter.d.ts +1 -1
  44. package/dist/crypto/index.d.ts +11 -11
  45. package/dist/crypto/is-self-pii-field.d.ts +1 -1
  46. package/dist/crypto/kms-wiring.d.ts +2 -2
  47. package/dist/crypto/owner-transition-rekey.d.ts +1 -1
  48. package/dist/crypto/pg-kms-adapter.d.ts +1 -1
  49. package/dist/crypto/pii-field-encryption.d.ts +4 -4
  50. package/dist/crypto/request-kms-cache.d.ts +1 -1
  51. package/dist/crypto/subject-resolver.d.ts +3 -3
  52. package/dist/db/apply-entity-event.d.ts +4 -4
  53. package/dist/db/assert-exists-in.d.ts +4 -4
  54. package/dist/db/blind-index-cleanup.d.ts +2 -2
  55. package/dist/db/collect-table-metas.d.ts +2 -2
  56. package/dist/db/compound-types.d.ts +1 -1
  57. package/dist/db/config-seed.d.ts +5 -5
  58. package/dist/db/connection.d.ts +1 -6
  59. package/dist/db/connection.js +15 -4
  60. package/dist/db/dialect.d.ts +1 -1
  61. package/dist/db/eagerload.d.ts +3 -3
  62. package/dist/db/entity-field-encryption.d.ts +3 -3
  63. package/dist/db/entity-field-encryption.js +3 -1
  64. package/dist/db/entity-table-from-registry.d.ts +3 -3
  65. package/dist/db/entity-table-meta.d.ts +3 -3
  66. package/dist/db/event-store-executor-context.d.ts +9 -9
  67. package/dist/db/event-store-executor-read.d.ts +2 -2
  68. package/dist/db/event-store-executor-write.d.ts +2 -2
  69. package/dist/db/event-store-executor.d.ts +8 -8
  70. package/dist/db/feature-table-sources.d.ts +1 -1
  71. package/dist/db/index.d.ts +39 -39
  72. package/dist/db/located-timestamp.d.ts +1 -1
  73. package/dist/db/lock-guard.d.ts +2 -2
  74. package/dist/db/migrate-generator.d.ts +2 -2
  75. package/dist/db/migrate-runner.d.ts +1 -1
  76. package/dist/db/money.d.ts +1 -1
  77. package/dist/db/parent-ref-clause.d.ts +4 -4
  78. package/dist/db/projection-registry-binding.d.ts +1 -1
  79. package/dist/db/queries/advisory-lock.d.ts +1 -1
  80. package/dist/db/queries/backfill-pii.d.ts +2 -2
  81. package/dist/db/queries/ddl.d.ts +1 -1
  82. package/dist/db/queries/entity-read.d.ts +1 -1
  83. package/dist/db/queries/es-ops.d.ts +1 -1
  84. package/dist/db/queries/event-consumer.d.ts +2 -2
  85. package/dist/db/queries/event-store-admin.d.ts +1 -1
  86. package/dist/db/queries/event-store-transfer.d.ts +1 -1
  87. package/dist/db/queries/event-store.d.ts +1 -1
  88. package/dist/db/queries/pii-backfill-state.d.ts +1 -1
  89. package/dist/db/queries/projection-rebuild.d.ts +1 -1
  90. package/dist/db/queries/raw-sql.d.ts +1 -1
  91. package/dist/db/queries/seed-context.d.ts +2 -2
  92. package/dist/db/queries/shadow-swap.d.ts +3 -3
  93. package/dist/db/queries/table-ops.d.ts +1 -1
  94. package/dist/db/queries/test-stack.d.ts +2 -2
  95. package/dist/db/query.d.ts +3 -3
  96. package/dist/db/rebuild-marker.d.ts +1 -1
  97. package/dist/db/reference-data.d.ts +3 -3
  98. package/dist/db/render-ddl.d.ts +1 -1
  99. package/dist/db/replay-migration-sql.d.ts +1 -1
  100. package/dist/db/retired-framework-tables.d.ts +1 -1
  101. package/dist/db/schema-inspection.d.ts +1 -1
  102. package/dist/db/table-builder.d.ts +4 -4
  103. package/dist/db/table-push.d.ts +3 -3
  104. package/dist/db/tenant-db-runner.d.ts +2 -2
  105. package/dist/db/tenant-db.d.ts +7 -9
  106. package/dist/db/tenant-db.js +2 -12
  107. package/dist/derivatives/derivatives-context.d.ts +3 -3
  108. package/dist/derivatives/field-variants.d.ts +1 -1
  109. package/dist/derivatives/index.d.ts +6 -6
  110. package/dist/engine/access.d.ts +1 -1
  111. package/dist/engine/active-membership.d.ts +2 -2
  112. package/dist/engine/boot-validator/access-declarations.d.ts +1 -1
  113. package/dist/engine/boot-validator/access-roles.d.ts +1 -1
  114. package/dist/engine/boot-validator/action-wiring.d.ts +1 -1
  115. package/dist/engine/boot-validator/api-ext.d.ts +1 -1
  116. package/dist/engine/boot-validator/boot-check.d.ts +1 -1
  117. package/dist/engine/boot-validator/card-meta-overflow.d.ts +1 -1
  118. package/dist/engine/boot-validator/config-deps.d.ts +1 -1
  119. package/dist/engine/boot-validator/detail-screens.d.ts +2 -2
  120. package/dist/engine/boot-validator/entity-handler.d.ts +1 -1
  121. package/dist/engine/boot-validator/entity-list-screens.d.ts +1 -1
  122. package/dist/engine/boot-validator/gdpr-storage.d.ts +1 -1
  123. package/dist/engine/boot-validator/global-tenancy.d.ts +1 -1
  124. package/dist/engine/boot-validator/handler-field-references.d.ts +1 -1
  125. package/dist/engine/boot-validator/i18n-keys.d.ts +1 -1
  126. package/dist/engine/boot-validator/index.d.ts +7 -7
  127. package/dist/engine/boot-validator/nav.d.ts +1 -1
  128. package/dist/engine/boot-validator/ownership.d.ts +2 -2
  129. package/dist/engine/boot-validator/parent-ref.d.ts +1 -1
  130. package/dist/engine/boot-validator/pii-retention.d.ts +2 -2
  131. package/dist/engine/boot-validator/projection-list-screens.d.ts +1 -1
  132. package/dist/engine/boot-validator/query-output-columns.d.ts +1 -1
  133. package/dist/engine/boot-validator/query-refs.d.ts +1 -1
  134. package/dist/engine/boot-validator/record-owned.d.ts +1 -1
  135. package/dist/engine/boot-validator/screens.d.ts +2 -2
  136. package/dist/engine/boot-validator/screens.js +29 -0
  137. package/dist/engine/boot-validator/security-baseline.d.ts +1 -1
  138. package/dist/engine/boot-validator/selector-owner-panels.d.ts +1 -1
  139. package/dist/engine/boot-validator/transfer-graph.d.ts +2 -2
  140. package/dist/engine/boot-validator/url-prefill-fields.d.ts +1 -1
  141. package/dist/engine/boot-validator/workspaces.d.ts +1 -1
  142. package/dist/engine/boot-validator.d.ts +1 -1
  143. package/dist/engine/bridge-stub.d.ts +1 -1
  144. package/dist/engine/build-app-schema.d.ts +2 -2
  145. package/dist/engine/build-config-feature-schema.d.ts +5 -5
  146. package/dist/engine/build-config-feature-schema.js +197 -65
  147. package/dist/engine/build-target.d.ts +2 -2
  148. package/dist/engine/changeset-changes.d.ts +1 -1
  149. package/dist/engine/codemod/index.d.ts +2 -2
  150. package/dist/engine/config-helpers.d.ts +1 -1
  151. package/dist/engine/constants.d.ts +1 -1
  152. package/dist/engine/create-app.d.ts +2 -2
  153. package/dist/engine/cross-tenant.d.ts +2 -2
  154. package/dist/engine/dedupe-features.d.ts +1 -1
  155. package/dist/engine/define-feature.d.ts +1 -1
  156. package/dist/engine/define-feature.js +2 -2
  157. package/dist/engine/define-handler.d.ts +4 -4
  158. package/dist/engine/define-step.d.ts +1 -1
  159. package/dist/engine/define-workflow.d.ts +2 -2
  160. package/dist/engine/effective-features.d.ts +1 -1
  161. package/dist/engine/embedded-derived.d.ts +1 -1
  162. package/dist/engine/entity-handlers.d.ts +6 -5
  163. package/dist/engine/entity-handlers.js +6 -3
  164. package/dist/engine/event-def.d.ts +15 -0
  165. package/dist/engine/event-def.js +123 -0
  166. package/dist/engine/event-helpers.d.ts +1 -1
  167. package/dist/engine/extension-names.d.ts +8 -8
  168. package/dist/engine/extension-selector-plugins.d.ts +4 -1
  169. package/dist/engine/extension-selector-plugins.js +14 -0
  170. package/dist/engine/extensions/escape-hatch-usage.d.ts +1 -1
  171. package/dist/engine/extensions/storage-provider.d.ts +1 -1
  172. package/dist/engine/extensions/tenant-data.d.ts +3 -3
  173. package/dist/engine/extensions/tenant-resource.d.ts +2 -2
  174. package/dist/engine/extensions/user-data.d.ts +2 -2
  175. package/dist/engine/factories.d.ts +1 -1
  176. package/dist/engine/feature-ast/extractors/ai-steps.d.ts +2 -2
  177. package/dist/engine/feature-ast/extractors/events.d.ts +2 -2
  178. package/dist/engine/feature-ast/extractors/handlers.d.ts +4 -4
  179. package/dist/engine/feature-ast/extractors/hooks.d.ts +5 -5
  180. package/dist/engine/feature-ast/extractors/index.d.ts +14 -14
  181. package/dist/engine/feature-ast/extractors/jobs-routes.d.ts +3 -3
  182. package/dist/engine/feature-ast/extractors/projections-screens.d.ts +3 -3
  183. package/dist/engine/feature-ast/extractors/round1.d.ts +2 -2
  184. package/dist/engine/feature-ast/extractors/round2.d.ts +2 -2
  185. package/dist/engine/feature-ast/extractors/round3.d.ts +4 -4
  186. package/dist/engine/feature-ast/extractors/round5.d.ts +2 -2
  187. package/dist/engine/feature-ast/extractors/round6.d.ts +2 -2
  188. package/dist/engine/feature-ast/extractors/shared.d.ts +2 -2
  189. package/dist/engine/feature-ast/index.d.ts +16 -16
  190. package/dist/engine/feature-ast/parse.d.ts +2 -2
  191. package/dist/engine/feature-ast/patch.d.ts +1 -1
  192. package/dist/engine/feature-ast/patcher.d.ts +15 -15
  193. package/dist/engine/feature-ast/pattern-change-schema.d.ts +10 -10
  194. package/dist/engine/feature-ast/patterns.d.ts +15 -15
  195. package/dist/engine/feature-ast/render.d.ts +1 -1
  196. package/dist/engine/feature-builder-state.d.ts +5 -5
  197. package/dist/engine/feature-config-events-jobs.d.ts +5 -3
  198. package/dist/engine/feature-config-events-jobs.js +9 -130
  199. package/dist/engine/feature-entity-handlers.d.ts +4 -4
  200. package/dist/engine/feature-entity-handlers.js +11 -5
  201. package/dist/engine/feature-manifest.d.ts +1 -1
  202. package/dist/engine/feature-ui-extensions.d.ts +7 -7
  203. package/dist/engine/feature-ui-extensions.js +2 -2
  204. package/dist/engine/field-access.d.ts +1 -1
  205. package/dist/engine/field-helpers.d.ts +1 -1
  206. package/dist/engine/handler-helpers.d.ts +1 -1
  207. package/dist/engine/index.d.ts +89 -88
  208. package/dist/engine/index.js +1 -0
  209. package/dist/engine/instruction-fields.d.ts +1 -1
  210. package/dist/engine/object-form.d.ts +1 -1
  211. package/dist/engine/object-form.js +5 -6
  212. package/dist/engine/ownership.d.ts +3 -3
  213. package/dist/engine/pattern-library/index.d.ts +2 -2
  214. package/dist/engine/pattern-library/library.d.ts +2 -2
  215. package/dist/engine/pattern-library/mixed-schemas.d.ts +1 -1
  216. package/dist/engine/pattern-library/opaque-schemas.d.ts +1 -1
  217. package/dist/engine/pattern-library/shared-fields.d.ts +1 -1
  218. package/dist/engine/pattern-library/static-schemas.d.ts +1 -1
  219. package/dist/engine/pattern-library/types.d.ts +1 -1
  220. package/dist/engine/personal-data-fields.d.ts +2 -2
  221. package/dist/engine/pipeline.d.ts +2 -2
  222. package/dist/engine/project-app-schema-for-roles.d.ts +1 -1
  223. package/dist/engine/projection-helpers.d.ts +4 -4
  224. package/dist/engine/read-claim.d.ts +1 -1
  225. package/dist/engine/registry-facade.d.ts +2 -2
  226. package/dist/engine/registry-ingest.d.ts +2 -2
  227. package/dist/engine/registry-state.d.ts +2 -2
  228. package/dist/engine/registry-validate.d.ts +3 -3
  229. package/dist/engine/registry.d.ts +1 -1
  230. package/dist/engine/resolve-config-or-param.d.ts +2 -2
  231. package/dist/engine/role-assignment.d.ts +1 -1
  232. package/dist/engine/run-in.d.ts +1 -1
  233. package/dist/engine/run-pipeline.d.ts +3 -3
  234. package/dist/engine/schema-builder.d.ts +1 -1
  235. package/dist/engine/screen-filter-ops.d.ts +1 -1
  236. package/dist/engine/screen-helpers.d.ts +2 -2
  237. package/dist/engine/soft-delete-cleanup.d.ts +2 -2
  238. package/dist/engine/steps/_event-match.d.ts +1 -1
  239. package/dist/engine/steps/_no-return-guard.d.ts +1 -1
  240. package/dist/engine/steps/_read-source.d.ts +4 -4
  241. package/dist/engine/steps/_resolver-utils.d.ts +1 -1
  242. package/dist/engine/steps/aggregate-append-event.d.ts +1 -1
  243. package/dist/engine/steps/aggregate-create.d.ts +2 -2
  244. package/dist/engine/steps/aggregate-update.d.ts +3 -3
  245. package/dist/engine/steps/branch.d.ts +1 -1
  246. package/dist/engine/steps/call-feature.d.ts +2 -2
  247. package/dist/engine/steps/compute.d.ts +1 -1
  248. package/dist/engine/steps/for-each.d.ts +1 -1
  249. package/dist/engine/steps/mail-send.d.ts +1 -1
  250. package/dist/engine/steps/read-find-many.d.ts +2 -2
  251. package/dist/engine/steps/read-find-one.d.ts +2 -2
  252. package/dist/engine/steps/retry.d.ts +1 -1
  253. package/dist/engine/steps/return.d.ts +2 -2
  254. package/dist/engine/steps/unsafe-projection-delete.d.ts +2 -2
  255. package/dist/engine/steps/unsafe-projection-upsert.d.ts +1 -1
  256. package/dist/engine/steps/wait-for-event.d.ts +1 -1
  257. package/dist/engine/steps/wait.d.ts +1 -1
  258. package/dist/engine/steps/webhook-send.d.ts +1 -1
  259. package/dist/engine/strip-disabled-features-from-app-schema.d.ts +4 -4
  260. package/dist/engine/system-user.d.ts +2 -2
  261. package/dist/engine/template-variables.d.ts +1 -1
  262. package/dist/engine/tier-resolver-extension.d.ts +4 -4
  263. package/dist/engine/transfer-adjacency.d.ts +1 -1
  264. package/dist/engine/types/index.d.ts +6 -6
  265. package/dist/engine/validate-projection-allowlist.d.ts +1 -1
  266. package/dist/engine/validation.d.ts +1 -1
  267. package/dist/entrypoint/index.d.ts +12 -12
  268. package/dist/env/dry-run.d.ts +14 -1
  269. package/dist/env/dry-run.js +50 -0
  270. package/dist/env/index.d.ts +54 -16
  271. package/dist/env/index.js +60 -6
  272. package/dist/errors/classes.d.ts +3 -3
  273. package/dist/errors/docs-url.d.ts +1 -1
  274. package/dist/errors/index.d.ts +18 -18
  275. package/dist/errors/member-resolution.d.ts +1 -1
  276. package/dist/errors/serialize.d.ts +2 -2
  277. package/dist/errors/subject-erased.d.ts +1 -1
  278. package/dist/errors/to-kumiko-error.d.ts +1 -1
  279. package/dist/errors/write-error-info.d.ts +1 -1
  280. package/dist/errors/zod-bridge.d.ts +1 -1
  281. package/dist/es-ops/context.d.ts +4 -4
  282. package/dist/es-ops/index.d.ts +4 -4
  283. package/dist/es-ops/operations-schema.d.ts +1 -1
  284. package/dist/es-ops/runner.d.ts +3 -3
  285. package/dist/es-ops/runner.js +9 -1
  286. package/dist/es-ops/types.d.ts +2 -2
  287. package/dist/event-store/admin-api.d.ts +3 -3
  288. package/dist/event-store/archive.d.ts +2 -2
  289. package/dist/event-store/event-store.d.ts +2 -2
  290. package/dist/event-store/events-schema.d.ts +1 -1
  291. package/dist/event-store/index.d.ts +15 -15
  292. package/dist/event-store/provenance-append.d.ts +3 -3
  293. package/dist/event-store/rebuild-dead-letter.d.ts +2 -2
  294. package/dist/event-store/row-to-stored-event.d.ts +2 -2
  295. package/dist/event-store/snapshot.d.ts +2 -2
  296. package/dist/event-store/tenant-db-append.d.ts +2 -2
  297. package/dist/event-store/transfer.d.ts +3 -3
  298. package/dist/event-store/upcaster-dead-letter.d.ts +2 -2
  299. package/dist/event-store/upcaster.d.ts +3 -3
  300. package/dist/files/assert-file-refs-belong-to-tenant.d.ts +2 -2
  301. package/dist/files/bind-pending-file-refs.d.ts +3 -3
  302. package/dist/files/create-file-ref-from-bytes.d.ts +4 -4
  303. package/dist/files/create-file-ref.d.ts +3 -3
  304. package/dist/files/dispose-removed-file-refs.d.ts +2 -2
  305. package/dist/files/feature.d.ts +3 -3
  306. package/dist/files/file-handle.d.ts +1 -1
  307. package/dist/files/file-ref-entity.d.ts +1 -1
  308. package/dist/files/file-ref-table.d.ts +1 -1
  309. package/dist/files/file-routes.d.ts +5 -5
  310. package/dist/files/in-memory-provider.d.ts +1 -1
  311. package/dist/files/index.d.ts +20 -20
  312. package/dist/files/load-save-file-refs.d.ts +2 -2
  313. package/dist/files/local-provider.d.ts +1 -1
  314. package/dist/files/provider-resolver.d.ts +5 -5
  315. package/dist/files/purge-expired-file-ref-bytes.d.ts +2 -2
  316. package/dist/files/record-read-check.d.ts +1 -1
  317. package/dist/files/record-write-check.d.ts +3 -3
  318. package/dist/files/storage-tracking.d.ts +2 -2
  319. package/dist/files/types.d.ts +1 -1
  320. package/dist/files/zip-stream.d.ts +1 -1
  321. package/dist/i18n/index.d.ts +4 -4
  322. package/dist/i18n/mail-registry.d.ts +1 -1
  323. package/dist/i18n/required-surface-keys.d.ts +1 -1
  324. package/dist/i18n/settings-hub-keys.d.ts +1 -1
  325. package/dist/i18n/settings-hub-keys.js +1 -2
  326. package/dist/internal/stack-support.d.ts +12 -12
  327. package/dist/internal/testing.d.ts +4 -4
  328. package/dist/jobs/index.d.ts +2 -2
  329. package/dist/jobs/job-runner.d.ts +1 -1
  330. package/dist/jobs/max-per-tenant.d.ts +1 -1
  331. package/dist/lifecycle/index.d.ts +2 -2
  332. package/dist/lifecycle/lifecycle.d.ts +1 -1
  333. package/dist/lifecycle/signal-handlers.d.ts +1 -1
  334. package/dist/logging/index.d.ts +4 -4
  335. package/dist/logging/pino-logger.d.ts +1 -1
  336. package/dist/logging/utils.d.ts +1 -1
  337. package/dist/migrations/index.d.ts +4 -4
  338. package/dist/migrations/kumiko-drift.d.ts +1 -1
  339. package/dist/migrations/pending-rebuilds.d.ts +5 -5
  340. package/dist/migrations/pii-event-backfill.d.ts +4 -4
  341. package/dist/migrations/projection-table-index.d.ts +1 -1
  342. package/dist/observability/console-provider.d.ts +1 -1
  343. package/dist/observability/context.d.ts +1 -1
  344. package/dist/observability/escape-hatch-report.d.ts +3 -3
  345. package/dist/observability/fallback.d.ts +1 -1
  346. package/dist/observability/index.d.ts +16 -16
  347. package/dist/observability/metric-validator.d.ts +1 -1
  348. package/dist/observability/metrics-handle.d.ts +1 -1
  349. package/dist/observability/metrics-wiring.d.ts +2 -2
  350. package/dist/observability/noop-provider.d.ts +1 -1
  351. package/dist/observability/prometheus-meter.d.ts +1 -1
  352. package/dist/observability/recording-meter.d.ts +1 -1
  353. package/dist/observability/recording-tracer.d.ts +1 -1
  354. package/dist/observability/redis-wrapper.d.ts +1 -1
  355. package/dist/observability/sensitive-filter.d.ts +1 -1
  356. package/dist/observability/standard-metrics.d.ts +1 -1
  357. package/dist/pipeline/active-membership.d.ts +4 -4
  358. package/dist/pipeline/append-event-core.d.ts +3 -3
  359. package/dist/pipeline/auth-claims-resolver.d.ts +2 -2
  360. package/dist/pipeline/cascade-handler.d.ts +3 -3
  361. package/dist/pipeline/dispatch-batch.d.ts +2 -2
  362. package/dist/pipeline/dispatch-query.d.ts +4 -4
  363. package/dist/pipeline/dispatch-shared.d.ts +17 -17
  364. package/dist/pipeline/dispatch-stream.d.ts +2 -2
  365. package/dist/pipeline/dispatch-write.d.ts +4 -4
  366. package/dist/pipeline/dispatcher-utils.d.ts +2 -2
  367. package/dist/pipeline/dispatcher.d.ts +12 -12
  368. package/dist/pipeline/event-consumer-state.d.ts +1 -1
  369. package/dist/pipeline/event-dispatcher-admin.d.ts +1 -1
  370. package/dist/pipeline/event-dispatcher-delivery.d.ts +7 -7
  371. package/dist/pipeline/event-dispatcher.d.ts +7 -7
  372. package/dist/pipeline/event-retention.d.ts +1 -1
  373. package/dist/pipeline/handler-access-error.d.ts +2 -2
  374. package/dist/pipeline/index.d.ts +42 -42
  375. package/dist/pipeline/irreversible-operation-gate.d.ts +1 -1
  376. package/dist/pipeline/lifecycle-pipeline.d.ts +2 -2
  377. package/dist/pipeline/member-read-only-transaction.d.ts +2 -2
  378. package/dist/pipeline/member-reader.d.ts +5 -5
  379. package/dist/pipeline/msp-rebuild.d.ts +4 -4
  380. package/dist/pipeline/multi-stream-apply-context.d.ts +3 -3
  381. package/dist/pipeline/notify-scope.d.ts +3 -3
  382. package/dist/pipeline/pending-gap-ranges.d.ts +2 -2
  383. package/dist/pipeline/pre-handler-gates.d.ts +3 -3
  384. package/dist/pipeline/pre-transaction-reservations.d.ts +4 -4
  385. package/dist/pipeline/projection-rebuild.d.ts +3 -3
  386. package/dist/pipeline/projection-state.d.ts +1 -1
  387. package/dist/pipeline/projections-runner.d.ts +3 -3
  388. package/dist/pipeline/projections-runner.js +3 -4
  389. package/dist/pipeline/system-hooks.d.ts +4 -4
  390. package/dist/pipeline/system-identity-switch.d.ts +3 -3
  391. package/dist/pipeline/tenant-timezone-cache.d.ts +1 -1
  392. package/dist/pipeline/write-origin.d.ts +3 -3
  393. package/dist/pipeline/write-result-masking.d.ts +2 -2
  394. package/dist/random/index.d.ts +2 -2
  395. package/dist/rate-limit/bucket.d.ts +1 -1
  396. package/dist/rate-limit/index.d.ts +3 -3
  397. package/dist/rate-limit/middleware.d.ts +3 -3
  398. package/dist/redis/cache-sync-bus.d.ts +2 -2
  399. package/dist/redis/cache-sync-topics.d.ts +1 -1
  400. package/dist/redis/index.d.ts +8 -8
  401. package/dist/redis/pubsub-signal.d.ts +1 -1
  402. package/dist/schema-cli.d.ts +1 -1
  403. package/dist/schema-cli.js +9 -1
  404. package/dist/search/derive-search-adapter-config.d.ts +2 -2
  405. package/dist/search/in-memory-adapter.d.ts +1 -1
  406. package/dist/search/index.d.ts +6 -6
  407. package/dist/search/meilisearch-adapter.d.ts +2 -2
  408. package/dist/search/purge-subject.d.ts +4 -4
  409. package/dist/search/reindex-entity.d.ts +3 -3
  410. package/dist/secrets/dek-cache.d.ts +1 -1
  411. package/dist/secrets/env-master-key-provider.d.ts +1 -1
  412. package/dist/secrets/env-master-key-provider.js +26 -11
  413. package/dist/secrets/envelope-cipher.d.ts +2 -2
  414. package/dist/secrets/envelope.d.ts +1 -1
  415. package/dist/secrets/index.d.ts +9 -9
  416. package/dist/secrets/rotation.d.ts +1 -1
  417. package/dist/secrets/stored-envelope.d.ts +1 -1
  418. package/dist/seeding/entity-seed.d.ts +1 -1
  419. package/dist/seeding/index.d.ts +3 -3
  420. package/dist/seeding/seed-users.d.ts +1 -1
  421. package/dist/time/index.d.ts +6 -6
  422. package/dist/ui-types/app-schema.d.ts +5 -5
  423. package/dist/ui-types/index.d.ts +23 -23
  424. package/dist/upgrade-cli.js +18 -6
  425. package/dist/utils/index.d.ts +9 -9
  426. package/package.json +19 -66
  427. package/presets/biome-app.json +80 -0
  428. package/presets/tsconfig.app.json +19 -0
  429. package/src/changes.json +84 -2
  430. package/src/scripts/codemod/README.md +18 -0
  431. package/src/scripts/codemod/codemod-support.ts +1 -1
  432. package/src/scripts/codemod/db-factory.ts +1 -1
  433. package/src/scripts/codemod/feature-factory.ts +1 -1
  434. package/src/scripts/codemod/import-extensions.ts +118 -0
  435. package/src/scripts/codemod/migrate-cross-tenant.ts +2 -2
  436. package/src/scripts/codemod/migrate-db-raw.ts +1 -1
  437. package/src/scripts/codemod/migrate-open-to-all.ts +1 -1
  438. package/src/scripts/codemod/object-form.ts +1 -1
  439. package/src/scripts/codemod/s3-imports.ts +1 -1
  440. package/src/scripts/codemod/tenant-db-options.ts +1 -1
  441. package/src/scripts/codemod/testing-move.ts +2 -2
  442. package/dist/db/bun-db-deprecated.d.ts +0 -10
  443. package/dist/db/bun-db-deprecated.js +0 -5
  444. package/dist/stack/index.d.ts +0 -10
  445. package/dist/stack/index.js +0 -11
  446. package/dist/testing/e2e-generator.d.ts +0 -5
  447. package/dist/testing/e2e-generator.js +0 -5
  448. package/dist/testing/handler-context.d.ts +0 -5
  449. package/dist/testing/handler-context.js +0 -5
  450. package/dist/testing/index.d.ts +0 -10
  451. package/dist/testing/index.js +0 -10
  452. package/dist/testing/real-providers.d.ts +0 -5
  453. package/dist/testing/real-providers.js +0 -5
@@ -3,4 +3,4 @@ export declare function splitNamedDefinition<T extends {
3
3
  }>(definition: T): [string, Omit<T, "name">];
4
4
  export declare function unwrapArrayForm<K extends string>(args: readonly [Record<K, readonly string[]>] | readonly string[], key: K): readonly string[];
5
5
  export declare function isObjectArgument(value: unknown): boolean;
6
- export declare function throwPositionalFormRemoved(featureName: string, method: string): never;
6
+ export declare function throwObjectArgumentRequired(featureName: string, method: string): never;
@@ -1,6 +1,5 @@
1
1
  // Shared helpers for registrar methods that take a single object argument
2
- // (`r.entity({ name: "item", ... })`). The positional overloads are gone; the
3
- // runtime check below turns a leftover positional call into a pointer at the codemod.
2
+ // (`r.entity({ name: "item", ... })`).
4
3
  export function splitNamedDefinition(definition) {
5
4
  const { name, ...rest } = definition;
6
5
  return [name, rest];
@@ -17,8 +16,8 @@ export function unwrapArrayForm(args, key) {
17
16
  export function isObjectArgument(value) {
18
17
  return typeof value === "object" && value !== null;
19
18
  }
20
- // Removed in the first release after 2026-10-29; until then a positional call fails with
21
- // a pointer at the codemod instead of an obscure "undefined is not a function".
22
- export function throwPositionalFormRemoved(featureName, method) {
23
- throw new Error(`[Feature ${featureName}] positional r.${method}(…) removed in 0.366, run \`bun kumiko-upgrade --apply\``);
19
+ // Untyped JS callers bypass the types; without this check a positional call would
20
+ // register a definition built from undefined fields instead of failing.
21
+ export function throwObjectArgumentRequired(featureName, method) {
22
+ throw new Error(`[Feature ${featureName}] r.${method}() takes one options object`);
24
23
  }
@@ -1,6 +1,6 @@
1
- import type { SessionUser } from "./types/index.js";
2
- export type { FromRule, FromRuleKind, OwnershipClause, OwnershipMap, OwnershipRef, OwnershipRule, SqlFragment, WhereRule, WhereRuleContext, } from "./types/ownership.js";
3
- import type { FromRule, OwnershipClause, OwnershipMap, OwnershipRef, OwnershipRule, SqlFragment } from "./types/ownership.js";
1
+ import type { SessionUser } from "./types/index.ts";
2
+ export type { FromRule, FromRuleKind, OwnershipClause, OwnershipMap, OwnershipRef, OwnershipRule, SqlFragment, WhereRule, WhereRuleContext, } from "./types/ownership.ts";
3
+ import type { FromRule, OwnershipClause, OwnershipMap, OwnershipRef, OwnershipRule, SqlFragment } from "./types/ownership.ts";
4
4
  export declare function from(ref: OwnershipRef, column?: string): FromRule;
5
5
  export declare function matchesRule(rule: OwnershipRule, user: SessionUser, row: Readonly<Record<string, unknown>>): boolean;
6
6
  export declare function userCanReadFieldRow(user: SessionUser, accessMap: OwnershipMap | undefined, row: Readonly<Record<string, unknown>>): boolean;
@@ -1,2 +1,2 @@
1
- export { getPatternSchema, groupByCategory, PATTERN_LIBRARY } from "./library.js";
2
- export type { BooleanField, CodeBlockField, DiscriminatedUnionField, EntityFieldsEditorField, EntityRefField, FormFieldLabel, FormFieldSpec, FormInputType, JsonReadonlyField, KeyValueMapField, NumberField, PatternCategory, PatternFormSchema, SelectField, SelectOption, StringListField, TextareaField, TextField, } from "./types.js";
1
+ export { getPatternSchema, groupByCategory, PATTERN_LIBRARY } from "./library.ts";
2
+ export type { BooleanField, CodeBlockField, DiscriminatedUnionField, EntityFieldsEditorField, EntityRefField, FormFieldLabel, FormFieldSpec, FormInputType, JsonReadonlyField, KeyValueMapField, NumberField, PatternCategory, PatternFormSchema, SelectField, SelectOption, StringListField, TextareaField, TextField, } from "./types.ts";
@@ -1,5 +1,5 @@
1
- import type { FeaturePatternKind } from "../feature-ast/patterns.js";
2
- import type { PatternCategory, PatternFormSchema } from "./types.js";
1
+ import type { FeaturePatternKind } from "../feature-ast/patterns.ts";
2
+ import type { PatternCategory, PatternFormSchema } from "./types.ts";
3
3
  export declare const PATTERN_LIBRARY: Readonly<Record<FeaturePatternKind, PatternFormSchema>>;
4
4
  /**
5
5
  * Lookup helper — convenience over `PATTERN_LIBRARY[kind]`. Throws when
@@ -1,4 +1,4 @@
1
- import type { PatternFormSchema } from "./types.js";
1
+ import type { PatternFormSchema } from "./types.ts";
2
2
  export declare const screenSchema: PatternFormSchema;
3
3
  export declare const writeHandlerSchema: PatternFormSchema;
4
4
  export declare const queryHandlerSchema: PatternFormSchema;
@@ -1,4 +1,4 @@
1
- import type { PatternFormSchema } from "./types.js";
1
+ import type { PatternFormSchema } from "./types.ts";
2
2
  export declare const extendsRegistrarSchema: PatternFormSchema;
3
3
  export declare const usesApiSchema: PatternFormSchema;
4
4
  export declare const exposesApiSchema: PatternFormSchema;
@@ -1,4 +1,4 @@
1
- import type { FormFieldSpec } from "./types.js";
1
+ import type { FormFieldSpec } from "./types.ts";
2
2
  export declare const HOOK_TYPE_OPTIONS: readonly [{
3
3
  readonly value: "validation";
4
4
  readonly label: {
@@ -1,4 +1,4 @@
1
- import type { PatternFormSchema } from "./types.js";
1
+ import type { PatternFormSchema } from "./types.ts";
2
2
  export declare const requiresSchema: PatternFormSchema;
3
3
  export declare const optionalRequiresSchema: PatternFormSchema;
4
4
  export declare const readsConfigSchema: PatternFormSchema;
@@ -1,4 +1,4 @@
1
- import type { FeaturePatternKind } from "../feature-ast/patterns.js";
1
+ import type { FeaturePatternKind } from "../feature-ast/patterns.ts";
2
2
  export type FormInputType = "text" | "textarea" | "number" | "boolean" | "select" | "string-list" | "code-block" | "entity-fields-editor" | "key-value-map" | "discriminated-union" | "entity-ref" | "json-readonly";
3
3
  /**
4
4
  * Bilingual labels — Designer renders the user's locale, falls back to
@@ -1,5 +1,5 @@
1
- import type { EntityDefinition } from "./types/fields.js";
2
- import type { AccessRule } from "./types/index.js";
1
+ import type { EntityDefinition } from "./types/fields.ts";
2
+ import type { AccessRule } from "./types/index.ts";
3
3
  export declare function personalFieldNames(entity: EntityDefinition, honorOwnerBinding: boolean): ReadonlySet<string>;
4
4
  export declare function declaredPersonalData(access: AccessRule): unknown;
5
5
  export declare function accessAllowsAnonymous(access: AccessRule): boolean;
@@ -1,4 +1,4 @@
1
- import type { WriteEvent } from "./types/handlers.js";
2
- import type { AwaitedEventType, PipelineBuildCtx, PipelineDef, StepInstance } from "./types/step.js";
1
+ import type { WriteEvent } from "./types/handlers.ts";
2
+ import type { AwaitedEventType, PipelineBuildCtx, PipelineDef, StepInstance } from "./types/step.ts";
3
3
  export declare function stepsPipeline<TPayload = unknown, TData = unknown, TAwaits extends Record<string, AwaitedEventType> = Record<string, AwaitedEventType>>(closure: (ctx: PipelineBuildCtx<TPayload, TAwaits>) => readonly StepInstance[]): PipelineDef<TPayload, TData, TAwaits>;
4
4
  export declare function buildPipelineSteps<TPayload, TAwaits extends Record<string, AwaitedEventType> = Record<string, AwaitedEventType>>(pipelineDef: PipelineDef<TPayload, unknown, TAwaits>, event: WriteEvent<TPayload>): readonly StepInstance[];
@@ -1,2 +1,2 @@
1
- import type { AppSchema } from "../ui-types/app-schema.js";
1
+ import type { AppSchema } from "../ui-types/app-schema.ts";
2
2
  export declare function projectAppSchemaForRoles(schema: AppSchema, roles: readonly string[]): AppSchema;
@@ -1,7 +1,7 @@
1
- import type { DbRunner } from "../db/connection.js";
2
- import type { StoredEvent } from "../event-store/event-store.js";
3
- import type { MultiStreamApplyContext } from "../pipeline/multi-stream-apply-context.js";
4
- import type { MultiStreamApplyFn, ProjectionTable, SingleStreamApplyFn } from "./types/projection.js";
1
+ import type { DbRunner } from "../db/connection.ts";
2
+ import type { StoredEvent } from "../event-store/event-store.ts";
3
+ import type { MultiStreamApplyContext } from "../pipeline/multi-stream-apply-context.ts";
4
+ import type { MultiStreamApplyFn, ProjectionTable, SingleStreamApplyFn } from "./types/projection.ts";
5
5
  export declare function defineApply<TPayload = Record<string, unknown>>(fn: (event: StoredEvent<TPayload>, tx: DbRunner, table: ProjectionTable) => Promise<void>): SingleStreamApplyFn;
6
6
  export declare function defineMspApply<TPayload = Record<string, unknown>>(fn: (event: StoredEvent<TPayload>, tx: DbRunner, ctx: MultiStreamApplyContext) => Promise<void>): MultiStreamApplyFn;
7
7
  export declare function setFields(table: ProjectionTable, fields: Record<string, unknown> | ((event: Parameters<SingleStreamApplyFn>[0]) => Record<string, unknown>)): SingleStreamApplyFn;
@@ -1,2 +1,2 @@
1
- import type { ClaimKeyHandle, ClaimKeyJsType, ClaimKeyType, SessionUser } from "./types/index.js";
1
+ import type { ClaimKeyHandle, ClaimKeyJsType, ClaimKeyType, SessionUser } from "./types/index.ts";
2
2
  export declare function readClaim<T extends ClaimKeyType>(user: SessionUser, handle: ClaimKeyHandle<T>): ClaimKeyJsType<T> | undefined;
@@ -1,3 +1,3 @@
1
- import type { RegistryState } from "./registry-state.js";
2
- import type { Registry } from "./types/index.js";
1
+ import type { RegistryState } from "./registry-state.ts";
2
+ import type { Registry } from "./types/index.ts";
3
3
  export declare function buildRegistryFacade(state: RegistryState): Registry;
@@ -1,5 +1,5 @@
1
- import type { RegistryState } from "./registry-state.js";
2
- import type { FeatureDefinition, NotificationDefinition } from "./types/index.js";
1
+ import type { RegistryState } from "./registry-state.ts";
2
+ import type { FeatureDefinition, NotificationDefinition } from "./types/index.ts";
3
3
  export declare function populateFeatureCore(state: RegistryState, feature: FeatureDefinition): void;
4
4
  export declare function populateHandlers(state: RegistryState, feature: FeatureDefinition): void;
5
5
  export declare function populateConfigKeys(state: RegistryState, feature: FeatureDefinition): void;
@@ -1,5 +1,5 @@
1
- import { type QnType, qualifyEntityName } from "./qualified-name.js";
2
- import type { AuthClaimsHookDef, ClaimKeyDefinition, ConfigKeyDefinition, ConfigSeedDef, EntityDefinition, EntityProjectionExtension, EventDef, EventUpcastFn, ExtensionSelectorPanel, FeatureDefinition, FeatureMetricDef, HookPhase, JobDefinition, MultiStreamProjectionDefinition, NavDefinition, NotificationDefinition, OwnedFn, PhasedHook, PostDeleteHookFn, PostQueryHookFn, PostSaveHookFn, PreDeleteHookFn, PreQueryHookFn, PreSaveHookFn, ProjectionDefinition, QueryHandlerDef, ReferenceDataDef, RegistrarExtensionDef, RegistrarExtensionRegistration, RelationDefinition, ScreenDefinition, SearchPayloadContributorFn, SecretKeyDefinition, SecretNamespaceDefinition, StoreTableDef, StreamHandlerDef, TranslationValue, TreeActionDef, WorkspaceDefinition, WriteHandlerDef } from "./types/index.js";
1
+ import { type QnType, qualifyEntityName } from "./qualified-name.ts";
2
+ import type { AuthClaimsHookDef, ClaimKeyDefinition, ConfigKeyDefinition, ConfigSeedDef, EntityDefinition, EntityProjectionExtension, EventDef, EventUpcastFn, ExtensionSelectorPanel, FeatureDefinition, FeatureMetricDef, HookPhase, JobDefinition, MultiStreamProjectionDefinition, NavDefinition, NotificationDefinition, OwnedFn, PhasedHook, PostDeleteHookFn, PostQueryHookFn, PostSaveHookFn, PreDeleteHookFn, PreQueryHookFn, PreSaveHookFn, ProjectionDefinition, QueryHandlerDef, ReferenceDataDef, RegistrarExtensionDef, RegistrarExtensionRegistration, RelationDefinition, ScreenDefinition, SearchPayloadContributorFn, SecretKeyDefinition, SecretNamespaceDefinition, StoreTableDef, StreamHandlerDef, TranslationValue, TreeActionDef, WorkspaceDefinition, WriteHandlerDef } from "./types/index.ts";
3
3
  export type IncomingRelation = {
4
4
  sourceEntity: string;
5
5
  relationName: string;
@@ -1,6 +1,6 @@
1
- import { type EntityLifecycleVerb } from "../db/event-store-executor-context.js";
2
- import type { RegistryState } from "./registry-state.js";
3
- import type { EntityEventMigration, EventUpcastFn, FeatureDefinition } from "./types/index.js";
1
+ import { type EntityLifecycleVerb } from "../db/event-store-executor-context.ts";
2
+ import type { RegistryState } from "./registry-state.ts";
3
+ import type { EntityEventMigration, EventUpcastFn, FeatureDefinition } from "./types/index.ts";
4
4
  export declare function finalizeWorkspaceNavMembership(state: RegistryState): void;
5
5
  export declare function populateHandlerEntityMappings(state: RegistryState, features: readonly FeatureDefinition[]): void;
6
6
  export declare function validateExtensionSelectors(state: RegistryState): void;
@@ -1,2 +1,2 @@
1
- import type { FeatureDefinition, Registry } from "./types/index.js";
1
+ import type { FeatureDefinition, Registry } from "./types/index.ts";
2
2
  export declare function createRegistry(rawFeatures: readonly FeatureDefinition[]): Registry;
@@ -1,5 +1,5 @@
1
- import type { ConfigAccessor, ConfigKeyHandle, ConfigKeyType, ConfigValue } from "./types/config.js";
2
- import type { Registry } from "./types/index.js";
1
+ import type { ConfigAccessor, ConfigKeyHandle, ConfigKeyType, ConfigValue } from "./types/config.ts";
2
+ import type { Registry } from "./types/index.ts";
3
3
  type ResolveCtx = {
4
4
  readonly config: ConfigAccessor;
5
5
  readonly registry: Registry;
@@ -1,4 +1,4 @@
1
- import type { Registry } from "./types/feature.js";
1
+ import type { Registry } from "./types/feature.ts";
2
2
  /** Every membership role the engine ranks, excluding the internal `system` actor. */
3
3
  export declare const BUILT_IN_MEMBERSHIP_ROLES: readonly string[];
4
4
  declare const ASSIGNABLE_FROM_ROLE_LIST: readonly ["User", "Member", "Editor", "Admin", "TenantAdmin", "SystemAdmin"];
@@ -1,2 +1,2 @@
1
- import type { RunIn } from "./types/index.js";
1
+ import type { RunIn } from "./types/index.ts";
2
2
  export declare function runsInLane(runIn: RunIn | undefined, processLane: RunIn): boolean;
@@ -1,6 +1,6 @@
1
- import type { KumikoEventTypeMap } from "./types/event-type-map.js";
2
- import type { HandlerContext, WriteEvent, WriteResult } from "./types/handlers.js";
3
- import type { PipelineCtx, PipelineDef, StepInstance } from "./types/step.js";
1
+ import type { KumikoEventTypeMap } from "./types/event-type-map.ts";
2
+ import type { HandlerContext, WriteEvent, WriteResult } from "./types/handlers.ts";
3
+ import type { PipelineCtx, PipelineDef, StepInstance } from "./types/step.ts";
4
4
  export type StepListOutcome = {
5
5
  readonly kind: "return";
6
6
  readonly result: WriteResult<unknown>;
@@ -1,5 +1,5 @@
1
1
  import * as z from "zod";
2
- import type { EntityDefinition, FieldDefinition } from "./types/index.js";
2
+ import type { EntityDefinition, FieldDefinition } from "./types/index.ts";
3
3
  export declare function isRepresentableAtScale(n: number, scale: number): boolean;
4
4
  export declare function fieldToZod(field: FieldDefinition, currencies: readonly string[], opts?: {
5
5
  readonly applyDefaults?: boolean;
@@ -1,3 +1,3 @@
1
- import type { FieldDefinition, ScreenFilterOp } from "./types/index.js";
1
+ import type { FieldDefinition, ScreenFilterOp } from "./types/index.ts";
2
2
  export declare function getAllowedFilterOps(field: FieldDefinition): readonly ScreenFilterOp[];
3
3
  export declare function isFieldFilterable(field: FieldDefinition): boolean;
@@ -1,5 +1,5 @@
1
- import type { FieldDefinition, SelectFieldDef } from "./types/fields.js";
2
- import type { ActionFormScreenDefinition, ConfigEditScreenDefinition, EditExtensionSection, EditFieldSpec, EditFieldsSection, EditSectionSpec, EditWriteFormSection, EntityEditScreenDefinition, FieldCondition, FormatSpec, ListColumnSpec, ProjectionDetailScreenDefinition, ScreenDefinition, SecretMintScreenDefinition } from "./types/screen.js";
1
+ import type { FieldDefinition, SelectFieldDef } from "./types/fields.ts";
2
+ import type { ActionFormScreenDefinition, ConfigEditScreenDefinition, EditExtensionSection, EditFieldSpec, EditFieldsSection, EditSectionSpec, EditWriteFormSection, EntityEditScreenDefinition, FieldCondition, FormatSpec, ListColumnSpec, ProjectionDetailScreenDefinition, ScreenDefinition, SecretMintScreenDefinition } from "./types/screen.ts";
3
3
  export declare function explicitListScreenId(screen: ScreenDefinition): string | undefined;
4
4
  export declare function resolveNavParentScreen(screens: readonly ScreenDefinition[], detail: ScreenDefinition, getId: (screen: ScreenDefinition) => string): ScreenDefinition | undefined;
5
5
  export type EditLayoutScreen = ProjectionDetailScreenDefinition | EntityEditScreenDefinition | ActionFormScreenDefinition | ConfigEditScreenDefinition | SecretMintScreenDefinition;
@@ -1,5 +1,5 @@
1
- import type { ConfigKeyDefinition, JobDefinition, JobHandlerFn } from "./types/config.js";
2
- import type { EntityDefinition } from "./types/index.js";
1
+ import type { ConfigKeyDefinition, JobDefinition, JobHandlerFn } from "./types/config.ts";
2
+ import type { EntityDefinition } from "./types/index.ts";
3
3
  export declare const SOFT_DELETE_CLEANUP_JOB = "soft-delete:job:cleanup";
4
4
  export declare const SOFT_DELETE_CLEANUP_SYSTEM_JOB = "soft-delete:job:cleanup-system";
5
5
  export declare const SOFT_DELETE_GRACE_DAYS_KEY = "soft-delete:config:grace-days";
@@ -1,2 +1,2 @@
1
- import type { EventMatch } from "../types/step.js";
1
+ import type { EventMatch } from "../types/step.ts";
2
2
  export declare function evaluateEventMatch(match: EventMatch, payload: unknown): boolean;
@@ -1,2 +1,2 @@
1
- import type { StepInstance } from "../types/step.js";
1
+ import type { StepInstance } from "../types/step.ts";
2
2
  export declare function validateNoReturnSteps(steps: readonly StepInstance[], where: string): void;
@@ -1,7 +1,7 @@
1
- import type { DbRunner } from "../../db/connection.js";
2
- import type { WhereObject } from "../../db/query.js";
3
- import { type TenantDb } from "../../db/tenant-db.js";
4
- import type { PipelineCtx } from "../types/step.js";
1
+ import type { DbRunner } from "../../db/connection.ts";
2
+ import type { WhereObject } from "../../db/query.ts";
3
+ import { type TenantDb } from "../../db/tenant-db.ts";
4
+ import type { PipelineCtx } from "../types/step.ts";
5
5
  export declare function readSourceFor(ctx: PipelineCtx, unsafeAllTenants: {
6
6
  readonly reason: string;
7
7
  } | undefined): TenantDb | DbRunner;
@@ -1,4 +1,4 @@
1
- import type { PipelineCtx, StepResolver } from "../types/step.js";
1
+ import type { PipelineCtx, StepResolver } from "../types/step.ts";
2
2
  /**
3
3
  * Resolve a required StepResolver — either a static value or a function.
4
4
  * Throws if `arg` is undefined; caller must guarantee presence.
@@ -1,4 +1,4 @@
1
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import type { StepInstance, StepResolver } from "../types/step.ts";
2
2
  type AggregateAppendEventArgs = {
3
3
  readonly aggregateId: StepResolver<string>;
4
4
  readonly aggregateType: string;
@@ -1,5 +1,5 @@
1
- import type { EventStoreExecutor } from "../../db/event-store-executor.js";
2
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import type { EventStoreExecutor } from "../../db/event-store-executor.ts";
2
+ import type { StepInstance, StepResolver } from "../types/step.ts";
3
3
  export declare function buildAggregateCreateStep(name: string, opts: {
4
4
  readonly executor: EventStoreExecutor;
5
5
  readonly data: StepResolver<Record<string, unknown>>;
@@ -1,6 +1,6 @@
1
- import type { EventStoreExecutor } from "../../db/event-store-executor.js";
2
- import type { EntityId } from "../types/identifiers.js";
3
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import type { EventStoreExecutor } from "../../db/event-store-executor.ts";
2
+ import type { EntityId } from "../types/identifiers.ts";
3
+ import type { StepInstance, StepResolver } from "../types/step.ts";
4
4
  export declare function buildAggregateUpdateStep(name: string, opts: {
5
5
  readonly executor: EventStoreExecutor;
6
6
  readonly id: StepResolver<EntityId>;
@@ -1,4 +1,4 @@
1
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import type { StepInstance, StepResolver } from "../types/step.ts";
2
2
  type BranchArgs = {
3
3
  readonly if: StepResolver<boolean>;
4
4
  readonly onTrue: readonly StepInstance[];
@@ -1,5 +1,5 @@
1
- import type { SessionUser } from "../types/index.js";
2
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import type { SessionUser } from "../types/index.ts";
2
+ import type { StepInstance, StepResolver } from "../types/step.ts";
3
3
  export declare function buildCallFeatureStep(name: string, opts: {
4
4
  readonly handler: string;
5
5
  readonly payload: StepResolver<unknown>;
@@ -1,2 +1,2 @@
1
- import type { PipelineCtx, StepInstance } from "../types/step.js";
1
+ import type { PipelineCtx, StepInstance } from "../types/step.ts";
2
2
  export declare function buildComputeStep<TResult>(name: string, fn: (ctx: PipelineCtx) => TResult): StepInstance;
@@ -1,4 +1,4 @@
1
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import type { StepInstance, StepResolver } from "../types/step.ts";
2
2
  type ForEachArgs<TItem = unknown> = {
3
3
  readonly over: StepResolver<readonly TItem[]>;
4
4
  readonly as: string;
@@ -1,4 +1,4 @@
1
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import type { StepInstance, StepResolver } from "../types/step.ts";
2
2
  type MailSendArgs = {
3
3
  readonly to: StepResolver<string | readonly string[]>;
4
4
  readonly subject: StepResolver<string>;
@@ -1,5 +1,5 @@
1
- import { type WhereObject } from "../../db/query.js";
2
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import { type WhereObject } from "../../db/query.ts";
2
+ import type { StepInstance, StepResolver } from "../types/step.ts";
3
3
  export declare function buildReadFindManyStep(name: string, opts: {
4
4
  readonly table: unknown;
5
5
  readonly where?: StepResolver<WhereObject | undefined>;
@@ -1,5 +1,5 @@
1
- import { type WhereObject } from "../../db/query.js";
2
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import { type WhereObject } from "../../db/query.ts";
2
+ import type { StepInstance, StepResolver } from "../types/step.ts";
3
3
  export declare function buildReadFindOneStep(name: string, opts: {
4
4
  readonly table: unknown;
5
5
  readonly where: StepResolver<WhereObject | undefined>;
@@ -1,4 +1,4 @@
1
- import type { StepInstance } from "../types/step.js";
1
+ import type { StepInstance } from "../types/step.ts";
2
2
  type RetryStepArgs = {
3
3
  readonly times: number;
4
4
  readonly backoff: "exponential" | "linear";
@@ -1,4 +1,4 @@
1
- import type { WriteResult } from "../types/handlers.js";
2
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import type { WriteResult } from "../types/handlers.ts";
2
+ import type { StepInstance, StepResolver } from "../types/step.ts";
3
3
  export declare const RETURN_RESULT_KEY = "__return";
4
4
  export declare function buildReturnStep<TData>(resolver: StepResolver<WriteResult<TData>>): StepInstance;
@@ -1,5 +1,5 @@
1
- import { type WhereObject } from "../../db/query.js";
2
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import { type WhereObject } from "../../db/query.ts";
2
+ import type { StepInstance, StepResolver } from "../types/step.ts";
3
3
  type UnsafeProjectionDeleteArgs = {
4
4
  readonly table: unknown;
5
5
  readonly where: StepResolver<WhereObject>;
@@ -1,4 +1,4 @@
1
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import type { StepInstance, StepResolver } from "../types/step.ts";
2
2
  type UnsafeProjectionUpsertArgs = {
3
3
  readonly table: unknown;
4
4
  readonly on: readonly string[];
@@ -1,4 +1,4 @@
1
- import type { AwaitedEventType, EventMatch, StepInstance, StepResolver } from "../types/step.js";
1
+ import type { AwaitedEventType, EventMatch, StepInstance, StepResolver } from "../types/step.ts";
2
2
  type WaitForEventArgs = {
3
3
  readonly event: AwaitedEventType;
4
4
  readonly match?: StepResolver<EventMatch>;
@@ -1,4 +1,4 @@
1
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import type { StepInstance, StepResolver } from "../types/step.ts";
2
2
  type WaitStepArgs = {
3
3
  readonly for: StepResolver<string>;
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { StepInstance, StepResolver } from "../types/step.js";
1
+ import type { StepInstance, StepResolver } from "../types/step.ts";
2
2
  type WebhookHttpMethod = "POST" | "PUT" | "PATCH";
3
3
  type WebhookAuth = {
4
4
  readonly kind: "bearer";
@@ -1,6 +1,6 @@
1
- import type { AppSchema } from "../ui-types/app-schema.js";
2
- import type { EffectiveFeaturesResolver } from "./tier-resolver-extension.js";
3
- import type { Registry } from "./types/feature.js";
4
- import type { TenantId } from "./types/identifiers.js";
1
+ import type { AppSchema } from "../ui-types/app-schema.ts";
2
+ import type { EffectiveFeaturesResolver } from "./tier-resolver-extension.ts";
3
+ import type { Registry } from "./types/feature.ts";
4
+ import type { TenantId } from "./types/identifiers.ts";
5
5
  export declare function resolveDisabledFeatureNames(registry: Registry, effectiveFeatures: EffectiveFeaturesResolver, tenantId: TenantId): Promise<readonly string[]>;
6
6
  export declare function stripDisabledFeaturesFromAppSchema(schema: AppSchema, registry: Registry, disabledFeatureNames: readonly string[]): AppSchema;
@@ -1,5 +1,5 @@
1
- import { SYSTEM_USER_ID, type TenantId } from "./types/identifiers.js";
2
- import type { SessionUser } from "./types/index.js";
1
+ import { SYSTEM_USER_ID, type TenantId } from "./types/identifiers.ts";
2
+ import type { SessionUser } from "./types/index.ts";
3
3
  export { SYSTEM_USER_ID };
4
4
  export declare const SYSTEM_ROLE: "system";
5
5
  export declare function createSystemUser(tenantId: TenantId, extraRoles?: readonly string[]): SessionUser;
@@ -1,5 +1,5 @@
1
1
  import * as z from "zod";
2
- import type { Registry, TemplateListVariableDef, TemplateScalarVariableDef, TemplateVariables } from "./types/index.js";
2
+ import type { Registry, TemplateListVariableDef, TemplateScalarVariableDef, TemplateVariables } from "./types/index.ts";
3
3
  type CommonOptions = {
4
4
  readonly label?: string;
5
5
  readonly required?: boolean;
@@ -1,8 +1,8 @@
1
1
  import type { CacheSyncBus } from "@cosmicdrift/kumiko-types/cache-sync-types";
2
- import type { DbConnection } from "../db/connection.js";
3
- import type { RegistrarExtensionRegistration } from "./types/config.js";
4
- import type { FeatureDefinition, Registry } from "./types/feature.js";
5
- import type { TenantId } from "./types/identifiers.js";
2
+ import type { DbConnection } from "../db/connection.ts";
3
+ import type { RegistrarExtensionRegistration } from "./types/config.ts";
4
+ import type { FeatureDefinition, Registry } from "./types/feature.ts";
5
+ import type { TenantId } from "./types/identifiers.ts";
6
6
  /**
7
7
  * Extension-name unter dem ein tier-resolver-plugin im registry registriert
8
8
  * werden muss. Konstante damit `r.useExtension(TENANT_TIER_RESOLVER_EXT, ...)`
@@ -1,4 +1,4 @@
1
- import type { EntityDefinition } from "./types/index.js";
1
+ import type { EntityDefinition } from "./types/index.ts";
2
2
  export declare const MAX_TRANSFER_DEPTH = 5;
3
3
  export type TransferEdgeLink = {
4
4
  readonly kind: "parentRef";
@@ -4,7 +4,7 @@ export type { QueryHandlerDefinition, StreamHandlerDefinition, WriteHandlerDefin
4
4
  export type { EntityCrudRegistrar, EntityCrudVerb, EntityHandlerOptions, EntityQueryHandlerOptions, EntityWriteHandlerOptions, RegisterEntityCrudOptions, } from "@cosmicdrift/kumiko-types/entity-handlers";
5
5
  export type { KumikoEntityTypeMap, KumikoEventTypeMap, KumikoHandlerPayloadMap, KumikoHandlerResultMap, } from "@cosmicdrift/kumiko-types/event-type-map";
6
6
  export type { ExtensionOptionsArgs, ExtensionOptionsFor, KumikoExtensionOptionsMap, } from "@cosmicdrift/kumiko-types/extension-options-map";
7
- export type { BootCheckContext, BootCheckFn, EntityObjectDefinition, FeatureDefinition, FeatureMetricDef, FeatureMetricType, FeatureRegistrar, HookDefinition, MetricOptions, Registry, SecretKeyDefinition, SecretKeyHandle, SecretNamespaceDefinition, SecretNamespaceHandle, SecretNamespaceOptions, SecretOptions, StoreTableDef, StoreTableEntry, StoreTableOptions, UiHintOption, UiHints, } from "@cosmicdrift/kumiko-types/feature";
7
+ export type { BootCheckContext, BootCheckFn, BootOptionName, EntityObjectDefinition, FeatureDefinition, FeatureMetricDef, FeatureMetricType, FeatureRegistrar, HookDefinition, MetricOptions, Registry, SecretKeyDefinition, SecretKeyHandle, SecretNamespaceDefinition, SecretNamespaceHandle, SecretNamespaceOptions, SecretOptions, StackBootRequirement, StoreTableDef, StoreTableEntry, StoreTableOptions, UiHintOption, UiHints, } from "@cosmicdrift/kumiko-types/feature";
8
8
  export type { FieldIconKey } from "@cosmicdrift/kumiko-types/field-icon";
9
9
  export type { AnyFileFieldDef, BigIntFieldDef, BooleanFieldDef, ClientDerivedFieldDef, DateFieldDef, DecimalFieldDef, DefaultCurrency, DeriveContext, DerivedFieldDef, DerivedFieldsMap, DerivedValueType, EmbeddedDerivedCellDef, EmbeddedFieldDef, EmbeddedSubFieldDef, EntityDefinition, EntityEventMigration, EntityIndexDef, FieldAccess, FieldDefinition, FieldsMap, FileFieldDef, FilesFieldDef, Findability, ImageFieldDef, ImagesFieldDef, JsonbFieldDef, LocatedTimestampFieldDef, LongTextFieldDef, LongTextFindability, MoneyCurrencySource, MoneyFieldDef, MultiSelectFieldDef, NumberFieldDef, OptionsQueryPayload, OptionsQueryPayloadValue, ParentRefDef, PersonalAnnotations, PersonalAnnotationsLongText, PersonalAnnotationsNoFind, PersonalSubject, ReferenceFieldDef, ResolvedPiiFlags, RetentionDef, SelectFieldDef, SelectOptionTone, TextFieldDef, TimestampFieldDef, TransitionMap, TzFieldDef, } from "@cosmicdrift/kumiko-types/fields";
10
10
  export type { AccessRule, ActiveMembership, ActiveMembershipRejection, ActiveMembershipResult, AgentExposure, AgentHandlerHints, AgentRisk, AggregateStreamHandle, AppContext, AppendEventArgs, AppendEventFn, AuthClaimsContext, AuthClaimsFn, AuthClaimsHookDef, BeforeTransactionPhase, BeforeTransactionResult, CamelToKebab, ChatSendFailureCode, ClaimKeyDefinition, ClaimKeyHandle, ClaimKeyJsType, ClaimKeyType, DeclarativeEventMigration, DeliveryErrorCode, DeliveryFailureCode, DeliverySkipReason, DispatchWriteRef, EntityRef, EscapeHatchAuditSink, EscapeHatchDeclaration, EscapeHatchKind, EscapeHatchReporter, EscapeHatchTarget, EscapeHatchUseEvent, EventDef, EventMigrationDef, EventPiiFields, EventPiiStance, EventUpcastCtx, EventUpcastFn, FetchForWritingArgs, HandlerContext, HandlerRef, JobContext, JobRunnerRef, JobTriggerEvent, MemberReader, NameOrRef, NotifyDeferred, NotifyDelivery, NotifyDeliveryStatus, NotifyDispatched, NotifyFactory, NotifyFn, NotifyJobDispatcher, NotifyOptions, NotifyPriority, NotifyResult, OpenToAllAccessRule, OpenToAllDeclaration, OpenToAllPersonalData, PayloadBucketNormalization, PayloadRateLimitOption, PreparedWriteEvent, QualifiedEventName, QueryEvent, QueryHandlerDef, QueryHandlerFn, RateLimitDeclaration, RateLimitDisabled, RateLimitOption, RateLimitPer, RoleAccessPersonalData, RoleAccessRule, SessionUser, SessionUserOrigin, StreamHandlerDef, StreamHandlerFn, TenantWriteTarget, TryAppendEventFn, TryAppendEventResult, UnsafeAppendEventFn, WriteEvent, WriteHandlerDef, WriteHandlerFn, WriteResult, } from "@cosmicdrift/kumiko-types/handlers";
@@ -23,8 +23,8 @@ export type { TargetRef } from "@cosmicdrift/kumiko-types/target-ref";
23
23
  export type { Subscribe, TreeAction, TreeActionDef, TreeActionsHandle, TreeChildrenSubscribe, TreeNode, TreeNodeState, } from "@cosmicdrift/kumiko-types/tree-node";
24
24
  export type { WebSocketConnection, WebSocketMessageData, WebSocketRouteConnectDeps, WebSocketRouteDefinition, WebSocketSessionHandlers, } from "@cosmicdrift/kumiko-types/websocket-route";
25
25
  export type { WorkspaceDefinition } from "@cosmicdrift/kumiko-types/workspace";
26
- export type { ConcurrencyMode, ConfigScope, LifecycleHookType, OnDeleteStrategy, } from "../constants.js";
27
- export { DEFAULT_CURRENCIES, DEFAULT_LOCALES, isFileField } from "../field-helpers.js";
28
- export { resolveName, withResponseData } from "../handler-helpers.js";
29
- export { HookPhases } from "../hook-helpers.js";
30
- export { isExtensionEditSection, isFormatSpec, normalizeEditField, normalizeListColumn, } from "../screen-helpers.js";
26
+ export type { ConcurrencyMode, ConfigScope, LifecycleHookType, OnDeleteStrategy, } from "../constants.ts";
27
+ export { DEFAULT_CURRENCIES, DEFAULT_LOCALES, isFileField } from "../field-helpers.ts";
28
+ export { resolveName, withResponseData } from "../handler-helpers.ts";
29
+ export { HookPhases } from "../hook-helpers.ts";
30
+ export { isExtensionEditSection, isFormatSpec, normalizeEditField, normalizeListColumn, } from "../screen-helpers.ts";
@@ -1,4 +1,4 @@
1
- import type { FeatureDefinition } from "./types/index.js";
1
+ import type { FeatureDefinition } from "./types/index.ts";
2
2
  /**
3
3
  * Validate every feature's pipeline-form writeHandlers against:
4
4
  * 1. the owning feature's r.requires.projection allowlist
@@ -1,3 +1,3 @@
1
- import type { Registry, ValidationError } from "./types/index.js";
1
+ import type { Registry, ValidationError } from "./types/index.ts";
2
2
  export type { ValidationError };
3
3
  export declare function runValidation(registry: Registry, hookName: string, data: Readonly<Record<string, unknown>>): readonly ValidationError[] | null;
@@ -1,16 +1,16 @@
1
1
  import type { Hono } from "hono";
2
- import type { AuthRoutesConfig } from "../api/auth-routes.js";
3
- import type { JwtHelper, JwtKeyring } from "../api/jwt.js";
4
- import type { ServerOptions } from "../api/server.js";
5
- import type { SseBroker } from "../api/sse-broker.js";
6
- import type { PgClient, PgListenClient } from "../db/connection.js";
7
- import type { AppContext, Registry } from "../engine/types/index.js";
8
- import type { JobRunner, JobRunnerOptions } from "../jobs/job-runner.js";
9
- import type { Lifecycle } from "../lifecycle/index.js";
10
- import type { ObservabilityOptions, ObservabilityProvider } from "../observability/index.js";
11
- import type { Dispatcher, DispatcherOptions } from "../pipeline/dispatcher.js";
12
- import type { EventDedup, EventDispatcher } from "../pipeline/index.js";
13
- import type { SystemHooks } from "../pipeline/lifecycle-pipeline.js";
2
+ import type { AuthRoutesConfig } from "../api/auth-routes.ts";
3
+ import type { JwtHelper, JwtKeyring } from "../api/jwt.ts";
4
+ import type { ServerOptions } from "../api/server.ts";
5
+ import type { SseBroker } from "../api/sse-broker.ts";
6
+ import type { PgClient, PgListenClient } from "../db/connection.ts";
7
+ import type { AppContext, Registry } from "../engine/types/index.ts";
8
+ import type { JobRunner, JobRunnerOptions } from "../jobs/job-runner.ts";
9
+ import type { Lifecycle } from "../lifecycle/index.ts";
10
+ import type { ObservabilityOptions, ObservabilityProvider } from "../observability/index.ts";
11
+ import type { Dispatcher, DispatcherOptions } from "../pipeline/dispatcher.ts";
12
+ import type { EventDedup, EventDispatcher } from "../pipeline/index.ts";
13
+ import type { SystemHooks } from "../pipeline/lifecycle-pipeline.ts";
14
14
  export type BaseEntrypointOptions = {
15
15
  readonly registry: Registry;
16
16
  readonly context: AppContext;
@@ -1,5 +1,15 @@
1
- import { type ComposedEnvSchema } from "./index.js";
1
+ import { type ComposedEnvSchema, type EnvFieldInspection } from "./index.ts";
2
2
  export type DryRunMode = "human" | "json" | "pulumi" | "k8s";
3
+ /** `boot` runs the boot validators without connecting anywhere; the other
4
+ * modes only render the env inventory. */
5
+ export type DryRunEnvMode = DryRunMode | "boot";
6
+ export declare const DRY_RUN_ENV_VAR = "KUMIKO_DRY_RUN_ENV";
7
+ /** Reads `KUMIKO_DRY_RUN_ENV`. `1` and `true` mean `human`; an unknown value
8
+ * returns undefined, so the caller decides whether to warn or boot. */
9
+ export declare function parseDryRunEnvMode(raw: string | undefined): DryRunEnvMode | undefined;
10
+ /** True while any dry-run mode is requested, for code that runs at module
11
+ * load (key providers, secret derivation) and must not throw on missing env. */
12
+ export declare function isDryRunEnvActive(env: Readonly<Record<string, string | undefined>>): boolean;
3
13
  export type DryRunOptions = {
4
14
  /** From composeEnvSchema. Drives the per-row feature-attribution. */
5
15
  readonly sources?: Readonly<Record<string, string>>;
@@ -11,3 +21,6 @@ export type DryRunOptions = {
11
21
  readonly k8sNamespace?: string;
12
22
  };
13
23
  export declare function renderDryRun(composed: ComposedEnvSchema, mode: DryRunMode, options?: DryRunOptions): string;
24
+ /** Table for `KUMIKO_DRY_RUN_ENV=boot`: one row per variable with its source,
25
+ * whether it is required, and whether it is set. Values are never printed. */
26
+ export declare function renderEnvInspection(rows: readonly EnvFieldInspection[]): string;