@afora/core 0.0.8 → 0.0.11

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 (226) hide show
  1. package/README.md +149 -23
  2. package/dist/adapters.d.ts +25 -0
  3. package/dist/adapters.js +32 -0
  4. package/dist/core/application/application.d.ts +30 -0
  5. package/dist/core/application/application.js +1291 -0
  6. package/dist/core/application/exceptions.d.ts +17 -0
  7. package/dist/core/application/exceptions.js +85 -0
  8. package/dist/core/application/migrate.d.ts +19 -0
  9. package/dist/core/application/migrate.js +67 -0
  10. package/dist/core/application/providers.js +108 -0
  11. package/dist/core/application/registry.js +23 -0
  12. package/dist/core/application/schema.d.ts +30 -0
  13. package/dist/core/application/schema.js +398 -0
  14. package/dist/core/application/start.js +162 -0
  15. package/dist/core/application/types/application.interface.d.ts +60 -3
  16. package/dist/core/auth/jwt.d.ts +30 -0
  17. package/dist/core/auth/jwt.js +200 -0
  18. package/dist/core/auth/types/jwt.interface.d.ts +74 -0
  19. package/dist/core/blueprint/blueprint-plugin.js +7 -0
  20. package/dist/core/blueprint/blueprint.js +146 -0
  21. package/dist/core/blueprint/callable.js +13 -0
  22. package/dist/core/blueprint/exceptions.d.ts +5 -0
  23. package/dist/core/blueprint/exceptions.js +20 -0
  24. package/dist/core/blueprint/is-blueprint.js +4 -0
  25. package/dist/core/blueprint/list.js +19 -0
  26. package/dist/core/blueprint/optional.d.ts +3 -1
  27. package/dist/core/blueprint/optional.js +69 -0
  28. package/dist/core/blueprint/record-field.js +14 -0
  29. package/dist/core/blueprint/slice.js +127 -0
  30. package/dist/core/blueprint/types/blueprint.interface.d.ts +95 -5
  31. package/dist/core/blueprint/variant.d.ts +32 -0
  32. package/dist/core/blueprint/variant.js +72 -0
  33. package/dist/core/command/command.js +428 -0
  34. package/dist/core/command/exceptions.js +30 -0
  35. package/dist/core/command/types/command.interface.d.ts +10 -1
  36. package/dist/core/entity/abstract-entity.d.ts +24 -0
  37. package/dist/core/entity/abstract-entity.js +181 -0
  38. package/dist/core/entity/entity.d.ts +1 -1
  39. package/dist/core/entity/entity.js +209 -0
  40. package/dist/core/entity/event.d.ts +39 -0
  41. package/dist/core/entity/event.js +80 -0
  42. package/dist/core/entity/exceptions.d.ts +9 -0
  43. package/dist/core/entity/exceptions.js +27 -0
  44. package/dist/core/entity/trust.d.ts +24 -0
  45. package/dist/core/entity/trust.js +7 -0
  46. package/dist/core/entity/types/entity.interface.d.ts +30 -0
  47. package/dist/core/entity/version.js +13 -0
  48. package/dist/core/environment/environment.d.ts +26 -3
  49. package/dist/core/environment/environment.js +71 -0
  50. package/dist/core/event-policy/event-policy.js +76 -0
  51. package/dist/core/event-policy/exceptions.js +12 -0
  52. package/dist/core/event-policy/publish.js +98 -0
  53. package/dist/core/event-policy/publishers.js +18 -0
  54. package/dist/core/event-policy/types/event-policy.interface.d.ts +8 -2
  55. package/dist/core/exception/enums/exception-layers.js +15 -0
  56. package/dist/core/exception/exception.d.ts +15 -0
  57. package/dist/core/exception/exception.js +128 -0
  58. package/dist/core/exception/exported.js +49 -0
  59. package/dist/core/exception/guard.d.ts +20 -1
  60. package/dist/core/exception/guard.js +16 -0
  61. package/dist/core/exception/types/exception.interface.d.ts +13 -0
  62. package/dist/core/json.js +19 -0
  63. package/dist/core/logger/exceptions.js +7 -0
  64. package/dist/core/logger/logger.d.ts +14 -1
  65. package/dist/core/logger/logger.js +178 -0
  66. package/dist/core/openapi/exceptions.js +7 -0
  67. package/dist/core/openapi/openapi.js +132 -0
  68. package/dist/core/openapi/types/openapi.interface.d.ts +7 -1
  69. package/dist/core/output/access.d.ts +16 -0
  70. package/dist/core/output/access.js +66 -0
  71. package/dist/core/output/coerce.js +38 -0
  72. package/dist/core/output/exceptions.d.ts +16 -0
  73. package/dist/core/output/exceptions.js +22 -0
  74. package/dist/core/output/http.d.ts +36 -0
  75. package/dist/core/output/http.js +351 -0
  76. package/dist/core/output/openapi-sink.d.ts +33 -4
  77. package/dist/core/output/openapi-sink.js +571 -0
  78. package/dist/core/output/output.js +192 -0
  79. package/dist/core/output/problem.js +30 -0
  80. package/dist/core/output/select.js +28 -0
  81. package/dist/core/output/stage.d.ts +7 -2
  82. package/dist/core/output/stage.js +111 -0
  83. package/dist/core/output/status.d.ts +1 -1
  84. package/dist/core/output/status.js +52 -0
  85. package/dist/core/output/types/http.interface.d.ts +134 -0
  86. package/dist/core/output/types/output.interface.d.ts +49 -5
  87. package/dist/core/parse/issue.d.ts +28 -3
  88. package/dist/core/parse/issue.js +31 -0
  89. package/dist/core/parse/parse.d.ts +16 -0
  90. package/dist/core/parse/parse.js +323 -0
  91. package/dist/core/parse/strip.js +48 -0
  92. package/dist/core/property/abstract-property.d.ts +9 -0
  93. package/dist/core/property/abstract-property.js +37 -0
  94. package/dist/core/property/define-property.d.ts +34 -6
  95. package/dist/core/property/define-property.js +209 -0
  96. package/dist/core/property/enums/property-states.js +8 -0
  97. package/dist/core/property/exceptions.js +12 -0
  98. package/dist/core/property/input.js +10 -0
  99. package/dist/core/property/is-property.js +3 -0
  100. package/dist/core/property/lineage.js +8 -0
  101. package/dist/core/property/property.d.ts +27 -0
  102. package/dist/core/property/property.js +46 -0
  103. package/dist/core/property/refine.js +103 -0
  104. package/dist/core/property/types/property-options.interface.d.ts +10 -0
  105. package/dist/core/property/types/property-type.interface.d.ts +4 -0
  106. package/dist/core/record/abstract-record.d.ts +8 -0
  107. package/dist/core/record/abstract-record.js +307 -0
  108. package/dist/core/record/exceptions.js +49 -0
  109. package/dist/core/record/marks.js +7 -0
  110. package/dist/core/record/mask.js +60 -0
  111. package/dist/core/record/name.js +23 -0
  112. package/dist/core/record/plugin-catalog.js +115 -0
  113. package/dist/core/record/plugin.js +198 -0
  114. package/dist/core/record/record.js +117 -0
  115. package/dist/core/record/types/record.interface.d.ts +17 -1
  116. package/dist/core/repository/cursor.js +83 -0
  117. package/dist/core/repository/exceptions.d.ts +13 -0
  118. package/dist/core/repository/exceptions.js +72 -0
  119. package/dist/core/repository/in-memory.d.ts +2 -2
  120. package/dist/core/repository/in-memory.js +196 -0
  121. package/dist/core/repository/migrate.d.ts +20 -0
  122. package/dist/core/repository/migrate.js +254 -0
  123. package/dist/core/repository/plan.js +27 -0
  124. package/dist/core/repository/provider.js +29 -0
  125. package/dist/core/repository/query.js +153 -0
  126. package/dist/core/repository/references.js +196 -0
  127. package/dist/core/repository/repository.d.ts +22 -2
  128. package/dist/core/repository/repository.js +720 -0
  129. package/dist/core/repository/state.d.ts +2 -0
  130. package/dist/core/repository/state.js +138 -0
  131. package/dist/core/repository/types/query.interface.d.ts +13 -0
  132. package/dist/core/repository/types/repository.interface.d.ts +50 -5
  133. package/dist/core/repository/types/schema.interface.d.ts +132 -0
  134. package/dist/core/repository/upcast.d.ts +64 -0
  135. package/dist/core/repository/upcast.js +179 -0
  136. package/dist/core/schema/schema.d.ts +37 -0
  137. package/dist/core/schema/schema.js +542 -0
  138. package/dist/core/standard/standard-schema.js +1 -0
  139. package/dist/core/standard/standard.js +23 -0
  140. package/dist/core/symbols/demo.d.ts +4 -0
  141. package/dist/core/symbols/demo.js +1 -0
  142. package/dist/core/symbols/kind.d.ts +1 -1
  143. package/dist/core/symbols/kind.js +1 -0
  144. package/dist/core/symbols/meta.js +1 -0
  145. package/dist/core/symbols/state.d.ts +5 -0
  146. package/dist/core/symbols/state.js +1 -0
  147. package/dist/core/tracing/exceptions.d.ts +4 -0
  148. package/dist/core/tracing/exceptions.js +7 -0
  149. package/dist/core/tracing/tracing.d.ts +72 -0
  150. package/dist/core/tracing/tracing.js +101 -0
  151. package/dist/core/use-case/access.d.ts +12 -0
  152. package/dist/core/use-case/access.js +56 -0
  153. package/dist/core/use-case/decorators.d.ts +40 -0
  154. package/dist/core/use-case/decorators.js +65 -0
  155. package/dist/core/use-case/exceptions.d.ts +5 -1
  156. package/dist/core/use-case/exceptions.js +48 -0
  157. package/dist/core/use-case/plugin-catalog.js +68 -0
  158. package/dist/core/use-case/plugin.js +133 -0
  159. package/dist/core/use-case/route.d.ts +18 -0
  160. package/dist/core/use-case/route.js +200 -0
  161. package/dist/core/use-case/scope.d.ts +5 -0
  162. package/dist/core/use-case/scope.js +4 -0
  163. package/dist/core/use-case/steps/describe.d.ts +5 -1
  164. package/dist/core/use-case/steps/describe.js +24 -0
  165. package/dist/core/use-case/steps/references.js +105 -0
  166. package/dist/core/use-case/steps/run.js +139 -0
  167. package/dist/core/use-case/steps/types/check.interface.d.ts +233 -0
  168. package/dist/core/use-case/steps/types/steps.interface.d.ts +8 -1
  169. package/dist/core/use-case/steps/validate.js +368 -0
  170. package/dist/core/use-case/target.js +100 -0
  171. package/dist/core/use-case/types/access.interface.d.ts +39 -0
  172. package/dist/core/use-case/types/route.interface.d.ts +86 -0
  173. package/dist/core/use-case/use-case.d.ts +127 -2
  174. package/dist/core/use-case/use-case.js +493 -0
  175. package/dist/experimental.d.ts +18 -1
  176. package/dist/experimental.js +18 -123
  177. package/dist/index.d.ts +49 -51
  178. package/dist/index.js +213 -443
  179. package/dist/std/blueprint-plugin.js +42 -0
  180. package/dist/std/blueprint.d.ts +21 -0
  181. package/dist/std/blueprint.js +3 -0
  182. package/dist/std/command.js +3 -0
  183. package/dist/std/entity.d.ts +20 -1
  184. package/dist/std/entity.js +30 -0
  185. package/dist/std/event-policies.js +3 -0
  186. package/dist/std/properties/contact.d.ts +3 -0
  187. package/dist/std/properties/contact.js +29 -0
  188. package/dist/std/properties/enum.js +26 -0
  189. package/dist/std/properties/exceptions.js +14 -0
  190. package/dist/std/properties/headless.js +45 -0
  191. package/dist/std/properties/identity.js +28 -0
  192. package/dist/std/properties/json.js +161 -0
  193. package/dist/std/properties/password.d.ts +0 -2
  194. package/dist/std/properties/password.js +79 -0
  195. package/dist/std/properties/primitives.d.ts +4 -0
  196. package/dist/std/properties/primitives.js +28 -0
  197. package/dist/std/properties/time.js +55 -0
  198. package/dist/std/record-plugins.d.ts +2 -2
  199. package/dist/std/record-plugins.js +73 -0
  200. package/dist/std/record.d.ts +20 -1
  201. package/dist/std/record.js +3 -0
  202. package/dist/std/resource.d.ts +31 -0
  203. package/dist/std/resource.js +39 -0
  204. package/dist/std/runtime.d.ts +6 -0
  205. package/dist/std/runtime.js +193 -0
  206. package/dist/std/stages.js +4 -0
  207. package/dist/std/use-cases/auth.d.ts +5 -1
  208. package/dist/std/use-cases/auth.js +193 -0
  209. package/dist/std/use-cases/crud.js +261 -0
  210. package/dist/std/use-cases/index.d.ts +1 -1
  211. package/dist/std/use-cases/index.js +12 -0
  212. package/dist/std/use-cases/lifecycle.js +97 -0
  213. package/dist/std/use-cases/shared.d.ts +2 -2
  214. package/dist/std/use-cases/shared.js +232 -0
  215. package/dist/std/use-cases/types.d.ts +102 -2
  216. package/dist/std/use-cases/types.js +0 -0
  217. package/dist/testing/http-provider-contract.d.ts +32 -0
  218. package/dist/testing/http-provider-contract.js +344 -0
  219. package/dist/testing/index.d.ts +2 -0
  220. package/dist/testing/index.js +3 -944
  221. package/dist/testing/memory-publisher.js +12 -0
  222. package/dist/testing/provider-contract.d.ts +26 -1
  223. package/dist/testing/provider-contract.js +1071 -0
  224. package/package.json +23 -3
  225. package/dist/index-qxfkyd6k.js +0 -1721
  226. package/dist/index-t5qwtyj5.js +0 -8194
package/dist/index.d.ts CHANGED
@@ -1,37 +1,42 @@
1
- export { applicationOf, isApplication } from "./core/application/application.js";
2
- export { ApplicationAlreadyStarted, ApplicationConflict, ApplicationNotStarted, DuplicateApplicationDeclaration, InvalidApplicationDeclaration, InvalidApplicationEnvironment, ProviderNotBound, UnregisteredApplicationReference, UnregisteredRepositoryDependency, UnregisteredUseCaseDependency, } from "./core/application/exceptions.js";
3
- export { isProviderSlot, isProviderStorage, type ProviderSlot, type ProviderStorage, providersOf, } from "./core/application/providers.js";
1
+ /**
2
+ * `@afora/core`: the stable API, what application code imports. Plumbing for
3
+ * sinks, providers and code generators is in `@afora/core/adapters`, features
4
+ * that may still change in `@afora/core/experimental`. A new export goes in
5
+ * the tier `docs/api-tiers.md` describes, and in that table.
6
+ */
7
+ export { applicationOf } from "./core/application/application.js";
8
+ export { ApplicationAlreadyStarted, ApplicationConflict, ApplicationNotStarted, DuplicateApplicationDeclaration, InvalidApplicationDeclaration, InvalidApplicationEnvironment, InvalidSchemaMigration, ProviderNotBound, SchemaLockMismatch, UnregisteredApplicationReference, UnregisteredRepositoryDependency, UnregisteredUseCaseDependency, } from "./core/application/exceptions.js";
9
+ export { type ProviderSlot, type ProviderStorage, providersOf, } from "./core/application/providers.js";
4
10
  export { type Register, type RegisteredApplication, resetApplication, useApplication, } from "./core/application/registry.js";
5
- export { isLogFactory, isProviderFactory, type LogFactory, logFrom, type ProviderFactory, providerFrom, } from "./core/application/start.js";
6
- export type { AnyApplication, ApplicationCollections, ApplicationContext, ApplicationDescription, ApplicationRunArgs, ApplicationRunOptions, ApplicationSettings, ApplicationStartOptions, CommandDescription, ExceptionDescription, FieldDescription, FieldsDescription, IApplication, LogDescription, OutputDescription, PropertyDescription, PropertyLineageDescription, PropertyReference, ProviderReference, RecordDescription, UseCaseDependencyDescription, UseCaseDescription, } from "./core/application/types/application.interface.js";
11
+ export { isProviderFactory, type LogFactory, logFrom, type ProviderFactory, providerFrom, } from "./core/application/start.js";
12
+ export type { AnyApplication, ApplicationCollections, ApplicationContext, ApplicationRunArgs, ApplicationRunOptions, ApplicationSettings, ApplicationStartOptions, IApplication, } from "./core/application/types/application.interface.js";
7
13
  export { blueprintBuilderOf } from "./core/blueprint/blueprint.js";
8
14
  export { blueprintPluginOf } from "./core/blueprint/blueprint-plugin.js";
9
- export { ReservedBlueprintKey, UndeclaredBlueprintProperty, } from "./core/blueprint/exceptions.js";
10
- export { isBlueprint } from "./core/blueprint/is-blueprint.js";
11
- export { isBlueprintList, listOf } from "./core/blueprint/list.js";
15
+ export { InvalidBlueprintVariant, ReservedBlueprintKey, UndeclaredBlueprintProperty, } from "./core/blueprint/exceptions.js";
16
+ export { listOf } from "./core/blueprint/list.js";
12
17
  export { optionalOf } from "./core/blueprint/optional.js";
13
- export { isOptionalRecord, isRecordClass, recordFieldOf, } from "./core/blueprint/record-field.js";
14
- export type { AnyBlueprint, AnyBlueprintList, AnyOptionalRecord, AnyRecordClass, BlueprintBuilder, BlueprintContext, BlueprintData, BlueprintDefinition, BlueprintField, BlueprintHelpers, BlueprintInput, BlueprintListOptions, BlueprintPluginContext, BlueprintSchema, BlueprintSource, BlueprintValue, IBlueprint, IBlueprintCollection, IBlueprintList, OptionalBlueprint, OptionalBlueprintList, OptionalRecord, } from "./core/blueprint/types/blueprint.interface.js";
18
+ export type { AnyBlueprint, AnyBlueprintList, AnyBlueprintVariant, AnyOptionalRecord, AnyRecordClass, BlueprintBuilder, BlueprintContext, BlueprintData, BlueprintDefinition, BlueprintField, BlueprintHelpers, BlueprintInput, BlueprintListOptions, BlueprintPluginContext, BlueprintSchema, BlueprintSource, BlueprintValue, BlueprintVariants, IBlueprint, IBlueprintCollection, IBlueprintList, IBlueprintVariant, OptionalBlueprint, OptionalBlueprintList, OptionalBlueprintVariant, OptionalRecord, } from "./core/blueprint/types/blueprint.interface.js";
15
19
  export type { BlueprintFactory, IBlueprintFactories, IBlueprintPlugin, } from "./core/blueprint/types/blueprint-plugin.interface.js";
20
+ export { variantOf } from "./core/blueprint/variant.js";
16
21
  export { commandBuilderOf, isCommand } from "./core/command/command.js";
17
22
  export { CommandEventFailed, InvalidCommandContext, InvalidCommandDeclaration, InvalidCommandEnvironment, UnknownCommandOperation, } from "./core/command/exceptions.js";
18
23
  export type { AnyCommand, CommandBuilder, CommandBuilderSettings, CommandEnvOption, CommandEventErrorHandler, CommandEventHandler, CommandEventInfo, CommandEvents, CommandExecution, CommandInput, CommandOf, CommandOperation, CommandOptions, CommandResponse, CommandSettings, CommandUseCases, CommandUseCasesOption, } from "./core/command/types/command.interface.js";
19
- export { AbstractEntity, ENTITY_IDENTITY_KEYS, EntitySettings, EntityUniqueKeys, RESERVED_ENTITY_KEYS, } from "./core/entity/abstract-entity.js";
24
+ export { EntitySettings, EntityUniqueKeys, } from "./core/entity/abstract-entity.js";
20
25
  export { entityBuilderOf, isEntity, isEntityClass } from "./core/entity/entity.js";
21
26
  export type { AnyEntityClass, EntityEvent, EntityEventReference, EntityEvents, EventDefinition, EventHandlerContext, } from "./core/entity/event.js";
22
27
  export { eventOf } from "./core/entity/event.js";
23
- export { DeletedEntity, ImmutableEntityKey, InvalidEntityExpiry, ReservedEntityKey, } from "./core/entity/exceptions.js";
24
- export type { DeclaredEntityInstance, EntityBuilder, EntityBuilderSettings, EntityConstructor, EntityDuration, EntityExpires, EntityIdentityKey, EntityInput, EntityOptions, EntityProperties, EntityStorageOptions, EntityStorageSettings, EntityUniqueKey, ExpiresAtField, ExpiringIdentity, IEntityIdentity, IEntityVersion, VersionedIdentity, } from "./core/entity/types/entity.interface.js";
28
+ export { DeletedEntity, ImmutableEntityKey, InvalidEntityExpiry, InvalidEntitySchemaVersion, ReservedEntityKey, } from "./core/entity/exceptions.js";
29
+ export type { DeclaredEntityInstance, EntityBuilder, EntityBuilderSettings, EntityConstructor, EntityDuration, EntityExpires, EntityIdentityKey, EntityInput, EntityOptions, EntityProperties, EntityStorageOptions, EntityUniqueKey, EntityUpgrade, EntityUpgrades, ExpiresAtField, ExpiringIdentity, IEntityIdentity, IEntityVersion, VersionedIdentity, } from "./core/entity/types/entity.interface.js";
25
30
  export { EntityVersion } from "./core/entity/version.js";
26
31
  export type { AnyEnvironment, EnvironmentDependencies, EnvironmentOptions, EnvironmentSource, EnvironmentValue, IEnvironment, } from "./core/environment/environment.js";
27
- export { environmentOf, InvalidEnvironment, isEnvironment, } from "./core/environment/environment.js";
28
- export { eventPolicyCatalogOf, eventPolicyDescriptionOf, eventPolicyOf, } from "./core/event-policy/event-policy.js";
32
+ export { environmentOf, InvalidEnvironment, } from "./core/environment/environment.js";
33
+ export { eventPolicyOf } from "./core/event-policy/event-policy.js";
29
34
  export { InvalidEventPolicy, PublisherNotBound, } from "./core/event-policy/exceptions.js";
30
35
  export { publishEvents } from "./core/event-policy/publish.js";
31
- export type { EventPolicyDescription, EventPolicyFactory, EventPolicyOptions, EventPolicySettings, IEventPolicyCatalog, IEventPublisher, PublishEventsOptions, PublishedEvent, } from "./core/event-policy/types/event-policy.interface.js";
36
+ export type { EventPolicyFactory, EventPolicyOptions, EventPolicySettings, IEventPolicyCatalog, IEventPublisher, PublishEventsOptions, PublishedEvent, } from "./core/event-policy/types/event-policy.interface.js";
32
37
  export { ExceptionLayers } from "./core/exception/enums/exception-layers.js";
33
38
  export type { DeclaredExceptionClass } from "./core/exception/exception.js";
34
- export { Exception, exceptionOf, UNEXPECTED_ERROR, } from "./core/exception/exception.js";
39
+ export { Exception, exceptionOf } from "./core/exception/exception.js";
35
40
  export { guard } from "./core/exception/guard.js";
36
41
  export type { ExceptionArgs, ExceptionClass, ExceptionDeclaration, ExceptionFrame, ExceptionInit, ExceptionMessage, ExceptionPropagation, ExceptionScope, } from "./core/exception/types/exception.interface.js";
37
42
  export { InvalidLogDeclaration } from "./core/logger/exceptions.js";
@@ -40,71 +45,63 @@ export { consoleLogProvider, jsonLogProvider, Logger, LogLevels, logProviderOf,
40
45
  export { InvalidOpenAPIModel } from "./core/openapi/exceptions.js";
41
46
  export { toOpenAPI } from "./core/openapi/openapi.js";
42
47
  export type { OpenAPIComponents, OpenAPIOptions, OpenAPISchema, } from "./core/openapi/types/openapi.interface.js";
43
- export { coerceTextValues } from "./core/output/coerce.js";
44
- export { DuplicateOperation, InvalidOutputStage, } from "./core/output/exceptions.js";
45
- export type { OpenAPIDocument, OpenAPIMethod, OpenAPISecurityScheme, OpenAPISinkOptions, OperationRoute, RouteOptions, RouteStatus, SecurityRequirement, } from "./core/output/openapi-sink.js";
46
- export { openapi, operationRoutes, ROUTE_OPTION_KEYS, requestIdHeaderOf, routeOptionsIssue, } from "./core/output/openapi-sink.js";
48
+ export { DuplicateOperation, Forbidden, InvalidOutputStage, Unauthenticated, } from "./core/output/exceptions.js";
49
+ export type { OpenAPIDocument, OpenAPIMethod, OpenAPISecurityScheme, OpenAPISinkOptions, RouteOptions, RouteStatus, SecurityRequirement, } from "./core/output/openapi-sink.js";
50
+ export { openapi } from "./core/output/openapi-sink.js";
47
51
  export { isOutput, operationOf, outputOf } from "./core/output/output.js";
48
- export { outputValueOf, PROBLEM_MEDIA_TYPE, problemOf, } from "./core/output/problem.js";
49
52
  export type { SelectOptions } from "./core/output/select.js";
50
53
  export { select } from "./core/output/select.js";
51
- export { sinkOf, stageCatalogOf, stageDescriptionOf, stageKindOf, transformOf, } from "./core/output/stage.js";
52
- export { statusOf } from "./core/output/status.js";
53
- export type { AnyOutput, IStageCatalog, OperationCallOptions, OperationDescriptor, OperationPatch, OutputApplication, OutputOf, OutputSettings, OutputSource, OutputStatuses, PipeResult, Problem, ProblemOptions, SinkFactory, SinkSettings, SinkStage, Stage, StageContext, StageDescription, StageFactory, StageOptions, TransformFactory, TransformSettings, TransformStage, } from "./core/output/types/output.interface.js";
54
+ export { transformOf } from "./core/output/stage.js";
55
+ export type { AnyOutput, IStageCatalog, OperationCallOptions, OperationPatch, OutputApplication, OutputOf, OutputSettings, OutputSource, OutputStatuses, PipeResult, Stage, StageContext, StageFactory, StageOptions, TransformFactory, TransformSettings, TransformStage, } from "./core/output/types/output.interface.js";
54
56
  export { stripUndeclared } from "./core/parse/strip.js";
55
57
  export type { Issue, IssueCode, ParseResult, } from "./core/parse/types/parse.interface.js";
56
- export { AbstractProperty } from "./core/property/abstract-property.js";
57
- export { AbstractDefineProperty } from "./core/property/define-property.js";
58
- export { PropertyStates } from "./core/property/enums/property-states.js";
59
58
  export { InvalidPropertyValue, PropertyRequired, } from "./core/property/exceptions.js";
60
59
  export type { IPropertyInput } from "./core/property/input.js";
61
60
  export { PropertyInput, propertyInputOf } from "./core/property/input.js";
62
- export { isProperty } from "./core/property/is-property.js";
63
- export type { PropertyLineage } from "./core/property/lineage.js";
64
- export { propertyLineageOf } from "./core/property/lineage.js";
65
61
  export type { DeclaredProperty, PropertyClass } from "./core/property/property.js";
66
62
  export { propertyOf } from "./core/property/property.js";
67
- export type { AbstractPropertyConstructor } from "./core/property/types/abstract-property-constructor.type.js";
68
63
  export type { IDefineProperty } from "./core/property/types/define-property.interface.js";
69
64
  export type { OptionalProperty } from "./core/property/types/optional-property.type.js";
70
65
  export type { IProperty } from "./core/property/types/property.interface.js";
71
- export type { AnyPropertyConstructor, IPropertyCollection, } from "./core/property/types/property-collection.type.js";
66
+ export type { AnyPropertyConstructor } from "./core/property/types/property-collection.type.js";
72
67
  export type { PropertyValue } from "./core/property/types/property-constructor.type.js";
73
68
  export type { CallableProperty, NumberConstraints, PropertyMetadata, PropertyOptions, StringConstraints, } from "./core/property/types/property-options.interface.js";
74
69
  export type { IPropertyType, SensitiveMark, UniqueMark, } from "./core/property/types/property-type.interface.js";
75
- export { AbstractRecord, RESERVED_RECORD_KEYS, } from "./core/record/abstract-record.js";
76
70
  export { IncompatibleRecordPlugin, InvalidRecordDeclaration, InvalidRecordPlugin, InvalidRecordValue, RecordPluginConflict, ReservedRecordKey, UndeclaredRecordProperty, UnknownRecordPlugin, } from "./core/record/exceptions.js";
77
71
  export { MASK } from "./core/record/mask.js";
78
72
  export { recordNameOf } from "./core/record/name.js";
79
- export { hasPlugin, isRecordPlugin, pluginsOf, recordPluginOf, } from "./core/record/plugin.js";
73
+ export { hasPlugin, pluginsOf, recordPluginOf } from "./core/record/plugin.js";
80
74
  export { recordPluginCatalogOf } from "./core/record/plugin-catalog.js";
81
75
  export type { RecordBuilder } from "./core/record/record.js";
82
76
  export { recordBuilderOf } from "./core/record/record.js";
83
77
  export type { AnyRecordPlugin, IRecordPlugin, IRecordPluginCatalog, PluginUniqueKey, RecordPluginDescriptor, RecordPluginOptions, RecordPluginReference, RecordPluginRequirement, RecordPluginsOption, } from "./core/record/types/plugin.interface.js";
84
78
  export type { DeclaredRecordInstance, IRecord, MarkedUniqueKey, Masked, RecordChange, RecordChanges, RecordConstructor, RecordEffect, RecordEffects, RecordJson, RecordKey, RecordOptions, RecordSettings, RecordValue, } from "./core/record/types/record.interface.js";
85
- export { InvalidRepositoryCursor, InvalidRepositoryData, InvalidRepositoryDeclaration, InvalidRepositoryEntity, InvalidRepositoryIncrement, InvalidRepositoryQuery, RepositoryConcurrencyConflict, RepositoryEntityNotFound, RepositoryUniqueViolation, RepositoryUsedOutsideApplication, } from "./core/repository/exceptions.js";
79
+ export { InvalidRepositoryCursor, InvalidRepositoryData, InvalidRepositoryDeclaration, InvalidRepositoryEntity, InvalidRepositoryIncrement, InvalidRepositoryQuery, InvalidStoredSchemaVersion, RepositoryConcurrencyConflict, RepositoryEntityNotFound, RepositoryUniqueViolation, RepositoryUsedOutsideApplication, } from "./core/repository/exceptions.js";
86
80
  export { type InMemoryProvider, inMemoryProvider, } from "./core/repository/in-memory.js";
87
- export { providerDescriptionOf, providerOf } from "./core/repository/provider.js";
81
+ export { providerOf } from "./core/repository/provider.js";
88
82
  export type { RepositorySettings } from "./core/repository/repository.js";
89
- export { AbstractRepository, isRepository, RepositoryOf, repositoryOf, } from "./core/repository/repository.js";
90
- export type { ProviderCapabilities, ProviderDescription, ProviderOption, ProviderOptions, ProviderQuery, ProviderSettings, RepositoryCursorPage, RepositoryCursorQuery, RepositoryExists, RepositoryExplain, RepositoryFindCursor, RepositoryFindMany, RepositoryFindPage, RepositoryForEachPage, RepositoryIndex, RepositoryOrder, RepositoryPage, RepositoryPlan, RepositoryQuery, RepositoryScans, RepositoryWalkOptions, RepositoryWalkPage, RepositoryWalkResult, RepositoryWhere, } from "./core/repository/types/query.interface.js";
91
- export type { AnyRepository, AnyRepositoryEntity, EntityIncrementKeyOf, EntityInstanceOf, EntityKeyOf, EntityNonUniqueKeyOf, EntityUniqueKeyOf, EntityValueOf, IRepositoryProvider, ProviderIncrementOptions, ProviderKeyset, ProviderUpdateOptions, QueryValueOf, RepositoryAction, RepositoryContext, RepositoryCount, RepositoryCreate, RepositoryCreateInput, RepositoryData, RepositoryDelete, RepositoryFindBy, RepositoryFindManyBy, RepositoryIncrement, RepositoryIncrementDeltas, RepositoryIncrementOptions, RepositoryRestore, RepositoryUpdate, } from "./core/repository/types/repository.interface.js";
92
- export type { SchemaClass } from "./core/schema/schema.js";
93
- export { schemaOf } from "./core/schema/schema.js";
83
+ export { RepositoryOf, repositoryOf } from "./core/repository/repository.js";
84
+ export type { ProviderOption, ProviderOptions, ProviderSettings, RepositoryCursorPage, RepositoryCursorQuery, RepositoryIndex, RepositoryOrder, RepositoryPage, RepositoryPlan, RepositoryQuery, RepositoryScans, RepositoryWalkOptions, RepositoryWalkPage, RepositoryWalkResult, RepositoryWhere, } from "./core/repository/types/query.interface.js";
85
+ export type { AnyRepository, AnyRepositoryEntity, EntityIncrementKeyOf, EntityInstanceOf, EntityKeyOf, EntityNonUniqueKeyOf, EntityUniqueKeyOf, EntityValueOf, QueryValueOf, RepositoryAction, RepositoryCreateInput, RepositoryFindBy, RepositoryFindManyBy, RepositoryIncrementDeltas, RepositoryIncrementOptions, } from "./core/repository/types/repository.interface.js";
86
+ export type { EntityMigrationReport, SchemaMigrationInvalidRow, SchemaMigrationOptions, SchemaMigrationReport, } from "./core/repository/types/schema.interface.js";
94
87
  export type { ISchema, ISchemaType, } from "./core/schema/types/schema.interface.js";
95
88
  export type { StandardSchemaV1 } from "./core/standard/standard-schema.js";
96
- export { Demo } from "./core/symbols/demo.js";
97
- export { Kind } from "./core/symbols/kind.js";
98
89
  export { Meta } from "./core/symbols/meta.js";
99
90
  export { State } from "./core/symbols/state.js";
91
+ export { InvalidTraceDeclaration } from "./core/tracing/exceptions.js";
92
+ export type { ITracer, ITraceSpan, MemorySpan, MemoryTracer, TraceAttributes, TraceStatus, } from "./core/tracing/tracing.js";
93
+ export { memoryTracer } from "./core/tracing/tracing.js";
94
+ export { Access, Route } from "./core/use-case/decorators.js";
100
95
  export { IncompatibleUseCasePlugin, InvalidUseCasePlugin, InvalidUseCaseStep, UnknownUseCasePlugin, UseCaseEntityConflict, UseCaseEntityNotFound, UseCaseInvalidCredentials, UseCaseUnavailable, } from "./core/use-case/exceptions.js";
101
- export { isUseCasePlugin, useCaseOriginOf, useCasePluginOf, } from "./core/use-case/plugin.js";
96
+ export { isUseCasePlugin, useCasePluginOf } from "./core/use-case/plugin.js";
102
97
  export { isUseCaseCatalog, useCaseCatalogOf, } from "./core/use-case/plugin-catalog.js";
98
+ export type { CheckedSteps, StepReferencesOf, StepReferenceType, StepsInitialScope, StepValueCheck, } from "./core/use-case/steps/types/check.interface.js";
103
99
  export type { StepArgs, StepEnsureKind, StepErrorDescription, StepFindTarget, StepReadAction, StepReference, StepRepositoryWith, StepValue, UseCaseStep, UseCaseStepDescription, } from "./core/use-case/steps/types/steps.interface.js";
104
- export { useCaseTargetOf } from "./core/use-case/target.js";
105
- export type { AnyUseCasePlugin, EntityOfRepository, IUseCaseCatalog, IUseCasePlugin, MissingRecordPlugin, MissingRepositoryAction, UseCaseCompilation, UseCaseContextOf, UseCaseFieldPlan, UseCaseMaker, UseCaseOriginInfo, UseCasePluginContext, UseCasePluginDescriptor, UseCasePluginRequirements, UseCasePluginSettings, UseCasePluginsByName, UseCaseTarget, UseCaseTargetInfo, } from "./core/use-case/types/plugin.interface.js";
106
- export type { AnyExceptionClass, AnyUseCaseClass, DependencyFunctions, DependencyOf, DependencyOverrides, StepsUseCaseConstructor, UseCaseCollection, UseCaseConstructor, UseCaseContext, UseCaseDependencies, UseCaseDependency, UseCaseInput, UseCaseOptions, UseCaseResponse, UseCaseSettings, UseCaseStepsSettings, } from "./core/use-case/use-case.js";
107
- export { AbstractUseCase, InvalidUseCaseDeclaration, InvalidUseCaseDependencies, isUseCase, isUseCaseClass, UseCaseAlreadyExecuted, useCaseOf, } from "./core/use-case/use-case.js";
100
+ export type { AccessDeclaration, Principal, } from "./core/use-case/types/access.interface.js";
101
+ export type { AnyUseCasePlugin, EntityOfRepository, IUseCaseCatalog, IUseCasePlugin, MissingRecordPlugin, MissingRepositoryAction, UseCaseCompilation, UseCaseFieldPlan, UseCaseMaker, UseCasePluginDescriptor, UseCasePluginRequirements, UseCasePluginSettings, UseCaseTarget, UseCaseTargetInfo, } from "./core/use-case/types/plugin.interface.js";
102
+ export type { RouteDeclaration, RouteSettings, } from "./core/use-case/types/route.interface.js";
103
+ export type { AnyExceptionClass, AnyUseCaseClass, DependencyFunctions, DependencyOf, DependencyOverrides, StepsUseCaseConstructor, UseCaseCollection, UseCaseConstructor, UseCaseContext, UseCaseDeclaration, UseCaseDependencies, UseCaseDependency, UseCaseInput, UseCaseOptions, UseCaseResponse, UseCaseSettings, UseCaseStepsSettings, } from "./core/use-case/use-case.js";
104
+ export { InvalidUseCaseDeclaration, InvalidUseCaseDependencies, isUseCase, isUseCaseClass, UseCaseAlreadyExecuted, useCaseOf, } from "./core/use-case/use-case.js";
108
105
  export { blueprintOf } from "./std/blueprint.js";
109
106
  export { Std } from "./std/blueprint-plugin.js";
110
107
  export { commandOf } from "./std/command.js";
@@ -118,13 +115,14 @@ export { SchemaProperty } from "./std/properties/headless.js";
118
115
  export { Id, Slug } from "./std/properties/identity.js";
119
116
  export type { JsonClass, JsonValue } from "./std/properties/json.js";
120
117
  export { checkJsonSchema, JsonProperty, jsonOf, jsonSchemaIssues, } from "./std/properties/json.js";
121
- export { isPasswordHash, PASSWORD_MAX_LENGTH, PASSWORD_MIN_LENGTH, PASSWORD_SPECIAL_CHARACTERS, Password, PlainPassword, passwordIssues, } from "./std/properties/password.js";
118
+ export { Password, PlainPassword } from "./std/properties/password.js";
122
119
  export { BooleanProperty, Integer, NumberProperty, StringProperty, Text, } from "./std/properties/primitives.js";
123
120
  export { CreatedAt, DateProperty, DateTime, DeletedAt, ExpiresAt, UpdatedAt, } from "./std/properties/time.js";
124
121
  export { recordOf } from "./std/record.js";
125
122
  export { Archivable, Authenticatable, Ownable, Publishable, StdRecordPlugins, Taggable, } from "./std/record-plugins.js";
123
+ export { resourceOf } from "./std/resource.js";
126
124
  export type { IdGenerator, PasswordHasher, RuntimeServices, } from "./std/runtime.js";
127
125
  export { configure, PasswordHasherRequired, resetRuntime, SyncVerifyUnsupported, } from "./std/runtime.js";
128
126
  export { StdStages } from "./std/stages.js";
129
127
  export { StdUseCases } from "./std/use-cases/index.js";
130
- export type { ArchiveMaker, CreateMaker, DeleteMaker, GetMaker, ListMaker, LoginMaker, PublishMaker, RegisterMaker, RestoreMaker, StdCreateOptions, StdEntityOptions, StdHookArgs, StdHookOptions, StdLifecycleOptions, StdListOptions, StdNoHookOptions, StdOwnerOption, StdUseCaseContext, StdUseCaseErrors, StdUseCaseOptions, StdUseCasePlugins, TagMaker, UpdateMaker, } from "./std/use-cases/types.js";
128
+ export type { ArchiveMaker, CreateMaker, DeleteMaker, GetMaker, ListMaker, LoginMaker, PublishMaker, RegisterMaker, ResourceAction, ResourceOptions, ResourceUseCases, RestoreMaker, StdCreateOptions, StdEntityOptions, StdHookArgs, StdHookOptions, StdLifecycleOptions, StdListOptions, StdNoHookOptions, StdOwnerOption, StdUseCaseContext, StdUseCaseErrors, StdUseCaseOptions, StdUseCasePlugins, TagMaker, UpdateMaker, } from "./std/use-cases/types.js";