vision-agent 0.2.136__tar.gz → 0.2.138__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. {vision_agent-0.2.136 → vision_agent-0.2.138}/PKG-INFO +2 -1
  2. {vision_agent-0.2.136 → vision_agent-0.2.138}/pyproject.toml +2 -2
  3. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/agent/vision_agent.py +5 -2
  4. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/tools/meta_tools.py +29 -4
  5. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/utils/execute.py +1 -1
  6. {vision_agent-0.2.136 → vision_agent-0.2.138}/LICENSE +0 -0
  7. {vision_agent-0.2.136 → vision_agent-0.2.138}/README.md +0 -0
  8. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/__init__.py +0 -0
  9. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/agent/__init__.py +0 -0
  10. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/agent/agent.py +0 -0
  11. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/agent/agent_utils.py +0 -0
  12. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/agent/vision_agent_coder.py +0 -0
  13. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/agent/vision_agent_coder_prompts.py +0 -0
  14. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/agent/vision_agent_prompts.py +0 -0
  15. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/clients/__init__.py +0 -0
  16. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/clients/http.py +0 -0
  17. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/clients/landing_public_api.py +0 -0
  18. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/fonts/__init__.py +0 -0
  19. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/fonts/default_font_ch_en.ttf +0 -0
  20. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/lmm/__init__.py +0 -0
  21. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/lmm/lmm.py +0 -0
  22. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/lmm/types.py +0 -0
  23. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/tools/__init__.py +0 -0
  24. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/tools/prompts.py +0 -0
  25. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/tools/tool_utils.py +0 -0
  26. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/tools/tools.py +0 -0
  27. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/tools/tools_types.py +0 -0
  28. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/utils/__init__.py +0 -0
  29. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/utils/exceptions.py +0 -0
  30. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/utils/image_utils.py +0 -0
  31. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/utils/sim.py +0 -0
  32. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/utils/type_defs.py +0 -0
  33. {vision_agent-0.2.136 → vision_agent-0.2.138}/vision_agent/utils/video.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vision-agent
3
- Version: 0.2.136
3
+ Version: 0.2.138
4
4
  Summary: Toolset for Vision Agent
5
5
  Author: Landing AI
6
6
  Author-email: dev@landing.ai
@@ -13,6 +13,7 @@ Requires-Dist: anthropic (>=0.31.0,<0.32.0)
13
13
  Requires-Dist: av (>=11.0.0,<12.0.0)
14
14
  Requires-Dist: e2b (>=0.17.2a50,<0.18.0)
15
15
  Requires-Dist: e2b-code-interpreter (==0.0.11a37)
16
+ Requires-Dist: flake8 (>=7.0.0,<8.0.0)
16
17
  Requires-Dist: ipykernel (>=6.29.4,<7.0.0)
17
18
  Requires-Dist: langsmith (>=0.1.58,<0.2.0)
18
19
  Requires-Dist: nbclient (>=0.10.0,<0.11.0)
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "vision-agent"
7
- version = "0.2.136"
7
+ version = "0.2.138"
8
8
  description = "Toolset for Vision Agent"
9
9
  authors = ["Landing AI <dev@landing.ai>"]
10
10
  readme = "README.md"
@@ -24,6 +24,7 @@ requests = "2.*"
24
24
  tqdm = ">=4.64.0,<5.0.0"
25
25
  pandas = "2.*"
26
26
  openai = "1.*"
27
+ flake8 = "^7.0.0"
27
28
  typing_extensions = "4.*"
28
29
  opencv-python = "4.*"
29
30
  tabulate = "^0.9.0"
@@ -47,7 +48,6 @@ av = "^11.0.0"
47
48
  autoflake = "1.*"
48
49
  pytest = "7.*"
49
50
  black = ">=23,<25"
50
- flake8 = "5.*"
51
51
  isort = "5.*"
52
52
  responses = "^0.23.1"
53
53
  mypy = "<1.8.0"
@@ -276,8 +276,11 @@ class VisionAgent(Agent):
276
276
  # sometimes it gets stuck in a loop, so we force it to exit
277
277
  if last_response == response:
278
278
  response["let_user_respond"] = True
279
-
280
- self.streaming_message({"role": "assistant", "content": response})
279
+ self.streaming_message(
280
+ {"role": "assistant", "error": "Stuck in loop"}
281
+ )
282
+ else:
283
+ self.streaming_message({"role": "assistant", "content": response})
281
284
 
282
285
  if response["let_user_respond"]:
283
286
  break
@@ -214,7 +214,11 @@ def create_code_artifact(artifacts: Artifacts, name: str) -> str:
214
214
  display(
215
215
  {
216
216
  MimeType.APPLICATION_ARTIFACT: json.dumps(
217
- {"name": name, "content": artifacts[name]}
217
+ {
218
+ "name": name,
219
+ "content": artifacts[name],
220
+ "action": "create",
221
+ }
218
222
  )
219
223
  },
220
224
  raw=True,
@@ -305,7 +309,11 @@ def edit_code_artifact(
305
309
  display(
306
310
  {
307
311
  MimeType.APPLICATION_ARTIFACT: json.dumps(
308
- {"name": name, "content": artifacts[name]}
312
+ {
313
+ "name": name,
314
+ "content": artifacts[name],
315
+ "action": "edit",
316
+ }
309
317
  )
310
318
  },
311
319
  raw=True,
@@ -366,7 +374,16 @@ def generate_vision_code(
366
374
  total_lines = len(code_lines)
367
375
 
368
376
  display(
369
- {MimeType.APPLICATION_ARTIFACT: json.dumps({"name": name, "content": code})},
377
+ {
378
+ MimeType.APPLICATION_ARTIFACT: json.dumps(
379
+ {
380
+ "name": name,
381
+ "content": code,
382
+ "contentType": "vision_code",
383
+ "action": "create",
384
+ }
385
+ )
386
+ },
370
387
  raw=True,
371
388
  )
372
389
  return view_lines(code_lines, 0, total_lines, name, total_lines)
@@ -434,7 +451,15 @@ def edit_vision_code(
434
451
  total_lines = len(code_lines)
435
452
 
436
453
  display(
437
- {MimeType.APPLICATION_ARTIFACT: json.dumps({"name": name, "content": code})},
454
+ {
455
+ MimeType.APPLICATION_ARTIFACT: json.dumps(
456
+ {
457
+ "name": name,
458
+ "content": code,
459
+ "action": "edit",
460
+ }
461
+ )
462
+ },
438
463
  raw=True,
439
464
  )
440
465
  return view_lines(code_lines, 0, total_lines, name, total_lines)
@@ -104,7 +104,7 @@ class Result:
104
104
  latex: Optional[str] = None
105
105
  json: Optional[Dict[str, Any]] = None
106
106
  javascript: Optional[str] = None
107
- artifact_name: Optional[str] = None
107
+ artifact: Optional[str] = None
108
108
  extra: Optional[Dict[str, Any]] = None
109
109
  "Extra data that can be included. Not part of the standard types."
110
110
 
File without changes
File without changes