imperal-sdk 5.4.1__tar.gz → 5.4.2__tar.gz
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.
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/PKG-INFO +1 -1
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/sdk_claims.json +1 -1
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/__init__.py +1 -1
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/billing/client.py +11 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/context.py +1 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/fixtures/contract/kernel-contract.sample.json +1 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/.github/workflows/identity-contract.yml +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/.github/workflows/publish.yml +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/.github/workflows/test.yml +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/.gitignore +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/CHANGELOG.md +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/LICENSE +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/README.md +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/api_surface.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/docs/sdl-facets.md +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/pyproject.toml +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/sdl_roles.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/.codebase-index-cache.pkl +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ai/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ai/client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/auth/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/auth/client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/auth/middleware.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/billing/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/cache/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/cache/client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/cache/protocol.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/action_result.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/error_codes.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/exceptions.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/extension.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/filters.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/guards.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/kernel_primitives.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/narration.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/narration_guard.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/prompt.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/chat/refusal.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/cli/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/cli/main.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/config/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/config/client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/devtools/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/devtools/contract_checks.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/devtools/generate_api_surface.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/devtools/generate_sdk_claims.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/devtools/validate_identity_contract.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/errors.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/extension.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/extensions/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/extensions/client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/http/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/http/client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/manifest.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/manifest_schema.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/notify/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/notify/client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/prompts/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/prompts/icnli_integrity_rules.txt +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/prompts/kernel_formatting_rule.txt +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/prompts/kernel_proactivity_rule.txt +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/protocols.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/rpc/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/rpc/codec.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/rpc/contract.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/runtime/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/runtime/executor.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/runtime/llm_provider.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/runtime/message_adapter.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/action_result.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/balance_info.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/chat_result.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/completion_result.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/document.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/event.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/file_info.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/function_call.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/http_response.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/imperal.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/limits_result.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/subscription_info.schema.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/_generate_roles_json.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/entity.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/catalog.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/comm.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/content.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/device.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/event.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/geo.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/identity.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/media.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/metric.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/money.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/net.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/people.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/quantity.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/rating.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/security.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/task.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/facets/time.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/field.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/sdl/roles.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/secrets/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/secrets/client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/secrets/exceptions.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/secrets/panel_handler.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/secrets/spec.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/security/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/security/call_token.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/skeleton/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/skeleton/client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/storage/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/storage/client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/store/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/store/client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/store/exceptions.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/testing/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/testing/mock_context.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/testing/mock_secrets.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/action_result.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/chat_result.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/client_contracts.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/contracts.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/contributions.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/events.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/health.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/identity.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/models.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/pagination.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/types/store_contracts.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ui/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ui/actions.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ui/base.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ui/data.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ui/display.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ui/feedback.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ui/graph.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ui/input_components.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ui/interactive.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ui/layout.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/ui/theme.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/validator.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/validator_v1_6_0.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/conftest.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/contract/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/contract/test_artifacts_freshness.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/contract/test_contract_checks_selftest.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/contract/test_generate_sdk_claims.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/contract/test_sample_contract_shape.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/contract/test_sdk_matches_kernel_contract.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/contracts/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/contracts/test_store_contracts.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/fixtures/openapi/auth-gateway.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/fixtures/openapi/registry.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/fixtures/openapi/sharelock-cases.json +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/rpc/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/rpc/test_codec.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/rpc/test_contract.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/runtime/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/runtime/test_llm_provider_config_store.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/runtime/test_llm_provider_ctx_injection.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/store/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/store/test_list_users_client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/store/test_query_all_client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_action_result_typed.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_as_user.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_auth.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_billing.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_cache_client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_cache_model.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_call_token.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_chat_extension_deprecation.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_chat_extension_no_llm_router.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_chat_filters.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_chat_function_background_flag.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_chat_guards.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_chat_guards_bleed.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_chat_prompt.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_chat_result.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_cli.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_client_contracts.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_config_client.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_context.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_context_background_task.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_context_deliver_chat_message.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_context_guards.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_contracts.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_contracts_live.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_contributions.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_data_model_kwarg.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_document_contract.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_emits_decorator.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_error_codes.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_errors.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_event_schema_v2.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_events_health.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_extension.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_extension_v2.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_extensions_emit.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_http_timeout_override.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_id_shape_guard.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_identity_contract.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_imperal_schema_v2.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_import_light.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_kernel_primitives.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_manifest.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_manifest_no_orchestrator_tool.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_manifest_roundtrip_gate.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_manifest_schema.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_manifest_v2_events.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_manifest_v2_other_sections.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_manifest_v2_webhooks.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_manifest_validator_v2.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_mock_context.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_models.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_narration_emission.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_narration_guard.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_openai_max_completion_tokens.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_pagination.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_panel_rendering_contract.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_panels.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_phase_a_dead_removal.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_phase_a_drift.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_phase_a_text.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdk_version_stamp.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_entity.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_entity_marker.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_exports.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_catalog.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_collisions.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_comm.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_content.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_device.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_event.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_exports.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_field.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_geo.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_identity.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_media.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_metric.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_money.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_net.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_people.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_quantity.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_rating.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_security.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_task.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facet_time.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facets_catalog.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facets_doc.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_facets_pkg.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_field.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_roles.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_roles_json.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_sdl_roles_of_facets.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_skeleton_decorator.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_spec_validation.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_ui.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_ui_fileupload_enhanced.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_ui_html.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_ui_image_enhanced.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_ui_open.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_ui_theme.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_user.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_v7_emit_refusal.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_validator.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_validator_drift.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_validator_pep563.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_validator_v1_6_0_rules.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_validator_v25.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/test_write_arg_bleed.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/tools/__init__.py +0 -0
- {imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/tests/tools/test_generate_api_surface.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Imperal Cloud SDK — build extensions for the Imperal platform."""
|
|
2
2
|
from typing import TYPE_CHECKING
|
|
3
3
|
|
|
4
|
-
__version__ = "5.4.
|
|
4
|
+
__version__ = "5.4.2"
|
|
5
5
|
|
|
6
6
|
# 5.2.2 (2026-06-11): the package root resolves its public surface lazily
|
|
7
7
|
# (PEP 562). The eager imports pulled the HTTP transport (Context / client
|
|
@@ -327,6 +327,17 @@ class BillingClient:
|
|
|
327
327
|
resp.raise_for_status()
|
|
328
328
|
return resp.json() if resp.content else {}
|
|
329
329
|
|
|
330
|
+
async def renew_subscription(self, user: Any = None) -> dict:
|
|
331
|
+
"""Renew an EXPIRED subscription for the same plan — charges the saved
|
|
332
|
+
default card for one fresh period and restores access immediately.
|
|
333
|
+
Surfaces errors (402 no-card / SCA, 409 not-expired). Returns the
|
|
334
|
+
gateway result dict ({status, plan, expires_at, payment_intent_id})."""
|
|
335
|
+
async with httpx.AsyncClient() as client:
|
|
336
|
+
resp = await client.post(f"{self._gateway_url}/v1/billing/renew",
|
|
337
|
+
headers=self._headers(), timeout=20)
|
|
338
|
+
resp.raise_for_status()
|
|
339
|
+
return resp.json() if resp.content else {}
|
|
340
|
+
|
|
330
341
|
async def update_billing_profile(self, profile: dict, user: Any = None) -> bool:
|
|
331
342
|
"""Surfaces errors. profile keys: name/company/vat/country."""
|
|
332
343
|
async with httpx.AsyncClient() as client:
|
|
@@ -63,6 +63,7 @@ class BillingProtocol(Protocol):
|
|
|
63
63
|
async def set_auto_topup(self, enabled: bool, threshold_pct: int = 10, recharge_tokens: int = 20000, payment_method_id: str = "", user: Any = None) -> bool: ...
|
|
64
64
|
async def cancel_subscription(self, user: Any = None) -> dict: ...
|
|
65
65
|
async def resume_subscription(self, user: Any = None) -> dict: ...
|
|
66
|
+
async def renew_subscription(self, user: Any = None) -> dict: ...
|
|
66
67
|
async def update_billing_profile(self, profile: dict, user: Any = None) -> bool: ...
|
|
67
68
|
|
|
68
69
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/devtools/validate_identity_contract.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/completion_result.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imperal_sdk-5.4.1 → imperal_sdk-5.4.2}/src/imperal_sdk/schemas/subscription_info.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|