evolve-sdk 0.0.55.dev1069__tar.gz → 0.0.55.dev1085__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 (44) hide show
  1. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/PKG-INFO +1 -1
  2. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/__init__.py +9 -1
  3. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/hosted.py +93 -29
  4. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve_sdk.egg-info/PKG-INFO +1 -1
  5. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/pyproject.toml +1 -1
  6. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/LICENSE +0 -0
  7. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/MANIFEST.in +0 -0
  8. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/README.md +0 -0
  9. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/bridge/__init__.py +0 -0
  10. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/bridge/dist/bridge.bundle.cjs +0 -0
  11. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/_http.py +0 -0
  12. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/agent.py +0 -0
  13. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/bridge.py +0 -0
  14. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/browser_credentials.py +0 -0
  15. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/browser_profiles.py +0 -0
  16. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/config.py +0 -0
  17. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/integrations.py +0 -0
  18. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/managed_secrets.py +0 -0
  19. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/pipeline/__init__.py +0 -0
  20. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/pipeline/pipeline.py +0 -0
  21. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/pipeline/types.py +0 -0
  22. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/prompts/__init__.py +0 -0
  23. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/prompts/agent_md/judge.md +0 -0
  24. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/prompts/agent_md/reduce.md +0 -0
  25. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/prompts/agent_md/verify.md +0 -0
  26. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/prompts/user/judge.md +0 -0
  27. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/prompts/user/retry_feedback.md +0 -0
  28. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/prompts/user/verify.md +0 -0
  29. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/py.typed +0 -0
  30. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/results.py +0 -0
  31. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/retry.py +0 -0
  32. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/schema.py +0 -0
  33. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/sessions_client.py +0 -0
  34. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/storage_client.py +0 -0
  35. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/swarm/__init__.py +0 -0
  36. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/swarm/results.py +0 -0
  37. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/swarm/swarm.py +0 -0
  38. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/swarm/types.py +0 -0
  39. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve/utils.py +0 -0
  40. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve_sdk.egg-info/SOURCES.txt +0 -0
  41. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve_sdk.egg-info/dependency_links.txt +0 -0
  42. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve_sdk.egg-info/requires.txt +0 -0
  43. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/evolve_sdk.egg-info/top_level.txt +0 -0
  44. {evolve_sdk-0.0.55.dev1069 → evolve_sdk-0.0.55.dev1085}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: evolve-sdk
3
- Version: 0.0.55.dev1069
3
+ Version: 0.0.55.dev1085
4
4
  Summary: Pythonic SDK for multi-agent orchestration in E2B sandboxes
5
5
  Author-email: "Swarmlink, Inc." <brandomagnani@evolvingmachines.ai>
6
6
  License: Apache-2.0
@@ -80,6 +80,10 @@ from .hosted import (
80
80
  DatasetRef,
81
81
  DatasetSelector,
82
82
  DatasetVersion,
83
+ DatasetVersionArchiveSource,
84
+ DatasetVersionArchiveUrlSource,
85
+ DatasetVersionGitSource,
86
+ DatasetVersionHubSource,
83
87
  DatasetVersionSource,
84
88
  DatasetsClient,
85
89
  EvalSandboxProvider,
@@ -443,7 +447,7 @@ async def list_checkpoints(
443
447
  await store.close()
444
448
 
445
449
 
446
- __version__ = '0.0.55.dev1069'
450
+ __version__ = '0.0.55.dev1085'
447
451
 
448
452
  __all__ = [
449
453
  # Main classes
@@ -533,6 +537,10 @@ __all__ = [
533
537
  'DatasetManifestMetadata',
534
538
  'DatasetVersion',
535
539
  'DatasetVersionSource',
540
+ 'DatasetVersionArchiveSource',
541
+ 'DatasetVersionArchiveUrlSource',
542
+ 'DatasetVersionGitSource',
543
+ 'DatasetVersionHubSource',
536
544
  'DatasetRef',
537
545
  'DatasetSelector',
538
546
  'DatasetFailedTask',
@@ -530,15 +530,12 @@ class DatasetManifestMetadata:
530
530
 
531
531
 
532
532
  @dataclass
533
- class DatasetVersionSource:
534
- """One version's git provenance.
533
+ class DatasetVersionGitSource:
534
+ """A version published from a git repository (``git_url`` + ``git_ref``).
535
535
 
536
536
  The repository, the ref exactly as requested, the RESOLVED commit the
537
537
  clone landed on (for an annotated tag, the peeled commit — never the tag
538
- object), and the repository subfolder the corpus was read from. Served on
539
- EVERY git-imported version whatever its state — a version whose build
540
- FAILED can never become the active version, so this is where its
541
- imported bytes stay observable.
538
+ object), and the repository subfolder the corpus was read from.
542
539
  """
543
540
  #: The ref the import was asked for, exactly as requested: a sha, a tag,
544
541
  #: or (legacy rows) a branch.
@@ -552,6 +549,56 @@ class DatasetVersionSource:
552
549
  #: The repository subfolder the corpus was read from; ``None`` =
553
550
  #: repository root.
554
551
  path: Optional[str] = None
552
+ #: The publish kind, in the publish request's own words.
553
+ kind: Literal['git'] = field(default='git', init=False)
554
+
555
+
556
+ @dataclass
557
+ class DatasetVersionArchiveSource:
558
+ """A version published from an UPLOADED archive — the multipart ``archive``
559
+ part, which is what ``publish(directory=...)`` and the CLI's ``--dir``
560
+ send. No locator: the bytes came from the client."""
561
+ #: ``sha256:<hex>`` over the uploaded tarball's bytes.
562
+ digest: str
563
+ kind: Literal['archive'] = field(default='archive', init=False)
564
+
565
+
566
+ @dataclass
567
+ class DatasetVersionArchiveUrlSource:
568
+ """A version published from a fetched tarball (``archive_url``)."""
569
+ #: The public https url the corpus tarball was fetched from, as given.
570
+ archive_url: str
571
+ #: ``sha256:<hex>`` over the fetched tarball's bytes.
572
+ digest: str
573
+ kind: Literal['archive_url'] = field(default='archive_url', init=False)
574
+
575
+
576
+ @dataclass
577
+ class DatasetVersionHubSource:
578
+ """A version published from a Harbor hub package (``hub_package``)."""
579
+ #: The package reference as given — ``org/name`` or ``org/name@ref``
580
+ #: (Harbor's reference grammar).
581
+ hub_package: str
582
+ #: ``sha256:<hex>`` — the hub's content hash over the task file set
583
+ #: (Harbor's recipe), the immutable hub version the import was pinned to,
584
+ #: whatever the reference's tag points at today.
585
+ digest: str
586
+ kind: Literal['hub_package'] = field(default='hub_package', init=False)
587
+
588
+
589
+ #: What one version was imported from — the LOCATOR the publish named (what
590
+ #: you would pass to publish the same source again) and the IDENTITY the
591
+ #: import resolved it to — one dataclass per publish kind, each carrying its
592
+ #: ``kind`` in the publish request's own words. Served on EVERY version
593
+ #: whatever its state: a version whose build FAILED can never become the
594
+ #: active version, so this is where its imported bytes stay observable.
595
+ #: Every ``digest`` is spelled ``sha256:<hex>``; a git ``commit`` is a bare sha.
596
+ DatasetVersionSource = Union[
597
+ DatasetVersionGitSource,
598
+ DatasetVersionArchiveSource,
599
+ DatasetVersionArchiveUrlSource,
600
+ DatasetVersionHubSource,
601
+ ]
555
602
 
556
603
 
557
604
  @dataclass
@@ -632,10 +679,12 @@ class DatasetVersion:
632
679
  #: ``None`` when the corpus carried no manifest, and on servers that
633
680
  #: predate the field — absence is "nothing to report", never a crash.
634
681
  manifest: Optional[DatasetManifestMetadata] = None
635
- #: What THIS version was imported from git only. ``None`` when the
636
- #: version was not imported from a git remote (an uploaded tarball, a
637
- #: seeded directory, a pre-provenance row), and on servers that predate
638
- #: the field never a fabricated value.
682
+ #: What THIS version was imported from, per publish kind (``kind``: git /
683
+ #: archive / archive_url / hub_package). ``None`` when the platform
684
+ #: recorded nothing readable (a seeded directory, a pre-provenance row,
685
+ #: or a fetched archive_url / hub_package row whose locator was never
686
+ #: stored), and on servers that predate the field — never a fabricated
687
+ #: value.
639
688
  source: Optional[DatasetVersionSource] = None
640
689
 
641
690
 
@@ -2740,28 +2789,43 @@ def _map_version_manifest(data: Any) -> Optional[DatasetManifestMetadata]:
2740
2789
 
2741
2790
 
2742
2791
  def _map_version_source(data: Any) -> Optional[DatasetVersionSource]:
2743
- """Map a version's own git provenance, tolerating every server generation.
2744
-
2745
- Absent (an older server, or a non-git version — an uploaded tarball has
2746
- no git upstream) or unreadable input is ``None`` "nothing to report",
2747
- never a fabricated value and never a crash. Served on every git-imported
2748
- version, including one whose build FAILED (it can never
2749
- activate, so it never appears as ``upstream``).
2792
+ """Map a version's ``source`` one dataclass per publish kind, keyed by
2793
+ the wire's ``kind`` — tolerating every server generation.
2794
+
2795
+ A server from before the kinds existed served the git shape alone,
2796
+ without ``kind`` its ``commit`` still names it. A kind this SDK does
2797
+ not know, an object missing its kind's fields, absent or unreadable
2798
+ input is ``None`` — "nothing to report", never a fabricated value and
2799
+ never a crash. Served on every version, including one whose build
2800
+ FAILED (it can never activate, so it never appears as ``upstream``).
2750
2801
  """
2751
2802
  if not isinstance(data, dict):
2752
2803
  return None
2753
- ref = data.get('ref')
2754
- commit = data.get('commit')
2755
- if not isinstance(ref, str) or not isinstance(commit, str):
2756
- return None
2757
- git_url = data.get('git_url')
2758
- path = data.get('path')
2759
- return DatasetVersionSource(
2760
- ref=ref,
2761
- commit=commit,
2762
- git_url=git_url if isinstance(git_url, str) else None,
2763
- path=path if isinstance(path, str) else None,
2764
- )
2804
+
2805
+ def text(key: str) -> Optional[str]:
2806
+ value = data.get(key)
2807
+ return value if isinstance(value, str) else None
2808
+
2809
+ kind = text('kind') or ('git' if text('commit') is not None else None)
2810
+ if kind == 'git':
2811
+ ref, commit = text('ref'), text('commit')
2812
+ if ref is None or commit is None:
2813
+ return None
2814
+ return DatasetVersionGitSource(ref=ref, commit=commit, git_url=text('git_url'), path=text('path'))
2815
+ if kind == 'archive':
2816
+ digest = text('digest')
2817
+ return None if digest is None else DatasetVersionArchiveSource(digest=digest)
2818
+ if kind == 'archive_url':
2819
+ archive_url, digest = text('archive_url'), text('digest')
2820
+ if archive_url is None or digest is None:
2821
+ return None
2822
+ return DatasetVersionArchiveUrlSource(archive_url=archive_url, digest=digest)
2823
+ if kind == 'hub_package':
2824
+ hub_package, digest = text('hub_package'), text('digest')
2825
+ if hub_package is None or digest is None:
2826
+ return None
2827
+ return DatasetVersionHubSource(hub_package=hub_package, digest=digest)
2828
+ return None
2765
2829
 
2766
2830
 
2767
2831
  def _map_dataset_version(data: Dict[str, Any]) -> DatasetVersion:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: evolve-sdk
3
- Version: 0.0.55.dev1069
3
+ Version: 0.0.55.dev1085
4
4
  Summary: Pythonic SDK for multi-agent orchestration in E2B sandboxes
5
5
  Author-email: "Swarmlink, Inc." <brandomagnani@evolvingmachines.ai>
6
6
  License: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "evolve-sdk"
7
- version = "0.0.55.dev1069"
7
+ version = "0.0.55.dev1085"
8
8
  description = "Pythonic SDK for multi-agent orchestration in E2B sandboxes"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"