opalacoder 0.2.3.4__tar.gz → 0.2.3.5__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.
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/PKG-INFO +1 -1
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/App.jsx +36 -3
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/modals/EditProjectModal.jsx +1 -1
- opalacoder-0.2.3.4/opalacoder/gui/assets/index-Dzeshe78.js → opalacoder-0.2.3.5/opalacoder/gui/assets/index-CiJtgyqm.js +14 -14
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/gui/index.html +1 -1
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/terminal_manager.py +1 -1
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/pyproject.toml +1 -1
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/.claude/rules/RULES.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/.claude/settings.json +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/.github/workflows/publish.yml +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/.gitignore +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AGENTS.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/100.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/102.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/1024.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/108.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/114.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/120.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/128.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/144.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/152.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/16.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/167.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/172.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/180.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/196.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/20.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/216.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/234.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/256.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/258.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/29.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/32.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/40.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/48.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/50.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/512.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/55.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/57.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/58.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/60.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/64.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/66.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/72.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/76.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/80.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/87.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/88.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/92.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/android/mipmap-hdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/android/mipmap-mdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/android/mipmap-xhdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/appstore.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/icon.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/opalaicon.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/AppIcons/playstore.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/CLAUDE.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/GEMINI.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/README.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/agents.yaml +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/config.yaml +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/debug/debug_litellm_callbacks.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/debug/scratch_tail.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/debug/test_thought_stream.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/guide/analysis_results.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/guide/figs/logotipo.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/guide/paper_memplan.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/guide/skills-plugin-system.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/01-arquitetura.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/02-memgpt-orquestrador.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/03-skill-implement-feature.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/04-memoria.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/05-vcs-sombra.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/06-skills-e-plugins.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/07-configuracao.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/08-ide.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/09-ide-projectcreationinterface.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/10-chat-meta-params.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/README.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/docs/specs/backlog_register.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/index.html +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/package-lock.json +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/package.json +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/ActivityBar.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/BottomPanel.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/ChatPanel.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/ContextMenu.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/EditorPanel.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/ExplorerSidebar.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/FileNode.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/GitSidebar.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/StatusBar.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/TextContextMenu.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/modals/ConfirmModal.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/modals/DirPickerModal.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/modals/InstallDepsPrompt.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/modals/NewProjectModal.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/modals/SettingsModal.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/hooks/useResizing.js +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/hooks/useTerminal.js +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/hooks/useTextContextMenu.js +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/index.css +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/main.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/utils/formatMessage.jsx +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/utils/language.js +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/utils/storage.js +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/vite.config.js +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/icon.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/main.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/__init__.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/agent_stdin.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/agents.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/api_keys.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/archival.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/assetstore/modelconfigs/gpt_oss__latest.metadata +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/assetstore/modelconfigs/gpt_oss__latest.zip +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/assetstore/skills/skill_html_css_js.metadata +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/assetstore/skills/skill_html_css_js.zip +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/assetstore/skills/skill_implement_feature.metadata +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/assetstore/skills/skill_implement_feature.zip +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/assetstore.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/chat_meta_params.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/cli.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/cli_commands.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/code_index.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/config.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/embeddings.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/gui/assets/index-CD7_Sjss.css +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/gui/assets/vendor-monaco-BkbU5OES.js +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/gui/assets/vendor-react-B2vUwPEE.js +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/gui/assets/vendor-xterm-3VOAfa_q.js +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/i18n.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/icon.png +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/ide_server.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/memgpt_runtime.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/orchestrator.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/planner.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/plugins/__init__.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/plugins/html_css_js_tools.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/project.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/session.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/skills.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/structured.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/terminal.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/tools.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/vcs.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/vector_index.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/web_search_config.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/workflow_orchestrator.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/opalacoder/workflow_tools.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/pytest.ini +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/requirements.txt +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/skills/chat-orchestrator/SKILL.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/skills/command-line/SKILL.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/skills/command-line/scripts/command_executor.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/skills/skills_store/html-css-js/SKILL.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/skills/skills_store/html-css-js/scripts/check_contracts.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/skills/skills_store/implement-feature/SKILL.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/skills/skills_store/implement-feature/scripts/run_workflow.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/skills/view-editor/SKILL.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/skills/view-editor/scripts/run_view_editor.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/skills/web-search/SKILL.md +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/skills.yaml +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_agent_config.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_agent_stdin.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_chat_meta_params.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_code_index_integration.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_command_line_skill.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_complexity_evaluator.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_context_guard.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_file_delete.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_i18n_coverage.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_implement_feature_script.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_memgpt_runtime.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_model_commands.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_planner_oracle_live.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_planner_output.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_project_store.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_refinement_loop.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_search_bugs.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_skills_directory_loader.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_unhashable_dict_bug.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_verification_strategies.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_view_editor_skill.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_web_search.py +0 -0
- {opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/tests/test_workflow_pipeline.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: opalacoder
|
|
3
|
-
Version: 0.2.3.
|
|
3
|
+
Version: 0.2.3.5
|
|
4
4
|
Summary: Autonomous coding agent with interactive planning and modular execution
|
|
5
5
|
Project-URL: Homepage, https://github.com/gilzamir/OpalaCoder
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/gilzamir/OpalaCoder/issues
|
|
@@ -220,7 +220,18 @@ export default function App() {
|
|
|
220
220
|
|
|
221
221
|
// ── Helpers ───────────────────────────────────────────────────────────────
|
|
222
222
|
const addLog = (type, message) =>
|
|
223
|
-
setTerminalLogs(prev =>
|
|
223
|
+
setTerminalLogs(prev => {
|
|
224
|
+
if (prev.length > 0) {
|
|
225
|
+
const last = prev[prev.length - 1];
|
|
226
|
+
if (last.type === type && (type === 'thought' || type === 'stdout' || type === 'stderr')) {
|
|
227
|
+
return [
|
|
228
|
+
...prev.slice(0, -1),
|
|
229
|
+
{ ...last, message: last.message + message }
|
|
230
|
+
];
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return [...prev, { type, message, timestamp: new Date().toLocaleTimeString() }];
|
|
234
|
+
});
|
|
224
235
|
|
|
225
236
|
// ── API calls ─────────────────────────────────────────────────────────────
|
|
226
237
|
const fetchProjects = async () => {
|
|
@@ -559,8 +570,30 @@ export default function App() {
|
|
|
559
570
|
switch (event) {
|
|
560
571
|
case 'server_ready': addLog('info', 'Agente pronto.'); break;
|
|
561
572
|
case 'agent_started': addLog('info', `Agente ${data.agent} iniciado.`); break;
|
|
562
|
-
case 'thought':
|
|
563
|
-
|
|
573
|
+
case 'thought':
|
|
574
|
+
addLog('thought', data.content);
|
|
575
|
+
setThinkingLogs(prev => {
|
|
576
|
+
if (prev.length > 0) {
|
|
577
|
+
const last = prev[prev.length - 1];
|
|
578
|
+
if (last.type === 'THINKING') {
|
|
579
|
+
return [...prev.slice(0, -1), { ...last, content: last.content + data.content }];
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
return [...prev, { timestamp: new Date().toLocaleTimeString(), type: 'THINKING', content: data.content }];
|
|
583
|
+
});
|
|
584
|
+
break;
|
|
585
|
+
case 'reflection':
|
|
586
|
+
addLog('thought', data.content);
|
|
587
|
+
setThinkingLogs(prev => {
|
|
588
|
+
if (prev.length > 0) {
|
|
589
|
+
const last = prev[prev.length - 1];
|
|
590
|
+
if (last.type === 'REFLECTION') {
|
|
591
|
+
return [...prev.slice(0, -1), { ...last, content: last.content + data.content }];
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
return [...prev, { timestamp: new Date().toLocaleTimeString(), type: 'REFLECTION', content: data.content }];
|
|
595
|
+
});
|
|
596
|
+
break;
|
|
564
597
|
case 'cancelled': addLog('warning', data.message || 'Execução cancelada.'); setChatMessages(prev => [...prev, { role: 'assistant', content: `⚠️ Interrompido: ${data.message || 'A execução do agente foi parada.'}` }]); break;
|
|
565
598
|
case 'tool_call': addLog('tool_call', `Chamando: ${data.tool} (${JSON.stringify(data.arguments)})`); break;
|
|
566
599
|
case 'tool_result': addLog('tool_result', `Sucesso: ${data.tool}`); break;
|
{opalacoder-0.2.3.4 → opalacoder-0.2.3.5}/gui_src/src/components/modals/EditProjectModal.jsx
RENAMED
|
@@ -298,7 +298,7 @@ export default function EditProjectModal({
|
|
|
298
298
|
<div className="flex flex-col" style={{ gap: '4px' }}>
|
|
299
299
|
<label className="vscode-sidebar-section-title" style={{ padding: 0 }}>Response Mode (MemGPT)</label>
|
|
300
300
|
<select
|
|
301
|
-
value={editingProject.model_params?.response_mode ?? '
|
|
301
|
+
value={editingProject.model_params?.response_mode ?? 'last'}
|
|
302
302
|
onChange={e => setEditingProject(p => ({ ...p, model_params: { ...p.model_params, response_mode: e.target.value } }))}
|
|
303
303
|
style={{ backgroundColor: '#3c3c3c', color: '#cccccc', border: '1px solid #555', borderRadius: '3px', padding: '4px 6px', fontSize: '12px' }}
|
|
304
304
|
>
|