imperal-sdk 6.3.2__tar.gz → 6.3.4__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-6.3.2 → imperal_sdk-6.3.4}/CHANGELOG.md +14 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/PKG-INFO +1 -1
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/sdk-reference.json +1 -1
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/sdk_claims.json +1 -1
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/__init__.py +1 -1
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/code_index.py +27 -9
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_code_index_indexer.py +52 -2
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/.cm.txt +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/.github/workflows/identity-contract.yml +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/.github/workflows/publish.yml +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/.github/workflows/test.yml +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/.gitignore +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/LICENSE +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/README.md +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/docs/sdl-facets.md +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/pyproject.toml +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/sdl_roles.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/.codebase-index-cache.pkl +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/_gateway.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/_http_retry.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/_shared_http.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/adversarial_oracle.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ai/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ai/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/app.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/apps/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/apps/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/auth/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/auth/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/auth/middleware.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/auto_ui.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/billing/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/billing/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/bom_extractor.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/cache/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/cache/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/cache/protocol.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/catalog.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/action_result.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/error_codes.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/exceptions.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/extension.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/filters.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/guards.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/kernel_primitives.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/narration.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/narration_guard.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/prompt.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/chat/refusal.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/cli/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/cli/linter.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/cli/main.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/config/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/config/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/context.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/conversations/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/conversations/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/core.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/cross_surface_bus.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/contract_checks.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/generate_api_surface.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/generate_reference.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/generate_sdk_claims.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/reference/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/reference/_flags.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/reference/_introspect.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/reference/client_methods.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/reference/dataclasses_kind.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/reference/decorators.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/reference/sdl_funcs.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/reference/sdl_roles.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/reference/ui_components.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/validate_identity_contract.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/errors.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/extension.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/extensions/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/extensions/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/gnc_guard.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/http/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/http/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/_impl.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/actions.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/custom_roles.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/migrate.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/produce.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/schema.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/skeleton.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/ui.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/ui_children.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/ui_template.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ir/validator.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/manifest.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/manifest_schema.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/manifest_schema_ui.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/notify/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/notify/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/oauth_state.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/oauth_tokens.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/pipes.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/prompts/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/prompts/icnli_integrity_rules.txt +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/prompts/kernel_formatting_rule.txt +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/prompts/kernel_proactivity_rule.txt +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/protocols.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/rbac/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/rbac/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/rpc/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/rpc/codec.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/rpc/contract.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/_platform.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/canon.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/engine.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/executor.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/hosted_client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/interpreter.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/llm_provider.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/local_engine.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/message_adapter.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/template.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/runtime/verbs.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schema/marathon_ram.sql +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/action_result.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/ai_complete.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/call.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/conditional.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/navigate.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/open.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/send.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/store_create.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/store_delete.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/store_get.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/store_list.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/actions/store_update.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/balance_info.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/chat_result.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/completion_result.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/document.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/event.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/file_info.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/function_call.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/http_response.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/imperal.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ir.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/limits_result.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/metered_event.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/subscription_info.schema.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ui_children/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ui_children/accordion.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ui_children/datatable_columns.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ui_children/datatable_rows.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ui_children/menu.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ui_children/select.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ui_children/tabs.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ui_children/timeline.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ui_children/tree.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/_generate_roles_json.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/entity.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facet_resolve.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/catalog.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/comm.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/content.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/device.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/event.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/geo.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/identity.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/media.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/metric.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/money.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/net.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/people.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/quantity.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/rating.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/security.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/task.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/facets/time.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/field.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/sdl/roles.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/search.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/secrets/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/secrets/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/secrets/exceptions.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/secrets/panel_handler.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/secrets/spec.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/security/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/security/call_token.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/security/deactivation_guard.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/signals/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/signals/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/skeleton/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/skeleton/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/storage/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/storage/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/store/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/store/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/store/exceptions.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/testing/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/testing/autonomous_mock.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/testing/mock_context.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/testing/mock_secrets.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/transport.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/typed_context.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/action_result.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/chat_result.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/client_contracts.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/contracts.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/contributions.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/events.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/health.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/identity.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/metered_event.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/models.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/pagination.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/types/store_contracts.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/actions.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/base.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/canvas.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/data.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/display.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/feedback.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/graph.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/input_components.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/interactive.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/layout.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/liquid.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/signals.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/stage.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/ui/theme.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/users/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/users/client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/validator.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/validator_v1_6_0.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/vault_ram_client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/conftest.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_action_schemas.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_artifacts_freshness.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_contract_checks_selftest.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_generate_sdk_claims.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_identity_nonempty.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_ir_schema_fresh.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_meter_lua_contract.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_metered_event_contract.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_notify_wire_payload.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_public_docstrings_engine_neutral.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_reference_completeness.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_reference_no_leak.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_sample_contract_shape.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contract/test_sdk_matches_kernel_contract.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contracts/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/contracts/test_store_contracts.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/fixtures/contract/kernel-contract.sample.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/fixtures/ir/README.md +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/fixtures/ir/archive_ended.ir.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/fixtures/ir/link_saver.ir.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/fixtures/ir/test_fixtures_valid.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/fixtures/openapi/auth-gateway.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/fixtures/openapi/registry.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/fixtures/openapi/sharelock-cases.json +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_custom_roles.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ir_impl.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ir_mapping_real_ext.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ir_migrate.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ir_produce.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ir_schema.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ir_skeleton.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ir_ui.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ir_ui_produce.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ir_validator.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ir_versions.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ui_children.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ir/test_ui_template.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/rpc/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/rpc/test_boundary_seal.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/rpc/test_codec.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/rpc/test_contract.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_canon.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_canon_template.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_engine_abc.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_engine_parity.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_executor_neutral.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_hosted_client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_interpreter.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_llm_provider_config_store.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_llm_provider_ctx_injection.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_local_engine.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_platform_shim.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_template.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_verb_ai.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_verb_call_directives.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_verb_conditional.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/runtime/test_verb_store.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/store/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/store/test_list_users_client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/store/test_query_all_client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_action_result_time_travel.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_action_result_typed.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_agent_presence.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_as_user.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_auth.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_autonomous_mock.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_billing.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_cache_client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_cache_model.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_call_token.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_callable_surface_single_source.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_chat_extension_deprecation.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_chat_extension_no_llm_router.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_chat_filters.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_chat_function_background_flag.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_chat_guards.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_chat_guards_bleed.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_chat_prompt.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_chat_result.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_cli.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_cli_sdk_commands.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_client_contracts.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_client_emit_neutral.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_code_index_contracts.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_config_client.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_context.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_context_background_task.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_context_deliver_chat_message.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_context_guards.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_contracts.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_contracts_live.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_contributions.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_core_primitives.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_data_model_kwarg.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_document_contract.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_emits_decorator.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_error_codes.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_errors.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_event_schema_v2.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_events_health.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_extension.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_extension_pipes.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_extension_v2.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_extensions_emit.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_gateway_namespaces.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_http_json_and_mock.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_http_retry.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_http_timeout_override.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_id_shape_guard.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_identity_contract.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_imperal_schema_v2.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_import_light.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_init_onboarding.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_kernel_primitives.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_liquid_ui.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest_file_sinks.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest_linter.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest_no_orchestrator_tool.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest_oauth.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest_panels.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest_roundtrip_gate.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest_schema.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest_v2_events.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest_v2_other_sections.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest_v2_webhooks.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_manifest_validator_v2.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_mock_context.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_models.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_narration_emission.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_narration_guard.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_oauth_authorize_url.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_oauth_tokens_shared.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_openai_max_completion_tokens.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_pagination.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_panel_rendering_contract.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_panel_swr_caching.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_panels.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_phase_a_dead_removal.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_phase_a_drift.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_phase_a_text.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_quantum_app.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdk_version_stamp.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_entity.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_entity_marker.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_exports.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_catalog.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_collisions.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_comm.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_content.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_device.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_event.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_exports.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_field.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_geo.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_identity.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_media.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_metric.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_money.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_net.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_people.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_quantity.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_rating.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_resolve.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_security.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_task.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facet_time.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facets_catalog.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facets_doc.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_facets_pkg.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_field.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_roles.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_roles_json.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_roles_of_facets.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sdl_vocab_version.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_search_provider.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_secret_scope_decorator.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_secret_spec_scope.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_skeleton_decorator.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_spec_validation.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_stage.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_surface_adaptation.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_sync_async_parity.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_transport_isolation.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_ui.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_ui_canvas.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_ui_fileupload_enhanced.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_ui_html.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_ui_image_enhanced.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_ui_modal.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_ui_open.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_ui_signals.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_ui_theme.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_user.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_v7_emit_refusal.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_validator.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_validator_drift.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_validator_pep563.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_validator_v1_6_0_rules.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_validator_v25.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/test_write_arg_bleed.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/tools/__init__.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/tools/test_generate_api_surface.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/tools/test_generate_reference.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/tools/test_reference_description.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/tools/test_reference_flags.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/tools/test_reference_typegraph.py +0 -0
- {imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/tests/ui/test_input_type_enum.py +0 -0
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `imperal-sdk` are documented here.
|
|
4
4
|
|
|
5
|
+
## 6.3.4 — 2026-10-20
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- Cloud OS limits for the code index: a file up to 10 MB (`MAX_FILE_BYTES`); an apply part up to 10 MB as sent
|
|
9
|
+
and at most 20 file versions (`APPLY_BATCH_FILES`); a file bigger than one part travels alone.
|
|
10
|
+
- A huge generated file whose facts would not fit one apply is stored as text only and named in
|
|
11
|
+
`partial_reason` -- a sync never fails on it.
|
|
12
|
+
|
|
13
|
+
## 6.3.3 — 2026-10-20
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- `apply_batches` sizes each part as it is sent (the blob's text and facts, its chunks' vectors) against
|
|
17
|
+
`APPLY_BATCH_BYTES` = 4 MB, half the vault's request cap: a first sync of a large repo no longer gets 413.
|
|
18
|
+
|
|
5
19
|
## 6.3.2 — 2026-10-20
|
|
6
20
|
|
|
7
21
|
### Security
|
|
@@ -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__ = "6.3.
|
|
4
|
+
__version__ = "6.3.4"
|
|
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
|
|
@@ -642,7 +642,7 @@ def _lang_for(path: str) -> str:
|
|
|
642
642
|
# ---- what any source may index (spec 4.2: one list, enforced by every source, refused by the vault) ----
|
|
643
643
|
|
|
644
644
|
EXTRACTOR_VERSION = "2"
|
|
645
|
-
MAX_FILE_BYTES =
|
|
645
|
+
MAX_FILE_BYTES = 10 * 1024 * 1024 # one file in the code index (Cloud OS: shared vault, many users)
|
|
646
646
|
MAX_REPO_FILES = 20_000
|
|
647
647
|
INDEXABLE_EXT = (".py", ".pyi", ".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs")
|
|
648
648
|
# the resolution configs (read and stored parsed); setup.py is code to execute -- never read
|
|
@@ -1610,20 +1610,33 @@ def embed_query(text: str) -> bytes:
|
|
|
1610
1610
|
# normalised and hashed, only blobs the repo does not hold are extracted (and their chunks embedded),
|
|
1611
1611
|
# and the apply goes in size-bounded parts -- the last one stitches the links.
|
|
1612
1612
|
|
|
1613
|
-
APPLY_BATCH_BYTES =
|
|
1613
|
+
APPLY_BATCH_BYTES = 10_000_000 # one apply body as sent (JSON); the vault and nginx take 32 MiB on sync/apply --
|
|
1614
|
+
# a part holds one file alone when that file is bigger (up to MAX_FILE_BYTES as text)
|
|
1615
|
+
APPLY_BATCH_FILES = 20 # and at most this many new file versions per apply
|
|
1614
1616
|
READ_BATCH = 200
|
|
1615
1617
|
|
|
1616
1618
|
|
|
1617
|
-
def
|
|
1619
|
+
def _sent_size(blob: dict, chunks) -> int:
|
|
1620
|
+
"""A blob's size as an apply sends it: the blob with its text and facts, and its chunks with their vectors."""
|
|
1621
|
+
import json as _json
|
|
1622
|
+
return len(_json.dumps(blob, default=str).encode("utf-8")) + sum(
|
|
1623
|
+
len(_json.dumps(c, default=str).encode("utf-8")) for c in chunks or ())
|
|
1624
|
+
|
|
1625
|
+
|
|
1626
|
+
def apply_batches(files: list, blobs: list, chunks: list, limit: int = APPLY_BATCH_BYTES,
|
|
1627
|
+
max_blobs: int = APPLY_BATCH_FILES) -> list:
|
|
1618
1628
|
"""One sync's apply split by size (a big first sync never goes as one HTTP body): each part carries
|
|
1619
1629
|
its blobs, the files that point at them and their chunks; files of blobs the repo already holds go
|
|
1620
1630
|
first. ``[{files, blobs, chunks}]`` -- the last part stitches."""
|
|
1621
1631
|
parts: list = [{"files": [], "blobs": [], "chunks": []}]
|
|
1622
1632
|
where: dict = {}
|
|
1623
1633
|
size = 0
|
|
1634
|
+
by_blob: dict = {}
|
|
1635
|
+
for c in chunks:
|
|
1636
|
+
by_blob.setdefault(c.get("blob"), []).append(c)
|
|
1624
1637
|
for b in blobs:
|
|
1625
|
-
n =
|
|
1626
|
-
if parts[-1]["blobs"] and size + n > limit:
|
|
1638
|
+
n = _sent_size(b, by_blob.get(b["hash"], ()))
|
|
1639
|
+
if parts[-1]["blobs"] and (size + n > limit or len(parts[-1]["blobs"]) >= max_blobs):
|
|
1627
1640
|
parts.append({"files": [], "blobs": [], "chunks": []})
|
|
1628
1641
|
size = 0
|
|
1629
1642
|
parts[-1]["blobs"].append(b)
|
|
@@ -1667,7 +1680,7 @@ async def sync_source(plan, apply, meta: dict, listing: list, read, *, embed_chu
|
|
|
1667
1680
|
if not p or not indexable(p):
|
|
1668
1681
|
continue
|
|
1669
1682
|
if int(it.get("size") or 0) > MAX_FILE_BYTES:
|
|
1670
|
-
partial.append(f"{p} over
|
|
1683
|
+
partial.append(f"{p} over {MAX_FILE_BYTES // 1048576} MB")
|
|
1671
1684
|
continue
|
|
1672
1685
|
items.append({"path": p, "size": int(it.get("size") or 0), "mtime": float(it.get("mtime") or 0.0)})
|
|
1673
1686
|
if len(items) > MAX_REPO_FILES:
|
|
@@ -1702,7 +1715,7 @@ async def sync_source(plan, apply, meta: dict, listing: list, read, *, embed_chu
|
|
|
1702
1715
|
data = raw if isinstance(raw, (bytes, bytearray)) else str(raw or "").encode("utf-8")
|
|
1703
1716
|
read_bytes += len(data)
|
|
1704
1717
|
if len(data) > MAX_FILE_BYTES:
|
|
1705
|
-
partial.append(f"{p} over
|
|
1718
|
+
partial.append(f"{p} over {MAX_FILE_BYTES // 1048576} MB")
|
|
1706
1719
|
continue
|
|
1707
1720
|
text = normalise_text(bytes(data))
|
|
1708
1721
|
if text is None:
|
|
@@ -1719,9 +1732,14 @@ async def sync_source(plan, apply, meta: dict, listing: list, read, *, embed_chu
|
|
|
1719
1732
|
facts = scope_facts(p, text)
|
|
1720
1733
|
body = facts.to_dict() if facts is not None else {"lang": "", "lines": text.count("\n") + 1}
|
|
1721
1734
|
extract_ms += (_time.monotonic() - e0) * 1000
|
|
1735
|
+
mine = chunks_for(h, facts, text) if embed_chunks else []
|
|
1736
|
+
if _sent_size({"hash": h, "text": text, "facts": body}, mine) > APPLY_BATCH_BYTES:
|
|
1737
|
+
# a huge generated file (a bundle, a dump): its facts would not fit one apply -- kept as text,
|
|
1738
|
+
# never parsed into the graph, and said
|
|
1739
|
+
body, mine = {"lang": body.get("lang") or "", "lines": text.count("\n") + 1}, []
|
|
1740
|
+
partial.append(f"{p} kept as text only (too large to parse)")
|
|
1722
1741
|
blobs.append({"hash": h, "lang": body.get("lang") or "", "text": text, "facts": body})
|
|
1723
|
-
|
|
1724
|
-
chunks += chunks_for(h, facts, text)
|
|
1742
|
+
chunks += mine
|
|
1725
1743
|
meta["partial_reason"] = ("; ".join(dict.fromkeys(partial)))[:1000] or None
|
|
1726
1744
|
removed = list(planned.get("removed") or [])
|
|
1727
1745
|
counts: dict = {}
|
|
@@ -95,7 +95,7 @@ def test_one_table_and_the_old_private_names_stay_aliases():
|
|
|
95
95
|
assert indexer.DEF_NODES["typescript"]["type_alias_declaration"] == "type"
|
|
96
96
|
assert indexer.DEF_NODES["typescript"]["enum_declaration"] == "class"
|
|
97
97
|
assert indexer._DEF_NODES is indexer.DEF_NODES and indexer._get_language is indexer.language
|
|
98
|
-
assert indexer.EXTRACTOR_VERSION == "2" and indexer.MAX_FILE_BYTES ==
|
|
98
|
+
assert indexer.EXTRACTOR_VERSION == "2" and indexer.MAX_FILE_BYTES == 10 * 1024 * 1024
|
|
99
99
|
assert indexer.MAX_REPO_FILES == 20_000
|
|
100
100
|
|
|
101
101
|
|
|
@@ -252,7 +252,7 @@ def test_sync_source_reads_only_changed_and_batches_the_apply(tmp_path):
|
|
|
252
252
|
assert ".env" not in [i["path"] for i in plans[0][0]] and "same.py" not in reads[0]
|
|
253
253
|
assert len(applies) == 1 and len(applies[0]["blobs"]) == 1 and len(applies[0]["files"]) == 2 # one blob, two files
|
|
254
254
|
assert applies[0]["removed"] == ["gone.py"] and applies[0]["configs"][0]["path"] == "pyproject.toml"
|
|
255
|
-
assert "lost.py" in out["partial_reason"] and "big.py over
|
|
255
|
+
assert "lost.py" in out["partial_reason"] and "big.py over 10 MB" in out["partial_reason"]
|
|
256
256
|
parts = ci.apply_batches([{"path": "a", "blob": "h1"}, {"path": "b", "blob": "h2"}],
|
|
257
257
|
[{"hash": "h1", "text": "x" * 10}, {"hash": "h2", "text": "y" * 10}], [], limit=15)
|
|
258
258
|
assert [len(p["blobs"]) for p in parts] == [1, 1] and parts[1]["files"][0]["path"] == "b"
|
|
@@ -393,3 +393,53 @@ def test_a_remote_never_carries_credentials_however_it_is_written():
|
|
|
393
393
|
assert clean_remote("bob:secret@host:r.git") == "host:r.git"
|
|
394
394
|
assert clean_remote("https://[::1]:9/r") == "https://[::1]:9/r" and clean_remote("http://h:bad/r") == ""
|
|
395
395
|
assert clean_remote("") == "" and clean_remote("a b") == ""
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
def test_every_apply_part_fits_the_vault_body_cap_as_sent():
|
|
399
|
+
"""Live 2026-10-20: a first sync of the kernel repo hit the vault's 8 MiB body cap (413) -- the parts
|
|
400
|
+
were sized by file text alone while each blob also carries its facts and its chunks' vectors."""
|
|
401
|
+
import json
|
|
402
|
+
from imperal_sdk import code_index as ci
|
|
403
|
+
blobs = [{"hash": f"h{i}", "text": "x" * 200_000,
|
|
404
|
+
"facts": {"defs": [{"name": f"d{j}", "qualname": f"q{j}" * 20} for j in range(4000)]}} for i in range(40)]
|
|
405
|
+
files = [{"path": f"f{i}.py", "blob": f"h{i}"} for i in range(40)]
|
|
406
|
+
chunks = [{"blob": f"h{i}", "vector": "A" * 2000, "start_line": k} for i in range(40) for k in range(50)]
|
|
407
|
+
parts = ci.apply_batches(files, blobs, chunks)
|
|
408
|
+
assert len(parts) > 1 and sum(len(p["blobs"]) for p in parts) == 40
|
|
409
|
+
for p in parts:
|
|
410
|
+
assert len(json.dumps(p).encode("utf-8")) <= ci.APPLY_BATCH_BYTES + 64_000
|
|
411
|
+
assert len(p["blobs"]) <= ci.APPLY_BATCH_FILES == 20
|
|
412
|
+
assert ci.APPLY_BATCH_BYTES <= 10_000_000 < 16 * 1024 * 1024 # under the vault / nginx sync bound
|
|
413
|
+
small = ci.apply_batches([{"path": f"s{i}", "blob": f"s{i}"} for i in range(45)],
|
|
414
|
+
[{"hash": f"s{i}", "text": "x"} for i in range(45)], [])
|
|
415
|
+
assert [len(p["blobs"]) for p in small] == [20, 20, 5]
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
def test_a_file_whose_facts_do_not_fit_an_apply_is_kept_as_text_and_said(monkeypatch):
|
|
419
|
+
"""Cloud OS limits: a file up to 10 MB is indexed; a huge generated one whose facts would not fit one
|
|
420
|
+
apply is stored as text only -- never a failed sync."""
|
|
421
|
+
import asyncio
|
|
422
|
+
from imperal_sdk import code_index as ci
|
|
423
|
+
assert ci.MAX_FILE_BYTES == 10 * 1024 * 1024
|
|
424
|
+
monkeypatch.setattr(ci, "APPLY_BATCH_BYTES", 20_000)
|
|
425
|
+
applies = []
|
|
426
|
+
|
|
427
|
+
async def plan(items, meta):
|
|
428
|
+
return {"changed": [i["path"] for i in items], "removed": [], "have_blobs": []}
|
|
429
|
+
|
|
430
|
+
async def apply(**payload):
|
|
431
|
+
applies.append(payload)
|
|
432
|
+
return {"files": len(payload["files"])}
|
|
433
|
+
|
|
434
|
+
big = "".join(f"def f{i}(a):\n return g{i}(a)\n" for i in range(800))
|
|
435
|
+
files = {"small.py": "def a():\n return 1\n", "bundle.py": big}
|
|
436
|
+
|
|
437
|
+
async def read(paths):
|
|
438
|
+
return {p: files[p].encode() for p in paths}
|
|
439
|
+
out = asyncio.run(ci.sync_source(plan, apply, {"source": "t"}, [{"path": p, "size": len(t), "mtime": 1.0}
|
|
440
|
+
for p, t in files.items()], read, embed_chunks=False))
|
|
441
|
+
sent = {b["hash"]: b for a in applies for b in a["blobs"]}
|
|
442
|
+
bundle = next(b for b in sent.values() if b["text"] == big)
|
|
443
|
+
assert "defs" not in bundle["facts"] and bundle["facts"]["lines"] > 1000
|
|
444
|
+
assert any(b["facts"].get("defs") for b in sent.values() if b["text"] != big)
|
|
445
|
+
assert "bundle.py kept as text only" in out["partial_reason"]
|
|
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
|
{imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/reference/client_methods.py
RENAMED
|
File without changes
|
{imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/devtools/reference/dataclasses_kind.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/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
|
|
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-6.3.2 → imperal_sdk-6.3.4}/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
|
|
File without changes
|
|
File without changes
|
{imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/subscription_info.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ui_children/datatable_columns.json
RENAMED
|
File without changes
|
{imperal_sdk-6.3.2 → imperal_sdk-6.3.4}/src/imperal_sdk/schemas/ui_children/datatable_rows.json
RENAMED
|
File without changes
|
|
File without changes
|