synth-ai 0.2.2.dev0__py3-none-any.whl → 0.2.4.dev2__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.
- synth_ai/cli/__init__.py +66 -0
- synth_ai/cli/balance.py +205 -0
- synth_ai/cli/calc.py +70 -0
- synth_ai/cli/demo.py +74 -0
- synth_ai/{cli.py → cli/legacy_root_backup.py} +60 -15
- synth_ai/cli/man.py +103 -0
- synth_ai/cli/recent.py +126 -0
- synth_ai/cli/root.py +184 -0
- synth_ai/cli/status.py +126 -0
- synth_ai/cli/traces.py +136 -0
- synth_ai/cli/watch.py +508 -0
- synth_ai/config/base_url.py +53 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/analyze_semantic_words_markdown.py +252 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/filter_traces_sft_duckdb_v2_backup.py +413 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/filter_traces_sft_turso.py +760 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/kick_off_ft_synth.py +34 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/test_crafter_react_agent_lm_synth.py +1740 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_modal_ft/test_crafter_react_agent_lm_synth_v2_backup.py +1318 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/filter_traces_sft_duckdb_v2_backup.py +386 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/filter_traces_sft_turso.py +580 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/run_rollouts_for_models_and_compare_v2_backup.py +1352 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/run_rollouts_for_models_and_compare_v3.py +4 -4
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_openai_ft/test_crafter_react_agent_openai_v2_backup.py +2551 -0
- synth_ai/environments/examples/crafter_classic/agent_demos/crafter_trace_evaluation.py +1 -1
- synth_ai/environments/examples/crafter_classic/agent_demos/example_v3_usage.py +1 -1
- synth_ai/environments/examples/crafter_classic/agent_demos/old/traces/session_crafter_episode_16_15227b68-2906-416f-acc4-d6a9b4fa5828_20250725_001154.json +1363 -1
- synth_ai/environments/examples/crafter_classic/agent_demos/test_crafter_react_agent.py +3 -3
- synth_ai/environments/examples/crafter_classic/environment.py +1 -1
- synth_ai/environments/examples/crafter_custom/environment.py +1 -1
- synth_ai/environments/examples/enron/dataset/corbt___enron_emails_sample_questions/default/0.0.0/293c9fe8170037e01cc9cf5834e0cd5ef6f1a6bb/dataset_info.json +1 -0
- synth_ai/environments/examples/nethack/helpers/achievements.json +64 -0
- synth_ai/environments/examples/red/units/test_exploration_strategy.py +1 -1
- synth_ai/environments/examples/red/units/test_menu_bug_reproduction.py +5 -5
- synth_ai/environments/examples/red/units/test_movement_debug.py +2 -2
- synth_ai/environments/examples/red/units/test_retry_movement.py +1 -1
- synth_ai/environments/examples/sokoban/engine_helpers/vendored/envs/available_envs.json +122 -0
- synth_ai/environments/examples/sokoban/verified_puzzles.json +54987 -0
- synth_ai/environments/service/core_routes.py +1 -1
- synth_ai/experimental/synth_oss.py +446 -0
- synth_ai/learning/core.py +21 -0
- synth_ai/learning/gateway.py +4 -0
- synth_ai/learning/prompts/gepa.py +0 -0
- synth_ai/learning/prompts/mipro.py +8 -0
- synth_ai/lm/__init__.py +3 -0
- synth_ai/lm/core/main.py +4 -0
- synth_ai/lm/core/main_v3.py +238 -122
- synth_ai/lm/core/vendor_clients.py +4 -0
- synth_ai/lm/provider_support/openai.py +11 -2
- synth_ai/lm/vendors/base.py +7 -0
- synth_ai/lm/vendors/openai_standard.py +339 -4
- synth_ai/lm/vendors/openai_standard_responses.py +243 -0
- synth_ai/lm/vendors/synth_client.py +155 -5
- synth_ai/lm/warmup.py +54 -17
- synth_ai/tracing/__init__.py +18 -0
- synth_ai/tracing_v1/__init__.py +29 -14
- synth_ai/tracing_v3/__init__.py +2 -2
- synth_ai/tracing_v3/abstractions.py +62 -17
- synth_ai/tracing_v3/config.py +13 -7
- synth_ai/tracing_v3/db_config.py +6 -6
- synth_ai/tracing_v3/hooks.py +1 -1
- synth_ai/tracing_v3/llm_call_record_helpers.py +350 -0
- synth_ai/tracing_v3/lm_call_record_abstractions.py +257 -0
- synth_ai/tracing_v3/session_tracer.py +5 -5
- synth_ai/tracing_v3/tests/test_concurrent_operations.py +1 -1
- synth_ai/tracing_v3/tests/test_llm_call_records.py +672 -0
- synth_ai/tracing_v3/tests/test_session_tracer.py +43 -9
- synth_ai/tracing_v3/tests/test_turso_manager.py +1 -1
- synth_ai/tracing_v3/turso/manager.py +18 -11
- synth_ai/tracing_v3/turso/models.py +1 -0
- synth_ai/tui/__main__.py +13 -0
- synth_ai/tui/dashboard.py +329 -0
- synth_ai/v0/tracing/__init__.py +0 -0
- synth_ai/{tracing → v0/tracing}/base_client.py +3 -3
- synth_ai/{tracing → v0/tracing}/client_manager.py +1 -1
- synth_ai/{tracing → v0/tracing}/context.py +1 -1
- synth_ai/{tracing → v0/tracing}/decorators.py +11 -11
- synth_ai/v0/tracing/events/__init__.py +0 -0
- synth_ai/{tracing → v0/tracing}/events/manage.py +4 -4
- synth_ai/{tracing → v0/tracing}/events/scope.py +6 -6
- synth_ai/{tracing → v0/tracing}/events/store.py +3 -3
- synth_ai/{tracing → v0/tracing}/immediate_client.py +6 -6
- synth_ai/{tracing → v0/tracing}/log_client_base.py +2 -2
- synth_ai/{tracing → v0/tracing}/retry_queue.py +3 -3
- synth_ai/{tracing → v0/tracing}/trackers.py +2 -2
- synth_ai/{tracing → v0/tracing}/upload.py +4 -4
- synth_ai/v0/tracing_v1/__init__.py +16 -0
- synth_ai/{tracing_v1 → v0/tracing_v1}/base_client.py +3 -3
- synth_ai/{tracing_v1 → v0/tracing_v1}/client_manager.py +1 -1
- synth_ai/{tracing_v1 → v0/tracing_v1}/context.py +1 -1
- synth_ai/{tracing_v1 → v0/tracing_v1}/decorators.py +11 -11
- synth_ai/v0/tracing_v1/events/__init__.py +0 -0
- synth_ai/{tracing_v1 → v0/tracing_v1}/events/manage.py +4 -4
- synth_ai/{tracing_v1 → v0/tracing_v1}/events/scope.py +6 -6
- synth_ai/{tracing_v1 → v0/tracing_v1}/events/store.py +3 -3
- synth_ai/{tracing_v1 → v0/tracing_v1}/immediate_client.py +6 -6
- synth_ai/{tracing_v1 → v0/tracing_v1}/log_client_base.py +2 -2
- synth_ai/{tracing_v1 → v0/tracing_v1}/retry_queue.py +3 -3
- synth_ai/{tracing_v1 → v0/tracing_v1}/trackers.py +2 -2
- synth_ai/{tracing_v1 → v0/tracing_v1}/upload.py +4 -4
- {synth_ai-0.2.2.dev0.dist-info → synth_ai-0.2.4.dev2.dist-info}/METADATA +100 -5
- {synth_ai-0.2.2.dev0.dist-info → synth_ai-0.2.4.dev2.dist-info}/RECORD +115 -75
- /synth_ai/{tracing/events/__init__.py → compound/cais.py} +0 -0
- /synth_ai/{tracing_v1/events/__init__.py → environments/examples/crafter_classic/debug_translation.py} +0 -0
- /synth_ai/{tracing → v0/tracing}/abstractions.py +0 -0
- /synth_ai/{tracing → v0/tracing}/config.py +0 -0
- /synth_ai/{tracing → v0/tracing}/local.py +0 -0
- /synth_ai/{tracing → v0/tracing}/utils.py +0 -0
- /synth_ai/{tracing_v1 → v0/tracing_v1}/abstractions.py +0 -0
- /synth_ai/{tracing_v1 → v0/tracing_v1}/config.py +0 -0
- /synth_ai/{tracing_v1 → v0/tracing_v1}/local.py +0 -0
- /synth_ai/{tracing_v1 → v0/tracing_v1}/utils.py +0 -0
- {synth_ai-0.2.2.dev0.dist-info → synth_ai-0.2.4.dev2.dist-info}/WHEEL +0 -0
- {synth_ai-0.2.2.dev0.dist-info → synth_ai-0.2.4.dev2.dist-info}/entry_points.txt +0 -0
- {synth_ai-0.2.2.dev0.dist-info → synth_ai-0.2.4.dev2.dist-info}/licenses/LICENSE +0 -0
- {synth_ai-0.2.2.dev0.dist-info → synth_ai-0.2.4.dev2.dist-info}/top_level.txt +0 -0
@@ -23,8 +23,8 @@ from tqdm.asyncio import tqdm_asyncio
|
|
23
23
|
# Add the src directory to the path
|
24
24
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "..", "src"))
|
25
25
|
|
26
|
-
from synth_ai.
|
27
|
-
from synth_ai.
|
26
|
+
from synth_ai.lm.core.main import LM
|
27
|
+
from synth_ai.lm.tools.base import BaseTool
|
28
28
|
import numpy as np
|
29
29
|
|
30
30
|
|
@@ -111,7 +111,7 @@ class CrafterConfig:
|
|
111
111
|
"""Add ft: regex pattern to OpenAI naming regexes if not already present."""
|
112
112
|
try:
|
113
113
|
import re
|
114
|
-
from synth_ai.
|
114
|
+
from synth_ai.lm.core import vendor_clients
|
115
115
|
|
116
116
|
# Check if ft: pattern already exists
|
117
117
|
ft_pattern = re.compile(r"^ft:.*$")
|
@@ -13,7 +13,7 @@ from synth_ai.environments.examples.crafter_classic.config_logging import safe_c
|
|
13
13
|
# Import tracing abstractions
|
14
14
|
from synth_ai.tracing_v3.abstractions import (
|
15
15
|
RuntimeEvent,
|
16
|
-
|
16
|
+
SessionEventMarkovBlanketMessage,
|
17
17
|
TimeRecord,
|
18
18
|
)
|
19
19
|
|
@@ -0,0 +1 @@
|
|
1
|
+
{"description": "", "citation": "", "homepage": "", "license": "", "features": {"id": {"dtype": "int32", "_type": "Value"}, "question": {"dtype": "string", "_type": "Value"}, "answer": {"dtype": "string", "_type": "Value"}, "message_ids": {"feature": {"dtype": "string", "_type": "Value"}, "_type": "Sequence"}, "how_realistic": {"dtype": "float32", "_type": "Value"}, "inbox_address": {"dtype": "string", "_type": "Value"}, "query_date": {"dtype": "string", "_type": "Value"}}, "builder_name": "parquet", "dataset_name": "enron_emails_sample_questions", "config_name": "default", "version": {"version_str": "0.0.0", "major": 0, "minor": 0, "patch": 0}, "splits": {"train": {"name": "train", "num_bytes": 1324739, "num_examples": 4390, "dataset_name": "enron_emails_sample_questions"}, "test": {"name": "test", "num_bytes": 537888, "num_examples": 1733, "dataset_name": "enron_emails_sample_questions"}}, "download_checksums": {"hf://datasets/corbt/enron_emails_sample_questions@293c9fe8170037e01cc9cf5834e0cd5ef6f1a6bb/data/train-00000-of-00001.parquet": {"num_bytes": 681490, "checksum": null}, "hf://datasets/corbt/enron_emails_sample_questions@293c9fe8170037e01cc9cf5834e0cd5ef6f1a6bb/data/test-00000-of-00001.parquet": {"num_bytes": 267520, "checksum": null}}, "download_size": 949010, "dataset_size": 1862627, "size_in_bytes": 2811637}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
{
|
2
|
+
"3.4.3": {
|
3
|
+
"ascension": 100,
|
4
|
+
"dungeons": {
|
5
|
+
"astral_plane": 100,
|
6
|
+
"earth_plane": 98,
|
7
|
+
"air_plane": 96,
|
8
|
+
"fire_plane": 94,
|
9
|
+
"water_plane": 92,
|
10
|
+
"dlvl50": 90,
|
11
|
+
"dlvl40": 85,
|
12
|
+
"dlvl30": 80,
|
13
|
+
"fakewiz2": 75,
|
14
|
+
"fakewiz1": 70,
|
15
|
+
"deepest_gehennom": 65,
|
16
|
+
"into_gehennom": 60,
|
17
|
+
"castle": 50,
|
18
|
+
"deepest_regular": 40,
|
19
|
+
"medusa": 35,
|
20
|
+
"quest_permission": 30,
|
21
|
+
"quest_finish": 26,
|
22
|
+
"quest_locate": 23,
|
23
|
+
"quest_portal": 20,
|
24
|
+
"oracle": 15,
|
25
|
+
"sokoban_finish": 10,
|
26
|
+
"sokoban": 5,
|
27
|
+
"dlvl10": 3,
|
28
|
+
"dlvl5": 1,
|
29
|
+
"dlvl1": 0
|
30
|
+
},
|
31
|
+
"experience_levels": {
|
32
|
+
"lvl30": 52.0,
|
33
|
+
"lvl29": 51.0,
|
34
|
+
"lvl28": 50.0,
|
35
|
+
"lvl27": 49.0,
|
36
|
+
"lvl26": 48.0,
|
37
|
+
"lvl25": 47.0,
|
38
|
+
"lvl24": 46.0,
|
39
|
+
"lvl23": 45.0,
|
40
|
+
"lvl22": 44.0,
|
41
|
+
"lvl21": 43.0,
|
42
|
+
"lvl20": 42.0,
|
43
|
+
"lvl19": 41.0,
|
44
|
+
"lvl18": 40.0,
|
45
|
+
"lvl17": 39.0,
|
46
|
+
"lvl16": 38.0,
|
47
|
+
"lvl15": 37.0,
|
48
|
+
"lvl14": 36.0,
|
49
|
+
"lvl13": 33.0,
|
50
|
+
"lvl12": 30.0,
|
51
|
+
"lvl11": 27.0,
|
52
|
+
"lvl10": 24.0,
|
53
|
+
"lvl9": 21.0,
|
54
|
+
"lvl8": 18.0,
|
55
|
+
"lvl7": 15.0,
|
56
|
+
"lvl6": 12.0,
|
57
|
+
"lvl5": 9.0,
|
58
|
+
"lvl4": 6.0,
|
59
|
+
"lvl3": 3.0,
|
60
|
+
"lvl2": 1.0,
|
61
|
+
"lvl1": 0.0
|
62
|
+
}
|
63
|
+
}
|
64
|
+
}
|
@@ -79,7 +79,7 @@ async def test_exploration_when_stuck():
|
|
79
79
|
obs_payload = await env.initialize()
|
80
80
|
|
81
81
|
if "error" in obs_payload:
|
82
|
-
pytest.fail(f"Environment initialization failed: {obs_payload['error']}")
|
82
|
+
pytest.fail(f"Environment initialization failed: {obs_payload['error']}") # type: ignore[no-untyped-call]
|
83
83
|
|
84
84
|
print("[DEBUG] Environment initialized successfully")
|
85
85
|
|
@@ -134,7 +134,7 @@ async def test_menu_close_bug_reproduction():
|
|
134
134
|
print("Initializing environment...")
|
135
135
|
obs_payload = await env.initialize()
|
136
136
|
if "error" in obs_payload:
|
137
|
-
pytest.fail(f"Environment initialization failed: {obs_payload['error']}")
|
137
|
+
pytest.fail(f"Environment initialization failed: {obs_payload['error']}") # type: ignore[no-untyped-call]
|
138
138
|
|
139
139
|
initial_menu_state = obs_payload.get("menu_state")
|
140
140
|
initial_screen_hash = obs_payload.get("screen_hash")
|
@@ -238,7 +238,7 @@ async def test_menu_close_bug_reproduction():
|
|
238
238
|
print("\n⚠️ Test inconclusive: No menu was open initially")
|
239
239
|
|
240
240
|
except Exception as e:
|
241
|
-
pytest.fail(f"Test failed with exception: {e}")
|
241
|
+
pytest.fail(f"Test failed with exception: {e}") # type: ignore[no-untyped-call]
|
242
242
|
|
243
243
|
|
244
244
|
@pytest.mark.asyncio
|
@@ -337,7 +337,7 @@ async def test_menu_close_bug_fix_verification():
|
|
337
337
|
print("Initializing environment...")
|
338
338
|
obs_payload = await env.initialize()
|
339
339
|
if "error" in obs_payload:
|
340
|
-
pytest.fail(f"Environment initialization failed: {obs_payload['error']}")
|
340
|
+
pytest.fail(f"Environment initialization failed: {obs_payload['error']}") # type: ignore[no-untyped-call]
|
341
341
|
|
342
342
|
initial_menu_state = obs_payload.get("menu_state")
|
343
343
|
initial_screen_hash = obs_payload.get("screen_hash")
|
@@ -359,7 +359,7 @@ async def test_menu_close_bug_fix_verification():
|
|
359
359
|
step_result = await env.step(PressButtonCall("B"))
|
360
360
|
|
361
361
|
if "error" in step_result:
|
362
|
-
pytest.fail(f"Step failed: {step_result['error']}")
|
362
|
+
pytest.fail(f"Step failed: {step_result['error']}") # type: ignore[no-untyped-call]
|
363
363
|
|
364
364
|
final_menu_state = step_result.get("menu_state")
|
365
365
|
final_screen_hash = step_result.get("screen_hash")
|
@@ -388,7 +388,7 @@ async def test_menu_close_bug_fix_verification():
|
|
388
388
|
print(" This might indicate an actual menu was open and closed")
|
389
389
|
|
390
390
|
except Exception as e:
|
391
|
-
pytest.fail(f"Test failed with exception: {e}")
|
391
|
+
pytest.fail(f"Test failed with exception: {e}") # type: ignore[no-untyped-call]
|
392
392
|
|
393
393
|
|
394
394
|
@pytest.mark.asyncio
|
@@ -127,7 +127,7 @@ async def test_deterministic_left_movement():
|
|
127
127
|
obs_payload = await env.initialize()
|
128
128
|
|
129
129
|
if "error" in obs_payload:
|
130
|
-
pytest.fail(f"Environment initialization failed: {obs_payload['error']}")
|
130
|
+
pytest.fail(f"Environment initialization failed: {obs_payload['error']}") # type: ignore[no-untyped-call]
|
131
131
|
|
132
132
|
print("[DEBUG] Environment initialized successfully")
|
133
133
|
print(f"[DEBUG] Initial observation keys: {list(obs_payload.keys())}")
|
@@ -158,7 +158,7 @@ async def test_deterministic_left_movement():
|
|
158
158
|
step_result = await env.step([[PressButtonCall("LEFT")]])
|
159
159
|
|
160
160
|
if "error" in step_result:
|
161
|
-
pytest.fail(f"Environment step {step} failed: {step_result['error']}")
|
161
|
+
pytest.fail(f"Environment step {step} failed: {step_result['error']}") # type: ignore[no-untyped-call]
|
162
162
|
|
163
163
|
# Get new state
|
164
164
|
new_pub = step_result["public"]
|
@@ -89,7 +89,7 @@ async def test_movement_with_retry():
|
|
89
89
|
obs_payload = await env.initialize()
|
90
90
|
|
91
91
|
if "error" in obs_payload:
|
92
|
-
pytest.fail(f"Environment initialization failed: {obs_payload['error']}")
|
92
|
+
pytest.fail(f"Environment initialization failed: {obs_payload['error']}") # type: ignore[no-untyped-call]
|
93
93
|
|
94
94
|
print("[DEBUG] Environment initialized successfully")
|
95
95
|
|
@@ -0,0 +1,122 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": "Sokoban-v0",
|
4
|
+
"entry_point": "gym_sokoban.envs:SokobanEnv1"
|
5
|
+
},
|
6
|
+
{
|
7
|
+
"id": "Sokoban-v1",
|
8
|
+
"entry_point": "gym_sokoban.envs:SokobanEnv"
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"id": "Sokoban-v2",
|
12
|
+
"entry_point": "gym_sokoban.envs:SokobanEnv2"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"id": "Sokoban-small-v0",
|
16
|
+
"entry_point": "gym_sokoban.envs:SokobanEnv_Small0"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"id": "Sokoban-small-v1",
|
20
|
+
"entry_point": "gym_sokoban.envs:SokobanEnv_Small1"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"id": "Sokoban-large-v0",
|
24
|
+
"entry_point": "gym_sokoban.envs:SokobanEnv_Large0"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"id": "Sokoban-large-v1",
|
28
|
+
"entry_point": "gym_sokoban.envs:SokobanEnv_Large1"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"id": "Sokoban-large-v2",
|
32
|
+
"entry_point": "gym_sokoban.envs:SokobanEnv_Large2"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"id": "Sokoban-huge-v0",
|
36
|
+
"entry_point": "gym_sokoban.envs:SokobanEnv_Huge0"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"id": "FixedTarget-Sokoban-v0",
|
40
|
+
"entry_point": "gym_sokoban.envs:FixedTargets_Env_v0"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"id": "FixedTarget-Sokoban-v1",
|
44
|
+
"entry_point": "gym_sokoban.envs:FixedTargets_Env_v1"
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"id": "FixedTarget-Sokoban-v2",
|
48
|
+
"entry_point": "gym_sokoban.envs:FixedTargets_Env_v2"
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"id": "FixedTarget-Sokoban-v3",
|
52
|
+
"entry_point": "gym_sokoban.envs:FixedTargets_Env_v3"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"id": "PushAndPull-Sokoban-v0",
|
56
|
+
"entry_point": "gym_sokoban.envs:PushAndPull_Env_v0"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"id": "PushAndPull-Sokoban-v1",
|
60
|
+
"entry_point": "gym_sokoban.envs:PushAndPull_Env_v1"
|
61
|
+
},
|
62
|
+
{
|
63
|
+
"id": "PushAndPull-Sokoban-v2",
|
64
|
+
"entry_point": "gym_sokoban.envs:PushAndPull_Env_v2"
|
65
|
+
},
|
66
|
+
{
|
67
|
+
"id": "PushAndPull-Sokoban-v3",
|
68
|
+
"entry_point": "gym_sokoban.envs:PushAndPull_Env_v3"
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"id": "PushAndPull-Sokoban-v4",
|
72
|
+
"entry_point": "gym_sokoban.envs:PushAndPull_Env_v4"
|
73
|
+
},
|
74
|
+
{
|
75
|
+
"id": "PushAndPull-Sokoban-v5",
|
76
|
+
"entry_point": "gym_sokoban.envs:PushAndPull_Env_v5"
|
77
|
+
},
|
78
|
+
{
|
79
|
+
"id": "TwoPlayer-Sokoban-v0",
|
80
|
+
"entry_point": "gym_sokoban.envs:TwoPlayer_Env0"
|
81
|
+
},
|
82
|
+
{
|
83
|
+
"id": "TwoPlayer-Sokoban-v1",
|
84
|
+
"entry_point": "gym_sokoban.envs:TwoPlayer_Env1"
|
85
|
+
},
|
86
|
+
{
|
87
|
+
"id": "TwoPlayer-Sokoban-v2",
|
88
|
+
"entry_point": "gym_sokoban.envs:TwoPlayer_Env2"
|
89
|
+
},
|
90
|
+
{
|
91
|
+
"id": "TwoPlayer-Sokoban-v3",
|
92
|
+
"entry_point": "gym_sokoban.envs:TwoPlayer_Env3"
|
93
|
+
},
|
94
|
+
{
|
95
|
+
"id": "TwoPlayer-Sokoban-v4",
|
96
|
+
"entry_point": "gym_sokoban.envs:TwoPlayer_Env4"
|
97
|
+
},
|
98
|
+
{
|
99
|
+
"id": "TwoPlayer-Sokoban-v5",
|
100
|
+
"entry_point": "gym_sokoban.envs:TwoPlayer_Env5"
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"id": "Boxoban-Train-v0",
|
104
|
+
"entry_point": "gym_sokoban.envs:Boxban_Env0"
|
105
|
+
},
|
106
|
+
{
|
107
|
+
"id": "Boxoban-Test-v0",
|
108
|
+
"entry_point": "gym_sokoban.envs:Boxban_Env0_test"
|
109
|
+
},
|
110
|
+
{
|
111
|
+
"id": "Boxoban-Val-v0",
|
112
|
+
"entry_point": "gym_sokoban.envs:Boxban_Env0_val"
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"id": "Boxoban-Train-v1",
|
116
|
+
"entry_point": "gym_sokoban.envs:Boxban_Env1"
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"id": "Boxoban-Val-v1",
|
120
|
+
"entry_point": "gym_sokoban.envs:Boxban_Env1_val"
|
121
|
+
}
|
122
|
+
]
|