evolve-sdk 0.0.55.dev1156__tar.gz → 0.0.55.dev1164__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.
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/PKG-INFO +1 -1
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/__init__.py +1 -1
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/hosted.py +93 -18
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve_sdk.egg-info/PKG-INFO +1 -1
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/pyproject.toml +1 -1
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/LICENSE +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/MANIFEST.in +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/README.md +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/bridge/__init__.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/bridge/dist/bridge.bundle.cjs +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/_http.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/agent.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/bridge.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/browser_credentials.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/browser_profiles.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/config.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/integrations.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/managed_secrets.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/pipeline/__init__.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/pipeline/pipeline.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/pipeline/types.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/prompts/__init__.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/prompts/agent_md/judge.md +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/prompts/agent_md/reduce.md +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/prompts/agent_md/verify.md +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/prompts/user/judge.md +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/prompts/user/retry_feedback.md +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/prompts/user/verify.md +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/py.typed +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/results.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/retry.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/schema.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/sessions_client.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/storage_client.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/swarm/__init__.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/swarm/results.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/swarm/swarm.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/swarm/types.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/utils.py +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve_sdk.egg-info/SOURCES.txt +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve_sdk.egg-info/dependency_links.txt +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve_sdk.egg-info/requires.txt +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve_sdk.egg-info/top_level.txt +0 -0
- {evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/setup.cfg +0 -0
|
@@ -1520,13 +1520,15 @@ class Rubric(TypedDict):
|
|
|
1520
1520
|
class AnalyzeConfigInput(TypedDict, total=False):
|
|
1521
1521
|
"""Trace-analysis configuration INPUT — Harbor's ``harbor analyze``
|
|
1522
1522
|
vocabulary (their cli/analyze.py: ``--model``, ``--rubric``,
|
|
1523
|
-
``--prompt
|
|
1523
|
+
``--prompt``, and the selection and width options ``-n/--n-concurrent``,
|
|
1524
|
+
``--passing`` / ``--failing``, ``-l/--n-trials``), the spec's
|
|
1525
|
+
``AnalyzeConfigInput`` schema.
|
|
1524
1526
|
|
|
1525
1527
|
PRESENCE of this object is the switch: on ``jobs().start(analyze=...)``
|
|
1526
1528
|
it arms the embedded trigger (each trial is analyzed server-side right
|
|
1527
1529
|
after it settles; CANCELLED trials are skipped); ``{}`` is legal and
|
|
1528
|
-
means "all defaults" —
|
|
1529
|
-
effort (
|
|
1530
|
+
means "all defaults" — glm-5.3-flash-fireworks at its per-model
|
|
1531
|
+
effort (max) over Harbor's default rubric (reward_hacking,
|
|
1530
1532
|
task_specification). The analyzer always runs the
|
|
1531
1533
|
claude-code harness in its own sealed sandbox — on the provider
|
|
1532
1534
|
``sandbox_provider`` names, or the platform's analysis default when it
|
|
@@ -1534,11 +1536,14 @@ class AnalyzeConfigInput(TypedDict, total=False):
|
|
|
1534
1536
|
line, never blended into the trial's own bill.
|
|
1535
1537
|
"""
|
|
1536
1538
|
#: Model the analyzer agent runs — Harbor's ``--model``; the default is
|
|
1537
|
-
#:
|
|
1538
|
-
#:
|
|
1539
|
-
#:
|
|
1540
|
-
#:
|
|
1541
|
-
#:
|
|
1539
|
+
#: glm-5.3-flash-fireworks on this platform's claude roster (GLM-5.3-Flash
|
|
1540
|
+
#: served by Fireworks through the gateway route of that name; the
|
|
1541
|
+
#: platform's ruling 2026-09-08: GLM-5.3-Flash on Fireworks at max, the
|
|
1542
|
+
#: effort its published scores use; a recorded deviation from Harbor's
|
|
1543
|
+
#: claude-haiku-4-5 default — analysis is input-dominated, and this is
|
|
1544
|
+
#: the roster's intelligence-per-input-dollar pick at its published
|
|
1545
|
+
#: effort; deepseek-v4-flash-vision, glm-5.3-flash and haiku stay as
|
|
1546
|
+
#: alternatives, glm-5.3 to escalate).
|
|
1542
1547
|
#: Same vocabulary as ``agents[].model_name``: either advertised
|
|
1543
1548
|
#: spelling is accepted and stored as given (the default is the roster
|
|
1544
1549
|
#: alias); stored analyses serve the spelling they were created under.
|
|
@@ -1569,9 +1574,11 @@ class AnalyzeConfigInput(TypedDict, total=False):
|
|
|
1569
1574
|
#: ``analyze['reasoning_efforts']``, an unknown value is refused
|
|
1570
1575
|
#: ``invalid_input`` exactly as an arm's is. Omitted, the PER-MODEL
|
|
1571
1576
|
#: default applies (``analyze['models'][i]['default_reasoning_effort']``:
|
|
1572
|
-
#:
|
|
1573
|
-
#:
|
|
1574
|
-
#:
|
|
1577
|
+
#: max on glm-5.3-flash-fireworks, the default model — the platform's
|
|
1578
|
+
#: ruling 2026-09-08, the effort its published scores use; high on
|
|
1579
|
+
#: deepseek-v4-flash-vision; low on glm-5.3-flash — the platform's
|
|
1580
|
+
#: ruling for a model whose thinking Z.ai documents as forced, with no
|
|
1581
|
+
#: levels — the claude harness default elsewhere). Always passed to the analyzer explicitly and
|
|
1575
1582
|
#: recorded on the analysis (``TrialAnalysis['reasoning_effort']``). A
|
|
1576
1583
|
#: hosted extension: Harbor's analyze has no effort option.
|
|
1577
1584
|
reasoning_effort: str
|
|
@@ -1583,6 +1590,36 @@ class AnalyzeConfigInput(TypedDict, total=False):
|
|
|
1583
1590
|
#: enqueue (daytona unless the operator retuned the fleet) — the value
|
|
1584
1591
|
#: the resolved ``AnalyzeConfig['sandbox_provider']`` echo reports.
|
|
1585
1592
|
sandbox_provider: EvalSandboxProvider
|
|
1593
|
+
#: How many of this wave's analyses run at once — Harbor's
|
|
1594
|
+
#: ``-n/--n-concurrent`` ("Max concurrent trial analyses", their
|
|
1595
|
+
#: cli/analyze.py:278-280). Bounded by the organization's
|
|
1596
|
+
#: ``max_concurrent_analyses`` at every claim: the job never holds more
|
|
1597
|
+
#: than the smaller of the two RUNNING fleet-wide. Omitted, the
|
|
1598
|
+
#: organization's ceiling alone bounds the wave (its fleet default is 16,
|
|
1599
|
+
#: four times Harbor's own default of 4) and the resolved echo reads ``None``. An
|
|
1600
|
+
#: integer in ``[1, 150]``; anything else is refused ``invalid_input``
|
|
1601
|
+
#: naming ``analyze.n_concurrent``.
|
|
1602
|
+
n_concurrent: int
|
|
1603
|
+
#: Analyze only the passing trials — Harbor's ``--passing`` ("Only
|
|
1604
|
+
#: analyze passing trials (reward=1.0)", their cli/analyze.py:282-284):
|
|
1605
|
+
#: a trial passes when it is SCORED with a primary reward of exactly 1.
|
|
1606
|
+
#: Mutually exclusive with ``failing``: both true is refused
|
|
1607
|
+
#: ``invalid_input`` — Harbor's own "Cannot use both --passing and
|
|
1608
|
+
#: --failing".
|
|
1609
|
+
passing: bool
|
|
1610
|
+
#: Analyze only the failing trials — Harbor's ``--failing`` ("Only
|
|
1611
|
+
#: analyze failing trials (reward<1.0 or exception)", their
|
|
1612
|
+
#: cli/analyze.py:285-287): every analyzable trial that is not passing —
|
|
1613
|
+
#: a reward below 1 or none, and every error status. CANCELLED trials
|
|
1614
|
+
#: are never analyzed under either filter.
|
|
1615
|
+
failing: bool
|
|
1616
|
+
#: At most this many trials get an analysis — Harbor's ``-l/--n-trials``
|
|
1617
|
+
#: ("Max trials to analyze", their cli/analyze.py:288-290), applied AFTER
|
|
1618
|
+
#: the reward filter: on the manual wave the first ``n_trials`` matching
|
|
1619
|
+
#: trials in the job's trial order; on the embedded trigger the first
|
|
1620
|
+
#: ``n_trials`` matching trials to settle. An integer of at least 1;
|
|
1621
|
+
#: anything else is refused ``invalid_input`` naming ``analyze.n_trials``.
|
|
1622
|
+
n_trials: int
|
|
1586
1623
|
|
|
1587
1624
|
|
|
1588
1625
|
class AnalyzeConfig(TypedDict):
|
|
@@ -1613,6 +1650,18 @@ class AnalyzeConfig(TypedDict):
|
|
|
1613
1650
|
#: resolved-at-accept law above, stated so the echo is never read as
|
|
1614
1651
|
#: history).
|
|
1615
1652
|
sandbox_provider: EvalSandboxProvider
|
|
1653
|
+
#: The per-job width this policy's analyses are claimed under
|
|
1654
|
+
#: (``AnalyzeConfigInput['n_concurrent']``, as stored); None = none
|
|
1655
|
+
#: named, the organization's ``max_concurrent_analyses`` alone bounds
|
|
1656
|
+
#: the wave.
|
|
1657
|
+
n_concurrent: Optional[int]
|
|
1658
|
+
#: The reward filter as stored; both ``passing`` and ``failing`` False =
|
|
1659
|
+
#: every analyzable trial.
|
|
1660
|
+
passing: bool
|
|
1661
|
+
failing: bool
|
|
1662
|
+
#: The trial cap as stored (``AnalyzeConfigInput['n_trials']``); None =
|
|
1663
|
+
#: no cap.
|
|
1664
|
+
n_trials: Optional[int]
|
|
1616
1665
|
|
|
1617
1666
|
|
|
1618
1667
|
class AnalysisCheck(TypedDict):
|
|
@@ -6495,7 +6544,7 @@ class JobsClient:
|
|
|
6495
6544
|
trigger (Harbor's ``harbor analyze`` vocabulary, the spec's
|
|
6496
6545
|
AnalyzeConfigInput): PRESENCE is the switch — each trial is analyzed
|
|
6497
6546
|
server-side right after it settles (CANCELLED trials are skipped),
|
|
6498
|
-
``{}`` means "all defaults" (
|
|
6547
|
+
``{}`` means "all defaults" (glm-5.3-flash-fireworks at its
|
|
6499
6548
|
per-model effort, Harbor's default rubric), and the response
|
|
6500
6549
|
echoes the RESOLVED policy as
|
|
6501
6550
|
``Job.analyze`` (:class:`AnalyzeConfig`); omitted, no embedded
|
|
@@ -7072,6 +7121,10 @@ class JobsClient:
|
|
|
7072
7121
|
prompt: Optional[str] = None,
|
|
7073
7122
|
sandbox_provider: Optional[EvalSandboxProvider] = None,
|
|
7074
7123
|
reasoning_effort: Optional[str] = None,
|
|
7124
|
+
n_concurrent: Optional[int] = None,
|
|
7125
|
+
passing: Optional[bool] = None,
|
|
7126
|
+
failing: Optional[bool] = None,
|
|
7127
|
+
n_trials: Optional[int] = None,
|
|
7075
7128
|
) -> Job:
|
|
7076
7129
|
"""Analyze a terminal job's trial traces (rubric-driven, Harbor's
|
|
7077
7130
|
``harbor analyze``), server-side.
|
|
@@ -7095,13 +7148,26 @@ class JobsClient:
|
|
|
7095
7148
|
applies (daytona unless the operator retuned the fleet).
|
|
7096
7149
|
``reasoning_effort`` is the arms' effort vocabulary applied to the
|
|
7097
7150
|
analyzer (``meta().analyze['reasoning_efforts']``); omitted, the
|
|
7098
|
-
per-model default applies (
|
|
7099
|
-
on glm-5.3-flash, the claude harness
|
|
7100
|
-
effort is always passed explicitly and
|
|
7101
|
-
|
|
7102
|
-
|
|
7151
|
+
per-model default applies (max on glm-5.3-flash-fireworks, high on
|
|
7152
|
+
deepseek-v4-flash-vision, low on glm-5.3-flash, the claude harness
|
|
7153
|
+
default elsewhere) — the effort is always passed explicitly and
|
|
7154
|
+
recorded on each analysis.
|
|
7155
|
+
Every argument omitted means the defaults: glm-5.3-flash-fireworks
|
|
7156
|
+
at max over Harbor's default rubric (reward_hacking,
|
|
7103
7157
|
task_specification), on the platform's analysis default provider.
|
|
7104
7158
|
CANCELLED trials are never analyzed.
|
|
7159
|
+
Which trials, and how wide, are Harbor's own analyze options with
|
|
7160
|
+
their exact names (their cli/analyze.py:278-290): ``passing`` /
|
|
7161
|
+
``failing`` analyze only the trials on that side of the reward
|
|
7162
|
+
line (passing = SCORED with reward exactly 1; failing = everything
|
|
7163
|
+
else analyzable — reward below 1 or none, and every error status);
|
|
7164
|
+
``n_trials`` caps the wave at the first N matching trials in the
|
|
7165
|
+
job's trial order, after the filter (Harbor's ``-l/--n-trials``);
|
|
7166
|
+
``n_concurrent`` is how many of the wave's analyses run at once,
|
|
7167
|
+
beneath the organization's ``max_concurrent_analyses`` (Harbor's
|
|
7168
|
+
``-n/--n-concurrent``; omitted = the ceiling alone). ``passing`` and
|
|
7169
|
+
``failing`` together are refused ``invalid_input`` — Harbor's own
|
|
7170
|
+
"Cannot use both --passing and --failing".
|
|
7105
7171
|
|
|
7106
7172
|
The server owns every acceptance refusal, surfaced typed:
|
|
7107
7173
|
``job_not_terminal``, ``invalid_rubric`` (unknown keys named, empty
|
|
@@ -7110,7 +7176,8 @@ class JobsClient:
|
|
|
7110
7176
|
provider outside the lineup — the message names the roster, the
|
|
7111
7177
|
bound or the legal values),
|
|
7112
7178
|
``analysis_already_running`` (one wave at a time),
|
|
7113
|
-
``no_analyzable_trials`` (every trial CANCELLED
|
|
7179
|
+
``no_analyzable_trials`` (every trial CANCELLED, or no trial on the
|
|
7180
|
+
side of the reward filter).
|
|
7114
7181
|
"""
|
|
7115
7182
|
body: Dict[str, Any] = {}
|
|
7116
7183
|
if model_name is not None:
|
|
@@ -7123,6 +7190,14 @@ class JobsClient:
|
|
|
7123
7190
|
body['sandbox_provider'] = sandbox_provider
|
|
7124
7191
|
if reasoning_effort is not None:
|
|
7125
7192
|
body['reasoning_effort'] = reasoning_effort
|
|
7193
|
+
if n_concurrent is not None:
|
|
7194
|
+
body['n_concurrent'] = n_concurrent
|
|
7195
|
+
if passing is not None:
|
|
7196
|
+
body['passing'] = passing
|
|
7197
|
+
if failing is not None:
|
|
7198
|
+
body['failing'] = failing
|
|
7199
|
+
if n_trials is not None:
|
|
7200
|
+
body['n_trials'] = n_trials
|
|
7126
7201
|
raw = await self._http.request_json(
|
|
7127
7202
|
f'/api/jobs/{urllib.parse.quote(id)}/analyze', method='POST', body=body
|
|
7128
7203
|
)
|
|
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
|
{evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve/prompts/user/retry_feedback.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
|
{evolve_sdk-0.0.55.dev1156 → evolve_sdk-0.0.55.dev1164}/evolve_sdk.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|