iac-code 0.2.1__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {iac_code-0.2.1 → iac_code-0.2.2}/PKG-INFO +1 -1
- iac_code-0.2.2/src/iac_code/__init__.py +2 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/__init__.py +9 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/registry.py +7 -1
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/config.py +1 -1
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/de/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/de/LC_MESSAGES/messages.po +87 -87
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/es/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/es/LC_MESSAGES/messages.po +87 -87
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/fr/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/fr/LC_MESSAGES/messages.po +87 -87
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/ja/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/ja/LC_MESSAGES/messages.po +87 -87
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/pt/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/pt/LC_MESSAGES/messages.po +87 -87
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/zh/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/locales/zh/LC_MESSAGES/messages.po +88 -88
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/registry.py +5 -2
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/thinking.py +4 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/client.py +4 -4
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/names.py +1 -1
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/aliyun/aliyun_api.py +20 -1
- iac_code-0.2.2/src/iac_code/tools/cloud/aliyun/api_hooks.py +49 -0
- iac_code-0.2.2/src/iac_code/tools/cloud/aliyun/hooks/ros_validate.py +57 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/core/input_history.py +31 -7
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/core/prompt_input.py +12 -7
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/renderer.py +10 -4
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/repl.py +47 -7
- iac_code-0.2.2/src/iac_code/utils/image/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/image/clipboard.py +31 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code.egg-info/PKG-INFO +1 -1
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code.egg-info/SOURCES.txt +3 -0
- iac_code-0.2.1/src/iac_code/__init__.py +0 -2
- {iac_code-0.2.1 → iac_code-0.2.2}/LICENSE +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/MANIFEST.in +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/README.md +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/pyproject.toml +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/setup.cfg +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/setup.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/agent_card.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/app.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/artifacts.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/client.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/events.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/executor.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/metrics.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/parts.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/persistence.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/push.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/push_queue.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/push_secrets.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/push_worker.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/router.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/signing.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/task_store.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/transport.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/transports/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/transports/base.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/transports/dispatcher.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/transports/grpc.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/transports/grpc_jsonrpc.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/transports/http.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/transports/redis_streams.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/transports/stdio.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/transports/unix.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/transports/websocket.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/a2a/types.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/convert.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/http_sse.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/mcp.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/metrics.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/server.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/session.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/slash_registry.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/state.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/tools.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/types.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/acp/version.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/agent/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/agent/agent_loop.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/agent/agent_tool.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/agent/agent_types.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/agent/message.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/agent/system_prompt.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/cli/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/cli/headless.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/cli/main.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/cli/output_formats.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/auth.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/clear.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/compact.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/debug.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/effort.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/exit.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/help.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/model.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/resume.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/commands/tasks.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/i18n/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/memory/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/memory/memory_manager.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/memory/memory_tools.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/anthropic_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/azure_openai_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/base.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/dashscope_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/deepseek_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/gemini_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/kimi_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/lmstudio_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/manager.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/minimax_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/modelscope_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/ollama_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/openai_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/openrouter_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/retry.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/siliconflow_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/stream_watchdog.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/volcengine_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/providers/zhipu_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/agent_factory.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/capabilities/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/capabilities/auto_detect.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/capabilities/multimodal.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/cloud_credentials.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/context_manager.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/permissions/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/permissions/loader.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/permissions/pipeline.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/permissions/storage.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/providers/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/providers/aliyun.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/qwenpaw_source.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/session_index.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/session_storage.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/attributes.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/config.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/constants.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/content_serializer.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/events.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/fallback.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/identity.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/metrics.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/sanitize.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/sink.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/tracing.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/telemetry/types.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/token_budget.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/services/token_counter.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/SKILL.md +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/ecs.md +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/oss.md +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/rds.md +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/redis.md +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/slb.md +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/vpc.md +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/references/ros-template.md +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/references/template-parameters.md +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/references/terraform-template.md +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/iac_aliyun/scripts/tf2ros.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/bundled/simplify.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/discovery.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/frontmatter.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/listing.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/loader.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/processor.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/renderer.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/skill_definition.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/skills/skill_tool.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/state/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/state/app_state.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tasks/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tasks/notification_queue.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tasks/task_state.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tasks/task_tools.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/base.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/bash/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/bash/bash_tool.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/bash/command_parser.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/bash/mode_validation.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/bash/path_validation.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/bash/permissions.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/bash/readonly_commands.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/bash/rule_matching.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/bash/safety_checks.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/aliyun/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/aliyun/aliyun_doc_search.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/aliyun/endpoints.yml +0 -0
- {iac_code-0.2.1/src/iac_code/ui/components → iac_code-0.2.2/src/iac_code/tools/cloud/aliyun/hooks}/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/aliyun/ros_client.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/aliyun/ros_stack.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/aliyun/ros_stack_instances.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/base_api.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/base_stack.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/registry.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/cloud/types.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/edit_file.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/glob.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/grep.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/list_files.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/read_file.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/result_storage.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/tool_executor.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/web_fetch.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/tools/write_file.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/types/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/types/permissions.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/types/skill_source.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/types/stream_events.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/banner.py +0 -0
- {iac_code-0.2.1/src/iac_code/ui/core → iac_code-0.2.2/src/iac_code/ui/components}/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/components/dialog.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/components/divider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/components/fuzzy_picker.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/components/progress_bar.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/components/search_box.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/components/select.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/components/status_icon.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/components/tabs.py +0 -0
- {iac_code-0.2.1/src/iac_code/ui/dialogs → iac_code-0.2.2/src/iac_code/ui/core}/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/core/in_place_render.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/core/key_event.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/core/raw_input.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/core/screen.py +0 -0
- {iac_code-0.2.1/src/iac_code/ui/keybindings → iac_code-0.2.2/src/iac_code/ui/dialogs}/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/dialogs/global_search.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/dialogs/history_search.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/dialogs/model_picker.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/dialogs/quick_open.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/dialogs/resume_picker.py +0 -0
- {iac_code-0.2.1/src/iac_code/ui/suggestions → iac_code-0.2.2/src/iac_code/ui/keybindings}/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/keybindings/manager.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/spinner.py +0 -0
- {iac_code-0.2.1/src/iac_code/utils → iac_code-0.2.2/src/iac_code/ui/suggestions}/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/suggestions/aggregator.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/suggestions/command_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/suggestions/directory_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/suggestions/file_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/suggestions/shell_history_provider.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/suggestions/token_extractor.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/suggestions/types.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/ui/transcript_view.py +0 -0
- {iac_code-0.2.1/src/iac_code/utils/image → iac_code-0.2.2/src/iac_code/utils}/__init__.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/background_housekeeping.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/cleanup.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/image/format_detect.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/image/pasted_content.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/image/processor.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/image/resizer.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/image/store.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/json_utils.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/log.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/project_paths.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code/utils/tool_input_parser.py +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code.egg-info/dependency_links.txt +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code.egg-info/entry_points.txt +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code.egg-info/requires.txt +0 -0
- {iac_code-0.2.1 → iac_code-0.2.2}/src/iac_code.egg-info/top_level.txt +0 -0
|
@@ -22,6 +22,7 @@ def create_default_registry() -> CommandRegistry:
|
|
|
22
22
|
description=_("Show available commands"),
|
|
23
23
|
handler=help_command,
|
|
24
24
|
aliases=["?"],
|
|
25
|
+
history_mode="session",
|
|
25
26
|
)
|
|
26
27
|
)
|
|
27
28
|
registry.register(
|
|
@@ -29,6 +30,7 @@ def create_default_registry() -> CommandRegistry:
|
|
|
29
30
|
name="clear",
|
|
30
31
|
description=_("Clear conversation history"),
|
|
31
32
|
handler=clear_command,
|
|
33
|
+
history_mode="session",
|
|
32
34
|
)
|
|
33
35
|
)
|
|
34
36
|
registry.register(
|
|
@@ -37,6 +39,7 @@ def create_default_registry() -> CommandRegistry:
|
|
|
37
39
|
description=_("Show or switch model"),
|
|
38
40
|
handler=model_command,
|
|
39
41
|
arg_names=["model_name"],
|
|
42
|
+
history_mode="session",
|
|
40
43
|
)
|
|
41
44
|
)
|
|
42
45
|
registry.register(
|
|
@@ -45,6 +48,7 @@ def create_default_registry() -> CommandRegistry:
|
|
|
45
48
|
description=_("Show or switch thinking effort"),
|
|
46
49
|
handler=effort_command,
|
|
47
50
|
arg_names=["level"],
|
|
51
|
+
history_mode="session",
|
|
48
52
|
)
|
|
49
53
|
)
|
|
50
54
|
registry.register(
|
|
@@ -53,6 +57,7 @@ def create_default_registry() -> CommandRegistry:
|
|
|
53
57
|
description=_("Compact conversation context"),
|
|
54
58
|
handler=compact_command,
|
|
55
59
|
progress_label=_("Compacting conversation"),
|
|
60
|
+
history_mode="session",
|
|
56
61
|
)
|
|
57
62
|
)
|
|
58
63
|
registry.register(
|
|
@@ -61,6 +66,7 @@ def create_default_registry() -> CommandRegistry:
|
|
|
61
66
|
description=_("Exit the application"),
|
|
62
67
|
handler=exit_command,
|
|
63
68
|
aliases=["quit", "q"],
|
|
69
|
+
history_mode="none",
|
|
64
70
|
)
|
|
65
71
|
)
|
|
66
72
|
registry.register(
|
|
@@ -69,6 +75,7 @@ def create_default_registry() -> CommandRegistry:
|
|
|
69
75
|
description=_("Authenticate with LLM provider"),
|
|
70
76
|
handler=auth_command,
|
|
71
77
|
aliases=["login"],
|
|
78
|
+
history_mode="session",
|
|
72
79
|
)
|
|
73
80
|
)
|
|
74
81
|
registry.register(
|
|
@@ -77,6 +84,7 @@ def create_default_registry() -> CommandRegistry:
|
|
|
77
84
|
description=_("Toggle debug logging"),
|
|
78
85
|
handler=debug_command,
|
|
79
86
|
arg_hint="[on|off]",
|
|
87
|
+
history_mode="session",
|
|
80
88
|
)
|
|
81
89
|
)
|
|
82
90
|
registry.register(
|
|
@@ -85,6 +93,7 @@ def create_default_registry() -> CommandRegistry:
|
|
|
85
93
|
description=_("Resume a previous session"),
|
|
86
94
|
handler=resume_command,
|
|
87
95
|
arg_hint=_("[conversation id or search term]"),
|
|
96
|
+
history_mode="session",
|
|
88
97
|
)
|
|
89
98
|
)
|
|
90
99
|
return registry
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from dataclasses import dataclass, field
|
|
6
|
-
from typing import TYPE_CHECKING, Any, Awaitable, Callable
|
|
6
|
+
from typing import TYPE_CHECKING, Any, Awaitable, Callable, Literal
|
|
7
7
|
|
|
8
8
|
from iac_code.types.skill_source import SkillSource
|
|
9
9
|
|
|
@@ -42,6 +42,12 @@ class LocalCommand(Command):
|
|
|
42
42
|
progress_label: str | None = None
|
|
43
43
|
"""When set, the REPL shows a spinner with this label while the handler runs.
|
|
44
44
|
Use for commands that perform slow async work (e.g. an LLM call)."""
|
|
45
|
+
history_mode: Literal["persist", "session", "none"] = "persist"
|
|
46
|
+
"""Controls how the command is recorded in input history.
|
|
47
|
+
- "persist": saved to disk (default, for normal commands).
|
|
48
|
+
- "session": kept in memory for the current session only.
|
|
49
|
+
- "none": never recorded in history.
|
|
50
|
+
"""
|
|
45
51
|
|
|
46
52
|
|
|
47
53
|
@dataclass
|
|
Binary file
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
#
|
|
5
5
|
msgid ""
|
|
6
6
|
msgstr ""
|
|
7
|
-
"Project-Id-Version: iac-code 0.2.
|
|
7
|
+
"Project-Id-Version: iac-code 0.2.2\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
|
9
|
-
"POT-Creation-Date: 2026-05-
|
|
9
|
+
"POT-Creation-Date: 2026-05-22 14:28+0800\n"
|
|
10
10
|
"PO-Revision-Date: 2026-05-13 00:00+0000\n"
|
|
11
11
|
"Last-Translator: \n"
|
|
12
12
|
"Language: de\n"
|
|
@@ -503,55 +503,55 @@ msgstr "Speichert die angegebenen Routen als Routen-Snapshot"
|
|
|
503
503
|
msgid "Show available commands"
|
|
504
504
|
msgstr "Verfügbare Befehle anzeigen"
|
|
505
505
|
|
|
506
|
-
#: src/iac_code/commands/__init__.py:
|
|
506
|
+
#: src/iac_code/commands/__init__.py:31
|
|
507
507
|
msgid "Clear conversation history"
|
|
508
508
|
msgstr "Konversationsverlauf löschen"
|
|
509
509
|
|
|
510
|
-
#: src/iac_code/commands/__init__.py:
|
|
510
|
+
#: src/iac_code/commands/__init__.py:39
|
|
511
511
|
msgid "Show or switch model"
|
|
512
512
|
msgstr "Modell anzeigen oder wechseln"
|
|
513
513
|
|
|
514
|
-
#: src/iac_code/commands/__init__.py:
|
|
514
|
+
#: src/iac_code/commands/__init__.py:48
|
|
515
515
|
msgid "Show or switch thinking effort"
|
|
516
516
|
msgstr "Thinking-Effort anzeigen oder wechseln"
|
|
517
517
|
|
|
518
|
-
#: src/iac_code/commands/__init__.py:
|
|
518
|
+
#: src/iac_code/commands/__init__.py:57
|
|
519
519
|
msgid "Compact conversation context"
|
|
520
520
|
msgstr "Konversationskontext komprimieren"
|
|
521
521
|
|
|
522
|
-
#: src/iac_code/commands/__init__.py:
|
|
522
|
+
#: src/iac_code/commands/__init__.py:59
|
|
523
523
|
msgid "Compacting conversation"
|
|
524
524
|
msgstr "Konversation wird komprimiert"
|
|
525
525
|
|
|
526
|
-
#: src/iac_code/commands/__init__.py:
|
|
526
|
+
#: src/iac_code/commands/__init__.py:66
|
|
527
527
|
msgid "Exit the application"
|
|
528
528
|
msgstr "Anwendung beenden"
|
|
529
529
|
|
|
530
|
-
#: src/iac_code/commands/__init__.py:
|
|
530
|
+
#: src/iac_code/commands/__init__.py:75
|
|
531
531
|
msgid "Authenticate with LLM provider"
|
|
532
532
|
msgstr "Beim LLM-Anbieter authentifizieren"
|
|
533
533
|
|
|
534
|
-
#: src/iac_code/commands/__init__.py:
|
|
534
|
+
#: src/iac_code/commands/__init__.py:84
|
|
535
535
|
msgid "Toggle debug logging"
|
|
536
536
|
msgstr "Debug-Protokollierung umschalten"
|
|
537
537
|
|
|
538
|
-
#: src/iac_code/commands/__init__.py:
|
|
538
|
+
#: src/iac_code/commands/__init__.py:93
|
|
539
539
|
msgid "Resume a previous session"
|
|
540
540
|
msgstr "Eine frühere Sitzung fortsetzen"
|
|
541
541
|
|
|
542
|
-
#: src/iac_code/commands/__init__.py:
|
|
542
|
+
#: src/iac_code/commands/__init__.py:95
|
|
543
543
|
msgid "[conversation id or search term]"
|
|
544
544
|
msgstr "[Konversations-ID oder Suchbegriff]"
|
|
545
545
|
|
|
546
546
|
#: src/iac_code/commands/auth.py:249 src/iac_code/commands/auth.py:883
|
|
547
|
-
#: src/iac_code/ui/core/prompt_input.py:
|
|
547
|
+
#: src/iac_code/ui/core/prompt_input.py:510
|
|
548
548
|
msgid "Navigate"
|
|
549
549
|
msgstr "Navigieren"
|
|
550
550
|
|
|
551
551
|
#: src/iac_code/commands/auth.py:249 src/iac_code/commands/auth.py:371
|
|
552
552
|
#: src/iac_code/commands/auth.py:405 src/iac_code/commands/auth.py:412
|
|
553
553
|
#: src/iac_code/commands/auth.py:436 src/iac_code/commands/auth.py:883
|
|
554
|
-
#: src/iac_code/commands/auth.py:1073 src/iac_code/ui/core/prompt_input.py:
|
|
554
|
+
#: src/iac_code/commands/auth.py:1073 src/iac_code/ui/core/prompt_input.py:510
|
|
555
555
|
msgid "Confirm"
|
|
556
556
|
msgstr "Bestätigen"
|
|
557
557
|
|
|
@@ -659,7 +659,7 @@ msgstr "{status}: {provider} / {model}"
|
|
|
659
659
|
msgid "Alibaba Cloud"
|
|
660
660
|
msgstr "Alibaba Cloud"
|
|
661
661
|
|
|
662
|
-
#: src/iac_code/commands/auth.py:798 src/iac_code/providers/registry.py:
|
|
662
|
+
#: src/iac_code/commands/auth.py:798 src/iac_code/providers/registry.py:426
|
|
663
663
|
msgid "ZhiPu AI"
|
|
664
664
|
msgstr "ZhiPu AI"
|
|
665
665
|
|
|
@@ -671,7 +671,7 @@ msgstr "Kimi"
|
|
|
671
671
|
msgid "MiniMax"
|
|
672
672
|
msgstr "MiniMax"
|
|
673
673
|
|
|
674
|
-
#: src/iac_code/commands/auth.py:801 src/iac_code/providers/registry.py:
|
|
674
|
+
#: src/iac_code/commands/auth.py:801 src/iac_code/providers/registry.py:428
|
|
675
675
|
msgid "Volcengine"
|
|
676
676
|
msgstr "Volcengine"
|
|
677
677
|
|
|
@@ -679,27 +679,27 @@ msgstr "Volcengine"
|
|
|
679
679
|
msgid "SiliconFlow"
|
|
680
680
|
msgstr "SiliconFlow"
|
|
681
681
|
|
|
682
|
-
#: src/iac_code/commands/auth.py:803 src/iac_code/providers/registry.py:
|
|
682
|
+
#: src/iac_code/commands/auth.py:803 src/iac_code/providers/registry.py:419
|
|
683
683
|
msgid "DeepSeek"
|
|
684
684
|
msgstr "DeepSeek"
|
|
685
685
|
|
|
686
|
-
#: src/iac_code/commands/auth.py:804 src/iac_code/providers/registry.py:
|
|
686
|
+
#: src/iac_code/commands/auth.py:804 src/iac_code/providers/registry.py:417
|
|
687
687
|
msgid "OpenAI"
|
|
688
688
|
msgstr "OpenAI"
|
|
689
689
|
|
|
690
|
-
#: src/iac_code/commands/auth.py:805 src/iac_code/providers/registry.py:
|
|
690
|
+
#: src/iac_code/commands/auth.py:805 src/iac_code/providers/registry.py:418
|
|
691
691
|
msgid "Anthropic"
|
|
692
692
|
msgstr "Anthropic"
|
|
693
693
|
|
|
694
|
-
#: src/iac_code/commands/auth.py:806 src/iac_code/providers/registry.py:
|
|
694
|
+
#: src/iac_code/commands/auth.py:806 src/iac_code/providers/registry.py:421
|
|
695
695
|
msgid "Google Gemini"
|
|
696
696
|
msgstr "Google Gemini"
|
|
697
697
|
|
|
698
|
-
#: src/iac_code/commands/auth.py:807 src/iac_code/providers/registry.py:
|
|
698
|
+
#: src/iac_code/commands/auth.py:807 src/iac_code/providers/registry.py:434
|
|
699
699
|
msgid "Azure OpenAI"
|
|
700
700
|
msgstr "Azure OpenAI"
|
|
701
701
|
|
|
702
|
-
#: src/iac_code/commands/auth.py:808 src/iac_code/providers/registry.py:
|
|
702
|
+
#: src/iac_code/commands/auth.py:808 src/iac_code/providers/registry.py:433
|
|
703
703
|
msgid "OpenRouter"
|
|
704
704
|
msgstr "OpenRouter"
|
|
705
705
|
|
|
@@ -720,7 +720,7 @@ msgid "Credential"
|
|
|
720
720
|
msgstr "Anmeldedaten"
|
|
721
721
|
|
|
722
722
|
#: src/iac_code/commands/auth.py:844 src/iac_code/commands/auth.py:941
|
|
723
|
-
#: src/iac_code/commands/auth.py:1046 src/iac_code/ui/renderer.py:
|
|
723
|
+
#: src/iac_code/commands/auth.py:1046 src/iac_code/ui/renderer.py:419
|
|
724
724
|
msgid "Region"
|
|
725
725
|
msgstr "Region"
|
|
726
726
|
|
|
@@ -983,79 +983,79 @@ msgstr ""
|
|
|
983
983
|
" Base URL korrekt ist (aktuell: {base_url}). Viele OpenAI-kompatible "
|
|
984
984
|
"Endpunkte erfordern ein /v1-Suffix (z. B. {base_url}/v1)."
|
|
985
985
|
|
|
986
|
-
#: src/iac_code/providers/registry.py:
|
|
986
|
+
#: src/iac_code/providers/registry.py:415
|
|
987
987
|
msgid "Alibaba Cloud Bailian"
|
|
988
988
|
msgstr "Alibaba Cloud Bailian"
|
|
989
989
|
|
|
990
|
-
#: src/iac_code/providers/registry.py:
|
|
990
|
+
#: src/iac_code/providers/registry.py:416
|
|
991
991
|
msgid "Alibaba Cloud Bailian Token Plan"
|
|
992
992
|
msgstr "Alibaba Cloud Bailian Token Plan"
|
|
993
993
|
|
|
994
|
-
#: src/iac_code/providers/registry.py:
|
|
994
|
+
#: src/iac_code/providers/registry.py:420
|
|
995
995
|
msgid "OpenAPI Compatible"
|
|
996
996
|
msgstr "OpenAPI-kompatibel"
|
|
997
997
|
|
|
998
|
-
#: src/iac_code/providers/registry.py:
|
|
998
|
+
#: src/iac_code/providers/registry.py:422
|
|
999
999
|
msgid "Kimi (China)"
|
|
1000
1000
|
msgstr "Kimi (China)"
|
|
1001
1001
|
|
|
1002
|
-
#: src/iac_code/providers/registry.py:
|
|
1002
|
+
#: src/iac_code/providers/registry.py:423
|
|
1003
1003
|
msgid "Kimi (International)"
|
|
1004
1004
|
msgstr "Kimi (International)"
|
|
1005
1005
|
|
|
1006
|
-
#: src/iac_code/providers/registry.py:
|
|
1006
|
+
#: src/iac_code/providers/registry.py:424
|
|
1007
1007
|
msgid "MiniMax (China)"
|
|
1008
1008
|
msgstr "MiniMax (China)"
|
|
1009
1009
|
|
|
1010
|
-
#: src/iac_code/providers/registry.py:
|
|
1010
|
+
#: src/iac_code/providers/registry.py:425
|
|
1011
1011
|
msgid "MiniMax (International)"
|
|
1012
1012
|
msgstr "MiniMax (International)"
|
|
1013
1013
|
|
|
1014
|
-
#: src/iac_code/providers/registry.py:
|
|
1014
|
+
#: src/iac_code/providers/registry.py:427
|
|
1015
1015
|
msgid "ZhiPu AI (International)"
|
|
1016
1016
|
msgstr "ZhiPu AI (International)"
|
|
1017
1017
|
|
|
1018
|
-
#: src/iac_code/providers/registry.py:
|
|
1018
|
+
#: src/iac_code/providers/registry.py:429
|
|
1019
1019
|
msgid "SiliconFlow (China)"
|
|
1020
1020
|
msgstr "SiliconFlow (China)"
|
|
1021
1021
|
|
|
1022
|
-
#: src/iac_code/providers/registry.py:
|
|
1022
|
+
#: src/iac_code/providers/registry.py:430
|
|
1023
1023
|
msgid "SiliconFlow (International)"
|
|
1024
1024
|
msgstr "SiliconFlow (International)"
|
|
1025
1025
|
|
|
1026
|
-
#: src/iac_code/providers/registry.py:
|
|
1026
|
+
#: src/iac_code/providers/registry.py:431
|
|
1027
1027
|
msgid "Ollama (Local)"
|
|
1028
1028
|
msgstr "Ollama (Lokal)"
|
|
1029
1029
|
|
|
1030
|
-
#: src/iac_code/providers/registry.py:
|
|
1030
|
+
#: src/iac_code/providers/registry.py:432
|
|
1031
1031
|
msgid "LM Studio (Local)"
|
|
1032
1032
|
msgstr "LM Studio (Lokal)"
|
|
1033
1033
|
|
|
1034
|
-
#: src/iac_code/providers/registry.py:
|
|
1034
|
+
#: src/iac_code/providers/registry.py:435
|
|
1035
1035
|
msgid "ModelScope"
|
|
1036
1036
|
msgstr "ModelScope"
|
|
1037
1037
|
|
|
1038
|
-
#: src/iac_code/providers/registry.py:
|
|
1038
|
+
#: src/iac_code/providers/registry.py:436
|
|
1039
1039
|
msgid "Alibaba Cloud CodingPlan"
|
|
1040
1040
|
msgstr "Alibaba Cloud CodingPlan"
|
|
1041
1041
|
|
|
1042
|
-
#: src/iac_code/providers/registry.py:
|
|
1042
|
+
#: src/iac_code/providers/registry.py:437
|
|
1043
1043
|
msgid "Alibaba Cloud CodingPlan (International)"
|
|
1044
1044
|
msgstr "Alibaba Cloud CodingPlan (International)"
|
|
1045
1045
|
|
|
1046
|
-
#: src/iac_code/providers/registry.py:
|
|
1046
|
+
#: src/iac_code/providers/registry.py:438
|
|
1047
1047
|
msgid "ZhiPu AI CodingPlan"
|
|
1048
1048
|
msgstr "ZhiPu AI CodingPlan"
|
|
1049
1049
|
|
|
1050
|
-
#: src/iac_code/providers/registry.py:
|
|
1050
|
+
#: src/iac_code/providers/registry.py:439
|
|
1051
1051
|
msgid "ZhiPu AI CodingPlan (International)"
|
|
1052
1052
|
msgstr "ZhiPu AI CodingPlan (International)"
|
|
1053
1053
|
|
|
1054
|
-
#: src/iac_code/providers/registry.py:
|
|
1054
|
+
#: src/iac_code/providers/registry.py:440
|
|
1055
1055
|
msgid "Volcengine CodingPlan"
|
|
1056
1056
|
msgstr "Volcengine CodingPlan"
|
|
1057
1057
|
|
|
1058
|
-
#: src/iac_code/providers/registry.py:
|
|
1058
|
+
#: src/iac_code/providers/registry.py:441
|
|
1059
1059
|
msgid "Anthropic Compatible"
|
|
1060
1060
|
msgstr "Anthropic-kompatibel"
|
|
1061
1061
|
|
|
@@ -1359,7 +1359,7 @@ msgstr "CloudAPI"
|
|
|
1359
1359
|
msgid "Calling {action}..."
|
|
1360
1360
|
msgstr "{action} wird aufgerufen …"
|
|
1361
1361
|
|
|
1362
|
-
#: src/iac_code/tools/cloud/aliyun/aliyun_api.py:
|
|
1362
|
+
#: src/iac_code/tools/cloud/aliyun/aliyun_api.py:385
|
|
1363
1363
|
#: src/iac_code/tools/cloud/base_api.py:123
|
|
1364
1364
|
msgid "Call succeeded"
|
|
1365
1365
|
msgstr "Aufruf erfolgreich"
|
|
@@ -1519,11 +1519,11 @@ msgstr "IMPORT ABGESCHLOSSEN"
|
|
|
1519
1519
|
msgid "IMPORT_FAILED"
|
|
1520
1520
|
msgstr "IMPORT FEHLGESCHLAGEN"
|
|
1521
1521
|
|
|
1522
|
-
#: src/iac_code/tools/cloud/aliyun/aliyun_api.py:
|
|
1522
|
+
#: src/iac_code/tools/cloud/aliyun/aliyun_api.py:170
|
|
1523
1523
|
msgid "Aliyun API"
|
|
1524
1524
|
msgstr "Aliyun API"
|
|
1525
1525
|
|
|
1526
|
-
#: src/iac_code/tools/cloud/aliyun/aliyun_api.py:
|
|
1526
|
+
#: src/iac_code/tools/cloud/aliyun/aliyun_api.py:384
|
|
1527
1527
|
#, python-brace-format
|
|
1528
1528
|
msgid "Call succeeded (RequestId: {request_id})"
|
|
1529
1529
|
msgstr "Aufruf erfolgreich (RequestId: {request_id})"
|
|
@@ -1612,142 +1612,142 @@ msgstr "Debug-Modus"
|
|
|
1612
1612
|
msgid "Log file"
|
|
1613
1613
|
msgstr "Protokolldatei"
|
|
1614
1614
|
|
|
1615
|
-
#: src/iac_code/ui/renderer.py:
|
|
1616
|
-
#: src/iac_code/ui/renderer.py:
|
|
1615
|
+
#: src/iac_code/ui/renderer.py:352 src/iac_code/ui/renderer.py:622
|
|
1616
|
+
#: src/iac_code/ui/renderer.py:1408
|
|
1617
1617
|
#, python-brace-format
|
|
1618
1618
|
msgid "Thought for {seconds:.1f}s"
|
|
1619
1619
|
msgstr "Nachgedacht für {seconds:.1f}s"
|
|
1620
1620
|
|
|
1621
|
-
#: src/iac_code/ui/renderer.py:
|
|
1622
|
-
#: src/iac_code/ui/renderer.py:
|
|
1621
|
+
#: src/iac_code/ui/renderer.py:368 src/iac_code/ui/renderer.py:654
|
|
1622
|
+
#: src/iac_code/ui/renderer.py:1429
|
|
1623
1623
|
msgid "(ctrl+o to expand)"
|
|
1624
1624
|
msgstr "(ctrl+o zum Aufklappen)"
|
|
1625
1625
|
|
|
1626
|
-
#: src/iac_code/ui/renderer.py:
|
|
1626
|
+
#: src/iac_code/ui/renderer.py:395
|
|
1627
1627
|
msgid "Resource"
|
|
1628
1628
|
msgstr "Ressource"
|
|
1629
1629
|
|
|
1630
|
-
#: src/iac_code/ui/renderer.py:
|
|
1630
|
+
#: src/iac_code/ui/renderer.py:396
|
|
1631
1631
|
msgid "Type"
|
|
1632
1632
|
msgstr "Typ"
|
|
1633
1633
|
|
|
1634
|
-
#: src/iac_code/ui/renderer.py:
|
|
1634
|
+
#: src/iac_code/ui/renderer.py:397 src/iac_code/ui/renderer.py:420
|
|
1635
1635
|
msgid "Status"
|
|
1636
1636
|
msgstr "Status"
|
|
1637
1637
|
|
|
1638
|
-
#: src/iac_code/ui/renderer.py:
|
|
1638
|
+
#: src/iac_code/ui/renderer.py:418
|
|
1639
1639
|
msgid "Account ID"
|
|
1640
1640
|
msgstr "Konto-ID"
|
|
1641
1641
|
|
|
1642
|
-
#: src/iac_code/ui/renderer.py:
|
|
1642
|
+
#: src/iac_code/ui/renderer.py:496
|
|
1643
1643
|
#, python-brace-format
|
|
1644
1644
|
msgid "Done ({child_count} tool uses{token_info}{elapsed})"
|
|
1645
1645
|
msgstr "Fertig ({child_count} Tool-Aufrufe{token_info}{elapsed})"
|
|
1646
1646
|
|
|
1647
|
-
#: src/iac_code/ui/renderer.py:
|
|
1647
|
+
#: src/iac_code/ui/renderer.py:526
|
|
1648
1648
|
#, python-brace-format
|
|
1649
1649
|
msgid "+ {count} more tool uses (ctrl+o to expand)"
|
|
1650
1650
|
msgstr "+ {count} weitere Tool-Aufrufe (ctrl+o zum Aufklappen)"
|
|
1651
1651
|
|
|
1652
|
-
#: src/iac_code/ui/renderer.py:
|
|
1652
|
+
#: src/iac_code/ui/renderer.py:1130
|
|
1653
1653
|
#, python-brace-format
|
|
1654
1654
|
msgid "Context auto-compacted: {original} → {compacted} tokens"
|
|
1655
1655
|
msgstr "Kontext automatisch komprimiert: {original} → {compacted} Tokens"
|
|
1656
1656
|
|
|
1657
|
-
#: src/iac_code/ui/renderer.py:
|
|
1657
|
+
#: src/iac_code/ui/renderer.py:1215
|
|
1658
1658
|
msgid "Operation cancelled."
|
|
1659
1659
|
msgstr "Vorgang abgebrochen."
|
|
1660
1660
|
|
|
1661
|
-
#: src/iac_code/ui/renderer.py:
|
|
1661
|
+
#: src/iac_code/ui/renderer.py:1220
|
|
1662
1662
|
msgid "No API key configured."
|
|
1663
1663
|
msgstr "Kein API-Key konfiguriert."
|
|
1664
1664
|
|
|
1665
|
-
#: src/iac_code/ui/renderer.py:
|
|
1665
|
+
#: src/iac_code/ui/renderer.py:1220
|
|
1666
1666
|
msgid "Please run /auth to set up your LLM provider and API key."
|
|
1667
1667
|
msgstr "Führen Sie /auth aus, um LLM-Anbieter und API-Key einzurichten."
|
|
1668
1668
|
|
|
1669
|
-
#: src/iac_code/ui/renderer.py:
|
|
1669
|
+
#: src/iac_code/ui/renderer.py:1225
|
|
1670
1670
|
#, python-brace-format
|
|
1671
1671
|
msgid "Error: {error}"
|
|
1672
1672
|
msgstr "Fehler: {error}"
|
|
1673
1673
|
|
|
1674
|
-
#: src/iac_code/ui/renderer.py:
|
|
1674
|
+
#: src/iac_code/ui/renderer.py:1295
|
|
1675
1675
|
msgid "Allow this action?"
|
|
1676
1676
|
msgstr "Diese Aktion zulassen?"
|
|
1677
1677
|
|
|
1678
|
-
#: src/iac_code/ui/renderer.py:
|
|
1678
|
+
#: src/iac_code/ui/renderer.py:1298
|
|
1679
1679
|
msgid "Yes, allow once"
|
|
1680
1680
|
msgstr "Ja, einmal zulassen"
|
|
1681
1681
|
|
|
1682
|
-
#: src/iac_code/ui/renderer.py:
|
|
1682
|
+
#: src/iac_code/ui/renderer.py:1312
|
|
1683
1683
|
#, python-brace-format
|
|
1684
1684
|
msgid "Yes, always allow \"{rule}\" (this session)"
|
|
1685
1685
|
msgstr "Ja, \"{rule}\" immer erlauben (diese Sitzung)"
|
|
1686
1686
|
|
|
1687
|
-
#: src/iac_code/ui/renderer.py:
|
|
1687
|
+
#: src/iac_code/ui/renderer.py:1317
|
|
1688
1688
|
msgid "Yes, allow always for this tool"
|
|
1689
1689
|
msgstr "Ja, für dieses Tool immer zulassen"
|
|
1690
1690
|
|
|
1691
|
-
#: src/iac_code/ui/renderer.py:
|
|
1691
|
+
#: src/iac_code/ui/renderer.py:1320
|
|
1692
1692
|
msgid "No, reject once"
|
|
1693
1693
|
msgstr "Nein, einmal ablehnen"
|
|
1694
1694
|
|
|
1695
|
-
#: src/iac_code/ui/renderer.py:
|
|
1695
|
+
#: src/iac_code/ui/renderer.py:1320
|
|
1696
1696
|
msgid "default"
|
|
1697
1697
|
msgstr "Standard"
|
|
1698
1698
|
|
|
1699
|
-
#: src/iac_code/ui/renderer.py:
|
|
1699
|
+
#: src/iac_code/ui/renderer.py:1327
|
|
1700
1700
|
#, python-brace-format
|
|
1701
1701
|
msgid "No, always deny \"{rule}\" (this session)"
|
|
1702
1702
|
msgstr "Nein, immer \"{rule}\" ablehnen (diese Sitzung)"
|
|
1703
1703
|
|
|
1704
|
-
#: src/iac_code/ui/renderer.py:
|
|
1704
|
+
#: src/iac_code/ui/renderer.py:1332
|
|
1705
1705
|
msgid "No, always reject this tool"
|
|
1706
1706
|
msgstr "Nein, dieses Tool immer ablehnen"
|
|
1707
1707
|
|
|
1708
|
-
#: src/iac_code/ui/repl.py:
|
|
1708
|
+
#: src/iac_code/ui/repl.py:355
|
|
1709
1709
|
msgid "Press Ctrl+C again to exit."
|
|
1710
1710
|
msgstr "Drücken Sie erneut Ctrl+C zum Beenden."
|
|
1711
1711
|
|
|
1712
|
-
#: src/iac_code/ui/repl.py:
|
|
1712
|
+
#: src/iac_code/ui/repl.py:376
|
|
1713
1713
|
msgid "Interrupted."
|
|
1714
1714
|
msgstr "Unterbrochen."
|
|
1715
1715
|
|
|
1716
|
-
#: src/iac_code/ui/repl.py:
|
|
1716
|
+
#: src/iac_code/ui/repl.py:413
|
|
1717
1717
|
msgid "Goodbye!"
|
|
1718
1718
|
msgstr "Auf Wiedersehen!"
|
|
1719
1719
|
|
|
1720
|
-
#: src/iac_code/ui/repl.py:
|
|
1720
|
+
#: src/iac_code/ui/repl.py:414
|
|
1721
1721
|
msgid "Resume this session with:"
|
|
1722
1722
|
msgstr "Diese Sitzung fortsetzen mit:"
|
|
1723
1723
|
|
|
1724
|
-
#: src/iac_code/ui/repl.py:
|
|
1724
|
+
#: src/iac_code/ui/repl.py:447
|
|
1725
1725
|
msgid "No image in clipboard."
|
|
1726
1726
|
msgstr "Kein Bild in der Zwischenablage."
|
|
1727
1727
|
|
|
1728
|
-
#: src/iac_code/ui/repl.py:
|
|
1728
|
+
#: src/iac_code/ui/repl.py:592
|
|
1729
1729
|
#, python-brace-format
|
|
1730
1730
|
msgid "Unknown command: /{name}. Type /help for available commands."
|
|
1731
1731
|
msgstr ""
|
|
1732
1732
|
"Unknown command: /{name}. Type /help for available commands.Unbekannter "
|
|
1733
1733
|
"Befehl: /{name}. Geben Sie /help für verfügbare Befehle ein."
|
|
1734
1734
|
|
|
1735
|
-
#: src/iac_code/ui/repl.py:
|
|
1735
|
+
#: src/iac_code/ui/repl.py:617 src/iac_code/ui/repl.py:662
|
|
1736
1736
|
#, python-brace-format
|
|
1737
1737
|
msgid "Command error: {error}"
|
|
1738
1738
|
msgstr "Befehlsfehler: {error}"
|
|
1739
1739
|
|
|
1740
|
-
#: src/iac_code/ui/repl.py:
|
|
1740
|
+
#: src/iac_code/ui/repl.py:624
|
|
1741
1741
|
#, python-brace-format
|
|
1742
1742
|
msgid "Command has no handler: {name}"
|
|
1743
1743
|
msgstr "Kein Handler für Befehl: {name}"
|
|
1744
1744
|
|
|
1745
|
-
#: src/iac_code/ui/repl.py:
|
|
1745
|
+
#: src/iac_code/ui/repl.py:929
|
|
1746
1746
|
#, python-brace-format
|
|
1747
1747
|
msgid "Session not found: {session_id}"
|
|
1748
1748
|
msgstr "Sitzung nicht gefunden: {session_id}"
|
|
1749
1749
|
|
|
1750
|
-
#: src/iac_code/ui/repl.py:
|
|
1750
|
+
#: src/iac_code/ui/repl.py:948
|
|
1751
1751
|
#, python-brace-format
|
|
1752
1752
|
msgid ""
|
|
1753
1753
|
"This session belongs to a different directory.\n"
|
|
@@ -1758,19 +1758,19 @@ msgstr ""
|
|
|
1758
1758
|
"Zum Fortsetzen ausführen:\n"
|
|
1759
1759
|
" {cmd}"
|
|
1760
1760
|
|
|
1761
|
-
#: src/iac_code/ui/repl.py:
|
|
1761
|
+
#: src/iac_code/ui/repl.py:987
|
|
1762
1762
|
msgid "This conversation is from a different directory."
|
|
1763
1763
|
msgstr "Diese Konversation stammt aus einem anderen Verzeichnis."
|
|
1764
1764
|
|
|
1765
|
-
#: src/iac_code/ui/repl.py:
|
|
1765
|
+
#: src/iac_code/ui/repl.py:989
|
|
1766
1766
|
msgid "To resume, run:"
|
|
1767
1767
|
msgstr "Zum Fortsetzen ausführen:"
|
|
1768
1768
|
|
|
1769
|
-
#: src/iac_code/ui/repl.py:
|
|
1769
|
+
#: src/iac_code/ui/repl.py:994
|
|
1770
1770
|
msgid "(Command copied to clipboard)"
|
|
1771
1771
|
msgstr "(Befehl in die Zwischenablage kopiert)"
|
|
1772
1772
|
|
|
1773
|
-
#: src/iac_code/ui/repl.py:
|
|
1773
|
+
#: src/iac_code/ui/repl.py:1151
|
|
1774
1774
|
#, python-brace-format
|
|
1775
1775
|
msgid ""
|
|
1776
1776
|
"Current model {model} does not support image input. Use /model to switch "
|
|
@@ -1779,12 +1779,12 @@ msgstr ""
|
|
|
1779
1779
|
"Das aktuelle Modell {model} unterstützt keine Bildeingabe. Verwenden Sie "
|
|
1780
1780
|
"/model, um zu einem Vision-fähigen Modell zu wechseln."
|
|
1781
1781
|
|
|
1782
|
-
#: src/iac_code/ui/repl.py:
|
|
1782
|
+
#: src/iac_code/ui/repl.py:1160
|
|
1783
1783
|
#, python-brace-format
|
|
1784
1784
|
msgid "Image error: {err}"
|
|
1785
1785
|
msgstr "Bildfehler: {err}"
|
|
1786
1786
|
|
|
1787
|
-
#: src/iac_code/ui/repl.py:
|
|
1787
|
+
#: src/iac_code/ui/repl.py:1177
|
|
1788
1788
|
msgid ""
|
|
1789
1789
|
"Failed to persist image to cache; it will only exist in memory for this "
|
|
1790
1790
|
"turn."
|
|
@@ -1828,15 +1828,15 @@ msgstr "Vollständiges Protokoll · ctrl+o zum Umschalten"
|
|
|
1828
1828
|
msgid "No matches found"
|
|
1829
1829
|
msgstr "Keine Treffer"
|
|
1830
1830
|
|
|
1831
|
-
#: src/iac_code/ui/core/prompt_input.py:
|
|
1831
|
+
#: src/iac_code/ui/core/prompt_input.py:336
|
|
1832
1832
|
msgid "Image in clipboard · ctrl+v to paste"
|
|
1833
1833
|
msgstr "Bild in der Zwischenablage · Strg+V zum Einfügen"
|
|
1834
1834
|
|
|
1835
|
-
#: src/iac_code/ui/core/prompt_input.py:
|
|
1835
|
+
#: src/iac_code/ui/core/prompt_input.py:510
|
|
1836
1836
|
msgid "Fill"
|
|
1837
1837
|
msgstr "Ausfüllen"
|
|
1838
1838
|
|
|
1839
|
-
#: src/iac_code/ui/core/prompt_input.py:
|
|
1839
|
+
#: src/iac_code/ui/core/prompt_input.py:510
|
|
1840
1840
|
msgid "Dismiss"
|
|
1841
1841
|
msgstr "Schließen"
|
|
1842
1842
|
|