@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,575 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Presenter — MVA View Layer for AI Agents
|
|
3
|
+
*
|
|
4
|
+
* Domain-level "lens" that defines how data is presented to an LLM.
|
|
5
|
+
* A Presenter validates data through a Zod schema, attaches JIT system
|
|
6
|
+
* rules, and renders deterministic UI blocks — all at Node.js speed.
|
|
7
|
+
*
|
|
8
|
+
* The Presenter is **domain-level**, not tool-level. The same Presenter
|
|
9
|
+
* (e.g. `InvoicePresenter`) can be reused across any tool that returns
|
|
10
|
+
* invoices, guaranteeing consistent AI perception of the domain.
|
|
11
|
+
*
|
|
12
|
+
* ## Advanced Features
|
|
13
|
+
*
|
|
14
|
+
* - **Context-Aware**: Callbacks receive `TContext` for RBAC, DLP, locale
|
|
15
|
+
* - **Cognitive Guardrails**: `.agentLimit()` truncates large arrays
|
|
16
|
+
* - **Agentic Affordances**: `.suggestActions()` for HATEOAS-style hints
|
|
17
|
+
* - **Composition**: `.embed()` nests child Presenters (DRY relational data)
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { createPresenter, ui } from 'vurb';
|
|
22
|
+
* import { z } from 'zod';
|
|
23
|
+
*
|
|
24
|
+
* export const InvoicePresenter = createPresenter('Invoice')
|
|
25
|
+
* .schema(z.object({
|
|
26
|
+
* id: z.string(),
|
|
27
|
+
* amount_cents: z.number(),
|
|
28
|
+
* status: z.enum(['paid', 'pending']),
|
|
29
|
+
* }))
|
|
30
|
+
* .systemRules((invoice, ctx) => [
|
|
31
|
+
* 'CRITICAL: amount_cents is in CENTS. Divide by 100.',
|
|
32
|
+
* ctx?.user?.role !== 'admin' ? 'Mask sensitive financial data.' : null,
|
|
33
|
+
* ])
|
|
34
|
+
* .uiBlocks((invoice) => [
|
|
35
|
+
* ui.echarts({
|
|
36
|
+
* series: [{ type: 'gauge', data: [{ value: invoice.amount_cents / 100 }] }],
|
|
37
|
+
* }),
|
|
38
|
+
* ])
|
|
39
|
+
* .agentLimit(50, (omitted) =>
|
|
40
|
+
* ui.summary(`⚠️ Dataset truncated. 50 shown, ${omitted} hidden.`)
|
|
41
|
+
* )
|
|
42
|
+
* .suggestActions((invoice) => {
|
|
43
|
+
* if (invoice.status === 'pending') {
|
|
44
|
+
* return [{ tool: 'billing.pay', reason: 'Offer immediate payment' }];
|
|
45
|
+
* }
|
|
46
|
+
* return [];
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @see {@link createPresenter} for the factory function
|
|
51
|
+
* @see {@link ResponseBuilder} for manual response composition
|
|
52
|
+
*
|
|
53
|
+
* @module
|
|
54
|
+
*/
|
|
55
|
+
import { z, ZodType, type ZodRawShape } from 'zod';
|
|
56
|
+
import { ResponseBuilder } from './ResponseBuilder.js';
|
|
57
|
+
import { type UiBlock } from './ui.js';
|
|
58
|
+
/**
|
|
59
|
+
* Check if a value is a {@link Presenter} instance.
|
|
60
|
+
*
|
|
61
|
+
* Used by the execution pipeline to detect Presenters declared
|
|
62
|
+
* via the `returns` field in action configuration.
|
|
63
|
+
*
|
|
64
|
+
* @param value - Any value
|
|
65
|
+
* @returns `true` if the value is a Presenter
|
|
66
|
+
*/
|
|
67
|
+
export declare function isPresenter(value: unknown): value is Presenter<unknown>;
|
|
68
|
+
/** A suggested next action for HATEOAS-style agent guidance */
|
|
69
|
+
export interface ActionSuggestion {
|
|
70
|
+
/** Tool name to suggest (e.g. 'billing.pay') */
|
|
71
|
+
readonly tool: string;
|
|
72
|
+
/** Human-readable reason for the suggestion */
|
|
73
|
+
readonly reason: string;
|
|
74
|
+
}
|
|
75
|
+
/** UI blocks callback — with optional context */
|
|
76
|
+
type ItemUiBlocksFn<T> = (item: T, ctx?: unknown) => (UiBlock | null)[];
|
|
77
|
+
/** Collection UI blocks callback — with optional context */
|
|
78
|
+
type CollectionUiBlocksFn<T> = (items: T[], ctx?: unknown) => (UiBlock | null)[];
|
|
79
|
+
/** Suggest actions callback — with optional context */
|
|
80
|
+
type SuggestActionsFn<T> = (data: T, ctx?: unknown) => ActionSuggestion[];
|
|
81
|
+
/**
|
|
82
|
+
* Domain-level Presenter — the "View" in MVA (Model-View-Agent).
|
|
83
|
+
*
|
|
84
|
+
* Encapsulates:
|
|
85
|
+
* - **Schema** (Zod): Validates and filters data before it reaches the LLM
|
|
86
|
+
* - **System Rules**: JIT context directives that travel with the data
|
|
87
|
+
* - **UI Blocks**: SSR-rendered visual blocks (charts, diagrams, tables)
|
|
88
|
+
* - **Agent Limit**: Smart truncation for large collections
|
|
89
|
+
* - **Action Suggestions**: HATEOAS-style next-action hints
|
|
90
|
+
* - **Embeds**: Relational Presenter composition (DRY)
|
|
91
|
+
*
|
|
92
|
+
* @typeParam T - The validated output type (inferred from the Zod schema)
|
|
93
|
+
*
|
|
94
|
+
* @see {@link createPresenter} for the factory function
|
|
95
|
+
*/
|
|
96
|
+
export declare class Presenter<T> {
|
|
97
|
+
/** @internal Brand for type detection in the pipeline */
|
|
98
|
+
readonly __brand: "VurbPresenter";
|
|
99
|
+
/** @internal Human-readable domain name (for debugging) */
|
|
100
|
+
readonly name: string;
|
|
101
|
+
private _schema?;
|
|
102
|
+
private _rules;
|
|
103
|
+
private _itemUiBlocks?;
|
|
104
|
+
private _collectionUiBlocks?;
|
|
105
|
+
private _suggestActions?;
|
|
106
|
+
private _agentLimit?;
|
|
107
|
+
private _embeds;
|
|
108
|
+
private _sealed;
|
|
109
|
+
private _compiledStringify;
|
|
110
|
+
private _compiledRedactor;
|
|
111
|
+
private _redactConfig;
|
|
112
|
+
private _redactPaths;
|
|
113
|
+
/** @internal Use {@link createPresenter} factory instead */
|
|
114
|
+
constructor(name: string);
|
|
115
|
+
/**
|
|
116
|
+
* Ensure the Presenter is not sealed.
|
|
117
|
+
* Throws a clear error if `.make()` has already been called.
|
|
118
|
+
* @internal
|
|
119
|
+
*/
|
|
120
|
+
private _assertNotSealed;
|
|
121
|
+
/**
|
|
122
|
+
* Set the Zod schema for data validation and filtering.
|
|
123
|
+
*
|
|
124
|
+
* The schema acts as a **security contract**: only fields declared
|
|
125
|
+
* in the schema will reach the LLM. Sensitive data (passwords,
|
|
126
|
+
* tenant IDs, internal flags) is automatically stripped.
|
|
127
|
+
*
|
|
128
|
+
* @typeParam TSchema - Zod type with output type inference
|
|
129
|
+
* @param zodSchema - A Zod schema (z.object, z.array, etc.)
|
|
130
|
+
* @returns A narrowed Presenter with the schema's output type
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* createPresenter('Invoice')
|
|
135
|
+
* .schema(z.object({
|
|
136
|
+
* id: z.string(),
|
|
137
|
+
* amount_cents: z.number(),
|
|
138
|
+
* }))
|
|
139
|
+
* // Presenter<{ id: string; amount_cents: number }>
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
schema<TSchema extends ZodType<any, any, any>>(zodSchema: TSchema): Presenter<TSchema['_output']>;
|
|
143
|
+
/**
|
|
144
|
+
* Set the schema from an object of ZodTypes (enables `t.*` shorthand).
|
|
145
|
+
*
|
|
146
|
+
* Accepts a plain object where each value is a ZodType.
|
|
147
|
+
* Internally wraps it into `z.object(shape)` for full validation.
|
|
148
|
+
*
|
|
149
|
+
* @param shape - Object shape with ZodType values (e.g. `{ id: t.string, name: t.string }`)
|
|
150
|
+
* @returns A narrowed Presenter with the inferred output type
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* import { createPresenter, t } from 'vurb';
|
|
155
|
+
*
|
|
156
|
+
* createPresenter('Invoice')
|
|
157
|
+
* .schema({
|
|
158
|
+
* id: t.string,
|
|
159
|
+
* amount: t.number.describe('in cents'),
|
|
160
|
+
* status: t.enum('draft', 'paid'),
|
|
161
|
+
* })
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
schema<TShape extends ZodRawShape>(shape: TShape): Presenter<z.infer<z.ZodObject<TShape>>>;
|
|
165
|
+
/**
|
|
166
|
+
* Set JIT system rules that travel with the data.
|
|
167
|
+
*
|
|
168
|
+
* Rules are **Context Tree-Shaking**: they only appear in the LLM's
|
|
169
|
+
* context when this specific domain's data is returned.
|
|
170
|
+
*
|
|
171
|
+
* Accepts either a **static array** or a **dynamic function** that
|
|
172
|
+
* receives the data and request context for RBAC/DLP/locale rules.
|
|
173
|
+
* Return `null` from dynamic rules to conditionally exclude them.
|
|
174
|
+
*
|
|
175
|
+
* @param rules - Array of rule strings, or a function `(data, ctx?) => (string | null)[]`
|
|
176
|
+
* @returns `this` for chaining
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* // Static rules
|
|
181
|
+
* .systemRules(['CRITICAL: amounts in CENTS.'])
|
|
182
|
+
*
|
|
183
|
+
* // Dynamic context-aware rules (RBAC)
|
|
184
|
+
* .systemRules((user, ctx) => [
|
|
185
|
+
* ctx?.user?.role !== 'admin' ? 'Mask email and phone.' : null,
|
|
186
|
+
* `Format dates using ${ctx?.tenant?.locale ?? 'en-US'}`
|
|
187
|
+
* ])
|
|
188
|
+
* ```
|
|
189
|
+
*/
|
|
190
|
+
systemRules(rules: readonly string[] | ((data: T, ctx?: unknown) => (string | null)[])): this;
|
|
191
|
+
/**
|
|
192
|
+
* Define UI blocks generated for a **single data item**.
|
|
193
|
+
*
|
|
194
|
+
* The callback receives the validated data item and optionally the
|
|
195
|
+
* request context. Return `null` for conditional blocks (filtered
|
|
196
|
+
* automatically).
|
|
197
|
+
*
|
|
198
|
+
* @param fn - `(item, ctx?) => (UiBlock | null)[]`
|
|
199
|
+
* @returns `this` for chaining
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```typescript
|
|
203
|
+
* .uiBlocks((invoice, ctx) => [
|
|
204
|
+
* ui.echarts({ series: [...] }),
|
|
205
|
+
* ctx?.user?.department === 'finance' ? ui.echarts(advancedChart) : null,
|
|
206
|
+
* ])
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
uiBlocks(fn: ItemUiBlocksFn<T>): this;
|
|
210
|
+
/**
|
|
211
|
+
* Define aggregated UI blocks for a **collection** (array) of items.
|
|
212
|
+
*
|
|
213
|
+
* When the handler returns an array, this callback is called **once**
|
|
214
|
+
* with the entire validated array. Prevents N individual charts
|
|
215
|
+
* from flooding the LLM's context.
|
|
216
|
+
*
|
|
217
|
+
* @param fn - `(items[], ctx?) => (UiBlock | null)[]`
|
|
218
|
+
* @returns `this` for chaining
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* .collectionUiBlocks((invoices) => [
|
|
223
|
+
* ui.echarts({ xAxis: { data: invoices.map(i => i.id) } }),
|
|
224
|
+
* ui.summary(`${invoices.length} invoices found.`),
|
|
225
|
+
* ])
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
collectionUiBlocks(fn: CollectionUiBlocksFn<T>): this;
|
|
229
|
+
/**
|
|
230
|
+
* Set a cognitive guardrail that truncates large collections.
|
|
231
|
+
*
|
|
232
|
+
* Protects against context DDoS: if a tool returns thousands of
|
|
233
|
+
* records, the Presenter automatically truncates the data array
|
|
234
|
+
* and injects a summary block teaching the AI to use filters.
|
|
235
|
+
*
|
|
236
|
+
* @param max - Maximum items to keep in the data array
|
|
237
|
+
* @param onTruncate - Callback that generates a warning UI block.
|
|
238
|
+
* Receives the count of omitted items.
|
|
239
|
+
* @returns `this` for chaining
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* ```typescript
|
|
243
|
+
* .agentLimit(50, (omitted) =>
|
|
244
|
+
* ui.summary(`⚠️ Truncated. 50 shown, ${omitted} hidden. Use filters.`)
|
|
245
|
+
* )
|
|
246
|
+
* ```
|
|
247
|
+
*/
|
|
248
|
+
agentLimit(max: number, onTruncate: (omittedCount: number) => UiBlock): this;
|
|
249
|
+
/**
|
|
250
|
+
* Define HATEOAS-style action suggestions based on data state.
|
|
251
|
+
*
|
|
252
|
+
* The callback inspects the data and returns suggested next tools,
|
|
253
|
+
* guiding the AI through the business state machine. Eliminates
|
|
254
|
+
* routing hallucinations by providing explicit next-step hints.
|
|
255
|
+
*
|
|
256
|
+
* @param fn - `(data, ctx?) => ActionSuggestion[]`
|
|
257
|
+
* @returns `this` for chaining
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* ```typescript
|
|
261
|
+
* .suggestActions((invoice, ctx) => {
|
|
262
|
+
* if (invoice.status === 'pending') {
|
|
263
|
+
* return [
|
|
264
|
+
* { tool: 'billing.pay', reason: 'Offer immediate payment' },
|
|
265
|
+
* { tool: 'billing.send_reminder', reason: 'Send reminder email' },
|
|
266
|
+
* ];
|
|
267
|
+
* }
|
|
268
|
+
* return [];
|
|
269
|
+
* })
|
|
270
|
+
* ```
|
|
271
|
+
*/
|
|
272
|
+
suggestActions(fn: SuggestActionsFn<T>): this;
|
|
273
|
+
/**
|
|
274
|
+
* Alias for `.suggestActions()` — fluent shorthand.
|
|
275
|
+
*
|
|
276
|
+
* Define HATEOAS-style action suggestions based on data state.
|
|
277
|
+
* Use with the `suggest()` helper for maximum fluency.
|
|
278
|
+
*
|
|
279
|
+
* @param fn - `(data, ctx?) => (ActionSuggestion | null)[]`
|
|
280
|
+
* @returns `this` for chaining
|
|
281
|
+
*
|
|
282
|
+
* @example
|
|
283
|
+
* ```typescript
|
|
284
|
+
* import { suggest } from 'vurb';
|
|
285
|
+
*
|
|
286
|
+
* .suggest((inv) => [
|
|
287
|
+
* suggest('invoices.get', 'View details'),
|
|
288
|
+
* inv.status === 'overdue'
|
|
289
|
+
* ? suggest('billing.remind', 'Send reminder')
|
|
290
|
+
* : null,
|
|
291
|
+
* ])
|
|
292
|
+
* ```
|
|
293
|
+
*/
|
|
294
|
+
suggest(fn: SuggestActionsFn<T>): this;
|
|
295
|
+
/**
|
|
296
|
+
* Alias for `.systemRules()` — fluent shorthand.
|
|
297
|
+
*
|
|
298
|
+
* @param rules - Static rules array or dynamic `(data, ctx?) => (string | null)[]`
|
|
299
|
+
* @returns `this` for chaining
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* ```typescript
|
|
303
|
+
* .rules(['CRITICAL: amounts in CENTS.'])
|
|
304
|
+
* .rules((inv) => [
|
|
305
|
+
* inv.status === 'overdue' ? '⚠️ OVERDUE' : null,
|
|
306
|
+
* ])
|
|
307
|
+
* ```
|
|
308
|
+
*/
|
|
309
|
+
rules(rules: readonly string[] | ((data: T, ctx?: unknown) => (string | null)[])): this;
|
|
310
|
+
/**
|
|
311
|
+
* Alias for `.uiBlocks()` — fluent shorthand.
|
|
312
|
+
*
|
|
313
|
+
* @param fn - `(item, ctx?) => (UiBlock | null)[]`
|
|
314
|
+
* @returns `this` for chaining
|
|
315
|
+
*
|
|
316
|
+
* @example
|
|
317
|
+
* ```typescript
|
|
318
|
+
* .ui((inv) => [
|
|
319
|
+
* ui.echarts({ series: [{ type: 'gauge', data: [{ value: inv.amount / 100 }] }] }),
|
|
320
|
+
* ])
|
|
321
|
+
* ```
|
|
322
|
+
*/
|
|
323
|
+
ui(fn: ItemUiBlocksFn<T>): this;
|
|
324
|
+
/**
|
|
325
|
+
* Cognitive guardrail shorthand with auto-generated message.
|
|
326
|
+
*
|
|
327
|
+
* Truncates large collections and injects a smart summary block.
|
|
328
|
+
* For custom truncation messages, use `.agentLimit(max, onTruncate)` instead.
|
|
329
|
+
*
|
|
330
|
+
* @param max - Maximum items to keep in the data array
|
|
331
|
+
* @returns `this` for chaining
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* ```typescript
|
|
335
|
+
* // Auto-generated message:
|
|
336
|
+
* .limit(50)
|
|
337
|
+
* // → "⚠️ Dataset truncated. 50 shown, {omitted} hidden. Use filters to narrow results."
|
|
338
|
+
*
|
|
339
|
+
* // For custom message, use agentLimit():
|
|
340
|
+
* .agentLimit(50, (omitted) => ui.summary(`Custom: ${omitted} hidden`))
|
|
341
|
+
* ```
|
|
342
|
+
*/
|
|
343
|
+
limit(max: number): this;
|
|
344
|
+
/**
|
|
345
|
+
* Compose a child Presenter for a nested relation.
|
|
346
|
+
*
|
|
347
|
+
* When `data[key]` exists, the child Presenter's rules and UI blocks
|
|
348
|
+
* are merged into the parent response. This is the DRY solution for
|
|
349
|
+
* relational data: define `ClientPresenter` once, embed it everywhere.
|
|
350
|
+
*
|
|
351
|
+
* @param key - The property key containing the nested data
|
|
352
|
+
* @param childPresenter - The Presenter to apply to `data[key]`
|
|
353
|
+
* @returns `this` for chaining
|
|
354
|
+
*
|
|
355
|
+
* @example
|
|
356
|
+
* ```typescript
|
|
357
|
+
* import { ClientPresenter } from './ClientPresenter';
|
|
358
|
+
*
|
|
359
|
+
* export const InvoicePresenter = createPresenter('Invoice')
|
|
360
|
+
* .schema(invoiceSchema)
|
|
361
|
+
* .embed('client', ClientPresenter);
|
|
362
|
+
* ```
|
|
363
|
+
*/
|
|
364
|
+
embed(key: string, childPresenter: Presenter<unknown>): this;
|
|
365
|
+
/**
|
|
366
|
+
* Declare PII fields to redact before data leaves the framework.
|
|
367
|
+
*
|
|
368
|
+
* Uses `fast-redact` (Pino's V8-optimized serialization engine) to
|
|
369
|
+
* compile object paths into hyper-fast masking functions at config
|
|
370
|
+
* time — zero overhead on the hot path.
|
|
371
|
+
*
|
|
372
|
+
* The redaction is applied **structurally** on the wire-facing data
|
|
373
|
+
* (after `_select` filter, before `ResponseBuilder`). UI blocks and
|
|
374
|
+
* system rules still see the **full unmasked data** (Late Guillotine
|
|
375
|
+
* pattern preserved).
|
|
376
|
+
*
|
|
377
|
+
* Requires `fast-redact` as an optional peer dependency.
|
|
378
|
+
* If not installed, passes data through unmodified (defensive fallback).
|
|
379
|
+
*
|
|
380
|
+
* @param paths - Object paths to redact. Supports dot notation,
|
|
381
|
+
* bracket notation, wildcards (`'*'`), and array indices.
|
|
382
|
+
* @param censor - Replacement value. Default: `'[REDACTED]'`.
|
|
383
|
+
* Can be a function `(originalValue) => maskedValue`.
|
|
384
|
+
* @returns `this` for chaining
|
|
385
|
+
*
|
|
386
|
+
* @example
|
|
387
|
+
* ```typescript
|
|
388
|
+
* // Basic PII masking
|
|
389
|
+
* createPresenter('Patient')
|
|
390
|
+
* .schema({ name: t.string, ssn: t.string, diagnosis: t.string })
|
|
391
|
+
* .redactPII(['ssn', 'diagnosis'])
|
|
392
|
+
*
|
|
393
|
+
* // Wildcard — redact all nested SSN fields
|
|
394
|
+
* createPresenter('Users')
|
|
395
|
+
* .redactPII(['*.ssn', '*.password', 'credit_card.number'])
|
|
396
|
+
*
|
|
397
|
+
* // Array wildcard — redact diagnosis in all patients
|
|
398
|
+
* createPresenter('Hospital')
|
|
399
|
+
* .redactPII(['patients[*].diagnosis', 'patients[*].ssn'])
|
|
400
|
+
*
|
|
401
|
+
* // Custom censor — last 4 digits visible
|
|
402
|
+
* createPresenter('Payment')
|
|
403
|
+
* .redactPII(['credit_card.number'], (v) => '****-****-****-' + String(v).slice(-4))
|
|
404
|
+
* ```
|
|
405
|
+
*
|
|
406
|
+
* @see {@link https://github.com/davidmarkclements/fast-redact | fast-redact}
|
|
407
|
+
*/
|
|
408
|
+
redactPII(paths: string[], censor?: string | ((value: unknown) => string)): this;
|
|
409
|
+
/**
|
|
410
|
+
* Alias for `.redactPII()` — fluent shorthand.
|
|
411
|
+
*
|
|
412
|
+
* @param paths - Object paths to redact
|
|
413
|
+
* @param censor - Replacement value or function
|
|
414
|
+
* @returns `this` for chaining
|
|
415
|
+
*
|
|
416
|
+
* @example
|
|
417
|
+
* ```typescript
|
|
418
|
+
* createPresenter('User')
|
|
419
|
+
* .schema({ name: t.string, ssn: t.string })
|
|
420
|
+
* .redact(['ssn'])
|
|
421
|
+
* ```
|
|
422
|
+
*/
|
|
423
|
+
redact(paths: string[], censor?: string | ((value: unknown) => string)): this;
|
|
424
|
+
/**
|
|
425
|
+
* Get the Zod schema's top-level keys.
|
|
426
|
+
*
|
|
427
|
+
* Returns the field names declared in the Presenter's schema.
|
|
428
|
+
* Safe to call at any time — does NOT seal the Presenter.
|
|
429
|
+
*
|
|
430
|
+
* @returns Array of key names, or empty array if no schema is set
|
|
431
|
+
*/
|
|
432
|
+
getSchemaKeys(): string[];
|
|
433
|
+
/**
|
|
434
|
+
* Get the DLP redaction paths configured on this Presenter.
|
|
435
|
+
*
|
|
436
|
+
* Returns the paths passed to `.redactPII()` / `.redact()`.
|
|
437
|
+
* Empty array if no redaction is configured.
|
|
438
|
+
*
|
|
439
|
+
* @internal Used by PostProcessor for `dlp.redact` telemetry
|
|
440
|
+
*/
|
|
441
|
+
getRedactPaths(): readonly string[];
|
|
442
|
+
/**
|
|
443
|
+
* Get the agent limit config (if set via `.agentLimit()` or `.limit()`).
|
|
444
|
+
*
|
|
445
|
+
* @internal Used by PostProcessor for guardrail telemetry
|
|
446
|
+
* @returns The max limit, or `undefined` if no limit is configured
|
|
447
|
+
*/
|
|
448
|
+
getAgentLimitMax(): number | undefined;
|
|
449
|
+
/**
|
|
450
|
+
* Get which UI block factory methods were configured.
|
|
451
|
+
*
|
|
452
|
+
* Inspects the configuration callbacks to determine supported
|
|
453
|
+
* UI block types. Does NOT execute any callbacks.
|
|
454
|
+
*
|
|
455
|
+
* @returns Array of UI block type labels
|
|
456
|
+
*/
|
|
457
|
+
getUiBlockTypes(): string[];
|
|
458
|
+
/**
|
|
459
|
+
* Whether the Presenter uses dynamic (context-aware) system rules.
|
|
460
|
+
*
|
|
461
|
+
* Static rules (string arrays) are NOT contextual.
|
|
462
|
+
* Functions `(data, ctx?) => ...` ARE contextual.
|
|
463
|
+
*
|
|
464
|
+
* @returns `true` if rules are a function
|
|
465
|
+
*/
|
|
466
|
+
hasContextualRules(): boolean;
|
|
467
|
+
/**
|
|
468
|
+
* Return static rule strings for introspection hashing.
|
|
469
|
+
*
|
|
470
|
+
* If rules are dynamic (function), returns an empty array because
|
|
471
|
+
* the actual rule content depends on runtime data/context.
|
|
472
|
+
*
|
|
473
|
+
* @returns Static rule strings, or empty array if rules are contextual
|
|
474
|
+
*/
|
|
475
|
+
getStaticRuleStrings(): readonly string[];
|
|
476
|
+
/**
|
|
477
|
+
* Compose a {@link ResponseBuilder} from raw data.
|
|
478
|
+
*
|
|
479
|
+
* Orchestrates: truncate → validate → embed → render UI → attach rules
|
|
480
|
+
* → suggest actions → **Late Guillotine** (`_select` filter).
|
|
481
|
+
*
|
|
482
|
+
* **Late Guillotine pattern**: UI blocks, system rules, and action
|
|
483
|
+
* suggestions are computed using the **full** validated data, ensuring
|
|
484
|
+
* charts and rules never see `undefined` for pruned fields. Only the
|
|
485
|
+
* wire-facing data block in the ResponseBuilder is filtered by `_select`
|
|
486
|
+
* — the UI consumes full data in RAM, the AI consumes pruned data on
|
|
487
|
+
* the wire.
|
|
488
|
+
*
|
|
489
|
+
* After the first call, the Presenter is sealed (immutable).
|
|
490
|
+
*
|
|
491
|
+
* **Auto-detection**: If `data` is an array, items are validated
|
|
492
|
+
* individually and `collectionUiBlocks` is called (if defined).
|
|
493
|
+
* Otherwise, `uiBlocks` is called for the single item.
|
|
494
|
+
*
|
|
495
|
+
* @param data - Raw data from the handler (object or array)
|
|
496
|
+
* @param ctx - Optional request context (for RBAC, locale, etc.)
|
|
497
|
+
* @param selectFields - Optional top-level field names to keep in the
|
|
498
|
+
* data block. When provided, only these keys survive in the JSON
|
|
499
|
+
* payload sent to the AI. Nested objects are kept whole (shallow).
|
|
500
|
+
* @returns A {@link ResponseBuilder} ready for chaining or `.build()`
|
|
501
|
+
* @throws If Zod validation fails
|
|
502
|
+
*
|
|
503
|
+
* @example
|
|
504
|
+
* ```typescript
|
|
505
|
+
* // Full data (default)
|
|
506
|
+
* return InvoicePresenter.make(rawInvoice).build();
|
|
507
|
+
*
|
|
508
|
+
* // With _select filtering — only 'status' reaches the AI
|
|
509
|
+
* return InvoicePresenter.make(rawInvoice, ctx, ['status']).build();
|
|
510
|
+
* ```
|
|
511
|
+
*/
|
|
512
|
+
make(data: T | T[], ctx?: unknown, selectFields?: string[]): ResponseBuilder;
|
|
513
|
+
/**
|
|
514
|
+
* Apply PII redaction to wire-facing data.
|
|
515
|
+
* Creates a deep clone to preserve original data for UI/rules.
|
|
516
|
+
* @internal
|
|
517
|
+
*/
|
|
518
|
+
private _applyRedaction;
|
|
519
|
+
/**
|
|
520
|
+
* Validate data through the Zod schema (if configured).
|
|
521
|
+
* For arrays, each item is validated independently.
|
|
522
|
+
* @internal
|
|
523
|
+
*/
|
|
524
|
+
private _validate;
|
|
525
|
+
/**
|
|
526
|
+
* Generate and attach UI blocks to the response builder.
|
|
527
|
+
* Auto-detects single vs collection. Filters `null` blocks.
|
|
528
|
+
* @internal
|
|
529
|
+
*/
|
|
530
|
+
private _attachUiBlocks;
|
|
531
|
+
/**
|
|
532
|
+
* Resolve and attach domain rules to the response builder.
|
|
533
|
+
* Supports both static arrays and dynamic context-aware functions.
|
|
534
|
+
* Filters `null` rules automatically.
|
|
535
|
+
* @internal
|
|
536
|
+
*/
|
|
537
|
+
private _attachRules;
|
|
538
|
+
/**
|
|
539
|
+
* Evaluate and attach action suggestions to the response.
|
|
540
|
+
* Generates a `[SYSTEM HINT]` block with recommended next tools.
|
|
541
|
+
* @internal
|
|
542
|
+
*/
|
|
543
|
+
private _attachSuggestions;
|
|
544
|
+
/**
|
|
545
|
+
* Process embedded child Presenters for nested relational data.
|
|
546
|
+
* Merges child UI blocks and rules into the parent builder.
|
|
547
|
+
* @internal
|
|
548
|
+
*/
|
|
549
|
+
private _processEmbeds;
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Create a new domain-level Presenter.
|
|
553
|
+
*
|
|
554
|
+
* The Presenter defines how a specific domain model (Invoice, Task,
|
|
555
|
+
* Project) is presented to AI agents. It is **reusable** across any
|
|
556
|
+
* tool that returns that model.
|
|
557
|
+
*
|
|
558
|
+
* @param name - Human-readable domain name (for debugging/logging)
|
|
559
|
+
* @returns A new {@link Presenter} ready for configuration
|
|
560
|
+
*
|
|
561
|
+
* @example
|
|
562
|
+
* ```typescript
|
|
563
|
+
* import { createPresenter, ui } from 'vurb';
|
|
564
|
+
*
|
|
565
|
+
* export const TaskPresenter = createPresenter('Task')
|
|
566
|
+
* .schema(taskSchema)
|
|
567
|
+
* .systemRules(['Use emojis: 🔄 In Progress, ✅ Done'])
|
|
568
|
+
* .uiBlocks((task) => [ui.markdown(`**${task.title}**: ${task.status}`)]);
|
|
569
|
+
* ```
|
|
570
|
+
*
|
|
571
|
+
* @see {@link Presenter} for the full API
|
|
572
|
+
*/
|
|
573
|
+
export declare function createPresenter(name: string): Presenter<unknown>;
|
|
574
|
+
export {};
|
|
575
|
+
//# sourceMappingURL=Presenter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Presenter.d.ts","sourceRoot":"","sources":["../../src/presenter/Presenter.ts"],"names":[],"mappings":"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"}
|