@vurb/core 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +677 -0
- package/dist/cli/args.d.ts +26 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +117 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/commands/create.d.ts +11 -0
- package/dist/cli/commands/create.d.ts.map +1 -0
- package/dist/cli/commands/create.js +121 -0
- package/dist/cli/commands/create.js.map +1 -0
- package/dist/cli/commands/deploy.d.ts +3 -0
- package/dist/cli/commands/deploy.d.ts.map +1 -0
- package/dist/cli/commands/deploy.js +268 -0
- package/dist/cli/commands/deploy.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +9 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +58 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/lock.d.ts +5 -0
- package/dist/cli/commands/lock.d.ts.map +1 -0
- package/dist/cli/commands/lock.js +94 -0
- package/dist/cli/commands/lock.js.map +1 -0
- package/dist/cli/commands/remote.d.ts +3 -0
- package/dist/cli/commands/remote.d.ts.map +1 -0
- package/dist/cli/commands/remote.js +37 -0
- package/dist/cli/commands/remote.js.map +1 -0
- package/dist/cli/constants.d.ts +18 -0
- package/dist/cli/constants.d.ts.map +1 -0
- package/dist/cli/constants.js +95 -0
- package/dist/cli/constants.js.map +1 -0
- package/dist/cli/progress.d.ts +34 -0
- package/dist/cli/progress.d.ts.map +1 -0
- package/dist/cli/progress.js +102 -0
- package/dist/cli/progress.js.map +1 -0
- package/dist/cli/rc.d.ts +11 -0
- package/dist/cli/rc.d.ts.map +1 -0
- package/dist/cli/rc.js +75 -0
- package/dist/cli/rc.js.map +1 -0
- package/dist/cli/registry.d.ts +25 -0
- package/dist/cli/registry.d.ts.map +1 -0
- package/dist/cli/registry.js +86 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/cli/scaffold.d.ts +10 -0
- package/dist/cli/scaffold.d.ts.map +1 -0
- package/dist/cli/scaffold.js +105 -0
- package/dist/cli/scaffold.js.map +1 -0
- package/dist/cli/templates/config.d.ts +14 -0
- package/dist/cli/templates/config.d.ts.map +1 -0
- package/dist/cli/templates/config.js +133 -0
- package/dist/cli/templates/config.js.map +1 -0
- package/dist/cli/templates/constants.d.ts +9 -0
- package/dist/cli/templates/constants.d.ts.map +1 -0
- package/dist/cli/templates/constants.js +9 -0
- package/dist/cli/templates/constants.js.map +1 -0
- package/dist/cli/templates/core.d.ts +14 -0
- package/dist/cli/templates/core.d.ts.map +1 -0
- package/dist/cli/templates/core.js +186 -0
- package/dist/cli/templates/core.js.map +1 -0
- package/dist/cli/templates/cursor.d.ts +8 -0
- package/dist/cli/templates/cursor.d.ts.map +1 -0
- package/dist/cli/templates/cursor.js +13 -0
- package/dist/cli/templates/cursor.js.map +1 -0
- package/dist/cli/templates/index.d.ts +17 -0
- package/dist/cli/templates/index.d.ts.map +1 -0
- package/dist/cli/templates/index.js +27 -0
- package/dist/cli/templates/index.js.map +1 -0
- package/dist/cli/templates/middleware.d.ts +7 -0
- package/dist/cli/templates/middleware.d.ts.map +1 -0
- package/dist/cli/templates/middleware.js +34 -0
- package/dist/cli/templates/middleware.js.map +1 -0
- package/dist/cli/templates/presenter.d.ts +7 -0
- package/dist/cli/templates/presenter.d.ts.map +1 -0
- package/dist/cli/templates/presenter.js +46 -0
- package/dist/cli/templates/presenter.js.map +1 -0
- package/dist/cli/templates/prompt.d.ts +7 -0
- package/dist/cli/templates/prompt.d.ts.map +1 -0
- package/dist/cli/templates/prompt.js +42 -0
- package/dist/cli/templates/prompt.js.map +1 -0
- package/dist/cli/templates/readme.d.ts +8 -0
- package/dist/cli/templates/readme.d.ts.map +1 -0
- package/dist/cli/templates/readme.js +173 -0
- package/dist/cli/templates/readme.js.map +1 -0
- package/dist/cli/templates/testing.d.ts +11 -0
- package/dist/cli/templates/testing.d.ts.map +1 -0
- package/dist/cli/templates/testing.js +101 -0
- package/dist/cli/templates/testing.js.map +1 -0
- package/dist/cli/templates/tools.d.ts +13 -0
- package/dist/cli/templates/tools.d.ts.map +1 -0
- package/dist/cli/templates/tools.js +63 -0
- package/dist/cli/templates/tools.js.map +1 -0
- package/dist/cli/templates/vectors/database.d.ts +9 -0
- package/dist/cli/templates/vectors/database.d.ts.map +1 -0
- package/dist/cli/templates/vectors/database.js +82 -0
- package/dist/cli/templates/vectors/database.js.map +1 -0
- package/dist/cli/templates/vectors/index.d.ts +9 -0
- package/dist/cli/templates/vectors/index.d.ts.map +1 -0
- package/dist/cli/templates/vectors/index.js +9 -0
- package/dist/cli/templates/vectors/index.js.map +1 -0
- package/dist/cli/templates/vectors/oauth.d.ts +10 -0
- package/dist/cli/templates/vectors/oauth.d.ts.map +1 -0
- package/dist/cli/templates/vectors/oauth.js +76 -0
- package/dist/cli/templates/vectors/oauth.js.map +1 -0
- package/dist/cli/templates/vectors/openapi.d.ts +10 -0
- package/dist/cli/templates/vectors/openapi.d.ts.map +1 -0
- package/dist/cli/templates/vectors/openapi.js +106 -0
- package/dist/cli/templates/vectors/openapi.js.map +1 -0
- package/dist/cli/templates/vectors/workflow.d.ts +7 -0
- package/dist/cli/templates/vectors/workflow.d.ts.map +1 -0
- package/dist/cli/templates/vectors/workflow.js +49 -0
- package/dist/cli/templates/vectors/workflow.js.map +1 -0
- package/dist/cli/types.d.ts +36 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +10 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/utils.d.ts +27 -0
- package/dist/cli/utils.d.ts.map +1 -0
- package/dist/cli/utils.js +73 -0
- package/dist/cli/utils.js.map +1 -0
- package/dist/cli/vurb.d.ts +15 -0
- package/dist/cli/vurb.d.ts.map +1 -0
- package/dist/cli/vurb.js +87 -0
- package/dist/cli/vurb.js.map +1 -0
- package/dist/client/InferRouter.d.ts +92 -0
- package/dist/client/InferRouter.d.ts.map +1 -0
- package/dist/client/InferRouter.js +31 -0
- package/dist/client/InferRouter.js.map +1 -0
- package/dist/client/VurbClient.d.ts +282 -0
- package/dist/client/VurbClient.d.ts.map +1 -0
- package/dist/client/VurbClient.js +287 -0
- package/dist/client/VurbClient.js.map +1 -0
- package/dist/client/createTypedRegistry.d.ts +25 -0
- package/dist/client/createTypedRegistry.d.ts.map +1 -0
- package/dist/client/createTypedRegistry.js +74 -0
- package/dist/client/createTypedRegistry.js.map +1 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +4 -0
- package/dist/client/index.js.map +1 -0
- package/dist/converters/ConverterBase.d.ts +68 -0
- package/dist/converters/ConverterBase.d.ts.map +1 -0
- package/dist/converters/ConverterBase.js +62 -0
- package/dist/converters/ConverterBase.js.map +1 -0
- package/dist/converters/GroupConverter.d.ts +33 -0
- package/dist/converters/GroupConverter.d.ts.map +1 -0
- package/dist/converters/GroupConverter.js +26 -0
- package/dist/converters/GroupConverter.js.map +1 -0
- package/dist/converters/PromptConverter.d.ts +33 -0
- package/dist/converters/PromptConverter.d.ts.map +1 -0
- package/dist/converters/PromptConverter.js +26 -0
- package/dist/converters/PromptConverter.js.map +1 -0
- package/dist/converters/ResourceConverter.d.ts +35 -0
- package/dist/converters/ResourceConverter.d.ts.map +1 -0
- package/dist/converters/ResourceConverter.js +28 -0
- package/dist/converters/ResourceConverter.js.map +1 -0
- package/dist/converters/ToolAnnotationsConverter.d.ts +33 -0
- package/dist/converters/ToolAnnotationsConverter.d.ts.map +1 -0
- package/dist/converters/ToolAnnotationsConverter.js +26 -0
- package/dist/converters/ToolAnnotationsConverter.js.map +1 -0
- package/dist/converters/ToolConverter.d.ts +35 -0
- package/dist/converters/ToolConverter.d.ts.map +1 -0
- package/dist/converters/ToolConverter.js +28 -0
- package/dist/converters/ToolConverter.js.map +1 -0
- package/dist/converters/index.d.ts +7 -0
- package/dist/converters/index.d.ts.map +1 -0
- package/dist/converters/index.js +7 -0
- package/dist/converters/index.js.map +1 -0
- package/dist/core/StandardSchema.d.ts +178 -0
- package/dist/core/StandardSchema.d.ts.map +1 -0
- package/dist/core/StandardSchema.js +174 -0
- package/dist/core/StandardSchema.js.map +1 -0
- package/dist/core/builder/ActionGroupBuilder.d.ts +208 -0
- package/dist/core/builder/ActionGroupBuilder.d.ts.map +1 -0
- package/dist/core/builder/ActionGroupBuilder.js +193 -0
- package/dist/core/builder/ActionGroupBuilder.js.map +1 -0
- package/dist/core/builder/ErrorBuilder.d.ts +59 -0
- package/dist/core/builder/ErrorBuilder.d.ts.map +1 -0
- package/dist/core/builder/ErrorBuilder.js +99 -0
- package/dist/core/builder/ErrorBuilder.js.map +1 -0
- package/dist/core/builder/FluentRouter.d.ts +96 -0
- package/dist/core/builder/FluentRouter.d.ts.map +1 -0
- package/dist/core/builder/FluentRouter.js +116 -0
- package/dist/core/builder/FluentRouter.js.map +1 -0
- package/dist/core/builder/FluentSchemaHelpers.d.ts +237 -0
- package/dist/core/builder/FluentSchemaHelpers.d.ts.map +1 -0
- package/dist/core/builder/FluentSchemaHelpers.js +227 -0
- package/dist/core/builder/FluentSchemaHelpers.js.map +1 -0
- package/dist/core/builder/FluentToolBuilder.d.ts +419 -0
- package/dist/core/builder/FluentToolBuilder.d.ts.map +1 -0
- package/dist/core/builder/FluentToolBuilder.js +643 -0
- package/dist/core/builder/FluentToolBuilder.js.map +1 -0
- package/dist/core/builder/GroupedToolBuilder.d.ts +832 -0
- package/dist/core/builder/GroupedToolBuilder.d.ts.map +1 -0
- package/dist/core/builder/GroupedToolBuilder.js +1306 -0
- package/dist/core/builder/GroupedToolBuilder.js.map +1 -0
- package/dist/core/builder/ParamDescriptors.d.ts +142 -0
- package/dist/core/builder/ParamDescriptors.d.ts.map +1 -0
- package/dist/core/builder/ParamDescriptors.js +164 -0
- package/dist/core/builder/ParamDescriptors.js.map +1 -0
- package/dist/core/builder/ToolDefinitionCompiler.d.ts +37 -0
- package/dist/core/builder/ToolDefinitionCompiler.d.ts.map +1 -0
- package/dist/core/builder/ToolDefinitionCompiler.js +72 -0
- package/dist/core/builder/ToolDefinitionCompiler.js.map +1 -0
- package/dist/core/builder/defineTool.d.ts +180 -0
- package/dist/core/builder/defineTool.d.ts.map +1 -0
- package/dist/core/builder/defineTool.js +164 -0
- package/dist/core/builder/defineTool.js.map +1 -0
- package/dist/core/builder/index.d.ts +13 -0
- package/dist/core/builder/index.d.ts.map +1 -0
- package/dist/core/builder/index.js +13 -0
- package/dist/core/builder/index.js.map +1 -0
- package/dist/core/createGroup.d.ts +140 -0
- package/dist/core/createGroup.d.ts.map +1 -0
- package/dist/core/createGroup.js +144 -0
- package/dist/core/createGroup.js.map +1 -0
- package/dist/core/execution/ConcurrencyGuard.d.ts +103 -0
- package/dist/core/execution/ConcurrencyGuard.d.ts.map +1 -0
- package/dist/core/execution/ConcurrencyGuard.js +147 -0
- package/dist/core/execution/ConcurrencyGuard.js.map +1 -0
- package/dist/core/execution/EgressGuard.d.ts +72 -0
- package/dist/core/execution/EgressGuard.d.ts.map +1 -0
- package/dist/core/execution/EgressGuard.js +163 -0
- package/dist/core/execution/EgressGuard.js.map +1 -0
- package/dist/core/execution/ExecutionPipeline.d.ts +67 -0
- package/dist/core/execution/ExecutionPipeline.d.ts.map +1 -0
- package/dist/core/execution/ExecutionPipeline.js +176 -0
- package/dist/core/execution/ExecutionPipeline.js.map +1 -0
- package/dist/core/execution/MiddlewareCompiler.d.ts +35 -0
- package/dist/core/execution/MiddlewareCompiler.d.ts.map +1 -0
- package/dist/core/execution/MiddlewareCompiler.js +111 -0
- package/dist/core/execution/MiddlewareCompiler.js.map +1 -0
- package/dist/core/execution/MutationSerializer.d.ts +78 -0
- package/dist/core/execution/MutationSerializer.d.ts.map +1 -0
- package/dist/core/execution/MutationSerializer.js +106 -0
- package/dist/core/execution/MutationSerializer.js.map +1 -0
- package/dist/core/execution/PipelineHooks.d.ts +46 -0
- package/dist/core/execution/PipelineHooks.d.ts.map +1 -0
- package/dist/core/execution/PipelineHooks.js +66 -0
- package/dist/core/execution/PipelineHooks.js.map +1 -0
- package/dist/core/execution/ProgressHelper.d.ts +67 -0
- package/dist/core/execution/ProgressHelper.d.ts.map +1 -0
- package/dist/core/execution/ProgressHelper.js +59 -0
- package/dist/core/execution/ProgressHelper.js.map +1 -0
- package/dist/core/execution/ValidationErrorFormatter.d.ts +34 -0
- package/dist/core/execution/ValidationErrorFormatter.d.ts.map +1 -0
- package/dist/core/execution/ValidationErrorFormatter.js +193 -0
- package/dist/core/execution/ValidationErrorFormatter.js.map +1 -0
- package/dist/core/execution/index.d.ts +9 -0
- package/dist/core/execution/index.d.ts.map +1 -0
- package/dist/core/execution/index.js +9 -0
- package/dist/core/execution/index.js.map +1 -0
- package/dist/core/index.d.ts +34 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +29 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/initVurb.d.ts +295 -0
- package/dist/core/initVurb.d.ts.map +1 -0
- package/dist/core/initVurb.js +171 -0
- package/dist/core/initVurb.js.map +1 -0
- package/dist/core/middleware/ContextDerivation.d.ts +124 -0
- package/dist/core/middleware/ContextDerivation.d.ts.map +1 -0
- package/dist/core/middleware/ContextDerivation.js +117 -0
- package/dist/core/middleware/ContextDerivation.js.map +1 -0
- package/dist/core/middleware/index.d.ts +4 -0
- package/dist/core/middleware/index.d.ts.map +1 -0
- package/dist/core/middleware/index.js +3 -0
- package/dist/core/middleware/index.js.map +1 -0
- package/dist/core/registry/ToolFilterEngine.d.ts +27 -0
- package/dist/core/registry/ToolFilterEngine.d.ts.map +1 -0
- package/dist/core/registry/ToolFilterEngine.js +45 -0
- package/dist/core/registry/ToolFilterEngine.js.map +1 -0
- package/dist/core/registry/ToolRegistry.d.ts +259 -0
- package/dist/core/registry/ToolRegistry.d.ts.map +1 -0
- package/dist/core/registry/ToolRegistry.js +343 -0
- package/dist/core/registry/ToolRegistry.js.map +1 -0
- package/dist/core/registry/index.d.ts +4 -0
- package/dist/core/registry/index.d.ts.map +1 -0
- package/dist/core/registry/index.js +3 -0
- package/dist/core/registry/index.js.map +1 -0
- package/dist/core/response.d.ts +289 -0
- package/dist/core/response.d.ts.map +1 -0
- package/dist/core/response.js +286 -0
- package/dist/core/response.js.map +1 -0
- package/dist/core/result.d.ts +93 -0
- package/dist/core/result.d.ts.map +1 -0
- package/dist/core/result.js +66 -0
- package/dist/core/result.js.map +1 -0
- package/dist/core/schema/AnnotationAggregator.d.ts +11 -0
- package/dist/core/schema/AnnotationAggregator.d.ts.map +1 -0
- package/dist/core/schema/AnnotationAggregator.js +40 -0
- package/dist/core/schema/AnnotationAggregator.js.map +1 -0
- package/dist/core/schema/DescriptionGenerator.d.ts +12 -0
- package/dist/core/schema/DescriptionGenerator.d.ts.map +1 -0
- package/dist/core/schema/DescriptionGenerator.js +81 -0
- package/dist/core/schema/DescriptionGenerator.js.map +1 -0
- package/dist/core/schema/SchemaGenerator.d.ts +15 -0
- package/dist/core/schema/SchemaGenerator.d.ts.map +1 -0
- package/dist/core/schema/SchemaGenerator.js +192 -0
- package/dist/core/schema/SchemaGenerator.js.map +1 -0
- package/dist/core/schema/SchemaUtils.d.ts +26 -0
- package/dist/core/schema/SchemaUtils.d.ts.map +1 -0
- package/dist/core/schema/SchemaUtils.js +85 -0
- package/dist/core/schema/SchemaUtils.js.map +1 -0
- package/dist/core/schema/ToonDescriptionGenerator.d.ts +3 -0
- package/dist/core/schema/ToonDescriptionGenerator.d.ts.map +1 -0
- package/dist/core/schema/ToonDescriptionGenerator.js +65 -0
- package/dist/core/schema/ToonDescriptionGenerator.js.map +1 -0
- package/dist/core/schema/index.d.ts +7 -0
- package/dist/core/schema/index.d.ts.map +1 -0
- package/dist/core/schema/index.js +7 -0
- package/dist/core/schema/index.js.map +1 -0
- package/dist/core/serialization/JsonSerializer.d.ts +71 -0
- package/dist/core/serialization/JsonSerializer.d.ts.map +1 -0
- package/dist/core/serialization/JsonSerializer.js +192 -0
- package/dist/core/serialization/JsonSerializer.js.map +1 -0
- package/dist/core/serialization/index.d.ts +7 -0
- package/dist/core/serialization/index.d.ts.map +1 -0
- package/dist/core/serialization/index.js +7 -0
- package/dist/core/serialization/index.js.map +1 -0
- package/dist/core/types.d.ts +303 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +17 -0
- package/dist/core/types.js.map +1 -0
- package/dist/domain/Annotations.d.ts +42 -0
- package/dist/domain/Annotations.d.ts.map +1 -0
- package/dist/domain/Annotations.js +16 -0
- package/dist/domain/Annotations.js.map +1 -0
- package/dist/domain/BaseModel.d.ts +50 -0
- package/dist/domain/BaseModel.d.ts.map +1 -0
- package/dist/domain/BaseModel.js +41 -0
- package/dist/domain/BaseModel.js.map +1 -0
- package/dist/domain/Group.d.ts +99 -0
- package/dist/domain/Group.d.ts.map +1 -0
- package/dist/domain/Group.js +172 -0
- package/dist/domain/Group.js.map +1 -0
- package/dist/domain/GroupItem.d.ts +46 -0
- package/dist/domain/GroupItem.d.ts.map +1 -0
- package/dist/domain/GroupItem.js +58 -0
- package/dist/domain/GroupItem.js.map +1 -0
- package/dist/domain/Icon.d.ts +41 -0
- package/dist/domain/Icon.d.ts.map +1 -0
- package/dist/domain/Icon.js +15 -0
- package/dist/domain/Icon.js.map +1 -0
- package/dist/domain/Prompt.d.ts +49 -0
- package/dist/domain/Prompt.d.ts.map +1 -0
- package/dist/domain/Prompt.js +59 -0
- package/dist/domain/Prompt.js.map +1 -0
- package/dist/domain/PromptArgument.d.ts +23 -0
- package/dist/domain/PromptArgument.d.ts.map +1 -0
- package/dist/domain/PromptArgument.js +27 -0
- package/dist/domain/PromptArgument.js.map +1 -0
- package/dist/domain/Resource.d.ts +37 -0
- package/dist/domain/Resource.d.ts.map +1 -0
- package/dist/domain/Resource.js +39 -0
- package/dist/domain/Resource.js.map +1 -0
- package/dist/domain/Role.d.ts +23 -0
- package/dist/domain/Role.d.ts.map +1 -0
- package/dist/domain/Role.js +24 -0
- package/dist/domain/Role.js.map +1 -0
- package/dist/domain/Tool.d.ts +39 -0
- package/dist/domain/Tool.d.ts.map +1 -0
- package/dist/domain/Tool.js +41 -0
- package/dist/domain/Tool.js.map +1 -0
- package/dist/domain/ToolAnnotations.d.ts +48 -0
- package/dist/domain/ToolAnnotations.d.ts.map +1 -0
- package/dist/domain/ToolAnnotations.js +15 -0
- package/dist/domain/ToolAnnotations.js.map +1 -0
- package/dist/domain/index.d.ts +16 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +13 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/utils.d.ts +6 -0
- package/dist/domain/utils.d.ts.map +1 -0
- package/dist/domain/utils.js +12 -0
- package/dist/domain/utils.js.map +1 -0
- package/dist/edge-stub.d.ts +73 -0
- package/dist/edge-stub.d.ts.map +1 -0
- package/dist/edge-stub.js +83 -0
- package/dist/edge-stub.js.map +1 -0
- package/dist/exposition/ExpositionCompiler.d.ts +66 -0
- package/dist/exposition/ExpositionCompiler.d.ts.map +1 -0
- package/dist/exposition/ExpositionCompiler.js +279 -0
- package/dist/exposition/ExpositionCompiler.js.map +1 -0
- package/dist/exposition/index.d.ts +4 -0
- package/dist/exposition/index.d.ts.map +1 -0
- package/dist/exposition/index.js +2 -0
- package/dist/exposition/index.js.map +1 -0
- package/dist/exposition/types.d.ts +58 -0
- package/dist/exposition/types.d.ts.map +1 -0
- package/dist/exposition/types.js +11 -0
- package/dist/exposition/types.js.map +1 -0
- package/dist/fsm/StateMachineGate.d.ts +294 -0
- package/dist/fsm/StateMachineGate.d.ts.map +1 -0
- package/dist/fsm/StateMachineGate.js +400 -0
- package/dist/fsm/StateMachineGate.js.map +1 -0
- package/dist/index.d.ts +148 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +112 -0
- package/dist/index.js.map +1 -0
- package/dist/introspection/BehaviorDigest.d.ts +112 -0
- package/dist/introspection/BehaviorDigest.d.ts.map +1 -0
- package/dist/introspection/BehaviorDigest.js +149 -0
- package/dist/introspection/BehaviorDigest.js.map +1 -0
- package/dist/introspection/CapabilityLockfile.d.ts +261 -0
- package/dist/introspection/CapabilityLockfile.d.ts.map +1 -0
- package/dist/introspection/CapabilityLockfile.js +395 -0
- package/dist/introspection/CapabilityLockfile.js.map +1 -0
- package/dist/introspection/ContractAwareSelfHealing.d.ts +90 -0
- package/dist/introspection/ContractAwareSelfHealing.d.ts.map +1 -0
- package/dist/introspection/ContractAwareSelfHealing.js +132 -0
- package/dist/introspection/ContractAwareSelfHealing.js.map +1 -0
- package/dist/introspection/ContractDiff.d.ts +91 -0
- package/dist/introspection/ContractDiff.d.ts.map +1 -0
- package/dist/introspection/ContractDiff.js +466 -0
- package/dist/introspection/ContractDiff.js.map +1 -0
- package/dist/introspection/CryptoAttestation.d.ts +143 -0
- package/dist/introspection/CryptoAttestation.d.ts.map +1 -0
- package/dist/introspection/CryptoAttestation.js +192 -0
- package/dist/introspection/CryptoAttestation.js.map +1 -0
- package/dist/introspection/EntitlementScanner.d.ts +177 -0
- package/dist/introspection/EntitlementScanner.d.ts.map +1 -0
- package/dist/introspection/EntitlementScanner.js +459 -0
- package/dist/introspection/EntitlementScanner.js.map +1 -0
- package/dist/introspection/GovernanceObserver.d.ts +88 -0
- package/dist/introspection/GovernanceObserver.d.ts.map +1 -0
- package/dist/introspection/GovernanceObserver.js +136 -0
- package/dist/introspection/GovernanceObserver.js.map +1 -0
- package/dist/introspection/IntrospectionResource.d.ts +20 -0
- package/dist/introspection/IntrospectionResource.d.ts.map +1 -0
- package/dist/introspection/IntrospectionResource.js +112 -0
- package/dist/introspection/IntrospectionResource.js.map +1 -0
- package/dist/introspection/ManifestCompiler.d.ts +33 -0
- package/dist/introspection/ManifestCompiler.d.ts.map +1 -0
- package/dist/introspection/ManifestCompiler.js +88 -0
- package/dist/introspection/ManifestCompiler.js.map +1 -0
- package/dist/introspection/SemanticProbe.d.ts +207 -0
- package/dist/introspection/SemanticProbe.d.ts.map +1 -0
- package/dist/introspection/SemanticProbe.js +274 -0
- package/dist/introspection/SemanticProbe.js.map +1 -0
- package/dist/introspection/TokenEconomics.d.ts +210 -0
- package/dist/introspection/TokenEconomics.d.ts.map +1 -0
- package/dist/introspection/TokenEconomics.js +292 -0
- package/dist/introspection/TokenEconomics.js.map +1 -0
- package/dist/introspection/ToolContract.d.ts +161 -0
- package/dist/introspection/ToolContract.d.ts.map +1 -0
- package/dist/introspection/ToolContract.js +218 -0
- package/dist/introspection/ToolContract.js.map +1 -0
- package/dist/introspection/canonicalize.d.ts +35 -0
- package/dist/introspection/canonicalize.d.ts.map +1 -0
- package/dist/introspection/canonicalize.js +72 -0
- package/dist/introspection/canonicalize.js.map +1 -0
- package/dist/introspection/index.d.ts +26 -0
- package/dist/introspection/index.d.ts.map +1 -0
- package/dist/introspection/index.js +24 -0
- package/dist/introspection/index.js.map +1 -0
- package/dist/introspection/types.d.ts +120 -0
- package/dist/introspection/types.d.ts.map +1 -0
- package/dist/introspection/types.js +13 -0
- package/dist/introspection/types.js.map +1 -0
- package/dist/observability/DebugObserver.d.ts +185 -0
- package/dist/observability/DebugObserver.d.ts.map +1 -0
- package/dist/observability/DebugObserver.js +102 -0
- package/dist/observability/DebugObserver.js.map +1 -0
- package/dist/observability/TelemetryBus.d.ts +88 -0
- package/dist/observability/TelemetryBus.d.ts.map +1 -0
- package/dist/observability/TelemetryBus.js +463 -0
- package/dist/observability/TelemetryBus.js.map +1 -0
- package/dist/observability/TelemetryEvent.d.ts +177 -0
- package/dist/observability/TelemetryEvent.d.ts.map +1 -0
- package/dist/observability/TelemetryEvent.js +2 -0
- package/dist/observability/TelemetryEvent.js.map +1 -0
- package/dist/observability/Tracing.d.ts +155 -0
- package/dist/observability/Tracing.d.ts.map +1 -0
- package/dist/observability/Tracing.js +67 -0
- package/dist/observability/Tracing.js.map +1 -0
- package/dist/observability/index.d.ts +13 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +12 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/presenter/PostProcessor.d.ts +52 -0
- package/dist/presenter/PostProcessor.d.ts.map +1 -0
- package/dist/presenter/PostProcessor.js +148 -0
- package/dist/presenter/PostProcessor.js.map +1 -0
- package/dist/presenter/Presenter.d.ts +575 -0
- package/dist/presenter/Presenter.d.ts.map +1 -0
- package/dist/presenter/Presenter.js +768 -0
- package/dist/presenter/Presenter.js.map +1 -0
- package/dist/presenter/PresenterValidationError.d.ts +42 -0
- package/dist/presenter/PresenterValidationError.d.ts.map +1 -0
- package/dist/presenter/PresenterValidationError.js +55 -0
- package/dist/presenter/PresenterValidationError.js.map +1 -0
- package/dist/presenter/RedactEngine.d.ts +110 -0
- package/dist/presenter/RedactEngine.d.ts.map +1 -0
- package/dist/presenter/RedactEngine.js +128 -0
- package/dist/presenter/RedactEngine.js.map +1 -0
- package/dist/presenter/ResponseBuilder.d.ts +262 -0
- package/dist/presenter/ResponseBuilder.d.ts.map +1 -0
- package/dist/presenter/ResponseBuilder.js +374 -0
- package/dist/presenter/ResponseBuilder.js.map +1 -0
- package/dist/presenter/SelectUtils.d.ts +78 -0
- package/dist/presenter/SelectUtils.d.ts.map +1 -0
- package/dist/presenter/SelectUtils.js +141 -0
- package/dist/presenter/SelectUtils.js.map +1 -0
- package/dist/presenter/ZodDescriptionExtractor.d.ts +54 -0
- package/dist/presenter/ZodDescriptionExtractor.d.ts.map +1 -0
- package/dist/presenter/ZodDescriptionExtractor.js +131 -0
- package/dist/presenter/ZodDescriptionExtractor.js.map +1 -0
- package/dist/presenter/definePresenter.d.ts +193 -0
- package/dist/presenter/definePresenter.d.ts.map +1 -0
- package/dist/presenter/definePresenter.js +99 -0
- package/dist/presenter/definePresenter.js.map +1 -0
- package/dist/presenter/index.d.ts +21 -0
- package/dist/presenter/index.d.ts.map +1 -0
- package/dist/presenter/index.js +28 -0
- package/dist/presenter/index.js.map +1 -0
- package/dist/presenter/suggest.d.ts +39 -0
- package/dist/presenter/suggest.d.ts.map +1 -0
- package/dist/presenter/suggest.js +41 -0
- package/dist/presenter/suggest.js.map +1 -0
- package/dist/presenter/typeHelpers.d.ts +147 -0
- package/dist/presenter/typeHelpers.d.ts.map +1 -0
- package/dist/presenter/typeHelpers.js +152 -0
- package/dist/presenter/typeHelpers.js.map +1 -0
- package/dist/presenter/ui.d.ts +205 -0
- package/dist/presenter/ui.d.ts.map +1 -0
- package/dist/presenter/ui.js +222 -0
- package/dist/presenter/ui.js.map +1 -0
- package/dist/prompt/CursorCodec.d.ts +43 -0
- package/dist/prompt/CursorCodec.d.ts.map +1 -0
- package/dist/prompt/CursorCodec.js +171 -0
- package/dist/prompt/CursorCodec.js.map +1 -0
- package/dist/prompt/FluentPromptBuilder.d.ts +155 -0
- package/dist/prompt/FluentPromptBuilder.d.ts.map +1 -0
- package/dist/prompt/FluentPromptBuilder.js +195 -0
- package/dist/prompt/FluentPromptBuilder.js.map +1 -0
- package/dist/prompt/HydrationSandbox.d.ts +55 -0
- package/dist/prompt/HydrationSandbox.d.ts.map +1 -0
- package/dist/prompt/HydrationSandbox.js +122 -0
- package/dist/prompt/HydrationSandbox.js.map +1 -0
- package/dist/prompt/PromptExecutionPipeline.d.ts +61 -0
- package/dist/prompt/PromptExecutionPipeline.d.ts.map +1 -0
- package/dist/prompt/PromptExecutionPipeline.js +177 -0
- package/dist/prompt/PromptExecutionPipeline.js.map +1 -0
- package/dist/prompt/PromptMessage.d.ts +133 -0
- package/dist/prompt/PromptMessage.d.ts.map +1 -0
- package/dist/prompt/PromptMessage.js +182 -0
- package/dist/prompt/PromptMessage.js.map +1 -0
- package/dist/prompt/PromptRegistry.d.ts +236 -0
- package/dist/prompt/PromptRegistry.d.ts.map +1 -0
- package/dist/prompt/PromptRegistry.js +399 -0
- package/dist/prompt/PromptRegistry.js.map +1 -0
- package/dist/prompt/definePrompt.d.ts +111 -0
- package/dist/prompt/definePrompt.d.ts.map +1 -0
- package/dist/prompt/definePrompt.js +130 -0
- package/dist/prompt/definePrompt.js.map +1 -0
- package/dist/prompt/index.d.ts +12 -0
- package/dist/prompt/index.d.ts.map +1 -0
- package/dist/prompt/index.js +13 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/prompt/types.d.ts +425 -0
- package/dist/prompt/types.d.ts.map +1 -0
- package/dist/prompt/types.js +19 -0
- package/dist/prompt/types.js.map +1 -0
- package/dist/sandbox/SandboxEngine.d.ts +225 -0
- package/dist/sandbox/SandboxEngine.d.ts.map +1 -0
- package/dist/sandbox/SandboxEngine.js +437 -0
- package/dist/sandbox/SandboxEngine.js.map +1 -0
- package/dist/sandbox/SandboxGuard.d.ts +47 -0
- package/dist/sandbox/SandboxGuard.d.ts.map +1 -0
- package/dist/sandbox/SandboxGuard.js +127 -0
- package/dist/sandbox/SandboxGuard.js.map +1 -0
- package/dist/sandbox/index.d.ts +23 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/index.js +26 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/server/DevServer.d.ts +120 -0
- package/dist/server/DevServer.d.ts.map +1 -0
- package/dist/server/DevServer.js +252 -0
- package/dist/server/DevServer.js.map +1 -0
- package/dist/server/ServerAttachment.d.ts +354 -0
- package/dist/server/ServerAttachment.d.ts.map +1 -0
- package/dist/server/ServerAttachment.js +709 -0
- package/dist/server/ServerAttachment.js.map +1 -0
- package/dist/server/ServerResolver.d.ts +24 -0
- package/dist/server/ServerResolver.d.ts.map +1 -0
- package/dist/server/ServerResolver.js +50 -0
- package/dist/server/ServerResolver.js.map +1 -0
- package/dist/server/autoDiscover.d.ts +75 -0
- package/dist/server/autoDiscover.d.ts.map +1 -0
- package/dist/server/autoDiscover.js +164 -0
- package/dist/server/autoDiscover.js.map +1 -0
- package/dist/server/index.d.ts +12 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +11 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/startServer.d.ts +81 -0
- package/dist/server/startServer.d.ts.map +1 -0
- package/dist/server/startServer.js +143 -0
- package/dist/server/startServer.js.map +1 -0
- package/dist/state-sync/CausalEngine.d.ts +28 -0
- package/dist/state-sync/CausalEngine.d.ts.map +1 -0
- package/dist/state-sync/CausalEngine.js +17 -0
- package/dist/state-sync/CausalEngine.js.map +1 -0
- package/dist/state-sync/DescriptionDecorator.d.ts +31 -0
- package/dist/state-sync/DescriptionDecorator.d.ts.map +1 -0
- package/dist/state-sync/DescriptionDecorator.js +38 -0
- package/dist/state-sync/DescriptionDecorator.js.map +1 -0
- package/dist/state-sync/GlobMatcher.d.ts +29 -0
- package/dist/state-sync/GlobMatcher.d.ts.map +1 -0
- package/dist/state-sync/GlobMatcher.js +79 -0
- package/dist/state-sync/GlobMatcher.js.map +1 -0
- package/dist/state-sync/PolicyEngine.d.ts +75 -0
- package/dist/state-sync/PolicyEngine.d.ts.map +1 -0
- package/dist/state-sync/PolicyEngine.js +107 -0
- package/dist/state-sync/PolicyEngine.js.map +1 -0
- package/dist/state-sync/PolicyValidator.d.ts +67 -0
- package/dist/state-sync/PolicyValidator.d.ts.map +1 -0
- package/dist/state-sync/PolicyValidator.js +122 -0
- package/dist/state-sync/PolicyValidator.js.map +1 -0
- package/dist/state-sync/ResponseDecorator.d.ts +33 -0
- package/dist/state-sync/ResponseDecorator.d.ts.map +1 -0
- package/dist/state-sync/ResponseDecorator.js +20 -0
- package/dist/state-sync/ResponseDecorator.js.map +1 -0
- package/dist/state-sync/StateSyncBuilder.d.ts +77 -0
- package/dist/state-sync/StateSyncBuilder.d.ts.map +1 -0
- package/dist/state-sync/StateSyncBuilder.js +129 -0
- package/dist/state-sync/StateSyncBuilder.js.map +1 -0
- package/dist/state-sync/StateSyncLayer.d.ts +107 -0
- package/dist/state-sync/StateSyncLayer.d.ts.map +1 -0
- package/dist/state-sync/StateSyncLayer.js +158 -0
- package/dist/state-sync/StateSyncLayer.js.map +1 -0
- package/dist/state-sync/index.d.ts +27 -0
- package/dist/state-sync/index.d.ts.map +1 -0
- package/dist/state-sync/index.js +27 -0
- package/dist/state-sync/index.js.map +1 -0
- package/dist/state-sync/types.d.ts +174 -0
- package/dist/state-sync/types.d.ts.map +1 -0
- package/dist/state-sync/types.js +17 -0
- package/dist/state-sync/types.js.map +1 -0
- package/dist/testing/MvaMetaSymbol.d.ts +45 -0
- package/dist/testing/MvaMetaSymbol.d.ts.map +1 -0
- package/dist/testing/MvaMetaSymbol.js +34 -0
- package/dist/testing/MvaMetaSymbol.js.map +1 -0
- package/package.json +153 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SchemaGenerator — JSON Schema Input Schema Strategy
|
|
3
|
+
*
|
|
4
|
+
* Generates MCP-compatible inputSchema from Zod definitions:
|
|
5
|
+
* - Discriminator enum from action keys
|
|
6
|
+
* - Common + per-action schema merging (with omitCommon support)
|
|
7
|
+
* - Per-field annotations (required-for / optional-for)
|
|
8
|
+
*
|
|
9
|
+
* Pure-function module: no state, no side effects.
|
|
10
|
+
*/
|
|
11
|
+
import {} from 'zod';
|
|
12
|
+
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
13
|
+
import {} from '@modelcontextprotocol/sdk/types.js';
|
|
14
|
+
import {} from '../types.js';
|
|
15
|
+
import { assertFieldCompatibility } from './SchemaUtils.js';
|
|
16
|
+
import { isPresenter } from '../../presenter/Presenter.js';
|
|
17
|
+
// ── Public API ───────────────────────────────────────────
|
|
18
|
+
export function generateInputSchema(actions, discriminator, hasGroup, commonSchema, selectEnabled = false) {
|
|
19
|
+
const actionKeys = actions.map(a => a.key);
|
|
20
|
+
const properties = {};
|
|
21
|
+
const topLevelRequired = [discriminator];
|
|
22
|
+
const fieldActions = new Map();
|
|
23
|
+
addDiscriminatorProperty(properties, discriminator, actionKeys, hasGroup);
|
|
24
|
+
const omitSets = buildOmitSets(actions);
|
|
25
|
+
const commonRequiredFields = collectCommonFields(commonSchema, actionKeys, omitSets, properties, topLevelRequired, fieldActions);
|
|
26
|
+
collectActionFields(actions, properties, fieldActions);
|
|
27
|
+
applyAnnotations(fieldActions, commonRequiredFields, actionKeys, properties);
|
|
28
|
+
// ── _select Reflection (opt-in) ──────────────────────
|
|
29
|
+
if (selectEnabled) {
|
|
30
|
+
injectSelectProperty(actions, properties);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
type: 'object',
|
|
34
|
+
properties,
|
|
35
|
+
required: topLevelRequired,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
// ── Internal Steps ───────────────────────────────────────
|
|
39
|
+
/** Step 1: Add the discriminator enum property */
|
|
40
|
+
function addDiscriminatorProperty(properties, discriminator, actionKeys, hasGroup) {
|
|
41
|
+
properties[discriminator] = {
|
|
42
|
+
type: 'string',
|
|
43
|
+
enum: actionKeys,
|
|
44
|
+
description: hasGroup
|
|
45
|
+
? `Module and operation (module.${discriminator} format)`
|
|
46
|
+
: 'Which operation to perform',
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/** Build per-action omit sets for O(1) field exclusion checks */
|
|
50
|
+
function buildOmitSets(actions) {
|
|
51
|
+
const sets = new Map();
|
|
52
|
+
for (const action of actions) {
|
|
53
|
+
if ((action.omitCommonFields?.length ?? 0) > 0) {
|
|
54
|
+
sets.set(action.key, new Set(action.omitCommonFields));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return sets;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Step 2: Process commonSchema fields.
|
|
61
|
+
*
|
|
62
|
+
* Omitted fields are excluded from per-action tracking.
|
|
63
|
+
* Fields required by ALL actions go to topLevelRequired.
|
|
64
|
+
*
|
|
65
|
+
* @returns The set of common required field names (for annotation logic)
|
|
66
|
+
*/
|
|
67
|
+
function collectCommonFields(commonSchema, actionKeys, omitSets, properties, topLevelRequired, fieldActions) {
|
|
68
|
+
const commonRequiredFields = new Set();
|
|
69
|
+
if (!commonSchema)
|
|
70
|
+
return commonRequiredFields;
|
|
71
|
+
const jsonSchema = zodToJsonSchema(commonSchema, { target: 'jsonSchema7' });
|
|
72
|
+
const schemaProps = jsonSchema.properties ?? {};
|
|
73
|
+
const schemaRequired = jsonSchema.required ?? [];
|
|
74
|
+
for (const field of schemaRequired) {
|
|
75
|
+
commonRequiredFields.add(field);
|
|
76
|
+
}
|
|
77
|
+
for (const [key, value] of Object.entries(schemaProps)) {
|
|
78
|
+
const actionsUsingField = actionKeys.filter(ak => {
|
|
79
|
+
const omitSet = omitSets.get(ak);
|
|
80
|
+
return !omitSet || !omitSet.has(key);
|
|
81
|
+
});
|
|
82
|
+
// If no action uses the field, skip it entirely
|
|
83
|
+
if (actionsUsingField.length === 0)
|
|
84
|
+
continue;
|
|
85
|
+
properties[key] = value;
|
|
86
|
+
// Only add to topLevelRequired if ALL actions use this field
|
|
87
|
+
if (commonRequiredFields.has(key) && actionsUsingField.length === actionKeys.length) {
|
|
88
|
+
topLevelRequired.push(key);
|
|
89
|
+
}
|
|
90
|
+
fieldActions.set(key, {
|
|
91
|
+
keys: [...actionsUsingField],
|
|
92
|
+
requiredIn: commonRequiredFields.has(key) ? [...actionsUsingField] : [],
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return commonRequiredFields;
|
|
96
|
+
}
|
|
97
|
+
/** Step 3: Collect per-action schema fields with compatibility checks */
|
|
98
|
+
function collectActionFields(actions, properties, fieldActions) {
|
|
99
|
+
for (const action of actions) {
|
|
100
|
+
if (!action.schema)
|
|
101
|
+
continue;
|
|
102
|
+
const jsonSchema = zodToJsonSchema(action.schema, { target: 'jsonSchema7' });
|
|
103
|
+
const schemaProps = jsonSchema.properties ?? {};
|
|
104
|
+
const schemaRequired = jsonSchema.required ?? [];
|
|
105
|
+
const requiredSet = new Set(schemaRequired);
|
|
106
|
+
for (const [key, value] of Object.entries(schemaProps)) {
|
|
107
|
+
const existing = properties[key];
|
|
108
|
+
if (!existing) {
|
|
109
|
+
properties[key] = value;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
const merged = assertFieldCompatibility(existing, value, key, action.key);
|
|
113
|
+
if (merged) {
|
|
114
|
+
properties[key] = merged;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
let tracking = fieldActions.get(key);
|
|
118
|
+
if (!tracking) {
|
|
119
|
+
tracking = { keys: [], requiredIn: [] };
|
|
120
|
+
fieldActions.set(key, tracking);
|
|
121
|
+
}
|
|
122
|
+
tracking.keys.push(action.key);
|
|
123
|
+
if (requiredSet.has(key)) {
|
|
124
|
+
tracking.requiredIn.push(action.key);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/** Step 4: Apply per-field annotations based on tracking data */
|
|
130
|
+
function applyAnnotations(fieldActions, commonRequiredFields, actionKeys, properties) {
|
|
131
|
+
for (const [key, tracking] of fieldActions.entries()) {
|
|
132
|
+
if (commonRequiredFields.has(key) && tracking.keys.length === actionKeys.length) {
|
|
133
|
+
annotateField(properties, key, '(always required)');
|
|
134
|
+
}
|
|
135
|
+
else if (tracking.requiredIn.length > 0 && tracking.requiredIn.length === tracking.keys.length) {
|
|
136
|
+
annotateField(properties, key, `Required for: ${tracking.requiredIn.join(', ')}`);
|
|
137
|
+
}
|
|
138
|
+
else if (tracking.requiredIn.length > 0) {
|
|
139
|
+
const optionalIn = tracking.keys.filter(k => !tracking.requiredIn.includes(k));
|
|
140
|
+
let annotation = `Required for: ${tracking.requiredIn.join(', ')}`;
|
|
141
|
+
if (optionalIn.length > 0) {
|
|
142
|
+
annotation += `. For: ${optionalIn.join(', ')}`;
|
|
143
|
+
}
|
|
144
|
+
annotateField(properties, key, annotation);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
annotateField(properties, key, `For: ${tracking.keys.join(', ')}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function annotateField(properties, key, annotation) {
|
|
152
|
+
const field = properties[key];
|
|
153
|
+
if (!field)
|
|
154
|
+
return;
|
|
155
|
+
const existingDesc = field.description ?? '';
|
|
156
|
+
field.description = existingDesc
|
|
157
|
+
? `${existingDesc}. ${annotation}`
|
|
158
|
+
: annotation;
|
|
159
|
+
}
|
|
160
|
+
// ── _select Reflection ───────────────────────────────────
|
|
161
|
+
/**
|
|
162
|
+
* Inject `_select` property into the input schema.
|
|
163
|
+
*
|
|
164
|
+
* Collects the union of all top-level schema keys from Presenters
|
|
165
|
+
* across all actions. If any action has a Presenter with extractable
|
|
166
|
+
* keys, a `_select` optional array property is added with an enum
|
|
167
|
+
* constraint of those keys.
|
|
168
|
+
*
|
|
169
|
+
* **Top-level only**: The enum lists root-level keys only.
|
|
170
|
+
* Nested objects are returned whole when selected.
|
|
171
|
+
*/
|
|
172
|
+
function injectSelectProperty(actions, properties) {
|
|
173
|
+
const allKeys = new Set();
|
|
174
|
+
for (const action of actions) {
|
|
175
|
+
if (action.returns && isPresenter(action.returns)) {
|
|
176
|
+
for (const key of action.returns.getSchemaKeys()) {
|
|
177
|
+
allKeys.add(key);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
if (allKeys.size === 0)
|
|
182
|
+
return;
|
|
183
|
+
properties['_select'] = {
|
|
184
|
+
type: 'array',
|
|
185
|
+
description: '⚡ Context optimization: select only the response fields you need. Omit to receive all fields.',
|
|
186
|
+
items: {
|
|
187
|
+
type: 'string',
|
|
188
|
+
enum: [...allKeys].sort(),
|
|
189
|
+
},
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=SchemaGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaGenerator.js","sourceRoot":"","sources":["../../../src/core/schema/SchemaGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SchemaUtils — Shared Schema Inspection & Validation Utilities
|
|
3
|
+
*
|
|
4
|
+
* Extracted helpers for inspecting Zod schema metadata and
|
|
5
|
+
* asserting JSON Schema field compatibility across actions.
|
|
6
|
+
*
|
|
7
|
+
* Used by: SchemaGenerator, DescriptionGenerator, ToonDescriptionGenerator.
|
|
8
|
+
*
|
|
9
|
+
* Pure-function module: no state, no side effects.
|
|
10
|
+
*/
|
|
11
|
+
import { type ZodObject, type ZodRawShape } from 'zod';
|
|
12
|
+
import { type InternalAction } from '../types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Check if a value is a Zod schema (has `_def` property).
|
|
15
|
+
*
|
|
16
|
+
* Used by `defineTool` and `definePrompt` to distinguish
|
|
17
|
+
* Zod schemas from JSON descriptor objects.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isZodSchema(value: unknown): value is ZodObject<ZodRawShape>;
|
|
20
|
+
/**
|
|
21
|
+
* Get the list of required field names from an action's Zod schema.
|
|
22
|
+
* Returns an empty array if the action has no schema.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getActionRequiredFields<TContext>(action: InternalAction<TContext>): string[];
|
|
25
|
+
export declare function assertFieldCompatibility(existing: object, incoming: object, field: string, actionKey: string): object | undefined;
|
|
26
|
+
//# sourceMappingURL=SchemaUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaUtils.d.ts","sourceRoot":"","sources":["../../../src/core/schema/SchemaUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAmB,MAAM,KAAK,CAAC;AACxE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC,WAAW,CAAC,CAO3E;AAID;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,CAU5F;AAsCD,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAwCpB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SchemaUtils — Shared Schema Inspection & Validation Utilities
|
|
3
|
+
*
|
|
4
|
+
* Extracted helpers for inspecting Zod schema metadata and
|
|
5
|
+
* asserting JSON Schema field compatibility across actions.
|
|
6
|
+
*
|
|
7
|
+
* Used by: SchemaGenerator, DescriptionGenerator, ToonDescriptionGenerator.
|
|
8
|
+
*
|
|
9
|
+
* Pure-function module: no state, no side effects.
|
|
10
|
+
*/
|
|
11
|
+
import {} from 'zod';
|
|
12
|
+
import {} from '../types.js';
|
|
13
|
+
// ── Zod Type Guards ──────────────────────────────────────
|
|
14
|
+
/**
|
|
15
|
+
* Check if a value is a Zod schema (has `_def` property).
|
|
16
|
+
*
|
|
17
|
+
* Used by `defineTool` and `definePrompt` to distinguish
|
|
18
|
+
* Zod schemas from JSON descriptor objects.
|
|
19
|
+
*/
|
|
20
|
+
export function isZodSchema(value) {
|
|
21
|
+
return (typeof value === 'object' &&
|
|
22
|
+
value !== null &&
|
|
23
|
+
'_def' in value &&
|
|
24
|
+
typeof value._def === 'object');
|
|
25
|
+
}
|
|
26
|
+
// ── Schema Inspection ────────────────────────────────────
|
|
27
|
+
/**
|
|
28
|
+
* Get the list of required field names from an action's Zod schema.
|
|
29
|
+
* Returns an empty array if the action has no schema.
|
|
30
|
+
*/
|
|
31
|
+
export function getActionRequiredFields(action) {
|
|
32
|
+
if (!action.schema)
|
|
33
|
+
return [];
|
|
34
|
+
const shape = action.schema.shape;
|
|
35
|
+
const required = [];
|
|
36
|
+
for (const [key, fieldSchema] of Object.entries(shape)) {
|
|
37
|
+
if (!fieldSchema.isOptional()) {
|
|
38
|
+
required.push(key);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return required;
|
|
42
|
+
}
|
|
43
|
+
// ── Schema Compatibility ─────────────────────────────────
|
|
44
|
+
/**
|
|
45
|
+
* Normalize JSON Schema type for compatibility comparison.
|
|
46
|
+
* "integer" is treated as compatible with "number" (integer IS-A number).
|
|
47
|
+
*/
|
|
48
|
+
const normalizeType = (t) => t === 'integer' ? 'number' : t;
|
|
49
|
+
/** Build a consistently-formatted conflict error. */
|
|
50
|
+
function conflictError(field, actionKey, detail) {
|
|
51
|
+
return new Error(`Schema conflict for field "${field}" in action "${actionKey}": ` +
|
|
52
|
+
`${detail}. All actions sharing a field name must use the same type.`);
|
|
53
|
+
}
|
|
54
|
+
export function assertFieldCompatibility(existing, incoming, field, actionKey) {
|
|
55
|
+
const ex = existing;
|
|
56
|
+
const inc = incoming;
|
|
57
|
+
const exType = ex.type;
|
|
58
|
+
const incType = inc.type;
|
|
59
|
+
const exEnum = ex.enum;
|
|
60
|
+
const incEnum = inc.enum;
|
|
61
|
+
// 1. Base type mismatch (with integer ≈ number normalization)
|
|
62
|
+
if (exType !== undefined && incType !== undefined &&
|
|
63
|
+
normalizeType(exType) !== normalizeType(incType)) {
|
|
64
|
+
throw conflictError(field, actionKey, `type "${incType}" conflicts with previously declared type "${exType}"`);
|
|
65
|
+
}
|
|
66
|
+
// 2. Enum presence mismatch → WIDEN to non-enum (drop constraint)
|
|
67
|
+
// Plain string is a superset of enum-constrained string.
|
|
68
|
+
// Essential for OpenAPI imports where the same field name has enum
|
|
69
|
+
// in one endpoint and plain string in another.
|
|
70
|
+
const exHasEnum = exEnum !== undefined;
|
|
71
|
+
const incHasEnum = incEnum !== undefined;
|
|
72
|
+
if (exHasEnum !== incHasEnum) {
|
|
73
|
+
// Return the non-enum version (superset)
|
|
74
|
+
const nonEnum = exHasEnum ? inc : ex;
|
|
75
|
+
return { ...nonEnum };
|
|
76
|
+
}
|
|
77
|
+
// 3. Enum value-set mismatch → MERGE (union) instead of throwing
|
|
78
|
+
if (exHasEnum && incHasEnum &&
|
|
79
|
+
JSON.stringify(exEnum) !== JSON.stringify(incEnum)) {
|
|
80
|
+
const merged = new Set([...exEnum, ...incEnum]);
|
|
81
|
+
return { ...ex, enum: [...merged] };
|
|
82
|
+
}
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=SchemaUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaUtils.js","sourceRoot":"","sources":["../../../src/core/schema/SchemaUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type InternalAction } from '../types.js';
|
|
2
|
+
export declare function generateToonDescription<TContext>(actions: readonly InternalAction<TContext>[], name: string, description: string | undefined, hasGroup: boolean, discriminator?: string): string;
|
|
3
|
+
//# sourceMappingURL=ToonDescriptionGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToonDescriptionGenerator.d.ts","sourceRoot":"","sources":["../../../src/core/schema/ToonDescriptionGenerator.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,wBAAgB,uBAAuB,CAAC,QAAQ,EAC5C,OAAO,EAAE,SAAS,cAAc,CAAC,QAAQ,CAAC,EAAE,EAC5C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,OAAO,EACjB,aAAa,SAAW,GACzB,MAAM,CAeR"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ToonDescriptionGenerator — Token-Optimized Description Strategy
|
|
3
|
+
*
|
|
4
|
+
* Generates descriptions using TOON (Token-Oriented Object Notation) format,
|
|
5
|
+
* achieving ~30-50% token reduction compared to the default markdown descriptions.
|
|
6
|
+
*
|
|
7
|
+
* Uses `@toon-format/toon` encode() to serialize action metadata as compact
|
|
8
|
+
* pipe-delimited tabular data inside the description string.
|
|
9
|
+
*
|
|
10
|
+
* Pure-function module: no state, no side effects.
|
|
11
|
+
*/
|
|
12
|
+
import { encode } from '@toon-format/toon';
|
|
13
|
+
import {} from '../types.js';
|
|
14
|
+
import { getActionRequiredFields } from './SchemaUtils.js';
|
|
15
|
+
// ── Public API ───────────────────────────────────────────
|
|
16
|
+
export function generateToonDescription(actions, name, description, hasGroup, discriminator = 'action') {
|
|
17
|
+
const lines = [];
|
|
18
|
+
// Layer 1: Tool summary + dispatch instruction (always human-readable)
|
|
19
|
+
lines.push(`${description || name}. Select operation via the \`${discriminator}\` parameter.`);
|
|
20
|
+
lines.push('');
|
|
21
|
+
// Layer 2: Action metadata in TOON tabular format
|
|
22
|
+
if (hasGroup) {
|
|
23
|
+
lines.push(encodeGroupedActions(actions));
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
lines.push(encodeFlatActions(actions));
|
|
27
|
+
}
|
|
28
|
+
return lines.join('\n');
|
|
29
|
+
}
|
|
30
|
+
function encodeFlatActions(actions) {
|
|
31
|
+
const rows = actions.map(a => buildActionRow(a.key, a));
|
|
32
|
+
return encode(rows, { delimiter: '|' });
|
|
33
|
+
}
|
|
34
|
+
function encodeGroupedActions(actions) {
|
|
35
|
+
// Group actions by their groupName
|
|
36
|
+
const groups = new Map();
|
|
37
|
+
for (const action of actions) {
|
|
38
|
+
const key = action.groupName || '_ungrouped';
|
|
39
|
+
let list = groups.get(key);
|
|
40
|
+
if (!list) {
|
|
41
|
+
list = [];
|
|
42
|
+
groups.set(key, list);
|
|
43
|
+
}
|
|
44
|
+
list.push(action);
|
|
45
|
+
}
|
|
46
|
+
// Build a structure that TOON can encode efficiently
|
|
47
|
+
const groupData = {};
|
|
48
|
+
for (const [groupName, groupActions] of groups) {
|
|
49
|
+
groupData[groupName] = groupActions.map(a => buildActionRow(a.actionName, a));
|
|
50
|
+
}
|
|
51
|
+
return encode(groupData, { delimiter: '|' });
|
|
52
|
+
}
|
|
53
|
+
function buildActionRow(key, action) {
|
|
54
|
+
const required = getActionRequiredFields(action);
|
|
55
|
+
const row = {
|
|
56
|
+
action: key,
|
|
57
|
+
desc: action.description || '',
|
|
58
|
+
required: required.join(','),
|
|
59
|
+
};
|
|
60
|
+
if (action.destructive) {
|
|
61
|
+
row.destructive = true;
|
|
62
|
+
}
|
|
63
|
+
return row;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=ToonDescriptionGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToonDescriptionGenerator.js","sourceRoot":"","sources":["../../../src/core/schema/ToonDescriptionGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAuB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,4DAA4D;AAE5D,MAAM,UAAU,uBAAuB,CACnC,OAA4C,EAC5C,IAAY,EACZ,WAA+B,EAC/B,QAAiB,EACjB,aAAa,GAAG,QAAQ;IAExB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,uEAAuE;IACvE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,IAAI,gCAAgC,aAAa,eAAe,CAAC,CAAC;IAC/F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,kDAAkD;IAClD,IAAI,QAAQ,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAWD,SAAS,iBAAiB,CACtB,OAA4C;IAE5C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,oBAAoB,CACzB,OAA4C;IAE5C,mCAAmC;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsC,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,YAAY,CAAC;QAC7C,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,GAAG,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,qDAAqD;IACrD,MAAM,SAAS,GAAgC,EAAE,CAAC;IAClD,KAAK,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,MAAM,EAAE,CAAC;QAC7C,SAAS,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACxC,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAClC,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,cAAc,CACnB,GAAW,EACX,MAAgC;IAEhC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAc;QACnB,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QAC9B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/B,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACrB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Schema Bounded Context — Barrel Export */
|
|
2
|
+
export { generateDescription } from './DescriptionGenerator.js';
|
|
3
|
+
export { generateToonDescription } from './ToonDescriptionGenerator.js';
|
|
4
|
+
export { generateInputSchema } from './SchemaGenerator.js';
|
|
5
|
+
export { getActionRequiredFields, assertFieldCompatibility, isZodSchema } from './SchemaUtils.js';
|
|
6
|
+
export { aggregateAnnotations } from './AnnotationAggregator.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/schema/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Schema Bounded Context — Barrel Export */
|
|
2
|
+
export { generateDescription } from './DescriptionGenerator.js';
|
|
3
|
+
export { generateToonDescription } from './ToonDescriptionGenerator.js';
|
|
4
|
+
export { generateInputSchema } from './SchemaGenerator.js';
|
|
5
|
+
export { getActionRequiredFields, assertFieldCompatibility, isZodSchema } from './SchemaUtils.js';
|
|
6
|
+
export { aggregateAnnotations } from './AnnotationAggregator.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/schema/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A pre-compiled stringify function.
|
|
3
|
+
*
|
|
4
|
+
* Generated at boot or on first use from a Zod schema.
|
|
5
|
+
* Accepts any object and returns a JSON string (minified).
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const stringify = serializer.compile(myZodSchema);
|
|
10
|
+
* const json = stringify({ id: 1, name: 'Alice' });
|
|
11
|
+
* // '{"id":1,"name":"Alice"}'
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export type StringifyFn = (doc: unknown) => string;
|
|
15
|
+
/**
|
|
16
|
+
* AOT JSON serialization engine.
|
|
17
|
+
*
|
|
18
|
+
* Compiles Zod schemas into fast stringify functions at boot time
|
|
19
|
+
* or lazily on first use. Maintains a per-schema cache to avoid
|
|
20
|
+
* recompilation.
|
|
21
|
+
*/
|
|
22
|
+
export interface JsonSerializer {
|
|
23
|
+
/**
|
|
24
|
+
* Compile a Zod schema into a fast stringify function.
|
|
25
|
+
*
|
|
26
|
+
* Returns `undefined` if `fast-json-stringify` is not available
|
|
27
|
+
* or if compilation fails (defensive fallback).
|
|
28
|
+
*
|
|
29
|
+
* @param schema - Any Zod schema (ZodObject, ZodArray, etc.)
|
|
30
|
+
* @returns A compiled stringify function, or `undefined`
|
|
31
|
+
*/
|
|
32
|
+
compile(schema: unknown): StringifyFn | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Stringify data using a compiled function or native fallback.
|
|
35
|
+
*
|
|
36
|
+
* @param data - The data to serialize
|
|
37
|
+
* @param compiled - Optional pre-compiled stringify function
|
|
38
|
+
* @returns JSON string
|
|
39
|
+
*/
|
|
40
|
+
stringify(data: unknown, compiled?: StringifyFn): string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Create an AOT JSON serializer.
|
|
44
|
+
*
|
|
45
|
+
* The serializer lazy-loads `fast-json-stringify` and provides
|
|
46
|
+
* compile/stringify methods with automatic fallback.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const serializer = createSerializer();
|
|
51
|
+
* await serializer.init(); // optional: pre-load the fjs module
|
|
52
|
+
*
|
|
53
|
+
* const stringify = serializer.compile(myZodSchema);
|
|
54
|
+
* if (stringify) {
|
|
55
|
+
* const json = stringify(data); // 2-5x faster
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function createSerializer(): JsonSerializer & {
|
|
60
|
+
init(): Promise<void>;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Global singleton serializer.
|
|
64
|
+
*
|
|
65
|
+
* Shared across the engine so all Presenters and response helpers
|
|
66
|
+
* use the same cache and fjs module reference.
|
|
67
|
+
*/
|
|
68
|
+
export declare const defaultSerializer: JsonSerializer & {
|
|
69
|
+
init(): Promise<void>;
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=JsonSerializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonSerializer.d.ts","sourceRoot":"","sources":["../../../src/core/serialization/JsonSerializer.ts"],"names":[],"mappings":"AAmCA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC3B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAElD;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;CAC5D;AA4ID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,GAAG;IAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAsB7E;AAID;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;YAhCiC,OAAO,CAAC,IAAI,CAAC;CAgCzB,CAAC"}
|