pyvider 2025-11-03
Added interactive mode display for CLI, fixed install command output, improved diagnostic error...
411 files · 19,979+ · 6,375-

Interactive Mode Welcome Screen

218 files changed
  • main.py Updated main.py (+49/-16 lines)
  • settings.local.json Added settings.local.json (+21 lines)
  • settings.local.json Added settings.local.json (+82 lines)
  • .gitattributes Added .gitattributes (+18 lines)
  • .gitguardian.yaml Added .gitguardian.yaml (+12 lines)
  • ci.yml Added ci.yml (+61 lines)
  • docs-check.yml Added docs-check.yml (+96 lines)
  • release.yml Added release.yml (+137 lines)
  • .gitignore Updated .gitignore (+33/-2 lines)
  • .gitleaks.toml Added .gitleaks.toml (+16 lines)
  • .markdownlint.json Added .markdownlint.json (+10 lines)
  • .mutmut-config.py Added .mutmut-config.py (+33 lines)
  • .pre-commit-config.yaml Added .pre-commit-config.yaml (+33 lines)
  • coverage.xml Added coverage.xml (+5051 lines)
  • .trufflehog-exclude-paths.txt Added .trufflehog-exclude-paths.txt (+8 lines)
  • CHANGELOG.md Added CHANGELOG.md (+14 lines)
  • CLAUDE.md Added CLAUDE.md (+88 lines)
  • CONTRIBUTING.md Added CONTRIBUTING.md (+203 lines)
  • README.md Updated README.md (+52/-42 lines)
  • VERSION Updated VERSION (+1/-1 lines)
  • cli.md Removed content from cli.md (-10 lines)
  • common.md Removed content from common.md (-10 lines)
  • index.md Removed content from index.md (-13 lines)
  • data_sources.md Removed content from data_sources.md (-10 lines)
  • ephemerals.md Removed content from ephemerals.md (-9 lines)
  • exceptions.md Removed content from exceptions.md (-52 lines)
  • functions.md Removed content from functions.md (-10 lines)
  • hub.md Removed content from hub.md (-10 lines)
  • index.md Updated index.md (+3/-14 lines)
  • observability.md Updated observability.md (+2/-32 lines)
  • index.md Removed content from index.md (-10 lines)
  • index.md Removed content from index.md (-10 lines)
  • resources.md Removed content from resources.md (-10 lines)
  • index.md Removed content from index.md (-10 lines)
  • types.md Removed content from types.md (-10 lines)
  • README.md Removed content from README.md (-79 lines)
  • bundling-components.md Removed content from bundling-components.md (-85 lines)
  • capability-composition.md Removed content from capability-composition.md (-31 lines)
  • capability-lifecycle.md Removed content from capability-lifecycle.md (-20 lines)
  • capability-marketplace.md Removed content from capability-marketplace.md (-74 lines)
  • creating-capabilities.md Removed content from creating-capabilities.md (-29 lines)
  • using-capabilities.md Removed content from using-capabilities.md (-76 lines)
  • overview.md Updated overview.md (+13/-26 lines)
  • guidelines.md Updated guidelines.md (+5/-12 lines)
  • extra.css Updated extra.css (+0/-0 lines)
  • provide-theme.css Added provide-theme.css (+427 lines)
  • termynal.css Added termynal.css (+127 lines)
  • DEVELOPMENT.md Added DEVELOPMENT.md (+488 lines)
  • roadmap.md Removed content from roadmap.md (-233 lines)
  • architecture.md Updated architecture.md (+3/-1 lines)
  • component-model.md Updated component-model.md (+1/-1 lines)
  • design-philosophy.md Added design-philosophy.md (+219 lines)
  • resources-vs-data-sources.md Removed content from resources-vs-data-sources.md (-3 lines)
  • faq.md Updated faq.md (+5/-5 lines)
  • index.md Added index.md (+145 lines)
  • installation.md Updated installation.md (+28/-32 lines)
  • quick-start.md Updated quick-start.md (+3/-3 lines)
  • what-is-pyvider.md Updated what-is-pyvider.md (+7/-9 lines)
  • advanced-provider-features.md Updated advanced-provider-features.md (+3/-2 lines)
  • creating-data-sources.md Removed content from creating-data-sources.md (-4 lines)
  • creating-functions.md Removed content from creating-functions.md (-4 lines)
  • creating-providers.md Updated creating-providers.md (+2/-5 lines)
  • creating-resources.md Removed content from creating-resources.md (-4 lines)
  • using-decorators.md Updated using-decorators.md (+4/-8 lines)
  • debugging.md Updated debugging.md (+3/-2 lines)
  • best-practices.md Updated best-practices.md (+2/-6 lines)
  • performance-optimization.md Updated performance-optimization.md (+1/-5 lines)
  • production-readiness.md Updated production-readiness.md (+3/-7 lines)
  • security-best-practices.md Updated security-best-practices.md (+2/-6 lines)
  • create-data-source.md Removed content from create-data-source.md (-3 lines)
  • handle-pagination.md Removed content from handle-pagination.md (-3 lines)
  • add-validation.md Removed content from add-validation.md (-3 lines)
  • create-resource.md Removed content from create-resource.md (-3 lines)
  • index.md Updated index.md (+61/-209 lines)
  • custom.js Added custom.js (+121 lines)
  • mermaid-init.js Added mermaid-init.js (+16 lines)
  • termynal.js Added termynal.js (+264 lines)
  • data-source-api.md Removed content from data-source-api.md (-3 lines)
  • resource-lifecycle.md Removed content from resource-lifecycle.md (-3 lines)
  • best-practices.md Updated best-practices.md (+1/-1 lines)
  • schema-by-example.md Updated schema-by-example.md (+1/-1 lines)
  • api_data_source.py Added api_data_source.py (+92 lines)
  • file_info_complete.py Added file_info_complete.py (+103 lines)
  • file_info_minimal.py Added file_info_minimal.py (+64 lines)
  • async_concurrent.py Added async_concurrent.py (+252 lines)
  • error_handling.py Added error_handling.py (+199 lines)
  • pagination.py Added pagination.py (+252 lines)
  • api_resource.py Added api_resource.py (+132 lines)
  • file_complete.py Added file_complete.py (+172 lines)
  • file_minimal.py Added file_minimal.py (+99 lines)
  • basic_types.py Added basic_types.py (+99 lines)
  • collections.py Added collections.py (+115 lines)
  • validators.py Added validators.py (+158 lines)
  • troubleshooting.md Updated troubleshooting.md (+3/-3 lines)
  • building-your-first-data-source.md Removed content from building-your-first-data-source.md (-4 lines)
  • building-your-first-resource.md Updated building-your-first-resource.md (+11/-240 lines)
  • intermediate-provider.md Updated intermediate-provider.md (+1/-1 lines)
  • README.md Added README.md (+229 lines)
  • settings.local.json Added settings.local.json (+17 lines)
  • README.md Added README.md (+219 lines)
  • VERSION Added VERSION (+1 lines)
  • pyproject.toml Added pyproject.toml (+25 lines)
  • pyvider.toml Added pyvider.toml (+14 lines)
  • __init__.py Added __init__.py (+45 lines)
  • data_sources.py Added data_sources.py (+237 lines)
  • functions.py Added functions.py (+197 lines)
  • resources.py Added resources.py (+412 lines)
  • terraform-provider-demo Added terraform-provider-demo (+26 lines)
  • main.tf Added main.tf (+37 lines)
  • uv.lock Added uv.lock (+456 lines)
  • mkdocs.yml Updated mkdocs.yml (+13/-12 lines)
  • pyproject.toml Updated pyproject.toml (+89/-17 lines)
  • add_spdx_headers.py Added add_spdx_headers.py (+203 lines)
  • build_provider.py Updated build_provider.py (+1/-1 lines)
  • check_doc_links.py Updated check_doc_links.py (+59/-42 lines)
  • install-opentofu-wrapper.sh Removed content from install-opentofu-wrapper.sh (-38 lines)
  • install-opentofu.sh Removed content from install-opentofu.sh (-1358 lines)
  • install-uv.sh Removed content from install-uv.sh (-3 lines)
  • __init__.py Updated __init__.py (+0/-0 lines)
  • memray_analysis.py Added memray_analysis.py (+157 lines)
  • memray_conversion_stress.py Added memray_conversion_stress.py (+69 lines)
  • memray_hub_stress.py Added memray_hub_stress.py (+56 lines)
  • memray_schema_stress.py Added memray_schema_stress.py (+65 lines)
  • 01_install_common_deps.sh Removed content from 01_install_common_deps.sh (-22 lines)
  • 02_install_uv.sh Removed content from 02_install_uv.sh (-7 lines)
  • 03_install_terraform.sh Removed content from 03_install_terraform.sh (-13 lines)
  • 04_install_tofu.sh Removed content from 04_install_tofu.sh (-11 lines)
  • 01_install_homebrew.sh Removed content from 01_install_homebrew.sh (-9 lines)
  • 02_install_deps.sh Removed content from 02_install_deps.sh (-4 lines)
  • 03_install_uv.sh Removed content from 03_install_uv.sh (-6 lines)
  • 04_install_terraform.sh Removed content from 04_install_terraform.sh (-8 lines)
  • 05_install_tofu.sh Removed content from 05_install_tofu.sh (-7 lines)
  • runtime-hook.py Removed content from runtime-hook.py (-30 lines)
  • terraform-provider-pyvider Removed content from terraform-provider-pyvider (-23 lines)
  • validate_spdx_headers.py Added validate_spdx_headers.py (+101 lines)
  • __init__.py Updated __init__.py (+3/-2 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • base.py Removed content from base.py (-2 lines)
  • decorators.py Updated decorators.py (+2/-3 lines)
  • __init__.py Updated __init__.py (+2/-8 lines)
  • __main__.py Updated __main__.py (+26/-4 lines)
  • components_commands.py Updated components_commands.py (+15/-13 lines)
  • config_commands.py Updated config_commands.py (+1/-3 lines)
  • launch_context_command.py Updated launch_context_command.py (+42/-41 lines)
  • provide_command.py Updated provide_command.py (+231/-156 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • config.py Updated config.py (+5/-11 lines)
  • encryption.py Updated encryption.py (+3/-8 lines)
  • launch_context.py Updated launch_context.py (+50/-44 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • attrs_factory.py Removed content from attrs_factory.py (-1 lines)
  • availability.py Updated availability.py (+1/-1 lines)
  • marshaler.py Updated marshaler.py (+18/-9 lines)
  • schema_adapter.py Updated schema_adapter.py (+37/-7 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • base.py Removed content from base.py (-1 lines)
  • decorators.py Updated decorators.py (+6/-6 lines)
  • base.py Updated base.py (+2/-2 lines)
  • decorators.py Updated decorators.py (+1/-2 lines)
  • base.py Removed content from base.py (-3 lines)
  • foundation.py Removed content from foundation.py (-4 lines)
  • function.py Removed content from function.py (-1 lines)
  • grpc.py Removed content from grpc.py (-1 lines)
  • registry.py Removed content from registry.py (-1 lines)
  • schema.py Removed content from schema.py (-1 lines)
  • serialization.py Removed content from serialization.py (-1 lines)
  • validation.py Removed content from validation.py (-1 lines)
  • adapters.py Updated adapters.py (+10/-9 lines)
  • base.py Updated base.py (+4/-4 lines)
  • decorators.py Updated decorators.py (+5/-6 lines)
  • handler.py Updated handler.py (+64/-6 lines)
  • components.py Updated components.py (+101/-13 lines)
  • discovery.py Updated discovery.py (+42/-8 lines)
  • validators.py Updated validators.py (+4/-3 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • service.py Updated service.py (+5/-6 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • function_adapter.py Updated function_adapter.py (+1/-2 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • apply_resource_change.py Updated apply_resource_change.py (+3/-4 lines)
  • call_function.py Updated call_function.py (+57/-42 lines)
  • close_ephemeral_resource.py Updated close_ephemeral_resource.py (+2/-3 lines)
  • configure_provider.py Updated configure_provider.py (+1/-2 lines)
  • get_provider_schema.py Updated get_provider_schema.py (+68/-44 lines)
  • import_resource_state.py Removed content from import_resource_state.py (-1 lines)
  • move_resource_state.py Removed content from move_resource_state.py (-1 lines)
  • open_ephemeral_resource.py Updated open_ephemeral_resource.py (+2/-3 lines)
  • plan_resource_change.py Updated plan_resource_change.py (+4/-5 lines)
  • upgrade_resource_state.py Removed content from upgrade_resource_state.py (-1 lines)
  • validate_data_resource_config.py Removed content from validate_data_resource_config.py (-1 lines)
  • validate_ephemeral_resource_config.py Removed content from validate_ephemeral_resource_config.py (-1 lines)
  • validate_provider_config.py Updated validate_provider_config.py (+1/-2 lines)
  • validate_resource_config.py Removed content from validate_resource_config.py (-1 lines)
  • __init__.py Updated __init__.py (+1/-4 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • base.py Updated base.py (+12/-2 lines)
  • config.py Removed content from config.py (-1 lines)
  • decorators.py Updated decorators.py (+3/-4 lines)
  • py.typed Updated py.typed (+0/-0 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • base.py Updated base.py (+9/-2 lines)
  • decorators.py Updated decorators.py (+1/-2 lines)
  • exceptions.py Removed content from exceptions.py (-1 lines)
  • lifecycle.py Removed content from lifecycle.py (-1 lines)
  • private_state.py Removed content from private_state.py (-3 lines)
  • protocol.py Updated protocol.py (+1/-2 lines)
  • __init__.py Updated __init__.py (+2/-1 lines)
  • exceptions.py Removed content from exceptions.py (-12 lines)
  • factory.py Updated factory.py (+45/-1 lines)
  • transforms.py Removed content from transforms.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • attribute.py Removed content from attribute.py (-1 lines)
  • blocks.py Removed content from blocks.py (-1 lines)
  • enums.py Updated enums.py (+3/-4 lines)
  • object.py Removed content from object.py (-1 lines)
  • schema.py Removed content from schema.py (-1 lines)
  • uv.lock Updated uv.lock (+1768/-981 lines)
  • wrknv.toml Added wrknv.toml (+103 lines)
  • Added _show_interactive_mode() function in cli/main.py that displays a styled welcome message with launch context details instantiate behavioral
    1 file
    • main.py
  • When pyvider is run without Terraform (no magic cookie), shows interactive mode box with launch method, executable path, Python executable, working directory, and help command suggestions baseline behavioral
    1 file
    • main.py
  • Replaces previous behavior of just showing help text decouple behavioral
    1 file
    • main.py

Install Command Fix

1 file changed
  • install_command.py Updated install_command.py (+110/-104 lines)
  • Fixed broken click.secho() call in install_command.py that was missing its message string (only had fg="green", bold=True kwargs), replaced with proper pout() call with success message remediate behavioral
    1 file
    • install_command.py

Improved Diagnostic Error Messages

3 files changed
  • utils.py Updated utils.py (+9/-10 lines)
  • utils.py Updated utils.py (+38/-27 lines)
  • utils.py Removed content from utils.py (-1 lines)
  • Enhanced create_diagnostic_from_exception() in handlers/utils.py to use exc.message attribute for summary in validation errors and CtyValidationError cases decouple behavioral
    3 files
    • utils.py
    • utils.py
    • utils.py
  • Added explicit "Internal Provider Error" summary for unexpected exceptions instead of using generic default instantiate behavioral
    1 file
    • test_enhanced_error_messages.py

Type Annotations and Mock Improvements

189 files changed
  • provider.py Added provider.py (+53 lines)
  • context.py Updated context.py (+115/-5 lines)
  • context.py Removed content from context.py (-1 lines)
  • context.py Removed content from context.py (-1 lines)
  • provider.py Removed content from provider.py (-3 lines)
  • resource.py Removed content from resource.py (-9 lines)
  • get_metadata.py Removed content from get_metadata.py (-1 lines)
  • read_data_source.py Updated read_data_source.py (+1/-2 lines)
  • read_resource.py Updated read_resource.py (+3/-4 lines)
  • renew_ephemeral_resource.py Updated renew_ephemeral_resource.py (+2/-3 lines)
  • stop_provider.py Updated stop_provider.py (+10/-3 lines)
  • context.py Removed content from context.py (-1 lines)
  • provider.py Updated provider.py (+15/-5 lines)
  • context.py Updated context.py (+6/-7 lines)
  • test_cli_utils.py Updated test_cli_utils.py (+7/-4 lines)
  • test_context.py Updated test_context.py (+46/-11 lines)
  • test_get_metadata.py Updated test_get_metadata.py (+85/-57 lines)
  • test_read_data_source.py Updated test_read_data_source.py (+57/-43 lines)
  • test_read_resource.py Updated test_read_resource.py (+40/-35 lines)
  • test_renew_ephemeral_resource.py Updated test_renew_ephemeral_resource.py (+29/-13 lines)
  • test_stop_provider.py Updated test_stop_provider.py (+62/-61 lines)
  • __init__.py Added __init__.py (+1 lines)
  • test_provider.py Added test_provider.py (+214 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • fixtures.py Updated fixtures.py (+7/-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • test_decorators.py Updated test_decorators.py (+4/-4 lines)
  • test_components_commands.py Added test_components_commands.py (+182 lines)
  • test_install_binary_mode.py Added test_install_binary_mode.py (+120 lines)
  • test_install_command.py Added test_install_command.py (+3 lines)
  • test_install_custom_names.py Added test_install_custom_names.py (+74 lines)
  • test_install_dev_mode.py Added test_install_dev_mode.py (+85 lines)
  • test_install_uninstall.py Added test_install_uninstall.py (+133 lines)
  • test_install_utils.py Updated test_install_utils.py (+25/-28 lines)
  • test_install_validation.py Added test_install_validation.py (+127 lines)
  • test_launch_context_command.py Updated test_launch_context_command.py (+29/-23 lines)
  • test_provide_command.py Updated test_provide_command.py (+67/-71 lines)
  • test_pyvider_cli.py Updated test_pyvider_cli.py (+2/-2 lines)
  • test_availability.py Updated test_availability.py (+7/-6 lines)
  • test_base_context.py Updated test_base_context.py (+1/-1 lines)
  • test_config.py Updated test_config.py (+16/-21 lines)
  • test_encryption_unit.py Updated test_encryption_unit.py (+30/-29 lines)
  • test_launch_context.py Updated test_launch_context.py (+22/-14 lines)
  • test_launch_context_extra.py Updated test_launch_context_extra.py (+9/-6 lines)
  • conftest.py Updated conftest.py (+50/-24 lines)
  • test_tdd_marshaler_contracts.py Removed content from test_tdd_marshaler_contracts.py (-1 lines)
  • test_terraform_conversion.py Updated test_terraform_conversion.py (+1/-2 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • test_base_data_source.py Updated test_base_data_source.py (+8/-6 lines)
  • test_snippets.py Added test_snippets.py (+135 lines)
  • test_foundation_exceptions.py Removed content from test_foundation_exceptions.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • proto_fixtures.py Updated proto_fixtures.py (+1/-2 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • test_cty_to_native_conversion.py Removed content from test_cty_to_native_conversion.py (-1 lines)
  • test_cty_validation_recursion.py Removed content from test_cty_validation_recursion.py (-1 lines)
  • test_diagnostics_api.py Updated test_diagnostics_api.py (+4/-5 lines)
  • test_function_argument_conversion.py Removed content from test_function_argument_conversion.py (-1 lines)
  • test_observability_contracts.py Updated test_observability_contracts.py (+2/-2 lines)
  • test_private_state_encryption.py Updated test_private_state_encryption.py (+12/-10 lines)
  • test_schema_caching.py Updated test_schema_caching.py (+4/-2 lines)
  • test_validation_contract.py Removed content from test_validation_contract.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • test_base_function.py Updated test_base_function.py (+3/-2 lines)
  • test_base_function_complete.py Updated test_base_function_complete.py (+15/-13 lines)
  • test_function_adapter.py Removed content from test_function_adapter.py (-1 lines)
  • test_function_adapters_extraction.py Updated test_function_adapters_extraction.py (+6/-6 lines)
  • test_function_adapters_types.py Updated test_function_adapters_types.py (+3/-3 lines)
  • test_function_registration.py Removed content from test_function_registration.py (-1 lines)
  • test_tdd_function_dispatch.py Updated test_tdd_function_dispatch.py (+1/-2 lines)
  • test_discovery.py Updated test_discovery.py (+28/-24 lines)
  • test_validators.py Updated test_validators.py (+1/-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • test_s_function_provider.py Added test_s_function_provider.py (+217 lines)
  • __init__.py Updated __init__.py (+0/-0 lines)
  • baselines.json Added baselines.json (+5 lines)
  • conftest.py Added conftest.py (+8 lines)
  • test_conversion_memory.py Added test_conversion_memory.py (+16 lines)
  • test_hub_memory.py Added test_hub_memory.py (+16 lines)
  • test_schema_memory.py Added test_schema_memory.py (+16 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • mock_data_source.py Removed content from mock_data_source.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • mock_function.py Removed content from mock_function.py (-1 lines)
  • mock_type.py Removed content from mock_type.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • mock_resource_file.py Removed content from mock_resource_file.py (-1 lines)
  • conftest.py Updated conftest.py (+2/-1 lines)
  • test_upgrade_handler.py Updated test_upgrade_handler.py (+2/-2 lines)
  • test_handler_metrics.py Updated test_handler_metrics.py (+13/-11 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • test_cty_conversions.py Updated test_cty_conversions.py (+21/-19 lines)
  • test_exceptions_hierarchy.py Updated test_exceptions_hierarchy.py (+0/-0 lines)
  • test_function_adapter.py Updated test_function_adapter.py (+1/-2 lines)
  • test_schema_validation.py Updated test_schema_validation.py (+2/-1 lines)
  • test_service.py Updated test_service.py (+21/-22 lines)
  • test_pyvider_provider.py Updated test_pyvider_provider.py (+3/-2 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • test_base_resource.py Updated test_base_resource.py (+5/-5 lines)
  • test_base_resource_conversion.py Updated test_base_resource_conversion.py (+8/-8 lines)
  • test_base_resource_lifecycle.py Updated test_base_resource_lifecycle.py (+2/-2 lines)
  • test_exceptions.py Removed content from test_exceptions.py (-1 lines)
  • test_lifecycle.py Removed content from test_lifecycle.py (-1 lines)
  • test_protocol.py Updated test_protocol.py (+7/-5 lines)
  • test_resource_protocol.py Updated test_resource_protocol.py (+8/-5 lines)
  • test_tdd_ephemeral_resource_lifecycle.py Updated test_tdd_ephemeral_resource_lifecycle.py (+2/-4 lines)
  • test_tdd_private_state.py Updated test_tdd_private_state.py (+6/-5 lines)
  • test_tdd_private_state_in_read.py Updated test_tdd_private_state_in_read.py (+6/-5 lines)
  • test_tdd_private_state_lifecycle.py Updated test_tdd_private_state_lifecycle.py (+2/-3 lines)
  • test_tdd_resource_context_contract.py Updated test_tdd_resource_context_contract.py (+8/-5 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • test_conversion_proto.py Removed content from test_conversion_proto.py (-1 lines)
  • test_factory_attributes.py Removed content from test_factory_attributes.py (-1 lines)
  • test_factory_function.py Added test_factory_function.py (+351 lines)
  • test_resources.py Removed content from test_resources.py (-1 lines)
  • test_lifecycle_operations.py Removed content from test_lifecycle_operations.py (-1 lines)
  • test_lifecycle_terraform.py Removed content from test_lifecycle_terraform.py (-1 lines)
  • test_schema_architecture.py Removed content from test_schema_architecture.py (-1 lines)
  • test_schema_edge_cases.py Removed content from test_schema_edge_cases.py (-1 lines)
  • test_tdd_schema_contracts.py Removed content from test_tdd_schema_contracts.py (-1 lines)
  • test_exceptions.py Removed content from test_exceptions.py (-1 lines)
  • test_factory_helpers.py Updated test_factory_helpers.py (+8/-7 lines)
  • test_transforms.py Updated test_transforms.py (+2/-2 lines)
  • test_transformation_operations.py Updated test_transformation_operations.py (+2/-3 lines)
  • test_pvs_object_type.py Removed content from test_pvs_object_type.py (-1 lines)
  • test_tdd_capability_association.py Updated test_tdd_capability_association.py (+2/-3 lines)
  • test_discovery_resilience.py Added test_discovery_resilience.py (+117 lines)
  • test_explicit_registration.py Added test_explicit_registration.py (+145 lines)
  • test_handler_core.py Updated test_handler_core.py (+91/-19 lines)
  • test_handler_resources.py Updated test_handler_resources.py (+16/-16 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • test_init.py Removed content from test_init.py (-7 lines)
  • test_testmode.py Added test_testmode.py (+98 lines)
  • test_version.py Removed content from test_version.py (-1 lines)
  • test_dict_to_proto_function.py Updated test_dict_to_proto_function.py (+21/-17 lines)
  • conftest.py Updated conftest.py (+2/-3 lines)
  • conftest.py Added conftest.py (+49 lines)
  • test_apply_resource_change_advanced.py Updated test_apply_resource_change_advanced.py (+9/-51 lines)
  • test_apply_resource_change_core.py Updated test_apply_resource_change_core.py (+17/-14 lines)
  • test_call_function_advanced.py Updated test_call_function_advanced.py (+114/-146 lines)
  • test_call_function_core.py Updated test_call_function_core.py (+65/-62 lines)
  • test_close_ephemeral_resource.py Updated test_close_ephemeral_resource.py (+43/-21 lines)
  • test_configure_provider.py Updated test_configure_provider.py (+43/-33 lines)
  • test_diagnostic_creation.py Removed content from test_diagnostic_creation.py (-1 lines)
  • test_enhanced_error_messages.py Updated test_enhanced_error_messages.py (+63/-57 lines)
  • test_get_functions.py Updated test_get_functions.py (+81/-41 lines)
  • test_get_provider_schema.py Updated test_get_provider_schema.py (+7/-1 lines)
  • test_get_provider_schema_caching.py Added test_get_provider_schema_caching.py (+128 lines)
  • test_get_provider_schema_collection.py Added test_get_provider_schema_collection.py (+157 lines)
  • test_get_provider_schema_computation.py Added test_get_provider_schema_computation.py (+77 lines)
  • test_get_provider_schema_handler.py Added test_get_provider_schema_handler.py (+48 lines)
  • test_get_provider_schema_observability.py Added test_get_provider_schema_observability.py (+141 lines)
  • test_handler_utils_diagnostics.py Updated test_handler_utils_diagnostics.py (+1/-1 lines)
  • test_import_resource_state.py Updated test_import_resource_state.py (+16/-14 lines)
  • test_move_resource_state.py Updated test_move_resource_state.py (+24/-22 lines)
  • test_open_ephemeral_resource.py Updated test_open_ephemeral_resource.py (+112/-113 lines)
  • test_plan_resource_change_basic.py Updated test_plan_resource_change_basic.py (+21/-11 lines)
  • test_plan_resource_change_implementation.py Updated test_plan_resource_change_implementation.py (+17/-6 lines)
  • test_structured_logging.py Updated test_structured_logging.py (+104/-92 lines)
  • test_tdd_deep_diagnostics.py Removed content from test_tdd_deep_diagnostics.py (-1 lines)
  • test_tdd_diagnostics.py Removed content from test_tdd_diagnostics.py (-1 lines)
  • test_call_function_integration.py Removed content from test_call_function_integration.py (-1 lines)
  • test_framework_integration.py Removed content from test_framework_integration.py (-1 lines)
  • test_handler_diagnostics.py Removed content from test_handler_diagnostics.py (-1 lines)
  • test_read_data_source_integration.py Removed content from test_read_data_source_integration.py (-1 lines)
  • test_unmarshal_recursion.py Removed content from test_unmarshal_recursion.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • test_schema_validators.py Removed content from test_schema_validators.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • dummy_types.py Removed content from dummy_types.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • plugin_validators.py Removed content from plugin_validators.py (-1 lines)
  • proto_validators.py Removed content from proto_validators.py (-1 lines)
  • schema_validators.py Removed content from schema_validators.py (-1 lines)
  • __init__.py Removed content from __init__.py (-1 lines)
  • Added type annotations to test fixtures and parameters across test_get_metadata.py, test_read_data_source.py, test_read_resource.py, test_renew_ephemeral_resource.py, test_stop_provider.py qualify internal
    14 files
    • provider.py
    • provider.py
    • resource.py
    • get_metadata.py
    • read_data_source.py
    • read_resource.py
    • renew_ephemeral_resource.py
    • stop_provider.py
    • provider.py
    • test_get_metadata.py
    • test_read_data_source.py
    • test_read_resource.py
    • test_renew_ephemeral_resource.py
    • test_stop_provider.py
  • Fixed test_read_data_source.py capability injection test to use proper mock capability class (type("MockCapability", (), {}) instead of MagicMock) with correct get_component side effect routing qualify internal
    2 files
    • read_data_source.py
    • test_read_data_source.py
  • Added ResourceContext import and proper return type annotations to SampleReadResource in test_read_resource.py specify behavioral
    3 files
    • resource.py
    • read_resource.py
    • test_read_resource.py
  • Updated test_context.py to mock _read_version_from_file instead of PyviderConfig qualify internal
    6 files
    • context.py
    • context.py
    • context.py
    • context.py
    • context.py
    • test_context.py
  • Updated test_cli_utils.py to expect exec pyvider "$@" (without provide) decouple internal
    1 file
    • test_cli_utils.py

Deleted Generated Shell Script

1 file changed
  • ai2.sh Updated ai2.sh
  • Deleted src/ai2.sh (1,642 lines) - another generated project update script decouple internal
    1 file
    • ai2.sh