evolvingmachines-evolve 0.0.55.dev1355__py3-none-any.whl

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/__init__.py ADDED
@@ -0,0 +1,819 @@
1
+ """Evolve Python SDK - Pythonic wrapper around the TypeScript Evolve SDK."""
2
+
3
+ from .agent import Evolve
4
+ from .config import (
5
+ AgentConfig,
6
+ E2BProvider,
7
+ ManagedProvider,
8
+ DaytonaProvider,
9
+ ModalProvider,
10
+ SandboxCreateOptions,
11
+ SandboxNetworkPolicy,
12
+ SandboxProvider,
13
+ AgentType,
14
+ WorkspaceMode,
15
+ BrowserProvider,
16
+ BrowserConfig,
17
+ BrowserCredentialScopeEntry,
18
+ BrowserCredentialsConfig,
19
+ BrowserCredentialsClientConfig,
20
+ BrowserProfilesClientConfig,
21
+ ManagedSecretRef,
22
+ ManagedSecretsClientConfig,
23
+ AgentPluginConfig,
24
+ ReasoningEffort,
25
+ AgentPreset,
26
+ ValidationMode,
27
+ SchemaOptions,
28
+ IntegrationsConfig,
29
+ IntegrationsSetup,
30
+ IntegrationToolsFilter,
31
+ StorageConfig,
32
+ StorageCredentials,
33
+ SessionsConfig,
34
+ HostedClientConfig,
35
+ )
36
+ from .hosted import (
37
+ EFFORT_SUPPORT_VALUES,
38
+ ActiveDataset,
39
+ Agent,
40
+ AnalysesClient,
41
+ AnalysisPage,
42
+ AnalysisLabel,
43
+ AnalysisStatus,
44
+ Check,
45
+ CheckConfigInput,
46
+ CheckPage,
47
+ CheckSource,
48
+ CheckLabel,
49
+ CheckStatus,
50
+ ChecksClient,
51
+ TaskCheck,
52
+ JobListScope,
53
+ AgentArm,
54
+ AgentCapability,
55
+ AgentDatasetStats,
56
+ AgentInfo,
57
+ AgentModelOption,
58
+ AgentPage,
59
+ AgentResult,
60
+ AgentsClient,
61
+ AnalysisCheck,
62
+ AnalysisEvidence,
63
+ AnalysisFailure,
64
+ AnalyzeConfig,
65
+ AnalyzeConfigInput,
66
+ ApiKey,
67
+ AttemptPhase,
68
+ AuthClient,
69
+ AuthStatus,
70
+ Organization,
71
+ OrganizationDetail,
72
+ OrgQuota,
73
+ OrgRole,
74
+ OrgUsage,
75
+ OrgsClient,
76
+ CapabilityDocument,
77
+ CompareCell,
78
+ CompareCoverage,
79
+ CompareJobAggregate,
80
+ CompareResponse,
81
+ CompareTaskRow,
82
+ Dataset,
83
+ DatasetFailedTask,
84
+ DatasetImport,
85
+ DatasetImportFailure,
86
+ DatasetImportProgress,
87
+ DatasetManifestAuthor,
88
+ DatasetManifestMetadata,
89
+ DatasetImportPage,
90
+ JobImport,
91
+ JobImportFailure,
92
+ JobImportPage,
93
+ JobImportPhaseProgress,
94
+ JobImportProgress,
95
+ JobImportSkippedTrial,
96
+ JobImportSource,
97
+ JobTaskLink,
98
+ TrialTaskLink,
99
+ TASK_LINKED_BY,
100
+ TASK_LINK_REASONS,
101
+ DatasetPage,
102
+ DatasetPreflight,
103
+ PreflightDeferredCheck,
104
+ PreflightManifestVerdict,
105
+ PreflightTaskVerdict,
106
+ TaskNote,
107
+ DatasetRef,
108
+ DatasetSelector,
109
+ DatasetVersion,
110
+ DatasetVersionArchiveSource,
111
+ DatasetVersionArchiveUrlSource,
112
+ DatasetVersionGitSource,
113
+ DatasetVersionHubSource,
114
+ DatasetVersionSource,
115
+ DatasetsClient,
116
+ EvalSandboxProvider,
117
+ EvolveAPIError,
118
+ EvolveDigestMismatchError,
119
+ EvolveIncompleteDownloadError,
120
+ ExceptionInfo,
121
+ HostedEvolve,
122
+ HOSTED_ERROR_CODES,
123
+ HostedErrorCode,
124
+ ImportSettleError,
125
+ ImportTaskFailure,
126
+ ImportCodeBuildMeter,
127
+ ImportImageCounts,
128
+ ImportPhaseProgress,
129
+ ImportWarning,
130
+ Job,
131
+ JobAnalysisStats,
132
+ JobBuildExclusion,
133
+ JobCounts,
134
+ JobDeleteResult,
135
+ JobEvent,
136
+ JobEventType,
137
+ InfraFailureSignature,
138
+ JobFailure,
139
+ JobPage,
140
+ JobRetryConfig,
141
+ JobRetryConfigInput,
142
+ JobSecretRef,
143
+ JobSecretInline,
144
+ JobStats,
145
+ JobStatus,
146
+ JobTaskRollup,
147
+ JobTaskRollupPage,
148
+ JobsClient,
149
+ JudgeResult,
150
+ ModelInfo,
151
+ NoActiveVersionError,
152
+ ManagedProviderCapability,
153
+ PassAtKGroup,
154
+ PassAtKPoint,
155
+ ProviderCapability,
156
+ ReportedAgentResult,
157
+ ReportedTotals,
158
+ SkillLock,
159
+ SkillUpload,
160
+ SkillUploadPage,
161
+ SkillsClient,
162
+ SourceJob,
163
+ SpendSource,
164
+ StatusVocabulary,
165
+ StopResponse,
166
+ Task,
167
+ TaskBuild,
168
+ TaskBuildFailure,
169
+ TaskPage,
170
+ TaskProviderVerdict,
171
+ TimingInfo,
172
+ TraceEvent,
173
+ TraceEventPage,
174
+ GATEWAY_TRACE_SEQ_BASE,
175
+ gateway_usage_of,
176
+ JobGrepGroup,
177
+ JobGrepPage,
178
+ Rubric,
179
+ RubricCriterion,
180
+ Trial,
181
+ TrialAnalysis,
182
+ TrialFile,
183
+ TrialFilePage,
184
+ TrialPage,
185
+ TrialRetry,
186
+ TrialStatus,
187
+ TrialTally,
188
+ TrialUploadProvenance,
189
+ TrialsClient,
190
+ UploadProvenance,
191
+ UpstreamStatus,
192
+ VerifierEnvironmentMode,
193
+ VerifierResult,
194
+ is_hosted_error_code,
195
+ meta,
196
+ pass_at_k,
197
+ )
198
+ from .results import (
199
+ AgentResponse,
200
+ CheckpointInfo,
201
+ ExecuteResult,
202
+ OutputResult,
203
+ RunCost,
204
+ SessionCost,
205
+ SessionStatus,
206
+ SessionInfo,
207
+ SessionPage,
208
+ SessionEvent,
209
+ SessionTranscript,
210
+ BrowserReplay,
211
+ UsageReading,
212
+ )
213
+ from .storage_client import StorageClient
214
+ from .sessions_client import SessionsClient
215
+ from .browser_credentials import BrowserCredentialsClient, BrowserCredentialMetadata, BrowserCredentialsPage
216
+ from .browser_profiles import BrowserProfilesClient, BrowserProfileMetadata, BrowserProfilesPage
217
+ from .managed_secrets import (
218
+ ManagedSecretsClient,
219
+ ManagedSecretMetadata,
220
+ ManagedSecretWriteResult,
221
+ ManagedSecretDeleteResult,
222
+ )
223
+ from .utils import read_local_dir, save_local_dir
224
+ from .bridge import (
225
+ SandboxNotFoundError,
226
+ BridgeConnectionError,
227
+ BridgeBuildError,
228
+ )
229
+ from .retry import RetryConfig, OnItemRetryCallback, execute_with_retry
230
+ from .swarm import (
231
+ Swarm,
232
+ SwarmConfig,
233
+ BestOfConfig,
234
+ VerifyConfig,
235
+ SwarmResult,
236
+ SwarmResultList,
237
+ ReduceResult,
238
+ BestOfResult,
239
+ BestOfInfo,
240
+ VerifyInfo,
241
+ IndexedMeta,
242
+ ReduceMeta,
243
+ JudgeMeta,
244
+ VerifyMeta,
245
+ VerifyDecision,
246
+ is_swarm_result,
247
+ # Callback types
248
+ OnCandidateCompleteCallback,
249
+ OnJudgeCompleteCallback,
250
+ OnWorkerCompleteCallback,
251
+ OnVerifierCompleteCallback,
252
+ )
253
+ from .pipeline import (
254
+ Pipeline,
255
+ TerminalPipeline,
256
+ MapConfig,
257
+ FilterConfig,
258
+ ReduceConfig,
259
+ StepResult,
260
+ PipelineResult,
261
+ PipelineEvents,
262
+ StepStartEvent,
263
+ StepCompleteEvent,
264
+ StepErrorEvent,
265
+ ItemRetryEvent,
266
+ WorkerCompleteEvent,
267
+ VerifierCompleteEvent,
268
+ CandidateCompleteEvent,
269
+ JudgeCompleteEvent,
270
+ EmitOption,
271
+ )
272
+
273
+ from typing import List, Optional
274
+
275
+
276
+ def storage(config: Optional[StorageConfig] = None) -> StorageClient:
277
+ """Create a standalone storage client for checkpoint browsing and download.
278
+
279
+ Returns a ``StorageClient`` that manages its own bridge subprocess.
280
+ Use as an async context manager to ensure cleanup.
281
+
282
+ Args:
283
+ config: Storage configuration (BYOK S3 or None for gateway mode)
284
+
285
+ Returns:
286
+ StorageClient with list_checkpoints, get_checkpoint,
287
+ download_checkpoint, download_files methods
288
+
289
+ Example:
290
+ >>> from evolve import storage, StorageConfig
291
+ >>>
292
+ >>> # BYOK mode
293
+ >>> async with storage(StorageConfig(url='s3://my-bucket/')) as store:
294
+ ... checkpoints = await store.list_checkpoints(limit=5)
295
+ ... files = await store.download_files(checkpoints[0].id)
296
+ >>>
297
+ >>> # Gateway mode (uses EVOLVE_API_KEY)
298
+ >>> async with storage() as store:
299
+ ... checkpoints = await store.list_checkpoints()
300
+ """
301
+ from .bridge import BridgeManager
302
+ bridge = BridgeManager()
303
+ return StorageClient(bridge, config or StorageConfig(), _owns_bridge=True)
304
+
305
+
306
+ def sessions(config: Optional[SessionsConfig] = None) -> SessionsClient:
307
+ """Create a standalone sessions client for historical traces and past sessions.
308
+
309
+ Returns a ``SessionsClient`` that manages its own bridge subprocess.
310
+ Use as an async context manager to ensure cleanup.
311
+
312
+ Gateway-only: requires ``EVOLVE_API_KEY`` unless ``SessionsConfig(api_key=...)``
313
+ is provided.
314
+
315
+ Args:
316
+ config: Optional API key / dashboard URL overrides
317
+
318
+ Returns:
319
+ SessionsClient with list, get, events, download, browser_replay methods
320
+
321
+ Example:
322
+ >>> from evolve import sessions
323
+ >>>
324
+ >>> async with sessions() as client:
325
+ ... page = await client.list(limit=10, state='ended')
326
+ ... trace = await client.get(page.items[0].id)
327
+ ... await client.download(trace.id, to='./traces')
328
+ ... await client.browser_replay(trace.id)
329
+ """
330
+ from .bridge import BridgeManager
331
+ bridge = BridgeManager()
332
+ return SessionsClient(bridge, config or SessionsConfig(), _owns_bridge=True)
333
+
334
+
335
+ def browser_credentials(config: Optional[BrowserCredentialsClientConfig] = None) -> BrowserCredentialsClient:
336
+ """Create a standalone browser credentials client.
337
+
338
+ Uses EVOLVE_API_KEY unless BrowserCredentialsClientConfig(api_key=...) is provided.
339
+ Passwords are encrypted locally before they are sent to the dashboard.
340
+ """
341
+ return BrowserCredentialsClient(config or BrowserCredentialsClientConfig())
342
+
343
+
344
+ def browser_profiles(config: Optional[BrowserProfilesClientConfig] = None) -> BrowserProfilesClient:
345
+ """Create a standalone browser profiles client.
346
+
347
+ Uses EVOLVE_API_KEY unless BrowserProfilesClientConfig(api_key=...) is provided.
348
+ """
349
+ return BrowserProfilesClient(config or BrowserProfilesClientConfig())
350
+
351
+
352
+ def datasets(config: Optional[HostedClientConfig] = None) -> DatasetsClient:
353
+ """Create a standalone hosted-evals datasets client (shared catalog).
354
+
355
+ Uses EVOLVE_API_KEY unless HostedClientConfig(api_key=...) is provided.
356
+ """
357
+ return DatasetsClient(config)
358
+
359
+
360
+ def agents(config: Optional[HostedClientConfig] = None) -> AgentsClient:
361
+ """Create a standalone hosted-evals registered-agents client.
362
+
363
+ Register a private agent once, then name it in job agents[].name
364
+ exactly like a built-in. Uses EVOLVE_API_KEY unless
365
+ HostedClientConfig(api_key=...) is provided.
366
+ """
367
+ return AgentsClient(config)
368
+
369
+
370
+ def hosted(config: Optional[HostedClientConfig] = None) -> HostedEvolve:
371
+ """Open the hosted surface with ONE configuration.
372
+
373
+ Named ``hosted()`` rather than ``evolve()`` deliberately: ``Evolve`` is
374
+ already the local-sandbox class in this same package, and two exports one
375
+ shift key apart that do completely different things is a trap. ``hosted()``
376
+ says which half of the SDK you are reaching for.
377
+
378
+ The four clients underneath are built lazily, so ``await hosted().meta()``
379
+ works with no API key configured::
380
+
381
+ from evolve import hosted
382
+
383
+ client = hosted()
384
+ doc = await client.meta() # public, no key needed
385
+ job = await client.jobs.start(...) # needs EVOLVE_API_KEY
386
+ """
387
+ return HostedEvolve(config)
388
+
389
+
390
+ def jobs(config: Optional[HostedClientConfig] = None) -> JobsClient:
391
+ """Create a standalone hosted-evals jobs client.
392
+
393
+ Uses EVOLVE_API_KEY unless HostedClientConfig(api_key=...) is provided.
394
+ watch() consumes the job's server-sent event stream until the job is
395
+ terminal, mirroring the TypeScript SDK.
396
+ """
397
+ return JobsClient(config)
398
+
399
+
400
+ def trials(config: Optional[HostedClientConfig] = None) -> TrialsClient:
401
+ """Create a standalone hosted-evals trials client.
402
+
403
+ A trial id is globally addressable — no method takes a job id. Uses
404
+ EVOLVE_API_KEY unless HostedClientConfig(api_key=...) is provided.
405
+ """
406
+ return TrialsClient(config)
407
+
408
+
409
+ def analyses(config: Optional[HostedClientConfig] = None) -> AnalysesClient:
410
+ """Create a standalone hosted-evals analyses client.
411
+
412
+ The catalog of trace-analysis runs (``list()``), each row carrying the
413
+ trial, job, and task it judged. Uses EVOLVE_API_KEY unless
414
+ HostedClientConfig(api_key=...) is provided.
415
+ """
416
+ return AnalysesClient(config)
417
+
418
+
419
+ def checks(config: Optional[HostedClientConfig] = None) -> ChecksClient:
420
+ """Create a standalone hosted-evals checks client.
421
+
422
+ Task quality checks — Harbor's ``harbor check <PATH>``, hosted: upload a
423
+ task directory (or a directory of them), read the report, list your
424
+ checks. Uses EVOLVE_API_KEY unless HostedClientConfig(api_key=...) is
425
+ provided.
426
+ """
427
+ return ChecksClient(config)
428
+
429
+
430
+ def skills(config: Optional[HostedClientConfig] = None) -> SkillsClient:
431
+ """Create a standalone hosted-evals skills client (platform uploads).
432
+
433
+ An uploaded skill is an immutable folder referenced as ``upload:<id>`` in
434
+ job ``agents[].skills``, next to skills.sh and git references. Uses
435
+ EVOLVE_API_KEY unless HostedClientConfig(api_key=...) is provided.
436
+ """
437
+ return SkillsClient(config)
438
+
439
+
440
+ def auth(config: Optional[HostedClientConfig] = None) -> AuthClient:
441
+ """Create a standalone hosted-evals auth client (caller identity).
442
+
443
+ Wave-gated: until the server's wave lands, status() reports the route's
444
+ not-found as the API error it is. Uses EVOLVE_API_KEY unless
445
+ HostedClientConfig(api_key=...) is provided.
446
+ """
447
+ return AuthClient(config)
448
+
449
+
450
+ def orgs(config: Optional[HostedClientConfig] = None) -> OrgsClient:
451
+ """Create a standalone hosted-evals organizations client (the read pair).
452
+
453
+ ``list()`` — every organization you belong to; ``get(slug)`` — one
454
+ organization's role, member count, quota and usage. Uses EVOLVE_API_KEY
455
+ unless HostedClientConfig(api_key=...) is provided.
456
+ """
457
+ return OrgsClient(config)
458
+
459
+
460
+ def managed_secrets(config: Optional[ManagedSecretsClientConfig] = None) -> ManagedSecretsClient:
461
+ """Create a standalone managed secrets client.
462
+
463
+ Uses EVOLVE_API_KEY unless ManagedSecretsClientConfig(api_key=...) is provided.
464
+ Values are never returned.
465
+ """
466
+ return ManagedSecretsClient(config or ManagedSecretsClientConfig())
467
+
468
+
469
+ async def list_checkpoints(
470
+ storage: Optional[StorageConfig] = None,
471
+ limit: Optional[int] = None,
472
+ tag: Optional[str] = None,
473
+ ) -> List[CheckpointInfo]:
474
+ """List checkpoints without creating a full Evolve instance.
475
+
476
+ Uses the lightweight :class:`StorageClient` path instead of a full
477
+ Evolve initialization (no agent/sandbox setup needed).
478
+
479
+ Args:
480
+ storage: Storage configuration (BYOK S3 or None for gateway mode)
481
+ limit: Maximum number of checkpoints to return
482
+ tag: Filter by session tag
483
+
484
+ Returns:
485
+ List of CheckpointInfo sorted by newest first
486
+
487
+ Example:
488
+ >>> from evolve import list_checkpoints, StorageConfig
489
+ >>> checkpoints = await list_checkpoints(
490
+ ... storage=StorageConfig(url='s3://my-bucket/prefix/'),
491
+ ... limit=10,
492
+ ... )
493
+ """
494
+ from .bridge import BridgeManager
495
+ bridge = BridgeManager()
496
+ store = StorageClient(bridge, storage or StorageConfig(), _owns_bridge=True)
497
+ try:
498
+ return await store.list_checkpoints(limit=limit, tag=tag)
499
+ finally:
500
+ await store.close()
501
+
502
+
503
+ __version__ = '0.0.55.dev1355'
504
+
505
+ __all__ = [
506
+ # Main classes
507
+ 'Evolve',
508
+ 'Swarm',
509
+ 'Pipeline',
510
+ 'TerminalPipeline',
511
+
512
+ # Evolve Configuration
513
+ 'AgentConfig',
514
+ 'E2BProvider',
515
+ 'ManagedProvider',
516
+ 'DaytonaProvider',
517
+ 'ModalProvider',
518
+ 'SandboxProvider',
519
+ 'AgentType',
520
+ 'WorkspaceMode',
521
+ 'BrowserProvider',
522
+ 'BrowserConfig',
523
+ 'BrowserCredentialScopeEntry',
524
+ 'BrowserCredentialsConfig',
525
+ 'BrowserCredentialsClientConfig',
526
+ 'BrowserProfilesClientConfig',
527
+ 'ManagedSecretRef',
528
+ 'ManagedSecretsClientConfig',
529
+ 'AgentPluginConfig',
530
+ 'ReasoningEffort',
531
+ 'AgentPreset',
532
+ 'ValidationMode',
533
+ 'SchemaOptions',
534
+ 'IntegrationsConfig',
535
+ 'IntegrationsSetup',
536
+ 'IntegrationToolsFilter',
537
+ 'StorageConfig',
538
+ 'StorageCredentials',
539
+ 'SessionsConfig',
540
+ 'BrowserCredentialsClient',
541
+ 'BrowserCredentialMetadata',
542
+ 'BrowserCredentialsPage',
543
+ 'BrowserProfilesClient',
544
+ 'BrowserProfileMetadata',
545
+ 'BrowserProfilesPage',
546
+ 'ManagedSecretsClient',
547
+ 'ManagedSecretMetadata',
548
+ 'ManagedSecretWriteResult',
549
+ 'ManagedSecretDeleteResult',
550
+ 'SandboxCreateOptions',
551
+ 'SandboxNetworkPolicy',
552
+
553
+ # Evolve Results
554
+ 'AgentResponse',
555
+ 'CheckpointInfo',
556
+ 'ExecuteResult', # Backward compatibility alias for AgentResponse
557
+ 'OutputResult',
558
+ 'RunCost',
559
+ 'SessionCost',
560
+ 'SessionStatus',
561
+ 'SessionInfo',
562
+ 'SessionPage',
563
+ 'SessionEvent',
564
+ 'SessionTranscript',
565
+ 'BrowserReplay',
566
+ 'UsageReading',
567
+
568
+ # Standalone clients
569
+ 'StorageClient',
570
+ 'SessionsClient',
571
+ 'browser_credentials',
572
+ 'browser_profiles',
573
+ 'managed_secrets',
574
+
575
+ # Hosted evals (datasets + agents + jobs + trials + auth)
576
+ 'HostedClientConfig',
577
+ 'DatasetsClient',
578
+ 'AgentsClient',
579
+ 'JobsClient',
580
+ 'TrialsClient',
581
+ 'AnalysesClient',
582
+ 'ChecksClient',
583
+ 'AuthClient',
584
+ 'OrgsClient',
585
+ 'EvolveAPIError',
586
+ 'EvolveDigestMismatchError',
587
+ 'EvolveIncompleteDownloadError',
588
+ 'NoActiveVersionError',
589
+ 'ImportSettleError',
590
+ 'Dataset',
591
+ 'ActiveDataset',
592
+ 'DatasetManifestAuthor',
593
+ 'DatasetManifestMetadata',
594
+ 'DatasetVersion',
595
+ 'DatasetVersionSource',
596
+ 'DatasetVersionArchiveSource',
597
+ 'DatasetVersionArchiveUrlSource',
598
+ 'DatasetVersionGitSource',
599
+ 'DatasetVersionHubSource',
600
+ 'DatasetRef',
601
+ 'DatasetSelector',
602
+ 'DatasetFailedTask',
603
+ 'TaskBuild',
604
+ 'TaskBuildFailure',
605
+ 'DatasetImport',
606
+ 'DatasetImportFailure',
607
+ 'DatasetImportProgress',
608
+ 'ImportTaskFailure',
609
+ 'ImportCodeBuildMeter',
610
+ 'ImportImageCounts',
611
+ 'ImportPhaseProgress',
612
+ 'ImportWarning',
613
+ 'Task',
614
+ 'TaskProviderVerdict',
615
+ 'DatasetPreflight',
616
+ 'PreflightDeferredCheck',
617
+ 'PreflightManifestVerdict',
618
+ 'PreflightTaskVerdict',
619
+ 'TaskNote',
620
+ 'AgentArm',
621
+ 'AgentDatasetStats',
622
+ 'Job',
623
+ 'JobAnalysisStats',
624
+ 'JobBuildExclusion',
625
+ 'JobCounts',
626
+ 'JobDeleteResult',
627
+ 'JobFailure',
628
+ 'JobRetryConfig',
629
+ 'JobRetryConfigInput',
630
+ 'JobSecretRef',
631
+ 'JobSecretInline',
632
+ 'JobStats',
633
+ 'JobStatus',
634
+ 'AnalyzeConfig',
635
+ 'AnalyzeConfigInput',
636
+ 'AnalysisCheck',
637
+ 'AnalysisEvidence',
638
+ 'AnalysisFailure',
639
+ 'Rubric',
640
+ 'RubricCriterion',
641
+ 'TrialAnalysis',
642
+ 'CheckConfigInput',
643
+ 'CheckSource',
644
+ 'TaskCheck',
645
+ 'Check',
646
+ 'TrialStatus',
647
+ 'EvalSandboxProvider',
648
+ 'SpendSource',
649
+ 'VerifierEnvironmentMode',
650
+ 'AttemptPhase',
651
+ 'JobTaskRollup',
652
+ 'PassAtKGroup',
653
+ 'PassAtKPoint',
654
+ 'pass_at_k',
655
+ 'SourceJob',
656
+ 'SkillLock',
657
+ 'SkillUpload',
658
+ 'SkillUploadPage',
659
+ 'SkillsClient',
660
+ 'TrialTally',
661
+ 'JobEvent',
662
+ 'JobEventType',
663
+ 'InfraFailureSignature',
664
+ 'CompareResponse',
665
+ 'CompareJobAggregate',
666
+ 'CompareCell',
667
+ 'CompareCoverage',
668
+ 'CompareTaskRow',
669
+ 'Trial',
670
+ 'TrialRetry',
671
+ 'TimingInfo',
672
+ 'ModelInfo',
673
+ 'AgentInfo',
674
+ 'AgentResult',
675
+ 'JudgeResult',
676
+ 'VerifierResult',
677
+ 'ExceptionInfo',
678
+ 'StopResponse',
679
+ 'TraceEvent',
680
+ 'TraceEventPage',
681
+ 'GATEWAY_TRACE_SEQ_BASE',
682
+ 'gateway_usage_of',
683
+ 'JobGrepGroup',
684
+ 'JobGrepPage',
685
+ 'TrialFile',
686
+ 'TrialFilePage',
687
+ 'JobPage',
688
+ 'TrialPage',
689
+ 'AnalysisPage',
690
+ 'CheckPage',
691
+ 'JobListScope',
692
+ 'AnalysisStatus',
693
+ 'AnalysisLabel',
694
+ 'CheckStatus',
695
+ 'CheckLabel',
696
+ 'JobTaskRollupPage',
697
+ 'DatasetPage',
698
+ 'AgentPage',
699
+ 'TaskPage',
700
+ 'Agent',
701
+ 'DatasetImportPage',
702
+ 'JobImport',
703
+ 'JobImportFailure',
704
+ 'JobImportPage',
705
+ 'JobImportPhaseProgress',
706
+ 'JobImportProgress',
707
+ 'JobImportSkippedTrial',
708
+ 'JobImportSource',
709
+ 'JobTaskLink',
710
+ 'TrialTaskLink',
711
+ 'TASK_LINKED_BY',
712
+ 'TASK_LINK_REASONS',
713
+ 'ApiKey',
714
+ 'AuthStatus',
715
+ 'Organization',
716
+ 'OrganizationDetail',
717
+ 'OrgQuota',
718
+ 'OrgRole',
719
+ 'OrgUsage',
720
+ 'datasets',
721
+ 'agents',
722
+ 'jobs',
723
+ 'trials',
724
+ 'analyses',
725
+ 'checks',
726
+ 'skills',
727
+ 'orgs',
728
+ 'auth',
729
+ 'hosted',
730
+ 'meta',
731
+ 'HostedEvolve',
732
+ 'CapabilityDocument',
733
+ 'AgentCapability',
734
+ 'AgentModelOption',
735
+ 'EFFORT_SUPPORT_VALUES',
736
+ 'ManagedProviderCapability',
737
+ 'ProviderCapability',
738
+ 'StatusVocabulary',
739
+ 'ReportedAgentResult',
740
+ 'ReportedTotals',
741
+ 'TrialUploadProvenance',
742
+ 'UploadProvenance',
743
+ 'UpstreamStatus',
744
+ 'HOSTED_ERROR_CODES',
745
+ 'HostedErrorCode',
746
+ 'is_hosted_error_code',
747
+
748
+ # Standalone functions
749
+ 'storage',
750
+ 'sessions',
751
+ 'list_checkpoints',
752
+
753
+ # Swarm Configuration
754
+ 'SwarmConfig',
755
+ 'BestOfConfig',
756
+ 'VerifyConfig',
757
+
758
+ # Swarm Results
759
+ 'SwarmResult',
760
+ 'SwarmResultList',
761
+ 'ReduceResult',
762
+ 'BestOfResult',
763
+ 'BestOfInfo',
764
+ 'VerifyInfo',
765
+ 'VerifyDecision',
766
+
767
+ # Swarm Metadata
768
+ 'IndexedMeta',
769
+ 'ReduceMeta',
770
+ 'JudgeMeta',
771
+ 'VerifyMeta',
772
+
773
+ # Swarm Helpers
774
+ 'is_swarm_result',
775
+
776
+ # Swarm Callback types
777
+ 'OnCandidateCompleteCallback',
778
+ 'OnJudgeCompleteCallback',
779
+ 'OnWorkerCompleteCallback',
780
+ 'OnVerifierCompleteCallback',
781
+
782
+ # Pipeline Configuration
783
+ 'MapConfig',
784
+ 'FilterConfig',
785
+ 'ReduceConfig',
786
+
787
+ # Pipeline Results
788
+ 'StepResult',
789
+ 'PipelineResult',
790
+
791
+ # Pipeline Events
792
+ 'PipelineEvents',
793
+ 'StepStartEvent',
794
+ 'StepCompleteEvent',
795
+ 'StepErrorEvent',
796
+ 'ItemRetryEvent',
797
+ 'WorkerCompleteEvent',
798
+ 'VerifierCompleteEvent',
799
+ 'CandidateCompleteEvent',
800
+ 'JudgeCompleteEvent',
801
+ 'EmitOption',
802
+
803
+ # Retry — the SWARM client-side retry helper. The hosted job auto-retry
804
+ # policy is a different shape with its own names: JobRetryConfig /
805
+ # JobRetryConfigInput above (the spec calls that pair RetryConfig /
806
+ # RetryConfigInput; the Python export is prefixed so the two never shadow).
807
+ 'RetryConfig',
808
+ 'OnItemRetryCallback',
809
+ 'execute_with_retry',
810
+
811
+ # Utilities
812
+ 'read_local_dir',
813
+ 'save_local_dir',
814
+
815
+ # Exceptions
816
+ 'SandboxNotFoundError',
817
+ 'BridgeConnectionError',
818
+ 'BridgeBuildError',
819
+ ]