imperal-sdk 6.3.5__tar.gz → 6.3.7__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.5 → imperal_sdk-6.3.7}/CHANGELOG.md +15 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/PKG-INFO +1 -1
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/sdk-reference.json +1 -1
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/sdk_claims.json +1 -1
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/__init__.py +6 -4
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/app.py +5 -4
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/auto_ui.py +1 -1
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/bom_extractor.py +1 -1
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/code_index.py +5 -0
- imperal_sdk-6.3.5/src/imperal_sdk/gnc_guard.py → imperal_sdk-6.3.7/src/imperal_sdk/dwell_guard.py +30 -33
- imperal_sdk-6.3.7/src/imperal_sdk/gnc_guard.py +4 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schema/marathon_ram.sql +1 -1
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/vault_ram_client.py +1 -1
- imperal_sdk-6.3.5/tests/test_quantum_app.py → imperal_sdk-6.3.7/tests/test_app_engine.py +1 -1
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_code_index_indexer.py +25 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/.cm.txt +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/.github/workflows/identity-contract.yml +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/.github/workflows/publish.yml +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/.github/workflows/test.yml +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/.gitignore +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/LICENSE +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/README.md +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/docs/sdl-facets.md +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/pyproject.toml +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/sdl_roles.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/.codebase-index-cache.pkl +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/_gateway.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/_http_retry.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/_shared_http.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/adversarial_oracle.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ai/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ai/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/apps/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/apps/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/auth/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/auth/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/auth/middleware.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/billing/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/billing/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/cache/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/cache/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/cache/protocol.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/catalog.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/action_result.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/error_codes.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/exceptions.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/extension.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/filters.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/guards.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/kernel_primitives.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/narration.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/narration_guard.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/prompt.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/chat/refusal.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/cli/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/cli/linter.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/cli/main.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/config/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/config/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/context.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/conversations/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/conversations/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/core.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/cross_surface_bus.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/contract_checks.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/generate_api_surface.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/generate_reference.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/generate_sdk_claims.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/reference/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/reference/_flags.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/reference/_introspect.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/reference/client_methods.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/reference/dataclasses_kind.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/reference/decorators.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/reference/sdl_funcs.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/reference/sdl_roles.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/reference/ui_components.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/validate_identity_contract.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/errors.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/extension.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/extensions/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/extensions/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/http/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/http/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/_impl.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/actions.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/custom_roles.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/migrate.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/produce.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/schema.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/skeleton.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/ui.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/ui_children.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/ui_template.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ir/validator.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/manifest.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/manifest_schema.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/manifest_schema_ui.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/notify/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/notify/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/oauth_state.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/oauth_tokens.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/pipes.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/prompts/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/prompts/icnli_integrity_rules.txt +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/prompts/kernel_formatting_rule.txt +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/prompts/kernel_proactivity_rule.txt +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/protocols.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/rbac/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/rbac/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/rpc/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/rpc/codec.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/rpc/contract.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/_platform.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/canon.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/engine.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/executor.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/hosted_client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/interpreter.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/llm_provider.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/local_engine.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/message_adapter.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/template.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/runtime/verbs.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/action_result.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/ai_complete.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/call.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/conditional.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/navigate.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/open.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/send.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/store_create.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/store_delete.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/store_get.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/store_list.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/actions/store_update.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/balance_info.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/chat_result.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/completion_result.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/document.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/event.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/file_info.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/function_call.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/http_response.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/imperal.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/ir.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/limits_result.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/metered_event.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/subscription_info.schema.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/ui_children/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/ui_children/accordion.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/ui_children/datatable_columns.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/ui_children/datatable_rows.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/ui_children/menu.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/ui_children/select.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/ui_children/tabs.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/ui_children/timeline.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/schemas/ui_children/tree.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/_generate_roles_json.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/entity.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facet_resolve.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/catalog.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/comm.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/content.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/device.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/event.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/geo.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/identity.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/media.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/metric.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/money.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/net.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/people.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/quantity.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/rating.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/security.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/task.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/facets/time.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/field.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/sdl/roles.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/search.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/secrets/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/secrets/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/secrets/exceptions.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/secrets/panel_handler.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/secrets/spec.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/security/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/security/call_token.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/security/deactivation_guard.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/signals/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/signals/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/skeleton/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/skeleton/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/storage/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/storage/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/store/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/store/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/store/exceptions.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/testing/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/testing/autonomous_mock.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/testing/mock_context.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/testing/mock_secrets.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/transport.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/typed_context.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/action_result.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/chat_result.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/client_contracts.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/contracts.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/contributions.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/events.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/health.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/identity.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/metered_event.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/models.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/pagination.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/types/store_contracts.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/actions.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/base.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/canvas.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/data.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/display.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/feedback.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/graph.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/input_components.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/interactive.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/layout.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/liquid.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/signals.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/stage.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/ui/theme.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/users/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/users/client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/validator.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/src/imperal_sdk/validator_v1_6_0.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/conftest.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_action_schemas.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_artifacts_freshness.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_contract_checks_selftest.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_generate_sdk_claims.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_identity_nonempty.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_ir_schema_fresh.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_meter_lua_contract.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_metered_event_contract.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_notify_wire_payload.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_public_docstrings_engine_neutral.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_reference_completeness.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_reference_no_leak.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_sample_contract_shape.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contract/test_sdk_matches_kernel_contract.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contracts/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/contracts/test_store_contracts.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/fixtures/contract/kernel-contract.sample.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/fixtures/ir/README.md +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/fixtures/ir/archive_ended.ir.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/fixtures/ir/link_saver.ir.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/fixtures/ir/test_fixtures_valid.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/fixtures/openapi/auth-gateway.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/fixtures/openapi/registry.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/fixtures/openapi/sharelock-cases.json +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_custom_roles.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ir_impl.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ir_mapping_real_ext.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ir_migrate.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ir_produce.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ir_schema.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ir_skeleton.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ir_ui.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ir_ui_produce.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ir_validator.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ir_versions.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ui_children.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ir/test_ui_template.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/rpc/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/rpc/test_boundary_seal.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/rpc/test_codec.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/rpc/test_contract.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_canon.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_canon_template.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_engine_abc.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_engine_parity.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_executor_neutral.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_hosted_client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_interpreter.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_llm_provider_config_store.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_llm_provider_ctx_injection.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_local_engine.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_platform_shim.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_template.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_verb_ai.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_verb_call_directives.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_verb_conditional.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/runtime/test_verb_store.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/store/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/store/test_list_users_client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/store/test_query_all_client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_action_result_time_travel.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_action_result_typed.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_agent_presence.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_as_user.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_auth.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_autonomous_mock.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_billing.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_cache_client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_cache_model.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_call_token.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_callable_surface_single_source.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_chat_extension_deprecation.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_chat_extension_no_llm_router.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_chat_filters.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_chat_function_background_flag.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_chat_guards.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_chat_guards_bleed.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_chat_prompt.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_chat_result.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_cli.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_cli_sdk_commands.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_client_contracts.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_client_emit_neutral.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_code_index_contracts.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_config_client.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_context.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_context_background_task.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_context_deliver_chat_message.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_context_guards.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_contracts.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_contracts_live.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_contributions.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_core_primitives.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_data_model_kwarg.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_document_contract.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_emits_decorator.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_error_codes.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_errors.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_event_schema_v2.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_events_health.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_extension.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_extension_pipes.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_extension_v2.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_extensions_emit.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_gateway_namespaces.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_http_json_and_mock.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_http_retry.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_http_timeout_override.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_id_shape_guard.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_identity_contract.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_imperal_schema_v2.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_import_light.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_init_onboarding.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_kernel_primitives.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_liquid_ui.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest_file_sinks.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest_linter.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest_no_orchestrator_tool.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest_oauth.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest_panels.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest_roundtrip_gate.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest_schema.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest_v2_events.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest_v2_other_sections.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest_v2_webhooks.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_manifest_validator_v2.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_mock_context.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_models.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_narration_emission.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_narration_guard.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_oauth_authorize_url.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_oauth_tokens_shared.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_openai_max_completion_tokens.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_pagination.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_panel_rendering_contract.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_panel_swr_caching.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_panels.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_phase_a_dead_removal.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_phase_a_drift.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_phase_a_text.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdk_version_stamp.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_entity.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_entity_marker.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_exports.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_catalog.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_collisions.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_comm.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_content.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_device.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_event.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_exports.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_field.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_geo.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_identity.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_media.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_metric.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_money.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_net.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_people.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_quantity.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_rating.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_resolve.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_security.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_task.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facet_time.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facets_catalog.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facets_doc.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_facets_pkg.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_field.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_roles.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_roles_json.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_roles_of_facets.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sdl_vocab_version.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_search_provider.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_secret_scope_decorator.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_secret_spec_scope.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_skeleton_decorator.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_spec_validation.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_stage.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_surface_adaptation.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_sync_async_parity.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_transport_isolation.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_ui.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_ui_canvas.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_ui_fileupload_enhanced.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_ui_html.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_ui_image_enhanced.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_ui_modal.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_ui_open.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_ui_signals.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_ui_theme.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_user.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_v7_emit_refusal.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_validator.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_validator_drift.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_validator_pep563.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_validator_v1_6_0_rules.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_validator_v25.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/test_write_arg_bleed.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/tools/__init__.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/tools/test_generate_api_surface.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/tools/test_generate_reference.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/tools/test_reference_description.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/tools/test_reference_flags.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/tools/test_reference_typegraph.py +0 -0
- {imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/tests/ui/test_input_type_enum.py +0 -0
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `imperal-sdk` are documented here.
|
|
4
4
|
|
|
5
|
+
## 6.3.7 — 2026-10-21
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- Plain names: `DwellGuard` / `DwellGuardStep` (module `imperal_sdk.dwell_guard`) -- the dwell guard says what it
|
|
9
|
+
checks (nesting depth, steps on one entity without coverage gain, a growing gap) and its alarms say what to do.
|
|
10
|
+
`GNCLyapunovGuard` / `GNCEnergyState` (`imperal_sdk.gnc_guard`) stay as old names of the same classes.
|
|
11
|
+
- `DEFAULT_APP_ICON` (old name `DEFAULT_QUANTUM_ICON` kept); docstrings no longer say "ICNLI Quantum SDK".
|
|
12
|
+
|
|
13
|
+
## 6.3.6 — 2026-10-21
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- Code index: a source with an embedder says so (`meta.embeds`), so the vault asks it once for the versions it
|
|
17
|
+
holds without vectors. A repo first synced by a source without an embedder stayed `semantic: off` forever --
|
|
18
|
+
a held version was never sent again.
|
|
19
|
+
|
|
5
20
|
## 6.3.5 — 2026-10-20
|
|
6
21
|
|
|
7
22
|
### Changed
|
|
@@ -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.7"
|
|
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
|
|
@@ -48,12 +48,14 @@ _LAZY_ATTRS = {
|
|
|
48
48
|
# hand-roll a token_refresh.py; four divergent copies are how an expired
|
|
49
49
|
# Google Analytics token turned into "please reconnect" (2026-08-21).
|
|
50
50
|
"fresh_token": "imperal_sdk.oauth_tokens",
|
|
51
|
-
#
|
|
51
|
+
# Marathon dwell guard & Tenant Vault Working RAM
|
|
52
52
|
"TenantVaultRAM": "imperal_sdk.vault_ram_client",
|
|
53
53
|
"TargetEntity": "imperal_sdk.vault_ram_client",
|
|
54
54
|
"WorkingRAMSnapshot": "imperal_sdk.vault_ram_client",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
55
|
+
"DwellGuard": "imperal_sdk.dwell_guard",
|
|
56
|
+
"DwellGuardStep": "imperal_sdk.dwell_guard",
|
|
57
|
+
"GNCLyapunovGuard": "imperal_sdk.gnc_guard", # old name of DwellGuard
|
|
58
|
+
"GNCEnergyState": "imperal_sdk.gnc_guard", # old name of DwellGuardStep
|
|
57
59
|
"BOMExtractor": "imperal_sdk.bom_extractor",
|
|
58
60
|
"BOMEntity": "imperal_sdk.bom_extractor",
|
|
59
61
|
"BOMReport": "imperal_sdk.bom_extractor",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
# Copyright (c) 2026 Imperal, Inc.
|
|
3
3
|
# Licensed under the Apache-2.0 License.
|
|
4
|
-
"""
|
|
4
|
+
"""Imperal SDK App: an extension with no boilerplate.
|
|
5
5
|
|
|
6
6
|
Empowers developers to build next-generation AI Cloud OS applications with:
|
|
7
7
|
1. Zero-Manifest: 100% automatic type-to-schema extraction from Python signatures.
|
|
@@ -25,7 +25,7 @@ from imperal_sdk.context import Context
|
|
|
25
25
|
from imperal_sdk.types.identity import UserContext, TenantContext
|
|
26
26
|
from imperal_sdk.auto_ui import project_to_declarative_ir
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
DEFAULT_APP_ICON = (
|
|
29
29
|
'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" '
|
|
30
30
|
'stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-atom">'
|
|
31
31
|
'<circle cx="12" cy="12" r="1"/>'
|
|
@@ -33,6 +33,7 @@ DEFAULT_QUANTUM_ICON = (
|
|
|
33
33
|
'<path d="M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z"/>'
|
|
34
34
|
'</svg>'
|
|
35
35
|
)
|
|
36
|
+
DEFAULT_QUANTUM_ICON = DEFAULT_APP_ICON # old name
|
|
36
37
|
|
|
37
38
|
|
|
38
39
|
def _python_type_to_json_schema(py_type):
|
|
@@ -75,7 +76,7 @@ def create_ambient_context(user_id="ambient_user"):
|
|
|
75
76
|
|
|
76
77
|
|
|
77
78
|
class App(Extension):
|
|
78
|
-
"""High-level
|
|
79
|
+
"""High-level Imperal SDK application.
|
|
79
80
|
|
|
80
81
|
Zero-manifest, auto-schema, ambient-context, auto-IR enabled container.
|
|
81
82
|
Inherits from `Extension` for 100% backward compatibility with all
|
|
@@ -99,7 +100,7 @@ class App(Extension):
|
|
|
99
100
|
if len(desc) < 40:
|
|
100
101
|
desc = "{} Fully compliant with the ICNLI Agentic OS specification.".format(desc)
|
|
101
102
|
|
|
102
|
-
effective_icon = icon or
|
|
103
|
+
effective_icon = icon or DEFAULT_APP_ICON
|
|
103
104
|
|
|
104
105
|
super(App, self).__init__(
|
|
105
106
|
app_id=app_id,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
# Copyright (c) 2026 Imperal, Inc., Valentin Scerbacov, and contributors
|
|
3
3
|
# Licensed under the Apache-2.0 License. See LICENSE file for details.
|
|
4
|
-
"""Auto
|
|
4
|
+
"""Auto UI for the Imperal SDK: return values become UI components.
|
|
5
5
|
|
|
6
6
|
Transforms standard Python return types (dicts, dataclasses, lists, primitives)
|
|
7
7
|
into reactive Declarative IR components without writing custom frontend templates.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Pre-Flight BOM Extractor
|
|
2
|
+
Pre-Flight BOM Extractor
|
|
3
3
|
|
|
4
4
|
Scans target codebases (NodeJS: Express/Fastify/Koa/Next.js/HTML, Python: Flask/FastAPI/Django)
|
|
5
5
|
to extract a ground-truth Bill-of-Materials (BOM) before coding starts:
|
|
@@ -1673,6 +1673,11 @@ async def sync_source(plan, apply, meta: dict, listing: list, read, *, embed_chu
|
|
|
1673
1673
|
meta = dict(meta or {})
|
|
1674
1674
|
meta["extractor_version"] = EXTRACTOR_VERSION
|
|
1675
1675
|
meta.setdefault("listed_at", _time.time())
|
|
1676
|
+
# a source with an embedder says so: the vault then asks, once, for the versions it holds without vectors (a
|
|
1677
|
+
# repo synced by a source without one stayed "semantic: off" forever -- a held version is never sent again)
|
|
1678
|
+
embed_chunks = bool(embed_chunks) and _backend() is not None
|
|
1679
|
+
if embed_chunks:
|
|
1680
|
+
meta["embeds"] = True
|
|
1676
1681
|
partial: list = []
|
|
1677
1682
|
items: list = []
|
|
1678
1683
|
for it in listing or []:
|
imperal_sdk-6.3.5/src/imperal_sdk/gnc_guard.py → imperal_sdk-6.3.7/src/imperal_sdk/dwell_guard.py
RENAMED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"""
|
|
2
|
-
|
|
2
|
+
Dwell guard for long-running marathons: is the agent stuck on one item?
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
Each step scores a gap from three measured parts:
|
|
5
|
+
gap = alpha * (1 - coverage)^2 + beta * error^2 + gamma * excess_dwell^2
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
1.
|
|
9
|
-
2.
|
|
10
|
-
3.
|
|
7
|
+
and raises an alarm when the agent
|
|
8
|
+
1. goes deeper than ``max_subtask_depth`` nested subtasks,
|
|
9
|
+
2. stays on one entity for more than ``max_dwell_steps`` steps without coverage gain, or
|
|
10
|
+
3. lets the gap grow while dwelling.
|
|
11
|
+
|
|
12
|
+
(``imperal_sdk.gnc_guard`` keeps the old names ``GNCLyapunovGuard`` / ``GNCEnergyState``.)
|
|
11
13
|
"""
|
|
12
14
|
|
|
13
15
|
from __future__ import annotations
|
|
@@ -19,7 +21,7 @@ from typing import Dict, List, Optional, Tuple, Any
|
|
|
19
21
|
|
|
20
22
|
|
|
21
23
|
@dataclass
|
|
22
|
-
class
|
|
24
|
+
class DwellGuardStep:
|
|
23
25
|
step: int
|
|
24
26
|
timestamp: float
|
|
25
27
|
active_entity_id: str
|
|
@@ -35,19 +37,16 @@ class GNCEnergyState:
|
|
|
35
37
|
alarm_reason: Optional[str] = None
|
|
36
38
|
|
|
37
39
|
|
|
38
|
-
class
|
|
39
|
-
"""
|
|
40
|
-
Composite Multi-Scale Lyapunov Stability Guard.
|
|
41
|
-
Directly connected to Tenant Vault Working RAM.
|
|
42
|
-
"""
|
|
40
|
+
class DwellGuard:
|
|
41
|
+
"""Scores each step's gap and raises an alarm when the agent dwells on one entity."""
|
|
43
42
|
|
|
44
43
|
def __init__(
|
|
45
44
|
self,
|
|
46
|
-
alpha: float = 10.0, #
|
|
47
|
-
beta: float = 1.0, #
|
|
48
|
-
gamma: float = 5.0, #
|
|
45
|
+
alpha: float = 10.0, # weight of the unfinished share of the plan
|
|
46
|
+
beta: float = 1.0, # weight of the local error (syntax / test)
|
|
47
|
+
gamma: float = 5.0, # weight of the steps over the dwell budget
|
|
49
48
|
max_dwell_steps: int = 12, # Max allowed steps on one entity before alarm
|
|
50
|
-
max_subtask_depth: int = 2 #
|
|
49
|
+
max_subtask_depth: int = 2 # max nesting of subtasks
|
|
51
50
|
):
|
|
52
51
|
self.alpha = alpha
|
|
53
52
|
self.beta = beta
|
|
@@ -55,7 +54,7 @@ class GNCLyapunovGuard:
|
|
|
55
54
|
self.max_dwell_steps = max_dwell_steps
|
|
56
55
|
self.max_subtask_depth = max_subtask_depth
|
|
57
56
|
|
|
58
|
-
self.history: List[
|
|
57
|
+
self.history: List[DwellGuardStep] = []
|
|
59
58
|
self._current_subtask_depth: int = 1
|
|
60
59
|
self._last_active_entity: Optional[str] = None
|
|
61
60
|
self._entity_dwell_counter: int = 0
|
|
@@ -67,10 +66,8 @@ class GNCLyapunovGuard:
|
|
|
67
66
|
active_entity_id: str,
|
|
68
67
|
micro_error: float = 0.0,
|
|
69
68
|
subtask_depth: int = 1
|
|
70
|
-
) ->
|
|
71
|
-
"""
|
|
72
|
-
Calculates composite Lyapunov energy V(S) and checks stability criteria.
|
|
73
|
-
"""
|
|
69
|
+
) -> DwellGuardStep:
|
|
70
|
+
"""Scores this step's gap and checks the depth, dwell and growth limits."""
|
|
74
71
|
now = time.time()
|
|
75
72
|
step_num = len(self.history) + 1
|
|
76
73
|
|
|
@@ -110,33 +107,33 @@ class GNCLyapunovGuard:
|
|
|
110
107
|
else:
|
|
111
108
|
delta_v = 0.0
|
|
112
109
|
|
|
113
|
-
# Detect
|
|
110
|
+
# Detect a stall
|
|
114
111
|
is_limit_cycle = False
|
|
115
112
|
alarm_reason = None
|
|
116
113
|
|
|
117
|
-
#
|
|
114
|
+
# Too many nested subtasks
|
|
118
115
|
if subtask_depth > self.max_subtask_depth:
|
|
119
116
|
is_limit_cycle = True
|
|
120
117
|
alarm_reason = (
|
|
121
|
-
f"
|
|
122
|
-
f"
|
|
118
|
+
f"Subtask depth {subtask_depth} exceeds the limit {self.max_subtask_depth}: "
|
|
119
|
+
f"do not go deeper; note the blocker and return to the item."
|
|
123
120
|
)
|
|
124
|
-
#
|
|
121
|
+
# Too many steps on one entity
|
|
125
122
|
elif dwell > self.max_dwell_steps:
|
|
126
123
|
is_limit_cycle = True
|
|
127
124
|
alarm_reason = (
|
|
128
|
-
f"
|
|
129
|
-
f"
|
|
125
|
+
f"Stuck on '{active_entity_id}': {dwell} steps without coverage gain "
|
|
126
|
+
f"(limit {self.max_dwell_steps}). Move to another item or report the blocker."
|
|
130
127
|
)
|
|
131
|
-
#
|
|
128
|
+
# The gap grows while dwelling
|
|
132
129
|
elif delta_v > 0.5 and dwell > 5:
|
|
133
130
|
is_limit_cycle = True
|
|
134
131
|
alarm_reason = (
|
|
135
|
-
f"
|
|
136
|
-
f"
|
|
132
|
+
f"The gap grew by {delta_v:.3f} while dwelling: the steps go into side details "
|
|
133
|
+
f"without moving the plan."
|
|
137
134
|
)
|
|
138
135
|
|
|
139
|
-
state =
|
|
136
|
+
state = DwellGuardStep(
|
|
140
137
|
step=step_num,
|
|
141
138
|
timestamp=now,
|
|
142
139
|
active_entity_id=active_entity_id,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
-- ============================================================================
|
|
2
2
|
-- IMPERAL CLOUD OS — TENANT VAULT WORKING RAM (COGNITIVE BLACKBOARD)
|
|
3
|
-
-- RFC: ICNLI V17
|
|
3
|
+
-- RFC: ICNLI V17
|
|
4
4
|
-- ============================================================================
|
|
5
5
|
|
|
6
6
|
-- 1. Target System Entities (BOM: screens, routes, models, services)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""
|
|
2
|
-
Tenant Vault Working RAM Client
|
|
2
|
+
Tenant Vault Working RAM Client
|
|
3
3
|
|
|
4
4
|
Provides sub-3ms working memory access for autonomous marathons.
|
|
5
5
|
Separates LLM Reasoning Core (CPU/ALU) from Persistent State Store (Working RAM).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
# Copyright (c) 2026 Imperal, Inc., Valentin Scerbacov, and contributors
|
|
3
3
|
# Licensed under the Apache-2.0 License. See LICENSE file for details.
|
|
4
|
-
"""Tests for
|
|
4
|
+
"""Tests for the Imperal SDK App."""
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
7
|
import asyncio
|
|
@@ -443,3 +443,28 @@ def test_a_file_whose_facts_do_not_fit_an_apply_is_kept_as_text_and_said(monkeyp
|
|
|
443
443
|
assert "defs" not in bundle["facts"] and bundle["facts"]["lines"] > 1000
|
|
444
444
|
assert any(b["facts"].get("defs") for b in sent.values() if b["text"] != big)
|
|
445
445
|
assert "bundle.py kept as text only" in out["partial_reason"]
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
def test_a_source_with_an_embedder_says_so_to_the_vault_and_one_without_never_does(monkeypatch):
|
|
449
|
+
"""6.3.6 (frame audit 2026-10-21: every repo said "semantic: off"): ``meta.embeds`` lets the vault ask an
|
|
450
|
+
embedding source, once, for the versions it holds without vectors."""
|
|
451
|
+
import asyncio
|
|
452
|
+
from imperal_sdk import code_index as ci
|
|
453
|
+
seen = []
|
|
454
|
+
|
|
455
|
+
async def plan(items, meta):
|
|
456
|
+
seen.append(dict(meta))
|
|
457
|
+
return {"changed": [], "removed": [], "have_blobs": []}
|
|
458
|
+
|
|
459
|
+
async def apply(**payload):
|
|
460
|
+
return {}
|
|
461
|
+
|
|
462
|
+
async def read(paths):
|
|
463
|
+
return {}
|
|
464
|
+
listing = [{"path": "a.py", "size": 3, "mtime": 1.0}]
|
|
465
|
+
monkeypatch.setattr(ci, "_backend", lambda: object())
|
|
466
|
+
asyncio.run(ci.sync_source(plan, apply, {"source": "t"}, listing, read))
|
|
467
|
+
asyncio.run(ci.sync_source(plan, apply, {"source": "t"}, listing, read, embed_chunks=False))
|
|
468
|
+
monkeypatch.setattr(ci, "_backend", lambda: None)
|
|
469
|
+
asyncio.run(ci.sync_source(plan, apply, {"source": "t"}, listing, read))
|
|
470
|
+
assert [m.get("embeds") for m in seen] == [True, None, None]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.5 → imperal_sdk-6.3.7}/src/imperal_sdk/devtools/reference/client_methods.py
RENAMED
|
File without changes
|
{imperal_sdk-6.3.5 → imperal_sdk-6.3.7}/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.5 → imperal_sdk-6.3.7}/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
|