@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,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ToolContract — Behavioral Contract Materialization
|
|
3
|
+
*
|
|
4
|
+
* Unifies the declarative surface (tool names, schemas, tags) with
|
|
5
|
+
* the behavioral contract (Presenter egress schema, system rules,
|
|
6
|
+
* cognitive guardrails, middleware chain, state-sync policies) into
|
|
7
|
+
* a single, serializable, diffable, hashable artifact.
|
|
8
|
+
*
|
|
9
|
+
* **Key insight**: Vurb's Presenter is not just a response
|
|
10
|
+
* formatter — it's a declarative behavioral specification. The Zod
|
|
11
|
+
* schema, system rules, agent limits, and affordances are all
|
|
12
|
+
* explicit, serializable contracts. By materializing them into a
|
|
13
|
+
* `ToolContract`, we create a fingerprint that changes when behavior
|
|
14
|
+
* changes — even if the MCP tool declaration stays identical.
|
|
15
|
+
*
|
|
16
|
+
* **Zero developer effort**: The contract materializes from what the
|
|
17
|
+
* developer has already declared. No annotations, no config, no
|
|
18
|
+
* ceremony — just `materializeContract(builder)`.
|
|
19
|
+
*
|
|
20
|
+
* Pure-function module: no state, no side effects.
|
|
21
|
+
*
|
|
22
|
+
* @module
|
|
23
|
+
*/
|
|
24
|
+
import {} from '../core/types.js';
|
|
25
|
+
import { sha256, canonicalize } from './canonicalize.js';
|
|
26
|
+
import { scanSource, buildEntitlements } from './EntitlementScanner.js';
|
|
27
|
+
// ============================================================================
|
|
28
|
+
// Materialization
|
|
29
|
+
// ============================================================================
|
|
30
|
+
/**
|
|
31
|
+
* Materialize a `ToolContract` from a builder's public API.
|
|
32
|
+
*
|
|
33
|
+
* Extracts all behavioral metadata from the builder's introspection
|
|
34
|
+
* methods without accessing any private internals. This guarantees
|
|
35
|
+
* compatibility with any `ToolBuilder` implementation.
|
|
36
|
+
*
|
|
37
|
+
* @param builder - A registered tool builder
|
|
38
|
+
* @returns A fully materialized `ToolContract`
|
|
39
|
+
*/
|
|
40
|
+
export async function materializeContract(builder) {
|
|
41
|
+
const toolDef = builder.buildToolDefinition();
|
|
42
|
+
const metadata = builder.getActionMetadata();
|
|
43
|
+
// Surface
|
|
44
|
+
const actions = {};
|
|
45
|
+
for (const action of metadata) {
|
|
46
|
+
actions[action.key] = {
|
|
47
|
+
description: action.description,
|
|
48
|
+
destructive: action.destructive,
|
|
49
|
+
idempotent: action.idempotent,
|
|
50
|
+
readOnly: action.readOnly,
|
|
51
|
+
requiredFields: action.requiredFields,
|
|
52
|
+
presenterName: action.presenterName,
|
|
53
|
+
inputSchemaDigest: await sha256(JSON.stringify(action.requiredFields)),
|
|
54
|
+
hasMiddleware: action.hasMiddleware,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const surface = {
|
|
58
|
+
name: builder.getName(),
|
|
59
|
+
description: toolDef.description,
|
|
60
|
+
tags: builder.getTags(),
|
|
61
|
+
actions,
|
|
62
|
+
inputSchemaDigest: await sha256(canonicalize(toolDef.inputSchema)),
|
|
63
|
+
};
|
|
64
|
+
// Behavior — extract from action metadata (Presenter introspection accessors)
|
|
65
|
+
const behavior = await materializeBehavior(metadata, builder);
|
|
66
|
+
// Token Economics
|
|
67
|
+
const tokenEconomics = computeTokenEconomics(metadata, behavior);
|
|
68
|
+
// Entitlements — real static analysis via EntitlementScanner
|
|
69
|
+
let entitlements;
|
|
70
|
+
try {
|
|
71
|
+
const builderAny = builder;
|
|
72
|
+
const actions = typeof builderAny['getActions'] === 'function'
|
|
73
|
+
? builderAny.getActions()
|
|
74
|
+
: [];
|
|
75
|
+
const combinedSource = actions
|
|
76
|
+
.filter(a => typeof a.handler === 'function')
|
|
77
|
+
.map(a => a.handler.toString())
|
|
78
|
+
.join('\n');
|
|
79
|
+
if (combinedSource.length > 0) {
|
|
80
|
+
const matches = scanSource(combinedSource);
|
|
81
|
+
entitlements = buildEntitlements(matches);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
entitlements = { filesystem: false, network: false, subprocess: false, crypto: false, codeEvaluation: false, raw: [] };
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
entitlements = { filesystem: false, network: false, subprocess: false, crypto: false, codeEvaluation: false, raw: [] };
|
|
89
|
+
}
|
|
90
|
+
return { surface, behavior, tokenEconomics, entitlements };
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Materialize the behavioral contract from action metadata.
|
|
94
|
+
* @internal
|
|
95
|
+
*/
|
|
96
|
+
async function materializeBehavior(metadata, builder) {
|
|
97
|
+
// Collect Presenter data from the first action that declares one
|
|
98
|
+
let egressSchemaDigest = null;
|
|
99
|
+
let systemRulesFingerprint = 'none';
|
|
100
|
+
const affordanceTopology = [];
|
|
101
|
+
const embeddedPresenters = [];
|
|
102
|
+
// Collect unique Presenter metadata across all actions
|
|
103
|
+
const presenterSchemaKeys = new Set();
|
|
104
|
+
const staticRuleStrings = [];
|
|
105
|
+
for (const action of metadata) {
|
|
106
|
+
if (action.presenterSchemaKeys) {
|
|
107
|
+
for (const key of action.presenterSchemaKeys) {
|
|
108
|
+
presenterSchemaKeys.add(key);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (action.presenterStaticRules) {
|
|
112
|
+
for (const rule of action.presenterStaticRules) {
|
|
113
|
+
staticRuleStrings.push(rule);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (action.presenterHasContextualRules) {
|
|
117
|
+
systemRulesFingerprint = 'dynamic';
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (presenterSchemaKeys.size > 0) {
|
|
121
|
+
const sortedKeys = [...presenterSchemaKeys].sort();
|
|
122
|
+
egressSchemaDigest = await sha256(sortedKeys.join(','));
|
|
123
|
+
}
|
|
124
|
+
// Bug #47 fix: condition should only check staticRuleStrings, not presenterSchemaKeys
|
|
125
|
+
// Bug #48 fix: always hash static rules even when dynamic rules coexist
|
|
126
|
+
if (staticRuleStrings.length > 0) {
|
|
127
|
+
const sortedRules = [...new Set(staticRuleStrings)].sort();
|
|
128
|
+
const hash = await sha256(sortedRules.join(','));
|
|
129
|
+
// Composite fingerprint preserves static rule coverage alongside dynamic indicator
|
|
130
|
+
const prefix = systemRulesFingerprint === 'dynamic' ? 'dynamic' : 'static';
|
|
131
|
+
systemRulesFingerprint = prefix + ':' + hash;
|
|
132
|
+
}
|
|
133
|
+
// Middleware chain — extract names from builder
|
|
134
|
+
const middlewareChain = [];
|
|
135
|
+
// Cannot access private _middlewares, but we can infer from action metadata
|
|
136
|
+
for (const action of metadata) {
|
|
137
|
+
if (action.hasMiddleware) {
|
|
138
|
+
middlewareChain.push(`${action.key}:mw`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
egressSchemaDigest,
|
|
143
|
+
systemRulesFingerprint,
|
|
144
|
+
cognitiveGuardrails: {
|
|
145
|
+
agentLimitMax: null, // Extracted per-Presenter in extended materialization
|
|
146
|
+
egressMaxBytes: null,
|
|
147
|
+
},
|
|
148
|
+
middlewareChain,
|
|
149
|
+
stateSyncFingerprint: null, // Injected by StateSyncLayer integration
|
|
150
|
+
concurrencyFingerprint: null,
|
|
151
|
+
affordanceTopology,
|
|
152
|
+
embeddedPresenters,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Compute token economics profile from contract metadata.
|
|
157
|
+
* @internal
|
|
158
|
+
*/
|
|
159
|
+
function computeTokenEconomics(metadata, behavior) {
|
|
160
|
+
// Count schema fields across all Presenters
|
|
161
|
+
let schemaFieldCount = 0;
|
|
162
|
+
const seenPresenters = new Set();
|
|
163
|
+
for (const action of metadata) {
|
|
164
|
+
if (action.presenterName && !seenPresenters.has(action.presenterName)) {
|
|
165
|
+
seenPresenters.add(action.presenterName);
|
|
166
|
+
schemaFieldCount += action.presenterSchemaKeys?.length ?? 0;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Unbounded collection risk
|
|
170
|
+
const unboundedCollection = behavior.cognitiveGuardrails.agentLimitMax === null
|
|
171
|
+
&& schemaFieldCount > 0;
|
|
172
|
+
// Base overhead estimation (~4 chars per token, GPT heuristic)
|
|
173
|
+
// Rules: ~50 tokens each, UI blocks: ~100 tokens each
|
|
174
|
+
const rulesOverhead = behavior.systemRulesFingerprint !== 'none' ? 50 : 0;
|
|
175
|
+
const affordanceOverhead = behavior.affordanceTopology.length * 20;
|
|
176
|
+
const baseOverheadTokens = rulesOverhead + affordanceOverhead;
|
|
177
|
+
// Inflation risk — derived from guardrails and schema density
|
|
178
|
+
const inflationRisk = classifyInflationRisk(unboundedCollection, schemaFieldCount);
|
|
179
|
+
return {
|
|
180
|
+
schemaFieldCount,
|
|
181
|
+
unboundedCollection,
|
|
182
|
+
baseOverheadTokens,
|
|
183
|
+
inflationRisk,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
// ============================================================================
|
|
187
|
+
// Server-Level Contract Compilation
|
|
188
|
+
// ============================================================================
|
|
189
|
+
/**
|
|
190
|
+
* Compile contracts for all tools in a registry.
|
|
191
|
+
*
|
|
192
|
+
* @param builders - Iterable of all registered tool builders
|
|
193
|
+
* @returns Record mapping tool names to their materialized contracts
|
|
194
|
+
*/
|
|
195
|
+
export async function compileContracts(builders) {
|
|
196
|
+
const contracts = {};
|
|
197
|
+
for (const builder of builders) {
|
|
198
|
+
const contract = await materializeContract(builder);
|
|
199
|
+
contracts[contract.surface.name] = contract;
|
|
200
|
+
}
|
|
201
|
+
return contracts;
|
|
202
|
+
}
|
|
203
|
+
// ============================================================================
|
|
204
|
+
// Internals
|
|
205
|
+
// ============================================================================
|
|
206
|
+
/** @internal */
|
|
207
|
+
function classifyInflationRisk(unbounded, fieldCount) {
|
|
208
|
+
if (unbounded && fieldCount > 10)
|
|
209
|
+
return 'critical';
|
|
210
|
+
if (unbounded)
|
|
211
|
+
return 'high';
|
|
212
|
+
if (fieldCount > 20)
|
|
213
|
+
return 'medium';
|
|
214
|
+
return 'low';
|
|
215
|
+
}
|
|
216
|
+
// ── Re-export shared utilities for public API stability ──
|
|
217
|
+
export { sha256, canonicalize } from './canonicalize.js';
|
|
218
|
+
//# sourceMappingURL=ToolContract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolContract.js","sourceRoot":"","sources":["../../src/introspection/ToolContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical — Shared Cryptographic Primitives
|
|
3
|
+
*
|
|
4
|
+
* Deterministic JSON serialization and SHA-256 hashing
|
|
5
|
+
* used across governance modules. Single source of truth
|
|
6
|
+
* eliminates duplication and guarantees behavioral consistency.
|
|
7
|
+
*
|
|
8
|
+
* Uses Web Crypto API (globalThis.crypto.subtle) for runtime
|
|
9
|
+
* agnosticism — works on Node.js 20+, Cloudflare Workers, Deno, Bun.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* SHA-256 hash of a string, returned as lowercase hex.
|
|
16
|
+
*
|
|
17
|
+
* Uses the Web Crypto API (crypto.subtle) for runtime agnosticism.
|
|
18
|
+
*
|
|
19
|
+
* @param input - The string to hash
|
|
20
|
+
* @returns 64-character hex digest
|
|
21
|
+
*/
|
|
22
|
+
export declare function sha256(input: string): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Canonical JSON serialization with deterministic key ordering.
|
|
25
|
+
*
|
|
26
|
+
* Guarantees that two structurally identical objects produce
|
|
27
|
+
* the same string regardless of property insertion order.
|
|
28
|
+
* This is critical for content-addressed hashing — the same
|
|
29
|
+
* contract must always produce the same digest.
|
|
30
|
+
*
|
|
31
|
+
* @param obj - The value to serialize
|
|
32
|
+
* @returns Deterministic JSON string
|
|
33
|
+
*/
|
|
34
|
+
export declare function canonicalize(obj: unknown): string;
|
|
35
|
+
//# sourceMappingURL=canonicalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonicalize.d.ts","sourceRoot":"","sources":["../../src/introspection/canonicalize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY3D;AAgBD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAYjD"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical — Shared Cryptographic Primitives
|
|
3
|
+
*
|
|
4
|
+
* Deterministic JSON serialization and SHA-256 hashing
|
|
5
|
+
* used across governance modules. Single source of truth
|
|
6
|
+
* eliminates duplication and guarantees behavioral consistency.
|
|
7
|
+
*
|
|
8
|
+
* Uses Web Crypto API (globalThis.crypto.subtle) for runtime
|
|
9
|
+
* agnosticism — works on Node.js 20+, Cloudflare Workers, Deno, Bun.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// Hashing
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* SHA-256 hash of a string, returned as lowercase hex.
|
|
19
|
+
*
|
|
20
|
+
* Uses the Web Crypto API (crypto.subtle) for runtime agnosticism.
|
|
21
|
+
*
|
|
22
|
+
* @param input - The string to hash
|
|
23
|
+
* @returns 64-character hex digest
|
|
24
|
+
*/
|
|
25
|
+
export async function sha256(input) {
|
|
26
|
+
const data = new TextEncoder().encode(input);
|
|
27
|
+
// Web Crypto API (browsers, Cloudflare Workers, Deno, Bun, Node 20+)
|
|
28
|
+
if (typeof globalThis.crypto !== 'undefined' && globalThis.crypto.subtle) {
|
|
29
|
+
const hashBuffer = await globalThis.crypto.subtle.digest('SHA-256', data);
|
|
30
|
+
return hexFromBuffer(hashBuffer);
|
|
31
|
+
}
|
|
32
|
+
// Node.js fallback (test environments, older Node versions)
|
|
33
|
+
const { createHash } = await import('node:crypto');
|
|
34
|
+
return createHash('sha256').update(data).digest('hex');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Convert an ArrayBuffer to lowercase hex string.
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
function hexFromBuffer(buffer) {
|
|
41
|
+
return Array.from(new Uint8Array(buffer))
|
|
42
|
+
.map(b => b.toString(16).padStart(2, '0'))
|
|
43
|
+
.join('');
|
|
44
|
+
}
|
|
45
|
+
// ============================================================================
|
|
46
|
+
// Serialization
|
|
47
|
+
// ============================================================================
|
|
48
|
+
/**
|
|
49
|
+
* Canonical JSON serialization with deterministic key ordering.
|
|
50
|
+
*
|
|
51
|
+
* Guarantees that two structurally identical objects produce
|
|
52
|
+
* the same string regardless of property insertion order.
|
|
53
|
+
* This is critical for content-addressed hashing — the same
|
|
54
|
+
* contract must always produce the same digest.
|
|
55
|
+
*
|
|
56
|
+
* @param obj - The value to serialize
|
|
57
|
+
* @returns Deterministic JSON string
|
|
58
|
+
*/
|
|
59
|
+
export function canonicalize(obj) {
|
|
60
|
+
return JSON.stringify(obj, (_key, value) => {
|
|
61
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
62
|
+
return Object.keys(value)
|
|
63
|
+
.sort()
|
|
64
|
+
.reduce((sorted, k) => {
|
|
65
|
+
sorted[k] = value[k];
|
|
66
|
+
return sorted;
|
|
67
|
+
}, {});
|
|
68
|
+
}
|
|
69
|
+
return value;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=canonicalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../src/introspection/canonicalize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAa;IACtC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7C,qEAAqE;IACrE,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACvE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1E,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,4DAA4D;IAC5D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACnD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,MAAmB;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACzC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC;iBAC/C,IAAI,EAAE;iBACN,MAAM,CAA0B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,CAAC,CAAC,CAAC,GAAI,KAAiC,CAAC,CAAC,CAAC,CAAC;gBAClD,OAAO,MAAM,CAAC;YAClB,CAAC,EAAE,EAAE,CAAC,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** Introspection Module — Barrel Export */
|
|
2
|
+
export { compileManifest, cloneManifest } from './ManifestCompiler.js';
|
|
3
|
+
export { registerIntrospectionResource } from './IntrospectionResource.js';
|
|
4
|
+
export type { IntrospectionConfig, ManifestPayload, ManifestCapabilities, ManifestTool, ManifestAction, ManifestPresenter, } from './types.js';
|
|
5
|
+
export type { IntrospectionRegistryDelegate } from './IntrospectionResource.js';
|
|
6
|
+
export { materializeContract, compileContracts, sha256, canonicalize, } from './ToolContract.js';
|
|
7
|
+
export type { ToolContract, ToolSurface, ActionContract, ToolBehavior, CognitiveGuardrailsContract, TokenEconomicsProfile, HandlerEntitlements, } from './ToolContract.js';
|
|
8
|
+
export { diffContracts, formatDiffReport, formatDeltasAsXml, } from './ContractDiff.js';
|
|
9
|
+
export type { ContractDelta, ContractDiffResult, DeltaSeverity, DeltaCategory, } from './ContractDiff.js';
|
|
10
|
+
export { computeDigest, computeServerDigest, compareServerDigests, } from './BehaviorDigest.js';
|
|
11
|
+
export type { BehaviorDigestResult, DigestComponents, ServerDigest, DigestComparison, } from './BehaviorDigest.js';
|
|
12
|
+
export { generateLockfile, serializeLockfile, checkLockfile, parseLockfile, writeLockfile, readLockfile, LOCKFILE_NAME, } from './CapabilityLockfile.js';
|
|
13
|
+
export type { CapabilityLockfile, LockfileCapabilities, LockfileTool, LockfileToolSurface, LockfileToolBehavior, LockfileTokenEconomics, LockfileEntitlements, LockfileCheckResult, LockfilePrompt, LockfilePromptArgument, PromptBuilderLike, GenerateLockfileOptions, } from './CapabilityLockfile.js';
|
|
14
|
+
export { createHmacSigner, attestServerDigest, verifyAttestation, verifyCapabilityPin, buildTrustCapability, AttestationError, } from './CryptoAttestation.js';
|
|
15
|
+
export type { ZeroTrustConfig, AttestationSigner, AttestationResult, VurbTrustCapability, } from './CryptoAttestation.js';
|
|
16
|
+
export { estimateTokens, profileBlock, profileResponse, computeStaticProfile, aggregateProfiles, } from './TokenEconomics.js';
|
|
17
|
+
export type { TokenAnalysis, BlockTokenProfile, TokenRisk, TokenThresholds, TokenEconomicsConfig, StaticTokenProfile, FieldTokenEstimate, ServerTokenSummary, } from './TokenEconomics.js';
|
|
18
|
+
export { scanSource, buildEntitlements, validateClaims, scanAndValidate, scanEvasionIndicators, } from './EntitlementScanner.js';
|
|
19
|
+
export type { EntitlementReport, EntitlementMatch, EntitlementViolation, EntitlementCategory, EntitlementClaims, EvasionIndicator, EvasionType, } from './EntitlementScanner.js';
|
|
20
|
+
export { createProbe, buildJudgePrompt, parseJudgeResponse, evaluateProbe, evaluateProbes, aggregateResults, } from './SemanticProbe.js';
|
|
21
|
+
export type { SemanticProbeConfig, SemanticProbeAdapter, SemanticThresholds, SemanticProbe, ProbeContractContext, SemanticProbeResult, DriftLevel, SemanticProbeReport, } from './SemanticProbe.js';
|
|
22
|
+
export { enrichValidationError, createToolEnhancer, } from './ContractAwareSelfHealing.js';
|
|
23
|
+
export type { SelfHealingConfig, SelfHealingResult, } from './ContractAwareSelfHealing.js';
|
|
24
|
+
export { createGovernanceObserver, createNoopObserver, } from './GovernanceObserver.js';
|
|
25
|
+
export type { GovernanceObserverConfig, GovernanceObserver, } from './GovernanceObserver.js';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/introspection/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,YAAY,EACR,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,iBAAiB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAGhF,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,EACN,YAAY,GACf,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACH,aAAa,EACb,gBAAgB,EAChB,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACR,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,aAAa,GAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACH,aAAa,EACb,mBAAmB,EACnB,oBAAoB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACR,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,GAChB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACR,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,GAC1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,GACnB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACR,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACtB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACH,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACR,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACH,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,qBAAqB,GACxB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACR,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACd,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,gBAAgB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACR,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,mBAAmB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACH,qBAAqB,EACrB,kBAAkB,GACrB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACR,iBAAiB,EACjB,iBAAiB,GACpB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACH,wBAAwB,EACxB,kBAAkB,GACrB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACR,wBAAwB,EACxB,kBAAkB,GACrB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Introspection Module — Barrel Export */
|
|
2
|
+
export { compileManifest, cloneManifest } from './ManifestCompiler.js';
|
|
3
|
+
export { registerIntrospectionResource } from './IntrospectionResource.js';
|
|
4
|
+
// ── Contract Materialization ─────────────────────────────
|
|
5
|
+
export { materializeContract, compileContracts, sha256, canonicalize, } from './ToolContract.js';
|
|
6
|
+
// ── Contract Diffing ─────────────────────────────────────
|
|
7
|
+
export { diffContracts, formatDiffReport, formatDeltasAsXml, } from './ContractDiff.js';
|
|
8
|
+
// ── Behavioral Fingerprinting ────────────────────────────
|
|
9
|
+
export { computeDigest, computeServerDigest, compareServerDigests, } from './BehaviorDigest.js';
|
|
10
|
+
// ── Capability Lockfile ──────────────────────────────────
|
|
11
|
+
export { generateLockfile, serializeLockfile, checkLockfile, parseLockfile, writeLockfile, readLockfile, LOCKFILE_NAME, } from './CapabilityLockfile.js';
|
|
12
|
+
// ── Zero-Trust Runtime ───────────────────────────────────
|
|
13
|
+
export { createHmacSigner, attestServerDigest, verifyAttestation, verifyCapabilityPin, buildTrustCapability, AttestationError, } from './CryptoAttestation.js';
|
|
14
|
+
// ── Token Economics ──────────────────────────────────────
|
|
15
|
+
export { estimateTokens, profileBlock, profileResponse, computeStaticProfile, aggregateProfiles, } from './TokenEconomics.js';
|
|
16
|
+
// ── Entitlement Scanner (Blast Radius) ───────────────────
|
|
17
|
+
export { scanSource, buildEntitlements, validateClaims, scanAndValidate, scanEvasionIndicators, } from './EntitlementScanner.js';
|
|
18
|
+
// ── Semantic Probing (LLM-as-Judge) ──────────────────────
|
|
19
|
+
export { createProbe, buildJudgePrompt, parseJudgeResponse, evaluateProbe, evaluateProbes, aggregateResults, } from './SemanticProbe.js';
|
|
20
|
+
// ── Self-Healing Context ─────────────────────────────────
|
|
21
|
+
export { enrichValidationError, createToolEnhancer, } from './ContractAwareSelfHealing.js';
|
|
22
|
+
// ── Governance Observer (Observability Bridge) ───────────
|
|
23
|
+
export { createGovernanceObserver, createNoopObserver, } from './GovernanceObserver.js';
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/introspection/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAW3E,4DAA4D;AAC5D,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,EACN,YAAY,GACf,MAAM,mBAAmB,CAAC;AAW3B,4DAA4D;AAC5D,OAAO,EACH,aAAa,EACb,gBAAgB,EAChB,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAQ3B,4DAA4D;AAC5D,OAAO,EACH,aAAa,EACb,mBAAmB,EACnB,oBAAoB,GACvB,MAAM,qBAAqB,CAAC;AAQ7B,4DAA4D;AAC5D,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,GAChB,MAAM,yBAAyB,CAAC;AAgBjC,4DAA4D;AAC5D,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,GACnB,MAAM,wBAAwB,CAAC;AAQhC,4DAA4D;AAC5D,OAAO,EACH,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GACpB,MAAM,qBAAqB,CAAC;AAY7B,4DAA4D;AAC5D,OAAO,EACH,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,qBAAqB,GACxB,MAAM,yBAAyB,CAAC;AAWjC,4DAA4D;AAC5D,OAAO,EACH,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,gBAAgB,GACnB,MAAM,oBAAoB,CAAC;AAY5B,4DAA4D;AAC5D,OAAO,EACH,qBAAqB,EACrB,kBAAkB,GACrB,MAAM,+BAA+B,CAAC;AAMvC,4DAA4D;AAC5D,OAAO,EACH,wBAAwB,EACxB,kBAAkB,GACrB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Introspection Types — Enterprise-Grade Dynamic Manifest
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the RBAC-aware introspection system.
|
|
5
|
+
* The manifest is exposed as a standard MCP Resource, never as
|
|
6
|
+
* a custom HTTP endpoint.
|
|
7
|
+
*
|
|
8
|
+
* This module has ZERO runtime code — only type declarations.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Configuration for the introspection system.
|
|
14
|
+
*
|
|
15
|
+
* When enabled, the framework silently registers a MCP Resource
|
|
16
|
+
* that exposes a dynamic manifest of all tools, actions, and
|
|
17
|
+
* presenters — filtered by the session's security context.
|
|
18
|
+
*
|
|
19
|
+
* @typeParam TContext - Application context (same as ToolRegistry)
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* registry.attachToServer(server, {
|
|
24
|
+
* contextFactory: createContext,
|
|
25
|
+
* introspection: {
|
|
26
|
+
* enabled: process.env.NODE_ENV !== 'production',
|
|
27
|
+
* uri: 'vurb://manifest.json',
|
|
28
|
+
* filter: (manifest, ctx) => {
|
|
29
|
+
* if (ctx.user.role !== 'admin') {
|
|
30
|
+
* delete manifest.capabilities.tools['admin.delete_user'];
|
|
31
|
+
* }
|
|
32
|
+
* return manifest;
|
|
33
|
+
* },
|
|
34
|
+
* },
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export interface IntrospectionConfig<TContext> {
|
|
39
|
+
/**
|
|
40
|
+
* Whether introspection is enabled.
|
|
41
|
+
*
|
|
42
|
+
* Smart default pattern: `process.env.NODE_ENV !== 'production'`
|
|
43
|
+
* The framework NEVER enables this silently — strict opt-in.
|
|
44
|
+
*/
|
|
45
|
+
readonly enabled: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Custom URI for the MCP Resource.
|
|
48
|
+
* @defaultValue `'vurb://manifest.json'`
|
|
49
|
+
*/
|
|
50
|
+
readonly uri?: string;
|
|
51
|
+
/**
|
|
52
|
+
* RBAC-aware manifest filter.
|
|
53
|
+
*
|
|
54
|
+
* Called on every `resources/read` with the compiled manifest
|
|
55
|
+
* and the session context. Use this to remove tools, actions,
|
|
56
|
+
* or presenters that the requesting agent should not see.
|
|
57
|
+
*
|
|
58
|
+
* **Security model**: Unauthorized agents don't even know the
|
|
59
|
+
* hidden surface exists — it's removed from the tree entirely.
|
|
60
|
+
*
|
|
61
|
+
* @param manifest - The full compiled manifest (mutable clone)
|
|
62
|
+
* @param ctx - The session context (user, role, tenant, etc.)
|
|
63
|
+
* @returns The filtered manifest
|
|
64
|
+
*/
|
|
65
|
+
readonly filter?: (manifest: ManifestPayload, ctx: TContext) => ManifestPayload;
|
|
66
|
+
}
|
|
67
|
+
/** Top-level manifest payload returned by `resources/read` */
|
|
68
|
+
export interface ManifestPayload {
|
|
69
|
+
/** Server name (from AttachOptions or registry metadata) */
|
|
70
|
+
readonly server: string;
|
|
71
|
+
/** Vurb framework version */
|
|
72
|
+
readonly vurb_version: string;
|
|
73
|
+
/** Architecture label */
|
|
74
|
+
readonly architecture: 'MVA (Model-View-Agent)';
|
|
75
|
+
/** Capabilities tree */
|
|
76
|
+
capabilities: ManifestCapabilities;
|
|
77
|
+
}
|
|
78
|
+
/** Capabilities subtree of the manifest */
|
|
79
|
+
export interface ManifestCapabilities {
|
|
80
|
+
/** Registered tools, keyed by tool name */
|
|
81
|
+
tools: Record<string, ManifestTool>;
|
|
82
|
+
/** Registered presenters, keyed by presenter name */
|
|
83
|
+
presenters: Record<string, ManifestPresenter>;
|
|
84
|
+
}
|
|
85
|
+
/** A single tool entry in the manifest */
|
|
86
|
+
export interface ManifestTool {
|
|
87
|
+
/** Human-readable tool description */
|
|
88
|
+
readonly description: string | undefined;
|
|
89
|
+
/** Tags for selective exposure */
|
|
90
|
+
readonly tags: readonly string[];
|
|
91
|
+
/** Actions within this tool */
|
|
92
|
+
readonly actions: Record<string, ManifestAction>;
|
|
93
|
+
/** JSON Schema of the complete inputSchema */
|
|
94
|
+
readonly input_schema: object;
|
|
95
|
+
}
|
|
96
|
+
/** A single action entry within a tool */
|
|
97
|
+
export interface ManifestAction {
|
|
98
|
+
/** Human-readable description */
|
|
99
|
+
readonly description: string | undefined;
|
|
100
|
+
/** Whether this action is destructive */
|
|
101
|
+
readonly destructive: boolean;
|
|
102
|
+
/** Whether this action is idempotent */
|
|
103
|
+
readonly idempotent: boolean;
|
|
104
|
+
/** Whether this action is read-only */
|
|
105
|
+
readonly readOnly: boolean;
|
|
106
|
+
/** Required field names */
|
|
107
|
+
readonly required_fields: readonly string[];
|
|
108
|
+
/** Presenter name (if MVA pattern is used) */
|
|
109
|
+
readonly returns_presenter: string | undefined;
|
|
110
|
+
}
|
|
111
|
+
/** A presenter entry in the manifest */
|
|
112
|
+
export interface ManifestPresenter {
|
|
113
|
+
/** Schema keys exposed to the LLM */
|
|
114
|
+
readonly schema_keys: readonly string[];
|
|
115
|
+
/** UI block types supported (echarts, mermaid, etc.) */
|
|
116
|
+
readonly ui_blocks_supported: readonly string[];
|
|
117
|
+
/** Whether the presenter has context-aware system rules */
|
|
118
|
+
readonly has_contextual_rules: boolean;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/introspection/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,mBAAmB,CAAC,QAAQ;IACzC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ,KAAK,eAAe,CAAC;CACnF;AAID,8DAA8D;AAC9D,MAAM,WAAW,eAAe;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,yBAAyB;IACzB,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAC;IAChD,wBAAwB;IACxB,YAAY,EAAE,oBAAoB,CAAC;CACtC;AAED,2CAA2C;AAC3C,MAAM,WAAW,oBAAoB;IACjC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpC,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACjD;AAED,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IACzB,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACjD,8CAA8C;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CACjC;AAED,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC3B,iCAAiC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,yCAAyC;IACzC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,2BAA2B;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,8CAA8C;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;CAClD;AAED,wCAAwC;AACxC,MAAM,WAAW,iBAAiB;IAC9B,qCAAqC;IACrC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,wDAAwD;IACxD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,2DAA2D;IAC3D,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;CAC1C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Introspection Types — Enterprise-Grade Dynamic Manifest
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the RBAC-aware introspection system.
|
|
5
|
+
* The manifest is exposed as a standard MCP Resource, never as
|
|
6
|
+
* a custom HTTP endpoint.
|
|
7
|
+
*
|
|
8
|
+
* This module has ZERO runtime code — only type declarations.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/introspection/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|