@cosmicdrift/kumiko-framework 0.369.0 → 0.371.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 (451) 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/chat-channels.md +1 -1
  6. package/agents/examples/compose-stacks.md +188 -0
  7. package/agents/examples/env-composition.md +278 -0
  8. package/agents/examples/host-routing.md +181 -0
  9. package/agents/examples/inbound-mail-triage.md +1 -1
  10. package/agents/examples/legal-pages.md +52 -3
  11. package/agents/examples/managed-config.md +1 -0
  12. package/agents/examples/managed-pages.md +1 -0
  13. package/agents/examples/prod-boot-options.md +180 -0
  14. package/agents/examples/relations.md +4 -0
  15. package/agents/examples/secrets-demo.md +4 -2
  16. package/agents/examples/security-baseline.md +20 -17
  17. package/agents/examples.md +6 -1
  18. package/agents/features.md +14 -2
  19. package/dist/api/anonymous-cookie.d.ts +1 -1
  20. package/dist/api/anonymous-live-entities.d.ts +1 -1
  21. package/dist/api/auth-middleware.d.ts +2 -2
  22. package/dist/api/auth-routes.d.ts +7 -7
  23. package/dist/api/extra-route.d.ts +2 -2
  24. package/dist/api/index.d.ts +37 -37
  25. package/dist/api/jwt.d.ts +1 -1
  26. package/dist/api/observability-middleware.d.ts +1 -1
  27. package/dist/api/readiness.d.ts +1 -1
  28. package/dist/api/redis-sse-broker.d.ts +2 -2
  29. package/dist/api/request-context.d.ts +1 -1
  30. package/dist/api/request-id-middleware.d.ts +3 -3
  31. package/dist/api/route-registrars.d.ts +4 -4
  32. package/dist/api/routes.d.ts +1 -1
  33. package/dist/api/server.d.ts +16 -16
  34. package/dist/api/sse-broker.d.ts +1 -1
  35. package/dist/api/sse-route.d.ts +1 -1
  36. package/dist/api/websocket-route.d.ts +3 -3
  37. package/dist/auth/index.d.ts +2 -2
  38. package/dist/compliance/duration-spec.d.ts +2 -2
  39. package/dist/compliance/index.d.ts +6 -6
  40. package/dist/compliance/profiles.d.ts +1 -1
  41. package/dist/config/index.d.ts +44 -0
  42. package/dist/config/index.js +61 -0
  43. package/dist/crypto/blind-index.d.ts +1 -1
  44. package/dist/crypto/event-pii.d.ts +1 -1
  45. package/dist/crypto/in-memory-kms-adapter.d.ts +1 -1
  46. package/dist/crypto/index.d.ts +11 -11
  47. package/dist/crypto/is-self-pii-field.d.ts +1 -1
  48. package/dist/crypto/kms-wiring.d.ts +2 -2
  49. package/dist/crypto/owner-transition-rekey.d.ts +1 -1
  50. package/dist/crypto/pg-kms-adapter.d.ts +1 -1
  51. package/dist/crypto/pii-field-encryption.d.ts +4 -4
  52. package/dist/crypto/request-kms-cache.d.ts +1 -1
  53. package/dist/crypto/subject-resolver.d.ts +3 -3
  54. package/dist/db/apply-entity-event.d.ts +4 -4
  55. package/dist/db/assert-exists-in.d.ts +4 -4
  56. package/dist/db/blind-index-cleanup.d.ts +2 -2
  57. package/dist/db/collect-table-metas.d.ts +2 -2
  58. package/dist/db/compound-types.d.ts +1 -1
  59. package/dist/db/config-seed.d.ts +5 -5
  60. package/dist/db/connection.d.ts +1 -6
  61. package/dist/db/connection.js +15 -4
  62. package/dist/db/dialect.d.ts +1 -1
  63. package/dist/db/eagerload.d.ts +3 -3
  64. package/dist/db/entity-field-encryption.d.ts +3 -3
  65. package/dist/db/entity-field-encryption.js +3 -1
  66. package/dist/db/entity-table-from-registry.d.ts +3 -3
  67. package/dist/db/entity-table-meta.d.ts +3 -3
  68. package/dist/db/event-store-executor-context.d.ts +9 -9
  69. package/dist/db/event-store-executor-read.d.ts +2 -2
  70. package/dist/db/event-store-executor-write.d.ts +2 -2
  71. package/dist/db/event-store-executor.d.ts +8 -8
  72. package/dist/db/feature-table-sources.d.ts +1 -1
  73. package/dist/db/index.d.ts +39 -39
  74. package/dist/db/located-timestamp.d.ts +1 -1
  75. package/dist/db/lock-guard.d.ts +2 -2
  76. package/dist/db/migrate-generator.d.ts +2 -2
  77. package/dist/db/migrate-runner.d.ts +1 -1
  78. package/dist/db/money.d.ts +1 -1
  79. package/dist/db/parent-ref-clause.d.ts +4 -4
  80. package/dist/db/projection-registry-binding.d.ts +1 -1
  81. package/dist/db/queries/advisory-lock.d.ts +1 -1
  82. package/dist/db/queries/backfill-pii.d.ts +2 -2
  83. package/dist/db/queries/ddl.d.ts +1 -1
  84. package/dist/db/queries/entity-read.d.ts +1 -1
  85. package/dist/db/queries/es-ops.d.ts +1 -1
  86. package/dist/db/queries/event-consumer.d.ts +2 -2
  87. package/dist/db/queries/event-store-admin.d.ts +1 -1
  88. package/dist/db/queries/event-store-transfer.d.ts +1 -1
  89. package/dist/db/queries/event-store.d.ts +1 -1
  90. package/dist/db/queries/pii-backfill-state.d.ts +1 -1
  91. package/dist/db/queries/projection-rebuild.d.ts +1 -1
  92. package/dist/db/queries/raw-sql.d.ts +1 -1
  93. package/dist/db/queries/seed-context.d.ts +2 -2
  94. package/dist/db/queries/shadow-swap.d.ts +3 -3
  95. package/dist/db/queries/table-ops.d.ts +1 -1
  96. package/dist/db/queries/test-stack.d.ts +2 -2
  97. package/dist/db/query.d.ts +3 -3
  98. package/dist/db/rebuild-marker.d.ts +1 -1
  99. package/dist/db/reference-data.d.ts +3 -3
  100. package/dist/db/render-ddl.d.ts +1 -1
  101. package/dist/db/replay-migration-sql.d.ts +1 -1
  102. package/dist/db/retired-framework-tables.d.ts +1 -1
  103. package/dist/db/schema-inspection.d.ts +1 -1
  104. package/dist/db/table-builder.d.ts +4 -4
  105. package/dist/db/table-push.d.ts +3 -3
  106. package/dist/db/tenant-db-runner.d.ts +2 -2
  107. package/dist/db/tenant-db.d.ts +7 -9
  108. package/dist/db/tenant-db.js +2 -12
  109. package/dist/derivatives/derivatives-context.d.ts +3 -3
  110. package/dist/derivatives/field-variants.d.ts +1 -1
  111. package/dist/derivatives/index.d.ts +6 -6
  112. package/dist/engine/access.d.ts +1 -1
  113. package/dist/engine/active-membership.d.ts +2 -2
  114. package/dist/engine/boot-validator/access-declarations.d.ts +1 -1
  115. package/dist/engine/boot-validator/access-roles.d.ts +1 -1
  116. package/dist/engine/boot-validator/action-wiring.d.ts +1 -1
  117. package/dist/engine/boot-validator/api-ext.d.ts +1 -1
  118. package/dist/engine/boot-validator/boot-check.d.ts +1 -1
  119. package/dist/engine/boot-validator/card-meta-overflow.d.ts +1 -1
  120. package/dist/engine/boot-validator/config-deps.d.ts +1 -1
  121. package/dist/engine/boot-validator/detail-screens.d.ts +2 -2
  122. package/dist/engine/boot-validator/entity-handler.d.ts +1 -1
  123. package/dist/engine/boot-validator/entity-list-screens.d.ts +1 -1
  124. package/dist/engine/boot-validator/gdpr-storage.d.ts +1 -1
  125. package/dist/engine/boot-validator/global-tenancy.d.ts +1 -1
  126. package/dist/engine/boot-validator/handler-field-references.d.ts +1 -1
  127. package/dist/engine/boot-validator/i18n-keys.d.ts +1 -1
  128. package/dist/engine/boot-validator/index.d.ts +7 -7
  129. package/dist/engine/boot-validator/nav.d.ts +1 -1
  130. package/dist/engine/boot-validator/ownership.d.ts +2 -2
  131. package/dist/engine/boot-validator/parent-ref.d.ts +1 -1
  132. package/dist/engine/boot-validator/pii-retention.d.ts +2 -2
  133. package/dist/engine/boot-validator/projection-list-screens.d.ts +1 -1
  134. package/dist/engine/boot-validator/query-output-columns.d.ts +1 -1
  135. package/dist/engine/boot-validator/query-refs.d.ts +1 -1
  136. package/dist/engine/boot-validator/record-owned.d.ts +1 -1
  137. package/dist/engine/boot-validator/screens.d.ts +2 -2
  138. package/dist/engine/boot-validator/security-baseline.d.ts +1 -1
  139. package/dist/engine/boot-validator/selector-owner-panels.d.ts +1 -1
  140. package/dist/engine/boot-validator/transfer-graph.d.ts +2 -2
  141. package/dist/engine/boot-validator/url-prefill-fields.d.ts +1 -1
  142. package/dist/engine/boot-validator/workspaces.d.ts +1 -1
  143. package/dist/engine/boot-validator.d.ts +1 -1
  144. package/dist/engine/bridge-stub.d.ts +1 -1
  145. package/dist/engine/build-app-schema.d.ts +2 -2
  146. package/dist/engine/build-config-feature-schema.d.ts +5 -5
  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 +2 -2
  169. package/dist/engine/extensions/escape-hatch-usage.d.ts +1 -1
  170. package/dist/engine/extensions/storage-provider.d.ts +1 -1
  171. package/dist/engine/extensions/tenant-data.d.ts +3 -3
  172. package/dist/engine/extensions/tenant-resource.d.ts +2 -2
  173. package/dist/engine/extensions/user-data.d.ts +2 -2
  174. package/dist/engine/factories.d.ts +1 -1
  175. package/dist/engine/feature-ast/extractors/ai-steps.d.ts +2 -2
  176. package/dist/engine/feature-ast/extractors/events.d.ts +2 -2
  177. package/dist/engine/feature-ast/extractors/handlers.d.ts +4 -4
  178. package/dist/engine/feature-ast/extractors/hooks.d.ts +5 -5
  179. package/dist/engine/feature-ast/extractors/index.d.ts +14 -14
  180. package/dist/engine/feature-ast/extractors/jobs-routes.d.ts +3 -3
  181. package/dist/engine/feature-ast/extractors/projections-screens.d.ts +3 -3
  182. package/dist/engine/feature-ast/extractors/round1.d.ts +2 -2
  183. package/dist/engine/feature-ast/extractors/round2.d.ts +2 -2
  184. package/dist/engine/feature-ast/extractors/round3.d.ts +4 -4
  185. package/dist/engine/feature-ast/extractors/round5.d.ts +2 -2
  186. package/dist/engine/feature-ast/extractors/round6.d.ts +2 -2
  187. package/dist/engine/feature-ast/extractors/shared.d.ts +2 -2
  188. package/dist/engine/feature-ast/index.d.ts +16 -16
  189. package/dist/engine/feature-ast/parse.d.ts +2 -2
  190. package/dist/engine/feature-ast/patch.d.ts +1 -1
  191. package/dist/engine/feature-ast/patcher.d.ts +15 -15
  192. package/dist/engine/feature-ast/pattern-change-schema.d.ts +10 -10
  193. package/dist/engine/feature-ast/patterns.d.ts +15 -15
  194. package/dist/engine/feature-ast/render.d.ts +1 -1
  195. package/dist/engine/feature-builder-state.d.ts +5 -5
  196. package/dist/engine/feature-config-events-jobs.d.ts +3 -3
  197. package/dist/engine/feature-config-events-jobs.js +8 -130
  198. package/dist/engine/feature-entity-handlers.d.ts +4 -4
  199. package/dist/engine/feature-entity-handlers.js +11 -5
  200. package/dist/engine/feature-manifest.d.ts +1 -1
  201. package/dist/engine/feature-ui-extensions.d.ts +7 -7
  202. package/dist/engine/feature-ui-extensions.js +2 -2
  203. package/dist/engine/field-access.d.ts +1 -1
  204. package/dist/engine/field-helpers.d.ts +1 -1
  205. package/dist/engine/handler-helpers.d.ts +1 -1
  206. package/dist/engine/index.d.ts +89 -88
  207. package/dist/engine/index.js +1 -0
  208. package/dist/engine/instruction-fields.d.ts +1 -1
  209. package/dist/engine/object-form.d.ts +1 -1
  210. package/dist/engine/object-form.js +5 -6
  211. package/dist/engine/ownership.d.ts +3 -3
  212. package/dist/engine/pattern-library/index.d.ts +2 -2
  213. package/dist/engine/pattern-library/library.d.ts +2 -2
  214. package/dist/engine/pattern-library/mixed-schemas.d.ts +1 -1
  215. package/dist/engine/pattern-library/opaque-schemas.d.ts +1 -1
  216. package/dist/engine/pattern-library/shared-fields.d.ts +1 -1
  217. package/dist/engine/pattern-library/static-schemas.d.ts +1 -1
  218. package/dist/engine/pattern-library/types.d.ts +1 -1
  219. package/dist/engine/personal-data-fields.d.ts +2 -2
  220. package/dist/engine/pipeline.d.ts +2 -2
  221. package/dist/engine/project-app-schema-for-roles.d.ts +1 -1
  222. package/dist/engine/projection-helpers.d.ts +4 -4
  223. package/dist/engine/read-claim.d.ts +1 -1
  224. package/dist/engine/registry-facade.d.ts +2 -2
  225. package/dist/engine/registry-ingest.d.ts +2 -2
  226. package/dist/engine/registry-state.d.ts +2 -2
  227. package/dist/engine/registry-validate.d.ts +3 -3
  228. package/dist/engine/registry.d.ts +1 -1
  229. package/dist/engine/resolve-config-or-param.d.ts +2 -2
  230. package/dist/engine/role-assignment.d.ts +1 -1
  231. package/dist/engine/run-in.d.ts +1 -1
  232. package/dist/engine/run-pipeline.d.ts +3 -3
  233. package/dist/engine/schema-builder.d.ts +1 -1
  234. package/dist/engine/screen-filter-ops.d.ts +1 -1
  235. package/dist/engine/screen-helpers.d.ts +2 -2
  236. package/dist/engine/soft-delete-cleanup.d.ts +2 -2
  237. package/dist/engine/steps/_event-match.d.ts +1 -1
  238. package/dist/engine/steps/_no-return-guard.d.ts +1 -1
  239. package/dist/engine/steps/_read-source.d.ts +4 -4
  240. package/dist/engine/steps/_resolver-utils.d.ts +1 -1
  241. package/dist/engine/steps/aggregate-append-event.d.ts +1 -1
  242. package/dist/engine/steps/aggregate-create.d.ts +2 -2
  243. package/dist/engine/steps/aggregate-update.d.ts +3 -3
  244. package/dist/engine/steps/branch.d.ts +1 -1
  245. package/dist/engine/steps/call-feature.d.ts +2 -2
  246. package/dist/engine/steps/compute.d.ts +1 -1
  247. package/dist/engine/steps/for-each.d.ts +1 -1
  248. package/dist/engine/steps/mail-send.d.ts +1 -1
  249. package/dist/engine/steps/read-find-many.d.ts +2 -2
  250. package/dist/engine/steps/read-find-one.d.ts +2 -2
  251. package/dist/engine/steps/retry.d.ts +1 -1
  252. package/dist/engine/steps/return.d.ts +2 -2
  253. package/dist/engine/steps/unsafe-projection-delete.d.ts +2 -2
  254. package/dist/engine/steps/unsafe-projection-upsert.d.ts +1 -1
  255. package/dist/engine/steps/wait-for-event.d.ts +1 -1
  256. package/dist/engine/steps/wait.d.ts +1 -1
  257. package/dist/engine/steps/webhook-send.d.ts +1 -1
  258. package/dist/engine/strip-disabled-features-from-app-schema.d.ts +4 -4
  259. package/dist/engine/system-user.d.ts +2 -2
  260. package/dist/engine/template-variables.d.ts +1 -1
  261. package/dist/engine/tier-resolver-extension.d.ts +4 -4
  262. package/dist/engine/transfer-adjacency.d.ts +1 -1
  263. package/dist/engine/types/index.d.ts +6 -6
  264. package/dist/engine/validate-projection-allowlist.d.ts +1 -1
  265. package/dist/engine/validation.d.ts +1 -1
  266. package/dist/entrypoint/index.d.ts +12 -12
  267. package/dist/env/dry-run.d.ts +14 -1
  268. package/dist/env/dry-run.js +50 -0
  269. package/dist/env/index.d.ts +54 -16
  270. package/dist/env/index.js +76 -7
  271. package/dist/errors/classes.d.ts +3 -3
  272. package/dist/errors/docs-url.d.ts +1 -1
  273. package/dist/errors/index.d.ts +18 -18
  274. package/dist/errors/member-resolution.d.ts +1 -1
  275. package/dist/errors/serialize.d.ts +2 -2
  276. package/dist/errors/subject-erased.d.ts +1 -1
  277. package/dist/errors/to-kumiko-error.d.ts +1 -1
  278. package/dist/errors/write-error-info.d.ts +1 -1
  279. package/dist/errors/zod-bridge.d.ts +1 -1
  280. package/dist/es-ops/context.d.ts +4 -4
  281. package/dist/es-ops/index.d.ts +4 -4
  282. package/dist/es-ops/operations-schema.d.ts +1 -1
  283. package/dist/es-ops/runner.d.ts +3 -3
  284. package/dist/es-ops/runner.js +9 -1
  285. package/dist/es-ops/types.d.ts +2 -2
  286. package/dist/event-store/admin-api.d.ts +3 -3
  287. package/dist/event-store/archive.d.ts +2 -2
  288. package/dist/event-store/event-store.d.ts +2 -2
  289. package/dist/event-store/events-schema.d.ts +1 -1
  290. package/dist/event-store/index.d.ts +15 -15
  291. package/dist/event-store/provenance-append.d.ts +3 -3
  292. package/dist/event-store/rebuild-dead-letter.d.ts +2 -2
  293. package/dist/event-store/row-to-stored-event.d.ts +2 -2
  294. package/dist/event-store/snapshot.d.ts +2 -2
  295. package/dist/event-store/tenant-db-append.d.ts +2 -2
  296. package/dist/event-store/transfer.d.ts +3 -3
  297. package/dist/event-store/upcaster-dead-letter.d.ts +2 -2
  298. package/dist/event-store/upcaster.d.ts +3 -3
  299. package/dist/files/assert-file-refs-belong-to-tenant.d.ts +2 -2
  300. package/dist/files/bind-pending-file-refs.d.ts +3 -3
  301. package/dist/files/create-file-ref-from-bytes.d.ts +4 -4
  302. package/dist/files/create-file-ref.d.ts +3 -3
  303. package/dist/files/dispose-removed-file-refs.d.ts +2 -2
  304. package/dist/files/feature.d.ts +3 -3
  305. package/dist/files/file-handle.d.ts +1 -1
  306. package/dist/files/file-ref-entity.d.ts +1 -1
  307. package/dist/files/file-ref-table.d.ts +1 -1
  308. package/dist/files/file-routes.d.ts +5 -5
  309. package/dist/files/in-memory-provider.d.ts +1 -1
  310. package/dist/files/index.d.ts +20 -20
  311. package/dist/files/load-save-file-refs.d.ts +2 -2
  312. package/dist/files/local-provider.d.ts +1 -1
  313. package/dist/files/provider-resolver.d.ts +5 -5
  314. package/dist/files/purge-expired-file-ref-bytes.d.ts +2 -2
  315. package/dist/files/record-read-check.d.ts +1 -1
  316. package/dist/files/record-write-check.d.ts +3 -3
  317. package/dist/files/storage-tracking.d.ts +2 -2
  318. package/dist/files/types.d.ts +1 -1
  319. package/dist/files/zip-stream.d.ts +1 -1
  320. package/dist/i18n/index.d.ts +4 -4
  321. package/dist/i18n/mail-registry.d.ts +1 -1
  322. package/dist/i18n/required-surface-keys.d.ts +1 -1
  323. package/dist/i18n/settings-hub-keys.d.ts +1 -1
  324. package/dist/internal/stack-support.d.ts +12 -12
  325. package/dist/internal/testing.d.ts +4 -4
  326. package/dist/jobs/index.d.ts +2 -2
  327. package/dist/jobs/job-runner.d.ts +1 -1
  328. package/dist/jobs/max-per-tenant.d.ts +1 -1
  329. package/dist/lifecycle/index.d.ts +2 -2
  330. package/dist/lifecycle/lifecycle.d.ts +1 -1
  331. package/dist/lifecycle/signal-handlers.d.ts +1 -1
  332. package/dist/logging/index.d.ts +4 -4
  333. package/dist/logging/pino-logger.d.ts +1 -1
  334. package/dist/logging/utils.d.ts +1 -1
  335. package/dist/migrations/index.d.ts +4 -4
  336. package/dist/migrations/kumiko-drift.d.ts +1 -1
  337. package/dist/migrations/pending-rebuilds.d.ts +5 -5
  338. package/dist/migrations/pii-event-backfill.d.ts +4 -4
  339. package/dist/migrations/projection-table-index.d.ts +1 -1
  340. package/dist/observability/console-provider.d.ts +1 -1
  341. package/dist/observability/context.d.ts +1 -1
  342. package/dist/observability/escape-hatch-report.d.ts +3 -3
  343. package/dist/observability/fallback.d.ts +1 -1
  344. package/dist/observability/index.d.ts +16 -16
  345. package/dist/observability/metric-validator.d.ts +1 -1
  346. package/dist/observability/metrics-handle.d.ts +1 -1
  347. package/dist/observability/metrics-wiring.d.ts +2 -2
  348. package/dist/observability/noop-provider.d.ts +1 -1
  349. package/dist/observability/prometheus-meter.d.ts +1 -1
  350. package/dist/observability/recording-meter.d.ts +1 -1
  351. package/dist/observability/recording-tracer.d.ts +1 -1
  352. package/dist/observability/redis-wrapper.d.ts +1 -1
  353. package/dist/observability/sensitive-filter.d.ts +1 -1
  354. package/dist/observability/standard-metrics.d.ts +1 -1
  355. package/dist/pipeline/active-membership.d.ts +4 -4
  356. package/dist/pipeline/append-event-core.d.ts +3 -3
  357. package/dist/pipeline/auth-claims-resolver.d.ts +2 -2
  358. package/dist/pipeline/cascade-handler.d.ts +3 -3
  359. package/dist/pipeline/dispatch-batch.d.ts +2 -2
  360. package/dist/pipeline/dispatch-query.d.ts +4 -4
  361. package/dist/pipeline/dispatch-shared.d.ts +17 -17
  362. package/dist/pipeline/dispatch-stream.d.ts +2 -2
  363. package/dist/pipeline/dispatch-write.d.ts +4 -4
  364. package/dist/pipeline/dispatcher-utils.d.ts +2 -2
  365. package/dist/pipeline/dispatcher.d.ts +12 -12
  366. package/dist/pipeline/event-consumer-state.d.ts +1 -1
  367. package/dist/pipeline/event-dispatcher-admin.d.ts +1 -1
  368. package/dist/pipeline/event-dispatcher-delivery.d.ts +7 -7
  369. package/dist/pipeline/event-dispatcher.d.ts +7 -7
  370. package/dist/pipeline/event-retention.d.ts +1 -1
  371. package/dist/pipeline/handler-access-error.d.ts +2 -2
  372. package/dist/pipeline/index.d.ts +42 -42
  373. package/dist/pipeline/irreversible-operation-gate.d.ts +1 -1
  374. package/dist/pipeline/lifecycle-pipeline.d.ts +2 -2
  375. package/dist/pipeline/member-read-only-transaction.d.ts +2 -2
  376. package/dist/pipeline/member-reader.d.ts +5 -5
  377. package/dist/pipeline/msp-rebuild.d.ts +4 -4
  378. package/dist/pipeline/multi-stream-apply-context.d.ts +3 -3
  379. package/dist/pipeline/notify-scope.d.ts +3 -3
  380. package/dist/pipeline/pending-gap-ranges.d.ts +2 -2
  381. package/dist/pipeline/pre-handler-gates.d.ts +3 -3
  382. package/dist/pipeline/pre-transaction-reservations.d.ts +4 -4
  383. package/dist/pipeline/projection-rebuild.d.ts +3 -3
  384. package/dist/pipeline/projection-state.d.ts +1 -1
  385. package/dist/pipeline/projections-runner.d.ts +3 -3
  386. package/dist/pipeline/projections-runner.js +3 -4
  387. package/dist/pipeline/system-hooks.d.ts +4 -4
  388. package/dist/pipeline/system-identity-switch.d.ts +3 -3
  389. package/dist/pipeline/tenant-timezone-cache.d.ts +1 -1
  390. package/dist/pipeline/write-origin.d.ts +3 -3
  391. package/dist/pipeline/write-result-masking.d.ts +2 -2
  392. package/dist/random/index.d.ts +2 -2
  393. package/dist/rate-limit/bucket.d.ts +1 -1
  394. package/dist/rate-limit/index.d.ts +3 -3
  395. package/dist/rate-limit/middleware.d.ts +3 -3
  396. package/dist/redis/cache-sync-bus.d.ts +2 -2
  397. package/dist/redis/cache-sync-topics.d.ts +1 -1
  398. package/dist/redis/index.d.ts +8 -8
  399. package/dist/redis/pubsub-signal.d.ts +1 -1
  400. package/dist/schema-cli.d.ts +1 -1
  401. package/dist/schema-cli.js +21 -2
  402. package/dist/search/derive-search-adapter-config.d.ts +2 -2
  403. package/dist/search/in-memory-adapter.d.ts +1 -1
  404. package/dist/search/index.d.ts +6 -6
  405. package/dist/search/meilisearch-adapter.d.ts +2 -2
  406. package/dist/search/purge-subject.d.ts +4 -4
  407. package/dist/search/reindex-entity.d.ts +3 -3
  408. package/dist/secrets/dek-cache.d.ts +1 -1
  409. package/dist/secrets/env-master-key-provider.d.ts +1 -1
  410. package/dist/secrets/env-master-key-provider.js +26 -11
  411. package/dist/secrets/envelope-cipher.d.ts +2 -2
  412. package/dist/secrets/envelope.d.ts +1 -1
  413. package/dist/secrets/index.d.ts +9 -9
  414. package/dist/secrets/rotation.d.ts +1 -1
  415. package/dist/secrets/stored-envelope.d.ts +1 -1
  416. package/dist/seeding/entity-seed.d.ts +1 -1
  417. package/dist/seeding/index.d.ts +3 -3
  418. package/dist/seeding/seed-users.d.ts +1 -1
  419. package/dist/time/index.d.ts +6 -6
  420. package/dist/ui-types/app-schema.d.ts +5 -5
  421. package/dist/ui-types/index.d.ts +23 -23
  422. package/dist/upgrade-cli.js +13 -3
  423. package/dist/utils/index.d.ts +9 -9
  424. package/package.json +19 -66
  425. package/presets/biome-app.json +80 -0
  426. package/presets/tsconfig.app.json +19 -0
  427. package/src/changes.json +84 -2
  428. package/src/scripts/codemod/README.md +18 -0
  429. package/src/scripts/codemod/codemod-support.ts +1 -1
  430. package/src/scripts/codemod/db-factory.ts +1 -1
  431. package/src/scripts/codemod/feature-factory.ts +1 -1
  432. package/src/scripts/codemod/import-extensions.ts +118 -0
  433. package/src/scripts/codemod/migrate-cross-tenant.ts +2 -2
  434. package/src/scripts/codemod/migrate-db-raw.ts +1 -1
  435. package/src/scripts/codemod/migrate-open-to-all.ts +1 -1
  436. package/src/scripts/codemod/object-form.ts +1 -1
  437. package/src/scripts/codemod/s3-imports.ts +1 -1
  438. package/src/scripts/codemod/tenant-db-options.ts +1 -1
  439. package/src/scripts/codemod/testing-move.ts +2 -2
  440. package/dist/db/bun-db-deprecated.d.ts +0 -10
  441. package/dist/db/bun-db-deprecated.js +0 -5
  442. package/dist/stack/index.d.ts +0 -10
  443. package/dist/stack/index.js +0 -11
  444. package/dist/testing/e2e-generator.d.ts +0 -5
  445. package/dist/testing/e2e-generator.js +0 -5
  446. package/dist/testing/handler-context.d.ts +0 -5
  447. package/dist/testing/handler-context.js +0 -5
  448. package/dist/testing/index.d.ts +0 -10
  449. package/dist/testing/index.js +0 -10
  450. package/dist/testing/real-providers.d.ts +0 -5
  451. package/dist/testing/real-providers.js +0 -5
@@ -1,11 +1,11 @@
1
1
  import { type WebSocketRouteDefinition } from "@cosmicdrift/kumiko-types/websocket-route";
2
- import type { EntityTableMeta } from "../db/entity-table-meta.js";
3
- import type { FeatureBuilderState } from "./feature-builder-state.js";
4
- import type { HttpRouteDefinition } from "./types/http-route.js";
5
- import type { BootCheckFn, EntityProjectionExtension, ExtensionSelectorPanel, HookDefinition, MultiStreamProjectionDefinition, NameOrRef, ProjectionDefinition, RegistrarExtensionDef, SearchPayloadContributorFn, StoreTableOptions, TreeActionDef, TreeActionsHandle } from "./types/index.js";
6
- import type { ContentCollectionDefinition, NavDefinition } from "./types/nav.js";
7
- import type { ScreenDefinition } from "./types/screen.js";
8
- import type { WorkspaceDefinition } from "./types/workspace.js";
2
+ import type { EntityTableMeta } from "../db/entity-table-meta.ts";
3
+ import type { FeatureBuilderState } from "./feature-builder-state.ts";
4
+ import type { HttpRouteDefinition } from "./types/http-route.ts";
5
+ import type { BootCheckFn, EntityProjectionExtension, ExtensionSelectorPanel, HookDefinition, MultiStreamProjectionDefinition, NameOrRef, ProjectionDefinition, RegistrarExtensionDef, SearchPayloadContributorFn, StoreTableOptions, TreeActionDef, TreeActionsHandle } from "./types/index.ts";
6
+ import type { ContentCollectionDefinition, NavDefinition } from "./types/nav.ts";
7
+ import type { ScreenDefinition } from "./types/screen.ts";
8
+ import type { WorkspaceDefinition } from "./types/workspace.ts";
9
9
  export declare function buildUiExtensionsMethods<TName extends string>(state: FeatureBuilderState, name: TName): {
10
10
  hook(definition: HookDefinition): void;
11
11
  searchPayloadExtension(entityRef: NameOrRef, fn: SearchPayloadContributorFn): void;
@@ -4,7 +4,7 @@ import { WEBSOCKET_MAX_CONNECTIONS_PER_USER_LIMIT, WEBSOCKET_MAX_PAYLOAD_BYTES,
4
4
  import { bindHookEscapeHatchGrant } from "../pipeline/system-identity-switch.js";
5
5
  import { LifecycleHookTypes } from "./constants.js";
6
6
  import { resolveName } from "./handler-helpers.js";
7
- import { isObjectArgument, throwPositionalFormRemoved } from "./object-form.js";
7
+ import { isObjectArgument, throwObjectArgumentRequired } from "./object-form.js";
8
8
  import { isKebabSegment, isValidQn, qualifyEntityName, toKebab } from "./qualified-name.js";
9
9
  import { HookPhases } from "./types/index.js";
10
10
  // Builds hooks/extensions/projections/screens/nav/workspace/tables/tree-actions
@@ -110,7 +110,7 @@ export function buildUiExtensionsMethods(state, name) {
110
110
  return {
111
111
  hook(definition) {
112
112
  if (!isObjectArgument(definition))
113
- throwPositionalFormRemoved(name, "hook");
113
+ throwObjectArgumentRequired(name, "hook");
114
114
  const { type, target, handler: fn } = definition;
115
115
  const options = {
116
116
  ...(definition.phase !== undefined && { phase: definition.phase }),
@@ -1,4 +1,4 @@
1
- import type { EntityDefinition, SessionUser } from "./types/index.js";
1
+ import type { EntityDefinition, SessionUser } from "./types/index.ts";
2
2
  export declare function maskWriteOnlyFields<T extends Readonly<Record<string, unknown>>>(entity: EntityDefinition, row: T): T;
3
3
  export declare function dropEmptyWriteOnlyValues<T extends Readonly<Record<string, unknown>>>(entity: EntityDefinition, values: T): T;
4
4
  export declare function filterReadFields(entity: EntityDefinition, data: Readonly<Record<string, unknown>>, user: SessionUser): Record<string, unknown>;
@@ -1,4 +1,4 @@
1
- import type { AnyFileFieldDef, FieldDefinition } from "./types/fields.js";
1
+ import type { AnyFileFieldDef, FieldDefinition } from "./types/fields.ts";
2
2
  export declare const DEFAULT_CURRENCIES: readonly ["EUR", "USD", "GBP", "CHF", "JPY", "SEK", "NOK", "DKK", "PLN", "CZK", "CAD", "AUD", "NZD", "CNY", "INR"];
3
3
  export declare const DEFAULT_LOCALES: readonly ["de", "en", "es"];
4
4
  export declare function isFileField(field: FieldDefinition | undefined): field is AnyFileFieldDef;
@@ -1,4 +1,4 @@
1
- import type { NameOrRef, WriteResult } from "./types/handlers.js";
1
+ import type { NameOrRef, WriteResult } from "./types/handlers.ts";
2
2
  /**
3
3
  * Override the success-side `data` of a WriteResult while forwarding the
4
4
  * failure half untouched. Useful for handlers that delegate to the
@@ -1,88 +1,89 @@
1
- export { handlerFieldLabelKey, handlerTitleKey } from "../i18n/required-surface-keys.js";
2
- export { hasAccess } from "./access.js";
3
- export { isPrincipalStatusPlugin, isTenantLifecycleStatusPlugin, type PrincipalProfile, type PrincipalStatus, type PrincipalStatusPlugin, TENANT_TEARDOWN_STATUSES, type TenantLifecycleStatusPlugin, } from "./active-membership.js";
4
- export { PII_DIRECT_NAME_HINTS, PII_USER_OWNED_NAME_HINTS, PII_USER_REFERENCE_NAME_HINTS, } from "./boot-validator/entity-handler.js";
5
- export { entityHasAnonymizableSubjectField } from "./boot-validator/pii-retention.js";
6
- export { type CardMetaOverflow, collectCardMetaOverflow, collectWriteHandlerQns, MAX_TRANSFER_DEPTH, SECURITY_BASELINE_FEATURE_NAMES, type ValidateBootOptions, validateAppCustomScreenWriteQns, validateBoot, } from "./boot-validator.js";
7
- export { bridgeStub } from "./bridge-stub.js";
8
- export { type BuildAppSchemaOptions, buildAppSchema } from "./build-app-schema.js";
9
- export type { ConfigFeatureSchema } from "./build-config-feature-schema.js";
10
- export { buildConfigFeatureSchema, SETTINGS_HUB_FEATURE, SETTINGS_HUB_WORKSPACE, } from "./build-config-feature-schema.js";
11
- export { buildTarget } from "./build-target.js";
12
- export { type PendingChange, parseChangesetChanges } from "./changeset-changes.js";
13
- export { access, createSeed, createSystemConfig, createSystemSeed, createTenantConfig, createTenantSeed, createUserConfig, createUserSeed, isEncryptedAtRest, } from "./config-helpers.js";
14
- export type { SystemHookName } from "./constants.js";
15
- export { ConcurrencyModes, ConfigScopes, LifecycleHookTypes, MessageKind, OnDeleteStrategies, SystemHookNames, SystemHookPriorities, TENANT_CURRENCY_CONFIG_KEY, tenantChannel, } from "./constants.js";
16
- export type { App, AppConfig } from "./create-app.js";
17
- export { createApp } from "./create-app.js";
18
- export { mayOverrideTenant, tenantOverrideDenied } from "./cross-tenant.js";
19
- export { dedupeFeatures } from "./dedupe-features.js";
20
- export { defineFeature } from "./define-feature.js";
21
- export type { PagedQueryHandlerDefinition, QueryHandlerDefinition, StreamHandlerDefinition, WriteHandlerDefinition, WriteHandlerInput, } from "./define-handler.js";
22
- export { definePagedQueryHandler, defineQueryHandler, defineWriteHandler, isPagedQueryHandler, } from "./define-handler.js";
23
- export { defineRoles } from "./define-roles.js";
24
- export { defineStep, getStep, listStepKinds } from "./define-step.js";
25
- export type { WorkflowDefinition, WorkflowInput, WorkflowTrigger } from "./define-workflow.js";
26
- export { computeDefinitionFingerprint, defineWorkflow } from "./define-workflow.js";
27
- export type { ToggleReader } from "./effective-features.js";
28
- export { computeEffectiveFeatures, isToggleableFeature } from "./effective-features.js";
29
- export { createEntityExecutor, defineEntityCreateHandler, defineEntityDeleteHandler, defineEntityDetailHandler, defineEntityListHandler, defineEntityQueryHandler, defineEntityRestoreHandler, defineEntityUpdateHandler, defineEntityWriteHandler, defineProjectionQueryHandler, type EntityCrudRegistrar, entityListSchema, MAX_LIST_LIMIT, type RegisterEntityCrudOptions, } from "./entity-handlers.js";
30
- export { declareEscapeHatch } from "./escape-hatch-declaration.js";
31
- export type { EmitCtx } from "./event-helpers.js";
32
- export { emitEvent, typedPayload } from "./event-helpers.js";
33
- export type { KumikoExtensionName, TenantResourceExtensionName } from "./extension-names.js";
34
- export { EXT_ASSIGNABLE_ROLE, EXT_DERIVATIVE_OVERLAY_RESOLVER, EXT_DERIVATIVE_PUBLIC_PREDICATE, EXT_DERIVATIVE_RENDERER, EXT_EXTERNAL_RESOURCE, EXT_FILE_PROVIDER, EXT_INFRA_RESOURCE, EXT_PRINCIPAL_STATUS, EXT_SEARCH_ADAPTER, EXT_STORAGE_PROVIDER, EXT_TENANT_DATA, EXT_TENANT_LIFECYCLE_STATUS, EXT_USER_DATA, EXT_USER_DATA_ORDER, FILE_PROVIDER_CONFIG_KEY, FILE_STORAGE_PROVIDER_BOOT_SENTINEL, FILE_STORAGE_PROVIDER_ENV, TENANT_MEMBERSHIPS_QUERY, } from "./extension-names.js";
35
- export { EXTENSION_SELECTOR_HINT_KEY, extensionSelectorTargets, SELECTED_EXTENSIONS_QUERY, selectablePluginIds, } from "./extension-selector-plugins.js";
36
- export { extensionUsageEscapeHatchReason } from "./extensions/escape-hatch-usage.js";
37
- export type { StorageProviderDestroyTenantHook, StorageProviderExtensionHooks, StorageProviderHookCtx, } from "./extensions/storage-provider.js";
38
- export { isTenantDataExtensionHooks, type TenantDataDestroyHook, type TenantDataExtensionHooks, type TenantDataHookCtx, } from "./extensions/tenant-data.js";
39
- export { isTenantResourceExtensionHooks, type TenantDestroyHookResult, type TenantResourceDestroyHook, type TenantResourceExtensionHooks, type TenantResourceHookCtx, } from "./extensions/tenant-resource.js";
40
- export type { TenantUserModel, UserDataDeleteHook, UserDataDeleteStrategy, UserDataExportHook, UserDataExportSnippet, UserDataExtensionHooks, UserDataExtensionOptions, UserDataHookCtx, UserDataStorageProvider, } from "./extensions/user-data.js";
41
- export { createBigIntField, createBooleanField, createDateField, createDecimalField, createDerivedField, createEmbeddedField, createEmbeddedListField, createEntity, createFileField, createFilesField, createImageField, createImagesField, createJsonbField, createLocatedTimestampField, createLongTextField, createMoneyField, createMultiSelectField, createNumberField, createSelectField, createTextField, createTimestampField, createTzField, } from "./factories.js";
42
- export type { AddEntityArgs, AddHookArgs, AddRelationArgs, AddWriteHandlerArgs, FeaturePatcher, FeaturePattern, FeaturePatternKind, FormFieldLabel, FormFieldSpec, FormInputType, HandlerHeaderUpdate, ParseError, ParseResult, PatternCategory, PatternChange, PatternChangeIssue, PatternChangesParseResult, PatternFormSchema, PatternId, RenderFeatureFileInput, SourceLocation, } from "./feature-ast/index.js";
43
- export { addPattern, applyChanges, createFeaturePatcher, getPatternSchema, groupByCategory, PATTERN_LIBRARY, parseFeatureFile, parsePatternChanges, parseSourceFile, removePattern, renderFeatureFile, renderPattern, replacePattern, updatePattern, VERSION_HEADER, } from "./feature-ast/index.js";
44
- export { type ChangelogEntry, type ChangelogType, compareVersions, type FeatureChangelog, filterEntriesAfter, parseFeatureChangelog, sortEntries, validateChangelog, } from "./feature-changelog.js";
45
- export { type BuildManifestOptions, buildManifestFromRegistry, type FeatureManifest, type ManifestConfigKey, type ManifestExtension, type ManifestFeature, type ManifestSecret, type ManifestSystemEvent, serializeManifest, } from "./feature-manifest.js";
46
- export { checkWriteFieldOwnership, checkWriteFieldRoles, filterReadFields, maskWriteOnlyFields, } from "./field-access.js";
47
- export { HANDLER_FIELD_REFERENCES_META_KEY, type HandlerFieldPathSegment, type HandlerFieldReference, type HandlerFieldReferenceAtPath, type HandlerFieldReferenceMeta, handlerFieldReference, handlerFieldReferences, readHandlerFieldReferences, } from "./handler-field-references.js";
48
- export { resolveName, withResponseData } from "./handler-helpers.js";
49
- export { i18nKey } from "./i18n-key.js";
50
- export { buildSessionRoles, findForbiddenMembershipRole, isForbiddenMembershipRole, stripForbiddenMembershipRoles, } from "./membership-roles.js";
51
- export type { OwnershipClause, OwnershipMap, OwnershipRef, OwnershipRule } from "./ownership.js";
52
- export { buildOwnershipClause, combineClauses, from, normalizeAccessEntry, userCanCreateFieldRow, userCanReadFieldRow, userCanWriteFieldRow, } from "./ownership.js";
53
- export type { ParsedRefTarget } from "./parse-ref-target.js";
54
- export { parseRefTarget, parseRefTargetEntityName } from "./parse-ref-target.js";
55
- export { buildPipelineSteps, stepsPipeline } from "./pipeline.js";
56
- export { projectAppSchemaForRoles } from "./project-app-schema-for-roles.js";
57
- export { defineApply, defineMspApply, setFields } from "./projection-helpers.js";
58
- export type { BuiltinQnType, ParsedQn, QnType } from "./qualified-name.js";
59
- export { isValidQn, parseQn, QnTypes, qn, toKebab } from "./qualified-name.js";
60
- export { readClaim } from "./read-claim.js";
61
- export { createRegistry } from "./registry.js";
62
- export { qualifyTranslationKey } from "./registry-ingest.js";
63
- export type { ClampInfo, ResolveOptions } from "./resolve-config-or-param.js";
64
- export { resolveConfigOrParam } from "./resolve-config-or-param.js";
65
- export type { AssignableAppRoles, AssignableFromRole } from "./role-assignment.js";
66
- export { assignableAppRolesFromUsages, assignableAppRolesOf, BUILT_IN_MEMBERSHIP_ROLES, canActorAssignRole, findForbiddenRoleAssignment, isAssignableByRole, mergeAssignedRoles, } from "./role-assignment.js";
67
- export { runsInLane } from "./run-in.js";
68
- export type { StepListOutcome } from "./run-pipeline.js";
69
- export { runPipeline, runStepList } from "./run-pipeline.js";
70
- export { buildInsertSchema, buildUpdateSchema, fieldToZod, SYSTEM_ONLY_JSON_SCHEMA_KEY, } from "./schema-builder.js";
71
- export type { UnavailableSelectOption } from "./screen-helpers.js";
72
- export { availableSelectOptions, findUnavailableSelectOptions, isExtensionEditSection, isFieldsEditSection, isWriteFormEditSection, normalizeEditField, normalizeListColumn, sectionFieldSpecs, } from "./screen-helpers.js";
73
- export type { TransitionGraph } from "./state-machine.js";
74
- export { defineTransitions, guardTransition } from "./state-machine.js";
75
- export { evaluateEventMatch } from "./steps/_event-match.js";
76
- export { STEP_DISPATCH_AGGREGATE_TYPE, STEP_DISPATCH_FAILED_TYPE, STEP_DISPATCH_REQUESTED_TYPE, STEP_DISPATCHED_TYPE, SUSPEND_SENTINEL, WORKFLOW_AGGREGATE_TYPE, WORKFLOW_RESUMED_TYPE, WORKFLOW_RETRY_SCHEDULED_TYPE, WORKFLOW_RUN_COMPLETED_TYPE, WORKFLOW_RUN_FAILED_TYPE, WORKFLOW_RUN_STARTED_TYPE, WORKFLOW_WAITING_FOR_EVENT_TYPE, WORKFLOW_WAITING_TYPE, } from "./steps/_step-dispatch-constants.js";
77
- export { describeWorkflowStepError } from "./steps/describe-workflow-step-error.js";
78
- export { unwrapWorkflowStepError, WorkflowStepError } from "./steps/workflow-step-error.js";
79
- export { WORKFLOW_SYSTEM_EVENT_DEFS } from "./steps/workflow-system-events.js";
80
- export { ANONYMOUS_ROLE, ANONYMOUS_USER_ID, createAnonymousUser, createSystemUser, SYSTEM_ROLE, SYSTEM_USER_ID, } from "./system-user.js";
81
- export { assertNotificationVariables, templateVariable, templateVariablesToZod, } from "./template-variables.js";
82
- export { type EffectiveFeaturesResolver, findTierResolverUsage, isTierResolverPlugin, requireTierResolverPlugin, TENANT_TIER_RESOLVER_EXT, type TierResolverPlugin, type TrialGate, } from "./tier-resolver-extension.js";
83
- export { findOverDeepTransferChain, resolveTransferAdjacency as resolveEntityTransferAdjacency, type TransferAdjacency, type TransferEdge, type TransferEdgeLink, } from "./transfer-adjacency.js";
84
- export { isSystemTenant, isUuid, parseTenantId, SYSTEM_TENANT_ID } from "./types/identifiers.js";
85
- export type { AccessRule, ActionFormScreenDefinition, ActiveMembership, ActiveMembershipRejection, ActiveMembershipResult, AgentExposure, AgentHandlerHints, AgentRisk, AppContext, AppendEventArgs, AppendEventFn, AuthClaimsContext, AuthClaimsFn, AuthClaimsHookDef, BeforeTransactionPhase, BeforeTransactionResult, BelongsToRelation, BigIntFieldDef, BooleanFieldDef, CamelToKebab, ChatSendFailureCode, ClaimKeyDefinition, ClaimKeyHandle, ClaimKeyJsType, ClaimKeyType, ConcurrencyMode, ConfigAccessor, ConfigAccessorFactory, ConfigBacking, ConfigCascade, ConfigCascadeLevel, ConfigDefinition, ConfigEditScreenDefinition, ConfigKeyAccess, ConfigKeyDefinition, ConfigKeyHandle, ConfigKeyType, ConfigMask, ConfigResolver, ConfigScope, ConfigSecretsReader, ConfigSeedDef, ConfigStoredRow, ConfigStoredRowWithSource, ConfigValidateContext, ConfigValidateFn, ConfigValue, ConfigValueSource, ConfigValueWithSource, ContentCollectionDefinition, CreateSeedOptions, CreateTenantSeedOptions, CreateUserSeedOptions, CustomScreenDefinition, CustomScreenRoute, DashboardChartPanel, DashboardCustomPanel, DashboardDateParam, DashboardFeedPanel, DashboardFilterDefinition, DashboardI18nText, DashboardListPanel, DashboardMoneyParam, DashboardPanelDefinition, DashboardPanelVisibility, DashboardProgressListPanel, DashboardScreenDefinition, DashboardScreenPanel, DashboardStatGroupPanel, DashboardStatPanel, DashboardText, DashboardTextParam, DashboardValueFormat, DateFieldDef, DecimalFieldDef, DeleteContext, DeliveryErrorCode, DeliveryFailureCode, DeliverySkipReason, DeriveContext, DerivedFieldDef, DerivedFieldsMap, DerivedValueType, EditExtensionSection, EditFieldPrefill, EditFieldSpec, EditFieldsSection, EditLayout, EditRelatedListSection, EditSectionSpec, EmbeddedListEditSpec, EntityDefinition, EntityEditAction, EntityEditActionPlacement, EntityEditScreenDefinition, EntityId, EntityListExpandableRow, EntityListScreenDefinition, EntityObjectDefinition, EntityRef, EntityRelations, EscapeHatchAuditSink, EscapeHatchDeclaration, EscapeHatchKind, EscapeHatchReporter, EscapeHatchTarget, EscapeHatchUseEvent, EventDef, ExtensionOptionsArgs, ExtensionOptionsFor, FeatureDefinition, FeatureRegistrar, FieldAccess, FieldCondition, FieldDefinition, FieldFormatRegistry, FieldIconKey, FieldRenderer, FileFieldDef, FilesFieldDef, Findability, FormatSpec, FormWidth, HandlerContext, HasManyRelation, HookDefinition, HookMap, ImageFieldDef, ImagesFieldDef, JobBackoff, JobBackoffStrategy, JobContext, JobDefinition, JobHandlerFn, JobTrigger, JobTriggerEvent, JsonbFieldDef, KumikoEntityTypeMap, KumikoEventTypeMap, KumikoExtensionOptionsMap, KumikoHandlerPayloadMap, KumikoHandlerResultMap, LifecycleHookType, ListColumnSpec, ListFacetSpec, ListPaginationMode, ListSortDir, ListSortSpec, LongTextFindability, ManyToManyRelation, MaxPerTenantOptions, MemberReader, MetricNavigate, MetricSpec, MspErrorMode, MspErrorPolicy, MultiSelectFieldDef, MultiStreamApplyFn, MultiStreamProjectionDefinition, NameOrRef, NavDefinition, NavIconKey, NotificationDataFn, NotificationDefinition, NotificationLocalizedTemplate, NotificationRecipientFn, NotificationRecordMapping, NotificationTemplateBody, NotificationTemplateFn, NotificationTemplateMeta, NotifyDeferred, NotifyDelivery, NotifyDeliveryStatus, NotifyDispatched, NotifyFactory, NotifyFn, NotifyJobDispatcher, NotifyOptions, NotifyPriority, NotifyResult, NumberFieldDef, OnDeleteStrategy, OpenToAllAccessRule, OpenToAllDeclaration, OpenToAllPersonalData, ParentRefDef, PersonalAnnotations, PersonalAnnotationsLongText, PersonalAnnotationsNoFind, PersonalSubject, PlatformComponent, PluralForms, PostDeleteHookFn, PostSaveHookFn, PreDeleteHookFn, PreparedWriteEvent, PreQueryHookFn, PreSaveHookFn, ProjectionDefinition, ProjectionDetailScreenDefinition, ProjectionListScreenDefinition, ProjectionTable, QualifiedEventName, QueryEvent, QueryHandlerDef, QueryHandlerFn, RateLimitPer, RecordHeaderSpec, RecordHeaderSubtitlePart, ReferenceDataDef, Registry, RelationDefinition, ResolvedPiiFlags, RetentionDef, RoleAccessPersonalData, RoleAccessRule, RowAction, RowActionNavigate, RowActionNavigateBase, RowActionWriteHandler, RowFieldExtractor, SaveContext, ScreenDefinition, ScreenFilter, ScreenFilterOp, ScreenNavSugar, ScreenSlots, SecretKeyDefinition, SecretKeyHandle, SecretMintConfirmStep, SecretMintScreenDefinition, SecretNamespaceDefinition, SecretNamespaceHandle, SecretNamespaceOptions, SecretReveal, SecretRevealField, SecretsEditScreenDefinition, SecretsEditSection, SelectFieldDef, SessionUser, SessionUserOrigin, StreamHandlerDef, StreamHandlerFn, Subscribe, TargetRef, TemplateListVariableDef, TemplateScalarVariableDef, TemplateVariableDef, TemplateVariables, TenantId, TenantWriteTarget, TextFieldDef, ToolbarAction, TranslationEntry, TranslationKeys, TranslationsDef, TranslationValue, TreeAction, TreeActionDef, TreeActionsHandle, TreeChildrenSubscribe, TreeNode, TreeNodeState, UnitKey, UnsafeAppendEventFn, ValidationError, ValidationHookFn, WorkspaceDefinition, WriteEvent, WriteHandlerDef, WriteHandlerFn, WriteResult, } from "./types/index.js";
86
- export { DEFAULT_CURRENCIES, DEFAULT_LOCALES, DELIVERY_FAILURE_CODES, DELIVERY_SKIP_REASONS, HookPhases, HTTP_ERROR_CODE_PATTERN, isAgentVisibleScreen, isDeliveryErrorCode, isOpenToAllGranted, resolveAgentExposure, } from "./types/index.js";
87
- export type { AwaitedEventType, PipelineBuildCtx, PipelineCtx, PipelineDef, StepBuilder, StepDef, StepFailureStrategy, StepInstance, StepKind, StepNamespace, StepResolver, } from "./types/step.js";
88
- export { runValidation } from "./validation.js";
1
+ export { handlerFieldLabelKey, handlerTitleKey } from "../i18n/required-surface-keys.ts";
2
+ export { hasAccess } from "./access.ts";
3
+ export { isPrincipalStatusPlugin, isTenantLifecycleStatusPlugin, type PrincipalProfile, type PrincipalStatus, type PrincipalStatusPlugin, TENANT_TEARDOWN_STATUSES, type TenantLifecycleStatusPlugin, } from "./active-membership.ts";
4
+ export { PII_DIRECT_NAME_HINTS, PII_USER_OWNED_NAME_HINTS, PII_USER_REFERENCE_NAME_HINTS, } from "./boot-validator/entity-handler.ts";
5
+ export { entityHasAnonymizableSubjectField } from "./boot-validator/pii-retention.ts";
6
+ export { type CardMetaOverflow, collectCardMetaOverflow, collectWriteHandlerQns, MAX_TRANSFER_DEPTH, SECURITY_BASELINE_FEATURE_NAMES, type ValidateBootOptions, validateAppCustomScreenWriteQns, validateBoot, } from "./boot-validator.ts";
7
+ export { bridgeStub } from "./bridge-stub.ts";
8
+ export { type BuildAppSchemaOptions, buildAppSchema } from "./build-app-schema.ts";
9
+ export type { ConfigFeatureSchema } from "./build-config-feature-schema.ts";
10
+ export { buildConfigFeatureSchema, SETTINGS_HUB_FEATURE, SETTINGS_HUB_WORKSPACE, } from "./build-config-feature-schema.ts";
11
+ export { buildTarget } from "./build-target.ts";
12
+ export { type PendingChange, parseChangesetChanges } from "./changeset-changes.ts";
13
+ export { access, createSeed, createSystemConfig, createSystemSeed, createTenantConfig, createTenantSeed, createUserConfig, createUserSeed, isEncryptedAtRest, } from "./config-helpers.ts";
14
+ export type { SystemHookName } from "./constants.ts";
15
+ export { ConcurrencyModes, ConfigScopes, LifecycleHookTypes, MessageKind, OnDeleteStrategies, SystemHookNames, SystemHookPriorities, TENANT_CURRENCY_CONFIG_KEY, tenantChannel, } from "./constants.ts";
16
+ export type { App, AppConfig } from "./create-app.ts";
17
+ export { createApp } from "./create-app.ts";
18
+ export { mayOverrideTenant, tenantOverrideDenied } from "./cross-tenant.ts";
19
+ export { dedupeFeatures } from "./dedupe-features.ts";
20
+ export { defineFeature } from "./define-feature.ts";
21
+ export type { PagedQueryHandlerDefinition, QueryHandlerDefinition, StreamHandlerDefinition, WriteHandlerDefinition, WriteHandlerInput, } from "./define-handler.ts";
22
+ export { definePagedQueryHandler, defineQueryHandler, defineWriteHandler, isPagedQueryHandler, } from "./define-handler.ts";
23
+ export { defineRoles } from "./define-roles.ts";
24
+ export { defineStep, getStep, listStepKinds } from "./define-step.ts";
25
+ export type { WorkflowDefinition, WorkflowInput, WorkflowTrigger } from "./define-workflow.ts";
26
+ export { computeDefinitionFingerprint, defineWorkflow } from "./define-workflow.ts";
27
+ export type { ToggleReader } from "./effective-features.ts";
28
+ export { computeEffectiveFeatures, isToggleableFeature } from "./effective-features.ts";
29
+ export { createEntityExecutor, defineEntityCreateHandler, defineEntityDeleteHandler, defineEntityDetailHandler, defineEntityListHandler, defineEntityQueryHandler, defineEntityRestoreHandler, defineEntityUpdateHandler, defineEntityWriteHandler, defineProjectionQueryHandler, type EntityCrudRegistrar, entityListSchema, MAX_LIST_LIMIT, type RegisterEntityCrudOptions, } from "./entity-handlers.ts";
30
+ export { declareEscapeHatch } from "./escape-hatch-declaration.ts";
31
+ export { type CreateEventDefOptions, createEventDef } from "./event-def.ts";
32
+ export type { EmitCtx } from "./event-helpers.ts";
33
+ export { emitEvent, typedPayload } from "./event-helpers.ts";
34
+ export type { KumikoExtensionName, TenantResourceExtensionName } from "./extension-names.ts";
35
+ export { EXT_ASSIGNABLE_ROLE, EXT_DERIVATIVE_OVERLAY_RESOLVER, EXT_DERIVATIVE_PUBLIC_PREDICATE, EXT_DERIVATIVE_RENDERER, EXT_EXTERNAL_RESOURCE, EXT_FILE_PROVIDER, EXT_INFRA_RESOURCE, EXT_PRINCIPAL_STATUS, EXT_SEARCH_ADAPTER, EXT_STORAGE_PROVIDER, EXT_TENANT_DATA, EXT_TENANT_LIFECYCLE_STATUS, EXT_USER_DATA, EXT_USER_DATA_ORDER, FILE_PROVIDER_CONFIG_KEY, FILE_STORAGE_PROVIDER_BOOT_SENTINEL, FILE_STORAGE_PROVIDER_ENV, TENANT_MEMBERSHIPS_QUERY, } from "./extension-names.ts";
36
+ export { EXTENSION_SELECTOR_HINT_KEY, extensionSelectorTargets, SELECTED_EXTENSIONS_QUERY, selectablePluginIds, } from "./extension-selector-plugins.ts";
37
+ export { extensionUsageEscapeHatchReason } from "./extensions/escape-hatch-usage.ts";
38
+ export type { StorageProviderDestroyTenantHook, StorageProviderExtensionHooks, StorageProviderHookCtx, } from "./extensions/storage-provider.ts";
39
+ export { isTenantDataExtensionHooks, type TenantDataDestroyHook, type TenantDataExtensionHooks, type TenantDataHookCtx, } from "./extensions/tenant-data.ts";
40
+ export { isTenantResourceExtensionHooks, type TenantDestroyHookResult, type TenantResourceDestroyHook, type TenantResourceExtensionHooks, type TenantResourceHookCtx, } from "./extensions/tenant-resource.ts";
41
+ export type { TenantUserModel, UserDataDeleteHook, UserDataDeleteStrategy, UserDataExportHook, UserDataExportSnippet, UserDataExtensionHooks, UserDataExtensionOptions, UserDataHookCtx, UserDataStorageProvider, } from "./extensions/user-data.ts";
42
+ export { createBigIntField, createBooleanField, createDateField, createDecimalField, createDerivedField, createEmbeddedField, createEmbeddedListField, createEntity, createFileField, createFilesField, createImageField, createImagesField, createJsonbField, createLocatedTimestampField, createLongTextField, createMoneyField, createMultiSelectField, createNumberField, createSelectField, createTextField, createTimestampField, createTzField, } from "./factories.ts";
43
+ export type { AddEntityArgs, AddHookArgs, AddRelationArgs, AddWriteHandlerArgs, FeaturePatcher, FeaturePattern, FeaturePatternKind, FormFieldLabel, FormFieldSpec, FormInputType, HandlerHeaderUpdate, ParseError, ParseResult, PatternCategory, PatternChange, PatternChangeIssue, PatternChangesParseResult, PatternFormSchema, PatternId, RenderFeatureFileInput, SourceLocation, } from "./feature-ast/index.ts";
44
+ export { addPattern, applyChanges, createFeaturePatcher, getPatternSchema, groupByCategory, PATTERN_LIBRARY, parseFeatureFile, parsePatternChanges, parseSourceFile, removePattern, renderFeatureFile, renderPattern, replacePattern, updatePattern, VERSION_HEADER, } from "./feature-ast/index.ts";
45
+ export { type ChangelogEntry, type ChangelogType, compareVersions, type FeatureChangelog, filterEntriesAfter, parseFeatureChangelog, sortEntries, validateChangelog, } from "./feature-changelog.ts";
46
+ export { type BuildManifestOptions, buildManifestFromRegistry, type FeatureManifest, type ManifestConfigKey, type ManifestExtension, type ManifestFeature, type ManifestSecret, type ManifestSystemEvent, serializeManifest, } from "./feature-manifest.ts";
47
+ export { checkWriteFieldOwnership, checkWriteFieldRoles, filterReadFields, maskWriteOnlyFields, } from "./field-access.ts";
48
+ export { HANDLER_FIELD_REFERENCES_META_KEY, type HandlerFieldPathSegment, type HandlerFieldReference, type HandlerFieldReferenceAtPath, type HandlerFieldReferenceMeta, handlerFieldReference, handlerFieldReferences, readHandlerFieldReferences, } from "./handler-field-references.ts";
49
+ export { resolveName, withResponseData } from "./handler-helpers.ts";
50
+ export { i18nKey } from "./i18n-key.ts";
51
+ export { buildSessionRoles, findForbiddenMembershipRole, isForbiddenMembershipRole, stripForbiddenMembershipRoles, } from "./membership-roles.ts";
52
+ export type { OwnershipClause, OwnershipMap, OwnershipRef, OwnershipRule } from "./ownership.ts";
53
+ export { buildOwnershipClause, combineClauses, from, normalizeAccessEntry, userCanCreateFieldRow, userCanReadFieldRow, userCanWriteFieldRow, } from "./ownership.ts";
54
+ export type { ParsedRefTarget } from "./parse-ref-target.ts";
55
+ export { parseRefTarget, parseRefTargetEntityName } from "./parse-ref-target.ts";
56
+ export { buildPipelineSteps, stepsPipeline } from "./pipeline.ts";
57
+ export { projectAppSchemaForRoles } from "./project-app-schema-for-roles.ts";
58
+ export { defineApply, defineMspApply, setFields } from "./projection-helpers.ts";
59
+ export type { BuiltinQnType, ParsedQn, QnType } from "./qualified-name.ts";
60
+ export { isValidQn, parseQn, QnTypes, qn, toKebab } from "./qualified-name.ts";
61
+ export { readClaim } from "./read-claim.ts";
62
+ export { createRegistry } from "./registry.ts";
63
+ export { qualifyTranslationKey } from "./registry-ingest.ts";
64
+ export type { ClampInfo, ResolveOptions } from "./resolve-config-or-param.ts";
65
+ export { resolveConfigOrParam } from "./resolve-config-or-param.ts";
66
+ export type { AssignableAppRoles, AssignableFromRole } from "./role-assignment.ts";
67
+ export { assignableAppRolesFromUsages, assignableAppRolesOf, BUILT_IN_MEMBERSHIP_ROLES, canActorAssignRole, findForbiddenRoleAssignment, isAssignableByRole, mergeAssignedRoles, } from "./role-assignment.ts";
68
+ export { runsInLane } from "./run-in.ts";
69
+ export type { StepListOutcome } from "./run-pipeline.ts";
70
+ export { runPipeline, runStepList } from "./run-pipeline.ts";
71
+ export { buildInsertSchema, buildUpdateSchema, fieldToZod, SYSTEM_ONLY_JSON_SCHEMA_KEY, } from "./schema-builder.ts";
72
+ export type { UnavailableSelectOption } from "./screen-helpers.ts";
73
+ export { availableSelectOptions, findUnavailableSelectOptions, isExtensionEditSection, isFieldsEditSection, isWriteFormEditSection, normalizeEditField, normalizeListColumn, sectionFieldSpecs, } from "./screen-helpers.ts";
74
+ export type { TransitionGraph } from "./state-machine.ts";
75
+ export { defineTransitions, guardTransition } from "./state-machine.ts";
76
+ export { evaluateEventMatch } from "./steps/_event-match.ts";
77
+ export { STEP_DISPATCH_AGGREGATE_TYPE, STEP_DISPATCH_FAILED_TYPE, STEP_DISPATCH_REQUESTED_TYPE, STEP_DISPATCHED_TYPE, SUSPEND_SENTINEL, WORKFLOW_AGGREGATE_TYPE, WORKFLOW_RESUMED_TYPE, WORKFLOW_RETRY_SCHEDULED_TYPE, WORKFLOW_RUN_COMPLETED_TYPE, WORKFLOW_RUN_FAILED_TYPE, WORKFLOW_RUN_STARTED_TYPE, WORKFLOW_WAITING_FOR_EVENT_TYPE, WORKFLOW_WAITING_TYPE, } from "./steps/_step-dispatch-constants.ts";
78
+ export { describeWorkflowStepError } from "./steps/describe-workflow-step-error.ts";
79
+ export { unwrapWorkflowStepError, WorkflowStepError } from "./steps/workflow-step-error.ts";
80
+ export { WORKFLOW_SYSTEM_EVENT_DEFS } from "./steps/workflow-system-events.ts";
81
+ export { ANONYMOUS_ROLE, ANONYMOUS_USER_ID, createAnonymousUser, createSystemUser, SYSTEM_ROLE, SYSTEM_USER_ID, } from "./system-user.ts";
82
+ export { assertNotificationVariables, templateVariable, templateVariablesToZod, } from "./template-variables.ts";
83
+ export { type EffectiveFeaturesResolver, findTierResolverUsage, isTierResolverPlugin, requireTierResolverPlugin, TENANT_TIER_RESOLVER_EXT, type TierResolverPlugin, type TrialGate, } from "./tier-resolver-extension.ts";
84
+ export { findOverDeepTransferChain, resolveTransferAdjacency as resolveEntityTransferAdjacency, type TransferAdjacency, type TransferEdge, type TransferEdgeLink, } from "./transfer-adjacency.ts";
85
+ export { isSystemTenant, isUuid, parseTenantId, SYSTEM_TENANT_ID } from "./types/identifiers.ts";
86
+ export type { AccessRule, ActionFormScreenDefinition, ActiveMembership, ActiveMembershipRejection, ActiveMembershipResult, AgentExposure, AgentHandlerHints, AgentRisk, AppContext, AppendEventArgs, AppendEventFn, AuthClaimsContext, AuthClaimsFn, AuthClaimsHookDef, BeforeTransactionPhase, BeforeTransactionResult, BelongsToRelation, BigIntFieldDef, BooleanFieldDef, BootOptionName, CamelToKebab, ChatSendFailureCode, ClaimKeyDefinition, ClaimKeyHandle, ClaimKeyJsType, ClaimKeyType, ConcurrencyMode, ConfigAccessor, ConfigAccessorFactory, ConfigBacking, ConfigCascade, ConfigCascadeLevel, ConfigDefinition, ConfigEditScreenDefinition, ConfigKeyAccess, ConfigKeyDefinition, ConfigKeyHandle, ConfigKeyType, ConfigMask, ConfigResolver, ConfigScope, ConfigSecretsReader, ConfigSeedDef, ConfigStoredRow, ConfigStoredRowWithSource, ConfigValidateContext, ConfigValidateFn, ConfigValue, ConfigValueSource, ConfigValueWithSource, ContentCollectionDefinition, CreateSeedOptions, CreateTenantSeedOptions, CreateUserSeedOptions, CustomScreenDefinition, CustomScreenRoute, DashboardChartPanel, DashboardCustomPanel, DashboardDateParam, DashboardFeedPanel, DashboardFilterDefinition, DashboardI18nText, DashboardListPanel, DashboardMoneyParam, DashboardPanelDefinition, DashboardPanelVisibility, DashboardProgressListPanel, DashboardScreenDefinition, DashboardScreenPanel, DashboardStatGroupPanel, DashboardStatPanel, DashboardText, DashboardTextParam, DashboardValueFormat, DateFieldDef, DecimalFieldDef, DeleteContext, DeliveryErrorCode, DeliveryFailureCode, DeliverySkipReason, DeriveContext, DerivedFieldDef, DerivedFieldsMap, DerivedValueType, EditExtensionSection, EditFieldPrefill, EditFieldSpec, EditFieldsSection, EditLayout, EditRelatedListSection, EditSectionSpec, EmbeddedListEditSpec, EntityDefinition, EntityEditAction, EntityEditActionPlacement, EntityEditScreenDefinition, EntityId, EntityListExpandableRow, EntityListScreenDefinition, EntityObjectDefinition, EntityRef, EntityRelations, EscapeHatchAuditSink, EscapeHatchDeclaration, EscapeHatchKind, EscapeHatchReporter, EscapeHatchTarget, EscapeHatchUseEvent, EventDef, ExtensionOptionsArgs, ExtensionOptionsFor, FeatureDefinition, FeatureRegistrar, FieldAccess, FieldCondition, FieldDefinition, FieldFormatRegistry, FieldIconKey, FieldRenderer, FileFieldDef, FilesFieldDef, Findability, FormatSpec, FormWidth, HandlerContext, HasManyRelation, HookDefinition, HookMap, ImageFieldDef, ImagesFieldDef, JobBackoff, JobBackoffStrategy, JobContext, JobDefinition, JobHandlerFn, JobTrigger, JobTriggerEvent, JsonbFieldDef, KumikoEntityTypeMap, KumikoEventTypeMap, KumikoExtensionOptionsMap, KumikoHandlerPayloadMap, KumikoHandlerResultMap, LifecycleHookType, ListColumnSpec, ListFacetSpec, ListPaginationMode, ListSortDir, ListSortSpec, LongTextFindability, ManyToManyRelation, MaxPerTenantOptions, MemberReader, MetricNavigate, MetricSpec, MspErrorMode, MspErrorPolicy, MultiSelectFieldDef, MultiStreamApplyFn, MultiStreamProjectionDefinition, NameOrRef, NavDefinition, NavIconKey, NotificationDataFn, NotificationDefinition, NotificationLocalizedTemplate, NotificationRecipientFn, NotificationRecordMapping, NotificationTemplateBody, NotificationTemplateFn, NotificationTemplateMeta, NotifyDeferred, NotifyDelivery, NotifyDeliveryStatus, NotifyDispatched, NotifyFactory, NotifyFn, NotifyJobDispatcher, NotifyOptions, NotifyPriority, NotifyResult, NumberFieldDef, OnDeleteStrategy, OpenToAllAccessRule, OpenToAllDeclaration, OpenToAllPersonalData, ParentRefDef, PersonalAnnotations, PersonalAnnotationsLongText, PersonalAnnotationsNoFind, PersonalSubject, PlatformComponent, PluralForms, PostDeleteHookFn, PostSaveHookFn, PreDeleteHookFn, PreparedWriteEvent, PreQueryHookFn, PreSaveHookFn, ProjectionDefinition, ProjectionDetailScreenDefinition, ProjectionListScreenDefinition, ProjectionTable, QualifiedEventName, QueryEvent, QueryHandlerDef, QueryHandlerFn, RateLimitPer, RecordHeaderSpec, RecordHeaderSubtitlePart, ReferenceDataDef, Registry, RelationDefinition, ResolvedPiiFlags, RetentionDef, RoleAccessPersonalData, RoleAccessRule, RowAction, RowActionNavigate, RowActionNavigateBase, RowActionWriteHandler, RowFieldExtractor, SaveContext, ScreenDefinition, ScreenFilter, ScreenFilterOp, ScreenNavSugar, ScreenSlots, SecretKeyDefinition, SecretKeyHandle, SecretMintConfirmStep, SecretMintScreenDefinition, SecretNamespaceDefinition, SecretNamespaceHandle, SecretNamespaceOptions, SecretReveal, SecretRevealField, SecretsEditScreenDefinition, SecretsEditSection, SelectFieldDef, SessionUser, SessionUserOrigin, StackBootRequirement, StreamHandlerDef, StreamHandlerFn, Subscribe, TargetRef, TemplateListVariableDef, TemplateScalarVariableDef, TemplateVariableDef, TemplateVariables, TenantId, TenantWriteTarget, TextFieldDef, ToolbarAction, TranslationEntry, TranslationKeys, TranslationsDef, TranslationValue, TreeAction, TreeActionDef, TreeActionsHandle, TreeChildrenSubscribe, TreeNode, TreeNodeState, UnitKey, UnsafeAppendEventFn, ValidationError, ValidationHookFn, WorkspaceDefinition, WriteEvent, WriteHandlerDef, WriteHandlerFn, WriteResult, } from "./types/index.ts";
87
+ export { DEFAULT_CURRENCIES, DEFAULT_LOCALES, DELIVERY_FAILURE_CODES, DELIVERY_SKIP_REASONS, HookPhases, HTTP_ERROR_CODE_PATTERN, isAgentVisibleScreen, isDeliveryErrorCode, isOpenToAllGranted, resolveAgentExposure, } from "./types/index.ts";
88
+ export type { AwaitedEventType, PipelineBuildCtx, PipelineCtx, PipelineDef, StepBuilder, StepDef, StepFailureStrategy, StepInstance, StepKind, StepNamespace, StepResolver, } from "./types/step.ts";
89
+ export { runValidation } from "./validation.ts";
@@ -28,6 +28,7 @@ export { createEntityExecutor, defineEntityCreateHandler, defineEntityDeleteHand
28
28
  // unverändert lauffähig.
29
29
  defineEntityQueryHandler, defineEntityRestoreHandler, defineEntityUpdateHandler, defineEntityWriteHandler, defineProjectionQueryHandler, entityListSchema, MAX_LIST_LIMIT, } from "./entity-handlers.js";
30
30
  export { declareEscapeHatch } from "./escape-hatch-declaration.js";
31
+ export { createEventDef } from "./event-def.js";
31
32
  export { emitEvent, typedPayload } from "./event-helpers.js";
32
33
  export { EXT_ASSIGNABLE_ROLE, EXT_DERIVATIVE_OVERLAY_RESOLVER, EXT_DERIVATIVE_PUBLIC_PREDICATE, EXT_DERIVATIVE_RENDERER, EXT_EXTERNAL_RESOURCE, EXT_FILE_PROVIDER, EXT_INFRA_RESOURCE, EXT_PRINCIPAL_STATUS, EXT_SEARCH_ADAPTER, EXT_STORAGE_PROVIDER, EXT_TENANT_DATA, EXT_TENANT_LIFECYCLE_STATUS, EXT_USER_DATA, EXT_USER_DATA_ORDER, FILE_PROVIDER_CONFIG_KEY, FILE_STORAGE_PROVIDER_BOOT_SENTINEL, FILE_STORAGE_PROVIDER_ENV, TENANT_MEMBERSHIPS_QUERY, } from "./extension-names.js";
33
34
  export { EXTENSION_SELECTOR_HINT_KEY, extensionSelectorTargets, SELECTED_EXTENSIONS_QUERY, selectablePluginIds, } from "./extension-selector-plugins.js";
@@ -1,2 +1,2 @@
1
- import type { EntityDefinition } from "./types/index.js";
1
+ import type { EntityDefinition } from "./types/index.ts";
2
2
  export declare function instructionFieldNames(entity: EntityDefinition): readonly string[];
@@ -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;