opalacoder 0.2.3.5__tar.gz → 0.2.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.
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/PKG-INFO +1 -1
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/hooks/useTerminal.js +22 -1
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/pyproject.toml +1 -1
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/.claude/rules/RULES.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/.claude/settings.json +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/.github/workflows/publish.yml +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/.gitignore +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AGENTS.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/100.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/102.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/1024.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/108.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/114.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/120.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/128.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/144.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/152.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/16.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/167.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/172.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/180.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/196.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/20.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/216.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/234.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/256.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/258.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/29.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/32.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/40.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/48.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/50.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/512.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/55.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/57.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/58.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/60.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/64.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/66.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/72.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/76.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/80.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/87.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/88.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/92.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/android/mipmap-hdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/android/mipmap-mdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/android/mipmap-xhdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/appstore.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/icon.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/opalaicon.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/playstore.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/CLAUDE.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/GEMINI.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/README.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/agents.yaml +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/config.yaml +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/debug/debug_litellm_callbacks.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/debug/scratch_tail.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/debug/test_thought_stream.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/guide/analysis_results.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/guide/figs/logotipo.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/guide/paper_memplan.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/guide/skills-plugin-system.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/01-arquitetura.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/02-memgpt-orquestrador.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/03-skill-implement-feature.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/04-memoria.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/05-vcs-sombra.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/06-skills-e-plugins.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/07-configuracao.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/08-ide.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/09-ide-projectcreationinterface.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/10-chat-meta-params.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/README.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/docs/specs/backlog_register.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/index.html +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/package-lock.json +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/package.json +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/App.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/ActivityBar.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/BottomPanel.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/ChatPanel.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/ContextMenu.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/EditorPanel.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/ExplorerSidebar.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/FileNode.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/GitSidebar.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/StatusBar.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/TextContextMenu.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/modals/ConfirmModal.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/modals/DirPickerModal.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/modals/EditProjectModal.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/modals/InstallDepsPrompt.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/modals/NewProjectModal.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/components/modals/SettingsModal.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/hooks/useResizing.js +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/hooks/useTextContextMenu.js +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/index.css +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/main.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/utils/formatMessage.jsx +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/utils/language.js +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/src/utils/storage.js +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/gui_src/vite.config.js +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/icon.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/main.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/__init__.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/agent_stdin.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/agents.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/api_keys.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/archival.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/assetstore/modelconfigs/gpt_oss__latest.metadata +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/assetstore/modelconfigs/gpt_oss__latest.zip +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/assetstore/skills/skill_html_css_js.metadata +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/assetstore/skills/skill_html_css_js.zip +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/assetstore/skills/skill_implement_feature.metadata +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/assetstore/skills/skill_implement_feature.zip +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/assetstore.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/chat_meta_params.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/cli.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/cli_commands.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/code_index.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/config.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/embeddings.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/gui/assets/index-CD7_Sjss.css +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/gui/assets/index-CiJtgyqm.js +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/gui/assets/vendor-monaco-BkbU5OES.js +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/gui/assets/vendor-react-B2vUwPEE.js +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/gui/assets/vendor-xterm-3VOAfa_q.js +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/gui/index.html +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/i18n.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/icon.png +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/ide_server.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/memgpt_runtime.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/orchestrator.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/planner.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/plugins/__init__.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/plugins/html_css_js_tools.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/project.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/session.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/skills.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/structured.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/terminal.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/terminal_manager.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/tools.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/vcs.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/vector_index.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/web_search_config.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/workflow_orchestrator.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/workflow_tools.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/pytest.ini +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/requirements.txt +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills/chat-orchestrator/SKILL.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills/command-line/SKILL.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills/command-line/scripts/command_executor.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills/skills_store/html-css-js/SKILL.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills/skills_store/html-css-js/scripts/check_contracts.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills/skills_store/implement-feature/SKILL.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills/skills_store/implement-feature/scripts/run_workflow.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills/view-editor/SKILL.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills/view-editor/scripts/run_view_editor.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills/web-search/SKILL.md +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills.yaml +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_agent_config.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_agent_stdin.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_chat_meta_params.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_code_index_integration.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_command_line_skill.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_complexity_evaluator.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_context_guard.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_file_delete.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_i18n_coverage.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_implement_feature_script.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_memgpt_runtime.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_model_commands.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_planner_oracle_live.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_planner_output.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_project_store.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_refinement_loop.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_search_bugs.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_skills_directory_loader.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_unhashable_dict_bug.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_verification_strategies.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_view_editor_skill.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/tests/test_web_search.py +0 -0
- {opalacoder-0.2.3.5 → opalacoder-0.2.4}/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
|
+
Version: 0.2.4
|
|
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
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
2
|
import { Terminal as XTerm } from '@xterm/xterm';
|
|
3
3
|
import { FitAddon } from '@xterm/addon-fit';
|
|
4
4
|
|
|
5
5
|
// Hook that initialises an xterm.js terminal and connects it to the backend SSE stream.
|
|
6
6
|
export function useTerminal({ activeProject, terminalRef, terminalInstanceRef, fitAddonRef, eventSourceRef, activeBottomTab, bottomPanelHeight }) {
|
|
7
|
+
// Tracks whether the terminal has been made visible at least once after creation.
|
|
8
|
+
// Used to send a Ctrl+L redraw on first focus so the shell prompt appears correctly.
|
|
9
|
+
const promptDrawnRef = useRef(false);
|
|
10
|
+
|
|
7
11
|
// Initialise / tear-down terminal when the active project changes.
|
|
8
12
|
useEffect(() => {
|
|
9
13
|
if (!activeProject) {
|
|
@@ -16,6 +20,9 @@ export function useTerminal({ activeProject, terminalRef, terminalInstanceRef, f
|
|
|
16
20
|
|
|
17
21
|
if (!terminalRef.current) return;
|
|
18
22
|
|
|
23
|
+
// Reset the prompt-drawn flag whenever the terminal is (re)created.
|
|
24
|
+
promptDrawnRef.current = false;
|
|
25
|
+
|
|
19
26
|
const term = new XTerm({
|
|
20
27
|
cursorBlink: true,
|
|
21
28
|
fontSize: 13,
|
|
@@ -103,7 +110,21 @@ export function useTerminal({ activeProject, terminalRef, terminalInstanceRef, f
|
|
|
103
110
|
headers: { 'Content-Type': 'application/json' },
|
|
104
111
|
body: JSON.stringify({ action: 'resize', cols, rows, projectPath: activeProject.project_path }),
|
|
105
112
|
}).catch(err => console.error('Failed to send terminal resize', err));
|
|
113
|
+
|
|
106
114
|
terminalInstanceRef.current.focus();
|
|
115
|
+
|
|
116
|
+
// On the first time the terminal becomes visible, the shell may not have
|
|
117
|
+
// redrawn its prompt after the initial resize (the tab was hidden during
|
|
118
|
+
// creation so xterm.js had no valid dimensions). Sending Ctrl+L forces
|
|
119
|
+
// bash/zsh to redraw the prompt without executing any command.
|
|
120
|
+
if (!promptDrawnRef.current) {
|
|
121
|
+
promptDrawnRef.current = true;
|
|
122
|
+
fetch('/api/terminal/input', {
|
|
123
|
+
method: 'POST',
|
|
124
|
+
headers: { 'Content-Type': 'application/json' },
|
|
125
|
+
body: JSON.stringify({ action: 'input', text: '\x0c', projectPath: activeProject.project_path }),
|
|
126
|
+
}).catch(err => console.error('Failed to send prompt redraw', err));
|
|
127
|
+
}
|
|
107
128
|
} catch (e) { /* ignore */ }
|
|
108
129
|
}, 50);
|
|
109
130
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/1024.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opalacoder-0.2.3.5 → opalacoder-0.2.4}/AppIcons/Assets.xcassets/AppIcon.appiconset/Contents.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/assetstore/modelconfigs/gpt_oss__latest.metadata
RENAMED
|
File without changes
|
{opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/assetstore/modelconfigs/gpt_oss__latest.zip
RENAMED
|
File without changes
|
{opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/assetstore/skills/skill_html_css_js.metadata
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opalacoder-0.2.3.5 → opalacoder-0.2.4}/opalacoder/assetstore/skills/skill_implement_feature.zip
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{opalacoder-0.2.3.5 → opalacoder-0.2.4}/skills/skills_store/html-css-js/scripts/check_contracts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|