iac-code 0.11.3__tar.gz → 0.11.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {iac_code-0.11.3 → iac_code-0.11.4}/PKG-INFO +1 -1
- iac_code-0.11.4/src/iac_code/__init__.py +2 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/executor.py +1 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_events.py +6 -2
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_executor.py +66 -1
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_stream.py +13 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/task_store.py +20 -5
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/transports/dispatcher.py +5 -1
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/server.py +1 -1
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/agent/agent_loop.py +2 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/cli/headless.py +1 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/cli/main.py +5 -1
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/cli/process_mode.py +2 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/de/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/de/LC_MESSAGES/messages.po +3 -2
- iac_code-0.11.4/src/iac_code/i18n/locales/de/LC_MESSAGES/webui.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/de/LC_MESSAGES/webui.po +55 -4
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/es/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/es/LC_MESSAGES/messages.po +3 -2
- iac_code-0.11.4/src/iac_code/i18n/locales/es/LC_MESSAGES/webui.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/es/LC_MESSAGES/webui.po +57 -5
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/fr/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/fr/LC_MESSAGES/messages.po +3 -2
- iac_code-0.11.4/src/iac_code/i18n/locales/fr/LC_MESSAGES/webui.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/fr/LC_MESSAGES/webui.po +56 -5
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/ja/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/ja/LC_MESSAGES/messages.po +3 -2
- iac_code-0.11.4/src/iac_code/i18n/locales/ja/LC_MESSAGES/webui.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/ja/LC_MESSAGES/webui.po +44 -4
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/pt/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/pt/LC_MESSAGES/messages.po +3 -2
- iac_code-0.11.4/src/iac_code/i18n/locales/pt/LC_MESSAGES/webui.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/pt/LC_MESSAGES/webui.po +56 -5
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/zh/LC_MESSAGES/messages.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/zh/LC_MESSAGES/messages.po +3 -2
- iac_code-0.11.4/src/iac_code/i18n/locales/zh/LC_MESSAGES/webui.mo +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/locales/zh/LC_MESSAGES/webui.po +44 -4
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/completion_guard_state.py +27 -1
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/pipeline_runner.py +17 -46
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/recovery.py +1 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/step_executor.py +13 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/pipeline.yaml +1 -1
- {iac_code-0.11.3/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating → iac_code-0.11.4/src/iac_code/pipeline/selling}/references/solutions/iac-code-web.md +4 -5
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/references/solutions/iac-code-web.ros.yml +13 -17
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-architecture/SKILL.md +2 -2
- {iac_code-0.11.3/src/iac_code/pipeline/selling → iac_code-0.11.4/src/iac_code/pipeline/selling/skills/iac-aliyun-cost}/references/solutions/iac-code-web.md +4 -5
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/references/solutions/iac-code-web.ros.yml +13 -17
- {iac_code-0.11.3/src/iac_code/pipeline/selling/skills/iac-aliyun-cost → iac_code-0.11.4/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying}/references/solutions/iac-code-web.md +4 -5
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/references/solutions/iac-code-web.ros.yml +13 -17
- {iac_code-0.11.3/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying → iac_code-0.11.4/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating}/references/solutions/iac-code-web.md +4 -5
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/references/solutions/iac-code-web.ros.yml +13 -17
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/tools/ros_deploy_tool.py +3 -4
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/manager.py +74 -1
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/agent_factory.py +51 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/session_backup.py +135 -29
- iac_code-0.11.4/src/iac_code/services/session_logging.py +279 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/config.py +53 -9
- iac_code-0.11.4/src/iac_code/skills/bundled/iac_aliyun/references/solutions/iac-code-web.md +31 -0
- iac_code-0.11.4/src/iac_code/skills/bundled/iac_aliyun/references/solutions/iac-code-web.ros.yml +314 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/base_stack.py +64 -5
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/types/stream_events.py +26 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/renderer.py +15 -5
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/repl.py +87 -6
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/log.py +19 -1
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/app.py +33 -1
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/events.py +20 -1
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/outputs.py +31 -8
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/runtime.py +1 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/server.py +23 -1
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/session_manager.py +68 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/settings.py +42 -4
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/index.html +2 -2
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/api.js +16 -2
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/app.js +104 -11
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/components/output_panel.js +114 -7
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/components/workspace.js +102 -12
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/events.js +14 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/styles.css +7 -3
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code.egg-info/PKG-INFO +1 -1
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code.egg-info/SOURCES.txt +1 -0
- iac_code-0.11.3/src/iac_code/__init__.py +0 -2
- iac_code-0.11.3/src/iac_code/i18n/locales/de/LC_MESSAGES/webui.mo +0 -0
- iac_code-0.11.3/src/iac_code/i18n/locales/es/LC_MESSAGES/webui.mo +0 -0
- iac_code-0.11.3/src/iac_code/i18n/locales/fr/LC_MESSAGES/webui.mo +0 -0
- iac_code-0.11.3/src/iac_code/i18n/locales/ja/LC_MESSAGES/webui.mo +0 -0
- iac_code-0.11.3/src/iac_code/i18n/locales/pt/LC_MESSAGES/webui.mo +0 -0
- iac_code-0.11.3/src/iac_code/i18n/locales/zh/LC_MESSAGES/webui.mo +0 -0
- iac_code-0.11.3/src/iac_code/skills/bundled/iac_aliyun/references/solutions/iac-code-web.md +0 -32
- iac_code-0.11.3/src/iac_code/skills/bundled/iac_aliyun/references/solutions/iac-code-web.ros.yml +0 -318
- {iac_code-0.11.3 → iac_code-0.11.4}/LICENSE +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/MANIFEST.in +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/README.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/pyproject.toml +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/setup.cfg +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/setup.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/agent_card.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/app.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/artifacts.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/backup.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/client.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/events.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/exposure.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/jsonrpc_passthrough.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/metadata_redaction.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/metrics.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/parts.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/persistence.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_delta_coalescing.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_flow_monitor.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_journal.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_outbound.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_paths.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_performance.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_recovery.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_snapshot.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/pipeline_transport_delivery.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/projection.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/push.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/push_queue.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/push_secrets.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/push_worker.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/router.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/runtime_overrides.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/runtime_registry.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/signing.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/thinking_metadata.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/transport.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/transports/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/transports/base.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/transports/grpc.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/transports/grpc_jsonrpc.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/transports/http.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/transports/redis_streams.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/transports/stdio.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/transports/unix.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/transports/websocket.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/a2a/types.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/convert.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/http_sse.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/mcp.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/metrics.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/runner.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/session.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/slash_registry.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/state.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/tools.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/types.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/acp/version.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/agent/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/agent/agent_tool.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/agent/agent_types.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/agent/message.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/agent/system_prompt.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/cli/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/cli/install_git_bash.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/cli/output_formats.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/cli/process_events.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/cli/process_protocol.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/cli/update.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/auth.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/clear.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/compact.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/debug.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/effort.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/exit.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/help.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/mcp.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/memory.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/model.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/prompt.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/registry.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/rename.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/resume.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/skills.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/status.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/tasks.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/commands/thinking_enabled.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/config.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/i18n/html_extractor.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/cli.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/client.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/config.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/env_expansion.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/errors.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/manager.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/oauth.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/output.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/progress.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/prompt_dispatch.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/prompts.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/redaction.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/skills.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/storage.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/tools.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/mcp/types.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/memory/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/memory/memory_manager.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/memory/memory_tools.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/memory/project_memory.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/memory/recall.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/config.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/constants.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/display_names.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_graph.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_meta.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_metas/Categories.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_metas/config.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_metas/products.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_resource_inventory.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_rule_candidates.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_rule_drafts.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_rule_facts.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_rules.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_rules.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/architecture_semantic_planning.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/ask_user_question_tool.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/cleanup.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/complete_step_tool.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/context.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/display_replay.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/events.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/handoff.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/interrupt.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/loader.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/observability.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/prerequisites.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/prompts/interrupt_judge.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/public_errors.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/resume_recovery.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/session.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/show_diagram_tool.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/state_machine.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/step_spec.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/sub_pipeline_executor.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/transcript_storage.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/types.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/ui_contract.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/engine/user_input.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/hooks/deploying.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/prompts/architecture_planning.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/prompts/confirm_and_select.a2a.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/prompts/confirm_and_select.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/prompts/cost_estimating.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/prompts/deploying.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/prompts/evaluate_candidates.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/prompts/intent_parsing.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/prompts/reviewing.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/prompts/template_generating.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/references/cloud-products/ecs.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/references/cloud-products/oss.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/references/cloud-products/rds.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/references/cloud-products/redis.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/references/cloud-products/slb.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/references/cloud-products/vpc.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/references/ros-template.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/references/template-parameter-recommendation.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/references/template-parameters.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/references/terraform-template.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-architecture/evals.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/SKILL.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/evals.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/references/cloud-products/ecs.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/references/cloud-products/oss.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/references/cloud-products/rds.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/references/cloud-products/redis.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/references/cloud-products/slb.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/references/cloud-products/vpc.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/references/ros-template.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/references/template-parameter-recommendation.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/references/template-parameters.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-cost/references/terraform-template.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/SKILL.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/evals.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/references/cloud-products/ecs.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/references/cloud-products/oss.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/references/cloud-products/rds.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/references/cloud-products/redis.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/references/cloud-products/slb.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/references/cloud-products/vpc.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/references/ros-template.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/references/template-parameter-recommendation.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/references/template-parameters.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-deploying/references/terraform-template.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-intent/SKILL.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-intent/evals.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-review/SKILL.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-review/evals.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/SKILL.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/evals.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/references/cloud-products/ecs.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/references/cloud-products/oss.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/references/cloud-products/rds.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/references/cloud-products/redis.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/references/cloud-products/slb.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/references/cloud-products/vpc.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/references/ros-template.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/references/template-parameter-recommendation.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/references/template-parameters.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/skills/iac-aliyun-template-generating/references/terraform-template.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/tools/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/tools/infraguard_scan_tool.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/tools/ros_template_tools.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/pipeline/selling/tools/show_candidate_detail_tool.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/anthropic_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/azure_openai_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/base.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/dashscope_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/deepseek_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/gemini_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/kimi_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/lmstudio_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/minimax_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/modelscope_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/ollama_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/openai_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/openrouter_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/registry.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/request_logging.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/request_policy.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/retry.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/siliconflow_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/stream_watchdog.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/thinking.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/volcengine_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/providers/zhipu_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/capabilities/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/capabilities/auto_detect.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/capabilities/multimodal.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/cloud_credentials.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/context_manager.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/permissions/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/permissions/audit.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/permissions/loader.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/permissions/pipeline.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/permissions/rule_scope.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/permissions/storage.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/permissions/trusted_roots.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/providers/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/providers/aliyun.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/providers/aliyun_oauth.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/qwenpaw_source.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/session_backup_state.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/session_index.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/session_layout.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/session_metadata.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/session_resolver.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/session_storage.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/session_usage.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/attributes.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/client.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/constants.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/content_serializer.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/events.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/fallback.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/identity.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/metrics.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/names.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/sanitize.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/scope.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/sink.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/tracing.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/telemetry/types.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/token_budget.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/token_counter.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/services/update_checker.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/auto_trigger.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/SKILL.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/auto_trigger.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/ecs.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/oss.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/rds.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/redis.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/slb.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/references/cloud-products/vpc.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/references/ros-template.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/references/template-parameter-recommendation.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/references/template-parameters.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/references/terraform-template.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/iac_aliyun/scripts/tf2ros.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/pac_aliyun/SKILL.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/pac_aliyun/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/pac_aliyun/auto_trigger.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/pac_aliyun/references/infraguard-policy-generation.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/bundled/simplify.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/discovery.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/frontmatter.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/listing.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/loader.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/management.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/processor.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/renderer.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/settings.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/skill_definition.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/skills/skill_tool.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/state/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/state/app_state.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tasks/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tasks/notification_queue.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tasks/task_state.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tasks/task_tools.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/base.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/bash/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/bash/argv_safety.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/bash/bash_tool.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/bash/command_parser.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/bash/mode_validation.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/bash/path_validation.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/bash/permissions.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/bash/readonly_commands.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/bash/rule_matching.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/bash/safety_checks.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/acs3_transport.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/aliyun_api.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/aliyun_api_doc.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/aliyun_doc_search.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/api_contract.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/api_hooks.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/api_identifiers.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/contract_store.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/README.md +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/endpoints/catalog.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/endpoints/generation_report.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/endpoints/legacy.yml +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/endpoints/overrides.yml +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/endpoints/unavailable.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/openmeta/api_overrides.yml +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/openmeta/exclusions.yml +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/openmeta/product_aliases.yml +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/openmeta/product_catalog.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/oss/operation_catalog.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/validation/judgments.yml +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/data/validation/overrides.yml +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/endpoint_resolver.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/hooks/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/hooks/ros_parameters.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/hooks/ros_validate.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/openmeta.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/oss_v4_adapter.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/product_resolver.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/public_errors.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/result_contract.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/retry_policy.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_client.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_stack.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_stack_instances.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_template_tools.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/action_policy.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/analyzer.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/association_property_specs.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/count.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/data/ros_association_property_specs.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/data/ros_official_resource_index.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/data/ros_resource_value_specs.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/data/ros_template_body_action_policies.json +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/facts.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/function_specs.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/model.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/outcome.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/parser.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/renderer.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/resource_value_specs.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/rules/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/rules/association_property.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/rules/base.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/rules/registry.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/symbols.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/template_kind.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/types.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_validation/validator.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/ros_yaml.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/runtime.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/template_source.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/user_agent.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/aliyun/validation_policy.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/base_api.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/registry.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/cloud/types.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/edit_file.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/glob.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/grep.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/list_files.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/path_safety.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/read_file.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/result_storage.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/tool_executor.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/web_fetch.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/tools/write_file.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/types/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/types/permissions.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/types/skill_source.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/banner.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/components/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/components/candidate_selection.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/components/dialog.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/components/divider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/components/fuzzy_picker.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/components/parallel_tabs.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/components/progress_bar.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/components/search_box.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/components/select.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/components/status_icon.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/components/tabs.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/core/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/core/in_place_render.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/core/input_history.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/core/key_event.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/core/prompt_input.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/core/raw_input.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/core/raw_input_win.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/core/screen.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/diagram_rendering.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/dialogs/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/dialogs/global_search.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/dialogs/history_search.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/dialogs/mcp_manager.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/dialogs/memory.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/dialogs/memory_editor.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/dialogs/model_picker.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/dialogs/quick_open.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/dialogs/resume_picker.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/dialogs/skills_picker.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/keybindings/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/keybindings/manager.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/pipeline_display_replay.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/pipeline_styles.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/spinner.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/stream_accumulator.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/suggestions/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/suggestions/aggregator.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/suggestions/command_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/suggestions/directory_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/suggestions/file_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/suggestions/shell_history_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/suggestions/skill_provider.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/suggestions/token_extractor.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/suggestions/types.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/ui/transcript_view.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/async_lifecycle.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/background_housekeeping.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/cleanup.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/console.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/file_security.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/image/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/image/clipboard.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/image/format_detect.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/image/pasted_content.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/image/processor.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/image/resizer.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/image/store.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/json_utils.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/path_components.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/path_locks.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/platform.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/project_paths.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/public_errors.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/public_paths.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/signals.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/state_io.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/tool_input_parser.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/tool_result_redaction.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/utils/windows_paths.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/__init__.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/cleanup.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/commands.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/diagram_cache.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/diagram_optimizer.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/diagrams.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/files.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/images.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/mcp_settings.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/memory.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/permissions.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/pipeline.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/pipeline_actions.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/pipeline_prerequisites.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/pipeline_transcript.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/security.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/session_titler.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/shell.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/skills.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/icons/sidebar-new-thread.svg +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/icons/sidebar-project-open.svg +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/icons/sidebar-search.svg +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/icons/sidebar-settings.svg +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/icons/sidebar-skills.svg +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/components/blocking.js +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/components/composer.js +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/components/image_lightbox.js +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/components/pipeline.js +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/components/tool_cards.js +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/i18n.js +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/mermaid_render.js +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/token_transport.js +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/vendor/markdown-it.LICENSE +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/vendor/markdown-it.min.js +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/vendor/mermaid.LICENSE +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/vendor/mermaid.min.js +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/static/js/vendor/token-crypto.js +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code/web/token_transport.py +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code.egg-info/dependency_links.txt +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code.egg-info/entry_points.txt +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code.egg-info/requires.txt +0 -0
- {iac_code-0.11.3 → iac_code-0.11.4}/src/iac_code.egg-info/top_level.txt +0 -0
|
@@ -14,6 +14,7 @@ from iac_code.a2a.pipeline_journal import to_json_safe
|
|
|
14
14
|
from iac_code.mcp.progress import mcp_progress_metadata
|
|
15
15
|
from iac_code.pipeline.engine.events import PipelineEvent, PipelineEventType
|
|
16
16
|
from iac_code.services.permissions.audit import build_input_summary, build_redacted_tool_input, fingerprint_text
|
|
17
|
+
from iac_code.tools.cloud.base_stack import stack_result_from_metadata
|
|
17
18
|
from iac_code.types.stream_events import (
|
|
18
19
|
AskUserQuestionEvent,
|
|
19
20
|
CandidateDetailEvent,
|
|
@@ -900,7 +901,7 @@ class PipelineEventTranslator:
|
|
|
900
901
|
action = operation["action"]
|
|
901
902
|
params = operation["params"]
|
|
902
903
|
|
|
903
|
-
result = _json_object_from_string(event.result)
|
|
904
|
+
result = stack_result_from_metadata(event.metadata) or _json_object_from_string(event.result)
|
|
904
905
|
if result is None:
|
|
905
906
|
return None
|
|
906
907
|
is_success = _bool_or_none(result.get("is_success"))
|
|
@@ -1480,12 +1481,15 @@ def _safe_permission_field_name(key: Any) -> str:
|
|
|
1480
1481
|
|
|
1481
1482
|
|
|
1482
1483
|
def _tool_result_data(event: ToolResultEvent) -> dict[str, Any]:
|
|
1483
|
-
|
|
1484
|
+
data = {
|
|
1484
1485
|
"toolName": event.tool_name,
|
|
1485
1486
|
"toolUseId": event.tool_use_id,
|
|
1486
1487
|
"isError": event.is_error,
|
|
1487
1488
|
"result": to_json_safe(event.result),
|
|
1488
1489
|
}
|
|
1490
|
+
if stack_result := stack_result_from_metadata(event.metadata):
|
|
1491
|
+
data["stackResult"] = to_json_safe(stack_result)
|
|
1492
|
+
return data
|
|
1489
1493
|
|
|
1490
1494
|
|
|
1491
1495
|
def _sanitize_tool_input(tool_input: dict[str, Any]) -> dict[str, Any]:
|
|
@@ -320,6 +320,7 @@ class IacCodeA2APipelineExecutor:
|
|
|
320
320
|
provider_config_frozen=self._provider_config_frozen,
|
|
321
321
|
provider_config_override=self._provider_config_override,
|
|
322
322
|
effort_override=self._effort_override,
|
|
323
|
+
source="a2a-pipeline",
|
|
323
324
|
)
|
|
324
325
|
)
|
|
325
326
|
|
|
@@ -722,6 +723,7 @@ class IacCodeA2APipelineExecutor:
|
|
|
722
723
|
provider_config_frozen=self._provider_config_frozen,
|
|
723
724
|
provider_config_override=self._provider_config_override,
|
|
724
725
|
effort_override=self._effort_override,
|
|
726
|
+
source="a2a-pipeline",
|
|
725
727
|
)
|
|
726
728
|
),
|
|
727
729
|
)
|
|
@@ -1753,10 +1755,22 @@ class IacCodeA2APipelineExecutor:
|
|
|
1753
1755
|
ctx=ctx,
|
|
1754
1756
|
)
|
|
1755
1757
|
|
|
1758
|
+
async def after_enqueue(envelope: dict[str, Any]) -> None:
|
|
1759
|
+
await self._backup_after_pipeline_publication(
|
|
1760
|
+
envelope,
|
|
1761
|
+
publisher=publisher,
|
|
1762
|
+
pipeline=pipeline,
|
|
1763
|
+
cwd=cwd,
|
|
1764
|
+
session_id=session_id,
|
|
1765
|
+
task=task,
|
|
1766
|
+
ctx=ctx,
|
|
1767
|
+
)
|
|
1768
|
+
|
|
1756
1769
|
async def after_backup_commit(envelope: dict[str, Any]) -> None:
|
|
1757
1770
|
self._mirror_a2a_snapshots_for_pipeline_publication(envelope, task=task, ctx=ctx)
|
|
1758
1771
|
|
|
1759
1772
|
publisher.before_enqueue = before_enqueue
|
|
1773
|
+
publisher.after_enqueue = after_enqueue
|
|
1760
1774
|
publisher.after_backup_commit = after_backup_commit
|
|
1761
1775
|
|
|
1762
1776
|
async def _backup_before_pipeline_publication(
|
|
@@ -1773,11 +1787,63 @@ class IacCodeA2APipelineExecutor:
|
|
|
1773
1787
|
reason = _backup_reason_for_pipeline_envelope(envelope)
|
|
1774
1788
|
if reason is None:
|
|
1775
1789
|
return True
|
|
1790
|
+
if reason in {BackupReason.INPUT_REQUIRED, BackupReason.WAITING_INPUT}:
|
|
1791
|
+
return True
|
|
1776
1792
|
if reason in {BackupReason.TERMINAL, BackupReason.HANDOFF_READY}:
|
|
1777
1793
|
if _is_pending_backup_publication_event(envelope):
|
|
1778
1794
|
return True
|
|
1779
1795
|
else:
|
|
1780
1796
|
self._mirror_a2a_snapshots_for_pipeline_publication(envelope, task=task, ctx=ctx)
|
|
1797
|
+
await self._backup_pipeline_publication(
|
|
1798
|
+
envelope,
|
|
1799
|
+
publisher=publisher,
|
|
1800
|
+
pipeline=pipeline,
|
|
1801
|
+
cwd=cwd,
|
|
1802
|
+
session_id=session_id,
|
|
1803
|
+
task=task,
|
|
1804
|
+
ctx=ctx,
|
|
1805
|
+
reason=reason,
|
|
1806
|
+
)
|
|
1807
|
+
return True
|
|
1808
|
+
|
|
1809
|
+
async def _backup_after_pipeline_publication(
|
|
1810
|
+
self,
|
|
1811
|
+
envelope: dict[str, Any],
|
|
1812
|
+
*,
|
|
1813
|
+
publisher: PipelineA2AEventPublisher,
|
|
1814
|
+
pipeline: Any,
|
|
1815
|
+
cwd: str,
|
|
1816
|
+
session_id: str,
|
|
1817
|
+
task: Any,
|
|
1818
|
+
ctx: Any,
|
|
1819
|
+
) -> None:
|
|
1820
|
+
reason = _backup_reason_for_pipeline_envelope(envelope)
|
|
1821
|
+
if reason not in {BackupReason.INPUT_REQUIRED, BackupReason.WAITING_INPUT}:
|
|
1822
|
+
return
|
|
1823
|
+
self._mirror_a2a_snapshots_for_pipeline_publication(envelope, task=task, ctx=ctx)
|
|
1824
|
+
await self._backup_pipeline_publication(
|
|
1825
|
+
envelope,
|
|
1826
|
+
publisher=publisher,
|
|
1827
|
+
pipeline=pipeline,
|
|
1828
|
+
cwd=cwd,
|
|
1829
|
+
session_id=session_id,
|
|
1830
|
+
task=task,
|
|
1831
|
+
ctx=ctx,
|
|
1832
|
+
reason=reason,
|
|
1833
|
+
)
|
|
1834
|
+
|
|
1835
|
+
async def _backup_pipeline_publication(
|
|
1836
|
+
self,
|
|
1837
|
+
envelope: dict[str, Any],
|
|
1838
|
+
*,
|
|
1839
|
+
publisher: PipelineA2AEventPublisher,
|
|
1840
|
+
pipeline: Any,
|
|
1841
|
+
cwd: str,
|
|
1842
|
+
session_id: str,
|
|
1843
|
+
task: Any,
|
|
1844
|
+
ctx: Any,
|
|
1845
|
+
reason: BackupReason,
|
|
1846
|
+
) -> None:
|
|
1781
1847
|
publication_proofs = None
|
|
1782
1848
|
if reason == BackupReason.HANDOFF_READY and envelope.get("visibility") == "committed":
|
|
1783
1849
|
publication_proofs = {
|
|
@@ -1831,7 +1897,6 @@ class IacCodeA2APipelineExecutor:
|
|
|
1831
1897
|
self._task_store.mirror_task(task)
|
|
1832
1898
|
self._task_store.mirror_context(ctx)
|
|
1833
1899
|
raise _PipelineBackupBlockedTransitionError from exc
|
|
1834
|
-
return True
|
|
1835
1900
|
|
|
1836
1901
|
def _mirror_a2a_snapshots_for_pipeline_publication(
|
|
1837
1902
|
self,
|
|
@@ -50,6 +50,7 @@ from iac_code.utils.public_errors import sanitize_strict_text
|
|
|
50
50
|
|
|
51
51
|
PipelinePermissionResolver = Callable[[PermissionRequestEvent], bool | Awaitable[bool]]
|
|
52
52
|
PipelineBeforeEnqueueHook = Callable[[dict[str, Any]], bool | Awaitable[bool]]
|
|
53
|
+
PipelineAfterEnqueueHook = Callable[[dict[str, Any]], None | Awaitable[None]]
|
|
53
54
|
PipelineAfterBackupCommitHook = Callable[[dict[str, Any]], None | Awaitable[None]]
|
|
54
55
|
PipelineBackupCommitGate = Callable[[dict[str, Any]], bool]
|
|
55
56
|
logger = logging.getLogger(__name__)
|
|
@@ -147,6 +148,7 @@ class PipelineA2AEventPublisher:
|
|
|
147
148
|
delivery_task_id: str | None = None,
|
|
148
149
|
delivery_context_id: str | None = None,
|
|
149
150
|
before_enqueue: PipelineBeforeEnqueueHook | None = None,
|
|
151
|
+
after_enqueue: PipelineAfterEnqueueHook | None = None,
|
|
150
152
|
after_backup_commit: PipelineAfterBackupCommitHook | None = None,
|
|
151
153
|
backup_commit_gate: PipelineBackupCommitGate | None = None,
|
|
152
154
|
extreme_performance: bool | None = None,
|
|
@@ -161,6 +163,7 @@ class PipelineA2AEventPublisher:
|
|
|
161
163
|
self.delivery_task_id = delivery_task_id
|
|
162
164
|
self.delivery_context_id = delivery_context_id
|
|
163
165
|
self.before_enqueue = before_enqueue
|
|
166
|
+
self.after_enqueue = after_enqueue
|
|
164
167
|
self.after_backup_commit = after_backup_commit
|
|
165
168
|
self.backup_commit_gate = backup_commit_gate
|
|
166
169
|
self.flow_monitor = flow_monitor
|
|
@@ -715,6 +718,7 @@ class PipelineA2AEventPublisher:
|
|
|
715
718
|
await self._forward_local_pipeline_envelope(local_envelope)
|
|
716
719
|
await self._enqueue_status(envelope, wait_for_transport=wait_for_transport)
|
|
717
720
|
self.last_envelope = envelope
|
|
721
|
+
await self._run_after_enqueue_hook(envelope)
|
|
718
722
|
return True
|
|
719
723
|
|
|
720
724
|
async def _forward_local_pipeline_envelope(self, local_envelope: dict[str, Any]) -> None:
|
|
@@ -761,6 +765,8 @@ class PipelineA2AEventPublisher:
|
|
|
761
765
|
pending,
|
|
762
766
|
wait_for_transport=wait_for_transport,
|
|
763
767
|
)
|
|
768
|
+
for envelope in deliverable:
|
|
769
|
+
await self._run_after_enqueue_hook(envelope)
|
|
764
770
|
return frame_count
|
|
765
771
|
|
|
766
772
|
async def _enqueue_persisted_batches(
|
|
@@ -899,6 +905,13 @@ class PipelineA2AEventPublisher:
|
|
|
899
905
|
should_enqueue = await should_enqueue
|
|
900
906
|
return should_enqueue is not False
|
|
901
907
|
|
|
908
|
+
async def _run_after_enqueue_hook(self, envelope: dict[str, Any]) -> None:
|
|
909
|
+
if self.after_enqueue is None:
|
|
910
|
+
return
|
|
911
|
+
result = self.after_enqueue(envelope)
|
|
912
|
+
if inspect.isawaitable(result):
|
|
913
|
+
await result
|
|
914
|
+
|
|
902
915
|
async def _run_after_backup_commit_hook(self, envelope: dict[str, Any]) -> None:
|
|
903
916
|
if self.after_backup_commit is None:
|
|
904
917
|
return
|
|
@@ -57,6 +57,7 @@ class A2ATaskStore(TaskStore):
|
|
|
57
57
|
self._sdk_tasks: dict[str, dict[str, Task]] = {}
|
|
58
58
|
self._sdk_tasks_by_context: dict[str, dict[str, set[str]]] = {}
|
|
59
59
|
self._tasks: dict[str, A2ATaskRecord] = {}
|
|
60
|
+
self._task_persistence_dirty: set[str] = set()
|
|
60
61
|
self._contexts: dict[str, A2AContextRecord] = {}
|
|
61
62
|
self._expired_task_tombstones: dict[str, float] = {}
|
|
62
63
|
self._metrics = metrics or NoOpA2AMetrics()
|
|
@@ -99,22 +100,32 @@ class A2ATaskStore(TaskStore):
|
|
|
99
100
|
owner_tasks[task_id] = _copy_task(task)
|
|
100
101
|
self._sdk_tasks_by_context.setdefault(owner, {}).setdefault(task.context_id, set()).add(task_id)
|
|
101
102
|
record = self._tasks.get(task_id)
|
|
103
|
+
next_state = _task_state_from_sdk_task(task)
|
|
104
|
+
# The SDK saves the full Task before yielding every streaming frame. Executors already
|
|
105
|
+
# mirror task records explicitly at output/state durability boundaries, so repeated SDK
|
|
106
|
+
# saves with the same projected state only need the session-local mirror below.
|
|
107
|
+
persist_shared_snapshot = (
|
|
108
|
+
record is None
|
|
109
|
+
or task_id in self._task_persistence_dirty
|
|
110
|
+
or record.state != next_state
|
|
111
|
+
or record.owner != owner
|
|
112
|
+
)
|
|
102
113
|
if record is None:
|
|
103
114
|
record = A2ATaskRecord(
|
|
104
115
|
task_id=task_id,
|
|
105
116
|
context_id=task.context_id,
|
|
106
|
-
state=
|
|
117
|
+
state=next_state,
|
|
107
118
|
owner=owner,
|
|
108
119
|
updated_at=_task_updated_at_from_sdk_task(task),
|
|
109
120
|
)
|
|
110
121
|
self._tasks[task_id] = record
|
|
111
122
|
self._metrics.record_task_created()
|
|
112
123
|
else:
|
|
113
|
-
record.state =
|
|
124
|
+
record.state = next_state
|
|
114
125
|
record.owner = owner
|
|
115
126
|
record.updated_at = _task_updated_at_from_sdk_task(task)
|
|
116
127
|
record.touch()
|
|
117
|
-
self._mirror_task(record)
|
|
128
|
+
self._mirror_task(record, persist_shared_snapshot=persist_shared_snapshot)
|
|
118
129
|
|
|
119
130
|
def _attach_context_metadata(self, task: Task) -> None:
|
|
120
131
|
context = self._contexts.get(task.context_id)
|
|
@@ -135,6 +146,7 @@ class A2ATaskStore(TaskStore):
|
|
|
135
146
|
self._remove_sdk_task_from_index(owner, task_id, existing.context_id)
|
|
136
147
|
owner_tasks.pop(task_id, None)
|
|
137
148
|
self._tasks.pop(task_id, None)
|
|
149
|
+
self._task_persistence_dirty.discard(task_id)
|
|
138
150
|
self._expired_task_tombstones.pop(task_id, None)
|
|
139
151
|
|
|
140
152
|
async def list(self, params: ListTasksRequest, context: ServerCallContext | None = None) -> ListTasksResponse:
|
|
@@ -798,6 +810,7 @@ class A2ATaskStore(TaskStore):
|
|
|
798
810
|
if now - expired_at > self._cleanup_interval_seconds:
|
|
799
811
|
self._expired_task_tombstones.pop(task_id, None)
|
|
800
812
|
self._tasks.pop(task_id, None)
|
|
813
|
+
self._task_persistence_dirty.discard(task_id)
|
|
801
814
|
for owner, owner_tasks in list(self._sdk_tasks.items()):
|
|
802
815
|
existing = owner_tasks.pop(task_id, None)
|
|
803
816
|
if existing is not None:
|
|
@@ -846,7 +859,7 @@ class A2ATaskStore(TaskStore):
|
|
|
846
859
|
except Exception:
|
|
847
860
|
logger.exception("A2A cleanup loop failed")
|
|
848
861
|
|
|
849
|
-
def _mirror_task(self, record: A2ATaskRecord) -> None:
|
|
862
|
+
def _mirror_task(self, record: A2ATaskRecord, *, persist_shared_snapshot: bool = True) -> None:
|
|
850
863
|
snapshot = A2ATaskSnapshot(
|
|
851
864
|
task_id=record.task_id,
|
|
852
865
|
context_id=record.context_id,
|
|
@@ -855,10 +868,12 @@ class A2ATaskStore(TaskStore):
|
|
|
855
868
|
output_text=list(record.output_text),
|
|
856
869
|
updated_at=record.updated_at,
|
|
857
870
|
)
|
|
858
|
-
if self._persistence is not None:
|
|
871
|
+
if self._persistence is not None and persist_shared_snapshot:
|
|
859
872
|
try:
|
|
860
873
|
self._persistence.save_task(snapshot)
|
|
874
|
+
self._task_persistence_dirty.discard(record.task_id)
|
|
861
875
|
except Exception:
|
|
876
|
+
self._task_persistence_dirty.add(record.task_id)
|
|
862
877
|
logger.exception("Failed to persist A2A task %s", record.task_id)
|
|
863
878
|
self._mirror_session_task(snapshot)
|
|
864
879
|
|
|
@@ -472,7 +472,11 @@ class IacCodeRequestHandler(DefaultRequestHandler):
|
|
|
472
472
|
if task_id and isinstance(self.task_store, A2ATaskStore) and await self.task_store.is_task_active(task_id):
|
|
473
473
|
task = await self.task_store.get(task_id, context)
|
|
474
474
|
active_task = await self._active_task_registry.get(task_id)
|
|
475
|
-
if
|
|
475
|
+
if (
|
|
476
|
+
task is not None
|
|
477
|
+
and active_task is not None
|
|
478
|
+
and task.status.state not in TERMINAL_TASK_STATES | INTERRUPTED_TASK_STATES
|
|
479
|
+
):
|
|
476
480
|
active_stream = self._on_active_message_send_stream(
|
|
477
481
|
params,
|
|
478
482
|
context,
|
|
@@ -803,7 +803,7 @@ class ACPServer:
|
|
|
803
803
|
"""Create an agent runtime, converting auth errors to ACP RequestError."""
|
|
804
804
|
try:
|
|
805
805
|
return create_agent_runtime(
|
|
806
|
-
AgentFactoryOptions(model=model, session_id=session_id, cwd=cwd, mcp_configs=mcp_configs)
|
|
806
|
+
AgentFactoryOptions(model=model, session_id=session_id, cwd=cwd, mcp_configs=mcp_configs, source="acp")
|
|
807
807
|
)
|
|
808
808
|
except Exception as exc:
|
|
809
809
|
if _is_auth_error(exc):
|
|
@@ -1815,10 +1815,12 @@ class AgentLoop:
|
|
|
1815
1815
|
ALIYUN_HTTP_METADATA_KEY,
|
|
1816
1816
|
sanitize_aliyun_http_metadata,
|
|
1817
1817
|
)
|
|
1818
|
+
from iac_code.tools.cloud.base_stack import persisted_stack_metadata
|
|
1818
1819
|
|
|
1819
1820
|
aliyun_http = sanitize_aliyun_http_metadata(result_metadata.get(ALIYUN_HTTP_METADATA_KEY))
|
|
1820
1821
|
if aliyun_http is not None:
|
|
1821
1822
|
metadata[ALIYUN_HTTP_METADATA_KEY] = aliyun_http
|
|
1823
|
+
metadata.update(persisted_stack_metadata(result_metadata))
|
|
1822
1824
|
render_metadata = result_metadata.get(TOOL_RENDER_METADATA_KEY)
|
|
1823
1825
|
if isinstance(render_metadata, dict):
|
|
1824
1826
|
safe_render_metadata: dict[str, Any] = {}
|
|
@@ -103,8 +103,11 @@ def web(
|
|
|
103
103
|
"""Run iac-code as a local Web app."""
|
|
104
104
|
from iac_code.services.telemetry import bootstrap_telemetry, graceful_shutdown
|
|
105
105
|
from iac_code.web.server import run_web_server
|
|
106
|
+
from iac_code.web.settings import developer_settings
|
|
106
107
|
|
|
107
|
-
|
|
108
|
+
session_id = "web-server-{}".format(uuid.uuid4())
|
|
109
|
+
setup_logging(session_id=session_id, debug=bool(developer_settings().get("debug")))
|
|
110
|
+
bootstrap_telemetry(session_id=session_id)
|
|
108
111
|
try:
|
|
109
112
|
run_web_server(
|
|
110
113
|
host=host,
|
|
@@ -432,6 +435,7 @@ def main(
|
|
|
432
435
|
raise typer.Exit(1)
|
|
433
436
|
|
|
434
437
|
setup_logging(session_id=repl.session_id, debug=debug)
|
|
438
|
+
repl.log_session_started()
|
|
435
439
|
|
|
436
440
|
from iac_code.services.telemetry import add_metric, bootstrap_telemetry, graceful_shutdown, log_event
|
|
437
441
|
from iac_code.services.telemetry.names import Events, Metrics
|
|
@@ -194,6 +194,7 @@ class ProcessRuntimeController:
|
|
|
194
194
|
cli_allowed_tools=self._options.cli_allowed_tools,
|
|
195
195
|
cli_disallowed_tools=self._options.cli_disallowed_tools,
|
|
196
196
|
cli_permission_mode=self._options.cli_permission_mode,
|
|
197
|
+
source="process-mode",
|
|
197
198
|
)
|
|
198
199
|
)
|
|
199
200
|
self.session_id = runtime.session_id
|
|
@@ -780,6 +781,7 @@ class PipelineProcessRuntimeController:
|
|
|
780
781
|
cli_allowed_tools=self._options.cli_allowed_tools,
|
|
781
782
|
cli_disallowed_tools=self._options.cli_disallowed_tools,
|
|
782
783
|
cli_permission_mode=self._options.cli_permission_mode,
|
|
784
|
+
source="process-pipeline",
|
|
783
785
|
)
|
|
784
786
|
)
|
|
785
787
|
|
|
Binary file
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
#
|
|
5
5
|
msgid ""
|
|
6
6
|
msgstr ""
|
|
7
|
-
"Project-Id-Version: iac-code 0.11.
|
|
7
|
+
"Project-Id-Version: iac-code 0.11.4\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
|
9
9
|
"POT-Creation-Date: 2026-06-04 15:58+0800\n"
|
|
10
10
|
"PO-Revision-Date: 2026-05-13 00:00+0000\n"
|
|
@@ -4716,7 +4716,7 @@ msgstr "Alibaba Cloud Bailian Token Plan"
|
|
|
4716
4716
|
|
|
4717
4717
|
#: src/iac_code/providers/registry.py
|
|
4718
4718
|
msgid "OpenAI Compatible"
|
|
4719
|
-
msgstr "
|
|
4719
|
+
msgstr "OpenAI-kompatibel"
|
|
4720
4720
|
|
|
4721
4721
|
#: src/iac_code/providers/registry.py
|
|
4722
4722
|
msgid "Kimi (China)"
|
|
@@ -12752,3 +12752,4 @@ msgstr "Bash zulassen?"
|
|
|
12752
12752
|
#~ msgstr ""
|
|
12753
12753
|
#~ "Tool-Aufruf genehmigen: {tool}\n"
|
|
12754
12754
|
#~ "Eingabezusammenfassung: {summary}"
|
|
12755
|
+
|
|
Binary file
|
|
@@ -3738,6 +3738,27 @@ msgstr ""
|
|
|
3738
3738
|
msgid "Install infraguard"
|
|
3739
3739
|
msgstr "infraguard installieren"
|
|
3740
3740
|
|
|
3741
|
+
#: src/iac_code/web/static/js/components/workspace.js
|
|
3742
|
+
msgid "Help improve iac-code"
|
|
3743
|
+
msgstr "iac-code verbessern helfen"
|
|
3744
|
+
|
|
3745
|
+
#: src/iac_code/web/static/js/components/workspace.js
|
|
3746
|
+
msgid "Share full conversation content"
|
|
3747
|
+
msgstr "Vollständigen Gesprächsinhalt teilen"
|
|
3748
|
+
|
|
3749
|
+
#: src/iac_code/web/static/js/components/workspace.js
|
|
3750
|
+
msgid ""
|
|
3751
|
+
"When enabled, iac-code attaches full conversation content (your prompts, "
|
|
3752
|
+
"model responses, and tool inputs and outputs) to the telemetry it sends "
|
|
3753
|
+
"to iac-code's default backend or an explicitly configured OTLP endpoint, "
|
|
3754
|
+
"to help diagnose issues and improve the product."
|
|
3755
|
+
msgstr ""
|
|
3756
|
+
"Wenn aktiviert, hängt iac-code den vollständigen Gesprächsinhalt (deine "
|
|
3757
|
+
"Eingaben, Modellantworten sowie Werkzeug-Ein- und -Ausgaben) an die "
|
|
3758
|
+
"Telemetrie an, die es an das Standard-Backend von iac-code oder an einen "
|
|
3759
|
+
"explizit konfigurierten OTLP-Endpunkt sendet, um bei der Diagnose von "
|
|
3760
|
+
"Problemen und der Verbesserung des Produkts zu helfen."
|
|
3761
|
+
|
|
3741
3762
|
#: src/iac_code/web/static/js/components/workspace.js
|
|
3742
3763
|
msgid "New session defaults"
|
|
3743
3764
|
msgstr "Standardwerte für neue Sitzungen"
|
|
@@ -3837,12 +3858,14 @@ msgid "Install failed: {error}"
|
|
|
3837
3858
|
msgstr "Installation fehlgeschlagen: {error}"
|
|
3838
3859
|
|
|
3839
3860
|
#: src/iac_code/web/static/js/components/workspace.js
|
|
3840
|
-
msgid "
|
|
3841
|
-
msgstr "
|
|
3861
|
+
msgid "Debug options"
|
|
3862
|
+
msgstr "Debug-Optionen"
|
|
3842
3863
|
|
|
3843
3864
|
#: src/iac_code/web/static/js/components/workspace.js
|
|
3844
|
-
msgid "Control
|
|
3845
|
-
msgstr "
|
|
3865
|
+
msgid "Control local debug highlighting and backend log verbosity."
|
|
3866
|
+
msgstr ""
|
|
3867
|
+
"Steuert die lokale Debug-Hervorhebung und die Ausführlichkeit der "
|
|
3868
|
+
"Backend-Protokolle."
|
|
3846
3869
|
|
|
3847
3870
|
#: src/iac_code/web/static/js/components/workspace.js
|
|
3848
3871
|
msgid "Highlight failed tool calls in red"
|
|
@@ -3856,6 +3879,18 @@ msgstr ""
|
|
|
3856
3879
|
"Wenn aktiviert, werden fehlgeschlagene Tool-Aufrufe rot dargestellt. Wenn"
|
|
3857
3880
|
" deaktiviert, sehen sie aus wie jeder andere Tool-Aufruf."
|
|
3858
3881
|
|
|
3882
|
+
#: src/iac_code/web/static/js/components/workspace.js
|
|
3883
|
+
msgid "Enable debug logging"
|
|
3884
|
+
msgstr "Debug-Protokollierung aktivieren"
|
|
3885
|
+
|
|
3886
|
+
#: src/iac_code/web/static/js/components/workspace.js
|
|
3887
|
+
msgid ""
|
|
3888
|
+
"When enabled, the backend writes DEBUG-level logs to the log file. Off by"
|
|
3889
|
+
" default."
|
|
3890
|
+
msgstr ""
|
|
3891
|
+
"Wenn aktiviert, schreibt das Backend Protokolle der Stufe DEBUG in die "
|
|
3892
|
+
"Protokolldatei. Standardmäßig deaktiviert."
|
|
3893
|
+
|
|
3859
3894
|
#: src/iac_code/web/static/js/components/workspace.js
|
|
3860
3895
|
msgid "Restart service"
|
|
3861
3896
|
msgstr "Dienst neu starten"
|
|
@@ -3909,3 +3944,19 @@ msgstr ""
|
|
|
3909
3944
|
#~ "Tab und wird nicht an den Server"
|
|
3910
3945
|
#~ " gesendet."
|
|
3911
3946
|
|
|
3947
|
+
#~ msgid "Failed tool calls"
|
|
3948
|
+
#~ msgstr "Fehlgeschlagene Tool-Aufrufe"
|
|
3949
|
+
|
|
3950
|
+
#~ msgid "Control how failed tool calls are shown in the transcript."
|
|
3951
|
+
#~ msgstr ""
|
|
3952
|
+
#~ "Steuert, wie fehlgeschlagene Tool-Aufrufe "
|
|
3953
|
+
#~ "im Transkript angezeigt werden."
|
|
3954
|
+
|
|
3955
|
+
#~ msgid "Debug logging"
|
|
3956
|
+
#~ msgstr "Debug-Protokollierung"
|
|
3957
|
+
|
|
3958
|
+
#~ msgid "Control the verbosity of backend logs written to the log file."
|
|
3959
|
+
#~ msgstr ""
|
|
3960
|
+
#~ "Steuert die Ausführlichkeit der in die"
|
|
3961
|
+
#~ " Protokolldatei geschriebenen Backend-Protokolle."
|
|
3962
|
+
|
|
Binary file
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
#
|
|
5
5
|
msgid ""
|
|
6
6
|
msgstr ""
|
|
7
|
-
"Project-Id-Version: iac-code 0.11.
|
|
7
|
+
"Project-Id-Version: iac-code 0.11.4\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
|
9
9
|
"POT-Creation-Date: 2026-06-04 15:58+0800\n"
|
|
10
10
|
"PO-Revision-Date: 2026-05-13 00:00+0000\n"
|
|
@@ -4681,7 +4681,7 @@ msgstr "Alibaba Cloud Bailian Token Plan"
|
|
|
4681
4681
|
|
|
4682
4682
|
#: src/iac_code/providers/registry.py
|
|
4683
4683
|
msgid "OpenAI Compatible"
|
|
4684
|
-
msgstr "Compatible con
|
|
4684
|
+
msgstr "Compatible con OpenAI"
|
|
4685
4685
|
|
|
4686
4686
|
#: src/iac_code/providers/registry.py
|
|
4687
4687
|
msgid "Kimi (China)"
|
|
@@ -12667,3 +12667,4 @@ msgstr "¿Permitir Bash?"
|
|
|
12667
12667
|
#~ msgstr ""
|
|
12668
12668
|
#~ "Aprobar llamada de herramienta: {tool}\n"
|
|
12669
12669
|
#~ "Resumen de entrada: {summary}"
|
|
12670
|
+
|
|
Binary file
|
|
@@ -3726,6 +3726,28 @@ msgstr ""
|
|
|
3726
3726
|
msgid "Install infraguard"
|
|
3727
3727
|
msgstr "Instalar infraguard"
|
|
3728
3728
|
|
|
3729
|
+
#: src/iac_code/web/static/js/components/workspace.js
|
|
3730
|
+
msgid "Help improve iac-code"
|
|
3731
|
+
msgstr "Ayuda a mejorar iac-code"
|
|
3732
|
+
|
|
3733
|
+
#: src/iac_code/web/static/js/components/workspace.js
|
|
3734
|
+
msgid "Share full conversation content"
|
|
3735
|
+
msgstr "Compartir el contenido completo de la conversación"
|
|
3736
|
+
|
|
3737
|
+
#: src/iac_code/web/static/js/components/workspace.js
|
|
3738
|
+
msgid ""
|
|
3739
|
+
"When enabled, iac-code attaches full conversation content (your prompts, "
|
|
3740
|
+
"model responses, and tool inputs and outputs) to the telemetry it sends "
|
|
3741
|
+
"to iac-code's default backend or an explicitly configured OTLP endpoint, "
|
|
3742
|
+
"to help diagnose issues and improve the product."
|
|
3743
|
+
msgstr ""
|
|
3744
|
+
"Cuando se activa, iac-code adjunta el contenido completo de la "
|
|
3745
|
+
"conversación (tus indicaciones, las respuestas del modelo y las entradas "
|
|
3746
|
+
"y salidas de las herramientas) a la telemetría que envía al backend "
|
|
3747
|
+
"predeterminado de iac-code o a un endpoint OTLP configurado "
|
|
3748
|
+
"explícitamente, para ayudar a diagnosticar problemas y mejorar el "
|
|
3749
|
+
"producto."
|
|
3750
|
+
|
|
3729
3751
|
#: src/iac_code/web/static/js/components/workspace.js
|
|
3730
3752
|
msgid "New session defaults"
|
|
3731
3753
|
msgstr "Valores predeterminados de nueva sesión"
|
|
@@ -3822,14 +3844,14 @@ msgid "Install failed: {error}"
|
|
|
3822
3844
|
msgstr "Error en la instalación: {error}"
|
|
3823
3845
|
|
|
3824
3846
|
#: src/iac_code/web/static/js/components/workspace.js
|
|
3825
|
-
msgid "
|
|
3826
|
-
msgstr "
|
|
3847
|
+
msgid "Debug options"
|
|
3848
|
+
msgstr "Opciones de depuración"
|
|
3827
3849
|
|
|
3828
3850
|
#: src/iac_code/web/static/js/components/workspace.js
|
|
3829
|
-
msgid "Control
|
|
3851
|
+
msgid "Control local debug highlighting and backend log verbosity."
|
|
3830
3852
|
msgstr ""
|
|
3831
|
-
"Controla
|
|
3832
|
-
"
|
|
3853
|
+
"Controla el resaltado de depuración local y el nivel de detalle de los "
|
|
3854
|
+
"registros del backend."
|
|
3833
3855
|
|
|
3834
3856
|
#: src/iac_code/web/static/js/components/workspace.js
|
|
3835
3857
|
msgid "Highlight failed tool calls in red"
|
|
@@ -3844,6 +3866,18 @@ msgstr ""
|
|
|
3844
3866
|
"rojo. Cuando se desactiva, se ven como cualquier otra llamada a "
|
|
3845
3867
|
"herramientas."
|
|
3846
3868
|
|
|
3869
|
+
#: src/iac_code/web/static/js/components/workspace.js
|
|
3870
|
+
msgid "Enable debug logging"
|
|
3871
|
+
msgstr "Habilitar registro de depuración"
|
|
3872
|
+
|
|
3873
|
+
#: src/iac_code/web/static/js/components/workspace.js
|
|
3874
|
+
msgid ""
|
|
3875
|
+
"When enabled, the backend writes DEBUG-level logs to the log file. Off by"
|
|
3876
|
+
" default."
|
|
3877
|
+
msgstr ""
|
|
3878
|
+
"Cuando está habilitado, el backend escribe registros de nivel DEBUG en el"
|
|
3879
|
+
" archivo de registro. Desactivado de forma predeterminada."
|
|
3880
|
+
|
|
3847
3881
|
#: src/iac_code/web/static/js/components/workspace.js
|
|
3848
3882
|
msgid "Restart service"
|
|
3849
3883
|
msgstr "Reiniciar servicio"
|
|
@@ -3896,3 +3930,21 @@ msgstr ""
|
|
|
3896
3930
|
#~ "despliegue. Permanece en esta pestaña y"
|
|
3897
3931
|
#~ " no se envía al servidor."
|
|
3898
3932
|
|
|
3933
|
+
#~ msgid "Failed tool calls"
|
|
3934
|
+
#~ msgstr "Llamadas a herramientas fallidas"
|
|
3935
|
+
|
|
3936
|
+
#~ msgid "Control how failed tool calls are shown in the transcript."
|
|
3937
|
+
#~ msgstr ""
|
|
3938
|
+
#~ "Controla cómo se muestran en la "
|
|
3939
|
+
#~ "transcripción las llamadas a herramientas "
|
|
3940
|
+
#~ "fallidas."
|
|
3941
|
+
|
|
3942
|
+
#~ msgid "Debug logging"
|
|
3943
|
+
#~ msgstr "Registro de depuración"
|
|
3944
|
+
|
|
3945
|
+
#~ msgid "Control the verbosity of backend logs written to the log file."
|
|
3946
|
+
#~ msgstr ""
|
|
3947
|
+
#~ "Controla el nivel de detalle de "
|
|
3948
|
+
#~ "los registros del backend escritos en"
|
|
3949
|
+
#~ " el archivo de registro."
|
|
3950
|
+
|
|
Binary file
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
#
|
|
5
5
|
msgid ""
|
|
6
6
|
msgstr ""
|
|
7
|
-
"Project-Id-Version: iac-code 0.11.
|
|
7
|
+
"Project-Id-Version: iac-code 0.11.4\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
|
9
9
|
"POT-Creation-Date: 2026-06-04 15:58+0800\n"
|
|
10
10
|
"PO-Revision-Date: 2026-05-13 00:00+0000\n"
|
|
@@ -4698,7 +4698,7 @@ msgstr "Alibaba Cloud Bailian Token Plan"
|
|
|
4698
4698
|
|
|
4699
4699
|
#: src/iac_code/providers/registry.py
|
|
4700
4700
|
msgid "OpenAI Compatible"
|
|
4701
|
-
msgstr "Compatible
|
|
4701
|
+
msgstr "Compatible OpenAI"
|
|
4702
4702
|
|
|
4703
4703
|
#: src/iac_code/providers/registry.py
|
|
4704
4704
|
msgid "Kimi (China)"
|
|
@@ -12732,3 +12732,4 @@ msgstr "Autoriser Bash ?"
|
|
|
12732
12732
|
#~ msgstr ""
|
|
12733
12733
|
#~ "Approuver l'appel d'outil : {tool}\n"
|
|
12734
12734
|
#~ "Résumé de l'entrée : {summary}"
|
|
12735
|
+
|
|
Binary file
|