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
package/index.ts ADDED
@@ -0,0 +1,281 @@
1
+ /**
2
+ * Bazis framework — public API (barrel).
3
+ *
4
+ * The common path is intentionally flat:
5
+ *
6
+ * ```ts
7
+ * import { Module, Controller, Get, runApp } from "bazis";
8
+ * ```
9
+ *
10
+ * Namespaced re-exports stay available when grouping reads better:
11
+ *
12
+ * ```ts
13
+ * import { di, http } from "bazis";
14
+ * ```
15
+ *
16
+ * Subpath imports remain available for granular usage:
17
+ *
18
+ * ```ts
19
+ * import { createContainer } from "bazis/core/di";
20
+ * ```
21
+ */
22
+ export * as app from "./core/app";
23
+ export * as agent from "./core/agent";
24
+ export * as background from "./core/background";
25
+ export * as cache from "./core/cache";
26
+ export * as di from "./core/di";
27
+ export * as http from "./core/http";
28
+ export * as grpc from "./core/grpc";
29
+ export * as httpClient from "./core/http-client";
30
+ export * as infra from "./core/infra";
31
+ export * as kernel from "./core/kernel";
32
+ export * as orm from "./core/orm";
33
+ export * as websocket from "./core/websocket";
34
+ export * as jsonapi from "./library/jsonapi";
35
+ export * as jwt from "./library/jwt";
36
+ export * as openapi from "./library/openapi";
37
+ export * as redaction from "./library/redaction";
38
+ export * as ui from "./library/ui";
39
+ export * as validation from "./library/validation";
40
+
41
+ // Golden-path application API.
42
+ export {
43
+ GrpcController, GrpcMethod, GrpcError, GrpcStatus, grpcModule, grpcService, loadGrpcPackage,
44
+ GrpcClient, grpcClientProvider,
45
+ type GrpcClientOptions, type GrpcClientTlsOptions, type GrpcCallOptions, type GrpcResponse, type GrpcResponseStream,
46
+ type GrpcContext, type GrpcModuleOptions,
47
+ } from "./core/grpc";
48
+ export {
49
+ runApp,
50
+ type RunAppOptions,
51
+ type RunAppUiAppInfo,
52
+ type RunAppUiOptions,
53
+ type RunAppUiSurfaceOptions,
54
+ type UiSurfacePolicyDecision,
55
+ type UiSurfacePolicyInput,
56
+ type UiSurfacePolicyPageInput,
57
+ type UiSurfacePageDecision,
58
+ type UiSurfaceResourceDecision,
59
+ type UiSurfaceSessionUser,
60
+ type UiSurfaceSessionV1,
61
+ } from "./core/app";
62
+ export {
63
+ Global,
64
+ Module,
65
+ collectModuleUiProfiles,
66
+ createContainer,
67
+ createToken,
68
+ scoped,
69
+ singleton,
70
+ singletonFactory,
71
+ singletonFactoryWithResolver,
72
+ singletonValue,
73
+ transient,
74
+ type ModuleConfig,
75
+ type BazisModule,
76
+ type BazisModuleMetadata,
77
+ type BazisModuleRef,
78
+ } from "./core/di";
79
+ export {
80
+ AGENT_MODEL_PROVIDER,
81
+ Agent,
82
+ AgentRegistry,
83
+ AgentRuntime,
84
+ AgentRuntimeError,
85
+ AgentSemanticError,
86
+ AgentToolExecutionError,
87
+ AgentToolExecutor,
88
+ ApproximateAgentContextTokenEstimator,
89
+ DefaultAgentContextBuilder,
90
+ Prompt,
91
+ Task,
92
+ Tool,
93
+ agentClassSchema,
94
+ agentData,
95
+ agentTaskMetadataOf,
96
+ agentInvocation,
97
+ agentJsonSchema,
98
+ agentMessage,
99
+ agentModelCapabilities,
100
+ agentModelRequest,
101
+ agentModelResponse,
102
+ agentOutput,
103
+ agentOutputContract,
104
+ agentText,
105
+ agentToolCall,
106
+ agentToolContract,
107
+ agentToolResult,
108
+ collectAgentCatalog,
109
+ type AgentCatalog,
110
+ type AgentCatalogExtras,
111
+ type AgentContext,
112
+ type AgentContextBuildInput,
113
+ type AgentContextBuilder,
114
+ type AgentContextLimits,
115
+ type AgentContextTokenEstimator,
116
+ type AgentContextTraceEntry,
117
+ type AgentDefinition,
118
+ type AgentInvocation,
119
+ type AgentMessage,
120
+ type AgentMetadataIndex,
121
+ type AgentTaskDefinition,
122
+ type AgentTaskMetadata,
123
+ type AgentTaskOptions,
124
+ type TaskDecoratorOptions,
125
+ type AgentModelCapabilities,
126
+ type AgentModelRequest,
127
+ type AgentModelResponse,
128
+ type AgentOptions,
129
+ type AgentOutputContract,
130
+ type AgentRuntimeInvokeOptions,
131
+ type AgentRuntimeOptions,
132
+ type AgentRuntimeResult,
133
+ type AgentRuntimeStatus,
134
+ type AgentRuntimeTaskInvokeOptions,
135
+ type AgentRuntimeToolExecutionOptions,
136
+ type AgentToolCall,
137
+ type AgentExecutableTool,
138
+ type AgentToolAuditEntry,
139
+ type AgentToolAuditFailureMode,
140
+ type AgentToolAuditFunction,
141
+ type AgentToolAuditPhase,
142
+ type AgentToolAuditSink,
143
+ type AgentToolAuditSinkObject,
144
+ type AgentToolAuditToolInfo,
145
+ type AgentToolApprovalPolicy,
146
+ type AgentToolApprovalRequest,
147
+ type AgentToolExecutionContext,
148
+ type AgentToolExecutionOptions,
149
+ type AgentToolExecutorOptions,
150
+ type AgentToolRetryBackoff,
151
+ type AgentToolRetryPolicy,
152
+ type AgentToolSchemaValidator,
153
+ type AgentToolValidationIssue,
154
+ type AgentToolValidationResult,
155
+ type AgentToolHookKindV1,
156
+ type AgentToolHookRefV1,
157
+ type AgentToolRequiredHookRefV1,
158
+ type AgentToolHookRegistrationBaseV1,
159
+ type AgentToolHookRegistrationV1,
160
+ type AgentToolHookContextV1,
161
+ type AgentToolCallProjectionV1,
162
+ type AgentToolDescriptorProjectionV1,
163
+ type AgentToolBeforeEffectEventV1,
164
+ type AgentToolEnforcementDecisionV1,
165
+ type AgentToolEnforcementHookV1,
166
+ type AgentToolTerminalProjectionV1,
167
+ type AgentToolSettlementEventV1,
168
+ type AgentToolSettlementResultV1,
169
+ type AgentToolSettlementHookV1,
170
+ type AgentToolObserverEventV1,
171
+ type AgentToolObserverHookV1,
172
+ type AgentToolAuditHookProjectionV1,
173
+ type AgentToolContract,
174
+ type AgentToolResult,
175
+ type AgentModelProvider,
176
+ type AgentModelProviderContext,
177
+ type JsonValue,
178
+ type PromptOptions,
179
+ type PromptSectionKind,
180
+ type PromptSectionMetadata,
181
+ type PromptSectionOptions,
182
+ type ToolOptions,
183
+ } from "./core/agent";
184
+ export {
185
+ AllowAnonymous,
186
+ Authorize,
187
+ BadRequest,
188
+ Conflict,
189
+ Controller,
190
+ Created,
191
+ Delete,
192
+ Forbidden,
193
+ Get,
194
+ HttpContext,
195
+ InternalServerError,
196
+ NoContent,
197
+ NotFound,
198
+ Ok,
199
+ Post,
200
+ Put,
201
+ RequestModel,
202
+ Unauthorized,
203
+ } from "./core/http";
204
+ export {
205
+ Cacheable,
206
+ OutputCache,
207
+ cachedScoped,
208
+ cachedSingleton,
209
+ memory,
210
+ } from "./core/cache";
211
+ export {
212
+ Column,
213
+ Check,
214
+ DbContext,
215
+ Entity,
216
+ Index,
217
+ Key,
218
+ Schema,
219
+ UUID,
220
+ ormBazisConnect,
221
+ ormModule,
222
+ postgres,
223
+ repositoryFor,
224
+ type IRepository,
225
+ } from "./core/orm";
226
+ export { defineConfig, secret, type Secret } from "./core/kernel";
227
+ export {
228
+ Infra,
229
+ infraModule,
230
+ llmConnect,
231
+ llmProfile,
232
+ llmRouter,
233
+ LlmModelRouter,
234
+ LlmModelRouterError,
235
+ openAiCompatibleAdapter,
236
+ OpenAiCompatibleModelProvider,
237
+ OpenAiCompatibleProviderError,
238
+ redisConnect,
239
+ openSearchConnect,
240
+ type LlmConfigShape,
241
+ type LlmConnectionOptions,
242
+ type LlmConnectorOptions,
243
+ type LlmModelProfile,
244
+ type LlmModelProfileOptions,
245
+ type LlmProviderAdapter,
246
+ type LlmRouterOptions,
247
+ type OpenAiCompatibleAdapterOptions,
248
+ type OpenAiCompatibleFetch,
249
+ } from "./core/infra";
250
+ export { Validator } from "./library/validation";
251
+ export {
252
+ COMPILED_UI_SURFACE_V1_API_VERSION,
253
+ COMPILED_UI_SURFACE_V1_KIND,
254
+ UI_PROFILE_V1_API_VERSION,
255
+ UI_PROFILE_V1_KIND,
256
+ UiProfile,
257
+ canonicalUiJson,
258
+ compileUiSurfaceV1,
259
+ defineUiProfile,
260
+ normalizeUiJsonObject,
261
+ normalizeUiJsonValue,
262
+ uiOperation,
263
+ uiEndpoint,
264
+ uiProfileAuthoringMetadataOf,
265
+ uiDocumentRevision,
266
+ type CompiledUiSurfaceV1,
267
+ type CompiledUiCustomPageV1,
268
+ type CompiledUiFeaturePageV1,
269
+ type CompileUiSurfaceV1Options,
270
+ type CompileUiSurfaceV1Result,
271
+ type UiDiagnosticV1,
272
+ type UiJsonObject,
273
+ type UiJsonValue,
274
+ type UiProfileV1,
275
+ type UiProfileAuthoringMetadata,
276
+ type UiProfileAuthoringOptions,
277
+ type UiCustomPagesProfileAuthoringOptions,
278
+ type UiFeaturePageAuthoring,
279
+ type UiFeaturePageProfileV1,
280
+ type UiEndpointReference,
281
+ } from "./library/ui";
@@ -0,0 +1,136 @@
1
+ import type { BoundaryJsonValue } from "./json/types-v1";
2
+
3
+ export type BazisDiagnosticSeverityV1 = "error" | "warning" | "info";
4
+ export type BazisDiagnosticStageV1 = "decode" | "schema" | "semantic" | "compile" | "bind";
5
+
6
+ export interface BazisDiagnosticSourceV1 {
7
+ readonly byteOffset: number;
8
+ readonly line: number;
9
+ readonly column: number;
10
+ }
11
+
12
+ export interface BazisDiagnosticRepairV1 {
13
+ readonly action: "add" | "remove" | "replace";
14
+ readonly pointer: string;
15
+ readonly value?: BoundaryJsonValue;
16
+ }
17
+
18
+ export interface BazisDiagnosticV1 {
19
+ readonly severity: BazisDiagnosticSeverityV1;
20
+ readonly stage: BazisDiagnosticStageV1;
21
+ readonly code: string;
22
+ readonly message: string;
23
+ readonly pointer: string;
24
+ readonly nodeId?: string;
25
+ readonly flowId?: string;
26
+ readonly source?: BazisDiagnosticSourceV1;
27
+ readonly repair?: BazisDiagnosticRepairV1;
28
+ }
29
+
30
+ export interface BazisDiagnosticsV1 {
31
+ readonly diagnostics: readonly BazisDiagnosticV1[];
32
+ readonly truncated: boolean;
33
+ }
34
+
35
+ export const BAZIS_DIAGNOSTIC_LIMIT_V1 = 100;
36
+ const DIAGNOSTIC_MESSAGE_BYTES_V1 = 512;
37
+ const DIAGNOSTIC_POINTER_BYTES_V1 = 2_048;
38
+ const UTF8 = new TextEncoder();
39
+
40
+ const SEVERITY_ORDER: Readonly<Record<BazisDiagnosticSeverityV1, number>> = {
41
+ error: 0,
42
+ warning: 1,
43
+ info: 2,
44
+ };
45
+
46
+ export function bazisDiagnosticV1(
47
+ diagnostic: BazisDiagnosticV1,
48
+ ): BazisDiagnosticV1 {
49
+ if (!/^[A-Z][A-Z0-9_]{0,127}$/.test(diagnostic.code)) {
50
+ throw new TypeError("Diagnostic code must be a stable uppercase ASCII identifier.");
51
+ }
52
+ return Object.freeze({
53
+ ...diagnostic,
54
+ message: truncateUtf8(diagnostic.message, DIAGNOSTIC_MESSAGE_BYTES_V1),
55
+ pointer: boundedPointer(diagnostic.pointer),
56
+ source: diagnostic.source === undefined ? undefined : Object.freeze({ ...diagnostic.source }),
57
+ repair: diagnostic.repair === undefined ? undefined : Object.freeze({
58
+ ...diagnostic.repair,
59
+ pointer: boundedPointer(diagnostic.repair.pointer),
60
+ }),
61
+ });
62
+ }
63
+
64
+ export function finalizeBazisDiagnosticsV1(
65
+ diagnostics: readonly BazisDiagnosticV1[],
66
+ limit = BAZIS_DIAGNOSTIC_LIMIT_V1,
67
+ ): BazisDiagnosticsV1 {
68
+ if (!Number.isSafeInteger(limit) || limit < 1) {
69
+ throw new RangeError("Diagnostic limit must be a positive safe integer.");
70
+ }
71
+ const safeLimit = Math.min(BAZIS_DIAGNOSTIC_LIMIT_V1, limit);
72
+ const sorted = [...diagnostics].sort(compareDiagnosticsV1);
73
+ if (sorted.length <= safeLimit) {
74
+ return Object.freeze({
75
+ diagnostics: Object.freeze(sorted.map(bazisDiagnosticV1)),
76
+ truncated: false,
77
+ });
78
+ }
79
+
80
+ const visible = sorted.slice(0, Math.max(0, safeLimit - 1)).map(bazisDiagnosticV1);
81
+ visible.push(bazisDiagnosticV1({
82
+ severity: "error",
83
+ stage: "schema",
84
+ code: "WF_DIAGNOSTICS_TRUNCATED",
85
+ message: "Diagnostics were truncated at the configured framework ceiling.",
86
+ pointer: "",
87
+ }));
88
+ return Object.freeze({ diagnostics: Object.freeze(visible), truncated: true });
89
+ }
90
+
91
+ export function escapeJsonPointerSegmentV1(value: string): string {
92
+ return value.replaceAll("~", "~0").replaceAll("/", "~1");
93
+ }
94
+
95
+ export function appendJsonPointerV1(pointer: string, segment: string | number): string {
96
+ return pointer + "/" + escapeJsonPointerSegmentV1(String(segment));
97
+ }
98
+
99
+ function compareDiagnosticsV1(left: BazisDiagnosticV1, right: BazisDiagnosticV1): number {
100
+ return compareText(left.pointer, right.pointer)
101
+ || compareText(left.code, right.code)
102
+ || compareText(left.nodeId ?? "", right.nodeId ?? "")
103
+ || compareText(left.flowId ?? "", right.flowId ?? "")
104
+ || SEVERITY_ORDER[left.severity] - SEVERITY_ORDER[right.severity];
105
+ }
106
+
107
+ function compareText(left: string, right: string): number {
108
+ return left < right ? -1 : left > right ? 1 : 0;
109
+ }
110
+
111
+ function boundedPointer(pointer: string): string {
112
+ if (UTF8.encode(pointer).byteLength <= DIAGNOSTIC_POINTER_BYTES_V1) {
113
+ return pointer;
114
+ }
115
+ const segments = pointer.split("/");
116
+ let output = "";
117
+ for (let index = 1; index < segments.length; index += 1) {
118
+ const candidate = output + "/" + segments[index];
119
+ if (UTF8.encode(candidate).byteLength > DIAGNOSTIC_POINTER_BYTES_V1) {
120
+ break;
121
+ }
122
+ output = candidate;
123
+ }
124
+ return output;
125
+ }
126
+
127
+ function truncateUtf8(value: string, maxBytes: number): string {
128
+ if (UTF8.encode(value).byteLength <= maxBytes) return value;
129
+ let output = "";
130
+ for (const character of value) {
131
+ const candidate = output + character;
132
+ if (UTF8.encode(candidate).byteLength > maxBytes) break;
133
+ output = candidate;
134
+ }
135
+ return output;
136
+ }
@@ -0,0 +1,73 @@
1
+ export {
2
+ BAZIS_DIAGNOSTIC_LIMIT_V1,
3
+ appendJsonPointerV1,
4
+ escapeJsonPointerSegmentV1,
5
+ finalizeBazisDiagnosticsV1,
6
+ bazisDiagnosticV1,
7
+ type BazisDiagnosticRepairV1,
8
+ type BazisDiagnosticSeverityV1,
9
+ type BazisDiagnosticSourceV1,
10
+ type BazisDiagnosticStageV1,
11
+ type BazisDiagnosticsV1,
12
+ type BazisDiagnosticV1,
13
+ } from "./diagnostics-v1";
14
+ export {
15
+ decodeBoundedJsonV1,
16
+ type DecodeBoundedJsonV1Options,
17
+ type DecodeBoundedJsonV1Result,
18
+ } from "./json/decodeBoundedJsonV1";
19
+ export {
20
+ BOUNDARY_JSON_LIMITS_V1,
21
+ boundaryJsonLimitsV1,
22
+ type BoundaryJsonLimitOverridesV1,
23
+ type BoundaryJsonLimitsV1,
24
+ } from "./json/limits-v1";
25
+ export {
26
+ normalizeBoundedJsonV1,
27
+ type NormalizeBoundedJsonV1Options,
28
+ type NormalizeBoundedJsonV1Result,
29
+ } from "./json/normalizeBoundedJsonV1";
30
+ export {
31
+ isBoundaryJsonObject,
32
+ type BoundaryJsonArray,
33
+ type BoundaryJsonObject,
34
+ type BoundaryJsonPrimitive,
35
+ type BoundaryJsonValue,
36
+ } from "./json/types-v1";
37
+ export {
38
+ BoundaryCanonicalizationErrorV1,
39
+ canonicalBoundaryJsonBytesV1,
40
+ canonicalBoundaryJsonV1,
41
+ canonicalJsonHashV1,
42
+ } from "./serialization/canonicalJsonV1";
43
+ export {
44
+ BOUNDARY_SCHEMA_V1_DOMAIN,
45
+ BOUNDARY_SCHEMA_MAX_DEPTH_V1,
46
+ BOUNDARY_SCHEMA_MAX_ENUM_VALUES_V1,
47
+ BOUNDARY_SCHEMA_MAX_NODES_V1,
48
+ type BoundaryArraySchemaV1,
49
+ type BoundaryBooleanSchemaV1,
50
+ type BoundaryIntegerSchemaV1,
51
+ type BoundaryNullSchemaV1,
52
+ type BoundaryNumberSchemaV1,
53
+ type BoundaryObjectSchemaV1,
54
+ type BoundaryScalarSchemaV1,
55
+ type BoundarySchemaCommonV1,
56
+ type BoundarySchemaTypeV1,
57
+ type BoundarySchemaV1,
58
+ type BoundaryStringFormatV1,
59
+ type BoundaryStringSchemaV1,
60
+ } from "./schema/types-v1";
61
+ export {
62
+ boundarySchemaHashV1,
63
+ } from "./schema/boundarySchemaHashV1";
64
+ export {
65
+ decodeBoundarySchemaV1,
66
+ type DecodeBoundarySchemaV1Options,
67
+ type DecodeBoundarySchemaV1Result,
68
+ } from "./schema/decodeBoundarySchemaV1";
69
+ export {
70
+ validateBoundaryValueV1,
71
+ type ValidateBoundaryValueV1Options,
72
+ type ValidateBoundaryValueV1Result,
73
+ } from "./schema/validateBoundaryValueV1";