bazis 0.96.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +146 -0
  3. package/cli/build.ts +147 -0
  4. package/cli/codegen.ts +40 -0
  5. package/cli/generateModule.ts +187 -0
  6. package/cli/generateProject.ts +183 -0
  7. package/cli/main.ts +125 -0
  8. package/cli/moduleRegistration.ts +127 -0
  9. package/cli/naming.ts +124 -0
  10. package/cli/parseCli.ts +151 -0
  11. package/cli/templates/module.ts +497 -0
  12. package/cli/templates/pack.ts +76 -0
  13. package/cli/templates/passport.ts +178 -0
  14. package/core/agent/AgentContextBuilder.ts +567 -0
  15. package/core/agent/AgentDataDefinition.ts +8 -0
  16. package/core/agent/AgentRegistry.ts +539 -0
  17. package/core/agent/AgentRuntime.ts +47 -0
  18. package/core/agent/AgentToolExecutor.ts +2130 -0
  19. package/core/agent/AgentToolHooks.ts +39 -0
  20. package/core/agent/ModelProvider.ts +21 -0
  21. package/core/agent/README.md +229 -0
  22. package/core/agent/Tool.contract.ts +20 -0
  23. package/core/agent/decorators/Agent.ts +11 -0
  24. package/core/agent/decorators/Prompt.ts +11 -0
  25. package/core/agent/decorators/Task.ts +29 -0
  26. package/core/agent/decorators/Tool.ts +12 -0
  27. package/core/agent/errors.ts +43 -0
  28. package/core/agent/generated/catalog.ts +26 -0
  29. package/core/agent/index.ts +170 -0
  30. package/core/agent/internal/AgentExecutionDriver.ts +1497 -0
  31. package/core/agent/internal/AgentExecutionState.ts +775 -0
  32. package/core/agent/internal/AgentJsonSchema.ts +150 -0
  33. package/core/agent/internal/AgentModelBinding.ts +57 -0
  34. package/core/agent/internal/Schema.contract.ts +36 -0
  35. package/core/agent/internal/ToolAudit.projector.ts +163 -0
  36. package/core/agent/internal/ToolContract.validator.ts +102 -0
  37. package/core/agent/metadata.ts +398 -0
  38. package/core/agent/moduleContributions-v1.ts +113 -0
  39. package/core/agent/semantic.ts +903 -0
  40. package/core/agent/session/codec.ts +33 -0
  41. package/core/agent/session/contracts.ts +96 -0
  42. package/core/agent/session/entities.ts +84 -0
  43. package/core/agent/session/protector.ts +92 -0
  44. package/core/app/index.ts +5 -0
  45. package/core/app/runApp.ts +293 -0
  46. package/core/app/ui/index.ts +29 -0
  47. package/core/app/ui/uiProfileResolver.ts +966 -0
  48. package/core/app/ui/uiSurfaceHosting.ts +38 -0
  49. package/core/app/ui/uiSurfaceHttp.ts +476 -0
  50. package/core/background/BackgroundService.ts +223 -0
  51. package/core/background/backgroundModule.ts +42 -0
  52. package/core/background/decorator.ts +43 -0
  53. package/core/background/delay.ts +27 -0
  54. package/core/background/index.ts +15 -0
  55. package/core/cache/COMPATIBILITY.md +13 -0
  56. package/core/cache/ICache.ts +71 -0
  57. package/core/cache/MemoryCache.ts +394 -0
  58. package/core/cache/README.md +83 -0
  59. package/core/cache/SPEC.md +1355 -0
  60. package/core/cache/cacheModule.ts +21 -0
  61. package/core/cache/decorators/Cacheable.ts +38 -0
  62. package/core/cache/decorators/CacheableRedis.ts +39 -0
  63. package/core/cache/decorators/OutputCache.ts +33 -0
  64. package/core/cache/decorators/OutputRedisCache.ts +33 -0
  65. package/core/cache/decorators/cacheableMetadata.ts +78 -0
  66. package/core/cache/decorators/cacheableRedisMetadata.ts +81 -0
  67. package/core/cache/decorators/outputCacheMetadata.ts +71 -0
  68. package/core/cache/decorators/outputRedisCacheMetadata.ts +77 -0
  69. package/core/cache/di/classProviderHook.ts +26 -0
  70. package/core/cache/distributed/CacheCodec.ts +5 -0
  71. package/core/cache/distributed/DistributedCache.ts +403 -0
  72. package/core/cache/distributed/DistributedCacheDriver.ts +83 -0
  73. package/core/cache/distributed/DistributedCacheStores.ts +28 -0
  74. package/core/cache/distributed/IDistributedCache.ts +40 -0
  75. package/core/cache/distributed/NamedCacheRegistry.ts +23 -0
  76. package/core/cache/distributed/codecs.ts +32 -0
  77. package/core/cache/distributed/index.ts +19 -0
  78. package/core/cache/errors/CacheError.ts +16 -0
  79. package/core/cache/http/CachedHttpPayload.ts +213 -0
  80. package/core/cache/http/applyClientCacheHeaders.ts +61 -0
  81. package/core/cache/http/buildOutputCacheKey.ts +154 -0
  82. package/core/cache/http/buildRedisOutputCacheKey.ts +16 -0
  83. package/core/cache/http/composeOutputCache.ts +130 -0
  84. package/core/cache/http/outputCacheMiddleware.ts +111 -0
  85. package/core/cache/http/outputCacheSecurityWarning.ts +58 -0
  86. package/core/cache/http/outputRedisCacheMiddleware.ts +118 -0
  87. package/core/cache/index.ts +97 -0
  88. package/core/cache/internal/AutomaticCacheKey.ts +106 -0
  89. package/core/cache/internal/CacheKeyGuard.ts +56 -0
  90. package/core/cache/internal/buildCacheProviders.ts +146 -0
  91. package/core/cache/internal/normalizeCacheKey.ts +9 -0
  92. package/core/cache/internal/resolveCachePolicy.ts +32 -0
  93. package/core/cache/internal/resolveCacheableRedisPolicy.ts +17 -0
  94. package/core/cache/internal/resolveOutputRedisCachePolicy.ts +17 -0
  95. package/core/cache/providers/cachedProviders.ts +68 -0
  96. package/core/cache/services/cacheProxy.ts +243 -0
  97. package/core/cache/tokens/CACHE_POLICIES.ts +5 -0
  98. package/core/cache/tokens/DISTRIBUTED_CACHE.ts +30 -0
  99. package/core/cache/types/CacheEntry.ts +7 -0
  100. package/core/cache/types/CacheOptions.ts +60 -0
  101. package/core/cache/types/CachePolicy.ts +74 -0
  102. package/core/cache/types/CacheableRedisOptions.ts +23 -0
  103. package/core/cache/types/OutputRedisCacheOptions.ts +25 -0
  104. package/core/di/README.md +104 -0
  105. package/core/di/ServiceCollection.ts +185 -0
  106. package/core/di/ServiceProvider.ts +689 -0
  107. package/core/di/ServiceScope.ts +61 -0
  108. package/core/di/container.ts +38 -0
  109. package/core/di/errors/AmbiguousNamedDependencyError.ts +10 -0
  110. package/core/di/errors/AsyncResolutionRequiredError.ts +12 -0
  111. package/core/di/errors/CircularDependencyError.ts +10 -0
  112. package/core/di/errors/ClassDependenciesMismatchError.ts +15 -0
  113. package/core/di/errors/DiError.ts +6 -0
  114. package/core/di/errors/InvalidProviderError.ts +9 -0
  115. package/core/di/errors/ModuleEncapsulationError.ts +7 -0
  116. package/core/di/errors/ModuleOwnedProviderConflictError.ts +8 -0
  117. package/core/di/errors/NamedDependencyNotFoundError.ts +7 -0
  118. package/core/di/errors/OptionsValidationError.ts +7 -0
  119. package/core/di/errors/ProviderNotFoundError.ts +10 -0
  120. package/core/di/errors/ScopeDisposedError.ts +7 -0
  121. package/core/di/errors/ScopedServiceFromRootError.ts +9 -0
  122. package/core/di/errors/ServiceValidationError.ts +7 -0
  123. package/core/di/errors/index.ts +14 -0
  124. package/core/di/extensions/activator.ts +39 -0
  125. package/core/di/extensions/application.ts +117 -0
  126. package/core/di/extensions/hosted-service.ts +124 -0
  127. package/core/di/extensions/index.ts +23 -0
  128. package/core/di/extensions/options-reloadable.ts +137 -0
  129. package/core/di/extensions/options.ts +91 -0
  130. package/core/di/extensions/service-provider-token.ts +21 -0
  131. package/core/di/index.ts +97 -0
  132. package/core/di/internal/GraphValidator.ts +119 -0
  133. package/core/di/internal/HostedServicePlan.ts +158 -0
  134. package/core/di/internal/NamedTokenIndex.ts +55 -0
  135. package/core/di/internal/OpenGenericRegistration.ts +14 -0
  136. package/core/di/internal/ResolutionPlan.ts +18 -0
  137. package/core/di/internal/ResolutionScopeState.ts +19 -0
  138. package/core/di/internal/ResolutionTracker.ts +153 -0
  139. package/core/di/internal/ScopeLifecycle.ts +159 -0
  140. package/core/di/internal/ServiceRegistration.ts +14 -0
  141. package/core/di/internal/ServiceRegistry.ts +252 -0
  142. package/core/di/internal/classDeps.ts +38 -0
  143. package/core/di/internal/disposal.ts +58 -0
  144. package/core/di/internal/providerDeps.ts +26 -0
  145. package/core/di/module/DI.ts +146 -0
  146. package/core/di/module/Global.ts +25 -0
  147. package/core/di/module/Module.ts +44 -0
  148. package/core/di/module/ModuleRegistrar.ts +69 -0
  149. package/core/di/module/autoDeps.ts +39 -0
  150. package/core/di/module/classProviderHooks.ts +66 -0
  151. package/core/di/module/collectModuleConfigs.ts +57 -0
  152. package/core/di/module/collectModuleControllers.ts +53 -0
  153. package/core/di/module/collectModuleUiProfiles.ts +53 -0
  154. package/core/di/module/createContainer.ts +261 -0
  155. package/core/di/module/encapsulation.ts +416 -0
  156. package/core/di/module/encapsulationHooks.ts +36 -0
  157. package/core/di/module/generatedProviderAttachments.ts +102 -0
  158. package/core/di/module/index.ts +41 -0
  159. package/core/di/module/moduleExtensions.ts +35 -0
  160. package/core/di/module/moduleNameBinding.ts +136 -0
  161. package/core/di/module/moduleOwnedProviderContributors.ts +409 -0
  162. package/core/di/module/providerSelection.ts +90 -0
  163. package/core/di/module/shortcuts.ts +111 -0
  164. package/core/di/module/types/BazisModule.ts +71 -0
  165. package/core/di/module/types/DiRegistrar.ts +24 -0
  166. package/core/di/module/types/index.ts +2 -0
  167. package/core/di/provider/index.ts +26 -0
  168. package/core/di/provider/providerGuards.ts +17 -0
  169. package/core/di/provider/types/AsyncFactoryProvider.ts +15 -0
  170. package/core/di/provider/types/ClassProvider.ts +18 -0
  171. package/core/di/provider/types/FactoryProvider.ts +20 -0
  172. package/core/di/provider/types/KeyedDependency.ts +20 -0
  173. package/core/di/provider/types/LazyDependency.ts +31 -0
  174. package/core/di/provider/types/NamedDependency.ts +16 -0
  175. package/core/di/provider/types/Provider.ts +10 -0
  176. package/core/di/provider/types/ProviderDefinition.ts +11 -0
  177. package/core/di/provider/types/ProviderDependencyList.ts +11 -0
  178. package/core/di/provider/types/ProviderLifetime.ts +1 -0
  179. package/core/di/provider/types/ProviderOwnership.ts +7 -0
  180. package/core/di/provider/types/ResolvedDeps.ts +18 -0
  181. package/core/di/provider/types/ValueProvider.ts +6 -0
  182. package/core/di/provider/types/index.ts +13 -0
  183. package/core/di/token.ts +84 -0
  184. package/core/di/types/BuildServiceProviderOptions.ts +4 -0
  185. package/core/di/types/ServiceKey.ts +1 -0
  186. package/core/di/types/ServiceResolver.ts +16 -0
  187. package/core/di/types/index.ts +3 -0
  188. package/core/generatedFingerprint.ts +60 -0
  189. package/core/generatedRuntime.ts +187 -0
  190. package/core/grpc/Grpc.module.ts +23 -0
  191. package/core/grpc/GrpcBinding.contract.ts +35 -0
  192. package/core/grpc/GrpcCall.ts +73 -0
  193. package/core/grpc/GrpcClient.ts +172 -0
  194. package/core/grpc/GrpcClientCall.ts +267 -0
  195. package/core/grpc/GrpcError.ts +19 -0
  196. package/core/grpc/GrpcRequest.binding.ts +45 -0
  197. package/core/grpc/GrpcServer.ts +204 -0
  198. package/core/grpc/GrpcStatus.ts +8 -0
  199. package/core/grpc/GrpcTransport.ts +174 -0
  200. package/core/grpc/Metadata.ts +73 -0
  201. package/core/grpc/ProtoCodec.ts +225 -0
  202. package/core/grpc/ProtoParser.ts +192 -0
  203. package/core/grpc/ProtoReader.ts +34 -0
  204. package/core/grpc/ProtoSchema.ts +52 -0
  205. package/core/grpc/ServerCredentials.ts +30 -0
  206. package/core/grpc/clientContracts.ts +39 -0
  207. package/core/grpc/contracts.ts +45 -0
  208. package/core/grpc/decorators.ts +82 -0
  209. package/core/grpc/grpcClientProvider.ts +9 -0
  210. package/core/grpc/index.ts +17 -0
  211. package/core/grpc/moduleControllers.ts +38 -0
  212. package/core/grpc/protobuf.ts +80 -0
  213. package/core/grpc/serviceDefinition.ts +20 -0
  214. package/core/http/Authorization/Authorize.ts +52 -0
  215. package/core/http/Authorization/authorizeComposer.ts +31 -0
  216. package/core/http/Authorization/metadata.ts +158 -0
  217. package/core/http/Binding/ParameterBinder.ts +109 -0
  218. package/core/http/Binding/RequestModel.ts +27 -0
  219. package/core/http/Binding/autoBindings.ts +125 -0
  220. package/core/http/Binding/bindings.ts +19 -0
  221. package/core/http/Binding/convert.ts +48 -0
  222. package/core/http/Binding/generatedSpec.ts +18 -0
  223. package/core/http/Binding/listModelRegistry.ts +47 -0
  224. package/core/http/Binding/modelBinder.ts +345 -0
  225. package/core/http/Binding/modelValidator.ts +30 -0
  226. package/core/http/Binding/requestModelRegistry.ts +117 -0
  227. package/core/http/Decorators/attributes.ts +92 -0
  228. package/core/http/Decorators/controller.ts +24 -0
  229. package/core/http/Decorators/metadata.ts +107 -0
  230. package/core/http/Decorators/routes.ts +131 -0
  231. package/core/http/Errors/HttpError.ts +92 -0
  232. package/core/http/HttpContext/HttpContext.ts +148 -0
  233. package/core/http/HttpContext/ResponseBuilder.ts +37 -0
  234. package/core/http/HttpContext/inspectableRedirects.ts +47 -0
  235. package/core/http/HttpContext/principal.ts +24 -0
  236. package/core/http/HttpContext/responseLifetime.ts +45 -0
  237. package/core/http/HttpServer.ts +627 -0
  238. package/core/http/Middleware/accessLog.ts +90 -0
  239. package/core/http/Middleware/cors.ts +160 -0
  240. package/core/http/Middleware/errorHandler.ts +100 -0
  241. package/core/http/Middleware/pipeline.ts +21 -0
  242. package/core/http/Middleware/rateLimit.ts +104 -0
  243. package/core/http/Middleware/securityHeaders.ts +118 -0
  244. package/core/http/Middleware/types.ts +19 -0
  245. package/core/http/OpenApi/generatedOpenApiRegistry.ts +102 -0
  246. package/core/http/OpenApi/openApiDocs.ts +75 -0
  247. package/core/http/OpenApi/openApiDocument.ts +356 -0
  248. package/core/http/README.md +139 -0
  249. package/core/http/Results/HttpResult.ts +19 -0
  250. package/core/http/Results/normalize.ts +93 -0
  251. package/core/http/Results/results.ts +70 -0
  252. package/core/http/Routing/Router.ts +201 -0
  253. package/core/http/Routing/RouterBuilder.ts +184 -0
  254. package/core/http/Routing/template.ts +112 -0
  255. package/core/http/SPEC.md +981 -0
  256. package/core/http/Versioning/VersionReader.ts +20 -0
  257. package/core/http/WebSocketUpgrade.ts +29 -0
  258. package/core/http/composeRouteMiddlewareComposers.ts +21 -0
  259. package/core/http/correlation/createCorrelationIdMiddleware.ts +79 -0
  260. package/core/http/httpModule.ts +48 -0
  261. package/core/http/index.ts +140 -0
  262. package/core/http/middlewareTokens.ts +48 -0
  263. package/core/http/options.ts +134 -0
  264. package/core/http-client/index.ts +105 -0
  265. package/core/infra/Infra.ts +158 -0
  266. package/core/infra/InfraConnector.ts +86 -0
  267. package/core/infra/InfraLifecycle.ts +86 -0
  268. package/core/infra/cache/RedisDistributedCacheBackend.ts +88 -0
  269. package/core/infra/cache/RedisDistributedCacheDriver.ts +186 -0
  270. package/core/infra/cache/index.ts +7 -0
  271. package/core/infra/connectorConfig.ts +29 -0
  272. package/core/infra/connectorIdentity.ts +39 -0
  273. package/core/infra/connectors/codex/CodexAppServer.ts +146 -0
  274. package/core/infra/connectors/codex/CodexAppServerClient.ts +258 -0
  275. package/core/infra/connectors/codex/CodexPolicy.ts +114 -0
  276. package/core/infra/connectors/codex/CodexTurn.ts +133 -0
  277. package/core/infra/connectors/codex/contracts.ts +82 -0
  278. package/core/infra/connectors/codex.ts +26 -0
  279. package/core/infra/connectors/llm.ts +78 -0
  280. package/core/infra/connectors/llmRouter.ts +443 -0
  281. package/core/infra/connectors/openaiCompatible.ts +590 -0
  282. package/core/infra/connectors/openaiTextStream.ts +134 -0
  283. package/core/infra/connectors/opensearch.ts +307 -0
  284. package/core/infra/connectors/postgres.ts +105 -0
  285. package/core/infra/connectors/redis.ts +132 -0
  286. package/core/infra/index.ts +58 -0
  287. package/core/kernel/ApplicationLifetime.ts +91 -0
  288. package/core/kernel/Bazis.ts +73 -0
  289. package/core/kernel/Environment.ts +53 -0
  290. package/core/kernel/Kernel.ts +391 -0
  291. package/core/kernel/KernelBuilder.ts +172 -0
  292. package/core/kernel/LifecycleCoordinator.ts +204 -0
  293. package/core/kernel/README.md +66 -0
  294. package/core/kernel/SupervisedHostedService.ts +147 -0
  295. package/core/kernel/config/ConfigRegistry.ts +48 -0
  296. package/core/kernel/config/Configuration.ts +110 -0
  297. package/core/kernel/config/README.md +62 -0
  298. package/core/kernel/config/Secret.ts +29 -0
  299. package/core/kernel/config/addConfigOptions.ts +63 -0
  300. package/core/kernel/config/defineConfig.ts +211 -0
  301. package/core/kernel/config/sources.ts +123 -0
  302. package/core/kernel/correlation/requestContext.ts +57 -0
  303. package/core/kernel/errors/ConfigKeyMissingError.ts +7 -0
  304. package/core/kernel/errors/KernelError.ts +7 -0
  305. package/core/kernel/errors/ShutdownTimeoutError.ts +7 -0
  306. package/core/kernel/errors/StartupAbortedError.ts +7 -0
  307. package/core/kernel/errors/StartupTimeoutError.ts +7 -0
  308. package/core/kernel/errors/index.ts +5 -0
  309. package/core/kernel/events/EventBus.ts +140 -0
  310. package/core/kernel/events/EventToken.ts +17 -0
  311. package/core/kernel/events/eventSubscribers.ts +126 -0
  312. package/core/kernel/events/kernelEvents.ts +16 -0
  313. package/core/kernel/events/onEvent.ts +32 -0
  314. package/core/kernel/health/HealthCheckContracts.ts +42 -0
  315. package/core/kernel/health/HealthService.ts +93 -0
  316. package/core/kernel/index.ts +96 -0
  317. package/core/kernel/internal/awaitAbortable.ts +18 -0
  318. package/core/kernel/internal/awaitShutdown.ts +21 -0
  319. package/core/kernel/internal/reportDiagnosticFailure.ts +8 -0
  320. package/core/kernel/internal/validateTimeout.ts +8 -0
  321. package/core/kernel/lifecycleHooks.ts +18 -0
  322. package/core/kernel/logging/ConsoleLogger.ts +68 -0
  323. package/core/kernel/logging/Logger.ts +22 -0
  324. package/core/kernel/types/ConfigSource.ts +9 -0
  325. package/core/kernel/types/EnvironmentName.ts +1 -0
  326. package/core/kernel/types/KernelOptions.ts +23 -0
  327. package/core/kernel/types/LifecycleHook.ts +18 -0
  328. package/core/kernel/types/index.ts +4 -0
  329. package/core/orm/DATABASE_PROVIDER.ts +5 -0
  330. package/core/orm/OrmHostedPlan.validator.ts +55 -0
  331. package/core/orm/OrmLifecycle.ts +146 -0
  332. package/core/orm/OrmOwnedStoreLifecycle.ts +96 -0
  333. package/core/orm/buildOrmProviders.ts +152 -0
  334. package/core/orm/databaseConnector.ts +108 -0
  335. package/core/orm/encapsulationHook.ts +19 -0
  336. package/core/orm/index.ts +95 -0
  337. package/core/orm/listQuery.ts +198 -0
  338. package/core/orm/ormModule.ts +173 -0
  339. package/core/orm/ownedStoreContributions.ts +195 -0
  340. package/core/orm/registerRepositories.ts +27 -0
  341. package/core/orm/repository.ts +45 -0
  342. package/core/orm/strictSchemaHostedIdentity.ts +17 -0
  343. package/core/scripts/agent-codegen.ts +1166 -0
  344. package/core/scripts/di-generate-target.ts +90 -0
  345. package/core/scripts/di-generate.ts +1837 -0
  346. package/core/scripts/orm-predicate-codegen.ts +33 -0
  347. package/core/scripts/request-model-codegen.ts +326 -0
  348. package/core/websocket/DESIGN.md +297 -0
  349. package/core/websocket/WsRateLimiter.ts +101 -0
  350. package/core/websocket/adapter/adapter.interface.ts +45 -0
  351. package/core/websocket/adapter/in-memory.adapter.ts +190 -0
  352. package/core/websocket/adapter/redis-delivery-scripts.ts +135 -0
  353. package/core/websocket/adapter/redis-delivery-store.ts +86 -0
  354. package/core/websocket/adapter/redis-operations.ts +33 -0
  355. package/core/websocket/adapter/redis.adapter.ts +218 -0
  356. package/core/websocket/codec/binary.codec.ts +87 -0
  357. package/core/websocket/codec/json.codec.ts +34 -0
  358. package/core/websocket/codec/packet-codec.interface.ts +17 -0
  359. package/core/websocket/decorators.ts +165 -0
  360. package/core/websocket/explorer.ts +126 -0
  361. package/core/websocket/index.ts +78 -0
  362. package/core/websocket/middleware.ts +146 -0
  363. package/core/websocket/packet-codec.ts +75 -0
  364. package/core/websocket/reliable-delivery.ts +56 -0
  365. package/core/websocket/session-creation.ts +16 -0
  366. package/core/websocket/session-manager.ts +856 -0
  367. package/core/websocket/socket-wrapper.ts +314 -0
  368. package/core/websocket/topic-cache.ts +59 -0
  369. package/core/websocket/types.ts +122 -0
  370. package/core/websocket/websocketModule.ts +96 -0
  371. package/core/websocket/ws-dispatch.ts +123 -0
  372. package/core/websocket/ws-server.ts +1707 -0
  373. package/index.ts +281 -0
  374. package/library/boundary/diagnostics-v1.ts +136 -0
  375. package/library/boundary/index.ts +73 -0
  376. package/library/boundary/json/decodeBoundedJsonV1.ts +518 -0
  377. package/library/boundary/json/limits-v1.ts +46 -0
  378. package/library/boundary/json/normalizeBoundedJsonV1.ts +256 -0
  379. package/library/boundary/json/types-v1.ts +11 -0
  380. package/library/boundary/schema/boundarySchemaHashV1.ts +6 -0
  381. package/library/boundary/schema/collectBoundaryValueDiagnosticsV1.ts +325 -0
  382. package/library/boundary/schema/decodeBoundarySchemaV1.ts +646 -0
  383. package/library/boundary/schema/index.ts +8 -0
  384. package/library/boundary/schema/types-v1.ts +99 -0
  385. package/library/boundary/schema/validateBoundaryValueV1.ts +58 -0
  386. package/library/boundary/serialization/canonicalJsonV1.ts +66 -0
  387. package/library/http-client/HttpClient.ts +969 -0
  388. package/library/http-client/HttpClientFactory.ts +45 -0
  389. package/library/http-client/errors.ts +68 -0
  390. package/library/http-client/index.ts +43 -0
  391. package/library/http-client/interceptors.ts +40 -0
  392. package/library/http-client/progress.ts +62 -0
  393. package/library/http-client/redirectProtocol.ts +6 -0
  394. package/library/http-client/serialize.ts +133 -0
  395. package/library/http-client/types.ts +174 -0
  396. package/library/jsonapi/ListQueryError.ts +25 -0
  397. package/library/jsonapi/ListRequest.ts +37 -0
  398. package/library/jsonapi/decorators.ts +161 -0
  399. package/library/jsonapi/document.ts +124 -0
  400. package/library/jsonapi/index.ts +40 -0
  401. package/library/jsonapi/parseListQuery.ts +291 -0
  402. package/library/jsonapi/types.ts +125 -0
  403. package/library/jwt/JwtEncoder.ts +40 -0
  404. package/library/jwt/JwtKeyRing.ts +164 -0
  405. package/library/jwt/JwtValidator.ts +210 -0
  406. package/library/jwt/TokenIssuer.ts +149 -0
  407. package/library/jwt/TokenService.ts +51 -0
  408. package/library/jwt/base64url.ts +61 -0
  409. package/library/jwt/claims.ts +36 -0
  410. package/library/jwt/errors.ts +44 -0
  411. package/library/jwt/index.ts +59 -0
  412. package/library/jwt/limits.ts +8 -0
  413. package/library/jwt/signing/Hs256Algorithm.ts +62 -0
  414. package/library/jwt/signing/Rs256Algorithm.ts +133 -0
  415. package/library/jwt/signing/SigningAlgorithm.ts +18 -0
  416. package/library/jwt/signing/pem.ts +30 -0
  417. package/library/openapi/codegen.ts +875 -0
  418. package/library/openapi/document.ts +326 -0
  419. package/library/openapi/index.ts +13 -0
  420. package/library/openapi/types.ts +69 -0
  421. package/library/openapi/ui.ts +182 -0
  422. package/library/orm/DatabaseFacade.ts +209 -0
  423. package/library/orm/DbContext.ts +107 -0
  424. package/library/orm/DbContextFactory.ts +25 -0
  425. package/library/orm/DbContextOptions.ts +33 -0
  426. package/library/orm/Metadata/DynamicModelBuilder.ts +497 -0
  427. package/library/orm/Metadata/KeyTuple.ts +36 -0
  428. package/library/orm/Metadata/ModelBuilder.ts +299 -0
  429. package/library/orm/Metadata/OrmModel.ts +80 -0
  430. package/library/orm/Metadata/ValueConverter.ts +57 -0
  431. package/library/orm/Metadata/conventions.ts +54 -0
  432. package/library/orm/Metadata/decorators.ts +396 -0
  433. package/library/orm/Metadata/types.ts +140 -0
  434. package/library/orm/Providers/OwnedStoreCatalog.reader.ts +1802 -0
  435. package/library/orm/Providers/PostgresDialect.ts +234 -0
  436. package/library/orm/Providers/PostgresProvider.ts +1494 -0
  437. package/library/orm/Providers/PostgresSchema.decoder.ts +107 -0
  438. package/library/orm/Providers/limits.ts +29 -0
  439. package/library/orm/Providers/operationDeadline.ts +43 -0
  440. package/library/orm/Providers/ormOwnedStoreRuntime.ts +19 -0
  441. package/library/orm/Providers/ormTransactionRuntime.ts +117 -0
  442. package/library/orm/Providers/propertyConversion.ts +14 -0
  443. package/library/orm/Providers/resolvedForeignKey.ts +16 -0
  444. package/library/orm/Providers/transactionCallbacks.ts +45 -0
  445. package/library/orm/Providers/transactionOutcome.ts +82 -0
  446. package/library/orm/Providers/transactionScopes.ts +78 -0
  447. package/library/orm/Providers/types.ts +207 -0
  448. package/library/orm/Query/DbSet.ts +78 -0
  449. package/library/orm/Query/EntityQuery.ts +247 -0
  450. package/library/orm/Query/ImmediateMutations.ts +226 -0
  451. package/library/orm/Query/IncludeLoader.ts +200 -0
  452. package/library/orm/Query/QueryPlan.ts +55 -0
  453. package/library/orm/Query/SqlTranslator.ts +195 -0
  454. package/library/orm/Query/conditions.ts +127 -0
  455. package/library/orm/Query/materialize.ts +39 -0
  456. package/library/orm/README.md +256 -0
  457. package/library/orm/Repository/README.md +684 -0
  458. package/library/orm/Repository/Repository.ts +68 -0
  459. package/library/orm/Saving/CommandBuilder.ts +139 -0
  460. package/library/orm/Saving/ExecutionStrategy.ts +128 -0
  461. package/library/orm/Saving/SaveExecutor.ts +413 -0
  462. package/library/orm/Saving/applyConventions.ts +64 -0
  463. package/library/orm/Schema/CheckExpression.ts +327 -0
  464. package/library/orm/Schema/ExactSchemaVerifier.ts +168 -0
  465. package/library/orm/Schema/ExpectedSchema.ts +43 -0
  466. package/library/orm/Schema/MigrationRunner.ts +146 -0
  467. package/library/orm/Schema/Migrator.ts +73 -0
  468. package/library/orm/Schema/OrmOwnedStore.ts +123 -0
  469. package/library/orm/Schema/OwnedStoreAdmission.ts +752 -0
  470. package/library/orm/Schema/OwnedStoreCanonical.ts +273 -0
  471. package/library/orm/Schema/OwnedStoreCatalog.ts +1325 -0
  472. package/library/orm/Schema/SafeAdditiveSchema.ts +100 -0
  473. package/library/orm/Schema/SchemaAdmission.ts +62 -0
  474. package/library/orm/Schema/SchemaDiffer.ts +78 -0
  475. package/library/orm/Schema/formatSchemaDifferences.ts +62 -0
  476. package/library/orm/Schema/introspection.ts +52 -0
  477. package/library/orm/Schema/physicalColumnTypes.ts +37 -0
  478. package/library/orm/Schema/tableKey.ts +26 -0
  479. package/library/orm/Tracking/ChangeTracker.ts +448 -0
  480. package/library/orm/Tracking/EntityState.ts +13 -0
  481. package/library/orm/Transactions/OrmTransaction.ts +30 -0
  482. package/library/orm/Transactions/TransactionScopeCoordinator.ts +377 -0
  483. package/library/orm/errors.ts +190 -0
  484. package/library/orm/index.ts +162 -0
  485. package/library/orm/runtime.ts +14 -0
  486. package/library/redaction/index.ts +166 -0
  487. package/library/ui/UiProfile.ts +77 -0
  488. package/library/ui/compiled-v1.ts +131 -0
  489. package/library/ui/compiler/compileUiSurfaceV1.ts +717 -0
  490. package/library/ui/compiler/contracts-v1.ts +25 -0
  491. package/library/ui/compiler/index.ts +12 -0
  492. package/library/ui/compiler/openApiIndex.ts +246 -0
  493. package/library/ui/defineUiProfile.ts +340 -0
  494. package/library/ui/diagnostics-v1.ts +33 -0
  495. package/library/ui/index.ts +129 -0
  496. package/library/ui/profile-v1.ts +191 -0
  497. package/library/ui/serialization.ts +130 -0
  498. package/library/ui/uiProfileAuthoring.ts +289 -0
  499. package/library/ui/uiProfileAuthoringMetadata.ts +78 -0
  500. package/library/validation/MessageRegistry.ts +144 -0
  501. package/library/validation/README.md +62 -0
  502. package/library/validation/RuleCompiler.ts +183 -0
  503. package/library/validation/RuleEngine.ts +401 -0
  504. package/library/validation/SPEC.md +579 -0
  505. package/library/validation/ValidationError.ts +37 -0
  506. package/library/validation/ValidationResult.ts +63 -0
  507. package/library/validation/Validator.ts +101 -0
  508. package/library/validation/index.ts +16 -0
  509. package/library/validation/metadata.ts +69 -0
  510. package/library/validation/modelValidatorAdapter.ts +119 -0
  511. package/library/validation/types/ValidationCode.ts +69 -0
  512. package/library/validation/types/ValidatorOptions.ts +153 -0
  513. package/package.json +80 -0
@@ -0,0 +1,162 @@
1
+ // Entity metadata and configuration
2
+ export {
3
+ Column,
4
+ Check,
5
+ CreatedAt,
6
+ Entity,
7
+ ForeignKey,
8
+ HasConversion,
9
+ Index,
10
+ Key,
11
+ ManyToOne,
12
+ OneToMany,
13
+ QueryFilter,
14
+ Required,
15
+ Schema,
16
+ SoftDelete,
17
+ UpdatedAt,
18
+ UUID,
19
+ } from "./Metadata/decorators";
20
+ export type {
21
+ ColumnOptions,
22
+ ColumnDefaultValue,
23
+ EntityOptions,
24
+ IndexOptions,
25
+ KeyOptions,
26
+ RelationOptions,
27
+ UUIDOptions,
28
+ ReferentialAction,
29
+ } from "./Metadata/decorators";
30
+ export { OrmModel } from "./Metadata/OrmModel";
31
+ export { ModelBuilder } from "./Metadata/ModelBuilder";
32
+ export { KeyTuple } from "./Metadata/KeyTuple";
33
+ export {
34
+ buildDynamicModel,
35
+ type DynamicFieldDefinition,
36
+ type DynamicEntityDefinition,
37
+ type DynamicPrimaryKeyDefinition,
38
+ type DynamicForeignKeyDefinition,
39
+ type DynamicCheckDefinition,
40
+ type DynamicIndexDefinition,
41
+ type DynamicRelationDefinition,
42
+ type DynamicTableDefinition,
43
+ type DynamicTargetResolver,
44
+ type LogicalFieldType,
45
+ type ScalarLogicalFieldType,
46
+ } from "./Metadata/DynamicModelBuilder";
47
+ export { pluralize } from "./Metadata/conventions";
48
+ export { ValueConverters, type ValueConverter } from "./Metadata/ValueConverter";
49
+ export type {
50
+ ColumnOptionsType,
51
+ ColumnType,
52
+ EntityModel,
53
+ ForeignKeyModel,
54
+ IndexModel,
55
+ CheckModel,
56
+ KeyGeneration,
57
+ PropertyConvention,
58
+ PropertyModel,
59
+ RelationKind,
60
+ RelationModel,
61
+ SemanticColumnType,
62
+ StorageColumnType,
63
+ } from "./Metadata/types";
64
+
65
+ // Context (the pure engine; the DI wiring is in `@/core/orm`)
66
+ export { DbContext } from "./DbContext";
67
+ export { DbContextOptions, type DbContextOptionsConfig } from "./DbContextOptions";
68
+ export { DbContextFactory } from "./DbContextFactory";
69
+ export { DatabaseFacade } from "./DatabaseFacade";
70
+ export { OrmTransaction } from "./Transactions/OrmTransaction";
71
+ export type { OrmDatabaseTimeV1, OrmTransactionScopeOptions } from "./Transactions/OrmTransaction";
72
+
73
+ // Repository (the implementation; the `IRepository<T>` contract and tokens are in `@/core/orm`)
74
+ export { Repository } from "./Repository/Repository";
75
+
76
+ // Queries
77
+ export { DbSet } from "./Query/DbSet";
78
+ export { EntityQuery, IncludableQuery, ProjectedQuery, type NavigationElement } from "./Query/EntityQuery";
79
+ export type { ForUpdateOptionsV1 } from "./Query/EntityQuery";
80
+ export type { OrmMutationResultV1, OrmInsertIfAbsentResultV1, OrmUpdateValuesV1, OrmUniqueKeySelectorV1 } from "./Query/ImmediateMutations";
81
+ export { Operand, Predicate } from "./Query/conditions";
82
+ export type { FieldSelector, KeySelectorFn, PredicateFn } from "./Query/conditions";
83
+
84
+ // Tracking
85
+ export { ChangeTracker, type TrackedEntry } from "./Tracking/ChangeTracker";
86
+ export { EntityState } from "./Tracking/EntityState";
87
+ export {
88
+ ExecutionStrategy,
89
+ withRetry,
90
+ withoutExecutionStrategyRetries,
91
+ type ExecutionStrategyOptions,
92
+ } from "./Saving/ExecutionStrategy";
93
+
94
+ // Providers (connection values: `postgres(...)`).
95
+ export { PostgresProvider, postgres, type PostgresProviderOptions, type PostgresServerTimeouts, type PostgresOperationEvent } from "./Providers/PostgresProvider";
96
+ export { PostgresDialect } from "./Providers/PostgresDialect";
97
+ export type {
98
+ AfterCommitCallback,
99
+ DatabaseProvider,
100
+ DatabaseProviderDiagnostic,
101
+ DatabaseProviderLimits,
102
+ DbExecutor,
103
+ ExecuteResult,
104
+ ForeignKeyConstraint,
105
+ NotificationSubscription,
106
+ RowLockMode,
107
+ Row,
108
+ SqlDialect,
109
+ SqlParam,
110
+ TransactionCallback,
111
+ } from "./Providers/types";
112
+
113
+ // Schema and migrations
114
+ export { SchemaDiffer, type SchemaDiff, type AdditiveSchemaOperation } from "./Schema/SchemaDiffer";
115
+ export { Migrator, type MigrationResult } from "./Schema/Migrator";
116
+ export {
117
+ MigrationRunner,
118
+ type Migration,
119
+ type MigrationContext,
120
+ type VersionedMigrationResult,
121
+ } from "./Schema/MigrationRunner";
122
+ export type {
123
+ IntrospectedColumn,
124
+ IntrospectedIndex,
125
+ IntrospectedSchema,
126
+ IntrospectedTable,
127
+ CanonicalDefault,
128
+ GenerationStrategy,
129
+ IntrospectedPrimaryKey,
130
+ IntrospectedForeignKey,
131
+ IntrospectedCheck,
132
+ } from "./Schema/introspection";
133
+ export type { SchemaDifferenceCode, SafeSchemaDescriptor, SchemaDifference, SchemaVerificationResult } from "./Schema/ExactSchemaVerifier";
134
+ export { SchemaAdmissionError, SchemaMigrationRequiredError, SchemaVerificationError } from "./errors";
135
+ export type { SchemaAdmissionErrorCode } from "./errors";
136
+ export { compileCheck, renderCheck } from "./Schema/CheckExpression";
137
+ export type { CheckAst, CheckExpression, CheckOperand, CheckField, CheckPredicate, CheckScalar } from "./Schema/CheckExpression";
138
+ export { defineOrmOwnedStoreV1 } from "./Schema/OrmOwnedStore";
139
+ export type { OrmCatalogScopeV1, OrmOwnedStoreDefinitionV1 } from "./Schema/OrmOwnedStore";
140
+
141
+ // Errors
142
+ export { isUnknownTransactionOutcome, TransactionOutcomeUnknownError } from "./Providers/transactionOutcome";
143
+ export {
144
+ ConcurrentTransactionScopeError,
145
+ DbUpdateError,
146
+ EntityNotFoundError,
147
+ EntityNotMappedError,
148
+ ModelBuildError,
149
+ OrmError,
150
+ OrmValidationError,
151
+ UniqueViolationError,
152
+ PostCommitError,
153
+ isCommittedOutcome,
154
+ OrmTransactionScopeError,
155
+ OrmProviderIdentityMismatchError,
156
+ OrmDatabaseTimeError,
157
+ OrmTrackedMutationConflictError,
158
+ OrmUnsafeImmediateMutationError,
159
+ OrmUndeclaredConflictTargetError,
160
+ OrmOwnedStoreAdmissionError,
161
+ } from "./errors";
162
+ export type { OrmOwnedStoreAdmissionErrorCode } from "./errors";
@@ -0,0 +1,14 @@
1
+ import type { OrmModel } from "./Metadata/OrmModel";
2
+ import type { DatabaseProvider } from "./Providers/types";
3
+ import type { ChangeTracker } from "./Tracking/ChangeTracker";
4
+
5
+ /**
6
+ * Internal runtime that `DbContext` passes to `DbSet`. Kept in a separate
7
+ * module to break import cycles between the context, the set and the tracker.
8
+ */
9
+ export interface DbContextRuntime {
10
+ readonly provider: DatabaseProvider;
11
+ readonly models: OrmModel;
12
+ readonly tracker: ChangeTracker;
13
+ readonly runImmediateOperation: <T>(operation: () => T | Promise<T>) => Promise<T>;
14
+ }
@@ -0,0 +1,166 @@
1
+ const DEFAULT_REPLACEMENT = "***";
2
+ const CIRCULAR = "[Circular]";
3
+
4
+ const DEFAULT_SENSITIVE_FRAGMENTS = [
5
+ "password",
6
+ "passwd",
7
+ "passphrase",
8
+ "secret",
9
+ "token",
10
+ "apikey",
11
+ "authorization",
12
+ "cookie",
13
+ "privatekey",
14
+ "clientsecret",
15
+ "credential",
16
+ "sessionid",
17
+ ];
18
+
19
+ const SECRET_TEXT_PATTERN =
20
+ /\b(password|passwd|passphrase|secret|token|api[-_]?key|cookie|set-cookie|private[-_]?key|client[-_]?secret)\b(\s*[:=]\s*)("[^"]*"|'[^']*'|[^,\s}]+)/gi;
21
+ const BEARER_TEXT_PATTERN = /\b(Bearer|Basic)\s+[A-Za-z0-9._~+/=-]{8,}/gi;
22
+
23
+ export interface SensitiveRedactionOptions {
24
+ readonly replacement?: string;
25
+ readonly sensitiveKeys?: readonly (string | RegExp)[];
26
+ readonly maxDepth?: number;
27
+ }
28
+
29
+ interface NormalizedRedactionOptions {
30
+ readonly replacement: string;
31
+ readonly sensitiveKeys: readonly (string | RegExp)[];
32
+ readonly maxDepth: number;
33
+ }
34
+
35
+ export function redactSensitive<T>(value: T, options: SensitiveRedactionOptions = {}): T {
36
+ return redactValue(value, undefined, normalizeOptions(options), new WeakSet<object>(), 0) as T;
37
+ }
38
+
39
+ export function redactSensitiveText(value: string, options: SensitiveRedactionOptions = {}): string {
40
+ return redactText(value, normalizeOptions(options).replacement);
41
+ }
42
+
43
+ export function redactTraceValues<T>(values: readonly T[], options: SensitiveRedactionOptions = {}): readonly T[] {
44
+ const replacement = normalizeOptions(options).replacement as T;
45
+ return values.map(() => replacement);
46
+ }
47
+
48
+ export function isSensitiveKey(key: string, options: SensitiveRedactionOptions = {}): boolean {
49
+ return keyIsSensitive(key, normalizeOptions(options));
50
+ }
51
+
52
+ function normalizeOptions(options: SensitiveRedactionOptions): NormalizedRedactionOptions {
53
+ return {
54
+ replacement: options.replacement ?? DEFAULT_REPLACEMENT,
55
+ sensitiveKeys: options.sensitiveKeys ?? [],
56
+ maxDepth: options.maxDepth ?? 8,
57
+ };
58
+ }
59
+
60
+ function redactValue(
61
+ value: unknown,
62
+ key: string | undefined,
63
+ options: NormalizedRedactionOptions,
64
+ seen: WeakSet<object>,
65
+ depth: number,
66
+ ): unknown {
67
+ if (key !== undefined && keyIsSensitive(key, options)) {
68
+ return options.replacement;
69
+ }
70
+ if (typeof value === "string") {
71
+ return redactText(value, options.replacement);
72
+ }
73
+ if (value === null || typeof value !== "object") {
74
+ return value;
75
+ }
76
+ if (value instanceof Date) {
77
+ return value;
78
+ }
79
+ if (value instanceof Uint8Array) {
80
+ return value;
81
+ }
82
+ if (depth >= options.maxDepth) {
83
+ return options.replacement;
84
+ }
85
+ if (seen.has(value)) {
86
+ return CIRCULAR;
87
+ }
88
+ seen.add(value);
89
+ if (value instanceof Error) {
90
+ return redactError(value, options, seen, depth);
91
+ }
92
+ if (isRedactedJsonObject(value)) {
93
+ return options.replacement;
94
+ }
95
+ if (Array.isArray(value)) {
96
+ return value.map((item) => redactValue(item, undefined, options, seen, depth + 1));
97
+ }
98
+
99
+ const output: Record<string, unknown> = {};
100
+ for (const [childKey, childValue] of Object.entries(value)) {
101
+ output[childKey] = redactValue(childValue, childKey, options, seen, depth + 1);
102
+ }
103
+ return output;
104
+ }
105
+
106
+ function redactError(
107
+ error: Error,
108
+ options: NormalizedRedactionOptions,
109
+ seen: WeakSet<object>,
110
+ depth: number,
111
+ ): Record<string, unknown> {
112
+ const output: Record<string, unknown> = {
113
+ name: error.name,
114
+ message: redactText(error.message, options.replacement),
115
+ };
116
+ if (error.stack !== undefined) {
117
+ output.stack = redactText(error.stack, options.replacement);
118
+ }
119
+ for (const [key, value] of Object.entries(error)) {
120
+ output[key] = redactValue(value, key, options, seen, depth + 1);
121
+ }
122
+ return output;
123
+ }
124
+
125
+ function isRedactedJsonObject(value: object): boolean {
126
+ const toJson = (value as { toJSON?: unknown }).toJSON;
127
+ if (typeof toJson !== "function") {
128
+ return false;
129
+ }
130
+ try {
131
+ return toJson.call(value) === DEFAULT_REPLACEMENT;
132
+ } catch {
133
+ return false;
134
+ }
135
+ }
136
+
137
+ function keyIsSensitive(key: string, options: NormalizedRedactionOptions): boolean {
138
+ const normalized = normalizeKey(key);
139
+ if (DEFAULT_SENSITIVE_FRAGMENTS.some((fragment) => normalized.includes(fragment))) {
140
+ return true;
141
+ }
142
+ for (const sensitiveKey of options.sensitiveKeys) {
143
+ if (typeof sensitiveKey === "string") {
144
+ const custom = normalizeKey(sensitiveKey);
145
+ if (custom.length > 0 && normalized.includes(custom)) {
146
+ return true;
147
+ }
148
+ continue;
149
+ }
150
+ sensitiveKey.lastIndex = 0;
151
+ if (sensitiveKey.test(key)) {
152
+ return true;
153
+ }
154
+ }
155
+ return false;
156
+ }
157
+
158
+ function normalizeKey(key: string): string {
159
+ return key.toLowerCase().replace(/[^a-z0-9]/g, "");
160
+ }
161
+
162
+ function redactText(value: string, replacement: string): string {
163
+ return value
164
+ .replace(SECRET_TEXT_PATTERN, (_match, name: string, separator: string) => `${name}${separator}${replacement}`)
165
+ .replace(BEARER_TEXT_PATTERN, (_match, scheme: string) => `${scheme} ${replacement}`);
166
+ }
@@ -0,0 +1,77 @@
1
+ import type {
2
+ UiControllerClass,
3
+ UiCustomPagesProfileAuthoringOptions,
4
+ UiProfileAuthoringOptions,
5
+ UiRequestClass,
6
+ UiResponseReference,
7
+ } from "./uiProfileAuthoring";
8
+ import { defineUiProfileAuthoringMetadata } from "./uiProfileAuthoringMetadata";
9
+
10
+ /**
11
+ * Stores process-local, reference-based UI authoring metadata on a profile
12
+ * class. No JSON normalization or controller/DTO name matching happens here.
13
+ */
14
+ export function UiProfile<
15
+ Controller extends UiControllerClass = UiControllerClass,
16
+ Response extends UiResponseReference | undefined = undefined,
17
+ ListRequest extends UiRequestClass | undefined = undefined,
18
+ CreateRequest extends UiRequestClass | undefined = undefined,
19
+ EditRequest extends UiRequestClass | undefined = undefined,
20
+ >(
21
+ profile:
22
+ | UiProfileAuthoringOptions<Controller, Response, ListRequest, CreateRequest, EditRequest>
23
+ | UiCustomPagesProfileAuthoringOptions,
24
+ ) {
25
+ return uiProfileDecorator(profile);
26
+ }
27
+
28
+ function uiProfileDecorator(profile: UiProfileAuthoringOptions<any, any, any, any, any> | UiCustomPagesProfileAuthoringOptions) {
29
+ return (value: abstract new (...args: never[]) => unknown, context: ClassDecoratorContext): void => {
30
+ defineUiProfileAuthoringMetadata(value, context.metadata, profile as import("./uiProfileAuthoring").AnyUiProfileAuthoringOptions);
31
+ };
32
+ }
33
+
34
+ export {
35
+ uiOperation,
36
+ uiEndpoint,
37
+ } from "./uiProfileAuthoring";
38
+ export {
39
+ isUiProfileAuthoringClass,
40
+ uiProfileAuthoringMetadataOf,
41
+ } from "./uiProfileAuthoringMetadata";
42
+ export type {
43
+ AnyUiProfileAuthoringOptions,
44
+ UiActionIntentOverride,
45
+ UiActionPlacementOverride,
46
+ UiAuthoringClass,
47
+ UiControllerClass,
48
+ UiControllerMethod,
49
+ UiControllerMethodKey,
50
+ UiControllerMethodReference,
51
+ UiCustomPageAuthoring,
52
+ UiCustomPageBaseAuthoring,
53
+ UiCustomPagesProfileAuthoringOptions,
54
+ UiDashboardBlockAuthoring,
55
+ UiDashboardPageAuthoring,
56
+ UiDataFieldKey,
57
+ UiDeleteAuthoringOverride,
58
+ UiDocumentPageAuthoring,
59
+ UiEndpointAuthoringOptions,
60
+ UiEndpointReference,
61
+ UiFeaturePageAuthoring,
62
+ UiFieldSelection,
63
+ UiListFieldOverride,
64
+ UiFormFieldMap,
65
+ UiFormFieldOverride,
66
+ UiFormAuthoringOverride,
67
+ UiListAuthoringOverride,
68
+ UiProfileAuthoringOptions,
69
+ UiProfileNavigationOverride,
70
+ UiProfileOperations,
71
+ UiRequestClass,
72
+ UiResponseReference,
73
+ UiResponseValue,
74
+ UiSettingsPageAuthoring,
75
+ UiSortField,
76
+ } from "./uiProfileAuthoring";
77
+ export type { UiProfileAuthoringMetadata } from "./uiProfileAuthoringMetadata";
@@ -0,0 +1,131 @@
1
+ import type { UiDiagnosticV1 } from "./diagnostics-v1";
2
+ import type {
3
+ UiActionIntentV1,
4
+ UiActionPlacementV1,
5
+ UiDetailProfileV1,
6
+ UiFormProfileV1,
7
+ UiFormsProfileV1,
8
+ UiListProfileV1,
9
+ } from "./profile-v1";
10
+ import type { UiJsonObject } from "./serialization";
11
+
12
+ export const COMPILED_UI_SURFACE_V1_API_VERSION = "ui.bazis.dev/v1" as const;
13
+ export const COMPILED_UI_SURFACE_V1_KIND = "CompiledUiSurface" as const;
14
+
15
+ export interface CompiledUiSurfaceV1 {
16
+ readonly apiVersion: typeof COMPILED_UI_SURFACE_V1_API_VERSION;
17
+ readonly kind: typeof COMPILED_UI_SURFACE_V1_KIND;
18
+ readonly metadata: CompiledUiSurfaceMetadataV1;
19
+ readonly links: CompiledUiSurfaceLinksV1;
20
+ readonly spec: CompiledUiSurfaceSpecV1;
21
+ readonly diagnostics?: readonly UiDiagnosticV1[];
22
+ }
23
+
24
+ export interface CompiledUiSurfaceMetadataV1 {
25
+ readonly surface: string;
26
+ readonly revision: string;
27
+ }
28
+
29
+ export interface CompiledUiSurfaceLinksV1 {
30
+ readonly openapi: string;
31
+ readonly session?: string;
32
+ }
33
+
34
+ export interface CompiledUiSurfaceSpecV1 {
35
+ readonly navigation: readonly CompiledUiNavigationItemV1[];
36
+ readonly resources: readonly CompiledUiResourceV1[];
37
+ readonly customPages?: readonly CompiledUiCustomPageV1[];
38
+ readonly requiredRendererCapabilities: readonly string[];
39
+ readonly extensions?: UiJsonObject;
40
+ }
41
+
42
+ export interface CompiledUiNavigationItemV1 {
43
+ readonly id: string;
44
+ readonly title: string;
45
+ readonly route: string;
46
+ readonly resource?: string;
47
+ readonly page?: string;
48
+ readonly group?: string;
49
+ readonly icon?: string;
50
+ readonly order?: number;
51
+ }
52
+
53
+ export interface CompiledUiCustomPageBaseV1 {
54
+ readonly id: string;
55
+ readonly title: string;
56
+ readonly route: string;
57
+ }
58
+
59
+ export interface CompiledUiSettingsPageV1 extends CompiledUiCustomPageBaseV1 {
60
+ readonly kind: "settings";
61
+ readonly operations: {
62
+ readonly read: CompiledUiOperationRefV1;
63
+ readonly update?: CompiledUiOperationRefV1;
64
+ };
65
+ readonly form?: UiFormProfileV1;
66
+ }
67
+
68
+ export interface CompiledUiDocumentPageV1 extends CompiledUiCustomPageBaseV1 {
69
+ readonly kind: "document";
70
+ readonly operation: CompiledUiOperationRefV1;
71
+ }
72
+
73
+ export interface CompiledUiDashboardBlockV1 {
74
+ readonly id: string;
75
+ readonly kind: "metric" | "document";
76
+ readonly title: string;
77
+ readonly operation: CompiledUiOperationRefV1;
78
+ }
79
+
80
+ export interface CompiledUiDashboardPageV1 extends CompiledUiCustomPageBaseV1 {
81
+ readonly kind: "dashboard";
82
+ readonly blocks: readonly CompiledUiDashboardBlockV1[];
83
+ }
84
+
85
+ export interface CompiledUiFeaturePageV1 extends CompiledUiCustomPageBaseV1 {
86
+ readonly kind: "feature";
87
+ readonly renderer: string;
88
+ }
89
+
90
+ export type CompiledUiCustomPageV1 =
91
+ | CompiledUiSettingsPageV1
92
+ | CompiledUiDocumentPageV1
93
+ | CompiledUiDashboardPageV1
94
+ | CompiledUiFeaturePageV1;
95
+
96
+ export interface CompiledUiOperationRefV1 {
97
+ readonly operationId: string;
98
+ }
99
+
100
+ export interface CompiledUiResourceOperationsV1 {
101
+ readonly list?: CompiledUiOperationRefV1;
102
+ readonly read?: CompiledUiOperationRefV1;
103
+ readonly create?: CompiledUiOperationRefV1;
104
+ readonly update?: CompiledUiOperationRefV1;
105
+ readonly delete?: CompiledUiOperationRefV1;
106
+ }
107
+
108
+ export interface CompiledUiResourceV1 {
109
+ readonly id: string;
110
+ readonly title: string;
111
+ readonly singularTitle?: string;
112
+ readonly keyField?: string;
113
+ readonly route: string;
114
+ readonly operations: CompiledUiResourceOperationsV1;
115
+ readonly list?: UiListProfileV1;
116
+ readonly detail?: UiDetailProfileV1;
117
+ readonly forms?: UiFormsProfileV1;
118
+ readonly actions: readonly CompiledUiActionV1[];
119
+ readonly extensions?: UiJsonObject;
120
+ }
121
+
122
+ export interface CompiledUiActionV1 {
123
+ readonly id: string;
124
+ readonly title: string;
125
+ readonly operation: CompiledUiOperationRefV1;
126
+ readonly placements: readonly UiActionPlacementV1[];
127
+ readonly intent?: UiActionIntentV1;
128
+ readonly confirm?: string;
129
+ readonly refresh?: "none" | "resource" | "page" | "all";
130
+ readonly extensions?: UiJsonObject;
131
+ }