opalacoder 0.2.3.1__tar.gz → 0.2.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/PKG-INFO +2 -1
- opalacoder-0.2.3.2/docs/specs/10-chat-meta-params.md +70 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/specs/backlog_register.md +12 -4
- opalacoder-0.2.3.2/gui_src/src/App.jsx +890 -0
- opalacoder-0.2.3.2/gui_src/src/components/ActivityBar.jsx +73 -0
- opalacoder-0.2.3.2/gui_src/src/components/BottomPanel.jsx +213 -0
- opalacoder-0.2.3.2/gui_src/src/components/ChatPanel.jsx +136 -0
- opalacoder-0.2.3.2/gui_src/src/components/ContextMenu.jsx +60 -0
- opalacoder-0.2.3.2/gui_src/src/components/EditorPanel.jsx +108 -0
- opalacoder-0.2.3.2/gui_src/src/components/ExplorerSidebar.jsx +148 -0
- opalacoder-0.2.3.2/gui_src/src/components/FileNode.jsx +112 -0
- opalacoder-0.2.3.2/gui_src/src/components/GitSidebar.jsx +88 -0
- opalacoder-0.2.3.2/gui_src/src/components/StatusBar.jsx +32 -0
- opalacoder-0.2.3.2/gui_src/src/components/modals/ConfirmModal.jsx +71 -0
- opalacoder-0.2.3.2/gui_src/src/components/modals/DirPickerModal.jsx +59 -0
- opalacoder-0.2.3.2/gui_src/src/components/modals/EditProjectModal.jsx +330 -0
- opalacoder-0.2.3.2/gui_src/src/components/modals/InstallDepsPrompt.jsx +39 -0
- opalacoder-0.2.3.2/gui_src/src/components/modals/NewProjectModal.jsx +147 -0
- opalacoder-0.2.3.2/gui_src/src/components/modals/SettingsModal.jsx +142 -0
- opalacoder-0.2.3.2/gui_src/src/hooks/useResizing.js +39 -0
- opalacoder-0.2.3.2/gui_src/src/hooks/useTerminal.js +111 -0
- opalacoder-0.2.3.2/gui_src/src/utils/formatMessage.jsx +60 -0
- opalacoder-0.2.3.2/gui_src/src/utils/language.js +22 -0
- opalacoder-0.2.3.2/gui_src/src/utils/storage.js +18 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/agent_stdin.py +5 -2
- opalacoder-0.2.3.2/opalacoder/chat_meta_params.py +133 -0
- opalacoder-0.2.3.2/opalacoder/gui/assets/index-CeO8snuy.js +169 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/gui/index.html +1 -1
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/pyproject.toml +2 -1
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/requirements.txt +1 -0
- opalacoder-0.2.3.2/tests/test_chat_meta_params.py +109 -0
- opalacoder-0.2.3.1/gui_src/src/App.jsx +0 -3208
- opalacoder-0.2.3.1/opalacoder/gui/assets/index-DYKstQJF.js +0 -159
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/.claude/rules/RULES.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/.claude/settings.json +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/.github/workflows/publish.yml +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/.gitignore +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AGENTS.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/100.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/102.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/1024.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/108.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/114.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/120.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/128.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/144.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/152.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/16.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/167.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/172.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/180.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/196.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/20.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/216.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/234.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/256.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/258.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/29.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/32.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/40.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/48.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/50.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/512.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/55.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/57.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/58.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/60.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/64.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/66.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/72.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/76.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/80.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/87.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/88.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/92.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/android/mipmap-hdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/android/mipmap-mdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/android/mipmap-xhdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/appstore.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/icon.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/opalaicon.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/AppIcons/playstore.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/CLAUDE.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/GEMINI.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/README.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/agents.yaml +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/config.yaml +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/debug/debug_litellm_callbacks.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/debug/scratch_tail.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/debug/test_thought_stream.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/guide/analysis_results.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/guide/figs/logotipo.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/guide/paper_memplan.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/guide/skills-plugin-system.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/specs/01-arquitetura.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/specs/02-memgpt-orquestrador.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/specs/03-skill-implement-feature.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/specs/04-memoria.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/specs/05-vcs-sombra.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/specs/06-skills-e-plugins.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/specs/07-configuracao.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/specs/08-ide.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/specs/09-ide-projectcreationinterface.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/docs/specs/README.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/gui_src/index.html +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/gui_src/package-lock.json +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/gui_src/package.json +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/gui_src/src/index.css +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/gui_src/src/main.jsx +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/gui_src/vite.config.js +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/icon.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/main.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/__init__.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/agents.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/api_keys.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/archival.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/assetstore/modelconfigs/gpt_oss__latest.metadata +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/assetstore/modelconfigs/gpt_oss__latest.zip +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/assetstore/skills/skill_html_css_js.metadata +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/assetstore/skills/skill_html_css_js.zip +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/assetstore/skills/skill_implement_feature.metadata +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/assetstore/skills/skill_implement_feature.zip +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/assetstore.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/cli.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/cli_commands.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/code_index.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/config.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/embeddings.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/gui/assets/index-CD7_Sjss.css +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/gui/assets/vendor-monaco-BkbU5OES.js +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/gui/assets/vendor-react-B2vUwPEE.js +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/gui/assets/vendor-xterm-3VOAfa_q.js +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/i18n.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/icon.png +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/ide_server.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/memgpt_runtime.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/orchestrator.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/planner.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/plugins/__init__.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/plugins/html_css_js_tools.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/project.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/session.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/skills.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/structured.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/terminal.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/terminal_manager.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/tools.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/vcs.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/vector_index.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/workflow_orchestrator.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/opalacoder/workflow_tools.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/pytest.ini +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/skills/chat-orchestrator/SKILL.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/skills/command-line/SKILL.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/skills/command-line/scripts/command_executor.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/skills/skills_store/html-css-js/SKILL.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/skills/skills_store/html-css-js/scripts/check_contracts.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/skills/skills_store/implement-feature/SKILL.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/skills/skills_store/implement-feature/scripts/run_workflow.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/skills/view-editor/SKILL.md +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/skills/view-editor/scripts/run_view_editor.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_agent_config.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_agent_stdin.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_code_index_integration.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_command_line_skill.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_complexity_evaluator.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_context_guard.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_file_delete.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_i18n_coverage.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_implement_feature_script.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_memgpt_runtime.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_model_commands.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_planner_oracle_live.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_planner_output.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_project_store.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_refinement_loop.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_search_bugs.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_skills_directory_loader.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_unhashable_dict_bug.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_verification_strategies.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/tests/test_view_editor_skill.py +0 -0
- {opalacoder-0.2.3.1 → opalacoder-0.2.3.2}/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.2
|
|
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
|
|
@@ -19,6 +19,7 @@ Requires-Dist: pyqt6-webengine>=6.0.0
|
|
|
19
19
|
Requires-Dist: pyqt6>=6.0.0
|
|
20
20
|
Requires-Dist: python-dotenv>=1.0.0
|
|
21
21
|
Requires-Dist: pywebview>=4.0
|
|
22
|
+
Requires-Dist: pywinpty>=2.0.0; sys_platform == 'win32'
|
|
22
23
|
Requires-Dist: pyyaml>=6.0
|
|
23
24
|
Requires-Dist: qtpy>=2.4.0
|
|
24
25
|
Requires-Dist: rich>=13.0.0
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Chat Meta-Parameters
|
|
2
|
+
|
|
3
|
+
Meta-parameters are per-turn configuration overrides embedded directly in a chat message. They take effect only for the duration of that single agent turn and are automatically reverted before the next message.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
@key=value@
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
- String values must be quoted: `@system_prompt="be ironic"@`
|
|
12
|
+
- Numeric values are unquoted: `@max_tokens=512@` `@temperature=0.9@`
|
|
13
|
+
- Multiple params in the same message are supported: `@max_tokens=512@ @temperature=0.2@`
|
|
14
|
+
- Tokens are stripped from the message before it reaches the agent.
|
|
15
|
+
|
|
16
|
+
## Allowed Parameters
|
|
17
|
+
|
|
18
|
+
| Parameter | Type | Safe minimum | Description |
|
|
19
|
+
|---------------|--------|-------------|-----------------------------------------------|
|
|
20
|
+
| `max_tokens` | int | 256 | Maximum tokens for the agent's LLM calls this turn |
|
|
21
|
+
| `temperature` | float | 0.0 | Sampling temperature |
|
|
22
|
+
| `top_k` | int | 1 | Top-K sampling |
|
|
23
|
+
| `top_p` | float | 0.0 | Top-P (nucleus) sampling |
|
|
24
|
+
| `min_p` | float | 0.0 | Min-P sampling |
|
|
25
|
+
| `system_prompt` | str | — | Injects additional text as the system prompt for this turn only |
|
|
26
|
+
|
|
27
|
+
## Restrictions
|
|
28
|
+
|
|
29
|
+
### max_tokens minimum is 256
|
|
30
|
+
|
|
31
|
+
The `MemGPTAgentBlock` uses `max_tokens` for every internal LLM call — including tool-call heartbeats and response synthesis. Values below 256 cause the model to cut JSON tool calls mid-stream, producing empty or broken responses with no visible error.
|
|
32
|
+
|
|
33
|
+
Values below 256 are **automatically clamped to 256** with a warning in the server log. The user-specified value is never passed to the model.
|
|
34
|
+
|
|
35
|
+
### system_prompt is injected, not replaced
|
|
36
|
+
|
|
37
|
+
Setting `@system_prompt="..."@` **replaces** `agent.system_prompt` for that turn. The original is restored immediately after the agent responds. This means the injected prompt must be self-contained if it needs to include the original instructions.
|
|
38
|
+
|
|
39
|
+
### Parameters apply to all internal calls in a turn
|
|
40
|
+
|
|
41
|
+
For `chat_orchestrator` (MemGPT), a single user turn may trigger multiple LLM heartbeats. The override applies to every heartbeat in that turn, not just the final response call.
|
|
42
|
+
|
|
43
|
+
### Unknown keys are silently ignored
|
|
44
|
+
|
|
45
|
+
Any `@key=value@` token whose key is not in the allowed list is stripped from the message text but produces no override and no error.
|
|
46
|
+
|
|
47
|
+
## Examples
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Implemente uma função de quicksort. @max_tokens=512@
|
|
51
|
+
```
|
|
52
|
+
Limits the agent's output budget for this turn to 512 tokens.
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
O que você acha da minha abordagem? @system_prompt="responda de forma muito crítica e direta"@
|
|
56
|
+
```
|
|
57
|
+
The agent responds with the injected system prompt; the original is restored on the next turn.
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Resumo rápido. @max_tokens=300@ @temperature=0.2@
|
|
61
|
+
```
|
|
62
|
+
Multiple overrides in a single message.
|
|
63
|
+
|
|
64
|
+
## Implementation
|
|
65
|
+
|
|
66
|
+
| File | Role |
|
|
67
|
+
|------|------|
|
|
68
|
+
| `opalacoder/chat_meta_params.py` | Parser (`parse_meta_params`) and context manager (`apply_meta_params`) |
|
|
69
|
+
| `opalacoder/agent_stdin.py` | Integration point in `handle_run` — wraps `agent.run()` with `apply_meta_params` |
|
|
70
|
+
| `tests/test_chat_meta_params.py` | Unit tests for parser and restore logic |
|
|
@@ -39,13 +39,14 @@
|
|
|
39
39
|
9. Permitir que mensagens no chat não podem ser copiadas.
|
|
40
40
|
|
|
41
41
|
## FROM CURRENT = 0.2.3 TO NEXT = 0.2.4
|
|
42
|
+
1. Revisar código. ✅
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
3. Adicionar o conceito de meta configurações de chat (configurações que somente são válidas naquele momento que se conversa com o agente - durante a vida de uma mensagem). Por enquanto, apenas os parâmetros max_tokens, system_prompt, temperature, top-k, top-p, min-p são permitidos. Exemplos:
|
|
44
|
+
2. Adicionar botões de maximizar e de minimizar o editor de texto (e outros paineis?). ✅
|
|
45
|
+
|
|
46
|
+
3. ✅ Adicionar o conceito de meta configurações de chat (configurações que somente são válidas naquele momento que se conversa com o agente - durante a vida de uma mensagem). Por enquanto, apenas os parâmetros max_tokens, system_prompt, temperature, top-k, top-p, min-p são permitidos. Exemplos:
|
|
46
47
|
3.1 User: Implemente uma função que calcula a série de fourier. <param max_tokens=3>.
|
|
47
48
|
3.2 Agent: ok ok
|
|
48
|
-
3.3 User: Ora, ora, o que é você?
|
|
49
|
+
3.3 User: Ora, ora, o que é você? @system_prompt="seja irônico na resposta"@
|
|
49
50
|
3.4 Agent: resposta irônica
|
|
50
51
|
3.5 User:...
|
|
51
52
|
3.6 Agent:...
|
|
@@ -53,6 +54,7 @@
|
|
|
53
54
|
|
|
54
55
|
Neste exemplo, em 3.1, o valor de max_tokens deve ser revertido depois que o agente der a resposta (a vida de uma meta instrução é só o do turno).
|
|
55
56
|
Em 3.3, o system_prompt softre uma injeção, mas que dura somente enquanto o agente responde. Observe que, a partir de 3.3, max_tokens já volta para o seu valor padrão. E partir de 3.5, a injeção de system prompt perde o efeito (resetando-se o system prompt para sua versão original).
|
|
57
|
+
Por baixo dos panos, primeiro identifica se a mensagem tem params, que são substituições válidas que começam com @, remove os parmas, faz a alteração temporária, executa a chamada, espera o modelo responder, desfaz a alteração temporária. ✅
|
|
56
58
|
|
|
57
59
|
4. Prover ferramentas/funções de selecionar e pedir para o agente redefinir o que está selecionado. Ou para o agente detectar um erro em uma função ou trecho de código selecionado. Possíveis formas de se fazer isso:
|
|
58
60
|
4.1 : o usuário seleciona o texto, e no menu contextual tem opções: refinar e corrigir se algo estiver selecionado. Também há a possibilidade do usuário selecionar algo ou deixar o cursor em alguma parte e executar CTRL+i e então abrir uma caixa em que o usuário pode pedir algo (o agente recebe o que foi selecionado, a linha inicial, a linha final e a posição do cursor. Uma interpretação é feita "se seleção vazia e linha inicial igual a linha final, focar na posição do cursor como o lugar onde posso começar a colocar algo.")
|
|
@@ -61,6 +63,12 @@
|
|
|
61
63
|
|
|
62
64
|
6. Disponibilizar a ferramenta web_search para o agente.
|
|
63
65
|
|
|
66
|
+
7. Terminal do windows 11. ✅
|
|
67
|
+
|
|
68
|
+
8. Menu contextual para copiar, cortar e colar no terminal.
|
|
69
|
+
|
|
70
|
+
9. Adicionar mais opções de parâmetros, como temperature, top_p, top_k, min_p, presence_penalty, repetition_penalty.
|
|
71
|
+
|
|
64
72
|
## FROM CURRENT = 0.2.4 TO NEXT = 0.2.5
|
|
65
73
|
|
|
66
74
|
1. Implementar suporte a git.
|