opalacoder 0.1.26__tar.gz → 0.2.0__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.
Files changed (153) hide show
  1. {opalacoder-0.1.26 → opalacoder-0.2.0}/CLAUDE.md +4 -1
  2. {opalacoder-0.1.26 → opalacoder-0.2.0}/GEMINI.md +4 -0
  3. {opalacoder-0.1.26 → opalacoder-0.2.0}/PKG-INFO +1 -1
  4. opalacoder-0.2.0/debug_litellm_callbacks.py +43 -0
  5. {opalacoder-0.1.26 → opalacoder-0.2.0}/gui_src/src/App.jsx +381 -187
  6. {opalacoder-0.1.26 → opalacoder-0.2.0}/gui_src/vite.config.js +10 -1
  7. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/agent_stdin.py +275 -202
  8. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/agents.py +10 -4
  9. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/cli_commands.py +51 -30
  10. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/config.py +46 -2
  11. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/embeddings.py +0 -2
  12. opalacoder-0.2.0/opalacoder/gui/assets/index-BqTKFzta.js +159 -0
  13. opalacoder-0.2.0/opalacoder/gui/assets/vendor-monaco-BkbU5OES.js +19 -0
  14. opalacoder-0.2.0/opalacoder/gui/assets/vendor-react-B2vUwPEE.js +24 -0
  15. opalacoder-0.2.0/opalacoder/gui/assets/vendor-xterm-3VOAfa_q.js +38 -0
  16. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/gui/index.html +4 -1
  17. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/ide_server.py +72 -43
  18. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/memgpt_runtime.py +15 -4
  19. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/project.py +8 -2
  20. opalacoder-0.2.0/opalacoder/structured.py +56 -0
  21. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/tools.py +105 -25
  22. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/workflow_orchestrator.py +4 -47
  23. {opalacoder-0.1.26 → opalacoder-0.2.0}/pyproject.toml +1 -1
  24. {opalacoder-0.1.26 → opalacoder-0.2.0}/skills/command-line/SKILL.md +5 -5
  25. {opalacoder-0.1.26 → opalacoder-0.2.0}/skills/view-editor/SKILL.md +1 -1
  26. opalacoder-0.2.0/test_thought_stream.py +47 -0
  27. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_agent_stdin.py +78 -0
  28. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_code_index_integration.py +6 -2
  29. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_model_commands.py +24 -10
  30. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_search_bugs.py +18 -12
  31. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_workflow_pipeline.py +14 -7
  32. opalacoder-0.1.26/opalacoder/copy_gui.py +0 -20
  33. opalacoder-0.1.26/opalacoder/gui/assets/index-Bp5KKCcR.js +0 -225
  34. opalacoder-0.1.26/opalacoder/structured.py +0 -104
  35. {opalacoder-0.1.26 → opalacoder-0.2.0}/.claude/rules/RULES.md +0 -0
  36. {opalacoder-0.1.26 → opalacoder-0.2.0}/.claude/settings.json +0 -0
  37. {opalacoder-0.1.26 → opalacoder-0.2.0}/.github/workflows/publish.yml +0 -0
  38. {opalacoder-0.1.26 → opalacoder-0.2.0}/.gitignore +0 -0
  39. {opalacoder-0.1.26 → opalacoder-0.2.0}/AGENTS.md +0 -0
  40. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/100.png +0 -0
  41. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/102.png +0 -0
  42. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/1024.png +0 -0
  43. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/108.png +0 -0
  44. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/114.png +0 -0
  45. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/120.png +0 -0
  46. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/128.png +0 -0
  47. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/144.png +0 -0
  48. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/152.png +0 -0
  49. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/16.png +0 -0
  50. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/167.png +0 -0
  51. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/172.png +0 -0
  52. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/180.png +0 -0
  53. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/196.png +0 -0
  54. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/20.png +0 -0
  55. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/216.png +0 -0
  56. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/234.png +0 -0
  57. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/256.png +0 -0
  58. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/258.png +0 -0
  59. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/29.png +0 -0
  60. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/32.png +0 -0
  61. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/40.png +0 -0
  62. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/48.png +0 -0
  63. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/50.png +0 -0
  64. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/512.png +0 -0
  65. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/55.png +0 -0
  66. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/57.png +0 -0
  67. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/58.png +0 -0
  68. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/60.png +0 -0
  69. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/64.png +0 -0
  70. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/66.png +0 -0
  71. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/72.png +0 -0
  72. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/76.png +0 -0
  73. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/80.png +0 -0
  74. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/87.png +0 -0
  75. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/88.png +0 -0
  76. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/92.png +0 -0
  77. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
  78. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/android/mipmap-hdpi/ic_launcher.png +0 -0
  79. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/android/mipmap-mdpi/ic_launcher.png +0 -0
  80. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/android/mipmap-xhdpi/ic_launcher.png +0 -0
  81. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
  82. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
  83. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/appstore.png +0 -0
  84. {opalacoder-0.1.26 → opalacoder-0.2.0}/AppIcons/playstore.png +0 -0
  85. {opalacoder-0.1.26 → opalacoder-0.2.0}/README.md +0 -0
  86. {opalacoder-0.1.26 → opalacoder-0.2.0}/agents.yaml +0 -0
  87. {opalacoder-0.1.26 → opalacoder-0.2.0}/config.yaml +0 -0
  88. {opalacoder-0.1.26 → opalacoder-0.2.0}/debug/scratch_tail.py +0 -0
  89. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/guide/analysis_results.md +0 -0
  90. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/guide/figs/logotipo.png +0 -0
  91. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/guide/paper_memplan.md +0 -0
  92. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/guide/skills-plugin-system.md +0 -0
  93. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/specs/01-arquitetura.md +0 -0
  94. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/specs/02-memgpt-orquestrador.md +0 -0
  95. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/specs/03-skill-implement-feature.md +0 -0
  96. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/specs/04-memoria.md +0 -0
  97. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/specs/05-vcs-sombra.md +0 -0
  98. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/specs/06-skills-e-plugins.md +0 -0
  99. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/specs/07-configuracao.md +0 -0
  100. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/specs/08-ide.md +0 -0
  101. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/specs/09-ide-projectcreationinterface.md +0 -0
  102. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/specs/README.md +0 -0
  103. {opalacoder-0.1.26 → opalacoder-0.2.0}/docs/specs/backlog_register.md +0 -0
  104. {opalacoder-0.1.26 → opalacoder-0.2.0}/gui_src/index.html +0 -0
  105. {opalacoder-0.1.26 → opalacoder-0.2.0}/gui_src/package-lock.json +0 -0
  106. {opalacoder-0.1.26 → opalacoder-0.2.0}/gui_src/package.json +0 -0
  107. {opalacoder-0.1.26 → opalacoder-0.2.0}/gui_src/src/index.css +0 -0
  108. {opalacoder-0.1.26 → opalacoder-0.2.0}/gui_src/src/main.jsx +0 -0
  109. {opalacoder-0.1.26 → opalacoder-0.2.0}/main.py +0 -0
  110. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/__init__.py +0 -0
  111. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/api_keys.py +0 -0
  112. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/archival.py +0 -0
  113. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/cli.py +0 -0
  114. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/code_index.py +0 -0
  115. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/gui/assets/index-_ON06SYj.css +0 -0
  116. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/i18n.py +0 -0
  117. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/icon.png +0 -0
  118. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/orchestrator.py +0 -0
  119. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/planner.py +0 -0
  120. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/plugins/__init__.py +0 -0
  121. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/plugins/html_css_js_tools.py +0 -0
  122. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/session.py +0 -0
  123. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/skills.py +0 -0
  124. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/terminal.py +0 -0
  125. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/terminal_manager.py +0 -0
  126. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/vcs.py +0 -0
  127. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/vector_index.py +0 -0
  128. {opalacoder-0.1.26 → opalacoder-0.2.0}/opalacoder/workflow_tools.py +0 -0
  129. {opalacoder-0.1.26 → opalacoder-0.2.0}/pytest.ini +0 -0
  130. {opalacoder-0.1.26 → opalacoder-0.2.0}/requirements.txt +0 -0
  131. {opalacoder-0.1.26 → opalacoder-0.2.0}/skills/chat-orchestrator/SKILL.md +0 -0
  132. {opalacoder-0.1.26 → opalacoder-0.2.0}/skills/command-line/scripts/command_executor.py +0 -0
  133. {opalacoder-0.1.26 → opalacoder-0.2.0}/skills/skills_store/html-css-js/SKILL.md +0 -0
  134. {opalacoder-0.1.26 → opalacoder-0.2.0}/skills/skills_store/html-css-js/scripts/check_contracts.py +0 -0
  135. {opalacoder-0.1.26 → opalacoder-0.2.0}/skills/skills_store/implement-feature/SKILL.md +0 -0
  136. {opalacoder-0.1.26 → opalacoder-0.2.0}/skills/skills_store/implement-feature/scripts/run_workflow.py +0 -0
  137. {opalacoder-0.1.26 → opalacoder-0.2.0}/skills/view-editor/scripts/run_view_editor.py +0 -0
  138. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_agent_config.py +0 -0
  139. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_command_line_skill.py +0 -0
  140. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_complexity_evaluator.py +0 -0
  141. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_context_guard.py +0 -0
  142. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_file_delete.py +0 -0
  143. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_i18n_coverage.py +0 -0
  144. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_implement_feature_script.py +0 -0
  145. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_memgpt_runtime.py +0 -0
  146. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_planner_oracle_live.py +0 -0
  147. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_planner_output.py +0 -0
  148. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_project_store.py +0 -0
  149. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_refinement_loop.py +0 -0
  150. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_skills_directory_loader.py +0 -0
  151. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_unhashable_dict_bug.py +0 -0
  152. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_verification_strategies.py +0 -0
  153. {opalacoder-0.1.26 → opalacoder-0.2.0}/tests/test_view_editor_skill.py +0 -0
@@ -2,10 +2,13 @@
2
2
 
3
3
  1. Don't make baseless assumptions; before drawing any conclusions, conduct tests and analysis to gather as much information as possible.
4
4
 
5
+ 2. Dever apply direct patch ou modifications in external lib without user authorization.
6
+
7
+ 3. Dont call directly litellm (always use agenticblocks). If need same feature dont supported by agenticblocks, alert me and ask me about to do.
8
+
5
9
  # Project Guide
6
10
 
7
11
  ## Language
8
-
9
12
  All code, comments, and documentation must be written in **English**.
10
13
 
11
14
  ## Architecture
@@ -2,6 +2,10 @@
2
2
 
3
3
  1. Don't make baseless assumptions; before drawing any conclusions, conduct tests and analysis to gather as much information as possible.
4
4
 
5
+ 2. Dever apply direct patch ou modifications in external lib without user authorization.
6
+
7
+ 3. Dont call directly litellm (always use agenticblocks). If need same feature dont supported by agenticblocks, alert me and ask me about to do.
8
+
5
9
  # Project Guide
6
10
 
7
11
  ## Language
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opalacoder
3
- Version: 0.1.26
3
+ Version: 0.2.0
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
@@ -0,0 +1,43 @@
1
+ import asyncio
2
+ import os
3
+ import litellm
4
+ from litellm.integrations.custom_logger import CustomLogger
5
+
6
+ class MyCustomHandler(CustomLogger):
7
+ def log_success_event(self, kwargs, response_obj, start_time, end_time):
8
+ print("--- log_success_event triggered! ---")
9
+
10
+ async def async_log_success_event(self, kwargs, response_obj, start_time, end_time):
11
+ print("--- async_log_success_event triggered! ---")
12
+
13
+ litellm.callbacks = [MyCustomHandler()]
14
+ # Set environment variables for debug logging
15
+ os.environ['LITELLM_LOG'] = 'DEBUG'
16
+
17
+ async def main():
18
+ # We will use the same router setup as agenticblocks
19
+ router = litellm.Router(
20
+ model_list=[{
21
+ "model_name": "openai/unsloth/gpt-oss-20b-GGUF:Q4_1",
22
+ "litellm_params": {
23
+ "model": "openai/unsloth/gpt-oss-20b-GGUF:Q4_1",
24
+ "api_base": "http://localhost:8080/v1",
25
+ "api_key": "test"
26
+ },
27
+ }]
28
+ )
29
+ print("Callbacks in litellm:", litellm.callbacks)
30
+ try:
31
+ # Call via router
32
+ response = await router.acompletion(
33
+ model="openai/unsloth/gpt-oss-20b-GGUF:Q4_1",
34
+ messages=[{"role": "user", "content": "hello"}],
35
+ api_base="http://localhost:8080/v1",
36
+ api_key="test",
37
+ mock_response="Hello back!"
38
+ )
39
+ print("Response received:", response)
40
+ except Exception as e:
41
+ print("Error during completion:", e)
42
+
43
+ asyncio.run(main())