codeoptix 0.1.2__tar.gz → 0.1.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.
Files changed (111) hide show
  1. {codeoptix-0.1.2/src/codeoptix.egg-info → codeoptix-0.1.4}/PKG-INFO +2 -2
  2. {codeoptix-0.1.2 → codeoptix-0.1.4}/pyproject.toml +2 -2
  3. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/__init__.py +1 -1
  4. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/adapters/basic.py +2 -2
  5. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/cli.py +1 -27
  6. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/evolution/gepa_integration.py +19 -8
  7. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/utils/llm.py +7 -3
  8. {codeoptix-0.1.2 → codeoptix-0.1.4/src/codeoptix.egg-info}/PKG-INFO +2 -2
  9. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix.egg-info/requires.txt +1 -1
  10. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_behaviors_coverage.py +0 -1
  11. {codeoptix-0.1.2 → codeoptix-0.1.4}/LICENSE +0 -0
  12. {codeoptix-0.1.2 → codeoptix-0.1.4}/MANIFEST.in +0 -0
  13. {codeoptix-0.1.2 → codeoptix-0.1.4}/README.md +0 -0
  14. {codeoptix-0.1.2 → codeoptix-0.1.4}/setup.cfg +0 -0
  15. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/acp/__init__.py +0 -0
  16. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/acp/agent.py +0 -0
  17. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/acp/bridge.py +0 -0
  18. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/acp/client_adapter.py +0 -0
  19. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/acp/code_extractor.py +0 -0
  20. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/acp/orchestrator.py +0 -0
  21. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/acp/registry.py +0 -0
  22. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/adapters/__init__.py +0 -0
  23. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/adapters/base.py +0 -0
  24. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/adapters/claude_code.py +0 -0
  25. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/adapters/codex.py +0 -0
  26. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/adapters/factory.py +0 -0
  27. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/adapters/gemini_cli.py +0 -0
  28. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/artifacts/__init__.py +0 -0
  29. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/artifacts/manager.py +0 -0
  30. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/behaviors/__init__.py +0 -0
  31. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/behaviors/base.py +0 -0
  32. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/behaviors/insecure_code.py +0 -0
  33. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/behaviors/plan_drift.py +0 -0
  34. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/behaviors/vacuous_tests.py +0 -0
  35. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/evaluation/__init__.py +0 -0
  36. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/evaluation/bloom_integration.py +0 -0
  37. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/evaluation/engine.py +0 -0
  38. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/evaluation/evaluators.py +0 -0
  39. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/evaluation/scenario_generator.py +0 -0
  40. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/evolution/__init__.py +0 -0
  41. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/evolution/engine.py +0 -0
  42. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/evolution/proposer.py +0 -0
  43. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/__init__.py +0 -0
  44. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/bandit_linter.py +0 -0
  45. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/base.py +0 -0
  46. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/coverage_linter.py +0 -0
  47. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/flake8_linter.py +0 -0
  48. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/html_accessibility_linter.py +0 -0
  49. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/language_detector.py +0 -0
  50. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/mypy_linter.py +0 -0
  51. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/pip_audit_linter.py +0 -0
  52. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/pylint_linter.py +0 -0
  53. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/ruff_linter.py +0 -0
  54. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/runner.py +0 -0
  55. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/linters/safety_linter.py +0 -0
  56. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/reflection/__init__.py +0 -0
  57. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/reflection/engine.py +0 -0
  58. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/reflection/generator.py +0 -0
  59. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/utils/__init__.py +0 -0
  60. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/utils/config.py +0 -0
  61. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/utils/retry.py +0 -0
  62. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/__init__.py +0 -0
  63. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/README.md +0 -0
  64. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/__init__.py +0 -0
  65. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/globals.py +0 -0
  66. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/orchestrators/ConversationOrchestrator.py +0 -0
  67. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/orchestrators/SimEnvOrchestrator.py +0 -0
  68. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/README.md +0 -0
  69. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/default.json +0 -0
  70. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/ideation-default.json +0 -0
  71. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/mo_animal-welfare.json +0 -0
  72. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/mo_contextual-optimism.json +0 -0
  73. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/mo_defend-objects.json +0 -0
  74. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/mo_defer-to-users.json +0 -0
  75. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/mo_emotional-bond.json +0 -0
  76. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/mo_flattery.json +0 -0
  77. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/mo_hardcode-test-cases.json +0 -0
  78. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/mo_increasing-pep.json +0 -0
  79. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/mo_research-sandbagging.json +0 -0
  80. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/mo_self-promotion.json +0 -0
  81. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/sandbag.json +0 -0
  82. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/self-preferential-bias.json +0 -0
  83. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/static-prompts.yaml +0 -0
  84. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/configurable_prompts/web-search.json +0 -0
  85. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/step1_understanding.py +0 -0
  86. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/step2_ideation.py +0 -0
  87. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/step3_rollout.py +0 -0
  88. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/prompts/step4_judgment.py +0 -0
  89. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/schemas/behavior.schema.json +0 -0
  90. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/schemas/conversation.schema.json +0 -0
  91. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/schemas/transcript_schema.json +0 -0
  92. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/scripts/step2_ideation.py +0 -0
  93. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/scripts/step4_judgment.py +0 -0
  94. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/transcript_utils.py +0 -0
  95. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix/vendor/bloom/utils.py +0 -0
  96. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix.egg-info/SOURCES.txt +0 -0
  97. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix.egg-info/dependency_links.txt +0 -0
  98. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix.egg-info/entry_points.txt +0 -0
  99. {codeoptix-0.1.2 → codeoptix-0.1.4}/src/codeoptix.egg-info/top_level.txt +0 -0
  100. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_adapter_error_handling.py +0 -0
  101. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_adapters.py +0 -0
  102. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_artifacts.py +0 -0
  103. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_behaviors.py +0 -0
  104. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_cli.py +0 -0
  105. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_cli_commands.py +0 -0
  106. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_evaluation.py +0 -0
  107. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_evaluators.py +0 -0
  108. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_evolution.py +0 -0
  109. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_imports.py +0 -0
  110. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_llm.py +0 -0
  111. {codeoptix-0.1.2 → codeoptix-0.1.4}/tests/test_reflection.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codeoptix
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: Agentic Code Optimization & Deep Evaluation for Superior Coding Agent Experience. Built by Superagentic AI.
5
5
  Author-email: Shashi Jagtap <shashi@super-agentic.ai>, Shashi Jagtap <shashikant.jagtap@icloud.com>
6
6
  Maintainer-email: Shashi Jagtap <team@super-agentic.ai>, Shashi Jagtap <shashikant.jagtap@icloud.com>
@@ -35,7 +35,7 @@ Requires-Dist: google-genai>=0.8.0
35
35
  Requires-Dist: numpy>=1.24.0
36
36
  Requires-Dist: litellm>=1.80.0
37
37
  Requires-Dist: tenacity>=8.0.0
38
- Requires-Dist: gepa==0.0.22
38
+ Requires-Dist: gepa==0.1.4
39
39
  Requires-Dist: agent-client-protocol>=0.7.0
40
40
  Provides-Extra: dev
41
41
  Requires-Dist: pytest>=7.0.0; extra == "dev"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "codeoptix"
3
- version = "0.1.2"
3
+ version = "0.1.4"
4
4
  description = "Agentic Code Optimization & Deep Evaluation for Superior Coding Agent Experience. Built by Superagentic AI."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -39,7 +39,7 @@ dependencies = [
39
39
  "numpy>=1.24.0",
40
40
  "litellm>=1.80.0",
41
41
  "tenacity>=8.0.0",
42
- "gepa==0.0.22",
42
+ "gepa==0.1.4",
43
43
  "agent-client-protocol>=0.7.0",
44
44
  ]
45
45
 
@@ -5,4 +5,4 @@ The universal code optimization engine that improves coding agent experience wit
5
5
  Built by Superagentic AI - Advancing AI agent optimization and autonomous systems.
6
6
  """
7
7
 
8
- __version__ = "0.1.2"
8
+ __version__ = "0.1.3"
@@ -124,12 +124,12 @@ Please provide your response in the following format:
124
124
 
125
125
  CODE:
126
126
  ```python
127
- # Your code here
127
+ # Your code here - must be valid Python
128
128
  ```
129
129
 
130
130
  TESTS:
131
131
  ```python
132
- # Your tests here
132
+ # Your tests here - must be valid Python
133
133
  ```
134
134
 
135
135
  EXPLANATION:
@@ -24,7 +24,7 @@ from codeoptix.utils.llm import LLMProvider, create_llm_client
24
24
 
25
25
 
26
26
  @click.group()
27
- @click.version_option(version="0.1.0")
27
+ @click.version_option(version="0.1.3")
28
28
  def main():
29
29
  """CodeOptiX - Agentic Code Optimization & Deep Evaluation for Superior Coding Agent Experience.
30
30
 
@@ -196,33 +196,7 @@ def eval(agent, behaviors, output, config, llm_provider, llm_api_key, context, f
196
196
  sys.exit(1)
197
197
 
198
198
  # Create LLM client for evaluation
199
- try:
200
- llm_provider_enum = LLMProvider[llm_provider.upper()]
201
- except KeyError:
202
- click.echo(f"❌ Error: Unsupported LLM provider: {llm_provider}", err=True)
203
- click.echo(" Available providers: anthropic, openai, google, ollama", err=True)
204
- sys.exit(1)
205
-
206
- # For remote providers, we still require an API key.
207
- # For local Ollama, we do NOT require a key and talk to localhost instead.
208
- api_key: str | None = None
209
199
  if not is_ollama:
210
- api_key = llm_api_key or os.getenv(f"{llm_provider.upper()}_API_KEY")
211
- if not api_key:
212
- click.echo(f"❌ Error: API key required for {llm_provider}", err=True)
213
- click.echo(
214
- f" Set {llm_provider.upper()}_API_KEY environment variable or use --llm-api-key",
215
- err=True,
216
- )
217
- click.echo("", err=True)
218
- click.echo("💡 Tip: Without an API key, you can use basic static analysis:", err=True)
219
- click.echo(" codeoptix lint --path ./src", err=True)
220
- click.echo(
221
- " This runs linters (ruff, bandit, flake8, etc.) without requiring API keys.",
222
- err=True,
223
- )
224
- sys.exit(1)
225
- else:
226
200
  click.echo("🧠 Using local Ollama provider.")
227
201
 
228
202
  try:
@@ -5,6 +5,13 @@ GEPA's InstructionProposalSignature component for prompt evolution.
5
5
 
6
6
  Note: This is NOT a full GEPA framework integration. We're using GEPA's proven
7
7
  instruction proposal mechanism rather than the complete GEPA optimization engine.
8
+
9
+ GEPA 0.1.x notes:
10
+ - InstructionProposalSignature placeholders are ``<curr_param>`` and ``<side_info>``
11
+ (renamed from ``<curr_instructions>`` / ``<inputs_outputs_feedback>`` in 0.0.x).
12
+ - Custom ``prompt_template`` values must include those 0.1.x placeholders.
13
+ - LanguageModel may receive either a string prompt or a multimodal messages list;
14
+ CodeOptiX only feeds text feedback today, so the string path is the common case.
8
15
  """
9
16
 
10
17
  from typing import Any
@@ -25,7 +32,8 @@ class MinimalGEPAProposer:
25
32
 
26
33
  Args:
27
34
  llm_client: LLM client compatible with GEPA's LanguageModel interface
28
- config: Configuration dictionary
35
+ config: Configuration dictionary. Optional ``prompt_template`` must use
36
+ GEPA 0.1.x placeholders ``<curr_param>`` and ``<side_info>``.
29
37
  """
30
38
  self.llm_client = llm_client
31
39
  self.config = config or {}
@@ -118,8 +126,7 @@ class MinimalGEPAProposer:
118
126
  """
119
127
  Wrap CodeOptiX LLM client to GEPA's LanguageModel interface.
120
128
 
121
- GEPA expects a LanguageModel Protocol with a __call__ method that takes
122
- a prompt string and returns a string response.
129
+ GEPA 0.1.x LanguageModel accepts ``str | list[dict]`` and returns a string.
123
130
  """
124
131
 
125
132
  class GEPALLMWrapper:
@@ -130,16 +137,20 @@ class MinimalGEPAProposer:
130
137
  if hasattr(llm_client, "config") and isinstance(llm_client.config, dict):
131
138
  self.default_model = llm_client.config.get("model", self.default_model)
132
139
 
133
- def __call__(self, prompt: str) -> str:
140
+ def __call__(self, prompt: str | list[dict[str, Any]]) -> str:
134
141
  """
135
142
  Generate response using CodeOptiX LLM client.
136
143
 
137
- This implements GEPA's LanguageModel Protocol:
138
- - Takes a prompt string
139
- - Returns a string response
144
+ Implements GEPA's LanguageModel Protocol for both string prompts
145
+ and OpenAI-style multimodal message lists.
140
146
  """
147
+ if isinstance(prompt, str):
148
+ messages: list[dict[str, Any]] = [{"role": "user", "content": prompt}]
149
+ else:
150
+ messages = prompt
151
+
141
152
  response = self.llm_client.chat_completion(
142
- messages=[{"role": "user", "content": prompt}],
153
+ messages=messages,
143
154
  model=self.default_model,
144
155
  temperature=0.7,
145
156
  )
@@ -248,9 +248,10 @@ class OllamaClient(LLMClient):
248
248
  **kwargs: Any,
249
249
  ) -> str:
250
250
  """Generate a chat completion using a local Ollama model."""
251
+ # Use Ollama's chat API which properly handles chat messages
251
252
  payload = {
252
253
  "model": model,
253
- "prompt": messages[0]["content"],
254
+ "messages": messages, # Pass messages directly
254
255
  "stream": False,
255
256
  "options": {
256
257
  "temperature": temperature,
@@ -261,7 +262,7 @@ class OllamaClient(LLMClient):
261
262
 
262
263
  data = json.dumps(payload).encode("utf-8")
263
264
  req = urllib.request.Request(
264
- f"{self.base_url}/api/generate",
265
+ f"{self.base_url}/api/chat",
265
266
  data=data,
266
267
  headers={"Content-Type": "application/json"},
267
268
  method="POST",
@@ -290,7 +291,10 @@ class OllamaClient(LLMClient):
290
291
  except json.JSONDecodeError as exc: # pragma: no cover - unexpected response
291
292
  raise RuntimeError(f"Invalid JSON from Ollama: {body!r}") from exc
292
293
 
293
- # Ollama generate API: response["response"]
294
+ # Ollama chat API: response["message"]["content"]
295
+ # Fallback to generate API format for backward compatibility
296
+ if "message" in obj and "content" in obj["message"]:
297
+ return obj["message"]["content"]
294
298
  return obj.get("response", "")
295
299
 
296
300
  def get_available_models(self) -> list[str]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codeoptix
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: Agentic Code Optimization & Deep Evaluation for Superior Coding Agent Experience. Built by Superagentic AI.
5
5
  Author-email: Shashi Jagtap <shashi@super-agentic.ai>, Shashi Jagtap <shashikant.jagtap@icloud.com>
6
6
  Maintainer-email: Shashi Jagtap <team@super-agentic.ai>, Shashi Jagtap <shashikant.jagtap@icloud.com>
@@ -35,7 +35,7 @@ Requires-Dist: google-genai>=0.8.0
35
35
  Requires-Dist: numpy>=1.24.0
36
36
  Requires-Dist: litellm>=1.80.0
37
37
  Requires-Dist: tenacity>=8.0.0
38
- Requires-Dist: gepa==0.0.22
38
+ Requires-Dist: gepa==0.1.4
39
39
  Requires-Dist: agent-client-protocol>=0.7.0
40
40
  Provides-Extra: dev
41
41
  Requires-Dist: pytest>=7.0.0; extra == "dev"
@@ -7,7 +7,7 @@ google-genai>=0.8.0
7
7
  numpy>=1.24.0
8
8
  litellm>=1.80.0
9
9
  tenacity>=8.0.0
10
- gepa==0.0.22
10
+ gepa==0.1.4
11
11
  agent-client-protocol>=0.7.0
12
12
 
13
13
  [accessibility]
@@ -1,6 +1,5 @@
1
1
  """Test behaviors for coverage."""
2
2
 
3
-
4
3
  from codeoptix.adapters import AgentOutput
5
4
  from codeoptix.behaviors import create_behavior
6
5
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes