cellenium 0.3.4__tar.gz → 0.3.5__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.
- {cellenium-0.3.4 → cellenium-0.3.5}/PKG-INFO +1 -1
- {cellenium-0.3.4 → cellenium-0.3.5}/pyproject.toml +1 -1
- cellenium-0.3.5/src/cellenium/ai/agents/vision/schemas.py +22 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/tests/e2e/test_google_search.py +2 -1
- cellenium-0.3.4/src/cellenium/ai/agents/vision/schemas.py +0 -41
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/bin/checklist.js +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/artifact.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/checklist/before-startup.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/checklist/cruising.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/checklist/fordec.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/checklist/landing.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/evaluator.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/executor.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/locator-writer.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/prd-reader.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/test-spec.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/web.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/commands/cellenium/writer.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/artifact/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/before-startup/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/cruising/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/emergency/fordec/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/evaluator/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/executor/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/landing/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/locator-writer/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/prd-reader/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/test-spec/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/web/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/cellenium/writer/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/checklist/before-startup/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/checklist/cruising/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/checklist/emergency/fordec/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/skills/checklist/landing/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.claude/test/install.test.js +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.env.example +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/.gitignore +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/LICENSE +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/README.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/__init__.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/__init__.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/agents/__init__.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/agents/vision/__init__.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/agents/vision/config/agents.yaml +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/agents/vision/config/tasks.yaml +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/agents/vision/crew.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/agents/vision/skills/evaluator/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/agents/vision/skills/vision/SKILL.md +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/agents/vision/tools/vision.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/config.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/tools/__init__.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/tools/image_encoder.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/api/__init__.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/api/vision.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/cli.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/engine/__init__.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/engine/manager.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/engine/page_engine.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/functions/__init__.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/functions/locators.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/functions/logger.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/functions/sheets.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/settings.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/templates/env.template +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/tests/e2e/conftest.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/tests/test_cli.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/tests/test_google_sheet_locators.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/tests/test_page_engine.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/tests/test_settings.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/tests/test_vision_agent.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/tests/test_vision_api.py +0 -0
- {cellenium-0.3.4 → cellenium-0.3.5}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: cellenium
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.5
|
|
4
4
|
Summary: Playwright browser automation with a Google Sheets Page Object Model and CrewAI vision analysis
|
|
5
5
|
Project-URL: Homepage, https://github.com/MedviJenka/cellenium-playwright
|
|
6
6
|
License-File: LICENSE
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from typing import Annotated
|
|
2
|
+
from pydantic import BaseModel, ConfigDict, Field, StringConstraints
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
VisionText = Annotated[str, StringConstraints(strip_whitespace=True, min_length=1, max_length=200)]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ColorFinding(BaseModel):
|
|
9
|
+
"""A visible color and its optional six-digit RGB value."""
|
|
10
|
+
model_config = ConfigDict(extra="forbid", strict=True)
|
|
11
|
+
name: VisionText = Field(description="Common name of the visible color.")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class VisionSchema(BaseModel):
|
|
15
|
+
"""Structured, evidence-grounded observations from image analysis."""
|
|
16
|
+
model_config = ConfigDict(extra="forbid", strict=True)
|
|
17
|
+
human_language: str = Field(..., description='what i have seen in this screenshot')
|
|
18
|
+
confidence_level: float = Field(ge=0, le=100, description="Overall confidence in the extracted findings, from 0 to 100.")
|
|
19
|
+
items_found: list[VisionText] = Field(default_factory=list, max_length=100, description="Distinct visible objects or items, using short noun phrases.",)
|
|
20
|
+
colors: list[ColorFinding] = Field(default_factory=list, max_length=50, description="Colors visibly present in the image.",)
|
|
21
|
+
names: list[VisionText] = Field(default_factory=list, max_length=100, description="Names or named entities transcribed exactly as visible.")
|
|
22
|
+
dates: list[VisionText] = Field(default_factory=list, max_length=100, description="Dates transcribed exactly as visible, without guessing a format.",)
|
|
@@ -16,4 +16,5 @@ class TestGoogleSearch:
|
|
|
16
16
|
engine.get_element("button").click()
|
|
17
17
|
sc = engine.get_screenshot()
|
|
18
18
|
response = run_vision_agent(prompt='what is displayed?', image=[sc])
|
|
19
|
-
|
|
19
|
+
log.fire(f'ai response:\n{response}')
|
|
20
|
+
assert response['confidence_level'] > 80, log.fire(message=f'test failed, confidence level is {response['confidence_level']}', level='error')
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
from typing import Annotated
|
|
2
|
-
from pydantic import BaseModel, ConfigDict, Field, StringConstraints
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
VisionText = Annotated[str, StringConstraints(strip_whitespace=True, min_length=1, max_length=200)]
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class ColorFinding(BaseModel):
|
|
9
|
-
"""A visible color and its optional six-digit RGB value."""
|
|
10
|
-
model_config = ConfigDict(extra="forbid", strict=True)
|
|
11
|
-
name: VisionText = Field(description="Common name of the visible color.")
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class VisionSchema(BaseModel):
|
|
15
|
-
"""Structured, evidence-grounded observations from image analysis."""
|
|
16
|
-
model_config = ConfigDict(extra="forbid", strict=True)
|
|
17
|
-
confidence_level: float = Field(
|
|
18
|
-
ge=0,
|
|
19
|
-
le=100,
|
|
20
|
-
description="Overall confidence in the extracted findings, from 0 to 100.",
|
|
21
|
-
)
|
|
22
|
-
items_found: list[VisionText] = Field(
|
|
23
|
-
default_factory=list,
|
|
24
|
-
max_length=100,
|
|
25
|
-
description="Distinct visible objects or items, using short noun phrases.",
|
|
26
|
-
)
|
|
27
|
-
colors: list[ColorFinding] = Field(
|
|
28
|
-
default_factory=list,
|
|
29
|
-
max_length=50,
|
|
30
|
-
description="Colors visibly present in the image.",
|
|
31
|
-
)
|
|
32
|
-
names: list[VisionText] = Field(
|
|
33
|
-
default_factory=list,
|
|
34
|
-
max_length=100,
|
|
35
|
-
description="Names or named entities transcribed exactly as visible.",
|
|
36
|
-
)
|
|
37
|
-
dates: list[VisionText] = Field(
|
|
38
|
-
default_factory=list,
|
|
39
|
-
max_length=100,
|
|
40
|
-
description="Dates transcribed exactly as visible, without guessing a format.",
|
|
41
|
-
)
|
|
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
|
{cellenium-0.3.4 → cellenium-0.3.5}/src/cellenium/ai/agents/vision/skills/evaluator/SKILL.md
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
|